{"report_id":"05eb6973-a5cc-4716-98d5-49ebb8a2bdbd","version":0,"status":"done","tags":[],"date":"2026-07-27T05:15:25Z","url":{"schema":"https","addr":"crystal-exploits.org/","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":0,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"final":{"url":{"schema":"https","addr":"crystal-exploits.org/","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"title":"crystal-exploits.org","dom":{"size":77123,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (9823)","md5":"a18768f69a003e6bf07faca6d899bbfb","sha1":"7dc3e1a8cc27cefadcecc9a6c5e7e70475711ff1","sha256":"03c5d11e6bdefb6fb67fd2c6a8b086d72291d2eebbf4a650d6e93e3f2082d505","sha512":"6ea8ae6190dff871102f550e12f262419066472484ddd2d785277271cbb12409cd190c621616593c5898630e8a136fd92a7717db3dfebf5c59e074d56871ba94","ssdeep":"768:yRbp+2ILjzesSQPJ4g7bullJU/25rlIY3blUj7AzIl:y1p+2IQtECq+0Y3bW7AzIl","tlshash":"fc737330a9f0942b01cb65d4a57147292ab6d307db0706e9bafc43f59fdedaacd23148","dom_hash":"domhash5dd23696a6b4db32bc3a60c4f4dcd22d","first_seen":"","last_seen":"","times_seen":0,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"crystal-exploits.org/","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":0,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T05:15:25Z","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":"www.gstatic.com","ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":146047,"first_seen":"2012-05-29T15:36:17Z","last_seen":"2026-07-26T23:06:30.068608Z","alert_count":0,"request_count":6,"received_data":49834,"sent_data":3625,"comment":"","tags":null,"fingerprints":null},{"fqdn":"jnn-pa.googleapis.com","ip":{"addr":"172.217.117.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":1579,"first_seen":"2021-11-16T06:12:21Z","last_seen":"2026-07-20T10:03:51.986275Z","alert_count":0,"request_count":2,"received_data":1135,"sent_data":1256,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widget-sheriff.tradingview-widget.com","ip":{"addr":"143.204.238.18","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":575,"sent_data":570,"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":"widget-v3.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":532262,"first_seen":"2022-10-03T13:48:45Z","last_seen":"2026-07-24T15:28:31.507831Z","alert_count":0,"request_count":4,"received_data":329031,"sent_data":1895,"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":"cdnjs.cloudflare.com","ip":{"addr":"104.17.24.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2009-02-17","domain_rank":1222,"first_seen":"2012-05-23T12:49:49Z","last_seen":"2026-07-26T22:43:30.214545Z","alert_count":0,"request_count":2,"received_data":110133,"sent_data":1179,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"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":1579,"sent_data":543,"comment":"","tags":null,"fingerprints":null},{"fqdn":"websocket-visitors.smartsupp.com","ip":{"addr":"3.126.223.20","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":635,"comment":"","tags":null,"fingerprints":null},{"fqdn":"i.ytimg.com","ip":{"addr":"142.250.178.118","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2007-12-11","domain_rank":436,"first_seen":"2012-10-03T19:11:04Z","last_seen":"2026-07-20T08:16:40.328836Z","alert_count":0,"request_count":1,"received_data":7759,"sent_data":568,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.google.com","ip":{"addr":"142.251.155.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":22,"first_seen":"2015-05-10T13:11:19Z","last_seen":"2026-07-26T22:51:17.688286Z","alert_count":0,"request_count":2,"received_data":64047,"sent_data":1058,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widgetdata.tradingview.com","ip":{"addr":"93.123.102.190","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"domain_registered":"2010-03-20","domain_rank":179381,"first_seen":"2015-02-20T09:47:36Z","last_seen":"2026-07-26T01:26:45.690501Z","alert_count":0,"request_count":1,"received_data":224,"sent_data":775,"comment":"","tags":null,"fingerprints":null},{"fqdn":"fonts.googleapis.com","ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":313,"first_seen":"2012-05-23T12:41:44Z","last_seen":"2026-07-26T22:23:14.439231Z","alert_count":0,"request_count":2,"received_data":11420,"sent_data":1053,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"www.youtube.com","ip":{"addr":"142.251.153.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-02-15","domain_rank":286,"first_seen":"2013-04-13T07:43:20Z","last_seen":"2026-07-20T08:23:54.066263Z","alert_count":0,"request_count":3,"received_data":36911,"sent_data":2011,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"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":525,"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":"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":30,"received_data":541643,"sent_data":16383,"comment":"","tags":null,"fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]},{"name":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"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":6,"received_data":12808,"sent_data":3493,"comment":"","tags":null,"fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}]},{"fqdn":"www.smartsuppchat.com","ip":{"addr":"185.76.9.27","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":467,"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":"fonts.gstatic.com","ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":0,"first_seen":"2014-04-02T10:51:04Z","last_seen":"2026-07-26T22:19:52.505461Z","alert_count":0,"request_count":8,"received_data":125152,"sent_data":4531,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate.googleapis.com","ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":6317,"first_seen":"2012-05-31T07:21:21Z","last_seen":"2026-07-20T14:48:05.930258Z","alert_count":0,"request_count":5,"received_data":200652,"sent_data":2965,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.youtube-nocookie.com","ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2009-01-23","domain_rank":20734,"first_seen":"2012-05-31T06:37:10Z","last_seen":"2026-07-23T10:30:37.923674Z","alert_count":0,"request_count":11,"received_data":3855388,"sent_data":12190,"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":"Apache Traffic Server","description":"Apache Traffic Server is an open-source caching and proxying server that serves as an HTTP/1.1 and HTTP/2 reverse proxy with caching capabilities, load balancing, request routing, SSL termination, and support for advanced HTTP features.","website":"https://trafficserver.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:traffic_server:*:*:*:*:*:*:*:*","icon":"Apache Traffic Server.svg","categories":["Web servers"]}]},{"fqdn":"s3.tradingview.com","ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"domain_registered":"2010-03-20","domain_rank":165395,"first_seen":"2018-06-24T04:06:00Z","last_seen":"2026-07-25T05:38:23.80932Z","alert_count":0,"request_count":1,"received_data":14554,"sent_data":500,"comment":"","tags":null,"fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}]},{"fqdn":"translate-pa.googleapis.com","ip":{"addr":"172.217.119.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":8472,"first_seen":"2021-11-04T06:37:42Z","last_seen":"2026-07-21T21:38:43.172366Z","alert_count":0,"request_count":1,"received_data":32349,"sent_data":576,"comment":"","tags":null,"fingerprints":null},{"fqdn":"crystal-exploits.org","ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"domain_registered":"2024-08-14","domain_rank":0,"first_seen":"2026-07-27T03:49:38.679869Z","last_seen":"2026-07-27T03:49:38.679869Z","alert_count":0,"request_count":22,"received_data":3970310,"sent_data":12319,"comment":"","tags":null,"fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"PHP:7.4.33","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":"Google Maps","description":"Google Maps is a web mapping service. It offers satellite imagery, aerial photography, street maps, 360° interactive panoramic views of streets, real-time traffic conditions, and route planning for traveling by foot, car, bicycle and air, or public transportation.","website":"https://maps.google.com","common_platform_enumeration":"","icon":"Google Maps.svg","categories":["Maps"]}]},{"fqdn":"translate.google.com","ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":609,"first_seen":"2012-05-30T01:30:32Z","last_seen":"2026-07-20T21:58:05.03314Z","alert_count":0,"request_count":2,"received_data":77722,"sent_data":1113,"comment":"","tags":null,"fingerprints":null}],"files":null,"artifacts":{"windows_shortcuts":null,"files":null,"telegram":null,"pdfs":null,"clipboard":null},"sensors":{"ids":null,"analyzer":null,"urlquery":null},"javascript":{"script":[{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/www-widgetapi.vflset/www-widgetapi.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.153.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"f169a9e94953731cb0dd5faef429318c","sha1":"f45e6b6193cd71c1eb183c51bc65c84a8aeb6719","sha256":"3aeb791f41afb9d7500326010b8852214536360b695c2d0328f4fd265badb21f","sha512":"cd7412530b69607b86d4dff17990a998e2e471f38eda724d55e2886738a75ade824cfdf11e37f976ac63ac431297869dacf364df631987a52e23ef79e5b1ba70","ssdeep":"384:lavCc95Hmr6jQumbwoPtjJTfgX+pnB4yeCzwCzUB1lzh9nYi0PC0nX1IXwK:lrS5U9io1jhfayRSnnYi6FGgK","tlshash":"3dc2e9cd7bb1b471437366b5802f100fb23e58aeb408c698b288d8e16db55690677f7e","size":26769,"data":"","first_seen":"2026-06-15T12:26:58.098489Z","last_seen":"2026-07-27T08:07:32.45215Z","times_seen":8675,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0a14387aa464f863985b6a6bef1d093","sha1":"51a4a9443e6f007f24b04c914d2721b2730ef3d4","sha256":"5d99f2d91f27190245664e4b3f6f485a27e025b4be90857bcafe11ad8e51111e","sha512":"8d05c11c4010e655a48e74dc053f3b5cac9072e3236bddb482312cc9a5c65db32ccb40274919820c6ace897bad2eeb88d4816605a149d1fa22561eb5a23edb61","ssdeep":"","tlshash":"1480000c3e082800000238a0000bc008c83200020800880000ce008c8c3b00e022282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.137523Z","last_seen":"2026-07-27T07:00:45.005979Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f09564c9ca56850d4cd6b3319e541aee","sha1":"c3156e00d3c2588c639e0d3cf6821258b05761c7","sha256":"4ae81572f06e1b88fd5ced7a1a000945432e83e1551e6f721ee9c00b8cc33260","sha512":"2ddcd5fd66f62c38135603defc728493bc9012c9ea6abc8a9823165792136513b2c53722d2a79c0d6ea31467308bbb49eb217d151d79baf4b2085f487d0abfae","ssdeep":"","tlshash":"c700000000000300c00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:12Z","last_seen":"2026-07-27T07:00:44.983466Z","times_seen":57693,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"42397e761d6e41735413532880049e6f","sha1":"95f740d93be57eaa0388e50ea79e4ce0bc32a47c","sha256":"76354f8202dcb3bd872442c0934f9c7e5e9f61540f27727a42a5eb594e9143ea","sha512":"37cf8e6de170216c3bb26136f48d90eb71bc4bd34d7b8e59991083fe5c79b32d4f12a4412445f5f115a748693f51a2d3528d3f2e8b169ebcb1b4a87c2124f9b3","ssdeep":"","tlshash":"8aa024451fc0173071c174f015070010450d107dd37444d54075dcd00c34fcd3441117","size":82,"data":"","first_seen":"2026-07-25T07:02:54.195903Z","last_seen":"2026-07-27T07:00:45.014366Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a931635074a5017da74948b67e16c76f","sha1":"a6799582ad16a7c1ab8221c166268130df6691d2","sha256":"1fb437ac78114eda813a7c4d5771b6d3aa34908a5ca3b743d5eb5c79088cf82c","sha512":"7c96bb515bdba9ad60854b433d24e77982a321dd7ca71599fd8f79acee580802f56829a5dbb7f64932a51ad50d18a9438251a6ad8127ad2b2e332811033d2c7b","ssdeep":"","tlshash":"a5d023cc3941f262d06274b9041704dfd173384a1e1cdf4184154875667c5d9407f4c4","size":206,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-07-27T08:08:01.456556Z","times_seen":207482,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4c62bc4fd3c4e105cb3fb62fb748d59c","sha1":"f6e2d1e74e35ec4c4740ba02e890b98bda11417f","sha256":"9f4a6a370cd350425d8ac08047e7646116468672e99765ca198e6d463ee5286d","sha512":"5cb125ce0b7fdde81c6df58f6e27943a130f0d9e2a366d94ea8ed926da635dfe2b2c5778a14ed99bb35c7b2a48dcd12090cbac18370611d1c0438e1c2621efb4","ssdeep":"","tlshash":"6cd0129b738060e3d797fea709580020c1ef0b8402d2753d42d5d51070fe9ce83461e3","size":203,"data":"","first_seen":"2023-06-16T07:31:00Z","last_seen":"2026-07-27T08:08:01.374789Z","times_seen":190755,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_conf","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":false,"md5":"6c25051498fe2146ffb7bf30b37fabba","sha1":"9634b50dd2401b5ab4c0953e0b6b617619a2ddeb","sha256":"1282813f4d381b5ec2278d3f5bc5a3ca4fdb0ff0a086dabdad2b7e4db35c8928","sha512":"dac02c44fc6a98ee4a6f4016f8ed9d0c8af57c736d3138f03f0dac1963f1163dec2295accd5fe081e4819e58d5b05865716c660159831c66334d8d7a208d125a","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECiPwNWF0:XDD4U6KKZgtBgtCi90","tlshash":"9a73b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf5949453bf7d","size":75428,"data":"","first_seen":"2026-07-27T05:01:06.091819Z","last_seen":"2026-07-27T06:00:36.81411Z","times_seen":116,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"92eb5ffee6ae2fec3ad71c777531578f","sha1":"e9d71f5ee7c92d6dc9e92ffdad17b8bd49418f98","sha256":"3e23e8160039594a33894f6564e1b1348bbd7a0088d42c4acb73eeaed59c009d","sha512":"5267768822ee624d48fce15ec5ca79cbd602cb7f4c2157a516556991f22ef8c7b5ef7b18d1ff41c59370efb0858651d44a936c11b7b144c48fe04df3c6a3e8da","ssdeep":"","tlshash":"c700000000000003c00000300000000000000000000000000003000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:11:47Z","last_seen":"2026-07-27T07:03:40.023759Z","times_seen":80737,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9dd4e461268c8034f5c8564e155c67a6","sha1":"11f6ad8ec52a2984abaafd7c3b516503785c2072","sha256":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","sha512":"a4abd4448c49562d828115d13a1fccea927f52b4d5459297f8b43e42da89238bc13626e43dcb38ddb082488927ec904fb42057443983e88585179d50551afe62","ssdeep":"","tlshash":"c700000000000000c0000030000000000000000000000000c000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-27T08:08:01.393715Z","times_seen":64828,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1750e9b76f54961545a1edf5b6bd9a5f","sha1":"9bdfc833f7e055821fae1f547e0abec9ee9b9718","sha256":"358ccf6ccf547b6106792de57295c558115f2ba6f5764c19a638c992bf90aeb4","sha512":"62c097d4b1fa74b247955132f63bb4b06f2ff9fb5074d68382f0f7d3233f82bf1a62b3153497ea23bb745f3c9ecb3c50602bc9484759a6b8b74939944750dcae","ssdeep":"","tlshash":"0fe07db0258123422174df79f0f3120430e172c67e48ac8f51256b429e388d1142353b","size":316,"data":"","first_seen":"2026-07-25T07:02:54.202304Z","last_seen":"2026-07-27T07:00:45.028847Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"49342302f3a1bf591d537268aaa3db97","sha1":"1e27d4dce5d9e78a557d902e2f9255d8f1d567e4","sha256":"217a194b2b1e9e205f2ce02d68f3d346218cf59e0ffb48dfa0f2331ed11232c4","sha512":"4214bf7801e5a15a9af9e231ca3cdb1bd8a05eb81f603da3351e3def46477af2f9a3543cd8f1cc0e19df81303618c01c3b4bd820b4f45d8be5c11a1e0f0e067f","ssdeep":"","tlshash":"59a0120074447c0116112c75c2260584b0511a0b50902401810596c002705895113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.160135Z","last_seen":"2026-07-27T07:00:44.942852Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9485c8ae181348af0537aeb02376d77f","sha1":"67b0b7f7f914e89f6e0c6651049d5e58063eaf96","sha256":"77724e449ce352c6bb493ce82b91d7ed6b93156928d311f67cc1c57481e6c2f9","sha512":"037ffde473310d2491e664f6fba33b747a956c19bf99420da07bbde6ffbe4ca768da17177bb1643630ff6ae1448ffe79ce1613d08dbea8d610d7d51161950d1b","ssdeep":"","tlshash":"c2d02b8eec5b8595f966e9ca40766d29e0589802ec789cc11527c55261d4a195832cb3","size":266,"data":"","first_seen":"2026-07-25T07:02:54.116193Z","last_seen":"2026-07-27T07:00:45.020622Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fe63e72e58f232e831ebaa50436cd976","sha1":"3eb05a9376004c39c93288d95443d7f967c4d383","sha256":"fe4765abdb60dbb4296984f65320d7fa3f3047b70c94c2cd7737a9edb867a57b","sha512":"b39b8a0ffad610e40cd8116a7d35d709a6f3bed7ac49e980e5e2f26218cdaca4629af6047a9e7a7bc8857ee6fcd6da93808f9aaf4c26de44ecefc2fd92a87ef5","ssdeep":"","tlshash":"36f0ebb65a0180c490b39deb6e7f3a3f61866aa7b58110814393d725939c1d2300deed","size":546,"data":"","first_seen":"2026-07-25T07:02:54.125329Z","last_seen":"2026-07-27T07:00:44.95151Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/87926.8ab9cfede16295107017.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5f5b2f579bfcf6854f67787677d11c94","sha1":"6de49cc606825ccf66acbceb2ba4d23d91f0ec4c","sha256":"38c41c9069ed7604e737e462760f16363aad09961b1091c66dfab594df263108","sha512":"3a309c43d694230393cf3d65bb8e48af52ff337f61f287f020e266764e5df3ad2531cd999bc8dbf42e74c27546fd871a68515a183ef1c35d24e0c0cb77549a6c","ssdeep":"384:KossZPZ8HYrU0jAWia49Aa4/WHA1E9y3ywtUPIsxmvxqlOwSCoBPy7:KossZPZEYrU0AWPXa4/WHH9WywtUgsSi","tlshash":"9752c9ea72c1357251da45a7613e7202a3394588f4898178b52cecdf172edcd73b2abc","size":13639,"data":"","first_seen":"2026-07-23T13:38:20.421953Z","last_seen":"2026-07-27T08:08:01.286927Z","times_seen":861,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"afb0fced528eaac5fe170b763cda5975","sha1":"8f0d85954d44c90a2fc59b8cc9297ea972774185","sha256":"9206ef16552ccd926e4421fe6ef369cbc40add64488b7e3d88350e3588a35c34","sha512":"67f6f6d5f810fc0fe5fe606415d86bc4efb11ca6df92a8d6b6d8280d1e4d731ea24b038f7525a6ac5084fac9f78f13d835e0679a1d0e3cba751465bafbcf4211","ssdeep":"","tlshash":"c71000000000000000000000c000000000000000000000000000000000300000000000","size":2,"data":"","first_seen":"2023-03-10T12:52:28Z","last_seen":"2026-07-27T07:00:44.994979Z","times_seen":597,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"644dc335ba482697b43192f5bde84d9c","sha1":"fca03ed806772ffcb1cbe9621bdf964719ef1569","sha256":"76e4392222a281443de945105b1deb3a14a6b53bb350ad127d42f13f5a81ee21","sha512":"8be06ff06adc228081ce796af04e081862bdd46ee0a4388d6f8a928c423eec8e167eb52e2a40ed444812fcc4fef2774349c253e0aea07ffbc1df69ec478869a3","ssdeep":"","tlshash":"6e7000083c082000a22238e0080b200a002300080000ae0000c008800c3220aa02a82b","size":22,"data":"","first_seen":"2026-07-25T07:02:54.150082Z","last_seen":"2026-07-27T07:00:44.995713Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"eb7194ac9d6f5a83b6c7cae43038d2ef","sha1":"9b1cfda44cba767b72373d6df56249b565efb634","sha256":"eb2bf66d92707acd8be84dbfcca1376c2562c4ec94a4d87babbbe67f4d125aae","sha512":"7ae1e7cb8edf692da592a8ddc798f6f564f5ea0d6fd6919ee5c86ca95d983d15e707615cb6ff6623c0951e0eca8a4852f1d8d8596f985ba3e214feb47bfcb886","ssdeep":"","tlshash":"6390025969497099203710e0425e292640d2c40065544041961494f65434b17d531c6a","size":57,"data":"","first_seen":"2026-07-25T07:02:54.098994Z","last_seen":"2026-07-27T07:00:44.998879Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6e6b4e7c1a45993ae64f9aaa4672f019","sha1":"81ed544bb4656d12c73eff1d5fe3911a080f8c51","sha256":"4da86e48d9b22ffccb648bc40fa2df935429b12e5903bdeb308b218615df64b6","sha512":"5b788fd445160f1aa102912f67fc8b92f90f2f78e16690e093896b972e1a73c2ee56f3fa14c6c7261cb3aeccedcf2433d7cc65db8d881b09554b01640d3a9faf","ssdeep":"","tlshash":"158000883e08aa0c000238a0000bc008c83202022a02880000c820800c3a00e030282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.185612Z","last_seen":"2026-07-27T07:00:45.021194Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"05b8c74cbd96fbf2de4c1a352702fbf4","sha1":"320ad267d8d969f285eda5c184f5455bd29c8c95","sha256":"44ff7b02c80d38b26dd6aa31d9470aed81b32e10331a3c994fb1a9945fd847ba","sha512":"1ab6ceacde9b312b4f32d7c9f2d54448e82264c30807e4db86ec8e295791c1fb9aafb38985b2054e589c0a0a2830f1a389312fb2912dc2f9c949231967e03545","ssdeep":"","tlshash":"f6400000000000000030000003033300000000000000000000000000300000300000c0","size":6,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-27T08:08:01.361779Z","times_seen":156349,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d94eb39b7c5996a928c1d97e2d336207","sha1":"63d8851850a208fd85df769e5ccadcc4474859fe","sha256":"ea73e902e70b18a2f35dd009e26fcf9c68771ff4060e21c60533c90291328a25","sha512":"36bcc6c512fff73197bfea984000d3f197ae09de13dbc39397c2812b3f5b9e8da2d6ebead97520615c83ac480fa2c07701fba86a4a659c3114b29b9c889dbb34","ssdeep":"","tlshash":"c7100000000000000000000000000000c0000c00000000000000000300000000000000","size":2,"data":"","first_seen":"2023-03-26T06:16:09Z","last_seen":"2026-07-27T07:00:44.956099Z","times_seen":1175,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"37a6259cc0c1dae299a7866489dff0bd","sha1":"2be88ca4242c76e8253ac62474851065032d6833","sha256":"74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b","sha512":"04f8ff2682604862e405bf88de102ed7710ac45c1205957625e4ee3e5f5a2241e453614acc451345b91bafc88f38804019c7492444595674e94e8cf4be53817f","ssdeep":"","tlshash":"b9300000000000000000000000000000000300000000000000000000000c0000000000","size":4,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-27T08:08:01.4042Z","times_seen":278762,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.57291.7208384210f7c33bcce4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"df08a1dd70ffac4f28fcc3d7dbbe08a4","sha1":"7ccdbd9c3c329f4aa7c79c73e2bb3943ea45ebef","sha256":"db9d406f4660f93fca8338121e3f490d121c0d8c145adf7b5255109dd254fc22","sha512":"ddbd2ec7971bce16527fb401f1a3a6162efc2a827a9684ba05c3c7a2453eac89da95cba33f9f32fce00d8e36547421b0446718bda2cf81251f62240f8a342978","ssdeep":"","tlshash":"3d512127d020d5f22f73ca08b792edd675f072a111f2e8da7b4a6f65c25bc5018395b4","size":2513,"data":"","first_seen":"2026-07-23T13:38:20.437954Z","last_seen":"2026-07-27T08:08:01.265289Z","times_seen":856,"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-27T08:08:22.786954Z","times_seen":1337,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80594.e87444e26f9e12545231.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"75148ecd9563758ef37fbf710fa1ed9c","sha1":"de1a10ecd54ec0decbb03a8cd557426111cea6d0","sha256":"cf8c7a93d59e717ec020cee201f3d4cc1c2abdd9d284d8c741acd1489c03835c","sha512":"f58c5f5e173f73a99e68100eddfff45b2ea08d85d707f75a9b525aed76766a2a71017d55a717a9392da38d5c5ae394e073d0e7784e029bda8c8aae2a167f353d","ssdeep":"768:E+Rr6eBG5q/FjGgPqzEthfn9evRIZ3XQl0m0FSCUSxlfHiTzJuqgyLDNZGItbNb6:spKxt59evRIZXxQy8NbNANtfJiO","tlshash":"5f13c83df5d1956372eb84ff4f66f6435a266402b26b6fe0b135d3c0244ac8b1222e6d","size":41784,"data":"","first_seen":"2026-07-23T13:38:20.394325Z","last_seen":"2026-07-27T08:08:00.965314Z","times_seen":1027,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c4ca4238a0b923820dcc509a6f75849b","sha1":"356a192b7913b04c54574d18c28d46e6395428ab","sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a","ssdeep":"","tlshash":"c70000000c000000c00000300000000000000000000000000000000000000000000030","size":1,"data":"","first_seen":"2023-03-07T01:10:09Z","last_seen":"2026-07-27T08:08:01.411715Z","times_seen":134140,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cb8abb683722cea7fb115342abc554ef","sha1":"776b83217d825a68ed51f891fb2d360c233eb726","sha256":"139ffca75e64693ada18ad987a1d7881947ff41ed7784d3dcf349f5915124464","sha512":"7fceeb9ba20bab9484738d20748f7a935aca6ab7d869417d3629d2db9884afba198b09c6fdca26a84d90d6fa5676000775da441daf4e9940fc687e476ae54a67","ssdeep":"","tlshash":"9fd097c46bbb982c4984ce2b40331131d049a21c8e080c50b230fb3bf7a075b243b0d1","size":231,"data":"","first_seen":"2026-07-25T07:02:54.205479Z","last_seen":"2026-07-27T07:00:45.00312Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"6247dd5d2d787d98a0d5e4966146d550","sha1":"51dcfa67e8318f689e1a4589a9def15c6f9a23bd","sha256":"cbb9ab7439a233ff75c44799819b7a7de5fdb18f4e30f0236430bc751530c211","sha512":"bcdab3f3db437167cf01baaa88913e053ea2ac769bf14381fb70e62ae10544ef8f11c327a24e01218936ae2800ed21453d065820542d1222b87117980536c637","ssdeep":"","tlshash":"92b0922e6c926024a05c1116a01c008a6b8cc9bb83c814a862054cb5ea9a0ba03847b0","size":108,"data":"","first_seen":"2023-08-01T01:42:54Z","last_seen":"2026-07-27T08:08:01.319092Z","times_seen":295519,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"e18eb9d0972d240f1a5456179bb6523b","sha1":"65255f106adcff2907a98e295a8e7a38fe2884c4","sha256":"3d68db2b85d5a2915743399f09dc438963f0c50f68b02df05d47a372661603e8","sha512":"bcd5a6c26fa1f7a77f5614a7b28e238701d698cc0c96ac5d03d97628d8622125cd0cfdaf54b1db96ef25320a3fca7584abd343d67bdfb9f272ca3ef8572b360a","ssdeep":"","tlshash":"d4c04c38402080e98659101c7434fb80bd7d3b973163e047da3c621c65f5d017c94b11","size":134,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-27T08:08:01.319694Z","times_seen":259350,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"12347d552552b7eb8f1aaf47a5774b81","sha1":"4701684cb61e83493e14555659e2cd07ae9aba3b","sha256":"63b85d3cc0ccb498e52cf8dc76db5119713a85031ef4a8e99edd01e403cb08f4","sha512":"a0b95f6914bf92922a13db3f81f5612e2a360e0b3bb0f6ffabbe41623a044d662e27a216d788399cad99c8ec18c5f98f481e602d672de5b3b97d5da8ec930e4c","ssdeep":"","tlshash":"6b41427ea3a4193b45fa787e21af560620726654e0158c0c813e76846cb1a4b21dbf5f","size":2083,"data":"","first_seen":"2026-05-25T17:49:28.102585Z","last_seen":"2026-07-27T08:08:01.320446Z","times_seen":17323,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"dffe3c575733203f25bee411b0acb2a6","sha1":"7b4cafa19a6febce00f6362d770ac4e86cea5548","sha256":"51297a32fea8a84271e19de2f98213eea23658e55aa72708dc06570ee8fd40ed","sha512":"b68d3cd8df1bc7d6834f51282a9565bb9d59b2e19a9505504e49e5300377d8b09779b92e453364c77eabed5f0c1c708326cf3a595434aecd7a66337ebe47667a","ssdeep":"768:a71ChGD4UuXHwUPDi7U3msNJmpI0KYMUJmq97SyY/v1M6LnBYMzPDoLFgPhQeP9:mMQr/jMUpzYVM6bB3zcL+9","tlshash":"507353240868a8728893e547deb5ff3e9cf816790bc996adbcb7935c01ec6510e9f413","size":77555,"data":"","first_seen":"2026-07-27T05:15:37.013862Z","last_seen":"2026-07-27T05:15:37.013862Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"4e226125e429d79c4c368581aa455eee","sha1":"79fa2f523a0ffb2867b44afef3e154c3dc1fb5cc","sha256":"d50c6291d73f2c5ba6b2dc494e09fe070ea0a6c0c4ce3b3c6bc4156ab944dd72","sha512":"06a7818b0a33701b90d20662e1d1a85f90f78af228c2efcf6717d56f93b7502a5cd540d471f113376717d6bd8a8b0b9f198e16a65d6412f3f946dc0e6c87ed28","ssdeep":"","tlshash":"96c08c69d3040b704270a810ab0b3b4f253700228020c845b210a60038d0b078d703e2","size":145,"data":"","first_seen":"2026-02-05T15:28:48.153036Z","last_seen":"2026-07-27T08:08:01.322694Z","times_seen":110922,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"8501e99db1c76b62dea75ad32747a129","sha1":"791537ba64bbd81ed1644b015c4830d897182fb8","sha256":"25289f89e8785a11e468135cfa545b64462e90a61e62ee0bf9fe2dce0898016a","sha512":"d34b3b6f94043e080daf7804d7305efc1bade1433a80d4c6c547ab1325aceda8235ceea8bd99062a7737401ff5d767d46e4d24a972bfa88e9c6b197947041f77","ssdeep":"","tlshash":"7b1135251b715c27806a296232dfb309b8262372583c91dc8a81e365933661bbc3235e","size":1032,"data":"","first_seen":"2026-05-25T17:49:28.106733Z","last_seen":"2026-07-27T08:08:01.323265Z","times_seen":17304,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"173a08c5d6adc5c93611a599bcb2c717","sha1":"735a7301e66ae2c3584357f7bf0bf09eefb62df0","sha256":"271e6368679a21c3416e2a0325db33d6bc445d601c72a49914081b5efd0cdf3f","sha512":"cf15a9aa7e406207f3b85c7ab7d6453fd2351616b4dbb2db767ad854f866ae8256045b8cb74948f44d09fedb6c200c56fa2e2ab83d1ab997f5b0068edee7349b","ssdeep":"","tlshash":"b0800000c08a0030c3200c082008c28038802002a8f2002208200000a0032fca0020ca","size":26,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-27T08:08:01.323881Z","times_seen":257409,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d283d1818e80d7267d72b236fae9738f","sha1":"d767efc3619e7deff9a4c50b7e456bc2e6a954ed","sha256":"b74af2f4e4ad25e4cf95fbb6734cc89812d5f428e233cb333cc010872ba20788","sha512":"98c9bb90b63dc69d03fef7c9f31b78474be36d6eecda99845cb896ec6a4ad3eb19e20a2c65ce622052159ee4dab61cef7640f7e1d1b0574aca1c74db562f1db0","ssdeep":"","tlshash":"9101475c0a057d9ce90688ccc7c6a6655bac9237be003124f82f454dbae3aeb9830967","size":760,"data":"","first_seen":"2026-07-23T08:14:51.856878Z","last_seen":"2026-07-27T08:08:01.324461Z","times_seen":1597,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"385567210550a0c1e2bde47662ed4da8","sha1":"0cd76fc5cdca83a477bcfafc3beaf3bffcd6f781","sha256":"c144e84ef4992554561c2e74eea7bcb13d689fae12a19268e4d8d07266ea66b2","sha512":"c99e8074b2ac53140f93168c7d93c4ef36a085a054ff2c1105638cf2beb1fc257ec36adcb0a095d021242d5f1d7bce230a4d082707abb7c4b1791907bfe6e10e","ssdeep":"192:yzEjQfb/44TmOavb+Nvyv8kYl90sxVjoObVWpO7sTM73gcAKc3Udq6bRXnLNy9nA:+OQfbwKavBv5Y4sxVMOUE7sTMDgcA3X0","tlshash":"6822c80fa38679fcd7d15598b7a36b037cf4821b63082a1d88cba0542cddf19429b9ed","size":10400,"data":"","first_seen":"2026-07-23T08:14:51.857803Z","last_seen":"2026-07-27T08:08:01.325737Z","times_seen":1614,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d8fb965e7ead2924508e97e5326bd3b1","sha1":"fae376d0cb54d4433b7bdc9aba04690cd6cb5d27","sha256":"57bb660c2fdf4369ff8e37f99b26963dba87c120b80c443ff3d31e030ab3a0f5","sha512":"c03eb6a1004f9dfcd1f960a6ca70a77932794808f72476b276bb16f02d0a1855fb2d93d07aab7c0c040d4b3c0eb4f861a4c1a9368a27e3a6430e425ff6ed2568","ssdeep":"","tlshash":"8e60000c00000000033000fc0000ccf00300000cc003c0c0000000000f0000c3c00000","size":13,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-27T08:08:01.327689Z","times_seen":254075,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"2875811dca22d10d6792b51085d33900","sha1":"0cfa63359b5e695634e875330911311cb9fce247","sha256":"f28412b59caa1d0d0d3a417157b9d1b5fd185fe7a9f5f88bbadd7c3dfeca2b51","sha512":"97e26e0a2a61819459d0063d763dd7d6c477599aa9e6ff5ef325ba1d90385db3877b148fe3ced87031db001cf99804b4c3e4c0902d2581339dbe8e74e52ee732","ssdeep":"768:X6Scyl961WqMajDXoH3m/vBdK6ypIbO3U40Hm0X/yz3JWSMHnALJrpnU4yqnPA:NJzan23m/vCjh3P7AyzASMHwJrhZn4","tlshash":"fef2d0cbd4ce9edf01013e13be4e7a2d6b6e8097a9175ad5bcc0a451d09ea53f42c06b","size":36708,"data":"","first_seen":"2026-07-27T05:15:37.018181Z","last_seen":"2026-07-27T05:15:37.018181Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"00c7c82e23b3c74bffe4a8cb5906334b","sha1":"9f75dba3a915001e86617685b128519cd2f678de","sha256":"89b4829ea5793d63a1368fb4e64de244f97243bc9f3620dc56cf429a0caf963b","sha512":"d7d002fd9558dd66eae48a7d1dfd903ff93e25a9266f46649a301400d48eab08e87bc2e48aaae9b997ab3d7a93864d54de4f9c0d979ed0ab7b9e2fd01b8fff71","ssdeep":"","tlshash":"00a00273c629c66b003c556055a73116e12857648816a00c435a564975e942bfe9859b","size":62,"data":"","first_seen":"2023-12-30T02:40:23Z","last_seen":"2026-07-27T07:26:43.321078Z","times_seen":5672,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"909822438f3880445c5535efb48b46d9","sha1":"00685c680d8f0bfb3dda3154539bb972552fd921","sha256":"894963ac612d3c872d00cfc1a926c6f034036e99512409f06342bff53d723689","sha512":"ce5816d0da41ef048fbcd158120239337d58bf594db8b7deff493beb436c5319220f1b01ea03fd9f4b755b4fd43155f23271e1e27078167041feb5c9a784699f","ssdeep":"","tlshash":"f9c08cd873b61824c2809a73a03b46a1a88ba69c98094440e220f9a9763030d082faa5","size":156,"data":"","first_seen":"2026-07-25T07:02:54.13346Z","last_seen":"2026-07-27T07:00:45.030115Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9af69e91e9a0e1650ac23ca1a06d9a03","sha1":"1a26706289f10c0bd07fcca5b37e9cd1f31742ce","sha256":"b5f92e34f5614aa40d35166769b90304819bc552ad045006a56b2672ea5e635a","sha512":"23ce7998bc81e6515eb7c1d416ff1e22fe067aaf6d5348bd66654a5c6d9d65e89276e08da1431693589b7566ebdd95651132e2d6ed6ad3cc765532482f5c5d3c","ssdeep":"","tlshash":"67d023de54545753a25515f39009d6154307504f52f8cf5bd11198b414d64074087b11","size":213,"data":"","first_seen":"2026-07-25T07:02:54.07392Z","last_seen":"2026-07-27T07:00:44.954199Z","times_seen":516,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ac6dfa045179132aefaf73bbae961f84","sha1":"5b4a09943ab49ca1438497710be50b54077e9374","sha256":"18437a515c82285b4cbdaf60b46bdcd426eb4514c03ebef4e2e4a3caa0f75497","sha512":"df27138801c468c597084ae71e58544c6d3b95e9d57d3bb003339aa035e1e04eb7b85932f01573eba17613500cd7bf65d9de52570fd0dcd3f409dc5286d5f155","ssdeep":"","tlshash":"a6b012185c0835193f336ce99117681ed0b0dd06c4b4b90d8004d5d402a404e5051cbf","size":94,"data":"","first_seen":"2026-07-25T07:02:54.141577Z","last_seen":"2026-07-27T07:00:45.030723Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c3787754c9ab0b54c83fc20e994fd71e","sha1":"79836961d0829dd4343389004c5f3bd806adeb6b","sha256":"725f4326baec82abc6db3f2144c45f09d47264f86f9fbc21a9825a9e73a7368a","sha512":"8d62d1275f3fe42a18d23ee3f8dfc60eca479b3eef7c05ad6181f2aa36b8c5ba1e937408474d57a33a742058c55f7c3f805a0b48f1f3162596be217a76e9d538","ssdeep":"","tlshash":"a8b01224242de61233322ef180131d2c603a4406425f590ec04de5c0033c0cb40475ef","size":97,"data":"","first_seen":"2026-07-25T07:02:54.156202Z","last_seen":"2026-07-27T07:00:44.993549Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4aae7fd3c815b1cfa3660cb3227a214c","sha1":"4531c0c13ac8462f9dd8f0dff0e13b1c3e150bcd","sha256":"cca00c516ba05df351915a75df4db57659d685c5af3622cedbba3c6b626af2a9","sha512":"c2f67d5e011e7ad703ab55ea89f91fff91b4245f5294cb73ded819757eb158102fd038f24b175c1f6eae717100cd63d9e9529cc90d124cd90a26ab4a1f650d4e","ssdeep":"","tlshash":"4d50003c30003000c0c0003000000000303c000cc0c000c0003c03c0c00f0c00000000","size":11,"data":"","first_seen":"2026-02-18T03:26:52.257023Z","last_seen":"2026-07-27T08:08:01.368377Z","times_seen":82514,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-t6WxLABA.js","fqdn":"widget-v3.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"},"introduction_type":"scriptElement","is_inline":false,"md5":"9253d4d9d6ea32e484f0be9a0320a7a7","sha1":"762fb8fdf15626507c1c26a66aa7fe399d39e803","sha256":"1fb0b8e426f707feea50785bc24016fe14a76fb763d5eca3bc9b1d265bf77fa2","sha512":"5a1592fc87a402c636315def22f3c60dd7eeda34701b08005a192ae060acbe7ed8ae8aa709cc1664c3d9489c641e1ada60e79c66f13073ab61e6ba5bd86f524d","ssdeep":"384:9rgi5RFMkSjJOE/0BW2rkZZ795P6zrnBOVmPCRkXQbpaIF2K:9EizlSjJOEiWYoR5P6nnBOVmycQbpaId","tlshash":"0272d7742700783f711f489e16ade546b232c29dd693892d9b6fec0976c5cc0a8b37b9","size":16281,"data":"","first_seen":"2026-07-07T11:50:17.711459Z","last_seen":"2026-07-27T07:27:47.896741Z","times_seen":1890,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f3c46dd141ed0afa02a1b3049bab0729","sha1":"0f9b6e8412fa13b27e3af2816a112bb28a04a735","sha256":"4962a69b03ce9dced7bd2f588eead880ca97dc93d3fd354fc911d8b6b815d11b","sha512":"006dc0d7d1ead7ff5d5cf02082d1aaebb3dfc2a9a046c9d60bddadfcb9e0ac4702e9868970fb61a9af4bf366d76a03d09a264adf462e9414296dd0d749c136f3","ssdeep":"","tlshash":"9ac08c090b0dd3a6038a6a94610a43aba15284cabe615c28ab40e0c2e68e6054066a1e","size":151,"data":"","first_seen":"2026-07-25T07:02:54.100897Z","last_seen":"2026-07-27T07:00:44.977956Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e3853dd21d7b37c8e001cbeb80def269","sha1":"22eab5e6d95c0a758b5105a2ca285550e4ddf4c0","sha256":"739c47988f1b9658cc13de9f615b8e5dcd2976ae3baf5442f36d6cdb7646b1a2","sha512":"186172b3a889c4e9dc3598d3d92d43b10144f04dcf14ecb3bcc6b6d6f45448caa601ab93a2b550bd7bf82f6a1905efccb9cabc88da9b70873a953a5ee0fe8660","ssdeep":"","tlshash":"4ef02d4235828222c02270af50bb60ce00b2c261af6b8e4e8a3292d15cea48a40c6f89","size":627,"data":"","first_seen":"2026-07-25T07:02:54.196783Z","last_seen":"2026-07-27T07:00:44.981605Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"63a7a928200fbecbaab566892f269b4c","sha1":"c71a636656586ecbfe05e9a5cfd5dd020f6fef61","sha256":"364b13b094815ae8cd606830efaae5f3f5be1e799ec75ec3bb301e1e1444aac4","sha512":"4b94f4c7820ccfc5b0ad57c2b4e2b7aec3aa7ed0e2e7b35d2e1f19b60b070eb4deec3cb87b3169bf47077f0f1c7d5d880950e8cb0f07e3428d524a0489a01ca4","ssdeep":"","tlshash":"8fc08cca89c8da99a01060ce34d3e009a368a9283a83f908d11ed1c46a40ad8e4ad47f","size":158,"data":"","first_seen":"2026-07-25T07:02:54.118953Z","last_seen":"2026-07-27T07:00:44.947463Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0e976b756b6afe7f40bca206a2d7150","sha1":"db9bee9a7bba93a60330ec5ef1334d9c164fcd56","sha256":"029b84af88c5d6ced58173997a15fa47011e198e5449027d87e2f7b871f332c2","sha512":"486596b8b7d88539b3147ed55749794ab08962047191f33ff9915fd4e4a8a9a24bc164c0d44f24357b6e9dd72d1ccd88f981aa0cf2c7df585a83000d4baccc9f","ssdeep":"","tlshash":"3f8000883cbab30e8222283223ab200aa2ae28c232088e00a00080803a3003a8032c0c","size":29,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-27T08:08:01.363248Z","times_seen":245792,"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-27T08:08:22.754163Z","times_seen":1154,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"cdf9309b56a4ff330627409baead2538","sha1":"e98eac16441e99c9512052eb0087f535b9a609b9","sha256":"310629c4e47d7960e5a89cbd6a9c1d24a4e4d7c5e18346a69a67d92355cf2cd4","sha512":"cafd13a201e26b9f94f9a636ca1f7c191ec3a9fc3f297d35ee51b1304962383e7147509932a759bd903e27e53fb251600ad6942739e472161f5a09367c3776c1","ssdeep":"3072:kjsNxt45eITHt28KRu9gKavNuBDHK0QppB0/I:osb0muBzg","tlshash":"dd14e8d9b26270679263f4a5403f004eb53b68a5f9484dacb28de8e26df4d19017bf7c","size":194344,"data":"","first_seen":"2026-07-22T18:30:16.180779Z","last_seen":"2026-07-27T08:08:01.298189Z","times_seen":1791,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"41cffca8e35a84d3f88f9a25719e1bcd","sha1":"7dc2fe5ff12a7a0748d95c710eaf05536eaf88e7","sha256":"c950106fab05530dced5c2d95d8c8b0082afb6c2434895b968e7e8a208b8f3f0","sha512":"1d6080e041f9cd50074d23dfb1b15d5197813d1c0668dd6a2cea31f264f590029644e6912d6e1beef5931bb634ad4fbac05e1c5dc3d2f9eed4b217a58dd989cf","ssdeep":"","tlshash":"74e026c771603759d0585eb4e27317053c62a081ab4889e9b236f60aabe49ad35e3806","size":338,"data":"","first_seen":"2026-07-25T07:02:54.168496Z","last_seen":"2026-07-27T07:00:44.973784Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f69a3704d7f533aa4245e6bf79aaf7f0","sha1":"11e5a704728320de77d28101f21079c644136b4c","sha256":"adb064ad7f04d21017f0801899a3867082ed16d71583c6cc7756f30beb9363ff","sha512":"d12fd361ad1905660b2bc871f8d172acac2972e2cb3c4930db744248f12624d3f6410618ed13d6b45e6881d90f82078db0e2178f55b8ae4b151994ecb9ebbcfb","ssdeep":"","tlshash":"27d09730e9010300b22c1ca230a1dfe700a0c4073e00e8268a698dec08f8202c056aec","size":243,"data":"","first_seen":"2026-07-25T07:02:54.142504Z","last_seen":"2026-07-27T07:00:44.9509Z","times_seen":518,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"37051dbe85a36239dda2c2d0af9b328a","sha1":"7d1741c1823eedcb9f90cf15bcec255ce4270c98","sha256":"ad7fece7cc20e7af63da127ccd71979b14b7d02c60526deb52e1e985c4f92c76","sha512":"d6443268e97958dbba496787bfab4ae71709996624ece68f1f89b66a6ee7273997f95e2cbc5c78df367005531d51eb9cc1a9296bced3259271c76314f4e3b962","ssdeep":"","tlshash":"bfa0223c3c383002320a2c20088b82cae0202330f0880802c020cc8220fb20c830ae3b","size":71,"data":"","first_seen":"2026-07-25T07:02:54.078023Z","last_seen":"2026-07-27T07:00:44.984094Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"32efc8291438b62ef493347e387cca0c","sha1":"cfde2c91f018e6df9094980266806f07d5595723","sha256":"6ea6f07e03fc88bb1c49cd7c10e57e591028e47da7ba7ee2587f34d1b9f3cc54","sha512":"81c67ce5df3bff4092525e1994a46a1798ac52f794c0a30e12fc4b3571bfa81a6d69a60144d8ed3246fe8e42b72a49108992bc01ab56c0b35f5e6c41782c4b5b","ssdeep":"","tlshash":"73e0c0197b572073a1b6288650062fcd6a682c4668c9788bd222794008acdc3544dc42","size":329,"data":"","first_seen":"2026-07-25T07:02:54.071637Z","last_seen":"2026-07-27T07:00:45.025225Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"316d406bec14ed278d88b29656ec9700","sha1":"bd547102264254e2beef20bde9dbb4a76930c603","sha256":"c20bceec8e69ac1e4c2e4e22bd2c3676487f19b8676151449558633b99b47e86","sha512":"46f1ff723d384eba48d0384e861d729824711cc28520de2cb5defc92c4db58aeff67b8349ad7d2d75368507cad41580169a73a544a2fd0364b326442be72360e","ssdeep":"","tlshash":"42c08c1814a2983a3224acc3b08f910234c528110104406483ad8031b73044aad380a9","size":145,"data":"","first_seen":"2026-07-25T07:02:54.099906Z","last_seen":"2026-07-27T07:00:44.979724Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_ticker_tape_widget.965c90dc6d41319f132d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8194369d30f2aef481ad9b0e75ee118e","sha1":"37a70e62467216b914515bcbdac9df29330d6ae5","sha256":"44ece61da7dd37300e68e5b567453707c97eafcbaccfab2e1cf62f6b05966071","sha512":"4371d06b7b2b3c3742f8395c8c142405ef02bdfae5eb8f48ebb626a5ef89ccac5e87891a1a1806d59bd827f4c45bd0043bcb15e4858bc5264022119f93954367","ssdeep":"384:sN6NujCBUjpEQ4aa20p3kHYB022b2jfMwttlhp4XYzNn0+fo1r7K/A5akkVC8WGq:sMsjCBmEQ4aa26y22b2jfMwt1p4XYhDS","tlshash":"7492e9133394247b80ea44eb91fd4647b6224888f6828818b96ccdce276ddd935b7f7d","size":20040,"data":"","first_seen":"2026-07-23T13:38:20.453766Z","last_seen":"2026-07-27T08:06:56.416222Z","times_seen":554,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0d80d99d7f209071a284c9ab6d14accf","sha1":"c91e7389c28a7b35eeb114484808a20cddb8c20e","sha256":"0cb21d1de060008bab472c15c63e6f15828de601f85deff00d701d26c0f6819a","sha512":"59df0ea3f533182f0884e52768ba3b5b1dea918c81a430aed117aa60584df1bfc3569ba05dc9c95426cd97513318e2bc4272ec2771e3528117cefce002576740","ssdeep":"","tlshash":"0aa012b01c1dd3d81271c03118250410d6cc2205f8260d086219825248a81067f02014","size":83,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-27T08:08:01.405042Z","times_seen":338825,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f58a7d86186e19db84e783bc06177a55","sha1":"8002a6aa19ad59d43ccc8b32ff7c6d561f9e1259","sha256":"41cd1e4850b992f8c433a1a085a6585a8e79ff96413f11e360a6743babd8cb93","sha512":"be81de332fa854c02257328706e95326c7aac28318d95e5f910a68f7b74bda38161de6fe6040a2d41ede8941285d69e4e4b22554f2fe5f6a1bd2473a4b4dd366","ssdeep":"","tlshash":"42e0c05d611b7411b0c03cd1d5cf1498f0f42236c5ce0c1d8375d4c412a2ced569cf19","size":350,"data":"","first_seen":"2026-07-25T07:02:54.088205Z","last_seen":"2026-07-27T07:00:45.029481Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"58cf531c1b4e5d67b0c780ff6899d969","sha1":"9e997fb73f7026136c3201510d77658d59407ded","sha256":"16d4dd67cf8a92581836f38ae1673f2fb1d7d97e0f913eaa6e7e102be59cc123","sha512":"b1961e02be4ed40fd3ccf43025f087eb7528a808a4349b7a97525a0b07f298ff35062c61bf5c5758027ef410cfa58aacfdaed05ca47e4bc93ef17feeff4817f9","ssdeep":"","tlshash":"eba0220c3c083002320b2cb0888b82cbc0202330e0080802c032c08222f3a0c830be3b","size":72,"data":"","first_seen":"2026-07-25T07:02:54.187451Z","last_seen":"2026-07-27T07:00:44.96084Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f465da03521180d47c811a98c793a2d6","sha1":"9b76105ff4c8bb84cd630914d772f4cc73df0155","sha256":"e8183224e440eb4578fd87c4c47735f9ede4c43b1c6ebbdcd7033e98aba6a009","sha512":"b10685b1bf88080c98cfa2493e4c1734797a6ee17e9d59ddd7cbd685a9596d4c908ac2a12be9ea2aed3f6ac67ced98f3c6e76b1882f6c0731d1dd60ae5de4156","ssdeep":"","tlshash":"7450000000303000c0c300000030300003000000c00000000300c0000c0000c0000000","size":9,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-27T08:08:01.377208Z","times_seen":184977,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6b74d263b2f181bb8c759bdb049f2cca","sha1":"f4ee289de7015e0faac2be30edb6240a6d7c6139","sha256":"e5a9bf69c1f1f7fa5574037a92b8b3dfc6ba7b0479d1d9e7347d39a0bdc41753","sha512":"10bbf90be8836779b50b0da8ce0f1773f474e604cc0d10101267cf42c41ab78d27a2609f824a3493b235650ac7bff8777cc297feb6a000dd7b6aacaaab88597c","ssdeep":"","tlshash":"527000083c08a200022238a2e0ab00280022000022808a0080c000a00c3200ab00a80a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.203661Z","last_seen":"2026-07-27T07:00:45.018417Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5206560a306a2e085a437fd258eb57ce","sha1":"c9ee5681d3c59f7541c27a38b67edf46259e187b","sha256":"de5a6f78116eca62d7fc5ce159d23ae6b889b365a1739ad2cf36f925a140d0cc","sha512":"40422e2733a73dec2f9aac48e2ab48d3b2fdcdc1e3a88bc7ea855227e62c029246da1dd49dd057bb8a8b796b3b2a6f60d9d8a85de53df597e422b2f68c54cfb6","ssdeep":"","tlshash":"c70000000000000cc00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T12:04:13Z","last_seen":"2026-07-27T07:24:20.14441Z","times_seen":68664,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f9f2d672039ed5d04839b769ad71e1b0","sha1":"9a86054ee3627014bb2f372f939ff22772a90aa5","sha256":"ef099fcece6eeca3777d0d4a6ac606beb557e08dcd95cf93d0d42a0334329c10","sha512":"52923fb4476412cf751131a95f749956c1a4c83641935695522af4434c3c42047820db169481885cb549e9a6a8c5ffbbc6ac49ad08f246612debd54bd3ee68e8","ssdeep":"","tlshash":"c71000000000000000000000000000c0000c0000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-08T15:11:30Z","last_seen":"2026-07-27T07:00:45.011529Z","times_seen":2711,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"61a6f2652a0b6db05139abddb9b96ab7","sha1":"05548eab56f32db3c8c42fd2487a3f3b3ccf0ee1","sha256":"cc6e0d6af3dc4f620458aa79c4f4c0631ebc1bd55a148f5e9a06ea8874885831","sha512":"f2f89b1252cfe849de0cb4e8e8b7ee29cf99c563c5113ede3c45d470d5d14c45e0a3e30e560a79d14bfd4c46943c24a8444a1e81e4a0e93addf71ebdeaccaef4","ssdeep":"","tlshash":"4780047cdd4c5c350f157415001740441177700d50150005170004c44f311c5140fddc","size":38,"data":"","first_seen":"2023-03-11T13:53:37Z","last_seen":"2026-07-27T08:08:01.396504Z","times_seen":266338,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e213815f8e0b9954f8d43e3a59f8b742","sha1":"563796cb191f082f24fc52b017905533a0ceccc5","sha256":"842c53eb438fb28e95c14d32423b0fe01bf557c9e623b684b19663d497bce97e","sha512":"b5bae6d10c35f01992dcc33c3f24a7cee7ac0fb56cf4a9e79453d213297ffe3b8e6e4b3eb7de9b1d10a5ca2638e81ac3fd3e66e6d76d157a75163ac7caea4f89","ssdeep":"","tlshash":"ad60000ffc0c330000033030003f000c003300000c000000000000c00c3000f0003c0c","size":14,"data":"","first_seen":"2023-03-07T01:11:47Z","last_seen":"2026-07-27T08:08:01.437562Z","times_seen":201817,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9d0137bffa0f20d5e8e9f54f2c84cf0a","sha1":"39edf6d919f82b9692a2edfecc78427a82567c42","sha256":"269d4d56785ffc82f3ed05d8ee3b84fc18d7474663ddd06c6fd285165190bb19","sha512":"0b8b09f13f8fbeb3546c08a3501f4060ba8e5f762722ffb1a53be6d0e297abaf9719d48d50cac29940e403702c66627187396b8961aee26586ac934568af2ea9","ssdeep":"","tlshash":"db50000000300000c30000000c30f00003000030c00000000300c0cc0c000300000000","size":10,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-07-27T08:08:01.466317Z","times_seen":184329,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-CgMCAfor.js","fqdn":"widget-v3.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"},"introduction_type":"scriptElement","is_inline":false,"md5":"06c5668b0e6d3383e096c45abdbedf9d","sha1":"8d64309e8ec50da59f799336c11685ca7fd15ecc","sha256":"2724b50edb69a23cc951a77f775727b960c857d18d58cfa9a47fe5c094d9b99a","sha512":"c4a86d25f4e86be36db19539b4e3efc70500a48b9664349043d76a1451f8536c8bed7fe22f8ca790fb3ac7e26fa7efbfc37e0c927687966dc08a02442e15f85c","ssdeep":"6144:mLjnOEIL18ad2jJKaQo+tRkYcuBaay+moJG:iOEIZRd29lqj4n+moY","tlshash":"53443ad53294b035439b51e6906f1106f33e5c58580d812cf269ede678baec8a2f7fb8","size":272133,"data":"","first_seen":"2026-07-07T11:50:17.748529Z","last_seen":"2026-07-27T07:27:47.884385Z","times_seen":1867,"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-27T08:08:22.784542Z","times_seen":1111,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"11721f4fe0fa20af0333c7eda891ca0f","sha1":"372c3c93f86eb46b9afffaebbf49c82cf42fa466","sha256":"ef2a3319810f3ae9cd5948f3229bc195d7b1558846487473b21a842f9d1b503b","sha512":"0f12b9a1099d5be03aa05cb2c7fda09fcd3d47094ee1973d5beb44d6651729d7c7d719af6b57981f3a39f9024ee36e549167a21724929930e62271547ec0e3c0","ssdeep":"","tlshash":"c7100000000c00c0000000000000000000000000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-08T06:14:19Z","last_seen":"2026-07-27T07:00:44.935983Z","times_seen":2894,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"04349b75733f9a34b4021b587765005c","sha1":"6070a8a928fcfb84d659883893b6917e124ca898","sha256":"86d8798669d148db9b83305e628958589e0a0699eb4c5176a49445d3f4b45eb6","sha512":"951d0dbaee27fba356c6b0b3be78b59f088d48efe1d065da056b3c37633ccf9c7ef5932f08f294d5b5411fa7dad37f6cd9f9191bbce94af7c6e76e69eefa4cd3","ssdeep":"","tlshash":"a731a99f53b50938c5c0cffd41af066248f16115ad074c1f7e01eae54928553aeb1afb","size":1536,"data":"","first_seen":"2026-07-25T07:02:54.188598Z","last_seen":"2026-07-27T07:00:44.990878Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bfb05b64541b797fbc56b1ceab0d0707","sha1":"ff5eea3714de9fa65254f3722ee63ff9718b4cd8","sha256":"9a3032ec6f3b482ef8f786196f5fec31ee55139f79eec40f1ef9e5d487f68c37","sha512":"ef42e661cb08389b03f24f5e884fc11c24a95d58110d3bd963a916d449cc80e06554ef4863d18aa0b14c12c0004f03f3b244442f4adcc9cd895ea236dd283ff7","ssdeep":"","tlshash":"687000083c282000a22238e0080b2008002308080080a80000c000820c3200e203280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.15521Z","last_seen":"2026-07-27T07:00:44.976836Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"219505d4d5ae5b145370ed3cef98cfa3","sha1":"89498e7304c8074715c729700b3955fc065531b0","sha256":"d298bd11845e65f3a66d13d3a5ab32c91d5430be6dd23c2bb70ef16c03e21751","sha512":"c169611018ff9ff3e5d894a922f07106d329ca6d9668b9dab35bed80b825bbe371edd8cbb5a63171e6f300470e690bf74d7704b7109cf78b286207e396916335","ssdeep":"","tlshash":"314000000000000000c3c000000000000000c000000300000030c00000000000c00000","size":6,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-07-27T08:08:01.338528Z","times_seen":174975,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"42e34d43963ba5c8f37c775b35258a3f","sha1":"77848caef3f422b34490fbcc9b420a2eae91e973","sha256":"4bca020551dc54855ef72cda3d88a25ac010c32345bebd8111e1d884f56b1dfb","sha512":"1d102717114d2322ba1fd3ec6fab0b9da9bc194793c340ce4efc56611ac5ea53860b13a04ec8c3e20da463da1c752b9254516dce5bc499934db40f301037ea5a","ssdeep":"","tlshash":"8690020da4210201206830c4fa8236426c9104a04f099c100101d81061c910bc8556df","size":46,"data":"","first_seen":"2026-05-25T20:24:44.282834Z","last_seen":"2026-07-27T08:08:01.330245Z","times_seen":3368,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"2d411354f21bb22b65f55d8bfad14f6e","sha1":"0a0a24845eb1cac5a48518e1bc5db6e3d5dce792","sha256":"cb1426008557b5894157468472242e22bb84d186d91063e50456abb38b79ed23","sha512":"f95f53d57cf6b8cd06137c700ea9f82b2342115f8ac40630b9fcd57322f6e4d42e6ed7ffe48e64c0dbe39388cfb9f76813d882fb40b9c5504cf0e670ab3b28fb","ssdeep":"","tlshash":"1d80002080a00000a28830c2e008002c3838c3320a8022c0838080028082ae082e02a3","size":27,"data":"","first_seen":"2026-07-16T11:36:17.999846Z","last_seen":"2026-07-27T08:08:22.86408Z","times_seen":1934,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"9fd334fc820049549b4ea4d3733ba47f","sha1":"6ba0fb201a5db2e2090074dfbdd7975c2cfc78f1","sha256":"43d899e666518fb0ef349e48afdbc0048874bcdb6b00ba4b53793f1b19b2945d","sha512":"a6c1e074b032916c30c8a6ef55f4ffb1890aeea22f929e3c6110ef4e7f57742253428d4833b95ea32dada78c5b3e17d0f85241a603dc2d2139aa56ce50eca4e5","ssdeep":"384:UipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka4xPZ/Mb30:ZNogFbLrQPZ/Mb30","tlshash":"34823067c80da72ac4569d26bc7bb602fc2e075945a529606aecc86c04c7d53e30fb7d","size":18865,"data":"","first_seen":"2026-07-24T15:28:45.007972Z","last_seen":"2026-07-27T07:13:21.552762Z","times_seen":465,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"8062d232826eee4ffac1e152a5142514","sha1":"1b7f2090ebcfc1380f56c34dfc4f294c7301605d","sha256":"ace81cabed19b96885e6fec0ca99bfc73b71b6ad7df50664f92e68ca7281512c","sha512":"4e11703f66d5cb936d78dc2aca12c94504819135e1040189ba4675f1c0b5c1478ece5ca2f02d7c893a38b341f34dc318703d6d7a4c51307c031d5384676f2c01","ssdeep":"","tlshash":"78f02d7c1403dcf784fa1082c6b8e2c0c653856aef942ee123408ac2220ebaf02b1bd1","size":651,"data":"","first_seen":"2026-05-25T20:24:44.288837Z","last_seen":"2026-07-27T08:08:22.865168Z","times_seen":3504,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"f07c4f86a1b5524cec5397c170a0e9b5","sha1":"a8ef59c61a316f6095680bcecfa0c48466d72593","sha256":"32849254237db69547de8eb2f61b99d95e7466b89168687bf780bfd79467fbd0","sha512":"2c656e2adb0d00233577547ecc1f0efcf98bdfcf0f87ffc62fedafb4e4fc22e8c04e348d02bb3f3d0db21962e55712f132738e0685fa2c3e9755a241d55b9446","ssdeep":"","tlshash":"ce11570a0135042a7ae04164b6362ef5352c3add4b43daec5b857c0972b3a768d50bfe","size":957,"data":"","first_seen":"2026-05-25T20:34:17.759767Z","last_seen":"2026-07-27T08:08:01.34313Z","times_seen":2776,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"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-27T08:08:22.865995Z","times_seen":1121,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"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-27T08:08:22.866523Z","times_seen":1121,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"569704bfe6c1be70bea96e62c95d10b2","sha1":"1ebe9e3483f15928d18af8367a993cc1fe6f95f6","sha256":"577136df8200adf35699ebd443ff95aff588911e5451a64e7249b954d496ab08","sha512":"27482e4bae245a82e789bd6bba1746bd03fc6d2916045062e35f6bd7d8496ff54720271e9b16bf9c72972f08d7d7aeed33e1c0e2d0ef905ea9253578b05d44f2","ssdeep":"","tlshash":"6c3150f9e42264750ad310d832b7c7aa3f333595f1c72552c4bcc08a15a6dca24a3eed","size":1547,"data":"","first_seen":"2026-07-20T15:50:49.068553Z","last_seen":"2026-07-27T08:08:22.867062Z","times_seen":1810,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"d080aef1e28b9ced897f549e49b13916","sha1":"75abf1173fad589cc5e35b388fa0a3067188e157","sha256":"cb914bbd5f3df056d111c04f26650d699d100920c24e13e5e50c67ecd1de4e93","sha512":"746fc099bb9ed96629e79d592c09b25bb38203a52cb1dced0a65325ff096b1ce9f508f5f2a26570312d75569a6b56be634501e6fa6a59c2fbde67af8418caa04","ssdeep":"","tlshash":"48d0a754212b612234dc3054d62ee6d1f5151a922fd310ebd7992018b665893a9547ed","size":245,"data":"","first_seen":"2026-05-25T20:24:44.292788Z","last_seen":"2026-07-27T08:08:22.8676Z","times_seen":3506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"382df8f48d5107dd2a96921030e79c0e","sha1":"19bd60f0b2ee5dd0d3ba977e9a464d03cf135682","sha256":"5893dbf7b9a7496a0d79489a22f335b0d20530e25f0b95656b206bf44d9bc139","sha512":"31f04d2c5e1759fe8774b17908257fc5e07199b54c7ff483008d92ee115393e249d0e8ae814a57758638a7ef3169a4a485812762f2efbc92be6cf307780f7741","ssdeep":"","tlshash":"f8b092191f6d822948a4760c66ab478ab8f8045299005c15b300648816a8e84009ae2a","size":109,"data":"","first_seen":"2026-07-25T07:02:54.150949Z","last_seen":"2026-07-27T07:00:44.960296Z","times_seen":512,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cadb00a60a3fda71b0a59c1eaa577422","sha1":"81bbc75ee8276e534256b7a30dff2b86c5e0c893","sha256":"834021cef72202c07f1e4b770a7cbf84adf11afa2f1527353f4b35cfe558e977","sha512":"437459289997803a93a4e734fc87ee0896b6fc58ad8971d9898488ca77f0305953f17bebe1ee4f0dd90c0987266edfd1241bff7d32c08f3bb103129b1b1bcfbf","ssdeep":"","tlshash":"08a0228c2880afcc00be3a28222fb00030a03032028c083c03328000af3008c30c03fe","size":65,"data":"","first_seen":"2026-07-25T07:02:54.119796Z","last_seen":"2026-07-27T07:00:44.974926Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a5c244fde4e6f1ade71beed5c11edb59","sha1":"6bc634a7f8505a2ce340807aecfa1e50c2a578b3","sha256":"d561924e4295103128924509bbe71b3eed6625592d75ba3cc35c365189d6081d","sha512":"6ed66e7a246ab961cedd150553b6a9aa692988813dd4ee30c8b7d78d80bb8765a828112c6860d08eb382cae34e22bdd76ecda5ee1c9c7ee25a49b1d2639474f9","ssdeep":"","tlshash":"966000300c000330c0000c00000c0000003300000000003003000c0000300c0000000f","size":13,"data":"","first_seen":"2024-07-23T18:45:20Z","last_seen":"2026-07-27T08:08:01.37411Z","times_seen":174003,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/79207.6a62fc803d3d07898936.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"9f9984517a8cd65036faf42932513a8f","sha1":"05cac6f7fbc24daccaaefb92b34f6eecdc91d8d1","sha256":"597ae9e64dd837a96e9166ffeb016e0757a49f06719163620ea9c616bae3ea2a","sha512":"f122449c6f6d72c179c4a59ec669368d3caaf2e5fc59ab4dbe5a3b10c172380e9033fe19842cb0c81ba7ef956058ff787693678223786ed92f6f5188ca177f44","ssdeep":"96:S0yn+dFlV8m0eKoPnRuKfeYX1X45tTZkcdrEAUbNfBn3Codbrbth1o3I9dxKsbRN:S0yn+dFlV81YRuKWYXWhdrIBn3Pjh1Ag","tlshash":"faa1b6c630f770d673aa19e5813b0447f2be09d13a0b96e5b4989cc938750167a63fac","size":4721,"data":"","first_seen":"2026-07-23T13:38:20.419582Z","last_seen":"2026-07-27T08:08:01.23091Z","times_seen":988,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bd0bcbfeaf7651b34de78f94db256e9a","sha1":"d5d4133262a2d4536708007fd3d58db921c73a6b","sha256":"7c4c4985dc2c7739b2b78d4608b572981a8394702ca5cef9773fe555ff0eafd3","sha512":"4d4b6a8f7b6d27a5d6e269d4b9a804986a2fdddd08cc47ed5cb726e993749117dafe9300281cf36c5065dd89063cd7c09e39e2851bb7626184be44b33d3237a8","ssdeep":"","tlshash":"faa022203e00ee02a32328cc023b2c08f20a8002c0000c8fc03ef3c00330bc023028fa","size":77,"data":"","first_seen":"2026-07-25T07:02:54.183264Z","last_seen":"2026-07-27T07:00:44.972095Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"952ddc5ca686660c54f7b74840982b4b","sha1":"fe05b5837e28143d2981f9a67a56e565a7982be7","sha256":"9baacdd193c5a18c5a01ecf248bf7a316f7927c345ee3ec94fdce802d458718e","sha512":"a652cf3cc48705bc2b0fcbb449a0a61fcf31f30ad0feab7697a10c6c0e6485353c815048a9570763d74cddcb857fe49973ced6de10bc5f8239c7671fbe1881e0","ssdeep":"","tlshash":"d5c02b08746220f04e43ce395fbfc804a05c62511720128c216274c80c80a94607308d","size":139,"data":"","first_seen":"2026-07-25T07:02:54.186501Z","last_seen":"2026-07-27T07:00:44.972651Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a5f3c6a11b03839d46af9fb43c97c188","sha1":"a7ee38bb7be4fc44198cb2685d9601dcf2b9f569","sha256":"86be9a55762d316a3026c2836d044f5fc76e34da10e1b45feee5f18be7edb177","sha512":"dddb9ec4c4ac04a2559d9b711eaa8e35475db3c4d6a7a06dde785dc83f3ed121710cb512733c8095ff346fc8601e7a73ecb53fac752010116e692b1ce73c8e59","ssdeep":"","tlshash":"c700000000000000c00000300000000000000000000000000000000c00000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:19Z","last_seen":"2026-07-27T07:04:11.918511Z","times_seen":86180,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_ticker_tape_widget.962f777c23b660d830a5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6261f54efc700f40121ffb4b8469e97e","sha1":"ce3b28aab3d88f4c8efb56c9421582b8795b170a","sha256":"784267261c93801d2acc456a3fd6bdebee924adb480d41166947dbef83d09720","sha512":"24eac8beb0159520437818ae9b0622b1a35010f7b030d8235bafbe66000eccedec201dadd509607239623d395152fe9e364a0fc0ff255a87f05f763c2bd6ce2b","ssdeep":"192:YLwqLptVvG6uptkfr8lJkNFmn1BnRMC4p2kuVcsFAvaGg:4wqLp/vXunkfr8/kPm1BnRMC4p2kazAO","tlshash":"fe12e9ac354ce53225bb0c525479e462f72c23fb5e0ae0a09367fcf96858ed46633d91","size":9160,"data":"","first_seen":"2026-07-24T15:28:44.921696Z","last_seen":"2026-07-27T08:06:56.512266Z","times_seen":523,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a7f8d6710421b13561d798da885286d4","sha1":"40bbf372af2386d0230d48c56680b364196e5238","sha256":"01233f22b0adbeec53c41f6c10babce298647c9c6c5c6ced4c143a2a88d18f4e","sha512":"86969e257ca8c46c346e574182d16d97936c58fac9d836ab3b8850d964753e8fd0b3a9f5b703cc23db2f982c8ca5b56f7b2a54ab7ce90178cd8c29a05724eb22","ssdeep":"","tlshash":"79f0e1c9b392146536ec934ebddf4d613cb16158413c512da7a066f104a06d5a8edf53","size":585,"data":"","first_seen":"2026-07-25T07:02:54.206377Z","last_seen":"2026-07-27T07:00:45.013199Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"796a99cad1a6610a7fa68e368d72cb4d","sha1":"b484b5b4973974c40859b0bcdc09c6c87a9a659c","sha256":"d61a50f46cd94e534153820f129c90bcab530e78f08cf2f179b008fac3c6f3dd","sha512":"76e33f7b2eac4d092754e12c149ce663195bad3173c574ddbd997bbc8a75594e868ace5263bfbb32aa2d38fe74918ef36242241498935df9df6535aecdaa7fb7","ssdeep":"","tlshash":"69d022072287ddb6a2729804030afa15b0ff100b0f262a06f3c885026734b8cc262a97","size":214,"data":"","first_seen":"2026-07-25T07:02:54.074862Z","last_seen":"2026-07-27T07:00:44.96701Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c11d89c2ca93836ea343a05338bd670f","sha1":"62a6ad7f8271078933dcd08d5424e2393bb5da8b","sha256":"5b399a3e0eebfecdf232a414d8d0557d3eaed3041a5641a639e715c63586aaad","sha512":"f7855d7cc1bb2478457e1a465962dd6c7a86607759e9e70be7c3ae6c1eb28484222e8e51d876d28696dc1882c733ff396797d143eb074648d45c6274a8eed8c9","ssdeep":"","tlshash":"9a8004041c04d00c01511d5530df10cc045310d731100554141441c55c773451101d3c","size":34,"data":"","first_seen":"2026-07-25T07:02:54.181325Z","last_seen":"2026-07-27T07:00:44.958516Z","times_seen":490,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9a2a6b16da447c1060cd4a5c09dc8a1c","sha1":"fbe9678c38ea75b2e7379a3bc99ec154f8339330","sha256":"5e778835b3f9e816a452ab0f9acd9459861522e6eb9f61f1c9e60fdc8d9e64cc","sha512":"0808cbb678605f7f165e7bd536f3c2f0c25dc06211624161d1209d80074d262e63db1c4ce941f6da3374566ed577862582f561ae623f28000c61877b25a7c317","ssdeep":"","tlshash":"c4e0c274241450de4a47304a908d7fcc791a86ca3d483b6aa09180d1a72cb9b636dc38","size":301,"data":"","first_seen":"2026-07-25T07:02:54.177153Z","last_seen":"2026-07-27T07:00:44.996332Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5d43ef05e57cdeab7895fe8a3b6ee014","sha1":"19671e4e00cc9b5f8f6a6167c1ea8800ee539aeb","sha256":"b7893a0611b91f5fe47ce3889faf375eddbda47517f4e44c8c338eef6d2c41e5","sha512":"535346ebfe272e052e64dfa1845da29662c36e84fa5a946e52dcbb2cf4d894851a102180fb1c04603f86ec920d89fdfb62c1ddc14ea81ba4cec7d4723ad5598e","ssdeep":"","tlshash":"8db092a4a20c0b5812813919ad2b06e950e42704f82994884ac0ae2548e0a41568ead8","size":116,"data":"","first_seen":"2024-07-19T01:23:55Z","last_seen":"2026-07-27T08:08:01.449409Z","times_seen":189264,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7121a3428492966c83430108c81b0128","sha1":"faa54a8131b597a6b972810794c8ac848b67b351","sha256":"6ece104aeb4ca53d9261705afb936cd0bebf554bd318f77613325b124a234c24","sha512":"8f54791b217786c95592d4411cc15e5cfdc7432d5db0617f60ce69a260cee1e7fd968b441bc4a2e40cdd6af24c25051881dc4b934bb3458a152b4503d52e13a1","ssdeep":"","tlshash":"c710000000000000000000000000000000000003000000000000000000000000300300","size":2,"data":"","first_seen":"2023-03-07T23:42:40Z","last_seen":"2026-07-27T07:00:45.015529Z","times_seen":2610,"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.27","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-27T08:08:01.247224Z","times_seen":6617,"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-27T08:08:22.832455Z","times_seen":3734,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0d61f8370cad1d412f80b84d143e1257","sha1":"32096c2e0eff33d844ee6d675407ace18289357d","sha256":"6b23c0d5f35d1b11f9b683f0b0a617355deb11277d91ae091d399c655b87940d","sha512":"3d637ae63d59522dd3cb1b81c1ad67e56d46185b0971e0bc7dd2d8ad3b26090acb634c252fc6a63b3766934314ea1a6e59fa0c8c2bc027a7b6a460b291cd4dfb","ssdeep":"","tlshash":"c700000000000000c000003300000000000000000000000000000000c0000000000000","size":1,"data":"","first_seen":"2023-03-07T12:12:28Z","last_seen":"2026-07-27T08:08:01.408406Z","times_seen":75631,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"64e1e1cbe1ca8e88ef3a838a3e7b57d6","sha1":"5498d9b96ed2832e04a90c4ac2ab71f869b2bfdc","sha256":"0510eddd781102030eb8860671503a28e6a37f5346de429bdd47c0a37c77cc7d","sha512":"44ee2764491048592021ece402fc174f9f4d95cf25dd7227e1029cfdfbc6f574f811fac940495ee0db71db3714c70d7ee27c142876e4a191a0fda92a2e93073d","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000300000000c00","size":2,"data":"","first_seen":"2023-03-10T03:04:09Z","last_seen":"2026-07-27T07:00:44.970327Z","times_seen":1286,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4f15bb2d5bb35eef8ed5691a49a89add","sha1":"93dc792cd6f66b017de508d1653d257572b336ef","sha256":"92e207c292ff65d3a04f6cb843c69816f6a1520ba0907168e313bfe2f983c80d","sha512":"cab6a3bfc63b8a7d457b211a2f223bb58cfc2385f4a6a33d7f48812b4747bf0a0d7abfe7979388ed3e467ea5c6d65c688f7ab189a7f3ce0abd21958f9c6f8b5d","ssdeep":"","tlshash":"e6d02ecbb1c0378ab8a66cf4f2b34a0438a322243b8080ec803a36581fe05c8d903d25","size":282,"data":"","first_seen":"2026-07-25T07:02:54.086465Z","last_seen":"2026-07-27T07:00:44.987202Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"64d8c858156192a16a990983d35fb3f9","sha1":"1ae03179ebb040c510ecf6f785c0002f21932433","sha256":"bdfd55577f7056ab007e88fcfe9352e9805fc05f504131193cbe81c001162fd3","sha512":"e6c8b62010e24ed3c7a59b3d92aa3165bc2270274b755e8ecee06a238fe29682b08510402a6e8b7b3f85027d7e403447ed4694ec2bc43c136d5c0f1cb1b3f23a","ssdeep":"","tlshash":"cd60000c3f003000000000030000cc30c30cc3c0c0f000f3c003000000000000003f0c","size":15,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-07-27T08:08:01.455586Z","times_seen":171740,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/7278.738759ef0ac33469253b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0b8a552598142ab8089cd94992779448","sha1":"87a17e3637b405af0a42d322fc032cfd1da668b2","sha256":"22e612835027b9e83688180a91ed31c88f1ccb25ae05dc6866015bd73cb709a8","sha512":"3117f337cfd3fac0235478fc1c3bed80263bf95c521e7d287c8d86eada785db4a298db00b8523d0c3f22c5bced964bb3c73d3b355fb4211325d32ddc24fdcb10","ssdeep":"768:FbBK1Dsf6MP7AAKZAlrHp4Czh1HBvJ+vmdv2cKWPUqz+1xKGDZwYzYAlFKVGjqtr:UsfDP7ADAzlRBvJ++dv2cKWPUqz+1xK9","tlshash":"52d2940ab26054a711db01db4077405bea3fa6e9a04185befa688cdd0b6ee4c3167b7d","size":30098,"data":"","first_seen":"2026-07-23T13:38:20.531806Z","last_seen":"2026-07-27T08:08:01.068248Z","times_seen":946,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"834dec29a06aa1149f778035ffade82d","sha1":"cc71686d432a1236d2cab595573ea9498de75463","sha256":"4f36b2c33e2478b4d3ba77a2d6ee222f79ddda0c54ed27e41f3fe2cd7a62d318","sha512":"48c414ee31ecc55c83cb5b925daaaba737aca1cf332cc37dec593c919fcf0175118fefd24df9e42662593abe95e078e5c9a09ac2502aefc496e0df715b6d590a","ssdeep":"","tlshash":"26d02ecbb1c0378ab8a66cf4f2b34a0438a322243b8080e8803a36580fe05c8d903d25","size":280,"data":"","first_seen":"2026-07-25T07:02:54.194101Z","last_seen":"2026-07-27T07:00:45.017282Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e1469a0c2dc2156f9a727d0ed640ac13","sha1":"ba1dd0fe89c6bf92a6a0f1dfc9336ec0c722f494","sha256":"12854497ac91b3bf315b127a6c446692fb3c10bd1dcd87c3d60a592f63083cc2","sha512":"0cced30914a00cca9185467b9de158e890ae36123087ab40ce5ab41f2ff3ff858178f42c2810106003fad52d94dbebf96e5e47c7d3935f2cb2ebffe7ab387b94","ssdeep":"","tlshash":"6c0110862cf902b7b2d176612be37a2800f8b0476d082418e205e6a096564c2000adcb","size":686,"data":"","first_seen":"2026-07-25T07:02:54.118078Z","last_seen":"2026-07-27T07:00:44.964759Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2284743fe8a6178f117d584e3091d6e","sha1":"93d24c83d4a695e2a463bf66ea18a3e2147e9148","sha256":"8cf878073f71bf93dd67f56aab913b4a584f5ea15c56ea7030f96b9f26f23a4b","sha512":"7aa1cd340f7dc20e2259c9ef76fc6dd184133548d47ee9cf1c300e8ded20ae3e298748b874bb735dc639bb025be759096e3edfedd1c0396a094748bfe2734cf1","ssdeep":"","tlshash":"28c02bcf30c6da74817d001203179dc48107349f114b808743d040e400174908c1dcd7","size":138,"data":"","first_seen":"2026-02-18T11:53:38.7823Z","last_seen":"2026-07-27T08:08:01.380071Z","times_seen":77714,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-ticker-tape.js","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2671d4a92091986b7abd2e1e685669ca","sha1":"b59db96af3dd1593356058703fc7af3cd7269919","sha256":"986cfef49d6a6ccd5cb1f1cbf562e8341ed581936885830831a2f4c3dc2b5901","sha512":"c07159fc500c72469ba6dfb7ccf5afdbaf476906fb039e5bfc7ab2c95e79b0067a47e6e02ad44915b9ba426273dc39996ffb1899c029253b56e4b02f7d419883","ssdeep":"384:gf6uCWoofYkFdjhUjrb26n0q6Or26ZMViZMEmkfknYH:uD5Unb26nD6Or26ZkFE9fknE","tlshash":"8e52d8a9b660ecbd51d945dbe07a2321b6193944b203aca4b9ecd4c510fdccca131f7e","size":13608,"data":"","first_seen":"2026-07-20T13:42:57.5385Z","last_seen":"2026-07-27T08:06:56.506546Z","times_seen":1163,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/iframe_api?v=3.2.5","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.153.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"995a58cfca5d586dca3b5579b3dc9f3d","sha1":"4eedb0ee98b595a39b4839a80c76aebe95e55f37","sha256":"412370935f9625c094daf0f288c67a20b7882914f7a07d17819d5041c8cf87c9","sha512":"2916b5b66e474f3876fb9a6166fff2b69221dcba05894564307a63dbdd80bdffd565c730a50be61ed1bc31c956fa70e78bca3e56e14d2b28d4a0746b2d9494d7","ssdeep":"","tlshash":"cd11ed7b3d84e639865894e4a03fc31cf1b224957c50cd9110cde899e65cacadd2d5fc","size":993,"data":"","first_seen":"2026-07-22T11:04:10.481101Z","last_seen":"2026-07-27T08:07:32.46337Z","times_seen":672,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0cb2ca5238ca9b85cbde05a0c6a96a2d","sha1":"e7a5d39e6f8c5139be41d138aeb818c7b5c789ba","sha256":"65cdc6799de01f75bae65d4915b26836b836cc17ab7614020fa97a1d96992d6e","sha512":"c76c6a2b76b731648ebe5b1ed2a0f02a6b803cd96721d39dd9022ea67cfc21c068cff19624d10f4fea8058e486b4138084c49a0d85113008a8f828be99dc79f8","ssdeep":"","tlshash":"c710000000000300000000000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-10T12:37:25Z","last_seen":"2026-07-27T07:00:45.007697Z","times_seen":6767,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"65cfbef4976ed897962f8aab52c2e7dd","sha1":"5002f4eb74d361e916cd01adcce97615bb98a93c","sha256":"7ffca58a18354a6fafd52f93908f56bade386cd0181cabc22dde999e040843c9","sha512":"af6eaa50caa0889f6d7d19ae675e875be4d2577826cade64399694acd9a3c494bd35791cc47de33782b2fd996ce97b638289cad79915949a891f5e885da04ddc","ssdeep":"","tlshash":"141154b6393fd032c2e924a6d846ee7a42d08449926210b50fb332c437f6e9cd11ad54","size":1012,"data":"","first_seen":"2026-07-25T07:02:54.112569Z","last_seen":"2026-07-27T07:00:44.948009Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"59ce6228ddf62be7f8aefab2518b85de","sha1":"900ad9ac49e0c31c073d6f6d90b1f4a96cc6fd70","sha256":"8ff18c08cbe337e7e73e5fa2906915a48539b24a7fad20153b95bce97834aaac","sha512":"dc9152b4e22f588df140c33a6635b551d942579445ef185f0fa62fd31dd807fdc9bd23ce42e0a3ff8872a4ca6e9e2942f9f76a727cbb74ea049a513e9a8a309b","ssdeep":"","tlshash":"f1c080447556b1ffd6426482c05f151562550705d9549a06d3a054e02e349899091f2d","size":166,"data":"","first_seen":"2026-07-25T07:02:54.079559Z","last_seen":"2026-07-27T07:00:45.004871Z","times_seen":514,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"df4ecf2995d9a4760b6fe2b232d66a91","sha1":"21dfc49632cd521980c8fd611315a62037b83142","sha256":"1d0ddd4ea3351d60237f5374532c094863db8fee5d00fdbb477612c30630d16e","sha512":"3f1e696cd9e7f7b05b35195d7967fa6fe8332b9e921ed3077b855283e083ddb38d878f6509353e11b40c8e9f2e2799dd820e790ec46ebe93a9da31576028c336","ssdeep":"","tlshash":"9ee07d68664571642f929e46868eba88d68a404dc071c9022629d0c00c745e4903de81","size":305,"data":"","first_seen":"2026-07-25T07:02:54.190462Z","last_seen":"2026-07-27T07:00:45.022381Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":true,"md5":"75a92bf0b7262ea95aeb905148bbdc0e","sha1":"878ef66813fe4ea27c7a26d305cfe8725b60719a","sha256":"551f05790db1227ade331411938bf15f6eef4de8329649c7d4f40f38c493ccc6","sha512":"648224477ebffcb9bc340f550d5a4f0e49dac46b2a95833fbd4faa0aec48d78d566322363bb443a58de62a9917a0779f2054f51074809815c7401e24558b1bac","ssdeep":"","tlshash":"5fc09247f5b0164b049ae20ae387488c72bc8509463a0e292791a0ca3eb3f9d070e1a8","size":132,"data":"","first_seen":"2023-03-13T22:54:55Z","last_seen":"2026-07-27T08:11:45.762426Z","times_seen":995,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":true,"md5":"8ed917c6b2b11815dabf7604c5041a22","sha1":"382227c759fdc35439eeec1dd827797b751e2534","sha256":"80ad0c1267372433fc71650eb3029d1a9ec74089eeb437258f932a4a4bf72f82","sha512":"9a3a670887c81ec07cc450d9fc6ba92e17631a08797d09410933327a3b2665a96af198594bac73aa0a30869277cc572b45ba47ac5b39974470bf136c1aaea112","ssdeep":"","tlshash":"d3e02b7d2c3551955b9601b481abf2283d1630704445d957989a98796cf0fcabd119a4","size":416,"data":"","first_seen":"2026-07-27T03:49:43.456791Z","last_seen":"2026-07-27T05:16:58.452599Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/js/plugins.min.js","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":false,"md5":"bc10f3c597de855e4fa36a1000221326","sha1":"2bc9da202a98bac8e3b9ffd85346590869351e26","sha256":"4d7c1e93506d2126040dbcf4678cc94b0e50e9987b0be6e23795a3fdeb8e182d","sha512":"96a81b08011126f49cdd453c462f5f3a99f223f39e78dec3716abc993c744f04d19eea5a8d6dba4ba9bfc01f37b5e81d21e01378b5ad9adbd70dca0b64c0868a","ssdeep":"49152:v5qgEhCd/X9zYw0rRSt3FK7Y7sionSzQpe8s8PEp/gkMe4926YVDrBPOt/6ZqwUL:3z8s8Z","tlshash":"d6a5a54ab7e125359257f03a9d2fc9087236a45b2a4aed04394c52e45f1d83c93faff8","size":2070825,"data":"","first_seen":"2025-09-22T10:43:48.666115Z","last_seen":"2026-07-27T05:48:43.401295Z","times_seen":21,"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-27T08:08:22.725503Z","times_seen":4061,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69352.33011f244b92ea0b642c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5892ca5b3227e78df9d2ab92c3248724","sha1":"60544e547f80c21daf35460e9a75d3e817a58acd","sha256":"69236d01bc831a7a43ff776d09a39734ce30f2be4ecd83b55272b4c1d798c182","sha512":"1a6f2ba628e22166c5e1285ea8771085d4fb4bc18728dd29dcc612bfff921b3cde7047233fac48e47050cb6922013824b1166676d4d77219f87ed820d7333524","ssdeep":"48:fGoeBtt/RMHZr15WY7bq5+EGbplkGbDlZ6JGbHwa+EPyZT1k0SL6tGbdnRyeqg5v:RZ15FbqYtZ6UyEeT1hUAeJ4hZ72cYtOO","tlshash":"6ea165cd33c5f46523e2aad7a4bf510be13e198d601c6814b399e8e178579ce8132f78","size":4689,"data":"","first_seen":"2026-07-23T13:38:20.554349Z","last_seen":"2026-07-27T08:06:56.378634Z","times_seen":565,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"553043d48d6dd80a787af64045a49e96","sha1":"e63956e5e0aa636885b9ed763d13ab9fdd1ecc29","sha256":"1984338e5b6994ef452ccc065e0cbad0892b40e3ae8938d3bde4f6a76e660975","sha512":"6754bfc75e8a2d15fb5e7f309524e2b22812ff1d97cd7b18508495ab00c590eb64ced78dd0bff9aae3a5902fc2fd215cd73b76864004a441d2239777a547c631","ssdeep":"","tlshash":"8ad02bfb5811c06ffc23059213335dc910d2f20cd5993f9ab5b2b1a4392000c70d54c7","size":281,"data":"","first_seen":"2026-07-25T07:02:54.176272Z","last_seen":"2026-07-27T07:00:45.001355Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"57cec4137b614c87cb4e24a3d003a3e0","sha1":"23eb4d3f4155395a74e9d534f97ff4c1908f5aac","sha256":"18f5384d58bcb1bba0bcd9e6a6781d1a6ac2cc280c330ecbab6cb7931b721552","sha512":"4921de1edb2ecc8ca3a22823705194b902cfa471675f2d1ae8bf67d0c7b060a7c192e36ffca9f1a0d90ac2dbbdaf429ee1ec97e160eb00dc80b07000935304f3","ssdeep":"","tlshash":"c700000000000000c00030300000000000000000000000000000000300000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-27T07:24:20.0357Z","times_seen":45496,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b16d224a9cf9b154c238a00f6ce89562","sha1":"bf90040361427079f596e6a8daa5c6ce789e6d2d","sha256":"8d1320cfe03ab58ca10d024104587c313b2e9dbd142122d973f29c92637aed23","sha512":"4bfdbc6f94a21a7a7955caa00d6f05f6faada48c56a5e7a72f4e70bbe9c6ce01e2f76a8699e4d035e9981d03a5ab940122be0ac7bdbd6ec7405a17d7e5f37605","ssdeep":"","tlshash":"7d31a99f13b50938c5c0cffd41af066248f16115ad074c1f7e01eae54928553aeb1afb","size":1534,"data":"","first_seen":"2026-07-25T07:02:54.139431Z","last_seen":"2026-07-27T07:00:44.944604Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c498f21d596cab179eb2e5de92013857","sha1":"8a29a189198796bd164fc566e952884b07496fbe","sha256":"cd5e183ec113a6429535157117bb1ddc54f96b68728ca66921d74b20f8e4c15c","sha512":"4904d4f49e94e06750ba6c2783c51d29ee20d33aab48ea66ed7cb33796e8225b927b0de33aaa23af79e583f48e5d32db88b8ccab4053d59cf0ac4bfd93236c57","ssdeep":"","tlshash":"e770000a3c08a000a22238e008cb2088002300080000a80000c000800cb200e202280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.145555Z","last_seen":"2026-07-27T07:00:45.018968Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/js/script.min.js","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":false,"md5":"32edc421c412f712b3fc52e9feadf901","sha1":"57dc8f361e4a4bb9b00d364847588fde311218cf","sha256":"3c1d996eef14611bcb5d3c41592a982c85b6afee8cb232f3a5003aac02c013f4","sha512":"0e5743642d5ce9e384fce9ef5e196ff3850e4c33eb62b1b5f100c74d6201af83bf6fa18e4665fe5afa54b3eeae323790105b0ae9ac80ef251b6b404af4036a6d","ssdeep":"1536:rSO+VRNyFnTyFYaRNyFBMyFVTyFR7NyaRnyFJVTyFNCshRny01AfCEhtnmQqyFsl:wJV7VroDq","tlshash":"0f33ff0e64b01062465ba5764e1a4f01e671854f9e9abc30bf8d1b946f0f00f66f7bee","size":53227,"data":"","first_seen":"2025-09-22T10:43:48.593757Z","last_seen":"2026-07-27T05:48:43.297624Z","times_seen":21,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d224d956791813697309740c0fbcd15e","sha1":"2418655004b5f0f64a6e4075cb8ac4b53444421d","sha256":"48c035187614ea92c5bf66cec55cf8a9a0a30eaabd1bfd51234d0d5e44c93d65","sha512":"c1005f866f7b788b9fd04d3374ef4405bbadde272bf42c4bd0f8cf942bf1e9f6ebd13d50284f2eb5da4e5fd783c16dd4ef54f7e24e8eaf62496d2e744ffe13eb","ssdeep":"","tlshash":"ea8000083e08ae00800238a0280bc008c832003a0c20880000c800a80cbe02e020282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.182324Z","last_seen":"2026-07-27T07:00:45.02827Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7fc56270e7a70fa81a5935b72eacbe29","sha1":"6dcd4ce23d88e2ee9568ba546c007c63d9131c1b","sha256":"559aead08264d5795d3909718cdd05abd49572e84fe55590eef31a88a08fdffd","sha512":"21b4f4bd9e64ed355c3eb676a28ebedaf6d8f17bdc365995b319097153044080516bd083bfcce66121a3072646994c8430cc382b8dc543e84880183bf856cff5","ssdeep":"","tlshash":"c700000030000c00c0000030000000000000c000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:06Z","last_seen":"2026-07-27T07:00:44.98961Z","times_seen":74523,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"771f01104d905386a134a676167edccc","sha1":"51af17721bd7b84218774f9064fe481c033d0b1c","sha256":"46874106f9ac7f3b68a422895aa223e1ea5ed0db860f179f6362cb166c65f8ca","sha512":"0c85b6b14d917b941d01903af93ca93b97b7112355ba3f19f0ac2e243427be9905abb48f24a6dd6c6a72c140bbbc7ed7d231609425b0f132375b0f990ccef8cf","ssdeep":"","tlshash":"c7100000000000000000000000000000000000000000000000030000c00000000c0000","size":2,"data":"","first_seen":"2023-03-07T01:20:09Z","last_seen":"2026-07-27T07:00:44.994262Z","times_seen":1807,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b2c033e81e5f5f3d63beba88712ff6ad","sha1":"98f27a412fcc1ba29098c5d60e0577a19d2d2db9","sha256":"bea6c2d06c730cbcc0383d0be45269737019dbd4e40dab4c786861a9c82baa8f","sha512":"6fd35b35256ea2ee673f840880503a5102921fdeafea46e81d91e200506905861eabf9dc5a7640bb37d0645e5a68febbd3a4d15c26db7ed405794c8865f0632c","ssdeep":"","tlshash":"84d0a7049119108386346d5bc282dfafe59184433e01d81b299c49ec16fc957e5b98a5","size":240,"data":"","first_seen":"2026-07-25T07:02:54.154377Z","last_seen":"2026-07-27T07:00:44.963638Z","times_seen":519,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2d0b50c5f3341004fc9eb0180fbedbf","sha1":"a61e5ec146c93a860130cb8da7142fa3d1026a4b","sha256":"9c8b8d8ede5390dffefadd3c93c2cba6763f91fa72ec56525f683cd02667344d","sha512":"862f887b9b3c5580acb5d98a1e3c047e6c07f5fdb963069083a16c1b6a8380f5af6fa58d032da5b3756a57de86cfc388c7c7f96a9dbd5f0e0214407796ce8e38","ssdeep":"","tlshash":"0ad05b40ab0ae553904e3cd7c69ed9251a9155672112c01171216074d4735e487467a1","size":260,"data":"","first_seen":"2026-07-25T07:02:54.164149Z","last_seen":"2026-07-27T07:00:44.966501Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2cc43ad532377e05783b919d86a896d9","sha1":"69e00bdb15ac21186c8d27764e6311759ba5b99b","sha256":"007cd5f5a967155b6963ac5de46c369ee23237414c3f576b4197fe46229808ce","sha512":"404182f4b51a22a4a35e58480d372a65db2465803ca23913e379199413edf84fa74dcf0f92026d8561dcc35bdff981cb98a38c8f50ae05f7224e5c7b42b30c92","ssdeep":"","tlshash":"2cd022c93c4978d20279238888ba01f7e2fbb8dc78068b40c32442002a3ca3a5464402","size":199,"data":"","first_seen":"2024-10-31T11:08:50.83142Z","last_seen":"2026-07-27T08:08:01.362526Z","times_seen":155197,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/20061.8715a452514d45d5dd3b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"7d505e8048a3d56a7c35fec43b942e28","sha1":"7cc8e3f14d3c2bc72667a4b341a18173ba08360e","sha256":"3c8a6537a973cf0adf27e43d6727b986d50fc12ac3b1bf62528b892270b5a901","sha512":"42ecf81a5c530657c264164cdace5abb238353df391c16cb5f4eb18c3d4eea154e934f76f113c9fe8c77cd66d8e6038b288ce213c22f225e959c5b61f6221849","ssdeep":"192:OlOIsbRrYGv5JJjaqRSPoi35z6e5WyoEH6R+0332JtcIKidzTnM:OlOIs1BnJjaq+oCm1GH6etcFidzTM","tlshash":"44f1b89870c9b07653c60867f0735488f23c2550788e89a0f298dcf63ab285ed267f9d","size":7907,"data":"","first_seen":"2026-07-23T13:38:20.472499Z","last_seen":"2026-07-27T08:08:01.058175Z","times_seen":957,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.155.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"443622910d8e7fe75010d4a41f533e07","sha1":"9774250436c6d11ce6978a2f57e620b1b86098c1","sha256":"6fca97ac502ef4f1d5ac6a8c662da7a8a9bd4d434faebcc4878d0f025fbaa15a","sha512":"8ce4ae6fb3b48726d2ac7dd7f8bcfb87df79adfc89c666d8278594d86648345411b78b003967291c4125ebbf78a2af3c7dd7dfdb100899ecea73c8ad8bd8b7a5","ssdeep":"1536:jN7w3cPBzlUowT2cm9iXFHDYzcmNkBfXoLz:RtyokXFHDSH","tlshash":"ce532acf72d2b73559e269e6105f410a62fe940a4c85186fba10f6f42a70d4b903bf7e","size":62519,"data":"","first_seen":"2026-07-25T07:02:54.064057Z","last_seen":"2026-07-27T07:00:44.845626Z","times_seen":542,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"30ba2015f57e9fb9a3b395a597ce8f96","sha1":"bea3fe0a47418c0192788fd73b50c3b7f930a3c9","sha256":"f684f5f4f99665c48ebf89434434309281912ca6ae3283b246db5b9b0725e75a","sha512":"3db38cab3bcbb8c7595c8f0d00363bd335a59959c9d266a84b8679341c9c2f9fb4d1f89ae7679bf1c2cde13f1da7f2ec0043e4b1fbc8abdea754c06b095746e3","ssdeep":"","tlshash":"c71000000000000000003000000000030000000c000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-12T15:19:25Z","last_seen":"2026-07-27T07:00:44.984678Z","times_seen":1086,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9e6f21901550fc1605fc3b7bb6220df5","sha1":"2c9aa881509ef9f0bdc5a0e496b852467b52bd1a","sha256":"d68cf2832956cf0a7b5ce50801e57f1a4aa9c959d170ef458bc12ee7a8e26f5f","sha512":"fe48c482cef77538444ec38384fc51fd461c90e228bcc2be17c1558ea1937e26eee63a2ea7fd01969aa1132b1413d738bc023fc6ea286b151dd8f8267278ad12","ssdeep":"","tlshash":"6ca0120074447c0116112c75c2260548f0511a0b50902401810596c002705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.172421Z","last_seen":"2026-07-27T07:00:44.980375Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"288f4801942ba7fe2e468ad22eb3b34c","sha1":"93c816901b3435f6f5cf6b2bd92e6727e442a895","sha256":"3f0ed40e2c3c5964be4eedf2e9176f9987135e03e131c9e4faa1334b3d0f179b","sha512":"118664d8321242dd85ca89acfa377dca6520b707e6efe6ffa76f2d06facc829277bda47b5889021d70cd3f1a9a382ca7fbe5e41502906853f7527222f9a33659","ssdeep":"","tlshash":"c9e0c05d611b7411b0c03cd1d5cf1498f0f42236c5ce0c1d8375d4c012a2ced569cf19","size":348,"data":"","first_seen":"2026-07-25T07:02:54.136642Z","last_seen":"2026-07-27T07:00:44.936518Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ac74e3f51cb94709e1948a70433bdfc5","sha1":"76d121cd4e0c881523d60b8dafc1b3589ae5b2b9","sha256":"a217633e7706a1bd9a42b4bd78d98f44f81e614d34e42aa97562232e0a0ad14e","sha512":"d002a88da3d454e2fac7bdbe5704290b8c7c6d1eb2375744991a1514e9fe83cfe43438c67667d42aa12f2de01cada231171ec95288d671df022d4a7f4d1eb06d","ssdeep":"","tlshash":"2990028430426c102202e0612a9a69b6d175448020199164f0951044392545d505bd0c","size":51,"data":"","first_seen":"2026-07-25T07:02:54.16226Z","last_seen":"2026-07-27T07:00:44.974362Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"21af29eb4a2661cde1ec2e23d5bfacd6","sha1":"7d2873f1d5edec0591009cb7c58ac0a8583acbeb","sha256":"355b175012ceed0b8437fb62d9e30416e770998561d266f70691acd8f7022641","sha512":"421539d8e4b532816aa4e443242637ff1e64519e1131ca733adb76acb7defa95088078a829c848c79f3e0c98c5065c0179d868360023547dad53797f81cee06d","ssdeep":"","tlshash":"f1c0122f63c0433609d3a2c4128f2716420991093ed51dae985663b81c3a0476068d25","size":190,"data":"","first_seen":"2026-07-25T07:02:54.080469Z","last_seen":"2026-07-27T07:00:45.010434Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94708.73d2bca37207c67a41f4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"eb8c592becd98b3361efe0b94719d5c6","sha1":"a0d1ee8521cfba7aa407ac50937aedd5f39bf878","sha256":"647fb8708ead9f5ba58a75d3b5e6d45f3df1f26a67f068d19a46752de40e327d","sha512":"27e850e1b55df1bfb523a33007db88c5bf3fca11c34b9f448fad508275031d48062410c7e49cd891d38f4058b2dad657828a8ce9f5a047b24a8804c477a90feb","ssdeep":"768:Qy2uEBDBP0oAifg+OMQjn3FMjhYVwPn9/meP+Tjwqcq8xGQKpb5dg+xU7wbwpEvK:k950TT3WOOP9AsqcK555x/dMDjcXRdH6","tlshash":"f4f2f917f1a7b46693db809ae4724213a33c18013d05486dbabc9ddd2a3f942b663f7d","size":35736,"data":"","first_seen":"2026-07-23T13:38:20.417189Z","last_seen":"2026-07-27T08:08:00.885466Z","times_seen":1059,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"aa76631c6a495f4b63436ddfc64c334e","sha1":"2bac63b17111b55646bf78e2942abd19447e1275","sha256":"29742726b39db0e852ff013420205d39b523ffbc9c9ab04930ac5dcc211f5f32","sha512":"581a573d9aa3749f7ef7b66cfc6490f8c5fbc1aedd4c35647634b571cb5cf60f7a9e9b5d7f28a7eaddb97b5a93bfd5bc05980a8c20c6b609bd1e4b2c0cbe2360","ssdeep":"1536:T9w3cPpzlUowL2cm9ibFHDYzcmNGBfXoLL:hFyoybFHDQf","tlshash":"e8631acef2d2a73555e269f6105f410a62fe9006cc85182fba15f6f42a70d4b903bf7a","size":69180,"data":"","first_seen":"2026-07-27T05:15:37.060939Z","last_seen":"2026-07-27T05:15:37.060939Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"115b3cd49c739440787a505ab2ee1fa0","sha1":"3f1da71d9f392fd05f503b9c37140524df25c91b","sha256":"b36d3c52f42742303976f7fa86f396d248d2fe7b0f3b3e18c092577e621a0e0c","sha512":"78e25ce66f42fd5b77614cbad4c7ffc671997f0f317882289e9da969621935ea0110b6910e2b693a99736a7403f1e43f54c02d76485d8fd7fe72bda1265d4a6c","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c00000000300000000000000","size":2,"data":"","first_seen":"2023-03-10T22:24:54Z","last_seen":"2026-07-27T07:00:44.977418Z","times_seen":1876,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c97f06046b55e8dae6a537ed7ae34fef","sha1":"84149880d516a37ca62c27e982f46d830b79caa8","sha256":"131b8b1c3193add0da6e1bc7b54e66e599b02037f372eb68ae1086fe443811f4","sha512":"8cd93216b1b29a3b9551a054b4c950e750d68749d9f6a2c8d7ddec13ec6894949d80c67cd339cd50916de026e15fc81727f9725ae127a9d6604b5989a711fa8f","ssdeep":"","tlshash":"6ef0dc0d48fd83769ac44dc290d33c0ccb0806071cc2610f7a49fb7032632b78497e64","size":485,"data":"","first_seen":"2026-07-25T07:02:54.134293Z","last_seen":"2026-07-27T07:00:44.955206Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a78c5c832247d38a96a1d593f639a2f8","sha1":"5f0015f64b3fa0c1cf637e590267ba3b24120422","sha256":"70af5859b85dd4f8bae68a68aca5782a1795821b1cdd307c803d62f76ed1859f","sha512":"effa7fe575fe0f5f3c2a7d8a377f6bc00f909e1e47ec5a6e93f6f16ffd0bf227e506ee3da11dae805d30c1e01b690cacbfb4e891f973bb5cc1daf9cd7a08daab","ssdeep":"","tlshash":"ab7000083e08a0080a2238a000ab00280022000032808a00808002a00c3200e802280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.087327Z","last_seen":"2026-07-27T07:00:44.957131Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8019a2b7d49c53a548a55f046b75eb57","sha1":"4db451122874d00f6b6fc751e5545823a75b818a","sha256":"e313eabc79a57bc0506d61fce96ce2b6dd9cd635130b8c8d029fe24db01ce844","sha512":"e945ce874884b5d67375a48bf9169e85c9f19519dcd646eeced82292b23f9174af233c378fa483ed79a04fef47ea55c9fe0f8ec71a2bfb18c714efe75c3a112f","ssdeep":"","tlshash":"38c08ce873b61824c2809ab3a03b46a1a88ba69c98094440e220f9a9763030d082faa5","size":158,"data":"","first_seen":"2026-07-25T07:02:54.159204Z","last_seen":"2026-07-27T07:00:44.986576Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/iframe_api","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.153.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"995a58cfca5d586dca3b5579b3dc9f3d","sha1":"4eedb0ee98b595a39b4839a80c76aebe95e55f37","sha256":"412370935f9625c094daf0f288c67a20b7882914f7a07d17819d5041c8cf87c9","sha512":"2916b5b66e474f3876fb9a6166fff2b69221dcba05894564307a63dbdd80bdffd565c730a50be61ed1bc31c956fa70e78bca3e56e14d2b28d4a0746b2d9494d7","ssdeep":"","tlshash":"cd11ed7b3d84e639865894e4a03fc31cf1b224957c50cd9110cde899e65cacadd2d5fc","size":993,"data":"","first_seen":"2026-07-22T11:04:10.481101Z","last_seen":"2026-07-27T08:07:32.46337Z","times_seen":672,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/exm=base,root/ed=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=r78Drb","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"b0ad8a0af02b0646525f5764557f74f7","sha1":"3b5ecd18dc5225ff5e062f1f355636ee87daa374","sha256":"41ca2ce29b6abecad6de552d13e73fb3b7628a958b5fbffeb8cc0f8b4495f4f9","sha512":"066d24883fd73c8304fc558fbfc404650cdba71f6f3973bf37273ddb405e563c181cd6767cb575ae3d20139bc047514916e3d227d9a4e17fdcd377a478b0556c","ssdeep":"12288:H0PeofempMe8l0tGc70LCSn4AqUlvdDJdGhxnYUjpjYtsxDT:Hjofemc+tD70LCSn4AqVnYU1YtsxDT","tlshash":"f0e47de07392f4b586426966e57f8003b17e5943f2044478e1fa9edc15fce48a2bbf29","size":698252,"data":"","first_seen":"2026-07-24T13:29:06.300454Z","last_seen":"2026-07-27T08:07:37.371831Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"53f90a23c820f4d35aad5e1fc69c3631","sha1":"adfd381939291c573a7f091f1a486b30a9598190","sha256":"c43f747e9a95c0f6b4b687850f9ddb61fc6791213cfa3bf2c08f7358c1fc93c7","sha512":"757f13afbfba4457e7c08c0ed2cc31146c8174b5b9c42a6e86d3703078d5819a577f061397bdb28f87ddd8f3dfabb09be6cc1623d83644ba6e2d1df26c15e18b","ssdeep":"","tlshash":"f1a0220c288f2032b202bc2280323c08a32f2003e8a0ec0e0028c2c20b30a8e020303f","size":72,"data":"","first_seen":"2026-07-25T07:02:54.130379Z","last_seen":"2026-07-27T07:00:45.010981Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"22fb59e0e0cdacc10fb7f1ad105606ed","sha1":"c6b3878cffd44663b546b12c26af899b037a4a53","sha256":"34469a749ff4f676f6d6a4d95bd641b9f9078810647dd3f14ac9e2aca1045513","sha512":"c39750c2a29c1873c338aba8a3bbd078bec533900b4ed5e1e46a17a8daf2b90c1999a8ea60da594bc411f49f60bb33f525f29d47990d0d6575b9231ba0ccf370","ssdeep":"","tlshash":"65d097c46bbb982c4984ce2b403311319049a21c8e080c50b230fb3bf7a075b243b0c1","size":229,"data":"","first_seen":"2026-07-25T07:02:54.072496Z","last_seen":"2026-07-27T07:00:44.969716Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b6a20c0d9da44983aefc2889595774b7","sha1":"a6b83289561646aee8a972f7631e8e92f56cda48","sha256":"2fdd1b9481f875ab3ee4f5d37d4f77142929c0cdf6ced65060f0aa2aed4984a5","sha512":"9baedb500c9f00af4ff8fb892caba990a86a6042c868841f50f6b10c277d8c0566f5ce7049164e86e2bccaa0a786567e18bfb5f3ca7845b5ac65123f207b110c","ssdeep":"","tlshash":"66c022cc7b2b0c088352d9ba107b0566d86ac92cd94c8761d811fb16b92a25a087bba9","size":194,"data":"","first_seen":"2026-07-25T07:02:54.124398Z","last_seen":"2026-07-27T07:00:44.980996Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"130c787f212b30dec62fe9d1f64adf89","sha1":"0fe829cf5728aa8f881b127725d34bff3e703f22","sha256":"50560cc380f1458be9737fd2ee27daea8b9426db77b4b38ce5554e4a651ad09d","sha512":"650a479f750fa63552a1eb884acdc1d5a0ff7136389e396a8c311804d6490e8657b6ac81855d1d7633a27309f79c578d0a4927e35cded386db1808d1e5d8e017","ssdeep":"","tlshash":"fbf02d135782b7b2d04a560b50cf628806b2c032ec5acc8f1a33e2b40cb888a209af85","size":621,"data":"","first_seen":"2026-07-25T07:02:54.169445Z","last_seen":"2026-07-27T07:00:44.964235Z","times_seen":498,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0ee7840c65fd232997d06d9430eb3cd3","sha1":"d7b08c1b33e71fb050eda8eb76673e4ad9a8e2e7","sha256":"b1934a6c0e3ad971de0f6acb755aa575707e156d75224d0d6290a0f1d9fb6329","sha512":"f49fc43de4c5e49b7b4f81a3de77f3a6642f44ed070ae82a48e541a680b4992dee7b43218235a23384d386adddaca5a463a723470e778006b84dbe309db5e215","ssdeep":"","tlshash":"61e020a4b60370c596a67c844417db33f1b8b6180864679335a9f85cbc15507929bf35","size":347,"data":"","first_seen":"2026-07-25T07:02:54.163257Z","last_seen":"2026-07-27T07:00:45.009317Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"16c0e822a412e900773f94265229b860","sha1":"3f7b94f3942f43c81bf6104a63328a04122f46ef","sha256":"b15fdefcf464539466ed442882025a3860330cb62ac4613d91e8a94448850155","sha512":"662eed3905e417a9d5d68d7a9aef8c7eb97df1e6c03ad095fe7bc3f29a7820cd4b4611afd58f3ac95a91b71d7c45daeebcddd1ed5092d85b6d678b40b7fbe88f","ssdeep":"","tlshash":"60a024005c0c45013713315144370c0750d11107f0f44d0f430dc05017305050744333","size":75,"data":"","first_seen":"2026-07-25T07:02:54.207231Z","last_seen":"2026-07-27T07:00:45.031352Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/tradingview-copyright-data-impl.27f349a1d58483f27eaa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"88cd75b972ac65ea66d51cca418cd69c","sha1":"f4df7f63194fb7a17442ba8c04e626440cdf7985","sha256":"c7c434bf3cf0f1b1f069cde14034f32a220711a98b1190aca13e5f5b85ad3971","sha512":"877ef0b222a370b5ebeef0a0b5ec62ae76954d81f00617c2c9a7f58e0c171a599cf35ae0ac615d4daec98634a6f67c438043e0b7342efc2dc6837666902e216c","ssdeep":"","tlshash":"1c712d9a2252a8cd2553d979cc3b05e5621fa8fc3a8f43e0f973cf30a0831d5a912928","size":3529,"data":"","first_seen":"2026-07-23T13:38:20.341671Z","last_seen":"2026-07-27T08:08:00.900652Z","times_seen":1051,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9818af84da6f96579e99ed315f69e0c5","sha1":"7ecf16ebb75bea5bc8309fbecd3e3df799ab4371","sha256":"dfa3bde638cb08d781f46d978f471fe535a642cb24d408bcc486a67c819cc4e4","sha512":"1a5cf2ca1f7c50defc0af583f15e3d2b0e392e8886d39ce5b6d213ee8e01ee3c1131a901b393f05cb8c9ea412fc2598cdbf33dd895e2d284fb9c7dc6ca080aa1","ssdeep":"","tlshash":"c71000000000000000000c000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-26T11:55:44Z","last_seen":"2026-07-27T07:00:45.004266Z","times_seen":2162,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"673a875cd33f946c7fb234078db0d89f","sha1":"f1cecf9e970522a619b72e66a124dbf89737b06f","sha256":"e4d6fedd18866f7aa5469a8b90a348fec071f4b82598152a7aac6419edc3ac3b","sha512":"da7502389b64be9c9f1ce98b8976e58b6f1e897b5afd9af08fba27f6d70d01021e08f621eec1d589e2ffe0bd67e8610fd8936fb35623d28eb443631414c11e87","ssdeep":"","tlshash":"c71000c000000003000000000000000000000000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-08T06:14:19Z","last_seen":"2026-07-27T07:00:44.975594Z","times_seen":2378,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7694f4a66316e53c8cdd9d9954bd611d","sha1":"22ea1c649c82946aa6e479e1ffd321e4a318b1b0","sha256":"8e35c2cd3bf6641bdb0e2050b76932cbb2e6034a0ddacc1d9bea82a6ba57f7cf","sha512":"2e96772232487fb3a058d58f2c310023e07e4017c94d56cc5fae4b54b44605f42a75b0b1f358991f8c6cbe9b68b64e5b2a09d0ad23fcac07ee9a9198a745e1d5","ssdeep":"","tlshash":"c700000000000000c00030300000000000000000000000000000000300000000000000","size":1,"data":"","first_seen":"2023-03-07T01:20:09Z","last_seen":"2026-07-27T08:08:01.422436Z","times_seen":56391,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"89124fc63620d83761110bc7e1ba5df9","sha1":"7caa348e5a262dfbebc80293ec34cc3d7e03216b","sha256":"8e1dbf14ae83c99040ff15a1b7c612b72e5847b9d3ef4948fa2a29ddace9971d","sha512":"876865b27affb00d47d87210ce6c7e84373650fbd0a0917fd1fcf949a36b4c5b61c367ebe7aa5c96389499247ff223206dd14fdd197222c9dc22a8c8b19ced44","ssdeep":"","tlshash":"c71000000000000000000000000000000000c000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-10T23:00:59Z","last_seen":"2026-07-27T07:00:44.985336Z","times_seen":582,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"db0e667538ab4e563e08c53acdc8adca","sha1":"7b00a8cb6da0a073775af7b8536d09fa244594ec","sha256":"b57608c5537f1c358fa12ec9a41449489847678d160fc29bea540ebfe93b1af5","sha512":"0388191a568e959e0ee4d19304a222bd647c874b02cbbe7a589757c47da8277ca1e7afb02a3eb9803a1fdf3220bae8875aad1d8f8fd624284f0fcd32abbcfeff","ssdeep":"","tlshash":"f9c0c000f44cc39725933c2f0d41873e801b120384320c030301d8cd0833beee245f60","size":180,"data":"","first_seen":"2026-07-25T07:02:54.18944Z","last_seen":"2026-07-27T07:00:44.982845Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"908d5ccda6d90aab1d372185818e11c6","sha1":"917ea62d00a3e75d9b87d9a831eb81c24db4441f","sha256":"c9a8ffb3a00f63b1c983f1445fccea9aa101fe4d579aa885f7b1d8ab8e488faa","sha512":"868bb8a092222b3a369569f020417d22a4567faf3da65a85a2fa6492b812e961407d92f563bd02ec1c190d70a200301a36c9575386d779d98659d38ea7ecf40e","ssdeep":"","tlshash":"4cb092c8abc2a0625441958a413eba59f3e4bdc22706247ae052ac1aa4a470e40bf25b","size":118,"data":"","first_seen":"2026-07-25T07:02:54.17899Z","last_seen":"2026-07-27T07:00:45.003717Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3943450e225c6a2fdea1effade0ebd89","sha1":"56469df750b12b2c1ed5849865f5ede8381f153e","sha256":"ea43a462245af07a2916cdf93717d019f698edf00b308541c18dbc4983efc01c","sha512":"853b34dfcfbeb6d4c932a655b3487a87a75bfb08c079e7422078d4e2ec1c151513adaa5414c3ae267e19e2161852123fef5136402b378595e19b0139bfb0bf17","ssdeep":"","tlshash":"2ec08c090b0dd3a6038a6a94610a43aba15184ca7e611c28ab40e0c2e68e5054066a1e","size":149,"data":"","first_seen":"2026-07-25T07:02:54.138561Z","last_seen":"2026-07-27T07:00:45.01263Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"85667210a9ca3aaa44be54eb3274f280","sha1":"f69565032aaeb8d28ca4ca0daea8784dc01baf70","sha256":"0ba3ef12c7fadaef9ac42ea9cd42db694e3a5d2f64c6d21c2690ec7649bdad85","sha512":"e04c814490d64e8424e9cd097247cc4ce5ef616c21619b8b6f35b81cc47ac3f4504d94e7ec0a8bc45c8d5fd0deea6427a7c1c5d34c0841b6ec1d9e0b785c0570","ssdeep":"","tlshash":"23a0120074447c0116112c75c2260544b0511a0b50902401810996c002705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.208693Z","last_seen":"2026-07-27T07:00:44.969132Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"25607f1ffaa7d1ff142e22e0e8ae6779","sha1":"207c150da361f4c91b20acad7c60918a9818305c","sha256":"8495a59d9339a0440ffe0861eaf8f3248dc31cd6f5e5447e07d6e6d376b2002c","sha512":"5a76b2517dfa3140c30a7a50b1d6f4d49ccf641725897a7d2f2131e4638d97279de45263ebb59371c7dc55e1204c94afd08eaf294e6cffb62e94580ea47223a0","ssdeep":"","tlshash":"6ad05eeb6b0f267900d33d34090b0a546a56c401ecca14e59711b8dc4f5460b40f3d2e","size":242,"data":"","first_seen":"2026-07-25T07:02:54.140729Z","last_seen":"2026-07-27T07:00:44.998252Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"ad17d7aaa5500fe1d163e297a0cb3628","sha1":"4607dffbd44e617ef494ece0d8770698d1541cad","sha256":"e8273aae46fb97f1786246772222f93463401dfcf2a0956928723ab6de5ebba0","sha512":"f787cdda2c4d3a5d970765c62929e3fb088af57fe2ef62bd9f8debe4064d563a4ac72ed8bd8c0425e9dc22766b1915a5004593d1b8652033d43e6d45245c3b96","ssdeep":"24576:JddEUuuYnFCL4xFUnYNmJYqJNI5Dt/yV2hD4k494v5/CTEF6:fdhuuYnFCL4MVJBJO5DtKV2hd49p","tlshash":"10755c9977e2b86343b2e0e5685f0142f23f584854ccd12cb97df9e52da0d0a617afb8","size":1597230,"data":"","first_seen":"2026-07-22T15:37:53.90669Z","last_seen":"2026-07-27T08:08:01.375751Z","times_seen":1512,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"da3f5f8741b5de980662d730df73f871","sha1":"896f82c86f77ec8f6696a162f44345d84f4b302e","sha256":"da48bc39846fb2dfb11eac0208ab64b9f8b2f12fc89e9832b61d63d68935138b","sha512":"4c5197263ad82b11b501108b4da2d7f9ed721fff7146f15e294451be9611cbce7e079ec7a8204d358379003f85061b186fa8f851e271c05119b44ce405066b04","ssdeep":"","tlshash":"84a022203e20ee02b3232ace023b2c08f2088002c0000c0fc03ef3c00330bc223028fa","size":78,"data":"","first_seen":"2026-07-25T07:02:54.111523Z","last_seen":"2026-07-27T07:00:45.009896Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"24cc3dc813f384fde380df619f1525cb","sha1":"56399e3ce57ff98d68c7de98a563e572230dff6b","sha256":"5421715bbdaf2550e31d10fc28d444310a8fe7147bbddecf0abb490358a1553b","sha512":"fdb6e7d3b9452cc36c1e877ebe47c50c82fd413f2cef945f808e47b081da88ae6aaac7aa14386687c59479e19c856f6031d7ae666fe9c5b54a0b6fe37fa062f7","ssdeep":"","tlshash":"027000c008088802080aa02008800080220088023e0a0e0008200000832000280a28aa","size":19,"data":"","first_seen":"2023-03-07T01:02:05Z","last_seen":"2026-07-27T08:08:01.452953Z","times_seen":235092,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ec7e53845feb375870343182efd0b929","sha1":"63e71d0c5bcadc37a725d971054eb55e017f6989","sha256":"a2253e1fad60aa1ccf31416ca8cde6ffaa5af2510733c7186adc04a503346c5b","sha512":"339f50fe30462dd6204552b2d3d3fe5cbaeea2cadcfbde096f16b40f1d985a5a68ebb227dbbb9f37c9451a36376ed392b7fb50c6e661963124146bac7e03284a","ssdeep":"","tlshash":"cf50003cc00000c0000f03000300000cc0000c00c0c00300c3cc000c3c0cc00c000000","size":11,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-07-27T08:08:01.410905Z","times_seen":172854,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"96d66a4d9708fdb6dd5597f3bbc7d624","sha1":"e10a66fa8a836f6f948941262b70e1fc928a446e","sha256":"3cabac574ada654802fc1c4518d870f0791a9a3ac31371677e75fb683e47ce89","sha512":"06c25bc4dba52367cbe19252c1a013e1714a198141d139939944422266aaaed60ea3953c5d0f890a7f9ce7887c5f2a4cbb47173d06f829d50ac33f6f353c015d","ssdeep":"","tlshash":"ebd023cb729c1114574337141eef0448bc64b4d70dbc941d8649581058011ede03aecf","size":195,"data":"","first_seen":"2023-03-08T14:47:45Z","last_seen":"2026-07-27T08:08:01.370565Z","times_seen":207515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"83a77a8fa8101ab38a74167392abf2af","sha1":"ecad96d097ab2adb9729e0b0c5f8063e6445e4c7","sha256":"7e8c17ebc1c4489f3752972cf347c83e9eaf85dea4b84c375746377e5216d9d3","sha512":"f2250fb803e1cab98bdeabfe1cf415d3c7a2f3daf7d4d2e650196e709a5aff915427825b1f5e403dcefd704b290b091b69cb1fb437f6e5f69c7a1023a23f0c5a","ssdeep":"","tlshash":"c71000000000000c00000000000000000000000000000000000000000000000c000000","size":2,"data":"","first_seen":"2023-03-26T05:54:38Z","last_seen":"2026-07-27T07:00:44.949685Z","times_seen":7712,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e25b5a6d5b2365cb579d486a6acba51b","sha1":"6f513d7efbf5cd1176677d41c82b897b8006217b","sha256":"81799c32d53294ca91ef92a976a6501f0a7c8c424aa44278c8f06c0f71e0eb52","sha512":"d0b8a9b323c125a111082164ec638c05109a1b0add4136f4a0b69c99b680579b4755177a7c586a92f295bd1882b7eb8e41eb6bac406ef90d4257805cfb82308f","ssdeep":"","tlshash":"e9e07db0258123422174df79f0f3120430e072c67e48ac8f51256b428e388c1142353b","size":314,"data":"","first_seen":"2026-07-25T07:02:54.113702Z","last_seen":"2026-07-27T07:00:44.946298Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d3789a3f91258fcf605452196e19c21c","sha1":"f468a49ed14aa61cc199cac1759cb76160b266ff","sha256":"fa37be71bea1abe989546295b5d10f6a34598aa7ce90cfed1f870131e8e30c9e","sha512":"b93e82af199ae63f26b48b71e93f5f5c7be0c5efe33aad59dcd1109142d79d988b24ba63c4c0a5731a1d2a852fe817da47371412bc5cc8579078e4c5eebb0669","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c000000000c0000000000000","size":2,"data":"","first_seen":"2023-03-07T21:37:56Z","last_seen":"2026-07-27T07:00:44.952125Z","times_seen":907,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9f502ac14e14405587d798139e860b5f","sha1":"b267cfc679f39f2d95f9d3fa41bca0eafb931aa6","sha256":"39d2483e41bf71db160191d9a148b4bc26c0739e732727e37be0f18bdc8cabca","sha512":"f5bc3d4834c9c4ed165d49476795fb1170fdc577b58fe4b21dfc67cfb4f6eebf045a3812ef48a2f15758e790ce7e111cf9dbd9ffcc3438288c7340e6eeb7661f","ssdeep":"","tlshash":"b1c022ccbb3e600d9121f90031f84e46cb4125ac4407ede3a70128b4448180aca1f406","size":194,"data":"","first_seen":"2024-08-23T10:18:17Z","last_seen":"2026-07-27T08:08:01.465241Z","times_seen":174048,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"79563e90630af3525dff01b6638b0886","sha1":"68d2ad23b5e1102797ff78d3d0d55d97ba75c268","sha256":"9e507a6dfbf98393bbf23d487af7f1c5b2e8ea0635e3f0cddeac3a9a090a3dbe","sha512":"c11c66b5e92dce18ce4e6c7c9d956d09afd5a734c046f8fe645653931de1db0ef639567724e65e48f05bd922a78fa1547c86996fd5de1a62573c4cc2f46d2300","ssdeep":"","tlshash":"c710000000000000000000000000000000003000300000000000000003000000000000","size":2,"data":"","first_seen":"2023-03-11T15:36:04Z","last_seen":"2026-07-27T07:00:45.007103Z","times_seen":970,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"053fbccf1e17390f7a9adc3521ed7696","sha1":"e3d25d9c529549b5e8c066fe1e3390a03cff30a3","sha256":"5bebf4b6615a6aa6aea024a979423e3c35ed65dca89cec752afe3c5fa0262789","sha512":"8df25f0190b67780e3fe3549184050dd91e162ba06815e92e63f89fe1f07f1259f9ee294a4efde8b498c4c99dd2300947201d7859c913c85021d7b84107588cf","ssdeep":"","tlshash":"8890028430426c102202d0612a9a69b6d175448020199164f05510443921059505bd0c","size":49,"data":"","first_seen":"2026-07-25T07:02:54.198206Z","last_seen":"2026-07-27T07:00:45.002562Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2da41093c5101c915eba4d7ce7b0703d","sha1":"be67856563d898a7b733742a56b7c24e76f6c12b","sha256":"861a8f8ff3b790a4f6c9a8fbca93e201d714e26ee74a051cc77d25e79ef5f581","sha512":"c78400c6cb9ba66626b3f922da612a3663809ccf26a7b35521a117ee56b1f69fde071301026b99a7976cd6794a76568b7bb46065da5f4d0f23946c850b6a0e24","ssdeep":"","tlshash":"a70110862cf902b6b2d176612be37a2800f8b0476d082418e205e6a096564c2000adcb","size":684,"data":"","first_seen":"2026-07-25T07:02:54.184161Z","last_seen":"2026-07-27T07:00:44.9995Z","times_seen":510,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"06940d1ec461f6967164c26d60cbaefc","sha1":"2dd63cac632d95db488d6221109b5f3f932c9999","sha256":"c9f3959e3d485cc26bd83a108824fe7039921005faa810892c704386b9572acd","sha512":"4abc10cb04a87ffa25293243f9bb9d4498d4a1acebe89e239cdc92058d9f491da6b5de3ea698c856e62b3153c7d006aa340ee50912e29f019752453976fce2bb","ssdeep":"","tlshash":"ebb01224281de61233322ef080131d2c603b4402424f551ec44ce5c2032c0ce80475eb","size":96,"data":"","first_seen":"2026-07-25T07:02:54.115267Z","last_seen":"2026-07-27T07:00:44.990278Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"93dddbbea2419c0820cae293f64a56a7","sha1":"fec37c7f501f1834dcfed04edd754ab32b0661a9","sha256":"ca0f37dbe01b74a05d3b263e0f9b36a99e44350031baabb6c14c7d2d0f869d83","sha512":"e3f524dc1b1210369142abc7c52aca7bebb9edfdfb9237ebb03aae85d1a1403d2884e0062a7fae21d29207f237868efc1295460052c4ebc7860958d0102f88a5","ssdeep":"","tlshash":"0f9002c53c4456153662ac61402e44059165860e24a294829916e2940732b99850242b","size":57,"data":"","first_seen":"2026-07-25T07:02:54.19501Z","last_seen":"2026-07-27T07:00:45.013735Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e4728480e2fb7f7ad5c9fda4ae9a24a7","sha1":"d271c64c26f1980b5bcba96d21ac5cadb06e7977","sha256":"8222c16f8274ee37719a8d83f2aefe2259e820728e881bfc83430f3c5336f732","sha512":"d5c34af2fb42a8ebf58500129c2cbbec60704cc1e3275f93dfc44dccd3b3487456bb20ed56bb7e4138e86530d9f61b4cfd2e791b5e0d857c87336a50ed923bea","ssdeep":"","tlshash":"e8d09706b91480223932382302628e07e4a2e8475df3a452a18acdc945f1944805d919","size":241,"data":"","first_seen":"2026-07-25T07:02:54.165069Z","last_seen":"2026-07-27T07:00:44.945204Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9087bfb5987e012165369f31c80da771","sha1":"e4b912603b7a38d385bb3770f3d3c3574c4c7d09","sha256":"17b51df2b060b946881ffe59fc2d1cd01fc09a7c7d40c7b4dcce2526e10308df","sha512":"df59e3a180757201879e376cbb16a70c6f55dd732e6eda3f9809868bcf9fe2eb2e73a288192394cc3b9736832423672db4a13a3f1fa1aaa8ac37d3374c01b356","ssdeep":"","tlshash":"28e026c771613759d0585eb4e27317053c62a081ab4889e9b236f60aabe49ad35e3816","size":340,"data":"","first_seen":"2026-07-25T07:02:54.191647Z","last_seen":"2026-07-27T07:00:44.965368Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"97893f46e7e13ef37b4c2e0ac60d85ca","sha1":"9c93b4599fe3df75fb3326420f7805a0b572eb98","sha256":"e5b564a7a4059dccb9c20cd678603a6f30c5f3db3af9b421e7f87eb37b030337","sha512":"973fb08ee51bb939b314a5dca3d67e39b8d27d209f5328a9c6fc3e4d7a716b29098e81824ac0c15f9a9a98d070fe09176399f78f1828080c5d9142c9835453f4","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000000000000c00","size":2,"data":"","first_seen":"2023-10-13T15:09:37Z","last_seen":"2026-07-27T07:00:44.950253Z","times_seen":1984,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"506062df458617a6bfdd35a3fbd41c54","sha1":"7e7395752c17ceee179c6a6ac0cdc54a44401c6b","sha256":"a7e4c6a4faba5d54fbf9e416b44f1e4c26d60946ee542ea3510b95b0c146e6a4","sha512":"e0aa46183e606b4bd2eac6695caecce85498b80a41894bc26fd6dfa2a7db92c78f9e69349df0daf41d79df5a8d1f95c5aef07047e4231252f0eaa123daf3d096","ssdeep":"","tlshash":"cff08bd487010de8b201bce92deb3464927f89133c503009ba12a21a5234f4d945b82d","size":540,"data":"","first_seen":"2026-07-25T07:02:54.146382Z","last_seen":"2026-07-27T07:00:45.019491Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bd4496eb0285aba06273987971f6063a","sha1":"8c7d085c9d54b41debd437430b6852de7f898857","sha256":"f2a353ed5469812b863c5fbeb58b4d46b864ba4e20a49f57f9c44c7cda45f46b","sha512":"ac6567c456643fbfb8ccc60e9f3695cd5b6fd80f8699277093e0d9ca898bfe4a0fb6dc848ec48f6255d0a9eb82a6e699cf2f977aa502120cf9b8caa121f6f3fb","ssdeep":"","tlshash":"5580000000c80a2eaa80822333b883a3b8a80aefb032200080a88c28800882800288a8","size":35,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-27T08:07:37.583779Z","times_seen":110115,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d48a24ae9672ee573050e4d3aeeebe4d","sha1":"8f8c4d27852980a1ec5a8b1aba30769001314ec8","sha256":"53e5b7d706a350fe98d52499058624e15cddc1541f17370f94a899a386c50255","sha512":"02dd385ce15083c89617859325e29ce885ae235c8c5be416828066dcb5db78e69229802d87aaf759224e2656ab4c23bf1740ae1d357cfdb57ebf78ab77488921","ssdeep":"","tlshash":"43800020202088288888200b20308b8abaa0a228a83a2000a08c8e2cb822e80a038820","size":29,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-27T08:08:01.460156Z","times_seen":186748,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b640f7845a4341a89d25c0ca0f9b26f4","sha1":"5b98b63751f6e77fe954f5b95388d615eb263003","sha256":"3fdecbfeaacc1474406d975d54141cd22c1be7ed72ccf31bf23f5304e2b50164","sha512":"ec2592241ccbd9a0e93c49ad07121af8cb3acb2a4d8fc25e4f4599a1052d1fb51c9ef8538ac383c52e1205f9b6a17525703f2c4d4bd0d69fc090c04f93943066","ssdeep":"","tlshash":"2dd02b38e11c422b26970b4197c2183b05004642dd011d7b2eae28eb7044c9a9a1481a","size":256,"data":"","first_seen":"2025-03-17T23:26:20.961709Z","last_seen":"2026-07-27T08:08:01.397453Z","times_seen":167191,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"accb66f0ecd826aac89065990e1da97f","sha1":"3c5339881a1720deed325383e8c3839b7748d254","sha256":"ca68fe3f50735b174e950c34f54dc1f4469d57f94c55f259174e8ee730ea86c4","sha512":"52408933e4d4f3fc5069da409f56adaa898366c9c2b71abc013277b38aba5e7dcac15868ffef3495cc1a64af8cbe1bdd7dcf79691ec2b15ac2eb8a3fa76f3370","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000300000000000000000000300000","size":2,"data":"","first_seen":"2023-03-10T23:00:59Z","last_seen":"2026-07-27T07:00:44.997624Z","times_seen":2844,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"aac1259dfa2c6c5ead508f34e52bb990","sha1":"8ccb8a3f7ac5bd9c4f1ab74cb453f7f32903fb1b","sha256":"27a26bca625b223971909dd88fc93faeb050dc5b34d91c0871661740dcfb9d18","sha512":"2a404c9768dc86190bcc7c98645afa7b6f74488371b974d14da48d7379b2cfae6c8c5bc878ed17d0f9f4c4e62138bfe416cf9a1be31eab07e062c0f5f55ef811","ssdeep":"","tlshash":"c71000000000000c0000000000000000300000000000000000000000000c0000000000","size":2,"data":"","first_seen":"2023-03-10T08:44:37Z","last_seen":"2026-07-27T07:00:44.992827Z","times_seen":1135,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fa317cda84211445676c1cddaaae7c0e","sha1":"56c4706fd639682e3b4522c810eee9ea11f2d38b","sha256":"2740769e28e35690a4f400ce64b425de677a1dc517b2859219e883c874e4a664","sha512":"a6c704bc3492435fa28ff4a72847e656af3f982f8988c051b3d48959f553a38a54e5606c50fbcf73af0300faa637f2b3bbe311484f190131207b31b4a7939008","ssdeep":"","tlshash":"c1c08c4a588022263b707d80c0ba192cb354096b109e8f0f8c2ee3943320f62c00643f","size":155,"data":"","first_seen":"2026-07-25T07:02:54.082992Z","last_seen":"2026-07-27T07:00:44.976197Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2fd98c678db6a4e592fc1fce467a095","sha1":"23d71a1dee6fdcdb530042f8de4c7ab53166f476","sha256":"ce773908bfcad90b99b630fe30a23d2abf23d0530137862b34afd9426fc37f4e","sha512":"4cfdbe3278dfe3b25ee1d5b7c5e2b6136e0813ed126409b436ff14b98ff511e7849897d572bb20701f90c207a7d1a474166b8a3c01bcaa87f87836674926e582","ssdeep":"","tlshash":"14b012187d04e4376302347960230d04e151080342818c0b800ed8c047701cb00104bf","size":91,"data":"","first_seen":"2026-07-25T07:02:54.158231Z","last_seen":"2026-07-27T07:00:45.020059Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bae3f90cb000352645e35fad60da411c","sha1":"00023f94c170125b979cb1914925d06ab1abfbce","sha256":"1e3606d95ce27d593157594820335681a9380f51a96147303cd8000e60a95e12","sha512":"d83d07979674822b4c966ddcb3bd4feb84830834e1f9fb255774ae237056cc357599e3aab9c6f47242aada2148a65c9ea11c859b1e8f550004535cc363fa02db","ssdeep":"","tlshash":"03800000203008388088000f3032cb8afaa0a22ae2322800c8a88c2cb0e8f80ba28838","size":35,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-27T08:08:01.428042Z","times_seen":182783,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80706.a5913aa6ad62d9dbf031.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"7d7a3ddeb844a1fdfe8b024f9df9f0b6","sha1":"b3afece36b14fafc7889e9b954f9736c892a2849","sha256":"0752584a0f2ad3bba4f44bbd6a44bf08a76726c524b79367996ab9b20e03bfba","sha512":"c0b04bf9ca52fee536a54ae9fcb3fcac9ee210f95be1205e4fe48f0cbb1f25a4db788a4ae10cd4b5ee13e1dc5159c2a4d48516d50bf1ee07d2da1a00fa95ac38","ssdeep":"96:VI23hKdh7P1lIbeWL9aqfMbFNriK6Vizc/MuomCA9P0LX4BYyCnsI6T:n3wT9lIbeWJaqfvXQcEA0LHxnf6T","tlshash":"c4e1c6c832b1f0eaa3e325e480ab5806e13a6d5a558e60b6e34557d37874fc540ffec5","size":7142,"data":"","first_seen":"2026-07-23T13:38:20.481503Z","last_seen":"2026-07-27T08:08:01.223249Z","times_seen":1069,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"08a4415e9d594ff960030b921d42b91e","sha1":"1f444844b1ca616009c2b0e3564fecc065872b5b","sha256":"27a84712e4b22c415fc544d55cdee82327a829f96d03329457f76ebf9af4dcaa","sha512":"2c9fbb3f289c28bcec752f021d36c3a14b86140bd82942b06c0838931ce5999c1fd0b297b9bdb24aa145fc0244b7f3824c838d26ff7c222ad7663ddfb2c066b4","ssdeep":"","tlshash":"c71000000000000000000000000c0000000030000000000000c0000000000000000000","size":2,"data":"","first_seen":"2023-03-10T01:16:47Z","last_seen":"2026-07-27T07:00:44.971519Z","times_seen":2058,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"56d477e14d3afb1ffba04e085eba7834","sha1":"640b4d7232aba3b4b3f243b10228f7bd6bb27aff","sha256":"21220562832a31cb34cf0cc2cfcf17728feac102affc17e2e97d7e405c224f06","sha512":"389a61bfa0b427630b58c48dd7c72c4206a76c88e6743d446674a84c0cddfdd12b8fa66086bdf5c900937cc837841b85f9c2f47f6a03237c552af2c5766ec936","ssdeep":"","tlshash":"82d02bfb5811c06ffc27059213335dc910d2f20dd5993f9ab6b2b1a4392000c70d54c7","size":283,"data":"","first_seen":"2026-07-25T07:02:54.126205Z","last_seen":"2026-07-27T07:00:44.985926Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cbce5f030ab9bcb5d5a13f3094ed0c14","sha1":"a8dabb19b3be950bce6159811f80596a5bd78b54","sha256":"22d532f2907a94e1755ff7183e34abaed0e92f01415b2c98b71e860af2af3020","sha512":"d8d914e21a56a18b2bf24d25cf9df74cd94c4a9fdbad963cfd1eb90080d01d6cdafd27712026ecf692d43cfc977a8abf44d969e2d299d204b4da9263b9dc7036","ssdeep":"","tlshash":"e07000283c08e800022238a000bb02280222000022808a00808080a00c3200a800282e","size":22,"data":"","first_seen":"2026-07-25T07:02:54.179802Z","last_seen":"2026-07-27T07:00:44.952697Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"51792c67c588ce8139b246f015ed8a85","sha1":"d3148f014e0f4790ff65a8004585d17ed319833f","sha256":"6f70d853ba1dee4fc189490cfe4b6b1ab59f5853344cd85576bd2a4af2b506fe","sha512":"963ef7a25d5437d1a045dedfe34afbab41db4c620e4378606ca3b7b0c4219e51fda11b9b0e0b761093eda33aeac0e532a27b3f1a1ee110c13ba1433cdb28c067","ssdeep":"","tlshash":"cb60003f03000003300003ff0c0cf30030fc0c0c000c033c0c003330000300000c0000","size":15,"data":"","first_seen":"2024-07-23T18:45:20Z","last_seen":"2026-07-27T08:08:01.335653Z","times_seen":176106,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"13d618642764d2b6960367a857576c87","sha1":"8a7893b1545d1dfa2ebee469c2ee8ddd0a0c0b7d","sha256":"45428e1193fa8edd3f86d91bf4fb01b486cd6c1290d013f948c732adf7fb8875","sha512":"ae679fdd05e738532172c82f852d19e014f49f54e805eb49694cf0849c98278864afe9d8cbf2d19fa29c5fa73aa5143aeb3d012d841915597b5af30af9c77ba3","ssdeep":"","tlshash":"707000083c08a000822238a000ab00280022000022808a8080a000a00c3280a800288a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.077156Z","last_seen":"2026-07-27T07:00:45.000766Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"61e9c06ea9a85a5088a499df6458d276","sha1":"e2415cb7f63df0c9de23362326ad3c37a9adfc96","sha256":"fcb5f40df9be6bae66c1d77a6c15968866a9e6cbd7314ca432b019d17392f6f4","sha512":"61037724a2fb00a12fa8a53ada233f54ff7fc6ee02048e579b83a127ce79fc03906c35b5307beb18a3cf5021fe031ae6587448d4d60a082d73252fe2e2f4ae7f","ssdeep":"","tlshash":"c700000000000000c00000300000000000c00000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-27T07:00:45.021763Z","times_seen":79764,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b5b6fee0a4d21f85dce9a49e0e9a9036","sha1":"34f9d5791d070ae880424d2e4c6c2b578271cac0","sha256":"123cbe058700145f7b9e0d18298653a900ac9389207b3b95c4a98fbec94401ab","sha512":"16b1868151143dfcb7805ad1d5a183bb7c99d79eeb35b3bb38b1d2110c7bd387c1222be2c121764afaacd7c74b503cd59fe5813f1d5d99c7d207ea7c57095e5f","ssdeep":"","tlshash":"52a0120076447c0116112c79c2260545b0511a0b54906401c10596c102705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.173327Z","last_seen":"2026-07-27T07:00:44.97092Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4e5784c2f559c1f257d3fe1adff1b994","sha1":"a8bb93b81e79497dcbaea5f08618abe3e13614d5","sha256":"9abd5bd5bc72c038c0276119bd897de57b661a0e4b0d9849758dd698f4b11d10","sha512":"a66be2c2557a5eae52f07ea28edae7acf52d9ab08345204fc42a161d1c474ac05d43323229367c9eaffc197970a47846353096695ff79bb6fc820a804c268af4","ssdeep":"","tlshash":"19c02b08746220f04a43ce395fbfc804a05c62511720128c216274c80c80a94607308d","size":137,"data":"","first_seen":"2026-07-25T07:02:54.148131Z","last_seen":"2026-07-27T07:00:45.024626Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"207c220e7119b0530724dc731f2361b4","sha1":"7aa18fcb217183a72060d380ee0150133518dee3","sha256":"645011bcb7ff4bb41b4ecb04213d43dbbf54fef13631581a2a59f7c167aa18fa","sha512":"9c0f5f4d4d2cba1b9b96427bc6a014a81fa6fc98815e7fc6370ef28c0b65d196a6d55fc7d9ccb9125455f8eab715e16847eec069e146de094aefb9e753f21fa3","ssdeep":"","tlshash":"80c022c87b2b0c088352d9ba107b0526d86ac928d94c8760d811fb16a92a25a087bb99","size":192,"data":"","first_seen":"2026-07-25T07:02:54.165992Z","last_seen":"2026-07-27T07:00:44.965913Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"39d2592bac0eccdff1e94886f4472629","sha1":"35d3462c7a93c0264610efd6ac970e5d47ca7792","sha256":"24677b8b077f1fc6144a4e59498483aa30800bd1ba610a984f65b357cb198479","sha512":"5c9b66a1781728f08b8b4f9493c68ed5af9382c90f72cc5869f2a07f1837e50ffa4719273c1445bc025454171a535cf621e8f29a6630c32f07843708331409f2","ssdeep":"","tlshash":"88b012247c08fc22ab212c7841120d197120c04354a784d7d02ce3c00339186300b593","size":98,"data":"","first_seen":"2026-07-25T07:02:54.143979Z","last_seen":"2026-07-27T07:00:45.023552Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ded6cb7b021faf2355497e718ed7afc0","sha1":"fde446763014ad7c5b2045c021bdfe8ca139fd5d","sha256":"096a45acd89683278277589df946866fc34365c96212f1a60f42b143e5ffb28c","sha512":"160406cdfc444d63df42a6cff7c879049902401b95442e7ce2b82ccbac11aee8f6dbb1eb8382e2d8d21257925b51718eea4518fc53f8161654c3d8eef36546a9","ssdeep":"","tlshash":"25d02ba5b1061051f77079a19262d8989992d6cb2af1cdeb442c41400dbfe045875b14","size":283,"data":"","first_seen":"2026-07-25T07:02:54.081421Z","last_seen":"2026-07-27T07:00:45.022961Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"779ffe8039ad87e2a1aa1c111061fae4","sha1":"7765f6360937f90e51dc4974d13c20887adca712","sha256":"9e5e6d330bae7d5d640cf35fbbd6dbac19e4eec6c5bdea7b99a664523269f90f","sha512":"17cd5c8a938106fbe74d4ea623e67c3669683343c08f866700fd6284152c7397141c9ca02451bf6a32808003c4b4bf3fcce72cbbe6c53a851a1da6d254ea3619","ssdeep":"6144:OZaBJxrsw56sgMoiImct8de1F6Suapko3iM80AvhapoXgvWbq/+:FFpgMoircDkMiM80CapoXgvWbq/+","tlshash":"30944cd97762707392a2f5a5902f0103b17a68a6f40c8c7cf798ddd16eb494942bbf38","size":442344,"data":"","first_seen":"2026-07-24T13:29:06.322297Z","last_seen":"2026-07-27T08:08:01.170441Z","times_seen":1052,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"86649f7e1c723028d2f82b2c50600d69","sha1":"d054d66e4c26951897c16eb69e57f9803279cdbf","sha256":"7c890a86937b21a7c49e2b3888877244c5442926548497319e537f237e78ef13","sha512":"82625c492170b8a8bc520d8e53c837ff8b7f02e4dd0e442c24edf74abdae64db605c53ef7171b7083f234b32d79179662aada511875ce13842c04185e8111905","ssdeep":"","tlshash":"c3d022072187ddb6a2729804030afa15b0ff100b0e262606f3c885026734b8cc262997","size":212,"data":"","first_seen":"2026-07-25T07:02:54.167434Z","last_seen":"2026-07-27T07:00:44.942215Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7bfa335530acd41b8967a37e1c3e076c","sha1":"bdd8d14050dd0955829601ee023b1d449a9dd9b6","sha256":"ef226bb136cc66226cb2c478dc58478eb1fde25b90960098b4b48eaa64465b23","sha512":"feeca3580d39cf46c2d2f6719da557fdafd0278ce21b7e2710aefe013293c853c0ddafc3045baa1fc2ccc483191b5d89d47cedb49a52e3c55012e4718affa3ed","ssdeep":"","tlshash":"97c02bc49d5110548141e0bda13e215a30cab1031c200e10d730c2eb7c357d4100f74f","size":138,"data":"","first_seen":"2026-07-25T07:02:54.178036Z","last_seen":"2026-07-27T07:00:45.027665Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8d8b85adc4d2474a84fbca1381afb3c7","sha1":"3815645d5a8680fd3ed4ce5a3b82f8d432448698","sha256":"3eb8abc484d33a620c974de75babdd2caae4fff7dc8daad7d860dd41c93ee611","sha512":"910cbf3ddef06885833d1127febca48a7f76337a577db0e125a3157ee738bba15ad1d30405e79e1de60279b2605f489b16d8b258fd17bc0c04bce685d65fedfa","ssdeep":"","tlshash":"08a0124823d0a000e671241804070a80b1a069046d1f22048280018d60d0682405c509","size":83,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-07-27T08:08:01.428842Z","times_seen":207820,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3f9468254bb0ba86c2921e9eaeabac71","sha1":"0cd0ccc548e1fec4b80a95fc4848627f3303ae1d","sha256":"3ffab2a51752b308cdb0df2508add1937bd5cc27ba92dab27f03217649b8a888","sha512":"00532fedcd7cdab065ecf9b60453c4dc55a72a834c61e9579e71de4dc9489405ef3ccdc8bb936e2e960035a504b9db6e31bcb47ab29609ea52f0382a122753ea","ssdeep":"","tlshash":"55a022a02ea838c00e203020808f8838a3032ccbf0c88c00e0208f3a32b020088e0000","size":61,"data":"","first_seen":"2026-07-27T05:15:37.09351Z","last_seen":"2026-07-27T05:15:37.09351Z","times_seen":1,"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-27T08:08:22.859742Z","times_seen":2503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":null},"http":[{"url":{"schema":"https","addr":"crystal-exploits.org/img/cb6s.jpg","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.971Z","timestamp":1785129291971,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /img/cb6s.jpg HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:51 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Wed, 22 Dec 2021 02:40:04 GMT\r\naccept-ranges: bytes\r\ncontent-length: 38213\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":38213,"size_decoded":38480,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=7, orientation=upper-left, xresolution=98, yresolution=106, resolutionunit=2, software=Adobe Photoshop CS6 (Windows), datetime=2021:12:21 17:10:02], baseline, precision 8, 445x300, components 3","md5":"4db1cf708704def8ebe1c88a6b4ff7bb","sha1":"1374ae9ed9b42756c46224888d7f6c6312bd4bd0","sha256":"a072ec11cc5903aaa406e9a4014212e7937c8d28e2a0478fba3a434b79b5986d","sha512":"4a339162553089150cdda3f452cbcc05e8d23a9d0de0f34540cee089227ff7dcd4c7270dfe422a303fc5936ddff8eed862d3640c10f0884bf54e9c476755865a","ssdeep":"768:mZbCN72bCsE7iiayf7haryCfhw3opK/kPNItSJFgADfEpAQb:WC0CsE2yDharxhw3q0kFkSJFgWfEpZb","tlshash":"09039d38fa119e11e8c11979e0f8c2c697b66bd59c93440bb59f5424bf70de48c8b6b3","first_seen":"2025-09-22T10:43:48.573994Z","last_seen":"2026-07-27T05:48:43.329586Z","times_seen":19,"resource_available":false,"data":"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AAAAAAAAAEJsICBkb3ViQG/gAAAAAAAAAAAAQnJkVFVudEYjUmx0AAAAAAAAAAAAAAAAQmxkIFVudEYjUmx0AAAAAAAAAAAAAAAAUnNsdFVudEYjUHhsQG4AAAAAAAAAAAAKdmVjdG9yRGF0YWJvb2wBAAAAAFBnUHNlbnVtAAAAAFBnUHMAAAAAUGdQQwAAAABMZWZ0VW50RiNSbHQAAAAAAAAAAAAAAABUb3AgVW50RiNSbHQAAAAAAAAAAAAAAABTY2wgVW50RiNQcmNAWQAAAAAAAAAAABBjcm9wV2hlblByaW50aW5nYm9vbAAAAAAOY3JvcFJlY3RCb3R0b21sb25nAAAAAAAAAAxjcm9wUmVjdExlZnRsb25nAAAAAAAAAA1jcm9wUmVjdFJpZ2h0bG9uZwAAAAAAAAALY3JvcFJlY3RUb3Bsb25nAAAAAAA4QklNA+0AAAAAABAA8AAAAAEAAQDwAAAAAQABOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAAeOEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNJxAAAAAAAAoAAQAAAAAAAAABOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0EAAAAAAAAAgAEOEJJTQQCAAAAAAAKAAAAAAAAAAAAADhCSU0EMAAAAAAABQEBAQEBADhCSU0ELQAAAAAAAgAAOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAAzsAAAAGAAAAAAAAAAAAAAEsAAABvQAAAAMAYwBiADYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAb0AAAEsAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAA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IABQAGgAbwB0AG8AcwBoAG8AcAAgAEMAUwA2AAAAAQA4QklNBAYAAAAAAAcABAAAAAEBAP/hILtodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOmNycz0iaHR0cDovL25zLmFkb2JlLmNvbS9jYW1lcmEtcmF3LXNldHRpbmdzLzEuMC8iIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk4QkU2N0U1QTA2MkVDMTE5MjBGOTlEQjU3MkM1RkFEIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9IkRFM0Q4Q0MxRjgxNkQxNUFDQUQ2NDE2REEwMkU3OEI5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM2NzlCOThFQjY2MkVDMTE5MDdDQTU5RDg2MTk5MzAzIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIGNyczpSYXdGaWxlTmFtZT0iY2I2LmpwZyIgY3JzOlZlcnNpb249IjcuMCIgY3JzOlByb2Nlc3NWZXJzaW9uPSI2LjciIGNyczpXaGl0ZUJhbGFuY2U9IkFzIFNob3QiIGNyczpJbmNyZW1lbnRhbFRlbXBlcmF0dXJlPSIwIiBjcnM6SW5jcmVtZW50YWxUaW50PSIwIiBjcnM6RXhwb3N1cmU9IjAuMDAiIGNyczpTaGFkb3dzPSIwIiBjcnM6QnJpZ2h0bmVzcz0iMCIgY3JzOkNvbnRyYXN0PSIwIiBjcnM6U2F0dXJhdGlvbj0iMCIgY3JzOlNoYXJwbmVzcz0iMCIgY3JzOkx1bWluYW5jZVNtb290aGluZz0iMCIgY3JzOkNvbG9yTm9pc2VSZWR1Y3Rpb249IjAiIGNyczpWaWduZXR0ZUFtb3VudD0iMCIgY3JzOlNoYWRvd1RpbnQ9IjAiIGNyczpSZWRIdWU9IjAiIGNyczpSZWRTYXR1cmF0aW9uPSIwIiBjcnM6R3JlZW5IdWU9IjAiIGNyczpHcmVlblNhdHVyYXRpb249IjAiIGNyczpCbHVlSHVlPSIwIiBjcnM6Qmx1ZVNhdHVyYXRpb249IjAiIGNyczpGaWxsTGlnaHQ9IjAiIGNyczpWaWJyYW5jZT0iMCIgY3JzOkhpZ2hsaWdodFJlY292ZXJ5PSIwIiBjcnM6Q2xhcml0eT0iMCIgY3JzOkRlZnJpbmdlPSIwIiBjcnM6SHVlQWRqdXN0bWVudFJlZD0iMCIgY3JzOkh1ZUFkanVzdG1lbnRPcmFuZ2U9IjAiIGNyczpIdWVBZGp1c3RtZW50WWVsbG93PSIwIiBjcnM6SHVlQWRqdXN0bWVudEdyZWVuPSIwIiBjcnM6SHVlQWRqdXN0bWVudEFxdWE9IjAiIGNyczpIdWVBZGp1c3RtZW50Qmx1ZT0iMCIgY3JzOkh1ZUFkanVzdG1lbnRQdXJwbGU9IjAiIGNyczpIdWVBZGp1c3RtZW50TWFnZW50YT0iMCIgY3JzOlNhdHVyYXRpb25BZGp1c3RtZW50UmVkPSIwIiBjcnM6U2F0dXJhdGlvbkFkanVzdG1lbnRPcmFuZ2U9IjAiIGNyczpTYXR1cmF0aW9uQWRqdXN0bWVudFllbGxvdz0iMCIgY3JzOlNhdHVyYXRpb25BZGp1c3RtZW50R3JlZW49IjAiIGNyczpTYXR1cmF0aW9uQWRqdXN0bWVudEFxdWE9IjAiIGNyczpTYXR1cmF0aW9uQWRqdXN0bWVudEJsdWU9IjAiIGNyczpTYXR1cmF0aW9uQWRqdXN0bWVudFB1cnBsZT0iMCIgY3JzOlNhdHVyYXRpb25BZGp1c3RtZW50TWFnZW50YT0iMCIgY3JzOkx1bWluYW5jZUFkanVzdG1lbnRSZWQ9IjAiIGNyczpMdW1pbmFuY2VBZGp1c3RtZW50T3JhbmdlPSIwIiBjcnM6THVtaW5hbmNlQWRqdXN0bWVudFllbGxvdz0iMCIgY3JzOkx1bWluYW5jZUFkanVzdG1lbnRHcmVlbj0iMCIgY3JzOkx1bWluYW5jZUFkanVzdG1lbnRBcXVhPSIwIiBjcnM6THVtaW5hbmNlQWRqdXN0bWVudEJsdWU9IjAiIGNyczpMdW1pbmFuY2VBZGp1c3RtZW50UHVycGxlPSIwIiBjcnM6THVtaW5hbmNlQWRqdXN0bWVudE1hZ2VudGE9IjAiIGNyczpTcGxpdFRvbmluZ1NoYWRvd0h1ZT0iMCIgY3JzOlNwbGl0VG9uaW5nU2hhZG93U2F0dXJhdGlvbj0iMCIgY3JzOlNwbGl0VG9uaW5nSGlnaGxpZ2h0SHVlPSIwIiBjcnM6U3BsaXRUb25pbmdIaWdobGlnaHRTYXR1cmF0aW9uPSIwIiBjcnM6U3BsaXRUb25pbmdCYWxhbmNlPSIwIiBjcnM6UGFyYW1ldHJpY1NoYWRvd3M9IjAiIGNyczpQYXJhbWV0cmljRGFya3M9IjAiIGNyczpQYXJhbWV0cmljTGlnaHRzPSIwIiBjcnM6UGFyYW1ldHJpY0hpZ2hsaWdodHM9IjAiIGNyczpQYXJhbWV0cmljU2hhZG93U3BsaXQ9IjI1IiBjcnM6UGFyYW1ldHJpY01pZHRvbmVTcGxpdD0iNTAiIGNyczpQYXJhbWV0cmljSGlnaGxpZ2h0U3BsaXQ9Ijc1IiBjcnM6U2hhcnBlblJhZGl1cz0iKzEuMCIgY3JzOlNoYXJwZW5EZXRhaWw9IjI1IiBjcnM6U2hhcnBlbkVkZ2VNYXNraW5nPSIwIiBjcnM6UG9zdENyb3BWaWduZXR0ZUFtb3VudD0iMCIgY3JzOkdyYWluQW1vdW50PSIwIiBjcnM6TGVuc1Byb2ZpbGVFbmFibGU9IjAiIGNyczpMZW5zTWFudWFsRGlzdG9ydGlvbkFtb3VudD0iMCIgY3JzOlBlcnNwZWN0aXZlVmVydGljYWw9IjAiIGNyczpQZXJzcGVjdGl2ZUhvcml6b250YWw9IjAiIGNyczpQZXJzcGVjdGl2ZVJvdGF0ZT0iMC4wIiBjcnM6UGVyc3BlY3RpdmVTY2FsZT0iMTAwIiBjcnM6QXV0b0xhdGVyYWxDQT0iMCIgY3JzOkV4cG9zdXJlMjAxMj0iMC4wMCIgY3JzOkNvbnRyYXN0MjAxMj0iMCIgY3JzOkhpZ2hsaWdodHMyMDEyPSIwIiBjcnM6U2hhZG93czIwMTI9IjAiIGNyczpXaGl0ZXMyMDEyPSIwIiBjcnM6QmxhY2tzMjAxMj0iMCIgY3JzOkNsYXJpdHkyMDEyPSIwIiBjcnM6Q29udmVydFRvR3JheXNjYWxlPSJGYWxzZSIgY3JzOlRvbmVDdXJ2ZU5hbWU9IkxpbmVhciIgY3JzOlRvbmVDdXJ2ZU5hbWUyMDEyPSJMaW5lYXIiIGNyczpDYW1lcmFQcm9maWxlPSJFbWJlZGRlZCIgY3JzOkNhbWVyYVByb2ZpbGVEaWdlc3Q9IjU0NjUwQTM0MUI1QjVDQ0FFODQ0MkQwQjQzQTkyQkNFIiBjcnM6TGVuc1Byb2ZpbGVTZXR1cD0iTGVuc0RlZmF1bHRzIiBjcnM6SGFzU2V0dGluZ3M9IlRydWUiIGNyczpIYXNDcm9wPSJGYWxzZSIgY3JzOkFscmVhZHlBcHBsaWVkPSJUcnVlIiB4bXA6UmF0aW5nPSIwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIxLTEyLTIxVDE3OjEwOjAyLTA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMS0xMi0yMVQxNzoxMDowMi0wODowMCIgeG1wOkNyZWF0ZURhdGU9IjIwMjEtMTEtMTNUMTU6MDI6NDUtMDg6MDAiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJBZG9iZSBSR0IgKDE5OTgpIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gaW1hZ2UvanBlZyB0byBpbWFnZS90aWZmIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo5OEJFNjdFNUEwNjJFQzExOTIwRjk5REI1NzJDNUZBRCIgc3RFdnQ6d2hlbj0iMjAyMS0xMi0yMVQxMzoxMDo1OS0wODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENhbWVyYSBSYXcgNy4wIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6QzU3OUI5OEVCNjYyRUMxMTkwN0NBNTlEODYxOTkzMDMiIHN0RXZ0OndoZW49IjIwMjEtMTItMjFUMTc6MTA6MDItMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gaW1hZ2UvdGlmZiB0byBpbWFnZS9qcGVnIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBpbWFnZS90aWZmIHRvIGltYWdlL2pwZWciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOkM2NzlCOThFQjY2MkVDMTE5MDdDQTU5RDg2MTk5MzAzIiBzdEV2dDp3aGVuPSIyMDIxLTEyLTIxVDE3OjEwOjAyLTA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzU3OUI5OEVCNjYyRUMxMTkwN0NBNTlEODYxOTkzMDMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OThCRTY3RTVBMDYyRUMxMTkyMEY5OURCNTcyQzVGQUQiIHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD0iREUzRDhDQzFGODE2RDE1QUNBRDY0MTZEQTAyRTc4QjkiLz4gPGNyczpUb25lQ3VydmU+IDxyZGY6U2VxPiA8cmRmOmxpPjAsIDA8L3JkZjpsaT4gPHJkZjpsaT4yNTUsIDI1NTwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvY3JzOlRvbmVDdXJ2ZT4gPGNyczpUb25lQ3VydmVSZWQ+IDxyZGY6U2VxPiA8cmRmOmxpPjAsIDA8L3JkZjpsaT4gPHJkZjpsaT4yNTUsIDI1NTwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvY3JzOlRvbmVDdXJ2ZVJlZD4gPGNyczpUb25lQ3VydmVHcmVlbj4gPHJkZjpTZXE+IDxyZGY6bGk+MCwgMDwvcmRmOmxpPiA8cmRmOmxpPjI1NSwgMjU1PC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9jcnM6VG9uZUN1cnZlR3JlZW4+IDxjcnM6VG9uZUN1cnZlQmx1ZT4gPHJkZjpTZXE+IDxyZGY6bGk+MCwgMDwvcmRmOmxpPiA8cmRmOmxpPjI1NSwgMjU1PC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9jcnM6VG9uZUN1cnZlQmx1ZT4gPGNyczpUb25lQ3VydmVQVjIwMTI+IDxyZGY6U2VxPiA8cmRmOmxpPjAsIDA8L3JkZjpsaT4gPHJkZjpsaT4yNTUsIDI1NTwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvY3JzOlRvbmVDdXJ2ZVBWMjAxMj4gPGNyczpUb25lQ3VydmVQVjIwMTJSZWQ+IDxyZGY6U2VxPiA8cmRmOmxpPjAsIDA8L3JkZjpsaT4gPHJkZjpsaT4yNTUsIDI1NTwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvY3JzOlRvbmVDdXJ2ZVBWMjAxMlJlZD4gPGNyczpUb25lQ3VydmVQVjIwMTJHcmVlbj4gPHJkZjpTZXE+IDxyZGY6bGk+MCwgMDwvcmRmOmxpPiA8cmRmOmxpPjI1NSwgMjU1PC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9jcnM6VG9uZUN1cnZlUFYyMDEyR3JlZW4+IDxjcnM6VG9uZUN1cnZlUFYyMDEyQmx1ZT4gPHJkZjpTZXE+IDxyZGY6bGk+MCwgMDwvcmRmOmxpPiA8cmRmOmxpPjI1NSwgMjU1PC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9jcnM6VG9uZUN1cnZlUFYyMDEyQmx1ZT4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjI2MTUzZDU2LTNjZjQtMzM0NC1iMzMwLTc4MTE4ZGFhNzg3MjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDozNjQ1OTkxMS04NDgyLTdiNDQtYWI2Mi1lYWRiYWE5ZjM0MWM8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NDgzNTdmNjQtOWEyYy1mMjQyLWJhYjctMTUyYjQwYTdiNWNmPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjZjODkwZWNhLTMwOWQtMjc0NC1iZWIyLTA0ZDMyMWU2ZDQ2NTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4ZWJkYzdjNC01MDk2LTA0NGQtOTY4MS05ZjM1ZWIxY2I2ZTk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YjUzMzRiZTMtMGFkNC1lNzRlLWJhMGEtYWQyN2JmNTAzYmQ4PC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo2NDIyZDdjZi1mMzFjLTRmM2EtODM5ZC05ZDNlOWYxMzdkZTQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjlBQkU2N0U1QTA2MkVDMTE5MjBGOTlEQjU3MkM1RkFEPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo5Q0JFNjdFNUEwNjJFQzExOTIwRjk5REI1NzJDNUZBRDwvcmRmOmxpPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSJ3Ij8+/+ICQElDQ19QUk9GSUxFAAEBAAACMEFEQkUCEAAAbW50clJHQiBYWVogB88ABgADAAAAAAAAYWNzcEFQUEwAAAAAbm9uZQAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1BREJFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKY3BydAAAAPwAAAAyZGVzYwAAATAAAABrd3RwdAAAAZwAAAAUYmtwdAAAAbAAAAAUclRSQwAAAcQAAAAOZ1RSQwAAAdQAAAAOYlRSQwAAAeQAAAAOclhZWgAAAfQAAAAUZ1hZWgAAAggAAAAUYlhZWgAAAhwAAAAUdGV4dAAAAABDb3B5cmlnaHQgMTk5OSBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZAAAAGRlc2MAAAAAAAAAEUFkb2JlIFJHQiAoMTk5OCkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABjdXJ2AAAAAAAAAAECMwAAY3VydgAAAAAAAAABAjMAAGN1cnYAAAAAAAAAAQIzAABYWVogAAAAAAAAnBgAAE+lAAAE/FhZWiAAAAAAAAA0jQAAoCwAAA+VWFlaIAAAAAAA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"}},"time_used":199,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":67,"receive":132,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.57291.7208384210f7c33bcce4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.614Z","timestamp":1785129292614,"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.57291.7208384210f7c33bcce4.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a7-9d1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:19:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a415106f6db4d253ac55476d16d08dc1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2513,"size_decoded":1834,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (2511), with no line terminators","md5":"df08a1dd70ffac4f28fcc3d7dbbe08a4","sha1":"7ccdbd9c3c329f4aa7c79c73e2bb3943ea45ebef","sha256":"db9d406f4660f93fca8338121e3f490d121c0d8c145adf7b5255109dd254fc22","sha512":"ddbd2ec7971bce16527fb401f1a3a6162efc2a827a9684ba05c3c7a2453eac89da95cba33f9f32fce00d8e36547421b0446718bda2cf81251f62240f8a342978","ssdeep":"","tlshash":"3d512127d020d5f22f73ca08b792edd675f072a111f2e8da7b4a6f65c25bc5018395b4","first_seen":"2026-07-23T13:38:20.437954Z","last_seen":"2026-07-27T08:08:01.265289Z","times_seen":856,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNzg1OSwzNzg2NSw0MDI0MCw0NzAzMCw1NzE4NCw1NzI5MSw5NDM4OF0sezU1ODQxMihlKXtlLmV4cG9ydHM9WyIlIG9mIEdEUCJdfSw0Njg0NjAoZSl7ZS5leHBvcnRzPVsiJSBvZiBwYXIiXX0sNDQ1MDUoZSl7ZS5leHBvcnRzPVsiRGlzYy4geWllbGQsICUiXX0sODU5OTk0KGUpe2UuZXhwb3J0cz1bIkMiXX0sODkyMzYzKGUpe2UuZXhwb3J0cz1bIkQiXX0sMzk0NTAxKGUpe2UuZXhwb3J0cz1bIkQiXX0sNTcwOTM5KGUpe2UuZXhwb3J0cz1bIkUiXX0sMzk0OTIxKGUpe2UuZXhwb3J0cz1bIkYiXX0sODY2NDQoZSl7ZS5leHBvcnRzPVsiUiJdfSw3NTY0NTcoZSl7ZS5leHBvcnRzPVsiUiJdfSwyNTczMjYoZSl7ZS5leHBvcnRzPVsiUyJdfSw1NTIxNShlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSw2ODUxMDQoZSl7ZS5leHBvcnRzPVsiSG9saWRheSJdfSw2Mzg0MDUoZSl7ZS5leHBvcnRzPVsiSW52YWxpZCBzeW1ib2wiXX0sODk3NTkxKGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCB2aWEgQk9BVFMiXX0sMjc0NDE1KGUpe2UuZXhwb3J0cz1bIkxvYWRpbmciXX0sNzAyNzg4KGUpe2UuZXhwb3J0cz1bIk1hcmtldCBvcGVuIl19LDkxNDU3MihlKXtlLmV4cG9ydHM9WyJNYXJrZXQgY2xvc2VkIl19LDg2NzQ1NShlKXtlLmV4cG9ydHM9WyJQb3N0LW1hcmtldCJdfSw5MTg4NDIoZSl7ZS5leHBvcnRzPVsiUHJlLW1hcmtldCJdfSwzODQ1OTcoZSl7ZS5leHBvcnRzPVsiQ0ZEIl19LDY1NTIzNShlKXtlLmV4cG9ydHM9WyJDcnlwdG8iXX0sMzUwMTQ2KGUpe2UuZXhwb3J0cz1bIkFsbCJdfSw3NjU0NDAoZSl7ZS5leHBvcnRzPVsiQm9uZHMiXX0sNTQ4MzIyKGUpe2UuZXhwb3J0cz1bIkVjb25vbXkiXX0sOTc5OTcoZSl7ZS5leHBvcnRzPVsiRm9yZXgiXX0sNTA1MDc5KGUpe2UuZXhwb3J0cz1bIkZ1dHVyZXMiXX0sNTY0OTE3KGUpe2UuZXhwb3J0cz1bIkZ1bmRzIl19LDkyNzQxMShlKXtlLmV4cG9ydHM9WyJJbmRpY2VzIl19LDc5NjAwKGUpe2UuZXhwb3J0cz1bIk9wdGlvbnMiXX0sNTU1NTEwKGUpe2UuZXhwb3J0cz1bIlN0b2NrcyJdfSw1NzA2MihlKXtlLmV4cG9ydHM9WyJOL0EiXX0sMTExOTc2KGUpe2UuZXhwb3J0cz1bIjEgeWVhciJdfSwzMjgwMzAoZSl7ZS5leHBvcnRzPVsiMyBtb250aHMiXX0sMTk0MTk0KGUpe2UuZXhwb3J0cz1bIkNvbm5lY3RpbmciXX0sODY4ODEwKGUpe2UuZXhwb3J0cz1bIkJpbGxlZCBldmVyeSBtb250aC4iXX0sOTEzOTU1KGUpe2UuZXhwb3J0cz1bIkJpbGxlZCBldmVyeSB5ZWFyLiJdfSwyMjk1MjUoZSl7ZS5leHBvcnRzPVsiRGVsYXllZCJdfSw2MDE3NjQoZSl7ZS5leHBvcnRzPVsiRW5kIG9mIERheSJdfSw5Njg4MTUoZSl7ZS5leHBvcnRzPVsiRnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSwzMjgzMTMoZSl7ZS5leHBvcnRzPVsiSW5zdHJ1bWVudCBpcyBub3QgYWxsb3dlZCJdfSw1NjIzOTUoZSl7ZS5leHBvcnRzPVsiU25hcHNob3QiXX0sODUwMjk4KGUpe2UuZXhwb3J0cz1bIlNlY29uZCBmcmFjdGlvbiBwYXJ0IGlzIGludmFsaWQuIl19LDk5MjM2MihlKXtlLmV4cG9ydHM9WyJTdHVkaWVzIGxpbWl0IGV4Y2VlZGVkOiB7bnVtYmVyfSBzdHVkaWVzIHBlciBsYXlvdXQuXG5QbGVhc2UsIHJlbW92ZSBzb21lIHN0dWRpZXMuIl19LDYxNjE4KGUpe2UuZXhwb3J0cz1bIlByaWNlIGZvcm1hdCBpcyBpbnZhbGlkLiJdfSw4MTQ2MShlKXtlLmV4cG9ydHM9WyJRdW90ZXMgYXJlIGRlbGF5ZWQgYnkge251bWJlcn0gbWluIl19LDc5MDUyNChlKXtlLmV4cG9ydHM9WyJRdW90ZXMgYXJlIGRlbGF5ZWQgYnkge251bWJlcn0gbWluIGFuZCB1cGRhdGVkIGV2ZXJ5IDMwIHNlY29uZHMiXX0sODgzOTI4KGUpe2UuZXhwb3J0cz1bIlJlYWwtdGltZSJdfSw5NzcyNyhlKXtlLmV4cG9ydHM9WyJSZXBsYXkgTW9kZSJdfSw5MzcwMTcoZSl7ZS5leHBvcnRzPVsiV2FybmluZyJdfSw3ODg0NDQoZSl7ZS5leHBvcnRzPVsiVGhpcyBzeW1ib2wgaXMgb25seSBhdmFpbGFibGUgb24gVHJhZGluZ1ZpZXciXX0sNTE3ODU5KGUpe2UuZXhwb3J0cz1bIlZpc2l0IFRyYWRpbmdWaWV3IOKAlCBmaW5hbmNpYWwgY2hhcnRpbmcgcGxhdGZvcm0gYW5kIHRyYWRpbmcgY29tbXVuaXR5Il19LDcyMTExOChlKXtlLmV4cG9ydHM9WyJhbm51YWxseSJdfSw2NTM2OShlKXtlLmV4cG9ydHM9WyJiaWxsZWQgbW9udGhseSJdfSwyNjAxOTMoZSl7ZS5leHBvcnRzPVsiYmlsbGVkIGFubnVhbGx5Il19LDU1NjU2OChlKXtlLmV4cG9ydHM9WyJtb250aGx5Il19LDg2Mzg1MihlKXtlLmV4cG9ydHM9WyJ0aHJlZSBtb250aHMiXX0sODM1OChlKXtlLmV4cG9ydHM9WyJ0cmlhbCJdfSwxNTM3NjYoZSl7ZS5leHBvcnRzPVsie3Byb1BsYW5OYW1lfSBUcmlhbCJdfSwzMjM0ODUoZSl7ZS5leHBvcnRzPVsibW9udGgiLCJtb250aHMiXX0sNDQyNjY2KGUpe2UuZXhwb3J0cz1bInllYXIiLCJ5ZWFycyJdfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/EU.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.912Z","timestamp":1785129292912,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /country/EU.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"e9173ef4613c3da43c45885ea39c4b96\"\r\nlast-modified: Wed, 08 Sep 2021 09:01:40 GMT\r\ncdn-cachedat: 08/14/2025 09:10:20\r\nx-amz-id-2: IGvrac7MqHxUh1QiyHa7TlaNCW1ovet751MtaKlEOhnFUg/Ve+TJ7dFFdzEvBETD3+Js36nYc2s=\r\nx-amz-request-id: ECGH90GHNAD03QXR\r\nx-amz-meta-hash: e9173ef4613c3da43c45885ea39c4b96\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d0328029bd17ca5f001854977364a39a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":870,"size_decoded":1356,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (870), with no line terminators","md5":"e9173ef4613c3da43c45885ea39c4b96","sha1":"218b28ec16584e3f2326b778d3cca1d5c6a682d1","sha256":"b47993af3ef9963a193ddc9d0bd10fc8f1f773fe0881ffa3c8d2151498fccf03","sha512":"00d7715020d6aff8cb33c0816f82fad776e93a11839ebf322e782d322c40e34b5f38cd0ec5fc20f5b9539d398fb7fe2a790779eabe23b473da197bead805c302","ssdeep":"","tlshash":"f8115c6b4308d6384885ca21edb658052653bcfaa8ce2adff1969960b5478c7b400f18","first_seen":"2023-04-19T07:58:06Z","last_seen":"2026-07-27T08:08:00.925796Z","times_seen":5834,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0wIDBoMTh2MThIMFYweiIgZmlsbD0iIzE1NjVDMCIvPjxwYXRoIGQ9Ik04Ljk1IDJsLjM3IDEuMTRoMS4ybC0uOTcuNy4zNyAxLjE0LS45Ny0uNy0uOTYuNy4zNi0xLjEzLS45Ni0uN2gxLjJMOC45NCAyek00LjA0IDQuMDRsMS4wNy41NC44NC0uODQtLjE4IDEuMTggMS4wNi41NC0xLjE4LjE5LS4xOSAxLjE4LS41NC0xLjA2LTEuMTguMTguODQtLjg0LS41NC0xLjA3ek0yIDguOTVsMS4xNC0uMzd2LTEuMmwuNy45N0w0Ljk5IDhsLS43Ljk2LjcuOTctMS4xMy0uMzctLjcuOTd2LTEuMkwyIDguOTV6TTQuMDQgMTMuODZsLjU0LTEuMDYtLjg0LS44NSAxLjE4LjE5LjU0LTEuMDcuMTkgMS4xOSAxLjE4LjE4LTEuMDYuNTUuMTggMS4xOC0uODQtLjg1LTEuMDcuNTR6TTguOTUgMTUuOWwtLjM3LTEuMTRoLTEuMmwuOTctLjdMOCAxMi45MmwuOTYuNy45Ny0uNy0uMzcgMS4xNC45Ny43aC0xLjJsLS4zNyAxLjE0ek0xMy44NiAxMy44NmwtMS4wNi0uNTQtLjg1Ljg1LjE5LTEuMTgtMS4wNy0uNTUgMS4xOS0uMTguMTgtMS4xOS41NSAxLjA3IDEuMTgtLjE5LS44NS44NS41NCAxLjA2ek0xNS45IDguOTVsLTEuMTQuMzd2MS4ybC0uNy0uOTctMS4xNC4zNy43LS45Ny0uNy0uOTYgMS4xNC4zNi43LS45NnYxLjJsMS4xNC4zNnpNMTMuODYgNC4wNGwtLjU0IDEuMDcuODUuODQtMS4xOC0uMTgtLjU1IDEuMDYtLjE4LTEuMTgtMS4xOS0uMTkgMS4wNy0uNTQtLjE5LTEuMTguODUuODQgMS4wNi0uNTR6IiBmaWxsPSIjRkREODM1Ii8+PC9zdmc+"}},"time_used":50,"timings":{"blocked":-1,"dns":17,"connect":21,"send":0,"wait":2,"receive":-1,"ssl":9},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.google.com/gen204?sl=en\u0026nca=te_ap\u0026client=te\u0026logld=vTE_20260722","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:53.031Z","timestamp":1785129293031,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /gen204?sl=en\u0026nca=te_ap\u0026client=te\u0026logld=vTE_20260722 HTTP/1.1\r\nHost: translate.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\ncontent-type: image/gif; charset=utf-8\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 05:14:53 GMT\r\ncross-origin-resource-policy: cross-origin\r\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncontent-security-policy: script-src 'nonce-j4J0-1M8QiWpN60LXC60hg' 'unsafe-inline';object-src 'none';base-uri 'self';report-uri /_/TranslateApiHttp/cspreport;worker-src 'self', require-trusted-types-for 'script';report-uri /_/TranslateApiHttp/cspreport\r\naccept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Model, Sec-CH-UA-WoW64, Sec-CH-UA-Form-Factors, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\ncross-origin-opener-policy: same-origin\r\nreporting-endpoints: default=\"/_/TranslateApiHttp/web-reports?context=eJzj4tDikmJw1pBiEOLmOHtp9mU2gRvP73spKSXlF8aXFCXmFecklqQWpxaVpRbFGxkYmRmYGxnpGRjHFxgAACBtEuQ\"\r\nserver: ESF\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nset-cookie: __Secure-ENID=35.SE=N7CROpRcjFNUSkuHH7CGGfo_2x2qynCY3aEQ6xYb03y1uweRqlVhnwlWs1dhLw4fQPGVHrb_17iOSS8jmQOcfw5jZa_wxZt58CpTcpNH9zyha5V9qvzZr-Npiyk8fGrS8RLr2X_-vfeqVWm1iJ91Bhly-LEcyH7DKWkGfqbNQAZPSBYTSA-6RQhpTCTaeB69oZif_y8GrtFW-ZpaulT1jKo7Y0oCjcJsFB2VsqNr9w4; expires=Thu, 26-Aug-2027 21:33:11 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"image/gif; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T08:08:41.31747Z","times_seen":17559137,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-CgMCAfor.js","fqdn":"widget-v3.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":"script","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:55.875Z","timestamp":1785129295875,"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-CgMCAfor.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://crystal-exploits.org\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 05:14:55 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-42705\"\r\nexpires: Wed, 07 Jul 2027 08:30:00 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: kxJjm6lGiJI+gQql47Pwk29rRX5PKtpyzx2dthuwUtUeLXvV5MdPTFy6FvwJeoqzTm8VbfI\r\nx-77-nzt-ray: fdb54123f653fc6c4fe9666a37695534\r\nx-77-cache: HIT\r\nx-77-age: 1716252\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":92592,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (44710)","md5":"06c5668b0e6d3383e096c45abdbedf9d","sha1":"8d64309e8ec50da59f799336c11685ca7fd15ecc","sha256":"2724b50edb69a23cc951a77f775727b960c857d18d58cfa9a47fe5c094d9b99a","sha512":"c4a86d25f4e86be36db19539b4e3efc70500a48b9664349043d76a1451f8536c8bed7fe22f8ca790fb3ac7e26fa7efbfc37e0c927687966dc08a02442e15f85c","ssdeep":"6144:mLjnOEIL18ad2jJKaQo+tRkYcuBaay+moJG:iOEIZRd29lqj4n+moY","tlshash":"53443ad53294b035439b51e6906f1106f33e5c58580d812cf269ede678baec8a2f7fb8","first_seen":"2026-07-07T11:50:17.748529Z","last_seen":"2026-07-27T07:27:47.884385Z","times_seen":1867,"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/bix2YXJpYWJsZXM6dS52YXJpYWJsZXMsd2lkZ2V0VmVyc2lvbjpgMy4wYCx2aXNpdHM6dHMoKSxpc1dpZGdldFZpc2libGU6QShSXyksaXNXaWRnZXRPcGVuOkEoWCkscGFnZVVybDpobChyLGMpLHBhZ2VUaXRsZTpmbygpLmRvY3VtZW50LnRpdGxlLGRvbWFpbjpmbygpLmxvY2F0aW9uLmhvc3RuYW1lfHxgdW5rbm93bmAscmVmZXJlcjpmbygpLmRvY3VtZW50LnJlZmVycmVyLGJ1bmRsZVZlcnNpb246YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2FgfX0seWw9KGUsdCk9PntsZXR7aXNQcmV2aWV3TW9kZTpufT1WLmdldE9wdGlvbnMoKTshZSYmdCE9PUEoZmwpJiYhbiYmKGdsKCksQShYKSYmWC5zZXQoITEpKSxmbC5zZXQodCl9LGJsPSgoKT0+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+ZS5yZW1vdmVFdmVudExpc3RlbmVyKGBwb3BzdGF0ZWAsdCkpKX0saF89KCk9PntsZXQgZT1CKCkuX3NtYXJ0c3VwcHx8e307ZS5hcHBWZXJzaW9uPWAwLjAuMWAsZS5jb21taXRIYXNoPWBjMDZkNDVjMzNlMDk5OGVmMmQzMDQ2MmZiNTc4Nzk2MzNjMWRmNWNhYCxlLmNvbW1pdEluZm89YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2EgLSBNZXJnZSBwdWxsIHJlcXVlc3QgIzQ1MiBmcm9tIHNtYXJ0c3VwcC9kZXZlbG9wIC0gMjAyNi0wNy0wNyAxMDoyMjoyOCArMDIwMGAsQigpLl9zbWFydHN1cHA9ZX0sZ189KGU9amcuRGVmYXVsdCk9PntsZXR7d2lkZ2V0VjNVcmw6dH09Vi5nZXRPcHRpb25zKCksbj1uZXcgQXVkaW8oYCR7dH0vYXNzZXRzL3NvdW5kcy8ke2V9YCk7cmV0dXJuIG4uY3Jvc3NPcmlnaW49YGFub255bW91c2Asbi5sb2FkKCksbn0sX189ZT0+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+e3BiKGUsdCkmJklnLnNldCh0KX0sWmI9KGUsdCk9PntfYihlLHQpJiZxLnJlbG9hZENsaWVudCh0KX0sUWI9KGUsdCk9PntwYihlLHQpJiZxLnJlbG9hZENsaWVudCh2b2lkIDAsdCl9LCRiPShlLHQpPT57aWYoIXZiKGUsdCkpcmV0dXJuO2xldHtpZDpuLC4uLnJ9PXQ7JGwudXBkYXRlSWRlbnRpdHkobixyKX0sZXg9e3ZlcnNpb246YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2FgLGV4ZWN1dGU6ZT0+e2xldCB0PWVbMF07aWYodHlwZW9mIHQ9PWBmdW5jdGlvbmApe3J4KHQpO3JldHVybn1pZighZGIodCkpe2JiKFN0cmluZyh0KSk7cmV0dXJufW54KHQsZVsxXSwuLi5lLnNsaWNlKDIpKX0sZXhlYzpmdW5jdGlvbiguLi5lKXt0aGlzLmV4ZWN1dGUoZSl9fSx0eD17WyQuQ2hhdE9wZW5dOkRiLFskLkNoYXRDbG9zZV06T2IsWyQuQ2hhdFNob3ddOmtiLFskLkNoYXRIaWRlXTpBYixbJC5DaGF0TWVzc2FnZV06TmIsWyQuQ2hhdFNlbmRdOlBiLFskLkxhbmd1YWdlXTpqYixbJC5UaGVtZUNvbG9yXTpNYixbJC5IZWFkZXJTdHlsZV06SmIsWyQuT25dOkZiLFskLlZhcmlhYmxlc106SWIsWyQuQ29udGFjdERhdGFdOnpiLFskLk5hbWVdOkxiLFskLkdyb3VwXTpSYixbJC5FbWFpbF06TGIsWyQuUGhvbmVdOkxiLFskLkFuYWx5dGljc0NvbnNlbnRdOkJiLFskLk1hcmtldGluZ0NvbnNlbnRdOlZiLFskLkh0bWxBcHBseV06bnVsbCxbJC5PcGVuUmF0ZUZvcm1dOkhiLFskLk9wZW5BdXRoRm9ybV06VWIsWyQuV2lkZ2V0U3RhdHVzXTpXYixbJC5UcmFuc2xhdGlvbnNdOkdiLFskLkF1dGhGb3JtRmllbGRzXTpLYixbJC5CdXR0b25TdHlsZV06cWIsWyQuUHJldmlld1RyYW5zbGF0ZV06WWIsWyQuRGlzYWJsZUNvbm5lY3Rpb25TdGF0dXNdOlhiLFskLlJlbG9hZFdpdGhNb2NrRGF0YV06WmIsWyQuUmVsb2FkXTpRYixbJC5Cb3RJZGVudGl0eVVwZGF0ZV06JGJ9LG54PShlLHQsLi4ubik9PntsZXQgcj10eFtlXTtpZihyPT09dm9pZCAwKXtiYihlKTtyZXR1cm59ciE9PW51bGwmJihyKGUsdCwuLi5uKSx2byhg8J+nmeKAjeKZgu+4j1tBUEldICR7ZX0ke3Q/YDpgOmBgfWAsdD8/YGApKX0scng9ZT0+e0EoQ18pP2UoKTpYbC5wdXNoKGUpfTt0eXBlb2Ygd2luZG93PGB1YCYmKCh3aW5kb3cuX19zdmVsdGU/Pz17fSkudj8/PW5ldyBTZXQpLmFkZChgNWApO3ZhciBpeD1lPT5lO2Z1bmN0aW9uIGF4KGUpe2xldCB0PWUtMTtyZXR1cm4gdCp0KnQrMX1mdW5jdGlvbiBveChlKXtsZXQgdD10eXBlb2YgZT09YHN0cmluZ2AmJmUubWF0Y2goL15ccyooLT9bXGQuXSspKFteXHNdKilccyokLyk7cmV0dXJuIHQ/W3BhcnNlRmxvYXQodFsxXSksdFsyXXx8YHB4YF06W2UsYHB4YF19ZnVuY3Rpb24gc3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWl4fT17fSl7bGV0IGk9K2dldENvbXB1dGVkU3R5bGUoZSkub3BhY2l0eTtyZXR1cm57ZGVsYXk6dCxkdXJhdGlvbjpuLGVhc2luZzpyLGNzczplPT5gb3BhY2l0eTogJHtlKml9YH19ZnVuY3Rpb24gY3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHg6aT0wLHk6YT0wLG9wYWNpdHk6bz0wfT17fSl7bGV0IHM9Z2V0Q29tcHV0ZWRTdHlsZShlKSxjPStzLm9wYWNpdHksbD1zLnRyYW5zZm9ybT09PWBub25lYD9gYDpzLnRyYW5zZm9ybSx1PWMqKDEtbyksW2QsZl09b3goaSksW3AsbV09b3goYSk7cmV0dXJue2RlbGF5OnQsZHVyYXRpb246bixlYXNpbmc6cixjc3M6KGUsdCk9PmAKCQkJdHJhbnNmb3JtOiAke2x9IHRyYW5zbGF0ZSgkeygxLWUpKmR9JHtmfSwgJHsoMS1lKSpwfSR7bX0pOwoJCQlvcGFjaXR5OiAke2MtdSp0fWB9fWZ1bmN0aW9uIGx4KGUse2RlbGF5OnQ9MCxkdXJhdGlvbjpuPTQwMCxlYXNpbmc6cj1heCxheGlzOmk9YHlgfT17fSl7bGV0IGE9Z2V0Q29tcHV0ZWRTdHlsZShlKSxvPSthLm9wYWNpdHkscz1pPT09YHlgP2BoZWlnaHRgOmB3aWR0aGAsYz1wYXJzZUZsb2F0KGFbc10pLGw9aT09PWB5YD9bYHRvcGAsYGJvdHRvbWBdOltgbGVmdGAsYHJpZ2h0YF0sdT1sLm1hcChlPT5gJHtlWzBdLnRvVXBwZXJDYXNlKCl9JHtlLnNsaWNlKDEpfWApLGQ9cGFyc2VGbG9hdChhW2BwYWRkaW5nJHt1WzBdfWBdKSxmPXBhcnNlRmxvYXQoYVtgcGFkZGluZyR7dVsxXX1gXSkscD1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVswXX1gXSksbT1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVsxXX1gXSksaD1wYXJzZUZsb2F0KGFbYGJvcmRlciR7dVswXX1XaWR0aGBdKSxnPXBhcnNlRmxvYXQoYVtgYm9yZGVyJHt1WzFdfVdpZHRoYF0pO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOmU9PmBvdmVyZmxvdzogaGlkZGVuO29wYWNpdHk6ICR7TWF0aC5taW4oZSoyMCwxKSpvfTske3N9OiAke2UqY31weDtwYWRkaW5nLSR7bFswXX06ICR7ZSpkfXB4O3BhZGRpbmctJHtsWzFdfTogJHtlKmZ9cHg7bWFyZ2luLSR7bFswXX06ICR7ZSpwfXB4O21hcmdpbi0ke2xbMV19OiAke2UqbX1weDtib3JkZXItJHtsWzBdfS13aWR0aDogJHtlKmh9cHg7Ym9yZGVyLSR7bFsxXX0td2lkdGg6ICR7ZSpnfXB4O21pbi0ke3N9OiAwYH19ZnVuY3Rpb24gdXgoZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHN0YXJ0Omk9MCxvcGFjaXR5OmE9MH09e30pe2xldCBvPWdldENvbXB1dGVkU3R5bGUoZSkscz0rby5vcGFjaXR5LGM9by50cmFuc2Zvcm09PT1gbm9uZWA/YGA6by50cmFuc2Zvcm0sbD0xLWksdT1zKigxLWEpO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOihlLHQpPT5gCgkJCXRyYW5zZm9ybTogJHtjfSBzY2FsZSgkezEtbCp0fSk7CgkJCW9wYWNpdHk6ICR7cy11KnR9CgkJYH19YXQoKTt2YXIgZHg9d2koYDxkaXY+PC9kaXY+YCk7ZnVuY3Rpb24gZngoZSx0KXtsdCh0LCEwKTtsZXQgbj1vbyh0LGBoZWlnaHRgLDMsMjApLHI9b28odCxgd2lkdGhgLDMsYDEwMCVgKSxpPW9vKHQsYGNvbG9yU2NoZW1lYCwzLGBncmF5YCksYT1vbyh0LGByb3VuZGVkU3R5bGVgLDMsYHJvdW5kZWQtZnVsbGApLG89Zm4oKCk9PmAke2EoKX0gYW5pbWF0ZS1wdWxzZWApO3ZhciBzPWR4KCk7bGV0IGM7cHIoZT0+e2JhKHMsMSxtYShbUihvKSxpKCk9PT1gZ3JheWAmJmBiZy1ncmF5LTIwMGAsaSgpPT09YGRhcmtHcmF5YCYmYGJnLWdyYXktMzAwYF0pKSxjPVNhKHMsYGAsYyxlKX0sWygpPT4oe2hlaWdodDpteShuKCkpLHdpZHRoOkZ1KHIoKSk/bXkocigpKTpyKCl9KV0pLGtpKGUscyksdXQoKX1mdW5jdGlvbiBweChlLHQpe2xldCBuPW9vKHQsYHNpemVgLDMsMjApO2Z4KGUse2NvbG9yU2NoZW1lOmBkYXJrR3JheWAsZ2V0IHdpZHRoKCl7cmV0dXJuIG4oKX0sZ2V0IGhlaWdodCgpe3JldHVybiBuKCl9fSl9dmFyIG14PUVpKGA8c3ZnPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTE4IDZMNiAxOE02IDZsMTIgMTIiPjwvcGF0aD48L3N2Zz5gKTtmdW5jdGlvbiBoeChlLHQpe2xldCBuPXJvKHQsW2AkJHNsb3RzYCxgJCRldmVudHNgLGAkJGxlZ2FjeWBdKTt2YXIgcj1teCgpO1ZhKHIsKCk9Pih7dmlld0JveDpgMCAwIDI0IDI0YCx3aWR0aDpgMS4yZW1gLGhlaWdodDpgMS4yZW1gLC4uLm59KSksa2koZSxyKX12YXIgZ3g9d2koYDxidXR0b24gdHlwZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PGRpdj48IT48L2Rpdj48L2J1dHRvbj5gKTtmdW5jdGlvbiBfeChlLHQpe2x0KHQsITApO2xldCBuPW9vKHQsYGljb25PcmllbnRhdGlvbmAsMyxgcmlnaHRgKSxyPW9vKHQsYGljb25BbmltYXRpb25gLDMsYG5vbmVgKSxpPW9vKHQsYGljb25TY2FsZWAsMywhMSksYT1vbyh0LGBzaXplYCwzLGBtZGApLG89b28odCxgdmFyaWFudGAsMyxgZ2hvc3RgKSxzPW9vKHQsYGZvY3VzYCwzLGBwcmltYXJ5YCksYz1mbigoKT0+bigpPT09YHJpZ2h0YD8xOi0xKSxsPWZuKCgpPT5pKCk/MS40OjEuMiksdT1mbigoKT0+dC5pY29uKSxkPWU9PntlLnN0b3BQcm9wYWdhdGlvbigpLHQub25DbGljayYmdC5vbkNsaWNrKGUpfTt2YXIgZj1neCgpLHA9Vm4oZik7JGkoVm4ocCksKCk9PlIodSksKGUsdCk9Pnt0KGUse3dpZHRoOmAxZW1gLGhlaWdodDpgMWVtYH0pfSksWGUocCksWGUoZikscHIoZT0+e2JhKGYsMSxlLGBzdmVsdGUteXdvZm1sYCksZi5kaXNhYmxlZD10LmRpc2FibGVkLHphKGYsYGRhdGEtdGVzdGlkYCx0LnRlc3RJZCksemEoZixgYXJpYS1sYWJlbGAsdC5pY29uRGVzY3JpcHRpb24pLHphKGYsYGFyaWEtZGlzYWJsZWRgLHQuZGlzYWJsZWQpLGJhKHAsMSxtYShbYHctZnVsbCBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJgLHIoKT09PWBzcGluYCYmYGFuaW1hdGUtc3BpbmBdKSksU2EocCxgdHJhbnNmb3JtOiBzY2FsZSgke1IobCl9KSBzY2FsZVgoJHtSKGMpfSk7YCl9LFsoKT0+bWEoW2BidG4gYnRuLSR7bygpfSBidG4tJHthKCl9YCwhIXQuZGlzYWJsZWQmJmBidG4tZGlzYWJsZWRgLGlzKCk/YGN1cnNvci1hdXRvYDpgY3Vyc29yLXBvaW50ZXJgLHMoKT09PWBwcmltYXJ5YCYmYGJ1dHRvbi1mb2N1c2AscygpPT09YHNlY29uZGFyeWAmJmBidXR0b24tZm9jdXMtc2Vjb25kYXJ5YF0pXSksZ2koYGNsaWNrYCxmLGQpLGtpKGUsZiksdXQoKX1faShbYGNsaWNrYF0pO2V4cG9ydHtkXyBhcyAkLGp0IGFzICRpLFNsIGFzICRuLGFvIGFzICRyLCRmIGFzICR0LCRfIGFzIEEsZ2kgYXMgQWksc2QgYXMgQW4sc3MgYXMgQXIsVGggYXMgQXQsS18gYXMgQixWbiBhcyBCaSxVdSBhcyBCbixqbyBhcyBCcixIcCBhcyBCdCxGeSBhcyBDLElpIGFzIENpLF9kIGFzIENuLGJzIGFzIENyLHpoIGFzIEN0LG95IGFzIEQsRWkgYXMgRGksbmQgYXMgRG4sX3MgYXMgRHIsTWggYXMgRHQsbXkgYXMgRSx3aSBhcyBFaSxlZCBhcyBFbixocyBhcyBFcixGaCBhcyBFdCxKXyBhcyBGLCRyIGFzIEZpLEt1IGFzIEZuLHpvIGFzIEZyLFpwIGFzIEZ0LE9fIGFzIEcsVG4gYXMgR2ksJGwgYXMgR24scG8gYXMgR3IsenAgYXMgR3QsTl8gYXMgSCxVbiBhcyBIaSxMdSBhcyBIbix5byBhcyBIcixNcCBhcyBIdCxYIGFzIEkscHIgYXMgSWksWXUgYXMgSW4sVm8gYXMgSXIsWXAgYXMgSXQsbV8gYXMgSixwbiBhcyBKaSxIbCBhcyBKbix6IGFzIEpyLFJwIGFzIEp0LGdfIGFzIEssQ24gYXMgS2ksWWwgYXMgS24sQiBhcyBLcixKIGFzIEt0LEdfIGFzIEwsb3IgYXMgTGkscXUgYXMgTG4sQm8gYXMgTHIsWHAgYXMgTHQscnYgYXMgTSxwaSBhcyBNaSxpZCBhcyBNbixhcyBhcyBNcixFaCBhcyBNdCxZXyBhcyBOLFIgYXMgTmksWnUgYXMgTm4saXMgYXMgTnIsaWggYXMgTnQsYXkgYXMgTyxEaSBhcyBPaSxsZCBhcyBPbixscyBhcyBPcixraCBhcyBPdCxXXyBhcyBQLFhyIGFzIFBpLEd1IGFzIFBuLEpvIGFzIFByLGFtIGFzIFB0LGlfIGFzIFEsUHQgYXMgUWksd2wgYXMgUW4scm8gYXMgUXIsT3AgYXMgUXQsVV8gYXMgUixjciBhcyBSaSxXdSBhcyBSbixVIGFzIFJyLFdwIGFzIFJ0LFB5IGFzIFMsamkgYXMgU2ksZ2QgYXMgU24seXMgYXMgU3IsYWcgYXMgU3QsZ3kgYXMgVCxPaSBhcyBUaSx1ZCBhcyBUbixmcyBhcyBUcixJaCBhcyBUdCxqXyBhcyBVLGpuIGFzIFVpLE11IGFzIFVuLFYgYXMgVXIsQnAgYXMgVXQsTV8gYXMgVixIbiBhcyBWaSxWdSBhcyBWbixIIGFzIFZyLFZwIGFzIFZ0LERfIGFzIFcsd24gYXMgV2kscSBhcyBXbix2byBhcyBXcixGcCBhcyBXdCxzXyBhcyBYLE10IGFzIFhpLFJsIGFzIFhuLHNvIGFzIFhyLElwIGFzIFh0LHBfIGFzIFksZm4gYXMgWWksVyBhcyBZbixjbyBhcyBZcixQcCBhcyBZdCxhXyBhcyBaLEF0IGFzIFppLENsIGFzIFpuLG9vIGFzIFpyLGtwIGFzIFp0LFJ5IGFzIF8sR2kgYXMgX2ksVGQgYXMgX24sTmMgYXMgX3IsdWcgYXMgX3Qsc3ggYXMgYSxsdCBhcyBhYSxWYSBhcyBhaSxCZiBhcyBhbixsbCBhcyBhcixVZyBhcyBhdCxOeSBhcyBiLFJpIGFzIGJpLHlkIGFzIGJuLENzIGFzIGJyLGlnIGFzIGJ0LGx4IGFzIGMsWGUgYXMgY2EsVGEgYXMgY2ksU2YgYXMgY24sUWMgYXMgY3IsVmcgYXMgY3QsSHkgYXMgZCxtYSBhcyBkaSxHZCBhcyBkbixXYyBhcyBkcixOZyBhcyBkdCxrIGFzIGVhLGVvIGFzIGVpLGVwIGFzIGVuLGJsIGFzIGVyLG9fIGFzIGV0LHp5IGFzIGYsdWEgYXMgZmksVmQgYXMgZm4sR2MgYXMgZnIsT2cgYXMgZnQsR3kgYXMgZyxaaSBhcyBnaSx3ZCBhcyBnbixCYyBhcyBncix5ZyBhcyBndCxWeSBhcyBoLFFpIGFzIGhpLEVkIGFzIGhuLHpjIGFzIGhyLFRnIGFzIGh0LGZ4IGFzIGksdXQgYXMgaWEscWEgYXMgaWksRmYgYXMgaW4sc2wgYXMgaXIsdF8gYXMgaXQsaXYgYXMgaixoaSBhcyBqaSxmZCBhcyBqbix1cyBhcyBqcixEaCBhcyBqdCxldiBhcyBrLF9pIGFzIGtpLGNkIGFzIGtuLGNzIGFzIGtyLE9oIGFzIGt0LGV4IGFzIGwseCBhcyBsYSxTYSBhcyBsaSxiZiBhcyBsbixVYyBhcyBscixMZyBhcyBsdCxxeSBhcyBtLCRpIGFzIG1pLHpkIGFzIG1uLFZjIGFzIG1yLERnIGFzIG10LGh4IGFzIG4sTyBhcyBuYSxZYSBhcyBuaSxxZiBhcyBubix1bCBhcyBucixjXyBhcyBudCxjeCBhcyBvLGN0IGFzIG9hLHphIGFzIG9pLHpmIGFzIG9uLG9sIGFzIG9yLEhnIGFzIG90LFd5IGFzIHAsY2EgYXMgcGksSGQgYXMgcG4sSGMgYXMgcHIsRWcgYXMgcHQsaF8gYXMgcSxPbiBhcyBxaSxLbCBhcyBxbixtbyBhcyBxcixOcCBhcyBxdCxweCBhcyByLHN0IGFzIHJhLEphIGFzIHJpLFVmIGFzIHJuLGNsIGFzIHJyLGxfIGFzIHJ0LHV4IGFzIHMsWmUgYXMgc2EsTGEgYXMgc2ksRGYgYXMgc24sbmwgYXMgc3IsQmcgYXMgc3QsX3ggYXMgdCxBIGFzIHRhLCRhIGFzIHRpLFRwIGFzIHRuLGRsIGFzIHRyLHJfIGFzIHR0LEx5IGFzIHUsdSBhcyB1YSxiYSBhcyB1aSxSZCBhcyB1bixLYyBhcyB1cixGZyBhcyB1dCxKeSBhcyB2LFZpIGFzIHZpLFNkIGFzIHZuLFBjIGFzIHZyLHJnIGFzIHZ0LER5IGFzIHcsa2kgYXMgd2ksJHUgYXMgd24sZ3MgYXMgd3IsTGggYXMgd3QsSXkgYXMgeCxNaSBhcyB4aSx4ZCBhcyB4bix4cyBhcyB4cixvZyBhcyB4dCxNeSBhcyB5LEJpIGFzIHlpLGJkIGFzIHluLE1jIGFzIHlyLFZoIGFzIHl0LFZfIGFzIHosWG4gYXMgemksSHUgYXMgem4sTG8gYXMgenIsVXAgYXMgenR9OwovLyMgc291cmNlTWFwcGluZ1VSTD1zaGFyZWQtQ2dNQ0Fmb3IuanMubWFw"}},"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":"fonts.googleapis.com/css?family=Allura","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.927Z","timestamp":1785129291927,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /css?family=Allura 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://crystal-exploits.org/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 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 05:14:52 GMT\r\ndate: Mon, 27 Jul 2026 05:14:52 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\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":1155,"size_decoded":1106,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"07d4de2e0e43ccc2191d5ecab7c2827b","sha1":"2161807be98219085ac744dc30a6f686391e5c39","sha256":"342bc46245409dcff066a0e7996fe64d53d475b347459d607c7c94293ab6a883","sha512":"a642ef8f79f66efb71c2732eafa31af29c90c1e1256b0762e129672213f746c7641d274f77ba01cccc885ff1996ec893beeacc16d74789a317d513358d6b088c","ssdeep":"","tlshash":"2621bed60526910497431dca22de7d359d4ff1986440e435affe1889ac6ed22632671d","first_seen":"2025-09-05T14:40:44.504918Z","last_seen":"2026-07-27T05:48:43.304043Z","times_seen":274,"resource_available":false,"data":"LyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0FsbHVyYSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2FsbHVyYS92MjMvOW9SUE5Zc1FwUzR6anVBX2hBZ1dEdG8ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdBbGx1cmEnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9hbGx1cmEvdjIzLzlvUlBOWXNRcFM0emp1QV9oUWdXRHRvLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdBbGx1cmEnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9hbGx1cmEvdjIzLzlvUlBOWXNRcFM0emp1QV9pd2dXLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0K"}},"time_used":323,"timings":{"blocked":-1,"dns":0,"connect":18,"send":0,"wait":31,"receive":0,"ssl":36},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/js/plugins.min.js","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.942Z","timestamp":1785129291942,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /js/plugins.min.js HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Wed, 04 May 2022 16:05:14 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 387851\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":2070825,"size_decoded":388090,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (574)","md5":"e53991cd467f1430fba30ab39aa4a374","sha1":"14638e190d18c4f89d2f36ea7b78f4717e063b6c","sha256":"f9f61d011ab3bde0e21232a93fd85808614b7b04110293eaf27f11851929c860","sha512":"38482ed8ff8fd418d5fa6ab03b46bd18bb9e49c132a31370f2af28133ba8b32112814f023acbc4ebfdddaeb32ae4d2cdd0800a2d01cbd7db7439f21992642ce8","ssdeep":"24576:v5qgEhCd/X9zYw0rRSt3FK7Y7sionSzQpe8s8PEp/gkMe4926r:v5qgEhCd/X9zYw0rRSt3FK7Y7sionSzg","tlshash":"0b25944a7be124359257f03a9d6fcc087236a45b2b4aad057a4c52e41f1887c53faff8","first_seen":"2025-09-22T10:43:48.559737Z","last_seen":"2026-07-27T05:48:43.327557Z","times_seen":21,"resource_available":false,"data":"ISBmdW5jdGlvbihlLCB0KSB7CiAgICAib2JqZWN0IiA9PSB0eXBlb2YgbW9kdWxlICYmICJvYmplY3QiID09IHR5cGVvZiBtb2R1bGUuZXhwb3J0cyA/IG1vZHVsZS5leHBvcnRzID0gZS5kb2N1bWVudCA/IHQoZSwgITApIDogZnVuY3Rpb24oZSkgewogICAgICAgIGlmICghZS5kb2N1bWVudCkgdGhyb3cgbmV3IEVycm9yKCJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIGRvY3VtZW50Iik7CiAgICAgICAgcmV0dXJuIHQoZSkKICAgIH0gOiB0KGUpCn0oInVuZGVmaW5lZCIgIT0gdHlwZW9mIHdpbmRvdyA/IHdpbmRvdyA6IHRoaXMsIGZ1bmN0aW9uKEMsIGUpIHsKICAgIHZhciBkID0gW10sCiAgICAgICAgaCA9IEMuZG9jdW1lbnQsCiAgICAgICAgYyA9IGQuc2xpY2UsCiAgICAgICAgZyA9IGQuY29uY2F0LAogICAgICAgIHMgPSBkLnB1c2gsCiAgICAgICAgaSA9IGQuaW5kZXhPZiwKICAgICAgICBuID0ge30sCiAgICAgICAgdCA9IG4udG9TdHJpbmcsCiAgICAgICAgbSA9IG4uaGFzT3duUHJvcGVydHksCiAgICAgICAgdiA9IHt9LAogICAgICAgIHIgPSAiMS4xMi4zIiwKICAgICAgICBFID0gZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICByZXR1cm4gbmV3IEUuZm4uaW5pdChlLCB0KQogICAgICAgIH0sCiAgICAgICAgbyA9IC9eW1xzXHVGRUZGXHhBMF0rfFtcc1x1RkVGRlx4QTBdKyQvZywKICAgICAgICBhID0gL14tbXMtLywKICAgICAgICB1ID0gLy0oW1xkYS16XSkvZ2ksCiAgICAgICAgbCA9IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgcmV0dXJuIHQudG9VcHBlckNhc2UoKQogICAgICAgIH07CgogICAgZnVuY3Rpb24gZihlKSB7CiAgICAgICAgdmFyIHQgPSAhIWUgJiYgImxlbmd0aCIgaW4gZSAmJiBlLmxlbmd0aCwKICAgICAgICAgICAgbiA9IEUudHlwZShlKTsKICAgICAgICByZXR1cm4gImZ1bmN0aW9uIiAhPT0gbiAmJiAhRS5pc1dpbmRvdyhlKSAmJiAoImFycmF5IiA9PT0gbiB8fCAwID09PSB0IHx8ICJudW1iZXIiID09IHR5cGVvZiB0ICYmIDAgPCB0ICYmIHQgLSAxIGluIGUpCiAgICB9CiAgICBFLmZuID0gRS5wcm90b3R5cGUgPSB7CiAgICAgICAganF1ZXJ5OiByLAogICAgICAgIGNvbnN0cnVjdG9yOiBFLAogICAgICAgIHNlbGVjdG9yOiAiIiwKICAgICAgICBsZW5ndGg6IDAsCiAgICAgICAgdG9BcnJheTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiBjLmNhbGwodGhpcykKICAgICAgICB9LAogICAgICAgIGdldDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gbnVsbCAhPSBlID8gZSA8IDAgPyB0aGlzW2UgKyB0aGlzLmxlbmd0aF0gOiB0aGlzW2VdIDogYy5jYWxsKHRoaXMpCiAgICAgICAgfSwKICAgICAgICBwdXNoU3RhY2s6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIHQgPSBFLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSwgZSk7CiAgICAgICAgICAgIHJldHVybiB0LnByZXZPYmplY3QgPSB0aGlzLCB0LmNvbnRleHQgPSB0aGlzLmNvbnRleHQsIHQKICAgICAgICB9LAogICAgICAgIGVhY2g6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIEUuZWFjaCh0aGlzLCBlKQogICAgICAgIH0sCiAgICAgICAgbWFwOiBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnB1c2hTdGFjayhFLm1hcCh0aGlzLCBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbi5jYWxsKGUsIHQsIGUpCiAgICAgICAgICAgIH0pKQogICAgICAgIH0sCiAgICAgICAgc2xpY2U6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5wdXNoU3RhY2soYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpKQogICAgICAgIH0sCiAgICAgICAgZmlyc3Q6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5lcSgwKQogICAgICAgIH0sCiAgICAgICAgbGFzdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmVxKC0xKQogICAgICAgIH0sCiAgICAgICAgZXE6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmxlbmd0aCwKICAgICAgICAgICAgICAgIG4gPSArZSArIChlIDwgMCA/IHQgOiAwKTsKICAgICAgICAgICAgcmV0dXJuIHRoaXMucHVzaFN0YWNrKDAgPD0gbiAmJiBuIDwgdCA/IFt0aGlzW25dXSA6IFtdKQogICAgICAgIH0sCiAgICAgICAgZW5kOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJldk9iamVjdCB8fCB0aGlzLmNvbnN0cnVjdG9yKCkKICAgICAgICB9LAogICAgICAgIHB1c2g6IHMsCiAgICAgICAgc29ydDogZC5zb3J0LAogICAgICAgIHNwbGljZTogZC5zcGxpY2UKICAgIH0sIEUuZXh0ZW5kID0gRS5mbi5leHRlbmQgPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZSwgdCwgbiwgciwgaSwgbywgYSA9IGFyZ3VtZW50c1swXSB8fCB7fSwKICAgICAgICAgICAgcyA9IDEsCiAgICAgICAgICAgIHUgPSBhcmd1bWVudHMubGVuZ3RoLAogICAgICAgICAgICBsID0gITE7CiAgICAgICAgZm9yICgiYm9vbGVhbiIgPT0gdHlwZW9mIGEgJiYgKGwgPSBhLCBhID0gYXJndW1lbnRzW3NdIHx8IHt9LCBzKyspLCAib2JqZWN0IiA9PSB0eXBlb2YgYSB8fCBFLmlzRnVuY3Rpb24oYSkgfHwgKGEgPSB7fSksIHMgPT09IHUgJiYgKGEgPSB0aGlzLCBzLS0pOyBzIDwgdTsgcysrKQogICAgICAgICAgICBpZiAobnVsbCAhPSAoaSA9IGFyZ3VtZW50c1tzXSkpCiAgICAgICAgICAgICAgICBmb3IgKHIgaW4gaSkgZSA9IGFbcl0sIGEgIT09IChuID0gaVtyXSkgJiYgKGwgJiYgbiAmJiAoRS5pc1BsYWluT2JqZWN0KG4pIHx8ICh0ID0gRS5pc0FycmF5KG4pKSkgPyAobyA9IHQgPyAodCA9ICExLCBlICYmIEUuaXNBcnJheShlKSA/IGUgOiBbXSkgOiBlICYmIEUuaXNQbGFpbk9iamVjdChlKSA/IGUgOiB7fSwgYVtyXSA9IEUuZXh0ZW5kKGwsIG8sIG4pKSA6IHZvaWQgMCAhPT0gbiAmJiAoYVtyXSA9IG4pKTsKICAgICAgICByZXR1cm4gYQogICAgfSwgRS5leHRlbmQoewogICAgICAgIGV4cGFuZG86ICJqUXVlcnkiICsgKHIgKyBNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cRC9nLCAiIiksCiAgICAgICAgaXNSZWFkeTogITAsCiAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGUpCiAgICAgICAgfSwKICAgICAgICBub29wOiBmdW5jdGlvbigpIHt9LAogICAgICAgIGlzRnVuY3Rpb246IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuICJmdW5jdGlvbiIgPT09IEUudHlwZShlKQogICAgICAgIH0sCiAgICAgICAgaXNBcnJheTogQXJyYXkuaXNBcnJheSB8fCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiAiYXJyYXkiID09PSBFLnR5cGUoZSkKICAgICAgICB9LAogICAgICAgIGlzV2luZG93OiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsICE9IGUgJiYgZSA9PSBlLndpbmRvdwogICAgICAgIH0sCiAgICAgICAgaXNOdW1lcmljOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciB0ID0gZSAmJiBlLnRvU3RyaW5nKCk7CiAgICAgICAgICAgIHJldHVybiAhRS5pc0FycmF5KGUpICYmIDAgPD0gdCAtIHBhcnNlRmxvYXQodCkgKyAxCiAgICAgICAgfSwKICAgICAgICBpc0VtcHR5T2JqZWN0OiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciB0OwogICAgICAgICAgICBmb3IgKHQgaW4gZSkgcmV0dXJuICExOwogICAgICAgICAgICByZXR1cm4gITAKICAgICAgICB9LAogICAgICAgIGlzUGxhaW5PYmplY3Q6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIHQ7CiAgICAgICAgICAgIGlmICghZSB8fCAib2JqZWN0IiAhPT0gRS50eXBlKGUpIHx8IGUubm9kZVR5cGUgfHwgRS5pc1dpbmRvdyhlKSkgcmV0dXJuICExOwogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgaWYgKGUuY29uc3RydWN0b3IgJiYgIW0uY2FsbChlLCAiY29uc3RydWN0b3IiKSAmJiAhbS5jYWxsKGUuY29uc3RydWN0b3IucHJvdG90eXBlLCAiaXNQcm90b3R5cGVPZiIpKSByZXR1cm4gITEKICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgcmV0dXJuICExCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCF2Lm93bkZpcnN0KQogICAgICAgICAgICAgICAgZm9yICh0IGluIGUpIHJldHVybiBtLmNhbGwoZSwgdCk7CiAgICAgICAgICAgIGZvciAodCBpbiBlKTsKICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gdCB8fCBtLmNhbGwoZSwgdCkKICAgICAgICB9LAogICAgICAgIHR5cGU6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gZSA/IGUgKyAiIiA6ICJvYmplY3QiID09IHR5cGVvZiBlIHx8ICJmdW5jdGlvbiIgPT0gdHlwZW9mIGUgPyBuW3QuY2FsbChlKV0gfHwgIm9iamVjdCIgOiB0eXBlb2YgZQogICAgICAgIH0sCiAgICAgICAgZ2xvYmFsRXZhbDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlICYmIEUudHJpbShlKSAmJiAoQy5leGVjU2NyaXB0IHx8IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIEMuZXZhbC5jYWxsKEMsIGUpCiAgICAgICAgICAgIH0pKGUpCiAgICAgICAgfSwKICAgICAgICBjYW1lbENhc2U6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIGUucmVwbGFjZShhLCAibXMtIikucmVwbGFjZSh1LCBsKQogICAgICAgIH0sCiAgICAgICAgbm9kZU5hbWU6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgcmV0dXJuIGUubm9kZU5hbWUgJiYgZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSB0LnRvTG93ZXJDYXNlKCkKICAgICAgICB9LAogICAgICAgIGVhY2g6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgdmFyIG4sIHIgPSAwOwogICAgICAgICAgICBpZiAoZihlKSkKICAgICAgICAgICAgICAgIGZvciAobiA9IGUubGVuZ3RoOyByIDwgbiAmJiAhMSAhPT0gdC5jYWxsKGVbcl0sIHIsIGVbcl0pOyByKyspOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBmb3IgKHIgaW4gZSkKICAgICAgICAgICAgICAgICAgICBpZiAoITEgPT09IHQuY2FsbChlW3JdLCByLCBlW3JdKSkgYnJlYWs7CiAgICAgICAgICAgIHJldHVybiBlCiAgICAgICAgfSwKICAgICAgICB0cmltOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsID09IGUgPyAiIiA6IChlICsgIiIpLnJlcGxhY2UobywgIiIpCiAgICAgICAgfSwKICAgICAgICBtYWtlQXJyYXk6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgdmFyIG4gPSB0IHx8IFtdOwogICAgICAgICAgICByZXR1cm4gbnVsbCAhPSBlICYmIChmKE9iamVjdChlKSkgPyBFLm1lcmdlKG4sICJzdHJpbmciID09IHR5cGVvZiBlID8gW2VdIDogZSkgOiBzLmNhbGwobiwgZSkpLCBuCiAgICAgICAgfSwKICAgICAgICBpbkFycmF5OiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgIHZhciByOwogICAgICAgICAgICBpZiAodCkgewogICAgICAgICAgICAgICAgaWYgKGkpIHJldHVybiBpLmNhbGwodCwgZSwgbik7CiAgICAgICAgICAgICAgICBmb3IgKHIgPSB0Lmxlbmd0aCwgbiA9IG4gPyBuIDwgMCA/IE1hdGgubWF4KDAsIHIgKyBuKSA6IG4gOiAwOyBuIDwgcjsgbisrKQogICAgICAgICAgICAgICAgICAgIGlmIChuIGluIHQgJiYgdFtuXSA9PT0gZSkgcmV0dXJuIG4KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICB9LAogICAgICAgIG1lcmdlOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIGZvciAodmFyIG4gPSArdC5sZW5ndGgsIHIgPSAwLCBpID0gZS5sZW5ndGg7IHIgPCBuOykgZVtpKytdID0gdFtyKytdOwogICAgICAgICAgICBpZiAobiAhPSBuKQogICAgICAgICAgICAgICAgZm9yICg7IHZvaWQgMCAhPT0gdFtyXTspIGVbaSsrXSA9IHRbcisrXTsKICAgICAgICAgICAgcmV0dXJuIGUubGVuZ3RoID0gaSwgZQogICAgICAgIH0sCiAgICAgICAgZ3JlcDogZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICBmb3IgKHZhciByID0gW10sIGkgPSAwLCBvID0gZS5sZW5ndGgsIGEgPSAhbjsgaSA8IG87IGkrKykgIXQoZVtpXSwgaSkgIT09IGEgJiYgci5wdXNoKGVbaV0pOwogICAgICAgICAgICByZXR1cm4gcgogICAgICAgIH0sCiAgICAgICAgbWFwOiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgIHZhciByLCBpLCBvID0gMCwKICAgICAgICAgICAgICAgIGEgPSBbXTsKICAgICAgICAgICAgaWYgKGYoZSkpCiAgICAgICAgICAgICAgICBmb3IgKHIgPSBlLmxlbmd0aDsgbyA8IHI7IG8rKykgbnVsbCAhPSAoaSA9IHQoZVtvXSwgbywgbikpICYmIGEucHVzaChpKTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgZm9yIChvIGluIGUpIG51bGwgIT0gKGkgPSB0KGVbb10sIG8sIG4pKSAmJiBhLnB1c2goaSk7CiAgICAgICAgICAgIHJldHVybiBnLmFwcGx5KFtdLCBhKQogICAgICAgIH0sCiAgICAgICAgZ3VpZDogMSwKICAgICAgICBwcm94eTogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICB2YXIgbiwgciwgaTsKICAgICAgICAgICAgcmV0dXJuICJzdHJpbmciID09IHR5cGVvZiB0ICYmIChpID0gZVt0XSwgdCA9IGUsIGUgPSBpKSwgRS5pc0Z1bmN0aW9uKGUpID8gKG4gPSBjLmNhbGwoYXJndW1lbnRzLCAyKSwgKHIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHJldHVybiBlLmFwcGx5KHQgfHwgdGhpcywgbi5jb25jYXQoYy5jYWxsKGFyZ3VtZW50cykpKQogICAgICAgICAgICB9KS5ndWlkID0gZS5ndWlkID0gZS5ndWlkIHx8IEUuZ3VpZCsrLCByKSA6IHZvaWQgMAogICAgICAgIH0sCiAgICAgICAgbm93OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuICtuZXcgRGF0ZQogICAgICAgIH0sCiAgICAgICAgc3VwcG9ydDogdgogICAgfSksICJmdW5jdGlvbiIgPT0gdHlwZW9mIFN5bWJvbCAmJiAoRS5mbltTeW1ib2wuaXRlcmF0b3JdID0gZFtTeW1ib2wuaXRlcmF0b3JdKSwgRS5lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0IEVycm9yIFN5bWJvbCIuc3BsaXQoIiAiKSwgZnVuY3Rpb24oZSwgdCkgewogICAgICAgIG5bIltvYmplY3QgIiArIHQgKyAiXSJdID0gdC50b0xvd2VyQ2FzZSgpCiAgICB9KTsKICAgIHZhciBwID0gZnVuY3Rpb24obikgewogICAgICAgIHZhciBlLCBoLCBiLCBvLCBpLCBnLCBkLCBtLCB3LCB1LCBsLCBULCBDLCBhLCBFLCB2LCBzLCBjLCB5LCBOID0gInNpenpsZSIgKyAxICogbmV3IERhdGUsCiAgICAgICAgICAgIHggPSBuLmRvY3VtZW50LAogICAgICAgICAgICBrID0gMCwKICAgICAgICAgICAgciA9IDAsCiAgICAgICAgICAgIGYgPSBpZSgpLAogICAgICAgICAgICBwID0gaWUoKSwKICAgICAgICAgICAgUyA9IGllKCksCiAgICAgICAgICAgIEEgPSBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZSA9PT0gdCAmJiAobCA9ICEwKSwgMAogICAgICAgICAgICB9LAogICAgICAgICAgICBEID0ge30uaGFzT3duUHJvcGVydHksCiAgICAgICAgICAgIHQgPSBbXSwKICAgICAgICAgICAgaiA9IHQucG9wLAogICAgICAgICAgICBMID0gdC5wdXNoLAogICAgICAgICAgICBIID0gdC5wdXNoLAogICAgICAgICAgICBxID0gdC5zbGljZSwKICAgICAgICAgICAgXyA9IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIG4gPSAwLCByID0gZS5sZW5ndGg7IG4gPCByOyBuKyspCiAgICAgICAgICAgICAgICAgICAgaWYgKGVbbl0gPT09IHQpIHJldHVybiBuOwogICAgICAgICAgICAgICAgcmV0dXJuIC0xCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIEYgPSAiY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWQiLAogICAgICAgICAgICBNID0gIltcXHgyMFxcdFxcclxcblxcZl0iLAogICAgICAgICAgICBPID0gIig/OlxcXFwufFtcXHctXXxbXlxceDAwLVxceGEwXSkrIiwKICAgICAgICAgICAgUiA9ICJcXFsiICsgTSArICIqKCIgKyBPICsgIikoPzoiICsgTSArICIqKFsqXiR8IX5dPz0pIiArIE0gKyAiKig/OicoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwifCgiICsgTyArICIpKXwpIiArIE0gKyAiKlxcXSIsCiAgICAgICAgICAgIFAgPSAiOigiICsgTyArICIpKD86XFwoKCgnKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcIil8KCg/OlxcXFwufFteXFxcXCgpW1xcXV18IiArIFIgKyAiKSopfC4qKVxcKXwpIiwKICAgICAgICAgICAgQiA9IG5ldyBSZWdFeHAoTSArICIrIiwgImciKSwKICAgICAgICAgICAgVyA9IG5ldyBSZWdFeHAoIl4iICsgTSArICIrfCgoPzpefFteXFxcXF0pKD86XFxcXC4pKikiICsgTSArICIrJCIsICJnIiksCiAgICAgICAgICAgIEkgPSBuZXcgUmVnRXhwKCJeIiArIE0gKyAiKiwiICsgTSArICIqIiksCiAgICAgICAgICAgICQgPSBuZXcgUmVnRXhwKCJeIiArIE0gKyAiKihbPit+XXwiICsgTSArICIpIiArIE0gKyAiKiIpLAogICAgICAgICAgICB6ID0gbmV3IFJlZ0V4cCgiPSIgKyBNICsgIiooW15cXF0nXCJdKj8pIiArIE0gKyAiKlxcXSIsICJnIiksCiAgICAgICAgICAgIFggPSBuZXcgUmVnRXhwKFApLAogICAgICAgICAgICBVID0gbmV3IFJlZ0V4cCgiXiIgKyBPICsgIiQiKSwKICAgICAgICAgICAgViA9IHsKICAgICAgICAgICAgICAgIElEOiBuZXcgUmVnRXhwKCJeIygiICsgTyArICIpIiksCiAgICAgICAgICAgICAgICBDTEFTUzogbmV3IFJlZ0V4cCgiXlxcLigiICsgTyArICIpIiksCiAgICAgICAgICAgICAgICBUQUc6IG5ldyBSZWdFeHAoIl4oIiArIE8gKyAifFsqXSkiKSwKICAgICAgICAgICAgICAgIEFUVFI6IG5ldyBSZWdFeHAoIl4iICsgUiksCiAgICAgICAgICAgICAgICBQU0VVRE86IG5ldyBSZWdFeHAoIl4iICsgUCksCiAgICAgICAgICAgICAgICBDSElMRDogbmV3IFJlZ0V4cCgiXjoob25seXxmaXJzdHxsYXN0fG50aHxudGgtbGFzdCktKGNoaWxkfG9mLXR5cGUpKD86XFwoIiArIE0gKyAiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIgKyBNICsgIiooPzooWystXXwpIiArIE0gKyAiKihcXGQrKXwpKSIgKyBNICsgIipcXCl8KSIsICJpIiksCiAgICAgICAgICAgICAgICBib29sOiBuZXcgUmVnRXhwKCJeKD86IiArIEYgKyAiKSQiLCAiaSIpLAogICAgICAgICAgICAgICAgbmVlZHNDb250ZXh0OiBuZXcgUmVnRXhwKCJeIiArIE0gKyAiKls+K35dfDooZXZlbnxvZGR8ZXF8Z3R8bHR8bnRofGZpcnN0fGxhc3QpKD86XFwoIiArIE0gKyAiKigoPzotXFxkKT9cXGQqKSIgKyBNICsgIipcXCl8KSg/PVteLV18JCkiLCAiaSIpCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFkgPSAvXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLAogICAgICAgICAgICBKID0gL15oXGQkL2ksCiAgICAgICAgICAgIEcgPSAvXltee10rXHtccypcW25hdGl2ZSBcdy8sCiAgICAgICAgICAgIFEgPSAvXig/OiMoW1x3LV0rKXwoXHcrKXxcLihbXHctXSspKSQvLAogICAgICAgICAgICBLID0gL1srfl0vLAogICAgICAgICAgICBaID0gLyd8XFwvZywKICAgICAgICAgICAgZWUgPSBuZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iICsgTSArICI/fCgiICsgTSArICIpfC4pIiwgImlnIiksCiAgICAgICAgICAgIHRlID0gZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICAgICAgdmFyIHIgPSAiMHgiICsgdCAtIDY1NTM2OwogICAgICAgICAgICAgICAgcmV0dXJuIHIgIT0gciB8fCBuID8gdCA6IHIgPCAwID8gU3RyaW5nLmZyb21DaGFyQ29kZShyICsgNjU1MzYpIDogU3RyaW5nLmZyb21DaGFyQ29kZShyID4+IDEwIHwgNTUyOTYsIDEwMjMgJiByIHwgNTYzMjApCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIG5lID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBUKCkKICAgICAgICAgICAgfTsKICAgICAgICB0cnkgewogICAgICAgICAgICBILmFwcGx5KHQgPSBxLmNhbGwoeC5jaGlsZE5vZGVzKSwgeC5jaGlsZE5vZGVzKSwgdFt4LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZQogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgSCA9IHsKICAgICAgICAgICAgICAgIGFwcGx5OiB0Lmxlbmd0aCA/IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgICAgICBMLmFwcGx5KGUsIHEuY2FsbCh0KSkKICAgICAgICAgICAgICAgIH0gOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgbiA9IGUubGVuZ3RoLCByID0gMDsgZVtuKytdID0gdFtyKytdOyk7CiAgICAgICAgICAgICAgICAgICAgZS5sZW5ndGggPSBuIC0gMQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiByZShlLCB0LCBuLCByKSB7CiAgICAgICAgICAgIHZhciBpLCBvLCBhLCBzLCB1LCBsLCBjLCBkLCBmID0gdCAmJiB0Lm93bmVyRG9jdW1lbnQsCiAgICAgICAgICAgICAgICBwID0gdCA/IHQubm9kZVR5cGUgOiA5OwogICAgICAgICAgICBpZiAobiA9IG4gfHwgW10sICJzdHJpbmciICE9IHR5cGVvZiBlIHx8ICFlIHx8IDEgIT09IHAgJiYgOSAhPT0gcCAmJiAxMSAhPT0gcCkgcmV0dXJuIG47CiAgICAgICAgICAgIGlmICghciAmJiAoKHQgPyB0Lm93bmVyRG9jdW1lbnQgfHwgdCA6IHgpICE9PSBDICYmIFQodCksIHQgPSB0IHx8IEMsIEUpKSB7CiAgICAgICAgICAgICAgICBpZiAoMTEgIT09IHAgJiYgKGwgPSBRLmV4ZWMoZSkpKQogICAgICAgICAgICAgICAgICAgIGlmIChpID0gbFsxXSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoOSA9PT0gcCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoYSA9IHQuZ2V0RWxlbWVudEJ5SWQoaSkpKSByZXR1cm4gbjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhLmlkID09PSBpKSByZXR1cm4gbi5wdXNoKGEpLCBuCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZiAmJiAoYSA9IGYuZ2V0RWxlbWVudEJ5SWQoaSkpICYmIHkodCwgYSkgJiYgYS5pZCA9PT0gaSkgcmV0dXJuIG4ucHVzaChhKSwgbgogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsWzJdKSByZXR1cm4gSC5hcHBseShuLCB0LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpKSwgbjsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChpID0gbFszXSkgJiYgaC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lICYmIHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSkgcmV0dXJuIEguYXBwbHkobiwgdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGkpKSwgbgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChoLnFzYSAmJiAhU1tlICsgIiAiXSAmJiAoIXYgfHwgIXYudGVzdChlKSkpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoMSAhPT0gcCkgZiA9IHQsIGQgPSBlOwogICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCJvYmplY3QiICE9PSB0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICgocyA9IHQuZ2V0QXR0cmlidXRlKCJpZCIpKSA/IHMgPSBzLnJlcGxhY2UoWiwgIlxcJCYiKSA6IHQuc2V0QXR0cmlidXRlKCJpZCIsIHMgPSBOKSwgbyA9IChjID0gZyhlKSkubGVuZ3RoLCB1ID0gVS50ZXN0KHMpID8gIiMiICsgcyA6ICJbaWQ9JyIgKyBzICsgIiddIjsgby0tOykgY1tvXSA9IHUgKyAiICIgKyBoZShjW29dKTsKICAgICAgICAgICAgICAgICAgICAgICAgZCA9IGMuam9pbigiLCIpLCBmID0gSy50ZXN0KGUpICYmIGZlKHQucGFyZW50Tm9kZSkgfHwgdAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAoZCkgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEguYXBwbHkobiwgZi5xdWVyeVNlbGVjdG9yQWxsKGQpKSwgbgogICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9IGZpbmFsbHkgewogICAgICAgICAgICAgICAgICAgICAgICBzID09PSBOICYmIHQucmVtb3ZlQXR0cmlidXRlKCJpZCIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBtKGUucmVwbGFjZShXLCAiJDEiKSwgdCwgbiwgcikKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGllKCkgewogICAgICAgICAgICB2YXIgciA9IFtdOwogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gZSh0LCBuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gci5wdXNoKHQgKyAiICIpID4gYi5jYWNoZUxlbmd0aCAmJiBkZWxldGUgZVtyLnNoaWZ0KCldLCBlW3QgKyAiICJdID0gbgogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvZShlKSB7CiAgICAgICAgICAgIHJldHVybiBlW05dID0gITAsIGUKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGFlKGUpIHsKICAgICAgICAgICAgdmFyIHQgPSBDLmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgcmV0dXJuICEhZSh0KQogICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gITEKICAgICAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgICAgIHQucGFyZW50Tm9kZSAmJiB0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksIHQgPSBudWxsCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHNlKGUsIHQpIHsKICAgICAgICAgICAgZm9yICh2YXIgbiA9IGUuc3BsaXQoInwiKSwgciA9IG4ubGVuZ3RoOyByLS07KSBiLmF0dHJIYW5kbGVbbltyXV0gPSB0CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiB1ZShlLCB0KSB7CiAgICAgICAgICAgIHZhciBuID0gdCAmJiBlLAogICAgICAgICAgICAgICAgciA9IG4gJiYgMSA9PT0gZS5ub2RlVHlwZSAmJiAxID09PSB0Lm5vZGVUeXBlICYmICh+dC5zb3VyY2VJbmRleCB8fCAxIDw8IDMxKSAtICh+ZS5zb3VyY2VJbmRleCB8fCAxIDw8IDMxKTsKICAgICAgICAgICAgaWYgKHIpIHJldHVybiByOwogICAgICAgICAgICBpZiAobikKICAgICAgICAgICAgICAgIGZvciAoOyBuID0gbi5uZXh0U2libGluZzspCiAgICAgICAgICAgICAgICAgICAgaWYgKG4gPT09IHQpIHJldHVybiAtMTsKICAgICAgICAgICAgcmV0dXJuIGUgPyAxIDogLTEKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGxlKHQpIHsKICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiAiaW5wdXQiID09PSBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgJiYgZS50eXBlID09PSB0CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGNlKG4pIHsKICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOwogICAgICAgICAgICAgICAgcmV0dXJuICgiaW5wdXQiID09PSB0IHx8ICJidXR0b24iID09PSB0KSAmJiBlLnR5cGUgPT09IG4KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gZGUoYSkgewogICAgICAgICAgICByZXR1cm4gb2UoZnVuY3Rpb24obykgewogICAgICAgICAgICAgICAgcmV0dXJuIG8gPSArbywgb2UoZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIG4sIHIgPSBhKFtdLCBlLmxlbmd0aCwgbyksIGkgPSByLmxlbmd0aDsgaS0tOykgZVtuID0gcltpXV0gJiYgKGVbbl0gPSAhKHRbbl0gPSBlW25dKSkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0pCiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBmZShlKSB7CiAgICAgICAgICAgIHJldHVybiBlICYmIHZvaWQgMCAhPT0gZS5nZXRFbGVtZW50c0J5VGFnTmFtZSAmJiBlCiAgICAgICAgfQogICAgICAgIGZvciAoZSBpbiBoID0gcmUuc3VwcG9ydCA9IHt9LCBpID0gcmUuaXNYTUwgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IGUgJiYgKGUub3duZXJEb2N1bWVudCB8fCBlKS5kb2N1bWVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICByZXR1cm4gISF0ICYmICJIVE1MIiAhPT0gdC5ub2RlTmFtZQogICAgICAgICAgICB9LCBUID0gcmUuc2V0RG9jdW1lbnQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICB2YXIgdCwgbiwgciA9IGUgPyBlLm93bmVyRG9jdW1lbnQgfHwgZSA6IHg7CiAgICAgICAgICAgICAgICByZXR1cm4gciAhPT0gQyAmJiA5ID09PSByLm5vZGVUeXBlICYmIHIuZG9jdW1lbnRFbGVtZW50ICYmIChhID0gKEMgPSByKS5kb2N1bWVudEVsZW1lbnQsIEUgPSAhaShDKSwgKG4gPSBDLmRlZmF1bHRWaWV3KSAmJiBuLnRvcCAhPT0gbiAmJiAobi5hZGRFdmVudExpc3RlbmVyID8gbi5hZGRFdmVudExpc3RlbmVyKCJ1bmxvYWQiLCBuZSwgITEpIDogbi5hdHRhY2hFdmVudCAmJiBuLmF0dGFjaEV2ZW50KCJvbnVubG9hZCIsIG5lKSksIGguYXR0cmlidXRlcyA9IGFlKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZS5jbGFzc05hbWUgPSAiaSIsICFlLmdldEF0dHJpYnV0ZSgiY2xhc3NOYW1lIikKICAgICAgICAgICAgICAgIH0pLCBoLmdldEVsZW1lbnRzQnlUYWdOYW1lID0gYWUoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBlLmFwcGVuZENoaWxkKEMuY3JlYXRlQ29tbWVudCgiIikpLCAhZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aAogICAgICAgICAgICAgICAgfSksIGguZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSA9IEcudGVzdChDLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpLCBoLmdldEJ5SWQgPSBhZShmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEuYXBwZW5kQ2hpbGQoZSkuaWQgPSBOLCAhQy5nZXRFbGVtZW50c0J5TmFtZSB8fCAhQy5nZXRFbGVtZW50c0J5TmFtZShOKS5sZW5ndGgKICAgICAgICAgICAgICAgIH0pLCBoLmdldEJ5SWQgPyAoYi5maW5kLklEID0gZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgIGlmICh2b2lkIDAgIT09IHQuZ2V0RWxlbWVudEJ5SWQgJiYgRSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IHQuZ2V0RWxlbWVudEJ5SWQoZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuID8gW25dIDogW10KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LCBiLmZpbHRlci5JRCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGUucmVwbGFjZShlZSwgdGUpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlLmdldEF0dHJpYnV0ZSgiaWQiKSA9PT0gdAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pIDogKGRlbGV0ZSBiLmZpbmQuSUQsIGIuZmlsdGVyLklEID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIHZhciBuID0gZS5yZXBsYWNlKGVlLCB0ZSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSB2b2lkIDAgIT09IGUuZ2V0QXR0cmlidXRlTm9kZSAmJiBlLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0ICYmIHQudmFsdWUgPT09IG4KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KSwgYi5maW5kLlRBRyA9IGguZ2V0RWxlbWVudHNCeVRhZ05hbWUgPyBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCAhPT0gdC5nZXRFbGVtZW50c0J5VGFnTmFtZSA/IHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSkgOiBoLnFzYSA/IHQucXVlcnlTZWxlY3RvckFsbChlKSA6IHZvaWQgMAogICAgICAgICAgICAgICAgfSA6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgbiwgciA9IFtdLAogICAgICAgICAgICAgICAgICAgICAgICBpID0gMCwKICAgICAgICAgICAgICAgICAgICAgICAgbyA9IHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCIqIiAhPT0gZSkgcmV0dXJuIG87CiAgICAgICAgICAgICAgICAgICAgZm9yICg7IG4gPSBvW2krK107KSAxID09PSBuLm5vZGVUeXBlICYmIHIucHVzaChuKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gcgogICAgICAgICAgICAgICAgfSwgYi5maW5kLkNMQVNTID0gaC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lICYmIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwICE9PSB0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUgJiYgRSA/IHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlKSA6IHZvaWQgMAogICAgICAgICAgICAgICAgfSwgcyA9IFtdLCB2ID0gW10sIChoLnFzYSA9IEcudGVzdChDLnF1ZXJ5U2VsZWN0b3JBbGwpKSAmJiAoYWUoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGEuYXBwZW5kQ2hpbGQoZSkuaW5uZXJIVE1MID0gIjxhIGlkPSciICsgTiArICInPjwvYT48c2VsZWN0IGlkPSciICsgTiArICItXHJcXCcgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD4iLCBlLnF1ZXJ5U2VsZWN0b3JBbGwoIlttc2FsbG93Y2FwdHVyZV49JyddIikubGVuZ3RoICYmIHYucHVzaCgiWypeJF09IiArIE0gKyAiKig/OicnfFwiXCIpIiksIGUucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aCB8fCB2LnB1c2goIlxcWyIgKyBNICsgIiooPzp2YWx1ZXwiICsgRiArICIpIiksIGUucXVlcnlTZWxlY3RvckFsbCgiW2lkfj0iICsgTiArICItXSIpLmxlbmd0aCB8fCB2LnB1c2goIn49IiksIGUucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGggfHwgdi5wdXNoKCI6Y2hlY2tlZCIpLCBlLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIiArIE4gKyAiKyoiKS5sZW5ndGggfHwgdi5wdXNoKCIuIy4rWyt+XSIpCiAgICAgICAgICAgICAgICB9KSwgYWUoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gQy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwogICAgICAgICAgICAgICAgICAgIHQuc2V0QXR0cmlidXRlKCJ0eXBlIiwgImhpZGRlbiIpLCBlLmFwcGVuZENoaWxkKHQpLnNldEF0dHJpYnV0ZSgibmFtZSIsICJEIiksIGUucXVlcnlTZWxlY3RvckFsbCgiW25hbWU9ZF0iKS5sZW5ndGggJiYgdi5wdXNoKCJuYW1lIiArIE0gKyAiKlsqXiR8IX5dPz0iKSwgZS5xdWVyeVNlbGVjdG9yQWxsKCI6ZW5hYmxlZCIpLmxlbmd0aCB8fCB2LnB1c2goIjplbmFibGVkIiwgIjpkaXNhYmxlZCIpLCBlLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSwgdi5wdXNoKCIsLio6IikKICAgICAgICAgICAgICAgIH0pKSwgKGgubWF0Y2hlc1NlbGVjdG9yID0gRy50ZXN0KGMgPSBhLm1hdGNoZXMgfHwgYS53ZWJraXRNYXRjaGVzU2VsZWN0b3IgfHwgYS5tb3pNYXRjaGVzU2VsZWN0b3IgfHwgYS5vTWF0Y2hlc1NlbGVjdG9yIHx8IGEubXNNYXRjaGVzU2VsZWN0b3IpKSAmJiBhZShmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgaC5kaXNjb25uZWN0ZWRNYXRjaCA9IGMuY2FsbChlLCAiZGl2IiksIGMuY2FsbChlLCAiW3MhPScnXTp4IiksIHMucHVzaCgiIT0iLCBQKQogICAgICAgICAgICAgICAgfSksIHYgPSB2Lmxlbmd0aCAmJiBuZXcgUmVnRXhwKHYuam9pbigifCIpKSwgcyA9IHMubGVuZ3RoICYmIG5ldyBSZWdFeHAocy5qb2luKCJ8IikpLCB0ID0gRy50ZXN0KGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24pLCB5ID0gdCB8fCBHLnRlc3QoYS5jb250YWlucykgPyBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSA5ID09PSBlLm5vZGVUeXBlID8gZS5kb2N1bWVudEVsZW1lbnQgOiBlLAogICAgICAgICAgICAgICAgICAgICAgICByID0gdCAmJiB0LnBhcmVudE5vZGU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUgPT09IHIgfHwgISghciB8fCAxICE9PSByLm5vZGVUeXBlIHx8ICEobi5jb250YWlucyA/IG4uY29udGFpbnMocikgOiBlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uICYmIDE2ICYgZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihyKSkpCiAgICAgICAgICAgICAgICB9IDogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgIGlmICh0KQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKDsgdCA9IHQucGFyZW50Tm9kZTspCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodCA9PT0gZSkgcmV0dXJuICEwOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAhMQogICAgICAgICAgICAgICAgfSwgQSA9IHQgPyBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGUgPT09IHQpIHJldHVybiBsID0gITAsIDA7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSAhZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiAtICF0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBuIHx8ICgxICYgKG4gPSAoZS5vd25lckRvY3VtZW50IHx8IGUpID09PSAodC5vd25lckRvY3VtZW50IHx8IHQpID8gZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KSA6IDEpIHx8ICFoLnNvcnREZXRhY2hlZCAmJiB0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGUpID09PSBuID8gZSA9PT0gQyB8fCBlLm93bmVyRG9jdW1lbnQgPT09IHggJiYgeSh4LCBlKSA/IC0xIDogdCA9PT0gQyB8fCB0Lm93bmVyRG9jdW1lbnQgPT09IHggJiYgeSh4LCB0KSA/IDEgOiB1ID8gXyh1LCBlKSAtIF8odSwgdCkgOiAwIDogNCAmIG4gPyAtMSA6IDEpCiAgICAgICAgICAgICAgICB9IDogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgIGlmIChlID09PSB0KSByZXR1cm4gbCA9ICEwLCAwOwogICAgICAgICAgICAgICAgICAgIHZhciBuLCByID0gMCwKICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGUucGFyZW50Tm9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgbyA9IHQucGFyZW50Tm9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgYSA9IFtlXSwKICAgICAgICAgICAgICAgICAgICAgICAgcyA9IFt0XTsKICAgICAgICAgICAgICAgICAgICBpZiAoIWkgfHwgIW8pIHJldHVybiBlID09PSBDID8gLTEgOiB0ID09PSBDID8gMSA6IGkgPyAtMSA6IG8gPyAxIDogdSA/IF8odSwgZSkgLSBfKHUsIHQpIDogMDsKICAgICAgICAgICAgICAgICAgICBpZiAoaSA9PT0gbykgcmV0dXJuIHVlKGUsIHQpOwogICAgICAgICAgICAgICAgICAgIGZvciAobiA9IGU7IG4gPSBuLnBhcmVudE5vZGU7KSBhLnVuc2hpZnQobik7CiAgICAgICAgICAgICAgICAgICAgZm9yIChuID0gdDsgbiA9IG4ucGFyZW50Tm9kZTspIHMudW5zaGlmdChuKTsKICAgICAgICAgICAgICAgICAgICBmb3IgKDsgYVtyXSA9PT0gc1tyXTspIHIrKzsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gciA/IHVlKGFbcl0sIHNbcl0pIDogYVtyXSA9PT0geCA/IC0xIDogc1tyXSA9PT0geCA/IDEgOiAwCiAgICAgICAgICAgICAgICB9KSwgQwogICAgICAgICAgICB9LCByZS5tYXRjaGVzID0gZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlKGUsIG51bGwsIG51bGwsIHQpCiAgICAgICAgICAgIH0sIHJlLm1hdGNoZXNTZWxlY3RvciA9IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgIGlmICgoZS5vd25lckRvY3VtZW50IHx8IGUpICE9PSBDICYmIFQoZSksIHQgPSB0LnJlcGxhY2UoeiwgIj0nJDEnXSIpLCBoLm1hdGNoZXNTZWxlY3RvciAmJiBFICYmICFTW3QgKyAiICJdICYmICghcyB8fCAhcy50ZXN0KHQpKSAmJiAoIXYgfHwgIXYudGVzdCh0KSkpIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBjLmNhbGwoZSwgdCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKG4gfHwgaC5kaXNjb25uZWN0ZWRNYXRjaCB8fCBlLmRvY3VtZW50ICYmIDExICE9PSBlLmRvY3VtZW50Lm5vZGVUeXBlKSByZXR1cm4gbgogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge30KICAgICAgICAgICAgICAgIHJldHVybiAwIDwgcmUodCwgQywgbnVsbCwgW2VdKS5sZW5ndGgKICAgICAgICAgICAgfSwgcmUuY29udGFpbnMgPSBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKGUub3duZXJEb2N1bWVudCB8fCBlKSAhPT0gQyAmJiBUKGUpLCB5KGUsIHQpCiAgICAgICAgICAgIH0sIHJlLmF0dHIgPSBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICAoZS5vd25lckRvY3VtZW50IHx8IGUpICE9PSBDICYmIFQoZSk7CiAgICAgICAgICAgICAgICB2YXIgbiA9IGIuYXR0ckhhbmRsZVt0LnRvTG93ZXJDYXNlKCldLAogICAgICAgICAgICAgICAgICAgIHIgPSBuICYmIEQuY2FsbChiLmF0dHJIYW5kbGUsIHQudG9Mb3dlckNhc2UoKSkgPyBuKGUsIHQsICFFKSA6IHZvaWQgMDsKICAgICAgICAgICAgICAgIHJldHVybiB2b2lkIDAgIT09IHIgPyByIDogaC5hdHRyaWJ1dGVzIHx8ICFFID8gZS5nZXRBdHRyaWJ1dGUodCkgOiAociA9IGUuZ2V0QXR0cmlidXRlTm9kZSh0KSkgJiYgci5zcGVjaWZpZWQgPyByLnZhbHVlIDogbnVsbAogICAgICAgICAgICB9LCByZS5lcnJvciA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIiArIGUpCiAgICAgICAgICAgIH0sIHJlLnVuaXF1ZVNvcnQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICB2YXIgdCwgbiA9IFtdLAogICAgICAgICAgICAgICAgICAgIHIgPSAwLAogICAgICAgICAgICAgICAgICAgIGkgPSAwOwogICAgICAgICAgICAgICAgaWYgKGwgPSAhaC5kZXRlY3REdXBsaWNhdGVzLCB1ID0gIWguc29ydFN0YWJsZSAmJiBlLnNsaWNlKDApLCBlLnNvcnQoQSksIGwpIHsKICAgICAgICAgICAgICAgICAgICBmb3IgKDsgdCA9IGVbaSsrXTspIHQgPT09IGVbaV0gJiYgKHIgPSBuLnB1c2goaSkpOwogICAgICAgICAgICAgICAgICAgIGZvciAoOyByLS07KSBlLnNwbGljZShuW3JdLCAxKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIHUgPSBudWxsLCBlCiAgICAgICAgICAgIH0sIG8gPSByZS5nZXRUZXh0ID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIHQsIG4gPSAiIiwKICAgICAgICAgICAgICAgICAgICByID0gMCwKICAgICAgICAgICAgICAgICAgICBpID0gZS5ub2RlVHlwZTsKICAgICAgICAgICAgICAgIGlmIChpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKDEgPT09IGkgfHwgOSA9PT0gaSB8fCAxMSA9PT0gaSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoInN0cmluZyIgPT0gdHlwZW9mIGUudGV4dENvbnRlbnQpIHJldHVybiBlLnRleHRDb250ZW50OwogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGUgPSBlLmZpcnN0Q2hpbGQ7IGU7IGUgPSBlLm5leHRTaWJsaW5nKSBuICs9IG8oZSkKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKDMgPT09IGkgfHwgNCA9PT0gaSkgcmV0dXJuIGUubm9kZVZhbHVlCiAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICBmb3IgKDsgdCA9IGVbcisrXTspIG4gKz0gbyh0KTsKICAgICAgICAgICAgICAgIHJldHVybiBuCiAgICAgICAgICAgIH0sIChiID0gcmUuc2VsZWN0b3JzID0gewogICAgICAgICAgICAgICAgY2FjaGVMZW5ndGg6IDUwLAogICAgICAgICAgICAgICAgY3JlYXRlUHNldWRvOiBvZSwKICAgICAgICAgICAgICAgIG1hdGNoOiBWLAogICAgICAgICAgICAgICAgYXR0ckhhbmRsZToge30sCiAgICAgICAgICAgICAgICBmaW5kOiB7fSwKICAgICAgICAgICAgICAgIHJlbGF0aXZlOiB7CiAgICAgICAgICAgICAgICAgICAgIj4iOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRpcjogInBhcmVudE5vZGUiLAogICAgICAgICAgICAgICAgICAgICAgICBmaXJzdDogITAKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICIgIjogewogICAgICAgICAgICAgICAgICAgICAgICBkaXI6ICJwYXJlbnROb2RlIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIisiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRpcjogInByZXZpb3VzU2libGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0OiAhMAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIn4iOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRpcjogInByZXZpb3VzU2libGluZyIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcHJlRmlsdGVyOiB7CiAgICAgICAgICAgICAgICAgICAgQVRUUjogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZVsxXSA9IGVbMV0ucmVwbGFjZShlZSwgdGUpLCBlWzNdID0gKGVbM10gfHwgZVs0XSB8fCBlWzVdIHx8ICIiKS5yZXBsYWNlKGVlLCB0ZSksICJ+PSIgPT09IGVbMl0gJiYgKGVbM10gPSAiICIgKyBlWzNdICsgIiAiKSwgZS5zbGljZSgwLCA0KQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgQ0hJTEQ6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVbMV0gPSBlWzFdLnRvTG93ZXJDYXNlKCksICJudGgiID09PSBlWzFdLnNsaWNlKDAsIDMpID8gKGVbM10gfHwgcmUuZXJyb3IoZVswXSksIGVbNF0gPSArKGVbNF0gPyBlWzVdICsgKGVbNl0gfHwgMSkgOiAyICogKCJldmVuIiA9PT0gZVszXSB8fCAib2RkIiA9PT0gZVszXSkpLCBlWzVdID0gKyhlWzddICsgZVs4XSB8fCAib2RkIiA9PT0gZVszXSkpIDogZVszXSAmJiByZS5lcnJvcihlWzBdKSwgZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgUFNFVURPOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0LCBuID0gIWVbNl0gJiYgZVsyXTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFYuQ0hJTEQudGVzdChlWzBdKSA/IG51bGwgOiAoZVszXSA/IGVbMl0gPSBlWzRdIHx8IGVbNV0gfHwgIiIgOiBuICYmIFgudGVzdChuKSAmJiAodCA9IGcobiwgITApKSAmJiAodCA9IG4uaW5kZXhPZigiKSIsIG4ubGVuZ3RoIC0gdCkgLSBuLmxlbmd0aCkgJiYgKGVbMF0gPSBlWzBdLnNsaWNlKDAsIHQpLCBlWzJdID0gbi5zbGljZSgwLCB0KSksIGUuc2xpY2UoMCwgMykpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGZpbHRlcjogewogICAgICAgICAgICAgICAgICAgIFRBRzogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGUucmVwbGFjZShlZSwgdGUpLnRvTG93ZXJDYXNlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiKiIgPT09IGUgPyBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhMAogICAgICAgICAgICAgICAgICAgICAgICB9IDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUubm9kZU5hbWUgJiYgZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSB0CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIENMQVNTOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZltlICsgIiAiXTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgfHwgKHQgPSBuZXcgUmVnRXhwKCIoXnwiICsgTSArICIpIiArIGUgKyAiKCIgKyBNICsgInwkKSIpKSAmJiBmKGUsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0LnRlc3QoInN0cmluZyIgPT0gdHlwZW9mIGUuY2xhc3NOYW1lICYmIGUuY2xhc3NOYW1lIHx8IHZvaWQgMCAhPT0gZS5nZXRBdHRyaWJ1dGUgJiYgZS5nZXRBdHRyaWJ1dGUoImNsYXNzIikgfHwgIiIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBBVFRSOiBmdW5jdGlvbihuLCByLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHJlLmF0dHIoZSwgbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCA9PSB0ID8gIiE9IiA9PT0gciA6ICFyIHx8ICh0ICs9ICIiLCAiPSIgPT09IHIgPyB0ID09PSBpIDogIiE9IiA9PT0gciA/IHQgIT09IGkgOiAiXj0iID09PSByID8gaSAmJiAwID09PSB0LmluZGV4T2YoaSkgOiAiKj0iID09PSByID8gaSAmJiAtMSA8IHQuaW5kZXhPZihpKSA6ICIkPSIgPT09IHIgPyBpICYmIHQuc2xpY2UoLWkubGVuZ3RoKSA9PT0gaSA6ICJ+PSIgPT09IHIgPyAtMSA8ICgiICIgKyB0LnJlcGxhY2UoQiwgIiAiKSArICIgIikuaW5kZXhPZihpKSA6ICJ8PSIgPT09IHIgJiYgKHQgPT09IGkgfHwgdC5zbGljZSgwLCBpLmxlbmd0aCArIDEpID09PSBpICsgIi0iKSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgQ0hJTEQ6IGZ1bmN0aW9uKGgsIGUsIHQsIGcsIG0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHYgPSAibnRoIiAhPT0gaC5zbGljZSgwLCAzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkgPSAibGFzdCIgIT09IGguc2xpY2UoLTQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeCA9ICJvZi10eXBlIiA9PT0gZTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEgPT09IGcgJiYgMCA9PT0gbSA/IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhIWUucGFyZW50Tm9kZQogICAgICAgICAgICAgICAgICAgICAgICB9IDogZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHIsIGksIG8sIGEsIHMsIHUsIGwgPSB2ICE9PSB5ID8gIm5leHRTaWJsaW5nIiA6ICJwcmV2aW91c1NpYmxpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMgPSBlLnBhcmVudE5vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZCA9IHggJiYgZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYgPSAhbiAmJiAheCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwID0gITE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoOyBsOykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChhID0gZTsgYSA9IGFbbF07KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4ID8gYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBkIDogMSA9PT0gYS5ub2RlVHlwZSkgcmV0dXJuICExOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdSA9IGwgPSAib25seSIgPT09IGggJiYgIXUgJiYgIm5leHRTaWJsaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodSA9IFt5ID8gYy5maXJzdENoaWxkIDogYy5sYXN0Q2hpbGRdLCB5ICYmIGYpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChwID0gKHMgPSAociA9IChpID0gKG8gPSAoYSA9IGMpW05dIHx8IChhW05dID0ge30pKVthLnVuaXF1ZUlEXSB8fCAob1thLnVuaXF1ZUlEXSA9IHt9KSlbaF0gfHwgW10pWzBdID09PSBrICYmIHJbMV0pICYmIHJbMl0sIGEgPSBzICYmIGMuY2hpbGROb2Rlc1tzXTsgYSA9ICsrcyAmJiBhICYmIGFbbF0gfHwgKHAgPSBzID0gMCkgfHwgdS5wb3AoKTspCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoMSA9PT0gYS5ub2RlVHlwZSAmJiArK3AgJiYgYSA9PT0gZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlbaF0gPSBbaywgcywgcF07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGYgJiYgKHAgPSBzID0gKHIgPSAoaSA9IChvID0gKGEgPSBlKVtOXSB8fCAoYVtOXSA9IHt9KSlbYS51bmlxdWVJRF0gfHwgKG9bYS51bmlxdWVJRF0gPSB7fSkpW2hdIHx8IFtdKVswXSA9PT0gayAmJiByWzFdKSwgITEgPT09IHApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGEgPSArK3MgJiYgYSAmJiBhW2xdIHx8IChwID0gcyA9IDApIHx8IHUucG9wKCkpICYmICgoeCA/IGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSAhPT0gZCA6IDEgIT09IGEubm9kZVR5cGUpIHx8ICErK3AgfHwgKGYgJiYgKChpID0gKG8gPSBhW05dIHx8IChhW05dID0ge30pKVthLnVuaXF1ZUlEXSB8fCAob1thLnVuaXF1ZUlEXSA9IHt9KSlbaF0gPSBbaywgcF0pLCBhICE9PSBlKSk7KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHAgLT0gbSkgPT09IGcgfHwgcCAlIGcgPT0gMCAmJiAwIDw9IHAgLyBnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIFBTRVVETzogZnVuY3Rpb24oZSwgbykgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCwgYSA9IGIucHNldWRvc1tlXSB8fCBiLnNldEZpbHRlcnNbZS50b0xvd2VyQ2FzZSgpXSB8fCByZS5lcnJvcigidW5zdXBwb3J0ZWQgcHNldWRvOiAiICsgZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhW05dID8gYShvKSA6IDEgPCBhLmxlbmd0aCA/ICh0ID0gW2UsIGUsICIiLCBvXSwgYi5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGUudG9Mb3dlckNhc2UoKSkgPyBvZShmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBuLCByID0gYShlLCBvKSwgaSA9IHIubGVuZ3RoOyBpLS07KSBlW24gPSBfKGUsIHJbaV0pXSA9ICEodFtuXSA9IHJbaV0pCiAgICAgICAgICAgICAgICAgICAgICAgIH0pIDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEoZSwgMCwgdCkKICAgICAgICAgICAgICAgICAgICAgICAgfSkgOiBhCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHBzZXVkb3M6IHsKICAgICAgICAgICAgICAgICAgICBub3Q6IG9lKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHIgPSBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMgPSBkKGUucmVwbGFjZShXLCAiJDEiKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzW05dID8gb2UoZnVuY3Rpb24oZSwgdCwgbiwgcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSwgbyA9IHMoZSwgbnVsbCwgciwgW10pLCBhID0gZS5sZW5ndGg7IGEtLTspKGkgPSBvW2FdKSAmJiAoZVthXSA9ICEodFthXSA9IGkpKQogICAgICAgICAgICAgICAgICAgICAgICB9KSA6IGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByWzBdID0gZSwgcyhyLCBudWxsLCBuLCBpKSwgclswXSA9IG51bGwsICFpLnBvcCgpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KSwKICAgICAgICAgICAgICAgICAgICBoYXM6IG9lKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwIDwgcmUodCwgZSkubGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KSwKICAgICAgICAgICAgICAgICAgICBjb250YWluczogb2UoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdCA9IHQucmVwbGFjZShlZSwgdGUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMSA8IChlLnRleHRDb250ZW50IHx8IGUuaW5uZXJUZXh0IHx8IG8oZSkpLmluZGV4T2YodCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KSwKICAgICAgICAgICAgICAgICAgICBsYW5nOiBvZShmdW5jdGlvbihuKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBVLnRlc3QobiB8fCAiIikgfHwgcmUuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIgKyBuKSwgbiA9IG4ucmVwbGFjZShlZSwgdGUpLnRvTG93ZXJDYXNlKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodCA9IEUgPyBlLmxhbmcgOiBlLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKSB8fCBlLmdldEF0dHJpYnV0ZSgibGFuZyIpKSByZXR1cm4gKHQgPSB0LnRvTG93ZXJDYXNlKCkpID09PSBuIHx8IDAgPT09IHQuaW5kZXhPZihuICsgIi0iKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKChlID0gZS5wYXJlbnROb2RlKSAmJiAxID09PSBlLm5vZGVUeXBlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gITEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KSwKICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBuLmxvY2F0aW9uICYmIG4ubG9jYXRpb24uaGFzaDsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgJiYgdC5zbGljZSgxKSA9PT0gZS5pZAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgcm9vdDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZSA9PT0gYQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgZm9jdXM6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUgPT09IEMuYWN0aXZlRWxlbWVudCAmJiAoIUMuaGFzRm9jdXMgfHwgQy5oYXNGb2N1cygpKSAmJiAhIShlLnR5cGUgfHwgZS5ocmVmIHx8IH5lLnRhYkluZGV4KQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gITEgPT09IGUuZGlzYWJsZWQKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhMCA9PT0gZS5kaXNhYmxlZAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbnB1dCIgPT09IHQgJiYgISFlLmNoZWNrZWQgfHwgIm9wdGlvbiIgPT09IHQgJiYgISFlLnNlbGVjdGVkCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZS5wYXJlbnROb2RlICYmIGUucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LCAhMCA9PT0gZS5zZWxlY3RlZAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgZW1wdHk6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChlID0gZS5maXJzdENoaWxkOyBlOyBlID0gZS5uZXh0U2libGluZykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLm5vZGVUeXBlIDwgNikgcmV0dXJuICExOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gITAKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHBhcmVudDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWIucHNldWRvcy5lbXB0eShlKQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKLnRlc3QoZS5ub2RlTmFtZSkKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBZLnRlc3QoZS5ub2RlTmFtZSkKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGJ1dHRvbjogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbnB1dCIgPT09IHQgJiYgImJ1dHRvbiIgPT09IGUudHlwZSB8fCAiYnV0dG9uIiA9PT0gdAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgdGV4dDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdDsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbnB1dCIgPT09IGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSAmJiAidGV4dCIgPT09IGUudHlwZSAmJiAobnVsbCA9PSAodCA9IGUuZ2V0QXR0cmlidXRlKCJ0eXBlIikpIHx8ICJ0ZXh0IiA9PT0gdC50b0xvd2VyQ2FzZSgpKQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgZmlyc3Q6IGRlKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzBdCiAgICAgICAgICAgICAgICAgICAgfSksCiAgICAgICAgICAgICAgICAgICAgbGFzdDogZGUoZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3QgLSAxXQogICAgICAgICAgICAgICAgICAgIH0pLAogICAgICAgICAgICAgICAgICAgIGVxOiBkZShmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbbiA8IDAgPyBuICsgdCA6IG5dCiAgICAgICAgICAgICAgICAgICAgfSksCiAgICAgICAgICAgICAgICAgICAgZXZlbjogZGUoZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBuID0gMDsgbiA8IHQ7IG4gKz0gMikgZS5wdXNoKG4pOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZQogICAgICAgICAgICAgICAgICAgIH0pLAogICAgICAgICAgICAgICAgICAgIG9kZDogZGUoZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBuID0gMTsgbiA8IHQ7IG4gKz0gMikgZS5wdXNoKG4pOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZQogICAgICAgICAgICAgICAgICAgIH0pLAogICAgICAgICAgICAgICAgICAgIGx0OiBkZShmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIHIgPSBuIDwgMCA/IG4gKyB0IDogbjsgMCA8PSAtLXI7KSBlLnB1c2gocik7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlCiAgICAgICAgICAgICAgICAgICAgfSksCiAgICAgICAgICAgICAgICAgICAgZ3Q6IGRlKGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgciA9IG4gPCAwID8gbiArIHQgOiBuOyArK3IgPCB0OykgZS5wdXNoKHIpOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLnBzZXVkb3MubnRoID0gYi5wc2V1ZG9zLmVxLCB7CiAgICAgICAgICAgICAgICByYWRpbzogITAsCiAgICAgICAgICAgICAgICBjaGVja2JveDogITAsCiAgICAgICAgICAgICAgICBmaWxlOiAhMCwKICAgICAgICAgICAgICAgIHBhc3N3b3JkOiAhMCwKICAgICAgICAgICAgICAgIGltYWdlOiAhMAogICAgICAgICAgICB9KSBiLnBzZXVkb3NbZV0gPSBsZShlKTsKICAgICAgICBmb3IgKGUgaW4gewogICAgICAgICAgICAgICAgc3VibWl0OiAhMCwKICAgICAgICAgICAgICAgIHJlc2V0OiAhMAogICAgICAgICAgICB9KSBiLnBzZXVkb3NbZV0gPSBjZShlKTsKCiAgICAgICAgZnVuY3Rpb24gcGUoKSB7fQoKICAgICAgICBmdW5jdGlvbiBoZShlKSB7CiAgICAgICAgICAgIGZvciAodmFyIHQgPSAwLCBuID0gZS5sZW5ndGgsIHIgPSAiIjsgdCA8IG47IHQrKykgciArPSBlW3RdLnZhbHVlOwogICAgICAgICAgICByZXR1cm4gcgogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gZ2UocywgZSwgdCkgewogICAgICAgICAgICB2YXIgdSA9IGUuZGlyLAogICAgICAgICAgICAgICAgbCA9IHQgJiYgInBhcmVudE5vZGUiID09PSB1LAogICAgICAgICAgICAgICAgYyA9IHIrKzsKICAgICAgICAgICAgcmV0dXJuIGUuZmlyc3QgPyBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgICAgICBmb3IgKDsgZSA9IGVbdV07KQogICAgICAgICAgICAgICAgICAgIGlmICgxID09PSBlLm5vZGVUeXBlIHx8IGwpIHJldHVybiBzKGUsIHQsIG4pCiAgICAgICAgICAgIH0gOiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgICAgICB2YXIgciwgaSwgbywgYSA9IFtrLCBjXTsKICAgICAgICAgICAgICAgIGlmIChuKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yICg7IGUgPSBlW3VdOykKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgxID09PSBlLm5vZGVUeXBlIHx8IGwpICYmIHMoZSwgdCwgbikpIHJldHVybiAhMAogICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgZm9yICg7IGUgPSBlW3VdOykKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKDEgPT09IGUubm9kZVR5cGUgfHwgbCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChyID0gKGkgPSAobyA9IGVbTl0gfHwgKGVbTl0gPSB7fSkpW2UudW5pcXVlSURdIHx8IChvW2UudW5pcXVlSURdID0ge30pKVt1XSkgJiYgclswXSA9PT0gayAmJiByWzFdID09PSBjKSByZXR1cm4gYVsyXSA9IHJbMl07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGlbdV0gPSBhKVsyXSA9IHMoZSwgdCwgbikpIHJldHVybiAhMAogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIG1lKGkpIHsKICAgICAgICAgICAgcmV0dXJuIDEgPCBpLmxlbmd0aCA/IGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIHIgPSBpLmxlbmd0aDsgci0tOykKICAgICAgICAgICAgICAgICAgICBpZiAoIWlbcl0oZSwgdCwgbikpIHJldHVybiAhMTsKICAgICAgICAgICAgICAgIHJldHVybiAhMAogICAgICAgICAgICB9IDogaVswXQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gdmUoZSwgdCwgbiwgciwgaSkgewogICAgICAgICAgICBmb3IgKHZhciBvLCBhID0gW10sIHMgPSAwLCB1ID0gZS5sZW5ndGgsIGwgPSBudWxsICE9IHQ7IHMgPCB1OyBzKyspKG8gPSBlW3NdKSAmJiAobiAmJiAhbihvLCByLCBpKSB8fCAoYS5wdXNoKG8pLCBsICYmIHQucHVzaChzKSkpOwogICAgICAgICAgICByZXR1cm4gYQogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24geWUocCwgaCwgZywgbSwgdiwgZSkgewogICAgICAgICAgICByZXR1cm4gbSAmJiAhbVtOXSAmJiAobSA9IHllKG0pKSwgdiAmJiAhdltOXSAmJiAodiA9IHllKHYsIGUpKSwgb2UoZnVuY3Rpb24oZSwgdCwgbiwgcikgewogICAgICAgICAgICAgICAgdmFyIGksIG8sIGEsIHMgPSBbXSwKICAgICAgICAgICAgICAgICAgICB1ID0gW10sCiAgICAgICAgICAgICAgICAgICAgbCA9IHQubGVuZ3RoLAogICAgICAgICAgICAgICAgICAgIGMgPSBlIHx8IGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgciA9IDAsIGkgPSB0Lmxlbmd0aDsgciA8IGk7IHIrKykgcmUoZSwgdFtyXSwgbik7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuCiAgICAgICAgICAgICAgICAgICAgfShoIHx8ICIqIiwgbi5ub2RlVHlwZSA/IFtuXSA6IG4sIFtdKSwKICAgICAgICAgICAgICAgICAgICBkID0gIXAgfHwgIWUgJiYgaCA/IGMgOiB2ZShjLCBzLCBwLCBuLCByKSwKICAgICAgICAgICAgICAgICAgICBmID0gZyA/IHYgfHwgKGUgPyBwIDogbCB8fCBtKSA/IFtdIDogdCA6IGQ7CiAgICAgICAgICAgICAgICBpZiAoZyAmJiBnKGQsIGYsIG4sIHIpLCBtKQogICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IHZlKGYsIHUpLCBtKGksIFtdLCBuLCByKSwgbyA9IGkubGVuZ3RoOyBvLS07KShhID0gaVtvXSkgJiYgKGZbdVtvXV0gPSAhKGRbdVtvXV0gPSBhKSk7CiAgICAgICAgICAgICAgICBpZiAoZSkgewogICAgICAgICAgICAgICAgICAgIGlmICh2IHx8IHApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IFtdLCBvID0gZi5sZW5ndGg7IG8tLTspKGEgPSBmW29dKSAmJiBpLnB1c2goZFtvXSA9IGEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdihudWxsLCBmID0gW10sIGksIHIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChvID0gZi5sZW5ndGg7IG8tLTspKGEgPSBmW29dKSAmJiAtMSA8IChpID0gdiA/IF8oZSwgYSkgOiBzW29dKSAmJiAoZVtpXSA9ICEodFtpXSA9IGEpKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gZWxzZSBmID0gdmUoZiA9PT0gdCA/IGYuc3BsaWNlKGwsIGYubGVuZ3RoKSA6IGYpLCB2ID8gdihudWxsLCB0LCBmLCByKSA6IEguYXBwbHkodCwgZikKICAgICAgICAgICAgfSkKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHhlKGUpIHsKICAgICAgICAgICAgZm9yICh2YXIgaSwgdCwgbiwgciA9IGUubGVuZ3RoLCBvID0gYi5yZWxhdGl2ZVtlWzBdLnR5cGVdLCBhID0gbyB8fCBiLnJlbGF0aXZlWyIgIl0sIHMgPSBvID8gMSA6IDAsIHUgPSBnZShmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUgPT09IGkKICAgICAgICAgICAgICAgIH0sIGEsICEwKSwgbCA9IGdlKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEgPCBfKGksIGUpCiAgICAgICAgICAgICAgICB9LCBhLCAhMCksIGMgPSBbZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICAgICAgICAgIHZhciByID0gIW8gJiYgKG4gfHwgdCAhPT0gdykgfHwgKChpID0gdCkubm9kZVR5cGUgPyB1KGUsIHQsIG4pIDogbChlLCB0LCBuKSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkgPSBudWxsLCByCiAgICAgICAgICAgICAgICB9XTsgcyA8IHI7IHMrKykKICAgICAgICAgICAgICAgIGlmICh0ID0gYi5yZWxhdGl2ZVtlW3NdLnR5cGVdKSBjID0gW2dlKG1lKGMpLCB0KV07CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoKHQgPSBiLmZpbHRlcltlW3NdLnR5cGVdLmFwcGx5KG51bGwsIGVbc10ubWF0Y2hlcykpW05dKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobiA9ICsrczsgbiA8IHIgJiYgIWIucmVsYXRpdmVbZVtuXS50eXBlXTsgbisrKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHllKDEgPCBzICYmIG1lKGMpLCAxIDwgcyAmJiBoZShlLnNsaWNlKDAsIHMgLSAxKS5jb25jYXQoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICIgIiA9PT0gZVtzIC0gMl0udHlwZSA/ICIqIiA6ICIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0pKS5yZXBsYWNlKFcsICIkMSIpLCB0LCBzIDwgbiAmJiB4ZShlLnNsaWNlKHMsIG4pKSwgbiA8IHIgJiYgeGUoZSA9IGUuc2xpY2UobikpLCBuIDwgciAmJiBoZShlKSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgYy5wdXNoKHQpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBtZShjKQogICAgICAgIH0KICAgICAgICByZXR1cm4gcGUucHJvdG90eXBlID0gYi5maWx0ZXJzID0gYi5wc2V1ZG9zLCBiLnNldEZpbHRlcnMgPSBuZXcgcGUsIGcgPSByZS50b2tlbml6ZSA9IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgdmFyIG4sIHIsIGksIG8sIGEsIHMsIHUsIGwgPSBwW2UgKyAiICJdOwogICAgICAgICAgICBpZiAobCkgcmV0dXJuIHQgPyAwIDogbC5zbGljZSgwKTsKICAgICAgICAgICAgZm9yIChhID0gZSwgcyA9IFtdLCB1ID0gYi5wcmVGaWx0ZXI7IGE7KSB7CiAgICAgICAgICAgICAgICBmb3IgKG8gaW4gbiAmJiAhKHIgPSBJLmV4ZWMoYSkpIHx8IChyICYmIChhID0gYS5zbGljZShyWzBdLmxlbmd0aCkgfHwgYSksIHMucHVzaChpID0gW10pKSwgbiA9ICExLCAociA9ICQuZXhlYyhhKSkgJiYgKG4gPSByLnNoaWZ0KCksIGkucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBuLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiByWzBdLnJlcGxhY2UoVywgIiAiKQogICAgICAgICAgICAgICAgICAgIH0pLCBhID0gYS5zbGljZShuLmxlbmd0aCkpLCBiLmZpbHRlcikgIShyID0gVltvXS5leGVjKGEpKSB8fCB1W29dICYmICEociA9IHVbb10ocikpIHx8IChuID0gci5zaGlmdCgpLCBpLnB1c2goewogICAgICAgICAgICAgICAgICAgIHZhbHVlOiBuLAogICAgICAgICAgICAgICAgICAgIHR5cGU6IG8sCiAgICAgICAgICAgICAgICAgICAgbWF0Y2hlczogcgogICAgICAgICAgICAgICAgfSksIGEgPSBhLnNsaWNlKG4ubGVuZ3RoKSk7CiAgICAgICAgICAgICAgICBpZiAoIW4pIGJyZWFrCiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHQgPyBhLmxlbmd0aCA6IGEgPyByZS5lcnJvcihlKSA6IHAoZSwgcykuc2xpY2UoMCkKICAgICAgICB9LCBkID0gcmUuY29tcGlsZSA9IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgdmFyIG4sIG0sIHYsIHksIHgsIHIsIGkgPSBbXSwKICAgICAgICAgICAgICAgIG8gPSBbXSwKICAgICAgICAgICAgICAgIGEgPSBTW2UgKyAiICJdOwogICAgICAgICAgICBpZiAoIWEpIHsKICAgICAgICAgICAgICAgIGZvciAodCB8fCAodCA9IGcoZSkpLCBuID0gdC5sZW5ndGg7IG4tLTspKGEgPSB4ZSh0W25dKSlbTl0gPyBpLnB1c2goYSkgOiBvLnB1c2goYSk7CiAgICAgICAgICAgICAgICAoYSA9IFMoZSwgKG0gPSBvLCB5ID0gMCA8ICh2ID0gaSkubGVuZ3RoLCB4ID0gMCA8IG0ubGVuZ3RoLCByID0gZnVuY3Rpb24oZSwgdCwgbiwgciwgaSkgewogICAgICAgICAgICAgICAgICAgIHZhciBvLCBhLCBzLCB1ID0gMCwKICAgICAgICAgICAgICAgICAgICAgICAgbCA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgYyA9IGUgJiYgW10sCiAgICAgICAgICAgICAgICAgICAgICAgIGQgPSBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgZiA9IHcsCiAgICAgICAgICAgICAgICAgICAgICAgIHAgPSBlIHx8IHggJiYgYi5maW5kLlRBRygiKiIsIGkpLAogICAgICAgICAgICAgICAgICAgICAgICBoID0gayArPSBudWxsID09IGYgPyAxIDogTWF0aC5yYW5kb20oKSB8fCAuMSwKICAgICAgICAgICAgICAgICAgICAgICAgZyA9IHAubGVuZ3RoOwogICAgICAgICAgICAgICAgICAgIGZvciAoaSAmJiAodyA9IHQgPT09IEMgfHwgdCB8fCBpKTsgbCAhPT0gZyAmJiBudWxsICE9IChvID0gcFtsXSk7IGwrKykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoeCAmJiBvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGEgPSAwLCB0IHx8IG8ub3duZXJEb2N1bWVudCA9PT0gQyB8fCAoVChvKSwgbiA9ICFFKTsgcyA9IG1bYSsrXTspCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHMobywgdCB8fCBDLCBuKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByLnB1c2gobyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSAmJiAoayA9IGgpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgeSAmJiAoKG8gPSAhcyAmJiBvKSAmJiB1LS0sIGUgJiYgYy5wdXNoKG8pKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAodSArPSBsLCB5ICYmIGwgIT09IHUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChhID0gMDsgcyA9IHZbYSsrXTspIHMoYywgZCwgdCwgbik7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoMCA8IHUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICg7IGwtLTspIGNbbF0gfHwgZFtsXSB8fCAoZFtsXSA9IGouY2FsbChyKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkID0gdmUoZCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBILmFwcGx5KHIsIGQpLCBpICYmICFlICYmIDAgPCBkLmxlbmd0aCAmJiAxIDwgdSArIHYubGVuZ3RoICYmIHJlLnVuaXF1ZVNvcnQocikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkgJiYgKGsgPSBoLCB3ID0gZiksIGMKICAgICAgICAgICAgICAgIH0sIHkgPyBvZShyKSA6IHIpKSkuc2VsZWN0b3IgPSBlCiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGEKICAgICAgICB9LCBtID0gcmUuc2VsZWN0ID0gZnVuY3Rpb24oZSwgdCwgbiwgcikgewogICAgICAgICAgICB2YXIgaSwgbywgYSwgcywgdSwgbCA9ICJmdW5jdGlvbiIgPT0gdHlwZW9mIGUgJiYgZSwKICAgICAgICAgICAgICAgIGMgPSAhciAmJiBnKGUgPSBsLnNlbGVjdG9yIHx8IGUpOwogICAgICAgICAgICBpZiAobiA9IG4gfHwgW10sIDEgPT09IGMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBpZiAoMiA8IChvID0gY1swXSA9IGNbMF0uc2xpY2UoMCkpLmxlbmd0aCAmJiAiSUQiID09PSAoYSA9IG9bMF0pLnR5cGUgJiYgaC5nZXRCeUlkICYmIDkgPT09IHQubm9kZVR5cGUgJiYgRSAmJiBiLnJlbGF0aXZlW29bMV0udHlwZV0pIHsKICAgICAgICAgICAgICAgICAgICBpZiAoISh0ID0gKGIuZmluZC5JRChhLm1hdGNoZXNbMF0ucmVwbGFjZShlZSwgdGUpLCB0KSB8fCBbXSlbMF0pKSByZXR1cm4gbjsKICAgICAgICAgICAgICAgICAgICBsICYmICh0ID0gdC5wYXJlbnROb2RlKSwgZSA9IGUuc2xpY2Uoby5zaGlmdCgpLnZhbHVlLmxlbmd0aCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZvciAoaSA9IFYubmVlZHNDb250ZXh0LnRlc3QoZSkgPyAwIDogby5sZW5ndGg7IGktLSAmJiAoYSA9IG9baV0sICFiLnJlbGF0aXZlW3MgPSBhLnR5cGVdKTspCiAgICAgICAgICAgICAgICAgICAgaWYgKCh1ID0gYi5maW5kW3NdKSAmJiAociA9IHUoYS5tYXRjaGVzWzBdLnJlcGxhY2UoZWUsIHRlKSwgSy50ZXN0KG9bMF0udHlwZSkgJiYgZmUodC5wYXJlbnROb2RlKSB8fCB0KSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG8uc3BsaWNlKGksIDEpLCAhKGUgPSByLmxlbmd0aCAmJiBoZShvKSkpIHJldHVybiBILmFwcGx5KG4sIHIpLCBuOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gKGwgfHwgZChlLCBjKSkociwgdCwgIUUsIG4sICF0IHx8IEsudGVzdChlKSAmJiBmZSh0LnBhcmVudE5vZGUpIHx8IHQpLCBuCiAgICAgICAgfSwgaC5zb3J0U3RhYmxlID0gTi5zcGxpdCgiIikuc29ydChBKS5qb2luKCIiKSA9PT0gTiwgaC5kZXRlY3REdXBsaWNhdGVzID0gISFsLCBUKCksIGguc29ydERldGFjaGVkID0gYWUoZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gMSAmIGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oQy5jcmVhdGVFbGVtZW50KCJkaXYiKSkKICAgICAgICB9KSwgYWUoZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gZS5pbm5lckhUTUwgPSAiPGEgaHJlZj0nIyc+PC9hPiIsICIjIiA9PT0gZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiaHJlZiIpCiAgICAgICAgfSkgfHwgc2UoInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLCBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgIHJldHVybiBuID8gdm9pZCAwIDogZS5nZXRBdHRyaWJ1dGUodCwgInR5cGUiID09PSB0LnRvTG93ZXJDYXNlKCkgPyAxIDogMikKICAgICAgICB9KSwgaC5hdHRyaWJ1dGVzICYmIGFlKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIGUuaW5uZXJIVE1MID0gIjxpbnB1dC8+IiwgZS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiIiksICIiID09PSBlLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpCiAgICAgICAgfSkgfHwgc2UoInZhbHVlIiwgZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICByZXR1cm4gbiB8fCAiaW5wdXQiICE9PSBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPyB2b2lkIDAgOiBlLmRlZmF1bHRWYWx1ZQogICAgICAgIH0pLCBhZShmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsID09IGUuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpCiAgICAgICAgfSkgfHwgc2UoRiwgZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICB2YXIgcjsKICAgICAgICAgICAgcmV0dXJuIG4gPyB2b2lkIDAgOiAhMCA9PT0gZVt0XSA/IHQudG9Mb3dlckNhc2UoKSA6IChyID0gZS5nZXRBdHRyaWJ1dGVOb2RlKHQpKSAmJiByLnNwZWNpZmllZCA/IHIudmFsdWUgOiBudWxsCiAgICAgICAgfSksIHJlCiAgICB9KEMpOwogICAgRS5maW5kID0gcCwgRS5leHByID0gcC5zZWxlY3RvcnMsIEUuZXhwclsiOiJdID0gRS5leHByLnBzZXVkb3MsIEUudW5pcXVlU29ydCA9IEUudW5pcXVlID0gcC51bmlxdWVTb3J0LCBFLnRleHQgPSBwLmdldFRleHQsIEUuaXNYTUxEb2MgPSBwLmlzWE1MLCBFLmNvbnRhaW5zID0gcC5jb250YWluczsKICAgIHZhciB5ID0gZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICBmb3IgKHZhciByID0gW10sIGkgPSB2b2lkIDAgIT09IG47CiAgICAgICAgICAgICAgICAoZSA9IGVbdF0pICYmIDkgIT09IGUubm9kZVR5cGU7KQogICAgICAgICAgICAgICAgaWYgKDEgPT09IGUubm9kZVR5cGUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoaSAmJiBFKGUpLmlzKG4pKSBicmVhazsKICAgICAgICAgICAgICAgICAgICByLnB1c2goZSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHIKICAgICAgICB9LAogICAgICAgIHggPSBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIGZvciAodmFyIG4gPSBbXTsgZTsgZSA9IGUubmV4dFNpYmxpbmcpIDEgPT09IGUubm9kZVR5cGUgJiYgZSAhPT0gdCAmJiBuLnB1c2goZSk7CiAgICAgICAgICAgIHJldHVybiBuCiAgICAgICAgfSwKICAgICAgICBiID0gRS5leHByLm1hdGNoLm5lZWRzQ29udGV4dCwKICAgICAgICB3ID0gL148KFtcdy1dKylccypcLz8+KD86PFwvXDE+fCkkLywKICAgICAgICBUID0gL14uW146I1xbXC4sXSokLzsKCiAgICBmdW5jdGlvbiBOKGUsIG4sIHIpIHsKICAgICAgICBpZiAoRS5pc0Z1bmN0aW9uKG4pKSByZXR1cm4gRS5ncmVwKGUsIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgcmV0dXJuICEhbi5jYWxsKGUsIHQsIGUpICE9PSByCiAgICAgICAgfSk7CiAgICAgICAgaWYgKG4ubm9kZVR5cGUpIHJldHVybiBFLmdyZXAoZSwgZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gZSA9PT0gbiAhPT0gcgogICAgICAgIH0pOwogICAgICAgIGlmICgic3RyaW5nIiA9PSB0eXBlb2YgbikgewogICAgICAgICAgICBpZiAoVC50ZXN0KG4pKSByZXR1cm4gRS5maWx0ZXIobiwgZSwgcik7CiAgICAgICAgICAgIG4gPSBFLmZpbHRlcihuLCBlKQogICAgICAgIH0KICAgICAgICByZXR1cm4gRS5ncmVwKGUsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIC0xIDwgRS5pbkFycmF5KGUsIG4pICE9PSByCiAgICAgICAgfSkKICAgIH0KICAgIEUuZmlsdGVyID0gZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgIHZhciByID0gdFswXTsKICAgICAgICByZXR1cm4gbiAmJiAoZSA9ICI6bm90KCIgKyBlICsgIikiKSwgMSA9PT0gdC5sZW5ndGggJiYgMSA9PT0gci5ub2RlVHlwZSA/IEUuZmluZC5tYXRjaGVzU2VsZWN0b3IociwgZSkgPyBbcl0gOiBbXSA6IEUuZmluZC5tYXRjaGVzKGUsIEUuZ3JlcCh0LCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiAxID09PSBlLm5vZGVUeXBlCiAgICAgICAgfSkpCiAgICB9LCBFLmZuLmV4dGVuZCh7CiAgICAgICAgZmluZDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgdCwgbiA9IFtdLAogICAgICAgICAgICAgICAgciA9IHRoaXMsCiAgICAgICAgICAgICAgICBpID0gci5sZW5ndGg7CiAgICAgICAgICAgIGlmICgic3RyaW5nIiAhPSB0eXBlb2YgZSkgcmV0dXJuIHRoaXMucHVzaFN0YWNrKEUoZSkuZmlsdGVyKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZm9yICh0ID0gMDsgdCA8IGk7IHQrKykKICAgICAgICAgICAgICAgICAgICBpZiAoRS5jb250YWlucyhyW3RdLCB0aGlzKSkgcmV0dXJuICEwCiAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgZm9yICh0ID0gMDsgdCA8IGk7IHQrKykgRS5maW5kKGUsIHJbdF0sIG4pOwogICAgICAgICAgICByZXR1cm4gKG4gPSB0aGlzLnB1c2hTdGFjaygxIDwgaSA/IEUudW5pcXVlKG4pIDogbikpLnNlbGVjdG9yID0gdGhpcy5zZWxlY3RvciA/IHRoaXMuc2VsZWN0b3IgKyAiICIgKyBlIDogZSwgbgogICAgICAgIH0sCiAgICAgICAgZmlsdGVyOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnB1c2hTdGFjayhOKHRoaXMsIGUgfHwgW10sICExKSkKICAgICAgICB9LAogICAgICAgIG5vdDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5wdXNoU3RhY2soTih0aGlzLCBlIHx8IFtdLCAhMCkpCiAgICAgICAgfSwKICAgICAgICBpczogZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gISFOKHRoaXMsICJzdHJpbmciID09IHR5cGVvZiBlICYmIGIudGVzdChlKSA/IEUoZSkgOiBlIHx8IFtdLCAhMSkubGVuZ3RoCiAgICAgICAgfQogICAgfSk7CiAgICB2YXIgaywgUyA9IC9eKD86XHMqKDxbXHdcV10rPilbXj5dKnwjKFtcdy1dKikpJC87CiAgICAoRS5mbi5pbml0ID0gZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgIHZhciByLCBpOwogICAgICAgIGlmICghZSkgcmV0dXJuIHRoaXM7CiAgICAgICAgaWYgKG4gPSBuIHx8IGssICJzdHJpbmciICE9IHR5cGVvZiBlKSByZXR1cm4gZS5ub2RlVHlwZSA/ICh0aGlzLmNvbnRleHQgPSB0aGlzWzBdID0gZSwgdGhpcy5sZW5ndGggPSAxLCB0aGlzKSA6IEUuaXNGdW5jdGlvbihlKSA/IHZvaWQgMCAhPT0gbi5yZWFkeSA/IG4ucmVhZHkoZSkgOiBlKEUpIDogKHZvaWQgMCAhPT0gZS5zZWxlY3RvciAmJiAodGhpcy5zZWxlY3RvciA9IGUuc2VsZWN0b3IsIHRoaXMuY29udGV4dCA9IGUuY29udGV4dCksIEUubWFrZUFycmF5KGUsIHRoaXMpKTsKICAgICAgICBpZiAoIShyID0gIjwiID09PSBlLmNoYXJBdCgwKSAmJiAiPiIgPT09IGUuY2hhckF0KGUubGVuZ3RoIC0gMSkgJiYgMyA8PSBlLmxlbmd0aCA/IFtudWxsLCBlLCBudWxsXSA6IFMuZXhlYyhlKSkgfHwgIXJbMV0gJiYgdCkgcmV0dXJuICF0IHx8IHQuanF1ZXJ5ID8gKHQgfHwgbikuZmluZChlKSA6IHRoaXMuY29uc3RydWN0b3IodCkuZmluZChlKTsKICAgICAgICBpZiAoclsxXSkgewogICAgICAgICAgICBpZiAodCA9IHQgaW5zdGFuY2VvZiBFID8gdFswXSA6IHQsIEUubWVyZ2UodGhpcywgRS5wYXJzZUhUTUwoclsxXSwgdCAmJiB0Lm5vZGVUeXBlID8gdC5vd25lckRvY3VtZW50IHx8IHQgOiBoLCAhMCkpLCB3LnRlc3QoclsxXSkgJiYgRS5pc1BsYWluT2JqZWN0KHQpKQogICAgICAgICAgICAgICAgZm9yIChyIGluIHQpIEUuaXNGdW5jdGlvbih0aGlzW3JdKSA/IHRoaXNbcl0odFtyXSkgOiB0aGlzLmF0dHIociwgdFtyXSk7CiAgICAgICAgICAgIHJldHVybiB0aGlzCiAgICAgICAgfQogICAgICAgIGlmICgoaSA9IGguZ2V0RWxlbWVudEJ5SWQoclsyXSkpICYmIGkucGFyZW50Tm9kZSkgewogICAgICAgICAgICBpZiAoaS5pZCAhPT0gclsyXSkgcmV0dXJuIGsuZmluZChlKTsKICAgICAgICAgICAgdGhpcy5sZW5ndGggPSAxLCB0aGlzWzBdID0gaQogICAgICAgIH0KICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0ID0gaCwgdGhpcy5zZWxlY3RvciA9IGUsIHRoaXMKICAgIH0pLnByb3RvdHlwZSA9IEUuZm4sIGsgPSBFKGgpOwogICAgdmFyIEEgPSAvXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLywKICAgICAgICBEID0gewogICAgICAgICAgICBjaGlsZHJlbjogITAsCiAgICAgICAgICAgIGNvbnRlbnRzOiAhMCwKICAgICAgICAgICAgbmV4dDogITAsCiAgICAgICAgICAgIHByZXY6ICEwCiAgICAgICAgfTsKCiAgICBmdW5jdGlvbiBqKGUsIHQpIHsKICAgICAgICBmb3IgKDsKICAgICAgICAgICAgKGUgPSBlW3RdKSAmJiAxICE9PSBlLm5vZGVUeXBlOyk7CiAgICAgICAgcmV0dXJuIGUKICAgIH0KICAgIEUuZm4uZXh0ZW5kKHsKICAgICAgICBoYXM6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIHQsIG4gPSBFKGUsIHRoaXMpLAogICAgICAgICAgICAgICAgciA9IG4ubGVuZ3RoOwogICAgICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBmb3IgKHQgPSAwOyB0IDwgcjsgdCsrKQogICAgICAgICAgICAgICAgICAgIGlmIChFLmNvbnRhaW5zKHRoaXMsIG5bdF0pKSByZXR1cm4gITAKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIGNsb3Nlc3Q6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgZm9yICh2YXIgbiwgciA9IDAsIGkgPSB0aGlzLmxlbmd0aCwgbyA9IFtdLCBhID0gYi50ZXN0KGUpIHx8ICJzdHJpbmciICE9IHR5cGVvZiBlID8gRShlLCB0IHx8IHRoaXMuY29udGV4dCkgOiAwOyByIDwgaTsgcisrKQogICAgICAgICAgICAgICAgZm9yIChuID0gdGhpc1tyXTsgbiAmJiBuICE9PSB0OyBuID0gbi5wYXJlbnROb2RlKQogICAgICAgICAgICAgICAgICAgIGlmIChuLm5vZGVUeXBlIDwgMTEgJiYgKGEgPyAtMSA8IGEuaW5kZXgobikgOiAxID09PSBuLm5vZGVUeXBlICYmIEUuZmluZC5tYXRjaGVzU2VsZWN0b3IobiwgZSkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG8ucHVzaChuKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB0aGlzLnB1c2hTdGFjaygxIDwgby5sZW5ndGggPyBFLnVuaXF1ZVNvcnQobykgOiBvKQogICAgICAgIH0sCiAgICAgICAgaW5kZXg6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIGUgPyAic3RyaW5nIiA9PSB0eXBlb2YgZSA/IEUuaW5BcnJheSh0aGlzWzBdLCBFKGUpKSA6IEUuaW5BcnJheShlLmpxdWVyeSA/IGVbMF0gOiBlLCB0aGlzKSA6IHRoaXNbMF0gJiYgdGhpc1swXS5wYXJlbnROb2RlID8gdGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGggOiAtMQogICAgICAgIH0sCiAgICAgICAgYWRkOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnB1c2hTdGFjayhFLnVuaXF1ZVNvcnQoRS5tZXJnZSh0aGlzLmdldCgpLCBFKGUsIHQpKSkpCiAgICAgICAgfSwKICAgICAgICBhZGRCYWNrOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmFkZChudWxsID09IGUgPyB0aGlzLnByZXZPYmplY3QgOiB0aGlzLnByZXZPYmplY3QuZmlsdGVyKGUpKQogICAgICAgIH0KICAgIH0pLCBFLmVhY2goewogICAgICAgIHBhcmVudDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgdCA9IGUucGFyZW50Tm9kZTsKICAgICAgICAgICAgcmV0dXJuIHQgJiYgMTEgIT09IHQubm9kZVR5cGUgPyB0IDogbnVsbAogICAgICAgIH0sCiAgICAgICAgcGFyZW50czogZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4geShlLCAicGFyZW50Tm9kZSIpCiAgICAgICAgfSwKICAgICAgICBwYXJlbnRzVW50aWw6IGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgcmV0dXJuIHkoZSwgInBhcmVudE5vZGUiLCBuKQogICAgICAgIH0sCiAgICAgICAgbmV4dDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gaihlLCAibmV4dFNpYmxpbmciKQogICAgICAgIH0sCiAgICAgICAgcHJldjogZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gaihlLCAicHJldmlvdXNTaWJsaW5nIikKICAgICAgICB9LAogICAgICAgIG5leHRBbGw6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIHkoZSwgIm5leHRTaWJsaW5nIikKICAgICAgICB9LAogICAgICAgIHByZXZBbGw6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIHkoZSwgInByZXZpb3VzU2libGluZyIpCiAgICAgICAgfSwKICAgICAgICBuZXh0VW50aWw6IGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgcmV0dXJuIHkoZSwgIm5leHRTaWJsaW5nIiwgbikKICAgICAgICB9LAogICAgICAgIHByZXZVbnRpbDogZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICByZXR1cm4geShlLCAicHJldmlvdXNTaWJsaW5nIiwgbikKICAgICAgICB9LAogICAgICAgIHNpYmxpbmdzOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiB4KChlLnBhcmVudE5vZGUgfHwge30pLmZpcnN0Q2hpbGQsIGUpCiAgICAgICAgfSwKICAgICAgICBjaGlsZHJlbjogZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4geChlLmZpcnN0Q2hpbGQpCiAgICAgICAgfSwKICAgICAgICBjb250ZW50czogZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gRS5ub2RlTmFtZShlLCAiaWZyYW1lIikgPyBlLmNvbnRlbnREb2N1bWVudCB8fCBlLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQgOiBFLm1lcmdlKFtdLCBlLmNoaWxkTm9kZXMpCiAgICAgICAgfQogICAgfSwgZnVuY3Rpb24ociwgaSkgewogICAgICAgIEUuZm5bcl0gPSBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHZhciBuID0gRS5tYXAodGhpcywgaSwgZSk7CiAgICAgICAgICAgIHJldHVybiAiVW50aWwiICE9PSByLnNsaWNlKC01KSAmJiAodCA9IGUpLCB0ICYmICJzdHJpbmciID09IHR5cGVvZiB0ICYmIChuID0gRS5maWx0ZXIodCwgbikpLCAxIDwgdGhpcy5sZW5ndGggJiYgKERbcl0gfHwgKG4gPSBFLnVuaXF1ZVNvcnQobikpLCBBLnRlc3QocikgJiYgKG4gPSBuLnJldmVyc2UoKSkpLCB0aGlzLnB1c2hTdGFjayhuKQogICAgICAgIH0KICAgIH0pOwogICAgdmFyIEwsIEgsIHEgPSAvXFMrL2c7CgogICAgZnVuY3Rpb24gXygpIHsKICAgICAgICBoLmFkZEV2ZW50TGlzdGVuZXIgPyAoaC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgRiksIEMucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsIEYpKSA6IChoLmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLCBGKSwgQy5kZXRhY2hFdmVudCgib25sb2FkIiwgRikpCiAgICB9CgogICAgZnVuY3Rpb24gRigpIHsKICAgICAgICAoaC5hZGRFdmVudExpc3RlbmVyIHx8ICJsb2FkIiA9PT0gQy5ldmVudC50eXBlIHx8ICJjb21wbGV0ZSIgPT09IGgucmVhZHlTdGF0ZSkgJiYgKF8oKSwgRS5yZWFkeSgpKQogICAgfQogICAgZm9yIChIIGluIEUuQ2FsbGJhY2tzID0gZnVuY3Rpb24ocikgewogICAgICAgICAgICB2YXIgZSwgbjsKICAgICAgICAgICAgciA9ICJzdHJpbmciID09IHR5cGVvZiByID8gKGUgPSByLCBuID0ge30sIEUuZWFjaChlLm1hdGNoKHEpIHx8IFtdLCBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICBuW3RdID0gITAKICAgICAgICAgICAgfSksIG4pIDogRS5leHRlbmQoe30sIHIpOwogICAgICAgICAgICB2YXIgaSwgdCwgbywgYSwgcyA9IFtdLAogICAgICAgICAgICAgICAgdSA9IFtdLAogICAgICAgICAgICAgICAgbCA9IC0xLAogICAgICAgICAgICAgICAgYyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGZvciAoYSA9IHIub25jZSwgbyA9IGkgPSAhMDsgdS5sZW5ndGg7IGwgPSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh0ID0gdS5zaGlmdCgpOyArK2wgPCBzLmxlbmd0aDspICExID09PSBzW2xdLmFwcGx5KHRbMF0sIHRbMV0pICYmIHIuc3RvcE9uRmFsc2UgJiYgKGwgPSBzLmxlbmd0aCwgdCA9ICExKTsKICAgICAgICAgICAgICAgICAgICByLm1lbW9yeSB8fCAodCA9ICExKSwgaSA9ICExLCBhICYmIChzID0gdCA/IFtdIDogIiIpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgZCA9IHsKICAgICAgICAgICAgICAgICAgICBhZGQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcyAmJiAodCAmJiAhaSAmJiAobCA9IHMubGVuZ3RoIC0gMSwgdS5wdXNoKHQpKSwgZnVuY3Rpb24gbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFLmVhY2goZSwgZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEUuaXNGdW5jdGlvbih0KSA/IHIudW5pcXVlICYmIGQuaGFzKHQpIHx8IHMucHVzaCh0KSA6IHQgJiYgdC5sZW5ndGggJiYgInN0cmluZyIgIT09IEUudHlwZSh0KSAmJiBuKHQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICB9KGFyZ3VtZW50cyksIHQgJiYgIWkgJiYgYygpKSwgdGhpcwogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEUuZWFjaChhcmd1bWVudHMsIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIG47IC0gMSA8IChuID0gRS5pbkFycmF5KHQsIHMsIG4pKTspIHMuc3BsaWNlKG4sIDEpLCBuIDw9IGwgJiYgbC0tCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCB0aGlzCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBoYXM6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUgPyAtMSA8IEUuaW5BcnJheShlLCBzKSA6IDAgPCBzLmxlbmd0aAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgZW1wdHk6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcyAmJiAocyA9IFtdKSwgdGhpcwogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhID0gdSA9IFtdLCBzID0gdCA9ICIiLCB0aGlzCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhcwogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgbG9jazogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhID0gITAsIHQgfHwgZC5kaXNhYmxlKCksIHRoaXMKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGxvY2tlZDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhIWEKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGZpcmVXaXRoOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhIHx8ICh0ID0gW2UsICh0ID0gdCB8fCBbXSkuc2xpY2UgPyB0LnNsaWNlKCkgOiB0XSwgdS5wdXNoKHQpLCBpIHx8IGMoKSksIHRoaXMKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGZpcmU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZC5maXJlV2l0aCh0aGlzLCBhcmd1bWVudHMpLCB0aGlzCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBmaXJlZDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhIW8KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICByZXR1cm4gZAogICAgICAgIH0sIEUuZXh0ZW5kKHsKICAgICAgICAgICAgRGVmZXJyZWQ6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHZhciBvID0gWwogICAgICAgICAgICAgICAgICAgICAgICBbInJlc29sdmUiLCAiZG9uZSIsIEUuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCAicmVzb2x2ZWQiXSwKICAgICAgICAgICAgICAgICAgICAgICAgWyJyZWplY3QiLCAiZmFpbCIsIEUuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCAicmVqZWN0ZWQiXSwKICAgICAgICAgICAgICAgICAgICAgICAgWyJub3RpZnkiLCAicHJvZ3Jlc3MiLCBFLkNhbGxiYWNrcygibWVtb3J5IildCiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICBpID0gInBlbmRpbmciLAogICAgICAgICAgICAgICAgICAgIGEgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIGFsd2F5czogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcy5kb25lKGFyZ3VtZW50cykuZmFpbChhcmd1bWVudHMpLCB0aGlzCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRoZW46IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBhcmd1bWVudHM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRS5EZWZlcnJlZChmdW5jdGlvbihyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRS5lYWNoKG8sIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBFLmlzRnVuY3Rpb24oaVtlXSkgJiYgaVtlXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc1t0WzFdXShmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlID0gbiAmJiBuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlICYmIEUuaXNGdW5jdGlvbihlLnByb21pc2UpID8gZS5wcm9taXNlKCkucHJvZ3Jlc3Moci5ub3RpZnkpLmRvbmUoci5yZXNvbHZlKS5mYWlsKHIucmVqZWN0KSA6IHJbdFswXSArICJXaXRoIl0odGhpcyA9PT0gYSA/IHIucHJvbWlzZSgpIDogdGhpcywgbiA/IFtlXSA6IGFyZ3VtZW50cykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgaSA9IG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLnByb21pc2UoKQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBwcm9taXNlOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCAhPSBlID8gRS5leHRlbmQoZSwgYSkgOiBhCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHMgPSB7fTsKICAgICAgICAgICAgICAgIHJldHVybiBhLnBpcGUgPSBhLnRoZW4sIEUuZWFjaChvLCBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSB0WzJdLAogICAgICAgICAgICAgICAgICAgICAgICByID0gdFszXTsKICAgICAgICAgICAgICAgICAgICBhW3RbMV1dID0gbi5hZGQsIHIgJiYgbi5hZGQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGkgPSByCiAgICAgICAgICAgICAgICAgICAgfSwgb1sxIF4gZV1bMl0uZGlzYWJsZSwgb1syXVsyXS5sb2NrKSwgc1t0WzBdXSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc1t0WzBdICsgIldpdGgiXSh0aGlzID09PSBzID8gYSA6IHRoaXMsIGFyZ3VtZW50cyksIHRoaXMKICAgICAgICAgICAgICAgICAgICB9LCBzW3RbMF0gKyAiV2l0aCJdID0gbi5maXJlV2l0aAogICAgICAgICAgICAgICAgfSksIGEucHJvbWlzZShzKSwgZSAmJiBlLmNhbGwocywgcyksIHMKICAgICAgICAgICAgfSwKICAgICAgICAgICAgd2hlbjogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIGksIHQsIG4sIHIgPSAwLAogICAgICAgICAgICAgICAgICAgIG8gPSBjLmNhbGwoYXJndW1lbnRzKSwKICAgICAgICAgICAgICAgICAgICBhID0gby5sZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgcyA9IDEgIT09IGEgfHwgZSAmJiBFLmlzRnVuY3Rpb24oZS5wcm9taXNlKSA/IGEgOiAwLAogICAgICAgICAgICAgICAgICAgIHUgPSAxID09PSBzID8gZSA6IEUuRGVmZXJyZWQoKSwKICAgICAgICAgICAgICAgICAgICBsID0gZnVuY3Rpb24odCwgbiwgcikgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgblt0XSA9IHRoaXMsIHJbdF0gPSAxIDwgYXJndW1lbnRzLmxlbmd0aCA/IGMuY2FsbChhcmd1bWVudHMpIDogZSwgciA9PT0gaSA/IHUubm90aWZ5V2l0aChuLCByKSA6IC0tcyB8fCB1LnJlc29sdmVXaXRoKG4sIHIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgaWYgKDEgPCBhKQogICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IG5ldyBBcnJheShhKSwgdCA9IG5ldyBBcnJheShhKSwgbiA9IG5ldyBBcnJheShhKTsgciA8IGE7IHIrKykgb1tyXSAmJiBFLmlzRnVuY3Rpb24ob1tyXS5wcm9taXNlKSA/IG9bcl0ucHJvbWlzZSgpLnByb2dyZXNzKGwociwgdCwgaSkpLmRvbmUobChyLCBuLCBvKSkuZmFpbCh1LnJlamVjdCkgOiAtLXM7CiAgICAgICAgICAgICAgICByZXR1cm4gcyB8fCB1LnJlc29sdmVXaXRoKG4sIG8pLCB1LnByb21pc2UoKQogICAgICAgICAgICB9CiAgICAgICAgfSksIEUuZm4ucmVhZHkgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiBFLnJlYWR5LnByb21pc2UoKS5kb25lKGUpLCB0aGlzCiAgICAgICAgfSwgRS5leHRlbmQoewogICAgICAgICAgICBpc1JlYWR5OiAhMSwKICAgICAgICAgICAgcmVhZHlXYWl0OiAxLAogICAgICAgICAgICBob2xkUmVhZHk6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUgPyBFLnJlYWR5V2FpdCsrIDogRS5yZWFkeSghMCkKICAgICAgICAgICAgfSwKICAgICAgICAgICAgcmVhZHk6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICghMCA9PT0gZSA/IC0tRS5yZWFkeVdhaXQgOiBFLmlzUmVhZHkpIHx8ICgoRS5pc1JlYWR5ID0gITApICE9PSBlICYmIDAgPCAtLUUucmVhZHlXYWl0IHx8IChMLnJlc29sdmVXaXRoKGgsIFtFXSksIEUuZm4udHJpZ2dlckhhbmRsZXIgJiYgKEUoaCkudHJpZ2dlckhhbmRsZXIoInJlYWR5IiksIEUoaCkub2ZmKCJyZWFkeSIpKSkpCiAgICAgICAgICAgIH0KICAgICAgICB9KSwgRS5yZWFkeS5wcm9taXNlID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICBpZiAoIUwpCiAgICAgICAgICAgICAgICBpZiAoTCA9IEUuRGVmZXJyZWQoKSwgImNvbXBsZXRlIiA9PT0gaC5yZWFkeVN0YXRlIHx8ICJsb2FkaW5nIiAhPT0gaC5yZWFkeVN0YXRlICYmICFoLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCkgQy5zZXRUaW1lb3V0KEUucmVhZHkpOwogICAgICAgICAgICAgICAgZWxzZSBpZiAoaC5hZGRFdmVudExpc3RlbmVyKSBoLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBGKSwgQy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgRik7CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgaC5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIiwgRiksIEMuYXR0YWNoRXZlbnQoIm9ubG9hZCIsIEYpOwogICAgICAgICAgICAgICAgdmFyIG4gPSAhMTsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgbiA9IG51bGwgPT0gQy5mcmFtZUVsZW1lbnQgJiYgaC5kb2N1bWVudEVsZW1lbnQKICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAgICAgICAgICAgICBuICYmIG4uZG9TY3JvbGwgJiYgZnVuY3Rpb24gdCgpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIUUuaXNSZWFkeSkgewogICAgICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbi5kb1Njcm9sbCgibGVmdCIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBDLnNldFRpbWVvdXQodCwgNTApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgXygpLCBFLnJlYWR5KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KCkKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gTC5wcm9taXNlKGUpCiAgICAgICAgfSwgRS5yZWFkeS5wcm9taXNlKCksIEUodikpIGJyZWFrOwogICAgdi5vd25GaXJzdCA9ICIwIiA9PT0gSCwgdi5pbmxpbmVCbG9ja05lZWRzTGF5b3V0ID0gITEsIEUoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBlLCB0LCBuLCByOwogICAgICAgICAgICAobiA9IGguZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSkgJiYgbi5zdHlsZSAmJiAodCA9IGguY3JlYXRlRWxlbWVudCgiZGl2IiksIChyID0gaC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc3R5bGUuY3NzVGV4dCA9ICJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsIG4uYXBwZW5kQ2hpbGQocikuYXBwZW5kQ2hpbGQodCksIHZvaWQgMCAhPT0gdC5zdHlsZS56b29tICYmICh0LnN0eWxlLmNzc1RleHQgPSAiZGlzcGxheTppbmxpbmU7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsIHYuaW5saW5lQmxvY2tOZWVkc0xheW91dCA9IGUgPSAzID09PSB0Lm9mZnNldFdpZHRoLCBlICYmIChuLnN0eWxlLnpvb20gPSAxKSksIG4ucmVtb3ZlQ2hpbGQocikpCiAgICAgICAgfSksCiAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBlID0gaC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgICAgdi5kZWxldGVFeHBhbmRvID0gITA7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICBkZWxldGUgZS50ZXN0CiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgICAgIHYuZGVsZXRlRXhwYW5kbyA9ICExCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZSA9IG51bGwKICAgICAgICB9KCk7CiAgICB2YXIgTSwgTyA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIHQgPSBFLm5vRGF0YVsoZS5ub2RlTmFtZSArICIgIikudG9Mb3dlckNhc2UoKV0sCiAgICAgICAgICAgICAgICBuID0gK2Uubm9kZVR5cGUgfHwgMTsKICAgICAgICAgICAgcmV0dXJuICgxID09PSBuIHx8IDkgPT09IG4pICYmICghdCB8fCAhMCAhPT0gdCAmJiBlLmdldEF0dHJpYnV0ZSgiY2xhc3NpZCIpID09PSB0KQogICAgICAgIH0sCiAgICAgICAgUiA9IC9eKD86XHtbXHdcV10qXH18XFtbXHdcV10qXF0pJC8sCiAgICAgICAgUCA9IC8oW0EtWl0pL2c7CgogICAgZnVuY3Rpb24gQihlLCB0LCBuKSB7CiAgICAgICAgaWYgKHZvaWQgMCA9PT0gbiAmJiAxID09PSBlLm5vZGVUeXBlKSB7CiAgICAgICAgICAgIHZhciByID0gImRhdGEtIiArIHQucmVwbGFjZShQLCAiLSQxIikudG9Mb3dlckNhc2UoKTsKICAgICAgICAgICAgaWYgKCJzdHJpbmciID09IHR5cGVvZihuID0gZS5nZXRBdHRyaWJ1dGUocikpKSB7CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgIG4gPSAidHJ1ZSIgPT09IG4gfHwgImZhbHNlIiAhPT0gbiAmJiAoIm51bGwiID09PSBuID8gbnVsbCA6ICtuICsgIiIgPT09IG4gPyArbiA6IFIudGVzdChuKSA/IEUucGFyc2VKU09OKG4pIDogbikKICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAgICAgICAgICAgICBFLmRhdGEoZSwgdCwgbikKICAgICAgICAgICAgfSBlbHNlIG4gPSB2b2lkIDAKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG4KICAgIH0KCiAgICBmdW5jdGlvbiBXKGUpIHsKICAgICAgICB2YXIgdDsKICAgICAgICBmb3IgKHQgaW4gZSkKICAgICAgICAgICAgaWYgKCgiZGF0YSIgIT09IHQgfHwgIUUuaXNFbXB0eU9iamVjdChlW3RdKSkgJiYgInRvSlNPTiIgIT09IHQpIHJldHVybiAhMTsKICAgICAgICByZXR1cm4gITAKICAgIH0KCiAgICBmdW5jdGlvbiBJKGUsIHQsIG4sIHIpIHsKICAgICAgICBpZiAoTyhlKSkgewogICAgICAgICAgICB2YXIgaSwgbywgYSA9IEUuZXhwYW5kbywKICAgICAgICAgICAgICAgIHMgPSBlLm5vZGVUeXBlLAogICAgICAgICAgICAgICAgdSA9IHMgPyBFLmNhY2hlIDogZSwKICAgICAgICAgICAgICAgIGwgPSBzID8gZVthXSA6IGVbYV0gJiYgYTsKICAgICAgICAgICAgaWYgKGwgJiYgdVtsXSAmJiAociB8fCB1W2xdLmRhdGEpIHx8IHZvaWQgMCAhPT0gbiB8fCAic3RyaW5nIiAhPSB0eXBlb2YgdCkgcmV0dXJuIGwgfHwgKGwgPSBzID8gZVthXSA9IGQucG9wKCkgfHwgRS5ndWlkKysgOiBhKSwgdVtsXSB8fCAodVtsXSA9IHMgPyB7fSA6IHsKICAgICAgICAgICAgICAgIHRvSlNPTjogRS5ub29wCiAgICAgICAgICAgIH0pLCAib2JqZWN0IiAhPSB0eXBlb2YgdCAmJiAiZnVuY3Rpb24iICE9IHR5cGVvZiB0IHx8IChyID8gdVtsXSA9IEUuZXh0ZW5kKHVbbF0sIHQpIDogdVtsXS5kYXRhID0gRS5leHRlbmQodVtsXS5kYXRhLCB0KSksIG8gPSB1W2xdLCByIHx8IChvLmRhdGEgfHwgKG8uZGF0YSA9IHt9KSwgbyA9IG8uZGF0YSksIHZvaWQgMCAhPT0gbiAmJiAob1tFLmNhbWVsQ2FzZSh0KV0gPSBuKSwgInN0cmluZyIgPT0gdHlwZW9mIHQgPyBudWxsID09IChpID0gb1t0XSkgJiYgKGkgPSBvW0UuY2FtZWxDYXNlKHQpXSkgOiBpID0gbywgaQogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiAkKGUsIHQsIG4pIHsKICAgICAgICBpZiAoTyhlKSkgewogICAgICAgICAgICB2YXIgciwgaSwgbyA9IGUubm9kZVR5cGUsCiAgICAgICAgICAgICAgICBhID0gbyA/IEUuY2FjaGUgOiBlLAogICAgICAgICAgICAgICAgcyA9IG8gPyBlW0UuZXhwYW5kb10gOiBFLmV4cGFuZG87CiAgICAgICAgICAgIGlmIChhW3NdKSB7CiAgICAgICAgICAgICAgICBpZiAodCAmJiAociA9IG4gPyBhW3NdIDogYVtzXS5kYXRhKSkgewogICAgICAgICAgICAgICAgICAgIGkgPSAodCA9IEUuaXNBcnJheSh0KSA/IHQuY29uY2F0KEUubWFwKHQsIEUuY2FtZWxDYXNlKSkgOiB0IGluIHIgPyBbdF0gOiAodCA9IEUuY2FtZWxDYXNlKHQpKSBpbiByID8gW3RdIDogdC5zcGxpdCgiICIpKS5sZW5ndGg7CiAgICAgICAgICAgICAgICAgICAgZm9yICg7IGktLTspIGRlbGV0ZSByW3RbaV1dOwogICAgICAgICAgICAgICAgICAgIGlmIChuID8gIVcocikgOiAhRS5pc0VtcHR5T2JqZWN0KHIpKSByZXR1cm4KICAgICAgICAgICAgICAgIH0obiB8fCAoZGVsZXRlIGFbc10uZGF0YSwgVyhhW3NdKSkpICYmIChvID8gRS5jbGVhbkRhdGEoW2VdLCAhMCkgOiB2LmRlbGV0ZUV4cGFuZG8gfHwgYSAhPSBhLndpbmRvdyA/IGRlbGV0ZSBhW3NdIDogYVtzXSA9IHZvaWQgMCkKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIEUuZXh0ZW5kKHsKICAgICAgICBjYWNoZToge30sCiAgICAgICAgbm9EYXRhOiB7CiAgICAgICAgICAgICJhcHBsZXQgIjogITAsCiAgICAgICAgICAgICJlbWJlZCAiOiAhMCwKICAgICAgICAgICAgIm9iamVjdCAiOiAiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIgogICAgICAgIH0sCiAgICAgICAgaGFzRGF0YTogZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gISEoZSA9IGUubm9kZVR5cGUgPyBFLmNhY2hlW2VbRS5leHBhbmRvXV0gOiBlW0UuZXhwYW5kb10pICYmICFXKGUpCiAgICAgICAgfSwKICAgICAgICBkYXRhOiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgIHJldHVybiBJKGUsIHQsIG4pCiAgICAgICAgfSwKICAgICAgICByZW1vdmVEYXRhOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHJldHVybiAkKGUsIHQpCiAgICAgICAgfSwKICAgICAgICBfZGF0YTogZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICByZXR1cm4gSShlLCB0LCBuLCAhMCkKICAgICAgICB9LAogICAgICAgIF9yZW1vdmVEYXRhOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHJldHVybiAkKGUsIHQsICEwKQogICAgICAgIH0KICAgIH0pLCBFLmZuLmV4dGVuZCh7CiAgICAgICAgZGF0YTogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICB2YXIgbiwgciwgaSwgbyA9IHRoaXNbMF0sCiAgICAgICAgICAgICAgICBhID0gbyAmJiBvLmF0dHJpYnV0ZXM7CiAgICAgICAgICAgIGlmICh2b2lkIDAgIT09IGUpIHJldHVybiAib2JqZWN0IiA9PSB0eXBlb2YgZSA/IHRoaXMuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIEUuZGF0YSh0aGlzLCBlKQogICAgICAgICAgICB9KSA6IDEgPCBhcmd1bWVudHMubGVuZ3RoID8gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgRS5kYXRhKHRoaXMsIGUsIHQpCiAgICAgICAgICAgIH0pIDogbyA/IEIobywgZSwgRS5kYXRhKG8sIGUpKSA6IHZvaWQgMDsKICAgICAgICAgICAgaWYgKHRoaXMubGVuZ3RoICYmIChpID0gRS5kYXRhKG8pLCAxID09PSBvLm5vZGVUeXBlICYmICFFLl9kYXRhKG8sICJwYXJzZWRBdHRycyIpKSkgewogICAgICAgICAgICAgICAgZm9yIChuID0gYS5sZW5ndGg7IG4tLTspIGFbbl0gJiYgKDAgPT09IChyID0gYVtuXS5uYW1lKS5pbmRleE9mKCJkYXRhLSIpICYmIEIobywgciA9IEUuY2FtZWxDYXNlKHIuc2xpY2UoNSkpLCBpW3JdKSk7CiAgICAgICAgICAgICAgICBFLl9kYXRhKG8sICJwYXJzZWRBdHRycyIsICEwKQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBpCiAgICAgICAgfSwKICAgICAgICByZW1vdmVEYXRhOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBFLnJlbW92ZURhdGEodGhpcywgZSkKICAgICAgICAgICAgfSkKICAgICAgICB9CiAgICB9KSwgRS5leHRlbmQoewogICAgICAgIHF1ZXVlOiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgIHZhciByOwogICAgICAgICAgICByZXR1cm4gZSA/ICh0ID0gKHQgfHwgImZ4IikgKyAicXVldWUiLCByID0gRS5fZGF0YShlLCB0KSwgbiAmJiAoIXIgfHwgRS5pc0FycmF5KG4pID8gciA9IEUuX2RhdGEoZSwgdCwgRS5tYWtlQXJyYXkobikpIDogci5wdXNoKG4pKSwgciB8fCBbXSkgOiB2b2lkIDAKICAgICAgICB9LAogICAgICAgIGRlcXVldWU6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgdCA9IHQgfHwgImZ4IjsKICAgICAgICAgICAgdmFyIG4gPSBFLnF1ZXVlKGUsIHQpLAogICAgICAgICAgICAgICAgciA9IG4ubGVuZ3RoLAogICAgICAgICAgICAgICAgaSA9IG4uc2hpZnQoKSwKICAgICAgICAgICAgICAgIG8gPSBFLl9xdWV1ZUhvb2tzKGUsIHQpOwogICAgICAgICAgICAiaW5wcm9ncmVzcyIgPT09IGkgJiYgKGkgPSBuLnNoaWZ0KCksIHItLSksIGkgJiYgKCJmeCIgPT09IHQgJiYgbi51bnNoaWZ0KCJpbnByb2dyZXNzIiksIGRlbGV0ZSBvLnN0b3AsIGkuY2FsbChlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIEUuZGVxdWV1ZShlLCB0KQogICAgICAgICAgICB9LCBvKSksICFyICYmIG8gJiYgby5lbXB0eS5maXJlKCkKICAgICAgICB9LAogICAgICAgIF9xdWV1ZUhvb2tzOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHZhciBuID0gdCArICJxdWV1ZUhvb2tzIjsKICAgICAgICAgICAgcmV0dXJuIEUuX2RhdGEoZSwgbikgfHwgRS5fZGF0YShlLCBuLCB7CiAgICAgICAgICAgICAgICBlbXB0eTogRS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIEUuX3JlbW92ZURhdGEoZSwgdCArICJxdWV1ZSIpLCBFLl9yZW1vdmVEYXRhKGUsIG4pCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9KQogICAgICAgIH0KICAgIH0pLCBFLmZuLmV4dGVuZCh7CiAgICAgICAgcXVldWU6IGZ1bmN0aW9uKHQsIG4pIHsKICAgICAgICAgICAgdmFyIGUgPSAyOwogICAgICAgICAgICByZXR1cm4gInN0cmluZyIgIT0gdHlwZW9mIHQgJiYgKG4gPSB0LCB0ID0gImZ4IiwgZS0tKSwgYXJndW1lbnRzLmxlbmd0aCA8IGUgPyBFLnF1ZXVlKHRoaXNbMF0sIHQpIDogdm9pZCAwID09PSBuID8gdGhpcyA6IHRoaXMuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gRS5xdWV1ZSh0aGlzLCB0LCBuKTsKICAgICAgICAgICAgICAgIEUuX3F1ZXVlSG9va3ModGhpcywgdCksICJmeCIgPT09IHQgJiYgImlucHJvZ3Jlc3MiICE9PSBlWzBdICYmIEUuZGVxdWV1ZSh0aGlzLCB0KQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgZGVxdWV1ZTogZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgRS5kZXF1ZXVlKHRoaXMsIGUpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBjbGVhclF1ZXVlOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnF1ZXVlKGUgfHwgImZ4IiwgW10pCiAgICAgICAgfSwKICAgICAgICBwcm9taXNlOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHZhciBuLCByID0gMSwKICAgICAgICAgICAgICAgIGkgPSBFLkRlZmVycmVkKCksCiAgICAgICAgICAgICAgICBvID0gdGhpcywKICAgICAgICAgICAgICAgIGEgPSB0aGlzLmxlbmd0aCwKICAgICAgICAgICAgICAgIHMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAtLXIgfHwgaS5yZXNvbHZlV2l0aChvLCBbb10pCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICBmb3IgKCJzdHJpbmciICE9IHR5cGVvZiBlICYmICh0ID0gZSwgZSA9IHZvaWQgMCksIGUgPSBlIHx8ICJmeCI7IGEtLTspKG4gPSBFLl9kYXRhKG9bYV0sIGUgKyAicXVldWVIb29rcyIpKSAmJiBuLmVtcHR5ICYmIChyKyssIG4uZW1wdHkuYWRkKHMpKTsKICAgICAgICAgICAgcmV0dXJuIHMoKSwgaS5wcm9taXNlKHQpCiAgICAgICAgfQogICAgfSksIHYuc2hyaW5rV3JhcEJsb2NrcyA9IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiBudWxsICE9IE0gPyBNIDogKE0gPSAhMSwgKHQgPSBoLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0pICYmIHQuc3R5bGUgPyAoZSA9IGguY3JlYXRlRWxlbWVudCgiZGl2IiksIChuID0gaC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc3R5bGUuY3NzVGV4dCA9ICJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsIHQuYXBwZW5kQ2hpbGQobikuYXBwZW5kQ2hpbGQoZSksIHZvaWQgMCAhPT0gZS5zdHlsZS56b29tICYmIChlLnN0eWxlLmNzc1RleHQgPSAiLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsIGUuYXBwZW5kQ2hpbGQoaC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc3R5bGUud2lkdGggPSAiNXB4IiwgTSA9IDMgIT09IGUub2Zmc2V0V2lkdGgpLCB0LnJlbW92ZUNoaWxkKG4pLCBNKSA6IHZvaWQgMCk7CiAgICAgICAgdmFyIGUsIHQsIG4KICAgIH07CiAgICB2YXIgeiA9IC9bKy1dPyg/OlxkKlwufClcZCsoPzpbZUVdWystXT9cZCt8KS8uc291cmNlLAogICAgICAgIFggPSBuZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIgKyB6ICsgIikoW2EteiVdKikkIiwgImkiKSwKICAgICAgICBVID0gWyJUb3AiLCAiUmlnaHQiLCAiQm90dG9tIiwgIkxlZnQiXSwKICAgICAgICBWID0gZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICByZXR1cm4gZSA9IHQgfHwgZSwgIm5vbmUiID09PSBFLmNzcyhlLCAiZGlzcGxheSIpIHx8ICFFLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCwgZSkKICAgICAgICB9OwoKICAgIGZ1bmN0aW9uIFkoZSwgdCwgbiwgcikgewogICAgICAgIHZhciBpLCBvID0gMSwKICAgICAgICAgICAgYSA9IDIwLAogICAgICAgICAgICBzID0gciA/IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHIuY3VyKCkKICAgICAgICAgICAgfSA6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIEUuY3NzKGUsIHQsICIiKQogICAgICAgICAgICB9LAogICAgICAgICAgICB1ID0gcygpLAogICAgICAgICAgICBsID0gbiAmJiBuWzNdIHx8IChFLmNzc051bWJlclt0XSA/ICIiIDogInB4IiksCiAgICAgICAgICAgIGMgPSAoRS5jc3NOdW1iZXJbdF0gfHwgInB4IiAhPT0gbCAmJiArdSkgJiYgWC5leGVjKEUuY3NzKGUsIHQpKTsKICAgICAgICBpZiAoYyAmJiBjWzNdICE9PSBsKQogICAgICAgICAgICBmb3IgKGwgPSBsIHx8IGNbM10sIG4gPSBuIHx8IFtdLCBjID0gK3UgfHwgMTsgYyAvPSBvID0gbyB8fCAiLjUiLCBFLnN0eWxlKGUsIHQsIGMgKyBsKSwgbyAhPT0gKG8gPSBzKCkgLyB1KSAmJiAxICE9PSBvICYmIC0tYTspOwogICAgICAgIHJldHVybiBuICYmIChjID0gK2MgfHwgK3UgfHwgMCwgaSA9IG5bMV0gPyBjICsgKG5bMV0gKyAxKSAqIG5bMl0gOiArblsyXSwgciAmJiAoci51bml0ID0gbCwgci5zdGFydCA9IGMsIHIuZW5kID0gaSkpLCBpCiAgICB9CiAgICB2YXIgSiwgRywgUSwgSyA9IGZ1bmN0aW9uKGUsIHQsIG4sIHIsIGksIG8sIGEpIHsKICAgICAgICAgICAgdmFyIHMgPSAwLAogICAgICAgICAgICAgICAgdSA9IGUubGVuZ3RoLAogICAgICAgICAgICAgICAgbCA9IG51bGwgPT0gbjsKICAgICAgICAgICAgaWYgKCJvYmplY3QiID09PSBFLnR5cGUobikpCiAgICAgICAgICAgICAgICBmb3IgKHMgaW4gaSA9ICEwLCBuKSBLKGUsIHQsIHMsIG5bc10sICEwLCBvLCBhKTsKICAgICAgICAgICAgZWxzZSBpZiAodm9pZCAwICE9PSByICYmIChpID0gITAsIEUuaXNGdW5jdGlvbihyKSB8fCAoYSA9ICEwKSwgbCAmJiAodCA9IGEgPyAodC5jYWxsKGUsIHIpLCBudWxsKSA6IChsID0gdCwgZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBsLmNhbGwoRShlKSwgbikKICAgICAgICAgICAgICAgIH0pKSwgdCkpCiAgICAgICAgICAgICAgICBmb3IgKDsgcyA8IHU7IHMrKykgdChlW3NdLCBuLCBhID8gciA6IHIuY2FsbChlW3NdLCBzLCB0KGVbc10sIG4pKSk7CiAgICAgICAgICAgIHJldHVybiBpID8gZSA6IGwgPyB0LmNhbGwoZSkgOiB1ID8gdChlWzBdLCBuKSA6IG8KICAgICAgICB9LAogICAgICAgIFogPSAvXig/OmNoZWNrYm94fHJhZGlvKSQvaSwKICAgICAgICBlZSA9IC88KFtcdzotXSspLywKICAgICAgICB0ZSA9IC9eJHxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaSwKICAgICAgICBuZSA9IC9eXHMrLywKICAgICAgICByZSA9ICJhYmJyfGFydGljbGV8YXNpZGV8YXVkaW98YmRpfGNhbnZhc3xkYXRhfGRhdGFsaXN0fGRldGFpbHN8ZGlhbG9nfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdyb3VwfG1haW58bWFya3xtZXRlcnxuYXZ8b3V0cHV0fHBpY3R1cmV8cHJvZ3Jlc3N8c2VjdGlvbnxzdW1tYXJ5fHRlbXBsYXRlfHRpbWV8dmlkZW8iOwoKICAgIGZ1bmN0aW9uIGllKGUpIHsKICAgICAgICB2YXIgdCA9IHJlLnNwbGl0KCJ8IiksCiAgICAgICAgICAgIG4gPSBlLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKICAgICAgICBpZiAobi5jcmVhdGVFbGVtZW50KQogICAgICAgICAgICBmb3IgKDsgdC5sZW5ndGg7KSBuLmNyZWF0ZUVsZW1lbnQodC5wb3AoKSk7CiAgICAgICAgcmV0dXJuIG4KICAgIH0KICAgIEogPSBoLmNyZWF0ZUVsZW1lbnQoImRpdiIpLCBHID0gaC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksIFEgPSBoLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksIEouaW5uZXJIVE1MID0gIiAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiIsIHYubGVhZGluZ1doaXRlc3BhY2UgPSAzID09PSBKLmZpcnN0Q2hpbGQubm9kZVR5cGUsIHYudGJvZHkgPSAhSi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKS5sZW5ndGgsIHYuaHRtbFNlcmlhbGl6ZSA9ICEhSi5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCwgdi5odG1sNUNsb25lID0gIjw6bmF2PjwvOm5hdj4iICE9PSBoLmNyZWF0ZUVsZW1lbnQoIm5hdiIpLmNsb25lTm9kZSghMCkub3V0ZXJIVE1MLCBRLnR5cGUgPSAiY2hlY2tib3giLCBRLmNoZWNrZWQgPSAhMCwgRy5hcHBlbmRDaGlsZChRKSwgdi5hcHBlbmRDaGVja2VkID0gUS5jaGVja2VkLCBKLmlubmVySFRNTCA9ICI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+Iiwgdi5ub0Nsb25lQ2hlY2tlZCA9ICEhSi5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsIEcuYXBwZW5kQ2hpbGQoSiksIChRID0gaC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpKS5zZXRBdHRyaWJ1dGUoInR5cGUiLCAicmFkaW8iKSwgUS5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCAiY2hlY2tlZCIpLCBRLnNldEF0dHJpYnV0ZSgibmFtZSIsICJ0IiksIEouYXBwZW5kQ2hpbGQoUSksIHYuY2hlY2tDbG9uZSA9IEouY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLCB2Lm5vQ2xvbmVFdmVudCA9ICEhSi5hZGRFdmVudExpc3RlbmVyLCBKW0UuZXhwYW5kb10gPSAxLCB2LmF0dHJpYnV0ZXMgPSAhSi5nZXRBdHRyaWJ1dGUoRS5leHBhbmRvKTsKICAgIHZhciBvZSA9IHsKICAgICAgICBvcHRpb246IFsxLCAiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsICI8L3NlbGVjdD4iXSwKICAgICAgICBsZWdlbmQ6IFsxLCAiPGZpZWxkc2V0PiIsICI8L2ZpZWxkc2V0PiJdLAogICAgICAgIGFyZWE6IFsxLCAiPG1hcD4iLCAiPC9tYXA+Il0sCiAgICAgICAgcGFyYW06IFsxLCAiPG9iamVjdD4iLCAiPC9vYmplY3Q+Il0sCiAgICAgICAgdGhlYWQ6IFsxLCAiPHRhYmxlPiIsICI8L3RhYmxlPiJdLAogICAgICAgIHRyOiBbMiwgIjx0YWJsZT48dGJvZHk+IiwgIjwvdGJvZHk+PC90YWJsZT4iXSwKICAgICAgICBjb2w6IFsyLCAiPHRhYmxlPjx0Ym9keT48L3Rib2R5Pjxjb2xncm91cD4iLCAiPC9jb2xncm91cD48L3RhYmxlPiJdLAogICAgICAgIHRkOiBbMywgIjx0YWJsZT48dGJvZHk+PHRyPiIsICI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSwKICAgICAgICBfZGVmYXVsdDogdi5odG1sU2VyaWFsaXplID8gWzAsICIiLCAiIl0gOiBbMSwgIlg8ZGl2PiIsICI8L2Rpdj4iXQogICAgfTsKCiAgICBmdW5jdGlvbiBhZShlLCB0KSB7CiAgICAgICAgdmFyIG4sIHIsIGkgPSAwLAogICAgICAgICAgICBvID0gdm9pZCAwICE9PSBlLmdldEVsZW1lbnRzQnlUYWdOYW1lID8gZS5nZXRFbGVtZW50c0J5VGFnTmFtZSh0IHx8ICIqIikgOiB2b2lkIDAgIT09IGUucXVlcnlTZWxlY3RvckFsbCA/IGUucXVlcnlTZWxlY3RvckFsbCh0IHx8ICIqIikgOiB2b2lkIDA7CiAgICAgICAgaWYgKCFvKQogICAgICAgICAgICBmb3IgKG8gPSBbXSwgbiA9IGUuY2hpbGROb2RlcyB8fCBlOyBudWxsICE9IChyID0gbltpXSk7IGkrKykgIXQgfHwgRS5ub2RlTmFtZShyLCB0KSA/IG8ucHVzaChyKSA6IEUubWVyZ2UobywgYWUociwgdCkpOwogICAgICAgIHJldHVybiB2b2lkIDAgPT09IHQgfHwgdCAmJiBFLm5vZGVOYW1lKGUsIHQpID8gRS5tZXJnZShbZV0sIG8pIDogbwogICAgfQoKICAgIGZ1bmN0aW9uIHNlKGUsIHQpIHsKICAgICAgICBmb3IgKHZhciBuLCByID0gMDsgbnVsbCAhPSAobiA9IGVbcl0pOyByKyspIEUuX2RhdGEobiwgImdsb2JhbEV2YWwiLCAhdCB8fCBFLl9kYXRhKHRbcl0sICJnbG9iYWxFdmFsIikpCiAgICB9CiAgICBvZS5vcHRncm91cCA9IG9lLm9wdGlvbiwgb2UudGJvZHkgPSBvZS50Zm9vdCA9IG9lLmNvbGdyb3VwID0gb2UuY2FwdGlvbiA9IG9lLnRoZWFkLCBvZS50aCA9IG9lLnRkOwogICAgdmFyIHVlID0gLzx8JiM/XHcrOy8sCiAgICAgICAgbGUgPSAvPHRib2R5L2k7CgogICAgZnVuY3Rpb24gY2UoZSkgewogICAgICAgIFoudGVzdChlLnR5cGUpICYmIChlLmRlZmF1bHRDaGVja2VkID0gZS5jaGVja2VkKQogICAgfQoKICAgIGZ1bmN0aW9uIGRlKGUsIHQsIG4sIHIsIGkpIHsKICAgICAgICBmb3IgKHZhciBvLCBhLCBzLCB1LCBsLCBjLCBkLCBmID0gZS5sZW5ndGgsIHAgPSBpZSh0KSwgaCA9IFtdLCBnID0gMDsgZyA8IGY7IGcrKykKICAgICAgICAgICAgaWYgKChhID0gZVtnXSkgfHwgMCA9PT0gYSkKICAgICAgICAgICAgICAgIGlmICgib2JqZWN0IiA9PT0gRS50eXBlKGEpKSBFLm1lcmdlKGgsIGEubm9kZVR5cGUgPyBbYV0gOiBhKTsKICAgICAgICAgICAgICAgIGVsc2UgaWYgKHVlLnRlc3QoYSkpIHsKICAgICAgICAgICAgZm9yICh1ID0gdSB8fCBwLmFwcGVuZENoaWxkKHQuY3JlYXRlRWxlbWVudCgiZGl2IikpLCBsID0gKGVlLmV4ZWMoYSkgfHwgWyIiLCAiIl0pWzFdLnRvTG93ZXJDYXNlKCksIGQgPSBvZVtsXSB8fCBvZS5fZGVmYXVsdCwgdS5pbm5lckhUTUwgPSBkWzFdICsgRS5odG1sUHJlZmlsdGVyKGEpICsgZFsyXSwgbyA9IGRbMF07IG8tLTspIHUgPSB1Lmxhc3RDaGlsZDsKICAgICAgICAgICAgaWYgKCF2LmxlYWRpbmdXaGl0ZXNwYWNlICYmIG5lLnRlc3QoYSkgJiYgaC5wdXNoKHQuY3JlYXRlVGV4dE5vZGUobmUuZXhlYyhhKVswXSkpLCAhdi50Ym9keSkKICAgICAgICAgICAgICAgIGZvciAobyA9IChhID0gInRhYmxlIiAhPT0gbCB8fCBsZS50ZXN0KGEpID8gIjx0YWJsZT4iICE9PSBkWzFdIHx8IGxlLnRlc3QoYSkgPyAwIDogdSA6IHUuZmlyc3RDaGlsZCkgJiYgYS5jaGlsZE5vZGVzLmxlbmd0aDsgby0tOykgRS5ub2RlTmFtZShjID0gYS5jaGlsZE5vZGVzW29dLCAidGJvZHkiKSAmJiAhYy5jaGlsZE5vZGVzLmxlbmd0aCAmJiBhLnJlbW92ZUNoaWxkKGMpOwogICAgICAgICAgICBmb3IgKEUubWVyZ2UoaCwgdS5jaGlsZE5vZGVzKSwgdS50ZXh0Q29udGVudCA9ICIiOyB1LmZpcnN0Q2hpbGQ7KSB1LnJlbW92ZUNoaWxkKHUuZmlyc3RDaGlsZCk7CiAgICAgICAgICAgIHUgPSBwLmxhc3RDaGlsZAogICAgICAgIH0gZWxzZSBoLnB1c2godC5jcmVhdGVUZXh0Tm9kZShhKSk7CiAgICAgICAgZm9yICh1ICYmIHAucmVtb3ZlQ2hpbGQodSksIHYuYXBwZW5kQ2hlY2tlZCB8fCBFLmdyZXAoYWUoaCwgImlucHV0IiksIGNlKSwgZyA9IDA7IGEgPSBoW2crK107KQogICAgICAgICAgICBpZiAociAmJiAtMSA8IEUuaW5BcnJheShhLCByKSkgaSAmJiBpLnB1c2goYSk7CiAgICAgICAgICAgIGVsc2UgaWYgKHMgPSBFLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCwgYSksIHUgPSBhZShwLmFwcGVuZENoaWxkKGEpLCAic2NyaXB0IiksIHMgJiYgc2UodSksIG4pCiAgICAgICAgICAgIGZvciAobyA9IDA7IGEgPSB1W28rK107KSB0ZS50ZXN0KGEudHlwZSB8fCAiIikgJiYgbi5wdXNoKGEpOwogICAgICAgIHJldHVybiB1ID0gbnVsbCwgcAogICAgfSEgZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGUsIHQsIG4gPSBoLmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgIGZvciAoZSBpbiB7CiAgICAgICAgICAgICAgICBzdWJtaXQ6ICEwLAogICAgICAgICAgICAgICAgY2hhbmdlOiAhMCwKICAgICAgICAgICAgICAgIGZvY3VzaW46ICEwCiAgICAgICAgICAgIH0pIHQgPSAib24iICsgZSwgKHZbZV0gPSB0IGluIEMpIHx8IChuLnNldEF0dHJpYnV0ZSh0LCAidCIpLCB2W2VdID0gITEgPT09IG4uYXR0cmlidXRlc1t0XS5leHBhbmRvKTsKICAgICAgICBuID0gbnVsbAogICAgfSgpOwogICAgdmFyIGZlID0gL14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWEpJC9pLAogICAgICAgIHBlID0gL15rZXkvLAogICAgICAgIGhlID0gL14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLAogICAgICAgIGdlID0gL14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvLAogICAgICAgIG1lID0gL14oW14uXSopKD86XC4oLispfCkvOwoKICAgIGZ1bmN0aW9uIHZlKCkgewogICAgICAgIHJldHVybiAhMAogICAgfQoKICAgIGZ1bmN0aW9uIHllKCkgewogICAgICAgIHJldHVybiAhMQogICAgfQoKICAgIGZ1bmN0aW9uIHhlKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHJldHVybiBoLmFjdGl2ZUVsZW1lbnQKICAgICAgICB9IGNhdGNoIChlKSB7fQogICAgfQoKICAgIGZ1bmN0aW9uIGJlKGUsIHQsIG4sIHIsIGksIG8pIHsKICAgICAgICB2YXIgYSwgczsKICAgICAgICBpZiAoIm9iamVjdCIgPT0gdHlwZW9mIHQpIHsKICAgICAgICAgICAgZm9yIChzIGluICJzdHJpbmciICE9IHR5cGVvZiBuICYmIChyID0gciB8fCBuLCBuID0gdm9pZCAwKSwgdCkgYmUoZSwgcywgbiwgciwgdFtzXSwgbyk7CiAgICAgICAgICAgIHJldHVybiBlCiAgICAgICAgfQogICAgICAgIGlmIChudWxsID09IHIgJiYgbnVsbCA9PSBpID8gKGkgPSBuLCByID0gbiA9IHZvaWQgMCkgOiBudWxsID09IGkgJiYgKCJzdHJpbmciID09IHR5cGVvZiBuID8gKGkgPSByLCByID0gdm9pZCAwKSA6IChpID0gciwgciA9IG4sIG4gPSB2b2lkIDApKSwgITEgPT09IGkpIGkgPSB5ZTsKICAgICAgICBlbHNlIGlmICghaSkgcmV0dXJuIGU7CiAgICAgICAgcmV0dXJuIDEgPT09IG8gJiYgKGEgPSBpLCAoaSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIEUoKS5vZmYoZSksIGEuYXBwbHkodGhpcywgYXJndW1lbnRzKQogICAgICAgIH0pLmd1aWQgPSBhLmd1aWQgfHwgKGEuZ3VpZCA9IEUuZ3VpZCsrKSksIGUuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgRS5ldmVudC5hZGQodGhpcywgdCwgaSwgciwgbikKICAgICAgICB9KQogICAgfQogICAgRS5ldmVudCA9IHsKICAgICAgICBnbG9iYWw6IHt9LAogICAgICAgIGFkZDogZnVuY3Rpb24oZSwgdCwgbiwgciwgaSkgewogICAgICAgICAgICB2YXIgbywgYSwgcywgdSwgbCwgYywgZCwgZiwgcCwgaCwgZywgbSA9IEUuX2RhdGEoZSk7CiAgICAgICAgICAgIGlmIChtKSB7CiAgICAgICAgICAgICAgICBmb3IgKG4uaGFuZGxlciAmJiAobiA9ICh1ID0gbikuaGFuZGxlciwgaSA9IHUuc2VsZWN0b3IpLCBuLmd1aWQgfHwgKG4uZ3VpZCA9IEUuZ3VpZCsrKSwgKGEgPSBtLmV2ZW50cykgfHwgKGEgPSBtLmV2ZW50cyA9IHt9KSwgKGMgPSBtLmhhbmRsZSkgfHwgKChjID0gbS5oYW5kbGUgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2b2lkIDAgPT09IEUgfHwgZSAmJiBFLmV2ZW50LnRyaWdnZXJlZCA9PT0gZS50eXBlID8gdm9pZCAwIDogRS5ldmVudC5kaXNwYXRjaC5hcHBseShjLmVsZW0sIGFyZ3VtZW50cykKICAgICAgICAgICAgICAgICAgICB9KS5lbGVtID0gZSksIHMgPSAodCA9ICh0IHx8ICIiKS5tYXRjaChxKSB8fCBbIiJdKS5sZW5ndGg7IHMtLTspIHAgPSBnID0gKG8gPSBtZS5leGVjKHRbc10pIHx8IFtdKVsxXSwgaCA9IChvWzJdIHx8ICIiKS5zcGxpdCgiLiIpLnNvcnQoKSwgcCAmJiAobCA9IEUuZXZlbnQuc3BlY2lhbFtwXSB8fCB7fSwgcCA9IChpID8gbC5kZWxlZ2F0ZVR5cGUgOiBsLmJpbmRUeXBlKSB8fCBwLCBsID0gRS5ldmVudC5zcGVjaWFsW3BdIHx8IHt9LCBkID0gRS5leHRlbmQoewogICAgICAgICAgICAgICAgICAgIHR5cGU6IHAsCiAgICAgICAgICAgICAgICAgICAgb3JpZ1R5cGU6IGcsCiAgICAgICAgICAgICAgICAgICAgZGF0YTogciwKICAgICAgICAgICAgICAgICAgICBoYW5kbGVyOiBuLAogICAgICAgICAgICAgICAgICAgIGd1aWQ6IG4uZ3VpZCwKICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogaSwKICAgICAgICAgICAgICAgICAgICBuZWVkc0NvbnRleHQ6IGkgJiYgRS5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KGkpLAogICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZTogaC5qb2luKCIuIikKICAgICAgICAgICAgICAgIH0sIHUpLCAoZiA9IGFbcF0pIHx8ICgoZiA9IGFbcF0gPSBbXSkuZGVsZWdhdGVDb3VudCA9IDAsIGwuc2V0dXAgJiYgITEgIT09IGwuc2V0dXAuY2FsbChlLCByLCBoLCBjKSB8fCAoZS5hZGRFdmVudExpc3RlbmVyID8gZS5hZGRFdmVudExpc3RlbmVyKHAsIGMsICExKSA6IGUuYXR0YWNoRXZlbnQgJiYgZS5hdHRhY2hFdmVudCgib24iICsgcCwgYykpKSwgbC5hZGQgJiYgKGwuYWRkLmNhbGwoZSwgZCksIGQuaGFuZGxlci5ndWlkIHx8IChkLmhhbmRsZXIuZ3VpZCA9IG4uZ3VpZCkpLCBpID8gZi5zcGxpY2UoZi5kZWxlZ2F0ZUNvdW50KyssIDAsIGQpIDogZi5wdXNoKGQpLCBFLmV2ZW50Lmdsb2JhbFtwXSA9ICEwKTsKICAgICAgICAgICAgICAgIGUgPSBudWxsCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHJlbW92ZTogZnVuY3Rpb24oZSwgdCwgbiwgciwgaSkgewogICAgICAgICAgICB2YXIgbywgYSwgcywgdSwgbCwgYywgZCwgZiwgcCwgaCwgZywgbSA9IEUuaGFzRGF0YShlKSAmJiBFLl9kYXRhKGUpOwogICAgICAgICAgICBpZiAobSAmJiAoYyA9IG0uZXZlbnRzKSkgewogICAgICAgICAgICAgICAgZm9yIChsID0gKHQgPSAodCB8fCAiIikubWF0Y2gocSkgfHwgWyIiXSkubGVuZ3RoOyBsLS07KQogICAgICAgICAgICAgICAgICAgIGlmIChwID0gZyA9IChzID0gbWUuZXhlYyh0W2xdKSB8fCBbXSlbMV0sIGggPSAoc1syXSB8fCAiIikuc3BsaXQoIi4iKS5zb3J0KCksIHApIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChkID0gRS5ldmVudC5zcGVjaWFsW3BdIHx8IHt9LCBmID0gY1twID0gKHIgPyBkLmRlbGVnYXRlVHlwZSA6IGQuYmluZFR5cGUpIHx8IHBdIHx8IFtdLCBzID0gc1syXSAmJiBuZXcgUmVnRXhwKCIoXnxcXC4pIiArIGguam9pbigiXFwuKD86LipcXC58KSIpICsgIihcXC58JCkiKSwgdSA9IG8gPSBmLmxlbmd0aDsgby0tOykgYSA9IGZbb10sICFpICYmIGcgIT09IGEub3JpZ1R5cGUgfHwgbiAmJiBuLmd1aWQgIT09IGEuZ3VpZCB8fCBzICYmICFzLnRlc3QoYS5uYW1lc3BhY2UpIHx8IHIgJiYgciAhPT0gYS5zZWxlY3RvciAmJiAoIioqIiAhPT0gciB8fCAhYS5zZWxlY3RvcikgfHwgKGYuc3BsaWNlKG8sIDEpLCBhLnNlbGVjdG9yICYmIGYuZGVsZWdhdGVDb3VudC0tLCBkLnJlbW92ZSAmJiBkLnJlbW92ZS5jYWxsKGUsIGEpKTsKICAgICAgICAgICAgICAgICAgICAgICAgdSAmJiAhZi5sZW5ndGggJiYgKGQudGVhcmRvd24gJiYgITEgIT09IGQudGVhcmRvd24uY2FsbChlLCBoLCBtLmhhbmRsZSkgfHwgRS5yZW1vdmVFdmVudChlLCBwLCBtLmhhbmRsZSksIGRlbGV0ZSBjW3BdKQogICAgICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHAgaW4gYykgRS5ldmVudC5yZW1vdmUoZSwgcCArIHRbbF0sIG4sIHIsICEwKTsKICAgICAgICAgICAgICAgIEUuaXNFbXB0eU9iamVjdChjKSAmJiAoZGVsZXRlIG0uaGFuZGxlLCBFLl9yZW1vdmVEYXRhKGUsICJldmVudHMiKSkKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdHJpZ2dlcjogZnVuY3Rpb24oZSwgdCwgbiwgcikgewogICAgICAgICAgICB2YXIgaSwgbywgYSwgcywgdSwgbCwgYywgZCA9IFtuIHx8IGhdLAogICAgICAgICAgICAgICAgZiA9IG0uY2FsbChlLCAidHlwZSIpID8gZS50eXBlIDogZSwKICAgICAgICAgICAgICAgIHAgPSBtLmNhbGwoZSwgIm5hbWVzcGFjZSIpID8gZS5uYW1lc3BhY2Uuc3BsaXQoIi4iKSA6IFtdOwogICAgICAgICAgICBpZiAoYSA9IGwgPSBuID0gbiB8fCBoLCAzICE9PSBuLm5vZGVUeXBlICYmIDggIT09IG4ubm9kZVR5cGUgJiYgIWdlLnRlc3QoZiArIEUuZXZlbnQudHJpZ2dlcmVkKSAmJiAoLTEgPCBmLmluZGV4T2YoIi4iKSAmJiAoZiA9IChwID0gZi5zcGxpdCgiLiIpKS5zaGlmdCgpLCBwLnNvcnQoKSksIG8gPSBmLmluZGV4T2YoIjoiKSA8IDAgJiYgIm9uIiArIGYsIChlID0gZVtFLmV4cGFuZG9dID8gZSA6IG5ldyBFLkV2ZW50KGYsICJvYmplY3QiID09IHR5cGVvZiBlICYmIGUpKS5pc1RyaWdnZXIgPSByID8gMiA6IDMsIGUubmFtZXNwYWNlID0gcC5qb2luKCIuIiksIGUucm5hbWVzcGFjZSA9IGUubmFtZXNwYWNlID8gbmV3IFJlZ0V4cCgiKF58XFwuKSIgKyBwLmpvaW4oIlxcLig/Oi4qXFwufCkiKSArICIoXFwufCQpIikgOiBudWxsLCBlLnJlc3VsdCA9IHZvaWQgMCwgZS50YXJnZXQgfHwgKGUudGFyZ2V0ID0gbiksIHQgPSBudWxsID09IHQgPyBbZV0gOiBFLm1ha2VBcnJheSh0LCBbZV0pLCB1ID0gRS5ldmVudC5zcGVjaWFsW2ZdIHx8IHt9LCByIHx8ICF1LnRyaWdnZXIgfHwgITEgIT09IHUudHJpZ2dlci5hcHBseShuLCB0KSkpIHsKICAgICAgICAgICAgICAgIGlmICghciAmJiAhdS5ub0J1YmJsZSAmJiAhRS5pc1dpbmRvdyhuKSkgewogICAgICAgICAgICAgICAgICAgIGZvciAocyA9IHUuZGVsZWdhdGVUeXBlIHx8IGYsIGdlLnRlc3QocyArIGYpIHx8IChhID0gYS5wYXJlbnROb2RlKTsgYTsgYSA9IGEucGFyZW50Tm9kZSkgZC5wdXNoKGEpLCBsID0gYTsKICAgICAgICAgICAgICAgICAgICBsID09PSAobi5vd25lckRvY3VtZW50IHx8IGgpICYmIGQucHVzaChsLmRlZmF1bHRWaWV3IHx8IGwucGFyZW50V2luZG93IHx8IEMpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBmb3IgKGMgPSAwOwogICAgICAgICAgICAgICAgICAgIChhID0gZFtjKytdKSAmJiAhZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOykgZS50eXBlID0gMSA8IGMgPyBzIDogdS5iaW5kVHlwZSB8fCBmLCAoaSA9IChFLl9kYXRhKGEsICJldmVudHMiKSB8fCB7fSlbZS50eXBlXSAmJiBFLl9kYXRhKGEsICJoYW5kbGUiKSkgJiYgaS5hcHBseShhLCB0KSwgKGkgPSBvICYmIGFbb10pICYmIGkuYXBwbHkgJiYgTyhhKSAmJiAoZS5yZXN1bHQgPSBpLmFwcGx5KGEsIHQpLCAhMSA9PT0gZS5yZXN1bHQgJiYgZS5wcmV2ZW50RGVmYXVsdCgpKTsKICAgICAgICAgICAgICAgIGlmIChlLnR5cGUgPSBmLCAhciAmJiAhZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSAmJiAoIXUuX2RlZmF1bHQgfHwgITEgPT09IHUuX2RlZmF1bHQuYXBwbHkoZC5wb3AoKSwgdCkpICYmIE8obikgJiYgbyAmJiBuW2ZdICYmICFFLmlzV2luZG93KG4pKSB7CiAgICAgICAgICAgICAgICAgICAgKGwgPSBuW29dKSAmJiAobltvXSA9IG51bGwpLCBFLmV2ZW50LnRyaWdnZXJlZCA9IGY7CiAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgbltmXSgpCiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge30KICAgICAgICAgICAgICAgICAgICBFLmV2ZW50LnRyaWdnZXJlZCA9IHZvaWQgMCwgbCAmJiAobltvXSA9IGwpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gZS5yZXN1bHQKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgZGlzcGF0Y2g6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgZSA9IEUuZXZlbnQuZml4KGUpOwogICAgICAgICAgICB2YXIgdCwgbiwgciwgaSwgbywgYSA9IFtdLAogICAgICAgICAgICAgICAgcyA9IGMuY2FsbChhcmd1bWVudHMpLAogICAgICAgICAgICAgICAgdSA9IChFLl9kYXRhKHRoaXMsICJldmVudHMiKSB8fCB7fSlbZS50eXBlXSB8fCBbXSwKICAgICAgICAgICAgICAgIGwgPSBFLmV2ZW50LnNwZWNpYWxbZS50eXBlXSB8fCB7fTsKICAgICAgICAgICAgaWYgKChzWzBdID0gZSkuZGVsZWdhdGVUYXJnZXQgPSB0aGlzLCAhbC5wcmVEaXNwYXRjaCB8fCAhMSAhPT0gbC5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsIGUpKSB7CiAgICAgICAgICAgICAgICBmb3IgKGEgPSBFLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcywgZSwgdSksIHQgPSAwOwogICAgICAgICAgICAgICAgICAgIChpID0gYVt0KytdKSAmJiAhZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOykKICAgICAgICAgICAgICAgICAgICBmb3IgKGUuY3VycmVudFRhcmdldCA9IGkuZWxlbSwgbiA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgIChvID0gaS5oYW5kbGVyc1tuKytdKSAmJiAhZS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpOykgZS5ybmFtZXNwYWNlICYmICFlLnJuYW1lc3BhY2UudGVzdChvLm5hbWVzcGFjZSkgfHwgKGUuaGFuZGxlT2JqID0gbywgZS5kYXRhID0gby5kYXRhLCB2b2lkIDAgIT09IChyID0gKChFLmV2ZW50LnNwZWNpYWxbby5vcmlnVHlwZV0gfHwge30pLmhhbmRsZSB8fCBvLmhhbmRsZXIpLmFwcGx5KGkuZWxlbSwgcykpICYmICExID09PSAoZS5yZXN1bHQgPSByKSAmJiAoZS5wcmV2ZW50RGVmYXVsdCgpLCBlLnN0b3BQcm9wYWdhdGlvbigpKSk7CiAgICAgICAgICAgICAgICByZXR1cm4gbC5wb3N0RGlzcGF0Y2ggJiYgbC5wb3N0RGlzcGF0Y2guY2FsbCh0aGlzLCBlKSwgZS5yZXN1bHQKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgaGFuZGxlcnM6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgdmFyIG4sIHIsIGksIG8sIGEgPSBbXSwKICAgICAgICAgICAgICAgIHMgPSB0LmRlbGVnYXRlQ291bnQsCiAgICAgICAgICAgICAgICB1ID0gZS50YXJnZXQ7CiAgICAgICAgICAgIGlmIChzICYmIHUubm9kZVR5cGUgJiYgKCJjbGljayIgIT09IGUudHlwZSB8fCBpc05hTihlLmJ1dHRvbikgfHwgZS5idXR0b24gPCAxKSkKICAgICAgICAgICAgICAgIGZvciAoOyB1ICE9IHRoaXM7IHUgPSB1LnBhcmVudE5vZGUgfHwgdGhpcykKICAgICAgICAgICAgICAgICAgICBpZiAoMSA9PT0gdS5ub2RlVHlwZSAmJiAoITAgIT09IHUuZGlzYWJsZWQgfHwgImNsaWNrIiAhPT0gZS50eXBlKSkgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHIgPSBbXSwgbiA9IDA7IG4gPCBzOyBuKyspIHZvaWQgMCA9PT0gcltpID0gKG8gPSB0W25dKS5zZWxlY3RvciArICIgIl0gJiYgKHJbaV0gPSBvLm5lZWRzQ29udGV4dCA/IC0xIDwgRShpLCB0aGlzKS5pbmRleCh1KSA6IEUuZmluZChpLCB0aGlzLCBudWxsLCBbdV0pLmxlbmd0aCksIHJbaV0gJiYgci5wdXNoKG8pOwogICAgICAgICAgICAgICAgICAgICAgICByLmxlbmd0aCAmJiBhLnB1c2goewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbTogdSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZXJzOiByCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gcyA8IHQubGVuZ3RoICYmIGEucHVzaCh7CiAgICAgICAgICAgICAgICBlbGVtOiB0aGlzLAogICAgICAgICAgICAgICAgaGFuZGxlcnM6IHQuc2xpY2UocykKICAgICAgICAgICAgfSksIGEKICAgICAgICB9LAogICAgICAgIGZpeDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICBpZiAoZVtFLmV4cGFuZG9dKSByZXR1cm4gZTsKICAgICAgICAgICAgdmFyIHQsIG4sIHIsIGkgPSBlLnR5cGUsCiAgICAgICAgICAgICAgICBvID0gZSwKICAgICAgICAgICAgICAgIGEgPSB0aGlzLmZpeEhvb2tzW2ldOwogICAgICAgICAgICBmb3IgKGEgfHwgKHRoaXMuZml4SG9va3NbaV0gPSBhID0gaGUudGVzdChpKSA/IHRoaXMubW91c2VIb29rcyA6IHBlLnRlc3QoaSkgPyB0aGlzLmtleUhvb2tzIDoge30pLCByID0gYS5wcm9wcyA/IHRoaXMucHJvcHMuY29uY2F0KGEucHJvcHMpIDogdGhpcy5wcm9wcywgZSA9IG5ldyBFLkV2ZW50KG8pLCB0ID0gci5sZW5ndGg7IHQtLTspIGVbbiA9IHJbdF1dID0gb1tuXTsKICAgICAgICAgICAgcmV0dXJuIGUudGFyZ2V0IHx8IChlLnRhcmdldCA9IG8uc3JjRWxlbWVudCB8fCBoKSwgMyA9PT0gZS50YXJnZXQubm9kZVR5cGUgJiYgKGUudGFyZ2V0ID0gZS50YXJnZXQucGFyZW50Tm9kZSksIGUubWV0YUtleSA9ICEhZS5tZXRhS2V5LCBhLmZpbHRlciA/IGEuZmlsdGVyKGUsIG8pIDogZQogICAgICAgIH0sCiAgICAgICAgcHJvcHM6ICJhbHRLZXkgYnViYmxlcyBjYW5jZWxhYmxlIGN0cmxLZXkgY3VycmVudFRhcmdldCBkZXRhaWwgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLAogICAgICAgIGZpeEhvb2tzOiB7fSwKICAgICAgICBrZXlIb29rczogewogICAgICAgICAgICBwcm9wczogImNoYXIgY2hhckNvZGUga2V5IGtleUNvZGUiLnNwbGl0KCIgIiksCiAgICAgICAgICAgIGZpbHRlcjogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gZS53aGljaCAmJiAoZS53aGljaCA9IG51bGwgIT0gdC5jaGFyQ29kZSA/IHQuY2hhckNvZGUgOiB0LmtleUNvZGUpLCBlCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIG1vdXNlSG9va3M6IHsKICAgICAgICAgICAgcHJvcHM6ICJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgZnJvbUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksCiAgICAgICAgICAgIGZpbHRlcjogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgdmFyIG4sIHIsIGksIG8gPSB0LmJ1dHRvbiwKICAgICAgICAgICAgICAgICAgICBhID0gdC5mcm9tRWxlbWVudDsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsID09IGUucGFnZVggJiYgbnVsbCAhPSB0LmNsaWVudFggJiYgKGkgPSAociA9IGUudGFyZ2V0Lm93bmVyRG9jdW1lbnQgfHwgaCkuZG9jdW1lbnRFbGVtZW50LCBuID0gci5ib2R5LCBlLnBhZ2VYID0gdC5jbGllbnRYICsgKGkgJiYgaS5zY3JvbGxMZWZ0IHx8IG4gJiYgbi5zY3JvbGxMZWZ0IHx8IDApIC0gKGkgJiYgaS5jbGllbnRMZWZ0IHx8IG4gJiYgbi5jbGllbnRMZWZ0IHx8IDApLCBlLnBhZ2VZID0gdC5jbGllbnRZICsgKGkgJiYgaS5zY3JvbGxUb3AgfHwgbiAmJiBuLnNjcm9sbFRvcCB8fCAwKSAtIChpICYmIGkuY2xpZW50VG9wIHx8IG4gJiYgbi5jbGllbnRUb3AgfHwgMCkpLCAhZS5yZWxhdGVkVGFyZ2V0ICYmIGEgJiYgKGUucmVsYXRlZFRhcmdldCA9IGEgPT09IGUudGFyZ2V0ID8gdC50b0VsZW1lbnQgOiBhKSwgZS53aGljaCB8fCB2b2lkIDAgPT09IG8gfHwgKGUud2hpY2ggPSAxICYgbyA/IDEgOiAyICYgbyA/IDMgOiA0ICYgbyA/IDIgOiAwKSwgZQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBzcGVjaWFsOiB7CiAgICAgICAgICAgIGxvYWQ6IHsKICAgICAgICAgICAgICAgIG5vQnViYmxlOiAhMAogICAgICAgICAgICB9LAogICAgICAgICAgICBmb2N1czogewogICAgICAgICAgICAgICAgdHJpZ2dlcjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMgIT09IHhlKCkgJiYgdGhpcy5mb2N1cykgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXMoKSwgITEKICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGRlbGVnYXRlVHlwZTogImZvY3VzaW4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGJsdXI6IHsKICAgICAgICAgICAgICAgIHRyaWdnZXI6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzID09PSB4ZSgpICYmIHRoaXMuYmx1ciA/ICh0aGlzLmJsdXIoKSwgITEpIDogdm9pZCAwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgZGVsZWdhdGVUeXBlOiAiZm9jdXNvdXQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNsaWNrOiB7CiAgICAgICAgICAgICAgICB0cmlnZ2VyOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gRS5ub2RlTmFtZSh0aGlzLCAiaW5wdXQiKSAmJiAiY2hlY2tib3giID09PSB0aGlzLnR5cGUgJiYgdGhpcy5jbGljayA/ICh0aGlzLmNsaWNrKCksICExKSA6IHZvaWQgMAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIF9kZWZhdWx0OiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEUubm9kZU5hbWUoZS50YXJnZXQsICJhIikKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgYmVmb3JldW5sb2FkOiB7CiAgICAgICAgICAgICAgICBwb3N0RGlzcGF0Y2g6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICB2b2lkIDAgIT09IGUucmVzdWx0ICYmIGUub3JpZ2luYWxFdmVudCAmJiAoZS5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlID0gZS5yZXN1bHQpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHNpbXVsYXRlOiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgIHZhciByID0gRS5leHRlbmQobmV3IEUuRXZlbnQsIG4sIHsKICAgICAgICAgICAgICAgIHR5cGU6IGUsCiAgICAgICAgICAgICAgICBpc1NpbXVsYXRlZDogITAKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIEUuZXZlbnQudHJpZ2dlcihyLCBudWxsLCB0KSwgci5pc0RlZmF1bHRQcmV2ZW50ZWQoKSAmJiBuLnByZXZlbnREZWZhdWx0KCkKICAgICAgICB9CiAgICB9LCBFLnJlbW92ZUV2ZW50ID0gaC5yZW1vdmVFdmVudExpc3RlbmVyID8gZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgIGUucmVtb3ZlRXZlbnRMaXN0ZW5lciAmJiBlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCwgbikKICAgIH0gOiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgdmFyIHIgPSAib24iICsgdDsKICAgICAgICBlLmRldGFjaEV2ZW50ICYmICh2b2lkIDAgPT09IGVbcl0gJiYgKGVbcl0gPSBudWxsKSwgZS5kZXRhY2hFdmVudChyLCBuKSkKICAgIH0sIEUuRXZlbnQgPSBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBFLkV2ZW50ID8gKGUgJiYgZS50eXBlID8gKHRoaXMub3JpZ2luYWxFdmVudCA9IGUsIHRoaXMudHlwZSA9IGUudHlwZSwgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBlLmRlZmF1bHRQcmV2ZW50ZWQgfHwgdm9pZCAwID09PSBlLmRlZmF1bHRQcmV2ZW50ZWQgJiYgITEgPT09IGUucmV0dXJuVmFsdWUgPyB2ZSA6IHllKSA6IHRoaXMudHlwZSA9IGUsIHQgJiYgRS5leHRlbmQodGhpcywgdCksIHRoaXMudGltZVN0YW1wID0gZSAmJiBlLnRpbWVTdGFtcCB8fCBFLm5vdygpLCB2b2lkKHRoaXNbRS5leHBhbmRvXSA9ICEwKSkgOiBuZXcgRS5FdmVudChlLCB0KQogICAgfSwgRS5FdmVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgY29uc3RydWN0b3I6IEUuRXZlbnQsCiAgICAgICAgaXNEZWZhdWx0UHJldmVudGVkOiB5ZSwKICAgICAgICBpc1Byb3BhZ2F0aW9uU3RvcHBlZDogeWUsCiAgICAgICAgaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6IHllLAogICAgICAgIHByZXZlbnREZWZhdWx0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLm9yaWdpbmFsRXZlbnQ7CiAgICAgICAgICAgIHRoaXMuaXNEZWZhdWx0UHJldmVudGVkID0gdmUsIGUgJiYgKGUucHJldmVudERlZmF1bHQgPyBlLnByZXZlbnREZWZhdWx0KCkgOiBlLnJldHVyblZhbHVlID0gITEpCiAgICAgICAgfSwKICAgICAgICBzdG9wUHJvcGFnYXRpb246IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMub3JpZ2luYWxFdmVudDsKICAgICAgICAgICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IHZlLCBlICYmICF0aGlzLmlzU2ltdWxhdGVkICYmIChlLnN0b3BQcm9wYWdhdGlvbiAmJiBlLnN0b3BQcm9wYWdhdGlvbigpLCBlLmNhbmNlbEJ1YmJsZSA9ICEwKQogICAgICAgIH0sCiAgICAgICAgc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzLm9yaWdpbmFsRXZlbnQ7CiAgICAgICAgICAgIHRoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQgPSB2ZSwgZSAmJiBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiAmJiBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLCB0aGlzLnN0b3BQcm9wYWdhdGlvbigpCiAgICAgICAgfQogICAgfSwgRS5lYWNoKHsKICAgICAgICBtb3VzZWVudGVyOiAibW91c2VvdmVyIiwKICAgICAgICBtb3VzZWxlYXZlOiAibW91c2VvdXQiLAogICAgICAgIHBvaW50ZXJlbnRlcjogInBvaW50ZXJvdmVyIiwKICAgICAgICBwb2ludGVybGVhdmU6ICJwb2ludGVyb3V0IgogICAgfSwgZnVuY3Rpb24oZSwgaSkgewogICAgICAgIEUuZXZlbnQuc3BlY2lhbFtlXSA9IHsKICAgICAgICAgICAgZGVsZWdhdGVUeXBlOiBpLAogICAgICAgICAgICBiaW5kVHlwZTogaSwKICAgICAgICAgICAgaGFuZGxlOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICB2YXIgdCwgbiA9IGUucmVsYXRlZFRhcmdldCwKICAgICAgICAgICAgICAgICAgICByID0gZS5oYW5kbGVPYmo7CiAgICAgICAgICAgICAgICByZXR1cm4gbiAmJiAobiA9PT0gdGhpcyB8fCBFLmNvbnRhaW5zKHRoaXMsIG4pKSB8fCAoZS50eXBlID0gci5vcmlnVHlwZSwgdCA9IHIuaGFuZGxlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpLCBlLnR5cGUgPSBpKSwgdAogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSksIHYuc3VibWl0IHx8IChFLmV2ZW50LnNwZWNpYWwuc3VibWl0ID0gewogICAgICAgIHNldHVwOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuICFFLm5vZGVOYW1lKHRoaXMsICJmb3JtIikgJiYgdm9pZCBFLmV2ZW50LmFkZCh0aGlzLCAiY2xpY2suX3N1Ym1pdCBrZXlwcmVzcy5fc3VibWl0IiwgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIHQgPSBlLnRhcmdldCwKICAgICAgICAgICAgICAgICAgICBuID0gRS5ub2RlTmFtZSh0LCAiaW5wdXQiKSB8fCBFLm5vZGVOYW1lKHQsICJidXR0b24iKSA/IEUucHJvcCh0LCAiZm9ybSIpIDogdm9pZCAwOwogICAgICAgICAgICAgICAgbiAmJiAhRS5fZGF0YShuLCAic3VibWl0IikgJiYgKEUuZXZlbnQuYWRkKG4sICJzdWJtaXQuX3N1Ym1pdCIsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICBlLl9zdWJtaXRCdWJibGUgPSAhMAogICAgICAgICAgICAgICAgfSksIEUuX2RhdGEobiwgInN1Ym1pdCIsICEwKSkKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIHBvc3REaXNwYXRjaDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLl9zdWJtaXRCdWJibGUgJiYgKGRlbGV0ZSBlLl9zdWJtaXRCdWJibGUsIHRoaXMucGFyZW50Tm9kZSAmJiAhZS5pc1RyaWdnZXIgJiYgRS5ldmVudC5zaW11bGF0ZSgic3VibWl0IiwgdGhpcy5wYXJlbnROb2RlLCBlKSkKICAgICAgICB9LAogICAgICAgIHRlYXJkb3duOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuICFFLm5vZGVOYW1lKHRoaXMsICJmb3JtIikgJiYgdm9pZCBFLmV2ZW50LnJlbW92ZSh0aGlzLCAiLl9zdWJtaXQiKQogICAgICAgIH0KICAgIH0pLCB2LmNoYW5nZSB8fCAoRS5ldmVudC5zcGVjaWFsLmNoYW5nZSA9IHsKICAgICAgICBzZXR1cDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiBmZS50ZXN0KHRoaXMubm9kZU5hbWUpID8gKCJjaGVja2JveCIgIT09IHRoaXMudHlwZSAmJiAicmFkaW8iICE9PSB0aGlzLnR5cGUgfHwgKEUuZXZlbnQuYWRkKHRoaXMsICJwcm9wZXJ0eWNoYW5nZS5fY2hhbmdlIiwgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgImNoZWNrZWQiID09PSBlLm9yaWdpbmFsRXZlbnQucHJvcGVydHlOYW1lICYmICh0aGlzLl9qdXN0Q2hhbmdlZCA9ICEwKQogICAgICAgICAgICB9KSwgRS5ldmVudC5hZGQodGhpcywgImNsaWNrLl9jaGFuZ2UiLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICB0aGlzLl9qdXN0Q2hhbmdlZCAmJiAhZS5pc1RyaWdnZXIgJiYgKHRoaXMuX2p1c3RDaGFuZ2VkID0gITEpLCBFLmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLCB0aGlzLCBlKQogICAgICAgICAgICB9KSksICExKSA6IHZvaWQgRS5ldmVudC5hZGQodGhpcywgImJlZm9yZWFjdGl2YXRlLl9jaGFuZ2UiLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IGUudGFyZ2V0OwogICAgICAgICAgICAgICAgZmUudGVzdCh0Lm5vZGVOYW1lKSAmJiAhRS5fZGF0YSh0LCAiY2hhbmdlIikgJiYgKEUuZXZlbnQuYWRkKHQsICJjaGFuZ2UuX2NoYW5nZSIsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAhdGhpcy5wYXJlbnROb2RlIHx8IGUuaXNTaW11bGF0ZWQgfHwgZS5pc1RyaWdnZXIgfHwgRS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIiwgdGhpcy5wYXJlbnROb2RlLCBlKQogICAgICAgICAgICAgICAgfSksIEUuX2RhdGEodCwgImNoYW5nZSIsICEwKSkKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIGhhbmRsZTogZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgdCA9IGUudGFyZ2V0OwogICAgICAgICAgICByZXR1cm4gdGhpcyAhPT0gdCB8fCBlLmlzU2ltdWxhdGVkIHx8IGUuaXNUcmlnZ2VyIHx8ICJyYWRpbyIgIT09IHQudHlwZSAmJiAiY2hlY2tib3giICE9PSB0LnR5cGUgPyBlLmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgOiB2b2lkIDAKICAgICAgICB9LAogICAgICAgIHRlYXJkb3duOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIEUuZXZlbnQucmVtb3ZlKHRoaXMsICIuX2NoYW5nZSIpLCAhZmUudGVzdCh0aGlzLm5vZGVOYW1lKQogICAgICAgIH0KICAgIH0pLCB2LmZvY3VzaW4gfHwgRS5lYWNoKHsKICAgICAgICBmb2N1czogImZvY3VzaW4iLAogICAgICAgIGJsdXI6ICJmb2N1c291dCIKICAgIH0sIGZ1bmN0aW9uKG4sIHIpIHsKICAgICAgICB2YXIgaSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgRS5ldmVudC5zaW11bGF0ZShyLCBlLnRhcmdldCwgRS5ldmVudC5maXgoZSkpCiAgICAgICAgfTsKICAgICAgICBFLmV2ZW50LnNwZWNpYWxbcl0gPSB7CiAgICAgICAgICAgIHNldHVwOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcy5vd25lckRvY3VtZW50IHx8IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgdCA9IEUuX2RhdGEoZSwgcik7CiAgICAgICAgICAgICAgICB0IHx8IGUuYWRkRXZlbnRMaXN0ZW5lcihuLCBpLCAhMCksIEUuX2RhdGEoZSwgciwgKHQgfHwgMCkgKyAxKQogICAgICAgICAgICB9LAogICAgICAgICAgICB0ZWFyZG93bjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMub3duZXJEb2N1bWVudCB8fCB0aGlzLAogICAgICAgICAgICAgICAgICAgIHQgPSBFLl9kYXRhKGUsIHIpIC0gMTsKICAgICAgICAgICAgICAgIHQgPyBFLl9kYXRhKGUsIHIsIHQpIDogKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihuLCBpLCAhMCksIEUuX3JlbW92ZURhdGEoZSwgcikpCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgRS5mbi5leHRlbmQoewogICAgICAgIG9uOiBmdW5jdGlvbihlLCB0LCBuLCByKSB7CiAgICAgICAgICAgIHJldHVybiBiZSh0aGlzLCBlLCB0LCBuLCByKQogICAgICAgIH0sCiAgICAgICAgb25lOiBmdW5jdGlvbihlLCB0LCBuLCByKSB7CiAgICAgICAgICAgIHJldHVybiBiZSh0aGlzLCBlLCB0LCBuLCByLCAxKQogICAgICAgIH0sCiAgICAgICAgb2ZmOiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgIHZhciByLCBpOwogICAgICAgICAgICBpZiAoZSAmJiBlLnByZXZlbnREZWZhdWx0ICYmIGUuaGFuZGxlT2JqKSByZXR1cm4gciA9IGUuaGFuZGxlT2JqLCBFKGUuZGVsZWdhdGVUYXJnZXQpLm9mZihyLm5hbWVzcGFjZSA/IHIub3JpZ1R5cGUgKyAiLiIgKyByLm5hbWVzcGFjZSA6IHIub3JpZ1R5cGUsIHIuc2VsZWN0b3IsIHIuaGFuZGxlciksIHRoaXM7CiAgICAgICAgICAgIGlmICgib2JqZWN0IiAhPSB0eXBlb2YgZSkgcmV0dXJuICExICE9PSB0ICYmICJmdW5jdGlvbiIgIT0gdHlwZW9mIHQgfHwgKG4gPSB0LCB0ID0gdm9pZCAwKSwgITEgPT09IG4gJiYgKG4gPSB5ZSksIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIEUuZXZlbnQucmVtb3ZlKHRoaXMsIGUsIG4sIHQpCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBmb3IgKGkgaW4gZSkgdGhpcy5vZmYoaSwgdCwgZVtpXSk7CiAgICAgICAgICAgIHJldHVybiB0aGlzCiAgICAgICAgfSwKICAgICAgICB0cmlnZ2VyOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBFLmV2ZW50LnRyaWdnZXIoZSwgdCwgdGhpcykKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIHRyaWdnZXJIYW5kbGVyOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHZhciBuID0gdGhpc1swXTsKICAgICAgICAgICAgcmV0dXJuIG4gPyBFLmV2ZW50LnRyaWdnZXIoZSwgdCwgbiwgITApIDogdm9pZCAwCiAgICAgICAgfQogICAgfSk7CiAgICB2YXIgd2UgPSAvIGpRdWVyeVxkKz0iKD86bnVsbHxcZCspIi9nLAogICAgICAgIFRlID0gbmV3IFJlZ0V4cCgiPCg/OiIgKyByZSArICIpW1xccy8+XSIsICJpIiksCiAgICAgICAgQ2UgPSAvPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbXHc6LV0rKVtePl0qKVwvPi9naSwKICAgICAgICBFZSA9IC88c2NyaXB0fDxzdHlsZXw8bGluay9pLAogICAgICAgIE5lID0gL2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksCiAgICAgICAga2UgPSAvXnRydWVcLyguKikvLAogICAgICAgIFNlID0gL15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8KD86XF1cXXwtLSk+XHMqJC9nLAogICAgICAgIEFlID0gaWUoaCkuYXBwZW5kQ2hpbGQoaC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7CgogICAgZnVuY3Rpb24gRGUoZSwgdCkgewogICAgICAgIHJldHVybiBFLm5vZGVOYW1lKGUsICJ0YWJsZSIpICYmIEUubm9kZU5hbWUoMTEgIT09IHQubm9kZVR5cGUgPyB0IDogdC5maXJzdENoaWxkLCAidHIiKSA/IGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF0gfHwgZS5hcHBlbmRDaGlsZChlLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSkgOiBlCiAgICB9CgogICAgZnVuY3Rpb24gamUoZSkgewogICAgICAgIHJldHVybiBlLnR5cGUgPSAobnVsbCAhPT0gRS5maW5kLmF0dHIoZSwgInR5cGUiKSkgKyAiLyIgKyBlLnR5cGUsIGUKICAgIH0KCiAgICBmdW5jdGlvbiBMZShlKSB7CiAgICAgICAgdmFyIHQgPSBrZS5leGVjKGUudHlwZSk7CiAgICAgICAgcmV0dXJuIHQgPyBlLnR5cGUgPSB0WzFdIDogZS5yZW1vdmVBdHRyaWJ1dGUoInR5cGUiKSwgZQogICAgfQoKICAgIGZ1bmN0aW9uIEhlKGUsIHQpIHsKICAgICAgICBpZiAoMSA9PT0gdC5ub2RlVHlwZSAmJiBFLmhhc0RhdGEoZSkpIHsKICAgICAgICAgICAgdmFyIG4sIHIsIGksIG8gPSBFLl9kYXRhKGUpLAogICAgICAgICAgICAgICAgYSA9IEUuX2RhdGEodCwgbyksCiAgICAgICAgICAgICAgICBzID0gby5ldmVudHM7CiAgICAgICAgICAgIGlmIChzKQogICAgICAgICAgICAgICAgZm9yIChuIGluIGRlbGV0ZSBhLmhhbmRsZSwgYS5ldmVudHMgPSB7fSwgcykKICAgICAgICAgICAgICAgICAgICBmb3IgKHIgPSAwLCBpID0gc1tuXS5sZW5ndGg7IHIgPCBpOyByKyspIEUuZXZlbnQuYWRkKHQsIG4sIHNbbl1bcl0pOwogICAgICAgICAgICBhLmRhdGEgJiYgKGEuZGF0YSA9IEUuZXh0ZW5kKHt9LCBhLmRhdGEpKQogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBxZShlLCB0KSB7CiAgICAgICAgdmFyIG4sIHIsIGk7CiAgICAgICAgaWYgKDEgPT09IHQubm9kZVR5cGUpIHsKICAgICAgICAgICAgaWYgKG4gPSB0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksICF2Lm5vQ2xvbmVFdmVudCAmJiB0W0UuZXhwYW5kb10pIHsKICAgICAgICAgICAgICAgIGZvciAociBpbiAoaSA9IEUuX2RhdGEodCkpLmV2ZW50cykgRS5yZW1vdmVFdmVudCh0LCByLCBpLmhhbmRsZSk7CiAgICAgICAgICAgICAgICB0LnJlbW92ZUF0dHJpYnV0ZShFLmV4cGFuZG8pCiAgICAgICAgICAgIH0KICAgICAgICAgICAgInNjcmlwdCIgPT09IG4gJiYgdC50ZXh0ICE9PSBlLnRleHQgPyAoamUodCkudGV4dCA9IGUudGV4dCwgTGUodCkpIDogIm9iamVjdCIgPT09IG4gPyAodC5wYXJlbnROb2RlICYmICh0Lm91dGVySFRNTCA9IGUub3V0ZXJIVE1MKSwgdi5odG1sNUNsb25lICYmIGUuaW5uZXJIVE1MICYmICFFLnRyaW0odC5pbm5lckhUTUwpICYmICh0LmlubmVySFRNTCA9IGUuaW5uZXJIVE1MKSkgOiAiaW5wdXQiID09PSBuICYmIFoudGVzdChlLnR5cGUpID8gKHQuZGVmYXVsdENoZWNrZWQgPSB0LmNoZWNrZWQgPSBlLmNoZWNrZWQsIHQudmFsdWUgIT09IGUudmFsdWUgJiYgKHQudmFsdWUgPSBlLnZhbHVlKSkgOiAib3B0aW9uIiA9PT0gbiA/IHQuZGVmYXVsdFNlbGVjdGVkID0gdC5zZWxlY3RlZCA9IGUuZGVmYXVsdFNlbGVjdGVkIDogImlucHV0IiAhPT0gbiAmJiAidGV4dGFyZWEiICE9PSBuIHx8ICh0LmRlZmF1bHRWYWx1ZSA9IGUuZGVmYXVsdFZhbHVlKQogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBfZShuLCByLCBpLCBvKSB7CiAgICAgICAgciA9IGcuYXBwbHkoW10sIHIpOwogICAgICAgIHZhciBlLCB0LCBhLCBzLCB1LCBsLCBjID0gMCwKICAgICAgICAgICAgZCA9IG4ubGVuZ3RoLAogICAgICAgICAgICBmID0gZCAtIDEsCiAgICAgICAgICAgIHAgPSByWzBdLAogICAgICAgICAgICBoID0gRS5pc0Z1bmN0aW9uKHApOwogICAgICAgIGlmIChoIHx8IDEgPCBkICYmICJzdHJpbmciID09IHR5cGVvZiBwICYmICF2LmNoZWNrQ2xvbmUgJiYgTmUudGVzdChwKSkgcmV0dXJuIG4uZWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciB0ID0gbi5lcShlKTsKICAgICAgICAgICAgaCAmJiAoclswXSA9IHAuY2FsbCh0aGlzLCBlLCB0Lmh0bWwoKSkpLCBfZSh0LCByLCBpLCBvKQogICAgICAgIH0pOwogICAgICAgIGlmIChkICYmIChlID0gKGwgPSBkZShyLCBuWzBdLm93bmVyRG9jdW1lbnQsICExLCBuLCBvKSkuZmlyc3RDaGlsZCwgMSA9PT0gbC5jaGlsZE5vZGVzLmxlbmd0aCAmJiAobCA9IGUpLCBlIHx8IG8pKSB7CiAgICAgICAgICAgIGZvciAoYSA9IChzID0gRS5tYXAoYWUobCwgInNjcmlwdCIpLCBqZSkpLmxlbmd0aDsgYyA8IGQ7IGMrKykgdCA9IGwsIGMgIT09IGYgJiYgKHQgPSBFLmNsb25lKHQsICEwLCAhMCksIGEgJiYgRS5tZXJnZShzLCBhZSh0LCAic2NyaXB0IikpKSwgaS5jYWxsKG5bY10sIHQsIGMpOwogICAgICAgICAgICBpZiAoYSkKICAgICAgICAgICAgICAgIGZvciAodSA9IHNbcy5sZW5ndGggLSAxXS5vd25lckRvY3VtZW50LCBFLm1hcChzLCBMZSksIGMgPSAwOyBjIDwgYTsgYysrKSB0ID0gc1tjXSwgdGUudGVzdCh0LnR5cGUgfHwgIiIpICYmICFFLl9kYXRhKHQsICJnbG9iYWxFdmFsIikgJiYgRS5jb250YWlucyh1LCB0KSAmJiAodC5zcmMgPyBFLl9ldmFsVXJsICYmIEUuX2V2YWxVcmwodC5zcmMpIDogRS5nbG9iYWxFdmFsKCh0LnRleHQgfHwgdC50ZXh0Q29udGVudCB8fCB0LmlubmVySFRNTCB8fCAiIikucmVwbGFjZShTZSwgIiIpKSk7CiAgICAgICAgICAgIGwgPSBlID0gbnVsbAogICAgICAgIH0KICAgICAgICByZXR1cm4gbgogICAgfQoKICAgIGZ1bmN0aW9uIEZlKGUsIHQsIG4pIHsKICAgICAgICBmb3IgKHZhciByLCBpID0gdCA/IEUuZmlsdGVyKHQsIGUpIDogZSwgbyA9IDA7IG51bGwgIT0gKHIgPSBpW29dKTsgbysrKSBuIHx8IDEgIT09IHIubm9kZVR5cGUgfHwgRS5jbGVhbkRhdGEoYWUocikpLCByLnBhcmVudE5vZGUgJiYgKG4gJiYgRS5jb250YWlucyhyLm93bmVyRG9jdW1lbnQsIHIpICYmIHNlKGFlKHIsICJzY3JpcHQiKSksIHIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKSk7CiAgICAgICAgcmV0dXJuIGUKICAgIH0KICAgIEUuZXh0ZW5kKHsKICAgICAgICBodG1sUHJlZmlsdGVyOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiBlLnJlcGxhY2UoQ2UsICI8JDE+PC8kMj4iKQogICAgICAgIH0sCiAgICAgICAgY2xvbmU6IGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgdmFyIHIsIGksIG8sIGEsIHMsIHUgPSBFLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCwgZSk7CiAgICAgICAgICAgIGlmICh2Lmh0bWw1Q2xvbmUgfHwgRS5pc1hNTERvYyhlKSB8fCAhVGUudGVzdCgiPCIgKyBlLm5vZGVOYW1lICsgIj4iKSA/IG8gPSBlLmNsb25lTm9kZSghMCkgOiAoQWUuaW5uZXJIVE1MID0gZS5vdXRlckhUTUwsIEFlLnJlbW92ZUNoaWxkKG8gPSBBZS5maXJzdENoaWxkKSksICEodi5ub0Nsb25lRXZlbnQgJiYgdi5ub0Nsb25lQ2hlY2tlZCB8fCAxICE9PSBlLm5vZGVUeXBlICYmIDExICE9PSBlLm5vZGVUeXBlIHx8IEUuaXNYTUxEb2MoZSkpKQogICAgICAgICAgICAgICAgZm9yIChyID0gYWUobyksIHMgPSBhZShlKSwgYSA9IDA7IG51bGwgIT0gKGkgPSBzW2FdKTsgKythKSByW2FdICYmIHFlKGksIHJbYV0pOwogICAgICAgICAgICBpZiAodCkKICAgICAgICAgICAgICAgIGlmIChuKQogICAgICAgICAgICAgICAgICAgIGZvciAocyA9IHMgfHwgYWUoZSksIHIgPSByIHx8IGFlKG8pLCBhID0gMDsgbnVsbCAhPSAoaSA9IHNbYV0pOyBhKyspIEhlKGksIHJbYV0pOwogICAgICAgICAgICAgICAgZWxzZSBIZShlLCBvKTsKICAgICAgICAgICAgcmV0dXJuIDAgPCAociA9IGFlKG8sICJzY3JpcHQiKSkubGVuZ3RoICYmIHNlKHIsICF1ICYmIGFlKGUsICJzY3JpcHQiKSksIHIgPSBzID0gaSA9IG51bGwsIG8KICAgICAgICB9LAogICAgICAgIGNsZWFuRGF0YTogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICBmb3IgKHZhciBuLCByLCBpLCBvLCBhID0gMCwgcyA9IEUuZXhwYW5kbywgdSA9IEUuY2FjaGUsIGwgPSB2LmF0dHJpYnV0ZXMsIGMgPSBFLmV2ZW50LnNwZWNpYWw7IG51bGwgIT0gKG4gPSBlW2FdKTsgYSsrKQogICAgICAgICAgICAgICAgaWYgKCh0IHx8IE8obikpICYmIChvID0gKGkgPSBuW3NdKSAmJiB1W2ldKSkgewogICAgICAgICAgICAgICAgICAgIGlmIChvLmV2ZW50cykKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChyIGluIG8uZXZlbnRzKSBjW3JdID8gRS5ldmVudC5yZW1vdmUobiwgcikgOiBFLnJlbW92ZUV2ZW50KG4sIHIsIG8uaGFuZGxlKTsKICAgICAgICAgICAgICAgICAgICB1W2ldICYmIChkZWxldGUgdVtpXSwgbCB8fCB2b2lkIDAgPT09IG4ucmVtb3ZlQXR0cmlidXRlID8gbltzXSA9IHZvaWQgMCA6IG4ucmVtb3ZlQXR0cmlidXRlKHMpLCBkLnB1c2goaSkpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSksIEUuZm4uZXh0ZW5kKHsKICAgICAgICBkb21NYW5pcDogX2UsCiAgICAgICAgZGV0YWNoOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiBGZSh0aGlzLCBlLCAhMCkKICAgICAgICB9LAogICAgICAgIHJlbW92ZTogZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gRmUodGhpcywgZSkKICAgICAgICB9LAogICAgICAgIHRleHQ6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIEsodGhpcywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gZSA/IEUudGV4dCh0aGlzKSA6IHRoaXMuZW1wdHkoKS5hcHBlbmQoKHRoaXNbMF0gJiYgdGhpc1swXS5vd25lckRvY3VtZW50IHx8IGgpLmNyZWF0ZVRleHROb2RlKGUpKQogICAgICAgICAgICB9LCBudWxsLCBlLCBhcmd1bWVudHMubGVuZ3RoKQogICAgICAgIH0sCiAgICAgICAgYXBwZW5kOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIF9lKHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgMSAhPT0gdGhpcy5ub2RlVHlwZSAmJiAxMSAhPT0gdGhpcy5ub2RlVHlwZSAmJiA5ICE9PSB0aGlzLm5vZGVUeXBlIHx8IERlKHRoaXMsIGUpLmFwcGVuZENoaWxkKGUpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBwcmVwZW5kOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIF9lKHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgaWYgKDEgPT09IHRoaXMubm9kZVR5cGUgfHwgMTEgPT09IHRoaXMubm9kZVR5cGUgfHwgOSA9PT0gdGhpcy5ub2RlVHlwZSkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gRGUodGhpcywgZSk7CiAgICAgICAgICAgICAgICAgICAgdC5pbnNlcnRCZWZvcmUoZSwgdC5maXJzdENoaWxkKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgYmVmb3JlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIF9lKHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdGhpcy5wYXJlbnROb2RlICYmIHRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSwgdGhpcykKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIGFmdGVyOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIF9lKHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdGhpcy5wYXJlbnROb2RlICYmIHRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSwgdGhpcy5uZXh0U2libGluZykKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIGVtcHR5OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZm9yICh2YXIgZSwgdCA9IDA7IG51bGwgIT0gKGUgPSB0aGlzW3RdKTsgdCsrKSB7CiAgICAgICAgICAgICAgICBmb3IgKDEgPT09IGUubm9kZVR5cGUgJiYgRS5jbGVhbkRhdGEoYWUoZSwgITEpKTsgZS5maXJzdENoaWxkOykgZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpOwogICAgICAgICAgICAgICAgZS5vcHRpb25zICYmIEUubm9kZU5hbWUoZSwgInNlbGVjdCIpICYmIChlLm9wdGlvbnMubGVuZ3RoID0gMCkKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdGhpcwogICAgICAgIH0sCiAgICAgICAgY2xvbmU6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgcmV0dXJuIGUgPSBudWxsICE9IGUgJiYgZSwgdCA9IG51bGwgPT0gdCA/IGUgOiB0LCB0aGlzLm1hcChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHJldHVybiBFLmNsb25lKHRoaXMsIGUsIHQpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBodG1sOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiBLKHRoaXMsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpc1swXSB8fCB7fSwKICAgICAgICAgICAgICAgICAgICBuID0gMCwKICAgICAgICAgICAgICAgICAgICByID0gdGhpcy5sZW5ndGg7CiAgICAgICAgICAgICAgICBpZiAodm9pZCAwID09PSBlKSByZXR1cm4gMSA9PT0gdC5ub2RlVHlwZSA/IHQuaW5uZXJIVE1MLnJlcGxhY2Uod2UsICIiKSA6IHZvaWQgMDsKICAgICAgICAgICAgICAgIGlmICgic3RyaW5nIiA9PSB0eXBlb2YgZSAmJiAhRWUudGVzdChlKSAmJiAodi5odG1sU2VyaWFsaXplIHx8ICFUZS50ZXN0KGUpKSAmJiAodi5sZWFkaW5nV2hpdGVzcGFjZSB8fCAhbmUudGVzdChlKSkgJiYgIW9lWyhlZS5leGVjKGUpIHx8IFsiIiwgIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSkgewogICAgICAgICAgICAgICAgICAgIGUgPSBFLmh0bWxQcmVmaWx0ZXIoZSk7CiAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICg7IG4gPCByOyBuKyspIDEgPT09ICh0ID0gdGhpc1tuXSB8fCB7fSkubm9kZVR5cGUgJiYgKEUuY2xlYW5EYXRhKGFlKHQsICExKSksIHQuaW5uZXJIVE1MID0gZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHQgPSAwCiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge30KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHQgJiYgdGhpcy5lbXB0eSgpLmFwcGVuZChlKQogICAgICAgICAgICB9LCBudWxsLCBlLCBhcmd1bWVudHMubGVuZ3RoKQogICAgICAgIH0sCiAgICAgICAgcmVwbGFjZVdpdGg6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgbiA9IFtdOwogICAgICAgICAgICByZXR1cm4gX2UodGhpcywgYXJndW1lbnRzLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMucGFyZW50Tm9kZTsKICAgICAgICAgICAgICAgIEUuaW5BcnJheSh0aGlzLCBuKSA8IDAgJiYgKEUuY2xlYW5EYXRhKGFlKHRoaXMpKSwgdCAmJiB0LnJlcGxhY2VDaGlsZChlLCB0aGlzKSkKICAgICAgICAgICAgfSwgbikKICAgICAgICB9CiAgICB9KSwgRS5lYWNoKHsKICAgICAgICBhcHBlbmRUbzogImFwcGVuZCIsCiAgICAgICAgcHJlcGVuZFRvOiAicHJlcGVuZCIsCiAgICAgICAgaW5zZXJ0QmVmb3JlOiAiYmVmb3JlIiwKICAgICAgICBpbnNlcnRBZnRlcjogImFmdGVyIiwKICAgICAgICByZXBsYWNlQWxsOiAicmVwbGFjZVdpdGgiCiAgICB9LCBmdW5jdGlvbihlLCBhKSB7CiAgICAgICAgRS5mbltlXSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgZm9yICh2YXIgdCwgbiA9IDAsIHIgPSBbXSwgaSA9IEUoZSksIG8gPSBpLmxlbmd0aCAtIDE7IG4gPD0gbzsgbisrKSB0ID0gbiA9PT0gbyA/IHRoaXMgOiB0aGlzLmNsb25lKCEwKSwgRShpW25dKVthXSh0KSwgcy5hcHBseShyLCB0LmdldCgpKTsKICAgICAgICAgICAgcmV0dXJuIHRoaXMucHVzaFN0YWNrKHIpCiAgICAgICAgfQogICAgfSk7CiAgICB2YXIgTWUsIE9lID0gewogICAgICAgIEhUTUw6ICJibG9jayIsCiAgICAgICAgQk9EWTogImJsb2NrIgogICAgfTsKCiAgICBmdW5jdGlvbiBSZShlLCB0KSB7CiAgICAgICAgdmFyIG4gPSBFKHQuY3JlYXRlRWxlbWVudChlKSkuYXBwZW5kVG8odC5ib2R5KSwKICAgICAgICAgICAgciA9IEUuY3NzKG5bMF0sICJkaXNwbGF5Iik7CiAgICAgICAgcmV0dXJuIG4uZGV0YWNoKCksIHIKICAgIH0KCiAgICBmdW5jdGlvbiBQZShlKSB7CiAgICAgICAgdmFyIHQgPSBoLAogICAgICAgICAgICBuID0gT2VbZV07CiAgICAgICAgcmV0dXJuIG4gfHwgKCJub25lIiAhPT0gKG4gPSBSZShlLCB0KSkgJiYgbiB8fCAoKHQgPSAoKE1lID0gKE1lIHx8IEUoIjxpZnJhbWUgZnJhbWVib3JkZXI9JzAnIHdpZHRoPScwJyBoZWlnaHQ9JzAnLz4iKSkuYXBwZW5kVG8odC5kb2N1bWVudEVsZW1lbnQpKVswXS5jb250ZW50V2luZG93IHx8IE1lWzBdLmNvbnRlbnREb2N1bWVudCkuZG9jdW1lbnQpLndyaXRlKCksIHQuY2xvc2UoKSwgbiA9IFJlKGUsIHQpLCBNZS5kZXRhY2goKSksIE9lW2VdID0gbiksIG4KICAgIH0KICAgIHZhciBCZSA9IC9ebWFyZ2luLywKICAgICAgICBXZSA9IG5ldyBSZWdFeHAoIl4oIiArIHogKyAiKSg/IXB4KVthLXolXSskIiwgImkiKSwKICAgICAgICBJZSA9IGZ1bmN0aW9uKGUsIHQsIG4sIHIpIHsKICAgICAgICAgICAgdmFyIGksIG8sIGEgPSB7fTsKICAgICAgICAgICAgZm9yIChvIGluIHQpIGFbb10gPSBlLnN0eWxlW29dLCBlLnN0eWxlW29dID0gdFtvXTsKICAgICAgICAgICAgZm9yIChvIGluIGkgPSBuLmFwcGx5KGUsIHIgfHwgW10pLCB0KSBlLnN0eWxlW29dID0gYVtvXTsKICAgICAgICAgICAgcmV0dXJuIGkKICAgICAgICB9LAogICAgICAgICRlID0gaC5kb2N1bWVudEVsZW1lbnQ7CiAgICAhIGZ1bmN0aW9uKCkgewogICAgICAgIHZhciByLCBpLCBvLCBhLCBzLCB1LCBsID0gaC5jcmVhdGVFbGVtZW50KCJkaXYiKSwKICAgICAgICAgICAgYyA9IGguY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgaWYgKGMuc3R5bGUpIHsKICAgICAgICAgICAgZnVuY3Rpb24gZSgpIHsKICAgICAgICAgICAgICAgIHZhciBlLCB0LCBuID0gaC5kb2N1bWVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICBuLmFwcGVuZENoaWxkKGwpLCBjLnN0eWxlLmNzc1RleHQgPSAiLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt0b3A6MSU7d2lkdGg6NTAlIiwgciA9IG8gPSB1ID0gITEsIGkgPSBzID0gITAsIEMuZ2V0Q29tcHV0ZWRTdHlsZSAmJiAodCA9IEMuZ2V0Q29tcHV0ZWRTdHlsZShjKSwgciA9ICIxJSIgIT09ICh0IHx8IHt9KS50b3AsIHUgPSAiMnB4IiA9PT0gKHQgfHwge30pLm1hcmdpbkxlZnQsIG8gPSAiNHB4IiA9PT0gKHQgfHwgewogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiNHB4IgogICAgICAgICAgICAgICAgfSkud2lkdGgsIGMuc3R5bGUubWFyZ2luUmlnaHQgPSAiNTAlIiwgaSA9ICI0cHgiID09PSAodCB8fCB7CiAgICAgICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICI0cHgiCiAgICAgICAgICAgICAgICB9KS5tYXJnaW5SaWdodCwgKGUgPSBjLmFwcGVuZENoaWxkKGguY3JlYXRlRWxlbWVudCgiZGl2IikpKS5zdHlsZS5jc3NUZXh0ID0gYy5zdHlsZS5jc3NUZXh0ID0gIi13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MCIsIGUuc3R5bGUubWFyZ2luUmlnaHQgPSBlLnN0eWxlLndpZHRoID0gIjAiLCBjLnN0eWxlLndpZHRoID0gIjFweCIsIHMgPSAhcGFyc2VGbG9hdCgoQy5nZXRDb21wdXRlZFN0eWxlKGUpIHx8IHt9KS5tYXJnaW5SaWdodCksIGMucmVtb3ZlQ2hpbGQoZSkpLCBjLnN0eWxlLmRpc3BsYXkgPSAibm9uZSIsIChhID0gMCA9PT0gYy5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCkgJiYgKGMuc3R5bGUuZGlzcGxheSA9ICIiLCBjLmlubmVySFRNTCA9ICI8dGFibGU+PHRyPjx0ZD48L3RkPjx0ZD50PC90ZD48L3RyPjwvdGFibGU+IiwgKGUgPSBjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpKVswXS5zdHlsZS5jc3NUZXh0ID0gIm1hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MDtkaXNwbGF5Om5vbmUiLCAoYSA9IDAgPT09IGVbMF0ub2Zmc2V0SGVpZ2h0KSAmJiAoZVswXS5zdHlsZS5kaXNwbGF5ID0gIiIsIGVbMV0uc3R5bGUuZGlzcGxheSA9ICJub25lIiwgYSA9IDAgPT09IGVbMF0ub2Zmc2V0SGVpZ2h0KSksIG4ucmVtb3ZlQ2hpbGQobCkKICAgICAgICAgICAgfQogICAgICAgICAgICBjLnN0eWxlLmNzc1RleHQgPSAiZmxvYXQ6bGVmdDtvcGFjaXR5Oi41Iiwgdi5vcGFjaXR5ID0gIjAuNSIgPT09IGMuc3R5bGUub3BhY2l0eSwgdi5jc3NGbG9hdCA9ICEhYy5zdHlsZS5jc3NGbG9hdCwgYy5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCA9ICJjb250ZW50LWJveCIsIGMuY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCA9ICIiLCB2LmNsZWFyQ2xvbmVTdHlsZSA9ICJjb250ZW50LWJveCIgPT09IGMuc3R5bGUuYmFja2dyb3VuZENsaXAsIChsID0gaC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc3R5bGUuY3NzVGV4dCA9ICJib3JkZXI6MDt3aWR0aDo4cHg7aGVpZ2h0OjA7dG9wOjA7bGVmdDotOTk5OXB4O3BhZGRpbmc6MDttYXJnaW4tdG9wOjFweDtwb3NpdGlvbjphYnNvbHV0ZSIsIGMuaW5uZXJIVE1MID0gIiIsIGwuYXBwZW5kQ2hpbGQoYyksIHYuYm94U2l6aW5nID0gIiIgPT09IGMuc3R5bGUuYm94U2l6aW5nIHx8ICIiID09PSBjLnN0eWxlLk1vekJveFNpemluZyB8fCAiIiA9PT0gYy5zdHlsZS5XZWJraXRCb3hTaXppbmcsIEUuZXh0ZW5kKHYsIHsKICAgICAgICAgICAgICAgIHJlbGlhYmxlSGlkZGVuT2Zmc2V0czogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gciAmJiBlKCksIGEKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBib3hTaXppbmdSZWxpYWJsZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gciAmJiBlKCksIG8KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBwaXhlbE1hcmdpblJpZ2h0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCA9PSByICYmIGUoKSwgaQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHBpeGVsUG9zaXRpb246IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsID09IHIgJiYgZSgpLCByCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcmVsaWFibGVNYXJnaW5SaWdodDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gciAmJiBlKCksIHMKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICByZWxpYWJsZU1hcmdpbkxlZnQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsID09IHIgJiYgZSgpLCB1CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgfQogICAgfSgpOwogICAgdmFyIHplLCBYZSwgVWUgPSAvXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87CgogICAgZnVuY3Rpb24gVmUoZSwgdCkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZSgpID8gdm9pZCBkZWxldGUgdGhpcy5nZXQgOiAodGhpcy5nZXQgPSB0KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBDLmdldENvbXB1dGVkU3R5bGUgPyAoemUgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgdmFyIHQgPSBlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7CiAgICAgICAgcmV0dXJuIHQgJiYgdC5vcGVuZXIgfHwgKHQgPSBDKSwgdC5nZXRDb21wdXRlZFN0eWxlKGUpCiAgICB9LCBYZSA9IGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICB2YXIgciwgaSwgbywgYSwgcyA9IGUuc3R5bGU7CiAgICAgICAgcmV0dXJuICIiICE9PSAoYSA9IChuID0gbiB8fCB6ZShlKSkgPyBuLmdldFByb3BlcnR5VmFsdWUodCkgfHwgblt0XSA6IHZvaWQgMCkgJiYgdm9pZCAwICE9PSBhIHx8IEUuY29udGFpbnMoZS5vd25lckRvY3VtZW50LCBlKSB8fCAoYSA9IEUuc3R5bGUoZSwgdCkpLCBuICYmICF2LnBpeGVsTWFyZ2luUmlnaHQoKSAmJiBXZS50ZXN0KGEpICYmIEJlLnRlc3QodCkgJiYgKHIgPSBzLndpZHRoLCBpID0gcy5taW5XaWR0aCwgbyA9IHMubWF4V2lkdGgsIHMubWluV2lkdGggPSBzLm1heFdpZHRoID0gcy53aWR0aCA9IGEsIGEgPSBuLndpZHRoLCBzLndpZHRoID0gciwgcy5taW5XaWR0aCA9IGksIHMubWF4V2lkdGggPSBvKSwgdm9pZCAwID09PSBhID8gYSA6IGEgKyAiIgogICAgfSkgOiAkZS5jdXJyZW50U3R5bGUgJiYgKHplID0gZnVuY3Rpb24oZSkgewogICAgICAgIHJldHVybiBlLmN1cnJlbnRTdHlsZQogICAgfSwgWGUgPSBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgdmFyIHIsIGksIG8sIGEsIHMgPSBlLnN0eWxlOwogICAgICAgIHJldHVybiBudWxsID09IChhID0gKG4gPSBuIHx8IHplKGUpKSA/IG5bdF0gOiB2b2lkIDApICYmIHMgJiYgc1t0XSAmJiAoYSA9IHNbdF0pLCBXZS50ZXN0KGEpICYmICFVZS50ZXN0KHQpICYmIChyID0gcy5sZWZ0LCAobyA9IChpID0gZS5ydW50aW1lU3R5bGUpICYmIGkubGVmdCkgJiYgKGkubGVmdCA9IGUuY3VycmVudFN0eWxlLmxlZnQpLCBzLmxlZnQgPSAiZm9udFNpemUiID09PSB0ID8gIjFlbSIgOiBhLCBhID0gcy5waXhlbExlZnQgKyAicHgiLCBzLmxlZnQgPSByLCBvICYmIChpLmxlZnQgPSBvKSksIHZvaWQgMCA9PT0gYSA/IGEgOiBhICsgIiIgfHwgImF1dG8iCiAgICB9KTsKICAgIHZhciBZZSA9IC9hbHBoYVwoW14pXSpcKS9pLAogICAgICAgIEplID0gL29wYWNpdHlccyo9XHMqKFteKV0qKS9pLAogICAgICAgIEdlID0gL14obm9uZXx0YWJsZSg/IS1jW2VhXSkuKykvLAogICAgICAgIFFlID0gbmV3IFJlZ0V4cCgiXigiICsgeiArICIpKC4qKSQiLCAiaSIpLAogICAgICAgIEtlID0gewogICAgICAgICAgICBwb3NpdGlvbjogImFic29sdXRlIiwKICAgICAgICAgICAgdmlzaWJpbGl0eTogImhpZGRlbiIsCiAgICAgICAgICAgIGRpc3BsYXk6ICJibG9jayIKICAgICAgICB9LAogICAgICAgIFplID0gewogICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAiMCIsCiAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICI0MDAiCiAgICAgICAgfSwKICAgICAgICBldCA9IFsiV2Via2l0IiwgIk8iLCAiTW96IiwgIm1zIl0sCiAgICAgICAgdHQgPSBoLmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlOwoKICAgIGZ1bmN0aW9uIG50KGUpIHsKICAgICAgICBpZiAoZSBpbiB0dCkgcmV0dXJuIGU7CiAgICAgICAgZm9yICh2YXIgdCA9IGUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBlLnNsaWNlKDEpLCBuID0gZXQubGVuZ3RoOyBuLS07KQogICAgICAgICAgICBpZiAoKGUgPSBldFtuXSArIHQpIGluIHR0KSByZXR1cm4gZQogICAgfQoKICAgIGZ1bmN0aW9uIHJ0KGUsIHQpIHsKICAgICAgICBmb3IgKHZhciBuLCByLCBpLCBvID0gW10sIGEgPSAwLCBzID0gZS5sZW5ndGg7IGEgPCBzOyBhKyspKHIgPSBlW2FdKS5zdHlsZSAmJiAob1thXSA9IEUuX2RhdGEociwgIm9sZGRpc3BsYXkiKSwgbiA9IHIuc3R5bGUuZGlzcGxheSwgdCA/IChvW2FdIHx8ICJub25lIiAhPT0gbiB8fCAoci5zdHlsZS5kaXNwbGF5ID0gIiIpLCAiIiA9PT0gci5zdHlsZS5kaXNwbGF5ICYmIFYocikgJiYgKG9bYV0gPSBFLl9kYXRhKHIsICJvbGRkaXNwbGF5IiwgUGUoci5ub2RlTmFtZSkpKSkgOiAoaSA9IFYociksIChuICYmICJub25lIiAhPT0gbiB8fCAhaSkgJiYgRS5fZGF0YShyLCAib2xkZGlzcGxheSIsIGkgPyBuIDogRS5jc3MociwgImRpc3BsYXkiKSkpKTsKICAgICAgICBmb3IgKGEgPSAwOyBhIDwgczsgYSsrKShyID0gZVthXSkuc3R5bGUgJiYgKHQgJiYgIm5vbmUiICE9PSByLnN0eWxlLmRpc3BsYXkgJiYgIiIgIT09IHIuc3R5bGUuZGlzcGxheSB8fCAoci5zdHlsZS5kaXNwbGF5ID0gdCA/IG9bYV0gfHwgIiIgOiAibm9uZSIpKTsKICAgICAgICByZXR1cm4gZQogICAgfQoKICAgIGZ1bmN0aW9uIGl0KGUsIHQsIG4pIHsKICAgICAgICB2YXIgciA9IFFlLmV4ZWModCk7CiAgICAgICAgcmV0dXJuIHIgPyBNYXRoLm1heCgwLCByWzFdIC0gKG4gfHwgMCkpICsgKHJbMl0gfHwgInB4IikgOiB0CiAgICB9CgogICAgZnVuY3Rpb24gb3QoZSwgdCwgbiwgciwgaSkgewogICAgICAgIGZvciAodmFyIG8gPSBuID09PSAociA/ICJib3JkZXIiIDogImNvbnRlbnQiKSA/IDQgOiAid2lkdGgiID09PSB0ID8gMSA6IDAsIGEgPSAwOyBvIDwgNDsgbyArPSAyKSAibWFyZ2luIiA9PT0gbiAmJiAoYSArPSBFLmNzcyhlLCBuICsgVVtvXSwgITAsIGkpKSwgciA/ICgiY29udGVudCIgPT09IG4gJiYgKGEgLT0gRS5jc3MoZSwgInBhZGRpbmciICsgVVtvXSwgITAsIGkpKSwgIm1hcmdpbiIgIT09IG4gJiYgKGEgLT0gRS5jc3MoZSwgImJvcmRlciIgKyBVW29dICsgIldpZHRoIiwgITAsIGkpKSkgOiAoYSArPSBFLmNzcyhlLCAicGFkZGluZyIgKyBVW29dLCAhMCwgaSksICJwYWRkaW5nIiAhPT0gbiAmJiAoYSArPSBFLmNzcyhlLCAiYm9yZGVyIiArIFVbb10gKyAiV2lkdGgiLCAhMCwgaSkpKTsKICAgICAgICByZXR1cm4gYQogICAgfQoKICAgIGZ1bmN0aW9uIGF0KGUsIHQsIG4pIHsKICAgICAgICB2YXIgciA9ICEwLAogICAgICAgICAgICBpID0gIndpZHRoIiA9PT0gdCA/IGUub2Zmc2V0V2lkdGggOiBlLm9mZnNldEhlaWdodCwKICAgICAgICAgICAgbyA9IHplKGUpLAogICAgICAgICAgICBhID0gdi5ib3hTaXppbmcgJiYgImJvcmRlci1ib3giID09PSBFLmNzcyhlLCAiYm94U2l6aW5nIiwgITEsIG8pOwogICAgICAgIGlmIChoLm1zRnVsbHNjcmVlbkVsZW1lbnQgJiYgQy50b3AgIT09IEMgJiYgZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCAmJiAoaSA9IE1hdGgucm91bmQoMTAwICogZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVt0XSkpLCBpIDw9IDAgfHwgbnVsbCA9PSBpKSB7CiAgICAgICAgICAgIGlmICgoKGkgPSBYZShlLCB0LCBvKSkgPCAwIHx8IG51bGwgPT0gaSkgJiYgKGkgPSBlLnN0eWxlW3RdKSwgV2UudGVzdChpKSkgcmV0dXJuIGk7CiAgICAgICAgICAgIHIgPSBhICYmICh2LmJveFNpemluZ1JlbGlhYmxlKCkgfHwgaSA9PT0gZS5zdHlsZVt0XSksIGkgPSBwYXJzZUZsb2F0KGkpIHx8IDAKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGkgKyBvdChlLCB0LCBuIHx8IChhID8gImJvcmRlciIgOiAiY29udGVudCIpLCByLCBvKSArICJweCIKICAgIH0KCiAgICBmdW5jdGlvbiBzdChlLCB0LCBuLCByLCBpKSB7CiAgICAgICAgcmV0dXJuIG5ldyBzdC5wcm90b3R5cGUuaW5pdChlLCB0LCBuLCByLCBpKQogICAgfQogICAgRS5leHRlbmQoewogICAgICAgIGNzc0hvb2tzOiB7CiAgICAgICAgICAgIG9wYWNpdHk6IHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgIGlmICh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBuID0gWGUoZSwgIm9wYWNpdHkiKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIiID09PSBuID8gIjEiIDogbgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgY3NzTnVtYmVyOiB7CiAgICAgICAgICAgIGFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiAhMCwKICAgICAgICAgICAgY29sdW1uQ291bnQ6ICEwLAogICAgICAgICAgICBmaWxsT3BhY2l0eTogITAsCiAgICAgICAgICAgIGZsZXhHcm93OiAhMCwKICAgICAgICAgICAgZmxleFNocmluazogITAsCiAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICEwLAogICAgICAgICAgICBsaW5lSGVpZ2h0OiAhMCwKICAgICAgICAgICAgb3BhY2l0eTogITAsCiAgICAgICAgICAgIG9yZGVyOiAhMCwKICAgICAgICAgICAgb3JwaGFuczogITAsCiAgICAgICAgICAgIHdpZG93czogITAsCiAgICAgICAgICAgIHpJbmRleDogITAsCiAgICAgICAgICAgIHpvb206ICEwCiAgICAgICAgfSwKICAgICAgICBjc3NQcm9wczogewogICAgICAgICAgICBmbG9hdDogdi5jc3NGbG9hdCA/ICJjc3NGbG9hdCIgOiAic3R5bGVGbG9hdCIKICAgICAgICB9LAogICAgICAgIHN0eWxlOiBmdW5jdGlvbihlLCB0LCBuLCByKSB7CiAgICAgICAgICAgIGlmIChlICYmIDMgIT09IGUubm9kZVR5cGUgJiYgOCAhPT0gZS5ub2RlVHlwZSAmJiBlLnN0eWxlKSB7CiAgICAgICAgICAgICAgICB2YXIgaSwgbywgYSwgcyA9IEUuY2FtZWxDYXNlKHQpLAogICAgICAgICAgICAgICAgICAgIHUgPSBlLnN0eWxlOwogICAgICAgICAgICAgICAgaWYgKHQgPSBFLmNzc1Byb3BzW3NdIHx8IChFLmNzc1Byb3BzW3NdID0gbnQocykgfHwgcyksIGEgPSBFLmNzc0hvb2tzW3RdIHx8IEUuY3NzSG9va3Nbc10sIHZvaWQgMCA9PT0gbikgcmV0dXJuIGEgJiYgImdldCIgaW4gYSAmJiB2b2lkIDAgIT09IChpID0gYS5nZXQoZSwgITEsIHIpKSA/IGkgOiB1W3RdOwogICAgICAgICAgICAgICAgaWYgKCJzdHJpbmciID09PSAobyA9IHR5cGVvZiBuKSAmJiAoaSA9IFguZXhlYyhuKSkgJiYgaVsxXSAmJiAobiA9IFkoZSwgdCwgaSksIG8gPSAibnVtYmVyIiksIG51bGwgIT0gbiAmJiBuID09IG4gJiYgKCJudW1iZXIiID09PSBvICYmIChuICs9IGkgJiYgaVszXSB8fCAoRS5jc3NOdW1iZXJbc10gPyAiIiA6ICJweCIpKSwgdi5jbGVhckNsb25lU3R5bGUgfHwgIiIgIT09IG4gfHwgMCAhPT0gdC5pbmRleE9mKCJiYWNrZ3JvdW5kIikgfHwgKHVbdF0gPSAiaW5oZXJpdCIpLCAhKGEgJiYgInNldCIgaW4gYSAmJiB2b2lkIDAgPT09IChuID0gYS5zZXQoZSwgbiwgcikpKSkpIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgdVt0XSA9IG4KICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGNzczogZnVuY3Rpb24oZSwgdCwgbiwgcikgewogICAgICAgICAgICB2YXIgaSwgbywgYSwgcyA9IEUuY2FtZWxDYXNlKHQpOwogICAgICAgICAgICByZXR1cm4gdCA9IEUuY3NzUHJvcHNbc10gfHwgKEUuY3NzUHJvcHNbc10gPSBudChzKSB8fCBzKSwgKGEgPSBFLmNzc0hvb2tzW3RdIHx8IEUuY3NzSG9va3Nbc10pICYmICJnZXQiIGluIGEgJiYgKG8gPSBhLmdldChlLCAhMCwgbikpLCB2b2lkIDAgPT09IG8gJiYgKG8gPSBYZShlLCB0LCByKSksICJub3JtYWwiID09PSBvICYmIHQgaW4gWmUgJiYgKG8gPSBaZVt0XSksICIiID09PSBuIHx8IG4gPyAoaSA9IHBhcnNlRmxvYXQobyksICEwID09PSBuIHx8IGlzRmluaXRlKGkpID8gaSB8fCAwIDogbykgOiBvCiAgICAgICAgfQogICAgfSksIEUuZWFjaChbImhlaWdodCIsICJ3aWR0aCJdLCBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgRS5jc3NIb29rc1tpXSA9IHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdCA/IEdlLnRlc3QoRS5jc3MoZSwgImRpc3BsYXkiKSkgJiYgMCA9PT0gZS5vZmZzZXRXaWR0aCA/IEllKGUsIEtlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXQoZSwgaSwgbikKICAgICAgICAgICAgICAgIH0pIDogYXQoZSwgaSwgbikgOiB2b2lkIDAKICAgICAgICAgICAgfSwKICAgICAgICAgICAgc2V0OiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgICAgICB2YXIgciA9IG4gJiYgemUoZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gaXQoMCwgdCwgbiA/IG90KGUsIGksIG4sIHYuYm94U2l6aW5nICYmICJib3JkZXItYm94IiA9PT0gRS5jc3MoZSwgImJveFNpemluZyIsICExLCByKSwgcikgOiAwKQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSksIHYub3BhY2l0eSB8fCAoRS5jc3NIb29rcy5vcGFjaXR5ID0gewogICAgICAgIGdldDogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICByZXR1cm4gSmUudGVzdCgodCAmJiBlLmN1cnJlbnRTdHlsZSA/IGUuY3VycmVudFN0eWxlLmZpbHRlciA6IGUuc3R5bGUuZmlsdGVyKSB8fCAiIikgPyAuMDEgKiBwYXJzZUZsb2F0KFJlZ0V4cC4kMSkgKyAiIiA6IHQgPyAiMSIgOiAiIgogICAgICAgIH0sCiAgICAgICAgc2V0OiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHZhciBuID0gZS5zdHlsZSwKICAgICAgICAgICAgICAgIHIgPSBlLmN1cnJlbnRTdHlsZSwKICAgICAgICAgICAgICAgIGkgPSBFLmlzTnVtZXJpYyh0KSA/ICJhbHBoYShvcGFjaXR5PSIgKyAxMDAgKiB0ICsgIikiIDogIiIsCiAgICAgICAgICAgICAgICBvID0gciAmJiByLmZpbHRlciB8fCBuLmZpbHRlciB8fCAiIjsKICAgICAgICAgICAgKChuLnpvb20gPSAxKSA8PSB0IHx8ICIiID09PSB0KSAmJiAiIiA9PT0gRS50cmltKG8ucmVwbGFjZShZZSwgIiIpKSAmJiBuLnJlbW92ZUF0dHJpYnV0ZSAmJiAobi5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLCAiIiA9PT0gdCB8fCByICYmICFyLmZpbHRlcikgfHwgKG4uZmlsdGVyID0gWWUudGVzdChvKSA/IG8ucmVwbGFjZShZZSwgaSkgOiBvICsgIiAiICsgaSkKICAgICAgICB9CiAgICB9KSwgRS5jc3NIb29rcy5tYXJnaW5SaWdodCA9IFZlKHYucmVsaWFibGVNYXJnaW5SaWdodCwgZnVuY3Rpb24oZSwgdCkgewogICAgICAgIHJldHVybiB0ID8gSWUoZSwgewogICAgICAgICAgICBkaXNwbGF5OiAiaW5saW5lLWJsb2NrIgogICAgICAgIH0sIFhlLCBbZSwgIm1hcmdpblJpZ2h0Il0pIDogdm9pZCAwCiAgICB9KSwgRS5jc3NIb29rcy5tYXJnaW5MZWZ0ID0gVmUodi5yZWxpYWJsZU1hcmdpbkxlZnQsIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICByZXR1cm4gdCA/IChwYXJzZUZsb2F0KFhlKGUsICJtYXJnaW5MZWZ0IikpIHx8IChFLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCwgZSkgPyBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLSBJZShlLCB7CiAgICAgICAgICAgIG1hcmdpbkxlZnQ6IDAKICAgICAgICB9LCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdAogICAgICAgIH0pIDogMCkpICsgInB4IiA6IHZvaWQgMAogICAgfSksIEUuZWFjaCh7CiAgICAgICAgbWFyZ2luOiAiIiwKICAgICAgICBwYWRkaW5nOiAiIiwKICAgICAgICBib3JkZXI6ICJXaWR0aCIKICAgIH0sIGZ1bmN0aW9uKGksIG8pIHsKICAgICAgICBFLmNzc0hvb2tzW2kgKyBvXSA9IHsKICAgICAgICAgICAgZXhwYW5kOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBmb3IgKHZhciB0ID0gMCwgbiA9IHt9LCByID0gInN0cmluZyIgPT0gdHlwZW9mIGUgPyBlLnNwbGl0KCIgIikgOiBbZV07IHQgPCA0OyB0KyspIG5baSArIFVbdF0gKyBvXSA9IHJbdF0gfHwgclt0IC0gMl0gfHwgclswXTsKICAgICAgICAgICAgICAgIHJldHVybiBuCiAgICAgICAgICAgIH0KICAgICAgICB9LCBCZS50ZXN0KGkpIHx8IChFLmNzc0hvb2tzW2kgKyBvXS5zZXQgPSBpdCkKICAgIH0pLCBFLmZuLmV4dGVuZCh7CiAgICAgICAgY3NzOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHJldHVybiBLKHRoaXMsIGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgICAgIHZhciByLCBpLCBvID0ge30sCiAgICAgICAgICAgICAgICAgICAgYSA9IDA7CiAgICAgICAgICAgICAgICBpZiAoRS5pc0FycmF5KHQpKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yIChyID0gemUoZSksIGkgPSB0Lmxlbmd0aDsgYSA8IGk7IGErKykgb1t0W2FdXSA9IEUuY3NzKGUsIHRbYV0sICExLCByKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCAhPT0gbiA/IEUuc3R5bGUoZSwgdCwgbikgOiBFLmNzcyhlLCB0KQogICAgICAgICAgICB9LCBlLCB0LCAxIDwgYXJndW1lbnRzLmxlbmd0aCkKICAgICAgICB9LAogICAgICAgIHNob3c6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gcnQodGhpcywgITApCiAgICAgICAgfSwKICAgICAgICBoaWRlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHJ0KHRoaXMpCiAgICAgICAgfSwKICAgICAgICB0b2dnbGU6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuICJib29sZWFuIiA9PSB0eXBlb2YgZSA/IGUgPyB0aGlzLnNob3coKSA6IHRoaXMuaGlkZSgpIDogdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgVih0aGlzKSA/IEUodGhpcykuc2hvdygpIDogRSh0aGlzKS5oaWRlKCkKICAgICAgICAgICAgfSkKICAgICAgICB9CiAgICB9KSwgKChFLlR3ZWVuID0gc3QpLnByb3RvdHlwZSA9IHsKICAgICAgICBjb25zdHJ1Y3Rvcjogc3QsCiAgICAgICAgaW5pdDogZnVuY3Rpb24oZSwgdCwgbiwgciwgaSwgbykgewogICAgICAgICAgICB0aGlzLmVsZW0gPSBlLCB0aGlzLnByb3AgPSBuLCB0aGlzLmVhc2luZyA9IGkgfHwgRS5lYXNpbmcuX2RlZmF1bHQsIHRoaXMub3B0aW9ucyA9IHQsIHRoaXMuc3RhcnQgPSB0aGlzLm5vdyA9IHRoaXMuY3VyKCksIHRoaXMuZW5kID0gciwgdGhpcy51bml0ID0gbyB8fCAoRS5jc3NOdW1iZXJbbl0gPyAiIiA6ICJweCIpCiAgICAgICAgfSwKICAgICAgICBjdXI6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZSA9IHN0LnByb3BIb29rc1t0aGlzLnByb3BdOwogICAgICAgICAgICByZXR1cm4gZSAmJiBlLmdldCA/IGUuZ2V0KHRoaXMpIDogc3QucHJvcEhvb2tzLl9kZWZhdWx0LmdldCh0aGlzKQogICAgICAgIH0sCiAgICAgICAgcnVuOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciB0LCBuID0gc3QucHJvcEhvb2tzW3RoaXMucHJvcF07CiAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24gPyB0aGlzLnBvcyA9IHQgPSBFLmVhc2luZ1t0aGlzLmVhc2luZ10oZSwgdGhpcy5vcHRpb25zLmR1cmF0aW9uICogZSwgMCwgMSwgdGhpcy5vcHRpb25zLmR1cmF0aW9uKSA6IHRoaXMucG9zID0gdCA9IGUsIHRoaXMubm93ID0gKHRoaXMuZW5kIC0gdGhpcy5zdGFydCkgKiB0ICsgdGhpcy5zdGFydCwgdGhpcy5vcHRpb25zLnN0ZXAgJiYgdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sIHRoaXMubm93LCB0aGlzKSwgbiAmJiBuLnNldCA/IG4uc2V0KHRoaXMpIDogc3QucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSwgdGhpcwogICAgICAgIH0KICAgIH0pLmluaXQucHJvdG90eXBlID0gc3QucHJvdG90eXBlLCAoc3QucHJvcEhvb2tzID0gewogICAgICAgIF9kZWZhdWx0OiB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIHQ7CiAgICAgICAgICAgICAgICByZXR1cm4gMSAhPT0gZS5lbGVtLm5vZGVUeXBlIHx8IG51bGwgIT0gZS5lbGVtW2UucHJvcF0gJiYgbnVsbCA9PSBlLmVsZW0uc3R5bGVbZS5wcm9wXSA/IGUuZWxlbVtlLnByb3BdIDogKHQgPSBFLmNzcyhlLmVsZW0sIGUucHJvcCwgIiIpKSAmJiAiYXV0byIgIT09IHQgPyB0IDogMAogICAgICAgICAgICB9LAogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIEUuZnguc3RlcFtlLnByb3BdID8gRS5meC5zdGVwW2UucHJvcF0oZSkgOiAxICE9PSBlLmVsZW0ubm9kZVR5cGUgfHwgbnVsbCA9PSBlLmVsZW0uc3R5bGVbRS5jc3NQcm9wc1tlLnByb3BdXSAmJiAhRS5jc3NIb29rc1tlLnByb3BdID8gZS5lbGVtW2UucHJvcF0gPSBlLm5vdyA6IEUuc3R5bGUoZS5lbGVtLCBlLnByb3AsIGUubm93ICsgZS51bml0KQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSkuc2Nyb2xsVG9wID0gc3QucHJvcEhvb2tzLnNjcm9sbExlZnQgPSB7CiAgICAgICAgc2V0OiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGUuZWxlbS5ub2RlVHlwZSAmJiBlLmVsZW0ucGFyZW50Tm9kZSAmJiAoZS5lbGVtW2UucHJvcF0gPSBlLm5vdykKICAgICAgICB9CiAgICB9LCBFLmVhc2luZyA9IHsKICAgICAgICBsaW5lYXI6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIGUKICAgICAgICB9LAogICAgICAgIHN3aW5nOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiAuNSAtIE1hdGguY29zKGUgKiBNYXRoLlBJKSAvIDIKICAgICAgICB9LAogICAgICAgIF9kZWZhdWx0OiAic3dpbmciCiAgICB9LCBFLmZ4ID0gc3QucHJvdG90eXBlLmluaXQsIEUuZnguc3RlcCA9IHt9OwogICAgdmFyIHV0LCBsdCwgY3QsIGR0LCBmdCwgcHQsIGh0LCBndCA9IC9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLywKICAgICAgICBtdCA9IC9xdWV1ZUhvb2tzJC87CgogICAgZnVuY3Rpb24gdnQoKSB7CiAgICAgICAgcmV0dXJuIEMuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgdXQgPSB2b2lkIDAKICAgICAgICB9KSwgdXQgPSBFLm5vdygpCiAgICB9CgogICAgZnVuY3Rpb24geXQoZSwgdCkgewogICAgICAgIHZhciBuLCByID0gewogICAgICAgICAgICAgICAgaGVpZ2h0OiBlCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGkgPSAwOwogICAgICAgIGZvciAodCA9IHQgPyAxIDogMDsgaSA8IDQ7IGkgKz0gMiAtIHQpIHJbIm1hcmdpbiIgKyAobiA9IFVbaV0pXSA9IHJbInBhZGRpbmciICsgbl0gPSBlOwogICAgICAgIHJldHVybiB0ICYmIChyLm9wYWNpdHkgPSByLndpZHRoID0gZSksIHIKICAgIH0KCiAgICBmdW5jdGlvbiB4dChlLCB0LCBuKSB7CiAgICAgICAgZm9yICh2YXIgciwgaSA9IChidC50d2VlbmVyc1t0XSB8fCBbXSkuY29uY2F0KGJ0LnR3ZWVuZXJzWyIqIl0pLCBvID0gMCwgYSA9IGkubGVuZ3RoOyBvIDwgYTsgbysrKQogICAgICAgICAgICBpZiAociA9IGlbb10uY2FsbChuLCB0LCBlKSkgcmV0dXJuIHIKICAgIH0KCiAgICBmdW5jdGlvbiBidChvLCBlLCB0KSB7CiAgICAgICAgdmFyIG4sIGEsIHIgPSAwLAogICAgICAgICAgICBpID0gYnQucHJlZmlsdGVycy5sZW5ndGgsCiAgICAgICAgICAgIHMgPSBFLkRlZmVycmVkKCkuYWx3YXlzKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZGVsZXRlIHUuZWxlbQogICAgICAgICAgICB9KSwKICAgICAgICAgICAgdSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgaWYgKGEpIHJldHVybiAhMTsKICAgICAgICAgICAgICAgIGZvciAodmFyIGUgPSB1dCB8fCB2dCgpLCB0ID0gTWF0aC5tYXgoMCwgbC5zdGFydFRpbWUgKyBsLmR1cmF0aW9uIC0gZSksIG4gPSAxIC0gKHQgLyBsLmR1cmF0aW9uIHx8IDApLCByID0gMCwgaSA9IGwudHdlZW5zLmxlbmd0aDsgciA8IGk7IHIrKykgbC50d2VlbnNbcl0ucnVuKG4pOwogICAgICAgICAgICAgICAgcmV0dXJuIHMubm90aWZ5V2l0aChvLCBbbCwgbiwgdF0pLCBuIDwgMSAmJiBpID8gdCA6IChzLnJlc29sdmVXaXRoKG8sIFtsXSksICExKQogICAgICAgICAgICB9LAogICAgICAgICAgICBsID0gcy5wcm9taXNlKHsKICAgICAgICAgICAgICAgIGVsZW06IG8sCiAgICAgICAgICAgICAgICBwcm9wczogRS5leHRlbmQoe30sIGUpLAogICAgICAgICAgICAgICAgb3B0czogRS5leHRlbmQoITAsIHsKICAgICAgICAgICAgICAgICAgICBzcGVjaWFsRWFzaW5nOiB7fSwKICAgICAgICAgICAgICAgICAgICBlYXNpbmc6IEUuZWFzaW5nLl9kZWZhdWx0CiAgICAgICAgICAgICAgICB9LCB0KSwKICAgICAgICAgICAgICAgIG9yaWdpbmFsUHJvcGVydGllczogZSwKICAgICAgICAgICAgICAgIG9yaWdpbmFsT3B0aW9uczogdCwKICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogdXQgfHwgdnQoKSwKICAgICAgICAgICAgICAgIGR1cmF0aW9uOiB0LmR1cmF0aW9uLAogICAgICAgICAgICAgICAgdHdlZW5zOiBbXSwKICAgICAgICAgICAgICAgIGNyZWF0ZVR3ZWVuOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBFLlR3ZWVuKG8sIGwub3B0cywgZSwgdCwgbC5vcHRzLnNwZWNpYWxFYXNpbmdbZV0gfHwgbC5vcHRzLmVhc2luZyk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGwudHdlZW5zLnB1c2gobiksIG4KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBzdG9wOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSAwLAogICAgICAgICAgICAgICAgICAgICAgICBuID0gZSA/IGwudHdlZW5zLmxlbmd0aCA6IDA7CiAgICAgICAgICAgICAgICAgICAgaWYgKGEpIHJldHVybiB0aGlzOwogICAgICAgICAgICAgICAgICAgIGZvciAoYSA9ICEwOyB0IDwgbjsgdCsrKSBsLnR3ZWVuc1t0XS5ydW4oMSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUgPyAocy5ub3RpZnlXaXRoKG8sIFtsLCAxLCAwXSksIHMucmVzb2x2ZVdpdGgobywgW2wsIGVdKSkgOiBzLnJlamVjdFdpdGgobywgW2wsIGVdKSwgdGhpcwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSwKICAgICAgICAgICAgYyA9IGwucHJvcHM7CiAgICAgICAgZm9yIChmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICB2YXIgbiwgciwgaSwgbywgYTsKICAgICAgICAgICAgICAgIGZvciAobiBpbiBlKQogICAgICAgICAgICAgICAgICAgIGlmIChpID0gdFtyID0gRS5jYW1lbENhc2UobildLCBvID0gZVtuXSwgRS5pc0FycmF5KG8pICYmIChpID0gb1sxXSwgbyA9IGVbbl0gPSBvWzBdKSwgbiAhPT0gciAmJiAoZVtyXSA9IG8sIGRlbGV0ZSBlW25dKSwgKGEgPSBFLmNzc0hvb2tzW3JdKSAmJiAiZXhwYW5kIiBpbiBhKQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKG4gaW4gbyA9IGEuZXhwYW5kKG8pLCBkZWxldGUgZVtyXSwgbykgbiBpbiBlIHx8IChlW25dID0gb1tuXSwgdFtuXSA9IGkpOwogICAgICAgICAgICAgICAgICAgIGVsc2UgdFtyXSA9IGkKICAgICAgICAgICAgfShjLCBsLm9wdHMuc3BlY2lhbEVhc2luZyk7IHIgPCBpOyByKyspCiAgICAgICAgICAgIGlmIChuID0gYnQucHJlZmlsdGVyc1tyXS5jYWxsKGwsIG8sIGMsIGwub3B0cykpIHJldHVybiBFLmlzRnVuY3Rpb24obi5zdG9wKSAmJiAoRS5fcXVldWVIb29rcyhsLmVsZW0sIGwub3B0cy5xdWV1ZSkuc3RvcCA9IEUucHJveHkobi5zdG9wLCBuKSksIG47CiAgICAgICAgcmV0dXJuIEUubWFwKGMsIHh0LCBsKSwgRS5pc0Z1bmN0aW9uKGwub3B0cy5zdGFydCkgJiYgbC5vcHRzLnN0YXJ0LmNhbGwobywgbCksIEUuZngudGltZXIoRS5leHRlbmQodSwgewogICAgICAgICAgICBlbGVtOiBvLAogICAgICAgICAgICBhbmltOiBsLAogICAgICAgICAgICBxdWV1ZTogbC5vcHRzLnF1ZXVlCiAgICAgICAgfSkpLCBsLnByb2dyZXNzKGwub3B0cy5wcm9ncmVzcykuZG9uZShsLm9wdHMuZG9uZSwgbC5vcHRzLmNvbXBsZXRlKS5mYWlsKGwub3B0cy5mYWlsKS5hbHdheXMobC5vcHRzLmFsd2F5cykKICAgIH0KICAgIEUuQW5pbWF0aW9uID0gRS5leHRlbmQoYnQsIHsKICAgICAgICB0d2VlbmVyczogewogICAgICAgICAgICAiKiI6IFtmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICB2YXIgbiA9IHRoaXMuY3JlYXRlVHdlZW4oZSwgdCk7CiAgICAgICAgICAgICAgICByZXR1cm4gWShuLmVsZW0sIGUsIFguZXhlYyh0KSwgbiksIG4KICAgICAgICAgICAgfV0KICAgICAgICB9LAogICAgICAgIHR3ZWVuZXI6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgZm9yICh2YXIgbiwgciA9IDAsIGkgPSAoZSA9IEUuaXNGdW5jdGlvbihlKSA/ICh0ID0gZSwgWyIqIl0pIDogZS5tYXRjaChxKSkubGVuZ3RoOyByIDwgaTsgcisrKSBuID0gZVtyXSwgYnQudHdlZW5lcnNbbl0gPSBidC50d2VlbmVyc1tuXSB8fCBbXSwgYnQudHdlZW5lcnNbbl0udW5zaGlmdCh0KQogICAgICAgIH0sCiAgICAgICAgcHJlZmlsdGVyczogW2Z1bmN0aW9uKHQsIGUsIG4pIHsKICAgICAgICAgICAgdmFyIHIsIGksIG8sIGEsIHMsIHUsIGwsIGMgPSB0aGlzLAogICAgICAgICAgICAgICAgZCA9IHt9LAogICAgICAgICAgICAgICAgZiA9IHQuc3R5bGUsCiAgICAgICAgICAgICAgICBwID0gdC5ub2RlVHlwZSAmJiBWKHQpLAogICAgICAgICAgICAgICAgaCA9IEUuX2RhdGEodCwgImZ4c2hvdyIpOwogICAgICAgICAgICBmb3IgKHIgaW4gbi5xdWV1ZSB8fCAobnVsbCA9PSAocyA9IEUuX3F1ZXVlSG9va3ModCwgImZ4IikpLnVucXVldWVkICYmIChzLnVucXVldWVkID0gMCwgdSA9IHMuZW1wdHkuZmlyZSwgcy5lbXB0eS5maXJlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcy51bnF1ZXVlZCB8fCB1KCkKICAgICAgICAgICAgICAgIH0pLCBzLnVucXVldWVkKyssIGMuYWx3YXlzKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGMuYWx3YXlzKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzLnVucXVldWVkLS0sIEUucXVldWUodCwgImZ4IikubGVuZ3RoIHx8IHMuZW1wdHkuZmlyZSgpCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0pKSwgMSA9PT0gdC5ub2RlVHlwZSAmJiAoImhlaWdodCIgaW4gZSB8fCAid2lkdGgiIGluIGUpICYmIChuLm92ZXJmbG93ID0gW2Yub3ZlcmZsb3csIGYub3ZlcmZsb3dYLCBmLm92ZXJmbG93WV0sICJpbmxpbmUiID09PSAoIm5vbmUiID09PSAobCA9IEUuY3NzKHQsICJkaXNwbGF5IikpID8gRS5fZGF0YSh0LCAib2xkZGlzcGxheSIpIHx8IFBlKHQubm9kZU5hbWUpIDogbCkgJiYgIm5vbmUiID09PSBFLmNzcyh0LCAiZmxvYXQiKSAmJiAodi5pbmxpbmVCbG9ja05lZWRzTGF5b3V0ICYmICJpbmxpbmUiICE9PSBQZSh0Lm5vZGVOYW1lKSA/IGYuem9vbSA9IDEgOiBmLmRpc3BsYXkgPSAiaW5saW5lLWJsb2NrIikpLCBuLm92ZXJmbG93ICYmIChmLm92ZXJmbG93ID0gImhpZGRlbiIsIHYuc2hyaW5rV3JhcEJsb2NrcygpIHx8IGMuYWx3YXlzKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGYub3ZlcmZsb3cgPSBuLm92ZXJmbG93WzBdLCBmLm92ZXJmbG93WCA9IG4ub3ZlcmZsb3dbMV0sIGYub3ZlcmZsb3dZID0gbi5vdmVyZmxvd1syXQogICAgICAgICAgICAgICAgfSkpLCBlKQogICAgICAgICAgICAgICAgaWYgKGkgPSBlW3JdLCBndC5leGVjKGkpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGRlbGV0ZSBlW3JdLCBvID0gbyB8fCAidG9nZ2xlIiA9PT0gaSwgaSA9PT0gKHAgPyAiaGlkZSIgOiAic2hvdyIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgic2hvdyIgIT09IGkgfHwgIWggfHwgdm9pZCAwID09PSBoW3JdKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAgcCA9ICEwCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGRbcl0gPSBoICYmIGhbcl0gfHwgRS5zdHlsZSh0LCByKQogICAgICAgICAgICAgICAgfSBlbHNlIGwgPSB2b2lkIDA7CiAgICAgICAgICAgIGlmIChFLmlzRW1wdHlPYmplY3QoZCkpICJpbmxpbmUiID09PSAoIm5vbmUiID09PSBsID8gUGUodC5ub2RlTmFtZSkgOiBsKSAmJiAoZi5kaXNwbGF5ID0gbCk7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGZvciAociBpbiBoID8gImhpZGRlbiIgaW4gaCAmJiAocCA9IGguaGlkZGVuKSA6IGggPSBFLl9kYXRhKHQsICJmeHNob3ciLCB7fSksIG8gJiYgKGguaGlkZGVuID0gIXApLCBwID8gRSh0KS5zaG93KCkgOiBjLmRvbmUoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIEUodCkuaGlkZSgpCiAgICAgICAgICAgICAgICAgICAgfSksIGMuZG9uZShmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGU7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoZSBpbiBFLl9yZW1vdmVEYXRhKHQsICJmeHNob3ciKSwgZCkgRS5zdHlsZSh0LCBlLCBkW2VdKQogICAgICAgICAgICAgICAgICAgIH0pLCBkKSBhID0geHQocCA/IGhbcl0gOiAwLCByLCBjKSwgciBpbiBoIHx8IChoW3JdID0gYS5zdGFydCwgcCAmJiAoYS5lbmQgPSBhLnN0YXJ0LCBhLnN0YXJ0ID0gIndpZHRoIiA9PT0gciB8fCAiaGVpZ2h0IiA9PT0gciA/IDEgOiAwKSkKICAgICAgICB9XSwKICAgICAgICBwcmVmaWx0ZXI6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgdCA/IGJ0LnByZWZpbHRlcnMudW5zaGlmdChlKSA6IGJ0LnByZWZpbHRlcnMucHVzaChlKQogICAgICAgIH0KICAgIH0pLCBFLnNwZWVkID0gZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgIHZhciByID0gZSAmJiAib2JqZWN0IiA9PSB0eXBlb2YgZSA/IEUuZXh0ZW5kKHt9LCBlKSA6IHsKICAgICAgICAgICAgY29tcGxldGU6IG4gfHwgIW4gJiYgdCB8fCBFLmlzRnVuY3Rpb24oZSkgJiYgZSwKICAgICAgICAgICAgZHVyYXRpb246IGUsCiAgICAgICAgICAgIGVhc2luZzogbiAmJiB0IHx8IHQgJiYgIUUuaXNGdW5jdGlvbih0KSAmJiB0CiAgICAgICAgfTsKICAgICAgICByZXR1cm4gci5kdXJhdGlvbiA9IEUuZngub2ZmID8gMCA6ICJudW1iZXIiID09IHR5cGVvZiByLmR1cmF0aW9uID8gci5kdXJhdGlvbiA6IHIuZHVyYXRpb24gaW4gRS5meC5zcGVlZHMgPyBFLmZ4LnNwZWVkc1tyLmR1cmF0aW9uXSA6IEUuZnguc3BlZWRzLl9kZWZhdWx0LCBudWxsICE9IHIucXVldWUgJiYgITAgIT09IHIucXVldWUgfHwgKHIucXVldWUgPSAiZngiKSwgci5vbGQgPSByLmNvbXBsZXRlLCByLmNvbXBsZXRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIEUuaXNGdW5jdGlvbihyLm9sZCkgJiYgci5vbGQuY2FsbCh0aGlzKSwgci5xdWV1ZSAmJiBFLmRlcXVldWUodGhpcywgci5xdWV1ZSkKICAgICAgICB9LCByCiAgICB9LCBFLmZuLmV4dGVuZCh7CiAgICAgICAgZmFkZVRvOiBmdW5jdGlvbihlLCB0LCBuLCByKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbHRlcihWKS5jc3MoIm9wYWNpdHkiLCAwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiB0CiAgICAgICAgICAgIH0sIGUsIG4sIHIpCiAgICAgICAgfSwKICAgICAgICBhbmltYXRlOiBmdW5jdGlvbih0LCBlLCBuLCByKSB7CiAgICAgICAgICAgIHZhciBpID0gRS5pc0VtcHR5T2JqZWN0KHQpLAogICAgICAgICAgICAgICAgbyA9IEUuc3BlZWQoZSwgbiwgciksCiAgICAgICAgICAgICAgICBhID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBidCh0aGlzLCBFLmV4dGVuZCh7fSwgdCksIG8pOwogICAgICAgICAgICAgICAgICAgIChpIHx8IEUuX2RhdGEodGhpcywgImZpbmlzaCIpKSAmJiBlLnN0b3AoITApCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICByZXR1cm4gYS5maW5pc2ggPSBhLCBpIHx8ICExID09PSBvLnF1ZXVlID8gdGhpcy5lYWNoKGEpIDogdGhpcy5xdWV1ZShvLnF1ZXVlLCBhKQogICAgICAgIH0sCiAgICAgICAgc3RvcDogZnVuY3Rpb24oaSwgZSwgbykgewogICAgICAgICAgICB2YXIgYSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gZS5zdG9wOwogICAgICAgICAgICAgICAgZGVsZXRlIGUuc3RvcCwgdChvKQogICAgICAgICAgICB9OwogICAgICAgICAgICByZXR1cm4gInN0cmluZyIgIT0gdHlwZW9mIGkgJiYgKG8gPSBlLCBlID0gaSwgaSA9IHZvaWQgMCksIGUgJiYgITEgIT09IGkgJiYgdGhpcy5xdWV1ZShpIHx8ICJmeCIsIFtdKSwgdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSAhMCwKICAgICAgICAgICAgICAgICAgICB0ID0gbnVsbCAhPSBpICYmIGkgKyAicXVldWVIb29rcyIsCiAgICAgICAgICAgICAgICAgICAgbiA9IEUudGltZXJzLAogICAgICAgICAgICAgICAgICAgIHIgPSBFLl9kYXRhKHRoaXMpOwogICAgICAgICAgICAgICAgaWYgKHQpIHJbdF0gJiYgclt0XS5zdG9wICYmIGEoclt0XSk7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgZm9yICh0IGluIHIpIHJbdF0gJiYgclt0XS5zdG9wICYmIG10LnRlc3QodCkgJiYgYShyW3RdKTsKICAgICAgICAgICAgICAgIGZvciAodCA9IG4ubGVuZ3RoOyB0LS07KSBuW3RdLmVsZW0gIT09IHRoaXMgfHwgbnVsbCAhPSBpICYmIG5bdF0ucXVldWUgIT09IGkgfHwgKG5bdF0uYW5pbS5zdG9wKG8pLCBlID0gITEsIG4uc3BsaWNlKHQsIDEpKTsKICAgICAgICAgICAgICAgICFlICYmIG8gfHwgRS5kZXF1ZXVlKHRoaXMsIGkpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBmaW5pc2g6IGZ1bmN0aW9uKGEpIHsKICAgICAgICAgICAgcmV0dXJuICExICE9PSBhICYmIChhID0gYSB8fCAiZngiKSwgdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGUsIHQgPSBFLl9kYXRhKHRoaXMpLAogICAgICAgICAgICAgICAgICAgIG4gPSB0W2EgKyAicXVldWUiXSwKICAgICAgICAgICAgICAgICAgICByID0gdFthICsgInF1ZXVlSG9va3MiXSwKICAgICAgICAgICAgICAgICAgICBpID0gRS50aW1lcnMsCiAgICAgICAgICAgICAgICAgICAgbyA9IG4gPyBuLmxlbmd0aCA6IDA7CiAgICAgICAgICAgICAgICBmb3IgKHQuZmluaXNoID0gITAsIEUucXVldWUodGhpcywgYSwgW10pLCByICYmIHIuc3RvcCAmJiByLnN0b3AuY2FsbCh0aGlzLCAhMCksIGUgPSBpLmxlbmd0aDsgZS0tOykgaVtlXS5lbGVtID09PSB0aGlzICYmIGlbZV0ucXVldWUgPT09IGEgJiYgKGlbZV0uYW5pbS5zdG9wKCEwKSwgaS5zcGxpY2UoZSwgMSkpOwogICAgICAgICAgICAgICAgZm9yIChlID0gMDsgZSA8IG87IGUrKykgbltlXSAmJiBuW2VdLmZpbmlzaCAmJiBuW2VdLmZpbmlzaC5jYWxsKHRoaXMpOwogICAgICAgICAgICAgICAgZGVsZXRlIHQuZmluaXNoCiAgICAgICAgICAgIH0pCiAgICAgICAgfQogICAgfSksIEUuZWFjaChbInRvZ2dsZSIsICJzaG93IiwgImhpZGUiXSwgZnVuY3Rpb24oZSwgcikgewogICAgICAgIHZhciBpID0gRS5mbltyXTsKICAgICAgICBFLmZuW3JdID0gZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICByZXR1cm4gbnVsbCA9PSBlIHx8ICJib29sZWFuIiA9PSB0eXBlb2YgZSA/IGkuYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IHRoaXMuYW5pbWF0ZSh5dChyLCAhMCksIGUsIHQsIG4pCiAgICAgICAgfQogICAgfSksIEUuZWFjaCh7CiAgICAgICAgc2xpZGVEb3duOiB5dCgic2hvdyIpLAogICAgICAgIHNsaWRlVXA6IHl0KCJoaWRlIiksCiAgICAgICAgc2xpZGVUb2dnbGU6IHl0KCJ0b2dnbGUiKSwKICAgICAgICBmYWRlSW46IHsKICAgICAgICAgICAgb3BhY2l0eTogInNob3ciCiAgICAgICAgfSwKICAgICAgICBmYWRlT3V0OiB7CiAgICAgICAgICAgIG9wYWNpdHk6ICJoaWRlIgogICAgICAgIH0sCiAgICAgICAgZmFkZVRvZ2dsZTogewogICAgICAgICAgICBvcGFjaXR5OiAidG9nZ2xlIgogICAgICAgIH0KICAgIH0sIGZ1bmN0aW9uKGUsIHIpIHsKICAgICAgICBFLmZuW2VdID0gZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICByZXR1cm4gdGhpcy5hbmltYXRlKHIsIGUsIHQsIG4pCiAgICAgICAgfQogICAgfSksIEUudGltZXJzID0gW10sIEUuZngudGljayA9IGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBlLCB0ID0gRS50aW1lcnMsCiAgICAgICAgICAgIG4gPSAwOwogICAgICAgIGZvciAodXQgPSBFLm5vdygpOyBuIDwgdC5sZW5ndGg7IG4rKykoZSA9IHRbbl0pKCkgfHwgdFtuXSAhPT0gZSB8fCB0LnNwbGljZShuLS0sIDEpOwogICAgICAgIHQubGVuZ3RoIHx8IEUuZnguc3RvcCgpLCB1dCA9IHZvaWQgMAogICAgfSwgRS5meC50aW1lciA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICBFLnRpbWVycy5wdXNoKGUpLCBlKCkgPyBFLmZ4LnN0YXJ0KCkgOiBFLnRpbWVycy5wb3AoKQogICAgfSwgRS5meC5pbnRlcnZhbCA9IDEzLCBFLmZ4LnN0YXJ0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgbHQgfHwgKGx0ID0gQy5zZXRJbnRlcnZhbChFLmZ4LnRpY2ssIEUuZnguaW50ZXJ2YWwpKQogICAgfSwgRS5meC5zdG9wID0gZnVuY3Rpb24oKSB7CiAgICAgICAgQy5jbGVhckludGVydmFsKGx0KSwgbHQgPSBudWxsCiAgICB9LCBFLmZ4LnNwZWVkcyA9IHsKICAgICAgICBzbG93OiA2MDAsCiAgICAgICAgZmFzdDogMjAwLAogICAgICAgIF9kZWZhdWx0OiA0MDAKICAgIH0sIEUuZm4uZGVsYXkgPSBmdW5jdGlvbihyLCBlKSB7CiAgICAgICAgcmV0dXJuIHIgPSBFLmZ4ICYmIEUuZnguc3BlZWRzW3JdIHx8IHIsIGUgPSBlIHx8ICJmeCIsIHRoaXMucXVldWUoZSwgZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICB2YXIgbiA9IEMuc2V0VGltZW91dChlLCByKTsKICAgICAgICAgICAgdC5zdG9wID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBDLmNsZWFyVGltZW91dChuKQogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgIH0sIGR0ID0gaC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLCBmdCA9IGguY3JlYXRlRWxlbWVudCgiZGl2IiksIHB0ID0gaC5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKSwgaHQgPSBwdC5hcHBlbmRDaGlsZChoLmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKSwgKGZ0ID0gaC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc2V0QXR0cmlidXRlKCJjbGFzc05hbWUiLCAidCIpLCBmdC5pbm5lckhUTUwgPSAiICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IiwgY3QgPSBmdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpWzBdLCBkdC5zZXRBdHRyaWJ1dGUoInR5cGUiLCAiY2hlY2tib3giKSwgZnQuYXBwZW5kQ2hpbGQoZHQpLCAoY3QgPSBmdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpWzBdKS5zdHlsZS5jc3NUZXh0ID0gInRvcDoxcHgiLCB2LmdldFNldEF0dHJpYnV0ZSA9ICJ0IiAhPT0gZnQuY2xhc3NOYW1lLCB2LnN0eWxlID0gL3RvcC8udGVzdChjdC5nZXRBdHRyaWJ1dGUoInN0eWxlIikpLCB2LmhyZWZOb3JtYWxpemVkID0gIi9hIiA9PT0gY3QuZ2V0QXR0cmlidXRlKCJocmVmIiksIHYuY2hlY2tPbiA9ICEhZHQudmFsdWUsIHYub3B0U2VsZWN0ZWQgPSBodC5zZWxlY3RlZCwgdi5lbmN0eXBlID0gISFoLmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLCBwdC5kaXNhYmxlZCA9ICEwLCB2Lm9wdERpc2FibGVkID0gIWh0LmRpc2FibGVkLCAoZHQgPSBoLmNyZWF0ZUVsZW1lbnQoImlucHV0IikpLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiIiksIHYuaW5wdXQgPSAiIiA9PT0gZHQuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpLCBkdC52YWx1ZSA9ICJ0IiwgZHQuc2V0QXR0cmlidXRlKCJ0eXBlIiwgInJhZGlvIiksIHYucmFkaW9WYWx1ZSA9ICJ0IiA9PT0gZHQudmFsdWU7CiAgICB2YXIgd3QgPSAvXHIvZywKICAgICAgICBUdCA9IC9bXHgyMFx0XHJcblxmXSsvZzsKICAgIEUuZm4uZXh0ZW5kKHsKICAgICAgICB2YWw6IGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgdmFyIHIsIGUsIGksIHQgPSB0aGlzWzBdOwogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChpID0gRS5pc0Z1bmN0aW9uKG4pLCB0aGlzLmVhY2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIHQ7CiAgICAgICAgICAgICAgICAxID09PSB0aGlzLm5vZGVUeXBlICYmIChudWxsID09ICh0ID0gaSA/IG4uY2FsbCh0aGlzLCBlLCBFKHRoaXMpLnZhbCgpKSA6IG4pID8gdCA9ICIiIDogIm51bWJlciIgPT0gdHlwZW9mIHQgPyB0ICs9ICIiIDogRS5pc0FycmF5KHQpICYmICh0ID0gRS5tYXAodCwgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsID09IGUgPyAiIiA6IGUgKyAiIgogICAgICAgICAgICAgICAgfSkpLCAociA9IEUudmFsSG9va3NbdGhpcy50eXBlXSB8fCBFLnZhbEhvb2tzW3RoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pICYmICJzZXQiIGluIHIgJiYgdm9pZCAwICE9PSByLnNldCh0aGlzLCB0LCAidmFsdWUiKSB8fCAodGhpcy52YWx1ZSA9IHQpKQogICAgICAgICAgICB9KSkgOiB0ID8gKHIgPSBFLnZhbEhvb2tzW3QudHlwZV0gfHwgRS52YWxIb29rc1t0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSAmJiAiZ2V0IiBpbiByICYmIHZvaWQgMCAhPT0gKGUgPSByLmdldCh0LCAidmFsdWUiKSkgPyBlIDogInN0cmluZyIgPT0gdHlwZW9mKGUgPSB0LnZhbHVlKSA/IGUucmVwbGFjZSh3dCwgIiIpIDogbnVsbCA9PSBlID8gIiIgOiBlIDogdm9pZCAwCiAgICAgICAgfQogICAgfSksIEUuZXh0ZW5kKHsKICAgICAgICB2YWxIb29rczogewogICAgICAgICAgICBvcHRpb246IHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gRS5maW5kLmF0dHIoZSwgInZhbHVlIik7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgIT0gdCA/IHQgOiBFLnRyaW0oRS50ZXh0KGUpKS5yZXBsYWNlKFR0LCAiICIpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHNlbGVjdDogewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgdCwgbiwgciA9IGUub3B0aW9ucywgaSA9IGUuc2VsZWN0ZWRJbmRleCwgbyA9ICJzZWxlY3Qtb25lIiA9PT0gZS50eXBlIHx8IGkgPCAwLCBhID0gbyA/IG51bGwgOiBbXSwgcyA9IG8gPyBpICsgMSA6IHIubGVuZ3RoLCB1ID0gaSA8IDAgPyBzIDogbyA/IGkgOiAwOyB1IDwgczsgdSsrKQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoKChuID0gclt1XSkuc2VsZWN0ZWQgfHwgdSA9PT0gaSkgJiYgKHYub3B0RGlzYWJsZWQgPyAhbi5kaXNhYmxlZCA6IG51bGwgPT09IG4uZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKSAmJiAoIW4ucGFyZW50Tm9kZS5kaXNhYmxlZCB8fCAhRS5ub2RlTmFtZShuLnBhcmVudE5vZGUsICJvcHRncm91cCIpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHQgPSBFKG4pLnZhbCgpLCBvKSByZXR1cm4gdDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEucHVzaCh0KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBuLCByLCBpID0gZS5vcHRpb25zLCBvID0gRS5tYWtlQXJyYXkodCksIGEgPSBpLmxlbmd0aDsgYS0tOykKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgPSBpW2FdLCAtMSA8IEUuaW5BcnJheShFLnZhbEhvb2tzLm9wdGlvbi5nZXQociksIG8pKSB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgci5zZWxlY3RlZCA9IG4gPSAhMAogICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByLnNjcm9sbEhlaWdodAogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugci5zZWxlY3RlZCA9ICExOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBuIHx8IChlLnNlbGVjdGVkSW5kZXggPSAtMSksIGkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pLCBFLmVhY2goWyJyYWRpbyIsICJjaGVja2JveCJdLCBmdW5jdGlvbigpIHsKICAgICAgICBFLnZhbEhvb2tzW3RoaXNdID0gewogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiBFLmlzQXJyYXkodCkgPyBlLmNoZWNrZWQgPSAtMSA8IEUuaW5BcnJheShFKGUpLnZhbCgpLCB0KSA6IHZvaWQgMAogICAgICAgICAgICB9CiAgICAgICAgfSwgdi5jaGVja09uIHx8IChFLnZhbEhvb2tzW3RoaXNdLmdldCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIG51bGwgPT09IGUuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpID8gIm9uIiA6IGUudmFsdWUKICAgICAgICB9KQogICAgfSk7CiAgICB2YXIgQ3QsIEV0LCBOdCA9IEUuZXhwci5hdHRySGFuZGxlLAogICAgICAgIGt0ID0gL14oPzpjaGVja2VkfHNlbGVjdGVkKSQvaSwKICAgICAgICBTdCA9IHYuZ2V0U2V0QXR0cmlidXRlLAogICAgICAgIEF0ID0gdi5pbnB1dDsKICAgIEUuZm4uZXh0ZW5kKHsKICAgICAgICBhdHRyOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHJldHVybiBLKHRoaXMsIEUuYXR0ciwgZSwgdCwgMSA8IGFyZ3VtZW50cy5sZW5ndGgpCiAgICAgICAgfSwKICAgICAgICByZW1vdmVBdHRyOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBFLnJlbW92ZUF0dHIodGhpcywgZSkKICAgICAgICAgICAgfSkKICAgICAgICB9CiAgICB9KSwgRS5leHRlbmQoewogICAgICAgIGF0dHI6IGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgdmFyIHIsIGksIG8gPSBlLm5vZGVUeXBlOwogICAgICAgICAgICBpZiAoMyAhPT0gbyAmJiA4ICE9PSBvICYmIDIgIT09IG8pIHJldHVybiB2b2lkIDAgPT09IGUuZ2V0QXR0cmlidXRlID8gRS5wcm9wKGUsIHQsIG4pIDogKDEgPT09IG8gJiYgRS5pc1hNTERvYyhlKSB8fCAodCA9IHQudG9Mb3dlckNhc2UoKSwgaSA9IEUuYXR0ckhvb2tzW3RdIHx8IChFLmV4cHIubWF0Y2guYm9vbC50ZXN0KHQpID8gRXQgOiBDdCkpLCB2b2lkIDAgIT09IG4gPyBudWxsID09PSBuID8gdm9pZCBFLnJlbW92ZUF0dHIoZSwgdCkgOiBpICYmICJzZXQiIGluIGkgJiYgdm9pZCAwICE9PSAociA9IGkuc2V0KGUsIG4sIHQpKSA/IHIgOiAoZS5zZXRBdHRyaWJ1dGUodCwgbiArICIiKSwgbikgOiBpICYmICJnZXQiIGluIGkgJiYgbnVsbCAhPT0gKHIgPSBpLmdldChlLCB0KSkgPyByIDogbnVsbCA9PSAociA9IEUuZmluZC5hdHRyKGUsIHQpKSA/IHZvaWQgMCA6IHIpCiAgICAgICAgfSwKICAgICAgICBhdHRySG9va3M6IHsKICAgICAgICAgICAgdHlwZTogewogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCF2LnJhZGlvVmFsdWUgJiYgInJhZGlvIiA9PT0gdCAmJiBFLm5vZGVOYW1lKGUsICJpbnB1dCIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBuID0gZS52YWx1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuc2V0QXR0cmlidXRlKCJ0eXBlIiwgdCksIG4gJiYgKGUudmFsdWUgPSBuKSwgdAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgcmVtb3ZlQXR0cjogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICB2YXIgbiwgciwgaSA9IDAsCiAgICAgICAgICAgICAgICBvID0gdCAmJiB0Lm1hdGNoKHEpOwogICAgICAgICAgICBpZiAobyAmJiAxID09PSBlLm5vZGVUeXBlKQogICAgICAgICAgICAgICAgZm9yICg7IG4gPSBvW2krK107KSByID0gRS5wcm9wRml4W25dIHx8IG4sIEUuZXhwci5tYXRjaC5ib29sLnRlc3QobikgPyBBdCAmJiBTdCB8fCAha3QudGVzdChuKSA/IGVbcl0gPSAhMSA6IGVbRS5jYW1lbENhc2UoImRlZmF1bHQtIiArIG4pXSA9IGVbcl0gPSAhMSA6IEUuYXR0cihlLCBuLCAiIiksIGUucmVtb3ZlQXR0cmlidXRlKFN0ID8gbiA6IHIpCiAgICAgICAgfQogICAgfSksIEV0ID0gewogICAgICAgIHNldDogZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICByZXR1cm4gITEgPT09IHQgPyBFLnJlbW92ZUF0dHIoZSwgbikgOiBBdCAmJiBTdCB8fCAha3QudGVzdChuKSA/IGUuc2V0QXR0cmlidXRlKCFTdCAmJiBFLnByb3BGaXhbbl0gfHwgbiwgbikgOiBlW0UuY2FtZWxDYXNlKCJkZWZhdWx0LSIgKyBuKV0gPSBlW25dID0gITAsIG4KICAgICAgICB9CiAgICB9LCBFLmVhY2goRS5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKC9cdysvZyksIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICB2YXIgbyA9IE50W3RdIHx8IEUuZmluZC5hdHRyOwogICAgICAgIEF0ICYmIFN0IHx8ICFrdC50ZXN0KHQpID8gTnRbdF0gPSBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgIHZhciByLCBpOwogICAgICAgICAgICByZXR1cm4gbiB8fCAoaSA9IE50W3RdLCBOdFt0XSA9IHIsIHIgPSBudWxsICE9IG8oZSwgdCwgbikgPyB0LnRvTG93ZXJDYXNlKCkgOiBudWxsLCBOdFt0XSA9IGkpLCByCiAgICAgICAgfSA6IE50W3RdID0gZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICByZXR1cm4gbiA/IHZvaWQgMCA6IGVbRS5jYW1lbENhc2UoImRlZmF1bHQtIiArIHQpXSA/IHQudG9Mb3dlckNhc2UoKSA6IG51bGwKICAgICAgICB9CiAgICB9KSwgQXQgJiYgU3QgfHwgKEUuYXR0ckhvb2tzLnZhbHVlID0gewogICAgICAgIHNldDogZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICByZXR1cm4gRS5ub2RlTmFtZShlLCAiaW5wdXQiKSA/IHZvaWQoZS5kZWZhdWx0VmFsdWUgPSB0KSA6IEN0ICYmIEN0LnNldChlLCB0LCBuKQogICAgICAgIH0KICAgIH0pLCBTdCB8fCAoQ3QgPSB7CiAgICAgICAgc2V0OiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgIHZhciByID0gZS5nZXRBdHRyaWJ1dGVOb2RlKG4pOwogICAgICAgICAgICByZXR1cm4gciB8fCBlLnNldEF0dHJpYnV0ZU5vZGUociA9IGUub3duZXJEb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUobikpLCByLnZhbHVlID0gdCArPSAiIiwgInZhbHVlIiA9PT0gbiB8fCB0ID09PSBlLmdldEF0dHJpYnV0ZShuKSA/IHQgOiB2b2lkIDAKICAgICAgICB9CiAgICB9LCBOdC5pZCA9IE50Lm5hbWUgPSBOdC5jb29yZHMgPSBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgdmFyIHI7CiAgICAgICAgcmV0dXJuIG4gPyB2b2lkIDAgOiAociA9IGUuZ2V0QXR0cmlidXRlTm9kZSh0KSkgJiYgIiIgIT09IHIudmFsdWUgPyByLnZhbHVlIDogbnVsbAogICAgfSwgRS52YWxIb29rcy5idXR0b24gPSB7CiAgICAgICAgZ2V0OiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHZhciBuID0gZS5nZXRBdHRyaWJ1dGVOb2RlKHQpOwogICAgICAgICAgICByZXR1cm4gbiAmJiBuLnNwZWNpZmllZCA/IG4udmFsdWUgOiB2b2lkIDAKICAgICAgICB9LAogICAgICAgIHNldDogQ3Quc2V0CiAgICB9LCBFLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGUgPSB7CiAgICAgICAgc2V0OiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgIEN0LnNldChlLCAiIiAhPT0gdCAmJiB0LCBuKQogICAgICAgIH0KICAgIH0sIEUuZWFjaChbIndpZHRoIiwgImhlaWdodCJdLCBmdW5jdGlvbihlLCBuKSB7CiAgICAgICAgRS5hdHRySG9va3Nbbl0gPSB7CiAgICAgICAgICAgIHNldDogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgcmV0dXJuICIiID09PSB0ID8gKGUuc2V0QXR0cmlidXRlKG4sICJhdXRvIiksIHQpIDogdm9pZCAwCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSksIHYuc3R5bGUgfHwgKEUuYXR0ckhvb2tzLnN0eWxlID0gewogICAgICAgIGdldDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gZS5zdHlsZS5jc3NUZXh0IHx8IHZvaWQgMAogICAgICAgIH0sCiAgICAgICAgc2V0OiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHJldHVybiBlLnN0eWxlLmNzc1RleHQgPSB0ICsgIiIKICAgICAgICB9CiAgICB9KTsKICAgIHZhciBEdCA9IC9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbnxvYmplY3QpJC9pLAogICAgICAgIGp0ID0gL14oPzphfGFyZWEpJC9pOwogICAgRS5mbi5leHRlbmQoewogICAgICAgIHByb3A6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgcmV0dXJuIEsodGhpcywgRS5wcm9wLCBlLCB0LCAxIDwgYXJndW1lbnRzLmxlbmd0aCkKICAgICAgICB9LAogICAgICAgIHJlbW92ZVByb3A6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIGUgPSBFLnByb3BGaXhbZV0gfHwgZSwgdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICB0aGlzW2VdID0gdm9pZCAwLCBkZWxldGUgdGhpc1tlXQogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge30KICAgICAgICAgICAgfSkKICAgICAgICB9CiAgICB9KSwgRS5leHRlbmQoewogICAgICAgIHByb3A6IGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgdmFyIHIsIGksIG8gPSBlLm5vZGVUeXBlOwogICAgICAgICAgICBpZiAoMyAhPT0gbyAmJiA4ICE9PSBvICYmIDIgIT09IG8pIHJldHVybiAxID09PSBvICYmIEUuaXNYTUxEb2MoZSkgfHwgKHQgPSBFLnByb3BGaXhbdF0gfHwgdCwgaSA9IEUucHJvcEhvb2tzW3RdKSwgdm9pZCAwICE9PSBuID8gaSAmJiAic2V0IiBpbiBpICYmIHZvaWQgMCAhPT0gKHIgPSBpLnNldChlLCBuLCB0KSkgPyByIDogZVt0XSA9IG4gOiBpICYmICJnZXQiIGluIGkgJiYgbnVsbCAhPT0gKHIgPSBpLmdldChlLCB0KSkgPyByIDogZVt0XQogICAgICAgIH0sCiAgICAgICAgcHJvcEhvb2tzOiB7CiAgICAgICAgICAgIHRhYkluZGV4OiB7CiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IEUuZmluZC5hdHRyKGUsICJ0YWJpbmRleCIpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB0ID8gcGFyc2VJbnQodCwgMTApIDogRHQudGVzdChlLm5vZGVOYW1lKSB8fCBqdC50ZXN0KGUubm9kZU5hbWUpICYmIGUuaHJlZiA/IDAgOiAtMQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBwcm9wRml4OiB7CiAgICAgICAgICAgIGZvcjogImh0bWxGb3IiLAogICAgICAgICAgICBjbGFzczogImNsYXNzTmFtZSIKICAgICAgICB9CiAgICB9KSwgdi5ocmVmTm9ybWFsaXplZCB8fCBFLmVhY2goWyJocmVmIiwgInNyYyJdLCBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgRS5wcm9wSG9va3NbdF0gPSB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGUuZ2V0QXR0cmlidXRlKHQsIDQpCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgdi5vcHRTZWxlY3RlZCB8fCAoRS5wcm9wSG9va3Muc2VsZWN0ZWQgPSB7CiAgICAgICAgZ2V0OiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciB0ID0gZS5wYXJlbnROb2RlOwogICAgICAgICAgICByZXR1cm4gdCAmJiAodC5zZWxlY3RlZEluZGV4LCB0LnBhcmVudE5vZGUgJiYgdC5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpLCBudWxsCiAgICAgICAgfSwKICAgICAgICBzZXQ6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIHQgPSBlLnBhcmVudE5vZGU7CiAgICAgICAgICAgIHQgJiYgKHQuc2VsZWN0ZWRJbmRleCwgdC5wYXJlbnROb2RlICYmIHQucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4KQogICAgICAgIH0KICAgIH0pLCBFLmVhY2goWyJ0YWJJbmRleCIsICJyZWFkT25seSIsICJtYXhMZW5ndGgiLCAiY2VsbFNwYWNpbmciLCAiY2VsbFBhZGRpbmciLCAicm93U3BhbiIsICJjb2xTcGFuIiwgInVzZU1hcCIsICJmcmFtZUJvcmRlciIsICJjb250ZW50RWRpdGFibGUiXSwgZnVuY3Rpb24oKSB7CiAgICAgICAgRS5wcm9wRml4W3RoaXMudG9Mb3dlckNhc2UoKV0gPSB0aGlzCiAgICB9KSwgdi5lbmN0eXBlIHx8IChFLnByb3BGaXguZW5jdHlwZSA9ICJlbmNvZGluZyIpOwogICAgdmFyIEx0ID0gL1tcdFxyXG5cZl0vZzsKCiAgICBmdW5jdGlvbiBIdChlKSB7CiAgICAgICAgcmV0dXJuIEUuYXR0cihlLCAiY2xhc3MiKSB8fCAiIgogICAgfQogICAgRS5mbi5leHRlbmQoewogICAgICAgIGFkZENsYXNzOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlLCBuLCByLCBpLCBvLCBhLCBzLCB1ID0gMDsKICAgICAgICAgICAgaWYgKEUuaXNGdW5jdGlvbih0KSkgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBFKHRoaXMpLmFkZENsYXNzKHQuY2FsbCh0aGlzLCBlLCBIdCh0aGlzKSkpCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBpZiAoInN0cmluZyIgPT0gdHlwZW9mIHQgJiYgdCkKICAgICAgICAgICAgICAgIGZvciAoZSA9IHQubWF0Y2gocSkgfHwgW107IG4gPSB0aGlzW3UrK107KQogICAgICAgICAgICAgICAgICAgIGlmIChpID0gSHQobiksIHIgPSAxID09PSBuLm5vZGVUeXBlICYmICgiICIgKyBpICsgIiAiKS5yZXBsYWNlKEx0LCAiICIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoYSA9IDA7IG8gPSBlW2ErK107KSByLmluZGV4T2YoIiAiICsgbyArICIgIikgPCAwICYmIChyICs9IG8gKyAiICIpOwogICAgICAgICAgICAgICAgICAgICAgICBpICE9PSAocyA9IEUudHJpbShyKSkgJiYgRS5hdHRyKG4sICJjbGFzcyIsIHMpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdGhpcwogICAgICAgIH0sCiAgICAgICAgcmVtb3ZlQ2xhc3M6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUsIG4sIHIsIGksIG8sIGEsIHMsIHUgPSAwOwogICAgICAgICAgICBpZiAoRS5pc0Z1bmN0aW9uKHQpKSByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIEUodGhpcykucmVtb3ZlQ2xhc3ModC5jYWxsKHRoaXMsIGUsIEh0KHRoaXMpKSkKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIHRoaXMuYXR0cigiY2xhc3MiLCAiIik7CiAgICAgICAgICAgIGlmICgic3RyaW5nIiA9PSB0eXBlb2YgdCAmJiB0KQogICAgICAgICAgICAgICAgZm9yIChlID0gdC5tYXRjaChxKSB8fCBbXTsgbiA9IHRoaXNbdSsrXTspCiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPSBIdChuKSwgciA9IDEgPT09IG4ubm9kZVR5cGUgJiYgKCIgIiArIGkgKyAiICIpLnJlcGxhY2UoTHQsICIgIikpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChhID0gMDsgbyA9IGVbYSsrXTspCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKDsgLSAxIDwgci5pbmRleE9mKCIgIiArIG8gKyAiICIpOykgciA9IHIucmVwbGFjZSgiICIgKyBvICsgIiAiLCAiICIpOwogICAgICAgICAgICAgICAgICAgICAgICBpICE9PSAocyA9IEUudHJpbShyKSkgJiYgRS5hdHRyKG4sICJjbGFzcyIsIHMpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdGhpcwogICAgICAgIH0sCiAgICAgICAgdG9nZ2xlQ2xhc3M6IGZ1bmN0aW9uKGksIHQpIHsKICAgICAgICAgICAgdmFyIG8gPSB0eXBlb2YgaTsKICAgICAgICAgICAgcmV0dXJuICJib29sZWFuIiA9PSB0eXBlb2YgdCAmJiAic3RyaW5nIiA9PT0gbyA/IHQgPyB0aGlzLmFkZENsYXNzKGkpIDogdGhpcy5yZW1vdmVDbGFzcyhpKSA6IEUuaXNGdW5jdGlvbihpKSA/IHRoaXMuZWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBFKHRoaXMpLnRvZ2dsZUNsYXNzKGkuY2FsbCh0aGlzLCBlLCBIdCh0aGlzKSwgdCksIHQpCiAgICAgICAgICAgIH0pIDogdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGUsIHQsIG4sIHI7CiAgICAgICAgICAgICAgICBpZiAoInN0cmluZyIgPT09IG8pCiAgICAgICAgICAgICAgICAgICAgZm9yICh0ID0gMCwgbiA9IEUodGhpcyksIHIgPSBpLm1hdGNoKHEpIHx8IFtdOyBlID0gclt0KytdOykgbi5oYXNDbGFzcyhlKSA/IG4ucmVtb3ZlQ2xhc3MoZSkgOiBuLmFkZENsYXNzKGUpOwogICAgICAgICAgICAgICAgZWxzZSB2b2lkIDAgIT09IGkgJiYgImJvb2xlYW4iICE9PSBvIHx8ICgoZSA9IEh0KHRoaXMpKSAmJiBFLl9kYXRhKHRoaXMsICJfX2NsYXNzTmFtZV9fIiwgZSksIEUuYXR0cih0aGlzLCAiY2xhc3MiLCBlIHx8ICExID09PSBpID8gIiIgOiBFLl9kYXRhKHRoaXMsICJfX2NsYXNzTmFtZV9fIikgfHwgIiIpKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgaGFzQ2xhc3M6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIHQsIG4sIHIgPSAwOwogICAgICAgICAgICBmb3IgKHQgPSAiICIgKyBlICsgIiAiOyBuID0gdGhpc1tyKytdOykKICAgICAgICAgICAgICAgIGlmICgxID09PSBuLm5vZGVUeXBlICYmIC0xIDwgKCIgIiArIEh0KG4pICsgIiAiKS5yZXBsYWNlKEx0LCAiICIpLmluZGV4T2YodCkpIHJldHVybiAhMDsKICAgICAgICAgICAgcmV0dXJuICExCiAgICAgICAgfQogICAgfSksIEUuZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IGxvYWQgcmVzaXplIHNjcm9sbCB1bmxvYWQgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBlcnJvciBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSwgZnVuY3Rpb24oZSwgbikgewogICAgICAgIEUuZm5bbl0gPSBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHJldHVybiAwIDwgYXJndW1lbnRzLmxlbmd0aCA/IHRoaXMub24obiwgbnVsbCwgZSwgdCkgOiB0aGlzLnRyaWdnZXIobikKICAgICAgICB9CiAgICB9KSwgRS5mbi5leHRlbmQoewogICAgICAgIGhvdmVyOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLm1vdXNlZW50ZXIoZSkubW91c2VsZWF2ZSh0IHx8IGUpCiAgICAgICAgfQogICAgfSk7CiAgICB2YXIgcXQgPSBDLmxvY2F0aW9uLAogICAgICAgIF90ID0gRS5ub3coKSwKICAgICAgICBGdCA9IC9cPy8sCiAgICAgICAgTXQgPSAvKCwpfChcW3x7KXwofXxdKXwiKD86W14iXFxcclxuXXxcXFsiXFxcL2JmbnJ0XXxcXHVbXGRhLWZBLUZdezR9KSoiXHMqOj98dHJ1ZXxmYWxzZXxudWxsfC0/KD8hMFxkKVxkKyg/OlwuXGQrfCkoPzpbZUVdWystXT9cZCt8KS9nOwogICAgRS5wYXJzZUpTT04gPSBmdW5jdGlvbihlKSB7CiAgICAgICAgaWYgKEMuSlNPTiAmJiBDLkpTT04ucGFyc2UpIHJldHVybiBDLkpTT04ucGFyc2UoZSArICIiKTsKICAgICAgICB2YXIgaSwgbyA9IG51bGwsCiAgICAgICAgICAgIHQgPSBFLnRyaW0oZSArICIiKTsKICAgICAgICByZXR1cm4gdCAmJiAhRS50cmltKHQucmVwbGFjZShNdCwgZnVuY3Rpb24oZSwgdCwgbiwgcikgewogICAgICAgICAgICByZXR1cm4gaSAmJiB0ICYmIChvID0gMCksIDAgPT09IG8gPyBlIDogKGkgPSBuIHx8IHQsIG8gKz0gIXIgLSAhbiwgIiIpCiAgICAgICAgfSkpID8gRnVuY3Rpb24oInJldHVybiAiICsgdCkoKSA6IEUuZXJyb3IoIkludmFsaWQgSlNPTjogIiArIGUpCiAgICB9LCBFLnBhcnNlWE1MID0gZnVuY3Rpb24oZSkgewogICAgICAgIHZhciB0OwogICAgICAgIGlmICghZSB8fCAic3RyaW5nIiAhPSB0eXBlb2YgZSkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQy5ET01QYXJzZXIgPyB0ID0gKG5ldyBDLkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGUsICJ0ZXh0L3htbCIpIDogKCh0ID0gbmV3IEMuQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTERPTSIpKS5hc3luYyA9ICJmYWxzZSIsIHQubG9hZFhNTChlKSkKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIHQgPSB2b2lkIDAKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHQgJiYgdC5kb2N1bWVudEVsZW1lbnQgJiYgIXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RoIHx8IEUuZXJyb3IoIkludmFsaWQgWE1MOiAiICsgZSksIHQKICAgIH07CiAgICB2YXIgT3QgPSAvIy4qJC8sCiAgICAgICAgUnQgPSAvKFs/Jl0pXz1bXiZdKi8sCiAgICAgICAgUHQgPSAvXiguKj8pOlsgXHRdKihbXlxyXG5dKilccj8kL2dtLAogICAgICAgIEJ0ID0gL14oPzpHRVR8SEVBRCkkLywKICAgICAgICBXdCA9IC9eXC9cLy8sCiAgICAgICAgSXQgPSAvXihbXHcuKy1dKzopKD86XC9cLyg/OlteXC8/I10qQHwpKFteXC8/IzpdKikoPzo6KFxkKyl8KXwpLywKICAgICAgICAkdCA9IHt9LAogICAgICAgIHp0ID0ge30sCiAgICAgICAgWHQgPSAiKi8iLmNvbmNhdCgiKiIpLAogICAgICAgIFV0ID0gcXQuaHJlZiwKICAgICAgICBWdCA9IEl0LmV4ZWMoVXQudG9Mb3dlckNhc2UoKSkgfHwgW107CgogICAgZnVuY3Rpb24gWXQobykgewogICAgICAgIHJldHVybiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICJzdHJpbmciICE9IHR5cGVvZiBlICYmICh0ID0gZSwgZSA9ICIqIik7CiAgICAgICAgICAgIHZhciBuLCByID0gMCwKICAgICAgICAgICAgICAgIGkgPSBlLnRvTG93ZXJDYXNlKCkubWF0Y2gocSkgfHwgW107CiAgICAgICAgICAgIGlmIChFLmlzRnVuY3Rpb24odCkpCiAgICAgICAgICAgICAgICBmb3IgKDsgbiA9IGlbcisrXTspICIrIiA9PT0gbi5jaGFyQXQoMCkgPyAobiA9IG4uc2xpY2UoMSkgfHwgIioiLCAob1tuXSA9IG9bbl0gfHwgW10pLnVuc2hpZnQodCkpIDogKG9bbl0gPSBvW25dIHx8IFtdKS5wdXNoKHQpCiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIEp0KHQsIGksIG8sIGEpIHsKICAgICAgICB2YXIgcyA9IHt9LAogICAgICAgICAgICB1ID0gdCA9PT0genQ7CgogICAgICAgIGZ1bmN0aW9uIGwoZSkgewogICAgICAgICAgICB2YXIgcjsKICAgICAgICAgICAgcmV0dXJuIHNbZV0gPSAhMCwgRS5lYWNoKHRbZV0gfHwgW10sIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgIHZhciBuID0gdChpLCBvLCBhKTsKICAgICAgICAgICAgICAgIHJldHVybiAic3RyaW5nIiAhPSB0eXBlb2YgbiB8fCB1IHx8IHNbbl0gPyB1ID8gIShyID0gbikgOiB2b2lkIDAgOiAoaS5kYXRhVHlwZXMudW5zaGlmdChuKSwgbChuKSwgITEpCiAgICAgICAgICAgIH0pLCByCiAgICAgICAgfQogICAgICAgIHJldHVybiBsKGkuZGF0YVR5cGVzWzBdKSB8fCAhc1siKiJdICYmIGwoIioiKQogICAgfQoKICAgIGZ1bmN0aW9uIEd0KGUsIHQpIHsKICAgICAgICB2YXIgbiwgciwgaSA9IEUuYWpheFNldHRpbmdzLmZsYXRPcHRpb25zIHx8IHt9OwogICAgICAgIGZvciAociBpbiB0KSB2b2lkIDAgIT09IHRbcl0gJiYgKChpW3JdID8gZSA6IG4gfHwgKG4gPSB7fSkpW3JdID0gdFtyXSk7CiAgICAgICAgcmV0dXJuIG4gJiYgRS5leHRlbmQoITAsIGUsIG4pLCBlCiAgICB9CiAgICBFLmV4dGVuZCh7CiAgICAgICAgYWN0aXZlOiAwLAogICAgICAgIGxhc3RNb2RpZmllZDoge30sCiAgICAgICAgZXRhZzoge30sCiAgICAgICAgYWpheFNldHRpbmdzOiB7CiAgICAgICAgICAgIHVybDogVXQsCiAgICAgICAgICAgIHR5cGU6ICJHRVQiLAogICAgICAgICAgICBpc0xvY2FsOiAvXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLy50ZXN0KFZ0WzFdKSwKICAgICAgICAgICAgZ2xvYmFsOiAhMCwKICAgICAgICAgICAgcHJvY2Vzc0RhdGE6ICEwLAogICAgICAgICAgICBhc3luYzogITAsCiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IiwKICAgICAgICAgICAgYWNjZXB0czogewogICAgICAgICAgICAgICAgIioiOiBYdCwKICAgICAgICAgICAgICAgIHRleHQ6ICJ0ZXh0L3BsYWluIiwKICAgICAgICAgICAgICAgIGh0bWw6ICJ0ZXh0L2h0bWwiLAogICAgICAgICAgICAgICAgeG1sOiAiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCIsCiAgICAgICAgICAgICAgICBqc29uOiAiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0IgogICAgICAgICAgICB9LAogICAgICAgICAgICBjb250ZW50czogewogICAgICAgICAgICAgICAgeG1sOiAvXGJ4bWxcYi8sCiAgICAgICAgICAgICAgICBodG1sOiAvXGJodG1sLywKICAgICAgICAgICAgICAgIGpzb246IC9cYmpzb25cYi8KICAgICAgICAgICAgfSwKICAgICAgICAgICAgcmVzcG9uc2VGaWVsZHM6IHsKICAgICAgICAgICAgICAgIHhtbDogInJlc3BvbnNlWE1MIiwKICAgICAgICAgICAgICAgIHRleHQ6ICJyZXNwb25zZVRleHQiLAogICAgICAgICAgICAgICAganNvbjogInJlc3BvbnNlSlNPTiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29udmVydGVyczogewogICAgICAgICAgICAgICAgIiogdGV4dCI6IFN0cmluZywKICAgICAgICAgICAgICAgICJ0ZXh0IGh0bWwiOiAhMCwKICAgICAgICAgICAgICAgICJ0ZXh0IGpzb24iOiBFLnBhcnNlSlNPTiwKICAgICAgICAgICAgICAgICJ0ZXh0IHhtbCI6IEUucGFyc2VYTUwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZmxhdE9wdGlvbnM6IHsKICAgICAgICAgICAgICAgIHVybDogITAsCiAgICAgICAgICAgICAgICBjb250ZXh0OiAhMAogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBhamF4U2V0dXA6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPyBHdChHdChlLCBFLmFqYXhTZXR0aW5ncyksIHQpIDogR3QoRS5hamF4U2V0dGluZ3MsIGUpCiAgICAgICAgfSwKICAgICAgICBhamF4UHJlZmlsdGVyOiBZdCgkdCksCiAgICAgICAgYWpheFRyYW5zcG9ydDogWXQoenQpLAogICAgICAgIGFqYXg6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgIm9iamVjdCIgPT0gdHlwZW9mIGUgJiYgKHQgPSBlLCBlID0gdm9pZCAwKSwgdCA9IHQgfHwge307CiAgICAgICAgICAgIHZhciBuLCByLCBjLCBkLCBmLCBwLCBoLCBpLCBnID0gRS5hamF4U2V0dXAoe30sIHQpLAogICAgICAgICAgICAgICAgbSA9IGcuY29udGV4dCB8fCBnLAogICAgICAgICAgICAgICAgdiA9IGcuY29udGV4dCAmJiAobS5ub2RlVHlwZSB8fCBtLmpxdWVyeSkgPyBFKG0pIDogRS5ldmVudCwKICAgICAgICAgICAgICAgIHkgPSBFLkRlZmVycmVkKCksCiAgICAgICAgICAgICAgICB4ID0gRS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksCiAgICAgICAgICAgICAgICBiID0gZy5zdGF0dXNDb2RlIHx8IHt9LAogICAgICAgICAgICAgICAgbyA9IHt9LAogICAgICAgICAgICAgICAgYSA9IHt9LAogICAgICAgICAgICAgICAgdyA9IDAsCiAgICAgICAgICAgICAgICBzID0gImNhbmNlbGVkIiwKICAgICAgICAgICAgICAgIFQgPSB7CiAgICAgICAgICAgICAgICAgICAgcmVhZHlTdGF0ZTogMCwKICAgICAgICAgICAgICAgICAgICBnZXRSZXNwb25zZUhlYWRlcjogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdDsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKDIgPT09IHcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSB7fTsgdCA9IFB0LmV4ZWMoZCk7KSBpW3RbMV0udG9Mb3dlckNhc2UoKV0gPSB0WzJdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9IGlbZS50b0xvd2VyQ2FzZSgpXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsID09IHQgPyBudWxsIDogdAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIgPT09IHcgPyBkIDogbnVsbAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgc2V0UmVxdWVzdEhlYWRlcjogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IGUudG9Mb3dlckNhc2UoKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHcgfHwgKGUgPSBhW25dID0gYVtuXSB8fCBlLCBvW2VdID0gdCksIHRoaXMKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWltZVR5cGU6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHcgfHwgKGcubWltZVR5cGUgPSBlKSwgdGhpcwogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgc3RhdHVzQ29kZTogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdDsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodyA8IDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh0IGluIGUpIGJbdF0gPSBbYlt0XSwgZVt0XV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIFQuYWx3YXlzKGVbVC5zdGF0dXNdKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGFib3J0OiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZSB8fCBzOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaCAmJiBoLmFib3J0KHQpLCB1KDAsIHQpLCB0aGlzCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgaWYgKHkucHJvbWlzZShUKS5jb21wbGV0ZSA9IHguYWRkLCBULnN1Y2Nlc3MgPSBULmRvbmUsIFQuZXJyb3IgPSBULmZhaWwsIGcudXJsID0gKChlIHx8IGcudXJsIHx8IFV0KSArICIiKS5yZXBsYWNlKE90LCAiIikucmVwbGFjZShXdCwgVnRbMV0gKyAiLy8iKSwgZy50eXBlID0gdC5tZXRob2QgfHwgdC50eXBlIHx8IGcubWV0aG9kIHx8IGcudHlwZSwgZy5kYXRhVHlwZXMgPSBFLnRyaW0oZy5kYXRhVHlwZSB8fCAiKiIpLnRvTG93ZXJDYXNlKCkubWF0Y2gocSkgfHwgWyIiXSwgbnVsbCA9PSBnLmNyb3NzRG9tYWluICYmIChuID0gSXQuZXhlYyhnLnVybC50b0xvd2VyQ2FzZSgpKSwgZy5jcm9zc0RvbWFpbiA9ICEoIW4gfHwgblsxXSA9PT0gVnRbMV0gJiYgblsyXSA9PT0gVnRbMl0gJiYgKG5bM10gfHwgKCJodHRwOiIgPT09IG5bMV0gPyAiODAiIDogIjQ0MyIpKSA9PT0gKFZ0WzNdIHx8ICgiaHR0cDoiID09PSBWdFsxXSA/ICI4MCIgOiAiNDQzIikpKSksIGcuZGF0YSAmJiBnLnByb2Nlc3NEYXRhICYmICJzdHJpbmciICE9IHR5cGVvZiBnLmRhdGEgJiYgKGcuZGF0YSA9IEUucGFyYW0oZy5kYXRhLCBnLnRyYWRpdGlvbmFsKSksIEp0KCR0LCBnLCB0LCBUKSwgMiA9PT0gdykgcmV0dXJuIFQ7CiAgICAgICAgICAgIGZvciAociBpbiAocCA9IEUuZXZlbnQgJiYgZy5nbG9iYWwpICYmIDAgPT0gRS5hY3RpdmUrKyAmJiBFLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLCBnLnR5cGUgPSBnLnR5cGUudG9VcHBlckNhc2UoKSwgZy5oYXNDb250ZW50ID0gIUJ0LnRlc3QoZy50eXBlKSwgYyA9IGcudXJsLCBnLmhhc0NvbnRlbnQgfHwgKGcuZGF0YSAmJiAoYyA9IGcudXJsICs9IChGdC50ZXN0KGMpID8gIiYiIDogIj8iKSArIGcuZGF0YSwgZGVsZXRlIGcuZGF0YSksICExID09PSBnLmNhY2hlICYmIChnLnVybCA9IFJ0LnRlc3QoYykgPyBjLnJlcGxhY2UoUnQsICIkMV89IiArIF90KyspIDogYyArIChGdC50ZXN0KGMpID8gIiYiIDogIj8iKSArICJfPSIgKyBfdCsrKSksIGcuaWZNb2RpZmllZCAmJiAoRS5sYXN0TW9kaWZpZWRbY10gJiYgVC5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Nb2RpZmllZC1TaW5jZSIsIEUubGFzdE1vZGlmaWVkW2NdKSwgRS5ldGFnW2NdICYmIFQuc2V0UmVxdWVzdEhlYWRlcigiSWYtTm9uZS1NYXRjaCIsIEUuZXRhZ1tjXSkpLCAoZy5kYXRhICYmIGcuaGFzQ29udGVudCAmJiAhMSAhPT0gZy5jb250ZW50VHlwZSB8fCB0LmNvbnRlbnRUeXBlKSAmJiBULnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsIGcuY29udGVudFR5cGUpLCBULnNldFJlcXVlc3RIZWFkZXIoIkFjY2VwdCIsIGcuZGF0YVR5cGVzWzBdICYmIGcuYWNjZXB0c1tnLmRhdGFUeXBlc1swXV0gPyBnLmFjY2VwdHNbZy5kYXRhVHlwZXNbMF1dICsgKCIqIiAhPT0gZy5kYXRhVHlwZXNbMF0gPyAiLCAiICsgWHQgKyAiOyBxPTAuMDEiIDogIiIpIDogZy5hY2NlcHRzWyIqIl0pLCBnLmhlYWRlcnMpIFQuc2V0UmVxdWVzdEhlYWRlcihyLCBnLmhlYWRlcnNbcl0pOwogICAgICAgICAgICBpZiAoZy5iZWZvcmVTZW5kICYmICghMSA9PT0gZy5iZWZvcmVTZW5kLmNhbGwobSwgVCwgZykgfHwgMiA9PT0gdykpIHJldHVybiBULmFib3J0KCk7CiAgICAgICAgICAgIGZvciAociBpbiBzID0gImFib3J0IiwgewogICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IDEsCiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IDEsCiAgICAgICAgICAgICAgICAgICAgY29tcGxldGU6IDEKICAgICAgICAgICAgICAgIH0pIFRbcl0oZ1tyXSk7CiAgICAgICAgICAgIGlmIChoID0gSnQoenQsIGcsIHQsIFQpKSB7CiAgICAgICAgICAgICAgICBpZiAoVC5yZWFkeVN0YXRlID0gMSwgcCAmJiB2LnRyaWdnZXIoImFqYXhTZW5kIiwgW1QsIGddKSwgMiA9PT0gdykgcmV0dXJuIFQ7CiAgICAgICAgICAgICAgICBnLmFzeW5jICYmIDAgPCBnLnRpbWVvdXQgJiYgKGYgPSBDLnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgVC5hYm9ydCgidGltZW91dCIpCiAgICAgICAgICAgICAgICB9LCBnLnRpbWVvdXQpKTsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgdyA9IDEsIGguc2VuZChvLCB1KQogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIGlmICghKHcgPCAyKSkgdGhyb3cgZTsKICAgICAgICAgICAgICAgICAgICB1KC0xLCBlKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgdSgtMSwgIk5vIFRyYW5zcG9ydCIpOwoKICAgICAgICAgICAgZnVuY3Rpb24gdShlLCB0LCBuLCByKSB7CiAgICAgICAgICAgICAgICB2YXIgaSwgbywgYSwgcywgdSwgbCA9IHQ7CiAgICAgICAgICAgICAgICAyICE9PSB3ICYmICh3ID0gMiwgZiAmJiBDLmNsZWFyVGltZW91dChmKSwgaCA9IHZvaWQgMCwgZCA9IHIgfHwgIiIsIFQucmVhZHlTdGF0ZSA9IDAgPCBlID8gNCA6IDAsIGkgPSAyMDAgPD0gZSAmJiBlIDwgMzAwIHx8IDMwNCA9PT0gZSwgbiAmJiAocyA9IGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciByLCBpLCBvLCBhLCBzID0gZS5jb250ZW50cywgdSA9IGUuZGF0YVR5cGVzOwogICAgICAgICAgICAgICAgICAgICAgICAiKiIgPT09IHVbMF07KSB1LnNoaWZ0KCksIHZvaWQgMCA9PT0gaSAmJiAoaSA9IGUubWltZVR5cGUgfHwgdC5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIikpOwogICAgICAgICAgICAgICAgICAgIGlmIChpKQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGEgaW4gcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzW2FdICYmIHNbYV0udGVzdChpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUudW5zaGlmdChhKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmICh1WzBdIGluIG4pIG8gPSB1WzBdOwogICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGEgaW4gbikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF1WzBdIHx8IGUuY29udmVydGVyc1thICsgIiAiICsgdVswXV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvID0gYTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgciB8fCAociA9IGEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgbyA9IG8gfHwgcgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbyA/IChvICE9PSB1WzBdICYmIHUudW5zaGlmdChvKSwgbltvXSkgOiB2b2lkIDAKICAgICAgICAgICAgICAgIH0oZywgVCwgbikpLCBzID0gZnVuY3Rpb24oZSwgdCwgbiwgcikgewogICAgICAgICAgICAgICAgICAgIHZhciBpLCBvLCBhLCBzLCB1LCBsID0ge30sCiAgICAgICAgICAgICAgICAgICAgICAgIGMgPSBlLmRhdGFUeXBlcy5zbGljZSgpOwogICAgICAgICAgICAgICAgICAgIGlmIChjWzFdKQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGEgaW4gZS5jb252ZXJ0ZXJzKSBsW2EudG9Mb3dlckNhc2UoKV0gPSBlLmNvbnZlcnRlcnNbYV07CiAgICAgICAgICAgICAgICAgICAgZm9yIChvID0gYy5zaGlmdCgpOyBvOykKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUucmVzcG9uc2VGaWVsZHNbb10gJiYgKG5bZS5yZXNwb25zZUZpZWxkc1tvXV0gPSB0KSwgIXUgJiYgciAmJiBlLmRhdGFGaWx0ZXIgJiYgKHQgPSBlLmRhdGFGaWx0ZXIodCwgZS5kYXRhVHlwZSkpLCB1ID0gbywgbyA9IGMuc2hpZnQoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgiKiIgPT09IG8pIG8gPSB1OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIioiICE9PSB1ICYmIHUgIT09IG8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoYSA9IGxbdSArICIgIiArIG9dIHx8IGxbIiogIiArIG9dKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSBpbiBsKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgocyA9IGkuc3BsaXQoIiAiKSlbMV0gPT09IG8gJiYgKGEgPSBsW3UgKyAiICIgKyBzWzBdXSB8fCBsWyIqICIgKyBzWzBdXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgITAgPT09IGEgPyBhID0gbFtpXSA6ICEwICE9PSBsW2ldICYmIChvID0gc1swXSwgYy51bnNoaWZ0KHNbMV0pKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghMCAhPT0gYSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhICYmIGUudGhyb3dzKSB0ID0gYSh0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ID0gYSh0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiAicGFyc2VyZXJyb3IiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogYSA/IGUgOiAiTm8gY29udmVyc2lvbiBmcm9tICIgKyB1ICsgIiB0byAiICsgbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6ICJzdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogdAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0oZywgcywgVCwgaSksIGkgPyAoZy5pZk1vZGlmaWVkICYmICgodSA9IFQuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSkgJiYgKEUubGFzdE1vZGlmaWVkW2NdID0gdSksICh1ID0gVC5nZXRSZXNwb25zZUhlYWRlcigiZXRhZyIpKSAmJiAoRS5ldGFnW2NdID0gdSkpLCAyMDQgPT09IGUgfHwgIkhFQUQiID09PSBnLnR5cGUgPyBsID0gIm5vY29udGVudCIgOiAzMDQgPT09IGUgPyBsID0gIm5vdG1vZGlmaWVkIiA6IChsID0gcy5zdGF0ZSwgbyA9IHMuZGF0YSwgaSA9ICEoYSA9IHMuZXJyb3IpKSkgOiAoYSA9IGwsICFlICYmIGwgfHwgKGwgPSAiZXJyb3IiLCBlIDwgMCAmJiAoZSA9IDApKSksIFQuc3RhdHVzID0gZSwgVC5zdGF0dXNUZXh0ID0gKHQgfHwgbCkgKyAiIiwgaSA/IHkucmVzb2x2ZVdpdGgobSwgW28sIGwsIFRdKSA6IHkucmVqZWN0V2l0aChtLCBbVCwgbCwgYV0pLCBULnN0YXR1c0NvZGUoYiksIGIgPSB2b2lkIDAsIHAgJiYgdi50cmlnZ2VyKGkgPyAiYWpheFN1Y2Nlc3MiIDogImFqYXhFcnJvciIsIFtULCBnLCBpID8gbyA6IGFdKSwgeC5maXJlV2l0aChtLCBbVCwgbF0pLCBwICYmICh2LnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsIFtULCBnXSksIC0tRS5hY3RpdmUgfHwgRS5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIpKSkKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gVAogICAgICAgIH0sCiAgICAgICAgZ2V0SlNPTjogZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgICAgICByZXR1cm4gRS5nZXQoZSwgdCwgbiwgImpzb24iKQogICAgICAgIH0sCiAgICAgICAgZ2V0U2NyaXB0OiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHJldHVybiBFLmdldChlLCB2b2lkIDAsIHQsICJzY3JpcHQiKQogICAgICAgIH0KICAgIH0pLCBFLmVhY2goWyJnZXQiLCAicG9zdCJdLCBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgRVtpXSA9IGZ1bmN0aW9uKGUsIHQsIG4sIHIpIHsKICAgICAgICAgICAgcmV0dXJuIEUuaXNGdW5jdGlvbih0KSAmJiAociA9IHIgfHwgbiwgbiA9IHQsIHQgPSB2b2lkIDApLCBFLmFqYXgoRS5leHRlbmQoewogICAgICAgICAgICAgICAgdXJsOiBlLAogICAgICAgICAgICAgICAgdHlwZTogaSwKICAgICAgICAgICAgICAgIGRhdGFUeXBlOiByLAogICAgICAgICAgICAgICAgZGF0YTogdCwKICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IG4KICAgICAgICAgICAgfSwgRS5pc1BsYWluT2JqZWN0KGUpICYmIGUpKQogICAgICAgIH0KICAgIH0pLCBFLl9ldmFsVXJsID0gZnVuY3Rpb24oZSkgewogICAgICAgIHJldHVybiBFLmFqYXgoewogICAgICAgICAgICB1cmw6IGUsCiAgICAgICAgICAgIHR5cGU6ICJHRVQiLAogICAgICAgICAgICBkYXRhVHlwZTogInNjcmlwdCIsCiAgICAgICAgICAgIGNhY2hlOiAhMCwKICAgICAgICAgICAgYXN5bmM6ICExLAogICAgICAgICAgICBnbG9iYWw6ICExLAogICAgICAgICAgICB0aHJvd3M6ICEwCiAgICAgICAgfSkKICAgIH0sIEUuZm4uZXh0ZW5kKHsKICAgICAgICB3cmFwQWxsOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGlmIChFLmlzRnVuY3Rpb24odCkpIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgRSh0aGlzKS53cmFwQWxsKHQuY2FsbCh0aGlzLCBlKSkKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGlmICh0aGlzWzBdKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IEUodCwgdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCk7CiAgICAgICAgICAgICAgICB0aGlzWzBdLnBhcmVudE5vZGUgJiYgZS5pbnNlcnRCZWZvcmUodGhpc1swXSksIGUubWFwKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGUgPSB0aGlzOyBlLmZpcnN0Q2hpbGQgJiYgMSA9PT0gZS5maXJzdENoaWxkLm5vZGVUeXBlOykgZSA9IGUuZmlyc3RDaGlsZDsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZQogICAgICAgICAgICAgICAgfSkuYXBwZW5kKHRoaXMpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRoaXMKICAgICAgICB9LAogICAgICAgIHdyYXBJbm5lcjogZnVuY3Rpb24obikgewogICAgICAgICAgICByZXR1cm4gRS5pc0Z1bmN0aW9uKG4pID8gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIEUodGhpcykud3JhcElubmVyKG4uY2FsbCh0aGlzLCBlKSkKICAgICAgICAgICAgfSkgOiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IEUodGhpcyksCiAgICAgICAgICAgICAgICAgICAgdCA9IGUuY29udGVudHMoKTsKICAgICAgICAgICAgICAgIHQubGVuZ3RoID8gdC53cmFwQWxsKG4pIDogZS5hcHBlbmQobikKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIHdyYXA6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIG4gPSBFLmlzRnVuY3Rpb24odCk7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgRSh0aGlzKS53cmFwQWxsKG4gPyB0LmNhbGwodGhpcywgZSkgOiB0KQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgdW53cmFwOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIEUubm9kZU5hbWUodGhpcywgImJvZHkiKSB8fCBFKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2RlcykKICAgICAgICAgICAgfSkuZW5kKCkKICAgICAgICB9CiAgICB9KSwgRS5leHByLmZpbHRlcnMuaGlkZGVuID0gZnVuY3Rpb24oZSkgewogICAgICAgIHJldHVybiB2LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpID8gZS5vZmZzZXRXaWR0aCA8PSAwICYmIGUub2Zmc2V0SGVpZ2h0IDw9IDAgJiYgIWUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGggOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGZvciAoOyBlICYmIDEgPT09IGUubm9kZVR5cGU7KSB7CiAgICAgICAgICAgICAgICBpZiAoIm5vbmUiID09PSAoKHQgPSBlKS5zdHlsZSAmJiB0LnN0eWxlLmRpc3BsYXkgfHwgRS5jc3ModCwgImRpc3BsYXkiKSkgfHwgImhpZGRlbiIgPT09IGUudHlwZSkgcmV0dXJuICEwOwogICAgICAgICAgICAgICAgZSA9IGUucGFyZW50Tm9kZQogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciB0OwogICAgICAgICAgICByZXR1cm4gITEKICAgICAgICB9KGUpCiAgICB9LCBFLmV4cHIuZmlsdGVycy52aXNpYmxlID0gZnVuY3Rpb24oZSkgewogICAgICAgIHJldHVybiAhRS5leHByLmZpbHRlcnMuaGlkZGVuKGUpCiAgICB9OwogICAgdmFyIFF0ID0gLyUyMC9nLAogICAgICAgIEt0ID0gL1xbXF0kLywKICAgICAgICBadCA9IC9ccj9cbi9nLAogICAgICAgIGVuID0gL14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLAogICAgICAgIHRuID0gL14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pOwoKICAgIGZ1bmN0aW9uIG5uKG4sIGUsIHIsIGkpIHsKICAgICAgICB2YXIgdDsKICAgICAgICBpZiAoRS5pc0FycmF5KGUpKSBFLmVhY2goZSwgZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICByIHx8IEt0LnRlc3QobikgPyBpKG4sIHQpIDogbm4obiArICJbIiArICgib2JqZWN0IiA9PSB0eXBlb2YgdCAmJiBudWxsICE9IHQgPyBlIDogIiIpICsgIl0iLCB0LCByLCBpKQogICAgICAgIH0pOwogICAgICAgIGVsc2UgaWYgKHIgfHwgIm9iamVjdCIgIT09IEUudHlwZShlKSkgaShuLCBlKTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGZvciAodCBpbiBlKSBubihuICsgIlsiICsgdCArICJdIiwgZVt0XSwgciwgaSkKICAgIH0KICAgIEUucGFyYW0gPSBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgdmFyIG4sIHIgPSBbXSwKICAgICAgICAgICAgaSA9IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgIHQgPSBFLmlzRnVuY3Rpb24odCkgPyB0KCkgOiBudWxsID09IHQgPyAiIiA6IHQsIHJbci5sZW5ndGhdID0gZW5jb2RlVVJJQ29tcG9uZW50KGUpICsgIj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHQpCiAgICAgICAgICAgIH07CiAgICAgICAgaWYgKHZvaWQgMCA9PT0gdCAmJiAodCA9IEUuYWpheFNldHRpbmdzICYmIEUuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKSwgRS5pc0FycmF5KGUpIHx8IGUuanF1ZXJ5ICYmICFFLmlzUGxhaW5PYmplY3QoZSkpIEUuZWFjaChlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaSh0aGlzLm5hbWUsIHRoaXMudmFsdWUpCiAgICAgICAgfSk7CiAgICAgICAgZWxzZQogICAgICAgICAgICBmb3IgKG4gaW4gZSkgbm4obiwgZVtuXSwgdCwgaSk7CiAgICAgICAgcmV0dXJuIHIuam9pbigiJiIpLnJlcGxhY2UoUXQsICIrIikKICAgIH0sIEUuZm4uZXh0ZW5kKHsKICAgICAgICBzZXJpYWxpemU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gRS5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpCiAgICAgICAgfSwKICAgICAgICBzZXJpYWxpemVBcnJheTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLm1hcChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gRS5wcm9wKHRoaXMsICJlbGVtZW50cyIpOwogICAgICAgICAgICAgICAgcmV0dXJuIGUgPyBFLm1ha2VBcnJheShlKSA6IHRoaXMKICAgICAgICAgICAgfSkuZmlsdGVyKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLnR5cGU7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lICYmICFFKHRoaXMpLmlzKCI6ZGlzYWJsZWQiKSAmJiB0bi50ZXN0KHRoaXMubm9kZU5hbWUpICYmICFlbi50ZXN0KGUpICYmICh0aGlzLmNoZWNrZWQgfHwgIVoudGVzdChlKSkKICAgICAgICAgICAgfSkubWFwKGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgIHZhciBuID0gRSh0aGlzKS52YWwoKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsID09IG4gPyBudWxsIDogRS5pc0FycmF5KG4pID8gRS5tYXAobiwgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHQubmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGUucmVwbGFjZShadCwgIlxyXG4iKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pIDogewogICAgICAgICAgICAgICAgICAgIG5hbWU6IHQubmFtZSwKICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbi5yZXBsYWNlKFp0LCAiXHJcbiIpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLmdldCgpCiAgICAgICAgfQogICAgfSksIEUuYWpheFNldHRpbmdzLnhociA9IHZvaWQgMCAhPT0gQy5BY3RpdmVYT2JqZWN0ID8gZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuaXNMb2NhbCA/IHVuKCkgOiA4IDwgaC5kb2N1bWVudE1vZGUgPyBzbigpIDogL14oZ2V0fHBvc3R8aGVhZHxwdXR8ZGVsZXRlfG9wdGlvbnMpJC9pLnRlc3QodGhpcy50eXBlKSAmJiBzbigpIHx8IHVuKCkKICAgIH0gOiBzbjsKICAgIHZhciBybiA9IDAsCiAgICAgICAgb24gPSB7fSwKICAgICAgICBhbiA9IEUuYWpheFNldHRpbmdzLnhocigpOwoKICAgIGZ1bmN0aW9uIHNuKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgQy5YTUxIdHRwUmVxdWVzdAogICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICB9CgogICAgZnVuY3Rpb24gdW4oKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBDLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIikKICAgICAgICB9IGNhdGNoIChlKSB7fQogICAgfQogICAgQy5hdHRhY2hFdmVudCAmJiBDLmF0dGFjaEV2ZW50KCJvbnVubG9hZCIsIGZ1bmN0aW9uKCkgewogICAgICAgIGZvciAodmFyIGUgaW4gb24pIG9uW2VdKHZvaWQgMCwgITApCiAgICB9KSwgdi5jb3JzID0gISFhbiAmJiAid2l0aENyZWRlbnRpYWxzIiBpbiBhbiwgKGFuID0gdi5hamF4ID0gISFhbikgJiYgRS5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKHUpIHsKICAgICAgICB2YXIgbDsKICAgICAgICBpZiAoIXUuY3Jvc3NEb21haW4gfHwgdi5jb3JzKSByZXR1cm4gewogICAgICAgICAgICBzZW5kOiBmdW5jdGlvbihlLCBvKSB7CiAgICAgICAgICAgICAgICB2YXIgdCwgYSA9IHUueGhyKCksCiAgICAgICAgICAgICAgICAgICAgcyA9ICsrcm47CiAgICAgICAgICAgICAgICBpZiAoYS5vcGVuKHUudHlwZSwgdS51cmwsIHUuYXN5bmMsIHUudXNlcm5hbWUsIHUucGFzc3dvcmQpLCB1LnhockZpZWxkcykKICAgICAgICAgICAgICAgICAgICBmb3IgKHQgaW4gdS54aHJGaWVsZHMpIGFbdF0gPSB1LnhockZpZWxkc1t0XTsKICAgICAgICAgICAgICAgIGZvciAodCBpbiB1Lm1pbWVUeXBlICYmIGEub3ZlcnJpZGVNaW1lVHlwZSAmJiBhLm92ZXJyaWRlTWltZVR5cGUodS5taW1lVHlwZSksIHUuY3Jvc3NEb21haW4gfHwgZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdIHx8IChlWyJYLVJlcXVlc3RlZC1XaXRoIl0gPSAiWE1MSHR0cFJlcXVlc3QiKSwgZSkgdm9pZCAwICE9PSBlW3RdICYmIGEuc2V0UmVxdWVzdEhlYWRlcih0LCBlW3RdICsgIiIpOwogICAgICAgICAgICAgICAgYS5zZW5kKHUuaGFzQ29udGVudCAmJiB1LmRhdGEgfHwgbnVsbCksIGwgPSBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4sIHIsIGk7CiAgICAgICAgICAgICAgICAgICAgaWYgKGwgJiYgKHQgfHwgNCA9PT0gYS5yZWFkeVN0YXRlKSkKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlbGV0ZSBvbltzXSwgbCA9IHZvaWQgMCwgYS5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBFLm5vb3AsIHQpIDQgIT09IGEucmVhZHlTdGF0ZSAmJiBhLmFib3J0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IHt9LCBuID0gYS5zdGF0dXMsICJzdHJpbmciID09IHR5cGVvZiBhLnJlc3BvbnNlVGV4dCAmJiAoaS50ZXh0ID0gYS5yZXNwb25zZVRleHQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gYS5zdGF0dXNUZXh0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9ICIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuIHx8ICF1LmlzTG9jYWwgfHwgdS5jcm9zc0RvbWFpbiA/IDEyMjMgPT09IG4gJiYgKG4gPSAyMDQpIDogbiA9IGkudGV4dCA/IDIwMCA6IDQwNAogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaSAmJiBvKG4sIHIsIGksIGEuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpCiAgICAgICAgICAgICAgICB9LCB1LmFzeW5jID8gNCA9PT0gYS5yZWFkeVN0YXRlID8gQy5zZXRUaW1lb3V0KGwpIDogYS5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBvbltzXSA9IGwgOiBsKCkKICAgICAgICAgICAgfSwKICAgICAgICAgICAgYWJvcnQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbCAmJiBsKHZvaWQgMCwgITApCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgRS5hamF4U2V0dXAoewogICAgICAgIGFjY2VwdHM6IHsKICAgICAgICAgICAgc2NyaXB0OiAidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQiCiAgICAgICAgfSwKICAgICAgICBjb250ZW50czogewogICAgICAgICAgICBzY3JpcHQ6IC9cYig/OmphdmF8ZWNtYSlzY3JpcHRcYi8KICAgICAgICB9LAogICAgICAgIGNvbnZlcnRlcnM6IHsKICAgICAgICAgICAgInRleHQgc2NyaXB0IjogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIEUuZ2xvYmFsRXZhbChlKSwgZQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSksIEUuYWpheFByZWZpbHRlcigic2NyaXB0IiwgZnVuY3Rpb24oZSkgewogICAgICAgIHZvaWQgMCA9PT0gZS5jYWNoZSAmJiAoZS5jYWNoZSA9ICExKSwgZS5jcm9zc0RvbWFpbiAmJiAoZS50eXBlID0gIkdFVCIsIGUuZ2xvYmFsID0gITEpCiAgICB9KSwgRS5hamF4VHJhbnNwb3J0KCJzY3JpcHQiLCBmdW5jdGlvbih0KSB7CiAgICAgICAgaWYgKHQuY3Jvc3NEb21haW4pIHsKICAgICAgICAgICAgdmFyIHIsIGkgPSBoLmhlYWQgfHwgRSgiaGVhZCIpWzBdIHx8IGguZG9jdW1lbnRFbGVtZW50OwogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgc2VuZDogZnVuY3Rpb24oZSwgbikgewogICAgICAgICAgICAgICAgICAgIChyID0gaC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSkuYXN5bmMgPSAhMCwgdC5zY3JpcHRDaGFyc2V0ICYmIChyLmNoYXJzZXQgPSB0LnNjcmlwdENoYXJzZXQpLCByLnNyYyA9IHQudXJsLCByLm9ubG9hZCA9IHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgICAgICAodCB8fCAhci5yZWFkeVN0YXRlIHx8IC9sb2FkZWR8Y29tcGxldGUvLnRlc3Qoci5yZWFkeVN0YXRlKSkgJiYgKHIub25sb2FkID0gci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBudWxsLCByLnBhcmVudE5vZGUgJiYgci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpLCByID0gbnVsbCwgdCB8fCBuKDIwMCwgInN1Y2Nlc3MiKSkKICAgICAgICAgICAgICAgICAgICB9LCBpLmluc2VydEJlZm9yZShyLCBpLmZpcnN0Q2hpbGQpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgYWJvcnQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHIgJiYgci5vbmxvYWQodm9pZCAwLCAhMCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pOwogICAgdmFyIGxuID0gW10sCiAgICAgICAgY24gPSAvKD0pXD8oPz0mfCQpfFw/XD8vOwogICAgRS5hamF4U2V0dXAoewogICAgICAgIGpzb25wOiAiY2FsbGJhY2siLAogICAgICAgIGpzb25wQ2FsbGJhY2s6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZSA9IGxuLnBvcCgpIHx8IEUuZXhwYW5kbyArICJfIiArIF90Kys7CiAgICAgICAgICAgIHJldHVybiB0aGlzW2VdID0gITAsIGUKICAgICAgICB9CiAgICB9KSwgRS5hamF4UHJlZmlsdGVyKCJqc29uIGpzb25wIiwgZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgIHZhciByLCBpLCBvLCBhID0gITEgIT09IGUuanNvbnAgJiYgKGNuLnRlc3QoZS51cmwpID8gInVybCIgOiAic3RyaW5nIiA9PSB0eXBlb2YgZS5kYXRhICYmIDAgPT09IChlLmNvbnRlbnRUeXBlIHx8ICIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSAmJiBjbi50ZXN0KGUuZGF0YSkgJiYgImRhdGEiKTsKICAgICAgICByZXR1cm4gYSB8fCAianNvbnAiID09PSBlLmRhdGFUeXBlc1swXSA/IChyID0gZS5qc29ucENhbGxiYWNrID0gRS5pc0Z1bmN0aW9uKGUuanNvbnBDYWxsYmFjaykgPyBlLmpzb25wQ2FsbGJhY2soKSA6IGUuanNvbnBDYWxsYmFjaywgYSA/IGVbYV0gPSBlW2FdLnJlcGxhY2UoY24sICIkMSIgKyByKSA6ICExICE9PSBlLmpzb25wICYmIChlLnVybCArPSAoRnQudGVzdChlLnVybCkgPyAiJiIgOiAiPyIpICsgZS5qc29ucCArICI9IiArIHIpLCBlLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl0gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIG8gfHwgRS5lcnJvcihyICsgIiB3YXMgbm90IGNhbGxlZCIpLCBvWzBdCiAgICAgICAgfSwgZS5kYXRhVHlwZXNbMF0gPSAianNvbiIsIGkgPSBDW3JdLCBDW3JdID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIG8gPSBhcmd1bWVudHMKICAgICAgICB9LCBuLmFsd2F5cyhmdW5jdGlvbigpIHsKICAgICAgICAgICAgdm9pZCAwID09PSBpID8gRShDKS5yZW1vdmVQcm9wKHIpIDogQ1tyXSA9IGksIGVbcl0gJiYgKGUuanNvbnBDYWxsYmFjayA9IHQuanNvbnBDYWxsYmFjaywgbG4ucHVzaChyKSksIG8gJiYgRS5pc0Z1bmN0aW9uKGkpICYmIGkob1swXSksIG8gPSBpID0gdm9pZCAwCiAgICAgICAgfSksICJzY3JpcHQiKSA6IHZvaWQgMAogICAgfSksIEUucGFyc2VIVE1MID0gZnVuY3Rpb24oZSwgdCwgbikgewogICAgICAgIGlmICghZSB8fCAic3RyaW5nIiAhPSB0eXBlb2YgZSkgcmV0dXJuIG51bGw7CiAgICAgICAgImJvb2xlYW4iID09IHR5cGVvZiB0ICYmIChuID0gdCwgdCA9ICExKSwgdCA9IHQgfHwgaDsKICAgICAgICB2YXIgciA9IHcuZXhlYyhlKSwKICAgICAgICAgICAgaSA9ICFuICYmIFtdOwogICAgICAgIHJldHVybiByID8gW3QuY3JlYXRlRWxlbWVudChyWzFdKV0gOiAociA9IGRlKFtlXSwgdCwgaSksIGkgJiYgaS5sZW5ndGggJiYgRShpKS5yZW1vdmUoKSwgRS5tZXJnZShbXSwgci5jaGlsZE5vZGVzKSkKICAgIH07CiAgICB2YXIgZG4gPSBFLmZuLmxvYWQ7CgogICAgZnVuY3Rpb24gZm4oZSkgewogICAgICAgIHJldHVybiBFLmlzV2luZG93KGUpID8gZSA6IDkgPT09IGUubm9kZVR5cGUgJiYgKGUuZGVmYXVsdFZpZXcgfHwgZS5wYXJlbnRXaW5kb3cpCiAgICB9CiAgICBFLmZuLmxvYWQgPSBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgaWYgKCJzdHJpbmciICE9IHR5cGVvZiBlICYmIGRuKSByZXR1cm4gZG4uYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICB2YXIgciwgaSwgbywgYSA9IHRoaXMsCiAgICAgICAgICAgIHMgPSBlLmluZGV4T2YoIiAiKTsKICAgICAgICByZXR1cm4gLTEgPCBzICYmIChyID0gRS50cmltKGUuc2xpY2UocywgZS5sZW5ndGgpKSwgZSA9IGUuc2xpY2UoMCwgcykpLCBFLmlzRnVuY3Rpb24odCkgPyAobiA9IHQsIHQgPSB2b2lkIDApIDogdCAmJiAib2JqZWN0IiA9PSB0eXBlb2YgdCAmJiAoaSA9ICJQT1NUIiksIDAgPCBhLmxlbmd0aCAmJiBFLmFqYXgoewogICAgICAgICAgICB1cmw6IGUsCiAgICAgICAgICAgIHR5cGU6IGkgfHwgIkdFVCIsCiAgICAgICAgICAgIGRhdGFUeXBlOiAiaHRtbCIsCiAgICAgICAgICAgIGRhdGE6IHQKICAgICAgICB9KS5kb25lKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgbyA9IGFyZ3VtZW50cywgYS5odG1sKHIgPyBFKCI8ZGl2PiIpLmFwcGVuZChFLnBhcnNlSFRNTChlKSkuZmluZChyKSA6IGUpCiAgICAgICAgfSkuYWx3YXlzKG4gJiYgZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICBhLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBuLmFwcGx5KHRoaXMsIG8gfHwgW2UucmVzcG9uc2VUZXh0LCB0LCBlXSkKICAgICAgICAgICAgfSkKICAgICAgICB9KSwgdGhpcwogICAgfSwgRS5lYWNoKFsiYWpheFN0YXJ0IiwgImFqYXhTdG9wIiwgImFqYXhDb21wbGV0ZSIsICJhamF4RXJyb3IiLCAiYWpheFN1Y2Nlc3MiLCAiYWpheFNlbmQiXSwgZnVuY3Rpb24oZSwgdCkgewogICAgICAgIEUuZm5bdF0gPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLm9uKHQsIGUpCiAgICAgICAgfQogICAgfSksIEUuZXhwci5maWx0ZXJzLmFuaW1hdGVkID0gZnVuY3Rpb24odCkgewogICAgICAgIHJldHVybiBFLmdyZXAoRS50aW1lcnMsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPT09IGUuZWxlbQogICAgICAgIH0pLmxlbmd0aAogICAgfSwgRS5vZmZzZXQgPSB7CiAgICAgICAgc2V0T2Zmc2V0OiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgIHZhciByLCBpLCBvLCBhLCBzLCB1LCBsID0gRS5jc3MoZSwgInBvc2l0aW9uIiksCiAgICAgICAgICAgICAgICBjID0gRShlKSwKICAgICAgICAgICAgICAgIGQgPSB7fTsKICAgICAgICAgICAgInN0YXRpYyIgPT09IGwgJiYgKGUuc3R5bGUucG9zaXRpb24gPSAicmVsYXRpdmUiKSwgcyA9IGMub2Zmc2V0KCksIG8gPSBFLmNzcyhlLCAidG9wIiksIHUgPSBFLmNzcyhlLCAibGVmdCIpLCBpID0gKCJhYnNvbHV0ZSIgPT09IGwgfHwgImZpeGVkIiA9PT0gbCkgJiYgLTEgPCBFLmluQXJyYXkoImF1dG8iLCBbbywgdV0pID8gKGEgPSAociA9IGMucG9zaXRpb24oKSkudG9wLCByLmxlZnQpIDogKGEgPSBwYXJzZUZsb2F0KG8pIHx8IDAsIHBhcnNlRmxvYXQodSkgfHwgMCksIEUuaXNGdW5jdGlvbih0KSAmJiAodCA9IHQuY2FsbChlLCBuLCBFLmV4dGVuZCh7fSwgcykpKSwgbnVsbCAhPSB0LnRvcCAmJiAoZC50b3AgPSB0LnRvcCAtIHMudG9wICsgYSksIG51bGwgIT0gdC5sZWZ0ICYmIChkLmxlZnQgPSB0LmxlZnQgLSBzLmxlZnQgKyBpKSwgInVzaW5nIiBpbiB0ID8gdC51c2luZy5jYWxsKGUsIGQpIDogYy5jc3MoZCkKICAgICAgICB9CiAgICB9LCBFLmZuLmV4dGVuZCh7CiAgICAgICAgb2Zmc2V0OiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gdm9pZCAwID09PSB0ID8gdGhpcyA6IHRoaXMuZWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBFLm9mZnNldC5zZXRPZmZzZXQodGhpcywgdCwgZSkKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHZhciBlLCBuLCByID0gewogICAgICAgICAgICAgICAgICAgIHRvcDogMCwKICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgaSA9IHRoaXNbMF0sCiAgICAgICAgICAgICAgICBvID0gaSAmJiBpLm93bmVyRG9jdW1lbnQ7CiAgICAgICAgICAgIHJldHVybiBvID8gKGUgPSBvLmRvY3VtZW50RWxlbWVudCwgRS5jb250YWlucyhlLCBpKSA/ICh2b2lkIDAgIT09IGkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ICYmIChyID0gaS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSksIG4gPSBmbihvKSwgewogICAgICAgICAgICAgICAgdG9wOiByLnRvcCArIChuLnBhZ2VZT2Zmc2V0IHx8IGUuc2Nyb2xsVG9wKSAtIChlLmNsaWVudFRvcCB8fCAwKSwKICAgICAgICAgICAgICAgIGxlZnQ6IHIubGVmdCArIChuLnBhZ2VYT2Zmc2V0IHx8IGUuc2Nyb2xsTGVmdCkgLSAoZS5jbGllbnRMZWZ0IHx8IDApCiAgICAgICAgICAgIH0pIDogcikgOiB2b2lkIDAKICAgICAgICB9LAogICAgICAgIHBvc2l0aW9uOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKHRoaXNbMF0pIHsKICAgICAgICAgICAgICAgIHZhciBlLCB0LCBuID0gewogICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHIgPSB0aGlzWzBdOwogICAgICAgICAgICAgICAgcmV0dXJuICJmaXhlZCIgPT09IEUuY3NzKHIsICJwb3NpdGlvbiIpID8gdCA9IHIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgOiAoZSA9IHRoaXMub2Zmc2V0UGFyZW50KCksIHQgPSB0aGlzLm9mZnNldCgpLCBFLm5vZGVOYW1lKGVbMF0sICJodG1sIikgfHwgKG4gPSBlLm9mZnNldCgpKSwgbi50b3AgKz0gRS5jc3MoZVswXSwgImJvcmRlclRvcFdpZHRoIiwgITApLCBuLmxlZnQgKz0gRS5jc3MoZVswXSwgImJvcmRlckxlZnRXaWR0aCIsICEwKSksIHsKICAgICAgICAgICAgICAgICAgICB0b3A6IHQudG9wIC0gbi50b3AgLSBFLmNzcyhyLCAibWFyZ2luVG9wIiwgITApLAogICAgICAgICAgICAgICAgICAgIGxlZnQ6IHQubGVmdCAtIG4ubGVmdCAtIEUuY3NzKHIsICJtYXJnaW5MZWZ0IiwgITApCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIG9mZnNldFBhcmVudDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLm1hcChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIGUgPSB0aGlzLm9mZnNldFBhcmVudDsgZSAmJiAhRS5ub2RlTmFtZShlLCAiaHRtbCIpICYmICJzdGF0aWMiID09PSBFLmNzcyhlLCAicG9zaXRpb24iKTspIGUgPSBlLm9mZnNldFBhcmVudDsKICAgICAgICAgICAgICAgIHJldHVybiBlIHx8ICRlCiAgICAgICAgICAgIH0pCiAgICAgICAgfQogICAgfSksIEUuZWFjaCh7CiAgICAgICAgc2Nyb2xsTGVmdDogInBhZ2VYT2Zmc2V0IiwKICAgICAgICBzY3JvbGxUb3A6ICJwYWdlWU9mZnNldCIKICAgIH0sIGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICB2YXIgbyA9IC9ZLy50ZXN0KGkpOwogICAgICAgIEUuZm5bdF0gPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJldHVybiBLKHRoaXMsIGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgICAgIHZhciByID0gZm4oZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwID09PSBuID8gciA/IGkgaW4gciA/IHJbaV0gOiByLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFt0XSA6IGVbdF0gOiB2b2lkKHIgPyByLnNjcm9sbFRvKG8gPyBFKHIpLnNjcm9sbExlZnQoKSA6IG4sIG8gPyBuIDogRShyKS5zY3JvbGxUb3AoKSkgOiBlW3RdID0gbikKICAgICAgICAgICAgfSwgdCwgZSwgYXJndW1lbnRzLmxlbmd0aCwgbnVsbCkKICAgICAgICB9CiAgICB9KSwgRS5lYWNoKFsidG9wIiwgImxlZnQiXSwgZnVuY3Rpb24oZSwgbikgewogICAgICAgIEUuY3NzSG9va3Nbbl0gPSBWZSh2LnBpeGVsUG9zaXRpb24sIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgcmV0dXJuIHQgPyAodCA9IFhlKGUsIG4pLCBXZS50ZXN0KHQpID8gRShlKS5wb3NpdGlvbigpW25dICsgInB4IiA6IHQpIDogdm9pZCAwCiAgICAgICAgfSkKICAgIH0pLCBFLmVhY2goewogICAgICAgIEhlaWdodDogImhlaWdodCIsCiAgICAgICAgV2lkdGg6ICJ3aWR0aCIKICAgIH0sIGZ1bmN0aW9uKG8sIGEpIHsKICAgICAgICBFLmVhY2goewogICAgICAgICAgICBwYWRkaW5nOiAiaW5uZXIiICsgbywKICAgICAgICAgICAgY29udGVudDogYSwKICAgICAgICAgICAgIiI6ICJvdXRlciIgKyBvCiAgICAgICAgfSwgZnVuY3Rpb24ociwgZSkgewogICAgICAgICAgICBFLmZuW2VdID0gZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgdmFyIG4gPSBhcmd1bWVudHMubGVuZ3RoICYmIChyIHx8ICJib29sZWFuIiAhPSB0eXBlb2YgZSksCiAgICAgICAgICAgICAgICAgICAgaSA9IHIgfHwgKCEwID09PSBlIHx8ICEwID09PSB0ID8gIm1hcmdpbiIgOiAiYm9yZGVyIik7CiAgICAgICAgICAgICAgICByZXR1cm4gSyh0aGlzLCBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHI7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEUuaXNXaW5kb3coZSkgPyBlLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IiArIG9dIDogOSA9PT0gZS5ub2RlVHlwZSA/IChyID0gZS5kb2N1bWVudEVsZW1lbnQsIE1hdGgubWF4KGUuYm9keVsic2Nyb2xsIiArIG9dLCByWyJzY3JvbGwiICsgb10sIGUuYm9keVsib2Zmc2V0IiArIG9dLCByWyJvZmZzZXQiICsgb10sIHJbImNsaWVudCIgKyBvXSkpIDogdm9pZCAwID09PSBuID8gRS5jc3MoZSwgdCwgaSkgOiBFLnN0eWxlKGUsIHQsIG4sIGkpCiAgICAgICAgICAgICAgICB9LCBhLCBuID8gZSA6IHZvaWQgMCwgbiwgbnVsbCkKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICB9KSwgRS5mbi5leHRlbmQoewogICAgICAgIGJpbmQ6IGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMub24oZSwgbnVsbCwgdCwgbikKICAgICAgICB9LAogICAgICAgIHVuYmluZDogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5vZmYoZSwgbnVsbCwgdCkKICAgICAgICB9LAogICAgICAgIGRlbGVnYXRlOiBmdW5jdGlvbihlLCB0LCBuLCByKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLm9uKHQsIGUsIG4sIHIpCiAgICAgICAgfSwKICAgICAgICB1bmRlbGVnYXRlOiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgIHJldHVybiAxID09PSBhcmd1bWVudHMubGVuZ3RoID8gdGhpcy5vZmYoZSwgIioqIikgOiB0aGlzLm9mZih0LCBlIHx8ICIqKiIsIG4pCiAgICAgICAgfQogICAgfSksIEUuZm4uc2l6ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0aGlzLmxlbmd0aAogICAgfSwgRS5mbi5hbmRTZWxmID0gRS5mbi5hZGRCYWNrLCAiZnVuY3Rpb24iID09IHR5cGVvZiBkZWZpbmUgJiYgZGVmaW5lLmFtZCAmJiBkZWZpbmUoImpxdWVyeSIsIFtdLCBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gRQogICAgfSk7CiAgICB2YXIgcG4gPSBDLmpRdWVyeSwKICAgICAgICBobiA9IEMuJDsKICAgIHJldHVybiBFLm5vQ29uZmxpY3QgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgcmV0dXJuIEMuJCA9PT0gRSAmJiAoQy4kID0gaG4pLCBlICYmIEMualF1ZXJ5ID09PSBFICYmIChDLmpRdWVyeSA9IHBuKSwgRQogICAgfSwgZSB8fCAoQy5qUXVlcnkgPSBDLiQgPSBFKSwgRQp9KTsKISBmdW5jdGlvbih0KSB7CiAgICBpZiAoImZ1bmN0aW9uIiA9PSB0eXBlb2YgZGVmaW5lICYmIGRlZmluZS5hbWQgJiYgZGVmaW5lKCJ1aWtpdCIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgYyA9IHdpbmRvdy5VSWtpdCB8fCB0KHdpbmRvdywgd2luZG93LmpRdWVyeSwgd2luZG93LmRvY3VtZW50KTsKICAgICAgICAgICAgcmV0dXJuIGMubG9hZCA9IGZ1bmN0aW9uKHQsIGksIGUsIG4pIHsKICAgICAgICAgICAgICAgIHZhciBvLCBzID0gdC5zcGxpdCgiLCIpLAogICAgICAgICAgICAgICAgICAgIGEgPSBbXSwKICAgICAgICAgICAgICAgICAgICByID0gKG4uY29uZmlnICYmIG4uY29uZmlnLnVpa2l0ICYmIG4uY29uZmlnLnVpa2l0LmJhc2UgPyBuLmNvbmZpZy51aWtpdC5iYXNlIDogIiIpLnJlcGxhY2UoL1wvKyQvZywgIiIpOwogICAgICAgICAgICAgICAgaWYgKCFyKSB0aHJvdyBuZXcgRXJyb3IoIlBsZWFzZSBkZWZpbmUgYmFzZSBwYXRoIHRvIFVJa2l0IGluIHRoZSByZXF1aXJlanMgY29uZmlnLiIpOwogICAgICAgICAgICAgICAgZm9yIChvID0gMDsgbyA8IHMubGVuZ3RoOyBvICs9IDEpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgbCA9IHNbb10ucmVwbGFjZSgvXC4vZywgIi8iKTsKICAgICAgICAgICAgICAgICAgICBhLnB1c2gociArICIvY29tcG9uZW50cy8iICsgbCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGkoYSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgZShjKQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSwgYwogICAgICAgIH0pLCAhd2luZG93LmpRdWVyeSkgdGhyb3cgbmV3IEVycm9yKCJVSWtpdCByZXF1aXJlcyBqUXVlcnkiKTsKICAgIHdpbmRvdyAmJiB3aW5kb3cualF1ZXJ5ICYmIHQod2luZG93LCB3aW5kb3cualF1ZXJ5LCB3aW5kb3cuZG9jdW1lbnQpCn0oZnVuY3Rpb24odCwgbCwgbikgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIGksIGUsIG8sIGMgPSB7fSwKICAgICAgICBzID0gdC5VSWtpdCA/IE9iamVjdC5jcmVhdGUodC5VSWtpdCkgOiB2b2lkIDA7CiAgICBpZiAoYy52ZXJzaW9uID0gIjIuMjcuMiIsIGMubm9Db25mbGljdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gcyAmJiAodC5VSWtpdCA9IHMsIGwuVUlraXQgPSBzLCBsLmZuLnVrID0gcy5mbiksIGMKICAgICAgICB9LCBjLnByZWZpeCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHQKICAgICAgICB9LCBjLiQgPSBsLCBjLiRkb2MgPSBjLiQoZG9jdW1lbnQpLCBjLiR3aW4gPSBjLiQod2luZG93KSwgYy4kaHRtbCA9IGMuJCgiaHRtbCIpLCBjLnN1cHBvcnQgPSB7fSwgYy5zdXBwb3J0LnRyYW5zaXRpb24gPSAobyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCwgaSA9IG4uYm9keSB8fCBuLmRvY3VtZW50RWxlbWVudCwKICAgICAgICAgICAgICAgIGUgPSB7CiAgICAgICAgICAgICAgICAgICAgV2Via2l0VHJhbnNpdGlvbjogIndlYmtpdFRyYW5zaXRpb25FbmQiLAogICAgICAgICAgICAgICAgICAgIE1velRyYW5zaXRpb246ICJ0cmFuc2l0aW9uZW5kIiwKICAgICAgICAgICAgICAgICAgICBPVHJhbnNpdGlvbjogIm9UcmFuc2l0aW9uRW5kIG90cmFuc2l0aW9uZW5kIiwKICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAidHJhbnNpdGlvbmVuZCIKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIGZvciAodCBpbiBlKQogICAgICAgICAgICAgICAgaWYgKHZvaWQgMCAhPT0gaS5zdHlsZVt0XSkgcmV0dXJuIGVbdF0KICAgICAgICB9KCkpICYmIHsKICAgICAgICAgICAgZW5kOiBvCiAgICAgICAgfSwgYy5zdXBwb3J0LmFuaW1hdGlvbiA9IChlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0LCBpID0gbi5ib2R5IHx8IG4uZG9jdW1lbnRFbGVtZW50LAogICAgICAgICAgICAgICAgZSA9IHsKICAgICAgICAgICAgICAgICAgICBXZWJraXRBbmltYXRpb246ICJ3ZWJraXRBbmltYXRpb25FbmQiLAogICAgICAgICAgICAgICAgICAgIE1vekFuaW1hdGlvbjogImFuaW1hdGlvbmVuZCIsCiAgICAgICAgICAgICAgICAgICAgT0FuaW1hdGlvbjogIm9BbmltYXRpb25FbmQgb2FuaW1hdGlvbmVuZCIsCiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAiYW5pbWF0aW9uZW5kIgogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgZm9yICh0IGluIGUpCiAgICAgICAgICAgICAgICBpZiAodm9pZCAwICE9PSBpLnN0eWxlW3RdKSByZXR1cm4gZVt0XQogICAgICAgIH0oKSkgJiYgewogICAgICAgICAgICBlbmQ6IGUKICAgICAgICB9LCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgRGF0ZS5ub3cgPSBEYXRlLm5vdyB8fCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHJldHVybiAobmV3IERhdGUpLmdldFRpbWUoKQogICAgICAgICAgICB9OwogICAgICAgICAgICBmb3IgKHZhciB0ID0gWyJ3ZWJraXQiLCAibW96Il0sIGkgPSAwOyBpIDwgdC5sZW5ndGggJiYgIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU7ICsraSkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0W2ldOwogICAgICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IHdpbmRvd1tlICsgIlJlcXVlc3RBbmltYXRpb25GcmFtZSJdLCB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUgPSB3aW5kb3dbZSArICJDYW5jZWxBbmltYXRpb25GcmFtZSJdIHx8IHdpbmRvd1tlICsgIkNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZSJdCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKC9pUChhZHxob25lfG9kKS4qT1MgNi8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkgfHwgIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgIXdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSkgewogICAgICAgICAgICAgICAgdmFyIG4gPSAwOwogICAgICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IERhdGUubm93KCksCiAgICAgICAgICAgICAgICAgICAgICAgIGUgPSBNYXRoLm1heChuICsgMTYsIGkpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICB0KG4gPSBlKQogICAgICAgICAgICAgICAgICAgIH0sIGUgLSBpKQogICAgICAgICAgICAgICAgfSwgd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lID0gY2xlYXJUaW1lb3V0CiAgICAgICAgICAgIH0KICAgICAgICB9KCksIGMuc3VwcG9ydC50b3VjaCA9ICJvbnRvdWNoc3RhcnQiIGluIGRvY3VtZW50IHx8IHQuRG9jdW1lbnRUb3VjaCAmJiBkb2N1bWVudCBpbnN0YW5jZW9mIHQuRG9jdW1lbnRUb3VjaCB8fCB0Lm5hdmlnYXRvci5tc1BvaW50ZXJFbmFibGVkICYmIDAgPCB0Lm5hdmlnYXRvci5tc01heFRvdWNoUG9pbnRzIHx8IHQubmF2aWdhdG9yLnBvaW50ZXJFbmFibGVkICYmIDAgPCB0Lm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyB8fCAhMSwgYy5zdXBwb3J0Lm11dGF0aW9ub2JzZXJ2ZXIgPSB0Lk11dGF0aW9uT2JzZXJ2ZXIgfHwgdC5XZWJLaXRNdXRhdGlvbk9ic2VydmVyIHx8IG51bGwsIGMuVXRpbHMgPSB7fSwgYy5VdGlscy5pc0Z1bGxzY3JlZW4gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IHx8IGRvY3VtZW50Lm1vekZ1bGxTY3JlZW5FbGVtZW50IHx8IGRvY3VtZW50Lm1zRnVsbHNjcmVlbkVsZW1lbnQgfHwgZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQgfHwgITEKICAgICAgICB9LCBjLlV0aWxzLnN0cjJqc29uID0gZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgcmV0dXJuIGkgPyBKU09OLnBhcnNlKHQucmVwbGFjZSgvKFtcJFx3XSspXHMqOi9nLCBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICciJyArIGkgKyAnIjonCiAgICAgICAgICAgICAgICB9KS5yZXBsYWNlKC8nKFteJ10rKScvZywgZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAnIicgKyBpICsgJyInCiAgICAgICAgICAgICAgICB9KSkgOiBuZXcgRnVuY3Rpb24oIiIsICJ2YXIganNvbiA9ICIgKyB0ICsgIjsgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoanNvbikpOyIpKCkKICAgICAgICAgICAgfSBjYXRjaCAodCkgewogICAgICAgICAgICAgICAgcmV0dXJuICExCiAgICAgICAgICAgIH0KICAgICAgICB9LCBjLlV0aWxzLmRlYm91bmNlID0gZnVuY3Rpb24obiwgbywgcykgewogICAgICAgICAgICB2YXIgYTsKICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLAogICAgICAgICAgICAgICAgICAgIGkgPSBhcmd1bWVudHMsCiAgICAgICAgICAgICAgICAgICAgZSA9IHMgJiYgIWE7CiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoYSksIGEgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGEgPSBudWxsLCBzIHx8IG4uYXBwbHkodCwgaSkKICAgICAgICAgICAgICAgIH0sIG8pLCBlICYmIG4uYXBwbHkodCwgaSkKICAgICAgICAgICAgfQogICAgICAgIH0sIGMuVXRpbHMudGhyb3R0bGUgPSBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgIHZhciBlID0gITE7CiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGUgfHwgKHQuY2FsbCgpLCBlID0gITAsIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgZSA9ICExCiAgICAgICAgICAgICAgICB9LCBpKSkKICAgICAgICAgICAgfQogICAgICAgIH0sIGMuVXRpbHMucmVtb3ZlQ3NzUnVsZXMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBpLCBlLCBuLCBvLCBzLCBhLCByLCBsLCBjLCBkOwogICAgICAgICAgICB0ICYmIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgIGZvciAoZCA9IGRvY3VtZW50LnN0eWxlU2hlZXRzLCBvID0gMCwgciA9IGQubGVuZ3RoOyBvIDwgcjsgbysrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobiA9IGRbb10sIGUgPSBbXSwgbi5jc3NSdWxlcyA9IG4uY3NzUnVsZXMsIGkgPSBzID0gMCwgbCA9IG4uY3NzUnVsZXMubGVuZ3RoOyBzIDwgbDsgaSA9ICsrcykgbi5jc3NSdWxlc1tpXS50eXBlID09PSBDU1NSdWxlLlNUWUxFX1JVTEUgJiYgdC50ZXN0KG4uY3NzUnVsZXNbaV0uc2VsZWN0b3JUZXh0KSAmJiBlLnVuc2hpZnQoaSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoYSA9IDAsIGMgPSBlLmxlbmd0aDsgYSA8IGM7IGErKykgbi5kZWxldGVSdWxlKGVbYV0pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBjYXRjaCAodCkge30KICAgICAgICAgICAgfSwgMCkKICAgICAgICB9LCBjLlV0aWxzLmlzSW5WaWV3ID0gZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICB2YXIgZSA9IGwodCk7CiAgICAgICAgICAgIGlmICghZS5pcygiOnZpc2libGUiKSkgcmV0dXJuICExOwogICAgICAgICAgICB2YXIgbiA9IGMuJHdpbi5zY3JvbGxMZWZ0KCksCiAgICAgICAgICAgICAgICBvID0gYy4kd2luLnNjcm9sbFRvcCgpLAogICAgICAgICAgICAgICAgcyA9IGUub2Zmc2V0KCksCiAgICAgICAgICAgICAgICBhID0gcy5sZWZ0LAogICAgICAgICAgICAgICAgciA9IHMudG9wOwogICAgICAgICAgICByZXR1cm4gaSA9IGwuZXh0ZW5kKHsKICAgICAgICAgICAgICAgIHRvcG9mZnNldDogMCwKICAgICAgICAgICAgICAgIGxlZnRvZmZzZXQ6IDAKICAgICAgICAgICAgfSwgaSksIHIgKyBlLmhlaWdodCgpID49IG8gJiYgciAtIGkudG9wb2Zmc2V0IDw9IG8gKyBjLiR3aW4uaGVpZ2h0KCkgJiYgYSArIGUud2lkdGgoKSA+PSBuICYmIGEgLSBpLmxlZnRvZmZzZXQgPD0gbiArIGMuJHdpbi53aWR0aCgpCiAgICAgICAgfSwgYy5VdGlscy5jaGVja0Rpc3BsYXkgPSBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgIHZhciBlID0gYy4kKCJbZGF0YS11ay1tYXJnaW5dLCBbZGF0YS11ay1ncmlkLW1hdGNoXSwgW2RhdGEtdWstZ3JpZC1tYXJnaW5dLCBbZGF0YS11ay1jaGVjay1kaXNwbGF5XSIsIHQgfHwgZG9jdW1lbnQpOwogICAgICAgICAgICByZXR1cm4gdCAmJiAhZS5sZW5ndGggJiYgKGUgPSBsKHQpKSwgZS50cmlnZ2VyKCJkaXNwbGF5LnVrLmNoZWNrIiksIGkgJiYgKCJzdHJpbmciICE9IHR5cGVvZiBpICYmIChpID0gJ1tjbGFzcyo9InVrLWFuaW1hdGlvbi0iXScpLCBlLmZpbmQoaSkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gYy4kKHRoaXMpLAogICAgICAgICAgICAgICAgICAgIGkgPSB0LmF0dHIoImNsYXNzIikubWF0Y2goL3VrLWFuaW1hdGlvbi0oLispLyk7CiAgICAgICAgICAgICAgICB0LnJlbW92ZUNsYXNzKGlbMF0pLndpZHRoKCksIHQuYWRkQ2xhc3MoaVswXSkKICAgICAgICAgICAgfSkpLCBlCiAgICAgICAgfSwgYy5VdGlscy5vcHRpb25zID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICBpZiAoInN0cmluZyIgIT0gbC50eXBlKHQpKSByZXR1cm4gdDsgLSAxICE9IHQuaW5kZXhPZigiOiIpICYmICJ9IiAhPSB0LnRyaW0oKS5zdWJzdHIoLTEpICYmICh0ID0gInsiICsgdCArICJ9Iik7CiAgICAgICAgICAgIHZhciBpID0gdCA/IHQuaW5kZXhPZigieyIpIDogLTEsCiAgICAgICAgICAgICAgICBlID0ge307CiAgICAgICAgICAgIGlmICgtMSAhPSBpKSB0cnkgewogICAgICAgICAgICAgICAgZSA9IGMuVXRpbHMuc3RyMmpzb24odC5zdWJzdHIoaSkpCiAgICAgICAgICAgIH0gY2F0Y2ggKHQpIHt9CiAgICAgICAgICAgIHJldHVybiBlCiAgICAgICAgfSwgYy5VdGlscy5hbmltYXRlID0gZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICB2YXIgZSA9IGwuRGVmZXJyZWQoKTsKICAgICAgICAgICAgcmV0dXJuICh0ID0gYy4kKHQpKS5jc3MoImRpc3BsYXkiLCAibm9uZSIpLmFkZENsYXNzKGkpLm9uZShjLnN1cHBvcnQuYW5pbWF0aW9uLmVuZCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB0LnJlbW92ZUNsYXNzKGkpLCBlLnJlc29sdmUoKQogICAgICAgICAgICB9KSwgdC5jc3MoImRpc3BsYXkiLCAiIiksIGUucHJvbWlzZSgpCiAgICAgICAgfSwgYy5VdGlscy51aWQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiAodCB8fCAiaWQiKSArIChuZXcgRGF0ZSkuZ2V0VGltZSgpICsgIlJBTkQiICsgTWF0aC5jZWlsKDFlNSAqIE1hdGgucmFuZG9tKCkpCiAgICAgICAgfSwgYy5VdGlscy50ZW1wbGF0ZSA9IGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgICAgZm9yICh2YXIgZSwgbiwgbywgcywgYSA9IHQucmVwbGFjZSgvXG4vZywgIlxcbiIpLnJlcGxhY2UoL1x7XHtce1xzKiguKz8pXHMqXH1cfVx9L2csICJ7eyEkMX19Iikuc3BsaXQoLyhce1x7XHMqKC4rPylccypcfVx9KS9nKSwgciA9IDAsIGwgPSBbXSwgYyA9IDA7IHIgPCBhLmxlbmd0aDspIHsKICAgICAgICAgICAgICAgIGlmICgoZSA9IGFbcl0pLm1hdGNoKC9ce1x7XHMqKC4rPylccypcfVx9LykpIHN3aXRjaCAociArPSAxLCBlID0gYVtyXSwgbiA9IGVbMF0sIG8gPSBlLnN1YnN0cmluZyhlLm1hdGNoKC9eKFxefFwjfFwhfFx+fFw6KS8pID8gMSA6IDApLCBuKSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAifiI6CiAgICAgICAgICAgICAgICAgICAgICAgIGwucHVzaCgiZm9yKHZhciAkaT0wOyRpPCIgKyBvICsgIi5sZW5ndGg7JGkrKykgeyB2YXIgJGl0ZW0gPSAiICsgbyArICJbJGldOyIpLCBjKys7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgIjoiOgogICAgICAgICAgICAgICAgICAgICAgICBsLnB1c2goImZvcih2YXIgJGtleSBpbiAiICsgbyArICIpIHsgdmFyICR2YWwgPSAiICsgbyArICJbJGtleV07IiksIGMrKzsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAiIyI6CiAgICAgICAgICAgICAgICAgICAgICAgIGwucHVzaCgiaWYoIiArIG8gKyAiKSB7IiksIGMrKzsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAiXiI6CiAgICAgICAgICAgICAgICAgICAgICAgIGwucHVzaCgiaWYoISIgKyBvICsgIikgeyIpLCBjKys7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgIi8iOgogICAgICAgICAgICAgICAgICAgICAgICBsLnB1c2goIn0iKSwgYy0tOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlICIhIjoKICAgICAgICAgICAgICAgICAgICAgICAgbC5wdXNoKCJfX3JldC5wdXNoKCIgKyBvICsgIik7Iik7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgICAgIGwucHVzaCgiX19yZXQucHVzaChlc2NhcGUoIiArIG8gKyAiKSk7IikKICAgICAgICAgICAgICAgIH0gZWxzZSBsLnB1c2goIl9fcmV0LnB1c2goJyIgKyBlLnJlcGxhY2UoL1wnL2csICJcXCciKSArICInKTsiKTsKICAgICAgICAgICAgICAgIHIgKz0gMQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBzID0gbmV3IEZ1bmN0aW9uKCIkZGF0YSIsIFsidmFyIF9fcmV0ID0gW107IiwgInRyeSB7IiwgIndpdGgoJGRhdGEpeyIsIGMgPyAnX19yZXQgPSBbIk5vdCBhbGwgYmxvY2tzIGFyZSBjbG9zZWQgY29ycmVjdGx5LiJdJyA6IGwuam9pbigiIiksICJ9OyIsICJ9Y2F0Y2goZSl7X19yZXQgPSBbZS5tZXNzYWdlXTt9IiwgJ3JldHVybiBfX3JldC5qb2luKCIiKS5yZXBsYWNlKC9cXG5cXG4vZywgIlxcbiIpOycsICJmdW5jdGlvbiBlc2NhcGUoaHRtbCkgeyByZXR1cm4gU3RyaW5nKGh0bWwpLnJlcGxhY2UoLyYvZywgJyZhbXA7JykucmVwbGFjZSgvXCIvZywgJyZxdW90OycpLnJlcGxhY2UoLzwvZywgJyZsdDsnKS5yZXBsYWNlKC8+L2csICcmZ3Q7Jyk7fSJdLmpvaW4oIlxuIikpLCBpID8gcyhpKSA6IHMKICAgICAgICB9LCBjLlV0aWxzLmZvY3VzID0gZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICBpZiAoISh0ID0gbCh0KSkubGVuZ3RoKSByZXR1cm4gdDsKICAgICAgICAgICAgdmFyIGUsIG4gPSB0LmZpbmQoIlthdXRvZm9jdXNdOmZpcnN0Iik7CiAgICAgICAgICAgIHJldHVybiBuLmxlbmd0aCA/IG4uZm9jdXMoKSA6IChuID0gdC5maW5kKCI6aW5wdXQiICsgKGkgJiYgIiwiICsgaSB8fCAiIikpLmZpcnN0KCkpLmxlbmd0aCA/IG4uZm9jdXMoKSA6ICh0LmF0dHIoInRhYmluZGV4IikgfHwgKGUgPSAxZTMsIHQuYXR0cigidGFiaW5kZXgiLCBlKSksIHRbMF0uZm9jdXMoKSwgZSAmJiB0LmF0dHIoInRhYmluZGV4IiwgIiIpLCB0KQogICAgICAgIH0sIGMuVXRpbHMuZXZlbnRzID0ge30sIGMuVXRpbHMuZXZlbnRzLmNsaWNrID0gYy5zdXBwb3J0LnRvdWNoID8gInRhcCIgOiAiY2xpY2siLCAodC5VSWtpdCA9IGMpLmZuID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgbiA9IGFyZ3VtZW50cywKICAgICAgICAgICAgICAgIGkgPSB0Lm1hdGNoKC9eKFthLXpcLV0rKSg/OlwuKFthLXpdKykpPy9pKSwKICAgICAgICAgICAgICAgIG8gPSBpWzFdLAogICAgICAgICAgICAgICAgcyA9IGlbMl07CiAgICAgICAgICAgIHJldHVybiBjW29dID8gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSBsKHRoaXMpLAogICAgICAgICAgICAgICAgICAgIGkgPSB0LmRhdGEobyk7CiAgICAgICAgICAgICAgICBpIHx8IHQuZGF0YShvLCBpID0gY1tvXSh0aGlzLCBzID8gdm9pZCAwIDogZSkpLCBzICYmIGlbc10uYXBwbHkoaSwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobiwgMSkpCiAgICAgICAgICAgIH0pIDogKGwuZXJyb3IoIlVJa2l0IGNvbXBvbmVudCBbIiArIG8gKyAiXSBkb2VzIG5vdCBleGlzdC4iKSwgdGhpcykKICAgICAgICB9LCBsLlVJa2l0ID0gYywgbC5mbi51ayA9IGMuZm4sIGMubGFuZ2RpcmVjdGlvbiA9ICJydGwiID09IGMuJGh0bWwuYXR0cigiZGlyIikgPyAicmlnaHQiIDogImxlZnQiLCBjLmNvbXBvbmVudHMgPSB7fSwgYy5jb21wb25lbnQgPSBmdW5jdGlvbihuLCB0KSB7CiAgICAgICAgICAgIHZhciBvID0gZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzOwogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuVUlraXQgPSBjLCB0aGlzLmVsZW1lbnQgPSB0ID8gYy4kKHQpIDogbnVsbCwgdGhpcy5vcHRpb25zID0gbC5leHRlbmQoITAsIHt9LCB0aGlzLmRlZmF1bHRzLCBpKSwgdGhpcy5wbHVnaW5zID0ge30sIHRoaXMuZWxlbWVudCAmJiB0aGlzLmVsZW1lbnQuZGF0YShuLCB0aGlzKSwgdGhpcy5pbml0KCksICh0aGlzLm9wdGlvbnMucGx1Z2lucy5sZW5ndGggPyB0aGlzLm9wdGlvbnMucGx1Z2lucyA6IE9iamVjdC5rZXlzKG8ucGx1Z2lucykpLmZvckVhY2goZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIG8ucGx1Z2luc1t0XS5pbml0ICYmIChvLnBsdWdpbnNbdF0uaW5pdChlKSwgZS5wbHVnaW5zW3RdID0gITApCiAgICAgICAgICAgICAgICB9KSwgdGhpcy50cmlnZ2VyKCJpbml0LnVrLmNvbXBvbmVudCIsIFtuLCB0aGlzXSksIHRoaXMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgcmV0dXJuIG8ucGx1Z2lucyA9IHt9LCBsLmV4dGVuZCghMCwgby5wcm90b3R5cGUsIHsKICAgICAgICAgICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgICAgICAgICAgcGx1Z2luczogW10KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBib290OiBmdW5jdGlvbigpIHt9LAogICAgICAgICAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7fSwKICAgICAgICAgICAgICAgIG9uOiBmdW5jdGlvbih0LCBpLCBlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGMuJCh0aGlzLmVsZW1lbnQgfHwgdGhpcykub24odCwgaSwgZSkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBvbmU6IGZ1bmN0aW9uKHQsIGksIGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gYy4kKHRoaXMuZWxlbWVudCB8fCB0aGlzKS5vbmUodCwgaSwgZSkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBvZmY6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gYy4kKHRoaXMuZWxlbWVudCB8fCB0aGlzKS5vZmYodCkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB0cmlnZ2VyOiBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGMuJCh0aGlzLmVsZW1lbnQgfHwgdGhpcykudHJpZ2dlcih0LCBpKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGZpbmQ6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gYy4kKHRoaXMuZWxlbWVudCA/IHRoaXMuZWxlbWVudCA6IFtdKS5maW5kKHQpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcHJveHk6IGZ1bmN0aW9uKGksIHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXM7CiAgICAgICAgICAgICAgICAgICAgdC5zcGxpdCgiICIpLmZvckVhY2goZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICBlW3RdIHx8IChlW3RdID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaVt0XS5hcHBseShpLCBhcmd1bWVudHMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBtaXhpbjogZnVuY3Rpb24oaSwgdCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gdGhpczsKICAgICAgICAgICAgICAgICAgICB0LnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGVbdF0gfHwgKGVbdF0gPSBpW3RdLmJpbmQoZSkpCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBvcHRpb246IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAxID09IGFyZ3VtZW50cy5sZW5ndGggPyB0aGlzLm9wdGlvbnNbYXJndW1lbnRzWzBdXSB8fCB2b2lkIDAgOiB2b2lkKDIgPT0gYXJndW1lbnRzLmxlbmd0aCAmJiAodGhpcy5vcHRpb25zW2FyZ3VtZW50c1swXV0gPSBhcmd1bWVudHNbMV0pKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB0KSwgdGhpcy5jb21wb25lbnRzW25dID0gbywgdGhpc1tuXSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHQsIGk7CiAgICAgICAgICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCkgc3dpdGNoIChhcmd1bWVudHMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nIiA9PSB0eXBlb2YgYXJndW1lbnRzWzBdIHx8IGFyZ3VtZW50c1swXS5ub2RlVHlwZSB8fCBhcmd1bWVudHNbMF0gaW5zdGFuY2VvZiBqUXVlcnkgPyB0ID0gbChhcmd1bWVudHNbMF0pIDogaSA9IGFyZ3VtZW50c1swXTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgICAgICAgICAgICB0ID0gbChhcmd1bWVudHNbMF0pLCBpID0gYXJndW1lbnRzWzFdCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gdCAmJiB0LmRhdGEobikgPyB0LmRhdGEobikgOiBuZXcgYy5jb21wb25lbnRzW25dKHQsIGkpCiAgICAgICAgICAgIH0sIGMuZG9tcmVhZHkgJiYgYy5jb21wb25lbnQuYm9vdChuKSwgbwogICAgICAgIH0sIGMucGx1Z2luID0gZnVuY3Rpb24odCwgaSwgZSkgewogICAgICAgICAgICB0aGlzLmNvbXBvbmVudHNbdF0ucGx1Z2luc1tpXSA9IGUKICAgICAgICB9LCBjLmNvbXBvbmVudC5ib290ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICBjLmNvbXBvbmVudHNbdF0ucHJvdG90eXBlICYmIGMuY29tcG9uZW50c1t0XS5wcm90b3R5cGUuYm9vdCAmJiAhYy5jb21wb25lbnRzW3RdLmJvb3RlZCAmJiAoYy5jb21wb25lbnRzW3RdLnByb3RvdHlwZS5ib290LmFwcGx5KGMsIFtdKSwgYy5jb21wb25lbnRzW3RdLmJvb3RlZCA9ICEwKQogICAgICAgIH0sIGMuY29tcG9uZW50LmJvb3RDb21wb25lbnRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZvciAodmFyIHQgaW4gYy5jb21wb25lbnRzKSBjLmNvbXBvbmVudC5ib290KHQpCiAgICAgICAgfSwgYy5kb21PYnNlcnZlcnMgPSBbXSwgYy5kb21yZWFkeSA9ICExLCBjLnJlYWR5ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICBjLmRvbU9ic2VydmVycy5wdXNoKHQpLCBjLmRvbXJlYWR5ICYmIHQoZG9jdW1lbnQpCiAgICAgICAgfSwgYy5vbiA9IGZ1bmN0aW9uKHQsIGksIGUpIHsKICAgICAgICAgICAgcmV0dXJuIHQgJiYgLTEgPCB0LmluZGV4T2YoInJlYWR5LnVrLmRvbSIpICYmIGMuZG9tcmVhZHkgJiYgaS5hcHBseShjLiRkb2MpLCBjLiRkb2Mub24odCwgaSwgZSkKICAgICAgICB9LCBjLm9uZSA9IGZ1bmN0aW9uKHQsIGksIGUpIHsKICAgICAgICAgICAgcmV0dXJuIHQgJiYgLTEgPCB0LmluZGV4T2YoInJlYWR5LnVrLmRvbSIpICYmIGMuZG9tcmVhZHkgPyAoaS5hcHBseShjLiRkb2MpLCBjLiRkb2MpIDogYy4kZG9jLm9uZSh0LCBpLCBlKQogICAgICAgIH0sIGMudHJpZ2dlciA9IGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIGMuJGRvYy50cmlnZ2VyKHQsIGkpCiAgICAgICAgfSwgYy5kb21PYnNlcnZlID0gZnVuY3Rpb24odCwgbikgewogICAgICAgICAgICBjLnN1cHBvcnQubXV0YXRpb25vYnNlcnZlciAmJiAobiA9IG4gfHwgZnVuY3Rpb24oKSB7fSwgYy4kKHQpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgaSA9IGMuJCh0KTsKICAgICAgICAgICAgICAgIGlmICghaS5kYXRhKCJvYnNlcnZlciIpKSB0cnkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gbmV3IGMuc3VwcG9ydC5tdXRhdGlvbm9ic2VydmVyKGMuVXRpbHMuZGVib3VuY2UoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG4uYXBwbHkodCwgW2ldKSwgaS50cmlnZ2VyKCJjaGFuZ2VkLnVrLmRvbSIpCiAgICAgICAgICAgICAgICAgICAgfSwgNTApLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTGlzdDogITAsCiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnRyZWU6ICEwCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgZS5vYnNlcnZlKHQsIHsKICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRMaXN0OiAhMCwKICAgICAgICAgICAgICAgICAgICAgICAgc3VidHJlZTogITAKICAgICAgICAgICAgICAgICAgICB9KSwgaS5kYXRhKCJvYnNlcnZlciIsIGUpCiAgICAgICAgICAgICAgICB9IGNhdGNoICh0KSB7fQogICAgICAgICAgICB9KSkKICAgICAgICB9LCBjLmluaXQgPSBmdW5jdGlvbihpKSB7CiAgICAgICAgICAgIGkgPSBpIHx8IGRvY3VtZW50LCBjLmRvbU9ic2VydmVycy5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHQoaSkKICAgICAgICAgICAgfSkKICAgICAgICB9LCBjLm9uKCJkb21yZWFkeS51ay5kb20iLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgYy5pbml0KCksIGMuZG9tcmVhZHkgJiYgYy5VdGlscy5jaGVja0Rpc3BsYXkoKQogICAgICAgIH0pLCBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgKGkgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgYy4kYm9keSA9IGMuJCgiYm9keSIpLCBjLnRyaWdnZXIoImJlZm9yZXJlYWR5LnVrLmRvbSIpLCBjLmNvbXBvbmVudC5ib290Q29tcG9uZW50cygpOwogICAgICAgICAgICB2YXIgZSwgbiwgdCwgbyA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoZSA9IHsKICAgICAgICAgICAgICAgIGRpcjogewogICAgICAgICAgICAgICAgICAgIHg6IDAsCiAgICAgICAgICAgICAgICAgICAgeTogMAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHg6IHdpbmRvdy5wYWdlWE9mZnNldCwKICAgICAgICAgICAgICAgIHk6IHdpbmRvdy5wYWdlWU9mZnNldAogICAgICAgICAgICB9LCBuID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IHdpbmRvdy5wYWdlWE9mZnNldCwKICAgICAgICAgICAgICAgICAgICBpID0gd2luZG93LnBhZ2VZT2Zmc2V0OwogICAgICAgICAgICAgICAgKGUueCAhPSB0IHx8IGUueSAhPSBpKSAmJiAoZS5kaXIueCA9IHQgIT0gZS54ID8gdCA+IGUueCA/IDEgOiAtMSA6IDAsIGUuZGlyLnkgPSBpICE9IGUueSA/IGkgPiBlLnkgPyAxIDogLTEgOiAwLCBlLnggPSB0LCBlLnkgPSBpLCBjLiRkb2MudHJpZ2dlcigic2Nyb2xsaW5nLnVrLmRvY3VtZW50IiwgW3sKICAgICAgICAgICAgICAgICAgICBkaXI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgeDogZS5kaXIueCwKICAgICAgICAgICAgICAgICAgICAgICAgeTogZS5kaXIueQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgeDogdCwKICAgICAgICAgICAgICAgICAgICB5OiBpCiAgICAgICAgICAgICAgICB9XSkpLCBjYW5jZWxBbmltYXRpb25GcmFtZShvKSwgbyA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShuKQogICAgICAgICAgICB9LCBjLnN1cHBvcnQudG91Y2ggJiYgYy4kaHRtbC5vbigidG91Y2htb3ZlIHRvdWNoZW5kIE1TUG9pbnRlck1vdmUgTVNQb2ludGVyVXAgcG9pbnRlcm1vdmUgcG9pbnRlcnVwIiwgbiksIChlLnggfHwgZS55KSAmJiBuKCksIG4pKTsKICAgICAgICAgICAgaWYgKGMudHJpZ2dlcigiZG9tcmVhZHkudWsuZG9tIiksIGMuc3VwcG9ydC50b3VjaCAmJiBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC8oaVBhZHxpUGhvbmV8aVBvZCkvZykgJiYgYy4kd2luLm9uKCJsb2FkIG9yaWVudGF0aW9uY2hhbmdlIHJlc2l6ZSIsIGMuVXRpbHMuZGVib3VuY2UoKHQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbCgiLnVrLWhlaWdodC12aWV3cG9ydCIpLmNzcygiaGVpZ2h0Iiwgd2luZG93LmlubmVySGVpZ2h0KSwgdAogICAgICAgICAgICAgICAgfSkoKSwgMTAwKSksIGMudHJpZ2dlcigiYWZ0ZXJyZWFkeS51ay5kb20iKSwgYy5kb21yZWFkeSA9ICEwLCBjLnN1cHBvcnQubXV0YXRpb25vYnNlcnZlcikgewogICAgICAgICAgICAgICAgdmFyIGkgPSBjLlV0aWxzLmRlYm91bmNlKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYy5pbml0KGRvY3VtZW50LmJvZHkpCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0sIDEwKTsKICAgICAgICAgICAgICAgIG5ldyBjLnN1cHBvcnQubXV0YXRpb25vYnNlcnZlcihmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSAhMTsKICAgICAgICAgICAgICAgICAgICB0LmV2ZXJ5KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCJjaGlsZExpc3QiICE9IHQudHlwZSkgcmV0dXJuICEwOwogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpLCBlID0gMDsgZSA8IHQuYWRkZWROb2Rlcy5sZW5ndGg7ICsrZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoaSA9IHQuYWRkZWROb2Rlc1tlXSkub3V0ZXJIVE1MICYmIC0xICE9PSBpLm91dGVySFRNTC5pbmRleE9mKCJkYXRhLXVrLSIpKSByZXR1cm4gKG4gPSAhMCkgJiYgITE7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhMAogICAgICAgICAgICAgICAgICAgIH0pLCBuICYmIGkoKQogICAgICAgICAgICAgICAgfSkub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7CiAgICAgICAgICAgICAgICAgICAgY2hpbGRMaXN0OiAhMCwKICAgICAgICAgICAgICAgICAgICBzdWJ0cmVlOiAhMAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0sICgiY29tcGxldGUiID09IGRvY3VtZW50LnJlYWR5U3RhdGUgfHwgImludGVyYWN0aXZlIiA9PSBkb2N1bWVudC5yZWFkeVN0YXRlKSAmJiBzZXRUaW1lb3V0KGkpLCBpKSksIGMuJGh0bWwuYWRkQ2xhc3MoYy5zdXBwb3J0LnRvdWNoID8gInVrLXRvdWNoIiA6ICJ1ay1ub3RvdWNoIiksIGMuc3VwcG9ydC50b3VjaCkgewogICAgICAgIHZhciBhLCByID0gITEsCiAgICAgICAgICAgIGQgPSAidWstaG92ZXIiLAogICAgICAgICAgICBoID0gIi51ay1vdmVybGF5LCAudWstb3ZlcmxheS1ob3ZlciwgLnVrLW92ZXJsYXktdG9nZ2xlLCAudWstYW5pbWF0aW9uLWhvdmVyLCAudWstaGFzLWhvdmVyIjsKICAgICAgICBjLiRodG1sLm9uKCJtb3VzZWVudGVyIHRvdWNoc3RhcnQgTVNQb2ludGVyRG93biBwb2ludGVyZG93biIsIGgsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICByICYmIGwoIi4iICsgZCkucmVtb3ZlQ2xhc3MoZCksIHIgPSBsKHRoaXMpLmFkZENsYXNzKGQpCiAgICAgICAgfSkub24oIm1vdXNlbGVhdmUgdG91Y2hlbmQgTVNQb2ludGVyVXAgcG9pbnRlcnVwIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICBhID0gbCh0LnRhcmdldCkucGFyZW50cyhoKSwgciAmJiByLm5vdChhKS5yZW1vdmVDbGFzcyhkKQogICAgICAgIH0pCiAgICB9CiAgICByZXR1cm4gYwp9KSwKZnVuY3Rpb24oYSkgewogICAgZnVuY3Rpb24gcigpIHsKICAgICAgICBmID0gbnVsbCwgZy5sYXN0ICYmICh2b2lkIDAgIT09IGcuZWwgJiYgZy5lbC50cmlnZ2VyKCJsb25nVGFwIiksIGcgPSB7fSkKICAgIH0KCiAgICBmdW5jdGlvbiBsKCkgewogICAgICAgIGYgJiYgY2xlYXJUaW1lb3V0KGYpLCBmID0gbnVsbAogICAgfQoKICAgIGZ1bmN0aW9uIGMoKSB7CiAgICAgICAgaCAmJiBjbGVhclRpbWVvdXQoaCksIHUgJiYgY2xlYXJUaW1lb3V0KHUpLCBwICYmIGNsZWFyVGltZW91dChwKSwgZiAmJiBjbGVhclRpbWVvdXQoZiksIGggPSB1ID0gcCA9IGYgPSBudWxsLCBnID0ge30KICAgIH0KCiAgICBmdW5jdGlvbiBkKHQpIHsKICAgICAgICByZXR1cm4gdC5wb2ludGVyVHlwZSA9PSB0Lk1TUE9JTlRFUl9UWVBFX1RPVUNIICYmIHQuaXNQcmltYXJ5CiAgICB9CiAgICBpZiAoIWEuZm4uc3dpcGVMZWZ0KSB7CiAgICAgICAgdmFyIGgsIHUsIHAsIGYsIG0sIGcgPSB7fTsKICAgICAgICBhKGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgaSwgZSwgbiwgbyA9IDAsCiAgICAgICAgICAgICAgICBzID0gMDsKICAgICAgICAgICAgIk1TR2VzdHVyZSIgaW4gd2luZG93ICYmICgobSA9IG5ldyBNU0dlc3R1cmUpLnRhcmdldCA9IGRvY3VtZW50LmJvZHkpLCBhKGRvY3VtZW50KS5vbigiTVNHZXN0dXJlRW5kIGdlc3R1cmVlbmQiLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IDEgPCB0Lm9yaWdpbmFsRXZlbnQudmVsb2NpdHlYID8gIlJpZ2h0IiA6IHQub3JpZ2luYWxFdmVudC52ZWxvY2l0eVggPCAtMSA/ICJMZWZ0IiA6IDEgPCB0Lm9yaWdpbmFsRXZlbnQudmVsb2NpdHlZID8gIkRvd24iIDogdC5vcmlnaW5hbEV2ZW50LnZlbG9jaXR5WSA8IC0xID8gIlVwIiA6IG51bGw7CiAgICAgICAgICAgICAgICBpICYmIHZvaWQgMCAhPT0gZy5lbCAmJiAoZy5lbC50cmlnZ2VyKCJzd2lwZSIpLCBnLmVsLnRyaWdnZXIoInN3aXBlIiArIGkpKQogICAgICAgICAgICB9KS5vbigidG91Y2hzdGFydCBNU1BvaW50ZXJEb3duIHBvaW50ZXJkb3duIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgKCJNU1BvaW50ZXJEb3duIiAhPSB0LnR5cGUgfHwgZCh0Lm9yaWdpbmFsRXZlbnQpKSAmJiAobiA9ICJNU1BvaW50ZXJEb3duIiA9PSB0LnR5cGUgfHwgInBvaW50ZXJkb3duIiA9PSB0LnR5cGUgPyB0IDogdC5vcmlnaW5hbEV2ZW50LnRvdWNoZXNbMF0sIGkgPSBEYXRlLm5vdygpLCBlID0gaSAtIChnLmxhc3QgfHwgaSksIGcuZWwgPSBhKCJ0YWdOYW1lIiBpbiBuLnRhcmdldCA/IG4udGFyZ2V0IDogbi50YXJnZXQucGFyZW50Tm9kZSksIGggJiYgY2xlYXJUaW1lb3V0KGgpLCBnLngxID0gbi5wYWdlWCwgZy55MSA9IG4ucGFnZVksIDAgPCBlICYmIGUgPD0gMjUwICYmIChnLmlzRG91YmxlVGFwID0gITApLCBnLmxhc3QgPSBpLCBmID0gc2V0VGltZW91dChyLCA3NTApLCB0Lm9yaWdpbmFsRXZlbnQgJiYgdC5vcmlnaW5hbEV2ZW50LnBvaW50ZXJJZCAmJiBtICYmICgiTVNQb2ludGVyRG93biIgPT0gdC50eXBlIHx8ICJwb2ludGVyZG93biIgPT0gdC50eXBlIHx8ICJ0b3VjaHN0YXJ0IiA9PSB0LnR5cGUpICYmIG0uYWRkUG9pbnRlcih0Lm9yaWdpbmFsRXZlbnQucG9pbnRlcklkKSkKICAgICAgICAgICAgfSkub24oInRvdWNobW92ZSBNU1BvaW50ZXJNb3ZlIHBvaW50ZXJtb3ZlIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgKCJNU1BvaW50ZXJNb3ZlIiAhPSB0LnR5cGUgfHwgZCh0Lm9yaWdpbmFsRXZlbnQpKSAmJiAobiA9ICJNU1BvaW50ZXJNb3ZlIiA9PSB0LnR5cGUgfHwgInBvaW50ZXJtb3ZlIiA9PSB0LnR5cGUgPyB0IDogdC5vcmlnaW5hbEV2ZW50LnRvdWNoZXNbMF0sIGwoKSwgZy54MiA9IG4ucGFnZVgsIGcueTIgPSBuLnBhZ2VZLCBvICs9IE1hdGguYWJzKGcueDEgLSBnLngyKSwgcyArPSBNYXRoLmFicyhnLnkxIC0gZy55MikpCiAgICAgICAgICAgIH0pLm9uKCJ0b3VjaGVuZCBNU1BvaW50ZXJVcCBwb2ludGVydXAiLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAoIk1TUG9pbnRlclVwIiAhPSB0LnR5cGUgfHwgZCh0Lm9yaWdpbmFsRXZlbnQpKSAmJiAobCgpLCBnLngyICYmIDMwIDwgTWF0aC5hYnMoZy54MSAtIGcueDIpIHx8IGcueTIgJiYgMzAgPCBNYXRoLmFicyhnLnkxIC0gZy55MikgPyBwID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCwgaSwgZSwgbjsKICAgICAgICAgICAgICAgICAgICB2b2lkIDAgIT09IGcuZWwgJiYgKGcuZWwudHJpZ2dlcigic3dpcGUiKSwgZy5lbC50cmlnZ2VyKCJzd2lwZSIgKyAodCA9IGcueDEsIGkgPSBnLngyLCBlID0gZy55MSwgbiA9IGcueTIsIE1hdGguYWJzKHQgLSBpKSA+PSBNYXRoLmFicyhlIC0gbikgPyAwIDwgdCAtIGkgPyAiTGVmdCIgOiAiUmlnaHQiIDogMCA8IGUgLSBuID8gIlVwIiA6ICJEb3duIikpKSwgZyA9IHt9CiAgICAgICAgICAgICAgICB9LCAwKSA6ICJsYXN0IiBpbiBnICYmIChpc05hTihvKSB8fCBvIDwgMzAgJiYgcyA8IDMwID8gdSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBhLkV2ZW50KCJ0YXAiKTsKICAgICAgICAgICAgICAgICAgICB0LmNhbmNlbFRvdWNoID0gYywgdm9pZCAwICE9PSBnLmVsICYmIGcuZWwudHJpZ2dlcih0KSwgZy5pc0RvdWJsZVRhcCA/ICh2b2lkIDAgIT09IGcuZWwgJiYgZy5lbC50cmlnZ2VyKCJkb3VibGVUYXAiKSwgZyA9IHt9KSA6IGggPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBoID0gbnVsbCwgdm9pZCAwICE9PSBnLmVsICYmIGcuZWwudHJpZ2dlcigic2luZ2xlVGFwIiksIGcgPSB7fQogICAgICAgICAgICAgICAgICAgIH0sIDI1MCkKICAgICAgICAgICAgICAgIH0sIDApIDogZyA9IHt9LCBvID0gcyA9IDApKQogICAgICAgICAgICB9KS5vbigidG91Y2hjYW5jZWwgTVNQb2ludGVyQ2FuY2VsIHBvaW50ZXJjYW5jZWwiLCBjKSwgYSh3aW5kb3cpLm9uKCJzY3JvbGwiLCBjKQogICAgICAgIH0pLCBbInN3aXBlIiwgInN3aXBlTGVmdCIsICJzd2lwZVJpZ2h0IiwgInN3aXBlVXAiLCAic3dpcGVEb3duIiwgImRvdWJsZVRhcCIsICJ0YXAiLCAic2luZ2xlVGFwIiwgImxvbmdUYXAiXS5mb3JFYWNoKGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgYS5mbltpXSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiBhKHRoaXMpLm9uKGksIHQpCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgfQp9KGpRdWVyeSksCmZ1bmN0aW9uKHMpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBuLCBpLCBlLCBvID0gW107CiAgICBzLmNvbXBvbmVudCgic3RhY2tNYXJnaW4iLCB7CiAgICAgICAgZGVmYXVsdHM6IHsKICAgICAgICAgICAgY2xzOiAidWstbWFyZ2luLXNtYWxsLXRvcCIsCiAgICAgICAgICAgIHJvd2ZpcnN0OiAhMSwKICAgICAgICAgICAgb2JzZXJ2ZTogITEKICAgICAgICB9LAogICAgICAgIGJvb3Q6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBzLnJlYWR5KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHMuJCgiW2RhdGEtdWstbWFyZ2luXSIsIHQpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBzLiQodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgdC5kYXRhKCJzdGFja01hcmdpbiIpIHx8IHMuc3RhY2tNYXJnaW4odCwgcy5VdGlscy5vcHRpb25zKHQuYXR0cigiZGF0YS11ay1tYXJnaW4iKSkpCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0LCBpID0gdGhpczsKICAgICAgICAgICAgcy4kd2luLm9uKCJyZXNpemUgb3JpZW50YXRpb25jaGFuZ2UiLCAodCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgaS5wcm9jZXNzKCkKICAgICAgICAgICAgfSwgcy4kKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdCgpLCBzLiR3aW4ub24oImxvYWQiLCB0KQogICAgICAgICAgICB9KSwgcy5VdGlscy5kZWJvdW5jZSh0LCAyMCkpKSwgdGhpcy5vbigiZGlzcGxheS51ay5jaGVjayIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmlzKCI6dmlzaWJsZSIpICYmIHRoaXMucHJvY2VzcygpCiAgICAgICAgICAgIH0uYmluZCh0aGlzKSksIHRoaXMub3B0aW9ucy5vYnNlcnZlICYmIHMuZG9tT2JzZXJ2ZSh0aGlzLmVsZW1lbnQsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgaS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpICYmIGkucHJvY2VzcygpCiAgICAgICAgICAgIH0pLCBvLnB1c2godGhpcykKICAgICAgICB9LAogICAgICAgIHByb2Nlc3M6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuZWxlbWVudC5jaGlsZHJlbigpOwogICAgICAgICAgICBpZiAocy5VdGlscy5zdGFja01hcmdpbih0LCB0aGlzLm9wdGlvbnMpLCAhdGhpcy5vcHRpb25zLnJvd2ZpcnN0IHx8ICF0Lmxlbmd0aCkgcmV0dXJuIHRoaXM7CiAgICAgICAgICAgIHZhciBlID0ge30sCiAgICAgICAgICAgICAgICBuID0gITE7CiAgICAgICAgICAgIHJldHVybiB0LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5yb3dmaXJzdCkuZWFjaChmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgICAgICBpID0gcy4kKHRoaXMpLCAibm9uZSIgIT0gdGhpcy5zdHlsZS5kaXNwbGF5ICYmICh0ID0gaS5vZmZzZXQoKS5sZWZ0LCAoKGVbdF0gPSBlW3RdIHx8IFtdKSAmJiBlW3RdKS5wdXNoKHRoaXMpLCBuID0gITEgPT09IG4gPyB0IDogTWF0aC5taW4obiwgdCkpCiAgICAgICAgICAgIH0pLCBzLiQoZVtuXSkuYWRkQ2xhc3ModGhpcy5vcHRpb25zLnJvd2ZpcnN0KSwgdGhpcwogICAgICAgIH0KICAgIH0pLCBpID0gW10sIGUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgaWYgKHQuaXMoIjp2aXNpYmxlIikpIHsKICAgICAgICAgICAgdmFyIGkgPSB0LnBhcmVudCgpLndpZHRoKCksCiAgICAgICAgICAgICAgICBlID0gdC5kYXRhKCJ3aWR0aCIpLAogICAgICAgICAgICAgICAgbiA9IGkgLyBlLAogICAgICAgICAgICAgICAgbyA9IE1hdGguZmxvb3IobiAqIHQuZGF0YSgiaGVpZ2h0IikpOwogICAgICAgICAgICB0LmNzcyh7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IGkgPCBlID8gbyA6IHQuZGF0YSgiaGVpZ2h0IikKICAgICAgICAgICAgfSkKICAgICAgICB9CiAgICB9LCBzLmNvbXBvbmVudCgicmVzcG9uc2l2ZUVsZW1lbnQiLCB7CiAgICAgICAgZGVmYXVsdHM6IHt9LAogICAgICAgIGJvb3Q6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBzLnJlYWR5KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHMuJCgiaWZyYW1lLnVrLXJlc3BvbnNpdmUtd2lkdGgsIFtkYXRhLXVrLXJlc3BvbnNpdmVdIiwgdCkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHMuJCh0aGlzKTsKICAgICAgICAgICAgICAgICAgICB0LmRhdGEoInJlc3BvbnNpdmVFbGVtZW50IikgfHwgcy5yZXNwb25zaXZlRWxlbWVudCh0LCB7fSkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmVsZW1lbnQ7CiAgICAgICAgICAgIHQuYXR0cigid2lkdGgiKSAmJiB0LmF0dHIoImhlaWdodCIpICYmICh0LmRhdGEoewogICAgICAgICAgICAgICAgd2lkdGg6IHQuYXR0cigid2lkdGgiKSwKICAgICAgICAgICAgICAgIGhlaWdodDogdC5hdHRyKCJoZWlnaHQiKQogICAgICAgICAgICB9KS5vbigiZGlzcGxheS51ay5jaGVjayIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZSh0KQogICAgICAgICAgICB9KSwgZSh0KSwgaS5wdXNoKHQpKQogICAgICAgIH0KICAgIH0pLCBzLiR3aW4ub24oInJlc2l6ZSBsb2FkIiwgcy5VdGlscy5kZWJvdW5jZShmdW5jdGlvbigpIHsKICAgICAgICBpLmZvckVhY2goZnVuY3Rpb24odCkgewogICAgICAgICAgICBlKHQpCiAgICAgICAgfSkKICAgIH0sIDE1KSksIHMuVXRpbHMuc3RhY2tNYXJnaW4gPSBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgaSA9IHMuJC5leHRlbmQoewogICAgICAgICAgICBjbHM6ICJ1ay1tYXJnaW4tc21hbGwtdG9wIgogICAgICAgIH0sIGkpLCB0ID0gcy4kKHQpLnJlbW92ZUNsYXNzKGkuY2xzKTsKICAgICAgICB2YXIgbyA9ICExOwogICAgICAgIHQuZWFjaChmdW5jdGlvbih0LCBpLCBlLCBuKSB7CiAgICAgICAgICAgICJub25lIiAhPSAobiA9IHMuJCh0aGlzKSkuY3NzKCJkaXNwbGF5IikgJiYgKHQgPSBuLm9mZnNldCgpLCBpID0gbi5vdXRlckhlaWdodCgpLCBlID0gdC50b3AgKyBpLCBuLmRhdGEoewogICAgICAgICAgICAgICAgdWtNYXJnaW5Qb3M6IGUsCiAgICAgICAgICAgICAgICB1a01hcmdpblRvcDogdC50b3AKICAgICAgICAgICAgfSksICghMSA9PT0gbyB8fCB0LnRvcCA8IG8udG9wKSAmJiAobyA9IHsKICAgICAgICAgICAgICAgIHRvcDogdC50b3AsCiAgICAgICAgICAgICAgICBsZWZ0OiB0LmxlZnQsCiAgICAgICAgICAgICAgICBwb3M6IGUKICAgICAgICAgICAgfSkpCiAgICAgICAgfSkuZWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICJub25lIiAhPSAodCA9IHMuJCh0aGlzKSkuY3NzKCJkaXNwbGF5IikgJiYgdC5kYXRhKCJ1a01hcmdpblRvcCIpID4gby50b3AgJiYgdC5kYXRhKCJ1a01hcmdpblBvcyIpID4gby5wb3MgJiYgdC5hZGRDbGFzcyhpLmNscykKICAgICAgICB9KQogICAgfSwgcy5VdGlscy5tYXRjaEhlaWdodHMgPSBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgdCA9IHMuJCh0KS5jc3MoIm1pbi1oZWlnaHQiLCAiIiksIGkgPSBzLiQuZXh0ZW5kKHsKICAgICAgICAgICAgcm93OiAhMAogICAgICAgIH0sIGkpOwogICAgICAgIHZhciBvID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICBpZiAoISh0Lmxlbmd0aCA8IDIpKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IDA7CiAgICAgICAgICAgICAgICB0LmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgZSA9IE1hdGgubWF4KGUsIHMuJCh0aGlzKS5vdXRlckhlaWdodCgpKQogICAgICAgICAgICAgICAgfSkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHMuJCh0aGlzKSwKICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGUgLSAoImJvcmRlci1ib3giID09IHQuY3NzKCJib3gtc2l6aW5nIikgPyAwIDogdC5vdXRlckhlaWdodCgpIC0gdC5oZWlnaHQoKSk7CiAgICAgICAgICAgICAgICAgICAgdC5jc3MoIm1pbi1oZWlnaHQiLCBpICsgInB4IikKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICB9OwogICAgICAgIGkucm93ID8gKHQuZmlyc3QoKS53aWR0aCgpLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZSA9ICExLAogICAgICAgICAgICAgICAgbiA9IFtdOwogICAgICAgICAgICB0LmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IHMuJCh0aGlzKSwKICAgICAgICAgICAgICAgICAgICBpID0gdC5vZmZzZXQoKS50b3A7CiAgICAgICAgICAgICAgICBpICE9IGUgJiYgbi5sZW5ndGggJiYgKG8ocy4kKG4pKSwgbiA9IFtdLCBpID0gdC5vZmZzZXQoKS50b3ApLCBuLnB1c2godCksIGUgPSBpCiAgICAgICAgICAgIH0pLCBuLmxlbmd0aCAmJiBvKHMuJChuKSkKICAgICAgICB9LCAwKSkgOiBvKHQpCiAgICB9LCBuID0ge30sIHMuVXRpbHMuaW5saW5lU3ZnID0gZnVuY3Rpb24odCwgaSkgewogICAgICAgIHMuJCh0IHx8ICdpbWdbc3JjJD0iLnN2ZyJdJywgaSB8fCBkb2N1bWVudCkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGUgPSBzLiQodGhpcyksCiAgICAgICAgICAgICAgICB0ID0gZS5hdHRyKCJzcmMiKTsKICAgICAgICAgICAgaWYgKCFuW3RdKSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IHMuJC5EZWZlcnJlZCgpOwogICAgICAgICAgICAgICAgcy4kLmdldCh0LCB7CiAgICAgICAgICAgICAgICAgICAgbmM6IE1hdGgucmFuZG9tKCkKICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICBpLnJlc29sdmUocy4kKHQpLmZpbmQoInN2ZyIpKQogICAgICAgICAgICAgICAgfSksIG5bdF0gPSBpLnByb21pc2UoKQogICAgICAgICAgICB9CiAgICAgICAgICAgIG5bdF0udGhlbihmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IHMuJCh0KS5jbG9uZSgpOwogICAgICAgICAgICAgICAgZS5hdHRyKCJpZCIpICYmIGkuYXR0cigiaWQiLCBlLmF0dHIoImlkIikpLCBlLmF0dHIoImNsYXNzIikgJiYgaS5hdHRyKCJjbGFzcyIsIGUuYXR0cigiY2xhc3MiKSksIGUuYXR0cigic3R5bGUiKSAmJiBpLmF0dHIoInN0eWxlIiwgZS5hdHRyKCJzdHlsZSIpKSwgZS5hdHRyKCJ3aWR0aCIpICYmIChpLmF0dHIoIndpZHRoIiwgZS5hdHRyKCJ3aWR0aCIpKSwgZS5hdHRyKCJoZWlnaHQiKSB8fCBpLnJlbW92ZUF0dHIoImhlaWdodCIpKSwgZS5hdHRyKCJoZWlnaHQiKSAmJiAoaS5hdHRyKCJoZWlnaHQiLCBlLmF0dHIoImhlaWdodCIpKSwgZS5hdHRyKCJ3aWR0aCIpIHx8IGkucmVtb3ZlQXR0cigid2lkdGgiKSksIGUucmVwbGFjZVdpdGgoaSkKICAgICAgICAgICAgfSkKICAgICAgICB9KQogICAgfSwgcy5yZWFkeShmdW5jdGlvbih0KSB7CiAgICAgICAgcy5VdGlscy5pbmxpbmVTdmcoIltkYXRhLXVrLXN2Z10iLCB0KQogICAgfSksIHMuVXRpbHMuZ2V0Q3NzVmFyID0gZnVuY3Rpb24odCkgewogICAgICAgIHZhciBpLCBlID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LAogICAgICAgICAgICBuID0gZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7CiAgICAgICAgbi5jbGFzc0xpc3QuYWRkKCJ2YXItIiArIHQpOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGkgPSBKU09OLnBhcnNlKGkgPSBnZXRDb21wdXRlZFN0eWxlKG4sICI6YmVmb3JlIikuY29udGVudC5yZXBsYWNlKC9eWyInXSguKilbIiddJC8sICIkMSIpKQogICAgICAgIH0gY2F0Y2ggKHQpIHsKICAgICAgICAgICAgaSA9IHZvaWQgMAogICAgICAgIH0KICAgICAgICByZXR1cm4gZS5yZW1vdmVDaGlsZChuKSwgaQogICAgfQp9KFVJa2l0KSwKZnVuY3Rpb24ocykgewogICAgInVzZSBzdHJpY3QiOwoKICAgIGZ1bmN0aW9uIGUodCwgaSkgewogICAgICAgIGkgPSBzLiQuZXh0ZW5kKHsKICAgICAgICAgICAgZHVyYXRpb246IDFlMywKICAgICAgICAgICAgdHJhbnNpdGlvbjogImVhc2VPdXRFeHBvIiwKICAgICAgICAgICAgb2Zmc2V0OiAwLAogICAgICAgICAgICBjb21wbGV0ZTogZnVuY3Rpb24oKSB7fQogICAgICAgIH0sIGkpOwogICAgICAgIHZhciBlID0gdC5vZmZzZXQoKS50b3AgLSBpLm9mZnNldCwKICAgICAgICAgICAgbiA9IHMuJGRvYy5oZWlnaHQoKSwKICAgICAgICAgICAgbyA9IHdpbmRvdy5pbm5lckhlaWdodDsKICAgICAgICBuIDwgZSArIG8gJiYgKGUgPSBuIC0gbyksIHMuJCgiaHRtbCxib2R5Iikuc3RvcCgpLmFuaW1hdGUoewogICAgICAgICAgICBzY3JvbGxUb3A6IGUKICAgICAgICB9LCBpLmR1cmF0aW9uLCBpLnRyYW5zaXRpb24pLnByb21pc2UoKS5kb25lKGkuY29tcGxldGUpCiAgICB9CiAgICBzLmNvbXBvbmVudCgic21vb3RoU2Nyb2xsIiwgewogICAgICAgIGJvb3Q6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBzLiRodG1sLm9uKCJjbGljay5zbW9vdGgtc2Nyb2xsLnVpa2l0IiwgIltkYXRhLXVrLXNtb290aC1zY3JvbGxdIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IHMuJCh0aGlzKTsKICAgICAgICAgICAgICAgIHJldHVybiB0LmRhdGEoInNtb290aFNjcm9sbCIpIHx8IChzLnNtb290aFNjcm9sbCh0LCBzLlV0aWxzLm9wdGlvbnModC5hdHRyKCJkYXRhLXVrLXNtb290aC1zY3JvbGwiKSkpLCB0LnRyaWdnZXIoImNsaWNrIikpLCAhMQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpczsKICAgICAgICAgICAgdGhpcy5vbigiY2xpY2siLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0LnByZXZlbnREZWZhdWx0KCksIGUocy4kKHRoaXMuaGFzaCkubGVuZ3RoID8gcy4kKHRoaXMuaGFzaCkgOiBzLiQoImJvZHkiKSwgaS5vcHRpb25zKQogICAgICAgICAgICB9KQogICAgICAgIH0KICAgIH0pLCBzLlV0aWxzLnNjcm9sbFRvRWxlbWVudCA9IGUsIHMuJC5lYXNpbmcuZWFzZU91dEV4cG8gfHwgKHMuJC5lYXNpbmcuZWFzZU91dEV4cG8gPSBmdW5jdGlvbih0LCBpLCBlLCBuLCBvKSB7CiAgICAgICAgcmV0dXJuIGkgPT0gbyA/IGUgKyBuIDogbiAqICgxIC0gTWF0aC5wb3coMiwgLTEwICogaSAvIG8pKSArIGUKICAgIH0pCn0oVUlraXQpLApmdW5jdGlvbihkKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICB2YXIgaCA9IGQuJHdpbiwKICAgICAgICB0ID0gZC4kZG9jLAogICAgICAgIGkgPSBbXSwKICAgICAgICBlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZvciAodmFyIHQgPSAwOyB0IDwgaS5sZW5ndGg7IHQrKykgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5hcHBseSh3aW5kb3csIFtpW3RdLmNoZWNrXSkKICAgICAgICB9OwogICAgZC5jb21wb25lbnQoInNjcm9sbHNweSIsIHsKICAgICAgICBkZWZhdWx0czogewogICAgICAgICAgICB0YXJnZXQ6ICExLAogICAgICAgICAgICBjbHM6ICJ1ay1zY3JvbGxzcHktaW52aWV3IiwKICAgICAgICAgICAgaW5pdGNsczogInVrLXNjcm9sbHNweS1pbml0LWludmlldyIsCiAgICAgICAgICAgIHRvcG9mZnNldDogMCwKICAgICAgICAgICAgbGVmdG9mZnNldDogMCwKICAgICAgICAgICAgcmVwZWF0OiAhMSwKICAgICAgICAgICAgZGVsYXk6IDAKICAgICAgICB9LAogICAgICAgIGJvb3Q6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0Lm9uKCJzY3JvbGxpbmcudWsuZG9jdW1lbnQiLCBlKSwgaC5vbigibG9hZCByZXNpemUgb3JpZW50YXRpb25jaGFuZ2UiLCBkLlV0aWxzLmRlYm91bmNlKGUsIDUwKSksIGQucmVhZHkoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgZC4kKCJbZGF0YS11ay1zY3JvbGxzcHldIiwgdCkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGQuJCh0aGlzKTsKICAgICAgICAgICAgICAgICAgICB0LmRhdGEoInNjcm9sbHNweSIpIHx8IGQuc2Nyb2xsc3B5KHQsIGQuVXRpbHMub3B0aW9ucyh0LmF0dHIoImRhdGEtdWstc2Nyb2xsc3B5IikpKQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIGluaXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgYSwgciA9IHRoaXMsCiAgICAgICAgICAgICAgICBsID0gdGhpcy5vcHRpb25zLmNscy5zcGxpdCgvLC8pLAogICAgICAgICAgICAgICAgdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gci5vcHRpb25zLnRhcmdldCA/IHIuZWxlbWVudC5maW5kKHIub3B0aW9ucy50YXJnZXQpIDogci5lbGVtZW50LAogICAgICAgICAgICAgICAgICAgICAgICBvID0gMSA9PT0gdC5sZW5ndGggPyAxIDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgcyA9IDA7CiAgICAgICAgICAgICAgICAgICAgdC5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGQuJCh0aGlzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSB0LmRhdGEoImludmlld3N0YXRlIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlID0gZC5VdGlscy5pc0luVmlldyh0LCByLm9wdGlvbnMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbiA9IHQuZGF0YSgidWtTY3JvbGxzcHlDbHMiKSB8fCBsW3NdLnRyaW0oKTsKICAgICAgICAgICAgICAgICAgICAgICAgIWUgfHwgaSB8fCB0LmRhdGEoInNjcm9sbHNweS1pZGxlIikgfHwgKGEgfHwgKHQuYWRkQ2xhc3Moci5vcHRpb25zLmluaXRjbHMpLCByLm9mZnNldCA9IHQub2Zmc2V0KCksIGEgPSAhMCwgdC50cmlnZ2VyKCJpbml0LnVrLnNjcm9sbHNweSIpKSwgdC5kYXRhKCJzY3JvbGxzcHktaWRsZSIsIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0LmFkZENsYXNzKCJ1ay1zY3JvbGxzcHktaW52aWV3IikudG9nZ2xlQ2xhc3Mobikud2lkdGgoKSwgdC50cmlnZ2VyKCJpbnZpZXcudWsuc2Nyb2xsc3B5IiksIHQuZGF0YSgic2Nyb2xsc3B5LWlkbGUiLCAhMSksIHQuZGF0YSgiaW52aWV3c3RhdGUiLCAhMCkKICAgICAgICAgICAgICAgICAgICAgICAgfSwgci5vcHRpb25zLmRlbGF5ICogbykpLCBvKyspLCAhZSAmJiBpICYmIHIub3B0aW9ucy5yZXBlYXQgJiYgKHQuZGF0YSgic2Nyb2xsc3B5LWlkbGUiKSAmJiAoY2xlYXJUaW1lb3V0KHQuZGF0YSgic2Nyb2xsc3B5LWlkbGUiKSksIHQuZGF0YSgic2Nyb2xsc3B5LWlkbGUiLCAhMSkpLCB0LnJlbW92ZUNsYXNzKCJ1ay1zY3JvbGxzcHktaW52aWV3IikudG9nZ2xlQ2xhc3MobiksIHQuZGF0YSgiaW52aWV3c3RhdGUiLCAhMSksIHQudHJpZ2dlcigib3V0dmlldy51ay5zY3JvbGxzcHkiKSksIHMgPSBsW3MgKyAxXSA/IHMgKyAxIDogMAogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB0KCksIHRoaXMuY2hlY2sgPSB0LCBpLnB1c2godGhpcykKICAgICAgICB9CiAgICB9KTsKICAgIHZhciBuID0gW10sCiAgICAgICAgbyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmb3IgKHZhciB0ID0gMDsgdCA8IG4ubGVuZ3RoOyB0KyspIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYXBwbHkod2luZG93LCBbblt0XS5jaGVja10pCiAgICAgICAgfTsKICAgIGQuY29tcG9uZW50KCJzY3JvbGxzcHluYXYiLCB7CiAgICAgICAgZGVmYXVsdHM6IHsKICAgICAgICAgICAgY2xzOiAidWstYWN0aXZlIiwKICAgICAgICAgICAgY2xvc2VzdDogITEsCiAgICAgICAgICAgIHRvcG9mZnNldDogMCwKICAgICAgICAgICAgbGVmdG9mZnNldDogMCwKICAgICAgICAgICAgc21vb3Roc2Nyb2xsOiAhMQogICAgICAgIH0sCiAgICAgICAgYm9vdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHQub24oInNjcm9sbGluZy51ay5kb2N1bWVudCIsIG8pLCBoLm9uKCJyZXNpemUgb3JpZW50YXRpb25jaGFuZ2UiLCBkLlV0aWxzLmRlYm91bmNlKG8sIDUwKSksIGQucmVhZHkoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgZC4kKCJbZGF0YS11ay1zY3JvbGxzcHktbmF2XSIsIHQpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBkLiQodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgdC5kYXRhKCJzY3JvbGxzcHluYXYiKSB8fCBkLnNjcm9sbHNweW5hdih0LCBkLlV0aWxzLm9wdGlvbnModC5hdHRyKCJkYXRhLXVrLXNjcm9sbHNweS1uYXYiKSkpCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBvLCB0ID0gW10sCiAgICAgICAgICAgICAgICBzID0gdGhpcy5maW5kKCJhW2hyZWZePScjJ10iKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICIjIiAhPT0gdGhpcy5nZXRBdHRyaWJ1dGUoImhyZWYiKS50cmltKCkgJiYgdC5wdXNoKHRoaXMuZ2V0QXR0cmlidXRlKCJocmVmIikpCiAgICAgICAgICAgICAgICB9KSwKICAgICAgICAgICAgICAgIGEgPSBkLiQodC5qb2luKCIsIikpLAogICAgICAgICAgICAgICAgciA9IHRoaXMub3B0aW9ucy5jbHMsCiAgICAgICAgICAgICAgICBsID0gdGhpcy5vcHRpb25zLmNsb3Nlc3QgfHwgdGhpcy5vcHRpb25zLmNsb3Nlc3QsCiAgICAgICAgICAgICAgICBjID0gdGhpcywKICAgICAgICAgICAgICAgIGkgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBvID0gW107CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgdCA9IDA7IHQgPCBhLmxlbmd0aDsgdCsrKSBkLlV0aWxzLmlzSW5WaWV3KGEuZXEodCksIGMub3B0aW9ucykgJiYgby5wdXNoKGEuZXEodCkpOwogICAgICAgICAgICAgICAgICAgIGlmIChvLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgaSwgZSA9IGguc2Nyb2xsVG9wKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgdCA9IDA7IHQgPCBvLmxlbmd0aDsgdCsrKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob1t0XS5vZmZzZXQoKS50b3AgLSBjLm9wdGlvbnMudG9wb2Zmc2V0ID49IGUpIHJldHVybiBvW3RdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbikgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICBpID0gYy5vcHRpb25zLmNsb3Nlc3QgPyAocy5ibHVyKCkuY2xvc2VzdChsKS5yZW1vdmVDbGFzcyhyKSwgcy5maWx0ZXIoImFbaHJlZj0nIyIgKyBuLmF0dHIoImlkIikgKyAiJ10iKS5jbG9zZXN0KGwpLmFkZENsYXNzKHIpKSA6IHMucmVtb3ZlQ2xhc3MocikuZmlsdGVyKCJhW2hyZWY9JyMiICsgbi5hdHRyKCJpZCIpICsgIiddIikuYWRkQ2xhc3MociksIGMuZWxlbWVudC50cmlnZ2VyKCJpbnZpZXcudWsuc2Nyb2xsc3B5bmF2IiwgW24sIGldKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5zbW9vdGhzY3JvbGwgJiYgZC5zbW9vdGhTY3JvbGwgJiYgcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZC5zbW9vdGhTY3JvbGwodGhpcywgYy5vcHRpb25zLnNtb290aHNjcm9sbCkKICAgICAgICAgICAgfSksIGkoKSwgdGhpcy5lbGVtZW50LmRhdGEoInNjcm9sbHNweW5hdiIsIHRoaXMpLCB0aGlzLmNoZWNrID0gaSwgbi5wdXNoKHRoaXMpCiAgICAgICAgfQogICAgfSkKfShVSWtpdCksCmZ1bmN0aW9uKG4pIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBlID0gW107CiAgICBuLmNvbXBvbmVudCgidG9nZ2xlIiwgewogICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgIHRhcmdldDogITEsCiAgICAgICAgICAgIGNsczogInVrLWhpZGRlbiIsCiAgICAgICAgICAgIGFuaW1hdGlvbjogITEsCiAgICAgICAgICAgIGR1cmF0aW9uOiAyMDAKICAgICAgICB9LAogICAgICAgIGJvb3Q6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBuLnJlYWR5KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIG4uJCgiW2RhdGEtdWstdG9nZ2xlXSIsIHQpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBuLiQodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgdC5kYXRhKCJ0b2dnbGUiKSB8fCBuLnRvZ2dsZSh0LCBuLlV0aWxzLm9wdGlvbnModC5hdHRyKCJkYXRhLXVrLXRvZ2dsZSIpKSkKICAgICAgICAgICAgICAgIH0pLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGUuZm9yRWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHQuZ2V0VG9nZ2xlcygpCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0sIDApCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzOwogICAgICAgICAgICB0aGlzLmFyaWEgPSAtMSAhPT0gdGhpcy5vcHRpb25zLmNscy5pbmRleE9mKCJ1ay1oaWRkZW4iKSwgdGhpcy5vbigiY2xpY2siLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBpLmVsZW1lbnQuaXMoJ2FbaHJlZj0iIyJdJykgJiYgdC5wcmV2ZW50RGVmYXVsdCgpLCBpLnRvZ2dsZSgpCiAgICAgICAgICAgIH0pLCBlLnB1c2godGhpcykKICAgICAgICB9LAogICAgICAgIHRvZ2dsZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmICh0aGlzLmdldFRvZ2dsZXMoKSwgdGhpcy50b3RvZ2dsZS5sZW5ndGgpIHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYW5pbWF0aW9uICYmIG4uc3VwcG9ydC5hbmltYXRpb24pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgICAgIGUgPSB0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLnNwbGl0KCIsIik7CiAgICAgICAgICAgICAgICAgICAgMSA9PSBlLmxlbmd0aCAmJiAoZVsxXSA9IGVbMF0pLCBlWzBdID0gZVswXS50cmltKCksIGVbMV0gPSBlWzFdLnRyaW0oKSwgdGhpcy50b3RvZ2dsZS5jc3MoImFuaW1hdGlvbi1kdXJhdGlvbiIsIHRoaXMub3B0aW9ucy5kdXJhdGlvbiArICJtcyIpLCB0aGlzLnRvdG9nZ2xlLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ID0gbi4kKHRoaXMpOwogICAgICAgICAgICAgICAgICAgICAgICB0Lmhhc0NsYXNzKGkub3B0aW9ucy5jbHMpID8gKHQudG9nZ2xlQ2xhc3MoaS5vcHRpb25zLmNscyksIG4uVXRpbHMuYW5pbWF0ZSh0LCBlWzBdKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdC5jc3MoImFuaW1hdGlvbi1kdXJhdGlvbiIsICIiKSwgbi5VdGlscy5jaGVja0Rpc3BsYXkodCkKICAgICAgICAgICAgICAgICAgICAgICAgfSkpIDogbi5VdGlscy5hbmltYXRlKHRoaXMsIGVbMV0gKyAiIHVrLWFuaW1hdGlvbi1yZXZlcnNlIikudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQudG9nZ2xlQ2xhc3MoaS5vcHRpb25zLmNscykuY3NzKCJhbmltYXRpb24tZHVyYXRpb24iLCAiIiksIG4uVXRpbHMuY2hlY2tEaXNwbGF5KHQpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0gZWxzZSB0aGlzLnRvdG9nZ2xlLnRvZ2dsZUNsYXNzKHRoaXMub3B0aW9ucy5jbHMpLCBuLlV0aWxzLmNoZWNrRGlzcGxheSh0aGlzLnRvdG9nZ2xlKTsKICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQXJpYSgpCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdldFRvZ2dsZXM6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0aGlzLnRvdG9nZ2xlID0gdGhpcy5vcHRpb25zLnRhcmdldCA/IG4uJCh0aGlzLm9wdGlvbnMudGFyZ2V0KSA6IFtdLCB0aGlzLnVwZGF0ZUFyaWEoKQogICAgICAgIH0sCiAgICAgICAgdXBkYXRlQXJpYTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRoaXMuYXJpYSAmJiB0aGlzLnRvdG9nZ2xlLmxlbmd0aCAmJiB0aGlzLnRvdG9nZ2xlLm5vdCgiW2FyaWEtaGlkZGVuXSIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBuLiQodGhpcykuYXR0cigiYXJpYS1oaWRkZW4iLCBuLiQodGhpcykuaGFzQ2xhc3MoInVrLWhpZGRlbiIpKQogICAgICAgICAgICB9KQogICAgICAgIH0KICAgIH0pCn0oVUlraXQpLApmdW5jdGlvbihuKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICBuLmNvbXBvbmVudCgiYWxlcnQiLCB7CiAgICAgICAgZGVmYXVsdHM6IHsKICAgICAgICAgICAgZmFkZTogITAsCiAgICAgICAgICAgIGR1cmF0aW9uOiAyMDAsCiAgICAgICAgICAgIHRyaWdnZXI6ICIudWstYWxlcnQtY2xvc2UiCiAgICAgICAgfSwKICAgICAgICBib290OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgbi4kaHRtbC5vbigiY2xpY2suYWxlcnQudWlraXQiLCAiW2RhdGEtdWstYWxlcnRdIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGkgPSBuLiQodGhpcyk7CiAgICAgICAgICAgICAgICBpZiAoIWkuZGF0YSgiYWxlcnQiKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gbi5hbGVydChpLCBuLlV0aWxzLm9wdGlvbnMoaS5hdHRyKCJkYXRhLXVrLWFsZXJ0IikpKTsKICAgICAgICAgICAgICAgICAgICBuLiQodC50YXJnZXQpLmlzKGUub3B0aW9ucy50cmlnZ2VyKSAmJiAodC5wcmV2ZW50RGVmYXVsdCgpLCBlLmNsb3NlKCkpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzOwogICAgICAgICAgICB0aGlzLm9uKCJjbGljayIsIHRoaXMub3B0aW9ucy50cmlnZ2VyLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0LnByZXZlbnREZWZhdWx0KCksIGkuY2xvc2UoKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgY2xvc2U6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMudHJpZ2dlcigiY2xvc2UudWsuYWxlcnQiKSwKICAgICAgICAgICAgICAgIGkgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLnRyaWdnZXIoImNsb3NlZC51ay5hbGVydCIpLnJlbW92ZSgpCiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyk7CiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5mYWRlID8gdC5jc3MoIm92ZXJmbG93IiwgImhpZGRlbiIpLmNzcygibWF4LWhlaWdodCIsIHQuaGVpZ2h0KCkpLmFuaW1hdGUoewogICAgICAgICAgICAgICAgaGVpZ2h0OiAwLAogICAgICAgICAgICAgICAgb3BhY2l0eTogMCwKICAgICAgICAgICAgICAgIHBhZGRpbmdUb3A6IDAsCiAgICAgICAgICAgICAgICBwYWRkaW5nQm90dG9tOiAwLAogICAgICAgICAgICAgICAgbWFyZ2luVG9wOiAwLAogICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAwCiAgICAgICAgICAgIH0sIHRoaXMub3B0aW9ucy5kdXJhdGlvbiwgaSkgOiBpKCkKICAgICAgICB9CiAgICB9KQp9KFVJa2l0KSwKZnVuY3Rpb24obykgewogICAgInVzZSBzdHJpY3QiOwogICAgby5jb21wb25lbnQoImJ1dHRvblJhZGlvIiwgewogICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgIGFjdGl2ZUNsYXNzOiAidWstYWN0aXZlIiwKICAgICAgICAgICAgdGFyZ2V0OiAiLnVrLWJ1dHRvbiIKICAgICAgICB9LAogICAgICAgIGJvb3Q6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBvLiRodG1sLm9uKCJjbGljay5idXR0b25yYWRpby51aWtpdCIsICJbZGF0YS11ay1idXR0b24tcmFkaW9dIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGkgPSBvLiQodGhpcyk7CiAgICAgICAgICAgICAgICBpZiAoIWkuZGF0YSgiYnV0dG9uUmFkaW8iKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gby5idXR0b25SYWRpbyhpLCBvLlV0aWxzLm9wdGlvbnMoaS5hdHRyKCJkYXRhLXVrLWJ1dHRvbi1yYWRpbyIpKSksCiAgICAgICAgICAgICAgICAgICAgICAgIG4gPSBvLiQodC50YXJnZXQpOwogICAgICAgICAgICAgICAgICAgIG4uaXMoZS5vcHRpb25zLnRhcmdldCkgJiYgbi50cmlnZ2VyKCJjbGljayIpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzOwogICAgICAgICAgICB0aGlzLmZpbmQoZS5vcHRpb25zLnRhcmdldCkuYXR0cigiYXJpYS1jaGVja2VkIiwgImZhbHNlIikuZmlsdGVyKCIuIiArIGUub3B0aW9ucy5hY3RpdmVDbGFzcykuYXR0cigiYXJpYS1jaGVja2VkIiwgInRydWUiKSwgdGhpcy5vbigiY2xpY2siLCB0aGlzLm9wdGlvbnMudGFyZ2V0LCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IG8uJCh0aGlzKTsKICAgICAgICAgICAgICAgIGkuaXMoJ2FbaHJlZj0iIyJdJykgJiYgdC5wcmV2ZW50RGVmYXVsdCgpLCBlLmZpbmQoZS5vcHRpb25zLnRhcmdldCkubm90KGkpLnJlbW92ZUNsYXNzKGUub3B0aW9ucy5hY3RpdmVDbGFzcykuYmx1cigpLCBpLmFkZENsYXNzKGUub3B0aW9ucy5hY3RpdmVDbGFzcyksIGUuZmluZChlLm9wdGlvbnMudGFyZ2V0KS5ub3QoaSkuYXR0cigiYXJpYS1jaGVja2VkIiwgImZhbHNlIiksIGkuYXR0cigiYXJpYS1jaGVja2VkIiwgInRydWUiKSwgZS50cmlnZ2VyKCJjaGFuZ2UudWsuYnV0dG9uIiwgW2ldKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgZ2V0U2VsZWN0ZWQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5maW5kKCIuIiArIHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcykKICAgICAgICB9CiAgICB9KSwgby5jb21wb25lbnQoImJ1dHRvbkNoZWNrYm94IiwgewogICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgIGFjdGl2ZUNsYXNzOiAidWstYWN0aXZlIiwKICAgICAgICAgICAgdGFyZ2V0OiAiLnVrLWJ1dHRvbiIKICAgICAgICB9LAogICAgICAgIGJvb3Q6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBvLiRodG1sLm9uKCJjbGljay5idXR0b25jaGVja2JveC51aWtpdCIsICJbZGF0YS11ay1idXR0b24tY2hlY2tib3hdIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGkgPSBvLiQodGhpcyk7CiAgICAgICAgICAgICAgICBpZiAoIWkuZGF0YSgiYnV0dG9uQ2hlY2tib3giKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gby5idXR0b25DaGVja2JveChpLCBvLlV0aWxzLm9wdGlvbnMoaS5hdHRyKCJkYXRhLXVrLWJ1dHRvbi1jaGVja2JveCIpKSksCiAgICAgICAgICAgICAgICAgICAgICAgIG4gPSBvLiQodC50YXJnZXQpOwogICAgICAgICAgICAgICAgICAgIG4uaXMoZS5vcHRpb25zLnRhcmdldCkgJiYgbi50cmlnZ2VyKCJjbGljayIpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzOwogICAgICAgICAgICB0aGlzLmZpbmQoZS5vcHRpb25zLnRhcmdldCkuYXR0cigiYXJpYS1jaGVja2VkIiwgImZhbHNlIikuZmlsdGVyKCIuIiArIGUub3B0aW9ucy5hY3RpdmVDbGFzcykuYXR0cigiYXJpYS1jaGVja2VkIiwgInRydWUiKSwgdGhpcy5vbigiY2xpY2siLCB0aGlzLm9wdGlvbnMudGFyZ2V0LCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IG8uJCh0aGlzKTsKICAgICAgICAgICAgICAgIGkuaXMoJ2FbaHJlZj0iIyJdJykgJiYgdC5wcmV2ZW50RGVmYXVsdCgpLCBpLnRvZ2dsZUNsYXNzKGUub3B0aW9ucy5hY3RpdmVDbGFzcykuYmx1cigpLCBpLmF0dHIoImFyaWEtY2hlY2tlZCIsIGkuaGFzQ2xhc3MoZS5vcHRpb25zLmFjdGl2ZUNsYXNzKSksIGUudHJpZ2dlcigiY2hhbmdlLnVrLmJ1dHRvbiIsIFtpXSkKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIGdldFNlbGVjdGVkOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmluZCgiLiIgKyB0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MpCiAgICAgICAgfQogICAgfSksIG8uY29tcG9uZW50KCJidXR0b24iLCB7CiAgICAgICAgZGVmYXVsdHM6IHt9LAogICAgICAgIGJvb3Q6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBvLiRodG1sLm9uKCJjbGljay5idXR0b24udWlraXQiLCAiW2RhdGEtdWstYnV0dG9uXSIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSBvLiQodGhpcyk7CiAgICAgICAgICAgICAgICB0LmRhdGEoImJ1dHRvbiIpIHx8IChvLmJ1dHRvbih0LCBvLlV0aWxzLm9wdGlvbnModC5hdHRyKCJkYXRhLXVrLWJ1dHRvbiIpKSksIHQudHJpZ2dlcigiY2xpY2siKSkKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIGluaXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgaSA9IHRoaXM7CiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLCB0aGlzLmVsZW1lbnQuaGFzQ2xhc3MoInVrLWFjdGl2ZSIpKSwgdGhpcy5vbigiY2xpY2siLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBpLmVsZW1lbnQuaXMoJ2FbaHJlZj0iIyJdJykgJiYgdC5wcmV2ZW50RGVmYXVsdCgpLCBpLnRvZ2dsZSgpLCBpLnRyaWdnZXIoImNoYW5nZS51ay5idXR0b24iLCBbaS5lbGVtZW50LmJsdXIoKS5oYXNDbGFzcygidWstYWN0aXZlIildKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgdG9nZ2xlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdGhpcy5lbGVtZW50LnRvZ2dsZUNsYXNzKCJ1ay1hY3RpdmUiKSwgdGhpcy5lbGVtZW50LmF0dHIoImFyaWEtcHJlc3NlZCIsIHRoaXMuZWxlbWVudC5oYXNDbGFzcygidWstYWN0aXZlIikpCiAgICAgICAgfQogICAgfSkKfShVSWtpdCksCmZ1bmN0aW9uKGgpIHsKICAgICJ1c2Ugc3RyaWN0IjsKCiAgICBmdW5jdGlvbiB1KHQsIGksIGUsIG4pIHsKICAgICAgICBpZiAodCA9IGguJCh0KSwgaSA9IGguJChpKSwgZSA9IGUgfHwgd2luZG93LmlubmVyV2lkdGgsIG4gPSBuIHx8IHQub2Zmc2V0KCksIGkubGVuZ3RoKSB7CiAgICAgICAgICAgIHZhciBvID0gaS5vdXRlcldpZHRoKCk7CiAgICAgICAgICAgIGlmICh0LmNzcygibWluLXdpZHRoIiwgbyksICJyaWdodCIgPT0gaC5sYW5nZGlyZWN0aW9uKSB7CiAgICAgICAgICAgICAgICB2YXIgcyA9IGUgLSAoaS5vZmZzZXQoKS5sZWZ0ICsgbyksCiAgICAgICAgICAgICAgICAgICAgYSA9IGUgLSAodC5vZmZzZXQoKS5sZWZ0ICsgdC5vdXRlcldpZHRoKCkpOwogICAgICAgICAgICAgICAgdC5jc3MoIm1hcmdpbi1yaWdodCIsIHMgLSBhKQogICAgICAgICAgICB9IGVsc2UgdC5jc3MoIm1hcmdpbi1sZWZ0IiwgaS5vZmZzZXQoKS5sZWZ0IC0gbi5sZWZ0KQogICAgICAgIH0KICAgIH0KICAgIHZhciBuLCBvID0gITEsCiAgICAgICAgcCA9IHsKICAgICAgICAgICAgeDogewogICAgICAgICAgICAgICAgImJvdHRvbS1sZWZ0IjogImJvdHRvbS1yaWdodCIsCiAgICAgICAgICAgICAgICAiYm90dG9tLXJpZ2h0IjogImJvdHRvbS1sZWZ0IiwKICAgICAgICAgICAgICAgICJib3R0b20tY2VudGVyIjogImJvdHRvbS1jZW50ZXIiLAogICAgICAgICAgICAgICAgInRvcC1sZWZ0IjogInRvcC1yaWdodCIsCiAgICAgICAgICAgICAgICAidG9wLXJpZ2h0IjogInRvcC1sZWZ0IiwKICAgICAgICAgICAgICAgICJ0b3AtY2VudGVyIjogInRvcC1jZW50ZXIiLAogICAgICAgICAgICAgICAgImxlZnQtdG9wIjogInJpZ2h0LXRvcCIsCiAgICAgICAgICAgICAgICAibGVmdC1ib3R0b20iOiAicmlnaHQtYm90dG9tIiwKICAgICAgICAgICAgICAgICJsZWZ0LWNlbnRlciI6ICJyaWdodC1jZW50ZXIiLAogICAgICAgICAgICAgICAgInJpZ2h0LXRvcCI6ICJsZWZ0LXRvcCIsCiAgICAgICAgICAgICAgICAicmlnaHQtYm90dG9tIjogImxlZnQtYm90dG9tIiwKICAgICAgICAgICAgICAgICJyaWdodC1jZW50ZXIiOiAibGVmdC1jZW50ZXIiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHk6IHsKICAgICAgICAgICAgICAgICJib3R0b20tbGVmdCI6ICJ0b3AtbGVmdCIsCiAgICAgICAgICAgICAgICAiYm90dG9tLXJpZ2h0IjogInRvcC1yaWdodCIsCiAgICAgICAgICAgICAgICAiYm90dG9tLWNlbnRlciI6ICJ0b3AtY2VudGVyIiwKICAgICAgICAgICAgICAgICJ0b3AtbGVmdCI6ICJib3R0b20tbGVmdCIsCiAgICAgICAgICAgICAgICAidG9wLXJpZ2h0IjogImJvdHRvbS1yaWdodCIsCiAgICAgICAgICAgICAgICAidG9wLWNlbnRlciI6ICJib3R0b20tY2VudGVyIiwKICAgICAgICAgICAgICAgICJsZWZ0LXRvcCI6ICJsZWZ0LWJvdHRvbSIsCiAgICAgICAgICAgICAgICAibGVmdC1ib3R0b20iOiAibGVmdC10b3AiLAogICAgICAgICAgICAgICAgImxlZnQtY2VudGVyIjogImxlZnQtY2VudGVyIiwKICAgICAgICAgICAgICAgICJyaWdodC10b3AiOiAicmlnaHQtYm90dG9tIiwKICAgICAgICAgICAgICAgICJyaWdodC1ib3R0b20iOiAicmlnaHQtdG9wIiwKICAgICAgICAgICAgICAgICJyaWdodC1jZW50ZXIiOiAicmlnaHQtY2VudGVyIgogICAgICAgICAgICB9LAogICAgICAgICAgICB4eTogewogICAgICAgICAgICAgICAgImJvdHRvbS1sZWZ0IjogInRvcC1yaWdodCIsCiAgICAgICAgICAgICAgICAiYm90dG9tLXJpZ2h0IjogInRvcC1sZWZ0IiwKICAgICAgICAgICAgICAgICJib3R0b20tY2VudGVyIjogInRvcC1jZW50ZXIiLAogICAgICAgICAgICAgICAgInRvcC1sZWZ0IjogImJvdHRvbS1yaWdodCIsCiAgICAgICAgICAgICAgICAidG9wLXJpZ2h0IjogImJvdHRvbS1sZWZ0IiwKICAgICAgICAgICAgICAgICJ0b3AtY2VudGVyIjogImJvdHRvbS1jZW50ZXIiLAogICAgICAgICAgICAgICAgImxlZnQtdG9wIjogInJpZ2h0LWJvdHRvbSIsCiAgICAgICAgICAgICAgICAibGVmdC1ib3R0b20iOiAicmlnaHQtdG9wIiwKICAgICAgICAgICAgICAgICJsZWZ0LWNlbnRlciI6ICJyaWdodC1jZW50ZXIiLAogICAgICAgICAgICAgICAgInJpZ2h0LXRvcCI6ICJsZWZ0LWJvdHRvbSIsCiAgICAgICAgICAgICAgICAicmlnaHQtYm90dG9tIjogImxlZnQtdG9wIiwKICAgICAgICAgICAgICAgICJyaWdodC1jZW50ZXIiOiAibGVmdC1jZW50ZXIiCiAgICAgICAgICAgIH0KICAgICAgICB9OwogICAgaC5jb21wb25lbnQoImRyb3Bkb3duIiwgewogICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgIG1vZGU6ICJob3ZlciIsCiAgICAgICAgICAgIHBvczogImJvdHRvbS1sZWZ0IiwKICAgICAgICAgICAgb2Zmc2V0OiAwLAogICAgICAgICAgICByZW1haW50aW1lOiA4MDAsCiAgICAgICAgICAgIGp1c3RpZnk6ICExLAogICAgICAgICAgICBib3VuZGFyeTogaC4kd2luLAogICAgICAgICAgICBkZWxheTogMCwKICAgICAgICAgICAgZHJvcGRvd25TZWxlY3RvcjogIi51ay1kcm9wZG93biwudWstZHJvcGRvd24tYmxhbmsiLAogICAgICAgICAgICBob3ZlckRlbGF5SWRsZTogMjUwLAogICAgICAgICAgICBwcmV2ZW50ZmxpcDogITEKICAgICAgICB9LAogICAgICAgIHJlbWFpbklkbGU6ICExLAogICAgICAgIGJvb3Q6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgbiA9IGguc3VwcG9ydC50b3VjaCA/ICJjbGljayIgOiAibW91c2VlbnRlciI7CiAgICAgICAgICAgIGguJGh0bWwub24obiArICIuZHJvcGRvd24udWlraXQgZm9jdXMgcG9pbnRlcmRvd24iLCAiW2RhdGEtdWstZHJvcGRvd25dIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGkgPSBoLiQodGhpcyk7CiAgICAgICAgICAgICAgICBpZiAoIWkuZGF0YSgiZHJvcGRvd24iKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gaC5kcm9wZG93bihpLCBoLlV0aWxzLm9wdGlvbnMoaS5hdHRyKCJkYXRhLXVrLWRyb3Bkb3duIikpKTsKICAgICAgICAgICAgICAgICAgICAoImNsaWNrIiA9PSB0LnR5cGUgfHwgIm1vdXNlZW50ZXIiID09IHQudHlwZSAmJiAiaG92ZXIiID09IGUub3B0aW9ucy5tb2RlKSAmJiBlLmVsZW1lbnQudHJpZ2dlcihuKSwgZS5kcm9wZG93bi5sZW5ndGggJiYgdC5wcmV2ZW50RGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzOwogICAgICAgICAgICB0aGlzLmRyb3Bkb3duID0gdGhpcy5maW5kKHRoaXMub3B0aW9ucy5kcm9wZG93blNlbGVjdG9yKSwgdGhpcy5vZmZzZXRQYXJlbnQgPSB0aGlzLmRyb3Bkb3duLnBhcmVudHMoKS5maWx0ZXIoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gLTEgIT09IGguJC5pbkFycmF5KGguJCh0aGlzKS5jc3MoInBvc2l0aW9uIiksIFsicmVsYXRpdmUiLCAiZml4ZWQiLCAiYWJzb2x1dGUiXSkKICAgICAgICAgICAgfSkuc2xpY2UoMCwgMSksIHRoaXMub2Zmc2V0UGFyZW50Lmxlbmd0aCB8fCAodGhpcy5vZmZzZXRQYXJlbnQgPSB0aGlzLmVsZW1lbnQpLCB0aGlzLmNlbnRlcmVkID0gdGhpcy5kcm9wZG93bi5oYXNDbGFzcygidWstZHJvcGRvd24tY2VudGVyIiksIHRoaXMuanVzdGlmaWVkID0gISF0aGlzLm9wdGlvbnMuanVzdGlmeSAmJiBoLiQodGhpcy5vcHRpb25zLmp1c3RpZnkpLCB0aGlzLmJvdW5kYXJ5ID0gaC4kKHRoaXMub3B0aW9ucy5ib3VuZGFyeSksIHRoaXMuYm91bmRhcnkubGVuZ3RoIHx8ICh0aGlzLmJvdW5kYXJ5ID0gaC4kd2luKSwgdGhpcy5kcm9wZG93bi5oYXNDbGFzcygidWstZHJvcGRvd24tdXAiKSAmJiAodGhpcy5vcHRpb25zLnBvcyA9ICJ0b3AtbGVmdCIpLCB0aGlzLmRyb3Bkb3duLmhhc0NsYXNzKCJ1ay1kcm9wZG93bi1mbGlwIikgJiYgKHRoaXMub3B0aW9ucy5wb3MgPSB0aGlzLm9wdGlvbnMucG9zLnJlcGxhY2UoImxlZnQiLCAicmlnaHQiKSksIHRoaXMuZHJvcGRvd24uaGFzQ2xhc3MoInVrLWRyb3Bkb3duLWNlbnRlciIpICYmICh0aGlzLm9wdGlvbnMucG9zID0gdGhpcy5vcHRpb25zLnBvcy5yZXBsYWNlKC8obGVmdHxyaWdodCkvLCAiY2VudGVyIikpLCB0aGlzLmVsZW1lbnQuYXR0cigiYXJpYS1oYXNwb3B1cCIsICJ0cnVlIiksIHRoaXMuZWxlbWVudC5hdHRyKCJhcmlhLWV4cGFuZGVkIiwgdGhpcy5lbGVtZW50Lmhhc0NsYXNzKCJ1ay1vcGVuIikpLCB0aGlzLmRyb3Bkb3duLmF0dHIoImFyaWEtaGlkZGVuIiwgInRydWUiKSwgImNsaWNrIiA9PSB0aGlzLm9wdGlvbnMubW9kZSB8fCBoLnN1cHBvcnQudG91Y2ggPyB0aGlzLm9uKCJjbGljay51ay5kcm9wZG93biIsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBpID0gaC4kKHQudGFyZ2V0KTsKICAgICAgICAgICAgICAgIGkucGFyZW50cyhlLm9wdGlvbnMuZHJvcGRvd25TZWxlY3RvcikubGVuZ3RoIHx8ICgoaS5pcygiYVtocmVmPScjJ10iKSB8fCBpLnBhcmVudCgpLmlzKCJhW2hyZWY9JyMnXSIpIHx8IGUuZHJvcGRvd24ubGVuZ3RoICYmICFlLmRyb3Bkb3duLmlzKCI6dmlzaWJsZSIpKSAmJiB0LnByZXZlbnREZWZhdWx0KCksIGkuYmx1cigpKSwgZS5lbGVtZW50Lmhhc0NsYXNzKCJ1ay1vcGVuIikgPyAoIWUuZHJvcGRvd24uZmluZCh0LnRhcmdldCkubGVuZ3RoIHx8IGkuaXMoIi51ay1kcm9wZG93bi1jbG9zZSIpIHx8IGkucGFyZW50cygiLnVrLWRyb3Bkb3duLWNsb3NlIikubGVuZ3RoKSAmJiBlLmhpZGUoKSA6IGUuc2hvdygpCiAgICAgICAgICAgIH0pIDogdGhpcy5vbigibW91c2VlbnRlciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZS50cmlnZ2VyKCJwb2ludGVyZW50ZXIudWsuZHJvcGRvd24iLCBbZV0pLCBlLnJlbWFpbklkbGUgJiYgY2xlYXJUaW1lb3V0KGUucmVtYWluSWRsZSksIG4gJiYgY2xlYXJUaW1lb3V0KG4pLCBvICYmIG8gPT0gZSB8fCAobiA9IG8gJiYgbyAhPSBlID8gc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBuID0gc2V0VGltZW91dChlLnNob3cuYmluZChlKSwgZS5vcHRpb25zLmRlbGF5KQogICAgICAgICAgICAgICAgfSwgZS5vcHRpb25zLmhvdmVyRGVsYXlJZGxlKSA6IHNldFRpbWVvdXQoZS5zaG93LmJpbmQoZSksIGUub3B0aW9ucy5kZWxheSkpCiAgICAgICAgICAgIH0pLm9uKCJtb3VzZWxlYXZlIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBuICYmIGNsZWFyVGltZW91dChuKSwgZS5yZW1haW5JZGxlID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBvICYmIG8gPT0gZSAmJiBlLmhpZGUoKQogICAgICAgICAgICAgICAgfSwgZS5vcHRpb25zLnJlbWFpbnRpbWUpLCBlLnRyaWdnZXIoInBvaW50ZXJsZWF2ZS51ay5kcm9wZG93biIsIFtlXSkKICAgICAgICAgICAgfSkub24oImNsaWNrIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGkgPSBoLiQodC50YXJnZXQpOwogICAgICAgICAgICAgICAgcmV0dXJuIGUucmVtYWluSWRsZSAmJiBjbGVhclRpbWVvdXQoZS5yZW1haW5JZGxlKSwgbyAmJiBvID09IGUgPyB2b2lkKCghZS5kcm9wZG93bi5maW5kKHQudGFyZ2V0KS5sZW5ndGggfHwgaS5pcygiLnVrLWRyb3Bkb3duLWNsb3NlIikgfHwgaS5wYXJlbnRzKCIudWstZHJvcGRvd24tY2xvc2UiKS5sZW5ndGgpICYmIGUuaGlkZSgpKSA6ICgoaS5pcygiYVtocmVmPScjJ10iKSB8fCBpLnBhcmVudCgpLmlzKCJhW2hyZWY9JyMnXSIpKSAmJiB0LnByZXZlbnREZWZhdWx0KCksIHZvaWQgZS5zaG93KCkpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBzaG93OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaC4kaHRtbC5vZmYoImNsaWNrLm91dGVyLmRyb3Bkb3duIiksIG8gJiYgbyAhPSB0aGlzICYmIG8uaGlkZSghMCksIG4gJiYgY2xlYXJUaW1lb3V0KG4pLCB0aGlzLnRyaWdnZXIoImJlZm9yZXNob3cudWsuZHJvcGRvd24iLCBbdGhpc10pLCB0aGlzLmNoZWNrRGltZW5zaW9ucygpLCB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVrLW9wZW4iKSwgdGhpcy5lbGVtZW50LmF0dHIoImFyaWEtZXhwYW5kZWQiLCAidHJ1ZSIpLCB0aGlzLmRyb3Bkb3duLmF0dHIoImFyaWEtaGlkZGVuIiwgImZhbHNlIiksIHRoaXMudHJpZ2dlcigic2hvdy51ay5kcm9wZG93biIsIFt0aGlzXSksIGguVXRpbHMuY2hlY2tEaXNwbGF5KHRoaXMuZHJvcGRvd24sICEwKSwgaC5VdGlscy5mb2N1cyh0aGlzLmRyb3Bkb3duKSwgKG8gPSB0aGlzKS5yZWdpc3Rlck91dGVyQ2xpY2soKQogICAgICAgIH0sCiAgICAgICAgaGlkZTogZnVuY3Rpb24odCkgewogICAgICAgICAgICB0aGlzLnRyaWdnZXIoImJlZm9yZWhpZGUudWsuZHJvcGRvd24iLCBbdGhpcywgdF0pLCB0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVrLW9wZW4iKSwgdGhpcy5yZW1haW5JZGxlICYmIGNsZWFyVGltZW91dCh0aGlzLnJlbWFpbklkbGUpLCB0aGlzLnJlbWFpbklkbGUgPSAhMSwgdGhpcy5lbGVtZW50LmF0dHIoImFyaWEtZXhwYW5kZWQiLCAiZmFsc2UiKSwgdGhpcy5kcm9wZG93bi5hdHRyKCJhcmlhLWhpZGRlbiIsICJ0cnVlIiksIHRoaXMudHJpZ2dlcigiaGlkZS51ay5kcm9wZG93biIsIFt0aGlzLCB0XSksIG8gPT0gdGhpcyAmJiAobyA9ICExKQogICAgICAgIH0sCiAgICAgICAgcmVnaXN0ZXJPdXRlckNsaWNrOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzOwogICAgICAgICAgICBoLiRodG1sLm9mZigiY2xpY2sub3V0ZXIuZHJvcGRvd24iKSwgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGguJGh0bWwub24oImNsaWNrLm91dGVyLmRyb3Bkb3duIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIG4gJiYgY2xlYXJUaW1lb3V0KG4pLCBoLiQodC50YXJnZXQpLCBvICE9IGkgfHwgaS5lbGVtZW50LmZpbmQodC50YXJnZXQpLmxlbmd0aCB8fCAoaS5oaWRlKCEwKSwgaC4kaHRtbC5vZmYoImNsaWNrLm91dGVyLmRyb3Bkb3duIikpCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9LCAxMCkKICAgICAgICB9LAogICAgICAgIGNoZWNrRGltZW5zaW9uczogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmICh0aGlzLmRyb3Bkb3duLmxlbmd0aCkgewogICAgICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5yZW1vdmVDbGFzcygidWstZHJvcGRvd24tdG9wIHVrLWRyb3Bkb3duLWJvdHRvbSB1ay1kcm9wZG93bi1sZWZ0IHVrLWRyb3Bkb3duLXJpZ2h0IHVrLWRyb3Bkb3duLXN0YWNrIHVrLWRyb3Bkb3duLWF1dG9mbGlwIikuY3NzKHsKICAgICAgICAgICAgICAgICAgICB0b3BMZWZ0OiAiIiwKICAgICAgICAgICAgICAgICAgICBsZWZ0OiAiIiwKICAgICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiAiIiwKICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogIiIKICAgICAgICAgICAgICAgIH0pLCB0aGlzLmp1c3RpZmllZCAmJiB0aGlzLmp1c3RpZmllZC5sZW5ndGggJiYgdGhpcy5kcm9wZG93bi5jc3MoIm1pbi13aWR0aCIsICIiKTsKICAgICAgICAgICAgICAgIHZhciB0LCBpID0gaC4kLmV4dGVuZCh7fSwgdGhpcy5vZmZzZXRQYXJlbnQub2Zmc2V0KCksIHsKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMub2Zmc2V0UGFyZW50WzBdLm9mZnNldFdpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHRoaXMub2Zmc2V0UGFyZW50WzBdLm9mZnNldEhlaWdodAogICAgICAgICAgICAgICAgICAgIH0pLAogICAgICAgICAgICAgICAgICAgIGUgPSB0aGlzLm9wdGlvbnMub2Zmc2V0LAogICAgICAgICAgICAgICAgICAgIG4gPSB0aGlzLmRyb3Bkb3duLAogICAgICAgICAgICAgICAgICAgIG8gPSAobi5zaG93KCkub2Zmc2V0KCksIG4ub3V0ZXJXaWR0aCgpKSwKICAgICAgICAgICAgICAgICAgICBzID0gbi5vdXRlckhlaWdodCgpLAogICAgICAgICAgICAgICAgICAgIGEgPSB0aGlzLmJvdW5kYXJ5LndpZHRoKCksCiAgICAgICAgICAgICAgICAgICAgciA9ICh0aGlzLmJvdW5kYXJ5WzBdICE9PSB3aW5kb3cgJiYgdGhpcy5ib3VuZGFyeS5vZmZzZXQoKSAmJiB0aGlzLmJvdW5kYXJ5Lm9mZnNldCgpLCB0aGlzLm9wdGlvbnMucG9zKSwKICAgICAgICAgICAgICAgICAgICBsID0gewogICAgICAgICAgICAgICAgICAgICAgICAiYm90dG9tLWxlZnQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAgKyBpLmhlaWdodCArIGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJib3R0b20tcmlnaHQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAgKyBpLmhlaWdodCArIGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwICsgaS53aWR0aCAtIG8KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImJvdHRvbS1jZW50ZXIiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAgKyBpLmhlaWdodCArIGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwICsgaS53aWR0aCAvIDIgLSBvIC8gMgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidG9wLWxlZnQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAgLSBzIC0gZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInRvcC1yaWdodCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCAtIHMgLSBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCArIGkud2lkdGggLSBvCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0b3AtY2VudGVyIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwIC0gcyAtIGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwICsgaS53aWR0aCAvIDIgLSBvIC8gMgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAibGVmdC10b3AiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwIC0gbyAtIGUKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImxlZnQtYm90dG9tIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwICsgaS5oZWlnaHQgLSBzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCAtIG8gLSBlCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJsZWZ0LWNlbnRlciI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCArIGkuaGVpZ2h0IC8gMiAtIHMgLyAyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCAtIG8gLSBlCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJyaWdodC10b3AiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwICsgaS53aWR0aCArIGUKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInJpZ2h0LWJvdHRvbSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCArIGkuaGVpZ2h0IC0gcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAgKyBpLndpZHRoICsgZQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicmlnaHQtY2VudGVyIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwICsgaS5oZWlnaHQgLyAyIC0gcyAvIDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwICsgaS53aWR0aCArIGUKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgYyA9IHt9OwogICAgICAgICAgICAgICAgaWYgKHQgPSByLnNwbGl0KCItIiksIGMgPSBsW3JdID8gbFtyXSA6IGxbImJvdHRvbS1sZWZ0Il0sIHRoaXMuanVzdGlmaWVkICYmIHRoaXMuanVzdGlmaWVkLmxlbmd0aCkgdShuLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMAogICAgICAgICAgICAgICAgfSksIHRoaXMuanVzdGlmaWVkLCBhKTsKICAgICAgICAgICAgICAgIGVsc2UgaWYgKCEwICE9PSB0aGlzLm9wdGlvbnMucHJldmVudGZsaXApIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZDsKICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRoaXMuY2hlY2tCb3VuZGFyeShpLmxlZnQgKyBjLmxlZnQsIGkudG9wICsgYy50b3AsIG8sIHMsIGEpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgIngiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIngiICE9PSB0aGlzLm9wdGlvbnMucHJldmVudGZsaXAgJiYgKGQgPSBwLnhbcl0gfHwgInJpZ2h0LXRvcCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgInkiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgInkiICE9PSB0aGlzLm9wdGlvbnMucHJldmVudGZsaXAgJiYgKGQgPSBwLnlbcl0gfHwgInRvcC1sZWZ0Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAieHkiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnByZXZlbnRmbGlwIHx8IChkID0gcC54eVtyXSB8fCAicmlnaHQtYm90dG9tIikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZCAmJiAodCA9IGQuc3BsaXQoIi0iKSwgYyA9IGxbZF0gPyBsW2RdIDogbFsiYm90dG9tLWxlZnQiXSwgbi5hZGRDbGFzcygidWstZHJvcGRvd24tYXV0b2ZsaXAiKSwgdGhpcy5jaGVja0JvdW5kYXJ5KGkubGVmdCArIGMubGVmdCwgaS50b3AgKyBjLnRvcCwgbywgcywgYSkgJiYgKHQgPSByLnNwbGl0KCItIiksIGMgPSBsW3JdID8gbFtyXSA6IGxbImJvdHRvbS1sZWZ0Il0pKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYSA8IG8gJiYgKG4uYWRkQ2xhc3MoInVrLWRyb3Bkb3duLXN0YWNrIiksIHRoaXMudHJpZ2dlcigic3RhY2sudWsuZHJvcGRvd24iLCBbdGhpc10pKSwgbi5jc3MoYykuY3NzKCJkaXNwbGF5IiwgIiIpLmFkZENsYXNzKCJ1ay1kcm9wZG93bi0iICsgdFswXSkKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgY2hlY2tCb3VuZGFyeTogZnVuY3Rpb24odCwgaSwgZSwgbiwgbykgewogICAgICAgICAgICB2YXIgcyA9ICIiOwogICAgICAgICAgICByZXR1cm4gKHQgPCAwIHx8IHQgLSBoLiR3aW4uc2Nyb2xsTGVmdCgpICsgZSA+IG8pICYmIChzICs9ICJ4IiksIChpIC0gaC4kd2luLnNjcm9sbFRvcCgpIDwgMCB8fCBpIC0gaC4kd2luLnNjcm9sbFRvcCgpICsgbiA+IHdpbmRvdy5pbm5lckhlaWdodCkgJiYgKHMgKz0gInkiKSwgcwogICAgICAgIH0KICAgIH0pLCBoLmNvbXBvbmVudCgiZHJvcGRvd25PdmVybGF5IiwgewogICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgIGp1c3RpZnk6ICExLAogICAgICAgICAgICBjbHM6ICIiLAogICAgICAgICAgICBkdXJhdGlvbjogMjAwCiAgICAgICAgfSwKICAgICAgICBib290OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaC5yZWFkeShmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBoLiQoIltkYXRhLXVrLWRyb3Bkb3duLW92ZXJsYXldIiwgdCkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGguJCh0aGlzKTsKICAgICAgICAgICAgICAgICAgICB0LmRhdGEoImRyb3Bkb3duT3ZlcmxheSIpIHx8IGguZHJvcGRvd25PdmVybGF5KHQsIGguVXRpbHMub3B0aW9ucyh0LmF0dHIoImRhdGEtdWstZHJvcGRvd24tb3ZlcmxheSIpKSkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGUgPSB0aGlzOwogICAgICAgICAgICB0aGlzLmp1c3RpZmllZCA9ICEhdGhpcy5vcHRpb25zLmp1c3RpZnkgJiYgaC4kKHRoaXMub3B0aW9ucy5qdXN0aWZ5KSwgdGhpcy5vdmVybGF5ID0gdGhpcy5lbGVtZW50LmZpbmQoInVrLWRyb3Bkb3duLW92ZXJsYXkiKSwgdGhpcy5vdmVybGF5Lmxlbmd0aCB8fCAodGhpcy5vdmVybGF5ID0gaC4kKCc8ZGl2IGNsYXNzPSJ1ay1kcm9wZG93bi1vdmVybGF5Ij48L2Rpdj4nKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpKSwgdGhpcy5vdmVybGF5LmFkZENsYXNzKHRoaXMub3B0aW9ucy5jbHMpLCB0aGlzLm9uKHsKICAgICAgICAgICAgICAgICJiZWZvcmVzaG93LnVrLmRyb3Bkb3duIjogZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICAgICAgICAgIGUuZHJvcGRvd24gPSBpLCBlLmp1c3RpZmllZCAmJiBlLmp1c3RpZmllZC5sZW5ndGggJiYgdShlLm92ZXJsYXkuY3NzKHsKICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogImJsb2NrIiwKICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAiIgogICAgICAgICAgICAgICAgICAgIH0pLCBlLmp1c3RpZmllZCwgZS5qdXN0aWZpZWQub3V0ZXJXaWR0aCgpKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJzaG93LnVrLmRyb3Bkb3duIjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBlLmRyb3Bkb3duLmRyb3Bkb3duLm91dGVySGVpZ2h0KCEwKTsKICAgICAgICAgICAgICAgICAgICBlLmRyb3Bkb3duLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVrLW9wZW4iKSwgZS5vdmVybGF5LnN0b3AoKS5jc3MoImRpc3BsYXkiLCAiYmxvY2siKS5hbmltYXRlKHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiB0CiAgICAgICAgICAgICAgICAgICAgfSwgZS5vcHRpb25zLmR1cmF0aW9uLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZS5kcm9wZG93bi5kcm9wZG93bi5jc3MoInZpc2liaWxpdHkiLCAiIiksIGUuZHJvcGRvd24uZWxlbWVudC5hZGRDbGFzcygidWstb3BlbiIpLCBoLlV0aWxzLmNoZWNrRGlzcGxheShlLmRyb3Bkb3duLmRyb3Bkb3duLCAhMCkKICAgICAgICAgICAgICAgICAgICB9KSwgZS5wb2ludGVybGVhdmUgPSAhMQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJoaWRlLnVrLmRyb3Bkb3duIjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgZS5vdmVybGF5LnN0b3AoKS5hbmltYXRlKHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwCiAgICAgICAgICAgICAgICAgICAgfSwgZS5vcHRpb25zLmR1cmF0aW9uKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJwb2ludGVyZW50ZXIudWsuZHJvcGRvd24iOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoZS5yZW1haW5JZGxlKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJwb2ludGVybGVhdmUudWsuZHJvcGRvd24iOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBlLnBvaW50ZXJsZWF2ZSA9ICEwCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLCB0aGlzLm92ZXJsYXkub24oewogICAgICAgICAgICAgICAgbW91c2VlbnRlcjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgZS5yZW1haW5JZGxlICYmIChjbGVhclRpbWVvdXQoZS5kcm9wZG93bi5yZW1haW5JZGxlKSwgY2xlYXJUaW1lb3V0KGUucmVtYWluSWRsZSkpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgbW91c2VsZWF2ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgZS5wb2ludGVybGVhdmUgJiYgbyAmJiAoZS5yZW1haW5JZGxlID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbyAmJiBvLmhpZGUoKQogICAgICAgICAgICAgICAgICAgIH0sIG8ub3B0aW9ucy5yZW1haW50aW1lKSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkKICAgICAgICB9CiAgICB9KQp9KFVJa2l0KSwKZnVuY3Rpb24oZSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIG4gPSBbXTsKICAgIGUuY29tcG9uZW50KCJncmlkTWF0Y2hIZWlnaHQiLCB7CiAgICAgICAgZGVmYXVsdHM6IHsKICAgICAgICAgICAgdGFyZ2V0OiAhMSwKICAgICAgICAgICAgcm93OiAhMCwKICAgICAgICAgICAgaWdub3Jlc3RhY2tlZDogITEsCiAgICAgICAgICAgIG9ic2VydmU6ICExCiAgICAgICAgfSwKICAgICAgICBib290OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZS5yZWFkeShmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBlLiQoIltkYXRhLXVrLWdyaWQtbWF0Y2hdIiwgdCkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGUuJCh0aGlzKTsKICAgICAgICAgICAgICAgICAgICB0LmRhdGEoImdyaWRNYXRjaEhlaWdodCIpIHx8IGUuZ3JpZE1hdGNoSGVpZ2h0KHQsIGUuVXRpbHMub3B0aW9ucyh0LmF0dHIoImRhdGEtdWstZ3JpZC1tYXRjaCIpKSkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHQsIGkgPSB0aGlzOwogICAgICAgICAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLmVsZW1lbnQuY2hpbGRyZW4oKSwgdGhpcy5lbGVtZW50cyA9IHRoaXMub3B0aW9ucy50YXJnZXQgPyB0aGlzLmZpbmQodGhpcy5vcHRpb25zLnRhcmdldCkgOiB0aGlzLmNvbHVtbnMsIHRoaXMuY29sdW1ucy5sZW5ndGggJiYgKGUuJHdpbi5vbigibG9hZCByZXNpemUgb3JpZW50YXRpb25jaGFuZ2UiLCAodCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgaS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpICYmIGkubWF0Y2goKQogICAgICAgICAgICB9LCBlLiQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB0KCkKICAgICAgICAgICAgfSksIGUuVXRpbHMuZGVib3VuY2UodCwgNTApKSksIHRoaXMub3B0aW9ucy5vYnNlcnZlICYmIGUuZG9tT2JzZXJ2ZSh0aGlzLmVsZW1lbnQsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgaS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpICYmIGkubWF0Y2goKQogICAgICAgICAgICB9KSwgdGhpcy5vbigiZGlzcGxheS51ay5jaGVjayIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmlzKCI6dmlzaWJsZSIpICYmIHRoaXMubWF0Y2goKQogICAgICAgICAgICB9LmJpbmQodGhpcykpLCBuLnB1c2godGhpcykpCiAgICAgICAgfSwKICAgICAgICBtYXRjaDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5jb2x1bW5zLmZpbHRlcigiOnZpc2libGU6Zmlyc3QiKTsKICAgICAgICAgICAgaWYgKHQubGVuZ3RoKSByZXR1cm4gMTAwIDw9IE1hdGguY2VpbCgxMDAgKiBwYXJzZUZsb2F0KHQuY3NzKCJ3aWR0aCIpKSAvIHBhcnNlRmxvYXQodC5wYXJlbnQoKS5jc3MoIndpZHRoIikpKSAmJiAhdGhpcy5vcHRpb25zLmlnbm9yZXN0YWNrZWQgPyB0aGlzLnJldmVydCgpIDogZS5VdGlscy5tYXRjaEhlaWdodHModGhpcy5lbGVtZW50cywgdGhpcy5vcHRpb25zKSwgdGhpcwogICAgICAgIH0sCiAgICAgICAgcmV2ZXJ0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudHMuY3NzKCJtaW4taGVpZ2h0IiwgIiIpLCB0aGlzCiAgICAgICAgfQogICAgfSksIGUuY29tcG9uZW50KCJncmlkTWFyZ2luIiwgewogICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgIGNsczogInVrLWdyaWQtbWFyZ2luIiwKICAgICAgICAgICAgcm93Zmlyc3Q6ICJ1ay1yb3ctZmlyc3QiCiAgICAgICAgfSwKICAgICAgICBib290OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZS5yZWFkeShmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBlLiQoIltkYXRhLXVrLWdyaWQtbWFyZ2luXSIsIHQpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBlLiQodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgdC5kYXRhKCJncmlkTWFyZ2luIikgfHwgZS5ncmlkTWFyZ2luKHQsIGUuVXRpbHMub3B0aW9ucyh0LmF0dHIoImRhdGEtdWstZ3JpZC1tYXJnaW4iKSkpCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGUuc3RhY2tNYXJnaW4odGhpcy5lbGVtZW50LCB0aGlzLm9wdGlvbnMpCiAgICAgICAgfQogICAgfSkKfShVSWtpdCksCmZ1bmN0aW9uKGEpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBvLCBpID0gITEsCiAgICAgICAgZSA9IDAsCiAgICAgICAgbiA9IGEuJGh0bWw7CiAgICBhLiR3aW4ub24oInJlc2l6ZSBvcmllbnRhdGlvbmNoYW5nZSIsIGEuVXRpbHMuZGVib3VuY2UoZnVuY3Rpb24oKSB7CiAgICAgICAgYS4kKCIudWstbW9kYWwudWstb3BlbiIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiBhLiQodGhpcykuZGF0YSgibW9kYWwiKSAmJiBhLiQodGhpcykuZGF0YSgibW9kYWwiKS5yZXNpemUoKQogICAgICAgIH0pCiAgICB9LCAxNTApKSwgYS5jb21wb25lbnQoIm1vZGFsIiwgewogICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgIGtleWJvYXJkOiAhMCwKICAgICAgICAgICAgYmdjbG9zZTogITAsCiAgICAgICAgICAgIG1pblNjcm9sbEhlaWdodDogMTUwLAogICAgICAgICAgICBjZW50ZXI6ICExLAogICAgICAgICAgICBtb2RhbDogITAKICAgICAgICB9LAogICAgICAgIHNjcm9sbGFibGU6ICExLAogICAgICAgIHRyYW5zaXRpb246ICExLAogICAgICAgIGhhc1RyYW5zaXRpb25lZDogITAsCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmIChvIHx8IChvID0gYS4kKCJib2R5IikpLCB0aGlzLmVsZW1lbnQubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IHRoaXM7CiAgICAgICAgICAgICAgICB0aGlzLnBhZGRpbmdkaXIgPSAicGFkZGluZy0iICsgKCJsZWZ0IiA9PSBhLmxhbmdkaXJlY3Rpb24gPyAicmlnaHQiIDogImxlZnQiKSwgdGhpcy5kaWFsb2cgPSB0aGlzLmZpbmQoIi51ay1tb2RhbC1kaWFsb2ciKSwgdGhpcy5hY3RpdmUgPSAhMSwgdGhpcy5lbGVtZW50LmF0dHIoImFyaWEtaGlkZGVuIiwgdGhpcy5lbGVtZW50Lmhhc0NsYXNzKCJ1ay1vcGVuIikpLCB0aGlzLm9uKCJjbGljayIsICIudWstbW9kYWwtY2xvc2UiLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdC5wcmV2ZW50RGVmYXVsdCgpLCBpLmhpZGUoKQogICAgICAgICAgICAgICAgfSkub24oImNsaWNrIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIGEuJCh0LnRhcmdldClbMF0gPT0gaS5lbGVtZW50WzBdICYmIGkub3B0aW9ucy5iZ2Nsb3NlICYmIGkuaGlkZSgpCiAgICAgICAgICAgICAgICB9KSwgYS5kb21PYnNlcnZlKHRoaXMuZWxlbWVudCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgaS5yZXNpemUoKQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdG9nZ2xlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXNbdGhpcy5pc0FjdGl2ZSgpID8gImhpZGUiIDogInNob3ciXSgpCiAgICAgICAgfSwKICAgICAgICBzaG93OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpczsKICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc0FjdGl2ZSgpKSByZXR1cm4gdGhpcy5vcHRpb25zLm1vZGFsICYmIGkgJiYgaS5oaWRlKCEwKSwgdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1ay1vcGVuIikuc2hvdygpLCB0aGlzLnJlc2l6ZSghMCksIHRoaXMub3B0aW9ucy5tb2RhbCAmJiAoaSA9IHRoaXMpLCB0aGlzLmFjdGl2ZSA9ICEwLCBlKyssIGEuc3VwcG9ydC50cmFuc2l0aW9uID8gKHRoaXMuaGFzVHJhbnNpdGlvbmVkID0gITEsIHRoaXMuZWxlbWVudC5vbmUoYS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB0Lmhhc1RyYW5zaXRpb25lZCA9ICEwLCBhLlV0aWxzLmZvY3VzKHQuZGlhbG9nLCAiYVtocmVmXSIpCiAgICAgICAgICAgICAgICB9KS5hZGRDbGFzcygidWstb3BlbiIpKSA6ICh0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVrLW9wZW4iKSwgYS5VdGlscy5mb2N1cyh0aGlzLmRpYWxvZywgImFbaHJlZl0iKSksIG4uYWRkQ2xhc3MoInVrLW1vZGFsLXBhZ2UiKS5oZWlnaHQoKSwgdGhpcy5lbGVtZW50LmF0dHIoImFyaWEtaGlkZGVuIiwgImZhbHNlIiksIHRoaXMuZWxlbWVudC50cmlnZ2VyKCJzaG93LnVrLm1vZGFsIiksIGEuVXRpbHMuY2hlY2tEaXNwbGF5KHRoaXMuZGlhbG9nLCAhMCksIHRoaXMKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgaGlkZTogZnVuY3Rpb24odCkgewogICAgICAgICAgICBpZiAoIXQgJiYgYS5zdXBwb3J0LnRyYW5zaXRpb24gJiYgdGhpcy5oYXNUcmFuc2l0aW9uZWQpIHsKICAgICAgICAgICAgICAgIHZhciBpID0gdGhpczsKICAgICAgICAgICAgICAgIHRoaXMub25lKGEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgaS5faGlkZSgpCiAgICAgICAgICAgICAgICB9KS5yZW1vdmVDbGFzcygidWstb3BlbiIpCiAgICAgICAgICAgIH0gZWxzZSB0aGlzLl9oaWRlKCk7CiAgICAgICAgICAgIHJldHVybiB0aGlzCiAgICAgICAgfSwKICAgICAgICByZXNpemU6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgaWYgKHRoaXMuaXNBY3RpdmUoKSB8fCB0KSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IG8ud2lkdGgoKTsKICAgICAgICAgICAgICAgIGlmICh0aGlzLnNjcm9sbGJhcndpZHRoID0gd2luZG93LmlubmVyV2lkdGggLSBpLCBvLmNzcyh0aGlzLnBhZGRpbmdkaXIsIHRoaXMuc2Nyb2xsYmFyd2lkdGgpLCB0aGlzLmVsZW1lbnQuY3NzKCJvdmVyZmxvdy15IiwgdGhpcy5zY3JvbGxiYXJ3aWR0aCA/ICJzY3JvbGwiIDogImF1dG8iKSwgIXRoaXMudXBkYXRlU2Nyb2xsYWJsZSgpICYmIHRoaXMub3B0aW9ucy5jZW50ZXIpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMuZGlhbG9nLm91dGVySGVpZ2h0KCksCiAgICAgICAgICAgICAgICAgICAgICAgIG4gPSBwYXJzZUludCh0aGlzLmRpYWxvZy5jc3MoIm1hcmdpbi10b3AiKSwgMTApICsgcGFyc2VJbnQodGhpcy5kaWFsb2cuY3NzKCJtYXJnaW4tYm90dG9tIiksIDEwKTsKICAgICAgICAgICAgICAgICAgICBlICsgbiA8IHdpbmRvdy5pbm5lckhlaWdodCA/IHRoaXMuZGlhbG9nLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogd2luZG93LmlubmVySGVpZ2h0IC8gMiAtIGUgLyAyIC0gbgogICAgICAgICAgICAgICAgICAgIH0pIDogdGhpcy5kaWFsb2cuY3NzKHsKICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAiIgogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHVwZGF0ZVNjcm9sbGFibGU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuZGlhbG9nLmZpbmQoIi51ay1vdmVyZmxvdy1jb250YWluZXI6dmlzaWJsZTpmaXJzdCIpOwogICAgICAgICAgICBpZiAodC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgIHQuY3NzKCJoZWlnaHQiLCAwKTsKICAgICAgICAgICAgICAgIHZhciBpID0gTWF0aC5hYnMocGFyc2VJbnQodGhpcy5kaWFsb2cuY3NzKCJtYXJnaW4tdG9wIiksIDEwKSksCiAgICAgICAgICAgICAgICAgICAgZSA9IHRoaXMuZGlhbG9nLm91dGVySGVpZ2h0KCksCiAgICAgICAgICAgICAgICAgICAgbiA9IHdpbmRvdy5pbm5lckhlaWdodCAtIDIgKiAoaSA8IDIwID8gMjAgOiBpKSAtIGU7CiAgICAgICAgICAgICAgICByZXR1cm4gdC5jc3MoewogICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogbiA8IHRoaXMub3B0aW9ucy5taW5TY3JvbGxIZWlnaHQgPyAiIiA6IG4sCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAiIgogICAgICAgICAgICAgICAgfSksICEwCiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICExCiAgICAgICAgfSwKICAgICAgICBfaGlkZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gITEsIDAgPCBlID8gZS0tIDogZSA9IDAsIHRoaXMuZWxlbWVudC5oaWRlKCkucmVtb3ZlQ2xhc3MoInVrLW9wZW4iKSwgdGhpcy5lbGVtZW50LmF0dHIoImFyaWEtaGlkZGVuIiwgInRydWUiKSwgZSB8fCAobi5yZW1vdmVDbGFzcygidWstbW9kYWwtcGFnZSIpLCBvLmNzcyh0aGlzLnBhZGRpbmdkaXIsICIiKSksIGkgPT09IHRoaXMgJiYgKGkgPSAhMSksIHRoaXMudHJpZ2dlcigiaGlkZS51ay5tb2RhbCIpCiAgICAgICAgfSwKICAgICAgICBpc0FjdGl2ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQuaGFzQ2xhc3MoInVrLW9wZW4iKQogICAgICAgIH0KICAgIH0pLCBhLmNvbXBvbmVudCgibW9kYWxUcmlnZ2VyIiwgewogICAgICAgIGJvb3Q6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBhLiRodG1sLm9uKCJjbGljay5tb2RhbC51aWtpdCIsICJbZGF0YS11ay1tb2RhbF0iLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IGEuJCh0aGlzKTsKICAgICAgICAgICAgICAgIChpLmlzKCJhIikgJiYgdC5wcmV2ZW50RGVmYXVsdCgpLCBpLmRhdGEoIm1vZGFsVHJpZ2dlciIpKSB8fCBhLm1vZGFsVHJpZ2dlcihpLCBhLlV0aWxzLm9wdGlvbnMoaS5hdHRyKCJkYXRhLXVrLW1vZGFsIikpKS5zaG93KCkKICAgICAgICAgICAgfSksIGEuJGh0bWwub24oImtleWRvd24ubW9kYWwudWlraXQiLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBpICYmIDI3ID09PSB0LmtleUNvZGUgJiYgaS5vcHRpb25zLmtleWJvYXJkICYmICh0LnByZXZlbnREZWZhdWx0KCksIGkuaGlkZSgpKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpczsKICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gYS4kLmV4dGVuZCh7CiAgICAgICAgICAgICAgICB0YXJnZXQ6ICEhaS5lbGVtZW50LmlzKCJhIikgJiYgaS5lbGVtZW50LmF0dHIoImhyZWYiKQogICAgICAgICAgICB9LCB0aGlzLm9wdGlvbnMpLCB0aGlzLm1vZGFsID0gYS5tb2RhbCh0aGlzLm9wdGlvbnMudGFyZ2V0LCB0aGlzLm9wdGlvbnMpLCB0aGlzLm9uKCJjbGljayIsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHQucHJldmVudERlZmF1bHQoKSwgaS5zaG93KCkKICAgICAgICAgICAgfSksIHRoaXMucHJveHkodGhpcy5tb2RhbCwgInNob3cgaGlkZSBpc0FjdGl2ZSIpCiAgICAgICAgfQogICAgfSksIGEubW9kYWwuZGlhbG9nID0gZnVuY3Rpb24odCwgaSkgewogICAgICAgIHZhciBlLCBuLCBvID0gYS5tb2RhbChhLiQoYS5tb2RhbC5kaWFsb2cudGVtcGxhdGUpLmFwcGVuZFRvKCJib2R5IiksIGkpOwogICAgICAgIHJldHVybiBvLm9uKCJoaWRlLnVrLm1vZGFsIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIG8ucGVyc2lzdCAmJiAoby5wZXJzaXN0LmFwcGVuZFRvKG8ucGVyc2lzdC5kYXRhKCJtb2RhbFBlcnNpc3RQYXJlbnQiKSksIG8ucGVyc2lzdCA9ICExKSwgby5lbGVtZW50LnJlbW92ZSgpCiAgICAgICAgfSksIGUgPSB0LCAobiA9IG8pICYmICgib2JqZWN0IiA9PSB0eXBlb2YgZSA/IChlID0gZSBpbnN0YW5jZW9mIGpRdWVyeSA/IGUgOiBhLiQoZSkpLnBhcmVudCgpLmxlbmd0aCAmJiAobi5wZXJzaXN0ID0gZSwgbi5wZXJzaXN0LmRhdGEoIm1vZGFsUGVyc2lzdFBhcmVudCIsIGUucGFyZW50KCkpKSA6IGUgPSAic3RyaW5nIiA9PSB0eXBlb2YgZSB8fCAibnVtYmVyIiA9PSB0eXBlb2YgZSA/IGEuJCgiPGRpdj48L2Rpdj4iKS5odG1sKGUpIDogYS4kKCI8ZGl2PjwvZGl2PiIpLmh0bWwoIlVJa2l0Lm1vZGFsIEVycm9yOiBVbnN1cHBvcnRlZCBkYXRhIHR5cGU6ICIgKyB0eXBlb2YgZSksIGUuYXBwZW5kVG8obi5lbGVtZW50LmZpbmQoIi51ay1tb2RhbC1kaWFsb2ciKSkpLCBvCiAgICB9LCBhLm1vZGFsLmRpYWxvZy50ZW1wbGF0ZSA9ICc8ZGl2IGNsYXNzPSJ1ay1tb2RhbCI+PGRpdiBjbGFzcz0idWstbW9kYWwtZGlhbG9nIiBzdHlsZT0ibWluLWhlaWdodDowOyI+PC9kaXY+PC9kaXY+JywgYS5tb2RhbC5hbGVydCA9IGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICBpID0gYS4kLmV4dGVuZCghMCwgewogICAgICAgICAgICBiZ2Nsb3NlOiAhMSwKICAgICAgICAgICAga2V5Ym9hcmQ6ICExLAogICAgICAgICAgICBtb2RhbDogITEsCiAgICAgICAgICAgIGxhYmVsczogYS5tb2RhbC5sYWJlbHMKICAgICAgICB9LCBpKTsKICAgICAgICB2YXIgZSA9IGEubW9kYWwuZGlhbG9nKFsnPGRpdiBjbGFzcz0idWstbWFyZ2luIHVrLW1vZGFsLWNvbnRlbnQiPicgKyBTdHJpbmcodCkgKyAiPC9kaXY+IiwgJzxkaXYgY2xhc3M9InVrLW1vZGFsLWZvb3RlciB1ay10ZXh0LXJpZ2h0Ij48YnV0dG9uIGNsYXNzPSJ1ay1idXR0b24gdWstYnV0dG9uLXByaW1hcnkgdWstbW9kYWwtY2xvc2UiPicgKyBpLmxhYmVscy5PayArICI8L2J1dHRvbj48L2Rpdj4iXS5qb2luKCIiKSwgaSk7CiAgICAgICAgcmV0dXJuIGUub24oInNob3cudWsubW9kYWwiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGUuZWxlbWVudC5maW5kKCJidXR0b246Zmlyc3QiKS5mb2N1cygpCiAgICAgICAgICAgIH0sIDUwKQogICAgICAgIH0pLCBlLnNob3coKQogICAgfSwgYS5tb2RhbC5jb25maXJtID0gZnVuY3Rpb24odCwgaSwgZSkgewogICAgICAgIHZhciBuID0gMSA8IGFyZ3VtZW50cy5sZW5ndGggJiYgYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXSA/IGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoIC0gMV0gOiB7fTsKICAgICAgICBpID0gYS4kLmlzRnVuY3Rpb24oaSkgPyBpIDogZnVuY3Rpb24oKSB7fSwgZSA9IGEuJC5pc0Z1bmN0aW9uKGUpID8gZSA6IGZ1bmN0aW9uKCkge30sIG4gPSBhLiQuZXh0ZW5kKCEwLCB7CiAgICAgICAgICAgIGJnY2xvc2U6ICExLAogICAgICAgICAgICBrZXlib2FyZDogITEsCiAgICAgICAgICAgIG1vZGFsOiAhMSwKICAgICAgICAgICAgbGFiZWxzOiBhLm1vZGFsLmxhYmVscwogICAgICAgIH0sIGEuJC5pc0Z1bmN0aW9uKG4pID8ge30gOiBuKTsKICAgICAgICB2YXIgbyA9IGEubW9kYWwuZGlhbG9nKFsnPGRpdiBjbGFzcz0idWstbWFyZ2luIHVrLW1vZGFsLWNvbnRlbnQiPicgKyBTdHJpbmcodCkgKyAiPC9kaXY+IiwgJzxkaXYgY2xhc3M9InVrLW1vZGFsLWZvb3RlciB1ay10ZXh0LXJpZ2h0Ij48YnV0dG9uIGNsYXNzPSJ1ay1idXR0b24ganMtbW9kYWwtY29uZmlybS1jYW5jZWwiPicgKyBuLmxhYmVscy5DYW5jZWwgKyAnPC9idXR0b24+IDxidXR0b24gY2xhc3M9InVrLWJ1dHRvbiB1ay1idXR0b24tcHJpbWFyeSBqcy1tb2RhbC1jb25maXJtIj4nICsgbi5sYWJlbHMuT2sgKyAiPC9idXR0b24+PC9kaXY+Il0uam9pbigiIiksIG4pOwogICAgICAgIHJldHVybiBvLmVsZW1lbnQuZmluZCgiLmpzLW1vZGFsLWNvbmZpcm0sIC5qcy1tb2RhbC1jb25maXJtLWNhbmNlbCIpLm9uKCJjbGljayIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICBhLiQodGhpcykuaXMoIi5qcy1tb2RhbC1jb25maXJtIikgPyBpKCkgOiBlKCksIG8uaGlkZSgpCiAgICAgICAgfSksIG8ub24oInNob3cudWsubW9kYWwiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIG8uZWxlbWVudC5maW5kKCIuanMtbW9kYWwtY29uZmlybSIpLmZvY3VzKCkKICAgICAgICAgICAgfSwgNTApCiAgICAgICAgfSksIG8uc2hvdygpCiAgICB9LCBhLm1vZGFsLnByb21wdCA9IGZ1bmN0aW9uKHQsIGksIGUsIG4pIHsKICAgICAgICBlID0gYS4kLmlzRnVuY3Rpb24oZSkgPyBlIDogZnVuY3Rpb24oKSB7fSwgbiA9IGEuJC5leHRlbmQoITAsIHsKICAgICAgICAgICAgYmdjbG9zZTogITEsCiAgICAgICAgICAgIGtleWJvYXJkOiAhMSwKICAgICAgICAgICAgbW9kYWw6ICExLAogICAgICAgICAgICBsYWJlbHM6IGEubW9kYWwubGFiZWxzCiAgICAgICAgfSwgbik7CiAgICAgICAgdmFyIG8gPSBhLm1vZGFsLmRpYWxvZyhbdCA/ICc8ZGl2IGNsYXNzPSJ1ay1tb2RhbC1jb250ZW50IHVrLWZvcm0iPicgKyBTdHJpbmcodCkgKyAiPC9kaXY+IiA6ICIiLCAnPGRpdiBjbGFzcz0idWstbWFyZ2luLXNtYWxsLXRvcCB1ay1tb2RhbC1jb250ZW50IHVrLWZvcm0iPjxwPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0idWstd2lkdGgtMS0xIj48L3A+PC9kaXY+JywgJzxkaXYgY2xhc3M9InVrLW1vZGFsLWZvb3RlciB1ay10ZXh0LXJpZ2h0Ij48YnV0dG9uIGNsYXNzPSJ1ay1idXR0b24gdWstbW9kYWwtY2xvc2UiPicgKyBuLmxhYmVscy5DYW5jZWwgKyAnPC9idXR0b24+IDxidXR0b24gY2xhc3M9InVrLWJ1dHRvbiB1ay1idXR0b24tcHJpbWFyeSBqcy1tb2RhbC1vayI+JyArIG4ubGFiZWxzLk9rICsgIjwvYnV0dG9uPjwvZGl2PiJdLmpvaW4oIiIpLCBuKSwKICAgICAgICAgICAgcyA9IG8uZWxlbWVudC5maW5kKCJpbnB1dFt0eXBlPSd0ZXh0J10iKS52YWwoaSB8fCAiIikub24oImtleXVwIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgMTMgPT0gdC5rZXlDb2RlICYmIG8uZWxlbWVudC5maW5kKCIuanMtbW9kYWwtb2siKS50cmlnZ2VyKCJjbGljayIpCiAgICAgICAgICAgIH0pOwogICAgICAgIHJldHVybiBvLmVsZW1lbnQuZmluZCgiLmpzLW1vZGFsLW9rIikub24oImNsaWNrIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICExICE9PSBlKHMudmFsKCkpICYmIG8uaGlkZSgpCiAgICAgICAgfSksIG8uc2hvdygpCiAgICB9LCBhLm1vZGFsLmJsb2NrVUkgPSBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgdmFyIGUgPSBhLm1vZGFsLmRpYWxvZyhbJzxkaXYgY2xhc3M9InVrLW1hcmdpbiB1ay1tb2RhbC1jb250ZW50Ij4nICsgU3RyaW5nKHQgfHwgJzxkaXYgY2xhc3M9InVrLXRleHQtY2VudGVyIj4uLi48L2Rpdj4nKSArICI8L2Rpdj4iXS5qb2luKCIiKSwgYS4kLmV4dGVuZCh7CiAgICAgICAgICAgIGJnY2xvc2U6ICExLAogICAgICAgICAgICBrZXlib2FyZDogITEsCiAgICAgICAgICAgIG1vZGFsOiAhMQogICAgICAgIH0sIGkpKTsKICAgICAgICByZXR1cm4gZS5jb250ZW50ID0gZS5lbGVtZW50LmZpbmQoIi51ay1tb2RhbC1jb250ZW50OmZpcnN0IiksIGUuc2hvdygpCiAgICB9LCBhLm1vZGFsLmxhYmVscyA9IHsKICAgICAgICBPazogIk9rIiwKICAgICAgICBDYW5jZWw6ICJDYW5jZWwiCiAgICB9Cn0oVUlraXQpLApmdW5jdGlvbihhKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICBhLmNvbXBvbmVudCgibmF2IiwgewogICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgIHRvZ2dsZTogJz5saS51ay1wYXJlbnQgPiBhW2hyZWY9IiMiXScsCiAgICAgICAgICAgIGxpc3RzOiAiPmxpLnVrLXBhcmVudCA+IHVsIiwKICAgICAgICAgICAgbXVsdGlwbGU6ICExCiAgICAgICAgfSwKICAgICAgICBib290OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgYS5yZWFkeShmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBhLiQoIltkYXRhLXVrLW5hdl0iLCB0KS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gYS4kKHRoaXMpOwogICAgICAgICAgICAgICAgICAgIHQuZGF0YSgibmF2IikgfHwgYS5uYXYodCwgYS5VdGlscy5vcHRpb25zKHQuYXR0cigiZGF0YS11ay1uYXYiKSkpCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpczsKICAgICAgICAgICAgdGhpcy5vbigiY2xpY2sudWsubmF2IiwgdGhpcy5vcHRpb25zLnRvZ2dsZSwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgdmFyIGkgPSBhLiQodGhpcyk7CiAgICAgICAgICAgICAgICBlLm9wZW4oaS5wYXJlbnQoKVswXSA9PSBlLmVsZW1lbnRbMF0gPyBpIDogaS5wYXJlbnQoImxpIikpCiAgICAgICAgICAgIH0pLCB0aGlzLnVwZGF0ZSgpLCBhLmRvbU9ic2VydmUodGhpcy5lbGVtZW50LCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGUuZWxlbWVudC5maW5kKGUub3B0aW9ucy5saXN0cykubm90KCJbcm9sZV0iKS5sZW5ndGggJiYgZS51cGRhdGUoKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgdXBkYXRlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIG4gPSB0aGlzOwogICAgICAgICAgICB0aGlzLmZpbmQodGhpcy5vcHRpb25zLmxpc3RzKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSBhLiQodGhpcykuYXR0cigicm9sZSIsICJtZW51IiksCiAgICAgICAgICAgICAgICAgICAgaSA9IHQuY2xvc2VzdCgibGkiKSwKICAgICAgICAgICAgICAgICAgICBlID0gaS5oYXNDbGFzcygidWstYWN0aXZlIik7CiAgICAgICAgICAgICAgICBpLmRhdGEoImxpc3QtY29udGFpbmVyIikgfHwgKHQud3JhcCgnPGRpdiBzdHlsZT0ib3ZlcmZsb3c6aGlkZGVuO2hlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlOyI+PC9kaXY+JyksIGkuZGF0YSgibGlzdC1jb250YWluZXIiLCB0LnBhcmVudCgpW2UgPyAicmVtb3ZlQ2xhc3MiIDogImFkZENsYXNzIl0oInVrLWhpZGRlbiIpKSksIGkuYXR0cigiYXJpYS1leHBhbmRlZCIsIGkuaGFzQ2xhc3MoInVrLW9wZW4iKSksIGUgJiYgbi5vcGVuKGksICEwKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgb3BlbjogZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMsCiAgICAgICAgICAgICAgICBuID0gdGhpcy5lbGVtZW50LAogICAgICAgICAgICAgICAgbyA9IGEuJCh0KSwKICAgICAgICAgICAgICAgIHMgPSBvLmRhdGEoImxpc3QtY29udGFpbmVyIik7CiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5tdWx0aXBsZSB8fCBuLmNoaWxkcmVuKCIudWstb3BlbiIpLm5vdCh0KS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSBhLiQodGhpcyk7CiAgICAgICAgICAgICAgICB0LmRhdGEoImxpc3QtY29udGFpbmVyIikgJiYgdC5kYXRhKCJsaXN0LWNvbnRhaW5lciIpLnN0b3AoKS5hbmltYXRlKHsKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDAKICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGEuJCh0aGlzKS5wYXJlbnQoKS5yZW1vdmVDbGFzcygidWstb3BlbiIpLmVuZCgpLmFkZENsYXNzKCJ1ay1oaWRkZW4iKQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSksIG8udG9nZ2xlQ2xhc3MoInVrLW9wZW4iKSwgby5hdHRyKCJhcmlhLWV4cGFuZGVkIiwgby5oYXNDbGFzcygidWstb3BlbiIpKSwgcyAmJiAoby5oYXNDbGFzcygidWstb3BlbiIpICYmIHMucmVtb3ZlQ2xhc3MoInVrLWhpZGRlbiIpLCBpID8gKHMuc3RvcCgpLmhlaWdodChvLmhhc0NsYXNzKCJ1ay1vcGVuIikgPyAiYXV0byIgOiAwKSwgby5oYXNDbGFzcygidWstb3BlbiIpIHx8IHMuYWRkQ2xhc3MoInVrLWhpZGRlbiIpLCB0aGlzLnRyaWdnZXIoImRpc3BsYXkudWsuY2hlY2siKSkgOiBzLnN0b3AoKS5hbmltYXRlKHsKICAgICAgICAgICAgICAgIGhlaWdodDogby5oYXNDbGFzcygidWstb3BlbiIpID8gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBpID0gYS4kKHQpLAogICAgICAgICAgICAgICAgICAgICAgICBlID0gImF1dG8iOwogICAgICAgICAgICAgICAgICAgIGlmIChpLmlzKCI6dmlzaWJsZSIpKSBlID0gaS5vdXRlckhlaWdodCgpOwogICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpLmNzcygicG9zaXRpb24iKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGkuY3NzKCJ2aXNpYmlsaXR5IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpLmNzcygiZGlzcGxheSIpCiAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICAgIGUgPSBpLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogImFic29sdXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICJoaWRkZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogImJsb2NrIgogICAgICAgICAgICAgICAgICAgICAgICB9KS5vdXRlckhlaWdodCgpLCBpLmNzcyhuKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZQogICAgICAgICAgICAgICAgfShzLmZpbmQoInVsOmZpcnN0IikpIDogMAogICAgICAgICAgICB9LCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIG8uaGFzQ2xhc3MoInVrLW9wZW4iKSA/IHMuY3NzKCJoZWlnaHQiLCAiIikgOiBzLmFkZENsYXNzKCJ1ay1oaWRkZW4iKSwgZS50cmlnZ2VyKCJkaXNwbGF5LnVrLmNoZWNrIikKICAgICAgICAgICAgfSkpCiAgICAgICAgfQogICAgfSkKfShVSWtpdCksCmZ1bmN0aW9uKHIpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBsID0gewogICAgICAgICAgICB4OiB3aW5kb3cuc2Nyb2xsWCwKICAgICAgICAgICAgeTogd2luZG93LnNjcm9sbFkKICAgICAgICB9LAogICAgICAgIGMgPSAoci4kd2luLCByLiRkb2MsIHIuJGh0bWwpLAogICAgICAgIG4gPSB7CiAgICAgICAgICAgIHNob3c6IGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgICAgICAgIGlmICgodCA9IHIuJCh0KSkubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgaSA9IHIuJC5leHRlbmQoewogICAgICAgICAgICAgICAgICAgICAgICBtb2RlOiAicHVzaCIKICAgICAgICAgICAgICAgICAgICB9LCBpKTsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IHIuJCgiYm9keSIpLAogICAgICAgICAgICAgICAgICAgICAgICBuID0gdC5maW5kKCIudWstb2ZmY2FudmFzLWJhcjpmaXJzdCIpLAogICAgICAgICAgICAgICAgICAgICAgICBvID0gInJpZ2h0IiA9PSByLmxhbmdkaXJlY3Rpb24sCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSAobi5oYXNDbGFzcygidWstb2ZmY2FudmFzLWJhci1mbGlwIikgPyAtMSA6IDEpICogKG8gPyAtMSA6IDEpLAogICAgICAgICAgICAgICAgICAgICAgICBhID0gd2luZG93LmlubmVyV2lkdGggLSBlLndpZHRoKCk7CiAgICAgICAgICAgICAgICAgICAgbCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgeDogd2luZG93LnBhZ2VYT2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICB5OiB3aW5kb3cucGFnZVlPZmZzZXQKICAgICAgICAgICAgICAgICAgICB9LCBuLmF0dHIoIm1vZGUiLCBpLm1vZGUpLCB0LmFkZENsYXNzKCJ1ay1hY3RpdmUiKSwgZS5jc3MoewogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogd2luZG93LmlubmVyV2lkdGggLSBhLAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodAogICAgICAgICAgICAgICAgICAgIH0pLmFkZENsYXNzKCJ1ay1vZmZjYW52YXMtcGFnZSIpLCAoInB1c2giID09IGkubW9kZSB8fCAicmV2ZWFsIiA9PSBpLm1vZGUpICYmIGUuY3NzKG8gPyAibWFyZ2luLXJpZ2h0IiA6ICJtYXJnaW4tbGVmdCIsIChvID8gLTEgOiAxKSAqIG4ub3V0ZXJXaWR0aCgpICogcyksICJyZXZlYWwiID09IGkubW9kZSAmJiBuLmNzcygiY2xpcCIsICJyZWN0KDAsICIgKyBuLm91dGVyV2lkdGgoKSArICJweCwgMTAwdmgsIDApIiksIGMuY3NzKCJtYXJnaW4tdG9wIiwgLTEgKiBsLnkpLndpZHRoKCksIG4uYWRkQ2xhc3MoInVrLW9mZmNhbnZhcy1iYXItc2hvdyIpLCB0aGlzLl9pbml0RWxlbWVudCh0KSwgbi50cmlnZ2VyKCJzaG93LnVrLm9mZmNhbnZhcyIsIFt0LCBuXSksIHQuYXR0cigiYXJpYS1oaWRkZW4iLCAiZmFsc2UiKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBoaWRlOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IHIuJCgiYm9keSIpLAogICAgICAgICAgICAgICAgICAgIGUgPSByLiQoIi51ay1vZmZjYW52YXMudWstYWN0aXZlIiksCiAgICAgICAgICAgICAgICAgICAgbiA9ICJyaWdodCIgPT0gci5sYW5nZGlyZWN0aW9uLAogICAgICAgICAgICAgICAgICAgIG8gPSBlLmZpbmQoIi51ay1vZmZjYW52YXMtYmFyOmZpcnN0IiksCiAgICAgICAgICAgICAgICAgICAgcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpLnJlbW92ZUNsYXNzKCJ1ay1vZmZjYW52YXMtcGFnZSIpLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogIiIKICAgICAgICAgICAgICAgICAgICAgICAgfSksIGUucmVtb3ZlQ2xhc3MoInVrLWFjdGl2ZSIpLCBvLnJlbW92ZUNsYXNzKCJ1ay1vZmZjYW52YXMtYmFyLXNob3ciKSwgYy5jc3MoIm1hcmdpbi10b3AiLCAiIiksIHdpbmRvdy5zY3JvbGxUbyhsLngsIGwueSksIG8udHJpZ2dlcigiaGlkZS51ay5vZmZjYW52YXMiLCBbZSwgb10pLCBlLmF0dHIoImFyaWEtaGlkZGVuIiwgInRydWUiKQogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICBlLmxlbmd0aCAmJiAoIm5vbmUiID09IG8uYXR0cigibW9kZSIpICYmICh0ID0gITApLCByLnN1cHBvcnQudHJhbnNpdGlvbiAmJiAhdCA/IChpLm9uZShyLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHMoKQogICAgICAgICAgICAgICAgfSkuY3NzKG4gPyAibWFyZ2luLXJpZ2h0IiA6ICJtYXJnaW4tbGVmdCIsICIiKSwgInJldmVhbCIgPT0gby5hdHRyKCJtb2RlIikgJiYgby5jc3MoImNsaXAiLCAiIiksIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgby5yZW1vdmVDbGFzcygidWstb2ZmY2FudmFzLWJhci1zaG93IikKICAgICAgICAgICAgICAgIH0sIDApKSA6IHMoKSkKICAgICAgICAgICAgfSwKICAgICAgICAgICAgX2luaXRFbGVtZW50OiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0LmRhdGEoIk9mZmNhbnZhc0luaXQiKSB8fCAodC5vbigiY2xpY2sudWsub2ZmY2FudmFzIHN3aXBlUmlnaHQudWsub2ZmY2FudmFzIHN3aXBlTGVmdC51ay5vZmZjYW52YXMiLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSByLiQodC50YXJnZXQpOwogICAgICAgICAgICAgICAgICAgIGlmICghdC50eXBlLm1hdGNoKC9zd2lwZS8pICYmICFpLmhhc0NsYXNzKCJ1ay1vZmZjYW52YXMtY2xvc2UiKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaS5oYXNDbGFzcygidWstb2ZmY2FudmFzLWJhciIpKSByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpLnBhcmVudHMoIi51ay1vZmZjYW52YXMtYmFyOmZpcnN0IikubGVuZ3RoKSByZXR1cm4KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgdC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSwgbi5oaWRlKCkKICAgICAgICAgICAgICAgIH0pLCB0Lm9uKCJjbGljayIsICdhW2hyZWYqPSIjIl0nLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHIuJCh0aGlzKSwKICAgICAgICAgICAgICAgICAgICAgICAgZSA9IHQuYXR0cigiaHJlZiIpOwogICAgICAgICAgICAgICAgICAgICIjIiAhPSBlICYmIChyLiRkb2Mub25lKCJoaWRlLnVrLm9mZmNhbnZhcyIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgaTsKICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSByLiQodFswXS5oYXNoKQogICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoICh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gIiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpLmxlbmd0aCB8fCAoaSA9IHIuJCgnW25hbWU9IicgKyB0WzBdLmhhc2gucmVwbGFjZSgiIyIsICIiKSArICciXScpKSwgaS5sZW5ndGggJiYgci5VdGlscy5zY3JvbGxUb0VsZW1lbnQgPyByLlV0aWxzLnNjcm9sbFRvRWxlbWVudChpLCByLlV0aWxzLm9wdGlvbnModC5hdHRyKCJkYXRhLXVrLXNtb290aC1zY3JvbGwiKSB8fCAie30iKSkgOiB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGUKICAgICAgICAgICAgICAgICAgICB9KSwgbi5oaWRlKCkpCiAgICAgICAgICAgICAgICB9KSwgdC5kYXRhKCJPZmZjYW52YXNJbml0IiwgITApKQogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIHIuY29tcG9uZW50KCJvZmZjYW52YXNUcmlnZ2VyIiwgewogICAgICAgIGJvb3Q6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBjLm9uKCJjbGljay5vZmZjYW52YXMudWlraXQiLCAiW2RhdGEtdWstb2ZmY2FudmFzXSIsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIHZhciBpID0gci4kKHRoaXMpOwogICAgICAgICAgICAgICAgaS5kYXRhKCJvZmZjYW52YXNUcmlnZ2VyIikgfHwgKHIub2ZmY2FudmFzVHJpZ2dlcihpLCByLlV0aWxzLm9wdGlvbnMoaS5hdHRyKCJkYXRhLXVrLW9mZmNhbnZhcyIpKSksIGkudHJpZ2dlcigiY2xpY2siKSkKICAgICAgICAgICAgfSksIGMub24oImtleWRvd24udWsub2ZmY2FudmFzIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgMjcgPT09IHQua2V5Q29kZSAmJiBuLmhpZGUoKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBpID0gdGhpczsKICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gci4kLmV4dGVuZCh7CiAgICAgICAgICAgICAgICB0YXJnZXQ6ICEhaS5lbGVtZW50LmlzKCJhIikgJiYgaS5lbGVtZW50LmF0dHIoImhyZWYiKSwKICAgICAgICAgICAgICAgIG1vZGU6ICJwdXNoIgogICAgICAgICAgICB9LCB0aGlzLm9wdGlvbnMpLCB0aGlzLm9uKCJjbGljayIsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHQucHJldmVudERlZmF1bHQoKSwgbi5zaG93KGkub3B0aW9ucy50YXJnZXQsIGkub3B0aW9ucykKICAgICAgICAgICAgfSkKICAgICAgICB9CiAgICB9KSwgci5vZmZjYW52YXMgPSBuCn0oVUlraXQpLApmdW5jdGlvbihyKSB7CiAgICAidXNlIHN0cmljdCI7CgogICAgZnVuY3Rpb24gYSh0LCBpLCBlKSB7CiAgICAgICAgdmFyIG4sIG8gPSByLiQuRGVmZXJyZWQoKSwKICAgICAgICAgICAgcyA9IHQsCiAgICAgICAgICAgIGEgPSB0OwogICAgICAgIHJldHVybiBlWzBdID09PSBpWzBdID8gby5yZXNvbHZlKCkgOiAoIm9iamVjdCIgPT0gdHlwZW9mIHQgJiYgKHMgPSB0WzBdLCBhID0gdFsxXSB8fCB0WzBdKSwgci4kYm9keS5jc3MoIm92ZXJmbG93LXgiLCAiaGlkZGVuIiksIG4gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaSAmJiBpLmhpZGUoKS5yZW1vdmVDbGFzcygidWstYWN0aXZlICIgKyBhICsgIiB1ay1hbmltYXRpb24tcmV2ZXJzZSIpLCBlLmFkZENsYXNzKHMpLm9uZShyLnN1cHBvcnQuYW5pbWF0aW9uLmVuZCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGUucmVtb3ZlQ2xhc3MoIiIgKyBzKS5jc3MoewogICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogIiIKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfSwgMCksIG8ucmVzb2x2ZSgpLCByLiRib2R5LmNzcygib3ZlcmZsb3cteCIsICIiKSwgaSAmJiBpLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogIiIsCiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogIiIKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0uYmluZCh0aGlzKSkuc2hvdygpCiAgICAgICAgfSwgZS5jc3MoImFuaW1hdGlvbi1kdXJhdGlvbiIsIHRoaXMub3B0aW9ucy5kdXJhdGlvbiArICJtcyIpLCBpICYmIGkubGVuZ3RoID8gKGkuY3NzKCJhbmltYXRpb24tZHVyYXRpb24iLCB0aGlzLm9wdGlvbnMuZHVyYXRpb24gKyAibXMiKSwgaS5jc3MoImRpc3BsYXkiLCAibm9uZSIpLmFkZENsYXNzKGEgKyAiIHVrLWFuaW1hdGlvbi1yZXZlcnNlIikub25lKHIuc3VwcG9ydC5hbmltYXRpb24uZW5kLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgbigpCiAgICAgICAgfS5iaW5kKHRoaXMpKS5jc3MoImRpc3BsYXkiLCAiIikpIDogKGUuYWRkQ2xhc3MoInVrLWFjdGl2ZSIpLCBuKCkpKSwgby5wcm9taXNlKCkKICAgIH0KICAgIHZhciBsOwogICAgci5jb21wb25lbnQoInN3aXRjaGVyIiwgewogICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgIGNvbm5lY3Q6ICExLAogICAgICAgICAgICB0b2dnbGU6ICI+KiIsCiAgICAgICAgICAgIGFjdGl2ZTogMCwKICAgICAgICAgICAgYW5pbWF0aW9uOiAhMSwKICAgICAgICAgICAgZHVyYXRpb246IDIwMCwKICAgICAgICAgICAgc3dpcGluZzogITAKICAgICAgICB9LAogICAgICAgIGFuaW1hdGluZzogITEsCiAgICAgICAgYm9vdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHIucmVhZHkoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgci4kKCJbZGF0YS11ay1zd2l0Y2hlcl0iLCB0KS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gci4kKHRoaXMpOwogICAgICAgICAgICAgICAgICAgIHQuZGF0YSgic3dpdGNoZXIiKSB8fCByLnN3aXRjaGVyKHQsIHIuVXRpbHMub3B0aW9ucyh0LmF0dHIoImRhdGEtdWstc3dpdGNoZXIiKSkpCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBlID0gdGhpczsKICAgICAgICAgICAgdGhpcy5vbigiY2xpY2sudWsuc3dpdGNoZXIiLCB0aGlzLm9wdGlvbnMudG9nZ2xlLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0LnByZXZlbnREZWZhdWx0KCksIGUuc2hvdyh0aGlzKQogICAgICAgICAgICB9KSwgdGhpcy5vcHRpb25zLmNvbm5lY3QgJiYgKHRoaXMuY29ubmVjdCA9IHIuJCh0aGlzLm9wdGlvbnMuY29ubmVjdCksIHRoaXMuY29ubmVjdC5sZW5ndGggJiYgKHRoaXMuY29ubmVjdC5vbigiY2xpY2sudWsuc3dpdGNoZXIiLCAiW2RhdGEtdWstc3dpdGNoZXItaXRlbV0iLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB2YXIgaSA9IHIuJCh0aGlzKS5hdHRyKCJkYXRhLXVrLXN3aXRjaGVyLWl0ZW0iKTsKICAgICAgICAgICAgICAgIGlmIChlLmluZGV4ICE9IGkpIHN3aXRjaCAoaSkgewogICAgICAgICAgICAgICAgICAgIGNhc2UgIm5leHQiOgogICAgICAgICAgICAgICAgICAgIGNhc2UgInByZXZpb3VzIjoKICAgICAgICAgICAgICAgICAgICAgICAgZS5zaG93KGUuaW5kZXggKyAoIm5leHQiID09IGkgPyAxIDogLTEpKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgZS5zaG93KHBhcnNlSW50KGksIDEwKSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSksIHRoaXMub3B0aW9ucy5zd2lwaW5nICYmIHRoaXMuY29ubmVjdC5vbigic3dpcGVSaWdodCBzd2lwZUxlZnQiLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0LnByZXZlbnREZWZhdWx0KCksIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIHx8IGUuc2hvdyhlLmluZGV4ICsgKCJzd2lwZUxlZnQiID09IHQudHlwZSA/IDEgOiAtMSkpCiAgICAgICAgICAgIH0pLCB0aGlzLnVwZGF0ZSgpKSkKICAgICAgICB9LAogICAgICAgIHVwZGF0ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHRoaXMuY29ubmVjdC5jaGlsZHJlbigpLnJlbW92ZUNsYXNzKCJ1ay1hY3RpdmUiKS5hdHRyKCJhcmlhLWhpZGRlbiIsICJ0cnVlIik7CiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5maW5kKHRoaXMub3B0aW9ucy50b2dnbGUpLAogICAgICAgICAgICAgICAgaSA9IHQuZmlsdGVyKCIudWstYWN0aXZlIik7CiAgICAgICAgICAgIGlmIChpLmxlbmd0aCkgdGhpcy5zaG93KGksICExKTsKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoITEgPT09IHRoaXMub3B0aW9ucy5hY3RpdmUpIHJldHVybjsKICAgICAgICAgICAgICAgIGkgPSB0LmVxKHRoaXMub3B0aW9ucy5hY3RpdmUpLCB0aGlzLnNob3coaS5sZW5ndGggPyBpIDogdC5lcSgwKSwgITEpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgdC5ub3QoaSkuYXR0cigiYXJpYS1leHBhbmRlZCIsICJmYWxzZSIpLCBpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCAidHJ1ZSIpCiAgICAgICAgfSwKICAgICAgICBzaG93OiBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgIGlmICghdGhpcy5hbmltYXRpbmcpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcy5maW5kKHRoaXMub3B0aW9ucy50b2dnbGUpOwogICAgICAgICAgICAgICAgdCA9IGlzTmFOKHQpID8gci4kKHQpIDogKHQgPSB0IDwgMCA/IGUubGVuZ3RoIC0gMSA6IHQsIGUuZXEoZVt0XSA/IHQgOiAwKSk7CiAgICAgICAgICAgICAgICB2YXIgbyA9IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgbiA9IHIuJCh0KSwKICAgICAgICAgICAgICAgICAgICBzID0gbFt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uXSB8fCBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghby5vcHRpb25zLmFuaW1hdGlvbikgcmV0dXJuIGwubm9uZS5hcHBseShvKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBvLm9wdGlvbnMuYW5pbWF0aW9uLnNwbGl0KCIsIik7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxID09IGUubGVuZ3RoICYmIChlWzFdID0gZVswXSksIGVbMF0gPSBlWzBdLnRyaW0oKSwgZVsxXSA9IGVbMV0udHJpbSgpLCBhLmFwcGx5KG8sIFtlLCB0LCBpXSkKICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgITEgIT09IGkgJiYgci5zdXBwb3J0LmFuaW1hdGlvbiB8fCAocyA9IGwubm9uZSksIG4uaGFzQ2xhc3MoInVrLWRpc2FibGVkIikgfHwgKGUuYXR0cigiYXJpYS1leHBhbmRlZCIsICJmYWxzZSIpLCBuLmF0dHIoImFyaWEtZXhwYW5kZWQiLCAidHJ1ZSIpLCBlLmZpbHRlcigiLnVrLWFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJ1ay1hY3RpdmUiKSwgbi5hZGRDbGFzcygidWstYWN0aXZlIiksIHRoaXMub3B0aW9ucy5jb25uZWN0ICYmIHRoaXMuY29ubmVjdC5sZW5ndGggJiYgKHRoaXMuaW5kZXggPSB0aGlzLmZpbmQodGhpcy5vcHRpb25zLnRvZ2dsZSkuaW5kZXgobiksIC0xID09IHRoaXMuaW5kZXggJiYgKHRoaXMuaW5kZXggPSAwKSwgdGhpcy5jb25uZWN0LmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSByLiQodGhpcyksCiAgICAgICAgICAgICAgICAgICAgICAgIGkgPSByLiQodC5jaGlsZHJlbigpKSwKICAgICAgICAgICAgICAgICAgICAgICAgZSA9IHIuJChpLmZpbHRlcigiLnVrLWFjdGl2ZSIpKSwKICAgICAgICAgICAgICAgICAgICAgICAgbiA9IHIuJChpLmVxKG8uaW5kZXgpKTsKICAgICAgICAgICAgICAgICAgICBvLmFuaW1hdGluZyA9ICEwLCBzLmFwcGx5KG8sIFtlLCBuXSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZS5yZW1vdmVDbGFzcygidWstYWN0aXZlIiksIG4uYWRkQ2xhc3MoInVrLWFjdGl2ZSIpLCBlLmF0dHIoImFyaWEtaGlkZGVuIiwgInRydWUiKSwgbi5hdHRyKCJhcmlhLWhpZGRlbiIsICJmYWxzZSIpLCByLlV0aWxzLmNoZWNrRGlzcGxheShuLCAhMCksIG8uYW5pbWF0aW5nID0gITEKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfSkpLCB0aGlzLnRyaWdnZXIoInNob3cudWsuc3dpdGNoZXIiLCBbbl0pKQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSksIGwgPSB7CiAgICAgICAgbm9uZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0ID0gci4kLkRlZmVycmVkKCk7CiAgICAgICAgICAgIHJldHVybiB0LnJlc29sdmUoKSwgdC5wcm9taXNlKCkKICAgICAgICB9LAogICAgICAgIGZhZGU6IGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIGEuYXBwbHkodGhpcywgWyJ1ay1hbmltYXRpb24tZmFkZSIsIHQsIGldKQogICAgICAgIH0sCiAgICAgICAgInNsaWRlLWJvdHRvbSI6IGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIGEuYXBwbHkodGhpcywgWyJ1ay1hbmltYXRpb24tc2xpZGUtYm90dG9tIiwgdCwgaV0pCiAgICAgICAgfSwKICAgICAgICAic2xpZGUtdG9wIjogZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICByZXR1cm4gYS5hcHBseSh0aGlzLCBbInVrLWFuaW1hdGlvbi1zbGlkZS10b3AiLCB0LCBpXSkKICAgICAgICB9LAogICAgICAgICJzbGlkZS12ZXJ0aWNhbCI6IGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgICAgdmFyIGUgPSBbInVrLWFuaW1hdGlvbi1zbGlkZS10b3AiLCAidWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbSJdOwogICAgICAgICAgICByZXR1cm4gdCAmJiB0LmluZGV4KCkgPiBpLmluZGV4KCkgJiYgZS5yZXZlcnNlKCksIGEuYXBwbHkodGhpcywgW2UsIHQsIGldKQogICAgICAgIH0sCiAgICAgICAgInNsaWRlLWxlZnQiOiBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgIHJldHVybiBhLmFwcGx5KHRoaXMsIFsidWstYW5pbWF0aW9uLXNsaWRlLWxlZnQiLCB0LCBpXSkKICAgICAgICB9LAogICAgICAgICJzbGlkZS1yaWdodCI6IGZ1bmN0aW9uKHQsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIGEuYXBwbHkodGhpcywgWyJ1ay1hbmltYXRpb24tc2xpZGUtcmlnaHQiLCB0LCBpXSkKICAgICAgICB9LAogICAgICAgICJzbGlkZS1ob3Jpem9udGFsIjogZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICB2YXIgZSA9IFsidWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0IiwgInVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0Il07CiAgICAgICAgICAgIHJldHVybiB0ICYmIHQuaW5kZXgoKSA+IGkuaW5kZXgoKSAmJiBlLnJldmVyc2UoKSwgYS5hcHBseSh0aGlzLCBbZSwgdCwgaV0pCiAgICAgICAgfSwKICAgICAgICBzY2FsZTogZnVuY3Rpb24odCwgaSkgewogICAgICAgICAgICByZXR1cm4gYS5hcHBseSh0aGlzLCBbInVrLWFuaW1hdGlvbi1zY2FsZS11cCIsIHQsIGldKQogICAgICAgIH0KICAgIH0sIHIuc3dpdGNoZXIuYW5pbWF0aW9ucyA9IGwKfShVSWtpdCksCmZ1bmN0aW9uKGEpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIGEuY29tcG9uZW50KCJ0YWIiLCB7CiAgICAgICAgZGVmYXVsdHM6IHsKICAgICAgICAgICAgdGFyZ2V0OiAiPmxpOm5vdCgudWstdGFiLXJlc3BvbnNpdmUsIC51ay1kaXNhYmxlZCkiLAogICAgICAgICAgICBjb25uZWN0OiAhMSwKICAgICAgICAgICAgYWN0aXZlOiAwLAogICAgICAgICAgICBhbmltYXRpb246ICExLAogICAgICAgICAgICBkdXJhdGlvbjogMjAwLAogICAgICAgICAgICBzd2lwaW5nOiAhMAogICAgICAgIH0sCiAgICAgICAgYm9vdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGEucmVhZHkoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgYS4kKCJbZGF0YS11ay10YWJdIiwgdCkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGEuJCh0aGlzKTsKICAgICAgICAgICAgICAgICAgICB0LmRhdGEoInRhYiIpIHx8IGEudGFiKHQsIGEuVXRpbHMub3B0aW9ucyh0LmF0dHIoImRhdGEtdWstdGFiIikpKQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIGluaXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXM7CiAgICAgICAgICAgIHRoaXMuY3VycmVudCA9ICExLCB0aGlzLm9uKCJjbGljay51ay50YWIiLCB0aGlzLm9wdGlvbnMudGFyZ2V0LCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBpZiAodC5wcmV2ZW50RGVmYXVsdCgpLCAhZS5zd2l0Y2hlciB8fCAhZS5zd2l0Y2hlci5hbmltYXRpbmcpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IGUuZmluZChlLm9wdGlvbnMudGFyZ2V0KS5ub3QodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgaS5yZW1vdmVDbGFzcygidWstYWN0aXZlIikuYmx1cigpLCBlLnRyaWdnZXIoImNoYW5nZS51ay50YWIiLCBbYS4kKHRoaXMpLmFkZENsYXNzKCJ1ay1hY3RpdmUiKSwgZS5jdXJyZW50XSksIGUuY3VycmVudCA9IGEuJCh0aGlzKSwgZS5vcHRpb25zLmNvbm5lY3QgfHwgKGkuYXR0cigiYXJpYS1leHBhbmRlZCIsICJmYWxzZSIpLCBhLiQodGhpcykuYXR0cigiYXJpYS1leHBhbmRlZCIsICJ0cnVlIikpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLCB0aGlzLm9wdGlvbnMuY29ubmVjdCAmJiAodGhpcy5jb25uZWN0ID0gYS4kKHRoaXMub3B0aW9ucy5jb25uZWN0KSksIHRoaXMucmVzcG9uc2l2ZXRhYiA9IGEuJCgnPGxpIGNsYXNzPSJ1ay10YWItcmVzcG9uc2l2ZSB1ay1hY3RpdmUiPjxhPjwvYT48L2xpPicpLmFwcGVuZCgnPGRpdiBjbGFzcz0idWstZHJvcGRvd24gdWstZHJvcGRvd24tc21hbGwiPjx1bCBjbGFzcz0idWstbmF2IHVrLW5hdi1kcm9wZG93biI+PC91bD48ZGl2PicpLCB0aGlzLnJlc3BvbnNpdmV0YWIuZHJvcGRvd24gPSB0aGlzLnJlc3BvbnNpdmV0YWIuZmluZCgiLnVrLWRyb3Bkb3duIiksIHRoaXMucmVzcG9uc2l2ZXRhYi5sc3QgPSB0aGlzLnJlc3BvbnNpdmV0YWIuZHJvcGRvd24uZmluZCgidWwiKSwgdGhpcy5yZXNwb25zaXZldGFiLmNhcHRpb24gPSB0aGlzLnJlc3BvbnNpdmV0YWIuZmluZCgiYTpmaXJzdCIpLCB0aGlzLmVsZW1lbnQuaGFzQ2xhc3MoInVrLXRhYi1ib3R0b20iKSAmJiB0aGlzLnJlc3BvbnNpdmV0YWIuZHJvcGRvd24uYWRkQ2xhc3MoInVrLWRyb3Bkb3duLXVwIiksIHRoaXMucmVzcG9uc2l2ZXRhYi5sc3Qub24oImNsaWNrLnVrLnRhYiIsICJhIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdC5wcmV2ZW50RGVmYXVsdCgpLCB0LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgdmFyIGkgPSBhLiQodGhpcyk7CiAgICAgICAgICAgICAgICBlLmVsZW1lbnQuY2hpbGRyZW4oImxpOm5vdCgudWstdGFiLXJlc3BvbnNpdmUpIikuZXEoaS5kYXRhKCJpbmRleCIpKS50cmlnZ2VyKCJjbGljayIpCiAgICAgICAgICAgIH0pLCB0aGlzLm9uKCJzaG93LnVrLnN3aXRjaGVyIGNoYW5nZS51ay50YWIiLCBmdW5jdGlvbih0LCBpKSB7CiAgICAgICAgICAgICAgICBlLnJlc3BvbnNpdmV0YWIuY2FwdGlvbi5odG1sKGkudGV4dCgpKQogICAgICAgICAgICB9KSwgdGhpcy5lbGVtZW50LmFwcGVuZCh0aGlzLnJlc3BvbnNpdmV0YWIpLCB0aGlzLm9wdGlvbnMuY29ubmVjdCAmJiAodGhpcy5zd2l0Y2hlciA9IGEuc3dpdGNoZXIodGhpcy5lbGVtZW50LCB7CiAgICAgICAgICAgICAgICB0b2dnbGU6ICI+bGk6bm90KC51ay10YWItcmVzcG9uc2l2ZSkiLAogICAgICAgICAgICAgICAgY29ubmVjdDogdGhpcy5vcHRpb25zLmNvbm5lY3QsCiAgICAgICAgICAgICAgICBhY3RpdmU6IHRoaXMub3B0aW9ucy5hY3RpdmUsCiAgICAgICAgICAgICAgICBhbmltYXRpb246IHRoaXMub3B0aW9ucy5hbmltYXRpb24sCiAgICAgICAgICAgICAgICBkdXJhdGlvbjogdGhpcy5vcHRpb25zLmR1cmF0aW9uLAogICAgICAgICAgICAgICAgc3dpcGluZzogdGhpcy5vcHRpb25zLnN3aXBpbmcKICAgICAgICAgICAgfSkpLCBhLmRyb3Bkb3duKHRoaXMucmVzcG9uc2l2ZXRhYiwgewogICAgICAgICAgICAgICAgbW9kZTogImNsaWNrIiwKICAgICAgICAgICAgICAgIHByZXZlbnRmbGlwOiAieSIKICAgICAgICAgICAgfSksIGUudHJpZ2dlcigiY2hhbmdlLnVrLnRhYiIsIFt0aGlzLmVsZW1lbnQuZmluZCh0aGlzLm9wdGlvbnMudGFyZ2V0KS5ub3QoIi51ay10YWItcmVzcG9uc2l2ZSIpLmZpbHRlcigiLnVrLWFjdGl2ZSIpXSksIHRoaXMuY2hlY2soKSwgYS4kd2luLm9uKCJyZXNpemUgb3JpZW50YXRpb25jaGFuZ2UiLCBhLlV0aWxzLmRlYm91bmNlKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpICYmIGUuY2hlY2soKQogICAgICAgICAgICB9LCAxMDApKSwgdGhpcy5vbigiZGlzcGxheS51ay5jaGVjayIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpICYmIGUuY2hlY2soKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgY2hlY2s6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHRoaXMuZWxlbWVudC5jaGlsZHJlbigibGk6bm90KC51ay10YWItcmVzcG9uc2l2ZSkiKS5yZW1vdmVDbGFzcygidWstaGlkZGVuIik7CiAgICAgICAgICAgIGlmICh0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgdmFyIGksIGUsIG4gPSB0LmVxKDApLm9mZnNldCgpLnRvcCArIE1hdGguY2VpbCh0LmVxKDApLmhlaWdodCgpIC8gMiksCiAgICAgICAgICAgICAgICAgICAgbyA9ICExOwogICAgICAgICAgICAgICAgaWYgKHRoaXMucmVzcG9uc2l2ZXRhYi5sc3QuZW1wdHkoKSwgdC5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBhLiQodGhpcykub2Zmc2V0KCkudG9wID4gbiAmJiAobyA9ICEwKQogICAgICAgICAgICAgICAgICAgIH0pLCBvKQogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIHMgPSAwOyBzIDwgdC5sZW5ndGg7IHMrKykoaSA9IGEuJCh0LmVxKHMpKSkuZmluZCgiYSIpLCAibm9uZSIgPT0gaS5jc3MoImZsb2F0IikgfHwgaS5hdHRyKCJ1ay1kcm9wZG93biIpIHx8IChpLmhhc0NsYXNzKCJ1ay1kaXNhYmxlZCIpIHx8ICgoZSA9IGEuJChpWzBdLm91dGVySFRNTCkpLmZpbmQoImEiKS5kYXRhKCJpbmRleCIsIHMpLCB0aGlzLnJlc3BvbnNpdmV0YWIubHN0LmFwcGVuZChlKSksIGkuYWRkQ2xhc3MoInVrLWhpZGRlbiIpKTsKICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2l2ZXRhYlt0aGlzLnJlc3BvbnNpdmV0YWIubHN0LmNoaWxkcmVuKCJsaSIpLmxlbmd0aCA/ICJyZW1vdmVDbGFzcyIgOiAiYWRkQ2xhc3MiXSgidWstaGlkZGVuIikKICAgICAgICAgICAgfSBlbHNlIHRoaXMucmVzcG9uc2l2ZXRhYi5hZGRDbGFzcygidWstaGlkZGVuIikKICAgICAgICB9CiAgICB9KQp9KFVJa2l0KSwKZnVuY3Rpb24oaSkgewogICAgInVzZSBzdHJpY3QiOwogICAgaS5jb21wb25lbnQoImNvdmVyIiwgewogICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgIGF1dG9tdXRlOiAhMAogICAgICAgIH0sCiAgICAgICAgYm9vdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGkucmVhZHkoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgaS4kKCJbZGF0YS11ay1jb3Zlcl0iLCB0KS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gaS4kKHRoaXMpOwogICAgICAgICAgICAgICAgICAgIHQuZGF0YSgiY292ZXIiKSB8fCBpLmNvdmVyKHQsIGkuVXRpbHMub3B0aW9ucyh0LmF0dHIoImRhdGEtdWstY292ZXIiKSkpCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmICh0aGlzLnBhcmVudCA9IHRoaXMuZWxlbWVudC5wYXJlbnQoKSwgaS4kd2luLm9uKCJsb2FkIHJlc2l6ZSBvcmllbnRhdGlvbmNoYW5nZSIsIGkuVXRpbHMuZGVib3VuY2UoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVjaygpCiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcyksIDEwMCkpLCB0aGlzLm9uKCJkaXNwbGF5LnVrLmNoZWNrIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmlzKCI6dmlzaWJsZSIpICYmIHRoaXMuY2hlY2soKQogICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKSwgdGhpcy5jaGVjaygpLCB0aGlzLmVsZW1lbnQuaXMoImlmcmFtZSIpICYmIHRoaXMub3B0aW9ucy5hdXRvbXV0ZSkgewogICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmVsZW1lbnQuYXR0cigic3JjIik7CiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXR0cigic3JjIiwgIiIpLm9uKCJsb2FkIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCd7ICJldmVudCI6ICJjb21tYW5kIiwgImZ1bmMiOiAibXV0ZSIsICJtZXRob2QiOiJzZXRWb2x1bWUiLCAidmFsdWUiOjB9JywgIioiKQogICAgICAgICAgICAgICAgfSkuYXR0cigic3JjIiwgW3QsIC0xIDwgdC5pbmRleE9mKCI/IikgPyAiJiIgOiAiPyIsICJlbmFibGVqc2FwaT0xJmFwaT0xIl0uam9pbigiIikpCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGNoZWNrOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdGhpcy5lbGVtZW50LmNzcyh7CiAgICAgICAgICAgICAgICB3aWR0aDogIiIsCiAgICAgICAgICAgICAgICBoZWlnaHQ6ICIiCiAgICAgICAgICAgIH0pLCB0aGlzLmRpbWVuc2lvbiA9IHsKICAgICAgICAgICAgICAgIHc6IHRoaXMuZWxlbWVudC53aWR0aCgpLAogICAgICAgICAgICAgICAgaDogdGhpcy5lbGVtZW50LmhlaWdodCgpCiAgICAgICAgICAgIH0sIHRoaXMuZWxlbWVudC5hdHRyKCJ3aWR0aCIpICYmICFpc05hTih0aGlzLmVsZW1lbnQuYXR0cigid2lkdGgiKSkgJiYgKHRoaXMuZGltZW5zaW9uLncgPSB0aGlzLmVsZW1lbnQuYXR0cigid2lkdGgiKSksIHRoaXMuZWxlbWVudC5hdHRyKCJoZWlnaHQiKSAmJiAhaXNOYU4odGhpcy5lbGVtZW50LmF0dHIoImhlaWdodCIpKSAmJiAodGhpcy5kaW1lbnNpb24uaCA9IHRoaXMuZWxlbWVudC5hdHRyKCJoZWlnaHQiKSksIHRoaXMucmF0aW8gPSB0aGlzLmRpbWVuc2lvbi53IC8gdGhpcy5kaW1lbnNpb24uaDsKICAgICAgICAgICAgdmFyIHQsIGksIGUgPSB0aGlzLnBhcmVudC53aWR0aCgpLAogICAgICAgICAgICAgICAgbiA9IHRoaXMucGFyZW50LmhlaWdodCgpOwogICAgICAgICAgICBpID0gZSAvIHRoaXMucmF0aW8gPCBuID8gKHQgPSBNYXRoLmNlaWwobiAqIHRoaXMucmF0aW8pLCBuKSA6ICh0ID0gZSwgTWF0aC5jZWlsKGUgLyB0aGlzLnJhdGlvKSksIHRoaXMuZWxlbWVudC5jc3MoewogICAgICAgICAgICAgICAgd2lkdGg6IHQsCiAgICAgICAgICAgICAgICBoZWlnaHQ6IGkKICAgICAgICAgICAgfSkKICAgICAgICB9CiAgICB9KQp9KFVJa2l0KTsKISBmdW5jdGlvbihlLCB0KSB7CiAgICAib2JqZWN0IiA9PSB0eXBlb2YgZXhwb3J0cyAmJiAidW5kZWZpbmVkIiAhPSB0eXBlb2YgbW9kdWxlID8gbW9kdWxlLmV4cG9ydHMgPSB0KCkgOiAiZnVuY3Rpb24iID09IHR5cGVvZiBkZWZpbmUgJiYgZGVmaW5lLmFtZCA/IGRlZmluZSh0KSA6IGUuUG9wcGVyID0gdCgpCn0odGhpcywgZnVuY3Rpb24oKSB7CiAgICAidXNlIHN0cmljdCI7CgogICAgZnVuY3Rpb24gcyhlKSB7CiAgICAgICAgcmV0dXJuIGUgJiYgIltvYmplY3QgRnVuY3Rpb25dIiA9PT0ge30udG9TdHJpbmcuY2FsbChlKQogICAgfQoKICAgIGZ1bmN0aW9uIHkoZSwgdCkgewogICAgICAgIGlmICgxICE9PSBlLm5vZGVUeXBlKSByZXR1cm4gW107CiAgICAgICAgdmFyIG4gPSBnZXRDb21wdXRlZFN0eWxlKGUsIG51bGwpOwogICAgICAgIHJldHVybiB0ID8gblt0XSA6IG4KICAgIH0KCiAgICBmdW5jdGlvbiBkKGUpIHsKICAgICAgICByZXR1cm4gIkhUTUwiID09PSBlLm5vZGVOYW1lID8gZSA6IGUucGFyZW50Tm9kZSB8fCBlLmhvc3QKICAgIH0KCiAgICBmdW5jdGlvbiBoKGUpIHsKICAgICAgICBpZiAoIWUpIHJldHVybiBkb2N1bWVudC5ib2R5OwogICAgICAgIHN3aXRjaCAoZS5ub2RlTmFtZSkgewogICAgICAgICAgICBjYXNlICJIVE1MIjoKICAgICAgICAgICAgY2FzZSAiQk9EWSI6CiAgICAgICAgICAgICAgICByZXR1cm4gZS5vd25lckRvY3VtZW50LmJvZHk7CiAgICAgICAgICAgIGNhc2UgIiNkb2N1bWVudCI6CiAgICAgICAgICAgICAgICByZXR1cm4gZS5ib2R5CiAgICAgICAgfQogICAgICAgIHZhciB0ID0geShlKSwKICAgICAgICAgICAgbiA9IHQub3ZlcmZsb3csCiAgICAgICAgICAgIG8gPSB0Lm92ZXJmbG93WCwKICAgICAgICAgICAgciA9IHQub3ZlcmZsb3dZOwogICAgICAgIHJldHVybiAvKGF1dG98c2Nyb2xsfG92ZXJsYXkpLy50ZXN0KG4gKyByICsgbykgPyBlIDogaChkKGUpKQogICAgfQoKICAgIGZ1bmN0aW9uIGIoZSkgewogICAgICAgIGlmICghZSkgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsKICAgICAgICBmb3IgKHZhciB0ID0gWSgxMCkgPyBkb2N1bWVudC5ib2R5IDogbnVsbCwgbiA9IGUub2Zmc2V0UGFyZW50OyBuID09PSB0ICYmIGUubmV4dEVsZW1lbnRTaWJsaW5nOykgbiA9IChlID0gZS5uZXh0RWxlbWVudFNpYmxpbmcpLm9mZnNldFBhcmVudDsKICAgICAgICB2YXIgbyA9IG4gJiYgbi5ub2RlTmFtZTsKICAgICAgICByZXR1cm4gbyAmJiAiQk9EWSIgIT09IG8gJiYgIkhUTUwiICE9PSBvID8gLTEgIT09IFsiVEQiLCAiVEFCTEUiXS5pbmRleE9mKG4ubm9kZU5hbWUpICYmICJzdGF0aWMiID09PSB5KG4sICJwb3NpdGlvbiIpID8gYihuKSA6IG4gOiBlID8gZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCA6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudAogICAgfQoKICAgIGZ1bmN0aW9uIGwoZSkgewogICAgICAgIHJldHVybiBudWxsID09PSBlLnBhcmVudE5vZGUgPyBlIDogbChlLnBhcmVudE5vZGUpCiAgICB9CgogICAgZnVuY3Rpb24gYyhlLCB0KSB7CiAgICAgICAgaWYgKCEoZSAmJiBlLm5vZGVUeXBlICYmIHQgJiYgdC5ub2RlVHlwZSkpIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7CiAgICAgICAgdmFyIG4gPSBlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcsCiAgICAgICAgICAgIG8gPSBuID8gZSA6IHQsCiAgICAgICAgICAgIHIgPSBuID8gdCA6IGUsCiAgICAgICAgICAgIGkgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOwogICAgICAgIGkuc2V0U3RhcnQobywgMCksIGkuc2V0RW5kKHIsIDApOwogICAgICAgIHZhciBzLCBhLCBmID0gaS5jb21tb25BbmNlc3RvckNvbnRhaW5lcjsKICAgICAgICBpZiAoZSAhPT0gZiAmJiB0ICE9PSBmIHx8IG8uY29udGFpbnMocikpIHJldHVybiAiQk9EWSIgPT09IChhID0gKHMgPSBmKS5ub2RlTmFtZSkgfHwgIkhUTUwiICE9PSBhICYmIGIocy5maXJzdEVsZW1lbnRDaGlsZCkgIT09IHMgPyBiKGYpIDogZjsKICAgICAgICB2YXIgcCA9IGwoZSk7CiAgICAgICAgcmV0dXJuIHAuaG9zdCA/IGMocC5ob3N0LCB0KSA6IGMoZSwgbCh0KS5ob3N0KQogICAgfQoKICAgIGZ1bmN0aW9uIG0oZSkgewogICAgICAgIHZhciB0ID0gInRvcCIgPT09ICgxIDwgYXJndW1lbnRzLmxlbmd0aCAmJiB2b2lkIDAgIT09IGFyZ3VtZW50c1sxXSA/IGFyZ3VtZW50c1sxXSA6ICJ0b3AiKSA/ICJzY3JvbGxUb3AiIDogInNjcm9sbExlZnQiLAogICAgICAgICAgICBuID0gZS5ub2RlTmFtZTsKICAgICAgICBpZiAoIkJPRFkiICE9PSBuICYmICJIVE1MIiAhPT0gbikgcmV0dXJuIGVbdF07CiAgICAgICAgdmFyIG8gPSBlLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OwogICAgICAgIHJldHVybiAoZS5vd25lckRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQgfHwgbylbdF0KICAgIH0KCiAgICBmdW5jdGlvbiB1KGUsIHQpIHsKICAgICAgICB2YXIgbiA9ICJ4IiA9PT0gdCA/ICJMZWZ0IiA6ICJUb3AiLAogICAgICAgICAgICBvID0gIkxlZnQiID09IG4gPyAiUmlnaHQiIDogIkJvdHRvbSI7CiAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXQoZVsiYm9yZGVyIiArIG4gKyAiV2lkdGgiXSwgMTApICsgcGFyc2VGbG9hdChlWyJib3JkZXIiICsgbyArICJXaWR0aCJdLCAxMCkKICAgIH0KCiAgICBmdW5jdGlvbiBvKGUsIHQsIG4sIG8pIHsKICAgICAgICByZXR1cm4gQyh0WyJvZmZzZXQiICsgZV0sIHRbInNjcm9sbCIgKyBlXSwgblsiY2xpZW50IiArIGVdLCBuWyJvZmZzZXQiICsgZV0sIG5bInNjcm9sbCIgKyBlXSwgWSgxMCkgPyBuWyJvZmZzZXQiICsgZV0gKyBvWyJtYXJnaW4iICsgKCJIZWlnaHQiID09PSBlID8gIlRvcCIgOiAiTGVmdCIpXSArIG9bIm1hcmdpbiIgKyAoIkhlaWdodCIgPT09IGUgPyAiQm90dG9tIiA6ICJSaWdodCIpXSA6IDApCiAgICB9CgogICAgZnVuY3Rpb24gZygpIHsKICAgICAgICB2YXIgZSA9IGRvY3VtZW50LmJvZHksCiAgICAgICAgICAgIHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsCiAgICAgICAgICAgIG4gPSBZKDEwKSAmJiBnZXRDb21wdXRlZFN0eWxlKHQpOwogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIGhlaWdodDogbygiSGVpZ2h0IiwgZSwgdCwgbiksCiAgICAgICAgICAgIHdpZHRoOiBvKCJXaWR0aCIsIGUsIHQsIG4pCiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIEUoZSkgewogICAgICAgIHJldHVybiB6KHt9LCBlLCB7CiAgICAgICAgICAgIHJpZ2h0OiBlLmxlZnQgKyBlLndpZHRoLAogICAgICAgICAgICBib3R0b206IGUudG9wICsgZS5oZWlnaHQKICAgICAgICB9KQogICAgfQoKICAgIGZ1bmN0aW9uIHcoZSkgewogICAgICAgIHZhciB0ID0ge307CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgaWYgKFkoMTApKSB7CiAgICAgICAgICAgICAgICB0ID0gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgICAgICAgICAgIHZhciBuID0gbShlLCAidG9wIiksCiAgICAgICAgICAgICAgICAgICAgbyA9IG0oZSwgImxlZnQiKTsKICAgICAgICAgICAgICAgIHQudG9wICs9IG4sIHQubGVmdCArPSBvLCB0LmJvdHRvbSArPSBuLCB0LnJpZ2h0ICs9IG8KICAgICAgICAgICAgfSBlbHNlIHQgPSBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpCiAgICAgICAgfSBjYXRjaCAoZSkge30KICAgICAgICB2YXIgciA9IHsKICAgICAgICAgICAgICAgIGxlZnQ6IHQubGVmdCwKICAgICAgICAgICAgICAgIHRvcDogdC50b3AsCiAgICAgICAgICAgICAgICB3aWR0aDogdC5yaWdodCAtIHQubGVmdCwKICAgICAgICAgICAgICAgIGhlaWdodDogdC5ib3R0b20gLSB0LnRvcAogICAgICAgICAgICB9LAogICAgICAgICAgICBpID0gIkhUTUwiID09PSBlLm5vZGVOYW1lID8gZygpIDoge30sCiAgICAgICAgICAgIHMgPSBpLndpZHRoIHx8IGUuY2xpZW50V2lkdGggfHwgci5yaWdodCAtIHIubGVmdCwKICAgICAgICAgICAgYSA9IGkuaGVpZ2h0IHx8IGUuY2xpZW50SGVpZ2h0IHx8IHIuYm90dG9tIC0gci50b3AsCiAgICAgICAgICAgIGYgPSBlLm9mZnNldFdpZHRoIC0gcywKICAgICAgICAgICAgcCA9IGUub2Zmc2V0SGVpZ2h0IC0gYTsKICAgICAgICBpZiAoZiB8fCBwKSB7CiAgICAgICAgICAgIHZhciBsID0geShlKTsKICAgICAgICAgICAgZiAtPSB1KGwsICJ4IiksIHAgLT0gdShsLCAieSIpLCByLndpZHRoIC09IGYsIHIuaGVpZ2h0IC09IHAKICAgICAgICB9CiAgICAgICAgcmV0dXJuIEUocikKICAgIH0KCiAgICBmdW5jdGlvbiB2KGUsIHQpIHsKICAgICAgICB2YXIgbiA9IDIgPCBhcmd1bWVudHMubGVuZ3RoICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzJdICYmIGFyZ3VtZW50c1syXSwKICAgICAgICAgICAgbyA9IFkoMTApLAogICAgICAgICAgICByID0gIkhUTUwiID09PSB0Lm5vZGVOYW1lLAogICAgICAgICAgICBpID0gdyhlKSwKICAgICAgICAgICAgcyA9IHcodCksCiAgICAgICAgICAgIGEgPSBoKGUpLAogICAgICAgICAgICBmID0geSh0KSwKICAgICAgICAgICAgcCA9IHBhcnNlRmxvYXQoZi5ib3JkZXJUb3BXaWR0aCwgMTApLAogICAgICAgICAgICBsID0gcGFyc2VGbG9hdChmLmJvcmRlckxlZnRXaWR0aCwgMTApOwogICAgICAgIG4gJiYgIkhUTUwiID09PSB0Lm5vZGVOYW1lICYmIChzLnRvcCA9IEMocy50b3AsIDApLCBzLmxlZnQgPSBDKHMubGVmdCwgMCkpOwogICAgICAgIHZhciB1ID0gRSh7CiAgICAgICAgICAgIHRvcDogaS50b3AgLSBzLnRvcCAtIHAsCiAgICAgICAgICAgIGxlZnQ6IGkubGVmdCAtIHMubGVmdCAtIGwsCiAgICAgICAgICAgIHdpZHRoOiBpLndpZHRoLAogICAgICAgICAgICBoZWlnaHQ6IGkuaGVpZ2h0CiAgICAgICAgfSk7CiAgICAgICAgaWYgKHUubWFyZ2luVG9wID0gMCwgdS5tYXJnaW5MZWZ0ID0gMCwgIW8gJiYgcikgewogICAgICAgICAgICB2YXIgZCA9IHBhcnNlRmxvYXQoZi5tYXJnaW5Ub3AsIDEwKSwKICAgICAgICAgICAgICAgIGMgPSBwYXJzZUZsb2F0KGYubWFyZ2luTGVmdCwgMTApOwogICAgICAgICAgICB1LnRvcCAtPSBwIC0gZCwgdS5ib3R0b20gLT0gcCAtIGQsIHUubGVmdCAtPSBsIC0gYywgdS5yaWdodCAtPSBsIC0gYywgdS5tYXJnaW5Ub3AgPSBkLCB1Lm1hcmdpbkxlZnQgPSBjCiAgICAgICAgfQogICAgICAgIHJldHVybiAobyAmJiAhbiA/IHQuY29udGFpbnMoYSkgOiB0ID09PSBhICYmICJCT0RZIiAhPT0gYS5ub2RlTmFtZSkgJiYgKHUgPSBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHZhciBuID0gMiA8IGFyZ3VtZW50cy5sZW5ndGggJiYgdm9pZCAwICE9PSBhcmd1bWVudHNbMl0gJiYgYXJndW1lbnRzWzJdLAogICAgICAgICAgICAgICAgbyA9IG0odCwgInRvcCIpLAogICAgICAgICAgICAgICAgciA9IG0odCwgImxlZnQiKSwKICAgICAgICAgICAgICAgIGkgPSBuID8gLTEgOiAxOwogICAgICAgICAgICByZXR1cm4gZS50b3AgKz0gbyAqIGksIGUuYm90dG9tICs9IG8gKiBpLCBlLmxlZnQgKz0gciAqIGksIGUucmlnaHQgKz0gciAqIGksIGUKICAgICAgICB9KHUsIHQpKSwgdQogICAgfQoKICAgIGZ1bmN0aW9uIHgoZSkgewogICAgICAgIGlmICghZSB8fCAhZS5wYXJlbnRFbGVtZW50IHx8IFkoKSkgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsKICAgICAgICBmb3IgKHZhciB0ID0gZS5wYXJlbnRFbGVtZW50OyB0ICYmICJub25lIiA9PT0geSh0LCAidHJhbnNmb3JtIik7KSB0ID0gdC5wYXJlbnRFbGVtZW50OwogICAgICAgIHJldHVybiB0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudAogICAgfQoKICAgIGZ1bmN0aW9uIE8oZSwgdCwgbiwgbykgewogICAgICAgIHZhciByID0gNCA8IGFyZ3VtZW50cy5sZW5ndGggJiYgdm9pZCAwICE9PSBhcmd1bWVudHNbNF0gJiYgYXJndW1lbnRzWzRdLAogICAgICAgICAgICBpID0gewogICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgbGVmdDogMAogICAgICAgICAgICB9LAogICAgICAgICAgICBzID0gciA/IHgoZSkgOiBjKGUsIHQpOwogICAgICAgIGlmICgidmlld3BvcnQiID09PSBvKSBpID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgdCA9IDEgPCBhcmd1bWVudHMubGVuZ3RoICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzFdICYmIGFyZ3VtZW50c1sxXSwKICAgICAgICAgICAgICAgIG4gPSBlLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LAogICAgICAgICAgICAgICAgbyA9IHYoZSwgbiksCiAgICAgICAgICAgICAgICByID0gQyhuLmNsaWVudFdpZHRoLCB3aW5kb3cuaW5uZXJXaWR0aCB8fCAwKSwKICAgICAgICAgICAgICAgIGkgPSBDKG4uY2xpZW50SGVpZ2h0LCB3aW5kb3cuaW5uZXJIZWlnaHQgfHwgMCksCiAgICAgICAgICAgICAgICBzID0gdCA/IDAgOiBtKG4pLAogICAgICAgICAgICAgICAgYSA9IHQgPyAwIDogbShuLCAibGVmdCIpOwogICAgICAgICAgICByZXR1cm4gRSh7CiAgICAgICAgICAgICAgICB0b3A6IHMgLSBvLnRvcCArIG8ubWFyZ2luVG9wLAogICAgICAgICAgICAgICAgbGVmdDogYSAtIG8ubGVmdCArIG8ubWFyZ2luTGVmdCwKICAgICAgICAgICAgICAgIHdpZHRoOiByLAogICAgICAgICAgICAgICAgaGVpZ2h0OiBpCiAgICAgICAgICAgIH0pCiAgICAgICAgfShzLCByKTsKICAgICAgICBlbHNlIHsKICAgICAgICAgICAgdmFyIGE7CiAgICAgICAgICAgICJzY3JvbGxQYXJlbnQiID09PSBvID8gIkJPRFkiID09PSAoYSA9IGgoZCh0KSkpLm5vZGVOYW1lICYmIChhID0gZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkgOiBhID0gIndpbmRvdyIgPT09IG8gPyBlLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50IDogbzsKICAgICAgICAgICAgdmFyIGYgPSB2KGEsIHMsIHIpOwogICAgICAgICAgICBpZiAoIkhUTUwiICE9PSBhLm5vZGVOYW1lIHx8IGZ1bmN0aW9uIGUodCkgewogICAgICAgICAgICAgICAgICAgIHZhciBuID0gdC5ub2RlTmFtZTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gIkJPRFkiICE9PSBuICYmICJIVE1MIiAhPT0gbiAmJiAoImZpeGVkIiA9PT0geSh0LCAicG9zaXRpb24iKSB8fCBlKGQodCkpKQogICAgICAgICAgICAgICAgfShzKSkgaSA9IGY7CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIHAgPSBnKCksCiAgICAgICAgICAgICAgICAgICAgbCA9IHAuaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgIHUgPSBwLndpZHRoOwogICAgICAgICAgICAgICAgaS50b3AgKz0gZi50b3AgLSBmLm1hcmdpblRvcCwgaS5ib3R0b20gPSBsICsgZi50b3AsIGkubGVmdCArPSBmLmxlZnQgLSBmLm1hcmdpbkxlZnQsIGkucmlnaHQgPSB1ICsgZi5sZWZ0CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIGkubGVmdCArPSBuLCBpLnRvcCArPSBuLCBpLnJpZ2h0IC09IG4sIGkuYm90dG9tIC09IG4sIGkKICAgIH0KCiAgICBmdW5jdGlvbiBhKGUsIHQsIG8sIG4sIHIpIHsKICAgICAgICB2YXIgaSA9IDUgPCBhcmd1bWVudHMubGVuZ3RoICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzVdID8gYXJndW1lbnRzWzVdIDogMDsKICAgICAgICBpZiAoLTEgPT09IGUuaW5kZXhPZigiYXV0byIpKSByZXR1cm4gZTsKICAgICAgICB2YXIgcyA9IE8obywgbiwgaSwgciksCiAgICAgICAgICAgIGEgPSB7CiAgICAgICAgICAgICAgICB0b3A6IHsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogcy53aWR0aCwKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHQudG9wIC0gcy50b3AKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICByaWdodDogewogICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzLnJpZ2h0IC0gdC5yaWdodCwKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHMuaGVpZ2h0CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgYm90dG9tOiB7CiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHMud2lkdGgsCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzLmJvdHRvbSAtIHQuYm90dG9tCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgbGVmdDogewogICAgICAgICAgICAgICAgICAgIHdpZHRoOiB0LmxlZnQgLSBzLmxlZnQsCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzLmhlaWdodAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBmID0gT2JqZWN0LmtleXMoYSkubWFwKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiB6KHsKICAgICAgICAgICAgICAgICAgICBrZXk6IGUKICAgICAgICAgICAgICAgIH0sIGFbZV0sIHsKICAgICAgICAgICAgICAgICAgICBhcmVhOiAodCA9IGFbZV0sIHQud2lkdGggKiB0LmhlaWdodCkKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgdmFyIHQKICAgICAgICAgICAgfSkuc29ydChmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdC5hcmVhIC0gZS5hcmVhCiAgICAgICAgICAgIH0pLAogICAgICAgICAgICBwID0gZi5maWx0ZXIoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIHQgPSBlLndpZHRoLAogICAgICAgICAgICAgICAgICAgIG4gPSBlLmhlaWdodDsKICAgICAgICAgICAgICAgIHJldHVybiB0ID49IG8uY2xpZW50V2lkdGggJiYgbiA+PSBvLmNsaWVudEhlaWdodAogICAgICAgICAgICB9KSwKICAgICAgICAgICAgbCA9IDAgPCBwLmxlbmd0aCA/IHBbMF0ua2V5IDogZlswXS5rZXksCiAgICAgICAgICAgIHUgPSBlLnNwbGl0KCItIilbMV07CiAgICAgICAgcmV0dXJuIGwgKyAodSA/ICItIiArIHUgOiAiIikKICAgIH0KCiAgICBmdW5jdGlvbiBmKGUsIHQsIG4pIHsKICAgICAgICB2YXIgbyA9IDMgPCBhcmd1bWVudHMubGVuZ3RoICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzNdID8gYXJndW1lbnRzWzNdIDogbnVsbDsKICAgICAgICByZXR1cm4gdihuLCBvID8geCh0KSA6IGModCwgbiksIG8pCiAgICB9CgogICAgZnVuY3Rpb24gTChlKSB7CiAgICAgICAgdmFyIHQgPSBnZXRDb21wdXRlZFN0eWxlKGUpLAogICAgICAgICAgICBuID0gcGFyc2VGbG9hdCh0Lm1hcmdpblRvcCkgKyBwYXJzZUZsb2F0KHQubWFyZ2luQm90dG9tKSwKICAgICAgICAgICAgbyA9IHBhcnNlRmxvYXQodC5tYXJnaW5MZWZ0KSArIHBhcnNlRmxvYXQodC5tYXJnaW5SaWdodCk7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgd2lkdGg6IGUub2Zmc2V0V2lkdGggKyBvLAogICAgICAgICAgICBoZWlnaHQ6IGUub2Zmc2V0SGVpZ2h0ICsgbgogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBUKGUpIHsKICAgICAgICB2YXIgdCA9IHsKICAgICAgICAgICAgbGVmdDogInJpZ2h0IiwKICAgICAgICAgICAgcmlnaHQ6ICJsZWZ0IiwKICAgICAgICAgICAgYm90dG9tOiAidG9wIiwKICAgICAgICAgICAgdG9wOiAiYm90dG9tIgogICAgICAgIH07CiAgICAgICAgcmV0dXJuIGUucmVwbGFjZSgvbGVmdHxyaWdodHxib3R0b218dG9wL2csIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIHRbZV0KICAgICAgICB9KQogICAgfQoKICAgIGZ1bmN0aW9uIEQoZSwgdCwgbikgewogICAgICAgIG4gPSBuLnNwbGl0KCItIilbMF07CiAgICAgICAgdmFyIG8gPSBMKGUpLAogICAgICAgICAgICByID0gewogICAgICAgICAgICAgICAgd2lkdGg6IG8ud2lkdGgsCiAgICAgICAgICAgICAgICBoZWlnaHQ6IG8uaGVpZ2h0CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGkgPSAtMSAhPT0gWyJyaWdodCIsICJsZWZ0Il0uaW5kZXhPZihuKSwKICAgICAgICAgICAgcyA9IGkgPyAidG9wIiA6ICJsZWZ0IiwKICAgICAgICAgICAgYSA9IGkgPyAibGVmdCIgOiAidG9wIiwKICAgICAgICAgICAgZiA9IGkgPyAiaGVpZ2h0IiA6ICJ3aWR0aCIsCiAgICAgICAgICAgIHAgPSBpID8gIndpZHRoIiA6ICJoZWlnaHQiOwogICAgICAgIHJldHVybiByW3NdID0gdFtzXSArIHRbZl0gLyAyIC0gb1tmXSAvIDIsIHJbYV0gPSBuID09PSBhID8gdFthXSAtIG9bcF0gOiB0W1QoYSldLCByCiAgICB9CgogICAgZnVuY3Rpb24gTihlLCB0KSB7CiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5maW5kID8gZS5maW5kKHQpIDogZS5maWx0ZXIodClbMF0KICAgIH0KCiAgICBmdW5jdGlvbiBGKGUsIG4sIHQpIHsKICAgICAgICByZXR1cm4gKHZvaWQgMCA9PT0gdCA/IGUgOiBlLnNsaWNlKDAsIGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgaWYgKEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgpIHJldHVybiBlLmZpbmRJbmRleChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZVt0XSA9PT0gbgogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdmFyIG8gPSBOKGUsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBlW3RdID09PSBuCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICByZXR1cm4gZS5pbmRleE9mKG8pCiAgICAgICAgfShlLCAibmFtZSIsIHQpKSkuZm9yRWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGUuZnVuY3Rpb24gJiYgY29uc29sZS53YXJuKCJgbW9kaWZpZXIuZnVuY3Rpb25gIGlzIGRlcHJlY2F0ZWQsIHVzZSBgbW9kaWZpZXIuZm5gISIpOwogICAgICAgICAgICB2YXIgdCA9IGUuZnVuY3Rpb24gfHwgZS5mbjsKICAgICAgICAgICAgZS5lbmFibGVkICYmIHModCkgJiYgKG4ub2Zmc2V0cy5wb3BwZXIgPSBFKG4ub2Zmc2V0cy5wb3BwZXIpLCBuLm9mZnNldHMucmVmZXJlbmNlID0gRShuLm9mZnNldHMucmVmZXJlbmNlKSwgbiA9IHQobiwgZSkpCiAgICAgICAgfSksIG4KICAgIH0KCiAgICBmdW5jdGlvbiBlKGUsIG4pIHsKICAgICAgICByZXR1cm4gZS5zb21lKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIHQgPSBlLm5hbWU7CiAgICAgICAgICAgIHJldHVybiBlLmVuYWJsZWQgJiYgdCA9PT0gbgogICAgICAgIH0pCiAgICB9CgogICAgZnVuY3Rpb24gayhlKSB7CiAgICAgICAgZm9yICh2YXIgdCA9IFshMSwgIm1zIiwgIldlYmtpdCIsICJNb3oiLCAiTyJdLCBuID0gZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGUuc2xpY2UoMSksIG8gPSAwOyBvIDwgdC5sZW5ndGg7IG8rKykgewogICAgICAgICAgICB2YXIgciA9IHRbb10sCiAgICAgICAgICAgICAgICBpID0gciA/ICIiICsgciArIG4gOiBlOwogICAgICAgICAgICBpZiAodm9pZCAwICE9PSBkb2N1bWVudC5ib2R5LnN0eWxlW2ldKSByZXR1cm4gaQogICAgICAgIH0KICAgICAgICByZXR1cm4gbnVsbAogICAgfQoKICAgIGZ1bmN0aW9uIGkoZSkgewogICAgICAgIHZhciB0ID0gZS5vd25lckRvY3VtZW50OwogICAgICAgIHJldHVybiB0ID8gdC5kZWZhdWx0VmlldyA6IHdpbmRvdwogICAgfQoKICAgIGZ1bmN0aW9uIHQoZSwgdCwgbiwgbykgewogICAgICAgIG4udXBkYXRlQm91bmQgPSBvLCBpKGUpLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIG4udXBkYXRlQm91bmQsIHsKICAgICAgICAgICAgcGFzc2l2ZTogITAKICAgICAgICB9KTsKICAgICAgICB2YXIgciA9IGgoZSk7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGUodCwgbiwgbywgcikgewogICAgICAgICAgICB2YXIgaSA9ICJCT0RZIiA9PT0gdC5ub2RlTmFtZSwKICAgICAgICAgICAgICAgIHMgPSBpID8gdC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IDogdDsKICAgICAgICAgICAgcy5hZGRFdmVudExpc3RlbmVyKG4sIG8sIHsKICAgICAgICAgICAgICAgIHBhc3NpdmU6ICEwCiAgICAgICAgICAgIH0pLCBpIHx8IGUoaChzLnBhcmVudE5vZGUpLCBuLCBvLCByKSwgci5wdXNoKHMpCiAgICAgICAgfShyLCAic2Nyb2xsIiwgbi51cGRhdGVCb3VuZCwgbi5zY3JvbGxQYXJlbnRzKSwgbi5zY3JvbGxFbGVtZW50ID0gciwgbi5ldmVudHNFbmFibGVkID0gITAsIG4KICAgIH0KCiAgICBmdW5jdGlvbiBuKCkgewogICAgICAgIHZhciBlLCB0OwogICAgICAgIHRoaXMuc3RhdGUuZXZlbnRzRW5hYmxlZCAmJiAoY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5zY2hlZHVsZVVwZGF0ZSksIHRoaXMuc3RhdGUgPSAoZSA9IHRoaXMucmVmZXJlbmNlLCB0ID0gdGhpcy5zdGF0ZSwgaShlKS5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLCB0LnVwZGF0ZUJvdW5kKSwgdC5zY3JvbGxQYXJlbnRzLmZvckVhY2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHQudXBkYXRlQm91bmQpCiAgICAgICAgfSksIHQudXBkYXRlQm91bmQgPSBudWxsLCB0LnNjcm9sbFBhcmVudHMgPSBbXSwgdC5zY3JvbGxFbGVtZW50ID0gbnVsbCwgdC5ldmVudHNFbmFibGVkID0gITEsIHQpKQogICAgfQoKICAgIGZ1bmN0aW9uIEEoZSkgewogICAgICAgIHJldHVybiAiIiAhPT0gZSAmJiAhaXNOYU4ocGFyc2VGbG9hdChlKSkgJiYgaXNGaW5pdGUoZSkKICAgIH0KCiAgICBmdW5jdGlvbiBwKG4sIG8pIHsKICAgICAgICBPYmplY3Qua2V5cyhvKS5mb3JFYWNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIHQgPSAiIjsgLSAxICE9PSBbIndpZHRoIiwgImhlaWdodCIsICJ0b3AiLCAicmlnaHQiLCAiYm90dG9tIiwgImxlZnQiXS5pbmRleE9mKGUpICYmIEEob1tlXSkgJiYgKHQgPSAicHgiKSwgbi5zdHlsZVtlXSA9IG9bZV0gKyB0CiAgICAgICAgfSkKICAgIH0KCiAgICBmdW5jdGlvbiBTKGUsIHQsIG4pIHsKICAgICAgICB2YXIgbyA9IE4oZSwgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGUubmFtZSA9PT0gdAogICAgICAgICAgICB9KSwKICAgICAgICAgICAgciA9ICEhbyAmJiBlLnNvbWUoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGUubmFtZSA9PT0gbiAmJiBlLmVuYWJsZWQgJiYgZS5vcmRlciA8IG8ub3JkZXIKICAgICAgICAgICAgfSk7CiAgICAgICAgaWYgKCFyKSB7CiAgICAgICAgICAgIHZhciBpID0gImAiICsgdCArICJgIjsKICAgICAgICAgICAgY29uc29sZS53YXJuKCJgIiArIG4gKyAiYCBtb2RpZmllciBpcyByZXF1aXJlZCBieSAiICsgaSArICIgbW9kaWZpZXIgaW4gb3JkZXIgdG8gd29yaywgYmUgc3VyZSB0byBpbmNsdWRlIGl0IGJlZm9yZSAiICsgaSArICIhIikKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHIKICAgIH0KCiAgICBmdW5jdGlvbiByKGUpIHsKICAgICAgICB2YXIgdCA9IDEgPCBhcmd1bWVudHMubGVuZ3RoICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzFdICYmIGFyZ3VtZW50c1sxXSwKICAgICAgICAgICAgbiA9IF8uaW5kZXhPZihlKSwKICAgICAgICAgICAgbyA9IF8uc2xpY2UobiArIDEpLmNvbmNhdChfLnNsaWNlKDAsIG4pKTsKICAgICAgICByZXR1cm4gdCA/IG8ucmV2ZXJzZSgpIDogbwogICAgfQoKICAgIGZ1bmN0aW9uIEgoZSwgciwgaSwgdCkgewogICAgICAgIHZhciBzID0gWzAsIDBdLAogICAgICAgICAgICBhID0gLTEgIT09IFsicmlnaHQiLCAibGVmdCJdLmluZGV4T2YodCksCiAgICAgICAgICAgIG4gPSBlLnNwbGl0KC8oXCt8XC0pLykubWFwKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBlLnRyaW0oKQogICAgICAgICAgICB9KSwKICAgICAgICAgICAgbyA9IG4uaW5kZXhPZihOKG4sIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiAtMSAhPT0gZS5zZWFyY2goLyx8XHMvKQogICAgICAgICAgICB9KSk7CiAgICAgICAgbltvXSAmJiAtMSA9PT0gbltvXS5pbmRleE9mKCIsIikgJiYgY29uc29sZS53YXJuKCJPZmZzZXRzIHNlcGFyYXRlZCBieSB3aGl0ZSBzcGFjZShzKSBhcmUgZGVwcmVjYXRlZCwgdXNlIGEgY29tbWEgKCwpIGluc3RlYWQuIik7CiAgICAgICAgdmFyIGYgPSAvXHMqLFxzKnxccysvLAogICAgICAgICAgICBwID0gLTEgPT09IG8gPyBbbl0gOiBbbi5zbGljZSgwLCBvKS5jb25jYXQoW25bb10uc3BsaXQoZilbMF1dKSwgW25bb10uc3BsaXQoZilbMV1dLmNvbmNhdChuLnNsaWNlKG8gKyAxKSldOwogICAgICAgIHJldHVybiAocCA9IHAubWFwKGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgdmFyIG4gPSAoMSA9PT0gdCA/ICFhIDogYSkgPyAiaGVpZ2h0IiA6ICJ3aWR0aCIsCiAgICAgICAgICAgICAgICBvID0gITE7CiAgICAgICAgICAgIHJldHVybiBlLnJlZHVjZShmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gIiIgPT09IGVbZS5sZW5ndGggLSAxXSAmJiAtMSAhPT0gWyIrIiwgIi0iXS5pbmRleE9mKHQpID8gKGVbZS5sZW5ndGggLSAxXSA9IHQsIG8gPSAhMCwgZSkgOiBvID8gKGVbZS5sZW5ndGggLSAxXSArPSB0LCBvID0gITEsIGUpIDogZS5jb25jYXQodCkKICAgICAgICAgICAgfSwgW10pLm1hcChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSwgdCwgbiwgbykgewogICAgICAgICAgICAgICAgICAgIHZhciByLCBpID0gZS5tYXRjaCgvKCg/OlwtfFwrKT9cZCpcLj9cZCopKC4qKS8pLAogICAgICAgICAgICAgICAgICAgICAgICBzID0gK2lbMV0sCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBpWzJdOwogICAgICAgICAgICAgICAgICAgIGlmICghcykgcmV0dXJuIGU7CiAgICAgICAgICAgICAgICAgICAgaWYgKDAgIT09IGEuaW5kZXhPZigiJSIpKSByZXR1cm4gInZoIiAhPT0gYSAmJiAidnciICE9PSBhID8gcyA6ICgidmgiID09PSBhID8gQyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0LCB3aW5kb3cuaW5uZXJIZWlnaHQgfHwgMCkgOiBDKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCwgd2luZG93LmlubmVyV2lkdGggfHwgMCkpIC8gMTAwICogczsKICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAiJXAiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IG47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAiJSI6CiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgIiVyIjoKICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBvCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHJldHVybiBFKHIpW3RdIC8gMTAwICogcwogICAgICAgICAgICAgICAgfShlLCBuLCByLCBpKQogICAgICAgICAgICB9KQogICAgICAgIH0pKS5mb3JFYWNoKGZ1bmN0aW9uKG4sIG8pIHsKICAgICAgICAgICAgbi5mb3JFYWNoKGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgIEEoZSkgJiYgKHNbb10gKz0gZSAqICgiLSIgPT09IG5bdCAtIDFdID8gLTEgOiAxKSkKICAgICAgICAgICAgfSkKICAgICAgICB9KSwgcwogICAgfQogICAgZm9yICh2YXIgUCA9IE1hdGgubWluLCBCID0gTWF0aC5mbG9vciwgQyA9IE1hdGgubWF4LCBXID0gInVuZGVmaW5lZCIgIT0gdHlwZW9mIHdpbmRvdyAmJiAidW5kZWZpbmVkIiAhPSB0eXBlb2YgZG9jdW1lbnQsIE0gPSBbIkVkZ2UiLCAiVHJpZGVudCIsICJGaXJlZm94Il0sIGogPSAwLCBSID0gMDsgUiA8IE0ubGVuZ3RoOyBSICs9IDEpCiAgICAgICAgaWYgKFcgJiYgMCA8PSBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoTVtSXSkpIHsKICAgICAgICAgICAgaiA9IDE7CiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgfQogICAgdmFyIEkgPSBXICYmIHdpbmRvdy5Qcm9taXNlID8gZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgdCA9ICExOwogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB0IHx8ICh0ID0gITAsIHdpbmRvdy5Qcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHQgPSAhMSwgZSgpCiAgICAgICAgICAgICAgICB9KSkKICAgICAgICAgICAgfQogICAgICAgIH0gOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciB0ID0gITE7CiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHQgfHwgKHQgPSAhMCwgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB0ID0gITEsIGUoKQogICAgICAgICAgICAgICAgfSwgaikpCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIFUgPSB7fSwKICAgICAgICBZID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBlID0gMCA8IGFyZ3VtZW50cy5sZW5ndGggJiYgdm9pZCAwICE9PSBhcmd1bWVudHNbMF0gPyBhcmd1bWVudHNbMF0gOiAiYWxsIjsKICAgICAgICAgICAgcmV0dXJuIGUgPSBlLnRvU3RyaW5nKCksIFUuaGFzT3duUHJvcGVydHkoZSkgfHwgKCIxMSIgPT09IGUgPyBVW2VdID0gLTEgIT09IG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiVHJpZGVudCIpIDogIjEwIiA9PT0gZSA/IFVbZV0gPSAtMSAhPT0gbmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZigiTVNJRSAxMCIpIDogImFsbCIgPT09IGUgJiYgKFVbZV0gPSAtMSAhPT0gbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJUcmlkZW50IikgfHwgLTEgIT09IG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiTVNJRSIpKSwgVS5hbGwgPSBVLmFsbCB8fCBPYmplY3Qua2V5cyhVKS5zb21lKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBVW2VdCiAgICAgICAgICAgIH0pKSwgVVtlXQogICAgICAgIH0sCiAgICAgICAgcSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmdW5jdGlvbiBvKGUsIHQpIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIG4sIG8gPSAwOyBvIDwgdC5sZW5ndGg7IG8rKykobiA9IHRbb10pLmVudW1lcmFibGUgPSBuLmVudW1lcmFibGUgfHwgITEsIG4uY29uZmlndXJhYmxlID0gITAsICJ2YWx1ZSIgaW4gbiAmJiAobi53cml0YWJsZSA9ICEwKSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIG4ua2V5LCBuKQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlLCB0LCBuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdCAmJiBvKGUucHJvdG90eXBlLCB0KSwgbiAmJiBvKGUsIG4pLCBlCiAgICAgICAgICAgIH0KICAgICAgICB9KCksCiAgICAgICAgViA9IGZ1bmN0aW9uKGUsIHQsIG4pIHsKICAgICAgICAgICAgcmV0dXJuIHQgaW4gZSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCB0LCB7CiAgICAgICAgICAgICAgICB2YWx1ZTogbiwKICAgICAgICAgICAgICAgIGVudW1lcmFibGU6ICEwLAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAhMCwKICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAhMAogICAgICAgICAgICB9KSA6IGVbdF0gPSBuLCBlCiAgICAgICAgfSwKICAgICAgICB6ID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGZvciAodmFyIHQsIG4gPSAxOyBuIDwgYXJndW1lbnRzLmxlbmd0aDsgbisrKQogICAgICAgICAgICAgICAgZm9yICh2YXIgbyBpbiB0ID0gYXJndW1lbnRzW25dKSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbykgJiYgKGVbb10gPSB0W29dKTsKICAgICAgICAgICAgcmV0dXJuIGUKICAgICAgICB9LAogICAgICAgIEcgPSBbImF1dG8tc3RhcnQiLCAiYXV0byIsICJhdXRvLWVuZCIsICJ0b3Atc3RhcnQiLCAidG9wIiwgInRvcC1lbmQiLCAicmlnaHQtc3RhcnQiLCAicmlnaHQiLCAicmlnaHQtZW5kIiwgImJvdHRvbS1lbmQiLCAiYm90dG9tIiwgImJvdHRvbS1zdGFydCIsICJsZWZ0LWVuZCIsICJsZWZ0IiwgImxlZnQtc3RhcnQiXSwKICAgICAgICBfID0gRy5zbGljZSgzKSwKICAgICAgICBYID0gImZsaXAiLAogICAgICAgIEogPSAiY2xvY2t3aXNlIiwKICAgICAgICBLID0gImNvdW50ZXJjbG9ja3dpc2UiLAogICAgICAgIFEgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZnVuY3Rpb24gaShlLCB0KSB7CiAgICAgICAgICAgICAgICB2YXIgbiA9IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgbyA9IDIgPCBhcmd1bWVudHMubGVuZ3RoICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzJdID8gYXJndW1lbnRzWzJdIDoge307CiAgICAgICAgICAgICAgICAoZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgIGlmICghKGUgaW5zdGFuY2VvZiB0KSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIikKICAgICAgICAgICAgICAgIH0pKHRoaXMsIGkpLCB0aGlzLnNjaGVkdWxlVXBkYXRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShuLnVwZGF0ZSkKICAgICAgICAgICAgICAgIH0sIHRoaXMudXBkYXRlID0gSSh0aGlzLnVwZGF0ZS5iaW5kKHRoaXMpKSwgdGhpcy5vcHRpb25zID0geih7fSwgaS5EZWZhdWx0cywgbyksIHRoaXMuc3RhdGUgPSB7CiAgICAgICAgICAgICAgICAgICAgaXNEZXN0cm95ZWQ6ICExLAogICAgICAgICAgICAgICAgICAgIGlzQ3JlYXRlZDogITEsCiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsUGFyZW50czogW10KICAgICAgICAgICAgICAgIH0sIHRoaXMucmVmZXJlbmNlID0gZSAmJiBlLmpxdWVyeSA/IGVbMF0gOiBlLCB0aGlzLnBvcHBlciA9IHQgJiYgdC5qcXVlcnkgPyB0WzBdIDogdCwgdGhpcy5vcHRpb25zLm1vZGlmaWVycyA9IHt9LCBPYmplY3Qua2V5cyh6KHt9LCBpLkRlZmF1bHRzLm1vZGlmaWVycywgby5tb2RpZmllcnMpKS5mb3JFYWNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICBuLm9wdGlvbnMubW9kaWZpZXJzW2VdID0geih7fSwgaS5EZWZhdWx0cy5tb2RpZmllcnNbZV0gfHwge30sIG8ubW9kaWZpZXJzID8gby5tb2RpZmllcnNbZV0gOiB7fSkKICAgICAgICAgICAgICAgIH0pLCB0aGlzLm1vZGlmaWVycyA9IE9iamVjdC5rZXlzKHRoaXMub3B0aW9ucy5tb2RpZmllcnMpLm1hcChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHooewogICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBlCiAgICAgICAgICAgICAgICAgICAgfSwgbi5vcHRpb25zLm1vZGlmaWVyc1tlXSkKICAgICAgICAgICAgICAgIH0pLnNvcnQoZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBlLm9yZGVyIC0gdC5vcmRlcgogICAgICAgICAgICAgICAgfSksIHRoaXMubW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGUuZW5hYmxlZCAmJiBzKGUub25Mb2FkKSAmJiBlLm9uTG9hZChuLnJlZmVyZW5jZSwgbi5wb3BwZXIsIG4ub3B0aW9ucywgZSwgbi5zdGF0ZSkKICAgICAgICAgICAgICAgIH0pLCB0aGlzLnVwZGF0ZSgpOwogICAgICAgICAgICAgICAgdmFyIHIgPSB0aGlzLm9wdGlvbnMuZXZlbnRzRW5hYmxlZDsKICAgICAgICAgICAgICAgIHIgJiYgdGhpcy5lbmFibGVFdmVudExpc3RlbmVycygpLCB0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWQgPSByCiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHEoaSwgW3sKICAgICAgICAgICAgICAgIGtleTogInVwZGF0ZSIsCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuc3RhdGUuaXNEZXN0cm95ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlOiB0aGlzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlczoge30sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3dTdHlsZXM6IHt9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHt9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsaXBwZWQ6ICExLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldHM6IHt9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5vZmZzZXRzLnJlZmVyZW5jZSA9IGYodGhpcy5zdGF0ZSwgdGhpcy5wb3BwZXIsIHRoaXMucmVmZXJlbmNlLCB0aGlzLm9wdGlvbnMucG9zaXRpb25GaXhlZCksIGUucGxhY2VtZW50ID0gYSh0aGlzLm9wdGlvbnMucGxhY2VtZW50LCBlLm9mZnNldHMucmVmZXJlbmNlLCB0aGlzLnBvcHBlciwgdGhpcy5yZWZlcmVuY2UsIHRoaXMub3B0aW9ucy5tb2RpZmllcnMuZmxpcC5ib3VuZGFyaWVzRWxlbWVudCwgdGhpcy5vcHRpb25zLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpLCBlLm9yaWdpbmFsUGxhY2VtZW50ID0gZS5wbGFjZW1lbnQsIGUucG9zaXRpb25GaXhlZCA9IHRoaXMub3B0aW9ucy5wb3NpdGlvbkZpeGVkLCBlLm9mZnNldHMucG9wcGVyID0gRCh0aGlzLnBvcHBlciwgZS5vZmZzZXRzLnJlZmVyZW5jZSwgZS5wbGFjZW1lbnQpLCBlLm9mZnNldHMucG9wcGVyLnBvc2l0aW9uID0gdGhpcy5vcHRpb25zLnBvc2l0aW9uRml4ZWQgPyAiZml4ZWQiIDogImFic29sdXRlIiwgZSA9IEYodGhpcy5tb2RpZmllcnMsIGUpLCB0aGlzLnN0YXRlLmlzQ3JlYXRlZCA/IHRoaXMub3B0aW9ucy5vblVwZGF0ZShlKSA6ICh0aGlzLnN0YXRlLmlzQ3JlYXRlZCA9ICEwLCB0aGlzLm9wdGlvbnMub25DcmVhdGUoZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LmNhbGwodGhpcykKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAga2V5OiAiZGVzdHJveSIsCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc0Rlc3Ryb3llZCA9ICEwLCBlKHRoaXMubW9kaWZpZXJzLCAiYXBwbHlTdHlsZSIpICYmICh0aGlzLnBvcHBlci5yZW1vdmVBdHRyaWJ1dGUoIngtcGxhY2VtZW50IiksIHRoaXMucG9wcGVyLnN0eWxlLnBvc2l0aW9uID0gIiIsIHRoaXMucG9wcGVyLnN0eWxlLnRvcCA9ICIiLCB0aGlzLnBvcHBlci5zdHlsZS5sZWZ0ID0gIiIsIHRoaXMucG9wcGVyLnN0eWxlLnJpZ2h0ID0gIiIsIHRoaXMucG9wcGVyLnN0eWxlLmJvdHRvbSA9ICIiLCB0aGlzLnBvcHBlci5zdHlsZS53aWxsQ2hhbmdlID0gIiIsIHRoaXMucG9wcGVyLnN0eWxlW2soInRyYW5zZm9ybSIpXSA9ICIiKSwgdGhpcy5kaXNhYmxlRXZlbnRMaXN0ZW5lcnMoKSwgdGhpcy5vcHRpb25zLnJlbW92ZU9uRGVzdHJveSAmJiB0aGlzLnBvcHBlci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMucG9wcGVyKSwgdGhpcwogICAgICAgICAgICAgICAgICAgIH0uY2FsbCh0aGlzKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBrZXk6ICJlbmFibGVFdmVudExpc3RlbmVycyIsCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWQgfHwgKHRoaXMuc3RhdGUgPSB0KHRoaXMucmVmZXJlbmNlLCB0aGlzLm9wdGlvbnMsIHRoaXMuc3RhdGUsIHRoaXMuc2NoZWR1bGVVcGRhdGUpKQogICAgICAgICAgICAgICAgICAgIH0uY2FsbCh0aGlzKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBrZXk6ICJkaXNhYmxlRXZlbnRMaXN0ZW5lcnMiLAogICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBuLmNhbGwodGhpcykKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfV0pLCBpCiAgICAgICAgfSgpOwogICAgcmV0dXJuIFEuVXRpbHMgPSAoInVuZGVmaW5lZCIgPT0gdHlwZW9mIHdpbmRvdyA/IGdsb2JhbCA6IHdpbmRvdykuUG9wcGVyVXRpbHMsIFEucGxhY2VtZW50cyA9IEcsIFEuRGVmYXVsdHMgPSB7CiAgICAgICAgcGxhY2VtZW50OiAiYm90dG9tIiwKICAgICAgICBwb3NpdGlvbkZpeGVkOiAhMSwKICAgICAgICBldmVudHNFbmFibGVkOiAhMCwKICAgICAgICByZW1vdmVPbkRlc3Ryb3k6ICExLAogICAgICAgIG9uQ3JlYXRlOiBmdW5jdGlvbigpIHt9LAogICAgICAgIG9uVXBkYXRlOiBmdW5jdGlvbigpIHt9LAogICAgICAgIG1vZGlmaWVyczogewogICAgICAgICAgICBzaGlmdDogewogICAgICAgICAgICAgICAgb3JkZXI6IDEwMCwKICAgICAgICAgICAgICAgIGVuYWJsZWQ6ICEwLAogICAgICAgICAgICAgICAgZm46IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGUucGxhY2VtZW50LAogICAgICAgICAgICAgICAgICAgICAgICBuID0gdC5zcGxpdCgiLSIpWzBdLAogICAgICAgICAgICAgICAgICAgICAgICBvID0gdC5zcGxpdCgiLSIpWzFdOwogICAgICAgICAgICAgICAgICAgIGlmIChvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByID0gZS5vZmZzZXRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IHIucmVmZXJlbmNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcyA9IHIucG9wcGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYSA9IC0xICE9PSBbImJvdHRvbSIsICJ0b3AiXS5pbmRleE9mKG4pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZiA9IGEgPyAibGVmdCIgOiAidG9wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAgPSBhID8gIndpZHRoIiA6ICJoZWlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogVih7fSwgZiwgaVtmXSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBWKHt9LCBmLCBpW2ZdICsgaVtwXSAtIHNbcF0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgICBlLm9mZnNldHMucG9wcGVyID0geih7fSwgcywgbFtvXSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgb2Zmc2V0OiB7CiAgICAgICAgICAgICAgICBvcmRlcjogMjAwLAogICAgICAgICAgICAgICAgZW5hYmxlZDogITAsCiAgICAgICAgICAgICAgICBmbjogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgIHZhciBuLCBvID0gdC5vZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBlLnBsYWNlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGUub2Zmc2V0cywKICAgICAgICAgICAgICAgICAgICAgICAgcyA9IGkucG9wcGVyLAogICAgICAgICAgICAgICAgICAgICAgICBhID0gaS5yZWZlcmVuY2UsCiAgICAgICAgICAgICAgICAgICAgICAgIGYgPSByLnNwbGl0KCItIilbMF07CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG4gPSBBKCtvKSA/IFsrbywgMF0gOiBIKG8sIHMsIGEsIGYpLCAibGVmdCIgPT09IGYgPyAocy50b3AgKz0gblswXSwgcy5sZWZ0IC09IG5bMV0pIDogInJpZ2h0IiA9PT0gZiA/IChzLnRvcCArPSBuWzBdLCBzLmxlZnQgKz0gblsxXSkgOiAidG9wIiA9PT0gZiA/IChzLmxlZnQgKz0gblswXSwgcy50b3AgLT0gblsxXSkgOiAiYm90dG9tIiA9PT0gZiAmJiAocy5sZWZ0ICs9IG5bMF0sIHMudG9wICs9IG5bMV0pLCBlLnBvcHBlciA9IHMsIGUKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBvZmZzZXQ6IDAKICAgICAgICAgICAgfSwKICAgICAgICAgICAgcHJldmVudE92ZXJmbG93OiB7CiAgICAgICAgICAgICAgICBvcmRlcjogMzAwLAogICAgICAgICAgICAgICAgZW5hYmxlZDogITAsCiAgICAgICAgICAgICAgICBmbjogZnVuY3Rpb24oZSwgbykgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gby5ib3VuZGFyaWVzRWxlbWVudCB8fCBiKGUuaW5zdGFuY2UucG9wcGVyKTsKICAgICAgICAgICAgICAgICAgICBlLmluc3RhbmNlLnJlZmVyZW5jZSA9PT0gdCAmJiAodCA9IGIodCkpOwogICAgICAgICAgICAgICAgICAgIHZhciByID0gTyhlLmluc3RhbmNlLnBvcHBlciwgZS5pbnN0YW5jZS5yZWZlcmVuY2UsIG8ucGFkZGluZywgdCwgZS5wb3NpdGlvbkZpeGVkKTsKICAgICAgICAgICAgICAgICAgICBvLmJvdW5kYXJpZXMgPSByOwogICAgICAgICAgICAgICAgICAgIHZhciBuID0gby5wcmlvcml0eSwKICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGUub2Zmc2V0cy5wb3BwZXIsCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltYXJ5OiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBpW2VdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpW2VdIDwgcltlXSAmJiAhby5lc2NhcGVXaXRoUmVmZXJlbmNlICYmICh0ID0gQyhpW2VdLCByW2VdKSksIFYoe30sIGUsIHQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSAicmlnaHQiID09PSBlID8gImxlZnQiIDogInRvcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG4gPSBpW3RdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpW2VdID4gcltlXSAmJiAhby5lc2NhcGVXaXRoUmVmZXJlbmNlICYmIChuID0gUChpW3RdLCByW2VdIC0gKCJyaWdodCIgPT09IGUgPyBpLndpZHRoIDogaS5oZWlnaHQpKSksIFYoe30sIHQsIG4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG4uZm9yRWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ID0gLTEgPT09IFsibGVmdCIsICJ0b3AiXS5pbmRleE9mKGUpID8gInNlY29uZGFyeSIgOiAicHJpbWFyeSI7CiAgICAgICAgICAgICAgICAgICAgICAgIGkgPSB6KHt9LCBpLCBzW3RdKGUpKQogICAgICAgICAgICAgICAgICAgIH0pLCBlLm9mZnNldHMucG9wcGVyID0gaSwgZQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHByaW9yaXR5OiBbImxlZnQiLCAicmlnaHQiLCAidG9wIiwgImJvdHRvbSJdLAogICAgICAgICAgICAgICAgcGFkZGluZzogNSwKICAgICAgICAgICAgICAgIGJvdW5kYXJpZXNFbGVtZW50OiAic2Nyb2xsUGFyZW50IgogICAgICAgICAgICB9LAogICAgICAgICAgICBrZWVwVG9nZXRoZXI6IHsKICAgICAgICAgICAgICAgIG9yZGVyOiA0MDAsCiAgICAgICAgICAgICAgICBlbmFibGVkOiAhMCwKICAgICAgICAgICAgICAgIGZuOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBlLm9mZnNldHMsCiAgICAgICAgICAgICAgICAgICAgICAgIG4gPSB0LnBvcHBlciwKICAgICAgICAgICAgICAgICAgICAgICAgbyA9IHQucmVmZXJlbmNlLAogICAgICAgICAgICAgICAgICAgICAgICByID0gZS5wbGFjZW1lbnQuc3BsaXQoIi0iKVswXSwKICAgICAgICAgICAgICAgICAgICAgICAgaSA9IEIsCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSAtMSAhPT0gWyJ0b3AiLCAiYm90dG9tIl0uaW5kZXhPZihyKSwKICAgICAgICAgICAgICAgICAgICAgICAgYSA9IHMgPyAicmlnaHQiIDogImJvdHRvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGYgPSBzID8gImxlZnQiIDogInRvcCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHAgPSBzID8gIndpZHRoIiA6ICJoZWlnaHQiOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBuW2FdIDwgaShvW2ZdKSAmJiAoZS5vZmZzZXRzLnBvcHBlcltmXSA9IGkob1tmXSkgLSBuW3BdKSwgbltmXSA+IGkob1thXSkgJiYgKGUub2Zmc2V0cy5wb3BwZXJbZl0gPSBpKG9bYV0pKSwgZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBhcnJvdzogewogICAgICAgICAgICAgICAgb3JkZXI6IDUwMCwKICAgICAgICAgICAgICAgIGVuYWJsZWQ6ICEwLAogICAgICAgICAgICAgICAgZm46IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgbjsKICAgICAgICAgICAgICAgICAgICBpZiAoIVMoZS5pbnN0YW5jZS5tb2RpZmllcnMsICJhcnJvdyIsICJrZWVwVG9nZXRoZXIiKSkgcmV0dXJuIGU7CiAgICAgICAgICAgICAgICAgICAgdmFyIG8gPSB0LmVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgaWYgKCJzdHJpbmciID09IHR5cGVvZiBvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKG8gPSBlLmluc3RhbmNlLnBvcHBlci5xdWVyeVNlbGVjdG9yKG8pKSkgcmV0dXJuIGUKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFlLmluc3RhbmNlLnBvcHBlci5jb250YWlucyhvKSkgcmV0dXJuIGNvbnNvbGUud2FybigiV0FSTklORzogYGFycm93LmVsZW1lbnRgIG11c3QgYmUgY2hpbGQgb2YgaXRzIHBvcHBlciBlbGVtZW50ISIpLCBlOwogICAgICAgICAgICAgICAgICAgIHZhciByID0gZS5wbGFjZW1lbnQuc3BsaXQoIi0iKVswXSwKICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGUub2Zmc2V0cywKICAgICAgICAgICAgICAgICAgICAgICAgcyA9IGkucG9wcGVyLAogICAgICAgICAgICAgICAgICAgICAgICBhID0gaS5yZWZlcmVuY2UsCiAgICAgICAgICAgICAgICAgICAgICAgIGYgPSAtMSAhPT0gWyJsZWZ0IiwgInJpZ2h0Il0uaW5kZXhPZihyKSwKICAgICAgICAgICAgICAgICAgICAgICAgcCA9IGYgPyAiaGVpZ2h0IiA6ICJ3aWR0aCIsCiAgICAgICAgICAgICAgICAgICAgICAgIGwgPSBmID8gIlRvcCIgOiAiTGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHUgPSBsLnRvTG93ZXJDYXNlKCksCiAgICAgICAgICAgICAgICAgICAgICAgIGQgPSBmID8gImxlZnQiIDogInRvcCIsCiAgICAgICAgICAgICAgICAgICAgICAgIGMgPSBmID8gImJvdHRvbSIgOiAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICBoID0gTChvKVtwXTsKICAgICAgICAgICAgICAgICAgICBhW2NdIC0gaCA8IHNbdV0gJiYgKGUub2Zmc2V0cy5wb3BwZXJbdV0gLT0gc1t1XSAtIChhW2NdIC0gaCkpLCBhW3VdICsgaCA+IHNbY10gJiYgKGUub2Zmc2V0cy5wb3BwZXJbdV0gKz0gYVt1XSArIGggLSBzW2NdKSwgZS5vZmZzZXRzLnBvcHBlciA9IEUoZS5vZmZzZXRzLnBvcHBlcik7CiAgICAgICAgICAgICAgICAgICAgdmFyIG0gPSBhW3VdICsgYVtwXSAvIDIgLSBoIC8gMiwKICAgICAgICAgICAgICAgICAgICAgICAgZyA9IHkoZS5pbnN0YW5jZS5wb3BwZXIpLAogICAgICAgICAgICAgICAgICAgICAgICB2ID0gcGFyc2VGbG9hdChnWyJtYXJnaW4iICsgbF0sIDEwKSwKICAgICAgICAgICAgICAgICAgICAgICAgYiA9IHBhcnNlRmxvYXQoZ1siYm9yZGVyIiArIGwgKyAiV2lkdGgiXSwgMTApLAogICAgICAgICAgICAgICAgICAgICAgICB3ID0gbSAtIGUub2Zmc2V0cy5wb3BwZXJbdV0gLSB2IC0gYjsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdyA9IEMoUChzW3BdIC0gaCwgdyksIDApLCBlLmFycm93RWxlbWVudCA9IG8sIGUub2Zmc2V0cy5hcnJvdyA9IChWKG4gPSB7fSwgdSwgTWF0aC5yb3VuZCh3KSksIFYobiwgZCwgIiIpLCBuKSwgZQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGVsZW1lbnQ6ICJbeC1hcnJvd10iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGZsaXA6IHsKICAgICAgICAgICAgICAgIG9yZGVyOiA2MDAsCiAgICAgICAgICAgICAgICBlbmFibGVkOiAhMCwKICAgICAgICAgICAgICAgIGZuOiBmdW5jdGlvbihoLCBtKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGUoaC5pbnN0YW5jZS5tb2RpZmllcnMsICJpbm5lciIpKSByZXR1cm4gaDsKICAgICAgICAgICAgICAgICAgICBpZiAoaC5mbGlwcGVkICYmIGgucGxhY2VtZW50ID09PSBoLm9yaWdpbmFsUGxhY2VtZW50KSByZXR1cm4gaDsKICAgICAgICAgICAgICAgICAgICB2YXIgZyA9IE8oaC5pbnN0YW5jZS5wb3BwZXIsIGguaW5zdGFuY2UucmVmZXJlbmNlLCBtLnBhZGRpbmcsIG0uYm91bmRhcmllc0VsZW1lbnQsIGgucG9zaXRpb25GaXhlZCksCiAgICAgICAgICAgICAgICAgICAgICAgIHYgPSBoLnBsYWNlbWVudC5zcGxpdCgiLSIpWzBdLAogICAgICAgICAgICAgICAgICAgICAgICBiID0gVCh2KSwKICAgICAgICAgICAgICAgICAgICAgICAgdyA9IGgucGxhY2VtZW50LnNwbGl0KCItIilbMV0gfHwgIiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHkgPSBbXTsKICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKG0uYmVoYXZpb3IpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeSA9IFt2LCBiXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEo6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ID0gcih2KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEs6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ID0gcih2LCAhMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkgPSBtLmJlaGF2aW9yCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHJldHVybiB5LmZvckVhY2goZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAodiAhPT0gZSB8fCB5Lmxlbmd0aCA9PT0gdCArIDEpIHJldHVybiBoOwogICAgICAgICAgICAgICAgICAgICAgICB2ID0gaC5wbGFjZW1lbnQuc3BsaXQoIi0iKVswXSwgYiA9IFQodik7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBuLCBvID0gaC5vZmZzZXRzLnBvcHBlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBoLm9mZnNldHMucmVmZXJlbmNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IEIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzID0gImxlZnQiID09PSB2ICYmIGkoby5yaWdodCkgPiBpKHIubGVmdCkgfHwgInJpZ2h0IiA9PT0gdiAmJiBpKG8ubGVmdCkgPCBpKHIucmlnaHQpIHx8ICJ0b3AiID09PSB2ICYmIGkoby5ib3R0b20pID4gaShyLnRvcCkgfHwgImJvdHRvbSIgPT09IHYgJiYgaShvLnRvcCkgPCBpKHIuYm90dG9tKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBpKG8ubGVmdCkgPCBpKGcubGVmdCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmID0gaShvLnJpZ2h0KSA+IGkoZy5yaWdodCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwID0gaShvLnRvcCkgPCBpKGcudG9wKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwgPSBpKG8uYm90dG9tKSA+IGkoZy5ib3R0b20pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdSA9ICJsZWZ0IiA9PT0gdiAmJiBhIHx8ICJyaWdodCIgPT09IHYgJiYgZiB8fCAidG9wIiA9PT0gdiAmJiBwIHx8ICJib3R0b20iID09PSB2ICYmIGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkID0gLTEgIT09IFsidG9wIiwgImJvdHRvbSJdLmluZGV4T2YodiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjID0gISFtLmZsaXBWYXJpYXRpb25zICYmIChkICYmICJzdGFydCIgPT09IHcgJiYgYSB8fCBkICYmICJlbmQiID09PSB3ICYmIGYgfHwgIWQgJiYgInN0YXJ0IiA9PT0gdyAmJiBwIHx8ICFkICYmICJlbmQiID09PSB3ICYmIGwpOwogICAgICAgICAgICAgICAgICAgICAgICAocyB8fCB1IHx8IGMpICYmIChoLmZsaXBwZWQgPSAhMCwgKHMgfHwgdSkgJiYgKHYgPSB5W3QgKyAxXSksIGMgJiYgKHcgPSAiZW5kIiA9PT0gKG4gPSB3KSA/ICJzdGFydCIgOiAic3RhcnQiID09PSBuID8gImVuZCIgOiBuKSwgaC5wbGFjZW1lbnQgPSB2ICsgKHcgPyAiLSIgKyB3IDogIiIpLCBoLm9mZnNldHMucG9wcGVyID0geih7fSwgaC5vZmZzZXRzLnBvcHBlciwgRChoLmluc3RhbmNlLnBvcHBlciwgaC5vZmZzZXRzLnJlZmVyZW5jZSwgaC5wbGFjZW1lbnQpKSwgaCA9IEYoaC5pbnN0YW5jZS5tb2RpZmllcnMsIGgsICJmbGlwIikpCiAgICAgICAgICAgICAgICAgICAgfSksIGgKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBiZWhhdmlvcjogImZsaXAiLAogICAgICAgICAgICAgICAgcGFkZGluZzogNSwKICAgICAgICAgICAgICAgIGJvdW5kYXJpZXNFbGVtZW50OiAidmlld3BvcnQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGlubmVyOiB7CiAgICAgICAgICAgICAgICBvcmRlcjogNzAwLAogICAgICAgICAgICAgICAgZW5hYmxlZDogITEsCiAgICAgICAgICAgICAgICBmbjogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZS5wbGFjZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgIG4gPSB0LnNwbGl0KCItIilbMF0sCiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSBlLm9mZnNldHMsCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBvLnBvcHBlciwKICAgICAgICAgICAgICAgICAgICAgICAgaSA9IG8ucmVmZXJlbmNlLAogICAgICAgICAgICAgICAgICAgICAgICBzID0gLTEgIT09IFsibGVmdCIsICJyaWdodCJdLmluZGV4T2YobiksCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSAtMSA9PT0gWyJ0b3AiLCAibGVmdCJdLmluZGV4T2Yobik7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJbcyA/ICJsZWZ0IiA6ICJ0b3AiXSA9IGlbbl0gLSAoYSA/IHJbcyA/ICJ3aWR0aCIgOiAiaGVpZ2h0Il0gOiAwKSwgZS5wbGFjZW1lbnQgPSBUKHQpLCBlLm9mZnNldHMucG9wcGVyID0gRShyKSwgZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBoaWRlOiB7CiAgICAgICAgICAgICAgICBvcmRlcjogODAwLAogICAgICAgICAgICAgICAgZW5hYmxlZDogITAsCiAgICAgICAgICAgICAgICBmbjogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGlmICghUyhlLmluc3RhbmNlLm1vZGlmaWVycywgImhpZGUiLCAicHJldmVudE92ZXJmbG93IikpIHJldHVybiBlOwogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZS5vZmZzZXRzLnJlZmVyZW5jZSwKICAgICAgICAgICAgICAgICAgICAgICAgbiA9IE4oZS5pbnN0YW5jZS5tb2RpZmllcnMsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJldmVudE92ZXJmbG93IiA9PT0gZS5uYW1lCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLmJvdW5kYXJpZXM7CiAgICAgICAgICAgICAgICAgICAgaWYgKHQuYm90dG9tIDwgbi50b3AgfHwgdC5sZWZ0ID4gbi5yaWdodCB8fCB0LnRvcCA+IG4uYm90dG9tIHx8IHQucmlnaHQgPCBuLmxlZnQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEwID09PSBlLmhpZGUpIHJldHVybiBlOwogICAgICAgICAgICAgICAgICAgICAgICBlLmhpZGUgPSAhMCwgZS5hdHRyaWJ1dGVzWyJ4LW91dC1vZi1ib3VuZGFyaWVzIl0gPSAiIgogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghMSA9PT0gZS5oaWRlKSByZXR1cm4gZTsKICAgICAgICAgICAgICAgICAgICAgICAgZS5oaWRlID0gITEsIGUuYXR0cmlidXRlc1sieC1vdXQtb2YtYm91bmRhcmllcyJdID0gITEKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29tcHV0ZVN0eWxlOiB7CiAgICAgICAgICAgICAgICBvcmRlcjogODUwLAogICAgICAgICAgICAgICAgZW5hYmxlZDogITAsCiAgICAgICAgICAgICAgICBmbjogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgIHZhciBuID0gdC54LAogICAgICAgICAgICAgICAgICAgICAgICBvID0gdC55LAogICAgICAgICAgICAgICAgICAgICAgICByID0gZS5vZmZzZXRzLnBvcHBlciwKICAgICAgICAgICAgICAgICAgICAgICAgaSA9IE4oZS5pbnN0YW5jZS5tb2RpZmllcnMsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiYXBwbHlTdHlsZSIgPT09IGUubmFtZQogICAgICAgICAgICAgICAgICAgICAgICB9KS5ncHVBY2NlbGVyYXRpb247CiAgICAgICAgICAgICAgICAgICAgdm9pZCAwICE9PSBpICYmIGNvbnNvbGUud2FybigiV0FSTklORzogYGdwdUFjY2VsZXJhdGlvbmAgb3B0aW9uIG1vdmVkIHRvIGBjb21wdXRlU3R5bGVgIG1vZGlmaWVyIGFuZCB3aWxsIG5vdCBiZSBzdXBwb3J0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIG9mIFBvcHBlci5qcyEiKTsKICAgICAgICAgICAgICAgICAgICB2YXIgcywgYSwgZiA9IHZvaWQgMCA9PT0gaSA/IHQuZ3B1QWNjZWxlcmF0aW9uIDogaSwKICAgICAgICAgICAgICAgICAgICAgICAgcCA9IHcoYihlLmluc3RhbmNlLnBvcHBlcikpLAogICAgICAgICAgICAgICAgICAgICAgICBsID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHIucG9zaXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgdSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IEIoci5sZWZ0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogQihyLnRvcCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IEIoci5ib3R0b20pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IEIoci5yaWdodCkKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgZCA9ICJib3R0b20iID09PSBuID8gInRvcCIgOiAiYm90dG9tIiwKICAgICAgICAgICAgICAgICAgICAgICAgYyA9ICJyaWdodCIgPT09IG8gPyAibGVmdCIgOiAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICBoID0gaygidHJhbnNmb3JtIik7CiAgICAgICAgICAgICAgICAgICAgaWYgKGEgPSAiYm90dG9tIiA9PSBkID8gLXAuaGVpZ2h0ICsgdS5ib3R0b20gOiB1LnRvcCwgcyA9ICJyaWdodCIgPT0gYyA/IC1wLndpZHRoICsgdS5yaWdodCA6IHUubGVmdCwgZiAmJiBoKSBsW2hdID0gInRyYW5zbGF0ZTNkKCIgKyBzICsgInB4LCAiICsgYSArICJweCwgMCkiLCBsW2RdID0gMCwgbFtjXSA9IDAsIGwud2lsbENoYW5nZSA9ICJ0cmFuc2Zvcm0iOwogICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbSA9ICJib3R0b20iID09IGQgPyAtMSA6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnID0gInJpZ2h0IiA9PSBjID8gLTEgOiAxOwogICAgICAgICAgICAgICAgICAgICAgICBsW2RdID0gYSAqIG0sIGxbY10gPSBzICogZywgbC53aWxsQ2hhbmdlID0gZCArICIsICIgKyBjCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHZhciB2ID0gewogICAgICAgICAgICAgICAgICAgICAgICAieC1wbGFjZW1lbnQiOiBlLnBsYWNlbWVudAogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuYXR0cmlidXRlcyA9IHooe30sIHYsIGUuYXR0cmlidXRlcyksIGUuc3R5bGVzID0geih7fSwgbCwgZS5zdHlsZXMpLCBlLmFycm93U3R5bGVzID0geih7fSwgZS5vZmZzZXRzLmFycm93LCBlLmFycm93U3R5bGVzKSwgZQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGdwdUFjY2VsZXJhdGlvbjogITAsCiAgICAgICAgICAgICAgICB4OiAiYm90dG9tIiwKICAgICAgICAgICAgICAgIHk6ICJyaWdodCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgYXBwbHlTdHlsZTogewogICAgICAgICAgICAgICAgb3JkZXI6IDkwMCwKICAgICAgICAgICAgICAgIGVuYWJsZWQ6ICEwLAogICAgICAgICAgICAgICAgZm46IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gcChlLmluc3RhbmNlLnBvcHBlciwgZS5zdHlsZXMpLCB0ID0gZS5pbnN0YW5jZS5wb3BwZXIsIG4gPSBlLmF0dHJpYnV0ZXMsIE9iamVjdC5rZXlzKG4pLmZvckVhY2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICAhMSA9PT0gbltlXSA/IHQucmVtb3ZlQXR0cmlidXRlKGUpIDogdC5zZXRBdHRyaWJ1dGUoZSwgbltlXSkKICAgICAgICAgICAgICAgICAgICB9KSwgZS5hcnJvd0VsZW1lbnQgJiYgT2JqZWN0LmtleXMoZS5hcnJvd1N0eWxlcykubGVuZ3RoICYmIHAoZS5hcnJvd0VsZW1lbnQsIGUuYXJyb3dTdHlsZXMpLCBlOwogICAgICAgICAgICAgICAgICAgIHZhciB0LCBuCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgb25Mb2FkOiBmdW5jdGlvbihlLCB0LCBuLCBvLCByKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBmKHIsIHQsIGUsIG4ucG9zaXRpb25GaXhlZCksCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSBhKG4ucGxhY2VtZW50LCBpLCB0LCBlLCBuLm1vZGlmaWVycy5mbGlwLmJvdW5kYXJpZXNFbGVtZW50LCBuLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB0LnNldEF0dHJpYnV0ZSgieC1wbGFjZW1lbnQiLCBzKSwgcCh0LCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBuLnBvc2l0aW9uRml4ZWQgPyAiZml4ZWQiIDogImFic29sdXRlIgogICAgICAgICAgICAgICAgICAgIH0pLCBuCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgZ3B1QWNjZWxlcmF0aW9uOiB2b2lkIDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0sIFEKfSk7CiEgZnVuY3Rpb24odCwgZSkgewogICAgIm9iamVjdCIgPT0gdHlwZW9mIGV4cG9ydHMgJiYgInVuZGVmaW5lZCIgIT0gdHlwZW9mIG1vZHVsZSA/IGUoZXhwb3J0cywgcmVxdWlyZSgianF1ZXJ5IiksIHJlcXVpcmUoInBvcHBlci5qcyIpKSA6ICJmdW5jdGlvbiIgPT0gdHlwZW9mIGRlZmluZSAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKFsiZXhwb3J0cyIsICJqcXVlcnkiLCAicG9wcGVyLmpzIl0sIGUpIDogZSh0LmJvb3RzdHJhcCA9IHt9LCB0LmpRdWVyeSwgdC5Qb3BwZXIpCn0odGhpcywgZnVuY3Rpb24odCwgZSwgYykgewogICAgInVzZSBzdHJpY3QiOwoKICAgIGZ1bmN0aW9uIGkodCwgZSkgewogICAgICAgIGZvciAodmFyIG4gPSAwOyBuIDwgZS5sZW5ndGg7IG4rKykgewogICAgICAgICAgICB2YXIgaSA9IGVbbl07CiAgICAgICAgICAgIGkuZW51bWVyYWJsZSA9IGkuZW51bWVyYWJsZSB8fCAhMSwgaS5jb25maWd1cmFibGUgPSAhMCwgInZhbHVlIiBpbiBpICYmIChpLndyaXRhYmxlID0gITApLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgaS5rZXksIGkpCiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIG8odCwgZSwgbikgewogICAgICAgIHJldHVybiBlICYmIGkodC5wcm90b3R5cGUsIGUpLCBuICYmIGkodCwgbiksIHQKICAgIH0KCiAgICBmdW5jdGlvbiB1KCkgewogICAgICAgIHJldHVybiAodSA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24odCkgewogICAgICAgICAgICBmb3IgKHZhciBlID0gMTsgZSA8IGFyZ3VtZW50cy5sZW5ndGg7IGUrKykgewogICAgICAgICAgICAgICAgdmFyIG4gPSBhcmd1bWVudHNbZV07CiAgICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIG4pIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLCBpKSAmJiAodFtpXSA9IG5baV0pCiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHQKICAgICAgICB9KS5hcHBseSh0aGlzLCBhcmd1bWVudHMpCiAgICB9CiAgICBlID0gZSAmJiBlLmhhc093blByb3BlcnR5KCJkZWZhdWx0IikgPyBlLmRlZmF1bHQgOiBlLCBjID0gYyAmJiBjLmhhc093blByb3BlcnR5KCJkZWZhdWx0IikgPyBjLmRlZmF1bHQgOiBjOwogICAgdmFyIHMsIG4sIHIsIGEsIGwsIGgsIGQsIGYsIGcsIF8sIG0sIHAsIHYsIEUsIHksIEMsIFQsIGIsIEksIHcsIEEsIEQsIFMsIE4sIE8sIGssIFAsIGosIEgsIEwsIFIsIHgsIFUsIFcsIEssIE0sIFEsIEIsIEYsIFYsIFksIHEsIHosIFosIEosICQsIEcsIFgsIHR0LCBldCwgbnQsIGl0LCBzdCwgcnQsIG90LCBhdCwgbHQsIGh0LCBjdCwgdXQsIGR0LCBmdCwgZ3QsIF90LCBtdCwgcHQsIHZ0LCBFdCwgeXQsIEN0LCBUdCwgYnQsIEl0LCB3dCwgQXQsIER0LCBTdCwgTnQsIE90LCBrdCwgUHQsIGp0LCBIdCwgTHQsIFJ0LCB4dCwgVXQsIFd0LCBLdCwgTXQsIFF0LCBCdCwgRnQsIFZ0LCBZdCwgcXQsIHp0LCBadCwgSnQsICR0LCBHdCwgWHQsIHRlLCBlZSwgbmUsIGllLCBzZSwgcmUsIG9lLCBhZSwgbGUsIGhlLCBjZSwgdWUsIGRlLCBmZSwgZ2UsIF9lLCBtZSwgcGUsIHZlLCBFZSwgeWUsIENlLCBUZSwgYmUsIEllLCB3ZSwgQWUsIERlLCBTZSwgTmUsIE9lLCBrZSwgUGUsIGplLCBIZSwgTGUsIFJlLCB4ZSwgVWUsIFdlLCBLZSwgTWUgPSAoVWUgPSBlLCBXZSA9ICExLCBLZSA9IHsKICAgICAgICAgICAgVFJBTlNJVElPTl9FTkQ6ICJic1RyYW5zaXRpb25FbmQiLAogICAgICAgICAgICBnZXRVSUQ6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIGZvciAoOyB0ICs9IH5+KDFlNiAqIE1hdGgucmFuZG9tKCkpLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KTspOwogICAgICAgICAgICAgICAgcmV0dXJuIHQKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZ2V0U2VsZWN0b3JGcm9tRWxlbWVudDogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGUsIG4gPSB0LmdldEF0dHJpYnV0ZSgiZGF0YS10YXJnZXQiKTsKICAgICAgICAgICAgICAgIG4gJiYgIiMiICE9PSBuIHx8IChuID0gdC5nZXRBdHRyaWJ1dGUoImhyZWYiKSB8fCAiIiksICIjIiA9PT0gbi5jaGFyQXQoMCkgJiYgKGUgPSBuLCBuID0gZSA9ICJmdW5jdGlvbiIgPT0gdHlwZW9mIFVlLmVzY2FwZVNlbGVjdG9yID8gVWUuZXNjYXBlU2VsZWN0b3IoZSkuc3Vic3RyKDEpIDogZS5yZXBsYWNlKC8oOnxcLnxcW3xcXXwsfD18QCkvZywgIlxcJDEiKSk7CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAwIDwgVWUoZG9jdW1lbnQpLmZpbmQobikubGVuZ3RoID8gbiA6IG51bGwKICAgICAgICAgICAgICAgIH0gY2F0Y2ggKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICByZWZsb3c6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0Lm9mZnNldEhlaWdodAogICAgICAgICAgICB9LAogICAgICAgICAgICB0cmlnZ2VyVHJhbnNpdGlvbkVuZDogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgVWUodCkudHJpZ2dlcihXZS5lbmQpCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHN1cHBvcnRzVHJhbnNpdGlvbkVuZDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gQm9vbGVhbihXZSkKICAgICAgICAgICAgfSwKICAgICAgICAgICAgaXNFbGVtZW50OiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKHRbMF0gfHwgdCkubm9kZVR5cGUKICAgICAgICAgICAgfSwKICAgICAgICAgICAgdHlwZUNoZWNrQ29uZmlnOiBmdW5jdGlvbih0LCBlLCBuKSB7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIG4pCiAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLCBpKSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgcyA9IG5baV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gZVtpXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8gPSByICYmIEtlLmlzRWxlbWVudChyKSA/ICJlbGVtZW50IiA6IChhID0gciwge30udG9TdHJpbmcuY2FsbChhKS5tYXRjaCgvXHMoW2EtekEtWl0rKS8pWzFdLnRvTG93ZXJDYXNlKCkpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW5ldyBSZWdFeHAocykudGVzdChvKSkgdGhyb3cgbmV3IEVycm9yKHQudG9VcHBlckNhc2UoKSArICc6IE9wdGlvbiAiJyArIGkgKyAnIiBwcm92aWRlZCB0eXBlICInICsgbyArICciIGJ1dCBleHBlY3RlZCB0eXBlICInICsgcyArICciLicpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdmFyIGEKICAgICAgICAgICAgfQogICAgICAgIH0sIFdlID0gKCJ1bmRlZmluZWQiID09IHR5cGVvZiB3aW5kb3cgfHwgIXdpbmRvdy5RVW5pdCkgJiYgewogICAgICAgICAgICBlbmQ6ICJ0cmFuc2l0aW9uZW5kIgogICAgICAgIH0sIFVlLmZuLmVtdWxhdGVUcmFuc2l0aW9uRW5kID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHRoaXMsCiAgICAgICAgICAgICAgICBuID0gITE7CiAgICAgICAgICAgIHJldHVybiBVZSh0aGlzKS5vbmUoS2UuVFJBTlNJVElPTl9FTkQsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbiA9ICEwCiAgICAgICAgICAgIH0pLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbiB8fCBLZS50cmlnZ2VyVHJhbnNpdGlvbkVuZChlKQogICAgICAgICAgICB9LCB0KSwgdGhpcwogICAgICAgIH0sIEtlLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpICYmIChVZS5ldmVudC5zcGVjaWFsW0tlLlRSQU5TSVRJT05fRU5EXSA9IHsKICAgICAgICAgICAgYmluZFR5cGU6IFdlLmVuZCwKICAgICAgICAgICAgZGVsZWdhdGVUeXBlOiBXZS5lbmQsCiAgICAgICAgICAgIGhhbmRsZTogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgaWYgKFVlKHQudGFyZ2V0KS5pcyh0aGlzKSkgcmV0dXJuIHQuaGFuZGxlT2JqLmhhbmRsZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKQogICAgICAgICAgICB9CiAgICAgICAgfSksIEtlKSwKICAgICAgICBRZSA9IChuID0gImFsZXJ0IiwgYSA9ICIuIiArIChyID0gImJzLmFsZXJ0IiksIGwgPSAocyA9IGUpLmZuW25dLCBoID0gewogICAgICAgICAgICBDTE9TRTogImNsb3NlIiArIGEsCiAgICAgICAgICAgIENMT1NFRDogImNsb3NlZCIgKyBhLAogICAgICAgICAgICBDTElDS19EQVRBX0FQSTogImNsaWNrIiArIGEgKyAiLmRhdGEtYXBpIgogICAgICAgIH0sICJhbGVydCIsICJmYWRlIiwgInNob3ciLCBkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIGkodCkgewogICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudCA9IHQKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgdCA9IGkucHJvdG90eXBlOwogICAgICAgICAgICByZXR1cm4gdC5jbG9zZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHQgPSB0IHx8IHRoaXMuX2VsZW1lbnQ7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMuX2dldFJvb3RFbGVtZW50KHQpOwogICAgICAgICAgICAgICAgdGhpcy5fdHJpZ2dlckNsb3NlRXZlbnQoZSkuaXNEZWZhdWx0UHJldmVudGVkKCkgfHwgdGhpcy5fcmVtb3ZlRWxlbWVudChlKQogICAgICAgICAgICB9LCB0LmRpc3Bvc2UgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHMucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LCByKSwgdGhpcy5fZWxlbWVudCA9IG51bGwKICAgICAgICAgICAgfSwgdC5fZ2V0Um9vdEVsZW1lbnQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IE1lLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodCksCiAgICAgICAgICAgICAgICAgICAgbiA9ICExOwogICAgICAgICAgICAgICAgcmV0dXJuIGUgJiYgKG4gPSBzKGUpWzBdKSwgbiB8fCAobiA9IHModCkuY2xvc2VzdCgiLmFsZXJ0IilbMF0pLCBuCiAgICAgICAgICAgIH0sIHQuX3RyaWdnZXJDbG9zZUV2ZW50ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSBzLkV2ZW50KGguQ0xPU0UpOwogICAgICAgICAgICAgICAgcmV0dXJuIHModCkudHJpZ2dlcihlKSwgZQogICAgICAgICAgICB9LCB0Ll9yZW1vdmVFbGVtZW50ID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIG4gPSB0aGlzOwogICAgICAgICAgICAgICAgcyhlKS5yZW1vdmVDbGFzcygic2hvdyIpLCBNZS5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSAmJiBzKGUpLmhhc0NsYXNzKCJmYWRlIikgPyBzKGUpLm9uZShNZS5UUkFOU0lUSU9OX0VORCwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBuLl9kZXN0cm95RWxlbWVudChlLCB0KQogICAgICAgICAgICAgICAgfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoMTUwKSA6IHRoaXMuX2Rlc3Ryb3lFbGVtZW50KGUpCiAgICAgICAgICAgIH0sIHQuX2Rlc3Ryb3lFbGVtZW50ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcyh0KS5kZXRhY2goKS50cmlnZ2VyKGguQ0xPU0VEKS5yZW1vdmUoKQogICAgICAgICAgICB9LCBpLl9qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gcyh0aGlzKSwKICAgICAgICAgICAgICAgICAgICAgICAgZSA9IHQuZGF0YShyKTsKICAgICAgICAgICAgICAgICAgICBlIHx8IChlID0gbmV3IGkodGhpcyksIHQuZGF0YShyLCBlKSksICJjbG9zZSIgPT09IG4gJiYgZVtuXSh0aGlzKQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSwgaS5faGFuZGxlRGlzbWlzcyA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdCAmJiB0LnByZXZlbnREZWZhdWx0KCksIGUuY2xvc2UodGhpcykKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgbyhpLCBudWxsLCBbewogICAgICAgICAgICAgICAga2V5OiAiVkVSU0lPTiIsCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAiNC4wLjAiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH1dKSwgaQogICAgICAgIH0oKSwgcyhkb2N1bWVudCkub24oaC5DTElDS19EQVRBX0FQSSwgJ1tkYXRhLWRpc21pc3M9ImFsZXJ0Il0nLCBkLl9oYW5kbGVEaXNtaXNzKG5ldyBkKSksIHMuZm5bbl0gPSBkLl9qUXVlcnlJbnRlcmZhY2UsIHMuZm5bbl0uQ29uc3RydWN0b3IgPSBkLCBzLmZuW25dLm5vQ29uZmxpY3QgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHMuZm5bbl0gPSBsLCBkLl9qUXVlcnlJbnRlcmZhY2UKICAgICAgICB9LCBkKSwKICAgICAgICBCZSA9IChnID0gImJ1dHRvbiIsIG0gPSAiLiIgKyAoXyA9ICJicy5idXR0b24iKSwgcCA9ICIuZGF0YS1hcGkiLCB2ID0gKGYgPSBlKS5mbltnXSwgRSA9ICJhY3RpdmUiLCAiYnRuIiwgeSA9ICdbZGF0YS10b2dnbGVePSJidXR0b24iXScsICdbZGF0YS10b2dnbGU9ImJ1dHRvbnMiXScsICJpbnB1dCIsICIuYWN0aXZlIiwgQyA9ICIuYnRuIiwgVCA9IHsKICAgICAgICAgICAgQ0xJQ0tfREFUQV9BUEk6ICJjbGljayIgKyBtICsgcCwKICAgICAgICAgICAgRk9DVVNfQkxVUl9EQVRBX0FQSTogImZvY3VzIiArIG0gKyBwICsgIiBibHVyIiArIG0gKyBwCiAgICAgICAgfSwgYiA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmdW5jdGlvbiBuKHQpIHsKICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQgPSB0CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIHQgPSBuLnByb3RvdHlwZTsKICAgICAgICAgICAgcmV0dXJuIHQudG9nZ2xlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9ICEwLAogICAgICAgICAgICAgICAgICAgIGUgPSAhMCwKICAgICAgICAgICAgICAgICAgICBuID0gZih0aGlzLl9lbGVtZW50KS5jbG9zZXN0KCdbZGF0YS10b2dnbGU9ImJ1dHRvbnMiXScpWzBdOwogICAgICAgICAgICAgICAgaWYgKG4pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IGYodGhpcy5fZWxlbWVudCkuZmluZCgiaW5wdXQiKVswXTsKICAgICAgICAgICAgICAgICAgICBpZiAoaSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoInJhZGlvIiA9PT0gaS50eXBlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkuY2hlY2tlZCAmJiBmKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKEUpKSB0ID0gITE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcyA9IGYobikuZmluZCgiLmFjdGl2ZSIpWzBdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMgJiYgZihzKS5yZW1vdmVDbGFzcyhFKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpIHx8IG4uaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpIHx8IGkuY2xhc3NMaXN0LmNvbnRhaW5zKCJkaXNhYmxlZCIpIHx8IG4uY2xhc3NMaXN0LmNvbnRhaW5zKCJkaXNhYmxlZCIpKSByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpLmNoZWNrZWQgPSAhZih0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhFKSwgZihpKS50cmlnZ2VyKCJjaGFuZ2UiKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGkuZm9jdXMoKSwgZSA9ICExCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZSAmJiB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwgIWYodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoRSkpLCB0ICYmIGYodGhpcy5fZWxlbWVudCkudG9nZ2xlQ2xhc3MoRSkKICAgICAgICAgICAgfSwgdC5kaXNwb3NlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBmLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwgXyksIHRoaXMuX2VsZW1lbnQgPSBudWxsCiAgICAgICAgICAgIH0sIG4uX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBmKHRoaXMpLmRhdGEoXyk7CiAgICAgICAgICAgICAgICAgICAgdCB8fCAodCA9IG5ldyBuKHRoaXMpLCBmKHRoaXMpLmRhdGEoXywgdCkpLCAidG9nZ2xlIiA9PT0gZSAmJiB0W2VdKCkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0sIG8obiwgbnVsbCwgW3sKICAgICAgICAgICAgICAgIGtleTogIlZFUlNJT04iLAogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjQuMC4wIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9XSksIG4KICAgICAgICB9KCksIGYoZG9jdW1lbnQpLm9uKFQuQ0xJQ0tfREFUQV9BUEksIHksIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICB2YXIgZSA9IHQudGFyZ2V0OwogICAgICAgICAgICBmKGUpLmhhc0NsYXNzKCJidG4iKSB8fCAoZSA9IGYoZSkuY2xvc2VzdChDKSksIGIuX2pRdWVyeUludGVyZmFjZS5jYWxsKGYoZSksICJ0b2dnbGUiKQogICAgICAgIH0pLm9uKFQuRk9DVVNfQkxVUl9EQVRBX0FQSSwgeSwgZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IGYodC50YXJnZXQpLmNsb3Nlc3QoQylbMF07CiAgICAgICAgICAgIGYoZSkudG9nZ2xlQ2xhc3MoImZvY3VzIiwgL15mb2N1cyhpbik/JC8udGVzdCh0LnR5cGUpKQogICAgICAgIH0pLCBmLmZuW2ddID0gYi5falF1ZXJ5SW50ZXJmYWNlLCBmLmZuW2ddLkNvbnN0cnVjdG9yID0gYiwgZi5mbltnXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiBmLmZuW2ddID0gdiwgYi5falF1ZXJ5SW50ZXJmYWNlCiAgICAgICAgfSwgYiksCiAgICAgICAgRmUgPSAoeWUgPSAiY2Fyb3VzZWwiLCBUZSA9ICIuIiArIChDZSA9ICJicy5jYXJvdXNlbCIpLCBiZSA9IChFZSA9IGUpLmZuW3llXSwgSWUgPSB7CiAgICAgICAgICAgIGludGVydmFsOiA1ZTMsCiAgICAgICAgICAgIGtleWJvYXJkOiAhMCwKICAgICAgICAgICAgc2xpZGU6ICExLAogICAgICAgICAgICBwYXVzZTogImhvdmVyIiwKICAgICAgICAgICAgd3JhcDogITAKICAgICAgICB9LCB3ZSA9IHsKICAgICAgICAgICAgaW50ZXJ2YWw6ICIobnVtYmVyfGJvb2xlYW4pIiwKICAgICAgICAgICAga2V5Ym9hcmQ6ICJib29sZWFuIiwKICAgICAgICAgICAgc2xpZGU6ICIoYm9vbGVhbnxzdHJpbmcpIiwKICAgICAgICAgICAgcGF1c2U6ICIoc3RyaW5nfGJvb2xlYW4pIiwKICAgICAgICAgICAgd3JhcDogImJvb2xlYW4iCiAgICAgICAgfSwgQWUgPSAibmV4dCIsIERlID0gInByZXYiLCBTZSA9IHsKICAgICAgICAgICAgU0xJREU6ICJzbGlkZSIgKyBUZSwKICAgICAgICAgICAgU0xJRDogInNsaWQiICsgVGUsCiAgICAgICAgICAgIEtFWURPV046ICJrZXlkb3duIiArIFRlLAogICAgICAgICAgICBNT1VTRUVOVEVSOiAibW91c2VlbnRlciIgKyBUZSwKICAgICAgICAgICAgTU9VU0VMRUFWRTogIm1vdXNlbGVhdmUiICsgVGUsCiAgICAgICAgICAgIFRPVUNIRU5EOiAidG91Y2hlbmQiICsgVGUsCiAgICAgICAgICAgIExPQURfREFUQV9BUEk6ICJsb2FkIiArIFRlICsgIi5kYXRhLWFwaSIsCiAgICAgICAgICAgIENMSUNLX0RBVEFfQVBJOiAiY2xpY2siICsgVGUgKyAiLmRhdGEtYXBpIgogICAgICAgIH0sIE5lID0gImFjdGl2ZSIsIE9lID0gIi5hY3RpdmUiLCBrZSA9ICIuYWN0aXZlLmNhcm91c2VsLWl0ZW0iLCBQZSA9ICIuY2Fyb3VzZWwtaXRlbSIsIGplID0gIi5jYXJvdXNlbC1pdGVtLW5leHQsIC5jYXJvdXNlbC1pdGVtLXByZXYiLCBIZSA9ICIuY2Fyb3VzZWwtaW5kaWNhdG9ycyIsIExlID0gIltkYXRhLXNsaWRlXSwgW2RhdGEtc2xpZGUtdG9dIiwgUmUgPSAnW2RhdGEtcmlkZT0iY2Fyb3VzZWwiXScsIHhlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIHIodCwgZSkgewogICAgICAgICAgICAgICAgdGhpcy5faXRlbXMgPSBudWxsLCB0aGlzLl9pbnRlcnZhbCA9IG51bGwsIHRoaXMuX2FjdGl2ZUVsZW1lbnQgPSBudWxsLCB0aGlzLl9pc1BhdXNlZCA9ICExLCB0aGlzLl9pc1NsaWRpbmcgPSAhMSwgdGhpcy50b3VjaFRpbWVvdXQgPSBudWxsLCB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoZSksIHRoaXMuX2VsZW1lbnQgPSBFZSh0KVswXSwgdGhpcy5faW5kaWNhdG9yc0VsZW1lbnQgPSBFZSh0aGlzLl9lbGVtZW50KS5maW5kKEhlKVswXSwgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKQogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciB0ID0gci5wcm90b3R5cGU7CiAgICAgICAgICAgIHJldHVybiB0Lm5leHQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHRoaXMuX2lzU2xpZGluZyB8fCB0aGlzLl9zbGlkZShBZSkKICAgICAgICAgICAgfSwgdC5uZXh0V2hlblZpc2libGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICFkb2N1bWVudC5oaWRkZW4gJiYgRWUodGhpcy5fZWxlbWVudCkuaXMoIjp2aXNpYmxlIikgJiYgImhpZGRlbiIgIT09IEVlKHRoaXMuX2VsZW1lbnQpLmNzcygidmlzaWJpbGl0eSIpICYmIHRoaXMubmV4dCgpCiAgICAgICAgICAgIH0sIHQucHJldiA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdGhpcy5faXNTbGlkaW5nIHx8IHRoaXMuX3NsaWRlKERlKQogICAgICAgICAgICB9LCB0LnBhdXNlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdCB8fCAodGhpcy5faXNQYXVzZWQgPSAhMCksIEVlKHRoaXMuX2VsZW1lbnQpLmZpbmQoamUpWzBdICYmIE1lLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpICYmIChNZS50cmlnZ2VyVHJhbnNpdGlvbkVuZCh0aGlzLl9lbGVtZW50KSwgdGhpcy5jeWNsZSghMCkpLCBjbGVhckludGVydmFsKHRoaXMuX2ludGVydmFsKSwgdGhpcy5faW50ZXJ2YWwgPSBudWxsCiAgICAgICAgICAgIH0sIHQuY3ljbGUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0IHx8ICh0aGlzLl9pc1BhdXNlZCA9ICExKSwgdGhpcy5faW50ZXJ2YWwgJiYgKGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWwpLCB0aGlzLl9pbnRlcnZhbCA9IG51bGwpLCB0aGlzLl9jb25maWcuaW50ZXJ2YWwgJiYgIXRoaXMuX2lzUGF1c2VkICYmICh0aGlzLl9pbnRlcnZhbCA9IHNldEludGVydmFsKChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPyB0aGlzLm5leHRXaGVuVmlzaWJsZSA6IHRoaXMubmV4dCkuYmluZCh0aGlzKSwgdGhpcy5fY29uZmlnLmludGVydmFsKSkKICAgICAgICAgICAgfSwgdC50byA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdGhpczsKICAgICAgICAgICAgICAgIHRoaXMuX2FjdGl2ZUVsZW1lbnQgPSBFZSh0aGlzLl9lbGVtZW50KS5maW5kKGtlKVswXTsKICAgICAgICAgICAgICAgIHZhciBuID0gdGhpcy5fZ2V0SXRlbUluZGV4KHRoaXMuX2FjdGl2ZUVsZW1lbnQpOwogICAgICAgICAgICAgICAgaWYgKCEodCA+IHRoaXMuX2l0ZW1zLmxlbmd0aCAtIDEgfHwgdCA8IDApKQogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9pc1NsaWRpbmcpIEVlKHRoaXMuX2VsZW1lbnQpLm9uZShTZS5TTElELCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUudG8odCkKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG4gPT09IHQpIHJldHVybiB0aGlzLnBhdXNlKCksIHZvaWQgdGhpcy5jeWNsZSgpOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IG4gPCB0ID8gQWUgOiBEZTsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2xpZGUoaSwgdGhpcy5faXRlbXNbdF0pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB0LmRpc3Bvc2UgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIEVlKHRoaXMuX2VsZW1lbnQpLm9mZihUZSksIEVlLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwgQ2UpLCB0aGlzLl9pdGVtcyA9IG51bGwsIHRoaXMuX2NvbmZpZyA9IG51bGwsIHRoaXMuX2VsZW1lbnQgPSBudWxsLCB0aGlzLl9pbnRlcnZhbCA9IG51bGwsIHRoaXMuX2lzUGF1c2VkID0gbnVsbCwgdGhpcy5faXNTbGlkaW5nID0gbnVsbCwgdGhpcy5fYWN0aXZlRWxlbWVudCA9IG51bGwsIHRoaXMuX2luZGljYXRvcnNFbGVtZW50ID0gbnVsbAogICAgICAgICAgICB9LCB0Ll9nZXRDb25maWcgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdCA9IHUoe30sIEllLCB0KSwgTWUudHlwZUNoZWNrQ29uZmlnKHllLCB0LCB3ZSksIHQKICAgICAgICAgICAgfSwgdC5fYWRkRXZlbnRMaXN0ZW5lcnMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdGhpczsKICAgICAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5rZXlib2FyZCAmJiBFZSh0aGlzLl9lbGVtZW50KS5vbihTZS5LRVlET1dOLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuX2tleWRvd24odCkKICAgICAgICAgICAgICAgIH0pLCAiaG92ZXIiID09PSB0aGlzLl9jb25maWcucGF1c2UgJiYgKEVlKHRoaXMuX2VsZW1lbnQpLm9uKFNlLk1PVVNFRU5URVIsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZS5wYXVzZSh0KQogICAgICAgICAgICAgICAgfSkub24oU2UuTU9VU0VMRUFWRSwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBlLmN5Y2xlKHQpCiAgICAgICAgICAgICAgICB9KSwgIm9udG91Y2hzdGFydCIgaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIEVlKHRoaXMuX2VsZW1lbnQpLm9uKFNlLlRPVUNIRU5ELCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBlLnBhdXNlKCksIGUudG91Y2hUaW1lb3V0ICYmIGNsZWFyVGltZW91dChlLnRvdWNoVGltZW91dCksIGUudG91Y2hUaW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlLmN5Y2xlKHQpCiAgICAgICAgICAgICAgICAgICAgfSwgNTAwICsgZS5fY29uZmlnLmludGVydmFsKQogICAgICAgICAgICAgICAgfSkpCiAgICAgICAgICAgIH0sIHQuX2tleWRvd24gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBpZiAoIS9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QodC50YXJnZXQudGFnTmFtZSkpIHN3aXRjaCAodC53aGljaCkgewogICAgICAgICAgICAgICAgICAgIGNhc2UgMzc6CiAgICAgICAgICAgICAgICAgICAgICAgIHQucHJldmVudERlZmF1bHQoKSwgdGhpcy5wcmV2KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgMzk6CiAgICAgICAgICAgICAgICAgICAgICAgIHQucHJldmVudERlZmF1bHQoKSwgdGhpcy5uZXh0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgdC5fZ2V0SXRlbUluZGV4ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zID0gRWUubWFrZUFycmF5KEVlKHQpLnBhcmVudCgpLmZpbmQoUGUpKSwgdGhpcy5faXRlbXMuaW5kZXhPZih0KQogICAgICAgICAgICB9LCB0Ll9nZXRJdGVtQnlEaXJlY3Rpb24gPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICB2YXIgbiA9IHQgPT09IEFlLAogICAgICAgICAgICAgICAgICAgIGkgPSB0ID09PSBEZSwKICAgICAgICAgICAgICAgICAgICBzID0gdGhpcy5fZ2V0SXRlbUluZGV4KGUpLAogICAgICAgICAgICAgICAgICAgIHIgPSB0aGlzLl9pdGVtcy5sZW5ndGggLSAxOwogICAgICAgICAgICAgICAgaWYgKChpICYmIDAgPT09IHMgfHwgbiAmJiBzID09PSByKSAmJiAhdGhpcy5fY29uZmlnLndyYXApIHJldHVybiBlOwogICAgICAgICAgICAgICAgdmFyIG8gPSAocyArICh0ID09PSBEZSA/IC0xIDogMSkpICUgdGhpcy5faXRlbXMubGVuZ3RoOwogICAgICAgICAgICAgICAgcmV0dXJuIC0xID09PSBvID8gdGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoIC0gMV0gOiB0aGlzLl9pdGVtc1tvXQogICAgICAgICAgICB9LCB0Ll90cmlnZ2VyU2xpZGVFdmVudCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIHZhciBuID0gdGhpcy5fZ2V0SXRlbUluZGV4KHQpLAogICAgICAgICAgICAgICAgICAgIGkgPSB0aGlzLl9nZXRJdGVtSW5kZXgoRWUodGhpcy5fZWxlbWVudCkuZmluZChrZSlbMF0pLAogICAgICAgICAgICAgICAgICAgIHMgPSBFZS5FdmVudChTZS5TTElERSwgewogICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0OiB0LAogICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246IGUsCiAgICAgICAgICAgICAgICAgICAgICAgIGZyb206IGksCiAgICAgICAgICAgICAgICAgICAgICAgIHRvOiBuCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICByZXR1cm4gRWUodGhpcy5fZWxlbWVudCkudHJpZ2dlcihzKSwgcwogICAgICAgICAgICB9LCB0Ll9zZXRBY3RpdmVJbmRpY2F0b3JFbGVtZW50ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgaWYgKHRoaXMuX2luZGljYXRvcnNFbGVtZW50KSB7CiAgICAgICAgICAgICAgICAgICAgRWUodGhpcy5faW5kaWNhdG9yc0VsZW1lbnQpLmZpbmQoT2UpLnJlbW92ZUNsYXNzKE5lKTsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMuX2luZGljYXRvcnNFbGVtZW50LmNoaWxkcmVuW3RoaXMuX2dldEl0ZW1JbmRleCh0KV07CiAgICAgICAgICAgICAgICAgICAgZSAmJiBFZShlKS5hZGRDbGFzcyhOZSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgdC5fc2xpZGUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICB2YXIgbiwgaSwgcywgciA9IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgbyA9IEVlKHRoaXMuX2VsZW1lbnQpLmZpbmQoa2UpWzBdLAogICAgICAgICAgICAgICAgICAgIGEgPSB0aGlzLl9nZXRJdGVtSW5kZXgobyksCiAgICAgICAgICAgICAgICAgICAgbCA9IGUgfHwgbyAmJiB0aGlzLl9nZXRJdGVtQnlEaXJlY3Rpb24odCwgbyksCiAgICAgICAgICAgICAgICAgICAgaCA9IHRoaXMuX2dldEl0ZW1JbmRleChsKSwKICAgICAgICAgICAgICAgICAgICBjID0gQm9vbGVhbih0aGlzLl9pbnRlcnZhbCk7CiAgICAgICAgICAgICAgICBpZiAocyA9IHQgPT09IEFlID8gKG4gPSAiY2Fyb3VzZWwtaXRlbS1sZWZ0IiwgaSA9ICJjYXJvdXNlbC1pdGVtLW5leHQiLCAibGVmdCIpIDogKG4gPSAiY2Fyb3VzZWwtaXRlbS1yaWdodCIsIGkgPSAiY2Fyb3VzZWwtaXRlbS1wcmV2IiwgInJpZ2h0IiksIGwgJiYgRWUobCkuaGFzQ2xhc3MoTmUpKSB0aGlzLl9pc1NsaWRpbmcgPSAhMTsKICAgICAgICAgICAgICAgIGVsc2UgaWYgKCF0aGlzLl90cmlnZ2VyU2xpZGVFdmVudChsLCBzKS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSAmJiBvICYmIGwpIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLl9pc1NsaWRpbmcgPSAhMCwgYyAmJiB0aGlzLnBhdXNlKCksIHRoaXMuX3NldEFjdGl2ZUluZGljYXRvckVsZW1lbnQobCk7CiAgICAgICAgICAgICAgICAgICAgdmFyIHUgPSBFZS5FdmVudChTZS5TTElELCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQ6IGwsCiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogcywKICAgICAgICAgICAgICAgICAgICAgICAgZnJvbTogYSwKICAgICAgICAgICAgICAgICAgICAgICAgdG86IGgKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBNZS5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSAmJiBFZSh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcygic2xpZGUiKSA/IChFZShsKS5hZGRDbGFzcyhpKSwgTWUucmVmbG93KGwpLCBFZShvKS5hZGRDbGFzcyhuKSwgRWUobCkuYWRkQ2xhc3MobiksIEVlKG8pLm9uZShNZS5UUkFOU0lUSU9OX0VORCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIEVlKGwpLnJlbW92ZUNsYXNzKG4gKyAiICIgKyBpKS5hZGRDbGFzcyhOZSksIEVlKG8pLnJlbW92ZUNsYXNzKE5lICsgIiAiICsgaSArICIgIiArIG4pLCByLl9pc1NsaWRpbmcgPSAhMSwgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBFZShyLl9lbGVtZW50KS50cmlnZ2VyKHUpCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDApCiAgICAgICAgICAgICAgICAgICAgfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoNjAwKSkgOiAoRWUobykucmVtb3ZlQ2xhc3MoTmUpLCBFZShsKS5hZGRDbGFzcyhOZSksIHRoaXMuX2lzU2xpZGluZyA9ICExLCBFZSh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKHUpKSwgYyAmJiB0aGlzLmN5Y2xlKCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgci5falF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24oaSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IEVlKHRoaXMpLmRhdGEoQ2UpLAogICAgICAgICAgICAgICAgICAgICAgICBlID0gdSh7fSwgSWUsIEVlKHRoaXMpLmRhdGEoKSk7CiAgICAgICAgICAgICAgICAgICAgIm9iamVjdCIgPT0gdHlwZW9mIGkgJiYgKGUgPSB1KHt9LCBlLCBpKSk7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSAic3RyaW5nIiA9PSB0eXBlb2YgaSA/IGkgOiBlLnNsaWRlOwogICAgICAgICAgICAgICAgICAgIGlmICh0IHx8ICh0ID0gbmV3IHIodGhpcywgZSksIEVlKHRoaXMpLmRhdGEoQ2UsIHQpKSwgIm51bWJlciIgPT0gdHlwZW9mIGkpIHQudG8oaSk7CiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoInN0cmluZyIgPT0gdHlwZW9mIG4pIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZvaWQgMCA9PT0gdFtuXSkgdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInICsgbiArICciJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHRbbl0oKQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBlLmludGVydmFsICYmICh0LnBhdXNlKCksIHQuY3ljbGUoKSkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0sIHIuX2RhdGFBcGlDbGlja0hhbmRsZXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IE1lLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcyk7CiAgICAgICAgICAgICAgICBpZiAoZSkgewogICAgICAgICAgICAgICAgICAgIHZhciBuID0gRWUoZSlbMF07CiAgICAgICAgICAgICAgICAgICAgaWYgKG4gJiYgRWUobikuaGFzQ2xhc3MoImNhcm91c2VsIikpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSB1KHt9LCBFZShuKS5kYXRhKCksIEVlKHRoaXMpLmRhdGEoKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzID0gdGhpcy5nZXRBdHRyaWJ1dGUoImRhdGEtc2xpZGUtdG8iKTsKICAgICAgICAgICAgICAgICAgICAgICAgcyAmJiAoaS5pbnRlcnZhbCA9ICExKSwgci5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoRWUobiksIGkpLCBzICYmIEVlKG4pLmRhdGEoQ2UpLnRvKHMpLCB0LnByZXZlbnREZWZhdWx0KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIG8ociwgbnVsbCwgW3sKICAgICAgICAgICAgICAgIGtleTogIlZFUlNJT04iLAogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjQuMC4wIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBrZXk6ICJEZWZhdWx0IiwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEllCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH1dKSwgcgogICAgICAgIH0oKSwgRWUoZG9jdW1lbnQpLm9uKFNlLkNMSUNLX0RBVEFfQVBJLCBMZSwgeGUuX2RhdGFBcGlDbGlja0hhbmRsZXIpLCBFZSh3aW5kb3cpLm9uKFNlLkxPQURfREFUQV9BUEksIGZ1bmN0aW9uKCkgewogICAgICAgICAgICBFZShSZSkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gRWUodGhpcyk7CiAgICAgICAgICAgICAgICB4ZS5falF1ZXJ5SW50ZXJmYWNlLmNhbGwodCwgdC5kYXRhKCkpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSksIEVlLmZuW3llXSA9IHhlLl9qUXVlcnlJbnRlcmZhY2UsIEVlLmZuW3llXS5Db25zdHJ1Y3RvciA9IHhlLCBFZS5mblt5ZV0ubm9Db25mbGljdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gRWUuZm5beWVdID0gYmUsIHhlLl9qUXVlcnlJbnRlcmZhY2UKICAgICAgICB9LCB4ZSksCiAgICAgICAgVmUgPSAocmUgPSAiY29sbGFwc2UiLCBhZSA9ICIuIiArIChvZSA9ICJicy5jb2xsYXBzZSIpLCBsZSA9IChzZSA9IGUpLmZuW3JlXSwgaGUgPSB7CiAgICAgICAgICAgIHRvZ2dsZTogITAsCiAgICAgICAgICAgIHBhcmVudDogIiIKICAgICAgICB9LCBjZSA9IHsKICAgICAgICAgICAgdG9nZ2xlOiAiYm9vbGVhbiIsCiAgICAgICAgICAgIHBhcmVudDogIihzdHJpbmd8ZWxlbWVudCkiCiAgICAgICAgfSwgdWUgPSB7CiAgICAgICAgICAgIFNIT1c6ICJzaG93IiArIGFlLAogICAgICAgICAgICBTSE9XTjogInNob3duIiArIGFlLAogICAgICAgICAgICBISURFOiAiaGlkZSIgKyBhZSwKICAgICAgICAgICAgSElEREVOOiAiaGlkZGVuIiArIGFlLAogICAgICAgICAgICBDTElDS19EQVRBX0FQSTogImNsaWNrIiArIGFlICsgIi5kYXRhLWFwaSIKICAgICAgICB9LCBkZSA9ICJzaG93IiwgZmUgPSAiY29sbGFwc2UiLCBnZSA9ICJjb2xsYXBzaW5nIiwgX2UgPSAiY29sbGFwc2VkIiwgbWUgPSAiLnNob3csIC5jb2xsYXBzaW5nIiwgcGUgPSAnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdJywgdmUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZnVuY3Rpb24gYSh0LCBlKSB7CiAgICAgICAgICAgICAgICB0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSAhMSwgdGhpcy5fZWxlbWVudCA9IHQsIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhlKSwgdGhpcy5fdHJpZ2dlckFycmF5ID0gc2UubWFrZUFycmF5KHNlKCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1baHJlZj0iIycgKyB0LmlkICsgJyJdLFtkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXRhcmdldD0iIycgKyB0LmlkICsgJyJdJykpOwogICAgICAgICAgICAgICAgZm9yICh2YXIgbiA9IHNlKHBlKSwgaSA9IDA7IGkgPCBuLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHMgPSBuW2ldLAogICAgICAgICAgICAgICAgICAgICAgICByID0gTWUuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudChzKTsKICAgICAgICAgICAgICAgICAgICBudWxsICE9PSByICYmIDAgPCBzZShyKS5maWx0ZXIodCkubGVuZ3RoICYmICh0aGlzLl9zZWxlY3RvciA9IHIsIHRoaXMuX3RyaWdnZXJBcnJheS5wdXNoKHMpKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdGhpcy5fcGFyZW50ID0gdGhpcy5fY29uZmlnLnBhcmVudCA/IHRoaXMuX2dldFBhcmVudCgpIDogbnVsbCwgdGhpcy5fY29uZmlnLnBhcmVudCB8fCB0aGlzLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3ModGhpcy5fZWxlbWVudCwgdGhpcy5fdHJpZ2dlckFycmF5KSwgdGhpcy5fY29uZmlnLnRvZ2dsZSAmJiB0aGlzLnRvZ2dsZSgpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIHQgPSBhLnByb3RvdHlwZTsKICAgICAgICAgICAgcmV0dXJuIHQudG9nZ2xlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBzZSh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhkZSkgPyB0aGlzLmhpZGUoKSA6IHRoaXMuc2hvdygpCiAgICAgICAgICAgIH0sIHQuc2hvdyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHQsIGUsIG4gPSB0aGlzOwogICAgICAgICAgICAgICAgaWYgKCEodGhpcy5faXNUcmFuc2l0aW9uaW5nIHx8IHNlKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGRlKSB8fCAodGhpcy5fcGFyZW50ICYmIDAgPT09ICh0ID0gc2UubWFrZUFycmF5KHNlKHRoaXMuX3BhcmVudCkuZmluZChtZSkuZmlsdGVyKCdbZGF0YS1wYXJlbnQ9IicgKyB0aGlzLl9jb25maWcucGFyZW50ICsgJyJdJykpKS5sZW5ndGggJiYgKHQgPSBudWxsKSwgdCAmJiAoZSA9IHNlKHQpLm5vdCh0aGlzLl9zZWxlY3RvcikuZGF0YShvZSkpICYmIGUuX2lzVHJhbnNpdGlvbmluZykpKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBzZS5FdmVudCh1ZS5TSE9XKTsKICAgICAgICAgICAgICAgICAgICBpZiAoc2UodGhpcy5fZWxlbWVudCkudHJpZ2dlcihpKSwgIWkuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdCAmJiAoYS5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoc2UodCkubm90KHRoaXMuX3NlbGVjdG9yKSwgImhpZGUiKSwgZSB8fCBzZSh0KS5kYXRhKG9lLCBudWxsKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzID0gdGhpcy5fZ2V0RGltZW5zaW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNlKHRoaXMuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKGZlKS5hZGRDbGFzcyhnZSksICh0aGlzLl9lbGVtZW50LnN0eWxlW3NdID0gMCkgPCB0aGlzLl90cmlnZ2VyQXJyYXkubGVuZ3RoICYmIHNlKHRoaXMuX3RyaWdnZXJBcnJheSkucmVtb3ZlQ2xhc3MoX2UpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCAhMCksIHRoaXMuc2V0VHJhbnNpdGlvbmluZyghMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZShuLl9lbGVtZW50KS5yZW1vdmVDbGFzcyhnZSkuYWRkQ2xhc3MoZmUpLmFkZENsYXNzKGRlKSwgbi5fZWxlbWVudC5zdHlsZVtzXSA9ICIiLCBuLnNldFRyYW5zaXRpb25pbmcoITEpLCBzZShuLl9lbGVtZW50KS50cmlnZ2VyKHVlLlNIT1dOKQogICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTWUuc3VwcG9ydHNUcmFuc2l0aW9uRW5kKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvID0gInNjcm9sbCIgKyAoc1swXS50b1VwcGVyQ2FzZSgpICsgcy5zbGljZSgxKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZSh0aGlzLl9lbGVtZW50KS5vbmUoTWUuVFJBTlNJVElPTl9FTkQsIHIpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKDYwMCksIHRoaXMuX2VsZW1lbnQuc3R5bGVbc10gPSB0aGlzLl9lbGVtZW50W29dICsgInB4IgogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgcigpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB0LmhpZGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpczsKICAgICAgICAgICAgICAgIGlmICghdGhpcy5faXNUcmFuc2l0aW9uaW5nICYmIHNlKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGRlKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gc2UuRXZlbnQodWUuSElERSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHNlKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIoZSksICFlLmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBuID0gdGhpcy5fZ2V0RGltZW5zaW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9lbGVtZW50LnN0eWxlW25dID0gdGhpcy5fZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVtuXSArICJweCIsIE1lLnJlZmxvdyh0aGlzLl9lbGVtZW50KSwgc2UodGhpcy5fZWxlbWVudCkuYWRkQ2xhc3MoZ2UpLnJlbW92ZUNsYXNzKGZlKS5yZW1vdmVDbGFzcyhkZSksIDAgPCB0aGlzLl90cmlnZ2VyQXJyYXkubGVuZ3RoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl90cmlnZ2VyQXJyYXkubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcyA9IHRoaXMuX3RyaWdnZXJBcnJheVtpXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IE1lLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQocyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhPT0gciAmJiAoc2UocikuaGFzQ2xhc3MoZGUpIHx8IHNlKHMpLmFkZENsYXNzKF9lKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwgITEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFRyYW5zaXRpb25pbmcoITApOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdC5zZXRUcmFuc2l0aW9uaW5nKCExKSwgc2UodC5fZWxlbWVudCkucmVtb3ZlQ2xhc3MoZ2UpLmFkZENsYXNzKGZlKS50cmlnZ2VyKHVlLkhJRERFTikKICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZVtuXSA9ICIiLCBNZS5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSA/IHNlKHRoaXMuX2VsZW1lbnQpLm9uZShNZS5UUkFOU0lUSU9OX0VORCwgbykuZW11bGF0ZVRyYW5zaXRpb25FbmQoNjAwKSA6IG8oKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgdC5zZXRUcmFuc2l0aW9uaW5nID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gdAogICAgICAgICAgICB9LCB0LmRpc3Bvc2UgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHNlLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwgb2UpLCB0aGlzLl9jb25maWcgPSBudWxsLCB0aGlzLl9wYXJlbnQgPSBudWxsLCB0aGlzLl9lbGVtZW50ID0gbnVsbCwgdGhpcy5fdHJpZ2dlckFycmF5ID0gbnVsbCwgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gbnVsbAogICAgICAgICAgICB9LCB0Ll9nZXRDb25maWcgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKHQgPSB1KHt9LCBoZSwgdCkpLnRvZ2dsZSA9IEJvb2xlYW4odC50b2dnbGUpLCBNZS50eXBlQ2hlY2tDb25maWcocmUsIHQsIGNlKSwgdAogICAgICAgICAgICB9LCB0Ll9nZXREaW1lbnNpb24gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHJldHVybiBzZSh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcygid2lkdGgiKSA/ICJ3aWR0aCIgOiAiaGVpZ2h0IgogICAgICAgICAgICB9LCB0Ll9nZXRQYXJlbnQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBuID0gdGhpcywKICAgICAgICAgICAgICAgICAgICB0ID0gbnVsbDsKICAgICAgICAgICAgICAgIE1lLmlzRWxlbWVudCh0aGlzLl9jb25maWcucGFyZW50KSA/ICh0ID0gdGhpcy5fY29uZmlnLnBhcmVudCwgdm9pZCAwICE9PSB0aGlzLl9jb25maWcucGFyZW50LmpxdWVyeSAmJiAodCA9IHRoaXMuX2NvbmZpZy5wYXJlbnRbMF0pKSA6IHQgPSBzZSh0aGlzLl9jb25maWcucGFyZW50KVswXTsKICAgICAgICAgICAgICAgIHZhciBlID0gJ1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXBhcmVudD0iJyArIHRoaXMuX2NvbmZpZy5wYXJlbnQgKyAnIl0nOwogICAgICAgICAgICAgICAgcmV0dXJuIHNlKHQpLmZpbmQoZSkuZWFjaChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgbi5fYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKGEuX2dldFRhcmdldEZyb21FbGVtZW50KGUpLCBbZV0pCiAgICAgICAgICAgICAgICB9KSwgdAogICAgICAgICAgICB9LCB0Ll9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3MgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICBpZiAodCkgewogICAgICAgICAgICAgICAgICAgIHZhciBuID0gc2UodCkuaGFzQ2xhc3MoZGUpOwogICAgICAgICAgICAgICAgICAgIDAgPCBlLmxlbmd0aCAmJiBzZShlKS50b2dnbGVDbGFzcyhfZSwgIW4pLmF0dHIoImFyaWEtZXhwYW5kZWQiLCBuKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCBhLl9nZXRUYXJnZXRGcm9tRWxlbWVudCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gTWUuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0KTsKICAgICAgICAgICAgICAgIHJldHVybiBlID8gc2UoZSlbMF0gOiBudWxsCiAgICAgICAgICAgIH0sIGEuX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBzZSh0aGlzKSwKICAgICAgICAgICAgICAgICAgICAgICAgZSA9IHQuZGF0YShvZSksCiAgICAgICAgICAgICAgICAgICAgICAgIG4gPSB1KHt9LCBoZSwgdC5kYXRhKCksICJvYmplY3QiID09IHR5cGVvZiBpICYmIGkpOwogICAgICAgICAgICAgICAgICAgIGlmICghZSAmJiBuLnRvZ2dsZSAmJiAvc2hvd3xoaWRlLy50ZXN0KGkpICYmIChuLnRvZ2dsZSA9ICExKSwgZSB8fCAoZSA9IG5ldyBhKHRoaXMsIG4pLCB0LmRhdGEob2UsIGUpKSwgInN0cmluZyIgPT0gdHlwZW9mIGkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZvaWQgMCA9PT0gZVtpXSkgdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInICsgaSArICciJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGVbaV0oKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0sIG8oYSwgbnVsbCwgW3sKICAgICAgICAgICAgICAgIGtleTogIlZFUlNJT04iLAogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjQuMC4wIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBrZXk6ICJEZWZhdWx0IiwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhlCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH1dKSwgYQogICAgICAgIH0oKSwgc2UoZG9jdW1lbnQpLm9uKHVlLkNMSUNLX0RBVEFfQVBJLCBwZSwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAiQSIgPT09IHQuY3VycmVudFRhcmdldC50YWdOYW1lICYmIHQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIG4gPSBzZSh0aGlzKSwKICAgICAgICAgICAgICAgIGUgPSBNZS5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMpOwogICAgICAgICAgICBzZShlKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSBzZSh0aGlzKSwKICAgICAgICAgICAgICAgICAgICBlID0gdC5kYXRhKG9lKSA/ICJ0b2dnbGUiIDogbi5kYXRhKCk7CiAgICAgICAgICAgICAgICB2ZS5falF1ZXJ5SW50ZXJmYWNlLmNhbGwodCwgZSkKICAgICAgICAgICAgfSkKICAgICAgICB9KSwgc2UuZm5bcmVdID0gdmUuX2pRdWVyeUludGVyZmFjZSwgc2UuZm5bcmVdLkNvbnN0cnVjdG9yID0gdmUsIHNlLmZuW3JlXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiBzZS5mbltyZV0gPSBsZSwgdmUuX2pRdWVyeUludGVyZmFjZQogICAgICAgIH0sIHZlKSwKICAgICAgICBZZSA9IChCdCA9ICJkcm9wZG93biIsIFZ0ID0gIi4iICsgKEZ0ID0gImJzLmRyb3Bkb3duIiksIFl0ID0gIi5kYXRhLWFwaSIsIHF0ID0gKFF0ID0gZSkuZm5bQnRdLCB6dCA9IG5ldyBSZWdFeHAoIjM4fDQwfDI3IiksIFp0ID0gewogICAgICAgICAgICBISURFOiAiaGlkZSIgKyBWdCwKICAgICAgICAgICAgSElEREVOOiAiaGlkZGVuIiArIFZ0LAogICAgICAgICAgICBTSE9XOiAic2hvdyIgKyBWdCwKICAgICAgICAgICAgU0hPV046ICJzaG93biIgKyBWdCwKICAgICAgICAgICAgQ0xJQ0s6ICJjbGljayIgKyBWdCwKICAgICAgICAgICAgQ0xJQ0tfREFUQV9BUEk6ICJjbGljayIgKyBWdCArIFl0LAogICAgICAgICAgICBLRVlET1dOX0RBVEFfQVBJOiAia2V5ZG93biIgKyBWdCArIFl0LAogICAgICAgICAgICBLRVlVUF9EQVRBX0FQSTogImtleXVwIiArIFZ0ICsgWXQKICAgICAgICB9LCBKdCA9ICJkaXNhYmxlZCIsICR0ID0gInNob3ciLCBHdCA9ICJkcm9wZG93bi1tZW51LXJpZ2h0IiwgWHQgPSAnW2RhdGEtdG9nZ2xlPSJkcm9wZG93biJdJywgdGUgPSAiLmRyb3Bkb3duLW1lbnUiLCBlZSA9IHsKICAgICAgICAgICAgb2Zmc2V0OiAwLAogICAgICAgICAgICBmbGlwOiAhMCwKICAgICAgICAgICAgYm91bmRhcnk6ICJzY3JvbGxQYXJlbnQiCiAgICAgICAgfSwgbmUgPSB7CiAgICAgICAgICAgIG9mZnNldDogIihudW1iZXJ8c3RyaW5nfGZ1bmN0aW9uKSIsCiAgICAgICAgICAgIGZsaXA6ICJib29sZWFuIiwKICAgICAgICAgICAgYm91bmRhcnk6ICIoc3RyaW5nfGVsZW1lbnQpIgogICAgICAgIH0sIGllID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIGwodCwgZSkgewogICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudCA9IHQsIHRoaXMuX3BvcHBlciA9IG51bGwsIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhlKSwgdGhpcy5fbWVudSA9IHRoaXMuX2dldE1lbnVFbGVtZW50KCksIHRoaXMuX2luTmF2YmFyID0gdGhpcy5fZGV0ZWN0TmF2YmFyKCksIHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJzKCkKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgdCA9IGwucHJvdG90eXBlOwogICAgICAgICAgICByZXR1cm4gdC50b2dnbGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGlmICghdGhpcy5fZWxlbWVudC5kaXNhYmxlZCAmJiAhUXQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoSnQpKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBsLl9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KSwKICAgICAgICAgICAgICAgICAgICAgICAgZSA9IFF0KHRoaXMuX21lbnUpLmhhc0NsYXNzKCR0KTsKICAgICAgICAgICAgICAgICAgICBpZiAobC5fY2xlYXJNZW51cygpLCAhZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0OiB0aGlzLl9lbGVtZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IFF0LkV2ZW50KFp0LlNIT1csIG4pOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoUXQodCkudHJpZ2dlcihpKSwgIWkuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5faW5OYXZiYXIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodm9pZCAwID09PSBjKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJCb290c3RyYXAgZHJvcGRvd24gcmVxdWlyZSBQb3BwZXIuanMgKGh0dHBzOi8vcG9wcGVyLmpzLm9yZykiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcyA9IHRoaXMuX2VsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUXQodCkuaGFzQ2xhc3MoImRyb3B1cCIpICYmIChRdCh0aGlzLl9tZW51KS5oYXNDbGFzcygiZHJvcGRvd24tbWVudS1sZWZ0IikgfHwgUXQodGhpcy5fbWVudSkuaGFzQ2xhc3MoR3QpKSAmJiAocyA9IHQpLCAic2Nyb2xsUGFyZW50IiAhPT0gdGhpcy5fY29uZmlnLmJvdW5kYXJ5ICYmIFF0KHQpLmFkZENsYXNzKCJwb3NpdGlvbi1zdGF0aWMiKSwgdGhpcy5fcG9wcGVyID0gbmV3IGMocywgdGhpcy5fbWVudSwgdGhpcy5fZ2V0UG9wcGVyQ29uZmlnKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAib250b3VjaHN0YXJ0IiBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgMCA9PT0gUXQodCkuY2xvc2VzdCgiLm5hdmJhci1uYXYiKS5sZW5ndGggJiYgUXQoImJvZHkiKS5jaGlsZHJlbigpLm9uKCJtb3VzZW92ZXIiLCBudWxsLCBRdC5ub29wKSwgdGhpcy5fZWxlbWVudC5mb2N1cygpLCB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsICEwKSwgUXQodGhpcy5fbWVudSkudG9nZ2xlQ2xhc3MoJHQpLCBRdCh0KS50b2dnbGVDbGFzcygkdCkudHJpZ2dlcihRdC5FdmVudChadC5TSE9XTiwgbikpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHQuZGlzcG9zZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgUXQucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LCBGdCksIFF0KHRoaXMuX2VsZW1lbnQpLm9mZihWdCksIHRoaXMuX2VsZW1lbnQgPSBudWxsLCAodGhpcy5fbWVudSA9IG51bGwpICE9PSB0aGlzLl9wb3BwZXIgJiYgKHRoaXMuX3BvcHBlci5kZXN0cm95KCksIHRoaXMuX3BvcHBlciA9IG51bGwpCiAgICAgICAgICAgIH0sIHQudXBkYXRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB0aGlzLl9pbk5hdmJhciA9IHRoaXMuX2RldGVjdE5hdmJhcigpLCBudWxsICE9PSB0aGlzLl9wb3BwZXIgJiYgdGhpcy5fcG9wcGVyLnNjaGVkdWxlVXBkYXRlKCkKICAgICAgICAgICAgfSwgdC5fYWRkRXZlbnRMaXN0ZW5lcnMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdGhpczsKICAgICAgICAgICAgICAgIFF0KHRoaXMuX2VsZW1lbnQpLm9uKFp0LkNMSUNLLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdC5wcmV2ZW50RGVmYXVsdCgpLCB0LnN0b3BQcm9wYWdhdGlvbigpLCBlLnRvZ2dsZSgpCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9LCB0Ll9nZXRDb25maWcgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdCA9IHUoe30sIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdCwgUXQodGhpcy5fZWxlbWVudCkuZGF0YSgpLCB0KSwgTWUudHlwZUNoZWNrQ29uZmlnKEJ0LCB0LCB0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRUeXBlKSwgdAogICAgICAgICAgICB9LCB0Ll9nZXRNZW51RWxlbWVudCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9tZW51KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBsLl9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTsKICAgICAgICAgICAgICAgICAgICB0aGlzLl9tZW51ID0gUXQodCkuZmluZCh0ZSlbMF0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9tZW51CiAgICAgICAgICAgIH0sIHQuX2dldFBsYWNlbWVudCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSBRdCh0aGlzLl9lbGVtZW50KS5wYXJlbnQoKSwKICAgICAgICAgICAgICAgICAgICBlID0gImJvdHRvbS1zdGFydCI7CiAgICAgICAgICAgICAgICByZXR1cm4gdC5oYXNDbGFzcygiZHJvcHVwIikgPyAoZSA9ICJ0b3Atc3RhcnQiLCBRdCh0aGlzLl9tZW51KS5oYXNDbGFzcyhHdCkgJiYgKGUgPSAidG9wLWVuZCIpKSA6IHQuaGFzQ2xhc3MoImRyb3ByaWdodCIpID8gZSA9ICJyaWdodC1zdGFydCIgOiB0Lmhhc0NsYXNzKCJkcm9wbGVmdCIpID8gZSA9ICJsZWZ0LXN0YXJ0IiA6IFF0KHRoaXMuX21lbnUpLmhhc0NsYXNzKEd0KSAmJiAoZSA9ICJib3R0b20tZW5kIiksIGUKICAgICAgICAgICAgfSwgdC5fZGV0ZWN0TmF2YmFyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMCA8IFF0KHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QoIi5uYXZiYXIiKS5sZW5ndGgKICAgICAgICAgICAgfSwgdC5fZ2V0UG9wcGVyQ29uZmlnID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgdCA9IHt9OwogICAgICAgICAgICAgICAgcmV0dXJuICJmdW5jdGlvbiIgPT0gdHlwZW9mIHRoaXMuX2NvbmZpZy5vZmZzZXQgPyB0LmZuID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0Lm9mZnNldHMgPSB1KHt9LCB0Lm9mZnNldHMsIGUuX2NvbmZpZy5vZmZzZXQodC5vZmZzZXRzKSB8fCB7fSksIHQKICAgICAgICAgICAgICAgIH0gOiB0Lm9mZnNldCA9IHRoaXMuX2NvbmZpZy5vZmZzZXQsIHsKICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHRoaXMuX2dldFBsYWNlbWVudCgpLAogICAgICAgICAgICAgICAgICAgIG1vZGlmaWVyczogewogICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHQsCiAgICAgICAgICAgICAgICAgICAgICAgIGZsaXA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRoaXMuX2NvbmZpZy5mbGlwCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZlbnRPdmVyZmxvdzogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYm91bmRhcmllc0VsZW1lbnQ6IHRoaXMuX2NvbmZpZy5ib3VuZGFyeQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCBsLl9qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gUXQodGhpcykuZGF0YShGdCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHQgfHwgKHQgPSBuZXcgbCh0aGlzLCAib2JqZWN0IiA9PSB0eXBlb2YgZSA/IGUgOiBudWxsKSwgUXQodGhpcykuZGF0YShGdCwgdCkpLCAic3RyaW5nIiA9PSB0eXBlb2YgZSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAodm9pZCAwID09PSB0W2VdKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicgKyBlICsgJyInKTsKICAgICAgICAgICAgICAgICAgICAgICAgdFtlXSgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSwgbC5fY2xlYXJNZW51cyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIGlmICghdCB8fCAzICE9PSB0LndoaWNoICYmICgia2V5dXAiICE9PSB0LnR5cGUgfHwgOSA9PT0gdC53aGljaCkpCiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgZSA9IFF0Lm1ha2VBcnJheShRdChYdCkpLCBuID0gMDsgbiA8IGUubGVuZ3RoOyBuKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBsLl9nZXRQYXJlbnRGcm9tRWxlbWVudChlW25dKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMgPSBRdChlW25dKS5kYXRhKEZ0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldDogZVtuXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvID0gcy5fbWVudTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChRdChpKS5oYXNDbGFzcygkdCkgJiYgISh0ICYmICgiY2xpY2siID09PSB0LnR5cGUgJiYgL2lucHV0fHRleHRhcmVhL2kudGVzdCh0LnRhcmdldC50YWdOYW1lKSB8fCAia2V5dXAiID09PSB0LnR5cGUgJiYgOSA9PT0gdC53aGljaCkgJiYgUXQuY29udGFpbnMoaSwgdC50YXJnZXQpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhID0gUXQuRXZlbnQoWnQuSElERSwgcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUXQoaSkudHJpZ2dlcihhKSwgYS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSB8fCAoIm9udG91Y2hzdGFydCIgaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIFF0KCJib2R5IikuY2hpbGRyZW4oKS5vZmYoIm1vdXNlb3ZlciIsIG51bGwsIFF0Lm5vb3ApLCBlW25dLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsICJmYWxzZSIpLCBRdChvKS5yZW1vdmVDbGFzcygkdCksIFF0KGkpLnJlbW92ZUNsYXNzKCR0KS50cmlnZ2VyKFF0LkV2ZW50KFp0LkhJRERFTiwgcikpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCBsLl9nZXRQYXJlbnRGcm9tRWxlbWVudCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlLCBuID0gTWUuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0KTsKICAgICAgICAgICAgICAgIHJldHVybiBuICYmIChlID0gUXQobilbMF0pLCBlIHx8IHQucGFyZW50Tm9kZQogICAgICAgICAgICB9LCBsLl9kYXRhQXBpS2V5ZG93bkhhbmRsZXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBpZiAoKC9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QodC50YXJnZXQudGFnTmFtZSkgPyAhKDMyID09PSB0LndoaWNoIHx8IDI3ICE9PSB0LndoaWNoICYmICg0MCAhPT0gdC53aGljaCAmJiAzOCAhPT0gdC53aGljaCB8fCBRdCh0LnRhcmdldCkuY2xvc2VzdCh0ZSkubGVuZ3RoKSkgOiB6dC50ZXN0KHQud2hpY2gpKSAmJiAodC5wcmV2ZW50RGVmYXVsdCgpLCB0LnN0b3BQcm9wYWdhdGlvbigpLCAhdGhpcy5kaXNhYmxlZCAmJiAhUXQodGhpcykuaGFzQ2xhc3MoSnQpKSkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gbC5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcyksCiAgICAgICAgICAgICAgICAgICAgICAgIG4gPSBRdChlKS5oYXNDbGFzcygkdCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKChuIHx8IDI3ID09PSB0LndoaWNoICYmIDMyID09PSB0LndoaWNoKSAmJiAoIW4gfHwgMjcgIT09IHQud2hpY2ggJiYgMzIgIT09IHQud2hpY2gpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpID0gUXQoZSkuZmluZCgiLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCkiKS5nZXQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKDAgIT09IGkubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcyA9IGkuaW5kZXhPZih0LnRhcmdldCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAzOCA9PT0gdC53aGljaCAmJiAwIDwgcyAmJiBzLS0sIDQwID09PSB0LndoaWNoICYmIHMgPCBpLmxlbmd0aCAtIDEgJiYgcysrLCBzIDwgMCAmJiAocyA9IDApLCBpW3NdLmZvY3VzKCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgyNyA9PT0gdC53aGljaCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHIgPSBRdChlKS5maW5kKFh0KVswXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF0KHIpLnRyaWdnZXIoImZvY3VzIikKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBRdCh0aGlzKS50cmlnZ2VyKCJjbGljayIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCBvKGwsIG51bGwsIFt7CiAgICAgICAgICAgICAgICBrZXk6ICJWRVJTSU9OIiwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICI0LjAuMCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAga2V5OiAiRGVmYXVsdCIsCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBlZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBrZXk6ICJEZWZhdWx0VHlwZSIsCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBuZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9XSksIGwKICAgICAgICB9KCksIFF0KGRvY3VtZW50KS5vbihadC5LRVlET1dOX0RBVEFfQVBJLCBYdCwgaWUuX2RhdGFBcGlLZXlkb3duSGFuZGxlcikub24oWnQuS0VZRE9XTl9EQVRBX0FQSSwgdGUsIGllLl9kYXRhQXBpS2V5ZG93bkhhbmRsZXIpLm9uKFp0LkNMSUNLX0RBVEFfQVBJICsgIiAiICsgWnQuS0VZVVBfREFUQV9BUEksIGllLl9jbGVhck1lbnVzKS5vbihadC5DTElDS19EQVRBX0FQSSwgWHQsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdC5wcmV2ZW50RGVmYXVsdCgpLCB0LnN0b3BQcm9wYWdhdGlvbigpLCBpZS5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoUXQodGhpcyksICJ0b2dnbGUiKQogICAgICAgIH0pLm9uKFp0LkNMSUNLX0RBVEFfQVBJLCAiLmRyb3Bkb3duIGZvcm0iLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHQuc3RvcFByb3BhZ2F0aW9uKCkKICAgICAgICB9KSwgUXQuZm5bQnRdID0gaWUuX2pRdWVyeUludGVyZmFjZSwgUXQuZm5bQnRdLkNvbnN0cnVjdG9yID0gaWUsIFF0LmZuW0J0XS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiBRdC5mbltCdF0gPSBxdCwgaWUuX2pRdWVyeUludGVyZmFjZQogICAgICAgIH0sIGllKSwKICAgICAgICBxZSA9IChEdCA9ICIuIiArIChBdCA9ICJicy5tb2RhbCIpLCBTdCA9ICh3dCA9IGUpLmZuLm1vZGFsLCBOdCA9IHsKICAgICAgICAgICAgYmFja2Ryb3A6ICEwLAogICAgICAgICAgICBrZXlib2FyZDogITAsCiAgICAgICAgICAgIGZvY3VzOiAhMCwKICAgICAgICAgICAgc2hvdzogITAKICAgICAgICB9LCBPdCA9IHsKICAgICAgICAgICAgYmFja2Ryb3A6ICIoYm9vbGVhbnxzdHJpbmcpIiwKICAgICAgICAgICAga2V5Ym9hcmQ6ICJib29sZWFuIiwKICAgICAgICAgICAgZm9jdXM6ICJib29sZWFuIiwKICAgICAgICAgICAgc2hvdzogImJvb2xlYW4iCiAgICAgICAgfSwga3QgPSB7CiAgICAgICAgICAgIEhJREU6ICJoaWRlIiArIER0LAogICAgICAgICAgICBISURERU46ICJoaWRkZW4iICsgRHQsCiAgICAgICAgICAgIFNIT1c6ICJzaG93IiArIER0LAogICAgICAgICAgICBTSE9XTjogInNob3duIiArIER0LAogICAgICAgICAgICBGT0NVU0lOOiAiZm9jdXNpbiIgKyBEdCwKICAgICAgICAgICAgUkVTSVpFOiAicmVzaXplIiArIER0LAogICAgICAgICAgICBDTElDS19ESVNNSVNTOiAiY2xpY2suZGlzbWlzcyIgKyBEdCwKICAgICAgICAgICAgS0VZRE9XTl9ESVNNSVNTOiAia2V5ZG93bi5kaXNtaXNzIiArIER0LAogICAgICAgICAgICBNT1VTRVVQX0RJU01JU1M6ICJtb3VzZXVwLmRpc21pc3MiICsgRHQsCiAgICAgICAgICAgIE1PVVNFRE9XTl9ESVNNSVNTOiAibW91c2Vkb3duLmRpc21pc3MiICsgRHQsCiAgICAgICAgICAgIENMSUNLX0RBVEFfQVBJOiAiY2xpY2siICsgRHQgKyAiLmRhdGEtYXBpIgogICAgICAgIH0sIFB0ID0gIm1vZGFsLW9wZW4iLCBqdCA9ICJmYWRlIiwgSHQgPSAic2hvdyIsIEx0ID0gIi5tb2RhbC1kaWFsb2ciLCBSdCA9ICdbZGF0YS10b2dnbGU9Im1vZGFsIl0nLCB4dCA9ICdbZGF0YS1kaXNtaXNzPSJtb2RhbCJdJywgVXQgPSAiLmZpeGVkLXRvcCwgLmZpeGVkLWJvdHRvbSwgLmlzLWZpeGVkLCAuc3RpY2t5LXRvcCIsIFd0ID0gIi5zdGlja3ktdG9wIiwgS3QgPSAiLm5hdmJhci10b2dnbGVyIiwgTXQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZnVuY3Rpb24gcyh0LCBlKSB7CiAgICAgICAgICAgICAgICB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoZSksIHRoaXMuX2VsZW1lbnQgPSB0LCB0aGlzLl9kaWFsb2cgPSB3dCh0KS5maW5kKEx0KVswXSwgdGhpcy5fYmFja2Ryb3AgPSBudWxsLCB0aGlzLl9pc1Nob3duID0gITEsIHRoaXMuX2lzQm9keU92ZXJmbG93aW5nID0gITEsIHRoaXMuX2lnbm9yZUJhY2tkcm9wQ2xpY2sgPSAhMSwgdGhpcy5fb3JpZ2luYWxCb2R5UGFkZGluZyA9IDAsIHRoaXMuX3Njcm9sbGJhcldpZHRoID0gMAogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciB0ID0gcy5wcm90b3R5cGU7CiAgICAgICAgICAgIHJldHVybiB0LnRvZ2dsZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9pc1Nob3duID8gdGhpcy5oaWRlKCkgOiB0aGlzLnNob3codCkKICAgICAgICAgICAgfSwgdC5zaG93ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzOwogICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9pc1RyYW5zaXRpb25pbmcgJiYgIXRoaXMuX2lzU2hvd24pIHsKICAgICAgICAgICAgICAgICAgICBNZS5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSAmJiB3dCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhqdCkgJiYgKHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9ICEwKTsKICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IHd0LkV2ZW50KGt0LlNIT1csIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldDogdAogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIHd0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIobiksIHRoaXMuX2lzU2hvd24gfHwgbi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSB8fCAodGhpcy5faXNTaG93biA9ICEwLCB0aGlzLl9jaGVja1Njcm9sbGJhcigpLCB0aGlzLl9zZXRTY3JvbGxiYXIoKSwgdGhpcy5fYWRqdXN0RGlhbG9nKCksIHd0KGRvY3VtZW50LmJvZHkpLmFkZENsYXNzKFB0KSwgdGhpcy5fc2V0RXNjYXBlRXZlbnQoKSwgdGhpcy5fc2V0UmVzaXplRXZlbnQoKSwgd3QodGhpcy5fZWxlbWVudCkub24oa3QuQ0xJQ0tfRElTTUlTUywgeHQsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuaGlkZSh0KQogICAgICAgICAgICAgICAgICAgIH0pLCB3dCh0aGlzLl9kaWFsb2cpLm9uKGt0Lk1PVVNFRE9XTl9ESVNNSVNTLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgd3QoZS5fZWxlbWVudCkub25lKGt0Lk1PVVNFVVBfRElTTUlTUywgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgd3QodC50YXJnZXQpLmlzKGUuX2VsZW1lbnQpICYmIChlLl9pZ25vcmVCYWNrZHJvcENsaWNrID0gITApCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfSksIHRoaXMuX3Nob3dCYWNrZHJvcChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuX3Nob3dFbGVtZW50KHQpCiAgICAgICAgICAgICAgICAgICAgfSkpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHQuaGlkZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdGhpczsKICAgICAgICAgICAgICAgIGlmICh0ICYmIHQucHJldmVudERlZmF1bHQoKSwgIXRoaXMuX2lzVHJhbnNpdGlvbmluZyAmJiB0aGlzLl9pc1Nob3duKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSB3dC5FdmVudChrdC5ISURFKTsKICAgICAgICAgICAgICAgICAgICBpZiAod3QodGhpcy5fZWxlbWVudCkudHJpZ2dlcihuKSwgdGhpcy5faXNTaG93biAmJiAhbi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgewogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9pc1Nob3duID0gITE7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpID0gTWUuc3VwcG9ydHNUcmFuc2l0aW9uRW5kKCkgJiYgd3QodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoanQpOwogICAgICAgICAgICAgICAgICAgICAgICBpICYmICh0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSAhMCksIHRoaXMuX3NldEVzY2FwZUV2ZW50KCksIHRoaXMuX3NldFJlc2l6ZUV2ZW50KCksIHd0KGRvY3VtZW50KS5vZmYoa3QuRk9DVVNJTiksIHd0KHRoaXMuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKEh0KSwgd3QodGhpcy5fZWxlbWVudCkub2ZmKGt0LkNMSUNLX0RJU01JU1MpLCB3dCh0aGlzLl9kaWFsb2cpLm9mZihrdC5NT1VTRURPV05fRElTTUlTUyksIGkgPyB3dCh0aGlzLl9lbGVtZW50KS5vbmUoTWUuVFJBTlNJVElPTl9FTkQsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlLl9oaWRlTW9kYWwodCkKICAgICAgICAgICAgICAgICAgICAgICAgfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoMzAwKSA6IHRoaXMuX2hpZGVNb2RhbCgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB0LmRpc3Bvc2UgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHd0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwgQXQpLCB3dCh3aW5kb3csIGRvY3VtZW50LCB0aGlzLl9lbGVtZW50LCB0aGlzLl9iYWNrZHJvcCkub2ZmKER0KSwgdGhpcy5fY29uZmlnID0gbnVsbCwgdGhpcy5fZWxlbWVudCA9IG51bGwsIHRoaXMuX2RpYWxvZyA9IG51bGwsIHRoaXMuX2JhY2tkcm9wID0gbnVsbCwgdGhpcy5faXNTaG93biA9IG51bGwsIHRoaXMuX2lzQm9keU92ZXJmbG93aW5nID0gbnVsbCwgdGhpcy5faWdub3JlQmFja2Ryb3BDbGljayA9IG51bGwsIHRoaXMuX3Njcm9sbGJhcldpZHRoID0gbnVsbAogICAgICAgICAgICB9LCB0LmhhbmRsZVVwZGF0ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdGhpcy5fYWRqdXN0RGlhbG9nKCkKICAgICAgICAgICAgfSwgdC5fZ2V0Q29uZmlnID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHQgPSB1KHt9LCBOdCwgdCksIE1lLnR5cGVDaGVja0NvbmZpZygibW9kYWwiLCB0LCBPdCksIHQKICAgICAgICAgICAgfSwgdC5fc2hvd0VsZW1lbnQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgbiA9IE1lLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpICYmIHd0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGp0KTsKICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQucGFyZW50Tm9kZSAmJiB0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFIHx8IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbWVudCksIHRoaXMuX2VsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICJibG9jayIsIHRoaXMuX2VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpLCB0aGlzLl9lbGVtZW50LnNjcm9sbFRvcCA9IDAsIG4gJiYgTWUucmVmbG93KHRoaXMuX2VsZW1lbnQpLCB3dCh0aGlzLl9lbGVtZW50KS5hZGRDbGFzcyhIdCksIHRoaXMuX2NvbmZpZy5mb2N1cyAmJiB0aGlzLl9lbmZvcmNlRm9jdXMoKTsKICAgICAgICAgICAgICAgIHZhciBpID0gd3QuRXZlbnQoa3QuU0hPV04sIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldDogdAogICAgICAgICAgICAgICAgICAgIH0pLAogICAgICAgICAgICAgICAgICAgIHMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZS5fY29uZmlnLmZvY3VzICYmIGUuX2VsZW1lbnQuZm9jdXMoKSwgZS5faXNUcmFuc2l0aW9uaW5nID0gITEsIHd0KGUuX2VsZW1lbnQpLnRyaWdnZXIoaSkKICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgbiA/IHd0KHRoaXMuX2RpYWxvZykub25lKE1lLlRSQU5TSVRJT05fRU5ELCBzKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCgzMDApIDogcygpCiAgICAgICAgICAgIH0sIHQuX2VuZm9yY2VGb2N1cyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzOwogICAgICAgICAgICAgICAgd3QoZG9jdW1lbnQpLm9mZihrdC5GT0NVU0lOKS5vbihrdC5GT0NVU0lOLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQgIT09IHQudGFyZ2V0ICYmIGUuX2VsZW1lbnQgIT09IHQudGFyZ2V0ICYmIDAgPT09IHd0KGUuX2VsZW1lbnQpLmhhcyh0LnRhcmdldCkubGVuZ3RoICYmIGUuX2VsZW1lbnQuZm9jdXMoKQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSwgdC5fc2V0RXNjYXBlRXZlbnQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdGhpczsKICAgICAgICAgICAgICAgIHRoaXMuX2lzU2hvd24gJiYgdGhpcy5fY29uZmlnLmtleWJvYXJkID8gd3QodGhpcy5fZWxlbWVudCkub24oa3QuS0VZRE9XTl9ESVNNSVNTLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgMjcgPT09IHQud2hpY2ggJiYgKHQucHJldmVudERlZmF1bHQoKSwgZS5oaWRlKCkpCiAgICAgICAgICAgICAgICB9KSA6IHRoaXMuX2lzU2hvd24gfHwgd3QodGhpcy5fZWxlbWVudCkub2ZmKGt0LktFWURPV05fRElTTUlTUykKICAgICAgICAgICAgfSwgdC5fc2V0UmVzaXplRXZlbnQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdGhpczsKICAgICAgICAgICAgICAgIHRoaXMuX2lzU2hvd24gPyB3dCh3aW5kb3cpLm9uKGt0LlJFU0laRSwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBlLmhhbmRsZVVwZGF0ZSh0KQogICAgICAgICAgICAgICAgfSkgOiB3dCh3aW5kb3cpLm9mZihrdC5SRVNJWkUpCiAgICAgICAgICAgIH0sIHQuX2hpZGVNb2RhbCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzOwogICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiLCB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCAhMCksIHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9ICExLCB0aGlzLl9zaG93QmFja2Ryb3AoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgd3QoZG9jdW1lbnQuYm9keSkucmVtb3ZlQ2xhc3MoUHQpLCB0Ll9yZXNldEFkanVzdG1lbnRzKCksIHQuX3Jlc2V0U2Nyb2xsYmFyKCksIHd0KHQuX2VsZW1lbnQpLnRyaWdnZXIoa3QuSElEREVOKQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSwgdC5fcmVtb3ZlQmFja2Ryb3AgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHRoaXMuX2JhY2tkcm9wICYmICh3dCh0aGlzLl9iYWNrZHJvcCkucmVtb3ZlKCksIHRoaXMuX2JhY2tkcm9wID0gbnVsbCkKICAgICAgICAgICAgfSwgdC5fc2hvd0JhY2tkcm9wID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLAogICAgICAgICAgICAgICAgICAgIG4gPSB3dCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhqdCkgPyBqdCA6ICIiOwogICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzU2hvd24gJiYgdGhpcy5fY29uZmlnLmJhY2tkcm9wKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBNZS5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSAmJiBuOwogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9iYWNrZHJvcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLCB0aGlzLl9iYWNrZHJvcC5jbGFzc05hbWUgPSAibW9kYWwtYmFja2Ryb3AiLCBuICYmIHd0KHRoaXMuX2JhY2tkcm9wKS5hZGRDbGFzcyhuKSwgd3QodGhpcy5fYmFja2Ryb3ApLmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpLCB3dCh0aGlzLl9lbGVtZW50KS5vbihrdC5DTElDS19ESVNNSVNTLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLl9pZ25vcmVCYWNrZHJvcENsaWNrID8gZS5faWdub3JlQmFja2Ryb3BDbGljayA9ICExIDogdC50YXJnZXQgPT09IHQuY3VycmVudFRhcmdldCAmJiAoInN0YXRpYyIgPT09IGUuX2NvbmZpZy5iYWNrZHJvcCA/IGUuX2VsZW1lbnQuZm9jdXMoKSA6IGUuaGlkZSgpKQogICAgICAgICAgICAgICAgICAgICAgICB9KSwgaSAmJiBNZS5yZWZsb3codGhpcy5fYmFja2Ryb3ApLCB3dCh0aGlzLl9iYWNrZHJvcCkuYWRkQ2xhc3MoSHQpLCAhdCkgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIGlmICghaSkgcmV0dXJuIHZvaWQgdCgpOwogICAgICAgICAgICAgICAgICAgIHd0KHRoaXMuX2JhY2tkcm9wKS5vbmUoTWUuVFJBTlNJVElPTl9FTkQsIHQpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKDE1MCkKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuX2lzU2hvd24gJiYgdGhpcy5fYmFja2Ryb3ApIHsKICAgICAgICAgICAgICAgICAgICB3dCh0aGlzLl9iYWNrZHJvcCkucmVtb3ZlQ2xhc3MoSHQpOwogICAgICAgICAgICAgICAgICAgIHZhciBzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGUuX3JlbW92ZUJhY2tkcm9wKCksIHQgJiYgdCgpCiAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICBNZS5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSAmJiB3dCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhqdCkgPyB3dCh0aGlzLl9iYWNrZHJvcCkub25lKE1lLlRSQU5TSVRJT05fRU5ELCBzKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCgxNTApIDogcygpCiAgICAgICAgICAgICAgICB9IGVsc2UgdCAmJiB0KCkKICAgICAgICAgICAgfSwgdC5fYWRqdXN0RGlhbG9nID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMuX2VsZW1lbnQuc2Nyb2xsSGVpZ2h0ID4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDsKICAgICAgICAgICAgICAgICF0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyAmJiB0ICYmICh0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdMZWZ0ID0gdGhpcy5fc2Nyb2xsYmFyV2lkdGggKyAicHgiKSwgdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcgJiYgIXQgJiYgKHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0ID0gdGhpcy5fc2Nyb2xsYmFyV2lkdGggKyAicHgiKQogICAgICAgICAgICB9LCB0Ll9yZXNldEFkanVzdG1lbnRzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdMZWZ0ID0gIiIsIHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0ID0gIiIKICAgICAgICAgICAgfSwgdC5fY2hlY2tTY3JvbGxiYXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gZG9jdW1lbnQuYm9keS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgICAgICAgICAgIHRoaXMuX2lzQm9keU92ZXJmbG93aW5nID0gdC5sZWZ0ICsgdC5yaWdodCA8IHdpbmRvdy5pbm5lcldpZHRoLCB0aGlzLl9zY3JvbGxiYXJXaWR0aCA9IHRoaXMuX2dldFNjcm9sbGJhcldpZHRoKCkKICAgICAgICAgICAgfSwgdC5fc2V0U2Nyb2xsYmFyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgcyA9IHRoaXM7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcpIHsKICAgICAgICAgICAgICAgICAgICB3dChVdCkuZWFjaChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBuID0gd3QoZSlbMF0uc3R5bGUucGFkZGluZ1JpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IHd0KGUpLmNzcygicGFkZGluZy1yaWdodCIpOwogICAgICAgICAgICAgICAgICAgICAgICB3dChlKS5kYXRhKCJwYWRkaW5nLXJpZ2h0IiwgbikuY3NzKCJwYWRkaW5nLXJpZ2h0IiwgcGFyc2VGbG9hdChpKSArIHMuX3Njcm9sbGJhcldpZHRoICsgInB4IikKICAgICAgICAgICAgICAgICAgICB9KSwgd3QoV3QpLmVhY2goZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IHd0KGUpWzBdLnN0eWxlLm1hcmdpblJpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IHd0KGUpLmNzcygibWFyZ2luLXJpZ2h0Iik7CiAgICAgICAgICAgICAgICAgICAgICAgIHd0KGUpLmRhdGEoIm1hcmdpbi1yaWdodCIsIG4pLmNzcygibWFyZ2luLXJpZ2h0IiwgcGFyc2VGbG9hdChpKSAtIHMuX3Njcm9sbGJhcldpZHRoICsgInB4IikKICAgICAgICAgICAgICAgICAgICB9KSwgd3QoS3QpLmVhY2goZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IHd0KGUpWzBdLnN0eWxlLm1hcmdpblJpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IHd0KGUpLmNzcygibWFyZ2luLXJpZ2h0Iik7CiAgICAgICAgICAgICAgICAgICAgICAgIHd0KGUpLmRhdGEoIm1hcmdpbi1yaWdodCIsIG4pLmNzcygibWFyZ2luLXJpZ2h0IiwgcGFyc2VGbG9hdChpKSArIHMuX3Njcm9sbGJhcldpZHRoICsgInB4IikKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICBlID0gd3QoImJvZHkiKS5jc3MoInBhZGRpbmctcmlnaHQiKTsKICAgICAgICAgICAgICAgICAgICB3dCgiYm9keSIpLmRhdGEoInBhZGRpbmctcmlnaHQiLCB0KS5jc3MoInBhZGRpbmctcmlnaHQiLCBwYXJzZUZsb2F0KGUpICsgdGhpcy5fc2Nyb2xsYmFyV2lkdGggKyAicHgiKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB0Ll9yZXNldFNjcm9sbGJhciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd3QoVXQpLmVhY2goZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIHZhciBuID0gd3QoZSkuZGF0YSgicGFkZGluZy1yaWdodCIpOwogICAgICAgICAgICAgICAgICAgIHZvaWQgMCAhPT0gbiAmJiB3dChlKS5jc3MoInBhZGRpbmctcmlnaHQiLCBuKS5yZW1vdmVEYXRhKCJwYWRkaW5nLXJpZ2h0IikKICAgICAgICAgICAgICAgIH0pLCB3dChXdCArICIsICIgKyBLdCkuZWFjaChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSB3dChlKS5kYXRhKCJtYXJnaW4tcmlnaHQiKTsKICAgICAgICAgICAgICAgICAgICB2b2lkIDAgIT09IG4gJiYgd3QoZSkuY3NzKCJtYXJnaW4tcmlnaHQiLCBuKS5yZW1vdmVEYXRhKCJtYXJnaW4tcmlnaHQiKQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB2YXIgdCA9IHd0KCJib2R5IikuZGF0YSgicGFkZGluZy1yaWdodCIpOwogICAgICAgICAgICAgICAgdm9pZCAwICE9PSB0ICYmIHd0KCJib2R5IikuY3NzKCJwYWRkaW5nLXJpZ2h0IiwgdCkucmVtb3ZlRGF0YSgicGFkZGluZy1yaWdodCIpCiAgICAgICAgICAgIH0sIHQuX2dldFNjcm9sbGJhcldpZHRoID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICAgICAgICAgdC5jbGFzc05hbWUgPSAibW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUiLCBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpOwogICAgICAgICAgICAgICAgdmFyIGUgPSB0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC0gdC5jbGllbnRXaWR0aDsKICAgICAgICAgICAgICAgIHJldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpLCBlCiAgICAgICAgICAgIH0sIHMuX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uKG4sIGkpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSB3dCh0aGlzKS5kYXRhKEF0KSwKICAgICAgICAgICAgICAgICAgICAgICAgZSA9IHUoe30sIHMuRGVmYXVsdCwgd3QodGhpcykuZGF0YSgpLCAib2JqZWN0IiA9PSB0eXBlb2YgbiAmJiBuKTsKICAgICAgICAgICAgICAgICAgICBpZiAodCB8fCAodCA9IG5ldyBzKHRoaXMsIGUpLCB3dCh0aGlzKS5kYXRhKEF0LCB0KSksICJzdHJpbmciID09IHR5cGVvZiBuKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2b2lkIDAgPT09IHRbbl0pIHRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJyArIG4gKyAnIicpOwogICAgICAgICAgICAgICAgICAgICAgICB0W25dKGkpCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGUuc2hvdyAmJiB0LnNob3coaSkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0sIG8ocywgbnVsbCwgW3sKICAgICAgICAgICAgICAgIGtleTogIlZFUlNJT04iLAogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjQuMC4wIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBrZXk6ICJEZWZhdWx0IiwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE50CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH1dKSwgcwogICAgICAgIH0oKSwgd3QoZG9jdW1lbnQpLm9uKGt0LkNMSUNLX0RBVEFfQVBJLCBSdCwgZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSwgbiA9IHRoaXMsCiAgICAgICAgICAgICAgICBpID0gTWUuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzKTsKICAgICAgICAgICAgaSAmJiAoZSA9IHd0KGkpWzBdKTsKICAgICAgICAgICAgdmFyIHMgPSB3dChlKS5kYXRhKEF0KSA/ICJ0b2dnbGUiIDogdSh7fSwgd3QoZSkuZGF0YSgpLCB3dCh0aGlzKS5kYXRhKCkpOwogICAgICAgICAgICAiQSIgIT09IHRoaXMudGFnTmFtZSAmJiAiQVJFQSIgIT09IHRoaXMudGFnTmFtZSB8fCB0LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciByID0gd3QoZSkub25lKGt0LlNIT1csIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHQuaXNEZWZhdWx0UHJldmVudGVkKCkgfHwgci5vbmUoa3QuSElEREVOLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB3dChuKS5pcygiOnZpc2libGUiKSAmJiBuLmZvY3VzKCkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBNdC5falF1ZXJ5SW50ZXJmYWNlLmNhbGwod3QoZSksIHMsIHRoaXMpCiAgICAgICAgfSksIHd0LmZuLm1vZGFsID0gTXQuX2pRdWVyeUludGVyZmFjZSwgd3QuZm4ubW9kYWwuQ29uc3RydWN0b3IgPSBNdCwgd3QuZm4ubW9kYWwubm9Db25mbGljdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gd3QuZm4ubW9kYWwgPSBTdCwgTXQuX2pRdWVyeUludGVyZmFjZQogICAgICAgIH0sIE10KSwKICAgICAgICB6ZSA9IChjdCA9ICJ0b29sdGlwIiwgZHQgPSAiLiIgKyAodXQgPSAiYnMudG9vbHRpcCIpLCBmdCA9IChodCA9IGUpLmZuW2N0XSwgZ3QgPSBuZXcgUmVnRXhwKCIoXnxcXHMpYnMtdG9vbHRpcFxcUysiLCAiZyIpLCBwdCA9IHsKICAgICAgICAgICAgYW5pbWF0aW9uOiAhMCwKICAgICAgICAgICAgdGVtcGxhdGU6ICc8ZGl2IGNsYXNzPSJ0b29sdGlwIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PGRpdiBjbGFzcz0idG9vbHRpcC1pbm5lciI+PC9kaXY+PC9kaXY+JywKICAgICAgICAgICAgdHJpZ2dlcjogImhvdmVyIGZvY3VzIiwKICAgICAgICAgICAgdGl0bGU6ICIiLAogICAgICAgICAgICBkZWxheTogMCwKICAgICAgICAgICAgaHRtbDogIShtdCA9IHsKICAgICAgICAgICAgICAgIEFVVE86ICJhdXRvIiwKICAgICAgICAgICAgICAgIFRPUDogInRvcCIsCiAgICAgICAgICAgICAgICBSSUdIVDogInJpZ2h0IiwKICAgICAgICAgICAgICAgIEJPVFRPTTogImJvdHRvbSIsCiAgICAgICAgICAgICAgICBMRUZUOiAibGVmdCIKICAgICAgICAgICAgfSksCiAgICAgICAgICAgIHNlbGVjdG9yOiAhKF90ID0gewogICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogInN0cmluZyIsCiAgICAgICAgICAgICAgICB0aXRsZTogIihzdHJpbmd8ZWxlbWVudHxmdW5jdGlvbikiLAogICAgICAgICAgICAgICAgdHJpZ2dlcjogInN0cmluZyIsCiAgICAgICAgICAgICAgICBkZWxheTogIihudW1iZXJ8b2JqZWN0KSIsCiAgICAgICAgICAgICAgICBodG1sOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgICBzZWxlY3RvcjogIihzdHJpbmd8Ym9vbGVhbikiLAogICAgICAgICAgICAgICAgcGxhY2VtZW50OiAiKHN0cmluZ3xmdW5jdGlvbikiLAogICAgICAgICAgICAgICAgb2Zmc2V0OiAiKG51bWJlcnxzdHJpbmcpIiwKICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogIihzdHJpbmd8ZWxlbWVudHxib29sZWFuKSIsCiAgICAgICAgICAgICAgICBmYWxsYmFja1BsYWNlbWVudDogIihzdHJpbmd8YXJyYXkpIiwKICAgICAgICAgICAgICAgIGJvdW5kYXJ5OiAiKHN0cmluZ3xlbGVtZW50KSIKICAgICAgICAgICAgfSksCiAgICAgICAgICAgIHBsYWNlbWVudDogInRvcCIsCiAgICAgICAgICAgIG9mZnNldDogMCwKICAgICAgICAgICAgY29udGFpbmVyOiAhMSwKICAgICAgICAgICAgZmFsbGJhY2tQbGFjZW1lbnQ6ICJmbGlwIiwKICAgICAgICAgICAgYm91bmRhcnk6ICJzY3JvbGxQYXJlbnQiCiAgICAgICAgfSwgRXQgPSB7CiAgICAgICAgICAgIEhJREU6ICJoaWRlIiArIGR0LAogICAgICAgICAgICBISURERU46ICJoaWRkZW4iICsgZHQsCiAgICAgICAgICAgIFNIT1c6ICh2dCA9ICJzaG93IikgKyBkdCwKICAgICAgICAgICAgU0hPV046ICJzaG93biIgKyBkdCwKICAgICAgICAgICAgSU5TRVJURUQ6ICJpbnNlcnRlZCIgKyBkdCwKICAgICAgICAgICAgQ0xJQ0s6ICJjbGljayIgKyBkdCwKICAgICAgICAgICAgRk9DVVNJTjogImZvY3VzaW4iICsgZHQsCiAgICAgICAgICAgIEZPQ1VTT1VUOiAiZm9jdXNvdXQiICsgZHQsCiAgICAgICAgICAgIE1PVVNFRU5URVI6ICJtb3VzZWVudGVyIiArIGR0LAogICAgICAgICAgICBNT1VTRUxFQVZFOiAibW91c2VsZWF2ZSIgKyBkdAogICAgICAgIH0sIHl0ID0gImZhZGUiLCBDdCA9ICJzaG93IiwgVHQgPSAiaG92ZXIiLCBidCA9ICJmb2N1cyIsIEl0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIGgodCwgZSkgewogICAgICAgICAgICAgICAgaWYgKHZvaWQgMCA9PT0gYykgdGhyb3cgbmV3IFR5cGVFcnJvcigiQm9vdHN0cmFwIHRvb2x0aXBzIHJlcXVpcmUgUG9wcGVyLmpzIChodHRwczovL3BvcHBlci5qcy5vcmcpIik7CiAgICAgICAgICAgICAgICB0aGlzLl9pc0VuYWJsZWQgPSAhMCwgdGhpcy5fdGltZW91dCA9IDAsIHRoaXMuX2hvdmVyU3RhdGUgPSAiIiwgdGhpcy5fYWN0aXZlVHJpZ2dlciA9IHt9LCB0aGlzLl9wb3BwZXIgPSBudWxsLCB0aGlzLmVsZW1lbnQgPSB0LCB0aGlzLmNvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhlKSwgdGhpcy50aXAgPSBudWxsLCB0aGlzLl9zZXRMaXN0ZW5lcnMoKQogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciB0ID0gaC5wcm90b3R5cGU7CiAgICAgICAgICAgIHJldHVybiB0LmVuYWJsZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdGhpcy5faXNFbmFibGVkID0gITAKICAgICAgICAgICAgfSwgdC5kaXNhYmxlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB0aGlzLl9pc0VuYWJsZWQgPSAhMQogICAgICAgICAgICB9LCB0LnRvZ2dsZUVuYWJsZWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHRoaXMuX2lzRW5hYmxlZCA9ICF0aGlzLl9pc0VuYWJsZWQKICAgICAgICAgICAgfSwgdC50b2dnbGUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5faXNFbmFibGVkKQogICAgICAgICAgICAgICAgICAgIGlmICh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG4gPSBodCh0LmN1cnJlbnRUYXJnZXQpLmRhdGEoZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIG4gfHwgKG4gPSBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0LmN1cnJlbnRUYXJnZXQsIHRoaXMuX2dldERlbGVnYXRlQ29uZmlnKCkpLCBodCh0LmN1cnJlbnRUYXJnZXQpLmRhdGEoZSwgbikpLCBuLl9hY3RpdmVUcmlnZ2VyLmNsaWNrID0gIW4uX2FjdGl2ZVRyaWdnZXIuY2xpY2ssIG4uX2lzV2l0aEFjdGl2ZVRyaWdnZXIoKSA/IG4uX2VudGVyKG51bGwsIG4pIDogbi5fbGVhdmUobnVsbCwgbikKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaHQodGhpcy5nZXRUaXBFbGVtZW50KCkpLmhhc0NsYXNzKEN0KSkgcmV0dXJuIHZvaWQgdGhpcy5fbGVhdmUobnVsbCwgdGhpcyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2VudGVyKG51bGwsIHRoaXMpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB0LmRpc3Bvc2UgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KSwgaHQucmVtb3ZlRGF0YSh0aGlzLmVsZW1lbnQsIHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVkpLCBodCh0aGlzLmVsZW1lbnQpLm9mZih0aGlzLmNvbnN0cnVjdG9yLkVWRU5UX0tFWSksIGh0KHRoaXMuZWxlbWVudCkuY2xvc2VzdCgiLm1vZGFsIikub2ZmKCJoaWRlLmJzLm1vZGFsIiksIHRoaXMudGlwICYmIGh0KHRoaXMudGlwKS5yZW1vdmUoKSwgdGhpcy5faXNFbmFibGVkID0gbnVsbCwgdGhpcy5fdGltZW91dCA9IG51bGwsIHRoaXMuX2hvdmVyU3RhdGUgPSBudWxsLCAodGhpcy5fYWN0aXZlVHJpZ2dlciA9IG51bGwpICE9PSB0aGlzLl9wb3BwZXIgJiYgdGhpcy5fcG9wcGVyLmRlc3Ryb3koKSwgdGhpcy5fcG9wcGVyID0gbnVsbCwgdGhpcy5lbGVtZW50ID0gbnVsbCwgdGhpcy5jb25maWcgPSBudWxsLCB0aGlzLnRpcCA9IG51bGwKICAgICAgICAgICAgfSwgdC5zaG93ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXM7CiAgICAgICAgICAgICAgICBpZiAoIm5vbmUiID09PSBodCh0aGlzLmVsZW1lbnQpLmNzcygiZGlzcGxheSIpKSB0aHJvdyBuZXcgRXJyb3IoIlBsZWFzZSB1c2Ugc2hvdyBvbiB2aXNpYmxlIGVsZW1lbnRzIik7CiAgICAgICAgICAgICAgICB2YXIgdCA9IGh0LkV2ZW50KHRoaXMuY29uc3RydWN0b3IuRXZlbnQuU0hPVyk7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1dpdGhDb250ZW50KCkgJiYgdGhpcy5faXNFbmFibGVkKSB7CiAgICAgICAgICAgICAgICAgICAgaHQodGhpcy5lbGVtZW50KS50cmlnZ2VyKHQpOwogICAgICAgICAgICAgICAgICAgIHZhciBuID0gaHQuY29udGFpbnModGhpcy5lbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCB0aGlzLmVsZW1lbnQpOwogICAgICAgICAgICAgICAgICAgIGlmICh0LmlzRGVmYXVsdFByZXZlbnRlZCgpIHx8ICFuKSByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSB0aGlzLmdldFRpcEVsZW1lbnQoKSwKICAgICAgICAgICAgICAgICAgICAgICAgcyA9IE1lLmdldFVJRCh0aGlzLmNvbnN0cnVjdG9yLk5BTUUpOwogICAgICAgICAgICAgICAgICAgIGkuc2V0QXR0cmlidXRlKCJpZCIsIHMpLCB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5IiwgcyksIHRoaXMuc2V0Q29udGVudCgpLCB0aGlzLmNvbmZpZy5hbmltYXRpb24gJiYgaHQoaSkuYWRkQ2xhc3MoeXQpOwogICAgICAgICAgICAgICAgICAgIHZhciByID0gImZ1bmN0aW9uIiA9PSB0eXBlb2YgdGhpcy5jb25maWcucGxhY2VtZW50ID8gdGhpcy5jb25maWcucGxhY2VtZW50LmNhbGwodGhpcywgaSwgdGhpcy5lbGVtZW50KSA6IHRoaXMuY29uZmlnLnBsYWNlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgbyA9IHRoaXMuX2dldEF0dGFjaG1lbnQocik7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRBdHRhY2htZW50Q2xhc3Mobyk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGEgPSAhMSA9PT0gdGhpcy5jb25maWcuY29udGFpbmVyID8gZG9jdW1lbnQuYm9keSA6IGh0KHRoaXMuY29uZmlnLmNvbnRhaW5lcik7CiAgICAgICAgICAgICAgICAgICAgaHQoaSkuZGF0YSh0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZLCB0aGlzKSwgaHQuY29udGFpbnModGhpcy5lbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCB0aGlzLnRpcCkgfHwgaHQoaSkuYXBwZW5kVG8oYSksIGh0KHRoaXMuZWxlbWVudCkudHJpZ2dlcih0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LklOU0VSVEVEKSwgdGhpcy5fcG9wcGVyID0gbmV3IGModGhpcy5lbGVtZW50LCBpLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudDogbywKICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXJzOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMuY29uZmlnLm9mZnNldAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsaXA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogdGhpcy5jb25maWcuZmFsbGJhY2tQbGFjZW1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdzogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6ICIuYXJyb3ciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmVudE92ZXJmbG93OiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm91bmRhcmllc0VsZW1lbnQ6IHRoaXMuY29uZmlnLmJvdW5kYXJ5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ3JlYXRlOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Lm9yaWdpbmFsUGxhY2VtZW50ICE9PSB0LnBsYWNlbWVudCAmJiBlLl9oYW5kbGVQb3BwZXJQbGFjZW1lbnRDaGFuZ2UodCkKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgb25VcGRhdGU6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZSh0KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSksIGh0KGkpLmFkZENsYXNzKEN0KSwgIm9udG91Y2hzdGFydCIgaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIGh0KCJib2R5IikuY2hpbGRyZW4oKS5vbigibW91c2VvdmVyIiwgbnVsbCwgaHQubm9vcCk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGwgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZS5jb25maWcuYW5pbWF0aW9uICYmIGUuX2ZpeFRyYW5zaXRpb24oKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBlLl9ob3ZlclN0YXRlOwogICAgICAgICAgICAgICAgICAgICAgICBlLl9ob3ZlclN0YXRlID0gbnVsbCwgaHQoZS5lbGVtZW50KS50cmlnZ2VyKGUuY29uc3RydWN0b3IuRXZlbnQuU0hPV04pLCAib3V0IiA9PT0gdCAmJiBlLl9sZWF2ZShudWxsLCBlKQogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgTWUuc3VwcG9ydHNUcmFuc2l0aW9uRW5kKCkgJiYgaHQodGhpcy50aXApLmhhc0NsYXNzKHl0KSA/IGh0KHRoaXMudGlwKS5vbmUoTWUuVFJBTlNJVElPTl9FTkQsIGwpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGguX1RSQU5TSVRJT05fRFVSQVRJT04pIDogbCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHQuaGlkZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcywKICAgICAgICAgICAgICAgICAgICBuID0gdGhpcy5nZXRUaXBFbGVtZW50KCksCiAgICAgICAgICAgICAgICAgICAgaSA9IGh0LkV2ZW50KHRoaXMuY29uc3RydWN0b3IuRXZlbnQuSElERSksCiAgICAgICAgICAgICAgICAgICAgcyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBlLl9ob3ZlclN0YXRlICE9PSB2dCAmJiBuLnBhcmVudE5vZGUgJiYgbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pLCBlLl9jbGVhblRpcENsYXNzKCksIGUuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtZGVzY3JpYmVkYnkiKSwgaHQoZS5lbGVtZW50KS50cmlnZ2VyKGUuY29uc3RydWN0b3IuRXZlbnQuSElEREVOKSwgbnVsbCAhPT0gZS5fcG9wcGVyICYmIGUuX3BvcHBlci5kZXN0cm95KCksIHQgJiYgdCgpCiAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIGh0KHRoaXMuZWxlbWVudCkudHJpZ2dlcihpKSwgaS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSB8fCAoaHQobikucmVtb3ZlQ2xhc3MoQ3QpLCAib250b3VjaHN0YXJ0IiBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgaHQoImJvZHkiKS5jaGlsZHJlbigpLm9mZigibW91c2VvdmVyIiwgbnVsbCwgaHQubm9vcCksIHRoaXMuX2FjdGl2ZVRyaWdnZXIuY2xpY2sgPSAhMSwgdGhpcy5fYWN0aXZlVHJpZ2dlcltidF0gPSAhMSwgdGhpcy5fYWN0aXZlVHJpZ2dlcltUdF0gPSAhMSwgTWUuc3VwcG9ydHNUcmFuc2l0aW9uRW5kKCkgJiYgaHQodGhpcy50aXApLmhhc0NsYXNzKHl0KSA/IGh0KG4pLm9uZShNZS5UUkFOU0lUSU9OX0VORCwgcykuZW11bGF0ZVRyYW5zaXRpb25FbmQoMTUwKSA6IHMoKSwgdGhpcy5faG92ZXJTdGF0ZSA9ICIiKQogICAgICAgICAgICB9LCB0LnVwZGF0ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbnVsbCAhPT0gdGhpcy5fcG9wcGVyICYmIHRoaXMuX3BvcHBlci5zY2hlZHVsZVVwZGF0ZSgpCiAgICAgICAgICAgIH0sIHQuaXNXaXRoQ29udGVudCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5nZXRUaXRsZSgpKQogICAgICAgICAgICB9LCB0LmFkZEF0dGFjaG1lbnRDbGFzcyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIGh0KHRoaXMuZ2V0VGlwRWxlbWVudCgpKS5hZGRDbGFzcygiYnMtdG9vbHRpcC0iICsgdCkKICAgICAgICAgICAgfSwgdC5nZXRUaXBFbGVtZW50ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50aXAgPSB0aGlzLnRpcCB8fCBodCh0aGlzLmNvbmZpZy50ZW1wbGF0ZSlbMF0sIHRoaXMudGlwCiAgICAgICAgICAgIH0sIHQuc2V0Q29udGVudCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSBodCh0aGlzLmdldFRpcEVsZW1lbnQoKSk7CiAgICAgICAgICAgICAgICB0aGlzLnNldEVsZW1lbnRDb250ZW50KHQuZmluZCgiLnRvb2x0aXAtaW5uZXIiKSwgdGhpcy5nZXRUaXRsZSgpKSwgdC5yZW1vdmVDbGFzcyh5dCArICIgIiArIEN0KQogICAgICAgICAgICB9LCB0LnNldEVsZW1lbnRDb250ZW50ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgdmFyIG4gPSB0aGlzLmNvbmZpZy5odG1sOwogICAgICAgICAgICAgICAgIm9iamVjdCIgPT0gdHlwZW9mIGUgJiYgKGUubm9kZVR5cGUgfHwgZS5qcXVlcnkpID8gbiA/IGh0KGUpLnBhcmVudCgpLmlzKHQpIHx8IHQuZW1wdHkoKS5hcHBlbmQoZSkgOiB0LnRleHQoaHQoZSkudGV4dCgpKSA6IHRbbiA/ICJodG1sIiA6ICJ0ZXh0Il0oZSkKICAgICAgICAgICAgfSwgdC5nZXRUaXRsZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLW9yaWdpbmFsLXRpdGxlIik7CiAgICAgICAgICAgICAgICByZXR1cm4gdCB8fCAodCA9ICJmdW5jdGlvbiIgPT0gdHlwZW9mIHRoaXMuY29uZmlnLnRpdGxlID8gdGhpcy5jb25maWcudGl0bGUuY2FsbCh0aGlzLmVsZW1lbnQpIDogdGhpcy5jb25maWcudGl0bGUpLCB0CiAgICAgICAgICAgIH0sIHQuX2dldEF0dGFjaG1lbnQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbXRbdC50b1VwcGVyQ2FzZSgpXQogICAgICAgICAgICB9LCB0Ll9zZXRMaXN0ZW5lcnMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBpID0gdGhpczsKICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLnRyaWdnZXIuc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoImNsaWNrIiA9PT0gdCkgaHQoaS5lbGVtZW50KS5vbihpLmNvbnN0cnVjdG9yLkV2ZW50LkNMSUNLLCBpLmNvbmZpZy5zZWxlY3RvciwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaS50b2dnbGUodCkKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgibWFudWFsIiAhPT0gdCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IHQgPT09IFR0ID8gaS5jb25zdHJ1Y3Rvci5FdmVudC5NT1VTRUVOVEVSIDogaS5jb25zdHJ1Y3Rvci5FdmVudC5GT0NVU0lOLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbiA9IHQgPT09IFR0ID8gaS5jb25zdHJ1Y3Rvci5FdmVudC5NT1VTRUxFQVZFIDogaS5jb25zdHJ1Y3Rvci5FdmVudC5GT0NVU09VVDsKICAgICAgICAgICAgICAgICAgICAgICAgaHQoaS5lbGVtZW50KS5vbihlLCBpLmNvbmZpZy5zZWxlY3RvciwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkuX2VudGVyKHQpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLm9uKG4sIGkuY29uZmlnLnNlbGVjdG9yLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaS5fbGVhdmUodCkKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaHQoaS5lbGVtZW50KS5jbG9zZXN0KCIubW9kYWwiKS5vbigiaGlkZS5icy5tb2RhbCIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaS5oaWRlKCkKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfSksIHRoaXMuY29uZmlnLnNlbGVjdG9yID8gdGhpcy5jb25maWcgPSB1KHt9LCB0aGlzLmNvbmZpZywgewogICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICJtYW51YWwiLAogICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yOiAiIgogICAgICAgICAgICAgICAgfSkgOiB0aGlzLl9maXhUaXRsZSgpCiAgICAgICAgICAgIH0sIHQuX2ZpeFRpdGxlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IHR5cGVvZiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLW9yaWdpbmFsLXRpdGxlIik7CiAgICAgICAgICAgICAgICAodGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgidGl0bGUiKSB8fCAic3RyaW5nIiAhPT0gdCkgJiYgKHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRhdGEtb3JpZ2luYWwtdGl0bGUiLCB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpIHx8ICIiKSwgdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgidGl0bGUiLCAiIikpCiAgICAgICAgICAgIH0sIHQuX2VudGVyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgdmFyIG4gPSB0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZOwogICAgICAgICAgICAgICAgKGUgPSBlIHx8IGh0KHQuY3VycmVudFRhcmdldCkuZGF0YShuKSkgfHwgKGUgPSBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0LmN1cnJlbnRUYXJnZXQsIHRoaXMuX2dldERlbGVnYXRlQ29uZmlnKCkpLCBodCh0LmN1cnJlbnRUYXJnZXQpLmRhdGEobiwgZSkpLCB0ICYmIChlLl9hY3RpdmVUcmlnZ2VyWyJmb2N1c2luIiA9PT0gdC50eXBlID8gYnQgOiBUdF0gPSAhMCksIGh0KGUuZ2V0VGlwRWxlbWVudCgpKS5oYXNDbGFzcyhDdCkgfHwgZS5faG92ZXJTdGF0ZSA9PT0gdnQgPyBlLl9ob3ZlclN0YXRlID0gdnQgOiAoY2xlYXJUaW1lb3V0KGUuX3RpbWVvdXQpLCBlLl9ob3ZlclN0YXRlID0gdnQsIGUuY29uZmlnLmRlbGF5ICYmIGUuY29uZmlnLmRlbGF5LnNob3cgPyBlLl90aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBlLl9ob3ZlclN0YXRlID09PSB2dCAmJiBlLnNob3coKQogICAgICAgICAgICAgICAgfSwgZS5jb25maWcuZGVsYXkuc2hvdykgOiBlLnNob3coKSkKICAgICAgICAgICAgfSwgdC5fbGVhdmUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICB2YXIgbiA9IHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVk7CiAgICAgICAgICAgICAgICAoZSA9IGUgfHwgaHQodC5jdXJyZW50VGFyZ2V0KS5kYXRhKG4pKSB8fCAoZSA9IG5ldyB0aGlzLmNvbnN0cnVjdG9yKHQuY3VycmVudFRhcmdldCwgdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSksIGh0KHQuY3VycmVudFRhcmdldCkuZGF0YShuLCBlKSksIHQgJiYgKGUuX2FjdGl2ZVRyaWdnZXJbImZvY3Vzb3V0IiA9PT0gdC50eXBlID8gYnQgOiBUdF0gPSAhMSksIGUuX2lzV2l0aEFjdGl2ZVRyaWdnZXIoKSB8fCAoY2xlYXJUaW1lb3V0KGUuX3RpbWVvdXQpLCBlLl9ob3ZlclN0YXRlID0gIm91dCIsIGUuY29uZmlnLmRlbGF5ICYmIGUuY29uZmlnLmRlbGF5LmhpZGUgPyBlLl90aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAib3V0IiA9PT0gZS5faG92ZXJTdGF0ZSAmJiBlLmhpZGUoKQogICAgICAgICAgICAgICAgfSwgZS5jb25maWcuZGVsYXkuaGlkZSkgOiBlLmhpZGUoKSkKICAgICAgICAgICAgfSwgdC5faXNXaXRoQWN0aXZlVHJpZ2dlciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZm9yICh2YXIgdCBpbiB0aGlzLl9hY3RpdmVUcmlnZ2VyKQogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9hY3RpdmVUcmlnZ2VyW3RdKSByZXR1cm4gITA7CiAgICAgICAgICAgICAgICByZXR1cm4gITEKICAgICAgICAgICAgfSwgdC5fZ2V0Q29uZmlnID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuICJudW1iZXIiID09IHR5cGVvZih0ID0gdSh7fSwgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0LCBodCh0aGlzLmVsZW1lbnQpLmRhdGEoKSwgdCkpLmRlbGF5ICYmICh0LmRlbGF5ID0gewogICAgICAgICAgICAgICAgICAgIHNob3c6IHQuZGVsYXksCiAgICAgICAgICAgICAgICAgICAgaGlkZTogdC5kZWxheQogICAgICAgICAgICAgICAgfSksICJudW1iZXIiID09IHR5cGVvZiB0LnRpdGxlICYmICh0LnRpdGxlID0gdC50aXRsZS50b1N0cmluZygpKSwgIm51bWJlciIgPT0gdHlwZW9mIHQuY29udGVudCAmJiAodC5jb250ZW50ID0gdC5jb250ZW50LnRvU3RyaW5nKCkpLCBNZS50eXBlQ2hlY2tDb25maWcoY3QsIHQsIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpLCB0CiAgICAgICAgICAgIH0sIHQuX2dldERlbGVnYXRlQ29uZmlnID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IHt9OwogICAgICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnKQogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGUgaW4gdGhpcy5jb25maWcpIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFtlXSAhPT0gdGhpcy5jb25maWdbZV0gJiYgKHRbZV0gPSB0aGlzLmNvbmZpZ1tlXSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdAogICAgICAgICAgICB9LCB0Ll9jbGVhblRpcENsYXNzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IGh0KHRoaXMuZ2V0VGlwRWxlbWVudCgpKSwKICAgICAgICAgICAgICAgICAgICBlID0gdC5hdHRyKCJjbGFzcyIpLm1hdGNoKGd0KTsKICAgICAgICAgICAgICAgIG51bGwgIT09IGUgJiYgMCA8IGUubGVuZ3RoICYmIHQucmVtb3ZlQ2xhc3MoZS5qb2luKCIiKSkKICAgICAgICAgICAgfSwgdC5faGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdGhpcy5fY2xlYW5UaXBDbGFzcygpLCB0aGlzLmFkZEF0dGFjaG1lbnRDbGFzcyh0aGlzLl9nZXRBdHRhY2htZW50KHQucGxhY2VtZW50KSkKICAgICAgICAgICAgfSwgdC5fZml4VHJhbnNpdGlvbiA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmdldFRpcEVsZW1lbnQoKSwKICAgICAgICAgICAgICAgICAgICBlID0gdGhpcy5jb25maWcuYW5pbWF0aW9uOwogICAgICAgICAgICAgICAgbnVsbCA9PT0gdC5nZXRBdHRyaWJ1dGUoIngtcGxhY2VtZW50IikgJiYgKGh0KHQpLnJlbW92ZUNsYXNzKHl0KSwgdGhpcy5jb25maWcuYW5pbWF0aW9uID0gITEsIHRoaXMuaGlkZSgpLCB0aGlzLnNob3coKSwgdGhpcy5jb25maWcuYW5pbWF0aW9uID0gZSkKICAgICAgICAgICAgfSwgaC5falF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24obikgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGh0KHRoaXMpLmRhdGEodXQpLAogICAgICAgICAgICAgICAgICAgICAgICBlID0gIm9iamVjdCIgPT0gdHlwZW9mIG4gJiYgbjsKICAgICAgICAgICAgICAgICAgICBpZiAoKHQgfHwgIS9kaXNwb3NlfGhpZGUvLnRlc3QobikpICYmICh0IHx8ICh0ID0gbmV3IGgodGhpcywgZSksIGh0KHRoaXMpLmRhdGEodXQsIHQpKSwgInN0cmluZyIgPT0gdHlwZW9mIG4pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2b2lkIDAgPT09IHRbbl0pIHRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJyArIG4gKyAnIicpOwogICAgICAgICAgICAgICAgICAgICAgICB0W25dKCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9LCBvKGgsIG51bGwsIFt7CiAgICAgICAgICAgICAgICBrZXk6ICJWRVJTSU9OIiwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICI0LjAuMCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAga2V5OiAiRGVmYXVsdCIsCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBwdAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBrZXk6ICJOQU1FIiwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN0CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIGtleTogIkRBVEFfS0VZIiwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHV0CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIGtleTogIkV2ZW50IiwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEV0CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIGtleTogIkVWRU5UX0tFWSIsCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBkdAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBrZXk6ICJEZWZhdWx0VHlwZSIsCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBfdAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9XSksIGgKICAgICAgICB9KCksIGh0LmZuW2N0XSA9IEl0Ll9qUXVlcnlJbnRlcmZhY2UsIGh0LmZuW2N0XS5Db25zdHJ1Y3RvciA9IEl0LCBodC5mbltjdF0ubm9Db25mbGljdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gaHQuZm5bY3RdID0gZnQsIEl0Ll9qUXVlcnlJbnRlcmZhY2UKICAgICAgICB9LCBJdCksCiAgICAgICAgWmUgPSAodHQgPSAicG9wb3ZlciIsIG50ID0gIi4iICsgKGV0ID0gImJzLnBvcG92ZXIiKSwgaXQgPSAoWCA9IGUpLmZuW3R0XSwgc3QgPSBuZXcgUmVnRXhwKCIoXnxcXHMpYnMtcG9wb3ZlclxcUysiLCAiZyIpLCBydCA9IHUoe30sIHplLkRlZmF1bHQsIHsKICAgICAgICAgICAgcGxhY2VtZW50OiAicmlnaHQiLAogICAgICAgICAgICB0cmlnZ2VyOiAiY2xpY2siLAogICAgICAgICAgICBjb250ZW50OiAiIiwKICAgICAgICAgICAgdGVtcGxhdGU6ICc8ZGl2IGNsYXNzPSJwb3BvdmVyIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PGgzIGNsYXNzPSJwb3BvdmVyLWhlYWRlciI+PC9oMz48ZGl2IGNsYXNzPSJwb3BvdmVyLWJvZHkiPjwvZGl2PjwvZGl2PicKICAgICAgICB9KSwgb3QgPSB1KHt9LCB6ZS5EZWZhdWx0VHlwZSwgewogICAgICAgICAgICBjb250ZW50OiAiKHN0cmluZ3xlbGVtZW50fGZ1bmN0aW9uKSIKICAgICAgICB9KSwgYXQgPSB7CiAgICAgICAgICAgIEhJREU6ICJoaWRlIiArIG50LAogICAgICAgICAgICBISURERU46ICJoaWRkZW4iICsgbnQsCiAgICAgICAgICAgIFNIT1c6ICJzaG93IiArIG50LAogICAgICAgICAgICBTSE9XTjogInNob3duIiArIG50LAogICAgICAgICAgICBJTlNFUlRFRDogImluc2VydGVkIiArIG50LAogICAgICAgICAgICBDTElDSzogImNsaWNrIiArIG50LAogICAgICAgICAgICBGT0NVU0lOOiAiZm9jdXNpbiIgKyBudCwKICAgICAgICAgICAgRk9DVVNPVVQ6ICJmb2N1c291dCIgKyBudCwKICAgICAgICAgICAgTU9VU0VFTlRFUjogIm1vdXNlZW50ZXIiICsgbnQsCiAgICAgICAgICAgIE1PVVNFTEVBVkU6ICJtb3VzZWxlYXZlIiArIG50CiAgICAgICAgfSwgbHQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlLCBuOwoKICAgICAgICAgICAgZnVuY3Rpb24gaSgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcwogICAgICAgICAgICB9CiAgICAgICAgICAgIG4gPSB0LCAoZSA9IGkpLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUobi5wcm90b3R5cGUpLCAoZS5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBlKS5fX3Byb3RvX18gPSBuOwogICAgICAgICAgICB2YXIgcyA9IGkucHJvdG90eXBlOwogICAgICAgICAgICByZXR1cm4gcy5pc1dpdGhDb250ZW50ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUaXRsZSgpIHx8IHRoaXMuX2dldENvbnRlbnQoKQogICAgICAgICAgICB9LCBzLmFkZEF0dGFjaG1lbnRDbGFzcyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIFgodGhpcy5nZXRUaXBFbGVtZW50KCkpLmFkZENsYXNzKCJicy1wb3BvdmVyLSIgKyB0KQogICAgICAgICAgICB9LCBzLmdldFRpcEVsZW1lbnQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRpcCA9IHRoaXMudGlwIHx8IFgodGhpcy5jb25maWcudGVtcGxhdGUpWzBdLCB0aGlzLnRpcAogICAgICAgICAgICB9LCBzLnNldENvbnRlbnQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gWCh0aGlzLmdldFRpcEVsZW1lbnQoKSk7CiAgICAgICAgICAgICAgICB0aGlzLnNldEVsZW1lbnRDb250ZW50KHQuZmluZCgiLnBvcG92ZXItaGVhZGVyIiksIHRoaXMuZ2V0VGl0bGUoKSk7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMuX2dldENvbnRlbnQoKTsKICAgICAgICAgICAgICAgICJmdW5jdGlvbiIgPT0gdHlwZW9mIGUgJiYgKGUgPSBlLmNhbGwodGhpcy5lbGVtZW50KSksIHRoaXMuc2V0RWxlbWVudENvbnRlbnQodC5maW5kKCIucG9wb3Zlci1ib2R5IiksIGUpLCB0LnJlbW92ZUNsYXNzKCJmYWRlIHNob3ciKQogICAgICAgICAgICB9LCBzLl9nZXRDb250ZW50ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS1jb250ZW50IikgfHwgdGhpcy5jb25maWcuY29udGVudAogICAgICAgICAgICB9LCBzLl9jbGVhblRpcENsYXNzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IFgodGhpcy5nZXRUaXBFbGVtZW50KCkpLAogICAgICAgICAgICAgICAgICAgIGUgPSB0LmF0dHIoImNsYXNzIikubWF0Y2goc3QpOwogICAgICAgICAgICAgICAgbnVsbCAhPT0gZSAmJiAwIDwgZS5sZW5ndGggJiYgdC5yZW1vdmVDbGFzcyhlLmpvaW4oIiIpKQogICAgICAgICAgICB9LCBpLl9qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gWCh0aGlzKS5kYXRhKGV0KSwKICAgICAgICAgICAgICAgICAgICAgICAgZSA9ICJvYmplY3QiID09IHR5cGVvZiBuID8gbiA6IG51bGw7CiAgICAgICAgICAgICAgICAgICAgaWYgKCh0IHx8ICEvZGVzdHJveXxoaWRlLy50ZXN0KG4pKSAmJiAodCB8fCAodCA9IG5ldyBpKHRoaXMsIGUpLCBYKHRoaXMpLmRhdGEoZXQsIHQpKSwgInN0cmluZyIgPT0gdHlwZW9mIG4pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2b2lkIDAgPT09IHRbbl0pIHRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJyArIG4gKyAnIicpOwogICAgICAgICAgICAgICAgICAgICAgICB0W25dKCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9LCBvKGksIG51bGwsIFt7CiAgICAgICAgICAgICAgICBrZXk6ICJWRVJTSU9OIiwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICI0LjAuMCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAga2V5OiAiRGVmYXVsdCIsCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBydAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBrZXk6ICJOQU1FIiwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHR0CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIGtleTogIkRBVEFfS0VZIiwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV0CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIGtleTogIkV2ZW50IiwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF0CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIGtleTogIkVWRU5UX0tFWSIsCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBudAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBrZXk6ICJEZWZhdWx0VHlwZSIsCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBvdAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9XSksIGkKICAgICAgICB9KHplKSwgWC5mblt0dF0gPSBsdC5falF1ZXJ5SW50ZXJmYWNlLCBYLmZuW3R0XS5Db25zdHJ1Y3RvciA9IGx0LCBYLmZuW3R0XS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiBYLmZuW3R0XSA9IGl0LCBsdC5falF1ZXJ5SW50ZXJmYWNlCiAgICAgICAgfSwgbHQpLAogICAgICAgIEplID0gKEggPSAic2Nyb2xsc3B5IiwgUiA9ICIuIiArIChMID0gImJzLnNjcm9sbHNweSIpLCB4ID0gKGogPSBlKS5mbltIXSwgVSA9IHsKICAgICAgICAgICAgb2Zmc2V0OiAxMCwKICAgICAgICAgICAgbWV0aG9kOiAiYXV0byIsCiAgICAgICAgICAgIHRhcmdldDogIiIKICAgICAgICB9LCBXID0gewogICAgICAgICAgICBvZmZzZXQ6ICJudW1iZXIiLAogICAgICAgICAgICBtZXRob2Q6ICJzdHJpbmciLAogICAgICAgICAgICB0YXJnZXQ6ICIoc3RyaW5nfGVsZW1lbnQpIgogICAgICAgIH0sIEsgPSB7CiAgICAgICAgICAgIEFDVElWQVRFOiAiYWN0aXZhdGUiICsgUiwKICAgICAgICAgICAgU0NST0xMOiAic2Nyb2xsIiArIFIsCiAgICAgICAgICAgIExPQURfREFUQV9BUEk6ICJsb2FkIiArIFIgKyAiLmRhdGEtYXBpIgogICAgICAgIH0sIE0gPSAiYWN0aXZlIiwgUSA9ICdbZGF0YS1zcHk9InNjcm9sbCJdJywgQiA9ICIuYWN0aXZlIiwgRiA9ICIubmF2LCAubGlzdC1ncm91cCIsIFYgPSAiLm5hdi1saW5rIiwgWSA9ICIubmF2LWl0ZW0iLCBxID0gIi5saXN0LWdyb3VwLWl0ZW0iLCB6ID0gIi5kcm9wZG93biIsIFogPSAiLmRyb3Bkb3duLWl0ZW0iLCBKID0gIi5kcm9wZG93bi10b2dnbGUiLCAkID0gInBvc2l0aW9uIiwgRyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmdW5jdGlvbiBuKHQsIGUpIHsKICAgICAgICAgICAgICAgIHZhciBuID0gdGhpczsKICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQgPSB0LCB0aGlzLl9zY3JvbGxFbGVtZW50ID0gIkJPRFkiID09PSB0LnRhZ05hbWUgPyB3aW5kb3cgOiB0LCB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoZSksIHRoaXMuX3NlbGVjdG9yID0gdGhpcy5fY29uZmlnLnRhcmdldCArICIgIiArIFYgKyAiLCIgKyB0aGlzLl9jb25maWcudGFyZ2V0ICsgIiAiICsgcSArICIsIiArIHRoaXMuX2NvbmZpZy50YXJnZXQgKyAiICIgKyBaLCB0aGlzLl9vZmZzZXRzID0gW10sIHRoaXMuX3RhcmdldHMgPSBbXSwgdGhpcy5fYWN0aXZlVGFyZ2V0ID0gbnVsbCwgdGhpcy5fc2Nyb2xsSGVpZ2h0ID0gMCwgaih0aGlzLl9zY3JvbGxFbGVtZW50KS5vbihLLlNDUk9MTCwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBuLl9wcm9jZXNzKHQpCiAgICAgICAgICAgICAgICB9KSwgdGhpcy5yZWZyZXNoKCksIHRoaXMuX3Byb2Nlc3MoKQogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciB0ID0gbi5wcm90b3R5cGU7CiAgICAgICAgICAgIHJldHVybiB0LnJlZnJlc2ggPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcywKICAgICAgICAgICAgICAgICAgICB0ID0gdGhpcy5fc2Nyb2xsRWxlbWVudCA9PT0gdGhpcy5fc2Nyb2xsRWxlbWVudC53aW5kb3cgPyAib2Zmc2V0IiA6ICQsCiAgICAgICAgICAgICAgICAgICAgcyA9ICJhdXRvIiA9PT0gdGhpcy5fY29uZmlnLm1ldGhvZCA/IHQgOiB0aGlzLl9jb25maWcubWV0aG9kLAogICAgICAgICAgICAgICAgICAgIHIgPSBzID09PSAkID8gdGhpcy5fZ2V0U2Nyb2xsVG9wKCkgOiAwOwogICAgICAgICAgICAgICAgdGhpcy5fb2Zmc2V0cyA9IFtdLCB0aGlzLl90YXJnZXRzID0gW10sIHRoaXMuX3Njcm9sbEhlaWdodCA9IHRoaXMuX2dldFNjcm9sbEhlaWdodCgpLCBqLm1ha2VBcnJheShqKHRoaXMuX3NlbGVjdG9yKSkubWFwKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSwgbiA9IE1lLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKG4gJiYgKGUgPSBqKG4pWzBdKSwgZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpLndpZHRoIHx8IGkuaGVpZ2h0KSByZXR1cm4gW2ooZSlbc10oKS50b3AgKyByLCBuXQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbAogICAgICAgICAgICAgICAgfSkuZmlsdGVyKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdAogICAgICAgICAgICAgICAgfSkuc29ydChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRbMF0gLSBlWzBdCiAgICAgICAgICAgICAgICB9KS5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICBlLl9vZmZzZXRzLnB1c2godFswXSksIGUuX3RhcmdldHMucHVzaCh0WzFdKQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSwgdC5kaXNwb3NlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBqLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwgTCksIGoodGhpcy5fc2Nyb2xsRWxlbWVudCkub2ZmKFIpLCB0aGlzLl9lbGVtZW50ID0gbnVsbCwgdGhpcy5fc2Nyb2xsRWxlbWVudCA9IG51bGwsIHRoaXMuX2NvbmZpZyA9IG51bGwsIHRoaXMuX3NlbGVjdG9yID0gbnVsbCwgdGhpcy5fb2Zmc2V0cyA9IG51bGwsIHRoaXMuX3RhcmdldHMgPSBudWxsLCB0aGlzLl9hY3RpdmVUYXJnZXQgPSBudWxsLCB0aGlzLl9zY3JvbGxIZWlnaHQgPSBudWxsCiAgICAgICAgICAgIH0sIHQuX2dldENvbmZpZyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIGlmICgic3RyaW5nIiAhPSB0eXBlb2YodCA9IHUoe30sIFUsIHQpKS50YXJnZXQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGoodC50YXJnZXQpLmF0dHIoImlkIik7CiAgICAgICAgICAgICAgICAgICAgZSB8fCAoZSA9IE1lLmdldFVJRChIKSwgaih0LnRhcmdldCkuYXR0cigiaWQiLCBlKSksIHQudGFyZ2V0ID0gIiMiICsgZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIE1lLnR5cGVDaGVja0NvbmZpZyhILCB0LCBXKSwgdAogICAgICAgICAgICB9LCB0Ll9nZXRTY3JvbGxUb3AgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxFbGVtZW50ID09PSB3aW5kb3cgPyB0aGlzLl9zY3JvbGxFbGVtZW50LnBhZ2VZT2Zmc2V0IDogdGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3AKICAgICAgICAgICAgfSwgdC5fZ2V0U2Nyb2xsSGVpZ2h0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxIZWlnaHQgfHwgTWF0aC5tYXgoZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQsIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpCiAgICAgICAgICAgIH0sIHQuX2dldE9mZnNldEhlaWdodCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Njcm9sbEVsZW1lbnQgPT09IHdpbmRvdyA/IHdpbmRvdy5pbm5lckhlaWdodCA6IHRoaXMuX3Njcm9sbEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0CiAgICAgICAgICAgIH0sIHQuX3Byb2Nlc3MgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpcy5fZ2V0U2Nyb2xsVG9wKCkgKyB0aGlzLl9jb25maWcub2Zmc2V0LAogICAgICAgICAgICAgICAgICAgIGUgPSB0aGlzLl9nZXRTY3JvbGxIZWlnaHQoKSwKICAgICAgICAgICAgICAgICAgICBuID0gdGhpcy5fY29uZmlnLm9mZnNldCArIGUgLSB0aGlzLl9nZXRPZmZzZXRIZWlnaHQoKTsKICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zY3JvbGxIZWlnaHQgIT09IGUgJiYgdGhpcy5yZWZyZXNoKCksIG4gPD0gdCkgewogICAgICAgICAgICAgICAgICAgIHZhciBpID0gdGhpcy5fdGFyZ2V0c1t0aGlzLl90YXJnZXRzLmxlbmd0aCAtIDFdOwogICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjdGl2ZVRhcmdldCAhPT0gaSAmJiB0aGlzLl9hY3RpdmF0ZShpKQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fYWN0aXZlVGFyZ2V0ICYmIHQgPCB0aGlzLl9vZmZzZXRzWzBdICYmIDAgPCB0aGlzLl9vZmZzZXRzWzBdKSByZXR1cm4gdGhpcy5fYWN0aXZlVGFyZ2V0ID0gbnVsbCwgdm9pZCB0aGlzLl9jbGVhcigpOwogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIHMgPSB0aGlzLl9vZmZzZXRzLmxlbmd0aDsgcy0tOykgdGhpcy5fYWN0aXZlVGFyZ2V0ICE9PSB0aGlzLl90YXJnZXRzW3NdICYmIHQgPj0gdGhpcy5fb2Zmc2V0c1tzXSAmJiAodm9pZCAwID09PSB0aGlzLl9vZmZzZXRzW3MgKyAxXSB8fCB0IDwgdGhpcy5fb2Zmc2V0c1tzICsgMV0pICYmIHRoaXMuX2FjdGl2YXRlKHRoaXMuX3RhcmdldHNbc10pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHQuX2FjdGl2YXRlID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdGhpcy5fYWN0aXZlVGFyZ2V0ID0gZSwgdGhpcy5fY2xlYXIoKTsKICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpcy5fc2VsZWN0b3Iuc3BsaXQoIiwiKTsKICAgICAgICAgICAgICAgIHQgPSB0Lm1hcChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgKyAnW2RhdGEtdGFyZ2V0PSInICsgZSArICciXSwnICsgdCArICdbaHJlZj0iJyArIGUgKyAnIl0nCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHZhciBuID0gaih0LmpvaW4oIiwiKSk7CiAgICAgICAgICAgICAgICBuLmhhc0NsYXNzKCJkcm9wZG93bi1pdGVtIikgPyAobi5jbG9zZXN0KHopLmZpbmQoSikuYWRkQ2xhc3MoTSksIG4uYWRkQ2xhc3MoTSkpIDogKG4uYWRkQ2xhc3MoTSksIG4ucGFyZW50cyhGKS5wcmV2KFYgKyAiLCAiICsgcSkuYWRkQ2xhc3MoTSksIG4ucGFyZW50cyhGKS5wcmV2KFkpLmNoaWxkcmVuKFYpLmFkZENsYXNzKE0pKSwgaih0aGlzLl9zY3JvbGxFbGVtZW50KS50cmlnZ2VyKEsuQUNUSVZBVEUsIHsKICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0OiBlCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9LCB0Ll9jbGVhciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgaih0aGlzLl9zZWxlY3RvcikuZmlsdGVyKEIpLnJlbW92ZUNsYXNzKE0pCiAgICAgICAgICAgIH0sIG4uX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBqKHRoaXMpLmRhdGEoTCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHQgfHwgKHQgPSBuZXcgbih0aGlzLCAib2JqZWN0IiA9PSB0eXBlb2YgZSAmJiBlKSwgaih0aGlzKS5kYXRhKEwsIHQpKSwgInN0cmluZyIgPT0gdHlwZW9mIGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZvaWQgMCA9PT0gdFtlXSkgdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInICsgZSArICciJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHRbZV0oKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0sIG8obiwgbnVsbCwgW3sKICAgICAgICAgICAgICAgIGtleTogIlZFUlNJT04iLAogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjQuMC4wIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBrZXk6ICJEZWZhdWx0IiwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFUKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfV0pLCBuCiAgICAgICAgfSgpLCBqKHdpbmRvdykub24oSy5MT0FEX0RBVEFfQVBJLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZm9yICh2YXIgdCA9IGoubWFrZUFycmF5KGooUSkpLCBlID0gdC5sZW5ndGg7IGUtLTspIHsKICAgICAgICAgICAgICAgIHZhciBuID0gaih0W2VdKTsKICAgICAgICAgICAgICAgIEcuX2pRdWVyeUludGVyZmFjZS5jYWxsKG4sIG4uZGF0YSgpKQogICAgICAgICAgICB9CiAgICAgICAgfSksIGouZm5bSF0gPSBHLl9qUXVlcnlJbnRlcmZhY2UsIGouZm5bSF0uQ29uc3RydWN0b3IgPSBHLCBqLmZuW0hdLm5vQ29uZmxpY3QgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIGouZm5bSF0gPSB4LCBHLl9qUXVlcnlJbnRlcmZhY2UKICAgICAgICB9LCBHKSwKICAgICAgICAkZSA9IChBID0gIi4iICsgKHcgPSAiYnMudGFiIiksIEQgPSAoSSA9IGUpLmZuLnRhYiwgUyA9IHsKICAgICAgICAgICAgSElERTogImhpZGUiICsgQSwKICAgICAgICAgICAgSElEREVOOiAiaGlkZGVuIiArIEEsCiAgICAgICAgICAgIFNIT1c6ICJzaG93IiArIEEsCiAgICAgICAgICAgIFNIT1dOOiAic2hvd24iICsgQSwKICAgICAgICAgICAgQ0xJQ0tfREFUQV9BUEk6ICJjbGljay5icy50YWIuZGF0YS1hcGkiCiAgICAgICAgfSwgTiA9ICJhY3RpdmUiLCBPID0gIi5hY3RpdmUiLCBrID0gIj4gbGkgPiAuYWN0aXZlIiwgUCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmdW5jdGlvbiBpKHQpIHsKICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQgPSB0CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIHQgPSBpLnByb3RvdHlwZTsKICAgICAgICAgICAgcmV0dXJuIHQuc2hvdyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIG4gPSB0aGlzOwogICAgICAgICAgICAgICAgaWYgKCEodGhpcy5fZWxlbWVudC5wYXJlbnROb2RlICYmIHRoaXMuX2VsZW1lbnQucGFyZW50Tm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUgJiYgSSh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhOKSB8fCBJKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKCJkaXNhYmxlZCIpKSkgewogICAgICAgICAgICAgICAgICAgIHZhciB0LCBpLCBlID0gSSh0aGlzLl9lbGVtZW50KS5jbG9zZXN0KCIubmF2LCAubGlzdC1ncm91cCIpWzBdLAogICAgICAgICAgICAgICAgICAgICAgICBzID0gTWUuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTsKICAgICAgICAgICAgICAgICAgICBpZiAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgciA9ICJVTCIgPT09IGUubm9kZU5hbWUgPyBrIDogTzsKICAgICAgICAgICAgICAgICAgICAgICAgaSA9IChpID0gSS5tYWtlQXJyYXkoSShlKS5maW5kKHIpKSlbaS5sZW5ndGggLSAxXQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgbyA9IEkuRXZlbnQoUy5ISURFLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0OiB0aGlzLl9lbGVtZW50CiAgICAgICAgICAgICAgICAgICAgICAgIH0pLAogICAgICAgICAgICAgICAgICAgICAgICBhID0gSS5FdmVudChTLlNIT1csIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQ6IGkKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKGkgJiYgSShpKS50cmlnZ2VyKG8pLCBJKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIoYSksICFhLmlzRGVmYXVsdFByZXZlbnRlZCgpICYmICFvLmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHMgJiYgKHQgPSBJKHMpWzBdKSwgdGhpcy5fYWN0aXZhdGUodGhpcy5fZWxlbWVudCwgZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IEkuRXZlbnQoUy5ISURERU4sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldDogbi5fZWxlbWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUgPSBJLkV2ZW50KFMuU0hPV04sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldDogaQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgSShpKS50cmlnZ2VyKHQpLCBJKG4uX2VsZW1lbnQpLnRyaWdnZXIoZSkKICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgdCA/IHRoaXMuX2FjdGl2YXRlKHQsIHQucGFyZW50Tm9kZSwgbCkgOiBsKCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHQuZGlzcG9zZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgSS5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIHcpLCB0aGlzLl9lbGVtZW50ID0gbnVsbAogICAgICAgICAgICB9LCB0Ll9hY3RpdmF0ZSA9IGZ1bmN0aW9uKHQsIGUsIG4pIHsKICAgICAgICAgICAgICAgIHZhciBpID0gdGhpcywKICAgICAgICAgICAgICAgICAgICBzID0gKCJVTCIgPT09IGUubm9kZU5hbWUgPyBJKGUpLmZpbmQoaykgOiBJKGUpLmNoaWxkcmVuKE8pKVswXSwKICAgICAgICAgICAgICAgICAgICByID0gbiAmJiBNZS5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSAmJiBzICYmIEkocykuaGFzQ2xhc3MoImZhZGUiKSwKICAgICAgICAgICAgICAgICAgICBvID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpLl90cmFuc2l0aW9uQ29tcGxldGUodCwgcywgbikKICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgcyAmJiByID8gSShzKS5vbmUoTWUuVFJBTlNJVElPTl9FTkQsIG8pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKDE1MCkgOiBvKCkKICAgICAgICAgICAgfSwgdC5fdHJhbnNpdGlvbkNvbXBsZXRlID0gZnVuY3Rpb24odCwgZSwgbikgewogICAgICAgICAgICAgICAgaWYgKGUpIHsKICAgICAgICAgICAgICAgICAgICBJKGUpLnJlbW92ZUNsYXNzKCJzaG93ICIgKyBOKTsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IEkoZS5wYXJlbnROb2RlKS5maW5kKCI+IC5kcm9wZG93bi1tZW51IC5hY3RpdmUiKVswXTsKICAgICAgICAgICAgICAgICAgICBpICYmIEkoaSkucmVtb3ZlQ2xhc3MoTiksICJ0YWIiID09PSBlLmdldEF0dHJpYnV0ZSgicm9sZSIpICYmIGUuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIiwgITEpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoSSh0KS5hZGRDbGFzcyhOKSwgInRhYiIgPT09IHQuZ2V0QXR0cmlidXRlKCJyb2xlIikgJiYgdC5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLCAhMCksIE1lLnJlZmxvdyh0KSwgSSh0KS5hZGRDbGFzcygic2hvdyIpLCB0LnBhcmVudE5vZGUgJiYgSSh0LnBhcmVudE5vZGUpLmhhc0NsYXNzKCJkcm9wZG93bi1tZW51IikpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcyA9IEkodCkuY2xvc2VzdCgiLmRyb3Bkb3duIilbMF07CiAgICAgICAgICAgICAgICAgICAgcyAmJiBJKHMpLmZpbmQoIi5kcm9wZG93bi10b2dnbGUiKS5hZGRDbGFzcyhOKSwgdC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCAhMCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG4gJiYgbigpCiAgICAgICAgICAgIH0sIGkuX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBJKHRoaXMpLAogICAgICAgICAgICAgICAgICAgICAgICBlID0gdC5kYXRhKHcpOwogICAgICAgICAgICAgICAgICAgIGlmIChlIHx8IChlID0gbmV3IGkodGhpcyksIHQuZGF0YSh3LCBlKSksICJzdHJpbmciID09IHR5cGVvZiBuKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2b2lkIDAgPT09IGVbbl0pIHRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJyArIG4gKyAnIicpOwogICAgICAgICAgICAgICAgICAgICAgICBlW25dKCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9LCBvKGksIG51bGwsIFt7CiAgICAgICAgICAgICAgICBrZXk6ICJWRVJTSU9OIiwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICI0LjAuMCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfV0pLCBpCiAgICAgICAgfSgpLCBJKGRvY3VtZW50KS5vbihTLkNMSUNLX0RBVEFfQVBJLCAnW2RhdGEtdG9nZ2xlPSJ0YWIiXSwgW2RhdGEtdG9nZ2xlPSJwaWxsIl0sIFtkYXRhLXRvZ2dsZT0ibGlzdCJdJywgZnVuY3Rpb24odCkgewogICAgICAgICAgICB0LnByZXZlbnREZWZhdWx0KCksIFAuX2pRdWVyeUludGVyZmFjZS5jYWxsKEkodGhpcyksICJzaG93IikKICAgICAgICB9KSwgSS5mbi50YWIgPSBQLl9qUXVlcnlJbnRlcmZhY2UsIEkuZm4udGFiLkNvbnN0cnVjdG9yID0gUCwgSS5mbi50YWIubm9Db25mbGljdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gSS5mbi50YWIgPSBELCBQLl9qUXVlcnlJbnRlcmZhY2UKICAgICAgICB9LCBQKTsKICAgICEgZnVuY3Rpb24odCkgewogICAgICAgIGlmICh2b2lkIDAgPT09IHQpIHRocm93IG5ldyBUeXBlRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5LiBqUXVlcnkgbXVzdCBiZSBpbmNsdWRlZCBiZWZvcmUgQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdC4iKTsKICAgICAgICB2YXIgZSA9IHQuZm4uanF1ZXJ5LnNwbGl0KCIgIilbMF0uc3BsaXQoIi4iKTsKICAgICAgICBpZiAoZVswXSA8IDIgJiYgZVsxXSA8IDkgfHwgMSA9PT0gZVswXSAmJiA5ID09PSBlWzFdICYmIGVbMl0gPCAxIHx8IDQgPD0gZVswXSkgdGhyb3cgbmV3IEVycm9yKCJCb290c3RyYXAncyBKYXZhU2NyaXB0IHJlcXVpcmVzIGF0IGxlYXN0IGpRdWVyeSB2MS45LjEgYnV0IGxlc3MgdGhhbiB2NC4wLjAiKQogICAgfShlKSwgdC5VdGlsID0gTWUsIHQuQWxlcnQgPSBRZSwgdC5CdXR0b24gPSBCZSwgdC5DYXJvdXNlbCA9IEZlLCB0LkNvbGxhcHNlID0gVmUsIHQuRHJvcGRvd24gPSBZZSwgdC5Nb2RhbCA9IHFlLCB0LlBvcG92ZXIgPSBaZSwgdC5TY3JvbGxzcHkgPSBKZSwgdC5UYWIgPSAkZSwgdC5Ub29sdGlwID0gemUsIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCAiX19lc01vZHVsZSIsIHsKICAgICAgICB2YWx1ZTogITAKICAgIH0pCn0pOwppZiAoZnVuY3Rpb24odCkgewogICAgICAgICJmdW5jdGlvbiIgPT0gdHlwZW9mIGRlZmluZSAmJiBkZWZpbmUuYW1kICYmIGRlZmluZS5hbWQualF1ZXJ5ID8gZGVmaW5lKFsianF1ZXJ5Il0sIHQpIDogdChqUXVlcnkpCiAgICB9KGZ1bmN0aW9uKG90KSB7CiAgICAgICAgdmFyIGx0ID0gImxlZnQiLAogICAgICAgICAgICBodCA9ICJyaWdodCIsCiAgICAgICAgICAgIHV0ID0gInVwIiwKICAgICAgICAgICAgcHQgPSAiZG93biIsCiAgICAgICAgICAgIGZ0ID0gImluIiwKICAgICAgICAgICAgY3QgPSAib3V0IiwKICAgICAgICAgICAgZHQgPSAibm9uZSIsCiAgICAgICAgICAgIF90ID0gImF1dG8iLAogICAgICAgICAgICBndCA9ICJzd2lwZSIsCiAgICAgICAgICAgIG10ID0gInBpbmNoIiwKICAgICAgICAgICAgdnQgPSAidGFwIiwKICAgICAgICAgICAgeXQgPSAiZG91YmxldGFwIiwKICAgICAgICAgICAgeHQgPSAibG9uZ3RhcCIsCiAgICAgICAgICAgIHd0ID0gImhvcml6b250YWwiLAogICAgICAgICAgICBUdCA9ICJ2ZXJ0aWNhbCIsCiAgICAgICAgICAgIGJ0ID0gImFsbCIsCiAgICAgICAgICAgIFB0ID0gMTAsCiAgICAgICAgICAgIFN0ID0gInN0YXJ0IiwKICAgICAgICAgICAgT3QgPSAibW92ZSIsCiAgICAgICAgICAgIGt0ID0gImVuZCIsCiAgICAgICAgICAgIEN0ID0gImNhbmNlbCIsCiAgICAgICAgICAgIEF0ID0gIm9udG91Y2hzdGFydCIgaW4gd2luZG93LAogICAgICAgICAgICBSdCA9IHdpbmRvdy5uYXZpZ2F0b3IubXNQb2ludGVyRW5hYmxlZCAmJiAhd2luZG93Lm5hdmlnYXRvci5wb2ludGVyRW5hYmxlZCwKICAgICAgICAgICAgTXQgPSB3aW5kb3cubmF2aWdhdG9yLnBvaW50ZXJFbmFibGVkIHx8IHdpbmRvdy5uYXZpZ2F0b3IubXNQb2ludGVyRW5hYmxlZCwKICAgICAgICAgICAgRXQgPSAiVG91Y2hTd2lwZSI7CgogICAgICAgIGZ1bmN0aW9uIG4odCwgdikgewogICAgICAgICAgICB2YXIgZSA9IEF0IHx8IE10IHx8ICF2LmZhbGxiYWNrVG9Nb3VzZUV2ZW50cywKICAgICAgICAgICAgICAgIGkgPSBlID8gTXQgPyBSdCA/ICJNU1BvaW50ZXJEb3duIiA6ICJwb2ludGVyZG93biIgOiAidG91Y2hzdGFydCIgOiAibW91c2Vkb3duIiwKICAgICAgICAgICAgICAgIG4gPSBlID8gTXQgPyBSdCA/ICJNU1BvaW50ZXJNb3ZlIiA6ICJwb2ludGVybW92ZSIgOiAidG91Y2htb3ZlIiA6ICJtb3VzZW1vdmUiLAogICAgICAgICAgICAgICAgciA9IGUgPyBNdCA/IFJ0ID8gIk1TUG9pbnRlclVwIiA6ICJwb2ludGVydXAiIDogInRvdWNoZW5kIiA6ICJtb3VzZXVwIiwKICAgICAgICAgICAgICAgIHMgPSBlID8gbnVsbCA6ICJtb3VzZWxlYXZlIiwKICAgICAgICAgICAgICAgIGEgPSBNdCA/IFJ0ID8gIk1TUG9pbnRlckNhbmNlbCIgOiAicG9pbnRlcmNhbmNlbCIgOiAidG91Y2hjYW5jZWwiLAogICAgICAgICAgICAgICAgeSA9IDAsCiAgICAgICAgICAgICAgICB4ID0gbnVsbCwKICAgICAgICAgICAgICAgIHcgPSAwLAogICAgICAgICAgICAgICAgVCA9IDAsCiAgICAgICAgICAgICAgICBiID0gMCwKICAgICAgICAgICAgICAgIFAgPSAxLAogICAgICAgICAgICAgICAgUyA9IDAsCiAgICAgICAgICAgICAgICBPID0gMCwKICAgICAgICAgICAgICAgIGsgPSBudWxsLAogICAgICAgICAgICAgICAgbyA9IG90KHQpLAogICAgICAgICAgICAgICAgQyA9ICJzdGFydCIsCiAgICAgICAgICAgICAgICBBID0gMCwKICAgICAgICAgICAgICAgIFIgPSBudWxsLAogICAgICAgICAgICAgICAgbCA9IDAsCiAgICAgICAgICAgICAgICBNID0gMCwKICAgICAgICAgICAgICAgIGggPSAwLAogICAgICAgICAgICAgICAgdSA9IDAsCiAgICAgICAgICAgICAgICBwID0gMCwKICAgICAgICAgICAgICAgIGYgPSBudWxsLAogICAgICAgICAgICAgICAgRSA9IG51bGw7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICBvLmJpbmQoaSwgYyksIG8uYmluZChhLCBnKQogICAgICAgICAgICB9IGNhdGNoICh0KSB7CiAgICAgICAgICAgICAgICBvdC5lcnJvcigiZXZlbnRzIG5vdCBzdXBwb3J0ZWQgIiArIGkgKyAiLCIgKyBhICsgIiBvbiBqUXVlcnkuc3dpcGV0cCIpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIGModCkgewogICAgICAgICAgICAgICAgaWYgKCEwICE9PSBvLmRhdGEoRXQgKyAiX2ludG91Y2giKSAmJiAhKDAgPCBvdCh0LnRhcmdldCkuY2xvc2VzdCh2LmV4Y2x1ZGVkRWxlbWVudHMsIG8pLmxlbmd0aCkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSwgaSwgbiA9IHQub3JpZ2luYWxFdmVudCA/IHQub3JpZ2luYWxFdmVudCA6IHQsCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBuLnRvdWNoZXMsCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSByID8gclswXSA6IG47CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEMgPSBTdCwgciA/IEEgPSByLmxlbmd0aCA6IHQucHJldmVudERlZmF1bHQoKSwgTyA9IHggPSBudWxsLCBQID0gMSwgUyA9IGIgPSBUID0gdyA9IHkgPSAwLCBSID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIHQgPSBbXSwgZSA9IDA7IGUgPD0gNTsgZSsrKSB0LnB1c2goewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk6IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk6IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVudGlmaWVyOiAwCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdAogICAgICAgICAgICAgICAgICAgIH0oKSwgKGkgPSB7fSlbbHRdID0gbnQobHQpLCBpW2h0XSA9IG50KGh0KSwgaVt1dF0gPSBudCh1dCksIGlbcHRdID0gbnQocHQpLCBrID0gaSwgJCgpLCAhciB8fCBBID09PSB2LmZpbmdlcnMgfHwgdi5maW5nZXJzID09PSBidCB8fCBqKCkgPyAodHQoMCwgcyksIGwgPSBhdCgpLCAyID09IEEgJiYgKHR0KDEsIHJbMV0pLCBUID0gYiA9IHN0KFJbMF0uc3RhcnQsIFJbMV0uc3RhcnQpKSwgKHYuc3dpcGVTdGF0dXMgfHwgdi5waW5jaFN0YXR1cykgJiYgKGUgPSBOKG4sIEMpKSkgOiBlID0gITEsICExID09PSBlID8gKE4obiwgQyA9IEN0KSwgZSkgOiAodi5ob2xkICYmIChFID0gc2V0VGltZW91dChvdC5wcm94eShmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgby50cmlnZ2VyKCJob2xkIiwgW24udGFyZ2V0XSksIHYuaG9sZCAmJiAoZSA9IHYuaG9sZC5jYWxsKG8sIG4sIG4udGFyZ2V0KSkKICAgICAgICAgICAgICAgICAgICB9LCB0aGlzKSwgdi5sb25nVGFwVGhyZXNob2xkKSksIEooITApLCBudWxsKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBkKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdC5vcmlnaW5hbEV2ZW50ID8gdC5vcmlnaW5hbEV2ZW50IDogdDsKICAgICAgICAgICAgICAgIGlmIChDICE9PSBrdCAmJiBDICE9PSBDdCAmJiAhSygpKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGksIG4sIHIsIHMsIGEsIG8sIGwsIGgsIHUsIHAsIGYsIGMsIGQgPSBlLnRvdWNoZXMsCiAgICAgICAgICAgICAgICAgICAgICAgIF8gPSBldChkID8gZFswXSA6IGUpOwogICAgICAgICAgICAgICAgICAgIGlmIChNID0gYXQoKSwgZCAmJiAoQSA9IGQubGVuZ3RoKSwgdi5ob2xkICYmIGNsZWFyVGltZW91dChFKSwgQyA9IE90LCAyID09IEEgJiYgKDAgPT0gVCA/ICh0dCgxLCBkWzFdKSwgVCA9IGIgPSBzdChSWzBdLnN0YXJ0LCBSWzFdLnN0YXJ0KSkgOiAoZXQoZFsxXSksIGIgPSBzdChSWzBdLmVuZCwgUlsxXS5lbmQpLCBSWzBdLmVuZCwgUlsxXS5lbmQsIE8gPSBQIDwgMSA/IGN0IDogZnQpLCBQID0gKGIgLyBUICogMSkudG9GaXhlZCgyKSwgUyA9IE1hdGguYWJzKFQgLSBiKSksIEEgPT09IHYuZmluZ2VycyB8fCB2LmZpbmdlcnMgPT09IGJ0IHx8ICFkIHx8IGooKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAocCA9IF8uc3RhcnQsIGYgPSBfLmVuZCwgYyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IHQueCAtIGUueCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbiA9IGUueSAtIHQueSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IE1hdGguYXRhbjIobiwgaSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMgPSBNYXRoLnJvdW5kKDE4MCAqIHIgLyBNYXRoLlBJKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzIDwgMCAmJiAocyA9IDM2MCAtIE1hdGguYWJzKHMpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfShwLCBmKSwgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghMSA9PT0gdi5wcmV2ZW50RGVmYXVsdEV2ZW50cykgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2LmFsbG93UGFnZVNjcm9sbCA9PT0gZHQpIHQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSB2LmFsbG93UGFnZVNjcm9sbCA9PT0gX3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBsdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodi5zd2lwZUxlZnQgJiYgaSB8fCAhaSAmJiB2LmFsbG93UGFnZVNjcm9sbCAhPSB3dCkgJiYgdC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBodDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodi5zd2lwZVJpZ2h0ICYmIGkgfHwgIWkgJiYgdi5hbGxvd1BhZ2VTY3JvbGwgIT0gd3QpICYmIHQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgdXQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHYuc3dpcGVVcCAmJiBpIHx8ICFpICYmIHYuYWxsb3dQYWdlU2Nyb2xsICE9IFR0KSAmJiB0LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHB0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2LnN3aXBlRG93biAmJiBpIHx8ICFpICYmIHYuYWxsb3dQYWdlU2Nyb2xsICE9IFR0KSAmJiB0LnByZXZlbnREZWZhdWx0KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0odCwgeCA9IGMgPD0gNDUgJiYgMCA8PSBjID8gbHQgOiBjIDw9IDM2MCAmJiAzMTUgPD0gYyA/IGx0IDogMTM1IDw9IGMgJiYgYyA8PSAyMjUgPyBodCA6IDQ1IDwgYyAmJiBjIDwgMTM1ID8gcHQgOiB1dCksIGggPSBfLnN0YXJ0LCB1ID0gXy5lbmQsIHkgPSBNYXRoLnJvdW5kKE1hdGguc3FydChNYXRoLnBvdyh1LnggLSBoLngsIDIpICsgTWF0aC5wb3codS55IC0gaC55LCAyKSkpLCB3ID0gcnQoKSwgbyA9IHgsIGwgPSB5LCBsID0gTWF0aC5tYXgobCwgaXQobykpLCBrW29dLmRpc3RhbmNlID0gbCwgKHYuc3dpcGVTdGF0dXMgfHwgdi5waW5jaFN0YXR1cykgJiYgKGkgPSBOKGUsIEMpKSwgIXYudHJpZ2dlck9uVG91Y2hFbmQgfHwgdi50cmlnZ2VyT25Ub3VjaExlYXZlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZyA9ICEwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYudHJpZ2dlck9uVG91Y2hMZWF2ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAoYSA9IChzID0gb3QocyA9IHRoaXMpKS5vZmZzZXQoKSkubGVmdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGEubGVmdCArIHMub3V0ZXJXaWR0aCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGEudG9wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IGEudG9wICsgcy5vdXRlckhlaWdodCgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuID0gXy5lbmQsIHIgPSBtLCBnID0gbi54ID4gci5sZWZ0ICYmIG4ueCA8IHIucmlnaHQgJiYgbi55ID4gci50b3AgJiYgbi55IDwgci5ib3R0b20KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0hdi50cmlnZ2VyT25Ub3VjaEVuZCAmJiBnID8gQyA9IEwoT3QpIDogdi50cmlnZ2VyT25Ub3VjaExlYXZlICYmICFnICYmIChDID0gTChrdCkpLCBDICE9IEN0ICYmIEMgIT0ga3QgfHwgTihlLCBDKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIE4oZSwgQyA9IEN0KTsKICAgICAgICAgICAgICAgICAgICAhMSA9PT0gaSAmJiBOKGUsIEMgPSBDdCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gXyh0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHQub3JpZ2luYWxFdmVudCA/IHQub3JpZ2luYWxFdmVudCA6IHQsCiAgICAgICAgICAgICAgICAgICAgaSA9IGUudG91Y2hlczsKICAgICAgICAgICAgICAgIHJldHVybiBpICYmIGkubGVuZ3RoID8gKGggPSBhdCgpLCB1ID0gZXZlbnQudG91Y2hlcy5sZW5ndGggKyAxLCAhMCkgOiAoSygpICYmIChBID0gdSksIE0gPSBhdCgpLCB3ID0gcnQoKSwgWCgpIHx8ICFJKCkgPyBOKGUsIEMgPSBDdCkgOiB2LnRyaWdnZXJPblRvdWNoRW5kIHx8IDAgPT0gdi50cmlnZ2VyT25Ub3VjaEVuZCAmJiBDID09PSBPdCA/ICh0LnByZXZlbnREZWZhdWx0KCksIE4oZSwgQyA9IGt0KSkgOiAhdi50cmlnZ2VyT25Ub3VjaEVuZCAmJiBRKCkgPyBGKGUsIEMgPSBrdCwgdnQpIDogQyA9PT0gT3QgJiYgTihlLCBDID0gQ3QpLCBKKCExKSwgbnVsbCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gZygpIHsKICAgICAgICAgICAgICAgIGIgPSBUID0gbCA9IE0gPSBBID0gMCwgUCA9IDEsICQoKSwgSighMSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gbSh0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHQub3JpZ2luYWxFdmVudCA/IHQub3JpZ2luYWxFdmVudCA6IHQ7CiAgICAgICAgICAgICAgICB2LnRyaWdnZXJPblRvdWNoTGVhdmUgJiYgTihlLCBDID0gTChrdCkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIEQoKSB7CiAgICAgICAgICAgICAgICBvLnVuYmluZChpLCBjKSwgby51bmJpbmQoYSwgZyksIG8udW5iaW5kKG4sIGQpLCBvLnVuYmluZChyLCBfKSwgcyAmJiBvLnVuYmluZChzLCBtKSwgSighMSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gTCh0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHQsCiAgICAgICAgICAgICAgICAgICAgaSA9IHooKSwKICAgICAgICAgICAgICAgICAgICBuID0gSSgpLAogICAgICAgICAgICAgICAgICAgIHIgPSBYKCk7CiAgICAgICAgICAgICAgICByZXR1cm4gIWkgfHwgciA/IGUgPSBDdCA6ICFuIHx8IHQgIT0gT3QgfHwgdi50cmlnZ2VyT25Ub3VjaEVuZCAmJiAhdi50cmlnZ2VyT25Ub3VjaExlYXZlID8gIW4gJiYgdCA9PSBrdCAmJiB2LnRyaWdnZXJPblRvdWNoTGVhdmUgJiYgKGUgPSBDdCkgOiBlID0ga3QsIGUKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gTih0LCBlKSB7CiAgICAgICAgICAgICAgICB2YXIgaSwgbiA9IHQudG91Y2hlczsKICAgICAgICAgICAgICAgIHJldHVybiBXKCkgfHwgRygpIHx8IFkoKSB8fCBqKCkgPyAoKFcoKSB8fCBHKCkpICYmIChpID0gRih0LCBlLCBndCkpLCAoWSgpIHx8IGooKSkgJiYgITEgIT09IGkgJiYgKGkgPSBGKHQsIGUsIG10KSkpIDogWigpICYmIEgoKSAmJiAhMSAhPT0gaSA/IGkgPSBGKHQsIGUsIHl0KSA6IHcgPiB2LmxvbmdUYXBUaHJlc2hvbGQgJiYgeSA8IFB0ICYmIHYubG9uZ1RhcCAmJiAhMSAhPT0gaSA/IGkgPSBGKHQsIGUsIHh0KSA6IDEgIT09IEEgJiYgQXQgfHwgIShpc05hTih5KSB8fCB5IDwgdi50aHJlc2hvbGQpIHx8ICFRKCkgfHwgITEgPT09IGkgfHwgKGkgPSBGKHQsIGUsIHZ0KSksIGUgPT09IEN0ICYmIGcoKSwgZSA9PT0ga3QgJiYgKG4gJiYgbi5sZW5ndGggfHwgZygpKSwgaQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBGKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgIHZhciBuOwogICAgICAgICAgICAgICAgaWYgKGkgPT0gZ3QpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoby50cmlnZ2VyKCJzd2lwZVN0YXR1cyIsIFtlLCB4IHx8IG51bGwsIHkgfHwgMCwgdyB8fCAwLCBBLCBSXSksIHYuc3dpcGVTdGF0dXMgJiYgITEgPT09IChuID0gdi5zd2lwZVN0YXR1cy5jYWxsKG8sIHQsIGUsIHggfHwgbnVsbCwgeSB8fCAwLCB3IHx8IDAsIEEsIFIpKSkgcmV0dXJuICExOwogICAgICAgICAgICAgICAgICAgIGlmIChlID09IGt0ICYmIFYoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoby50cmlnZ2VyKCJzd2lwZSIsIFt4LCB5LCB3LCBBLCBSXSksIHYuc3dpcGUgJiYgITEgPT09IChuID0gdi5zd2lwZS5jYWxsKG8sIHQsIHgsIHksIHcsIEEsIFIpKSkgcmV0dXJuICExOwogICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgbHQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgby50cmlnZ2VyKCJzd2lwZUxlZnQiLCBbeCwgeSwgdywgQSwgUl0pLCB2LnN3aXBlTGVmdCAmJiAobiA9IHYuc3dpcGVMZWZ0LmNhbGwobywgdCwgeCwgeSwgdywgQSwgUikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBodDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvLnRyaWdnZXIoInN3aXBlUmlnaHQiLCBbeCwgeSwgdywgQSwgUl0pLCB2LnN3aXBlUmlnaHQgJiYgKG4gPSB2LnN3aXBlUmlnaHQuY2FsbChvLCB0LCB4LCB5LCB3LCBBLCBSKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHV0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8udHJpZ2dlcigic3dpcGVVcCIsIFt4LCB5LCB3LCBBLCBSXSksIHYuc3dpcGVVcCAmJiAobiA9IHYuc3dpcGVVcC5jYWxsKG8sIHQsIHgsIHksIHcsIEEsIFIpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgcHQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgby50cmlnZ2VyKCJzd2lwZURvd24iLCBbeCwgeSwgdywgQSwgUl0pLCB2LnN3aXBlRG93biAmJiAobiA9IHYuc3dpcGVEb3duLmNhbGwobywgdCwgeCwgeSwgdywgQSwgUikpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoaSA9PSBtdCkgewogICAgICAgICAgICAgICAgICAgIGlmIChvLnRyaWdnZXIoInBpbmNoU3RhdHVzIiwgW2UsIE8gfHwgbnVsbCwgUyB8fCAwLCB3IHx8IDAsIEEsIFAsIFJdKSwgdi5waW5jaFN0YXR1cyAmJiAhMSA9PT0gKG4gPSB2LnBpbmNoU3RhdHVzLmNhbGwobywgdCwgZSwgTyB8fCBudWxsLCBTIHx8IDAsIHcgfHwgMCwgQSwgUCwgUikpKSByZXR1cm4gITE7CiAgICAgICAgICAgICAgICAgICAgaWYgKGUgPT0ga3QgJiYgQigpKSBzd2l0Y2ggKE8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBmdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8udHJpZ2dlcigicGluY2hJbiIsIFtPIHx8IG51bGwsIFMgfHwgMCwgdyB8fCAwLCBBLCBQLCBSXSksIHYucGluY2hJbiAmJiAobiA9IHYucGluY2hJbi5jYWxsKG8sIHQsIE8gfHwgbnVsbCwgUyB8fCAwLCB3IHx8IDAsIEEsIFAsIFIpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICBjYXNlIGN0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgby50cmlnZ2VyKCJwaW5jaE91dCIsIFtPIHx8IG51bGwsIFMgfHwgMCwgdyB8fCAwLCBBLCBQLCBSXSksIHYucGluY2hPdXQgJiYgKG4gPSB2LnBpbmNoT3V0LmNhbGwobywgdCwgTyB8fCBudWxsLCBTIHx8IDAsIHcgfHwgMCwgQSwgUCwgUikpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGkgPT0gdnQgPyBlICE9PSBDdCAmJiBlICE9PSBrdCB8fCAoY2xlYXJUaW1lb3V0KGYpLCBjbGVhclRpbWVvdXQoRSksIEgoKSAmJiAhWigpID8gKHAgPSBhdCgpLCBmID0gc2V0VGltZW91dChvdC5wcm94eShmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBwID0gbnVsbCwgby50cmlnZ2VyKCJ0YXAiLCBbdC50YXJnZXRdKSwgdi50YXAgJiYgKG4gPSB2LnRhcC5jYWxsKG8sIHQsIHQudGFyZ2V0KSkKICAgICAgICAgICAgICAgIH0sIHRoaXMpLCB2LmRvdWJsZVRhcFRocmVzaG9sZCkpIDogKHAgPSBudWxsLCBvLnRyaWdnZXIoInRhcCIsIFt0LnRhcmdldF0pLCB2LnRhcCAmJiAobiA9IHYudGFwLmNhbGwobywgdCwgdC50YXJnZXQpKSkpIDogaSA9PSB5dCA/IGUgIT09IEN0ICYmIGUgIT09IGt0IHx8IChjbGVhclRpbWVvdXQoZiksIHAgPSBudWxsLCBvLnRyaWdnZXIoImRvdWJsZXRhcCIsIFt0LnRhcmdldF0pLCB2LmRvdWJsZVRhcCAmJiAobiA9IHYuZG91YmxlVGFwLmNhbGwobywgdCwgdC50YXJnZXQpKSkgOiBpID09IHh0ICYmIChlICE9PSBDdCAmJiBlICE9PSBrdCB8fCAoY2xlYXJUaW1lb3V0KGYpLCBwID0gbnVsbCwgby50cmlnZ2VyKCJsb25ndGFwIiwgW3QudGFyZ2V0XSksIHYubG9uZ1RhcCAmJiAobiA9IHYubG9uZ1RhcC5jYWxsKG8sIHQsIHQudGFyZ2V0KSkpKSwgbgogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBJKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSAhMDsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsICE9PSB2LnRocmVzaG9sZCAmJiAodCA9IHkgPj0gdi50aHJlc2hvbGQpLCB0CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIFgoKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9ICExOwogICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgIT09IHYuY2FuY2VsVGhyZXNob2xkICYmIG51bGwgIT09IHggJiYgKHQgPSBpdCh4KSAtIHkgPj0gdi5jYW5jZWxUaHJlc2hvbGQpLCB0CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIHooKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gIXYubWF4VGltZVRocmVzaG9sZCB8fCAhKHcgPj0gdi5tYXhUaW1lVGhyZXNob2xkKQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBCKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSBVKCksCiAgICAgICAgICAgICAgICAgICAgZSA9IHEoKSwKICAgICAgICAgICAgICAgICAgICBpID0gbnVsbCA9PT0gdi5waW5jaFRocmVzaG9sZCB8fCBTID49IHYucGluY2hUaHJlc2hvbGQ7CiAgICAgICAgICAgICAgICByZXR1cm4gdCAmJiBlICYmIGkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gaigpIHsKICAgICAgICAgICAgICAgIHJldHVybiAhISh2LnBpbmNoU3RhdHVzIHx8IHYucGluY2hJbiB8fCB2LnBpbmNoT3V0KQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBZKCkgewogICAgICAgICAgICAgICAgcmV0dXJuICEoIUIoKSB8fCAhaigpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBWKCkgewogICAgICAgICAgICAgICAgdmFyIHQgPSB6KCksCiAgICAgICAgICAgICAgICAgICAgZSA9IEkoKSwKICAgICAgICAgICAgICAgICAgICBpID0gVSgpLAogICAgICAgICAgICAgICAgICAgIG4gPSBxKCk7CiAgICAgICAgICAgICAgICByZXR1cm4gIVgoKSAmJiBuICYmIGkgJiYgZSAmJiB0CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIEcoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gISEodi5zd2lwZSB8fCB2LnN3aXBlU3RhdHVzIHx8IHYuc3dpcGVMZWZ0IHx8IHYuc3dpcGVSaWdodCB8fCB2LnN3aXBlVXAgfHwgdi5zd2lwZURvd24pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIFcoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gISghVigpIHx8ICFHKCkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIFUoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gQSA9PT0gdi5maW5nZXJzIHx8IHYuZmluZ2VycyA9PT0gYnQgfHwgIUF0CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIHEoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMCAhPT0gUlswXS5lbmQueAogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBRKCkgewogICAgICAgICAgICAgICAgcmV0dXJuICEhdi50YXAKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gSCgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAhIXYuZG91YmxlVGFwCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIFooKSB7CiAgICAgICAgICAgICAgICBpZiAobnVsbCA9PSBwKSByZXR1cm4gITE7CiAgICAgICAgICAgICAgICB2YXIgdCA9IGF0KCk7CiAgICAgICAgICAgICAgICByZXR1cm4gSCgpICYmIHQgLSBwIDw9IHYuZG91YmxlVGFwVGhyZXNob2xkCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uICQoKSB7CiAgICAgICAgICAgICAgICB1ID0gaCA9IDAKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gSygpIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gITE7CiAgICAgICAgICAgICAgICBoICYmIChhdCgpIC0gaCA8PSB2LmZpbmdlclJlbGVhc2VUaHJlc2hvbGQgJiYgKHQgPSAhMCkpOwogICAgICAgICAgICAgICAgcmV0dXJuIHQKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gSih0KSB7CiAgICAgICAgICAgICAgICAhMCA9PT0gdCA/IChvLmJpbmQobiwgZCksIG8uYmluZChyLCBfKSwgcyAmJiBvLmJpbmQocywgbSkpIDogKG8udW5iaW5kKG4sIGQsICExKSwgby51bmJpbmQociwgXywgITEpLCBzICYmIG8udW5iaW5kKHMsIG0sICExKSksIG8uZGF0YShFdCArICJfaW50b3VjaCIsICEwID09PSB0KQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiB0dCh0LCBlKSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IHZvaWQgMCAhPT0gZS5pZGVudGlmaWVyID8gZS5pZGVudGlmaWVyIDogMDsKICAgICAgICAgICAgICAgIHJldHVybiBSW3RdLmlkZW50aWZpZXIgPSBpLCBSW3RdLnN0YXJ0LnggPSBSW3RdLmVuZC54ID0gZS5wYWdlWCB8fCBlLmNsaWVudFgsIFJbdF0uc3RhcnQueSA9IFJbdF0uZW5kLnkgPSBlLnBhZ2VZIHx8IGUuY2xpZW50WSwgUlt0XQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBldCh0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBlID0gMDsgZSA8IFIubGVuZ3RoOyBlKyspCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChSW2VdLmlkZW50aWZpZXIgPT0gdCkgcmV0dXJuIFJbZV0KICAgICAgICAgICAgICAgIH0odm9pZCAwICE9PSB0LmlkZW50aWZpZXIgPyB0LmlkZW50aWZpZXIgOiAwKTsKICAgICAgICAgICAgICAgIHJldHVybiBlLmVuZC54ID0gdC5wYWdlWCB8fCB0LmNsaWVudFgsIGUuZW5kLnkgPSB0LnBhZ2VZIHx8IHQuY2xpZW50WSwgZQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBpdCh0KSB7CiAgICAgICAgICAgICAgICBpZiAoa1t0XSkgcmV0dXJuIGtbdF0uZGlzdGFuY2UKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gbnQodCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246IHQsCiAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2U6IDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gcnQoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gTSAtIGwKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gc3QodCwgZSkgewogICAgICAgICAgICAgICAgdmFyIGkgPSBNYXRoLmFicyh0LnggLSBlLngpLAogICAgICAgICAgICAgICAgICAgIG4gPSBNYXRoLmFicyh0LnkgLSBlLnkpOwogICAgICAgICAgICAgICAgcmV0dXJuIE1hdGgucm91bmQoTWF0aC5zcXJ0KGkgKiBpICsgbiAqIG4pKQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBhdCgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAobmV3IERhdGUpLmdldFRpbWUoKQogICAgICAgICAgICB9CiAgICAgICAgICAgIHRoaXMuZW5hYmxlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gby5iaW5kKGksIGMpLCBvLmJpbmQoYSwgZyksIG8KICAgICAgICAgICAgfSwgdGhpcy5kaXNhYmxlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gRCgpLCBvCiAgICAgICAgICAgIH0sIHRoaXMuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgRCgpLCBvLmRhdGEoRXQsIG51bGwpLCBvID0gbnVsbAogICAgICAgICAgICB9LCB0aGlzLm9wdGlvbiA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIGlmICh2b2lkIDAgIT09IHZbdF0pIHsKICAgICAgICAgICAgICAgICAgICBpZiAodm9pZCAwID09PSBlKSByZXR1cm4gdlt0XTsKICAgICAgICAgICAgICAgICAgICB2W3RdID0gZQogICAgICAgICAgICAgICAgfSBlbHNlIG90LmVycm9yKCJPcHRpb24gIiArIHQgKyAiIGRvZXMgbm90IGV4aXN0IG9uIGpRdWVyeS5zd2lwZXRwLm9wdGlvbnMiKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgb3QuZm4uc3dpcGV0cCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSBvdCh0aGlzKSwKICAgICAgICAgICAgICAgIGkgPSBlLmRhdGEoRXQpOwogICAgICAgICAgICBpZiAoaSAmJiAic3RyaW5nIiA9PSB0eXBlb2YgdCkgewogICAgICAgICAgICAgICAgaWYgKGlbdF0pIHJldHVybiBpW3RdLmFwcGx5KHRoaXMsIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpOwogICAgICAgICAgICAgICAgb3QuZXJyb3IoIk1ldGhvZCAiICsgdCArICIgZG9lcyBub3QgZXhpc3Qgb24galF1ZXJ5LnN3aXBldHAiKQogICAgICAgICAgICB9IGVsc2UgaWYgKCEoaSB8fCAib2JqZWN0IiAhPSB0eXBlb2YgdCAmJiB0KSkgcmV0dXJuIGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgICAgICFpIHx8IHZvaWQgMCAhPT0gaS5hbGxvd1BhZ2VTY3JvbGwgfHwgdm9pZCAwID09PSBpLnN3aXBlICYmIHZvaWQgMCA9PT0gaS5zd2lwZVN0YXR1cyB8fCAoaS5hbGxvd1BhZ2VTY3JvbGwgPSBkdCk7CiAgICAgICAgICAgICAgICB2b2lkIDAgIT09IGkuY2xpY2sgJiYgdm9pZCAwID09PSBpLnRhcCAmJiAoaS50YXAgPSBpLmNsaWNrKTsKICAgICAgICAgICAgICAgIGkgfHwgKGkgPSB7fSk7CiAgICAgICAgICAgICAgICByZXR1cm4gaSA9IG90LmV4dGVuZCh7fSwgb3QuZm4uc3dpcGV0cC5kZWZhdWx0cywgaSksIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IG90KHRoaXMpLAogICAgICAgICAgICAgICAgICAgICAgICBlID0gdC5kYXRhKEV0KTsKICAgICAgICAgICAgICAgICAgICBlIHx8IChlID0gbmV3IG4odGhpcywgaSksIHQuZGF0YShFdCwgZSkpCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgICAgIHJldHVybiBlCiAgICAgICAgfSwgb3QuZm4uc3dpcGV0cC52ZXJzaW9uID0gIjEuNi45Iiwgb3QuZm4uc3dpcGV0cC5kZWZhdWx0cyA9IHsKICAgICAgICAgICAgZmluZ2VyczogMSwKICAgICAgICAgICAgdGhyZXNob2xkOiA3NSwKICAgICAgICAgICAgY2FuY2VsVGhyZXNob2xkOiBudWxsLAogICAgICAgICAgICBwaW5jaFRocmVzaG9sZDogMjAsCiAgICAgICAgICAgIG1heFRpbWVUaHJlc2hvbGQ6IG51bGwsCiAgICAgICAgICAgIGZpbmdlclJlbGVhc2VUaHJlc2hvbGQ6IDI1MCwKICAgICAgICAgICAgbG9uZ1RhcFRocmVzaG9sZDogNTAwLAogICAgICAgICAgICBkb3VibGVUYXBUaHJlc2hvbGQ6IDIwMCwKICAgICAgICAgICAgc3dpcGU6IG51bGwsCiAgICAgICAgICAgIHN3aXBlTGVmdDogbnVsbCwKICAgICAgICAgICAgc3dpcGVSaWdodDogbnVsbCwKICAgICAgICAgICAgc3dpcGVVcDogbnVsbCwKICAgICAgICAgICAgc3dpcGVEb3duOiBudWxsLAogICAgICAgICAgICBzd2lwZVN0YXR1czogbnVsbCwKICAgICAgICAgICAgcGluY2hJbjogbnVsbCwKICAgICAgICAgICAgcGluY2hPdXQ6IG51bGwsCiAgICAgICAgICAgIHBpbmNoU3RhdHVzOiBudWxsLAogICAgICAgICAgICBjbGljazogbnVsbCwKICAgICAgICAgICAgdGFwOiBudWxsLAogICAgICAgICAgICBkb3VibGVUYXA6IG51bGwsCiAgICAgICAgICAgIGxvbmdUYXA6IG51bGwsCiAgICAgICAgICAgIGhvbGQ6IG51bGwsCiAgICAgICAgICAgIHRyaWdnZXJPblRvdWNoRW5kOiAhMCwKICAgICAgICAgICAgdHJpZ2dlck9uVG91Y2hMZWF2ZTogITEsCiAgICAgICAgICAgIGFsbG93UGFnZVNjcm9sbDogImF1dG8iLAogICAgICAgICAgICBmYWxsYmFja1RvTW91c2VFdmVudHM6ICEwLAogICAgICAgICAgICBleGNsdWRlZEVsZW1lbnRzOiAibGFiZWwsIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGEsIC5ub1N3aXBlIiwKICAgICAgICAgICAgcHJldmVudERlZmF1bHRFdmVudHM6ICEwCiAgICAgICAgfSwgb3QuZm4uc3dpcGV0cC5waGFzZXMgPSB7CiAgICAgICAgICAgIFBIQVNFX1NUQVJUOiBTdCwKICAgICAgICAgICAgUEhBU0VfTU9WRTogT3QsCiAgICAgICAgICAgIFBIQVNFX0VORDoga3QsCiAgICAgICAgICAgIFBIQVNFX0NBTkNFTDogQ3QKICAgICAgICB9LCBvdC5mbi5zd2lwZXRwLmRpcmVjdGlvbnMgPSB7CiAgICAgICAgICAgIExFRlQ6IGx0LAogICAgICAgICAgICBSSUdIVDogaHQsCiAgICAgICAgICAgIFVQOiB1dCwKICAgICAgICAgICAgRE9XTjogcHQsCiAgICAgICAgICAgIElOOiBmdCwKICAgICAgICAgICAgT1VUOiBjdAogICAgICAgIH0sIG90LmZuLnN3aXBldHAucGFnZVNjcm9sbCA9IHsKICAgICAgICAgICAgTk9ORTogZHQsCiAgICAgICAgICAgIEhPUklaT05UQUw6IHd0LAogICAgICAgICAgICBWRVJUSUNBTDogVHQsCiAgICAgICAgICAgIEFVVE86IF90CiAgICAgICAgfSwgb3QuZm4uc3dpcGV0cC5maW5nZXJzID0gewogICAgICAgICAgICBPTkU6IDEsCiAgICAgICAgICAgIFRXTzogMiwKICAgICAgICAgICAgVEhSRUU6IDMsCiAgICAgICAgICAgIEFMTDogYnQKICAgICAgICB9CiAgICB9KSwgdm9pZCAwID09PSBjb25zb2xlKSB7CiAgICB2YXIgY29uc29sZSA9IHt9OwogICAgY29uc29sZS5sb2cgPSBjb25zb2xlLmVycm9yID0gY29uc29sZS5pbmZvID0gY29uc29sZS5kZWJ1ZyA9IGNvbnNvbGUud2FybiA9IGNvbnNvbGUudHJhY2UgPSBjb25zb2xlLmRpciA9IGNvbnNvbGUuZGlyeG1sID0gY29uc29sZS5ncm91cCA9IGNvbnNvbGUuZ3JvdXBFbmQgPSBjb25zb2xlLnRpbWUgPSBjb25zb2xlLnRpbWVFbmQgPSBjb25zb2xlLmFzc2VydCA9IGNvbnNvbGUucHJvZmlsZSA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQgPSBmdW5jdGlvbigpIHt9Cn0KaWYgKDEgPT0gd2luZG93LnRwbG9ncykgdHJ5IHsKICAgIGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQoIlRoZW1lUHVuY2ggR3JlZW5Tb2NrcyBMb2dzIikKfSBjYXRjaCAodCkge30KdmFyIG9sZGdzID0gd2luZG93LkdyZWVuU29ja0dsb2JhbHM7Cm9sZGdzX3F1ZXVlID0gd2luZG93Ll9nc1F1ZXVlOwp2YXIgX2dzU2NvcGUsIHB1bmNoZ3MgPSB3aW5kb3cuR3JlZW5Tb2NrR2xvYmFscyA9IHt9OwppZiAoMSA9PSB3aW5kb3cudHBsb2dzKSB0cnkgewogICAgICAgIGNvbnNvbGUuaW5mbygiQnVpbGQgR3JlZW5Tb2NrIFNhbmRCb3ggZm9yIFRoZW1lUHVuY2ggUGx1Z2lucyIpLCBjb25zb2xlLmluZm8oIkdyZWVuU29jayBUd2VlbkxpdGUgRW5naW5lIEluaXRhbGlzZWQgYnkgVGhlbWVQdW5jaCBQbHVnaW4iKQogICAgfSBjYXRjaCAodCkge30hIGZ1bmN0aW9uKGMsIGQpIHsKICAgICAgICAidXNlIHN0cmljdCI7CiAgICAgICAgdmFyIGUsIGksIF8gPSB7fSwKICAgICAgICAgICAgbiA9IGMuZG9jdW1lbnQsCiAgICAgICAgICAgIGcgPSBjLkdyZWVuU29ja0dsb2JhbHMgPSBjLkdyZWVuU29ja0dsb2JhbHMgfHwgYzsKICAgICAgICBpZiAoIWcuVHdlZW5MaXRlKSB7CiAgICAgICAgICAgIHZhciB0LCByLCBzLCBtLCB2LCB5ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlLCBpID0gdC5zcGxpdCgiLiIpLAogICAgICAgICAgICAgICAgICAgICAgICBuID0gZzsKICAgICAgICAgICAgICAgICAgICBmb3IgKGUgPSAwOyBlIDwgaS5sZW5ndGg7IGUrKykgbltpW2VdXSA9IG4gPSBuW2lbZV1dIHx8IHt9OwogICAgICAgICAgICAgICAgICAgIHJldHVybiBuCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcCA9IHkoImNvbS5ncmVlbnNvY2siKSwKICAgICAgICAgICAgICAgIHggPSAxZS0xMCwKICAgICAgICAgICAgICAgIGwgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUsIGkgPSBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgbiA9IHQubGVuZ3RoOwogICAgICAgICAgICAgICAgICAgIGZvciAoZSA9IDA7IGUgIT09IG47IGkucHVzaCh0W2UrK10pKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gaQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHcgPSBmdW5jdGlvbigpIHt9LAogICAgICAgICAgICAgICAgVCA9IChlID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZywgaSA9IGUuY2FsbChbXSksIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCAhPSB0ICYmICh0IGluc3RhbmNlb2YgQXJyYXkgfHwgIm9iamVjdCIgPT0gdHlwZW9mIHQgJiYgISF0LnB1c2ggJiYgZS5jYWxsKHQpID09PSBpKQogICAgICAgICAgICAgICAgfSksCiAgICAgICAgICAgICAgICBiID0ge30sCiAgICAgICAgICAgICAgICBQID0gZnVuY3Rpb24obCwgaCwgdSwgcCkgewogICAgICAgICAgICAgICAgICAgIHRoaXMuc2MgPSBiW2xdID8gYltsXS5zYyA6IFtdLCAoYltsXSA9IHRoaXMpLmdzQ2xhc3MgPSBudWxsLCB0aGlzLmZ1bmMgPSB1OwogICAgICAgICAgICAgICAgICAgIHZhciBmID0gW107CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVjayA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgZSwgaSwgbiwgciwgcywgYSA9IGgubGVuZ3RoLCBvID0gYTsgLSAxIDwgLS1hOykoZSA9IGJbaFthXV0gfHwgbmV3IFAoaFthXSwgW10pKS5nc0NsYXNzID8gKGZbYV0gPSBlLmdzQ2xhc3MsIG8tLSkgOiB0ICYmIGUuc2MucHVzaCh0aGlzKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKDAgPT09IG8gJiYgdSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG4gPSAoaSA9ICgiY29tLmdyZWVuc29jay4iICsgbCkuc3BsaXQoIi4iKSkucG9wKCksIHIgPSB5KGkuam9pbigiLiIpKVtuXSA9IHRoaXMuZ3NDbGFzcyA9IHUuYXBwbHkodSwgZiksIHApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdbbl0gPSBfW25dID0gciwgIShzID0gInVuZGVmaW5lZCIgIT0gdHlwZW9mIG1vZHVsZSAmJiBtb2R1bGUuZXhwb3J0cykgJiYgImZ1bmN0aW9uIiA9PSB0eXBlb2YgZGVmaW5lICYmIGRlZmluZS5hbWQpIGRlZmluZSgoYy5HcmVlblNvY2tBTURQYXRoID8gYy5HcmVlblNvY2tBTURQYXRoICsgIi8iIDogIiIpICsgbC5zcGxpdCgiLiIpLnBvcCgpLCBbXSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAocykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobCA9PT0gZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChhIGluIG1vZHVsZS5leHBvcnRzID0gX1tkXSA9IHIsIF8pIHJbYV0gPSBfW2FdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgX1tkXSAmJiAoX1tkXVtuXSA9IHIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChhID0gMDsgYSA8IHRoaXMuc2MubGVuZ3RoOyBhKyspIHRoaXMuc2NbYV0uY2hlY2soKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5jaGVjayghMCkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBhID0gYy5fZ3NEZWZpbmUgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQKHQsIGUsIGksIG4pCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgZiA9IHAuX2NsYXNzID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBlID0gZSB8fCBmdW5jdGlvbigpIHt9LCBhKHQsIFtdLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUKICAgICAgICAgICAgICAgICAgICB9LCBpKSwgZQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgYS5nbG9iYWxzID0gZzsKICAgICAgICAgICAgdmFyIG8gPSBbMCwgMCwgMSwgMV0sCiAgICAgICAgICAgICAgICBTID0gZigiZWFzaW5nLkVhc2UiLCBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZnVuYyA9IHQsIHRoaXMuX3R5cGUgPSBpIHx8IDAsIHRoaXMuX3Bvd2VyID0gbiB8fCAwLCB0aGlzLl9wYXJhbXMgPSBlID8gby5jb25jYXQoZSkgOiBvCiAgICAgICAgICAgICAgICB9LCAhMCksCiAgICAgICAgICAgICAgICBPID0gUy5tYXAgPSB7fSwKICAgICAgICAgICAgICAgIGggPSBTLnJlZ2lzdGVyID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIHIsIHMsIGEsIG8sIGwgPSBlLnNwbGl0KCIsIiksIGggPSBsLmxlbmd0aCwgdSA9IChpIHx8ICJlYXNlSW4sZWFzZU91dCxlYXNlSW5PdXQiKS5zcGxpdCgiLCIpOyAtIDEgPCAtLWg7KQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHMgPSBsW2hdLCByID0gbiA/IGYoImVhc2luZy4iICsgcywgbnVsbCwgITApIDogcC5lYXNpbmdbc10gfHwge30sIGEgPSB1Lmxlbmd0aDsgLSAxIDwgLS1hOykgbyA9IHVbYV0sIE9bcyArICIuIiArIG9dID0gT1tvICsgc10gPSByW29dID0gdC5nZXRSYXRpbyA/IHQgOiB0W29dIHx8IG5ldyB0CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICBmb3IgKChzID0gUy5wcm90b3R5cGUpLl9jYWxjRW5kID0gITEsIHMuZ2V0UmF0aW8gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2Z1bmMpIHJldHVybiB0aGlzLl9wYXJhbXNbMF0gPSB0LCB0aGlzLl9mdW5jLmFwcGx5KG51bGwsIHRoaXMuX3BhcmFtcyk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLl90eXBlLAogICAgICAgICAgICAgICAgICAgICAgICBpID0gdGhpcy5fcG93ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgIG4gPSAxID09PSBlID8gMSAtIHQgOiAyID09PSBlID8gdCA6IHQgPCAuNSA/IDIgKiB0IDogMiAqICgxIC0gdCk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEgPT09IGkgPyBuICo9IG4gOiAyID09PSBpID8gbiAqPSBuICogbiA6IDMgPT09IGkgPyBuICo9IG4gKiBuICogbiA6IDQgPT09IGkgJiYgKG4gKj0gbiAqIG4gKiBuICogbiksIDEgPT09IGUgPyAxIC0gbiA6IDIgPT09IGUgPyBuIDogdCA8IC41ID8gbiAvIDIgOiAxIC0gbiAvIDIKICAgICAgICAgICAgICAgIH0sIHIgPSAodCA9IFsiTGluZWFyIiwgIlF1YWQiLCAiQ3ViaWMiLCAiUXVhcnQiLCAiUXVpbnQsU3Ryb25nIl0pLmxlbmd0aDsgLSAxIDwgLS1yOykgcyA9IHRbcl0gKyAiLFBvd2VyIiArIHIsIGgobmV3IFMobnVsbCwgbnVsbCwgMSwgciksIHMsICJlYXNlT3V0IiwgITApLCBoKG5ldyBTKG51bGwsIG51bGwsIDIsIHIpLCBzLCAiZWFzZUluIiArICgwID09PSByID8gIixlYXNlTm9uZSIgOiAiIikpLCBoKG5ldyBTKG51bGwsIG51bGwsIDMsIHIpLCBzLCAiZWFzZUluT3V0Iik7CiAgICAgICAgICAgIE8ubGluZWFyID0gcC5lYXNpbmcuTGluZWFyLmVhc2VJbiwgTy5zd2luZyA9IHAuZWFzaW5nLlF1YWQuZWFzZUluT3V0OwogICAgICAgICAgICB2YXIgayA9IGYoImV2ZW50cy5FdmVudERpc3BhdGNoZXIiLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0aGlzLl9saXN0ZW5lcnMgPSB7fSwgdGhpcy5fZXZlbnRUYXJnZXQgPSB0IHx8IHRoaXMKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIChzID0gay5wcm90b3R5cGUpLmFkZEV2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCByKSB7CiAgICAgICAgICAgICAgICByID0gciB8fCAwOwogICAgICAgICAgICAgICAgdmFyIHMsIGEsIG8gPSB0aGlzLl9saXN0ZW5lcnNbdF0sCiAgICAgICAgICAgICAgICAgICAgbCA9IDA7CiAgICAgICAgICAgICAgICBmb3IgKHRoaXMgIT09IG0gfHwgdiB8fCBtLndha2UoKSwgbnVsbCA9PSBvICYmICh0aGlzLl9saXN0ZW5lcnNbdF0gPSBvID0gW10pLCBhID0gby5sZW5ndGg7IC0gMSA8IC0tYTspKHMgPSBvW2FdKS5jID09PSBlICYmIHMucyA9PT0gaSA/IG8uc3BsaWNlKGEsIDEpIDogMCA9PT0gbCAmJiBzLnByIDwgciAmJiAobCA9IGEgKyAxKTsKICAgICAgICAgICAgICAgIG8uc3BsaWNlKGwsIDAsIHsKICAgICAgICAgICAgICAgICAgICBjOiBlLAogICAgICAgICAgICAgICAgICAgIHM6IGksCiAgICAgICAgICAgICAgICAgICAgdXA6IG4sCiAgICAgICAgICAgICAgICAgICAgcHI6IHIKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0sIHMucmVtb3ZlRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIHZhciBpLCBuID0gdGhpcy5fbGlzdGVuZXJzW3RdOwogICAgICAgICAgICAgICAgaWYgKG4pCiAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gbi5sZW5ndGg7IC0gMSA8IC0taTspCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuW2ldLmMgPT09IGUpIHJldHVybiB2b2lkIG4uc3BsaWNlKGksIDEpCiAgICAgICAgICAgIH0sIHMuZGlzcGF0Y2hFdmVudCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuLCByID0gdGhpcy5fbGlzdGVuZXJzW3RdOwogICAgICAgICAgICAgICAgaWYgKHIpCiAgICAgICAgICAgICAgICAgICAgZm9yICgxIDwgKGUgPSByLmxlbmd0aCkgJiYgKHIgPSByLnNsaWNlKDApKSwgaSA9IHRoaXMuX2V2ZW50VGFyZ2V0OyAtIDEgPCAtLWU7KShuID0gcltlXSkgJiYgKG4udXAgPyBuLmMuY2FsbChuLnMgfHwgaSwgewogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiB0LAogICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IGkKICAgICAgICAgICAgICAgICAgICB9KSA6IG4uYy5jYWxsKG4ucyB8fCBpKSkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdmFyIEMgPSBjLnJlcXVlc3RBbmltYXRpb25GcmFtZSwKICAgICAgICAgICAgICAgIEEgPSBjLmNhbmNlbEFuaW1hdGlvbkZyYW1lLAogICAgICAgICAgICAgICAgUiA9IERhdGUubm93IHx8IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAobmV3IERhdGUpLmdldFRpbWUoKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIE0gPSBSKCk7CiAgICAgICAgICAgIGZvciAociA9ICh0ID0gWyJtcyIsICJtb3oiLCAid2Via2l0IiwgIm8iXSkubGVuZ3RoOyAtIDEgPCAtLXIgJiYgIUM7KSBDID0gY1t0W3JdICsgIlJlcXVlc3RBbmltYXRpb25GcmFtZSJdLCBBID0gY1t0W3JdICsgIkNhbmNlbEFuaW1hdGlvbkZyYW1lIl0gfHwgY1t0W3JdICsgIkNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZSJdOwogICAgICAgICAgICBmKCJUaWNrZXIiLCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICB2YXIgciwgcywgYSwgbywgbCwgaCA9IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgdSA9IFIoKSwKICAgICAgICAgICAgICAgICAgICBpID0gISghMSA9PT0gZSB8fCAhQykgJiYgImF1dG8iLAogICAgICAgICAgICAgICAgICAgIHAgPSA1MDAsCiAgICAgICAgICAgICAgICAgICAgZiA9IDMzLAogICAgICAgICAgICAgICAgICAgIGMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuID0gUigpIC0gTTsKICAgICAgICAgICAgICAgICAgICAgICAgcCA8IG4gJiYgKHUgKz0gbiAtIGYpLCBNICs9IG4sIGgudGltZSA9IChNIC0gdSkgLyAxZTMsIGUgPSBoLnRpbWUgLSBsLCAoIXIgfHwgMCA8IGUgfHwgITAgPT09IHQpICYmIChoLmZyYW1lKyssIGwgKz0gZSArIChvIDw9IGUgPyAuMDA0IDogbyAtIGUpLCBpID0gITApLCAhMCAhPT0gdCAmJiAoYSA9IHMoYykpLCBpICYmIGguZGlzcGF0Y2hFdmVudCgidGljayIpCiAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIGsuY2FsbChoKSwgaC50aW1lID0gaC5mcmFtZSA9IDAsIGgudGljayA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGMoITApCiAgICAgICAgICAgICAgICB9LCBoLmxhZ1Ntb290aGluZyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICBwID0gdCB8fCAxZTEwLCBmID0gTWF0aC5taW4oZSwgcCwgMCkKICAgICAgICAgICAgICAgIH0sIGguc2xlZXAgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBudWxsICE9IGEgJiYgKGkgJiYgQSA/IEEoYSkgOiBjbGVhclRpbWVvdXQoYSksIHMgPSB3LCBhID0gbnVsbCwgaCA9PT0gbSAmJiAodiA9ICExKSkKICAgICAgICAgICAgICAgIH0sIGgud2FrZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICBudWxsICE9PSBhID8gaC5zbGVlcCgpIDogdCA/IHUgKz0gLU0gKyAoTSA9IFIoKSkgOiAxMCA8IGguZnJhbWUgJiYgKE0gPSBSKCkgLSBwICsgNSksIHMgPSAwID09PSByID8gdyA6IGkgJiYgQyA/IEMgOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZXRUaW1lb3V0KHQsIDFlMyAqIChsIC0gaC50aW1lKSArIDEgfCAwKQogICAgICAgICAgICAgICAgICAgIH0sIGggPT09IG0gJiYgKHYgPSAhMCksIGMoMikKICAgICAgICAgICAgICAgIH0sIGguZnBzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKG8gPSAxIC8gKChyID0gdCkgfHwgNjApLCBsID0gdGhpcy50aW1lICsgbywgdm9pZCBoLndha2UoKSkgOiByCiAgICAgICAgICAgICAgICB9LCBoLnVzZVJBRiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChoLnNsZWVwKCksIGkgPSB0LCB2b2lkIGguZnBzKHIpKSA6IGkKICAgICAgICAgICAgICAgIH0sIGguZnBzKHQpLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICJhdXRvIiA9PT0gaSAmJiBoLmZyYW1lIDwgNSAmJiAiaGlkZGVuIiAhPT0gbi52aXNpYmlsaXR5U3RhdGUgJiYgaC51c2VSQUYoITEpCiAgICAgICAgICAgICAgICB9LCAxNTAwKQogICAgICAgICAgICB9KSwgKHMgPSBwLlRpY2tlci5wcm90b3R5cGUgPSBuZXcgcC5ldmVudHMuRXZlbnREaXNwYXRjaGVyKS5jb25zdHJ1Y3RvciA9IHAuVGlja2VyOwogICAgICAgICAgICB2YXIgdSA9IGYoImNvcmUuQW5pbWF0aW9uIiwgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgaWYgKHRoaXMudmFycyA9IGUgPSBlIHx8IHt9LCB0aGlzLl9kdXJhdGlvbiA9IHRoaXMuX3RvdGFsRHVyYXRpb24gPSB0IHx8IDAsIHRoaXMuX2RlbGF5ID0gTnVtYmVyKGUuZGVsYXkpIHx8IDAsIHRoaXMuX3RpbWVTY2FsZSA9IDEsIHRoaXMuX2FjdGl2ZSA9ICEwID09PSBlLmltbWVkaWF0ZVJlbmRlciwgdGhpcy5kYXRhID0gZS5kYXRhLCB0aGlzLl9yZXZlcnNlZCA9ICEwID09PSBlLnJldmVyc2VkLCBIKSB7CiAgICAgICAgICAgICAgICAgICAgdiB8fCBtLndha2UoKTsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IHRoaXMudmFycy51c2VGcmFtZXMgPyBRIDogSDsKICAgICAgICAgICAgICAgICAgICBpLmFkZCh0aGlzLCBpLl90aW1lKSwgdGhpcy52YXJzLnBhdXNlZCAmJiB0aGlzLnBhdXNlZCghMCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIG0gPSB1LnRpY2tlciA9IG5ldyBwLlRpY2tlciwgKHMgPSB1LnByb3RvdHlwZSkuX2RpcnR5ID0gcy5fZ2MgPSBzLl9pbml0dGVkID0gcy5fcGF1c2VkID0gITEsIHMuX3RvdGFsVGltZSA9IHMuX3RpbWUgPSAwLCBzLl9yYXdQcmV2VGltZSA9IC0xLCBzLl9uZXh0ID0gcy5fbGFzdCA9IHMuX29uVXBkYXRlID0gcy5fdGltZWxpbmUgPSBzLnRpbWVsaW5lID0gbnVsbCwgcy5fcGF1c2VkID0gITE7CiAgICAgICAgICAgIHZhciBFID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2ICYmIDJlMyA8IFIoKSAtIE0gJiYgbS53YWtlKCksIHNldFRpbWVvdXQoRSwgMmUzKQogICAgICAgICAgICB9OwogICAgICAgICAgICBFKCksIHMucGxheSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsICE9IHQgJiYgdGhpcy5zZWVrKHQsIGUpLCB0aGlzLnJldmVyc2VkKCExKS5wYXVzZWQoITEpCiAgICAgICAgICAgIH0sIHMucGF1c2UgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCAhPSB0ICYmIHRoaXMuc2Vlayh0LCBlKSwgdGhpcy5wYXVzZWQoITApCiAgICAgICAgICAgIH0sIHMucmVzdW1lID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgIT0gdCAmJiB0aGlzLnNlZWsodCwgZSksIHRoaXMucGF1c2VkKCExKQogICAgICAgICAgICB9LCBzLnNlZWsgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50b3RhbFRpbWUoTnVtYmVyKHQpLCAhMSAhPT0gZSkKICAgICAgICAgICAgfSwgcy5yZXN0YXJ0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmV2ZXJzZWQoITEpLnBhdXNlZCghMSkudG90YWxUaW1lKHQgPyAtdGhpcy5fZGVsYXkgOiAwLCAhMSAhPT0gZSwgITApCiAgICAgICAgICAgIH0sIHMucmV2ZXJzZSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsICE9IHQgJiYgdGhpcy5zZWVrKHQgfHwgdGhpcy50b3RhbER1cmF0aW9uKCksIGUpLCB0aGlzLnJldmVyc2VkKCEwKS5wYXVzZWQoITEpCiAgICAgICAgICAgIH0sIHMucmVuZGVyID0gZnVuY3Rpb24odCwgZSwgaSkge30sIHMuaW52YWxpZGF0ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3RpbWUgPSB0aGlzLl90b3RhbFRpbWUgPSAwLCB0aGlzLl9pbml0dGVkID0gdGhpcy5fZ2MgPSAhMSwgdGhpcy5fcmF3UHJldlRpbWUgPSAtMSwgKHRoaXMuX2djIHx8ICF0aGlzLnRpbWVsaW5lKSAmJiB0aGlzLl9lbmFibGVkKCEwKSwgdGhpcwogICAgICAgICAgICB9LCBzLmlzQWN0aXZlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCwgZSA9IHRoaXMuX3RpbWVsaW5lLAogICAgICAgICAgICAgICAgICAgIGkgPSB0aGlzLl9zdGFydFRpbWU7CiAgICAgICAgICAgICAgICByZXR1cm4gIWUgfHwgIXRoaXMuX2djICYmICF0aGlzLl9wYXVzZWQgJiYgZS5pc0FjdGl2ZSgpICYmICh0ID0gZS5yYXdUaW1lKCEwKSkgPj0gaSAmJiB0IDwgaSArIHRoaXMudG90YWxEdXJhdGlvbigpIC8gdGhpcy5fdGltZVNjYWxlCiAgICAgICAgICAgIH0sIHMuX2VuYWJsZWQgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdiB8fCBtLndha2UoKSwgdGhpcy5fZ2MgPSAhdCwgdGhpcy5fYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSgpLCAhMCAhPT0gZSAmJiAodCAmJiAhdGhpcy50aW1lbGluZSA/IHRoaXMuX3RpbWVsaW5lLmFkZCh0aGlzLCB0aGlzLl9zdGFydFRpbWUgLSB0aGlzLl9kZWxheSkgOiAhdCAmJiB0aGlzLnRpbWVsaW5lICYmIHRoaXMuX3RpbWVsaW5lLl9yZW1vdmUodGhpcywgITApKSwgITEKICAgICAgICAgICAgfSwgcy5fa2lsbCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbmFibGVkKCExLCAhMSkKICAgICAgICAgICAgfSwgcy5raWxsID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2tpbGwodCwgZSksIHRoaXMKICAgICAgICAgICAgfSwgcy5fdW5jYWNoZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIGUgPSB0ID8gdGhpcyA6IHRoaXMudGltZWxpbmU7IGU7KSBlLl9kaXJ0eSA9ICEwLCBlID0gZS50aW1lbGluZTsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzCiAgICAgICAgICAgIH0sIHMuX3N3YXBTZWxmSW5QYXJhbXMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBlID0gdC5sZW5ndGgsIGkgPSB0LmNvbmNhdCgpOyAtIDEgPCAtLWU7KSAie3NlbGZ9IiA9PT0gdFtlXSAmJiAoaVtlXSA9IHRoaXMpOwogICAgICAgICAgICAgICAgcmV0dXJuIGkKICAgICAgICAgICAgfSwgcy5fY2FsbGJhY2sgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMudmFycywKICAgICAgICAgICAgICAgICAgICBpID0gZVt0XSwKICAgICAgICAgICAgICAgICAgICBuID0gZVt0ICsgIlBhcmFtcyJdLAogICAgICAgICAgICAgICAgICAgIHIgPSBlW3QgKyAiU2NvcGUiXSB8fCBlLmNhbGxiYWNrU2NvcGUgfHwgdGhpczsKICAgICAgICAgICAgICAgIHN3aXRjaCAobiA/IG4ubGVuZ3RoIDogMCkgewogICAgICAgICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgICAgICAgICAgaS5jYWxsKHIpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICAgICAgICAgIGkuY2FsbChyLCBuWzBdKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgICAgICAgICAgICBpLmNhbGwociwgblswXSwgblsxXSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgICAgIGkuYXBwbHkociwgbikKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgcy5ldmVudENhbGxiYWNrID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgaWYgKCJvbiIgPT09ICh0IHx8ICIiKS5zdWJzdHIoMCwgMikpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgciA9IHRoaXMudmFyczsKICAgICAgICAgICAgICAgICAgICBpZiAoMSA9PT0gYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIHJbdF07CiAgICAgICAgICAgICAgICAgICAgbnVsbCA9PSBlID8gZGVsZXRlIHJbdF0gOiAoclt0XSA9IGUsIHJbdCArICJQYXJhbXMiXSA9IFQoaSkgJiYgLTEgIT09IGkuam9pbigiIikuaW5kZXhPZigie3NlbGZ9IikgPyB0aGlzLl9zd2FwU2VsZkluUGFyYW1zKGkpIDogaSwgclt0ICsgIlNjb3BlIl0gPSBuKSwgIm9uVXBkYXRlIiA9PT0gdCAmJiAodGhpcy5fb25VcGRhdGUgPSBlKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMKICAgICAgICAgICAgfSwgcy5kZWxheSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRoaXMuX3RpbWVsaW5lLnNtb290aENoaWxkVGltaW5nICYmIHRoaXMuc3RhcnRUaW1lKHRoaXMuX3N0YXJ0VGltZSArIHQgLSB0aGlzLl9kZWxheSksIHRoaXMuX2RlbGF5ID0gdCwgdGhpcykgOiB0aGlzLl9kZWxheQogICAgICAgICAgICB9LCBzLmR1cmF0aW9uID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGhpcy5fZHVyYXRpb24gPSB0aGlzLl90b3RhbER1cmF0aW9uID0gdCwgdGhpcy5fdW5jYWNoZSghMCksIHRoaXMuX3RpbWVsaW5lLnNtb290aENoaWxkVGltaW5nICYmIDAgPCB0aGlzLl90aW1lICYmIHRoaXMuX3RpbWUgPCB0aGlzLl9kdXJhdGlvbiAmJiAwICE9PSB0ICYmIHRoaXMudG90YWxUaW1lKHRoaXMuX3RvdGFsVGltZSAqICh0IC8gdGhpcy5fZHVyYXRpb24pLCAhMCksIHRoaXMpIDogKHRoaXMuX2RpcnR5ID0gITEsIHRoaXMuX2R1cmF0aW9uKQogICAgICAgICAgICB9LCBzLnRvdGFsRHVyYXRpb24gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZGlydHkgPSAhMSwgYXJndW1lbnRzLmxlbmd0aCA/IHRoaXMuZHVyYXRpb24odCkgOiB0aGlzLl90b3RhbER1cmF0aW9uCiAgICAgICAgICAgIH0sIHMudGltZSA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRoaXMuX2RpcnR5ICYmIHRoaXMudG90YWxEdXJhdGlvbigpLCB0aGlzLnRvdGFsVGltZSh0ID4gdGhpcy5fZHVyYXRpb24gPyB0aGlzLl9kdXJhdGlvbiA6IHQsIGUpKSA6IHRoaXMuX3RpbWUKICAgICAgICAgICAgfSwgcy50b3RhbFRpbWUgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICBpZiAodiB8fCBtLndha2UoKSwgIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiB0aGlzLl90b3RhbFRpbWU7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5fdGltZWxpbmUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAodCA8IDAgJiYgIWkgJiYgKHQgKz0gdGhpcy50b3RhbER1cmF0aW9uKCkpLCB0aGlzLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZykgewogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9kaXJ0eSAmJiB0aGlzLnRvdGFsRHVyYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSB0aGlzLl90b3RhbER1cmF0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IHRoaXMuX3RpbWVsaW5lOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAobiA8IHQgJiYgIWkgJiYgKHQgPSBuKSwgdGhpcy5fc3RhcnRUaW1lID0gKHRoaXMuX3BhdXNlZCA/IHRoaXMuX3BhdXNlVGltZSA6IHIuX3RpbWUpIC0gKHRoaXMuX3JldmVyc2VkID8gbiAtIHQgOiB0KSAvIHRoaXMuX3RpbWVTY2FsZSwgci5fZGlydHkgfHwgdGhpcy5fdW5jYWNoZSghMSksIHIuX3RpbWVsaW5lKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICg7IHIuX3RpbWVsaW5lOykgci5fdGltZWxpbmUuX3RpbWUgIT09IChyLl9zdGFydFRpbWUgKyByLl90b3RhbFRpbWUpIC8gci5fdGltZVNjYWxlICYmIHIudG90YWxUaW1lKHIuX3RvdGFsVGltZSwgITApLCByID0gci5fdGltZWxpbmUKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2MgJiYgdGhpcy5fZW5hYmxlZCghMCwgITEpLCAodGhpcy5fdG90YWxUaW1lICE9PSB0IHx8IDAgPT09IHRoaXMuX2R1cmF0aW9uKSAmJiAoRi5sZW5ndGggJiYgJCgpLCB0aGlzLnJlbmRlcih0LCBlLCAhMSksIEYubGVuZ3RoICYmICQoKSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzCiAgICAgICAgICAgIH0sIHMucHJvZ3Jlc3MgPSBzLnRvdGFsUHJvZ3Jlc3MgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IHRoaXMuZHVyYXRpb24oKTsKICAgICAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gdGhpcy50b3RhbFRpbWUoaSAqIHQsIGUpIDogaSA/IHRoaXMuX3RpbWUgLyBpIDogdGhpcy5yYXRpbwogICAgICAgICAgICB9LCBzLnN0YXJ0VGltZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHQgIT09IHRoaXMuX3N0YXJ0VGltZSAmJiAodGhpcy5fc3RhcnRUaW1lID0gdCwgdGhpcy50aW1lbGluZSAmJiB0aGlzLnRpbWVsaW5lLl9zb3J0Q2hpbGRyZW4gJiYgdGhpcy50aW1lbGluZS5hZGQodGhpcywgdCAtIHRoaXMuX2RlbGF5KSksIHRoaXMpIDogdGhpcy5fc3RhcnRUaW1lCiAgICAgICAgICAgIH0sIHMuZW5kVGltZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9zdGFydFRpbWUgKyAoMCAhPSB0ID8gdGhpcy50b3RhbER1cmF0aW9uKCkgOiB0aGlzLmR1cmF0aW9uKCkpIC8gdGhpcy5fdGltZVNjYWxlCiAgICAgICAgICAgIH0sIHMudGltZVNjYWxlID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gdGhpcy5fdGltZVNjYWxlOwogICAgICAgICAgICAgICAgaWYgKHQgPSB0IHx8IHgsIHRoaXMuX3RpbWVsaW5lICYmIHRoaXMuX3RpbWVsaW5lLnNtb290aENoaWxkVGltaW5nKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLl9wYXVzZVRpbWUsCiAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBlIHx8IDAgPT09IGUgPyBlIDogdGhpcy5fdGltZWxpbmUudG90YWxUaW1lKCk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gaSAtIChpIC0gdGhpcy5fc3RhcnRUaW1lKSAqIHRoaXMuX3RpbWVTY2FsZSAvIHQKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl90aW1lU2NhbGUgPSB0LCB0aGlzLl91bmNhY2hlKCExKQogICAgICAgICAgICB9LCBzLnJldmVyc2VkID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodCAhPSB0aGlzLl9yZXZlcnNlZCAmJiAodGhpcy5fcmV2ZXJzZWQgPSB0LCB0aGlzLnRvdGFsVGltZSh0aGlzLl90aW1lbGluZSAmJiAhdGhpcy5fdGltZWxpbmUuc21vb3RoQ2hpbGRUaW1pbmcgPyB0aGlzLnRvdGFsRHVyYXRpb24oKSAtIHRoaXMuX3RvdGFsVGltZSA6IHRoaXMuX3RvdGFsVGltZSwgITApKSwgdGhpcykgOiB0aGlzLl9yZXZlcnNlZAogICAgICAgICAgICB9LCBzLnBhdXNlZCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIHRoaXMuX3BhdXNlZDsKICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuID0gdGhpcy5fdGltZWxpbmU7CiAgICAgICAgICAgICAgICByZXR1cm4gdCAhPSB0aGlzLl9wYXVzZWQgJiYgbiAmJiAodiB8fCB0IHx8IG0ud2FrZSgpLCBpID0gKGUgPSBuLnJhd1RpbWUoKSkgLSB0aGlzLl9wYXVzZVRpbWUsICF0ICYmIG4uc21vb3RoQ2hpbGRUaW1pbmcgJiYgKHRoaXMuX3N0YXJ0VGltZSArPSBpLCB0aGlzLl91bmNhY2hlKCExKSksIHRoaXMuX3BhdXNlVGltZSA9IHQgPyBlIDogbnVsbCwgdGhpcy5fcGF1c2VkID0gdCwgdGhpcy5fYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSgpLCAhdCAmJiAwICE9PSBpICYmIHRoaXMuX2luaXR0ZWQgJiYgdGhpcy5kdXJhdGlvbigpICYmIChlID0gbi5zbW9vdGhDaGlsZFRpbWluZyA/IHRoaXMuX3RvdGFsVGltZSA6IChlIC0gdGhpcy5fc3RhcnRUaW1lKSAvIHRoaXMuX3RpbWVTY2FsZSwgdGhpcy5yZW5kZXIoZSwgZSA9PT0gdGhpcy5fdG90YWxUaW1lLCAhMCkpKSwgdGhpcy5fZ2MgJiYgIXQgJiYgdGhpcy5fZW5hYmxlZCghMCwgITEpLCB0aGlzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHZhciBEID0gZigiY29yZS5TaW1wbGVUaW1lbGluZSIsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHUuY2FsbCh0aGlzLCAwLCB0KSwgdGhpcy5hdXRvUmVtb3ZlQ2hpbGRyZW4gPSB0aGlzLnNtb290aENoaWxkVGltaW5nID0gITAKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIChzID0gRC5wcm90b3R5cGUgPSBuZXcgdSkuY29uc3RydWN0b3IgPSBELCBzLmtpbGwoKS5fZ2MgPSAhMSwgcy5fZmlyc3QgPSBzLl9sYXN0ID0gcy5fcmVjZW50ID0gbnVsbCwgcy5fc29ydENoaWxkcmVuID0gITEsIHMuYWRkID0gcy5pbnNlcnQgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgICAgICB2YXIgciwgczsKICAgICAgICAgICAgICAgIGlmICh0Ll9zdGFydFRpbWUgPSBOdW1iZXIoZSB8fCAwKSArIHQuX2RlbGF5LCB0Ll9wYXVzZWQgJiYgdGhpcyAhPT0gdC5fdGltZWxpbmUgJiYgKHQuX3BhdXNlVGltZSA9IHQuX3N0YXJ0VGltZSArICh0aGlzLnJhd1RpbWUoKSAtIHQuX3N0YXJ0VGltZSkgLyB0Ll90aW1lU2NhbGUpLCB0LnRpbWVsaW5lICYmIHQudGltZWxpbmUuX3JlbW92ZSh0LCAhMCksIHQudGltZWxpbmUgPSB0Ll90aW1lbGluZSA9IHRoaXMsIHQuX2djICYmIHQuX2VuYWJsZWQoITAsICEwKSwgciA9IHRoaXMuX2xhc3QsIHRoaXMuX3NvcnRDaGlsZHJlbikKICAgICAgICAgICAgICAgICAgICBmb3IgKHMgPSB0Ll9zdGFydFRpbWU7IHIgJiYgci5fc3RhcnRUaW1lID4gczspIHIgPSByLl9wcmV2OwogICAgICAgICAgICAgICAgcmV0dXJuIHIgPyAodC5fbmV4dCA9IHIuX25leHQsIHIuX25leHQgPSB0KSA6ICh0Ll9uZXh0ID0gdGhpcy5fZmlyc3QsIHRoaXMuX2ZpcnN0ID0gdCksIHQuX25leHQgPyB0Ll9uZXh0Ll9wcmV2ID0gdCA6IHRoaXMuX2xhc3QgPSB0LCB0Ll9wcmV2ID0gciwgdGhpcy5fcmVjZW50ID0gdCwgdGhpcy5fdGltZWxpbmUgJiYgdGhpcy5fdW5jYWNoZSghMCksIHRoaXMKICAgICAgICAgICAgfSwgcy5fcmVtb3ZlID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHQudGltZWxpbmUgPT09IHRoaXMgJiYgKGUgfHwgdC5fZW5hYmxlZCghMSwgITApLCB0Ll9wcmV2ID8gdC5fcHJldi5fbmV4dCA9IHQuX25leHQgOiB0aGlzLl9maXJzdCA9PT0gdCAmJiAodGhpcy5fZmlyc3QgPSB0Ll9uZXh0KSwgdC5fbmV4dCA/IHQuX25leHQuX3ByZXYgPSB0Ll9wcmV2IDogdGhpcy5fbGFzdCA9PT0gdCAmJiAodGhpcy5fbGFzdCA9IHQuX3ByZXYpLCB0Ll9uZXh0ID0gdC5fcHJldiA9IHQudGltZWxpbmUgPSBudWxsLCB0ID09PSB0aGlzLl9yZWNlbnQgJiYgKHRoaXMuX3JlY2VudCA9IHRoaXMuX2xhc3QpLCB0aGlzLl90aW1lbGluZSAmJiB0aGlzLl91bmNhY2hlKCEwKSksIHRoaXMKICAgICAgICAgICAgfSwgcy5yZW5kZXIgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICB2YXIgbiwgciA9IHRoaXMuX2ZpcnN0OwogICAgICAgICAgICAgICAgZm9yICh0aGlzLl90b3RhbFRpbWUgPSB0aGlzLl90aW1lID0gdGhpcy5fcmF3UHJldlRpbWUgPSB0OyByOykgbiA9IHIuX25leHQsIChyLl9hY3RpdmUgfHwgdCA+PSByLl9zdGFydFRpbWUgJiYgIXIuX3BhdXNlZCkgJiYgKHIuX3JldmVyc2VkID8gci5yZW5kZXIoKHIuX2RpcnR5ID8gci50b3RhbER1cmF0aW9uKCkgOiByLl90b3RhbER1cmF0aW9uKSAtICh0IC0gci5fc3RhcnRUaW1lKSAqIHIuX3RpbWVTY2FsZSwgZSwgaSkgOiByLnJlbmRlcigodCAtIHIuX3N0YXJ0VGltZSkgKiByLl90aW1lU2NhbGUsIGUsIGkpKSwgciA9IG4KICAgICAgICAgICAgfSwgcy5yYXdUaW1lID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdiB8fCBtLndha2UoKSwgdGhpcy5fdG90YWxUaW1lCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHZhciBMID0gZigiVHdlZW5MaXRlIiwgZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgICAgICAgIGlmICh1LmNhbGwodGhpcywgZSwgaSksIHRoaXMucmVuZGVyID0gTC5wcm90b3R5cGUucmVuZGVyLCBudWxsID09IHQpIHRocm93ICJDYW5ub3QgdHdlZW4gYSBudWxsIHRhcmdldC4iOwogICAgICAgICAgICAgICAgICAgIHRoaXMudGFyZ2V0ID0gdCA9ICJzdHJpbmciICE9IHR5cGVvZiB0ID8gdCA6IEwuc2VsZWN0b3IodCkgfHwgdDsKICAgICAgICAgICAgICAgICAgICB2YXIgbiwgciwgcywgYSA9IHQuanF1ZXJ5IHx8IHQubGVuZ3RoICYmIHQgIT09IGMgJiYgdFswXSAmJiAodFswXSA9PT0gYyB8fCB0WzBdLm5vZGVUeXBlICYmIHRbMF0uc3R5bGUgJiYgIXQubm9kZVR5cGUpLAogICAgICAgICAgICAgICAgICAgICAgICBvID0gdGhpcy52YXJzLm92ZXJ3cml0ZTsKICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fb3ZlcndyaXRlID0gbyA9IG51bGwgPT0gbyA/IHFbTC5kZWZhdWx0T3ZlcndyaXRlXSA6ICJudW1iZXIiID09IHR5cGVvZiBvID8gbyA+PiAwIDogcVtvXSwgKGEgfHwgdCBpbnN0YW5jZW9mIEFycmF5IHx8IHQucHVzaCAmJiBUKHQpKSAmJiAibnVtYmVyIiAhPSB0eXBlb2YgdFswXSkKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh0aGlzLl90YXJnZXRzID0gcyA9IGwodCksIHRoaXMuX3Byb3BMb29rdXAgPSBbXSwgdGhpcy5fc2libGluZ3MgPSBbXSwgbiA9IDA7IG4gPCBzLmxlbmd0aDsgbisrKShyID0gc1tuXSkgPyAic3RyaW5nIiAhPSB0eXBlb2YgciA/IHIubGVuZ3RoICYmIHIgIT09IGMgJiYgclswXSAmJiAoclswXSA9PT0gYyB8fCByWzBdLm5vZGVUeXBlICYmIHJbMF0uc3R5bGUgJiYgIXIubm9kZVR5cGUpID8gKHMuc3BsaWNlKG4tLSwgMSksIHRoaXMuX3RhcmdldHMgPSBzID0gcy5jb25jYXQobChyKSkpIDogKHRoaXMuX3NpYmxpbmdzW25dID0gSyhyLCB0aGlzLCAhMSksIDEgPT09IG8gJiYgMSA8IHRoaXMuX3NpYmxpbmdzW25dLmxlbmd0aCAmJiB0dChyLCB0aGlzLCBudWxsLCAxLCB0aGlzLl9zaWJsaW5nc1tuXSkpIDogInN0cmluZyIgPT0gdHlwZW9mKHIgPSBzW24tLV0gPSBMLnNlbGVjdG9yKHIpKSAmJiBzLnNwbGljZShuICsgMSwgMSkgOiBzLnNwbGljZShuLS0sIDEpOwogICAgICAgICAgICAgICAgICAgIGVsc2UgdGhpcy5fcHJvcExvb2t1cCA9IHt9LCB0aGlzLl9zaWJsaW5ncyA9IEsodCwgdGhpcywgITEpLCAxID09PSBvICYmIDEgPCB0aGlzLl9zaWJsaW5ncy5sZW5ndGggJiYgdHQodCwgdGhpcywgbnVsbCwgMSwgdGhpcy5fc2libGluZ3MpOwogICAgICAgICAgICAgICAgICAgICh0aGlzLnZhcnMuaW1tZWRpYXRlUmVuZGVyIHx8IDAgPT09IGUgJiYgMCA9PT0gdGhpcy5fZGVsYXkgJiYgITEgIT09IHRoaXMudmFycy5pbW1lZGlhdGVSZW5kZXIpICYmICh0aGlzLl90aW1lID0gLXgsIHRoaXMucmVuZGVyKE1hdGgubWluKDAsIC10aGlzLl9kZWxheSkpKQogICAgICAgICAgICAgICAgfSwgITApLAogICAgICAgICAgICAgICAgTiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdCAmJiB0Lmxlbmd0aCAmJiB0ICE9PSBjICYmIHRbMF0gJiYgKHRbMF0gPT09IGMgfHwgdFswXS5ub2RlVHlwZSAmJiB0WzBdLnN0eWxlICYmICF0Lm5vZGVUeXBlKQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgKHMgPSBMLnByb3RvdHlwZSA9IG5ldyB1KS5jb25zdHJ1Y3RvciA9IEwsIHMua2lsbCgpLl9nYyA9ICExLCBzLnJhdGlvID0gMCwgcy5fZmlyc3RQVCA9IHMuX3RhcmdldHMgPSBzLl9vdmVyd3JpdHRlblByb3BzID0gcy5fc3RhcnRBdCA9IG51bGwsIHMuX25vdGlmeVBsdWdpbnNPZkVuYWJsZWQgPSBzLl9sYXp5ID0gITEsIEwudmVyc2lvbiA9ICIxLjE5LjEiLCBMLmRlZmF1bHRFYXNlID0gcy5fZWFzZSA9IG5ldyBTKG51bGwsIG51bGwsIDEsIDEpLCBMLmRlZmF1bHRPdmVyd3JpdGUgPSAiYXV0byIsIEwudGlja2VyID0gbSwgTC5hdXRvU2xlZXAgPSAxMjAsIEwubGFnU21vb3RoaW5nID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgbS5sYWdTbW9vdGhpbmcodCwgZSkKICAgICAgICAgICAgfSwgTC5zZWxlY3RvciA9IGMuJCB8fCBjLmpRdWVyeSB8fCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IGMuJCB8fCBjLmpRdWVyeTsKICAgICAgICAgICAgICAgIHJldHVybiBlID8gKEwuc2VsZWN0b3IgPSBlKSh0KSA6IHZvaWQgMCA9PT0gbiA/IHQgOiBuLnF1ZXJ5U2VsZWN0b3JBbGwgPyBuLnF1ZXJ5U2VsZWN0b3JBbGwodCkgOiBuLmdldEVsZW1lbnRCeUlkKCIjIiA9PT0gdC5jaGFyQXQoMCkgPyB0LnN1YnN0cigxKSA6IHQpCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHZhciBGID0gW10sCiAgICAgICAgICAgICAgICBJID0ge30sCiAgICAgICAgICAgICAgICBYID0gLyg/OigtfC09fFwrPSk/XGQqXC4/XGQqKD86ZVtcLStdP1xkKyk/KVswLTldL2dpLAogICAgICAgICAgICAgICAgeiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBlLCBpID0gdGhpcy5fZmlyc3RQVDsgaTspIGUgPSBpLmJsb2IgPyAxID09PSB0ID8gdGhpcy5lbmQgOiB0ID8gdGhpcy5qb2luKCIiKSA6IHRoaXMuc3RhcnQgOiBpLmMgKiB0ICsgaS5zLCBpLm0gPyBlID0gaS5tKGUsIHRoaXMuX3RhcmdldCB8fCBpLnQpIDogZSA8IDFlLTYgJiYgLTFlLTYgPCBlICYmICFpLmJsb2IgJiYgKGUgPSAwKSwgaS5mID8gaS5mcCA/IGkudFtpLnBdKGkuZnAsIGUpIDogaS50W2kucF0oZSkgOiBpLnRbaS5wXSA9IGUsIGkgPSBpLl9uZXh0CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgQiA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgciwgcywgYSwgbywgbCwgaCwgdSwgcCA9IFtdLAogICAgICAgICAgICAgICAgICAgICAgICBmID0gMCwKICAgICAgICAgICAgICAgICAgICAgICAgYyA9ICIiLAogICAgICAgICAgICAgICAgICAgICAgICBkID0gMDsKICAgICAgICAgICAgICAgICAgICBmb3IgKHAuc3RhcnQgPSB0LCBwLmVuZCA9IGUsIHQgPSBwWzBdID0gdCArICIiLCBlID0gcFsxXSA9IGUgKyAiIiwgaSAmJiAoaShwKSwgdCA9IHBbMF0sIGUgPSBwWzFdKSwgcC5sZW5ndGggPSAwLCByID0gdC5tYXRjaChYKSB8fCBbXSwgcyA9IGUubWF0Y2goWCkgfHwgW10sIG4gJiYgKG4uX25leHQgPSBudWxsLCBuLmJsb2IgPSAxLCBwLl9maXJzdFBUID0gcC5fYXBwbHlQVCA9IG4pLCBsID0gcy5sZW5ndGgsIG8gPSAwOyBvIDwgbDsgbysrKSB1ID0gc1tvXSwgYyArPSAoaCA9IGUuc3Vic3RyKGYsIGUuaW5kZXhPZih1LCBmKSAtIGYpKSB8fCAhbyA/IGggOiAiLCIsIGYgKz0gaC5sZW5ndGgsIGQgPyBkID0gKGQgKyAxKSAlIDUgOiAicmdiYSgiID09PSBoLnN1YnN0cigtNSkgJiYgKGQgPSAxKSwgdSA9PT0gcltvXSB8fCByLmxlbmd0aCA8PSBvID8gYyArPSB1IDogKGMgJiYgKHAucHVzaChjKSwgYyA9ICIiKSwgYSA9IHBhcnNlRmxvYXQocltvXSksIHAucHVzaChhKSwgcC5fZmlyc3RQVCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgX25leHQ6IHAuX2ZpcnN0UFQsCiAgICAgICAgICAgICAgICAgICAgICAgIHQ6IHAsCiAgICAgICAgICAgICAgICAgICAgICAgIHA6IHAubGVuZ3RoIC0gMSwKICAgICAgICAgICAgICAgICAgICAgICAgczogYSwKICAgICAgICAgICAgICAgICAgICAgICAgYzogKCI9IiA9PT0gdS5jaGFyQXQoMSkgPyBwYXJzZUludCh1LmNoYXJBdCgwKSArICIxIiwgMTApICogcGFyc2VGbG9hdCh1LnN1YnN0cigyKSkgOiBwYXJzZUZsb2F0KHUpIC0gYSkgfHwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgZjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgbTogZCAmJiBkIDwgNCA/IE1hdGgucm91bmQgOiAwCiAgICAgICAgICAgICAgICAgICAgfSksIGYgKz0gdS5sZW5ndGg7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChjICs9IGUuc3Vic3RyKGYpKSAmJiBwLnB1c2goYyksIHAuc2V0UmF0aW8gPSB6LCBwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgaiA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIHIsIHMsIGEsIG8sIGwpIHsKICAgICAgICAgICAgICAgICAgICAiZnVuY3Rpb24iID09IHR5cGVvZiBuICYmIChuID0gbihsIHx8IDAsIHQpKTsKICAgICAgICAgICAgICAgICAgICB2YXIgaCA9IHR5cGVvZiB0W2VdLAogICAgICAgICAgICAgICAgICAgICAgICB1ID0gImZ1bmN0aW9uIiAhPT0gaCA/ICIiIDogZS5pbmRleE9mKCJzZXQiKSB8fCAiZnVuY3Rpb24iICE9IHR5cGVvZiB0WyJnZXQiICsgZS5zdWJzdHIoMyldID8gZSA6ICJnZXQiICsgZS5zdWJzdHIoMyksCiAgICAgICAgICAgICAgICAgICAgICAgIHAgPSAiZ2V0IiAhPT0gaSA/IGkgOiB1ID8gYSA/IHRbdV0oYSkgOiB0W3VdKCkgOiB0W2VdLAogICAgICAgICAgICAgICAgICAgICAgICBmID0gInN0cmluZyIgPT0gdHlwZW9mIG4gJiYgIj0iID09PSBuLmNoYXJBdCgxKSwKICAgICAgICAgICAgICAgICAgICAgICAgYyA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQ6IHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwOiBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgczogcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGY6ICJmdW5jdGlvbiIgPT09IGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZzogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG46IHIgfHwgZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG06IHMgPyAiZnVuY3Rpb24iID09IHR5cGVvZiBzID8gcyA6IE1hdGgucm91bmQgOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjOiBmID8gcGFyc2VJbnQobi5jaGFyQXQoMCkgKyAiMSIsIDEwKSAqIHBhcnNlRmxvYXQobi5zdWJzdHIoMikpIDogcGFyc2VGbG9hdChuKSAtIHAgfHwgMAogICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgIHJldHVybiAoIm51bWJlciIgIT0gdHlwZW9mIHAgfHwgIm51bWJlciIgIT0gdHlwZW9mIG4gJiYgIWYpICYmIChhIHx8IGlzTmFOKHApIHx8ICFmICYmIGlzTmFOKG4pIHx8ICJib29sZWFuIiA9PSB0eXBlb2YgcCB8fCAiYm9vbGVhbiIgPT0gdHlwZW9mIG4gPyAoYy5mcCA9IGEsIGMgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHQ6IEIocCwgZiA/IGMucyArIGMuYyA6IG4sIG8gfHwgTC5kZWZhdWx0U3RyaW5nRmlsdGVyLCBjKSwKICAgICAgICAgICAgICAgICAgICAgICAgcDogInNldFJhdGlvIiwKICAgICAgICAgICAgICAgICAgICAgICAgczogMCwKICAgICAgICAgICAgICAgICAgICAgICAgYzogMSwKICAgICAgICAgICAgICAgICAgICAgICAgZjogMiwKICAgICAgICAgICAgICAgICAgICAgICAgcGc6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIG46IHIgfHwgZSwKICAgICAgICAgICAgICAgICAgICAgICAgcHI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIG06IDAKICAgICAgICAgICAgICAgICAgICB9KSA6IChjLnMgPSBwYXJzZUZsb2F0KHApLCBmIHx8IChjLmMgPSBwYXJzZUZsb2F0KG4pIC0gYy5zIHx8IDApKSksIGMuYyA/ICgoYy5fbmV4dCA9IHRoaXMuX2ZpcnN0UFQpICYmIChjLl9uZXh0Ll9wcmV2ID0gYyksIHRoaXMuX2ZpcnN0UFQgPSBjKSA6IHZvaWQgMAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFkgPSBMLl9pbnRlcm5hbHMgPSB7CiAgICAgICAgICAgICAgICAgICAgaXNBcnJheTogVCwKICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdG9yOiBOLAogICAgICAgICAgICAgICAgICAgIGxhenlUd2VlbnM6IEYsCiAgICAgICAgICAgICAgICAgICAgYmxvYkRpZjogQgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFYgPSBMLl9wbHVnaW5zID0ge30sCiAgICAgICAgICAgICAgICBHID0gWS50d2Vlbkxvb2t1cCA9IHt9LAogICAgICAgICAgICAgICAgVyA9IDAsCiAgICAgICAgICAgICAgICBVID0gWS5yZXNlcnZlZFByb3BzID0gewogICAgICAgICAgICAgICAgICAgIGVhc2U6IDEsCiAgICAgICAgICAgICAgICAgICAgZGVsYXk6IDEsCiAgICAgICAgICAgICAgICAgICAgb3ZlcndyaXRlOiAxLAogICAgICAgICAgICAgICAgICAgIG9uQ29tcGxldGU6IDEsCiAgICAgICAgICAgICAgICAgICAgb25Db21wbGV0ZVBhcmFtczogMSwKICAgICAgICAgICAgICAgICAgICBvbkNvbXBsZXRlU2NvcGU6IDEsCiAgICAgICAgICAgICAgICAgICAgdXNlRnJhbWVzOiAxLAogICAgICAgICAgICAgICAgICAgIHJ1bkJhY2t3YXJkczogMSwKICAgICAgICAgICAgICAgICAgICBzdGFydEF0OiAxLAogICAgICAgICAgICAgICAgICAgIG9uVXBkYXRlOiAxLAogICAgICAgICAgICAgICAgICAgIG9uVXBkYXRlUGFyYW1zOiAxLAogICAgICAgICAgICAgICAgICAgIG9uVXBkYXRlU2NvcGU6IDEsCiAgICAgICAgICAgICAgICAgICAgb25TdGFydDogMSwKICAgICAgICAgICAgICAgICAgICBvblN0YXJ0UGFyYW1zOiAxLAogICAgICAgICAgICAgICAgICAgIG9uU3RhcnRTY29wZTogMSwKICAgICAgICAgICAgICAgICAgICBvblJldmVyc2VDb21wbGV0ZTogMSwKICAgICAgICAgICAgICAgICAgICBvblJldmVyc2VDb21wbGV0ZVBhcmFtczogMSwKICAgICAgICAgICAgICAgICAgICBvblJldmVyc2VDb21wbGV0ZVNjb3BlOiAxLAogICAgICAgICAgICAgICAgICAgIG9uUmVwZWF0OiAxLAogICAgICAgICAgICAgICAgICAgIG9uUmVwZWF0UGFyYW1zOiAxLAogICAgICAgICAgICAgICAgICAgIG9uUmVwZWF0U2NvcGU6IDEsCiAgICAgICAgICAgICAgICAgICAgZWFzZVBhcmFtczogMSwKICAgICAgICAgICAgICAgICAgICB5b3lvOiAxLAogICAgICAgICAgICAgICAgICAgIGltbWVkaWF0ZVJlbmRlcjogMSwKICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IDEsCiAgICAgICAgICAgICAgICAgICAgcmVwZWF0RGVsYXk6IDEsCiAgICAgICAgICAgICAgICAgICAgZGF0YTogMSwKICAgICAgICAgICAgICAgICAgICBwYXVzZWQ6IDEsCiAgICAgICAgICAgICAgICAgICAgcmV2ZXJzZWQ6IDEsCiAgICAgICAgICAgICAgICAgICAgYXV0b0NTUzogMSwKICAgICAgICAgICAgICAgICAgICBsYXp5OiAxLAogICAgICAgICAgICAgICAgICAgIG9uT3ZlcndyaXRlOiAxLAogICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrU2NvcGU6IDEsCiAgICAgICAgICAgICAgICAgICAgc3RyaW5nRmlsdGVyOiAxLAogICAgICAgICAgICAgICAgICAgIGlkOiAxCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcSA9IHsKICAgICAgICAgICAgICAgICAgICBub25lOiAwLAogICAgICAgICAgICAgICAgICAgIGFsbDogMSwKICAgICAgICAgICAgICAgICAgICBhdXRvOiAyLAogICAgICAgICAgICAgICAgICAgIGNvbmN1cnJlbnQ6IDMsCiAgICAgICAgICAgICAgICAgICAgYWxsT25TdGFydDogNCwKICAgICAgICAgICAgICAgICAgICBwcmVleGlzdGluZzogNSwKICAgICAgICAgICAgICAgICAgICB0cnVlOiAxLAogICAgICAgICAgICAgICAgICAgIGZhbHNlOiAwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgUSA9IHUuX3Jvb3RGcmFtZXNUaW1lbGluZSA9IG5ldyBELAogICAgICAgICAgICAgICAgSCA9IHUuX3Jvb3RUaW1lbGluZSA9IG5ldyBELAogICAgICAgICAgICAgICAgWiA9IDMwLAogICAgICAgICAgICAgICAgJCA9IFkubGF6eVJlbmRlciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0LCBlID0gRi5sZW5ndGg7CiAgICAgICAgICAgICAgICAgICAgZm9yIChJID0ge307IC0gMSA8IC0tZTspKHQgPSBGW2VdKSAmJiAhMSAhPT0gdC5fbGF6eSAmJiAodC5yZW5kZXIodC5fbGF6eVswXSwgdC5fbGF6eVsxXSwgITApLCB0Ll9sYXp5ID0gITEpOwogICAgICAgICAgICAgICAgICAgIEYubGVuZ3RoID0gMAogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgSC5fc3RhcnRUaW1lID0gbS50aW1lLCBRLl9zdGFydFRpbWUgPSBtLmZyYW1lLCBILl9hY3RpdmUgPSBRLl9hY3RpdmUgPSAhMCwgc2V0VGltZW91dCgkLCAxKSwgdS5fdXBkYXRlUm9vdCA9IEwucmVuZGVyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCwgZSwgaTsKICAgICAgICAgICAgICAgIGlmIChGLmxlbmd0aCAmJiAkKCksIEgucmVuZGVyKChtLnRpbWUgLSBILl9zdGFydFRpbWUpICogSC5fdGltZVNjYWxlLCAhMSwgITEpLCBRLnJlbmRlcigobS5mcmFtZSAtIFEuX3N0YXJ0VGltZSkgKiBRLl90aW1lU2NhbGUsICExLCAhMSksIEYubGVuZ3RoICYmICQoKSwgbS5mcmFtZSA+PSBaKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yIChpIGluIFogPSBtLmZyYW1lICsgKHBhcnNlSW50KEwuYXV0b1NsZWVwLCAxMCkgfHwgMTIwKSwgRykgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHQgPSAoZSA9IEdbaV0udHdlZW5zKS5sZW5ndGg7IC0gMSA8IC0tdDspIGVbdF0uX2djICYmIGUuc3BsaWNlKHQsIDEpOwogICAgICAgICAgICAgICAgICAgICAgICAwID09PSBlLmxlbmd0aCAmJiBkZWxldGUgR1tpXQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAoKCEoaSA9IEguX2ZpcnN0KSB8fCBpLl9wYXVzZWQpICYmIEwuYXV0b1NsZWVwICYmICFRLl9maXJzdCAmJiAxID09PSBtLl9saXN0ZW5lcnMudGljay5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICg7IGkgJiYgaS5fcGF1c2VkOykgaSA9IGkuX25leHQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGkgfHwgbS5zbGVlcCgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCBtLmFkZEV2ZW50TGlzdGVuZXIoInRpY2siLCB1Ll91cGRhdGVSb290KTsKICAgICAgICAgICAgdmFyIEsgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4sIHIsIHMgPSB0Ll9nc1R3ZWVuSUQ7CiAgICAgICAgICAgICAgICAgICAgaWYgKEdbcyB8fCAodC5fZ3NUd2VlbklEID0gcyA9ICJ0IiArIFcrKyldIHx8IChHW3NdID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiB0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHdlZW5zOiBbXQogICAgICAgICAgICAgICAgICAgICAgICB9KSwgZSAmJiAoKG4gPSBHW3NdLnR3ZWVucylbciA9IG4ubGVuZ3RoXSA9IGUsIGkpKQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKDsgLSAxIDwgLS1yOykgbltyXSA9PT0gZSAmJiBuLnNwbGljZShyLCAxKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gR1tzXS50d2VlbnMKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBKID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgICAgIHZhciByLCBzLCBhID0gdC52YXJzLm9uT3ZlcndyaXRlOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBhICYmIChyID0gYSh0LCBlLCBpLCBuKSksIChhID0gTC5vbk92ZXJ3cml0ZSkgJiYgKHMgPSBhKHQsIGUsIGksIG4pKSwgITEgIT09IHIgJiYgITEgIT09IHMKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB0dCA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIHIpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcywgYSwgbywgbDsKICAgICAgICAgICAgICAgICAgICBpZiAoMSA9PT0gbiB8fCA0IDw9IG4pIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsID0gci5sZW5ndGgsIHMgPSAwOyBzIDwgbDsgcysrKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChvID0gcltzXSkgIT09IGUpIG8uX2djIHx8IG8uX2tpbGwobnVsbCwgdCwgZSkgJiYgKGEgPSAhMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICg1ID09PSBuKSBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgdmFyIGgsIHUgPSBlLl9zdGFydFRpbWUgKyB4LAogICAgICAgICAgICAgICAgICAgICAgICBwID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIGYgPSAwLAogICAgICAgICAgICAgICAgICAgICAgICBjID0gMCA9PT0gZS5fZHVyYXRpb247CiAgICAgICAgICAgICAgICAgICAgZm9yIChzID0gci5sZW5ndGg7IC0gMSA8IC0tczspKG8gPSByW3NdKSA9PT0gZSB8fCBvLl9nYyB8fCBvLl9wYXVzZWQgfHwgKG8uX3RpbWVsaW5lICE9PSBlLl90aW1lbGluZSA/IChoID0gaCB8fCBldChlLCAwLCBjKSwgMCA9PT0gZXQobywgaCwgYykgJiYgKHBbZisrXSA9IG8pKSA6IG8uX3N0YXJ0VGltZSA8PSB1ICYmIG8uX3N0YXJ0VGltZSArIG8udG90YWxEdXJhdGlvbigpIC8gby5fdGltZVNjYWxlID4gdSAmJiAoKGMgfHwgIW8uX2luaXR0ZWQpICYmIHUgLSBvLl9zdGFydFRpbWUgPD0gMmUtMTAgfHwgKHBbZisrXSA9IG8pKSk7CiAgICAgICAgICAgICAgICAgICAgZm9yIChzID0gZjsgLSAxIDwgLS1zOykKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG8gPSBwW3NdLCAyID09PSBuICYmIG8uX2tpbGwoaSwgdCwgZSkgJiYgKGEgPSAhMCksIDIgIT09IG4gfHwgIW8uX2ZpcnN0UFQgJiYgby5faW5pdHRlZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKDIgIT09IG4gJiYgIUoobywgZSkpIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgby5fZW5hYmxlZCghMSwgITEpICYmIChhID0gITApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gYQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGV0ID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIG4gPSB0Ll90aW1lbGluZSwgciA9IG4uX3RpbWVTY2FsZSwgcyA9IHQuX3N0YXJ0VGltZTsgbi5fdGltZWxpbmU7KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzICs9IG4uX3N0YXJ0VGltZSwgciAqPSBuLl90aW1lU2NhbGUsIG4uX3BhdXNlZCkgcmV0dXJuIC0xMDA7CiAgICAgICAgICAgICAgICAgICAgICAgIG4gPSBuLl90aW1lbGluZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZSA8IChzIC89IHIpID8gcyAtIGUgOiBpICYmIHMgPT09IGUgfHwgIXQuX2luaXR0ZWQgJiYgcyAtIGUgPCAyICogeCA/IHggOiAocyArPSB0LnRvdGFsRHVyYXRpb24oKSAvIHQuX3RpbWVTY2FsZSAvIHIpID4gZSArIHggPyAwIDogcyAtIGUgLSB4CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICBzLl9pbml0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgdCwgZSwgaSwgbiwgciwgcywgYSA9IHRoaXMudmFycywKICAgICAgICAgICAgICAgICAgICBvID0gdGhpcy5fb3ZlcndyaXR0ZW5Qcm9wcywKICAgICAgICAgICAgICAgICAgICBsID0gdGhpcy5fZHVyYXRpb24sCiAgICAgICAgICAgICAgICAgICAgaCA9ICEhYS5pbW1lZGlhdGVSZW5kZXIsCiAgICAgICAgICAgICAgICAgICAgdSA9IGEuZWFzZTsKICAgICAgICAgICAgICAgIGlmIChhLnN0YXJ0QXQpIHsKICAgICAgICAgICAgICAgICAgICBmb3IgKG4gaW4gdGhpcy5fc3RhcnRBdCAmJiAodGhpcy5fc3RhcnRBdC5yZW5kZXIoLTEsICEwKSwgdGhpcy5fc3RhcnRBdC5raWxsKCkpLCByID0ge30sIGEuc3RhcnRBdCkgcltuXSA9IGEuc3RhcnRBdFtuXTsKICAgICAgICAgICAgICAgICAgICBpZiAoci5vdmVyd3JpdGUgPSAhMSwgci5pbW1lZGlhdGVSZW5kZXIgPSAhMCwgci5sYXp5ID0gaCAmJiAhMSAhPT0gYS5sYXp5LCByLnN0YXJ0QXQgPSByLmRlbGF5ID0gbnVsbCwgdGhpcy5fc3RhcnRBdCA9IEwudG8odGhpcy50YXJnZXQsIDAsIHIpLCBoKQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoMCA8IHRoaXMuX3RpbWUpIHRoaXMuX3N0YXJ0QXQgPSBudWxsOwogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgwICE9PSBsKSByZXR1cm4KICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYS5ydW5CYWNrd2FyZHMgJiYgMCAhPT0gbCkKICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fc3RhcnRBdCkgdGhpcy5fc3RhcnRBdC5yZW5kZXIoLTEsICEwKSwgdGhpcy5fc3RhcnRBdC5raWxsKCksIHRoaXMuX3N0YXJ0QXQgPSBudWxsOwogICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKG4gaW4gMCAhPT0gdGhpcy5fdGltZSAmJiAoaCA9ICExKSwgaSA9IHt9LCBhKSBVW25dICYmICJhdXRvQ1NTIiAhPT0gbiB8fCAoaVtuXSA9IGFbbl0pOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaS5vdmVyd3JpdGUgPSAwLCBpLmRhdGEgPSAiaXNGcm9tU3RhcnQiLCBpLmxhenkgPSBoICYmICExICE9PSBhLmxhenksIGkuaW1tZWRpYXRlUmVuZGVyID0gaCwgdGhpcy5fc3RhcnRBdCA9IEwudG8odGhpcy50YXJnZXQsIDAsIGkpLCBoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoMCA9PT0gdGhpcy5fdGltZSkgcmV0dXJuCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB0aGlzLl9zdGFydEF0Ll9pbml0KCksIHRoaXMuX3N0YXJ0QXQuX2VuYWJsZWQoITEpLCB0aGlzLnZhcnMuaW1tZWRpYXRlUmVuZGVyICYmICh0aGlzLl9zdGFydEF0ID0gbnVsbCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAodGhpcy5fZWFzZSA9IHUgPSB1ID8gdSBpbnN0YW5jZW9mIFMgPyB1IDogImZ1bmN0aW9uIiA9PSB0eXBlb2YgdSA/IG5ldyBTKHUsIGEuZWFzZVBhcmFtcykgOiBPW3VdIHx8IEwuZGVmYXVsdEVhc2UgOiBMLmRlZmF1bHRFYXNlLCBhLmVhc2VQYXJhbXMgaW5zdGFuY2VvZiBBcnJheSAmJiB1LmNvbmZpZyAmJiAodGhpcy5fZWFzZSA9IHUuY29uZmlnLmFwcGx5KHUsIGEuZWFzZVBhcmFtcykpLCB0aGlzLl9lYXNlVHlwZSA9IHRoaXMuX2Vhc2UuX3R5cGUsIHRoaXMuX2Vhc2VQb3dlciA9IHRoaXMuX2Vhc2UuX3Bvd2VyLCB0aGlzLl9maXJzdFBUID0gbnVsbCwgdGhpcy5fdGFyZ2V0cykKICAgICAgICAgICAgICAgICAgICBmb3IgKHMgPSB0aGlzLl90YXJnZXRzLmxlbmd0aCwgdCA9IDA7IHQgPCBzOyB0KyspIHRoaXMuX2luaXRQcm9wcyh0aGlzLl90YXJnZXRzW3RdLCB0aGlzLl9wcm9wTG9va3VwW3RdID0ge30sIHRoaXMuX3NpYmxpbmdzW3RdLCBvID8gb1t0XSA6IG51bGwsIHQpICYmIChlID0gITApOwogICAgICAgICAgICAgICAgZWxzZSBlID0gdGhpcy5faW5pdFByb3BzKHRoaXMudGFyZ2V0LCB0aGlzLl9wcm9wTG9va3VwLCB0aGlzLl9zaWJsaW5ncywgbywgMCk7CiAgICAgICAgICAgICAgICBpZiAoZSAmJiBMLl9vblBsdWdpbkV2ZW50KCJfb25Jbml0QWxsUHJvcHMiLCB0aGlzKSwgbyAmJiAodGhpcy5fZmlyc3RQVCB8fCAiZnVuY3Rpb24iICE9IHR5cGVvZiB0aGlzLnRhcmdldCAmJiB0aGlzLl9lbmFibGVkKCExLCAhMSkpLCBhLnJ1bkJhY2t3YXJkcykKICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSB0aGlzLl9maXJzdFBUOyBpOykgaS5zICs9IGkuYywgaS5jID0gLWkuYywgaSA9IGkuX25leHQ7CiAgICAgICAgICAgICAgICB0aGlzLl9vblVwZGF0ZSA9IGEub25VcGRhdGUsIHRoaXMuX2luaXR0ZWQgPSAhMAogICAgICAgICAgICB9LCBzLl9pbml0UHJvcHMgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCByKSB7CiAgICAgICAgICAgICAgICB2YXIgcywgYSwgbywgbCwgaCwgdTsKICAgICAgICAgICAgICAgIGlmIChudWxsID09IHQpIHJldHVybiAhMTsKICAgICAgICAgICAgICAgIGZvciAocyBpbiBJW3QuX2dzVHdlZW5JRF0gJiYgJCgpLCB0aGlzLnZhcnMuY3NzIHx8IHQuc3R5bGUgJiYgdCAhPT0gYyAmJiB0Lm5vZGVUeXBlICYmIFYuY3NzICYmICExICE9PSB0aGlzLnZhcnMuYXV0b0NTUyAmJiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpLCBuID0ge307CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSBpbiB0KSBVW2ldIHx8IGkgaW4gZSAmJiAidHJhbnNmb3JtIiAhPT0gaSAmJiAieCIgIT09IGkgJiYgInkiICE9PSBpICYmICJ3aWR0aCIgIT09IGkgJiYgImhlaWdodCIgIT09IGkgJiYgImNsYXNzTmFtZSIgIT09IGkgJiYgImJvcmRlciIgIT09IGkgfHwgISghVltpXSB8fCBWW2ldICYmIFZbaV0uX2F1dG9DU1MpIHx8IChuW2ldID0gdFtpXSwgZGVsZXRlIHRbaV0pOwogICAgICAgICAgICAgICAgICAgICAgICB0LmNzcyA9IG4KICAgICAgICAgICAgICAgICAgICB9KHRoaXMudmFycywgdCksIHRoaXMudmFycykKICAgICAgICAgICAgICAgICAgICBpZiAodSA9IHRoaXMudmFyc1tzXSwgVVtzXSkgdSAmJiAodSBpbnN0YW5jZW9mIEFycmF5IHx8IHUucHVzaCAmJiBUKHUpKSAmJiAtMSAhPT0gdS5qb2luKCIiKS5pbmRleE9mKCJ7c2VsZn0iKSAmJiAodGhpcy52YXJzW3NdID0gdSA9IHRoaXMuX3N3YXBTZWxmSW5QYXJhbXModSwgdGhpcykpOwogICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKFZbc10gJiYgKGwgPSBuZXcgVltzXSkuX29uSW5pdFR3ZWVuKHQsIHRoaXMudmFyc1tzXSwgdGhpcywgcikpIHsKICAgICAgICAgICAgICAgICAgICBmb3IgKHRoaXMuX2ZpcnN0UFQgPSBoID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgX25leHQ6IHRoaXMuX2ZpcnN0UFQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0OiBsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcDogInNldFJhdGlvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHM6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG46IHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZzogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByOiBsLl9wcmlvcml0eSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG06IDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwgYSA9IGwuX292ZXJ3cml0ZVByb3BzLmxlbmd0aDsgLSAxIDwgLS1hOykgZVtsLl9vdmVyd3JpdGVQcm9wc1thXV0gPSB0aGlzLl9maXJzdFBUOwogICAgICAgICAgICAgICAgICAgIChsLl9wcmlvcml0eSB8fCBsLl9vbkluaXRBbGxQcm9wcykgJiYgKG8gPSAhMCksIChsLl9vbkRpc2FibGUgfHwgbC5fb25FbmFibGUpICYmICh0aGlzLl9ub3RpZnlQbHVnaW5zT2ZFbmFibGVkID0gITApLCBoLl9uZXh0ICYmIChoLl9uZXh0Ll9wcmV2ID0gaCkKICAgICAgICAgICAgICAgIH0gZWxzZSBlW3NdID0gai5jYWxsKHRoaXMsIHQsIHMsICJnZXQiLCB1LCBzLCAwLCBudWxsLCB0aGlzLnZhcnMuc3RyaW5nRmlsdGVyLCByKTsKICAgICAgICAgICAgICAgIHJldHVybiBuICYmIHRoaXMuX2tpbGwobiwgdCkgPyB0aGlzLl9pbml0UHJvcHModCwgZSwgaSwgbiwgcikgOiAxIDwgdGhpcy5fb3ZlcndyaXRlICYmIHRoaXMuX2ZpcnN0UFQgJiYgMSA8IGkubGVuZ3RoICYmIHR0KHQsIHRoaXMsIGUsIHRoaXMuX292ZXJ3cml0ZSwgaSkgPyAodGhpcy5fa2lsbChlLCB0KSwgdGhpcy5faW5pdFByb3BzKHQsIGUsIGksIG4sIHIpKSA6ICh0aGlzLl9maXJzdFBUICYmICghMSAhPT0gdGhpcy52YXJzLmxhenkgJiYgdGhpcy5fZHVyYXRpb24gfHwgdGhpcy52YXJzLmxhenkgJiYgIXRoaXMuX2R1cmF0aW9uKSAmJiAoSVt0Ll9nc1R3ZWVuSURdID0gITApLCBvKQogICAgICAgICAgICB9LCBzLnJlbmRlciA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgIHZhciBuLCByLCBzLCBhLCBvID0gdGhpcy5fdGltZSwKICAgICAgICAgICAgICAgICAgICBsID0gdGhpcy5fZHVyYXRpb24sCiAgICAgICAgICAgICAgICAgICAgaCA9IHRoaXMuX3Jhd1ByZXZUaW1lOwogICAgICAgICAgICAgICAgaWYgKGwgLSAxZS03IDw9IHQgJiYgMCA8PSB0KSB0aGlzLl90b3RhbFRpbWUgPSB0aGlzLl90aW1lID0gbCwgdGhpcy5yYXRpbyA9IHRoaXMuX2Vhc2UuX2NhbGNFbmQgPyB0aGlzLl9lYXNlLmdldFJhdGlvKDEpIDogMSwgdGhpcy5fcmV2ZXJzZWQgfHwgKG4gPSAhMCwgciA9ICJvbkNvbXBsZXRlIiwgaSA9IGkgfHwgdGhpcy5fdGltZWxpbmUuYXV0b1JlbW92ZUNoaWxkcmVuKSwgMCA9PT0gbCAmJiAodGhpcy5faW5pdHRlZCB8fCAhdGhpcy52YXJzLmxhenkgfHwgaSkgJiYgKHRoaXMuX3N0YXJ0VGltZSA9PT0gdGhpcy5fdGltZWxpbmUuX2R1cmF0aW9uICYmICh0ID0gMCksIChoIDwgMCB8fCB0IDw9IDAgJiYgLTFlLTcgPD0gdCB8fCBoID09PSB4ICYmICJpc1BhdXNlIiAhPT0gdGhpcy5kYXRhKSAmJiBoICE9PSB0ICYmIChpID0gITAsIHggPCBoICYmIChyID0gIm9uUmV2ZXJzZUNvbXBsZXRlIikpLCB0aGlzLl9yYXdQcmV2VGltZSA9IGEgPSAhZSB8fCB0IHx8IGggPT09IHQgPyB0IDogeCk7CiAgICAgICAgICAgICAgICBlbHNlIGlmICh0IDwgMWUtNykgdGhpcy5fdG90YWxUaW1lID0gdGhpcy5fdGltZSA9IDAsIHRoaXMucmF0aW8gPSB0aGlzLl9lYXNlLl9jYWxjRW5kID8gdGhpcy5fZWFzZS5nZXRSYXRpbygwKSA6IDAsICgwICE9PSBvIHx8IDAgPT09IGwgJiYgMCA8IGgpICYmIChyID0gIm9uUmV2ZXJzZUNvbXBsZXRlIiwgbiA9IHRoaXMuX3JldmVyc2VkKSwgdCA8IDAgJiYgKHRoaXMuX2FjdGl2ZSA9ICExLCAwID09PSBsICYmICh0aGlzLl9pbml0dGVkIHx8ICF0aGlzLnZhcnMubGF6eSB8fCBpKSAmJiAoMCA8PSBoICYmIChoICE9PSB4IHx8ICJpc1BhdXNlIiAhPT0gdGhpcy5kYXRhKSAmJiAoaSA9ICEwKSwgdGhpcy5fcmF3UHJldlRpbWUgPSBhID0gIWUgfHwgdCB8fCBoID09PSB0ID8gdCA6IHgpKSwgdGhpcy5faW5pdHRlZCB8fCAoaSA9ICEwKTsKICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuX3RvdGFsVGltZSA9IHRoaXMuX3RpbWUgPSB0LCB0aGlzLl9lYXNlVHlwZSkgewogICAgICAgICAgICAgICAgICAgIHZhciB1ID0gdCAvIGwsCiAgICAgICAgICAgICAgICAgICAgICAgIHAgPSB0aGlzLl9lYXNlVHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgZiA9IHRoaXMuX2Vhc2VQb3dlcjsKICAgICAgICAgICAgICAgICAgICAoMSA9PT0gcCB8fCAzID09PSBwICYmIC41IDw9IHUpICYmICh1ID0gMSAtIHUpLCAzID09PSBwICYmICh1ICo9IDIpLCAxID09PSBmID8gdSAqPSB1IDogMiA9PT0gZiA/IHUgKj0gdSAqIHUgOiAzID09PSBmID8gdSAqPSB1ICogdSAqIHUgOiA0ID09PSBmICYmICh1ICo9IHUgKiB1ICogdSAqIHUpLCB0aGlzLnJhdGlvID0gMSA9PT0gcCA/IDEgLSB1IDogMiA9PT0gcCA/IHUgOiB0IC8gbCA8IC41ID8gdSAvIDIgOiAxIC0gdSAvIDIKICAgICAgICAgICAgICAgIH0gZWxzZSB0aGlzLnJhdGlvID0gdGhpcy5fZWFzZS5nZXRSYXRpbyh0IC8gbCk7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5fdGltZSAhPT0gbyB8fCBpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9pbml0dGVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9pbml0KCksICF0aGlzLl9pbml0dGVkIHx8IHRoaXMuX2djKSByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaSAmJiB0aGlzLl9maXJzdFBUICYmICghMSAhPT0gdGhpcy52YXJzLmxhenkgJiYgdGhpcy5fZHVyYXRpb24gfHwgdGhpcy52YXJzLmxhenkgJiYgIXRoaXMuX2R1cmF0aW9uKSkgcmV0dXJuIHRoaXMuX3RpbWUgPSB0aGlzLl90b3RhbFRpbWUgPSBvLCB0aGlzLl9yYXdQcmV2VGltZSA9IGgsIEYucHVzaCh0aGlzKSwgdm9pZCh0aGlzLl9sYXp5ID0gW3QsIGVdKTsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGltZSAmJiAhbiA/IHRoaXMucmF0aW8gPSB0aGlzLl9lYXNlLmdldFJhdGlvKHRoaXMuX3RpbWUgLyBsKSA6IG4gJiYgdGhpcy5fZWFzZS5fY2FsY0VuZCAmJiAodGhpcy5yYXRpbyA9IHRoaXMuX2Vhc2UuZ2V0UmF0aW8oMCA9PT0gdGhpcy5fdGltZSA/IDAgOiAxKSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZm9yICghMSAhPT0gdGhpcy5fbGF6eSAmJiAodGhpcy5fbGF6eSA9ICExKSwgdGhpcy5fYWN0aXZlIHx8ICF0aGlzLl9wYXVzZWQgJiYgdGhpcy5fdGltZSAhPT0gbyAmJiAwIDw9IHQgJiYgKHRoaXMuX2FjdGl2ZSA9ICEwKSwgMCA9PT0gbyAmJiAodGhpcy5fc3RhcnRBdCAmJiAoMCA8PSB0ID8gdGhpcy5fc3RhcnRBdC5yZW5kZXIodCwgZSwgaSkgOiByIHx8IChyID0gIl9kdW1teUdTIikpLCB0aGlzLnZhcnMub25TdGFydCAmJiAoMCAhPT0gdGhpcy5fdGltZSB8fCAwID09PSBsKSAmJiAoZSB8fCB0aGlzLl9jYWxsYmFjaygib25TdGFydCIpKSksIHMgPSB0aGlzLl9maXJzdFBUOyBzOykgcy5mID8gcy50W3MucF0ocy5jICogdGhpcy5yYXRpbyArIHMucykgOiBzLnRbcy5wXSA9IHMuYyAqIHRoaXMucmF0aW8gKyBzLnMsIHMgPSBzLl9uZXh0OwogICAgICAgICAgICAgICAgICAgIHRoaXMuX29uVXBkYXRlICYmICh0IDwgMCAmJiB0aGlzLl9zdGFydEF0ICYmIC0xZS00ICE9PSB0ICYmIHRoaXMuX3N0YXJ0QXQucmVuZGVyKHQsIGUsIGkpLCBlIHx8ICh0aGlzLl90aW1lICE9PSBvIHx8IG4gfHwgaSkgJiYgdGhpcy5fY2FsbGJhY2soIm9uVXBkYXRlIikpLCByICYmICghdGhpcy5fZ2MgfHwgaSkgJiYgKHQgPCAwICYmIHRoaXMuX3N0YXJ0QXQgJiYgIXRoaXMuX29uVXBkYXRlICYmIC0xZS00ICE9PSB0ICYmIHRoaXMuX3N0YXJ0QXQucmVuZGVyKHQsIGUsIGkpLCBuICYmICh0aGlzLl90aW1lbGluZS5hdXRvUmVtb3ZlQ2hpbGRyZW4gJiYgdGhpcy5fZW5hYmxlZCghMSwgITEpLCB0aGlzLl9hY3RpdmUgPSAhMSksICFlICYmIHRoaXMudmFyc1tyXSAmJiB0aGlzLl9jYWxsYmFjayhyKSwgMCA9PT0gbCAmJiB0aGlzLl9yYXdQcmV2VGltZSA9PT0geCAmJiBhICE9PSB4ICYmICh0aGlzLl9yYXdQcmV2VGltZSA9IDApKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCBzLl9raWxsID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgICAgaWYgKCJhbGwiID09PSB0ICYmICh0ID0gbnVsbCksIG51bGwgPT0gdCAmJiAobnVsbCA9PSBlIHx8IGUgPT09IHRoaXMudGFyZ2V0KSkgcmV0dXJuIHRoaXMuX2xhenkgPSAhMSwgdGhpcy5fZW5hYmxlZCghMSwgITEpOwogICAgICAgICAgICAgICAgZSA9ICJzdHJpbmciICE9IHR5cGVvZiBlID8gZSB8fCB0aGlzLl90YXJnZXRzIHx8IHRoaXMudGFyZ2V0IDogTC5zZWxlY3RvcihlKSB8fCBlOwogICAgICAgICAgICAgICAgdmFyIG4sIHIsIHMsIGEsIG8sIGwsIGgsIHUsIHAsIGYgPSBpICYmIHRoaXMuX3RpbWUgJiYgaS5fc3RhcnRUaW1lID09PSB0aGlzLl9zdGFydFRpbWUgJiYgdGhpcy5fdGltZWxpbmUgPT09IGkuX3RpbWVsaW5lOwogICAgICAgICAgICAgICAgaWYgKChUKGUpIHx8IE4oZSkpICYmICJudW1iZXIiICE9IHR5cGVvZiBlWzBdKQogICAgICAgICAgICAgICAgICAgIGZvciAobiA9IGUubGVuZ3RoOyAtIDEgPCAtLW47KSB0aGlzLl9raWxsKHQsIGVbbl0sIGkpICYmIChsID0gITApOwogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX3RhcmdldHMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChuID0gdGhpcy5fdGFyZ2V0cy5sZW5ndGg7IC0gMSA8IC0tbjspCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZSA9PT0gdGhpcy5fdGFyZ2V0c1tuXSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8gPSB0aGlzLl9wcm9wTG9va3VwW25dIHx8IHt9LCB0aGlzLl9vdmVyd3JpdHRlblByb3BzID0gdGhpcy5fb3ZlcndyaXR0ZW5Qcm9wcyB8fCBbXSwgciA9IHRoaXMuX292ZXJ3cml0dGVuUHJvcHNbbl0gPSB0ID8gdGhpcy5fb3ZlcndyaXR0ZW5Qcm9wc1tuXSB8fCB7fSA6ICJhbGwiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUgIT09IHRoaXMudGFyZ2V0KSByZXR1cm4gITE7CiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSB0aGlzLl9wcm9wTG9va3VwLCByID0gdGhpcy5fb3ZlcndyaXR0ZW5Qcm9wcyA9IHQgPyB0aGlzLl9vdmVyd3JpdHRlblByb3BzIHx8IHt9IDogImFsbCIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaWYgKG8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGggPSB0IHx8IG8sIHUgPSB0ICE9PSByICYmICJhbGwiICE9PSByICYmIHQgIT09IG8gJiYgKCJvYmplY3QiICE9IHR5cGVvZiB0IHx8ICF0Ll90ZW1wS2lsbCksIGkgJiYgKEwub25PdmVyd3JpdGUgfHwgdGhpcy52YXJzLm9uT3ZlcndyaXRlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChzIGluIGgpIG9bc10gJiYgKHAgfHwgKHAgPSBbXSksIHAucHVzaChzKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHAgfHwgIXQpICYmICFKKHRoaXMsIGksIGUsIHApKSByZXR1cm4gITEKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHMgaW4gaCkoYSA9IG9bc10pICYmIChmICYmIChhLmYgPyBhLnRbYS5wXShhLnMpIDogYS50W2EucF0gPSBhLnMsIGwgPSAhMCksIGEucGcgJiYgYS50Ll9raWxsKGgpICYmIChsID0gITApLCBhLnBnICYmIDAgIT09IGEudC5fb3ZlcndyaXRlUHJvcHMubGVuZ3RoIHx8IChhLl9wcmV2ID8gYS5fcHJldi5fbmV4dCA9IGEuX25leHQgOiBhID09PSB0aGlzLl9maXJzdFBUICYmICh0aGlzLl9maXJzdFBUID0gYS5fbmV4dCksIGEuX25leHQgJiYgKGEuX25leHQuX3ByZXYgPSBhLl9wcmV2KSwgYS5fbmV4dCA9IGEuX3ByZXYgPSBudWxsKSwgZGVsZXRlIG9bc10pLCB1ICYmIChyW3NdID0gMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLl9maXJzdFBUICYmIHRoaXMuX2luaXR0ZWQgJiYgdGhpcy5fZW5hYmxlZCghMSwgITEpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGwKICAgICAgICAgICAgfSwgcy5pbnZhbGlkYXRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbm90aWZ5UGx1Z2luc09mRW5hYmxlZCAmJiBMLl9vblBsdWdpbkV2ZW50KCJfb25EaXNhYmxlIiwgdGhpcyksIHRoaXMuX2ZpcnN0UFQgPSB0aGlzLl9vdmVyd3JpdHRlblByb3BzID0gdGhpcy5fc3RhcnRBdCA9IHRoaXMuX29uVXBkYXRlID0gbnVsbCwgdGhpcy5fbm90aWZ5UGx1Z2luc09mRW5hYmxlZCA9IHRoaXMuX2FjdGl2ZSA9IHRoaXMuX2xhenkgPSAhMSwgdGhpcy5fcHJvcExvb2t1cCA9IHRoaXMuX3RhcmdldHMgPyB7fSA6IFtdLCB1LnByb3RvdHlwZS5pbnZhbGlkYXRlLmNhbGwodGhpcyksIHRoaXMudmFycy5pbW1lZGlhdGVSZW5kZXIgJiYgKHRoaXMuX3RpbWUgPSAteCwgdGhpcy5yZW5kZXIoTWF0aC5taW4oMCwgLXRoaXMuX2RlbGF5KSkpLCB0aGlzCiAgICAgICAgICAgIH0sIHMuX2VuYWJsZWQgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICBpZiAodiB8fCBtLndha2UoKSwgdCAmJiB0aGlzLl9nYykgewogICAgICAgICAgICAgICAgICAgIHZhciBpLCBuID0gdGhpcy5fdGFyZ2V0czsKICAgICAgICAgICAgICAgICAgICBpZiAobikKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gbi5sZW5ndGg7IC0gMSA8IC0taTspIHRoaXMuX3NpYmxpbmdzW2ldID0gSyhuW2ldLCB0aGlzLCAhMCk7CiAgICAgICAgICAgICAgICAgICAgZWxzZSB0aGlzLl9zaWJsaW5ncyA9IEsodGhpcy50YXJnZXQsIHRoaXMsICEwKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIHUucHJvdG90eXBlLl9lbmFibGVkLmNhbGwodGhpcywgdCwgZSksICEoIXRoaXMuX25vdGlmeVBsdWdpbnNPZkVuYWJsZWQgfHwgIXRoaXMuX2ZpcnN0UFQpICYmIEwuX29uUGx1Z2luRXZlbnQodCA/ICJfb25FbmFibGUiIDogIl9vbkRpc2FibGUiLCB0aGlzKQogICAgICAgICAgICB9LCBMLnRvID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBMKHQsIGUsIGkpCiAgICAgICAgICAgIH0sIEwuZnJvbSA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgIHJldHVybiBpLnJ1bkJhY2t3YXJkcyA9ICEwLCBpLmltbWVkaWF0ZVJlbmRlciA9IDAgIT0gaS5pbW1lZGlhdGVSZW5kZXIsIG5ldyBMKHQsIGUsIGkpCiAgICAgICAgICAgIH0sIEwuZnJvbVRvID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgcmV0dXJuIG4uc3RhcnRBdCA9IGksIG4uaW1tZWRpYXRlUmVuZGVyID0gMCAhPSBuLmltbWVkaWF0ZVJlbmRlciAmJiAwICE9IGkuaW1tZWRpYXRlUmVuZGVyLCBuZXcgTCh0LCBlLCBuKQogICAgICAgICAgICB9LCBMLmRlbGF5ZWRDYWxsID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgcikgewogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBMKGUsIDAsIHsKICAgICAgICAgICAgICAgICAgICBkZWxheTogdCwKICAgICAgICAgICAgICAgICAgICBvbkNvbXBsZXRlOiBlLAogICAgICAgICAgICAgICAgICAgIG9uQ29tcGxldGVQYXJhbXM6IGksCiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tTY29wZTogbiwKICAgICAgICAgICAgICAgICAgICBvblJldmVyc2VDb21wbGV0ZTogZSwKICAgICAgICAgICAgICAgICAgICBvblJldmVyc2VDb21wbGV0ZVBhcmFtczogaSwKICAgICAgICAgICAgICAgICAgICBpbW1lZGlhdGVSZW5kZXI6ICExLAogICAgICAgICAgICAgICAgICAgIGxhenk6ICExLAogICAgICAgICAgICAgICAgICAgIHVzZUZyYW1lczogciwKICAgICAgICAgICAgICAgICAgICBvdmVyd3JpdGU6IDAKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0sIEwuc2V0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBMKHQsIDAsIGUpCiAgICAgICAgICAgIH0sIEwuZ2V0VHdlZW5zT2YgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICBpZiAobnVsbCA9PSB0KSByZXR1cm4gW107CiAgICAgICAgICAgICAgICB2YXIgaSwgbiwgciwgczsKICAgICAgICAgICAgICAgIGlmICh0ID0gInN0cmluZyIgIT0gdHlwZW9mIHQgPyB0IDogTC5zZWxlY3Rvcih0KSB8fCB0LCAoVCh0KSB8fCBOKHQpKSAmJiAibnVtYmVyIiAhPSB0eXBlb2YgdFswXSkgewogICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IHQubGVuZ3RoLCBuID0gW107IC0gMSA8IC0taTspIG4gPSBuLmNvbmNhdChMLmdldFR3ZWVuc09mKHRbaV0sIGUpKTsKICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSBuLmxlbmd0aDsgLSAxIDwgLS1pOykKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChzID0gbltpXSwgciA9IGk7IC0gMSA8IC0tcjspIHMgPT09IG5bcl0gJiYgbi5zcGxpY2UoaSwgMSkKICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IChuID0gSyh0KS5jb25jYXQoKSkubGVuZ3RoOyAtIDEgPCAtLWk7KShuW2ldLl9nYyB8fCBlICYmICFuW2ldLmlzQWN0aXZlKCkpICYmIG4uc3BsaWNlKGksIDEpOwogICAgICAgICAgICAgICAgcmV0dXJuIG4KICAgICAgICAgICAgfSwgTC5raWxsVHdlZW5zT2YgPSBMLmtpbGxEZWxheWVkQ2FsbHNUbyA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgICJvYmplY3QiID09IHR5cGVvZiBlICYmIChpID0gZSwgZSA9ICExKTsKICAgICAgICAgICAgICAgIGZvciAodmFyIG4gPSBMLmdldFR3ZWVuc09mKHQsIGUpLCByID0gbi5sZW5ndGg7IC0gMSA8IC0tcjspIG5bcl0uX2tpbGwoaSwgdCkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdmFyIGl0ID0gZigicGx1Z2lucy5Ud2VlblBsdWdpbiIsIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIHRoaXMuX292ZXJ3cml0ZVByb3BzID0gKHQgfHwgIiIpLnNwbGl0KCIsIiksIHRoaXMuX3Byb3BOYW1lID0gdGhpcy5fb3ZlcndyaXRlUHJvcHNbMF0sIHRoaXMuX3ByaW9yaXR5ID0gZSB8fCAwLCB0aGlzLl9zdXBlciA9IGl0LnByb3RvdHlwZQogICAgICAgICAgICB9LCAhMCk7CiAgICAgICAgICAgIGlmIChzID0gaXQucHJvdG90eXBlLCBpdC52ZXJzaW9uID0gIjEuMTkuMCIsIGl0LkFQSSA9IDIsIHMuX2ZpcnN0UFQgPSBudWxsLCBzLl9hZGRUd2VlbiA9IGosIHMuc2V0UmF0aW8gPSB6LCBzLl9raWxsID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlLCBpID0gdGhpcy5fb3ZlcndyaXRlUHJvcHMsCiAgICAgICAgICAgICAgICAgICAgICAgIG4gPSB0aGlzLl9maXJzdFBUOwogICAgICAgICAgICAgICAgICAgIGlmIChudWxsICE9IHRbdGhpcy5fcHJvcE5hbWVdKSB0aGlzLl9vdmVyd3JpdGVQcm9wcyA9IFtdOwogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChlID0gaS5sZW5ndGg7IC0gMSA8IC0tZTspIG51bGwgIT0gdFtpW2VdXSAmJiBpLnNwbGljZShlLCAxKTsKICAgICAgICAgICAgICAgICAgICBmb3IgKDsgbjspIG51bGwgIT0gdFtuLm5dICYmIChuLl9uZXh0ICYmIChuLl9uZXh0Ll9wcmV2ID0gbi5fcHJldiksIG4uX3ByZXYgPyAobi5fcHJldi5fbmV4dCA9IG4uX25leHQsIG4uX3ByZXYgPSBudWxsKSA6IHRoaXMuX2ZpcnN0UFQgPT09IG4gJiYgKHRoaXMuX2ZpcnN0UFQgPSBuLl9uZXh0KSksIG4gPSBuLl9uZXh0OwogICAgICAgICAgICAgICAgICAgIHJldHVybiAhMQogICAgICAgICAgICAgICAgfSwgcy5fbW9kID0gcy5fcm91bmRQcm9wcyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBlLCBpID0gdGhpcy5fZmlyc3RQVDsgaTspKGUgPSB0W3RoaXMuX3Byb3BOYW1lXSB8fCBudWxsICE9IGkubiAmJiB0W2kubi5zcGxpdCh0aGlzLl9wcm9wTmFtZSArICJfIikuam9pbigiIildKSAmJiAiZnVuY3Rpb24iID09IHR5cGVvZiBlICYmICgyID09PSBpLmYgPyBpLnQuX2FwcGx5UFQubSA9IGUgOiBpLm0gPSBlKSwgaSA9IGkuX25leHQKICAgICAgICAgICAgICAgIH0sIEwuX29uUGx1Z2luRXZlbnQgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGksIG4sIHIsIHMsIGEsIG8gPSBlLl9maXJzdFBUOwogICAgICAgICAgICAgICAgICAgIGlmICgiX29uSW5pdEFsbFByb3BzIiA9PT0gdCkgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKDsgbzspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoYSA9IG8uX25leHQsIG4gPSByOyBuICYmIG4ucHIgPiBvLnByOykgbiA9IG4uX25leHQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoby5fcHJldiA9IG4gPyBuLl9wcmV2IDogcykgPyBvLl9wcmV2Ll9uZXh0ID0gbzogciA9IG8sIChvLl9uZXh0ID0gbikgPyBuLl9wcmV2ID0gbyA6IHMgPSBvLCBvID0gYQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSBlLl9maXJzdFBUID0gcgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmb3IgKDsgbzspIG8ucGcgJiYgImZ1bmN0aW9uIiA9PSB0eXBlb2Ygby50W3RdICYmIG8udFt0XSgpICYmIChpID0gITApLCBvID0gby5fbmV4dDsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gaQogICAgICAgICAgICAgICAgfSwgaXQuYWN0aXZhdGUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgZSA9IHQubGVuZ3RoOyAtIDEgPCAtLWU7KSB0W2VdLkFQSSA9PT0gaXQuQVBJICYmIChWWyhuZXcgdFtlXSkuX3Byb3BOYW1lXSA9IHRbZV0pOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAhMAogICAgICAgICAgICAgICAgfSwgYS5wbHVnaW4gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCAmJiB0LnByb3BOYW1lICYmIHQuaW5pdCAmJiB0LkFQSSkpIHRocm93ICJpbGxlZ2FsIHBsdWdpbiBkZWZpbml0aW9uLiI7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUsIGkgPSB0LnByb3BOYW1lLAogICAgICAgICAgICAgICAgICAgICAgICBuID0gdC5wcmlvcml0eSB8fCAwLAogICAgICAgICAgICAgICAgICAgICAgICByID0gdC5vdmVyd3JpdGVQcm9wcywKICAgICAgICAgICAgICAgICAgICAgICAgcyA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXQ6ICJfb25Jbml0VHdlZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0OiAic2V0UmF0aW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAga2lsbDogIl9raWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5kOiAiX21vZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2Q6ICJfbW9kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRBbGw6ICJfb25Jbml0QWxsUHJvcHMiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBmKCJwbHVnaW5zLiIgKyBpLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgaS5zdWJzdHIoMSkgKyAiUGx1Z2luIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdC5jYWxsKHRoaXMsIGksIG4pLCB0aGlzLl9vdmVyd3JpdGVQcm9wcyA9IHIgfHwgW10KICAgICAgICAgICAgICAgICAgICAgICAgfSwgITAgPT09IHQuZ2xvYmFsKSwKICAgICAgICAgICAgICAgICAgICAgICAgbyA9IGEucHJvdG90eXBlID0gbmV3IGl0KGkpOwogICAgICAgICAgICAgICAgICAgIGZvciAoZSBpbiAoby5jb25zdHJ1Y3RvciA9IGEpLkFQSSA9IHQuQVBJLCBzKSAiZnVuY3Rpb24iID09IHR5cGVvZiB0W2VdICYmIChvW3NbZV1dID0gdFtlXSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEudmVyc2lvbiA9IHQudmVyc2lvbiwgaXQuYWN0aXZhdGUoW2FdKSwgYQogICAgICAgICAgICAgICAgfSwgdCA9IGMuX2dzUXVldWUpIHsKICAgICAgICAgICAgICAgIGZvciAociA9IDA7IHIgPCB0Lmxlbmd0aDsgcisrKSB0W3JdKCk7CiAgICAgICAgICAgICAgICBmb3IgKHMgaW4gYikgYltzXS5mdW5jIHx8IGMuY29uc29sZS5sb2coIkdTQVAgZW5jb3VudGVyZWQgbWlzc2luZyBkZXBlbmRlbmN5OiAiICsgcykKICAgICAgICAgICAgfQogICAgICAgICAgICB2ID0gITEKICAgICAgICB9CiAgICB9KCJ1bmRlZmluZWQiICE9IHR5cGVvZiBtb2R1bGUgJiYgbW9kdWxlLmV4cG9ydHMgJiYgInVuZGVmaW5lZCIgIT0gdHlwZW9mIGdsb2JhbCA/IGdsb2JhbCA6IHRoaXMgfHwgd2luZG93LCAiVHdlZW5MaXRlIiksICgoX2dzU2NvcGUgPSAidW5kZWZpbmVkIiAhPSB0eXBlb2YgbW9kdWxlICYmIG1vZHVsZS5leHBvcnRzICYmICJ1bmRlZmluZWQiICE9IHR5cGVvZiBnbG9iYWwgPyBnbG9iYWwgOiB0aGlzIHx8IHdpbmRvdykuX2dzUXVldWUgfHwgKF9nc1Njb3BlLl9nc1F1ZXVlID0gW10pKS5wdXNoKGZ1bmN0aW9uKCkgewogICAgICAgICJ1c2Ugc3RyaWN0IjsKICAgICAgICBfZ3NTY29wZS5fZ3NEZWZpbmUoIlRpbWVsaW5lTGl0ZSIsIFsiY29yZS5BbmltYXRpb24iLCAiY29yZS5TaW1wbGVUaW1lbGluZSIsICJUd2VlbkxpdGUiXSwgZnVuY3Rpb24odSwgcCwgZikgewogICAgICAgICAgICB2YXIgYyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICBwLmNhbGwodGhpcywgdCksIHRoaXMuX2xhYmVscyA9IHt9LCB0aGlzLmF1dG9SZW1vdmVDaGlsZHJlbiA9ICEwID09PSB0aGlzLnZhcnMuYXV0b1JlbW92ZUNoaWxkcmVuLCB0aGlzLnNtb290aENoaWxkVGltaW5nID0gITAgPT09IHRoaXMudmFycy5zbW9vdGhDaGlsZFRpbWluZywgdGhpcy5fc29ydENoaWxkcmVuID0gITAsIHRoaXMuX29uVXBkYXRlID0gdGhpcy52YXJzLm9uVXBkYXRlOwogICAgICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuID0gdGhpcy52YXJzOwogICAgICAgICAgICAgICAgICAgIGZvciAoaSBpbiBuKSBlID0gbltpXSwgZyhlKSAmJiAtMSAhPT0gZS5qb2luKCIiKS5pbmRleE9mKCJ7c2VsZn0iKSAmJiAobltpXSA9IHRoaXMuX3N3YXBTZWxmSW5QYXJhbXMoZSkpOwogICAgICAgICAgICAgICAgICAgIGcobi50d2VlbnMpICYmIHRoaXMuYWRkKG4udHdlZW5zLCAwLCBuLmFsaWduLCBuLnN0YWdnZXIpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgZCA9IDFlLTEwLAogICAgICAgICAgICAgICAgdCA9IGYuX2ludGVybmFscywKICAgICAgICAgICAgICAgIGUgPSBjLl9pbnRlcm5hbHMgPSB7fSwKICAgICAgICAgICAgICAgIF8gPSB0LmlzU2VsZWN0b3IsCiAgICAgICAgICAgICAgICBnID0gdC5pc0FycmF5LAogICAgICAgICAgICAgICAgbSA9IHQubGF6eVR3ZWVucywKICAgICAgICAgICAgICAgIHYgPSB0LmxhenlSZW5kZXIsCiAgICAgICAgICAgICAgICB5ID0gW10sCiAgICAgICAgICAgICAgICBhID0gX2dzU2NvcGUuX2dzRGVmaW5lLmdsb2JhbHMsCiAgICAgICAgICAgICAgICB4ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlLCBpID0ge307CiAgICAgICAgICAgICAgICAgICAgZm9yIChlIGluIHQpIGlbZV0gPSB0W2VdOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcyA9IGUucGF1c2VDYWxsYmFjayA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgciwgcyA9IHQuX3RpbWVsaW5lLAogICAgICAgICAgICAgICAgICAgICAgICBhID0gcy5fdG90YWxUaW1lLAogICAgICAgICAgICAgICAgICAgICAgICBvID0gdC5fc3RhcnRUaW1lLAogICAgICAgICAgICAgICAgICAgICAgICBsID0gdC5fcmF3UHJldlRpbWUgPCAwIHx8IDAgPT09IHQuX3Jhd1ByZXZUaW1lICYmIHMuX3JldmVyc2VkLAogICAgICAgICAgICAgICAgICAgICAgICBoID0gbCA/IDAgOiBkLAogICAgICAgICAgICAgICAgICAgICAgICB1ID0gbCA/IGQgOiAwOwogICAgICAgICAgICAgICAgICAgIGlmIChlIHx8ICF0aGlzLl9mb3JjaW5nUGxheWhlYWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChzLnBhdXNlKG8pLCByID0gdC5fcHJldjsgciAmJiByLl9zdGFydFRpbWUgPT09IG87KSByLl9yYXdQcmV2VGltZSA9IHUsIHIgPSByLl9wcmV2OwogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHIgPSB0Ll9uZXh0OyByICYmIHIuX3N0YXJ0VGltZSA9PT0gbzspIHIuX3Jhd1ByZXZUaW1lID0gaCwgciA9IHIuX25leHQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGUgJiYgZS5hcHBseShuIHx8IHMudmFycy5jYWxsYmFja1Njb3BlIHx8IHMsIGkgfHwgeSksICh0aGlzLl9mb3JjaW5nUGxheWhlYWQgfHwgIXMuX3BhdXNlZCkgJiYgcy5zZWVrKGEpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHcgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUsIGkgPSBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgbiA9IHQubGVuZ3RoOwogICAgICAgICAgICAgICAgICAgIGZvciAoZSA9IDA7IGUgIT09IG47IGkucHVzaCh0W2UrK10pKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gaQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGkgPSBjLnByb3RvdHlwZSA9IG5ldyBwOwogICAgICAgICAgICByZXR1cm4gYy52ZXJzaW9uID0gIjEuMTcuMCIsIGkuY29uc3RydWN0b3IgPSBjLCBpLmtpbGwoKS5fZ2MgPSBpLl9mb3JjaW5nUGxheWhlYWQgPSAhMSwgaS50byA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgICAgIHZhciByID0gaS5yZXBlYXQgJiYgYS5Ud2Vlbk1heCB8fCBmOwogICAgICAgICAgICAgICAgcmV0dXJuIGUgPyB0aGlzLmFkZChuZXcgcih0LCBlLCBpKSwgbikgOiB0aGlzLnNldCh0LCBpLCBuKQogICAgICAgICAgICB9LCBpLmZyb20gPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hZGQoKGkucmVwZWF0ICYmIGEuVHdlZW5NYXggfHwgZikuZnJvbSh0LCBlLCBpKSwgbikKICAgICAgICAgICAgfSwgaS5mcm9tVG8gPSBmdW5jdGlvbih0LCBlLCBpLCBuLCByKSB7CiAgICAgICAgICAgICAgICB2YXIgcyA9IG4ucmVwZWF0ICYmIGEuVHdlZW5NYXggfHwgZjsKICAgICAgICAgICAgICAgIHJldHVybiBlID8gdGhpcy5hZGQocy5mcm9tVG8odCwgZSwgaSwgbiksIHIpIDogdGhpcy5zZXQodCwgbiwgcikKICAgICAgICAgICAgfSwgaS5zdGFnZ2VyVG8gPSBmdW5jdGlvbih0LCBlLCBpLCBuLCByLCBzLCBhLCBvKSB7CiAgICAgICAgICAgICAgICB2YXIgbCwgaCA9IG5ldyBjKHsKICAgICAgICAgICAgICAgICAgICBvbkNvbXBsZXRlOiBzLAogICAgICAgICAgICAgICAgICAgIG9uQ29tcGxldGVQYXJhbXM6IGEsCiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tTY29wZTogbywKICAgICAgICAgICAgICAgICAgICBzbW9vdGhDaGlsZFRpbWluZzogdGhpcy5zbW9vdGhDaGlsZFRpbWluZwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmb3IgKCJzdHJpbmciID09IHR5cGVvZiB0ICYmICh0ID0gZi5zZWxlY3Rvcih0KSB8fCB0KSwgXyh0ID0gdCB8fCBbXSkgJiYgKHQgPSB3KHQpKSwgKG4gPSBuIHx8IDApIDwgMCAmJiAoKHQgPSB3KHQpKS5yZXZlcnNlKCksIG4gKj0gLTEpLCBsID0gMDsgdC5sZW5ndGggPiBsOyBsKyspIGkuc3RhcnRBdCAmJiAoaS5zdGFydEF0ID0geChpLnN0YXJ0QXQpKSwgaC50byh0W2xdLCBlLCB4KGkpLCBsICogbik7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hZGQoaCwgcikKICAgICAgICAgICAgfSwgaS5zdGFnZ2VyRnJvbSA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIHIsIHMsIGEsIG8pIHsKICAgICAgICAgICAgICAgIHJldHVybiBpLmltbWVkaWF0ZVJlbmRlciA9IDAgIT0gaS5pbW1lZGlhdGVSZW5kZXIsIGkucnVuQmFja3dhcmRzID0gITAsIHRoaXMuc3RhZ2dlclRvKHQsIGUsIGksIG4sIHIsIHMsIGEsIG8pCiAgICAgICAgICAgIH0sIGkuc3RhZ2dlckZyb21UbyA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIHIsIHMsIGEsIG8sIGwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBuLnN0YXJ0QXQgPSBpLCBuLmltbWVkaWF0ZVJlbmRlciA9IDAgIT0gbi5pbW1lZGlhdGVSZW5kZXIgJiYgMCAhPSBpLmltbWVkaWF0ZVJlbmRlciwgdGhpcy5zdGFnZ2VyVG8odCwgZSwgbiwgciwgcywgYSwgbywgbCkKICAgICAgICAgICAgfSwgaS5jYWxsID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWRkKGYuZGVsYXllZENhbGwoMCwgdCwgZSwgaSksIG4pCiAgICAgICAgICAgIH0sIGkuc2V0ID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGkgPSB0aGlzLl9wYXJzZVRpbWVPckxhYmVsKGksIDAsICEwKSwgbnVsbCA9PSBlLmltbWVkaWF0ZVJlbmRlciAmJiAoZS5pbW1lZGlhdGVSZW5kZXIgPSBpID09PSB0aGlzLl90aW1lICYmICF0aGlzLl9wYXVzZWQpLCB0aGlzLmFkZChuZXcgZih0LCAwLCBlKSwgaSkKICAgICAgICAgICAgfSwgYy5leHBvcnRSb290ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgbnVsbCA9PSAodCA9IHQgfHwge30pLnNtb290aENoaWxkVGltaW5nICYmICh0LnNtb290aENoaWxkVGltaW5nID0gITApOwogICAgICAgICAgICAgICAgdmFyIGksIG4sIHIgPSBuZXcgYyh0KSwKICAgICAgICAgICAgICAgICAgICBzID0gci5fdGltZWxpbmU7CiAgICAgICAgICAgICAgICBmb3IgKG51bGwgPT0gZSAmJiAoZSA9ICEwKSwgcy5fcmVtb3ZlKHIsICEwKSwgci5fc3RhcnRUaW1lID0gMCwgci5fcmF3UHJldlRpbWUgPSByLl90aW1lID0gci5fdG90YWxUaW1lID0gcy5fdGltZSwgaSA9IHMuX2ZpcnN0OyBpOykgbiA9IGkuX25leHQsIGUgJiYgaSBpbnN0YW5jZW9mIGYgJiYgaS50YXJnZXQgPT09IGkudmFycy5vbkNvbXBsZXRlIHx8IHIuYWRkKGksIGkuX3N0YXJ0VGltZSAtIGkuX2RlbGF5KSwgaSA9IG47CiAgICAgICAgICAgICAgICByZXR1cm4gcy5hZGQociwgMCksIHIKICAgICAgICAgICAgfSwgaS5hZGQgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgICAgICB2YXIgciwgcywgYSwgbywgbCwgaDsKICAgICAgICAgICAgICAgIGlmICgibnVtYmVyIiAhPSB0eXBlb2YgZSAmJiAoZSA9IHRoaXMuX3BhcnNlVGltZU9yTGFiZWwoZSwgMCwgITAsIHQpKSwgISh0IGluc3RhbmNlb2YgdSkpIHsKICAgICAgICAgICAgICAgICAgICBpZiAodCBpbnN0YW5jZW9mIEFycmF5IHx8IHQgJiYgdC5wdXNoICYmIGcodCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gaSB8fCAibm9ybWFsIiwgbiA9IG4gfHwgMCwgciA9IGUsIHMgPSB0Lmxlbmd0aCwgYSA9IDA7IGEgPCBzOyBhKyspIGcobyA9IHRbYV0pICYmIChvID0gbmV3IGMoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHdlZW5zOiBvCiAgICAgICAgICAgICAgICAgICAgICAgIH0pKSwgdGhpcy5hZGQobywgciksICJzdHJpbmciICE9IHR5cGVvZiBvICYmICJmdW5jdGlvbiIgIT0gdHlwZW9mIG8gJiYgKCJzZXF1ZW5jZSIgPT09IGkgPyByID0gby5fc3RhcnRUaW1lICsgby50b3RhbER1cmF0aW9uKCkgLyBvLl90aW1lU2NhbGUgOiAic3RhcnQiID09PSBpICYmIChvLl9zdGFydFRpbWUgLT0gby5kZWxheSgpKSksIHIgKz0gbjsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3VuY2FjaGUoITApCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmICgic3RyaW5nIiA9PSB0eXBlb2YgdCkgcmV0dXJuIHRoaXMuYWRkTGFiZWwodCwgZSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCJmdW5jdGlvbiIgIT0gdHlwZW9mIHQpIHRocm93ICJDYW5ub3QgYWRkICIgKyB0ICsgIiBpbnRvIHRoZSB0aW1lbGluZTsgaXQgaXMgbm90IGEgdHdlZW4sIHRpbWVsaW5lLCBmdW5jdGlvbiwgb3Igc3RyaW5nLiI7CiAgICAgICAgICAgICAgICAgICAgdCA9IGYuZGVsYXllZENhbGwoMCwgdCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChwLnByb3RvdHlwZS5hZGQuY2FsbCh0aGlzLCB0LCBlKSwgKHRoaXMuX2djIHx8IHRoaXMuX3RpbWUgPT09IHRoaXMuX2R1cmF0aW9uKSAmJiAhdGhpcy5fcGF1c2VkICYmIHRoaXMuX2R1cmF0aW9uIDwgdGhpcy5kdXJhdGlvbigpKQogICAgICAgICAgICAgICAgICAgIGZvciAoaCA9IChsID0gdGhpcykucmF3VGltZSgpID4gdC5fc3RhcnRUaW1lOyBsLl90aW1lbGluZTspIGggJiYgbC5fdGltZWxpbmUuc21vb3RoQ2hpbGRUaW1pbmcgPyBsLnRvdGFsVGltZShsLl90b3RhbFRpbWUsICEwKSA6IGwuX2djICYmIGwuX2VuYWJsZWQoITAsICExKSwgbCA9IGwuX3RpbWVsaW5lOwogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMKICAgICAgICAgICAgfSwgaS5yZW1vdmUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBpZiAodCBpbnN0YW5jZW9mIHUpIHJldHVybiB0aGlzLl9yZW1vdmUodCwgITEpOwogICAgICAgICAgICAgICAgaWYgKHQgaW5zdGFuY2VvZiBBcnJheSB8fCB0ICYmIHQucHVzaCAmJiBnKHQpKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgZSA9IHQubGVuZ3RoOyAtIDEgPCAtLWU7KSB0aGlzLnJlbW92ZSh0W2VdKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuICJzdHJpbmciID09IHR5cGVvZiB0ID8gdGhpcy5yZW1vdmVMYWJlbCh0KSA6IHRoaXMua2lsbChudWxsLCB0KQogICAgICAgICAgICB9LCBpLl9yZW1vdmUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICBwLnByb3RvdHlwZS5fcmVtb3ZlLmNhbGwodGhpcywgdCwgZSk7CiAgICAgICAgICAgICAgICB2YXIgaSA9IHRoaXMuX2xhc3Q7CiAgICAgICAgICAgICAgICByZXR1cm4gaSA/IHRoaXMuX3RpbWUgPiBpLl9zdGFydFRpbWUgKyBpLl90b3RhbER1cmF0aW9uIC8gaS5fdGltZVNjYWxlICYmICh0aGlzLl90aW1lID0gdGhpcy5kdXJhdGlvbigpLCB0aGlzLl90b3RhbFRpbWUgPSB0aGlzLl90b3RhbER1cmF0aW9uKSA6IHRoaXMuX3RpbWUgPSB0aGlzLl90b3RhbFRpbWUgPSB0aGlzLl9kdXJhdGlvbiA9IHRoaXMuX3RvdGFsRHVyYXRpb24gPSAwLCB0aGlzCiAgICAgICAgICAgIH0sIGkuYXBwZW5kID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWRkKHQsIHRoaXMuX3BhcnNlVGltZU9yTGFiZWwobnVsbCwgZSwgITAsIHQpKQogICAgICAgICAgICB9LCBpLmluc2VydCA9IGkuaW5zZXJ0TXVsdGlwbGUgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hZGQodCwgZSB8fCAwLCBpLCBuKQogICAgICAgICAgICB9LCBpLmFwcGVuZE11bHRpcGxlID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWRkKHQsIHRoaXMuX3BhcnNlVGltZU9yTGFiZWwobnVsbCwgZSwgITAsIHQpLCBpLCBuKQogICAgICAgICAgICB9LCBpLmFkZExhYmVsID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2xhYmVsc1t0XSA9IHRoaXMuX3BhcnNlVGltZU9yTGFiZWwoZSksIHRoaXMKICAgICAgICAgICAgfSwgaS5hZGRQYXVzZSA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgICAgIHZhciByID0gZi5kZWxheWVkQ2FsbCgwLCBzLCBbIntzZWxmfSIsIGUsIGksIG5dLCB0aGlzKTsKICAgICAgICAgICAgICAgIHJldHVybiByLmRhdGEgPSAiaXNQYXVzZSIsIHRoaXMuYWRkKHIsIHQpCiAgICAgICAgICAgIH0sIGkucmVtb3ZlTGFiZWwgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZGVsZXRlIHRoaXMuX2xhYmVsc1t0XSwgdGhpcwogICAgICAgICAgICB9LCBpLmdldExhYmVsVGltZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsICE9IHRoaXMuX2xhYmVsc1t0XSA/IHRoaXMuX2xhYmVsc1t0XSA6IC0xCiAgICAgICAgICAgIH0sIGkuX3BhcnNlVGltZU9yTGFiZWwgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgICAgICB2YXIgcjsKICAgICAgICAgICAgICAgIGlmIChuIGluc3RhbmNlb2YgdSAmJiBuLnRpbWVsaW5lID09PSB0aGlzKSB0aGlzLnJlbW92ZShuKTsKICAgICAgICAgICAgICAgIGVsc2UgaWYgKG4gJiYgKG4gaW5zdGFuY2VvZiBBcnJheSB8fCBuLnB1c2ggJiYgZyhuKSkpCiAgICAgICAgICAgICAgICAgICAgZm9yIChyID0gbi5sZW5ndGg7IC0gMSA8IC0tcjspIG5bcl0gaW5zdGFuY2VvZiB1ICYmIG5bcl0udGltZWxpbmUgPT09IHRoaXMgJiYgdGhpcy5yZW1vdmUobltyXSk7CiAgICAgICAgICAgICAgICBpZiAoInN0cmluZyIgPT0gdHlwZW9mIGUpIHJldHVybiB0aGlzLl9wYXJzZVRpbWVPckxhYmVsKGUsIGkgJiYgIm51bWJlciIgPT0gdHlwZW9mIHQgJiYgbnVsbCA9PSB0aGlzLl9sYWJlbHNbZV0gPyB0IC0gdGhpcy5kdXJhdGlvbigpIDogMCwgaSk7CiAgICAgICAgICAgICAgICBpZiAoZSA9IGUgfHwgMCwgInN0cmluZyIgIT0gdHlwZW9mIHQgfHwgIWlzTmFOKHQpICYmIG51bGwgPT0gdGhpcy5fbGFiZWxzW3RdKSBudWxsID09IHQgJiYgKHQgPSB0aGlzLmR1cmF0aW9uKCkpOwogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKC0xID09PSAociA9IHQuaW5kZXhPZigiPSIpKSkgcmV0dXJuIG51bGwgPT0gdGhpcy5fbGFiZWxzW3RdID8gaSA/IHRoaXMuX2xhYmVsc1t0XSA9IHRoaXMuZHVyYXRpb24oKSArIGUgOiBlIDogdGhpcy5fbGFiZWxzW3RdICsgZTsKICAgICAgICAgICAgICAgICAgICBlID0gcGFyc2VJbnQodC5jaGFyQXQociAtIDEpICsgIjEiLCAxMCkgKiBOdW1iZXIodC5zdWJzdHIociArIDEpKSwgdCA9IDEgPCByID8gdGhpcy5fcGFyc2VUaW1lT3JMYWJlbCh0LnN1YnN0cigwLCByIC0gMSksIDAsIGkpIDogdGhpcy5kdXJhdGlvbigpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyKHQpICsgZQogICAgICAgICAgICB9LCBpLnNlZWsgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50b3RhbFRpbWUoIm51bWJlciIgPT0gdHlwZW9mIHQgPyB0IDogdGhpcy5fcGFyc2VUaW1lT3JMYWJlbCh0KSwgITEgIT09IGUpCiAgICAgICAgICAgIH0sIGkuc3RvcCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGF1c2VkKCEwKQogICAgICAgICAgICB9LCBpLmdvdG9BbmRQbGF5ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0LCBlKQogICAgICAgICAgICB9LCBpLmdvdG9BbmRTdG9wID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGF1c2UodCwgZSkKICAgICAgICAgICAgfSwgaS5yZW5kZXIgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICB0aGlzLl9nYyAmJiB0aGlzLl9lbmFibGVkKCEwLCAhMSk7CiAgICAgICAgICAgICAgICB2YXIgbiwgciwgcywgYSwgbywgbCA9IHRoaXMuX2RpcnR5ID8gdGhpcy50b3RhbER1cmF0aW9uKCkgOiB0aGlzLl90b3RhbER1cmF0aW9uLAogICAgICAgICAgICAgICAgICAgIGggPSB0aGlzLl90aW1lLAogICAgICAgICAgICAgICAgICAgIHUgPSB0aGlzLl9zdGFydFRpbWUsCiAgICAgICAgICAgICAgICAgICAgcCA9IHRoaXMuX3RpbWVTY2FsZSwKICAgICAgICAgICAgICAgICAgICBmID0gdGhpcy5fcGF1c2VkOwogICAgICAgICAgICAgICAgaWYgKGwgPD0gdCkgdGhpcy5fdG90YWxUaW1lID0gdGhpcy5fdGltZSA9IGwsIHRoaXMuX3JldmVyc2VkIHx8IHRoaXMuX2hhc1BhdXNlZENoaWxkKCkgfHwgKHIgPSAhMCwgYSA9ICJvbkNvbXBsZXRlIiwgbyA9ICEhdGhpcy5fdGltZWxpbmUuYXV0b1JlbW92ZUNoaWxkcmVuLCAwID09PSB0aGlzLl9kdXJhdGlvbiAmJiAoMCA9PT0gdCB8fCB0aGlzLl9yYXdQcmV2VGltZSA8IDAgfHwgdGhpcy5fcmF3UHJldlRpbWUgPT09IGQpICYmIHRoaXMuX3Jhd1ByZXZUaW1lICE9PSB0ICYmIHRoaXMuX2ZpcnN0ICYmIChvID0gITAsIHRoaXMuX3Jhd1ByZXZUaW1lID4gZCAmJiAoYSA9ICJvblJldmVyc2VDb21wbGV0ZSIpKSksIHRoaXMuX3Jhd1ByZXZUaW1lID0gdGhpcy5fZHVyYXRpb24gfHwgIWUgfHwgdCB8fCB0aGlzLl9yYXdQcmV2VGltZSA9PT0gdCA/IHQgOiBkLCB0ID0gbCArIDFlLTQ7CiAgICAgICAgICAgICAgICBlbHNlIGlmICh0IDwgMWUtNykKICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fdG90YWxUaW1lID0gdGhpcy5fdGltZSA9IDAsICgwICE9PSBoIHx8IDAgPT09IHRoaXMuX2R1cmF0aW9uICYmIHRoaXMuX3Jhd1ByZXZUaW1lICE9PSBkICYmICgwIDwgdGhpcy5fcmF3UHJldlRpbWUgfHwgdCA8IDAgJiYgMCA8PSB0aGlzLl9yYXdQcmV2VGltZSkpICYmIChhID0gIm9uUmV2ZXJzZUNvbXBsZXRlIiwgciA9IHRoaXMuX3JldmVyc2VkKSwgdCA8IDApIHRoaXMuX2FjdGl2ZSA9ICExLCB0aGlzLl90aW1lbGluZS5hdXRvUmVtb3ZlQ2hpbGRyZW4gJiYgdGhpcy5fcmV2ZXJzZWQgPyAobyA9IHIgPSAhMCwgYSA9ICJvblJldmVyc2VDb21wbGV0ZSIpIDogMCA8PSB0aGlzLl9yYXdQcmV2VGltZSAmJiB0aGlzLl9maXJzdCAmJiAobyA9ICEwKSwgdGhpcy5fcmF3UHJldlRpbWUgPSB0OwogICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fcmF3UHJldlRpbWUgPSB0aGlzLl9kdXJhdGlvbiB8fCAhZSB8fCB0IHx8IHRoaXMuX3Jhd1ByZXZUaW1lID09PSB0ID8gdCA6IGQsIDAgPT09IHQgJiYgcikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobiA9IHRoaXMuX2ZpcnN0OyBuICYmIDAgPT09IG4uX3N0YXJ0VGltZTspIG4uX2R1cmF0aW9uIHx8IChyID0gITEpLCBuID0gbi5fbmV4dDsKICAgICAgICAgICAgICAgICAgICAgICAgdCA9IDAsIHRoaXMuX2luaXR0ZWQgfHwgKG8gPSAhMCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHRoaXMuX3RvdGFsVGltZSA9IHRoaXMuX3RpbWUgPSB0aGlzLl9yYXdQcmV2VGltZSA9IHQ7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5fdGltZSAhPT0gaCAmJiB0aGlzLl9maXJzdCB8fCBpIHx8IG8pIHsKICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5faW5pdHRlZCB8fCAodGhpcy5faW5pdHRlZCA9ICEwKSwgdGhpcy5fYWN0aXZlIHx8ICF0aGlzLl9wYXVzZWQgJiYgdGhpcy5fdGltZSAhPT0gaCAmJiAwIDwgdCAmJiAodGhpcy5fYWN0aXZlID0gITApLCAwID09PSBoICYmIHRoaXMudmFycy5vblN0YXJ0ICYmIDAgIT09IHRoaXMuX3RpbWUgJiYgKGUgfHwgdGhpcy5fY2FsbGJhY2soIm9uU3RhcnQiKSksIHRoaXMuX3RpbWUgPj0gaCkKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChuID0gdGhpcy5fZmlyc3Q7IG4gJiYgKHMgPSBuLl9uZXh0LCAhdGhpcy5fcGF1c2VkIHx8IGYpOykobi5fYWN0aXZlIHx8IG4uX3N0YXJ0VGltZSA8PSB0aGlzLl90aW1lICYmICFuLl9wYXVzZWQgJiYgIW4uX2djKSAmJiAobi5fcmV2ZXJzZWQgPyBuLnJlbmRlcigobi5fZGlydHkgPyBuLnRvdGFsRHVyYXRpb24oKSA6IG4uX3RvdGFsRHVyYXRpb24pIC0gKHQgLSBuLl9zdGFydFRpbWUpICogbi5fdGltZVNjYWxlLCBlLCBpKSA6IG4ucmVuZGVyKCh0IC0gbi5fc3RhcnRUaW1lKSAqIG4uX3RpbWVTY2FsZSwgZSwgaSkpLCBuID0gczsKICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobiA9IHRoaXMuX2xhc3Q7IG4gJiYgKHMgPSBuLl9wcmV2LCAhdGhpcy5fcGF1c2VkIHx8IGYpOykobi5fYWN0aXZlIHx8IGggPj0gbi5fc3RhcnRUaW1lICYmICFuLl9wYXVzZWQgJiYgIW4uX2djKSAmJiAobi5fcmV2ZXJzZWQgPyBuLnJlbmRlcigobi5fZGlydHkgPyBuLnRvdGFsRHVyYXRpb24oKSA6IG4uX3RvdGFsRHVyYXRpb24pIC0gKHQgLSBuLl9zdGFydFRpbWUpICogbi5fdGltZVNjYWxlLCBlLCBpKSA6IG4ucmVuZGVyKCh0IC0gbi5fc3RhcnRUaW1lKSAqIG4uX3RpbWVTY2FsZSwgZSwgaSkpLCBuID0gczsKICAgICAgICAgICAgICAgICAgICB0aGlzLl9vblVwZGF0ZSAmJiAoZSB8fCAobS5sZW5ndGggJiYgdigpLCB0aGlzLl9jYWxsYmFjaygib25VcGRhdGUiKSkpLCBhICYmICh0aGlzLl9nYyB8fCAodSA9PT0gdGhpcy5fc3RhcnRUaW1lIHx8IHAgIT09IHRoaXMuX3RpbWVTY2FsZSkgJiYgKDAgPT09IHRoaXMuX3RpbWUgfHwgbCA+PSB0aGlzLnRvdGFsRHVyYXRpb24oKSkgJiYgKHIgJiYgKG0ubGVuZ3RoICYmIHYoKSwgdGhpcy5fdGltZWxpbmUuYXV0b1JlbW92ZUNoaWxkcmVuICYmIHRoaXMuX2VuYWJsZWQoITEsICExKSwgdGhpcy5fYWN0aXZlID0gITEpLCAhZSAmJiB0aGlzLnZhcnNbYV0gJiYgdGhpcy5fY2FsbGJhY2soYSkpKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCBpLl9oYXNQYXVzZWRDaGlsZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZm9yICh2YXIgdCA9IHRoaXMuX2ZpcnN0OyB0OykgewogICAgICAgICAgICAgICAgICAgIGlmICh0Ll9wYXVzZWQgfHwgdCBpbnN0YW5jZW9mIGMgJiYgdC5faGFzUGF1c2VkQ2hpbGQoKSkgcmV0dXJuICEwOwogICAgICAgICAgICAgICAgICAgIHQgPSB0Ll9uZXh0CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gITEKICAgICAgICAgICAgfSwgaS5nZXRDaGlsZHJlbiA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgICAgIG4gPSBuIHx8IC05OTk5OTk5OTk5OwogICAgICAgICAgICAgICAgZm9yICh2YXIgciA9IFtdLCBzID0gdGhpcy5fZmlyc3QsIGEgPSAwOyBzOykgbiA+IHMuX3N0YXJ0VGltZSB8fCAocyBpbnN0YW5jZW9mIGYgPyAhMSAhPT0gZSAmJiAoclthKytdID0gcykgOiAoITEgIT09IGkgJiYgKHJbYSsrXSA9IHMpLCAhMSAhPT0gdCAmJiAoYSA9IChyID0gci5jb25jYXQocy5nZXRDaGlsZHJlbighMCwgZSwgaSkpKS5sZW5ndGgpKSksIHMgPSBzLl9uZXh0OwogICAgICAgICAgICAgICAgcmV0dXJuIHIKICAgICAgICAgICAgfSwgaS5nZXRUd2VlbnNPZiA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIHZhciBpLCBuLCByID0gdGhpcy5fZ2MsCiAgICAgICAgICAgICAgICAgICAgcyA9IFtdLAogICAgICAgICAgICAgICAgICAgIGEgPSAwOwogICAgICAgICAgICAgICAgZm9yIChyICYmIHRoaXMuX2VuYWJsZWQoITAsICEwKSwgbiA9IChpID0gZi5nZXRUd2VlbnNPZih0KSkubGVuZ3RoOyAtIDEgPCAtLW47KShpW25dLnRpbWVsaW5lID09PSB0aGlzIHx8IGUgJiYgdGhpcy5fY29udGFpbnMoaVtuXSkpICYmIChzW2ErK10gPSBpW25dKTsKICAgICAgICAgICAgICAgIHJldHVybiByICYmIHRoaXMuX2VuYWJsZWQoITEsICEwKSwgcwogICAgICAgICAgICB9LCBpLnJlY2VudCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3JlY2VudAogICAgICAgICAgICB9LCBpLl9jb250YWlucyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIGUgPSB0LnRpbWVsaW5lOyBlOykgewogICAgICAgICAgICAgICAgICAgIGlmIChlID09PSB0aGlzKSByZXR1cm4gITA7CiAgICAgICAgICAgICAgICAgICAgZSA9IGUudGltZWxpbmUKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiAhMQogICAgICAgICAgICB9LCBpLnNoaWZ0Q2hpbGRyZW4gPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICBpID0gaSB8fCAwOwogICAgICAgICAgICAgICAgZm9yICh2YXIgbiwgciA9IHRoaXMuX2ZpcnN0LCBzID0gdGhpcy5fbGFiZWxzOyByOykgci5fc3RhcnRUaW1lID49IGkgJiYgKHIuX3N0YXJ0VGltZSArPSB0KSwgciA9IHIuX25leHQ7CiAgICAgICAgICAgICAgICBpZiAoZSkKICAgICAgICAgICAgICAgICAgICBmb3IgKG4gaW4gcykgc1tuXSA+PSBpICYmIChzW25dICs9IHQpOwogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3VuY2FjaGUoITApCiAgICAgICAgICAgIH0sIGkuX2tpbGwgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICBpZiAoIXQgJiYgIWUpIHJldHVybiB0aGlzLl9lbmFibGVkKCExLCAhMSk7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gZSA/IHRoaXMuZ2V0VHdlZW5zT2YoZSkgOiB0aGlzLmdldENoaWxkcmVuKCEwLCAhMCwgITEpLCBuID0gaS5sZW5ndGgsIHIgPSAhMTsgLSAxIDwgLS1uOykgaVtuXS5fa2lsbCh0LCBlKSAmJiAociA9ICEwKTsKICAgICAgICAgICAgICAgIHJldHVybiByCiAgICAgICAgICAgIH0sIGkuY2xlYXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMuZ2V0Q2hpbGRyZW4oITEsICEwLCAhMCksCiAgICAgICAgICAgICAgICAgICAgaSA9IGUubGVuZ3RoOwogICAgICAgICAgICAgICAgZm9yICh0aGlzLl90aW1lID0gdGhpcy5fdG90YWxUaW1lID0gMDsgLSAxIDwgLS1pOykgZVtpXS5fZW5hYmxlZCghMSwgITEpOwogICAgICAgICAgICAgICAgcmV0dXJuICExICE9PSB0ICYmICh0aGlzLl9sYWJlbHMgPSB7fSksIHRoaXMuX3VuY2FjaGUoITApCiAgICAgICAgICAgIH0sIGkuaW52YWxpZGF0ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZm9yICh2YXIgdCA9IHRoaXMuX2ZpcnN0OyB0OykgdC5pbnZhbGlkYXRlKCksIHQgPSB0Ll9uZXh0OwogICAgICAgICAgICAgICAgcmV0dXJuIHUucHJvdG90eXBlLmludmFsaWRhdGUuY2FsbCh0aGlzKQogICAgICAgICAgICB9LCBpLl9lbmFibGVkID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgaWYgKHQgPT09IHRoaXMuX2djKQogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSB0aGlzLl9maXJzdDsgaTspIGkuX2VuYWJsZWQodCwgITApLCBpID0gaS5fbmV4dDsKICAgICAgICAgICAgICAgIHJldHVybiBwLnByb3RvdHlwZS5fZW5hYmxlZC5jYWxsKHRoaXMsIHQsIGUpCiAgICAgICAgICAgIH0sIGkudG90YWxUaW1lID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB0aGlzLl9mb3JjaW5nUGxheWhlYWQgPSAhMDsKICAgICAgICAgICAgICAgIHZhciB0ID0gdS5wcm90b3R5cGUudG90YWxUaW1lLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZm9yY2luZ1BsYXloZWFkID0gITEsIHQKICAgICAgICAgICAgfSwgaS5kdXJhdGlvbiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKDAgIT09IHRoaXMuZHVyYXRpb24oKSAmJiAwICE9PSB0ICYmIHRoaXMudGltZVNjYWxlKHRoaXMuX2R1cmF0aW9uIC8gdCksIHRoaXMpIDogKHRoaXMuX2RpcnR5ICYmIHRoaXMudG90YWxEdXJhdGlvbigpLCB0aGlzLl9kdXJhdGlvbikKICAgICAgICAgICAgfSwgaS50b3RhbER1cmF0aW9uID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiAwICE9PSB0aGlzLnRvdGFsRHVyYXRpb24oKSAmJiAwICE9PSB0ICYmIHRoaXMudGltZVNjYWxlKHRoaXMuX3RvdGFsRHVyYXRpb24gLyB0KSwgdGhpczsKICAgICAgICAgICAgICAgIGlmICh0aGlzLl9kaXJ0eSkgewogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGUsIGksIG4gPSAwLCByID0gdGhpcy5fbGFzdCwgcyA9IDk5OTk5OTk5OTk5OTsgcjspIGUgPSByLl9wcmV2LCByLl9kaXJ0eSAmJiByLnRvdGFsRHVyYXRpb24oKSwgci5fc3RhcnRUaW1lID4gcyAmJiB0aGlzLl9zb3J0Q2hpbGRyZW4gJiYgIXIuX3BhdXNlZCA/IHRoaXMuYWRkKHIsIHIuX3N0YXJ0VGltZSAtIHIuX2RlbGF5KSA6IHMgPSByLl9zdGFydFRpbWUsIHIuX3N0YXJ0VGltZSA8IDAgJiYgIXIuX3BhdXNlZCAmJiAobiAtPSByLl9zdGFydFRpbWUsIHRoaXMuX3RpbWVsaW5lLnNtb290aENoaWxkVGltaW5nICYmICh0aGlzLl9zdGFydFRpbWUgKz0gci5fc3RhcnRUaW1lIC8gdGhpcy5fdGltZVNjYWxlKSwgdGhpcy5zaGlmdENoaWxkcmVuKC1yLl9zdGFydFRpbWUsICExLCAtOTk5OTk5OTk5OSksIHMgPSAwKSwgbiA8IChpID0gci5fc3RhcnRUaW1lICsgci5fdG90YWxEdXJhdGlvbiAvIHIuX3RpbWVTY2FsZSkgJiYgKG4gPSBpKSwgciA9IGU7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZHVyYXRpb24gPSB0aGlzLl90b3RhbER1cmF0aW9uID0gbiwgdGhpcy5fZGlydHkgPSAhMQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3RvdGFsRHVyYXRpb24KICAgICAgICAgICAgfSwgaS5wYXVzZWQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBpZiAoIXQpCiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgZSA9IHRoaXMuX2ZpcnN0LCBpID0gdGhpcy5fdGltZTsgZTspIGUuX3N0YXJ0VGltZSA9PT0gaSAmJiAiaXNQYXVzZSIgPT09IGUuZGF0YSAmJiAoZS5fcmF3UHJldlRpbWUgPSAwKSwgZSA9IGUuX25leHQ7CiAgICAgICAgICAgICAgICByZXR1cm4gdS5wcm90b3R5cGUucGF1c2VkLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykKICAgICAgICAgICAgfSwgaS51c2VzRnJhbWVzID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBmb3IgKHZhciB0ID0gdGhpcy5fdGltZWxpbmU7IHQuX3RpbWVsaW5lOykgdCA9IHQuX3RpbWVsaW5lOwogICAgICAgICAgICAgICAgcmV0dXJuIHQgPT09IHUuX3Jvb3RGcmFtZXNUaW1lbGluZQogICAgICAgICAgICB9LCBpLnJhd1RpbWUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9wYXVzZWQgPyB0aGlzLl90b3RhbFRpbWUgOiAodGhpcy5fdGltZWxpbmUucmF3VGltZSgpIC0gdGhpcy5fc3RhcnRUaW1lKSAqIHRoaXMuX3RpbWVTY2FsZQogICAgICAgICAgICB9LCBjCiAgICAgICAgfSwgITApCiAgICB9KSwgX2dzU2NvcGUuX2dzRGVmaW5lICYmIF9nc1Njb3BlLl9nc1F1ZXVlLnBvcCgpKCksCiAgICBmdW5jdGlvbih0KSB7CiAgICAgICAgInVzZSBzdHJpY3QiOwogICAgICAgIHZhciBlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiAoX2dzU2NvcGUuR3JlZW5Tb2NrR2xvYmFscyB8fCBfZ3NTY29wZSkuVGltZWxpbmVMaXRlCiAgICAgICAgfTsKICAgICAgICAiZnVuY3Rpb24iID09IHR5cGVvZiBkZWZpbmUgJiYgZGVmaW5lLmFtZCA/IGRlZmluZShbIlR3ZWVuTGl0ZSJdLCBlKSA6ICJ1bmRlZmluZWQiICE9IHR5cGVvZiBtb2R1bGUgJiYgbW9kdWxlLmV4cG9ydHMgJiYgKHJlcXVpcmUoIi4vVHdlZW5MaXRlLmpzIiksIG1vZHVsZS5leHBvcnRzID0gZSgpKQogICAgfSgpLCAoKF9nc1Njb3BlID0gInVuZGVmaW5lZCIgIT0gdHlwZW9mIG1vZHVsZSAmJiBtb2R1bGUuZXhwb3J0cyAmJiAidW5kZWZpbmVkIiAhPSB0eXBlb2YgZ2xvYmFsID8gZ2xvYmFsIDogdGhpcyB8fCB3aW5kb3cpLl9nc1F1ZXVlIHx8IChfZ3NTY29wZS5fZ3NRdWV1ZSA9IFtdKSkucHVzaChmdW5jdGlvbigpIHsKICAgICAgICAidXNlIHN0cmljdCI7CiAgICAgICAgX2dzU2NvcGUuX2dzRGVmaW5lKCJlYXNpbmcuQmFjayIsIFsiZWFzaW5nLkVhc2UiXSwgZnVuY3Rpb24oZykgewogICAgICAgICAgICB2YXIgZSwgaSwgdCwgbiA9IF9nc1Njb3BlLkdyZWVuU29ja0dsb2JhbHMgfHwgX2dzU2NvcGUsCiAgICAgICAgICAgICAgICByID0gbi5jb20uZ3JlZW5zb2NrLAogICAgICAgICAgICAgICAgcyA9IDIgKiBNYXRoLlBJLAogICAgICAgICAgICAgICAgYSA9IE1hdGguUEkgLyAyLAogICAgICAgICAgICAgICAgbyA9IHIuX2NsYXNzLAogICAgICAgICAgICAgICAgbCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IG8oImVhc2luZy4iICsgdCwgZnVuY3Rpb24oKSB7fSwgITApLAogICAgICAgICAgICAgICAgICAgICAgICBuID0gaS5wcm90b3R5cGUgPSBuZXcgZzsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbi5jb25zdHJ1Y3RvciA9IGksIG4uZ2V0UmF0aW8gPSBlLCBpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgaCA9IGcucmVnaXN0ZXIgfHwgZnVuY3Rpb24oKSB7fSwKICAgICAgICAgICAgICAgIHUgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCByKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHMgPSBvKCJlYXNpbmcuIiArIHQsIHsKICAgICAgICAgICAgICAgICAgICAgICAgZWFzZU91dDogbmV3IGUsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2VJbjogbmV3IGksCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2VJbk91dDogbmV3IG4KICAgICAgICAgICAgICAgICAgICB9LCAhMCk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGgocywgdCksIHMKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBtID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgICAgICAgIHRoaXMudCA9IHQsIHRoaXMudiA9IGUsIGkgJiYgKCgodGhpcy5uZXh0ID0gaSkucHJldiA9IHRoaXMpLmMgPSBpLnYgLSBlLCB0aGlzLmdhcCA9IGkudCAtIHQpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IG8oImVhc2luZy4iICsgdCwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fcDEgPSB0IHx8IDAgPT09IHQgPyB0IDogMS43MDE1OCwgdGhpcy5fcDIgPSAxLjUyNSAqIHRoaXMuX3AxCiAgICAgICAgICAgICAgICAgICAgICAgIH0sICEwKSwKICAgICAgICAgICAgICAgICAgICAgICAgbiA9IGkucHJvdG90eXBlID0gbmV3IGc7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG4uY29uc3RydWN0b3IgPSBpLCBuLmdldFJhdGlvID0gZSwgbi5jb25maWcgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgaSh0KQogICAgICAgICAgICAgICAgICAgIH0sIGkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBmID0gdSgiQmFjayIsIHAoIkJhY2tPdXQiLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh0IC09IDEpICogdCAqICgodGhpcy5fcDEgKyAxKSAqIHQgKyB0aGlzLl9wMSkgKyAxCiAgICAgICAgICAgICAgICB9KSwgcCgiQmFja0luIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0ICogdCAqICgodGhpcy5fcDEgKyAxKSAqIHQgLSB0aGlzLl9wMSkKICAgICAgICAgICAgICAgIH0pLCBwKCJCYWNrSW5PdXQiLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh0ICo9IDIpIDwgMSA/IC41ICogdCAqIHQgKiAoKHRoaXMuX3AyICsgMSkgKiB0IC0gdGhpcy5fcDIpIDogLjUgKiAoKHQgLT0gMikgKiB0ICogKCh0aGlzLl9wMiArIDEpICogdCArIHRoaXMuX3AyKSArIDIpCiAgICAgICAgICAgICAgICB9KSksCiAgICAgICAgICAgICAgICBjID0gbygiZWFzaW5nLlNsb3dNbyIsIGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgICAgICBlID0gZSB8fCAwID09PSBlID8gZSA6IC43LCBudWxsID09IHQgPyB0ID0gLjcgOiAxIDwgdCAmJiAodCA9IDEpLCB0aGlzLl9wID0gMSAhPT0gdCA/IGUgOiAwLCB0aGlzLl9wMSA9ICgxIC0gdCkgLyAyLCB0aGlzLl9wMiA9IHQsIHRoaXMuX3AzID0gdGhpcy5fcDEgKyB0aGlzLl9wMiwgdGhpcy5fY2FsY0VuZCA9ICEwID09PSBpCiAgICAgICAgICAgICAgICB9LCAhMCksCiAgICAgICAgICAgICAgICBkID0gYy5wcm90b3R5cGUgPSBuZXcgZzsKICAgICAgICAgICAgcmV0dXJuIGQuY29uc3RydWN0b3IgPSBjLCBkLmdldFJhdGlvID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0ICsgKC41IC0gdCkgKiB0aGlzLl9wOwogICAgICAgICAgICAgICAgcmV0dXJuIHQgPCB0aGlzLl9wMSA/IHRoaXMuX2NhbGNFbmQgPyAxIC0gKHQgPSAxIC0gdCAvIHRoaXMuX3AxKSAqIHQgOiBlIC0gKHQgPSAxIC0gdCAvIHRoaXMuX3AxKSAqIHQgKiB0ICogdCAqIGUgOiB0ID4gdGhpcy5fcDMgPyB0aGlzLl9jYWxjRW5kID8gMSAtICh0ID0gKHQgLSB0aGlzLl9wMykgLyB0aGlzLl9wMSkgKiB0IDogZSArICh0IC0gZSkgKiAodCA9ICh0IC0gdGhpcy5fcDMpIC8gdGhpcy5fcDEpICogdCAqIHQgKiB0IDogdGhpcy5fY2FsY0VuZCA/IDEgOiBlCiAgICAgICAgICAgIH0sIGMuZWFzZSA9IG5ldyBjKC43LCAuNyksIGQuY29uZmlnID0gYy5jb25maWcgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IGModCwgZSwgaSkKICAgICAgICAgICAgfSwgKGQgPSAoZSA9IG8oImVhc2luZy5TdGVwcGVkRWFzZSIsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHQgPSB0IHx8IDEsIHRoaXMuX3AxID0gMSAvIHQsIHRoaXMuX3AyID0gdCArIDEKICAgICAgICAgICAgfSwgITApKS5wcm90b3R5cGUgPSBuZXcgZykuY29uc3RydWN0b3IgPSBlLCBkLmdldFJhdGlvID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHQgPCAwID8gdCA9IDAgOiAxIDw9IHQgJiYgKHQgPSAuOTk5OTk5OTk5KSwgKHRoaXMuX3AyICogdCA+PiAwKSAqIHRoaXMuX3AxCiAgICAgICAgICAgIH0sIGQuY29uZmlnID0gZS5jb25maWcgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IGUodCkKICAgICAgICAgICAgfSwgKGQgPSAoaSA9IG8oImVhc2luZy5Sb3VnaEVhc2UiLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBlLCBpLCBuLCByLCBzLCBhLCBvID0gKHQgPSB0IHx8IHt9KS50YXBlciB8fCAibm9uZSIsIGwgPSBbXSwgaCA9IDAsIHUgPSAwIHwgKHQucG9pbnRzIHx8IDIwKSwgcCA9IHUsIGYgPSAhMSAhPT0gdC5yYW5kb21pemUsIGMgPSAhMCA9PT0gdC5jbGFtcCwgZCA9IHQudGVtcGxhdGUgaW5zdGFuY2VvZiBnID8gdC50ZW1wbGF0ZSA6IG51bGwsIF8gPSAibnVtYmVyIiA9PSB0eXBlb2YgdC5zdHJlbmd0aCA/IC40ICogdC5zdHJlbmd0aCA6IC40OyAtIDEgPCAtLXA7KSBlID0gZiA/IE1hdGgucmFuZG9tKCkgOiAxIC8gdSAqIHAsIGkgPSBkID8gZC5nZXRSYXRpbyhlKSA6IGUsIG4gPSAibm9uZSIgPT09IG8gPyBfIDogIm91dCIgPT09IG8gPyAociA9IDEgLSBlKSAqIHIgKiBfIDogImluIiA9PT0gbyA/IGUgKiBlICogXyA6IChyID0gZSA8IC41ID8gMiAqIGUgOiAyICogKDEgLSBlKSkgKiByICogLjUgKiBfLCBmID8gaSArPSBNYXRoLnJhbmRvbSgpICogbiAtIC41ICogbiA6IHAgJSAyID8gaSArPSAuNSAqIG4gOiBpIC09IC41ICogbiwgYyAmJiAoMSA8IGkgPyBpID0gMSA6IGkgPCAwICYmIChpID0gMCkpLCBsW2grK10gPSB7CiAgICAgICAgICAgICAgICAgICAgeDogZSwKICAgICAgICAgICAgICAgICAgICB5OiBpCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgZm9yIChsLnNvcnQoZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdC54IC0gZS54CiAgICAgICAgICAgICAgICAgICAgfSksIGEgPSBuZXcgbSgxLCAxLCBudWxsKSwgcCA9IHU7IC0gMSA8IC0tcDspIHMgPSBsW3BdLCBhID0gbmV3IG0ocy54LCBzLnksIGEpOwogICAgICAgICAgICAgICAgdGhpcy5fcHJldiA9IG5ldyBtKDAsIDAsIDAgIT09IGEudCA/IGEgOiBhLm5leHQpCiAgICAgICAgICAgIH0sICEwKSkucHJvdG90eXBlID0gbmV3IGcpLmNvbnN0cnVjdG9yID0gaSwgZC5nZXRSYXRpbyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcy5fcHJldjsKICAgICAgICAgICAgICAgIGlmICh0ID4gZS50KSB7CiAgICAgICAgICAgICAgICAgICAgZm9yICg7IGUubmV4dCAmJiB0ID49IGUudDspIGUgPSBlLm5leHQ7CiAgICAgICAgICAgICAgICAgICAgZSA9IGUucHJldgogICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgZm9yICg7IGUucHJldiAmJiB0IDw9IGUudDspIGUgPSBlLnByZXY7CiAgICAgICAgICAgICAgICByZXR1cm4gKHRoaXMuX3ByZXYgPSBlKS52ICsgKHQgLSBlLnQpIC8gZS5nYXAgKiBlLmMKICAgICAgICAgICAgfSwgZC5jb25maWcgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IGkodCkKICAgICAgICAgICAgfSwgaS5lYXNlID0gbmV3IGksIHUoIkJvdW5jZSIsIGwoIkJvdW5jZU91dCIsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0IDwgMSAvIDIuNzUgPyA3LjU2MjUgKiB0ICogdCA6IHQgPCAyIC8gMi43NSA/IDcuNTYyNSAqICh0IC09IDEuNSAvIDIuNzUpICogdCArIC43NSA6IHQgPCAyLjUgLyAyLjc1ID8gNy41NjI1ICogKHQgLT0gMi4yNSAvIDIuNzUpICogdCArIC45Mzc1IDogNy41NjI1ICogKHQgLT0gMi42MjUgLyAyLjc1KSAqIHQgKyAuOTg0Mzc1CiAgICAgICAgICAgIH0pLCBsKCJCb3VuY2VJbiIsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiAodCA9IDEgLSB0KSA8IDEgLyAyLjc1ID8gMSAtIDcuNTYyNSAqIHQgKiB0IDogdCA8IDIgLyAyLjc1ID8gMSAtICg3LjU2MjUgKiAodCAtPSAxLjUgLyAyLjc1KSAqIHQgKyAuNzUpIDogdCA8IDIuNSAvIDIuNzUgPyAxIC0gKDcuNTYyNSAqICh0IC09IDIuMjUgLyAyLjc1KSAqIHQgKyAuOTM3NSkgOiAxIC0gKDcuNTYyNSAqICh0IC09IDIuNjI1IC8gMi43NSkgKiB0ICsgLjk4NDM3NSkKICAgICAgICAgICAgfSksIGwoIkJvdW5jZUluT3V0IiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0IDwgLjU7CiAgICAgICAgICAgICAgICByZXR1cm4gdCA9ICh0ID0gZSA/IDEgLSAyICogdCA6IDIgKiB0IC0gMSkgPCAxIC8gMi43NSA/IDcuNTYyNSAqIHQgKiB0IDogdCA8IDIgLyAyLjc1ID8gNy41NjI1ICogKHQgLT0gMS41IC8gMi43NSkgKiB0ICsgLjc1IDogdCA8IDIuNSAvIDIuNzUgPyA3LjU2MjUgKiAodCAtPSAyLjI1IC8gMi43NSkgKiB0ICsgLjkzNzUgOiA3LjU2MjUgKiAodCAtPSAyLjYyNSAvIDIuNzUpICogdCArIC45ODQzNzUsIGUgPyAuNSAqICgxIC0gdCkgOiAuNSAqIHQgKyAuNQogICAgICAgICAgICB9KSksIHUoIkNpcmMiLCBsKCJDaXJjT3V0IiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIE1hdGguc3FydCgxIC0gKHQgLT0gMSkgKiB0KQogICAgICAgICAgICB9KSwgbCgiQ2lyY0luIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIC0oTWF0aC5zcXJ0KDEgLSB0ICogdCkgLSAxKQogICAgICAgICAgICB9KSwgbCgiQ2lyY0luT3V0IiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuICh0ICo9IDIpIDwgMSA/IC0uNSAqIChNYXRoLnNxcnQoMSAtIHQgKiB0KSAtIDEpIDogLjUgKiAoTWF0aC5zcXJ0KDEgLSAodCAtPSAyKSAqIHQpICsgMSkKICAgICAgICAgICAgfSkpLCB1KCJFbGFzdGljIiwgKHQgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICB2YXIgbiA9IG8oImVhc2luZy4iICsgdCwgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9wMSA9IDEgPD0gdCA/IHQgOiAxLCB0aGlzLl9wMiA9IChlIHx8IGkpIC8gKHQgPCAxID8gdCA6IDEpLCB0aGlzLl9wMyA9IHRoaXMuX3AyIC8gcyAqIChNYXRoLmFzaW4oMSAvIHRoaXMuX3AxKSB8fCAwKSwgdGhpcy5fcDIgPSBzIC8gdGhpcy5fcDIKICAgICAgICAgICAgICAgICAgICB9LCAhMCksCiAgICAgICAgICAgICAgICAgICAgciA9IG4ucHJvdG90eXBlID0gbmV3IGc7CiAgICAgICAgICAgICAgICByZXR1cm4gci5jb25zdHJ1Y3RvciA9IG4sIHIuZ2V0UmF0aW8gPSBlLCByLmNvbmZpZyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IG4odCwgZSkKICAgICAgICAgICAgICAgIH0sIG4KICAgICAgICAgICAgfSkoIkVsYXN0aWNPdXQiLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fcDEgKiBNYXRoLnBvdygyLCAtMTAgKiB0KSAqIE1hdGguc2luKCh0IC0gdGhpcy5fcDMpICogdGhpcy5fcDIpICsgMQogICAgICAgICAgICB9LCAuMyksIHQoIkVsYXN0aWNJbiIsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiAtdGhpcy5fcDEgKiBNYXRoLnBvdygyLCAxMCAqICh0IC09IDEpKSAqIE1hdGguc2luKCh0IC0gdGhpcy5fcDMpICogdGhpcy5fcDIpCiAgICAgICAgICAgIH0sIC4zKSwgdCgiRWxhc3RpY0luT3V0IiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuICh0ICo9IDIpIDwgMSA/IHRoaXMuX3AxICogTWF0aC5wb3coMiwgMTAgKiAodCAtPSAxKSkgKiBNYXRoLnNpbigodCAtIHRoaXMuX3AzKSAqIHRoaXMuX3AyKSAqIC0uNSA6IHRoaXMuX3AxICogTWF0aC5wb3coMiwgLTEwICogKHQgLT0gMSkpICogTWF0aC5zaW4oKHQgLSB0aGlzLl9wMykgKiB0aGlzLl9wMikgKiAuNSArIDEKICAgICAgICAgICAgfSwgLjQ1KSksIHUoIkV4cG8iLCBsKCJFeHBvT3V0IiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDEgLSBNYXRoLnBvdygyLCAtMTAgKiB0KQogICAgICAgICAgICB9KSwgbCgiRXhwb0luIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIE1hdGgucG93KDIsIDEwICogKHQgLSAxKSkgLSAuMDAxCiAgICAgICAgICAgIH0pLCBsKCJFeHBvSW5PdXQiLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKHQgKj0gMikgPCAxID8gLjUgKiBNYXRoLnBvdygyLCAxMCAqICh0IC0gMSkpIDogLjUgKiAoMiAtIE1hdGgucG93KDIsIC0xMCAqICh0IC0gMSkpKQogICAgICAgICAgICB9KSksIHUoIlNpbmUiLCBsKCJTaW5lT3V0IiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIE1hdGguc2luKHQgKiBhKQogICAgICAgICAgICB9KSwgbCgiU2luZUluIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDEgLSBNYXRoLmNvcyh0ICogYSkKICAgICAgICAgICAgfSksIGwoIlNpbmVJbk91dCIsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiAtLjUgKiAoTWF0aC5jb3MoTWF0aC5QSSAqIHQpIC0gMSkKICAgICAgICAgICAgfSkpLCBvKCJlYXNpbmcuRWFzZUxvb2t1cCIsIHsKICAgICAgICAgICAgICAgIGZpbmQ6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZy5tYXBbdF0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgITApLCBoKG4uU2xvd01vLCAiU2xvd01vIiwgImVhc2UsIiksIGgoaSwgIlJvdWdoRWFzZSIsICJlYXNlLCIpLCBoKGUsICJTdGVwcGVkRWFzZSIsICJlYXNlLCIpLCBmCiAgICAgICAgfSwgITApCiAgICB9KSwgX2dzU2NvcGUuX2dzRGVmaW5lICYmIF9nc1Njb3BlLl9nc1F1ZXVlLnBvcCgpKCksCiAgICBmdW5jdGlvbigpIHsKICAgICAgICAidXNlIHN0cmljdCI7CiAgICAgICAgdmFyIHQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIF9nc1Njb3BlLkdyZWVuU29ja0dsb2JhbHMgfHwgX2dzU2NvcGUKICAgICAgICB9OwogICAgICAgICJmdW5jdGlvbiIgPT0gdHlwZW9mIGRlZmluZSAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKFsiVHdlZW5MaXRlIl0sIHQpIDogInVuZGVmaW5lZCIgIT0gdHlwZW9mIG1vZHVsZSAmJiBtb2R1bGUuZXhwb3J0cyAmJiAocmVxdWlyZSgiLi4vVHdlZW5MaXRlLmpzIiksIG1vZHVsZS5leHBvcnRzID0gdCgpKQogICAgfSgpLCAoKF9nc1Njb3BlID0gInVuZGVmaW5lZCIgIT0gdHlwZW9mIG1vZHVsZSAmJiBtb2R1bGUuZXhwb3J0cyAmJiAidW5kZWZpbmVkIiAhPSB0eXBlb2YgZ2xvYmFsID8gZ2xvYmFsIDogdGhpcyB8fCB3aW5kb3cpLl9nc1F1ZXVlIHx8IChfZ3NTY29wZS5fZ3NRdWV1ZSA9IFtdKSkucHVzaChmdW5jdGlvbigpIHsKICAgICAgICAidXNlIHN0cmljdCI7CiAgICAgICAgX2dzU2NvcGUuX2dzRGVmaW5lKCJwbHVnaW5zLkNTU1BsdWdpbiIsIFsicGx1Z2lucy5Ud2VlblBsdWdpbiIsICJUd2VlbkxpdGUiXSwgZnVuY3Rpb24ocywgQikgewogICAgICAgICAgICB2YXIgZCwgUCwgTywgXywgaiA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHMuY2FsbCh0aGlzLCAiY3NzIiksIHRoaXMuX292ZXJ3cml0ZVByb3BzLmxlbmd0aCA9IDAsIHRoaXMuc2V0UmF0aW8gPSBqLnByb3RvdHlwZS5zZXRSYXRpbwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGggPSBfZ3NTY29wZS5fZ3NEZWZpbmUuZ2xvYmFscywKICAgICAgICAgICAgICAgIGcgPSB7fSwKICAgICAgICAgICAgICAgIHQgPSBqLnByb3RvdHlwZSA9IG5ldyBzKCJjc3MiKTsKICAgICAgICAgICAgKHQuY29uc3RydWN0b3IgPSBqKS52ZXJzaW9uID0gIjEuMTkuMSIsIGouQVBJID0gMiwgai5kZWZhdWx0VHJhbnNmb3JtUGVyc3BlY3RpdmUgPSAwLCBqLmRlZmF1bHRTa2V3VHlwZSA9ICJjb21wZW5zYXRlZCIsIGouZGVmYXVsdFNtb290aE9yaWdpbiA9ICEwLCB0ID0gInB4Iiwgai5zdWZmaXhNYXAgPSB7CiAgICAgICAgICAgICAgICB0b3A6IHQsCiAgICAgICAgICAgICAgICByaWdodDogdCwKICAgICAgICAgICAgICAgIGJvdHRvbTogdCwKICAgICAgICAgICAgICAgIGxlZnQ6IHQsCiAgICAgICAgICAgICAgICB3aWR0aDogdCwKICAgICAgICAgICAgICAgIGhlaWdodDogdCwKICAgICAgICAgICAgICAgIGZvbnRTaXplOiB0LAogICAgICAgICAgICAgICAgcGFkZGluZzogdCwKICAgICAgICAgICAgICAgIG1hcmdpbjogdCwKICAgICAgICAgICAgICAgIHBlcnNwZWN0aXZlOiB0LAogICAgICAgICAgICAgICAgbGluZUhlaWdodDogIiIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdmFyIGssIG0sIHYsIFksIHksIFMsIEMsIEEsIGUsIGksIFIgPSAvKD86XC18XC58XGIpKFxkfFwufGVcLSkrL2csCiAgICAgICAgICAgICAgICBNID0gLyg/OlxkfFwtXGR8XC5cZHxcLVwuXGR8XCs9XGR8XC09XGR8XCs9LlxkfFwtPVwuXGQpKy9nLAogICAgICAgICAgICAgICAgeCA9IC8oPzpcKz18XC09fFwtfFxiKVtcZFwtXC5dK1thLXpBLVowLTldKig/OiV8XGIpL2dpLAogICAgICAgICAgICAgICAgdSA9IC8oPyFbKy1dP1xkKlwuP1xkK3xbKy1dfGVbKy1dXGQrKVteMC05XS9nLAogICAgICAgICAgICAgICAgRSA9IC8oPzpcZHxcLXxcK3w9fCN8XC4pKi9nLAogICAgICAgICAgICAgICAgRCA9IC9vcGFjaXR5ICo9ICooW14pXSopL2ksCiAgICAgICAgICAgICAgICB3ID0gL29wYWNpdHk6KFteO10qKS9pLAogICAgICAgICAgICAgICAgYSA9IC9hbHBoYVwob3BhY2l0eSAqPS4rP1wpL2ksCiAgICAgICAgICAgICAgICBUID0gL14ocmdifGhzbCkvLAogICAgICAgICAgICAgICAgbyA9IC8oW0EtWl0pL2csCiAgICAgICAgICAgICAgICBsID0gLy0oW2Etel0pL2dpLAogICAgICAgICAgICAgICAgYiA9IC8oXig/OnVybFwoXCJ8dXJsXCgpKXwoPzooXCJcKSkkfFwpJCkvZ2ksCiAgICAgICAgICAgICAgICBwID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBlLnRvVXBwZXJDYXNlKCkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjID0gLyg/OkxlZnR8UmlnaHR8V2lkdGgpL2ksCiAgICAgICAgICAgICAgICBmID0gLyhNMTF8TTEyfE0yMXxNMjIpPVtcZFwtXC5lXSsvZ2ksCiAgICAgICAgICAgICAgICBMID0gL3Byb2dpZFw6RFhJbWFnZVRyYW5zZm9ybVwuTWljcm9zb2Z0XC5NYXRyaXhcKC4rP1wpL2ksCiAgICAgICAgICAgICAgICBOID0gLywoPz1bXlwpXSooPzpcKHwkKSkvZ2ksCiAgICAgICAgICAgICAgICBGID0gL1tccyxcKF0vaSwKICAgICAgICAgICAgICAgIFYgPSBNYXRoLlBJIC8gMTgwLAogICAgICAgICAgICAgICAgRyA9IDE4MCAvIE1hdGguUEksCiAgICAgICAgICAgICAgICBJID0ge30sCiAgICAgICAgICAgICAgICBuID0gewogICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7fQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFggPSBfZ3NTY29wZS5kb2N1bWVudCB8fCB7CiAgICAgICAgICAgICAgICAgICAgY3JlYXRlRWxlbWVudDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHogPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFguY3JlYXRlRWxlbWVudE5TID8gWC5jcmVhdGVFbGVtZW50TlMoZSB8fCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsIHQpIDogWC5jcmVhdGVFbGVtZW50KHQpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgVyA9IHooImRpdiIpLAogICAgICAgICAgICAgICAgVSA9IHooImltZyIpLAogICAgICAgICAgICAgICAgciA9IGouX2ludGVybmFscyA9IHsKICAgICAgICAgICAgICAgICAgICBfc3BlY2lhbFByb3BzOiBnCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcSA9IChfZ3NTY29wZS5uYXZpZ2F0b3IgfHwge30pLnVzZXJBZ2VudCB8fCAiIiwKICAgICAgICAgICAgICAgIFEgPSAoZSA9IHEuaW5kZXhPZigiQW5kcm9pZCIpLCBpID0geigiYSIpLCB2ID0gLTEgIT09IHEuaW5kZXhPZigiU2FmYXJpIikgJiYgLTEgPT09IHEuaW5kZXhPZigiQ2hyb21lIikgJiYgKC0xID09PSBlIHx8IDMgPCBwYXJzZUZsb2F0KHEuc3Vic3RyKGUgKyA4LCAyKSkpLCB5ID0gdiAmJiBwYXJzZUZsb2F0KHEuc3Vic3RyKHEuaW5kZXhPZigiVmVyc2lvbi8iKSArIDgsIDIpKSA8IDYsIFkgPSAtMSAhPT0gcS5pbmRleE9mKCJGaXJlZm94IiksICgvTVNJRSAoWzAtOV17MSx9W1wuMC05XXswLH0pLy5leGVjKHEpIHx8IC9UcmlkZW50XC8uKnJ2OihbMC05XXsxLH1bXC4wLTldezAsfSkvLmV4ZWMocSkpICYmIChTID0gcGFyc2VGbG9hdChSZWdFeHAuJDEpKSwgISFpICYmIChpLnN0eWxlLmNzc1RleHQgPSAidG9wOjFweDtvcGFjaXR5Oi41NTsiLCAvXjAuNTUvLnRlc3QoaS5zdHlsZS5vcGFjaXR5KSkpLAogICAgICAgICAgICAgICAgSCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gRC50ZXN0KCJzdHJpbmciID09IHR5cGVvZiB0ID8gdCA6ICh0LmN1cnJlbnRTdHlsZSA/IHQuY3VycmVudFN0eWxlLmZpbHRlciA6IHQuc3R5bGUuZmlsdGVyKSB8fCAiIikgPyBwYXJzZUZsb2F0KFJlZ0V4cC4kMSkgLyAxMDAgOiAxCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgWiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICBfZ3NTY29wZS5jb25zb2xlICYmIGNvbnNvbGUubG9nKHQpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgJCA9ICIiLAogICAgICAgICAgICAgICAgSyA9ICIiLAogICAgICAgICAgICAgICAgSiA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaSwgbiwgciA9IChlID0gZSB8fCBXKS5zdHlsZTsKICAgICAgICAgICAgICAgICAgICBpZiAodm9pZCAwICE9PSByW3RdKSByZXR1cm4gdDsKICAgICAgICAgICAgICAgICAgICBmb3IgKHQgPSB0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdC5zdWJzdHIoMSksIGkgPSBbIk8iLCAiTW96IiwgIm1zIiwgIk1zIiwgIldlYmtpdCJdLCBuID0gNTsgLSAxIDwgLS1uICYmIHZvaWQgMCA9PT0gcltpW25dICsgdF07KTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMCA8PSBuID8gKCQgPSAiLSIgKyAoSyA9IDMgPT09IG4gPyAibXMiIDogaVtuXSkudG9Mb3dlckNhc2UoKSArICItIiwgSyArIHQpIDogbnVsbAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHR0ID0gWC5kZWZhdWx0VmlldyA/IFguZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSA6IGZ1bmN0aW9uKCkge30sCiAgICAgICAgICAgICAgICBldCA9IGouZ2V0U3R5bGUgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCByKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHM7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFEgfHwgIm9wYWNpdHkiICE9PSBlID8gKCFuICYmIHQuc3R5bGVbZV0gPyBzID0gdC5zdHlsZVtlXSA6IChpID0gaSB8fCB0dCh0KSkgPyBzID0gaVtlXSB8fCBpLmdldFByb3BlcnR5VmFsdWUoZSkgfHwgaS5nZXRQcm9wZXJ0eVZhbHVlKGUucmVwbGFjZShvLCAiLSQxIikudG9Mb3dlckNhc2UoKSkgOiB0LmN1cnJlbnRTdHlsZSAmJiAocyA9IHQuY3VycmVudFN0eWxlW2VdKSwgbnVsbCA9PSByIHx8IHMgJiYgIm5vbmUiICE9PSBzICYmICJhdXRvIiAhPT0gcyAmJiAiYXV0byBhdXRvIiAhPT0gcyA/IHMgOiByKSA6IEgodCkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBpdCA9IHIuY29udmVydFRvUGl4ZWxzID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgcikgewogICAgICAgICAgICAgICAgICAgIGlmICgicHgiID09PSBuIHx8ICFuKSByZXR1cm4gaTsKICAgICAgICAgICAgICAgICAgICBpZiAoImF1dG8iID09PSBuIHx8ICFpKSByZXR1cm4gMDsKICAgICAgICAgICAgICAgICAgICB2YXIgcywgYSwgbywgbCA9IGMudGVzdChlKSwKICAgICAgICAgICAgICAgICAgICAgICAgaCA9IHQsCiAgICAgICAgICAgICAgICAgICAgICAgIHUgPSBXLnN0eWxlLAogICAgICAgICAgICAgICAgICAgICAgICBwID0gaSA8IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGYgPSAxID09PSBpOwogICAgICAgICAgICAgICAgICAgIGlmIChwICYmIChpID0gLWkpLCBmICYmIChpICo9IDEwMCksICIlIiA9PT0gbiAmJiAtMSAhPT0gZS5pbmRleE9mKCJib3JkZXIiKSkgcyA9IGkgLyAxMDAgKiAobCA/IHQuY2xpZW50V2lkdGggOiB0LmNsaWVudEhlaWdodCk7CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1LmNzc1RleHQgPSAiYm9yZGVyOjAgc29saWQgcmVkO3Bvc2l0aW9uOiIgKyBldCh0LCAicG9zaXRpb24iKSArICI7bGluZS1oZWlnaHQ6MDsiLCAiJSIgIT09IG4gJiYgaC5hcHBlbmRDaGlsZCAmJiAidiIgIT09IG4uY2hhckF0KDApICYmICJyZW0iICE9PSBuKSB1W2wgPyAiYm9yZGVyTGVmdFdpZHRoIiA6ICJib3JkZXJUb3BXaWR0aCJdID0gaSArIG47CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGEgPSAoaCA9IHQucGFyZW50Tm9kZSB8fCBYLmJvZHkpLl9nc0NhY2hlLCBvID0gQi50aWNrZXIuZnJhbWUsIGEgJiYgbCAmJiBhLnRpbWUgPT09IG8pIHJldHVybiBhLndpZHRoICogaSAvIDEwMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVbbCA/ICJ3aWR0aCIgOiAiaGVpZ2h0Il0gPSBpICsgbgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGguYXBwZW5kQ2hpbGQoVyksIHMgPSBwYXJzZUZsb2F0KFdbbCA/ICJvZmZzZXRXaWR0aCIgOiAib2Zmc2V0SGVpZ2h0Il0pLCBoLnJlbW92ZUNoaWxkKFcpLCBsICYmICIlIiA9PT0gbiAmJiAhMSAhPT0gai5jYWNoZVdpZHRocyAmJiAoKGEgPSBoLl9nc0NhY2hlID0gaC5fZ3NDYWNoZSB8fCB7fSkudGltZSA9IG8sIGEud2lkdGggPSBzIC8gaSAqIDEwMCksIDAgIT09IHMgfHwgciB8fCAocyA9IGl0KHQsIGUsIGksIG4sICEwKSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGYgJiYgKHMgLz0gMTAwKSwgcCA/IC1zIDogcwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIG50ID0gci5jYWxjdWxhdGVPZmZzZXQgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCJhYnNvbHV0ZSIgIT09IGV0KHQsICJwb3NpdGlvbiIsIGkpKSByZXR1cm4gMDsKICAgICAgICAgICAgICAgICAgICB2YXIgbiA9ICJsZWZ0IiA9PT0gZSA/ICJMZWZ0IiA6ICJUb3AiLAogICAgICAgICAgICAgICAgICAgICAgICByID0gZXQodCwgIm1hcmdpbiIgKyBuLCBpKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdFsib2Zmc2V0IiArIG5dIC0gKGl0KHQsIGUsIHBhcnNlRmxvYXQociksIHIucmVwbGFjZShFLCAiIikpIHx8IDApCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcnQgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGksIG4sIHIsIHMgPSB7fTsKICAgICAgICAgICAgICAgICAgICBpZiAoZSA9IGUgfHwgdHQodCwgbnVsbCkpCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpID0gZS5sZW5ndGgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKDsgLSAxIDwgLS1pOykoLTEgPT09IChyID0gZVtpXSkuaW5kZXhPZigiLXRyYW5zZm9ybSIpIHx8IE50ID09PSByKSAmJiAoc1tyLnJlcGxhY2UobCwgcCldID0gZS5nZXRQcm9wZXJ0eVZhbHVlKHIpKTsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpIGluIGUpKC0xID09PSBpLmluZGV4T2YoIlRyYW5zZm9ybSIpIHx8IEx0ID09PSBpKSAmJiAoc1tpXSA9IGVbaV0pOwogICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGUgPSB0LmN1cnJlbnRTdHlsZSB8fCB0LnN0eWxlKQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgaW4gZSkgInN0cmluZyIgPT0gdHlwZW9mIGkgJiYgdm9pZCAwID09PSBzW2ldICYmIChzW2kucmVwbGFjZShsLCBwKV0gPSBlW2ldKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gUSB8fCAocy5vcGFjaXR5ID0gSCh0KSksIG4gPSBRdCh0LCBlLCAhMSksIHMucm90YXRpb24gPSBuLnJvdGF0aW9uLCBzLnNrZXdYID0gbi5za2V3WCwgcy5zY2FsZVggPSBuLnNjYWxlWCwgcy5zY2FsZVkgPSBuLnNjYWxlWSwgcy54ID0gbi54LCBzLnkgPSBuLnksIEl0ICYmIChzLnogPSBuLnosIHMucm90YXRpb25YID0gbi5yb3RhdGlvblgsIHMucm90YXRpb25ZID0gbi5yb3RhdGlvblksIHMuc2NhbGVaID0gbi5zY2FsZVopLCBzLmZpbHRlcnMgJiYgZGVsZXRlIHMuZmlsdGVycywgcwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHN0ID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgcikgewogICAgICAgICAgICAgICAgICAgIHZhciBzLCBhLCBvLCBsID0ge30sCiAgICAgICAgICAgICAgICAgICAgICAgIGggPSB0LnN0eWxlOwogICAgICAgICAgICAgICAgICAgIGZvciAoYSBpbiBpKSAiY3NzVGV4dCIgIT09IGEgJiYgImxlbmd0aCIgIT09IGEgJiYgaXNOYU4oYSkgJiYgKGVbYV0gIT09IChzID0gaVthXSkgfHwgciAmJiByW2FdKSAmJiAtMSA9PT0gYS5pbmRleE9mKCJPcmlnaW4iKSAmJiAoIm51bWJlciIgPT0gdHlwZW9mIHMgfHwgInN0cmluZyIgPT0gdHlwZW9mIHMpICYmIChsW2FdID0gImF1dG8iICE9PSBzIHx8ICJsZWZ0IiAhPT0gYSAmJiAidG9wIiAhPT0gYSA/ICIiICE9PSBzICYmICJhdXRvIiAhPT0gcyAmJiAibm9uZSIgIT09IHMgfHwgInN0cmluZyIgIT0gdHlwZW9mIGVbYV0gfHwgIiIgPT09IGVbYV0ucmVwbGFjZSh1LCAiIikgPyBzIDogMCA6IG50KHQsIGEpLCB2b2lkIDAgIT09IGhbYV0gJiYgKG8gPSBuZXcgeHQoaCwgYSwgaFthXSwgbykpKTsKICAgICAgICAgICAgICAgICAgICBpZiAobikKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChhIGluIG4pICJjbGFzc05hbWUiICE9PSBhICYmIChsW2FdID0gblthXSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGlmczogbCwKICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RNUFQ6IG8KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgYXQgPSB7CiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFsiTGVmdCIsICJSaWdodCJdLAogICAgICAgICAgICAgICAgICAgIGhlaWdodDogWyJUb3AiLCAiQm90dG9tIl0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBvdCA9IFsibWFyZ2luTGVmdCIsICJtYXJnaW5SaWdodCIsICJtYXJnaW5Ub3AiLCAibWFyZ2luQm90dG9tIl0sCiAgICAgICAgICAgICAgICBsdCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoInN2ZyIgPT09ICh0Lm5vZGVOYW1lICsgIiIpLnRvTG93ZXJDYXNlKCkpIHJldHVybiAoaSB8fCB0dCh0KSlbZV0gfHwgMDsKICAgICAgICAgICAgICAgICAgICBpZiAodC5nZXRDVE0gJiYgV3QodCkpIHJldHVybiB0LmdldEJCb3goKVtlXSB8fCAwOwogICAgICAgICAgICAgICAgICAgIHZhciBuID0gcGFyc2VGbG9hdCgid2lkdGgiID09PSBlID8gdC5vZmZzZXRXaWR0aCA6IHQub2Zmc2V0SGVpZ2h0KSwKICAgICAgICAgICAgICAgICAgICAgICAgciA9IGF0W2VdLAogICAgICAgICAgICAgICAgICAgICAgICBzID0gci5sZW5ndGg7CiAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gaSB8fCB0dCh0LCBudWxsKTsgLSAxIDwgLS1zOykgbiAtPSBwYXJzZUZsb2F0KGV0KHQsICJwYWRkaW5nIiArIHJbc10sIGksICEwKSkgfHwgMCwgbiAtPSBwYXJzZUZsb2F0KGV0KHQsICJib3JkZXIiICsgcltzXSArICJXaWR0aCIsIGksICEwKSkgfHwgMDsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGh0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIGlmICgiY29udGFpbiIgPT09IHQgfHwgImF1dG8iID09PSB0IHx8ICJhdXRvIGF1dG8iID09PSB0KSByZXR1cm4gdCArICIgIjsKICAgICAgICAgICAgICAgICAgICAobnVsbCA9PSB0IHx8ICIiID09PSB0KSAmJiAodCA9ICIwIDAiKTsKICAgICAgICAgICAgICAgICAgICB2YXIgaSwgbiA9IHQuc3BsaXQoIiAiKSwKICAgICAgICAgICAgICAgICAgICAgICAgciA9IC0xICE9PSB0LmluZGV4T2YoImxlZnQiKSA/ICIwJSIgOiAtMSAhPT0gdC5pbmRleE9mKCJyaWdodCIpID8gIjEwMCUiIDogblswXSwKICAgICAgICAgICAgICAgICAgICAgICAgcyA9IC0xICE9PSB0LmluZGV4T2YoInRvcCIpID8gIjAlIiA6IC0xICE9PSB0LmluZGV4T2YoImJvdHRvbSIpID8gIjEwMCUiIDogblsxXTsKICAgICAgICAgICAgICAgICAgICBpZiAoMyA8IG4ubGVuZ3RoICYmICFlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobiA9IHQuc3BsaXQoIiwgIikuam9pbigiLCIpLnNwbGl0KCIsIiksIHQgPSBbXSwgaSA9IDA7IGkgPCBuLmxlbmd0aDsgaSsrKSB0LnB1c2goaHQobltpXSkpOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdC5qb2luKCIsIikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gcyA/IHMgPSAiY2VudGVyIiA9PT0gciA/ICI1MCUiIDogIjAiIDogImNlbnRlciIgPT09IHMgJiYgKHMgPSAiNTAlIiksICgiY2VudGVyIiA9PT0gciB8fCBpc05hTihwYXJzZUZsb2F0KHIpKSAmJiAtMSA9PT0gKHIgKyAiIikuaW5kZXhPZigiPSIpKSAmJiAociA9ICI1MCUiKSwgdCA9IHIgKyAiICIgKyBzICsgKDIgPCBuLmxlbmd0aCA/ICIgIiArIG5bMl0gOiAiIiksIGUgJiYgKGUub3hwID0gLTEgIT09IHIuaW5kZXhPZigiJSIpLCBlLm95cCA9IC0xICE9PSBzLmluZGV4T2YoIiUiKSwgZS5veHIgPSAiPSIgPT09IHIuY2hhckF0KDEpLCBlLm95ciA9ICI9IiA9PT0gcy5jaGFyQXQoMSksIGUub3ggPSBwYXJzZUZsb2F0KHIucmVwbGFjZSh1LCAiIikpLCBlLm95ID0gcGFyc2VGbG9hdChzLnJlcGxhY2UodSwgIiIpKSwgZS52ID0gdCksIGUgfHwgdAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHV0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAiZnVuY3Rpb24iID09IHR5cGVvZiB0ICYmICh0ID0gdChBLCBDKSksICJzdHJpbmciID09IHR5cGVvZiB0ICYmICI9IiA9PT0gdC5jaGFyQXQoMSkgPyBwYXJzZUludCh0LmNoYXJBdCgwKSArICIxIiwgMTApICogcGFyc2VGbG9hdCh0LnN1YnN0cigyKSkgOiBwYXJzZUZsb2F0KHQpIC0gcGFyc2VGbG9hdChlKSB8fCAwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcHQgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJmdW5jdGlvbiIgPT0gdHlwZW9mIHQgJiYgKHQgPSB0KEEsIEMpKSwgbnVsbCA9PSB0ID8gZSA6ICJzdHJpbmciID09IHR5cGVvZiB0ICYmICI9IiA9PT0gdC5jaGFyQXQoMSkgPyBwYXJzZUludCh0LmNoYXJBdCgwKSArICIxIiwgMTApICogcGFyc2VGbG9hdCh0LnN1YnN0cigyKSkgKyBlIDogcGFyc2VGbG9hdCh0KSB8fCAwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgZnQgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHIsIHMsIGEsIG8sIGw7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJmdW5jdGlvbiIgPT0gdHlwZW9mIHQgJiYgKHQgPSB0KEEsIEMpKSwgKG8gPSBudWxsID09IHQgPyBlIDogIm51bWJlciIgPT0gdHlwZW9mIHQgPyB0IDogKHIgPSAzNjAsIHMgPSB0LnNwbGl0KCJfIiksIGEgPSAoKGwgPSAiPSIgPT09IHQuY2hhckF0KDEpKSA/IHBhcnNlSW50KHQuY2hhckF0KDApICsgIjEiLCAxMCkgKiBwYXJzZUZsb2F0KHNbMF0uc3Vic3RyKDIpKSA6IHBhcnNlRmxvYXQoc1swXSkpICogKC0xID09PSB0LmluZGV4T2YoInJhZCIpID8gMSA6IEcpIC0gKGwgPyAwIDogZSksIHMubGVuZ3RoICYmIChuICYmIChuW2ldID0gZSArIGEpLCAtMSAhPT0gdC5pbmRleE9mKCJzaG9ydCIpICYmICgoYSAlPSByKSAhPT0gYSAlIDE4MCAmJiAoYSA9IGEgPCAwID8gYSArIHIgOiBhIC0gcikpLCAtMSAhPT0gdC5pbmRleE9mKCJfY3ciKSAmJiBhIDwgMCA/IGEgPSAoYSArIDM1OTk5OTk5OTk2NDApICUgciAtIChhIC8gciB8IDApICogciA6IC0xICE9PSB0LmluZGV4T2YoImNjdyIpICYmIDAgPCBhICYmIChhID0gKGEgLSAzNTk5OTk5OTk5NjQwKSAlIHIgLSAoYSAvIHIgfCAwKSAqIHIpKSwgZSArIGEpKSA8IDFlLTYgJiYgLTFlLTYgPCBvICYmIChvID0gMCksIG8KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjdCA9IHsKICAgICAgICAgICAgICAgICAgICBhcXVhOiBbMCwgMjU1LCAyNTVdLAogICAgICAgICAgICAgICAgICAgIGxpbWU6IFswLCAyNTUsIDBdLAogICAgICAgICAgICAgICAgICAgIHNpbHZlcjogWzE5MiwgMTkyLCAxOTJdLAogICAgICAgICAgICAgICAgICAgIGJsYWNrOiBbMCwgMCwgMF0sCiAgICAgICAgICAgICAgICAgICAgbWFyb29uOiBbMTI4LCAwLCAwXSwKICAgICAgICAgICAgICAgICAgICB0ZWFsOiBbMCwgMTI4LCAxMjhdLAogICAgICAgICAgICAgICAgICAgIGJsdWU6IFswLCAwLCAyNTVdLAogICAgICAgICAgICAgICAgICAgIG5hdnk6IFswLCAwLCAxMjhdLAogICAgICAgICAgICAgICAgICAgIHdoaXRlOiBbMjU1LCAyNTUsIDI1NV0sCiAgICAgICAgICAgICAgICAgICAgZnVjaHNpYTogWzI1NSwgMCwgMjU1XSwKICAgICAgICAgICAgICAgICAgICBvbGl2ZTogWzEyOCwgMTI4LCAwXSwKICAgICAgICAgICAgICAgICAgICB5ZWxsb3c6IFsyNTUsIDI1NSwgMF0sCiAgICAgICAgICAgICAgICAgICAgb3JhbmdlOiBbMjU1LCAxNjUsIDBdLAogICAgICAgICAgICAgICAgICAgIGdyYXk6IFsxMjgsIDEyOCwgMTI4XSwKICAgICAgICAgICAgICAgICAgICBwdXJwbGU6IFsxMjgsIDAsIDEyOF0sCiAgICAgICAgICAgICAgICAgICAgZ3JlZW46IFswLCAxMjgsIDBdLAogICAgICAgICAgICAgICAgICAgIHJlZDogWzI1NSwgMCwgMF0sCiAgICAgICAgICAgICAgICAgICAgcGluazogWzI1NSwgMTkyLCAyMDNdLAogICAgICAgICAgICAgICAgICAgIGN5YW46IFswLCAyNTUsIDI1NV0sCiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ6IFsyNTUsIDI1NSwgMjU1LCAwXQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGR0ID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAyNTUgKiAoNiAqICh0ID0gdCA8IDAgPyB0ICsgMSA6IDEgPCB0ID8gdCAtIDEgOiB0KSA8IDEgPyBlICsgKGkgLSBlKSAqIHQgKiA2IDogdCA8IC41ID8gaSA6IDMgKiB0IDwgMiA/IGUgKyAoaSAtIGUpICogKDIgLyAzIC0gdCkgKiA2IDogZSkgKyAuNSB8IDAKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBfdCA9IGoucGFyc2VDb2xvciA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaSwgbiwgciwgcywgYSwgbywgbCwgaCwgdSwgcCwgZjsKICAgICAgICAgICAgICAgICAgICBpZiAodCkKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCJudW1iZXIiID09IHR5cGVvZiB0KSBpID0gW3QgPj4gMTYsIHQgPj4gOCAmIDI1NSwgMjU1ICYgdF07CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCIsIiA9PT0gdC5jaGFyQXQodC5sZW5ndGggLSAxKSAmJiAodCA9IHQuc3Vic3RyKDAsIHQubGVuZ3RoIC0gMSkpLCBjdFt0XSkgaSA9IGN0W3RdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIiMiID09PSB0LmNoYXJBdCgwKSkgNCA9PT0gdC5sZW5ndGggJiYgKHQgPSAiIyIgKyAobiA9IHQuY2hhckF0KDEpKSArIG4gKyAociA9IHQuY2hhckF0KDIpKSArIHIgKyAocyA9IHQuY2hhckF0KDMpKSArIHMpLCBpID0gWyh0ID0gcGFyc2VJbnQodC5zdWJzdHIoMSksIDE2KSkgPj4gMTYsIHQgPj4gOCAmIDI1NSwgMjU1ICYgdF07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgiaHNsIiA9PT0gdC5zdWJzdHIoMCwgMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPSBmID0gdC5tYXRjaChSKSwgZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoLTEgIT09IHQuaW5kZXhPZigiPSIpKSByZXR1cm4gdC5tYXRjaChNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBhID0gTnVtYmVyKGlbMF0pICUgMzYwIC8gMzYwLCBvID0gTnVtYmVyKGlbMV0pIC8gMTAwLCBuID0gMiAqIChsID0gTnVtYmVyKGlbMl0pIC8gMTAwKSAtIChyID0gbCA8PSAuNSA/IGwgKiAobyArIDEpIDogbCArIG8gLSBsICogbyksIDMgPCBpLmxlbmd0aCAmJiAoaVszXSA9IE51bWJlcih0WzNdKSksIGlbMF0gPSBkdChhICsgMSAvIDMsIG4sIHIpLCBpWzFdID0gZHQoYSwgbiwgciksIGlbMl0gPSBkdChhIC0gMSAvIDMsIG4sIHIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpID0gdC5tYXRjaChSKSB8fCBjdC50cmFuc3BhcmVudDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlbMF0gPSBOdW1iZXIoaVswXSksIGlbMV0gPSBOdW1iZXIoaVsxXSksIGlbMl0gPSBOdW1iZXIoaVsyXSksIDMgPCBpLmxlbmd0aCAmJiAoaVszXSA9IE51bWJlcihpWzNdKSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2UgaSA9IGN0LmJsYWNrOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBlICYmICFmICYmIChuID0gaVswXSAvIDI1NSwgciA9IGlbMV0gLyAyNTUsIHMgPSBpWzJdIC8gMjU1LCBsID0gKChoID0gTWF0aC5tYXgobiwgciwgcykpICsgKHUgPSBNYXRoLm1pbihuLCByLCBzKSkpIC8gMiwgaCA9PT0gdSA/IGEgPSBvID0gMCA6IChwID0gaCAtIHUsIG8gPSAuNSA8IGwgPyBwIC8gKDIgLSBoIC0gdSkgOiBwIC8gKGggKyB1KSwgYSA9IGggPT09IG4gPyAociAtIHMpIC8gcCArIChyIDwgcyA/IDYgOiAwKSA6IGggPT09IHIgPyAocyAtIG4pIC8gcCArIDIgOiAobiAtIHIpIC8gcCArIDQsIGEgKj0gNjApLCBpWzBdID0gYSArIC41IHwgMCwgaVsxXSA9IDEwMCAqIG8gKyAuNSB8IDAsIGlbMl0gPSAxMDAgKiBsICsgLjUgfCAwKSwgaQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGd0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIHZhciBpLCBuLCByLCBzID0gdC5tYXRjaChtdCkgfHwgW10sCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSAwLAogICAgICAgICAgICAgICAgICAgICAgICBvID0gcy5sZW5ndGggPyAiIiA6IHQ7CiAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHMubGVuZ3RoOyBpKyspIG4gPSBzW2ldLCBhICs9IChyID0gdC5zdWJzdHIoYSwgdC5pbmRleE9mKG4sIGEpIC0gYSkpLmxlbmd0aCArIG4ubGVuZ3RoLCAzID09PSAobiA9IF90KG4sIGUpKS5sZW5ndGggJiYgbi5wdXNoKDEpLCBvICs9IHIgKyAoZSA/ICJoc2xhKCIgKyBuWzBdICsgIiwiICsgblsxXSArICIlLCIgKyBuWzJdICsgIiUsIiArIG5bM10gOiAicmdiYSgiICsgbi5qb2luKCIsIikpICsgIikiOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBvICsgdC5zdWJzdHIoYSkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBtdCA9ICIoPzpcXGIoPzooPzpyZ2J8cmdiYXxoc2x8aHNsYSlcXCguKz9cXCkpfFxcQiMoPzpbMC05YS1mXXszfSl7MSwyfVxcYiI7CiAgICAgICAgICAgIGZvciAodCBpbiBjdCkgbXQgKz0gInwiICsgdCArICJcXGIiOwogICAgICAgICAgICBtdCA9IG5ldyBSZWdFeHAobXQgKyAiKSIsICJnaSIpLCBqLmNvbG9yU3RyaW5nRmlsdGVyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGUsIGkgPSB0WzBdICsgdFsxXTsKICAgICAgICAgICAgICAgIG10LnRlc3QoaSkgJiYgKGUgPSAtMSAhPT0gaS5pbmRleE9mKCJoc2woIikgfHwgLTEgIT09IGkuaW5kZXhPZigiaHNsYSgiKSwgdFswXSA9IGd0KHRbMF0sIGUpLCB0WzFdID0gZ3QodFsxXSwgZSkpLCBtdC5sYXN0SW5kZXggPSAwCiAgICAgICAgICAgIH0sIEIuZGVmYXVsdFN0cmluZ0ZpbHRlciB8fCAoQi5kZWZhdWx0U3RyaW5nRmlsdGVyID0gai5jb2xvclN0cmluZ0ZpbHRlcik7CiAgICAgICAgICAgIHZhciB2dCA9IGZ1bmN0aW9uKHQsIGUsIHMsIGEpIHsKICAgICAgICAgICAgICAgICAgICBpZiAobnVsbCA9PSB0KSByZXR1cm4gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdAogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgdmFyIG8sIGwgPSBlID8gKHQubWF0Y2gobXQpIHx8IFsiIl0pWzBdIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgIGggPSB0LnNwbGl0KGwpLmpvaW4oIiIpLm1hdGNoKHgpIHx8IFtdLAogICAgICAgICAgICAgICAgICAgICAgICB1ID0gdC5zdWJzdHIoMCwgdC5pbmRleE9mKGhbMF0pKSwKICAgICAgICAgICAgICAgICAgICAgICAgcCA9ICIpIiA9PT0gdC5jaGFyQXQodC5sZW5ndGggLSAxKSA/ICIpIiA6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICBmID0gLTEgIT09IHQuaW5kZXhPZigiICIpID8gIiAiIDogIiwiLAogICAgICAgICAgICAgICAgICAgICAgICBjID0gaC5sZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgIGQgPSAwIDwgYyA/IGhbMF0ucmVwbGFjZShSLCAiIikgOiAiIjsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gYyA/IG8gPSBlID8gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZSwgaSwgbiwgcjsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCJudW1iZXIiID09IHR5cGVvZiB0KSB0ICs9IGQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGEgJiYgTi50ZXN0KHQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHIgPSB0LnJlcGxhY2UoTiwgInwiKS5zcGxpdCgifCIpLCBuID0gMDsgbiA8IHIubGVuZ3RoOyBuKyspIHJbbl0gPSBvKHJbbl0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHIuam9pbigiLCIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUgPSAodC5tYXRjaChtdCkgfHwgW2xdKVswXSwgbiA9IChpID0gdC5zcGxpdChlKS5qb2luKCIiKS5tYXRjaCh4KSB8fCBbXSkubGVuZ3RoLCBjID4gbi0tKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICg7ICsrbiA8IGM7KSBpW25dID0gcyA/IGlbKG4gLSAxKSAvIDIgfCAwXSA6IGhbbl07CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1ICsgaS5qb2luKGYpICsgZiArIGUgKyBwICsgKC0xICE9PSB0LmluZGV4T2YoImluc2V0IikgPyAiIGluc2V0IiA6ICIiKQogICAgICAgICAgICAgICAgICAgIH0gOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIm51bWJlciIgPT0gdHlwZW9mIHQpIHQgKz0gZDsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYSAmJiBOLnRlc3QodCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IHQucmVwbGFjZShOLCAifCIpLnNwbGl0KCJ8IiksIG4gPSAwOyBuIDwgaS5sZW5ndGg7IG4rKykgaVtuXSA9IG8oaVtuXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaS5qb2luKCIsIikKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAobiA9IChlID0gdC5tYXRjaCh4KSB8fCBbXSkubGVuZ3RoLCBjID4gbi0tKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICg7ICsrbiA8IGM7KSBlW25dID0gcyA/IGVbKG4gLSAxKSAvIDIgfCAwXSA6IGhbbl07CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1ICsgZS5qb2luKGYpICsgcAogICAgICAgICAgICAgICAgICAgIH0gOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHl0ID0gZnVuY3Rpb24oaCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBoID0gaC5zcGxpdCgiLCIpLAogICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0LCBlLCBpLCBuLCByLCBzLCBhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbywgbCA9IChlICsgIiIpLnNwbGl0KCIgIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGEgPSB7fSwgbyA9IDA7IG8gPCA0OyBvKyspIGFbaFtvXV0gPSBsW29dID0gbFtvXSB8fCBsWyhvIC0gMSkgLyAyID4+IDBdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG4ucGFyc2UodCwgYSwgciwgcykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHh0ID0gKHIuX3NldFBsdWdpblJhdGlvID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHRoaXMucGx1Z2luLnNldFJhdGlvKHQpOwogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGUsIGksIG4sIHIsIHMsIGEgPSB0aGlzLmRhdGEsIG8gPSBhLnByb3h5LCBsID0gYS5maXJzdE1QVDsgbDspIGUgPSBvW2wudl0sIGwuciA/IGUgPSBNYXRoLnJvdW5kKGUpIDogZSA8IDFlLTYgJiYgLTFlLTYgPCBlICYmIChlID0gMCksIGwudFtsLnBdID0gZSwgbCA9IGwuX25leHQ7CiAgICAgICAgICAgICAgICAgICAgaWYgKGEuYXV0b1JvdGF0ZSAmJiAoYS5hdXRvUm90YXRlLnJvdGF0aW9uID0gYS5tb2QgPyBhLm1vZChvLnJvdGF0aW9uLCB0aGlzLnQpIDogby5yb3RhdGlvbiksIDEgPT09IHQgfHwgMCA9PT0gdCkKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsID0gYS5maXJzdE1QVCwgcyA9IDEgPT09IHQgPyAiZSIgOiAiYiI7IGw7KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGkgPSBsLnQpLnR5cGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoMSA9PT0gaS50eXBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAociA9IGkueHMwICsgaS5zICsgaS54czEsIG4gPSAxOyBuIDwgaS5sOyBuKyspIHIgKz0gaVsieG4iICsgbl0gKyBpWyJ4cyIgKyAobiArIDEpXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaVtzXSA9IHIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaVtzXSA9IGkucyArIGkueHMwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbCA9IGwuX25leHQKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24odCwgZSwgaSwgbiwgcikgewogICAgICAgICAgICAgICAgICAgIHRoaXMudCA9IHQsIHRoaXMucCA9IGUsIHRoaXMudiA9IGksIHRoaXMuciA9IHIsIG4gJiYgKChuLl9wcmV2ID0gdGhpcykuX25leHQgPSBuKQogICAgICAgICAgICAgICAgfSksCiAgICAgICAgICAgICAgICB3dCA9IChyLl9wYXJzZVRvUHJveHkgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCByLCBzKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGEsIG8sIGwsIGgsIHUsIHAgPSBuLAogICAgICAgICAgICAgICAgICAgICAgICBmID0ge30sCiAgICAgICAgICAgICAgICAgICAgICAgIGMgPSB7fSwKICAgICAgICAgICAgICAgICAgICAgICAgZCA9IGkuX3RyYW5zZm9ybSwKICAgICAgICAgICAgICAgICAgICAgICAgXyA9IEk7CiAgICAgICAgICAgICAgICAgICAgZm9yIChpLl90cmFuc2Zvcm0gPSBudWxsLCBJID0gZSwgbiA9IHUgPSBpLnBhcnNlKHQsIGUsIG4sIHIpLCBJID0gXywgcyAmJiAoaS5fdHJhbnNmb3JtID0gZCwgcCAmJiAocC5fcHJldiA9IG51bGwsIHAuX3ByZXYgJiYgKHAuX3ByZXYuX25leHQgPSBudWxsKSkpOyBuICYmIG4gIT09IHA7KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuLnR5cGUgPD0gMSAmJiAoY1tvID0gbi5wXSA9IG4ucyArIG4uYywgZltvXSA9IG4ucywgcyB8fCAoaCA9IG5ldyB4dChuLCAicyIsIG8sIGgsIG4uciksIG4uYyA9IDApLCAxID09PSBuLnR5cGUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChhID0gbi5sOyAwIDwgLS1hOykgbCA9ICJ4biIgKyBhLCBjW28gPSBuLnAgKyAiXyIgKyBsXSA9IG4uZGF0YVtsXSwgZltvXSA9IG5bbF0sIHMgfHwgKGggPSBuZXcgeHQobiwgbCwgbywgaCwgbi5yeHBbbF0pKTsKICAgICAgICAgICAgICAgICAgICAgICAgbiA9IG4uX25leHQKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICAgICAgICAgcHJveHk6IGYsCiAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogYywKICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RNUFQ6IGgsCiAgICAgICAgICAgICAgICAgICAgICAgIHB0OiB1CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwgci5DU1NQcm9wVHdlZW4gPSBmdW5jdGlvbih0LCBlLCBpLCBuLCByLCBzLCBhLCBvLCBsLCBoLCB1KSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy50ID0gdCwgdGhpcy5wID0gZSwgdGhpcy5zID0gaSwgdGhpcy5jID0gbiwgdGhpcy5uID0gYSB8fCBlLCB0IGluc3RhbmNlb2Ygd3QgfHwgXy5wdXNoKHRoaXMubiksIHRoaXMuciA9IG8sIHRoaXMudHlwZSA9IHMgfHwgMCwgbCAmJiAodGhpcy5wciA9IGwsIGQgPSAhMCksIHRoaXMuYiA9IHZvaWQgMCA9PT0gaCA/IGkgOiBoLCB0aGlzLmUgPSB2b2lkIDAgPT09IHUgPyBpICsgbiA6IHUsIHIgJiYgKCh0aGlzLl9uZXh0ID0gcikuX3ByZXYgPSB0aGlzKQogICAgICAgICAgICAgICAgfSksCiAgICAgICAgICAgICAgICBUdCA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIHIsIHMpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgYSA9IG5ldyB3dCh0LCBlLCBpLCBuIC0gaSwgciwgLTEsIHMpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBhLmIgPSBpLCBhLmUgPSBhLnhzMCA9IG4sIGEKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBidCA9IGoucGFyc2VDb21wbGV4ID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgciwgcywgYSwgbywgbCwgaCkgewogICAgICAgICAgICAgICAgICAgIGkgPSBpIHx8IHMgfHwgIiIsICJmdW5jdGlvbiIgPT0gdHlwZW9mIG4gJiYgKG4gPSBuKEEsIEMpKSwgYSA9IG5ldyB3dCh0LCBlLCAwLCAwLCBhLCBoID8gMiA6IDEsIG51bGwsICExLCBvLCBpLCBuKSwgbiArPSAiIiwgciAmJiBtdC50ZXN0KG4gKyBpKSAmJiAobiA9IFtpLCBuXSwgai5jb2xvclN0cmluZ0ZpbHRlcihuKSwgaSA9IG5bMF0sIG4gPSBuWzFdKTsKICAgICAgICAgICAgICAgICAgICB2YXIgdSwgcCwgZiwgYywgZCwgXywgZywgbSwgdiwgeSwgeCwgdywgVCwgYiA9IGkuc3BsaXQoIiwgIikuam9pbigiLCIpLnNwbGl0KCIgIiksCiAgICAgICAgICAgICAgICAgICAgICAgIFAgPSBuLnNwbGl0KCIsICIpLmpvaW4oIiwiKS5zcGxpdCgiICIpLAogICAgICAgICAgICAgICAgICAgICAgICBTID0gYi5sZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgIE8gPSAhMSAhPT0gazsKICAgICAgICAgICAgICAgICAgICBmb3IgKCgtMSAhPT0gbi5pbmRleE9mKCIsIikgfHwgLTEgIT09IGkuaW5kZXhPZigiLCIpKSAmJiAoYiA9IGIuam9pbigiICIpLnJlcGxhY2UoTiwgIiwgIikuc3BsaXQoIiAiKSwgUCA9IFAuam9pbigiICIpLnJlcGxhY2UoTiwgIiwgIikuc3BsaXQoIiAiKSwgUyA9IGIubGVuZ3RoKSwgUyAhPT0gUC5sZW5ndGggJiYgKFMgPSAoYiA9IChzIHx8ICIiKS5zcGxpdCgiICIpKS5sZW5ndGgpLCBhLnBsdWdpbiA9IGwsIGEuc2V0UmF0aW8gPSBoLCB1ID0gbXQubGFzdEluZGV4ID0gMDsgdSA8IFM7IHUrKykKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGMgPSBiW3VdLCBkID0gUFt1XSwgKG0gPSBwYXJzZUZsb2F0KGMpKSB8fCAwID09PSBtKSBhLmFwcGVuZFh0cmEoIiIsIG0sIHV0KGQsIG0pLCBkLnJlcGxhY2UoTSwgIiIpLCBPICYmIC0xICE9PSBkLmluZGV4T2YoInB4IiksICEwKTsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAociAmJiBtdC50ZXN0KGMpKSB3ID0gIikiICsgKCh3ID0gZC5pbmRleE9mKCIpIikgKyAxKSA/IGQuc3Vic3RyKHcpIDogIiIpLCBUID0gLTEgIT09IGQuaW5kZXhPZigiaHNsIikgJiYgUSwgYyA9IF90KGMsIFQpLCBkID0gX3QoZCwgVCksICh2ID0gNiA8IGMubGVuZ3RoICsgZC5sZW5ndGgpICYmICFRICYmIDAgPT09IGRbM10gPyAoYVsieHMiICsgYS5sXSArPSBhLmwgPyAiIHRyYW5zcGFyZW50IiA6ICJ0cmFuc3BhcmVudCIsIGEuZSA9IGEuZS5zcGxpdChQW3VdKS5qb2luKCJ0cmFuc3BhcmVudCIpKSA6IChRIHx8ICh2ID0gITEpLCBUID8gYS5hcHBlbmRYdHJhKHYgPyAiaHNsYSgiIDogImhzbCgiLCBjWzBdLCB1dChkWzBdLCBjWzBdKSwgIiwiLCAhMSwgITApLmFwcGVuZFh0cmEoIiIsIGNbMV0sIHV0KGRbMV0sIGNbMV0pLCAiJSwiLCAhMSkuYXBwZW5kWHRyYSgiIiwgY1syXSwgdXQoZFsyXSwgY1syXSksIHYgPyAiJSwiIDogIiUiICsgdywgITEpIDogYS5hcHBlbmRYdHJhKHYgPyAicmdiYSgiIDogInJnYigiLCBjWzBdLCBkWzBdIC0gY1swXSwgIiwiLCAhMCwgITApLmFwcGVuZFh0cmEoIiIsIGNbMV0sIGRbMV0gLSBjWzFdLCAiLCIsICEwKS5hcHBlbmRYdHJhKCIiLCBjWzJdLCBkWzJdIC0gY1syXSwgdiA/ICIsIiA6IHcsICEwKSwgdiAmJiAoYyA9IGMubGVuZ3RoIDwgNCA/IDEgOiBjWzNdLCBhLmFwcGVuZFh0cmEoIiIsIGMsIChkLmxlbmd0aCA8IDQgPyAxIDogZFszXSkgLSBjLCB3LCAhMSkpKSwgbXQubGFzdEluZGV4ID0gMDsKICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChfID0gYy5tYXRjaChSKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShnID0gZC5tYXRjaChNKSkgfHwgZy5sZW5ndGggIT09IF8ubGVuZ3RoKSByZXR1cm4gYTsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChwID0gZiA9IDA7IHAgPCBfLmxlbmd0aDsgcCsrKSB4ID0gX1twXSwgeSA9IGMuaW5kZXhPZih4LCBmKSwgYS5hcHBlbmRYdHJhKGMuc3Vic3RyKGYsIHkgLSBmKSwgTnVtYmVyKHgpLCB1dChnW3BdLCB4KSwgIiIsIE8gJiYgInB4IiA9PT0gYy5zdWJzdHIoeSArIHgubGVuZ3RoLCAyKSwgMCA9PT0gcCksIGYgPSB5ICsgeC5sZW5ndGg7CiAgICAgICAgICAgICAgICAgICAgICAgIGFbInhzIiArIGEubF0gKz0gYy5zdWJzdHIoZikKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgYVsieHMiICsgYS5sXSArPSBhLmwgfHwgYVsieHMiICsgYS5sXSA/ICIgIiArIGQgOiBkOwogICAgICAgICAgICAgICAgICAgIGlmICgtMSAhPT0gbi5pbmRleE9mKCI9IikgJiYgYS5kYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodyA9IGEueHMwICsgYS5kYXRhLnMsIHUgPSAxOyB1IDwgYS5sOyB1KyspIHcgKz0gYVsieHMiICsgdV0gKyBhLmRhdGFbInhuIiArIHVdOwogICAgICAgICAgICAgICAgICAgICAgICBhLmUgPSB3ICsgYVsieHMiICsgdV0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEubCB8fCAoYS50eXBlID0gLTEsIGEueHMwID0gYS5lKSwgYS54Zmlyc3QgfHwgYQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFB0ID0gOTsKICAgICAgICAgICAgZm9yICgodCA9IHd0LnByb3RvdHlwZSkubCA9IHQucHIgPSAwOyAwIDwgLS1QdDspIHRbInhuIiArIFB0XSA9IDAsIHRbInhzIiArIFB0XSA9ICIiOwogICAgICAgICAgICB0LnhzMCA9ICIiLCB0Ll9uZXh0ID0gdC5fcHJldiA9IHQueGZpcnN0ID0gdC5kYXRhID0gdC5wbHVnaW4gPSB0LnNldFJhdGlvID0gdC5yeHAgPSBudWxsLCB0LmFwcGVuZFh0cmEgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCByLCBzKSB7CiAgICAgICAgICAgICAgICB2YXIgYSA9IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgbyA9IGEubDsKICAgICAgICAgICAgICAgIHJldHVybiBhWyJ4cyIgKyBvXSArPSBzICYmIChvIHx8IGFbInhzIiArIG9dKSA/ICIgIiArIHQgOiB0IHx8ICIiLCBpIHx8IDAgPT09IG8gfHwgYS5wbHVnaW4gPyAoYS5sKyssIGEudHlwZSA9IGEuc2V0UmF0aW8gPyAyIDogMSwgYVsieHMiICsgYS5sXSA9IG4gfHwgIiIsIDAgPCBvID8gKGEuZGF0YVsieG4iICsgb10gPSBlICsgaSwgYS5yeHBbInhuIiArIG9dID0gciwgYVsieG4iICsgb10gPSBlLCBhLnBsdWdpbiB8fCAoYS54Zmlyc3QgPSBuZXcgd3QoYSwgInhuIiArIG8sIGUsIGksIGEueGZpcnN0IHx8IGEsIDAsIGEubiwgciwgYS5wciksIGEueGZpcnN0LnhzMCA9IDApKSA6IChhLmRhdGEgPSB7CiAgICAgICAgICAgICAgICAgICAgczogZSArIGkKICAgICAgICAgICAgICAgIH0sIGEucnhwID0ge30sIGEucyA9IGUsIGEuYyA9IGksIGEuciA9IHIpKSA6IGFbInhzIiArIG9dICs9IGUgKyAobiB8fCAiIiksIGEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdmFyIFN0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIGUgPSBlIHx8IHt9LCB0aGlzLnAgPSBlLnByZWZpeCAmJiBKKHQpIHx8IHQsIGdbdF0gPSBnW3RoaXMucF0gPSB0aGlzLCB0aGlzLmZvcm1hdCA9IGUuZm9ybWF0dGVyIHx8IHZ0KGUuZGVmYXVsdFZhbHVlLCBlLmNvbG9yLCBlLmNvbGxhcHNpYmxlLCBlLm11bHRpKSwgZS5wYXJzZXIgJiYgKHRoaXMucGFyc2UgPSBlLnBhcnNlciksIHRoaXMuY2xycyA9IGUuY29sb3IsIHRoaXMubXVsdGkgPSBlLm11bHRpLCB0aGlzLmtleXdvcmQgPSBlLmtleXdvcmQsIHRoaXMuZGZsdCA9IGUuZGVmYXVsdFZhbHVlLCB0aGlzLnByID0gZS5wcmlvcml0eSB8fCAwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgT3QgPSByLl9yZWdpc3RlckNvbXBsZXhTcGVjaWFsUHJvcCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgICAgICAib2JqZWN0IiAhPSB0eXBlb2YgZSAmJiAoZSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VyOiBpCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4sIHIgPSB0LnNwbGl0KCIsIiksCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSBlLmRlZmF1bHRWYWx1ZTsKICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSBpIHx8IFtzXSwgbiA9IDA7IG4gPCByLmxlbmd0aDsgbisrKSBlLnByZWZpeCA9IDAgPT09IG4gJiYgZS5wcmVmaXgsIGUuZGVmYXVsdFZhbHVlID0gaVtuXSB8fCBzLCBuZXcgU3QocltuXSwgZSkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBrdCA9IHIuX3JlZ2lzdGVyUGx1Z2luUHJvcCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIWdbdF0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGwgPSB0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdC5zdWJzdHIoMSkgKyAiUGx1Z2luIjsKICAgICAgICAgICAgICAgICAgICAgICAgT3QodCwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VyOiBmdW5jdGlvbih0LCBlLCBpLCBuLCByLCBzLCBhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG8gPSBoLmNvbS5ncmVlbnNvY2sucGx1Z2luc1tsXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbyA/IChvLl9jc3NSZWdpc3RlcigpLCBnW2ldLnBhcnNlKHQsIGUsIGksIG4sIHIsIHMsIGEpKSA6IChaKCJFcnJvcjogIiArIGwgKyAiIGpzIGZpbGUgbm90IGxvYWRlZC4iKSwgcikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAodCA9IFN0LnByb3RvdHlwZSkucGFyc2VDb21wbGV4ID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgciwgcykgewogICAgICAgICAgICAgICAgdmFyIGEsIG8sIGwsIGgsIHUsIHAsIGYgPSB0aGlzLmtleXdvcmQ7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5tdWx0aSAmJiAoTi50ZXN0KGkpIHx8IE4udGVzdChlKSA/IChvID0gZS5yZXBsYWNlKE4sICJ8Iikuc3BsaXQoInwiKSwgbCA9IGkucmVwbGFjZShOLCAifCIpLnNwbGl0KCJ8IikpIDogZiAmJiAobyA9IFtlXSwgbCA9IFtpXSkpLCBsKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yIChoID0gbC5sZW5ndGggPiBvLmxlbmd0aCA/IGwubGVuZ3RoIDogby5sZW5ndGgsIGEgPSAwOyBhIDwgaDsgYSsrKSBlID0gb1thXSA9IG9bYV0gfHwgdGhpcy5kZmx0LCBpID0gbFthXSA9IGxbYV0gfHwgdGhpcy5kZmx0LCBmICYmICgodSA9IGUuaW5kZXhPZihmKSkgIT09IChwID0gaS5pbmRleE9mKGYpKSAmJiAoLTEgPT09IHAgPyBvW2FdID0gb1thXS5zcGxpdChmKS5qb2luKCIiKSA6IC0xID09PSB1ICYmIChvW2FdICs9ICIgIiArIGYpKSk7CiAgICAgICAgICAgICAgICAgICAgZSA9IG8uam9pbigiLCAiKSwgaSA9IGwuam9pbigiLCAiKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGJ0KHQsIHRoaXMucCwgZSwgaSwgdGhpcy5jbHJzLCB0aGlzLmRmbHQsIG4sIHRoaXMucHIsIHIsIHMpCiAgICAgICAgICAgIH0sIHQucGFyc2UgPSBmdW5jdGlvbih0LCBlLCBpLCBuLCByLCBzLCBhKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUNvbXBsZXgodC5zdHlsZSwgdGhpcy5mb3JtYXQoZXQodCwgdGhpcy5wLCBPLCAhMSwgdGhpcy5kZmx0KSksIHRoaXMuZm9ybWF0KGUpLCByLCBzKQogICAgICAgICAgICB9LCBqLnJlZ2lzdGVyU3BlY2lhbFByb3AgPSBmdW5jdGlvbih0LCBsLCBoKSB7CiAgICAgICAgICAgICAgICBPdCh0LCB7CiAgICAgICAgICAgICAgICAgICAgcGFyc2VyOiBmdW5jdGlvbih0LCBlLCBpLCBuLCByLCBzLCBhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvID0gbmV3IHd0KHQsIGksIDAsIDAsIHIsIDIsIGksICExLCBoKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG8ucGx1Z2luID0gcywgby5zZXRSYXRpbyA9IGwodCwgZSwgbi5fdHdlZW4sIGkpLCBvCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogaAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSwgai51c2VTVkdUcmFuc2Zvcm1BdHRyID0gITA7CiAgICAgICAgICAgIHZhciBDdCwgQXQsIFJ0LCBNdCwgRXQsIER0ID0gInNjYWxlWCxzY2FsZVksc2NhbGVaLHgseSx6LHNrZXdYLHNrZXdZLHJvdGF0aW9uLHJvdGF0aW9uWCxyb3RhdGlvblkscGVyc3BlY3RpdmUseFBlcmNlbnQseVBlcmNlbnQiLnNwbGl0KCIsIiksCiAgICAgICAgICAgICAgICBMdCA9IEooInRyYW5zZm9ybSIpLAogICAgICAgICAgICAgICAgTnQgPSAkICsgInRyYW5zZm9ybSIsCiAgICAgICAgICAgICAgICBGdCA9IEooInRyYW5zZm9ybU9yaWdpbiIpLAogICAgICAgICAgICAgICAgSXQgPSBudWxsICE9PSBKKCJwZXJzcGVjdGl2ZSIpLAogICAgICAgICAgICAgICAgWHQgPSByLlRyYW5zZm9ybSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHRoaXMucGVyc3BlY3RpdmUgPSBwYXJzZUZsb2F0KGouZGVmYXVsdFRyYW5zZm9ybVBlcnNwZWN0aXZlKSB8fCAwLCB0aGlzLmZvcmNlM0QgPSAhKCExID09PSBqLmRlZmF1bHRGb3JjZTNEIHx8ICFJdCkgJiYgKGouZGVmYXVsdEZvcmNlM0QgfHwgImF1dG8iKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHp0ID0gX2dzU2NvcGUuU1ZHRWxlbWVudCwKICAgICAgICAgICAgICAgIEJ0ID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgICAgICAgIHZhciBuLCByID0gWC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgdCksCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSAvKFthLXpdKShbQS1aXSkvZzsKICAgICAgICAgICAgICAgICAgICBmb3IgKG4gaW4gaSkgci5zZXRBdHRyaWJ1dGVOUyhudWxsLCBuLnJlcGxhY2UocywgIiQxLSQyIikudG9Mb3dlckNhc2UoKSwgaVtuXSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuYXBwZW5kQ2hpbGQociksIHIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBqdCA9IFguZG9jdW1lbnRFbGVtZW50IHx8IHt9LAogICAgICAgICAgICAgICAgWXQgPSAoRXQgPSBTIHx8IC9BbmRyb2lkL2kudGVzdChxKSAmJiAhX2dzU2NvcGUuY2hyb21lLCBYLmNyZWF0ZUVsZW1lbnROUyAmJiAhRXQgJiYgKEF0ID0gQnQoInN2ZyIsIGp0KSwgTXQgPSAoUnQgPSBCdCgicmVjdCIsIEF0LCB7CiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCwKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwLAogICAgICAgICAgICAgICAgICAgIHg6IDEwMAogICAgICAgICAgICAgICAgfSkpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoLCBSdC5zdHlsZVtGdF0gPSAiNTAlIDUwJSIsIFJ0LnN0eWxlW0x0XSA9ICJzY2FsZVgoMC41KSIsIEV0ID0gTXQgPT09IFJ0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoICYmICEoWSAmJiBJdCksIGp0LnJlbW92ZUNoaWxkKEF0KSksIEV0KSwKICAgICAgICAgICAgICAgIFZ0ID0gZnVuY3Rpb24odCwgZSwgaSwgbiwgciwgcykgewogICAgICAgICAgICAgICAgICAgIHZhciBhLCBvLCBsLCBoLCB1LCBwLCBmLCBjLCBkLCBfLCBnLCBtLCB2LCB5LCB4ID0gdC5fZ3NUcmFuc2Zvcm0sCiAgICAgICAgICAgICAgICAgICAgICAgIHcgPSBxdCh0LCAhMCk7CiAgICAgICAgICAgICAgICAgICAgeCAmJiAodiA9IHgueE9yaWdpbiwgeSA9IHgueU9yaWdpbiksICghbiB8fCAoYSA9IG4uc3BsaXQoIiAiKSkubGVuZ3RoIDwgMikgJiYgKDAgPT09IChmID0gdC5nZXRCQm94KCkpLnggJiYgMCA9PT0gZi55ICYmIGYud2lkdGggKyBmLmhlaWdodCA9PT0gMCAmJiAoZiA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgeDogcGFyc2VGbG9hdCh0Lmhhc0F0dHJpYnV0ZSgieCIpID8gdC5nZXRBdHRyaWJ1dGUoIngiKSA6IHQuaGFzQXR0cmlidXRlKCJjeCIpID8gdC5nZXRBdHRyaWJ1dGUoImN4IikgOiAwKSB8fCAwLAogICAgICAgICAgICAgICAgICAgICAgICB5OiBwYXJzZUZsb2F0KHQuaGFzQXR0cmlidXRlKCJ5IikgPyB0LmdldEF0dHJpYnV0ZSgieSIpIDogdC5oYXNBdHRyaWJ1dGUoImN5IikgPyB0LmdldEF0dHJpYnV0ZSgiY3kiKSA6IDApIHx8IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDAKICAgICAgICAgICAgICAgICAgICB9KSwgYSA9IFsoLTEgIT09IChlID0gaHQoZSkuc3BsaXQoIiAiKSlbMF0uaW5kZXhPZigiJSIpID8gcGFyc2VGbG9hdChlWzBdKSAvIDEwMCAqIGYud2lkdGggOiBwYXJzZUZsb2F0KGVbMF0pKSArIGYueCwgKC0xICE9PSBlWzFdLmluZGV4T2YoIiUiKSA/IHBhcnNlRmxvYXQoZVsxXSkgLyAxMDAgKiBmLmhlaWdodCA6IHBhcnNlRmxvYXQoZVsxXSkpICsgZi55XSksIGkueE9yaWdpbiA9IGggPSBwYXJzZUZsb2F0KGFbMF0pLCBpLnlPcmlnaW4gPSB1ID0gcGFyc2VGbG9hdChhWzFdKSwgbiAmJiB3ICE9PSBVdCAmJiAocCA9IHdbMF0sIGYgPSB3WzFdLCBjID0gd1syXSwgZCA9IHdbM10sIF8gPSB3WzRdLCBnID0gd1s1XSwgKG0gPSBwICogZCAtIGYgKiBjKSAmJiAobyA9IGggKiAoZCAvIG0pICsgdSAqICgtYyAvIG0pICsgKGMgKiBnIC0gZCAqIF8pIC8gbSwgbCA9IGggKiAoLWYgLyBtKSArIHUgKiAocCAvIG0pIC0gKHAgKiBnIC0gZiAqIF8pIC8gbSwgaCA9IGkueE9yaWdpbiA9IGFbMF0gPSBvLCB1ID0gaS55T3JpZ2luID0gYVsxXSA9IGwpKSwgeCAmJiAocyAmJiAoaS54T2Zmc2V0ID0geC54T2Zmc2V0LCBpLnlPZmZzZXQgPSB4LnlPZmZzZXQsIHggPSBpKSwgciB8fCAhMSAhPT0gciAmJiAhMSAhPT0gai5kZWZhdWx0U21vb3RoT3JpZ2luID8gKG8gPSBoIC0gdiwgbCA9IHUgLSB5LCB4LnhPZmZzZXQgKz0gbyAqIHdbMF0gKyBsICogd1syXSAtIG8sIHgueU9mZnNldCArPSBvICogd1sxXSArIGwgKiB3WzNdIC0gbCkgOiB4LnhPZmZzZXQgPSB4LnlPZmZzZXQgPSAwKSwgcyB8fCB0LnNldEF0dHJpYnV0ZSgiZGF0YS1zdmctb3JpZ2luIiwgYS5qb2luKCIgIikpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgR3QgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUsIGkgPSB6KCJzdmciLCB0aGlzLm93bmVyU1ZHRWxlbWVudC5nZXRBdHRyaWJ1dGUoInhtbG5zIikgfHwgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiksCiAgICAgICAgICAgICAgICAgICAgICAgIG4gPSB0aGlzLnBhcmVudE5vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSB0aGlzLm5leHRTaWJsaW5nLAogICAgICAgICAgICAgICAgICAgICAgICBzID0gdGhpcy5zdHlsZS5jc3NUZXh0OwogICAgICAgICAgICAgICAgICAgIGlmIChqdC5hcHBlbmRDaGlsZChpKSwgaS5hcHBlbmRDaGlsZCh0aGlzKSwgdGhpcy5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIiwgdCkgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgZSA9IHRoaXMuZ2V0QkJveCgpLCB0aGlzLl9vcmlnaW5hbEdldEJCb3ggPSB0aGlzLmdldEJCb3gsIHRoaXMuZ2V0QkJveCA9IEd0CiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAodCkge30gZWxzZSB0aGlzLl9vcmlnaW5hbEdldEJCb3ggJiYgKGUgPSB0aGlzLl9vcmlnaW5hbEdldEJCb3goKSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHIgPyBuLmluc2VydEJlZm9yZSh0aGlzLCByKSA6IG4uYXBwZW5kQ2hpbGQodGhpcyksIGp0LnJlbW92ZUNoaWxkKGkpLCB0aGlzLnN0eWxlLmNzc1RleHQgPSBzLCBlCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgV3QgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICEoISh6dCAmJiB0LmdldENUTSAmJiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZS5nZXRCQm94KCkKICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAodCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEd0LmNhbGwoZSwgITApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KHQpKSB8fCB0LnBhcmVudE5vZGUgJiYgIXQub3duZXJTVkdFbGVtZW50KQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFV0ID0gWzEsIDAsIDAsIDEsIDAsIDBdLAogICAgICAgICAgICAgICAgcXQgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGksIG4sIHIsIHMsIGEsIG8sIGwgPSB0Ll9nc1RyYW5zZm9ybSB8fCBuZXcgWHQsCiAgICAgICAgICAgICAgICAgICAgICAgIGggPSB0LnN0eWxlOwogICAgICAgICAgICAgICAgICAgIGlmIChMdCA/IG4gPSBldCh0LCBOdCwgbnVsbCwgITApIDogdC5jdXJyZW50U3R5bGUgJiYgKG4gPSAobiA9IHQuY3VycmVudFN0eWxlLmZpbHRlci5tYXRjaChmKSkgJiYgNCA9PT0gbi5sZW5ndGggPyBbblswXS5zdWJzdHIoNCksIE51bWJlcihuWzJdLnN1YnN0cig0KSksIE51bWJlcihuWzFdLnN1YnN0cig0KSksIG5bM10uc3Vic3RyKDQpLCBsLnggfHwgMCwgbC55IHx8IDBdLmpvaW4oIiwiKSA6ICIiKSwgKGkgPSAhbiB8fCAibm9uZSIgPT09IG4gfHwgIm1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKSIgPT09IG4pICYmIEx0ICYmICgobyA9ICJub25lIiA9PT0gdHQodCkuZGlzcGxheSkgfHwgIXQucGFyZW50Tm9kZSkgJiYgKG8gJiYgKHMgPSBoLmRpc3BsYXksIGguZGlzcGxheSA9ICJibG9jayIpLCB0LnBhcmVudE5vZGUgfHwgKGEgPSAxLCBqdC5hcHBlbmRDaGlsZCh0KSksIGkgPSAhKG4gPSBldCh0LCBOdCwgbnVsbCwgITApKSB8fCAibm9uZSIgPT09IG4gfHwgIm1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKSIgPT09IG4sIHMgPyBoLmRpc3BsYXkgPSBzIDogbyAmJiBLdChoLCAiZGlzcGxheSIpLCBhICYmIGp0LnJlbW92ZUNoaWxkKHQpKSwgKGwuc3ZnIHx8IHQuZ2V0Q1RNICYmIFd0KHQpKSAmJiAoaSAmJiAtMSAhPT0gKGhbTHRdICsgIiIpLmluZGV4T2YoIm1hdHJpeCIpICYmIChuID0gaFtMdF0sIGkgPSAwKSwgciA9IHQuZ2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iKSwgaSAmJiByICYmICgtMSAhPT0gci5pbmRleE9mKCJtYXRyaXgiKSA/IChuID0gciwgaSA9IDApIDogLTEgIT09IHIuaW5kZXhPZigidHJhbnNsYXRlIikgJiYgKG4gPSAibWF0cml4KDEsMCwwLDEsIiArIHIubWF0Y2goLyg/OlwtfFxiKVtcZFwtXC5lXStcYi9naSkuam9pbigiLCIpICsgIikiLCBpID0gMCkpKSwgaSkgcmV0dXJuIFV0OwogICAgICAgICAgICAgICAgICAgIGZvciAociA9IChuIHx8ICIiKS5tYXRjaChSKSB8fCBbXSwgUHQgPSByLmxlbmd0aDsgLSAxIDwgLS1QdDspIHMgPSBOdW1iZXIocltQdF0pLCByW1B0XSA9IChhID0gcyAtIChzIHw9IDApKSA/ICgxZTUgKiBhICsgKGEgPCAwID8gLS41IDogLjUpIHwgMCkgLyAxZTUgKyBzIDogczsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZSAmJiA2IDwgci5sZW5ndGggPyBbclswXSwgclsxXSwgcls0XSwgcls1XSwgclsxMl0sIHJbMTNdXSA6IHIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBRdCA9IHIuZ2V0VHJhbnNmb3JtID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgICAgIGlmICh0Ll9nc1RyYW5zZm9ybSAmJiBpICYmICFuKSByZXR1cm4gdC5fZ3NUcmFuc2Zvcm07CiAgICAgICAgICAgICAgICAgICAgdmFyIHIsIHMsIGEsIG8sIGwsIGgsIHUgPSBpICYmIHQuX2dzVHJhbnNmb3JtIHx8IG5ldyBYdCwKICAgICAgICAgICAgICAgICAgICAgICAgcCA9IHUuc2NhbGVYIDwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgZiA9IEl0ICYmIChwYXJzZUZsb2F0KGV0KHQsIEZ0LCBlLCAhMSwgIjAgMCAwIikuc3BsaXQoIiAiKVsyXSkgfHwgdS56T3JpZ2luKSB8fCAwLAogICAgICAgICAgICAgICAgICAgICAgICBjID0gcGFyc2VGbG9hdChqLmRlZmF1bHRUcmFuc2Zvcm1QZXJzcGVjdGl2ZSkgfHwgMDsKICAgICAgICAgICAgICAgICAgICBpZiAodS5zdmcgPSAhKCF0LmdldENUTSB8fCAhV3QodCkpLCB1LnN2ZyAmJiAoVnQodCwgZXQodCwgRnQsIGUsICExLCAiNTAlIDUwJSIpICsgIiIsIHUsIHQuZ2V0QXR0cmlidXRlKCJkYXRhLXN2Zy1vcmlnaW4iKSksIEN0ID0gai51c2VTVkdUcmFuc2Zvcm1BdHRyIHx8IFl0KSwgKHIgPSBxdCh0KSkgIT09IFV0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgxNiA9PT0gci5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkLCBfLCBnLCBtLCB2LCB5ID0gclswXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ID0gclsxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ID0gclsyXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUID0gclszXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiID0gcls0XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQID0gcls1XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTID0gcls2XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPID0gcls3XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrID0gcls4XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDID0gcls5XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBID0gclsxMF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUiA9IHJbMTJdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE0gPSByWzEzXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFID0gclsxNF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRCA9IHJbMTFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwgPSBNYXRoLmF0YW4yKFMsIEEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdS56T3JpZ2luICYmIChSID0gayAqIChFID0gLXUuek9yaWdpbikgLSByWzEyXSwgTSA9IEMgKiBFIC0gclsxM10sIEUgPSBBICogRSArIHUuek9yaWdpbiAtIHJbMTRdKSwgdS5yb3RhdGlvblggPSBMICogRywgTCAmJiAoZCA9IGIgKiAobSA9IE1hdGguY29zKC1MKSkgKyBrICogKHYgPSBNYXRoLnNpbigtTCkpLCBfID0gUCAqIG0gKyBDICogdiwgZyA9IFMgKiBtICsgQSAqIHYsIGsgPSBiICogLXYgKyBrICogbSwgQyA9IFAgKiAtdiArIEMgKiBtLCBBID0gUyAqIC12ICsgQSAqIG0sIEQgPSBPICogLXYgKyBEICogbSwgYiA9IGQsIFAgPSBfLCBTID0gZyksIEwgPSBNYXRoLmF0YW4yKC13LCBBKSwgdS5yb3RhdGlvblkgPSBMICogRywgTCAmJiAoXyA9IHggKiAobSA9IE1hdGguY29zKC1MKSkgLSBDICogKHYgPSBNYXRoLnNpbigtTCkpLCBnID0gdyAqIG0gLSBBICogdiwgQyA9IHggKiB2ICsgQyAqIG0sIEEgPSB3ICogdiArIEEgKiBtLCBEID0gVCAqIHYgKyBEICogbSwgeSA9IGQgPSB5ICogbSAtIGsgKiB2LCB4ID0gXywgdyA9IGcpLCBMID0gTWF0aC5hdGFuMih4LCB5KSwgdS5yb3RhdGlvbiA9IEwgKiBHLCBMICYmICh5ID0geSAqIChtID0gTWF0aC5jb3MoLUwpKSArIGIgKiAodiA9IE1hdGguc2luKC1MKSksIF8gPSB4ICogbSArIFAgKiB2LCBQID0geCAqIC12ICsgUCAqIG0sIFMgPSB3ICogLXYgKyBTICogbSwgeCA9IF8pLCB1LnJvdGF0aW9uWCAmJiAzNTkuOSA8IE1hdGguYWJzKHUucm90YXRpb25YKSArIE1hdGguYWJzKHUucm90YXRpb24pICYmICh1LnJvdGF0aW9uWCA9IHUucm90YXRpb24gPSAwLCB1LnJvdGF0aW9uWSA9IDE4MCAtIHUucm90YXRpb25ZKSwgdS5zY2FsZVggPSAoMWU1ICogTWF0aC5zcXJ0KHkgKiB5ICsgeCAqIHgpICsgLjUgfCAwKSAvIDFlNSwgdS5zY2FsZVkgPSAoMWU1ICogTWF0aC5zcXJ0KFAgKiBQICsgQyAqIEMpICsgLjUgfCAwKSAvIDFlNSwgdS5zY2FsZVogPSAoMWU1ICogTWF0aC5zcXJ0KFMgKiBTICsgQSAqIEEpICsgLjUgfCAwKSAvIDFlNSwgdS5yb3RhdGlvblggfHwgdS5yb3RhdGlvblkgPyB1LnNrZXdYID0gMCA6ICh1LnNrZXdYID0gYiB8fCBQID8gTWF0aC5hdGFuMihiLCBQKSAqIEcgKyB1LnJvdGF0aW9uIDogdS5za2V3WCB8fCAwLCA5MCA8IE1hdGguYWJzKHUuc2tld1gpICYmIE1hdGguYWJzKHUuc2tld1gpIDwgMjcwICYmIChwID8gKHUuc2NhbGVYICo9IC0xLCB1LnNrZXdYICs9IHUucm90YXRpb24gPD0gMCA/IDE4MCA6IC0xODAsIHUucm90YXRpb24gKz0gdS5yb3RhdGlvbiA8PSAwID8gMTgwIDogLTE4MCkgOiAodS5zY2FsZVkgKj0gLTEsIHUuc2tld1ggKz0gdS5za2V3WCA8PSAwID8gMTgwIDogLTE4MCkpKSwgdS5wZXJzcGVjdGl2ZSA9IEQgPyAxIC8gKEQgPCAwID8gLUQgOiBEKSA6IDAsIHUueCA9IFIsIHUueSA9IE0sIHUueiA9IEUsIHUuc3ZnICYmICh1LnggLT0gdS54T3JpZ2luIC0gKHUueE9yaWdpbiAqIHkgLSB1LnlPcmlnaW4gKiBiKSwgdS55IC09IHUueU9yaWdpbiAtICh1LnlPcmlnaW4gKiB4IC0gdS54T3JpZ2luICogUCkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIUl0IHx8IG4gfHwgIXIubGVuZ3RoIHx8IHUueCAhPT0gcls0XSB8fCB1LnkgIT09IHJbNV0gfHwgIXUucm90YXRpb25YICYmICF1LnJvdGF0aW9uWSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIE4gPSA2IDw9IHIubGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEYgPSBOID8gclswXSA6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSSA9IHJbMV0gfHwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYID0gclsyXSB8fCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHogPSBOID8gclszXSA6IDE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1LnggPSByWzRdIHx8IDAsIHUueSA9IHJbNV0gfHwgMCwgYSA9IE1hdGguc3FydChGICogRiArIEkgKiBJKSwgbyA9IE1hdGguc3FydCh6ICogeiArIFggKiBYKSwgbCA9IEYgfHwgSSA/IE1hdGguYXRhbjIoSSwgRikgKiBHIDogdS5yb3RhdGlvbiB8fCAwLCBoID0gWCB8fCB6ID8gTWF0aC5hdGFuMihYLCB6KSAqIEcgKyBsIDogdS5za2V3WCB8fCAwLCA5MCA8IE1hdGguYWJzKGgpICYmIE1hdGguYWJzKGgpIDwgMjcwICYmIChwID8gKGEgKj0gLTEsIGggKz0gbCA8PSAwID8gMTgwIDogLTE4MCwgbCArPSBsIDw9IDAgPyAxODAgOiAtMTgwKSA6IChvICo9IC0xLCBoICs9IGggPD0gMCA/IDE4MCA6IC0xODApKSwgdS5zY2FsZVggPSBhLCB1LnNjYWxlWSA9IG8sIHUucm90YXRpb24gPSBsLCB1LnNrZXdYID0gaCwgSXQgJiYgKHUucm90YXRpb25YID0gdS5yb3RhdGlvblkgPSB1LnogPSAwLCB1LnBlcnNwZWN0aXZlID0gYywgdS5zY2FsZVogPSAxKSwgdS5zdmcgJiYgKHUueCAtPSB1LnhPcmlnaW4gLSAodS54T3JpZ2luICogRiArIHUueU9yaWdpbiAqIFgpLCB1LnkgLT0gdS55T3JpZ2luIC0gKHUueE9yaWdpbiAqIEkgKyB1LnlPcmlnaW4gKiB6KSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHMgaW4gdS56T3JpZ2luID0gZiwgdSkgdVtzXSA8IDJlLTUgJiYgLTJlLTUgPCB1W3NdICYmICh1W3NdID0gMCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkgJiYgKCh0Ll9nc1RyYW5zZm9ybSA9IHUpLnN2ZyAmJiAoQ3QgJiYgdC5zdHlsZVtMdF0gPyBCLmRlbGF5ZWRDYWxsKC4wMDEsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBLdCh0LnN0eWxlLCBMdCkKICAgICAgICAgICAgICAgICAgICB9KSA6ICFDdCAmJiB0LmdldEF0dHJpYnV0ZSgidHJhbnNmb3JtIikgJiYgQi5kZWxheWVkQ2FsbCguMDAxLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdC5yZW1vdmVBdHRyaWJ1dGUoInRyYW5zZm9ybSIpCiAgICAgICAgICAgICAgICAgICAgfSkpKSwgdQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIEh0ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuID0gdGhpcy5kYXRhLAogICAgICAgICAgICAgICAgICAgICAgICByID0gLW4ucm90YXRpb24gKiBWLAogICAgICAgICAgICAgICAgICAgICAgICBzID0gciArIG4uc2tld1ggKiBWLAogICAgICAgICAgICAgICAgICAgICAgICBhID0gMWU1LAogICAgICAgICAgICAgICAgICAgICAgICBvID0gKE1hdGguY29zKHIpICogbi5zY2FsZVggKiBhIHwgMCkgLyBhLAogICAgICAgICAgICAgICAgICAgICAgICBsID0gKE1hdGguc2luKHIpICogbi5zY2FsZVggKiBhIHwgMCkgLyBhLAogICAgICAgICAgICAgICAgICAgICAgICBoID0gKE1hdGguc2luKHMpICogLW4uc2NhbGVZICogYSB8IDApIC8gYSwKICAgICAgICAgICAgICAgICAgICAgICAgdSA9IChNYXRoLmNvcyhzKSAqIG4uc2NhbGVZICogYSB8IDApIC8gYSwKICAgICAgICAgICAgICAgICAgICAgICAgcCA9IHRoaXMudC5zdHlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgZiA9IHRoaXMudC5jdXJyZW50U3R5bGU7CiAgICAgICAgICAgICAgICAgICAgaWYgKGYpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGwsIGwgPSAtaCwgaCA9IC1pLCBlID0gZi5maWx0ZXIsIHAuZmlsdGVyID0gIiI7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjLCBkLCBfID0gdGhpcy50Lm9mZnNldFdpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZyA9IHRoaXMudC5vZmZzZXRIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtID0gImFic29sdXRlIiAhPT0gZi5wb3NpdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYgPSAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0Lk1hdHJpeChNMTE9IiArIG8gKyAiLCBNMTI9IiArIGwgKyAiLCBNMjE9IiArIGggKyAiLCBNMjI9IiArIHUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ID0gbi54ICsgXyAqIG4ueFBlcmNlbnQgLyAxMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ID0gbi55ICsgZyAqIG4ueVBlcmNlbnQgLyAxMDA7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChudWxsICE9IG4ub3ggJiYgKHkgKz0gKGMgPSAobi5veHAgPyBfICogbi5veCAqIC4wMSA6IG4ub3gpIC0gXyAvIDIpIC0gKGMgKiBvICsgKGQgPSAobi5veXAgPyBnICogbi5veSAqIC4wMSA6IG4ub3kpIC0gZyAvIDIpICogbCksIHggKz0gZCAtIChjICogaCArIGQgKiB1KSksIG0gPyB2ICs9ICIsIER4PSIgKyAoKGMgPSBfIC8gMikgLSAoYyAqIG8gKyAoZCA9IGcgLyAyKSAqIGwpICsgeSkgKyAiLCBEeT0iICsgKGQgLSAoYyAqIGggKyBkICogdSkgKyB4KSArICIpIiA6IHYgKz0gIiwgc2l6aW5nTWV0aG9kPSdhdXRvIGV4cGFuZCcpIiwgLTEgIT09IGUuaW5kZXhPZigiRFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KCIpID8gcC5maWx0ZXIgPSBlLnJlcGxhY2UoTCwgdikgOiBwLmZpbHRlciA9IHYgKyAiICIgKyBlLCAoMCA9PT0gdCB8fCAxID09PSB0KSAmJiAxID09PSBvICYmIDAgPT09IGwgJiYgMCA9PT0gaCAmJiAxID09PSB1ICYmIChtICYmIC0xID09PSB2LmluZGV4T2YoIkR4PTAsIER5PTAiKSB8fCBELnRlc3QoZSkgJiYgMTAwICE9PSBwYXJzZUZsb2F0KFJlZ0V4cC4kMSkgfHwgLTEgPT09IGUuaW5kZXhPZihlLmluZGV4T2YoIkFscGhhIikpICYmIHAucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKSksICFtKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdywgVCwgYiwgUCA9IFMgPCA4ID8gMSA6IC0xOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjID0gbi5pZU9mZnNldFggfHwgMCwgZCA9IG4uaWVPZmZzZXRZIHx8IDAsIG4uaWVPZmZzZXRYID0gTWF0aC5yb3VuZCgoXyAtICgobyA8IDAgPyAtbyA6IG8pICogXyArIChsIDwgMCA/IC1sIDogbCkgKiBnKSkgLyAyICsgeSksIG4uaWVPZmZzZXRZID0gTWF0aC5yb3VuZCgoZyAtICgodSA8IDAgPyAtdSA6IHUpICogZyArIChoIDwgMCA/IC1oIDogaCkgKiBfKSkgLyAyICsgeCksIFB0ID0gMDsgUHQgPCA0OyBQdCsrKSBiID0gKGkgPSAtMSAhPT0gKHcgPSBmW1QgPSBvdFtQdF1dKS5pbmRleE9mKCJweCIpID8gcGFyc2VGbG9hdCh3KSA6IGl0KHRoaXMudCwgVCwgcGFyc2VGbG9hdCh3KSwgdy5yZXBsYWNlKEUsICIiKSkgfHwgMCkgIT09IG5bVF0gPyBQdCA8IDIgPyAtbi5pZU9mZnNldFggOiAtbi5pZU9mZnNldFkgOiBQdCA8IDIgPyBjIC0gbi5pZU9mZnNldFggOiBkIC0gbi5pZU9mZnNldFksIHBbVF0gPSAobltUXSA9IE1hdGgucm91bmQoaSAtIGIgKiAoMCA9PT0gUHQgfHwgMiA9PT0gUHQgPyAxIDogUCkpKSArICJweCIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBadCA9IHIuc2V0M0RUcmFuc2Zvcm1SYXRpbyA9IHIuc2V0VHJhbnNmb3JtUmF0aW8gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUsIGksIG4sIHIsIHMsIGEsIG8sIGwsIGgsIHUsIHAsIGYsIGMsIGQsIF8sIGcsIG0sIHYsIHksIHgsIHcsIFQsIGIsIFAgPSB0aGlzLmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgIFMgPSB0aGlzLnQuc3R5bGUsCiAgICAgICAgICAgICAgICAgICAgICAgIE8gPSBQLnJvdGF0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICBrID0gUC5yb3RhdGlvblgsCiAgICAgICAgICAgICAgICAgICAgICAgIEMgPSBQLnJvdGF0aW9uWSwKICAgICAgICAgICAgICAgICAgICAgICAgQSA9IFAuc2NhbGVYLAogICAgICAgICAgICAgICAgICAgICAgICBSID0gUC5zY2FsZVksCiAgICAgICAgICAgICAgICAgICAgICAgIE0gPSBQLnNjYWxlWiwKICAgICAgICAgICAgICAgICAgICAgICAgRSA9IFAueCwKICAgICAgICAgICAgICAgICAgICAgICAgRCA9IFAueSwKICAgICAgICAgICAgICAgICAgICAgICAgTCA9IFAueiwKICAgICAgICAgICAgICAgICAgICAgICAgTiA9IFAuc3ZnLAogICAgICAgICAgICAgICAgICAgICAgICBGID0gUC5wZXJzcGVjdGl2ZSwKICAgICAgICAgICAgICAgICAgICAgICAgSSA9IFAuZm9yY2UzRCwKICAgICAgICAgICAgICAgICAgICAgICAgWCA9IFAuc2tld1ksCiAgICAgICAgICAgICAgICAgICAgICAgIHogPSBQLnNrZXdYOwogICAgICAgICAgICAgICAgICAgIGlmIChYICYmICh6ICs9IFgsIE8gKz0gWCksICEoKDEgIT09IHQgJiYgMCAhPT0gdCB8fCAiYXV0byIgIT09IEkgfHwgdGhpcy50d2Vlbi5fdG90YWxUaW1lICE9PSB0aGlzLnR3ZWVuLl90b3RhbER1cmF0aW9uICYmIHRoaXMudHdlZW4uX3RvdGFsVGltZSkgJiYgSSB8fCBMIHx8IEYgfHwgQyB8fCBrIHx8IDEgIT09IE0pIHx8IEN0ICYmIE4gfHwgIUl0KSBPIHx8IHogfHwgTiA/IChPICo9IFYsIFQgPSB6ICogViwgYiA9IDFlNSwgaSA9IE1hdGguY29zKE8pICogQSwgcyA9IE1hdGguc2luKE8pICogQSwgbiA9IE1hdGguc2luKE8gLSBUKSAqIC1SLCBhID0gTWF0aC5jb3MoTyAtIFQpICogUiwgVCAmJiAic2ltcGxlIiA9PT0gUC5za2V3VHlwZSAmJiAoZSA9IE1hdGgudGFuKFQgLSBYICogViksIG4gKj0gZSA9IE1hdGguc3FydCgxICsgZSAqIGUpLCBhICo9IGUsIFggJiYgKGUgPSBNYXRoLnRhbihYICogViksIGkgKj0gZSA9IE1hdGguc3FydCgxICsgZSAqIGUpLCBzICo9IGUpKSwgTiAmJiAoRSArPSBQLnhPcmlnaW4gLSAoUC54T3JpZ2luICogaSArIFAueU9yaWdpbiAqIG4pICsgUC54T2Zmc2V0LCBEICs9IFAueU9yaWdpbiAtIChQLnhPcmlnaW4gKiBzICsgUC55T3JpZ2luICogYSkgKyBQLnlPZmZzZXQsIEN0ICYmIChQLnhQZXJjZW50IHx8IFAueVBlcmNlbnQpICYmIChfID0gdGhpcy50LmdldEJCb3goKSwgRSArPSAuMDEgKiBQLnhQZXJjZW50ICogXy53aWR0aCwgRCArPSAuMDEgKiBQLnlQZXJjZW50ICogXy5oZWlnaHQpLCBFIDwgKF8gPSAxZS02KSAmJiAtXyA8IEUgJiYgKEUgPSAwKSwgRCA8IF8gJiYgLV8gPCBEICYmIChEID0gMCkpLCB5ID0gKGkgKiBiIHwgMCkgLyBiICsgIiwiICsgKHMgKiBiIHwgMCkgLyBiICsgIiwiICsgKG4gKiBiIHwgMCkgLyBiICsgIiwiICsgKGEgKiBiIHwgMCkgLyBiICsgIiwiICsgRSArICIsIiArIEQgKyAiKSIsIE4gJiYgQ3QgPyB0aGlzLnQuc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCAibWF0cml4KCIgKyB5KSA6IFNbTHRdID0gKFAueFBlcmNlbnQgfHwgUC55UGVyY2VudCA/ICJ0cmFuc2xhdGUoIiArIFAueFBlcmNlbnQgKyAiJSwiICsgUC55UGVyY2VudCArICIlKSBtYXRyaXgoIiA6ICJtYXRyaXgoIikgKyB5KSA6IFNbTHRdID0gKFAueFBlcmNlbnQgfHwgUC55UGVyY2VudCA/ICJ0cmFuc2xhdGUoIiArIFAueFBlcmNlbnQgKyAiJSwiICsgUC55UGVyY2VudCArICIlKSBtYXRyaXgoIiA6ICJtYXRyaXgoIikgKyBBICsgIiwwLDAsIiArIFIgKyAiLCIgKyBFICsgIiwiICsgRCArICIpIjsKICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFkgJiYgKEEgPCAoXyA9IDFlLTQpICYmIC1fIDwgQSAmJiAoQSA9IE0gPSAyZS01KSwgUiA8IF8gJiYgLV8gPCBSICYmIChSID0gTSA9IDJlLTUpLCAhRiB8fCBQLnogfHwgUC5yb3RhdGlvblggfHwgUC5yb3RhdGlvblkgfHwgKEYgPSAwKSksIE8gfHwgeikgTyAqPSBWLCBnID0gaSA9IE1hdGguY29zKE8pLCBtID0gcyA9IE1hdGguc2luKE8pLCB6ICYmIChPIC09IHogKiBWLCBnID0gTWF0aC5jb3MoTyksIG0gPSBNYXRoLnNpbihPKSwgInNpbXBsZSIgPT09IFAuc2tld1R5cGUgJiYgKGUgPSBNYXRoLnRhbigoeiAtIFgpICogViksIGcgKj0gZSA9IE1hdGguc3FydCgxICsgZSAqIGUpLCBtICo9IGUsIFAuc2tld1kgJiYgKGUgPSBNYXRoLnRhbihYICogViksIGkgKj0gZSA9IE1hdGguc3FydCgxICsgZSAqIGUpLCBzICo9IGUpKSksIG4gPSAtbSwgYSA9IGc7CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoQyB8fCBrIHx8IDEgIT09IE0gfHwgRiB8fCBOKSkgcmV0dXJuIHZvaWQoU1tMdF0gPSAoUC54UGVyY2VudCB8fCBQLnlQZXJjZW50ID8gInRyYW5zbGF0ZSgiICsgUC54UGVyY2VudCArICIlLCIgKyBQLnlQZXJjZW50ICsgIiUpIHRyYW5zbGF0ZTNkKCIgOiAidHJhbnNsYXRlM2QoIikgKyBFICsgInB4LCIgKyBEICsgInB4LCIgKyBMICsgInB4KSIgKyAoMSAhPT0gQSB8fCAxICE9PSBSID8gIiBzY2FsZSgiICsgQSArICIsIiArIFIgKyAiKSIgOiAiIikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGEgPSAxLCBuID0gcyA9IDAKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB1ID0gMSwgciA9IG8gPSBsID0gaCA9IHAgPSBmID0gMCwgYyA9IEYgPyAtMSAvIEYgOiAwLCBkID0gUC56T3JpZ2luLCBfID0gMWUtNiwgeCA9ICIsIiwgdyA9ICIwIiwgKE8gPSBDICogVikgJiYgKGcgPSBNYXRoLmNvcyhPKSwgcCA9IGMgKiAobCA9IC0obSA9IE1hdGguc2luKE8pKSksIHIgPSBpICogbSwgbyA9IHMgKiBtLCBjICo9IHUgPSBnLCBpICo9IGcsIHMgKj0gZyksIChPID0gayAqIFYpICYmIChlID0gbiAqIChnID0gTWF0aC5jb3MoTykpICsgciAqIChtID0gTWF0aC5zaW4oTykpLCB2ID0gYSAqIGcgKyBvICogbSwgaCA9IHUgKiBtLCBmID0gYyAqIG0sIHIgPSBuICogLW0gKyByICogZywgbyA9IGEgKiAtbSArIG8gKiBnLCB1ICo9IGcsIGMgKj0gZywgbiA9IGUsIGEgPSB2KSwgMSAhPT0gTSAmJiAociAqPSBNLCBvICo9IE0sIHUgKj0gTSwgYyAqPSBNKSwgMSAhPT0gUiAmJiAobiAqPSBSLCBhICo9IFIsIGggKj0gUiwgZiAqPSBSKSwgMSAhPT0gQSAmJiAoaSAqPSBBLCBzICo9IEEsIGwgKj0gQSwgcCAqPSBBKSwgKGQgfHwgTikgJiYgKGQgJiYgKEUgKz0gciAqIC1kLCBEICs9IG8gKiAtZCwgTCArPSB1ICogLWQgKyBkKSwgTiAmJiAoRSArPSBQLnhPcmlnaW4gLSAoUC54T3JpZ2luICogaSArIFAueU9yaWdpbiAqIG4pICsgUC54T2Zmc2V0LCBEICs9IFAueU9yaWdpbiAtIChQLnhPcmlnaW4gKiBzICsgUC55T3JpZ2luICogYSkgKyBQLnlPZmZzZXQpLCBFIDwgXyAmJiAtXyA8IEUgJiYgKEUgPSB3KSwgRCA8IF8gJiYgLV8gPCBEICYmIChEID0gdyksIEwgPCBfICYmIC1fIDwgTCAmJiAoTCA9IDApKSwgeSA9IFAueFBlcmNlbnQgfHwgUC55UGVyY2VudCA/ICJ0cmFuc2xhdGUoIiArIFAueFBlcmNlbnQgKyAiJSwiICsgUC55UGVyY2VudCArICIlKSBtYXRyaXgzZCgiIDogIm1hdHJpeDNkKCIsIHkgKz0gKGkgPCBfICYmIC1fIDwgaSA/IHcgOiBpKSArIHggKyAocyA8IF8gJiYgLV8gPCBzID8gdyA6IHMpICsgeCArIChsIDwgXyAmJiAtXyA8IGwgPyB3IDogbCksIHkgKz0geCArIChwIDwgXyAmJiAtXyA8IHAgPyB3IDogcCkgKyB4ICsgKG4gPCBfICYmIC1fIDwgbiA/IHcgOiBuKSArIHggKyAoYSA8IF8gJiYgLV8gPCBhID8gdyA6IGEpLCBrIHx8IEMgfHwgMSAhPT0gTSA/ICh5ICs9IHggKyAoaCA8IF8gJiYgLV8gPCBoID8gdyA6IGgpICsgeCArIChmIDwgXyAmJiAtXyA8IGYgPyB3IDogZikgKyB4ICsgKHIgPCBfICYmIC1fIDwgciA/IHcgOiByKSwgeSArPSB4ICsgKG8gPCBfICYmIC1fIDwgbyA/IHcgOiBvKSArIHggKyAodSA8IF8gJiYgLV8gPCB1ID8gdyA6IHUpICsgeCArIChjIDwgXyAmJiAtXyA8IGMgPyB3IDogYykgKyB4KSA6IHkgKz0gIiwwLDAsMCwwLDEsMCwiLCB5ICs9IEUgKyB4ICsgRCArIHggKyBMICsgeCArIChGID8gMSArIC1MIC8gRiA6IDEpICsgIikiLCBTW0x0XSA9IHkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAodCA9IFh0LnByb3RvdHlwZSkueCA9IHQueSA9IHQueiA9IHQuc2tld1ggPSB0LnNrZXdZID0gdC5yb3RhdGlvbiA9IHQucm90YXRpb25YID0gdC5yb3RhdGlvblkgPSB0LnpPcmlnaW4gPSB0LnhQZXJjZW50ID0gdC55UGVyY2VudCA9IHQueE9mZnNldCA9IHQueU9mZnNldCA9IDAsIHQuc2NhbGVYID0gdC5zY2FsZVkgPSB0LnNjYWxlWiA9IDEsIE90KCJ0cmFuc2Zvcm0sc2NhbGUsc2NhbGVYLHNjYWxlWSxzY2FsZVoseCx5LHoscm90YXRpb24scm90YXRpb25YLHJvdGF0aW9uWSxyb3RhdGlvblosc2tld1gsc2tld1ksc2hvcnRSb3RhdGlvbixzaG9ydFJvdGF0aW9uWCxzaG9ydFJvdGF0aW9uWSxzaG9ydFJvdGF0aW9uWix0cmFuc2Zvcm1PcmlnaW4sc3ZnT3JpZ2luLHRyYW5zZm9ybVBlcnNwZWN0aXZlLGRpcmVjdGlvbmFsUm90YXRpb24scGFyc2VUcmFuc2Zvcm0sZm9yY2UzRCxza2V3VHlwZSx4UGVyY2VudCx5UGVyY2VudCxzbW9vdGhPcmlnaW4iLCB7CiAgICAgICAgICAgICAgICBwYXJzZXI6IGZ1bmN0aW9uKHQsIGUsIGksIG4sIHIsIHMsIGEpIHsKICAgICAgICAgICAgICAgICAgICBpZiAobi5fbGFzdFBhcnNlZFRyYW5zZm9ybSA9PT0gYSkgcmV0dXJuIHI7CiAgICAgICAgICAgICAgICAgICAgdmFyIG8sIGwgPSAobi5fbGFzdFBhcnNlZFRyYW5zZm9ybSA9IGEpLnNjYWxlICYmICJmdW5jdGlvbiIgPT0gdHlwZW9mIGEuc2NhbGUgPyBhLnNjYWxlIDogMDsKICAgICAgICAgICAgICAgICAgICAiZnVuY3Rpb24iID09IHR5cGVvZiBhW2ldICYmIChvID0gYVtpXSwgYVtpXSA9IGUpLCBsICYmIChhLnNjYWxlID0gbChBLCB0KSk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGgsIHUsIHAsIGYsIGMsIGQsIF8sIGcsIG0sIHYgPSB0Ll9nc1RyYW5zZm9ybSwKICAgICAgICAgICAgICAgICAgICAgICAgeSA9IHQuc3R5bGUsCiAgICAgICAgICAgICAgICAgICAgICAgIHggPSBEdC5sZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgIHcgPSBhLAogICAgICAgICAgICAgICAgICAgICAgICBUID0ge30sCiAgICAgICAgICAgICAgICAgICAgICAgIGIgPSAidHJhbnNmb3JtT3JpZ2luIiwKICAgICAgICAgICAgICAgICAgICAgICAgUCA9IFF0KHQsIE8sICEwLCB3LnBhcnNlVHJhbnNmb3JtKSwKICAgICAgICAgICAgICAgICAgICAgICAgUyA9IHcudHJhbnNmb3JtICYmICgiZnVuY3Rpb24iID09IHR5cGVvZiB3LnRyYW5zZm9ybSA/IHcudHJhbnNmb3JtKEEsIEMpIDogdy50cmFuc2Zvcm0pOwogICAgICAgICAgICAgICAgICAgIGlmIChuLl90cmFuc2Zvcm0gPSBQLCBTICYmICJzdHJpbmciID09IHR5cGVvZiBTICYmIEx0KSh1ID0gVy5zdHlsZSlbTHRdID0gUywgdS5kaXNwbGF5ID0gImJsb2NrIiwgdS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSIsIFguYm9keS5hcHBlbmRDaGlsZChXKSwgaCA9IFF0KFcsIG51bGwsICExKSwgUC5zdmcgJiYgKGQgPSBQLnhPcmlnaW4sIF8gPSBQLnlPcmlnaW4sIGgueCAtPSBQLnhPZmZzZXQsIGgueSAtPSBQLnlPZmZzZXQsICh3LnRyYW5zZm9ybU9yaWdpbiB8fCB3LnN2Z09yaWdpbikgJiYgKFMgPSB7fSwgVnQodCwgaHQody50cmFuc2Zvcm1PcmlnaW4pLCBTLCB3LnN2Z09yaWdpbiwgdy5zbW9vdGhPcmlnaW4sICEwKSwgZCA9IFMueE9yaWdpbiwgXyA9IFMueU9yaWdpbiwgaC54IC09IFMueE9mZnNldCAtIFAueE9mZnNldCwgaC55IC09IFMueU9mZnNldCAtIFAueU9mZnNldCksIChkIHx8IF8pICYmIChnID0gcXQoVywgITApLCBoLnggLT0gZCAtIChkICogZ1swXSArIF8gKiBnWzJdKSwgaC55IC09IF8gLSAoZCAqIGdbMV0gKyBfICogZ1szXSkpKSwgWC5ib2R5LnJlbW92ZUNoaWxkKFcpLCBoLnBlcnNwZWN0aXZlIHx8IChoLnBlcnNwZWN0aXZlID0gUC5wZXJzcGVjdGl2ZSksIG51bGwgIT0gdy54UGVyY2VudCAmJiAoaC54UGVyY2VudCA9IHB0KHcueFBlcmNlbnQsIFAueFBlcmNlbnQpKSwgbnVsbCAhPSB3LnlQZXJjZW50ICYmIChoLnlQZXJjZW50ID0gcHQody55UGVyY2VudCwgUC55UGVyY2VudCkpOwogICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCJvYmplY3QiID09IHR5cGVvZiB3KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlWDogcHQobnVsbCAhPSB3LnNjYWxlWCA/IHcuc2NhbGVYIDogdy5zY2FsZSwgUC5zY2FsZVgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlWTogcHQobnVsbCAhPSB3LnNjYWxlWSA/IHcuc2NhbGVZIDogdy5zY2FsZSwgUC5zY2FsZVkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlWjogcHQody5zY2FsZVosIFAuc2NhbGVaKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBwdCh3LngsIFAueCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeTogcHQody55LCBQLnkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHo6IHB0KHcueiwgUC56KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4UGVyY2VudDogcHQody54UGVyY2VudCwgUC54UGVyY2VudCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeVBlcmNlbnQ6IHB0KHcueVBlcmNlbnQsIFAueVBlcmNlbnQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcnNwZWN0aXZlOiBwdCh3LnRyYW5zZm9ybVBlcnNwZWN0aXZlLCBQLnBlcnNwZWN0aXZlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgbnVsbCAhPSAoYyA9IHcuZGlyZWN0aW9uYWxSb3RhdGlvbikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIm9iamVjdCIgPT0gdHlwZW9mIGMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh1IGluIGMpIHdbdV0gPSBjW3VdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB3LnJvdGF0aW9uID0gYzsKICAgICAgICAgICAgICAgICAgICAgICAgInN0cmluZyIgPT0gdHlwZW9mIHcueCAmJiAtMSAhPT0gdy54LmluZGV4T2YoIiUiKSAmJiAoaC54ID0gMCwgaC54UGVyY2VudCA9IHB0KHcueCwgUC54UGVyY2VudCkpLCAic3RyaW5nIiA9PSB0eXBlb2Ygdy55ICYmIC0xICE9PSB3LnkuaW5kZXhPZigiJSIpICYmIChoLnkgPSAwLCBoLnlQZXJjZW50ID0gcHQody55LCBQLnlQZXJjZW50KSksIGgucm90YXRpb24gPSBmdCgicm90YXRpb24iIGluIHcgPyB3LnJvdGF0aW9uIDogInNob3J0Um90YXRpb24iIGluIHcgPyB3LnNob3J0Um90YXRpb24gKyAiX3Nob3J0IiA6ICJyb3RhdGlvbloiIGluIHcgPyB3LnJvdGF0aW9uWiA6IFAucm90YXRpb24sIFAucm90YXRpb24sICJyb3RhdGlvbiIsIFQpLCBJdCAmJiAoaC5yb3RhdGlvblggPSBmdCgicm90YXRpb25YIiBpbiB3ID8gdy5yb3RhdGlvblggOiAic2hvcnRSb3RhdGlvblgiIGluIHcgPyB3LnNob3J0Um90YXRpb25YICsgIl9zaG9ydCIgOiBQLnJvdGF0aW9uWCB8fCAwLCBQLnJvdGF0aW9uWCwgInJvdGF0aW9uWCIsIFQpLCBoLnJvdGF0aW9uWSA9IGZ0KCJyb3RhdGlvblkiIGluIHcgPyB3LnJvdGF0aW9uWSA6ICJzaG9ydFJvdGF0aW9uWSIgaW4gdyA/IHcuc2hvcnRSb3RhdGlvblkgKyAiX3Nob3J0IiA6IFAucm90YXRpb25ZIHx8IDAsIFAucm90YXRpb25ZLCAicm90YXRpb25ZIiwgVCkpLCBoLnNrZXdYID0gZnQody5za2V3WCwgUC5za2V3WCksIGguc2tld1kgPSBmdCh3LnNrZXdZLCBQLnNrZXdZKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmb3IgKEl0ICYmIG51bGwgIT0gdy5mb3JjZTNEICYmIChQLmZvcmNlM0QgPSB3LmZvcmNlM0QsIGYgPSAhMCksIFAuc2tld1R5cGUgPSB3LnNrZXdUeXBlIHx8IFAuc2tld1R5cGUgfHwgai5kZWZhdWx0U2tld1R5cGUsIChwID0gUC5mb3JjZTNEIHx8IFAueiB8fCBQLnJvdGF0aW9uWCB8fCBQLnJvdGF0aW9uWSB8fCBoLnogfHwgaC5yb3RhdGlvblggfHwgaC5yb3RhdGlvblkgfHwgaC5wZXJzcGVjdGl2ZSkgfHwgbnVsbCA9PSB3LnNjYWxlIHx8IChoLnNjYWxlWiA9IDEpOyAtIDEgPCAtLXg7KSgxZS02IDwgKFMgPSBoW20gPSBEdFt4XV0gLSBQW21dKSB8fCBTIDwgLTFlLTYgfHwgbnVsbCAhPSB3W21dIHx8IG51bGwgIT0gSVttXSkgJiYgKGYgPSAhMCwgciA9IG5ldyB3dChQLCBtLCBQW21dLCBTLCByKSwgbSBpbiBUICYmIChyLmUgPSBUW21dKSwgci54czAgPSAwLCByLnBsdWdpbiA9IHMsIG4uX292ZXJ3cml0ZVByb3BzLnB1c2goci5uKSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFMgPSB3LnRyYW5zZm9ybU9yaWdpbiwgUC5zdmcgJiYgKFMgfHwgdy5zdmdPcmlnaW4pICYmIChkID0gUC54T2Zmc2V0LCBfID0gUC55T2Zmc2V0LCBWdCh0LCBodChTKSwgaCwgdy5zdmdPcmlnaW4sIHcuc21vb3RoT3JpZ2luKSwgciA9IFR0KFAsICJ4T3JpZ2luIiwgKHYgPyBQIDogaCkueE9yaWdpbiwgaC54T3JpZ2luLCByLCBiKSwgciA9IFR0KFAsICJ5T3JpZ2luIiwgKHYgPyBQIDogaCkueU9yaWdpbiwgaC55T3JpZ2luLCByLCBiKSwgKGQgIT09IFAueE9mZnNldCB8fCBfICE9PSBQLnlPZmZzZXQpICYmIChyID0gVHQoUCwgInhPZmZzZXQiLCB2ID8gZCA6IFAueE9mZnNldCwgUC54T2Zmc2V0LCByLCBiKSwgciA9IFR0KFAsICJ5T2Zmc2V0IiwgdiA/IF8gOiBQLnlPZmZzZXQsIFAueU9mZnNldCwgciwgYikpLCBTID0gIjBweCAwcHgiKSwgKFMgfHwgSXQgJiYgcCAmJiBQLnpPcmlnaW4pICYmIChMdCA/IChmID0gITAsIG0gPSBGdCwgUyA9IChTIHx8IGV0KHQsIG0sIE8sICExLCAiNTAlIDUwJSIpKSArICIiLCAociA9IG5ldyB3dCh5LCBtLCAwLCAwLCByLCAtMSwgYikpLmIgPSB5W21dLCByLnBsdWdpbiA9IHMsIHIueHMwID0gci5lID0gSXQgPyAodSA9IFAuek9yaWdpbiwgUyA9IFMuc3BsaXQoIiAiKSwgUC56T3JpZ2luID0gKDIgPCBTLmxlbmd0aCAmJiAoMCA9PT0gdSB8fCAiMHB4IiAhPT0gU1syXSkgPyBwYXJzZUZsb2F0KFNbMl0pIDogdSkgfHwgMCwgci54czAgPSByLmUgPSBTWzBdICsgIiAiICsgKFNbMV0gfHwgIjUwJSIpICsgIiAwcHgiLCAociA9IG5ldyB3dChQLCAiek9yaWdpbiIsIDAsIDAsIHIsIC0xLCByLm4pKS5iID0gdSwgUC56T3JpZ2luKSA6IFMpIDogaHQoUyArICIiLCBQKSksIGYgJiYgKG4uX3RyYW5zZm9ybVR5cGUgPSBQLnN2ZyAmJiBDdCB8fCAhcCAmJiAzICE9PSB0aGlzLl90cmFuc2Zvcm1UeXBlID8gMiA6IDMpLCBvICYmIChhW2ldID0gbyksIGwgJiYgKGEuc2NhbGUgPSBsKSwgcgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHByZWZpeDogITAKICAgICAgICAgICAgfSksIE90KCJib3hTaGFkb3ciLCB7CiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICIwcHggMHB4IDBweCAwcHggIzk5OSIsCiAgICAgICAgICAgICAgICBwcmVmaXg6ICEwLAogICAgICAgICAgICAgICAgY29sb3I6ICEwLAogICAgICAgICAgICAgICAgbXVsdGk6ICEwLAogICAgICAgICAgICAgICAga2V5d29yZDogImluc2V0IgogICAgICAgICAgICB9KSwgT3QoImJvcmRlclJhZGl1cyIsIHsKICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogIjBweCIsCiAgICAgICAgICAgICAgICBwYXJzZXI6IGZ1bmN0aW9uKHQsIGUsIGksIG4sIHIsIHMpIHsKICAgICAgICAgICAgICAgICAgICBlID0gdGhpcy5mb3JtYXQoZSk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGEsIG8sIGwsIGgsIHUsIHAsIGYsIGMsIGQsIF8sIGcsIG0sIHYsIHksIHgsIHcsIFQgPSBbImJvcmRlclRvcExlZnRSYWRpdXMiLCAiYm9yZGVyVG9wUmlnaHRSYWRpdXMiLCAiYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMiLCAiYm9yZGVyQm90dG9tTGVmdFJhZGl1cyJdLAogICAgICAgICAgICAgICAgICAgICAgICBiID0gdC5zdHlsZTsKICAgICAgICAgICAgICAgICAgICBmb3IgKGQgPSBwYXJzZUZsb2F0KHQub2Zmc2V0V2lkdGgpLCBfID0gcGFyc2VGbG9hdCh0Lm9mZnNldEhlaWdodCksIGEgPSBlLnNwbGl0KCIgIiksIG8gPSAwOyBvIDwgVC5sZW5ndGg7IG8rKykgdGhpcy5wLmluZGV4T2YoImJvcmRlciIpICYmIChUW29dID0gSihUW29dKSksIC0xICE9PSAodSA9IGggPSBldCh0LCBUW29dLCBPLCAhMSwgIjBweCIpKS5pbmRleE9mKCIgIikgJiYgKHUgPSAoaCA9IHUuc3BsaXQoIiAiKSlbMF0sIGggPSBoWzFdKSwgcCA9IGwgPSBhW29dLCBmID0gcGFyc2VGbG9hdCh1KSwgbSA9IHUuc3Vic3RyKChmICsgIiIpLmxlbmd0aCksICIiID09PSAoZyA9ICh2ID0gIj0iID09PSBwLmNoYXJBdCgxKSkgPyAoYyA9IHBhcnNlSW50KHAuY2hhckF0KDApICsgIjEiLCAxMCksIHAgPSBwLnN1YnN0cigyKSwgYyAqPSBwYXJzZUZsb2F0KHApLCBwLnN1YnN0cigoYyArICIiKS5sZW5ndGggLSAoYyA8IDAgPyAxIDogMCkpIHx8ICIiKSA6IChjID0gcGFyc2VGbG9hdChwKSwgcC5zdWJzdHIoKGMgKyAiIikubGVuZ3RoKSkpICYmIChnID0gUFtpXSB8fCBtKSwgZyAhPT0gbSAmJiAoeSA9IGl0KHQsICJib3JkZXJMZWZ0IiwgZiwgbSksIHggPSBpdCh0LCAiYm9yZGVyVG9wIiwgZiwgbSksIGggPSAiJSIgPT09IGcgPyAodSA9IHkgLyBkICogMTAwICsgIiUiLCB4IC8gXyAqIDEwMCArICIlIikgOiAiZW0iID09PSBnID8gKHUgPSB5IC8gKHcgPSBpdCh0LCAiYm9yZGVyTGVmdCIsIDEsICJlbSIpKSArICJlbSIsIHggLyB3ICsgImVtIikgOiAodSA9IHkgKyAicHgiLCB4ICsgInB4IiksIHYgJiYgKHAgPSBwYXJzZUZsb2F0KHUpICsgYyArIGcsIGwgPSBwYXJzZUZsb2F0KGgpICsgYyArIGcpKSwgciA9IGJ0KGIsIFRbb10sIHUgKyAiICIgKyBoLCBwICsgIiAiICsgbCwgITEsICIwcHgiLCByKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gcgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHByZWZpeDogITAsCiAgICAgICAgICAgICAgICBmb3JtYXR0ZXI6IHZ0KCIwcHggMHB4IDBweCAwcHgiLCAhMSwgITApCiAgICAgICAgICAgIH0pLCBPdCgiYm9yZGVyQm90dG9tTGVmdFJhZGl1cyxib3JkZXJCb3R0b21SaWdodFJhZGl1cyxib3JkZXJUb3BMZWZ0UmFkaXVzLGJvcmRlclRvcFJpZ2h0UmFkaXVzIiwgewogICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAiMHB4IiwKICAgICAgICAgICAgICAgIHBhcnNlcjogZnVuY3Rpb24odCwgZSwgaSwgbiwgciwgcykgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBidCh0LnN0eWxlLCBpLCB0aGlzLmZvcm1hdChldCh0LCBpLCBPLCAhMSwgIjBweCAwcHgiKSksIHRoaXMuZm9ybWF0KGUpLCAhMSwgIjBweCIsIHIpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcHJlZml4OiAhMCwKICAgICAgICAgICAgICAgIGZvcm1hdHRlcjogdnQoIjBweCAwcHgiLCAhMSwgITApCiAgICAgICAgICAgIH0pLCBPdCgiYmFja2dyb3VuZFBvc2l0aW9uIiwgewogICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAiMCAwIiwKICAgICAgICAgICAgICAgIHBhcnNlcjogZnVuY3Rpb24odCwgZSwgaSwgbiwgciwgcykgewogICAgICAgICAgICAgICAgICAgIHZhciBhLCBvLCBsLCBoLCB1LCBwLCBmID0gImJhY2tncm91bmQtcG9zaXRpb24iLAogICAgICAgICAgICAgICAgICAgICAgICBjID0gTyB8fCB0dCh0LCBudWxsKSwKICAgICAgICAgICAgICAgICAgICAgICAgZCA9IHRoaXMuZm9ybWF0KChjID8gUyA/IGMuZ2V0UHJvcGVydHlWYWx1ZShmICsgIi14IikgKyAiICIgKyBjLmdldFByb3BlcnR5VmFsdWUoZiArICIteSIpIDogYy5nZXRQcm9wZXJ0eVZhbHVlKGYpIDogdC5jdXJyZW50U3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uWCArICIgIiArIHQuY3VycmVudFN0eWxlLmJhY2tncm91bmRQb3NpdGlvblkpIHx8ICIwIDAiKSwKICAgICAgICAgICAgICAgICAgICAgICAgXyA9IHRoaXMuZm9ybWF0KGUpOwogICAgICAgICAgICAgICAgICAgIGlmICgtMSAhPT0gZC5pbmRleE9mKCIlIikgIT0gKC0xICE9PSBfLmluZGV4T2YoIiUiKSkgJiYgXy5zcGxpdCgiLCIpLmxlbmd0aCA8IDIgJiYgKChwID0gZXQodCwgImJhY2tncm91bmRJbWFnZSIpLnJlcGxhY2UoYiwgIiIpKSAmJiAibm9uZSIgIT09IHApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoYSA9IGQuc3BsaXQoIiAiKSwgbyA9IF8uc3BsaXQoIiAiKSwgVS5zZXRBdHRyaWJ1dGUoInNyYyIsIHApLCBsID0gMjsgLSAxIDwgLS1sOykoaCA9IC0xICE9PSAoZCA9IGFbbF0pLmluZGV4T2YoIiUiKSkgIT09ICgtMSAhPT0gb1tsXS5pbmRleE9mKCIlIikpICYmICh1ID0gMCA9PT0gbCA/IHQub2Zmc2V0V2lkdGggLSBVLndpZHRoIDogdC5vZmZzZXRIZWlnaHQgLSBVLmhlaWdodCwgYVtsXSA9IGggPyBwYXJzZUZsb2F0KGQpIC8gMTAwICogdSArICJweCIgOiBwYXJzZUZsb2F0KGQpIC8gdSAqIDEwMCArICIlIik7CiAgICAgICAgICAgICAgICAgICAgICAgIGQgPSBhLmpvaW4oIiAiKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUNvbXBsZXgodC5zdHlsZSwgZCwgXywgciwgcykKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBmb3JtYXR0ZXI6IGh0CiAgICAgICAgICAgIH0pLCBPdCgiYmFja2dyb3VuZFNpemUiLCB7CiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICIwIDAiLAogICAgICAgICAgICAgICAgZm9ybWF0dGVyOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGh0KC0xID09PSAodCArPSAiIikuaW5kZXhPZigiICIpID8gdCArICIgIiArIHQgOiB0KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSwgT3QoInBlcnNwZWN0aXZlIiwgewogICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAiMHB4IiwKICAgICAgICAgICAgICAgIHByZWZpeDogITAKICAgICAgICAgICAgfSksIE90KCJwZXJzcGVjdGl2ZU9yaWdpbiIsIHsKICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogIjUwJSA1MCUiLAogICAgICAgICAgICAgICAgcHJlZml4OiAhMAogICAgICAgICAgICB9KSwgT3QoInRyYW5zZm9ybVN0eWxlIiwgewogICAgICAgICAgICAgICAgcHJlZml4OiAhMAogICAgICAgICAgICB9KSwgT3QoImJhY2tmYWNlVmlzaWJpbGl0eSIsIHsKICAgICAgICAgICAgICAgIHByZWZpeDogITAKICAgICAgICAgICAgfSksIE90KCJ1c2VyU2VsZWN0IiwgewogICAgICAgICAgICAgICAgcHJlZml4OiAhMAogICAgICAgICAgICB9KSwgT3QoIm1hcmdpbiIsIHsKICAgICAgICAgICAgICAgIHBhcnNlcjogeXQoIm1hcmdpblRvcCxtYXJnaW5SaWdodCxtYXJnaW5Cb3R0b20sbWFyZ2luTGVmdCIpCiAgICAgICAgICAgIH0pLCBPdCgicGFkZGluZyIsIHsKICAgICAgICAgICAgICAgIHBhcnNlcjogeXQoInBhZGRpbmdUb3AscGFkZGluZ1JpZ2h0LHBhZGRpbmdCb3R0b20scGFkZGluZ0xlZnQiKQogICAgICAgICAgICB9KSwgT3QoImNsaXAiLCB7CiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICJyZWN0KDBweCwwcHgsMHB4LDBweCkiLAogICAgICAgICAgICAgICAgcGFyc2VyOiBmdW5jdGlvbih0LCBlLCBpLCBuLCByLCBzKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGEsIG8sIGw7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUgPSBTIDwgOSA/IChvID0gdC5jdXJyZW50U3R5bGUsIGwgPSBTIDwgOCA/ICIgIiA6ICIsIiwgYSA9ICJyZWN0KCIgKyBvLmNsaXBUb3AgKyBsICsgby5jbGlwUmlnaHQgKyBsICsgby5jbGlwQm90dG9tICsgbCArIG8uY2xpcExlZnQgKyAiKSIsIHRoaXMuZm9ybWF0KGUpLnNwbGl0KCIsIikuam9pbihsKSkgOiAoYSA9IHRoaXMuZm9ybWF0KGV0KHQsIHRoaXMucCwgTywgITEsIHRoaXMuZGZsdCkpLCB0aGlzLmZvcm1hdChlKSksIHRoaXMucGFyc2VDb21wbGV4KHQuc3R5bGUsIGEsIGUsIHIsIHMpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLCBPdCgidGV4dFNoYWRvdyIsIHsKICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogIjBweCAwcHggMHB4ICM5OTkiLAogICAgICAgICAgICAgICAgY29sb3I6ICEwLAogICAgICAgICAgICAgICAgbXVsdGk6ICEwCiAgICAgICAgICAgIH0pLCBPdCgiYXV0b1JvdW5kLHN0cmljdFVuaXRzIiwgewogICAgICAgICAgICAgICAgcGFyc2VyOiBmdW5jdGlvbih0LCBlLCBpLCBuLCByKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSksIE90KCJib3JkZXIiLCB7CiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICIwcHggc29saWQgIzAwMCIsCiAgICAgICAgICAgICAgICBwYXJzZXI6IGZ1bmN0aW9uKHQsIGUsIGksIG4sIHIsIHMpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgYSA9IGV0KHQsICJib3JkZXJUb3BXaWR0aCIsIE8sICExLCAiMHB4IiksCiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSB0aGlzLmZvcm1hdChlKS5zcGxpdCgiICIpLAogICAgICAgICAgICAgICAgICAgICAgICBsID0gb1swXS5yZXBsYWNlKEUsICIiKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gInB4IiAhPT0gbCAmJiAoYSA9IHBhcnNlRmxvYXQoYSkgLyBpdCh0LCAiYm9yZGVyVG9wV2lkdGgiLCAxLCBsKSArIGwpLCB0aGlzLnBhcnNlQ29tcGxleCh0LnN0eWxlLCB0aGlzLmZvcm1hdChhICsgIiAiICsgZXQodCwgImJvcmRlclRvcFN0eWxlIiwgTywgITEsICJzb2xpZCIpICsgIiAiICsgZXQodCwgImJvcmRlclRvcENvbG9yIiwgTywgITEsICIjMDAwIikpLCBvLmpvaW4oIiAiKSwgciwgcykKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb2xvcjogITAsCiAgICAgICAgICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IHQuc3BsaXQoIiAiKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZVswXSArICIgIiArIChlWzFdIHx8ICJzb2xpZCIpICsgIiAiICsgKHQubWF0Y2gobXQpIHx8IFsiIzAwMCJdKVswXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSwgT3QoImJvcmRlcldpZHRoIiwgewogICAgICAgICAgICAgICAgcGFyc2VyOiB5dCgiYm9yZGVyVG9wV2lkdGgsYm9yZGVyUmlnaHRXaWR0aCxib3JkZXJCb3R0b21XaWR0aCxib3JkZXJMZWZ0V2lkdGgiKQogICAgICAgICAgICB9KSwgT3QoImZsb2F0LGNzc0Zsb2F0LHN0eWxlRmxvYXQiLCB7CiAgICAgICAgICAgICAgICBwYXJzZXI6IGZ1bmN0aW9uKHQsIGUsIGksIG4sIHIsIHMpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgYSA9IHQuc3R5bGUsCiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSAiY3NzRmxvYXQiIGluIGEgPyAiY3NzRmxvYXQiIDogInN0eWxlRmxvYXQiOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgd3QoYSwgbywgMCwgMCwgciwgLTEsIGksICExLCAwLCBhW29dLCBlKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdmFyICR0ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGUsIGkgPSB0aGlzLnQsCiAgICAgICAgICAgICAgICAgICAgbiA9IGkuZmlsdGVyIHx8IGV0KHRoaXMuZGF0YSwgImZpbHRlciIpIHx8ICIiLAogICAgICAgICAgICAgICAgICAgIHIgPSB0aGlzLnMgKyB0aGlzLmMgKiB0IHwgMDsKICAgICAgICAgICAgICAgIDEwMCA9PT0gciAmJiAoZSA9IC0xID09PSBuLmluZGV4T2YoImF0cml4KCIpICYmIC0xID09PSBuLmluZGV4T2YoInJhZGllbnQoIikgJiYgLTEgPT09IG4uaW5kZXhPZigib2FkZXIoIikgPyAoaS5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLCAhZXQodGhpcy5kYXRhLCAiZmlsdGVyIikpIDogKGkuZmlsdGVyID0gbi5yZXBsYWNlKGEsICIiKSwgITApKSwgZSB8fCAodGhpcy54bjEgJiYgKGkuZmlsdGVyID0gbiA9IG4gfHwgImFscGhhKG9wYWNpdHk9IiArIHIgKyAiKSIpLCAtMSA9PT0gbi5pbmRleE9mKCJwYWNpdHkiKSA/IDAgPT09IHIgJiYgdGhpcy54bjEgfHwgKGkuZmlsdGVyID0gbiArICIgYWxwaGEob3BhY2l0eT0iICsgciArICIpIikgOiBpLmZpbHRlciA9IG4ucmVwbGFjZShELCAib3BhY2l0eT0iICsgcikpCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIE90KCJvcGFjaXR5LGFscGhhLGF1dG9BbHBoYSIsIHsKICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogIjEiLAogICAgICAgICAgICAgICAgcGFyc2VyOiBmdW5jdGlvbih0LCBlLCBpLCBuLCByLCBzKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGEgPSBwYXJzZUZsb2F0KGV0KHQsICJvcGFjaXR5IiwgTywgITEsICIxIikpLAogICAgICAgICAgICAgICAgICAgICAgICBvID0gdC5zdHlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgbCA9ICJhdXRvQWxwaGEiID09PSBpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAic3RyaW5nIiA9PSB0eXBlb2YgZSAmJiAiPSIgPT09IGUuY2hhckF0KDEpICYmIChlID0gKCItIiA9PT0gZS5jaGFyQXQoMCkgPyAtMSA6IDEpICogcGFyc2VGbG9hdChlLnN1YnN0cigyKSkgKyBhKSwgbCAmJiAxID09PSBhICYmICJoaWRkZW4iID09PSBldCh0LCAidmlzaWJpbGl0eSIsIE8pICYmIDAgIT09IGUgJiYgKGEgPSAwKSwgUSA/IHIgPSBuZXcgd3QobywgIm9wYWNpdHkiLCBhLCBlIC0gYSwgcikgOiAoKHIgPSBuZXcgd3QobywgIm9wYWNpdHkiLCAxMDAgKiBhLCAxMDAgKiAoZSAtIGEpLCByKSkueG4xID0gbCA/IDEgOiAwLCBvLnpvb20gPSAxLCByLnR5cGUgPSAyLCByLmIgPSAiYWxwaGEob3BhY2l0eT0iICsgci5zICsgIikiLCByLmUgPSAiYWxwaGEob3BhY2l0eT0iICsgKHIucyArIHIuYykgKyAiKSIsIHIuZGF0YSA9IHQsIHIucGx1Z2luID0gcywgci5zZXRSYXRpbyA9ICR0KSwgbCAmJiAoKHIgPSBuZXcgd3QobywgInZpc2liaWxpdHkiLCAwLCAwLCByLCAtMSwgbnVsbCwgITEsIDAsIDAgIT09IGEgPyAiaW5oZXJpdCIgOiAiaGlkZGVuIiwgMCA9PT0gZSA/ICJoaWRkZW4iIDogImluaGVyaXQiKSkueHMwID0gImluaGVyaXQiLCBuLl9vdmVyd3JpdGVQcm9wcy5wdXNoKHIubiksIG4uX292ZXJ3cml0ZVByb3BzLnB1c2goaSkpLCByCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB2YXIgS3QgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgZSAmJiAodC5yZW1vdmVQcm9wZXJ0eSA/ICgoIm1zIiA9PT0gZS5zdWJzdHIoMCwgMikgfHwgIndlYmtpdCIgPT09IGUuc3Vic3RyKDAsIDYpKSAmJiAoZSA9ICItIiArIGUpLCB0LnJlbW92ZVByb3BlcnR5KGUucmVwbGFjZShvLCAiLSQxIikudG9Mb3dlckNhc2UoKSkpIDogdC5yZW1vdmVBdHRyaWJ1dGUoZSkpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgSnQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudC5fZ3NDbGFzc1BUID0gdGhpcywgMSA9PT0gdCB8fCAwID09PSB0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgMCA9PT0gdCA/IHRoaXMuYiA6IHRoaXMuZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGUgPSB0aGlzLmRhdGEsIGkgPSB0aGlzLnQuc3R5bGU7IGU7KSBlLnYgPyBpW2UucF0gPSBlLnYgOiBLdChpLCBlLnApLCBlID0gZS5fbmV4dDsKICAgICAgICAgICAgICAgICAgICAgICAgMSA9PT0gdCAmJiB0aGlzLnQuX2dzQ2xhc3NQVCA9PT0gdGhpcyAmJiAodGhpcy50Ll9nc0NsYXNzUFQgPSBudWxsKQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB0aGlzLnQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpICE9PSB0aGlzLmUgJiYgdGhpcy50LnNldEF0dHJpYnV0ZSgiY2xhc3MiLCB0aGlzLmUpCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICBPdCgiY2xhc3NOYW1lIiwgewogICAgICAgICAgICAgICAgcGFyc2VyOiBmdW5jdGlvbih0LCBlLCBpLCBuLCByLCBzLCBhKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG8sIGwsIGgsIHUsIHAsIGYgPSB0LmdldEF0dHJpYnV0ZSgiY2xhc3MiKSB8fCAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgYyA9IHQuc3R5bGUuY3NzVGV4dDsKICAgICAgICAgICAgICAgICAgICBpZiAoKHIgPSBuLl9jbGFzc05hbWVQVCA9IG5ldyB3dCh0LCBpLCAwLCAwLCByLCAyKSkuc2V0UmF0aW8gPSBKdCwgci5wciA9IC0xMSwgZCA9ICEwLCByLmIgPSBmLCBsID0gcnQodCwgTyksIGggPSB0Ll9nc0NsYXNzUFQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh1ID0ge30sIHAgPSBoLmRhdGE7IHA7KSB1W3AucF0gPSAxLCBwID0gcC5fbmV4dDsKICAgICAgICAgICAgICAgICAgICAgICAgaC5zZXRSYXRpbygxKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHQuX2dzQ2xhc3NQVCA9IHIpLmUgPSAiPSIgIT09IGUuY2hhckF0KDEpID8gZSA6IGYucmVwbGFjZShuZXcgUmVnRXhwKCIoPzpcXHN8XikiICsgZS5zdWJzdHIoMikgKyAiKD8hW1xcdy1dKSIpLCAiIikgKyAoIisiID09PSBlLmNoYXJBdCgwKSA/ICIgIiArIGUuc3Vic3RyKDIpIDogIiIpLCB0LnNldEF0dHJpYnV0ZSgiY2xhc3MiLCByLmUpLCBvID0gc3QodCwgbCwgcnQodCksIGEsIHUpLCB0LnNldEF0dHJpYnV0ZSgiY2xhc3MiLCBmKSwgci5kYXRhID0gby5maXJzdE1QVCwgdC5zdHlsZS5jc3NUZXh0ID0gYywgci54Zmlyc3QgPSBuLnBhcnNlKHQsIG8uZGlmcywgciwgcykKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHZhciB0ZSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIGlmICgoMSA9PT0gdCB8fCAwID09PSB0KSAmJiB0aGlzLmRhdGEuX3RvdGFsVGltZSA9PT0gdGhpcy5kYXRhLl90b3RhbER1cmF0aW9uICYmICJpc0Zyb21TdGFydCIgIT09IHRoaXMuZGF0YS5kYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUsIGksIG4sIHIsIHMsIGEgPSB0aGlzLnQuc3R5bGUsCiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSBnLnRyYW5zZm9ybS5wYXJzZTsKICAgICAgICAgICAgICAgICAgICBpZiAoImFsbCIgPT09IHRoaXMuZSkgciA9ICEoYS5jc3NUZXh0ID0gIiIpOwogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChuID0gKGUgPSB0aGlzLmUuc3BsaXQoIiAiKS5qb2luKCIiKS5zcGxpdCgiLCIpKS5sZW5ndGg7IC0gMSA8IC0tbjspIGkgPSBlW25dLCBnW2ldICYmIChnW2ldLnBhcnNlID09PSBvID8gciA9ICEwIDogaSA9ICJ0cmFuc2Zvcm1PcmlnaW4iID09PSBpID8gRnQgOiBnW2ldLnApLCBLdChhLCBpKTsKICAgICAgICAgICAgICAgICAgICByICYmIChLdChhLCBMdCksIChzID0gdGhpcy50Ll9nc1RyYW5zZm9ybSkgJiYgKHMuc3ZnICYmICh0aGlzLnQucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXN2Zy1vcmlnaW4iKSwgdGhpcy50LnJlbW92ZUF0dHJpYnV0ZSgidHJhbnNmb3JtIikpLCBkZWxldGUgdGhpcy50Ll9nc1RyYW5zZm9ybSkpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGZvciAoT3QoImNsZWFyUHJvcHMiLCB7CiAgICAgICAgICAgICAgICAgICAgcGFyc2VyOiBmdW5jdGlvbih0LCBlLCBpLCBuLCByKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAociA9IG5ldyB3dCh0LCBpLCAwLCAwLCByLCAyKSkuc2V0UmF0aW8gPSB0ZSwgci5lID0gZSwgci5wciA9IC0xMCwgci5kYXRhID0gbi5fdHdlZW4sIGQgPSAhMCwgcgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pLCB0ID0gImJlemllcix0aHJvd1Byb3BzLHBoeXNpY3NQcm9wcyxwaHlzaWNzMkQiLnNwbGl0KCIsIiksIFB0ID0gdC5sZW5ndGg7IFB0LS07KSBrdCh0W1B0XSk7CiAgICAgICAgICAgICh0ID0gai5wcm90b3R5cGUpLl9maXJzdFBUID0gdC5fbGFzdFBhcnNlZFRyYW5zZm9ybSA9IHQuX3RyYW5zZm9ybSA9IG51bGwsIHQuX29uSW5pdFR3ZWVuID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgaWYgKCF0Lm5vZGVUeXBlKSByZXR1cm4gITE7CiAgICAgICAgICAgICAgICB0aGlzLl90YXJnZXQgPSBDID0gdCwgdGhpcy5fdHdlZW4gPSBpLCB0aGlzLl92YXJzID0gZSwgQSA9IG4sIGsgPSBlLmF1dG9Sb3VuZCwgZCA9ICExLCBQID0gZS5zdWZmaXhNYXAgfHwgai5zdWZmaXhNYXAsIE8gPSB0dCh0LCAiIiksIF8gPSB0aGlzLl9vdmVyd3JpdGVQcm9wczsKICAgICAgICAgICAgICAgIHZhciByLCBzLCBhLCBvLCBsLCBoLCB1LCBwLCBmLCBjID0gdC5zdHlsZTsKICAgICAgICAgICAgICAgIGlmIChtICYmICIiID09PSBjLnpJbmRleCAmJiAoKCJhdXRvIiA9PT0gKHIgPSBldCh0LCAiekluZGV4IiwgTykpIHx8ICIiID09PSByKSAmJiB0aGlzLl9hZGRMYXp5U2V0KGMsICJ6SW5kZXgiLCAwKSksICJzdHJpbmciID09IHR5cGVvZiBlICYmIChvID0gYy5jc3NUZXh0LCByID0gcnQodCwgTyksIGMuY3NzVGV4dCA9IG8gKyAiOyIgKyBlLCByID0gc3QodCwgciwgcnQodCkpLmRpZnMsICFRICYmIHcudGVzdChlKSAmJiAoci5vcGFjaXR5ID0gcGFyc2VGbG9hdChSZWdFeHAuJDEpKSwgZSA9IHIsIGMuY3NzVGV4dCA9IG8pLCBlLmNsYXNzTmFtZSA/IHRoaXMuX2ZpcnN0UFQgPSBzID0gZy5jbGFzc05hbWUucGFyc2UodCwgZS5jbGFzc05hbWUsICJjbGFzc05hbWUiLCB0aGlzLCBudWxsLCBudWxsLCBlKSA6IHRoaXMuX2ZpcnN0UFQgPSBzID0gdGhpcy5wYXJzZSh0LCBlLCBudWxsKSwgdGhpcy5fdHJhbnNmb3JtVHlwZSkgewogICAgICAgICAgICAgICAgICAgIGZvciAoZiA9IDMgPT09IHRoaXMuX3RyYW5zZm9ybVR5cGUsIEx0ID8gdiAmJiAobSA9ICEwLCAiIiA9PT0gYy56SW5kZXggJiYgKCgiYXV0byIgPT09ICh1ID0gZXQodCwgInpJbmRleCIsIE8pKSB8fCAiIiA9PT0gdSkgJiYgdGhpcy5fYWRkTGF6eVNldChjLCAiekluZGV4IiwgMCkpLCB5ICYmIHRoaXMuX2FkZExhenlTZXQoYywgIldlYmtpdEJhY2tmYWNlVmlzaWJpbGl0eSIsIHRoaXMuX3ZhcnMuV2Via2l0QmFja2ZhY2VWaXNpYmlsaXR5IHx8IChmID8gInZpc2libGUiIDogImhpZGRlbiIpKSkgOiBjLnpvb20gPSAxLCBhID0gczsgYSAmJiBhLl9uZXh0OykgYSA9IGEuX25leHQ7CiAgICAgICAgICAgICAgICAgICAgcCA9IG5ldyB3dCh0LCAidHJhbnNmb3JtIiwgMCwgMCwgbnVsbCwgMiksIHRoaXMuX2xpbmtDU1NQKHAsIG51bGwsIGEpLCBwLnNldFJhdGlvID0gTHQgPyBadCA6IEh0LCBwLmRhdGEgPSB0aGlzLl90cmFuc2Zvcm0gfHwgUXQodCwgTywgITApLCBwLnR3ZWVuID0gaSwgcC5wciA9IC0xLCBfLnBvcCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoZCkgewogICAgICAgICAgICAgICAgICAgIGZvciAoOyBzOykgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGggPSBzLl9uZXh0LCBhID0gbzsgYSAmJiBhLnByID4gcy5wcjspIGEgPSBhLl9uZXh0OwogICAgICAgICAgICAgICAgICAgICAgICAocy5fcHJldiA9IGEgPyBhLl9wcmV2IDogbCkgPyBzLl9wcmV2Ll9uZXh0ID0gczogbyA9IHMsIChzLl9uZXh0ID0gYSkgPyBhLl9wcmV2ID0gcyA6IGwgPSBzLCBzID0gaAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB0aGlzLl9maXJzdFBUID0gbwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuICEwCiAgICAgICAgICAgIH0sIHQucGFyc2UgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgICAgICB2YXIgciwgcywgYSwgbywgbCwgaCwgdSwgcCwgZiwgYywgZCA9IHQuc3R5bGU7CiAgICAgICAgICAgICAgICBmb3IgKHIgaW4gZSkgImZ1bmN0aW9uIiA9PSB0eXBlb2YoaCA9IGVbcl0pICYmIChoID0gaChBLCBDKSksIChzID0gZ1tyXSkgPyBpID0gcy5wYXJzZSh0LCBoLCByLCB0aGlzLCBpLCBuLCBlKSA6IChsID0gZXQodCwgciwgTykgKyAiIiwgZiA9ICJzdHJpbmciID09IHR5cGVvZiBoLCAiY29sb3IiID09PSByIHx8ICJmaWxsIiA9PT0gciB8fCAic3Ryb2tlIiA9PT0gciB8fCAtMSAhPT0gci5pbmRleE9mKCJDb2xvciIpIHx8IGYgJiYgVC50ZXN0KGgpID8gKGYgfHwgKGggPSAoMyA8IChoID0gX3QoaCkpLmxlbmd0aCA/ICJyZ2JhKCIgOiAicmdiKCIpICsgaC5qb2luKCIsIikgKyAiKSIpLCBpID0gYnQoZCwgciwgbCwgaCwgITAsICJ0cmFuc3BhcmVudCIsIGksIDAsIG4pKSA6IGYgJiYgRi50ZXN0KGgpID8gaSA9IGJ0KGQsIHIsIGwsIGgsICEwLCBudWxsLCBpLCAwLCBuKSA6ICh1ID0gKGEgPSBwYXJzZUZsb2F0KGwpKSB8fCAwID09PSBhID8gbC5zdWJzdHIoKGEgKyAiIikubGVuZ3RoKSA6ICIiLCAoIiIgPT09IGwgfHwgImF1dG8iID09PSBsKSAmJiAodSA9ICJ3aWR0aCIgPT09IHIgfHwgImhlaWdodCIgPT09IHIgPyAoYSA9IGx0KHQsIHIsIE8pLCAicHgiKSA6ICJsZWZ0IiA9PT0gciB8fCAidG9wIiA9PT0gciA/IChhID0gbnQodCwgciwgTyksICJweCIpIDogKGEgPSAib3BhY2l0eSIgIT09IHIgPyAwIDogMSwgIiIpKSwgIiIgPT09IChwID0gKGMgPSBmICYmICI9IiA9PT0gaC5jaGFyQXQoMSkpID8gKG8gPSBwYXJzZUludChoLmNoYXJBdCgwKSArICIxIiwgMTApLCBoID0gaC5zdWJzdHIoMiksIG8gKj0gcGFyc2VGbG9hdChoKSwgaC5yZXBsYWNlKEUsICIiKSkgOiAobyA9IHBhcnNlRmxvYXQoaCksIGYgPyBoLnJlcGxhY2UoRSwgIiIpIDogIiIpKSAmJiAocCA9IHIgaW4gUCA/IFBbcl0gOiB1KSwgaCA9IG8gfHwgMCA9PT0gbyA/IChjID8gbyArIGEgOiBvKSArIHAgOiBlW3JdLCB1ICE9PSBwICYmICIiICE9PSBwICYmIChvIHx8IDAgPT09IG8pICYmIGEgJiYgKGEgPSBpdCh0LCByLCBhLCB1KSwgIiUiID09PSBwID8gKGEgLz0gaXQodCwgciwgMTAwLCAiJSIpIC8gMTAwLCAhMCAhPT0gZS5zdHJpY3RVbml0cyAmJiAobCA9IGEgKyAiJSIpKSA6ICJlbSIgPT09IHAgfHwgInJlbSIgPT09IHAgfHwgInZ3IiA9PT0gcCB8fCAidmgiID09PSBwID8gYSAvPSBpdCh0LCByLCAxLCBwKSA6ICJweCIgIT09IHAgJiYgKG8gPSBpdCh0LCByLCBvLCBwKSwgcCA9ICJweCIpLCBjICYmIChvIHx8IDAgPT09IG8pICYmIChoID0gbyArIGEgKyBwKSksIGMgJiYgKG8gKz0gYSksICFhICYmIDAgIT09IGEgfHwgIW8gJiYgMCAhPT0gbyA/IHZvaWQgMCAhPT0gZFtyXSAmJiAoaCB8fCBoICsgIiIgIT0gIk5hTiIgJiYgbnVsbCAhPSBoKSA/IChpID0gbmV3IHd0KGQsIHIsIG8gfHwgYSB8fCAwLCAwLCBpLCAtMSwgciwgITEsIDAsIGwsIGgpKS54czAgPSAibm9uZSIgIT09IGggfHwgImRpc3BsYXkiICE9PSByICYmIC0xID09PSByLmluZGV4T2YoIlN0eWxlIikgPyBoIDogbCA6IFooImludmFsaWQgIiArIHIgKyAiIHR3ZWVuIHZhbHVlOiAiICsgZVtyXSkgOiAoaSA9IG5ldyB3dChkLCByLCBhLCBvIC0gYSwgaSwgMCwgciwgITEgIT09IGsgJiYgKCJweCIgPT09IHAgfHwgInpJbmRleCIgPT09IHIpLCAwLCBsLCBoKSkueHMwID0gcCkpLCBuICYmIGkgJiYgIWkucGx1Z2luICYmIChpLnBsdWdpbiA9IG4pOwogICAgICAgICAgICAgICAgcmV0dXJuIGkKICAgICAgICAgICAgfSwgdC5zZXRSYXRpbyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuLCByID0gdGhpcy5fZmlyc3RQVDsKICAgICAgICAgICAgICAgIGlmICgxICE9PSB0IHx8IHRoaXMuX3R3ZWVuLl90aW1lICE9PSB0aGlzLl90d2Vlbi5fZHVyYXRpb24gJiYgMCAhPT0gdGhpcy5fdHdlZW4uX3RpbWUpCiAgICAgICAgICAgICAgICAgICAgaWYgKHQgfHwgdGhpcy5fdHdlZW4uX3RpbWUgIT09IHRoaXMuX3R3ZWVuLl9kdXJhdGlvbiAmJiAwICE9PSB0aGlzLl90d2Vlbi5fdGltZSB8fCAtMWUtNiA9PT0gdGhpcy5fdHdlZW4uX3Jhd1ByZXZUaW1lKQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKDsgcjspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlID0gci5jICogdCArIHIucywgci5yID8gZSA9IE1hdGgucm91bmQoZSkgOiBlIDwgMWUtNiAmJiAtMWUtNiA8IGUgJiYgKGUgPSAwKSwgci50eXBlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgxID09PSByLnR5cGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgyID09PSAobiA9IHIubCkpIHIudFtyLnBdID0gci54czAgKyBlICsgci54czEgKyByLnhuMSArIHIueHMyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgzID09PSBuKSByLnRbci5wXSA9IHIueHMwICsgZSArIHIueHMxICsgci54bjEgKyByLnhzMiArIHIueG4yICsgci54czM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICg0ID09PSBuKSByLnRbci5wXSA9IHIueHMwICsgZSArIHIueHMxICsgci54bjEgKyByLnhzMiArIHIueG4yICsgci54czMgKyByLnhuMyArIHIueHM0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoNSA9PT0gbikgci50W3IucF0gPSByLnhzMCArIGUgKyByLnhzMSArIHIueG4xICsgci54czIgKyByLnhuMiArIHIueHMzICsgci54bjMgKyByLnhzNCArIHIueG40ICsgci54czU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSByLnhzMCArIGUgKyByLnhzMSwgbiA9IDE7IG4gPCByLmw7IG4rKykgaSArPSByWyJ4biIgKyBuXSArIHJbInhzIiArIChuICsgMSldOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIudFtyLnBdID0gaQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIC0xID09PSByLnR5cGUgPyByLnRbci5wXSA9IHIueHMwIDogci5zZXRSYXRpbyAmJiByLnNldFJhdGlvKHQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSByLnRbci5wXSA9IGUgKyByLnhzMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSByLl9uZXh0CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICg7IHI7KSAyICE9PSByLnR5cGUgPyByLnRbci5wXSA9IHIuYiA6IHIuc2V0UmF0aW8odCksIHIgPSByLl9uZXh0OwogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICg7IHI7KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoMiAhPT0gci50eXBlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyLnIgJiYgLTEgIT09IHIudHlwZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUgPSBNYXRoLnJvdW5kKHIucyArIHIuYyksIHIudHlwZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKDEgPT09IHIudHlwZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobiA9IHIubCwgaSA9IHIueHMwICsgZSArIHIueHMxLCBuID0gMTsgbiA8IHIubDsgbisrKSBpICs9IHJbInhuIiArIG5dICsgclsieHMiICsgKG4gKyAxKV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci50W3IucF0gPSBpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSByLnRbci5wXSA9IGUgKyByLnhzMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Ugci50W3IucF0gPSByLmU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHIuc2V0UmF0aW8odCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gci5fbmV4dAogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIHQuX2VuYWJsZVRyYW5zZm9ybXMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2Zvcm0gPSB0aGlzLl90cmFuc2Zvcm0gfHwgUXQodGhpcy5fdGFyZ2V0LCBPLCAhMCksIHRoaXMuX3RyYW5zZm9ybVR5cGUgPSB0aGlzLl90cmFuc2Zvcm0uc3ZnICYmIEN0IHx8ICF0ICYmIDMgIT09IHRoaXMuX3RyYW5zZm9ybVR5cGUgPyAyIDogMwogICAgICAgICAgICB9OwogICAgICAgICAgICB2YXIgZWUgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB0aGlzLnRbdGhpcy5wXSA9IHRoaXMuZSwgdGhpcy5kYXRhLl9saW5rQ1NTUCh0aGlzLCB0aGlzLl9uZXh0LCBudWxsLCAhMCkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdC5fYWRkTGF6eVNldCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgIHZhciBuID0gdGhpcy5fZmlyc3RQVCA9IG5ldyB3dCh0LCBlLCAwLCAwLCB0aGlzLl9maXJzdFBULCAyKTsKICAgICAgICAgICAgICAgIG4uZSA9IGksIG4uc2V0UmF0aW8gPSBlZSwgbi5kYXRhID0gdGhpcwogICAgICAgICAgICB9LCB0Ll9saW5rQ1NTUCA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgICAgIHJldHVybiB0ICYmIChlICYmIChlLl9wcmV2ID0gdCksIHQuX25leHQgJiYgKHQuX25leHQuX3ByZXYgPSB0Ll9wcmV2KSwgdC5fcHJldiA/IHQuX3ByZXYuX25leHQgPSB0Ll9uZXh0IDogdGhpcy5fZmlyc3RQVCA9PT0gdCAmJiAodGhpcy5fZmlyc3RQVCA9IHQuX25leHQsIG4gPSAhMCksIGkgPyBpLl9uZXh0ID0gdCA6IG4gfHwgbnVsbCAhPT0gdGhpcy5fZmlyc3RQVCB8fCAodGhpcy5fZmlyc3RQVCA9IHQpLCB0Ll9uZXh0ID0gZSwgdC5fcHJldiA9IGkpLCB0CiAgICAgICAgICAgIH0sIHQuX21vZCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIGUgPSB0aGlzLl9maXJzdFBUOyBlOykgImZ1bmN0aW9uIiA9PSB0eXBlb2YgdFtlLnBdICYmIHRbZS5wXSA9PT0gTWF0aC5yb3VuZCAmJiAoZS5yID0gMSksIGUgPSBlLl9uZXh0CiAgICAgICAgICAgIH0sIHQuX2tpbGwgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSwgaSwgbiwgciA9IHQ7CiAgICAgICAgICAgICAgICBpZiAodC5hdXRvQWxwaGEgfHwgdC5hbHBoYSkgewogICAgICAgICAgICAgICAgICAgIGZvciAoaSBpbiByID0ge30sIHQpIHJbaV0gPSB0W2ldOwogICAgICAgICAgICAgICAgICAgIHIub3BhY2l0eSA9IDEsIHIuYXV0b0FscGhhICYmIChyLnZpc2liaWxpdHkgPSAxKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZm9yICh0LmNsYXNzTmFtZSAmJiAoZSA9IHRoaXMuX2NsYXNzTmFtZVBUKSAmJiAoKG4gPSBlLnhmaXJzdCkgJiYgbi5fcHJldiA/IHRoaXMuX2xpbmtDU1NQKG4uX3ByZXYsIGUuX25leHQsIG4uX3ByZXYuX3ByZXYpIDogbiA9PT0gdGhpcy5fZmlyc3RQVCAmJiAodGhpcy5fZmlyc3RQVCA9IGUuX25leHQpLCBlLl9uZXh0ICYmIHRoaXMuX2xpbmtDU1NQKGUuX25leHQsIGUuX25leHQuX25leHQsIG4uX3ByZXYpLCB0aGlzLl9jbGFzc05hbWVQVCA9IG51bGwpLCBlID0gdGhpcy5fZmlyc3RQVDsgZTspIGUucGx1Z2luICYmIGUucGx1Z2luICE9PSBpICYmIGUucGx1Z2luLl9raWxsICYmIChlLnBsdWdpbi5fa2lsbCh0KSwgaSA9IGUucGx1Z2luKSwgZSA9IGUuX25leHQ7CiAgICAgICAgICAgICAgICByZXR1cm4gcy5wcm90b3R5cGUuX2tpbGwuY2FsbCh0aGlzLCByKQogICAgICAgICAgICB9OwogICAgICAgICAgICB2YXIgaWUgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICB2YXIgbiwgciwgcywgYTsKICAgICAgICAgICAgICAgIGlmICh0LnNsaWNlKQogICAgICAgICAgICAgICAgICAgIGZvciAociA9IHQubGVuZ3RoOyAtIDEgPCAtLXI7KSBpZSh0W3JdLCBlLCBpKTsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBmb3IgKHIgPSAobiA9IHQuY2hpbGROb2RlcykubGVuZ3RoOyAtIDEgPCAtLXI7KSBhID0gKHMgPSBuW3JdKS50eXBlLCBzLnN0eWxlICYmIChlLnB1c2gocnQocykpLCBpICYmIGkucHVzaChzKSksIDEgIT09IGEgJiYgOSAhPT0gYSAmJiAxMSAhPT0gYSB8fCAhcy5jaGlsZE5vZGVzLmxlbmd0aCB8fCBpZShzLCBlLCBpKQogICAgICAgICAgICB9OwogICAgICAgICAgICByZXR1cm4gai5jYXNjYWRlVG8gPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICB2YXIgbiwgciwgcywgYSwgbyA9IEIudG8odCwgZSwgaSksCiAgICAgICAgICAgICAgICAgICAgbCA9IFtvXSwKICAgICAgICAgICAgICAgICAgICBoID0gW10sCiAgICAgICAgICAgICAgICAgICAgdSA9IFtdLAogICAgICAgICAgICAgICAgICAgIHAgPSBbXSwKICAgICAgICAgICAgICAgICAgICBmID0gQi5faW50ZXJuYWxzLnJlc2VydmVkUHJvcHM7CiAgICAgICAgICAgICAgICBmb3IgKHQgPSBvLl90YXJnZXRzIHx8IG8udGFyZ2V0LCBpZSh0LCBoLCBwKSwgby5yZW5kZXIoZSwgITAsICEwKSwgaWUodCwgdSksIG8ucmVuZGVyKDAsICEwLCAhMCksIG8uX2VuYWJsZWQoITApLCBuID0gcC5sZW5ndGg7IC0gMSA8IC0tbjspCiAgICAgICAgICAgICAgICAgICAgaWYgKChyID0gc3QocFtuXSwgaFtuXSwgdVtuXSkpLmZpcnN0TVBUKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAocyBpbiByID0gci5kaWZzLCBpKSBmW3NdICYmIChyW3NdID0gaVtzXSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAocyBpbiBhID0ge30sIHIpIGFbc10gPSBoW25dW3NdOwogICAgICAgICAgICAgICAgICAgICAgICBsLnB1c2goQi5mcm9tVG8ocFtuXSwgZSwgYSwgcikpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGwKICAgICAgICAgICAgfSwgcy5hY3RpdmF0ZShbal0pLCBqCiAgICAgICAgfSwgITApCiAgICB9KSwgX2dzU2NvcGUuX2dzRGVmaW5lICYmIF9nc1Njb3BlLl9nc1F1ZXVlLnBvcCgpKCksCiAgICBmdW5jdGlvbih0KSB7CiAgICAgICAgInVzZSBzdHJpY3QiOwogICAgICAgIHZhciBlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiAoX2dzU2NvcGUuR3JlZW5Tb2NrR2xvYmFscyB8fCBfZ3NTY29wZSkuQ1NTUGx1Z2luCiAgICAgICAgfTsKICAgICAgICAiZnVuY3Rpb24iID09IHR5cGVvZiBkZWZpbmUgJiYgZGVmaW5lLmFtZCA/IGRlZmluZShbIlR3ZWVuTGl0ZSJdLCBlKSA6ICJ1bmRlZmluZWQiICE9IHR5cGVvZiBtb2R1bGUgJiYgbW9kdWxlLmV4cG9ydHMgJiYgKHJlcXVpcmUoIi4uL1R3ZWVuTGl0ZS5qcyIpLCBtb2R1bGUuZXhwb3J0cyA9IGUoKSkKICAgIH0oKSwKICAgIGZ1bmN0aW9uKGkpIHsKICAgICAgICAidXNlIHN0cmljdCI7CiAgICAgICAgdmFyIHIgPSBpLkdyZWVuU29ja0dsb2JhbHMgfHwgaSwKICAgICAgICAgICAgdCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlLCBpID0gdC5zcGxpdCgiLiIpLAogICAgICAgICAgICAgICAgICAgIG4gPSByOwogICAgICAgICAgICAgICAgZm9yIChlID0gMDsgZSA8IGkubGVuZ3RoOyBlKyspIG5baVtlXV0gPSBuID0gbltpW2VdXSB8fCB7fTsKICAgICAgICAgICAgICAgIHJldHVybiBuCiAgICAgICAgICAgIH0oImNvbS5ncmVlbnNvY2sudXRpbHMiKSwKICAgICAgICAgICAgYiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdC5ub2RlVHlwZSwKICAgICAgICAgICAgICAgICAgICBpID0gIiI7CiAgICAgICAgICAgICAgICBpZiAoMSA9PT0gZSB8fCA5ID09PSBlIHx8IDExID09PSBlKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCJzdHJpbmciID09IHR5cGVvZiB0LnRleHRDb250ZW50KSByZXR1cm4gdC50ZXh0Q29udGVudDsKICAgICAgICAgICAgICAgICAgICBmb3IgKHQgPSB0LmZpcnN0Q2hpbGQ7IHQ7IHQgPSB0Lm5leHRTaWJsaW5nKSBpICs9IGIodCkKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoMyA9PT0gZSB8fCA0ID09PSBlKSByZXR1cm4gdC5ub2RlVmFsdWU7CiAgICAgICAgICAgICAgICByZXR1cm4gaQogICAgICAgICAgICB9LAogICAgICAgICAgICBqID0gZG9jdW1lbnQsCiAgICAgICAgICAgIFkgPSBqLmRlZmF1bHRWaWV3ID8gai5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlIDogZnVuY3Rpb24oKSB7fSwKICAgICAgICAgICAgcyA9IC8oW0EtWl0pL2csCiAgICAgICAgICAgIFYgPSBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgICAgICB2YXIgcjsKICAgICAgICAgICAgICAgIHJldHVybiAoaSA9IGkgfHwgWSh0LCBudWxsKSkgPyByID0gKHQgPSBpLmdldFByb3BlcnR5VmFsdWUoZS5yZXBsYWNlKHMsICItJDEiKS50b0xvd2VyQ2FzZSgpKSkgfHwgaS5sZW5ndGggPyB0IDogaVtlXSA6IHQuY3VycmVudFN0eWxlICYmIChyID0gKGkgPSB0LmN1cnJlbnRTdHlsZSlbZV0pLCBuID8gciA6IHBhcnNlSW50KHIsIDEwKSB8fCAwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGEgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gISEodC5sZW5ndGggJiYgdFswXSAmJiAodFswXS5ub2RlVHlwZSAmJiB0WzBdLnN0eWxlICYmICF0Lm5vZGVUeXBlIHx8IHRbMF0ubGVuZ3RoICYmIHRbMF1bMF0pKQogICAgICAgICAgICB9LAogICAgICAgICAgICBQID0gLyg/OlxyfFxufFx0XHQpL2csCiAgICAgICAgICAgIFMgPSAvKD86XHNccyspL2csCiAgICAgICAgICAgIE8gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKHQuY2hhckNvZGVBdCgwKSAtIDU1Mjk2IDw8IDEwKSArICh0LmNoYXJDb2RlQXQoMSkgLSA1NjMyMCkgKyA2NTUzNgogICAgICAgICAgICB9LAogICAgICAgICAgICBvID0gIiBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7IiArIChqLmFsbCAmJiAhai5hZGRFdmVudExpc3RlbmVyID8gIipkaXNwbGF5OmlubGluZTsqem9vbToxOyciIDogIiciKSwKICAgICAgICAgICAgbCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIHZhciBpID0gLTEgIT09ICh0ID0gdCB8fCAiIikuaW5kZXhPZigiKysiKSwKICAgICAgICAgICAgICAgICAgICBuID0gMTsKICAgICAgICAgICAgICAgIHJldHVybiBpICYmICh0ID0gdC5zcGxpdCgiKysiKS5qb2luKCIiKSksCiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiPCIgKyBlICsgbyArICh0ID8gIiBjbGFzcz0nIiArIHQgKyAoaSA/IG4rKyA6ICIiKSArICInPiIgOiAiPiIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBuID0gdC5TcGxpdFRleHQgPSByLlNwbGl0VGV4dCA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIGlmICgic3RyaW5nIiA9PSB0eXBlb2YgdCAmJiAodCA9IG4uc2VsZWN0b3IodCkpLCAhdCkgdGhyb3cgImNhbm5vdCBzcGxpdCBhIG51bGwgZWxlbWVudC4iOwogICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50cyA9IGEodCkgPyBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUsIGksIG4sIHIgPSBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgcyA9IHQubGVuZ3RoOwogICAgICAgICAgICAgICAgICAgIGZvciAoZSA9IDA7IGUgPCBzOyBlKyspCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpID0gdFtlXSwgYShpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobiA9IGkubGVuZ3RoLCBuID0gMDsgbiA8IGkubGVuZ3RoOyBuKyspIHIucHVzaChpW25dKTsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSByLnB1c2goaSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHIKICAgICAgICAgICAgICAgIH0odCkgOiBbdF0sIHRoaXMuY2hhcnMgPSBbXSwgdGhpcy53b3JkcyA9IFtdLCB0aGlzLmxpbmVzID0gW10sIHRoaXMuX29yaWdpbmFscyA9IFtdLCB0aGlzLnZhcnMgPSBlIHx8IHt9LCB0aGlzLnNwbGl0KGUpCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIEcgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICB2YXIgbiA9IHQubm9kZVR5cGU7CiAgICAgICAgICAgICAgICBpZiAoMSA9PT0gbiB8fCA5ID09PSBuIHx8IDExID09PSBuKQogICAgICAgICAgICAgICAgICAgIGZvciAodCA9IHQuZmlyc3RDaGlsZDsgdDsgdCA9IHQubmV4dFNpYmxpbmcpIEcodCwgZSwgaSk7CiAgICAgICAgICAgICAgICBlbHNlKDMgPT09IG4gfHwgNCA9PT0gbikgJiYgKHQubm9kZVZhbHVlID0gdC5ub2RlVmFsdWUuc3BsaXQoZSkuam9pbihpKSkKICAgICAgICAgICAgfSwKICAgICAgICAgICAgVyA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSBlLmxlbmd0aDsgLSAxIDwgLS1pOykgdC5wdXNoKGVbaV0pCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGggPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSwgaSA9IFtdLAogICAgICAgICAgICAgICAgICAgIG4gPSB0Lmxlbmd0aDsKICAgICAgICAgICAgICAgIGZvciAoZSA9IDA7IGUgIT09IG47IGkucHVzaCh0W2UrK10pKTsKICAgICAgICAgICAgICAgIHJldHVybiBpCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFUgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBuOyB0ICYmIHQgIT09IGU7KSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKG4gPSB0Ll9uZXh0IHx8IHQubmV4dFNpYmxpbmcpIHJldHVybiBuLnRleHRDb250ZW50LmNoYXJBdCgwKSA9PT0gaTsKICAgICAgICAgICAgICAgICAgICB0ID0gdC5wYXJlbnROb2RlIHx8IHQuX3BhcmVudAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuICExCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHEgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSwgaSwgbiA9IGgodC5jaGlsZE5vZGVzKSwKICAgICAgICAgICAgICAgICAgICByID0gbi5sZW5ndGg7CiAgICAgICAgICAgICAgICBmb3IgKGUgPSAwOyBlIDwgcjsgZSsrKShpID0gbltlXSkuX2lzU3BsaXQgPyBxKGkpIDogKGUgJiYgMyA9PT0gaS5wcmV2aW91c1NpYmxpbmcubm9kZVR5cGUgPyBpLnByZXZpb3VzU2libGluZy5ub2RlVmFsdWUgKz0gMyA9PT0gaS5ub2RlVHlwZSA/IGkubm9kZVZhbHVlIDogaS5maXJzdENoaWxkLm5vZGVWYWx1ZSA6IDMgIT09IGkubm9kZVR5cGUgJiYgdC5pbnNlcnRCZWZvcmUoaS5maXJzdENoaWxkLCBpKSwgdC5yZW1vdmVDaGlsZChpKSkKICAgICAgICAgICAgfSwKICAgICAgICAgICAgdSA9IGZ1bmN0aW9uKHQsIGUsIGksIG4sIHIsIHMsIGEpIHsKICAgICAgICAgICAgICAgIHZhciBvLCBsLCBoLCB1LCBwLCBmLCBjLCBkLCBfLCBnLCBtLCB2LCB5ID0gWSh0KSwKICAgICAgICAgICAgICAgICAgICB4ID0gVih0LCAicGFkZGluZ0xlZnQiLCB5KSwKICAgICAgICAgICAgICAgICAgICB3ID0gLTk5OSwKICAgICAgICAgICAgICAgICAgICBUID0gVih0LCAiYm9yZGVyQm90dG9tV2lkdGgiLCB5KSArIFYodCwgImJvcmRlclRvcFdpZHRoIiwgeSksCiAgICAgICAgICAgICAgICAgICAgYiA9IFYodCwgImJvcmRlckxlZnRXaWR0aCIsIHkpICsgVih0LCAiYm9yZGVyUmlnaHRXaWR0aCIsIHkpLAogICAgICAgICAgICAgICAgICAgIFAgPSBWKHQsICJwYWRkaW5nVG9wIiwgeSkgKyBWKHQsICJwYWRkaW5nQm90dG9tIiwgeSksCiAgICAgICAgICAgICAgICAgICAgUyA9IFYodCwgInBhZGRpbmdMZWZ0IiwgeSkgKyBWKHQsICJwYWRkaW5nUmlnaHQiLCB5KSwKICAgICAgICAgICAgICAgICAgICBPID0gLjIgKiBWKHQsICJmb250U2l6ZSIpLAogICAgICAgICAgICAgICAgICAgIGsgPSBWKHQsICJ0ZXh0QWxpZ24iLCB5LCAhMCksCiAgICAgICAgICAgICAgICAgICAgQyA9IFtdLAogICAgICAgICAgICAgICAgICAgIEEgPSBbXSwKICAgICAgICAgICAgICAgICAgICBSID0gW10sCiAgICAgICAgICAgICAgICAgICAgTSA9IGUud29yZERlbGltaXRlciB8fCAiICIsCiAgICAgICAgICAgICAgICAgICAgRSA9IGUuc3BhbiA/ICJzcGFuIiA6ICJkaXYiLAogICAgICAgICAgICAgICAgICAgIEQgPSBlLnR5cGUgfHwgZS5zcGxpdCB8fCAiY2hhcnMsd29yZHMsbGluZXMiLAogICAgICAgICAgICAgICAgICAgIEwgPSByICYmIC0xICE9PSBELmluZGV4T2YoImxpbmVzIikgPyBbXSA6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgTiA9IC0xICE9PSBELmluZGV4T2YoIndvcmRzIiksCiAgICAgICAgICAgICAgICAgICAgRiA9IC0xICE9PSBELmluZGV4T2YoImNoYXJzIiksCiAgICAgICAgICAgICAgICAgICAgSSA9ICJhYnNvbHV0ZSIgPT09IGUucG9zaXRpb24gfHwgITAgPT09IGUuYWJzb2x1dGUsCiAgICAgICAgICAgICAgICAgICAgWCA9IGUubGluZXNDbGFzcywKICAgICAgICAgICAgICAgICAgICB6ID0gLTEgIT09IChYIHx8ICIiKS5pbmRleE9mKCIrKyIpLAogICAgICAgICAgICAgICAgICAgIEIgPSBbXTsKICAgICAgICAgICAgICAgIGZvciAoTCAmJiAxID09PSB0LmNoaWxkcmVuLmxlbmd0aCAmJiB0LmNoaWxkcmVuWzBdLl9pc1NwbGl0ICYmICh0ID0gdC5jaGlsZHJlblswXSksIHogJiYgKFggPSBYLnNwbGl0KCIrKyIpLmpvaW4oIiIpKSwgaCA9IChsID0gdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKS5sZW5ndGgsIHAgPSBbXSwgbyA9IDA7IG8gPCBoOyBvKyspIHBbb10gPSBsW29dOwogICAgICAgICAgICAgICAgaWYgKEwgfHwgSSkKICAgICAgICAgICAgICAgICAgICBmb3IgKG8gPSAwOyBvIDwgaDsgbysrKSgoZiA9ICh1ID0gcFtvXSkucGFyZW50Tm9kZSA9PT0gdCkgfHwgSSB8fCBGICYmICFOKSAmJiAodiA9IHUub2Zmc2V0VG9wLCBMICYmIGYgJiYgTWF0aC5hYnModiAtIHcpID4gTyAmJiAiQlIiICE9PSB1Lm5vZGVOYW1lICYmIChjID0gW10sIEwucHVzaChjKSwgdyA9IHYpLCBJICYmICh1Ll94ID0gdS5vZmZzZXRMZWZ0LCB1Ll95ID0gdiwgdS5fdyA9IHUub2Zmc2V0V2lkdGgsIHUuX2ggPSB1Lm9mZnNldEhlaWdodCksIEwgJiYgKCh1Ll9pc1NwbGl0ICYmIGYgfHwgIUYgJiYgZiB8fCBOICYmIGYgfHwgIU4gJiYgdS5wYXJlbnROb2RlLnBhcmVudE5vZGUgPT09IHQgJiYgIXUucGFyZW50Tm9kZS5faXNTcGxpdCkgJiYgKGMucHVzaCh1KSwgdS5feCAtPSB4LCBVKHUsIHQsIE0pICYmICh1Ll93b3JkRW5kID0gITApKSwgIkJSIiA9PT0gdS5ub2RlTmFtZSAmJiB1Lm5leHRTaWJsaW5nICYmICJCUiIgPT09IHUubmV4dFNpYmxpbmcubm9kZU5hbWUgJiYgTC5wdXNoKFtdKSkpOwogICAgICAgICAgICAgICAgZm9yIChvID0gMDsgbyA8IGg7IG8rKykgZiA9ICh1ID0gcFtvXSkucGFyZW50Tm9kZSA9PT0gdCwgIkJSIiAhPT0gdS5ub2RlTmFtZSA/IChJICYmIChfID0gdS5zdHlsZSwgTiB8fCBmIHx8ICh1Ll94ICs9IHUucGFyZW50Tm9kZS5feCwgdS5feSArPSB1LnBhcmVudE5vZGUuX3kpLCBfLmxlZnQgPSB1Ll94ICsgInB4IiwgXy50b3AgPSB1Ll95ICsgInB4IiwgXy5wb3NpdGlvbiA9ICJhYnNvbHV0ZSIsIF8uZGlzcGxheSA9ICJibG9jayIsIF8ud2lkdGggPSB1Ll93ICsgMSArICJweCIsIF8uaGVpZ2h0ID0gdS5faCArICJweCIpLCAhTiAmJiBGID8gdS5faXNTcGxpdCA/ICh1Ll9uZXh0ID0gdS5uZXh0U2libGluZywgdS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHUpKSA6IHUucGFyZW50Tm9kZS5faXNTcGxpdCA/ICh1Ll9wYXJlbnQgPSB1LnBhcmVudE5vZGUsICF1LnByZXZpb3VzU2libGluZyAmJiB1LmZpcnN0Q2hpbGQgJiYgKHUuZmlyc3RDaGlsZC5faXNGaXJzdCA9ICEwKSwgdS5uZXh0U2libGluZyAmJiAiICIgPT09IHUubmV4dFNpYmxpbmcudGV4dENvbnRlbnQgJiYgIXUubmV4dFNpYmxpbmcubmV4dFNpYmxpbmcgJiYgQi5wdXNoKHUubmV4dFNpYmxpbmcpLCB1Ll9uZXh0ID0gdS5uZXh0U2libGluZyAmJiB1Lm5leHRTaWJsaW5nLl9pc0ZpcnN0ID8gbnVsbCA6IHUubmV4dFNpYmxpbmcsIHUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh1KSwgcC5zcGxpY2Uoby0tLCAxKSwgaC0tKSA6IGYgfHwgKHYgPSAhdS5uZXh0U2libGluZyAmJiBVKHUucGFyZW50Tm9kZSwgdCwgTSksIHUucGFyZW50Tm9kZS5fcGFyZW50ICYmIHUucGFyZW50Tm9kZS5fcGFyZW50LmFwcGVuZENoaWxkKHUpLCB2ICYmIHUucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChqLmNyZWF0ZVRleHROb2RlKCIgIikpLCBlLnNwYW4gJiYgKHUuc3R5bGUuZGlzcGxheSA9ICJpbmxpbmUiKSwgQy5wdXNoKHUpKSA6IHUucGFyZW50Tm9kZS5faXNTcGxpdCAmJiAhdS5faXNTcGxpdCAmJiAiIiAhPT0gdS5pbm5lckhUTUwgPyBBLnB1c2godSkgOiBGICYmICF1Ll9pc1NwbGl0ICYmIChlLnNwYW4gJiYgKHUuc3R5bGUuZGlzcGxheSA9ICJpbmxpbmUiKSwgQy5wdXNoKHUpKSkgOiBMIHx8IEkgPyAodS5wYXJlbnROb2RlICYmIHUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh1KSwgcC5zcGxpY2Uoby0tLCAxKSwgaC0tKSA6IE4gfHwgdC5hcHBlbmRDaGlsZCh1KTsKICAgICAgICAgICAgICAgIGZvciAobyA9IEIubGVuZ3RoOyAtIDEgPCAtLW87KSBCW29dLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoQltvXSk7CiAgICAgICAgICAgICAgICBpZiAoTCkgewogICAgICAgICAgICAgICAgICAgIGZvciAoSSAmJiAoZyA9IGouY3JlYXRlRWxlbWVudChFKSwgdC5hcHBlbmRDaGlsZChnKSwgbSA9IGcub2Zmc2V0V2lkdGggKyAicHgiLCB2ID0gZy5vZmZzZXRQYXJlbnQgPT09IHQgPyAwIDogdC5vZmZzZXRMZWZ0LCB0LnJlbW92ZUNoaWxkKGcpKSwgXyA9IHQuc3R5bGUuY3NzVGV4dCwgdC5zdHlsZS5jc3NUZXh0ID0gImRpc3BsYXk6bm9uZTsiOyB0LmZpcnN0Q2hpbGQ7KSB0LnJlbW92ZUNoaWxkKHQuZmlyc3RDaGlsZCk7CiAgICAgICAgICAgICAgICAgICAgZm9yIChkID0gIiAiID09PSBNICYmICghSSB8fCAhTiAmJiAhRiksIG8gPSAwOyBvIDwgTC5sZW5ndGg7IG8rKykgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGMgPSBMW29dLCAoZyA9IGouY3JlYXRlRWxlbWVudChFKSkuc3R5bGUuY3NzVGV4dCA9ICJkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246IiArIGsgKyAiO3Bvc2l0aW9uOiIgKyAoSSA/ICJhYnNvbHV0ZTsiIDogInJlbGF0aXZlOyIpLCBYICYmIChnLmNsYXNzTmFtZSA9IFggKyAoeiA/IG8gKyAxIDogIiIpKSwgUi5wdXNoKGcpLCBoID0gYy5sZW5ndGgsIGwgPSAwOyBsIDwgaDsgbCsrKSAiQlIiICE9PSBjW2xdLm5vZGVOYW1lICYmICh1ID0gY1tsXSwgZy5hcHBlbmRDaGlsZCh1KSwgZCAmJiB1Ll93b3JkRW5kICYmIGcuYXBwZW5kQ2hpbGQoai5jcmVhdGVUZXh0Tm9kZSgiICIpKSwgSSAmJiAoMCA9PT0gbCAmJiAoZy5zdHlsZS50b3AgPSB1Ll95ICsgInB4IiwgZy5zdHlsZS5sZWZ0ID0geCArIHYgKyAicHgiKSwgdS5zdHlsZS50b3AgPSAiMHB4IiwgdiAmJiAodS5zdHlsZS5sZWZ0ID0gdS5feCAtIHYgKyAicHgiKSkpOwogICAgICAgICAgICAgICAgICAgICAgICAwID09PSBoID8gZy5pbm5lckhUTUwgPSAiJm5ic3A7IiA6IE4gfHwgRiB8fCAocShnKSwgRyhnLCBTdHJpbmcuZnJvbUNoYXJDb2RlKDE2MCksICIgIikpLCBJICYmIChnLnN0eWxlLndpZHRoID0gbSwgZy5zdHlsZS5oZWlnaHQgPSB1Ll9oICsgInB4IiksIHQuYXBwZW5kQ2hpbGQoZykKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgdC5zdHlsZS5jc3NUZXh0ID0gXwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgSSAmJiAoYSA+IHQuY2xpZW50SGVpZ2h0ICYmICh0LnN0eWxlLmhlaWdodCA9IGEgLSBQICsgInB4IiwgdC5jbGllbnRIZWlnaHQgPCBhICYmICh0LnN0eWxlLmhlaWdodCA9IGEgKyBUICsgInB4IikpLCBzID4gdC5jbGllbnRXaWR0aCAmJiAodC5zdHlsZS53aWR0aCA9IHMgLSBTICsgInB4IiwgdC5jbGllbnRXaWR0aCA8IHMgJiYgKHQuc3R5bGUud2lkdGggPSBzICsgYiArICJweCIpKSksIFcoaSwgQyksIFcobiwgQSksIFcociwgUikKICAgICAgICAgICAgfSwKICAgICAgICAgICAgcCA9IGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgICAgIHZhciByLCBzLCBhID0gaCh0LmNoaWxkTm9kZXMpLAogICAgICAgICAgICAgICAgICAgIG8gPSBhLmxlbmd0aCwKICAgICAgICAgICAgICAgICAgICBsID0gImFic29sdXRlIiA9PT0gZS5wb3NpdGlvbiB8fCAhMCA9PT0gZS5hYnNvbHV0ZTsKICAgICAgICAgICAgICAgIGlmICgzICE9PSB0Lm5vZGVUeXBlIHx8IDEgPCBvKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yIChlLmFic29sdXRlID0gITEsIHIgPSAwOyByIDwgbzsgcisrKSgzICE9PSAocyA9IGFbcl0pLm5vZGVUeXBlIHx8IC9cUysvLnRlc3Qocy5ub2RlVmFsdWUpKSAmJiAobCAmJiAzICE9PSBzLm5vZGVUeXBlICYmICJpbmxpbmUiID09PSBWKHMsICJkaXNwbGF5IiwgbnVsbCwgITApICYmIChzLnN0eWxlLmRpc3BsYXkgPSAiaW5saW5lLWJsb2NrIiwgcy5zdHlsZS5wb3NpdGlvbiA9ICJyZWxhdGl2ZSIpLCBzLl9pc1NwbGl0ID0gITAsIHAocywgZSwgaSwgbikpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBlLmFic29sdXRlID0gbCwgdm9pZCh0Ll9pc1NwbGl0ID0gITApCiAgICAgICAgICAgICAgICB9ISBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHIsIHMsIGEsIG8sIGwsIGgsIHUsIHAsIGYsIGMgPSBlLnNwYW4gPyAic3BhbiIgOiAiZGl2IiwKICAgICAgICAgICAgICAgICAgICAgICAgZCA9IGUudHlwZSB8fCBlLnNwbGl0IHx8ICJjaGFycyx3b3JkcyxsaW5lcyIsCiAgICAgICAgICAgICAgICAgICAgICAgIF8gPSAoZC5pbmRleE9mKCJ3b3JkcyIpLCAtMSAhPT0gZC5pbmRleE9mKCJjaGFycyIpKSwKICAgICAgICAgICAgICAgICAgICAgICAgZyA9ICJhYnNvbHV0ZSIgPT09IGUucG9zaXRpb24gfHwgITAgPT09IGUuYWJzb2x1dGUsCiAgICAgICAgICAgICAgICAgICAgICAgIG0gPSBlLndvcmREZWxpbWl0ZXIgfHwgIiAiLAogICAgICAgICAgICAgICAgICAgICAgICB2ID0gIiAiICE9PSBtID8gIiIgOiBnID8gIiYjMTczOyAiIDogIiAiLAogICAgICAgICAgICAgICAgICAgICAgICB5ID0gZS5zcGFuID8gIjwvc3Bhbj4iIDogIjwvZGl2PiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHggPSAhMCwKICAgICAgICAgICAgICAgICAgICAgICAgdyA9IGouY3JlYXRlRWxlbWVudCgiZGl2IiksCiAgICAgICAgICAgICAgICAgICAgICAgIFQgPSB0LnBhcmVudE5vZGU7CiAgICAgICAgICAgICAgICAgICAgZm9yIChULmluc2VydEJlZm9yZSh3LCB0KSwgdy50ZXh0Q29udGVudCA9IHQubm9kZVZhbHVlLCBULnJlbW92ZUNoaWxkKHQpLCB1ID0gLTEgIT09IChyID0gYih0ID0gdykpLmluZGV4T2YoIjwiKSwgITEgIT09IGUucmVkdWNlV2hpdGVTcGFjZSAmJiAociA9IHIucmVwbGFjZShTLCAiICIpLnJlcGxhY2UoUCwgIiIpKSwgdSAmJiAociA9IHIuc3BsaXQoIjwiKS5qb2luKCJ7e0xUfX0iKSksIGwgPSByLmxlbmd0aCwgcyA9ICgiICIgPT09IHIuY2hhckF0KDApID8gdiA6ICIiKSArIGkoKSwgYSA9IDA7IGEgPCBsOyBhKyspCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoaCA9IHIuY2hhckF0KGEpKSA9PT0gbSAmJiByLmNoYXJBdChhIC0gMSkgIT09IG0gJiYgYSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChzICs9IHggPyB5IDogIiIsIHggPSAhMTsgci5jaGFyQXQoYSArIDEpID09PSBtOykgcyArPSB2LCBhKys7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhID09PSBsIC0gMSA/IHMgKz0gdiA6ICIpIiAhPT0gci5jaGFyQXQoYSArIDEpICYmIChzICs9IHYgKyBpKCksIHggPSAhMCkKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlICJ7IiA9PT0gaCAmJiAie3tMVH19IiA9PT0gci5zdWJzdHIoYSwgNikgPyAocyArPSBfID8gbigpICsgInt7TFR9fTwvIiArIGMgKyAiPiIgOiAie3tMVH19IiwgYSArPSA1KSA6IDU1Mjk2IDw9IGguY2hhckNvZGVBdCgwKSAmJiBoLmNoYXJDb2RlQXQoMCkgPD0gNTYzMTkgfHwgNjUwMjQgPD0gci5jaGFyQ29kZUF0KGEgKyAxKSAmJiByLmNoYXJDb2RlQXQoYSArIDEpIDw9IDY1MDM5ID8gKHAgPSBPKHIuc3Vic3RyKGEsIDIpKSwgZiA9IE8oci5zdWJzdHIoYSArIDIsIDIpKSwgbyA9IDEyNzQ2MiA8PSBwICYmIHAgPD0gMTI3NDg3ICYmIDEyNzQ2MiA8PSBmICYmIGYgPD0gMTI3NDg3IHx8IDEyNzk5NSA8PSBmICYmIGYgPD0gMTI3OTk5ID8gNCA6IDIsIHMgKz0gXyAmJiAiICIgIT09IGggPyBuKCkgKyByLnN1YnN0cihhLCBvKSArICI8LyIgKyBjICsgIj4iIDogci5zdWJzdHIoYSwgbyksIGEgKz0gbyAtIDEpIDogcyArPSBfICYmICIgIiAhPT0gaCA/IG4oKSArIGggKyAiPC8iICsgYyArICI+IiA6IGg7CiAgICAgICAgICAgICAgICAgICAgdC5vdXRlckhUTUwgPSBzICsgKHggPyB5IDogIiIpLCB1ICYmIEcoVCwgInt7TFR9fSIsICI8IikKICAgICAgICAgICAgICAgIH0odCwgZSwgaSwgbikKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZSA9IG4ucHJvdG90eXBlOwogICAgICAgIGUuc3BsaXQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHRoaXMuaXNTcGxpdCAmJiB0aGlzLnJldmVydCgpLCB0aGlzLnZhcnMgPSB0ID0gdCB8fCB0aGlzLnZhcnMsIHRoaXMuX29yaWdpbmFscy5sZW5ndGggPSB0aGlzLmNoYXJzLmxlbmd0aCA9IHRoaXMud29yZHMubGVuZ3RoID0gdGhpcy5saW5lcy5sZW5ndGggPSAwOwogICAgICAgICAgICBmb3IgKHZhciBlLCBpLCBuLCByID0gdGhpcy5lbGVtZW50cy5sZW5ndGgsIHMgPSB0LnNwYW4gPyAic3BhbiIgOiAiZGl2IiwgYSA9ICgiYWJzb2x1dGUiID09PSB0LnBvc2l0aW9uIHx8IHQuYWJzb2x1dGUsIGwodC53b3Jkc0NsYXNzLCBzKSksIG8gPSBsKHQuY2hhcnNDbGFzcywgcyk7IC0gMSA8IC0tcjspIG4gPSB0aGlzLmVsZW1lbnRzW3JdLCB0aGlzLl9vcmlnaW5hbHNbcl0gPSBuLmlubmVySFRNTCwgZSA9IG4uY2xpZW50SGVpZ2h0LCBpID0gbi5jbGllbnRXaWR0aCwgcChuLCB0LCBhLCBvKSwgdShuLCB0LCB0aGlzLmNoYXJzLCB0aGlzLndvcmRzLCB0aGlzLmxpbmVzLCBpLCBlKTsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hhcnMucmV2ZXJzZSgpLCB0aGlzLndvcmRzLnJldmVyc2UoKSwgdGhpcy5saW5lcy5yZXZlcnNlKCksIHRoaXMuaXNTcGxpdCA9ICEwLCB0aGlzCiAgICAgICAgfSwgZS5yZXZlcnQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKCF0aGlzLl9vcmlnaW5hbHMpIHRocm93ICJyZXZlcnQoKSBjYWxsIHdhc24ndCBzY29wZWQgcHJvcGVybHkuIjsKICAgICAgICAgICAgZm9yICh2YXIgdCA9IHRoaXMuX29yaWdpbmFscy5sZW5ndGg7IC0gMSA8IC0tdDspIHRoaXMuZWxlbWVudHNbdF0uaW5uZXJIVE1MID0gdGhpcy5fb3JpZ2luYWxzW3RdOwogICAgICAgICAgICByZXR1cm4gdGhpcy5jaGFycyA9IFtdLCB0aGlzLndvcmRzID0gW10sIHRoaXMubGluZXMgPSBbXSwgdGhpcy5pc1NwbGl0ID0gITEsIHRoaXMKICAgICAgICB9LCBuLnNlbGVjdG9yID0gaS4kIHx8IGkualF1ZXJ5IHx8IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdmFyIGUgPSBpLiQgfHwgaS5qUXVlcnk7CiAgICAgICAgICAgIHJldHVybiBlID8gKG4uc2VsZWN0b3IgPSBlKSh0KSA6ICJ1bmRlZmluZWQiID09IHR5cGVvZiBkb2N1bWVudCA/IHQgOiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsID8gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0KSA6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCIjIiA9PT0gdC5jaGFyQXQoMCkgPyB0LnN1YnN0cigxKSA6IHQpCiAgICAgICAgfSwgbi52ZXJzaW9uID0gIjAuNS42IgogICAgfShfZ3NTY29wZSA9ICJ1bmRlZmluZWQiICE9IHR5cGVvZiBtb2R1bGUgJiYgbW9kdWxlLmV4cG9ydHMgJiYgInVuZGVmaW5lZCIgIT0gdHlwZW9mIGdsb2JhbCA/IGdsb2JhbCA6IHRoaXMgfHwgd2luZG93KSwKICAgIGZ1bmN0aW9uKHQpIHsKICAgICAgICAidXNlIHN0cmljdCI7CiAgICAgICAgdmFyIGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIChfZ3NTY29wZS5HcmVlblNvY2tHbG9iYWxzIHx8IF9nc1Njb3BlKS5TcGxpdFRleHQKICAgICAgICB9OwogICAgICAgICJmdW5jdGlvbiIgPT0gdHlwZW9mIGRlZmluZSAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKFtdLCBlKSA6ICJ1bmRlZmluZWQiICE9IHR5cGVvZiBtb2R1bGUgJiYgbW9kdWxlLmV4cG9ydHMgJiYgKG1vZHVsZS5leHBvcnRzID0gZSgpKQogICAgfSgpOwp0cnkgewogICAgd2luZG93LkdyZWVuU29ja0dsb2JhbHMgPSBudWxsLCB3aW5kb3cuX2dzUXVldWUgPSBudWxsLCB3aW5kb3cuX2dzRGVmaW5lID0gbnVsbCwgZGVsZXRlIHdpbmRvdy5HcmVlblNvY2tHbG9iYWxzLCBkZWxldGUgd2luZG93Ll9nc1F1ZXVlLCBkZWxldGUgd2luZG93Ll9nc0RlZmluZQp9IGNhdGNoICh0KSB7fQp0cnkgewogICAgd2luZG93LkdyZWVuU29ja0dsb2JhbHMgPSBvbGRncywgd2luZG93Ll9nc1F1ZXVlID0gb2xkZ3NfcXVldWUKfSBjYXRjaCAodCkge30KaWYgKDEgPT0gd2luZG93LnRwbG9ncykgdHJ5IHsKICAgIGNvbnNvbGUuZ3JvdXBFbmQoKQp9IGNhdGNoICh0KSB7fSEgZnVuY3Rpb24odSwgdCkgewogICAgdS53YWl0Rm9ySW1hZ2VzID0gewogICAgICAgIGhhc0ltYWdlUHJvcGVydGllczogWyJiYWNrZ3JvdW5kSW1hZ2UiLCAibGlzdFN0eWxlSW1hZ2UiLCAiYm9yZGVySW1hZ2UiLCAiYm9yZGVyQ29ybmVySW1hZ2UiXQogICAgfSwgdS5leHByWyI6Il0udW5jYWNoZWQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgdmFyIGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKICAgICAgICByZXR1cm4gZS5zcmMgPSB0LnNyYywgdSh0KS5pcygnaW1nW3NyYyE9IiJdJykgJiYgIWUuY29tcGxldGUKICAgIH0sIHUuZm4ud2FpdEZvckltYWdlcyA9IGZ1bmN0aW9uKGwsIGgsIGUpIHsKICAgICAgICBpZiAodS5pc1BsYWluT2JqZWN0KGwpICYmIChoID0gbC5lYWNoLCBlID0gbC53YWl0Rm9yQWxsLCBsID0gbC5maW5pc2hlZCksIGwgPSBsIHx8IHUubm9vcCwgaCA9IGggfHwgdS5ub29wLCBlID0gISFlLCAhdS5pc0Z1bmN0aW9uKGwpIHx8ICF1LmlzRnVuY3Rpb24oaCkpIHRocm93IG5ldyBUeXBlRXJyb3IoIkFuIGludmFsaWQgY2FsbGJhY2sgd2FzIHN1cHBsaWVkLiIpOwogICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBuID0gdSh0aGlzKSwKICAgICAgICAgICAgICAgIHMgPSBbXTsKICAgICAgICAgICAgaWYgKGUpIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gdS53YWl0Rm9ySW1hZ2VzLmhhc0ltYWdlUHJvcGVydGllcyB8fCBbXSwKICAgICAgICAgICAgICAgICAgICBhID0gL3VybFwoKFsnIl0/KSguKj8pXDFcKS9nOwogICAgICAgICAgICAgICAgbi5maW5kKCIqIikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgciA9IHUodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgci5pcygiaW1nOnVuY2FjaGVkIikgJiYgcy5wdXNoKHsKICAgICAgICAgICAgICAgICAgICAgICAgc3JjOiByLmF0dHIoInNyYyIpLAogICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50OiByWzBdCiAgICAgICAgICAgICAgICAgICAgfSksIHUuZWFjaCh0LCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpLCBuID0gci5jc3MoZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbikgcmV0dXJuICEwOwogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKDsgaSA9IGEuZXhlYyhuKTspIHMucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM6IGlbMl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50OiByWzBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0gZWxzZSBuLmZpbmQoImltZzp1bmNhY2hlZCIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBzLnB1c2goewogICAgICAgICAgICAgICAgICAgIHNyYzogdGhpcy5zcmMsCiAgICAgICAgICAgICAgICAgICAgZWxlbWVudDogdGhpcwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHZhciByID0gcy5sZW5ndGgsCiAgICAgICAgICAgICAgICBvID0gMDsKICAgICAgICAgICAgMCA9PSByICYmIGwuY2FsbChuWzBdKSwgdS5lYWNoKHMsIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgIHZhciBpID0gbmV3IEltYWdlOwogICAgICAgICAgICAgICAgdShpKS5iaW5kKCJsb2FkIGVycm9yIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIGlmIChvKyssIGguY2FsbChlLmVsZW1lbnQsIG8sIHIsICJsb2FkIiA9PSB0LnR5cGUpLCBvID09IHIpIHJldHVybiBsLmNhbGwoblswXSksICExCiAgICAgICAgICAgICAgICB9KSwgaS5zcmMgPSBlLnNyYwogICAgICAgICAgICB9KQogICAgICAgIH0pCiAgICB9Cn0oalF1ZXJ5KTsKISBmdW5jdGlvbihqUXVlcnksIHVuZGVmaW5lZCkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIHZlcnNpb24gPSB7CiAgICAgICAgY29yZTogIjUuNC44IiwKICAgICAgICAicmV2b2x1dGlvbi5leHRlbnNpb25zLmFjdGlvbnMubWluLmpzIjogIjIuMS4wIiwKICAgICAgICAicmV2b2x1dGlvbi5leHRlbnNpb25zLmNhcm91c2VsLm1pbi5qcyI6ICIxLjIuMSIsCiAgICAgICAgInJldm9sdXRpb24uZXh0ZW5zaW9ucy5rZW5idXJuLm1pbi5qcyI6ICIxLjMuMSIsCiAgICAgICAgInJldm9sdXRpb24uZXh0ZW5zaW9ucy5sYXllcmFuaW1hdGlvbi5taW4uanMiOiAiMy42LjUiLAogICAgICAgICJyZXZvbHV0aW9uLmV4dGVuc2lvbnMubmF2aWdhdGlvbi5taW4uanMiOiAiMS4zLjUiLAogICAgICAgICJyZXZvbHV0aW9uLmV4dGVuc2lvbnMucGFyYWxsYXgubWluLmpzIjogIjIuMi4zIiwKICAgICAgICAicmV2b2x1dGlvbi5leHRlbnNpb25zLnNsaWRlYW5pbXMubWluLmpzIjogIjEuOCIsCiAgICAgICAgInJldm9sdXRpb24uZXh0ZW5zaW9ucy52aWRlby5taW4uanMiOiAiMi4yLjIiCiAgICB9OwogICAgalF1ZXJ5LmZuLmV4dGVuZCh7CiAgICAgICAgcmV2b2x1dGlvbjogZnVuY3Rpb24oaSkgewogICAgICAgICAgICB2YXIgZSA9IHsKICAgICAgICAgICAgICAgIGRlbGF5OiA5ZTMsCiAgICAgICAgICAgICAgICByZXNwb25zaXZlTGV2ZWxzOiA0MDY0LAogICAgICAgICAgICAgICAgdmlzaWJpbGl0eUxldmVsczogWzIwNDgsIDEwMjQsIDc3OCwgNDgwXSwKICAgICAgICAgICAgICAgIGdyaWR3aWR0aDogOTYwLAogICAgICAgICAgICAgICAgZ3JpZGhlaWdodDogNTAwLAogICAgICAgICAgICAgICAgbWluSGVpZ2h0OiAwLAogICAgICAgICAgICAgICAgYXV0b0hlaWdodDogIm9mZiIsCiAgICAgICAgICAgICAgICBzbGlkZXJUeXBlOiAic3RhbmRhcmQiLAogICAgICAgICAgICAgICAgc2xpZGVyTGF5b3V0OiAiYXV0byIsCiAgICAgICAgICAgICAgICBmdWxsU2NyZWVuQXV0b1dpZHRoOiAib2ZmIiwKICAgICAgICAgICAgICAgIGZ1bGxTY3JlZW5BbGlnbkZvcmNlOiAib2ZmIiwKICAgICAgICAgICAgICAgIGZ1bGxTY3JlZW5PZmZzZXRDb250YWluZXI6ICIiLAogICAgICAgICAgICAgICAgZnVsbFNjcmVlbk9mZnNldDogIjAiLAogICAgICAgICAgICAgICAgaGlkZUNhcHRpb25BdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUFsbENhcHRpb25BdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZVNsaWRlckF0TGltaXQ6IDAsCiAgICAgICAgICAgICAgICBkaXNhYmxlUHJvZ3Jlc3NCYXI6ICJvZmYiLAogICAgICAgICAgICAgICAgc3RvcEF0U2xpZGU6IC0xLAogICAgICAgICAgICAgICAgc3RvcEFmdGVyTG9vcHM6IC0xLAogICAgICAgICAgICAgICAgc2hhZG93OiAwLAogICAgICAgICAgICAgICAgZG90dGVkT3ZlcmxheTogIm5vbmUiLAogICAgICAgICAgICAgICAgc3RhcnREZWxheTogMCwKICAgICAgICAgICAgICAgIGxhenlUeXBlOiAic21hcnQiLAogICAgICAgICAgICAgICAgc3Bpbm5lcjogInNwaW5uZXIwIiwKICAgICAgICAgICAgICAgIHNodWZmbGU6ICJvZmYiLAogICAgICAgICAgICAgICAgdmlld1BvcnQ6IHsKICAgICAgICAgICAgICAgICAgICBlbmFibGU6ICExLAogICAgICAgICAgICAgICAgICAgIG91dG9mOiAid2FpdCIsCiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZV9hcmVhOiAiNjAlIiwKICAgICAgICAgICAgICAgICAgICBwcmVzaXplOiAhMQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGZhbGxiYWNrczogewogICAgICAgICAgICAgICAgICAgIGlzSm9vbWxhOiAhMSwKICAgICAgICAgICAgICAgICAgICBwYW5ab29tRGlzYWJsZU9uTW9iaWxlOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBzaW1wbGlmeUFsbDogIm9uIiwKICAgICAgICAgICAgICAgICAgICBuZXh0U2xpZGVPbldpbmRvd0ZvY3VzOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBkaXNhYmxlRm9jdXNMaXN0ZW5lcjogITAsCiAgICAgICAgICAgICAgICAgICAgaWdub3JlSGVpZ2h0Q2hhbmdlczogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgaWdub3JlSGVpZ2h0Q2hhbmdlc1NpemU6IDAsCiAgICAgICAgICAgICAgICAgICAgYWxsb3dIVE1MNUF1dG9QbGF5T25BbmRyb2lkOiAhMAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHBhcmFsbGF4OiB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgbGV2ZWxzOiBbMTAsIDE1LCAyMCwgMjUsIDMwLCAzNSwgNDAsIDQ1LCA1MCwgNTUsIDYwLCA2NSwgNzAsIDc1LCA4MCwgODVdLAogICAgICAgICAgICAgICAgICAgIG9yaWdvOiAiZW50ZXJwb2ludCIsCiAgICAgICAgICAgICAgICAgICAgc3BlZWQ6IDQwMCwKICAgICAgICAgICAgICAgICAgICBiZ3BhcmFsbGF4OiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAib24iLAogICAgICAgICAgICAgICAgICAgIGRpc2FibGVfb25tb2JpbGU6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIGRkZF9zaGFkb3c6ICJvbiIsCiAgICAgICAgICAgICAgICAgICAgZGRkX2JnZnJlZXplOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBkZGRfb3ZlcmZsb3c6ICJ2aXNpYmxlIiwKICAgICAgICAgICAgICAgICAgICBkZGRfbGF5ZXJfb3ZlcmZsb3c6ICJ2aXNpYmxlIiwKICAgICAgICAgICAgICAgICAgICBkZGRfel9jb3JyZWN0aW9uOiA2NSwKICAgICAgICAgICAgICAgICAgICBkZGRfcGF0aDogIm1vdXNlIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHNjcm9sbGVmZmVjdDogewogICAgICAgICAgICAgICAgICAgIGZhZGU6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIGJsdXI6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIHNjYWxlOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBncmF5c2NhbGU6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIG1heGJsdXI6IDEwLAogICAgICAgICAgICAgICAgICAgIG9uX2xheWVyczogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgb25fc2xpZGViZzogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgb25fc3RhdGljX2xheWVyczogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgb25fcGFyYWxsYXhfbGF5ZXJzOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBvbl9wYXJhbGxheF9zdGF0aWNfbGF5ZXJzOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246ICJib3RoIiwKICAgICAgICAgICAgICAgICAgICBtdWx0aXBsaWNhdG9yOiAxLjM1LAogICAgICAgICAgICAgICAgICAgIG11bHRpcGxpY2F0b3JfbGF5ZXJzOiAuNSwKICAgICAgICAgICAgICAgICAgICB0aWx0OiAzMCwKICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX29uX21vYmlsZTogIm9uIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNhcm91c2VsOiB7CiAgICAgICAgICAgICAgICAgICAgZWFzaW5nOiBwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQsCiAgICAgICAgICAgICAgICAgICAgc3BlZWQ6IDgwMCwKICAgICAgICAgICAgICAgICAgICBzaG93TGF5ZXJzQWxsVGltZTogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgaG9yaXpvbnRhbF9hbGlnbjogImNlbnRlciIsCiAgICAgICAgICAgICAgICAgICAgdmVydGljYWxfYWxpZ246ICJjZW50ZXIiLAogICAgICAgICAgICAgICAgICAgIGluZmluaXR5OiAib24iLAogICAgICAgICAgICAgICAgICAgIHNwYWNlOiAwLAogICAgICAgICAgICAgICAgICAgIG1heFZpc2libGVJdGVtczogMywKICAgICAgICAgICAgICAgICAgICBzdHJldGNoOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBmYWRlb3V0OiAib24iLAogICAgICAgICAgICAgICAgICAgIG1heFJvdGF0aW9uOiAwLAogICAgICAgICAgICAgICAgICAgIG1pblNjYWxlOiAwLAogICAgICAgICAgICAgICAgICAgIHZhcnlfZmFkZTogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgdmFyeV9yb3RhdGlvbjogIm9uIiwKICAgICAgICAgICAgICAgICAgICB2YXJ5X3NjYWxlOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBib3JkZXJfcmFkaXVzOiAiMHB4IiwKICAgICAgICAgICAgICAgICAgICBwYWRkaW5nX3RvcDogMCwKICAgICAgICAgICAgICAgICAgICBwYWRkaW5nX2JvdHRvbTogMAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIG5hdmlnYXRpb246IHsKICAgICAgICAgICAgICAgICAgICBrZXlib2FyZE5hdmlnYXRpb246ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIGtleWJvYXJkX2RpcmVjdGlvbjogImhvcml6b250YWwiLAogICAgICAgICAgICAgICAgICAgIG1vdXNlU2Nyb2xsTmF2aWdhdGlvbjogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgb25Ib3ZlclN0b3A6ICJvbiIsCiAgICAgICAgICAgICAgICAgICAgdG91Y2g6IHsKICAgICAgICAgICAgICAgICAgICAgICAgdG91Y2hlbmFibGVkOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICAgICAgdG91Y2hPbkRlc2t0b3A6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgICAgICBzd2lwZV90cmVzaG9sZDogNzUsCiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXBlX21pbl90b3VjaGVzOiAxLAogICAgICAgICAgICAgICAgICAgICAgICBkcmFnX2Jsb2NrX3ZlcnRpY2FsOiAhMSwKICAgICAgICAgICAgICAgICAgICAgICAgc3dpcGVfZGlyZWN0aW9uOiAiaG9yaXpvbnRhbCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGFycm93czogewogICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZTogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfb25tb2JpbGU6ICExLAogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX29ubGVhdmU6ICEwLAogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX2RlbGF5OiAyMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfZGVsYXlfbW9iaWxlOiAxMjAwLAogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX3VuZGVyOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX292ZXI6IDk5OTksCiAgICAgICAgICAgICAgICAgICAgICAgIHRtcDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHJ0bDogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhfYWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZfYWxpZ246ICJjZW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaF9vZmZzZXQ6IDIwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdl9vZmZzZXQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXI6ICJzbGlkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoX2FsaWduOiAicmlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdl9hbGlnbjogImNlbnRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoX29mZnNldDogMjAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2X29mZnNldDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogInNsaWRlciIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgYnVsbGV0czogewogICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXI6ICJzbGlkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICBydGw6ICExLAogICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZTogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfb25tb2JpbGU6ICExLAogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX29ubGVhdmU6ICEwLAogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX2RlbGF5OiAyMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfZGVsYXlfbW9iaWxlOiAxMjAwLAogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX3VuZGVyOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX292ZXI6IDk5OTksCiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogImhvcml6b250YWwiLAogICAgICAgICAgICAgICAgICAgICAgICBoX2FsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHZfYWxpZ246ICJjZW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICBzcGFjZTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgaF9vZmZzZXQ6IDIwLAogICAgICAgICAgICAgICAgICAgICAgICB2X29mZnNldDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgdG1wOiAnPHNwYW4gY2xhc3M9InRwLWJ1bGxldC1pbWFnZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ0cC1idWxsZXQtdGl0bGUiPjwvc3Bhbj4nCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB0aHVtYm5haWxzOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogInNsaWRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgIHJ0bDogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlOiAhMSwKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MCwKICAgICAgICAgICAgICAgICAgICAgICAgbWluX3dpZHRoOiAxMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJfcGFkZGluZzogMiwKICAgICAgICAgICAgICAgICAgICAgICAgd3JhcHBlcl9jb2xvcjogIiNmNWY1ZjUiLAogICAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX29wYWNpdHk6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIHRtcDogJzxzcGFuIGNsYXNzPSJ0cC10aHVtYi1pbWFnZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ0cC10aHVtYi10aXRsZSI+PC9zcGFuPicsCiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGVBbW91bnQ6IDUsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfb25tb2JpbGU6ICExLAogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX29ubGVhdmU6ICEwLAogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX2RlbGF5OiAyMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfZGVsYXlfbW9iaWxlOiAxMjAwLAogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX3VuZGVyOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX292ZXI6IDk5OTksCiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogImhvcml6b250YWwiLAogICAgICAgICAgICAgICAgICAgICAgICBzcGFuOiAhMSwKICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJpbm5lciIsCiAgICAgICAgICAgICAgICAgICAgICAgIHNwYWNlOiAyLAogICAgICAgICAgICAgICAgICAgICAgICBoX2FsaWduOiAibGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHZfYWxpZ246ICJjZW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICBoX29mZnNldDogMjAsCiAgICAgICAgICAgICAgICAgICAgICAgIHZfb2Zmc2V0OiAwCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB0YWJzOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogInNsaWRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgIHJ0bDogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlOiAhMSwKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgbWluX3dpZHRoOiAxMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTAsCiAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJfcGFkZGluZzogMTAsCiAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJfY29sb3I6ICIjZjVmNWY1IiwKICAgICAgICAgICAgICAgICAgICAgICAgd3JhcHBlcl9vcGFjaXR5OiAxLAogICAgICAgICAgICAgICAgICAgICAgICB0bXA6ICc8c3BhbiBjbGFzcz0idHAtdGFiLWltYWdlIj48L3NwYW4+JywKICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZUFtb3VudDogNSwKICAgICAgICAgICAgICAgICAgICAgICAgaGlkZV9vbm1vYmlsZTogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfb25sZWF2ZTogITAsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfZGVsYXk6IDIwMCwKICAgICAgICAgICAgICAgICAgICAgICAgaGlkZV9kZWxheV9tb2JpbGU6IDEyMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfdW5kZXI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfb3ZlcjogOTk5OSwKICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiAiaG9yaXpvbnRhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW46ICExLAogICAgICAgICAgICAgICAgICAgICAgICBzcGFjZTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJpbm5lciIsCiAgICAgICAgICAgICAgICAgICAgICAgIGhfYWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgdl9hbGlnbjogImNlbnRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgIGhfb2Zmc2V0OiAyMCwKICAgICAgICAgICAgICAgICAgICAgICAgdl9vZmZzZXQ6IDAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgZXh0ZW5zaW9uczogImV4dGVuc2lvbnMvIiwKICAgICAgICAgICAgICAgIGV4dGVuc2lvbnNfc3VmZml4OiAiLm1pbi5qcyIsCiAgICAgICAgICAgICAgICBkZWJ1Z01vZGU6ICExCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHJldHVybiBpID0galF1ZXJ5LmV4dGVuZCghMCwge30sIGUsIGkpLCB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgIGkubWluSGVpZ2h0ID0gaS5taW5IZWlnaHQgIT0gdW5kZWZpbmVkID8gcGFyc2VJbnQoaS5taW5IZWlnaHQsIDApIDogaS5taW5IZWlnaHQsIGkuc2Nyb2xsZWZmZWN0Lm9uID0gIm9uIiA9PT0gaS5zY3JvbGxlZmZlY3QuZmFkZSB8fCAib24iID09PSBpLnNjcm9sbGVmZmVjdC5zY2FsZSB8fCAib24iID09PSBpLnNjcm9sbGVmZmVjdC5ibHVyIHx8ICJvbiIgPT09IGkuc2Nyb2xsZWZmZWN0LmdyYXlzY2FsZSwgImhlcm8iID09IGkuc2xpZGVyVHlwZSAmJiBlLmZpbmQoIj51bD5saSIpLmVhY2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIDAgPCBlICYmIGpRdWVyeSh0aGlzKS5yZW1vdmUoKQogICAgICAgICAgICAgICAgfSksIGkuanNGaWxlTG9jYXRpb24gPSBpLmpzRmlsZUxvY2F0aW9uIHx8IGdldFNjcmlwdExvY2F0aW9uKCJ0aGVtZXB1bmNoLnJldm9sdXRpb24ubWluLmpzIiksIGkuanNGaWxlTG9jYXRpb24gPSBpLmpzRmlsZUxvY2F0aW9uICsgaS5leHRlbnNpb25zLCBpLnNjcmlwdHNuZWVkZWQgPSBnZXROZWVkZWRTY3JpcHRzKGksIGUpLCBpLmN1cldpblJhbmdlID0gMCwgaS5ydGwgPSAhMCwgaS5uYXZpZ2F0aW9uICE9IHVuZGVmaW5lZCAmJiBpLm5hdmlnYXRpb24udG91Y2ggIT0gdW5kZWZpbmVkICYmIChpLm5hdmlnYXRpb24udG91Y2guc3dpcGVfbWluX3RvdWNoZXMgPSA1IDwgaS5uYXZpZ2F0aW9uLnRvdWNoLnN3aXBlX21pbl90b3VjaGVzID8gMSA6IGkubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9taW5fdG91Y2hlcyksIGpRdWVyeSh0aGlzKS5vbigic2NyaXB0c2xvYWRlZCIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGlmIChpLm1vZHVsZXNmYWlsaW5nKSByZXR1cm4gZS5odG1sKCc8ZGl2IHN0eWxlPSJtYXJnaW46YXV0bztsaW5lLWhlaWdodDo0MHB4O2ZvbnQtc2l6ZToxNHB4O2NvbG9yOiNmZmY7cGFkZGluZzoxNXB4O2JhY2tncm91bmQ6I2U3NGMzYzttYXJnaW46MjBweCAwcHg7Ij4hISBFcnJvciBhdCBsb2FkaW5nIFNsaWRlciBSZXZvbHV0aW9uIDUuMCBFeHRyZW5zaW9ucy4nICsgaS5lcnJvcm0gKyAiPC9kaXY+Iikuc2hvdygpLCAhMTsKICAgICAgICAgICAgICAgICAgICBfUi5taWdyYXRpb24gIT0gdW5kZWZpbmVkICYmIChpID0gX1IubWlncmF0aW9uKGUsIGkpKSwgcHVuY2hncy5mb3JjZTNEID0gITAsICJvbiIgIT09IGkuc2ltcGxpZnlBbGwgJiYgcHVuY2hncy5Ud2VlbkxpdGUubGFnU21vb3RoaW5nKDFlMywgMTYpLCBwcmVwYXJlT3B0aW9ucyhlLCBpKSwgaW5pdFNsaWRlcihlLCBpKQogICAgICAgICAgICAgICAgfSksIGVbMF0ub3B0ID0gaSwgd2FpdEZvclNjcmlwdHMoZSwgaSkKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIGdldFJTVmVyc2lvbjogZnVuY3Rpb24oZSkgewogICAgICAgICAgICBpZiAoITAgPT09IGUpIHJldHVybiBqUXVlcnkoImJvZHkiKS5kYXRhKCJ0cF9yc192ZXJzaW9uIik7CiAgICAgICAgICAgIHZhciBpID0galF1ZXJ5KCJib2R5IikuZGF0YSgidHBfcnNfdmVyc2lvbiIpLAogICAgICAgICAgICAgICAgdCA9ICIiOwogICAgICAgICAgICBmb3IgKHZhciBhIGluIHQgKz0gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIiwgdCArPSAiICAgIEN1cnJlbnRseSBMb2FkZWQgU2xpZGVyIFJldm9sdXRpb24gJiBTUiBNb2R1bGVzIDpcbiIsIHQgKz0gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIiwgaSkgdCArPSBpW2FdLmFsaWFzICsgIjogIiArIGlbYV0udmVyICsgIlxuIjsKICAgICAgICAgICAgcmV0dXJuIHQgKyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCiAgICAgICAgfSwKICAgICAgICByZXZyZW1vdmVzbGlkZTogZnVuY3Rpb24ocikgewogICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyksCiAgICAgICAgICAgICAgICAgICAgaSA9IGVbMF0ub3B0OwogICAgICAgICAgICAgICAgaWYgKCEociA8IDAgfHwgciA+IGkuc2xpZGVhbW91bnQpICYmIGUgIT0gdW5kZWZpbmVkICYmIDAgPCBlLmxlbmd0aCAmJiAwIDwgalF1ZXJ5KCJib2R5IikuZmluZCgiIyIgKyBlLmF0dHIoImlkIikpLmxlbmd0aCAmJiBpICYmIDAgPCBpLmxpLmxlbmd0aCAmJiAoMCA8IHIgfHwgciA8PSBpLmxpLmxlbmd0aCkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGpRdWVyeShpLmxpW3JdKSwKICAgICAgICAgICAgICAgICAgICAgICAgYSA9IHQuZGF0YSgiaW5kZXgiKSwKICAgICAgICAgICAgICAgICAgICAgICAgbiA9ICExOwogICAgICAgICAgICAgICAgICAgIGkuc2xpZGVhbW91bnQgPSBpLnNsaWRlYW1vdW50IC0gMSwgaS5yZWFsc2xpZGVhbW91bnQgPSBpLnJlYWxzbGlkZWFtb3VudCAtIDEsIHJlbW92ZU5hdldpdGhMaXJlZigiLnRwLWJ1bGxldCIsIGEsIGkpLCByZW1vdmVOYXZXaXRoTGlyZWYoIi50cC10YWIiLCBhLCBpKSwgcmVtb3ZlTmF2V2l0aExpcmVmKCIudHAtdGh1bWIiLCBhLCBpKSwgdC5oYXNDbGFzcygiYWN0aXZlLXJldnNsaWRlIikgJiYgKG4gPSAhMCksIHQucmVtb3ZlKCksIGkubGkgPSByZW1vdmVBcnJheShpLmxpLCByKSwgaS5jYXJvdXNlbCAmJiBpLmNhcm91c2VsLnNsaWRlcyAmJiAoaS5jYXJvdXNlbC5zbGlkZXMgPSByZW1vdmVBcnJheShpLmNhcm91c2VsLnNsaWRlcywgcikpLCBpLnRodW1icyA9IHJlbW92ZUFycmF5KGkudGh1bWJzLCByKSwgX1IudXBkYXRlTmF2SW5kZXhlcyAmJiBfUi51cGRhdGVOYXZJbmRleGVzKGkpLCBuICYmIGUucmV2bmV4dCgpLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5saSwgewogICAgICAgICAgICAgICAgICAgICAgICBtaW5XaWR0aDogIjk5JSIKICAgICAgICAgICAgICAgICAgICB9KSwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGkubGksIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWluV2lkdGg6ICIxMDAlIgogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICByZXZhZGRjYWxsYmFjazogZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdGhpcy5vcHQgJiYgKHRoaXMub3B0LmNhbGxCYWNrQXJyYXkgPT09IHVuZGVmaW5lZCAmJiAodGhpcy5vcHQuY2FsbEJhY2tBcnJheSA9IG5ldyBBcnJheSksIHRoaXMub3B0LmNhbGxCYWNrQXJyYXkucHVzaChlKSkKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIHJldmdldHBhcmFsbGF4cHJvYzogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiBqUXVlcnkodGhpcylbMF0ub3B0LnNjcm9sbHByb2MKICAgICAgICB9LAogICAgICAgIHJldmRlYnVnbW9kZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgIGVbMF0ub3B0LmRlYnVnTW9kZSA9ICEwLCBjb250YWluZXJSZXNpemVkKGUsIGVbMF0ub3B0KQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgcmV2c2Nyb2xsOiBmdW5jdGlvbihpKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgIGpRdWVyeSgiYm9keSxodG1sIikuYW5pbWF0ZSh7CiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wOiBlLm9mZnNldCgpLnRvcCArIGUuaGVpZ2h0KCkgLSBpICsgInB4IgogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiA0MDAKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICByZXZyZWRyYXc6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgY29udGFpbmVyUmVzaXplZChlLCBlWzBdLm9wdCkKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIHJldmtpbGw6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLAogICAgICAgICAgICAgICAgdCA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgaWYgKHB1bmNoZ3MuVHdlZW5MaXRlLmtpbGxEZWxheWVkQ2FsbHNUbyhfUi5zaG93SGlkZU5hdkVsZW1lbnRzKSwgdCAhPSB1bmRlZmluZWQgJiYgMCA8IHQubGVuZ3RoICYmIDAgPCBqUXVlcnkoImJvZHkiKS5maW5kKCIjIiArIHQuYXR0cigiaWQiKSkubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICB0LmRhdGEoImNvbnRob3ZlciIsIDEpLCB0LmRhdGEoImNvbnRob3Zlci1jaGFuZ2VkIiwgMSksIHQudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnBhdXNlIik7CiAgICAgICAgICAgICAgICB2YXIgYSA9IHQucGFyZW50KCkuZmluZCgiLnRwLWJhbm5lcnRpbWVyIiksCiAgICAgICAgICAgICAgICAgICAgbiA9IHRbMF0ub3B0OwogICAgICAgICAgICAgICAgbi50b25wYXVzZSA9ICEwLCB0LnRyaWdnZXIoInN0b3B0aW1lciIpOwogICAgICAgICAgICAgICAgdmFyIHIgPSAicmVzaXplLnJldnNsaWRlci0iICsgdC5hdHRyKCJpZCIpOwogICAgICAgICAgICAgICAgalF1ZXJ5KHdpbmRvdykudW5iaW5kKHIpLCBwdW5jaGdzLlR3ZWVuTGl0ZS5raWxsVHdlZW5zT2YodC5maW5kKCIqIiksICExKSwgcHVuY2hncy5Ud2VlbkxpdGUua2lsbFR3ZWVuc09mKHQsICExKSwgdC51bmJpbmQoImhvdmVyLCBtb3VzZW92ZXIsIG1vdXNlZW50ZXIsbW91c2VsZWF2ZSwgcmVzaXplIiksIHIgPSAicmVzaXplLnJldnNsaWRlci0iICsgdC5hdHRyKCJpZCIpLCBqUXVlcnkod2luZG93KS5vZmYociksIHQuZmluZCgiKiIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgZS51bmJpbmQoIm9uLCBob3ZlciwgbW91c2VlbnRlcixtb3VzZWxlYXZlLG1vdXNlb3ZlciwgcmVzaXplLHJlc3RhcnR0aW1lciwgc3RvcHRpbWVyIiksIGUub2ZmKCJvbiwgaG92ZXIsIG1vdXNlZW50ZXIsbW91c2VsZWF2ZSxtb3VzZW92ZXIsIHJlc2l6ZSIpLCBlLmRhdGEoIm15U3BsaXRUZXh0IiwgbnVsbCksIGUuZGF0YSgiY3RsIiwgbnVsbCksIGUuZGF0YSgidHdlZW4iKSAhPSB1bmRlZmluZWQgJiYgZS5kYXRhKCJ0d2VlbiIpLmtpbGwoKSwgZS5kYXRhKCJrZW5idXJuIikgIT0gdW5kZWZpbmVkICYmIGUuZGF0YSgia2VuYnVybiIpLmtpbGwoKSwgZS5kYXRhKCJ0aW1lbGluZV9vdXQiKSAhPSB1bmRlZmluZWQgJiYgZS5kYXRhKCJ0aW1lbGluZV9vdXQiKS5raWxsKCksIGUuZGF0YSgidGltZWxpbmUiKSAhPSB1bmRlZmluZWQgJiYgZS5kYXRhKCJ0aW1lbGluZSIpLmtpbGwoKSwgZS5yZW1vdmUoKSwgZS5lbXB0eSgpLCBlID0gbnVsbAogICAgICAgICAgICAgICAgfSksIHB1bmNoZ3MuVHdlZW5MaXRlLmtpbGxUd2VlbnNPZih0LmZpbmQoIioiKSwgITEpLCBwdW5jaGdzLlR3ZWVuTGl0ZS5raWxsVHdlZW5zT2YodCwgITEpLCBhLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICB0LmNsb3Nlc3QoIi5mb3JjZWZ1bGx3aWR0aF93cmFwcGVyX3RwX2Jhbm5lciIpLnJlbW92ZSgpCiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fQogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICB0LmNsb3Nlc3QoIi5yZXZfc2xpZGVyX3dyYXBwZXIiKS5yZW1vdmUoKQogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge30KICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgdC5yZW1vdmUoKQogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge30KICAgICAgICAgICAgICAgIHJldHVybiB0LmVtcHR5KCksIHQuaHRtbCgpLCBuID0gdCA9IG51bGwsIGRlbGV0ZSBpLmMsIGRlbGV0ZSBpLm9wdCwgZGVsZXRlIGkuY29udGFpbmVyLCAhMAogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAhMQogICAgICAgIH0sCiAgICAgICAgcmV2cGF1c2U6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICBlICE9IHVuZGVmaW5lZCAmJiAwIDwgZS5sZW5ndGggJiYgMCA8IGpRdWVyeSgiYm9keSIpLmZpbmQoIiMiICsgZS5hdHRyKCJpZCIpKS5sZW5ndGggJiYgKGUuZGF0YSgiY29udGhvdmVyIiwgMSksIGUuZGF0YSgiY29udGhvdmVyLWNoYW5nZWQiLCAxKSwgZS50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9ucGF1c2UiKSwgZVswXS5vcHQudG9ucGF1c2UgPSAhMCwgZS50cmlnZ2VyKCJzdG9wdGltZXIiKSkKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIHJldnJlc3VtZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgIGUgIT0gdW5kZWZpbmVkICYmIDAgPCBlLmxlbmd0aCAmJiAwIDwgalF1ZXJ5KCJib2R5IikuZmluZCgiIyIgKyBlLmF0dHIoImlkIikpLmxlbmd0aCAmJiAoZS5kYXRhKCJjb250aG92ZXIiLCAwKSwgZS5kYXRhKCJjb250aG92ZXItY2hhbmdlZCIsIDEpLCBlLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25yZXN1bWUiKSwgZVswXS5vcHQudG9ucGF1c2UgPSAhMSwgZS50cmlnZ2VyKCJzdGFydHRpbWVyIikpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICByZXZzdGFydDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICBpZiAoZSAhPSB1bmRlZmluZWQgJiYgMCA8IGUubGVuZ3RoICYmIDAgPCBqUXVlcnkoImJvZHkiKS5maW5kKCIjIiArIGUuYXR0cigiaWQiKSkubGVuZ3RoICYmIGVbMF0ub3B0ICE9PSB1bmRlZmluZWQpIHJldHVybiBlWzBdLm9wdC5zbGlkZXJpc3J1bm5pbmcgPyAoY29uc29sZS5sb2coIlNsaWRlciBJcyBSdW5uaW5nIEFscmVhZHkiKSwgITEpIDogKChlWzBdLm9wdC5jID0gZSlbMF0ub3B0LnVsID0gZS5maW5kKCI+dWwiKSwgcnVuU2xpZGVyKGUsIGVbMF0ub3B0KSwgITApCiAgICAgICAgfSwKICAgICAgICByZXZuZXh0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgZSAhPSB1bmRlZmluZWQgJiYgMCA8IGUubGVuZ3RoICYmIDAgPCBqUXVlcnkoImJvZHkiKS5maW5kKCIjIiArIGUuYXR0cigiaWQiKSkubGVuZ3RoICYmIF9SLmNhbGxpbmdOZXdTbGlkZShlLCAxKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgcmV2cHJldjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgIGUgIT0gdW5kZWZpbmVkICYmIDAgPCBlLmxlbmd0aCAmJiAwIDwgalF1ZXJ5KCJib2R5IikuZmluZCgiIyIgKyBlLmF0dHIoImlkIikpLmxlbmd0aCAmJiBfUi5jYWxsaW5nTmV3U2xpZGUoZSwgLTEpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICByZXZtYXhzbGlkZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiBqUXVlcnkodGhpcykuZmluZCgiLnRwLXJldnNsaWRlci1tYWludWwgPmxpIikubGVuZ3RoCiAgICAgICAgfSwKICAgICAgICByZXZjdXJyZW50c2xpZGU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgaWYgKGUgIT0gdW5kZWZpbmVkICYmIDAgPCBlLmxlbmd0aCAmJiAwIDwgalF1ZXJ5KCJib2R5IikuZmluZCgiIyIgKyBlLmF0dHIoImlkIikpLmxlbmd0aCkgcmV0dXJuIHBhcnNlSW50KGVbMF0ub3B0LmFjdCwgMCkgKyAxCiAgICAgICAgfSwKICAgICAgICByZXZsYXN0c2xpZGU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4galF1ZXJ5KHRoaXMpLmZpbmQoIi50cC1yZXZzbGlkZXItbWFpbnVsID5saSIpLmxlbmd0aAogICAgICAgIH0sCiAgICAgICAgcmV2c2hvd3NsaWRlOiBmdW5jdGlvbihpKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgIGUgIT0gdW5kZWZpbmVkICYmIDAgPCBlLmxlbmd0aCAmJiAwIDwgalF1ZXJ5KCJib2R5IikuZmluZCgiIyIgKyBlLmF0dHIoImlkIikpLmxlbmd0aCAmJiBfUi5jYWxsaW5nTmV3U2xpZGUoZSwgInRvIiArIChpIC0gMSkpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICByZXZjYWxsc2xpZGV3aXRoaWQ6IGZ1bmN0aW9uKGkpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgZSAhPSB1bmRlZmluZWQgJiYgMCA8IGUubGVuZ3RoICYmIDAgPCBqUXVlcnkoImJvZHkiKS5maW5kKCIjIiArIGUuYXR0cigiaWQiKSkubGVuZ3RoICYmIF9SLmNhbGxpbmdOZXdTbGlkZShlLCBpKQogICAgICAgICAgICB9KQogICAgICAgIH0KICAgIH0pOwogICAgdmFyIF9SID0galF1ZXJ5LmZuLnJldm9sdXRpb247CiAgICBqUXVlcnkuZXh0ZW5kKCEwLCBfUiwgewogICAgICAgIGdldHZlcnNpb246IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gdmVyc2lvbgogICAgICAgIH0sCiAgICAgICAgY29tcGFyZV92ZXJzaW9uOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciBpID0galF1ZXJ5KCJib2R5IikuZGF0YSgidHBfcnNfdmVyc2lvbiIpOwogICAgICAgICAgICByZXR1cm4gKGkgPSBpID09PSB1bmRlZmluZWQgPyBuZXcgT2JqZWN0IDogaSkuQ29yZSA9PT0gdW5kZWZpbmVkICYmIChpLkNvcmUgPSBuZXcgT2JqZWN0LCBpLkNvcmUuYWxpYXMgPSAiU2xpZGVyIFJldm9sdXRpb24gQ29yZSIsIGkuQ29yZS5uYW1lID0gImpxdWVyeS50aGVtZXB1bmNoLnJldm9sdXRpb24ubWluLmpzIiwgaS5Db3JlLnZlciA9IF9SLmdldHZlcnNpb24oKS5jb3JlKSwgInN0b3AiICE9IGUuY2hlY2sgJiYgKF9SLmdldHZlcnNpb24oKS5jb3JlIDwgZS5taW5fY29yZSA/IChlLmNoZWNrID09PSB1bmRlZmluZWQgJiYgKGNvbnNvbGUubG9nKCIlY1NsaWRlciBSZXZvbHV0aW9uIFdhcm5pbmcgKENvcmU6IiArIF9SLmdldHZlcnNpb24oKS5jb3JlICsgIikiLCAiY29sb3I6I2MwMzkyYjtmb250LXdlaWdodDpib2xkOyIpLCBjb25zb2xlLmxvZygiJWMgICAgIENvcmUgaXMgb2xkZXIgdGhhbiBleHBlY3RlZCAoIiArIGUubWluX2NvcmUgKyAiKSBmcm9tICIgKyBlLmFsaWFzLCAiY29sb3I6IzMzMyIpLCBjb25zb2xlLmxvZygiJWMgICAgIFBsZWFzZSB1cGRhdGUgU2xpZGVyIFJldm9sdXRpb24gdG8gdGhlIGxhdGVzdCB2ZXJzaW9uLiIsICJjb2xvcjojMzMzIiksIGNvbnNvbGUubG9nKCIlYyAgICAgSXQgbWlnaHQgYmUgcmVxdWlyZWQgdG8gcHVyZ2UgYW5kIGNsZWFyIFNlcnZlci9DbGllbnQgc2lkZSBDYWNoZXMuIiwgImNvbG9yOiMzMzMiKSksIGUuY2hlY2sgPSAic3RvcCIpIDogX1IuZ2V0dmVyc2lvbigpW2UubmFtZV0gIT0gdW5kZWZpbmVkICYmIGUudmVyc2lvbiA8IF9SLmdldHZlcnNpb24oKVtlLm5hbWVdICYmIChlLmNoZWNrID09PSB1bmRlZmluZWQgJiYgKGNvbnNvbGUubG9nKCIlY1NsaWRlciBSZXZvbHV0aW9uIFdhcm5pbmcgKENvcmU6IiArIF9SLmdldHZlcnNpb24oKS5jb3JlICsgIikiLCAiY29sb3I6I2MwMzkyYjtmb250LXdlaWdodDpib2xkOyIpLCBjb25zb2xlLmxvZygiJWMgICAgICIgKyBlLmFsaWFzICsgIiAoIiArIGUudmVyc2lvbiArICIpIGlzIG9sZGVyIHRoYW4gcmVxdWllcmVkICgiICsgX1IuZ2V0dmVyc2lvbigpW2UubmFtZV0gKyAiKSIsICJjb2xvcjojMzMzIiksIGNvbnNvbGUubG9nKCIlYyAgICAgUGxlYXNlIHVwZGF0ZSBTbGlkZXIgUmV2b2x1dGlvbiB0byB0aGUgbGF0ZXN0IHZlcnNpb24uIiwgImNvbG9yOiMzMzMiKSwgY29uc29sZS5sb2coIiVjICAgICBJdCBtaWdodCBiZSByZXF1aXJlZCB0byBwdXJnZSBhbmQgY2xlYXIgU2VydmVyL0NsaWVudCBzaWRlIENhY2hlcy4iLCAiY29sb3I6IzMzMyIpKSwgZS5jaGVjayA9ICJzdG9wIikpLCBpW2UuYWxpYXNdID09PSB1bmRlZmluZWQgJiYgKGlbZS5hbGlhc10gPSBuZXcgT2JqZWN0LCBpW2UuYWxpYXNdLmFsaWFzID0gZS5hbGlhcywgaVtlLmFsaWFzXS52ZXIgPSBlLnZlcnNpb24sIGlbZS5hbGlhc10ubmFtZSA9IGUubmFtZSksIGpRdWVyeSgiYm9keSIpLmRhdGEoInRwX3JzX3ZlcnNpb24iLCBpKSwgZQogICAgICAgIH0sCiAgICAgICAgY3VycmVudFNsaWRlSW5kZXg6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIGkgPSBlLmMuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLmluZGV4KCk7CiAgICAgICAgICAgIHJldHVybiAtMSA9PSBpID8gMCA6IGkKICAgICAgICB9LAogICAgICAgIHNpbXA6IGZ1bmN0aW9uKGUsIGksIHQpIHsKICAgICAgICAgICAgdmFyIGEgPSBNYXRoLmFicyhlKSAtIE1hdGguZmxvb3IoTWF0aC5hYnMoZSAvIGkpKSAqIGk7CiAgICAgICAgICAgIHJldHVybiB0ID8gYSA6IGUgPCAwID8gLTEgKiBhIDogYQogICAgICAgIH0sCiAgICAgICAgaU9TVmVyc2lvbjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBlID0gITE7CiAgICAgICAgICAgIHJldHVybiBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUGhvbmUvaSkgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBvZC9pKSB8fCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUGFkL2kpID8gbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvT1MgNF9cZCBsaWtlIE1hYyBPUyBYL2kpICYmIChlID0gITApIDogZSA9ICExLCBlCiAgICAgICAgfSwKICAgICAgICBpc0lFOiBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHZhciB0ID0galF1ZXJ5KCc8ZGl2IHN0eWxlPSJkaXNwbGF5Om5vbmU7Ii8+JykuYXBwZW5kVG8oalF1ZXJ5KCJib2R5IikpOwogICAgICAgICAgICB0Lmh0bWwoIlx4M2MhLS1baWYgIiArIChpIHx8ICIiKSArICIgSUUgIiArIChlIHx8ICIiKSArICJdPjxhPiZuYnNwOzwvYT48IVtlbmRpZl0tLVx4M2UiKTsKICAgICAgICAgICAgdmFyIGEgPSB0LmZpbmQoImEiKS5sZW5ndGg7CiAgICAgICAgICAgIHJldHVybiB0LnJlbW92ZSgpLCBhCiAgICAgICAgfSwKICAgICAgICBpc19tb2JpbGU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZSA9IFsiYW5kcm9pZCIsICJ3ZWJvcyIsICJpcGhvbmUiLCAiaXBhZCIsICJibGFja2JlcnJ5IiwgIkFuZHJvaWQiLCAid2Vib3MiLCAsICJpUG9kIiwgImlQaG9uZSIsICJpUGFkIiwgIkJsYWNrYmVycnkiLCAiQmxhY2tCZXJyeSJdLAogICAgICAgICAgICAgICAgaSA9ICExOwogICAgICAgICAgICBmb3IgKHZhciB0IGluIGUpIDEgPCBuYXZpZ2F0b3IudXNlckFnZW50LnNwbGl0KGVbdF0pLmxlbmd0aCAmJiAoaSA9ICEwKTsKICAgICAgICAgICAgcmV0dXJuIGkKICAgICAgICB9LAogICAgICAgIGlzX2FuZHJvaWQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZSA9IFsiYW5kcm9pZCIsICJBbmRyb2lkIl0sCiAgICAgICAgICAgICAgICBpID0gITE7CiAgICAgICAgICAgIGZvciAodmFyIHQgaW4gZSkgMSA8IG5hdmlnYXRvci51c2VyQWdlbnQuc3BsaXQoZVt0XSkubGVuZ3RoICYmIChpID0gITApOwogICAgICAgICAgICByZXR1cm4gaQogICAgICAgIH0sCiAgICAgICAgY2FsbEJhY2tIYW5kbGluZzogZnVuY3Rpb24oZSwgdCwgYSkgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgZS5jYWxsQmFja0FycmF5ICYmIGpRdWVyeS5lYWNoKGUuY2FsbEJhY2tBcnJheSwgZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgICAgICAgIGkgJiYgaS5pbm1vZHVsZSAmJiBpLmlubW9kdWxlID09PSB0ICYmIGkuYXRwb3NpdGlvbiAmJiBpLmF0cG9zaXRpb24gPT09IGEgJiYgaS5jYWxsYmFjayAmJiBpLmNhbGxiYWNrLmNhbGwoKQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgY29uc29sZS5sb2coIkNhbGwgQmFjayBGYWlsZWQiKQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBnZXRfYnJvd3NlcjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBlLCBpID0gbmF2aWdhdG9yLmFwcE5hbWUsCiAgICAgICAgICAgICAgICB0ID0gbmF2aWdhdG9yLnVzZXJBZ2VudCwKICAgICAgICAgICAgICAgIGEgPSB0Lm1hdGNoKC8ob3BlcmF8Y2hyb21lfHNhZmFyaXxmaXJlZm94fG1zaWUpXC8/XHMqKFwuP1xkKyhcLlxkKykqKS9pKTsKICAgICAgICAgICAgcmV0dXJuIGEgJiYgbnVsbCAhPSAoZSA9IHQubWF0Y2goL3ZlcnNpb25cLyhbXC5cZF0rKS9pKSkgJiYgKGFbMl0gPSBlWzFdKSwgKGEgPSBhID8gW2FbMV0sIGFbMl1dIDogW2ksIG5hdmlnYXRvci5hcHBWZXJzaW9uLCAiLT8iXSlbMF0KICAgICAgICB9LAogICAgICAgIGdldF9icm93c2VyX3ZlcnNpb246IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZSwgaSA9IG5hdmlnYXRvci5hcHBOYW1lLAogICAgICAgICAgICAgICAgdCA9IG5hdmlnYXRvci51c2VyQWdlbnQsCiAgICAgICAgICAgICAgICBhID0gdC5tYXRjaCgvKG9wZXJhfGNocm9tZXxzYWZhcml8ZmlyZWZveHxtc2llKVwvP1xzKihcLj9cZCsoXC5cZCspKikvaSk7CiAgICAgICAgICAgIHJldHVybiBhICYmIG51bGwgIT0gKGUgPSB0Lm1hdGNoKC92ZXJzaW9uXC8oW1wuXGRdKykvaSkpICYmIChhWzJdID0gZVsxXSksIChhID0gYSA/IFthWzFdLCBhWzJdXSA6IFtpLCBuYXZpZ2F0b3IuYXBwVmVyc2lvbiwgIi0/Il0pWzFdCiAgICAgICAgfSwKICAgICAgICBpc1NhZmFyaTExOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkudHJpbShfUi5nZXRfYnJvd3NlcigpLnRvTG93ZXJDYXNlKCkpOwogICAgICAgICAgICByZXR1cm4gLTEgPT09IGpRdWVyeS50cmltKG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSkuc2VhcmNoKCJlZGdlIikgJiYgIm1zaWUiICE9PSBlICYmIGUubWF0Y2goL3NhZmFyaXxjaHJvbWUvKQogICAgICAgIH0sCiAgICAgICAgZ2V0SG9yaXpvbnRhbE9mZnNldDogZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICB2YXIgdCA9IGdXaWRlck91dChlLCAiLm91dGVyLWxlZnQiKSwKICAgICAgICAgICAgICAgIGEgPSBnV2lkZXJPdXQoZSwgIi5vdXRlci1yaWdodCIpOwogICAgICAgICAgICBzd2l0Y2ggKGkpIHsKICAgICAgICAgICAgICAgIGNhc2UgImxlZnQiOgogICAgICAgICAgICAgICAgICAgIHJldHVybiB0OwogICAgICAgICAgICAgICAgY2FzZSAicmlnaHQiOgogICAgICAgICAgICAgICAgICAgIHJldHVybiBhOwogICAgICAgICAgICAgICAgY2FzZSAiYm90aCI6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgKyBhCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGNhbGxpbmdOZXdTbGlkZTogZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICB2YXIgdCA9IDAgPCBlLmZpbmQoIi5uZXh0LXJldnNsaWRlIikubGVuZ3RoID8gZS5maW5kKCIubmV4dC1yZXZzbGlkZSIpLmluZGV4KCkgOiAwIDwgZS5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLmxlbmd0aCA/IGUuZmluZCgiLnByb2Nlc3NpbmctcmV2c2xpZGUiKS5pbmRleCgpIDogZS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIikuaW5kZXgoKSwKICAgICAgICAgICAgICAgIGEgPSAwLAogICAgICAgICAgICAgICAgbiA9IGVbMF0ub3B0OwogICAgICAgICAgICBlLmZpbmQoIi5uZXh0LXJldnNsaWRlIikucmVtb3ZlQ2xhc3MoIm5leHQtcmV2c2xpZGUiKSwgZS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIikuaGFzQ2xhc3MoInRwLWludmlzaWJsZS1zbGlkZSIpICYmICh0ID0gbi5sYXN0X3Nob3duX3NsaWRlKSwgaSAmJiBqUXVlcnkuaXNOdW1lcmljKGkpIHx8IGkubWF0Y2goL3RvL2cpID8gKGEgPSAxID09PSBpIHx8IC0xID09PSBpID8gKGEgPSB0ICsgaSkgPCAwID8gbi5zbGlkZWFtb3VudCAtIDEgOiBhID49IG4uc2xpZGVhbW91bnQgPyAwIDogYSA6IChpID0galF1ZXJ5LmlzTnVtZXJpYyhpKSA/IGkgOiBwYXJzZUludChpLnNwbGl0KCJ0byIpWzFdLCAwKSkgPCAwID8gMCA6IGkgPiBuLnNsaWRlYW1vdW50IC0gMSA/IG4uc2xpZGVhbW91bnQgLSAxIDogaSwgZS5maW5kKCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpOmVxKCIgKyBhICsgIikiKS5hZGRDbGFzcygibmV4dC1yZXZzbGlkZSIpKSA6IGkgJiYgZS5maW5kKCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgZS5kYXRhKCJpbmRleCIpID09PSBpICYmIGUuYWRkQ2xhc3MoIm5leHQtcmV2c2xpZGUiKQogICAgICAgICAgICB9KSwgYSA9IGUuZmluZCgiLm5leHQtcmV2c2xpZGUiKS5pbmRleCgpLCBlLnRyaWdnZXIoInJldm9sdXRpb24ubmV4dHNsaWRlLndhaXRpbmciKSwgdCA9PT0gYSAmJiB0ID09PSBuLmxhc3Rfc2hvd25fc2xpZGUgfHwgYSAhPT0gdCAmJiAtMSAhPSBhID8gc3dhcFNsaWRlKGUpIDogZS5maW5kKCIubmV4dC1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJuZXh0LXJldnNsaWRlIikKICAgICAgICB9LAogICAgICAgIHNsb3RTaXplOiBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIGkuc2xvdHcgPSBNYXRoLmNlaWwoaS53aWR0aCAvIGkuc2xvdHMpLCAiZnVsbHNjcmVlbiIgPT0gaS5zbGlkZXJMYXlvdXQgPyBpLnNsb3RoID0gTWF0aC5jZWlsKGpRdWVyeSh3aW5kb3cpLmhlaWdodCgpIC8gaS5zbG90cykgOiBpLnNsb3RoID0gTWF0aC5jZWlsKGkuaGVpZ2h0IC8gaS5zbG90cyksICJvbiIgPT0gaS5hdXRvSGVpZ2h0ICYmIGUgIT09IHVuZGVmaW5lZCAmJiAiIiAhPT0gZSAmJiAoaS5zbG90aCA9IE1hdGguY2VpbChlLmhlaWdodCgpIC8gaS5zbG90cykpCiAgICAgICAgfSwKICAgICAgICBzZXRTaXplOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciBpID0gKGUudG9wX291dGVyIHx8IDApICsgKGUuYm90dG9tX291dGVyIHx8IDApLAogICAgICAgICAgICAgICAgdCA9IHBhcnNlSW50KGUuY2Fyb3VzZWwucGFkZGluZ190b3AgfHwgMCwgMCksCiAgICAgICAgICAgICAgICBhID0gcGFyc2VJbnQoZS5jYXJvdXNlbC5wYWRkaW5nX2JvdHRvbSB8fCAwLCAwKSwKICAgICAgICAgICAgICAgIG4gPSBlLmdyaWRoZWlnaHRbZS5jdXJXaW5SYW5nZV0sCiAgICAgICAgICAgICAgICByID0gMCwKICAgICAgICAgICAgICAgIG8gPSAtMSA9PT0gZS5uZXh0U2xpZGUgfHwgZS5uZXh0U2xpZGUgPT09IHVuZGVmaW5lZCA/IDAgOiBlLm5leHRTbGlkZTsKICAgICAgICAgICAgaWYgKGUucGFkZGluZ3MgPSBlLnBhZGRpbmdzID09PSB1bmRlZmluZWQgPyB7CiAgICAgICAgICAgICAgICAgICAgdG9wOiBwYXJzZUludChlLmMucGFyZW50KCkuY3NzKCJwYWRkaW5nVG9wIiksIDApIHx8IDAsCiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBwYXJzZUludChlLmMucGFyZW50KCkuY3NzKCJwYWRkaW5nQm90dG9tIiksIDApIHx8IDAKICAgICAgICAgICAgICAgIH0gOiBlLnBhZGRpbmdzLCBlLnJvd3pvbmVzICYmIDAgPCBlLnJvd3pvbmVzLmxlbmd0aCkKICAgICAgICAgICAgICAgIGZvciAodmFyIHMgPSAwOyBzIDwgZS5yb3d6b25lc1tvXS5sZW5ndGg7IHMrKykgciArPSBlLnJvd3pvbmVzW29dW3NdWzBdLm9mZnNldEhlaWdodDsKICAgICAgICAgICAgaWYgKG4gPSAobiA9IG4gPCBlLm1pbkhlaWdodCA/IGUubWluSGVpZ2h0IDogbikgPCByID8gciA6IG4sICJmdWxsd2lkdGgiID09IGUuc2xpZGVyTGF5b3V0ICYmICJvZmYiID09IGUuYXV0b0hlaWdodCAmJiBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZS5jLCB7CiAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBuICsgInB4IgogICAgICAgICAgICAgICAgfSksIGUuYy5jc3MoewogICAgICAgICAgICAgICAgICAgIG1hcmdpblRvcDogdCwKICAgICAgICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206IGEKICAgICAgICAgICAgICAgIH0pLCBlLndpZHRoID0gZS51bC53aWR0aCgpLCBlLmhlaWdodCA9IGUudWwuaGVpZ2h0KCksIHNldFNjYWxlKGUpLCBlLmhlaWdodCA9IE1hdGgucm91bmQoZS5ncmlkaGVpZ2h0W2UuY3VyV2luUmFuZ2VdICogKGUud2lkdGggLyBlLmdyaWR3aWR0aFtlLmN1cldpblJhbmdlXSkpLCBlLmhlaWdodCA+IGUuZ3JpZGhlaWdodFtlLmN1cldpblJhbmdlXSAmJiAib24iICE9IGUuYXV0b0hlaWdodCAmJiAoZS5oZWlnaHQgPSBlLmdyaWRoZWlnaHRbZS5jdXJXaW5SYW5nZV0pLCAiZnVsbHNjcmVlbiIgPT0gZS5zbGlkZXJMYXlvdXQgfHwgZS5pbmZ1bGxzY3JlZW5tb2RlKSB7CiAgICAgICAgICAgICAgICBlLmhlaWdodCA9IGUuYncgKiBlLmdyaWRoZWlnaHRbZS5jdXJXaW5SYW5nZV0sIGUuYy5wYXJlbnQoKS53aWR0aCgpOwogICAgICAgICAgICAgICAgdmFyIGwgPSBqUXVlcnkod2luZG93KS5oZWlnaHQoKTsKICAgICAgICAgICAgICAgIGlmIChlLmZ1bGxTY3JlZW5PZmZzZXRDb250YWluZXIgIT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGQgPSBlLmZ1bGxTY3JlZW5PZmZzZXRDb250YWluZXIuc3BsaXQoIiwiKTsKICAgICAgICAgICAgICAgICAgICAgICAgZCAmJiBqUXVlcnkuZWFjaChkLCBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsID0gMCA8IGpRdWVyeShpKS5sZW5ndGggPyBsIC0galF1ZXJ5KGkpLm91dGVySGVpZ2h0KCEwKSA6IGwKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fQogICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgIDEgPCBlLmZ1bGxTY3JlZW5PZmZzZXQuc3BsaXQoIiUiKS5sZW5ndGggJiYgZS5mdWxsU2NyZWVuT2Zmc2V0ICE9IHVuZGVmaW5lZCAmJiAwIDwgZS5mdWxsU2NyZWVuT2Zmc2V0Lmxlbmd0aCA/IGwgLT0galF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkgKiBwYXJzZUludChlLmZ1bGxTY3JlZW5PZmZzZXQsIDApIC8gMTAwIDogZS5mdWxsU2NyZWVuT2Zmc2V0ICE9IHVuZGVmaW5lZCAmJiAwIDwgZS5mdWxsU2NyZWVuT2Zmc2V0Lmxlbmd0aCAmJiAobCAtPSBwYXJzZUludChlLmZ1bGxTY3JlZW5PZmZzZXQsIDApKQogICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBsID0gbCA8IGUubWluSGVpZ2h0ID8gZS5taW5IZWlnaHQgOiBsLCBsIC09IGksIGUuYy5wYXJlbnQoKS5oZWlnaHQobCksIGUuYy5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIikuaGVpZ2h0KGwpLCBlLmMuY3NzKHsKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICIxMDAlIgogICAgICAgICAgICAgICAgfSksIGUuaGVpZ2h0ID0gbCwgZS5taW5IZWlnaHQgIT0gdW5kZWZpbmVkICYmIGUuaGVpZ2h0IDwgZS5taW5IZWlnaHQgJiYgKGUuaGVpZ2h0ID0gZS5taW5IZWlnaHQpLCBlLmhlaWdodCA9IHBhcnNlSW50KHIsIDApID4gcGFyc2VJbnQoZS5oZWlnaHQsIDApID8gciA6IGUuaGVpZ2h0CiAgICAgICAgICAgIH0gZWxzZSBlLm1pbkhlaWdodCAhPSB1bmRlZmluZWQgJiYgZS5oZWlnaHQgPCBlLm1pbkhlaWdodCAmJiAoZS5oZWlnaHQgPSBlLm1pbkhlaWdodCksIGUuaGVpZ2h0ID0gcGFyc2VJbnQociwgMCkgPiBwYXJzZUludChlLmhlaWdodCwgMCkgPyByIDogZS5oZWlnaHQsIGUuYy5oZWlnaHQoZS5oZWlnaHQpOwogICAgICAgICAgICB2YXIgYyA9IHsKICAgICAgICAgICAgICAgIGhlaWdodDogdCArIGEgKyBpICsgZS5oZWlnaHQgKyBlLnBhZGRpbmdzLnRvcCArIGUucGFkZGluZ3MuYm90dG9tCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGUuYy5jbG9zZXN0KCIuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIiKS5maW5kKCIudHAtZnVsbHdpZHRoLWZvcmNlciIpLmNzcyhjKSwgZS5jLmNsb3Nlc3QoIi5yZXZfc2xpZGVyX3dyYXBwZXIiKS5jc3MoYyksIHNldFNjYWxlKGUpCiAgICAgICAgfSwKICAgICAgICBlbnRlckluVmlld1BvcnQ6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdC53YWl0Rm9yQ291bnREb3duICYmIChjb3VudERvd24odC5jLCB0KSwgdC53YWl0Rm9yQ291bnREb3duID0gITEpLCB0LndhaXRGb3JGaXJzdFNsaWRlICYmIChzd2FwU2xpZGUodC5jKSwgdC53YWl0Rm9yRmlyc3RTbGlkZSA9ICExLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdC5jLnJlbW92ZUNsYXNzKCJ0cC13YWl0Zm9yZmlyc3RzdGFydCIpCiAgICAgICAgICAgIH0sIDUwMCkpLCAicGxheWluZyIgIT0gdC5zbGlkZXJsYXN0c3RhdHVzICYmIHQuc2xpZGVybGFzdHN0YXR1cyAhPSB1bmRlZmluZWQgfHwgdC5jLnRyaWdnZXIoInN0YXJ0dGltZXIiKSwgdC5sYXN0cGxheWVkdmlkZW9zICE9IHVuZGVmaW5lZCAmJiAwIDwgdC5sYXN0cGxheWVkdmlkZW9zLmxlbmd0aCAmJiBqUXVlcnkuZWFjaCh0Lmxhc3RwbGF5ZWR2aWRlb3MsIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgICAgIF9SLnBsYXlWaWRlbyhpLCB0KQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgbGVhdmVWaWV3UG9ydDogZnVuY3Rpb24odCkgewogICAgICAgICAgICB0LnNsaWRlcmxhc3RzdGF0dXMgPSB0LnNsaWRlcnN0YXR1cywgdC5jLnRyaWdnZXIoInN0b3B0aW1lciIpLCB0LnBsYXlpbmd2aWRlb3MgIT0gdW5kZWZpbmVkICYmIDAgPCB0LnBsYXlpbmd2aWRlb3MubGVuZ3RoICYmICh0Lmxhc3RwbGF5ZWR2aWRlb3MgPSBqUXVlcnkuZXh0ZW5kKCEwLCBbXSwgdC5wbGF5aW5ndmlkZW9zKSwgdC5wbGF5aW5ndmlkZW9zICYmIGpRdWVyeS5lYWNoKHQucGxheWluZ3ZpZGVvcywgZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgICAgdC5sZWF2ZVZpZXdQb3J0QmFzZWRTdG9wID0gITAsIF9SLnN0b3BWaWRlbyAmJiBfUi5zdG9wVmlkZW8oaSwgdCkKICAgICAgICAgICAgfSkpCiAgICAgICAgfSwKICAgICAgICB1blRvZ2dsZVN0YXRlOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGUgIT0gdW5kZWZpbmVkICYmIDAgPCBlLmxlbmd0aCAmJiBqUXVlcnkuZWFjaChlLCBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgICBpLnJlbW92ZUNsYXNzKCJycy10b2dnbGUtY29udGVudC1hY3RpdmUiKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgdG9nZ2xlU3RhdGU6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgZSAhPSB1bmRlZmluZWQgJiYgMCA8IGUubGVuZ3RoICYmIGpRdWVyeS5lYWNoKGUsIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgICAgIGkuYWRkQ2xhc3MoInJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZSIpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBzd2FwdG9nZ2xlU3RhdGU6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgZSAhPSB1bmRlZmluZWQgJiYgMCA8IGUubGVuZ3RoICYmIGpRdWVyeS5lYWNoKGUsIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgICAgIGpRdWVyeShpKS5oYXNDbGFzcygicnMtdG9nZ2xlLWNvbnRlbnQtYWN0aXZlIikgPyBqUXVlcnkoaSkucmVtb3ZlQ2xhc3MoInJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZSIpIDogalF1ZXJ5KGkpLmFkZENsYXNzKCJycy10b2dnbGUtY29udGVudC1hY3RpdmUiKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgbGFzdFRvZ2dsZVN0YXRlOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciB0ID0gMDsKICAgICAgICAgICAgcmV0dXJuIGUgIT0gdW5kZWZpbmVkICYmIDAgPCBlLmxlbmd0aCAmJiBqUXVlcnkuZWFjaChlLCBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgICB0ID0gaS5oYXNDbGFzcygicnMtdG9nZ2xlLWNvbnRlbnQtYWN0aXZlIikKICAgICAgICAgICAgfSksIHQKICAgICAgICB9CiAgICB9KTsKICAgIHZhciBfSVNNID0gX1IuaXNfbW9iaWxlKCksCiAgICAgICAgX0FORFJPSUQgPSBfUi5pc19hbmRyb2lkKCksCiAgICAgICAgY2hlY2tJRFMgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIGlmIChlLmFueWlkID0gZS5hbnlpZCA9PT0gdW5kZWZpbmVkID8gW10gOiBlLmFueWlkLCAtMSAhPSBqUXVlcnkuaW5BcnJheShpLmF0dHIoImlkIiksIGUuYW55aWQpKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IGkuYXR0cigiaWQiKSArICJfIiArIE1hdGgucm91bmQoOTk5OSAqIE1hdGgucmFuZG9tKCkpOwogICAgICAgICAgICAgICAgaS5hdHRyKCJpZCIsIHQpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZS5hbnlpZC5wdXNoKGkuYXR0cigiaWQiKSkKICAgICAgICB9LAogICAgICAgIHJlbW92ZUFycmF5ID0gZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICB2YXIgYSA9IFtdOwogICAgICAgICAgICByZXR1cm4galF1ZXJ5LmVhY2goZSwgZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgICAgZSAhPSB0ICYmIGEucHVzaChpKQogICAgICAgICAgICB9KSwgYQogICAgICAgIH0sCiAgICAgICAgcmVtb3ZlTmF2V2l0aExpcmVmID0gZnVuY3Rpb24oZSwgaSwgdCkgewogICAgICAgICAgICB0LmMuZmluZChlKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICBlLmRhdGEoImxpcmVmIikgPT09IGkgJiYgZS5yZW1vdmUoKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgbEFqYXggPSBmdW5jdGlvbihpLCB0KSB7CiAgICAgICAgICAgIHJldHVybiAhalF1ZXJ5KCJib2R5IikuZGF0YShpKSAmJiAodC5maWxlc3lzdGVtID8gKHQuZXJyb3JtID09PSB1bmRlZmluZWQgJiYgKHQuZXJyb3JtID0gIjxicj5Mb2NhbCBGaWxlc3lzdGVtIERldGVjdGVkICE8YnI+UHV0IHRoaXMgdG8geW91ciBoZWFkZXI6IiksIGNvbnNvbGUud2FybigiTG9jYWwgRmlsZXN5c3RlbSBkZXRlY3RlZCAhIiksIHQuZXJyb3JtID0gdC5lcnJvcm0gKyAnPGJyPiZsdDtzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IicgKyB0LmpzRmlsZUxvY2F0aW9uICsgaSArIHQuZXh0ZW5zaW9uc19zdWZmaXggKyAnIiZndDsmbHQ7L3NjcmlwdCZndDsnLCBjb25zb2xlLndhcm4odC5qc0ZpbGVMb2NhdGlvbiArIGkgKyB0LmV4dGVuc2lvbnNfc3VmZml4ICsgIiBjb3VsZCBub3QgYmUgbG9hZGVkICEiKSwgY29uc29sZS53YXJuKCJQbGVhc2UgdXNlIGEgbG9jYWwgU2VydmVyIG9yIHdvcmsgb25saW5lIG9yIG1ha2Ugc3VyZSB0aGF0IHlvdSBsb2FkIGFsbCBuZWVkZWQgTGlicmFyaWVzIG1hbnVhbGx5IGluIHlvdXIgRG9jdW1lbnQuIiksIGNvbnNvbGUubG9nKCIgIiksICEodC5tb2R1bGVzZmFpbGluZyA9ICEwKSkgOiAoalF1ZXJ5LmFqYXgoewogICAgICAgICAgICAgICAgdXJsOiB0LmpzRmlsZUxvY2F0aW9uICsgaSArIHQuZXh0ZW5zaW9uc19zdWZmaXggKyAiP3ZlcnNpb249IiArIHZlcnNpb24uY29yZSwKICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAic2NyaXB0IiwKICAgICAgICAgICAgICAgIGNhY2hlOiAhMCwKICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCJTbGlkZXIgUmV2b2x1dGlvbiA1LjAgRXJyb3IgISIpLCBjb25zb2xlLmVycm9yKCJGYWlsdXJlIGF0IExvYWRpbmc6IiArIGkgKyB0LmV4dGVuc2lvbnNfc3VmZml4ICsgIiBvbiBQYXRoOiIgKyB0LmpzRmlsZUxvY2F0aW9uKSwgY29uc29sZS5pbmZvKGUpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLCB2b2lkIGpRdWVyeSgiYm9keSIpLmRhdGEoaSwgITApKSkKICAgICAgICB9LAogICAgICAgIGdldE5lZWRlZFNjcmlwdHMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gbmV3IE9iamVjdCwKICAgICAgICAgICAgICAgIGEgPSB0Lm5hdmlnYXRpb247CiAgICAgICAgICAgIHJldHVybiBpLmtlbmJ1cm5zID0gITEsIGkucGFyYWxsYXggPSAhMSwgaS5jYXJvdXNlbCA9ICExLCBpLm5hdmlnYXRpb24gPSAhMSwgaS52aWRlb3MgPSAhMSwgaS5hY3Rpb25zID0gITEsIGkubGF5ZXJhbmltID0gITEsIGkubWlncmF0aW9uID0gITEsIGUuZGF0YSgidmVyc2lvbiIpICYmIGUuZGF0YSgidmVyc2lvbiIpLnRvU3RyaW5nKCkubWF0Y2goLzUuL2dpKSA/IChlLmZpbmQoImltZyIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAib24iID09IGpRdWVyeSh0aGlzKS5kYXRhKCJrZW5idXJucyIpICYmIChpLmtlbmJ1cm5zID0gITApCiAgICAgICAgICAgIH0pLCAoImNhcm91c2VsIiA9PSB0LnNsaWRlclR5cGUgfHwgIm9uIiA9PSBhLmtleWJvYXJkTmF2aWdhdGlvbiB8fCAib24iID09IGEubW91c2VTY3JvbGxOYXZpZ2F0aW9uIHx8ICJvbiIgPT0gYS50b3VjaC50b3VjaGVuYWJsZWQgfHwgYS5hcnJvd3MuZW5hYmxlIHx8IGEuYnVsbGV0cy5lbmFibGUgfHwgYS50aHVtYm5haWxzLmVuYWJsZSB8fCBhLnRhYnMuZW5hYmxlKSAmJiAoaS5uYXZpZ2F0aW9uID0gITApLCBlLmZpbmQoIi50cC1jYXB0aW9uLCAudHAtc3RhdGljLWxheWVyLCAucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgIChlLmRhdGEoInl0aWQiKSAhPSB1bmRlZmluZWQgfHwgMCA8IGUuZmluZCgiaWZyYW1lIikubGVuZ3RoICYmIDAgPCBlLmZpbmQoImlmcmFtZSIpLmF0dHIoInNyYyIpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigieW91dHViZSIpKSAmJiAoaS52aWRlb3MgPSAhMCksIChlLmRhdGEoInZpbWVvaWQiKSAhPSB1bmRlZmluZWQgfHwgMCA8IGUuZmluZCgiaWZyYW1lIikubGVuZ3RoICYmIDAgPCBlLmZpbmQoImlmcmFtZSIpLmF0dHIoInNyYyIpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigidmltZW8iKSkgJiYgKGkudmlkZW9zID0gITApLCBlLmRhdGEoImFjdGlvbnMiKSAhPT0gdW5kZWZpbmVkICYmIChpLmFjdGlvbnMgPSAhMCksIGkubGF5ZXJhbmltID0gITAKICAgICAgICAgICAgfSksIGUuZmluZCgibGkiKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgalF1ZXJ5KHRoaXMpLmRhdGEoImxpbmsiKSAmJiBqUXVlcnkodGhpcykuZGF0YSgibGluayIpICE9IHVuZGVmaW5lZCAmJiAoaS5sYXllcmFuaW0gPSAhMCwgaS5hY3Rpb25zID0gITApCiAgICAgICAgICAgIH0pLCAhaS52aWRlb3MgJiYgKDAgPCBlLmZpbmQoIi5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIikubGVuZ3RoIHx8IDAgPCBlLmZpbmQoIi50cC12aWRlb2xheWVyIikubGVuZ3RoIHx8IDAgPCBlLmZpbmQoIi50cC1hdWRpb2xheWVyIikubGVuZ3RoIHx8IDAgPCBlLmZpbmQoImlmcmFtZSIpLmxlbmd0aCB8fCAwIDwgZS5maW5kKCJ2aWRlbyIpLmxlbmd0aCkgJiYgKGkudmlkZW9zID0gITApLCAiY2Fyb3VzZWwiID09IHQuc2xpZGVyVHlwZSAmJiAoaS5jYXJvdXNlbCA9ICEwKSwgKCJvZmYiICE9PSB0LnBhcmFsbGF4LnR5cGUgfHwgdC52aWV3UG9ydC5lbmFibGUgfHwgInRydWUiID09IHQudmlld1BvcnQuZW5hYmxlIHx8ICJ0cnVlIiA9PT0gdC5zY3JvbGxlZmZlY3Qub24gfHwgdC5zY3JvbGxlZmZlY3Qub24pICYmIChpLnBhcmFsbGF4ID0gITApKSA6IChpLmtlbmJ1cm5zID0gITAsIGkucGFyYWxsYXggPSAhMCwgaS5jYXJvdXNlbCA9ICExLCBpLm5hdmlnYXRpb24gPSAhMCwgaS52aWRlb3MgPSAhMCwgaS5hY3Rpb25zID0gITAsIGkubGF5ZXJhbmltID0gITAsIGkubWlncmF0aW9uID0gITApLCAiaGVybyIgPT0gdC5zbGlkZXJUeXBlICYmIChpLmNhcm91c2VsID0gITEsIGkubmF2aWdhdGlvbiA9ICExKSwgd2luZG93LmxvY2F0aW9uLmhyZWYubWF0Y2goL2ZpbGU6L2dpKSAmJiAoaS5maWxlc3lzdGVtID0gITAsIHQuZmlsZXN5c3RlbSA9ICEwKSwgaS52aWRlb3MgJiYgdm9pZCAwID09PSBfUi5pc1ZpZGVvUGxheWluZyAmJiBsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24udmlkZW8iLCB0KSwgaS5jYXJvdXNlbCAmJiB2b2lkIDAgPT09IF9SLnByZXBhcmVDYXJvdXNlbCAmJiBsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24uY2Fyb3VzZWwiLCB0KSwgaS5jYXJvdXNlbCB8fCB2b2lkIDAgIT09IF9SLmFuaW1hdGVTbGlkZSB8fCBsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24uc2xpZGVhbmltcyIsIHQpLCBpLmFjdGlvbnMgJiYgdm9pZCAwID09PSBfUi5jaGVja0FjdGlvbnMgJiYgbEFqYXgoInJldm9sdXRpb24uZXh0ZW5zaW9uLmFjdGlvbnMiLCB0KSwgaS5sYXllcmFuaW0gJiYgdm9pZCAwID09PSBfUi5oYW5kbGVTdGF0aWNMYXllcnMgJiYgbEFqYXgoInJldm9sdXRpb24uZXh0ZW5zaW9uLmxheWVyYW5pbWF0aW9uIiwgdCksIGkua2VuYnVybnMgJiYgdm9pZCAwID09PSBfUi5zdG9wS2VuQnVybiAmJiBsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24ua2VuYnVybiIsIHQpLCBpLm5hdmlnYXRpb24gJiYgdm9pZCAwID09PSBfUi5jcmVhdGVOYXZpZ2F0aW9uICYmIGxBamF4KCJyZXZvbHV0aW9uLmV4dGVuc2lvbi5uYXZpZ2F0aW9uIiwgdCksIGkubWlncmF0aW9uICYmIHZvaWQgMCA9PT0gX1IubWlncmF0aW9uICYmIGxBamF4KCJyZXZvbHV0aW9uLmV4dGVuc2lvbi5taWdyYXRpb24iLCB0KSwgaS5wYXJhbGxheCAmJiB2b2lkIDAgPT09IF9SLmNoZWNrRm9yUGFyYWxsYXggJiYgbEFqYXgoInJldm9sdXRpb24uZXh0ZW5zaW9uLnBhcmFsbGF4IiwgdCksIHQuYWRkb25zICE9IHVuZGVmaW5lZCAmJiAwIDwgdC5hZGRvbnMubGVuZ3RoICYmIGpRdWVyeS5lYWNoKHQuYWRkb25zLCBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgICAib2JqZWN0IiA9PSB0eXBlb2YgaSAmJiBpLmZpbGVwcmVmaXggIT0gdW5kZWZpbmVkICYmIGxBamF4KGkuZmlsZXByZWZpeCwgdCkKICAgICAgICAgICAgfSksIGkKICAgICAgICB9LAogICAgICAgIHdhaXRGb3JTY3JpcHRzID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICB2YXIgdCA9ICEwLAogICAgICAgICAgICAgICAgYSA9IGkuc2NyaXB0c25lZWRlZDsKICAgICAgICAgICAgaS5hZGRvbnMgIT0gdW5kZWZpbmVkICYmIDAgPCBpLmFkZG9ucy5sZW5ndGggJiYgalF1ZXJ5LmVhY2goaS5hZGRvbnMsIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgICAgICJvYmplY3QiID09IHR5cGVvZiBpICYmIGkuaW5pdCAhPSB1bmRlZmluZWQgJiYgX1JbaS5pbml0XSA9PT0gdW5kZWZpbmVkICYmICh0ID0gITEpCiAgICAgICAgICAgIH0pLCBhLmZpbGVzeXN0ZW0gfHwgInVuZGVmaW5lZCIgIT0gdHlwZW9mIHB1bmNoZ3MgJiYgdCAmJiAoIWEua2VuYnVybnMgfHwgYS5rZW5idXJucyAmJiB2b2lkIDAgIT09IF9SLnN0b3BLZW5CdXJuKSAmJiAoIWEubmF2aWdhdGlvbiB8fCBhLm5hdmlnYXRpb24gJiYgdm9pZCAwICE9PSBfUi5jcmVhdGVOYXZpZ2F0aW9uKSAmJiAoIWEuY2Fyb3VzZWwgfHwgYS5jYXJvdXNlbCAmJiB2b2lkIDAgIT09IF9SLnByZXBhcmVDYXJvdXNlbCkgJiYgKCFhLnZpZGVvcyB8fCBhLnZpZGVvcyAmJiB2b2lkIDAgIT09IF9SLnJlc2V0VmlkZW8pICYmICghYS5hY3Rpb25zIHx8IGEuYWN0aW9ucyAmJiB2b2lkIDAgIT09IF9SLmNoZWNrQWN0aW9ucykgJiYgKCFhLmxheWVyYW5pbSB8fCBhLmxheWVyYW5pbSAmJiB2b2lkIDAgIT09IF9SLmhhbmRsZVN0YXRpY0xheWVycykgJiYgKCFhLm1pZ3JhdGlvbiB8fCBhLm1pZ3JhdGlvbiAmJiB2b2lkIDAgIT09IF9SLm1pZ3JhdGlvbikgJiYgKCFhLnBhcmFsbGF4IHx8IGEucGFyYWxsYXggJiYgdm9pZCAwICE9PSBfUi5jaGVja0ZvclBhcmFsbGF4KSAmJiAoYS5jYXJvdXNlbCB8fCAhYS5jYXJvdXNlbCAmJiB2b2lkIDAgIT09IF9SLmFuaW1hdGVTbGlkZSkgPyBlLnRyaWdnZXIoInNjcmlwdHNsb2FkZWQiKSA6IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB3YWl0Rm9yU2NyaXB0cyhlLCBpKQogICAgICAgICAgICB9LCA1MCkKICAgICAgICB9LAogICAgICAgIGdldFNjcmlwdExvY2F0aW9uID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgaSA9IG5ldyBSZWdFeHAoInRoZW1lcHVuY2gucmV2b2x1dGlvbi5taW4uanMiLCAiZ2kiKSwKICAgICAgICAgICAgICAgIHQgPSAiIjsKICAgICAgICAgICAgcmV0dXJuIGpRdWVyeSgic2NyaXB0IikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpLmF0dHIoInNyYyIpOwogICAgICAgICAgICAgICAgZSAmJiBlLm1hdGNoKGkpICYmICh0ID0gZSkKICAgICAgICAgICAgfSksIHQgPSAodCA9ICh0ID0gdC5yZXBsYWNlKCJqcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLm1pbi5qcyIsICIiKSkucmVwbGFjZSgianF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5qcyIsICIiKSkuc3BsaXQoIj8iKVswXQogICAgICAgIH0sCiAgICAgICAgc2V0Q3VyV2luUmFuZ2UgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHZhciB0ID0gOTk5OSwKICAgICAgICAgICAgICAgIGEgPSAwLAogICAgICAgICAgICAgICAgbiA9IDAsCiAgICAgICAgICAgICAgICByID0gMCwKICAgICAgICAgICAgICAgIG8gPSBqUXVlcnkod2luZG93KS53aWR0aCgpLAogICAgICAgICAgICAgICAgcyA9IGkgJiYgOTk5OSA9PSBlLnJlc3BvbnNpdmVMZXZlbHMgPyBlLnZpc2liaWxpdHlMZXZlbHMgOiBlLnJlc3BvbnNpdmVMZXZlbHM7CiAgICAgICAgICAgIHMgJiYgcy5sZW5ndGggJiYgalF1ZXJ5LmVhY2gocywgZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgICAgbyA8IGkgJiYgKDAgPT0gYSB8fCBpIDwgYSkgJiYgKHIgPSBlLCBhID0gdCA9IGkpLCBpIDwgbyAmJiBhIDwgaSAmJiAoYSA9IGksIG4gPSBlKQogICAgICAgICAgICB9KSwgYSA8IHQgJiYgKHIgPSBuKSwgaSA/IGUuZm9yY2VkV2luUmFuZ2UgPSByIDogZS5jdXJXaW5SYW5nZSA9IHIKICAgICAgICB9LAogICAgICAgIHByZXBhcmVPcHRpb25zID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICBpLmNhcm91c2VsLm1heFZpc2libGVJdGVtcyA9IGkuY2Fyb3VzZWwubWF4VmlzaWJsZUl0ZW1zIDwgMSA/IDk5OSA6IGkuY2Fyb3VzZWwubWF4VmlzaWJsZUl0ZW1zLCBpLmNhcm91c2VsLnZlcnRpY2FsX2FsaWduID0gInRvcCIgPT09IGkuY2Fyb3VzZWwudmVydGljYWxfYWxpZ24gPyAiMCUiIDogImJvdHRvbSIgPT09IGkuY2Fyb3VzZWwudmVydGljYWxfYWxpZ24gPyAiMTAwJSIgOiAiNTAlIgogICAgICAgIH0sCiAgICAgICAgZ1dpZGVyT3V0ID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICB2YXIgdCA9IDA7CiAgICAgICAgICAgIHJldHVybiBlLmZpbmQoaSkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgIWUuaGFzQ2xhc3MoInRwLWZvcmNlbm90dmlzaWJsZSIpICYmIHQgPCBlLm91dGVyV2lkdGgoKSAmJiAodCA9IGUub3V0ZXJXaWR0aCgpKQogICAgICAgICAgICB9KSwgdAogICAgICAgIH0sCiAgICAgICAgaW5pdFNsaWRlciA9IGZ1bmN0aW9uKGNvbnRhaW5lciwgb3B0KSB7CiAgICAgICAgICAgIGlmIChjb250YWluZXIgPT0gdW5kZWZpbmVkKSByZXR1cm4gITE7CiAgICAgICAgICAgIGNvbnRhaW5lci5kYXRhKCJhaW1nIikgIT0gdW5kZWZpbmVkICYmICgiZW5hYmxlZCIgPT0gY29udGFpbmVyLmRhdGEoImFpZTgiKSAmJiBfUi5pc0lFKDgpIHx8ICJlbmFibGVkIiA9PSBjb250YWluZXIuZGF0YSgiYW1vYmlsZSIpICYmIF9JU00pICYmIGNvbnRhaW5lci5odG1sKCc8aW1nIGNsYXNzPSJ0cC1zbGlkZXItYWx0ZXJuYXRpdmUtaW1hZ2UiIHNyYz0iJyArIGNvbnRhaW5lci5kYXRhKCJhaW1nIikgKyAnIj4nKSwgY29udGFpbmVyLmZpbmQoIj51bCIpLmFkZENsYXNzKCJ0cC1yZXZzbGlkZXItbWFpbnVsIiksIG9wdC5jID0gY29udGFpbmVyLCBvcHQudWwgPSBjb250YWluZXIuZmluZCgiLnRwLXJldnNsaWRlci1tYWludWwiKSwgb3B0LnVsLmZpbmQoIj5saSIpLmVhY2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIGkgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICAib24iID09IGkuZGF0YSgiaGlkZXNsaWRlb25tb2JpbGUiKSAmJiBfSVNNICYmIGkucmVtb3ZlKCksIChpLmRhdGEoImludmlzaWJsZSIpIHx8ICEwID09PSBpLmRhdGEoImludmlzaWJsZSIpKSAmJiAoaS5hZGRDbGFzcygidHAtaW52aXNpYmxlLXNsaWRlIiksIGkuYXBwZW5kVG8ob3B0LnVsKSkKICAgICAgICAgICAgfSksIG9wdC5hZGRvbnMgIT0gdW5kZWZpbmVkICYmIDAgPCBvcHQuYWRkb25zLmxlbmd0aCAmJiBqUXVlcnkuZWFjaChvcHQuYWRkb25zLCBmdW5jdGlvbihpLCBvYmopIHsKICAgICAgICAgICAgICAgICJvYmplY3QiID09IHR5cGVvZiBvYmogJiYgb2JqLmluaXQgIT0gdW5kZWZpbmVkICYmIF9SW29iai5pbml0XShldmFsKG9iai5wYXJhbXMpKQogICAgICAgICAgICB9KSwgb3B0LmNpZCA9IGNvbnRhaW5lci5hdHRyKCJpZCIpLCBvcHQudWwuY3NzKHsKICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICJ2aXNpYmxlIgogICAgICAgICAgICB9KSwgb3B0LnNsaWRlYW1vdW50ID0gb3B0LnVsLmZpbmQoIj5saSIpLm5vdCgiLnRwLWludmlzaWJsZS1zbGlkZSIpLmxlbmd0aCwgb3B0LnJlYWxzbGlkZWFtb3VudCA9IG9wdC51bC5maW5kKCI+bGkiKS5sZW5ndGgsIG9wdC5zbGF5ZXJzID0gY29udGFpbmVyLmZpbmQoIi50cC1zdGF0aWMtbGF5ZXJzIiksIG9wdC5zbGF5ZXJzLmRhdGEoImluZGV4IiwgInN0YXRpY2xheWVycyIpLCAxICE9IG9wdC53YWl0Rm9ySW5pdCAmJiAoY29udGFpbmVyWzBdLm9wdCA9IG9wdCwgcnVuU2xpZGVyKGNvbnRhaW5lciwgb3B0KSkKICAgICAgICB9LAogICAgICAgIG9uRnVsbFNjcmVlbkNoYW5nZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBqUXVlcnkoImJvZHkiKS5kYXRhKCJycy1mdWxsU2NyZWVuTW9kZSIsICFqUXVlcnkoImJvZHkiKS5kYXRhKCJycy1mdWxsU2NyZWVuTW9kZSIpKSwgalF1ZXJ5KCJib2R5IikuZGF0YSgicnMtZnVsbFNjcmVlbk1vZGUiKSAmJiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgalF1ZXJ5KHdpbmRvdykudHJpZ2dlcigicmVzaXplIikKICAgICAgICAgICAgfSwgMjAwKQogICAgICAgIH0sCiAgICAgICAgcnVuU2xpZGVyID0gZnVuY3Rpb24odCwgeCkgewogICAgICAgICAgICBpZiAoeC5zbGlkZXJpc3J1bm5pbmcgPSAhMCwgeC51bC5maW5kKCI+bGkiKS5lYWNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICBqUXVlcnkodGhpcykuZGF0YSgib3JpZ2luYWxpbmRleCIsIGUpCiAgICAgICAgICAgICAgICB9KSwgeC5hbGxsaSA9IHgudWwuZmluZCgiPmxpIiksIGpRdWVyeS5lYWNoKHguYWxsbGksIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgICAgICAgICAoaSA9IGpRdWVyeShpKSkuZGF0YSgib3JpZ2luZGV4IiwgaS5pbmRleCgpKQogICAgICAgICAgICAgICAgfSksIHgubGkgPSB4LnVsLmZpbmQoIj5saSIpLm5vdCgiLnRwLWludmlzaWJsZS1zbGlkZSIpLCAib24iID09IHguc2h1ZmZsZSkgewogICAgICAgICAgICAgICAgdmFyIGUgPSBuZXcgT2JqZWN0LAogICAgICAgICAgICAgICAgICAgIGkgPSB4LnVsLmZpbmQoIj5saTpmaXJzdC1jaGlsZCIpOwogICAgICAgICAgICAgICAgZS5mc3RyYW5zaXRpb24gPSBpLmRhdGEoImZzdHJhbnNpdGlvbiIpLCBlLmZzbWFzdGVyc3BlZWQgPSBpLmRhdGEoImZzbWFzdGVyc3BlZWQiKSwgZS5mc3Nsb3RhbW91bnQgPSBpLmRhdGEoImZzc2xvdGFtb3VudCIpOwogICAgICAgICAgICAgICAgZm9yICh2YXIgYSA9IDA7IGEgPCB4LnNsaWRlYW1vdW50OyBhKyspIHsKICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIHguc2xpZGVhbW91bnQpOwogICAgICAgICAgICAgICAgICAgIHgudWwuZmluZCgiPmxpOmVxKCIgKyBuICsgIikiKS5wcmVwZW5kVG8oeC51bCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHZhciByID0geC51bC5maW5kKCI+bGk6Zmlyc3QtY2hpbGQiKTsKICAgICAgICAgICAgICAgIHIuZGF0YSgiZnN0cmFuc2l0aW9uIiwgZS5mc3RyYW5zaXRpb24pLCByLmRhdGEoImZzbWFzdGVyc3BlZWQiLCBlLmZzbWFzdGVyc3BlZWQpLCByLmRhdGEoImZzc2xvdGFtb3VudCIsIGUuZnNzbG90YW1vdW50KSwgeC5hbGxsaSA9IHgudWwuZmluZCgiPmxpIiksIHgubGkgPSB4LnVsLmZpbmQoIj5saSIpLm5vdCgiLnRwLWludmlzaWJsZS1zbGlkZSIpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHguaW5saSA9IHgudWwuZmluZCgiPmxpLnRwLWludmlzaWJsZS1zbGlkZSIpLCB4LnRodW1icyA9IG5ldyBBcnJheSwgeC5zbG90cyA9IDQsIHguYWN0ID0gLTEsIHguZmlyc3RzdGFydCA9IDEsIHgubG9hZHF1ZXVlID0gbmV3IEFycmF5LCB4LnN5bmNsb2FkID0gMCwgeC5jb253ID0gdC53aWR0aCgpLCB4LmNvbmggPSB0LmhlaWdodCgpLCAxIDwgeC5yZXNwb25zaXZlTGV2ZWxzLmxlbmd0aCA/IHgucmVzcG9uc2l2ZUxldmVsc1swXSA9IDk5OTkgOiB4LnJlc3BvbnNpdmVMZXZlbHMgPSA5OTk5LCBqUXVlcnkuZWFjaCh4LmFsbGxpLCBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSAoaSA9IGpRdWVyeShpKSkuZmluZCgiLnJldi1zbGlkZWJnIikgfHwgaS5maW5kKCJpbWciKS5maXJzdCgpLAogICAgICAgICAgICAgICAgICAgICAgICBhID0gMDsKICAgICAgICAgICAgICAgICAgICBpLmFkZENsYXNzKCJ0cC1yZXZzbGlkZXItc2xpZGVzbGkiKSwgaS5kYXRhKCJpbmRleCIpID09PSB1bmRlZmluZWQgJiYgaS5kYXRhKCJpbmRleCIsICJycy0iICsgTWF0aC5yb3VuZCg5OTk5OTkgKiBNYXRoLnJhbmRvbSgpKSk7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBuZXcgT2JqZWN0OwogICAgICAgICAgICAgICAgICAgIGZvciAobi5wYXJhbXMgPSBuZXcgQXJyYXksIG4uaWQgPSBpLmRhdGEoImluZGV4IiksIG4uc3JjID0gaS5kYXRhKCJ0aHVtYiIpICE9PSB1bmRlZmluZWQgPyBpLmRhdGEoInRodW1iIikgOiB0LmRhdGEoImxhenlsb2FkIikgIT09IHVuZGVmaW5lZCA/IHQuZGF0YSgibGF6eWxvYWQiKSA6IHQuYXR0cigic3JjIiksIGkuZGF0YSgidGl0bGUiKSAhPT0gdW5kZWZpbmVkICYmIG4ucGFyYW1zLnB1c2goewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbTogUmVnRXhwKCJcXHtcXHt0aXRsZVxcfVxcfSIsICJnIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bzogaS5kYXRhKCJ0aXRsZSIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBpLmRhdGEoImRlc2NyaXB0aW9uIikgIT09IHVuZGVmaW5lZCAmJiBuLnBhcmFtcy5wdXNoKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb206IFJlZ0V4cCgiXFx7XFx7ZGVzY3JpcHRpb25cXH1cXH0iLCAiZyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG86IGkuZGF0YSgiZGVzY3JpcHRpb24iKQogICAgICAgICAgICAgICAgICAgICAgICB9KSwgYSA9IDE7IGEgPD0gMTA7IGErKykgaS5kYXRhKCJwYXJhbSIgKyBhKSAhPT0gdW5kZWZpbmVkICYmIG4ucGFyYW1zLnB1c2goewogICAgICAgICAgICAgICAgICAgICAgICBmcm9tOiBSZWdFeHAoIlxce1xce3BhcmFtIiArIGEgKyAiXFx9XFx9IiwgImciKSwKICAgICAgICAgICAgICAgICAgICAgICAgdG86IGkuZGF0YSgicGFyYW0iICsgYSkKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBpZiAoeC50aHVtYnMucHVzaChuKSwgaS5kYXRhKCJsaW5rIikgIT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByID0gaS5kYXRhKCJsaW5rIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvID0gaS5kYXRhKCJ0YXJnZXQiKSB8fCAiX3NlbGYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcyA9ICJiYWNrIiA9PT0gaS5kYXRhKCJzbGlkZWluZGV4IikgPyAwIDogNjAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsID0gaS5kYXRhKCJsaW5rdG9zbGlkZSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZCA9IGw7CiAgICAgICAgICAgICAgICAgICAgICAgIGwgIT0gdW5kZWZpbmVkICYmICJuZXh0IiAhPSBsICYmICJwcmV2IiAhPSBsICYmIHguYWxsbGkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5kYXRhKCJvcmlnaW5kZXgiKSArIDEgPT0gZCAmJiAobCA9IGUuZGF0YSgiaW5kZXgiKSkKICAgICAgICAgICAgICAgICAgICAgICAgfSksICJzbGlkZSIgIT0gciAmJiAobCA9ICJubyIpOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgYyA9ICc8ZGl2IGNsYXNzPSJ0cC1jYXB0aW9uIHNsaWRlbGluayIgc3R5bGU9ImN1cnNvcjpwb2ludGVyO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDonICsgcyArICc7IiBkYXRhLXg9ImNlbnRlciIgZGF0YS15PSJjZW50ZXIiIGRhdGEtYmFzZWFsaWduPSJzbGlkZSIgJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUgPSAnIGRhdGEtZnJhbWVzPVwnW3siZGVsYXkiOjAsInNwZWVkIjoxMDAsImZyYW1lIjoiMCIsImZyb20iOiJvcGFjaXR5OjA7IiwidG8iOiJvOjE7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifSx7ImRlbGF5Ijoid2FpdCIsInNwZWVkIjozMDAsImZyYW1lIjoiOTk5IiwidG8iOiJvcGFjaXR5OjA7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifV1cJyc7CiAgICAgICAgICAgICAgICAgICAgICAgIGMgPSAibm8iID09IGwgPyBjICsgdSArICIgPiIgOiBjICsgImRhdGEtYWN0aW9ucz0nIiArICgic2Nyb2xsX3VuZGVyIiA9PT0gbCA/ICdbeyJldmVudCI6ImNsaWNrIiwiYWN0aW9uIjoic2Nyb2xsYmVsb3ciLCJvZmZzZXQiOiIxMDBweCIsImRlbGF5IjoiMCJ9XScgOiAicHJldiIgPT09IGwgPyAnW3siZXZlbnQiOiJjbGljayIsImFjdGlvbiI6Imp1bXB0b3NsaWRlIiwic2xpZGUiOiJwcmV2IiwiZGVsYXkiOiIwLjIifV0nIDogIm5leHQiID09PSBsID8gJ1t7ImV2ZW50IjoiY2xpY2siLCJhY3Rpb24iOiJqdW1wdG9zbGlkZSIsInNsaWRlIjoibmV4dCIsImRlbGF5IjoiMC4yIn1dJyA6ICdbeyJldmVudCI6ImNsaWNrIiwiYWN0aW9uIjoianVtcHRvc2xpZGUiLCJzbGlkZSI6IicgKyBsICsgJyIsImRlbGF5IjoiMC4yIn1dJykgKyAiJyIgKyB1ICsgIiA+IiwgYyArPSAnPGEgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jayInLCBjID0gInNsaWRlIiAhPSByID8gYyArICcgdGFyZ2V0PSInICsgbyArICciIGhyZWY9IicgKyByICsgJyInIDogYywgYyArPSAnPjxzcGFuIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2siPjwvc3Bhbj48L2E+PC9kaXY+JywgaS5hcHBlbmQoYykKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KSwgeC5ybGUgPSB4LnJlc3BvbnNpdmVMZXZlbHMubGVuZ3RoIHx8IDEsIHguZ3JpZHdpZHRoID0gY0FycmF5KHguZ3JpZHdpZHRoLCB4LnJsZSksIHguZ3JpZGhlaWdodCA9IGNBcnJheSh4LmdyaWRoZWlnaHQsIHgucmxlKSwgIm9uIiA9PSB4LnNpbXBsaWZ5QWxsICYmIChfUi5pc0lFKDgpIHx8IF9SLmlPU1ZlcnNpb24oKSkgJiYgKHQuZmluZCgiLnRwLWNhcHRpb24iKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgICAgIGUucmVtb3ZlQ2xhc3MoImN1c3RvbWluIGN1c3RvbW91dCIpLmFkZENsYXNzKCJmYWRlaW4gZmFkZW91dCIpLCBlLmRhdGEoInNwbGl0aW4iLCAiIiksIGUuZGF0YSgic3BlZWQiLCA0MDApCiAgICAgICAgICAgICAgICB9KSwgeC5hbGxsaS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgICAgIGUuZGF0YSgidHJhbnNpdGlvbiIsICJmYWRlIiksIGUuZGF0YSgibWFzdGVyc3BlZWQiLCA1MDApLCBlLmRhdGEoInNsb3RhbW91bnQiLCAxKSwgKGUuZmluZCgiLnJldi1zbGlkZWJnIikgfHwgZS5maW5kKCI+aW1nIikuZmlyc3QoKSkuZGF0YSgia2VuYnVybnMiLCAib2ZmIikKICAgICAgICAgICAgICAgIH0pKSwgeC5kZXNrdG9wID0gIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goLyhpUGhvbmV8aVBvZHxpUGFkfEFuZHJvaWR8QmxhY2tCZXJyeXxCQjEwfG1vYml8dGFibGV0fG9wZXJhIG1pbml8bmV4dXMgNykvaSksIHguYXV0b0hlaWdodCA9ICJmdWxsc2NyZWVuIiA9PSB4LnNsaWRlckxheW91dCA/ICJvbiIgOiB4LmF1dG9IZWlnaHQsICJmdWxsd2lkdGgiID09IHguc2xpZGVyTGF5b3V0ICYmICJvZmYiID09IHguYXV0b0hlaWdodCAmJiB0LmNzcyh7CiAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiB4LmdyaWRoZWlnaHRbeC5jdXJXaW5SYW5nZV0gKyAicHgiCiAgICAgICAgICAgICAgICB9KSwgImF1dG8iICE9IHguc2xpZGVyTGF5b3V0ICYmIDAgPT0gdC5jbG9zZXN0KCIuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIiKS5sZW5ndGggJiYgKCJmdWxsc2NyZWVuIiAhPT0geC5zbGlkZXJMYXlvdXQgfHwgIm9uIiAhPSB4LmZ1bGxTY3JlZW5BdXRvV2lkdGgpKSB7CiAgICAgICAgICAgICAgICB2YXIgbyA9IHQucGFyZW50KCksCiAgICAgICAgICAgICAgICAgICAgcyA9IG8uY3NzKCJtYXJnaW5Cb3R0b20iKSwKICAgICAgICAgICAgICAgICAgICBsID0gby5jc3MoIm1hcmdpblRvcCIpLAogICAgICAgICAgICAgICAgICAgIGQgPSB0LmF0dHIoImlkIikgKyAiX2ZvcmNlZnVsbHdpZHRoIjsKICAgICAgICAgICAgICAgIHMgPSBzID09PSB1bmRlZmluZWQgPyAwIDogcywgbCA9IGwgPT09IHVuZGVmaW5lZCA/IDAgOiBsLCBvLndyYXAoJzxkaXYgY2xhc3M9ImZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIiBpZD0iJyArIGQgKyAnIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6YXV0bzttYXJnaW4tdG9wOicgKyBsICsgIjttYXJnaW4tYm90dG9tOiIgKyBzICsgJyI+PC9kaXY+JyksIHQuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIikuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1mdWxsd2lkdGgtZm9yY2VyIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6JyArIHQuaGVpZ2h0KCkgKyAncHgiPjwvZGl2PicpLCB0LnBhcmVudCgpLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgbWFyZ2luVG9wOiAiMHB4IiwKICAgICAgICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206ICIwcHgiCiAgICAgICAgICAgICAgICB9KSwgdC5wYXJlbnQoKS5jc3MoewogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICh4LnNoYWRvdyAhPT0gdW5kZWZpbmVkICYmIDAgPCB4LnNoYWRvdyAmJiAodC5wYXJlbnQoKS5hZGRDbGFzcygidHAtc2hhZG93IiArIHguc2hhZG93KSwgdC5wYXJlbnQoKS5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLXNoYWRvd2NvdmVyIj48L2Rpdj4nKSwgdC5wYXJlbnQoKS5maW5kKCIudHAtc2hhZG93Y292ZXIiKS5jc3MoewogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdC5wYXJlbnQoKS5jc3MoImJhY2tncm91bmRDb2xvciIpLAogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogdC5wYXJlbnQoKS5jc3MoImJhY2tncm91bmRJbWFnZSIpCiAgICAgICAgICAgICAgICB9KSksIHNldEN1cldpblJhbmdlKHgpLCBzZXRDdXJXaW5SYW5nZSh4LCAhMCksICF0Lmhhc0NsYXNzKCJyZXZzbGlkZXItaW5pdGlhbGlzZWQiKSkgewogICAgICAgICAgICAgICAgdC5hZGRDbGFzcygicmV2c2xpZGVyLWluaXRpYWxpc2VkIiksIHQuYWRkQ2xhc3MoInRwLXNpbXBsZXJlc3BvbnNpdmUiKSwgdC5hdHRyKCJpZCIpID09IHVuZGVmaW5lZCAmJiB0LmF0dHIoImlkIiwgInJldnNsaWRlci0iICsgTWF0aC5yb3VuZCgxZTMgKiBNYXRoLnJhbmRvbSgpICsgNSkpLCBjaGVja0lEUyh4LCB0KSwgeC5maXJlZm94MTMgPSAhMSwgeC5pZSA9ICFqUXVlcnkuc3VwcG9ydC5vcGFjaXR5LCB4LmllOSA9IDkgPT0gZG9jdW1lbnQuZG9jdW1lbnRNb2RlLCB4Lm9yaWdjZCA9IHguZGVsYXk7CiAgICAgICAgICAgICAgICB2YXIgYyA9IGpRdWVyeS5mbi5qcXVlcnkuc3BsaXQoIi4iKSwKICAgICAgICAgICAgICAgICAgICB1ID0gcGFyc2VGbG9hdChjWzBdKSwKICAgICAgICAgICAgICAgICAgICBwID0gcGFyc2VGbG9hdChjWzFdKTsKICAgICAgICAgICAgICAgIHBhcnNlRmxvYXQoY1syXSB8fCAiMCIpLCAxID09IHUgJiYgcCA8IDcgJiYgdC5odG1sKCc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZzo0MHB4IDBweDsgZm9udC1zaXplOjIwcHg7IGNvbG9yOiM5OTIyMjI7Ij4gVGhlIEN1cnJlbnQgVmVyc2lvbiBvZiBqUXVlcnk6JyArIGMgKyAiIDxicj5QbGVhc2UgdXBkYXRlIHlvdXIgalF1ZXJ5IFZlcnNpb24gdG8gbWluLiAxLjcgaW4gQ2FzZSB5b3Ugd2lzaCB0byB1c2UgdGhlIFJldm9sdXRpb24gU2xpZGVyIFBsdWdpbjwvZGl2PiIpLCAxIDwgdSAmJiAoeC5pZSA9ICExKTsKICAgICAgICAgICAgICAgIHZhciBqID0gbmV3IE9iamVjdDsKICAgICAgICAgICAgICAgIGouYWRkZWR5dCA9IDAsIGouYWRkZWR2aW0gPSAwLCBqLmFkZGVkdmlkID0gMCwgeC5zY3JvbGxlZmZlY3Qub24gJiYgKHguc2Nyb2xsZWZmZWN0LmxheWVycyA9IG5ldyBBcnJheSksIHQuZmluZCgiLnRwLWNhcHRpb24sIC5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIikuZWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBqUXVlcnkodGhpcyksCiAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBuLmRhdGEoKSwKICAgICAgICAgICAgICAgICAgICAgICAgdCA9IGkuYXV0b3BsYXlvbmx5Zmlyc3R0aW1lLAogICAgICAgICAgICAgICAgICAgICAgICBhID0gaS5hdXRvcGxheSwKICAgICAgICAgICAgICAgICAgICAgICAgciA9IChpLnZpZGVvbXA0ICE9PSB1bmRlZmluZWQgfHwgaS52aWRlb3dlYm0gIT09IHVuZGVmaW5lZCB8fCBpLnZpZGVvb2d2LCBuLmhhc0NsYXNzKCJ0cC1hdWRpb2xheWVyIikpLAogICAgICAgICAgICAgICAgICAgICAgICBvID0gaS52aWRlb2xvb3AsCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSAhMCwKICAgICAgICAgICAgICAgICAgICAgICAgbCA9ICExOwogICAgICAgICAgICAgICAgICAgIGkuc3RhcnRjbGFzc2VzID0gbi5hdHRyKCJjbGFzcyIpLCBpLmlzcGFyYWxsYXhsYXllciA9IDAgPD0gaS5zdGFydGNsYXNzZXMuaW5kZXhPZigicnMtcGFyYWxsYXgiKSwgbi5oYXNDbGFzcygidHAtc3RhdGljLWxheWVyIikgJiYgX1IuaGFuZGxlU3RhdGljTGF5ZXJzICYmIChfUi5oYW5kbGVTdGF0aWNMYXllcnMobiwgeCksIHguc2Nyb2xsZWZmZWN0Lm9uICYmICgib24iID09PSB4LnNjcm9sbGVmZmVjdC5vbl9wYXJhbGxheF9zdGF0aWNfbGF5ZXJzICYmIGkuaXNwYXJhbGxheGxheWVyIHx8ICJvbiIgPT09IHguc2Nyb2xsZWZmZWN0Lm9uX3N0YXRpY19sYXllcnMgJiYgIWkuaXNwYXJhbGxheGxheWVyKSAmJiAobCA9ICEwKSwgcyA9ICExKTsKICAgICAgICAgICAgICAgICAgICB2YXIgZCA9IG4uZGF0YSgibm9wb3N0ZXJvbm1vYmlsZSIpIHx8IG4uZGF0YSgibm9Qb3N0ZXJPbk1vYmlsZSIpIHx8IG4uZGF0YSgicG9zdGVyb25tb2JpbGUiKSB8fCBuLmRhdGEoInBvc3Rlck9uTW9iaWxlIikgfHwgbi5kYXRhKCJwb3N0ZXJPbk1PYmlsZSIpOwogICAgICAgICAgICAgICAgICAgIG4uZGF0YSgibm9wb3N0ZXJvbm1vYmlsZSIsIGQpOwogICAgICAgICAgICAgICAgICAgIHZhciBjID0gMDsKICAgICAgICAgICAgICAgICAgICBpZiAobi5maW5kKCJpZnJhbWUiKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGpRdWVyeSh0aGlzKSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksIGMrKwogICAgICAgICAgICAgICAgICAgICAgICB9KSwgMCA8IGMgJiYgbi5kYXRhKCJpZnJhbWVzIiwgITApLCBuLmhhc0NsYXNzKCJ0cC1jYXB0aW9uIikpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHUgPSBuLmhhc0NsYXNzKCJzbGlkZWxpbmsiKSA/ICJ3aWR0aDoxMDAlICFpbXBvcnRhbnQ7aGVpZ2h0OjEwMCUgIWltcG9ydGFudDsiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwID0gbi5kYXRhKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmID0gIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoID0gcC50eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZyA9ICJyb3ciID09PSBoIHx8ICJjb2x1bW4iID09PSBoID8gInJlbGF0aXZlIiA6ICJhYnNvbHV0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ID0gIiI7CiAgICAgICAgICAgICAgICAgICAgICAgICJyb3ciID09PSBoID8gKG4uYWRkQ2xhc3MoInJldl9yb3ciKS5yZW1vdmVDbGFzcygidHAtcmVzaXplbWUiKSwgdiA9ICJyZXZfcm93X3dyYXAiKSA6ICJjb2x1bW4iID09PSBoID8gKGYgPSBwLnZlcnRpY2FsYWxpZ24gPT09IHVuZGVmaW5lZCA/ICIgdmVydGljYWwtYWxpZ246Ym90dG9tOyIgOiAiIHZlcnRpY2FsLWFsaWduOiIgKyBwLnZlcnRpY2FsYWxpZ24gKyAiOyIsIHYgPSAicmV2X2NvbHVtbiIsIG4uYWRkQ2xhc3MoInJldl9jb2x1bW5faW5uZXIiKS5yZW1vdmVDbGFzcygidHAtcmVzaXplbWUiKSwgbi5kYXRhKCJ3aWR0aCIsICJhdXRvIiksIHB1bmNoZ3MuVHdlZW5MaXRlLnNldChuLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogImF1dG8iCiAgICAgICAgICAgICAgICAgICAgICAgIH0pKSA6ICJncm91cCIgPT09IGggJiYgbi5yZW1vdmVDbGFzcygidHAtcmVzaXplbWUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG0gPSAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkgPSAiIjsKICAgICAgICAgICAgICAgICAgICAgICAgInJvdyIgIT09IGggJiYgImdyb3VwIiAhPT0gaCAmJiAiY29sdW1uIiAhPT0gaCA/IChtID0gImRpc3BsYXk6IiArIG4uY3NzKCJkaXNwbGF5IikgKyAiOyIsIDAgPCBuLmNsb3Nlc3QoIi5yZXZfY29sdW1uIikubGVuZ3RoID8gKG4uYWRkQ2xhc3MoInJldl9sYXllcl9pbl9jb2x1bW4iKSwgcyA9ICExKSA6IDAgPCBuLmNsb3Nlc3QoIi5yZXZfZ3JvdXAiKS5sZW5ndGggJiYgKG4uYWRkQ2xhc3MoInJldl9sYXllcl9pbl9ncm91cCIpLCBzID0gITEpKSA6ICJjb2x1bW4iID09PSBoICYmIChzID0gITEpLCBwLndyYXBwZXJfY2xhc3MgIT09IHVuZGVmaW5lZCAmJiAodiA9IHYgKyAiICIgKyBwLndyYXBwZXJfY2xhc3MpLCBwLndyYXBwZXJfaWQgIT09IHVuZGVmaW5lZCAmJiAoeSA9ICdpZD0iJyArIHAud3JhcHBlcl9pZCArICciJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB3ID0gIiI7CiAgICAgICAgICAgICAgICAgICAgICAgIG4uaGFzQ2xhc3MoInRwLW5vLWV2ZW50cyIpICYmICh3ID0gIjtwb2ludGVyLWV2ZW50czpub25lIiksIG4ud3JhcCgiPGRpdiAiICsgeSArICcgY2xhc3M9InRwLXBhcmFsbGF4LXdyYXAgJyArIHYgKyAnIiBzdHlsZT0iJyArIGYgKyAiICIgKyB1ICsgInBvc2l0aW9uOiIgKyBnICsgIjsiICsgbSArICI7dmlzaWJpbGl0eTpoaWRkZW4iICsgdyArICciPjxkaXYgY2xhc3M9InRwLWxvb3Atd3JhcCIgc3R5bGU9IicgKyB1ICsgInBvc2l0aW9uOiIgKyBnICsgIjsiICsgbSArICc7Ij48ZGl2IGNsYXNzPSJ0cC1tYXNrLXdyYXAiIHN0eWxlPSInICsgdSArICJwb3NpdGlvbjoiICsgZyArICI7IiArIG0gKyAnOyIgPjwvZGl2PjwvZGl2PjwvZGl2PicpLCBzICYmIHguc2Nyb2xsZWZmZWN0Lm9uICYmICgib24iID09PSB4LnNjcm9sbGVmZmVjdC5vbl9wYXJhbGxheF9sYXllcnMgJiYgaS5pc3BhcmFsbGF4bGF5ZXIgfHwgIm9uIiA9PT0geC5zY3JvbGxlZmZlY3Qub25fbGF5ZXJzICYmICFpLmlzcGFyYWxsYXhsYXllcikgJiYgeC5zY3JvbGxlZmZlY3QubGF5ZXJzLnB1c2gobi5wYXJlbnQoKSksIGwgJiYgeC5zY3JvbGxlZmZlY3QubGF5ZXJzLnB1c2gobi5wYXJlbnQoKSksICJjb2x1bW4iID09PSBoICYmIChuLmFwcGVuZCgnPGRpdiBjbGFzcz0icmV2X2NvbHVtbl9iZyByZXZfY29sdW1uX2JnX21hbl9zaXplZCIgc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIj48L2Rpdj4nKSwgbi5jbG9zZXN0KCIudHAtcGFyYWxsYXgtd3JhcCIpLmFwcGVuZCgnPGRpdiBjbGFzcz0icmV2X2NvbHVtbl9iZyByZXZfY29sdW1uX2JnX2F1dG9fc2l6ZWQiPjwvZGl2PicpKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGIgPSBuLmNsb3Nlc3QoIi50cC1sb29wLXdyYXAiKTsKICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5LmVhY2goWyJwZW5kdWx1bSIsICJyb3RhdGUiLCAic2xpZGVsb29wIiwgInB1bHNlIiwgIndhdmUiXSwgZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBuLmZpbmQoIi5ycy0iICsgaSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSA9IHQuZGF0YSgpIHx8ICIiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIgIT0gYSAmJiAoYi5kYXRhKGEpLCBiLmFkZENsYXNzKCJycy0iICsgaSksIHQuY2hpbGRyZW4oMCkudW53cmFwKCksIG4uZGF0YSgibG9vcGFuaW1hdGlvbiIsICJvbiIpKQogICAgICAgICAgICAgICAgICAgICAgICB9KSwgbi5hdHRyKCJpZCIpID09PSB1bmRlZmluZWQgJiYgbi5hdHRyKCJpZCIsICJsYXllci0iICsgTWF0aC5yb3VuZCg5OTk5OTk5OTkgKiBNYXRoLnJhbmRvbSgpKSksIGNoZWNrSURTKHgsIG4pLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobiwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogImhpZGRlbiIKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgdmFyIF8gPSBuLmRhdGEoImFjdGlvbnMiKTsKICAgICAgICAgICAgICAgICAgICBfICE9PSB1bmRlZmluZWQgJiYgX1IuY2hlY2tBY3Rpb25zKG4sIHgsIF8pLCBjaGVja0hvdmVyRGVwZW5kZW5jaWVzKG4sIHgpLCBfUi5jaGVja1ZpZGVvQXBpcyAmJiAoaiA9IF9SLmNoZWNrVmlkZW9BcGlzKG4sIHgsIGopKSwgciB8fCAxICE9IHQgJiYgInRydWUiICE9IHQgJiYgIjFzdHRpbWUiICE9IGEgfHwgImxvb3BhbmRub3NsaWRlc3RvcCIgPT0gbyB8fCBuLmNsb3Nlc3QoImxpLnRwLXJldnNsaWRlci1zbGlkZXNsaSIpLmFkZENsYXNzKCJycy1wYXVzZS10aW1lci1vbmNlIiksIHIgfHwgMSAhPSBhICYmICJ0cnVlIiAhPSBhICYmICJvbiIgIT0gYSAmJiAibm8xc3R0aW1lIiAhPSBhIHx8ICJsb29wYW5kbm9zbGlkZXN0b3AiID09IG8gfHwgbi5jbG9zZXN0KCJsaS50cC1yZXZzbGlkZXItc2xpZGVzbGkiKS5hZGRDbGFzcygicnMtcGF1c2UtdGltZXItYWx3YXlzIikKICAgICAgICAgICAgICAgIH0pLCB0WzBdLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB0LnRyaWdnZXIoInRwLW1vdXNlZW50ZXIiKSwgeC5vdmVyY29udGFpbmVyID0gITAKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBwYXNzaXZlOiAhMAogICAgICAgICAgICAgICAgfSksIHRbMF0uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdmVyIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdC50cmlnZ2VyKCJ0cC1tb3VzZW92ZXIiKSwgeC5vdmVyY29udGFpbmVyID0gITAKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBwYXNzaXZlOiAhMAogICAgICAgICAgICAgICAgfSksIHRbMF0uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHQudHJpZ2dlcigidHAtbW91c2VsZWZ0IiksIHgub3ZlcmNvbnRhaW5lciA9ICExCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgcGFzc2l2ZTogITAKICAgICAgICAgICAgICAgIH0pLCB0LmZpbmQoIi50cC1jYXB0aW9uIHZpZGVvIikuZWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgaS5yZW1vdmVDbGFzcygidmlkZW8tanMgdmpzLWRlZmF1bHQtc2tpbiIpLCBpLmF0dHIoInByZWxvYWQiLCAiIiksIGkuY3NzKHsKICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogIm5vbmUiCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0pLCAic3RhbmRhcmQiICE9PSB4LnNsaWRlclR5cGUgJiYgKHgubGF6eVR5cGUgPSAiYWxsIiksIGxvYWRJbWFnZXModC5maW5kKCIudHAtc3RhdGljLWxheWVycyIpLCB4LCAwLCAhMCksIHdhaXRGb3JDdXJyZW50SW1hZ2VzKHQuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKSwgeCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdC5maW5kKCIudHAtc3RhdGljLWxheWVycyBpbWciKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBlLmRhdGEoImxhenlsb2FkIikgIT0gdW5kZWZpbmVkID8gZS5kYXRhKCJsYXp5bG9hZCIpIDogZS5hdHRyKCJzcmMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgPSBnZXRMb2FkT2JqKHgsIGkpOwogICAgICAgICAgICAgICAgICAgICAgICBlLmF0dHIoInNyYyIsIHQuc3JjKQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9KSwgeC5yb3d6b25lcyA9IFtdLCB4LmFsbGxpLmVhY2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIHZhciBpID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgICAgIHB1bmNoZ3MuVHdlZW5MaXRlLnNldCh0aGlzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHBlcnNwZWN0aXZlOiA2ZTMKICAgICAgICAgICAgICAgICAgICB9KSwgeC5yb3d6b25lc1tlXSA9IFtdLCBpLmZpbmQoIi5yZXZfcm93X3pvbmUiKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICB4LnJvd3pvbmVzW2VdLnB1c2goalF1ZXJ5KHRoaXMpKQogICAgICAgICAgICAgICAgICAgIH0pLCAiYWxsIiAhPSB4LmxhenlUeXBlICYmICgic21hcnQiICE9IHgubGF6eVR5cGUgfHwgMCAhPSBlICYmIDEgIT0gZSAmJiBlICE9IHguc2xpZGVhbW91bnQgJiYgZSAhPSB4LnNsaWRlYW1vdW50IC0gMSkgfHwgKGxvYWRJbWFnZXMoaSwgeCwgZSksIHdhaXRGb3JDdXJyZW50SW1hZ2VzKGksIHgsIGZ1bmN0aW9uKCkge30pKQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB2YXIgZiA9IGdldFVybFZhcnMoIiMiKVswXTsKICAgICAgICAgICAgICAgIGlmIChmLmxlbmd0aCA8IDkgJiYgMSA8IGYuc3BsaXQoInNsaWRlIikubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGggPSBwYXJzZUludChmLnNwbGl0KCJzbGlkZSIpWzFdLCAwKTsKICAgICAgICAgICAgICAgICAgICBoIDwgMSAmJiAoaCA9IDEpLCBoID4geC5zbGlkZWFtb3VudCAmJiAoaCA9IHguc2xpZGVhbW91bnQpLCB4LnN0YXJ0V2l0aFNsaWRlID0gaCAtIDEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHQuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1sb2FkZXIgJyArIHguc3Bpbm5lciArICciPjxkaXYgY2xhc3M9ImRvdDEiPjwvZGl2PjxkaXYgY2xhc3M9ImRvdDIiPjwvZGl2PjxkaXYgY2xhc3M9ImJvdW5jZTEiPjwvZGl2PjxkaXYgY2xhc3M9ImJvdW5jZTIiPjwvZGl2PjxkaXYgY2xhc3M9ImJvdW5jZTMiPjwvZGl2PjwvZGl2PicpLCB4LmxvYWRlciA9IHQuZmluZCgiLnRwLWxvYWRlciIpLCAwID09PSB0LmZpbmQoIi50cC1iYW5uZXJ0aW1lciIpLmxlbmd0aCAmJiB0LmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtYmFubmVydGltZXIiIHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+PC9kaXY+JyksIHQuZmluZCgiLnRwLWJhbm5lcnRpbWVyIikuY3NzKHsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogIjAlIgogICAgICAgICAgICAgICAgfSksIHgudWwuY3NzKHsKICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAiYmxvY2siCiAgICAgICAgICAgICAgICB9KSwgcHJlcGFyZVNsaWRlcyh0LCB4KSwgKCJvZmYiICE9PSB4LnBhcmFsbGF4LnR5cGUgfHwgeC5zY3JvbGxlZmZlY3Qub24pICYmIF9SLmNoZWNrRm9yUGFyYWxsYXggJiYgX1IuY2hlY2tGb3JQYXJhbGxheCh0LCB4KSwgX1Iuc2V0U2l6ZSh4KSwgImhlcm8iICE9PSB4LnNsaWRlclR5cGUgJiYgX1IuY3JlYXRlTmF2aWdhdGlvbiAmJiBfUi5jcmVhdGVOYXZpZ2F0aW9uKHQsIHgpLCBfUi5yZXNpemVUaHVtYnNUYWJzICYmIF9SLnJlc2l6ZVRodW1ic1RhYnMgJiYgX1IucmVzaXplVGh1bWJzVGFicyh4KSwgY29udFdpZHRoTWFuYWdlcih4KTsKICAgICAgICAgICAgICAgIHZhciBnID0geC52aWV3UG9ydDsKICAgICAgICAgICAgICAgIHguaW52aWV3cG9ydCA9ICExLCBnICE9IHVuZGVmaW5lZCAmJiBnLmVuYWJsZSAmJiAoalF1ZXJ5LmlzTnVtZXJpYyhnLnZpc2libGVfYXJlYSkgfHwgLTEgIT09IGcudmlzaWJsZV9hcmVhLmluZGV4T2YoIiUiKSAmJiAoZy52aXNpYmxlX2FyZWEgPSBwYXJzZUludChnLnZpc2libGVfYXJlYSkgLyAxMDApLCBfUi5zY3JvbGxUaWNrZXIgJiYgX1Iuc2Nyb2xsVGlja2VyKHgsIHQpKSwgImNhcm91c2VsIiA9PT0geC5zbGlkZXJUeXBlICYmIF9SLnByZXBhcmVDYXJvdXNlbCAmJiAocHVuY2hncy5Ud2VlbkxpdGUuc2V0KHgudWwsIHsKICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwCiAgICAgICAgICAgICAgICB9KSwgX1IucHJlcGFyZUNhcm91c2VsKHgsIG5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZSwgdW5kZWZpbmVkLCAwKSwgeC5vbmx5UHJlcGFyZWRTbGlkZSA9ICEwKSwgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIWcuZW5hYmxlIHx8IGcuZW5hYmxlICYmIHguaW52aWV3cG9ydCB8fCBnLmVuYWJsZSAmJiAheC5pbnZpZXdwb3J0ICYmICJ3YWl0IiA9PSAhZy5vdXRvZikgc3dhcFNsaWRlKHQpOwogICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHguYy5hZGRDbGFzcygidHAtd2FpdGZvcmZpcnN0c3RhcnQiKSwgeC53YWl0Rm9yRmlyc3RTbGlkZSA9ICEwLCBnLnByZXNpemUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkoeC5saVswXSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRJbWFnZXMoZSwgeCwgMCwgITApLCB3YWl0Rm9yQ3VycmVudEltYWdlcyhlLmZpbmQoIi50cC1sYXllcnMiKSwgeCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfUi5hbmltYXRlVGhlQ2FwdGlvbnMoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlOiBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdDogeCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVzZXQ6ICEwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBfUi5tYW5hZ2VOYXZpZ2F0aW9uICYmIF9SLm1hbmFnZU5hdmlnYXRpb24oeCksIDEgPCB4LnNsaWRlYW1vdW50ICYmICghZy5lbmFibGUgfHwgZy5lbmFibGUgJiYgeC5pbnZpZXdwb3J0ID8gY291bnREb3duKHQsIHgpIDogeC53YWl0Rm9yQ291bnREb3duID0gITApLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICB0LnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25sb2FkZWQiKQogICAgICAgICAgICAgICAgICAgIH0sIDEwMCkKICAgICAgICAgICAgICAgIH0sIHguc3RhcnREZWxheSksIHguc3RhcnREZWxheSA9IDAsIGpRdWVyeSgiYm9keSIpLmRhdGEoInJzLWZ1bGxTY3JlZW5Nb2RlIiwgITEpLCB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmNoYW5nZSIsIG9uRnVsbFNjcmVlbkNoYW5nZSwgewogICAgICAgICAgICAgICAgICAgIHBhc3NpdmU6ICEwCiAgICAgICAgICAgICAgICB9KSwgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vemZ1bGxzY3JlZW5jaGFuZ2UiLCBvbkZ1bGxTY3JlZW5DaGFuZ2UsIHsKICAgICAgICAgICAgICAgICAgICBwYXNzaXZlOiAhMAogICAgICAgICAgICAgICAgfSksIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRmdWxsc2NyZWVuY2hhbmdlIiwgb25GdWxsU2NyZWVuQ2hhbmdlLCB7CiAgICAgICAgICAgICAgICAgICAgcGFzc2l2ZTogITAKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgdmFyIHYgPSAicmVzaXplLnJldnNsaWRlci0iICsgdC5hdHRyKCJpZCIpOwogICAgICAgICAgICAgICAgalF1ZXJ5KHdpbmRvdykub24odiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHQgPT0gdW5kZWZpbmVkKSByZXR1cm4gITE7CiAgICAgICAgICAgICAgICAgICAgMCAhPSBqUXVlcnkoImJvZHkiKS5maW5kKHQpICYmIGNvbnRXaWR0aE1hbmFnZXIoeCk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSAhMTsKICAgICAgICAgICAgICAgICAgICBpZiAoImZ1bGxzY3JlZW4iID09IHguc2xpZGVyTGF5b3V0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpID0galF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGUgPSAibW9iaWxlIiA9PSB4LmZhbGxiYWNrcy5pZ25vcmVIZWlnaHRDaGFuZ2VzICYmIF9JU00gfHwgImFsd2F5cyIgPT0geC5mYWxsYmFja3MuaWdub3JlSGVpZ2h0Q2hhbmdlcyA/ICh4LmZhbGxiYWNrcy5pZ25vcmVIZWlnaHRDaGFuZ2VzU2l6ZSA9IHguZmFsbGJhY2tzLmlnbm9yZUhlaWdodENoYW5nZXNTaXplID09IHVuZGVmaW5lZCA/IDAgOiB4LmZhbGxiYWNrcy5pZ25vcmVIZWlnaHRDaGFuZ2VzU2l6ZSwgaSAhPSB4Lmxhc3R3aW5kb3doZWlnaHQgJiYgTWF0aC5hYnMoaSAtIHgubGFzdHdpbmRvd2hlaWdodCkgPiB4LmZhbGxiYWNrcy5pZ25vcmVIZWlnaHRDaGFuZ2VzU2l6ZSkgOiBpICE9IHgubGFzdHdpbmRvd2hlaWdodAogICAgICAgICAgICAgICAgICAgIH0odC5vdXRlcldpZHRoKCEwKSAhPSB4LndpZHRoIHx8IHQuaXMoIjpoaWRkZW4iKSB8fCBlKSAmJiAoeC5sYXN0d2luZG93aGVpZ2h0ID0galF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCksIGNvbnRhaW5lclJlc2l6ZWQodCwgeCkpCiAgICAgICAgICAgICAgICB9KSwgaGlkZVNsaWRlclVuZGVyKHQsIHgpLCBjb250V2lkdGhNYW5hZ2VyKHgpLCB4LmZhbGxiYWNrcy5kaXNhYmxlRm9jdXNMaXN0ZW5lciB8fCAidHJ1ZSIgPT0geC5mYWxsYmFja3MuZGlzYWJsZUZvY3VzTGlzdGVuZXIgfHwgITAgPT09IHguZmFsbGJhY2tzLmRpc2FibGVGb2N1c0xpc3RlbmVyIHx8ICh0LmFkZENsYXNzKCJyZXZfcmVkcmF3X29uX2JsdXJmb2N1cyIpLCB0YWJCbHVycmluZ0NoZWNrKCkpCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGNBcnJheSA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgaWYgKCFqUXVlcnkuaXNBcnJheShlKSkgewogICAgICAgICAgICAgICAgdmFyIHQgPSBlOwogICAgICAgICAgICAgICAgKGUgPSBuZXcgQXJyYXkpLnB1c2godCkKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoZS5sZW5ndGggPCBpKSB7CiAgICAgICAgICAgICAgICB0ID0gZVtlLmxlbmd0aCAtIDFdOwogICAgICAgICAgICAgICAgZm9yICh2YXIgYSA9IDA7IGEgPCBpIC0gZS5sZW5ndGggKyAyOyBhKyspIGUucHVzaCh0KQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBlCiAgICAgICAgfSwKICAgICAgICBjaGVja0hvdmVyRGVwZW5kZW5jaWVzID0gZnVuY3Rpb24oZSwgbikgewogICAgICAgICAgICB2YXIgaSA9IGUuZGF0YSgpOwogICAgICAgICAgICAoInNsaWRlcmVudGVyIiA9PT0gaS5zdGFydCB8fCBpLmZyYW1lcyAhPT0gdW5kZWZpbmVkICYmIGkuZnJhbWVzWzBdICE9IHVuZGVmaW5lZCAmJiAic2xpZGVyZW50ZXIiID09PSBpLmZyYW1lc1swXS5kZWxheSkgJiYgKG4ubGF5ZXJzb25ob3ZlciA9PT0gdW5kZWZpbmVkICYmIChuLmMub24oInRwLW1vdXNlZW50ZXIiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIG4ubGF5ZXJzb25ob3ZlciAmJiBqUXVlcnkuZWFjaChuLmxheWVyc29uaG92ZXIsIGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGkuZGF0YSgiY2xvc2VzdGxpIikgfHwgaS5jbG9zZXN0KCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIiksCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBpLmRhdGEoInN0YXRpY2xpIikgfHwgaS5jbG9zZXN0KCIudHAtc3RhdGljLWxheWVycyIpOwogICAgICAgICAgICAgICAgICAgIGkuZGF0YSgiY2xvc2VzdGxpIikgPT09IHVuZGVmaW5lZCAmJiAoaS5kYXRhKCJjbG9zZXN0bGkiLCB0KSwgaS5kYXRhKCJzdGF0aWNsaSIsIGEpKSwgKDAgPCB0Lmxlbmd0aCAmJiB0Lmhhc0NsYXNzKCJhY3RpdmUtcmV2c2xpZGUiKSB8fCB0Lmhhc0NsYXNzKCJwcm9jZXNzaW5nLXJldnNsaWRlIikgfHwgMCA8IGEubGVuZ3RoKSAmJiAoaS5kYXRhKCJhbmltZGlyZWN0aW9uIiwgImluIiksIF9SLnBsYXlBbmltYXRpb25GcmFtZSAmJiBfUi5wbGF5QW5pbWF0aW9uRnJhbWUoewogICAgICAgICAgICAgICAgICAgICAgICBjYXB0aW9uOiBpLAogICAgICAgICAgICAgICAgICAgICAgICBvcHQ6IG4sCiAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lOiAiZnJhbWVfMCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJkaXJlY3Rpb246ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJmcmFtZWluOiAiZnJhbWVfMCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJmcmFtZW91dDogImZyYW1lXzk5OSIKICAgICAgICAgICAgICAgICAgICB9KSwgaS5kYXRhKCJ0cmlnZ2Vyc3RhdGUiLCAib24iKSkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0pLCBuLmMub24oInRwLW1vdXNlbGVmdCIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbi5sYXllcnNvbmhvdmVyICYmIGpRdWVyeS5lYWNoKG4ubGF5ZXJzb25ob3ZlciwgZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgICAgICAgIGkuZGF0YSgiYW5pbWRpcmVjdGlvbiIsICJvdXQiKSwgaS5kYXRhKCJ0cmlnZ2VyZWQiLCAhMCksIGkuZGF0YSgidHJpZ2dlcnN0YXRlIiwgIm9mZiIpLCBfUi5zdG9wVmlkZW8gJiYgX1Iuc3RvcFZpZGVvKGksIG4pLCBfUi5wbGF5QW5pbWF0aW9uRnJhbWUgJiYgX1IucGxheUFuaW1hdGlvbkZyYW1lKHsKICAgICAgICAgICAgICAgICAgICAgICAgY2FwdGlvbjogaSwKICAgICAgICAgICAgICAgICAgICAgICAgb3B0OiBuLAogICAgICAgICAgICAgICAgICAgICAgICBmcmFtZTogImZyYW1lXzk5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJkaXJlY3Rpb246ICJvdXQiLAogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyZnJhbWVpbjogImZyYW1lXzAiLAogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyZnJhbWVvdXQ6ICJmcmFtZV85OTkiCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0pLCBuLmxheWVyc29uaG92ZXIgPSBuZXcgQXJyYXkpLCBuLmxheWVyc29uaG92ZXIucHVzaChlKSkKICAgICAgICB9LAogICAgICAgIGNvbnRXaWR0aE1hbmFnZXIgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciBpID0gX1IuZ2V0SG9yaXpvbnRhbE9mZnNldChlLmMsICJsZWZ0Iik7CiAgICAgICAgICAgIGlmICgiYXV0byIgPT0gZS5zbGlkZXJMYXlvdXQgfHwgImZ1bGxzY3JlZW4iID09PSBlLnNsaWRlckxheW91dCAmJiAib24iID09IGUuZnVsbFNjcmVlbkF1dG9XaWR0aCkgImZ1bGxzY3JlZW4iID09IGUuc2xpZGVyTGF5b3V0ICYmICJvbiIgPT0gZS5mdWxsU2NyZWVuQXV0b1dpZHRoID8gcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGUudWwsIHsKICAgICAgICAgICAgICAgIGxlZnQ6IDAsCiAgICAgICAgICAgICAgICB3aWR0aDogZS5jLndpZHRoKCkKICAgICAgICAgICAgfSkgOiBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZS51bCwgewogICAgICAgICAgICAgICAgbGVmdDogaSwKICAgICAgICAgICAgICAgIHdpZHRoOiBlLmMud2lkdGgoKSAtIF9SLmdldEhvcml6b250YWxPZmZzZXQoZS5jLCAiYm90aCIpCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gTWF0aC5jZWlsKGUuYy5jbG9zZXN0KCIuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIiKS5vZmZzZXQoKS5sZWZ0IC0gaSk7CiAgICAgICAgICAgICAgICBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZS5jLnBhcmVudCgpLCB7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMCAtIHQgKyAicHgiLAogICAgICAgICAgICAgICAgICAgIHdpZHRoOiBqUXVlcnkod2luZG93KS53aWR0aCgpIC0gX1IuZ2V0SG9yaXpvbnRhbE9mZnNldChlLmMsICJib3RoIikKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZS5zbGF5ZXJzICYmICJmdWxsd2lkdGgiICE9IGUuc2xpZGVyTGF5b3V0ICYmICJmdWxsc2NyZWVuIiAhPSBlLnNsaWRlckxheW91dCAmJiBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZS5zbGF5ZXJzLCB7CiAgICAgICAgICAgICAgICBsZWZ0OiBpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBjdiA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIGUgPT09IHVuZGVmaW5lZCA/IGkgOiBlCiAgICAgICAgfSwKICAgICAgICBoaWRlU2xpZGVyVW5kZXIgPSBmdW5jdGlvbihlLCBpLCB0KSB7CiAgICAgICAgICAgIHZhciBhID0gZS5wYXJlbnQoKTsKICAgICAgICAgICAgalF1ZXJ5KHdpbmRvdykud2lkdGgoKSA8IGkuaGlkZVNsaWRlckF0TGltaXQgPyAoZS50cmlnZ2VyKCJzdG9wdGltZXIiKSwgIm5vbmUiICE9IGEuY3NzKCJkaXNwbGF5IikgJiYgYS5kYXRhKCJvbGRkaXNwbGF5IiwgYS5jc3MoImRpc3BsYXkiKSksIGEuY3NzKHsKICAgICAgICAgICAgICAgIGRpc3BsYXk6ICJub25lIgogICAgICAgICAgICB9KSkgOiBlLmlzKCI6aGlkZGVuIikgJiYgdCAmJiAoYS5kYXRhKCJvbGRkaXNwbGF5IikgIT0gdW5kZWZpbmVkICYmICJ1bmRlZmluZWQiICE9IGEuZGF0YSgib2xkZGlzcGxheSIpICYmICJub25lIiAhPSBhLmRhdGEoIm9sZGRpc3BsYXkiKSA/IGEuY3NzKHsKICAgICAgICAgICAgICAgIGRpc3BsYXk6IGEuZGF0YSgib2xkZGlzcGxheSIpCiAgICAgICAgICAgIH0pIDogYS5jc3MoewogICAgICAgICAgICAgICAgZGlzcGxheTogImJsb2NrIgogICAgICAgICAgICB9KSwgZS50cmlnZ2VyKCJyZXN0YXJ0dGltZXIiKSwgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGNvbnRhaW5lclJlc2l6ZWQoZSwgaSkKICAgICAgICAgICAgfSwgMTUwKSksIF9SLmhpZGVVbkhpZGVOYXYgJiYgX1IuaGlkZVVuSGlkZU5hdihpKQogICAgICAgIH0sCiAgICAgICAgY29udGFpbmVyUmVzaXplZCA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgaWYgKGUudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5iZWZvcmVyZWRyYXciKSwgMSA9PSBpLmluZnVsbHNjcmVlbm1vZGUgJiYgKGkubWluSGVpZ2h0ID0galF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkpLCBzZXRDdXJXaW5SYW5nZShpKSwgc2V0Q3VyV2luUmFuZ2UoaSwgITApLCAhX1IucmVzaXplVGh1bWJzVGFicyB8fCAhMCA9PT0gX1IucmVzaXplVGh1bWJzVGFicyhpKSkgewogICAgICAgICAgICAgICAgaWYgKGhpZGVTbGlkZXJVbmRlcihlLCBpLCAhMCksIGNvbnRXaWR0aE1hbmFnZXIoaSksICJjYXJvdXNlbCIgPT0gaS5zbGlkZXJUeXBlICYmIF9SLnByZXBhcmVDYXJvdXNlbChpLCAhMCksIGUgPT09IHVuZGVmaW5lZCkgcmV0dXJuICExOwogICAgICAgICAgICAgICAgX1Iuc2V0U2l6ZShpKSwgaS5jb253ID0gaS5jLndpZHRoKCksIGkuY29uaCA9IGkuaW5mdWxsc2NyZWVubW9kZSA/IGkubWluSGVpZ2h0IDogaS5jLmhlaWdodCgpOwogICAgICAgICAgICAgICAgdmFyIHQgPSBlLmZpbmQoIi5hY3RpdmUtcmV2c2xpZGUgLnNsb3Rob2xkZXIiKSwKICAgICAgICAgICAgICAgICAgICBhID0gZS5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSAuc2xvdGhvbGRlciIpOwogICAgICAgICAgICAgICAgcmVtb3ZlU2xvdHMoZSwgaSwgZSwgMiksICJzdGFuZGFyZCIgPT09IGkuc2xpZGVyVHlwZSAmJiAocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEuZmluZCgiLmRlZmF1bHRpbWciKSwgewogICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAKICAgICAgICAgICAgICAgIH0pLCB0LmZpbmQoIi5kZWZhdWx0aW1nIikuY3NzKHsKICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxCiAgICAgICAgICAgICAgICB9KSksICJjYXJvdXNlbCIgPT09IGkuc2xpZGVyVHlwZSAmJiBpLmxhc3Rjb253ICE9IGkuY29udyAmJiAoY2xlYXJUaW1lb3V0KGkucGNhcnRpbWVyKSwgaS5wY2FydGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIF9SLnByZXBhcmVDYXJvdXNlbChpLCAhMCksICJjYXJvdXNlbCIgPT0gaS5zbGlkZXJUeXBlICYmICJvbiIgPT09IGkuY2Fyb3VzZWwuc2hvd0xheWVyc0FsbFRpbWUgJiYgalF1ZXJ5LmVhY2goaS5saSwgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICBfUi5hbmltYXRlVGhlQ2FwdGlvbnMoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGU6IGpRdWVyeShpLmxpW2VdKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdDogaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2FsbDogITAKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfSwgMTAwKSwgaS5sYXN0Y29udyA9IGkuY29udyksIF9SLm1hbmFnZU5hdmlnYXRpb24gJiYgX1IubWFuYWdlTmF2aWdhdGlvbihpKSwgX1IuYW5pbWF0ZVRoZUNhcHRpb25zICYmIDAgPCBlLmZpbmQoIi5hY3RpdmUtcmV2c2xpZGUiKS5sZW5ndGggJiYgX1IuYW5pbWF0ZVRoZUNhcHRpb25zKHsKICAgICAgICAgICAgICAgICAgICBzbGlkZTogZS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIiksCiAgICAgICAgICAgICAgICAgICAgb3B0OiBpLAogICAgICAgICAgICAgICAgICAgIHJlY2FsbDogITAKICAgICAgICAgICAgICAgIH0pLCAib24iID09IGEuZGF0YSgia2VuYnVybnMiKSAmJiBfUi5zdGFydEtlbkJ1cm4oYSwgaSwgYS5kYXRhKCJrYnRsIikgIT09IHVuZGVmaW5lZCA/IGEuZGF0YSgia2J0bCIpLnByb2dyZXNzKCkgOiAwKSwgIm9uIiA9PSB0LmRhdGEoImtlbmJ1cm5zIikgJiYgX1Iuc3RhcnRLZW5CdXJuKHQsIGksIHQuZGF0YSgia2J0bCIpICE9PSB1bmRlZmluZWQgPyB0LmRhdGEoImtidGwiKS5wcm9ncmVzcygpIDogMCksIF9SLmFuaW1hdGVUaGVDYXB0aW9ucyAmJiAwIDwgZS5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLmxlbmd0aCAmJiBfUi5hbmltYXRlVGhlQ2FwdGlvbnMoewogICAgICAgICAgICAgICAgICAgIHNsaWRlOiBlLmZpbmQoIi5wcm9jZXNzaW5nLXJldnNsaWRlIiksCiAgICAgICAgICAgICAgICAgICAgb3B0OiBpLAogICAgICAgICAgICAgICAgICAgIHJlY2FsbDogITAKICAgICAgICAgICAgICAgIH0pLCBfUi5tYW5hZ2VOYXZpZ2F0aW9uICYmIF9SLm1hbmFnZU5hdmlnYXRpb24oaSkKICAgICAgICAgICAgfQogICAgICAgICAgICBlLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUuYWZ0ZXJkcmF3IikKICAgICAgICB9LAogICAgICAgIHNldFNjYWxlID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLmJ3ID0gZS53aWR0aCAvIGUuZ3JpZHdpZHRoW2UuY3VyV2luUmFuZ2VdLCBlLmJoID0gZS5oZWlnaHQgLyBlLmdyaWRoZWlnaHRbZS5jdXJXaW5SYW5nZV0sIGUuYmggPiBlLmJ3ID8gZS5iaCA9IGUuYncgOiBlLmJ3ID0gZS5iaCwgKDEgPCBlLmJoIHx8IDEgPCBlLmJ3KSAmJiAoZS5idyA9IDEsIGUuYmggPSAxKQogICAgICAgIH0sCiAgICAgICAgcHJlcGFyZVNsaWRlcyA9IGZ1bmN0aW9uKGUsIHUpIHsKICAgICAgICAgICAgaWYgKGUuZmluZCgiLnRwLWNhcHRpb24iKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgICAgIGUuZGF0YSgidHJhbnNpdGlvbiIpICE9PSB1bmRlZmluZWQgJiYgZS5hZGRDbGFzcyhlLmRhdGEoInRyYW5zaXRpb24iKSkKICAgICAgICAgICAgICAgIH0pLCB1LnVsLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICJoaWRkZW4iLAogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiMTAwJSIsCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAiMTAwJSIsCiAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBlLnBhcmVudCgpLmNzcygibWF4SGVpZ2h0IikKICAgICAgICAgICAgICAgIH0pLCAib24iID09IHUuYXV0b0hlaWdodCAmJiAodS51bC5jc3MoewogICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiAiaGlkZGVuIiwKICAgICAgICAgICAgICAgICAgICB3aWR0aDogIjEwMCUiLAogICAgICAgICAgICAgICAgICAgIGhlaWdodDogIjEwMCUiLAogICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogIm5vbmUiCiAgICAgICAgICAgICAgICB9KSwgZS5jc3MoewogICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogIm5vbmUiCiAgICAgICAgICAgICAgICB9KSwgZS5wYXJlbnQoKS5jc3MoewogICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogIm5vbmUiCiAgICAgICAgICAgICAgICB9KSksIHUuYWxsbGkuZWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBqUXVlcnkodGhpcyksCiAgICAgICAgICAgICAgICAgICAgICAgIHQgPSBpLmRhdGEoIm9yaWdpbmFsaW5kZXgiKTsKICAgICAgICAgICAgICAgICAgICAodS5zdGFydFdpdGhTbGlkZSAhPSB1bmRlZmluZWQgJiYgdCA9PSB1LnN0YXJ0V2l0aFNsaWRlIHx8IHUuc3RhcnRXaXRoU2xpZGUgPT09IHVuZGVmaW5lZCAmJiAwID09IGUpICYmIGkuYWRkQ2xhc3MoIm5leHQtcmV2c2xpZGUiKSwgaS5jc3MoewogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogIjEwMCUiLAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICIxMDAlIiwKICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICJoaWRkZW4iCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0pLCAiY2Fyb3VzZWwiID09PSB1LnNsaWRlclR5cGUpIHsKICAgICAgICAgICAgICAgIHUudWwuY3NzKHsKICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogInZpc2libGUiCiAgICAgICAgICAgICAgICB9KS53cmFwKCc8ZGl2IGNsYXNzPSJ0cC1jYXJvdXNlbC13cmFwcGVyIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6MHB4O292ZXJmbG93OmhpZGRlbjsiPjwvZGl2PicpOwogICAgICAgICAgICAgICAgdmFyIGkgPSAnPGRpdiBzdHlsZT0iY2xlYXI6Ym90aDtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjFweDtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tYm90dG9tOi0xcHgiPjwvZGl2Pic7CiAgICAgICAgICAgICAgICB1LmMucGFyZW50KCkucHJlcGVuZChpKSwgdS5jLnBhcmVudCgpLmFwcGVuZChpKSwgX1IucHJlcGFyZUNhcm91c2VsKHUpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZS5wYXJlbnQoKS5jc3MoewogICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICJ2aXNpYmxlIgogICAgICAgICAgICB9KSwgdS5hbGxsaS5maW5kKCI+aW1nIikuZWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IGpRdWVyeSh0aGlzKSwKICAgICAgICAgICAgICAgICAgICB0ID0gaS5jbG9zZXN0KCJsaSIpLAogICAgICAgICAgICAgICAgICAgIGEgPSB0LmZpbmQoIi5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIik7CiAgICAgICAgICAgICAgICBhLmFkZENsYXNzKCJkZWZhdWx0dmlkIikuY3NzKHsKICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IDMwCiAgICAgICAgICAgICAgICB9KSwgaS5hZGRDbGFzcygiZGVmYXVsdGltZyIpLCAib24iID09IHUuZmFsbGJhY2tzLnBhblpvb21EaXNhYmxlT25Nb2JpbGUgJiYgX0lTTSAmJiAoaS5kYXRhKCJrZW5idXJucyIsICJvZmYiKSwgaS5kYXRhKCJiZ2ZpdCIsICJjb3ZlciIpKTsKICAgICAgICAgICAgICAgIHZhciBuID0gdC5kYXRhKCJtZWRpYWZpbHRlciIpOwogICAgICAgICAgICAgICAgbiA9ICJub25lIiA9PT0gbiB8fCBuID09PSB1bmRlZmluZWQgPyAiIiA6IG4sIGkud3JhcCgnPGRpdiBjbGFzcz0ic2xvdGhvbGRlciIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyB0b3A6MHB4OyBsZWZ0OjBweDsgei1pbmRleDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ij48L2Rpdj4nKSwgYS5hcHBlbmRUbyh0LmZpbmQoIi5zbG90aG9sZGVyIikpOwogICAgICAgICAgICAgICAgdmFyIHIgPSBpLmRhdGEoKTsKICAgICAgICAgICAgICAgIGkuY2xvc2VzdCgiLnNsb3Rob2xkZXIiKS5kYXRhKHIpLCAwIDwgYS5sZW5ndGggJiYgci5iZ3BhcmFsbGF4ICE9IHVuZGVmaW5lZCAmJiAoYS5kYXRhKCJiZ3BhcmFsbGF4Iiwgci5iZ3BhcmFsbGF4KSwgYS5kYXRhKCJzaG93Y292ZXJvbnBhdXNlIiwgIm9uIikpLCAibm9uZSIgIT0gdS5kb3R0ZWRPdmVybGF5ICYmIHUuZG90dGVkT3ZlcmxheSAhPSB1bmRlZmluZWQgJiYgaS5jbG9zZXN0KCIuc2xvdGhvbGRlciIpLmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtZG90dGVkb3ZlcmxheSAnICsgdS5kb3R0ZWRPdmVybGF5ICsgJyI+PC9kaXY+Jyk7CiAgICAgICAgICAgICAgICB2YXIgbyA9IGkuYXR0cigic3JjIik7CiAgICAgICAgICAgICAgICByLnNyYyA9IG8sIHIuYmdmaXQgPSByLmJnZml0IHx8ICJjb3ZlciIsIHIuYmdyZXBlYXQgPSByLmJncmVwZWF0IHx8ICJuby1yZXBlYXQiLCByLmJncG9zaXRpb24gPSByLmJncG9zaXRpb24gfHwgImNlbnRlciBjZW50ZXIiLCBpLmNsb3Nlc3QoIi5zbG90aG9sZGVyIik7CiAgICAgICAgICAgICAgICB2YXIgcywgbCA9IGkuZGF0YSgiYmdjb2xvciIpOwogICAgICAgICAgICAgICAgcyA9IGwgIT09IHVuZGVmaW5lZCAmJiAwIDw9IGwuaW5kZXhPZigiZ3JhZGllbnQiKSA/ICciYmFja2dyb3VuZDonICsgbCArICc7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTsiJyA6ICciYmFja2dyb3VuZC1jb2xvcjonICsgbCArICI7YmFja2dyb3VuZC1yZXBlYXQ6IiArIHIuYmdyZXBlYXQgKyAiO2JhY2tncm91bmQtaW1hZ2U6dXJsKCIgKyBvICsgIik7YmFja2dyb3VuZC1zaXplOiIgKyByLmJnZml0ICsgIjtiYWNrZ3JvdW5kLXBvc2l0aW9uOiIgKyByLmJncG9zaXRpb24gKyAnO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7IicsIGkuZGF0YSgibWVkaWFmaWx0ZXIiLCBuKSwgbiA9ICJvbiIgPT09IGkuZGF0YSgia2VuYnVybnMiKSA/ICIiIDogbjsKICAgICAgICAgICAgICAgIHZhciBkID0galF1ZXJ5KCc8ZGl2IGNsYXNzPSJ0cC1iZ2ltZyBkZWZhdWx0aW1nICcgKyBuICsgJyIgZGF0YS1iZ2NvbG9yPSInICsgbCArICciIHN0eWxlPScgKyBzICsgIj48L2Rpdj4iKTsKICAgICAgICAgICAgICAgIGkucGFyZW50KCkuYXBwZW5kKGQpOwogICAgICAgICAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5jcmVhdGVDb21tZW50KCJSdW50aW1lIE1vZGlmaWNhdGlvbiAtIEltZyB0YWcgaXMgU3RpbGwgQXZhaWxhYmxlIGZvciBTRU8gR29hbHMgaW4gU291cmNlIC0gIiArIGkuZ2V0KDApLm91dGVySFRNTCk7CiAgICAgICAgICAgICAgICBpLnJlcGxhY2VXaXRoKGMpLCBkLmRhdGEociksIGQuYXR0cigic3JjIiwgbyksICJzdGFuZGFyZCIgIT09IHUuc2xpZGVyVHlwZSAmJiAidW5kZWZpbmVkIiAhPT0gdS5zbGlkZXJUeXBlIHx8IGQuY3NzKHsKICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9KSwgdS5zY3JvbGxlZmZlY3Qub24gJiYgIm9uIiA9PT0gdS5zY3JvbGxlZmZlY3Qub25fc2xpZGViZyAmJiAodS5hbGxzbG90aG9sZGVyID0gbmV3IEFycmF5LCB1LmFsbGxpLmZpbmQoIi5zbG90aG9sZGVyIikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGpRdWVyeSh0aGlzKS53cmFwKCc8ZGl2IHN0eWxlPSJkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDowcHg7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJSIgY2xhc3M9InNsb3Rob2xkZXJfZmFkZW91dHdyYXAiPjwvZGl2PicpCiAgICAgICAgICAgIH0pLCB1LmFsbHNsb3Rob2xkZXIgPSB1LmMuZmluZCgiLnNsb3Rob2xkZXJfZmFkZW91dHdyYXAiKSkKICAgICAgICB9LAogICAgICAgIHJlbW92ZVNsb3RzID0gZnVuY3Rpb24oZSwgaSwgdCwgYSkgewogICAgICAgICAgICBpLnJlbW92ZVByZXBhcmUgPSBpLnJlbW92ZVByZXBhcmUgKyBhLCB0LmZpbmQoIi5zbG90LCAuc2xvdC1jaXJjbGUtd3JhcHBlciIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBqUXVlcnkodGhpcykucmVtb3ZlKCkKICAgICAgICAgICAgfSksIGkudHJhbnNpdGlvbiA9IDAsIGkucmVtb3ZlUHJlcGFyZSA9IDAKICAgICAgICB9LAogICAgICAgIGN1dFBhcmFtcyA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIGkgPSBlOwogICAgICAgICAgICByZXR1cm4gZSAhPSB1bmRlZmluZWQgJiYgMCA8IGUubGVuZ3RoICYmIChpID0gZS5zcGxpdCgiPyIpWzBdKSwgaQogICAgICAgIH0sCiAgICAgICAgcmVsYXRpdmVSZWRpciA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoLyguKilcL1teL10qLywgIiQxLyIgKyBlKQogICAgICAgIH0sCiAgICAgICAgYWJzdG9yZWwgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHZhciB0ID0gZS5zcGxpdCgiLyIpLAogICAgICAgICAgICAgICAgYSA9IGkuc3BsaXQoIi8iKTsKICAgICAgICAgICAgdC5wb3AoKTsKICAgICAgICAgICAgZm9yICh2YXIgbiA9IDA7IG4gPCBhLmxlbmd0aDsgbisrKSAiLiIgIT0gYVtuXSAmJiAoIi4uIiA9PSBhW25dID8gdC5wb3AoKSA6IHQucHVzaChhW25dKSk7CiAgICAgICAgICAgIHJldHVybiB0LmpvaW4oIi8iKQogICAgICAgIH0sCiAgICAgICAgaW1nTG9hZGVkID0gZnVuY3Rpb24obCwgZSwgZCkgewogICAgICAgICAgICBlLnN5bmNsb2FkLS0sIGUubG9hZHF1ZXVlICYmIGpRdWVyeS5lYWNoKGUubG9hZHF1ZXVlLCBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IGkuc3JjLnJlcGxhY2UoL1wuXC5cL1wuXC5cLy9naSwgIiIpLAogICAgICAgICAgICAgICAgICAgIGEgPSBzZWxmLmxvY2F0aW9uLmhyZWYsCiAgICAgICAgICAgICAgICAgICAgbiA9IGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiwKICAgICAgICAgICAgICAgICAgICByID0gYS5zdWJzdHJpbmcoMCwgYS5sZW5ndGggLSAxKSArICIvIiArIHQsCiAgICAgICAgICAgICAgICAgICAgbyA9IG4gKyAiLyIgKyB0LAogICAgICAgICAgICAgICAgICAgIHMgPSBhYnN0b3JlbChzZWxmLmxvY2F0aW9uLmhyZWYsIGkuc3JjKTsKICAgICAgICAgICAgICAgIGEgPSBhLnN1YnN0cmluZygwLCBhLmxlbmd0aCAtIDEpICsgdCwgKGN1dFBhcmFtcyhuICs9IHQpID09PSBjdXRQYXJhbXMoZGVjb2RlVVJJQ29tcG9uZW50KGwuc3JjKSkgfHwgY3V0UGFyYW1zKGEpID09PSBjdXRQYXJhbXMoZGVjb2RlVVJJQ29tcG9uZW50KGwuc3JjKSkgfHwgY3V0UGFyYW1zKHMpID09PSBjdXRQYXJhbXMoZGVjb2RlVVJJQ29tcG9uZW50KGwuc3JjKSkgfHwgY3V0UGFyYW1zKG8pID09PSBjdXRQYXJhbXMoZGVjb2RlVVJJQ29tcG9uZW50KGwuc3JjKSkgfHwgY3V0UGFyYW1zKHIpID09PSBjdXRQYXJhbXMoZGVjb2RlVVJJQ29tcG9uZW50KGwuc3JjKSkgfHwgY3V0UGFyYW1zKGkuc3JjKSA9PT0gY3V0UGFyYW1zKGRlY29kZVVSSUNvbXBvbmVudChsLnNyYykpIHx8IGN1dFBhcmFtcyhpLnNyYykucmVwbGFjZSgvXi4qXC9cL1teXC9dKy8sICIiKSA9PT0gY3V0UGFyYW1zKGRlY29kZVVSSUNvbXBvbmVudChsLnNyYykpLnJlcGxhY2UoL14uKlwvXC9bXlwvXSsvLCAiIikgfHwgImZpbGU6Ly8iID09PSB3aW5kb3cubG9jYXRpb24ub3JpZ2luICYmIGN1dFBhcmFtcyhsLnNyYykubWF0Y2gobmV3IFJlZ0V4cCh0KSkpICYmIChpLnByb2dyZXNzID0gZCwgaS53aWR0aCA9IGwud2lkdGgsIGkuaGVpZ2h0ID0gbC5oZWlnaHQpCiAgICAgICAgICAgIH0pLCBwcm9ncmVzc0ltYWdlTG9hZChlKQogICAgICAgIH0sCiAgICAgICAgcHJvZ3Jlc3NJbWFnZUxvYWQgPSBmdW5jdGlvbihhKSB7CiAgICAgICAgICAgIDMgIT0gYS5zeW5jbG9hZCAmJiBhLmxvYWRxdWV1ZSAmJiBqUXVlcnkuZWFjaChhLmxvYWRxdWV1ZSwgZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgICAgaWYgKGkucHJvZ3Jlc3MubWF0Y2goL3ByZXBhcmVkL2cpICYmIGEuc3luY2xvYWQgPD0gMykgewogICAgICAgICAgICAgICAgICAgIGlmIChhLnN5bmNsb2FkKyssICJpbWciID09IGkudHlwZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IG5ldyBJbWFnZTsKICAgICAgICAgICAgICAgICAgICAgICAgdC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZ0xvYWRlZCh0aGlzLCBhLCAibG9hZGVkIiksIGkuZXJyb3IgPSAhMQogICAgICAgICAgICAgICAgICAgICAgICB9LCB0Lm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZ0xvYWRlZCh0aGlzLCBhLCAiZmFpbGVkIiksIGkuZXJyb3IgPSAhMAogICAgICAgICAgICAgICAgICAgICAgICB9LCB0LnNyYyA9IGkuc3JjCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGpRdWVyeS5nZXQoaS5zcmMsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaS5pbm5lckhUTUwgPSAobmV3IFhNTFNlcmlhbGl6ZXIpLnNlcmlhbGl6ZVRvU3RyaW5nKGUuZG9jdW1lbnRFbGVtZW50KSwgaS5wcm9ncmVzcyA9ICJsb2FkZWQiLCBhLnN5bmNsb2FkLS0sIHByb2dyZXNzSW1hZ2VMb2FkKGEpCiAgICAgICAgICAgICAgICAgICAgfSkuZmFpbChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaS5wcm9ncmVzcyA9ICJmYWlsZWQiLCBhLnN5bmNsb2FkLS0sIHByb2dyZXNzSW1hZ2VMb2FkKGEpCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgaS5wcm9ncmVzcyA9ICJpbmxvYWQiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBhZGRUb0xvYWRRdWV1ZSA9IGZ1bmN0aW9uKHQsIGUsIGksIGEsIG4pIHsKICAgICAgICAgICAgdmFyIHIgPSAhMTsKICAgICAgICAgICAgaWYgKGUubG9hZHF1ZXVlICYmIGpRdWVyeS5lYWNoKGUubG9hZHF1ZXVlLCBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgaS5zcmMgPT09IHQgJiYgKHIgPSAhMCkKICAgICAgICAgICAgICAgIH0pLCAhcikgewogICAgICAgICAgICAgICAgdmFyIG8gPSBuZXcgT2JqZWN0OwogICAgICAgICAgICAgICAgby5zcmMgPSB0LCBvLnN0YXJ0dG9sb2FkID0galF1ZXJ5Lm5vdygpLCBvLnR5cGUgPSBhIHx8ICJpbWciLCBvLnByaW8gPSBpLCBvLnByb2dyZXNzID0gInByZXBhcmVkIiwgby5zdGF0aWMgPSBuLCBlLmxvYWRxdWV1ZS5wdXNoKG8pCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGxvYWRJbWFnZXMgPSBmdW5jdGlvbihlLCBhLCBuLCByKSB7CiAgICAgICAgICAgIGUuZmluZCgiaW1nLC5kZWZhdWx0aW1nLCAudHAtc3ZnLWxheWVyIikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpLAogICAgICAgICAgICAgICAgICAgIGkgPSBlLmRhdGEoImxhenlsb2FkIikgIT09IHVuZGVmaW5lZCAmJiAidW5kZWZpbmVkIiAhPT0gZS5kYXRhKCJsYXp5bG9hZCIpID8gZS5kYXRhKCJsYXp5bG9hZCIpIDogZS5kYXRhKCJzdmdfc3JjIikgIT0gdW5kZWZpbmVkID8gZS5kYXRhKCJzdmdfc3JjIikgOiBlLmF0dHIoInNyYyIpLAogICAgICAgICAgICAgICAgICAgIHQgPSBlLmRhdGEoInN2Z19zcmMiKSAhPSB1bmRlZmluZWQgPyAic3ZnIiA6ICJpbWciOwogICAgICAgICAgICAgICAgZS5kYXRhKCJzdGFydC10by1sb2FkIiwgalF1ZXJ5Lm5vdygpKSwgYWRkVG9Mb2FkUXVldWUoaSwgYSwgbiwgdCwgcikKICAgICAgICAgICAgfSksIHByb2dyZXNzSW1hZ2VMb2FkKGEpCiAgICAgICAgfSwKICAgICAgICBnZXRMb2FkT2JqID0gZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICB2YXIgYSA9IG5ldyBPYmplY3Q7CiAgICAgICAgICAgIHJldHVybiBlLmxvYWRxdWV1ZSAmJiBqUXVlcnkuZWFjaChlLmxvYWRxdWV1ZSwgZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgICAgaS5zcmMgPT0gdCAmJiAoYSA9IGkpCiAgICAgICAgICAgIH0pLCBhCiAgICAgICAgfSwKICAgICAgICB3YWl0Rm9yQ3VycmVudEltYWdlcyA9IGZ1bmN0aW9uKG8sIHMsIGUpIHsKICAgICAgICAgICAgdmFyIGwgPSAhMTsKICAgICAgICAgICAgby5maW5kKCJpbWcsLmRlZmF1bHRpbWcsIC50cC1zdmctbGF5ZXIiKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyksCiAgICAgICAgICAgICAgICAgICAgaSA9IGUuZGF0YSgibGF6eWxvYWQiKSAhPSB1bmRlZmluZWQgPyBlLmRhdGEoImxhenlsb2FkIikgOiBlLmRhdGEoInN2Z19zcmMiKSAhPSB1bmRlZmluZWQgPyBlLmRhdGEoInN2Z19zcmMiKSA6IGUuYXR0cigic3JjIiksCiAgICAgICAgICAgICAgICAgICAgdCA9IGdldExvYWRPYmoocywgaSk7CiAgICAgICAgICAgICAgICBpZiAoZS5kYXRhKCJsb2FkZWQiKSA9PT0gdW5kZWZpbmVkICYmIHQgIT09IHVuZGVmaW5lZCAmJiB0LnByb2dyZXNzICYmIHQucHJvZ3Jlc3MubWF0Y2goL2xvYWRlZC9nKSkgewogICAgICAgICAgICAgICAgICAgIGlmIChlLmF0dHIoInNyYyIsIHQuc3JjKSwgImltZyIgPT0gdC50eXBlKQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5oYXNDbGFzcygiZGVmYXVsdGltZyIpKSBfUi5pc0lFKDgpID8gZGVmaW1nLmF0dHIoInNyYyIsIHQuc3JjKSA6IC0xID09IHQuc3JjLmluZGV4T2YoImltYWdlcy90cmFuc3BhcmVudC5wbmciKSAmJiAtMSA9PSB0LnNyYy5pbmRleE9mKCJhc3NldHMvdHJhbnNwYXJlbnQucG5nIikgfHwgZS5kYXRhKCJiZ2NvbG9yIikgPT09IHVuZGVmaW5lZCA/IGUuY3NzKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogJ3VybCgiJyArIHQuc3JjICsgJyIpJwogICAgICAgICAgICAgICAgICAgICAgICB9KSA6IGUuZGF0YSgiYmdjb2xvciIpICE9PSB1bmRlZmluZWQgJiYgZS5jc3MoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZS5kYXRhKCJiZ2NvbG9yIikKICAgICAgICAgICAgICAgICAgICAgICAgfSksIG8uZGF0YSgib3dpZHRoIiwgdC53aWR0aCksIG8uZGF0YSgib2hlaWdodCIsIHQuaGVpZ2h0KSwgby5maW5kKCIuc2xvdGhvbGRlciIpLmRhdGEoIm93aWR0aCIsIHQud2lkdGgpLCBvLmZpbmQoIi5zbG90aG9sZGVyIikuZGF0YSgib2hlaWdodCIsIHQuaGVpZ2h0KTsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYSA9IGUuZGF0YSgid3ciKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuID0gZS5kYXRhKCJoaCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5kYXRhKCJvd2lkdGgiLCB0LndpZHRoKSwgZS5kYXRhKCJvaGVpZ2h0IiwgdC5oZWlnaHQpLCBhID0gYSA9PSB1bmRlZmluZWQgfHwgImF1dG8iID09IGEgfHwgIiIgPT0gYSA/IHQud2lkdGggOiBhLCBuID0gbiA9PSB1bmRlZmluZWQgfHwgImF1dG8iID09IG4gfHwgIiIgPT0gbiA/IHQuaGVpZ2h0IDogbiwgIWpRdWVyeS5pc051bWVyaWMoYSkgJiYgMCA8IGEuaW5kZXhPZigiJSIpICYmIChuID0gYSksIGUuZGF0YSgid3ciLCBhKSwgZS5kYXRhKCJoaCIsIG4pCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlICJzdmciID09IHQudHlwZSAmJiAibG9hZGVkIiA9PSB0LnByb2dyZXNzICYmIChlLmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtc3ZnLWlubmVyY29udGFpbmVyIj48L2Rpdj4nKSwgZS5maW5kKCIudHAtc3ZnLWlubmVyY29udGFpbmVyIikuYXBwZW5kKHQuaW5uZXJIVE1MKSk7CiAgICAgICAgICAgICAgICAgICAgZS5kYXRhKCJsb2FkZWQiLCAhMCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICh0ICYmIHQucHJvZ3Jlc3MgJiYgdC5wcm9ncmVzcy5tYXRjaCgvaW5wcm9ncmVzc3xpbmxvYWR8cHJlcGFyZWQvZykgJiYgKCF0LmVycm9yICYmIGpRdWVyeS5ub3coKSAtIGUuZGF0YSgic3RhcnQtdG8tbG9hZCIpIDwgNWUzID8gbCA9ICEwIDogKHQucHJvZ3Jlc3MgPSAiZmFpbGVkIiwgdC5yZXBvcnRlZF9pbWcgfHwgKHQucmVwb3J0ZWRfaW1nID0gITAsIGNvbnNvbGUud2FybihpICsgIiAgQ291bGQgbm90IGJlIGxvYWRlZCAhIikpKSksIDEgPT0gcy55b3V0dWJlYXBpbmVlZGVkICYmICghd2luZG93LllUIHx8IFlULlBsYXllciA9PSB1bmRlZmluZWQpICYmIChsID0gITAsIDVlMyA8IGpRdWVyeS5ub3coKSAtIHMueW91dHViZXN0YXJ0dGltZSAmJiAxICE9IHMueW91dHViZXdhcm5pbmcpKSB7CiAgICAgICAgICAgICAgICAgICAgcy55b3V0dWJld2FybmluZyA9ICEwOwogICAgICAgICAgICAgICAgICAgIHZhciByID0gIllvdVR1YmUgQXBpIENvdWxkIG5vdCBiZSBsb2FkZWQgISI7CiAgICAgICAgICAgICAgICAgICAgImh0dHBzOiIgPT09IGxvY2F0aW9uLnByb3RvY29sICYmIChyICs9ICIgUGxlYXNlIENoZWNrIGFuZCBSZW5ldyBTU0wgQ2VydGlmaWNhdGUgISIpLCBjb25zb2xlLmVycm9yKHIpLCBzLmMuYXBwZW5kKCc8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwMCU7Y29sb3I6I2U3NGMzYzsgIGZvbnQtc2l6ZToxNnB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZzoxNXB4O2JhY2tncm91bmQ6IzAwMDsgZGlzcGxheTpibG9jazsiPjxzdHJvbmc+JyArIHIgKyAiPC9zdHJvbmc+PC9kaXY+IikKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIDEgPT0gcy52aW1lb2FwaW5lZWRlZCAmJiAhd2luZG93LlZpbWVvICYmIChsID0gITAsIDVlMyA8IGpRdWVyeS5ub3coKSAtIHMudmltZW9zdGFydHRpbWUgJiYgMSAhPSBzLnZpbWVvd2FybmluZykgJiYgKHMudmltZW93YXJuaW5nID0gITAsIHIgPSAiVmltZW8gQXBpIENvdWxkIG5vdCBiZSBsb2FkZWQgISIsICJodHRwczoiID09PSBsb2NhdGlvbi5wcm90b2NvbCAmJiAociArPSAiIFBsZWFzZSBDaGVjayBhbmQgUmVuZXcgU1NMIENlcnRpZmljYXRlICEiKSwgY29uc29sZS5lcnJvcihyKSwgcy5jLmFwcGVuZCgnPGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDoxMDAlO2NvbG9yOiNlNzRjM2M7ICBmb250LXNpemU6MTZweDsgdGV4dC1hbGlnbjpjZW50ZXI7IHBhZGRpbmc6MTVweDtiYWNrZ3JvdW5kOiMwMDA7IGRpc3BsYXk6YmxvY2s7Ij48c3Ryb25nPicgKyByICsgIjwvc3Ryb25nPjwvZGl2PiIpKQogICAgICAgICAgICB9KSwgIV9JU00gJiYgcy5hdWRpb3F1ZXVlICYmIDAgPCBzLmF1ZGlvcXVldWUubGVuZ3RoICYmIGpRdWVyeS5lYWNoKHMuYXVkaW9xdWV1ZSwgZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgICAgaS5zdGF0dXMgJiYgInByZXBhcmVkIiA9PT0gaS5zdGF0dXMgJiYgalF1ZXJ5Lm5vdygpIC0gaS5zdGFydCA8IGkud2FpdHRpbWUgJiYgKGwgPSAhMCkKICAgICAgICAgICAgfSksIGpRdWVyeS5lYWNoKHMubG9hZHF1ZXVlLCBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICAgICAhMCAhPT0gaS5zdGF0aWMgfHwgImxvYWRlZCIgPT0gaS5wcm9ncmVzcyAmJiAiZmFpbGVkIiAhPT0gaS5wcm9ncmVzcyB8fCAoImZhaWxlZCIgPT0gaS5wcm9ncmVzcyA/IGkucmVwb3J0ZWQgfHwgKGkucmVwb3J0ZWQgPSAhMCwgY29uc29sZS53YXJuKCJTdGF0aWMgSW1hZ2UgIiArIGkuc3JjICsgIiAgQ291bGQgbm90IGJlIGxvYWRlZCBpbiB0aW1lLiBFcnJvciBFeGlzdHM6IiArIGkuZXJyb3IpKSA6ICFpLmVycm9yICYmIGpRdWVyeS5ub3coKSAtIGkuc3RhcnR0b2xvYWQgPCA1ZTMgPyBsID0gITAgOiBpLnJlcG9ydGVkIHx8IChpLnJlcG9ydGVkID0gITAsIGNvbnNvbGUud2FybigiU3RhdGljIEltYWdlICIgKyBpLnNyYyArICIgIENvdWxkIG5vdCBiZSBsb2FkZWQgd2l0aGluIDVzISBFcnJvciBFeGlzdHM6IiArIGkuZXJyb3IpKSkKICAgICAgICAgICAgfSksIGwgPyBwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbCguMTgsIHdhaXRGb3JDdXJyZW50SW1hZ2VzLCBbbywgcywgZV0pIDogcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoLjE4LCBlKQogICAgICAgIH0sCiAgICAgICAgc3dhcFNsaWRlID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgaSA9IGVbMF0ub3B0OwogICAgICAgICAgICBpZiAoY2xlYXJUaW1lb3V0KGkud2FpdFdpdGhTd2FwU2xpZGUpLCAwIDwgZS5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLmxlbmd0aCkgcmV0dXJuIGkud2FpdFdpdGhTd2FwU2xpZGUgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgc3dhcFNsaWRlKGUpCiAgICAgICAgICAgIH0sIDE1MCksICExOwogICAgICAgICAgICB2YXIgdCA9IGUuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLAogICAgICAgICAgICAgICAgYSA9IGUuZmluZCgiLm5leHQtcmV2c2xpZGUiKSwKICAgICAgICAgICAgICAgIG4gPSBhLmZpbmQoIi5kZWZhdWx0aW1nIik7CiAgICAgICAgICAgIGlmICgiY2Fyb3VzZWwiICE9PSBpLnNsaWRlclR5cGUgfHwgaS5jYXJvdXNlbC5mYWRlaW4gfHwgKHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGkudWwsIDEsIHsKICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxCiAgICAgICAgICAgICAgICB9KSwgaS5jYXJvdXNlbC5mYWRlaW4gPSAhMCksIGEuaW5kZXgoKSA9PT0gdC5pbmRleCgpICYmICEwICE9PSBpLm9ubHlQcmVwYXJlZFNsaWRlKSByZXR1cm4gYS5yZW1vdmVDbGFzcygibmV4dC1yZXZzbGlkZSIpLCAhMTsKICAgICAgICAgICAgITAgPT09IGkub25seVByZXBhcmVkU2xpZGUgJiYgKGkub25seVByZXBhcmVkU2xpZGUgPSAhMSwgalF1ZXJ5KGkubGlbMF0pLmFkZENsYXNzKCJwcm9jZXNzaW5nLXJldnNsaWRlIikpLCBhLnJlbW92ZUNsYXNzKCJuZXh0LXJldnNsaWRlIikuYWRkQ2xhc3MoInByb2Nlc3NpbmctcmV2c2xpZGUiKSwgLTEgPT09IGEuaW5kZXgoKSAmJiAiY2Fyb3VzZWwiID09PSBpLnNsaWRlclR5cGUgJiYgKGEgPSBqUXVlcnkoaS5saVswXSkpLCBhLmRhdGEoInNsaWRlX29uX2ZvY3VzX2Ftb3VudCIsIGEuZGF0YSgic2xpZGVfb25fZm9jdXNfYW1vdW50IikgKyAxIHx8IDEpLCAib24iID09IGkuc3RvcExvb3AgJiYgYS5pbmRleCgpID09IGkubGFzdHNsaWRldG9zaG93IC0gMSAmJiAoZS5maW5kKCIudHAtYmFubmVydGltZXIiKS5jc3MoewogICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogImhpZGRlbiIKICAgICAgICAgICAgfSksIGUudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnN0b3AiKSwgaS5ub2xvb3Bhbnltb3JlID0gMSksIGEuaW5kZXgoKSA9PT0gaS5zbGlkZWFtb3VudCAtIDEgJiYgKGkubG9vcHRvZ28gPSBpLmxvb3B0b2dvIC0gMSwgaS5sb29wdG9nbyA8PSAwICYmIChpLnN0b3BMb29wID0gIm9uIikpLCBpLnRvbnBhdXNlID0gITAsIGUudHJpZ2dlcigic3RvcHRpbWVyIiksIGkuY2QgPSAwLCAib2ZmIiA9PT0gaS5zcGlubmVyICYmIChpLmxvYWRlciAhPT0gdW5kZWZpbmVkID8gaS5sb2FkZXIuY3NzKHsKICAgICAgICAgICAgICAgIGRpc3BsYXk6ICJub25lIgogICAgICAgICAgICB9KSA6IGkubG9hZGVydGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgaS5sb2FkZXIgIT09IHVuZGVmaW5lZCAmJiBpLmxvYWRlci5jc3MoewogICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICJibG9jayIKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0sIDUwKSksIGxvYWRJbWFnZXMoYSwgaSwgMSksIF9SLnByZUxvYWRBdWRpbyAmJiBfUi5wcmVMb2FkQXVkaW8oYSwgaSwgMSksIHdhaXRGb3JDdXJyZW50SW1hZ2VzKGEsIGksIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgYS5maW5kKCIucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgZS5oYXNDbGFzcygiSGFzTGlzdGVuZXIiKSB8fCAoZS5kYXRhKCJiZ3ZpZGVvIiwgMSksIF9SLm1hbmFnZVZpZGVvTGF5ZXIgJiYgX1IubWFuYWdlVmlkZW9MYXllcihlLCBpKSksIDAgPT0gZS5maW5kKCIucnMtZnVsbHZpZGVvLWNvdmVyIikubGVuZ3RoICYmIGUuYXBwZW5kKCc8ZGl2IGNsYXNzPSJycy1mdWxsdmlkZW8tY292ZXIiPjwvZGl2PicpCiAgICAgICAgICAgICAgICB9KSwgc3dhcFNsaWRlUHJvZ3Jlc3MobiwgZSkKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIHN3YXBTbGlkZVByb2dyZXNzID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICB2YXIgdCA9IGkuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLAogICAgICAgICAgICAgICAgYSA9IGkuZmluZCgiLnByb2Nlc3NpbmctcmV2c2xpZGUiKSwKICAgICAgICAgICAgICAgIG4gPSB0LmZpbmQoIi5zbG90aG9sZGVyIiksCiAgICAgICAgICAgICAgICByID0gYS5maW5kKCIuc2xvdGhvbGRlciIpLAogICAgICAgICAgICAgICAgbyA9IGlbMF0ub3B0OwogICAgICAgICAgICBvLnRvbnBhdXNlID0gITEsIG8uY2QgPSAwLCBjbGVhclRpbWVvdXQoby5sb2FkZXJ0aW1lciksIG8ubG9hZGVyICE9PSB1bmRlZmluZWQgJiYgby5sb2FkZXIuY3NzKHsKICAgICAgICAgICAgICAgIGRpc3BsYXk6ICJub25lIgogICAgICAgICAgICB9KSwgX1Iuc2V0U2l6ZShvKSwgX1Iuc2xvdFNpemUoZSwgbyksIF9SLm1hbmFnZU5hdmlnYXRpb24gJiYgX1IubWFuYWdlTmF2aWdhdGlvbihvKTsKICAgICAgICAgICAgdmFyIHMgPSB7fTsKICAgICAgICAgICAgcy5uZXh0c2xpZGUgPSBhLCBzLmN1cnJlbnRzbGlkZSA9IHQsIGkudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbmJlZm9yZXN3YXAiLCBzKSwgby50cmFuc2l0aW9uID0gMSwgby52aWRlb3BsYXlpbmcgPSAhMSwgYS5kYXRhKCJkZWxheSIpICE9IHVuZGVmaW5lZCA/IChvLmNkID0gMCwgby5kZWxheSA9IGEuZGF0YSgiZGVsYXkiKSkgOiBvLmRlbGF5ID0gby5vcmlnY2QsICJ0cnVlIiA9PSBhLmRhdGEoInNzb3AiKSB8fCAhMCA9PT0gYS5kYXRhKCJzc29wIikgPyBvLnNzb3AgPSAhMCA6IG8uc3NvcCA9ICExLCBpLnRyaWdnZXIoIm51bGx0aW1lciIpOwogICAgICAgICAgICB2YXIgbCwgZCA9IHQuaW5kZXgoKSwKICAgICAgICAgICAgICAgIGMgPSBhLmluZGV4KCk7CiAgICAgICAgICAgIGlmIChvLnNkaXIgPSBjIDwgZCA/IDEgOiAwLCAiYXJyb3ciID09IG8uc2NfaW5kaWNhdG9yICYmICgwID09IGQgJiYgYyA9PSBvLnNsaWRlYW1vdW50IC0gMSAmJiAoby5zZGlyID0gMSksIGQgPT0gby5zbGlkZWFtb3VudCAtIDEgJiYgMCA9PSBjICYmIChvLnNkaXIgPSAwKSksIG8ubHNkaXIgPSBvLmxzZGlyID09PSB1bmRlZmluZWQgPyBvLnNkaXIgOiBvLmxzZGlyLCBvLmRpcmMgPSBvLmxzZGlyICE9IG8uc2Rpciwgby5sc2RpciA9IG8uc2RpciwgdC5pbmRleCgpICE9IGEuaW5kZXgoKSAmJiAxICE9IG8uZmlyc3RzdGFydCAmJiBfUi5yZW1vdmVUaGVDYXB0aW9ucyAmJiBfUi5yZW1vdmVUaGVDYXB0aW9ucyh0LCBvKSwgYS5oYXNDbGFzcygicnMtcGF1c2UtdGltZXItb25jZSIpIHx8IGEuaGFzQ2xhc3MoInJzLXBhdXNlLXRpbWVyLWFsd2F5cyIpID8gby52aWRlb3BsYXlpbmcgPSAhMCA6IGkudHJpZ2dlcigicmVzdGFydHRpbWVyIiksIGEucmVtb3ZlQ2xhc3MoInJzLXBhdXNlLXRpbWVyLW9uY2UiKSwgby5jdXJyZW50U2xpZGUgPSB0LmluZGV4KCksIG8ubmV4dFNsaWRlID0gYS5pbmRleCgpLCAiY2Fyb3VzZWwiID09IG8uc2xpZGVyVHlwZSkgbCA9IG5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZSwgX1IucHJlcGFyZUNhcm91c2VsKG8sIGwpLCBsZXRJdEZyZWUoaSwgciwgbiwgYSwgdCwgbCksIG8udHJhbnNpdGlvbiA9IDAsIG8uZmlyc3RzdGFydCA9IDA7CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgKGwgPSBuZXcgcHVuY2hncy5UaW1lbGluZUxpdGUoewogICAgICAgICAgICAgICAgICAgIG9uQ29tcGxldGU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBsZXRJdEZyZWUoaSwgciwgbiwgYSwgdCwgbCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KSkuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChyLmZpbmQoIi5kZWZhdWx0aW1nIiksIHsKICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwCiAgICAgICAgICAgICAgICB9KSksIGwucGF1c2UoKSwgX1IuYW5pbWF0ZVRoZUNhcHRpb25zICYmIF9SLmFuaW1hdGVUaGVDYXB0aW9ucyh7CiAgICAgICAgICAgICAgICAgICAgc2xpZGU6IGEsCiAgICAgICAgICAgICAgICAgICAgb3B0OiBvLAogICAgICAgICAgICAgICAgICAgIHByZXNldDogITAKICAgICAgICAgICAgICAgIH0pLCAxID09IG8uZmlyc3RzdGFydCAmJiAocHVuY2hncy5Ud2VlbkxpdGUuc2V0KHQsIHsKICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAKICAgICAgICAgICAgICAgIH0pLCBvLmZpcnN0c3RhcnQgPSAwKSwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KHQsIHsKICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IDE4CiAgICAgICAgICAgICAgICB9KSwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEsIHsKICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAsCiAgICAgICAgICAgICAgICAgICAgekluZGV4OiAyMAogICAgICAgICAgICAgICAgfSksICJwcmVwYXJlZCIgPT0gYS5kYXRhKCJkaWZmZXJlbnRpc3NwbGF5ZWQiKSAmJiAoYS5kYXRhKCJkaWZmZXJlbnRpc3NwbGF5ZWQiLCAiZG9uZSIpLCBhLmRhdGEoInRyYW5zaXRpb24iLCBhLmRhdGEoInNhdmVkdHJhbnNpdGlvbiIpKSwgYS5kYXRhKCJzbG90YW1vdW50IiwgYS5kYXRhKCJzYXZlZHNsb3RhbW91bnQiKSksIGEuZGF0YSgibWFzdGVyc3BlZWQiLCBhLmRhdGEoInNhdmVkbWFzdGVyc3BlZWQiKSkpLCBhLmRhdGEoImZzdHJhbnNpdGlvbiIpICE9IHVuZGVmaW5lZCAmJiAiZG9uZSIgIT0gYS5kYXRhKCJkaWZmZXJlbnRpc3NwbGF5ZWQiKSAmJiAoYS5kYXRhKCJzYXZlZHRyYW5zaXRpb24iLCBhLmRhdGEoInRyYW5zaXRpb24iKSksIGEuZGF0YSgic2F2ZWRzbG90YW1vdW50IiwgYS5kYXRhKCJzbG90YW1vdW50IikpLCBhLmRhdGEoInNhdmVkbWFzdGVyc3BlZWQiLCBhLmRhdGEoIm1hc3RlcnNwZWVkIikpLCBhLmRhdGEoInRyYW5zaXRpb24iLCBhLmRhdGEoImZzdHJhbnNpdGlvbiIpKSwgYS5kYXRhKCJzbG90YW1vdW50IiwgYS5kYXRhKCJmc3Nsb3RhbW91bnQiKSksIGEuZGF0YSgibWFzdGVyc3BlZWQiLCBhLmRhdGEoImZzbWFzdGVyc3BlZWQiKSksIGEuZGF0YSgiZGlmZmVyZW50aXNzcGxheWVkIiwgInByZXBhcmVkIikpLCBhLmRhdGEoInRyYW5zaXRpb24iKSA9PSB1bmRlZmluZWQgJiYgYS5kYXRhKCJ0cmFuc2l0aW9uIiwgInJhbmRvbSIpOwogICAgICAgICAgICAgICAgdmFyIHUgPSBhLmRhdGEoInRyYW5zaXRpb24iKSAhPT0gdW5kZWZpbmVkID8gYS5kYXRhKCJ0cmFuc2l0aW9uIikuc3BsaXQoIiwiKSA6ICJmYWRlIiwKICAgICAgICAgICAgICAgICAgICBwID0gYS5kYXRhKCJuZXh0dHJhbnNpZCIpID09IHVuZGVmaW5lZCA/IC0xIDogYS5kYXRhKCJuZXh0dHJhbnNpZCIpOwogICAgICAgICAgICAgICAgIm9uIiA9PSBhLmRhdGEoInJhbmRvbXRyYW5zaXRpb24iKSA/IHAgPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiB1Lmxlbmd0aCkgOiBwICs9IDEsIHAgPT0gdS5sZW5ndGggJiYgKHAgPSAwKSwgYS5kYXRhKCJuZXh0dHJhbnNpZCIsIHApOwogICAgICAgICAgICAgICAgdmFyIGYgPSB1W3BdOwogICAgICAgICAgICAgICAgby5pZSAmJiAoImJveGZhZGUiID09IGYgJiYgKGYgPSAiYm94c2xpZGUiKSwgInNsb3RmYWRlLXZlcnRpY2FsIiA9PSBmICYmIChmID0gInNsb3R6b29tLXZlcnRpY2FsIiksICJzbG90ZmFkZS1ob3Jpem9udGFsIiA9PSBmICYmIChmID0gInNsb3R6b29tLWhvcml6b250YWwiKSksIF9SLmlzSUUoOCkgJiYgKGYgPSAxMSksIGwgPSBfUi5hbmltYXRlU2xpZGUoMCwgZiwgaSwgYSwgdCwgciwgbiwgbCksICJvbiIgPT0gci5kYXRhKCJrZW5idXJucyIpICYmIChfUi5zdGFydEtlbkJ1cm4ociwgbyksIGwuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChyLCB7CiAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwCiAgICAgICAgICAgICAgICB9KSkpLCBsLnBhdXNlKCkKICAgICAgICAgICAgfQogICAgICAgICAgICBfUi5zY3JvbGxIYW5kbGluZyAmJiAoX1Iuc2Nyb2xsSGFuZGxpbmcobywgITAsIDApLCBsLmV2ZW50Q2FsbGJhY2soIm9uVXBkYXRlIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBfUi5zY3JvbGxIYW5kbGluZyhvLCAhMCwgMCkKICAgICAgICAgICAgfSkpLCAib2ZmIiAhPSBvLnBhcmFsbGF4LnR5cGUgJiYgby5wYXJhbGxheC5maXJzdGdvID09IHVuZGVmaW5lZCAmJiBfUi5zY3JvbGxIYW5kbGluZyAmJiAoby5wYXJhbGxheC5maXJzdGdvID0gITAsIG8ubGFzdHNjcm9sbHRvcCA9IC05OTksIF9SLnNjcm9sbEhhbmRsaW5nKG8sICEwLCAwKSwgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIG8ubGFzdHNjcm9sbHRvcCA9IC05OTksIF9SLnNjcm9sbEhhbmRsaW5nKG8sICEwLCAwKQogICAgICAgICAgICB9LCAyMTApLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgby5sYXN0c2Nyb2xsdG9wID0gLTk5OSwgX1Iuc2Nyb2xsSGFuZGxpbmcobywgITAsIDApCiAgICAgICAgICAgIH0sIDQyMCkpLCBfUi5hbmltYXRlVGhlQ2FwdGlvbnMgPyAiY2Fyb3VzZWwiID09PSBvLnNsaWRlclR5cGUgJiYgIm9uIiA9PT0gby5jYXJvdXNlbC5zaG93TGF5ZXJzQWxsVGltZSA/IChqUXVlcnkuZWFjaChvLmxpLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBvLmNhcm91c2VsLmFsbExheWVyc1N0YXJ0ZWQgPyBfUi5hbmltYXRlVGhlQ2FwdGlvbnMoewogICAgICAgICAgICAgICAgICAgIHNsaWRlOiBqUXVlcnkoby5saVtlXSksCiAgICAgICAgICAgICAgICAgICAgb3B0OiBvLAogICAgICAgICAgICAgICAgICAgIHJlY2FsbDogITAKICAgICAgICAgICAgICAgIH0pIDogby5saVtlXSA9PT0gYSA/IF9SLmFuaW1hdGVUaGVDYXB0aW9ucyh7CiAgICAgICAgICAgICAgICAgICAgc2xpZGU6IGpRdWVyeShvLmxpW2VdKSwKICAgICAgICAgICAgICAgICAgICBtYWludGltZWxpbmU6IGwsCiAgICAgICAgICAgICAgICAgICAgb3B0OiBvLAogICAgICAgICAgICAgICAgICAgIHN0YXJ0c2xpZGVhbmltYXQ6IDAKICAgICAgICAgICAgICAgIH0pIDogX1IuYW5pbWF0ZVRoZUNhcHRpb25zKHsKICAgICAgICAgICAgICAgICAgICBzbGlkZTogalF1ZXJ5KG8ubGlbZV0pLAogICAgICAgICAgICAgICAgICAgIG9wdDogbywKICAgICAgICAgICAgICAgICAgICBzdGFydHNsaWRlYW5pbWF0OiAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9KSwgby5jYXJvdXNlbC5hbGxMYXllcnNTdGFydGVkID0gITApIDogX1IuYW5pbWF0ZVRoZUNhcHRpb25zKHsKICAgICAgICAgICAgICAgIHNsaWRlOiBhLAogICAgICAgICAgICAgICAgb3B0OiBvLAogICAgICAgICAgICAgICAgbWFpbnRpbWVsaW5lOiBsLAogICAgICAgICAgICAgICAgc3RhcnRzbGlkZWFuaW1hdDogMAogICAgICAgICAgICB9KSA6IGwgIT0gdW5kZWZpbmVkICYmIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBsLnJlc3VtZSgpCiAgICAgICAgICAgIH0sIDMwKSwgcHVuY2hncy5Ud2VlbkxpdGUudG8oYSwgLjAwMSwgewogICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBsZXRJdEZyZWUgPSBmdW5jdGlvbihlLCBpLCB0LCBhLCBuLCByKSB7CiAgICAgICAgICAgIHZhciBvID0gZVswXS5vcHQ7CiAgICAgICAgICAgICJjYXJvdXNlbCIgPT09IG8uc2xpZGVyVHlwZSB8fCAoby5yZW1vdmVQcmVwYXJlID0gMCwgcHVuY2hncy5Ud2VlbkxpdGUudG8oaS5maW5kKCIuZGVmYXVsdGltZyIpLCAuMDAxLCB7CiAgICAgICAgICAgICAgICB6SW5kZXg6IDIwLAogICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxLAogICAgICAgICAgICAgICAgb25Db21wbGV0ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlU2xvdHMoZSwgbywgYSwgMSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSksIGEuaW5kZXgoKSAhPSBuLmluZGV4KCkgJiYgcHVuY2hncy5Ud2VlbkxpdGUudG8obiwgLjIsIHsKICAgICAgICAgICAgICAgIHpJbmRleDogMTgsCiAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAsCiAgICAgICAgICAgICAgICBvbkNvbXBsZXRlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZW1vdmVTbG90cyhlLCBvLCBuLCAxKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSksIGUuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUtcmV2c2xpZGUiKSwgZS5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJwcm9jZXNzaW5nLXJldnNsaWRlIikuYWRkQ2xhc3MoImFjdGl2ZS1yZXZzbGlkZSIpLCBvLmFjdCA9IGEuaW5kZXgoKSwgby5jLmF0dHIoImRhdGEtc2xpZGVhY3RpdmUiLCBlLmZpbmQoIi5hY3RpdmUtcmV2c2xpZGUiKS5kYXRhKCJpbmRleCIpKSwgInNjcm9sbCIgIT0gby5wYXJhbGxheC50eXBlICYmICJzY3JvbGwrbW91c2UiICE9IG8ucGFyYWxsYXgudHlwZSAmJiAibW91c2Urc2Nyb2xsIiAhPSBvLnBhcmFsbGF4LnR5cGUgfHwgKG8ubGFzdHNjcm9sbHRvcCA9IC05OTksIF9SLnNjcm9sbEhhbmRsaW5nKG8pKSwgci5jbGVhcigpLCB0LmRhdGEoImtidGwiKSAhPSB1bmRlZmluZWQgJiYgKHQuZGF0YSgia2J0bCIpLnJldmVyc2UoKSwgdC5kYXRhKCJrYnRsIikudGltZVNjYWxlKDI1KSksICJvbiIgPT0gaS5kYXRhKCJrZW5idXJucyIpICYmIChpLmRhdGEoImtidGwiKSAhPSB1bmRlZmluZWQgPyAoaS5kYXRhKCJrYnRsIikudGltZVNjYWxlKDEpLCBpLmRhdGEoImtidGwiKS5wbGF5KCkpIDogX1Iuc3RhcnRLZW5CdXJuKGksIG8pKSwgYS5maW5kKCIucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpLmVhY2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgaWYgKF9JU00gJiYgIW8uZmFsbGJhY2tzLmFsbG93SFRNTDVBdXRvUGxheU9uQW5kcm9pZCkgcmV0dXJuICExOwogICAgICAgICAgICAgICAgdmFyIGkgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICBfUi5yZXNldFZpZGVvKGksIG8sICExLCAhMCksIHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhpLCAxLCB7CiAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxLAogICAgICAgICAgICAgICAgICAgIGVhc2U6IHB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dCwKICAgICAgICAgICAgICAgICAgICBkZWxheTogLjIsCiAgICAgICAgICAgICAgICAgICAgb25Db21wbGV0ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIF9SLmFuaW1jb21wbGV0ZWQgJiYgX1IuYW5pbWNvbXBsZXRlZChpLCBvKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0pLCBuLmZpbmQoIi5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIikuZWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBpZiAoX0lTTSkgcmV0dXJuICExOwogICAgICAgICAgICAgICAgdmFyIGkgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICBfUi5zdG9wVmlkZW8gJiYgKF9SLnJlc2V0VmlkZW8oaSwgbyksIF9SLnN0b3BWaWRlbyhpLCBvKSksIHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGksIDEsIHsKICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAsCiAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0LAogICAgICAgICAgICAgICAgICAgIGRlbGF5OiAuMgogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHZhciBzID0ge307CiAgICAgICAgICAgIGlmIChzLnNsaWRlSW5kZXggPSBhLmluZGV4KCkgKyAxLCBzLnNsaWRlTElJbmRleCA9IGEuaW5kZXgoKSwgcy5zbGlkZSA9IGEsIHMuY3VycmVudHNsaWRlID0gYSwgcy5wcmV2c2xpZGUgPSBuLCBvLmxhc3Rfc2hvd25fc2xpZGUgPSBuLmluZGV4KCksIGUudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbmNoYW5nZSIsIHMpLCBlLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25hZnRlcnN3YXAiLCBzKSwgby5zdGFydFdpdGhTbGlkZSAhPT0gdW5kZWZpbmVkICYmICJkb25lIiAhPT0gby5zdGFydFdpdGhTbGlkZSAmJiAiY2Fyb3VzZWwiID09PSBvLnNsaWRlclR5cGUpIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIGwgPSBvLnN0YXJ0V2l0aFNsaWRlLCBkID0gMDsgZCA8PSBvLmxpLmxlbmd0aCAtIDE7IGQrKykgalF1ZXJ5KG8ubGlbZF0pLmRhdGEoIm9yaWdpbmFsaW5kZXgiKSA9PT0gby5zdGFydFdpdGhTbGlkZSAmJiAobCA9IGQpOwogICAgICAgICAgICAgICAgMCAhPT0gbCAmJiBfUi5jYWxsaW5nTmV3U2xpZGUoby5jLCBsKSwgby5zdGFydFdpdGhTbGlkZSA9ICJkb25lIgogICAgICAgICAgICB9CiAgICAgICAgICAgIG8uZHVyaW5nc2xpZGVjaGFuZ2UgPSAhMTsKICAgICAgICAgICAgdmFyIGMgPSBuLmRhdGEoInNsaWRlX29uX2ZvY3VzX2Ftb3VudCIpLAogICAgICAgICAgICAgICAgdSA9IG4uZGF0YSgiaGlkZWFmdGVybG9vcCIpOwogICAgICAgICAgICAwICE9IHUgJiYgdSA8PSBjICYmIG8uYy5yZXZyZW1vdmVzbGlkZShuLmluZGV4KCkpOwogICAgICAgICAgICB2YXIgcCA9IC0xID09PSBvLm5leHRTbGlkZSB8fCBvLm5leHRTbGlkZSA9PT0gdW5kZWZpbmVkID8gMCA6IG8ubmV4dFNsaWRlOwogICAgICAgICAgICBvLnJvd3pvbmVzICE9IHVuZGVmaW5lZCAmJiAocCA9IHAgPiBvLnJvd3pvbmVzLmxlbmd0aCA/IG8ucm93em9uZXMubGVuZ3RoIDogcCksIG8ucm93em9uZXMgIT0gdW5kZWZpbmVkICYmIDAgPCBvLnJvd3pvbmVzLmxlbmd0aCAmJiBvLnJvd3pvbmVzW3BdICE9IHVuZGVmaW5lZCAmJiAwIDw9IHAgJiYgcCA8PSBvLnJvd3pvbmVzLmxlbmd0aCAmJiAwIDwgby5yb3d6b25lc1twXS5sZW5ndGggJiYgX1Iuc2V0U2l6ZShvKQogICAgICAgIH0sCiAgICAgICAgcmVtb3ZlQWxsTGlzdGVuZXJzID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICBlLmNoaWxkcmVuKCkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KHRoaXMpLmRpZSgiY2xpY2siKQogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge30KICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KHRoaXMpLmRpZSgibW91c2VlbnRlciIpCiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fQogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICBqUXVlcnkodGhpcykuZGllKCJtb3VzZWxlYXZlIikKICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgIGpRdWVyeSh0aGlzKS51bmJpbmQoImhvdmVyIikKICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgZS5kaWUoImNsaWNrIiwgIm1vdXNlZW50ZXIiLCAibW91c2VsZWF2ZSIpCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaS5jZGludCksIGUgPSBudWxsCiAgICAgICAgfSwKICAgICAgICBjb3VudERvd24gPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIGkuY2QgPSAwLCBpLmxvb3AgPSAwLCBpLnN0b3BBZnRlckxvb3BzICE9IHVuZGVmaW5lZCAmJiAtMSA8IGkuc3RvcEFmdGVyTG9vcHMgPyBpLmxvb3B0b2dvID0gaS5zdG9wQWZ0ZXJMb29wcyA6IGkubG9vcHRvZ28gPSA5OTk5OTk5LCBpLnN0b3BBdFNsaWRlICE9IHVuZGVmaW5lZCAmJiAtMSA8IGkuc3RvcEF0U2xpZGUgPyBpLmxhc3RzbGlkZXRvc2hvdyA9IGkuc3RvcEF0U2xpZGUgOiBpLmxhc3RzbGlkZXRvc2hvdyA9IDk5OSwgaS5zdG9wTG9vcCA9ICJvZmYiLCAwID09IGkubG9vcHRvZ28gJiYgKGkuc3RvcExvb3AgPSAib24iKTsKICAgICAgICAgICAgdmFyIHQgPSBlLmZpbmQoIi50cC1iYW5uZXJ0aW1lciIpOwogICAgICAgICAgICBlLm9uKCJzdG9wdGltZXIiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpLmZpbmQoIi50cC1iYW5uZXJ0aW1lciIpOwogICAgICAgICAgICAgICAgZVswXS50d2Vlbi5wYXVzZSgpLCAib24iID09IGkuZGlzYWJsZVByb2dyZXNzQmFyICYmIGUuY3NzKHsKICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAiaGlkZGVuIgogICAgICAgICAgICAgICAgfSksIGkuc2xpZGVyc3RhdHVzID0gInBhdXNlZCIsIF9SLnVuVG9nZ2xlU3RhdGUoaS5zbGlkZXJ0b2dnbGVkYnkpCiAgICAgICAgICAgIH0pLCBlLm9uKCJzdGFydHRpbWVyIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpLmZvcmNlcGF1c2VfdmlhdG9nZ2xlIHx8ICgxICE9IGkuY29udGhvdmVyICYmIDEgIT0gaS52aWRlb3BsYXlpbmcgJiYgaS53aWR0aCA+IGkuaGlkZVNsaWRlckF0TGltaXQgJiYgMSAhPSBpLnRvbnBhdXNlICYmIDEgIT0gaS5vdmVybmF2ICYmIDEgIT0gaS5zc29wICYmICgxID09PSBpLm5vbG9vcGFueW1vcmUgfHwgaS52aWV3UG9ydC5lbmFibGUgJiYgIWkuaW52aWV3cG9ydCB8fCAodC5jc3MoewogICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICJ2aXNpYmxlIgogICAgICAgICAgICAgICAgfSksIHRbMF0udHdlZW4ucmVzdW1lKCksIGkuc2xpZGVyc3RhdHVzID0gInBsYXlpbmciKSksICJvbiIgPT0gaS5kaXNhYmxlUHJvZ3Jlc3NCYXIgJiYgdC5jc3MoewogICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICJoaWRkZW4iCiAgICAgICAgICAgICAgICB9KSwgX1IudG9nZ2xlU3RhdGUoaS5zbGlkZXJ0b2dnbGVkYnkpKQogICAgICAgICAgICB9KSwgZS5vbigicmVzdGFydHRpbWVyIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpZiAoIWkuZm9yY2VwYXVzZV92aWF0b2dnbGUpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKS5maW5kKCIudHAtYmFubmVydGltZXIiKTsKICAgICAgICAgICAgICAgICAgICBpZiAoaS5tb3VzZW9uY29udGFpbmVyICYmICJvbiIgPT0gaS5uYXZpZ2F0aW9uLm9uSG92ZXJTdG9wICYmICFfSVNNKSByZXR1cm4gITE7CiAgICAgICAgICAgICAgICAgICAgMSA9PT0gaS5ub2xvb3Bhbnltb3JlIHx8IGkudmlld1BvcnQuZW5hYmxlICYmICFpLmludmlld3BvcnQgfHwgMSA9PSBpLnNzb3AgfHwgKGUuY3NzKHsKICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogInZpc2libGUiCiAgICAgICAgICAgICAgICAgICAgfSksIGVbMF0udHdlZW4ua2lsbCgpLCBlWzBdLnR3ZWVuID0gcHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGUsIGkuZGVsYXkgLyAxZTMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICIwJSIKICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICIxMDAlIiwKICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5MaW5lYXIuZWFzZU5vbmUsCiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ29tcGxldGU6IGEsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiAxCiAgICAgICAgICAgICAgICAgICAgfSksIGkuc2xpZGVyc3RhdHVzID0gInBsYXlpbmciKSwgIm9uIiA9PSBpLmRpc2FibGVQcm9ncmVzc0JhciAmJiBlLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICJoaWRkZW4iCiAgICAgICAgICAgICAgICAgICAgfSksIF9SLnRvZ2dsZVN0YXRlKGkuc2xpZGVydG9nZ2xlZGJ5KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSwgZS5vbigibnVsbHRpbWVyIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB0WzBdLnR3ZWVuLmtpbGwoKSwgdFswXS50d2VlbiA9IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21Ubyh0LCBpLmRlbGF5IC8gMWUzLCB7CiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICIwJSIKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICIxMDAlIiwKICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLkxpbmVhci5lYXNlTm9uZSwKICAgICAgICAgICAgICAgICAgICBvbkNvbXBsZXRlOiBhLAogICAgICAgICAgICAgICAgICAgIGRlbGF5OiAxCiAgICAgICAgICAgICAgICB9KSwgdFswXS50d2Vlbi5wYXVzZSgwKSwgIm9uIiA9PSBpLmRpc2FibGVQcm9ncmVzc0JhciAmJiB0LmNzcyh7CiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogImhpZGRlbiIKICAgICAgICAgICAgICAgIH0pLCBpLnNsaWRlcnN0YXR1cyA9ICJwYXVzZWQiCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB2YXIgYSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgMCA9PSBqUXVlcnkoImJvZHkiKS5maW5kKGUpLmxlbmd0aCAmJiAocmVtb3ZlQWxsTGlzdGVuZXJzKGUsIGkpLCBjbGVhckludGVydmFsKGkuY2RpbnQpKSwgZS50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLnNsaWRlYXRlbmQiKSwgMSA9PSBlLmRhdGEoImNvbnRob3Zlci1jaGFuZ2VkIikgJiYgKGkuY29udGhvdmVyID0gZS5kYXRhKCJjb250aG92ZXIiKSwgZS5kYXRhKCJjb250aG92ZXItY2hhbmdlZCIsIDApKSwgX1IuY2FsbGluZ05ld1NsaWRlKGUsIDEpCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHRbMF0udHdlZW4gPSBwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8odCwgaS5kZWxheSAvIDFlMywgewogICAgICAgICAgICAgICAgd2lkdGg6ICIwJSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgd2lkdGg6ICIxMDAlIiwKICAgICAgICAgICAgICAgIGVhc2U6IHB1bmNoZ3MuTGluZWFyLmVhc2VOb25lLAogICAgICAgICAgICAgICAgb25Db21wbGV0ZTogYSwKICAgICAgICAgICAgICAgIGRlbGF5OiAxCiAgICAgICAgICAgIH0pLCAxIDwgaS5zbGlkZWFtb3VudCAmJiAoMCAhPSBpLnN0b3BBZnRlckxvb3BzIHx8IDEgIT0gaS5zdG9wQXRTbGlkZSkgPyBlLnRyaWdnZXIoInN0YXJ0dGltZXIiKSA6IChpLm5vbG9vcGFueW1vcmUgPSAxLCBlLnRyaWdnZXIoIm51bGx0aW1lciIpKSwgZS5vbigidHAtbW91c2VlbnRlciIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgaS5tb3VzZW9uY29udGFpbmVyID0gITAsICJvbiIgIT0gaS5uYXZpZ2F0aW9uLm9uSG92ZXJTdG9wIHx8IF9JU00gfHwgKGUudHJpZ2dlcigic3RvcHRpbWVyIiksIGUudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnBhdXNlIikpCiAgICAgICAgICAgIH0pLCBlLm9uKCJ0cC1tb3VzZWxlZnQiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGkubW91c2VvbmNvbnRhaW5lciA9ICExLCAxICE9IGUuZGF0YSgiY29udGhvdmVyIikgJiYgIm9uIiA9PSBpLm5hdmlnYXRpb24ub25Ib3ZlclN0b3AgJiYgKDEgPT0gaS52aWV3UG9ydC5lbmFibGUgJiYgaS5pbnZpZXdwb3J0IHx8IDAgPT0gaS52aWV3UG9ydC5lbmFibGUpICYmIChlLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25yZXN1bWUiKSwgZS50cmlnZ2VyKCJzdGFydHRpbWVyIikpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICB2aXMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGksIHQsIGUgPSB7CiAgICAgICAgICAgICAgICBoaWRkZW46ICJ2aXNpYmlsaXR5Y2hhbmdlIiwKICAgICAgICAgICAgICAgIHdlYmtpdEhpZGRlbjogIndlYmtpdHZpc2liaWxpdHljaGFuZ2UiLAogICAgICAgICAgICAgICAgbW96SGlkZGVuOiAibW96dmlzaWJpbGl0eWNoYW5nZSIsCiAgICAgICAgICAgICAgICBtc0hpZGRlbjogIm1zdmlzaWJpbGl0eWNoYW5nZSIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgZm9yIChpIGluIGUpCiAgICAgICAgICAgICAgICBpZiAoaSBpbiBkb2N1bWVudCkgewogICAgICAgICAgICAgICAgICAgIHQgPSBlW2ldOwogICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZSAmJiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsIGUsIHsKICAgICAgICAgICAgICAgICAgICBwYXNpdmU6ICEwCiAgICAgICAgICAgICAgICB9KSwgIWRvY3VtZW50W2ldCiAgICAgICAgICAgIH0KICAgICAgICB9KCksCiAgICAgICAgcmVzdGFydE9uRm9jdXMgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgalF1ZXJ5KCIucmV2X3JlZHJhd19vbl9ibHVyZm9jdXMiKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcylbMF0ub3B0OwogICAgICAgICAgICAgICAgaWYgKGUgPT0gdW5kZWZpbmVkIHx8IGUuYyA9PSB1bmRlZmluZWQgfHwgMCA9PT0gZS5jLmxlbmd0aCkgcmV0dXJuICExOwogICAgICAgICAgICAgICAgMSAhPSBlLndpbmRvd2ZvY3VzZWQgJiYgKGUud2luZG93Zm9jdXNlZCA9ICEwLCBwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbCguMywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgIm9uIiA9PSBlLmZhbGxiYWNrcy5uZXh0U2xpZGVPbldpbmRvd0ZvY3VzICYmIGUuYy5yZXZuZXh0KCksIGUuYy5yZXZyZWRyYXcoKSwgInBsYXlpbmciID09IGUubGFzdHNsaWRlcnN0YXR1cyAmJiBlLmMucmV2cmVzdW1lKCkKICAgICAgICAgICAgICAgIH0pKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgbGFzdFN0YXRCbHVyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGpRdWVyeSgiLnJldl9yZWRyYXdfb25fYmx1cmZvY3VzIikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpWzBdLm9wdDsKICAgICAgICAgICAgICAgIGUud2luZG93Zm9jdXNlZCA9ICExLCBlLmxhc3RzbGlkZXJzdGF0dXMgPSBlLnNsaWRlcnN0YXR1cywgZS5jLnJldnBhdXNlKCk7CiAgICAgICAgICAgICAgICB2YXIgaSA9IGUuYy5maW5kKCIuYWN0aXZlLXJldnNsaWRlIC5zbG90aG9sZGVyIiksCiAgICAgICAgICAgICAgICAgICAgdCA9IGUuYy5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSAuc2xvdGhvbGRlciIpOwogICAgICAgICAgICAgICAgIm9uIiA9PSB0LmRhdGEoImtlbmJ1cm5zIikgJiYgX1Iuc3RvcEtlbkJ1cm4odCwgZSksICJvbiIgPT0gaS5kYXRhKCJrZW5idXJucyIpICYmIF9SLnN0b3BLZW5CdXJuKGksIGUpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICB0YWJCbHVycmluZ0NoZWNrID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBlID0gZG9jdW1lbnQuZG9jdW1lbnRNb2RlID09PSB1bmRlZmluZWQsCiAgICAgICAgICAgICAgICBpID0gd2luZG93LmNocm9tZTsKICAgICAgICAgICAgMSAhPT0galF1ZXJ5KCJib2R5IikuZGF0YSgicmV2c2xpZGVyX2ZvY3VzX2JsdXJfbGlzdGVuZXIiKSAmJiAoalF1ZXJ5KCJib2R5IikuZGF0YSgicmV2c2xpZGVyX2ZvY3VzX2JsdXJfbGlzdGVuZXIiLCAxKSwgZSAmJiAhaSA/IGpRdWVyeSh3aW5kb3cpLm9uKCJmb2N1c2luIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByZXN0YXJ0T25Gb2N1cygpCiAgICAgICAgICAgIH0pLm9uKCJmb2N1c291dCIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbGFzdFN0YXRCbHVyKCkKICAgICAgICAgICAgfSkgOiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciA/ICh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICByZXN0YXJ0T25Gb2N1cygpCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIGNhcHR1cmU6ICExLAogICAgICAgICAgICAgICAgcGFzc2l2ZTogITAKICAgICAgICAgICAgfSksIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgbGFzdFN0YXRCbHVyKCkKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgY2FwdHVyZTogITEsCiAgICAgICAgICAgICAgICBwYXNzaXZlOiAhMAogICAgICAgICAgICB9KSkgOiAod2luZG93LmF0dGFjaEV2ZW50KCJmb2N1cyIsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHJlc3RhcnRPbkZvY3VzKCkKICAgICAgICAgICAgfSksIHdpbmRvdy5hdHRhY2hFdmVudCgiYmx1ciIsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGxhc3RTdGF0Qmx1cigpCiAgICAgICAgICAgIH0pKSkKICAgICAgICB9LAogICAgICAgIGdldFVybFZhcnMgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGZvciAodmFyIGksIHQgPSBbXSwgYSA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNsaWNlKHdpbmRvdy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoZSkgKyAxKS5zcGxpdCgiXyIpLCBuID0gMDsgbiA8IGEubGVuZ3RoOyBuKyspIGFbbl0gPSBhW25dLnJlcGxhY2UoIiUzRCIsICI9IiksIGkgPSBhW25dLnNwbGl0KCI9IiksIHQucHVzaChpWzBdKSwgdFtpWzBdXSA9IGlbMV07CiAgICAgICAgICAgIHJldHVybiB0CiAgICAgICAgfQp9KGpRdWVyeSk7CiEgZnVuY3Rpb24oJCkgewogICAgInVzZSBzdHJpY3QiOwoKICAgIGZ1bmN0aW9uIGdldFNjcm9sbFJvb3QoKSB7CiAgICAgICAgdmFyIGUsIHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsCiAgICAgICAgICAgIG8gPSBkb2N1bWVudC5ib2R5LAogICAgICAgICAgICBhID0gKHZvaWQgMCAhPT0gd2luZG93LnBhZ2VZT2Zmc2V0ID8gd2luZG93LnBhZ2VZT2Zmc2V0IDogbnVsbCkgfHwgby5zY3JvbGxUb3AgfHwgdC5zY3JvbGxUb3A7CiAgICAgICAgcmV0dXJuIHQuc2Nyb2xsVG9wID0gby5zY3JvbGxUb3AgPSBhICsgKDAgPCBhKSA/IC0xIDogMSwgKGUgPSB0LnNjcm9sbFRvcCAhPT0gYSA/IHQgOiBvKS5zY3JvbGxUb3AgPSBhLCBlCiAgICB9CiAgICB2YXIgX1IgPSBqUXVlcnkuZm4ucmV2b2x1dGlvbiwKICAgICAgICBfSVNNID0gX1IuaXNfbW9iaWxlKCksCiAgICAgICAgZXh0ZW5zaW9uID0gewogICAgICAgICAgICBhbGlhczogIkFjdGlvbnMgTWluIEpTIiwKICAgICAgICAgICAgbmFtZTogInJldm9sdXRpb24uZXh0ZW5zaW9ucy5hY3Rpb25zLm1pbi5qcyIsCiAgICAgICAgICAgIG1pbl9jb3JlOiAiNS40LjUiLAogICAgICAgICAgICB2ZXJzaW9uOiAiMi4xLjAiCiAgICAgICAgfTsKICAgIGpRdWVyeS5leHRlbmQoITAsIF9SLCB7CiAgICAgICAgY2hlY2tBY3Rpb25zOiBmdW5jdGlvbihlLCB0LCBvKSB7CiAgICAgICAgICAgIGlmICgic3RvcCIgPT09IF9SLmNvbXBhcmVfdmVyc2lvbihleHRlbnNpb24pLmNoZWNrKSByZXR1cm4gITE7CiAgICAgICAgICAgIGNoZWNrQWN0aW9uc19pbnRlcm4oZSwgdCwgbykKICAgICAgICB9CiAgICB9KTsKICAgIHZhciBjaGVja0FjdGlvbnNfaW50ZXJuID0gZnVuY3Rpb24obCwgciwgZSkgewogICAgICAgICAgICBlICYmIGpRdWVyeS5lYWNoKGUsIGZ1bmN0aW9uKGUsIGEpIHsKICAgICAgICAgICAgICAgIGEuZGVsYXkgPSBwYXJzZUludChhLmRlbGF5LCAwKSAvIDFlMywgbC5hZGRDbGFzcygidHAtd2l0aGFjdGlvbiIpLCByLmZ1bGxzY3JlZW5fZXNjbGlzdGVuZXIgfHwgImV4aXRmdWxsc2NyZWVuIiAhPSBhLmFjdGlvbiAmJiAidG9nZ2xlZnVsbHNjcmVlbiIgIT0gYS5hY3Rpb24gfHwgKGpRdWVyeShkb2N1bWVudCkua2V5dXAoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIDI3ID09IGUua2V5Q29kZSAmJiAwIDwgalF1ZXJ5KCIjcnMtZ28tZnVsbHNjcmVlbiIpLmxlbmd0aCAmJiBsLnRyaWdnZXIoYS5ldmVudCkKICAgICAgICAgICAgICAgIH0pLCByLmZ1bGxzY3JlZW5fZXNjbGlzdGVuZXIgPSAhMCk7CiAgICAgICAgICAgICAgICB2YXIgdCA9ICJiYWNrZ3JvdW5kdmlkZW8iID09IGEubGF5ZXIgPyBqUXVlcnkoIi5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIikgOiAiZmlyc3R2aWRlbyIgPT0gYS5sYXllciA/IGpRdWVyeSgiLnRwLXJldnNsaWRlci1zbGlkZXNsaSIpLmZpbmQoIi50cC12aWRlb2xheWVyIikgOiBqUXVlcnkoIiMiICsgYS5sYXllcik7CiAgICAgICAgICAgICAgICBzd2l0Y2ggKC0xICE9IGpRdWVyeS5pbkFycmF5KGEuYWN0aW9uLCBbInRvZ2dsZXNsaWRlciIsICJ0b2dnbGVfbXV0ZV92aWRlbyIsICJ0b2dnbGVfZ2xvYmFsX211dGVfdmlkZW8iLCAidG9nZ2xlZnVsbHNjcmVlbiJdKSAmJiBsLmRhdGEoInRvZ2dsZWxpc3RlbmVycyIsICEwKSwgYS5hY3Rpb24pIHsKICAgICAgICAgICAgICAgICAgICBjYXNlICJ0b2dnbGV2aWRlbyI6CiAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeS5lYWNoKHQsIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvID0gKHQgPSBqUXVlcnkodCkpLmRhdGEoInZpZGVvdG9nZ2xlZGJ5Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsID09IG8gJiYgKG8gPSBuZXcgQXJyYXkpLCBvLnB1c2gobCksIHQuZGF0YSgidmlkZW90b2dnbGVkYnkiLCBvKQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAidG9nZ2xlbGF5ZXIiOgogICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkuZWFjaCh0LCBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbyA9ICh0ID0galF1ZXJ5KHQpKS5kYXRhKCJsYXllcnRvZ2dsZWRieSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCA9PSBvICYmIChvID0gbmV3IEFycmF5KSwgby5wdXNoKGwpLCB0LmRhdGEoImxheWVydG9nZ2xlZGJ5IiwgbyksIHQuZGF0YSgidHJpZ2dlcmVkX3N0YXJ0c3RhdHVzIiwgYS5sYXllcnN0YXR1cykKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgInRvZ2dsZV9tdXRlX3ZpZGVvIjoKICAgICAgICAgICAgICAgICAgICBjYXNlICJ0b2dnbGVfZ2xvYmFsX211dGVfdmlkZW8iOgogICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkuZWFjaCh0LCBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbyA9ICh0ID0galF1ZXJ5KHQpKS5kYXRhKCJ2aWRlb211dGV0b2dnbGVkYnkiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgPT0gbyAmJiAobyA9IG5ldyBBcnJheSksIG8ucHVzaChsKSwgdC5kYXRhKCJ2aWRlb211dGV0b2dnbGVkYnkiLCBvKQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAidG9nZ2xlc2xpZGVyIjoKICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCA9PSByLnNsaWRlcnRvZ2dsZWRieSAmJiAoci5zbGlkZXJ0b2dnbGVkYnkgPSBuZXcgQXJyYXkpLCByLnNsaWRlcnRvZ2dsZWRieS5wdXNoKGwpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlICJ0b2dnbGVmdWxsc2NyZWVuIjoKICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCA9PSByLmZ1bGxzY3JlZW50b2dnbGVkYnkgJiYgKHIuZnVsbHNjcmVlbnRvZ2dsZWRieSA9IG5ldyBBcnJheSksIHIuZnVsbHNjcmVlbnRvZ2dsZWRieS5wdXNoKGwpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzd2l0Y2ggKGwub24oYS5ldmVudCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCJjbGljayIgPT09IGEuZXZlbnQgJiYgbC5oYXNDbGFzcygidHAtdGVtcG9yYXJ5ZGlzYWJsZWQiKSkgcmV0dXJuICExOwogICAgICAgICAgICAgICAgICAgIHZhciBlID0gImJhY2tncm91bmR2aWRlbyIgPT0gYS5sYXllciA/IGpRdWVyeSgiLmFjdGl2ZS1yZXZzbGlkZSAuc2xvdGhvbGRlciAucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpIDogImZpcnN0dmlkZW8iID09IGEubGF5ZXIgPyBqUXVlcnkoIi5hY3RpdmUtcmV2c2xpZGUgLnRwLXZpZGVvbGF5ZXIiKS5maXJzdCgpIDogalF1ZXJ5KCIjIiArIGEubGF5ZXIpOwogICAgICAgICAgICAgICAgICAgIGlmICgic3RvcGxheWVyIiA9PSBhLmFjdGlvbiB8fCAidG9nZ2xlbGF5ZXIiID09IGEuYWN0aW9uIHx8ICJzdGFydGxheWVyIiA9PSBhLmFjdGlvbikgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoMCA8IGUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGUuZGF0YSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAwICE9PSB0LmNsaWNrZWRfdGltZV9zdGFtcCAmJiAxNTAgPCAobmV3IERhdGUpLmdldFRpbWUoKSAtIHQuY2xpY2tlZF90aW1lX3N0YW1wICYmIChjbGVhclRpbWVvdXQodC50cmlnZ2VyZGVsYXlJbiksIGNsZWFyVGltZW91dCh0LnRyaWdnZXJkZWxheU91dCkpLCB0LmNsaWNrZWRfdGltZV9zdGFtcCA9IChuZXcgRGF0ZSkuZ2V0VGltZSgpLCAic3RhcnRsYXllciIgPT0gYS5hY3Rpb24gfHwgInRvZ2dsZWxheWVyIiA9PSBhLmFjdGlvbiAmJiAiaW4iICE9IGUuZGF0YSgiYW5pbWRpcmVjdGlvbiIpID8gKHQuYW5pbWRpcmVjdGlvbiA9ICJpbiIsIHQudHJpZ2dlcnN0YXRlID0gIm9uIiwgX1IudG9nZ2xlU3RhdGUodC5sYXllcnRvZ2dsZWRieSksIF9SLnBsYXlBbmltYXRpb25GcmFtZSAmJiAoY2xlYXJUaW1lb3V0KHQudHJpZ2dlcmRlbGF5SW4pLCB0LnRyaWdnZXJkZWxheUluID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfUi5wbGF5QW5pbWF0aW9uRnJhbWUoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXB0aW9uOiBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHQ6IHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lOiAiZnJhbWVfMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJkaXJlY3Rpb246ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJmcmFtZWluOiAiZnJhbWVfMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJmcmFtZW91dDogImZyYW1lXzk5OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMWUzICogYS5kZWxheSkpKSA6ICgic3RvcGxheWVyIiA9PSBhLmFjdGlvbiB8fCAidG9nZ2xlbGF5ZXIiID09IGEuYWN0aW9uICYmICJvdXQiICE9IGUuZGF0YSgiYW5pbWRpcmVjdGlvbiIpKSAmJiAodC5hbmltZGlyZWN0aW9uID0gIm91dCIsIHQudHJpZ2dlcmVkID0gITAsIHQudHJpZ2dlcnN0YXRlID0gIm9mZiIsIF9SLnN0b3BWaWRlbyAmJiBfUi5zdG9wVmlkZW8oZSwgciksIF9SLnVuVG9nZ2xlU3RhdGUodC5sYXllcnRvZ2dsZWRieSksIF9SLmVuZE1vdmVDYXB0aW9uICYmIChjbGVhclRpbWVvdXQodC50cmlnZ2VyZGVsYXlPdXQpLCB0LnRyaWdnZXJkZWxheU91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1IucGxheUFuaW1hdGlvbkZyYW1lKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FwdGlvbjogZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0OiByLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZTogImZyYW1lXzk5OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJkaXJlY3Rpb246ICJvdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyZnJhbWVpbjogImZyYW1lXzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyZnJhbWVvdXQ6ICJmcmFtZV85OTkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDFlMyAqIGEuZGVsYXkpKSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSAhX0lTTSB8fCAicGxheXZpZGVvIiAhPSBhLmFjdGlvbiAmJiAic3RvcHZpZGVvIiAhPSBhLmFjdGlvbiAmJiAidG9nZ2xldmlkZW8iICE9IGEuYWN0aW9uICYmICJtdXRldmlkZW8iICE9IGEuYWN0aW9uICYmICJ1bm11dGV2aWRlbyIgIT0gYS5hY3Rpb24gJiYgInRvZ2dsZV9tdXRlX3ZpZGVvIiAhPSBhLmFjdGlvbiAmJiAidG9nZ2xlX2dsb2JhbF9tdXRlX3ZpZGVvIiAhPSBhLmFjdGlvbiA/IChhLmRlbGF5ID0gIk5hTiIgPT09IGEuZGVsYXkgfHwgTmFOID09PSBhLmRlbGF5ID8gMCA6IGEuZGVsYXksIF9SLmlzU2FmYXJpMTEoKSA/IGFjdGlvblN3aXRjaGVzKGUsIHIsIGEsIGwpIDogcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoYS5kZWxheSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvblN3aXRjaGVzKGUsIHIsIGEsIGwpCiAgICAgICAgICAgICAgICAgICAgfSwgW2UsIHIsIGEsIGxdKSkgOiBhY3Rpb25Td2l0Y2hlcyhlLCByLCBhLCBsKQogICAgICAgICAgICAgICAgfSksIGEuYWN0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAidG9nZ2xlbGF5ZXIiOgogICAgICAgICAgICAgICAgICAgIGNhc2UgInN0YXJ0bGF5ZXIiOgogICAgICAgICAgICAgICAgICAgIGNhc2UgInBsYXlsYXllciI6CiAgICAgICAgICAgICAgICAgICAgY2FzZSAic3RvcGxheWVyIjoKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG8gPSAodCA9IGpRdWVyeSgiIyIgKyBhLmxheWVyKSkuZGF0YSgpOwogICAgICAgICAgICAgICAgICAgICAgICAwIDwgdC5sZW5ndGggJiYgdm9pZCAwICE9PSBvICYmICh2b2lkIDAgIT09IG8uZnJhbWVzICYmICJieXRyaWdnZXIiICE9IG8uZnJhbWVzWzBdLmRlbGF5IHx8IHZvaWQgMCA9PT0gby5mcmFtZXMgJiYgImJ5dHJpZ2dlciIgIT09IG8uc3RhcnQpICYmIChvLnRyaWdnZXJzdGF0ZSA9ICJvbiIpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBhY3Rpb25Td2l0Y2hlcyA9IGZ1bmN0aW9uKHRuYywgb3B0LCBhLCBfbmMpIHsKICAgICAgICAgICAgc3dpdGNoIChhLmFjdGlvbikgewogICAgICAgICAgICAgICAgY2FzZSAic2Nyb2xsYmVsb3ciOgogICAgICAgICAgICAgICAgICAgIGEuc3BlZWQgPSB2b2lkIDAgIT09IGEuc3BlZWQgPyBhLnNwZWVkIDogNDAwLCBhLmVhc2UgPSB2b2lkIDAgIT09IGEuZWFzZSA/IGEuZWFzZSA6IHB1bmNoZ3MuUG93ZXIyLmVhc2VPdXQsIF9uYy5hZGRDbGFzcygidHAtc2Nyb2xsYmVsb3dzbGlkZXIiKSwgX25jLmRhdGEoInNjcm9sbG9mZnNldCIsIGEub2Zmc2V0KSwgX25jLmRhdGEoInNjcm9sbGRlbGF5IiwgYS5kZWxheSksIF9uYy5kYXRhKCJzY3JvbGxzcGVlZCIsIGEuc3BlZWQpLCBfbmMuZGF0YSgic2Nyb2xsZWFzZSIsIGEuZWFzZSk7CiAgICAgICAgICAgICAgICAgICAgdmFyIG9mZiA9IGdldE9mZkNvbnRIKG9wdC5mdWxsU2NyZWVuT2Zmc2V0Q29udGFpbmVyKSB8fCAwLAogICAgICAgICAgICAgICAgICAgICAgICBhb2YgPSBwYXJzZUludChhLm9mZnNldCwgMCkgfHwgMDsKICAgICAgICAgICAgICAgICAgICBvZmYgPSBvZmYgLSBhb2YgfHwgMCwgb3B0LnNjcm9sbFJvb3QgPSBqUXVlcnkoZG9jdW1lbnQpOwogICAgICAgICAgICAgICAgICAgIHZhciBzb2JqID0gewogICAgICAgICAgICAgICAgICAgICAgICBfeTogb3B0LnNjcm9sbFJvb3Quc2Nyb2xsVG9wKCkKICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgIHB1bmNoZ3MuVHdlZW5MaXRlLnRvKHNvYmosIGEuc3BlZWQgLyAxZTMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgX3k6IG9wdC5jLm9mZnNldCgpLnRvcCArIGpRdWVyeShvcHQubGlbMF0pLmhlaWdodCgpIC0gb2ZmLAogICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBhLmVhc2UsCiAgICAgICAgICAgICAgICAgICAgICAgIG9uVXBkYXRlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdC5zY3JvbGxSb290LnNjcm9sbFRvcChzb2JqLl95KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJjYWxsYmFjayI6CiAgICAgICAgICAgICAgICAgICAgZXZhbChhLmNhbGxiYWNrKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgImp1bXB0b3NsaWRlIjoKICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGEuc2xpZGUudG9Mb3dlckNhc2UoKSkgewogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICIrMSI6CiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgIm5leHQiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0LnNjX2luZGljYXRvciA9ICJhcnJvdyIsIF9SLmNhbGxpbmdOZXdTbGlkZShvcHQuYywgMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAicHJldmlvdXMiOgogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJwcmV2IjoKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAiLTEiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0LnNjX2luZGljYXRvciA9ICJhcnJvdyIsIF9SLmNhbGxpbmdOZXdTbGlkZShvcHQuYywgLTEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdHMgPSBqUXVlcnkuaXNOdW1lcmljKGEuc2xpZGUpID8gcGFyc2VJbnQoYS5zbGlkZSwgMCkgOiBhLnNsaWRlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgX1IuY2FsbGluZ05ld1NsaWRlKG9wdC5jLCB0cykKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJzaW1wbGVsaW5rIjoKICAgICAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihhLnVybCwgYS50YXJnZXQpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAidG9nZ2xlc2xpZGVyIjoKICAgICAgICAgICAgICAgICAgICBvcHQubm9sb29wYW55bW9yZSA9IDAsICJwbGF5aW5nIiA9PSBvcHQuc2xpZGVyc3RhdHVzID8gKG9wdC5jLnJldnBhdXNlKCksIG9wdC5mb3JjZXBhdXNlX3ZpYXRvZ2dsZSA9ICEwLCBfUi51blRvZ2dsZVN0YXRlKG9wdC5zbGlkZXJ0b2dnbGVkYnkpKSA6IChvcHQuZm9yY2VwYXVzZV92aWF0b2dnbGUgPSAhMSwgb3B0LmMucmV2cmVzdW1lKCksIF9SLnRvZ2dsZVN0YXRlKG9wdC5zbGlkZXJ0b2dnbGVkYnkpKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgInBhdXNlc2xpZGVyIjoKICAgICAgICAgICAgICAgICAgICBvcHQuYy5yZXZwYXVzZSgpLCBfUi51blRvZ2dsZVN0YXRlKG9wdC5zbGlkZXJ0b2dnbGVkYnkpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAicGxheXNsaWRlciI6CiAgICAgICAgICAgICAgICAgICAgb3B0Lm5vbG9vcGFueW1vcmUgPSAwLCBvcHQuYy5yZXZyZXN1bWUoKSwgX1IudG9nZ2xlU3RhdGUob3B0LnNsaWRlcnRvZ2dsZWRieSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJwbGF5dmlkZW8iOgogICAgICAgICAgICAgICAgICAgIDAgPCB0bmMubGVuZ3RoICYmIF9SLnBsYXlWaWRlbyh0bmMsIG9wdCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJzdG9wdmlkZW8iOgogICAgICAgICAgICAgICAgICAgIDAgPCB0bmMubGVuZ3RoICYmIF9SLnN0b3BWaWRlbyAmJiBfUi5zdG9wVmlkZW8odG5jLCBvcHQpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAidG9nZ2xldmlkZW8iOgogICAgICAgICAgICAgICAgICAgIDAgPCB0bmMubGVuZ3RoICYmIChfUi5pc1ZpZGVvUGxheWluZyh0bmMsIG9wdCkgPyBfUi5zdG9wVmlkZW8gJiYgX1Iuc3RvcFZpZGVvKHRuYywgb3B0KSA6IF9SLnBsYXlWaWRlbyh0bmMsIG9wdCkpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAibXV0ZXZpZGVvIjoKICAgICAgICAgICAgICAgICAgICAwIDwgdG5jLmxlbmd0aCAmJiBfUi5tdXRlVmlkZW8odG5jLCBvcHQpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAidW5tdXRldmlkZW8iOgogICAgICAgICAgICAgICAgICAgIDAgPCB0bmMubGVuZ3RoICYmIF9SLnVuTXV0ZVZpZGVvICYmIF9SLnVuTXV0ZVZpZGVvKHRuYywgb3B0KTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgInRvZ2dsZV9tdXRlX3ZpZGVvIjoKICAgICAgICAgICAgICAgICAgICAwIDwgdG5jLmxlbmd0aCAmJiAoX1IuaXNWaWRlb011dGVkKHRuYywgb3B0KSA/IF9SLnVuTXV0ZVZpZGVvKHRuYywgb3B0KSA6IF9SLm11dGVWaWRlbyAmJiBfUi5tdXRlVmlkZW8odG5jLCBvcHQpKSwgX25jLnRvZ2dsZUNsYXNzKCJycy10b2dnbGUtY29udGVudC1hY3RpdmUiKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgInRvZ2dsZV9nbG9iYWxfbXV0ZV92aWRlbyI6CiAgICAgICAgICAgICAgICAgICAgITAgPT09IG9wdC5nbG9iYWxtdXRlID8gKG9wdC5nbG9iYWxtdXRlID0gITEsIG51bGwgIT0gb3B0LnBsYXlpbmd2aWRlb3MgJiYgMCA8IG9wdC5wbGF5aW5ndmlkZW9zLmxlbmd0aCAmJiBqUXVlcnkuZWFjaChvcHQucGxheWluZ3ZpZGVvcywgZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgICAgICBfUi51bk11dGVWaWRlbyAmJiBfUi51bk11dGVWaWRlbyh0LCBvcHQpCiAgICAgICAgICAgICAgICAgICAgfSkpIDogKG9wdC5nbG9iYWxtdXRlID0gITAsIG51bGwgIT0gb3B0LnBsYXlpbmd2aWRlb3MgJiYgMCA8IG9wdC5wbGF5aW5ndmlkZW9zLmxlbmd0aCAmJiBqUXVlcnkuZWFjaChvcHQucGxheWluZ3ZpZGVvcywgZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgICAgICBfUi5tdXRlVmlkZW8gJiYgX1IubXV0ZVZpZGVvKHQsIG9wdCkKICAgICAgICAgICAgICAgICAgICB9KSksIF9uYy50b2dnbGVDbGFzcygicnMtdG9nZ2xlLWNvbnRlbnQtYWN0aXZlIik7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJzaW11bGF0ZWNsaWNrIjoKICAgICAgICAgICAgICAgICAgICAwIDwgdG5jLmxlbmd0aCAmJiB0bmMuY2xpY2soKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgInRvZ2dsZWNsYXNzIjoKICAgICAgICAgICAgICAgICAgICAwIDwgdG5jLmxlbmd0aCAmJiAodG5jLmhhc0NsYXNzKGEuY2xhc3NuYW1lKSA/IHRuYy5yZW1vdmVDbGFzcyhhLmNsYXNzbmFtZSkgOiB0bmMuYWRkQ2xhc3MoYS5jbGFzc25hbWUpKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgImdvZnVsbHNjcmVlbiI6CiAgICAgICAgICAgICAgICBjYXNlICJleGl0ZnVsbHNjcmVlbiI6CiAgICAgICAgICAgICAgICBjYXNlICJ0b2dnbGVmdWxsc2NyZWVuIjoKICAgICAgICAgICAgICAgICAgICBpZiAoMCA8IGpRdWVyeSgiLnJzLWdvLWZ1bGxzY3JlZW4iKS5sZW5ndGggJiYgKCJ0b2dnbGVmdWxsc2NyZWVuIiA9PSBhLmFjdGlvbiB8fCAiZXhpdGZ1bGxzY3JlZW4iID09IGEuYWN0aW9uKSkgewogICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoIi5ycy1nby1mdWxsc2NyZWVuIikucmVtb3ZlQ2xhc3MoInJzLWdvLWZ1bGxzY3JlZW4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGdmID0gMCA8IG9wdC5jLmNsb3Nlc3QoIi5mb3JjZWZ1bGx3aWR0aF93cmFwcGVyX3RwX2Jhbm5lciIpLmxlbmd0aCA/IG9wdC5jLmNsb3Nlc3QoIi5mb3JjZWZ1bGx3aWR0aF93cmFwcGVyX3RwX2Jhbm5lciIpIDogb3B0LmMuY2xvc2VzdCgiLnJldl9zbGlkZXJfd3JhcHBlciIpOwogICAgICAgICAgICAgICAgICAgICAgICBvcHQubWluSGVpZ2h0ID0gb3B0Lm9sZG1pbmhlaWdodCwgb3B0LmluZnVsbHNjcmVlbm1vZGUgPSAhMSwgb3B0LmMucmV2cmVkcmF3KCksIGpRdWVyeSh3aW5kb3cpLnRyaWdnZXIoInJlc2l6ZSIpLCBfUi51blRvZ2dsZVN0YXRlKG9wdC5mdWxsc2NyZWVudG9nZ2xlZGJ5KQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoMCA9PSBqUXVlcnkoIi5ycy1nby1mdWxsc2NyZWVuIikubGVuZ3RoICYmICgidG9nZ2xlZnVsbHNjcmVlbiIgPT0gYS5hY3Rpb24gfHwgImdvZnVsbHNjcmVlbiIgPT0gYS5hY3Rpb24pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBnZiA9IDAgPCBvcHQuYy5jbG9zZXN0KCIuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIiKS5sZW5ndGggPyBvcHQuYy5jbG9zZXN0KCIuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIiKSA6IG9wdC5jLmNsb3Nlc3QoIi5yZXZfc2xpZGVyX3dyYXBwZXIiKTsKICAgICAgICAgICAgICAgICAgICAgICAgZ2YuYWRkQ2xhc3MoInJzLWdvLWZ1bGxzY3JlZW4iKSwgb3B0Lm9sZG1pbmhlaWdodCA9IG9wdC5taW5IZWlnaHQsIG9wdC5taW5IZWlnaHQgPSBqUXVlcnkod2luZG93KS5oZWlnaHQoKSwgb3B0LmluZnVsbHNjcmVlbm1vZGUgPSAhMCwgb3B0LmMucmV2cmVkcmF3KCksIGpRdWVyeSh3aW5kb3cpLnRyaWdnZXIoInJlc2l6ZSIpLCBfUi50b2dnbGVTdGF0ZShvcHQuZnVsbHNjcmVlbnRvZ2dsZWRieSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIHZhciBvYmogPSB7fTsKICAgICAgICAgICAgICAgICAgICBvYmouZXZlbnQgPSBhLCBvYmoubGF5ZXIgPSBfbmMsIG9wdC5jLnRyaWdnZXIoImxheWVyYWN0aW9uIiwgW29ial0pCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGdldE9mZkNvbnRIID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICBpZiAobnVsbCA9PSBlKSByZXR1cm4gMDsKICAgICAgICAgICAgaWYgKDEgPCBlLnNwbGl0KCIsIikubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICB2YXIgdCA9IGUuc3BsaXQoIiwiKSwKICAgICAgICAgICAgICAgICAgICBvID0gMDsKICAgICAgICAgICAgICAgIHJldHVybiB0ICYmIGpRdWVyeS5lYWNoKHQsIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgICAgICAwIDwgalF1ZXJ5KHQpLmxlbmd0aCAmJiAobyArPSBqUXVlcnkodCkub3V0ZXJIZWlnaHQoITApKQogICAgICAgICAgICAgICAgfSksIG8KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4galF1ZXJ5KGUpLmhlaWdodCgpCiAgICAgICAgfQp9KGpRdWVyeSk7CiEgZnVuY3Rpb24oZSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIGYgPSBqUXVlcnkuZm4ucmV2b2x1dGlvbiwKICAgICAgICBzID0gewogICAgICAgICAgICBhbGlhczogIkNhcm91c2VsIE1pbiBKUyIsCiAgICAgICAgICAgIG5hbWU6ICJyZXZvbHV0aW9uLmV4dGVuc2lvbnMuY2Fyb3VzZWwubWluLmpzIiwKICAgICAgICAgICAgbWluX2NvcmU6ICI1LjMuMCIsCiAgICAgICAgICAgIHZlcnNpb246ICIxLjIuMSIKICAgICAgICB9OwogICAgalF1ZXJ5LmV4dGVuZCghMCwgZiwgewogICAgICAgIHByZXBhcmVDYXJvdXNlbDogZnVuY3Rpb24oZSwgaSwgdCwgYSkgewogICAgICAgICAgICByZXR1cm4gInN0b3AiICE9PSBmLmNvbXBhcmVfdmVyc2lvbihzKS5jaGVjayAmJiAodCA9IGUuY2Fyb3VzZWwubGFzdGRpcmVjdGlvbiA9IGQodCwgZS5jYXJvdXNlbC5sYXN0ZGlyZWN0aW9uKSwgbChlKSwgZS5jYXJvdXNlbC5zbGlkZV9vZmZzZXRfdGFyZ2V0ID0gbyhlKSwgdm9pZCh2b2lkIDAgIT09IGEgPyBoKGUsIHQsICExLCAwKSA6IG51bGwgPT0gaSA/IGYuY2Fyb3VzZWxUb0V2YWxQb3NpdGlvbihlLCB0KSA6IGgoZSwgdCwgITEpKSkKICAgICAgICB9LAogICAgICAgIGNhcm91c2VsVG9FdmFsUG9zaXRpb246IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgdmFyIHQgPSBlLmNhcm91c2VsOwogICAgICAgICAgICBpID0gdC5sYXN0ZGlyZWN0aW9uID0gZChpLCB0Lmxhc3RkaXJlY3Rpb24pOwogICAgICAgICAgICB2YXIgYSA9ICJjZW50ZXIiID09PSB0Lmhvcml6b250YWxfYWxpZ24gPyAodC53cmFwd2lkdGggLyAyIC0gdC5zbGlkZV93aWR0aCAvIDIgLSB0LnNsaWRlX2dsb2JhbG9mZnNldCkgLyB0LnNsaWRlX3dpZHRoIDogKDAgLSB0LnNsaWRlX2dsb2JhbG9mZnNldCkgLyB0LnNsaWRlX3dpZHRoLAogICAgICAgICAgICAgICAgcyA9IGYuc2ltcChhLCBlLnNsaWRlYW1vdW50LCAhMSksCiAgICAgICAgICAgICAgICBsID0gcyAtIE1hdGguZmxvb3IocyksCiAgICAgICAgICAgICAgICBvID0gMCwKICAgICAgICAgICAgICAgIHIgPSAtMSAqIChNYXRoLmNlaWwocykgLSBzKSwKICAgICAgICAgICAgICAgIG4gPSAtMSAqIChNYXRoLmZsb29yKHMpIC0gcyk7CiAgICAgICAgICAgIG8gPSAuMyA8PSBsICYmICJsZWZ0IiA9PT0gaSB8fCAuNyA8PSBsICYmICJyaWdodCIgPT09IGkgPyByIDogbCA8IC4zICYmICJsZWZ0IiA9PT0gaSB8fCBsIDwgLjcgJiYgInJpZ2h0IiA9PT0gaSA/IG4gOiBvLCBvID0gIm9mZiIgPT09IHQuaW5maW5pdHkgPyBzIDwgMCA/IHMgOiBhID4gZS5zbGlkZWFtb3VudCAtIDEgPyBhIC0gKGUuc2xpZGVhbW91bnQgLSAxKSA6IG8gOiBvLCB0LnNsaWRlX29mZnNldF90YXJnZXQgPSBvICogdC5zbGlkZV93aWR0aCwgMCAhPT0gTWF0aC5hYnModC5zbGlkZV9vZmZzZXRfdGFyZ2V0KSA/IGgoZSwgaSwgITApIDogZi5vcmdhbmlzZUNhcm91c2VsKGUsIGkpCiAgICAgICAgfSwKICAgICAgICBvcmdhbmlzZUNhcm91c2VsOiBmdW5jdGlvbihvLCByLCBuLCBlKSB7CiAgICAgICAgICAgIHIgPSB2b2lkIDAgPT09IHIgfHwgImRvd24iID09IHIgfHwgInVwIiA9PSByIHx8IG51bGwgPT09IHIgfHwgalF1ZXJ5LmlzRW1wdHlPYmplY3QocikgPyAibGVmdCIgOiByOwogICAgICAgICAgICBmb3IgKHZhciBkID0gby5jYXJvdXNlbCwgZiA9IG5ldyBBcnJheSwgaCA9IGQuc2xpZGVzLmxlbmd0aCwgaSA9ICgicmlnaHQiID09PSBkLmhvcml6b250YWxfYWxpZ24gJiYgby53aWR0aCwgMCk7IGkgPCBoOyBpKyspIHsKICAgICAgICAgICAgICAgIHZhciB0ID0gaSAqIGQuc2xpZGVfd2lkdGggKyBkLnNsaWRlX29mZnNldDsKICAgICAgICAgICAgICAgICJvbiIgPT09IGQuaW5maW5pdHkgJiYgKHQgPSAodCA9IHQgPiBkLndyYXB3aWR0aCAtIGQuaW5uZXJvZmZzZXQgJiYgInJpZ2h0IiA9PSByID8gZC5zbGlkZV9vZmZzZXQgLSAoZC5zbGlkZXMubGVuZ3RoIC0gaSkgKiBkLnNsaWRlX3dpZHRoIDogdCkgPCAwIC0gZC5pbm5lcm9mZnNldCAtIGQuc2xpZGVfd2lkdGggJiYgImxlZnQiID09IHIgPyB0ICsgZC5tYXh3aWR0aCA6IHQpLCBmW2ldID0gdAogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciB3ID0gOTk5OwogICAgICAgICAgICBkLnNsaWRlcyAmJiBqUXVlcnkuZWFjaChkLnNsaWRlcywgZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAgICAgdmFyIHQgPSBmW2VdOwogICAgICAgICAgICAgICAgIm9uIiA9PT0gZC5pbmZpbml0eSAmJiAodCA9ICh0ID0gdCA+IGQud3JhcHdpZHRoIC0gZC5pbm5lcm9mZnNldCAmJiAibGVmdCIgPT09IHIgPyBmWzBdIC0gKGggLSBlKSAqIGQuc2xpZGVfd2lkdGggOiB0KSA8IDAgLSBkLmlubmVyb2Zmc2V0IC0gZC5zbGlkZV93aWR0aCA/ICJsZWZ0IiA9PSByID8gdCArIGQubWF4d2lkdGggOiAicmlnaHQiID09PSByID8gZltoIC0gMV0gKyAoZSArIDEpICogZC5zbGlkZV93aWR0aCA6IHQgOiB0KTsKICAgICAgICAgICAgICAgIHZhciBhID0gbmV3IE9iamVjdDsKICAgICAgICAgICAgICAgIGEubGVmdCA9IHQgKyBkLmlubmVyb2Zmc2V0OwogICAgICAgICAgICAgICAgdmFyIHMgPSAiY2VudGVyIiA9PT0gZC5ob3Jpem9udGFsX2FsaWduID8gKE1hdGguYWJzKGQud3JhcHdpZHRoIC8gMikgLSAoYS5sZWZ0ICsgZC5zbGlkZV93aWR0aCAvIDIpKSAvIGQuc2xpZGVfd2lkdGggOiAoZC5pbm5lcm9mZnNldCAtIGEubGVmdCkgLyBkLnNsaWRlX3dpZHRoLAogICAgICAgICAgICAgICAgICAgIGwgPSAiY2VudGVyIiA9PT0gZC5ob3Jpem9udGFsX2FsaWduID8gMiA6IDE7CiAgICAgICAgICAgICAgICBpZiAoKG4gJiYgTWF0aC5hYnMocykgPCB3IHx8IDAgPT09IHMpICYmICh3ID0gTWF0aC5hYnMocyksIGQuZm9jdXNlZCA9IGUpLCBhLndpZHRoID0gZC5zbGlkZV93aWR0aCwgYS54ID0gMCwgYS50cmFuc2Zvcm1QZXJzcGVjdGl2ZSA9IDEyMDAsIGEudHJhbnNmb3JtT3JpZ2luID0gIjUwJSAiICsgZC52ZXJ0aWNhbF9hbGlnbiwgIm9uIiA9PT0gZC5mYWRlb3V0KQogICAgICAgICAgICAgICAgICAgIGlmICgib24iID09PSBkLnZhcnlfZmFkZSkgYS5hdXRvQWxwaGEgPSAxIC0gTWF0aC5hYnMoMSAvIE1hdGguY2VpbChkLm1heFZpc2libGVJdGVtcyAvIGwpICogcyk7CiAgICAgICAgICAgICAgICAgICAgZWxzZSBzd2l0Y2ggKGQuaG9yaXpvbnRhbF9hbGlnbikgewogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJjZW50ZXIiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgYS5hdXRvQWxwaGEgPSBNYXRoLmFicyhzKSA8IE1hdGguY2VpbChkLm1heFZpc2libGVJdGVtcyAvIGwgLSAxKSA/IDEgOiAxIC0gKE1hdGguYWJzKHMpIC0gTWF0aC5mbG9vcihNYXRoLmFicyhzKSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgImxlZnQiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgYS5hdXRvQWxwaGEgPSBzIDwgMSAmJiAwIDwgcyA/IDEgLSBzIDogTWF0aC5hYnMocykgPiBkLm1heFZpc2libGVJdGVtcyAtIDEgPyAxIC0gKE1hdGguYWJzKHMpIC0gKGQubWF4VmlzaWJsZUl0ZW1zIC0gMSkpIDogMTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJyaWdodCI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLmF1dG9BbHBoYSA9IC0xIDwgcyAmJiBzIDwgMCA/IDEgLSBNYXRoLmFicyhzKSA6IHMgPiBkLm1heFZpc2libGVJdGVtcyAtIDEgPyAxIC0gKE1hdGguYWJzKHMpIC0gKGQubWF4VmlzaWJsZUl0ZW1zIC0gMSkpIDogMQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBhLmF1dG9BbHBoYSA9IE1hdGguYWJzKHMpIDwgTWF0aC5jZWlsKGQubWF4VmlzaWJsZUl0ZW1zIC8gbCkgPyAxIDogMDsKICAgICAgICAgICAgICAgIGlmICh2b2lkIDAgIT09IGQubWluU2NhbGUgJiYgMCA8IGQubWluU2NhbGUpCiAgICAgICAgICAgICAgICAgICAgaWYgKCJvbiIgPT09IGQudmFyeV9zY2FsZSkgewogICAgICAgICAgICAgICAgICAgICAgICBhLnNjYWxlID0gMSAtIE1hdGguYWJzKGQubWluU2NhbGUgLyAxMDAgLyBNYXRoLmNlaWwoZC5tYXhWaXNpYmxlSXRlbXMgLyBsKSAqIHMpOwogICAgICAgICAgICAgICAgICAgICAgICBkLnNsaWRlX3dpZHRoLCBkLnNsaWRlX3dpZHRoLCBhLnNjYWxlLCBNYXRoLmFicyhzKQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGEuc2NhbGUgPSAxIDw9IHMgfHwgcyA8PSAtMSA/IDEgLSBkLm1pblNjYWxlIC8gMTAwIDogKDEwMCAtIGQubWluU2NhbGUgKiBNYXRoLmFicyhzKSkgLyAxMDA7CiAgICAgICAgICAgICAgICAgICAgICAgIGQuc2xpZGVfd2lkdGgsIGQuc2xpZGVfd2lkdGgsIGQubWluU2NhbGUsIE1hdGguYWJzKHMpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdm9pZCAwICE9PSBkLm1heFJvdGF0aW9uICYmIDAgIT0gTWF0aC5hYnMoZC5tYXhSb3RhdGlvbikgJiYgKCJvbiIgPT09IGQudmFyeV9yb3RhdGlvbiA/IChhLnJvdGF0aW9uWSA9IE1hdGguYWJzKGQubWF4Um90YXRpb24pIC0gTWF0aC5hYnMoKDEgLSBNYXRoLmFicygxIC8gTWF0aC5jZWlsKGQubWF4VmlzaWJsZUl0ZW1zIC8gbCkgKiBzKSkgKiBkLm1heFJvdGF0aW9uKSwgYS5hdXRvQWxwaGEgPSA5MCA8IE1hdGguYWJzKGEucm90YXRpb25ZKSA/IDAgOiBhLmF1dG9BbHBoYSkgOiBhLnJvdGF0aW9uWSA9IDEgPD0gcyB8fCBzIDw9IC0xID8gZC5tYXhSb3RhdGlvbiA6IE1hdGguYWJzKHMpICogZC5tYXhSb3RhdGlvbiwgYS5yb3RhdGlvblkgPSBzIDwgMCA/IC0xICogYS5yb3RhdGlvblkgOiBhLnJvdGF0aW9uWSksIGEueCA9IC0xICogZC5zcGFjZSAqIHMsIGEubGVmdCA9IE1hdGguZmxvb3IoYS5sZWZ0KSwgYS54ID0gTWF0aC5mbG9vcihhLngpLCBhLnNjYWxlLCBhLngsIGEuekluZGV4ID0gTWF0aC5yb3VuZCgxMDAgLSBNYXRoLmFicyg1ICogcykpLCBhLnRyYW5zZm9ybVN0eWxlID0gIjNEIiAhPSBvLnBhcmFsbGF4LnR5cGUgJiYgIjNkIiAhPSBvLnBhcmFsbGF4LnR5cGUgPyAiZmxhdCIgOiAicHJlc2VydmUtM2QiLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaSwgYSkKICAgICAgICAgICAgfSksIGUgJiYgKG8uYy5maW5kKCIubmV4dC1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJuZXh0LXJldnNsaWRlIiksIGpRdWVyeShkLnNsaWRlc1tkLmZvY3VzZWRdKS5hZGRDbGFzcygibmV4dC1yZXZzbGlkZSIpLCBvLmMudHJpZ2dlcigicmV2b2x1dGlvbi5uZXh0c2xpZGUud2FpdGluZyIpKSwgZC53cmFwd2lkdGgsIGQuc2xpZGVfb2Zmc2V0LCBkLm1heHdpZHRoLCBkLnNsaWRlX29mZnNldCwgZC53cmFwd2lkdGgKICAgICAgICB9CiAgICB9KTsKICAgIHZhciBsID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2b2lkIDAgPT09IGUuYncgJiYgZi5zZXRTaXplKGUpOwogICAgICAgICAgICB2YXIgaSwgdCwgYSA9IGUuY2Fyb3VzZWwsCiAgICAgICAgICAgICAgICBzID0gZi5nZXRIb3Jpem9udGFsT2Zmc2V0KGUuYywgImxlZnQiKSwKICAgICAgICAgICAgICAgIGwgPSBmLmdldEhvcml6b250YWxPZmZzZXQoZS5jLCAicmlnaHQiKTsKICAgICAgICAgICAgdm9pZCAwID09PSBhLndyYXAgJiYgKCh0ID0gKGkgPSBlKS5jYXJvdXNlbCkuaW5mYmFja3VwID0gdC5pbmZpbml0eSwgdC5tYXhWaXNpYmxlYmFja3VwID0gdC5tYXhWaXNpYmxlSXRlbXMsIHQuc2xpZGVfZ2xvYmFsb2Zmc2V0ID0gIm5vbmUiLCB0LnNsaWRlX29mZnNldCA9IDAsIHQud3JhcCA9IGkuYy5maW5kKCIudHAtY2Fyb3VzZWwtd3JhcHBlciIpLCB0LnNsaWRlcyA9IGkuYy5maW5kKCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIiksIDAgIT09IHQubWF4Um90YXRpb24gJiYgKCIzRCIgIT0gaS5wYXJhbGxheC50eXBlICYmICIzZCIgIT0gaS5wYXJhbGxheC50eXBlID8gcHVuY2hncy5Ud2VlbkxpdGUuc2V0KHQud3JhcCwgewogICAgICAgICAgICAgICAgcGVyc3BlY3RpdmU6IDEyMDAsCiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1TdHlsZTogImZsYXQiCiAgICAgICAgICAgIH0pIDogcHVuY2hncy5Ud2VlbkxpdGUuc2V0KHQud3JhcCwgewogICAgICAgICAgICAgICAgcGVyc3BlY3RpdmU6IDE2MDAsCiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1TdHlsZTogInByZXNlcnZlLTNkIgogICAgICAgICAgICB9KSksIHZvaWQgMCAhPT0gdC5ib3JkZXJfcmFkaXVzICYmIDAgPCBwYXJzZUludCh0LmJvcmRlcl9yYWRpdXMsIDApICYmIHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLmMuZmluZCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaSIpLCB7CiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IHQuYm9yZGVyX3JhZGl1cwogICAgICAgICAgICB9KSksIGEuc2xpZGVfd2lkdGggPSAib24iICE9PSBhLnN0cmV0Y2ggPyBlLmdyaWR3aWR0aFtlLmN1cldpblJhbmdlXSAqIGUuYncgOiBlLmMud2lkdGgoKSwgYS5tYXh3aWR0aCA9IGUuc2xpZGVhbW91bnQgKiBhLnNsaWRlX3dpZHRoLCBhLm1heFZpc2libGViYWNrdXAgPiBhLnNsaWRlcy5sZW5ndGggKyAxICYmIChhLm1heFZpc2libGVJdGVtcyA9IGEuc2xpZGVzLmxlbmd0aCArIDIpLCBhLndyYXB3aWR0aCA9IGEubWF4VmlzaWJsZUl0ZW1zICogYS5zbGlkZV93aWR0aCArIChhLm1heFZpc2libGVJdGVtcyAtIDEpICogYS5zcGFjZSwgYS53cmFwd2lkdGggPSAiYXV0byIgIT0gZS5zbGlkZXJMYXlvdXQgPyBhLndyYXB3aWR0aCA+IGUuYy5jbG9zZXN0KCIudHAtc2ltcGxlcmVzcG9uc2l2ZSIpLndpZHRoKCkgPyBlLmMuY2xvc2VzdCgiLnRwLXNpbXBsZXJlc3BvbnNpdmUiKS53aWR0aCgpIDogYS53cmFwd2lkdGggOiBhLndyYXB3aWR0aCA+IGUudWwud2lkdGgoKSA/IGUudWwud2lkdGgoKSA6IGEud3JhcHdpZHRoLCBhLmluZmluaXR5ID0gYS53cmFwd2lkdGggPj0gYS5tYXh3aWR0aCA/ICJvZmYiIDogYS5pbmZiYWNrdXAsIGEud3JhcG9mZnNldCA9ICJjZW50ZXIiID09PSBhLmhvcml6b250YWxfYWxpZ24gPyAoZS5jLndpZHRoKCkgLSBsIC0gcyAtIGEud3JhcHdpZHRoKSAvIDIgOiAwLCBhLndyYXBvZmZzZXQgPSAiYXV0byIgIT0gZS5zbGlkZXJMYXlvdXQgJiYgZS5vdXRlcm5hdiA/IDAgOiBhLndyYXBvZmZzZXQgPCBzID8gcyA6IGEud3JhcG9mZnNldDsKICAgICAgICAgICAgdmFyIG8gPSAiaGlkZGVuIjsKICAgICAgICAgICAgIjNEIiAhPSBlLnBhcmFsbGF4LnR5cGUgJiYgIjNkIiAhPSBlLnBhcmFsbGF4LnR5cGUgfHwgKG8gPSAidmlzaWJsZSIpLCAicmlnaHQiID09PSBhLmhvcml6b250YWxfYWxpZ24gPyBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS53cmFwLCB7CiAgICAgICAgICAgICAgICBsZWZ0OiAiYXV0byIsCiAgICAgICAgICAgICAgICByaWdodDogYS53cmFwb2Zmc2V0ICsgInB4IiwKICAgICAgICAgICAgICAgIHdpZHRoOiBhLndyYXB3aWR0aCwKICAgICAgICAgICAgICAgIG92ZXJmbG93OiBvCiAgICAgICAgICAgIH0pIDogcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEud3JhcCwgewogICAgICAgICAgICAgICAgcmlnaHQ6ICJhdXRvIiwKICAgICAgICAgICAgICAgIGxlZnQ6IGEud3JhcG9mZnNldCArICJweCIsCiAgICAgICAgICAgICAgICB3aWR0aDogYS53cmFwd2lkdGgsCiAgICAgICAgICAgICAgICBvdmVyZmxvdzogbwogICAgICAgICAgICB9KSwgYS5pbm5lcm9mZnNldCA9ICJyaWdodCIgPT09IGEuaG9yaXpvbnRhbF9hbGlnbiA/IGEud3JhcHdpZHRoIC0gYS5zbGlkZV93aWR0aCA6IDAsIGEucmVhbG9mZnNldCA9IE1hdGguYWJzKGEud3JhcC5wb3NpdGlvbigpLmxlZnQpLCBhLndpbmRoYWxmID0galF1ZXJ5KHdpbmRvdykud2lkdGgoKSAvIDIKICAgICAgICB9LAogICAgICAgIGQgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsID09PSBlIHx8IGpRdWVyeS5pc0VtcHR5T2JqZWN0KGUpID8gaSA6IHZvaWQgMCA9PT0gZSA/ICJyaWdodCIgOiBlCiAgICAgICAgfSwKICAgICAgICBoID0gZnVuY3Rpb24oaSwgdCwgYSwgZSkgewogICAgICAgICAgICB2YXIgcyA9IGkuY2Fyb3VzZWw7CiAgICAgICAgICAgIHQgPSBzLmxhc3RkaXJlY3Rpb24gPSBkKHQsIHMubGFzdGRpcmVjdGlvbik7CiAgICAgICAgICAgIHZhciBsID0gbmV3IE9iamVjdCwKICAgICAgICAgICAgICAgIG8gPSBhID8gcHVuY2hncy5Qb3dlcjIuZWFzZU91dCA6IHMuZWFzaW5nOwogICAgICAgICAgICBsLmZyb20gPSAwLCBsLnRvID0gcy5zbGlkZV9vZmZzZXRfdGFyZ2V0LCBlID0gdm9pZCAwID09PSBlID8gcy5zcGVlZCAvIDFlMyA6IGUsIGUgPSBhID8gLjQgOiBlLCB2b2lkIDAgIT09IHMucG9zaXRpb25hbmltICYmIHMucG9zaXRpb25hbmltLnBhdXNlKCksIHMucG9zaXRpb25hbmltID0gcHVuY2hncy5Ud2VlbkxpdGUudG8obCwgZSwgewogICAgICAgICAgICAgICAgZnJvbTogbC50bywKICAgICAgICAgICAgICAgIG9uVXBkYXRlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBzLnNsaWRlX29mZnNldCA9IHMuc2xpZGVfZ2xvYmFsb2Zmc2V0ICsgbC5mcm9tLCBzLnNsaWRlX29mZnNldCA9IGYuc2ltcChzLnNsaWRlX29mZnNldCwgcy5tYXh3aWR0aCksIGYub3JnYW5pc2VDYXJvdXNlbChpLCB0LCAhMSwgITEpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgb25Db21wbGV0ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcy5zbGlkZV9nbG9iYWxvZmZzZXQgPSAib2ZmIiA9PT0gcy5pbmZpbml0eSA/IHMuc2xpZGVfZ2xvYmFsb2Zmc2V0ICsgcy5zbGlkZV9vZmZzZXRfdGFyZ2V0IDogZi5zaW1wKHMuc2xpZGVfZ2xvYmFsb2Zmc2V0ICsgcy5zbGlkZV9vZmZzZXRfdGFyZ2V0LCBzLm1heHdpZHRoKSwgcy5zbGlkZV9vZmZzZXQgPSBmLnNpbXAocy5zbGlkZV9vZmZzZXQsIHMubWF4d2lkdGgpLCBmLm9yZ2FuaXNlQ2Fyb3VzZWwoaSwgdCwgITEsICEwKTsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeShpLmxpW3MuZm9jdXNlZF0pOwogICAgICAgICAgICAgICAgICAgIGkuYy5maW5kKCIubmV4dC1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJuZXh0LXJldnNsaWRlIiksIGEgJiYgZi5jYWxsaW5nTmV3U2xpZGUoaS5jLCBlLmRhdGEoImluZGV4IikpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgZWFzZTogbwogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgdyA9IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgcmV0dXJuIE1hdGguYWJzKGUpID4gTWF0aC5hYnMoaSkgPyAwIDwgZSA/IGUgLSBNYXRoLmFicyhNYXRoLmZsb29yKGUgLyBpKSAqIGkpIDogZSArIE1hdGguYWJzKE1hdGguZmxvb3IoZSAvIGkpICogaSkgOiBlCiAgICAgICAgfSwKICAgICAgICBvID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgaSwgdCwgYSwgcywgbCwgbyA9IDAsCiAgICAgICAgICAgICAgICByID0gZS5jYXJvdXNlbDsKICAgICAgICAgICAgaWYgKHZvaWQgMCAhPT0gci5wb3NpdGlvbmFuaW0gJiYgci5wb3NpdGlvbmFuaW0ua2lsbCgpLCAibm9uZSIgPT0gci5zbGlkZV9nbG9iYWxvZmZzZXQpIHIuc2xpZGVfZ2xvYmFsb2Zmc2V0ID0gbyA9ICJjZW50ZXIiID09PSByLmhvcml6b250YWxfYWxpZ24gPyByLndyYXB3aWR0aCAvIDIgLSByLnNsaWRlX3dpZHRoIC8gMiA6IDA7CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgci5zbGlkZV9nbG9iYWxvZmZzZXQgPSByLnNsaWRlX29mZnNldCwgci5zbGlkZV9vZmZzZXQgPSAwOwogICAgICAgICAgICAgICAgdmFyIG4gPSBlLmMuZmluZCgiLnByb2Nlc3NpbmctcmV2c2xpZGUiKS5pbmRleCgpLAogICAgICAgICAgICAgICAgICAgIGQgPSAiY2VudGVyIiA9PT0gci5ob3Jpem9udGFsX2FsaWduID8gKHIud3JhcHdpZHRoIC8gMiAtIHIuc2xpZGVfd2lkdGggLyAyIC0gci5zbGlkZV9nbG9iYWxvZmZzZXQpIC8gci5zbGlkZV93aWR0aCA6ICgwIC0gci5zbGlkZV9nbG9iYWxvZmZzZXQpIC8gci5zbGlkZV93aWR0aDsKICAgICAgICAgICAgICAgIGQgPSBmLnNpbXAoZCwgZS5zbGlkZWFtb3VudCwgITEpLCBuID0gMCA8PSAobiA9IDAgPD0gbiA/IG4gOiBlLmMuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLmluZGV4KCkpID8gbiA6IDAsIG8gPSAib2ZmIiA9PT0gci5pbmZpbml0eSA/IGQgLSBuIDogKGkgPSBkLCB0ID0gbiwgYSA9IGUuc2xpZGVhbW91bnQsIGwgPSB0IC0gYSAtIGksIHMgPSB3KHMgPSB0IC0gaSwgYSksIGwgPSB3KGwsIGEpLCAtKE1hdGguYWJzKHMpID4gTWF0aC5hYnMobCkgPyBsIDogcykpLCBvICo9IHIuc2xpZGVfd2lkdGgKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gbwogICAgICAgIH0KfShqUXVlcnkpOwohIGZ1bmN0aW9uKHQpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciB3ID0galF1ZXJ5LmZuLnJldm9sdXRpb24sCiAgICAgICAgdiA9IHsKICAgICAgICAgICAgYWxpYXM6ICJLZW5CdXJucyBNaW4gSlMiLAogICAgICAgICAgICBuYW1lOiAicmV2b2x1dGlvbi5leHRlbnNpb25zLmtlbmJ1cm4ubWluLmpzIiwKICAgICAgICAgICAgbWluX2NvcmU6ICI1LjQiLAogICAgICAgICAgICB2ZXJzaW9uOiAiMS4zLjEiCiAgICAgICAgfTsKICAgIGpRdWVyeS5leHRlbmQoITAsIHcsIHsKICAgICAgICBzdG9wS2VuQnVybjogZnVuY3Rpb24odCkgewogICAgICAgICAgICBpZiAoInN0b3AiID09PSB3LmNvbXBhcmVfdmVyc2lvbih2KS5jaGVjaykgcmV0dXJuICExOwogICAgICAgICAgICBudWxsICE9IHQuZGF0YSgia2J0bCIpICYmIHQuZGF0YSgia2J0bCIpLnBhdXNlKCkKICAgICAgICB9LAogICAgICAgIHN0YXJ0S2VuQnVybjogZnVuY3Rpb24odCwgZSwgYSkgewogICAgICAgICAgICBpZiAoInN0b3AiID09PSB3LmNvbXBhcmVfdmVyc2lvbih2KS5jaGVjaykgcmV0dXJuICExOwogICAgICAgICAgICB2YXIgciA9IHQuZGF0YSgpLAogICAgICAgICAgICAgICAgbiA9IHQuZmluZCgiLmRlZmF1bHRpbWciKSwKICAgICAgICAgICAgICAgIHMgPSBuLmRhdGEoImxhenlsb2FkIikgfHwgbi5kYXRhKCJzcmMiKSwKICAgICAgICAgICAgICAgIGkgPSAoci5vd2lkdGgsIHIub2hlaWdodCwgImNhcm91c2VsIiA9PT0gZS5zbGlkZXJUeXBlID8gZS5jYXJvdXNlbC5zbGlkZV93aWR0aCA6IGUudWwud2lkdGgoKSksCiAgICAgICAgICAgICAgICBvID0gZS51bC5oZWlnaHQoKTsKICAgICAgICAgICAgaWYgKHQuZGF0YSgia2J0bCIpICYmIHQuZGF0YSgia2J0bCIpLmtpbGwoKSwgYSA9IGEgfHwgMCwgMCA9PSB0LmZpbmQoIi50cC1rYmltZyIpLmxlbmd0aCkgewogICAgICAgICAgICAgICAgdmFyIGQgPSBuLmRhdGEoIm1lZGlhZmlsdGVyIik7CiAgICAgICAgICAgICAgICBkID0gdm9pZCAwID09PSBkID8gIiIgOiBkLCB0LmFwcGVuZCgnPGRpdiBjbGFzcz0idHAta2JpbWctd3JhcCAnICsgZCArICciIHN0eWxlPSJ6LWluZGV4OjI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0b3A6MHB4O2xlZnQ6MHB4O3Bvc2l0aW9uOmFic29sdXRlOyI+PGltZyBjbGFzcz0idHAta2JpbWciIHNyYz0iJyArIHMgKyAnIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IiB3aWR0aD0iJyArIHIub3dpZHRoICsgJyIgaGVpZ2h0PSInICsgci5vaGVpZ2h0ICsgJyI+PC9kaXY+JyksIHQuZGF0YSgia2VuYnVybiIsIHQuZmluZCgiLnRwLWtiaW1nIikpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIGIgPSBmdW5jdGlvbih0LCBlLCBhLCByLCBuLCBzLCBpKSB7CiAgICAgICAgICAgICAgICB2YXIgbyA9IHQgKiBhLAogICAgICAgICAgICAgICAgICAgIGQgPSBlICogYSwKICAgICAgICAgICAgICAgICAgICBsID0gTWF0aC5hYnMociAtIG8pLAogICAgICAgICAgICAgICAgICAgIGggPSBNYXRoLmFicyhuIC0gZCksCiAgICAgICAgICAgICAgICAgICAgdSA9IG5ldyBPYmplY3Q7CiAgICAgICAgICAgICAgICByZXR1cm4gdS5sID0gKDAgLSBzKSAqIGwsIHUuciA9IHUubCArIG8sIHUudCA9ICgwIC0gaSkgKiBoLCB1LmIgPSB1LnQgKyBkLCB1LmggPSBzLCB1LnYgPSBpLCB1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIG51bGwgIT0gdC5kYXRhKCJrYnRsIikgJiYgKHQuZGF0YSgia2J0bCIpLmtpbGwoKSwgdC5yZW1vdmVEYXRhKCJrYnRsIikpOwogICAgICAgICAgICB2YXIgbCA9IHQuZGF0YSgia2VuYnVybiIpLAogICAgICAgICAgICAgICAgaCA9IGwucGFyZW50KCksCiAgICAgICAgICAgICAgICB1ID0gZnVuY3Rpb24odCwgZSwgYSkgewogICAgICAgICAgICAgICAgICAgIHZhciByID0gYS5zY2FsZXN0YXJ0IC8gMTAwLAogICAgICAgICAgICAgICAgICAgICAgICBuID0gYS5zY2FsZWVuZCAvIDEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgcyA9IG51bGwgIT0gYS5vZmZzZXRzdGFydCAmJiBhLm9mZnNldHN0YXJ0LnNwbGl0KCIgIikgfHwgWzAsIDBdLAogICAgICAgICAgICAgICAgICAgICAgICBpID0gbnVsbCAhPSBhLm9mZnNldGVuZCAmJiBhLm9mZnNldGVuZC5zcGxpdCgiICIpIHx8IFswLCAwXTsKICAgICAgICAgICAgICAgICAgICBhLmJncG9zaXRpb24gPSAiY2VudGVyIGNlbnRlciIgPT0gYS5iZ3Bvc2l0aW9uID8gIjUwJSA1MCUiIDogYS5iZ3Bvc2l0aW9uOwogICAgICAgICAgICAgICAgICAgIHZhciBvID0gbmV3IE9iamVjdDsKICAgICAgICAgICAgICAgICAgICBhLm93aWR0aCwgYS5vaGVpZ2h0OwogICAgICAgICAgICAgICAgICAgIGlmIChhLm93aWR0aCwgYS5vaGVpZ2h0LCBvLnN0YXJ0ID0gbmV3IE9iamVjdCwgby5zdGFydG8gPSBuZXcgT2JqZWN0LCBvLmVuZCA9IG5ldyBPYmplY3QsIG8uZW5kbyA9IG5ldyBPYmplY3QsIG8uc3RhcnQud2lkdGggPSB0LCBvLnN0YXJ0LmhlaWdodCA9IG8uc3RhcnQud2lkdGggLyBhLm93aWR0aCAqIGEub2hlaWdodCwgby5zdGFydC5oZWlnaHQgPCBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkID0gZSAvIG8uc3RhcnQuaGVpZ2h0OwogICAgICAgICAgICAgICAgICAgICAgICBvLnN0YXJ0LmhlaWdodCA9IGUsIG8uc3RhcnQud2lkdGggPSBvLnN0YXJ0LndpZHRoICogZAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBvLnN0YXJ0LnRyYW5zZm9ybU9yaWdpbiA9IGEuYmdwb3NpdGlvbiwgby5zdGFydC5zY2FsZSA9IHIsIG8uZW5kLnNjYWxlID0gbiwgYS5yb3RhdGVzdGFydCA9IDAgPT09IGEucm90YXRlc3RhcnQgPyAuMDEgOiBhLnJvdGF0ZXN0YXJ0LCBvLnN0YXJ0LnJvdGF0aW9uID0gYS5yb3RhdGVzdGFydCArICJkZWciLCBvLmVuZC5yb3RhdGlvbiA9IGEucm90YXRlZW5kICsgImRlZyI7CiAgICAgICAgICAgICAgICAgICAgdmFyIGwgPSBmdW5jdGlvbih0LCBlLCBhLCByLCBuKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzID0gdC5iZ3Bvc2l0aW9uLnNwbGl0KCIgIikgfHwgImNlbnRlciBjZW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9ICJjZW50ZXIiID09IHNbMF0gPyAiNTAlIiA6ICJsZWZ0IiA9PSBzWzBdIHx8ICJsZWZ0IiA9PSBzWzFdID8gIjAlIiA6ICJyaWdodCIgPT0gc1swXSB8fCAicmlnaHQiID09IHNbMV0gPyAiMTAwJSIgOiBzWzBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbyA9ICJjZW50ZXIiID09IHNbMV0gPyAiNTAlIiA6ICJ0b3AiID09IHNbMF0gfHwgInRvcCIgPT0gc1sxXSA/ICIwJSIgOiAiYm90dG9tIiA9PSBzWzBdIHx8ICJib3R0b20iID09IHNbMV0gPyAiMTAwJSIgOiBzWzFdOwogICAgICAgICAgICAgICAgICAgICAgICBpID0gcGFyc2VJbnQoaSwgMCkgLyAxMDAgfHwgMCwgbyA9IHBhcnNlSW50KG8sIDApIC8gMTAwIHx8IDA7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkID0gbmV3IE9iamVjdDsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGQuc3RhcnQgPSBiKG4uc3RhcnQud2lkdGgsIG4uc3RhcnQuaGVpZ2h0LCBuLnN0YXJ0LnNjYWxlLCBlLCBhLCBpLCBvKSwgZC5lbmQgPSBiKG4uc3RhcnQud2lkdGgsIG4uc3RhcnQuaGVpZ2h0LCBuLmVuZC5zY2FsZSwgZSwgYSwgaSwgbyksIGQKICAgICAgICAgICAgICAgICAgICB9KGEsIHQsIGUsIDAsIG8pOwogICAgICAgICAgICAgICAgICAgIHNbMF0gPSBwYXJzZUZsb2F0KHNbMF0pICsgbC5zdGFydC5sLCBpWzBdID0gcGFyc2VGbG9hdChpWzBdKSArIGwuZW5kLmwsIHNbMV0gPSBwYXJzZUZsb2F0KHNbMV0pICsgbC5zdGFydC50LCBpWzFdID0gcGFyc2VGbG9hdChpWzFdKSArIGwuZW5kLnQ7CiAgICAgICAgICAgICAgICAgICAgdmFyIGggPSBsLnN0YXJ0LnIgLSBsLnN0YXJ0LmwsCiAgICAgICAgICAgICAgICAgICAgICAgIHUgPSBsLnN0YXJ0LmIgLSBsLnN0YXJ0LnQsCiAgICAgICAgICAgICAgICAgICAgICAgIHAgPSBsLmVuZC5yIC0gbC5lbmQubCwKICAgICAgICAgICAgICAgICAgICAgICAgYyA9IGwuZW5kLmIgLSBsLmVuZC50OwogICAgICAgICAgICAgICAgICAgIHJldHVybiBzWzBdID0gMCA8IHNbMF0gPyAwIDogaCArIHNbMF0gPCB0ID8gdCAtIGggOiBzWzBdLCBpWzBdID0gMCA8IGlbMF0gPyAwIDogcCArIGlbMF0gPCB0ID8gdCAtIHAgOiBpWzBdLCBzWzFdID0gMCA8IHNbMV0gPyAwIDogdSArIHNbMV0gPCBlID8gZSAtIHUgOiBzWzFdLCBpWzFdID0gMCA8IGlbMV0gPyAwIDogYyArIGlbMV0gPCBlID8gZSAtIGMgOiBpWzFdLCBvLnN0YXJ0by54ID0gc1swXSArICJweCIsIG8uc3RhcnRvLnkgPSBzWzFdICsgInB4Iiwgby5lbmRvLnggPSBpWzBdICsgInB4Iiwgby5lbmRvLnkgPSBpWzFdICsgInB4Iiwgby5lbmQuZWFzZSA9IG8uZW5kby5lYXNlID0gYS5lYXNlLCBvLmVuZC5mb3JjZTNEID0gby5lbmRvLmZvcmNlM0QgPSAhMCwgbwogICAgICAgICAgICAgICAgfShpLCBvLCByKSwKICAgICAgICAgICAgICAgIHAgPSBuZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7CiAgICAgICAgICAgIGlmIChwLnBhdXNlKCksIHUuc3RhcnQudHJhbnNmb3JtT3JpZ2luID0gIjAlIDAlIiwgdS5zdGFydG8udHJhbnNmb3JtT3JpZ2luID0gIjAlIDAlIiwgcC5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGwsIHIuZHVyYXRpb24gLyAxZTMsIHUuc3RhcnQsIHUuZW5kKSwgMCksIHAuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhoLCByLmR1cmF0aW9uIC8gMWUzLCB1LnN0YXJ0bywgdS5lbmRvKSwgMCksIHZvaWQgMCAhPT0gci5ibHVyc3RhcnQgJiYgdm9pZCAwICE9PSByLmJsdXJlbmQgJiYgKDAgIT09IHIuYmx1cnN0YXJ0IHx8IDAgIT09IHIuYmx1cmVuZCkpIHsKICAgICAgICAgICAgICAgIHZhciBjID0gewogICAgICAgICAgICAgICAgICAgICAgICBhOiByLmJsdXJzdGFydAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgZyA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgYTogci5ibHVyZW5kLAogICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiB1LmVuZG8uZWFzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgZiA9IG5ldyBwdW5jaGdzLlR3ZWVuTGl0ZShjLCByLmR1cmF0aW9uIC8gMWUzLCBnKTsKICAgICAgICAgICAgICAgIGYuZXZlbnRDYWxsYmFjaygib25VcGRhdGUiLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KHQsIHsKICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiAiYmx1cigiICsgYy5hICsgInB4KSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlYmtpdEZpbHRlcjogImJsdXIoIiArIGMuYSArICJweCkiCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0sIFtoXSksIHAuYWRkKGYsIDApCiAgICAgICAgICAgIH0KICAgICAgICAgICAgcC5wcm9ncmVzcyhhKSwgcC5wbGF5KCksIHQuZGF0YSgia2J0bCIsIHApCiAgICAgICAgfQogICAgfSkKfShqUXVlcnkpOwohIGZ1bmN0aW9uKGUpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBBID0galF1ZXJ5LmZuLnJldm9sdXRpb24sCiAgICAgICAgbCA9IChBLmlzX21vYmlsZSgpLCBBLmlzX2FuZHJvaWQoKSwgewogICAgICAgICAgICBhbGlhczogIkxheWVyQW5pbWF0aW9uIE1pbiBKUyIsCiAgICAgICAgICAgIG5hbWU6ICJyZXZvbHV0aW9uLmV4dGVuc2lvbnMubGF5ZXJhbmltYXRpb24ubWluLmpzIiwKICAgICAgICAgICAgbWluX2NvcmU6ICI1LjQuNi40IiwKICAgICAgICAgICAgdmVyc2lvbjogIjMuNi41IgogICAgICAgIH0pOwogICAgalF1ZXJ5LmV4dGVuZCghMCwgQSwgewogICAgICAgIHVwZGF0ZU1hcmt1cDogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICB2YXIgaSA9IGpRdWVyeShlKS5kYXRhKCk7CiAgICAgICAgICAgIGlmICh2b2lkIDAgIT09IGkuc3RhcnQgJiYgIWkuZnJhbWVzX2FkZGVkICYmIHZvaWQgMCA9PT0gaS5mcmFtZXMpIHsKICAgICAgICAgICAgICAgIHZhciBhID0gbmV3IEFycmF5LAogICAgICAgICAgICAgICAgICAgIG4gPSBGKEIoKSwgaS50cmFuc2Zvcm1faW4sIHZvaWQgMCwgITEpLAogICAgICAgICAgICAgICAgICAgIHIgPSBGKEIoKSwgaS50cmFuc2Zvcm1fb3V0LCB2b2lkIDAsICExKSwKICAgICAgICAgICAgICAgICAgICBvID0gRihCKCksIGkudHJhbnNmb3JtX2hvdmVyLCB2b2lkIDAsICExKTsKICAgICAgICAgICAgICAgIGpRdWVyeS5pc051bWVyaWMoaS5lbmQpICYmIGpRdWVyeS5pc051bWVyaWMoaS5zdGFydCkgJiYgalF1ZXJ5LmlzTnVtZXJpYyhuLnNwZWVkKSAmJiAoaS5lbmQgPSBwYXJzZUludChpLmVuZCwgMCkgLSAocGFyc2VJbnQoaS5zdGFydCwgMCkgKyBwYXJzZUZsb2F0KG4uc3BlZWQsIDApKSksIGEucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZnJhbWU6ICIwIiwKICAgICAgICAgICAgICAgICAgICBkZWxheTogaS5zdGFydCwKICAgICAgICAgICAgICAgICAgICBmcm9tOiBpLnRyYW5zZm9ybV9pbiwKICAgICAgICAgICAgICAgICAgICB0bzogaS50cmFuc2Zvcm1faWRsZSwKICAgICAgICAgICAgICAgICAgICBzcGxpdDogaS5zcGxpdGluLAogICAgICAgICAgICAgICAgICAgIHNwZWVkOiBuLnNwZWVkLAogICAgICAgICAgICAgICAgICAgIGVhc2U6IG4uYW5pbS5lYXNlLAogICAgICAgICAgICAgICAgICAgIG1hc2s6IGkubWFza19pbiwKICAgICAgICAgICAgICAgICAgICBzcGxpdGRlbGF5OiBpLmVsZW1lbnRkZWxheQogICAgICAgICAgICAgICAgfSksIGEucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgZnJhbWU6ICI1IiwKICAgICAgICAgICAgICAgICAgICBkZWxheTogaS5lbmQsCiAgICAgICAgICAgICAgICAgICAgdG86IGkudHJhbnNmb3JtX291dCwKICAgICAgICAgICAgICAgICAgICBzcGxpdDogaS5zcGxpdG91dCwKICAgICAgICAgICAgICAgICAgICBzcGVlZDogci5zcGVlZCwKICAgICAgICAgICAgICAgICAgICBlYXNlOiByLmFuaW0uZWFzZSwKICAgICAgICAgICAgICAgICAgICBtYXNrOiBpLm1hc2tfb3V0LAogICAgICAgICAgICAgICAgICAgIHNwbGl0ZGVsYXk6IGkuZWxlbWVudGRlbGF5CiAgICAgICAgICAgICAgICB9KSwgaS50cmFuc2Zvcm1faG92ZXIgJiYgYS5wdXNoKHsKICAgICAgICAgICAgICAgICAgICBmcmFtZTogImhvdmVyIiwKICAgICAgICAgICAgICAgICAgICB0bzogaS50cmFuc2Zvcm1faG92ZXIsCiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IGkuc3R5bGVfaG92ZXIsCiAgICAgICAgICAgICAgICAgICAgc3BlZWQ6IG8uc3BlZWQsCiAgICAgICAgICAgICAgICAgICAgZWFzZTogby5hbmltLmVhc2UsCiAgICAgICAgICAgICAgICAgICAgc3BsaXRkZWxheTogaS5lbGVtZW50ZGVsYXkKICAgICAgICAgICAgICAgIH0pLCBpLmZyYW1lcyA9IGEKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIWkuZnJhbWVzX2FkZGVkKSB7CiAgICAgICAgICAgICAgICBpZiAoaS5pbmZyYW1laW5kZXggPSAwLCBpLm91dGZyYW1laW5kZXggPSAtMSwgaS5ob3ZlcmZyYW1laW5kZXggPSAtMSwgdm9pZCAwICE9PSBpLmZyYW1lcykKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBzID0gMDsgcyA8IGkuZnJhbWVzLmxlbmd0aDsgcysrKSB2b2lkIDAgIT09IGkuZnJhbWVzW3NdLnNmeF9lZmZlY3QgJiYgMCA8PSBpLmZyYW1lc1tzXS5zZnhfZWZmZWN0LmluZGV4T2YoImJsb2NrIikgJiYgKGkuZnJhbWVzW3NdLnRvID0gMCA9PT0gcyA/IChpLmZyYW1lc1tzXS5mcm9tID0gIm86MCIsICJvOjEiKSA6ICJvOjAiLCBpLl9zZnggPSAiYmxvY2siKSwgdm9pZCAwID09PSBpLmZyYW1lc1swXS5mcm9tICYmIChpLmZyYW1lc1swXS5mcm9tID0gIm86aW5oZXJpdCIpLCAwID09PSBpLmZyYW1lc1swXS5kZWxheSAmJiAoaS5mcmFtZXNbMF0uZGVsYXkgPSAyMCksICJob3ZlciIgPT09IGkuZnJhbWVzW3NdLmZyYW1lID8gaS5ob3ZlcmZyYW1laW5kZXggPSBzIDogImZyYW1lXzk5OSIgIT09IGkuZnJhbWVzW3NdLmZyYW1lICYmICJmcmFtZV9vdXQiICE9PSBpLmZyYW1lc1tzXS5mcmFtZSAmJiAibGFzdCIgIT09IGkuZnJhbWVzW3NdLmZyYW1lICYmICJlbmQiICE9PSBpLmZyYW1lc1tzXS5mcmFtZSB8fCAoaS5vdXRmcmFtZWluZGV4ID0gcyksIHZvaWQgMCAhPT0gaS5mcmFtZXNbc10uc3BsaXQgJiYgaS5mcmFtZXNbc10uc3BsaXQubWF0Y2goL2NoYXJzfHdvcmRzfGxpbmVzL2cpICYmIChpLnNwbGl0dGV4dCA9ICEwKTsKICAgICAgICAgICAgICAgIGkub3V0ZnJhbWVpbmRleCA9IC0xID09PSBpLm91dGZyYW1laW5kZXggPyAtMSA9PT0gaS5ob3ZlcmZyYW1laW5kZXggPyBpLmZyYW1lcy5sZW5ndGggLSAxIDogaS5mcmFtZXMubGVuZ3RoIC0gMiA6IGkub3V0ZnJhbWVpbmRleCwgaS5mcmFtZXNfYWRkZWQgPSAhMAogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBhbmltY29tcGxldGVkOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHZhciBpID0gZS5kYXRhKCksCiAgICAgICAgICAgICAgICBhID0gaS52aWRlb3R5cGUsCiAgICAgICAgICAgICAgICBuID0gaS5hdXRvcGxheSwKICAgICAgICAgICAgICAgIHIgPSBpLmF1dG9wbGF5b25seWZpcnN0dGltZTsKICAgICAgICAgICAgbnVsbCAhPSBhICYmICJub25lIiAhPSBhICYmICgxID09IG4gfHwgInRydWUiID09IG4gfHwgIm9uIiA9PSBuIHx8ICIxc3R0aW1lIiA9PSBuIHx8IHIgPyAoKCJjYXJvdXNlbCIgIT09IHQuc2xpZGVyVHlwZSB8fCAiY2Fyb3VzZWwiID09PSB0LnNsaWRlclR5cGUgJiYgIm9uIiA9PT0gdC5jYXJvdXNlbC5zaG93TGF5ZXJzQWxsVGltZSAmJiBlLmNsb3Nlc3QoImxpIikuaGFzQ2xhc3MoImFjdGl2ZS1yZXZzbGlkZSIpIHx8ICJjYXJvdXNlbCIgPT09IHQuc2xpZGVyVHlwZSAmJiAib24iICE9PSB0LmNhcm91c2VsLnNob3dMYXllcnNBbGxUaW1lICYmIGUuY2xvc2VzdCgibGkiKS5oYXNDbGFzcygiYWN0aXZlLXJldnNsaWRlIikpICYmIEEucGxheVZpZGVvKGUsIHQpLCBBLnRvZ2dsZVN0YXRlKGUuZGF0YSgidmlkZW90b2dnbGVkYnkiKSksIChyIHx8ICIxc3R0aW1lIiA9PSBuKSAmJiAoaS5hdXRvcGxheW9ubHlmaXJzdHRpbWUgPSAhMSwgaS5hdXRvcGxheSA9ICJvZmYiKSkgOiAoIm5vMXN0dGltZSIgPT0gbiAmJiAoaS5kYXRhc2V0YXV0b3BsYXkgPSAib24iKSwgQS51blRvZ2dsZVN0YXRlKGUuZGF0YSgidmlkZW90b2dnbGVkYnkiKSkpKQogICAgICAgIH0sCiAgICAgICAgaGFuZGxlU3RhdGljTGF5ZXJzOiBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHZhciBpID0gcGFyc2VJbnQoZS5kYXRhKCJzdGFydHNsaWRlIiksIDApLAogICAgICAgICAgICAgICAgYSA9IHBhcnNlSW50KGUuZGF0YSgiZW5kc2xpZGUiKSwgMCk7CiAgICAgICAgICAgIGkgPCAwICYmIChpID0gMCksIGEgPCAwICYmIChhID0gdC5yZWFsc2xpZGVhbW91bnQpLCAwID09PSBpICYmIGEgPT09IHQucmVhbHNsaWRlYW1vdW50IC0gMSAmJiAoYSA9IHQucmVhbHNsaWRlYW1vdW50ICsgMSksIGUuZGF0YSgic3RhcnRzbGlkZSIsIGkpLCBlLmRhdGEoImVuZHNsaWRlIiwgYSkKICAgICAgICB9LAogICAgICAgIGFuaW1hdGVUaGVDYXB0aW9uczogZnVuY3Rpb24oZSkgewogICAgICAgICAgICBpZiAoInN0b3AiID09PSBBLmNvbXBhcmVfdmVyc2lvbihsKS5jaGVjaykgcmV0dXJuICExOwogICAgICAgICAgICB2YXIgcCA9IGUub3B0LAogICAgICAgICAgICAgICAgdCA9IGUuc2xpZGUsCiAgICAgICAgICAgICAgICBuID0gZS5yZWNhbGwsCiAgICAgICAgICAgICAgICBpID0gZS5tYWludGltZWxpbmUsCiAgICAgICAgICAgICAgICByID0gZS5wcmVzZXQsCiAgICAgICAgICAgICAgICBvID0gZS5zdGFydHNsaWRlYW5pbWF0LAogICAgICAgICAgICAgICAgcyA9ICJjYXJvdXNlbCIgPT09IHAuc2xpZGVyVHlwZSA/IDAgOiBwLndpZHRoIC8gMiAtIHAuZ3JpZHdpZHRoW3AuY3VyV2luUmFuZ2VdICogcC5idyAvIDIsCiAgICAgICAgICAgICAgICBhID0gdC5kYXRhKCJpbmRleCIpOwogICAgICAgICAgICBpZiAocC5sYXllcnMgPSBwLmxheWVycyB8fCBuZXcgT2JqZWN0LCBwLmxheWVyc1thXSA9IHAubGF5ZXJzW2FdIHx8IHQuZmluZCgiLnRwLWNhcHRpb24iKSwgcC5sYXllcnMuc3RhdGljID0gcC5sYXllcnMuc3RhdGljIHx8IHAuYy5maW5kKCIudHAtc3RhdGljLWxheWVycyIpLmZpbmQoIi50cC1jYXB0aW9uIiksIHZvaWQgMCA9PT0gcC50aW1lbGluZXMgJiYgQS5jcmVhdGVUaW1lbGluZVN0cnVjdHVyZShwKSwgcC5jb25oID0gcC5jLmhlaWdodCgpLCBwLmNvbncgPSBwLmMud2lkdGgoKSwgcC51bHcgPSBwLnVsLndpZHRoKCksIHAudWxoID0gcC51bC5oZWlnaHQoKSwgcC5kZWJ1Z01vZGUpIHsKICAgICAgICAgICAgICAgIHQuYWRkQ2xhc3MoImluZGVidWdtb2RlIiksIHQuZmluZCgiLmhlbHBncmlkIikucmVtb3ZlKCksIHAuYy5maW5kKCIuaGdsYXllcmluZm8iKS5yZW1vdmUoKSwgdC5hcHBlbmQoJzxkaXYgY2xhc3M9ImhlbHBncmlkIiBzdHlsZT0id2lkdGg6JyArIHAuZ3JpZHdpZHRoW3AuY3VyV2luUmFuZ2VdICogcC5idyArICJweDtoZWlnaHQ6IiArIHAuZ3JpZGhlaWdodFtwLmN1cldpblJhbmdlXSAqIHAuYncgKyAncHg7Ij48L2Rpdj4nKTsKICAgICAgICAgICAgICAgIHZhciBkID0gdC5maW5kKCIuaGVscGdyaWQiKTsKICAgICAgICAgICAgICAgIGQuYXBwZW5kKCc8ZGl2IGNsYXNzPSJoZ2luZm8iPlpvb206JyArIE1hdGgucm91bmQoMTAwICogcC5idykgKyAiJSAmbmJzcDsmbmJzcDsmbmJzcDsgRGV2aWNlIExldmVsOiIgKyBwLmN1cldpblJhbmdlICsgIiZuYnNwOyZuYnNwOyZuYnNwOyBHcmlkIFByZXNldDoiICsgcC5ncmlkd2lkdGhbcC5jdXJXaW5SYW5nZV0gKyAieCIgKyBwLmdyaWRoZWlnaHRbcC5jdXJXaW5SYW5nZV0gKyAiPC9kaXY+IiksIHAuYy5hcHBlbmQoJzxkaXYgY2xhc3M9ImhnbGF5ZXJpbmZvIj48L2Rpdj4nKSwgZC5hcHBlbmQoJzxkaXYgY2xhc3M9InRsaGciPjwvZGl2PicpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgdm9pZCAwICE9PSBhICYmIHAubGF5ZXJzW2FdICYmIGpRdWVyeS5lYWNoKHAubGF5ZXJzW2FdLCBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgIEEudXBkYXRlTWFya3VwKHRoaXMsIHApLCBBLnByZXBhcmVTaW5nbGVDYXB0aW9uKHsKICAgICAgICAgICAgICAgICAgICBjYXB0aW9uOiBpLAogICAgICAgICAgICAgICAgICAgIG9wdDogcCwKICAgICAgICAgICAgICAgICAgICBvZmZzZXR4OiBzLAogICAgICAgICAgICAgICAgICAgIG9mZnNldHk6IDAsCiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGUsCiAgICAgICAgICAgICAgICAgICAgcmVjYWxsOiBuLAogICAgICAgICAgICAgICAgICAgIHByZXNldDogcgogICAgICAgICAgICAgICAgfSksIHIgJiYgMCAhPT0gbyB8fCBBLmJ1aWxkRnVsbFRpbWVMaW5lKHsKICAgICAgICAgICAgICAgICAgICBjYXB0aW9uOiBpLAogICAgICAgICAgICAgICAgICAgIG9wdDogcCwKICAgICAgICAgICAgICAgICAgICBvZmZzZXR4OiBzLAogICAgICAgICAgICAgICAgICAgIG9mZnNldHk6IDAsCiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGUsCiAgICAgICAgICAgICAgICAgICAgcmVjYWxsOiBuLAogICAgICAgICAgICAgICAgICAgIHByZXNldDogciwKICAgICAgICAgICAgICAgICAgICByZWdlbmVyYXRlOiAwID09PSBvCiAgICAgICAgICAgICAgICB9KSwgbiAmJiAiY2Fyb3VzZWwiID09PSBwLnNsaWRlclR5cGUgJiYgIm9uIiA9PT0gcC5jYXJvdXNlbC5zaG93TGF5ZXJzQWxsVGltZSAmJiBBLmFuaW1jb21wbGV0ZWQoaSwgcCkKICAgICAgICAgICAgfSksIHAubGF5ZXJzLnN0YXRpYyAmJiBqUXVlcnkuZWFjaChwLmxheWVycy5zdGF0aWMsIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgIHZhciBpID0galF1ZXJ5KHRoaXMpLAogICAgICAgICAgICAgICAgICAgIGEgPSBpLmRhdGEoKTsKICAgICAgICAgICAgICAgICEwICE9PSBhLmhvdmVyZWRzdGF0dXMgJiYgITAgIT09IGEuaW5ob3Zlcm91dGFuaW1hdGlvbiA/IChBLnVwZGF0ZU1hcmt1cCh0aGlzLCBwKSwgQS5wcmVwYXJlU2luZ2xlQ2FwdGlvbih7CiAgICAgICAgICAgICAgICAgICAgY2FwdGlvbjogaSwKICAgICAgICAgICAgICAgICAgICBvcHQ6IHAsCiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0eDogcywKICAgICAgICAgICAgICAgICAgICBvZmZzZXR5OiAwLAogICAgICAgICAgICAgICAgICAgIGluZGV4OiBlLAogICAgICAgICAgICAgICAgICAgIHJlY2FsbDogbiwKICAgICAgICAgICAgICAgICAgICBwcmVzZXQ6IHIKICAgICAgICAgICAgICAgIH0pLCByICYmIDAgIT09IG8gfHwgITAgPT09IGEudmVyeWZpcnN0c3RzdGljIHx8IChBLmJ1aWxkRnVsbFRpbWVMaW5lKHsKICAgICAgICAgICAgICAgICAgICBjYXB0aW9uOiBpLAogICAgICAgICAgICAgICAgICAgIG9wdDogcCwKICAgICAgICAgICAgICAgICAgICBvZmZzZXR4OiBzLAogICAgICAgICAgICAgICAgICAgIG9mZnNldHk6IDAsCiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGUsCiAgICAgICAgICAgICAgICAgICAgcmVjYWxsOiBuLAogICAgICAgICAgICAgICAgICAgIHByZXNldDogciwKICAgICAgICAgICAgICAgICAgICByZWdlbmVyYXRlOiAwID09PSBvCiAgICAgICAgICAgICAgICB9KSwgYS52ZXJ5Zmlyc3RzdHN0aWMgPSAhMCksIG4gJiYgImNhcm91c2VsIiA9PT0gcC5zbGlkZXJUeXBlICYmICJvbiIgPT09IHAuY2Fyb3VzZWwuc2hvd0xheWVyc0FsbFRpbWUgJiYgQS5hbmltY29tcGxldGVkKGksIHApKSA6IEEucHJlcGFyZVNpbmdsZUNhcHRpb24oewogICAgICAgICAgICAgICAgICAgIGNhcHRpb246IGksCiAgICAgICAgICAgICAgICAgICAgb3B0OiBwLAogICAgICAgICAgICAgICAgICAgIG9mZnNldHg6IHMsCiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0eTogMCwKICAgICAgICAgICAgICAgICAgICBpbmRleDogZSwKICAgICAgICAgICAgICAgICAgICByZWNhbGw6IG4sCiAgICAgICAgICAgICAgICAgICAgcHJlc2V0OiByCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdmFyIGcgPSAtMSA9PT0gcC5uZXh0U2xpZGUgfHwgdm9pZCAwID09PSBwLm5leHRTbGlkZSA/IDAgOiBwLm5leHRTbGlkZTsKICAgICAgICAgICAgdm9pZCAwICE9PSBwLnJvd3pvbmVzICYmIChnID0gZyA+IHAucm93em9uZXMubGVuZ3RoID8gcC5yb3d6b25lcy5sZW5ndGggOiBnKSwgbnVsbCAhPSBwLnJvd3pvbmVzICYmIDAgPCBwLnJvd3pvbmVzLmxlbmd0aCAmJiBudWxsICE9IHAucm93em9uZXNbZ10gJiYgMCA8PSBnICYmIGcgPD0gcC5yb3d6b25lcy5sZW5ndGggJiYgMCA8IHAucm93em9uZXNbZ10ubGVuZ3RoICYmIEEuc2V0U2l6ZShwKSwgciB8fCB2b2lkIDAgIT09IG8gJiYgKHZvaWQgMCAhPT0gYSAmJiBqUXVlcnkuZWFjaChwLnRpbWVsaW5lc1thXS5sYXllcnMsIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgIHZhciBpID0gdC5sYXllci5kYXRhKCk7CiAgICAgICAgICAgICAgICAibm9uZSIgIT09IHQud3JhcHBlciAmJiB2b2lkIDAgIT09IHQud3JhcHBlciB8fCAoImtlZXAiID09IHQudHJpZ2dlcnN0YXRlICYmICJvbiIgPT09IGkudHJpZ2dlcnN0YXRlID8gQS5wbGF5QW5pbWF0aW9uRnJhbWUoewogICAgICAgICAgICAgICAgICAgIGNhcHRpb246IHQubGF5ZXIsCiAgICAgICAgICAgICAgICAgICAgb3B0OiBwLAogICAgICAgICAgICAgICAgICAgIGZyYW1lOiAiZnJhbWVfMCIsCiAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcmRpcmVjdGlvbjogImluIiwKICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyZnJhbWVpbjogImZyYW1lXzAiLAogICAgICAgICAgICAgICAgICAgIHRyaWdnZXJmcmFtZW91dDogImZyYW1lXzk5OSIKICAgICAgICAgICAgICAgIH0pIDogdC50aW1lbGluZS5yZXN0YXJ0KCkpCiAgICAgICAgICAgIH0pLCBwLnRpbWVsaW5lcy5zdGF0aWNsYXllcnMgJiYgalF1ZXJ5LmVhY2gocC50aW1lbGluZXMuc3RhdGljbGF5ZXJzLmxheWVycywgZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgdmFyIGkgPSB0LmxheWVyLmRhdGEoKSwKICAgICAgICAgICAgICAgICAgICBhID0gZyA+PSB0LmZpcnN0c2xpZGUgJiYgZyA8PSB0Lmxhc3RzbGlkZSwKICAgICAgICAgICAgICAgICAgICBuID0gZyA8IHQuZmlyc3RzbGlkZSB8fCBnID4gdC5sYXN0c2xpZGUsCiAgICAgICAgICAgICAgICAgICAgciA9IHQudGltZWxpbmUuZ2V0TGFiZWxUaW1lKCJzbGlkZV8iICsgdC5maXJzdHNsaWRlKSwKICAgICAgICAgICAgICAgICAgICBvID0gdC50aW1lbGluZS5nZXRMYWJlbFRpbWUoInNsaWRlXyIgKyB0Lmxhc3RzbGlkZSksCiAgICAgICAgICAgICAgICAgICAgcyA9IGkuc3RhdGljX2xheWVyX3RpbWVsaW5lX3RpbWUsCiAgICAgICAgICAgICAgICAgICAgZCA9ICJpbiIgPT09IGkuYW5pbWRpcmVjdGlvbiB8fCAib3V0IiAhPT0gaS5hbmltZGlyZWN0aW9uICYmIHZvaWQgMCwKICAgICAgICAgICAgICAgICAgICBsID0gImJ5dHJpZ2dlciIgPT09IGkuZnJhbWVzWzBdLmRlbGF5LAogICAgICAgICAgICAgICAgICAgIG0gPSAoaS5mcmFtZXNbaS5mcmFtZXMubGVuZ3RoIC0gMV0uZGVsYXksIGkudHJpZ2dlcmVkX3N0YXJ0c3RhdHVzKSwKICAgICAgICAgICAgICAgICAgICBjID0gaS5sYXN0dHJpZ2dlcnN0YXRlOwogICAgICAgICAgICAgICAgITAgIT09IGkuaG92ZXJlZHN0YXR1cyAmJiAxICE9IGkuaW5ob3Zlcm91dGFuaW1hdGlvbiAmJiAodm9pZCAwICE9PSBzICYmIGQgJiYgKCJrZWVwIiA9PSBjID8gKEEucGxheUFuaW1hdGlvbkZyYW1lKHsKICAgICAgICAgICAgICAgICAgICBjYXB0aW9uOiB0LmxheWVyLAogICAgICAgICAgICAgICAgICAgIG9wdDogcCwKICAgICAgICAgICAgICAgICAgICBmcmFtZTogImZyYW1lXzAiLAogICAgICAgICAgICAgICAgICAgIHRyaWdnZXJkaXJlY3Rpb246ICJpbiIsCiAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcmZyYW1laW46ICJmcmFtZV8wIiwKICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyZnJhbWVvdXQ6ICJmcmFtZV85OTkiCiAgICAgICAgICAgICAgICB9KSwgaS50cmlnZ2VyZWR0aW1lbGluZS50aW1lKHMpKSA6ICEwICE9PSBpLmhvdmVyZWRzdGF0dXMgJiYgdC50aW1lbGluZS50aW1lKHMpKSwgInJlc2V0IiA9PT0gYyAmJiAiaGlkZGVuIiA9PT0gbSAmJiAodC50aW1lbGluZS50aW1lKDApLCBpLmFuaW1kaXJlY3Rpb24gPSAib3V0IiksIGEgPyBkID8gZyA9PT0gdC5sYXN0c2xpZGUgJiYgKHQudGltZWxpbmUucGxheShvKSwgaS5hbmltZGlyZWN0aW9uID0gImluIikgOiAobCB8fCAiaW4iID09PSBpLmFuaW1kaXJlY3Rpb24gfHwgdC50aW1lbGluZS5wbGF5KHIpLCAoInZpc2libGUiID09IG0gJiYgImtlZXAiICE9PSBjIHx8ICJrZWVwIiA9PT0gYyAmJiAhMCA9PT0gZCB8fCAidmlzaWJsZSIgPT0gbSAmJiB2b2lkIDAgPT09IGQpICYmICh0LnRpbWVsaW5lLnBsYXkociArIC4wMSksIGkuYW5pbWRpcmVjdGlvbiA9ICJpbiIpKSA6IG4gJiYgZCAmJiB0LnRpbWVsaW5lLnBsYXkoImZyYW1lXzk5OSIpKQogICAgICAgICAgICB9KSksIG51bGwgIT0gaSAmJiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgaS5yZXN1bWUoKQogICAgICAgICAgICB9LCAzMCkKICAgICAgICB9LAogICAgICAgIHByZXBhcmVTaW5nbGVDYXB0aW9uOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciB0ID0gZS5jYXB0aW9uLAogICAgICAgICAgICAgICAgaSA9IHQuZGF0YSgpLAogICAgICAgICAgICAgICAgYSA9IGUub3B0LAogICAgICAgICAgICAgICAgbiA9IGUucmVjYWxsLAogICAgICAgICAgICAgICAgciA9IGUucmVjYWxsLAogICAgICAgICAgICAgICAgbyA9IChlLnByZXNldCwgalF1ZXJ5KCJib2R5IikuaGFzQ2xhc3MoInJ0bCIpKTsKICAgICAgICAgICAgaWYgKGkuX3B3ID0gdm9pZCAwID09PSBpLl9wdyA/IHQuY2xvc2VzdCgiLnRwLXBhcmFsbGF4LXdyYXAiKSA6IGkuX3B3LCBpLl9sdyA9IHZvaWQgMCA9PT0gaS5fbHcgPyB0LmNsb3Nlc3QoIi50cC1sb29wLXdyYXAiKSA6IGkuX2x3LCBpLl9tdyA9IHZvaWQgMCA9PT0gaS5fbXcgPyB0LmNsb3Nlc3QoIi50cC1tYXNrLXdyYXAiKSA6IGkuX213LCBpLl9yZXNwb25zaXZlID0gaS5yZXNwb25zaXZlIHx8ICJvbiIsIGkuX3Jlc3BvZmZzZXQgPSBpLnJlc3BvbnNpdmVfb2Zmc2V0IHx8ICJvbiIsIGkuX2JhID0gaS5iYXNlYWxpZ24gfHwgImdyaWQiLCBpLl9ndyA9ICJncmlkIiA9PT0gaS5fYmEgPyBhLndpZHRoIDogYS51bHcsIGkuX2doID0gImdyaWQiID09PSBpLl9iYSA/IGEuaGVpZ2h0IDogYS51bGgsIGkuX2xpZyA9IHZvaWQgMCA9PT0gaS5fbGlnID8gdC5oYXNDbGFzcygicmV2X2xheWVyX2luX2dyb3VwIikgPyB0LmNsb3Nlc3QoIi5yZXZfZ3JvdXAiKSA6IHQuaGFzQ2xhc3MoInJldl9sYXllcl9pbl9jb2x1bW4iKSA/IHQuY2xvc2VzdCgiLnJldl9jb2x1bW5faW5uZXIiKSA6IHQuaGFzQ2xhc3MoInJldl9jb2x1bW5faW5uZXIiKSA/IHQuY2xvc2VzdCgiLnJldl9yb3ciKSA6ICJub25lIiA6IGkuX2xpZywgaS5fY29sdW1uID0gdm9pZCAwID09PSBpLl9jb2x1bW4gPyB0Lmhhc0NsYXNzKCJyZXZfY29sdW1uX2lubmVyIikgPyB0LmNsb3Nlc3QoIi5yZXZfY29sdW1uIikgOiAibm9uZSIgOiBpLl9jb2x1bW4sIGkuX3JvdyA9IHZvaWQgMCA9PT0gaS5fcm93ID8gdC5oYXNDbGFzcygicmV2X2NvbHVtbl9pbm5lciIpID8gdC5jbG9zZXN0KCIucmV2X3JvdyIpIDogIm5vbmUiIDogaS5fcm93LCBpLl9pbmdyb3VwID0gdm9pZCAwID09PSBpLl9pbmdyb3VwID8gISh0Lmhhc0NsYXNzKCJyZXZfZ3JvdXAiKSB8fCAhdC5jbG9zZXN0KCIucmV2X2dyb3VwIikpIDogaS5faW5ncm91cCwgaS5faXNncm91cCA9IHZvaWQgMCA9PT0gaS5faXNncm91cCA/ICEhdC5oYXNDbGFzcygicmV2X2dyb3VwIikgOiBpLl9pc2dyb3VwLCBpLl9uY3R5cGUgPSBpLnR5cGUgfHwgIm5vbmUiLCBpLl9jYmdjX2F1dG8gPSB2b2lkIDAgPT09IGkuX2NiZ2NfYXV0byA/ICJjb2x1bW4iID09PSBpLl9uY3R5cGUgJiYgaS5fcHcuZmluZCgiLnJldl9jb2x1bW5fYmdfYXV0b19zaXplZCIpIDogaS5fY2JnY19hdXRvLCBpLl9jYmdjX21hbiA9IHZvaWQgMCA9PT0gaS5fY2JnY19tYW4gPyAiY29sdW1uIiA9PT0gaS5fbmN0eXBlICYmIGkuX3B3LmZpbmQoIi5yZXZfY29sdW1uX2JnX21hbl9zaXplZCIpIDogaS5fY2JnY19tYW4sIGkuX3NsaWRlaWQgPSBpLl9zbGlkZWlkIHx8IHQuY2xvc2VzdCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaSIpLmRhdGEoImluZGV4IiksIGkuX2lkID0gdm9pZCAwID09PSBpLl9pZCA/IHQuZGF0YSgiaWQiKSB8fCB0LmF0dHIoImlkIikgOiBpLl9pZCwgaS5fc2xpZGVsaW5rID0gdm9pZCAwID09PSBpLl9zbGlkZWxpbmsgPyB2b2lkIDAgIT09IHQuaGFzQ2xhc3MoInNsaWRlbGluayIpICYmIHQuaGFzQ2xhc3MoInNsaWRlbGluayIpIDogaS5fc2xpZGVsaW5rLCB2b2lkIDAgPT09IGkuX2xpICYmICh0Lmhhc0NsYXNzKCJ0cC1zdGF0aWMtbGF5ZXIiKSA/IChpLl9pc3N0YXRpYyA9ICEwLCBpLl9saSA9IHQuY2xvc2VzdCgiLnRwLXN0YXRpYy1sYXllcnMiKSwgaS5fc2xpZGVpZCA9ICJzdGF0aWNsYXllcnMiKSA6IGkuX2xpID0gdC5jbG9zZXN0KCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikpLCBpLl9yb3cgPSB2b2lkIDAgPT09IGkuX3JvdyA/ICJjb2x1bW4iID09PSBpLl9uY3R5cGUgJiYgaS5fcHcuY2xvc2VzdCgiLnJldl9yb3ciKSA6IGkuX3Jvdywgdm9pZCAwID09PSBpLl90b2dnbGVsaXN0ZW5lcnMgJiYgdC5maW5kKCIucnMtdG9nZ2xlZC1jb250ZW50IikgPyAoaS5fdG9nZ2xlbGlzdGVuZXJzID0gITAsIHZvaWQgMCA9PT0gaS5hY3Rpb25zICYmIHQuY2xpY2soZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgQS5zd2FwdG9nZ2xlU3RhdGUodCkKICAgICAgICAgICAgICAgIH0pKSA6IGkuX3RvZ2dsZWxpc3RlbmVycyA9ICExLCAiZnVsbHNjcmVlbiIgPT0gYS5zbGlkZXJMYXlvdXQgJiYgKGUub2Zmc2V0eSA9IGkuX2doIC8gMiAtIGEuZ3JpZGhlaWdodFthLmN1cldpblJhbmdlXSAqIGEuYmggLyAyKSwgKCJvbiIgPT0gYS5hdXRvSGVpZ2h0IHx8IG51bGwgIT0gYS5taW5IZWlnaHQgJiYgMCA8IGEubWluSGVpZ2h0KSAmJiAoZS5vZmZzZXR5ID0gYS5jb25oIC8gMiAtIGEuZ3JpZGhlaWdodFthLmN1cldpblJhbmdlXSAqIGEuYmggLyAyKSwgZS5vZmZzZXR5IDwgMCAmJiAoZS5vZmZzZXR5ID0gMCksIGEuZGVidWdNb2RlKSB7CiAgICAgICAgICAgICAgICB0LmNsb3Nlc3QoImxpIikuZmluZCgiLmhlbHBncmlkIikuY3NzKHsKICAgICAgICAgICAgICAgICAgICB0b3A6IGUub2Zmc2V0eSArICJweCIsCiAgICAgICAgICAgICAgICAgICAgbGVmdDogZS5vZmZzZXR4ICsgInB4IgogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB2YXIgcyA9IGEuYy5maW5kKCIuaGdsYXllcmluZm8iKTsKICAgICAgICAgICAgICAgIHQub24oImhvdmVyLCBtb3VzZWVudGVyIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSAiIjsKICAgICAgICAgICAgICAgICAgICB0LmRhdGEoKSAmJiBqUXVlcnkuZWFjaCh0LmRhdGEoKSwgZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgICAgICAgICAib2JqZWN0IiAhPSB0eXBlb2YgdCAmJiAoaSA9IGkgKyAnPHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOm5vd3JhcCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMyN2FlNjAiPicgKyBlICsgIjo8L3NwYW4+IiArIHQgKyAiPC9zcGFuPiZuYnNwOyAmbmJzcDsgIikKICAgICAgICAgICAgICAgICAgICB9KSwgcy5odG1sKGkpCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgib2ZmIiA9PT0gKHZvaWQgMCA9PT0gaS52aXNpYmlsaXR5ID8gIm9vbiIgOiBOKGkudmlzaWJpbGl0eSwgYSlbYS5mb3JjZWRXaW5SYW5nZV0gfHwgTihpLnZpc2liaWxpdHksIGEpIHx8ICJvb29uIikgfHwgaS5fZ3cgPCBhLmhpZGVDYXB0aW9uQXRMaW1pdCAmJiAib24iID09IGkuY2FwdGlvbmhpZGRlbiB8fCBpLl9ndyA8IGEuaGlkZUFsbENhcHRpb25BdExpbWl0ID8gaS5fcHcuYWRkQ2xhc3MoInRwLWhpZGRlbi1jYXB0aW9uIikgOiBpLl9wdy5yZW1vdmVDbGFzcygidHAtaGlkZGVuLWNhcHRpb24iKSwgaS5sYXllcnR5cGUgPSAiaHRtbCIsIGUub2Zmc2V0eCA8IDAgJiYgKGUub2Zmc2V0eCA9IDApLCBudWxsICE9IGkudGh1bWJpbWFnZSAmJiBudWxsID09IGkudmlkZW9wb3N0ZXIgJiYgKGkudmlkZW9wb3N0ZXIgPSBpLnRodW1iaW1hZ2UpLCAwIDwgdC5maW5kKCJpbWciKS5sZW5ndGgpIHsKICAgICAgICAgICAgICAgIHZhciBkID0gdC5maW5kKCJpbWciKTsKICAgICAgICAgICAgICAgIGkubGF5ZXJ0eXBlID0gImltYWdlIiwgMCA9PSBkLndpZHRoKCkgJiYgZC5jc3MoewogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiYXV0byIKICAgICAgICAgICAgICAgIH0pLCAwID09IGQuaGVpZ2h0KCkgJiYgZC5jc3MoewogICAgICAgICAgICAgICAgICAgIGhlaWdodDogImF1dG8iCiAgICAgICAgICAgICAgICB9KSwgbnVsbCA9PSBkLmRhdGEoInd3IikgJiYgMCA8IGQud2lkdGgoKSAmJiBkLmRhdGEoInd3IiwgZC53aWR0aCgpKSwgbnVsbCA9PSBkLmRhdGEoImhoIikgJiYgMCA8IGQuaGVpZ2h0KCkgJiYgZC5kYXRhKCJoaCIsIGQuaGVpZ2h0KCkpOwogICAgICAgICAgICAgICAgdmFyIGwgPSBkLmRhdGEoInd3IiksCiAgICAgICAgICAgICAgICAgICAgbSA9IGQuZGF0YSgiaGgiKSwKICAgICAgICAgICAgICAgICAgICBjID0gInNsaWRlIiA9PSBpLl9iYSA/IGEudWx3IDogYS5ncmlkd2lkdGhbYS5jdXJXaW5SYW5nZV0sCiAgICAgICAgICAgICAgICAgICAgcCA9ICJzbGlkZSIgPT0gaS5fYmEgPyBhLnVsaCA6IGEuZ3JpZGhlaWdodFthLmN1cldpblJhbmdlXSwKICAgICAgICAgICAgICAgICAgICBnID0gImZ1bGwiID09PSAobCA9IE4oZC5kYXRhKCJ3dyIpLCBhKVthLmN1cldpblJhbmdlXSB8fCBOKGQuZGF0YSgid3ciKSwgYSkgfHwgImF1dG8iKSB8fCAiZnVsbC1wcm9wb3J0aW9uYWwiID09PSBsLAogICAgICAgICAgICAgICAgICAgIHUgPSAiZnVsbCIgPT09IChtID0gTihkLmRhdGEoImhoIiksIGEpW2EuY3VyV2luUmFuZ2VdIHx8IE4oZC5kYXRhKCJoaCIpLCBhKSB8fCAiYXV0byIpIHx8ICJmdWxsLXByb3BvcnRpb25hbCIgPT09IG07CiAgICAgICAgICAgICAgICBpZiAoImZ1bGwtcHJvcG9ydGlvbmFsIiA9PT0gbCkgewogICAgICAgICAgICAgICAgICAgIHZhciBmID0gZC5kYXRhKCJvd2lkdGgiKSwKICAgICAgICAgICAgICAgICAgICAgICAgaCA9IGQuZGF0YSgib2hlaWdodCIpOwogICAgICAgICAgICAgICAgICAgIGYgLyBjIDwgaCAvIHAgPyBtID0gaCAqICgobCA9IGMpIC8gZikgOiBsID0gZiAqICgobSA9IHApIC8gaCkKICAgICAgICAgICAgICAgIH0gZWxzZSBsID0gZyA/IGMgOiAhalF1ZXJ5LmlzTnVtZXJpYyhsKSAmJiAwIDwgbC5pbmRleE9mKCIlIikgPyBsIDogcGFyc2VGbG9hdChsKSwgbSA9IHUgPyBwIDogIWpRdWVyeS5pc051bWVyaWMobSkgJiYgMCA8IG0uaW5kZXhPZigiJSIpID8gbSA6IHBhcnNlRmxvYXQobSk7CiAgICAgICAgICAgICAgICBsID0gdm9pZCAwID09PSBsID8gMCA6IGwsIG0gPSB2b2lkIDAgPT09IG0gPyAwIDogbSwgIm9mZiIgIT09IGkuX3Jlc3BvbnNpdmUgPyAoImdyaWQiICE9IGkuX2JhICYmIGcgPyBqUXVlcnkuaXNOdW1lcmljKGwpID8gZC5jc3MoewogICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsICsgInB4IgogICAgICAgICAgICAgICAgfSkgOiBkLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGwKICAgICAgICAgICAgICAgIH0pIDogalF1ZXJ5LmlzTnVtZXJpYyhsKSA/IGQuY3NzKHsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogbCAqIGEuYncgKyAicHgiCiAgICAgICAgICAgICAgICB9KSA6IGQuY3NzKHsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogbAogICAgICAgICAgICAgICAgfSksICJncmlkIiAhPSBpLl9iYSAmJiB1ID8galF1ZXJ5LmlzTnVtZXJpYyhtKSA/IGQuY3NzKHsKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG0gKyAicHgiCiAgICAgICAgICAgICAgICB9KSA6IGQuY3NzKHsKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG0KICAgICAgICAgICAgICAgIH0pIDogalF1ZXJ5LmlzTnVtZXJpYyhtKSA/IGQuY3NzKHsKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG0gKiBhLmJoICsgInB4IgogICAgICAgICAgICAgICAgfSkgOiBkLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtCiAgICAgICAgICAgICAgICB9KSkgOiBkLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGwsCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtCiAgICAgICAgICAgICAgICB9KSwgaS5faW5ncm91cCAmJiAicm93IiAhPT0gaS5fbmN0eXBlICYmICh2b2lkIDAgIT09IGwgJiYgIWpRdWVyeS5pc051bWVyaWMobCkgJiYgInN0cmluZyIgPT09IGpRdWVyeS50eXBlKGwpICYmIDAgPCBsLmluZGV4T2YoIiUiKSAmJiBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2kuX2x3LCBpLl9wdywgaS5fbXddLCB7CiAgICAgICAgICAgICAgICAgICAgbWluV2lkdGg6IGwKICAgICAgICAgICAgICAgIH0pLCB2b2lkIDAgIT09IG0gJiYgIWpRdWVyeS5pc051bWVyaWMobSkgJiYgInN0cmluZyIgPT09IGpRdWVyeS50eXBlKG0pICYmIDAgPCBtLmluZGV4T2YoIiUiKSAmJiBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2kuX2x3LCBpLl9wdywgaS5fbXddLCB7CiAgICAgICAgICAgICAgICAgICAgbWluSGVpZ2h0OiBtCiAgICAgICAgICAgICAgICB9KSkKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoInNsaWRlIiA9PT0gaS5fYmEpIGUub2Zmc2V0eCA9IDAsIGUub2Zmc2V0eSA9IDA7CiAgICAgICAgICAgIGVsc2UgaWYgKGkuX2lzc3RhdGljICYmIHZvaWQgMCAhPT0gYS5jYXJvdXNlbCAmJiB2b2lkIDAgIT09IGEuY2Fyb3VzZWwuaG9yaXpvbnRhbF9hbGlnbiAmJiAiY2Fyb3VzZWwiID09PSBhLnNsaWRlclR5cGUpIHsKICAgICAgICAgICAgICAgIHN3aXRjaCAoYS5jYXJvdXNlbC5ob3Jpem9udGFsX2FsaWduKSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAiY2VudGVyIjoKICAgICAgICAgICAgICAgICAgICAgICAgZS5vZmZzZXR4ID0gMCArIChhLnVsdyAtIGEuZ3JpZHdpZHRoW2EuY3VyV2luUmFuZ2VdICogYS5idykgLyAyOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlICJsZWZ0IjoKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAicmlnaHQiOgogICAgICAgICAgICAgICAgICAgICAgICBlLm9mZnNldHggPSBhLnVsdyAtIGEuZ3JpZHdpZHRoW2EuY3VyV2luUmFuZ2VdICogYS5idwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZS5vZmZzZXR4ID0gZS5vZmZzZXR4IDwgMCA/IDAgOiBlLm9mZnNldHgKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgdiA9ICJodG1sNSIgPT0gaS5hdWRpbyA/ICJhdWRpbyIgOiAidmlkZW8iOwogICAgICAgICAgICBpZiAodC5oYXNDbGFzcygidHAtdmlkZW9sYXllciIpIHx8IHQuaGFzQ2xhc3MoInRwLWF1ZGlvbGF5ZXIiKSB8fCAwIDwgdC5maW5kKCJpZnJhbWUiKS5sZW5ndGggfHwgMCA8IHQuZmluZCh2KS5sZW5ndGgpIHsKICAgICAgICAgICAgICAgIGkubGF5ZXJ0eXBlID0gInZpZGVvIiwgQS5tYW5hZ2VWaWRlb0xheWVyICYmIEEubWFuYWdlVmlkZW9MYXllcih0LCBhLCBuLCByKSwgbiB8fCByIHx8IChpLnZpZGVvdHlwZSwgQS5yZXNldFZpZGVvICYmIEEucmVzZXRWaWRlbyh0LCBhLCBlLnByZXNldCkpOwogICAgICAgICAgICAgICAgdmFyIF8gPSBpLmFzcGVjdHJhdGlvOwogICAgICAgICAgICAgICAgbnVsbCAhPSBfICYmIDEgPCBfLnNwbGl0KCI6IikubGVuZ3RoICYmIEEucHJlcGFyZUNvdmVyZWRWaWRlbyhhLCB0KSwgZCA9IHQuZmluZCgiaWZyYW1lIikgPyB0LmZpbmQoImlmcmFtZSIpIDogZCA9IHQuZmluZCh2KTsKICAgICAgICAgICAgICAgIHZhciBiID0gIXQuZmluZCgiaWZyYW1lIiksCiAgICAgICAgICAgICAgICAgICAgeSA9IHQuaGFzQ2xhc3MoImNvdmVyc2NyZWVudmlkZW8iKTsKICAgICAgICAgICAgICAgIGQuY3NzKHsKICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAiYmxvY2siCiAgICAgICAgICAgICAgICB9KSwgbnVsbCA9PSB0LmRhdGEoInZpZGVvd2lkdGgiKSAmJiAodC5kYXRhKCJ2aWRlb3dpZHRoIiwgZC53aWR0aCgpKSwgdC5kYXRhKCJ2aWRlb2hlaWdodCIsIGQuaGVpZ2h0KCkpKSwgbCA9IE4odC5kYXRhKCJ2aWRlb3dpZHRoIiksIGEpW2EuY3VyV2luUmFuZ2VdIHx8IE4odC5kYXRhKCJ2aWRlb3dpZHRoIiksIGEpIHx8ICJhdXRvIiwgbSA9IE4odC5kYXRhKCJ2aWRlb2hlaWdodCIpLCBhKVthLmN1cldpblJhbmdlXSB8fCBOKHQuZGF0YSgidmlkZW9oZWlnaHQiKSwgYSkgfHwgImF1dG8iLCBsID0gImF1dG8iID09PSBsIHx8ICFqUXVlcnkuaXNOdW1lcmljKGwpICYmIDAgPCBsLmluZGV4T2YoIiUiKSA/ICJhdXRvIiA9PT0gbCA/ICJhdXRvIiA6ICJncmlkIiA9PT0gaS5fYmEgPyBhLmdyaWR3aWR0aFthLmN1cldpblJhbmdlXSAqIGEuYncgOiBpLl9ndyA6IHBhcnNlRmxvYXQobCkgKiBhLmJ3ICsgInB4IiwgbSA9ICJhdXRvIiA9PT0gbSB8fCAhalF1ZXJ5LmlzTnVtZXJpYyhtKSAmJiAwIDwgbS5pbmRleE9mKCIlIikgPyAiYXV0byIgPT09IG0gPyAiYXV0byIgOiAiZ3JpZCIgPT09IGkuX2JhID8gYS5ncmlkaGVpZ2h0W2EuY3VyV2luUmFuZ2VdICogYS5idyA6IGkuX2doIDogcGFyc2VGbG9hdChtKSAqIGEuYmggKyAicHgiLCBpLmNzc29iaiA9IHZvaWQgMCA9PT0gaS5jc3NvYmogPyBWKHQsIDApIDogaS5jc3NvYmo7CiAgICAgICAgICAgICAgICB2YXIgdyA9IFooaS5jc3NvYmosIGEpOwogICAgICAgICAgICAgICAgaWYgKCJhdXRvIiA9PSB3LmxpbmVIZWlnaHQgJiYgKHcubGluZUhlaWdodCA9IHcuZm9udFNpemUgKyA0KSwgdC5oYXNDbGFzcygiZnVsbHNjcmVlbnZpZGVvIikgfHwgeSkgewogICAgICAgICAgICAgICAgICAgIGUub2Zmc2V0eCA9IDAsIGUub2Zmc2V0eSA9IDAsIHQuZGF0YSgieCIsIDApLCB0LmRhdGEoInkiLCAwKTsKICAgICAgICAgICAgICAgICAgICB2YXIgeCA9IGkuX2doOwogICAgICAgICAgICAgICAgICAgICJvbiIgPT0gYS5hdXRvSGVpZ2h0ICYmICh4ID0gYS5jb25oKSwgdC5jc3MoewogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogaS5fZ3csCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogeAogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9IGVsc2UgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KHQsIHsKICAgICAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiBNYXRoLnJvdW5kKHcucGFkZGluZ1RvcCAqIGEuYmgpICsgInB4IiwKICAgICAgICAgICAgICAgICAgICBwYWRkaW5nQm90dG9tOiBNYXRoLnJvdW5kKHcucGFkZGluZ0JvdHRvbSAqIGEuYmgpICsgInB4IiwKICAgICAgICAgICAgICAgICAgICBwYWRkaW5nTGVmdDogTWF0aC5yb3VuZCh3LnBhZGRpbmdMZWZ0ICogYS5idykgKyAicHgiLAogICAgICAgICAgICAgICAgICAgIHBhZGRpbmdSaWdodDogTWF0aC5yb3VuZCh3LnBhZGRpbmdSaWdodCAqIGEuYncpICsgInB4IiwKICAgICAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6IHcubWFyZ2luVG9wICogYS5iaCArICJweCIsCiAgICAgICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiB3Lm1hcmdpbkJvdHRvbSAqIGEuYmggKyAicHgiLAogICAgICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6IHcubWFyZ2luTGVmdCAqIGEuYncgKyAicHgiLAogICAgICAgICAgICAgICAgICAgIG1hcmdpblJpZ2h0OiB3Lm1hcmdpblJpZ2h0ICogYS5idyArICJweCIsCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyVG9wV2lkdGg6IE1hdGgucm91bmQody5ib3JkZXJUb3BXaWR0aCAqIGEuYmgpICsgInB4IiwKICAgICAgICAgICAgICAgICAgICBib3JkZXJCb3R0b21XaWR0aDogTWF0aC5yb3VuZCh3LmJvcmRlckJvdHRvbVdpZHRoICogYS5iaCkgKyAicHgiLAogICAgICAgICAgICAgICAgICAgIGJvcmRlckxlZnRXaWR0aDogTWF0aC5yb3VuZCh3LmJvcmRlckxlZnRXaWR0aCAqIGEuYncpICsgInB4IiwKICAgICAgICAgICAgICAgICAgICBib3JkZXJSaWdodFdpZHRoOiBNYXRoLnJvdW5kKHcuYm9yZGVyUmlnaHRXaWR0aCAqIGEuYncpICsgInB4IiwKICAgICAgICAgICAgICAgICAgICB3aWR0aDogbCwKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgKDAgPT0gYiAmJiAheSB8fCAxICE9IGkuZm9yY2Vjb3ZlciAmJiAhdC5oYXNDbGFzcygiZnVsbHNjcmVlbnZpZGVvIikgJiYgIXkpICYmIChkLndpZHRoKGwpLCBkLmhlaWdodChtKSksIGkuX2luZ3JvdXAgJiYgbnVsbCAhPT0gaS52aWRlb3dpZHRoICYmIHZvaWQgMCAhPT0gaS52aWRlb3dpZHRoICYmICFqUXVlcnkuaXNOdW1lcmljKGkudmlkZW93aWR0aCkgJiYgMCA8IGkudmlkZW93aWR0aC5pbmRleE9mKCIlIikgJiYgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KFtpLl9sdywgaS5fcHcsIGkuX213XSwgewogICAgICAgICAgICAgICAgICAgIG1pbldpZHRoOiBpLnZpZGVvd2lkdGgKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRSh0LCBhLCAwLCBpLl9yZXNwb25zaXZlKSwgdC5oYXNDbGFzcygidHAtcmVzaXplbWUiKSAmJiB0LmZpbmQoIioiKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgRShqUXVlcnkodGhpcyksIGEsICJyZWt1cnNpdmUiLCBpLl9yZXNwb25zaXZlKQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdmFyIFQgPSB0Lm91dGVySGVpZ2h0KCksCiAgICAgICAgICAgICAgICBrID0gdC5jc3MoImJhY2tncm91bmRDb2xvciIpOwogICAgICAgICAgICBEKHQsICIuZnJvbnRjb3JuZXIiLCAibGVmdCIsICJib3JkZXJSaWdodCIsICJib3JkZXJUb3BDb2xvciIsIFQsIGspLCBEKHQsICIuZnJvbnRjb3JuZXJ0b3AiLCAibGVmdCIsICJib3JkZXJSaWdodCIsICJib3JkZXJCb3R0b21Db2xvciIsIFQsIGspLCBEKHQsICIuYmFja2Nvcm5lciIsICJyaWdodCIsICJib3JkZXJMZWZ0IiwgImJvcmRlckJvdHRvbUNvbG9yIiwgVCwgayksIEQodCwgIi5iYWNrY29ybmVydG9wIiwgInJpZ2h0IiwgImJvcmRlckxlZnQiLCAiYm9yZGVyVG9wQ29sb3IiLCBULCBrKSwgIm9uIiA9PSBhLmZ1bGxTY3JlZW5BbGlnbkZvcmNlICYmIChlLm9mZnNldHggPSAwLCBlLm9mZnNldHkgPSAwKSwgImJsb2NrIiA9PT0gaS5fc2Z4ICYmIHZvaWQgMCA9PT0gaS5fYm1hc2sgJiYgKGkuX2JtYXNrID0galF1ZXJ5KCc8ZGl2IGNsYXNzPSJ0cC1ibG9ja21hc2siPjwvZGl2PicpLCBpLl9tdy5hcHBlbmQoaS5fYm1hc2spKSwgaS5hcnJvYmogPSBuZXcgT2JqZWN0LCBpLmFycm9iai52b2EgPSBOKGkudm9mZnNldCwgYSlbYS5jdXJXaW5SYW5nZV0gfHwgTihpLnZvZmZzZXQsIGEpWzBdLCBpLmFycm9iai5ob2EgPSBOKGkuaG9mZnNldCwgYSlbYS5jdXJXaW5SYW5nZV0gfHwgTihpLmhvZmZzZXQsIGEpWzBdLCBpLmFycm9iai5lbHggPSBOKGkueCwgYSlbYS5jdXJXaW5SYW5nZV0gfHwgTihpLngsIGEpWzBdLCBpLmFycm9iai5lbHkgPSBOKGkueSwgYSlbYS5jdXJXaW5SYW5nZV0gfHwgTihpLnksIGEpWzBdOwogICAgICAgICAgICB2YXIgaiA9IDAgPT0gaS5hcnJvYmoudm9hLmxlbmd0aCA/IDAgOiBpLmFycm9iai52b2EsCiAgICAgICAgICAgICAgICBMID0gMCA9PSBpLmFycm9iai5ob2EubGVuZ3RoID8gMCA6IGkuYXJyb2JqLmhvYSwKICAgICAgICAgICAgICAgIEkgPSAwID09IGkuYXJyb2JqLmVseC5sZW5ndGggPyAwIDogaS5hcnJvYmouZWx4LAogICAgICAgICAgICAgICAgVyA9IDAgPT0gaS5hcnJvYmouZWx5Lmxlbmd0aCA/IDAgOiBpLmFycm9iai5lbHk7CiAgICAgICAgICAgIGkuZW93ID0gdC5vdXRlcldpZHRoKCEwKSwgaS5lb2ggPSB0Lm91dGVySGVpZ2h0KCEwKSwgMCA9PSBpLmVvdyAmJiAwID09IGkuZW9oICYmIChpLmVvdyA9IGEudWx3LCBpLmVvaCA9IGEudWxoKTsKICAgICAgICAgICAgdmFyIFIgPSAib2ZmIiAhPT0gaS5fcmVzcG9mZnNldCA/IHBhcnNlSW50KGosIDApICogYS5idyA6IHBhcnNlSW50KGosIDApLAogICAgICAgICAgICAgICAgQyA9ICJvZmYiICE9PSBpLl9yZXNwb2Zmc2V0ID8gcGFyc2VJbnQoTCwgMCkgKiBhLmJ3IDogcGFyc2VJbnQoTCwgMCksCiAgICAgICAgICAgICAgICB6ID0gImdyaWQiID09PSBpLl9iYSA/IGEuZ3JpZHdpZHRoW2EuY3VyV2luUmFuZ2VdICogYS5idyA6IGkuX2d3LAogICAgICAgICAgICAgICAgTyA9ICJncmlkIiA9PT0gaS5fYmEgPyBhLmdyaWRoZWlnaHRbYS5jdXJXaW5SYW5nZV0gKiBhLmJ3IDogaS5fZ2g7CiAgICAgICAgICAgICJvbiIgPT0gYS5mdWxsU2NyZWVuQWxpZ25Gb3JjZSAmJiAoeiA9IGEudWx3LCBPID0gYS51bGgpLCAibm9uZSIgIT09IGkuX2xpZyAmJiBudWxsICE9IGkuX2xpZyAmJiAoeiA9IGkuX2xpZy53aWR0aCgpLCBPID0gaS5fbGlnLmhlaWdodCgpLCBlLm9mZnNldHggPSAwLCBlLm9mZnNldHkgPSAwKSwgSSA9ICJjZW50ZXIiID09PSBJIHx8ICJtaWRkbGUiID09PSBJID8geiAvIDIgLSBpLmVvdyAvIDIgKyBDIDogImxlZnQiID09PSBJID8gQyA6ICJyaWdodCIgPT09IEkgPyB6IC0gaS5lb3cgLSBDIDogIm9mZiIgIT09IGkuX3Jlc3BvZmZzZXQgPyBJICogYS5idyA6IEksIFcgPSAiY2VudGVyIiA9PSBXIHx8ICJtaWRkbGUiID09IFcgPyBPIC8gMiAtIGkuZW9oIC8gMiArIFIgOiAidG9wIiA9PSBXID8gUiA6ICJib3R0b20iID09IFcgPyBPIC0gaS5lb2ggLSBSIDogIm9mZiIgIT09IGkuX3Jlc3BvZmZzZXQgPyBXICogYS5idyA6IFcsIG8gJiYgIWkuX3NsaWRlbGluayAmJiAoSSArPSBpLmVvdyksIGkuX3NsaWRlbGluayAmJiAoSSA9IDApLCBpLmNhbGN4ID0gcGFyc2VJbnQoSSwgMCkgKyBlLm9mZnNldHgsIGkuY2FsY3kgPSBwYXJzZUludChXLCAwKSArIGUub2Zmc2V0eTsKICAgICAgICAgICAgdmFyIFEgPSB0LmNzcygiei1JbmRleCIpOwogICAgICAgICAgICBpZiAoInJvdyIgIT09IGkuX25jdHlwZSAmJiAiY29sdW1uIiAhPT0gaS5fbmN0eXBlKSBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5fcHcsIHsKICAgICAgICAgICAgICAgIHpJbmRleDogUSwKICAgICAgICAgICAgICAgIHRvcDogaS5jYWxjeSwKICAgICAgICAgICAgICAgIGxlZnQ6IGkuY2FsY3gsCiAgICAgICAgICAgICAgICBvdmVyd3JpdGU6ICJhdXRvIgogICAgICAgICAgICB9KTsKICAgICAgICAgICAgZWxzZSBpZiAoInJvdyIgIT09IGkuX25jdHlwZSkgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGkuX3B3LCB7CiAgICAgICAgICAgICAgICB6SW5kZXg6IFEsCiAgICAgICAgICAgICAgICB3aWR0aDogaS5jb2x1bW53aWR0aCwKICAgICAgICAgICAgICAgIHRvcDogMCwKICAgICAgICAgICAgICAgIGxlZnQ6IDAsCiAgICAgICAgICAgICAgICBvdmVyd3JpdGU6ICJhdXRvIgogICAgICAgICAgICB9KTsKICAgICAgICAgICAgZWxzZSBpZiAoInJvdyIgPT09IGkuX25jdHlwZSkgewogICAgICAgICAgICAgICAgdmFyIFMgPSAiZ3JpZCIgPT09IGkuX2JhID8geiArICJweCIgOiAiMTAwJSI7CiAgICAgICAgICAgICAgICBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5fcHcsIHsKICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IFEsCiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFMsCiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgICAgIGxlZnQ6IGUub2Zmc2V0eCwKICAgICAgICAgICAgICAgICAgICBvdmVyd3JpdGU6ICJhdXRvIgogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodm9pZCAwICE9PSBpLmJsZW5kbW9kZSAmJiBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5fcHcsIHsKICAgICAgICAgICAgICAgICAgICBtaXhCbGVuZE1vZGU6IGkuYmxlbmRtb2RlCiAgICAgICAgICAgICAgICB9KSwgInJvdyIgPT09IGkuX25jdHlwZSAmJiAoaS5jb2x1bW5icmVhayA8PSBhLmN1cldpblJhbmdlID8gdC5hZGRDbGFzcygicmV2X2JyZWFrX2NvbHVtbnMiKSA6IHQucmVtb3ZlQ2xhc3MoInJldl9icmVha19jb2x1bW5zIikpLCAib24iID09IGkubG9vcGFuaW1hdGlvbiAmJiBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5fbHcsIHsKICAgICAgICAgICAgICAgICAgICBtaW5XaWR0aDogaS5lb3csCiAgICAgICAgICAgICAgICAgICAgbWluSGVpZ2h0OiBpLmVvaAogICAgICAgICAgICAgICAgfSksICJjb2x1bW4iID09PSBpLl9uY3R5cGUpIHsKICAgICAgICAgICAgICAgIHZhciBNID0gdm9pZCAwICE9PSB0WzBdLl9nc1RyYW5zZm9ybSA/IHRbMF0uX2dzVHJhbnNmb3JtLnkgOiAwLAogICAgICAgICAgICAgICAgICAgIFAgPSBwYXJzZUludChpLl9jb2x1bW5bMF0uc3R5bGUucGFkZGluZ1RvcCwgMCk7CiAgICAgICAgICAgICAgICBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQodCwgewogICAgICAgICAgICAgICAgICAgIHk6IDAKICAgICAgICAgICAgICAgIH0pLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5fY2JnY19tYW4sIHsKICAgICAgICAgICAgICAgICAgICB5OiBwYXJzZUludChQICsgaS5fY29sdW1uLm9mZnNldCgpLnRvcCAtIHQub2Zmc2V0KCkudG9wLCAwKQogICAgICAgICAgICAgICAgfSksIHB1bmNoZ3MuVHdlZW5MaXRlLnNldCh0LCB7CiAgICAgICAgICAgICAgICAgICAgeTogTQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgICAgICBpLl9pbmdyb3VwICYmICJyb3ciICE9PSBpLl9uY3R5cGUgJiYgKHZvaWQgMCAhPT0gaS5fZ3JvdXB3ICYmICFqUXVlcnkuaXNOdW1lcmljKGkuX2dyb3VwdykgJiYgMCA8IGkuX2dyb3Vwdy5pbmRleE9mKCIlIikgJiYgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KFtpLl9sdywgaS5fcHcsIGkuX213XSwgewogICAgICAgICAgICAgICAgbWluV2lkdGg6IGkuX2dyb3VwdwogICAgICAgICAgICB9KSwgdm9pZCAwICE9PSBpLl9ncm91cGggJiYgIWpRdWVyeS5pc051bWVyaWMoaS5fZ3JvdXBoKSAmJiAwIDwgaS5fZ3JvdXBoLmluZGV4T2YoIiUiKSAmJiBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2kuX2x3LCBpLl9wdywgaS5fbXddLCB7CiAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6IGkuX2dyb3VwaAogICAgICAgICAgICB9KSkKICAgICAgICB9LAogICAgICAgIGNyZWF0ZVRpbWVsaW5lU3RydWN0dXJlOiBmdW5jdGlvbihzKSB7CiAgICAgICAgICAgIHMudGltZWxpbmVzID0gcy50aW1lbGluZXMgfHwgbmV3IE9iamVjdCwgcy5jLmZpbmQoIi50cC1yZXZzbGlkZXItc2xpZGVzbGksIC50cC1zdGF0aWMtbGF5ZXJzIikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpLAogICAgICAgICAgICAgICAgICAgIG8gPSBlLmRhdGEoImluZGV4Iik7CiAgICAgICAgICAgICAgICBzLnRpbWVsaW5lc1tvXSA9IHMudGltZWxpbmVzW29dIHx8IHt9LCBzLnRpbWVsaW5lc1tvXS5sYXllcnMgPSBzLnRpbWVsaW5lc1tvXS5sYXllcnMgfHwgbmV3IE9iamVjdCwgZS5maW5kKCIudHAtY2FwdGlvbiIpLmVhY2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIHZhciB0LCBpLCBhLCBuLCByOwogICAgICAgICAgICAgICAgICAgIHQgPSBqUXVlcnkodGhpcyksIGkgPSBzLnRpbWVsaW5lc1tvXS5sYXllcnMsIGEgPSBvLCByID0gbmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlKHsKICAgICAgICAgICAgICAgICAgICAgICAgcGF1c2VkOiAhMAogICAgICAgICAgICAgICAgICAgIH0pLCAoaSA9IGkgfHwgbmV3IE9iamVjdClbdC5hdHRyKCJpZCIpXSA9IGlbdC5hdHRyKCJpZCIpXSB8fCBuZXcgT2JqZWN0LCAic3RhdGljbGF5ZXJzIiA9PT0gYSAmJiAoaVt0LmF0dHIoImlkIildLmZpcnN0c2xpZGUgPSB0LmRhdGEoInN0YXJ0c2xpZGUiKSwgaVt0LmF0dHIoImlkIildLmxhc3RzbGlkZSA9IHQuZGF0YSgiZW5kc2xpZGUiKSksIHQuZGF0YSgic2xpZGVpZCIsIGEpLCBpW3QuYXR0cigiaWQiKV0uZGVmY2xhc3NlcyA9IG4gPSB0WzBdLmNsYXNzTmFtZSwgaVt0LmF0dHIoImlkIildLndyYXBwZXIgPSAwIDw9IG4uaW5kZXhPZigicmV2X2xheWVyX2luX2NvbHVtbiIpID8gdC5jbG9zZXN0KCIucmV2X2NvbHVtbl9pbm5lciIpIDogMCA8PSBuLmluZGV4T2YoInJldl9jb2x1bW5faW5uZXIiKSA/IHQuY2xvc2VzdCgiLnJldl9yb3ciKSA6IDAgPD0gbi5pbmRleE9mKCJyZXZfbGF5ZXJfaW5fZ3JvdXAiKSA/IHQuY2xvc2VzdCgiLnJldl9ncm91cCIpIDogIm5vbmUiLCBpW3QuYXR0cigiaWQiKV0udGltZWxpbmUgPSByLCBpW3QuYXR0cigiaWQiKV0ubGF5ZXIgPSB0LCBpW3QuYXR0cigiaWQiKV0udHJpZ2dlcnN0YXRlID0gdC5kYXRhKCJsYXN0dHJpZ2dlcnN0YXRlIiksIGlbdC5hdHRyKCJpZCIpXS5kY2hpbGRyZW4gPSAwIDw9IG4uaW5kZXhPZigicmV2X3JvdyIpID8gdFswXS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJyZXZfY29sdW1uX2lubmVyIikgOiAwIDw9IG4uaW5kZXhPZigicmV2X2NvbHVtbl9pbm5lciIpID8gdFswXS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ0cC1jYXB0aW9uIikgOiAwIDw9IG4uaW5kZXhPZigicmV2X2dyb3VwIikgPyB0WzBdLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInJldl9sYXllcl9pbl9ncm91cCIpIDogIm5vbmUiLCB0LmRhdGEoInRpbWVsaW5lIiwgcikKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBidWlsZEZ1bGxUaW1lTGluZTogZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgdCwgaSwgYSA9IGUuY2FwdGlvbiwKICAgICAgICAgICAgICAgIG4gPSBhLmRhdGEoKSwKICAgICAgICAgICAgICAgIHIgPSBlLm9wdCwKICAgICAgICAgICAgICAgIG8gPSB7fSwKICAgICAgICAgICAgICAgIHMgPSBoKCk7CiAgICAgICAgICAgIGlmICghKHQgPSByLnRpbWVsaW5lc1tuLl9zbGlkZWlkXS5sYXllcnNbbi5faWRdKS5nZW5lcmF0ZWQgfHwgITAgPT09IGUucmVnZW5lcmF0ZSkgewogICAgICAgICAgICAgICAgaWYgKGkgPSB0LnRpbWVsaW5lLCB0LmdlbmVyYXRlZCA9ICEwLCB2b2lkIDAgIT09IG4uY3VycmVudF90aW1lbGluZSAmJiAhMCAhPT0gZS5yZWdlbmVyYXRlID8gKG4uY3VycmVudF90aW1lbGluZV9wYXVzZSA9IG4uY3VycmVudF90aW1lbGluZS5wYXVzZWQoKSwgbi5jdXJyZW50X3RpbWVsaW5lX3RpbWUgPSBuLmN1cnJlbnRfdGltZWxpbmUudGltZSgpLCBuLmN1cnJlbnRfaXNfbmNfdGltZWxpbmUgPSBpID09PSBuLmN1cnJlbnRfdGltZWxpbmUsIG4uc3RhdGljX2xheWVyX3RpbWVsaW5lX3RpbWUgPSBuLmN1cnJlbnRfdGltZWxpbmVfdGltZSkgOiAobi5zdGF0aWNfbGF5ZXJfdGltZWxpbmVfdGltZSA9IG4uY3VycmVudF90aW1lbGluZV90aW1lLCBuLmN1cnJlbnRfdGltZWxpbmVfdGltZSA9IDAsIG4uY3VycmVudF90aW1lbGluZSAmJiBuLmN1cnJlbnRfdGltZWxpbmUuY2xlYXIoKSksIGkuY2xlYXIoKSwgby5zdmcgPSBudWxsICE9IG4uc3ZnX3NyYyAmJiBhLmZpbmQoInN2ZyIpLCBvLnN2ZyAmJiAobi5pZGxlc3ZnID0gZihuLnN2Z19pZGxlLCB1KCkpLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoby5zdmcsIG4uaWRsZXN2Zy5hbmltKSksIC0xICE9PSBuLmhvdmVyZnJhbWVpbmRleCAmJiB2b2lkIDAgIT09IG4uaG92ZXJmcmFtZWluZGV4ICYmICFhLmhhc0NsYXNzKCJycy1ob3Zlci1yZWFkeSIpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGEuYWRkQ2xhc3MoInJzLWhvdmVyLXJlYWR5IiksIG4uaG92ZXJ0aW1lbGluZXMgPSB7fSwgbi5ob3ZlcmFuaW0gPSBGKHMsIG4uZnJhbWVzW24uaG92ZXJmcmFtZWluZGV4XS50byksIG4uaG92ZXJhbmltID0gdihuLmhvdmVyYW5pbSwgbi5mcmFtZXNbbi5ob3ZlcmZyYW1laW5kZXhdLnN0eWxlKSwgby5zdmcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGQgPSBmKG4uc3ZnX2hvdmVyLCB1KCkpOwogICAgICAgICAgICAgICAgICAgICAgICBudWxsICE9IG4uaG92ZXJhbmltLmFuaW0uY29sb3IgJiYgKGQuYW5pbS5maWxsID0gbi5ob3ZlcmFuaW0uYW5pbS5jb2xvciwgbi5pZGxlc3ZnLmFuaW0uY3NzLmZpbGwgPSBvLnN2Zy5jc3MoImZpbGwiKSksIG4uaG92ZXJzdmcgPSBkCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGEuaG92ZXIoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXB0aW9uOiBqUXVlcnkoZS5jdXJyZW50VGFyZ2V0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHQ6IHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RmcmFtZTogImZyYW1lXzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RmcmFtZTogImZyYW1lXzk5OSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gKGcodCksIHQuY2FwdGlvbiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhID0gaS5kYXRhKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuID0gYS5mcmFtZXNbYS5ob3ZlcmZyYW1laW5kZXhdOwogICAgICAgICAgICAgICAgICAgICAgICBhLmZvcmNlaG92ZXIgPSBuLmZvcmNlLCBhLmhvdmVydGltZWxpbmVzLml0ZW0gPSBwdW5jaGdzLlR3ZWVuTGl0ZS50byhpLCBuLnNwZWVkIC8gMWUzLCBhLmhvdmVyYW5pbS5hbmltKSwgKGEuaG92ZXJ6SW5kZXggfHwgYS5ob3ZlcmFuaW0uYW5pbSAmJiBhLmhvdmVyYW5pbS5hbmltLnpJbmRleCkgJiYgKGEuYmFzaWN6aW5kZXggPSB2b2lkIDAgPT09IGEuYmFzaWN6aW5kZXggPyBhLmNzc29iai56SW5kZXggOiBhLmJhc2ljemluZGV4LCBhLmhvdmVyekluZGV4ID0gdm9pZCAwID09PSBhLmhvdmVyekluZGV4ID8gYS5ob3ZlcmFuaW0uYW5pbS56SW5kZXggOiBhLmhvdmVyekluZGV4LCBhLmluaG92ZXJpbmFuaW1hdGlvbiA9ICEwLCAwID09PSBuLnNwZWVkICYmIChhLmluaG92ZXJpbmFuaW1hdGlvbiA9ICExKSwgYS5ob3ZlcnRpbWVsaW5lcy5wd2hvdmVyYW5pbSA9IHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEuX3B3LCBuLnNwZWVkIC8gMWUzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyd3JpdGU6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpJbmRleDogYS5ob3ZlcnpJbmRleAogICAgICAgICAgICAgICAgICAgICAgICB9KSwgYS5ob3ZlcnRpbWVsaW5lcy5wd2hvdmVyYW5pbS5ldmVudENhbGxiYWNrKCJvbkNvbXBsZXRlIiwgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5pbmhvdmVyaW5hbmltYXRpb24gPSAhMQogICAgICAgICAgICAgICAgICAgICAgICB9LCBbYV0pKSwgby5zdmcgJiYgKGEuaG92ZXJ0aW1lbGluZXMuc3ZnaG92ZXJhbmltID0gcHVuY2hncy5Ud2VlbkxpdGUudG8oW28uc3ZnLCBvLnN2Zy5maW5kKCJwYXRoIildLCBuLnNwZWVkIC8gMWUzLCBhLmhvdmVyc3ZnLmFuaW0pKSwgYS5ob3ZlcmVkc3RhdHVzID0gITAKICAgICAgICAgICAgICAgICAgICB9LCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcHRpb246IGpRdWVyeShlLmN1cnJlbnRUYXJnZXQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdDogciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdGZyYW1lOiAiZnJhbWVfMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdGZyYW1lOiAiZnJhbWVfOTk5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSAoZyh0KSwgdC5jYXB0aW9uKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBpLmRhdGEoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG4gPSBhLmZyYW1lc1thLmhvdmVyZnJhbWVpbmRleF07CiAgICAgICAgICAgICAgICAgICAgICAgIGEuaG92ZXJlZHN0YXR1cyA9ICExLCBhLmluaG92ZXJvdXRhbmltYXRpb24gPSAhMCwgYS5ob3ZlcnRpbWVsaW5lcy5pdGVtLnBhdXNlKCksIGEuaG92ZXJ0aW1lbGluZXMuaXRlbSA9IHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGksIG4uc3BlZWQgLyAxZTMsIGpRdWVyeS5leHRlbmQoITAsIHt9LCBhLl9nc1RyYW5zZm9ybVRvKSksIDAgPT0gbi5zcGVlZCAmJiAoYS5pbmhvdmVyb3V0YW5pbWF0aW9uID0gITEpLCBhLmhvdmVydGltZWxpbmVzLml0ZW0uZXZlbnRDYWxsYmFjaygib25Db21wbGV0ZSIsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuaW5ob3Zlcm91dGFuaW1hdGlvbiA9ICExCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIFthXSksIHZvaWQgMCAhPT0gYS5ob3ZlcnRpbWVsaW5lcy5wd2hvdmVyYW5pbSAmJiAoYS5ob3ZlcnRpbWVsaW5lcy5wd2hvdmVyYW5pbSA9IHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEuX3B3LCBuLnNwZWVkIC8gMWUzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyd3JpdGU6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpJbmRleDogYS5iYXNpY3ppbmRleAogICAgICAgICAgICAgICAgICAgICAgICB9KSksIG8uc3ZnICYmIHB1bmNoZ3MuVHdlZW5MaXRlLnRvKFtvLnN2Zywgby5zdmcuZmluZCgicGF0aCIpXSwgbi5zcGVlZCAvIDFlMywgYS5pZGxlc3ZnLmFuaW0pCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZvciAodmFyIGwgPSAwOyBsIDwgbi5mcmFtZXMubGVuZ3RoOyBsKyspCiAgICAgICAgICAgICAgICAgICAgaWYgKGwgIT09IG4uaG92ZXJmcmFtZWluZGV4KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtID0gbCA9PT0gbi5pbmZyYW1laW5kZXggPyAiZnJhbWVfMCIgOiBsID09PSBuLm91dGZyYW1laW5kZXggfHwgImZyYW1lXzk5OSIgPT09IG4uZnJhbWVzW2xdLmZyYW1lID8gImZyYW1lXzk5OSIgOiAiZnJhbWVfIiArIGw7CiAgICAgICAgICAgICAgICAgICAgICAgIHRbbi5mcmFtZXNbbF0uZnJhbWVuYW1lID0gbV0gPSB7fSwgdFttXS50aW1lbGluZSA9IG5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZSh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogIm5vcm1hbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjID0gbi5mcmFtZXNbbF0uZGVsYXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwID0gKG4udHJpZ2dlcmVkX3N0YXJ0c3RhdHVzLCB2b2lkIDAgIT09IGMgPyAwIDw9IGpRdWVyeS5pbkFycmF5KGMsIFsic2xpZGVlbnRlciIsICJieXRyaWdnZXIiLCAid2FpdCJdKSA/IGMgOiBwYXJzZUludChjLCAwKSAvIDFlMyA6ICJ3YWl0Iik7CiAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgMCAhPT0gdC5maXJzdHNsaWRlICYmICJmcmFtZV8wIiA9PT0gbSAmJiAoaS5hZGRMYWJlbCgic2xpZGVfIiArIHQuZmlyc3RzbGlkZSArICJfcGF1c2UiLCAwKSwgaS5hZGRQYXVzZSgic2xpZGVfIiArIHQuZmlyc3RzbGlkZSArICJfcGF1c2UiKSwgaS5hZGRMYWJlbCgic2xpZGVfIiArIHQuZmlyc3RzbGlkZSwgIis9MC4wMDUiKSksIHZvaWQgMCAhPT0gdC5sYXN0c2xpZGUgJiYgImZyYW1lXzk5OSIgPT09IG0gJiYgKGkuYWRkTGFiZWwoInNsaWRlXyIgKyB0Lmxhc3RzbGlkZSArICJfcGF1c2UiLCAiKz0wLjAxIiksIGkuYWRkUGF1c2UoInNsaWRlXyIgKyB0Lmxhc3RzbGlkZSArICJfcGF1c2UiKSwgaS5hZGRMYWJlbCgic2xpZGVfIiArIHQubGFzdHNsaWRlLCAiKz0wLjAwNSIpKSwgalF1ZXJ5LmlzTnVtZXJpYyhwKSA/IGkuYWRkTGFiZWwobSwgIis9IiArIHApIDogKGkuYWRkTGFiZWwoInBhdXNlXyIgKyBsLCAiKz0wLjAxIiksIGkuYWRkUGF1c2UoInBhdXNlXyIgKyBsKSwgaS5hZGRMYWJlbChtLCAiKz0wLjAxIikpLCBpID0gQS5jcmVhdGVGcmFtZU9uVGltZWxpbmUoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FwdGlvbjogZS5jYXB0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZWxpbmU6IGksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1laW5kZXg6IGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHQ6IHIKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlLnJlZ2VuZXJhdGUgfHwgKG4uY3VycmVudF9pc19uY190aW1lbGluZSAmJiAobi5jdXJyZW50X3RpbWVsaW5lID0gaSksIG4uY3VycmVudF90aW1lbGluZV9wYXVzZSA/IGkucGF1c2Uobi5jdXJyZW50X3RpbWVsaW5lX3RpbWUpIDogaS50aW1lKG4uY3VycmVudF90aW1lbGluZV90aW1lKSkKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgY3JlYXRlRnJhbWVPblRpbWVsaW5lOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciB0ID0gZS5jYXB0aW9uLAogICAgICAgICAgICAgICAgaSA9IHQuZGF0YSgpLAogICAgICAgICAgICAgICAgYSA9IGUubGFiZWwsCiAgICAgICAgICAgICAgICBuID0gZS50aW1lbGluZSwKICAgICAgICAgICAgICAgIHIgPSBlLmZyYW1laW5kZXgsCiAgICAgICAgICAgICAgICBvID0gZS5vcHQsCiAgICAgICAgICAgICAgICBzID0gdCwKICAgICAgICAgICAgICAgIGQgPSB7fSwKICAgICAgICAgICAgICAgIGwgPSBvLnRpbWVsaW5lc1tpLl9zbGlkZWlkXS5sYXllcnNbaS5faWRdLAogICAgICAgICAgICAgICAgbSA9IGkuZnJhbWVzLmxlbmd0aCAtIDEsCiAgICAgICAgICAgICAgICBjID0gaS5mcmFtZXNbcl0uc3BsaXQsCiAgICAgICAgICAgICAgICBwID0gaS5mcmFtZXNbcl0uc3BsaXRfZGlyZWN0aW9uLAogICAgICAgICAgICAgICAgZyA9IGkuZnJhbWVzW3JdLnNmeF9lZmZlY3QsCiAgICAgICAgICAgICAgICB1ID0gITE7CiAgICAgICAgICAgIGlmIChwID0gdm9pZCAwID09PSBwID8gImZvcndhcmQiIDogcCwgLTEgIT09IGkuaG92ZXJmcmFtZWluZGV4ICYmIGkuaG92ZXJmcmFtZWluZGV4ID09IG0gJiYgKG0gLT0gMSksIGQuY29udGVudCA9IG5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZSh7CiAgICAgICAgICAgICAgICAgICAgYWxpZ246ICJub3JtYWwiCiAgICAgICAgICAgICAgICB9KSwgZC5tYXNrID0gbmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlKHsKICAgICAgICAgICAgICAgICAgICBhbGlnbjogIm5vcm1hbCIKICAgICAgICAgICAgICAgIH0pLCB2b2lkIDAgPT09IG4udmFycy5pZCAmJiAobi52YXJzLmlkID0gTWF0aC5yb3VuZCgxZTUgKiBNYXRoLnJhbmRvbSgpKSksICJjb2x1bW4iID09PSBpLl9uY3R5cGUgJiYgKG4uYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLl9jYmdjX21hbiwgewogICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICJ2aXNpYmxlIgogICAgICAgICAgICAgICAgfSksIGEpLCBuLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5fY2JnY19hdXRvLCB7CiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogImhpZGRlbiIKICAgICAgICAgICAgICAgIH0pLCBhKSksIGkuc3BsaXR0ZXh0ICYmIDAgPT09IHIpIHsKICAgICAgICAgICAgICAgIHZvaWQgMCAhPT0gaS5teVNwbGl0VGV4dCAmJiBpLm15U3BsaXRUZXh0LnJldmVydCgpOwogICAgICAgICAgICAgICAgdmFyIGYgPSAwIDwgdC5maW5kKCJhIikubGVuZ3RoID8gdC5maW5kKCJhIikgOiB0OwogICAgICAgICAgICAgICAgaS5teVNwbGl0VGV4dCA9IG5ldyBwdW5jaGdzLlNwbGl0VGV4dChmLCB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogImNoYXJzLHdvcmRzLGxpbmVzIiwKICAgICAgICAgICAgICAgICAgICBjaGFyc0NsYXNzOiAidHAtc3BsaXR0ZWQgdHAtY2hhcnNwbGl0IiwKICAgICAgICAgICAgICAgICAgICB3b3Jkc0NsYXNzOiAidHAtc3BsaXR0ZWQgdHAtd29yZHNwbGl0IiwKICAgICAgICAgICAgICAgICAgICBsaW5lc0NsYXNzOiAidHAtc3BsaXR0ZWQgdHAtbGluZXNwbGl0IgogICAgICAgICAgICAgICAgfSksIHQuYWRkQ2xhc3MoInNwbGl0dGVkIikKICAgICAgICAgICAgfQogICAgICAgICAgICB2b2lkIDAgIT09IGkubXlTcGxpdFRleHQgJiYgYyAmJiBjLm1hdGNoKC9jaGFyc3x3b3Jkc3xsaW5lcy9nKSAmJiAocyA9IGkubXlTcGxpdFRleHRbY10sIHUgPSAhMCk7CiAgICAgICAgICAgIHZhciBoLCB2LCBfID0gciAhPT0gaS5vdXRmcmFtZWluZGV4ID8gRihCKCksIGkuZnJhbWVzW3JdLnRvLCB2b2lkIDAsIHUsIHMubGVuZ3RoIC0gMSkgOiB2b2lkIDAgIT09IGkuZnJhbWVzW3JdLnRvICYmIG51bGwgPT09IGkuZnJhbWVzW3JdLnRvLm1hdGNoKC9hdXRvOmF1dG8vZykgPyBGKFgoKSwgaS5mcmFtZXNbcl0udG8sIDEgPT0gby5zZGlyLCB1LCBzLmxlbmd0aCAtIDEpIDogRihYKCksIGkuZnJhbWVzW2kuaW5mcmFtZWluZGV4XS5mcm9tLCAwID09IG8uc2RpciwgdSwgcy5sZW5ndGggLSAxKSwKICAgICAgICAgICAgICAgIGIgPSB2b2lkIDAgIT09IGkuZnJhbWVzW3JdLmZyb20gPyBGKF8sIGkuZnJhbWVzW2kuaW5mcmFtZWluZGV4XS5mcm9tLCAxID09IG8uc2RpciwgdSwgcy5sZW5ndGggLSAxKSA6IHZvaWQgMCwKICAgICAgICAgICAgICAgIHkgPSBpLmZyYW1lc1tyXS5zcGxpdGRlbGF5OwogICAgICAgICAgICBpZiAoMCAhPT0gciB8fCBlLmZyb21jdXJyZW50c3RhdGUgPyB2ID0gSChpLmZyYW1lc1tyXS5tYXNrKSA6IGggPSBIKGkuZnJhbWVzW3JdLm1hc2spLCBfLmFuaW0uZWFzZSA9IHZvaWQgMCA9PT0gaS5mcmFtZXNbcl0uZWFzZSA/IHB1bmNoZ3MuUG93ZXIxLmVhc2VJbk91dCA6IGkuZnJhbWVzW3JdLmVhc2UsIHZvaWQgMCAhPT0gYiAmJiAoYi5hbmltLmVhc2UgPSB2b2lkIDAgPT09IGkuZnJhbWVzW3JdLmVhc2UgPyBwdW5jaGdzLlBvd2VyMS5lYXNlSW5PdXQgOiBpLmZyYW1lc1tyXS5lYXNlLCBiLnNwZWVkID0gdm9pZCAwID09PSBpLmZyYW1lc1tyXS5zcGVlZCA/IGIuc3BlZWQgOiBpLmZyYW1lc1tyXS5zcGVlZCwgYi5hbmltLnggPSBiLmFuaW0ueCAqIG8uYncgfHwgWShiLmFuaW0ueCwgbywgaS5lb3csIGkuZW9oLCBpLmNhbGN5LCBpLmNhbGN4LCAiaG9yaXpvbnRhbCIpLCBiLmFuaW0ueSA9IGIuYW5pbS55ICogby5idyB8fCBZKGIuYW5pbS55LCBvLCBpLmVvdywgaS5lb2gsIGkuY2FsY3ksIGkuY2FsY3gsICJ2ZXJ0aWNhbCIpKSwgdm9pZCAwICE9PSBfICYmIChfLmFuaW0uZWFzZSA9IHZvaWQgMCA9PT0gaS5mcmFtZXNbcl0uZWFzZSA/IHB1bmNoZ3MuUG93ZXIxLmVhc2VJbk91dCA6IGkuZnJhbWVzW3JdLmVhc2UsIF8uc3BlZWQgPSB2b2lkIDAgPT09IGkuZnJhbWVzW3JdLnNwZWVkID8gXy5zcGVlZCA6IGkuZnJhbWVzW3JdLnNwZWVkLCBfLmFuaW0ueCA9IF8uYW5pbS54ICogby5idyB8fCBZKF8uYW5pbS54LCBvLCBpLmVvdywgaS5lb2gsIGkuY2FsY3ksIGkuY2FsY3gsICJob3Jpem9udGFsIiksIF8uYW5pbS55ID0gXy5hbmltLnkgKiBvLmJ3IHx8IFkoXy5hbmltLnksIG8sIGkuZW93LCBpLmVvaCwgaS5jYWxjeSwgaS5jYWxjeCwgInZlcnRpY2FsIikpLCB0LmRhdGEoImlmcmFtZXMiKSAmJiBuLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQodC5maW5kKCJpZnJhbWUiKSwgewogICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMQogICAgICAgICAgICAgICAgfSksIGEgKyAiKz0wLjAwMSIpLCByID09PSBpLm91dGZyYW1laW5kZXggJiYgKGkuZnJhbWVzW3JdLnRvICYmIGkuZnJhbWVzW3JdLnRvLm1hdGNoKC9hdXRvOmF1dG8vZyksIF8uc3BlZWQgPSB2b2lkIDAgPT09IGkuZnJhbWVzW3JdLnNwZWVkIHx8ICJpbmhlcml0IiA9PT0gaS5mcmFtZXNbcl0uc3BlZWQgPyBpLmZyYW1lc1tpLmluZnJhbWVpbmRleF0uc3BlZWQgOiBpLmZyYW1lc1tyXS5zcGVlZCwgXy5hbmltLmVhc2UgPSB2b2lkIDAgPT09IGkuZnJhbWVzW3JdLmVhc2UgfHwgImluaGVyaXQiID09PSBpLmZyYW1lc1tyXS5lYXNlID8gaS5mcmFtZXNbaS5pbmZyYW1laW5kZXhdLmVhc2UgOiBpLmZyYW1lc1tyXS5lYXNlLCBfLmFuaW0ub3ZlcndyaXRlID0gImF1dG8iKSwgMCAhPT0gciB8fCBlLmZyb21jdXJyZW50c3RhdGUpIDAgPT09IHIgJiYgZS5mcm9tY3VycmVudHN0YXRlICYmIChfLnNwZWVkID0gYi5zcGVlZCk7CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgaWYgKHMgIT0gdCkgewogICAgICAgICAgICAgICAgICAgIHZhciB3ID0galF1ZXJ5LmV4dGVuZCh7fSwgXy5hbmltLCAhMCk7CiAgICAgICAgICAgICAgICAgICAgbi5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KHQsIF8uYW5pbSksIGEpLCAoXyA9IEIoKSkuZWFzZSA9IHcuZWFzZSwgdm9pZCAwICE9PSB3LmZpbHRlciAmJiAoXy5hbmltLmZpbHRlciA9IHcuZmlsdGVyKSwgdm9pZCAwICE9PSB3WyItd2Via2l0LWZpbHRlciJdICYmIChfLmFuaW1bIi13ZWJraXQtZmlsdGVyIl0gPSB3WyItd2Via2l0LWZpbHRlciJdKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYi5hbmltLnZpc2liaWxpdHkgPSAiaGlkZGVuIiwgYi5hbmltLmltbWVkaWF0ZVJlbmRlciA9ICEwLCBfLmFuaW0udmlzaWJpbGl0eSA9ICJ2aXNpYmxlIgogICAgICAgICAgICB9CiAgICAgICAgICAgIGUuZnJvbWN1cnJlbnRzdGF0ZSAmJiAoXy5hbmltLmltbWVkaWF0ZVJlbmRlciA9ICEwKTsKICAgICAgICAgICAgdmFyIHggPSAtMTsKICAgICAgICAgICAgaWYgKDAgPT09IHIgJiYgIWUuZnJvbWN1cnJlbnRzdGF0ZSAmJiB2b2lkIDAgIT09IGkuX2JtYXNrICYmIHZvaWQgMCAhPT0gZyAmJiAwIDw9IGcuaW5kZXhPZigiYmxvY2siKSB8fCByID09PSBpLm91dGZyYW1laW5kZXggJiYgIWUuZnJvbWN1cnJlbnRzdGF0ZSAmJiB2b2lkIDAgIT09IGkuX2JtYXNrICYmIHZvaWQgMCAhPT0gZyAmJiAwIDw9IGcuaW5kZXhPZigiYmxvY2siKSkgewogICAgICAgICAgICAgICAgdmFyIFQgPSAwID09PSByID8gYi5zcGVlZCAvIDFlMyAvIDIgOiBfLnNwZWVkIC8gMWUzIC8gMiwKICAgICAgICAgICAgICAgICAgICBrID0gW3sKICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGVZOiAxLAogICAgICAgICAgICAgICAgICAgICAgICBzY2FsZVg6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogIjAlIDUwJSIKICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlWTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGVYOiAxLAogICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBfLmFuaW0uZWFzZQogICAgICAgICAgICAgICAgICAgIH1dLAogICAgICAgICAgICAgICAgICAgIGogPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlWTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGVYOiAwLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW46ICIxMDAlIDUwJSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IF8uYW5pbS5lYXNlCiAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIHN3aXRjaCAoeCA9IHZvaWQgMCA9PT0geSA/IFQgOiB5ICsgVCwgZykgewogICAgICAgICAgICAgICAgICAgIGNhc2UgImJsb2NrdG9sZWZ0IjoKICAgICAgICAgICAgICAgICAgICBjYXNlICJibG9ja2Zyb21yaWdodCI6CiAgICAgICAgICAgICAgICAgICAgICAgIGtbMF0udHJhbnNmb3JtT3JpZ2luID0gIjEwMCUgNTAlIiwgai50cmFuc2Zvcm1PcmlnaW4gPSAiMCUgNTAlIjsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAiYmxvY2tmcm9tdG9wIjoKICAgICAgICAgICAgICAgICAgICBjYXNlICJibG9ja3RvYm90dG9tIjoKICAgICAgICAgICAgICAgICAgICAgICAgayA9IFt7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FsZVg6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FsZVk6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW46ICI1MCUgMCUiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlWDogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlWTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IF8uYW5pbS5lYXNlCiAgICAgICAgICAgICAgICAgICAgICAgIH1dLCBqID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGVYOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGVZOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiAiNTAlIDEwMCUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogXy5hbmltLmVhc2UKICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAiYmxvY2t0b3RvcCI6CiAgICAgICAgICAgICAgICAgICAgY2FzZSAiYmxvY2tmcm9tYm90dG9tIjoKICAgICAgICAgICAgICAgICAgICAgICAgayA9IFt7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FsZVg6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FsZVk6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW46ICI1MCUgMTAwJSIKICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGVYOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGVZOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogXy5hbmltLmVhc2UKICAgICAgICAgICAgICAgICAgICAgICAgfV0sIGogPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FsZVg6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FsZVk6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW46ICI1MCUgMCUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogXy5hbmltLmVhc2UKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAga1swXS5iYWNrZ3JvdW5kID0gaS5mcmFtZXNbcl0uc2Z4Y29sb3IsIG4uYWRkKGQubWFzay5mcm9tVG8oaS5fYm1hc2ssIFQsIGtbMF0sIGtbMV0sIHkpLCBhKSwgbi5hZGQoZC5tYXNrLnRvKGkuX2JtYXNrLCBULCBqLCB4KSwgYSkKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodSkgdmFyIEwgPSBNKHMubGVuZ3RoIC0gMSwgcCk7CiAgICAgICAgICAgIGlmICgwICE9PSByIHx8IGUuZnJvbWN1cnJlbnRzdGF0ZSkKICAgICAgICAgICAgICAgIGlmICgiYmxvY2siID09PSBpLl9zZnhfb3V0ICYmIHIgPT09IGkub3V0ZnJhbWVpbmRleCkgbi5hZGQoZC5jb250ZW50LnN0YWdnZXJUbyhzLCAuMDAxLCB7CiAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwLAogICAgICAgICAgICAgICAgICAgIGRlbGF5OiB4CiAgICAgICAgICAgICAgICB9KSwgYSksIG4uYWRkKGQuY29udGVudC5zdGFnZ2VyVG8ocywgXy5zcGVlZCAvIDFlMyAvIDIgLSAuMDAxLCB7CiAgICAgICAgICAgICAgICAgICAgeDogMCwKICAgICAgICAgICAgICAgICAgICBkZWxheTogeAogICAgICAgICAgICAgICAgfSksIGEgKyAiKz0wLjAwMSIpOwogICAgICAgICAgICAgICAgZWxzZSBpZiAodSAmJiB2b2lkIDAgIT09IEwpCiAgICAgICAgICAgICAgICBmb3IgKHZhciBJIGluIFIgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvOiBQKF8uYW5pbSkKICAgICAgICAgICAgICAgICAgICB9LCBzKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgVyBpbiB6ID0galF1ZXJ5LmV4dGVuZCh7fSwgXy5hbmltKSwgUi50bykgeltXXSA9IHBhcnNlSW50KFIudG9bV10udmFsdWVzW1IudG9bV10uaW5kZXhdLCAwKSwgUi50b1tXXS5pbmRleCA9IFIudG9bV10uaW5kZXggPCBSLnRvW1ddLmxlbiA/IFIudG9bV10uaW5kZXggKyAxIDogMDsKICAgICAgICAgICAgICAgICAgICB2b2lkIDAgIT09IGkuZnJhbWVzW3JdLmNvbG9yICYmICh6LmNvbG9yID0gaS5mcmFtZXNbcl0uY29sb3IpLCB2b2lkIDAgIT09IGkuZnJhbWVzW3JdLmJnY29sb3IgJiYgKHouYmFja2dyb3VuZENvbG9yID0gaS5mcmFtZXNbcl0uYmdjb2xvciksIG4uYWRkKGQuY29udGVudC50byhzW0xbSV1dLCBfLnNwZWVkIC8gMWUzLCB6LCB5ICogSSksIGEpCiAgICAgICAgICAgICAgICB9IGVsc2Ugdm9pZCAwICE9PSBpLmZyYW1lc1tyXS5jb2xvciAmJiAoXy5hbmltLmNvbG9yID0gaS5mcmFtZXNbcl0uY29sb3IpLCB2b2lkIDAgIT09IGkuZnJhbWVzW3JdLmJnY29sb3IgJiYgKF8uYW5pbS5iYWNrZ3JvdW5kQ29sb3IgPSBpLmZyYW1lc1tyXS5iZ2NvbG9yKSwgbi5hZGQoZC5jb250ZW50LnN0YWdnZXJUbyhzLCBfLnNwZWVkIC8gMWUzLCBfLmFuaW0sIHkpLCBhKTsKICAgICAgICAgICAgZWxzZSBpZiAoImJsb2NrIiA9PT0gaS5fc2Z4X2luKSBuLmFkZChkLmNvbnRlbnQuc3RhZ2dlckZyb21UbyhzLCAuMDUsIHsKICAgICAgICAgICAgICAgIHg6IDAsCiAgICAgICAgICAgICAgICB5OiAwLAogICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIHg6IDAsCiAgICAgICAgICAgICAgICB5OiAwLAogICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxLAogICAgICAgICAgICAgICAgZGVsYXk6IHgKICAgICAgICAgICAgfSksIGEpOwogICAgICAgICAgICBlbHNlIGlmICh1ICYmIHZvaWQgMCAhPT0gTCkgewogICAgICAgICAgICAgICAgdmFyIFIgPSB7CiAgICAgICAgICAgICAgICAgICAgZnJvbTogUChiLmFuaW0pLAogICAgICAgICAgICAgICAgICAgIHRvOiBQKF8uYW5pbSkKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICBmb3IgKHZhciBJIGluIHMpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgQyA9IGpRdWVyeS5leHRlbmQoe30sIGIuYW5pbSksCiAgICAgICAgICAgICAgICAgICAgICAgIHogPSBqUXVlcnkuZXh0ZW5kKHt9LCBfLmFuaW0pOwogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIFcgaW4gUi5mcm9tKSBDW1ddID0gcGFyc2VJbnQoUi5mcm9tW1ddLnZhbHVlc1tSLmZyb21bV10uaW5kZXhdLCAwKSwgUi5mcm9tW1ddLmluZGV4ID0gUi5mcm9tW1ddLmluZGV4IDwgUi5mcm9tW1ddLmxlbiA/IFIuZnJvbVtXXS5pbmRleCArIDEgOiAwOwogICAgICAgICAgICAgICAgICAgIHouZWFzZSA9IEMuZWFzZSwgdm9pZCAwICE9PSBpLmZyYW1lc1tyXS5jb2xvciAmJiAoQy5jb2xvciA9IGkuZnJhbWVzW3JdLmNvbG9yLCB6LmNvbG9yID0gaS5jc3NvYmouc3R5bGVQcm9wcy5jb2xvciksIHZvaWQgMCAhPT0gaS5mcmFtZXNbcl0uYmdjb2xvciAmJiAoQy5iYWNrZ3JvdW5kQ29sb3IgPSBpLmZyYW1lc1tyXS5iZ2NvbG9yLCB6LmJhY2tncm91bmRDb2xvciA9IGkuY3Nzb2JqLnN0eWxlUHJvcHNbImJhY2tncm91bmQtY29sb3IiXSksIG4uYWRkKGQuY29udGVudC5mcm9tVG8oc1tMW0ldXSwgYi5zcGVlZCAvIDFlMywgQywgeiwgeSAqIEkpLCBhKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2Ugdm9pZCAwICE9PSBpLmZyYW1lc1tyXS5jb2xvciAmJiAoYi5hbmltLmNvbG9yID0gaS5mcmFtZXNbcl0uY29sb3IsIF8uYW5pbS5jb2xvciA9IGkuY3Nzb2JqLnN0eWxlUHJvcHMuY29sb3IpLCB2b2lkIDAgIT09IGkuZnJhbWVzW3JdLmJnY29sb3IgJiYgKGIuYW5pbS5iYWNrZ3JvdW5kQ29sb3IgPSBpLmZyYW1lc1tyXS5iZ2NvbG9yLCBfLmFuaW0uYmFja2dyb3VuZENvbG9yID0gaS5jc3NvYmouc3R5bGVQcm9wc1siYmFja2dyb3VuZC1jb2xvciJdKSwgbi5hZGQoZC5jb250ZW50LnN0YWdnZXJGcm9tVG8ocywgYi5zcGVlZCAvIDFlMywgYi5hbmltLCBfLmFuaW0sIHkpLCBhKTsKICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gdiB8fCAhMSA9PT0gdiB8fCAwID09PSByICYmIGUuaWdub3JlZmlyc3RmcmFtZSB8fCAodi5hbmltLmVhc2UgPSB2b2lkIDAgPT09IHYuYW5pbS5lYXNlIHx8ICJpbmhlcml0IiA9PT0gdi5hbmltLmVhc2UgPyBpLmZyYW1lc1swXS5lYXNlIDogdi5hbmltLmVhc2UsIHYuYW5pbS5vdmVyZmxvdyA9ICJoaWRkZW4iLCB2LmFuaW0ueCA9IHYuYW5pbS54ICogby5idyB8fCBZKHYuYW5pbS54LCBvLCBpLmVvdywgaS5lb2gsIGkuY2FsY3ksIGkuY2FsY3gsICJob3Jpem9udGFsIiksIHYuYW5pbS55ID0gdi5hbmltLnkgKiBvLmJ3IHx8IFkodi5hbmltLnksIG8sIGkuZW93LCBpLmVvaCwgaS5jYWxjeSwgaS5jYWxjeCwgInZlcnRpY2FsIikpLCAwID09PSByICYmIGggJiYgITEgIT09IGggJiYgIWUuZnJvbWN1cnJlbnRzdGF0ZSB8fCAwID09PSByICYmIGUuaWdub3JlZmlyc3RmcmFtZSA/ICgodiA9IG5ldyBPYmplY3QpLmFuaW0gPSBuZXcgT2JqZWN0LCB2LmFuaW0ub3ZlcndyaXRlID0gImF1dG8iLCB2LmFuaW0uZWFzZSA9IF8uYW5pbS5lYXNlLCB2LmFuaW0ueCA9IHYuYW5pbS55ID0gMCwgaCAmJiAhMSAhPT0gaCAmJiAoaC5hbmltLnggPSBoLmFuaW0ueCAqIG8uYncgfHwgWShoLmFuaW0ueCwgbywgaS5lb3csIGkuZW9oLCBpLmNhbGN5LCBpLmNhbGN4LCAiaG9yaXpvbnRhbCIpLCBoLmFuaW0ueSA9IGguYW5pbS55ICogby5idyB8fCBZKGguYW5pbS55LCBvLCBpLmVvdywgaS5lb2gsIGkuY2FsY3ksIGkuY2FsY3gsICJ2ZXJ0aWNhbCIpLCBoLmFuaW0ub3ZlcmZsb3cgPSAiaGlkZGVuIikpIDogMCA9PT0gciAmJiBuLmFkZChkLm1hc2suc2V0KGkuX213LCB7CiAgICAgICAgICAgICAgICBvdmVyZmxvdzogInZpc2libGUiCiAgICAgICAgICAgIH0pLCBhKSwgdm9pZCAwICE9PSBoICYmIHZvaWQgMCAhPT0gdiAmJiAhMSAhPT0gaCAmJiAhMSAhPT0gdiA/IG4uYWRkKGQubWFzay5mcm9tVG8oaS5fbXcsIGIuc3BlZWQgLyAxZTMsIGguYW5pbSwgdi5hbmltLCB5KSwgYSkgOiB2b2lkIDAgIT09IHYgJiYgITEgIT09IHYgJiYgbi5hZGQoZC5tYXNrLnRvKGkuX213LCBfLnNwZWVkIC8gMWUzLCB2LmFuaW0sIHkpLCBhKSwgbi5hZGRMYWJlbChhICsgIl9lbmQiKSwgaS5fZ3NUcmFuc2Zvcm1UbyAmJiByID09PSBtICYmIGkuaG92ZXJlZHN0YXR1cyAmJiAoaS5ob3ZlcnRpbWVsaW5lcy5pdGVtID0gcHVuY2hncy5Ud2VlbkxpdGUudG8odCwgMCwgaS5fZ3NUcmFuc2Zvcm1UbykpLCBpLl9nc1RyYW5zZm9ybVRvID0gITEsIGQuY29udGVudC5ldmVudENhbGxiYWNrKCJvblN0YXJ0IiwgTywgW3IsIGwsIGkuX3B3LCBpLCBuLCBfLmFuaW0sIHQsIGUudXBkYXRlU3RhdGljVGltZWxpbmUsIG9dKSwgZC5jb250ZW50LmV2ZW50Q2FsbGJhY2soIm9uVXBkYXRlIiwgUSwgW2EsIGkuX2lkLCBpLl9wdywgaSwgbiwgciwgalF1ZXJ5LmV4dGVuZCghMCwge30sIF8uYW5pbSksIGUudXBkYXRlU3RhdGljVGltZWxpbmUsIHQsIG9dKSwgZC5jb250ZW50LmV2ZW50Q2FsbGJhY2soIm9uQ29tcGxldGUiLCBTLCBbciwgaS5mcmFtZXMubGVuZ3RoLCBtLCBpLl9wdywgaSwgbiwgZS51cGRhdGVTdGF0aWNUaW1lbGluZSwgdCwgb10pLCBuCiAgICAgICAgfSwKICAgICAgICBlbmRNb3ZlQ2FwdGlvbjogZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLmZpcnN0ZnJhbWUgPSAiZnJhbWVfMCIsIGUubGFzdGZyYW1lID0gImZyYW1lXzk5OSI7CiAgICAgICAgICAgIHZhciB0ID0gZyhlKSwKICAgICAgICAgICAgICAgIGkgPSBlLmNhcHRpb24uZGF0YSgpOwogICAgICAgICAgICBpZiAodm9pZCAwICE9PSBlLmZyYW1lID8gdC50aW1lbGluZS5wbGF5KGUuZnJhbWUpIDogKCF0LnN0YXRpYyB8fCBlLmN1cnJlbnRzbGlkZSA+PSB0LnJlbW92ZW9uc2xpZGUgfHwgZS5jdXJyZW50c2xpZGUgPCB0LnNob3dvbnNsaWRlKSAmJiAodC5vdXRub3cgPSBuZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsIHQudGltZWxpbmUucGF1c2UoKSwgITAgPT09IGkudmlzaWJsZWVsZW1lbnQgJiYgQS5jcmVhdGVGcmFtZU9uVGltZWxpbmUoewogICAgICAgICAgICAgICAgICAgIGNhcHRpb246IGUuY2FwdGlvbiwKICAgICAgICAgICAgICAgICAgICB0aW1lbGluZTogdC5vdXRub3csCiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICJvdXRub3ciLAogICAgICAgICAgICAgICAgICAgIGZyYW1laW5kZXg6IGUuY2FwdGlvbi5kYXRhKCJvdXRmcmFtZWluZGV4IiksCiAgICAgICAgICAgICAgICAgICAgb3B0OiBlLm9wdCwKICAgICAgICAgICAgICAgICAgICBmcm9tY3VycmVudHN0YXRlOiAhMAogICAgICAgICAgICAgICAgfSkucGxheSgpKSwgZS5jaGVja2NoaWxkcmVucyAmJiB0LnRpbWVsaW5lX29iaiAmJiB0LnRpbWVsaW5lX29iai5kY2hpbGRyZW4gJiYgIm5vbmUiICE9PSB0LnRpbWVsaW5lX29iai5kY2hpbGRyZW4gJiYgMCA8IHQudGltZWxpbmVfb2JqLmRjaGlsZHJlbi5sZW5ndGgpCiAgICAgICAgICAgICAgICBmb3IgKHZhciBhID0gMDsgYSA8IHQudGltZWxpbmVfb2JqLmRjaGlsZHJlbi5sZW5ndGg7IGErKykgQS5lbmRNb3ZlQ2FwdGlvbih7CiAgICAgICAgICAgICAgICAgICAgY2FwdGlvbjogalF1ZXJ5KHQudGltZWxpbmVfb2JqLmRjaGlsZHJlblthXSksCiAgICAgICAgICAgICAgICAgICAgb3B0OiBlLm9wdAogICAgICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIHBsYXlBbmltYXRpb25GcmFtZTogZnVuY3Rpb24oZSkgewogICAgICAgICAgICBlLmZpcnN0ZnJhbWUgPSBlLnRyaWdnZXJmcmFtZWluLCBlLmxhc3RmcmFtZSA9IGUudHJpZ2dlcmZyYW1lb3V0OwogICAgICAgICAgICB2YXIgdCwgaSA9IGcoZSksCiAgICAgICAgICAgICAgICBhID0gZS5jYXB0aW9uLmRhdGEoKSwKICAgICAgICAgICAgICAgIG4gPSAwOwogICAgICAgICAgICBmb3IgKHZhciByIGluIGEuZnJhbWVzKSBhLmZyYW1lc1tyXS5mcmFtZW5hbWUgPT09IGUuZnJhbWUgJiYgKHQgPSBuKSwgbisrOwogICAgICAgICAgICB2b2lkIDAgIT09IGEudHJpZ2dlcmVkdGltZWxpbmUgJiYgYS50cmlnZ2VyZWR0aW1lbGluZS5wYXVzZSgpLCBhLnRyaWdnZXJlZHRpbWVsaW5lID0gbmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlLCBpLnRpbWVsaW5lLnBhdXNlKCk7CiAgICAgICAgICAgIHZhciBvID0gITAgPT09IGEudmlzaWJsZWVsZW1lbnQ7CiAgICAgICAgICAgIGEudHJpZ2dlcmVkdGltZWxpbmUgPSBBLmNyZWF0ZUZyYW1lT25UaW1lbGluZSh7CiAgICAgICAgICAgICAgICBjYXB0aW9uOiBlLmNhcHRpb24sCiAgICAgICAgICAgICAgICB0aW1lbGluZTogYS50cmlnZ2VyZWR0aW1lbGluZSwKICAgICAgICAgICAgICAgIGxhYmVsOiAidHJpZ2dlcmVkIiwKICAgICAgICAgICAgICAgIGZyYW1laW5kZXg6IHQsCiAgICAgICAgICAgICAgICB1cGRhdGVTdGF0aWNUaW1lbGluZTogITAsCiAgICAgICAgICAgICAgICBvcHQ6IGUub3B0LAogICAgICAgICAgICAgICAgaWdub3JlZmlyc3RmcmFtZTogITAsCiAgICAgICAgICAgICAgICBmcm9tY3VycmVudHN0YXRlOiBvCiAgICAgICAgICAgIH0pLnBsYXkoKQogICAgICAgIH0sCiAgICAgICAgcmVtb3ZlVGhlQ2FwdGlvbnM6IGZ1bmN0aW9uKGUsIGkpIHsKICAgICAgICAgICAgaWYgKCJzdG9wIiA9PT0gQS5jb21wYXJlX3ZlcnNpb24obCkuY2hlY2spIHJldHVybiAhMTsKICAgICAgICAgICAgdmFyIHQgPSBlLmRhdGEoImluZGV4IiksCiAgICAgICAgICAgICAgICBhID0gbmV3IEFycmF5OwogICAgICAgICAgICBpLmxheWVyc1t0XSAmJiBqUXVlcnkuZWFjaChpLmxheWVyc1t0XSwgZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgYS5wdXNoKHQpCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB2YXIgbiA9IEEuY3VycmVudFNsaWRlSW5kZXgoaSk7CiAgICAgICAgICAgIGEgJiYgalF1ZXJ5LmVhY2goYSwgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIHQgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICAiY2Fyb3VzZWwiID09PSBpLnNsaWRlclR5cGUgJiYgIm9uIiA9PT0gaS5jYXJvdXNlbC5zaG93TGF5ZXJzQWxsVGltZSA/IChjbGVhclRpbWVvdXQodC5kYXRhKCJ2aWRlb3BsYXl3YWl0IikpLCBBLnN0b3BWaWRlbyAmJiBBLnN0b3BWaWRlbyh0LCBpKSkgOiAocih0KSwgY2xlYXJUaW1lb3V0KHQuZGF0YSgidmlkZW9wbGF5d2FpdCIpKSwgQS5lbmRNb3ZlQ2FwdGlvbih7CiAgICAgICAgICAgICAgICAgICAgY2FwdGlvbjogdCwKICAgICAgICAgICAgICAgICAgICBvcHQ6IGksCiAgICAgICAgICAgICAgICAgICAgY3VycmVudHNsaWRlOiBuCiAgICAgICAgICAgICAgICB9KSksIEEucmVtb3ZlTWVkaWFGcm9tTGlzdCAmJiBBLnJlbW92ZU1lZGlhRnJvbUxpc3QodCwgaSksIGkubGFzdHBsYXllZHZpZGVvcyA9IFtdCiAgICAgICAgICAgIH0pCiAgICAgICAgfQogICAgfSk7CiAgICB2YXIgTyA9IGZ1bmN0aW9uKGUsIHQsIGksIGEsIG4sIHIsIG8sIHMsIGQpIHsKICAgICAgICAgICAgdmFyIGwgPSB7fTsKICAgICAgICAgICAgaWYgKGwubGF5ZXIgPSBvLCBsLmV2ZW50dHlwZSA9IDAgPT09IGUgPyAiZW50ZXJzdGFnZSIgOiBlID09PSBhLm91dGZyYW1laW5kZXggPyAibGVhdmVzdGFnZSIgOiAiZnJhbWVzdGFydGVkIiwgbC5sYXllcnR5cGUgPSBvLmRhdGEoImxheWVydHlwZSIpLCBhLmFjdGl2ZSA9ICEwLCBsLmZyYW1lX2luZGV4ID0gZSwgbC5sYXllcnNldHRpbmdzID0gby5kYXRhKCksIGQuYy50cmlnZ2VyKCJyZXZvbHV0aW9uLmxheWVyYWN0aW9uIiwgW2xdKSwgIm9uIiA9PSBhLmxvb3BhbmltYXRpb24gJiYgYyhhLl9sdywgZC5idyksICJlbnRlcnN0YWdlIiA9PT0gbC5ldmVudHR5cGUgJiYgKGEuYW5pbWRpcmVjdGlvbiA9ICJpbiIsIGEudmlzaWJsZWVsZW1lbnQgPSAhMCwgQS50b2dnbGVTdGF0ZShhLmxheWVydG9nZ2xlZGJ5KSksICJub25lIiAhPT0gdC5kY2hpbGRyZW4gJiYgdm9pZCAwICE9PSB0LmRjaGlsZHJlbiAmJiAwIDwgdC5kY2hpbGRyZW4ubGVuZ3RoKQogICAgICAgICAgICAgICAgaWYgKDAgPT09IGUpCiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgbSA9IDA7IG0gPCB0LmRjaGlsZHJlbi5sZW5ndGg7IG0rKykgalF1ZXJ5KHQuZGNoaWxkcmVuW21dKS5kYXRhKCJ0aW1lbGluZSIpLnBsYXkoMCk7CiAgICAgICAgICAgICAgICBlbHNlIGlmIChlID09PSBhLm91dGZyYW1laW5kZXgpCiAgICAgICAgICAgICAgICBmb3IgKG0gPSAwOyBtIDwgdC5kY2hpbGRyZW4ubGVuZ3RoOyBtKyspIEEuZW5kTW92ZUNhcHRpb24oewogICAgICAgICAgICAgICAgICAgIGNhcHRpb246IGpRdWVyeSh0LmRjaGlsZHJlblttXSksCiAgICAgICAgICAgICAgICAgICAgb3B0OiBkLAogICAgICAgICAgICAgICAgICAgIGNoZWNrY2hpbGRyZW5zOiAhMAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLCB7CiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAidmlzaWJsZSIKICAgICAgICAgICAgfSksIGEuY3VycmVudF9mcmFtZSA9IGUsIGEuY3VycmVudF90aW1lbGluZSA9IG4sIGEuY3VycmVudF90aW1lbGluZV90aW1lID0gbi50aW1lKCksIHMgJiYgKGEuc3RhdGljX2xheWVyX3RpbWVsaW5lX3RpbWUgPSBhLmN1cnJlbnRfdGltZWxpbmVfdGltZSksIGEubGFzdF9mcmFtZV9zdGFydGVkID0gZQogICAgICAgIH0sCiAgICAgICAgUSA9IGZ1bmN0aW9uKGUsIHQsIGksIGEsIG4sIHIsIG8sIHMsIGQsIGwpIHsKICAgICAgICAgICAgImNvbHVtbiIgPT09IGEuX25jdHlwZSAmJiBiKGQsIGwpLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaSwgewogICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogInZpc2libGUiCiAgICAgICAgICAgIH0pLCBhLmN1cnJlbnRfZnJhbWUgPSByLCBhLmN1cnJlbnRfdGltZWxpbmUgPSBuLCBhLmN1cnJlbnRfdGltZWxpbmVfdGltZSA9IG4udGltZSgpLCBzICYmIChhLnN0YXRpY19sYXllcl90aW1lbGluZV90aW1lID0gYS5jdXJyZW50X3RpbWVsaW5lX3RpbWUpLCB2b2lkIDAgIT09IGEuaG92ZXJhbmltICYmICExID09PSBhLl9nc1RyYW5zZm9ybVRvICYmIChhLl9nc1RyYW5zZm9ybVRvID0gbywgYS5fZ3NUcmFuc2Zvcm1UbyAmJiBhLl9nc1RyYW5zZm9ybVRvLnN0YXJ0QXQgJiYgZGVsZXRlIGEuX2dzVHJhbnNmb3JtVG8uc3RhcnRBdCwgdm9pZCAwID09PSBhLmNzc29iai5zdHlsZVByb3BzLmNzcyA/IGEuX2dzVHJhbnNmb3JtVG8gPSBqUXVlcnkuZXh0ZW5kKCEwLCB7fSwgYS5jc3NvYmouc3R5bGVQcm9wcywgYS5fZ3NUcmFuc2Zvcm1UbykgOiBhLl9nc1RyYW5zZm9ybVRvID0galF1ZXJ5LmV4dGVuZCghMCwge30sIGEuY3Nzb2JqLnN0eWxlUHJvcHMuY3NzLCBhLl9nc1RyYW5zZm9ybVRvKSksIGEudmlzaWJsZWVsZW1lbnQgPSAhMAogICAgICAgIH0sCiAgICAgICAgUyA9IGZ1bmN0aW9uKGUsIHQsIGksIGEsIG4sIHIsIG8sIHMsIGQpIHsKICAgICAgICAgICAgdmFyIGwgPSB7fTsKICAgICAgICAgICAgbC5sYXllciA9IHMsIGwuZXZlbnR0eXBlID0gMCA9PT0gZSA/ICJlbnRlcmVkc3RhZ2UiIDogZSA9PT0gdCAtIDEgfHwgZSA9PT0gaSA/ICJsZWZ0c3RhZ2UiIDogImZyYW1lZW5kZWQiLCBsLmxheWVydHlwZSA9IHMuZGF0YSgibGF5ZXJ0eXBlIiksIGwubGF5ZXJzZXR0aW5ncyA9IHMuZGF0YSgpLCBkLmMudHJpZ2dlcigicmV2b2x1dGlvbi5sYXllcmFjdGlvbiIsIFtsXSksICJsZWZ0c3RhZ2UiICE9PSBsLmV2ZW50dHlwZSAmJiBBLmFuaW1jb21wbGV0ZWQocywgZCksICJsZWZ0c3RhZ2UiID09PSBsLmV2ZW50dHlwZSAmJiBBLnN0b3BWaWRlbyAmJiBBLnN0b3BWaWRlbyhzLCBkKSwgImNvbHVtbiIgPT09IG4uX25jdHlwZSAmJiAocHVuY2hncy5Ud2VlbkxpdGUudG8obi5fY2JnY19tYW4sIC4wMSwgewogICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogImhpZGRlbiIKICAgICAgICAgICAgfSksIHB1bmNoZ3MuVHdlZW5MaXRlLnRvKG4uX2NiZ2NfYXV0bywgLjAxLCB7CiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAidmlzaWJsZSIKICAgICAgICAgICAgfSkpLCAibGVmdHN0YWdlIiA9PT0gbC5ldmVudHR5cGUgJiYgKG4uYWN0aXZlID0gITEsIHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLCB7CiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAiaGlkZGVuIiwKICAgICAgICAgICAgICAgIG92ZXJ3cml0ZTogImF1dG8iCiAgICAgICAgICAgIH0pLCBuLmFuaW1kaXJlY3Rpb24gPSAib3V0Iiwgbi52aXNpYmxlZWxlbWVudCA9ICExLCBBLnVuVG9nZ2xlU3RhdGUobi5sYXllcnRvZ2dsZWRieSksICJ2aWRlbyIgPT09IG4uX25jdHlwZSAmJiBBLnJlc2V0VmlkZW8gJiYgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIEEucmVzZXRWaWRlbyhzLCBkKQogICAgICAgICAgICB9LCAxMDApKSwgbi5jdXJyZW50X2ZyYW1lID0gZSwgbi5jdXJyZW50X3RpbWVsaW5lID0gciwgbi5jdXJyZW50X3RpbWVsaW5lX3RpbWUgPSByLnRpbWUoKSwgbyAmJiAobi5zdGF0aWNfbGF5ZXJfdGltZWxpbmVfdGltZSA9IG4uY3VycmVudF90aW1lbGluZV90aW1lKQogICAgICAgIH0sCiAgICAgICAgZyA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIHQgPSB7fTsKICAgICAgICAgICAgcmV0dXJuIGUuZmlyc3RmcmFtZSA9IHZvaWQgMCA9PT0gZS5maXJzdGZyYW1lID8gImZyYW1lXzAiIDogZS5maXJzdGZyYW1lLCBlLmxhc3RmcmFtZSA9IHZvaWQgMCA9PT0gZS5sYXN0ZnJhbWUgPyAiZnJhbWVfOTk5IiA6IGUubGFzdGZyYW1lLCB0LmlkID0gZS5jYXB0aW9uLmRhdGEoImlkIikgfHwgZS5jYXB0aW9uLmF0dHIoImlkIiksIHQuc2xpZGVpZCA9IGUuY2FwdGlvbi5kYXRhKCJzbGlkZWlkIikgfHwgZS5jYXB0aW9uLmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkiKS5kYXRhKCJpbmRleCIpLCB0LnRpbWVsaW5lX29iaiA9IGUub3B0LnRpbWVsaW5lc1t0LnNsaWRlaWRdLmxheWVyc1t0LmlkXSwgdC50aW1lbGluZSA9IHQudGltZWxpbmVfb2JqLnRpbWVsaW5lLCB0LmZmcyA9IHQudGltZWxpbmUuZ2V0TGFiZWxUaW1lKGUuZmlyc3RmcmFtZSksIHQuZmZlID0gdC50aW1lbGluZS5nZXRMYWJlbFRpbWUoZS5maXJzdGZyYW1lICsgIl9lbmQiKSwgdC5sZnMgPSB0LnRpbWVsaW5lLmdldExhYmVsVGltZShlLmxhc3RmcmFtZSksIHQubGZlID0gdC50aW1lbGluZS5nZXRMYWJlbFRpbWUoZS5sYXN0ZnJhbWUgKyAiX2VuZCIpLCB0LmN0ID0gdC50aW1lbGluZS50aW1lKCksIHQuc3RhdGljID0gbnVsbCAhPSB0LnRpbWVsaW5lX29iai5maXJzdHNsaWRlIHx8IG51bGwgIT0gdC50aW1lbGluZV9vYmoubGFzdHNsaWRlLCB0LnN0YXRpYyAmJiAodC5zaG93b25zbGlkZSA9IHQudGltZWxpbmVfb2JqLmZpcnN0c2xpZGUsIHQucmVtb3Zlb25zbGlkZSA9IHQudGltZWxpbmVfb2JqLmxhc3RzbGlkZSksIHQKICAgICAgICB9LAogICAgICAgIE0gPSBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIHZhciBpID0gbmV3IEFycmF5OwogICAgICAgICAgICBzd2l0Y2ggKHQpIHsKICAgICAgICAgICAgICAgIGNhc2UgImZvcndhcmQiOgogICAgICAgICAgICAgICAgY2FzZSAicmFuZG9tIjoKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBhID0gMDsgYSA8PSBlOyBhKyspIGkucHVzaChhKTsKICAgICAgICAgICAgICAgICAgICAicmFuZG9tIiA9PT0gdCAmJiAoaSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgdCwgaSwgYSA9IGUubGVuZ3RoOyAwICE9PSBhOykgaSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGEpLCB0ID0gZVthIC09IDFdLCBlW2FdID0gZVtpXSwgZVtpXSA9IHQ7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlCiAgICAgICAgICAgICAgICAgICAgfShpKSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJiYWNrd2FyZCI6CiAgICAgICAgICAgICAgICAgICAgZm9yIChhID0gMDsgYSA8PSBlOyBhKyspIGkucHVzaChlIC0gYSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJtaWRkbGV0b2VkZ2UiOgogICAgICAgICAgICAgICAgICAgIHZhciBuID0gTWF0aC5jZWlsKGUgLyAyKSwKICAgICAgICAgICAgICAgICAgICAgICAgciA9IG4gLSAxLAogICAgICAgICAgICAgICAgICAgICAgICBvID0gbiArIDE7CiAgICAgICAgICAgICAgICAgICAgZm9yIChpLnB1c2gobiksIGEgPSAwOyBhIDwgbjsgYSsrKSAwIDw9IHIgJiYgaS5wdXNoKHIpLCBvIDw9IGUgJiYgaS5wdXNoKG8pLCByLS0sIG8rKzsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgImVkZ2V0b21pZGRsZSI6CiAgICAgICAgICAgICAgICAgICAgZm9yIChyID0gZSwgYSA9IG8gPSAwOyBhIDw9IE1hdGguZmxvb3IoZSAvIDIpOyBhKyspIGkucHVzaChyKSwgbyA8IHIgJiYgaS5wdXNoKG8pLCByLS0sIG8rKwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBpCiAgICAgICAgfSwKICAgICAgICBQID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgdCA9IHt9OwogICAgICAgICAgICBmb3IgKHZhciBpIGluIGUpICJzdHJpbmciID09IHR5cGVvZiBlW2ldICYmIDAgPD0gZVtpXS5pbmRleE9mKCJ8IikgJiYgKHZvaWQgMCA9PT0gdFtpXSAmJiAodFtpXSA9IHsKICAgICAgICAgICAgICAgIGluZGV4OiAwCiAgICAgICAgICAgIH0pLCB0W2ldLnZhbHVlcyA9IGVbaV0ucmVwbGFjZSgiWyIsICIiKS5yZXBsYWNlKCJdIiwgIiIpLnNwbGl0KCJ8IiksIHRbaV0ubGVuID0gdFtpXS52YWx1ZXMubGVuZ3RoIC0gMSk7CiAgICAgICAgICAgIHJldHVybiB0CiAgICAgICAgfSwKICAgICAgICBCID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICByZXR1cm4gKGUgPSB2b2lkIDAgPT09IGUgPyBuZXcgT2JqZWN0IDogZSkuYW5pbSA9IHZvaWQgMCA9PT0gZS5hbmltID8gbmV3IE9iamVjdCA6IGUuYW5pbSwgZS5hbmltLnggPSB2b2lkIDAgPT09IGUuYW5pbS54ID8gMCA6IGUuYW5pbS54LCBlLmFuaW0ueSA9IHZvaWQgMCA9PT0gZS5hbmltLnkgPyAwIDogZS5hbmltLnksIGUuYW5pbS56ID0gdm9pZCAwID09PSBlLmFuaW0ueiA/IDAgOiBlLmFuaW0ueiwgZS5hbmltLnJvdGF0aW9uWCA9IHZvaWQgMCA9PT0gZS5hbmltLnJvdGF0aW9uWCA/IDAgOiBlLmFuaW0ucm90YXRpb25YLCBlLmFuaW0ucm90YXRpb25ZID0gdm9pZCAwID09PSBlLmFuaW0ucm90YXRpb25ZID8gMCA6IGUuYW5pbS5yb3RhdGlvblksIGUuYW5pbS5yb3RhdGlvblogPSB2b2lkIDAgPT09IGUuYW5pbS5yb3RhdGlvblogPyAwIDogZS5hbmltLnJvdGF0aW9uWiwgZS5hbmltLnNjYWxlWCA9IHZvaWQgMCA9PT0gZS5hbmltLnNjYWxlWCA/IDEgOiBlLmFuaW0uc2NhbGVYLCBlLmFuaW0uc2NhbGVZID0gdm9pZCAwID09PSBlLmFuaW0uc2NhbGVZID8gMSA6IGUuYW5pbS5zY2FsZVksIGUuYW5pbS5za2V3WCA9IHZvaWQgMCA9PT0gZS5hbmltLnNrZXdYID8gMCA6IGUuYW5pbS5za2V3WCwgZS5hbmltLnNrZXdZID0gdm9pZCAwID09PSBlLmFuaW0uc2tld1kgPyAwIDogZS5hbmltLnNrZXdZLCBlLmFuaW0ub3BhY2l0eSA9IHZvaWQgMCA9PT0gZS5hbmltLm9wYWNpdHkgPyAxIDogZS5hbmltLm9wYWNpdHksIGUuYW5pbS50cmFuc2Zvcm1PcmlnaW4gPSB2b2lkIDAgPT09IGUuYW5pbS50cmFuc2Zvcm1PcmlnaW4gPyAiNTAlIDUwJSIgOiBlLmFuaW0udHJhbnNmb3JtT3JpZ2luLCBlLmFuaW0udHJhbnNmb3JtUGVyc3BlY3RpdmUgPSB2b2lkIDAgPT09IGUuYW5pbS50cmFuc2Zvcm1QZXJzcGVjdGl2ZSA/IDYwMCA6IGUuYW5pbS50cmFuc2Zvcm1QZXJzcGVjdGl2ZSwgZS5hbmltLnJvdGF0aW9uID0gdm9pZCAwID09PSBlLmFuaW0ucm90YXRpb24gPyAwIDogZS5hbmltLnJvdGF0aW9uLCBlLmFuaW0uZm9yY2UzRCA9IHZvaWQgMCA9PT0gZS5hbmltLmZvcmNlM0QgPyAiYXV0byIgOiBlLmFuaW0uZm9yY2UzRCwgZS5hbmltLmF1dG9BbHBoYSA9IHZvaWQgMCA9PT0gZS5hbmltLmF1dG9BbHBoYSA/IDEgOiBlLmFuaW0uYXV0b0FscGhhLCBlLmFuaW0udmlzaWJpbGl0eSA9IHZvaWQgMCA9PT0gZS5hbmltLnZpc2liaWxpdHkgPyAidmlzaWJsZSIgOiBlLmFuaW0udmlzaWJpbGl0eSwgZS5hbmltLm92ZXJ3cml0ZSA9IHZvaWQgMCA9PT0gZS5hbmltLm92ZXJ3cml0ZSA/ICJhdXRvIiA6IGUuYW5pbS5vdmVyd3JpdGUsIGUuc3BlZWQgPSB2b2lkIDAgPT09IGUuc3BlZWQgPyAuMyA6IGUuc3BlZWQsIGUuZmlsdGVyID0gdm9pZCAwID09PSBlLmZpbHRlciA/ICJibHVyKDBweCkgZ3JheXNjYWxlKDAlKSBicmlnaHRuZXNzKDEwMCUpIiA6IGUuZmlsdGVyLCBlWyItd2Via2l0LWZpbHRlciJdID0gdm9pZCAwID09PSBlWyItd2Via2l0LWZpbHRlciJdID8gImJsdXIoMHB4KSBncmF5c2NhbGUoMCUpIGJyaWdodG5lc3MoMTAwJSkiIDogZVsiLXdlYmtpdC1maWx0ZXIiXSwgZQogICAgICAgIH0sCiAgICAgICAgdSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZSA9IG5ldyBPYmplY3Q7CiAgICAgICAgICAgIHJldHVybiBlLmFuaW0gPSBuZXcgT2JqZWN0LCBlLmFuaW0uc3Ryb2tlID0gIm5vbmUiLCBlLmFuaW0uc3Ryb2tlV2lkdGggPSAwLCBlLmFuaW0uc3Ryb2tlRGFzaGFycmF5ID0gIm5vbmUiLCBlLmFuaW0uc3Ryb2tlRGFzaG9mZnNldCA9ICIwIiwgZQogICAgICAgIH0sCiAgICAgICAgZiA9IGZ1bmN0aW9uKGUsIHIpIHsKICAgICAgICAgICAgdmFyIHQgPSBlLnNwbGl0KCI7Iik7CiAgICAgICAgICAgIHJldHVybiB0ICYmIGpRdWVyeS5lYWNoKHQsIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgIHZhciBpID0gdC5zcGxpdCgiOiIpLAogICAgICAgICAgICAgICAgICAgIGEgPSBpWzBdLAogICAgICAgICAgICAgICAgICAgIG4gPSBpWzFdOwogICAgICAgICAgICAgICAgInNjIiA9PSBhICYmIChyLmFuaW0uc3Ryb2tlID0gbiksICJzdyIgPT0gYSAmJiAoci5hbmltLnN0cm9rZVdpZHRoID0gbiksICJzZGEiID09IGEgJiYgKHIuYW5pbS5zdHJva2VEYXNoYXJyYXkgPSBuKSwgInNkbyIgPT0gYSAmJiAoci5hbmltLnN0cm9rZURhc2hvZmZzZXQgPSBuKQogICAgICAgICAgICB9KSwgcgogICAgICAgIH0sCiAgICAgICAgWCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZSA9IG5ldyBPYmplY3Q7CiAgICAgICAgICAgIHJldHVybiBlLmFuaW0gPSBuZXcgT2JqZWN0LCBlLmFuaW0ueCA9IDAsIGUuYW5pbS55ID0gMCwgZS5hbmltLnogPSAwLCBlCiAgICAgICAgfSwKICAgICAgICBoID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBlID0gbmV3IE9iamVjdDsKICAgICAgICAgICAgcmV0dXJuIGUuYW5pbSA9IG5ldyBPYmplY3QsIGUuc3BlZWQgPSAuMiwgZQogICAgICAgIH0sCiAgICAgICAgbSA9IGZ1bmN0aW9uKGUsIHQsIGksIGEsIG4pIHsKICAgICAgICAgICAgaWYgKG4gPSB2b2lkIDAgPT09IG4gPyAiIiA6IG4sIGpRdWVyeS5pc051bWVyaWMocGFyc2VGbG9hdChlKSkpIHJldHVybiBwYXJzZUZsb2F0KGUpICsgbjsKICAgICAgICAgICAgaWYgKHZvaWQgMCA9PT0gZSB8fCAiaW5oZXJpdCIgPT09IGUpIHJldHVybiB0ICsgImV4dCI7CiAgICAgICAgICAgIGlmICgxIDwgZS5zcGxpdCgieyIpLmxlbmd0aCkgewogICAgICAgICAgICAgICAgdmFyIHIgPSBlLnNwbGl0KCIsIiksCiAgICAgICAgICAgICAgICAgICAgbyA9IHBhcnNlRmxvYXQoclsxXS5zcGxpdCgifSIpWzBdKTsKICAgICAgICAgICAgICAgIGlmIChyID0gcGFyc2VGbG9hdChyWzBdLnNwbGl0KCJ7IilbMV0pLCB2b2lkIDAgIT09IGkgJiYgdm9pZCAwICE9PSBhKSB7CiAgICAgICAgICAgICAgICAgICAgcGFyc2VJbnQoTWF0aC5yYW5kb20oKSAqIChvIC0gciksIDApLCBwYXJzZUludChyLCAwKTsKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBzID0gMDsgcyA8IGE7IHMrKykgZSA9IGUgKyAifCIgKyAocGFyc2VJbnQoTWF0aC5yYW5kb20oKSAqIChvIC0gciksIDApICsgcGFyc2VJbnQociwgMCkpICsgbjsKICAgICAgICAgICAgICAgICAgICBlICs9ICJdIgogICAgICAgICAgICAgICAgfSBlbHNlIGUgPSBNYXRoLnJhbmRvbSgpICogKG8gLSByKSArIHIKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZQogICAgICAgIH0sCiAgICAgICAgWSA9IGZ1bmN0aW9uKGUsIHQsIGksIGEsIG4sIHIsIG8pIHsKICAgICAgICAgICAgcmV0dXJuICFqUXVlcnkuaXNOdW1lcmljKGUpICYmIGUubWF0Y2goLyVdL2cpID8gKGUgPSBlLnNwbGl0KCJbIilbMV0uc3BsaXQoIl0iKVswXSwgImhvcml6b250YWwiID09IG8gPyBlID0gKGkgKyAyKSAqIHBhcnNlSW50KGUsIDApIC8gMTAwIDogInZlcnRpY2FsIiA9PSBvICYmIChlID0gKGEgKyAyKSAqIHBhcnNlSW50KGUsIDApIC8gMTAwKSkgOiBlID0gInRvcCIgPT09IChlID0gImxlZnQiID09PSAoZSA9ICJsYXllcl90b3AiID09PSAoZSA9ICJsYXllcl9sZWZ0IiA9PT0gZSA/IDAgLSBpIDogImxheWVyX3JpZ2h0IiA9PT0gZSA/IGkgOiBlKSA/IDAgLSBhIDogImxheWVyX2JvdHRvbSIgPT09IGUgPyBhIDogZSkgfHwgInN0YWdlX2xlZnQiID09PSBlID8gMCAtIGkgLSByIDogInJpZ2h0IiA9PT0gZSB8fCAic3RhZ2VfcmlnaHQiID09PSBlID8gdC5jb253IC0gciA6ICJjZW50ZXIiID09PSBlIHx8ICJzdGFnZV9jZW50ZXIiID09PSBlID8gdC5jb253IC8gMiAtIGkgLyAyIC0gciA6IGUpIHx8ICJzdGFnZV90b3AiID09PSBlID8gMCAtIGEgLSBuIDogImJvdHRvbSIgPT09IGUgfHwgInN0YWdlX2JvdHRvbSIgPT09IGUgPyB0LmNvbmggLSBuIDogIm1pZGRsZSIgPT09IGUgfHwgInN0YWdlX21pZGRsZSIgPT09IGUgPyB0LmNvbmggLyAyIC0gYSAvIDIgLSBuIDogZSwgZQogICAgICAgIH0sCiAgICAgICAgRiA9IGZ1bmN0aW9uKGUsIHQsIHIsIG8sIHMpIHsKICAgICAgICAgICAgdmFyIGQgPSBuZXcgT2JqZWN0OwogICAgICAgICAgICBpZiAoZCA9IGpRdWVyeS5leHRlbmQoITAsIHt9LCBkLCBlKSwgdm9pZCAwID09PSB0KSByZXR1cm4gZDsKICAgICAgICAgICAgdmFyIGkgPSB0LnNwbGl0KCI7IiksCiAgICAgICAgICAgICAgICBsID0gIiI7CiAgICAgICAgICAgIHJldHVybiBpICYmIGpRdWVyeS5lYWNoKGksIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgIHZhciBpID0gdC5zcGxpdCgiOiIpLAogICAgICAgICAgICAgICAgICAgIGEgPSBpWzBdLAogICAgICAgICAgICAgICAgICAgIG4gPSBpWzFdOwogICAgICAgICAgICAgICAgciAmJiAibm9uZSIgIT09IHIgJiYgbnVsbCAhPSBuICYmIDAgPCBuLmxlbmd0aCAmJiBuLm1hdGNoKC9cKFJcKS8pICYmICgiWyIgPT09IChuID0gInJpZ2h0IiA9PT0gKG4gPSBuLnJlcGxhY2UoIihSKSIsICIiKSkgPyAibGVmdCIgOiAibGVmdCIgPT09IG4gPyAicmlnaHQiIDogInRvcCIgPT09IG4gPyAiYm90dG9tIiA6ICJib3R0b20iID09PSBuID8gInRvcCIgOiBuKVswXSAmJiAiLSIgPT09IG5bMV0gPyBuID0gbi5yZXBsYWNlKCJbLSIsICJbIikgOiAiWyIgPT09IG5bMF0gJiYgIi0iICE9PSBuWzFdID8gbiA9IG4ucmVwbGFjZSgiWyIsICJbLSIpIDogIi0iID09PSBuWzBdID8gbiA9IG4ucmVwbGFjZSgiLSIsICIiKSA6IG5bMF0ubWF0Y2goL1sxLTldLykgJiYgKG4gPSAiLSIgKyBuKSksIG51bGwgIT0gbiAmJiAobiA9IG4ucmVwbGFjZSgvXChSXCkvLCAiIiksICJyb3RhdGlvblgiICE9IGEgJiYgInJYIiAhPSBhIHx8IChkLmFuaW0ucm90YXRpb25YID0gbShuLCBkLmFuaW0ucm90YXRpb25YLCBvLCBzLCAiZGVnIikpLCAicm90YXRpb25ZIiAhPSBhICYmICJyWSIgIT0gYSB8fCAoZC5hbmltLnJvdGF0aW9uWSA9IG0obiwgZC5hbmltLnJvdGF0aW9uWSwgbywgcywgImRlZyIpKSwgInJvdGF0aW9uWiIgIT0gYSAmJiAicloiICE9IGEgfHwgKGQuYW5pbS5yb3RhdGlvbiA9IG0obiwgZC5hbmltLnJvdGF0aW9uWiwgbywgcywgImRlZyIpKSwgInNjYWxlWCIgIT0gYSAmJiAic1giICE9IGEgfHwgKGQuYW5pbS5zY2FsZVggPSBtKG4sIGQuYW5pbS5zY2FsZVgsIG8sIHMpKSwgInNjYWxlWSIgIT0gYSAmJiAic1kiICE9IGEgfHwgKGQuYW5pbS5zY2FsZVkgPSBtKG4sIGQuYW5pbS5zY2FsZVksIG8sIHMpKSwgIm9wYWNpdHkiICE9IGEgJiYgIm8iICE9IGEgfHwgKGQuYW5pbS5vcGFjaXR5ID0gbShuLCBkLmFuaW0ub3BhY2l0eSwgbywgcykpLCAiZmIiID09IGEgJiYgKGwgPSAiIiA9PT0gbCA/ICJibHVyKCIgKyBwYXJzZUludChuLCAwKSArICJweCkiIDogbCArICIgYmx1cigiICsgcGFyc2VJbnQobiwgMCkgKyAicHgpIiksICJmZyIgPT0gYSAmJiAobCA9ICIiID09PSBsID8gImdyYXlzY2FsZSgiICsgcGFyc2VJbnQobiwgMCkgKyAiJSkiIDogbCArICIgZ3JheXNjYWxlKCIgKyBwYXJzZUludChuLCAwKSArICIlKSIpLCAiZmJyIiA9PSBhICYmIChsID0gIiIgPT09IGwgPyAiYnJpZ2h0bmVzcygiICsgcGFyc2VJbnQobiwgMCkgKyAiJSkiIDogbCArICIgYnJpZ2h0bmVzcygiICsgcGFyc2VJbnQobiwgMCkgKyAiJSkiKSwgMCA9PT0gZC5hbmltLm9wYWNpdHkgJiYgKGQuYW5pbS5hdXRvQWxwaGEgPSAwKSwgZC5hbmltLm9wYWNpdHkgPSAwID09IGQuYW5pbS5vcGFjaXR5ID8gMWUtNCA6IGQuYW5pbS5vcGFjaXR5LCAic2tld1giICE9IGEgJiYgInNrWCIgIT0gYSB8fCAoZC5hbmltLnNrZXdYID0gbShuLCBkLmFuaW0uc2tld1gsIG8sIHMpKSwgInNrZXdZIiAhPSBhICYmICJza1kiICE9IGEgfHwgKGQuYW5pbS5za2V3WSA9IG0obiwgZC5hbmltLnNrZXdZLCBvLCBzKSksICJ4IiA9PSBhICYmIChkLmFuaW0ueCA9IG0obiwgZC5hbmltLngsIG8sIHMpKSwgInkiID09IGEgJiYgKGQuYW5pbS55ID0gbShuLCBkLmFuaW0ueSwgbywgcykpLCAieiIgPT0gYSAmJiAoZC5hbmltLnogPSBtKG4sIGQuYW5pbS56LCBvLCBzKSksICJ0cmFuc2Zvcm1PcmlnaW4iICE9IGEgJiYgInRPIiAhPSBhIHx8IChkLmFuaW0udHJhbnNmb3JtT3JpZ2luID0gbi50b1N0cmluZygpKSwgInRyYW5zZm9ybVBlcnNwZWN0aXZlIiAhPSBhICYmICJ0UCIgIT0gYSB8fCAoZC5hbmltLnRyYW5zZm9ybVBlcnNwZWN0aXZlID0gcGFyc2VJbnQobiwgMCkpLCAic3BlZWQiICE9IGEgJiYgInMiICE9IGEgfHwgKGQuc3BlZWQgPSBwYXJzZUZsb2F0KG4pKSkKICAgICAgICAgICAgfSksICIiICE9PSBsICYmIChkLmFuaW1bIi13ZWJraXQtZmlsdGVyIl0gPSBsLCBkLmFuaW0uZmlsdGVyID0gbCksIGQKICAgICAgICB9LAogICAgICAgIEggPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGlmICh2b2lkIDAgPT09IGUpIHJldHVybiAhMTsKICAgICAgICAgICAgdmFyIG4gPSBuZXcgT2JqZWN0OwogICAgICAgICAgICBuLmFuaW0gPSBuZXcgT2JqZWN0OwogICAgICAgICAgICB2YXIgdCA9IGUuc3BsaXQoIjsiKTsKICAgICAgICAgICAgcmV0dXJuIHQgJiYgalF1ZXJ5LmVhY2godCwgZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgdmFyIGkgPSAodCA9IHQuc3BsaXQoIjoiKSlbMF0sCiAgICAgICAgICAgICAgICAgICAgYSA9IHRbMV07CiAgICAgICAgICAgICAgICAieCIgPT0gaSAmJiAobi5hbmltLnggPSBhKSwgInkiID09IGkgJiYgKG4uYW5pbS55ID0gYSksICJzIiA9PSBpICYmIChuLnNwZWVkID0gcGFyc2VGbG9hdChhKSksICJlIiAhPSBpICYmICJlYXNlIiAhPSBpIHx8IChuLmFuaW0uZWFzZSA9IGEpCiAgICAgICAgICAgIH0pLCBuCiAgICAgICAgfSwKICAgICAgICBOID0gZnVuY3Rpb24oaSwgZSwgdCkgewogICAgICAgICAgICBpZiAobnVsbCA9PSBpICYmIChpID0gMCksICFqUXVlcnkuaXNBcnJheShpKSAmJiAic3RyaW5nIiA9PT0galF1ZXJ5LnR5cGUoaSkgJiYgKDEgPCBpLnNwbGl0KCIsIikubGVuZ3RoIHx8IDEgPCBpLnNwbGl0KCJbIikubGVuZ3RoKSkgewogICAgICAgICAgICAgICAgdmFyIGEgPSAoaSA9IChpID0gaS5yZXBsYWNlKCJbIiwgIiIpKS5yZXBsYWNlKCJdIiwgIiIpKS5tYXRjaCgvJy9nKSA/IGkuc3BsaXQoIicsIikgOiBpLnNwbGl0KCIsIik7CiAgICAgICAgICAgICAgICBpID0gbmV3IEFycmF5LCBhICYmIGpRdWVyeS5lYWNoKGEsIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgICAgICB0ID0gKHQgPSB0LnJlcGxhY2UoIiciLCAiIikpLnJlcGxhY2UoIiciLCAiIiksIGkucHVzaCh0KQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBuID0gaTsKICAgICAgICAgICAgICAgIGpRdWVyeS5pc0FycmF5KGkpIHx8IChpID0gbmV3IEFycmF5KS5wdXNoKG4pCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKG4gPSBpW2kubGVuZ3RoIC0gMV0sIGkubGVuZ3RoIDwgZS5ybGUpCiAgICAgICAgICAgICAgICBmb3IgKHZhciByID0gMTsgciA8PSBlLmN1cldpblJhbmdlOyByKyspIGkucHVzaChuKTsKICAgICAgICAgICAgcmV0dXJuIGkKICAgICAgICB9OwoKICAgIGZ1bmN0aW9uIEQoZSwgdCwgaSwgYSwgbiwgciwgbykgewogICAgICAgIHZhciBzID0gZS5maW5kKHQpOwogICAgICAgIHMuY3NzKCJib3JkZXJXaWR0aCIsIHIgKyAicHgiKSwgcy5jc3MoaSwgMCAtIHIgKyAicHgiKSwgcy5jc3MoYSwgIjBweCBzb2xpZCB0cmFuc3BhcmVudCIpLCBzLmNzcyhuLCBvKQogICAgfQogICAgdmFyIHYgPSBmdW5jdGlvbihhLCBlKSB7CiAgICAgICAgICAgIGlmICh2b2lkIDAgPT09IGUpIHJldHVybiBhOwogICAgICAgICAgICB2YXIgdCA9IChlID0gKGUgPSAoZSA9IChlID0gKGUgPSAoZSA9IChlID0gKGUgPSBlLnJlcGxhY2UoImM6IiwgImNvbG9yOiIpKS5yZXBsYWNlKCJiZzoiLCAiYmFja2dyb3VuZC1jb2xvcjoiKSkucmVwbGFjZSgiYnc6IiwgImJvcmRlci13aWR0aDoiKSkucmVwbGFjZSgiYmM6IiwgImJvcmRlci1jb2xvcjoiKSkucmVwbGFjZSgiYnI6IiwgImJvcmRlclJhZGl1czoiKSkucmVwbGFjZSgiYnM6IiwgImJvcmRlci1zdHlsZToiKSkucmVwbGFjZSgidGQ6IiwgInRleHQtZGVjb3JhdGlvbjoiKSkucmVwbGFjZSgiemk6IiwgInpJbmRleDoiKSkuc3BsaXQoIjsiKTsKICAgICAgICAgICAgcmV0dXJuIHQgJiYgalF1ZXJ5LmVhY2godCwgZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgdmFyIGkgPSB0LnNwbGl0KCI6Iik7CiAgICAgICAgICAgICAgICAwIDwgaVswXS5sZW5ndGggJiYgKCJiYWNrZ3JvdW5kLWNvbG9yIiA9PT0gaVswXSAmJiAwIDw9IGlbMV0uaW5kZXhPZigiZ3JhZGllbnQiKSAmJiAoaVswXSA9ICJiYWNrZ3JvdW5kIiksIGEuYW5pbVtpWzBdXSA9IGlbMV0pCiAgICAgICAgICAgIH0pLCBhCiAgICAgICAgfSwKICAgICAgICBWID0gZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICB2YXIgaSwgYSA9IG5ldyBPYmplY3QsCiAgICAgICAgICAgICAgICBuID0gITE7CiAgICAgICAgICAgIGlmICgicmVrdXJzaXZlIiA9PSB0ICYmIChpID0gZS5jbG9zZXN0KCIudHAtY2FwdGlvbiIpKSAmJiBlLmNzcygiZm9udFNpemUiKSA9PT0gaS5jc3MoImZvbnRTaXplIikgJiYgZS5jc3MoImZvbnRXZWlnaHQiKSA9PT0gaS5jc3MoImZvbnRXZWlnaHQiKSAmJiBlLmNzcygibGluZUhlaWdodCIpID09PSBpLmNzcygibGluZUhlaWdodCIpICYmIChuID0gITApLCBhLmJhc2VhbGlnbiA9IGUuZGF0YSgiYmFzZWFsaWduIikgfHwgImdyaWQiLCBhLmZvbnRTaXplID0gbiA/IHZvaWQgMCA9PT0gaS5kYXRhKCJmb250c2l6ZSIpID8gcGFyc2VJbnQoaS5jc3MoImZvbnRTaXplIiksIDApIHx8IDAgOiBpLmRhdGEoImZvbnRzaXplIikgOiB2b2lkIDAgPT09IGUuZGF0YSgiZm9udHNpemUiKSA/IHBhcnNlSW50KGUuY3NzKCJmb250U2l6ZSIpLCAwKSB8fCAwIDogZS5kYXRhKCJmb250c2l6ZSIpLCBhLmZvbnRXZWlnaHQgPSBuID8gdm9pZCAwID09PSBpLmRhdGEoImZvbnR3ZWlnaHQiKSA/IHBhcnNlSW50KGkuY3NzKCJmb250V2VpZ2h0IiksIDApIHx8IDAgOiBpLmRhdGEoImZvbnR3ZWlnaHQiKSA6IHZvaWQgMCA9PT0gZS5kYXRhKCJmb250d2VpZ2h0IikgPyBwYXJzZUludChlLmNzcygiZm9udFdlaWdodCIpLCAwKSB8fCAwIDogZS5kYXRhKCJmb250d2VpZ2h0IiksIGEud2hpdGVTcGFjZSA9IG4gPyB2b2lkIDAgPT09IGkuZGF0YSgid2hpdGVzcGFjZSIpID8gaS5jc3MoIndoaXRlc3BhY2UiKSB8fCAibm9ybWFsIiA6IGkuZGF0YSgid2hpdGVzcGFjZSIpIDogdm9pZCAwID09PSBlLmRhdGEoIndoaXRlc3BhY2UiKSA/IGUuY3NzKCJ3aGl0ZXNwYWNlIikgfHwgIm5vcm1hbCIgOiBlLmRhdGEoIndoaXRlc3BhY2UiKSwgYS50ZXh0QWxpZ24gPSBuID8gdm9pZCAwID09PSBpLmRhdGEoInRleHRhbGlnbiIpID8gaS5jc3MoInRleHRhbGlnbiIpIHx8ICJpbmhlcml0IiA6IGkuZGF0YSgidGV4dGFsaWduIikgOiB2b2lkIDAgPT09IGUuZGF0YSgidGV4dGFsaWduIikgPyBlLmNzcygidGV4dGFsaWduIikgfHwgImluaGVyaXQiIDogZS5kYXRhKCJ0ZXh0YWxpZ24iKSwgYS56SW5kZXggPSBuID8gdm9pZCAwID09PSBpLmRhdGEoInpJbmRleCIpID8gaS5jc3MoInpJbmRleCIpIHx8ICJpbmhlcml0IiA6IGkuZGF0YSgiekluZGV4IikgOiB2b2lkIDAgPT09IGUuZGF0YSgiekluZGV4IikgPyBlLmNzcygiekluZGV4IikgfHwgImluaGVyaXQiIDogZS5kYXRhKCJ6SW5kZXgiKSwgLTEgIT09IGpRdWVyeS5pbkFycmF5KGUuZGF0YSgibGF5ZXJ0eXBlIiksIFsidmlkZW8iLCAiaW1hZ2UiLCAiYXVkaW8iXSkgfHwgZS5pcygiaW1nIikgPyBhLmxpbmVIZWlnaHQgPSAwIDogYS5saW5lSGVpZ2h0ID0gbiA/IHZvaWQgMCA9PT0gaS5kYXRhKCJsaW5laGVpZ2h0IikgPyBwYXJzZUludChpLmNzcygibGluZUhlaWdodCIpLCAwKSB8fCAwIDogaS5kYXRhKCJsaW5laGVpZ2h0IikgOiB2b2lkIDAgPT09IGUuZGF0YSgibGluZWhlaWdodCIpID8gcGFyc2VJbnQoZS5jc3MoImxpbmVIZWlnaHQiKSwgMCkgfHwgMCA6IGUuZGF0YSgibGluZWhlaWdodCIpLCBhLmxldHRlclNwYWNpbmcgPSBuID8gdm9pZCAwID09PSBpLmRhdGEoImxldHRlcnNwYWNpbmciKSA/IHBhcnNlRmxvYXQoaS5jc3MoImxldHRlclNwYWNpbmciKSwgMCkgfHwgMCA6IGkuZGF0YSgibGV0dGVyc3BhY2luZyIpIDogdm9pZCAwID09PSBlLmRhdGEoImxldHRlcnNwYWNpbmciKSA/IHBhcnNlRmxvYXQoZS5jc3MoImxldHRlclNwYWNpbmciKSkgfHwgMCA6IGUuZGF0YSgibGV0dGVyc3BhY2luZyIpLCBhLnBhZGRpbmdUb3AgPSB2b2lkIDAgPT09IGUuZGF0YSgicGFkZGluZ3RvcCIpID8gcGFyc2VJbnQoZS5jc3MoInBhZGRpbmdUb3AiKSwgMCkgfHwgMCA6IGUuZGF0YSgicGFkZGluZ3RvcCIpLCBhLnBhZGRpbmdCb3R0b20gPSB2b2lkIDAgPT09IGUuZGF0YSgicGFkZGluZ2JvdHRvbSIpID8gcGFyc2VJbnQoZS5jc3MoInBhZGRpbmdCb3R0b20iKSwgMCkgfHwgMCA6IGUuZGF0YSgicGFkZGluZ2JvdHRvbSIpLCBhLnBhZGRpbmdMZWZ0ID0gdm9pZCAwID09PSBlLmRhdGEoInBhZGRpbmdsZWZ0IikgPyBwYXJzZUludChlLmNzcygicGFkZGluZ0xlZnQiKSwgMCkgfHwgMCA6IGUuZGF0YSgicGFkZGluZ2xlZnQiKSwgYS5wYWRkaW5nUmlnaHQgPSB2b2lkIDAgPT09IGUuZGF0YSgicGFkZGluZ3JpZ2h0IikgPyBwYXJzZUludChlLmNzcygicGFkZGluZ1JpZ2h0IiksIDApIHx8IDAgOiBlLmRhdGEoInBhZGRpbmdyaWdodCIpLCBhLm1hcmdpblRvcCA9IHZvaWQgMCA9PT0gZS5kYXRhKCJtYXJnaW50b3AiKSA/IHBhcnNlSW50KGUuY3NzKCJtYXJnaW5Ub3AiKSwgMCkgfHwgMCA6IGUuZGF0YSgibWFyZ2ludG9wIiksIGEubWFyZ2luQm90dG9tID0gdm9pZCAwID09PSBlLmRhdGEoIm1hcmdpbmJvdHRvbSIpID8gcGFyc2VJbnQoZS5jc3MoIm1hcmdpbkJvdHRvbSIpLCAwKSB8fCAwIDogZS5kYXRhKCJtYXJnaW5ib3R0b20iKSwgYS5tYXJnaW5MZWZ0ID0gdm9pZCAwID09PSBlLmRhdGEoIm1hcmdpbmxlZnQiKSA/IHBhcnNlSW50KGUuY3NzKCJtYXJnaW5MZWZ0IiksIDApIHx8IDAgOiBlLmRhdGEoIm1hcmdpbmxlZnQiKSwgYS5tYXJnaW5SaWdodCA9IHZvaWQgMCA9PT0gZS5kYXRhKCJtYXJnaW5yaWdodCIpID8gcGFyc2VJbnQoZS5jc3MoIm1hcmdpblJpZ2h0IiksIDApIHx8IDAgOiBlLmRhdGEoIm1hcmdpbnJpZ2h0IiksIGEuYm9yZGVyVG9wV2lkdGggPSB2b2lkIDAgPT09IGUuZGF0YSgiYm9yZGVydG9wd2lkdGgiKSA/IHBhcnNlSW50KGUuY3NzKCJib3JkZXJUb3BXaWR0aCIpLCAwKSB8fCAwIDogZS5kYXRhKCJib3JkZXJ0b3B3aWR0aCIpLCBhLmJvcmRlckJvdHRvbVdpZHRoID0gdm9pZCAwID09PSBlLmRhdGEoImJvcmRlcmJvdHRvbXdpZHRoIikgPyBwYXJzZUludChlLmNzcygiYm9yZGVyQm90dG9tV2lkdGgiKSwgMCkgfHwgMCA6IGUuZGF0YSgiYm9yZGVyYm90dG9td2lkdGgiKSwgYS5ib3JkZXJMZWZ0V2lkdGggPSB2b2lkIDAgPT09IGUuZGF0YSgiYm9yZGVybGVmdHdpZHRoIikgPyBwYXJzZUludChlLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksIDApIHx8IDAgOiBlLmRhdGEoImJvcmRlcmxlZnR3aWR0aCIpLCBhLmJvcmRlclJpZ2h0V2lkdGggPSB2b2lkIDAgPT09IGUuZGF0YSgiYm9yZGVycmlnaHR3aWR0aCIpID8gcGFyc2VJbnQoZS5jc3MoImJvcmRlclJpZ2h0V2lkdGgiKSwgMCkgfHwgMCA6IGUuZGF0YSgiYm9yZGVycmlnaHR3aWR0aCIpLCAicmVrdXJzaXZlIiAhPSB0KSB7CiAgICAgICAgICAgICAgICBpZiAoYS5jb2xvciA9IHZvaWQgMCA9PT0gZS5kYXRhKCJjb2xvciIpID8gIm5vcHJlZGVmaW5lZGNvbG9yIiA6IGUuZGF0YSgiY29sb3IiKSwgYS53aGl0ZVNwYWNlID0gbiA/IHZvaWQgMCA9PT0gaS5kYXRhKCJ3aGl0ZXNwYWNlIikgPyBpLmNzcygid2hpdGVTcGFjZSIpIHx8ICJub3dyYXAiIDogaS5kYXRhKCJ3aGl0ZXNwYWNlIikgOiB2b2lkIDAgPT09IGUuZGF0YSgid2hpdGVzcGFjZSIpID8gZS5jc3MoIndoaXRlU3BhY2UiKSB8fCAibm93cmFwIiA6IGUuZGF0YSgid2hpdGVzcGFjZSIpLCBhLnRleHRBbGlnbiA9IG4gPyB2b2lkIDAgPT09IGkuZGF0YSgidGV4dGFsaWduIikgPyBpLmNzcygidGV4dGFsaWduIikgfHwgImluaGVyaXQiIDogaS5kYXRhKCJ0ZXh0YWxpZ24iKSA6IHZvaWQgMCA9PT0gZS5kYXRhKCJ0ZXh0YWxpZ24iKSA/IGUuY3NzKCJ0ZXh0YWxpZ24iKSB8fCAiaW5oZXJpdCIgOiBlLmRhdGEoInRleHRhbGlnbiIpLCBhLmZvbnRXZWlnaHQgPSBuID8gdm9pZCAwID09PSBpLmRhdGEoImZvbnR3ZWlnaHQiKSA/IHBhcnNlSW50KGkuY3NzKCJmb250V2VpZ2h0IiksIDApIHx8IDAgOiBpLmRhdGEoImZvbnR3ZWlnaHQiKSA6IHZvaWQgMCA9PT0gZS5kYXRhKCJmb250d2VpZ2h0IikgPyBwYXJzZUludChlLmNzcygiZm9udFdlaWdodCIpLCAwKSB8fCAwIDogZS5kYXRhKCJmb250d2VpZ2h0IiksIGEubWluV2lkdGggPSB2b2lkIDAgPT09IGUuZGF0YSgid2lkdGgiKSA/IHBhcnNlSW50KGUuY3NzKCJtaW5XaWR0aCIpLCAwKSB8fCAwIDogZS5kYXRhKCJ3aWR0aCIpLCBhLm1pbkhlaWdodCA9IHZvaWQgMCA9PT0gZS5kYXRhKCJoZWlnaHQiKSA/IHBhcnNlSW50KGUuY3NzKCJtaW5IZWlnaHQiKSwgMCkgfHwgMCA6IGUuZGF0YSgiaGVpZ2h0IiksIG51bGwgIT0gZS5kYXRhKCJ2aWRlb3dpZHRoIikgJiYgbnVsbCAhPSBlLmRhdGEoInZpZGVvaGVpZ2h0IikpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgciA9IGUuZGF0YSgidmlkZW93aWR0aCIpLAogICAgICAgICAgICAgICAgICAgICAgICBvID0gZS5kYXRhKCJ2aWRlb2hlaWdodCIpOwogICAgICAgICAgICAgICAgICAgIHIgPSAiMTAwJSIgPT09IHIgPyAibm9uZSIgOiByLCBvID0gIjEwMCUiID09PSBvID8gIm5vbmUiIDogbywgZS5kYXRhKCJ3aWR0aCIsIHIpLCBlLmRhdGEoImhlaWdodCIsIG8pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBhLm1heFdpZHRoID0gdm9pZCAwID09PSBlLmRhdGEoIndpZHRoIikgPyBwYXJzZUludChlLmNzcygibWF4V2lkdGgiKSwgMCkgfHwgIm5vbmUiIDogZS5kYXRhKCJ3aWR0aCIpLCBhLm1heEhlaWdodCA9IC0xICE9PSBqUXVlcnkuaW5BcnJheShlLmRhdGEoInR5cGUiKSwgWyJjb2x1bW4iLCAicm93Il0pID8gIm5vbmUiIDogdm9pZCAwID09PSBlLmRhdGEoImhlaWdodCIpID8gcGFyc2VJbnQoZS5jc3MoIm1heEhlaWdodCIpLCAwKSB8fCAibm9uZSIgOiBlLmRhdGEoImhlaWdodCIpLCBhLndhbiA9IHZvaWQgMCA9PT0gZS5kYXRhKCJ3YW4iKSA/IHBhcnNlSW50KGUuY3NzKCItd2Via2l0LXRyYW5zaXRpb24iKSwgMCkgfHwgIm5vbmUiIDogZS5kYXRhKCJ3YW4iKSwgYS5tb2FuID0gdm9pZCAwID09PSBlLmRhdGEoIm1vYW4iKSA/IHBhcnNlSW50KGUuY3NzKCItbW96LWFuaW1hdGlvbi10cmFuc2l0aW9uIiksIDApIHx8ICJub25lIiA6IGUuZGF0YSgibW9hbiIpLCBhLm1hbiA9IHZvaWQgMCA9PT0gZS5kYXRhKCJtYW4iKSA/IHBhcnNlSW50KGUuY3NzKCItbXMtYW5pbWF0aW9uLXRyYW5zaXRpb24iKSwgMCkgfHwgIm5vbmUiIDogZS5kYXRhKCJtYW4iKSwgYS5hbmkgPSB2b2lkIDAgPT09IGUuZGF0YSgiYW5pIikgPyBwYXJzZUludChlLmNzcygidHJhbnNpdGlvbiIpLCAwKSB8fCAibm9uZSIgOiBlLmRhdGEoImFuaSIpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGEuc3R5bGVQcm9wcyA9IHsKICAgICAgICAgICAgICAgIGJvcmRlclRvcExlZnRSYWRpdXM6IGVbMF0uc3R5bGUuYm9yZGVyVG9wTGVmdFJhZGl1cywKICAgICAgICAgICAgICAgIGJvcmRlclRvcFJpZ2h0UmFkaXVzOiBlWzBdLnN0eWxlLmJvcmRlclRvcFJpZ2h0UmFkaXVzLAogICAgICAgICAgICAgICAgYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6IGVbMF0uc3R5bGUuYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMsCiAgICAgICAgICAgICAgICBib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiBlWzBdLnN0eWxlLmJvcmRlckJvdHRvbUxlZnRSYWRpdXMsCiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBlWzBdLnN0eWxlLmJhY2tncm91bmQsCiAgICAgICAgICAgICAgICBib3hTaGFkb3c6IGVbMF0uc3R5bGUuYm94U2hhZG93LAogICAgICAgICAgICAgICAgImJhY2tncm91bmQtY29sb3IiOiBlWzBdLnN0eWxlWyJiYWNrZ3JvdW5kLWNvbG9yIl0sCiAgICAgICAgICAgICAgICAiYm9yZGVyLXRvcC1jb2xvciI6IGVbMF0uc3R5bGVbImJvcmRlci10b3AtY29sb3IiXSwKICAgICAgICAgICAgICAgICJib3JkZXItYm90dG9tLWNvbG9yIjogZVswXS5zdHlsZVsiYm9yZGVyLWJvdHRvbS1jb2xvciJdLAogICAgICAgICAgICAgICAgImJvcmRlci1yaWdodC1jb2xvciI6IGVbMF0uc3R5bGVbImJvcmRlci1yaWdodC1jb2xvciJdLAogICAgICAgICAgICAgICAgImJvcmRlci1sZWZ0LWNvbG9yIjogZVswXS5zdHlsZVsiYm9yZGVyLWxlZnQtY29sb3IiXSwKICAgICAgICAgICAgICAgICJib3JkZXItdG9wLXN0eWxlIjogZVswXS5zdHlsZVsiYm9yZGVyLXRvcC1zdHlsZSJdLAogICAgICAgICAgICAgICAgImJvcmRlci1ib3R0b20tc3R5bGUiOiBlWzBdLnN0eWxlWyJib3JkZXItYm90dG9tLXN0eWxlIl0sCiAgICAgICAgICAgICAgICAiYm9yZGVyLWxlZnQtc3R5bGUiOiBlWzBdLnN0eWxlWyJib3JkZXItbGVmdC1zdHlsZSJdLAogICAgICAgICAgICAgICAgImJvcmRlci1yaWdodC1zdHlsZSI6IGVbMF0uc3R5bGVbImJvcmRlci1yaWdodC1zdHlsZSJdLAogICAgICAgICAgICAgICAgImJvcmRlci1sZWZ0LXdpZHRoIjogZVswXS5zdHlsZVsiYm9yZGVyLWxlZnQtd2lkdGgiXSwKICAgICAgICAgICAgICAgICJib3JkZXItcmlnaHQtd2lkdGgiOiBlWzBdLnN0eWxlWyJib3JkZXItcmlnaHQtd2lkdGgiXSwKICAgICAgICAgICAgICAgICJib3JkZXItYm90dG9tLXdpZHRoIjogZVswXS5zdHlsZVsiYm9yZGVyLWJvdHRvbS13aWR0aCJdLAogICAgICAgICAgICAgICAgImJvcmRlci10b3Atd2lkdGgiOiBlWzBdLnN0eWxlWyJib3JkZXItdG9wLXdpZHRoIl0sCiAgICAgICAgICAgICAgICBjb2xvcjogZVswXS5zdHlsZS5jb2xvciwKICAgICAgICAgICAgICAgICJ0ZXh0LWRlY29yYXRpb24iOiBlWzBdLnN0eWxlWyJ0ZXh0LWRlY29yYXRpb24iXSwKICAgICAgICAgICAgICAgICJmb250LXN0eWxlIjogZVswXS5zdHlsZVsiZm9udC1zdHlsZSJdCiAgICAgICAgICAgIH0sICIiICE9PSBhLnN0eWxlUHJvcHMuYmFja2dyb3VuZCAmJiB2b2lkIDAgIT09IGEuc3R5bGVQcm9wcy5iYWNrZ3JvdW5kICYmIGEuc3R5bGVQcm9wcy5iYWNrZ3JvdW5kICE9PSBhLnN0eWxlUHJvcHNbImJhY2tncm91bmQtY29sb3IiXSB8fCBkZWxldGUgYS5zdHlsZVByb3BzLmJhY2tncm91bmQsICIiID09IGEuc3R5bGVQcm9wcy5jb2xvciAmJiAoYS5zdHlsZVByb3BzLmNvbG9yID0gZS5jc3MoImNvbG9yIikpLCBhCiAgICAgICAgfSwKICAgICAgICBaID0gZnVuY3Rpb24oYSwgbikgewogICAgICAgICAgICB2YXIgciA9IG5ldyBPYmplY3Q7CiAgICAgICAgICAgIHJldHVybiBhICYmIGpRdWVyeS5lYWNoKGEsIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgIHZhciBpID0gTih0LCBuKVtuLmN1cldpblJhbmdlXTsKICAgICAgICAgICAgICAgIHJbZV0gPSB2b2lkIDAgIT09IGkgPyBpIDogYVtlXQogICAgICAgICAgICB9KSwgcgogICAgICAgIH0sCiAgICAgICAgXyA9IGZ1bmN0aW9uKGUsIHQsIGksIGEpIHsKICAgICAgICAgICAgcmV0dXJuICJmdWxsIiA9PT0gKGUgPSBqUXVlcnkuaXNOdW1lcmljKGUpID8gZSAqIHQgKyAicHgiIDogZSkgPyBhIDogImF1dG8iID09PSBlIHx8ICJub25lIiA9PT0gZSA/IGkgOiBlCiAgICAgICAgfSwKICAgICAgICBFID0gZnVuY3Rpb24oZSwgdCwgaSwgYSkgewogICAgICAgICAgICB2YXIgbiA9IGUuZGF0YSgpOwogICAgICAgICAgICBuID0gdm9pZCAwID09PSBuID8ge30gOiBuOwogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgaWYgKCJCUiIgPT0gZVswXS5ub2RlTmFtZSB8fCAiYnIiID09IGVbMF0udGFnTmFtZSkgcmV0dXJuICExCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAgICAgICAgIG4uY3Nzb2JqID0gdm9pZCAwID09PSBuLmNzc29iaiA/IFYoZSwgaSkgOiBuLmNzc29iajsKICAgICAgICAgICAgdmFyIHIgPSBaKG4uY3Nzb2JqLCB0KSwKICAgICAgICAgICAgICAgIG8gPSB0LmJ3LAogICAgICAgICAgICAgICAgcyA9IHQuYmg7CiAgICAgICAgICAgICJvZmYiID09PSBhICYmIChzID0gbyA9IDEpLCAiYXV0byIgPT0gci5saW5lSGVpZ2h0ICYmIChyLmxpbmVIZWlnaHQgPSByLmZvbnRTaXplICsgNCk7CiAgICAgICAgICAgIHZhciBkID0gewogICAgICAgICAgICAgICAgVG9wOiByLm1hcmdpblRvcCwKICAgICAgICAgICAgICAgIEJvdHRvbTogci5tYXJnaW5Cb3R0b20sCiAgICAgICAgICAgICAgICBMZWZ0OiByLm1hcmdpbkxlZnQsCiAgICAgICAgICAgICAgICBSaWdodDogci5tYXJnaW5SaWdodAogICAgICAgICAgICB9OwogICAgICAgICAgICBpZiAoImNvbHVtbiIgPT09IG4uX25jdHlwZSAmJiAocHVuY2hncy5Ud2VlbkxpdGUuc2V0KG4uX2NvbHVtbiwgewogICAgICAgICAgICAgICAgICAgIHBhZGRpbmdUb3A6IE1hdGgucm91bmQoci5tYXJnaW5Ub3AgKiBzKSArICJweCIsCiAgICAgICAgICAgICAgICAgICAgcGFkZGluZ0JvdHRvbTogTWF0aC5yb3VuZChyLm1hcmdpbkJvdHRvbSAqIHMpICsgInB4IiwKICAgICAgICAgICAgICAgICAgICBwYWRkaW5nTGVmdDogTWF0aC5yb3VuZChyLm1hcmdpbkxlZnQgKiBvKSArICJweCIsCiAgICAgICAgICAgICAgICAgICAgcGFkZGluZ1JpZ2h0OiBNYXRoLnJvdW5kKHIubWFyZ2luUmlnaHQgKiBvKSArICJweCIKICAgICAgICAgICAgICAgIH0pLCBkID0gewogICAgICAgICAgICAgICAgICAgIFRvcDogMCwKICAgICAgICAgICAgICAgICAgICBCb3R0b206IDAsCiAgICAgICAgICAgICAgICAgICAgTGVmdDogMCwKICAgICAgICAgICAgICAgICAgICBSaWdodDogMAogICAgICAgICAgICAgICAgfSksICFlLmhhc0NsYXNzKCJ0cC1zcGxpdHRlZCIpKSB7CiAgICAgICAgICAgICAgICBpZiAoZS5jc3MoIi13ZWJraXQtdHJhbnNpdGlvbiIsICJub25lIiksIGUuY3NzKCItbW96LXRyYW5zaXRpb24iLCAibm9uZSIpLCBlLmNzcygiLW1zLXRyYW5zaXRpb24iLCAibm9uZSIpLCBlLmNzcygidHJhbnNpdGlvbiIsICJub25lIiksICh2b2lkIDAgIT09IGUuZGF0YSgidHJhbnNmb3JtX2hvdmVyIikgfHwgdm9pZCAwICE9PSBlLmRhdGEoInN0eWxlX2hvdmVyIikpICYmIHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLCByLnN0eWxlUHJvcHMpLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZSwgewogICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogTWF0aC5yb3VuZChyLmZvbnRTaXplICogbykgKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiByLmZvbnRXZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlclNwYWNpbmc6IE1hdGguZmxvb3Ioci5sZXR0ZXJTcGFjaW5nICogbykgKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiBNYXRoLnJvdW5kKHIucGFkZGluZ1RvcCAqIHMpICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZ0JvdHRvbTogTWF0aC5yb3VuZChyLnBhZGRpbmdCb3R0b20gKiBzKSArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiBNYXRoLnJvdW5kKHIucGFkZGluZ0xlZnQgKiBvKSArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmdSaWdodDogTWF0aC5yb3VuZChyLnBhZGRpbmdSaWdodCAqIG8pICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luVG9wOiBkLlRvcCAqIHMgKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206IGQuQm90dG9tICogcyArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6IGQuTGVmdCAqIG8gKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogZC5SaWdodCAqIG8gKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJUb3BXaWR0aDogTWF0aC5yb3VuZChyLmJvcmRlclRvcFdpZHRoICogcykgKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJCb3R0b21XaWR0aDogTWF0aC5yb3VuZChyLmJvcmRlckJvdHRvbVdpZHRoICogcykgKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJMZWZ0V2lkdGg6IE1hdGgucm91bmQoci5ib3JkZXJMZWZ0V2lkdGggKiBvKSArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJpZ2h0V2lkdGg6IE1hdGgucm91bmQoci5ib3JkZXJSaWdodFdpZHRoICogbykgKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiBNYXRoLnJvdW5kKHIubGluZUhlaWdodCAqIHMpICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiByLnRleHRBbGlnbiwKICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcndyaXRlOiAiYXV0byIKICAgICAgICAgICAgICAgICAgICB9KSwgInJla3Vyc2l2ZSIgIT0gaSkgewogICAgICAgICAgICAgICAgICAgIHZhciBsID0gInNsaWRlIiA9PSByLmJhc2VhbGlnbiA/IHQudWx3IDogdC5ncmlkd2lkdGhbdC5jdXJXaW5SYW5nZV0sCiAgICAgICAgICAgICAgICAgICAgICAgIG0gPSAic2xpZGUiID09IHIuYmFzZWFsaWduID8gdC51bGggOiB0LmdyaWRoZWlnaHRbdC5jdXJXaW5SYW5nZV0sCiAgICAgICAgICAgICAgICAgICAgICAgIGMgPSBfKHIubWF4V2lkdGgsIG8sICJub25lIiwgbCksCiAgICAgICAgICAgICAgICAgICAgICAgIHAgPSBfKHIubWF4SGVpZ2h0LCBzLCAibm9uZSIsIG0pLAogICAgICAgICAgICAgICAgICAgICAgICBnID0gXyhyLm1pbldpZHRoLCBvLCAiMHB4IiwgbCksCiAgICAgICAgICAgICAgICAgICAgICAgIHUgPSBfKHIubWluSGVpZ2h0LCBzLCAiMHB4IiwgbSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKGcgPSB2b2lkIDAgPT09IGcgPyAwIDogZywgdSA9IHZvaWQgMCA9PT0gdSA/IDAgOiB1LCBjID0gdm9pZCAwID09PSBjID8gIm5vbmUiIDogYywgcCA9IHZvaWQgMCA9PT0gcCA/ICJub25lIiA6IHAsIG4uX2lzZ3JvdXAgJiYgKCIjMS8xIyIgPT09IGcgJiYgKGcgPSBjID0gbCksICIjMS8yIyIgPT09IGcgJiYgKGcgPSBjID0gbCAvIDIpLCAiIzEvMyMiID09PSBnICYmIChnID0gYyA9IGwgLyAzKSwgIiMxLzQjIiA9PT0gZyAmJiAoZyA9IGMgPSBsIC8gNCksICIjMS81IyIgPT09IGcgJiYgKGcgPSBjID0gbCAvIDUpLCAiIzEvNiMiID09PSBnICYmIChnID0gYyA9IGwgLyA2KSwgIiMyLzMjIiA9PT0gZyAmJiAoZyA9IGMgPSBsIC8gMyAqIDIpLCAiIzMvNCMiID09PSBnICYmIChnID0gYyA9IGwgLyA0ICogMyksICIjMi81IyIgPT09IGcgJiYgKGcgPSBjID0gbCAvIDUgKiAyKSwgIiMzLzUjIiA9PT0gZyAmJiAoZyA9IGMgPSBsIC8gNSAqIDMpLCAiIzQvNSMiID09PSBnICYmIChnID0gYyA9IGwgLyA1ICogNCksICIjMy82IyIgPT09IGcgJiYgKGcgPSBjID0gbCAvIDYgKiAzKSwgIiM0LzYjIiA9PT0gZyAmJiAoZyA9IGMgPSBsIC8gNiAqIDQpLCAiIzUvNiMiID09PSBnICYmIChnID0gYyA9IGwgLyA2ICogNSkpLCBuLl9pbmdyb3VwICYmIChuLl9ncm91cHcgPSBnLCBuLl9ncm91cGggPSB1KSwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGUsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heFdpZHRoOiBjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluV2lkdGg6IGcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6IHUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZVNwYWNlOiByLndoaXRlU3BhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246IHIudGV4dEFsaWduLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcndyaXRlOiAiYXV0byIKICAgICAgICAgICAgICAgICAgICAgICAgfSksICJub3ByZWRlZmluZWRjb2xvciIgIT0gci5jb2xvciAmJiBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHIuY29sb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyd3JpdGU6ICJhdXRvIgogICAgICAgICAgICAgICAgICAgICAgICB9KSwgbnVsbCAhPSBuLnN2Z19zcmMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGYgPSAibm9wcmVkZWZpbmVkY29sb3IiICE9IHIuY29sb3IgJiYgbnVsbCAhPSByLmNvbG9yID8gci5jb2xvciA6IG51bGwgIT0gci5jc3MgJiYgIm5vcHJlZGVmaW5lZGNvbG9yIiAhPSByLmNzcy5jb2xvciAmJiBudWxsICE9IHIuY3NzLmNvbG9yID8gci5jc3MuY29sb3IgOiBudWxsICE9IHIuc3R5bGVQcm9wcy5jb2xvciA/IHIuc3R5bGVQcm9wcy5jb2xvciA6IG51bGwgIT0gci5zdHlsZVByb3BzLmNzcyAmJiBudWxsICE9IHIuc3R5bGVQcm9wcy5jc3MuY29sb3IgJiYgci5zdHlsZVByb3BzLmNzcy5jb2xvcjsKICAgICAgICAgICAgICAgICAgICAgICAgMCAhPSBmICYmIChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZS5maW5kKCJzdmciKSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJ3cml0ZTogImF1dG8iCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZS5maW5kKCJzdmcgcGF0aCIpLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcndyaXRlOiAiYXV0byIKICAgICAgICAgICAgICAgICAgICAgICAgfSkpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgImNvbHVtbiIgPT09IG4uX25jdHlwZSAmJiAodm9pZCAwID09PSBuLl9jb2x1bW5fYmdfc2V0ICYmIChuLl9jb2x1bW5fYmdfc2V0ID0gZS5jc3MoImJhY2tncm91bmRDb2xvciIpLCBuLl9jb2x1bW5fYmdfaW1hZ2UgPSBlLmNzcygiYmFja2dyb3VuZEltYWdlIiksIG4uX2NvbHVtbl9iZ19pbWFnZV9yZXBlYXQgPSBlLmNzcygiYmFja2dyb3VuZFJlcGVhdCIpLCBuLl9jb2x1bW5fYmdfaW1hZ2VfcG9zaXRpb24gPSBlLmNzcygiYmFja2dyb3VuZFBvc2l0aW9uIiksIG4uX2NvbHVtbl9iZ19pbWFnZV9zaXplID0gZS5jc3MoImJhY2tncm91bmRTaXplIiksIG4uX2NvbHVtbl9iZ19vcGFjaXR5ID0gZS5kYXRhKCJiZ29wYWNpdHkiKSwgbi5fY29sdW1uX2JnX29wYWNpdHkgPSB2b2lkIDAgPT09IG4uX2NvbHVtbl9iZ19vcGFjaXR5ID8gMSA6IG4uX2NvbHVtbl9iZ19vcGFjaXR5LCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZSwgewogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogInRyYW5zcGFyZW50IiwKICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6ICIiCiAgICAgICAgICAgICAgICB9KSksIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgYihlLCB0KQogICAgICAgICAgICAgICAgfSwgMSksIG4uX2NiZ2NfYXV0byAmJiAwIDwgbi5fY2JnY19hdXRvLmxlbmd0aCAmJiAobi5fY2JnY19hdXRvWzBdLnN0eWxlLmJhY2tncm91bmRTaXplID0gbi5fY29sdW1uX2JnX2ltYWdlX3NpemUsIGpRdWVyeS5pc0FycmF5KHIubWFyZ2luTGVmdCkgPyBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobi5fY2JnY19hdXRvLCB7CiAgICAgICAgICAgICAgICAgICAgYm9yZGVyVG9wV2lkdGg6IHIubWFyZ2luVG9wW3QuY3VyV2luUmFuZ2VdICogcyArICJweCIsCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyTGVmdFdpZHRoOiByLm1hcmdpbkxlZnRbdC5jdXJXaW5SYW5nZV0gKiBvICsgInB4IiwKICAgICAgICAgICAgICAgICAgICBib3JkZXJSaWdodFdpZHRoOiByLm1hcmdpblJpZ2h0W3QuY3VyV2luUmFuZ2VdICogbyArICJweCIsCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyQm90dG9tV2lkdGg6IHIubWFyZ2luQm90dG9tW3QuY3VyV2luUmFuZ2VdICogcyArICJweCIsCiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBuLl9jb2x1bW5fYmdfc2V0LAogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogbi5fY29sdW1uX2JnX2ltYWdlLAogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRSZXBlYXQ6IG4uX2NvbHVtbl9iZ19pbWFnZV9yZXBlYXQsCiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFBvc2l0aW9uOiBuLl9jb2x1bW5fYmdfaW1hZ2VfcG9zaXRpb24sCiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogbi5fY29sdW1uX2JnX29wYWNpdHkKICAgICAgICAgICAgICAgIH0pIDogcHVuY2hncy5Ud2VlbkxpdGUuc2V0KG4uX2NiZ2NfYXV0bywgewogICAgICAgICAgICAgICAgICAgIGJvcmRlclRvcFdpZHRoOiByLm1hcmdpblRvcCAqIHMgKyAicHgiLAogICAgICAgICAgICAgICAgICAgIGJvcmRlckxlZnRXaWR0aDogci5tYXJnaW5MZWZ0ICogbyArICJweCIsCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmlnaHRXaWR0aDogci5tYXJnaW5SaWdodCAqIG8gKyAicHgiLAogICAgICAgICAgICAgICAgICAgIGJvcmRlckJvdHRvbVdpZHRoOiByLm1hcmdpbkJvdHRvbSAqIHMgKyAicHgiLAogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogbi5fY29sdW1uX2JnX3NldCwKICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IG4uX2NvbHVtbl9iZ19pbWFnZSwKICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kUmVwZWF0OiBuLl9jb2x1bW5fYmdfaW1hZ2VfcmVwZWF0LAogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRQb3NpdGlvbjogbi5fY29sdW1uX2JnX2ltYWdlX3Bvc2l0aW9uLAogICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IG4uX2NvbHVtbl9iZ19vcGFjaXR5CiAgICAgICAgICAgICAgICB9KSkpLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGUuY3NzKCItd2Via2l0LXRyYW5zaXRpb24iLCBlLmRhdGEoIndhbiIpKSwgZS5jc3MoIi1tb3otdHJhbnNpdGlvbiIsIGUuZGF0YSgibW9hbiIpKSwgZS5jc3MoIi1tcy10cmFuc2l0aW9uIiwgZS5kYXRhKCJtYW4iKSksIGUuY3NzKCJ0cmFuc2l0aW9uIiwgZS5kYXRhKCJhbmkiKSkKICAgICAgICAgICAgICAgIH0sIDMwKQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBiID0gZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICB2YXIgaSwgYSwgbiwgciA9IGUuZGF0YSgpOwogICAgICAgICAgICByLl9jYmdjX21hbiAmJiAwIDwgci5fY2JnY19tYW4ubGVuZ3RoICYmIChqUXVlcnkuaXNBcnJheShyLmNzc29iai5tYXJnaW5MZWZ0KSA/IChyLmNzc29iai5tYXJnaW5MZWZ0W3QuY3VyV2luUmFuZ2VdLCB0LmJ3LCBpID0gci5jc3NvYmoubWFyZ2luVG9wW3QuY3VyV2luUmFuZ2VdICogdC5iaCwgYSA9IHIuY3Nzb2JqLm1hcmdpbkJvdHRvbVt0LmN1cldpblJhbmdlXSAqIHQuYmgsIHIuY3Nzb2JqLm1hcmdpblJpZ2h0W3QuY3VyV2luUmFuZ2VdKSA6IChyLmNzc29iai5tYXJnaW5MZWZ0LCB0LmJ3LCBpID0gci5jc3NvYmoubWFyZ2luVG9wICogdC5iaCwgYSA9IHIuY3Nzb2JqLm1hcmdpbkJvdHRvbSAqIHQuYmgsIHIuY3Nzb2JqLm1hcmdpblJpZ2h0KSwgdC5idywgbiA9IHIuX3Jvdy5oYXNDbGFzcygicmV2X2JyZWFrX2NvbHVtbnMiKSA/ICIxMDAlIiA6IHIuX3Jvdy5oZWlnaHQoKSAtIChpICsgYSkgKyAicHgiLCByLl9jYmdjX21hblswXS5zdHlsZS5iYWNrZ3JvdW5kU2l6ZSA9IHIuX2NvbHVtbl9iZ19pbWFnZV9zaXplLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoci5fY2JnY19tYW4sIHsKICAgICAgICAgICAgICAgIHdpZHRoOiAiMTAwJSIsCiAgICAgICAgICAgICAgICBoZWlnaHQ6IG4sCiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHIuX2NvbHVtbl9iZ19zZXQsCiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IHIuX2NvbHVtbl9iZ19pbWFnZSwKICAgICAgICAgICAgICAgIGJhY2tncm91bmRSZXBlYXQ6IHIuX2NvbHVtbl9iZ19pbWFnZV9yZXBlYXQsCiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kUG9zaXRpb246IHIuX2NvbHVtbl9iZ19pbWFnZV9wb3NpdGlvbiwKICAgICAgICAgICAgICAgIG92ZXJ3cml0ZTogImF1dG8iLAogICAgICAgICAgICAgICAgb3BhY2l0eTogci5fY29sdW1uX2JnX29wYWNpdHkKICAgICAgICAgICAgfSkpCiAgICAgICAgfSwKICAgICAgICBjID0gZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICB2YXIgaSA9IGUuZGF0YSgpOwogICAgICAgICAgICBpZiAoZS5oYXNDbGFzcygicnMtcGVuZHVsdW0iKSAmJiBudWxsID09IGkuX2xvb3BfdGltZWxpbmUpIHsKICAgICAgICAgICAgICAgIGkuX2xvb3BfdGltZWxpbmUgPSBuZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7CiAgICAgICAgICAgICAgICB2YXIgYSA9IG51bGwgPT0gZS5kYXRhKCJzdGFydGRlZyIpID8gLTIwIDogZS5kYXRhKCJzdGFydGRlZyIpLAogICAgICAgICAgICAgICAgICAgIG4gPSBudWxsID09IGUuZGF0YSgiZW5kZGVnIikgPyAyMCA6IGUuZGF0YSgiZW5kZGVnIiksCiAgICAgICAgICAgICAgICAgICAgciA9IG51bGwgPT0gZS5kYXRhKCJzcGVlZCIpID8gMiA6IGUuZGF0YSgic3BlZWQiKSwKICAgICAgICAgICAgICAgICAgICBvID0gbnVsbCA9PSBlLmRhdGEoIm9yaWdpbiIpID8gIjUwJSA1MCUiIDogZS5kYXRhKCJvcmlnaW4iKSwKICAgICAgICAgICAgICAgICAgICBzID0gbnVsbCA9PSBlLmRhdGEoImVhc2luZyIpID8gcHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0IDogZS5kYXRhKCJlYXNpbmciKTsKICAgICAgICAgICAgICAgIGEgKj0gdCwgbiAqPSB0LCBpLl9sb29wX3RpbWVsaW5lLmFwcGVuZChuZXcgcHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGUsIHIsIHsKICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IGEsCiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiBvCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IG4sCiAgICAgICAgICAgICAgICAgICAgZWFzZTogcwogICAgICAgICAgICAgICAgfSkpLCBpLl9sb29wX3RpbWVsaW5lLmFwcGVuZChuZXcgcHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGUsIHIsIHsKICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IG4sCiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiBvCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IGEsCiAgICAgICAgICAgICAgICAgICAgZWFzZTogcywKICAgICAgICAgICAgICAgICAgICBvbkNvbXBsZXRlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaS5fbG9vcF90aW1lbGluZS5yZXN0YXJ0KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KSkKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoZS5oYXNDbGFzcygicnMtcm90YXRlIikgJiYgbnVsbCA9PSBpLl9sb29wX3RpbWVsaW5lICYmIChpLl9sb29wX3RpbWVsaW5lID0gbmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlLCBhID0gbnVsbCA9PSBlLmRhdGEoInN0YXJ0ZGVnIikgPyAwIDogZS5kYXRhKCJzdGFydGRlZyIpLCBuID0gbnVsbCA9PSBlLmRhdGEoImVuZGRlZyIpID8gMzYwIDogZS5kYXRhKCJlbmRkZWciKSwgciA9IG51bGwgPT0gZS5kYXRhKCJzcGVlZCIpID8gMiA6IGUuZGF0YSgic3BlZWQiKSwgbyA9IG51bGwgPT0gZS5kYXRhKCJvcmlnaW4iKSA/ICI1MCUgNTAlIiA6IGUuZGF0YSgib3JpZ2luIiksIHMgPSBudWxsID09IGUuZGF0YSgiZWFzaW5nIikgPyBwdW5jaGdzLlBvd2VyMi5lYXNlSW5PdXQgOiBlLmRhdGEoImVhc2luZyIpLCBhICo9IHQsIG4gKj0gdCwgaS5fbG9vcF90aW1lbGluZS5hcHBlbmQobmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhlLCByLCB7CiAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uOiBhLAogICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogbwogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uOiBuLAogICAgICAgICAgICAgICAgICAgIGVhc2U6IHMsCiAgICAgICAgICAgICAgICAgICAgb25Db21wbGV0ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGkuX2xvb3BfdGltZWxpbmUucmVzdGFydCgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkpKSwgZS5oYXNDbGFzcygicnMtc2xpZGVsb29wIikgJiYgbnVsbCA9PSBpLl9sb29wX3RpbWVsaW5lKSB7CiAgICAgICAgICAgICAgICBpLl9sb29wX3RpbWVsaW5lID0gbmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlOwogICAgICAgICAgICAgICAgdmFyIGQgPSBudWxsID09IGUuZGF0YSgieHMiKSA/IDAgOiBlLmRhdGEoInhzIiksCiAgICAgICAgICAgICAgICAgICAgbCA9IG51bGwgPT0gZS5kYXRhKCJ5cyIpID8gMCA6IGUuZGF0YSgieXMiKSwKICAgICAgICAgICAgICAgICAgICBtID0gbnVsbCA9PSBlLmRhdGEoInhlIikgPyAwIDogZS5kYXRhKCJ4ZSIpLAogICAgICAgICAgICAgICAgICAgIGMgPSBudWxsID09IGUuZGF0YSgieWUiKSA/IDAgOiBlLmRhdGEoInllIik7CiAgICAgICAgICAgICAgICByID0gbnVsbCA9PSBlLmRhdGEoInNwZWVkIikgPyAyIDogZS5kYXRhKCJzcGVlZCIpLCBzID0gbnVsbCA9PSBlLmRhdGEoImVhc2luZyIpID8gcHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0IDogZS5kYXRhKCJlYXNpbmciKSwgZCAqPSB0LCBsICo9IHQsIG0gKj0gdCwgYyAqPSB0LCBpLl9sb29wX3RpbWVsaW5lLmFwcGVuZChuZXcgcHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGUsIHIsIHsKICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgeDogZCwKICAgICAgICAgICAgICAgICAgICB5OiBsCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgeDogbSwKICAgICAgICAgICAgICAgICAgICB5OiBjLAogICAgICAgICAgICAgICAgICAgIGVhc2U6IHMKICAgICAgICAgICAgICAgIH0pKSwgaS5fbG9vcF90aW1lbGluZS5hcHBlbmQobmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhlLCByLCB7CiAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgIHg6IG0sCiAgICAgICAgICAgICAgICAgICAgeTogYwogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHg6IGQsCiAgICAgICAgICAgICAgICAgICAgeTogbCwKICAgICAgICAgICAgICAgICAgICBvbkNvbXBsZXRlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaS5fbG9vcF90aW1lbGluZS5yZXN0YXJ0KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KSkKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoZS5oYXNDbGFzcygicnMtcHVsc2UiKSAmJiBudWxsID09IGkuX2xvb3BfdGltZWxpbmUpIHsKICAgICAgICAgICAgICAgIGkuX2xvb3BfdGltZWxpbmUgPSBuZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7CiAgICAgICAgICAgICAgICB2YXIgcCA9IG51bGwgPT0gZS5kYXRhKCJ6b29tc3RhcnQiKSA/IDAgOiBlLmRhdGEoInpvb21zdGFydCIpLAogICAgICAgICAgICAgICAgICAgIGcgPSBudWxsID09IGUuZGF0YSgiem9vbWVuZCIpID8gMCA6IGUuZGF0YSgiem9vbWVuZCIpOwogICAgICAgICAgICAgICAgciA9IG51bGwgPT0gZS5kYXRhKCJzcGVlZCIpID8gMiA6IGUuZGF0YSgic3BlZWQiKSwgcyA9IG51bGwgPT0gZS5kYXRhKCJlYXNpbmciKSA/IHB1bmNoZ3MuUG93ZXIyLmVhc2VJbk91dCA6IGUuZGF0YSgiZWFzaW5nIiksIGkuX2xvb3BfdGltZWxpbmUuYXBwZW5kKG5ldyBwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oZSwgciwgewogICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICBzY2FsZTogcAogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHNjYWxlOiBnLAogICAgICAgICAgICAgICAgICAgIGVhc2U6IHMKICAgICAgICAgICAgICAgIH0pKSwgaS5fbG9vcF90aW1lbGluZS5hcHBlbmQobmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhlLCByLCB7CiAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgIHNjYWxlOiBnCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgc2NhbGU6IHAsCiAgICAgICAgICAgICAgICAgICAgb25Db21wbGV0ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGkuX2xvb3BfdGltZWxpbmUucmVzdGFydCgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGUuaGFzQ2xhc3MoInJzLXdhdmUiKSAmJiBudWxsID09IGkuX2xvb3BfdGltZWxpbmUpIHsKICAgICAgICAgICAgICAgIGkuX2xvb3BfdGltZWxpbmUgPSBuZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7CiAgICAgICAgICAgICAgICB2YXIgdSA9IG51bGwgPT0gZS5kYXRhKCJhbmdsZSIpID8gMTAgOiBwYXJzZUludChlLmRhdGEoImFuZ2xlIiksIDApLAogICAgICAgICAgICAgICAgICAgIGYgPSBudWxsID09IGUuZGF0YSgicmFkaXVzIikgPyAxMCA6IHBhcnNlSW50KGUuZGF0YSgicmFkaXVzIiksIDApLAogICAgICAgICAgICAgICAgICAgIGggPSAociA9IG51bGwgPT0gZS5kYXRhKCJzcGVlZCIpID8gLTIwIDogZS5kYXRhKCJzcGVlZCIpLCAobyA9IG51bGwgPT0gZS5kYXRhKCJvcmlnaW4iKSA/ICI1MCUgNTAlIiA6IGUuZGF0YSgib3JpZ2luIikpLnNwbGl0KCIgIikpLAogICAgICAgICAgICAgICAgICAgIHYgPSBuZXcgT2JqZWN0OwogICAgICAgICAgICAgICAgMSA8PSBoLmxlbmd0aCA/ICh2LnggPSBoWzBdLCB2LnkgPSBoWzFdKSA6ICh2LnggPSAiNTAlIiwgdi55ID0gIjUwJSIpLCBmICo9IHQ7CiAgICAgICAgICAgICAgICB2YXIgXyA9IChwYXJzZUludCh2LngsIDApIC8gMTAwIC0gLjUpICogZS53aWR0aCgpLAogICAgICAgICAgICAgICAgICAgIGIgPSAocGFyc2VJbnQodi55LCAwKSAvIDEwMCAtIC41KSAqIGUuaGVpZ2h0KCksCiAgICAgICAgICAgICAgICAgICAgeSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgYTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgYW5nOiB1LAogICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50OiBlLAogICAgICAgICAgICAgICAgICAgICAgICB1bml0OiBmLAogICAgICAgICAgICAgICAgICAgICAgICB4b2Zmc2V0OiAwICsgXywKICAgICAgICAgICAgICAgICAgICAgICAgeW9mZnNldDogLTEgKiBmICsgYgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgdyA9IHBhcnNlSW50KHUsIDApLAogICAgICAgICAgICAgICAgICAgIHggPSBuZXcgcHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKHksIHIsIHsKICAgICAgICAgICAgICAgICAgICAgICAgYTogMCArIHcKICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGE6IDM2MCArIHcsCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5MaW5lYXIuZWFzZU5vbmUKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHguZXZlbnRDYWxsYmFjaygib25VcGRhdGUiLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBlLmEgKiAoTWF0aC5QSSAvIDE4MCksCiAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBlLnlvZmZzZXQgKyBlLnVuaXQgKiAoMSAtIE1hdGguc2luKHQpKSwKICAgICAgICAgICAgICAgICAgICAgICAgYSA9IGUueG9mZnNldCArIE1hdGguY29zKHQpICogZS51bml0OwogICAgICAgICAgICAgICAgICAgIHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGUuZWxlbWVudCwgLjEsIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICB4OiBhLAogICAgICAgICAgICAgICAgICAgICAgICB5OiBpCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0sIFt5XSksIHguZXZlbnRDYWxsYmFjaygib25Db21wbGV0ZSIsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICBlLl9sb29wX3RpbWVsaW5lLnJlc3RhcnQoKQogICAgICAgICAgICAgICAgfSwgW2ldKSwgaS5fbG9vcF90aW1lbGluZS5hcHBlbmQoeCkKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgciA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgZS5jbG9zZXN0KCIucnMtcGVuZHVsdW0sIC5ycy1zbGlkZWxvb3AsIC5ycy1wdWxzZSwgLnJzLXdhdmUiKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbnVsbCAhPSB0aGlzLl9sb29wX3RpbWVsaW5lICYmICh0aGlzLl9sb29wX3RpbWVsaW5lLnBhdXNlKCksIHRoaXMuX2xvb3BfdGltZWxpbmUgPSBudWxsKQogICAgICAgICAgICB9KQogICAgICAgIH0KfShqUXVlcnkpOwohIGZ1bmN0aW9uKHQpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBPID0galF1ZXJ5LmZuLnJldm9sdXRpb24sCiAgICAgICAgSSA9IE8uaXNfbW9iaWxlKCksCiAgICAgICAgZSA9IHsKICAgICAgICAgICAgYWxpYXM6ICJOYXZpZ2F0aW9uIE1pbiBKUyIsCiAgICAgICAgICAgIG5hbWU6ICJyZXZvbHV0aW9uLmV4dGVuc2lvbnMubmF2aWdhdGlvbi5taW4uanMiLAogICAgICAgICAgICBtaW5fY29yZTogIjUuNC4wIiwKICAgICAgICAgICAgdmVyc2lvbjogIjEuMy41IgogICAgICAgIH07CiAgICBqUXVlcnkuZXh0ZW5kKCEwLCBPLCB7CiAgICAgICAgaGlkZVVuSGlkZU5hdjogZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHQuYy53aWR0aCgpLAogICAgICAgICAgICAgICAgaSA9IHQubmF2aWdhdGlvbi5hcnJvd3MsCiAgICAgICAgICAgICAgICBhID0gdC5uYXZpZ2F0aW9uLmJ1bGxldHMsCiAgICAgICAgICAgICAgICBuID0gdC5uYXZpZ2F0aW9uLnRodW1ibmFpbHMsCiAgICAgICAgICAgICAgICByID0gdC5uYXZpZ2F0aW9uLnRhYnM7CiAgICAgICAgICAgIG0oaSkgJiYgbyh0LmMuZmluZCgiLnRwYXJyb3dzIiksIGkuaGlkZV91bmRlciwgZSwgaS5oaWRlX292ZXIpLCBtKGEpICYmIG8odC5jLmZpbmQoIi50cC1idWxsZXRzIiksIGEuaGlkZV91bmRlciwgZSwgYS5oaWRlX292ZXIpLCBtKG4pICYmIG8odC5jLnBhcmVudCgpLmZpbmQoIi50cC10aHVtYnMiKSwgbi5oaWRlX3VuZGVyLCBlLCBuLmhpZGVfb3ZlciksIG0ocikgJiYgbyh0LmMucGFyZW50KCkuZmluZCgiLnRwLXRhYnMiKSwgci5oaWRlX3VuZGVyLCBlLCByLmhpZGVfb3ZlciksIGwodCkKICAgICAgICB9LAogICAgICAgIHJlc2l6ZVRodW1ic1RhYnM6IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgaWYgKHQubmF2aWdhdGlvbiAmJiB0Lm5hdmlnYXRpb24udGFicy5lbmFibGUgfHwgdC5uYXZpZ2F0aW9uICYmIHQubmF2aWdhdGlvbi50aHVtYm5haWxzLmVuYWJsZSkgewogICAgICAgICAgICAgICAgdmFyIGkgPSAoalF1ZXJ5KHdpbmRvdykud2lkdGgoKSAtIDQ4MCkgLyA1MDAsCiAgICAgICAgICAgICAgICAgICAgYSA9IG5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZSwKICAgICAgICAgICAgICAgICAgICBuID0gdC5uYXZpZ2F0aW9uLnRhYnMsCiAgICAgICAgICAgICAgICAgICAgciA9IHQubmF2aWdhdGlvbi50aHVtYm5haWxzLAogICAgICAgICAgICAgICAgICAgIG8gPSB0Lm5hdmlnYXRpb24uYnVsbGV0czsKICAgICAgICAgICAgICAgIGlmIChhLnBhdXNlKCksIGkgPSAxIDwgaSA/IDEgOiBpIDwgMCA/IDAgOiBpLCBtKG4pICYmIChlIHx8IG4ud2lkdGggPiBuLm1pbl93aWR0aCkgJiYgZChpLCBhLCB0LmMsIG4sIHQuc2xpZGVhbW91bnQsICJ0YWIiKSwgbShyKSAmJiAoZSB8fCByLndpZHRoID4gci5taW5fd2lkdGgpICYmIGQoaSwgYSwgdC5jLCByLCB0LnNsaWRlYW1vdW50LCAidGh1bWIiKSwgbShvKSAmJiBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHMgPSB0LmMuZmluZCgiLnRwLWJ1bGxldHMiKTsKICAgICAgICAgICAgICAgICAgICBzLmZpbmQoIi50cC1idWxsZXQiKS5lYWNoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gdCArIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhID0gZS5vdXRlcldpZHRoKCkgKyBwYXJzZUludCh2b2lkIDAgPT09IG8uc3BhY2UgPyAwIDogby5zcGFjZSwgMCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuID0gZS5vdXRlckhlaWdodCgpICsgcGFyc2VJbnQodm9pZCAwID09PSBvLnNwYWNlID8gMCA6IG8uc3BhY2UsIDApOwogICAgICAgICAgICAgICAgICAgICAgICAidmVydGljYWwiID09PSBvLmRpcmVjdGlvbiA/IChlLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IChpIC0gMSkgKiBuICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6ICIwcHgiCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBzLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IChpIC0gMSkgKiBuICsgZS5vdXRlckhlaWdodCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGUub3V0ZXJXaWR0aCgpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pKSA6IChlLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAoaSAtIDEpICogYSArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6ICIwcHgiCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBzLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogKGkgLSAxKSAqIGEgKyBlLm91dGVyV2lkdGgoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogZS5vdXRlckhlaWdodCgpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pKQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBhLnBsYXkoKSwgbCh0KQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAhMAogICAgICAgIH0sCiAgICAgICAgdXBkYXRlTmF2SW5kZXhlczogZnVuY3Rpb24odCkgewogICAgICAgICAgICBmdW5jdGlvbiBlKHQpIHsKICAgICAgICAgICAgICAgIDAgPCBpLmZpbmQodCkubGVuZ2h0ICYmIGkuZmluZCh0KS5lYWNoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICBqUXVlcnkodGhpcykuZGF0YSgibGlpbmRleCIsIHQpCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBpID0gdC5jOwogICAgICAgICAgICBlKCIudHAtdGFiIiksIGUoIi50cC1idWxsZXQiKSwgZSgiLnRwLXRodW1iIiksIE8ucmVzaXplVGh1bWJzVGFicyh0LCAhMCksIE8ubWFuYWdlTmF2aWdhdGlvbih0KQogICAgICAgIH0sCiAgICAgICAgbWFuYWdlTmF2aWdhdGlvbjogZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IE8uZ2V0SG9yaXpvbnRhbE9mZnNldCh0LmMucGFyZW50KCksICJsZWZ0IiksCiAgICAgICAgICAgICAgICBpID0gTy5nZXRIb3Jpem9udGFsT2Zmc2V0KHQuYy5wYXJlbnQoKSwgInJpZ2h0Iik7CiAgICAgICAgICAgIG0odC5uYXZpZ2F0aW9uLmJ1bGxldHMpICYmICgiZnVsbHNjcmVlbiIgIT0gdC5zbGlkZXJMYXlvdXQgJiYgImZ1bGx3aWR0aCIgIT0gdC5zbGlkZXJMYXlvdXQgJiYgKHQubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZCA9IHZvaWQgMCA9PT0gdC5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXRfb2xkID8gdC5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXQgOiB0Lm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldF9vbGQsIHQubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0ID0gImNlbnRlciIgPT09IHQubmF2aWdhdGlvbi5idWxsZXRzLmhfYWxpZ24gPyB0Lm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldF9vbGQgKyBlIC8gMiAtIGkgLyAyIDogdC5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXRfb2xkICsgZSAtIGkpLCBUKHQuYy5maW5kKCIudHAtYnVsbGV0cyIpLCB0Lm5hdmlnYXRpb24uYnVsbGV0cywgdCkpLCBtKHQubmF2aWdhdGlvbi50aHVtYm5haWxzKSAmJiBUKHQuYy5wYXJlbnQoKS5maW5kKCIudHAtdGh1bWJzIiksIHQubmF2aWdhdGlvbi50aHVtYm5haWxzLCB0KSwgbSh0Lm5hdmlnYXRpb24udGFicykgJiYgVCh0LmMucGFyZW50KCkuZmluZCgiLnRwLXRhYnMiKSwgdC5uYXZpZ2F0aW9uLnRhYnMsIHQpLCBtKHQubmF2aWdhdGlvbi5hcnJvd3MpICYmICgiZnVsbHNjcmVlbiIgIT0gdC5zbGlkZXJMYXlvdXQgJiYgImZ1bGx3aWR0aCIgIT0gdC5zbGlkZXJMYXlvdXQgJiYgKHQubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldF9vbGQgPSB2b2lkIDAgPT09IHQubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldF9vbGQgPyB0Lm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXQgOiB0Lm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXRfb2xkLCB0Lm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXQgPSAicmlnaHQiID09PSB0Lm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9hbGlnbiA/IHQubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldF9vbGQgKyBpIDogdC5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0Lmhfb2Zmc2V0X29sZCArIGUsIHQubmF2aWdhdGlvbi5hcnJvd3MucmlnaHQuaF9vZmZzZXRfb2xkID0gdm9pZCAwID09PSB0Lm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0X29sZCA/IHQubmF2aWdhdGlvbi5hcnJvd3MucmlnaHQuaF9vZmZzZXQgOiB0Lm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0X29sZCwgdC5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldCA9ICJyaWdodCIgPT09IHQubmF2aWdhdGlvbi5hcnJvd3MucmlnaHQuaF9hbGlnbiA/IHQubmF2aWdhdGlvbi5hcnJvd3MucmlnaHQuaF9vZmZzZXRfb2xkICsgaSA6IHQubmF2aWdhdGlvbi5hcnJvd3MucmlnaHQuaF9vZmZzZXRfb2xkICsgZSksIFQodC5jLmZpbmQoIi50cC1sZWZ0YXJyb3cudHBhcnJvd3MiKSwgdC5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0LCB0KSwgVCh0LmMuZmluZCgiLnRwLXJpZ2h0YXJyb3cudHBhcnJvd3MiKSwgdC5uYXZpZ2F0aW9uLmFycm93cy5yaWdodCwgdCkpLCBtKHQubmF2aWdhdGlvbi50aHVtYm5haWxzKSAmJiBjKHQuYy5wYXJlbnQoKS5maW5kKCIudHAtdGh1bWJzIiksIHQubmF2aWdhdGlvbi50aHVtYm5haWxzKSwgbSh0Lm5hdmlnYXRpb24udGFicykgJiYgYyh0LmMucGFyZW50KCkuZmluZCgiLnRwLXRhYnMiKSwgdC5uYXZpZ2F0aW9uLnRhYnMpCiAgICAgICAgfSwKICAgICAgICBjcmVhdGVOYXZpZ2F0aW9uOiBmdW5jdGlvbihvLCBzKSB7CiAgICAgICAgICAgIGlmICgic3RvcCIgPT09IE8uY29tcGFyZV92ZXJzaW9uKGUpLmNoZWNrKSByZXR1cm4gITE7CiAgICAgICAgICAgIHZhciBkID0gby5wYXJlbnQoKSwKICAgICAgICAgICAgICAgIGwgPSBzLm5hdmlnYXRpb24uYXJyb3dzLAogICAgICAgICAgICAgICAgYSA9IHMubmF2aWdhdGlvbi5idWxsZXRzLAogICAgICAgICAgICAgICAgaCA9IHMubmF2aWdhdGlvbi50aHVtYm5haWxzLAogICAgICAgICAgICAgICAgcCA9IHMubmF2aWdhdGlvbi50YWJzLAogICAgICAgICAgICAgICAgdCA9IG0obCksCiAgICAgICAgICAgICAgICBuID0gbShhKSwKICAgICAgICAgICAgICAgIHIgPSBtKGgpLAogICAgICAgICAgICAgICAgdSA9IG0ocCk7CiAgICAgICAgICAgIGkobywgcyksIGcobywgcyksIHQgJiYgXyhvLCBsLCBzKSwgcy5saS5lYWNoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHMubGlbcy5saS5sZW5ndGggLSAxIC0gdF0pLAogICAgICAgICAgICAgICAgICAgIGkgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICBuICYmIChzLm5hdmlnYXRpb24uYnVsbGV0cy5ydGwgPyB5KG8sIGEsIGUsIHMpIDogeShvLCBhLCBpLCBzKSksIHIgJiYgKHMubmF2aWdhdGlvbi50aHVtYm5haWxzLnJ0bCA/IFMobywgaCwgZSwgInRwLXRodW1iIiwgcykgOiBTKG8sIGgsIGksICJ0cC10aHVtYiIsIHMpKSwgdSAmJiAocy5uYXZpZ2F0aW9uLnRhYnMucnRsID8gUyhvLCBwLCBlLCAidHAtdGFiIiwgcykgOiBTKG8sIHAsIGksICJ0cC10YWIiLCBzKSkKICAgICAgICAgICAgfSksIG8uYmluZCgicmV2b2x1dGlvbi5zbGlkZS5vbmFmdGVyc3dhcCByZXZvbHV0aW9uLm5leHRzbGlkZS53YWl0aW5nIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IDAgPT0gby5maW5kKCIubmV4dC1yZXZzbGlkZSIpLmxlbmd0aCA/IG8uZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLmRhdGEoImluZGV4IikgOiBvLmZpbmQoIi5uZXh0LXJldnNsaWRlIikuZGF0YSgiaW5kZXgiKTsKICAgICAgICAgICAgICAgIG8uZmluZCgiLnRwLWJ1bGxldCIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgdC5kYXRhKCJsaXJlZiIpID09PSBpID8gdC5hZGRDbGFzcygic2VsZWN0ZWQiKSA6IHQucmVtb3ZlQ2xhc3MoInNlbGVjdGVkIikKICAgICAgICAgICAgICAgIH0pLCBkLmZpbmQoIi50cC10aHVtYiwgLnRwLXRhYiIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgdC5kYXRhKCJsaXJlZiIpID09PSBpID8gKHQuYWRkQ2xhc3MoInNlbGVjdGVkIiksIHQuaGFzQ2xhc3MoInRwLXRhYiIpID8gYyhkLmZpbmQoIi50cC10YWJzIiksIHApIDogYyhkLmZpbmQoIi50cC10aHVtYnMiKSwgaCkpIDogdC5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB2YXIgYSA9IDAsCiAgICAgICAgICAgICAgICAgICAgbiA9ICExOwogICAgICAgICAgICAgICAgcy50aHVtYnMgJiYgalF1ZXJ5LmVhY2gocy50aHVtYnMsIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICBhID0gITEgPT09IG4gPyB0IDogYSwgbiA9IGUuaWQgPT09IGkgfHwgdCA9PT0gaSB8fCBuCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHZhciB0ID0gMCA8IGEgPyBhIC0gMSA6IHMuc2xpZGVhbW91bnQgLSAxLAogICAgICAgICAgICAgICAgICAgIGUgPSBhICsgMSA9PSBzLnNsaWRlYW1vdW50ID8gMCA6IGEgKyAxOwogICAgICAgICAgICAgICAgaWYgKCEwID09PSBsLmVuYWJsZSkgewogICAgICAgICAgICAgICAgICAgIHZhciByID0gbC50bXA7CiAgICAgICAgICAgICAgICAgICAgaWYgKG51bGwgIT0gcy50aHVtYnNbdF0gJiYgalF1ZXJ5LmVhY2gocy50aHVtYnNbdF0ucGFyYW1zLCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gci5yZXBsYWNlKGUuZnJvbSwgZS50bykKICAgICAgICAgICAgICAgICAgICAgICAgfSksIGwubGVmdC5qLmh0bWwociksIHIgPSBsLnRtcCwgZSA+IHMuc2xpZGVhbW91bnQpIHJldHVybjsKICAgICAgICAgICAgICAgICAgICBqUXVlcnkuZWFjaChzLnRodW1ic1tlXS5wYXJhbXMsIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgciA9IHIucmVwbGFjZShlLmZyb20sIGUudG8pCiAgICAgICAgICAgICAgICAgICAgfSksIGwucmlnaHQuai5odG1sKHIpLCBsLnJ0bCA/IChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobC5sZWZ0LmouZmluZCgiLnRwLWFyci1pbWdob2xkZXIiKSwgewogICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6ICJ1cmwoIiArIHMudGh1bWJzW2VdLnNyYyArICIpIgogICAgICAgICAgICAgICAgICAgIH0pLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobC5yaWdodC5qLmZpbmQoIi50cC1hcnItaW1naG9sZGVyIiksIHsKICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZEltYWdlOiAidXJsKCIgKyBzLnRodW1ic1t0XS5zcmMgKyAiKSIKICAgICAgICAgICAgICAgICAgICB9KSkgOiAocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGwubGVmdC5qLmZpbmQoIi50cC1hcnItaW1naG9sZGVyIiksIHsKICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZEltYWdlOiAidXJsKCIgKyBzLnRodW1ic1t0XS5zcmMgKyAiKSIKICAgICAgICAgICAgICAgICAgICB9KSwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGwucmlnaHQuai5maW5kKCIudHAtYXJyLWltZ2hvbGRlciIpLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogInVybCgiICsgcy50aHVtYnNbZV0uc3JjICsgIikiCiAgICAgICAgICAgICAgICAgICAgfSkpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLCBmKGwpLCBmKGEpLCBmKGgpLCBmKHApLCBkLm9uKCJtb3VzZWVudGVyIG1vdXNlbW92ZSIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZC5oYXNDbGFzcygidHAtbW91c2VvdmVyIikgfHwgKGQuYWRkQ2xhc3MoInRwLW1vdXNlb3ZlciIpLCBwdW5jaGdzLlR3ZWVuTGl0ZS5raWxsRGVsYXllZENhbGxzVG8odyksIHQgJiYgbC5oaWRlX29ubGVhdmUgJiYgdyhkLmZpbmQoIi50cGFycm93cyIpLCBsLCAic2hvdyIpLCBuICYmIGEuaGlkZV9vbmxlYXZlICYmIHcoZC5maW5kKCIudHAtYnVsbGV0cyIpLCBhLCAic2hvdyIpLCByICYmIGguaGlkZV9vbmxlYXZlICYmIHcoZC5maW5kKCIudHAtdGh1bWJzIiksIGgsICJzaG93IiksIHUgJiYgcC5oaWRlX29ubGVhdmUgJiYgdyhkLmZpbmQoIi50cC10YWJzIiksIHAsICJzaG93IiksIEkgJiYgKGQucmVtb3ZlQ2xhc3MoInRwLW1vdXNlb3ZlciIpLCBiKG8sIHMpKSkKICAgICAgICAgICAgfSksIGQub24oIm1vdXNlbGVhdmUiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGQucmVtb3ZlQ2xhc3MoInRwLW1vdXNlb3ZlciIpLCBiKG8sIHMpCiAgICAgICAgICAgIH0pLCB0ICYmIGwuaGlkZV9vbmxlYXZlICYmIHcoZC5maW5kKCIudHBhcnJvd3MiKSwgbCwgImhpZGUiLCAwKSwgbiAmJiBhLmhpZGVfb25sZWF2ZSAmJiB3KGQuZmluZCgiLnRwLWJ1bGxldHMiKSwgYSwgImhpZGUiLCAwKSwgciAmJiBoLmhpZGVfb25sZWF2ZSAmJiB3KGQuZmluZCgiLnRwLXRodW1icyIpLCBoLCAiaGlkZSIsIDApLCB1ICYmIHAuaGlkZV9vbmxlYXZlICYmIHcoZC5maW5kKCIudHAtdGFicyIpLCBwLCAiaGlkZSIsIDApLCByICYmIHYoZC5maW5kKCIudHAtdGh1bWJzIiksIHMpLCB1ICYmIHYoZC5maW5kKCIudHAtdGFicyIpLCBzKSwgImNhcm91c2VsIiA9PT0gcy5zbGlkZXJUeXBlICYmIHYobywgcywgITApLCAoIm9uIiA9PT0gcy5uYXZpZ2F0aW9uLnRvdWNoLnRvdWNoT25EZXNrdG9wIHx8ICJvbiIgPT0gcy5uYXZpZ2F0aW9uLnRvdWNoLnRvdWNoZW5hYmxlZCAmJiBJKSAmJiB2KG8sIHMsICJzd2lwZWJhc2VkIikKICAgICAgICB9CiAgICB9KTsKICAgIHZhciBjID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9ICh0Lmhhc0NsYXNzKCJ0cC10aHVtYnMiKSwgdC5oYXNDbGFzcygidHAtdGh1bWJzIikgPyAiLnRwLXRodW1iLW1hc2siIDogIi50cC10YWItbWFzayIpLAogICAgICAgICAgICAgICAgYSA9IHQuaGFzQ2xhc3MoInRwLXRodW1icyIpID8gIi50cC10aHVtYnMtaW5uZXItd3JhcHBlciIgOiAiLnRwLXRhYnMtaW5uZXItd3JhcHBlciIsCiAgICAgICAgICAgICAgICBuID0gdC5oYXNDbGFzcygidHAtdGh1bWJzIikgPyAiLnRwLXRodW1iIiA6ICIudHAtdGFiIiwKICAgICAgICAgICAgICAgIHIgPSB0LmZpbmQoaSksCiAgICAgICAgICAgICAgICBvID0gci5maW5kKGEpLAogICAgICAgICAgICAgICAgcyA9IGUuZGlyZWN0aW9uLAogICAgICAgICAgICAgICAgZCA9ICJ2ZXJ0aWNhbCIgPT09IHMgPyByLmZpbmQobikuZmlyc3QoKS5vdXRlckhlaWdodCghMCkgKyBlLnNwYWNlIDogci5maW5kKG4pLmZpcnN0KCkub3V0ZXJXaWR0aCghMCkgKyBlLnNwYWNlLAogICAgICAgICAgICAgICAgbCA9ICJ2ZXJ0aWNhbCIgPT09IHMgPyByLmhlaWdodCgpIDogci53aWR0aCgpLAogICAgICAgICAgICAgICAgaCA9IHBhcnNlSW50KHIuZmluZChuICsgIi5zZWxlY3RlZCIpLmRhdGEoImxpaW5kZXgiKSwgMCksCiAgICAgICAgICAgICAgICBwID0gbCAvIGQsCiAgICAgICAgICAgICAgICB1ID0gInZlcnRpY2FsIiA9PT0gcyA/IHIuaGVpZ2h0KCkgOiByLndpZHRoKCksCiAgICAgICAgICAgICAgICBjID0gMCAtIGggKiBkLAogICAgICAgICAgICAgICAgZyA9ICJ2ZXJ0aWNhbCIgPT09IHMgPyBvLmhlaWdodCgpIDogby53aWR0aCgpLAogICAgICAgICAgICAgICAgdiA9IGMgPCAwIC0gKGcgLSB1KSA/IDAgLSAoZyAtIHUpIDogMCA8IHYgPyAwIDogYywKICAgICAgICAgICAgICAgIGYgPSBvLmRhdGEoIm9mZnNldCIpOwogICAgICAgICAgICAyIDwgcCAmJiAodiA9IGMgLSAoZiArIGQpIDw9IDAgPyBjIC0gKGYgKyBkKSA8IDAgLSBkID8gZiA6IHYgKyBkIDogdiwgdiA9IGMgLSBkICsgZiArIGwgPCBkICYmIGMgKyAoTWF0aC5yb3VuZChwKSAtIDIpICogZCA8IGYgPyBjICsgKE1hdGgucm91bmQocCkgLSAyKSAqIGQgOiB2KSwgdiA9IHYgPCAwIC0gKGcgLSB1KSA/IDAgLSAoZyAtIHUpIDogMCA8IHYgPyAwIDogdiwgInZlcnRpY2FsIiAhPT0gcyAmJiByLndpZHRoKCkgPj0gby53aWR0aCgpICYmICh2ID0gMCksICJ2ZXJ0aWNhbCIgPT09IHMgJiYgci5oZWlnaHQoKSA+PSBvLmhlaWdodCgpICYmICh2ID0gMCksIHQuaGFzQ2xhc3MoImRyYWdnZWQiKSB8fCAoInZlcnRpY2FsIiA9PT0gcyA/IG8uZGF0YSgidG1tb3ZlIiwgcHVuY2hncy5Ud2VlbkxpdGUudG8obywgLjUsIHsKICAgICAgICAgICAgICAgIHRvcDogdiArICJweCIsCiAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQKICAgICAgICAgICAgfSkpIDogby5kYXRhKCJ0bW1vdmUiLCBwdW5jaGdzLlR3ZWVuTGl0ZS50byhvLCAuNSwgewogICAgICAgICAgICAgICAgbGVmdDogdiArICJweCIsCiAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQKICAgICAgICAgICAgfSkpLCBvLmRhdGEoIm9mZnNldCIsIHYpKQogICAgICAgIH0sCiAgICAgICAgZCA9IGZ1bmN0aW9uKHQsIGksIGUsIGEsIG4sIHIpIHsKICAgICAgICAgICAgdmFyIG8gPSBlLnBhcmVudCgpLmZpbmQoIi50cC0iICsgciArICJzIiksCiAgICAgICAgICAgICAgICBzID0gby5maW5kKCIudHAtIiArIHIgKyAicy1pbm5lci13cmFwcGVyIiksCiAgICAgICAgICAgICAgICBkID0gby5maW5kKCIudHAtIiArIHIgKyAiLW1hc2siKSwKICAgICAgICAgICAgICAgIGwgPSBhLndpZHRoICogdCA8IGEubWluX3dpZHRoID8gYS5taW5fd2lkdGggOiBNYXRoLnJvdW5kKGEud2lkdGggKiB0KSwKICAgICAgICAgICAgICAgIGggPSBNYXRoLnJvdW5kKGwgLyBhLndpZHRoICogYS5oZWlnaHQpLAogICAgICAgICAgICAgICAgcCA9ICJ2ZXJ0aWNhbCIgPT09IGEuZGlyZWN0aW9uID8gbCA6IGwgKiBuICsgYS5zcGFjZSAqIChuIC0gMSksCiAgICAgICAgICAgICAgICB1ID0gInZlcnRpY2FsIiA9PT0gYS5kaXJlY3Rpb24gPyBoICogbiArIGEuc3BhY2UgKiAobiAtIDEpIDogaCwKICAgICAgICAgICAgICAgIGMgPSAidmVydGljYWwiID09PSBhLmRpcmVjdGlvbiA/IHsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogbCArICJweCIKICAgICAgICAgICAgICAgIH0gOiB7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBoICsgInB4IgogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgaS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KG8sIGMpKSwgaS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KHMsIHsKICAgICAgICAgICAgICAgIHdpZHRoOiBwICsgInB4IiwKICAgICAgICAgICAgICAgIGhlaWdodDogdSArICJweCIKICAgICAgICAgICAgfSkpLCBpLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZCwgewogICAgICAgICAgICAgICAgd2lkdGg6IHAgKyAicHgiLAogICAgICAgICAgICAgICAgaGVpZ2h0OiB1ICsgInB4IgogICAgICAgICAgICB9KSk7CiAgICAgICAgICAgIHZhciBnID0gcy5maW5kKCIudHAtIiArIHIpOwogICAgICAgICAgICByZXR1cm4gZyAmJiBqUXVlcnkuZWFjaChnLCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAidmVydGljYWwiID09PSBhLmRpcmVjdGlvbiA/IGkuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLCB7CiAgICAgICAgICAgICAgICAgICAgdG9wOiB0ICogKGggKyBwYXJzZUludCh2b2lkIDAgPT09IGEuc3BhY2UgPyAwIDogYS5zcGFjZSwgMCkpLAogICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsICsgInB4IiwKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGggKyAicHgiCiAgICAgICAgICAgICAgICB9KSkgOiAiaG9yaXpvbnRhbCIgPT09IGEuZGlyZWN0aW9uICYmIGkuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLCB7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogdCAqIChsICsgcGFyc2VJbnQodm9pZCAwID09PSBhLnNwYWNlID8gMCA6IGEuc3BhY2UsIDApKSwKICAgICAgICAgICAgICAgICAgICB3aWR0aDogbCArICJweCIsCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBoICsgInB4IgogICAgICAgICAgICAgICAgfSkpCiAgICAgICAgICAgIH0pLCBpCiAgICAgICAgfSwKICAgICAgICBpID0gZnVuY3Rpb24oZSwgaSkgewogICAgICAgICAgICAib24iID09PSBpLm5hdmlnYXRpb24ua2V5Ym9hcmROYXZpZ2F0aW9uICYmIGpRdWVyeShkb2N1bWVudCkua2V5ZG93bihmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAoImhvcml6b250YWwiID09IGkubmF2aWdhdGlvbi5rZXlib2FyZF9kaXJlY3Rpb24gJiYgMzkgPT0gdC5rZXlDb2RlIHx8ICJ2ZXJ0aWNhbCIgPT0gaS5uYXZpZ2F0aW9uLmtleWJvYXJkX2RpcmVjdGlvbiAmJiA0MCA9PSB0LmtleUNvZGUpICYmIChpLnNjX2luZGljYXRvciA9ICJhcnJvdyIsIGkuc2NfaW5kaWNhdG9yX2RpciA9IDAsIE8uY2FsbGluZ05ld1NsaWRlKGUsIDEpKSwgKCJob3Jpem9udGFsIiA9PSBpLm5hdmlnYXRpb24ua2V5Ym9hcmRfZGlyZWN0aW9uICYmIDM3ID09IHQua2V5Q29kZSB8fCAidmVydGljYWwiID09IGkubmF2aWdhdGlvbi5rZXlib2FyZF9kaXJlY3Rpb24gJiYgMzggPT0gdC5rZXlDb2RlKSAmJiAoaS5zY19pbmRpY2F0b3IgPSAiYXJyb3ciLCBpLnNjX2luZGljYXRvcl9kaXIgPSAxLCBPLmNhbGxpbmdOZXdTbGlkZShlLCAtMSkpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICBnID0gZnVuY3Rpb24oZywgdikgewogICAgICAgICAgICBpZiAoIm9uIiA9PT0gdi5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsTmF2aWdhdGlvbiB8fCAiY2Fyb3VzZWwiID09PSB2Lm5hdmlnYXRpb24ubW91c2VTY3JvbGxOYXZpZ2F0aW9uKSB7CiAgICAgICAgICAgICAgICB2LmlzSUVFbGV2ZW4gPSAhIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1RyaWRlbnQuKnJ2XDoxMVwuLyksIHYuaXNTYWZhcmkgPSAhIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL3NhZmFyaS9pKSwgdi5pc2Nocm9tZSA9ICEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvY2hyb21lL2kpOwogICAgICAgICAgICAgICAgdmFyIGYgPSB2LmlzY2hyb21lID8gLTQ5IDogdi5pc0lFRWxldmVuIHx8IHYuaXNTYWZhcmkgPyAtOSA6IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21vemlsbGEvaSkgPyAtMjkgOiAtNDksCiAgICAgICAgICAgICAgICAgICAgbSA9IHYuaXNjaHJvbWUgPyA0OSA6IHYuaXNJRUVsZXZlbiB8fCB2LmlzU2FmYXJpID8gOSA6IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21vemlsbGEvaSkgPyAyOSA6IDQ5OwogICAgICAgICAgICAgICAgZy5vbigibW91c2V3aGVlbCBET01Nb3VzZVNjcm9sbCIsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSwgaSwgYSwgbiwgciwgbyA9IChlID0gdC5vcmlnaW5hbEV2ZW50LCByID0gbiA9IGEgPSBpID0gMCwgImRldGFpbCIgaW4gZSAmJiAoYSA9IGUuZGV0YWlsKSwgIndoZWVsRGVsdGEiIGluIGUgJiYgKGEgPSAtZS53aGVlbERlbHRhIC8gMTIwKSwgIndoZWVsRGVsdGFZIiBpbiBlICYmIChhID0gLWUud2hlZWxEZWx0YVkgLyAxMjApLCAid2hlZWxEZWx0YVgiIGluIGUgJiYgKGkgPSAtZS53aGVlbERlbHRhWCAvIDEyMCksICJheGlzIiBpbiBlICYmIGUuYXhpcyA9PT0gZS5IT1JJWk9OVEFMX0FYSVMgJiYgKGkgPSBhLCBhID0gMCksIG4gPSAxICogaSwgciA9IDEgKiBhLCAiZGVsdGFZIiBpbiBlICYmIChyID0gZS5kZWx0YVkpLCAiZGVsdGFYIiBpbiBlICYmIChuID0gZS5kZWx0YVgpLCAobiB8fCByKSAmJiBlLmRlbHRhTW9kZSAmJiAoZS5kZWx0YU1vZGUsIG4gKj0gMSwgciAqPSAxKSwgbiAmJiAhaSAmJiAoaSA9IG4gPCAxID8gLTEgOiAxKSwgciAmJiAhYSAmJiAoYSA9IHIgPCAxID8gLTEgOiAxKSwgKDMwMCA8IChyID0gbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvbW96aWxsYS9pKSA/IDEwICogciA6IHIpIHx8IHIgPCAtMzAwKSAmJiAociAvPSAxMCksIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwaW5YOiBpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Bpblk6IGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXhlbFg6IG4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXhlbFk6IHIKICAgICAgICAgICAgICAgICAgICAgICAgfSksCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSBnLmZpbmQoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkuYWN0aXZlLXJldnNsaWRlIikuaW5kZXgoKSwKICAgICAgICAgICAgICAgICAgICAgICAgZCA9IGcuZmluZCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaS5wcm9jZXNzaW5nLXJldnNsaWRlIikuaW5kZXgoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbCA9IC0xICE9IHMgJiYgMCA9PSBzIHx8IC0xICE9IGQgJiYgMCA9PSBkLAogICAgICAgICAgICAgICAgICAgICAgICBoID0gLTEgIT0gcyAmJiBzID09IHYuc2xpZGVhbW91bnQgLSAxIHx8IDEgIT0gZCAmJiBkID09IHYuc2xpZGVhbW91bnQgLSAxLAogICAgICAgICAgICAgICAgICAgICAgICBwID0gITA7CiAgICAgICAgICAgICAgICAgICAgImNhcm91c2VsIiA9PSB2Lm5hdmlnYXRpb24ubW91c2VTY3JvbGxOYXZpZ2F0aW9uICYmIChsID0gaCA9ICExKSwgLTEgPT0gZCA/IG8ucGl4ZWxZIDwgZiA/IChsIHx8ICh2LnNjX2luZGljYXRvciA9ICJhcnJvdyIsICJyZXZlcnNlIiAhPT0gdi5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSAmJiAodi5zY19pbmRpY2F0b3JfZGlyID0gMSwgTy5jYWxsaW5nTmV3U2xpZGUoZywgLTEpKSwgcCA9ICExKSwgaCB8fCAodi5zY19pbmRpY2F0b3IgPSAiYXJyb3ciLCAicmV2ZXJzZSIgPT09IHYubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UgJiYgKHYuc2NfaW5kaWNhdG9yX2RpciA9IDAsIE8uY2FsbGluZ05ld1NsaWRlKGcsIDEpKSwgcCA9ICExKSkgOiBtIDwgby5waXhlbFkgJiYgKGggfHwgKHYuc2NfaW5kaWNhdG9yID0gImFycm93IiwgInJldmVyc2UiICE9PSB2Lm5hdmlnYXRpb24ubW91c2VTY3JvbGxSZXZlcnNlICYmICh2LnNjX2luZGljYXRvcl9kaXIgPSAwLCBPLmNhbGxpbmdOZXdTbGlkZShnLCAxKSksIHAgPSAhMSksIGwgfHwgKHYuc2NfaW5kaWNhdG9yID0gImFycm93IiwgInJldmVyc2UiID09PSB2Lm5hdmlnYXRpb24ubW91c2VTY3JvbGxSZXZlcnNlICYmICh2LnNjX2luZGljYXRvcl9kaXIgPSAxLCBPLmNhbGxpbmdOZXdTbGlkZShnLCAtMSkpLCBwID0gITEpKSA6IHAgPSAhMTsKICAgICAgICAgICAgICAgICAgICB2YXIgdSA9IHYuYy5vZmZzZXQoKS50b3AgLSBqUXVlcnkoImJvZHkiKS5zY3JvbGxUb3AoKSwKICAgICAgICAgICAgICAgICAgICAgICAgYyA9IHUgKyB2LmMuaGVpZ2h0KCk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJjYXJvdXNlbCIgIT0gdi5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsTmF2aWdhdGlvbiA/ICgicmV2ZXJzZSIgIT09IHYubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UgJiYgKDAgPCB1ICYmIDAgPCBvLnBpeGVsWSB8fCBjIDwgalF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkgJiYgby5waXhlbFkgPCAwKSAmJiAocCA9ICEwKSwgInJldmVyc2UiID09PSB2Lm5hdmlnYXRpb24ubW91c2VTY3JvbGxSZXZlcnNlICYmICh1IDwgMCAmJiBvLnBpeGVsWSA8IDAgfHwgYyA+IGpRdWVyeSh3aW5kb3cpLmhlaWdodCgpICYmIDAgPCBvLnBpeGVsWSkgJiYgKHAgPSAhMCkpIDogcCA9ICExLCAwID09IHAgPyAodC5wcmV2ZW50RGVmYXVsdCh0KSwgITEpIDogdm9pZCAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBIID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICByZXR1cm4gITAgPT09ICh0ID0gSSA/IGpRdWVyeShpLnRhcmdldCkuY2xvc2VzdCgiLiIgKyB0KS5sZW5ndGggfHwgalF1ZXJ5KGkuc3JjRWxlbWVudCkuY2xvc2VzdCgiLiIgKyB0KS5sZW5ndGggOiBqUXVlcnkoaS50b0VsZW1lbnQpLmNsb3Nlc3QoIi4iICsgdCkubGVuZ3RoIHx8IGpRdWVyeShpLm9yaWdpbmFsVGFyZ2V0KS5jbG9zZXN0KCIuIiArIHQpLmxlbmd0aCkgfHwgMSA9PT0gdCA/IDEgOiAwCiAgICAgICAgfSwKICAgICAgICB2ID0gZnVuY3Rpb24oQywgTCwgdCkgewogICAgICAgICAgICB2YXIgayA9IEwuY2Fyb3VzZWw7CiAgICAgICAgICAgIGpRdWVyeSgiLmJ1bGxldCwgLmJ1bGxldHMsIC50cC1idWxsZXRzLCAudHBhcnJvd3MiKS5hZGRDbGFzcygibm9Td2lwZSIpLCBrLkxpbWl0ID0gImVuZGxlc3MiOwogICAgICAgICAgICB2YXIgZSA9IChJIHx8IE8uZ2V0X2Jyb3dzZXIoKSwgQyksCiAgICAgICAgICAgICAgICBpID0gInZlcnRpY2FsIiA9PT0gTC5uYXZpZ2F0aW9uLnRodW1ibmFpbHMuZGlyZWN0aW9uIHx8ICJ2ZXJ0aWNhbCIgPT09IEwubmF2aWdhdGlvbi50YWJzLmRpcmVjdGlvbiA/ICJub25lIiA6ICJ2ZXJ0aWNhbCIsCiAgICAgICAgICAgICAgICBRID0gTC5uYXZpZ2F0aW9uLnRvdWNoLnN3aXBlX2RpcmVjdGlvbiB8fCAiaG9yaXpvbnRhbCI7CiAgICAgICAgICAgIGkgPSAic3dpcGViYXNlZCIgPT0gdCAmJiAidmVydGljYWwiID09IFEgPyAibm9uZSIgOiB0ID8gInZlcnRpY2FsIiA6IGksIGpRdWVyeS5mbi5zd2lwZXRwIHx8IChqUXVlcnkuZm4uc3dpcGV0cCA9IGpRdWVyeS5mbi5zd2lwZSksIGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzICYmIGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzLmV4Y2x1ZGVkRWxlbWVudHMgfHwgalF1ZXJ5LmZuLnN3aXBldHAuZGVmYXVsdHMgfHwgKGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzID0gbmV3IE9iamVjdCksIGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzLmV4Y2x1ZGVkRWxlbWVudHMgPSAibGFiZWwsIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIC5ub1N3aXBlIiwgZS5zd2lwZXRwKHsKICAgICAgICAgICAgICAgIGFsbG93UGFnZVNjcm9sbDogaSwKICAgICAgICAgICAgICAgIHRyaWdnZXJPblRvdWNoTGVhdmU6ICEwLAogICAgICAgICAgICAgICAgdHJlc2hvbGQ6IEwubmF2aWdhdGlvbi50b3VjaC5zd2lwZV90cmVzaG9sZCwKICAgICAgICAgICAgICAgIGZpbmdlcnM6IEwubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9taW5fdG91Y2hlcywKICAgICAgICAgICAgICAgIGV4Y2x1ZGVFbGVtZW50czogalF1ZXJ5LmZuLnN3aXBldHAuZGVmYXVsdHMuZXhjbHVkZWRFbGVtZW50cywKICAgICAgICAgICAgICAgIHN3aXBlU3RhdHVzOiBmdW5jdGlvbih0LCBlLCBpLCBhLCBuLCByLCBvKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHMgPSBIKCJyZXZfc2xpZGVyX3dyYXBwZXIiLCAwLCB0KSwKICAgICAgICAgICAgICAgICAgICAgICAgZCA9IEgoInRwLXRodW1icyIsIDAsIHQpLAogICAgICAgICAgICAgICAgICAgICAgICBsID0gSCgidHAtdGFicyIsIDAsIHQpLAogICAgICAgICAgICAgICAgICAgICAgICBoID0gISFqUXVlcnkodGhpcykuYXR0cigiY2xhc3MiKS5tYXRjaCgvdHAtdGFic3x0cC10aHVtYi9naSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCJjYXJvdXNlbCIgPT09IEwuc2xpZGVyVHlwZSAmJiAoKCJtb3ZlIiA9PT0gZSB8fCAiZW5kIiA9PT0gZSB8fCAiY2FuY2VsIiA9PSBlKSAmJiBMLmRyYWdTdGFydGVkT3ZlclNsaWRlciAmJiAhTC5kcmFnU3RhcnRlZE92ZXJUaHVtYnMgJiYgIUwuZHJhZ1N0YXJ0ZWRPdmVyVGFicyB8fCAic3RhcnQiID09PSBlICYmIDAgPCBzICYmIDAgPT09IGQgJiYgMCA9PT0gbCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEkgJiYgKCJ1cCIgPT09IGkgfHwgImRvd24iID09PSBpKSkgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKEwuZHJhZ1N0YXJ0ZWRPdmVyU2xpZGVyID0gITAsIGEgPSBpICYmIGkubWF0Y2goL2xlZnR8dXAvZykgPyBNYXRoLnJvdW5kKC0xICogYSkgOiBhID0gTWF0aC5yb3VuZCgxICogYSksIGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgInN0YXJ0IjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkIDAgIT09IGsucG9zaXRpb25hbmltICYmIChrLnBvc2l0aW9uYW5pbS5raWxsKCksIGsuc2xpZGVfZ2xvYmFsb2Zmc2V0ID0gIm9mZiIgPT09IGsuaW5maW5pdHkgPyBrLnNsaWRlX29mZnNldCA6IE8uc2ltcChrLnNsaWRlX29mZnNldCwgay5tYXh3aWR0aCkpLCBrLm92ZXJwdWxsID0gIm5vbmUiLCBrLndyYXAuYWRkQ2xhc3MoImRyYWdnZWQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgIm1vdmUiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMLmMuZmluZCgiLnRwLXdpdGhhY3Rpb24iKS5hZGRDbGFzcygidHAtdGVtcG9yYXJ5ZGlzYWJsZWQiKSwgay5zbGlkZV9vZmZzZXQgPSAib2ZmIiA9PT0gay5pbmZpbml0eSA/IGsuc2xpZGVfZ2xvYmFsb2Zmc2V0ICsgYSA6IE8uc2ltcChrLnNsaWRlX2dsb2JhbG9mZnNldCArIGEsIGsubWF4d2lkdGgpLCAib2ZmIiA9PT0gay5pbmZpbml0eSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcCA9ICJjZW50ZXIiID09PSBrLmhvcml6b250YWxfYWxpZ24gPyAoay53cmFwd2lkdGggLyAyIC0gay5zbGlkZV93aWR0aCAvIDIgLSBrLnNsaWRlX29mZnNldCkgLyBrLnNsaWRlX3dpZHRoIDogKDAgLSBrLnNsaWRlX29mZnNldCkgLyBrLnNsaWRlX3dpZHRoOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm9uZSIgIT09IGsub3ZlcnB1bGwgJiYgMCAhPT0gay5vdmVycHVsbCB8fCAhKHAgPCAwIHx8IHAgPiBMLnNsaWRlYW1vdW50IC0gMSkgPyAwIDw9IHAgJiYgcCA8PSBMLnNsaWRlYW1vdW50IC0gMSAmJiAoMCA8PSBwICYmIGEgPiBrLm92ZXJwdWxsIHx8IHAgPD0gTC5zbGlkZWFtb3VudCAtIDEgJiYgYSA8IGsub3ZlcnB1bGwpICYmIChrLm92ZXJwdWxsID0gMCkgOiBrLm92ZXJwdWxsID0gYSwgay5zbGlkZV9vZmZzZXQgPSBwIDwgMCA/IGsuc2xpZGVfb2Zmc2V0ICsgKGsub3ZlcnB1bGwgLSBhKSAvIDEuMSArIE1hdGguc3FydChNYXRoLmFicygoay5vdmVycHVsbCAtIGEpIC8gMS4xKSkgOiBwID4gTC5zbGlkZWFtb3VudCAtIDEgPyBrLnNsaWRlX29mZnNldCArIChrLm92ZXJwdWxsIC0gYSkgLyAxLjEgLSBNYXRoLnNxcnQoTWF0aC5hYnMoKGsub3ZlcnB1bGwgLSBhKSAvIDEuMSkpIDogay5zbGlkZV9vZmZzZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTy5vcmdhbmlzZUNhcm91c2VsKEwsIGksICEwLCAhMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAiY2FuY2VsIjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrLnNsaWRlX2dsb2JhbG9mZnNldCA9IGsuc2xpZGVfb2Zmc2V0LCBrLndyYXAucmVtb3ZlQ2xhc3MoImRyYWdnZWQiKSwgTy5jYXJvdXNlbFRvRXZhbFBvc2l0aW9uKEwsIGkpLCBMLmRyYWdTdGFydGVkT3ZlclNsaWRlciA9ICExLCBMLmRyYWdTdGFydGVkT3ZlclRodW1icyA9ICExLCBMLmRyYWdTdGFydGVkT3ZlclRhYnMgPSAhMSwgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTC5jLmZpbmQoIi50cC13aXRoYWN0aW9uIikucmVtb3ZlQ2xhc3MoInRwLXRlbXBvcmFyeWRpc2FibGVkIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAxOSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoIm1vdmUiICE9PSBlICYmICJlbmQiICE9PSBlICYmICJjYW5jZWwiICE9IGUgfHwgTC5kcmFnU3RhcnRlZE92ZXJTbGlkZXIgfHwgIUwuZHJhZ1N0YXJ0ZWRPdmVyVGh1bWJzICYmICFMLmRyYWdTdGFydGVkT3ZlclRhYnMpICYmICEoInN0YXJ0IiA9PT0gZSAmJiAwIDwgcyAmJiAoMCA8IGQgfHwgMCA8IGwpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCJlbmQiID09IGUgJiYgIWgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTC5zY19pbmRpY2F0b3IgPSAiYXJyb3ciLCAiaG9yaXpvbnRhbCIgPT0gUSAmJiAibGVmdCIgPT0gaSB8fCAidmVydGljYWwiID09IFEgJiYgInVwIiA9PSBpKSByZXR1cm4gTC5zY19pbmRpY2F0b3JfZGlyID0gMCwgTy5jYWxsaW5nTmV3U2xpZGUoTC5jLCAxKSwgITE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCJob3Jpem9udGFsIiA9PSBRICYmICJyaWdodCIgPT0gaSB8fCAidmVydGljYWwiID09IFEgJiYgImRvd24iID09IGkpIHJldHVybiBMLnNjX2luZGljYXRvcl9kaXIgPSAxLCBPLmNhbGxpbmdOZXdTbGlkZShMLmMsIC0xKSwgITEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBMLmRyYWdTdGFydGVkT3ZlclNsaWRlciA9ICExLCBMLmRyYWdTdGFydGVkT3ZlclRodW1icyA9ICExLCAhKEwuZHJhZ1N0YXJ0ZWRPdmVyVGFicyA9ICExKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIDAgPCBkICYmIChMLmRyYWdTdGFydGVkT3ZlclRodW1icyA9ICEwKSwgMCA8IGwgJiYgKEwuZHJhZ1N0YXJ0ZWRPdmVyVGFicyA9ICEwKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHUgPSBMLmRyYWdTdGFydGVkT3ZlclRodW1icyA/ICIudHAtdGh1bWJzIiA6ICIudHAtdGFicyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjID0gTC5kcmFnU3RhcnRlZE92ZXJUaHVtYnMgPyAiLnRwLXRodW1iLW1hc2siIDogIi50cC10YWItbWFzayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnID0gTC5kcmFnU3RhcnRlZE92ZXJUaHVtYnMgPyAiLnRwLXRodW1icy1pbm5lci13cmFwcGVyIiA6ICIudHAtdGFicy1pbm5lci13cmFwcGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYgPSBMLmRyYWdTdGFydGVkT3ZlclRodW1icyA/ICIudHAtdGh1bWIiIDogIi50cC10YWIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZiA9IEwuZHJhZ1N0YXJ0ZWRPdmVyVGh1bWJzID8gTC5uYXZpZ2F0aW9uLnRodW1ibmFpbHMgOiBMLm5hdmlnYXRpb24udGFiczsKICAgICAgICAgICAgICAgICAgICAgICAgYSA9IGkgJiYgaS5tYXRjaCgvbGVmdHx1cC9nKSA/IE1hdGgucm91bmQoLTEgKiBhKSA6IGEgPSBNYXRoLnJvdW5kKDEgKiBhKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG0gPSBDLnBhcmVudCgpLmZpbmQoYyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiID0gbS5maW5kKGcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdyA9IGYuZGlyZWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgXyA9ICJ2ZXJ0aWNhbCIgPT09IHcgPyBiLmhlaWdodCgpIDogYi53aWR0aCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeCA9ICJ2ZXJ0aWNhbCIgPT09IHcgPyBtLmhlaWdodCgpIDogbS53aWR0aCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeSA9ICJ2ZXJ0aWNhbCIgPT09IHcgPyBtLmZpbmQodikuZmlyc3QoKS5vdXRlckhlaWdodCghMCkgKyBmLnNwYWNlIDogbS5maW5kKHYpLmZpcnN0KCkub3V0ZXJXaWR0aCghMCkgKyBmLnNwYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgVCA9IHZvaWQgMCA9PT0gYi5kYXRhKCJvZmZzZXQiKSA/IDAgOiBwYXJzZUludChiLmRhdGEoIm9mZnNldCIpLCAwKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFMgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgInN0YXJ0IjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDLnBhcmVudCgpLmZpbmQodSkuYWRkQ2xhc3MoImRyYWdnZWQiKSwgVCA9ICJ2ZXJ0aWNhbCIgPT09IHcgPyBiLnBvc2l0aW9uKCkudG9wIDogYi5wb3NpdGlvbigpLmxlZnQsIGIuZGF0YSgib2Zmc2V0IiwgVCksIGIuZGF0YSgidG1tb3ZlIikgJiYgYi5kYXRhKCJ0bW1vdmUiKS5wYXVzZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAibW92ZSI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF8gPD0geCkgcmV0dXJuICExOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFMgPSAwIDwgKFMgPSBUICsgYSkgPyAiaG9yaXpvbnRhbCIgPT09IHcgPyBTIC0gYi53aWR0aCgpICogKFMgLyBiLndpZHRoKCkgKiBTIC8gYi53aWR0aCgpKSA6IFMgLSBiLmhlaWdodCgpICogKFMgLyBiLmhlaWdodCgpICogUyAvIGIuaGVpZ2h0KCkpIDogUzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaiA9ICJ2ZXJ0aWNhbCIgPT09IHcgPyAwIC0gKGIuaGVpZ2h0KCkgLSBtLmhlaWdodCgpKSA6IDAgLSAoYi53aWR0aCgpIC0gbS53aWR0aCgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTID0gUyA8IGogPyAiaG9yaXpvbnRhbCIgPT09IHcgPyBTICsgYi53aWR0aCgpICogKFMgLSBqKSAvIGIud2lkdGgoKSAqIChTIC0gaikgLyBiLndpZHRoKCkgOiBTICsgYi5oZWlnaHQoKSAqIChTIC0gaikgLyBiLmhlaWdodCgpICogKFMgLSBqKSAvIGIuaGVpZ2h0KCkgOiBTLCAidmVydGljYWwiID09PSB3ID8gcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGIsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBTICsgInB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pIDogcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGIsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogUyArICJweCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJjYW5jZWwiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoKSByZXR1cm4gUyA9IFQgKyBhLCBTID0gMCA8IChTID0gInZlcnRpY2FsIiA9PT0gdyA/IFMgPCAwIC0gKGIuaGVpZ2h0KCkgLSBtLmhlaWdodCgpKSA/IDAgLSAoYi5oZWlnaHQoKSAtIG0uaGVpZ2h0KCkpIDogUyA6IFMgPCAwIC0gKGIud2lkdGgoKSAtIG0ud2lkdGgoKSkgPyAwIC0gKGIud2lkdGgoKSAtIG0ud2lkdGgoKSkgOiBTKSA/IDAgOiBTLCBTID0gTWF0aC5hYnMoYSkgPiB5IC8gMTAgPyBhIDw9IDAgPyBNYXRoLmZsb29yKFMgLyB5KSAqIHkgOiBNYXRoLmNlaWwoUyAvIHkpICogeSA6IGEgPCAwID8gTWF0aC5jZWlsKFMgLyB5KSAqIHkgOiBNYXRoLmZsb29yKFMgLyB5KSAqIHksIFMgPSAwIDwgKFMgPSAidmVydGljYWwiID09PSB3ID8gUyA8IDAgLSAoYi5oZWlnaHQoKSAtIG0uaGVpZ2h0KCkpID8gMCAtIChiLmhlaWdodCgpIC0gbS5oZWlnaHQoKSkgOiBTIDogUyA8IDAgLSAoYi53aWR0aCgpIC0gbS53aWR0aCgpKSA/IDAgLSAoYi53aWR0aCgpIC0gbS53aWR0aCgpKSA6IFMpID8gMCA6IFMsICJ2ZXJ0aWNhbCIgPT09IHcgPyBwdW5jaGdzLlR3ZWVuTGl0ZS50byhiLCAuNSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IFMgKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlT3V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgOiBwdW5jaGdzLlR3ZWVuTGl0ZS50byhiLCAuNSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBTICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5Qb3dlcjMuZWFzZU91dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBTID0gUyB8fCAoInZlcnRpY2FsIiA9PT0gdyA/IGIucG9zaXRpb24oKS50b3AgOiBiLnBvc2l0aW9uKCkubGVmdCksIGIuZGF0YSgib2Zmc2V0IiwgUyksIGIuZGF0YSgiZGlzdGFuY2UiLCBhKSwgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTC5kcmFnU3RhcnRlZE92ZXJTbGlkZXIgPSAhMSwgTC5kcmFnU3RhcnRlZE92ZXJUaHVtYnMgPSAhMSwgTC5kcmFnU3RhcnRlZE92ZXJUYWJzID0gITEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAxMDApLCBDLnBhcmVudCgpLmZpbmQodSkucmVtb3ZlQ2xhc3MoImRyYWdnZWQiKSwgITEKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIGYgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHQuaGlkZV9kZWxheSA9IGpRdWVyeS5pc051bWVyaWMocGFyc2VJbnQodC5oaWRlX2RlbGF5LCAwKSkgPyB0LmhpZGVfZGVsYXkgLyAxZTMgOiAuMiwgdC5oaWRlX2RlbGF5X21vYmlsZSA9IGpRdWVyeS5pc051bWVyaWMocGFyc2VJbnQodC5oaWRlX2RlbGF5X21vYmlsZSwgMCkpID8gdC5oaWRlX2RlbGF5X21vYmlsZSAvIDFlMyA6IC4yCiAgICAgICAgfSwKICAgICAgICBtID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdCAmJiB0LmVuYWJsZQogICAgICAgIH0sCiAgICAgICAgYSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgcmV0dXJuIHQgJiYgdC5lbmFibGUgJiYgITAgPT09IHQuaGlkZV9vbmxlYXZlICYmICh2b2lkIDAgPT09IHQucG9zaXRpb24gfHwgIXQucG9zaXRpb24ubWF0Y2goL291dGVyL2cpKQogICAgICAgIH0sCiAgICAgICAgYiA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgdmFyIGkgPSB0LnBhcmVudCgpOwogICAgICAgICAgICBhKGUubmF2aWdhdGlvbi5hcnJvd3MpICYmIHB1bmNoZ3MuVHdlZW5MaXRlLmRlbGF5ZWRDYWxsKEkgPyBlLm5hdmlnYXRpb24uYXJyb3dzLmhpZGVfZGVsYXlfbW9iaWxlIDogZS5uYXZpZ2F0aW9uLmFycm93cy5oaWRlX2RlbGF5LCB3LCBbaS5maW5kKCIudHBhcnJvd3MiKSwgZS5uYXZpZ2F0aW9uLmFycm93cywgImhpZGUiXSksIGEoZS5uYXZpZ2F0aW9uLmJ1bGxldHMpICYmIHB1bmNoZ3MuVHdlZW5MaXRlLmRlbGF5ZWRDYWxsKEkgPyBlLm5hdmlnYXRpb24uYnVsbGV0cy5oaWRlX2RlbGF5X21vYmlsZSA6IGUubmF2aWdhdGlvbi5idWxsZXRzLmhpZGVfZGVsYXksIHcsIFtpLmZpbmQoIi50cC1idWxsZXRzIiksIGUubmF2aWdhdGlvbi5idWxsZXRzLCAiaGlkZSJdKSwgYShlLm5hdmlnYXRpb24udGh1bWJuYWlscykgJiYgcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoSSA/IGUubmF2aWdhdGlvbi50aHVtYm5haWxzLmhpZGVfZGVsYXlfbW9iaWxlIDogZS5uYXZpZ2F0aW9uLnRodW1ibmFpbHMuaGlkZV9kZWxheSwgdywgW2kuZmluZCgiLnRwLXRodW1icyIpLCBlLm5hdmlnYXRpb24udGh1bWJuYWlscywgImhpZGUiXSksIGEoZS5uYXZpZ2F0aW9uLnRhYnMpICYmIHB1bmNoZ3MuVHdlZW5MaXRlLmRlbGF5ZWRDYWxsKEkgPyBlLm5hdmlnYXRpb24udGFicy5oaWRlX2RlbGF5X21vYmlsZSA6IGUubmF2aWdhdGlvbi50YWJzLmhpZGVfZGVsYXksIHcsIFtpLmZpbmQoIi50cC10YWJzIiksIGUubmF2aWdhdGlvbi50YWJzLCAiaGlkZSJdKQogICAgICAgIH0sCiAgICAgICAgdyA9IGZ1bmN0aW9uKHQsIGUsIGksIGEpIHsKICAgICAgICAgICAgc3dpdGNoIChhID0gdm9pZCAwID09PSBhID8gLjUgOiBhLCBpKSB7CiAgICAgICAgICAgICAgICBjYXNlICJzaG93IjoKICAgICAgICAgICAgICAgICAgICBwdW5jaGdzLlR3ZWVuTGl0ZS50byh0LCBhLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0LAogICAgICAgICAgICAgICAgICAgICAgICBvdmVyd3JpdGU6ICJhdXRvIgogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAiaGlkZSI6CiAgICAgICAgICAgICAgICAgICAgcHVuY2hncy5Ud2VlbkxpdGUudG8odCwgYSwgewogICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91LAogICAgICAgICAgICAgICAgICAgICAgICBvdmVyd3JpdGU6ICJhdXRvIgogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIF8gPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIGUuc3R5bGUgPSB2b2lkIDAgPT09IGUuc3R5bGUgPyAiIiA6IGUuc3R5bGUsIGUubGVmdC5zdHlsZSA9IHZvaWQgMCA9PT0gZS5sZWZ0LnN0eWxlID8gIiIgOiBlLmxlZnQuc3R5bGUsIGUucmlnaHQuc3R5bGUgPSB2b2lkIDAgPT09IGUucmlnaHQuc3R5bGUgPyAiIiA6IGUucmlnaHQuc3R5bGUsIDAgPT09IHQuZmluZCgiLnRwLWxlZnRhcnJvdy50cGFycm93cyIpLmxlbmd0aCAmJiB0LmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtbGVmdGFycm93IHRwYXJyb3dzICcgKyBlLnN0eWxlICsgIiAiICsgZS5sZWZ0LnN0eWxlICsgJyI+JyArIGUudG1wICsgIjwvZGl2PiIpLCAwID09PSB0LmZpbmQoIi50cC1yaWdodGFycm93LnRwYXJyb3dzIikubGVuZ3RoICYmIHQuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1yaWdodGFycm93IHRwYXJyb3dzICcgKyBlLnN0eWxlICsgIiAiICsgZS5yaWdodC5zdHlsZSArICciPicgKyBlLnRtcCArICI8L2Rpdj4iKTsKICAgICAgICAgICAgdmFyIGEgPSB0LmZpbmQoIi50cC1sZWZ0YXJyb3cudHBhcnJvd3MiKSwKICAgICAgICAgICAgICAgIG4gPSB0LmZpbmQoIi50cC1yaWdodGFycm93LnRwYXJyb3dzIik7CiAgICAgICAgICAgIGUucnRsID8gKGEuY2xpY2soZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpLnNjX2luZGljYXRvciA9ICJhcnJvdyIsIGkuc2NfaW5kaWNhdG9yX2RpciA9IDAsIHQucmV2bmV4dCgpCiAgICAgICAgICAgIH0pLCBuLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgaS5zY19pbmRpY2F0b3IgPSAiYXJyb3ciLCBpLnNjX2luZGljYXRvcl9kaXIgPSAxLCB0LnJldnByZXYoKQogICAgICAgICAgICB9KSkgOiAobi5jbGljayhmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGkuc2NfaW5kaWNhdG9yID0gImFycm93IiwgaS5zY19pbmRpY2F0b3JfZGlyID0gMCwgdC5yZXZuZXh0KCkKICAgICAgICAgICAgfSksIGEuY2xpY2soZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpLnNjX2luZGljYXRvciA9ICJhcnJvdyIsIGkuc2NfaW5kaWNhdG9yX2RpciA9IDEsIHQucmV2cHJldigpCiAgICAgICAgICAgIH0pKSwgZS5yaWdodC5qID0gdC5maW5kKCIudHAtcmlnaHRhcnJvdy50cGFycm93cyIpLCBlLmxlZnQuaiA9IHQuZmluZCgiLnRwLWxlZnRhcnJvdy50cGFycm93cyIpLCBlLnBhZGRpbmdfdG9wID0gcGFyc2VJbnQoaS5jYXJvdXNlbC5wYWRkaW5nX3RvcCB8fCAwLCAwKSwgZS5wYWRkaW5nX2JvdHRvbSA9IHBhcnNlSW50KGkuY2Fyb3VzZWwucGFkZGluZ19ib3R0b20gfHwgMCwgMCksIFQoYSwgZS5sZWZ0LCBpKSwgVChuLCBlLnJpZ2h0LCBpKSwgZS5sZWZ0Lm9wdCA9IGksIGUucmlnaHQub3B0ID0gaSwgIm91dGVyLWxlZnQiICE9IGUucG9zaXRpb24gJiYgIm91dGVyLXJpZ2h0IiAhPSBlLnBvc2l0aW9uIHx8IChpLm91dGVybmF2ID0gITApCiAgICAgICAgfSwKICAgICAgICB1ID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgYSA9IHQub3V0ZXJIZWlnaHQoITApLAogICAgICAgICAgICAgICAgbiA9ICh0Lm91dGVyV2lkdGgoITApLCBudWxsID09IGUub3B0ID8gMCA6IDAgPT0gaS5jb25oID8gaS5oZWlnaHQgOiBpLmNvbmgpLAogICAgICAgICAgICAgICAgciA9ICJsYXllcmdyaWQiID09IGUuY29udGFpbmVyID8gImZ1bGxzY3JlZW4iID09IGkuc2xpZGVyTGF5b3V0ID8gaS5oZWlnaHQgLyAyIC0gaS5ncmlkaGVpZ2h0W2kuY3VyV2luUmFuZ2VdICogaS5iaCAvIDIgOiAib24iID09IGkuYXV0b0hlaWdodCB8fCBudWxsICE9IGkubWluSGVpZ2h0ICYmIDAgPCBpLm1pbkhlaWdodCA/IG4gLyAyIC0gaS5ncmlkaGVpZ2h0W2kuY3VyV2luUmFuZ2VdICogaS5iaCAvIDIgOiAwIDogMCwKICAgICAgICAgICAgICAgIG8gPSAidG9wIiA9PT0gZS52X2FsaWduID8gewogICAgICAgICAgICAgICAgICAgIHRvcDogIjBweCIsCiAgICAgICAgICAgICAgICAgICAgeTogTWF0aC5yb3VuZChlLnZfb2Zmc2V0ICsgcikgKyAicHgiCiAgICAgICAgICAgICAgICB9IDogImNlbnRlciIgPT09IGUudl9hbGlnbiA/IHsKICAgICAgICAgICAgICAgICAgICB0b3A6ICI1MCUiLAogICAgICAgICAgICAgICAgICAgIHk6IE1hdGgucm91bmQoMCAtIGEgLyAyICsgZS52X29mZnNldCkgKyAicHgiCiAgICAgICAgICAgICAgICB9IDogewogICAgICAgICAgICAgICAgICAgIHRvcDogIjEwMCUiLAogICAgICAgICAgICAgICAgICAgIHk6IE1hdGgucm91bmQoMCAtIChhICsgZS52X29mZnNldCArIHIpKSArICJweCIKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIHQuaGFzQ2xhc3MoIm91dGVyLWJvdHRvbSIpIHx8IHB1bmNoZ3MuVHdlZW5MaXRlLnNldCh0LCBvKQogICAgICAgIH0sCiAgICAgICAgeCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIGEgPSAodC5vdXRlckhlaWdodCghMCksIHQub3V0ZXJXaWR0aCghMCkpLAogICAgICAgICAgICAgICAgbiA9ICJsYXllcmdyaWQiID09IGUuY29udGFpbmVyID8gImNhcm91c2VsIiA9PT0gaS5zbGlkZXJUeXBlID8gMCA6IGkud2lkdGggLyAyIC0gaS5ncmlkd2lkdGhbaS5jdXJXaW5SYW5nZV0gKiBpLmJ3IC8gMiA6IDAsCiAgICAgICAgICAgICAgICByID0gImxlZnQiID09PSBlLmhfYWxpZ24gPyB7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogIjBweCIsCiAgICAgICAgICAgICAgICAgICAgeDogTWF0aC5yb3VuZChlLmhfb2Zmc2V0ICsgbikgKyAicHgiCiAgICAgICAgICAgICAgICB9IDogImNlbnRlciIgPT09IGUuaF9hbGlnbiA/IHsKICAgICAgICAgICAgICAgICAgICBsZWZ0OiAiNTAlIiwKICAgICAgICAgICAgICAgICAgICB4OiBNYXRoLnJvdW5kKDAgLSBhIC8gMiArIGUuaF9vZmZzZXQpICsgInB4IgogICAgICAgICAgICAgICAgfSA6IHsKICAgICAgICAgICAgICAgICAgICBsZWZ0OiAiMTAwJSIsCiAgICAgICAgICAgICAgICAgICAgeDogTWF0aC5yb3VuZCgwIC0gKGEgKyBlLmhfb2Zmc2V0ICsgbikpICsgInB4IgogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KHQsIHIpCiAgICAgICAgfSwKICAgICAgICBUID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgYSA9IDAgPCB0LmNsb3Nlc3QoIi50cC1zaW1wbGVyZXNwb25zaXZlIikubGVuZ3RoID8gdC5jbG9zZXN0KCIudHAtc2ltcGxlcmVzcG9uc2l2ZSIpIDogMCA8IHQuY2xvc2VzdCgiLnRwLXJldnNsaWRlci1tYWludWwiKS5sZW5ndGggPyB0LmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItbWFpbnVsIikgOiAwIDwgdC5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIikubGVuZ3RoID8gdC5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIikgOiB0LnBhcmVudCgpLmZpbmQoIi50cC1yZXZzbGlkZXItbWFpbnVsIiksCiAgICAgICAgICAgICAgICBuID0gYS53aWR0aCgpLAogICAgICAgICAgICAgICAgciA9IGEuaGVpZ2h0KCk7CiAgICAgICAgICAgIGlmICh1KHQsIGUsIGkpLCB4KHQsIGUsIGkpLCAib3V0ZXItbGVmdCIgIT09IGUucG9zaXRpb24gfHwgImZ1bGx3aWR0aCIgIT0gZS5zbGlkZXJMYXlvdXQgJiYgImZ1bGxzY3JlZW4iICE9IGUuc2xpZGVyTGF5b3V0ID8gIm91dGVyLXJpZ2h0IiAhPT0gZS5wb3NpdGlvbiB8fCAiZnVsbHdpZHRoIiAhPSBlLnNsaWRlckxheW91dCAmJiAiZnVsbHNjcmVlbiIgIT0gZS5zbGlkZXJMYXlvdXQgfHwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KHQsIHsKICAgICAgICAgICAgICAgICAgICByaWdodDogMCAtIHQub3V0ZXJXaWR0aCgpICsgInB4IiwKICAgICAgICAgICAgICAgICAgICB4OiBlLmhfb2Zmc2V0ICsgInB4IgogICAgICAgICAgICAgICAgfSkgOiBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQodCwgewogICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAgLSB0Lm91dGVyV2lkdGgoKSArICJweCIsCiAgICAgICAgICAgICAgICAgICAgeDogZS5oX29mZnNldCArICJweCIKICAgICAgICAgICAgICAgIH0pLCB0Lmhhc0NsYXNzKCJ0cC10aHVtYnMiKSB8fCB0Lmhhc0NsYXNzKCJ0cC10YWJzIikpIHsKICAgICAgICAgICAgICAgIHZhciBvID0gdC5kYXRhKCJ3cl9wYWRkaW5nIiksCiAgICAgICAgICAgICAgICAgICAgcyA9IHQuZGF0YSgibWF4dyIpLAogICAgICAgICAgICAgICAgICAgIGQgPSB0LmRhdGEoIm1heGgiKSwKICAgICAgICAgICAgICAgICAgICBsID0gdC5oYXNDbGFzcygidHAtdGh1bWJzIikgPyB0LmZpbmQoIi50cC10aHVtYi1tYXNrIikgOiB0LmZpbmQoIi50cC10YWItbWFzayIpLAogICAgICAgICAgICAgICAgICAgIGggPSBwYXJzZUludChlLnBhZGRpbmdfdG9wIHx8IDAsIDApLAogICAgICAgICAgICAgICAgICAgIHAgPSBwYXJzZUludChlLnBhZGRpbmdfYm90dG9tIHx8IDAsIDApOwogICAgICAgICAgICAgICAgbiA8IHMgJiYgIm91dGVyLWxlZnQiICE9PSBlLnBvc2l0aW9uICYmICJvdXRlci1yaWdodCIgIT09IGUucG9zaXRpb24gPyAocHVuY2hncy5Ud2VlbkxpdGUuc2V0KHQsIHsKICAgICAgICAgICAgICAgICAgICBsZWZ0OiAiMHB4IiwKICAgICAgICAgICAgICAgICAgICB4OiAwLAogICAgICAgICAgICAgICAgICAgIG1heFdpZHRoOiBuIC0gMiAqIG8gKyAicHgiCiAgICAgICAgICAgICAgICB9KSwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGwsIHsKICAgICAgICAgICAgICAgICAgICBtYXhXaWR0aDogbiAtIDIgKiBvICsgInB4IgogICAgICAgICAgICAgICAgfSkpIDogKHB1bmNoZ3MuVHdlZW5MaXRlLnNldCh0LCB7CiAgICAgICAgICAgICAgICAgICAgbWF4V2lkdGg6IHMgKyAicHgiCiAgICAgICAgICAgICAgICB9KSwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGwsIHsKICAgICAgICAgICAgICAgICAgICBtYXhXaWR0aDogcyArICJweCIKICAgICAgICAgICAgICAgIH0pKSwgciA8IGQgKyAyICogbyAmJiAib3V0ZXItYm90dG9tIiAhPT0gZS5wb3NpdGlvbiAmJiAib3V0ZXItdG9wIiAhPT0gZS5wb3NpdGlvbiA/IChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQodCwgewogICAgICAgICAgICAgICAgICAgIHRvcDogIjBweCIsCiAgICAgICAgICAgICAgICAgICAgeTogMCwKICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IGggKyBwICsgKHIgLSAyICogbykgKyAicHgiCiAgICAgICAgICAgICAgICB9KSwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGwsIHsKICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IGggKyBwICsgKHIgLSAyICogbykgKyAicHgiCiAgICAgICAgICAgICAgICB9KSkgOiAocHVuY2hncy5Ud2VlbkxpdGUuc2V0KHQsIHsKICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IGQgKyAicHgiCiAgICAgICAgICAgICAgICB9KSwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGwsIHsKICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IGQgKyAicHgiCiAgICAgICAgICAgICAgICB9KSksICJvdXRlci1sZWZ0IiAhPT0gZS5wb3NpdGlvbiAmJiAib3V0ZXItcmlnaHQiICE9PSBlLnBvc2l0aW9uICYmIChwID0gaCA9IDApLCAhMCA9PT0gZS5zcGFuICYmICJ2ZXJ0aWNhbCIgPT09IGUuZGlyZWN0aW9uID8gKHB1bmNoZ3MuVHdlZW5MaXRlLnNldCh0LCB7CiAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBoICsgcCArIChyIC0gMiAqIG8pICsgInB4IiwKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGggKyBwICsgKHIgLSAyICogbykgKyAicHgiLAogICAgICAgICAgICAgICAgICAgIHRvcDogMCAtIGgsCiAgICAgICAgICAgICAgICAgICAgeTogMAogICAgICAgICAgICAgICAgfSksIHUobCwgZSwgaSkpIDogITAgPT09IGUuc3BhbiAmJiAiaG9yaXpvbnRhbCIgPT09IGUuZGlyZWN0aW9uICYmIChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQodCwgewogICAgICAgICAgICAgICAgICAgIG1heFdpZHRoOiAiMTAwJSIsCiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG4gLSAyICogbyArICJweCIsCiAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwKICAgICAgICAgICAgICAgICAgICB4OiAwCiAgICAgICAgICAgICAgICB9KSwgeChsLCBlLCBpKSkKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgeSA9IGZ1bmN0aW9uKHQsIGUsIGksIGEpIHsKICAgICAgICAgICAgMCA9PT0gdC5maW5kKCIudHAtYnVsbGV0cyIpLmxlbmd0aCAmJiAoZS5zdHlsZSA9IHZvaWQgMCA9PT0gZS5zdHlsZSA/ICIiIDogZS5zdHlsZSwgdC5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLWJ1bGxldHMgJyArIGUuc3R5bGUgKyAiICIgKyBlLmRpcmVjdGlvbiArICciPjwvZGl2PicpKTsKICAgICAgICAgICAgdmFyIG4gPSB0LmZpbmQoIi50cC1idWxsZXRzIiksCiAgICAgICAgICAgICAgICByID0gaS5kYXRhKCJpbmRleCIpLAogICAgICAgICAgICAgICAgbyA9IGUudG1wOwogICAgICAgICAgICBqUXVlcnkuZWFjaChhLnRodW1ic1tpLmluZGV4KCldLnBhcmFtcywgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgbyA9IG8ucmVwbGFjZShlLmZyb20sIGUudG8pCiAgICAgICAgICAgIH0pLCBuLmFwcGVuZCgnPGRpdiBjbGFzcz0ianVzdGFkZGVkYnVsbGV0IHRwLWJ1bGxldCI+JyArIG8gKyAiPC9kaXY+Iik7CiAgICAgICAgICAgIHZhciBzID0gdC5maW5kKCIuanVzdGFkZGVkYnVsbGV0IiksCiAgICAgICAgICAgICAgICBkID0gdC5maW5kKCIudHAtYnVsbGV0IikubGVuZ3RoLAogICAgICAgICAgICAgICAgbCA9IHMub3V0ZXJXaWR0aCgpICsgcGFyc2VJbnQodm9pZCAwID09PSBlLnNwYWNlID8gMCA6IGUuc3BhY2UsIDApLAogICAgICAgICAgICAgICAgaCA9IHMub3V0ZXJIZWlnaHQoKSArIHBhcnNlSW50KHZvaWQgMCA9PT0gZS5zcGFjZSA/IDAgOiBlLnNwYWNlLCAwKTsKICAgICAgICAgICAgInZlcnRpY2FsIiA9PT0gZS5kaXJlY3Rpb24gPyAocy5jc3MoewogICAgICAgICAgICAgICAgdG9wOiAoZCAtIDEpICogaCArICJweCIsCiAgICAgICAgICAgICAgICBsZWZ0OiAiMHB4IgogICAgICAgICAgICB9KSwgbi5jc3MoewogICAgICAgICAgICAgICAgaGVpZ2h0OiAoZCAtIDEpICogaCArIHMub3V0ZXJIZWlnaHQoKSwKICAgICAgICAgICAgICAgIHdpZHRoOiBzLm91dGVyV2lkdGgoKQogICAgICAgICAgICB9KSkgOiAocy5jc3MoewogICAgICAgICAgICAgICAgbGVmdDogKGQgLSAxKSAqIGwgKyAicHgiLAogICAgICAgICAgICAgICAgdG9wOiAiMHB4IgogICAgICAgICAgICB9KSwgbi5jc3MoewogICAgICAgICAgICAgICAgd2lkdGg6IChkIC0gMSkgKiBsICsgcy5vdXRlcldpZHRoKCksCiAgICAgICAgICAgICAgICBoZWlnaHQ6IHMub3V0ZXJIZWlnaHQoKQogICAgICAgICAgICB9KSksIHMuZmluZCgiLnRwLWJ1bGxldC1pbWFnZSIpLmNzcyh7CiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6ICJ1cmwoIiArIGEudGh1bWJzW2kuaW5kZXgoKV0uc3JjICsgIikiCiAgICAgICAgICAgIH0pLCBzLmRhdGEoImxpcmVmIiwgciksIHMuY2xpY2soZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBhLnNjX2luZGljYXRvciA9ICJidWxsZXQiLCB0LnJldmNhbGxzbGlkZXdpdGhpZChyKSwgdC5maW5kKCIudHAtYnVsbGV0IikucmVtb3ZlQ2xhc3MoInNlbGVjdGVkIiksIGpRdWVyeSh0aGlzKS5hZGRDbGFzcygic2VsZWN0ZWQiKQogICAgICAgICAgICB9KSwgcy5yZW1vdmVDbGFzcygianVzdGFkZGVkYnVsbGV0IiksIGUucGFkZGluZ190b3AgPSBwYXJzZUludChhLmNhcm91c2VsLnBhZGRpbmdfdG9wIHx8IDAsIDApLCBlLnBhZGRpbmdfYm90dG9tID0gcGFyc2VJbnQoYS5jYXJvdXNlbC5wYWRkaW5nX2JvdHRvbSB8fCAwLCAwKSwgZS5vcHQgPSBhLCAib3V0ZXItbGVmdCIgIT0gZS5wb3NpdGlvbiAmJiAib3V0ZXItcmlnaHQiICE9IGUucG9zaXRpb24gfHwgKGEub3V0ZXJuYXYgPSAhMCksIG4uYWRkQ2xhc3MoIm5hdi1wb3MtaG9yLSIgKyBlLmhfYWxpZ24pLCBuLmFkZENsYXNzKCJuYXYtcG9zLXZlci0iICsgZS52X2FsaWduKSwgbi5hZGRDbGFzcygibmF2LWRpci0iICsgZS5kaXJlY3Rpb24pLCBUKG4sIGUsIGEpCiAgICAgICAgfSwKICAgICAgICBTID0gZnVuY3Rpb24oZSwgdCwgaSwgYSwgbikgewogICAgICAgICAgICB2YXIgciA9ICJ0cC10aHVtYiIgPT09IGEgPyAiLnRwLXRodW1icyIgOiAiLnRwLXRhYnMiLAogICAgICAgICAgICAgICAgbyA9ICJ0cC10aHVtYiIgPT09IGEgPyAiLnRwLXRodW1iLW1hc2siIDogIi50cC10YWItbWFzayIsCiAgICAgICAgICAgICAgICBzID0gInRwLXRodW1iIiA9PT0gYSA/ICIudHAtdGh1bWJzLWlubmVyLXdyYXBwZXIiIDogIi50cC10YWJzLWlubmVyLXdyYXBwZXIiLAogICAgICAgICAgICAgICAgZCA9ICJ0cC10aHVtYiIgPT09IGEgPyAiLnRwLXRodW1iIiA6ICIudHAtdGFiIiwKICAgICAgICAgICAgICAgIGwgPSAidHAtdGh1bWIiID09PSBhID8gIi50cC10aHVtYi1pbWFnZSIgOiAiLnRwLXRhYi1pbWFnZSI7CiAgICAgICAgICAgIGlmICh0LnZpc2libGVBbW91bnQgPSB0LnZpc2libGVBbW91bnQgPiBuLnNsaWRlYW1vdW50ID8gbi5zbGlkZWFtb3VudCA6IHQudmlzaWJsZUFtb3VudCwgdC5zbGlkZXJMYXlvdXQgPSBuLnNsaWRlckxheW91dCwgMCA9PT0gZS5wYXJlbnQoKS5maW5kKHIpLmxlbmd0aCkgewogICAgICAgICAgICAgICAgdC5zdHlsZSA9IHZvaWQgMCA9PT0gdC5zdHlsZSA/ICIiIDogdC5zdHlsZTsKICAgICAgICAgICAgICAgIHZhciBoID0gJzxkaXYgY2xhc3M9IicgKyBhICsgInMgIiArICghMCA9PT0gdC5zcGFuID8gInRwLXNwYW4td3JhcHBlciIgOiAiIikgKyAiICIgKyB0LnBvc2l0aW9uICsgIiAiICsgdC5zdHlsZSArICciPjxkaXYgY2xhc3M9IicgKyBhICsgJy1tYXNrIj48ZGl2IGNsYXNzPSInICsgYSArICdzLWlubmVyLXdyYXBwZXIiIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPjwvZGl2PjwvZGl2PjwvZGl2Pic7CiAgICAgICAgICAgICAgICAib3V0ZXItdG9wIiA9PT0gdC5wb3NpdGlvbiA/IGUucGFyZW50KCkucHJlcGVuZChoKSA6ICJvdXRlci1ib3R0b20iID09PSB0LnBvc2l0aW9uID8gZS5hZnRlcihoKSA6IGUuYXBwZW5kKGgpLCB0LnBhZGRpbmdfdG9wID0gcGFyc2VJbnQobi5jYXJvdXNlbC5wYWRkaW5nX3RvcCB8fCAwLCAwKSwgdC5wYWRkaW5nX2JvdHRvbSA9IHBhcnNlSW50KG4uY2Fyb3VzZWwucGFkZGluZ19ib3R0b20gfHwgMCwgMCksICJvdXRlci1sZWZ0IiAhPSB0LnBvc2l0aW9uICYmICJvdXRlci1yaWdodCIgIT0gdC5wb3NpdGlvbiB8fCAobi5vdXRlcm5hdiA9ICEwKQogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBwID0gaS5kYXRhKCJpbmRleCIpLAogICAgICAgICAgICAgICAgdSA9IGUucGFyZW50KCkuZmluZChyKSwKICAgICAgICAgICAgICAgIGMgPSB1LmZpbmQobyksCiAgICAgICAgICAgICAgICBnID0gYy5maW5kKHMpLAogICAgICAgICAgICAgICAgdiA9ICJob3Jpem9udGFsIiA9PT0gdC5kaXJlY3Rpb24gPyB0LndpZHRoICogdC52aXNpYmxlQW1vdW50ICsgdC5zcGFjZSAqICh0LnZpc2libGVBbW91bnQgLSAxKSA6IHQud2lkdGgsCiAgICAgICAgICAgICAgICBmID0gImhvcml6b250YWwiID09PSB0LmRpcmVjdGlvbiA/IHQuaGVpZ2h0IDogdC5oZWlnaHQgKiB0LnZpc2libGVBbW91bnQgKyB0LnNwYWNlICogKHQudmlzaWJsZUFtb3VudCAtIDEpLAogICAgICAgICAgICAgICAgbSA9IHQudG1wOwogICAgICAgICAgICBqUXVlcnkuZWFjaChuLnRodW1ic1tpLmluZGV4KCldLnBhcmFtcywgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgbSA9IG0ucmVwbGFjZShlLmZyb20sIGUudG8pCiAgICAgICAgICAgIH0pLCBnLmFwcGVuZCgnPGRpdiBkYXRhLWxpaW5kZXg9IicgKyBpLmluZGV4KCkgKyAnIiBkYXRhLWxpcmVmPSInICsgcCArICciIGNsYXNzPSJqdXN0YWRkZWR0aHVtYiAnICsgYSArICciIHN0eWxlPSJ3aWR0aDonICsgdC53aWR0aCArICJweDtoZWlnaHQ6IiArIHQuaGVpZ2h0ICsgJ3B4OyI+JyArIG0gKyAiPC9kaXY+Iik7CiAgICAgICAgICAgIHZhciBiID0gdS5maW5kKCIuanVzdGFkZGVkdGh1bWIiKSwKICAgICAgICAgICAgICAgIHcgPSB1LmZpbmQoZCkubGVuZ3RoLAogICAgICAgICAgICAgICAgXyA9IGIub3V0ZXJXaWR0aCgpICsgcGFyc2VJbnQodm9pZCAwID09PSB0LnNwYWNlID8gMCA6IHQuc3BhY2UsIDApLAogICAgICAgICAgICAgICAgeCA9IGIub3V0ZXJIZWlnaHQoKSArIHBhcnNlSW50KHZvaWQgMCA9PT0gdC5zcGFjZSA/IDAgOiB0LnNwYWNlLCAwKTsKICAgICAgICAgICAgYi5maW5kKGwpLmNzcyh7CiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6ICJ1cmwoIiArIG4udGh1bWJzW2kuaW5kZXgoKV0uc3JjICsgIikiCiAgICAgICAgICAgIH0pLCAidmVydGljYWwiID09PSB0LmRpcmVjdGlvbiA/IChiLmNzcyh7CiAgICAgICAgICAgICAgICB0b3A6ICh3IC0gMSkgKiB4ICsgInB4IiwKICAgICAgICAgICAgICAgIGxlZnQ6ICIwcHgiCiAgICAgICAgICAgIH0pLCBnLmNzcyh7CiAgICAgICAgICAgICAgICBoZWlnaHQ6ICh3IC0gMSkgKiB4ICsgYi5vdXRlckhlaWdodCgpLAogICAgICAgICAgICAgICAgd2lkdGg6IGIub3V0ZXJXaWR0aCgpCiAgICAgICAgICAgIH0pKSA6IChiLmNzcyh7CiAgICAgICAgICAgICAgICBsZWZ0OiAodyAtIDEpICogXyArICJweCIsCiAgICAgICAgICAgICAgICB0b3A6ICIwcHgiCiAgICAgICAgICAgIH0pLCBnLmNzcyh7CiAgICAgICAgICAgICAgICB3aWR0aDogKHcgLSAxKSAqIF8gKyBiLm91dGVyV2lkdGgoKSwKICAgICAgICAgICAgICAgIGhlaWdodDogYi5vdXRlckhlaWdodCgpCiAgICAgICAgICAgIH0pKSwgdS5kYXRhKCJtYXh3IiwgdiksIHUuZGF0YSgibWF4aCIsIGYpLCB1LmRhdGEoIndyX3BhZGRpbmciLCB0LndyYXBwZXJfcGFkZGluZyk7CiAgICAgICAgICAgIHZhciB5ID0gIm91dGVyLXRvcCIgPT09IHQucG9zaXRpb24gfHwgIm91dGVyLWJvdHRvbSIgPT09IHQucG9zaXRpb24gPyAicmVsYXRpdmUiIDogImFic29sdXRlIjsKICAgICAgICAgICAgIm91dGVyLXRvcCIgIT09IHQucG9zaXRpb24gJiYgIm91dGVyLWJvdHRvbSIgIT09IHQucG9zaXRpb24gfHwgdC5oX2FsaWduLCBjLmNzcyh7CiAgICAgICAgICAgICAgICBtYXhXaWR0aDogdiArICJweCIsCiAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IGYgKyAicHgiLAogICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICJoaWRkZW4iLAogICAgICAgICAgICAgICAgcG9zaXRpb246ICJyZWxhdGl2ZSIKICAgICAgICAgICAgfSksIHUuY3NzKHsKICAgICAgICAgICAgICAgIG1heFdpZHRoOiB2ICsgInB4IiwKICAgICAgICAgICAgICAgIG1heEhlaWdodDogZiArICJweCIsCiAgICAgICAgICAgICAgICBvdmVyZmxvdzogInZpc2libGUiLAogICAgICAgICAgICAgICAgcG9zaXRpb246IHksCiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0LndyYXBwZXJfY29sb3IsCiAgICAgICAgICAgICAgICBwYWRkaW5nOiB0LndyYXBwZXJfcGFkZGluZyArICJweCIsCiAgICAgICAgICAgICAgICBib3hTaXppbmc6ICJjb250ZXQtYm94IgogICAgICAgICAgICB9KSwgYi5jbGljayhmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIG4uc2NfaW5kaWNhdG9yID0gImJ1bGxldCI7CiAgICAgICAgICAgICAgICB2YXIgdCA9IGUucGFyZW50KCkuZmluZChzKS5kYXRhKCJkaXN0YW5jZSIpOwogICAgICAgICAgICAgICAgdCA9IHZvaWQgMCA9PT0gdCA/IDAgOiB0LCBNYXRoLmFicyh0KSA8IDEwICYmIChlLnJldmNhbGxzbGlkZXdpdGhpZChwKSwgZS5wYXJlbnQoKS5maW5kKHIpLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpLCBqUXVlcnkodGhpcykuYWRkQ2xhc3MoInNlbGVjdGVkIikpCiAgICAgICAgICAgIH0pLCBiLnJlbW92ZUNsYXNzKCJqdXN0YWRkZWR0aHVtYiIpLCB0Lm9wdCA9IG4sIHUuYWRkQ2xhc3MoIm5hdi1wb3MtaG9yLSIgKyB0LmhfYWxpZ24pLCB1LmFkZENsYXNzKCJuYXYtcG9zLXZlci0iICsgdC52X2FsaWduKSwgdS5hZGRDbGFzcygibmF2LWRpci0iICsgdC5kaXJlY3Rpb24pLCBUKHUsIHQsIG4pCiAgICAgICAgfSwKICAgICAgICBsID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICB2YXIgZSA9IHQuYy5wYXJlbnQoKS5maW5kKCIub3V0ZXItdG9wIiksCiAgICAgICAgICAgICAgICBpID0gdC5jLnBhcmVudCgpLmZpbmQoIi5vdXRlci1ib3R0b20iKTsKICAgICAgICAgICAgdC50b3Bfb3V0ZXIgPSBlLmhhc0NsYXNzKCJ0cC1mb3JjZW5vdHZpc2libGUiKSA/IDAgOiBlLm91dGVySGVpZ2h0KCkgfHwgMCwgdC5ib3R0b21fb3V0ZXIgPSBpLmhhc0NsYXNzKCJ0cC1mb3JjZW5vdHZpc2libGUiKSA/IDAgOiBpLm91dGVySGVpZ2h0KCkgfHwgMAogICAgICAgIH0sCiAgICAgICAgbyA9IGZ1bmN0aW9uKHQsIGUsIGksIGEpIHsKICAgICAgICAgICAgaSA8IGUgfHwgYSA8IGkgPyB0LmFkZENsYXNzKCJ0cC1mb3JjZW5vdHZpc2libGUiKSA6IHQucmVtb3ZlQ2xhc3MoInRwLWZvcmNlbm90dmlzaWJsZSIpCiAgICAgICAgfQp9KGpRdWVyeSk7CiEgZnVuY3Rpb24odCkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIE8gPSBqUXVlcnkuZm4ucmV2b2x1dGlvbiwKICAgICAgICBJID0gTy5pc19tb2JpbGUoKSwKICAgICAgICBlID0gewogICAgICAgICAgICBhbGlhczogIk5hdmlnYXRpb24gTWluIEpTIiwKICAgICAgICAgICAgbmFtZTogInJldm9sdXRpb24uZXh0ZW5zaW9ucy5uYXZpZ2F0aW9uLm1pbi5qcyIsCiAgICAgICAgICAgIG1pbl9jb3JlOiAiNS40LjAiLAogICAgICAgICAgICB2ZXJzaW9uOiAiMS4zLjUiCiAgICAgICAgfTsKICAgIGpRdWVyeS5leHRlbmQoITAsIE8sIHsKICAgICAgICBoaWRlVW5IaWRlTmF2OiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdC5jLndpZHRoKCksCiAgICAgICAgICAgICAgICBpID0gdC5uYXZpZ2F0aW9uLmFycm93cywKICAgICAgICAgICAgICAgIGEgPSB0Lm5hdmlnYXRpb24uYnVsbGV0cywKICAgICAgICAgICAgICAgIG4gPSB0Lm5hdmlnYXRpb24udGh1bWJuYWlscywKICAgICAgICAgICAgICAgIHIgPSB0Lm5hdmlnYXRpb24udGFiczsKICAgICAgICAgICAgbShpKSAmJiBvKHQuYy5maW5kKCIudHBhcnJvd3MiKSwgaS5oaWRlX3VuZGVyLCBlLCBpLmhpZGVfb3ZlciksIG0oYSkgJiYgbyh0LmMuZmluZCgiLnRwLWJ1bGxldHMiKSwgYS5oaWRlX3VuZGVyLCBlLCBhLmhpZGVfb3ZlciksIG0obikgJiYgbyh0LmMucGFyZW50KCkuZmluZCgiLnRwLXRodW1icyIpLCBuLmhpZGVfdW5kZXIsIGUsIG4uaGlkZV9vdmVyKSwgbShyKSAmJiBvKHQuYy5wYXJlbnQoKS5maW5kKCIudHAtdGFicyIpLCByLmhpZGVfdW5kZXIsIGUsIHIuaGlkZV9vdmVyKSwgbCh0KQogICAgICAgIH0sCiAgICAgICAgcmVzaXplVGh1bWJzVGFiczogZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICBpZiAodC5uYXZpZ2F0aW9uICYmIHQubmF2aWdhdGlvbi50YWJzLmVuYWJsZSB8fCB0Lm5hdmlnYXRpb24gJiYgdC5uYXZpZ2F0aW9uLnRodW1ibmFpbHMuZW5hYmxlKSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IChqUXVlcnkod2luZG93KS53aWR0aCgpIC0gNDgwKSAvIDUwMCwKICAgICAgICAgICAgICAgICAgICBhID0gbmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlLAogICAgICAgICAgICAgICAgICAgIG4gPSB0Lm5hdmlnYXRpb24udGFicywKICAgICAgICAgICAgICAgICAgICByID0gdC5uYXZpZ2F0aW9uLnRodW1ibmFpbHMsCiAgICAgICAgICAgICAgICAgICAgbyA9IHQubmF2aWdhdGlvbi5idWxsZXRzOwogICAgICAgICAgICAgICAgaWYgKGEucGF1c2UoKSwgaSA9IDEgPCBpID8gMSA6IGkgPCAwID8gMCA6IGksIG0obikgJiYgKGUgfHwgbi53aWR0aCA+IG4ubWluX3dpZHRoKSAmJiBkKGksIGEsIHQuYywgbiwgdC5zbGlkZWFtb3VudCwgInRhYiIpLCBtKHIpICYmIChlIHx8IHIud2lkdGggPiByLm1pbl93aWR0aCkgJiYgZChpLCBhLCB0LmMsIHIsIHQuc2xpZGVhbW91bnQsICJ0aHVtYiIpLCBtKG8pICYmIGUpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcyA9IHQuYy5maW5kKCIudHAtYnVsbGV0cyIpOwogICAgICAgICAgICAgICAgICAgIHMuZmluZCgiLnRwLWJ1bGxldCIpLmVhY2goZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSB0ICsgMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBlLm91dGVyV2lkdGgoKSArIHBhcnNlSW50KHZvaWQgMCA9PT0gby5zcGFjZSA/IDAgOiBvLnNwYWNlLCAwKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG4gPSBlLm91dGVySGVpZ2h0KCkgKyBwYXJzZUludCh2b2lkIDAgPT09IG8uc3BhY2UgPyAwIDogby5zcGFjZSwgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2ZXJ0aWNhbCIgPT09IG8uZGlyZWN0aW9uID8gKGUuY3NzKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogKGkgLSAxKSAqIG4gKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogIjBweCIKICAgICAgICAgICAgICAgICAgICAgICAgfSksIHMuY3NzKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogKGkgLSAxKSAqIG4gKyBlLm91dGVySGVpZ2h0KCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogZS5vdXRlcldpZHRoKCkKICAgICAgICAgICAgICAgICAgICAgICAgfSkpIDogKGUuY3NzKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IChpIC0gMSkgKiBhICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogIjBweCIKICAgICAgICAgICAgICAgICAgICAgICAgfSksIHMuY3NzKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAoaSAtIDEpICogYSArIGUub3V0ZXJXaWR0aCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBlLm91dGVySGVpZ2h0KCkKICAgICAgICAgICAgICAgICAgICAgICAgfSkpCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGEucGxheSgpLCBsKHQpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICEwCiAgICAgICAgfSwKICAgICAgICB1cGRhdGVOYXZJbmRleGVzOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIGUodCkgewogICAgICAgICAgICAgICAgMCA8IGkuZmluZCh0KS5sZW5naHQgJiYgaS5maW5kKHQpLmVhY2goZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIGpRdWVyeSh0aGlzKS5kYXRhKCJsaWluZGV4IiwgdCkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIGkgPSB0LmM7CiAgICAgICAgICAgIGUoIi50cC10YWIiKSwgZSgiLnRwLWJ1bGxldCIpLCBlKCIudHAtdGh1bWIiKSwgTy5yZXNpemVUaHVtYnNUYWJzKHQsICEwKSwgTy5tYW5hZ2VOYXZpZ2F0aW9uKHQpCiAgICAgICAgfSwKICAgICAgICBtYW5hZ2VOYXZpZ2F0aW9uOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gTy5nZXRIb3Jpem9udGFsT2Zmc2V0KHQuYy5wYXJlbnQoKSwgImxlZnQiKSwKICAgICAgICAgICAgICAgIGkgPSBPLmdldEhvcml6b250YWxPZmZzZXQodC5jLnBhcmVudCgpLCAicmlnaHQiKTsKICAgICAgICAgICAgbSh0Lm5hdmlnYXRpb24uYnVsbGV0cykgJiYgKCJmdWxsc2NyZWVuIiAhPSB0LnNsaWRlckxheW91dCAmJiAiZnVsbHdpZHRoIiAhPSB0LnNsaWRlckxheW91dCAmJiAodC5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXRfb2xkID0gdm9pZCAwID09PSB0Lm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldF9vbGQgPyB0Lm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldCA6IHQubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZCwgdC5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXQgPSAiY2VudGVyIiA9PT0gdC5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9hbGlnbiA/IHQubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZCArIGUgLyAyIC0gaSAvIDIgOiB0Lm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldF9vbGQgKyBlIC0gaSksIFQodC5jLmZpbmQoIi50cC1idWxsZXRzIiksIHQubmF2aWdhdGlvbi5idWxsZXRzLCB0KSksIG0odC5uYXZpZ2F0aW9uLnRodW1ibmFpbHMpICYmIFQodC5jLnBhcmVudCgpLmZpbmQoIi50cC10aHVtYnMiKSwgdC5uYXZpZ2F0aW9uLnRodW1ibmFpbHMsIHQpLCBtKHQubmF2aWdhdGlvbi50YWJzKSAmJiBUKHQuYy5wYXJlbnQoKS5maW5kKCIudHAtdGFicyIpLCB0Lm5hdmlnYXRpb24udGFicywgdCksIG0odC5uYXZpZ2F0aW9uLmFycm93cykgJiYgKCJmdWxsc2NyZWVuIiAhPSB0LnNsaWRlckxheW91dCAmJiAiZnVsbHdpZHRoIiAhPSB0LnNsaWRlckxheW91dCAmJiAodC5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0Lmhfb2Zmc2V0X29sZCA9IHZvaWQgMCA9PT0gdC5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0Lmhfb2Zmc2V0X29sZCA/IHQubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldCA6IHQubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldF9vbGQsIHQubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldCA9ICJyaWdodCIgPT09IHQubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX2FsaWduID8gdC5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0Lmhfb2Zmc2V0X29sZCArIGkgOiB0Lm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXRfb2xkICsgZSwgdC5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQgPSB2b2lkIDAgPT09IHQubmF2aWdhdGlvbi5hcnJvd3MucmlnaHQuaF9vZmZzZXRfb2xkID8gdC5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldCA6IHQubmF2aWdhdGlvbi5hcnJvd3MucmlnaHQuaF9vZmZzZXRfb2xkLCB0Lm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0ID0gInJpZ2h0IiA9PT0gdC5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX2FsaWduID8gdC5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQgKyBpIDogdC5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQgKyBlKSwgVCh0LmMuZmluZCgiLnRwLWxlZnRhcnJvdy50cGFycm93cyIpLCB0Lm5hdmlnYXRpb24uYXJyb3dzLmxlZnQsIHQpLCBUKHQuYy5maW5kKCIudHAtcmlnaHRhcnJvdy50cGFycm93cyIpLCB0Lm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0LCB0KSksIG0odC5uYXZpZ2F0aW9uLnRodW1ibmFpbHMpICYmIGModC5jLnBhcmVudCgpLmZpbmQoIi50cC10aHVtYnMiKSwgdC5uYXZpZ2F0aW9uLnRodW1ibmFpbHMpLCBtKHQubmF2aWdhdGlvbi50YWJzKSAmJiBjKHQuYy5wYXJlbnQoKS5maW5kKCIudHAtdGFicyIpLCB0Lm5hdmlnYXRpb24udGFicykKICAgICAgICB9LAogICAgICAgIGNyZWF0ZU5hdmlnYXRpb246IGZ1bmN0aW9uKG8sIHMpIHsKICAgICAgICAgICAgaWYgKCJzdG9wIiA9PT0gTy5jb21wYXJlX3ZlcnNpb24oZSkuY2hlY2spIHJldHVybiAhMTsKICAgICAgICAgICAgdmFyIGQgPSBvLnBhcmVudCgpLAogICAgICAgICAgICAgICAgbCA9IHMubmF2aWdhdGlvbi5hcnJvd3MsCiAgICAgICAgICAgICAgICBhID0gcy5uYXZpZ2F0aW9uLmJ1bGxldHMsCiAgICAgICAgICAgICAgICBoID0gcy5uYXZpZ2F0aW9uLnRodW1ibmFpbHMsCiAgICAgICAgICAgICAgICBwID0gcy5uYXZpZ2F0aW9uLnRhYnMsCiAgICAgICAgICAgICAgICB0ID0gbShsKSwKICAgICAgICAgICAgICAgIG4gPSBtKGEpLAogICAgICAgICAgICAgICAgciA9IG0oaCksCiAgICAgICAgICAgICAgICB1ID0gbShwKTsKICAgICAgICAgICAgaShvLCBzKSwgZyhvLCBzKSwgdCAmJiBfKG8sIGwsIHMpLCBzLmxpLmVhY2goZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkocy5saVtzLmxpLmxlbmd0aCAtIDEgLSB0XSksCiAgICAgICAgICAgICAgICAgICAgaSA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgIG4gJiYgKHMubmF2aWdhdGlvbi5idWxsZXRzLnJ0bCA/IHkobywgYSwgZSwgcykgOiB5KG8sIGEsIGksIHMpKSwgciAmJiAocy5uYXZpZ2F0aW9uLnRodW1ibmFpbHMucnRsID8gUyhvLCBoLCBlLCAidHAtdGh1bWIiLCBzKSA6IFMobywgaCwgaSwgInRwLXRodW1iIiwgcykpLCB1ICYmIChzLm5hdmlnYXRpb24udGFicy5ydGwgPyBTKG8sIHAsIGUsICJ0cC10YWIiLCBzKSA6IFMobywgcCwgaSwgInRwLXRhYiIsIHMpKQogICAgICAgICAgICB9KSwgby5iaW5kKCJyZXZvbHV0aW9uLnNsaWRlLm9uYWZ0ZXJzd2FwIHJldm9sdXRpb24ubmV4dHNsaWRlLndhaXRpbmciLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciBpID0gMCA9PSBvLmZpbmQoIi5uZXh0LXJldnNsaWRlIikubGVuZ3RoID8gby5maW5kKCIuYWN0aXZlLXJldnNsaWRlIikuZGF0YSgiaW5kZXgiKSA6IG8uZmluZCgiLm5leHQtcmV2c2xpZGUiKS5kYXRhKCJpbmRleCIpOwogICAgICAgICAgICAgICAgby5maW5kKCIudHAtYnVsbGV0IikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgICAgICB0LmRhdGEoImxpcmVmIikgPT09IGkgPyB0LmFkZENsYXNzKCJzZWxlY3RlZCIpIDogdC5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKQogICAgICAgICAgICAgICAgfSksIGQuZmluZCgiLnRwLXRodW1iLCAudHAtdGFiIikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgICAgICB0LmRhdGEoImxpcmVmIikgPT09IGkgPyAodC5hZGRDbGFzcygic2VsZWN0ZWQiKSwgdC5oYXNDbGFzcygidHAtdGFiIikgPyBjKGQuZmluZCgiLnRwLXRhYnMiKSwgcCkgOiBjKGQuZmluZCgiLnRwLXRodW1icyIpLCBoKSkgOiB0LnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHZhciBhID0gMCwKICAgICAgICAgICAgICAgICAgICBuID0gITE7CiAgICAgICAgICAgICAgICBzLnRodW1icyAmJiBqUXVlcnkuZWFjaChzLnRodW1icywgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIGEgPSAhMSA9PT0gbiA/IHQgOiBhLCBuID0gZS5pZCA9PT0gaSB8fCB0ID09PSBpIHx8IG4KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgdmFyIHQgPSAwIDwgYSA/IGEgLSAxIDogcy5zbGlkZWFtb3VudCAtIDEsCiAgICAgICAgICAgICAgICAgICAgZSA9IGEgKyAxID09IHMuc2xpZGVhbW91bnQgPyAwIDogYSArIDE7CiAgICAgICAgICAgICAgICBpZiAoITAgPT09IGwuZW5hYmxlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHIgPSBsLnRtcDsKICAgICAgICAgICAgICAgICAgICBpZiAobnVsbCAhPSBzLnRodW1ic1t0XSAmJiBqUXVlcnkuZWFjaChzLnRodW1ic1t0XS5wYXJhbXMsIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSByLnJlcGxhY2UoZS5mcm9tLCBlLnRvKQogICAgICAgICAgICAgICAgICAgICAgICB9KSwgbC5sZWZ0LmouaHRtbChyKSwgciA9IGwudG1wLCBlID4gcy5zbGlkZWFtb3VudCkgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIGpRdWVyeS5lYWNoKHMudGh1bWJzW2VdLnBhcmFtcywgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgICAgICByID0gci5yZXBsYWNlKGUuZnJvbSwgZS50bykKICAgICAgICAgICAgICAgICAgICB9KSwgbC5yaWdodC5qLmh0bWwociksIGwucnRsID8gKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChsLmxlZnQuai5maW5kKCIudHAtYXJyLWltZ2hvbGRlciIpLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogInVybCgiICsgcy50aHVtYnNbZV0uc3JjICsgIikiCiAgICAgICAgICAgICAgICAgICAgfSksIHB1bmNoZ3MuVHdlZW5MaXRlLnNldChsLnJpZ2h0LmouZmluZCgiLnRwLWFyci1pbWdob2xkZXIiKSwgewogICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6ICJ1cmwoIiArIHMudGh1bWJzW3RdLnNyYyArICIpIgogICAgICAgICAgICAgICAgICAgIH0pKSA6IChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobC5sZWZ0LmouZmluZCgiLnRwLWFyci1pbWdob2xkZXIiKSwgewogICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6ICJ1cmwoIiArIHMudGh1bWJzW3RdLnNyYyArICIpIgogICAgICAgICAgICAgICAgICAgIH0pLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobC5yaWdodC5qLmZpbmQoIi50cC1hcnItaW1naG9sZGVyIiksIHsKICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZEltYWdlOiAidXJsKCIgKyBzLnRodW1ic1tlXS5zcmMgKyAiKSIKICAgICAgICAgICAgICAgICAgICB9KSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSksIGYobCksIGYoYSksIGYoaCksIGYocCksIGQub24oIm1vdXNlZW50ZXIgbW91c2Vtb3ZlIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBkLmhhc0NsYXNzKCJ0cC1tb3VzZW92ZXIiKSB8fCAoZC5hZGRDbGFzcygidHAtbW91c2VvdmVyIiksIHB1bmNoZ3MuVHdlZW5MaXRlLmtpbGxEZWxheWVkQ2FsbHNUbyh3KSwgdCAmJiBsLmhpZGVfb25sZWF2ZSAmJiB3KGQuZmluZCgiLnRwYXJyb3dzIiksIGwsICJzaG93IiksIG4gJiYgYS5oaWRlX29ubGVhdmUgJiYgdyhkLmZpbmQoIi50cC1idWxsZXRzIiksIGEsICJzaG93IiksIHIgJiYgaC5oaWRlX29ubGVhdmUgJiYgdyhkLmZpbmQoIi50cC10aHVtYnMiKSwgaCwgInNob3ciKSwgdSAmJiBwLmhpZGVfb25sZWF2ZSAmJiB3KGQuZmluZCgiLnRwLXRhYnMiKSwgcCwgInNob3ciKSwgSSAmJiAoZC5yZW1vdmVDbGFzcygidHAtbW91c2VvdmVyIiksIGIobywgcykpKQogICAgICAgICAgICB9KSwgZC5vbigibW91c2VsZWF2ZSIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgZC5yZW1vdmVDbGFzcygidHAtbW91c2VvdmVyIiksIGIobywgcykKICAgICAgICAgICAgfSksIHQgJiYgbC5oaWRlX29ubGVhdmUgJiYgdyhkLmZpbmQoIi50cGFycm93cyIpLCBsLCAiaGlkZSIsIDApLCBuICYmIGEuaGlkZV9vbmxlYXZlICYmIHcoZC5maW5kKCIudHAtYnVsbGV0cyIpLCBhLCAiaGlkZSIsIDApLCByICYmIGguaGlkZV9vbmxlYXZlICYmIHcoZC5maW5kKCIudHAtdGh1bWJzIiksIGgsICJoaWRlIiwgMCksIHUgJiYgcC5oaWRlX29ubGVhdmUgJiYgdyhkLmZpbmQoIi50cC10YWJzIiksIHAsICJoaWRlIiwgMCksIHIgJiYgdihkLmZpbmQoIi50cC10aHVtYnMiKSwgcyksIHUgJiYgdihkLmZpbmQoIi50cC10YWJzIiksIHMpLCAiY2Fyb3VzZWwiID09PSBzLnNsaWRlclR5cGUgJiYgdihvLCBzLCAhMCksICgib24iID09PSBzLm5hdmlnYXRpb24udG91Y2gudG91Y2hPbkRlc2t0b3AgfHwgIm9uIiA9PSBzLm5hdmlnYXRpb24udG91Y2gudG91Y2hlbmFibGVkICYmIEkpICYmIHYobywgcywgInN3aXBlYmFzZWQiKQogICAgICAgIH0KICAgIH0pOwogICAgdmFyIGMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gKHQuaGFzQ2xhc3MoInRwLXRodW1icyIpLCB0Lmhhc0NsYXNzKCJ0cC10aHVtYnMiKSA/ICIudHAtdGh1bWItbWFzayIgOiAiLnRwLXRhYi1tYXNrIiksCiAgICAgICAgICAgICAgICBhID0gdC5oYXNDbGFzcygidHAtdGh1bWJzIikgPyAiLnRwLXRodW1icy1pbm5lci13cmFwcGVyIiA6ICIudHAtdGFicy1pbm5lci13cmFwcGVyIiwKICAgICAgICAgICAgICAgIG4gPSB0Lmhhc0NsYXNzKCJ0cC10aHVtYnMiKSA/ICIudHAtdGh1bWIiIDogIi50cC10YWIiLAogICAgICAgICAgICAgICAgciA9IHQuZmluZChpKSwKICAgICAgICAgICAgICAgIG8gPSByLmZpbmQoYSksCiAgICAgICAgICAgICAgICBzID0gZS5kaXJlY3Rpb24sCiAgICAgICAgICAgICAgICBkID0gInZlcnRpY2FsIiA9PT0gcyA/IHIuZmluZChuKS5maXJzdCgpLm91dGVySGVpZ2h0KCEwKSArIGUuc3BhY2UgOiByLmZpbmQobikuZmlyc3QoKS5vdXRlcldpZHRoKCEwKSArIGUuc3BhY2UsCiAgICAgICAgICAgICAgICBsID0gInZlcnRpY2FsIiA9PT0gcyA/IHIuaGVpZ2h0KCkgOiByLndpZHRoKCksCiAgICAgICAgICAgICAgICBoID0gcGFyc2VJbnQoci5maW5kKG4gKyAiLnNlbGVjdGVkIikuZGF0YSgibGlpbmRleCIpLCAwKSwKICAgICAgICAgICAgICAgIHAgPSBsIC8gZCwKICAgICAgICAgICAgICAgIHUgPSAidmVydGljYWwiID09PSBzID8gci5oZWlnaHQoKSA6IHIud2lkdGgoKSwKICAgICAgICAgICAgICAgIGMgPSAwIC0gaCAqIGQsCiAgICAgICAgICAgICAgICBnID0gInZlcnRpY2FsIiA9PT0gcyA/IG8uaGVpZ2h0KCkgOiBvLndpZHRoKCksCiAgICAgICAgICAgICAgICB2ID0gYyA8IDAgLSAoZyAtIHUpID8gMCAtIChnIC0gdSkgOiAwIDwgdiA/IDAgOiBjLAogICAgICAgICAgICAgICAgZiA9IG8uZGF0YSgib2Zmc2V0Iik7CiAgICAgICAgICAgIDIgPCBwICYmICh2ID0gYyAtIChmICsgZCkgPD0gMCA/IGMgLSAoZiArIGQpIDwgMCAtIGQgPyBmIDogdiArIGQgOiB2LCB2ID0gYyAtIGQgKyBmICsgbCA8IGQgJiYgYyArIChNYXRoLnJvdW5kKHApIC0gMikgKiBkIDwgZiA/IGMgKyAoTWF0aC5yb3VuZChwKSAtIDIpICogZCA6IHYpLCB2ID0gdiA8IDAgLSAoZyAtIHUpID8gMCAtIChnIC0gdSkgOiAwIDwgdiA/IDAgOiB2LCAidmVydGljYWwiICE9PSBzICYmIHIud2lkdGgoKSA+PSBvLndpZHRoKCkgJiYgKHYgPSAwKSwgInZlcnRpY2FsIiA9PT0gcyAmJiByLmhlaWdodCgpID49IG8uaGVpZ2h0KCkgJiYgKHYgPSAwKSwgdC5oYXNDbGFzcygiZHJhZ2dlZCIpIHx8ICgidmVydGljYWwiID09PSBzID8gby5kYXRhKCJ0bW1vdmUiLCBwdW5jaGdzLlR3ZWVuTGl0ZS50byhvLCAuNSwgewogICAgICAgICAgICAgICAgdG9wOiB2ICsgInB4IiwKICAgICAgICAgICAgICAgIGVhc2U6IHB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dAogICAgICAgICAgICB9KSkgOiBvLmRhdGEoInRtbW92ZSIsIHB1bmNoZ3MuVHdlZW5MaXRlLnRvKG8sIC41LCB7CiAgICAgICAgICAgICAgICBsZWZ0OiB2ICsgInB4IiwKICAgICAgICAgICAgICAgIGVhc2U6IHB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dAogICAgICAgICAgICB9KSksIG8uZGF0YSgib2Zmc2V0IiwgdikpCiAgICAgICAgfSwKICAgICAgICBkID0gZnVuY3Rpb24odCwgaSwgZSwgYSwgbiwgcikgewogICAgICAgICAgICB2YXIgbyA9IGUucGFyZW50KCkuZmluZCgiLnRwLSIgKyByICsgInMiKSwKICAgICAgICAgICAgICAgIHMgPSBvLmZpbmQoIi50cC0iICsgciArICJzLWlubmVyLXdyYXBwZXIiKSwKICAgICAgICAgICAgICAgIGQgPSBvLmZpbmQoIi50cC0iICsgciArICItbWFzayIpLAogICAgICAgICAgICAgICAgbCA9IGEud2lkdGggKiB0IDwgYS5taW5fd2lkdGggPyBhLm1pbl93aWR0aCA6IE1hdGgucm91bmQoYS53aWR0aCAqIHQpLAogICAgICAgICAgICAgICAgaCA9IE1hdGgucm91bmQobCAvIGEud2lkdGggKiBhLmhlaWdodCksCiAgICAgICAgICAgICAgICBwID0gInZlcnRpY2FsIiA9PT0gYS5kaXJlY3Rpb24gPyBsIDogbCAqIG4gKyBhLnNwYWNlICogKG4gLSAxKSwKICAgICAgICAgICAgICAgIHUgPSAidmVydGljYWwiID09PSBhLmRpcmVjdGlvbiA/IGggKiBuICsgYS5zcGFjZSAqIChuIC0gMSkgOiBoLAogICAgICAgICAgICAgICAgYyA9ICJ2ZXJ0aWNhbCIgPT09IGEuZGlyZWN0aW9uID8gewogICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsICsgInB4IgogICAgICAgICAgICAgICAgfSA6IHsKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGggKyAicHgiCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICBpLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobywgYykpLCBpLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQocywgewogICAgICAgICAgICAgICAgd2lkdGg6IHAgKyAicHgiLAogICAgICAgICAgICAgICAgaGVpZ2h0OiB1ICsgInB4IgogICAgICAgICAgICB9KSksIGkuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChkLCB7CiAgICAgICAgICAgICAgICB3aWR0aDogcCArICJweCIsCiAgICAgICAgICAgICAgICBoZWlnaHQ6IHUgKyAicHgiCiAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgdmFyIGcgPSBzLmZpbmQoIi50cC0iICsgcik7CiAgICAgICAgICAgIHJldHVybiBnICYmIGpRdWVyeS5lYWNoKGcsIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICJ2ZXJ0aWNhbCIgPT09IGEuZGlyZWN0aW9uID8gaS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGUsIHsKICAgICAgICAgICAgICAgICAgICB0b3A6IHQgKiAoaCArIHBhcnNlSW50KHZvaWQgMCA9PT0gYS5zcGFjZSA/IDAgOiBhLnNwYWNlLCAwKSksCiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGwgKyAicHgiLAogICAgICAgICAgICAgICAgICAgIGhlaWdodDogaCArICJweCIKICAgICAgICAgICAgICAgIH0pKSA6ICJob3Jpem9udGFsIiA9PT0gYS5kaXJlY3Rpb24gJiYgaS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGUsIHsKICAgICAgICAgICAgICAgICAgICBsZWZ0OiB0ICogKGwgKyBwYXJzZUludCh2b2lkIDAgPT09IGEuc3BhY2UgPyAwIDogYS5zcGFjZSwgMCkpLAogICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsICsgInB4IiwKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGggKyAicHgiCiAgICAgICAgICAgICAgICB9KSkKICAgICAgICAgICAgfSksIGkKICAgICAgICB9LAogICAgICAgIGkgPSBmdW5jdGlvbihlLCBpKSB7CiAgICAgICAgICAgICJvbiIgPT09IGkubmF2aWdhdGlvbi5rZXlib2FyZE5hdmlnYXRpb24gJiYgalF1ZXJ5KGRvY3VtZW50KS5rZXlkb3duKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICgiaG9yaXpvbnRhbCIgPT0gaS5uYXZpZ2F0aW9uLmtleWJvYXJkX2RpcmVjdGlvbiAmJiAzOSA9PSB0LmtleUNvZGUgfHwgInZlcnRpY2FsIiA9PSBpLm5hdmlnYXRpb24ua2V5Ym9hcmRfZGlyZWN0aW9uICYmIDQwID09IHQua2V5Q29kZSkgJiYgKGkuc2NfaW5kaWNhdG9yID0gImFycm93IiwgaS5zY19pbmRpY2F0b3JfZGlyID0gMCwgTy5jYWxsaW5nTmV3U2xpZGUoZSwgMSkpLCAoImhvcml6b250YWwiID09IGkubmF2aWdhdGlvbi5rZXlib2FyZF9kaXJlY3Rpb24gJiYgMzcgPT0gdC5rZXlDb2RlIHx8ICJ2ZXJ0aWNhbCIgPT0gaS5uYXZpZ2F0aW9uLmtleWJvYXJkX2RpcmVjdGlvbiAmJiAzOCA9PSB0LmtleUNvZGUpICYmIChpLnNjX2luZGljYXRvciA9ICJhcnJvdyIsIGkuc2NfaW5kaWNhdG9yX2RpciA9IDEsIE8uY2FsbGluZ05ld1NsaWRlKGUsIC0xKSkKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIGcgPSBmdW5jdGlvbihnLCB2KSB7CiAgICAgICAgICAgIGlmICgib24iID09PSB2Lm5hdmlnYXRpb24ubW91c2VTY3JvbGxOYXZpZ2F0aW9uIHx8ICJjYXJvdXNlbCIgPT09IHYubmF2aWdhdGlvbi5tb3VzZVNjcm9sbE5hdmlnYXRpb24pIHsKICAgICAgICAgICAgICAgIHYuaXNJRUVsZXZlbiA9ICEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvVHJpZGVudC4qcnZcOjExXC4vKSwgdi5pc1NhZmFyaSA9ICEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvc2FmYXJpL2kpLCB2LmlzY2hyb21lID0gISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9jaHJvbWUvaSk7CiAgICAgICAgICAgICAgICB2YXIgZiA9IHYuaXNjaHJvbWUgPyAtNDkgOiB2LmlzSUVFbGV2ZW4gfHwgdi5pc1NhZmFyaSA/IC05IDogbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvbW96aWxsYS9pKSA/IC0yOSA6IC00OSwKICAgICAgICAgICAgICAgICAgICBtID0gdi5pc2Nocm9tZSA/IDQ5IDogdi5pc0lFRWxldmVuIHx8IHYuaXNTYWZhcmkgPyA5IDogbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvbW96aWxsYS9pKSA/IDI5IDogNDk7CiAgICAgICAgICAgICAgICBnLm9uKCJtb3VzZXdoZWVsIERPTU1vdXNlU2Nyb2xsIiwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlLCBpLCBhLCBuLCByLCBvID0gKGUgPSB0Lm9yaWdpbmFsRXZlbnQsIHIgPSBuID0gYSA9IGkgPSAwLCAiZGV0YWlsIiBpbiBlICYmIChhID0gZS5kZXRhaWwpLCAid2hlZWxEZWx0YSIgaW4gZSAmJiAoYSA9IC1lLndoZWVsRGVsdGEgLyAxMjApLCAid2hlZWxEZWx0YVkiIGluIGUgJiYgKGEgPSAtZS53aGVlbERlbHRhWSAvIDEyMCksICJ3aGVlbERlbHRhWCIgaW4gZSAmJiAoaSA9IC1lLndoZWVsRGVsdGFYIC8gMTIwKSwgImF4aXMiIGluIGUgJiYgZS5heGlzID09PSBlLkhPUklaT05UQUxfQVhJUyAmJiAoaSA9IGEsIGEgPSAwKSwgbiA9IDEgKiBpLCByID0gMSAqIGEsICJkZWx0YVkiIGluIGUgJiYgKHIgPSBlLmRlbHRhWSksICJkZWx0YVgiIGluIGUgJiYgKG4gPSBlLmRlbHRhWCksIChuIHx8IHIpICYmIGUuZGVsdGFNb2RlICYmIChlLmRlbHRhTW9kZSwgbiAqPSAxLCByICo9IDEpLCBuICYmICFpICYmIChpID0gbiA8IDEgPyAtMSA6IDEpLCByICYmICFhICYmIChhID0gciA8IDEgPyAtMSA6IDEpLCAoMzAwIDwgKHIgPSBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9tb3ppbGxhL2kpID8gMTAgKiByIDogcikgfHwgciA8IC0zMDApICYmIChyIC89IDEwKSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Bpblg6IGksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGluWTogYSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpeGVsWDogbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpeGVsWTogcgogICAgICAgICAgICAgICAgICAgICAgICB9KSwKICAgICAgICAgICAgICAgICAgICAgICAgcyA9IGcuZmluZCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaS5hY3RpdmUtcmV2c2xpZGUiKS5pbmRleCgpLAogICAgICAgICAgICAgICAgICAgICAgICBkID0gZy5maW5kKCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpLnByb2Nlc3NpbmctcmV2c2xpZGUiKS5pbmRleCgpLAogICAgICAgICAgICAgICAgICAgICAgICBsID0gLTEgIT0gcyAmJiAwID09IHMgfHwgLTEgIT0gZCAmJiAwID09IGQsCiAgICAgICAgICAgICAgICAgICAgICAgIGggPSAtMSAhPSBzICYmIHMgPT0gdi5zbGlkZWFtb3VudCAtIDEgfHwgMSAhPSBkICYmIGQgPT0gdi5zbGlkZWFtb3VudCAtIDEsCiAgICAgICAgICAgICAgICAgICAgICAgIHAgPSAhMDsKICAgICAgICAgICAgICAgICAgICAiY2Fyb3VzZWwiID09IHYubmF2aWdhdGlvbi5tb3VzZVNjcm9sbE5hdmlnYXRpb24gJiYgKGwgPSBoID0gITEpLCAtMSA9PSBkID8gby5waXhlbFkgPCBmID8gKGwgfHwgKHYuc2NfaW5kaWNhdG9yID0gImFycm93IiwgInJldmVyc2UiICE9PSB2Lm5hdmlnYXRpb24ubW91c2VTY3JvbGxSZXZlcnNlICYmICh2LnNjX2luZGljYXRvcl9kaXIgPSAxLCBPLmNhbGxpbmdOZXdTbGlkZShnLCAtMSkpLCBwID0gITEpLCBoIHx8ICh2LnNjX2luZGljYXRvciA9ICJhcnJvdyIsICJyZXZlcnNlIiA9PT0gdi5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSAmJiAodi5zY19pbmRpY2F0b3JfZGlyID0gMCwgTy5jYWxsaW5nTmV3U2xpZGUoZywgMSkpLCBwID0gITEpKSA6IG0gPCBvLnBpeGVsWSAmJiAoaCB8fCAodi5zY19pbmRpY2F0b3IgPSAiYXJyb3ciLCAicmV2ZXJzZSIgIT09IHYubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UgJiYgKHYuc2NfaW5kaWNhdG9yX2RpciA9IDAsIE8uY2FsbGluZ05ld1NsaWRlKGcsIDEpKSwgcCA9ICExKSwgbCB8fCAodi5zY19pbmRpY2F0b3IgPSAiYXJyb3ciLCAicmV2ZXJzZSIgPT09IHYubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UgJiYgKHYuc2NfaW5kaWNhdG9yX2RpciA9IDEsIE8uY2FsbGluZ05ld1NsaWRlKGcsIC0xKSksIHAgPSAhMSkpIDogcCA9ICExOwogICAgICAgICAgICAgICAgICAgIHZhciB1ID0gdi5jLm9mZnNldCgpLnRvcCAtIGpRdWVyeSgiYm9keSIpLnNjcm9sbFRvcCgpLAogICAgICAgICAgICAgICAgICAgICAgICBjID0gdSArIHYuYy5oZWlnaHQoKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gImNhcm91c2VsIiAhPSB2Lm5hdmlnYXRpb24ubW91c2VTY3JvbGxOYXZpZ2F0aW9uID8gKCJyZXZlcnNlIiAhPT0gdi5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSAmJiAoMCA8IHUgJiYgMCA8IG8ucGl4ZWxZIHx8IGMgPCBqUXVlcnkod2luZG93KS5oZWlnaHQoKSAmJiBvLnBpeGVsWSA8IDApICYmIChwID0gITApLCAicmV2ZXJzZSIgPT09IHYubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UgJiYgKHUgPCAwICYmIG8ucGl4ZWxZIDwgMCB8fCBjID4galF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkgJiYgMCA8IG8ucGl4ZWxZKSAmJiAocCA9ICEwKSkgOiBwID0gITEsIDAgPT0gcCA/ICh0LnByZXZlbnREZWZhdWx0KHQpLCAhMSkgOiB2b2lkIDAKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIEggPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHJldHVybiAhMCA9PT0gKHQgPSBJID8galF1ZXJ5KGkudGFyZ2V0KS5jbG9zZXN0KCIuIiArIHQpLmxlbmd0aCB8fCBqUXVlcnkoaS5zcmNFbGVtZW50KS5jbG9zZXN0KCIuIiArIHQpLmxlbmd0aCA6IGpRdWVyeShpLnRvRWxlbWVudCkuY2xvc2VzdCgiLiIgKyB0KS5sZW5ndGggfHwgalF1ZXJ5KGkub3JpZ2luYWxUYXJnZXQpLmNsb3Nlc3QoIi4iICsgdCkubGVuZ3RoKSB8fCAxID09PSB0ID8gMSA6IDAKICAgICAgICB9LAogICAgICAgIHYgPSBmdW5jdGlvbihDLCBMLCB0KSB7CiAgICAgICAgICAgIHZhciBrID0gTC5jYXJvdXNlbDsKICAgICAgICAgICAgalF1ZXJ5KCIuYnVsbGV0LCAuYnVsbGV0cywgLnRwLWJ1bGxldHMsIC50cGFycm93cyIpLmFkZENsYXNzKCJub1N3aXBlIiksIGsuTGltaXQgPSAiZW5kbGVzcyI7CiAgICAgICAgICAgIHZhciBlID0gKEkgfHwgTy5nZXRfYnJvd3NlcigpLCBDKSwKICAgICAgICAgICAgICAgIGkgPSAidmVydGljYWwiID09PSBMLm5hdmlnYXRpb24udGh1bWJuYWlscy5kaXJlY3Rpb24gfHwgInZlcnRpY2FsIiA9PT0gTC5uYXZpZ2F0aW9uLnRhYnMuZGlyZWN0aW9uID8gIm5vbmUiIDogInZlcnRpY2FsIiwKICAgICAgICAgICAgICAgIFEgPSBMLm5hdmlnYXRpb24udG91Y2guc3dpcGVfZGlyZWN0aW9uIHx8ICJob3Jpem9udGFsIjsKICAgICAgICAgICAgaSA9ICJzd2lwZWJhc2VkIiA9PSB0ICYmICJ2ZXJ0aWNhbCIgPT0gUSA/ICJub25lIiA6IHQgPyAidmVydGljYWwiIDogaSwgalF1ZXJ5LmZuLnN3aXBldHAgfHwgKGpRdWVyeS5mbi5zd2lwZXRwID0galF1ZXJ5LmZuLnN3aXBlKSwgalF1ZXJ5LmZuLnN3aXBldHAuZGVmYXVsdHMgJiYgalF1ZXJ5LmZuLnN3aXBldHAuZGVmYXVsdHMuZXhjbHVkZWRFbGVtZW50cyB8fCBqUXVlcnkuZm4uc3dpcGV0cC5kZWZhdWx0cyB8fCAoalF1ZXJ5LmZuLnN3aXBldHAuZGVmYXVsdHMgPSBuZXcgT2JqZWN0KSwgalF1ZXJ5LmZuLnN3aXBldHAuZGVmYXVsdHMuZXhjbHVkZWRFbGVtZW50cyA9ICJsYWJlbCwgYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgLm5vU3dpcGUiLCBlLnN3aXBldHAoewogICAgICAgICAgICAgICAgYWxsb3dQYWdlU2Nyb2xsOiBpLAogICAgICAgICAgICAgICAgdHJpZ2dlck9uVG91Y2hMZWF2ZTogITAsCiAgICAgICAgICAgICAgICB0cmVzaG9sZDogTC5uYXZpZ2F0aW9uLnRvdWNoLnN3aXBlX3RyZXNob2xkLAogICAgICAgICAgICAgICAgZmluZ2VyczogTC5uYXZpZ2F0aW9uLnRvdWNoLnN3aXBlX21pbl90b3VjaGVzLAogICAgICAgICAgICAgICAgZXhjbHVkZUVsZW1lbnRzOiBqUXVlcnkuZm4uc3dpcGV0cC5kZWZhdWx0cy5leGNsdWRlZEVsZW1lbnRzLAogICAgICAgICAgICAgICAgc3dpcGVTdGF0dXM6IGZ1bmN0aW9uKHQsIGUsIGksIGEsIG4sIHIsIG8pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcyA9IEgoInJldl9zbGlkZXJfd3JhcHBlciIsIDAsIHQpLAogICAgICAgICAgICAgICAgICAgICAgICBkID0gSCgidHAtdGh1bWJzIiwgMCwgdCksCiAgICAgICAgICAgICAgICAgICAgICAgIGwgPSBIKCJ0cC10YWJzIiwgMCwgdCksCiAgICAgICAgICAgICAgICAgICAgICAgIGggPSAhIWpRdWVyeSh0aGlzKS5hdHRyKCJjbGFzcyIpLm1hdGNoKC90cC10YWJzfHRwLXRodW1iL2dpKTsKICAgICAgICAgICAgICAgICAgICBpZiAoImNhcm91c2VsIiA9PT0gTC5zbGlkZXJUeXBlICYmICgoIm1vdmUiID09PSBlIHx8ICJlbmQiID09PSBlIHx8ICJjYW5jZWwiID09IGUpICYmIEwuZHJhZ1N0YXJ0ZWRPdmVyU2xpZGVyICYmICFMLmRyYWdTdGFydGVkT3ZlclRodW1icyAmJiAhTC5kcmFnU3RhcnRlZE92ZXJUYWJzIHx8ICJzdGFydCIgPT09IGUgJiYgMCA8IHMgJiYgMCA9PT0gZCAmJiAwID09PSBsKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoSSAmJiAoInVwIiA9PT0gaSB8fCAiZG93biIgPT09IGkpKSByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoTC5kcmFnU3RhcnRlZE92ZXJTbGlkZXIgPSAhMCwgYSA9IGkgJiYgaS5tYXRjaCgvbGVmdHx1cC9nKSA/IE1hdGgucm91bmQoLTEgKiBhKSA6IGEgPSBNYXRoLnJvdW5kKDEgKiBhKSwgZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAic3RhcnQiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgMCAhPT0gay5wb3NpdGlvbmFuaW0gJiYgKGsucG9zaXRpb25hbmltLmtpbGwoKSwgay5zbGlkZV9nbG9iYWxvZmZzZXQgPSAib2ZmIiA9PT0gay5pbmZpbml0eSA/IGsuc2xpZGVfb2Zmc2V0IDogTy5zaW1wKGsuc2xpZGVfb2Zmc2V0LCBrLm1heHdpZHRoKSksIGsub3ZlcnB1bGwgPSAibm9uZSIsIGsud3JhcC5hZGRDbGFzcygiZHJhZ2dlZCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAibW92ZSI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEwuYy5maW5kKCIudHAtd2l0aGFjdGlvbiIpLmFkZENsYXNzKCJ0cC10ZW1wb3JhcnlkaXNhYmxlZCIpLCBrLnNsaWRlX29mZnNldCA9ICJvZmYiID09PSBrLmluZmluaXR5ID8gay5zbGlkZV9nbG9iYWxvZmZzZXQgKyBhIDogTy5zaW1wKGsuc2xpZGVfZ2xvYmFsb2Zmc2V0ICsgYSwgay5tYXh3aWR0aCksICJvZmYiID09PSBrLmluZmluaXR5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwID0gImNlbnRlciIgPT09IGsuaG9yaXpvbnRhbF9hbGlnbiA/IChrLndyYXB3aWR0aCAvIDIgLSBrLnNsaWRlX3dpZHRoIC8gMiAtIGsuc2xpZGVfb2Zmc2V0KSAvIGsuc2xpZGVfd2lkdGggOiAoMCAtIGsuc2xpZGVfb2Zmc2V0KSAvIGsuc2xpZGVfd2lkdGg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub25lIiAhPT0gay5vdmVycHVsbCAmJiAwICE9PSBrLm92ZXJwdWxsIHx8ICEocCA8IDAgfHwgcCA+IEwuc2xpZGVhbW91bnQgLSAxKSA/IDAgPD0gcCAmJiBwIDw9IEwuc2xpZGVhbW91bnQgLSAxICYmICgwIDw9IHAgJiYgYSA+IGsub3ZlcnB1bGwgfHwgcCA8PSBMLnNsaWRlYW1vdW50IC0gMSAmJiBhIDwgay5vdmVycHVsbCkgJiYgKGsub3ZlcnB1bGwgPSAwKSA6IGsub3ZlcnB1bGwgPSBhLCBrLnNsaWRlX29mZnNldCA9IHAgPCAwID8gay5zbGlkZV9vZmZzZXQgKyAoay5vdmVycHVsbCAtIGEpIC8gMS4xICsgTWF0aC5zcXJ0KE1hdGguYWJzKChrLm92ZXJwdWxsIC0gYSkgLyAxLjEpKSA6IHAgPiBMLnNsaWRlYW1vdW50IC0gMSA/IGsuc2xpZGVfb2Zmc2V0ICsgKGsub3ZlcnB1bGwgLSBhKSAvIDEuMSAtIE1hdGguc3FydChNYXRoLmFicygoay5vdmVycHVsbCAtIGEpIC8gMS4xKSkgOiBrLnNsaWRlX29mZnNldAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPLm9yZ2FuaXNlQ2Fyb3VzZWwoTCwgaSwgITAsICEwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJjYW5jZWwiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGsuc2xpZGVfZ2xvYmFsb2Zmc2V0ID0gay5zbGlkZV9vZmZzZXQsIGsud3JhcC5yZW1vdmVDbGFzcygiZHJhZ2dlZCIpLCBPLmNhcm91c2VsVG9FdmFsUG9zaXRpb24oTCwgaSksIEwuZHJhZ1N0YXJ0ZWRPdmVyU2xpZGVyID0gITEsIEwuZHJhZ1N0YXJ0ZWRPdmVyVGh1bWJzID0gITEsIEwuZHJhZ1N0YXJ0ZWRPdmVyVGFicyA9ICExLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMLmMuZmluZCgiLnRwLXdpdGhhY3Rpb24iKS5yZW1vdmVDbGFzcygidHAtdGVtcG9yYXJ5ZGlzYWJsZWQiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDE5KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgibW92ZSIgIT09IGUgJiYgImVuZCIgIT09IGUgJiYgImNhbmNlbCIgIT0gZSB8fCBMLmRyYWdTdGFydGVkT3ZlclNsaWRlciB8fCAhTC5kcmFnU3RhcnRlZE92ZXJUaHVtYnMgJiYgIUwuZHJhZ1N0YXJ0ZWRPdmVyVGFicykgJiYgISgic3RhcnQiID09PSBlICYmIDAgPCBzICYmICgwIDwgZCB8fCAwIDwgbCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoImVuZCIgPT0gZSAmJiAhaCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMLnNjX2luZGljYXRvciA9ICJhcnJvdyIsICJob3Jpem9udGFsIiA9PSBRICYmICJsZWZ0IiA9PSBpIHx8ICJ2ZXJ0aWNhbCIgPT0gUSAmJiAidXAiID09IGkpIHJldHVybiBMLnNjX2luZGljYXRvcl9kaXIgPSAwLCBPLmNhbGxpbmdOZXdTbGlkZShMLmMsIDEpLCAhMTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoImhvcml6b250YWwiID09IFEgJiYgInJpZ2h0IiA9PSBpIHx8ICJ2ZXJ0aWNhbCIgPT0gUSAmJiAiZG93biIgPT0gaSkgcmV0dXJuIEwuc2NfaW5kaWNhdG9yX2RpciA9IDEsIE8uY2FsbGluZ05ld1NsaWRlKEwuYywgLTEpLCAhMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEwuZHJhZ1N0YXJ0ZWRPdmVyU2xpZGVyID0gITEsIEwuZHJhZ1N0YXJ0ZWRPdmVyVGh1bWJzID0gITEsICEoTC5kcmFnU3RhcnRlZE92ZXJUYWJzID0gITEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgMCA8IGQgJiYgKEwuZHJhZ1N0YXJ0ZWRPdmVyVGh1bWJzID0gITApLCAwIDwgbCAmJiAoTC5kcmFnU3RhcnRlZE92ZXJUYWJzID0gITApOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdSA9IEwuZHJhZ1N0YXJ0ZWRPdmVyVGh1bWJzID8gIi50cC10aHVtYnMiIDogIi50cC10YWJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMgPSBMLmRyYWdTdGFydGVkT3ZlclRodW1icyA/ICIudHAtdGh1bWItbWFzayIgOiAiLnRwLXRhYi1tYXNrIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcgPSBMLmRyYWdTdGFydGVkT3ZlclRodW1icyA/ICIudHAtdGh1bWJzLWlubmVyLXdyYXBwZXIiIDogIi50cC10YWJzLWlubmVyLXdyYXBwZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdiA9IEwuZHJhZ1N0YXJ0ZWRPdmVyVGh1bWJzID8gIi50cC10aHVtYiIgOiAiLnRwLXRhYiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmID0gTC5kcmFnU3RhcnRlZE92ZXJUaHVtYnMgPyBMLm5hdmlnYXRpb24udGh1bWJuYWlscyA6IEwubmF2aWdhdGlvbi50YWJzOwogICAgICAgICAgICAgICAgICAgICAgICBhID0gaSAmJiBpLm1hdGNoKC9sZWZ0fHVwL2cpID8gTWF0aC5yb3VuZCgtMSAqIGEpIDogYSA9IE1hdGgucm91bmQoMSAqIGEpOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbSA9IEMucGFyZW50KCkuZmluZChjKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGIgPSBtLmZpbmQoZyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ID0gZi5kaXJlY3Rpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfID0gInZlcnRpY2FsIiA9PT0gdyA/IGIuaGVpZ2h0KCkgOiBiLndpZHRoKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ID0gInZlcnRpY2FsIiA9PT0gdyA/IG0uaGVpZ2h0KCkgOiBtLndpZHRoKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ID0gInZlcnRpY2FsIiA9PT0gdyA/IG0uZmluZCh2KS5maXJzdCgpLm91dGVySGVpZ2h0KCEwKSArIGYuc3BhY2UgOiBtLmZpbmQodikuZmlyc3QoKS5vdXRlcldpZHRoKCEwKSArIGYuc3BhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUID0gdm9pZCAwID09PSBiLmRhdGEoIm9mZnNldCIpID8gMCA6IHBhcnNlSW50KGIuZGF0YSgib2Zmc2V0IiksIDApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgUyA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAic3RhcnQiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMucGFyZW50KCkuZmluZCh1KS5hZGRDbGFzcygiZHJhZ2dlZCIpLCBUID0gInZlcnRpY2FsIiA9PT0gdyA/IGIucG9zaXRpb24oKS50b3AgOiBiLnBvc2l0aW9uKCkubGVmdCwgYi5kYXRhKCJvZmZzZXQiLCBUKSwgYi5kYXRhKCJ0bW1vdmUiKSAmJiBiLmRhdGEoInRtbW92ZSIpLnBhdXNlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJtb3ZlIjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXyA8PSB4KSByZXR1cm4gITE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUyA9IDAgPCAoUyA9IFQgKyBhKSA/ICJob3Jpem9udGFsIiA9PT0gdyA/IFMgLSBiLndpZHRoKCkgKiAoUyAvIGIud2lkdGgoKSAqIFMgLyBiLndpZHRoKCkpIDogUyAtIGIuaGVpZ2h0KCkgKiAoUyAvIGIuaGVpZ2h0KCkgKiBTIC8gYi5oZWlnaHQoKSkgOiBTOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBqID0gInZlcnRpY2FsIiA9PT0gdyA/IDAgLSAoYi5oZWlnaHQoKSAtIG0uaGVpZ2h0KCkpIDogMCAtIChiLndpZHRoKCkgLSBtLndpZHRoKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFMgPSBTIDwgaiA/ICJob3Jpem9udGFsIiA9PT0gdyA/IFMgKyBiLndpZHRoKCkgKiAoUyAtIGopIC8gYi53aWR0aCgpICogKFMgLSBqKSAvIGIud2lkdGgoKSA6IFMgKyBiLmhlaWdodCgpICogKFMgLSBqKSAvIGIuaGVpZ2h0KCkgKiAoUyAtIGopIC8gYi5oZWlnaHQoKSA6IFMsICJ2ZXJ0aWNhbCIgPT09IHcgPyBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYiwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IFMgKyAicHgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgOiBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYiwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBTICsgInB4IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgImNhbmNlbCI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGgpIHJldHVybiBTID0gVCArIGEsIFMgPSAwIDwgKFMgPSAidmVydGljYWwiID09PSB3ID8gUyA8IDAgLSAoYi5oZWlnaHQoKSAtIG0uaGVpZ2h0KCkpID8gMCAtIChiLmhlaWdodCgpIC0gbS5oZWlnaHQoKSkgOiBTIDogUyA8IDAgLSAoYi53aWR0aCgpIC0gbS53aWR0aCgpKSA/IDAgLSAoYi53aWR0aCgpIC0gbS53aWR0aCgpKSA6IFMpID8gMCA6IFMsIFMgPSBNYXRoLmFicyhhKSA+IHkgLyAxMCA/IGEgPD0gMCA/IE1hdGguZmxvb3IoUyAvIHkpICogeSA6IE1hdGguY2VpbChTIC8geSkgKiB5IDogYSA8IDAgPyBNYXRoLmNlaWwoUyAvIHkpICogeSA6IE1hdGguZmxvb3IoUyAvIHkpICogeSwgUyA9IDAgPCAoUyA9ICJ2ZXJ0aWNhbCIgPT09IHcgPyBTIDwgMCAtIChiLmhlaWdodCgpIC0gbS5oZWlnaHQoKSkgPyAwIC0gKGIuaGVpZ2h0KCkgLSBtLmhlaWdodCgpKSA6IFMgOiBTIDwgMCAtIChiLndpZHRoKCkgLSBtLndpZHRoKCkpID8gMCAtIChiLndpZHRoKCkgLSBtLndpZHRoKCkpIDogUykgPyAwIDogUywgInZlcnRpY2FsIiA9PT0gdyA/IHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGIsIC41LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogUyArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHB1bmNoZ3MuUG93ZXIzLmVhc2VPdXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA6IHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGIsIC41LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IFMgKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlT3V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksIFMgPSBTIHx8ICgidmVydGljYWwiID09PSB3ID8gYi5wb3NpdGlvbigpLnRvcCA6IGIucG9zaXRpb24oKS5sZWZ0KSwgYi5kYXRhKCJvZmZzZXQiLCBTKSwgYi5kYXRhKCJkaXN0YW5jZSIsIGEpLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMLmRyYWdTdGFydGVkT3ZlclNsaWRlciA9ICExLCBMLmRyYWdTdGFydGVkT3ZlclRodW1icyA9ICExLCBMLmRyYWdTdGFydGVkT3ZlclRhYnMgPSAhMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEwMCksIEMucGFyZW50KCkuZmluZCh1KS5yZW1vdmVDbGFzcygiZHJhZ2dlZCIpLCAhMQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgZiA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgdC5oaWRlX2RlbGF5ID0galF1ZXJ5LmlzTnVtZXJpYyhwYXJzZUludCh0LmhpZGVfZGVsYXksIDApKSA/IHQuaGlkZV9kZWxheSAvIDFlMyA6IC4yLCB0LmhpZGVfZGVsYXlfbW9iaWxlID0galF1ZXJ5LmlzTnVtZXJpYyhwYXJzZUludCh0LmhpZGVfZGVsYXlfbW9iaWxlLCAwKSkgPyB0LmhpZGVfZGVsYXlfbW9iaWxlIC8gMWUzIDogLjIKICAgICAgICB9LAogICAgICAgIG0gPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHJldHVybiB0ICYmIHQuZW5hYmxlCiAgICAgICAgfSwKICAgICAgICBhID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICByZXR1cm4gdCAmJiB0LmVuYWJsZSAmJiAhMCA9PT0gdC5oaWRlX29ubGVhdmUgJiYgKHZvaWQgMCA9PT0gdC5wb3NpdGlvbiB8fCAhdC5wb3NpdGlvbi5tYXRjaCgvb3V0ZXIvZykpCiAgICAgICAgfSwKICAgICAgICBiID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICB2YXIgaSA9IHQucGFyZW50KCk7CiAgICAgICAgICAgIGEoZS5uYXZpZ2F0aW9uLmFycm93cykgJiYgcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoSSA/IGUubmF2aWdhdGlvbi5hcnJvd3MuaGlkZV9kZWxheV9tb2JpbGUgOiBlLm5hdmlnYXRpb24uYXJyb3dzLmhpZGVfZGVsYXksIHcsIFtpLmZpbmQoIi50cGFycm93cyIpLCBlLm5hdmlnYXRpb24uYXJyb3dzLCAiaGlkZSJdKSwgYShlLm5hdmlnYXRpb24uYnVsbGV0cykgJiYgcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoSSA/IGUubmF2aWdhdGlvbi5idWxsZXRzLmhpZGVfZGVsYXlfbW9iaWxlIDogZS5uYXZpZ2F0aW9uLmJ1bGxldHMuaGlkZV9kZWxheSwgdywgW2kuZmluZCgiLnRwLWJ1bGxldHMiKSwgZS5uYXZpZ2F0aW9uLmJ1bGxldHMsICJoaWRlIl0pLCBhKGUubmF2aWdhdGlvbi50aHVtYm5haWxzKSAmJiBwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbChJID8gZS5uYXZpZ2F0aW9uLnRodW1ibmFpbHMuaGlkZV9kZWxheV9tb2JpbGUgOiBlLm5hdmlnYXRpb24udGh1bWJuYWlscy5oaWRlX2RlbGF5LCB3LCBbaS5maW5kKCIudHAtdGh1bWJzIiksIGUubmF2aWdhdGlvbi50aHVtYm5haWxzLCAiaGlkZSJdKSwgYShlLm5hdmlnYXRpb24udGFicykgJiYgcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoSSA/IGUubmF2aWdhdGlvbi50YWJzLmhpZGVfZGVsYXlfbW9iaWxlIDogZS5uYXZpZ2F0aW9uLnRhYnMuaGlkZV9kZWxheSwgdywgW2kuZmluZCgiLnRwLXRhYnMiKSwgZS5uYXZpZ2F0aW9uLnRhYnMsICJoaWRlIl0pCiAgICAgICAgfSwKICAgICAgICB3ID0gZnVuY3Rpb24odCwgZSwgaSwgYSkgewogICAgICAgICAgICBzd2l0Y2ggKGEgPSB2b2lkIDAgPT09IGEgPyAuNSA6IGEsIGkpIHsKICAgICAgICAgICAgICAgIGNhc2UgInNob3ciOgogICAgICAgICAgICAgICAgICAgIHB1bmNoZ3MuVHdlZW5MaXRlLnRvKHQsIGEsIHsKICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxLAogICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQsCiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJ3cml0ZTogImF1dG8iCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJoaWRlIjoKICAgICAgICAgICAgICAgICAgICBwdW5jaGdzLlR3ZWVuTGl0ZS50byh0LCBhLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5Qb3dlcjMuZWFzZUluT3UsCiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJ3cml0ZTogImF1dG8iCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgXyA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgZS5zdHlsZSA9IHZvaWQgMCA9PT0gZS5zdHlsZSA/ICIiIDogZS5zdHlsZSwgZS5sZWZ0LnN0eWxlID0gdm9pZCAwID09PSBlLmxlZnQuc3R5bGUgPyAiIiA6IGUubGVmdC5zdHlsZSwgZS5yaWdodC5zdHlsZSA9IHZvaWQgMCA9PT0gZS5yaWdodC5zdHlsZSA/ICIiIDogZS5yaWdodC5zdHlsZSwgMCA9PT0gdC5maW5kKCIudHAtbGVmdGFycm93LnRwYXJyb3dzIikubGVuZ3RoICYmIHQuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1sZWZ0YXJyb3cgdHBhcnJvd3MgJyArIGUuc3R5bGUgKyAiICIgKyBlLmxlZnQuc3R5bGUgKyAnIj4nICsgZS50bXAgKyAiPC9kaXY+IiksIDAgPT09IHQuZmluZCgiLnRwLXJpZ2h0YXJyb3cudHBhcnJvd3MiKS5sZW5ndGggJiYgdC5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLXJpZ2h0YXJyb3cgdHBhcnJvd3MgJyArIGUuc3R5bGUgKyAiICIgKyBlLnJpZ2h0LnN0eWxlICsgJyI+JyArIGUudG1wICsgIjwvZGl2PiIpOwogICAgICAgICAgICB2YXIgYSA9IHQuZmluZCgiLnRwLWxlZnRhcnJvdy50cGFycm93cyIpLAogICAgICAgICAgICAgICAgbiA9IHQuZmluZCgiLnRwLXJpZ2h0YXJyb3cudHBhcnJvd3MiKTsKICAgICAgICAgICAgZS5ydGwgPyAoYS5jbGljayhmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGkuc2NfaW5kaWNhdG9yID0gImFycm93IiwgaS5zY19pbmRpY2F0b3JfZGlyID0gMCwgdC5yZXZuZXh0KCkKICAgICAgICAgICAgfSksIG4uY2xpY2soZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBpLnNjX2luZGljYXRvciA9ICJhcnJvdyIsIGkuc2NfaW5kaWNhdG9yX2RpciA9IDEsIHQucmV2cHJldigpCiAgICAgICAgICAgIH0pKSA6IChuLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgaS5zY19pbmRpY2F0b3IgPSAiYXJyb3ciLCBpLnNjX2luZGljYXRvcl9kaXIgPSAwLCB0LnJldm5leHQoKQogICAgICAgICAgICB9KSwgYS5jbGljayhmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGkuc2NfaW5kaWNhdG9yID0gImFycm93IiwgaS5zY19pbmRpY2F0b3JfZGlyID0gMSwgdC5yZXZwcmV2KCkKICAgICAgICAgICAgfSkpLCBlLnJpZ2h0LmogPSB0LmZpbmQoIi50cC1yaWdodGFycm93LnRwYXJyb3dzIiksIGUubGVmdC5qID0gdC5maW5kKCIudHAtbGVmdGFycm93LnRwYXJyb3dzIiksIGUucGFkZGluZ190b3AgPSBwYXJzZUludChpLmNhcm91c2VsLnBhZGRpbmdfdG9wIHx8IDAsIDApLCBlLnBhZGRpbmdfYm90dG9tID0gcGFyc2VJbnQoaS5jYXJvdXNlbC5wYWRkaW5nX2JvdHRvbSB8fCAwLCAwKSwgVChhLCBlLmxlZnQsIGkpLCBUKG4sIGUucmlnaHQsIGkpLCBlLmxlZnQub3B0ID0gaSwgZS5yaWdodC5vcHQgPSBpLCAib3V0ZXItbGVmdCIgIT0gZS5wb3NpdGlvbiAmJiAib3V0ZXItcmlnaHQiICE9IGUucG9zaXRpb24gfHwgKGkub3V0ZXJuYXYgPSAhMCkKICAgICAgICB9LAogICAgICAgIHUgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBhID0gdC5vdXRlckhlaWdodCghMCksCiAgICAgICAgICAgICAgICBuID0gKHQub3V0ZXJXaWR0aCghMCksIG51bGwgPT0gZS5vcHQgPyAwIDogMCA9PSBpLmNvbmggPyBpLmhlaWdodCA6IGkuY29uaCksCiAgICAgICAgICAgICAgICByID0gImxheWVyZ3JpZCIgPT0gZS5jb250YWluZXIgPyAiZnVsbHNjcmVlbiIgPT0gaS5zbGlkZXJMYXlvdXQgPyBpLmhlaWdodCAvIDIgLSBpLmdyaWRoZWlnaHRbaS5jdXJXaW5SYW5nZV0gKiBpLmJoIC8gMiA6ICJvbiIgPT0gaS5hdXRvSGVpZ2h0IHx8IG51bGwgIT0gaS5taW5IZWlnaHQgJiYgMCA8IGkubWluSGVpZ2h0ID8gbiAvIDIgLSBpLmdyaWRoZWlnaHRbaS5jdXJXaW5SYW5nZV0gKiBpLmJoIC8gMiA6IDAgOiAwLAogICAgICAgICAgICAgICAgbyA9ICJ0b3AiID09PSBlLnZfYWxpZ24gPyB7CiAgICAgICAgICAgICAgICAgICAgdG9wOiAiMHB4IiwKICAgICAgICAgICAgICAgICAgICB5OiBNYXRoLnJvdW5kKGUudl9vZmZzZXQgKyByKSArICJweCIKICAgICAgICAgICAgICAgIH0gOiAiY2VudGVyIiA9PT0gZS52X2FsaWduID8gewogICAgICAgICAgICAgICAgICAgIHRvcDogIjUwJSIsCiAgICAgICAgICAgICAgICAgICAgeTogTWF0aC5yb3VuZCgwIC0gYSAvIDIgKyBlLnZfb2Zmc2V0KSArICJweCIKICAgICAgICAgICAgICAgIH0gOiB7CiAgICAgICAgICAgICAgICAgICAgdG9wOiAiMTAwJSIsCiAgICAgICAgICAgICAgICAgICAgeTogTWF0aC5yb3VuZCgwIC0gKGEgKyBlLnZfb2Zmc2V0ICsgcikpICsgInB4IgogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgdC5oYXNDbGFzcygib3V0ZXItYm90dG9tIikgfHwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KHQsIG8pCiAgICAgICAgfSwKICAgICAgICB4ID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICB2YXIgYSA9ICh0Lm91dGVySGVpZ2h0KCEwKSwgdC5vdXRlcldpZHRoKCEwKSksCiAgICAgICAgICAgICAgICBuID0gImxheWVyZ3JpZCIgPT0gZS5jb250YWluZXIgPyAiY2Fyb3VzZWwiID09PSBpLnNsaWRlclR5cGUgPyAwIDogaS53aWR0aCAvIDIgLSBpLmdyaWR3aWR0aFtpLmN1cldpblJhbmdlXSAqIGkuYncgLyAyIDogMCwKICAgICAgICAgICAgICAgIHIgPSAibGVmdCIgPT09IGUuaF9hbGlnbiA/IHsKICAgICAgICAgICAgICAgICAgICBsZWZ0OiAiMHB4IiwKICAgICAgICAgICAgICAgICAgICB4OiBNYXRoLnJvdW5kKGUuaF9vZmZzZXQgKyBuKSArICJweCIKICAgICAgICAgICAgICAgIH0gOiAiY2VudGVyIiA9PT0gZS5oX2FsaWduID8gewogICAgICAgICAgICAgICAgICAgIGxlZnQ6ICI1MCUiLAogICAgICAgICAgICAgICAgICAgIHg6IE1hdGgucm91bmQoMCAtIGEgLyAyICsgZS5oX29mZnNldCkgKyAicHgiCiAgICAgICAgICAgICAgICB9IDogewogICAgICAgICAgICAgICAgICAgIGxlZnQ6ICIxMDAlIiwKICAgICAgICAgICAgICAgICAgICB4OiBNYXRoLnJvdW5kKDAgLSAoYSArIGUuaF9vZmZzZXQgKyBuKSkgKyAicHgiCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQodCwgcikKICAgICAgICB9LAogICAgICAgIFQgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIHZhciBhID0gMCA8IHQuY2xvc2VzdCgiLnRwLXNpbXBsZXJlc3BvbnNpdmUiKS5sZW5ndGggPyB0LmNsb3Nlc3QoIi50cC1zaW1wbGVyZXNwb25zaXZlIikgOiAwIDwgdC5jbG9zZXN0KCIudHAtcmV2c2xpZGVyLW1haW51bCIpLmxlbmd0aCA/IHQuY2xvc2VzdCgiLnRwLXJldnNsaWRlci1tYWludWwiKSA6IDAgPCB0LmNsb3Nlc3QoIi5yZXZfc2xpZGVyX3dyYXBwZXIiKS5sZW5ndGggPyB0LmNsb3Nlc3QoIi5yZXZfc2xpZGVyX3dyYXBwZXIiKSA6IHQucGFyZW50KCkuZmluZCgiLnRwLXJldnNsaWRlci1tYWludWwiKSwKICAgICAgICAgICAgICAgIG4gPSBhLndpZHRoKCksCiAgICAgICAgICAgICAgICByID0gYS5oZWlnaHQoKTsKICAgICAgICAgICAgaWYgKHUodCwgZSwgaSksIHgodCwgZSwgaSksICJvdXRlci1sZWZ0IiAhPT0gZS5wb3NpdGlvbiB8fCAiZnVsbHdpZHRoIiAhPSBlLnNsaWRlckxheW91dCAmJiAiZnVsbHNjcmVlbiIgIT0gZS5zbGlkZXJMYXlvdXQgPyAib3V0ZXItcmlnaHQiICE9PSBlLnBvc2l0aW9uIHx8ICJmdWxsd2lkdGgiICE9IGUuc2xpZGVyTGF5b3V0ICYmICJmdWxsc2NyZWVuIiAhPSBlLnNsaWRlckxheW91dCB8fCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQodCwgewogICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwIC0gdC5vdXRlcldpZHRoKCkgKyAicHgiLAogICAgICAgICAgICAgICAgICAgIHg6IGUuaF9vZmZzZXQgKyAicHgiCiAgICAgICAgICAgICAgICB9KSA6IHB1bmNoZ3MuVHdlZW5MaXRlLnNldCh0LCB7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMCAtIHQub3V0ZXJXaWR0aCgpICsgInB4IiwKICAgICAgICAgICAgICAgICAgICB4OiBlLmhfb2Zmc2V0ICsgInB4IgogICAgICAgICAgICAgICAgfSksIHQuaGFzQ2xhc3MoInRwLXRodW1icyIpIHx8IHQuaGFzQ2xhc3MoInRwLXRhYnMiKSkgewogICAgICAgICAgICAgICAgdmFyIG8gPSB0LmRhdGEoIndyX3BhZGRpbmciKSwKICAgICAgICAgICAgICAgICAgICBzID0gdC5kYXRhKCJtYXh3IiksCiAgICAgICAgICAgICAgICAgICAgZCA9IHQuZGF0YSgibWF4aCIpLAogICAgICAgICAgICAgICAgICAgIGwgPSB0Lmhhc0NsYXNzKCJ0cC10aHVtYnMiKSA/IHQuZmluZCgiLnRwLXRodW1iLW1hc2siKSA6IHQuZmluZCgiLnRwLXRhYi1tYXNrIiksCiAgICAgICAgICAgICAgICAgICAgaCA9IHBhcnNlSW50KGUucGFkZGluZ190b3AgfHwgMCwgMCksCiAgICAgICAgICAgICAgICAgICAgcCA9IHBhcnNlSW50KGUucGFkZGluZ19ib3R0b20gfHwgMCwgMCk7CiAgICAgICAgICAgICAgICBuIDwgcyAmJiAib3V0ZXItbGVmdCIgIT09IGUucG9zaXRpb24gJiYgIm91dGVyLXJpZ2h0IiAhPT0gZS5wb3NpdGlvbiA/IChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQodCwgewogICAgICAgICAgICAgICAgICAgIGxlZnQ6ICIwcHgiLAogICAgICAgICAgICAgICAgICAgIHg6IDAsCiAgICAgICAgICAgICAgICAgICAgbWF4V2lkdGg6IG4gLSAyICogbyArICJweCIKICAgICAgICAgICAgICAgIH0pLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobCwgewogICAgICAgICAgICAgICAgICAgIG1heFdpZHRoOiBuIC0gMiAqIG8gKyAicHgiCiAgICAgICAgICAgICAgICB9KSkgOiAocHVuY2hncy5Ud2VlbkxpdGUuc2V0KHQsIHsKICAgICAgICAgICAgICAgICAgICBtYXhXaWR0aDogcyArICJweCIKICAgICAgICAgICAgICAgIH0pLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobCwgewogICAgICAgICAgICAgICAgICAgIG1heFdpZHRoOiBzICsgInB4IgogICAgICAgICAgICAgICAgfSkpLCByIDwgZCArIDIgKiBvICYmICJvdXRlci1ib3R0b20iICE9PSBlLnBvc2l0aW9uICYmICJvdXRlci10b3AiICE9PSBlLnBvc2l0aW9uID8gKHB1bmNoZ3MuVHdlZW5MaXRlLnNldCh0LCB7CiAgICAgICAgICAgICAgICAgICAgdG9wOiAiMHB4IiwKICAgICAgICAgICAgICAgICAgICB5OiAwLAogICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogaCArIHAgKyAociAtIDIgKiBvKSArICJweCIKICAgICAgICAgICAgICAgIH0pLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobCwgewogICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogaCArIHAgKyAociAtIDIgKiBvKSArICJweCIKICAgICAgICAgICAgICAgIH0pKSA6IChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQodCwgewogICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogZCArICJweCIKICAgICAgICAgICAgICAgIH0pLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobCwgewogICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogZCArICJweCIKICAgICAgICAgICAgICAgIH0pKSwgIm91dGVyLWxlZnQiICE9PSBlLnBvc2l0aW9uICYmICJvdXRlci1yaWdodCIgIT09IGUucG9zaXRpb24gJiYgKHAgPSBoID0gMCksICEwID09PSBlLnNwYW4gJiYgInZlcnRpY2FsIiA9PT0gZS5kaXJlY3Rpb24gPyAocHVuY2hncy5Ud2VlbkxpdGUuc2V0KHQsIHsKICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IGggKyBwICsgKHIgLSAyICogbykgKyAicHgiLAogICAgICAgICAgICAgICAgICAgIGhlaWdodDogaCArIHAgKyAociAtIDIgKiBvKSArICJweCIsCiAgICAgICAgICAgICAgICAgICAgdG9wOiAwIC0gaCwKICAgICAgICAgICAgICAgICAgICB5OiAwCiAgICAgICAgICAgICAgICB9KSwgdShsLCBlLCBpKSkgOiAhMCA9PT0gZS5zcGFuICYmICJob3Jpem9udGFsIiA9PT0gZS5kaXJlY3Rpb24gJiYgKHB1bmNoZ3MuVHdlZW5MaXRlLnNldCh0LCB7CiAgICAgICAgICAgICAgICAgICAgbWF4V2lkdGg6ICIxMDAlIiwKICAgICAgICAgICAgICAgICAgICB3aWR0aDogbiAtIDIgKiBvICsgInB4IiwKICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLAogICAgICAgICAgICAgICAgICAgIHg6IDAKICAgICAgICAgICAgICAgIH0pLCB4KGwsIGUsIGkpKQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB5ID0gZnVuY3Rpb24odCwgZSwgaSwgYSkgewogICAgICAgICAgICAwID09PSB0LmZpbmQoIi50cC1idWxsZXRzIikubGVuZ3RoICYmIChlLnN0eWxlID0gdm9pZCAwID09PSBlLnN0eWxlID8gIiIgOiBlLnN0eWxlLCB0LmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtYnVsbGV0cyAnICsgZS5zdHlsZSArICIgIiArIGUuZGlyZWN0aW9uICsgJyI+PC9kaXY+JykpOwogICAgICAgICAgICB2YXIgbiA9IHQuZmluZCgiLnRwLWJ1bGxldHMiKSwKICAgICAgICAgICAgICAgIHIgPSBpLmRhdGEoImluZGV4IiksCiAgICAgICAgICAgICAgICBvID0gZS50bXA7CiAgICAgICAgICAgIGpRdWVyeS5lYWNoKGEudGh1bWJzW2kuaW5kZXgoKV0ucGFyYW1zLCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICBvID0gby5yZXBsYWNlKGUuZnJvbSwgZS50bykKICAgICAgICAgICAgfSksIG4uYXBwZW5kKCc8ZGl2IGNsYXNzPSJqdXN0YWRkZWRidWxsZXQgdHAtYnVsbGV0Ij4nICsgbyArICI8L2Rpdj4iKTsKICAgICAgICAgICAgdmFyIHMgPSB0LmZpbmQoIi5qdXN0YWRkZWRidWxsZXQiKSwKICAgICAgICAgICAgICAgIGQgPSB0LmZpbmQoIi50cC1idWxsZXQiKS5sZW5ndGgsCiAgICAgICAgICAgICAgICBsID0gcy5vdXRlcldpZHRoKCkgKyBwYXJzZUludCh2b2lkIDAgPT09IGUuc3BhY2UgPyAwIDogZS5zcGFjZSwgMCksCiAgICAgICAgICAgICAgICBoID0gcy5vdXRlckhlaWdodCgpICsgcGFyc2VJbnQodm9pZCAwID09PSBlLnNwYWNlID8gMCA6IGUuc3BhY2UsIDApOwogICAgICAgICAgICAidmVydGljYWwiID09PSBlLmRpcmVjdGlvbiA/IChzLmNzcyh7CiAgICAgICAgICAgICAgICB0b3A6IChkIC0gMSkgKiBoICsgInB4IiwKICAgICAgICAgICAgICAgIGxlZnQ6ICIwcHgiCiAgICAgICAgICAgIH0pLCBuLmNzcyh7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IChkIC0gMSkgKiBoICsgcy5vdXRlckhlaWdodCgpLAogICAgICAgICAgICAgICAgd2lkdGg6IHMub3V0ZXJXaWR0aCgpCiAgICAgICAgICAgIH0pKSA6IChzLmNzcyh7CiAgICAgICAgICAgICAgICBsZWZ0OiAoZCAtIDEpICogbCArICJweCIsCiAgICAgICAgICAgICAgICB0b3A6ICIwcHgiCiAgICAgICAgICAgIH0pLCBuLmNzcyh7CiAgICAgICAgICAgICAgICB3aWR0aDogKGQgLSAxKSAqIGwgKyBzLm91dGVyV2lkdGgoKSwKICAgICAgICAgICAgICAgIGhlaWdodDogcy5vdXRlckhlaWdodCgpCiAgICAgICAgICAgIH0pKSwgcy5maW5kKCIudHAtYnVsbGV0LWltYWdlIikuY3NzKHsKICAgICAgICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogInVybCgiICsgYS50aHVtYnNbaS5pbmRleCgpXS5zcmMgKyAiKSIKICAgICAgICAgICAgfSksIHMuZGF0YSgibGlyZWYiLCByKSwgcy5jbGljayhmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGEuc2NfaW5kaWNhdG9yID0gImJ1bGxldCIsIHQucmV2Y2FsbHNsaWRld2l0aGlkKHIpLCB0LmZpbmQoIi50cC1idWxsZXQiKS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKSwgalF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJzZWxlY3RlZCIpCiAgICAgICAgICAgIH0pLCBzLnJlbW92ZUNsYXNzKCJqdXN0YWRkZWRidWxsZXQiKSwgZS5wYWRkaW5nX3RvcCA9IHBhcnNlSW50KGEuY2Fyb3VzZWwucGFkZGluZ190b3AgfHwgMCwgMCksIGUucGFkZGluZ19ib3R0b20gPSBwYXJzZUludChhLmNhcm91c2VsLnBhZGRpbmdfYm90dG9tIHx8IDAsIDApLCBlLm9wdCA9IGEsICJvdXRlci1sZWZ0IiAhPSBlLnBvc2l0aW9uICYmICJvdXRlci1yaWdodCIgIT0gZS5wb3NpdGlvbiB8fCAoYS5vdXRlcm5hdiA9ICEwKSwgbi5hZGRDbGFzcygibmF2LXBvcy1ob3ItIiArIGUuaF9hbGlnbiksIG4uYWRkQ2xhc3MoIm5hdi1wb3MtdmVyLSIgKyBlLnZfYWxpZ24pLCBuLmFkZENsYXNzKCJuYXYtZGlyLSIgKyBlLmRpcmVjdGlvbiksIFQobiwgZSwgYSkKICAgICAgICB9LAogICAgICAgIFMgPSBmdW5jdGlvbihlLCB0LCBpLCBhLCBuKSB7CiAgICAgICAgICAgIHZhciByID0gInRwLXRodW1iIiA9PT0gYSA/ICIudHAtdGh1bWJzIiA6ICIudHAtdGFicyIsCiAgICAgICAgICAgICAgICBvID0gInRwLXRodW1iIiA9PT0gYSA/ICIudHAtdGh1bWItbWFzayIgOiAiLnRwLXRhYi1tYXNrIiwKICAgICAgICAgICAgICAgIHMgPSAidHAtdGh1bWIiID09PSBhID8gIi50cC10aHVtYnMtaW5uZXItd3JhcHBlciIgOiAiLnRwLXRhYnMtaW5uZXItd3JhcHBlciIsCiAgICAgICAgICAgICAgICBkID0gInRwLXRodW1iIiA9PT0gYSA/ICIudHAtdGh1bWIiIDogIi50cC10YWIiLAogICAgICAgICAgICAgICAgbCA9ICJ0cC10aHVtYiIgPT09IGEgPyAiLnRwLXRodW1iLWltYWdlIiA6ICIudHAtdGFiLWltYWdlIjsKICAgICAgICAgICAgaWYgKHQudmlzaWJsZUFtb3VudCA9IHQudmlzaWJsZUFtb3VudCA+IG4uc2xpZGVhbW91bnQgPyBuLnNsaWRlYW1vdW50IDogdC52aXNpYmxlQW1vdW50LCB0LnNsaWRlckxheW91dCA9IG4uc2xpZGVyTGF5b3V0LCAwID09PSBlLnBhcmVudCgpLmZpbmQocikubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICB0LnN0eWxlID0gdm9pZCAwID09PSB0LnN0eWxlID8gIiIgOiB0LnN0eWxlOwogICAgICAgICAgICAgICAgdmFyIGggPSAnPGRpdiBjbGFzcz0iJyArIGEgKyAicyAiICsgKCEwID09PSB0LnNwYW4gPyAidHAtc3Bhbi13cmFwcGVyIiA6ICIiKSArICIgIiArIHQucG9zaXRpb24gKyAiICIgKyB0LnN0eWxlICsgJyI+PGRpdiBjbGFzcz0iJyArIGEgKyAnLW1hc2siPjxkaXYgY2xhc3M9IicgKyBhICsgJ3MtaW5uZXItd3JhcHBlciIgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyI+PC9kaXY+PC9kaXY+PC9kaXY+JzsKICAgICAgICAgICAgICAgICJvdXRlci10b3AiID09PSB0LnBvc2l0aW9uID8gZS5wYXJlbnQoKS5wcmVwZW5kKGgpIDogIm91dGVyLWJvdHRvbSIgPT09IHQucG9zaXRpb24gPyBlLmFmdGVyKGgpIDogZS5hcHBlbmQoaCksIHQucGFkZGluZ190b3AgPSBwYXJzZUludChuLmNhcm91c2VsLnBhZGRpbmdfdG9wIHx8IDAsIDApLCB0LnBhZGRpbmdfYm90dG9tID0gcGFyc2VJbnQobi5jYXJvdXNlbC5wYWRkaW5nX2JvdHRvbSB8fCAwLCAwKSwgIm91dGVyLWxlZnQiICE9IHQucG9zaXRpb24gJiYgIm91dGVyLXJpZ2h0IiAhPSB0LnBvc2l0aW9uIHx8IChuLm91dGVybmF2ID0gITApCiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIHAgPSBpLmRhdGEoImluZGV4IiksCiAgICAgICAgICAgICAgICB1ID0gZS5wYXJlbnQoKS5maW5kKHIpLAogICAgICAgICAgICAgICAgYyA9IHUuZmluZChvKSwKICAgICAgICAgICAgICAgIGcgPSBjLmZpbmQocyksCiAgICAgICAgICAgICAgICB2ID0gImhvcml6b250YWwiID09PSB0LmRpcmVjdGlvbiA/IHQud2lkdGggKiB0LnZpc2libGVBbW91bnQgKyB0LnNwYWNlICogKHQudmlzaWJsZUFtb3VudCAtIDEpIDogdC53aWR0aCwKICAgICAgICAgICAgICAgIGYgPSAiaG9yaXpvbnRhbCIgPT09IHQuZGlyZWN0aW9uID8gdC5oZWlnaHQgOiB0LmhlaWdodCAqIHQudmlzaWJsZUFtb3VudCArIHQuc3BhY2UgKiAodC52aXNpYmxlQW1vdW50IC0gMSksCiAgICAgICAgICAgICAgICBtID0gdC50bXA7CiAgICAgICAgICAgIGpRdWVyeS5lYWNoKG4udGh1bWJzW2kuaW5kZXgoKV0ucGFyYW1zLCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICBtID0gbS5yZXBsYWNlKGUuZnJvbSwgZS50bykKICAgICAgICAgICAgfSksIGcuYXBwZW5kKCc8ZGl2IGRhdGEtbGlpbmRleD0iJyArIGkuaW5kZXgoKSArICciIGRhdGEtbGlyZWY9IicgKyBwICsgJyIgY2xhc3M9Imp1c3RhZGRlZHRodW1iICcgKyBhICsgJyIgc3R5bGU9IndpZHRoOicgKyB0LndpZHRoICsgInB4O2hlaWdodDoiICsgdC5oZWlnaHQgKyAncHg7Ij4nICsgbSArICI8L2Rpdj4iKTsKICAgICAgICAgICAgdmFyIGIgPSB1LmZpbmQoIi5qdXN0YWRkZWR0aHVtYiIpLAogICAgICAgICAgICAgICAgdyA9IHUuZmluZChkKS5sZW5ndGgsCiAgICAgICAgICAgICAgICBfID0gYi5vdXRlcldpZHRoKCkgKyBwYXJzZUludCh2b2lkIDAgPT09IHQuc3BhY2UgPyAwIDogdC5zcGFjZSwgMCksCiAgICAgICAgICAgICAgICB4ID0gYi5vdXRlckhlaWdodCgpICsgcGFyc2VJbnQodm9pZCAwID09PSB0LnNwYWNlID8gMCA6IHQuc3BhY2UsIDApOwogICAgICAgICAgICBiLmZpbmQobCkuY3NzKHsKICAgICAgICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogInVybCgiICsgbi50aHVtYnNbaS5pbmRleCgpXS5zcmMgKyAiKSIKICAgICAgICAgICAgfSksICJ2ZXJ0aWNhbCIgPT09IHQuZGlyZWN0aW9uID8gKGIuY3NzKHsKICAgICAgICAgICAgICAgIHRvcDogKHcgLSAxKSAqIHggKyAicHgiLAogICAgICAgICAgICAgICAgbGVmdDogIjBweCIKICAgICAgICAgICAgfSksIGcuY3NzKHsKICAgICAgICAgICAgICAgIGhlaWdodDogKHcgLSAxKSAqIHggKyBiLm91dGVySGVpZ2h0KCksCiAgICAgICAgICAgICAgICB3aWR0aDogYi5vdXRlcldpZHRoKCkKICAgICAgICAgICAgfSkpIDogKGIuY3NzKHsKICAgICAgICAgICAgICAgIGxlZnQ6ICh3IC0gMSkgKiBfICsgInB4IiwKICAgICAgICAgICAgICAgIHRvcDogIjBweCIKICAgICAgICAgICAgfSksIGcuY3NzKHsKICAgICAgICAgICAgICAgIHdpZHRoOiAodyAtIDEpICogXyArIGIub3V0ZXJXaWR0aCgpLAogICAgICAgICAgICAgICAgaGVpZ2h0OiBiLm91dGVySGVpZ2h0KCkKICAgICAgICAgICAgfSkpLCB1LmRhdGEoIm1heHciLCB2KSwgdS5kYXRhKCJtYXhoIiwgZiksIHUuZGF0YSgid3JfcGFkZGluZyIsIHQud3JhcHBlcl9wYWRkaW5nKTsKICAgICAgICAgICAgdmFyIHkgPSAib3V0ZXItdG9wIiA9PT0gdC5wb3NpdGlvbiB8fCAib3V0ZXItYm90dG9tIiA9PT0gdC5wb3NpdGlvbiA/ICJyZWxhdGl2ZSIgOiAiYWJzb2x1dGUiOwogICAgICAgICAgICAib3V0ZXItdG9wIiAhPT0gdC5wb3NpdGlvbiAmJiAib3V0ZXItYm90dG9tIiAhPT0gdC5wb3NpdGlvbiB8fCB0LmhfYWxpZ24sIGMuY3NzKHsKICAgICAgICAgICAgICAgIG1heFdpZHRoOiB2ICsgInB4IiwKICAgICAgICAgICAgICAgIG1heEhlaWdodDogZiArICJweCIsCiAgICAgICAgICAgICAgICBvdmVyZmxvdzogImhpZGRlbiIsCiAgICAgICAgICAgICAgICBwb3NpdGlvbjogInJlbGF0aXZlIgogICAgICAgICAgICB9KSwgdS5jc3MoewogICAgICAgICAgICAgICAgbWF4V2lkdGg6IHYgKyAicHgiLAogICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBmICsgInB4IiwKICAgICAgICAgICAgICAgIG92ZXJmbG93OiAidmlzaWJsZSIsCiAgICAgICAgICAgICAgICBwb3NpdGlvbjogeSwKICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHQud3JhcHBlcl9jb2xvciwKICAgICAgICAgICAgICAgIHBhZGRpbmc6IHQud3JhcHBlcl9wYWRkaW5nICsgInB4IiwKICAgICAgICAgICAgICAgIGJveFNpemluZzogImNvbnRldC1ib3giCiAgICAgICAgICAgIH0pLCBiLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbi5zY19pbmRpY2F0b3IgPSAiYnVsbGV0IjsKICAgICAgICAgICAgICAgIHZhciB0ID0gZS5wYXJlbnQoKS5maW5kKHMpLmRhdGEoImRpc3RhbmNlIik7CiAgICAgICAgICAgICAgICB0ID0gdm9pZCAwID09PSB0ID8gMCA6IHQsIE1hdGguYWJzKHQpIDwgMTAgJiYgKGUucmV2Y2FsbHNsaWRld2l0aGlkKHApLCBlLnBhcmVudCgpLmZpbmQocikucmVtb3ZlQ2xhc3MoInNlbGVjdGVkIiksIGpRdWVyeSh0aGlzKS5hZGRDbGFzcygic2VsZWN0ZWQiKSkKICAgICAgICAgICAgfSksIGIucmVtb3ZlQ2xhc3MoImp1c3RhZGRlZHRodW1iIiksIHQub3B0ID0gbiwgdS5hZGRDbGFzcygibmF2LXBvcy1ob3ItIiArIHQuaF9hbGlnbiksIHUuYWRkQ2xhc3MoIm5hdi1wb3MtdmVyLSIgKyB0LnZfYWxpZ24pLCB1LmFkZENsYXNzKCJuYXYtZGlyLSIgKyB0LmRpcmVjdGlvbiksIFQodSwgdCwgbikKICAgICAgICB9LAogICAgICAgIGwgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgIHZhciBlID0gdC5jLnBhcmVudCgpLmZpbmQoIi5vdXRlci10b3AiKSwKICAgICAgICAgICAgICAgIGkgPSB0LmMucGFyZW50KCkuZmluZCgiLm91dGVyLWJvdHRvbSIpOwogICAgICAgICAgICB0LnRvcF9vdXRlciA9IGUuaGFzQ2xhc3MoInRwLWZvcmNlbm90dmlzaWJsZSIpID8gMCA6IGUub3V0ZXJIZWlnaHQoKSB8fCAwLCB0LmJvdHRvbV9vdXRlciA9IGkuaGFzQ2xhc3MoInRwLWZvcmNlbm90dmlzaWJsZSIpID8gMCA6IGkub3V0ZXJIZWlnaHQoKSB8fCAwCiAgICAgICAgfSwKICAgICAgICBvID0gZnVuY3Rpb24odCwgZSwgaSwgYSkgewogICAgICAgICAgICBpIDwgZSB8fCBhIDwgaSA/IHQuYWRkQ2xhc3MoInRwLWZvcmNlbm90dmlzaWJsZSIpIDogdC5yZW1vdmVDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIikKICAgICAgICB9Cn0oalF1ZXJ5KTsKISBmdW5jdGlvbihlKSB7CiAgICAidXNlIHN0cmljdCI7CgogICAgZnVuY3Rpb24gbShlLCByKSB7CiAgICAgICAgZS5sYXN0c2Nyb2xsdG9wID0gcgogICAgfQogICAgdmFyIFQgPSBqUXVlcnkuZm4ucmV2b2x1dGlvbiwKICAgICAgICBfID0gVC5pc19tb2JpbGUoKSwKICAgICAgICBhID0gewogICAgICAgICAgICBhbGlhczogIlBhcmFsbGF4IE1pbiBKUyIsCiAgICAgICAgICAgIG5hbWU6ICJyZXZvbHV0aW9uLmV4dGVuc2lvbnMucGFyYWxsYXgubWluLmpzIiwKICAgICAgICAgICAgbWluX2NvcmU6ICI1LjQuNSIsCiAgICAgICAgICAgIHZlcnNpb246ICIyLjIuMyIKICAgICAgICB9OwogICAgalF1ZXJ5LmV4dGVuZCghMCwgVCwgewogICAgICAgIGNoZWNrRm9yUGFyYWxsYXg6IGZ1bmN0aW9uKGcsIHkpIHsKICAgICAgICAgICAgZnVuY3Rpb24gZShlKSB7CiAgICAgICAgICAgICAgICBpZiAoIjNEIiA9PSBiLnR5cGUgfHwgIjNkIiA9PSBiLnR5cGUpIHsKICAgICAgICAgICAgICAgICAgICBlLmZpbmQoIi5zbG90aG9sZGVyIikud3JhcEFsbCgnPGRpdiBjbGFzcz0iZGRkd3JhcHBlciIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjBweDtsZWZ0OjBweDtvdmVyZmxvdzpoaWRkZW4iPjwvZGl2PicpLCBlLmZpbmQoIi50cC1wYXJhbGxheC13cmFwIikud3JhcEFsbCgnPGRpdiBjbGFzcz0iZGRkd3JhcHBlci1sYXllciIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjBweDtsZWZ0OjBweDt6LWluZGV4OjU7b3ZlcmZsb3c6JyArIGIuZGRkX2xheWVyX292ZXJmbG93ICsgJzsiPjwvZGl2PicpLCBlLmZpbmQoIi5ycy1wYXJhbGxheGxldmVsLXRvYmdncm91cCIpLmNsb3Nlc3QoIi50cC1wYXJhbGxheC13cmFwIikud3JhcEFsbCgnPGRpdiBjbGFzcz0iZGRkd3JhcHBlci1sYXllcnRvYmdncm91cCIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDowcHg7ei1pbmRleDo1MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlIj48L2Rpdj4nKTsKICAgICAgICAgICAgICAgICAgICB2YXIgciA9IGUuZmluZCgiLmRkZHdyYXBwZXIiKSwKICAgICAgICAgICAgICAgICAgICAgICAgdCA9IGUuZmluZCgiLmRkZHdyYXBwZXItbGF5ZXIiKTsKICAgICAgICAgICAgICAgICAgICBlLmZpbmQoIi5kZGR3cmFwcGVyLWxheWVydG9iZ2dyb3VwIikuYXBwZW5kVG8ociksICJjYXJvdXNlbCIgPT0geS5zbGlkZXJUeXBlICYmICgib24iID09IGIuZGRkX3NoYWRvdyAmJiByLmFkZENsYXNzKCJkZGR3cmFwcGVyc2hhZG93IiksIHB1bmNoZ3MuVHdlZW5MaXRlLnNldChyLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogeS5jYXJvdXNlbC5ib3JkZXJfcmFkaXVzCiAgICAgICAgICAgICAgICAgICAgfSkpLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZSwgewogICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogInZpc2libGUiLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1TdHlsZTogInByZXNlcnZlLTNkIiwKICAgICAgICAgICAgICAgICAgICAgICAgcGVyc3BlY3RpdmU6IDE2MDAKICAgICAgICAgICAgICAgICAgICB9KSwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KHIsIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW46ICI1MCUgNTAlIgogICAgICAgICAgICAgICAgICAgIH0pLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQodCwgewogICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogIjUwJSA1MCUiLAogICAgICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IDUKICAgICAgICAgICAgICAgICAgICB9KSwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KHkudWwsIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtU3R5bGU6ICJwcmVzZXJ2ZS0zZCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybVBlcnNwZWN0aXZlOiAxNjAwCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoInN0b3AiID09PSBULmNvbXBhcmVfdmVyc2lvbihhKS5jaGVjaykgcmV0dXJuICExOwogICAgICAgICAgICB2YXIgYiA9IHkucGFyYWxsYXg7CiAgICAgICAgICAgIGlmICghYi5kb25lKSB7CiAgICAgICAgICAgICAgICBpZiAoYi5kb25lID0gITAsIF8gJiYgIm9uIiA9PSBiLmRpc2FibGVfb25tb2JpbGUpIHJldHVybiAhMTsKICAgICAgICAgICAgICAgICIzRCIgIT0gYi50eXBlICYmICIzZCIgIT0gYi50eXBlIHx8IChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoeS5jLCB7CiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGIuZGRkX292ZXJmbG93CiAgICAgICAgICAgICAgICB9KSwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KHkudWwsIHsKICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogYi5kZGRfb3ZlcmZsb3cKICAgICAgICAgICAgICAgIH0pLCAiY2Fyb3VzZWwiICE9IHkuc2xpZGVyVHlwZSAmJiAib24iID09IGIuZGRkX3NoYWRvdyAmJiAoeS5jLnByZXBlbmQoJzxkaXYgY2xhc3M9ImRkZHdyYXBwZXJzaGFkb3ciPjwvZGl2PicpLCBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoeS5jLmZpbmQoIi5kZGR3cmFwcGVyc2hhZG93IiksIHsKICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtUGVyc3BlY3RpdmU6IDE2MDAsCiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiAiNTAlIDUwJSIsCiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICIxMDAlIiwKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICIxMDAlIiwKICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogImFic29sdXRlIiwKICAgICAgICAgICAgICAgICAgICB0b3A6IDAsCiAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwKICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IDAKICAgICAgICAgICAgICAgIH0pKSksIHkubGkuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBlKGpRdWVyeSh0aGlzKSkKICAgICAgICAgICAgICAgIH0pLCAoIjNEIiA9PSBiLnR5cGUgfHwgIjNkIiA9PSBiLnR5cGUpICYmIDAgPCB5LmMuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKS5sZW5ndGggJiYgKHB1bmNoZ3MuVHdlZW5MaXRlLnNldCh5LmMuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKSwgewogICAgICAgICAgICAgICAgICAgIHRvcDogMCwKICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLAogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiMTAwJSIsCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAiMTAwJSIKICAgICAgICAgICAgICAgIH0pLCBlKHkuYy5maW5kKCIudHAtc3RhdGljLWxheWVycyIpKSksIGIucGNvbnRhaW5lcnMgPSBuZXcgQXJyYXksIGIucGNvbnRhaW5lcl9kZXB0aHMgPSBuZXcgQXJyYXksIGIuYmdjb250YWluZXJzID0gbmV3IEFycmF5LCBiLmJnY29udGFpbmVyX2RlcHRocyA9IG5ldyBBcnJheSwgeS5jLmZpbmQoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkgLnNsb3Rob2xkZXIsIC50cC1yZXZzbGlkZXItc2xpZGVzbGkgLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIiKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpLAogICAgICAgICAgICAgICAgICAgICAgICByID0gZS5kYXRhKCJiZ3BhcmFsbGF4IikgfHwgeS5wYXJhbGxheC5iZ3BhcmFsbGF4OwogICAgICAgICAgICAgICAgICAgIHZvaWQgMCAhPT0gKHIgPSAib24iID09IHIgPyAxIDogcikgJiYgIm9mZiIgIT09IHIgJiYgKGIuYmdjb250YWluZXJzLnB1c2goZSksIGIuYmdjb250YWluZXJfZGVwdGhzLnB1c2goeS5wYXJhbGxheC5sZXZlbHNbcGFyc2VJbnQociwgMCkgLSAxXSAvIDEwMCkpCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZvciAodmFyIHIgPSAxOyByIDw9IGIubGV2ZWxzLmxlbmd0aDsgcisrKSB5LmMuZmluZCgiLnJzLXBhcmFsbGF4bGV2ZWwtIiArIHIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcykuY2xvc2VzdCgiLnRwLXBhcmFsbGF4LXdyYXAiKTsKICAgICAgICAgICAgICAgICAgICBlLmRhdGEoInBhcmFsbGF4bGV2ZWwiLCBiLmxldmVsc1tyIC0gMV0pLCBlLmFkZENsYXNzKCJ0cC1wYXJhbGxheC1jb250YWluZXIiKSwgYi5wY29udGFpbmVycy5wdXNoKGUpLCBiLnBjb250YWluZXJfZGVwdGhzLnB1c2goYi5sZXZlbHNbciAtIDFdKQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAibW91c2UiICE9IGIudHlwZSAmJiAic2Nyb2xsK21vdXNlIiAhPSBiLnR5cGUgJiYgIm1vdXNlK3Njcm9sbCIgIT0gYi50eXBlICYmICIzRCIgIT0gYi50eXBlICYmICIzZCIgIT0gYi50eXBlIHx8IChnLm1vdXNlZW50ZXIoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIHZhciByID0gZy5maW5kKCIuYWN0aXZlLXJldnNsaWRlIiksCiAgICAgICAgICAgICAgICAgICAgICAgIHQgPSBnLm9mZnNldCgpLnRvcCwKICAgICAgICAgICAgICAgICAgICAgICAgYSA9IGcub2Zmc2V0KCkubGVmdCwKICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGUucGFnZVggLSBhLAogICAgICAgICAgICAgICAgICAgICAgICBsID0gZS5wYWdlWSAtIHQ7CiAgICAgICAgICAgICAgICAgICAgci5kYXRhKCJlbnRlcngiLCBpKSwgci5kYXRhKCJlbnRlcnkiLCBsKQogICAgICAgICAgICAgICAgfSksIGcub24oIm1vdXNlbW92ZS5ob3ZlcmRpciwgbW91c2VsZWF2ZS5ob3ZlcmRpciwgdHJpZ2dlcjNkcGF0aCIsIGZ1bmN0aW9uKGQsIGUpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgciA9IGUgJiYgZS5saSA/IGUubGkgOiBnLmZpbmQoIi5hY3RpdmUtcmV2c2xpZGUiKTsKICAgICAgICAgICAgICAgICAgICBpZiAoImVudGVycG9pbnQiID09IGIub3JpZ28pIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBnLm9mZnNldCgpLnRvcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBnLm9mZnNldCgpLmxlZnQ7CiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgPT0gci5kYXRhKCJlbnRlcngiKSAmJiByLmRhdGEoImVudGVyeCIsIGQucGFnZVggLSBhKSwgbnVsbCA9PSByLmRhdGEoImVudGVyeSIpICYmIHIuZGF0YSgiZW50ZXJ5IiwgZC5wYWdlWSAtIHQpOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IHIuZGF0YSgiZW50ZXJ4IikgfHwgZC5wYWdlWCAtIGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsID0gci5kYXRhKCJlbnRlcnkiKSB8fCBkLnBhZ2VZIC0gdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAgPSBpIC0gKGQucGFnZVggLSBhKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMgPSBsIC0gKGQucGFnZVkgLSB0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUgPSBiLnNwZWVkIC8gMWUzIHx8IC40CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHQgPSBnLm9mZnNldCgpLnRvcCwgYSA9IGcub2Zmc2V0KCkubGVmdCwgcCA9IHkuY29udyAvIDIgLSAoZC5wYWdlWCAtIGEpLCBjID0geS5jb25oIC8gMiAtIChkLnBhZ2VZIC0gdCksIHUgPSBiLnNwZWVkIC8gMWUzIHx8IDM7CiAgICAgICAgICAgICAgICAgICAgIm1vdXNlbGVhdmUiID09IGQudHlwZSAmJiAocCA9IGIuZGRkX2xhc3RoIHx8IDAsIGMgPSBiLmRkZF9sYXN0diB8fCAwLCB1ID0gMS41KTsKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBvID0gMDsgbyA8IGIucGNvbnRhaW5lcnMubGVuZ3RoOyBvKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHMgPSBiLnBjb250YWluZXJzW29dLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbiA9IGIucGNvbnRhaW5lcl9kZXB0aHNbb10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoID0gIjNEIiA9PSBiLnR5cGUgfHwgIjNkIiA9PSBiLnR5cGUgPyBuIC8gMjAwIDogbiAvIDEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYgPSBwICogaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHcgPSBjICogaDsKICAgICAgICAgICAgICAgICAgICAgICAgInNjcm9sbCttb3VzZSIgPT0gYi50eXBlIHx8ICJtb3VzZStzY3JvbGwiID09IGIudHlwZSA/IHB1bmNoZ3MuVHdlZW5MaXRlLnRvKHMsIHUsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg6IGYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlT3V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcndyaXRlOiAiYWxsIgogICAgICAgICAgICAgICAgICAgICAgICB9KSA6IHB1bmNoZ3MuVHdlZW5MaXRlLnRvKHMsIHUsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg6IGYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiB3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5Qb3dlcjMuZWFzZU91dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJ3cml0ZTogImFsbCIKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaWYgKCIzRCIgPT0gYi50eXBlIHx8ICIzZCIgPT0gYi50eXBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2ID0gIi50cC1yZXZzbGlkZXItc2xpZGVzbGkgLmRkZHdyYXBwZXIsIC5kZGR3cmFwcGVyc2hhZG93LCAudHAtcmV2c2xpZGVyLXNsaWRlc2xpIC5kZGR3cmFwcGVyLWxheWVyLCAudHAtc3RhdGljLWxheWVycyAuZGRkd3JhcHBlci1sYXllciI7CiAgICAgICAgICAgICAgICAgICAgICAgICJjYXJvdXNlbCIgPT09IHkuc2xpZGVyVHlwZSAmJiAodiA9ICIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIC5kZGR3cmFwcGVyLCAudHAtcmV2c2xpZGVyLXNsaWRlc2xpIC5kZGR3cmFwcGVyLWxheWVyLCAudHAtc3RhdGljLWxheWVycyAuZGRkd3JhcHBlci1sYXllciIpLCB5LmMuZmluZCh2KS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IGIubGV2ZWxzW2IubGV2ZWxzLmxlbmd0aCAtIDFdIC8gMjAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgPSBwICogciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhID0gYyAqIHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IDAgPT0geS5jb253ID8gMCA6IE1hdGgucm91bmQocCAvIHkuY29udyAqIHIgKiAxMDApIHx8IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbCA9IDAgPT0geS5jb25oID8gMCA6IE1hdGgucm91bmQoYyAvIHkuY29uaCAqIHIgKiAxMDApIHx8IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbyA9IGUuY2xvc2VzdCgibGkiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzID0gMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuID0gITE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLmhhc0NsYXNzKCJkZGR3cmFwcGVyLWxheWVyIikgJiYgKHMgPSBiLmRkZF96X2NvcnJlY3Rpb24gfHwgNjUsIG4gPSAhMCksIGUuaGFzQ2xhc3MoImRkZHdyYXBwZXItbGF5ZXIiKSAmJiAoYSA9IHQgPSAwKSwgby5oYXNDbGFzcygiYWN0aXZlLXJldnNsaWRlIikgfHwgImNhcm91c2VsIiAhPSB5LnNsaWRlclR5cGUgPyAib24iICE9IGIuZGRkX2JnZnJlZXplIHx8IG4gPyBwdW5jaGdzLlR3ZWVuTGl0ZS50byhlLCB1LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb25YOiBsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWTogLWksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDogdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6OiBzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk6IGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5Qb3dlcjMuZWFzZU91dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyd3JpdGU6ICJhbGwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA6IHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGUsIC41LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvblg6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgejogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlT3V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJ3cml0ZTogImFsbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pIDogcHVuY2hncy5Ud2VlbkxpdGUudG8oZSwgLjUsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb25ZOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvblg6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgejogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlT3V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJ3cml0ZTogImFsbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCAibW91c2VsZWF2ZSIgPT0gZC50eXBlICYmIHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGpRdWVyeSh0aGlzKSwgMy44LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgejogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlT3V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pLCBfICYmICh3aW5kb3cub25kZXZpY2VvcmllbnRhdGlvbiA9IGZ1bmN0aW9uKGQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IE1hdGgucm91bmQoZC5iZXRhIHx8IDApIC0gNzAsCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBNYXRoLnJvdW5kKGQuZ2FtbWEgfHwgMCksCiAgICAgICAgICAgICAgICAgICAgICAgIHQgPSBnLmZpbmQoIi5hY3RpdmUtcmV2c2xpZGUiKTsKICAgICAgICAgICAgICAgICAgICBpZiAoalF1ZXJ5KHdpbmRvdykud2lkdGgoKSA+IGpRdWVyeSh3aW5kb3cpLmhlaWdodCgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhID0gcjsKICAgICAgICAgICAgICAgICAgICAgICAgciA9IGUsIGUgPSBhCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHZhciBpID0gZy53aWR0aCgpLAogICAgICAgICAgICAgICAgICAgICAgICBsID0gZy5oZWlnaHQoKSwKICAgICAgICAgICAgICAgICAgICAgICAgcCA9IDM2MCAvIGkgKiByLAogICAgICAgICAgICAgICAgICAgICAgICBjID0gMTgwIC8gbCAqIGUsCiAgICAgICAgICAgICAgICAgICAgICAgIHUgPSBiLnNwZWVkIC8gMWUzIHx8IDMsCiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSBbXTsKICAgICAgICAgICAgICAgICAgICBpZiAodC5maW5kKCIudHAtcGFyYWxsYXgtY29udGFpbmVyIikuZWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvLnB1c2goalF1ZXJ5KHRoaXMpKQogICAgICAgICAgICAgICAgICAgICAgICB9KSwgZy5maW5kKCIudHAtc3RhdGljLWxheWVycyAudHAtcGFyYWxsYXgtY29udGFpbmVyIikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8ucHVzaChqUXVlcnkodGhpcykpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBqUXVlcnkuZWFjaChvLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBwYXJzZUludChlLmRhdGEoInBhcmFsbGF4bGV2ZWwiKSwgMCkgLyAxMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9IHAgKiByICogMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhID0gYyAqIHIgKiA0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVuY2hncy5Ud2VlbkxpdGUudG8oZSwgdSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiB0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk6IGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5Qb3dlcjMuZWFzZU91dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyd3JpdGU6ICJhbGwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICB9KSwgIjNEIiA9PSBiLnR5cGUgfHwgIjNkIiA9PSBiLnR5cGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHMgPSAiLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlciwgLmRkZHdyYXBwZXJzaGFkb3csIC50cC1yZXZzbGlkZXItc2xpZGVzbGkgLmRkZHdyYXBwZXItbGF5ZXIsIC50cC1zdGF0aWMtbGF5ZXJzIC5kZGR3cmFwcGVyLWxheWVyIjsKICAgICAgICAgICAgICAgICAgICAgICAgImNhcm91c2VsIiA9PT0geS5zbGlkZXJUeXBlICYmIChzID0gIi50cC1yZXZzbGlkZXItc2xpZGVzbGkgLmRkZHdyYXBwZXIsIC50cC1yZXZzbGlkZXItc2xpZGVzbGkgLmRkZHdyYXBwZXItbGF5ZXIsIC50cC1zdGF0aWMtbGF5ZXJzIC5kZGR3cmFwcGVyLWxheWVyIiksIHkuYy5maW5kKHMpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gYi5sZXZlbHNbYi5sZXZlbHMubGVuZ3RoIC0gMV0gLyAyMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9IHAgKiByLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBjICogciAqIDMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IDAgPT0geS5jb253ID8gMCA6IE1hdGgucm91bmQocCAvIHkuY29udyAqIHIgKiA1MDApIHx8IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbCA9IDAgPT0geS5jb25oID8gMCA6IE1hdGgucm91bmQoYyAvIHkuY29uaCAqIHIgKiA3MDApIHx8IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbyA9IGUuY2xvc2VzdCgibGkiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzID0gMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuID0gITE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLmhhc0NsYXNzKCJkZGR3cmFwcGVyLWxheWVyIikgJiYgKHMgPSBiLmRkZF96X2NvcnJlY3Rpb24gfHwgNjUsIG4gPSAhMCksIGUuaGFzQ2xhc3MoImRkZHdyYXBwZXItbGF5ZXIiKSAmJiAoYSA9IHQgPSAwKSwgby5oYXNDbGFzcygiYWN0aXZlLXJldnNsaWRlIikgfHwgImNhcm91c2VsIiAhPSB5LnNsaWRlclR5cGUgPyAib24iICE9IGIuZGRkX2JnZnJlZXplIHx8IG4gPyBwdW5jaGdzLlR3ZWVuTGl0ZS50byhlLCB1LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb25YOiBsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWTogLWksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDogdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6OiBzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk6IGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5Qb3dlcjMuZWFzZU91dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyd3JpdGU6ICJhbGwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA6IHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGUsIC41LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvblg6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgejogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlT3V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJ3cml0ZTogImFsbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pIDogcHVuY2hncy5Ud2VlbkxpdGUudG8oZSwgLjUsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb25ZOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHo6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlT3V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJ3cml0ZTogImFsbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCAibW91c2VsZWF2ZSIgPT0gZC50eXBlICYmIHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGpRdWVyeSh0aGlzKSwgMy44LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgejogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlT3V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICAgIHZhciB0ID0geS5zY3JvbGxlZmZlY3Q7CiAgICAgICAgICAgICAgICBpZiAodC5iZ3MgPSBuZXcgQXJyYXksIHQub24pIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIm9uIiA9PT0gdC5vbl9zbGlkZWJnKQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHIgPSAwOyByIDwgeS5hbGxzbG90aG9sZGVyLmxlbmd0aDsgcisrKSB0LmJncy5wdXNoKHkuYWxsc2xvdGhvbGRlcltyXSk7CiAgICAgICAgICAgICAgICAgICAgdC5tdWx0aXBsaWNhdG9yX2xheWVycyA9IHBhcnNlRmxvYXQodC5tdWx0aXBsaWNhdG9yX2xheWVycyksIHQubXVsdGlwbGljYXRvciA9IHBhcnNlRmxvYXQodC5tdWx0aXBsaWNhdG9yKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdm9pZCAwICE9PSB0LmxheWVycyAmJiAwID09PSB0LmxheWVycy5sZW5ndGggJiYgKHQubGF5ZXJzID0gITEpLCB2b2lkIDAgIT09IHQuYmdzICYmIDAgPT09IHQuYmdzLmxlbmd0aCAmJiAodC5iZ3MgPSAhMSksIFQuc2Nyb2xsVGlja2VyKHksIGcpCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHNjcm9sbFRpY2tlcjogZnVuY3Rpb24ociwgZSkgewogICAgICAgICAgICAxICE9IHIuc2Nyb2xsVGlja2VyICYmIChyLnNjcm9sbFRpY2tlciA9ICEwLCBfID8gKHB1bmNoZ3MuVHdlZW5MaXRlLnRpY2tlci5mcHMoMTUwKSwgcHVuY2hncy5Ud2VlbkxpdGUudGlja2VyLmFkZEV2ZW50TGlzdGVuZXIoInRpY2siLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIFQuc2Nyb2xsSGFuZGxpbmcocikKICAgICAgICAgICAgfSwgZSwgITEsIDEpKSA6IGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIFQuc2Nyb2xsSGFuZGxpbmcociwgITApCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIHBhc3NpdmU6ICEwCiAgICAgICAgICAgIH0pKSwgVC5zY3JvbGxIYW5kbGluZyhyLCAhMCkKICAgICAgICB9LAogICAgICAgIHNjcm9sbEhhbmRsaW5nOiBmdW5jdGlvbihlLCByLCB0KSB7CiAgICAgICAgICAgIGlmIChlLmxhc3R3aW5kb3doZWlnaHQgPSBlLmxhc3R3aW5kb3doZWlnaHQgfHwgd2luZG93LmlubmVySGVpZ2h0LCBlLmNvbmggPSAwID09PSBlLmNvbmggfHwgdm9pZCAwID09PSBlLmNvbmggPyBlLmluZnVsbHNjcmVlbm1vZGUgPyBlLm1pbkhlaWdodCA6IGUuYy5oZWlnaHQoKSA6IGUuY29uaCwgZS5sYXN0c2Nyb2xsdG9wID09IHdpbmRvdy5zY3JvbGxZICYmICFlLmR1cmluZ3NsaWRlY2hhbmdlICYmICFyKSByZXR1cm4gITE7CiAgICAgICAgICAgIHB1bmNoZ3MuVHdlZW5MaXRlLmRlbGF5ZWRDYWxsKC4yLCBtLCBbZSwgd2luZG93LnNjcm9sbFldKTsKICAgICAgICAgICAgdmFyIGEgPSBlLmNbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksCiAgICAgICAgICAgICAgICBpID0gZS52aWV3UG9ydCwKICAgICAgICAgICAgICAgIGwgPSBlLnBhcmFsbGF4LAogICAgICAgICAgICAgICAgbyA9IGEudG9wIDwgMCB8fCBhLmhlaWdodCA+IGUubGFzdHdpbmRvd2hlaWdodCA/IGEudG9wIC8gYS5oZWlnaHQgOiBhLmJvdHRvbSA+IGUubGFzdHdpbmRvd2hlaWdodCA/IChhLmJvdHRvbSAtIGUubGFzdHdpbmRvd2hlaWdodCkgLyBhLmhlaWdodCA6IDA7CiAgICAgICAgICAgIGlmIChlLnNjcm9sbHByb2MgPSBvLCBULmNhbGxCYWNrSGFuZGxpbmcgJiYgVC5jYWxsQmFja0hhbmRsaW5nKGUsICJwYXJhbGxheCIsICJzdGFydCIpLCBpLmVuYWJsZSkgewogICAgICAgICAgICAgICAgdmFyIHMgPSAxIC0gTWF0aC5hYnMobyk7CiAgICAgICAgICAgICAgICBzID0gcyA8IDAgPyAwIDogcywgalF1ZXJ5LmlzTnVtZXJpYyhpLnZpc2libGVfYXJlYSkgfHwgLTEgIT09IGkudmlzaWJsZV9hcmVhLmluZGV4T2YoIiUiKSAmJiAoaS52aXNpYmxlX2FyZWEgPSBwYXJzZUludChpLnZpc2libGVfYXJlYSkgLyAxMDApLCAxIC0gaS52aXNpYmxlX2FyZWEgPD0gcyA/IGUuaW52aWV3cG9ydCB8fCAoZS5pbnZpZXdwb3J0ID0gITAsIFQuZW50ZXJJblZpZXdQb3J0KGUpKSA6IGUuaW52aWV3cG9ydCAmJiAoZS5pbnZpZXdwb3J0ID0gITEsIFQubGVhdmVWaWV3UG9ydChlKSkKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoXyAmJiAib24iID09IGwuZGlzYWJsZV9vbm1vYmlsZSkgcmV0dXJuICExOwogICAgICAgICAgICBpZiAoIjNkIiAhPSBsLnR5cGUgJiYgIjNEIiAhPSBsLnR5cGUpIHsKICAgICAgICAgICAgICAgIGlmICgoInNjcm9sbCIgPT0gbC50eXBlIHx8ICJzY3JvbGwrbW91c2UiID09IGwudHlwZSB8fCAibW91c2Urc2Nyb2xsIiA9PSBsLnR5cGUpICYmIGwucGNvbnRhaW5lcnMpCiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgbiA9IDA7IG4gPCBsLnBjb250YWluZXJzLmxlbmd0aDsgbisrKQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoMCA8IGwucGNvbnRhaW5lcnNbbl0ubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZCA9IGwucGNvbnRhaW5lcnNbbl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcCA9IGwucGNvbnRhaW5lcl9kZXB0aHNbbl0gLyAxMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYyA9IE1hdGgucm91bmQobyAqICgtcCAqIGUuY29uaCkgKiAxMCkgLyAxMCB8fCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUgPSB2b2lkIDAgIT09IHQgPyB0IDogbC5zcGVlZGxzIC8gMWUzIHx8IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLmRhdGEoInBhcmFsbGF4b2Zmc2V0IiwgYyksIHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGQsIHUsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyd3JpdGU6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeTogYwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKGwuYmdjb250YWluZXJzKQogICAgICAgICAgICAgICAgICAgIGZvciAobiA9IDA7IG4gPCBsLmJnY29udGFpbmVycy5sZW5ndGg7IG4rKykgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgaCA9IGwuYmdjb250YWluZXJzW25dOwogICAgICAgICAgICAgICAgICAgICAgICBjID0gbyAqICgtbC5iZ2NvbnRhaW5lcl9kZXB0aHNbbl0gKiBlLmNvbmgpIHx8IDAsIHUgPSB2b2lkIDAgIT09IHQgPyB0IDogbC5zcGVlZGJnIC8gMWUzIHx8IDA7CiAgICAgICAgICAgICAgICAgICAgICAgIHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGgsIHUsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAiMHB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6ICIwcHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2ZhY2VWaXNpYmlsaXR5OiAiaGlkZGVuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJ0cnVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk6IGMgKyAicHgiCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBmID0gZS5zY3JvbGxlZmZlY3Q7CiAgICAgICAgICAgIGlmIChmLm9uICYmICgib24iICE9PSBmLmRpc2FibGVfb25fbW9iaWxlIHx8ICFfKSkgewogICAgICAgICAgICAgICAgdmFyIHcgPSBNYXRoLmFicyhvKSAtIGYudGlsdCAvIDEwMDsKICAgICAgICAgICAgICAgIGlmICh3ID0gdyA8IDAgPyAwIDogdywgITEgIT09IGYubGF5ZXJzKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHYgPSAxIC0gdyAqIGYubXVsdGlwbGljYXRvcl9sYXllcnMsCiAgICAgICAgICAgICAgICAgICAgICAgIGcgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZmFjZVZpc2liaWxpdHk6ICJoaWRkZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogInRydWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgejogLjAwMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcnNwZWN0aXZlOiA2MDAKICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICBpZiAoInRvcCIgPT0gZi5kaXJlY3Rpb24gJiYgMCA8PSBvICYmICh2ID0gMSksICJib3R0b20iID09IGYuZGlyZWN0aW9uICYmIG8gPD0gMCAmJiAodiA9IDEpLCB2ID0gMSA8IHYgPyAxIDogdiA8IDAgPyAwIDogdiwgIm9uIiA9PT0gZi5mYWRlICYmIChnLm9wYWNpdHkgPSB2KSwgIm9uIiA9PT0gZi5zY2FsZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgeSA9IHY7CiAgICAgICAgICAgICAgICAgICAgICAgIGcuc2NhbGUgPSAxIC0geSArIDEKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaWYgKCJvbiIgPT09IGYuYmx1cikgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgYiA9ICgxIC0gdikgKiBmLm1heGJsdXI7CiAgICAgICAgICAgICAgICAgICAgICAgIGdbIi13ZWJraXQtZmlsdGVyIl0gPSAiYmx1cigiICsgYiArICJweCkiLCBnLmZpbHRlciA9ICJibHVyKCIgKyBiICsgInB4KSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaWYgKCJvbiIgPT09IGYuZ3JheXNjYWxlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB4ID0gImdyYXlzY2FsZSgiICsgMTAwICogKDEgLSB2KSArICIlKSI7CiAgICAgICAgICAgICAgICAgICAgICAgIGdbIi13ZWJraXQtZmlsdGVyIl0gPSB2b2lkIDAgPT09IGdbIi13ZWJraXQtZmlsdGVyIl0gPyB4IDogZ1siLXdlYmtpdC1maWx0ZXIiXSArICIgIiArIHgsIGcuZmlsdGVyID0gdm9pZCAwID09PSBnLmZpbHRlciA/IHggOiBnLmZpbHRlciArICIgIiArIHgKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGYubGF5ZXJzLCBnKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKCExICE9PSBmLmJncykgewogICAgICAgICAgICAgICAgICAgIHYgPSAxIC0gdyAqIGYubXVsdGlwbGljYXRvciwgZyA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgYmFja2ZhY2VWaXNpYmlsaXR5OiAiaGlkZGVuIiwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogInRydWUiCiAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICBpZiAoInRvcCIgPT0gZi5kaXJlY3Rpb24gJiYgMCA8PSBvICYmICh2ID0gMSksICJib3R0b20iID09IGYuZGlyZWN0aW9uICYmIG8gPD0gMCAmJiAodiA9IDEpLCB2ID0gMSA8IHYgPyAxIDogdiA8IDAgPyAwIDogdiwgIm9uIiA9PT0gZi5mYWRlICYmIChnLm9wYWNpdHkgPSB2KSwgIm9uIiA9PT0gZi5zY2FsZSkgewogICAgICAgICAgICAgICAgICAgICAgICB5ID0gdjsKICAgICAgICAgICAgICAgICAgICAgICAgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGpRdWVyeSgiLnRwLWtiaW1nLXdyYXAiKSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiAiNTAlIDUwJSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FsZTogeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICEwCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmICgib24iID09PSBmLmJsdXIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYiA9ICgxIC0gdikgKiBmLm1heGJsdXI7CiAgICAgICAgICAgICAgICAgICAgICAgIGdbIi13ZWJraXQtZmlsdGVyIl0gPSAiYmx1cigiICsgYiArICJweCkiLCBnLmZpbHRlciA9ICJibHVyKCIgKyBiICsgInB4KSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaWYgKCJvbiIgPT09IGYuZ3JheXNjYWxlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHggPSAiZ3JheXNjYWxlKCIgKyAxMDAgKiAoMSAtIHYpICsgIiUpIjsKICAgICAgICAgICAgICAgICAgICAgICAgZ1siLXdlYmtpdC1maWx0ZXIiXSA9IHZvaWQgMCA9PT0gZ1siLXdlYmtpdC1maWx0ZXIiXSA/IHggOiBnWyItd2Via2l0LWZpbHRlciJdICsgIiAiICsgeCwgZy5maWx0ZXIgPSB2b2lkIDAgPT09IGcuZmlsdGVyID8geCA6IGcuZmlsdGVyICsgIiAiICsgeAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZi5iZ3MsIGcpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgVC5jYWxsQmFja0hhbmRsaW5nICYmIFQuY2FsbEJhY2tIYW5kbGluZyhlLCAicGFyYWxsYXgiLCAiZW5kIikKICAgICAgICB9CiAgICB9KQp9KGpRdWVyeSk7CiEgZnVuY3Rpb24odCkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIEwgPSBqUXVlcnkuZm4ucmV2b2x1dGlvbiwKICAgICAgICBsID0gewogICAgICAgICAgICBhbGlhczogIlNsaWRlQW5pbWF0aW9ucyBNaW4gSlMiLAogICAgICAgICAgICBuYW1lOiAicmV2b2x1dGlvbi5leHRlbnNpb25zLnNsaWRlYW5pbXMubWluLmpzIiwKICAgICAgICAgICAgbWluX2NvcmU6ICI1LjQuNSIsCiAgICAgICAgICAgIHZlcnNpb246ICIxLjgiCiAgICAgICAgfTsKICAgIGpRdWVyeS5leHRlbmQoITAsIEwsIHsKICAgICAgICBhbmltYXRlU2xpZGU6IGZ1bmN0aW9uKHQsIGUsIG8sIGEsIGksIG4sIHIsIHMpIHsKICAgICAgICAgICAgcmV0dXJuICJzdG9wIiA9PT0gTC5jb21wYXJlX3ZlcnNpb24obCkuY2hlY2sgPyBzIDogZCh0LCBlLCBvLCBhLCBpLCBuLCByLCBzKQogICAgICAgIH0KICAgIH0pOwogICAgdmFyIHV0ID0gZnVuY3Rpb24odCwgZSwgbywgYSkgewogICAgICAgICAgICB2YXIgaSA9IHQsCiAgICAgICAgICAgICAgICBuID0gaS5maW5kKCIuZGVmYXVsdGltZyIpLAogICAgICAgICAgICAgICAgciA9IG4uZGF0YSgibWVkaWFmaWx0ZXIiKSwKICAgICAgICAgICAgICAgIHMgPSBpLmRhdGEoInpvb21zdGFydCIpLAogICAgICAgICAgICAgICAgbCA9IGkuZGF0YSgicm90YXRpb25zdGFydCIpOwogICAgICAgICAgICBudWxsICE9IG4uZGF0YSgiY3Vycm90YXRlIikgJiYgKGwgPSBuLmRhdGEoImN1cnJvdGF0ZSIpKSwgbnVsbCAhPSBuLmRhdGEoImN1cnNjYWxlIikgJiYgImJveCIgPT0gYSA/IHMgPSAxMDAgKiBuLmRhdGEoImN1cnNjYWxlIikgOiBudWxsICE9IG4uZGF0YSgiY3Vyc2NhbGUiKSAmJiAocyA9IG4uZGF0YSgiY3Vyc2NhbGUiKSksIEwuc2xvdFNpemUobiwgZSk7CiAgICAgICAgICAgIHZhciBkID0gbi5hdHRyKCJzcmMiKSwKICAgICAgICAgICAgICAgIGggPSBuLmRhdGEoImJnY29sb3IiKSwKICAgICAgICAgICAgICAgIGMgPSBlLndpZHRoLAogICAgICAgICAgICAgICAgdSA9IGUuaGVpZ2h0LAogICAgICAgICAgICAgICAgZiA9IG4uZGF0YSgiZnhvZiIpOwogICAgICAgICAgICB2b2lkIDAgPT09IGggJiYgKGggPSBuLmNzcygiYmFja2dyb3VuZENvbG9yIikpLCAib24iID09IGUuYXV0b0hlaWdodCAmJiAodSA9IGUuYy5oZWlnaHQoKSksIG51bGwgPT0gZiAmJiAoZiA9IDApOwogICAgICAgICAgICB2YXIgcCA9IDAsCiAgICAgICAgICAgICAgICBnID0gbi5kYXRhKCJiZ2ZpdCIpLAogICAgICAgICAgICAgICAgdyA9IG4uZGF0YSgiYmdyZXBlYXQiKSwKICAgICAgICAgICAgICAgIG0gPSBuLmRhdGEoImJncG9zaXRpb24iKTsKICAgICAgICAgICAgbnVsbCA9PSBnICYmIChnID0gImNvdmVyIiksIG51bGwgPT0gdyAmJiAodyA9ICJuby1yZXBlYXQiKSwgbnVsbCA9PSBtICYmIChtID0gImNlbnRlciBjZW50ZXIiKTsKICAgICAgICAgICAgdmFyIHY7CiAgICAgICAgICAgIHN3aXRjaCAodiA9IHZvaWQgMCAhPT0gaCAmJiAwIDw9IGguaW5kZXhPZigiZ3JhZGllbnQiKSA/ICJiYWNrZ3JvdW5kOiIgKyBoIDogImJhY2tncm91bmQtY29sb3I6IiArIGggKyAiO2JhY2tncm91bmQtaW1hZ2U6dXJsKCIgKyBkICsgIik7YmFja2dyb3VuZC1yZXBlYXQ6IiArIHcgKyAiO2JhY2tncm91bmQtc2l6ZToiICsgZyArICI7YmFja2dyb3VuZC1wb3NpdGlvbjoiICsgbSwgYSkgewogICAgICAgICAgICAgICAgY2FzZSAiYm94IjoKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciB5ID0gMCwgeCA9IDAsIFQgPSAwOyBUIDwgZS5zbG90czsgVCsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIHogPSB4ID0gMDsgeiA8IGUuc2xvdHM7IHorKykgaS5hcHBlbmQoJzxkaXYgY2xhc3M9InNsb3QiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JyArICgwICsgeCkgKyAicHg7bGVmdDoiICsgKGYgKyB5KSArICJweDt3aWR0aDoiICsgZS5zbG90dyArICJweDtoZWlnaHQ6IiArIGUuc2xvdGggKyAncHg7b3ZlcmZsb3c6aGlkZGVuOyI+PGRpdiBjbGFzcz0ic2xvdHNsaWRlICcgKyByICsgJyIgZGF0YS14PSInICsgeSArICciIGRhdGEteT0iJyArIHggKyAnIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOjBweDtsZWZ0OjBweDt3aWR0aDonICsgZS5zbG90dyArICJweDtoZWlnaHQ6IiArIGUuc2xvdGggKyAncHg7b3ZlcmZsb3c6aGlkZGVuOyI+PGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOicgKyAoMCAtIHgpICsgInB4O2xlZnQ6IiArICgwIC0geSkgKyAicHg7d2lkdGg6IiArIGMgKyAicHg7aGVpZ2h0OiIgKyB1ICsgInB4OyIgKyB2ICsgJzsiPjwvZGl2PjwvZGl2PjwvZGl2PicpLCB4ICs9IGUuc2xvdGgsIG51bGwgIT0gcyAmJiBudWxsICE9IGwgJiYgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGkuZmluZCgiLnNsb3QiKS5sYXN0KCksIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWjogbAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgeSArPSBlLnNsb3R3CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAidmVydGljYWwiOgogICAgICAgICAgICAgICAgY2FzZSAiaG9yaXpvbnRhbCI6CiAgICAgICAgICAgICAgICAgICAgaWYgKCJob3Jpem9udGFsIiA9PSBhKQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKG8gfHwgKHAgPSAwIC0gZS5zbG90dyksIHogPSAwOyB6IDwgZS5zbG90czsgeisrKSBpLmFwcGVuZCgnPGRpdiBjbGFzcz0ic2xvdCIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDonICsgKGYgKyB6ICogZS5zbG90dykgKyAicHg7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOiIgKyAoZS5zbG90dyArIC4zKSArICJweDtoZWlnaHQ6IiArIHUgKyAncHgiPjxkaXYgY2xhc3M9InNsb3RzbGlkZSAnICsgciArICciIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6JyArIHAgKyAicHg7d2lkdGg6IiArIChlLnNsb3R3ICsgLjYpICsgInB4O2hlaWdodDoiICsgdSArICdweDtvdmVyZmxvdzpoaWRkZW47Ij48ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6JyArICgwIC0geiAqIGUuc2xvdHcpICsgInB4O3dpZHRoOiIgKyBjICsgInB4O2hlaWdodDoiICsgdSArICJweDsiICsgdiArICc7Ij48L2Rpdj48L2Rpdj48L2Rpdj4nKSwgbnVsbCAhPSBzICYmIG51bGwgIT0gbCAmJiBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5maW5kKCIuc2xvdCIpLmxhc3QoKSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb25aOiBsCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChvIHx8IChwID0gMCAtIGUuc2xvdGgpLCB6ID0gMDsgeiA8IGUuc2xvdHMgKyAyOyB6KyspIGkuYXBwZW5kKCc8ZGl2IGNsYXNzPSJzbG90IiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOicgKyAoMCArIHogKiBlLnNsb3RoKSArICJweDtsZWZ0OiIgKyBmICsgInB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoiICsgYyArICJweDtoZWlnaHQ6IiArIGUuc2xvdGggKyAncHgiPjxkaXYgY2xhc3M9InNsb3RzbGlkZSAnICsgciArICciIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JyArIHAgKyAicHg7bGVmdDowcHg7d2lkdGg6IiArIGMgKyAicHg7aGVpZ2h0OiIgKyBlLnNsb3RoICsgJ3B4O292ZXJmbG93OmhpZGRlbjsiPjxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDonICsgKDAgLSB6ICogZS5zbG90aCkgKyAicHg7bGVmdDowcHg7d2lkdGg6IiArIGMgKyAicHg7aGVpZ2h0OiIgKyB1ICsgInB4OyIgKyB2ICsgJzsiPjwvZGl2PjwvZGl2PjwvZGl2PicpLCBudWxsICE9IHMgJiYgbnVsbCAhPSBsICYmIHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLmZpbmQoIi5zbG90IikubGFzdCgpLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvblo6IGwKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgZnQgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsID09IGUgfHwgalF1ZXJ5LmlzTnVtZXJpYyh0KSA/IHQgOiBudWxsID09IHQgPyB0IDogdC5zcGxpdCgiLCIpW2VdCiAgICAgICAgfSwKICAgICAgICBkID0gZnVuY3Rpb24oYSwgdCwgeiwgZSwgbywgaSwgbiwgcikgewogICAgICAgICAgICB2YXIgcyA9IHpbMF0ub3B0LAogICAgICAgICAgICAgICAgbCA9IG8uaW5kZXgoKSwKICAgICAgICAgICAgICAgIGQgPSBlLmluZGV4KCkgPCBsID8gMSA6IDA7CiAgICAgICAgICAgICJhcnJvdyIgPT0gcy5zY19pbmRpY2F0b3IgJiYgKGQgPSBzLnNjX2luZGljYXRvcl9kaXIpOwogICAgICAgICAgICB2YXIgaCA9IGZ1bmN0aW9uKHQsIG8sIGUsIGEpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IHpbMF0ub3B0LAogICAgICAgICAgICAgICAgICAgICAgICBuID0gcHVuY2hncy5Qb3dlcjEuZWFzZUluLAogICAgICAgICAgICAgICAgICAgICAgICByID0gcHVuY2hncy5Qb3dlcjEuZWFzZU91dCwKICAgICAgICAgICAgICAgICAgICAgICAgcyA9IHB1bmNoZ3MuUG93ZXIxLmVhc2VJbk91dCwKICAgICAgICAgICAgICAgICAgICAgICAgbCA9IHB1bmNoZ3MuUG93ZXIyLmVhc2VJbiwKICAgICAgICAgICAgICAgICAgICAgICAgZCA9IHB1bmNoZ3MuUG93ZXIyLmVhc2VPdXQsCiAgICAgICAgICAgICAgICAgICAgICAgIGggPSBwdW5jaGdzLlBvd2VyMi5lYXNlSW5PdXQsCiAgICAgICAgICAgICAgICAgICAgICAgIGMgPSAocHVuY2hncy5Qb3dlcjMuZWFzZUluLCBwdW5jaGdzLlBvd2VyMy5lYXNlT3V0KSwKICAgICAgICAgICAgICAgICAgICAgICAgdSA9IHB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dCwKICAgICAgICAgICAgICAgICAgICAgICAgZiA9IFswLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAyOCwgMjksIDMwLCAzMSwgMzIsIDMzLCAzNCwgMzUsIDM2LCAzNywgMzgsIDM5LCA0MCwgNDEsIDQyLCA0MywgNDQsIDQ1XSwKICAgICAgICAgICAgICAgICAgICAgICAgcCA9IFsxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjddLAogICAgICAgICAgICAgICAgICAgICAgICBnID0gMCwKICAgICAgICAgICAgICAgICAgICAgICAgdyA9IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIG0gPSAwLAogICAgICAgICAgICAgICAgICAgICAgICB2ID0gMCwKICAgICAgICAgICAgICAgICAgICAgICAgeSA9IChuZXcgQXJyYXksIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiYm94c2xpZGUiLCAwLCAxLCAxMCwgMCwgImJveCIsICExLCBudWxsLCAwLCByLCByLCA1MDAsIDZdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJib3hmYWRlIiwgMSwgMCwgMTAsIDAsICJib3giLCAhMSwgbnVsbCwgMSwgcywgcywgNzAwLCA1XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsic2xvdHNsaWRlLWhvcml6b250YWwiLCAyLCAwLCAwLCAyMDAsICJob3Jpem9udGFsIiwgITAsICExLCAyLCBoLCBoLCA3MDAsIDNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJzbG90c2xpZGUtdmVydGljYWwiLCAzLCAwLCAwLCAyMDAsICJ2ZXJ0aWNhbCIsICEwLCAhMSwgMywgaCwgaCwgNzAwLCAzXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiY3VydGFpbi0xIiwgNCwgMywgMCwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDQsIHIsIHIsIDMwMCwgNV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImN1cnRhaW4tMiIsIDUsIDMsIDAsIDAsICJob3Jpem9udGFsIiwgITAsICEwLCA1LCByLCByLCAzMDAsIDVdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJjdXJ0YWluLTMiLCA2LCAzLCAyNSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDYsIHIsIHIsIDMwMCwgNV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInNsb3R6b29tLWhvcml6b250YWwiLCA3LCAwLCAwLCA0MDAsICJob3Jpem9udGFsIiwgITAsICEwLCA3LCByLCByLCAzMDAsIDddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJzbG90em9vbS12ZXJ0aWNhbCIsIDgsIDAsIDAsIDAsICJ2ZXJ0aWNhbCIsICEwLCAhMCwgOCwgZCwgZCwgNTAwLCA4XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsic2xvdGZhZGUtaG9yaXpvbnRhbCIsIDksIDAsIDAsIDFlMywgImhvcml6b250YWwiLCAhMCwgbnVsbCwgOSwgZCwgZCwgMmUzLCAxMF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInNsb3RmYWRlLXZlcnRpY2FsIiwgMTAsIDAsIDAsIDFlMywgInZlcnRpY2FsIiwgITAsIG51bGwsIDEwLCBkLCBkLCAyZTMsIDEwXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiZmFkZSIsIDExLCAwLCAxLCAzMDAsICJob3Jpem9udGFsIiwgITAsIG51bGwsIDExLCBoLCBoLCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJjcm9zc2ZhZGUiLCAxMSwgMSwgMSwgMzAwLCAiaG9yaXpvbnRhbCIsICEwLCBudWxsLCAxMSwgaCwgaCwgMWUzLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiZmFkZXRocm91Z2hkYXJrIiwgMTEsIDIsIDEsIDMwMCwgImhvcml6b250YWwiLCAhMCwgbnVsbCwgMTEsIGgsIGgsIDFlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImZhZGV0aHJvdWdobGlnaHQiLCAxMSwgMywgMSwgMzAwLCAiaG9yaXpvbnRhbCIsICEwLCBudWxsLCAxMSwgaCwgaCwgMWUzLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiZmFkZXRocm91Z2h0cmFuc3BhcmVudCIsIDExLCA0LCAxLCAzMDAsICJob3Jpem9udGFsIiwgITAsIG51bGwsIDExLCBoLCBoLCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJzbGlkZWxlZnQiLCAxMiwgMCwgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDEyLCB1LCB1LCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJzbGlkZXVwIiwgMTMsIDAsIDEsIDAsICJob3Jpem9udGFsIiwgITAsICEwLCAxMywgdSwgdSwgMWUzLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsic2xpZGVkb3duIiwgMTQsIDAsIDEsIDAsICJob3Jpem9udGFsIiwgITAsICEwLCAxNCwgdSwgdSwgMWUzLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsic2xpZGVyaWdodCIsIDE1LCAwLCAxLCAwLCAiaG9yaXpvbnRhbCIsICEwLCAhMCwgMTUsIHUsIHUsIDFlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInNsaWRlb3ZlcmxlZnQiLCAxMiwgNywgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDEyLCB1LCB1LCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJzbGlkZW92ZXJ1cCIsIDEzLCA3LCAxLCAwLCAiaG9yaXpvbnRhbCIsICEwLCAhMCwgMTMsIHUsIHUsIDFlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInNsaWRlb3ZlcmRvd24iLCAxNCwgNywgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDE0LCB1LCB1LCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJzbGlkZW92ZXJyaWdodCIsIDE1LCA3LCAxLCAwLCAiaG9yaXpvbnRhbCIsICEwLCAhMCwgMTUsIHUsIHUsIDFlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInNsaWRlcmVtb3ZlbGVmdCIsIDEyLCA4LCAxLCAwLCAiaG9yaXpvbnRhbCIsICEwLCAhMCwgMTIsIHUsIHUsIDFlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInNsaWRlcmVtb3ZldXAiLCAxMywgOCwgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDEzLCB1LCB1LCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJzbGlkZXJlbW92ZWRvd24iLCAxNCwgOCwgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDE0LCB1LCB1LCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJzbGlkZXJlbW92ZXJpZ2h0IiwgMTUsIDgsIDEsIDAsICJob3Jpem9udGFsIiwgITAsICEwLCAxNSwgdSwgdSwgMWUzLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsicGFwZXJjdXQiLCAxNiwgMCwgMCwgNjAwLCAiIiwgbnVsbCwgbnVsbCwgMTYsIHUsIHUsIDFlMywgMl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIjNkY3VydGFpbi1ob3Jpem9udGFsIiwgMTcsIDAsIDIwLCAxMDAsICJ2ZXJ0aWNhbCIsICExLCAhMCwgMTcsIHMsIHMsIDUwMCwgN10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIjNkY3VydGFpbi12ZXJ0aWNhbCIsIDE4LCAwLCAxMCwgMTAwLCAiaG9yaXpvbnRhbCIsICExLCAhMCwgMTgsIHMsIHMsIDUwMCwgNV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImN1YmljIiwgMTksIDAsIDIwLCA2MDAsICJob3Jpem9udGFsIiwgITEsICEwLCAxOSwgdSwgdSwgNTAwLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiY3ViZSIsIDE5LCAwLCAyMCwgNjAwLCAiaG9yaXpvbnRhbCIsICExLCAhMCwgMjAsIHUsIHUsIDUwMCwgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImZseWluIiwgMjAsIDAsIDQsIDYwMCwgInZlcnRpY2FsIiwgITEsICEwLCAyMSwgYywgdSwgNTAwLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsidHVybm9mZiIsIDIxLCAwLCAxLCA1MDAsICJob3Jpem9udGFsIiwgITEsICEwLCAyMiwgdSwgdSwgNTAwLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiaW5jdWJlIiwgMjIsIDAsIDIwLCAyMDAsICJob3Jpem9udGFsIiwgITEsICEwLCAyMywgaCwgaCwgNTAwLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiY3ViaWMtaG9yaXpvbnRhbCIsIDIzLCAwLCAyMCwgNTAwLCAidmVydGljYWwiLCAhMSwgITAsIDI0LCBkLCBkLCA1MDAsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJjdWJlLWhvcml6b250YWwiLCAyMywgMCwgMjAsIDUwMCwgInZlcnRpY2FsIiwgITEsICEwLCAyNSwgZCwgZCwgNTAwLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiaW5jdWJlLWhvcml6b250YWwiLCAyNCwgMCwgMjAsIDUwMCwgInZlcnRpY2FsIiwgITEsICEwLCAyNiwgaCwgaCwgNTAwLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsidHVybm9mZi12ZXJ0aWNhbCIsIDI1LCAwLCAxLCAyMDAsICJob3Jpem9udGFsIiwgITEsICEwLCAyNywgaCwgaCwgNTAwLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiZmFkZWZyb21yaWdodCIsIDEyLCAxLCAxLCAwLCAiaG9yaXpvbnRhbCIsICEwLCAhMCwgMjgsIGgsIGgsIDFlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImZhZGVmcm9tbGVmdCIsIDE1LCAxLCAxLCAwLCAiaG9yaXpvbnRhbCIsICEwLCAhMCwgMjksIGgsIGgsIDFlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImZhZGVmcm9tdG9wIiwgMTQsIDEsIDEsIDAsICJob3Jpem9udGFsIiwgITAsICEwLCAzMCwgaCwgaCwgMWUzLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiZmFkZWZyb21ib3R0b20iLCAxMywgMSwgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDMxLCBoLCBoLCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJmYWRldG9sZWZ0ZmFkZWZyb21yaWdodCIsIDEyLCAyLCAxLCAwLCAiaG9yaXpvbnRhbCIsICEwLCAhMCwgMzIsIGgsIGgsIDFlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImZhZGV0b3JpZ2h0ZmFkZWZyb21sZWZ0IiwgMTUsIDIsIDEsIDAsICJob3Jpem9udGFsIiwgITAsICEwLCAzMywgaCwgaCwgMWUzLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiZmFkZXRvYm90dG9tZmFkZWZyb210b3AiLCAxNCwgMiwgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDM0LCBoLCBoLCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJmYWRldG90b3BmYWRlZnJvbWJvdHRvbSIsIDEzLCAyLCAxLCAwLCAiaG9yaXpvbnRhbCIsICEwLCAhMCwgMzUsIGgsIGgsIDFlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInBhcmFsbGF4dG9yaWdodCIsIDE1LCAzLCAxLCAwLCAiaG9yaXpvbnRhbCIsICEwLCAhMCwgMzYsIGgsIGwsIDE1MDAsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJwYXJhbGxheHRvbGVmdCIsIDEyLCAzLCAxLCAwLCAiaG9yaXpvbnRhbCIsICEwLCAhMCwgMzcsIGgsIGwsIDE1MDAsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJwYXJhbGxheHRvdG9wIiwgMTQsIDMsIDEsIDAsICJob3Jpem9udGFsIiwgITAsICEwLCAzOCwgaCwgbiwgMTUwMCwgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInBhcmFsbGF4dG9ib3R0b20iLCAxMywgMywgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDM5LCBoLCBuLCAxNTAwLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsic2NhbGVkb3duZnJvbXJpZ2h0IiwgMTIsIDQsIDEsIDAsICJob3Jpem9udGFsIiwgITAsICEwLCA0MCwgaCwgbCwgMWUzLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsic2NhbGVkb3duZnJvbWxlZnQiLCAxNSwgNCwgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDQxLCBoLCBsLCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJzY2FsZWRvd25mcm9tdG9wIiwgMTQsIDQsIDEsIDAsICJob3Jpem9udGFsIiwgITAsICEwLCA0MiwgaCwgbCwgMWUzLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsic2NhbGVkb3duZnJvbWJvdHRvbSIsIDEzLCA0LCAxLCAwLCAiaG9yaXpvbnRhbCIsICEwLCAhMCwgNDMsIGgsIGwsIDFlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInpvb21vdXQiLCAxMywgNSwgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDQ0LCBoLCBsLCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJ6b29taW4iLCAxMywgNiwgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDQ1LCBoLCBsLCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJzbGlkaW5nb3ZlcmxheXVwIiwgMjcsIDAsIDEsIDAsICJob3Jpem9udGFsIiwgITAsICEwLCA0NywgcywgciwgMmUzLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsic2xpZGluZ292ZXJsYXlkb3duIiwgMjgsIDAsIDEsIDAsICJob3Jpem9udGFsIiwgITAsICEwLCA0OCwgcywgciwgMmUzLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsic2xpZGluZ292ZXJsYXlyaWdodCIsIDMwLCAwLCAxLCAwLCAiaG9yaXpvbnRhbCIsICEwLCAhMCwgNDksIHMsIHIsIDJlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInNsaWRpbmdvdmVybGF5bGVmdCIsIDI5LCAwLCAxLCAwLCAiaG9yaXpvbnRhbCIsICEwLCAhMCwgNTAsIHMsIHIsIDJlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInBhcmFsbGF4Y2lyY2xlc3VwIiwgMzEsIDAsIDEsIDAsICJob3Jpem9udGFsIiwgITAsICEwLCA1MSwgaCwgbiwgMTUwMCwgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInBhcmFsbGF4Y2lyY2xlc2Rvd24iLCAzMiwgMCwgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDUyLCBoLCBuLCAxNTAwLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsicGFyYWxsYXhjaXJjbGVzcmlnaHQiLCAzMywgMCwgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDUzLCBoLCBuLCAxNTAwLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsicGFyYWxsYXhjaXJjbGVzbGVmdCIsIDM0LCAwLCAxLCAwLCAiaG9yaXpvbnRhbCIsICEwLCAhMCwgNTQsIGgsIG4sIDE1MDAsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJub3RyYW5zaXRpb24iLCAyNiwgMCwgMSwgMCwgImhvcml6b250YWwiLCAhMCwgbnVsbCwgNDYsIGgsIGwsIDFlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInBhcmFsbGF4cmlnaHQiLCAxNSwgMywgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDU1LCBoLCBsLCAxNTAwLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsicGFyYWxsYXhsZWZ0IiwgMTIsIDMsIDEsIDAsICJob3Jpem9udGFsIiwgITAsICEwLCA1NiwgaCwgbCwgMTUwMCwgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInBhcmFsbGF4dXAiLCAxNCwgMywgMSwgMCwgImhvcml6b250YWwiLCAhMCwgITAsIDU3LCBoLCBuLCAxNTAwLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsicGFyYWxsYXhkb3duIiwgMTMsIDMsIDEsIDAsICJob3Jpem9udGFsIiwgITAsICEwLCA1OCwgaCwgbiwgMTUwMCwgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImdyYXlzY2FsZSIsIDExLCA1LCAxLCAzMDAsICJob3Jpem9udGFsIiwgITAsIG51bGwsIDExLCBoLCBoLCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJncmF5c2NhbGVjcm9zcyIsIDExLCA2LCAxLCAzMDAsICJob3Jpem9udGFsIiwgITAsIG51bGwsIDExLCBoLCBoLCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJicmlnaHRuZXNzIiwgMTEsIDcsIDEsIDMwMCwgImhvcml6b250YWwiLCAhMCwgbnVsbCwgMTEsIGgsIGgsIDFlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImJyaWdodG5lc3Njcm9zcyIsIDExLCA4LCAxLCAzMDAsICJob3Jpem9udGFsIiwgITAsIG51bGwsIDExLCBoLCBoLCAxZTMsIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJibHVybGlnaHQiLCAxMSwgOSwgMSwgMzAwLCAiaG9yaXpvbnRhbCIsICEwLCBudWxsLCAxMSwgaCwgaCwgMWUzLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiYmx1cmxpZ2h0Y3Jvc3MiLCAxMSwgMTAsIDEsIDMwMCwgImhvcml6b250YWwiLCAhMCwgbnVsbCwgMTEsIGgsIGgsIDFlMywgMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImJsdXJzdHJvbmciLCAxMSwgOSwgMSwgMzAwLCAiaG9yaXpvbnRhbCIsICEwLCBudWxsLCAxMSwgaCwgaCwgMWUzLCAxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiYmx1cnN0cm9uZ2Nyb3NzIiwgMTEsIDEwLCAxLCAzMDAsICJob3Jpem9udGFsIiwgITAsIG51bGwsIDExLCBoLCBoLCAxZTMsIDFdCiAgICAgICAgICAgICAgICAgICAgICAgIF0pOwogICAgICAgICAgICAgICAgICAgIGlmIChpLmR1cmluZ3NsaWRlY2hhbmdlID0gITAsIGkudGVzdGFuaW1zID0gITEsIDEgPT0gaS50ZXN0YW5pbXMgJiYgKGkubmV4dHRlc3R0cmFuc2Zvcm0gPSB2b2lkIDAgPT09IGkubmV4dHRlc3R0cmFuc2Zvcm0gPyAzNCA6IGkubmV4dHRlc3R0cmFuc2Zvcm0gKyAxLCBpLm5leHR0ZXN0dHJhbnNmb3JtID0gNzAgPCBpLm5leHR0ZXN0dHJhbnNmb3JtID8gMCA6IGkubmV4dHRlc3R0cmFuc2Zvcm0sIG8gPSB5W2kubmV4dHRlc3R0cmFuc2Zvcm1dWzBdLCBjb25zb2xlLmxvZyhvICsgIiAgIiArIGkubmV4dHRlc3R0cmFuc2Zvcm0gKyAiICAiICsgeVtpLm5leHR0ZXN0dHJhbnNmb3JtXVsxXSArICIgICIgKyB5W2kubmV4dHRlc3R0cmFuc2Zvcm1dWzJdKSksIGpRdWVyeS5lYWNoKFsicGFyYWxsYXhjaXJjbGVzIiwgInNsaWRpbmdvdmVybGF5IiwgInNsaWRlIiwgInNsaWRlb3ZlciIsICJzbGlkZXJlbW92ZSIsICJwYXJhbGxheCIsICJwYXJyYWxheHRvIl0sIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8gPT0gZSArICJob3Jpem9udGFsIiAmJiAobyA9IDEgIT0gYSA/IGUgKyAibGVmdCIgOiBlICsgInJpZ2h0IiksIG8gPT0gZSArICJ2ZXJ0aWNhbCIgJiYgKG8gPSAxICE9IGEgPyBlICsgInVwIiA6IGUgKyAiZG93biIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCAicmFuZG9tIiA9PSBvICYmIChvID0gTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogeS5sZW5ndGggLSAxKSwgeS5sZW5ndGggLSAxIDwgbyAmJiAobyA9IHkubGVuZ3RoIC0gMSkpLCAicmFuZG9tLXN0YXRpYyIgPT0gbyAmJiAobyA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIGYubGVuZ3RoIC0gMSksIGYubGVuZ3RoIC0gMSA8IG8gJiYgKG8gPSBmLmxlbmd0aCAtIDEpLCBvID0gZltvXSksICJyYW5kb20tcHJlbWl1bSIgPT0gbyAmJiAobyA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIHAubGVuZ3RoIC0gMSksIHAubGVuZ3RoIC0gMSA8IG8gJiYgKG8gPSBwLmxlbmd0aCAtIDEpLCBvID0gcFtvXSksIDEgPT0gaS5pc0pvb21sYSAmJiBudWxsICE9IHdpbmRvdy5Nb29Ub29scyAmJiAtMSAhPSBbMTIsIDEzLCAxNCwgMTUsIDE2LCAyOCwgMjksIDMwLCAzMSwgMzIsIDMzLCAzNCwgMzUsIDM2LCAzNywgMzgsIDM5LCA0MCwgNDEsIDQyLCA0MywgNDQsIDQ1XS5pbmRleE9mKG8pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB4ID0gTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogKHAubGVuZ3RoIC0gMikpICsgMTsKICAgICAgICAgICAgICAgICAgICAgICAgcC5sZW5ndGggLSAxIDwgeCAmJiAoeCA9IHAubGVuZ3RoIC0gMSksIDAgPT0geCAmJiAoeCA9IDEpLCBvID0gcFt4XQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBqUXVlcnkuZWFjaCh5LCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGVbMF0gIT0gbyAmJiBlWzhdICE9IG8gfHwgKGcgPSBlWzFdLCB3ID0gZVsyXSwgbSA9IHYpLCB2ICs9IDEKICAgICAgICAgICAgICAgICAgICB9KSwgMzAgPCBnICYmIChnID0gMzApLCBnIDwgMCAmJiAoZyA9IDApOwogICAgICAgICAgICAgICAgICAgIHZhciBUID0gbmV3IE9iamVjdDsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gVC5uZXh0dHJhbnMgPSBnLCBULlNUQSA9IHlbbV0sIFQuc3BlY2lhbHMgPSB3LCBUCiAgICAgICAgICAgICAgICB9KDAsIHQsIDAsIGQpLAogICAgICAgICAgICAgICAgYyA9IGguU1RBLAogICAgICAgICAgICAgICAgdSA9IGguc3BlY2lhbHM7CiAgICAgICAgICAgIGEgPSBoLm5leHR0cmFucywgIm9uIiA9PSBpLmRhdGEoImtlbmJ1cm5zIikgJiYgKGEgPSAxMSk7CiAgICAgICAgICAgIHZhciBmID0gZS5kYXRhKCJuZXh0dHJhbnNpZCIpIHx8IDAsCiAgICAgICAgICAgICAgICBwID0gZnQoZS5kYXRhKCJtYXN0ZXJzcGVlZCIpLCBmKTsKICAgICAgICAgICAgcCA9IChwID0gImRlZmF1bHQiID09PSBwID8gY1sxMV0gOiAicmFuZG9tIiA9PT0gcCA/IE1hdGgucm91bmQoMWUzICogTWF0aC5yYW5kb20oKSArIDMwMCkgOiBudWxsICE9IHAgPyBwYXJzZUludChwLCAwKSA6IGNbMTFdKSA+IHMuZGVsYXkgPyBzLmRlbGF5IDogcCwgcCArPSBjWzRdLCBzLnNsb3RzID0gZnQoZS5kYXRhKCJzbG90YW1vdW50IiksIGYpLCBzLnNsb3RzID0gbnVsbCA9PSBzLnNsb3RzIHx8ICJkZWZhdWx0IiA9PSBzLnNsb3RzID8gY1sxMl0gOiAicmFuZG9tIiA9PSBzLnNsb3RzID8gTWF0aC5yb3VuZCgxMiAqIE1hdGgucmFuZG9tKCkgKyA0KSA6IHMuc2xvdHMsIHMuc2xvdHMgPSBzLnNsb3RzIDwgMSA/ICJib3hzbGlkZSIgPT0gdCA/IE1hdGgucm91bmQoNiAqIE1hdGgucmFuZG9tKCkgKyAzKSA6ICJmbHlpbiIgPT0gdCA/IE1hdGgucm91bmQoNCAqIE1hdGgucmFuZG9tKCkgKyAxKSA6IHMuc2xvdHMgOiBzLnNsb3RzLCBzLnNsb3RzID0gKDQgPT0gYSB8fCA1ID09IGEgfHwgNiA9PSBhKSAmJiBzLnNsb3RzIDwgMyA/IDMgOiBzLnNsb3RzLCBzLnNsb3RzID0gMCAhPSBjWzNdID8gTWF0aC5taW4ocy5zbG90cywgY1szXSkgOiBzLnNsb3RzLCBzLnNsb3RzID0gOSA9PSBhID8gcy53aWR0aCAvIHMuc2xvdHMgOiAxMCA9PSBhID8gcy5oZWlnaHQgLyBzLnNsb3RzIDogcy5zbG90cywgcy5yb3RhdGUgPSBmdChlLmRhdGEoInJvdGF0ZSIpLCBmKSwgcy5yb3RhdGUgPSBudWxsID09IHMucm90YXRlIHx8ICJkZWZhdWx0IiA9PSBzLnJvdGF0ZSA/IDAgOiA5OTkgPT0gcy5yb3RhdGUgfHwgInJhbmRvbSIgPT0gcy5yb3RhdGUgPyBNYXRoLnJvdW5kKDM2MCAqIE1hdGgucmFuZG9tKCkpIDogcy5yb3RhdGUsIHMucm90YXRlID0gcy5pZSB8fCBzLmllOSA/IDAgOiBzLnJvdGF0ZSwgMTEgIT0gYSAmJiAobnVsbCAhPSBjWzddICYmIHV0KG4sIHMsIGNbN10sIGNbNV0pLCBudWxsICE9IGNbNl0gJiYgdXQoaSwgcywgY1s2XSwgY1s1XSkpLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5maW5kKCIuZGVmYXVsdHZpZCIpLCB7CiAgICAgICAgICAgICAgICB5OiAwLAogICAgICAgICAgICAgICAgeDogMCwKICAgICAgICAgICAgICAgIHRvcDogMCwKICAgICAgICAgICAgICAgIGxlZnQ6IDAsCiAgICAgICAgICAgICAgICBzY2FsZTogMQogICAgICAgICAgICB9KSwgMCksIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChuLmZpbmQoIi5kZWZhdWx0dmlkIiksIHsKICAgICAgICAgICAgICAgIHk6IDAsCiAgICAgICAgICAgICAgICB4OiAwLAogICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgbGVmdDogMCwKICAgICAgICAgICAgICAgIHNjYWxlOiAxCiAgICAgICAgICAgIH0pLCAwKSwgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGkuZmluZCgiLmRlZmF1bHR2aWQiKSwgewogICAgICAgICAgICAgICAgeTogIiswJSIsCiAgICAgICAgICAgICAgICB4OiAiKzAlIgogICAgICAgICAgICB9KSwgMCksIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChuLmZpbmQoIi5kZWZhdWx0dmlkIiksIHsKICAgICAgICAgICAgICAgIHk6ICIrMCUiLAogICAgICAgICAgICAgICAgeDogIiswJSIKICAgICAgICAgICAgfSksIDApLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaSwgewogICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxLAogICAgICAgICAgICAgICAgeTogIiswJSIsCiAgICAgICAgICAgICAgICB4OiAiKzAlIgogICAgICAgICAgICB9KSwgMCksIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChuLCB7CiAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEsCiAgICAgICAgICAgICAgICB5OiAiKzAlIiwKICAgICAgICAgICAgICAgIHg6ICIrMCUiCiAgICAgICAgICAgIH0pLCAwKSwgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGkucGFyZW50KCksIHsKICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogInRyYW5zcGFyZW50IgogICAgICAgICAgICB9KSwgMCksIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChuLnBhcmVudCgpLCB7CiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICJ0cmFuc3BhcmVudCIKICAgICAgICAgICAgfSksIDApOwogICAgICAgICAgICB2YXIgZywgdyA9IGZ0KGUuZGF0YSgiZWFzZWluIiksIGYpLAogICAgICAgICAgICAgICAgbSA9IGZ0KGUuZGF0YSgiZWFzZW91dCIpLCBmKTsKICAgICAgICAgICAgaWYgKHcgPSAiZGVmYXVsdCIgPT09IHcgPyBjWzldIHx8IHB1bmNoZ3MuUG93ZXIyLmVhc2VJbk91dCA6IHcgfHwgY1s5XSB8fCBwdW5jaGdzLlBvd2VyMi5lYXNlSW5PdXQsIG0gPSAiZGVmYXVsdCIgPT09IG0gPyBjWzEwXSB8fCBwdW5jaGdzLlBvd2VyMi5lYXNlSW5PdXQgOiBtIHx8IGNbMTBdIHx8IHB1bmNoZ3MuUG93ZXIyLmVhc2VJbk91dCwgMCA9PSBhKSB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IE1hdGguY2VpbChzLmhlaWdodCAvIHMuc2xvdGgpLAogICAgICAgICAgICAgICAgICAgIHkgPSAwOwogICAgICAgICAgICAgICAgaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgKHkgKz0gMSkgPT0gdiAmJiAoeSA9IDApLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKGUsIHAgLyA2MDAsIHsKICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwIC0gcy5zbG90aCwKICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCAtIHMuc2xvdHcsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uOiBzLnJvdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiB3CiAgICAgICAgICAgICAgICAgICAgfSksICgxNSAqIHQgKyAzMCAqIHkpIC8gMTUwMCkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICAgICAgMSA9PSBhICYmIGkuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyksCiAgICAgICAgICAgICAgICAgICAgbyA9IE1hdGgucmFuZG9tKCkgKiBwICsgMzAwLAogICAgICAgICAgICAgICAgICAgIGEgPSA1MDAgKiBNYXRoLnJhbmRvbSgpICsgMjAwOwogICAgICAgICAgICAgICAgZyA8IG8gKyBhICYmIChnID0gYSArIGEpLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKGUsIG8gLyAxZTMsIHsKICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAsCiAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uOiBzLnJvdGF0ZSwKICAgICAgICAgICAgICAgICAgICBlYXNlOiB3CiAgICAgICAgICAgICAgICB9KSwgYSAvIDFlMykKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGlmICgyID09IGEpIHsKICAgICAgICAgICAgICAgIHZhciB4ID0gbmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlOwogICAgICAgICAgICAgICAgbi5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgICAgICB4LmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byh0LCBwIC8gMWUzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHMuc2xvdHcsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHcsCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IDAgLSBzLnJvdGF0ZQogICAgICAgICAgICAgICAgICAgIH0pLCAwKSwgci5hZGQoeCwgMCkKICAgICAgICAgICAgICAgIH0pLCBpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgICAgIHguYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb20odCwgcCAvIDFlMywgewogICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwIC0gcy5zbG90dywKICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogdywKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvbjogcy5yb3RhdGUKICAgICAgICAgICAgICAgICAgICB9KSwgMCksIHIuYWRkKHgsIDApCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgzID09IGEgJiYgKHggPSBuZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsIG4uZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgeC5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8odCwgcCAvIDFlMywgewogICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHMuc2xvdGgsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHcsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uOiBzLnJvdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1QZXJzcGVjdGl2ZTogNjAwCiAgICAgICAgICAgICAgICAgICAgfSksIDApLCByLmFkZCh4LCAwKQogICAgICAgICAgICAgICAgfSksIGkuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgeC5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbSh0LCBwIC8gMWUzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCAtIHMuc2xvdGgsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uOiBzLnJvdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogbSwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1QZXJzcGVjdGl2ZTogNjAwCiAgICAgICAgICAgICAgICAgICAgfSksIDApLCByLmFkZCh4LCAwKQogICAgICAgICAgICAgICAgfSkpLCA0ID09IGEgfHwgNSA9PSBhKSB7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIG4uZmluZCgiLmRlZmF1bHRpbWciKS5jc3MoewogICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0sIDEwMCk7CiAgICAgICAgICAgICAgICB2YXIgVCA9IHAgLyAxZTM7CiAgICAgICAgICAgICAgICB4ID0gbmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlLCBuLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKSwKICAgICAgICAgICAgICAgICAgICAgICAgbyA9IHQgKiBUIC8gcy5zbG90czsKICAgICAgICAgICAgICAgICAgICA1ID09IGEgJiYgKG8gPSAocy5zbG90cyAtIHQgLSAxKSAqIFQgLyBzLnNsb3RzIC8gMS41KSwgeC5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8oZSwgMyAqIFQsIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtUGVyc3BlY3RpdmU6IDYwMCwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAgKyBzLmhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjUsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uOiBzLnJvdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogdywKICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk6IG8KICAgICAgICAgICAgICAgICAgICB9KSwgMCksIHIuYWRkKHgsIDApCiAgICAgICAgICAgICAgICB9KSwgaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyksCiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSB0ICogVCAvIHMuc2xvdHM7CiAgICAgICAgICAgICAgICAgICAgNSA9PSBhICYmIChvID0gKHMuc2xvdHMgLSB0IC0gMSkgKiBUIC8gcy5zbG90cyAvIDEuNSksIHguYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb20oZSwgMyAqIFQsIHsKICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwIC0gcy5oZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC41LAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvbjogcy5yb3RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5lbywKICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk6IG8KICAgICAgICAgICAgICAgICAgICB9KSwgMCksIHIuYWRkKHgsIDApCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICg2ID09IGEgJiYgKHMuc2xvdHMgPCAyICYmIChzLnNsb3RzID0gMiksIHMuc2xvdHMgJSAyICYmIChzLnNsb3RzID0gcy5zbG90cyArIDEpLCB4ID0gbmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIG4uZmluZCgiLmRlZmF1bHRpbWciKS5jc3MoewogICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0sIDEwMCksIG4uZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgICAgIGlmICh0ICsgMSA8IHMuc2xvdHMgLyAyKSB2YXIgbyA9IDkwICogKHQgKyAyKTsKICAgICAgICAgICAgICAgICAgICBlbHNlIG8gPSA5MCAqICgyICsgcy5zbG90cyAtIHQpOwogICAgICAgICAgICAgICAgICAgIHguYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGUsIChwICsgbykgLyAxZTMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwICsgcy5oZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IHMucm90YXRlLAogICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiB3CiAgICAgICAgICAgICAgICAgICAgfSksIDApLCByLmFkZCh4LCAwKQogICAgICAgICAgICAgICAgfSksIGkuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgICAgIGlmICh0ICsgMSA8IHMuc2xvdHMgLyAyKSB2YXIgbyA9IDkwICogKHQgKyAyKTsKICAgICAgICAgICAgICAgICAgICBlbHNlIG8gPSA5MCAqICgyICsgcy5zbG90cyAtIHQpOwogICAgICAgICAgICAgICAgICAgIHguYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb20oZSwgKHAgKyBvKSAvIDFlMywgewogICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAgLSBzLmhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvbjogcy5yb3RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IG0KICAgICAgICAgICAgICAgICAgICB9KSwgMCksIHIuYWRkKHgsIDApCiAgICAgICAgICAgICAgICB9KSksIDcgPT0gYSAmJiAoKHAgKj0gMikgPiBzLmRlbGF5ICYmIChwID0gcy5kZWxheSksIHggPSBuZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgbi5maW5kKCIuZGVmYXVsdGltZyIpLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfSwgMTAwKSwgbi5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGpRdWVyeSh0aGlzKS5maW5kKCJkaXYiKTsKICAgICAgICAgICAgICAgICAgICB4LmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byh0LCBwIC8gMWUzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAgLSBzLnNsb3R3IC8gMiArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCAtIHMuaGVpZ2h0IC8gMiArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyICogcy5zbG90dyArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMiAqIHMuaGVpZ2h0ICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IHMucm90YXRlLAogICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHcKICAgICAgICAgICAgICAgICAgICB9KSwgMCksIHIuYWRkKHgsIDApCiAgICAgICAgICAgICAgICB9KSwgaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcykuZmluZCgiZGl2Iik7CiAgICAgICAgICAgICAgICAgICAgeC5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGUsIHAgLyAxZTMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1QZXJzcGVjdGl2ZTogNjAwCiAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwIC0gdCAqIHMuc2xvdHcgKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBtLAogICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogIjBweCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzLndpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHMuaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvbjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk6IC4xCiAgICAgICAgICAgICAgICAgICAgfSksIDApLCByLmFkZCh4LCAwKQogICAgICAgICAgICAgICAgfSkpLCA4ID09IGEgJiYgKChwICo9IDMpID4gcy5kZWxheSAmJiAocCA9IHMuZGVsYXkpLCB4ID0gbmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlLCBuLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0galF1ZXJ5KHRoaXMpLmZpbmQoImRpdiIpOwogICAgICAgICAgICAgICAgICAgIHguYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnRvKHQsIHAgLyAxZTMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCAtIHMud2lkdGggLyAyICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwIC0gcy5zbG90aCAvIDIgKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMiAqIHMud2lkdGggKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIgKiBzLnNsb3RoICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiB3LAogICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvbjogcy5yb3RhdGUKICAgICAgICAgICAgICAgICAgICB9KSwgMCksIHIuYWRkKHgsIDApCiAgICAgICAgICAgICAgICB9KSwgaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcykuZmluZCgiZGl2Iik7CiAgICAgICAgICAgICAgICAgICAgeC5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGUsIHAgLyAxZTMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLAogICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIKICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6ICIwcHgiLAogICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAgLSB0ICogcy5zbG90aCArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBpLmZpbmQoIi5kZWZhdWx0aW1nIikuZGF0YSgibmV3dyIpICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpLmZpbmQoIi5kZWZhdWx0aW1nIikuZGF0YSgibmV3aCIpICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogbSwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IDAKICAgICAgICAgICAgICAgICAgICB9KSwgMCksIHIuYWRkKHgsIDApCiAgICAgICAgICAgICAgICB9KSksIDkgIT0gYSAmJiAxMCAhPSBhIHx8IGkuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgICAgIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhlLCBwIC8gMmUzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1QZXJzcGVjdGl2ZTogNjAwCiAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHcsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiB0ICogcy5zbG90cyAvIDEwMCAvIDJlMwogICAgICAgICAgICAgICAgICAgIH0pLCAwKQogICAgICAgICAgICAgICAgfSksIDI3ID09IGEgfHwgMjggPT0gYSB8fCAyOSA9PSBhIHx8IDMwID09IGEpIHsKICAgICAgICAgICAgICAgIHZhciBMID0gaS5maW5kKCIuc2xvdCIpLAogICAgICAgICAgICAgICAgICAgIGIgPSAyNyA9PSBhIHx8IDI5ID09IGEgPyAiLTEwMCUiIDogIisxMDAlIiwKICAgICAgICAgICAgICAgICAgICBBID0gMjcgPT0gYSB8fCAyOSA9PSBhID8gIisxMDAlIiA6ICItMTAwJSIsCiAgICAgICAgICAgICAgICAgICAgRCA9IDI3ID09IGEgfHwgMjkgPT0gYSA/ICItODAlIiA6ICI4MCUiLAogICAgICAgICAgICAgICAgICAgIGogPSAyNyA9PSBhIHx8IDI5ID09IGEgPyAiKzgwJSIgOiAiLTgwJSIsCiAgICAgICAgICAgICAgICAgICAgUSA9IDI3ID09IGEgfHwgMjkgPT0gYSA/ICIrMTAlIiA6ICItMTAlIiwKICAgICAgICAgICAgICAgICAgICBNID0gewogICAgICAgICAgICAgICAgICAgICAgICBvdmVyd3JpdGU6ICJhbGwiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBQID0gewogICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHpJbmRleDogMSwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiB3CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBrID0gewogICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogImluaGVyaXQiLAogICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJ3cml0ZTogImFsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHpJbmRleDogMQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgTyA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxLAogICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IG0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIEkgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJ3cml0ZTogImFsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHpJbmRleDogMiwKICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBYID0gewogICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcndyaXRlOiAiYWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogdwogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgWSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcndyaXRlOiAiYWxsIiwKICAgICAgICAgICAgICAgICAgICAgICAgekluZGV4OiAyLAogICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIFMgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiB3CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBfID0gMSA9PSAoMjcgPT0gYSB8fCAyOCA9PSBhID8gMSA6IDIpID8gInkiIDogIngiOwogICAgICAgICAgICAgICAgTVtfXSA9ICIwcHgiLCBQW19dID0gYiwga1tfXSA9IFEsIE9bX10gPSAiMCUiLCBJW19dID0gQSwgWFtfXSA9IGIsIFlbX10gPSBELCBTW19dID0gaiwgTC5hcHBlbmQoJzxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDowcHg7ZGlzcGxheTpibG9jazt6LWluZGV4OjIiPjwvc3Bhbj4nKSwgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKG4sIHAgLyAxZTMsIE0sIFApLCAwKSwgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGkuZmluZCgiLmRlZmF1bHRpbWciKSwgcCAvIDJlMywgaywgTyksIHAgLyAyZTMpLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oTCwgcCAvIDFlMywgSSwgWCksIDApLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oTC5maW5kKCIuc2xvdHNsaWRlIGRpdiIpLCBwIC8gMWUzLCBZLCBTKSwgMCkKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoMzEgPT0gYSB8fCAzMiA9PSBhIHx8IDMzID09IGEgfHwgMzQgPT0gYSkgewogICAgICAgICAgICAgICAgcCA9IDZlMywgdyA9IHB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dDsKICAgICAgICAgICAgICAgIHZhciBDID0gcCAvIDFlMzsKICAgICAgICAgICAgICAgIG1hcyA9IEMgLSBDIC8gNSwgX250ID0gYSwgZnkgPSAzMSA9PSBfbnQgPyAiKzEwMCUiIDogMzIgPT0gX250ID8gIi0xMDAlIiA6ICIwJSIsIGZ4ID0gMzMgPT0gX250ID8gIisxMDAlIiA6IDM0ID09IF9udCA/ICItMTAwJSIgOiAiMCUiLCB0eSA9IDMxID09IF9udCA/ICItMTAwJSIgOiAzMiA9PSBfbnQgPyAiKzEwMCUiIDogIjAlIiwgdHggPSAzMyA9PSBfbnQgPyAiLTEwMCUiIDogMzQgPT0gX250ID8gIisxMDAlIiA6ICIwJSIsIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhuLCBDIC0gLjIgKiBDLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHg6IDAKICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHk6IHR5LAogICAgICAgICAgICAgICAgICAgICAgICB4OiB0eCwKICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogbQogICAgICAgICAgICAgICAgICAgIH0pLCAuMiAqIEMpLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaSwgQywgewogICAgICAgICAgICAgICAgICAgICAgICB5OiBmeSwKICAgICAgICAgICAgICAgICAgICAgICAgeDogZngKICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHk6ICIwJSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHg6ICIwJSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHcKICAgICAgICAgICAgICAgICAgICB9KSwgMCksIGkuZmluZCgiLnNsb3QiKS5yZW1vdmUoKSwgaS5maW5kKCIuZGVmYXVsdGltZyIpLmNsb25lKCkuYXBwZW5kVG8oaSkuYWRkQ2xhc3MoInNsb3QiKSwKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0LCBjLCB1LCBlLCBmKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvID0gdC5maW5kKCIuc2xvdCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcCA9IFsyLCAxLjIsIC45LCAuNywgLjU1LCAuNDJdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZyA9IHQud2lkdGgoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHcgPSB0LmhlaWdodCgpOwogICAgICAgICAgICAgICAgICAgICAgICBvLndyYXAoJzxkaXYgY2xhc3M9InNsb3QtY2lyY2xlLXdyYXBwZXIiIHN0eWxlPSJvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjFweCBzb2xpZCAjZmZmIj48L2Rpdj4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgYSA9IDA7IGEgPCA2OyBhKyspIG8ucGFyZW50KCkuY2xvbmUoITEpLmFwcGVuZFRvKG5leHRzaCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHQuZmluZCgiLnNsb3QtY2lyY2xlLXdyYXBwZXIiKS5lYWNoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0IDwgNikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvID0gZS5maW5kKCIuc2xvdCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhID0gdyA8IGcgPyBwW3RdICogZyA6IHBbdF0gKiB3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gYSAvIDIgLSBnIC8gMiArIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG4gPSBhIC8gMiAtIHcgLyAyICsgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ286ICI1MCUgNTAlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhICsgInB4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYSArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHcgLyAyIC0gYSAvIDIgKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogKDMzID09IHUgPyBnIC8gMiAtIGEgLyAyIDogMzQgPT0gdSA/IGcgLSBhIDogZyAvIDIgLSBhIC8gMikgKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAwICE9IHQgPyAiNTAlIiA6ICIwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGU6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHcgLyAyIC0gYSAvIDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBnIC8gMiAtIGEgLyAyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IG4gKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJhYnNvbHV0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAoMzMgPT0gdSA/IGkgOiAzNCA9PSB1ID8gaSArIGcgLyAyIDogaSkgKyAicHgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IG4gKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogaSArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGggPSBjOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG10bC5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGUsIGgsIHIsIHMpLCAwKSwgbXRsLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8obywgaCwgbCwgZCksIDApLCBtdGwuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhlLCAuMDAxLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksIDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfShpLCBDLCBfbnQsIDAsIHcpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKDExID09IGEpIHsKICAgICAgICAgICAgICAgIDEyIDwgdSAmJiAodSA9IDApOwogICAgICAgICAgICAgICAgdmFyIFYgPSAyID09IHUgPyAiIzAwMDAwMCIgOiAzID09IHUgPyAiI2ZmZmZmZiIgOiAidHJhbnNwYXJlbnQiOwogICAgICAgICAgICAgICAgc3dpdGNoICh1KSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgICAgICAgICByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaSwgcCAvIDFlMywgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHcKICAgICAgICAgICAgICAgICAgICAgICAgfSksIDApOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICAgICAgICAgIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhpLCBwIC8gMWUzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogdwogICAgICAgICAgICAgICAgICAgICAgICB9KSwgMCksIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhuLCBwIC8gMWUzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEKICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogdwogICAgICAgICAgICAgICAgICAgICAgICB9KSwgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgICAgICAgICAgICByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobi5wYXJlbnQoKSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBWLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCAwKSwgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGkucGFyZW50KCksIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogInRyYW5zcGFyZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIgogICAgICAgICAgICAgICAgICAgICAgICB9KSwgMCksIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnRvKG4sIHAgLyAyZTMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHcKICAgICAgICAgICAgICAgICAgICAgICAgfSksIDApLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaSwgcCAvIDJlMywgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHcKICAgICAgICAgICAgICAgICAgICAgICAgfSksIHAgLyAyZTMpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlIDU6CiAgICAgICAgICAgICAgICAgICAgY2FzZSA2OgogICAgICAgICAgICAgICAgICAgIGNhc2UgNzoKICAgICAgICAgICAgICAgICAgICBjYXNlIDg6CiAgICAgICAgICAgICAgICAgICAgY2FzZSA5OgogICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6CiAgICAgICAgICAgICAgICAgICAgY2FzZSAxMToKICAgICAgICAgICAgICAgICAgICBjYXNlIDEyOgogICAgICAgICAgICAgICAgICAgICAgICB2YXIgWiA9ICJibHVyKCIgKyAoMCA8PSBqUXVlcnkuaW5BcnJheSh1LCBbOSwgMTBdKSA/IDUgOiAwIDw9IGpRdWVyeS5pbkFycmF5KHUsIFsxMSwgMTJdKSA/IDEwIDogMCkgKyAicHgpIGdyYXlzY2FsZSgiICsgKDAgPD0galF1ZXJ5LmluQXJyYXkodSwgWzUsIDYsIDcsIDhdKSA/IDEwMCA6IDApICsgIiUpIGJyaWdodG5lc3MoIiArICgwIDw9IGpRdWVyeS5pbkFycmF5KHUsIFs3LCA4XSkgPyAzMDAgOiAwKSArICIlKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIID0gImJsdXIoMHB4KSBncmF5c2NhbGUoMCUpIGJyaWdodG5lc3MoMTAwJSkiOwogICAgICAgICAgICAgICAgICAgICAgICByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaSwgcCAvIDFlMywgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBaLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIi13ZWJraXQtZmlsdGVyIjogWgogICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IEgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLXdlYmtpdC1maWx0ZXIiOiBILAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogdwogICAgICAgICAgICAgICAgICAgICAgICB9KSwgMCksIDAgPD0galF1ZXJ5LmluQXJyYXkodSwgWzYsIDgsIDEwXSkgJiYgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKG4sIHAgLyAxZTMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjogSCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICItd2Via2l0LWZpbHRlciI6IEgKICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjogWiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICItd2Via2l0LWZpbHRlciI6IFoKICAgICAgICAgICAgICAgICAgICAgICAgfSksIDApCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5maW5kKCIuZGVmYXVsdGltZyIpLCB7CiAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxCiAgICAgICAgICAgICAgICB9KSwgMCksIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChuLmZpbmQoImRlZmF1bHRpbWciKSwgewogICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMQogICAgICAgICAgICAgICAgfSksIDApCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKDI2ID09IGEgJiYgKHAgPSAwLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaSwgcCAvIDFlMywgewogICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMAogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMSwKICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgZWFzZTogdwogICAgICAgICAgICAgICAgfSksIDApLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhuLCBwIC8gMWUzLCB7CiAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwLAogICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICBlYXNlOiB3CiAgICAgICAgICAgICAgICB9KSwgMCksIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLmZpbmQoIi5kZWZhdWx0aW1nIiksIHsKICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEKICAgICAgICAgICAgICAgIH0pLCAwKSwgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KG4uZmluZCgiZGVmYXVsdGltZyIpLCB7CiAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxCiAgICAgICAgICAgICAgICB9KSwgMCkpLCAxMiA9PSBhIHx8IDEzID09IGEgfHwgMTQgPT0gYSB8fCAxNSA9PSBhKSB7CiAgICAgICAgICAgICAgICAocCA9IHApID4gcy5kZWxheSAmJiAocCA9IHMuZGVsYXkpLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHB1bmNoZ3MuVHdlZW5MaXRlLnNldChuLmZpbmQoIi5kZWZhdWx0aW1nIiksIHsKICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0sIDEwMCk7CiAgICAgICAgICAgICAgICB2YXIgSiA9IHMud2lkdGgsCiAgICAgICAgICAgICAgICAgICAgTiA9IHMuaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgIFIgPSBpLmZpbmQoIi5zbG90c2xpZGUsIC5kZWZhdWx0dmlkIiksCiAgICAgICAgICAgICAgICAgICAgcSA9IDAsCiAgICAgICAgICAgICAgICAgICAgQiA9IDAsCiAgICAgICAgICAgICAgICAgICAgRSA9IDEsCiAgICAgICAgICAgICAgICAgICAgRiA9IDEsCiAgICAgICAgICAgICAgICAgICAgRyA9IDEsCiAgICAgICAgICAgICAgICAgICAgSyA9IHAgLyAxZTMsCiAgICAgICAgICAgICAgICAgICAgVSA9IEs7CiAgICAgICAgICAgICAgICAiZnVsbHdpZHRoIiAhPSBzLnNsaWRlckxheW91dCAmJiAiZnVsbHNjcmVlbiIgIT0gcy5zbGlkZXJMYXlvdXQgfHwgKEogPSBSLndpZHRoKCksIE4gPSBSLmhlaWdodCgpKSwgMTIgPT0gYSA/IHEgPSBKIDogMTUgPT0gYSA/IHEgPSAwIC0gSiA6IDEzID09IGEgPyBCID0gTiA6IDE0ID09IGEgJiYgKEIgPSAwIC0gTiksIDEgPT0gdSAmJiAoRSA9IDApLCAyID09IHUgJiYgKEUgPSAwKSwgMyA9PSB1ICYmIChLID0gcCAvIDEzMDApLCA0ICE9IHUgJiYgNSAhPSB1IHx8IChGID0gLjYpLCA2ID09IHUgJiYgKEYgPSAxLjQpLCA1ICE9IHUgJiYgNiAhPSB1IHx8IChHID0gMS40LCBCID0gcSA9IE4gPSBKID0gRSA9IDApLCA2ID09IHUgJiYgKEcgPSAuNiksIDcgPT0gdSAmJiAoTiA9IEogPSAwKTsKICAgICAgICAgICAgICAgIHZhciBXID0gaS5maW5kKCIuc2xvdHNsaWRlIiksCiAgICAgICAgICAgICAgICAgICAgJCA9IG4uZmluZCgiLnNsb3RzbGlkZSwgLmRlZmF1bHR2aWQiKTsKICAgICAgICAgICAgICAgIGlmIChyLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobywgewogICAgICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IDE1CiAgICAgICAgICAgICAgICAgICAgfSksIDApLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZSwgewogICAgICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IDIwCiAgICAgICAgICAgICAgICAgICAgfSksIDApLCA4ID09IHUgPyAoci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KG8sIHsKICAgICAgICAgICAgICAgICAgICAgICAgekluZGV4OiAyMAogICAgICAgICAgICAgICAgICAgIH0pLCAwKSwgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGUsIHsKICAgICAgICAgICAgICAgICAgICAgICAgekluZGV4OiAxNQogICAgICAgICAgICAgICAgICAgIH0pLCAwKSwgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KFcsIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBzY2FsZTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHcsCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIgogICAgICAgICAgICAgICAgICAgIH0pLCAwKSkgOiByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKFcsIEssIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogcSwKICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBCLAogICAgICAgICAgICAgICAgICAgICAgICBzY2FsZTogRywKICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogRSwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IHMucm90YXRlLAogICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiB3LAogICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIKICAgICAgICAgICAgICAgICAgICB9KSwgMCksIDQgIT0gdSAmJiA1ICE9IHUgfHwgKE4gPSBKID0gMCksIDEgIT0gdSkgc3dpdGNoIChhKSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAxMjoKICAgICAgICAgICAgICAgICAgICAgICAgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8oJCwgVSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCAtIEogKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGU6IEYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiBFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IHMucm90YXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogbQogICAgICAgICAgICAgICAgICAgICAgICB9KSwgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgMTU6CiAgICAgICAgICAgICAgICAgICAgICAgIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnRvKCQsIFUsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IEogKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGU6IEYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiBFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IHMucm90YXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogbQogICAgICAgICAgICAgICAgICAgICAgICB9KSwgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgMTM6CiAgICAgICAgICAgICAgICAgICAgICAgIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnRvKCQsIFUsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCAtIE4gKyAicHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGU6IEYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiBFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IHMucm90YXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogbQogICAgICAgICAgICAgICAgICAgICAgICB9KSwgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgMTQ6CiAgICAgICAgICAgICAgICAgICAgICAgIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnRvKCQsIFUsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogTiArICJweCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FsZTogRiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvbjogcy5yb3RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBtCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCAwKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgxNiA9PSBhKSB7CiAgICAgICAgICAgICAgICB4ID0gbmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobywgewogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiLAogICAgICAgICAgICAgICAgICAgICJ6LWluZGV4IjogMjAKICAgICAgICAgICAgICAgIH0pLCAwKSwgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGUsIHsKICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogImFic29sdXRlIiwKICAgICAgICAgICAgICAgICAgICAiei1pbmRleCI6IDE1CiAgICAgICAgICAgICAgICB9KSwgMCksIG8ud3JhcElubmVyKCc8ZGl2IGNsYXNzPSJ0cC1oYWxmLW9uZSIgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyB3aWR0aDoxMDAlO2hlaWdodDoxMDAlIj48L2Rpdj4nKSwgby5maW5kKCIudHAtaGFsZi1vbmUiKS5jbG9uZSghMCkuYXBwZW5kVG8obykuYWRkQ2xhc3MoInRwLWhhbGYtdHdvIiksIG8uZmluZCgiLnRwLWhhbGYtdHdvIikucmVtb3ZlQ2xhc3MoInRwLWhhbGYtb25lIiksIEogPSBzLndpZHRoLCBOID0gcy5oZWlnaHQsICJvbiIgPT0gcy5hdXRvSGVpZ2h0ICYmIChOID0gei5oZWlnaHQoKSksIG8uZmluZCgiLnRwLWhhbGYtb25lIC5kZWZhdWx0aW1nIikud3JhcCgnPGRpdiBjbGFzcz0idHAtcGFwZXJjdXQiIHN0eWxlPSJ3aWR0aDonICsgSiArICJweDtoZWlnaHQ6IiArIE4gKyAncHg7Ij48L2Rpdj4nKSwgby5maW5kKCIudHAtaGFsZi10d28gLmRlZmF1bHRpbWciKS53cmFwKCc8ZGl2IGNsYXNzPSJ0cC1wYXBlcmN1dCIgc3R5bGU9IndpZHRoOicgKyBKICsgInB4O2hlaWdodDoiICsgTiArICdweDsiPjwvZGl2PicpLCBvLmZpbmQoIi50cC1oYWxmLXR3byAuZGVmYXVsdGltZyIpLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJhYnNvbHV0ZSIsCiAgICAgICAgICAgICAgICAgICAgdG9wOiAiLTUwJSIKICAgICAgICAgICAgICAgIH0pLCBvLmZpbmQoIi50cC1oYWxmLXR3byAudHAtY2FwdGlvbiIpLndyYXBBbGwoJzxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDotNTAlO2xlZnQ6MHB4OyI+PC9kaXY+JyksIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChvLmZpbmQoIi50cC1oYWxmLXR3byIpLCB7CiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IEosCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBOLAogICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiAiaGlkZGVuIiwKICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IDE1LAogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiLAogICAgICAgICAgICAgICAgICAgIHRvcDogTiAvIDIsCiAgICAgICAgICAgICAgICAgICAgbGVmdDogIjBweCIsCiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtUGVyc3BlY3RpdmU6IDYwMCwKICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW46ICJjZW50ZXIgYm90dG9tIgogICAgICAgICAgICAgICAgfSksIDApLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoby5maW5kKCIudHAtaGFsZi1vbmUiKSwgewogICAgICAgICAgICAgICAgICAgIHdpZHRoOiBKLAogICAgICAgICAgICAgICAgICAgIGhlaWdodDogTiAvIDIsCiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICJ2aXNpYmxlIiwKICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IDEwLAogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiLAogICAgICAgICAgICAgICAgICAgIHRvcDogIjBweCIsCiAgICAgICAgICAgICAgICAgICAgbGVmdDogIjBweCIsCiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtUGVyc3BlY3RpdmU6IDYwMCwKICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW46ICJjZW50ZXIgdG9wIgogICAgICAgICAgICAgICAgfSksIDApLCBvLmZpbmQoIi5kZWZhdWx0aW1nIik7CiAgICAgICAgICAgICAgICB2YXIgdHQgPSBNYXRoLnJvdW5kKDIwICogTWF0aC5yYW5kb20oKSAtIDEwKSwKICAgICAgICAgICAgICAgICAgICBldCA9IE1hdGgucm91bmQoMjAgKiBNYXRoLnJhbmRvbSgpIC0gMTApLAogICAgICAgICAgICAgICAgICAgIG90ID0gTWF0aC5yb3VuZCgyMCAqIE1hdGgucmFuZG9tKCkgLSAxMCksCiAgICAgICAgICAgICAgICAgICAgYXQgPSAuNCAqIE1hdGgucmFuZG9tKCkgLSAuMiwKICAgICAgICAgICAgICAgICAgICBpdCA9IC40ICogTWF0aC5yYW5kb20oKSAtIC4yLAogICAgICAgICAgICAgICAgICAgIG50ID0gMSAqIE1hdGgucmFuZG9tKCkgKyAxLAogICAgICAgICAgICAgICAgICAgIHJ0ID0gMSAqIE1hdGgucmFuZG9tKCkgKyAxLAogICAgICAgICAgICAgICAgICAgIHN0ID0gLjMgKiBNYXRoLnJhbmRvbSgpICsgLjM7CiAgICAgICAgICAgICAgICByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoby5maW5kKCIudHAtaGFsZi1vbmUiKSwgewogICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiAiaGlkZGVuIgogICAgICAgICAgICAgICAgfSksIDApLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oby5maW5kKCIudHAtaGFsZi1vbmUiKSwgcCAvIDgwMCwgewogICAgICAgICAgICAgICAgICAgIHdpZHRoOiBKLAogICAgICAgICAgICAgICAgICAgIGhlaWdodDogTiAvIDIsCiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJhYnNvbHV0ZSIsCiAgICAgICAgICAgICAgICAgICAgdG9wOiAiMHB4IiwKICAgICAgICAgICAgICAgICAgICBsZWZ0OiAiMHB4IiwKICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiAiY2VudGVyIHRvcCIKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBzY2FsZTogbnQsCiAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IHR0LAogICAgICAgICAgICAgICAgICAgIHk6IDAgLSBOIC0gTiAvIDQsCiAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwLAogICAgICAgICAgICAgICAgICAgIGVhc2U6IHcKICAgICAgICAgICAgICAgIH0pLCAwKSwgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKG8uZmluZCgiLnRwLWhhbGYtdHdvIiksIHAgLyA4MDAsIHsKICAgICAgICAgICAgICAgICAgICB3aWR0aDogSiwKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IE4sCiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICJoaWRkZW4iLAogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiLAogICAgICAgICAgICAgICAgICAgIHRvcDogTiAvIDIsCiAgICAgICAgICAgICAgICAgICAgbGVmdDogIjBweCIsCiAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogImNlbnRlciBib3R0b20iCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgc2NhbGU6IHJ0LAogICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uOiBldCwKICAgICAgICAgICAgICAgICAgICB5OiBOICsgTiAvIDQsCiAgICAgICAgICAgICAgICAgICAgZWFzZTogdywKICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAsCiAgICAgICAgICAgICAgICAgICAgb25Db21wbGV0ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHB1bmNoZ3MuVHdlZW5MaXRlLnNldChvLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogImFic29sdXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ6LWluZGV4IjogMTUKICAgICAgICAgICAgICAgICAgICAgICAgfSksIHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogImFic29sdXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ6LWluZGV4IjogMjAKICAgICAgICAgICAgICAgICAgICAgICAgfSksIDAgPCBvLmZpbmQoIi50cC1oYWxmLW9uZSIpLmxlbmd0aCAmJiAoby5maW5kKCIudHAtaGFsZi1vbmUgLmRlZmF1bHRpbWciKS51bndyYXAoKSwgby5maW5kKCIudHAtaGFsZi1vbmUgLnNsb3Rob2xkZXIiKS51bndyYXAoKSksIG8uZmluZCgiLnRwLWhhbGYtdHdvIikucmVtb3ZlKCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KSwgMCksIHguYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLmZpbmQoIi5kZWZhdWx0aW1nIiksIHsKICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEKICAgICAgICAgICAgICAgIH0pLCAwKSwgbnVsbCAhPSBvLmh0bWwoKSAmJiByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oZSwgKHAgLSAyMDApIC8gMWUzLCB7CiAgICAgICAgICAgICAgICAgICAgc2NhbGU6IHN0LAogICAgICAgICAgICAgICAgICAgIHg6IHMud2lkdGggLyA0ICogYXQsCiAgICAgICAgICAgICAgICAgICAgeTogTiAvIDQgKiBpdCwKICAgICAgICAgICAgICAgICAgICByb3RhdGlvbjogb3QsCiAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogImNlbnRlciBjZW50ZXIiLAogICAgICAgICAgICAgICAgICAgIGVhc2U6IG0KICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEsCiAgICAgICAgICAgICAgICAgICAgc2NhbGU6IDEsCiAgICAgICAgICAgICAgICAgICAgeDogMCwKICAgICAgICAgICAgICAgICAgICB5OiAwLAogICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uOiAwCiAgICAgICAgICAgICAgICB9KSwgMCksIHIuYWRkKHgsIDApCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKDE3ID09IGEgJiYgaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGUsIHAgLyA4MDAsIHsKICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb25ZOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBzY2FsZTogLjksCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWDogLTExMCwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1QZXJzcGVjdGl2ZTogNjAwLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW46ICJjZW50ZXIgY2VudGVyIgogICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICBzY2FsZTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvblk6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHcsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiAuMDYgKiB0CiAgICAgICAgICAgICAgICAgICAgfSksIDApCiAgICAgICAgICAgICAgICB9KSwgMTggPT0gYSAmJiBpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgICAgICByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oZSwgcCAvIDUwMCwgewogICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWTogMTEwLAogICAgICAgICAgICAgICAgICAgICAgICBzY2FsZTogLjksCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWDogMTAsCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtUGVyc3BlY3RpdmU6IDYwMCwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiAiY2VudGVyIGNlbnRlciIKICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICBzY2FsZTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvblk6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHcsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiAuMDYgKiB0CiAgICAgICAgICAgICAgICAgICAgfSksIDApCiAgICAgICAgICAgICAgICB9KSwgMTkgPT0gYSB8fCAyMiA9PSBhKSB7CiAgICAgICAgICAgICAgICB4ID0gbmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlLCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobywgewogICAgICAgICAgICAgICAgICAgIHpJbmRleDogMjAKICAgICAgICAgICAgICAgIH0pLCAwKSwgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGUsIHsKICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IDIwCiAgICAgICAgICAgICAgICB9KSwgMCksIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgbi5maW5kKCIuZGVmYXVsdGltZyIpLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfSwgMTAwKTsKICAgICAgICAgICAgICAgIHZhciBsdCA9IDkwLAogICAgICAgICAgICAgICAgICAgIGR0ID0gKEUgPSAxLCAiY2VudGVyIGNlbnRlciAiKTsKICAgICAgICAgICAgICAgIDEgPT0gZCAmJiAobHQgPSAtOTApLCAxOSA9PSBhID8gKGR0ID0gZHQgKyAiLSIgKyBzLmhlaWdodCAvIDIsIEUgPSAwKSA6IGR0ICs9IHMuaGVpZ2h0IC8gMiwgcHVuY2hncy5Ud2VlbkxpdGUuc2V0KHosIHsKICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1TdHlsZTogImZsYXQiLAogICAgICAgICAgICAgICAgICAgIGJhY2tmYWNlVmlzaWJpbGl0eTogImhpZGRlbiIsCiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtUGVyc3BlY3RpdmU6IDYwMAogICAgICAgICAgICAgICAgfSksIGkuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0galF1ZXJ5KHRoaXMpOwogICAgICAgICAgICAgICAgICAgIHguYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhlLCBwIC8gMWUzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybVN0eWxlOiAiZmxhdCIsCiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tmYWNlVmlzaWJpbGl0eTogImhpZGRlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWTogcy5yb3RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgIHo6IDEwLAogICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlOiAxLAogICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybVBlcnNwZWN0aXZlOiA2MDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogZHQsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWDogbHQKICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgICAgICAgICB6OiAwLAogICAgICAgICAgICAgICAgICAgICAgICBzY2FsZTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvblg6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiA1MCAqIHQgLyAxZTMsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHcKICAgICAgICAgICAgICAgICAgICB9KSwgMCksIHguYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGUsIC4xLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk6IDUwICogdCAvIDFlMwogICAgICAgICAgICAgICAgICAgIH0pLCAwKSwgci5hZGQoeCkKICAgICAgICAgICAgICAgIH0pLCBuLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKSwKICAgICAgICAgICAgICAgICAgICAgICAgbyA9IC05MDsKICAgICAgICAgICAgICAgICAgICAxID09IGQgJiYgKG8gPSA5MCksIHguYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhlLCBwIC8gMWUzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybVN0eWxlOiAiZmxhdCIsCiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tmYWNlVmlzaWJpbGl0eTogImhpZGRlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb25ZOiAwLAogICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHo6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlOiAxLAogICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybVBlcnNwZWN0aXZlOiA2MDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogZHQsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWDogMAogICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxLAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvblk6IHMucm90YXRlLAogICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHo6IDEwLAogICAgICAgICAgICAgICAgICAgICAgICBzY2FsZTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb25YOiBvLAogICAgICAgICAgICAgICAgICAgICAgICBkZWxheTogNTAgKiB0IC8gMWUzLAogICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IG0KICAgICAgICAgICAgICAgICAgICB9KSwgMCksIHIuYWRkKHgpCiAgICAgICAgICAgICAgICB9KSwgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KG8sIHsKICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IDE4CiAgICAgICAgICAgICAgICB9KSwgMCkKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoMjAgPT0gYSkgewogICAgICAgICAgICAgICAgaWYgKHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG4uZmluZCgiLmRlZmF1bHRpbWciKS5jc3MoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMAogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0sIDEwMCksIDEgPT0gZCkgewogICAgICAgICAgICAgICAgICAgIHZhciBodCA9IC1zLndpZHRoOwogICAgICAgICAgICAgICAgICAgIGx0ID0gODAsIGR0ID0gIjIwJSA3MCUgLSIgKyBzLmhlaWdodCAvIDIKICAgICAgICAgICAgICAgIH0gZWxzZSBodCA9IHMud2lkdGgsIGx0ID0gLTgwLCBkdCA9ICI4MCUgNzAlIC0iICsgcy5oZWlnaHQgLyAyOwogICAgICAgICAgICAgICAgaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyksCiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSA1MCAqIHQgLyAxZTM7CiAgICAgICAgICAgICAgICAgICAgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGUsIHAgLyAxZTMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogaHQsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWDogNDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHo6IC02MDAsCiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IEUsCiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGU6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtUGVyc3BlY3RpdmU6IDYwMCwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiBkdCwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtU3R5bGU6ICJmbGF0IiwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb25ZOiBsdAogICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb25YOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLAogICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHo6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlOiAxLAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvblk6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiBvLAogICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiB3CiAgICAgICAgICAgICAgICAgICAgfSksIDApCiAgICAgICAgICAgICAgICB9KSwgbi5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyksCiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSA1MCAqIHQgLyAxZTM7CiAgICAgICAgICAgICAgICAgICAgaWYgKG8gPSAwIDwgdCA/IG8gKyBwIC8gOWUzIDogMCwgMSAhPSBkKSB2YXIgYSA9IC1zLndpZHRoIC8gMiwKICAgICAgICAgICAgICAgICAgICAgICAgaSA9IDMwLAogICAgICAgICAgICAgICAgICAgICAgICBuID0gIjIwJSA3MCUgLSIgKyBzLmhlaWdodCAvIDI7CiAgICAgICAgICAgICAgICAgICAgZWxzZSBhID0gcy53aWR0aCAvIDIsIGkgPSAtMzAsIG4gPSAiODAlIDcwJSAtIiArIHMuaGVpZ2h0IC8gMjsKICAgICAgICAgICAgICAgICAgICBtID0gcHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0LCByLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oZSwgcCAvIDFlMywgewogICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvblg6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgejogMCwKICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGU6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtUGVyc3BlY3RpdmU6IDYwMCwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiBuLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1TdHlsZTogImZsYXQiLAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvblk6IDAKICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWDogMjAsCiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgejogLTYwMCwKICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYSwKICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvblk6IGksCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiBvLAogICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBtCiAgICAgICAgICAgICAgICAgICAgfSksIDApCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgyMSA9PSBhIHx8IDI1ID09IGEpIHsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgbi5maW5kKCIuZGVmYXVsdGltZyIpLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfSwgMTAwKSwgbHQgPSA5MCwgaHQgPSAtcy53aWR0aDsKICAgICAgICAgICAgICAgIHZhciBjdCA9IC1sdDsKICAgICAgICAgICAgICAgIDEgPT0gZCA/IDI1ID09IGEgPyAoZHQgPSAiY2VudGVyIHRvcCAwIiwgbHQgPSBzLnJvdGF0ZSkgOiAoZHQgPSAibGVmdCBjZW50ZXIgMCIsIGN0ID0gcy5yb3RhdGUpIDogKGh0ID0gcy53aWR0aCwgbHQgPSAtOTAsIDI1ID09IGEgPyAoZHQgPSAiY2VudGVyIGJvdHRvbSAwIiwgY3QgPSAtbHQsIGx0ID0gcy5yb3RhdGUpIDogKGR0ID0gInJpZ2h0IGNlbnRlciAwIiwgY3QgPSBzLnJvdGF0ZSkpLCBpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKSwKICAgICAgICAgICAgICAgICAgICAgICAgbyA9IHAgLyAxLjUgLyAzOwogICAgICAgICAgICAgICAgICAgIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhlLCAyICogbyAvIDFlMywgewogICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1TdHlsZTogImZsYXQiLAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvblg6IGN0LAogICAgICAgICAgICAgICAgICAgICAgICB6OiAwLAogICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGU6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtUGVyc3BlY3RpdmU6IDEyMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogZHQsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWTogbHQKICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgICAgICAgICB6OiAwLAogICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlOiAxLAogICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvblk6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk6IG8gLyAxZTMsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHcKICAgICAgICAgICAgICAgICAgICB9KSwgMCkKICAgICAgICAgICAgICAgIH0pLCAxICE9IGQgPyAoaHQgPSAtcy53aWR0aCwgbHQgPSA5MCwgMjUgPT0gYSA/IChkdCA9ICJjZW50ZXIgdG9wIDAiLCBjdCA9IC1sdCwgbHQgPSBzLnJvdGF0ZSkgOiAoZHQgPSAibGVmdCBjZW50ZXIgMCIsIGN0ID0gcy5yb3RhdGUpKSA6IChodCA9IHMud2lkdGgsIGx0ID0gLTkwLCAyNSA9PSBhID8gKGR0ID0gImNlbnRlciBib3R0b20gMCIsIGN0ID0gLWx0LCBsdCA9IHMucm90YXRlKSA6IChkdCA9ICJyaWdodCBjZW50ZXIgMCIsIGN0ID0gcy5yb3RhdGUpKSwgbi5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBqUXVlcnkodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGUsIHAgLyAxZTMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtU3R5bGU6ICJmbGF0IiwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb25YOiAwLAogICAgICAgICAgICAgICAgICAgICAgICB6OiAwLAogICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGU6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtUGVyc3BlY3RpdmU6IDEyMDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogZHQsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWTogMAogICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb25YOiBjdCwKICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgICAgICAgICB6OiAwLAogICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGU6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWTogbHQsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IG0KICAgICAgICAgICAgICAgICAgICB9KSwgMCkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIDIzICE9IGEgJiYgMjQgIT0gYSB8fCAoc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIG4uZmluZCgiLmRlZmF1bHRpbWciKS5jc3MoewogICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0sIDEwMCksIGx0ID0gLTkwLCAoRSA9IDEpID09IGQgJiYgKGx0ID0gOTApLCAyMyA9PSBhID8gKGR0ID0gImNlbnRlciBjZW50ZXIgLSIgKyBzLndpZHRoIC8gMiwgRSA9IDApIDogZHQgPSAiY2VudGVyIGNlbnRlciAiICsgcy53aWR0aCAvIDIsIHB1bmNoZ3MuVHdlZW5MaXRlLnNldCh6LCB7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1TdHlsZTogInByZXNlcnZlLTNkIiwKICAgICAgICAgICAgICAgIGJhY2tmYWNlVmlzaWJpbGl0eTogImhpZGRlbiIsCiAgICAgICAgICAgICAgICBwZXJzcGVjdGl2ZTogMjUwMAogICAgICAgICAgICB9KSwgaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhlLCBwIC8gMWUzLCB7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwKICAgICAgICAgICAgICAgICAgICByb3RhdGlvblg6IHMucm90YXRlLAogICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiBFLAogICAgICAgICAgICAgICAgICAgIHRvcDogMCwKICAgICAgICAgICAgICAgICAgICBzY2FsZTogMSwKICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1QZXJzcGVjdGl2ZTogMTIwMCwKICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW46IGR0LAogICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWTogbHQKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLAogICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWDogMCwKICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEsCiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgICAgIHo6IDAsCiAgICAgICAgICAgICAgICAgICAgc2NhbGU6IDEsCiAgICAgICAgICAgICAgICAgICAgcm90YXRpb25ZOiAwLAogICAgICAgICAgICAgICAgICAgIGRlbGF5OiA1MCAqIHQgLyA1MDAsCiAgICAgICAgICAgICAgICAgICAgZWFzZTogdwogICAgICAgICAgICAgICAgfSksIDApCiAgICAgICAgICAgIH0pLCBsdCA9IDkwLCAxID09IGQgJiYgKGx0ID0gLTkwKSwgbi5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgIHIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhlLCBwIC8gMWUzLCB7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwKICAgICAgICAgICAgICAgICAgICByb3RhdGlvblg6IDAsCiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgICAgIHo6IDAsCiAgICAgICAgICAgICAgICAgICAgc2NhbGU6IDEsCiAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybVN0eWxlOiAiZmxhdCIsCiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtUGVyc3BlY3RpdmU6IDEyMDAsCiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiBkdCwKICAgICAgICAgICAgICAgICAgICByb3RhdGlvblk6IDAKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLAogICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWDogcy5yb3RhdGUsCiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLAogICAgICAgICAgICAgICAgICAgIHNjYWxlOiAxLAogICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uWTogbHQsCiAgICAgICAgICAgICAgICAgICAgZGVsYXk6IDUwICogdCAvIDUwMCwKICAgICAgICAgICAgICAgICAgICBlYXNlOiBtCiAgICAgICAgICAgICAgICB9KSwgMCksIDIzID09IGEgJiYgci5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGUsIHAgLyAyZTMsIHsKICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAsCiAgICAgICAgICAgICAgICAgICAgZGVsYXk6IDUwICogdCAvIDUwMCArIHAgLyAzZTMsCiAgICAgICAgICAgICAgICAgICAgZWFzZTogbQogICAgICAgICAgICAgICAgfSksIDApCiAgICAgICAgICAgIH0pKSwgcgogICAgICAgIH0KfShqUXVlcnkpOwohIGZ1bmN0aW9uKGUpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIHZhciBJID0galF1ZXJ5LmZuLnJldm9sdXRpb24sCiAgICAgICAgXyA9IEkuaXNfbW9iaWxlKCksCiAgICAgICAgUyA9IChJLmlzX2FuZHJvaWQoKSwgewogICAgICAgICAgICBhbGlhczogIlZpZGVvIE1pbiBKUyIsCiAgICAgICAgICAgIG5hbWU6ICJyZXZvbHV0aW9uLmV4dGVuc2lvbnMudmlkZW8ubWluLmpzIiwKICAgICAgICAgICAgbWluX2NvcmU6ICI1LjQuOCIsCiAgICAgICAgICAgIHZlcnNpb246ICIyLjIuMiIKICAgICAgICB9KTsKCiAgICBmdW5jdGlvbiBqKGUpIHsKICAgICAgICByZXR1cm4gbnVsbCA9PSBlID8gLTEgOiBqUXVlcnkuaXNOdW1lcmljKGUpID8gZSA6IDEgPCBlLnNwbGl0KCI6IikubGVuZ3RoID8gNjAgKiBwYXJzZUludChlLnNwbGl0KCI6IilbMF0sIDApICsgcGFyc2VJbnQoZS5zcGxpdCgiOiIpWzFdLCAwKSA6IGUKICAgIH0KICAgIGpRdWVyeS5leHRlbmQoITAsIEksIHsKICAgICAgICBwcmVMb2FkQXVkaW86IGZ1bmN0aW9uKGUsIGEpIHsKICAgICAgICAgICAgaWYgKCJzdG9wIiA9PT0gSS5jb21wYXJlX3ZlcnNpb24oUykuY2hlY2spIHJldHVybiAhMTsKICAgICAgICAgICAgZS5maW5kKCIudHAtYXVkaW9sYXllciIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IGpRdWVyeSh0aGlzKSwKICAgICAgICAgICAgICAgICAgICB0ID0ge307CiAgICAgICAgICAgICAgICAwID09PSBlLmZpbmQoImF1ZGlvIikubGVuZ3RoICYmICh0LnNyYyA9IG51bGwgIT0gZS5kYXRhKCJ2aWRlb21wNCIpID8gZS5kYXRhKCJ2aWRlb21wNCIpIDogIiIsIHQucHJlID0gZS5kYXRhKCJ2aWRlb3ByZWxvYWQiKSB8fCAiIiwgdm9pZCAwID09PSBlLmF0dHIoImlkIikgJiYgZS5hdHRyKCJhdWRpby1sYXllci0iICsgTWF0aC5yb3VuZCgxOTk5OTkgKiBNYXRoLnJhbmRvbSgpKSksIHQuaWQgPSBlLmF0dHIoImlkIiksIHQuc3RhdHVzID0gInByZXBhcmVkIiwgdC5zdGFydCA9IGpRdWVyeS5ub3coKSwgdC53YWl0dGltZSA9IDFlMyAqIGUuZGF0YSgidmlkZW9wcmVsb2Fkd2FpdCIpIHx8IDVlMywgImF1dG8iICE9IHQucHJlICYmICJjYW5wbGF5dGhyb3VnaCIgIT0gdC5wcmUgJiYgImNhbnBsYXkiICE9IHQucHJlICYmICJwcm9ncmVzcyIgIT0gdC5wcmUgfHwgKHZvaWQgMCA9PT0gYS5hdWRpb3F1ZXVlICYmIChhLmF1ZGlvcXVldWUgPSBbXSksIGEuYXVkaW9xdWV1ZS5wdXNoKHQpLCBJLm1hbmFnZVZpZGVvTGF5ZXIoZSwgYSkpKQogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgcHJlTG9hZEF1ZGlvRG9uZTogZnVuY3Rpb24oYSwgZSwgaSkgewogICAgICAgICAgICBlLmF1ZGlvcXVldWUgJiYgMCA8IGUuYXVkaW9xdWV1ZS5sZW5ndGggJiYgalF1ZXJ5LmVhY2goZS5hdWRpb3F1ZXVlLCBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgICAgICBhLmRhdGEoInZpZGVvbXA0IikgIT09IHQuc3JjIHx8IHQucHJlICE9PSBpICYmICJhdXRvIiAhPT0gdC5wcmUgfHwgKHQuc3RhdHVzID0gImxvYWRlZCIpCiAgICAgICAgICAgIH0pCiAgICAgICAgfSwKICAgICAgICByZXNldFZpZGVvOiBmdW5jdGlvbihlLCB0LCBhLCBpKSB7CiAgICAgICAgICAgIHZhciBvID0gZS5kYXRhKCk7CiAgICAgICAgICAgIHN3aXRjaCAoby52aWRlb3R5cGUpIHsKICAgICAgICAgICAgICAgIGNhc2UgInlvdXR1YmUiOgogICAgICAgICAgICAgICAgICAgIG8ucGxheWVyOwogICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgib24iID09IG8uZm9yY2VyZXdpbmQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkID0gLTEgPT0gKGwgPSBqKGUuZGF0YSgidmlkZW9zdGFydGF0IikpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuID0gMSA9PT0gby5iZ3ZpZGVvIHx8IDAgPCBlLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLmxlbmd0aDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIT0gby5wbGF5ZXIgJiYgKGwgPSAtMSA9PSBsID8gMCA6IGwsIG8ucGxheWVyLnNlZWtUbyhsKSwgby5wbGF5ZXIucGF1c2VWaWRlbygpKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge30KICAgICAgICAgICAgICAgICAgICAwID09IGUuZmluZCgiLnRwLXZpZGVvcG9zdGVyIikubGVuZ3RoICYmIDEgIT09IG8uYmd2aWRlbyAmJiAhMCAhPT0gYSAmJiBwdW5jaGdzLlR3ZWVuTGl0ZS50byhlLmZpbmQoImlmcmFtZSIpLCAuMywgewogICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICJibG9jayIsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dAogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAidmltZW8iOgogICAgICAgICAgICAgICAgICAgIHZhciByID0gZS5kYXRhKCJ2aW1lb3BsYXllciIpOwogICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgib24iID09IG8uZm9yY2VyZXdpbmQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsID0gaihvLnZpZGVvc3RhcnRhdCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkID0gLTEgPT0gbCwgbiA9IDEgPT09IG8uYmd2aWRlbyB8fCAwIDwgZS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS5sZW5ndGgsICgwICE9PSAobCA9IC0xID09IGwgPyAwIDogbCkgJiYgIWQgfHwgbikgJiYgci5wYXVzZSgpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci5zZXRDdXJyZW50VGltZShsKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAgICAgICAgICAgICAgICAgMCA9PSBlLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLmxlbmd0aCAmJiAxICE9PSBvLmJndmlkZW8gJiYgITAgIT09IGEgJiYgcHVuY2hncy5Ud2VlbkxpdGUudG8oZS5maW5kKCJpZnJhbWUiKSwgLjMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxLAogICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAiYmxvY2siLAogICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgImh0bWw1IjoKICAgICAgICAgICAgICAgICAgICBpZiAoXyAmJiAxID09IG8uZGlzYWJsZXZpZGVvb25tb2JpbGUpIHJldHVybiAhMTsKICAgICAgICAgICAgICAgICAgICB2YXIgcyA9ICJodG1sNSIgPT0gby5hdWRpbyA/ICJhdWRpbyIgOiAidmlkZW8iLAogICAgICAgICAgICAgICAgICAgICAgICB1ID0gZS5maW5kKHMpLAogICAgICAgICAgICAgICAgICAgICAgICBwID0gdVswXTsKICAgICAgICAgICAgICAgICAgICBpZiAocHVuY2hncy5Ud2VlbkxpdGUudG8odSwgLjMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICJibG9jayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQKICAgICAgICAgICAgICAgICAgICAgICAgfSksICJvbiIgPT0gby5mb3JjZXJld2luZCAmJiAhZS5oYXNDbGFzcygidmlkZW9pc3BsYXlpbmciKSkgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgbCA9IGooby52aWRlb3N0YXJ0YXQpLCBwLmN1cnJlbnRUaW1lID0gLTEgPT0gbCA/IDAgOiBsCiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge30oIm11dGUiID09IG8udm9sdW1lIHx8IEkubGFzdFRvZ2dsZVN0YXRlKGUudmlkZW9tdXRldG9nZ2xlZGJ5KSB8fCAhMCA9PT0gdC5nbG9iYWxtdXRlKSAmJiAocC5tdXRlZCA9ICEwKQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBpc1ZpZGVvTXV0ZWQ6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgdmFyIGEgPSAhMSwKICAgICAgICAgICAgICAgIGkgPSBlLmRhdGEoKTsKICAgICAgICAgICAgc3dpdGNoIChpLnZpZGVvdHlwZSkgewogICAgICAgICAgICAgICAgY2FzZSAieW91dHViZSI6CiAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgYSA9IGkucGxheWVyLmlzTXV0ZWQoKQogICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJ2aW1lbyI6CiAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgIm11dGUiID09IGkudm9sdW1lICYmIChhID0gITApCiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge30KICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgImh0bWw1IjoKICAgICAgICAgICAgICAgICAgICB2YXIgbyA9ICJodG1sNSIgPT0gaS5hdWRpbyA/ICJhdWRpbyIgOiAidmlkZW8iOwogICAgICAgICAgICAgICAgICAgIGUuZmluZChvKVswXS5tdXRlZCAmJiAoYSA9ICEwKQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBhCiAgICAgICAgfSwKICAgICAgICBtdXRlVmlkZW86IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgdmFyIGEgPSBlLmRhdGEoKTsKICAgICAgICAgICAgc3dpdGNoIChhLnZpZGVvdHlwZSkgewogICAgICAgICAgICAgICAgY2FzZSAieW91dHViZSI6CiAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgYS5wbGF5ZXIubXV0ZSgpCiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge30KICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgInZpbWVvIjoKICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IGUuZGF0YSgidmltZW9wbGF5ZXIiKTsKICAgICAgICAgICAgICAgICAgICAgICAgZS5kYXRhKCJ2b2x1bWUiLCAibXV0ZSIpLCBpLnNldFZvbHVtZSgwKQogICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJodG1sNSI6CiAgICAgICAgICAgICAgICAgICAgdmFyIG8gPSAiaHRtbDUiID09IGEuYXVkaW8gPyAiYXVkaW8iIDogInZpZGVvIjsKICAgICAgICAgICAgICAgICAgICBlLmZpbmQobylbMF0ubXV0ZWQgPSAhMAogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB1bk11dGVWaWRlbzogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICBpZiAoITAgIT09IHQuZ2xvYmFsbXV0ZSkgewogICAgICAgICAgICAgICAgdmFyIGEgPSBlLmRhdGEoKTsKICAgICAgICAgICAgICAgIHN3aXRjaCAoYS52aWRlb3R5cGUpIHsKICAgICAgICAgICAgICAgICAgICBjYXNlICJ5b3V0dWJlIjoKICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEucGxheWVyLnVuTXV0ZSgpCiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgInZpbWVvIjoKICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpID0gZS5kYXRhKCJ2aW1lb3BsYXllciIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5kYXRhKCJ2b2x1bWUiLCAiMSIpLCBpLnNldFZvbHVtZSgxKQogICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlICJodG1sNSI6CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvID0gImh0bWw1IiA9PSBhLmF1ZGlvID8gImF1ZGlvIiA6ICJ2aWRlbyI7CiAgICAgICAgICAgICAgICAgICAgICAgIGUuZmluZChvKVswXS5tdXRlZCA9ICExCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHN0b3BWaWRlbzogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICB2YXIgYSA9IGUuZGF0YSgpOwogICAgICAgICAgICBzd2l0Y2ggKHQubGVhdmVWaWV3UG9ydEJhc2VkU3RvcCB8fCAodC5sYXN0cGxheWVkdmlkZW9zID0gW10pLCB0LmxlYXZlVmlld1BvcnRCYXNlZFN0b3AgPSAhMSwgYS52aWRlb3R5cGUpIHsKICAgICAgICAgICAgICAgIGNhc2UgInlvdXR1YmUiOgogICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpID0gYS5wbGF5ZXI7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgyID09PSBpLmdldFBsYXllclN0YXRlKCkgfHwgNSA9PT0gaS5nZXRQbGF5ZXJTdGF0ZSgpKSByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgIGkucGF1c2VWaWRlbygpLCBhLnlvdXR1YmVwYXVzZWNhbGxlZCA9ICEwLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYS55b3V0dWJlcGF1c2VjYWxsZWQgPSAhMQogICAgICAgICAgICAgICAgICAgICAgICB9LCA4MCkKICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJJc3N1ZSBhdCBZb3VUdWJlIFZpZGVvIFBhdXNlOiIpLCBjb25zb2xlLmxvZyhlKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgInZpbWVvIjoKICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICBlLmRhdGEoInZpbWVvcGxheWVyIikucGF1c2UoKSwgYS52aW1lb3BhdXNlY2FsbGVkID0gITAsIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLnZpbWVvcGF1c2VjYWxsZWQgPSAhMQogICAgICAgICAgICAgICAgICAgICAgICB9LCA4MCkKICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJJc3N1ZSBhdCBWaW1lbyBWaWRlbyBQYXVzZToiKSwgY29uc29sZS5sb2coZSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJodG1sNSI6CiAgICAgICAgICAgICAgICAgICAgdmFyIG8gPSAiaHRtbDUiID09IGEuYXVkaW8gPyAiYXVkaW8iIDogInZpZGVvIiwKICAgICAgICAgICAgICAgICAgICAgICAgZCA9IGUuZmluZChvKSwKICAgICAgICAgICAgICAgICAgICAgICAgbiA9IGRbMF07CiAgICAgICAgICAgICAgICAgICAgbnVsbCAhPSBkICYmIG51bGwgIT0gbiAmJiBuLnBhdXNlKCkKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgcGxheVZpZGVvOiBmdW5jdGlvbihhLCBpKSB7CiAgICAgICAgICAgIGNsZWFyVGltZW91dChhLmRhdGEoInZpZGVvcGxheXdhaXQiKSk7CiAgICAgICAgICAgIHZhciBlID0gYS5kYXRhKCk7CiAgICAgICAgICAgIHN3aXRjaCAoZS52aWRlb3R5cGUpIHsKICAgICAgICAgICAgICAgIGNhc2UgInlvdXR1YmUiOgogICAgICAgICAgICAgICAgICAgIGlmICgwID09IGEuZmluZCgiaWZyYW1lIikubGVuZ3RoKSBhLmFwcGVuZChhLmRhdGEoInZpZGVvbWFya3VwIikpLCBPKGEsIGksICEwKTsKICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChudWxsICE9IGUucGxheWVyLnBsYXlWaWRlbykgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGooYS5kYXRhKCJ2aWRlb3N0YXJ0YXQiKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvID0gZS5wbGF5ZXIuZ2V0Q3VycmVudFRpbWUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgMSA9PSBhLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIpICYmIChvID0gLTEsIGEuZGF0YSgibmV4dHNsaWRlYXRlbmQtdHJpZ2dlcmVkIiwgMCkpLCAtMSAhPSB0ICYmIG8gPCB0ICYmIGUucGxheWVyLnNlZWtUbyh0KSwgITAgIT09IGUueW91dHViZXBhdXNlY2FsbGVkICYmIGUucGxheWVyLnBsYXlWaWRlbygpCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGEuZGF0YSgidmlkZW9wbGF5d2FpdCIsIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICEwICE9PSBlLnlvdXR1YmVwYXVzZWNhbGxlZCAmJiBJLnBsYXlWaWRlbyhhLCBpKQogICAgICAgICAgICAgICAgICAgIH0sIDUwKSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJ2aW1lbyI6CiAgICAgICAgICAgICAgICAgICAgaWYgKDAgPT0gYS5maW5kKCJpZnJhbWUiKS5sZW5ndGgpIGEucmVtb3ZlRGF0YSgidmltZW9wbGF5ZXIiKSwgYS5hcHBlbmQoYS5kYXRhKCJ2aWRlb21hcmt1cCIpKSwgTyhhLCBpLCAhMCk7CiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYS5oYXNDbGFzcygicnMtYXBpcmVhZHkiKSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZCwgbiA9IGEuZmluZCgiaWZyYW1lIikuYXR0cigiaWQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgYS5kYXRhKCJ2aW1lb3BsYXllciIpID8gZCA9IGEuZGF0YSgidmltZW9wbGF5ZXIiKSA6IChkID0gbmV3IFZpbWVvLlBsYXllcihuKSwgYS5kYXRhKCJ2aW1lb3BsYXllciIsIGQpKSwgZC5nZXRQYXVzZWQoKSA/IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGooYS5kYXRhKCJ2aWRlb3N0YXJ0YXQiKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9IGEuZGF0YSgiY3VycmVudHRpbWUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgfHwgKHQgPSAwKSwgMSA9PSBhLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIpICYmICh0ID0gLTEsIGEuZGF0YSgibmV4dHNsaWRlYXRlbmQtdHJpZ2dlcmVkIiwgMCkpLCAtMSAhPSBlICYmIHQgPCBlICYmIGQuc2V0Q3VycmVudFRpbWUoZSksIGQucGxheSgpCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDUxMCkgOiBhLmRhdGEoInZpZGVvcGxheXdhaXQiLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgITAgIT09IGUudmltZW9wYXVzZWNhbGxlZCAmJiBJLnBsYXlWaWRlbyhhLCBpKQogICAgICAgICAgICAgICAgICAgICAgICB9LCA1MCkpCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGEuZGF0YSgidmlkZW9wbGF5d2FpdCIsIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICEwICE9PSBlLnZpbWVvcGF1c2VjYWxsZWQgJiYgSS5wbGF5VmlkZW8oYSwgaSkKICAgICAgICAgICAgICAgICAgICB9LCA1MCkpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAiaHRtbDUiOgogICAgICAgICAgICAgICAgICAgIHZhciByID0gImh0bWw1IiA9PSBlLmF1ZGlvID8gImF1ZGlvIiA6ICJ2aWRlbyIsCiAgICAgICAgICAgICAgICAgICAgICAgIGwgPSBhLmZpbmQociksCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSBsWzBdOwogICAgICAgICAgICAgICAgICAgIDEgIT0gbC5wYXJlbnQoKS5kYXRhKCJtZXRhbG9hZGVkIikgPyBBKHMsICJsb2FkZWRtZXRhZGF0YSIsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgSS5yZXNldFZpZGVvKGUsIGkpLCBzLnBsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBqKGUuZGF0YSgidmlkZW9zdGFydGF0IikpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYSA9IHMuY3VycmVudFRpbWU7CiAgICAgICAgICAgICAgICAgICAgICAgIDEgPT0gZS5kYXRhKCJuZXh0c2xpZGVhdGVuZC10cmlnZ2VyZWQiKSAmJiAoYSA9IC0xLCBlLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIsIDApKSwgLTEgIT0gdCAmJiBhIDwgdCAmJiAocy5jdXJyZW50VGltZSA9IHQpCiAgICAgICAgICAgICAgICAgICAgfShhKSkgOiAocy5wbGF5KCksIHQgPSBqKGEuZGF0YSgidmlkZW9zdGFydGF0IikpLCBvID0gcy5jdXJyZW50VGltZSwgMSA9PSBhLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIpICYmIChvID0gLTEsIGEuZGF0YSgibmV4dHNsaWRlYXRlbmQtdHJpZ2dlcmVkIiwgMCkpLCAtMSAhPSB0ICYmIG8gPCB0ICYmIChzLmN1cnJlbnRUaW1lID0gdCkpCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGlzVmlkZW9QbGF5aW5nOiBmdW5jdGlvbihhLCBlKSB7CiAgICAgICAgICAgIHZhciBpID0gITE7CiAgICAgICAgICAgIHJldHVybiBudWxsICE9IGUucGxheWluZ3ZpZGVvcyAmJiBqUXVlcnkuZWFjaChlLnBsYXlpbmd2aWRlb3MsIGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgICAgIGEuYXR0cigiaWQiKSA9PSB0LmF0dHIoImlkIikgJiYgKGkgPSAhMCkKICAgICAgICAgICAgfSksIGkKICAgICAgICB9LAogICAgICAgIHJlbW92ZU1lZGlhRnJvbUxpc3Q6IGZ1bmN0aW9uKGUsIHQpIHsKICAgICAgICAgICAgVihlLCB0KQogICAgICAgIH0sCiAgICAgICAgcHJlcGFyZUNvdmVyZWRWaWRlbzogZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICBpZiAoKCF0Lmhhc0NsYXNzKCJ0cC1jYXB0aW9uIikgfHwgdC5oYXNDbGFzcygiY292ZXJzY3JlZW52aWRlbyIpKSAmJiAodm9pZCAwID09PSB0LmRhdGEoInZpbWVvaWQiKSB8fCB2b2lkIDAgIT09IHQuZGF0YSgidmltZW9wbGF5ZXJsb2FkZWQiKSkpIHsKICAgICAgICAgICAgICAgIHZhciBhID0ge307CiAgICAgICAgICAgICAgICBhLmlmciA9IHQuZmluZCgiaWZyYW1lLCB2aWRlbyIpLCBhLmFzcCA9IHQuZGF0YSgiYXNwZWN0cmF0aW8iKSwgYS53YSA9IGEuYXNwLnNwbGl0KCI6IilbMF0sIGEuaGEgPSBhLmFzcC5zcGxpdCgiOiIpWzFdLCBhLnZkID0gYS53YSAvIGEuaGE7CiAgICAgICAgICAgICAgICB2YXIgaSA9ICJjYXJvdXNlbCIgIT09IGUuc2xpZGVyVHlwZSA/IGUuY29udyA6IHQuY2xvc2VzdCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaSIpLndpZHRoKCk7CiAgICAgICAgICAgICAgICBpZiAoMCA9PT0gaSB8fCAwID09PSBlLmNvbmgpIHJldHVybiBJLnNldFNpemUoZSksIGNsZWFyVGltZW91dChhLmlmci5kYXRhKCJyZXNpemVsaXN0ZW5lciIpKSwgdm9pZCBhLmlmci5kYXRhKCJyZXNpemVsaXN0ZW5lciIsIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgSS5wcmVwYXJlQ292ZXJlZFZpZGVvKGUsIHQpCiAgICAgICAgICAgICAgICB9LCAxMDApKTsKICAgICAgICAgICAgICAgIHZhciBvID0gaSAvIGUuY29uaCwKICAgICAgICAgICAgICAgICAgICBkID0gbyAvIGEudmQgKiAxMDAsCiAgICAgICAgICAgICAgICAgICAgbiA9IGEudmQgLyBvICogMTAwOwogICAgICAgICAgICAgICAgbyA+IGEudmQgPyBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS5pZnIsIHsKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGQgKyAiJSIsCiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICIxMDAlIiwKICAgICAgICAgICAgICAgICAgICB0b3A6IC0oZCAtIDEwMCkgLyAyICsgIiUiLAogICAgICAgICAgICAgICAgICAgIGxlZnQ6ICIwcHgiLAogICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiCiAgICAgICAgICAgICAgICB9KSA6IHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLmlmciwgewogICAgICAgICAgICAgICAgICAgIHdpZHRoOiBuICsgIiUiLAogICAgICAgICAgICAgICAgICAgIGhlaWdodDogIjEwMCUiLAogICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0obiAtIDEwMCkgLyAyICsgIiUiLAogICAgICAgICAgICAgICAgICAgIHRvcDogIjBweCIsCiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJhYnNvbHV0ZSIKICAgICAgICAgICAgICAgIH0pLCBhLmlmci5oYXNDbGFzcygicmVzaXplbGlzdGVuZXIiKSB8fCAoYS5pZnIuYWRkQ2xhc3MoInJlc2l6ZWxpc3RlbmVyIiksIGpRdWVyeSh3aW5kb3cpLnJlc2l6ZShmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBJLnByZXBhcmVDb3ZlcmVkVmlkZW8oZSwgdCksIGNsZWFyVGltZW91dChhLmlmci5kYXRhKCJyZXNpemVsaXN0ZW5lciIpKSwgYS5pZnIuZGF0YSgicmVzaXplbGlzdGVuZXIiLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBJLnByZXBhcmVDb3ZlcmVkVmlkZW8oZSwgdCkKICAgICAgICAgICAgICAgICAgICB9LCA5MCkpCiAgICAgICAgICAgICAgICB9KSkKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgY2hlY2tWaWRlb0FwaXM6IGZ1bmN0aW9uKGUsIHQsIGEpIHsKICAgICAgICAgICAgaWYgKGxvY2F0aW9uLnByb3RvY29sLCAobnVsbCAhPSBlLmRhdGEoInl0aWQiKSB8fCAwIDwgZS5maW5kKCJpZnJhbWUiKS5sZW5ndGggJiYgMCA8IGUuZmluZCgiaWZyYW1lIikuYXR0cigic3JjIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ5b3V0dWJlIikpICYmICh0LnlvdXR1YmVhcGluZWVkZWQgPSAhMCksIChudWxsICE9IGUuZGF0YSgieXRpZCIpIHx8IDAgPCBlLmZpbmQoImlmcmFtZSIpLmxlbmd0aCAmJiAwIDwgZS5maW5kKCJpZnJhbWUiKS5hdHRyKCJzcmMiKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoInlvdXR1YmUiKSkgJiYgMCA9PSBhLmFkZGVkeXQpIHsKICAgICAgICAgICAgICAgIHQueW91dHViZXN0YXJ0dGltZSA9IGpRdWVyeS5ub3coKSwgYS5hZGRlZHl0ID0gMTsKICAgICAgICAgICAgICAgIHZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgICAgICAgICAgICAgICBpLnNyYyA9ICJodHRwczovL3d3dy55b3V0dWJlLmNvbS9pZnJhbWVfYXBpIjsKICAgICAgICAgICAgICAgIHZhciBvID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdLAogICAgICAgICAgICAgICAgICAgIGQgPSAhMDsKICAgICAgICAgICAgICAgIGpRdWVyeSgiaGVhZCIpLmZpbmQoIioiKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICJodHRwczovL3d3dy55b3V0dWJlLmNvbS9pZnJhbWVfYXBpIiA9PSBqUXVlcnkodGhpcykuYXR0cigic3JjIikgJiYgKGQgPSAhMSkKICAgICAgICAgICAgICAgIH0pLCBkICYmIG8ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaSwgbykKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoKG51bGwgIT0gZS5kYXRhKCJ2aW1lb2lkIikgfHwgMCA8IGUuZmluZCgiaWZyYW1lIikubGVuZ3RoICYmIDAgPCBlLmZpbmQoImlmcmFtZSIpLmF0dHIoInNyYyIpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigidmltZW8iKSkgJiYgKHQudmltZW9hcGluZWVkZWQgPSAhMCksIChudWxsICE9IGUuZGF0YSgidmltZW9pZCIpIHx8IDAgPCBlLmZpbmQoImlmcmFtZSIpLmxlbmd0aCAmJiAwIDwgZS5maW5kKCJpZnJhbWUiKS5hdHRyKCJzcmMiKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoInZpbWVvIikpICYmIDAgPT0gYS5hZGRlZHZpbSkgewogICAgICAgICAgICAgICAgdC52aW1lb3N0YXJ0dGltZSA9IGpRdWVyeS5ub3coKSwgYS5hZGRlZHZpbSA9IDE7CiAgICAgICAgICAgICAgICB2YXIgbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwogICAgICAgICAgICAgICAgbyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXSwgZCA9ICEwLCBuLnNyYyA9ICJodHRwczovL3BsYXllci52aW1lby5jb20vYXBpL3BsYXllci5qcyIsIGpRdWVyeSgiaGVhZCIpLmZpbmQoIioiKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICJodHRwczovL3BsYXllci52aW1lby5jb20vYXBpL3BsYXllci5qcyIgPT0galF1ZXJ5KHRoaXMpLmF0dHIoInNyYyIpICYmIChkID0gITEpCiAgICAgICAgICAgICAgICB9KSwgZCAmJiBvLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG4sIG8pCiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGEKICAgICAgICB9LAogICAgICAgIG1hbmFnZVZpZGVvTGF5ZXI6IGZ1bmN0aW9uKGksIG8sIGUsIHQpIHsKICAgICAgICAgICAgaWYgKCJzdG9wIiA9PT0gSS5jb21wYXJlX3ZlcnNpb24oUykuY2hlY2spIHJldHVybiAhMTsKICAgICAgICAgICAgdmFyIGEgPSBpLmRhdGEoKSwKICAgICAgICAgICAgICAgIGQgPSBhLnZpZGVvYXR0cmlidXRlcywKICAgICAgICAgICAgICAgIG4gPSBhLnl0aWQsCiAgICAgICAgICAgICAgICByID0gYS52aW1lb2lkLAogICAgICAgICAgICAgICAgbCA9ICJhdXRvIiA9PT0gYS52aWRlb3ByZWxvYWQgfHwgImNhbnBsYXkiID09PSBhLnZpZGVvcHJlbG9hZCB8fCAiY2FucGxheXRocm91Z2giID09PSBhLnZpZGVvcHJlbG9hZCB8fCAicHJvZ3Jlc3MiID09PSBhLnZpZGVvcHJlbG9hZCA/ICJhdXRvIiA6IGEudmlkZW9wcmVsb2FkLAogICAgICAgICAgICAgICAgcyA9IGEudmlkZW9tcDQsCiAgICAgICAgICAgICAgICB1ID0gYS52aWRlb3dlYm0sCiAgICAgICAgICAgICAgICBwID0gYS52aWRlb29ndiwKICAgICAgICAgICAgICAgIHYgPSBhLmFsbG93ZnVsbHNjcmVlbnZpZGVvLAogICAgICAgICAgICAgICAgYyA9IGEudmlkZW9jb250cm9scywKICAgICAgICAgICAgICAgIG0gPSAiaHR0cCIsCiAgICAgICAgICAgICAgICBnID0gImxvb3AiID09IGEudmlkZW9sb29wID8gImxvb3AiIDogImxvb3BhbmRub3NsaWRlc3RvcCIgPT0gYS52aWRlb2xvb3AgPyAibG9vcCIgOiAiIiwKICAgICAgICAgICAgICAgIHkgPSBudWxsICE9IHMgfHwgbnVsbCAhPSB1ID8gImh0bWw1IiA6IG51bGwgIT0gbiAmJiAxIDwgU3RyaW5nKG4pLmxlbmd0aCA/ICJ5b3V0dWJlIiA6IG51bGwgIT0gciAmJiAxIDwgU3RyaW5nKHIpLmxlbmd0aCA/ICJ2aW1lbyIgOiAibm9uZSIsCiAgICAgICAgICAgICAgICBmID0gImh0bWw1IiA9PSBhLmF1ZGlvID8gImF1ZGlvIiA6ICJ2aWRlbyIsCiAgICAgICAgICAgICAgICBoID0gImh0bWw1IiA9PSB5ICYmIDAgPT0gaS5maW5kKGYpLmxlbmd0aCA/ICJodG1sNSIgOiAieW91dHViZSIgPT0geSAmJiAwID09IGkuZmluZCgiaWZyYW1lIikubGVuZ3RoID8gInlvdXR1YmUiIDogInZpbWVvIiA9PSB5ICYmIDAgPT0gaS5maW5kKCJpZnJhbWUiKS5sZW5ndGggPyAidmltZW8iIDogIm5vbmUiOwogICAgICAgICAgICBzd2l0Y2ggKGcgPSAhMCA9PT0gYS5uZXh0c2xpZGVhdGVuZCA/ICIiIDogZywgYS52aWRlb3R5cGUgPSB5LCBoKSB7CiAgICAgICAgICAgICAgICBjYXNlICJodG1sNSI6CiAgICAgICAgICAgICAgICAgICAgImNvbnRyb2xzIiAhPSBjICYmIChjID0gIiIpLCBmID0gInZpZGVvIiwgImh0bWw1IiA9PSBhLmF1ZGlvICYmIChmID0gImF1ZGlvIiwgaS5hZGRDbGFzcygidHAtYXVkaW8taHRtbDUiKSk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGIgPSAiIjsKICAgICAgICAgICAgICAgICAgICAidmlkZW8iID09PSBmICYmIChJLmlzX21vYmlsZSgpIHx8IEkuaXNTYWZhcmkxMSgpKSAmJiAoIm9uIiA9PT0gYS5hdXRvcGxheSB8fCAidHJ1ZSIgPT09IGEuYXV0b3BsYXkgfHwgITAgPT09IGEuYXV0b3BsYXkgPyBiID0gIm11dGVkIHBsYXlzaW5saW5lIGF1dG9wbGF5IiA6IDEgIT0gYS52aWRlb2lubGluZSAmJiAidHJ1ZSIgIT09IGEudmlkZW9pbmxpbmUgJiYgMSAhPT0gYS52aWRlb2lubGluZSB8fCAoYiArPSAiIHBsYXlzaW5saW5lIikpOwogICAgICAgICAgICAgICAgICAgIHZhciB3ID0gIjwiICsgZiArICIgIiArIGIgKyAnIHN0eWxlPSJvYmplY3QtZml0OmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjt2aXNpYmxlOmhpZGRlbjt3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJSIgY2xhc3M9IiIgJyArIGcgKyAnIHByZWxvYWQ9IicgKyBsICsgJyI+JzsKICAgICAgICAgICAgICAgICAgICAiYXV0byIgPT0gbCAmJiAoby5tZWRpYXByZWxvYWQgPSAhMCksICJ2aWRlbyIgPT09IGYgPyAobnVsbCAhPSB1ICYmICJmaXJlZm94IiA9PSBJLmdldF9icm93c2VyKCkudG9Mb3dlckNhc2UoKSAmJiAodyA9IHcgKyAnPHNvdXJjZSBzcmM9IicgKyB1ICsgJyIgdHlwZT0idmlkZW8vd2VibSIgLz4nKSwgbnVsbCAhPSBzICYmICh3ID0gdyArICc8c291cmNlIHNyYz0iJyArIHMgKyAnIiB0eXBlPSJ2aWRlby9tcDQiIC8+JyksIG51bGwgIT0gcCAmJiAodyA9IHcgKyAnPHNvdXJjZSBzcmM9IicgKyBwICsgJyIgdHlwZT0idmlkZW8vb2dnIiAvPicpKSA6ICJhdWRpbyIgPT09IGYgJiYgKG51bGwgIT0gcyAmJiAodyA9IHcgKyAnPHNvdXJjZSBzcmM9IicgKyBzICsgJyIgdHlwZT0iYXVkaW8vbXBlZyIgLz4nKSwgbnVsbCAhPSBwICYmICh3ID0gdyArICc8c291cmNlIHNyYz0iJyArIHAgKyAnIiB0eXBlPSJhdWRpby9vZ2ciIC8+JykpLCB3ID0gdyArICI8LyIgKyBmICsgIj4iOwogICAgICAgICAgICAgICAgICAgIHZhciBUID0gIiI7CiAgICAgICAgICAgICAgICAgICAgInRydWUiICE9PSB2ICYmICEwICE9PSB2IHx8IChUID0gJzxkaXYgY2xhc3M9InRwLXZpZGVvLWJ1dHRvbi13cmFwIj48YnV0dG9uICB0eXBlPSJidXR0b24iIGNsYXNzPSJ0cC12aWRlby1idXR0b24gdHAtdmlkLWZ1bGwtc2NyZWVuIj5GdWxsLVNjcmVlbjwvYnV0dG9uPjwvZGl2PicpLCAiY29udHJvbHMiID09IGMgJiYgKHcgPSB3ICsgJzxkaXYgY2xhc3M9InRwLXZpZGVvLWNvbnRyb2xzIj48ZGl2IGNsYXNzPSJ0cC12aWRlby1idXR0b24td3JhcCI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ0cC12aWRlby1idXR0b24gdHAtdmlkLXBsYXktcGF1c2UiPlBsYXk8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJ0cC12aWRlby1zZWVrLWJhci13cmFwIj48aW5wdXQgIHR5cGU9InJhbmdlIiBjbGFzcz0idHAtc2Vlay1iYXIiIHZhbHVlPSIwIj48L2Rpdj48ZGl2IGNsYXNzPSJ0cC12aWRlby1idXR0b24td3JhcCI+PGJ1dHRvbiAgdHlwZT0iYnV0dG9uIiBjbGFzcz0idHAtdmlkZW8tYnV0dG9uIHRwLXZpZC1tdXRlIj5NdXRlPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0idHAtdmlkZW8tdm9sLWJhci13cmFwIj48aW5wdXQgIHR5cGU9InJhbmdlIiBjbGFzcz0idHAtdm9sdW1lLWJhciIgbWluPSIwIiBtYXg9IjEiIHN0ZXA9IjAuMSIgdmFsdWU9IjEiPjwvZGl2PicgKyBUICsgIjwvZGl2PiIpLCBpLmRhdGEoInZpZGVvbWFya3VwIiwgdyksIGkuYXBwZW5kKHcpLCAoXyAmJiAxID09IGkuZGF0YSgiZGlzYWJsZXZpZGVvb25tb2JpbGUiKSB8fCBJLmlzSUUoOCkpICYmIGkuZmluZChmKS5yZW1vdmUoKSwgaS5maW5kKGYpLmVhY2goZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCwgYSA9IGpRdWVyeSh0aGlzKTsKICAgICAgICAgICAgICAgICAgICAgICAgYS5wYXJlbnQoKS5oYXNDbGFzcygiaHRtbDV2aWQiKSB8fCBhLndyYXAoJzxkaXYgY2xhc3M9Imh0bWw1dmlkIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7dG9wOjBweDtsZWZ0OjBweDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOyBvdmVyZmxvdzpoaWRkZW47Ij48L2Rpdj4nKSwgMSAhPSBhLnBhcmVudCgpLmRhdGEoIm1ldGFsb2FkZWQiKSAmJiBBKHRoaXMsICJsb2FkZWRtZXRhZGF0YSIsIChRKHQgPSBpLCBvKSwgdm9pZCBJLnJlc2V0VmlkZW8odCwgbykpKQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAieW91dHViZSI6CiAgICAgICAgICAgICAgICAgICAgbSA9ICJodHRwcyIsICJub25lIiA9PSBjICYmIC0xID09IChkID0gZC5yZXBsYWNlKCJjb250cm9scz0xIiwgImNvbnRyb2xzPTAiKSkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJjb250cm9scyIpICYmIChkICs9ICImY29udHJvbHM9MCIpLCAoITAgPT09IGEudmlkZW9pbmxpbmUgfHwgInRydWUiID09PSBhLnZpZGVvaW5saW5lIHx8IDEgPT09IGEudmlkZW9pbmxpbmUgfHwgaS5oYXNDbGFzcygicnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpIHx8ICJvbiIgPT09IGkuZGF0YSgiYXV0b3BsYXkiKSkgJiYgKGQgKz0gIiZwbGF5c2lubGluZT0xIik7CiAgICAgICAgICAgICAgICAgICAgdmFyIGsgPSBqKGkuZGF0YSgidmlkZW9zdGFydGF0IikpLAogICAgICAgICAgICAgICAgICAgICAgICB4ID0gaihpLmRhdGEoInZpZGVvZW5kYXQiKSk7IC0gMSAhPSBrICYmIChkID0gZCArICImc3RhcnQ9IiArIGspLCAtMSAhPSB4ICYmIChkID0gZCArICImZW5kPSIgKyB4KTsKICAgICAgICAgICAgICAgICAgICB2YXIgViA9IGQuc3BsaXQoIm9yaWdpbj0iICsgbSArICI6Ly8iKSwKICAgICAgICAgICAgICAgICAgICAgICAgTCA9ICIiOwogICAgICAgICAgICAgICAgICAgIDEgPCBWLmxlbmd0aCA/IChMID0gVlswXSArICJvcmlnaW49IiArIG0gKyAiOi8vIiwgc2VsZi5sb2NhdGlvbi5ocmVmLm1hdGNoKC93d3cvZ2kpICYmICFWWzFdLm1hdGNoKC93d3cvZ2kpICYmIChMICs9ICJ3d3cuIiksIEwgKz0gVlsxXSkgOiBMID0gZDsKICAgICAgICAgICAgICAgICAgICB2YXIgQyA9ICJ0cnVlIiA9PT0gdiB8fCAhMCA9PT0gdiA/ICJhbGxvd2Z1bGxzY3JlZW4iIDogIiI7CiAgICAgICAgICAgICAgICAgICAgaS5kYXRhKCJ2aWRlb21hcmt1cCIsICc8aWZyYW1lIHR5cGU9InRleHQvaHRtbCIgc3JjPSInICsgbSArICI6Ly93d3cueW91dHViZS1ub2Nvb2tpZS5jb20vZW1iZWQvIiArIG4gKyAiPyIgKyBMICsgJyIgJyArIEMgKyAnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHN0eWxlPSJvcGFjaXR5OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJSI+PC9pZnJhbWU+Jyk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICJ2aW1lbyI6CiAgICAgICAgICAgICAgICAgICAgbSA9ICJodHRwcyIsIGkuZGF0YSgidmlkZW9tYXJrdXAiLCAnPGlmcmFtZSBzcmM9IicgKyBtICsgIjovL3BsYXllci52aW1lby5jb20vdmlkZW8vIiArIHIgKyAiPyIgKyBkICsgJyIgd2Via2l0YWxsb3dmdWxsc2NyZWVuIG1vemFsbG93ZnVsbHNjcmVlbiBhbGxvd2Z1bGxzY3JlZW4gd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgc3R5bGU9Im9wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlIj48L2lmcmFtZT4nKQogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBQID0gXyAmJiAib24iID09IGkuZGF0YSgibm9wb3N0ZXJvbm1vYmlsZSIpOwogICAgICAgICAgICBpZiAobnVsbCAhPSBhLnZpZGVvcG9zdGVyICYmIDIgPCBhLnZpZGVvcG9zdGVyLmxlbmd0aCAmJiAhUCkgMCA9PSBpLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLmxlbmd0aCAmJiBpLmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtdmlkZW9wb3N0ZXIgbm9Td2lwZSIgc3R5bGU9ImN1cnNvcjpwb2ludGVyOyBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6MHB4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDozO2JhY2tncm91bmQtaW1hZ2U6dXJsKCcgKyBhLnZpZGVvcG9zdGVyICsgJyk7IGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7Ij48L2Rpdj4nKSwgMCA9PSBpLmZpbmQoImlmcmFtZSIpLmxlbmd0aCAmJiBpLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgaWYgKEkucGxheVZpZGVvKGksIG8pLCBfKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKDEgPT0gaS5kYXRhKCJkaXNhYmxldmlkZW9vbm1vYmlsZSIpKSByZXR1cm4gITE7CiAgICAgICAgICAgICAgICAgICAgcHVuY2hncy5Ud2VlbkxpdGUudG8oaS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKSwgLjMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dAogICAgICAgICAgICAgICAgICAgIH0pLCBwdW5jaGdzLlR3ZWVuTGl0ZS50byhpLmZpbmQoImlmcmFtZSIpLCAuMywgewogICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICJibG9jayIsCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dAogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIGlmIChfICYmIDEgPT0gaS5kYXRhKCJkaXNhYmxldmlkZW9vbm1vYmlsZSIpKSByZXR1cm4gITE7CiAgICAgICAgICAgICAgICAwICE9IGkuZmluZCgiaWZyYW1lIikubGVuZ3RoIHx8ICJ5b3V0dWJlIiAhPSB5ICYmICJ2aW1lbyIgIT0geSB8fCAoaS5yZW1vdmVEYXRhKCJ2aW1lb3BsYXllciIpLCBpLmFwcGVuZChpLmRhdGEoInZpZGVvbWFya3VwIikpLCBPKGksIG8sICExKSkKICAgICAgICAgICAgfQogICAgICAgICAgICAibm9uZSIgIT0gaS5kYXRhKCJkb3R0ZWRvdmVybGF5IikgJiYgbnVsbCAhPSBpLmRhdGEoImRvdHRlZG92ZXJsYXkiKSAmJiAxICE9IGkuZmluZCgiLnRwLWRvdHRlZG92ZXJsYXkiKS5sZW5ndGggJiYgaS5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLWRvdHRlZG92ZXJsYXkgJyArIGkuZGF0YSgiZG90dGVkb3ZlcmxheSIpICsgJyI+PC9kaXY+JyksIGkuYWRkQ2xhc3MoIkhhc0xpc3RlbmVyIiksIDEgPT0gaS5kYXRhKCJiZ3ZpZGVvIikgJiYgKGkuZGF0YSgieXRpZCIpID8gcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGkuZmluZCgiaWZyYW1lIiksIHsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAKICAgICAgICAgICAgfSkgOiBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5maW5kKCJ2aWRlbywgaWZyYW1lIiksIHsKICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMAogICAgICAgICAgICB9KSkKICAgICAgICB9CiAgICB9KTsKICAgIHZhciBBID0gZnVuY3Rpb24oZSwgdCwgYSkgewogICAgICAgICAgICBlLmFkZEV2ZW50TGlzdGVuZXIgPyBlLmFkZEV2ZW50TGlzdGVuZXIodCwgYSwgewogICAgICAgICAgICAgICAgY2FwdHVyZTogITEsCiAgICAgICAgICAgICAgICBwYXNzaXZlOiAhMAogICAgICAgICAgICB9KSA6IGUuYXR0YWNoRXZlbnQodCwgYSwgewogICAgICAgICAgICAgICAgY2FwdHVyZTogITEsCiAgICAgICAgICAgICAgICBwYXNzaXZlOiAhMAogICAgICAgICAgICB9KQogICAgICAgIH0sCiAgICAgICAgYiA9IGZ1bmN0aW9uKGUsIHQsIGEpIHsKICAgICAgICAgICAgdmFyIGkgPSB7fTsKICAgICAgICAgICAgcmV0dXJuIGkudmlkZW8gPSBlLCBpLnZpZGVvdHlwZSA9IHQsIGkuc2V0dGluZ3MgPSBhLCBpCiAgICAgICAgfSwKICAgICAgICB3ID0gZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICBpZiAoMSA9PSB0LmRhdGEoImJndmlkZW8iKSB8fCAxID09IHQuZGF0YSgiZm9yY2Vjb3ZlciIpKSB7CiAgICAgICAgICAgICAgICAxID09PSB0LmRhdGEoImZvcmNlY292ZXIiKSAmJiB0LnJlbW92ZUNsYXNzKCJmdWxsc2NyZWVudmlkZW8iKS5hZGRDbGFzcygiY292ZXJzY3JlZW52aWRlbyIpOwogICAgICAgICAgICAgICAgdmFyIGEgPSB0LmRhdGEoImFzcGVjdHJhdGlvIik7CiAgICAgICAgICAgICAgICB2b2lkIDAgPT09IGEgJiYgYS5zcGxpdCgiOiIpLmxlbmd0aCA8PSAxICYmIHQuZGF0YSgiYXNwZWN0cmF0aW8iLCAiMTY6OSIpLCBJLnByZXBhcmVDb3ZlcmVkVmlkZW8oZSwgdCkKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgTyA9IGZ1bmN0aW9uKHIsIG8sIGUpIHsKICAgICAgICAgICAgdmFyIGwgPSByLmRhdGEoKSwKICAgICAgICAgICAgICAgIHQgPSByLmZpbmQoImlmcmFtZSIpLAogICAgICAgICAgICAgICAgYSA9ICJpZnJhbWUiICsgTWF0aC5yb3VuZCgxZTUgKiBNYXRoLnJhbmRvbSgpICsgMSksCiAgICAgICAgICAgICAgICBkID0gbC52aWRlb2xvb3AsCiAgICAgICAgICAgICAgICBuID0gImxvb3BhbmRub3NsaWRlc3RvcCIgIT0gZDsKICAgICAgICAgICAgaWYgKGQgPSAibG9vcCIgPT0gZCB8fCAibG9vcGFuZG5vc2xpZGVzdG9wIiA9PSBkLCB3KG8sIHIpLCB0LmF0dHIoImlkIiwgYSksIGUgJiYgci5kYXRhKCJzdGFydHZpZGVvbm93IiwgITApLCAxICE9PSByLmRhdGEoInZpZGVvbGlzdGVuZXJleGlzdCIpKSBzd2l0Y2ggKGwudmlkZW90eXBlKSB7CiAgICAgICAgICAgICAgICBjYXNlICJ5b3V0dWJlIjoKICAgICAgICAgICAgICAgICAgICB2YXIgcyA9IG5ldyBZVC5QbGF5ZXIoYSwgewogICAgICAgICAgICAgICAgICAgICAgICBldmVudHM6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU3RhdGVDaGFuZ2U6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHIuY2xvc2VzdCgiLnRwLXNpbXBsZXJlc3BvbnNpdmUiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSA9IChsLnZpZGVvcmF0ZSwgci5kYXRhKCJ2aWRlb3N0YXJ0IiksIGsoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUuZGF0YSA9PSBZVC5QbGF5ZXJTdGF0ZS5QTEFZSU5HKSBwdW5jaGdzLlR3ZWVuTGl0ZS50byhyLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLCAuMywgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksIHB1bmNoZ3MuVHdlZW5MaXRlLnRvKHIuZmluZCgiaWZyYW1lIiksIC4zLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogImJsb2NrIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksICJtdXRlIiA9PSByLmRhdGEoInZvbHVtZSIpIHx8IEkubGFzdFRvZ2dsZVN0YXRlKHIuZGF0YSgidmlkZW9tdXRldG9nZ2xlZGJ5IikpIHx8ICEwID09PSBvLmdsb2JhbG11dGUgPyBzLm11dGUoKSA6IChzLnVuTXV0ZSgpLCBzLnNldFZvbHVtZShwYXJzZUludChyLmRhdGEoInZvbHVtZSIpLCAwKSB8fCA3NSkpLCBvLnZpZGVvcGxheWluZyA9ICEwLCB4KHIsIG8pLCBuID8gby5jLnRyaWdnZXIoInN0b3B0aW1lciIpIDogby52aWRlb3BsYXlpbmcgPSAhMSwgby5jLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub252aWRlb3BsYXkiLCBiKHMsICJ5b3V0dWJlIiwgci5kYXRhKCkpKSwgSS50b2dnbGVTdGF0ZShsLnZpZGVvdG9nZ2xlZGJ5KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKDAgPT0gZS5kYXRhICYmIGQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpID0gaihyLmRhdGEoInZpZGVvc3RhcnRhdCIpKTsgLSAxICE9IGkgJiYgcy5zZWVrVG8oaSksIHMucGxheVZpZGVvKCksIEkudG9nZ2xlU3RhdGUobC52aWRlb3RvZ2dsZWRieSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHx8IDAgIT0gZS5kYXRhICYmIDIgIT0gZS5kYXRhIHx8ICEoIm9uIiA9PSByLmRhdGEoInNob3djb3Zlcm9ucGF1c2UiKSAmJiAwIDwgci5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS5sZW5ndGggfHwgMSA9PT0gci5kYXRhKCJiZ3ZpZGVvIikgJiYgMCA8IHIuZmluZCgiLnJzLWZ1bGx2aWRlby1jb3ZlciIpLmxlbmd0aCkgfHwgKDEgPT09IHIuZGF0YSgiYmd2aWRlbyIpID8gcHVuY2hncy5Ud2VlbkxpdGUudG8oci5maW5kKCIucnMtZnVsbHZpZGVvLWNvdmVyIiksIC4xLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZTNEOiAiYXV0byIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgOiBwdW5jaGdzLlR3ZWVuTGl0ZS50byhyLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLCAuMSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBwdW5jaGdzLlR3ZWVuTGl0ZS50byhyLmZpbmQoImlmcmFtZSIpLCAuMSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKSwgLTEgIT0gZS5kYXRhICYmIDMgIT0gZS5kYXRhICYmIChvLnZpZGVvcGxheWluZyA9ICExLCBvLnRvbnBhdXNlID0gITEsIFYociwgbyksIHQudHJpZ2dlcigic3RhcnR0aW1lciIpLCBvLmMudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnZpZGVvc3RvcCIsIGIocywgInlvdXR1YmUiLCByLmRhdGEoKSkpLCBudWxsICE9IG8uY3VycmVudExheWVyVmlkZW9Jc1BsYXlpbmcgJiYgby5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZy5hdHRyKCJpZCIpICE9IHIuYXR0cigiaWQiKSB8fCBJLnVuVG9nZ2xlU3RhdGUobC52aWRlb3RvZ2dsZWRieSkpLCAwID09IGUuZGF0YSAmJiAxID09IHIuZGF0YSgibmV4dHNsaWRlYXRlbmQiKSA/IChUKCksIHIuZGF0YSgibmV4dHNsaWRlYXRlbmQtdHJpZ2dlcmVkIiwgMSksIG8uYy5yZXZuZXh0KCksIFYociwgbykpIDogKFYociwgbyksIG8udmlkZW9wbGF5aW5nID0gITEsIHQudHJpZ2dlcigic3RhcnR0aW1lciIpLCBvLmMudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnZpZGVvc3RvcCIsIGIocywgInlvdXR1YmUiLCByLmRhdGEoKSkpLCBudWxsICE9IG8uY3VycmVudExheWVyVmlkZW9Jc1BsYXlpbmcgJiYgby5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZy5hdHRyKCJpZCIpICE9IHIuYXR0cigiaWQiKSB8fCBJLnVuVG9nZ2xlU3RhdGUobC52aWRlb3RvZ2dsZWRieSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uUmVhZHk6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCwgYSA9IEkuaXNfbW9iaWxlKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSByLmhhc0NsYXNzKCJ0cC12aWRlb2xheWVyIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGEgfHwgSS5pc1NhZmFyaTExKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG8gPSBpICYmICJvZmYiICE9PSByLmRhdGEoImF1dG9wbGF5Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyLmhhc0NsYXNzKCJycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIikgfHwgbykgJiYgKGEgJiYgaSB8fCAodCA9ICEwLCBzLnNldFZvbHVtZSgwKSwgci5kYXRhKCJ2b2x1bWUiLCAibXV0ZSIpLCBzLm11dGUoKSwgY2xlYXJUaW1lb3V0KHIuZGF0YSgibW9iaWxldmlkZW90aW1yIikpLCByLmRhdGEoIm1vYmlsZXZpZGVvdGltciIsIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLnBsYXlWaWRlbygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDUwMCkpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdCB8fCAibXV0ZSIgIT0gci5kYXRhKCJ2b2x1bWUiKSB8fCAocy5zZXRWb2x1bWUoMCksIHMubXV0ZSgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZCA9IGwudmlkZW9yYXRlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyLmRhdGEoInZpZGVvc3RhcnQiKSwgci5hZGRDbGFzcygicnMtYXBpcmVhZHkiKSwgbnVsbCAhPSBkICYmIGUudGFyZ2V0LnNldFBsYXliYWNrUmF0ZShwYXJzZUZsb2F0KGQpKSwgci5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS51bmJpbmQoImNsaWNrIiksIHIuZmluZCgiLnRwLXZpZGVvcG9zdGVyIikuY2xpY2soZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfIHx8IHMucGxheVZpZGVvKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksIHIuZGF0YSgic3RhcnR2aWRlb25vdyIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwucGxheWVyLnBsYXlWaWRlbygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IGooci5kYXRhKCJ2aWRlb3N0YXJ0YXQiKSk7IC0gMSAhPSBuICYmIGwucGxheWVyLnNlZWtUbyhuKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByLmRhdGEoInZpZGVvbGlzdGVuZXJleGlzdCIsIDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICByLmRhdGEoInBsYXllciIsIHMpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAidmltZW8iOgogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGksIHUgPSB0LmF0dHIoInNyYyIpLCBwID0ge30sIHYgPSB1LCBjID0gLyhbXiY9XSspPShbXiZdKikvZzsgaSA9IGMuZXhlYyh2KTspIHBbZGVjb2RlVVJJQ29tcG9uZW50KGlbMV0pXSA9IGRlY29kZVVSSUNvbXBvbmVudChpWzJdKTsKICAgICAgICAgICAgICAgICAgICB1ID0gKHUgPSBudWxsICE9IHAucGxheWVyX2lkID8gdS5yZXBsYWNlKHAucGxheWVyX2lkLCBhKSA6IHUgKyAiJnBsYXllcl9pZD0iICsgYSkucmVwbGFjZSgvJmFwaT0wfCZhcGk9MS9nLCAiIik7CiAgICAgICAgICAgICAgICAgICAgdmFyIG0gPSBJLmlzX21vYmlsZSgpLAogICAgICAgICAgICAgICAgICAgICAgICBnID0gci5kYXRhKCJhdXRvcGxheSIpLAogICAgICAgICAgICAgICAgICAgICAgICB5ID0gKHIuZGF0YSgidm9sdW1lIiksIG0gfHwgSS5pc1NhZmFyaTExKCkpOwogICAgICAgICAgICAgICAgICAgIHIuaGFzQ2xhc3MoInJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIiKSwgKGcgPSAib24iID09PSBnIHx8ICJ0cnVlIiA9PT0gZyB8fCAhMCA9PT0gZykgJiYgeSAmJiAodSArPSAiP2F1dG9wbGF5PTEmYXV0b3BhdXNlPTAmbXV0ZWQ9MSZiYWNrZ3JvdW5kPTEmcGxheXNpbmxpbmU9MSIsIHIuZGF0YSh7CiAgICAgICAgICAgICAgICAgICAgICAgIHZpbWVvcGxheXNpbmxpbmU6ICEwLAogICAgICAgICAgICAgICAgICAgICAgICB2b2x1bWU6ICJtdXRlIgogICAgICAgICAgICAgICAgICAgIH0pKSwgdC5hdHRyKCJzcmMiLCB1KSwgcyA9IHIuZmluZCgiaWZyYW1lIilbMF0sIGpRdWVyeSgiIyIgKyBhKSwgci5kYXRhKCJ2aW1lb3BsYXllciIpID8gaCA9IHIuZGF0YSgidmltZW9wbGF5ZXIiKSA6IChoID0gbmV3IFZpbWVvLlBsYXllcihhKSwgci5kYXRhKCJ2aW1lb3BsYXllciIsIGgpKSwgaC5vbigibG9hZGVkIiwgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHt9OwogICAgICAgICAgICAgICAgICAgICAgICBoLmdldFZpZGVvV2lkdGgoKS50aGVuKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQud2lkdGggPSBlLCB2b2lkIDAgIT09IHQud2lkdGggJiYgdm9pZCAwICE9PSB0LmhlaWdodCAmJiAoci5kYXRhKCJhc3BlY3RyYXRpbyIsIHQud2lkdGggKyAiOiIgKyB0LmhlaWdodCksIHIuZGF0YSgidmltZW9wbGF5ZXJsb2FkZWQiLCAhMCksIHcobywgcikpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBoLmdldFZpZGVvSGVpZ2h0KCkudGhlbihmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0LmhlaWdodCA9IGUsIHZvaWQgMCAhPT0gdC53aWR0aCAmJiB2b2lkIDAgIT09IHQuaGVpZ2h0ICYmIChyLmRhdGEoImFzcGVjdHJhdGlvIiwgdC53aWR0aCArICI6IiArIHQuaGVpZ2h0KSwgci5kYXRhKCJ2aW1lb3BsYXllcmxvYWRlZCIsICEwKSwgdyhvLCByKSkKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9KSwgci5hZGRDbGFzcygicnMtYXBpcmVhZHkiKSwgaC5vbigicGxheSIsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgci5kYXRhKCJuZXh0c2xpZGVjYWxsZWQiLCAwKSwgcHVuY2hncy5Ud2VlbkxpdGUudG8oci5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKSwgLjMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dAogICAgICAgICAgICAgICAgICAgICAgICB9KSwgcHVuY2hncy5Ud2VlbkxpdGUudG8oci5maW5kKCJpZnJhbWUiKSwgLjMsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICJibG9jayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQKICAgICAgICAgICAgICAgICAgICAgICAgfSksIG8uYy50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9udmlkZW9wbGF5IiwgYihoLCAidmltZW8iLCByLmRhdGEoKSkpLCBvLnZpZGVvcGxheWluZyA9ICEwLCB4KHIsIG8pLCBuID8gby5jLnRyaWdnZXIoInN0b3B0aW1lciIpIDogby52aWRlb3BsYXlpbmcgPSAhMSwgci5kYXRhKCJ2aW1lb3BsYXlzaW5saW5lIikgfHwgKCJtdXRlIiA9PSByLmRhdGEoInZvbHVtZSIpIHx8IEkubGFzdFRvZ2dsZVN0YXRlKHIuZGF0YSgidmlkZW9tdXRldG9nZ2xlZGJ5IikpIHx8ICEwID09PSBvLmdsb2JhbG11dGUgPyBoLnNldFZvbHVtZSgwKSA6IGguc2V0Vm9sdW1lKHBhcnNlSW50KHIuZGF0YSgidm9sdW1lIiksIDApIC8gMTAwIHx8IC43NSksIEkudG9nZ2xlU3RhdGUobC52aWRlb3RvZ2dsZWRieSkpCiAgICAgICAgICAgICAgICAgICAgfSksIGgub24oInRpbWV1cGRhdGUiLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ID0gaihyLmRhdGEoInZpZGVvZW5kYXQiKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyLmRhdGEoImN1cnJlbnR0aW1lIiwgZS5zZWNvbmRzKSwgMCAhPSB0ICYmIE1hdGguYWJzKHQgLSBlLnNlY29uZHMpIDwgMSAmJiB0ID4gZS5zZWNvbmRzICYmIDEgIT0gci5kYXRhKCJuZXh0c2xpZGVjYWxsZWQiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaC5wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGEgPSBqKHIuZGF0YSgidmlkZW9zdGFydGF0IikpOyAtIDEgIT0gYSAmJiBoLnNldEN1cnJlbnRUaW1lKGEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgMSA9PSByLmRhdGEoIm5leHRzbGlkZWF0ZW5kIikgJiYgKHIuZGF0YSgibmV4dHNsaWRlYXRlbmQtdHJpZ2dlcmVkIiwgMSksIHIuZGF0YSgibmV4dHNsaWRlY2FsbGVkIiwgMSksIG8uYy5yZXZuZXh0KCkpLCBoLnBhdXNlKCkKICAgICAgICAgICAgICAgICAgICB9KSwgaC5vbigiZW5kZWQiLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIFYociwgbyksIG8udmlkZW9wbGF5aW5nID0gITEsIG8uYy50cmlnZ2VyKCJzdGFydHRpbWVyIiksIG8uYy50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9udmlkZW9zdG9wIiwgYihoLCAidmltZW8iLCByLmRhdGEoKSkpLCAxID09IHIuZGF0YSgibmV4dHNsaWRlYXRlbmQiKSAmJiAoci5kYXRhKCJuZXh0c2xpZGVhdGVuZC10cmlnZ2VyZWQiLCAxKSwgby5jLnJldm5leHQoKSksIG51bGwgIT0gby5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZyAmJiBvLmN1cnJlbnRMYXllclZpZGVvSXNQbGF5aW5nLmF0dHIoImlkIikgIT0gci5hdHRyKCJpZCIpIHx8IEkudW5Ub2dnbGVTdGF0ZShsLnZpZGVvdG9nZ2xlZGJ5KQogICAgICAgICAgICAgICAgICAgIH0pLCBoLm9uKCJwYXVzZSIsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgKCJvbiIgPT0gci5kYXRhKCJzaG93Y292ZXJvbnBhdXNlIikgJiYgMCA8IHIuZmluZCgiLnRwLXZpZGVvcG9zdGVyIikubGVuZ3RoIHx8IDEgPT09IHIuZGF0YSgiYmd2aWRlbyIpICYmIDAgPCByLmZpbmQoIi5ycy1mdWxsdmlkZW8tY292ZXIiKS5sZW5ndGgpICYmICgxID09PSByLmRhdGEoImJndmlkZW8iKSA/IHB1bmNoZ3MuVHdlZW5MaXRlLnRvKHIuZmluZCgiLnJzLWZ1bGx2aWRlby1jb3ZlciIpLCAuMSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZTogcHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0CiAgICAgICAgICAgICAgICAgICAgICAgIH0pIDogcHVuY2hncy5Ud2VlbkxpdGUudG8oci5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKSwgLjEsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dAogICAgICAgICAgICAgICAgICAgICAgICB9KSwgcHVuY2hncy5Ud2VlbkxpdGUudG8oci5maW5kKCJpZnJhbWUiKSwgLjEsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhc2U6IHB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dAogICAgICAgICAgICAgICAgICAgICAgICB9KSksIG8udmlkZW9wbGF5aW5nID0gITEsIG8udG9ucGF1c2UgPSAhMSwgVihyLCBvKSwgby5jLnRyaWdnZXIoInN0YXJ0dGltZXIiKSwgby5jLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub252aWRlb3N0b3AiLCBiKGgsICJ2aW1lbyIsIHIuZGF0YSgpKSksIG51bGwgIT0gby5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZyAmJiBvLmN1cnJlbnRMYXllclZpZGVvSXNQbGF5aW5nLmF0dHIoImlkIikgIT0gci5hdHRyKCJpZCIpIHx8IEkudW5Ub2dnbGVTdGF0ZShsLnZpZGVvdG9nZ2xlZGJ5KQogICAgICAgICAgICAgICAgICAgIH0pLCByLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLnVuYmluZCgiY2xpY2siKSwgci5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS5jbGljayhmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFfKSByZXR1cm4gaC5wbGF5KCksICExCiAgICAgICAgICAgICAgICAgICAgfSksIHIuZGF0YSgic3RhcnR2aWRlb25vdyIpICYmIChoLnBsYXkoKSwgLTEgIT0gKGYgPSBqKHIuZGF0YSgidmlkZW9zdGFydGF0IikpKSAmJiBoLnNldEN1cnJlbnRUaW1lKGYpKSwgci5kYXRhKCJ2aWRlb2xpc3RlbmVyZXhpc3QiLCAxKQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGYgPSBqKHIuZGF0YSgidmlkZW9zdGFydGF0IikpOwogICAgICAgICAgICAgICAgc3dpdGNoIChsLnZpZGVvdHlwZSkgewogICAgICAgICAgICAgICAgICAgIGNhc2UgInlvdXR1YmUiOgogICAgICAgICAgICAgICAgICAgICAgICBlICYmIChsLnBsYXllci5wbGF5VmlkZW8oKSwgLTEgIT0gZiAmJiBsLnBsYXllci5zZWVrVG8oKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgInZpbWVvIjoKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGg7CiAgICAgICAgICAgICAgICAgICAgICAgIGUgJiYgKChoID0gci5kYXRhKCJ2aW1lb3BsYXllciIpKS5wbGF5KCksIC0xICE9IGYgJiYgaC5zZWVrVG8oZikpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIFQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4gPyBkb2N1bWVudC5leGl0RnVsbHNjcmVlbigpIDogZG9jdW1lbnQubW96Q2FuY2VsRnVsbFNjcmVlbiA/IGRvY3VtZW50Lm1vekNhbmNlbEZ1bGxTY3JlZW4oKSA6IGRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuICYmIGRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuKCkKICAgICAgICB9LAogICAgICAgIGsgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIGlmICh2b2lkIDAgIT09IHdpbmRvdy5mdWxsU2NyZWVuKSByZXR1cm4gd2luZG93LmZ1bGxTY3JlZW47CiAgICAgICAgICAgICAgICB2YXIgZSA9IDU7CiAgICAgICAgICAgICAgICByZXR1cm4galF1ZXJ5LmJyb3dzZXIud2Via2l0ICYmIC9BcHBsZSBDb21wdXRlci8udGVzdChuYXZpZ2F0b3IudmVuZG9yKSAmJiAoZSA9IDQyKSwgc2NyZWVuLndpZHRoID09IHdpbmRvdy5pbm5lcldpZHRoICYmIE1hdGguYWJzKHNjcmVlbi5oZWlnaHQgLSB3aW5kb3cuaW5uZXJIZWlnaHQpIDwgZQogICAgICAgICAgICB9IGNhdGNoIChlKSB7fQogICAgICAgIH0sCiAgICAgICAgUSA9IGZ1bmN0aW9uKG8sIGQsIGUpIHsKICAgICAgICAgICAgaWYgKF8gJiYgMSA9PSBvLmRhdGEoImRpc2FibGV2aWRlb29ubW9iaWxlIikpIHJldHVybiAhMTsKICAgICAgICAgICAgdmFyIG4gPSBvLmRhdGEoKSwKICAgICAgICAgICAgICAgIHQgPSAiaHRtbDUiID09IG4uYXVkaW8gPyAiYXVkaW8iIDogInZpZGVvIiwKICAgICAgICAgICAgICAgIGEgPSBvLmZpbmQodCksCiAgICAgICAgICAgICAgICByID0gYVswXSwKICAgICAgICAgICAgICAgIGkgPSBhLnBhcmVudCgpLAogICAgICAgICAgICAgICAgbCA9IG4udmlkZW9sb29wLAogICAgICAgICAgICAgICAgcyA9ICJsb29wYW5kbm9zbGlkZXN0b3AiICE9IGw7CiAgICAgICAgICAgIGlmIChsID0gImxvb3AiID09IGwgfHwgImxvb3BhbmRub3NsaWRlc3RvcCIgPT0gbCwgaS5kYXRhKCJtZXRhbG9hZGVkIiwgMSksIDEgIT0gby5kYXRhKCJiZ3ZpZGVvIikgfHwgIm5vbmUiICE9PSBuLnZpZGVvbG9vcCAmJiAhMSAhPT0gbi52aWRlb2xvb3AgfHwgKHMgPSAhMSksIG51bGwgPT0gYS5hdHRyKCJjb250cm9sIikgJiYgKDAgIT0gby5maW5kKCIudHAtdmlkZW8tcGxheS1idXR0b24iKS5sZW5ndGggfHwgXyB8fCBvLmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtdmlkZW8tcGxheS1idXR0b24iPjxpIGNsYXNzPSJyZXZpY29uLXJpZ2h0LWRpciI+PC9pPjxzcGFuIGNsYXNzPSJ0cC1yZXZzdG9wIj4mbmJzcDs8L3NwYW4+PC9kaXY+JyksIG8uZmluZCgidmlkZW8sIC50cC1wb3N0ZXIsIC50cC12aWRlby1wbGF5LWJ1dHRvbiIpLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIG8uaGFzQ2xhc3MoInZpZGVvaXNwbGF5aW5nIikgPyByLnBhdXNlKCkgOiByLnBsYXkoKQogICAgICAgICAgICAgICAgfSkpLCAxID09IG8uZGF0YSgiZm9yY2Vjb3ZlciIpIHx8IG8uaGFzQ2xhc3MoImZ1bGxzY3JlZW52aWRlbyIpIHx8IDEgPT0gby5kYXRhKCJiZ3ZpZGVvIikpCiAgICAgICAgICAgICAgICBpZiAoMSA9PSBvLmRhdGEoImZvcmNlY292ZXIiKSB8fCAxID09IG8uZGF0YSgiYmd2aWRlbyIpKSB7CiAgICAgICAgICAgICAgICAgICAgaS5hZGRDbGFzcygiZnVsbGNvdmVyZWR2aWRlbyIpOwogICAgICAgICAgICAgICAgICAgIHZhciB1ID0gby5kYXRhKCJhc3BlY3RyYXRpbyIpOwogICAgICAgICAgICAgICAgICAgIHZvaWQgMCAhPT0gdSAmJiAxICE9IHUuc3BsaXQoIjoiKS5sZW5ndGggfHwgby5kYXRhKCJhc3BlY3RyYXRpbyIsICIxNjo5IiksIEkucHJlcGFyZUNvdmVyZWRWaWRlbyhkLCBvKQogICAgICAgICAgICAgICAgfSBlbHNlIGkuYWRkQ2xhc3MoImZ1bGxzY3JlZW52aWRlbyIpOwogICAgICAgICAgICB2YXIgcCA9IG8uZmluZCgiLnRwLXZpZC1wbGF5LXBhdXNlIilbMF0sCiAgICAgICAgICAgICAgICB2ID0gby5maW5kKCIudHAtdmlkLW11dGUiKVswXSwKICAgICAgICAgICAgICAgIGMgPSBvLmZpbmQoIi50cC12aWQtZnVsbC1zY3JlZW4iKVswXSwKICAgICAgICAgICAgICAgIG0gPSBvLmZpbmQoIi50cC1zZWVrLWJhciIpWzBdLAogICAgICAgICAgICAgICAgZyA9IG8uZmluZCgiLnRwLXZvbHVtZS1iYXIiKVswXTsKICAgICAgICAgICAgbnVsbCAhPSBwICYmIEEocCwgImNsaWNrIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAxID09IHIucGF1c2VkID8gci5wbGF5KCkgOiByLnBhdXNlKCkKICAgICAgICAgICAgfSksIG51bGwgIT0gdiAmJiBBKHYsICJjbGljayIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgMCA9PSByLm11dGVkID8gKHIubXV0ZWQgPSAhMCwgdi5pbm5lckhUTUwgPSAiVW5tdXRlIikgOiAoci5tdXRlZCA9ICExLCB2LmlubmVySFRNTCA9ICJNdXRlIikKICAgICAgICAgICAgfSksIG51bGwgIT0gYyAmJiBjICYmIEEoYywgImNsaWNrIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByLnJlcXVlc3RGdWxsc2NyZWVuID8gci5yZXF1ZXN0RnVsbHNjcmVlbigpIDogci5tb3pSZXF1ZXN0RnVsbFNjcmVlbiA/IHIubW96UmVxdWVzdEZ1bGxTY3JlZW4oKSA6IHIud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4gJiYgci53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpCiAgICAgICAgICAgIH0pLCBudWxsICE9IG0gJiYgKEEobSwgImNoYW5nZSIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSByLmR1cmF0aW9uICogKG0udmFsdWUgLyAxMDApOwogICAgICAgICAgICAgICAgci5jdXJyZW50VGltZSA9IGUKICAgICAgICAgICAgfSksIEEobSwgIm1vdXNlZG93biIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgby5hZGRDbGFzcygic2Vla2JhcmRyYWdnZWQiKSwgci5wYXVzZSgpCiAgICAgICAgICAgIH0pLCBBKG0sICJtb3VzZXVwIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBvLnJlbW92ZUNsYXNzKCJzZWVrYmFyZHJhZ2dlZCIpLCByLnBsYXkoKQogICAgICAgICAgICB9KSksIEEociwgImNhbnBsYXl0aHJvdWdoIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBJLnByZUxvYWRBdWRpb0RvbmUobywgZCwgImNhbnBsYXl0aHJvdWdoIikKICAgICAgICAgICAgfSksIEEociwgImNhbnBsYXkiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIEkucHJlTG9hZEF1ZGlvRG9uZShvLCBkLCAiY2FucGxheSIpCiAgICAgICAgICAgIH0pLCBBKHIsICJwcm9ncmVzcyIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgSS5wcmVMb2FkQXVkaW9Eb25lKG8sIGQsICJwcm9ncmVzcyIpCiAgICAgICAgICAgIH0pLCBBKHIsICJ0aW1ldXBkYXRlIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IDEwMCAvIHIuZHVyYXRpb24gKiByLmN1cnJlbnRUaW1lLAogICAgICAgICAgICAgICAgICAgIHQgPSBqKG8uZGF0YSgidmlkZW9lbmRhdCIpKSwKICAgICAgICAgICAgICAgICAgICBhID0gci5jdXJyZW50VGltZTsKICAgICAgICAgICAgICAgIGlmIChudWxsICE9IG0gJiYgKG0udmFsdWUgPSBlKSwgMCAhPSB0ICYmIC0xICE9IHQgJiYgTWF0aC5hYnModCAtIGEpIDw9IC4zICYmIGEgPCB0ICYmIDEgIT0gby5kYXRhKCJuZXh0c2xpZGVjYWxsZWQiKSkKICAgICAgICAgICAgICAgICAgICBpZiAobCkgewogICAgICAgICAgICAgICAgICAgICAgICByLnBsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBqKG8uZGF0YSgidmlkZW9zdGFydGF0IikpOyAtIDEgIT0gaSAmJiAoci5jdXJyZW50VGltZSA9IGkpCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIDEgPT0gby5kYXRhKCJuZXh0c2xpZGVhdGVuZCIpICYmIChvLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIsIDEpLCBvLmRhdGEoIm5leHRzbGlkZWNhbGxlZCIsIDEpLCBkLmp1c3RfY2FsbGVkX25leHRzbGlkZV9hdF9odG1sdGltZXIgPSAhMCwgZC5jLnJldm5leHQoKSwgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZC5qdXN0X2NhbGxlZF9uZXh0c2xpZGVfYXRfaHRtbHRpbWVyID0gITEKICAgICAgICAgICAgICAgICAgICB9LCAxZTMpKSwgci5wYXVzZSgpCiAgICAgICAgICAgIH0pLCBudWxsICE9IGcgJiYgQShnLCAiY2hhbmdlIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICByLnZvbHVtZSA9IGcudmFsdWUKICAgICAgICAgICAgfSksIEEociwgInBsYXkiLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIG8uZGF0YSgibmV4dHNsaWRlY2FsbGVkIiwgMCk7CiAgICAgICAgICAgICAgICB2YXIgZSA9IG8uZGF0YSgidm9sdW1lIik7CiAgICAgICAgICAgICAgICBlID0gbnVsbCAhPSBlICYmICJtdXRlIiAhPSBlID8gcGFyc2VGbG9hdChlKSAvIDEwMCA6IGUsIEkuaXNfbW9iaWxlKCkgfHwgSS5pc1NhZmFyaTExKCkgfHwgKCEwID09PSBkLmdsb2JhbG11dGUgPyByLm11dGVkID0gITAgOiByLm11dGVkID0gITEsIDEgPCBlICYmIChlIC89IDEwMCksICJtdXRlIiA9PSBlID8gci5tdXRlZCA9ICEwIDogbnVsbCAhPSBlICYmIChyLnZvbHVtZSA9IGUpKSwgby5hZGRDbGFzcygidmlkZW9pc3BsYXlpbmciKTsKICAgICAgICAgICAgICAgIHZhciB0ID0gImh0bWw1IiA9PSBuLmF1ZGlvID8gImF1ZGlvIiA6ICJ2aWRlbyI7CiAgICAgICAgICAgICAgICB4KG8sIGQpLCBzICYmICJhdWRpbyIgIT0gdCA/IChkLnZpZGVvcGxheWluZyA9ICEwLCBkLmMudHJpZ2dlcigic3RvcHRpbWVyIiksIGQuYy50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9udmlkZW9wbGF5IiwgYihyLCAiaHRtbDUiLCBuKSkpIDogKGQudmlkZW9wbGF5aW5nID0gITEsICJhdWRpbyIgIT0gdCAmJiBkLmMudHJpZ2dlcigic3RhcnR0aW1lciIpLCBkLmMudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnZpZGVvc3RvcCIsIGIociwgImh0bWw1IiwgbikpKSwgcHVuY2hncy5Ud2VlbkxpdGUudG8oby5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKSwgLjMsIHsKICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAsCiAgICAgICAgICAgICAgICAgICAgZm9yY2UzRDogImF1dG8iLAogICAgICAgICAgICAgICAgICAgIGVhc2U6IHB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dAogICAgICAgICAgICAgICAgfSksIHB1bmNoZ3MuVHdlZW5MaXRlLnRvKG8uZmluZCh0KSwgLjMsIHsKICAgICAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDEsCiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogImJsb2NrIiwKICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgdmFyIGEgPSBvLmZpbmQoIi50cC12aWQtcGxheS1wYXVzZSIpWzBdLAogICAgICAgICAgICAgICAgICAgIGkgPSBvLmZpbmQoIi50cC12aWQtbXV0ZSIpWzBdOwogICAgICAgICAgICAgICAgbnVsbCAhPSBhICYmIChhLmlubmVySFRNTCA9ICJQYXVzZSIpLCBudWxsICE9IGkgJiYgci5tdXRlZCAmJiAoaS5pbm5lckhUTUwgPSAiVW5tdXRlIiksIEkudG9nZ2xlU3RhdGUobi52aWRlb3RvZ2dsZWRieSkKICAgICAgICAgICAgfSksIEEociwgInBhdXNlIiwgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIHQgPSAiaHRtbDUiID09IG4uYXVkaW8gPyAiYXVkaW8iIDogInZpZGVvIjsKICAgICAgICAgICAgICAgICFrKCkgJiYgMCA8IG8uZmluZCgiLnRwLXZpZGVvcG9zdGVyIikubGVuZ3RoICYmICJvbiIgPT0gby5kYXRhKCJzaG93Y292ZXJvbnBhdXNlIikgJiYgIW8uaGFzQ2xhc3MoInNlZWtiYXJkcmFnZ2VkIikgJiYgKHB1bmNoZ3MuVHdlZW5MaXRlLnRvKG8uZmluZCgiLnRwLXZpZGVvcG9zdGVyIiksIC4zLCB7CiAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAxLAogICAgICAgICAgICAgICAgICAgIGZvcmNlM0Q6ICJhdXRvIiwKICAgICAgICAgICAgICAgICAgICBlYXNlOiBwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQKICAgICAgICAgICAgICAgIH0pLCBwdW5jaGdzLlR3ZWVuTGl0ZS50byhvLmZpbmQodCksIC4zLCB7CiAgICAgICAgICAgICAgICAgICAgYXV0b0FscGhhOiAwLAogICAgICAgICAgICAgICAgICAgIGVhc2U6IHB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dAogICAgICAgICAgICAgICAgfSkpLCBvLnJlbW92ZUNsYXNzKCJ2aWRlb2lzcGxheWluZyIpLCBkLnZpZGVvcGxheWluZyA9ICExLCBWKG8sIGQpLCAiYXVkaW8iICE9IHQgJiYgZC5jLnRyaWdnZXIoInN0YXJ0dGltZXIiKSwgZC5jLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub252aWRlb3N0b3AiLCBiKHIsICJodG1sNSIsIG8uZGF0YSgpKSk7CiAgICAgICAgICAgICAgICB2YXIgYSA9IG8uZmluZCgiLnRwLXZpZC1wbGF5LXBhdXNlIilbMF07CiAgICAgICAgICAgICAgICBudWxsICE9IGEgJiYgKGEuaW5uZXJIVE1MID0gIlBsYXkiKSwgbnVsbCAhPSBkLmN1cnJlbnRMYXllclZpZGVvSXNQbGF5aW5nICYmIGQuY3VycmVudExheWVyVmlkZW9Jc1BsYXlpbmcuYXR0cigiaWQiKSAhPSBvLmF0dHIoImlkIikgfHwgSS51blRvZ2dsZVN0YXRlKG4udmlkZW90b2dnbGVkYnkpCiAgICAgICAgICAgIH0pLCBBKHIsICJlbmRlZCIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgVCgpLCBWKG8sIGQpLCBkLnZpZGVvcGxheWluZyA9ICExLCBWKG8sIGQpLCAiYXVkaW8iICE9IHQgJiYgZC5jLnRyaWdnZXIoInN0YXJ0dGltZXIiKSwgZC5jLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub252aWRlb3N0b3AiLCBiKHIsICJodG1sNSIsIG8uZGF0YSgpKSksICEwID09PSBvLmRhdGEoIm5leHRzbGlkZWF0ZW5kIikgJiYgMCA8IHIuY3VycmVudFRpbWUgJiYgKDEgPT0gIWQuanVzdF9jYWxsZWRfbmV4dHNsaWRlX2F0X2h0bWx0aW1lciAmJiAoby5kYXRhKCJuZXh0c2xpZGVhdGVuZC10cmlnZ2VyZWQiLCAxKSwgZC5jLnJldm5leHQoKSwgZC5qdXN0X2NhbGxlZF9uZXh0c2xpZGVfYXRfaHRtbHRpbWVyID0gITApLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGQuanVzdF9jYWxsZWRfbmV4dHNsaWRlX2F0X2h0bWx0aW1lciA9ICExCiAgICAgICAgICAgICAgICB9LCAxNTAwKSksIG8ucmVtb3ZlQ2xhc3MoInZpZGVvaXNwbGF5aW5nIikKICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIHggPSBmdW5jdGlvbihlLCBhKSB7CiAgICAgICAgICAgIG51bGwgPT0gYS5wbGF5aW5ndmlkZW9zICYmIChhLnBsYXlpbmd2aWRlb3MgPSBuZXcgQXJyYXkpLCBlLmRhdGEoInN0b3BhbGx2aWRlb3MiKSAmJiBudWxsICE9IGEucGxheWluZ3ZpZGVvcyAmJiAwIDwgYS5wbGF5aW5ndmlkZW9zLmxlbmd0aCAmJiAoYS5sYXN0cGxheWVkdmlkZW9zID0galF1ZXJ5LmV4dGVuZCghMCwgW10sIGEucGxheWluZ3ZpZGVvcyksIGpRdWVyeS5lYWNoKGEucGxheWluZ3ZpZGVvcywgZnVuY3Rpb24oZSwgdCkgewogICAgICAgICAgICAgICAgSS5zdG9wVmlkZW8odCwgYSkKICAgICAgICAgICAgfSkpLCBhLnBsYXlpbmd2aWRlb3MucHVzaChlKSwgYS5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZyA9IGUKICAgICAgICB9LAogICAgICAgIFYgPSBmdW5jdGlvbihlLCB0KSB7CiAgICAgICAgICAgIG51bGwgIT0gdC5wbGF5aW5ndmlkZW9zICYmIDAgPD0galF1ZXJ5LmluQXJyYXkoZSwgdC5wbGF5aW5ndmlkZW9zKSAmJiB0LnBsYXlpbmd2aWRlb3Muc3BsaWNlKGpRdWVyeS5pbkFycmF5KGUsIHQucGxheWluZ3ZpZGVvcyksIDEpCiAgICAgICAgfQp9KGpRdWVyeSk7CiEgZnVuY3Rpb24odCkgewogICAgIm9iamVjdCIgPT0gdHlwZW9mIGV4cG9ydHMgJiYgInVuZGVmaW5lZCIgIT0gdHlwZW9mIG1vZHVsZSA/IG1vZHVsZS5leHBvcnRzID0gdCgpIDogImZ1bmN0aW9uIiA9PSB0eXBlb2YgZGVmaW5lICYmIGRlZmluZS5hbWQgPyBkZWZpbmUoW10sIHQpIDogKCJ1bmRlZmluZWQiICE9IHR5cGVvZiB3aW5kb3cgPyB3aW5kb3cgOiAidW5kZWZpbmVkIiAhPSB0eXBlb2YgZ2xvYmFsID8gZ2xvYmFsIDogInVuZGVmaW5lZCIgIT0gdHlwZW9mIHNlbGYgPyBzZWxmIDogdGhpcykuQ2hhcnQgPSB0KCkKfShmdW5jdGlvbigpIHsKICAgIHJldHVybiBmdW5jdGlvbiByKG8sIHMsIGwpIHsKICAgICAgICBmdW5jdGlvbiB1KGUsIHQpIHsKICAgICAgICAgICAgaWYgKCFzW2VdKSB7CiAgICAgICAgICAgICAgICBpZiAoIW9bZV0pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9ICJmdW5jdGlvbiIgPT0gdHlwZW9mIHJlcXVpcmUgJiYgcmVxdWlyZTsKICAgICAgICAgICAgICAgICAgICBpZiAoIXQgJiYgaSkgcmV0dXJuIGkoZSwgITApOwogICAgICAgICAgICAgICAgICAgIGlmIChkKSByZXR1cm4gZChlLCAhMCk7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIG1vZHVsZSAnIiArIGUgKyAiJyIpOwogICAgICAgICAgICAgICAgICAgIHRocm93IG4uY29kZSA9ICJNT0RVTEVfTk9UX0ZPVU5EIiwgbgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdmFyIGEgPSBzW2VdID0gewogICAgICAgICAgICAgICAgICAgIGV4cG9ydHM6IHt9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgb1tlXVswXS5jYWxsKGEuZXhwb3J0cywgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB1KG9bZV1bMV1bdF0gfHwgdCkKICAgICAgICAgICAgICAgIH0sIGEsIGEuZXhwb3J0cywgciwgbywgcywgbCkKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gc1tlXS5leHBvcnRzCiAgICAgICAgfQogICAgICAgIGZvciAodmFyIGQgPSAiZnVuY3Rpb24iID09IHR5cGVvZiByZXF1aXJlICYmIHJlcXVpcmUsIHQgPSAwOyB0IDwgbC5sZW5ndGg7IHQrKykgdShsW3RdKTsKICAgICAgICByZXR1cm4gdQogICAgfSh7CiAgICAgICAgMTogW2Z1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgZnVuY3Rpb24gbih0KSB7CiAgICAgICAgICAgICAgICBpZiAodCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gWzAsIDAsIDBdLAogICAgICAgICAgICAgICAgICAgICAgICBpID0gMSwKICAgICAgICAgICAgICAgICAgICAgICAgbiA9IHQubWF0Y2goL14jKFthLWZBLUYwLTldezN9KSQvaSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKG4pCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobiA9IG5bMV0sIGEgPSAwOyBhIDwgZS5sZW5ndGg7IGErKykgZVthXSA9IHBhcnNlSW50KG5bYV0gKyBuW2FdLCAxNik7CiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAobiA9IHQubWF0Y2goL14jKFthLWZBLUYwLTldezZ9KSQvaSkpCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobiA9IG5bMV0sIGEgPSAwOyBhIDwgZS5sZW5ndGg7IGErKykgZVthXSA9IHBhcnNlSW50KG4uc2xpY2UoMiAqIGEsIDIgKiBhICsgMiksIDE2KTsKICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChuID0gdC5tYXRjaCgvXnJnYmE/XChccyooWystXT9cZCspXHMqLFxzKihbKy1dP1xkKylccyosXHMqKFsrLV0/XGQrKVxzKig/OixccyooWystXT9bXGRcLl0rKVxzKik/XCkkL2kpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoYSA9IDA7IGEgPCBlLmxlbmd0aDsgYSsrKSBlW2FdID0gcGFyc2VJbnQoblthICsgMV0pOwogICAgICAgICAgICAgICAgICAgICAgICBpID0gcGFyc2VGbG9hdChuWzRdKQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobiA9IHQubWF0Y2goL15yZ2JhP1woXHMqKFsrLV0/W1xkXC5dKylcJVxzKixccyooWystXT9bXGRcLl0rKVwlXHMqLFxzKihbKy1dP1tcZFwuXSspXCVccyooPzosXHMqKFsrLV0/W1xkXC5dKylccyopP1wpJC9pKSkgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGEgPSAwOyBhIDwgZS5sZW5ndGg7IGErKykgZVthXSA9IE1hdGgucm91bmQoMi41NSAqIHBhcnNlRmxvYXQoblthICsgMV0pKTsKICAgICAgICAgICAgICAgICAgICAgICAgaSA9IHBhcnNlRmxvYXQobls0XSkKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG4gPSB0Lm1hdGNoKC8oXHcrKS8pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgidHJhbnNwYXJlbnQiID09IG5bMV0pIHJldHVybiBbMCwgMCwgMCwgMF07CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKGUgPSBoW25bMV1dKSkgcmV0dXJuCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGEgPSAwOyBhIDwgZS5sZW5ndGg7IGErKykgZVthXSA9IHUoZVthXSwgMCwgMjU1KTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gaSA9IGkgfHwgMCA9PSBpID8gdShpLCAwLCAxKSA6IDEsIGVbM10gPSBpLCBlCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIGEodCkgewogICAgICAgICAgICAgICAgaWYgKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IHQubWF0Y2goL15oc2xhP1woXHMqKFsrLV0/XGQrKSg/OmRlZyk/XHMqLFxzKihbKy1dP1tcZFwuXSspJVxzKixccyooWystXT9bXGRcLl0rKSVccyooPzosXHMqKFsrLV0/W1xkXC5dKylccyopP1wpLyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBwYXJzZUZsb2F0KGVbNF0pOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3UocGFyc2VJbnQoZVsxXSksIDAsIDM2MCksIHUocGFyc2VGbG9hdChlWzJdKSwgMCwgMTAwKSwgdShwYXJzZUZsb2F0KGVbM10pLCAwLCAxMDApLCB1KGlzTmFOKGkpID8gMSA6IGksIDAsIDEpXQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gcih0KSB7CiAgICAgICAgICAgICAgICBpZiAodCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gdC5tYXRjaCgvXmh3YlwoXHMqKFsrLV0/XGQrKSg/OmRlZyk/XHMqLFxzKihbKy1dP1tcZFwuXSspJVxzKixccyooWystXT9bXGRcLl0rKSVccyooPzosXHMqKFsrLV0/W1xkXC5dKylccyopP1wpLyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBwYXJzZUZsb2F0KGVbNF0pOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3UocGFyc2VJbnQoZVsxXSksIDAsIDM2MCksIHUocGFyc2VGbG9hdChlWzJdKSwgMCwgMTAwKSwgdShwYXJzZUZsb2F0KGVbM10pLCAwLCAxMDApLCB1KGlzTmFOKGkpID8gMSA6IGksIDAsIDEpXQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gbyh0LCBlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwID09PSBlICYmIChlID0gdm9pZCAwICE9PSB0WzNdID8gdFszXSA6IDEpLCAicmdiYSgiICsgdFswXSArICIsICIgKyB0WzFdICsgIiwgIiArIHRbMl0gKyAiLCAiICsgZSArICIpIgogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBzKHQsIGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiAicmdiYSgiICsgTWF0aC5yb3VuZCh0WzBdIC8gMjU1ICogMTAwKSArICIlLCAiICsgTWF0aC5yb3VuZCh0WzFdIC8gMjU1ICogMTAwKSArICIlLCAiICsgTWF0aC5yb3VuZCh0WzJdIC8gMjU1ICogMTAwKSArICIlLCAiICsgKGUgfHwgdFszXSB8fCAxKSArICIpIgogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBsKHQsIGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiB2b2lkIDAgPT09IGUgJiYgKGUgPSB2b2lkIDAgIT09IHRbM10gPyB0WzNdIDogMSksICJoc2xhKCIgKyB0WzBdICsgIiwgIiArIHRbMV0gKyAiJSwgIiArIHRbMl0gKyAiJSwgIiArIGUgKyAiKSIKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gdSh0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoZSwgdCksIGkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIGQodCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0LnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpOwogICAgICAgICAgICAgICAgcmV0dXJuIGUubGVuZ3RoIDwgMiA/ICIwIiArIGUgOiBlCiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIGggPSB0KDUpOwogICAgICAgICAgICBlLmV4cG9ydHMgPSB7CiAgICAgICAgICAgICAgICBnZXRSZ2JhOiBuLAogICAgICAgICAgICAgICAgZ2V0SHNsYTogYSwKICAgICAgICAgICAgICAgIGdldFJnYjogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gbih0KTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZSAmJiBlLnNsaWNlKDAsIDMpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgZ2V0SHNsOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBhKHQpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBlICYmIGUuc2xpY2UoMCwgMykKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBnZXRId2I6IHIsCiAgICAgICAgICAgICAgICBnZXRBbHBoYTogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gbih0KTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZSA/IGVbM10gOiAoZSA9IGEodCkpID8gZVszXSA6IChlID0gcih0KSkgPyBlWzNdIDogdm9pZCAwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgaGV4U3RyaW5nOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIjIiArIGQodFswXSkgKyBkKHRbMV0pICsgZCh0WzJdKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHJnYlN0cmluZzogZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBlIDwgMSB8fCB0WzNdICYmIHRbM10gPCAxID8gbyh0LCBlKSA6ICJyZ2IoIiArIHRbMF0gKyAiLCAiICsgdFsxXSArICIsICIgKyB0WzJdICsgIikiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcmdiYVN0cmluZzogbywKICAgICAgICAgICAgICAgIHBlcmNlbnRTdHJpbmc6IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZSA8IDEgfHwgdFszXSAmJiB0WzNdIDwgMSA/IHModCwgZSkgOiAicmdiKCIgKyBNYXRoLnJvdW5kKHRbMF0gLyAyNTUgKiAxMDApICsgIiUsICIgKyBNYXRoLnJvdW5kKHRbMV0gLyAyNTUgKiAxMDApICsgIiUsICIgKyBNYXRoLnJvdW5kKHRbMl0gLyAyNTUgKiAxMDApICsgIiUpIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHBlcmNlbnRhU3RyaW5nOiBzLAogICAgICAgICAgICAgICAgaHNsU3RyaW5nOiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUgPCAxIHx8IHRbM10gJiYgdFszXSA8IDEgPyBsKHQsIGUpIDogImhzbCgiICsgdFswXSArICIsICIgKyB0WzFdICsgIiUsICIgKyB0WzJdICsgIiUpIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGhzbGFTdHJpbmc6IGwsCiAgICAgICAgICAgICAgICBod2JTdHJpbmc6IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwID09PSBlICYmIChlID0gdm9pZCAwICE9PSB0WzNdID8gdFszXSA6IDEpLCAiaHdiKCIgKyB0WzBdICsgIiwgIiArIHRbMV0gKyAiJSwgIiArIHRbMl0gKyAiJSIgKyAodm9pZCAwICE9PSBlICYmIDEgIT09IGUgPyAiLCAiICsgZSA6ICIiKSArICIpIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGtleXdvcmQ6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY1t0LnNsaWNlKDAsIDMpXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwogICAgICAgICAgICB2YXIgYyA9IHt9OwogICAgICAgICAgICBmb3IgKHZhciBmIGluIGgpIGNbaFtmXV0gPSBmCiAgICAgICAgfSwgewogICAgICAgICAgICA1OiA1CiAgICAgICAgfV0sCiAgICAgICAgMjogW2Z1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIGQgPSB0KDQpLAogICAgICAgICAgICAgICAgbiA9IHQoMSksCiAgICAgICAgICAgICAgICBvID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0IGluc3RhbmNlb2YgbyA/IHQgOiB0aGlzIGluc3RhbmNlb2YgbyA/ICh0aGlzLnZhbGlkID0gITEsIHRoaXMudmFsdWVzID0gewogICAgICAgICAgICAgICAgICAgICAgICByZ2I6IFswLCAwLCAwXSwKICAgICAgICAgICAgICAgICAgICAgICAgaHNsOiBbMCwgMCwgMF0sCiAgICAgICAgICAgICAgICAgICAgICAgIGhzdjogWzAsIDAsIDBdLAogICAgICAgICAgICAgICAgICAgICAgICBod2I6IFswLCAwLCAwXSwKICAgICAgICAgICAgICAgICAgICAgICAgY215azogWzAsIDAsIDAsIDBdLAogICAgICAgICAgICAgICAgICAgICAgICBhbHBoYTogMQogICAgICAgICAgICAgICAgICAgIH0sIHZvaWQoInN0cmluZyIgPT0gdHlwZW9mIHQgPyAoZSA9IG4uZ2V0UmdiYSh0KSkgPyB0aGlzLnNldFZhbHVlcygicmdiIiwgZSkgOiAoZSA9IG4uZ2V0SHNsYSh0KSkgPyB0aGlzLnNldFZhbHVlcygiaHNsIiwgZSkgOiAoZSA9IG4uZ2V0SHdiKHQpKSAmJiB0aGlzLnNldFZhbHVlcygiaHdiIiwgZSkgOiAib2JqZWN0IiA9PSB0eXBlb2YgdCAmJiAodm9pZCAwICE9PSAoZSA9IHQpLnIgfHwgdm9pZCAwICE9PSBlLnJlZCA/IHRoaXMuc2V0VmFsdWVzKCJyZ2IiLCBlKSA6IHZvaWQgMCAhPT0gZS5sIHx8IHZvaWQgMCAhPT0gZS5saWdodG5lc3MgPyB0aGlzLnNldFZhbHVlcygiaHNsIiwgZSkgOiB2b2lkIDAgIT09IGUudiB8fCB2b2lkIDAgIT09IGUudmFsdWUgPyB0aGlzLnNldFZhbHVlcygiaHN2IiwgZSkgOiB2b2lkIDAgIT09IGUudyB8fCB2b2lkIDAgIT09IGUud2hpdGVuZXNzID8gdGhpcy5zZXRWYWx1ZXMoImh3YiIsIGUpIDogdm9pZCAwID09PSBlLmMgJiYgdm9pZCAwID09PSBlLmN5YW4gfHwgdGhpcy5zZXRWYWx1ZXMoImNteWsiLCBlKSkpKSA6IG5ldyBvKHQpOwogICAgICAgICAgICAgICAgICAgIHZhciBlCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICBvLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgIGlzVmFsaWQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbGlkCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcmdiOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXRTcGFjZSgicmdiIiwgYXJndW1lbnRzKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGhzbDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0U3BhY2UoImhzbCIsIGFyZ3VtZW50cykKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBoc3Y6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNldFNwYWNlKCJoc3YiLCBhcmd1bWVudHMpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgaHdiOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXRTcGFjZSgiaHdiIiwgYXJndW1lbnRzKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNteWs6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNldFNwYWNlKCJjbXlrIiwgYXJndW1lbnRzKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHJnYkFycmF5OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXMucmdiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgaHNsQXJyYXk6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlcy5oc2wKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBoc3ZBcnJheTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzLmhzdgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGh3YkFycmF5OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMudmFsdWVzOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAxICE9PSB0LmFscGhhID8gdC5od2IuY29uY2F0KFt0LmFscGhhXSkgOiB0Lmh3YgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNteWtBcnJheTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzLmNteWsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICByZ2JhQXJyYXk6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpcy52YWx1ZXM7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQucmdiLmNvbmNhdChbdC5hbHBoYV0pCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgaHNsYUFycmF5OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMudmFsdWVzOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB0LmhzbC5jb25jYXQoW3QuYWxwaGFdKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGFscGhhOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gdCA/IHRoaXMudmFsdWVzLmFscGhhIDogKHRoaXMuc2V0VmFsdWVzKCJhbHBoYSIsIHQpLCB0aGlzKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHJlZDogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNldENoYW5uZWwoInJnYiIsIDAsIHQpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgZ3JlZW46IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXRDaGFubmVsKCJyZ2IiLCAxLCB0KQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGJsdWU6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXRDaGFubmVsKCJyZ2IiLCAyLCB0KQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGh1ZTogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0ICYmICh0ID0gKHQgJT0gMzYwKSA8IDAgPyAzNjAgKyB0IDogdCksIHRoaXMuc2V0Q2hhbm5lbCgiaHNsIiwgMCwgdCkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBzYXR1cmF0aW9uOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgiaHNsIiwgMSwgdCkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBsaWdodG5lc3M6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXRDaGFubmVsKCJoc2wiLCAyLCB0KQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHNhdHVyYXRpb252OiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgiaHN2IiwgMSwgdCkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB3aGl0ZW5lc3M6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXRDaGFubmVsKCJod2IiLCAxLCB0KQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGJsYWNrbmVzczogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNldENoYW5uZWwoImh3YiIsIDIsIHQpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXRDaGFubmVsKCJoc3YiLCAyLCB0KQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGN5YW46IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXRDaGFubmVsKCJjbXlrIiwgMCwgdCkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBtYWdlbnRhOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgiY215ayIsIDEsIHQpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgeWVsbG93OiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgiY215ayIsIDIsIHQpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgYmxhY2s6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXRDaGFubmVsKCJjbXlrIiwgMywgdCkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBoZXhTdHJpbmc6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBuLmhleFN0cmluZyh0aGlzLnZhbHVlcy5yZ2IpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcmdiU3RyaW5nOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbi5yZ2JTdHJpbmcodGhpcy52YWx1ZXMucmdiLCB0aGlzLnZhbHVlcy5hbHBoYSkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICByZ2JhU3RyaW5nOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbi5yZ2JhU3RyaW5nKHRoaXMudmFsdWVzLnJnYiwgdGhpcy52YWx1ZXMuYWxwaGEpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcGVyY2VudFN0cmluZzogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG4ucGVyY2VudFN0cmluZyh0aGlzLnZhbHVlcy5yZ2IsIHRoaXMudmFsdWVzLmFscGhhKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGhzbFN0cmluZzogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG4uaHNsU3RyaW5nKHRoaXMudmFsdWVzLmhzbCwgdGhpcy52YWx1ZXMuYWxwaGEpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgaHNsYVN0cmluZzogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG4uaHNsYVN0cmluZyh0aGlzLnZhbHVlcy5oc2wsIHRoaXMudmFsdWVzLmFscGhhKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGh3YlN0cmluZzogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG4uaHdiU3RyaW5nKHRoaXMudmFsdWVzLmh3YiwgdGhpcy52YWx1ZXMuYWxwaGEpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAga2V5d29yZDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG4ua2V5d29yZCh0aGlzLnZhbHVlcy5yZ2IsIHRoaXMudmFsdWVzLmFscGhhKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHJnYk51bWJlcjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLnZhbHVlcy5yZ2I7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRbMF0gPDwgMTYgfCB0WzFdIDw8IDggfCB0WzJdCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgbHVtaW5vc2l0eTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgdCA9IHRoaXMudmFsdWVzLnJnYiwgZSA9IFtdLCBpID0gMDsgaSA8IHQubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSB0W2ldIC8gMjU1OwogICAgICAgICAgICAgICAgICAgICAgICBlW2ldID0gbiA8PSAuMDM5MjggPyBuIC8gMTIuOTIgOiBNYXRoLnBvdygobiArIC4wNTUpIC8gMS4wNTUsIDIuNCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC4yMTI2ICogZVswXSArIC43MTUyICogZVsxXSArIC4wNzIyICogZVsyXQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbnRyYXN0OiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmx1bWlub3NpdHkoKSwKICAgICAgICAgICAgICAgICAgICAgICAgaSA9IHQubHVtaW5vc2l0eSgpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBpIDwgZSA/IChlICsgLjA1KSAvIChpICsgLjA1KSA6IChpICsgLjA1KSAvIChlICsgLjA1KQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGxldmVsOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmNvbnRyYXN0KHQpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiA3LjEgPD0gZSA/ICJBQUEiIDogNC41IDw9IGUgPyAiQUEiIDogIiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBkYXJrOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMudmFsdWVzLnJnYjsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gKDI5OSAqIHRbMF0gKyA1ODcgKiB0WzFdICsgMTE0ICogdFsyXSkgLyAxZTMgPCAxMjgKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBsaWdodDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICF0aGlzLmRhcmsoKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIG5lZ2F0ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgdCA9IFtdLCBlID0gMDsgZSA8IDM7IGUrKykgdFtlXSA9IDI1NSAtIHRoaXMudmFsdWVzLnJnYltlXTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXRWYWx1ZXMoInJnYiIsIHQpLCB0aGlzCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgbGlnaHRlbjogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcy52YWx1ZXMuaHNsOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBlWzJdICs9IGVbMl0gKiB0LCB0aGlzLnNldFZhbHVlcygiaHNsIiwgZSksIHRoaXMKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBkYXJrZW46IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMudmFsdWVzLmhzbDsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZVsyXSAtPSBlWzJdICogdCwgdGhpcy5zZXRWYWx1ZXMoImhzbCIsIGUpLCB0aGlzCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgc2F0dXJhdGU6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMudmFsdWVzLmhzbDsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZVsxXSArPSBlWzFdICogdCwgdGhpcy5zZXRWYWx1ZXMoImhzbCIsIGUpLCB0aGlzCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgZGVzYXR1cmF0ZTogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcy52YWx1ZXMuaHNsOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBlWzFdIC09IGVbMV0gKiB0LCB0aGlzLnNldFZhbHVlcygiaHNsIiwgZSksIHRoaXMKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB3aGl0ZW46IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMudmFsdWVzLmh3YjsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZVsxXSArPSBlWzFdICogdCwgdGhpcy5zZXRWYWx1ZXMoImh3YiIsIGUpLCB0aGlzCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgYmxhY2tlbjogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcy52YWx1ZXMuaHdiOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBlWzJdICs9IGVbMl0gKiB0LCB0aGlzLnNldFZhbHVlcygiaHdiIiwgZSksIHRoaXMKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBncmV5c2NhbGU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpcy52YWx1ZXMucmdiLAogICAgICAgICAgICAgICAgICAgICAgICBlID0gLjMgKiB0WzBdICsgLjU5ICogdFsxXSArIC4xMSAqIHRbMl07CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0VmFsdWVzKCJyZ2IiLCBbZSwgZSwgZV0pLCB0aGlzCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY2xlYXJlcjogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcy52YWx1ZXMuYWxwaGE7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0VmFsdWVzKCJhbHBoYSIsIGUgLSBlICogdCksIHRoaXMKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBvcGFxdWVyOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLnZhbHVlcy5hbHBoYTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXRWYWx1ZXMoImFscGhhIiwgZSArIGUgKiB0KSwgdGhpcwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHJvdGF0ZTogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcy52YWx1ZXMuaHNsLAogICAgICAgICAgICAgICAgICAgICAgICBpID0gKGVbMF0gKyB0KSAlIDM2MDsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZVswXSA9IGkgPCAwID8gMzYwICsgaSA6IGksIHRoaXMuc2V0VmFsdWVzKCJoc2wiLCBlKSwgdGhpcwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIG1peDogZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIHZhciBpID0gdGhpcywKICAgICAgICAgICAgICAgICAgICAgICAgbiA9IHQsCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSB2b2lkIDAgPT09IGUgPyAuNSA6IGUsCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSAyICogYSAtIDEsCiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSBpLmFscGhhKCkgLSBuLmFscGhhKCksCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSAoKHIgKiBvID09IC0xID8gciA6IChyICsgbykgLyAoMSArIHIgKiBvKSkgKyAxKSAvIDIsCiAgICAgICAgICAgICAgICAgICAgICAgIGwgPSAxIC0gczsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZ2IocyAqIGkucmVkKCkgKyBsICogbi5yZWQoKSwgcyAqIGkuZ3JlZW4oKSArIGwgKiBuLmdyZWVuKCksIHMgKiBpLmJsdWUoKSArIGwgKiBuLmJsdWUoKSkuYWxwaGEoaS5hbHBoYSgpICogYSArIG4uYWxwaGEoKSAqICgxIC0gYSkpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgdG9KU09OOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZ2IoKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNsb25lOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCwgZSwgaSA9IG5ldyBvLAogICAgICAgICAgICAgICAgICAgICAgICBuID0gdGhpcy52YWx1ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBpLnZhbHVlczsKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciByIGluIG4pIG4uaGFzT3duUHJvcGVydHkocikgJiYgKHQgPSBuW3JdLCAiW29iamVjdCBBcnJheV0iID09PSAoZSA9IHt9LnRvU3RyaW5nLmNhbGwodCkpID8gYVtyXSA9IHQuc2xpY2UoMCkgOiAiW29iamVjdCBOdW1iZXJdIiA9PT0gZSA/IGFbcl0gPSB0IDogY29uc29sZS5lcnJvcigidW5leHBlY3RlZCBjb2xvciB2YWx1ZToiLCB0KSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgby5wcm90b3R5cGUuc3BhY2VzID0gewogICAgICAgICAgICAgICAgcmdiOiBbInJlZCIsICJncmVlbiIsICJibHVlIl0sCiAgICAgICAgICAgICAgICBoc2w6IFsiaHVlIiwgInNhdHVyYXRpb24iLCAibGlnaHRuZXNzIl0sCiAgICAgICAgICAgICAgICBoc3Y6IFsiaHVlIiwgInNhdHVyYXRpb24iLCAidmFsdWUiXSwKICAgICAgICAgICAgICAgIGh3YjogWyJodWUiLCAid2hpdGVuZXNzIiwgImJsYWNrbmVzcyJdLAogICAgICAgICAgICAgICAgY215azogWyJjeWFuIiwgIm1hZ2VudGEiLCAieWVsbG93IiwgImJsYWNrIl0KICAgICAgICAgICAgfSwgby5wcm90b3R5cGUubWF4ZXMgPSB7CiAgICAgICAgICAgICAgICByZ2I6IFsyNTUsIDI1NSwgMjU1XSwKICAgICAgICAgICAgICAgIGhzbDogWzM2MCwgMTAwLCAxMDBdLAogICAgICAgICAgICAgICAgaHN2OiBbMzYwLCAxMDAsIDEwMF0sCiAgICAgICAgICAgICAgICBod2I6IFszNjAsIDEwMCwgMTAwXSwKICAgICAgICAgICAgICAgIGNteWs6IFsxMDAsIDEwMCwgMTAwLCAxMDBdCiAgICAgICAgICAgIH0sIG8ucHJvdG90eXBlLmdldFZhbHVlcyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIGUgPSB0aGlzLnZhbHVlcywgaSA9IHt9LCBuID0gMDsgbiA8IHQubGVuZ3RoOyBuKyspIGlbdC5jaGFyQXQobildID0gZVt0XVtuXTsKICAgICAgICAgICAgICAgIHJldHVybiAxICE9PSBlLmFscGhhICYmIChpLmEgPSBlLmFscGhhKSwgaQogICAgICAgICAgICB9LCBvLnByb3RvdHlwZS5zZXRWYWx1ZXMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICB2YXIgaSwgbiwgYSA9IHRoaXMudmFsdWVzLAogICAgICAgICAgICAgICAgICAgIHIgPSB0aGlzLnNwYWNlcywKICAgICAgICAgICAgICAgICAgICBvID0gdGhpcy5tYXhlcywKICAgICAgICAgICAgICAgICAgICBzID0gMTsKICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbGlkID0gITAsICJhbHBoYSIgPT09IHQpIHMgPSBlOwogICAgICAgICAgICAgICAgZWxzZSBpZiAoZS5sZW5ndGgpIGFbdF0gPSBlLnNsaWNlKDAsIHQubGVuZ3RoKSwgcyA9IGVbdC5sZW5ndGhdOwogICAgICAgICAgICAgICAgZWxzZSBpZiAodm9pZCAwICE9PSBlW3QuY2hhckF0KDApXSkgewogICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCB0Lmxlbmd0aDsgaSsrKSBhW3RdW2ldID0gZVt0LmNoYXJBdChpKV07CiAgICAgICAgICAgICAgICAgICAgcyA9IGUuYQogICAgICAgICAgICAgICAgfSBlbHNlIGlmICh2b2lkIDAgIT09IGVbclt0XVswXV0pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgbCA9IHJbdF07CiAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHQubGVuZ3RoOyBpKyspIGFbdF1baV0gPSBlW2xbaV1dOwogICAgICAgICAgICAgICAgICAgIHMgPSBlLmFscGhhCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoYS5hbHBoYSA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEsIHZvaWQgMCA9PT0gcyA/IGEuYWxwaGEgOiBzKSksICJhbHBoYSIgPT09IHQpIHJldHVybiAhMTsKICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCB0Lmxlbmd0aDsgaSsrKSBuID0gTWF0aC5tYXgoMCwgTWF0aC5taW4ob1t0XVtpXSwgYVt0XVtpXSkpLCBhW3RdW2ldID0gTWF0aC5yb3VuZChuKTsKICAgICAgICAgICAgICAgIGZvciAodmFyIHUgaW4gcikgdSAhPT0gdCAmJiAoYVt1XSA9IGRbdF1bdV0oYVt0XSkpOwogICAgICAgICAgICAgICAgcmV0dXJuICEwCiAgICAgICAgICAgIH0sIG8ucHJvdG90eXBlLnNldFNwYWNlID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgdmFyIGkgPSBlWzBdOwogICAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gaSA/IHRoaXMuZ2V0VmFsdWVzKHQpIDogKCJudW1iZXIiID09IHR5cGVvZiBpICYmIChpID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZSkpLCB0aGlzLnNldFZhbHVlcyh0LCBpKSwgdGhpcykKICAgICAgICAgICAgfSwgby5wcm90b3R5cGUuc2V0Q2hhbm5lbCA9IGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgIHZhciBuID0gdGhpcy52YWx1ZXNbdF07CiAgICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwID09PSBpID8gbltlXSA6IChpID09PSBuW2VdIHx8IChuW2VdID0gaSwgdGhpcy5zZXRWYWx1ZXModCwgbikpLCB0aGlzKQogICAgICAgICAgICB9LCAidW5kZWZpbmVkIiAhPSB0eXBlb2Ygd2luZG93ICYmICh3aW5kb3cuQ29sb3IgPSBvKSwgZS5leHBvcnRzID0gbwogICAgICAgIH0sIHsKICAgICAgICAgICAgMTogMSwKICAgICAgICAgICAgNDogNAogICAgICAgIH1dLAogICAgICAgIDM6IFtmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgIGZ1bmN0aW9uIGEodCkgewogICAgICAgICAgICAgICAgdmFyIGUsIGksIG4gPSB0WzBdIC8gMjU1LAogICAgICAgICAgICAgICAgICAgIGEgPSB0WzFdIC8gMjU1LAogICAgICAgICAgICAgICAgICAgIHIgPSB0WzJdIC8gMjU1LAogICAgICAgICAgICAgICAgICAgIG8gPSBNYXRoLm1pbihuLCBhLCByKSwKICAgICAgICAgICAgICAgICAgICBzID0gTWF0aC5tYXgobiwgYSwgciksCiAgICAgICAgICAgICAgICAgICAgbCA9IHMgLSBvOwogICAgICAgICAgICAgICAgcmV0dXJuIHMgPT0gbyA/IGUgPSAwIDogbiA9PSBzID8gZSA9IChhIC0gcikgLyBsIDogYSA9PSBzID8gZSA9IDIgKyAociAtIG4pIC8gbCA6IHIgPT0gcyAmJiAoZSA9IDQgKyAobiAtIGEpIC8gbCksIChlID0gTWF0aC5taW4oNjAgKiBlLCAzNjApKSA8IDAgJiYgKGUgKz0gMzYwKSwgaSA9IChvICsgcykgLyAyLCBbZSwgMTAwICogKHMgPT0gbyA/IDAgOiBpIDw9IC41ID8gbCAvIChzICsgbykgOiBsIC8gKDIgLSBzIC0gbykpLCAxMDAgKiBpXQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBuKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuID0gdFswXSwKICAgICAgICAgICAgICAgICAgICBhID0gdFsxXSwKICAgICAgICAgICAgICAgICAgICByID0gdFsyXSwKICAgICAgICAgICAgICAgICAgICBvID0gTWF0aC5taW4obiwgYSwgciksCiAgICAgICAgICAgICAgICAgICAgcyA9IE1hdGgubWF4KG4sIGEsIHIpLAogICAgICAgICAgICAgICAgICAgIGwgPSBzIC0gbzsKICAgICAgICAgICAgICAgIHJldHVybiBpID0gMCA9PSBzID8gMCA6IGwgLyBzICogMWUzIC8gMTAsIHMgPT0gbyA/IGUgPSAwIDogbiA9PSBzID8gZSA9IChhIC0gcikgLyBsIDogYSA9PSBzID8gZSA9IDIgKyAociAtIG4pIC8gbCA6IHIgPT0gcyAmJiAoZSA9IDQgKyAobiAtIGEpIC8gbCksIChlID0gTWF0aC5taW4oNjAgKiBlLCAzNjApKSA8IDAgJiYgKGUgKz0gMzYwKSwgW2UsIGksIHMgLyAyNTUgKiAxZTMgLyAxMF0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gbyh0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHRbMF0sCiAgICAgICAgICAgICAgICAgICAgaSA9IHRbMV0sCiAgICAgICAgICAgICAgICAgICAgbiA9IHRbMl07CiAgICAgICAgICAgICAgICByZXR1cm4gW2EodClbMF0sIDEgLyAyNTUgKiBNYXRoLm1pbihlLCBNYXRoLm1pbihpLCBuKSkgKiAxMDAsIDEwMCAqIChuID0gMSAtIDEgLyAyNTUgKiBNYXRoLm1heChlLCBNYXRoLm1heChpLCBuKSkpXQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBzKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlLCBpID0gdFswXSAvIDI1NSwKICAgICAgICAgICAgICAgICAgICBuID0gdFsxXSAvIDI1NSwKICAgICAgICAgICAgICAgICAgICBhID0gdFsyXSAvIDI1NTsKICAgICAgICAgICAgICAgIHJldHVybiBbMTAwICogKCgxIC0gaSAtIChlID0gTWF0aC5taW4oMSAtIGksIDEgLSBuLCAxIC0gYSkpKSAvICgxIC0gZSkgfHwgMCksIDEwMCAqICgoMSAtIG4gLSBlKSAvICgxIC0gZSkgfHwgMCksIDEwMCAqICgoMSAtIGEgLSBlKSAvICgxIC0gZSkgfHwgMCksIDEwMCAqIGVdCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIGwodCkgewogICAgICAgICAgICAgICAgcmV0dXJuIFNbSlNPTi5zdHJpbmdpZnkodCldCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIHUodCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0WzBdIC8gMjU1LAogICAgICAgICAgICAgICAgICAgIGkgPSB0WzFdIC8gMjU1LAogICAgICAgICAgICAgICAgICAgIG4gPSB0WzJdIC8gMjU1OwogICAgICAgICAgICAgICAgcmV0dXJuIFsxMDAgKiAoLjQxMjQgKiAoZSA9IC4wNDA0NSA8IGUgPyBNYXRoLnBvdygoZSArIC4wNTUpIC8gMS4wNTUsIDIuNCkgOiBlIC8gMTIuOTIpICsgLjM1NzYgKiAoaSA9IC4wNDA0NSA8IGkgPyBNYXRoLnBvdygoaSArIC4wNTUpIC8gMS4wNTUsIDIuNCkgOiBpIC8gMTIuOTIpICsgLjE4MDUgKiAobiA9IC4wNDA0NSA8IG4gPyBNYXRoLnBvdygobiArIC4wNTUpIC8gMS4wNTUsIDIuNCkgOiBuIC8gMTIuOTIpKSwgMTAwICogKC4yMTI2ICogZSArIC43MTUyICogaSArIC4wNzIyICogbiksIDEwMCAqICguMDE5MyAqIGUgKyAuMTE5MiAqIGkgKyAuOTUwNSAqIG4pXQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBkKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlID0gdSh0KSwKICAgICAgICAgICAgICAgICAgICBpID0gZVswXSwKICAgICAgICAgICAgICAgICAgICBuID0gZVsxXSwKICAgICAgICAgICAgICAgICAgICBhID0gZVsyXTsKICAgICAgICAgICAgICAgIHJldHVybiBuIC89IDEwMCwgYSAvPSAxMDguODgzLCBpID0gLjAwODg1NiA8IChpIC89IDk1LjA0NykgPyBNYXRoLnBvdyhpLCAxIC8gMykgOiA3Ljc4NyAqIGkgKyAxNiAvIDExNiwgWzExNiAqIChuID0gLjAwODg1NiA8IG4gPyBNYXRoLnBvdyhuLCAxIC8gMykgOiA3Ljc4NyAqIG4gKyAxNiAvIDExNikgLSAxNiwgNTAwICogKGkgLSBuKSwgMjAwICogKG4gLSAoYSA9IC4wMDg4NTYgPCBhID8gTWF0aC5wb3coYSwgMSAvIDMpIDogNy43ODcgKiBhICsgMTYgLyAxMTYpKV0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gaCh0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSwgaSwgbiwgYSwgciwgbyA9IHRbMF0gLyAzNjAsCiAgICAgICAgICAgICAgICAgICAgcyA9IHRbMV0gLyAxMDAsCiAgICAgICAgICAgICAgICAgICAgbCA9IHRbMl0gLyAxMDA7CiAgICAgICAgICAgICAgICBpZiAoMCA9PSBzKSByZXR1cm4gW3IgPSAyNTUgKiBsLCByLCByXTsKICAgICAgICAgICAgICAgIGUgPSAyICogbCAtIChpID0gbCA8IC41ID8gbCAqICgxICsgcykgOiBsICsgcyAtIGwgKiBzKSwgYSA9IFswLCAwLCAwXTsKICAgICAgICAgICAgICAgIGZvciAodmFyIHUgPSAwOyB1IDwgMzsgdSsrKShuID0gbyArIDEgLyAzICogLSh1IC0gMSkpIDwgMCAmJiBuKyssIDEgPCBuICYmIG4tLSwgciA9IDYgKiBuIDwgMSA/IGUgKyA2ICogKGkgLSBlKSAqIG4gOiAyICogbiA8IDEgPyBpIDogMyAqIG4gPCAyID8gZSArIChpIC0gZSkgKiAoMiAvIDMgLSBuKSAqIDYgOiBlLCBhW3VdID0gMjU1ICogcjsKICAgICAgICAgICAgICAgIHJldHVybiBhCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIGModCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0WzBdIC8gNjAsCiAgICAgICAgICAgICAgICAgICAgaSA9IHRbMV0gLyAxMDAsCiAgICAgICAgICAgICAgICAgICAgbiA9IHRbMl0gLyAxMDAsCiAgICAgICAgICAgICAgICAgICAgYSA9IE1hdGguZmxvb3IoZSkgJSA2LAogICAgICAgICAgICAgICAgICAgIHIgPSBlIC0gTWF0aC5mbG9vcihlKSwKICAgICAgICAgICAgICAgICAgICBvID0gMjU1ICogbiAqICgxIC0gaSksCiAgICAgICAgICAgICAgICAgICAgcyA9IDI1NSAqIG4gKiAoMSAtIGkgKiByKSwKICAgICAgICAgICAgICAgICAgICBsID0gMjU1ICogbiAqICgxIC0gaSAqICgxIC0gcikpOwogICAgICAgICAgICAgICAgbiAqPSAyNTU7CiAgICAgICAgICAgICAgICBzd2l0Y2ggKGEpIHsKICAgICAgICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbbiwgbCwgb107CiAgICAgICAgICAgICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3MsIG4sIG9dOwogICAgICAgICAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtvLCBuLCBsXTsKICAgICAgICAgICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbbywgcywgbl07CiAgICAgICAgICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW2wsIG8sIG5dOwogICAgICAgICAgICAgICAgICAgIGNhc2UgNToKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtuLCBvLCBzXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBmKHQpIHsKICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuLCBhLCBvID0gdFswXSAvIDM2MCwKICAgICAgICAgICAgICAgICAgICBzID0gdFsxXSAvIDEwMCwKICAgICAgICAgICAgICAgICAgICBsID0gdFsyXSAvIDEwMCwKICAgICAgICAgICAgICAgICAgICB1ID0gcyArIGw7CiAgICAgICAgICAgICAgICBzd2l0Y2ggKDEgPCB1ICYmIChzIC89IHUsIGwgLz0gdSksIG4gPSA2ICogbyAtIChlID0gTWF0aC5mbG9vcig2ICogbykpLCAwICE9ICgxICYgZSkgJiYgKG4gPSAxIC0gbiksIGEgPSBzICsgbiAqICgoaSA9IDEgLSBsKSAtIHMpLCBlKSB7CiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA2OgogICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBpLAogICAgICAgICAgICAgICAgICAgIGcgPSBhLAogICAgICAgICAgICAgICAgICAgIGIgPSBzOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBhLAogICAgICAgICAgICAgICAgICAgICAgICBnID0gaSwKICAgICAgICAgICAgICAgICAgICAgICAgYiA9IHM7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBzLAogICAgICAgICAgICAgICAgICAgICAgICBnID0gaSwKICAgICAgICAgICAgICAgICAgICAgICAgYiA9IGE7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBzLAogICAgICAgICAgICAgICAgICAgICAgICBnID0gYSwKICAgICAgICAgICAgICAgICAgICAgICAgYiA9IGk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBhLAogICAgICAgICAgICAgICAgICAgICAgICBnID0gcywKICAgICAgICAgICAgICAgICAgICAgICAgYiA9IGk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgNToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBpLAogICAgICAgICAgICAgICAgICAgICAgICBnID0gcywKICAgICAgICAgICAgICAgICAgICAgICAgYiA9IGEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiBbMjU1ICogciwgMjU1ICogZywgMjU1ICogYl0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gbSh0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSA9IHRbMF0gLyAxMDAsCiAgICAgICAgICAgICAgICAgICAgaSA9IHRbMV0gLyAxMDAsCiAgICAgICAgICAgICAgICAgICAgbiA9IHRbMl0gLyAxMDAsCiAgICAgICAgICAgICAgICAgICAgYSA9IHRbM10gLyAxMDA7CiAgICAgICAgICAgICAgICByZXR1cm4gWzI1NSAqICgxIC0gTWF0aC5taW4oMSwgZSAqICgxIC0gYSkgKyBhKSksIDI1NSAqICgxIC0gTWF0aC5taW4oMSwgaSAqICgxIC0gYSkgKyBhKSksIDI1NSAqICgxIC0gTWF0aC5taW4oMSwgbiAqICgxIC0gYSkgKyBhKSldCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIHAodCkgewogICAgICAgICAgICAgICAgdmFyIGUsIGksIG4sIGEgPSB0WzBdIC8gMTAwLAogICAgICAgICAgICAgICAgICAgIHIgPSB0WzFdIC8gMTAwLAogICAgICAgICAgICAgICAgICAgIG8gPSB0WzJdIC8gMTAwOwogICAgICAgICAgICAgICAgcmV0dXJuIGkgPSAtLjk2ODkgKiBhICsgMS44NzU4ICogciArIC4wNDE1ICogbywgbiA9IC4wNTU3ICogYSArIC0uMjA0ICogciArIDEuMDU3ICogbywgZSA9IC4wMDMxMzA4IDwgKGUgPSAzLjI0MDYgKiBhICsgLTEuNTM3MiAqIHIgKyAtLjQ5ODYgKiBvKSA/IDEuMDU1ICogTWF0aC5wb3coZSwgMSAvIDIuNCkgLSAuMDU1IDogZSAqPSAxMi45MiwgaSA9IC4wMDMxMzA4IDwgaSA/IDEuMDU1ICogTWF0aC5wb3coaSwgMSAvIDIuNCkgLSAuMDU1IDogaSAqPSAxMi45MiwgbiA9IC4wMDMxMzA4IDwgbiA/IDEuMDU1ICogTWF0aC5wb3cobiwgMSAvIDIuNCkgLSAuMDU1IDogbiAqPSAxMi45MiwgWzI1NSAqIChlID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgZSksIDEpKSwgMjU1ICogKGkgPSBNYXRoLm1pbihNYXRoLm1heCgwLCBpKSwgMSkpLCAyNTUgKiAobiA9IE1hdGgubWluKE1hdGgubWF4KDAsIG4pLCAxKSldCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIHYodCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0WzBdLAogICAgICAgICAgICAgICAgICAgIGkgPSB0WzFdLAogICAgICAgICAgICAgICAgICAgIG4gPSB0WzJdOwogICAgICAgICAgICAgICAgcmV0dXJuIGkgLz0gMTAwLCBuIC89IDEwOC44ODMsIGUgPSAuMDA4ODU2IDwgKGUgLz0gOTUuMDQ3KSA/IE1hdGgucG93KGUsIDEgLyAzKSA6IDcuNzg3ICogZSArIDE2IC8gMTE2LCBbMTE2ICogKGkgPSAuMDA4ODU2IDwgaSA/IE1hdGgucG93KGksIDEgLyAzKSA6IDcuNzg3ICogaSArIDE2IC8gMTE2KSAtIDE2LCA1MDAgKiAoZSAtIGkpLCAyMDAgKiAoaSAtIChuID0gLjAwODg1NiA8IG4gPyBNYXRoLnBvdyhuLCAxIC8gMykgOiA3Ljc4NyAqIG4gKyAxNiAvIDExNikpXQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiB5KHQpIHsKICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuLCBhLCByID0gdFswXSwKICAgICAgICAgICAgICAgICAgICBvID0gdFsxXSwKICAgICAgICAgICAgICAgICAgICBzID0gdFsyXTsKICAgICAgICAgICAgICAgIHJldHVybiBhID0gciA8PSA4ID8gKGkgPSAxMDAgKiByIC8gOTAzLjMpIC8gMTAwICogNy43ODcgKyAxNiAvIDExNiA6IChpID0gMTAwICogTWF0aC5wb3coKHIgKyAxNikgLyAxMTYsIDMpLCBNYXRoLnBvdyhpIC8gMTAwLCAxIC8gMykpLCBbZSA9IGUgLyA5NS4wNDcgPD0gLjAwODg1NiA/IGUgPSA5NS4wNDcgKiAobyAvIDUwMCArIGEgLSAxNiAvIDExNikgLyA3Ljc4NyA6IDk1LjA0NyAqIE1hdGgucG93KG8gLyA1MDAgKyBhLCAzKSwgaSwgbiA9IG4gLyAxMDguODgzIDw9IC4wMDg4NTkgPyBuID0gMTA4Ljg4MyAqIChhIC0gcyAvIDIwMCAtIDE2IC8gMTE2KSAvIDcuNzg3IDogMTA4Ljg4MyAqIE1hdGgucG93KGEgLSBzIC8gMjAwLCAzKV0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24geCh0KSB7CiAgICAgICAgICAgICAgICB2YXIgZSwgaSA9IHRbMF0sCiAgICAgICAgICAgICAgICAgICAgbiA9IHRbMV0sCiAgICAgICAgICAgICAgICAgICAgYSA9IHRbMl07CiAgICAgICAgICAgICAgICByZXR1cm4gKGUgPSAzNjAgKiBNYXRoLmF0YW4yKGEsIG4pIC8gMiAvIE1hdGguUEkpIDwgMCAmJiAoZSArPSAzNjApLCBbaSwgTWF0aC5zcXJ0KG4gKiBuICsgYSAqIGEpLCBlXQogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBfKHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiBwKHkodCkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIGsodCkgewogICAgICAgICAgICAgICAgdmFyIGUsIGkgPSB0WzBdLAogICAgICAgICAgICAgICAgICAgIG4gPSB0WzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIGUgPSB0WzJdIC8gMzYwICogMiAqIE1hdGguUEksIFtpLCBuICogTWF0aC5jb3MoZSksIG4gKiBNYXRoLnNpbihlKV0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gdyh0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gTVt0XQogICAgICAgICAgICB9CiAgICAgICAgICAgIGUuZXhwb3J0cyA9IHsKICAgICAgICAgICAgICAgIHJnYjJoc2w6IGEsCiAgICAgICAgICAgICAgICByZ2IyaHN2OiBuLAogICAgICAgICAgICAgICAgcmdiMmh3YjogbywKICAgICAgICAgICAgICAgIHJnYjJjbXlrOiBzLAogICAgICAgICAgICAgICAgcmdiMmtleXdvcmQ6IGwsCiAgICAgICAgICAgICAgICByZ2IyeHl6OiB1LAogICAgICAgICAgICAgICAgcmdiMmxhYjogZCwKICAgICAgICAgICAgICAgIHJnYjJsY2g6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4geChkKHQpKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGhzbDJyZ2I6IGgsCiAgICAgICAgICAgICAgICBoc2wyaHN2OiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0WzBdLAogICAgICAgICAgICAgICAgICAgICAgICBpID0gdFsxXSAvIDEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgbiA9IHRbMl0gLyAxMDA7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDAgPT09IG4gPyBbMCwgMCwgMF0gOiBbZSwgMTAwICogKDIgKiAoaSAqPSAobiAqPSAyKSA8PSAxID8gbiA6IDIgLSBuKSAvIChuICsgaSkpLCAxMDAgKiAoKG4gKyBpKSAvIDIpXQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGhzbDJod2I6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbyhoKHQpKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGhzbDJjbXlrOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHMoaCh0KSkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBoc2wya2V5d29yZDogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBsKGgodCkpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgaHN2MnJnYjogYywKICAgICAgICAgICAgICAgIGhzdjJoc2w6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSwgaSwgbiA9IHRbMF0sCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSB0WzFdIC8gMTAwLAogICAgICAgICAgICAgICAgICAgICAgICByID0gdFsyXSAvIDEwMDsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZSA9IGEgKiByLCBbbiwgMTAwICogKGUgPSAoZSAvPSAoaSA9ICgyIC0gYSkgKiByKSA8PSAxID8gaSA6IDIgLSBpKSB8fCAwKSwgMTAwICogKGkgLz0gMildCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgaHN2Mmh3YjogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBvKGModCkpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgaHN2MmNteWs6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gcyhjKHQpKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGhzdjJrZXl3b3JkOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGwoYyh0KSkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBod2IycmdiOiBmLAogICAgICAgICAgICAgICAgaHdiMmhzbDogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBhKGYodCkpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgaHdiMmhzdjogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBuKGYodCkpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgaHdiMmNteWs6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gcyhmKHQpKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGh3YjJrZXl3b3JkOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGwoZih0KSkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjbXlrMnJnYjogbSwKICAgICAgICAgICAgICAgIGNteWsyaHNsOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEobSh0KSkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjbXlrMmhzdjogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBuKG0odCkpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY215azJod2I6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbyhtKHQpKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNteWsya2V5d29yZDogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBsKG0odCkpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAga2V5d29yZDJyZ2I6IHcsCiAgICAgICAgICAgICAgICBrZXl3b3JkMmhzbDogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBhKHcodCkpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAga2V5d29yZDJoc3Y6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbih3KHQpKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGtleXdvcmQyaHdiOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG8odyh0KSkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBrZXl3b3JkMmNteWs6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gcyh3KHQpKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGtleXdvcmQybGFiOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGQodyh0KSkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBrZXl3b3JkMnh5ejogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB1KHcodCkpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgeHl6MnJnYjogcCwKICAgICAgICAgICAgICAgIHh5ejJsYWI6IHYsCiAgICAgICAgICAgICAgICB4eXoybGNoOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHgodih0KSkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBsYWIyeHl6OiB5LAogICAgICAgICAgICAgICAgbGFiMnJnYjogXywKICAgICAgICAgICAgICAgIGxhYjJsY2g6IHgsCiAgICAgICAgICAgICAgICBsY2gybGFiOiBrLAogICAgICAgICAgICAgICAgbGNoMnh5ejogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB5KGsodCkpCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgbGNoMnJnYjogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBfKGsodCkpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHZhciBNID0gewogICAgICAgICAgICAgICAgICAgIGFsaWNlYmx1ZTogWzI0MCwgMjQ4LCAyNTVdLAogICAgICAgICAgICAgICAgICAgIGFudGlxdWV3aGl0ZTogWzI1MCwgMjM1LCAyMTVdLAogICAgICAgICAgICAgICAgICAgIGFxdWE6IFswLCAyNTUsIDI1NV0sCiAgICAgICAgICAgICAgICAgICAgYXF1YW1hcmluZTogWzEyNywgMjU1LCAyMTJdLAogICAgICAgICAgICAgICAgICAgIGF6dXJlOiBbMjQwLCAyNTUsIDI1NV0sCiAgICAgICAgICAgICAgICAgICAgYmVpZ2U6IFsyNDUsIDI0NSwgMjIwXSwKICAgICAgICAgICAgICAgICAgICBiaXNxdWU6IFsyNTUsIDIyOCwgMTk2XSwKICAgICAgICAgICAgICAgICAgICBibGFjazogWzAsIDAsIDBdLAogICAgICAgICAgICAgICAgICAgIGJsYW5jaGVkYWxtb25kOiBbMjU1LCAyMzUsIDIwNV0sCiAgICAgICAgICAgICAgICAgICAgYmx1ZTogWzAsIDAsIDI1NV0sCiAgICAgICAgICAgICAgICAgICAgYmx1ZXZpb2xldDogWzEzOCwgNDMsIDIyNl0sCiAgICAgICAgICAgICAgICAgICAgYnJvd246IFsxNjUsIDQyLCA0Ml0sCiAgICAgICAgICAgICAgICAgICAgYnVybHl3b29kOiBbMjIyLCAxODQsIDEzNV0sCiAgICAgICAgICAgICAgICAgICAgY2FkZXRibHVlOiBbOTUsIDE1OCwgMTYwXSwKICAgICAgICAgICAgICAgICAgICBjaGFydHJldXNlOiBbMTI3LCAyNTUsIDBdLAogICAgICAgICAgICAgICAgICAgIGNob2NvbGF0ZTogWzIxMCwgMTA1LCAzMF0sCiAgICAgICAgICAgICAgICAgICAgY29yYWw6IFsyNTUsIDEyNywgODBdLAogICAgICAgICAgICAgICAgICAgIGNvcm5mbG93ZXJibHVlOiBbMTAwLCAxNDksIDIzN10sCiAgICAgICAgICAgICAgICAgICAgY29ybnNpbGs6IFsyNTUsIDI0OCwgMjIwXSwKICAgICAgICAgICAgICAgICAgICBjcmltc29uOiBbMjIwLCAyMCwgNjBdLAogICAgICAgICAgICAgICAgICAgIGN5YW46IFswLCAyNTUsIDI1NV0sCiAgICAgICAgICAgICAgICAgICAgZGFya2JsdWU6IFswLCAwLCAxMzldLAogICAgICAgICAgICAgICAgICAgIGRhcmtjeWFuOiBbMCwgMTM5LCAxMzldLAogICAgICAgICAgICAgICAgICAgIGRhcmtnb2xkZW5yb2Q6IFsxODQsIDEzNCwgMTFdLAogICAgICAgICAgICAgICAgICAgIGRhcmtncmF5OiBbMTY5LCAxNjksIDE2OV0sCiAgICAgICAgICAgICAgICAgICAgZGFya2dyZWVuOiBbMCwgMTAwLCAwXSwKICAgICAgICAgICAgICAgICAgICBkYXJrZ3JleTogWzE2OSwgMTY5LCAxNjldLAogICAgICAgICAgICAgICAgICAgIGRhcmtraGFraTogWzE4OSwgMTgzLCAxMDddLAogICAgICAgICAgICAgICAgICAgIGRhcmttYWdlbnRhOiBbMTM5LCAwLCAxMzldLAogICAgICAgICAgICAgICAgICAgIGRhcmtvbGl2ZWdyZWVuOiBbODUsIDEwNywgNDddLAogICAgICAgICAgICAgICAgICAgIGRhcmtvcmFuZ2U6IFsyNTUsIDE0MCwgMF0sCiAgICAgICAgICAgICAgICAgICAgZGFya29yY2hpZDogWzE1MywgNTAsIDIwNF0sCiAgICAgICAgICAgICAgICAgICAgZGFya3JlZDogWzEzOSwgMCwgMF0sCiAgICAgICAgICAgICAgICAgICAgZGFya3NhbG1vbjogWzIzMywgMTUwLCAxMjJdLAogICAgICAgICAgICAgICAgICAgIGRhcmtzZWFncmVlbjogWzE0MywgMTg4LCAxNDNdLAogICAgICAgICAgICAgICAgICAgIGRhcmtzbGF0ZWJsdWU6IFs3MiwgNjEsIDEzOV0sCiAgICAgICAgICAgICAgICAgICAgZGFya3NsYXRlZ3JheTogWzQ3LCA3OSwgNzldLAogICAgICAgICAgICAgICAgICAgIGRhcmtzbGF0ZWdyZXk6IFs0NywgNzksIDc5XSwKICAgICAgICAgICAgICAgICAgICBkYXJrdHVycXVvaXNlOiBbMCwgMjA2LCAyMDldLAogICAgICAgICAgICAgICAgICAgIGRhcmt2aW9sZXQ6IFsxNDgsIDAsIDIxMV0sCiAgICAgICAgICAgICAgICAgICAgZGVlcHBpbms6IFsyNTUsIDIwLCAxNDddLAogICAgICAgICAgICAgICAgICAgIGRlZXBza3libHVlOiBbMCwgMTkxLCAyNTVdLAogICAgICAgICAgICAgICAgICAgIGRpbWdyYXk6IFsxMDUsIDEwNSwgMTA1XSwKICAgICAgICAgICAgICAgICAgICBkaW1ncmV5OiBbMTA1LCAxMDUsIDEwNV0sCiAgICAgICAgICAgICAgICAgICAgZG9kZ2VyYmx1ZTogWzMwLCAxNDQsIDI1NV0sCiAgICAgICAgICAgICAgICAgICAgZmlyZWJyaWNrOiBbMTc4LCAzNCwgMzRdLAogICAgICAgICAgICAgICAgICAgIGZsb3JhbHdoaXRlOiBbMjU1LCAyNTAsIDI0MF0sCiAgICAgICAgICAgICAgICAgICAgZm9yZXN0Z3JlZW46IFszNCwgMTM5LCAzNF0sCiAgICAgICAgICAgICAgICAgICAgZnVjaHNpYTogWzI1NSwgMCwgMjU1XSwKICAgICAgICAgICAgICAgICAgICBnYWluc2Jvcm86IFsyMjAsIDIyMCwgMjIwXSwKICAgICAgICAgICAgICAgICAgICBnaG9zdHdoaXRlOiBbMjQ4LCAyNDgsIDI1NV0sCiAgICAgICAgICAgICAgICAgICAgZ29sZDogWzI1NSwgMjE1LCAwXSwKICAgICAgICAgICAgICAgICAgICBnb2xkZW5yb2Q6IFsyMTgsIDE2NSwgMzJdLAogICAgICAgICAgICAgICAgICAgIGdyYXk6IFsxMjgsIDEyOCwgMTI4XSwKICAgICAgICAgICAgICAgICAgICBncmVlbjogWzAsIDEyOCwgMF0sCiAgICAgICAgICAgICAgICAgICAgZ3JlZW55ZWxsb3c6IFsxNzMsIDI1NSwgNDddLAogICAgICAgICAgICAgICAgICAgIGdyZXk6IFsxMjgsIDEyOCwgMTI4XSwKICAgICAgICAgICAgICAgICAgICBob25leWRldzogWzI0MCwgMjU1LCAyNDBdLAogICAgICAgICAgICAgICAgICAgIGhvdHBpbms6IFsyNTUsIDEwNSwgMTgwXSwKICAgICAgICAgICAgICAgICAgICBpbmRpYW5yZWQ6IFsyMDUsIDkyLCA5Ml0sCiAgICAgICAgICAgICAgICAgICAgaW5kaWdvOiBbNzUsIDAsIDEzMF0sCiAgICAgICAgICAgICAgICAgICAgaXZvcnk6IFsyNTUsIDI1NSwgMjQwXSwKICAgICAgICAgICAgICAgICAgICBraGFraTogWzI0MCwgMjMwLCAxNDBdLAogICAgICAgICAgICAgICAgICAgIGxhdmVuZGVyOiBbMjMwLCAyMzAsIDI1MF0sCiAgICAgICAgICAgICAgICAgICAgbGF2ZW5kZXJibHVzaDogWzI1NSwgMjQwLCAyNDVdLAogICAgICAgICAgICAgICAgICAgIGxhd25ncmVlbjogWzEyNCwgMjUyLCAwXSwKICAgICAgICAgICAgICAgICAgICBsZW1vbmNoaWZmb246IFsyNTUsIDI1MCwgMjA1XSwKICAgICAgICAgICAgICAgICAgICBsaWdodGJsdWU6IFsxNzMsIDIxNiwgMjMwXSwKICAgICAgICAgICAgICAgICAgICBsaWdodGNvcmFsOiBbMjQwLCAxMjgsIDEyOF0sCiAgICAgICAgICAgICAgICAgICAgbGlnaHRjeWFuOiBbMjI0LCAyNTUsIDI1NV0sCiAgICAgICAgICAgICAgICAgICAgbGlnaHRnb2xkZW5yb2R5ZWxsb3c6IFsyNTAsIDI1MCwgMjEwXSwKICAgICAgICAgICAgICAgICAgICBsaWdodGdyYXk6IFsyMTEsIDIxMSwgMjExXSwKICAgICAgICAgICAgICAgICAgICBsaWdodGdyZWVuOiBbMTQ0LCAyMzgsIDE0NF0sCiAgICAgICAgICAgICAgICAgICAgbGlnaHRncmV5OiBbMjExLCAyMTEsIDIxMV0sCiAgICAgICAgICAgICAgICAgICAgbGlnaHRwaW5rOiBbMjU1LCAxODIsIDE5M10sCiAgICAgICAgICAgICAgICAgICAgbGlnaHRzYWxtb246IFsyNTUsIDE2MCwgMTIyXSwKICAgICAgICAgICAgICAgICAgICBsaWdodHNlYWdyZWVuOiBbMzIsIDE3OCwgMTcwXSwKICAgICAgICAgICAgICAgICAgICBsaWdodHNreWJsdWU6IFsxMzUsIDIwNiwgMjUwXSwKICAgICAgICAgICAgICAgICAgICBsaWdodHNsYXRlZ3JheTogWzExOSwgMTM2LCAxNTNdLAogICAgICAgICAgICAgICAgICAgIGxpZ2h0c2xhdGVncmV5OiBbMTE5LCAxMzYsIDE1M10sCiAgICAgICAgICAgICAgICAgICAgbGlnaHRzdGVlbGJsdWU6IFsxNzYsIDE5NiwgMjIyXSwKICAgICAgICAgICAgICAgICAgICBsaWdodHllbGxvdzogWzI1NSwgMjU1LCAyMjRdLAogICAgICAgICAgICAgICAgICAgIGxpbWU6IFswLCAyNTUsIDBdLAogICAgICAgICAgICAgICAgICAgIGxpbWVncmVlbjogWzUwLCAyMDUsIDUwXSwKICAgICAgICAgICAgICAgICAgICBsaW5lbjogWzI1MCwgMjQwLCAyMzBdLAogICAgICAgICAgICAgICAgICAgIG1hZ2VudGE6IFsyNTUsIDAsIDI1NV0sCiAgICAgICAgICAgICAgICAgICAgbWFyb29uOiBbMTI4LCAwLCAwXSwKICAgICAgICAgICAgICAgICAgICBtZWRpdW1hcXVhbWFyaW5lOiBbMTAyLCAyMDUsIDE3MF0sCiAgICAgICAgICAgICAgICAgICAgbWVkaXVtYmx1ZTogWzAsIDAsIDIwNV0sCiAgICAgICAgICAgICAgICAgICAgbWVkaXVtb3JjaGlkOiBbMTg2LCA4NSwgMjExXSwKICAgICAgICAgICAgICAgICAgICBtZWRpdW1wdXJwbGU6IFsxNDcsIDExMiwgMjE5XSwKICAgICAgICAgICAgICAgICAgICBtZWRpdW1zZWFncmVlbjogWzYwLCAxNzksIDExM10sCiAgICAgICAgICAgICAgICAgICAgbWVkaXVtc2xhdGVibHVlOiBbMTIzLCAxMDQsIDIzOF0sCiAgICAgICAgICAgICAgICAgICAgbWVkaXVtc3ByaW5nZ3JlZW46IFswLCAyNTAsIDE1NF0sCiAgICAgICAgICAgICAgICAgICAgbWVkaXVtdHVycXVvaXNlOiBbNzIsIDIwOSwgMjA0XSwKICAgICAgICAgICAgICAgICAgICBtZWRpdW12aW9sZXRyZWQ6IFsxOTksIDIxLCAxMzNdLAogICAgICAgICAgICAgICAgICAgIG1pZG5pZ2h0Ymx1ZTogWzI1LCAyNSwgMTEyXSwKICAgICAgICAgICAgICAgICAgICBtaW50Y3JlYW06IFsyNDUsIDI1NSwgMjUwXSwKICAgICAgICAgICAgICAgICAgICBtaXN0eXJvc2U6IFsyNTUsIDIyOCwgMjI1XSwKICAgICAgICAgICAgICAgICAgICBtb2NjYXNpbjogWzI1NSwgMjI4LCAxODFdLAogICAgICAgICAgICAgICAgICAgIG5hdmFqb3doaXRlOiBbMjU1LCAyMjIsIDE3M10sCiAgICAgICAgICAgICAgICAgICAgbmF2eTogWzAsIDAsIDEyOF0sCiAgICAgICAgICAgICAgICAgICAgb2xkbGFjZTogWzI1MywgMjQ1LCAyMzBdLAogICAgICAgICAgICAgICAgICAgIG9saXZlOiBbMTI4LCAxMjgsIDBdLAogICAgICAgICAgICAgICAgICAgIG9saXZlZHJhYjogWzEwNywgMTQyLCAzNV0sCiAgICAgICAgICAgICAgICAgICAgb3JhbmdlOiBbMjU1LCAxNjUsIDBdLAogICAgICAgICAgICAgICAgICAgIG9yYW5nZXJlZDogWzI1NSwgNjksIDBdLAogICAgICAgICAgICAgICAgICAgIG9yY2hpZDogWzIxOCwgMTEyLCAyMTRdLAogICAgICAgICAgICAgICAgICAgIHBhbGVnb2xkZW5yb2Q6IFsyMzgsIDIzMiwgMTcwXSwKICAgICAgICAgICAgICAgICAgICBwYWxlZ3JlZW46IFsxNTIsIDI1MSwgMTUyXSwKICAgICAgICAgICAgICAgICAgICBwYWxldHVycXVvaXNlOiBbMTc1LCAyMzgsIDIzOF0sCiAgICAgICAgICAgICAgICAgICAgcGFsZXZpb2xldHJlZDogWzIxOSwgMTEyLCAxNDddLAogICAgICAgICAgICAgICAgICAgIHBhcGF5YXdoaXA6IFsyNTUsIDIzOSwgMjEzXSwKICAgICAgICAgICAgICAgICAgICBwZWFjaHB1ZmY6IFsyNTUsIDIxOCwgMTg1XSwKICAgICAgICAgICAgICAgICAgICBwZXJ1OiBbMjA1LCAxMzMsIDYzXSwKICAgICAgICAgICAgICAgICAgICBwaW5rOiBbMjU1LCAxOTIsIDIwM10sCiAgICAgICAgICAgICAgICAgICAgcGx1bTogWzIyMSwgMTYwLCAyMjFdLAogICAgICAgICAgICAgICAgICAgIHBvd2RlcmJsdWU6IFsxNzYsIDIyNCwgMjMwXSwKICAgICAgICAgICAgICAgICAgICBwdXJwbGU6IFsxMjgsIDAsIDEyOF0sCiAgICAgICAgICAgICAgICAgICAgcmViZWNjYXB1cnBsZTogWzEwMiwgNTEsIDE1M10sCiAgICAgICAgICAgICAgICAgICAgcmVkOiBbMjU1LCAwLCAwXSwKICAgICAgICAgICAgICAgICAgICByb3N5YnJvd246IFsxODgsIDE0MywgMTQzXSwKICAgICAgICAgICAgICAgICAgICByb3lhbGJsdWU6IFs2NSwgMTA1LCAyMjVdLAogICAgICAgICAgICAgICAgICAgIHNhZGRsZWJyb3duOiBbMTM5LCA2OSwgMTldLAogICAgICAgICAgICAgICAgICAgIHNhbG1vbjogWzI1MCwgMTI4LCAxMTRdLAogICAgICAgICAgICAgICAgICAgIHNhbmR5YnJvd246IFsyNDQsIDE2NCwgOTZdLAogICAgICAgICAgICAgICAgICAgIHNlYWdyZWVuOiBbNDYsIDEzOSwgODddLAogICAgICAgICAgICAgICAgICAgIHNlYXNoZWxsOiBbMjU1LCAyNDUsIDIzOF0sCiAgICAgICAgICAgICAgICAgICAgc2llbm5hOiBbMTYwLCA4MiwgNDVdLAogICAgICAgICAgICAgICAgICAgIHNpbHZlcjogWzE5MiwgMTkyLCAxOTJdLAogICAgICAgICAgICAgICAgICAgIHNreWJsdWU6IFsxMzUsIDIwNiwgMjM1XSwKICAgICAgICAgICAgICAgICAgICBzbGF0ZWJsdWU6IFsxMDYsIDkwLCAyMDVdLAogICAgICAgICAgICAgICAgICAgIHNsYXRlZ3JheTogWzExMiwgMTI4LCAxNDRdLAogICAgICAgICAgICAgICAgICAgIHNsYXRlZ3JleTogWzExMiwgMTI4LCAxNDRdLAogICAgICAgICAgICAgICAgICAgIHNub3c6IFsyNTUsIDI1MCwgMjUwXSwKICAgICAgICAgICAgICAgICAgICBzcHJpbmdncmVlbjogWzAsIDI1NSwgMTI3XSwKICAgICAgICAgICAgICAgICAgICBzdGVlbGJsdWU6IFs3MCwgMTMwLCAxODBdLAogICAgICAgICAgICAgICAgICAgIHRhbjogWzIxMCwgMTgwLCAxNDBdLAogICAgICAgICAgICAgICAgICAgIHRlYWw6IFswLCAxMjgsIDEyOF0sCiAgICAgICAgICAgICAgICAgICAgdGhpc3RsZTogWzIxNiwgMTkxLCAyMTZdLAogICAgICAgICAgICAgICAgICAgIHRvbWF0bzogWzI1NSwgOTksIDcxXSwKICAgICAgICAgICAgICAgICAgICB0dXJxdW9pc2U6IFs2NCwgMjI0LCAyMDhdLAogICAgICAgICAgICAgICAgICAgIHZpb2xldDogWzIzOCwgMTMwLCAyMzhdLAogICAgICAgICAgICAgICAgICAgIHdoZWF0OiBbMjQ1LCAyMjIsIDE3OV0sCiAgICAgICAgICAgICAgICAgICAgd2hpdGU6IFsyNTUsIDI1NSwgMjU1XSwKICAgICAgICAgICAgICAgICAgICB3aGl0ZXNtb2tlOiBbMjQ1LCAyNDUsIDI0NV0sCiAgICAgICAgICAgICAgICAgICAgeWVsbG93OiBbMjU1LCAyNTUsIDBdLAogICAgICAgICAgICAgICAgICAgIHllbGxvd2dyZWVuOiBbMTU0LCAyMDUsIDUwXQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFMgPSB7fTsKICAgICAgICAgICAgZm9yICh2YXIgRCBpbiBNKSBTW0pTT04uc3RyaW5naWZ5KE1bRF0pXSA9IEQKICAgICAgICB9LCB7fV0sCiAgICAgICAgNDogW2Z1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgdmFyIGEgPSB0KDMpLAogICAgICAgICAgICAgICAgciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgdQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgZm9yICh2YXIgbiBpbiBhKSB7CiAgICAgICAgICAgICAgICByW24gKyAiUmF3Il0gPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJudW1iZXIiID09IHR5cGVvZiB0ICYmICh0ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSksIGFbZV0odCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KG4pOwogICAgICAgICAgICAgICAgdmFyIG8gPSAvKFx3KykyKFx3KykvLmV4ZWMobiksCiAgICAgICAgICAgICAgICAgICAgcyA9IG9bMV0sCiAgICAgICAgICAgICAgICAgICAgbCA9IG9bMl07CiAgICAgICAgICAgICAgICAocltzXSA9IHJbc10gfHwge30pW2xdID0gcltuXSA9IGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICAibnVtYmVyIiA9PSB0eXBlb2YgdCAmJiAodCA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGFbbl0odCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgic3RyaW5nIiA9PSB0eXBlb2YgZSB8fCB2b2lkIDAgPT09IGUpIHJldHVybiBlOwogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGUubGVuZ3RoOyBpKyspIGVbaV0gPSBNYXRoLnJvdW5kKGVbaV0pOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0obikKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgdSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdGhpcy5jb252cyA9IHt9CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHUucHJvdG90eXBlLnJvdXRlU3BhY2UgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICB2YXIgaSA9IGVbMF07CiAgICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwID09PSBpID8gdGhpcy5nZXRWYWx1ZXModCkgOiAoIm51bWJlciIgPT0gdHlwZW9mIGkgJiYgKGkgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlKSksIHRoaXMuc2V0VmFsdWVzKHQsIGkpKQogICAgICAgICAgICB9LCB1LnByb3RvdHlwZS5zZXRWYWx1ZXMgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zcGFjZSA9IHQsIHRoaXMuY29udnMgPSB7fSwgdGhpcy5jb252c1t0XSA9IGUsIHRoaXMKICAgICAgICAgICAgfSwgdS5wcm90b3R5cGUuZ2V0VmFsdWVzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmNvbnZzW3RdOwogICAgICAgICAgICAgICAgaWYgKCFlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSB0aGlzLnNwYWNlLAogICAgICAgICAgICAgICAgICAgICAgICBuID0gdGhpcy5jb252c1tpXTsKICAgICAgICAgICAgICAgICAgICBlID0gcltpXVt0XShuKSwgdGhpcy5jb252c1t0XSA9IGUKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiBlCiAgICAgICAgICAgIH0sIFsicmdiIiwgImhzbCIsICJoc3YiLCAiY215ayIsICJrZXl3b3JkIl0uZm9yRWFjaChmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICB1LnByb3RvdHlwZVtlXSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZVNwYWNlKGUsIGFyZ3VtZW50cykKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSksIGUuZXhwb3J0cyA9IHIKICAgICAgICB9LCB7CiAgICAgICAgICAgIDM6IDMKICAgICAgICB9XSwKICAgICAgICA1OiBbZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAidXNlIHN0cmljdCI7CiAgICAgICAgICAgIGUuZXhwb3J0cyA9IHsKICAgICAgICAgICAgICAgIGFsaWNlYmx1ZTogWzI0MCwgMjQ4LCAyNTVdLAogICAgICAgICAgICAgICAgYW50aXF1ZXdoaXRlOiBbMjUwLCAyMzUsIDIxNV0sCiAgICAgICAgICAgICAgICBhcXVhOiBbMCwgMjU1LCAyNTVdLAogICAgICAgICAgICAgICAgYXF1YW1hcmluZTogWzEyNywgMjU1LCAyMTJdLAogICAgICAgICAgICAgICAgYXp1cmU6IFsyNDAsIDI1NSwgMjU1XSwKICAgICAgICAgICAgICAgIGJlaWdlOiBbMjQ1LCAyNDUsIDIyMF0sCiAgICAgICAgICAgICAgICBiaXNxdWU6IFsyNTUsIDIyOCwgMTk2XSwKICAgICAgICAgICAgICAgIGJsYWNrOiBbMCwgMCwgMF0sCiAgICAgICAgICAgICAgICBibGFuY2hlZGFsbW9uZDogWzI1NSwgMjM1LCAyMDVdLAogICAgICAgICAgICAgICAgYmx1ZTogWzAsIDAsIDI1NV0sCiAgICAgICAgICAgICAgICBibHVldmlvbGV0OiBbMTM4LCA0MywgMjI2XSwKICAgICAgICAgICAgICAgIGJyb3duOiBbMTY1LCA0MiwgNDJdLAogICAgICAgICAgICAgICAgYnVybHl3b29kOiBbMjIyLCAxODQsIDEzNV0sCiAgICAgICAgICAgICAgICBjYWRldGJsdWU6IFs5NSwgMTU4LCAxNjBdLAogICAgICAgICAgICAgICAgY2hhcnRyZXVzZTogWzEyNywgMjU1LCAwXSwKICAgICAgICAgICAgICAgIGNob2NvbGF0ZTogWzIxMCwgMTA1LCAzMF0sCiAgICAgICAgICAgICAgICBjb3JhbDogWzI1NSwgMTI3LCA4MF0sCiAgICAgICAgICAgICAgICBjb3JuZmxvd2VyYmx1ZTogWzEwMCwgMTQ5LCAyMzddLAogICAgICAgICAgICAgICAgY29ybnNpbGs6IFsyNTUsIDI0OCwgMjIwXSwKICAgICAgICAgICAgICAgIGNyaW1zb246IFsyMjAsIDIwLCA2MF0sCiAgICAgICAgICAgICAgICBjeWFuOiBbMCwgMjU1LCAyNTVdLAogICAgICAgICAgICAgICAgZGFya2JsdWU6IFswLCAwLCAxMzldLAogICAgICAgICAgICAgICAgZGFya2N5YW46IFswLCAxMzksIDEzOV0sCiAgICAgICAgICAgICAgICBkYXJrZ29sZGVucm9kOiBbMTg0LCAxMzQsIDExXSwKICAgICAgICAgICAgICAgIGRhcmtncmF5OiBbMTY5LCAxNjksIDE2OV0sCiAgICAgICAgICAgICAgICBkYXJrZ3JlZW46IFswLCAxMDAsIDBdLAogICAgICAgICAgICAgICAgZGFya2dyZXk6IFsxNjksIDE2OSwgMTY5XSwKICAgICAgICAgICAgICAgIGRhcmtraGFraTogWzE4OSwgMTgzLCAxMDddLAogICAgICAgICAgICAgICAgZGFya21hZ2VudGE6IFsxMzksIDAsIDEzOV0sCiAgICAgICAgICAgICAgICBkYXJrb2xpdmVncmVlbjogWzg1LCAxMDcsIDQ3XSwKICAgICAgICAgICAgICAgIGRhcmtvcmFuZ2U6IFsyNTUsIDE0MCwgMF0sCiAgICAgICAgICAgICAgICBkYXJrb3JjaGlkOiBbMTUzLCA1MCwgMjA0XSwKICAgICAgICAgICAgICAgIGRhcmtyZWQ6IFsxMzksIDAsIDBdLAogICAgICAgICAgICAgICAgZGFya3NhbG1vbjogWzIzMywgMTUwLCAxMjJdLAogICAgICAgICAgICAgICAgZGFya3NlYWdyZWVuOiBbMTQzLCAxODgsIDE0M10sCiAgICAgICAgICAgICAgICBkYXJrc2xhdGVibHVlOiBbNzIsIDYxLCAxMzldLAogICAgICAgICAgICAgICAgZGFya3NsYXRlZ3JheTogWzQ3LCA3OSwgNzldLAogICAgICAgICAgICAgICAgZGFya3NsYXRlZ3JleTogWzQ3LCA3OSwgNzldLAogICAgICAgICAgICAgICAgZGFya3R1cnF1b2lzZTogWzAsIDIwNiwgMjA5XSwKICAgICAgICAgICAgICAgIGRhcmt2aW9sZXQ6IFsxNDgsIDAsIDIxMV0sCiAgICAgICAgICAgICAgICBkZWVwcGluazogWzI1NSwgMjAsIDE0N10sCiAgICAgICAgICAgICAgICBkZWVwc2t5Ymx1ZTogWzAsIDE5MSwgMjU1XSwKICAgICAgICAgICAgICAgIGRpbWdyYXk6IFsxMDUsIDEwNSwgMTA1XSwKICAgICAgICAgICAgICAgIGRpbWdyZXk6IFsxMDUsIDEwNSwgMTA1XSwKICAgICAgICAgICAgICAgIGRvZGdlcmJsdWU6IFszMCwgMTQ0LCAyNTVdLAogICAgICAgICAgICAgICAgZmlyZWJyaWNrOiBbMTc4LCAzNCwgMzRdLAogICAgICAgICAgICAgICAgZmxvcmFsd2hpdGU6IFsyNTUsIDI1MCwgMjQwXSwKICAgICAgICAgICAgICAgIGZvcmVzdGdyZWVuOiBbMzQsIDEzOSwgMzRdLAogICAgICAgICAgICAgICAgZnVjaHNpYTogWzI1NSwgMCwgMjU1XSwKICAgICAgICAgICAgICAgIGdhaW5zYm9ybzogWzIyMCwgMjIwLCAyMjBdLAogICAgICAgICAgICAgICAgZ2hvc3R3aGl0ZTogWzI0OCwgMjQ4LCAyNTVdLAogICAgICAgICAgICAgICAgZ29sZDogWzI1NSwgMjE1LCAwXSwKICAgICAgICAgICAgICAgIGdvbGRlbnJvZDogWzIxOCwgMTY1LCAzMl0sCiAgICAgICAgICAgICAgICBncmF5OiBbMTI4LCAxMjgsIDEyOF0sCiAgICAgICAgICAgICAgICBncmVlbjogWzAsIDEyOCwgMF0sCiAgICAgICAgICAgICAgICBncmVlbnllbGxvdzogWzE3MywgMjU1LCA0N10sCiAgICAgICAgICAgICAgICBncmV5OiBbMTI4LCAxMjgsIDEyOF0sCiAgICAgICAgICAgICAgICBob25leWRldzogWzI0MCwgMjU1LCAyNDBdLAogICAgICAgICAgICAgICAgaG90cGluazogWzI1NSwgMTA1LCAxODBdLAogICAgICAgICAgICAgICAgaW5kaWFucmVkOiBbMjA1LCA5MiwgOTJdLAogICAgICAgICAgICAgICAgaW5kaWdvOiBbNzUsIDAsIDEzMF0sCiAgICAgICAgICAgICAgICBpdm9yeTogWzI1NSwgMjU1LCAyNDBdLAogICAgICAgICAgICAgICAga2hha2k6IFsyNDAsIDIzMCwgMTQwXSwKICAgICAgICAgICAgICAgIGxhdmVuZGVyOiBbMjMwLCAyMzAsIDI1MF0sCiAgICAgICAgICAgICAgICBsYXZlbmRlcmJsdXNoOiBbMjU1LCAyNDAsIDI0NV0sCiAgICAgICAgICAgICAgICBsYXduZ3JlZW46IFsxMjQsIDI1MiwgMF0sCiAgICAgICAgICAgICAgICBsZW1vbmNoaWZmb246IFsyNTUsIDI1MCwgMjA1XSwKICAgICAgICAgICAgICAgIGxpZ2h0Ymx1ZTogWzE3MywgMjE2LCAyMzBdLAogICAgICAgICAgICAgICAgbGlnaHRjb3JhbDogWzI0MCwgMTI4LCAxMjhdLAogICAgICAgICAgICAgICAgbGlnaHRjeWFuOiBbMjI0LCAyNTUsIDI1NV0sCiAgICAgICAgICAgICAgICBsaWdodGdvbGRlbnJvZHllbGxvdzogWzI1MCwgMjUwLCAyMTBdLAogICAgICAgICAgICAgICAgbGlnaHRncmF5OiBbMjExLCAyMTEsIDIxMV0sCiAgICAgICAgICAgICAgICBsaWdodGdyZWVuOiBbMTQ0LCAyMzgsIDE0NF0sCiAgICAgICAgICAgICAgICBsaWdodGdyZXk6IFsyMTEsIDIxMSwgMjExXSwKICAgICAgICAgICAgICAgIGxpZ2h0cGluazogWzI1NSwgMTgyLCAxOTNdLAogICAgICAgICAgICAgICAgbGlnaHRzYWxtb246IFsyNTUsIDE2MCwgMTIyXSwKICAgICAgICAgICAgICAgIGxpZ2h0c2VhZ3JlZW46IFszMiwgMTc4LCAxNzBdLAogICAgICAgICAgICAgICAgbGlnaHRza3libHVlOiBbMTM1LCAyMDYsIDI1MF0sCiAgICAgICAgICAgICAgICBsaWdodHNsYXRlZ3JheTogWzExOSwgMTM2LCAxNTNdLAogICAgICAgICAgICAgICAgbGlnaHRzbGF0ZWdyZXk6IFsxMTksIDEzNiwgMTUzXSwKICAgICAgICAgICAgICAgIGxpZ2h0c3RlZWxibHVlOiBbMTc2LCAxOTYsIDIyMl0sCiAgICAgICAgICAgICAgICBsaWdodHllbGxvdzogWzI1NSwgMjU1LCAyMjRdLAogICAgICAgICAgICAgICAgbGltZTogWzAsIDI1NSwgMF0sCiAgICAgICAgICAgICAgICBsaW1lZ3JlZW46IFs1MCwgMjA1LCA1MF0sCiAgICAgICAgICAgICAgICBsaW5lbjogWzI1MCwgMjQwLCAyMzBdLAogICAgICAgICAgICAgICAgbWFnZW50YTogWzI1NSwgMCwgMjU1XSwKICAgICAgICAgICAgICAgIG1hcm9vbjogWzEyOCwgMCwgMF0sCiAgICAgICAgICAgICAgICBtZWRpdW1hcXVhbWFyaW5lOiBbMTAyLCAyMDUsIDE3MF0sCiAgICAgICAgICAgICAgICBtZWRpdW1ibHVlOiBbMCwgMCwgMjA1XSwKICAgICAgICAgICAgICAgIG1lZGl1bW9yY2hpZDogWzE4NiwgODUsIDIxMV0sCiAgICAgICAgICAgICAgICBtZWRpdW1wdXJwbGU6IFsxNDcsIDExMiwgMjE5XSwKICAgICAgICAgICAgICAgIG1lZGl1bXNlYWdyZWVuOiBbNjAsIDE3OSwgMTEzXSwKICAgICAgICAgICAgICAgIG1lZGl1bXNsYXRlYmx1ZTogWzEyMywgMTA0LCAyMzhdLAogICAgICAgICAgICAgICAgbWVkaXVtc3ByaW5nZ3JlZW46IFswLCAyNTAsIDE1NF0sCiAgICAgICAgICAgICAgICBtZWRpdW10dXJxdW9pc2U6IFs3MiwgMjA5LCAyMDRdLAogICAgICAgICAgICAgICAgbWVkaXVtdmlvbGV0cmVkOiBbMTk5LCAyMSwgMTMzXSwKICAgICAgICAgICAgICAgIG1pZG5pZ2h0Ymx1ZTogWzI1LCAyNSwgMTEyXSwKICAgICAgICAgICAgICAgIG1pbnRjcmVhbTogWzI0NSwgMjU1LCAyNTBdLAogICAgICAgICAgICAgICAgbWlzdHlyb3NlOiBbMjU1LCAyMjgsIDIyNV0sCiAgICAgICAgICAgICAgICBtb2NjYXNpbjogWzI1NSwgMjI4LCAxODFdLAogICAgICAgICAgICAgICAgbmF2YWpvd2hpdGU6IFsyNTUsIDIyMiwgMTczXSwKICAgICAgICAgICAgICAgIG5hdnk6IFswLCAwLCAxMjhdLAogICAgICAgICAgICAgICAgb2xkbGFjZTogWzI1MywgMjQ1LCAyMzBdLAogICAgICAgICAgICAgICAgb2xpdmU6IFsxMjgsIDEyOCwgMF0sCiAgICAgICAgICAgICAgICBvbGl2ZWRyYWI6IFsxMDcsIDE0MiwgMzVdLAogICAgICAgICAgICAgICAgb3JhbmdlOiBbMjU1LCAxNjUsIDBdLAogICAgICAgICAgICAgICAgb3JhbmdlcmVkOiBbMjU1LCA2OSwgMF0sCiAgICAgICAgICAgICAgICBvcmNoaWQ6IFsyMTgsIDExMiwgMjE0XSwKICAgICAgICAgICAgICAgIHBhbGVnb2xkZW5yb2Q6IFsyMzgsIDIzMiwgMTcwXSwKICAgICAgICAgICAgICAgIHBhbGVncmVlbjogWzE1MiwgMjUxLCAxNTJdLAogICAgICAgICAgICAgICAgcGFsZXR1cnF1b2lzZTogWzE3NSwgMjM4LCAyMzhdLAogICAgICAgICAgICAgICAgcGFsZXZpb2xldHJlZDogWzIxOSwgMTEyLCAxNDddLAogICAgICAgICAgICAgICAgcGFwYXlhd2hpcDogWzI1NSwgMjM5LCAyMTNdLAogICAgICAgICAgICAgICAgcGVhY2hwdWZmOiBbMjU1LCAyMTgsIDE4NV0sCiAgICAgICAgICAgICAgICBwZXJ1OiBbMjA1LCAxMzMsIDYzXSwKICAgICAgICAgICAgICAgIHBpbms6IFsyNTUsIDE5MiwgMjAzXSwKICAgICAgICAgICAgICAgIHBsdW06IFsyMjEsIDE2MCwgMjIxXSwKICAgICAgICAgICAgICAgIHBvd2RlcmJsdWU6IFsxNzYsIDIyNCwgMjMwXSwKICAgICAgICAgICAgICAgIHB1cnBsZTogWzEyOCwgMCwgMTI4XSwKICAgICAgICAgICAgICAgIHJlYmVjY2FwdXJwbGU6IFsxMDIsIDUxLCAxNTNdLAogICAgICAgICAgICAgICAgcmVkOiBbMjU1LCAwLCAwXSwKICAgICAgICAgICAgICAgIHJvc3licm93bjogWzE4OCwgMTQzLCAxNDNdLAogICAgICAgICAgICAgICAgcm95YWxibHVlOiBbNjUsIDEwNSwgMjI1XSwKICAgICAgICAgICAgICAgIHNhZGRsZWJyb3duOiBbMTM5LCA2OSwgMTldLAogICAgICAgICAgICAgICAgc2FsbW9uOiBbMjUwLCAxMjgsIDExNF0sCiAgICAgICAgICAgICAgICBzYW5keWJyb3duOiBbMjQ0LCAxNjQsIDk2XSwKICAgICAgICAgICAgICAgIHNlYWdyZWVuOiBbNDYsIDEzOSwgODddLAogICAgICAgICAgICAgICAgc2Vhc2hlbGw6IFsyNTUsIDI0NSwgMjM4XSwKICAgICAgICAgICAgICAgIHNpZW5uYTogWzE2MCwgODIsIDQ1XSwKICAgICAgICAgICAgICAgIHNpbHZlcjogWzE5MiwgMTkyLCAxOTJdLAogICAgICAgICAgICAgICAgc2t5Ymx1ZTogWzEzNSwgMjA2LCAyMzVdLAogICAgICAgICAgICAgICAgc2xhdGVibHVlOiBbMTA2LCA5MCwgMjA1XSwKICAgICAgICAgICAgICAgIHNsYXRlZ3JheTogWzExMiwgMTI4LCAxNDRdLAogICAgICAgICAgICAgICAgc2xhdGVncmV5OiBbMTEyLCAxMjgsIDE0NF0sCiAgICAgICAgICAgICAgICBzbm93OiBbMjU1LCAyNTAsIDI1MF0sCiAgICAgICAgICAgICAgICBzcHJpbmdncmVlbjogWzAsIDI1NSwgMTI3XSwKICAgICAgICAgICAgICAgIHN0ZWVsYmx1ZTogWzcwLCAxMzAsIDE4MF0sCiAgICAgICAgICAgICAgICB0YW46IFsyMTAsIDE4MCwgMTQwXSwKICAgICAgICAgICAgICAgIHRlYWw6IFswLCAxMjgsIDEyOF0sCiAgICAgICAgICAgICAgICB0aGlzdGxlOiBbMjE2LCAxOTEsIDIxNl0sCiAgICAgICAgICAgICAgICB0b21hdG86IFsyNTUsIDk5LCA3MV0sCiAgICAgICAgICAgICAgICB0dXJxdW9pc2U6IFs2NCwgMjI0LCAyMDhdLAogICAgICAgICAgICAgICAgdmlvbGV0OiBbMjM4LCAxMzAsIDIzOF0sCiAgICAgICAgICAgICAgICB3aGVhdDogWzI0NSwgMjIyLCAxNzldLAogICAgICAgICAgICAgICAgd2hpdGU6IFsyNTUsIDI1NSwgMjU1XSwKICAgICAgICAgICAgICAgIHdoaXRlc21va2U6IFsyNDUsIDI0NSwgMjQ1XSwKICAgICAgICAgICAgICAgIHllbGxvdzogWzI1NSwgMjU1LCAwXSwKICAgICAgICAgICAgICAgIHllbGxvd2dyZWVuOiBbMTU0LCAyMDUsIDUwXQogICAgICAgICAgICB9CiAgICAgICAgfSwge31dLAogICAgICAgIDY6IFtmdW5jdGlvbihZaSwgTmksIHQpIHsKICAgICAgICAgICAgdmFyIGUsIGk7CiAgICAgICAgICAgIGUgPSB0aGlzLCBpID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAidXNlIHN0cmljdCI7CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gcCgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gVXQuYXBwbHkobnVsbCwgYXJndW1lbnRzKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHModCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0IGluc3RhbmNlb2YgQXJyYXkgfHwgIltvYmplY3QgQXJyYXldIiA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gbCh0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgIT0gdCAmJiAiW29iamVjdCBPYmplY3RdIiA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gdSh0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gdAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGQodCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAibnVtYmVyIiA9PSB0eXBlb2YgdCB8fCAiW29iamVjdCBOdW1iZXJdIiA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gaCh0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgaW5zdGFuY2VvZiBEYXRlIHx8ICJbb2JqZWN0IERhdGVdIiA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gYyh0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGksIG4gPSBbXTsKICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdC5sZW5ndGg7ICsraSkgbi5wdXNoKGUodFtpXSwgaSkpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBuCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gdih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LCBlKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGYodCwgZSkgewogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZSkgdihlLCBpKSAmJiAodFtpXSA9IGVbaV0pOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB2KGUsICJ0b1N0cmluZyIpICYmICh0LnRvU3RyaW5nID0gZS50b1N0cmluZyksIHYoZSwgInZhbHVlT2YiKSAmJiAodC52YWx1ZU9mID0gZS52YWx1ZU9mKSwgdAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGcodCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBndCh0LCBlLCBpLCBuLCAhMCkudXRjKCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiB5KHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCA9PSB0Ll9wZiAmJiAodC5fcGYgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5OiAhMSwKICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkVG9rZW5zOiBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkSW5wdXQ6IFtdLAogICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogLTIsCiAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJzTGVmdE92ZXI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIG51bGxJbnB1dDogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIGludmFsaWRNb250aDogbnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZEZvcm1hdDogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJJbnZhbGlkYXRlZDogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIGlzbzogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlZERhdGVQYXJ0czogW10sCiAgICAgICAgICAgICAgICAgICAgICAgIG1lcmlkaWVtOiBudWxsLAogICAgICAgICAgICAgICAgICAgICAgICByZmMyODIyOiAhMSwKICAgICAgICAgICAgICAgICAgICAgICAgd2Vla2RheU1pc21hdGNoOiAhMQogICAgICAgICAgICAgICAgICAgIH0pLCB0Ll9wZgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG0odCkgewogICAgICAgICAgICAgICAgICAgIGlmIChudWxsID09IHQuX2lzVmFsaWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB5KHQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IHF0LmNhbGwoZS5wYXJzZWREYXRlUGFydHMsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCAhPSB0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG4gPSAhaXNOYU4odC5fZC5nZXRUaW1lKCkpICYmIGUub3ZlcmZsb3cgPCAwICYmICFlLmVtcHR5ICYmICFlLmludmFsaWRNb250aCAmJiAhZS5pbnZhbGlkV2Vla2RheSAmJiAhZS5udWxsSW5wdXQgJiYgIWUuaW52YWxpZEZvcm1hdCAmJiAhZS51c2VySW52YWxpZGF0ZWQgJiYgKCFlLm1lcmlkaWVtIHx8IGUubWVyaWRpZW0gJiYgaSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0Ll9zdHJpY3QgJiYgKG4gPSBuICYmIDAgPT09IGUuY2hhcnNMZWZ0T3ZlciAmJiAwID09PSBlLnVudXNlZFRva2Vucy5sZW5ndGggJiYgdm9pZCAwID09PSBlLmJpZ0hvdXIpLCBudWxsICE9IE9iamVjdC5pc0Zyb3plbiAmJiBPYmplY3QuaXNGcm96ZW4odCkpIHJldHVybiBuOwogICAgICAgICAgICAgICAgICAgICAgICB0Ll9pc1ZhbGlkID0gbgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdC5faXNWYWxpZAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGIodCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gZyhOYU4pOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsICE9IHQgPyBmKHkoZSksIHQpIDogeShlKS51c2VySW52YWxpZGF0ZWQgPSAhMCwgZQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHgodCwgZSkgewogICAgICAgICAgICAgICAgICAgIHZhciBpLCBuLCBhOwogICAgICAgICAgICAgICAgICAgIGlmICh1KGUuX2lzQU1vbWVudE9iamVjdCkgfHwgKHQuX2lzQU1vbWVudE9iamVjdCA9IGUuX2lzQU1vbWVudE9iamVjdCksIHUoZS5faSkgfHwgKHQuX2kgPSBlLl9pKSwgdShlLl9mKSB8fCAodC5fZiA9IGUuX2YpLCB1KGUuX2wpIHx8ICh0Ll9sID0gZS5fbCksIHUoZS5fc3RyaWN0KSB8fCAodC5fc3RyaWN0ID0gZS5fc3RyaWN0KSwgdShlLl90em0pIHx8ICh0Ll90em0gPSBlLl90em0pLCB1KGUuX2lzVVRDKSB8fCAodC5faXNVVEMgPSBlLl9pc1VUQyksIHUoZS5fb2Zmc2V0KSB8fCAodC5fb2Zmc2V0ID0gZS5fb2Zmc2V0KSwgdShlLl9wZikgfHwgKHQuX3BmID0geShlKSksIHUoZS5fbG9jYWxlKSB8fCAodC5fbG9jYWxlID0gZS5fbG9jYWxlKSwgMCA8IEd0Lmxlbmd0aCkKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IEd0Lmxlbmd0aDsgaSsrKSB1KGEgPSBlW24gPSBHdFtpXV0pIHx8ICh0W25dID0gYSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBfKHQpIHsKICAgICAgICAgICAgICAgICAgICB4KHRoaXMsIHQpLCB0aGlzLl9kID0gbmV3IERhdGUobnVsbCAhPSB0Ll9kID8gdC5fZC5nZXRUaW1lKCkgOiBOYU4pLCB0aGlzLmlzVmFsaWQoKSB8fCAodGhpcy5fZCA9IG5ldyBEYXRlKE5hTikpLCAhMSA9PT0gWnQgJiYgKFp0ID0gITAsIHAudXBkYXRlT2Zmc2V0KHRoaXMpLCBadCA9ICExKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGsodCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0IGluc3RhbmNlb2YgXyB8fCBudWxsICE9IHQgJiYgbnVsbCAhPSB0Ll9pc0FNb21lbnRPYmplY3QKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiB3KHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdCA8IDAgPyBNYXRoLmNlaWwodCkgfHwgMCA6IE1hdGguZmxvb3IodCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBNKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9ICt0LAogICAgICAgICAgICAgICAgICAgICAgICBpID0gMDsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMCAhPT0gZSAmJiBpc0Zpbml0ZShlKSAmJiAoaSA9IHcoZSkpLCBpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gbyh0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4sIGEgPSBNYXRoLm1pbih0Lmxlbmd0aCwgZS5sZW5ndGgpLAogICAgICAgICAgICAgICAgICAgICAgICByID0gTWF0aC5hYnModC5sZW5ndGggLSBlLmxlbmd0aCksCiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSAwOwogICAgICAgICAgICAgICAgICAgIGZvciAobiA9IDA7IG4gPCBhOyBuKyspKGkgJiYgdFtuXSAhPT0gZVtuXSB8fCAhaSAmJiBNKHRbbl0pICE9PSBNKGVbbl0pKSAmJiBvKys7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG8gKyByCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gUyh0KSB7CiAgICAgICAgICAgICAgICAgICAgITEgPT09IHAuc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmdzICYmICJ1bmRlZmluZWQiICE9IHR5cGVvZiBjb25zb2xlICYmIGNvbnNvbGUud2FybiAmJiBjb25zb2xlLndhcm4oIkRlcHJlY2F0aW9uIHdhcm5pbmc6ICIgKyB0KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHQoYSwgcikgewogICAgICAgICAgICAgICAgICAgIHZhciBvID0gITA7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGYoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChudWxsICE9IHAuZGVwcmVjYXRpb25IYW5kbGVyICYmIHAuZGVwcmVjYXRpb25IYW5kbGVyKG51bGwsIGEpLCBvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciB0LCBlID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHQgPSAiIiwgIm9iamVjdCIgPT0gdHlwZW9mIGFyZ3VtZW50c1tpXSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBuIGluIHQgKz0gIlxuWyIgKyBpICsgIl0gIiwgYXJndW1lbnRzWzBdKSB0ICs9IG4gKyAiOiAiICsgYXJndW1lbnRzWzBdW25dICsgIiwgIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9IHQuc2xpY2UoMCwgLTIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHQgPSBhcmd1bWVudHNbaV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wdXNoKHQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTKGEgKyAiXG5Bcmd1bWVudHM6ICIgKyBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlKS5qb2luKCIiKSArICJcbiIgKyAobmV3IEVycm9yKS5zdGFjayksIG8gPSAhMQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykKICAgICAgICAgICAgICAgICAgICB9LCByKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHIodCwgZSkgewogICAgICAgICAgICAgICAgICAgIG51bGwgIT0gcC5kZXByZWNhdGlvbkhhbmRsZXIgJiYgcC5kZXByZWNhdGlvbkhhbmRsZXIodCwgZSksIFh0W3RdIHx8IChTKGUpLCBYdFt0XSA9ICEwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIEQodCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0IGluc3RhbmNlb2YgRnVuY3Rpb24gfHwgIltvYmplY3QgRnVuY3Rpb25dIiA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gYSh0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGksIG4gPSBmKHt9LCB0KTsKICAgICAgICAgICAgICAgICAgICBmb3IgKGkgaW4gZSkgdihlLCBpKSAmJiAobCh0W2ldKSAmJiBsKGVbaV0pID8gKG5baV0gPSB7fSwgZihuW2ldLCB0W2ldKSwgZihuW2ldLCBlW2ldKSkgOiBudWxsICE9IGVbaV0gPyBuW2ldID0gZVtpXSA6IGRlbGV0ZSBuW2ldKTsKICAgICAgICAgICAgICAgICAgICBmb3IgKGkgaW4gdCkgdih0LCBpKSAmJiAhdihlLCBpKSAmJiBsKHRbaV0pICYmIChuW2ldID0gZih7fSwgbltpXSkpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBuCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gQyh0KSB7CiAgICAgICAgICAgICAgICAgICAgbnVsbCAhPSB0ICYmIHRoaXMuc2V0KHQpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZSh0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSB0LnRvTG93ZXJDYXNlKCk7CiAgICAgICAgICAgICAgICAgICAgS3RbaV0gPSBLdFtpICsgInMiXSA9IEt0W2VdID0gdAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIFAodCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAic3RyaW5nIiA9PSB0eXBlb2YgdCA/IEt0W3RdIHx8IEt0W3QudG9Mb3dlckNhc2UoKV0gOiB2b2lkIDAKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBUKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSwgaSwgbiA9IHt9OwogICAgICAgICAgICAgICAgICAgIGZvciAoaSBpbiB0KSB2KHQsIGkpICYmIChlID0gUChpKSkgJiYgKG5bZV0gPSB0W2ldKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGkodCwgZSkgewogICAgICAgICAgICAgICAgICAgIFF0W3RdID0gZQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG4oZSwgaSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsICE9IHQgPyAoSSh0aGlzLCBlLCB0KSwgcC51cGRhdGVPZmZzZXQodGhpcywgaSksIHRoaXMpIDogQSh0aGlzLCBlKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBBKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdC5pc1ZhbGlkKCkgPyB0Ll9kWyJnZXQiICsgKHQuX2lzVVRDID8gIlVUQyIgOiAiIikgKyBlXSgpIDogTmFOCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gSSh0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgdC5pc1ZhbGlkKCkgJiYgdC5fZFsic2V0IiArICh0Ll9pc1VUQyA/ICJVVEMiIDogIiIpICsgZV0oaSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBPKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgbiA9ICIiICsgTWF0aC5hYnModCksCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBlIC0gbi5sZW5ndGg7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgwIDw9IHQgPyBpID8gIisiIDogIiIgOiAiLSIpICsgTWF0aC5wb3coMTAsIE1hdGgubWF4KDAsIGEpKS50b1N0cmluZygpLnN1YnN0cigxKSArIG4KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBGKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgYSA9IG47CiAgICAgICAgICAgICAgICAgICAgInN0cmluZyIgPT0gdHlwZW9mIG4gJiYgKGEgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXNbbl0oKQogICAgICAgICAgICAgICAgICAgIH0pLCB0ICYmIChpZVt0XSA9IGEpLCBlICYmIChpZVtlWzBdXSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gTyhhLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksIGVbMV0sIGVbMl0pCiAgICAgICAgICAgICAgICAgICAgfSksIGkgJiYgKGllW2ldID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5vcmRpbmFsKGEuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgdCkKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIFIodCwgZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0LmlzVmFsaWQoKSA/IChlID0gTChlLCB0LmxvY2FsZURhdGEoKSksIGVlW2VdID0gZWVbZV0gfHwgZnVuY3Rpb24obikgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCwgYSwgZSwgciA9IG4ubWF0Y2goJHQpOwogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHQgPSAwLCBhID0gci5sZW5ndGg7IHQgPCBhOyB0KyspIGllW3JbdF1dID8gclt0XSA9IGllW3JbdF1dIDogclt0XSA9IChlID0gclt0XSkubWF0Y2goL1xbW1xzXFNdLykgPyBlLnJlcGxhY2UoL15cW3xcXSQvZywgIiIpIDogZS5yZXBsYWNlKC9cXC9nLCAiIik7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZSwgaSA9ICIiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChlID0gMDsgZSA8IGE7IGUrKykgaSArPSBEKHJbZV0pID8gcltlXS5jYWxsKHQsIG4pIDogcltlXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KGUpLCBlZVtlXSh0KSkgOiB0LmxvY2FsZURhdGEoKS5pbnZhbGlkRGF0ZSgpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gTCh0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSA1OwogICAgICAgICAgICAgICAgICAgIGZvciAodGUubGFzdEluZGV4ID0gMDsgMCA8PSBpICYmIHRlLnRlc3QodCk7KSB0ID0gdC5yZXBsYWNlKHRlLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlLmxvbmdEYXRlRm9ybWF0KHQpIHx8IHQKICAgICAgICAgICAgICAgICAgICB9KSwgdGUubGFzdEluZGV4ID0gMCwgaSAtPSAxOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB0CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gVyh0LCBpLCBuKSB7CiAgICAgICAgICAgICAgICAgICAgYmVbdF0gPSBEKGkpID8gaSA6IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgJiYgbiA/IG4gOiBpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIFkodCwgZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB2KGJlLCB0KSA/IGJlW3RdKGUuX3N0cmljdCwgZS5fbG9jYWxlKSA6IG5ldyBSZWdFeHAoTih0LnJlcGxhY2UoIlxcIiwgIiIpLnJlcGxhY2UoL1xcKFxbKXxcXChcXSl8XFsoW15cXVxbXSopXF18XFwoLikvZywgZnVuY3Rpb24odCwgZSwgaSwgbiwgYSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZSB8fCBpIHx8IG4gfHwgYQogICAgICAgICAgICAgICAgICAgIH0pKSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBOKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdC5yZXBsYWNlKC9bLVwvXFxeJCorPy4oKXxbXF17fV0vZywgIlxcJCYiKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHoodCwgaSkgewogICAgICAgICAgICAgICAgICAgIHZhciBlLCBuID0gaTsKICAgICAgICAgICAgICAgICAgICBmb3IgKCJzdHJpbmciID09IHR5cGVvZiB0ICYmICh0ID0gW3RdKSwgZChpKSAmJiAobiA9IGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVbaV0gPSBNKHQpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBlID0gMDsgZSA8IHQubGVuZ3RoOyBlKyspIHhlW3RbZV1dID0gbgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIEIodCwgYSkgewogICAgICAgICAgICAgICAgICAgIHoodCwgZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgICAgICAgICBpLl93ID0gaS5fdyB8fCB7fSwgYSh0LCBpLl93LCBpLCBuKQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gVih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKHQsIGUgKyAxLCAwKSkuZ2V0VVRDRGF0ZSgpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gSCh0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCF0LmlzVmFsaWQoKSkgcmV0dXJuIHQ7CiAgICAgICAgICAgICAgICAgICAgaWYgKCJzdHJpbmciID09IHR5cGVvZiBlKQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoL15cZCskLy50ZXN0KGUpKSBlID0gTShlKTsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIWQoZSA9IHQubG9jYWxlRGF0YSgpLm1vbnRoc1BhcnNlKGUpKSkgcmV0dXJuIHQ7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkgPSBNYXRoLm1pbih0LmRhdGUoKSwgVih0LnllYXIoKSwgZSkpLCB0Ll9kWyJzZXQiICsgKHQuX2lzVVRDID8gIlVUQyIgOiAiIikgKyAiTW9udGgiXShlLCBpKSwgdAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIEUodCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsICE9IHQgPyAoSCh0aGlzLCB0KSwgcC51cGRhdGVPZmZzZXQodGhpcywgITApLCB0aGlzKSA6IEEodGhpcywgIk1vbnRoIikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBqKCkgewogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHQodCwgZSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZS5sZW5ndGggLSB0Lmxlbmd0aAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB2YXIgZSwgaSwgbiA9IFtdLAogICAgICAgICAgICAgICAgICAgICAgICBhID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBbXTsKICAgICAgICAgICAgICAgICAgICBmb3IgKGUgPSAwOyBlIDwgMTI7IGUrKykgaSA9IGcoWzJlMywgZV0pLCBuLnB1c2godGhpcy5tb250aHNTaG9ydChpLCAiIikpLCBhLnB1c2godGhpcy5tb250aHMoaSwgIiIpKSwgci5wdXNoKHRoaXMubW9udGhzKGksICIiKSksIHIucHVzaCh0aGlzLm1vbnRoc1Nob3J0KGksICIiKSk7CiAgICAgICAgICAgICAgICAgICAgZm9yIChuLnNvcnQodCksIGEuc29ydCh0KSwgci5zb3J0KHQpLCBlID0gMDsgZSA8IDEyOyBlKyspIG5bZV0gPSBOKG5bZV0pLCBhW2VdID0gTihhW2VdKTsKICAgICAgICAgICAgICAgICAgICBmb3IgKGUgPSAwOyBlIDwgMjQ7IGUrKykgcltlXSA9IE4ocltlXSk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbW9udGhzUmVnZXggPSBuZXcgUmVnRXhwKCJeKCIgKyByLmpvaW4oInwiKSArICIpIiwgImkiKSwgdGhpcy5fbW9udGhzU2hvcnRSZWdleCA9IHRoaXMuX21vbnRoc1JlZ2V4LCB0aGlzLl9tb250aHNTdHJpY3RSZWdleCA9IG5ldyBSZWdFeHAoIl4oIiArIGEuam9pbigifCIpICsgIikiLCAiaSIpLCB0aGlzLl9tb250aHNTaG9ydFN0cmljdFJlZ2V4ID0gbmV3IFJlZ0V4cCgiXigiICsgbi5qb2luKCJ8IikgKyAiKSIsICJpIikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBVKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gcSh0KSA/IDM2NiA6IDM2NQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHEodCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0ICUgNCA9PSAwICYmIHQgJSAxMDAgIT0gMCB8fCB0ICUgNDAwID09IDAKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBHKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IG5ldyBEYXRlKERhdGUuVVRDLmFwcGx5KG51bGwsIGFyZ3VtZW50cykpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB0IDwgMTAwICYmIDAgPD0gdCAmJiBpc0Zpbml0ZShlLmdldFVUQ0Z1bGxZZWFyKCkpICYmIGUuc2V0VVRDRnVsbFllYXIodCksIGUKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBaKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IDcgKyBlIC0gaTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gLSg3ICsgRyh0LCAwLCBuKS5nZXRVVENEYXkoKSAtIGUpICUgNyArIG4gLSAxCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gWCh0LCBlLCBpLCBuLCBhKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHIsIG8sIHMgPSAxICsgNyAqIChlIC0gMSkgKyAoNyArIGkgLSBuKSAlIDcgKyBaKHQsIG4sIGEpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBvID0gcyA8PSAwID8gVShyID0gdCAtIDEpICsgcyA6IHMgPiBVKHQpID8gKHIgPSB0ICsgMSwgcyAtIFUodCkpIDogKHIgPSB0LCBzKSwgewogICAgICAgICAgICAgICAgICAgICAgICB5ZWFyOiByLAogICAgICAgICAgICAgICAgICAgICAgICBkYXlPZlllYXI6IG8KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gSih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4sIGEsIHIgPSBaKHQueWVhcigpLCBlLCBpKSwKICAgICAgICAgICAgICAgICAgICAgICAgbyA9IE1hdGguZmxvb3IoKHQuZGF5T2ZZZWFyKCkgLSByIC0gMSkgLyA3KSArIDE7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG8gPCAxID8gbiA9IG8gKyBLKGEgPSB0LnllYXIoKSAtIDEsIGUsIGkpIDogbyA+IEsodC55ZWFyKCksIGUsIGkpID8gKG4gPSBvIC0gSyh0LnllYXIoKSwgZSwgaSksIGEgPSB0LnllYXIoKSArIDEpIDogKGEgPSB0LnllYXIoKSwgbiA9IG8pLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHdlZWs6IG4sCiAgICAgICAgICAgICAgICAgICAgICAgIHllYXI6IGEKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gSyh0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBaKHQsIGUsIGkpLAogICAgICAgICAgICAgICAgICAgICAgICBhID0gWih0ICsgMSwgZSwgaSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChVKHQpIC0gbiArIGEpIC8gNwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIFEoKSB7CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdCh0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlLmxlbmd0aCAtIHQubGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuLCBhLCByLCBvID0gW10sCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgbCA9IFtdLAogICAgICAgICAgICAgICAgICAgICAgICB1ID0gW107CiAgICAgICAgICAgICAgICAgICAgZm9yIChlID0gMDsgZSA8IDc7IGUrKykgaSA9IGcoWzJlMywgMV0pLmRheShlKSwgbiA9IHRoaXMud2Vla2RheXNNaW4oaSwgIiIpLCBhID0gdGhpcy53ZWVrZGF5c1Nob3J0KGksICIiKSwgciA9IHRoaXMud2Vla2RheXMoaSwgIiIpLCBvLnB1c2gobiksIHMucHVzaChhKSwgbC5wdXNoKHIpLCB1LnB1c2gobiksIHUucHVzaChhKSwgdS5wdXNoKHIpOwogICAgICAgICAgICAgICAgICAgIGZvciAoby5zb3J0KHQpLCBzLnNvcnQodCksIGwuc29ydCh0KSwgdS5zb3J0KHQpLCBlID0gMDsgZSA8IDc7IGUrKykgc1tlXSA9IE4oc1tlXSksIGxbZV0gPSBOKGxbZV0pLCB1W2VdID0gTih1W2VdKTsKICAgICAgICAgICAgICAgICAgICB0aGlzLl93ZWVrZGF5c1JlZ2V4ID0gbmV3IFJlZ0V4cCgiXigiICsgdS5qb2luKCJ8IikgKyAiKSIsICJpIiksIHRoaXMuX3dlZWtkYXlzU2hvcnRSZWdleCA9IHRoaXMuX3dlZWtkYXlzUmVnZXgsIHRoaXMuX3dlZWtkYXlzTWluUmVnZXggPSB0aGlzLl93ZWVrZGF5c1JlZ2V4LCB0aGlzLl93ZWVrZGF5c1N0cmljdFJlZ2V4ID0gbmV3IFJlZ0V4cCgiXigiICsgbC5qb2luKCJ8IikgKyAiKSIsICJpIiksIHRoaXMuX3dlZWtkYXlzU2hvcnRTdHJpY3RSZWdleCA9IG5ldyBSZWdFeHAoIl4oIiArIHMuam9pbigifCIpICsgIikiLCAiaSIpLCB0aGlzLl93ZWVrZGF5c01pblN0cmljdFJlZ2V4ID0gbmV3IFJlZ0V4cCgiXigiICsgby5qb2luKCJ8IikgKyAiKSIsICJpIikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiAkKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhvdXJzKCkgJSAxMiB8fCAxMgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHR0KHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICBGKHQsIDAsIDAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkubWVyaWRpZW0odGhpcy5ob3VycygpLCB0aGlzLm1pbnV0ZXMoKSwgZSkKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGV0KHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZS5fbWVyaWRpZW1QYXJzZQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGl0KHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdCA/IHQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCJfIiwgIi0iKSA6IHQKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBudCh0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBudWxsOwogICAgICAgICAgICAgICAgICAgIGlmICghcWVbdF0gJiYgdm9pZCAwICE9PSBOaSAmJiBOaSAmJiBOaS5leHBvcnRzKSB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICBlID0gRWUuX2FiYnIsIFlpKCIuL2xvY2FsZS8iICsgdCksIGF0KGUpCiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAodCkge30KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcWVbdF0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBhdCh0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgJiYgKGkgPSB1KGUpID8gb3QodCkgOiBydCh0LCBlKSkgJiYgKEVlID0gaSksIEVlLl9hYmJyCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gcnQodCwgZSkgewogICAgICAgICAgICAgICAgICAgIGlmIChudWxsID09PSBlKSByZXR1cm4gZGVsZXRlIHFlW3RdLCBudWxsOwogICAgICAgICAgICAgICAgICAgIHZhciBpID0gVWU7CiAgICAgICAgICAgICAgICAgICAgaWYgKGUuYWJiciA9IHQsIG51bGwgIT0gcWVbdF0pIHIoImRlZmluZUxvY2FsZU92ZXJyaWRlIiwgInVzZSBtb21lbnQudXBkYXRlTG9jYWxlKGxvY2FsZU5hbWUsIGNvbmZpZykgdG8gY2hhbmdlIGFuIGV4aXN0aW5nIGxvY2FsZS4gbW9tZW50LmRlZmluZUxvY2FsZShsb2NhbGVOYW1lLCBjb25maWcpIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIGNyZWF0aW5nIGEgbmV3IGxvY2FsZSBTZWUgaHR0cDovL21vbWVudGpzLmNvbS9ndWlkZXMvIy93YXJuaW5ncy9kZWZpbmUtbG9jYWxlLyBmb3IgbW9yZSBpbmZvLiIpLCBpID0gcWVbdF0uX2NvbmZpZzsKICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChudWxsICE9IGUucGFyZW50TG9jYWxlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChudWxsID09IHFlW2UucGFyZW50TG9jYWxlXSkgcmV0dXJuIEdlW2UucGFyZW50TG9jYWxlXSB8fCAoR2VbZS5wYXJlbnRMb2NhbGVdID0gW10pLCBHZVtlLnBhcmVudExvY2FsZV0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnOiBlCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBudWxsOwogICAgICAgICAgICAgICAgICAgICAgICBpID0gcWVbZS5wYXJlbnRMb2NhbGVdLl9jb25maWcKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHFlW3RdID0gbmV3IEMoYShpLCBlKSksIEdlW3RdICYmIEdlW3RdLmZvckVhY2goZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICBydCh0Lm5hbWUsIHQuY29uZmlnKQogICAgICAgICAgICAgICAgICAgIH0pLCBhdCh0KSwgcWVbdF0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBvdCh0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGU7CiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgdC5fbG9jYWxlICYmIHQuX2xvY2FsZS5fYWJiciAmJiAodCA9IHQuX2xvY2FsZS5fYWJiciksICF0KSByZXR1cm4gRWU7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFzKHQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlID0gbnQodCkpIHJldHVybiBlOwogICAgICAgICAgICAgICAgICAgICAgICB0ID0gW3RdCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGUsIGksIG4sIGEsIHIgPSAwOyByIDwgdC5sZW5ndGg7KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGUgPSAoYSA9IGl0KHRbcl0pLnNwbGl0KCItIikpLmxlbmd0aCwgaSA9IChpID0gaXQodFtyICsgMV0pKSA/IGkuc3BsaXQoIi0iKSA6IG51bGw7IDAgPCBlOykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuID0gbnQoYS5zbGljZSgwLCBlKS5qb2luKCItIikpKSByZXR1cm4gbjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSAmJiBpLmxlbmd0aCA+PSBlICYmIG8oYSwgaSwgITApID49IGUgLSAxKSBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLS0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIrKwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsCiAgICAgICAgICAgICAgICAgICAgfSh0KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHN0KHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSwgaSA9IHQuX2E7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkgJiYgLTIgPT09IHkodCkub3ZlcmZsb3cgJiYgKGUgPSBpW2tlXSA8IDAgfHwgMTEgPCBpW2tlXSA/IGtlIDogaVt3ZV0gPCAxIHx8IGlbd2VdID4gVihpW19lXSwgaVtrZV0pID8gd2UgOiBpW01lXSA8IDAgfHwgMjQgPCBpW01lXSB8fCAyNCA9PT0gaVtNZV0gJiYgKDAgIT09IGlbU2VdIHx8IDAgIT09IGlbRGVdIHx8IDAgIT09IGlbQ2VdKSA/IE1lIDogaVtTZV0gPCAwIHx8IDU5IDwgaVtTZV0gPyBTZSA6IGlbRGVdIDwgMCB8fCA1OSA8IGlbRGVdID8gRGUgOiBpW0NlXSA8IDAgfHwgOTk5IDwgaVtDZV0gPyBDZSA6IC0xLCB5KHQpLl9vdmVyZmxvd0RheU9mWWVhciAmJiAoZSA8IF9lIHx8IHdlIDwgZSkgJiYgKGUgPSB3ZSksIHkodCkuX292ZXJmbG93V2Vla3MgJiYgLTEgPT09IGUgJiYgKGUgPSBQZSksIHkodCkuX292ZXJmbG93V2Vla2RheSAmJiAtMSA9PT0gZSAmJiAoZSA9IFRlKSwgeSh0KS5vdmVyZmxvdyA9IGUpLCB0CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gbHQodCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuLCBhLCByLCBvLCBzID0gdC5faSwKICAgICAgICAgICAgICAgICAgICAgICAgbCA9IFplLmV4ZWMocykgfHwgWGUuZXhlYyhzKTsKICAgICAgICAgICAgICAgICAgICBpZiAobCkgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHkodCkuaXNvID0gITAsIGUgPSAwLCBpID0gS2UubGVuZ3RoOyBlIDwgaTsgZSsrKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEtlW2VdWzFdLmV4ZWMobFsxXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhID0gS2VbZV1bMF0sIG4gPSAhMSAhPT0gS2VbZV1bMl07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bGwgPT0gYSkgcmV0dXJuIHZvaWQodC5faXNWYWxpZCA9ICExKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxbM10pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoZSA9IDAsIGkgPSBRZS5sZW5ndGg7IGUgPCBpOyBlKyspCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFFlW2VdWzFdLmV4ZWMobFszXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IChsWzJdIHx8ICIgIikgKyBRZVtlXVswXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVsbCA9PSByKSByZXR1cm4gdm9pZCh0Ll9pc1ZhbGlkID0gITEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFuICYmIG51bGwgIT0gcikgcmV0dXJuIHZvaWQodC5faXNWYWxpZCA9ICExKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxbNF0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghSmUuZXhlYyhsWzRdKSkgcmV0dXJuIHZvaWQodC5faXNWYWxpZCA9ICExKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8gPSAiWiIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB0Ll9mID0gYSArIChyIHx8ICIiKSArIChvIHx8ICIiKSwgY3QodCkKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgdC5faXNWYWxpZCA9ICExCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gdXQodCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuLCBhLCByLCBvLCBzLCBsID0gewogICAgICAgICAgICAgICAgICAgICAgICAiIEdNVCI6ICIgKzAwMDAiLAogICAgICAgICAgICAgICAgICAgICAgICAiIEVEVCI6ICIgLTA0MDAiLAogICAgICAgICAgICAgICAgICAgICAgICAiIEVTVCI6ICIgLTA1MDAiLAogICAgICAgICAgICAgICAgICAgICAgICAiIENEVCI6ICIgLTA1MDAiLAogICAgICAgICAgICAgICAgICAgICAgICAiIENTVCI6ICIgLTA2MDAiLAogICAgICAgICAgICAgICAgICAgICAgICAiIE1EVCI6ICIgLTA2MDAiLAogICAgICAgICAgICAgICAgICAgICAgICAiIE1TVCI6ICIgLTA3MDAiLAogICAgICAgICAgICAgICAgICAgICAgICAiIFBEVCI6ICIgLTA3MDAiLAogICAgICAgICAgICAgICAgICAgICAgICAiIFBTVCI6ICIgLTA4MDAiCiAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICBpZiAoZSA9IHQuX2kucmVwbGFjZSgvXChbXlwpXSpcKXxbXG5cdF0vZywgIiAiKS5yZXBsYWNlKC8oXHNccyspL2csICIgIikucmVwbGFjZSgvXlxzfFxzJC9nLCAiIiksIGkgPSB0aS5leGVjKGUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuID0gaVsxXSA/ICJkZGQiICsgKDUgPT09IGlbMV0ubGVuZ3RoID8gIiwgIiA6ICIgIikgOiAiIiwgYSA9ICJEIE1NTSAiICsgKDEwIDwgaVsyXS5sZW5ndGggPyAiWVlZWSAiIDogIllZICIpLCByID0gIkhIOm1tIiArIChpWzRdID8gIjpzcyIgOiAiIiksIGlbMV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1ID0gWyJTdW4iLCAiTW9uIiwgIlR1ZSIsICJXZWQiLCAiVGh1IiwgIkZyaSIsICJTYXQiXVtuZXcgRGF0ZShpWzJdKS5nZXREYXkoKV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaVsxXS5zdWJzdHIoMCwgMykgIT09IHUpIHJldHVybiB5KHQpLndlZWtkYXlNaXNtYXRjaCA9ICEwLCB2b2lkKHQuX2lzVmFsaWQgPSAhMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGlbNV0ubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbyA9IDAgPT09IHMgPyAiICswMDAwIiA6ICgocyA9ICJZWFdWVVRTUlFQT05aQUJDREVGR0hJS0xNIi5pbmRleE9mKGlbNV1bMV0udG9VcHBlckNhc2UoKSkgLSAxMikgPCAwID8gIiAtIiA6ICIgKyIpICsgKCIiICsgcykucmVwbGFjZSgvXi0/LywgIjAiKS5tYXRjaCgvLi4kLylbMF0gKyAiMDAiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8gPSBsW2lbNV1dOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvID0gbFsiIEdNVCJdCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaVs1XSA9IG8sIHQuX2kgPSBpLnNwbGljZSgxKS5qb2luKCIiKSwgIiBaWiIsIHQuX2YgPSBuICsgYSArIHIgKyAiIFpaIiwgY3QodCksIHkodCkucmZjMjgyMiA9ICEwCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHQuX2lzVmFsaWQgPSAhMQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGR0KHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCAhPSB0ID8gdCA6IG51bGwgIT0gZSA/IGUgOiBpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gaHQodCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuLCBhLCByLCBvLCBzID0gW107CiAgICAgICAgICAgICAgICAgICAgaWYgKCF0Ll9kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAociA9IHQsIG8gPSB2b2lkIDAsIG8gPSBuZXcgRGF0ZShwLm5vdygpKSwgbiA9IHIuX3VzZVVUQyA/IFtvLmdldFVUQ0Z1bGxZZWFyKCksIG8uZ2V0VVRDTW9udGgoKSwgby5nZXRVVENEYXRlKCldIDogW28uZ2V0RnVsbFllYXIoKSwgby5nZXRNb250aCgpLCBvLmdldERhdGUoKV0sIHQuX3cgJiYgbnVsbCA9PSB0Ll9hW3dlXSAmJiBudWxsID09IHQuX2Fba2VdICYmIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZSwgaSwgbiwgYSwgciwgbywgcywgbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVsbCAhPSAoZSA9IHQuX3cpLkdHIHx8IG51bGwgIT0gZS5XIHx8IG51bGwgIT0gZS5FKSByID0gMSwgbyA9IDQsIGkgPSBkdChlLkdHLCB0Ll9hW19lXSwgSihtdCgpLCAxLCA0KS55ZWFyKSwgbiA9IGR0KGUuVywgMSksICgoYSA9IGR0KGUuRSwgMSkpIDwgMSB8fCA3IDwgYSkgJiYgKGwgPSAhMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSB0Ll9sb2NhbGUuX3dlZWsuZG93LCBvID0gdC5fbG9jYWxlLl93ZWVrLmRveTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHUgPSBKKG10KCksIHIsIG8pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gZHQoZS5nZywgdC5fYVtfZV0sIHUueWVhciksIG4gPSBkdChlLncsIHUud2VlayksIG51bGwgIT0gZS5kID8gKChhID0gZS5kKSA8IDAgfHwgNiA8IGEpICYmIChsID0gITApIDogbnVsbCAhPSBlLmUgPyAoYSA9IGUuZSArIHIsIChlLmUgPCAwIHx8IDYgPCBlLmUpICYmIChsID0gITApKSA6IGEgPSByCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG4gPCAxIHx8IG4gPiBLKGksIHIsIG8pID8geSh0KS5fb3ZlcmZsb3dXZWVrcyA9ICEwIDogbnVsbCAhPSBsID8geSh0KS5fb3ZlcmZsb3dXZWVrZGF5ID0gITAgOiAocyA9IFgoaSwgbiwgYSwgciwgbyksIHQuX2FbX2VdID0gcy55ZWFyLCB0Ll9kYXlPZlllYXIgPSBzLmRheU9mWWVhcikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0odCksIG51bGwgIT0gdC5fZGF5T2ZZZWFyICYmIChhID0gZHQodC5fYVtfZV0sIG5bX2VdKSwgKHQuX2RheU9mWWVhciA+IFUoYSkgfHwgMCA9PT0gdC5fZGF5T2ZZZWFyKSAmJiAoeSh0KS5fb3ZlcmZsb3dEYXlPZlllYXIgPSAhMCksIGkgPSBHKGEsIDAsIHQuX2RheU9mWWVhciksIHQuX2Fba2VdID0gaS5nZXRVVENNb250aCgpLCB0Ll9hW3dlXSA9IGkuZ2V0VVRDRGF0ZSgpKSwgZSA9IDA7IGUgPCAzICYmIG51bGwgPT0gdC5fYVtlXTsgKytlKSB0Ll9hW2VdID0gc1tlXSA9IG5bZV07CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoOyBlIDwgNzsgZSsrKSB0Ll9hW2VdID0gc1tlXSA9IG51bGwgPT0gdC5fYVtlXSA/IDIgPT09IGUgPyAxIDogMCA6IHQuX2FbZV07CiAgICAgICAgICAgICAgICAgICAgICAgIDI0ID09PSB0Ll9hW01lXSAmJiAwID09PSB0Ll9hW1NlXSAmJiAwID09PSB0Ll9hW0RlXSAmJiAwID09PSB0Ll9hW0NlXSAmJiAodC5fbmV4dERheSA9ICEwLCB0Ll9hW01lXSA9IDApLCB0Ll9kID0gKHQuX3VzZVVUQyA/IEcgOiBmdW5jdGlvbih0LCBlLCBpLCBuLCBhLCByLCBvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcyA9IG5ldyBEYXRlKHQsIGUsIGksIG4sIGEsIHIsIG8pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgPCAxMDAgJiYgMCA8PSB0ICYmIGlzRmluaXRlKHMuZ2V0RnVsbFllYXIoKSkgJiYgcy5zZXRGdWxsWWVhcih0KSwgcwogICAgICAgICAgICAgICAgICAgICAgICB9KS5hcHBseShudWxsLCBzKSwgbnVsbCAhPSB0Ll90em0gJiYgdC5fZC5zZXRVVENNaW51dGVzKHQuX2QuZ2V0VVRDTWludXRlcygpIC0gdC5fdHptKSwgdC5fbmV4dERheSAmJiAodC5fYVtNZV0gPSAyNCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gY3QodCkgewogICAgICAgICAgICAgICAgICAgIGlmICh0Ll9mICE9PSBwLklTT184NjAxKQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodC5fZiAhPT0gcC5SRkNfMjgyMikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdC5fYSA9IFtdLCB5KHQpLmVtcHR5ID0gITA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZSwgaSwgbiwgYSwgciwgbyA9ICIiICsgdC5faSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzID0gby5sZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbCA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKG4gPSBMKHQuX2YsIHQuX2xvY2FsZSkubWF0Y2goJHQpIHx8IFtdLCBlID0gMDsgZSA8IG4ubGVuZ3RoOyBlKyspIGEgPSBuW2VdLCAoaSA9IChvLm1hdGNoKFkoYSwgdCkpIHx8IFtdKVswXSkgJiYgKDAgPCAociA9IG8uc3Vic3RyKDAsIG8uaW5kZXhPZihpKSkpLmxlbmd0aCAmJiB5KHQpLnVudXNlZElucHV0LnB1c2gociksIG8gPSBvLnNsaWNlKG8uaW5kZXhPZihpKSArIGkubGVuZ3RoKSwgbCArPSBpLmxlbmd0aCksIGllW2FdID8gKGkgPyB5KHQpLmVtcHR5ID0gITEgOiB5KHQpLnVudXNlZFRva2Vucy5wdXNoKGEpLCBmID0gYSwgbSA9IHQsIG51bGwgIT0gKGcgPSBpKSAmJiB2KHhlLCBmKSAmJiB4ZVtmXShnLCBtLl9hLCBtLCBmKSkgOiB0Ll9zdHJpY3QgJiYgIWkgJiYgeSh0KS51bnVzZWRUb2tlbnMucHVzaChhKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkodCkuY2hhcnNMZWZ0T3ZlciA9IHMgLSBsLCAwIDwgby5sZW5ndGggJiYgeSh0KS51bnVzZWRJbnB1dC5wdXNoKG8pLCB0Ll9hW01lXSA8PSAxMiAmJiAhMCA9PT0geSh0KS5iaWdIb3VyICYmIDAgPCB0Ll9hW01lXSAmJiAoeSh0KS5iaWdIb3VyID0gdm9pZCAwKSwgeSh0KS5wYXJzZWREYXRlUGFydHMgPSB0Ll9hLnNsaWNlKDApLCB5KHQpLm1lcmlkaWVtID0gdC5fbWVyaWRpZW0sIHQuX2FbTWVdID0gKHUgPSB0Ll9sb2NhbGUsIGQgPSB0Ll9hW01lXSwgbnVsbCA9PSAoaCA9IHQuX21lcmlkaWVtKSA/IGQgOiBudWxsICE9IHUubWVyaWRpZW1Ib3VyID8gdS5tZXJpZGllbUhvdXIoZCwgaCkgOiAobnVsbCAhPSB1LmlzUE0gJiYgKChjID0gdS5pc1BNKGgpKSAmJiBkIDwgMTIgJiYgKGQgKz0gMTIpLCBjIHx8IDEyICE9PSBkIHx8IChkID0gMCkpLCBkKSksIGh0KHQpLCBzdCh0KQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgdXQodCk7CiAgICAgICAgICAgICAgICAgICAgZWxzZSBsdCh0KTsKICAgICAgICAgICAgICAgICAgICB2YXIgdSwgZCwgaCwgYywgZiwgZywgbQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGZ0KHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSwgaSwgbiwgYSwgciA9IHQuX2ksCiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSB0Ll9mOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB0Ll9sb2NhbGUgPSB0Ll9sb2NhbGUgfHwgb3QodC5fbCksIG51bGwgPT09IHIgfHwgdm9pZCAwID09PSBvICYmICIiID09PSByID8gYih7CiAgICAgICAgICAgICAgICAgICAgICAgIG51bGxJbnB1dDogITAKICAgICAgICAgICAgICAgICAgICB9KSA6ICgic3RyaW5nIiA9PSB0eXBlb2YgciAmJiAodC5faSA9IHIgPSB0Ll9sb2NhbGUucHJlcGFyc2UocikpLCBrKHIpID8gbmV3IF8oc3QocikpIDogKGgocikgPyB0Ll9kID0gciA6IHMobykgPyBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuLCBhLCByOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoMCA9PT0gdC5fZi5sZW5ndGgpIHJldHVybiB5KHQpLmludmFsaWRGb3JtYXQgPSAhMCwgdC5fZCA9IG5ldyBEYXRlKE5hTik7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoYSA9IDA7IGEgPCB0Ll9mLmxlbmd0aDsgYSsrKSByID0gMCwgZSA9IHgoe30sIHQpLCBudWxsICE9IHQuX3VzZVVUQyAmJiAoZS5fdXNlVVRDID0gdC5fdXNlVVRDKSwgZS5fZiA9IHQuX2ZbYV0sIGN0KGUpLCBtKGUpICYmIChyICs9IHkoZSkuY2hhcnNMZWZ0T3ZlciwgciArPSAxMCAqIHkoZSkudW51c2VkVG9rZW5zLmxlbmd0aCwgeShlKS5zY29yZSA9IHIsIChudWxsID09IG4gfHwgciA8IG4pICYmIChuID0gciwgaSA9IGUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgZih0LCBpIHx8IGUpCiAgICAgICAgICAgICAgICAgICAgfSh0KSA6IG8gPyBjdCh0KSA6IHUoaSA9IChlID0gdCkuX2kpID8gZS5fZCA9IG5ldyBEYXRlKHAubm93KCkpIDogaChpKSA/IGUuX2QgPSBuZXcgRGF0ZShpLnZhbHVlT2YoKSkgOiAic3RyaW5nIiA9PSB0eXBlb2YgaSA/IChuID0gZSwgbnVsbCA9PT0gKGEgPSAkZS5leGVjKG4uX2kpKSA/IChsdChuKSwgITEgPT09IG4uX2lzVmFsaWQgJiYgKGRlbGV0ZSBuLl9pc1ZhbGlkLCB1dChuKSwgITEgPT09IG4uX2lzVmFsaWQgJiYgKGRlbGV0ZSBuLl9pc1ZhbGlkLCBwLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrKG4pKSkpIDogbi5fZCA9IG5ldyBEYXRlKCthWzFdKSkgOiBzKGkpID8gKGUuX2EgPSBjKGkuc2xpY2UoMCksIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHQsIDEwKQogICAgICAgICAgICAgICAgICAgIH0pLCBodChlKSkgOiBsKGkpID8gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXQuX2QpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlID0gVCh0Ll9pKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQuX2EgPSBjKFtlLnllYXIsIGUubW9udGgsIGUuZGF5IHx8IGUuZGF0ZSwgZS5ob3VyLCBlLm1pbnV0ZSwgZS5zZWNvbmQsIGUubWlsbGlzZWNvbmRdLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgJiYgcGFyc2VJbnQodCwgMTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgaHQodCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0oZSkgOiBkKGkpID8gZS5fZCA9IG5ldyBEYXRlKGkpIDogcC5jcmVhdGVGcm9tSW5wdXRGYWxsYmFjayhlKSwgbSh0KSB8fCAodC5fZCA9IG51bGwpLCB0KSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBndCh0LCBlLCBpLCBuLCBhKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHIsIG8gPSB7fTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gITAgIT09IGkgJiYgITEgIT09IGkgfHwgKG4gPSBpLCBpID0gdm9pZCAwKSwgKGwodCkgJiYgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZTsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChlIGluIHQpIHJldHVybiAhMTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICEwCiAgICAgICAgICAgICAgICAgICAgfSh0KSB8fCBzKHQpICYmIDAgPT09IHQubGVuZ3RoKSAmJiAodCA9IHZvaWQgMCksIG8uX2lzQU1vbWVudE9iamVjdCA9ICEwLCBvLl91c2VVVEMgPSBvLl9pc1VUQyA9IGEsIG8uX2wgPSBpLCBvLl9pID0gdCwgby5fZiA9IGUsIG8uX3N0cmljdCA9IG4sIChyID0gbmV3IF8oc3QoZnQobykpKSkuX25leHREYXkgJiYgKHIuYWRkKDEsICJkIiksIHIuX25leHREYXkgPSB2b2lkIDApLCByCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gbXQodCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBndCh0LCBlLCBpLCBuLCAhMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBwdCh0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGksIG47CiAgICAgICAgICAgICAgICAgICAgaWYgKDEgPT09IGUubGVuZ3RoICYmIHMoZVswXSkgJiYgKGUgPSBlWzBdKSwgIWUubGVuZ3RoKSByZXR1cm4gbXQoKTsKICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSBlWzBdLCBuID0gMTsgbiA8IGUubGVuZ3RoOyArK24pIGVbbl0uaXNWYWxpZCgpICYmICFlW25dW3RdKGkpIHx8IChpID0gZVtuXSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiB2dCh0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBUKHQpLAogICAgICAgICAgICAgICAgICAgICAgICBpID0gZS55ZWFyIHx8IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIG4gPSBlLnF1YXJ0ZXIgfHwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgYSA9IGUubW9udGggfHwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgciA9IGUud2VlayB8fCAwLAogICAgICAgICAgICAgICAgICAgICAgICBvID0gZS5kYXkgfHwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgcyA9IGUuaG91ciB8fCAwLAogICAgICAgICAgICAgICAgICAgICAgICBsID0gZS5taW51dGUgfHwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgdSA9IGUuc2Vjb25kIHx8IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGQgPSBlLm1pbGxpc2Vjb25kIHx8IDA7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5faXNWYWxpZCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgZSBpbiB0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC0xID09PSBuaS5pbmRleE9mKGUpIHx8IG51bGwgIT0gdFtlXSAmJiBpc05hTih0W2VdKSkgcmV0dXJuICExOwogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gITEsIG4gPSAwOyBuIDwgbmkubGVuZ3RoOyArK24pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodFtuaVtuXV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSkgcmV0dXJuICExOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlRmxvYXQodFtuaVtuXV0pICE9PSBNKHRbbmlbbl1dKSAmJiAoaSA9ICEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gITAKICAgICAgICAgICAgICAgICAgICB9KGUpLCB0aGlzLl9taWxsaXNlY29uZHMgPSArZCArIDFlMyAqIHUgKyA2ZTQgKiBsICsgMWUzICogcyAqIDYwICogNjAsIHRoaXMuX2RheXMgPSArbyArIDcgKiByLCB0aGlzLl9tb250aHMgPSArYSArIDMgKiBuICsgMTIgKiBpLCB0aGlzLl9kYXRhID0ge30sIHRoaXMuX2xvY2FsZSA9IG90KCksIHRoaXMuX2J1YmJsZSgpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24geXQodCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0IGluc3RhbmNlb2YgdnQKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBidCh0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgPCAwID8gLTEgKiBNYXRoLnJvdW5kKC0xICogdCkgOiBNYXRoLnJvdW5kKHQpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24geHQodCwgaSkgewogICAgICAgICAgICAgICAgICAgIEYodCwgMCwgMCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpcy51dGNPZmZzZXQoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUgPSAiKyI7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0IDwgMCAmJiAodCA9IC10LCBlID0gIi0iKSwgZSArIE8ofn4odCAvIDYwKSwgMikgKyBpICsgTyh+fnQgJSA2MCwgMikKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIF90KHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IChlIHx8ICIiKS5tYXRjaCh0KTsKICAgICAgICAgICAgICAgICAgICBpZiAobnVsbCA9PT0gaSkgcmV0dXJuIG51bGw7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSAoKGlbaS5sZW5ndGggLSAxXSB8fCBbXSkgKyAiIikubWF0Y2goYWkpIHx8IFsiLSIsIDAsIDBdLAogICAgICAgICAgICAgICAgICAgICAgICBhID0gNjAgKiBuWzFdICsgTShuWzJdKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMCA9PT0gYSA/IDAgOiAiKyIgPT09IG5bMF0gPyBhIDogLWEKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBrdCh0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGksIG47CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuX2lzVVRDID8gKGkgPSBlLmNsb25lKCksIG4gPSAoayh0KSB8fCBoKHQpID8gdC52YWx1ZU9mKCkgOiBtdCh0KS52YWx1ZU9mKCkpIC0gaS52YWx1ZU9mKCksIGkuX2Quc2V0VGltZShpLl9kLnZhbHVlT2YoKSArIG4pLCBwLnVwZGF0ZU9mZnNldChpLCAhMSksIGkpIDogbXQodCkubG9jYWwoKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHd0KHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTUgKiAtTWF0aC5yb3VuZCh0Ll9kLmdldFRpbWV6b25lT2Zmc2V0KCkgLyAxNSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBNdCgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gISF0aGlzLmlzVmFsaWQoKSAmJiB0aGlzLl9pc1VUQyAmJiAwID09PSB0aGlzLl9vZmZzZXQKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBTdCh0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGksIG4sIGEsIHIsIG8sIHMsIGwgPSB0LAogICAgICAgICAgICAgICAgICAgICAgICB1ID0gbnVsbDsKICAgICAgICAgICAgICAgICAgICByZXR1cm4geXQodCkgPyBsID0gewogICAgICAgICAgICAgICAgICAgICAgICBtczogdC5fbWlsbGlzZWNvbmRzLAogICAgICAgICAgICAgICAgICAgICAgICBkOiB0Ll9kYXlzLAogICAgICAgICAgICAgICAgICAgICAgICBNOiB0Ll9tb250aHMKICAgICAgICAgICAgICAgICAgICB9IDogZCh0KSA/IChsID0ge30sIGUgPyBsW2VdID0gdCA6IGwubWlsbGlzZWNvbmRzID0gdCkgOiAodSA9IHJpLmV4ZWModCkpID8gKGkgPSAiLSIgPT09IHVbMV0gPyAtMSA6IDEsIGwgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHk6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGQ6IE0odVt3ZV0pICogaSwKICAgICAgICAgICAgICAgICAgICAgICAgaDogTSh1W01lXSkgKiBpLAogICAgICAgICAgICAgICAgICAgICAgICBtOiBNKHVbU2VdKSAqIGksCiAgICAgICAgICAgICAgICAgICAgICAgIHM6IE0odVtEZV0pICogaSwKICAgICAgICAgICAgICAgICAgICAgICAgbXM6IE0oYnQoMWUzICogdVtDZV0pKSAqIGkKICAgICAgICAgICAgICAgICAgICB9KSA6ICh1ID0gb2kuZXhlYyh0KSkgPyAoaSA9ICItIiA9PT0gdVsxXSA/IC0xIDogMSwgbCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgeTogRHQodVsyXSwgaSksCiAgICAgICAgICAgICAgICAgICAgICAgIE06IER0KHVbM10sIGkpLAogICAgICAgICAgICAgICAgICAgICAgICB3OiBEdCh1WzRdLCBpKSwKICAgICAgICAgICAgICAgICAgICAgICAgZDogRHQodVs1XSwgaSksCiAgICAgICAgICAgICAgICAgICAgICAgIGg6IER0KHVbNl0sIGkpLAogICAgICAgICAgICAgICAgICAgICAgICBtOiBEdCh1WzddLCBpKSwKICAgICAgICAgICAgICAgICAgICAgICAgczogRHQodVs4XSwgaSkKICAgICAgICAgICAgICAgICAgICB9KSA6IG51bGwgPT0gbCA/IGwgPSB7fSA6ICJvYmplY3QiID09IHR5cGVvZiBsICYmICgiZnJvbSIgaW4gbCB8fCAidG8iIGluIGwpICYmIChyID0gbXQobC5mcm9tKSwgbyA9IG10KGwudG8pLCBhID0gci5pc1ZhbGlkKCkgJiYgby5pc1ZhbGlkKCkgPyAobyA9IGt0KG8sIHIpLCByLmlzQmVmb3JlKG8pID8gcyA9IEN0KHIsIG8pIDogKChzID0gQ3QobywgcikpLm1pbGxpc2Vjb25kcyA9IC1zLm1pbGxpc2Vjb25kcywgcy5tb250aHMgPSAtcy5tb250aHMpLCBzKSA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgbWlsbGlzZWNvbmRzOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBtb250aHM6IDAKICAgICAgICAgICAgICAgICAgICB9LCAobCA9IHt9KS5tcyA9IGEubWlsbGlzZWNvbmRzLCBsLk0gPSBhLm1vbnRocyksIG4gPSBuZXcgdnQobCksIHl0KHQpICYmIHYodCwgIl9sb2NhbGUiKSAmJiAobi5fbG9jYWxlID0gdC5fbG9jYWxlKSwgbgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIER0KHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IHQgJiYgcGFyc2VGbG9hdCh0LnJlcGxhY2UoIiwiLCAiLiIpKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gKGlzTmFOKGkpID8gMCA6IGkpICogZQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIEN0KHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbWlsbGlzZWNvbmRzOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBtb250aHM6IDAKICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgIHJldHVybiBpLm1vbnRocyA9IGUubW9udGgoKSAtIHQubW9udGgoKSArIDEyICogKGUueWVhcigpIC0gdC55ZWFyKCkpLCB0LmNsb25lKCkuYWRkKGkubW9udGhzLCAiTSIpLmlzQWZ0ZXIoZSkgJiYgLS1pLm1vbnRocywgaS5taWxsaXNlY29uZHMgPSArZSAtICt0LmNsb25lKCkuYWRkKGkubW9udGhzLCAiTSIpLCBpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gUHQobiwgYSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCA9PT0gZSB8fCBpc05hTigrZSkgfHwgKHIoYSwgIm1vbWVudCgpLiIgKyBhICsgIihwZXJpb2QsIG51bWJlcikgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBtb21lbnQoKS4iICsgYSArICIobnVtYmVyLCBwZXJpb2QpLiBTZWUgaHR0cDovL21vbWVudGpzLmNvbS9ndWlkZXMvIy93YXJuaW5ncy9hZGQtaW52ZXJ0ZWQtcGFyYW0vIGZvciBtb3JlIGluZm8uIiksIGkgPSB0LCB0ID0gZSwgZSA9IGkpLCBUdCh0aGlzLCBTdCh0ID0gInN0cmluZyIgPT0gdHlwZW9mIHQgPyArdCA6IHQsIGUpLCBuKSwgdGhpcwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBUdCh0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGEgPSBlLl9taWxsaXNlY29uZHMsCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBidChlLl9kYXlzKSwKICAgICAgICAgICAgICAgICAgICAgICAgbyA9IGJ0KGUuX21vbnRocyk7CiAgICAgICAgICAgICAgICAgICAgdC5pc1ZhbGlkKCkgJiYgKG4gPSBudWxsID09IG4gfHwgbiwgYSAmJiB0Ll9kLnNldFRpbWUodC5fZC52YWx1ZU9mKCkgKyBhICogaSksIHIgJiYgSSh0LCAiRGF0ZSIsIEEodCwgIkRhdGUiKSArIHIgKiBpKSwgbyAmJiBIKHQsIEEodCwgIk1vbnRoIikgKyBvICogaSksIG4gJiYgcC51cGRhdGVPZmZzZXQodCwgciB8fCBvKSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBBdCh0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gdCA/IHRoaXMuX2xvY2FsZS5fYWJiciA6IChudWxsICE9IChlID0gb3QodCkpICYmICh0aGlzLl9sb2NhbGUgPSBlKSwgdGhpcykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBJdCgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gT3QodCwgZSkgewogICAgICAgICAgICAgICAgICAgIEYoMCwgW3QsIHQubGVuZ3RoXSwgMCwgZSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBGdCh0LCBlLCBpLCBuLCBhKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHI7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gdCA/IEoodGhpcywgbiwgYSkueWVhciA6ICgociA9IEsodCwgbiwgYSkpIDwgZSAmJiAoZSA9IHIpLCBmdW5jdGlvbih0LCBlLCBpLCBuLCBhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByID0gWCh0LCBlLCBpLCBuLCBhKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8gPSBHKHIueWVhciwgMCwgci5kYXlPZlllYXIpOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy55ZWFyKG8uZ2V0VVRDRnVsbFllYXIoKSksIHRoaXMubW9udGgoby5nZXRVVENNb250aCgpKSwgdGhpcy5kYXRlKG8uZ2V0VVRDRGF0ZSgpKSwgdGhpcwogICAgICAgICAgICAgICAgICAgIH0uY2FsbCh0aGlzLCB0LCBlLCBpLCBuLCBhKSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBSdCh0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBMdCh0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGEgPSBvdCgpLAogICAgICAgICAgICAgICAgICAgICAgICByID0gZygpLnNldChuLCBlKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gYVtpXShyLCB0KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIFd0KHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoZCh0KSAmJiAoZSA9IHQsIHQgPSB2b2lkIDApLCB0ID0gdCB8fCAiIiwgbnVsbCAhPSBlKSByZXR1cm4gTHQodCwgZSwgaSwgIm1vbnRoIik7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4sIGEgPSBbXTsKICAgICAgICAgICAgICAgICAgICBmb3IgKG4gPSAwOyBuIDwgMTI7IG4rKykgYVtuXSA9IEx0KHQsIG4sIGksICJtb250aCIpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBhCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gWXQodCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgICAgIGUgPSAoImJvb2xlYW4iID09IHR5cGVvZiB0IHx8IChpID0gZSA9IHQsIHQgPSAhMSksIGQoZSkgJiYgKGkgPSBlLCBlID0gdm9pZCAwKSwgZSB8fCAiIik7CiAgICAgICAgICAgICAgICAgICAgdmFyIGEgPSBvdCgpLAogICAgICAgICAgICAgICAgICAgICAgICByID0gdCA/IGEuX3dlZWsuZG93IDogMDsKICAgICAgICAgICAgICAgICAgICBpZiAobnVsbCAhPSBpKSByZXR1cm4gTHQoZSwgKGkgKyByKSAlIDcsIG4sICJkYXkiKTsKICAgICAgICAgICAgICAgICAgICB2YXIgbywgcyA9IFtdOwogICAgICAgICAgICAgICAgICAgIGZvciAobyA9IDA7IG8gPCA3OyBvKyspIHNbb10gPSBMdChlLCAobyArIHIpICUgNywgbiwgImRheSIpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBzCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gTnQodCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgICAgIHZhciBhID0gU3QoZSwgaSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQuX21pbGxpc2Vjb25kcyArPSBuICogYS5fbWlsbGlzZWNvbmRzLCB0Ll9kYXlzICs9IG4gKiBhLl9kYXlzLCB0Ll9tb250aHMgKz0gbiAqIGEuX21vbnRocywgdC5fYnViYmxlKCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiB6dCh0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgPCAwID8gTWF0aC5mbG9vcih0KSA6IE1hdGguY2VpbCh0KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIEJ0KHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gNDgwMCAqIHQgLyAxNDYwOTcKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBWdCh0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE0NjA5NyAqIHQgLyA0ODAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gSHQodCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXModCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gRXQodCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCgpID8gdGhpcy5fZGF0YVt0XSA6IE5hTgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBqdCgpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkuaW52YWxpZERhdGUoKTsKICAgICAgICAgICAgICAgICAgICB2YXIgdCwgZSwgaSA9IExpKHRoaXMuX21pbGxpc2Vjb25kcykgLyAxZTMsCiAgICAgICAgICAgICAgICAgICAgICAgIG4gPSBMaSh0aGlzLl9kYXlzKSwKICAgICAgICAgICAgICAgICAgICAgICAgYSA9IExpKHRoaXMuX21vbnRocyk7CiAgICAgICAgICAgICAgICAgICAgZSA9IHcoKHQgPSB3KGkgLyA2MCkpIC8gNjApLCBpICU9IDYwLCB0ICU9IDYwOwogICAgICAgICAgICAgICAgICAgIHZhciByID0gdyhhIC8gMTIpLAogICAgICAgICAgICAgICAgICAgICAgICBvID0gYSAlPSAxMiwKICAgICAgICAgICAgICAgICAgICAgICAgcyA9IG4sCiAgICAgICAgICAgICAgICAgICAgICAgIGwgPSBlLAogICAgICAgICAgICAgICAgICAgICAgICB1ID0gdCwKICAgICAgICAgICAgICAgICAgICAgICAgZCA9IGksCiAgICAgICAgICAgICAgICAgICAgICAgIGggPSB0aGlzLmFzU2Vjb25kcygpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBoID8gKGggPCAwID8gIi0iIDogIiIpICsgIlAiICsgKHIgPyByICsgIlkiIDogIiIpICsgKG8gPyBvICsgIk0iIDogIiIpICsgKHMgPyBzICsgIkQiIDogIiIpICsgKGwgfHwgdSB8fCBkID8gIlQiIDogIiIpICsgKGwgPyBsICsgIkgiIDogIiIpICsgKHUgPyB1ICsgIk0iIDogIiIpICsgKGQgPyBkICsgIlMiIDogIiIpIDogIlAwRCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHZhciBVdCwgcXQgPSBBcnJheS5wcm90b3R5cGUuc29tZSA/IEFycmF5LnByb3RvdHlwZS5zb21lIDogZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBlID0gT2JqZWN0KHRoaXMpLCBpID0gZS5sZW5ndGggPj4+IDAsIG4gPSAwOyBuIDwgaTsgbisrKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG4gaW4gZSAmJiB0LmNhbGwodGhpcywgZVtuXSwgbiwgZSkpIHJldHVybiAhMDsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICExCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBHdCA9IHAubW9tZW50UHJvcGVydGllcyA9IFtdLAogICAgICAgICAgICAgICAgICAgIFp0ID0gITEsCiAgICAgICAgICAgICAgICAgICAgWHQgPSB7fTsKICAgICAgICAgICAgICAgIHAuc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmdzID0gITEsIHAuZGVwcmVjYXRpb25IYW5kbGVyID0gbnVsbDsKICAgICAgICAgICAgICAgIHZhciBKdCA9IE9iamVjdC5rZXlzID8gT2JqZWN0LmtleXMgOiBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlLCBpID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoZSBpbiB0KSB2KHQsIGUpICYmIGkucHVzaChlKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIEt0ID0ge30sCiAgICAgICAgICAgICAgICAgICAgUXQgPSB7fSwKICAgICAgICAgICAgICAgICAgICAkdCA9IC8oXFtbXlxbXSpcXSl8KFxcKT8oW0hoXW1tKHNzKT98TW98TU0/TT9NP3xEb3xERERvfEREP0Q/RD98ZGRkP2Q/fGRvP3x3W298d10/fFdbb3xXXT98UW8/fFlZWVlZWXxZWVlZWXxZWVlZfFlZfGdnKGdnZz8pP3xHRyhHR0c/KT98ZXxFfGF8QXxoaD98SEg/fGtrP3xtbT98c3M/fFN7MSw5fXx4fFh8eno/fFpaP3wuKS9nLAogICAgICAgICAgICAgICAgICAgIHRlID0gLyhcW1teXFtdKlxdKXwoXFwpPyhMVFN8TFR8TEw/TD9MP3xsezEsNH0pL2csCiAgICAgICAgICAgICAgICAgICAgZWUgPSB7fSwKICAgICAgICAgICAgICAgICAgICBpZSA9IHt9LAogICAgICAgICAgICAgICAgICAgIG5lID0gL1xkLywKICAgICAgICAgICAgICAgICAgICBhZSA9IC9cZFxkLywKICAgICAgICAgICAgICAgICAgICByZSA9IC9cZHszfS8sCiAgICAgICAgICAgICAgICAgICAgb2UgPSAvXGR7NH0vLAogICAgICAgICAgICAgICAgICAgIHNlID0gL1srLV0/XGR7Nn0vLAogICAgICAgICAgICAgICAgICAgIGxlID0gL1xkXGQ/LywKICAgICAgICAgICAgICAgICAgICB1ZSA9IC9cZFxkXGRcZD8vLAogICAgICAgICAgICAgICAgICAgIGRlID0gL1xkXGRcZFxkXGRcZD8vLAogICAgICAgICAgICAgICAgICAgIGhlID0gL1xkezEsM30vLAogICAgICAgICAgICAgICAgICAgIGNlID0gL1xkezEsNH0vLAogICAgICAgICAgICAgICAgICAgIGZlID0gL1srLV0/XGR7MSw2fS8sCiAgICAgICAgICAgICAgICAgICAgZ2UgPSAvXGQrLywKICAgICAgICAgICAgICAgICAgICBtZSA9IC9bKy1dP1xkKy8sCiAgICAgICAgICAgICAgICAgICAgcGUgPSAvWnxbKy1dXGRcZDo/XGRcZC9naSwKICAgICAgICAgICAgICAgICAgICB2ZSA9IC9afFsrLV1cZFxkKD86Oj9cZFxkKT8vZ2ksCiAgICAgICAgICAgICAgICAgICAgeWUgPSAvWzAtOV0qWydhLXpcdTAwQTAtXHUwNUZGXHUwNzAwLVx1RDdGRlx1RjkwMC1cdUZEQ0ZcdUZERjAtXHVGRkVGXSt8W1x1MDYwMC1cdTA2RkZcL10rKFxzKj9bXHUwNjAwLVx1MDZGRl0rKXsxLDJ9L2ksCiAgICAgICAgICAgICAgICAgICAgYmUgPSB7fSwKICAgICAgICAgICAgICAgICAgICB4ZSA9IHt9LAogICAgICAgICAgICAgICAgICAgIF9lID0gMCwKICAgICAgICAgICAgICAgICAgICBrZSA9IDEsCiAgICAgICAgICAgICAgICAgICAgd2UgPSAyLAogICAgICAgICAgICAgICAgICAgIE1lID0gMywKICAgICAgICAgICAgICAgICAgICBTZSA9IDQsCiAgICAgICAgICAgICAgICAgICAgRGUgPSA1LAogICAgICAgICAgICAgICAgICAgIENlID0gNiwKICAgICAgICAgICAgICAgICAgICBQZSA9IDcsCiAgICAgICAgICAgICAgICAgICAgVGUgPSA4LAogICAgICAgICAgICAgICAgICAgIEFlID0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgPyBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiA6IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGU7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoZSA9IDA7IGUgPCB0aGlzLmxlbmd0aDsgKytlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNbZV0gPT09IHQpIHJldHVybiBlOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgRigiTSIsIFsiTU0iLCAyXSwgIk1vIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubW9udGgoKSArIDEKICAgICAgICAgICAgICAgIH0pLCBGKCJNTU0iLCAwLCAwLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLm1vbnRoc1Nob3J0KHRoaXMsIHQpCiAgICAgICAgICAgICAgICB9KSwgRigiTU1NTSIsIDAsIDAsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkubW9udGhzKHRoaXMsIHQpCiAgICAgICAgICAgICAgICB9KSwgZSgibW9udGgiLCAiTSIpLCBpKCJtb250aCIsIDgpLCBXKCJNIiwgbGUpLCBXKCJNTSIsIGxlLCBhZSksIFcoIk1NTSIsIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZS5tb250aHNTaG9ydFJlZ2V4KHQpCiAgICAgICAgICAgICAgICB9KSwgVygiTU1NTSIsIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZS5tb250aHNSZWdleCh0KQogICAgICAgICAgICAgICAgfSksIHooWyJNIiwgIk1NIl0sIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICBlW2tlXSA9IE0odCkgLSAxCiAgICAgICAgICAgICAgICB9KSwgeihbIk1NTSIsICJNTU1NIl0sIGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgYSA9IGkuX2xvY2FsZS5tb250aHNQYXJzZSh0LCBuLCBpLl9zdHJpY3QpOwogICAgICAgICAgICAgICAgICAgIG51bGwgIT0gYSA/IGVba2VdID0gYSA6IHkoaSkuaW52YWxpZE1vbnRoID0gdAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB2YXIgSWUgPSAvRFtvRF0/KFxbW15cW1xdXSpcXXxccykrTU1NTT8vLAogICAgICAgICAgICAgICAgICAgIE9lID0gIkphbnVhcnlfRmVicnVhcnlfTWFyY2hfQXByaWxfTWF5X0p1bmVfSnVseV9BdWd1c3RfU2VwdGVtYmVyX09jdG9iZXJfTm92ZW1iZXJfRGVjZW1iZXIiLnNwbGl0KCJfIiksCiAgICAgICAgICAgICAgICAgICAgRmUgPSAiSmFuX0ZlYl9NYXJfQXByX01heV9KdW5fSnVsX0F1Z19TZXBfT2N0X05vdl9EZWMiLnNwbGl0KCJfIiksCiAgICAgICAgICAgICAgICAgICAgUmUgPSB5ZSwKICAgICAgICAgICAgICAgICAgICBMZSA9IHllOwogICAgICAgICAgICAgICAgRigiWSIsIDAsIDAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpcy55ZWFyKCk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgPD0gOTk5OSA/ICIiICsgdCA6ICIrIiArIHQKICAgICAgICAgICAgICAgIH0pLCBGKDAsIFsiWVkiLCAyXSwgMCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMueWVhcigpICUgMTAwCiAgICAgICAgICAgICAgICB9KSwgRigwLCBbIllZWVkiLCA0XSwgMCwgInllYXIiKSwgRigwLCBbIllZWVlZIiwgNV0sIDAsICJ5ZWFyIiksIEYoMCwgWyJZWVlZWVkiLCA2LCAhMF0sIDAsICJ5ZWFyIiksIGUoInllYXIiLCAieSIpLCBpKCJ5ZWFyIiwgMSksIFcoIlkiLCBtZSksIFcoIllZIiwgbGUsIGFlKSwgVygiWVlZWSIsIGNlLCBvZSksIFcoIllZWVlZIiwgZmUsIHNlKSwgVygiWVlZWVlZIiwgZmUsIHNlKSwgeihbIllZWVlZIiwgIllZWVlZWSJdLCBfZSksIHooIllZWVkiLCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgZVtfZV0gPSAyID09PSB0Lmxlbmd0aCA/IHAucGFyc2VUd29EaWdpdFllYXIodCkgOiBNKHQpCiAgICAgICAgICAgICAgICB9KSwgeigiWVkiLCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgZVtfZV0gPSBwLnBhcnNlVHdvRGlnaXRZZWFyKHQpCiAgICAgICAgICAgICAgICB9KSwgeigiWSIsIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICBlW19lXSA9IHBhcnNlSW50KHQsIDEwKQogICAgICAgICAgICAgICAgfSksIHAucGFyc2VUd29EaWdpdFllYXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE0odCkgKyAoNjggPCBNKHQpID8gMTkwMCA6IDJlMykKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICB2YXIgV2UgPSBuKCJGdWxsWWVhciIsICEwKTsKICAgICAgICAgICAgICAgIEYoInciLCBbInd3IiwgMl0sICJ3byIsICJ3ZWVrIiksIEYoIlciLCBbIldXIiwgMl0sICJXbyIsICJpc29XZWVrIiksIGUoIndlZWsiLCAidyIpLCBlKCJpc29XZWVrIiwgIlciKSwgaSgid2VlayIsIDUpLCBpKCJpc29XZWVrIiwgNSksIFcoInciLCBsZSksIFcoInd3IiwgbGUsIGFlKSwgVygiVyIsIGxlKSwgVygiV1ciLCBsZSwgYWUpLCBCKFsidyIsICJ3dyIsICJXIiwgIldXIl0sIGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgICAgICAgICBlW24uc3Vic3RyKDAsIDEpXSA9IE0odCkKICAgICAgICAgICAgICAgIH0pLCBGKCJkIiwgMCwgImRvIiwgImRheSIpLCBGKCJkZCIsIDAsIDAsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkud2Vla2RheXNNaW4odGhpcywgdCkKICAgICAgICAgICAgICAgIH0pLCBGKCJkZGQiLCAwLCAwLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLndlZWtkYXlzU2hvcnQodGhpcywgdCkKICAgICAgICAgICAgICAgIH0pLCBGKCJkZGRkIiwgMCwgMCwgZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS53ZWVrZGF5cyh0aGlzLCB0KQogICAgICAgICAgICAgICAgfSksIEYoImUiLCAwLCAwLCAid2Vla2RheSIpLCBGKCJFIiwgMCwgMCwgImlzb1dlZWtkYXkiKSwgZSgiZGF5IiwgImQiKSwgZSgid2Vla2RheSIsICJlIiksIGUoImlzb1dlZWtkYXkiLCAiRSIpLCBpKCJkYXkiLCAxMSksIGkoIndlZWtkYXkiLCAxMSksIGkoImlzb1dlZWtkYXkiLCAxMSksIFcoImQiLCBsZSksIFcoImUiLCBsZSksIFcoIkUiLCBsZSksIFcoImRkIiwgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBlLndlZWtkYXlzTWluUmVnZXgodCkKICAgICAgICAgICAgICAgIH0pLCBXKCJkZGQiLCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUud2Vla2RheXNTaG9ydFJlZ2V4KHQpCiAgICAgICAgICAgICAgICB9KSwgVygiZGRkZCIsIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZS53ZWVrZGF5c1JlZ2V4KHQpCiAgICAgICAgICAgICAgICB9KSwgQihbImRkIiwgImRkZCIsICJkZGRkIl0sIGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgYSA9IGkuX2xvY2FsZS53ZWVrZGF5c1BhcnNlKHQsIG4sIGkuX3N0cmljdCk7CiAgICAgICAgICAgICAgICAgICAgbnVsbCAhPSBhID8gZS5kID0gYSA6IHkoaSkuaW52YWxpZFdlZWtkYXkgPSB0CiAgICAgICAgICAgICAgICB9KSwgQihbImQiLCAiZSIsICJFIl0sIGZ1bmN0aW9uKHQsIGUsIGksIG4pIHsKICAgICAgICAgICAgICAgICAgICBlW25dID0gTSh0KQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB2YXIgWWUgPSAiU3VuZGF5X01vbmRheV9UdWVzZGF5X1dlZG5lc2RheV9UaHVyc2RheV9GcmlkYXlfU2F0dXJkYXkiLnNwbGl0KCJfIiksCiAgICAgICAgICAgICAgICAgICAgTmUgPSAiU3VuX01vbl9UdWVfV2VkX1RodV9GcmlfU2F0Ii5zcGxpdCgiXyIpLAogICAgICAgICAgICAgICAgICAgIHplID0gIlN1X01vX1R1X1dlX1RoX0ZyX1NhIi5zcGxpdCgiXyIpLAogICAgICAgICAgICAgICAgICAgIEJlID0geWUsCiAgICAgICAgICAgICAgICAgICAgVmUgPSB5ZSwKICAgICAgICAgICAgICAgICAgICBIZSA9IHllOwogICAgICAgICAgICAgICAgRigiSCIsIFsiSEgiLCAyXSwgMCwgImhvdXIiKSwgRigiaCIsIFsiaGgiLCAyXSwgMCwgJCksIEYoImsiLCBbImtrIiwgMl0sIDAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhvdXJzKCkgfHwgMjQKICAgICAgICAgICAgICAgIH0pLCBGKCJobW0iLCAwLCAwLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gIiIgKyAkLmFwcGx5KHRoaXMpICsgTyh0aGlzLm1pbnV0ZXMoKSwgMikKICAgICAgICAgICAgICAgIH0pLCBGKCJobW1zcyIsIDAsIDAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAiIiArICQuYXBwbHkodGhpcykgKyBPKHRoaXMubWludXRlcygpLCAyKSArIE8odGhpcy5zZWNvbmRzKCksIDIpCiAgICAgICAgICAgICAgICB9KSwgRigiSG1tIiwgMCwgMCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIiICsgdGhpcy5ob3VycygpICsgTyh0aGlzLm1pbnV0ZXMoKSwgMikKICAgICAgICAgICAgICAgIH0pLCBGKCJIbW1zcyIsIDAsIDAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAiIiArIHRoaXMuaG91cnMoKSArIE8odGhpcy5taW51dGVzKCksIDIpICsgTyh0aGlzLnNlY29uZHMoKSwgMikKICAgICAgICAgICAgICAgIH0pLCB0dCgiYSIsICEwKSwgdHQoIkEiLCAhMSksIGUoImhvdXIiLCAiaCIpLCBpKCJob3VyIiwgMTMpLCBXKCJhIiwgZXQpLCBXKCJBIiwgZXQpLCBXKCJIIiwgbGUpLCBXKCJoIiwgbGUpLCBXKCJrIiwgbGUpLCBXKCJISCIsIGxlLCBhZSksIFcoImhoIiwgbGUsIGFlKSwgVygia2siLCBsZSwgYWUpLCBXKCJobW0iLCB1ZSksIFcoImhtbXNzIiwgZGUpLCBXKCJIbW0iLCB1ZSksIFcoIkhtbXNzIiwgZGUpLCB6KFsiSCIsICJISCJdLCBNZSksIHooWyJrIiwgImtrIl0sIGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IE0odCk7CiAgICAgICAgICAgICAgICAgICAgZVtNZV0gPSAyNCA9PT0gbiA/IDAgOiBuCiAgICAgICAgICAgICAgICB9KSwgeihbImEiLCAiQSJdLCBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgaS5faXNQbSA9IGkuX2xvY2FsZS5pc1BNKHQpLCBpLl9tZXJpZGllbSA9IHQKICAgICAgICAgICAgICAgIH0pLCB6KFsiaCIsICJoaCJdLCBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgZVtNZV0gPSBNKHQpLCB5KGkpLmJpZ0hvdXIgPSAhMAogICAgICAgICAgICAgICAgfSksIHooImhtbSIsIGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IHQubGVuZ3RoIC0gMjsKICAgICAgICAgICAgICAgICAgICBlW01lXSA9IE0odC5zdWJzdHIoMCwgbikpLCBlW1NlXSA9IE0odC5zdWJzdHIobikpLCB5KGkpLmJpZ0hvdXIgPSAhMAogICAgICAgICAgICAgICAgfSksIHooImhtbXNzIiwgZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgICAgICAgIHZhciBuID0gdC5sZW5ndGggLSA0LAogICAgICAgICAgICAgICAgICAgICAgICBhID0gdC5sZW5ndGggLSAyOwogICAgICAgICAgICAgICAgICAgIGVbTWVdID0gTSh0LnN1YnN0cigwLCBuKSksIGVbU2VdID0gTSh0LnN1YnN0cihuLCAyKSksIGVbRGVdID0gTSh0LnN1YnN0cihhKSksIHkoaSkuYmlnSG91ciA9ICEwCiAgICAgICAgICAgICAgICB9KSwgeigiSG1tIiwgZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgICAgICAgIHZhciBuID0gdC5sZW5ndGggLSAyOwogICAgICAgICAgICAgICAgICAgIGVbTWVdID0gTSh0LnN1YnN0cigwLCBuKSksIGVbU2VdID0gTSh0LnN1YnN0cihuKSkKICAgICAgICAgICAgICAgIH0pLCB6KCJIbW1zcyIsIGZ1bmN0aW9uKHQsIGUsIGkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IHQubGVuZ3RoIC0gNCwKICAgICAgICAgICAgICAgICAgICAgICAgYSA9IHQubGVuZ3RoIC0gMjsKICAgICAgICAgICAgICAgICAgICBlW01lXSA9IE0odC5zdWJzdHIoMCwgbikpLCBlW1NlXSA9IE0odC5zdWJzdHIobiwgMikpLCBlW0RlXSA9IE0odC5zdWJzdHIoYSkpCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHZhciBFZSwgamUgPSBuKCJIb3VycyIsICEwKSwKICAgICAgICAgICAgICAgICAgICBVZSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbWVEYXk6ICJbVG9kYXkgYXRdIExUIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHREYXk6ICJbVG9tb3Jyb3cgYXRdIExUIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRXZWVrOiAiZGRkZCBbYXRdIExUIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3REYXk6ICJbWWVzdGVyZGF5IGF0XSBMVCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0V2VlazogIltMYXN0XSBkZGRkIFthdF0gTFQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtZUVsc2U6ICJMIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBsb25nRGF0ZUZvcm1hdDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTFRTOiAiaDptbTpzcyBBIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExUOiAiaDptbSBBIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEw6ICJNTS9ERC9ZWVlZIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExMOiAiTU1NTSBELCBZWVlZIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExMTDogIk1NTU0gRCwgWVlZWSBoOm1tIEEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgTExMTDogImRkZGQsIE1NTU0gRCwgWVlZWSBoOm1tIEEiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIGludmFsaWREYXRlOiAiSW52YWxpZCBkYXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgb3JkaW5hbDogIiVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogL1xkezEsMn0vLAogICAgICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVRpbWU6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1dHVyZTogImluICVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3Q6ICIlcyBhZ28iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgczogImEgZmV3IHNlY29uZHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3M6ICIlZCBzZWNvbmRzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG06ICJhIG1pbnV0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtbTogIiVkIG1pbnV0ZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaDogImFuIGhvdXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaGg6ICIlZCBob3VycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkOiAiYSBkYXkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGQ6ICIlZCBkYXlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE06ICJhIG1vbnRoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1NOiAiJWQgbW9udGhzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk6ICJhIHllYXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeXk6ICIlZCB5ZWFycyIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgbW9udGhzOiBPZSwKICAgICAgICAgICAgICAgICAgICAgICAgbW9udGhzU2hvcnQ6IEZlLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWVrOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3c6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3k6IDYKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgd2Vla2RheXM6IFllLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWVrZGF5c01pbjogemUsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlZWtkYXlzU2hvcnQ6IE5lLAogICAgICAgICAgICAgICAgICAgICAgICBtZXJpZGllbVBhcnNlOiAvW2FwXVwuP20/XC4/L2kKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHFlID0ge30sCiAgICAgICAgICAgICAgICAgICAgR2UgPSB7fSwKICAgICAgICAgICAgICAgICAgICBaZSA9IC9eXHMqKCg/OlsrLV1cZHs2fXxcZHs0fSktKD86XGRcZC1cZFxkfFdcZFxkLVxkfFdcZFxkfFxkXGRcZHxcZFxkKSkoPzooVHwgKShcZFxkKD86OlxkXGQoPzo6XGRcZCg/OlsuLF1cZCspPyk/KT8pKFtcK1wtXVxkXGQoPzo6P1xkXGQpP3xccypaKT8pPyQvLAogICAgICAgICAgICAgICAgICAgIFhlID0gL15ccyooKD86WystXVxkezZ9fFxkezR9KSg/OlxkXGRcZFxkfFdcZFxkXGR8V1xkXGR8XGRcZFxkfFxkXGQpKSg/OihUfCApKFxkXGQoPzpcZFxkKD86XGRcZCg/OlsuLF1cZCspPyk/KT8pKFtcK1wtXVxkXGQoPzo6P1xkXGQpP3xccypaKT8pPyQvLAogICAgICAgICAgICAgICAgICAgIEplID0gL1p8WystXVxkXGQoPzo6P1xkXGQpPy8sCiAgICAgICAgICAgICAgICAgICAgS2UgPSBbCiAgICAgICAgICAgICAgICAgICAgICAgIFsiWVlZWVlZLU1NLUREIiwgL1srLV1cZHs2fS1cZFxkLVxkXGQvXSwKICAgICAgICAgICAgICAgICAgICAgICAgWyJZWVlZLU1NLUREIiwgL1xkezR9LVxkXGQtXGRcZC9dLAogICAgICAgICAgICAgICAgICAgICAgICBbIkdHR0ctW1ddV1ctRSIsIC9cZHs0fS1XXGRcZC1cZC9dLAogICAgICAgICAgICAgICAgICAgICAgICBbIkdHR0ctW1ddV1ciLCAvXGR7NH0tV1xkXGQvLCAhMV0sCiAgICAgICAgICAgICAgICAgICAgICAgIFsiWVlZWS1EREQiLCAvXGR7NH0tXGR7M30vXSwKICAgICAgICAgICAgICAgICAgICAgICAgWyJZWVlZLU1NIiwgL1xkezR9LVxkXGQvLCAhMV0sCiAgICAgICAgICAgICAgICAgICAgICAgIFsiWVlZWVlZTU1ERCIsIC9bKy1dXGR7MTB9L10sCiAgICAgICAgICAgICAgICAgICAgICAgIFsiWVlZWU1NREQiLCAvXGR7OH0vXSwKICAgICAgICAgICAgICAgICAgICAgICAgWyJHR0dHW1ddV1dFIiwgL1xkezR9V1xkezN9L10sCiAgICAgICAgICAgICAgICAgICAgICAgIFsiR0dHR1tXXVdXIiwgL1xkezR9V1xkezJ9LywgITFdLAogICAgICAgICAgICAgICAgICAgICAgICBbIllZWVlEREQiLCAvXGR7N30vXQogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgUWUgPSBbCiAgICAgICAgICAgICAgICAgICAgICAgIFsiSEg6bW06c3MuU1NTUyIsIC9cZFxkOlxkXGQ6XGRcZFwuXGQrL10sCiAgICAgICAgICAgICAgICAgICAgICAgIFsiSEg6bW06c3MsU1NTUyIsIC9cZFxkOlxkXGQ6XGRcZCxcZCsvXSwKICAgICAgICAgICAgICAgICAgICAgICAgWyJISDptbTpzcyIsIC9cZFxkOlxkXGQ6XGRcZC9dLAogICAgICAgICAgICAgICAgICAgICAgICBbIkhIOm1tIiwgL1xkXGQ6XGRcZC9dLAogICAgICAgICAgICAgICAgICAgICAgICBbIkhIbW1zcy5TU1NTIiwgL1xkXGRcZFxkXGRcZFwuXGQrL10sCiAgICAgICAgICAgICAgICAgICAgICAgIFsiSEhtbXNzLFNTU1MiLCAvXGRcZFxkXGRcZFxkLFxkKy9dLAogICAgICAgICAgICAgICAgICAgICAgICBbIkhIbW1zcyIsIC9cZFxkXGRcZFxkXGQvXSwKICAgICAgICAgICAgICAgICAgICAgICAgWyJISG1tIiwgL1xkXGRcZFxkL10sCiAgICAgICAgICAgICAgICAgICAgICAgIFsiSEgiLCAvXGRcZC9dCiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAkZSA9IC9eXC8/RGF0ZVwoKFwtP1xkKykvaSwKICAgICAgICAgICAgICAgICAgICB0aSA9IC9eKCg/Ok1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1biksP1xzKT8oXGQ/XGRccyg/OkphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKVxzKD86XGRcZCk/XGRcZFxzKShcZFxkOlxkXGQpKFw6XGRcZCk/KFxzKD86VVR8R01UfFtFQ01QXVtTRF1UfFtBLUlLLVphLWlrLXpdfFsrLV1cZHs0fSkpJC87CiAgICAgICAgICAgICAgICBwLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrID0gdCgidmFsdWUgcHJvdmlkZWQgaXMgbm90IGluIGEgcmVjb2duaXplZCBSRkMyODIyIG9yIElTTyBmb3JtYXQuIG1vbWVudCBjb25zdHJ1Y3Rpb24gZmFsbHMgYmFjayB0byBqcyBEYXRlKCksIHdoaWNoIGlzIG5vdCByZWxpYWJsZSBhY3Jvc3MgYWxsIGJyb3dzZXJzIGFuZCB2ZXJzaW9ucy4gTm9uIFJGQzI4MjIvSVNPIGRhdGUgZm9ybWF0cyBhcmUgZGlzY291cmFnZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhbiB1cGNvbWluZyBtYWpvciByZWxlYXNlLiBQbGVhc2UgcmVmZXIgdG8gaHR0cDovL21vbWVudGpzLmNvbS9ndWlkZXMvIy93YXJuaW5ncy9qcy1kYXRlLyBmb3IgbW9yZSBpbmZvLiIsIGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB0Ll9kID0gbmV3IERhdGUodC5faSArICh0Ll91c2VVVEMgPyAiIFVUQyIgOiAiIikpCiAgICAgICAgICAgICAgICB9KSwgcC5JU09fODYwMSA9IGZ1bmN0aW9uKCkge30sIHAuUkZDXzI4MjIgPSBmdW5jdGlvbigpIHt9OwogICAgICAgICAgICAgICAgdmFyIGVpID0gdCgibW9tZW50KCkubWluIGlzIGRlcHJlY2F0ZWQsIHVzZSBtb21lbnQubWF4IGluc3RlYWQuIGh0dHA6Ly9tb21lbnRqcy5jb20vZ3VpZGVzLyMvd2FybmluZ3MvbWluLW1heC8iLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBtdC5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKCkgJiYgdC5pc1ZhbGlkKCkgPyB0IDwgdGhpcyA/IHRoaXMgOiB0IDogYigpCiAgICAgICAgICAgICAgICAgICAgfSksCiAgICAgICAgICAgICAgICAgICAgaWkgPSB0KCJtb21lbnQoKS5tYXggaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudC5taW4gaW5zdGVhZC4gaHR0cDovL21vbWVudGpzLmNvbS9ndWlkZXMvIy93YXJuaW5ncy9taW4tbWF4LyIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IG10LmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQoKSAmJiB0LmlzVmFsaWQoKSA/IHRoaXMgPCB0ID8gdGhpcyA6IHQgOiBiKCkKICAgICAgICAgICAgICAgICAgICB9KSwKICAgICAgICAgICAgICAgICAgICBuaSA9IFsieWVhciIsICJxdWFydGVyIiwgIm1vbnRoIiwgIndlZWsiLCAiZGF5IiwgImhvdXIiLCAibWludXRlIiwgInNlY29uZCIsICJtaWxsaXNlY29uZCJdOwogICAgICAgICAgICAgICAgeHQoIloiLCAiOiIpLCB4dCgiWloiLCAiIiksIFcoIloiLCB2ZSksIFcoIlpaIiwgdmUpLCB6KFsiWiIsICJaWiJdLCBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgaS5fdXNlVVRDID0gITAsIGkuX3R6bSA9IF90KHZlLCB0KQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB2YXIgYWkgPSAvKFtcK1wtXXxcZFxkKS9naTsKICAgICAgICAgICAgICAgIHAudXBkYXRlT2Zmc2V0ID0gZnVuY3Rpb24oKSB7fTsKICAgICAgICAgICAgICAgIHZhciByaSA9IC9eKFwtKT8oPzooXGQqKVsuIF0pPyhcZCspXDooXGQrKSg/Olw6KFxkKykoXC5cZCopPyk/JC8sCiAgICAgICAgICAgICAgICAgICAgb2kgPSAvXigtKT9QKD86KC0/WzAtOSwuXSopWSk/KD86KC0/WzAtOSwuXSopTSk/KD86KC0/WzAtOSwuXSopVyk/KD86KC0/WzAtOSwuXSopRCk/KD86VCg/OigtP1swLTksLl0qKUgpPyg/OigtP1swLTksLl0qKU0pPyg/OigtP1swLTksLl0qKVMpPyk/JC87CiAgICAgICAgICAgICAgICBTdC5mbiA9IHZ0LnByb3RvdHlwZSwgU3QuaW52YWxpZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBTdChOYU4pCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgdmFyIHNpID0gUHQoMSwgImFkZCIpLAogICAgICAgICAgICAgICAgICAgIGxpID0gUHQoLTEsICJzdWJ0cmFjdCIpOwogICAgICAgICAgICAgICAgcC5kZWZhdWx0Rm9ybWF0ID0gIllZWVktTU0tRERUSEg6bW06c3NaIiwgcC5kZWZhdWx0Rm9ybWF0VXRjID0gIllZWVktTU0tRERUSEg6bW06c3NbWl0iOwogICAgICAgICAgICAgICAgdmFyIHVpID0gdCgibW9tZW50KCkubGFuZygpIGlzIGRlcHJlY2F0ZWQuIEluc3RlYWQsIHVzZSBtb21lbnQoKS5sb2NhbGVEYXRhKCkgdG8gZ2V0IHRoZSBsYW5ndWFnZSBjb25maWd1cmF0aW9uLiBVc2UgbW9tZW50KCkubG9jYWxlKCkgdG8gY2hhbmdlIGxhbmd1YWdlcy4iLCBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gdCA/IHRoaXMubG9jYWxlRGF0YSgpIDogdGhpcy5sb2NhbGUodCkKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgRigwLCBbImdnIiwgMl0sIDAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLndlZWtZZWFyKCkgJSAxMDAKICAgICAgICAgICAgICAgIH0pLCBGKDAsIFsiR0ciLCAyXSwgMCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNvV2Vla1llYXIoKSAlIDEwMAogICAgICAgICAgICAgICAgfSksIE90KCJnZ2dnIiwgIndlZWtZZWFyIiksIE90KCJnZ2dnZyIsICJ3ZWVrWWVhciIpLCBPdCgiR0dHRyIsICJpc29XZWVrWWVhciIpLCBPdCgiR0dHR0ciLCAiaXNvV2Vla1llYXIiKSwgZSgid2Vla1llYXIiLCAiZ2ciKSwgZSgiaXNvV2Vla1llYXIiLCAiR0ciKSwgaSgid2Vla1llYXIiLCAxKSwgaSgiaXNvV2Vla1llYXIiLCAxKSwgVygiRyIsIG1lKSwgVygiZyIsIG1lKSwgVygiR0ciLCBsZSwgYWUpLCBXKCJnZyIsIGxlLCBhZSksIFcoIkdHR0ciLCBjZSwgb2UpLCBXKCJnZ2dnIiwgY2UsIG9lKSwgVygiR0dHR0ciLCBmZSwgc2UpLCBXKCJnZ2dnZyIsIGZlLCBzZSksIEIoWyJnZ2dnIiwgImdnZ2dnIiwgIkdHR0ciLCAiR0dHR0ciXSwgZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgICAgIGVbbi5zdWJzdHIoMCwgMildID0gTSh0KQogICAgICAgICAgICAgICAgfSksIEIoWyJnZyIsICJHRyJdLCBmdW5jdGlvbih0LCBlLCBpLCBuKSB7CiAgICAgICAgICAgICAgICAgICAgZVtuXSA9IHAucGFyc2VUd29EaWdpdFllYXIodCkKICAgICAgICAgICAgICAgIH0pLCBGKCJRIiwgMCwgIlFvIiwgInF1YXJ0ZXIiKSwgZSgicXVhcnRlciIsICJRIiksIGkoInF1YXJ0ZXIiLCA3KSwgVygiUSIsIG5lKSwgeigiUSIsIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICBlW2tlXSA9IDMgKiAoTSh0KSAtIDEpCiAgICAgICAgICAgICAgICB9KSwgRigiRCIsIFsiREQiLCAyXSwgIkRvIiwgImRhdGUiKSwgZSgiZGF0ZSIsICJEIiksIGkoImRhdGUiLCA5KSwgVygiRCIsIGxlKSwgVygiREQiLCBsZSwgYWUpLCBXKCJEbyIsIGZ1bmN0aW9uKHQsIGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdCA/IGUuX2RheU9mTW9udGhPcmRpbmFsUGFyc2UgfHwgZS5fb3JkaW5hbFBhcnNlIDogZS5fZGF5T2ZNb250aE9yZGluYWxQYXJzZUxlbmllbnQKICAgICAgICAgICAgICAgIH0pLCB6KFsiRCIsICJERCJdLCB3ZSksIHooIkRvIiwgZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIGVbd2VdID0gTSh0Lm1hdGNoKGxlKVswXSkKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgdmFyIGRpID0gbigiRGF0ZSIsICEwKTsKICAgICAgICAgICAgICAgIEYoIkRERCIsIFsiRERERCIsIDNdLCAiREREbyIsICJkYXlPZlllYXIiKSwgZSgiZGF5T2ZZZWFyIiwgIkRERCIpLCBpKCJkYXlPZlllYXIiLCA0KSwgVygiREREIiwgaGUpLCBXKCJEREREIiwgcmUpLCB6KFsiREREIiwgIkREREQiXSwgZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgICAgICAgIGkuX2RheU9mWWVhciA9IE0odCkKICAgICAgICAgICAgICAgIH0pLCBGKCJtIiwgWyJtbSIsIDJdLCAwLCAibWludXRlIiksIGUoIm1pbnV0ZSIsICJtIiksIGkoIm1pbnV0ZSIsIDE0KSwgVygibSIsIGxlKSwgVygibW0iLCBsZSwgYWUpLCB6KFsibSIsICJtbSJdLCBTZSk7CiAgICAgICAgICAgICAgICB2YXIgaGkgPSBuKCJNaW51dGVzIiwgITEpOwogICAgICAgICAgICAgICAgRigicyIsIFsic3MiLCAyXSwgMCwgInNlY29uZCIpLCBlKCJzZWNvbmQiLCAicyIpLCBpKCJzZWNvbmQiLCAxNSksIFcoInMiLCBsZSksIFcoInNzIiwgbGUsIGFlKSwgeihbInMiLCAic3MiXSwgRGUpOwogICAgICAgICAgICAgICAgdmFyIGNpLCBmaSA9IG4oIlNlY29uZHMiLCAhMSk7CiAgICAgICAgICAgICAgICBmb3IgKEYoIlMiLCAwLCAwLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIH5+KHRoaXMubWlsbGlzZWNvbmQoKSAvIDEwMCkKICAgICAgICAgICAgICAgICAgICB9KSwgRigwLCBbIlNTIiwgMl0sIDAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gfn4odGhpcy5taWxsaXNlY29uZCgpIC8gMTApCiAgICAgICAgICAgICAgICAgICAgfSksIEYoMCwgWyJTU1MiLCAzXSwgMCwgIm1pbGxpc2Vjb25kIiksIEYoMCwgWyJTU1NTIiwgNF0sIDAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAgKiB0aGlzLm1pbGxpc2Vjb25kKCkKICAgICAgICAgICAgICAgICAgICB9KSwgRigwLCBbIlNTU1NTIiwgNV0sIDAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwICogdGhpcy5taWxsaXNlY29uZCgpCiAgICAgICAgICAgICAgICAgICAgfSksIEYoMCwgWyJTU1NTU1MiLCA2XSwgMCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxZTMgKiB0aGlzLm1pbGxpc2Vjb25kKCkKICAgICAgICAgICAgICAgICAgICB9KSwgRigwLCBbIlNTU1NTU1MiLCA3XSwgMCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxZTQgKiB0aGlzLm1pbGxpc2Vjb25kKCkKICAgICAgICAgICAgICAgICAgICB9KSwgRigwLCBbIlNTU1NTU1NTIiwgOF0sIDAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMWU1ICogdGhpcy5taWxsaXNlY29uZCgpCiAgICAgICAgICAgICAgICAgICAgfSksIEYoMCwgWyJTU1NTU1NTU1MiLCA5XSwgMCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxZTYgKiB0aGlzLm1pbGxpc2Vjb25kKCkKICAgICAgICAgICAgICAgICAgICB9KSwgZSgibWlsbGlzZWNvbmQiLCAibXMiKSwgaSgibWlsbGlzZWNvbmQiLCAxNiksIFcoIlMiLCBoZSwgbmUpLCBXKCJTUyIsIGhlLCBhZSksIFcoIlNTUyIsIGhlLCByZSksIGNpID0gIlNTU1MiOyBjaS5sZW5ndGggPD0gOTsgY2kgKz0gIlMiKSBXKGNpLCBnZSk7CiAgICAgICAgICAgICAgICBmb3IgKGNpID0gIlMiOyBjaS5sZW5ndGggPD0gOTsgY2kgKz0gIlMiKSB6KGNpLCBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgZVtDZV0gPSBNKDFlMyAqICgiMC4iICsgdCkpCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHZhciBnaSA9IG4oIk1pbGxpc2Vjb25kcyIsICExKTsKICAgICAgICAgICAgICAgIEYoInoiLCAwLCAwLCAiem9uZUFiYnIiKSwgRigienoiLCAwLCAwLCAiem9uZU5hbWUiKTsKICAgICAgICAgICAgICAgIHZhciBtaSA9IF8ucHJvdG90eXBlOwogICAgICAgICAgICAgICAgbWkuYWRkID0gc2ksIG1pLmNhbGVuZGFyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIHZhciBpID0gdCB8fCBtdCgpLAogICAgICAgICAgICAgICAgICAgICAgICBuID0ga3QoaSwgdGhpcykuc3RhcnRPZigiZGF5IiksCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBwLmNhbGVuZGFyRm9ybWF0KHRoaXMsIG4pIHx8ICJzYW1lRWxzZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBlICYmIChEKGVbYV0pID8gZVthXS5jYWxsKHRoaXMsIGkpIDogZVthXSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0KHIgfHwgdGhpcy5sb2NhbGVEYXRhKCkuY2FsZW5kYXIoYSwgdGhpcywgbXQoaSkpKQogICAgICAgICAgICAgICAgfSwgbWkuY2xvbmUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IF8odGhpcykKICAgICAgICAgICAgICAgIH0sIG1pLmRpZmYgPSBmdW5jdGlvbih0LCBlLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG4sIGEsIHIsIG8sIHMsIGwsIHUsIGQ7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCgpICYmIChuID0ga3QodCwgdGhpcykpLmlzVmFsaWQoKSA/IChhID0gNmU0ICogKG4udXRjT2Zmc2V0KCkgLSB0aGlzLnV0Y09mZnNldCgpKSwgInllYXIiID09PSAoZSA9IFAoZSkpIHx8ICJtb250aCIgPT09IGUgfHwgInF1YXJ0ZXIiID09PSBlID8gKHMgPSB0aGlzLCB1ID0gMTIgKiAoKGwgPSBuKS55ZWFyKCkgLSBzLnllYXIoKSkgKyAobC5tb250aCgpIC0gcy5tb250aCgpKSwgZCA9IHMuY2xvbmUoKS5hZGQodSwgIm1vbnRocyIpLCBvID0gLSh1ICsgKGwgLSBkIDwgMCA/IChsIC0gZCkgLyAoZCAtIHMuY2xvbmUoKS5hZGQodSAtIDEsICJtb250aHMiKSkgOiAobCAtIGQpIC8gKHMuY2xvbmUoKS5hZGQodSArIDEsICJtb250aHMiKSAtIGQpKSkgfHwgMCwgInF1YXJ0ZXIiID09PSBlID8gbyAvPSAzIDogInllYXIiID09PSBlICYmIChvIC89IDEyKSkgOiAociA9IHRoaXMgLSBuLCBvID0gInNlY29uZCIgPT09IGUgPyByIC8gMWUzIDogIm1pbnV0ZSIgPT09IGUgPyByIC8gNmU0IDogImhvdXIiID09PSBlID8gciAvIDM2ZTUgOiAiZGF5IiA9PT0gZSA/IChyIC0gYSkgLyA4NjRlNSA6ICJ3ZWVrIiA9PT0gZSA/IChyIC0gYSkgLyA2MDQ4ZTUgOiByKSwgaSA/IG8gOiB3KG8pKSA6IE5hTgogICAgICAgICAgICAgICAgfSwgbWkuZW5kT2YgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gKHQgPSBQKHQpKSB8fCAibWlsbGlzZWNvbmQiID09PSB0ID8gdGhpcyA6ICgiZGF0ZSIgPT09IHQgJiYgKHQgPSAiZGF5IiksIHRoaXMuc3RhcnRPZih0KS5hZGQoMSwgImlzb1dlZWsiID09PSB0ID8gIndlZWsiIDogdCkuc3VidHJhY3QoMSwgIm1zIikpCiAgICAgICAgICAgICAgICB9LCBtaS5mb3JtYXQgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdCB8fCAodCA9IHRoaXMuaXNVdGMoKSA/IHAuZGVmYXVsdEZvcm1hdFV0YyA6IHAuZGVmYXVsdEZvcm1hdCk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBSKHRoaXMsIHQpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5wb3N0Zm9ybWF0KGUpCiAgICAgICAgICAgICAgICB9LCBtaS5mcm9tID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQoKSAmJiAoayh0KSAmJiB0LmlzVmFsaWQoKSB8fCBtdCh0KS5pc1ZhbGlkKCkpID8gU3QoewogICAgICAgICAgICAgICAgICAgICAgICB0bzogdGhpcywKICAgICAgICAgICAgICAgICAgICAgICAgZnJvbTogdAogICAgICAgICAgICAgICAgICAgIH0pLmxvY2FsZSh0aGlzLmxvY2FsZSgpKS5odW1hbml6ZSghZSkgOiB0aGlzLmxvY2FsZURhdGEoKS5pbnZhbGlkRGF0ZSgpCiAgICAgICAgICAgICAgICB9LCBtaS5mcm9tTm93ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZyb20obXQoKSwgdCkKICAgICAgICAgICAgICAgIH0sIG1pLnRvID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQoKSAmJiAoayh0KSAmJiB0LmlzVmFsaWQoKSB8fCBtdCh0KS5pc1ZhbGlkKCkpID8gU3QoewogICAgICAgICAgICAgICAgICAgICAgICBmcm9tOiB0aGlzLAogICAgICAgICAgICAgICAgICAgICAgICB0bzogdAogICAgICAgICAgICAgICAgICAgIH0pLmxvY2FsZSh0aGlzLmxvY2FsZSgpKS5odW1hbml6ZSghZSkgOiB0aGlzLmxvY2FsZURhdGEoKS5pbnZhbGlkRGF0ZSgpCiAgICAgICAgICAgICAgICB9LCBtaS50b05vdyA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50byhtdCgpLCB0KQogICAgICAgICAgICAgICAgfSwgbWkuZ2V0ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBEKHRoaXNbdCA9IFAodCldKSA/IHRoaXNbdF0oKSA6IHRoaXMKICAgICAgICAgICAgICAgIH0sIG1pLmludmFsaWRBdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB5KHRoaXMpLm92ZXJmbG93CiAgICAgICAgICAgICAgICB9LCBtaS5pc0FmdGVyID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIHZhciBpID0gayh0KSA/IHQgOiBtdCh0KTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gISghdGhpcy5pc1ZhbGlkKCkgfHwgIWkuaXNWYWxpZCgpKSAmJiAoIm1pbGxpc2Vjb25kIiA9PT0gKGUgPSBQKHUoZSkgPyAibWlsbGlzZWNvbmQiIDogZSkpID8gdGhpcy52YWx1ZU9mKCkgPiBpLnZhbHVlT2YoKSA6IGkudmFsdWVPZigpIDwgdGhpcy5jbG9uZSgpLnN0YXJ0T2YoZSkudmFsdWVPZigpKQogICAgICAgICAgICAgICAgfSwgbWkuaXNCZWZvcmUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBrKHQpID8gdCA6IG10KHQpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAhKCF0aGlzLmlzVmFsaWQoKSB8fCAhaS5pc1ZhbGlkKCkpICYmICgibWlsbGlzZWNvbmQiID09PSAoZSA9IFAodShlKSA/ICJtaWxsaXNlY29uZCIgOiBlKSkgPyB0aGlzLnZhbHVlT2YoKSA8IGkudmFsdWVPZigpIDogdGhpcy5jbG9uZSgpLmVuZE9mKGUpLnZhbHVlT2YoKSA8IGkudmFsdWVPZigpKQogICAgICAgICAgICAgICAgfSwgbWkuaXNCZXR3ZWVuID0gZnVuY3Rpb24odCwgZSwgaSwgbikgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAoIigiID09PSAobiA9IG4gfHwgIigpIilbMF0gPyB0aGlzLmlzQWZ0ZXIodCwgaSkgOiAhdGhpcy5pc0JlZm9yZSh0LCBpKSkgJiYgKCIpIiA9PT0gblsxXSA/IHRoaXMuaXNCZWZvcmUoZSwgaSkgOiAhdGhpcy5pc0FmdGVyKGUsIGkpKQogICAgICAgICAgICAgICAgfSwgbWkuaXNTYW1lID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIHZhciBpLCBuID0gayh0KSA/IHQgOiBtdCh0KTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gISghdGhpcy5pc1ZhbGlkKCkgfHwgIW4uaXNWYWxpZCgpKSAmJiAoIm1pbGxpc2Vjb25kIiA9PT0gKGUgPSBQKGUgfHwgIm1pbGxpc2Vjb25kIikpID8gdGhpcy52YWx1ZU9mKCkgPT09IG4udmFsdWVPZigpIDogKGkgPSBuLnZhbHVlT2YoKSwgdGhpcy5jbG9uZSgpLnN0YXJ0T2YoZSkudmFsdWVPZigpIDw9IGkgJiYgaSA8PSB0aGlzLmNsb25lKCkuZW5kT2YoZSkudmFsdWVPZigpKSkKICAgICAgICAgICAgICAgIH0sIG1pLmlzU2FtZU9yQWZ0ZXIgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKHQsIGUpIHx8IHRoaXMuaXNBZnRlcih0LCBlKQogICAgICAgICAgICAgICAgfSwgbWkuaXNTYW1lT3JCZWZvcmUgPSBmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKHQsIGUpIHx8IHRoaXMuaXNCZWZvcmUodCwgZSkKICAgICAgICAgICAgICAgIH0sIG1pLmlzVmFsaWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbSh0aGlzKQogICAgICAgICAgICAgICAgfSwgbWkubGFuZyA9IHVpLCBtaS5sb2NhbGUgPSBBdCwgbWkubG9jYWxlRGF0YSA9IEl0LCBtaS5tYXggPSBpaSwgbWkubWluID0gZWksIG1pLnBhcnNpbmdGbGFncyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmKHt9LCB5KHRoaXMpKQogICAgICAgICAgICAgICAgfSwgbWkuc2V0ID0gZnVuY3Rpb24odCwgZSkgewogICAgICAgICAgICAgICAgICAgIGlmICgib2JqZWN0IiA9PSB0eXBlb2YgdCkKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gdCkgZS5wdXNoKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdDogaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IFF0W2ldCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuc29ydChmdW5jdGlvbih0LCBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0LnByaW9yaXR5IC0gZS5wcmlvcml0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KHQgPSBUKHQpKSwgbiA9IDA7IG4gPCBpLmxlbmd0aDsgbisrKSB0aGlzW2lbbl0udW5pdF0odFtpW25dLnVuaXRdKTsKICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChEKHRoaXNbdCA9IFAodCldKSkgcmV0dXJuIHRoaXNbdF0oZSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMKICAgICAgICAgICAgICAgIH0sIG1pLnN0YXJ0T2YgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0ID0gUCh0KSkgewogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJ5ZWFyIjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW9udGgoMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgInF1YXJ0ZXIiOgogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJtb250aCI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGUoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgIndlZWsiOgogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJpc29XZWVrIjoKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAiZGF5IjoKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAiZGF0ZSI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhvdXJzKDApOwogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJob3VyIjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWludXRlcygwKTsKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAibWludXRlIjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vjb25kcygwKTsKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAic2Vjb25kIjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWlsbGlzZWNvbmRzKDApCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHJldHVybiAid2VlayIgPT09IHQgJiYgdGhpcy53ZWVrZGF5KDApLCAiaXNvV2VlayIgPT09IHQgJiYgdGhpcy5pc29XZWVrZGF5KDEpLCAicXVhcnRlciIgPT09IHQgJiYgdGhpcy5tb250aCgzICogTWF0aC5mbG9vcih0aGlzLm1vbnRoKCkgLyAzKSksIHRoaXMKICAgICAgICAgICAgICAgIH0sIG1pLnN1YnRyYWN0ID0gbGksIG1pLnRvQXJyYXkgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXM7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFt0LnllYXIoKSwgdC5tb250aCgpLCB0LmRhdGUoKSwgdC5ob3VyKCksIHQubWludXRlKCksIHQuc2Vjb25kKCksIHQubWlsbGlzZWNvbmQoKV0KICAgICAgICAgICAgICAgIH0sIG1pLnRvT2JqZWN0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHllYXJzOiB0LnllYXIoKSwKICAgICAgICAgICAgICAgICAgICAgICAgbW9udGhzOiB0Lm1vbnRoKCksCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGU6IHQuZGF0ZSgpLAogICAgICAgICAgICAgICAgICAgICAgICBob3VyczogdC5ob3VycygpLAogICAgICAgICAgICAgICAgICAgICAgICBtaW51dGVzOiB0Lm1pbnV0ZXMoKSwKICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kczogdC5zZWNvbmRzKCksCiAgICAgICAgICAgICAgICAgICAgICAgIG1pbGxpc2Vjb25kczogdC5taWxsaXNlY29uZHMoKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sIG1pLnRvRGF0ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLnZhbHVlT2YoKSkKICAgICAgICAgICAgICAgIH0sIG1pLnRvSVNPU3RyaW5nID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgcmV0dXJuIG51bGw7CiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmNsb25lKCkudXRjKCk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQueWVhcigpIDwgMCB8fCA5OTk5IDwgdC55ZWFyKCkgPyBSKHQsICJZWVlZWVktTU0tRERbVF1ISDptbTpzcy5TU1NbWl0iKSA6IEQoRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcpID8gdGhpcy50b0RhdGUoKS50b0lTT1N0cmluZygpIDogUih0LCAiWVlZWS1NTS1ERFtUXUhIOm1tOnNzLlNTU1taXSIpCiAgICAgICAgICAgICAgICB9LCBtaS5pbnNwZWN0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgcmV0dXJuICJtb21lbnQuaW52YWxpZCgvKiAiICsgdGhpcy5faSArICIgKi8pIjsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9ICJtb21lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICBlID0gIiI7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvY2FsKCkgfHwgKHQgPSAwID09PSB0aGlzLnV0Y09mZnNldCgpID8gIm1vbWVudC51dGMiIDogIm1vbWVudC5wYXJzZVpvbmUiLCBlID0gIloiKTsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9ICJbIiArIHQgKyAnKCJdJywKICAgICAgICAgICAgICAgICAgICAgICAgbiA9IDAgPD0gdGhpcy55ZWFyKCkgJiYgdGhpcy55ZWFyKCkgPD0gOTk5OSA/ICJZWVlZIiA6ICJZWVlZWVkiLAogICAgICAgICAgICAgICAgICAgICAgICBhID0gZSArICdbIildJzsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXQoaSArIG4gKyAiLU1NLUREW1RdSEg6bW06c3MuU1NTIiArIGEpCiAgICAgICAgICAgICAgICB9LCBtaS50b0pTT04gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKCkgPyB0aGlzLnRvSVNPU3RyaW5nKCkgOiBudWxsCiAgICAgICAgICAgICAgICB9LCBtaS50b1N0cmluZyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNsb25lKCkubG9jYWxlKCJlbiIpLmZvcm1hdCgiZGRkIE1NTSBERCBZWVlZIEhIOm1tOnNzIFtHTVRdWloiKQogICAgICAgICAgICAgICAgfSwgbWkudW5peCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLmZsb29yKHRoaXMudmFsdWVPZigpIC8gMWUzKQogICAgICAgICAgICAgICAgfSwgbWkudmFsdWVPZiA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9kLnZhbHVlT2YoKSAtIDZlNCAqICh0aGlzLl9vZmZzZXQgfHwgMCkKICAgICAgICAgICAgICAgIH0sIG1pLmNyZWF0aW9uRGF0YSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0OiB0aGlzLl9pLAogICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IHRoaXMuX2YsCiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogdGhpcy5fbG9jYWxlLAogICAgICAgICAgICAgICAgICAgICAgICBpc1VUQzogdGhpcy5faXNVVEMsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmljdDogdGhpcy5fc3RyaWN0CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwgbWkueWVhciA9IFdlLCBtaS5pc0xlYXBZZWFyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHEodGhpcy55ZWFyKCkpCiAgICAgICAgICAgICAgICB9LCBtaS53ZWVrWWVhciA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gRnQuY2FsbCh0aGlzLCB0LCB0aGlzLndlZWsoKSwgdGhpcy53ZWVrZGF5KCksIHRoaXMubG9jYWxlRGF0YSgpLl93ZWVrLmRvdywgdGhpcy5sb2NhbGVEYXRhKCkuX3dlZWsuZG95KQogICAgICAgICAgICAgICAgfSwgbWkuaXNvV2Vla1llYXIgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZ0LmNhbGwodGhpcywgdCwgdGhpcy5pc29XZWVrKCksIHRoaXMuaXNvV2Vla2RheSgpLCAxLCA0KQogICAgICAgICAgICAgICAgfSwgbWkucXVhcnRlciA9IG1pLnF1YXJ0ZXJzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsID09IHQgPyBNYXRoLmNlaWwoKHRoaXMubW9udGgoKSArIDEpIC8gMykgOiB0aGlzLm1vbnRoKDMgKiAodCAtIDEpICsgdGhpcy5tb250aCgpICUgMykKICAgICAgICAgICAgICAgIH0sIG1pLm1vbnRoID0gRSwgbWkuZGF5c0luTW9udGggPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gVih0aGlzLnllYXIoKSwgdGhpcy5tb250aCgpKQogICAgICAgICAgICAgICAgfSwgbWkud2VlayA9IG1pLndlZWtzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcy5sb2NhbGVEYXRhKCkud2Vlayh0aGlzKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCA9PSB0ID8gZSA6IHRoaXMuYWRkKDcgKiAodCAtIGUpLCAiZCIpCiAgICAgICAgICAgICAgICB9LCBtaS5pc29XZWVrID0gbWkuaXNvV2Vla3MgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBKKHRoaXMsIDEsIDQpLndlZWs7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gdCA/IGUgOiB0aGlzLmFkZCg3ICogKHQgLSBlKSwgImQiKQogICAgICAgICAgICAgICAgfSwgbWkud2Vla3NJblllYXIgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMubG9jYWxlRGF0YSgpLl93ZWVrOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBLKHRoaXMueWVhcigpLCB0LmRvdywgdC5kb3kpCiAgICAgICAgICAgICAgICB9LCBtaS5pc29XZWVrc0luWWVhciA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBLKHRoaXMueWVhcigpLCAxLCA0KQogICAgICAgICAgICAgICAgfSwgbWkuZGF0ZSA9IGRpLCBtaS5kYXkgPSBtaS5kYXlzID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHJldHVybiBudWxsICE9IHQgPyB0aGlzIDogTmFOOwogICAgICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuID0gdGhpcy5faXNVVEMgPyB0aGlzLl9kLmdldFVUQ0RheSgpIDogdGhpcy5fZC5nZXREYXkoKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCAhPSB0ID8gKGUgPSB0LCBpID0gdGhpcy5sb2NhbGVEYXRhKCksIHQgPSAic3RyaW5nIiAhPSB0eXBlb2YgZSA/IGUgOiBpc05hTihlKSA/ICJudW1iZXIiID09IHR5cGVvZihlID0gaS53ZWVrZGF5c1BhcnNlKGUpKSA/IGUgOiBudWxsIDogcGFyc2VJbnQoZSwgMTApLCB0aGlzLmFkZCh0IC0gbiwgImQiKSkgOiBuCiAgICAgICAgICAgICAgICB9LCBtaS53ZWVrZGF5ID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHJldHVybiBudWxsICE9IHQgPyB0aGlzIDogTmFOOwogICAgICAgICAgICAgICAgICAgIHZhciBlID0gKHRoaXMuZGF5KCkgKyA3IC0gdGhpcy5sb2NhbGVEYXRhKCkuX3dlZWsuZG93KSAlIDc7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gdCA/IGUgOiB0aGlzLmFkZCh0IC0gZSwgImQiKQogICAgICAgICAgICAgICAgfSwgbWkuaXNvV2Vla2RheSA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSByZXR1cm4gbnVsbCAhPSB0ID8gdGhpcyA6IE5hTjsKICAgICAgICAgICAgICAgICAgICBpZiAobnVsbCA9PSB0KSByZXR1cm4gdGhpcy5kYXkoKSB8fCA3OwogICAgICAgICAgICAgICAgICAgIHZhciBlLCBpLCBuID0gKGUgPSB0LCBpID0gdGhpcy5sb2NhbGVEYXRhKCksICJzdHJpbmciID09IHR5cGVvZiBlID8gaS53ZWVrZGF5c1BhcnNlKGUpICUgNyB8fCA3IDogaXNOYU4oZSkgPyBudWxsIDogZSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF5KHRoaXMuZGF5KCkgJSA3ID8gbiA6IG4gLSA3KQogICAgICAgICAgICAgICAgfSwgbWkuZGF5T2ZZZWFyID0gZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICAgICAgIHZhciBlID0gTWF0aC5yb3VuZCgodGhpcy5jbG9uZSgpLnN0YXJ0T2YoImRheSIpIC0gdGhpcy5jbG9uZSgpLnN0YXJ0T2YoInllYXIiKSkgLyA4NjRlNSkgKyAxOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsID09IHQgPyBlIDogdGhpcy5hZGQodCAtIGUsICJkIikKICAgICAgICAgICAgICAgIH0sIG1pLmhvdXIgPSBtaS5ob3VycyA9IGplLCBtaS5taW51dGUgPSBtaS5taW51dGVzID0gaGksIG1pLnNlY29uZCA9IG1pLnNlY29uZHMgPSBmaSwgbWkubWlsbGlzZWNvbmQgPSBtaS5taWxsaXNlY29uZHMgPSBnaSwgbWkudXRjT2Zmc2V0ID0gZnVuY3Rpb24odCwgZSwgaSkgewogICAgICAgICAgICAgICAgICAgIHZhciBuLCBhID0gdGhpcy5fb2Zmc2V0IHx8IDA7CiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgcmV0dXJuIG51bGwgIT0gdCA/IHRoaXMgOiBOYU47CiAgICAgICAgICAgICAgICAgICAgaWYgKG51bGwgPT0gdCkgcmV0dXJuIHRoaXMuX2lzVVRDID8gYSA6IHd0KHRoaXMpOwogICAgICAgICAgICAgICAgICAgIGlmICgic3RyaW5nIiA9PSB0eXBlb2YgdCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVsbCA9PT0gKHQgPSBfdCh2ZSwgdCkpKSByZXR1cm4gdGhpcwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBNYXRoLmFicyh0KSA8IDE2ICYmICFpICYmICh0ICo9IDYwKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuX2lzVVRDICYmIGUgJiYgKG4gPSB3dCh0aGlzKSksIHRoaXMuX29mZnNldCA9IHQsIHRoaXMuX2lzVVRDID0gITAsIG51bGwgIT0gbiAmJiB0aGlzLmFkZChuLCAibSIpLCBhICE9PSB0ICYmICghZSB8fCB0aGlzLl9jaGFuZ2VJblByb2dyZXNzID8gVHQodGhpcywgU3QodCAtIGEsICJtIiksIDEsICExKSA6IHRoaXMuX2NoYW5nZUluUHJvZ3Jlc3MgfHwgKHRoaXMuX2NoYW5nZUluUHJvZ3Jlc3MgPSAhMCwgcC51cGRhdGVPZmZzZXQodGhpcywgITApLCB0aGlzLl9jaGFuZ2VJblByb2dyZXNzID0gbnVsbCkpLCB0aGlzCiAgICAgICAgICAgICAgICB9LCBtaS51dGMgPSBmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudXRjT2Zmc2V0KDAsIHQpCiAgICAgICAgICAgICAgICB9LCBtaS5sb2NhbCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5faXNVVEMgJiYgKHRoaXMudXRjT2Zmc2V0KDAsIHQpLCB0aGlzLl9pc1VUQyA9ICExLCB0ICYmIHRoaXMuc3VidHJhY3Qod3QodGhpcyksICJtIikpLCB0aGlzCiAgICAgICAgICAgICAgICB9LCBtaS5wYXJzZVpvbmUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBpZiAobnVsbCAhPSB0aGlzLg=="}},"time_used":165,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":55,"receive":110,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.24.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.383Z","timestamp":1785129292383,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"cdnjs.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 07:07:58 GMT","end":"Thu, 08 Oct 2026 08:07:45 GMT"},"fingerprint":{"sha1":"DF:66:97:F5:13:A2:C0:81:D3:5B:60:C4:B0:7F:CD:78:F5:91:14:D5","sha256":"3C:F2:95:73:83:BA:4D:D9:CC:85:8F:BC:7D:2C:22:CF:F3:49:9A:3A:E4:1D:FC:AE:CB:07:3D:66:89:74:0E:C5"}}},"request":{"raw":"GET /ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0 HTTP/1.1\r\nHost: cdnjs.cloudflare.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://crystal-exploits.org\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/octet-stream; charset=utf-8\r\ncontent-length: 77160\r\ncf-cache-status: BYPASS\r\naccess-control-allow-origin: *\r\ncache-control: no-transform, public, s-maxage=30672000, max-age=30672000, immutable\r\nlast-modified: Mon, 04 May 2020 16:10:07 GMT\r\nvary: Accept-Encoding\r\nx-cdnjs-cache: HIT\r\ncross-origin-resource-policy: cross-origin\r\ntiming-allow-origin: *\r\nx-content-type-options: nosniff\r\ncf-cdnjs-via: cfworker/r2\r\nstrict-transport-security: max-age=15780000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=p9tbovnbvVgzarwo3yEW%2B7JEEaPMWXhUXlRaehwrZIyE%2FZwdZs0MqUeLzkh7dZIYPKFunPWWYuBWs3IV7dVn1kLbF1WsXxPSTcashObpHIJrvqwAkPklK7AtNXsrq0saVRUJ1c3w\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\npriority: u=5,i=?0\r\nserver: cloudflare\r\ncf-ray: a21929bd7e8f56c6-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":77160,"size_decoded":78143,"mime_type":"application/octet-stream; charset=utf-8","magic":"Web Open Font Format (Version 2), TrueType, length 77160, version 4.459","md5":"af7ae505a9eed503f8b8e6982036873e","sha1":"d6f48cba7d076fb6f2fd6ba993a75b9dc1ecbf0c","sha256":"2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe","sha512":"838fefdbc14901f41edf995a78fdac55764cd4912ccb734b8bea4909194582904d8f2afdf2b6c428667912ce4d65681a1044d045d1bc6de2b14113f0315fc892","ssdeep":"1536:/MkbAPfd1vyBKwHz4kco36ZvIaBfRPlajyXUA2jVTc:L0nXnHdfRVEAS2","tlshash":"7d7302e63b6c4943e03d6460708abe9f104b3ab42fe057e5c876db7f2722992b71552c","first_seen":"2023-04-05T03:30:47Z","last_seen":"2026-07-27T08:06:23.884121Z","times_seen":523828,"resource_available":false,"data":"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"}},"time_used":55,"timings":{"blocked":-1,"dns":1,"connect":8,"send":0,"wait":43,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/iframe_api?v=3.2.5","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.153.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.478Z","timestamp":1785129292478,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /iframe_api?v=3.2.5 HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript; charset=utf-8\r\nx-content-type-options: nosniff\r\ncontent-security-policy: script-src 'unsafe-eval' 'self' 'unsafe-inline' https://www.google.com https://apis.google.com https://ssl.gstatic.com https://www.gstatic.com https://www.googletagmanager.com https://www.google-analytics.com https://*.youtube.com https://*.google.com https://*.gstatic.com https://youtube.com https://www.youtube.com https://google.com https://*.doubleclick.net https://*.googleapis.com https://www.googleadservices.com https://tpc.googlesyndication.com https://www.youtubekids.com https://www.youtube-nocookie.com https://www.youtubeeducation.com https://www-onepick-opensocial.googleusercontent.com;report-uri https://csp.withgoogle.com/csp/youtube_main/allowlist, base-uri 'self';object-src 'none';script-src 'nonce-3dlTREQGAoPEZzO06yO3FQ' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';report-uri https://csp.withgoogle.com/csp/youtube_main/strict, require-trusted-types-for 'script'\r\nexpires: Mon, 27 Jul 2026 05:14:53 GMT\r\ndate: Mon, 27 Jul 2026 05:14:53 GMT\r\ncache-control: private, max-age=0\r\np3p: CP=\"This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en for more info.\"\r\nstrict-transport-security: max-age=31536000\r\nx-frame-options: SAMEORIGIN\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube_main\"\r\ncross-origin-resource-policy: cross-origin\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\nreport-to: {\"group\":\"youtube_main\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube_main\"}]},{\"group\":\"youtube_main-connectionallowlist\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/youtube_main/connectionallowlist\"}]}\r\norigin-trial: AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9, AiDEBptUfVeO93q48VdVMe/ubupazdAl8AaHP+NBzdnW8quUcHdzJUyGSfrmtpKJu7EOvwRp9ug2rEo3XU+WMAMAAAB2eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJEZXZpY2VCb3VuZFNlc3Npb25DcmVkZW50aWFsczIiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlfQ==\r\ncontent-encoding: br\r\nserver: ESF\r\nx-xss-protection: 0\r\nset-cookie: __Secure-YNID=20.YT=KZnjj-eDA_kCF0jTfJAx48dXbGXu9B-gVkYTdIFee16oZ20H5x8PdHlUtn1hGyxopJyDr1A0Tby2DiQ0XTSLQDHeK_SJYjo0iujOYQhy0E4vpwx3dE29vbMnOUTlH0ApiuNwI3u8V8hfoiPv6BhW94yl1wP8vs0M6_1arHbnK0gRy2lhsM00GKDjHfUlLLMhFqQvmXhQNcmA-KwqJXVn4XvNGMX3LxeWwDtfEouKUqg8nqbO_f4kqgU7TmI36Tz4xkRQlSSKbnQoF1Pe9320xIDZveJfXx9lhzYCo_qgoE5zQOhakUDHr5AvDNjmJWn23GE4z1n8ZmP1fw9SjIxwww; expires=Sat, 23-Jan-2027 05:14:52 GMT; path=/; domain=.youtube.com; Secure; HttpOnly; SameSite=none\nYSC=tqa0MX__di0; Domain=.youtube.com; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-YEC=; Domain=.youtube.com; Expires=Tue, 31-Oct-2023 05:14:53 GMT; Path=/; Secure; HttpOnly; SameSite=lax\nVISITOR_INFO1_LIVE=mCetZU8XVrQ; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 05:14:53 GMT; Path=/; Secure; HttpOnly; SameSite=none\nVISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgZw%3D%3D; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 05:14:53 GMT; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-ROLLOUT_TOKEN=CPyQ5NHkrquaKxCntIzrjPKVAxintIzrjPKVAw%3D%3D; Domain=youtube.com; Expires=Sat, 23-Jan-2027 05:14:53 GMT; Path=/; Secure; HttpOnly; SameSite=none; Partitioned\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":993,"size_decoded":4213,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (501)","md5":"995a58cfca5d586dca3b5579b3dc9f3d","sha1":"4eedb0ee98b595a39b4839a80c76aebe95e55f37","sha256":"412370935f9625c094daf0f288c67a20b7882914f7a07d17819d5041c8cf87c9","sha512":"2916b5b66e474f3876fb9a6166fff2b69221dcba05894564307a63dbdd80bdffd565c730a50be61ed1bc31c956fa70e78bca3e56e14d2b28d4a0746b2d9494d7","ssdeep":"","tlshash":"cd11ed7b3d84e639865894e4a03fc31cf1b224957c50cd9110cde899e65cacadd2d5fc","first_seen":"2026-07-22T11:04:10.481101Z","last_seen":"2026-07-27T08:07:32.46337Z","times_seen":672,"resource_available":true,"data":"dmFyIHNjcmlwdFVybCA9ICdodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9zXC9wbGF5ZXJcLzdhNzk2OWMyXC93d3ctd2lkZ2V0YXBpLnZmbHNldFwvd3d3LXdpZGdldGFwaS5qcyc7dHJ5e3ZhciB0dFBvbGljeT13aW5kb3cudHJ1c3RlZFR5cGVzLmNyZWF0ZVBvbGljeSgieW91dHViZS13aWRnZXQtYXBpIix7Y3JlYXRlU2NyaXB0VVJMOmZ1bmN0aW9uKHgpe3JldHVybiB4fX0pO3NjcmlwdFVybD10dFBvbGljeS5jcmVhdGVTY3JpcHRVUkwoc2NyaXB0VXJsKX1jYXRjaChlKXt9dmFyIFlUO2lmKCF3aW5kb3dbIllUIl0pWVQ9e2xvYWRpbmc6MCxsb2FkZWQ6MH07dmFyIFlUQ29uZmlnO2lmKCF3aW5kb3dbIllUQ29uZmlnIl0pWVRDb25maWc9eyJob3N0IjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20ifTsKaWYoIVlULmxvYWRpbmcpe1lULmxvYWRpbmc9MTsoZnVuY3Rpb24oKXt2YXIgbD1bXTtZVC5yZWFkeT1mdW5jdGlvbihmKXtpZihZVC5sb2FkZWQpZigpO2Vsc2UgbC5wdXNoKGYpfTt3aW5kb3cub25ZVFJlYWR5PWZ1bmN0aW9uKCl7WVQubG9hZGVkPTE7dmFyIGk9MDtmb3IoO2k8bC5sZW5ndGg7aSsrKXRyeXtsW2ldKCl9Y2F0Y2goZSl7fX07WVQuc2V0Q29uZmlnPWZ1bmN0aW9uKGMpe3ZhciBrO2ZvcihrIGluIGMpaWYoYy5oYXNPd25Qcm9wZXJ0eShrKSlZVENvbmZpZ1trXT1jW2tdfTt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTthLnR5cGU9InRleHQvamF2YXNjcmlwdCI7YS5pZD0id3d3LXdpZGdldGFwaS1zY3JpcHQiO2Euc3JjPXNjcmlwdFVybDthLmFzeW5jPXRydWU7dmFyIGM9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZihjKXt2YXIgbj1jLm5vbmNlfHxjLmdldEF0dHJpYnV0ZSgibm9uY2UiKTtpZihuKWEuc2V0QXR0cmlidXRlKCJub25jZSIsCm4pfXZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTtiLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsYil9KSgpfTsK"}},"time_used":290,"timings":{"blocked":-1,"dns":4,"connect":9,"send":0,"wait":35,"receive":0,"ssl":21},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_42x16dp.png","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.899Z","timestamp":1785129292899,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /images/branding/googlelogo/1x/googlelogo_color_42x16dp.png HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 910\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 02 Nov 2023 22:48:00 GMT\r\ncontent-type: image/png\r\nvary: Origin\r\nage: 403479\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":910,"size_decoded":1583,"mime_type":"image/png","magic":"PNG image data, 42 x 16, 8-bit/color RGBA, non-interlaced","md5":"efa6bb2bfe459bc6f4bdafa3db0383f6","sha1":"52d15ce52fe50643e542c17812de43f4ed1b6ee0","sha256":"6318394f737c66f0e2ccfcd88e3935c6667633a1b95fa29fba2b75431d55eef2","sha512":"e23c04d8997f5c2f92070e09261b7ee50d9df8753f45cf66f604f0874ffa8d99e947c97c528ec02a2c3fbe8e43d840b343a7d0225532980d5da95031216415b7","ssdeep":"","tlshash":"491184a73cd1dc6854a47a87aa91b864ec250f1b91a220981237b42277313444fdc8f7","first_seen":"2023-04-05T07:39:29Z","last_seen":"2026-07-27T08:08:22.860217Z","times_seen":54081,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAACoAAAAQCAYAAABgIu2QAAADVUlEQVR4AcxUA9AdPRRNbdu2+7K//+4mW9vWqNbYU2z21bZt27Zt+6nK5lUftrkPO7V1Zu7iZnJycoUc2HYC4hZVKROjqCnmEdMaoDJRHv1g4HmNKuCFjVX0OajeO5CWML5eCrSlnaGMr5VCr4X+mdXrhwpd0GgKXtDgAPoUIJIgTDPFE42JalF37952QspE+6rG0zy/hVDdsDSInHy3Qp8Jr6pk99A/s7333ttRdrD3ramDRHbd/STTp4QG6F+5fNUq5kCvg5qWmxr8qWuincTxsWAu1bRKR42avCT4H1TFeXxU2ePTFRvMo7t2AmlI4ObkeWM2J9kTsyWJDSa/d8ZvSRFaU3vzzJohNkFA5Fnx8sz9mmGJt4XeVV2ZvTreFuWXZy29rqrJEYAwMUYKuYccgM+aAKRR0wweayOUwEdc++Tm034dK/e1in96CT7nocoO20YJpLh9MVsSnX65ObHyclviP+X3ORAbvri1kjJ+mxi8EmWiIjHFKeB9W6hXV+Z7iXITuMF8RBHyPDeKkHSDTeqAYO7XU6SavDgYYWKEjEYgoP6RG27pp7iOUwI6bgQ+MShn+XAkkzprMZuTNgLfxlmNC0AUNca7OIEwecP3CZXCglLsCMk7xEtcDyAwcAYC/GfyLHKTRQ2xEBoIvYbave2U0n8exhWkPZKS2o7Qyrgh+F70z1khnO5EzlrMpqQNwbdhVuvC4cwEO0bXNBas9yGhYF6qTPRWUd4ZjRDVJprJ42TktgEJzE/ZXM3k/0kp9CExHheC1Huo67CPuo7fr4JLy2YqC2Ughe6NpP6wTPfxFxuTlH6xJUlZKAOoWeCH0QfjTmVBHM4SP/Zeoboy20OUu16C//GSioW8FM/1UNwavQ4pVKUmP/x6bRJTbAdiFAFslkTHosXuJcqhe6RCPlh7tjlZwZhNiY46zbQpycH4rcnzRUuJGmKPw834ifcJffzffxl8FG8A7ohd9tGKFdEHR0g/q4wzRt5CKLI6LggG36+vQWRB8LONyQrAt8PZ25ta7/+sIBhMFBnd7pAp9AFAP/gJLmb3RgnRz4QUNhm6HsqKuIN1iclvUWZNQ78b/hnoT0MMMVsz+Qtq8JfQuGrvR+nR74omi+xEYOjVBgEYBQDoQD6ep9ySZwAAAABJRU5ErkJggg=="}},"time_used":17,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/product/2x/translate_24dp.png","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.900Z","timestamp":1785129292900,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /images/branding/product/2x/translate_24dp.png HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1842\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 07:17:13 GMT\r\nexpires: Sat, 24 Jul 2027 07:17:13 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 14 Oct 2021 09:08:00 GMT\r\ncontent-type: image/png\r\nvary: Origin\r\nage: 251860\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1842,"size_decoded":2516,"mime_type":"image/png","magic":"PNG image data, 48 x 48, 8-bit/color RGBA, non-interlaced","md5":"c69c796362406f9e11c7f4bf5bb628da","sha1":"e489ce95ab56208090868882113d7416abf46775","sha256":"4dac0026fbfa2615dce30c0af12830863fe885f84387a0147b9e338f548d5d82","sha512":"d3ad560ed0fd29be7d2cc434694f09e5a6fbea8b29c0611aecb54a1b73b4d722c53f42a19dae9e3d5d358444e50fb8fffbc39d67ce751bdbc8c861f6f95d3162","ssdeep":"","tlshash":"4e31f9fd129220437101ade72165eef798347c15f412da60ce65ba389c9fe20ed9a619","first_seen":"2023-04-05T07:39:29Z","last_seen":"2026-07-27T08:08:22.763707Z","times_seen":71397,"resource_available":false,"data":"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"}},"time_used":17,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/indices/nasdaq-100.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.915Z","timestamp":1785129292915,"http_version":"HTTP/2","security_state":"secure","security_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 /indices/nasdaq-100.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 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: \"e43547b28d52708527e1a93ed81a65a7\"\r\nlast-modified: Fri, 09 Jan 2026 13:46:11 GMT\r\nx-amz-id-2: Ut768fvv6CqolLoHMm1SzecLOAJ9udCAk/7mrw0tp6dHw2zVKY2n3szIptBZGaty1gMDDdfbmQ54Vl4LuLguQLLdCENUwYijguaOG44xTFI=\r\nx-amz-request-id: ZR1Z43GWF09180KJ\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: e43547b28d52708527e1a93ed81a65a7\r\ncdn-proxyver: 1.43\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 01/09/2026 15:15:32\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a88df721976d7d7b9cb13869d8871ea3\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":595,"size_decoded":1293,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (595), with no line terminators","md5":"e43547b28d52708527e1a93ed81a65a7","sha1":"cea5f013e01ff1dcd32d3cca0bebb7bb45f759f3","sha256":"ba307d8fb558b6f6e51d2e263f39b8c41440fa8765c14ae0dd6b6d9a7ecc0ead","sha512":"2ee4d4edb6b9450c0cce1e631ed0b2fcc95b92c9a57b3eee5f6b49587350659c98ca38c9207d46648750699cc1a3ff8525a414b7e47de95b70672d69395591e9","ssdeep":"","tlshash":"7af0ac926b15afdd67138b42cd505188098f68e5f24a83dcb13152bcd4467c3bc5052c","first_seen":"2026-01-10T04:08:40.597074Z","last_seen":"2026-07-27T08:08:01.235922Z","times_seen":2584,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiMwMDkxQkEiIGQ9Ik0wIDBoMTh2MThIMHoiLz48cGF0aCBkPSJNMy41IDExLjloMS4yVjYuMUgzLjVMMiA3LjE0djEuMDhsMS40Ny0xaC4wM3Y0LjY4Wk04LjI3IDEyYzEuNDYgMCAyLjM1LTEuMTUgMi4zNS0zcy0uODktMy0yLjM1LTMtMi4zNSAxLjE1LTIuMzUgMyAuODkgMyAyLjM1IDNabTAtLjk3Yy0uNzIgMC0xLjEzLS43NS0xLjEzLTIuMDMgMC0xLjI4LjQxLTIuMDMgMS4xMy0yLjAzUzkuNCA3LjcyIDkuNCA5VjljMCAxLjI4LS40MSAyLjAzLTEuMTMgMi4wM1pNMTMuNjUgMTJDMTUuMSAxMiAxNiAxMC44NSAxNiA5cy0uODktMy0yLjM1LTNjLTEuNDcgMC0yLjM2IDEuMTUtMi4zNiAzcy45IDMgMi4zNiAzWm0wLS45N2MtLjcyIDAtMS4xMy0uNzUtMS4xMy0yLjAzIDAtMS4yOC40LTIuMDMgMS4xMy0yLjAzLjcyIDAgMS4xMy43NSAxLjEzIDIuMDJWOWMwIDEuMjgtLjQxIDIuMDMtMS4xMyAyLjAzWiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg=="}},"time_used":45,"timings":{"blocked":2,"dns":24,"connect":1,"send":0,"wait":2,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_68x28dp.png","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:53.032Z","timestamp":1785129293032,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /images/branding/googlelogo/1x/googlelogo_color_68x28dp.png HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1597\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:18 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:18 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 30 Jun 2023 18:58:00 GMT\r\ncontent-type: image/png\r\nvary: Origin\r\nage: 403475\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":1597,"size_decoded":2271,"mime_type":"image/png","magic":"PNG image data, 68 x 28, 8-bit/color RGBA, non-interlaced","md5":"c4a931d597decd2553aac6634b766cf2","sha1":"6ec84fb4a2745b4b71520241be77db1fd1013830","sha256":"f56402b127698db4b4dc611a97a6f081d04c4691c60522c5912d189e37c94a9e","sha512":"4932e0f7f38085a7c52539bdd5c7f470740e560a4471bea30d12ef9e3efe77f6bbfac28d26c62a245c43d98ebf74c824b2b414843080a27edf1563a5f874ac84","ssdeep":"","tlshash":"7c310afff39e8cec419e764069ba5965a362cd68233e928f14499592e4d007710f5f41","first_seen":"2023-04-05T08:27:37Z","last_seen":"2026-07-27T08:08:22.792427Z","times_seen":17466,"resource_available":false,"data":"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"}},"time_used":16,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T05:14:50.821Z","timestamp":1785129290821,"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":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: none\r\nPriority: u=0, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nx-powered-by: PHP/7.4.33\r\nset-cookie: CameFrom=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; secure\nPHPSESSID=e139c476ee920e8d46298ca724fa67b1; path=/; domain=crystal-exploits.org; HttpOnly; secure\r\nexpires: Thu, 19 Nov 1981 08:52:00 GMT\r\ncache-control: no-store, no-cache, must-revalidate\r\npragma: no-cache\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"PHP:7.4.33","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":"Google Maps","description":"Google Maps is a web mapping service. It offers satellite imagery, aerial photography, street maps, 360° interactive panoramic views of streets, real-time traffic conditions, and route planning for traveling by foot, car, bicycle and air, or public transportation.","website":"https://maps.google.com","common_platform_enumeration":"","icon":"Google Maps.svg","categories":["Maps"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":53739,"size_decoded":10958,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (873)","md5":"77c6f672135c1287e98338fe02d98e91","sha1":"eec459f77be84d4d0ac94288eb4c84fb57fa0de4","sha256":"dc98f023bebef959f8c35766521eab84c6b131cdb12907ab498ffb1a83f532d9","sha512":"ac75e033cbbe4d7f31cb4f595409ef2732b7aac8764e6cd29a578e23525ae65284c2b03a90132e7569416744f78dfb213a5cc9b9f287623cf8a89fe2de9e5ebf","ssdeep":"768:YDkuJOTosl1FPGRIHzullJt425paIYAbI:YDATRl1FPGRIHKbx7YAbI","tlshash":"c0339230aaf414bb02c341e5aab15b0a2f91e507fa4a4a4172fc4bd99fd3e53ed1764c","first_seen":"2026-07-27T05:15:36.949044Z","last_seen":"2026-07-27T05:15:36.949044Z","times_seen":1,"resource_available":false,"data":"CjwhZG9jdHlwZSBodG1sPgo8aHRtbCBsYW5nPSJlbiI+Cgo8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IgogICAgICAgICAgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCB1c2VyLXNjYWxhYmxlPW5vLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIG1pbmltdW0tc2NhbGU9MS4wIj4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iaWU9ZWRnZSI+CiAgICA8dGl0bGU+Y3J5c3RhbC1leHBsb2l0cy5vcmc8L3RpdGxlPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVBvcHBpbnM6NDAwLDUwMCw2MDAsNzAwLDkwMHxNaXJ6YTo0MDAsNzAwJmFtcDtzdWJzZXQ9YXJhYmljIiByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUFsbHVyYSIgcmVsPSJzdHlsZXNoZWV0Ij4KCiAgICA8IS0tIGluamVjdDpjc3MtLT4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL3BsdWdpbi5taW4uY3NzIj4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGUuY3NzIj4KICAgIDwhLS0gZW5kaW5qZWN0IC0tPgogICAgPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS9wbmciIHNpemVzPSIzMngzMiIgaHJlZj0iaW1nL2xvZ29zcy5wbmciPgogICAgCiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL3RyYW5zbGF0ZS5nb29nbGUuY29tL3RyYW5zbGF0ZV9hL2VsZW1lbnQuanM/Y2I9Z29vZ2xlVHJhbnNsYXRlRWxlbWVudEluaXQiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmZ1bmN0aW9uIGdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0KCkgewogIG5ldyBnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZUVsZW1lbnQoe3BhZ2VMYW5ndWFnZTogJ2VuJ30sICdnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQnKTsKfQo8L3NjcmlwdD4KCgo8L2hlYWQ+Cjxib2R5PgoKCiAgICAgCiAgICA8IS0tIGhlYWRlciBhcmVhIC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImhlYWRlciBoZWFkZXItLTIiPgogICAgICAgIAogIAoKICAgICAgICAKICAgIDwhLS0gc3RhcnQgbWVudSBhcmVhIC0tPgogICAgPGRpdiBjbGFzcz0ibWVudV9hcmVhIG1lbnUxIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWV4cGFuZC1sZyBuYXZiYXItbGlnaHQgYmctbGlnaHQgcHgtMCI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2YmFyLWJyYW5kIG9yZGVyLXNtLTEgb3JkZXItMSIgaHJlZj0iP2E9aG9tZSI+PGltZyBzcmM9ImltZy9sb2dvcy5wbmciIHN0eWxlPSJoZWlnaHQ6IDUwcHg7IiBhbHQ9IiIvPjwvYT4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdmJhci10b2dnbGVyIiB0eXBlPSJidXR0b24iIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNuYXZiYXJTdXBwb3J0ZWRDb250ZW50MiIgYXJpYS1jb250cm9scz0ibmF2YmFyU3VwcG9ydGVkQ29udGVudDIiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWxhYmVsPSJUb2dnbGUgbmF2aWdhdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhIGxhLWJhcnMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZSBvcmRlci1tZC0xIiBpZD0ibmF2YmFyU3VwcG9ydGVkQ29udGVudDIiPgogICAgICAgICAgICAgICAgICAgIAogICAgCiAgICAgICAgCiAgICAKICAgIDx1bCBjbGFzcz0ibmF2YmFyLW5hdiBtLWF1dG8iPgogICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0gYWN0aXZlIj4KICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSI/YT1ob21lIj5Ib21lCiAgICAKICAgICAgICAgICAgPC9hPgogICAgICAgICAgCiAgICAgICAgICAgIDwhLS0gZW5kOiAubWVnYS1tZW51IC0tPgogICAgICAgIDwvbGk+CgogICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSBkcm9wZG93biI+CiAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayBkcm9wZG93bi10b2dnbGUiIGhyZWY9IiMiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPkFib3V0IFVzPC9hPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSIgaHJlZj0iP2E9aGlzdG9yeSI+SGlzdG9yeTwvYT4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkcm9wZG93bi1pdGVtIiBocmVmPSI/YT1taXNzaW9uIj5NaXNzaW9uIEFuZCBWYWx1ZTwvYT4KICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRyb3Bkb3duLWl0ZW0iIGhyZWY9Ij9hPXdoeV91cyI+V2h5IFVzPC9hPgogICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkcm9wZG93bi1pdGVtIiBocmVmPSI/YT1mYXEiPkZBUTwvYT4KICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRyb3Bkb3duLWl0ZW0iICBocmVmPSI/YT1zZWN1cml0eSI+U2VjdXJpdHk8L2E+CiAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkcm9wZG93bi1pdGVtIiBocmVmPSI/YT1ydWxlcyI+VGVybXMgJiBDb25kaXRpb25zPC9hPgogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkcm9wZG93bi1pdGVtIiBocmVmPSI/YT1wb2xpY3kiPlJlZmVycmFsIFBvbGljeTwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9saT4KCgogICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIGRyb3Bkb3duIj4KICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIGRyb3Bkb3duLXRvZ2dsZSIgaHJlZj0iIyIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+U2VydmljZXM8L2E+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRyb3Bkb3duLWl0ZW0iIGhyZWY9Ij9hPWVxdWl0eSI+QWN0aXZlIEVxdWl0eTwvYT4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkcm9wZG93bi1pdGVtIiBocmVmPSI/YT1mb3JleCI+Rm9yZWlnbiAgRXhjaGFuZ2U8L2E+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSIgaHJlZj0iP2E9cmVhbF9lc3RhdGUiPlJlYWwgRXN0YXRlICYgUHJvcGVydHkgTWFuYWdlbWVudDwvYT4KICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSIgaHJlZj0iP2E9aW5mcmFzdHJ1Y3R1cmUiPkluZnJhc3RydWN0dXJlPC9hPgogICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkcm9wZG93bi1pdGVtIiBocmVmPSI/YT1tdWx0aV9hc3NldCI+TXVsdGkgQXNzZXQ8L2E+CiAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkcm9wZG93bi1pdGVtIiBocmVmPSI/YT1xdWFudGl0YXRpdmVfaW52ZXN0bWVudHMiPlF1YW50aXRhdGl2ZSBJbnZlc3RtZW50czwvYT4KICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRyb3Bkb3duLWl0ZW0iIGhyZWY9Ij9hPWNyeXB0b2N1cnJlbmN5Ij5DcnlwdG9jdXJyZW5jeTwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9saT4KICAgICAgIAogICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0gZHJvcGRvd24iPgogICAgICAgICAgICA8YSBjbGFzcz0ibmF2LWxpbmsgZHJvcGRvd24tdG9nZ2xlIiBocmVmPSIjIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj5JbnNpZ2h0PC9hPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSIgaHJlZj0iP2E9d2VhbHRoIj5XZWFsdGggTWFuYWdlbWVudDwvYT4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkcm9wZG93bi1pdGVtIiBocmVmPSI/YT1waGlsb3NvcGh5Ij5JbnZlc3RtZW50IFBoaWxvc29waHk8L2E+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSIgaHJlZj0iP2E9Y2FwYWJpbGl0eSI+SW52ZXN0bWVudCBDYXBhYmlsaXR5PC9hPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRyb3Bkb3duLWl0ZW0iIGhyZWY9Ij9hPXByaW5jaXBsZSI+SW52ZXN0bWVudCBQcmluY2lwbGU8L2E+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSIgaHJlZj0iP2E9cmlzayI+SW52ZXN0bWVudCBSaXNrPC9hPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvbGk+CiAgICAgIAogICAgICAgIDxsaT4KICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIGRyb3Bkb3duLXRvZ2dsZSIgaHJlZj0iP2E9c3VwcG9ydCIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPkNvbnRhY3QgVXM8L2E+CiAgICAKICAgICAgICAgCiAgICAgICAgPC9saT4KICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIGRyb3Bkb3duIj4KICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIGRyb3Bkb3duLXRvZ2dsZSIgaHJlZj0iIyIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+QWNjb3VudDwvYT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZHJvcGRvd24taXRlbSIgaHJlZj0iP2E9c2lnbnVwIj5SZWdpc3RlcjwvYT4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkcm9wZG93bi1pdGVtIiBocmVmPSI/YT1sb2dpbiI+TG9naW48L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvbGk+CiAgICAgICAgICAgPGxpIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDMwcHg7Ij48ZGl2IGlkPSJnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQiPjwvZGl2PjwvbGk+CiAgICA8L3VsPgogICAgPCEtLSBlbmQ6IC5uYXZiYXItbmF2IC0tPgoKICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L25hdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPCEtLSBlbmQgbWVudSBhcmVhIC0tPgoKICAgIDwvc2VjdGlvbj48IS0tIGVuZDogLmhlYWRlciAtLT4KICAgIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXIiPgogIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXJfX3dpZGdldCI+PC9kaXY+CiAgCiAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9zMy50cmFkaW5ndmlldy5jb20vZXh0ZXJuYWwtZW1iZWRkaW5nL2VtYmVkLXdpZGdldC10aWNrZXItdGFwZS5qcyIgYXN5bmM+CiAgewogICJzeW1ib2xzIjogWwogICAgewogICAgICAicHJvTmFtZSI6ICJGT1JFWENPTTpTUFhVU0QiLAogICAgICAidGl0bGUiOiAiUyZQIDUwMCIKICAgIH0sCiAgICB7CiAgICAgICJwcm9OYW1lIjogIkZPUkVYQ09NOk5TWFVTRCIsCiAgICAgICJ0aXRsZSI6ICJOYXNkYXEgMTAwIgogICAgfSwKICAgIHsKICAgICAgInByb05hbWUiOiAiRlhfSURDOkVVUlVTRCIsCiAgICAgICJ0aXRsZSI6ICJFVVIvVVNEIgogICAgfSwKICAgIHsKICAgICAgInByb05hbWUiOiAiQklUU1RBTVA6QlRDVVNEIiwKICAgICAgInRpdGxlIjogIkJUQy9VU0QiCiAgICB9LAogICAgewogICAgICAicHJvTmFtZSI6ICJCSVRTVEFNUDpFVEhVU0QiLAogICAgICAidGl0bGUiOiAiRVRIL1VTRCIKICAgIH0KICBdLAogICJzaG93U3ltYm9sTG9nbyI6IHRydWUsCiAgImNvbG9yVGhlbWUiOiAiZGFyayIsCiAgImlzVHJhbnNwYXJlbnQiOiBmYWxzZSwKICAiZGlzcGxheU1vZGUiOiAiYWRhcHRpdmUiLAogICJsb2NhbGUiOiAiZW4iCn0KICA8L3NjcmlwdD4KPC9kaXY+CjwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEVORCAtLT4gIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvZm9udC1hd2Vzb21lLzQuNy4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyI+CiAgICA8c3R5bGU+CiAgICAgICAgLnNvY2lhbC1pY29ucy1xbCBsaXsKCSAgIGxpc3Qtc3R5bGU6bm9uZTsKCSAgIGZsb2F0OmxlZnQ7CgkgICB3aWR0aDo3MHB4OwoJICAgaGVpZ2h0OjcwcHg7CgkgICBsaW5lLWhlaWdodDo3NXB4OwoJICAgYmFja2dyb3VuZDojMDc0YTU1OwoJICAgdGV4dC1hbGlnbjpjZW50ZXI7CgkgICBtYXJnaW46MTBweCA1cHg7CiAgIH0KICAKICAgLnNvY2lhbC1pY29ucy1xbCBsaTpudGgtY2hpbGQoMSl7CgkgICB3aWR0aDo3MHB4OwoJICAgaGVpZ2h0OjcwcHg7CgkgICBsaW5lLWhlaWdodDo3N3B4OwkgICAKCSAgIG1hcmdpbjoxMHB4IDVweDsKCSAgICBiYWNrZ3JvdW5kOiMwNzRhNTU7CiAgIH0KICAgCiAgIC5zb2NpYWwtaWNvbnMtcWwgbGk6bnRoLWNoaWxkKDEpIGl7CgkgICBmb250LXNpemU6MzBweDsKCSAgIAogICB9CiAgLnNvY2lhbC1pY29ucy1xbCBsaTpudGgtY2hpbGQoMikgewogICBiYWNrZ3JvdW5kOiMwNzRhNTU7Cn0KCi5zb2NpYWwtaWNvbnMtcWwgbGk6bnRoLWNoaWxkKDMpIHsKICAgYmFja2dyb3VuZDojMDc0YTU1Owp9Ci5zb2NpYWwtaWNvbnMtcWwgbGk6bnRoLWNoaWxkKDQpIHsKICAgIGJhY2tncm91bmQ6IzA3NGE1NTsKfQouc29jaWFsLWljb25zLXFsIGxpOm50aC1jaGlsZCg1KSB7CiAgIGJhY2tncm91bmQ6IzA3NGE1NTsKfQoKLnNvY2lhbC1pY29ucy1xbCBsaTpudGgtY2hpbGQoNikgewogIGJhY2tncm91bmQ6IzA3NGE1NTsKfQouc29jaWFsLWljb25zLXFsIGxpOm50aC1jaGlsZCg3KSB7CiAgICBiYWNrZ3JvdW5kOiMwNzRhNTU7Cn0KCiAgIAogICAKICAgLnNvY2lhbC1pY29ucy1xbCBsaSBpewoJICAgY29sb3I6I2ZmZjsKCSAgICBmb250LXNpemU6MzBweDsKICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJyZXZfc2xpZGVyXzI3XzFfd3JhcHBlciIgY2xhc3M9InJldl9zbGlkZXJfd3JhcHBlciBmdWxsd2lkdGhiYW5uZXItY29udGFpbmVyIiBkYXRhLWFsaWFzPSJzbGlkZXI2IgogICAgICAgICBkYXRhLXNvdXJjZT0iZ2FsbGVyeSIKICAgICAgICAgc3R5bGU9Im1hcmdpbjowcHggYXV0bztiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BhZGRpbmc6MHB4O21hcmdpbi10b3A6MHB4O21hcmdpbi1ib3R0b206MHB4OyI+CiAgICAgICAgPCEtLSBTVEFSVCBSRVZPTFVUSU9OIFNMSURFUiA1LjQuOC4xIGZ1bGx3aWR0aCBtb2RlIC0tPgogICAgICAgIDxkaXYgaWQ9InJldl9zbGlkZXJfMjdfMSIgY2xhc3M9InJldl9zbGlkZXIgZnVsbHdpZHRoYWJhbm5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiIGRhdGEtdmVyc2lvbj0iNS40LjguMSI+CiAgICAgICAgICAgIDx1bD4gICAgPCEtLSBTTElERSAgLS0+CiAgICAgICAgICAgICAgICA8bGkgZGF0YS1pbmRleD0icnMtNjYiIGRhdGEtdHJhbnNpdGlvbj0iZmFkZSIgZGF0YS1zbG90YW1vdW50PSJkZWZhdWx0IiBkYXRhLWhpZGVhZnRlcmxvb3A9IjAiCiAgICAgICAgICAgICAgICAgICAgZGF0YS1oaWRlc2xpZGVvbm1vYmlsZT0ib2ZmIiBkYXRhLWVhc2Vpbj0iZGVmYXVsdCIgZGF0YS1lYXNlb3V0PSJkZWZhdWx0IiBkYXRhLW1hc3RlcnNwZWVkPSIzMDAiCiAgICAgICAgICAgICAgICAgICAgZGF0YS1kZWxheT0iNzM0MCIgZGF0YS1yb3RhdGU9IjAiIGRhdGEtc2F2ZXBlcmZvcm1hbmNlPSJvZmYiIGRhdGEtdGl0bGU9IlNsaWRlIiBkYXRhLXBhcmFtMT0iIgogICAgICAgICAgICAgICAgICAgIGRhdGEtcGFyYW0yPSIiIGRhdGEtcGFyYW0zPSIiIGRhdGEtcGFyYW00PSIiIGRhdGEtcGFyYW01PSIiIGRhdGEtcGFyYW02PSIiIGRhdGEtcGFyYW03PSIiCiAgICAgICAgICAgICAgICAgICAgZGF0YS1wYXJhbTg9IiIKICAgICAgICAgICAgICAgICAgICBkYXRhLXBhcmFtOT0iIiBkYXRhLXBhcmFtMTA9IiIgZGF0YS1kZXNjcmlwdGlvbj0iIj4KICAgICAgICAgICAgICAgICAgICA8IS0tIE1BSU4gSU1BR0UgLS0+CiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltZy9zbGlkZXJfYmc1LmpwZyIgYWx0PSIiCiAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJncG9zaXRpb249ImNlbnRlciBjZW50ZXIiIGRhdGEtYmdmaXQ9ImNvdmVyIiBjbGFzcz0icmV2LXNsaWRlYmciIGRhdGEtbm8tcmV0aW5hPgogICAgICAgICAgICAgICAgICAgIDwhLS0gTEFZRVJTIC0tPgoKICAgICAgICAgICAgICAgICAgICA8IS0tIEJBQ0tHUk9VTkQgVklERU8gTEFZRVIgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icnMtYmFja2dyb3VuZC12aWRlby1sYXllciIKICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZm9yY2VyZXdpbmQ9Im9uIgogICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS12b2x1bWU9Im11dGUiCiAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXl0aWQ9ImRrOXVOV1BQN0VBIgogICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS12aWRlb2F0dHJpYnV0ZXM9InZlcnNpb249MyZhbXA7ZW5hYmxlanNhcGk9MSZhbXA7aHRtbDU9MSZhbXA7aGQ9MSZhbXA7d21vZGU9b3BhcXVlJmFtcDtzaG93aW5mbz0wJmFtcDtyZWw9MDs7b3JpZ2luPWh0dHA6Ly9sb2NhbGhvc3Q6MzAxMDsiCiAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXZpZGVvcmF0ZT0iMSIKICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdmlkZW93aWR0aD0iMTAwJSIKICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdmlkZW9oZWlnaHQ9IjEwMCUiCiAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXZpZGVvY29udHJvbHM9Im5vbmUiCiAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXZpZGVvbG9vcD0ibG9vcGFuZG5vc2xpZGVzdG9wIgogICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mb3JjZUNvdmVyPSIxIgogICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hc3BlY3RyYXRpbz0iMTY6OSIKICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b3BsYXk9InRydWUiCiAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9wbGF5b25seWZpcnN0dGltZT0iZmFsc2UiCiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJyem1fNjYiIGNsYXNzPSJyZXZfcm93X3pvbmUgcmV2X3Jvd196b25lX21pZGRsZSIgc3R5bGU9InotaW5kZXg6IDU7Ij4KCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTEFZRVIgTlIuIDEgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRwLWNhcHRpb24gICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0ic2xpZGUtNjYtbGF5ZXItMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXg9IjEwMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXk9ImNlbnRlciIgZGF0YS12b2Zmc2V0PSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0iWydhdXRvJ10iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9IlsnYXV0byddIgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXR5cGU9InJvdyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWNvbHVtbmJyZWFrPSIzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcmVzcG9uc2l2ZT0ib2ZmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZnJhbWVzPSdbeyJkZWxheSI6MTAsInNwZWVkIjozMDAsImZyYW1lIjoiMCIsImZyb20iOiJvcGFjaXR5OjA7IiwidG8iOiJvOjE7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifSx7ImRlbGF5Ijoid2FpdCIsInNwZWVkIjozMDAsImZyYW1lIjoiOTk5IiwidG8iOiJvcGFjaXR5OjA7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifV0nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1tYXJnaW50b3A9IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1hcmdpbnJpZ2h0PSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1tYXJnaW5ib3R0b209IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1hcmdpbmxlZnQ9IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRleHRBbGlnbj0iWydpbmhlcml0JywnaW5oZXJpdCcsJ2luaGVyaXQnLCdpbmhlcml0J10iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5ndG9wPSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5ncmlnaHQ9IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZGRpbmdib3R0b209IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZGRpbmdsZWZ0PSJbMCwwLDAsMF0iCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA1OyB3aGl0ZS1zcGFjZTogbm93cmFwOyBmb250LXNpemU6IDIwcHg7IGxpbmUtaGVpZ2h0OiAyMnB4OyBmb250LXdlaWdodDogNDAwOyBjb2xvcjogI2ZmZmZmZjsgbGV0dGVyLXNwYWNpbmc6IDBweDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBMQVlFUiBOUi4gMiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRwLWNhcHRpb24gICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9InNsaWRlLTY2LWxheWVyLTIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEteD0iMTAwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXk9IjEwMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0iWydhdXRvJ10iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaGVpZ2h0PSJbJ2F1dG8nXSIKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHlwZT0iY29sdW1uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmVfb2Zmc2V0PSJvbiIKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZnJhbWVzPSdbeyJkZWxheSI6IiswIiwic3BlZWQiOjMwMCwiZnJhbWUiOiIwIiwiZnJvbSI6Im9wYWNpdHk6MDsiLCJ0byI6Im86MTsiLCJlYXNlIjoiUG93ZXIzLmVhc2VJbk91dCJ9LHsiZGVsYXkiOiJ3YWl0Iiwic3BlZWQiOjMwMCwiZnJhbWUiOiI5OTkiLCJ0byI6Im9wYWNpdHk6MDsiLCJlYXNlIjoiUG93ZXIzLmVhc2VJbk91dCJ9XScKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1jb2x1bW53aWR0aD0iMTYuNjclIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXZlcnRpY2FsYWxpZ249InRvcCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1tYXJnaW50b3A9IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1tYXJnaW5yaWdodD0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1hcmdpbmJvdHRvbT0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1hcmdpbmxlZnQ9IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXh0QWxpZ249IlsnaW5oZXJpdCcsJ2luaGVyaXQnLCdpbmhlcml0JywnaW5oZXJpdCddIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZGRpbmd0b3A9IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5ncmlnaHQ9IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5nYm90dG9tPSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFkZGluZ2xlZnQ9IlswLDAsMCwwXSIKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA2OyB3aWR0aDogMTAwJTsiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTEFZRVIgTlIuIDMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cC1jYXB0aW9uICAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJzbGlkZS02Ni1sYXllci0zIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXg9IjEwMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS15PSIxMDAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtd2lkdGg9IlsnYXV0byddIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWhlaWdodD0iWydhdXRvJ10iCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXR5cGU9ImNvbHVtbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1yZXNwb25zaXZlX29mZnNldD0ib24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcmVzcG9uc2l2ZT0ib2ZmIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZyYW1lcz0nW3siZGVsYXkiOiIrMCIsInNwZWVkIjozMDAsImZyYW1lIjoiMCIsImZyb20iOiJvcGFjaXR5OjA7IiwidG8iOiJvOjE7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifSx7ImRlbGF5Ijoid2FpdCIsInNwZWVkIjozMDAsImZyYW1lIjoiOTk5IiwidG8iOiJvcGFjaXR5OjA7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifV0nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtY29sdW1ud2lkdGg9IjY2LjY3JSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS12ZXJ0aWNhbGFsaWduPSJ0b3AiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbWFyZ2ludG9wPSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbWFyZ2lucmlnaHQ9IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1tYXJnaW5ib3R0b209IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1tYXJnaW5sZWZ0PSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGV4dEFsaWduPSJbJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlciddIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZGRpbmd0b3A9IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5ncmlnaHQ9IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5nYm90dG9tPSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFkZGluZ2xlZnQ9IlswLDAsMCwwXSIKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA3OyB3aWR0aDogMTAwJTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTEFZRVIgTlIuIDQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiAgIHRwLXJlc2l6ZW1lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9InNsaWRlLTY2LWxheWVyLTUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXg9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEteT0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0iWydhdXRvJ10iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWhlaWdodD0iWydhdXRvJ10iCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1yZXNwb25zaXZlX29mZnNldD0ib24iCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mb250c2l6ZT0iWyc1MCcsICc0NScsICc0MCcsICczMiddIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1saW5laGVpZ2h0PSJbJzY0JywgJzU1JywgJzQzJywgJzM4J10iCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mcmFtZXM9J1t7ImRlbGF5IjoiKzAiLCJzcGVlZCI6MTY1MCwiZnJhbWUiOiIwIiwiZnJvbSI6Ink6Wy0xMDAlXTt6OjA7clg6MGRlZztyWTowO3JaOjA7c1g6MTtzWToxO3NrWDowO3NrWTowOyIsIm1hc2siOiJ4OjBweDt5OjBweDtzOmluaGVyaXQ7ZTppbmhlcml0OyIsInRvIjoibzoxOyIsImVhc2UiOiJQb3dlcjMuZWFzZUluT3V0In0seyJkZWxheSI6IndhaXQiLCJzcGVlZCI6MzAwLCJmcmFtZSI6Ijk5OSIsInRvIjoib3BhY2l0eTowOyIsImVhc2UiOiJQb3dlcjMuZWFzZUluT3V0In1dJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1tYXJnaW50b3A9IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbWFyZ2lucmlnaHQ9IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbWFyZ2luYm90dG9tPSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1hcmdpbmxlZnQ9IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGV4dEFsaWduPSJbJ2luaGVyaXQnLCdpbmhlcml0JywnaW5oZXJpdCcsJ2luaGVyaXQnXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFkZGluZ3RvcD0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5ncmlnaHQ9IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFkZGluZ2JvdHRvbT0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5nbGVmdD0iWzAsMCwwLDBdIgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA4OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBmb250LXNpemU6IDUwcHg7IGxpbmUtaGVpZ2h0OiA2NHB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogI2ZmZmZmZjsgbGV0dGVyLXNwYWNpbmc6IDBweDsgZGlzcGxheTogYmxvY2s7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2VsY29tZSBUbzxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcnlzdGFsLWV4cGxvaXRzLm9yZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIExBWUVSIE5SLiA1IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRwLWNhcHRpb24gICB0cC1yZXNpemVtZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJzbGlkZS02Ni1sYXllci02IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS14PSIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXk9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtd2lkdGg9IlsnYXV0byddIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9IlsnYXV0byddIgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHNpemU9IlsnMjAnLCAnMjAnLCAnMTgnLCAnMTYnXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbGluZWhlaWdodD0iWyczNicsICczNicsICcyNCcsICcyMiddIgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZnJhbWVzPSdbeyJkZWxheSI6Iis5NzAiLCJzcGVlZCI6MTQ5MCwiZnJhbWUiOiIwIiwiZnJvbSI6Ink6WzEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7b3BhY2l0eTowOyIsIm1hc2siOiJ4OjBweDt5OlsxMDAlXTtzOmluaGVyaXQ7ZTppbmhlcml0OyIsInRvIjoibzoxOyIsImVhc2UiOiJQb3dlcjIuZWFzZUluT3V0In0seyJkZWxheSI6IndhaXQiLCJzcGVlZCI6MzAwLCJmcmFtZSI6Ijk5OSIsInRvIjoib3BhY2l0eTowOyIsImVhc2UiOiJQb3dlcjMuZWFzZUluT3V0In1dJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1tYXJnaW50b3A9IlszMCwzMCwzMCwzMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1hcmdpbnJpZ2h0PSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1hcmdpbmJvdHRvbT0iWzQwLDQwLDQwLDQwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbWFyZ2lubGVmdD0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXh0QWxpZ249IlsnaW5oZXJpdCcsJ2luaGVyaXQnLCdpbmhlcml0JywnaW5oZXJpdCddIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5ndG9wPSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZGRpbmdyaWdodD0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5nYm90dG9tPSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZGRpbmdsZWZ0PSJbMCwwLDAsMF0iCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9InotaW5kZXg6IDk7IHdoaXRlLXNwYWNlOiBub3JtYWw7IGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IDM2cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGNvbG9yOiAjZmZmZmZmOyBsZXR0ZXItc3BhY2luZzogMHB4OyBkaXNwbGF5OiBibG9jazsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBMQVlFUiBOUi4gNiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cC1jYXB0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9InNsaWRlLTY2LWxheWVyLTciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXg9IiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEteT0iIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0iWydhdXRvJ10iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWhlaWdodD0iWydhdXRvJ10iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXR5cGU9InRleHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmVfb2Zmc2V0PSJvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mcmFtZXM9J1t7ImRlbGF5IjoiKzIyNTAiLCJzcGVlZCI6NDUsImZyYW1lIjoiMCIsImZyb20iOiJ6OjA7clg6MDtyWTowO3JaOjA7c1g6MC45O3NZOjAuOTtza1g6MDtza1k6MDtvcGFjaXR5OjA7IiwidG8iOiJvOjE7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifSx7ImRlbGF5Ijoid2FpdCIsInNwZWVkIjozMDAsImZyYW1lIjoiOTk5IiwidG8iOiJvcGFjaXR5OjA7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifV0nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1hcmdpbnRvcD0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1tYXJnaW5yaWdodD0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1tYXJnaW5ib3R0b209IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbWFyZ2lubGVmdD0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXh0QWxpZ249IlsnaW5oZXJpdCcsJ2luaGVyaXQnLCdpbmhlcml0JywnaW5oZXJpdCddIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5ndG9wPSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZGRpbmdyaWdodD0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5nYm90dG9tPSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZGRpbmdsZWZ0PSJbMCwwLDAsMF0iCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9InotaW5kZXg6IDEwOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9c2lnbnVwIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkiPlJlZ2lzdGVyPC9hPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIExBWUVSIE5SLiA3IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRwLWNhcHRpb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0ic2xpZGUtNjYtbGF5ZXItOCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEteD0iNSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEteT0iNSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtd2lkdGg9IlsnYXV0byddIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9IlsnYXV0byddIgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZnJhbWVzPSdbeyJkZWxheSI6IisyMjUwIiwic3BlZWQiOjQ1MCwiZnJhbWUiOiIwIiwiZnJvbSI6Ino6MDtyWDowO3JZOjA7clo6MDtzWDowLjk7c1k6MC45O3NrWDowO3NrWTowO29wYWNpdHk6MDsiLCJ0byI6Im86MTsiLCJlYXNlIjoiUG93ZXIzLmVhc2VJbk91dCJ9LHsiZGVsYXkiOiJ3YWl0Iiwic3BlZWQiOjMwMCwiZnJhbWUiOiI5OTkiLCJ0byI6Im9wYWNpdHk6MDsiLCJlYXNlIjoiUG93ZXIzLmVhc2VJbk91dCJ9XScKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbWFyZ2ludG9wPSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1hcmdpbnJpZ2h0PSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1hcmdpbmJvdHRvbT0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1tYXJnaW5sZWZ0PSJbMzAsMzAsMzAsMzBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXh0QWxpZ249IlsnaW5oZXJpdCcsJ2luaGVyaXQnLCdpbmhlcml0JywnaW5oZXJpdCddIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5ndG9wPSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZGRpbmdyaWdodD0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5nYm90dG9tPSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZGRpbmdsZWZ0PSJbMCwwLDAsMF0iCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9InotaW5kZXg6IDExOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9bG9naW4iIGNsYXNzPSJidG4gaGVyb19idG4gYnRuLW91dGxpbmUtcHJpbWFyeSI+TG9naW48L2E+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIExBWUVSIE5SLiA4IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiAgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0ic2xpZGUtNjYtbGF5ZXItNCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS14PSIxMDAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEteT0iMTAwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXdpZHRoPSJbJ2F1dG8nXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9IlsnYXV0byddIgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10eXBlPSJjb2x1bW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmU9Im9mZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1mcmFtZXM9J1t7ImRlbGF5IjoiKzAiLCJzcGVlZCI6MzAwLCJmcmFtZSI6IjAiLCJmcm9tIjoib3BhY2l0eTowOyIsInRvIjoibzoxOyIsImVhc2UiOiJQb3dlcjMuZWFzZUluT3V0In0seyJkZWxheSI6IndhaXQiLCJzcGVlZCI6MzAwLCJmcmFtZSI6Ijk5OSIsInRvIjoib3BhY2l0eTowOyIsImVhc2UiOiJQb3dlcjMuZWFzZUluT3V0In1dJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWNvbHVtbndpZHRoPSIxNi42NyUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdmVydGljYWxhbGlnbj0idG9wIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1hcmdpbnRvcD0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW1hcmdpbnJpZ2h0PSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbWFyZ2luYm90dG9tPSJbMCwwLDAsMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbWFyZ2lubGVmdD0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRleHRBbGlnbj0iWydpbmhlcml0JywnaW5oZXJpdCcsJ2luaGVyaXQnLCdpbmhlcml0J10iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFkZGluZ3RvcD0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZGRpbmdyaWdodD0iWzAsMCwwLDBdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZGRpbmdib3R0b209IlswLDAsMCwwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWRkaW5nbGVmdD0iWzAsMCwwLDBdIgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9InotaW5kZXg6IDEyOyB3aWR0aDogMTAwJTsiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRwLWJhbm5lcnRpbWVyIHRwLWJvdHRvbSIgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj48IS0tIEVORCBSRVZPTFVUSU9OIFNMSURFUiAtLT4KCgoKICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi1wYWRkaW5nIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgYWxpZ24taXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy01IG1hcmdpbi1tZC02MCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibS1ib3R0b20tMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgIDxkaXYgY2xhc3M9ImRpdmlkZXIgZGl2aWRlci1zaW1wbGUgdGV4dC1sZWZ0Ij4KICAgICAgICA8aDIgY2xhc3M9Im0tYm90dG9tLTIwIj5BYm91dCBjcnlzdGFsLWV4cGxvaXRzLm9yZzwvaDI+CiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHA+Y3J5c3RhbC1leHBsb2l0cy5vcmcgaXMgYSBmdWxseSBjZXJ0aWZpZWQsIGxpY2Vuc2VkIGNvbXBhbnkgaW4gVW5pdGVkIEtpbmdkb20gd2hpY2ggb2ZmZXJzIGludmVzdG9ycyBhcm91bmQgdGhlIGdsb2JlIHJlbGlhYmxlIGludmVzdG1lbnQgc2NoZWR1bGVzIHdpdGggbWluaW11bSBpbnZlc3RtZW50IGFzIGxvdyBhcyAkMjAuPGJyPjxicj5PdXIgaW5kZWZpbml0ZWx5IHNjYWxhYmxlIGludmVzdG1lbnQgcGxhdGZvcm0gaXMgc29sdmluZyBvbmUgb2YgdGhlIG1vc3QgbGltaXRpbmcgYW5kIGxvbmctZHVlIGlzc3VlcyBvZiB0aGUgY3VycmVudCBpbnZlc3RtZW50IG1hcmtldCB3aXRob3V0IGFueSBjb21wcm9taXNlLgogICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSI/YT1oaXN0b3J5IiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi0tcm91bmRlZCBtdC00Ij5SZWFkIE1vcmU8L2E+CiAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIGVuZHM6IC5jb2wtbGctNSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy02IG9mZnNldC1sZy0xIj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS0tPGlmcmFtZSB3aWR0aD0iNTAwIiBoZWlnaHQ9IjMxNSIKc3JjPSIjIiBhbGxvdz0iYXV0b3BsYXkiPgo8L2lmcmFtZT4tLS0+CgogICAgICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmRzOiAuY29sLWxnLTYgLS0+CiAgICAgICAgICAgIDwvZGl2PjwhLS0gZW5kczogLnJvdyAtLT4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj48IS0tIGVuZHM6IHNlY3Rpb24gLS0+CgoKCiAgICA8c2VjdGlvbiBjbGFzcz0icC10b3AtMTAwIHAtYm90dG9tLTQwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtLWJvdHRvbS01MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgPGRpdiBjbGFzcz0iZGl2aWRlciB0ZXh0LWNlbnRlciI+CiAgICAgICAgPGgxIGNsYXNzPSJjb2xvci1kYXJrIj5PdXIgU2VydmljZXM8L2gxPgogICAgICAgIDxwIGNsYXNzPSJteC1hdXRvIj5XZSB0cmFkZSBpbiBmb3JleCwgY3J5cHRvLCByZWFsIGFzc2V0cywgYm9uZHMsIGFuZCBlcXVpdGllcy4gSW52ZXN0b3JzIGZ1bmRzIGdvZXMgaW50byB0cmFkaW5nIGZvciBhIGNlcnRhaW4gcGVyaW9kIG9mIHRpbWUgYW5kIHByb2ZpdCBpcyBnZW5lcmF0ZWQgd2Vla2x5LjwvcD4KICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgIDxkaXYgY2xhc3M9ImNhcmQtc3R5bGUtdGVuIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgIAogICAgPGRpdiBjbGFzcz0iY2FyZC0tc2V2ZW4gY2FyZC0tdGVuIj4KICAgICAgICA8ZmlndXJlPgogICAgICAgICAgICA8aW1nIHNyYz0iaW1nL2hvbWUtMDEuanBlZyIgYWx0PSIiPgogICAgICAgIDwvZmlndXJlPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm9keSBweC0wIHBiLTAiPgogICAgICAgICAgICA8aDY+PGEgaHJlZj0iIyI+SW52ZXN0bWVudCBQaGlsb3NvcGh5PC9hPjwvaDY+CiAgICAgICAgICAgIDxwPkNvbXBhbnkgc3RyYXRlZ3kgaXMgY29uc3RhbnRseSBldm9sdmluZyBhcyBtYXJrZXRzIGFuZCBlbnZpcm9ubWVudHMgY2hhbmdlLiBXaXRob3V0IGEgY2xlYXIgY29ycG9yYXRlIHZpc2lvbiwgYW5kIGV4Y2VsbGVudCBsZWFkZXJzaGlwIHRvIHJlYWxpc2UgdGhhdCB2aXNpb24sIGl04oCZcyBhbG1vc3QgaW1wb3NzaWJsZSB0byBnZW5lcmF0ZSBsb25nLXRlcm0gdmFsdWUuIE91ciBhbmFseXN0cyBzcGVuZCB0aW1lIHdpdGggdGhlIGxlYWRlcnNoaXAgdGVhbSBhbmQgYWxzbyBhdHRlbmQga2V5IHNoYXJlaG9sZGVyIG1lZXRpbmdzLjwvcD4KICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj48IS0tIEVuZDogLmNhcmQgLS0+CgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNCBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgCiAgICA8ZGl2IGNsYXNzPSJjYXJkLS1zZXZlbiBjYXJkLS10ZW4iPgogICAgICAgIDxmaWd1cmU+CiAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvYzJzcy5qcGciIGFsdD0iIj4KICAgICAgICA8L2ZpZ3VyZT4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJvZHkgcHgtMCBwYi0wIj4KICAgICAgICAgICAgPGg2PjxhIGhyZWY9IiMiPkludmVzdG1lbnQgQ2FwYWJpbGl0eTwvYT48L2g2PgogICAgICAgICAgICA8cD5XZSBtYW5hZ2UgYSByYW5nZSBvZiBsaXF1aWRpdHkgYXNzZXRzIGZvciBhIGJyb2FkIHJhbmdlIG9mIGluc3RpdHV0aW9uYWwgY2xpZW50cy4gVGhlc2UgaW52ZXN0b3JzIGluY2x1ZGUgY29ycG9yYXRlcywgYmFua3MsIGxvY2FsIGF1dGhvcml0aWVzLCBhbmQgcGVuc2lvbiBmdW5kcy4gQnV4aW5lIEFzc2V0cyBvZmZlciBhIHNlbGVjdGlvbiBvZiBsaXF1aWRpdHkgc29sdXRpb25zIGNhcGFibGUgb2YgbWVldGluZyB5b3VyIG5lZWRzLCB3aGV0aGVyIHRoZXkgYXJlIGNhcGl0YWwgcHJlc2VydmF0aW9uLCBkYWlseSBkZWFsaW5nIGxpcXVpZGl0eSBvciBlbmhhbmNlZCB5aWVsZC48L3A+CiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgPC9kaXY+PCEtLSBFbmQ6IC5jYXJkIC0tPgoKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgIAogICAgPGRpdiBjbGFzcz0iY2FyZC0tc2V2ZW4gY2FyZC0tdGVuIj4KICAgICAgICA8ZmlndXJlPgogICAgICAgICAgICA8aW1nIHNyYz0iaW1nL2Mzcy5qcGciIGFsdD0iIj4KICAgICAgICA8L2ZpZ3VyZT4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJvZHkgcHgtMCBwYi0wIj4KICAgICAgICAgICAgPGg2PjxhIGhyZWY9IiMiPkludmVzdG1lbnQgUHJpbmNpcGxlPC9hPjwvaDY+CiAgICAgICAgICAgIDxwPmNyeXN0YWwtZXhwbG9pdHMub3JnIGJlbGlldmVzIHRoYXQgaXQgY2FuIGJlIG1hbmFnZWQgYW5kIG1pdGlnYXRlZCB0byBlbnN1cmUgdGhhdCBjbGllbnRzIGFyZSB0cmVhdGVkIGZhaXJseSBhbmQgdGhlaXIgaW50ZXJlc3RzIHB1dCBhdCB0aGUgZm9yZWZyb250IG9mIGhvdyBjcnlzdGFsLWV4cGxvaXRzLm9yZyBvcGVyYXRlcy4gQW4gaW5jbHVzaXZlIGFuZCB1bml0aW5nIGN1bHR1cmUgd2lsbCBiZSBjZW50cmFsIHRvIGRlbGl2ZXJpbmcgb3VyIHZpc2lvbiBvZiBiZWluZyBhIHdvcmxkIGNsYXNzIGludmVzdG1lbnQgY29tcGFueS48L3A+CiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgPC9kaXY+PCEtLSBFbmQ6IC5jYXJkIC0tPgoKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj48IS0tIGVuZHM6IC5jYXJkLXN0eWxlLXJvdyAtLT4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PjwhLS0gZW5kczogLmNhcmQtc3R5bGUtbmluZSAtLT4KCiAgICA8L3NlY3Rpb24+PCEtLSBlbmRzOiAuc2VjdGlvbi1wYWRkaW5nIC0tPgoKICAgIDxzZWN0aW9uIGNsYXNzPSJwLXRvcC0xMDAgcC1ib3R0b20tNTUiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im0tYm90dG9tLTY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICA8ZGl2IGNsYXNzPSJkaXZpZGVyIHRleHQtY2VudGVyIj4KICAgICAgICA8aDE+SW52ZXN0bWVudCBTcGVjdHJ1bTwvaDE+CiAgICAgICAgCiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICA8ZGl2IGNsYXNzPSJpY29uLWJveGVzIGljb24tYm94LS1zaXgiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNCBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgCiAgICA8ZGl2IGNsYXNzPSJpY29uLWJveC1mb3VyIGQtZmxleCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYm94LWljb24iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1zcXVhcmUtc20iPjxpIGNsYXNzPSJsYSBsYS10aHVtYnMtdXAiPjwvaT48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYm94LWNvbnRlbnQiPgogICAgICAgICAgICA8aDY+Q3J5cHRvY3VycmVuY3kgVHJhZGluZzwvaDY+CiAgICAgICAgICAgIDxwPldpdGggYW4gZXZlci1ncm93aW5nIHNlbGVjdGlvbiBvZiBjcnlwdG9jdXJyZW5jaWVzIGFkZGVkIHRvIHRoZSBwbGF0Zm9ybSwgQnV4aW5lIEFzc2V0cyBwcmVzZW50cyBtYW55IG9wdGlvbnMgZm9yIHRob3NlIHdobyB3aXNoIHRvIHRyYWRlIGFuZCBpbnZlc3QgaW4gdGhlIGNyeXB0byBtYXJrZXQuPC9wPgogICAgICAgICAgICAgPGEgaHJlZj0iP2E9Y3J5cHRvY3VycmVuY3kiIGNsYXNzPSJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSI+UmVhZCBNb3JlPC9hPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+PCEtLSBlbmRzOiAuaWNvbi1ib3ggLS0+CiAKICAgICAgICAgICAgICAgIDwvZGl2PjwhLS0gZW5kczogLmNvbC1sZy00IC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgIAogICAgPGRpdiBjbGFzcz0iaWNvbi1ib3gtZm91ciBkLWZsZXgiPgogICAgICAgIDxkaXYgY2xhc3M9ImJveC1pY29uIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tc3F1YXJlLXNtIj48aSBjbGFzcz0ibGEgbGEtYmFyLWNoYXJ0Ij48L2k+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJveC1jb250ZW50Ij4KICAgICAgICAgICAgPGg2PkluZnJhc3RydWN0dXJlPC9oNj4KICAgICAgICAgICAgPHA+T3VyIGVjb25vbWljIGluZnJhc3RydWN0dXJlIGludmVzdG1lbnQgcGhpbG9zb3BoeSBjZW50cmVzIG9uIG91ciBiZWxpZWYgdGhhdCBpbmZyYXN0cnVjdHVyZSBpcyBhIGxvbmctdGVybSBhc3NldCBjbGFzcyBjYXBhYmxlIG9mIGRlbGl2ZXJpbmcgYXR0cmFjdGl2ZSwgY29uc2lzdGVudCByZXR1cm5zLjwvcD4KICAgICAgICAgICA8YSBocmVmPSI/YT1pbmZyYXN0cnVjdHVyZSIgY2xhc3M9ImJ0biBidG4tb3V0bGluZS1wcmltYXJ5Ij5SZWFkIE1vcmU8L2E+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj48IS0tIGVuZHM6IC5pY29uLWJveCAtLT4KIAogICAgICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmRzOiAuY29sLWxnLTQgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNCBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgCiAgICA8ZGl2IGNsYXNzPSJpY29uLWJveC1mb3VyIGQtZmxleCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYm94LWljb24iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1zcXVhcmUtc20iPjxpIGNsYXNzPSJsYSBsYS1tb25leSI+PC9pPjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJib3gtY29udGVudCI+CiAgICAgICAgICAgIDxoNj5SZWFsIEVzdGF0ZSBBbmQgUHJvcGVydHkgTWFuYWdlbWVudDwvaDY+CiAgICAgICAgICAgIDxwPkF0IGNyeXN0YWwtZXhwbG9pdHMub3JnIE1hbmFnZW1lbnQsIHdlIG9mZmVyIGV4cGVydGlzZSBhY3Jvc3MgYWxsIHByaW5jaXBhbCByZWFsIGVzdGF0ZSBzZWN0b3JzIOKAkyBlbmFibGluZyBvdXIgY2xpZW50cyB0byB0YXJnZXQgb3Bwb3J0dW5pdGllcyBpbiB0aGVpciBob21lIG1hcmtldCBhbmQgZ2xvYmFsbHkuPC9wPgogICAgICAgICAgICA8YSBocmVmPSI/YT1yZWFsX2VzdGF0ZSIgY2xhc3M9ImJ0biBidG4tb3V0bGluZS1wcmltYXJ5Ij5SZWFkIE1vcmU8L2E+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj48IS0tIGVuZHM6IC5pY29uLWJveCAtLT4KIAogICAgICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmRzOiAuY29sLWxnLTQgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNCBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgCiAgICA8ZGl2IGNsYXNzPSJpY29uLWJveC1mb3VyIGQtZmxleCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYm94LWljb24iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1zcXVhcmUtc20iPjxpIGNsYXNzPSJsYSBsYS1wZW5jaWwtc3F1YXJlIj48L2k+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJveC1jb250ZW50Ij4KICAgICAgICAgICAgPGg2PkFjaXRpdmUgRXF1aXR5PC9oNj4KICAgICAgICAgICAgPHA+R2xvYmFsIGluc2lnaHQgY3J5c3RhbC1leHBsb2l0cy5vcmcgbWFuYWdlbWVudCBoYXMgYSBzdHJvbmcgaGlzdG9yeSBvZiBtYW5hZ2luZyBlcXVpdHkgcG9ydGZvbGlvcyBhY3Jvc3MgbXVsdGlwbGUgbWFya2V0IGN5Y2xlcy4gV2Ugbm93IG1hbmFnZSBtb3JlIHRoYW4gwqMxMjAuMmJuLyQxNTAuNGJuKiBpbiBjbGllbnQgZXF1aXR5IG1hbmRhdGVzLgoKPC9wPgo8YSBocmVmPSI/YT1lcXVpdHkiIGNsYXNzPSJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSI+UmVhZCBNb3JlPC9hPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+PCEtLSBlbmRzOiAuaWNvbi1ib3ggLS0+CiAKICAgICAgICAgICAgICAgIDwvZGl2PjwhLS0gZW5kczogLmNvbC1sZy00IC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgIAogICAgPGRpdiBjbGFzcz0iaWNvbi1ib3gtZm91ciBkLWZsZXgiPgogICAgICAgIDxkaXYgY2xhc3M9ImJveC1pY29uIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tc3F1YXJlLXNtIj48aSBjbGFzcz0ibGEgbGEtbGV2ZWwtdXAiPjwvaT48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYm94LWNvbnRlbnQiPgogICAgICAgICAgICA8aDY+UXVhbnRpdGF0aXZlIEludmVzdG1lbnQ8L2g2PgogICAgICAgICAgICA8cD5XZSBiZWxpZXZlIHRoYXQgcGVyc2lzdGVudCBpbmVmZmljaWVuY2llcyBpbiBjYXBpdGFsIG1hcmtldHMgcHJlc2VudCBvcHBvcnR1bml0aWVzIGZvciByaXNrLWFkanVzdGVkIHJldHVybi4gQXQgQnV4aW5lIEFzc2V0cyB3ZSBsb29rIHRvIGhhcm5lc3MgdGhpcyBwb3RlbnRpYWwgdGhyb3VnaCBvdXIgZ2xvYmFsIHF1YW50aXRhdGl2ZSBpbnZlc3RtZW50IGNhcGFiaWxpdHkuPC9wPgogICAgICAgICAgICA8YSBocmVmPSI/YT1xdWFudGl0YXRpdmVfaW52ZXN0bWVudHMiIGNsYXNzPSJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSI+UmVhZCBNb3JlPC9hPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+PCEtLSBlbmRzOiAuaWNvbi1ib3ggLS0+CiAKICAgICAgICAgICAgICAgIDwvZGl2PjwhLS0gZW5kczogLmNvbC1sZy00IC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgIAogICAgPGRpdiBjbGFzcz0iaWNvbi1ib3gtZm91ciBkLWZsZXgiPgogICAgICAgIDxkaXYgY2xhc3M9ImJveC1pY29uIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tc3F1YXJlLXNtIj48aSBjbGFzcz0ibGEgbGEtbGlnaHRidWxiLW8iPjwvaT48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYm94LWNvbnRlbnQiPgogICAgICAgICAgICA8aDY+Rm9yZXg8L2g2PgogICAgICAgICAgICA8cD5Gb3JleCB0cmFkaW5nIGlzIHRoZSBhY3Qgb2YgYnV5aW5nIG9uZSBjdXJyZW5jeSB3aGlsZSBzaW11bHRhbmVvdXNseSBzZWxsaW5nIGFub3RoZXIgY3VycmVuY3ksIHdpdGggdGhlIGFpbSBvZiBwcm9maXRpbmcgZnJvbSB0aGUgY2hhbmdlcyBpbiB0aGUgdmFsdWVzIG9mIHRoZXNlIHR3byBjdXJyZW5jaWVzIG92ZXIgdGltZS48L3A+CiAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWZvcmV4IiBjbGFzcz0iYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkiPlJlYWQgTW9yZTwvYT4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PjwhLS0gZW5kczogLmljb24tYm94IC0tPgogCiAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIGVuZHM6IC5jb2wtbGctNCAtLT4KICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmRzOiAucm93IC0tPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+PCEtLSBlbmRzOiAuaWNvbi1ib3hlcyAtLT4KCiAgICA8L3NlY3Rpb24+PCEtLSBlbmRzOiBzZWN0aW9uIC0tPgoKCiA8c2VjdGlvbiBjbGFzcz0icC10b3AtMTAwIHAtYm90dG9tLTU1Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtLWJvdHRvbS02NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgPGRpdiBjbGFzcz0iZGl2aWRlciB0ZXh0LWNlbnRlciI+CiAgICAgICAgPGgxPkludmVzdG1lbnQgUGFja2FnZXM8L2gxPgogICAgICAgIDxicj4KICAgIDwvZGl2Pgo8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hIHZhbHVlPWRlcG9zaXQ+CjxkaXYgY2xhc3M9ImVsZW1lbnQtY29udGVudCI+CjxkaXYgY2xhc3M9InByaWNpbmctcGxhbnMgcm93IG5vLWd1dHRlcnNrIj4KICAgIAo8ZGl2IGNsYXNzPSJwcmljaW5nLXBsYW4gY29sLW1kLTMiPgo8ZGl2IGNsYXNzPSJwbGFuLWhlYWQiICBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogIzAwMCI+CgogICAgPGRpdiBjbGFzcz0icGxhbi1uYW1lIiBzdHlsZT0iY29sb3I6ICMwNmI1OTA7cGFkZGluZy1ib3R0b206IDQwcHgiPkJBU0lDIFBMQU4gMi41JSBEQUlMWSBGT1IgNSBEQVlTPC9kaXY+CiAgICAgPGRpdiBjbGFzcz0icGxhbi1uYW1lIiBzdHlsZT0iY29sb3I6ICMwNmI1OTA7IGZvbnQtd2VpZ2h0OiA5NTA7Ij4kMjAgLSAkMTk5OSA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwbGFuLWRlc2NyaXB0aW9uIiBzdHlsZT0iY29sb3I6ICMzZDNjM2MiPgoKPGRpdiBjbGFzcz0icHJpY2UtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHVsPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlByb2ZpdCByZXR1cm4gPC9saT48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+UmVmZXJyYWwgQm9udXM6IDElPC9saT48YnI+CiAgICAgICAgICAKICAgICAgICAgIDxsaT4gV2l0aGRyYXdhbCBvZiBQcm9maXQ6IGF0IGFueSB0aW1lPC9saT48YnI+CiAgICAgICAgPGxpPjI0LzcgQ3VzdG9tZXIgQ2FyZTwvbGk+PGJyPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icGxhbi1idG4tdyIgPgo8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyZDEiIG5hbWU9aF9pZCB2YWx1ZT0iMSIgY2hlY2tlZCAgb25jbGljaz0idXBkYXRlQ29tcG91bmQoKSIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPiAgICAgICAgICA8bGFiZWwgZm9yPSJyZDEiICBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4xIj5TRUxFQ1QgTk9XPC9sYWJlbD4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGJyPgo8ZGl2IGNsYXNzPSJwcmljaW5nLXBsYW4gY29sLW1kLTMiPgo8ZGl2IGNsYXNzPSJwbGFuLWhlYWQiICBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogIzAwMCI+CgogICAgPGRpdiBjbGFzcz0icGxhbi1uYW1lIiBzdHlsZT0iY29sb3I6ICMwNmI1OTA7cGFkZGluZy1ib3R0b206IDQwcHgiPlNUQU5EQVJEIFBMQU4gNSUgREFJTFkgRk9SIDUgREFZUyA8L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJwbGFuLW5hbWUiIHN0eWxlPSJjb2xvcjogIzA2YjU5MDsgZm9udC13ZWlnaHQ6IDk1MDsiPiQyMDAwIC0gJDksOTk5IDwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBsYW4tZGVzY3JpcHRpb24iIHN0eWxlPSJjb2xvcjogIzNkM2MzYyI+Cgo8ZGl2IGNsYXNzPSJwcmljZS1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8dWw+PGJyPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+UHJvZml0IHJldHVybjwvbGk+PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlJlZmVycmFsIEJvbnVzOiAyJTwvbGk+PGJyPgogICAgICAgICAgCiAgICAgICAgICA8bGk+IFdpdGhkcmF3YWwgb2YgUHJvZml0OiBhdCBhbnkgdGltZTwvbGk+PGJyPgogICAgICAgIDxsaT4yNC83IEN1c3RvbWVyIENhcmU8L2xpPjxicj4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KCjxkaXYgY2xhc3M9InBsYW4tYnRuLXciID4KPGlucHV0IHR5cGU9InJhZGlvIiBpZD0icmQxIiBuYW1lPWhfaWQgdmFsdWU9IjEiIGNoZWNrZWQgIG9uY2xpY2s9InVwZGF0ZUNvbXBvdW5kKCkiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4gICAgICAgICAgPGxhYmVsIGZvcj0icmQxIiAgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuMSI+U0VMRUNUIE5PVzwvbGFiZWw+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+Cjxicj4KPGRpdiBjbGFzcz0icHJpY2luZy1wbGFuIGNvbC1tZC0zIj4KPGRpdiBjbGFzcz0icGxhbi1oZWFkIiAgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICMwMDAiPgoKICAgIDxkaXYgY2xhc3M9InBsYW4tbmFtZSIgc3R5bGU9ImNvbG9yOiAjMDZiNTkwO3BhZGRpbmctYm90dG9tOiA0MHB4Ij5QUkVNSVVNIFBMQU4gMTAlIERBSUxZIEZPUiAzIERBWVM8L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJwbGFuLW5hbWUiIHN0eWxlPSJjb2xvcjogIzA2YjU5MDsgZm9udC13ZWlnaHQ6IDk1MDsiPiQxMCwwMDAgLSAkMTAwLDAwMCA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwbGFuLWRlc2NyaXB0aW9uIiBzdHlsZT0iY29sb3I6ICMzZDNjM2MiPgoKPGRpdiBjbGFzcz0icHJpY2UtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHVsPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlByb2ZpdCByZXR1cm4gPC9saT48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+UmVmZXJyYWwgQm9udXM6IDMlPC9saT48YnI+CiAgICAgICAgICAKICAgICAgICAgIDxsaT4gV2l0aGRyYXdhbCBvZiBQcm9maXQ6IGF0IGFueSB0aW1lPC9saT48YnI+CiAgICAgICAgPGxpPjI0LzcgQ3VzdG9tZXIgQ2FyZTwvbGk+PGJyPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icGxhbi1idG4tdyIgPgo8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyZDEiIG5hbWU9aF9pZCB2YWx1ZT0iMSIgY2hlY2tlZCAgb25jbGljaz0idXBkYXRlQ29tcG91bmQoKSIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPiAgICAgICAgICA8bGFiZWwgZm9yPSJyZDEiICBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4xIj5TRUxFQ1QgTk9XPC9sYWJlbD4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KCjxicj4KCiA8ZGl2IGNsYXNzPSJwcmljaW5nLXBsYW4gY29sLW1kLTMiPgo8ZGl2IGNsYXNzPSJwbGFuLWhlYWQiICBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogIzAwMCI+CgogICAgPGRpdiBjbGFzcz0icGxhbi1uYW1lIiBzdHlsZT0iY29sb3I6ICMwNmI1OTA7cGFkZGluZy1ib3R0b206IDQwcHgiPlZJUCBQTEFOIDI1JSBEQUlMWSBGT1IgMiBEQVlTPC9kaXY+CiAgICAgPGRpdiBjbGFzcz0icGxhbi1uYW1lIiBzdHlsZT0iY29sb3I6ICMwNmI1OTA7IGZvbnQtd2VpZ2h0OiA5NTA7Ij4kNTAsMDAwIC0gJDEsMDAwLDAwMCA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwbGFuLWRlc2NyaXB0aW9uIiBzdHlsZT0iY29sb3I6ICMzZDNjM2MiPgoKPGRpdiBjbGFzcz0icHJpY2UtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHVsPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlByb2ZpdCByZXR1cm48L2xpPjxicj4KICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5SZWZlcnJhbCBCb251czogNSU8L2xpPjxicj4KICAgICAgICAgIAogICAgICAgICAgPGxpPiBXaXRoZHJhd2FsIG9mIFByb2ZpdDogYXQgYW55IHRpbWU8L2xpPjxicj4KICAgICAgICA8bGk+MjQvNyBDdXN0b21lciBDYXJlPC9saT48YnI+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwbGFuLWJ0bi13IiA+CjxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InJkMSIgbmFtZT1oX2lkIHZhbHVlPSIxIiBjaGVja2VkICBvbmNsaWNrPSJ1cGRhdGVDb21wb3VuZCgpIiBzdHlsZT0iZGlzcGxheTpub25lOyI+ICAgICAgICAgIDxsYWJlbCBmb3I9InJkMSIgIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bjEiPlNFTEVDVCBOT1c8L2xhYmVsPgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8YnI+PGJyPgogICA8L2Rpdj48IS0tIGVuZHM6IC5jb2wtbGctNCAtLT4KICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmRzOiAucm93IC0tPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+PCEtLSBlbmRzOiAuaWNvbi1ib3hlcyAtLT4KCiAgICA8L3NlY3Rpb24+PCEtLSBlbmRzOiBzZWN0aW9uIC0tPiAgICAgICAKICAgICAgICAgICAgICAgICAgIAogICAKICAgICA8c2VjdGlvbiBjbGFzcz0iY3RhLXdyYXBwZXIgY3RhLS10aHJlZSBiZ2ltYWdlIGJpel9vdmVybGF5IG92ZXJsYXktLXNlY29uZGFyeTIiPgogICAgICAgIDxkaXYgY2xhc3M9ImJnX2ltYWdlX2hvbGRlciI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvc2JnMi5qcGciIGFsdD0iIj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgY29udGVudF9hYm92ZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctOCBvZmZzZXQtbGctMiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3RhLWNvbnRlbnQgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8cD5XZSBhcmUgYSBsZWdhbCBjb21wYW55IHJlZ2lzdGVyZWQgaW4gdGhlIFVuaXRlZCBLaW5nZG9tCnByb3ZpZGluZyBpdHMgc2VydmljZXMgdG8gdGhlIG1lbWJlcnMgYWxsIGFyb3VuZCB0aGUgd29ybGQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2ZpbmQtYW5kLXVwZGF0ZS5jb21wYW55LWluZm9ybWF0aW9uLnNlcnZpY2UuZ292LnVrL2NvbXBhbnkvMTIwMzQyMTgiIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tLXJvdW5kZWQiPlZpZXcgQ2VydGlmaWNhdGUgSGVyZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPjwhLS0gZW5kczogLmN0YS13cmFwcGVyIC0tPgoKCiAgICAKPHNlY3Rpb24gY2xhc3M9ImJnLWdyYXktbGlnaHQgcC10b3AtMTAwIHAtYm90dG9tLTM1Ij4KICAgICAgICAKICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb25fdGl0bGUgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxoMT5Ib3cgVG8gSm9pbjwvaDE+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAgICAgCiAgICA8ZGl2IGNsYXNzPSJwcm9jZXNzLXdyYXBwZXIgc2VjdGlvbi1iZyBwcm9jZXNzLS10d28iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2Nlc3Mtb25lIj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICA8ZGl2IGNsYXNzPSJwcm9jZXNzLXNpbmdsZSB0ZXh0LWNlbnRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaWNvbiBsaWdodC1iZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGVwIj4xPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1sYSI+PGkgY2xhc3M9ImxhIGxhLXN1bi1vIj48L2k+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxoNj5DcmVhdGUgYW4gQWNjb3VudDwvaDY+CiAgICAgICAgPHA+U2lnbnVwIGJ5IHNpbXBseSBmaWxsaW5nIGFuZCBzdWJtaXR0aW5nIHRoZSBmb3JtLjwvcD4KICAgIDwvZGl2PjwhLS0gZW5kczogLnByb2Nlc3Mtc2luZ2xlIC0tPgoKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICA8ZGl2IGNsYXNzPSJwcm9jZXNzLXNpbmdsZSB0ZXh0LWNlbnRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaWNvbiBsaWdodC1iZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGVwIj4yPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1sYSI+PGkgY2xhc3M9ImxhIGxhLWJhci1jaGFydCI+PC9pPjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8aDY+QnV5IGEgc2hhcmUgcGFja2FnZS9wbGFuPC9oNj4KICAgICAgICA8cD5DaG9vc2UgdGhlIG1vc3Qgc3VpdGFibGUgc2hhcmUgcGFjay9wbGFuIGZvciB5b3Ugd2l0aCBubyBtZW1iZXJzaGlwIGZlZXMgb3IgaGlkZGVuIGNvc3QhIFdoYXQgYXJlIHlvdSB3YWl0aW5nIGZvciA/IExldCB1cyBoZWxwIHlvdSBncm93IHlvdXIgZmluYW5jaWFsIHBvcnRmb2xpbyE8L3A+CiAgICA8L2Rpdj48IS0tIGVuZHM6IC5wcm9jZXNzLXNpbmdsZSAtLT4KCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgPGRpdiBjbGFzcz0icHJvY2Vzcy1zaW5nbGUgdGV4dC1jZW50ZXIiPgogICAgICAgIDxkaXYgY2xhc3M9Imljb24gbGlnaHQtYmciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RlcCI+Mzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tbGEiPjxpIGNsYXNzPSJsYSBsYS1yb2NrZXQiPjwvaT48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGg2PkxldCB1cyB0cmFkZSBmb3IgeW91PC9oNj4KICAgICAgICA8cD5jcnlzdGFsLWV4cGxvaXRzLm9yZyB3aWxsIHRyYWRlIHdpdGggeW91ciBpbnZlc3RtZW50KHNoYXJlcykgaW4gdGhlIGZpbmFuY2lhbCBtYXJrZXQgd2l0aCBhIGdsb2JhbGx5IGNvbXBldGl0aXZlIHJhdGUgYW5kIEFJIHRvb2xzIGFuZCBhdCBtYXhpbXVtIGVmZmljaWVuY3ksIGVuc3VyaW5nIHRoYXQgeW91IHJlY2VpdmUgdGhlIG1vc3QgY29tcGV0aXRpdmUgcmV3YXJkcy48L3A+CiAgICA8L2Rpdj48IS0tIGVuZHM6IC5wcm9jZXNzLXNpbmdsZSAtLT4KCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgPGRpdiBjbGFzcz0icHJvY2Vzcy1zaW5nbGUgdGV4dC1jZW50ZXIiPgogICAgICAgIDxkaXYgY2xhc3M9Imljb24gbGlnaHQtYmciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RlcCI+NDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tbGEiPjxpIGNsYXNzPSJsYSBsYS1oZWFkcGhvbmVzIj48L2k+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxoNj5FYXJuIGNyeXB0byBhbmQgYnVpbGQgeW91ciBmdXR1cmU8L2g2PgogICAgICAgIDxwPldlIGRpc3RyaWJ1dGUgdHJhZGluZyByZXdhcmRzL3Byb2ZpdCBhcyB3ZWxsIGFzIHJlZmVycmFsIGJvbnVzZXMgb24gYSByZWd1bGFyIGJhc2lzLiBDaGVjay90cmFjayB5b3VyIHRyYWRpbmcgcG90ZW50aWFsIGJhc2VkIG9uIHlvdXIgaW52ZXN0bWVudCBwYWNrYWdlL3NoYXJlcy48L3A+CiAgICA8L2Rpdj48IS0tIGVuZHM6IC5wcm9jZXNzLXNpbmdsZSAtLT4KCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj48IS0tIGVuZHM6IC5wcm9jZXNzLXdyYXBwZXIgLS0+CgogICAgPC9zZWN0aW9uPgoKCgogICAgCgoKICAgIDxzZWN0aW9uIGNsYXNzPSJwLXRvcC0xMDAgcC1ib3R0b20tMTEwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtLWJvdHRvbS01MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtYmxvY2sgY29udGVudC0tYmxvY2szIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgY29udGVudF9ibG9jazNfd3JhcHBlciBhbGlnbi1pdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTUgY29sLW1kLTYgbWFyZ2luLW1kLTYwIj4KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1nL2hvbWUtMDIuanBlZyIgYWx0PSIiIGNsYXNzPSJyb3VuZGVkIj4KICAgICAgICAgICAgICAgIDwvZGl2PjwhLS0gZW5kczogLmNvbC1sZy01IC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTYgY29sLW1kLTYgb2Zmc2V0LWxnLTEiPgogICAgICAgICAgICAgICAgICAgIDxoND5JbmR1c3RyeSBLbm93bGVkZ2U8L2g0PgogICAgICAgICAgICAgICAgICAgIDxwPmNyeXN0YWwtZXhwbG9pdHMub3JnIGhhcyBkZWVwIGtub3dsZWRnZSBvZiB0aGUgaW5kdXN0cmllcyBpbiB3aGljaCBpdCBpbnZlc3RzLiBJbiB0aGUgY291cnNlIG9mIGV4ZWN1dGluZyBpbnZlc3RtZW50cyBhbmQgb3BlcmF0aW5nIHBvcnRmb2xpbyBjb21wYW5pZXMsIGNyeXN0YWwtZXhwbG9pdHMub3JnIGhhcyBkZXZlbG9wZWQgYSB0ZWFtIG9mIGludmVzdG1lbnQgcHJvZmVzc2lvbmFscyB3aXRoIHNpZ25pZmljYW50IHNlY3Rvci1zcGVjaWZpYyBleHBlcnRpc2UgYW5kIHJlbGF0aW9uc2hpcHMgd2l0aCBsZWFkaW5nIGNvbXBhbmllcywgaW5zdGl0dXRpb25zIGFuZCBpbmRpdmlkdWFscyB3b3JsZHdpZGUuPC9wPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXdlYWx0aCIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tLXJvdW5kZWQgbXQtNCI+UmVhZCBNb3JlPC9hPgogICAgICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmRzOiAuY29sLWxnLTYgLS0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgY29udGVudF9ibG9jazNfd3JhcHBlciBhbGlnbi1pdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTUgY29sLW1kLTYgbWFyZ2luLW1kLTYwIj4KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1nL2NiNnMuanBnIiBhbHQ9IiIgY2xhc3M9InJvdW5kZWQiPgogICAgICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmRzOiAuY29sLWxnLTUgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNiBjb2wtbWQtNiBvZmZzZXQtbGctMSI+CiAgICAgICAgICAgICAgICAgICAgPGg0PlNlY3VyaXR5PC9oND4KICAgICAgICAgICAgICAgICAgICA8cD5jcnlzdGFsLWV4cGxvaXRzLm9yZyBoYXMgYmVlbiBhbiBpbnZlc3RtZW50IG1hbmFnZXIgc2luY2UgMjAxOSBhbmQgb2ZmZXJzIGludmVzdG9ycyBhIGJyb2FkIHJhbmdlIG9mIGludmVzdG1lbnRzIGFzIHdlbGwgYXMgaW5kaXZpZHVhbCBpbnZlc3RtZW50IHNvbHV0aW9ucy4gTWFueSB5ZWFycyBvZiBleHBlcmllbmNlIG1ha2UgdXMgYSBzdHJvbmcgcGFydG5lciBmb3IgeW91ciBpbnZlc3RtZW50LiBXZSBvZmZlciBvdXIgaW52ZXN0b3JzIGEgdmVyeSBicm9hZCBzcGVjdHJ1bSBpbiB0ZXJtcyBvZiB0eXBlcyBvZiB1c2UgYW5kIHJpc2sgY2xhc3Nlcy48YnI+PGJyPiBJbiBhZGRpdGlvbiB0byBvZmZpY2UgYnVpbGRpbmdzLCByZXRhaWwgcHJvcGVydGllcywgbG9naXN0aWNzIGZhY2lsaXRpZXMsIGFuZCByZXNpZGVudGlhbCBjb21wbGV4ZXMsIHdlIGFyZSBhbHNvIGludG8gTWluaW5nIGhhcmR3YXJlIHNhbGVzLCBBZ3JpY3VsdHVyZSwgU3RvY2sgbWFya2V0LCBGb3JleCB0cmFkaW5nIGV0YywgU29tZSB0eXBlcyBvZiB1c2UgaGF2ZSB0aGUgYWR2YW50YWdlIG9mIG9mZmVyaW5nIGhpZ2hlciByZXR1cm5zLCBidXQgdGhleSBhbHNvIHJlcXVpcmUgYSBTdXBlcmIga25vdy1ob3cuIEV4cGVydGllcywgTWFya2V0IEFuYWx5c3RzLCBhbmQgd2UgaGF2ZSBtYWRlIHN1Y2ggaW5kaXZpZHVhbHMgYXZhaWxhYmxlIHdvcmtpbmcgYXMgYSB0ZWFtLiAgPGJyPjxicj5vdXIgaW5kaXZpZHVhbCBpbnZlc3RtZW50IHJlY29tbWVuZGF0aW9ucyBhcmUgYWx3YXlzIGNoYXJhY3RlcmlzZWQgYnkgdGhlIHF1ZXN0aW9uIG9mIHRoZSBncmVhdGVzdCBhZGRlZCB2YWx1ZSBmb3Igb3VyIGludmVzdG9ycy48L3A+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9c2VjdXJpdHkiIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLS1yb3VuZGVkIG10LTQiPlJlYWQgTW9yZTwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PjwhLS0gZW5kczogLmNvbC1sZy02IC0tPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PjwhLS0gZW5kczouY29udGVudC1ibG9jayAtLT4KCiAgICA8L3NlY3Rpb24+PCEtLSBlbmRzOiBzZWN0aW9uIC0tPgoKICAgIAogICAgCiAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbCI+CiAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIAogICA8IS0tIDxkaXYgY2xhc3M9ImNvdW50ZXIgY291bnRlci0tNCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1mbGV4IGp1c3RpZnktY29udGVudC1hcm91bmQgZmxleC13cmFwIj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICA8ZGl2IGNsYXNzPSJjb3VudGVyX3NpbmdsZSI+CiAgICAgICAgCiAgICAgICAgPHAgY2xhc3M9InZhbHVlIGNvdW50X3VwIj4zODU8L3A+CiAgICAgICAgPHAgY2xhc3M9InRpdGxlIj5Qcm9qZWN0IGNvbXBsZXRlZDwvcD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAKICAgIDxkaXYgY2xhc3M9ImNvdW50ZXJfc2luZ2xlIj4KICAgICAgICAKICAgICAgICA8cCBjbGFzcz0idmFsdWUgY291bnRfdXAiPjI2MDwvcD4KICAgICAgICA8cCBjbGFzcz0idGl0bGUiPkNvbnN1bHRhbnQ8L3A+CiAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICA8ZGl2IGNsYXNzPSJjb3VudGVyX3NpbmdsZSI+CiAgICAgICAgCiAgICAgICAgPHAgY2xhc3M9InZhbHVlIGNvdW50X3VwIj4xNTA8L3A+CiAgICAgICAgPHAgY2xhc3M9InRpdGxlIj5Bd2FyZCBXaW5uaW5nPC9wPgogICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgPGRpdiBjbGFzcz0iY291bnRlcl9zaW5nbGUiPgogICAgICAgIAogICAgICAgIDxwIGNsYXNzPSJ2YWx1ZSBjb3VudF91cCI+MTAwPC9wPgogICAgICAgIDxwIGNsYXNzPSJ0aXRsZSI+U2F0aXNmaWVkIEN1c3RvbWVyczwvcD4KICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+LS0+PCEtLSBlbmRzOiAuY291bnRlciAtLT4KCiAKICAgIAogICAgPHNlY3Rpb24gY2xhc3M9ImNhcm91c2VsLXdyYXBwZXIgdGMtZm91ci13cmFwcGVyIGJnLXByaW1hcnkiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RpbW9uaWFsLWNhcm91c2VsLWZvdXIgb3dsLWNhcm91c2VsIj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICA8ZGl2IGNsYXNzPSJjYXJvdXNlbC1zaW5nbGUgdGV4dC1jZW50ZXIiPgogICAgICAgIDxwIGNsYXNzPSJhdXRob3Itc3BlYyI+PHN0cm9uZz5MaXZpYSBGZXJyZWlyYSBTaWx2YSw8L3N0cm9uZz4gPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImF1dGhvci10ZXh0Ij4KICAgICAgICAgICAgPHA+SSBzdGFydGVkIHNpbmNlIDIwMjAgYWZ0ZXIgYmVlbiBpbnRyb2R1Y2VkIGJ5IGEgZnJpZW5kIGFuZCBJIGhhdmUgbWFkZSBtb3JlIHRoYW4gJDg1LDAwMCBpbiBwcm9maXQuIEpvaW5pbmcgY3J5c3RhbC1leHBsb2l0cy5vcmcgd2FzIG15IG9uZS10aW1lIGRlY2lzaW9uIHRoYXQgcGFpZCBvZmYgaW4gbG9uZy10ZXJt4oCmYW5kIGlzIHN0aWxsIHBheWluZyBtZSB0aWxsIGRhdGU8L3A+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj48IS0tIGVuZDogLmNhcm91c2VsLXNpbmdsZSAtLT4KCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtc2luZ2xlIHRleHQtY2VudGVyIj4KICAgICAgICA8cCBjbGFzcz0iYXV0aG9yLXNwZWMiPjxzdHJvbmc+THVhbmEgQ2FydmFsaG8gTWFydGlucyw8L3N0cm9uZz4gPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImF1dGhvci10ZXh0Ij4KICAgICAgICAgICAgPHA+V2VsbCBJIHN0YXJ0ZWQgY3J5c3RhbC1leHBsb2l0cy5vcmcgYmVlbiBza2VwdGljYWwgZHVlIHRvIG15IHByZXZpb3VzIGJhZCBleHBlcmllbmNlcyBJIGhhZCBpbiBteSBwcmV2aW91cyBjb21wYW55IDIwMTgsIGJ1dCBub3cgSSBjYW4gY29uZmlkZW50bHkgc2F5IHRoYXQgY3J5c3RhbC1leHBsb2l0cy5vcmcgY2FuIGJlIHRydXN0ZWQgMTAwJS4gSSBoYXZlIG1hZGUgZm9yIHRoYW4gMTUwJSBpbiBteSBpbnZlc3RtZW50Li4uYW5kIGFsb3QgbW9yZSBpbmNlbnRpdmVzIHRvbyBhZGRlZCBmb3IgbXkgcmVmZXJyYWwgY29tbWlzc2lvbjwvcD4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PjwhLS0gZW5kOiAuY2Fyb3VzZWwtc2luZ2xlIC0tPgogICAgICA8ZGl2IGNsYXNzPSJjYXJvdXNlbC1zaW5nbGUgdGV4dC1jZW50ZXIiPgogICAgICAgIDxwIGNsYXNzPSJhdXRob3Itc3BlYyI+PHN0cm9uZz5Tb3BoaWEgR29uY2FsdmVzLDwvc3Ryb25nPiA8L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYXV0aG9yLXRleHQiPgogICAgICAgICAgICA8cD5UaGVyZSBzdXBwb3J0IHRlYW0gaXMgdmVyeSBhY3RpdmUuLi5JIHdhc24ndCBFeHBlY3RpbmcgdGhlIGtpbmQgZ2VzdHVyZSBJIGdvdCB3aGVuIEkgY291bGRuJ3QgbG9jYXRlIG15IHJlZmVycmFsIElEIGFuZCB3aGVuIEkgd2FzIHVuYWJsZSB0byBsb2dpbiBteSBhY2NvdW50Li5jcnlzdGFsLWV4cGxvaXRzLm9yZyBpcyB0aGUgYmVzdDwvcD4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PjwhLS0gZW5kOiAuY2Fyb3VzZWwtc2luZ2xlIC0tPgogICAgICA8ZGl2IGNsYXNzPSJjYXJvdXNlbC1zaW5nbGUgdGV4dC1jZW50ZXIiPgogICAgICAgIDxwIGNsYXNzPSJhdXRob3Itc3BlYyI+PHN0cm9uZz5UaGVyZXNhIEEsPC9zdHJvbmc+PC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImF1dGhvci10ZXh0Ij4KICAgICAgICAgICAgPHA+Y3J5c3RhbC1leHBsb2l0cy5vcmcgaXMgcXVpdGUgYmVzdCBpbiB0ZXJtcyBvZiBQdXJjaGFzaW5nIHByb3BlcnRpZXMuLi5JIG1hZGUgcGF5bWVudCB3aXRoIG15IHVzZHQgYW5kIEkgZ290IGEgY2FsbCBmcm9tIHRoZSBvZmZpY2UgYW5kIEkgd2FzIGFzc2lnbmVkIGEgbGF3eWVyIGFuZCBldmVyeXRoaW5nIHdhcyB2ZXJ5IGZhc3QgYW5kIHJlbGlhYmxlLi4ucHVyZSB0cmFuc3BhcmVuY3kgaW4gYWxsIHRoZXkgZG8uLi48L3A+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj48IS0tIGVuZDogLmNhcm91c2VsLXNpbmdsZSAtLT4KICAgIDxkaXYgY2xhc3M9ImNhcm91c2VsLXNpbmdsZSB0ZXh0LWNlbnRlciI+CiAgICAgICAgPHAgY2xhc3M9ImF1dGhvci1zcGVjIj48c3Ryb25nPkFsbGVuIENvb3Blciw8L3N0cm9uZz48L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYXV0aG9yLXRleHQiPgogICAgICAgICAgICA8cD5JIHdhcyBhYmxlIHRvIG93biBhIHByb3BlcnR5IGluIExvbmRvbiBjb3VydGVzeSBvZiBjcnlzdGFsLWV4cGxvaXRzLm9yZy4uIGEgZHJlYW0gSSBoYWQgd2FudGVkIHRvIGFjaGlldmUgbG9uZyBhZ2/igKZ0aGFuayB5b3UgY3J5c3RhbC1leHBsb2l0cy5vcmcgSSBhcHByZWNpYXRlIHlvdXIgc2VydmljZXM8L3A+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj48IS0tIGVuZDogLmNhcm91c2VsLXNpbmdsZSAtLT4KICAgIAoKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCgogICAKICAgIAogICAgPHNlY3Rpb24gY2xhc3M9InN1YnNjcmliZS1laWdodCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy04IG9mZnNldC1sZy0yIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJzY3JpYmUtY29udGVudHMgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+R2V0IFN0YXJ0ZWQgSW5zdGFudGx5ISA8YnI+IDxzcGFuPlJlcXVlc3QgYSBDYWxsIEJhY2sgTm93PC9zcGFuPjwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iIyIgY2xhc3M9InN1YnNjcmliZS1mb3JtLXR3byBwLWxlZnQtNTAgcC1yaWdodC01MCI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV9pZCIgdmFsdWU9IjE3ODUxMjkyOTE5NTU4Ij48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX3Rva2VuIiB2YWx1ZT0iMTllYjBjODcxZTgyODM4YWJiNTRmMmQ0NmExMWViM2EiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IkVudGVyIHlvdXIgZW1haWwgYWRkcmVzcyIgYXJpYS1sYWJlbD0iVXNlcm5hbWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFyeSI+UmVxdWVzdCBOb3c8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvY3RhLWltZzIucG5nIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmRzOiAuc3Vic2NyaWJlLWNvbnRlbnRzIC0tPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPjwhLS0gZW5kczogLnN1YnNjcmliZS1zZXZlbiAtLT4KCgoKCiAgICAgCiAgICAgCiAgICAKICAgICAgICA8c2VjdGlvbiBjbGFzcz0icC10b3AtMjAgcC1ib3R0b20tNTUiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im0tYm90dG9tLTI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICA8ZGl2IGNsYXNzPSJkaXZpZGVyIHRleHQtY2VudGVyIj4KICAgICAgICA8aDE+Rm9sbG93IFVzOjwvaDE+CiAgICAgICAgCiAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzb2NpYWwtaWNvbnMtcWwiPgogICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9pbnN0YWdyYW0uY29tLyI+PGkgY2xhc3M9ImZhIGZhLWluc3RhZ3JhbSI+PC9pPjwvYT48L2xpPgogICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS8iPjxpIGNsYXNzPSJmYSBmYS10d2l0dGVyIj48L2k+PC9hPjwvbGk+CiAgIDxsaT48YSBocmVmPSJodHRwczovL3QubWUvIj48aSBjbGFzcz0iZmEgZmEtdGVsZWdyYW0iPjwvaT48L2E+PC9saT4KICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9jaGFubmVsLyI+PGkgY2xhc3M9ImZhIGZhLXlvdXR1YmUiPjwvaT48L2E+PC9saT4KICAKICAgCiAgIDwvdWw+CiAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIAogIAoKICAgIDwvc2VjdGlvbj4KICAgICAgICAKCiAgICA8Zm9vdGVyIGNsYXNzPSJmb290ZXI1IGZvb3Rlci0tYnciPgogICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl9fYmlnIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTYgY29sLXNtLTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQgdGV4dF93aWRnZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSI/YT1ob21lIj4gPGltZyBjbGFzcz0iZm9vdGVyX2xvZ28iIHNyYz0iaW1nL2xvZ29zcy5wbmciIHN0eWxlPSJoZWlnaHQ6IDUwcHg7IiBhbHQ9ImxvZ28iPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOiIgY2xhc3M9Im1haWwiPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWRkcmVzcyI+QWRkcmVzczogQW5kYWlyLCBDYW5hbCBSb2FkLCBOZXd0b3duLCBQb3d5cywgVW5pdGVkIEtpbmdkb20sIFNZMTYgMkFTICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PjwhLS0gZW5kczogLmNvbC1sZy0zIC0tPgoKCgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC02IGNvbC1zbS02IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtbGctY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0IHdpZGdldC0tbGlua3MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ3aWRnZXRfX3RpdGxlIj5Db21wYW55PC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlua3MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1oaXN0b3J5Ij5IaXN0b3J5PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPW1pc3Npb24iPk1pc3Npb24gQW5kIFZhbHVlPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPXdoeV91cyI+V2h5IFVzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWZhcSI+RkFRPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPXNlY3VyaXR5Ij5TZWN1cml0eTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1ydWxlcyI+VGVybXMgJiBDb25kaXRpb25zPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPT9hPXBvbGljeSI+UmVmZXJyYWwgUG9saWN5PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIGVuZHM6IC53aWRnZXQgLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmRzOiAuY29sLWxnLTMgLS0+CgoKCgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC02IGNvbC1zbS02IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtbGctY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0IHdpZGdldC0tbGlua3MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ3aWRnZXRfX3RpdGxlIj5TZXJ2aWNlczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImxpbmtzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9ZXF1aXR5Ij5BY3RpdmUgRXF1aXR5PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWZvcmV4Ij5Gb3JlaWduICBFeGNoYW5nZTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1yZWFsX2VzdGF0ZSI+UmVhbCBFc3RhdGUgJiBQcm9wZXJ0eSBNYW5hZ2VtZW50PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWluZnJhc3RydWN0dXJlIj5JbmZyYXN0cnVjdHVyZTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1tdWx0aV9hc3NldCI+TXVsdGkgQXNzZXQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9cXVhbnRpdGF0aXZlX2ludmVzdG1lbnRzIj5RdWFudGl0YXRpdmUgSW52ZXN0bWVudHM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWNyeXB0b2N1cnJlbmN5Ij5DcnlwdG9jdXJyZW5jeTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmRzOiAud2lkZ2V0IC0tPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PjwhLS0gZW5kczogLmNvbC1sZy0zIC0tPgoKCgoKCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTYgY29sLXNtLTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQgd2lkZ2V0LS1saW5rcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9IndpZGdldF9fdGl0bGUiPlVzZWZ1bCBMaW5rczwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImxpbmtzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9d2VhbHRoIj5XZWFsdGggTWFuYWdlbWVudDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1waGlsb3NvcGh5Ij5JbnZlc3RtZW50IFBoaWxvc29waHk8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9Y2FwYWJpbGl0eSI+SW52ZXN0bWVudCBDYXBhYmlsaXR5PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPXByaW5jaXBsZSI+SW52ZXN0bWVudCBQcmluY2lwbGU8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9cmlzayI+SW52ZXN0bWVudCBSaXNrPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPXN1cHBvcnQiPkNvbnRhY3QgVXM8L2E+PC9saT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIGVuZHM6IC53aWRnZXQgLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmRzOiAuY29sLWxnLTMgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+PCEtLSBlbmRzOiBmb290ZXJfX2JpZyAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfX2JvdHRvbSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IzAwMDsiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJfX2JvdHRvbS1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPiZjb3B5OyA8YSBocmVmPSI/YT1ob21lIj5jcnlzdGFsLWV4cGxvaXRzLm9yZzwvYT4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+PCEtLSBTbWFydHN1cHAgTGl2ZSBDaGF0IHNjcmlwdCAtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgX3NtYXJ0c3VwcCA9IF9zbWFydHN1cHAgfHwge307Cl9zbWFydHN1cHAua2V5ID0gJzE2ZjU5MWFmZDVkZWQ2ZTJhY2M3ZjAzNzE0NjRkOWI1MzBlMWQ2MTInOwp3aW5kb3cuc21hcnRzdXBwfHwoZnVuY3Rpb24oZCkgewogIHZhciBzLGMsbz1zbWFydHN1cHA9ZnVuY3Rpb24oKXsgby5fLnB1c2goYXJndW1lbnRzKX07by5fPVtdOwogIHM9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07Yz1kLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogIGMudHlwZT0ndGV4dC9qYXZhc2NyaXB0JztjLmNoYXJzZXQ9J3V0Zi04JztjLmFzeW5jPXRydWU7CiAgYy5zcmM9J2h0dHBzOi8vd3d3LnNtYXJ0c3VwcGNoYXQuY29tL2xvYWRlci5qcz8nO3MucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxzKTsKfSkoZG9jdW1lbnQpOwo8L3NjcmlwdD4KPG5vc2NyaXB0PiBQb3dlcmVkIGJ5IDxhIGhyZWY94oCcaHR0cHM6Ly93d3cuc21hcnRzdXBwLmNvbeKAnSB0YXJnZXQ94oCcX2JsYW5r4oCdPlNtYXJ0c3VwcDwvYT48L25vc2NyaXB0PgoKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+PCEtLSBlbmRzOiBmb290ZXJfX3NtYWxsIC0tPgogICAgPC9mb290ZXI+PCEtLSBlbmRzOiBmb290ZXIgLS0+CjxkaXYgY2xhc3M9ImdvX3RvcCI+CiAgICA8c3BhbiBjbGFzcz0ibGEgbGEtYW5nbGUtdXAiPjwvc3Bhbj4KPC9kaXY+CgogICAgIDxzY3JpcHQgc3JjPSJodHRwOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS9qcz9rZXk9QUl6YVN5RGR1RjJ0TFhpY0RFUERNQXRDNi1OTE9la1gwQTV2bG5ZIj48L3NjcmlwdD4KICAgICA8IS0tIGluamVjdDpqcy0tPgogICAgIDxzY3JpcHQgc3JjPSJqcy9wbHVnaW5zLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9ImpzL3NjcmlwdC5taW4uanMiPjwvc2NyaXB0PgogICAgIDwhLS0gZW5kaW5qZWN0LS0+CgoKPCEtLSBNaXJyb3JlZCBmcm9tIGRlbW8uanNub3JtLmNvbS9odG1sL3RpemFyYS9kaXN0L2luZGV4MTMuaHRtbCBieSBIVFRyYWNrIFdlYnNpdGUgQ29waWVyLzMueCBbWFImQ08nMjAxNF0sIEZyaSwgMDUgTm92IDIwMjEgMjA6NTI6NDcgR01UIC0tPgo8L2h0bWw+"}},"time_used":568,"timings":{"blocked":-1,"dns":225,"connect":30,"send":0,"wait":248,"receive":0,"ssl":64},"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.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.305Z","timestamp":1785129292305,"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://crystal-exploits.org/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:55 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: k813XmWhi/93wxu7t5Jv9IRxc1a/1oukRMP1yvu7/gWbFiD31AXBKVAYxTafp2vwqSfmIMo\r\nx-77-nzt-ray: fdb541235755522d4fe9666aad6b5e27\r\nx-77-cache: HIT\r\nx-77-age: 15\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-27T08:08:01.247224Z","times_seen":6617,"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":91,"connect":8,"send":0,"wait":8,"receive":0,"ssl":3252},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.374Z","timestamp":1785129292374,"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/poppins/v24/pxiByp8kv8JHgFVrLGT9Z1xlFQ.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://crystal-exploits.org\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: 7748\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 03:05:43 GMT\r\nexpires: Fri, 23 Jul 2027 03:05:43 GMT\r\ncache-control: public, max-age=31536000\r\nage: 353349\r\nlast-modified: Mon, 15 Sep 2025 16:36:26 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":7748,"size_decoded":8560,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 7748, version 1.0","md5":"a09f2fccfee35b7247b08a1a266f0328","sha1":"0da2d17e738f46d2a09e6fb7969da451719a9820","sha256":"cd36de204aca2d5fa263a731f7c20009b5e3d754ba1f1e03c33e93a48f3e7446","sha512":"5e3f9a298003b84250ec6801e08ad2a4ff8845d4c3e13ea61bec37da24d26ede13b436257882124cc0c27e9a323ba92e7d23c6ad3f48a7b75535f5ed98813a0e","ssdeep":"96:0g6vAF/FXh6MmoI56TEwosGU/DbVF/QBT1gaHEYT6u/w3hXLbJPAS772+6haAftj:zp6x6TYpoDYBJg8TRkbJPAS/2+CzQa7","tlshash":"f3f19de65d1e5e8980f0102f6f6efce767950d88141dadf9a9e72f884c6ba1b04c90cd","first_seen":"2023-04-05T13:48:05Z","last_seen":"2026-07-27T08:07:46.668995Z","times_seen":268255,"resource_available":true,"data":"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"}},"time_used":51,"timings":{"blocked":-1,"dns":3,"connect":30,"send":0,"wait":17,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/fonts/line-awesomeeb4f.woff2?v=1.1.","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.376Z","timestamp":1785129292376,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /fonts/line-awesomeeb4f.woff2?v=1.1. HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/css/plugin.min.css\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:52 GMT\r\ncontent-type: font/woff2\r\nlast-modified: Wed, 04 May 2022 16:05:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 70\r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":70,"size_decoded":334,"mime_type":"font/woff2","magic":"ASCII text, with no line terminators","md5":"9673fc2c2b50b3f10c84d6e9db09933e","sha1":"afdfeb1d974b5017eee2715b65f43d2dd1547d9f","sha256":"f863218fb3beac5b51e401ab54c25f843c996d700f50eacc1d87b218cbd6ffb6","sha512":"99245d11ded80b93b015b89e781a0edba079e3f608d61d0f0ac13af6d263046648d2c7fb3d10313dd874cf59427b42ef038a5c0a00710977776242f11a119d8f","ssdeep":"","tlshash":"f0a022b2232032000b0e82c20b2030023c0b08302c80c328808a088a00f823b00880cc","first_seen":"2025-09-22T10:43:48.495553Z","last_seen":"2026-07-27T05:48:43.312246Z","times_seen":20,"resource_available":false,"data":"Tm8gQ29udGVudDogaHR0cHM6Ly9ub3ZhdGVjaHR4LmNvbS9mb250cy9saW5lLWF3ZXNvbWVlYjRmLndvZmYyP3Y9MS4xLg=="}},"time_used":33,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":33,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/iframe_api","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.153.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.529Z","timestamp":1785129292529,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /iframe_api HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/javascript; charset=utf-8\r\nx-content-type-options: nosniff\r\ncontent-security-policy: script-src 'unsafe-eval' 'self' 'unsafe-inline' https://www.google.com https://apis.google.com https://ssl.gstatic.com https://www.gstatic.com https://www.googletagmanager.com https://www.google-analytics.com https://*.youtube.com https://*.google.com https://*.gstatic.com https://youtube.com https://www.youtube.com https://google.com https://*.doubleclick.net https://*.googleapis.com https://www.googleadservices.com https://tpc.googlesyndication.com https://www.youtubekids.com https://www.youtube-nocookie.com https://www.youtubeeducation.com https://www-onepick-opensocial.googleusercontent.com;report-uri https://csp.withgoogle.com/csp/youtube_main/allowlist, base-uri 'self';object-src 'none';script-src 'nonce-Wi49mV9crvauVMGzdGqzoQ' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';report-uri https://csp.withgoogle.com/csp/youtube_main/strict, require-trusted-types-for 'script'\r\nexpires: Mon, 27 Jul 2026 05:14:52 GMT\r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncache-control: private, max-age=0\r\np3p: CP=\"This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en for more info.\"\r\nx-frame-options: SAMEORIGIN\r\nstrict-transport-security: max-age=31536000\r\nreport-to: {\"group\":\"youtube_main\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube_main\"}]},{\"group\":\"youtube_main-connectionallowlist\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/youtube_main/connectionallowlist\"}]}\r\ncross-origin-resource-policy: cross-origin\r\norigin-trial: AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9, AiDEBptUfVeO93q48VdVMe/ubupazdAl8AaHP+NBzdnW8quUcHdzJUyGSfrmtpKJu7EOvwRp9ug2rEo3XU+WMAMAAAB2eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJEZXZpY2VCb3VuZFNlc3Npb25DcmVkZW50aWFsczIiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlfQ==\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube_main\"\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\ncontent-encoding: br\r\nserver: ESF\r\nx-xss-protection: 0\r\nset-cookie: __Secure-YNID=20.YT=hjOA7pSQzTRfPs9ZPNusdWwFFahcuN_xEhkBrC_Jf9QM3PQhMXElKIFdqzWO0sdfj4eMqPSVWP6aO4040qpNJaY0HkLQ3ensBqcAL-wMdXrPxePvXRdmuyd4a5C-IU1OZufH75ElBw83Hd79_UXbJAEzJyNjoEhbndvJL73I9DoE5UWKQNqEEII5duMjZq9W17XHGZCtPYWYzViWW111O7JX_M2gVwa40p5MC3wdIXt1sssDSXEhjYkQI38YhLIcLTdgnp5ZzIR8TJ0IAZmEBHN3DN2x5uV7-phIiLwN5H692lLhIekOqzjnZNslo4wAdmJ1hseA_vNQDvAHC8hJQQ; expires=Sat, 23-Jan-2027 05:14:52 GMT; path=/; domain=.youtube.com; Secure; HttpOnly; SameSite=none\nYSC=8VUaBCNR1Wc; Domain=.youtube.com; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-YEC=; Domain=.youtube.com; Expires=Tue, 31-Oct-2023 05:14:52 GMT; Path=/; Secure; HttpOnly; SameSite=lax\nVISITOR_INFO1_LIVE=BeK5USrKJdw; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 05:14:52 GMT; Path=/; Secure; HttpOnly; SameSite=none\nVISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgSQ%3D%3D; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 05:14:52 GMT; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-ROLLOUT_TOKEN=CLzr3M2ai_exgQEQgZT_6ozylQMYgZT_6ozylQM%3D; Domain=youtube.com; Expires=Sat, 23-Jan-2027 05:14:52 GMT; Path=/; Secure; HttpOnly; SameSite=none; Partitioned\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":993,"size_decoded":4231,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (501)","md5":"995a58cfca5d586dca3b5579b3dc9f3d","sha1":"4eedb0ee98b595a39b4839a80c76aebe95e55f37","sha256":"412370935f9625c094daf0f288c67a20b7882914f7a07d17819d5041c8cf87c9","sha512":"2916b5b66e474f3876fb9a6166fff2b69221dcba05894564307a63dbdd80bdffd565c730a50be61ed1bc31c956fa70e78bca3e56e14d2b28d4a0746b2d9494d7","ssdeep":"","tlshash":"cd11ed7b3d84e639865894e4a03fc31cf1b224957c50cd9110cde899e65cacadd2d5fc","first_seen":"2026-07-22T11:04:10.481101Z","last_seen":"2026-07-27T08:07:32.46337Z","times_seen":672,"resource_available":true,"data":"dmFyIHNjcmlwdFVybCA9ICdodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9zXC9wbGF5ZXJcLzdhNzk2OWMyXC93d3ctd2lkZ2V0YXBpLnZmbHNldFwvd3d3LXdpZGdldGFwaS5qcyc7dHJ5e3ZhciB0dFBvbGljeT13aW5kb3cudHJ1c3RlZFR5cGVzLmNyZWF0ZVBvbGljeSgieW91dHViZS13aWRnZXQtYXBpIix7Y3JlYXRlU2NyaXB0VVJMOmZ1bmN0aW9uKHgpe3JldHVybiB4fX0pO3NjcmlwdFVybD10dFBvbGljeS5jcmVhdGVTY3JpcHRVUkwoc2NyaXB0VXJsKX1jYXRjaChlKXt9dmFyIFlUO2lmKCF3aW5kb3dbIllUIl0pWVQ9e2xvYWRpbmc6MCxsb2FkZWQ6MH07dmFyIFlUQ29uZmlnO2lmKCF3aW5kb3dbIllUQ29uZmlnIl0pWVRDb25maWc9eyJob3N0IjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20ifTsKaWYoIVlULmxvYWRpbmcpe1lULmxvYWRpbmc9MTsoZnVuY3Rpb24oKXt2YXIgbD1bXTtZVC5yZWFkeT1mdW5jdGlvbihmKXtpZihZVC5sb2FkZWQpZigpO2Vsc2UgbC5wdXNoKGYpfTt3aW5kb3cub25ZVFJlYWR5PWZ1bmN0aW9uKCl7WVQubG9hZGVkPTE7dmFyIGk9MDtmb3IoO2k8bC5sZW5ndGg7aSsrKXRyeXtsW2ldKCl9Y2F0Y2goZSl7fX07WVQuc2V0Q29uZmlnPWZ1bmN0aW9uKGMpe3ZhciBrO2ZvcihrIGluIGMpaWYoYy5oYXNPd25Qcm9wZXJ0eShrKSlZVENvbmZpZ1trXT1jW2tdfTt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTthLnR5cGU9InRleHQvamF2YXNjcmlwdCI7YS5pZD0id3d3LXdpZGdldGFwaS1zY3JpcHQiO2Euc3JjPXNjcmlwdFVybDthLmFzeW5jPXRydWU7dmFyIGM9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZihjKXt2YXIgbj1jLm5vbmNlfHxjLmdldEF0dHJpYnV0ZSgibm9uY2UiKTtpZihuKWEuc2V0QXR0cmlidXRlKCJub25jZSIsCm4pfXZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTtiLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsYil9KSgpfTsK"}},"time_used":68,"timings":{"blocked":-1,"dns":4,"connect":8,"send":0,"wait":29,"receive":0,"ssl":26},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/img/loader.html","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.547Z","timestamp":1785129292547,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /img/loader.html HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/css/plugin.min.css\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/html\r\nlast-modified: Wed, 04 May 2022 21:19:40 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 556\r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":1238,"size_decoded":786,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF, LF line terminators","md5":"0bde7d4b3da67537eaf9188e6f8049cf","sha1":"64300fc482d01d38b40ab20e15960b6509665e5a","sha256":"5dc1ae0b875dc0d78dbc5532226f5f31b762b4d1229984f605d27bf895ab6807","sha512":"2d4d27ab5b3dd2a701a944e9b5372b40ee4f8b3267f133be7ad0d4b42528302aaa002b6132722e2ad1fe629fc3e8baf1011c8dad326062e9c0946d6f1b6eafb4","ssdeep":"","tlshash":"8d21423ec1c1150a80271154fb81e2942619825192470fa1379e7167f6cc0f756937c8","first_seen":"2023-03-07T01:03:24Z","last_seen":"2026-07-27T08:15:13.687553Z","times_seen":41359,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iIC8+Cjx0aXRsZT4gNDA0IE5vdCBGb3VuZA0KPC90aXRsZT48L2hlYWQ+Cjxib2R5IHN0eWxlPSJjb2xvcjogIzQ0NDsgbWFyZ2luOjA7Zm9udDogbm9ybWFsIDE0cHgvMjBweCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBoZWlnaHQ6MTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsiPgo8ZGl2IHN0eWxlPSJoZWlnaHQ6YXV0bzsgbWluLWhlaWdodDoxMDAlOyAiPiAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDo4MDBweDsgbWFyZ2luLWxlZnQ6IC00MDBweDsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDogMzAlOyBsZWZ0OjUwJTsiPgogICAgICAgIDxoMSBzdHlsZT0ibWFyZ2luOjA7IGZvbnQtc2l6ZToxNTBweDsgbGluZS1oZWlnaHQ6MTUwcHg7IGZvbnQtd2VpZ2h0OmJvbGQ7Ij40MDQ8L2gxPgo8aDIgc3R5bGU9Im1hcmdpbi10b3A6MjBweDtmb250LXNpemU6IDMwcHg7Ij5Ob3QgRm91bmQNCjwvaDI+CjxwPlRoZSByZXNvdXJjZSByZXF1ZXN0ZWQgY291bGQgbm90IGJlIGZvdW5kIG9uIHRoaXMgc2VydmVyITwvcD4KPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6I2YwZjBmMDsgZm9udC1zaXplOjEycHg7bWFyZ2luOmF1dG87cGFkZGluZzowcHggMzBweCAwcHggMzBweDtwb3NpdGlvbjpyZWxhdGl2ZTtjbGVhcjpib3RoO2hlaWdodDoxMDBweDttYXJnaW4tdG9wOi0xMDFweDtiYWNrZ3JvdW5kLWNvbG9yOiM0NzQ3NDc7Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xNSk7Ym94LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgaW5zZXQ7Ij4KPGJyPlByb3VkbHkgcG93ZXJlZCBieSAgPGEgc3R5bGU9ImNvbG9yOiNmZmY7IiBocmVmPSJodHRwOi8vd3d3LmxpdGVzcGVlZHRlY2guY29tL2Vycm9yLXBhZ2UiPkxpdGVTcGVlZCBXZWIgU2VydmVyPC9hPjxwPlBsZWFzZSBiZSBhZHZpc2VkIHRoYXQgTGl0ZVNwZWVkIFRlY2hub2xvZ2llcyBJbmMuIGlzIG5vdCBhIHdlYiBob3N0aW5nIGNvbXBhbnkgYW5kLCBhcyBzdWNoLCBoYXMgbm8gY29udHJvbCBvdmVyIGNvbnRlbnQgZm91bmQgb24gdGhpcyBzaXRlLjwvcD48L2Rpdj48L2JvZHk+PC9odG1sPgo="}},"time_used":33,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":33,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-t6WxLABA.js","fqdn":"widget-v3.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":"script","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:55.873Z","timestamp":1785129295873,"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-t6WxLABA.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://crystal-exploits.org\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 05:14:55 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-3f99\"\r\nexpires: Wed, 07 Jul 2027 08:30:00 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k/g+57u6AsEWYLP1kgdKlmslDbix0R3/L1bRpNRLxV80ooOhruAMYT8P8jwRPmXqI5CKoGU\r\nx-77-nzt-ray: fdb54123f653fc6c4fe9666ae4054234\r\nx-77-cache: HIT\r\nx-77-age: 1716252\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":6837,"mime_type":"application/javascript","magic":"Java source, ASCII text, with very long lines (15873)","md5":"9253d4d9d6ea32e484f0be9a0320a7a7","sha1":"762fb8fdf15626507c1c26a66aa7fe399d39e803","sha256":"1fb0b8e426f707feea50785bc24016fe14a76fb763d5eca3bc9b1d265bf77fa2","sha512":"5a1592fc87a402c636315def22f3c60dd7eeda34701b08005a192ae060acbe7ed8ae8aa709cc1664c3d9489c641e1ada60e79c66f13073ab61e6ba5bd86f524d","ssdeep":"384:9rgi5RFMkSjJOE/0BW2rkZZ795P6zrnBOVmPCRkXQbpaIF2K:9EizlSjJOEiWYoR5P6nnBOVmycQbpaId","tlshash":"0272d7742700783f711f489e16ade546b232c29dd693892d9b6fec0976c5cc0a8b37b9","first_seen":"2026-07-07T11:50:17.711459Z","last_seen":"2026-07-27T07:27:47.896741Z","times_seen":1890,"resource_available":true,"data":"Y29uc3QgX192aXRlX19tYXBEZXBzPShpLG09X192aXRlX19tYXBEZXBzLGQ9KG0uZnx8KG0uZj1bd2luZG93LnBhcmVudC5zbWFydHN1cHAuZ2V0QXNzZXRVcmwoImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL3NoYXJlZC1DZ01DQWZvci5qcyIpLHdpbmRvdy5wYXJlbnQuc21hcnRzdXBwLmdldEFzc2V0VXJsKCJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL1dpZGdldFBvcHVwLXFldXdrY0JuLmpzIildKSkpPT5pLm1hcChpPT5kW2ldKTsKaW1wb3J0e0EgYXMgZSxBaSBhcyB0LEFyIGFzIG4sQXQgYXMgcixCIGFzIGksQmkgYXMgYSxDIGFzIG8sQ2kgYXMgcyxEIGFzIGMsRGkgYXMgbCxFIGFzIHUsRWkgYXMgZCxHaSBhcyBmLEdyIGFzIHAsSGkgYXMgbSxIbiBhcyBoLEhyIGFzIGcsSSBhcyBfLElpIGFzIHYsSiBhcyB5LEppIGFzIGIsS2kgYXMgeCxLciBhcyBTLExpIGFzIEMsTSBhcyBlZSxOIGFzIHRlLE5pIGFzIHcsTyBhcyBuZSxPciBhcyByZSxQaSBhcyBpZSxQciBhcyBhZSxQdCBhcyBvZSxSIGFzIHNlLFMgYXMgY2UsU2kgYXMgbGUsVCBhcyB1ZSxUaSBhcyBULFVpIGFzIGRlLFVyIGFzIEUsVmkgYXMgRCxXaSBhcyBmZSxXbiBhcyBwZSxXdCBhcyBtZSxYaSBhcyBPLFhyIGFzIGssWHQgYXMgaGUsWSBhcyBnZSxZaSBhcyBBLFluIGFzIGosWXIgYXMgX2UsWmkgYXMgTSxaciBhcyB2ZSxfIGFzIHllLGEgYXMgYmUsYWEgYXMgTixiIGFzIHhlLGJpIGFzIFAsY2EgYXMgRixkIGFzIFNlLGRpIGFzIENlLGR0IGFzIHdlLGVhIGFzIFRlLGVpIGFzIEksZiBhcyBFZSxmaSBhcyBMLGggYXMgRGUsaGkgYXMgUixpIGFzIHosaWEgYXMgQixqIGFzIE9lLGppIGFzIFYsam4gYXMga2Usa2kgYXMgQWUsa3IgYXMgamUsbCBhcyBNZSxsYSBhcyBOZSxsaSBhcyBILG0gYXMgUGUsbWkgYXMgRmUsbiBhcyBJZSxuYSBhcyBMZSxvIGFzIFUsb2kgYXMgVyxvciBhcyBHLHBpIGFzIEsscSBhcyBSZSxxbiBhcyB6ZSxyIGFzIHEscyBhcyBCZSx0IGFzIFZlLHRhIGFzIEhlLHRpIGFzIEosdSBhcyBVZSx1aSBhcyBZLHcgYXMgWCx3aSBhcyBaLHggYXMgV2UseGkgYXMgR2UseSBhcyBLZSx5aSBhcyBxZX1mcm9tIi4vc2hhcmVkLUNnTUNBZm9yLmpzIjt2YXIgSmU9ZChgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBZZShlLHQpe04odCwhMCk7bGV0IG49eChudWxsKSxyPWAke1MoKS5TTUFSVFNVUFBfQVVUT0NSRUFURT09PSExP2cod2luZG93KS5pZDpgc21hcnRzdXBwYH0td2lkZ2V0LWNvbnRhaW5lcmA7aygoKT0+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+YWUoKCk9PmltcG9ydChgLi9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanNgKSxfX3ZpdGVfX21hcERlcHMoWzAsMSwyXSksaW1wb3J0Lm1ldGEudXJsKSx2dD1lPT57dmFyIHQ9YnQoKSxuPWEodCkscj1hKG4pO3EoYShyKSx7c2l6ZTozMn0pLEYocik7dmFyIGk9bShyLDIpLG89YShpKTtxKG8se3NpemU6MzJ9KTt2YXIgcz1tKG8sMik7cShzLHtzaXplOjMyfSkscShtKHMsMikse3NpemU6MzJ9KSxGKGkpLEYobik7dmFyIGM9bShuLDIpLGw9YShjKTtxKGEobCkse3NpemU6NDR9KSxGKGwpO3ZhciB1PW0obCwyKSxkPWEodSk7eihkLHtoZWlnaHQ6MjAsd2lkdGg6MjcwfSkseihtKGQsMikse2hlaWdodDoyMCx3aWR0aDoxMjJ9KSxGKHUpLEYoYyk7dmFyIGY9bShjLDIpLHA9YShmKTtxKGEocCkse3NpemU6Mjh9KSxGKHApO3ZhciBoPW0ocCwyKTt6KGEoaCkse2hlaWdodDoxMTIsd2lkdGg6Mjk1LHJvdW5kZWRTdHlsZTpgcm91bmRlZC02YH0pLEYoaCksRihmKTt2YXIgZz1tKGYsMiksXz1hKGcpO3ooXyx7aGVpZ2h0OjMyLHdpZHRoOjI5NX0pO3ZhciB2PW0oXywyKTt6KHYse2hlaWdodDozMix3aWR0aDoxNDh9KSx6KG0odiwyKSx7aGVpZ2h0OjMyLHdpZHRoOjIyNH0pLEYoZyksRih0KSxaKGUsdCl9LHl0PShlLHQpPT57bGV0IG49KCk9PnQ/LigpLmVycm9yO3ZhciByPXh0KCksaT1tKGEociksMiksbz1hKGksITApO0YoaSksRihyKSx2KCgpPT5sZShvLG4oKSkpLFooZSxyKX0sYnQ9ZChgPGRpdiBjbGFzcz0iaC1mdWxsIHAtMiBiZy13aGl0ZSIgaWQ9IlRPRE8gdGVzdCI+PGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4iPjxkaXYgY2xhc3M9ImZsZXgiPjwhPjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IHNwYWNlLXgtMiI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBtdC0yIj48ZGl2IGNsYXNzPSJmbGV4IG1sLTEgbXItMiI+PCE+PC9kaXY+IDxkaXYgY2xhc3M9ImZsZXgtYm90dG9tIHNwYWNlLXktMiI+PCE+IDwhPjwvZGl2PjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWJhc2VsaW5lIG10LTgiPjxkaXYgY2xhc3M9ImZsZXggbWwtMSBtci0yIj48IT48L2Rpdj4gPGRpdiBjbGFzcz0ic3BhY2UteS0yIj48IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBpdGVtcy1lbmQgc3BhY2UteS01IG10LTggbXItMSI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj5gKSx4dD1kKGA8ZGl2IGNsYXNzPSJoLWZ1bGwgcC00IGJnLXdoaXRlIHRleHQtcmVkLTUwMCI+PGRpdiBjbGFzcz0idGV4dC1sZyBmb250LWJvbGQiPkZhaWxlZCB0byBsb2FkIHdpZGdldDwvZGl2PiA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIj4gPC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gU3QoZSl7Z3QoZSx7Z2V0IGxvYWRlcigpe3JldHVybiBfdH0sZGVsYXk6MCxnZXQgZXJyb3IoKXtyZXR1cm4geXR9LGdldCBsb2FkaW5nKCl7cmV0dXJuIHZ0fX0pfXZhciBDdD1kKGA8ZGl2PjwhPjwvZGl2PmApO2Z1bmN0aW9uIHd0KGUsdCl7Tih0LCEwKTtsZXQgcj0oKT0+TShqZSxgJGlzRnVsbFNjcmVlbkVuYWJsZWRgLGwpLG89KCk9Pk0oUGUsYCRpc01lc3NlbmdlckZyYW1lRXhwYW5kZWRgLGwpLHM9KCk9Pk0obixgJGlzTW9iaWxlRGV2aWNlYCxsKSxjPSgpPT5NKGksYCRzaG91bGRSZW5kZXJNZXNzZW5nZXJGcmFtZWAsbCksW2wsZF09TygpLG09eCh2b2lkIDApLGc9YE1vYmlsZVdpZGdldE1lc3Nlbmdlck9wZW5gLF89KGUsdCk9PntpZighdyhtKSlyZXR1cm47bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczpufT1FLmdldE9wdGlvbnMoKSx7d2lkdGg6cixoZWlnaHQ6aX09dWUoZSx0KTt3KG0pLnN0eWxlLm1heEhlaWdodD1oKGkpP2k6dShpKSx3KG0pLnN0eWxlLndpZHRoPWgocik/cjp1KHIpLHcobSkuc3R5bGUuaGVpZ2h0PWV8fG4/LmhlYWRsZXNzTW9kZT9gMTAwJWA6YGNhbGMoMTAwJSAtIDQwcHgpYH07QygoKT0+e3cobSkmJl8ocigpLG8oKSl9KTtsZXQgeT14KCExKTtDKCgpPT57aWYocygpKXtpZihjKCkmJiF3KHkpKXtsZXQgZT1wKCkuY3JlYXRlRWxlbWVudChgc3R5bGVgKTtlLnRleHRDb250ZW50PWAqIHtvdmVyZmxvdzogaGlkZGVufWAsZS5jbGFzc05hbWU9ZyxwKCkuaGVhZC5hcHBlbmRDaGlsZChlKSxmKHksITApfWlmKCFjKCkmJncoeSkpe2xldCBlPXAoKS5oZWFkLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspcCgpLmhlYWQucmVtb3ZlQ2hpbGQoZVt0XSk7Zih5LCExKX19fSk7dmFyIGI9VCgpLFM9RChiKSxlZT1lPT57dmFyIHQ9Q3QoKTtIKHQsYGAse30se3RyYW5zaXRpb246YG1heC1oZWlnaHQgMjUwbXMgZWFzZS1pbi1vdXQsIHdpZHRoIDI1MG1zIGVhc2UtaW4tb3V0YCxvdmVyZmxvdzpgaGlkZGVuYH0pO3ZhciBuPWEodCk7e2xldCBlPUEoWCk7UShuLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIFN0fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRNZXNzZW5nZXJGcmFtZX0sdGl0bGU6YFNtYXJ0c3VwcCB3aWRnZXQgbWVzc2VuZ2VyYCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KGUpfX0pfUYodCksTCh0LChlLHQpPT54ZT8uKGUsdCksciksSih0LGU9PmYobSxlKSwoKT0+dyhtKSksdigoKT0+Vyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRNZXNzZW5nZXJGcmFtZSkpLEsoMSx0LCgpPT5VLCgpPT4oe3k6MjAsZHVyYXRpb246MjAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MTUwfSkpLFooZSx0KX07UChTLGU9PntjKCkmJmUoZWUpfSksWihlLGIpLEIoKSxkKCl9dmFyIFR0PSgpPT5hZSgoKT0+aW1wb3J0KGAuL1dpZGdldFBvcHVwLXFldXdrY0JuLmpzYCksX192aXRlX19tYXBEZXBzKFszLDEsMl0pLGltcG9ydC5tZXRhLnVybCksRXQ9ZT0+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+e2koKSYmIWEoKSYmZSgpfSksZ2UoUygpKSxIZShuKSYmeShTKCkpLFllKHQse2NoaWxkcmVuOihlLHQpPT57dmFyIG49R3QoKSxyPUQobik7SXQocix7fSk7dmFyIGk9bShyLDIpO0F0KGkse30pO3ZhciBhPW0oaSwyKTtwdChhLHt9KTt2YXIgbz1tKGEsMik7d3Qobyx7fSksV3QobShvLDIpLHt9KSxaKGUsbil9LCQkc2xvdHM6e2RlZmF1bHQ6ITB9fSksQigpLHMoKX12YXIgcXQ9Zyh3aW5kb3cpO0UuaW5pdChxdC5vcHRpb25zKSxxdC5pbnN0YWxsQXBpKE1lKSxjLnNldFRoZW1lQ29sb3IocXQub3B0aW9ucyksUmUoKSxvZSgpLEdlKEt0LHt0YXJnZXQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGFwcGApfSk7ZXhwb3J0e010IGFzIG4sTHQgYXMgdH07Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPW1haW4tdDZXeExBQkEuanMubWFw"}},"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/8408.de534663e052075ba12f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.609Z","timestamp":1785129292609,"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/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\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: dc9a9cf5e754aff962940b6926c0962c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-27T08:08:22.859271Z","times_seen":2743,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUVpDcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVFaQ3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LW1hcmtldC1zdGF0dXNfX2RvdHtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXR7Y29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb257Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1pbnZhbGlkIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1yZXBsYXl7Y29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXl7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWRhbmdlci1hY3RpdmUpfS50di1tYXJrZXQtc3RhdHVzLS1uaWdodHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0udHYtbWFya2V0LXN0YXR1cy0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uX193aXRoSWNvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpfX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb25fX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKTtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4Oy13ZWJraXQtbWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7bWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcHJlLjdkMzdkY2NhMjM0ODMzZDEyYzQzLnN2Zyk7bWFzazp1cmwobWFya2V0LXByZS43ZDM3ZGNjYTIzNDgzM2QxMmM0My5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1wb3N0LW1hcmtldF9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7bWFzazp1cmwobWFya2V0LXBvc3QuOWYyYzViZmRhOTQwNWEyOTFmOTAuc3ZnKTstd2Via2l0LW1hc2stcG9zaXRpb246Y2VudGVyO21hc2stcG9zaXRpb246Y2VudGVyOy13ZWJraXQtbWFzay1zaXplOmNvdmVyO21hc2stc2l6ZTpjb3Zlcjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0taG9saWRheV9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKX19LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXlfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtaG9saWRheS40M2NhMzNkNjkwOTM5YjkzOTc4Ni5zdmcpO21hc2s6dXJsKG1hcmtldC1ob2xpZGF5LjQzY2EzM2Q2OTA5MzliOTM5Nzg2LnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29ue2hlaWdodDoxOHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4O3dpZHRoOjE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZF9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX19LnR2LW1hcmtldC1zdGF0dXMtLWRlbGlzdGVkX193aXRoSWNvbjphZnRlcntib3JkZXItcmFkaXVzOjZweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7b3BhY2l0eToxNSU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpO21hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tbmlnaHRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9fS50di1tYXJrZXQtc3RhdHVzLS1uaWdodF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcG9zdC45ZjJjNWJmZGE5NDA1YTI5MWY5MC5zdmcpO21hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6aW5saW5lLXN0YXJ0O21hcmdpbi1pbmxpbmUtZW5kOjB9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1wb3N0LW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbiAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLWludmFsaWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taG9saWRheXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1ob2xpZGF5IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHR7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnR7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlcnttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luOmF1dG8gM3B4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXN0aWNreS1zeW1ib2wtaGVhZGVyLC50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLXRhcGV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt0cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpfS50di1tYXJrZXQtc3RhdHVzLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LW1hcmtldC1zdGF0dXMtLWZvci10aWNrZXItdGFwZTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNHB4KX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1jaGFydHtoZWlnaHQ6NnB4O21hcmdpbi1yaWdodDo0cHg7dmVydGljYWwtYWxpZ246MXB4O3dpZHRoOjZweH0udHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWNhcmR7aGVpZ2h0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDo2cHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luLWJvdHRvbTozcHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1sYXN0e2hlaWdodDo2cHg7d2lkdGg6NnB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGV7aGVpZ2h0OjRweDt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItY2hhcnR7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1lbmQ6MH0udHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1jaGFydDpkaXIocnRsKXttYXJnaW4taW5saW5lLWVuZDo2cHh9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1jYXJkLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWxhc3QsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGUsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itd2F0Y2gtbGlzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXIsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWNhcmQsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItbGFzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItdGFwZSwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci13YXRjaC1saXN0e2Rpc3BsYXk6bm9uZX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQ6ZGlyKHJ0bCl7bWFyZ2luLWlubGluZS1zdGFydDowfS50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQtLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldF9fd2l0aEljb257ZGlzcGxheTpub25lIWltcG9ydGFudH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0OmFmdGVye2Rpc3BsYXk6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/img/arrow-up.png","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.313Z","timestamp":1785129292313,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /img/arrow-up.png HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/style.css\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:52 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 09 Dec 2020 04:52:52 GMT\r\naccept-ranges: bytes\r\ncontent-length: 2308\r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":2308,"size_decoded":2573,"mime_type":"image/png","magic":"PNG image data, 104 x 23, 8-bit/color RGBA, non-interlaced","md5":"aa069af3f0eb0275b77eb382a4cb0552","sha1":"123dec39d5437a16dc81473d29549d236940de39","sha256":"40274bffe232d877075a082622fa5c69d8eea98b3bd5debff4277c6c9ea8a66c","sha512":"31c74223c0ad1e1f7162a22cf6bea24c8485479c3bce7a5ee919174632005be9f18270ce8b5bc257e6e6e5ccb71440682768f6ccbea34e115467a349b816aa28","ssdeep":"","tlshash":"52411b5df9702552c18189d25cfe0042dbb38c04d9eda2726ec9a4d39d3927c522a6df","first_seen":"2025-09-22T10:43:48.594858Z","last_seen":"2026-07-27T05:48:43.320536Z","times_seen":18,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAGgAAAAXCAYAAADnaAq1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk1MzNGNzI0OTJEQjExRThCRDQ1RkFGOTg0MTcwNEExIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk1MzNGNzI1OTJEQjExRThCRDQ1RkFGOTg0MTcwNEExIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTUzM0Y3MjI5MkRCMTFFOEJENDVGQUY5ODQxNzA0QTEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTUzM0Y3MjM5MkRCMTFFOEJENDVGQUY5ODQxNzA0QTEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5/jqPwAAAFdElEQVR42uxaW2wUZRTuzM7OZTu7271TWnqjVKOojSQIRVITE0UxMRqjCAkhxjdDSI2QaF+Ib4aa4OXRhBAiPpgQTJAYlUSkpVAJaX0QEEjbbXHb7V6615m9zfqddrduq7RNodsKc5I/szvzz9/Z8/3nO985Uyafz1foVh5LpTIbQ6F4J89z1ySJvyCKfB/LMon57uF0t5XPksnUc9FoclfxO8MwWV7gBkyS0A3AejAucpzhTuk9jB5B5TP42pBMpp9XlNQ2Vc20KWr6GS2nmUvnGHluUBKnwOqVZfGUDtAKA5ZOZzcqSnorwNqi4ojvLcXrgmAc0AFaZZbLaa5wOH4gGIx1VlaKP7F0gpKX7prVYQYDO4GQYeizKBp72dE7we+Ghvy/+/2RzzUtb9JdtPIGqttCR0kSeliLWfqG1ATCav/wsP+qisSlu6gsVOYgn2cyubq5eQn5aDM+apJkvMzabPIXdXWuNmjzP5CgHvF6A91IWtt0Fy6bMZFoct/g4Ph1Yq1QKHao9CKJhryWlyEQrrEsG2ELXHelvt69yWaXuxiWiVUUOFC3+2uZTLYZAXB+zBc+hghymkzCebvd3FU6R5mhN757VqGKilZ1u6wHaRRCTRgenrgCFCedTvNhLHZOd/G92TgiBjXQdhICLrf1A6vFdIJcPQsgdRogUeIvzdtJgPomhecghTcykvqZAHK5LJ2iyF/WXb04y2Zz1dGYskeuFL+n9o7dJn8iCsY+u13+DBs/fBeBsHUqgkS+d8FOAlSdjET2figc70DFW0W41dY6d1RWCj/q7p+fyoKh+KFoJLmXmMhiMZ2srrbtWYRwsN+65QsgwgLNzdUe8ve8vTjQXtzhMH9cVVX5JUA6mIirOzmO/avYV8pmtVpZFk/TPB2WafNPRLrCoXgHuY/2uGyWTlOKWMy9yrSCZgr0lp+X4uYUTyGX0/IhjeI531j4eBYSkTWwMTOkepXV9BXo77eHkcYglTcgqf9a3LhUtpgt0tcOu/kIUdti19JyeSsdSTzMSL6ltnriCfWVYDD2UZEzySDZj7rd1o6HoIaxx+PKa9Goshuqq51ql5pax07kmrOaplnhUp6EwJKKVDXztCBwAwA5t+gI+i/Dw5yhARHxRCSSfCcaTe4uvtsAB6/3T0Q/NRoNf2LODyQZ8QfTD0SVDxryjgR+Qa0iTu1w/C7Q2BmpwB5Uu9zL+ih5rs4qmpajWYqd9bbPFzo5k8sMbIR2F6LrwFJ3VvkTfa4hqaTaQVntKTWz2WI1HYcKO0IAjY4Gz6KQ7LdYpJOg91N3U2T3papdpm42k0ikXkwk1RcgLF5CdfwonVy71v4mftC3RI+T4cR74Ofrgmjsh/Tsp04GdmNmJSp7gFFrMDARODoKf3DD3olLAGVT6SQAdKJ6jW1v2R+uHK8baDfSew6TiT9H3AqBcQwSdN8cIeJvbPQ8ThITPNyKgq6d4wy+6cGO4Ti0FACpVEDOsAGASQBAXZKKWEx5C+P1dCbbQs8FujIZee5mU6OnBfOlwcHxm1o+LxM1m5D8kbQvIGL6innhgQPo30VwXkCEvQy6eCqVzj6JPNaKc8aGencrAArSDob4mNW05YwGb2OD5zHKc4FA9HA8rr5RwVSo/3A3P7DGU/UuLe/3R44CgF0EDNblp+7nDONNTZ51BPLt22NjUF+eUpVKtQooeH/h+Sg351cCkFUB0IL1gJJ+lkRHNqfVkCMxaih31a1ztVFLyusN9CDC2mb9EJZJNq+vduK6AoAvFtUlJXHcGwaV9tXWOF4lx2P97el0ZgPPG2+AWm9Q1K7WXPi/fKNK760KeY0piYIgVONQ4bpIzUgCZqH/mlnt9rcAAwDcqNJaqk775wAAAABJRU5ErkJggg=="}},"time_used":33,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":33,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/20061.8715a452514d45d5dd3b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.635Z","timestamp":1785129292635,"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/20061.8715a452514d45d5dd3b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-1ee3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:49\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: aaf6edcb79f593cdcc66f52e3e395959\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":7907,"size_decoded":4450,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3062)","md5":"7d505e8048a3d56a7c35fec43b942e28","sha1":"7cc8e3f14d3c2bc72667a4b341a18173ba08360e","sha256":"3c8a6537a973cf0adf27e43d6727b986d50fc12ac3b1bf62528b892270b5a901","sha512":"42ecf81a5c530657c264164cdace5abb238353df391c16cb5f4eb18c3d4eea154e934f76f113c9fe8c77cd66d8e6038b288ce213c22f225e959c5b61f6221849","ssdeep":"192:OlOIsbRrYGv5JJjaqRSPoi35z6e5WyoEH6R+0332JtcIKidzTnM:OlOIs1BnJjaq+oCm1GH6etcFidzTM","tlshash":"44f1b89870c9b07653c60867f0735488f23c2550788e89a0f298dcf63ab285ed267f9d","first_seen":"2026-07-23T13:38:20.472499Z","last_seen":"2026-07-27T08:08:01.058175Z","times_seen":957,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMjAwNjFdLHszMjA0MDMoZSx0KXt2YXIgbixvPSEoInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3d8fCF3aW5kb3cuZG9jdW1lbnR8fCF3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7ZnVuY3Rpb24gcigpe2lmKG4pcmV0dXJuIG47aWYoIW98fCF3aW5kb3cuZG9jdW1lbnQuYm9keSlyZXR1cm4iaW5kZXRlcm1pbmF0ZSI7dmFyIGU9d2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJBQkNEIikpLGUuZGlyPSJydGwiLGUuc3R5bGUuZm9udFNpemU9IjE0cHgiLGUuc3R5bGUud2lkdGg9IjRweCIsZS5zdHlsZS5oZWlnaHQ9IjFweCIsZS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGUuc3R5bGUudG9wPSItMTAwMHB4IixlLnN0eWxlLm92ZXJmbG93PSJzY3JvbGwiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSksbj0icmV2ZXJzZSIsZS5zY3JvbGxMZWZ0PjA/bj0iZGVmYXVsdCI6KGUuc2Nyb2xsTGVmdD0xLDA9PT1lLnNjcm9sbExlZnQmJihuPSJuZWdhdGl2ZSIpKSxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGUpLG59fSwzODQwMTcoZSx0LG4pe24uZCh0LHtmZXRjaDooKT0+c30pO3ZhciBvPW4oMjIxMDYxKTtuKDMwMDI4Nik7Y29uc3Qgcj0oMCxvLmdldExvZ2dlcikoIkZldGNoIik7ZnVuY3Rpb24gcyhlLHQsbj17fSl7e2NvbnN0e2xvZ09uRXJyb3JTdGF0dXM6bz0hMCxsb2dCb2R5T25FcnJvcjpzPSExfT1uO3Q9dHx8e30sZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBVUkwoZSxkb2N1bWVudC5iYXNlVVJJKS5vcmlnaW49PT1sb2NhdGlvbi5vcmlnaW59KGUpJiYodC5oZWFkZXJzP3QuaGVhZGVycyBpbnN0YW5jZW9mIEhlYWRlcnN8fCh0LmhlYWRlcnM9bmV3IEhlYWRlcnModC5oZWFkZXJzKSk6dC5oZWFkZXJzPW5ldyBIZWFkZXJzLHdpbmRvdy5sb2NhbGUmJnQuaGVhZGVycy5zZXQoIlgtTGFuZ3VhZ2UiLHdpbmRvdy5sb2NhbGUpLHQuaGVhZGVycy5zZXQoIlgtUmVxdWVzdGVkLVdpdGgiLCJYTUxIdHRwUmVxdWVzdCIpKSx2b2lkIDA9PT10LmNyZWRlbnRpYWxzJiYodC5jcmVkZW50aWFscz0ic2FtZS1vcmlnaW4iKTtjb25zdCBpPXdpbmRvdy5mZXRjaChlLHQpO3JldHVybiBpLnRoZW4oKG49PntpZighbi5vayYmbyl7bGV0IG89IiI7dC5tZXRob2QmJihvKz1gJHt0Lm1ldGhvZC50b1VwcGVyQ2FzZSgpfSBgKSxvKz1lLG8rPWAuIFN0YXR1cyAke24uc3RhdHVzfWAsbi5zdGF0dXNUZXh0JiYobys9YC4gJHtuLnN0YXR1c1RleHR9YCksbi5oZWFkZXJzLnZpYSYmKG8rPWAuIFZpYTogJHtuLmhlYWRlcnMudmlhfWApLHMmJiJzdHJpbmciPT10eXBlb2YgdC5ib2R5JiYobys9YC4gQm9keTogJHt0LmJvZHkuc2xpY2UoMCwxMDI0KX1gKSxyLmxvZ0Vycm9yKG8pfXJldHVybiBufSksKG49PntpZihuJiYiQWJvcnRFcnJvciI9PT1uLm5hbWUpcmV0dXJuO2xldCBvPSIiO3QubWV0aG9kJiYobys9YCR7dC5tZXRob2QudG9VcHBlckNhc2UoKX0gYCksbys9ZSxuYXZpZ2F0b3Iub25MaW5lP28rPWAuICR7U3RyaW5nKG4pfWA6bys9Ii4gVXNlciBpcyBvZmZsaW5lLiIsci5sb2dFcnJvcihvKX0pKSxpfX19LDI0NzkwMShlLHQsbil7dmFyIG87bi5kKHQse1N0ZFRoZW1lOigpPT5vfSksZnVuY3Rpb24oZSl7ZS5MaWdodD0ibGlnaHQiLGUuRGFyaz0iZGFyayJ9KG98fChvPXt9KSl9LDcyMTM2OShlLHQsbil7bi5kKHQse2lzTmF0aXZlVUlJbnRlcmFjdGlvbjooKT0+c30pO3ZhciBvPW4oMjM1NzI0KTtmdW5jdGlvbiByKGUpe2lmKCJJTlBVVCI9PT1lLnRhZ05hbWUpe2NvbnN0IHQ9ZS50eXBlO3JldHVybiJ0ZXh0Ij09PXR8fCJlbWFpbCI9PT10fHwibnVtYmVyIj09PXR8fCJwYXNzd29yZCI9PT10fHwic2VhcmNoIj09PXR8fCJ0ZWwiPT09dHx8InVybCI9PT10fXJldHVybiJURVhUQVJFQSI9PT1lLnRhZ05hbWV8fGUuaXNDb250ZW50RWRpdGFibGV9ZnVuY3Rpb24gcyhlLHQpe2lmKCF0KXJldHVybiExO2NvbnN0IG49MjU1JmU7aWYoMjc9PT1ufHxuPj4+ND09NylyZXR1cm4hMTtzd2l0Y2goZV5uKXtjYXNlIG8uTW9kaWZpZXJzLkFsdDpyZXR1cm4oMzg9PT1ufHw0MD09PW4pJiYiU0VMRUNUIj09PXQudGFnTmFtZXx8cih0KTtjYXNlIG8uTW9kaWZpZXJzLkFsdCtvLk1vZGlmaWVycy5TaGlmdDpyZXR1cm4gcih0KTtjYXNlIG8uTW9kaWZpZXJzLk1vZDppZig2Nz09PW58fCFvLmlzTWFjS2V5Ym9hcmQmJjQ1PT09bil7Y29uc3QgZT10Lm93bmVyRG9jdW1lbnQmJnQub3duZXJEb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtpZihlJiYhZS5pc0NvbGxhcHNlZClyZXR1cm4hMH1yZXR1cm4gcih0KTtjYXNlIG8uTW9kaWZpZXJzLk1vZCtvLk1vZGlmaWVycy5TaGlmdDpyZXR1cm4gbj49MzMmJm48PTQwJiZyKHQpO2Nhc2Ugby5Nb2RpZmllcnMuU2hpZnQ6Y2FzZSAwOnJldHVybiA5PT09bj8hKCF0Lm93bmVyRG9jdW1lbnR8fHQ9PT10Lm93bmVyRG9jdW1lbnQuYm9keXx8dD09PXQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpOighZnVuY3Rpb24oZSl7aWYoIkJVVFRPTiI9PT1lLnRhZ05hbWUpcmV0dXJuITA7aWYoIklOUFVUIj09PWUudGFnTmFtZSl7Y29uc3QgdD1lLnR5cGU7aWYoInN1Ym1pdCI9PT10fHwiYnV0dG9uIj09PXR8fCJyZXNldCI9PT10fHwiY2hlY2tib3giPT09dHx8InJhZGlvIj09PXQpcmV0dXJuITB9cmV0dXJuITF9KHQpfHwxMz09PW58fDMyPT09bnx8OT09PW4pJiYoImZvcm0iaW4gdHx8dC5pc0NvbnRlbnRFZGl0YWJsZSl9cmV0dXJuITF9fSw1MDU1NihlLHQsbil7bi5kKHQse2NvbG9yc1BhbGV0dGU6KCk9PmR9KTt2YXIgbz1uKDMxNzY2Mykscj1uKDg2NzUyMikscz1uKDEzODYzOCk7Y29uc3QgaT17Li4ubywuLi5yfSxhPXt9LGM9T2JqZWN0LmtleXMoaSkubGVuZ3RoLGw9L14jKChbYS1mMC05XXsyfSl7Miw0fXxbYS1mMC05XXszfSkkL2k7ZnVuY3Rpb24gdShlLHQ9W10sbj1pKXtjb25zdCBvPW5bZV0KO2lmKCFvKXJldHVybiBudWxsO2lmKGwudGVzdChvKSlyZXR1cm4gbztjb25zdCByPW87cmV0dXJuIHQucHVzaChlKSwtMSE9PXQuaW5kZXhPZihyKT8oY29uc29sZS53YXJuKCJDb2xvcnMgZGVmaW5pdGlvbnMgY3ljbGVkIiksbyk6dC5sZW5ndGg+Yz8oY29uc29sZS53YXJuKCJUb28gbWFueSB2YXJpYWJsZXMtbGluayBpbiBIRVgtY29sb3Igc2VhcmNoOiAiK3RbMF0pLG51bGwpOnUocix0LG4pfU9iamVjdC5rZXlzKGkpLmZvckVhY2goKGU9Pntjb25zdCB0PXUoZSk7YVtlXT0oMCxzLmVuc3VyZU5vdE51bGwpKHQpfSkpO2NvbnN0IGQ9YX0sMjE4ODE0KGUsdCxuKXtuLmQodCx7Y29sb3I6KCk9Pm99KTtjb25zdCBvPXtibGFjazcwOiIjNEE0QTRBIixibGFjazgwOiIjNTM1MzUzIn19LDEzODYzOChlLHQsbil7ZnVuY3Rpb24gbyhlLHQpe2lmKCFlKXRocm93IG5ldyBFcnJvcigiQXNzZXJ0aW9uIGZhaWxlZCIrKHQ/YDogJHt0fWA6IiIpKX1mdW5jdGlvbiByKGUsdCl7aWYodm9pZCAwPT09ZSl0aHJvdyBuZXcgRXJyb3IoYCR7dD8/IlZhbHVlIn0gaXMgdW5kZWZpbmVkYCk7cmV0dXJuIGV9ZnVuY3Rpb24gcyhlLHQpe2lmKG51bGw9PT1lKXRocm93IG5ldyBFcnJvcihgJHt0Pz8iVmFsdWUifSBpcyBudWxsYCk7cmV0dXJuIGV9bi5kKHQse2Fzc2VydDooKT0+byxlbnN1cmVEZWZpbmVkOigpPT5yLGVuc3VyZU5vdE51bGw6KCk9PnN9KX0sODU2MzI0KGUsdCxuKXtuLmQodCx7Z2V0TGFuZ3VhZ2U6KCk9PnMscmVnaXN0ZXJMYW5ndWFnZUNvZGVNYXBwZXI6KCk9PmEscmVnaXN0ZXJMYW5ndWFnZUdldHRlcjooKT0+cn0pO2xldCBvPW51bGw7ZnVuY3Rpb24gcihlKXtvPWV9ZnVuY3Rpb24gcygpe2lmKCFvKXRocm93IG5ldyBFcnJvcigiTGFuZ3VhZ2UgZ2V0dGVyIG5vdCByZWdpc3RlcmVkLiBDYWxsIHJlZ2lzdGVyTGFuZ3VhZ2VHZXR0ZXIoKSBmaXJzdC4iKTtyZXR1cm4gbygpfWxldCBpPWU9PmU7ZnVuY3Rpb24gYShlKXtpPWV9fSw3NzMwODgoZSx0LG4pe3ZhciBvO2Z1bmN0aW9uIHIoZSx0PSExKXtpZigicGVyaW9kLWJhY2siPT09ZS50eXBlKXtsZXQgbj1lLnZhbHVlO3JldHVybiB0JiYiWVREIiE9PW4mJiJEIj09PW4uc2xpY2UoLTEpJiYobj1uLnNsaWNlKDAsLTEpKSxufXJldHVybiJyLCIrZS5mcm9tKyI6IitlLnRvfWZ1bmN0aW9uIHMoZSl7Y29uc3QgdD0vciwoXGQrKTooXGQrKS8uZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/e2Zyb206TnVtYmVyKHRbMV0pLHRvOk51bWJlcih0WzJdKSx0eXBlOiJ0aW1lLXJhbmdlIn06e3ZhbHVlOmUsdHlwZToicGVyaW9kLWJhY2sifX1uLmQodCx7Y29udmVydFN0clRvVGltZUZyYW1lOigpPT5zLGNvbnZlcnRUaW1lRnJhbWVUb1N0cjooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuUGVyaW9kQmFjaz0icGVyaW9kLWJhY2siLGUuVGltZVJhbmdlPSJ0aW1lLXJhbmdlIn0ob3x8KG89e30pKX0sODEwNDEoZSx0LG4pe24uZCh0LHtTdGRUaGVtZTooKT0+by5TdGRUaGVtZX0pO3ZhciBvPW4oMjQ3OTAxKX0sOTExMzI3KGUsdCxuKXtuLmQodCx7bWFrZVN5bWJvbFBhZ2VVcmw6KCk9PmcsbWFrZVRlbXBsYXRlU3ltYm9sVXJsOigpPT5wfSk7big5NjM5MDApO3ZhciBvPW4oMzA5ODM2KSxyPW4oMjQxOTM3KSxzPW4oNzMwNjQ1KSxpPW4oODUxNDU4KSxhPW4oMTU2ODI5KTtjb25zdCBjPW5ldyBTZXQoWyJTUDpTUFgiLCJDQk9FOlNQWCJdKTtmdW5jdGlvbiBsKGUpe2NvbnN0IHQ9ey4uLmV9O2lmKCJzcHJlYWQiPT09dC50eXBlfHwiZXhwcmVzc2lvbiI9PT10LnR5cGUpe2NvbnN0IGU9dC5zaG9ydE5hbWUmJnUodC5zaG9ydE5hbWUpLG49dC5wcm9OYW1lJiZ1KHQucHJvTmFtZSk7dC50eXBlPXZvaWQgMCx0LnNob3J0TmFtZT1lLHQucHJvTmFtZT1ufXJldHVybiB0fWZ1bmN0aW9uIHUoZSl7cmV0dXJuKDAsaS50b2tlbml6ZSkoZSkuZmluZCgoZT0+InN5bWJvbCI9PT1lLnR5cGUpKT8udmFsdWV9ZnVuY3Rpb24gZChlKXtjb25zdCB0PXtzaG9ydE5hbWU6ZS5zaG9ydE5hbWUsZXhjaGFuZ2U6ZS5leGNoYW5nZSxwcm9OYW1lOmUucHJvTmFtZSx0eXBlOmUudHlwZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3Mscm9vdDplLnJvb3R9O3JldHVybiB0LnByb05hbWUmJnQucHJvTmFtZS5pbmNsdWRlcygiOiIpJiYoW3QuZXhjaGFuZ2UsdC5zaG9ydE5hbWVdPXQucHJvTmFtZS5zcGxpdCgiOiIpKSx0fWZ1bmN0aW9uIG0oZSx0KXtjb25zdCBuPWVuY29kZVVSSUNvbXBvbmVudCh0LnNob3J0TmFtZXx8IiIpLG89ZW5jb2RlVVJJQ29tcG9uZW50KHQuZXhjaGFuZ2V8fCIiKSxyPWVuY29kZVVSSUNvbXBvbmVudCh0LnByb05hbWV8fCIiKSxzPWVuY29kZVVSSUNvbXBvbmVudCh0LnJvb3R8fCIiKTtyZXR1cm4gZS5yZXBsYWNlKCJ7dHZleGNoYW5nZX0iLG8pLnJlcGxhY2UoInt0dnN5bWJvbH0iLG4pLnJlcGxhY2UoInt0dnByb3N5bWJvbH0iLHIpLnJlcGxhY2UoInt0dnJvb3R9IixzKX1mdW5jdGlvbiBmKGUsdD0iIil7Y29uc3Qgbj1kKGUpLHt0eXBlOm8sdHlwZXNwZWNzOnIsc2hvcnROYW1lOnMscHJvTmFtZTppLGV4Y2hhbmdlOmwscm9vdDp1fT1uO3JldHVybiB2b2lkIDA9PT1zJiZ2b2lkIDA9PT1pPyhjb25zb2xlLndhcm4oIlBhcmFtcyBtaXNzZWQiKSwiLyIpOmkmJmMuaGFzKGkpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7dH1gOm98fHI/ImNvbW1vZGl0eSI9PT1vJiZyJiZyLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohdXx8IXJ8fCJmdXR1cmVzIiE9PW98fHIuaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmcz8uZW5kc1dpdGgoIjEhIil8fHIuaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT9sJiYoImZvcmV4Ij09PW98fHImJigwLAphLmhhc0NyeXB0b1R5cGVzcGVjKShyKSk/Ii9zeW1ib2xzL3t0dnN5bWJvbH0vP2V4Y2hhbmdlPXt0dmV4Y2hhbmdlfSI6bD9gL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnN5bWJvbH0vJHt0fWA6YC9zeW1ib2xzL3t0dnN5bWJvbH0vJHt0fWA6YC9zeW1ib2xzL3t0dmV4Y2hhbmdlfS17dHZyb290fTEhLyR7dH0/Y29udHJhY3Q9e3R2c3ltYm9sfWA6bD9gL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnN5bWJvbH0vJHt0fWA6YC9zeW1ib2xzL3t0dnN5bWJvbH0vJHt0fWB9ZnVuY3Rpb24gcChlLHQpe2xldCBuPWU7aWYoIS97dHZzeW1ib2x9fHt0dmV4Y2hhbmdlfXx7dHZwcm9zeW1ib2x9Ly50ZXN0KGUpKXtsZXQgbz0idHZwcm9zeW1ib2wiO3ZvaWQgMD09PXQucHJvTmFtZSYmKG89InR2c3ltYm9sIiksbj1gJHtlfT90dndpZGdldHN5bWJvbD17JHtvfX1gfWNvbnN0IG89bShuLGQobCh0KSkpO2lmKCEoMCxzLmlzU2FmZVVybCkobykpdGhyb3cgbmV3IEVycm9yKGBUaGUgc3ltYm9sIFVSTCAke299IGlzIG5vdCBhbGxvd2VkLmApO3JldHVybiBvfWZ1bmN0aW9uIGgoZSx0LG4scyl7Y29uc3QgaT0od2luZG93LmxvY2FsZV9kb21haW5zPygwLHIuZGV0ZXJtaW5lQmFzZVVybCkod2luZG93LmxvY2FsZV9kb21haW5zLHMpOndpbmRvdy5sb2NhdGlvbi5vcmlnaW4pK20oZSxkKGwodCkpKTtyZXR1cm4gbj8oMCxvLmFkZFV0bVRvVXJsKShpLG4pOml9ZnVuY3Rpb24gZyhlLHQsbixvKXtjb25zdCByPWwoZSk7cmV0dXJuIGgoZihyLG8pLHIsdCxuKX19LDQ0MzU1NyhlLHQsbil7bi5kKHQse3BhcnNlSHRtbEVsZW1lbnQ6KCk9PnN9KTtjb25zdCBvPW5ldyBXZWFrTWFwO3ZhciByO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBuPWZ1bmN0aW9uKGUsdCl7bGV0IG4scjtyZXR1cm4gbj1udWxsPT10P2RvY3VtZW50LmRvY3VtZW50RWxlbWVudDo5PT09dC5ub2RlVHlwZT90LmRvY3VtZW50RWxlbWVudDp0LG8mJihyPW8uZ2V0KG4pKSxyfHwocj1uLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxyLnNlbGVjdE5vZGVDb250ZW50cyhuKSxvJiZvLnNldChuLHIpKSxyLmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChlKX0oZSx0KSxyPW4uZmlyc3RFbGVtZW50Q2hpbGQ7cmV0dXJuIG51bGwhPT1yJiZuLnJlbW92ZUNoaWxkKHIpLHJ9IWZ1bmN0aW9uKGUpe2VbZS5FbGVtZW50PTFdPSJFbGVtZW50IixlW2UuRG9jdW1lbnQ9OV09IkRvY3VtZW50In0ocnx8KHI9e30pKX0sMzA5ODM2KGUsdCxuKXtuLmQodCx7YWRkVXRtVG9Vcmw6KCk9PnJ9KTt2YXIgbz1uKDYwMTU4Nyk7ZnVuY3Rpb24gcihlLHQpe2lmKCEvKFthLXpBLVowLTkuLV0qdHJhZGluZ3ZpZXcuY29tKXxsb2NhbGhvc3QvLnRlc3QoZSkpcmV0dXJuIGU7Y29uc3Qgbj0oMCxvLmJ1aWxkVXRtUXVlcnlTdHJpbmcpKHQpO2lmKCIiPT09bilyZXR1cm4gZTtjb25zdCByPWUuaW5kZXhPZigiPyIpLHM9ZS5pbmRleE9mKCIjIiksaT0tMSE9PXM7aWYoLTEhPT1yJiYoIWl8fHI8cykpe3JldHVybmAke2Uuc2xpY2UoMCxyKX0/JHtpP2Uuc2xpY2UocisxLHMpOmUuc2xpY2UocisxKX0mJHtufSR7aT9lLnNsaWNlKHMpOiIifWB9aWYoaSl7cmV0dXJuYCR7ZS5zbGljZSgwLHMpfT8ke259JHtlLnNsaWNlKHMpfWB9cmV0dXJuYCR7ZX0/JHtufWB9fSw2MDE1ODcoZSx0LG4pe24uZCh0LHtidWlsZFV0bVF1ZXJ5U3RyaW5nOigpPT5hLGZpbHRlclV0bUluZm86KCk9Pml9KTt2YXIgbz1uKDQ5MjY3Nykscj1uKDY0MTU5Myk7Y29uc3Qgcz1bInV0bV9zb3VyY2UiLCJ1dG1fbWVkaXVtIiwidXRtX2NhbXBhaWduIl07ZnVuY3Rpb24gaShlKXtjb25zdCB0PXt9O3JldHVybiBzLmZvckVhY2goKG49Pntjb25zdCBvPWVbbl07InN0cmluZyI9PXR5cGVvZiBvJiYiIiE9PW8mJih0W25dPSgwLHIuaHRtbEVzY2FwZSkobykpfSkpLHR9ZnVuY3Rpb24gYShlLHQ9ITEpe2NvbnN0IG49KDAsby5jcmVhdGVVcmxQYXJhbXMpKGUpO3JldHVybiBuJiZ0PyI/IituOm59fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/#","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:53.013Z","timestamp":1785129293013,"http_version":"","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":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","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-27T08:08:41.31747Z","times_seen":17559137,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.google.com/translate_a/element.js?cb=googleTranslateElementInit","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.933Z","timestamp":1785129291933,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /translate_a/element.js?cb=googleTranslateElementInit HTTP/1.1\r\nHost: translate.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/javascript; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":75428,"size_decoded":27153,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (2543)","md5":"6c25051498fe2146ffb7bf30b37fabba","sha1":"9634b50dd2401b5ab4c0953e0b6b617619a2ddeb","sha256":"1282813f4d381b5ec2278d3f5bc5a3ca4fdb0ff0a086dabdad2b7e4db35c8928","sha512":"dac02c44fc6a98ee4a6f4016f8ed9d0c8af57c736d3138f03f0dac1963f1163dec2295accd5fe081e4819e58d5b05865716c660159831c66334d8d7a208d125a","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECiPwNWF0:XDD4U6KKZgtBgtCi90","tlshash":"9a73b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf5949453bf7d","first_seen":"2026-07-27T05:01:06.091819Z","last_seen":"2026-07-27T06:00:36.81411Z","times_seen":116,"resource_available":true,"data":"CiAgICAvLyBnby9tc3Mtc2V0dXAjNy1sb2FkLXRoZS1qcy1vci1jc3MtZnJvbS15b3VyLWluaXRpYWwtcGFnZQogICAgaWYoIXdpbmRvd1snX0R1bXBFeGNlcHRpb24nXSkgewogICAgICBjb25zdCBfRHVtcEV4Y2VwdGlvbiA9IHdpbmRvd1snX0R1bXBFeGNlcHRpb24nXSB8fCBmdW5jdGlvbihlKSB7CiAgICAgICAgdGhyb3cgZTsKICAgICAgfTsKICAgICAgd2luZG93WydfRHVtcEV4Y2VwdGlvbiddID0gX0R1bXBFeGNlcHRpb247CiAgICB9CiAgInVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF90cj10aGlzLmRlZmF1bHRfdHJ8fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKXy5fRl90b2dnbGVzX2luaXRpYWxpemU9ZnVuY3Rpb24oYSl7KHR5cGVvZiBnbG9iYWxUaGlzIT09InVuZGVmaW5lZCI/Z2xvYmFsVGhpczp0eXBlb2Ygc2VsZiE9PSJ1bmRlZmluZWQiP3NlbGY6dGhpcykuX0ZfdG9nZ2xlc19kZWZhdWx0X3RyPWF8fFtdfTsoMCxfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZSkoWzB4NzAwODAwNCwgMHgwLCBdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoqLwp2YXIgYWEsY2EsZmEsamEscmEseGEsQmEsRGEsRmEsR2EsSWEsWWEsYmIsZmIsZ2IsamIsa2IsbmIscGIscWIsc2IsdWIsdmIsQWIsQmIsRmIsSWIsSmIsTWIsTmIsT2IsUWIsU2IseixSYixVYixZYixaYixhYyxiYzthYT1mdW5jdGlvbihhLGIpe2lmKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKUVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsYWEpO2Vsc2V7dmFyIGM9RXJyb3IoKS5zdGFjaztjJiYodGhpcy5zdGFjaz1jKX1hJiYodGhpcy5tZXNzYWdlPVN0cmluZyhhKSk7YiE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Yil9O2NhPWZ1bmN0aW9uKGEsYil7YT1hLnNwbGl0KCIlcyIpO2Zvcih2YXIgYz0iIixkPWEubGVuZ3RoLTEsZT0wO2U8ZDtlKyspYys9YVtlXSsoZTxiLmxlbmd0aD9iW2VdOiIlcyIpO2FhLmNhbGwodGhpcyxjK2FbZF0pfTtmYT1mdW5jdGlvbihhKXtpZihfLmRhKWEoXy5kYSk7ZWxzZXt2YXIgYjsoKGI9ZWEpIT1udWxsP2I6ZWE9W10pLnB1c2goYSl9fTsKamE9ZnVuY3Rpb24oKXshXy5kYSYmXy5oYSYmXy5pYSgpO3JldHVybiBfLmRhfTtfLmlhPWZ1bmN0aW9uKCl7Xy5kYT1fLmhhKCk7dmFyIGE7KGE9ZWEpPT1udWxsfHxhLmZvckVhY2goZmEpO2VhPXZvaWQgMH07Xy5sYT1mdW5jdGlvbihhKXtfLmRhJiZrYShhKX07Xy5tYT1mdW5jdGlvbigpe18uZGEmJl8uZGEubWQoKX07Xy5vYT1mdW5jdGlvbihhLGIpe2IuaGFzT3duUHJvcGVydHkoImRpc3BsYXlOYW1lIil8fChiLmRpc3BsYXlOYW1lPWEudG9TdHJpbmcoKSk7YltuYV09YX07Xy5wYT1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKX07cmE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz1hcmd1bWVudHMubGVuZ3RoO2I8YzsrK2Ipe3ZhciBkPWFyZ3VtZW50c1tiXTtfLnFhKGQpP3JhLmFwcGx5KG51bGwsZCk6Xy5wYShkKX19O18udT1mdW5jdGlvbigpe3RoaXMucWE9dGhpcy5xYTt0aGlzLlc9dGhpcy5XfTsKXy50YT1mdW5jdGlvbihhLGIpe3JldHVybiBzYShhLGIpPj0wfTtfLnVhPWZ1bmN0aW9uKGEsYil7Xy50YShhLGIpfHxhLnB1c2goYil9O18udmE9ZnVuY3Rpb24oYSxiKXtiPXNhKGEsYik7dmFyIGM7KGM9Yj49MCkmJkFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChhLGIsMSk7cmV0dXJuIGN9O18ud2E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5sZW5ndGg7aWYoYj4wKXtmb3IodmFyIGM9QXJyYXkoYiksZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTt4YT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTtpZihfLnFhKGQpKXt2YXIgZT1hLmxlbmd0aHx8MCxmPWQubGVuZ3RofHwwO2EubGVuZ3RoPWUrZjtmb3IodmFyIGc9MDtnPGY7ZysrKWFbZStnXT1kW2ddfWVsc2UgYS5wdXNoKGQpfX07CkJhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9MCxkPXt9O2M8YS5sZW5ndGg7KXt2YXIgZT1hW2MrK10sZj1fLnlhKGUpPyJvIisoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsemEpJiZlW3phXXx8KGVbemFdPSsrQWEpKToodHlwZW9mIGUpLmNoYXJBdCgwKStlO09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLGYpfHwoZFtmXT0hMCxhW2IrK109ZSl9YS5sZW5ndGg9Yn07Xy5DYT1mdW5jdGlvbihhLGIpe3RoaXMud2lkdGg9YTt0aGlzLmhlaWdodD1ifTtEYT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYyBpbiBhKWlmKGIuY2FsbCh2b2lkIDAsYVtjXSxjLGEpKXJldHVybiEwO3JldHVybiExfTsKRmE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZCxlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7ZD1hcmd1bWVudHNbZV07Zm9yKGMgaW4gZClhW2NdPWRbY107Zm9yKHZhciBmPTA7ZjxFYS5sZW5ndGg7ZisrKWM9RWFbZl0sT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGQsYykmJihhW2NdPWRbY10pfX07R2E9ZnVuY3Rpb24oYSl7cmV0dXJue3ZhbHVlT2Y6YX0udmFsdWVPZigpfTtJYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7aWYoIUhhKXJldHVybiBhO3RyeXt2YXIgYj1mdW5jdGlvbihjKXtyZXR1cm4gY307YT1IYS5jcmVhdGVQb2xpY3koImdvb2cjaHRtbCIse2NyZWF0ZUhUTUw6YixjcmVhdGVTY3JpcHQ6YixjcmVhdGVTY3JpcHRVUkw6Yn0pfWNhdGNoKGMpe31yZXR1cm4gYX07Xy5LYT1mdW5jdGlvbigpe0phPT09dm9pZCAwJiYoSmE9SWEoKSk7cmV0dXJuIEphfTsKXy5NYT1mdW5jdGlvbihhKXt2YXIgYj1fLkthKCk7YT1iP2IuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBfLkxhKGEpfTtfLk5hPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkxhKXJldHVybiBhLmc7dGhyb3cgRXJyb3IoInQiKTt9O18uT2E9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ZG9jdW1lbnQ6Yjt2YXIgYyxkO2I9KGQ9KGM9YikucXVlcnlTZWxlY3Rvcik9PW51bGw/dm9pZCAwOmQuY2FsbChjLGErIltub25jZV0iKTtyZXR1cm4gYj09bnVsbD8iIjpiLm5vbmNlfHxiLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiJ9O18uUWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5LYSgpO2E9Yj9iLmNyZWF0ZVNjcmlwdChhKTphO3JldHVybiBuZXcgXy5QYShhKX07Xy5SYT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5QYSlyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fTsKXy5TYT1mdW5jdGlvbihhLGIpe2Euc3JjPV8uTmEoYik7KGI9Xy5PYSgic2NyaXB0IixhLm93bmVyRG9jdW1lbnQpKSYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixiKX07Xy5UYT1mdW5jdGlvbigpe3ZhciBhPV8udi5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTtfLnc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVGEoKS5pbmRleE9mKGEpIT0tMX07Xy5XYT1mdW5jdGlvbigpe3JldHVybiBfLlVhPyEhXy5WYSYmXy5WYS5icmFuZHMubGVuZ3RoPjA6ITF9O18uWGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5XYSgpPyExOl8udygiT3BlcmEiKX07WWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5VYT8hIV8uVmEmJiEhXy5WYS5wbGF0Zm9ybTohMX07Xy5aYT1mdW5jdGlvbigpe3JldHVybiBfLncoImlQaG9uZSIpJiYhXy53KCJpUG9kIikmJiFfLncoImlQYWQiKX07Xy4kYT1mdW5jdGlvbigpe3JldHVybiBfLlphKCl8fF8udygiaVBhZCIpfHxfLncoImlQb2QiKX07Cl8uYWI9ZnVuY3Rpb24oKXtyZXR1cm4gWWEoKT9fLlZhLnBsYXRmb3JtPT09Im1hY09TIjpfLncoIk1hY2ludG9zaCIpfTtiYj1mdW5jdGlvbigpe3RoaXMuaWQ9ImIifTtfLmRiPWZ1bmN0aW9uKGEsYil7Y2IuY2FsbCh0aGlzLGE/YS50eXBlOiIiKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGw7dGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MDt0aGlzLmtleT0iIjt0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT0hMTt0aGlzLnN0YXRlPW51bGw7dGhpcy5wb2ludGVySWQ9MDt0aGlzLnBvaW50ZXJUeXBlPSIiO3RoaXMudGltZVN0YW1wPTA7dGhpcy5nPW51bGw7YSYmdGhpcy5pbml0KGEsYil9OwpmYj1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMubGlzdGVuZXI9YTt0aGlzLnByb3h5PW51bGw7dGhpcy5zcmM9Yjt0aGlzLnR5cGU9Yzt0aGlzLmNhcHR1cmU9ISFkO3RoaXMuVmM9ZTt0aGlzLmtleT0rK2ViO3RoaXMub2M9dGhpcy5IYz0hMX07Z2I9ZnVuY3Rpb24oYSl7dGhpcy5zcmM9YTt0aGlzLmc9e307dGhpcy5oPTB9O18uaGI9ZnVuY3Rpb24oKXtfLnUuY2FsbCh0aGlzKTt0aGlzLlFhPW5ldyBnYih0aGlzKTt0aGlzLldnPXRoaXM7dGhpcy5mZD1udWxsfTtqYj1mdW5jdGlvbihhKXtfLmhiLmNhbGwodGhpcyk7dGhpcy5nPWF8fHdpbmRvdzt0aGlzLmg9Xy54KHRoaXMuZywicmVzaXplIix0aGlzLmwsITEsdGhpcyk7dGhpcy5qPV8uaWIodGhpcy5nfHx3aW5kb3cpfTsKa2I9ZnVuY3Rpb24oYSl7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuaD1hP2EuZy5kZWZhdWx0Vmlldzp3aW5kb3c7dGhpcy5vPXRoaXMuaC5kZXZpY2VQaXhlbFJhdGlvPj0xLjU/MjoxO3RoaXMuaj0oMCxfLnkpKHRoaXMuQSx0aGlzKTt0aGlzLmw9bnVsbDsodGhpcy5nPXRoaXMuaC5tYXRjaE1lZGlhP3RoaXMuaC5tYXRjaE1lZGlhKCIobWluLXJlc29sdXRpb246IDEuNWRwcHgpLCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpIik6bnVsbCkmJnR5cGVvZiB0aGlzLmcuYWRkTGlzdGVuZXIhPT0iZnVuY3Rpb24iJiZ0eXBlb2YgdGhpcy5nLmFkZEV2ZW50TGlzdGVuZXIhPT0iZnVuY3Rpb24iJiYodGhpcy5nPW51bGwpfTsKbmI9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLm89YTtpZihiKXtpZih0aGlzLmwpdGhyb3cgRXJyb3IoIngiKTt0aGlzLmw9Yjt0aGlzLmg9Xy5sYihiKTt0aGlzLmc9bmV3IGpiKF8ubWIoYikpO3RoaXMuZy5uZCh0aGlzLm8uaCgpKTt0aGlzLmo9bmV3IGtiKHRoaXMuaCk7dGhpcy5qLnN0YXJ0KCl9fTtwYj1mdW5jdGlvbihhKXthPWEuSGQuY2hhckNvZGVBdChhLkJiKyspO3JldHVybiBvYlthXX07cWI9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPTA7ZG97dmFyIGQ9cGIoYSk7Ynw9KGQmMzEpPDxjO2MrPTV9d2hpbGUoZCYzMik7cmV0dXJuIGI8MD9iKzQyOTQ5NjcyOTY6Yn07Xy5yYj1mdW5jdGlvbihhKXtfLnYuc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGE7fSwwKX07c2I9ZnVuY3Rpb24oYSxiKXt0aGlzLmc9YTt0aGlzLmg9Yn07CnViPWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7dGhpcy5sPWE7dGhpcy5BPWI7dGhpcy5qPXRiP251bGw6W107dGhpcy5oPXRiP251bGw6W107dGhpcy5vPXRiP251bGw6W107dGhpcy5CPSExfTt2Yj1mdW5jdGlvbigpe3RoaXMuTz10aGlzLnFhPW51bGx9O0FiPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9d2IucmVtb3ZlKCk7KXt0cnl7YS5nLmNhbGwoYS5zY29wZSl9Y2F0Y2goYil7Xy5yYihiKX14Yih5YixhKX16Yj0hMX07QmI9ZnVuY3Rpb24oKXt0aGlzLkI9W107dGhpcy5vPXRoaXMuaD0hMTt0aGlzLmw9dm9pZCAwO3RoaXMuRz10aGlzLlc9dGhpcy5EPSExO3RoaXMuQz0wO3RoaXMuaj1udWxsO3RoaXMuQT0wfTtfLkNiPWZ1bmN0aW9uKGEpe3JldHVybiBhP2RlY29kZVVSSShhKTphfTsKXy5FYj1mdW5jdGlvbihhLGIpe2lmKGEpe2E9YS5zcGxpdCgiJiIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLmluZGV4T2YoIj0iKSxlPW51bGw7aWYoZD49MCl7dmFyIGY9YVtjXS5zdWJzdHJpbmcoMCxkKTtlPWFbY10uc3Vic3RyaW5nKGQrMSl9ZWxzZSBmPWFbY107YihmLGU/Xy5EYihlKToiIil9fX07RmI9ZnVuY3Rpb24oYSxiLGMpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspRmIoYSxTdHJpbmcoYltkXSksYyk7ZWxzZSBiIT1udWxsJiZjLnB1c2goYSsoYj09PSIiPyIiOiI9IitfLkdiKGIpKSl9O18uSGI9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dGhpcy5oPWE7dGhpcy5nPXt9fTtJYj1mdW5jdGlvbigpe307SmI9ZnVuY3Rpb24oKXt9O18uTGI9ZnVuY3Rpb24oYSl7YT1fLktiKGEpO3JldHVybiBfLk1hKGEpfTsKXy5LYj1mdW5jdGlvbihhKXtyZXR1cm4gYT09PW51bGw/Im51bGwiOmE9PT12b2lkIDA/InVuZGVmaW5lZCI6YX07TWI9dHlwZW9mIE9iamVjdC5jcmVhdGU9PSJmdW5jdGlvbiI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbigpe307Yi5wcm90b3R5cGU9YTtyZXR1cm4gbmV3IGJ9O05iPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWMudmFsdWU7cmV0dXJuIGF9OwpPYj1mdW5jdGlvbihhKXthPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXTtpZihjJiZjLk1hdGg9PU1hdGgpcmV0dXJuIGN9dGhyb3cgRXJyb3IoImEiKTt9O18uUGI9T2IodGhpcyk7UWI9IkludDggVWludDggVWludDhDbGFtcGVkIEludDE2IFVpbnQxNiBJbnQzMiBVaW50MzIgRmxvYXQzMiBGbG9hdDY0Ii5zcGxpdCgiICIpO18uUGIuQmlnSW50NjRBcnJheSYmKFFiLnB1c2goIkJpZ0ludDY0IiksUWIucHVzaCgiQmlnVWludDY0IikpO1NiPWZ1bmN0aW9uKGEsYil7aWYoYilmb3IodmFyIGM9MDtjPFFiLmxlbmd0aDtjKyspUmIoUWJbY10rIkFycmF5LnByb3RvdHlwZS4iK2EsYil9Owp6PWZ1bmN0aW9uKGEsYil7YiYmUmIoYSxiKX07UmI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlBiO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKXJldHVybjtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmTmIoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTsKXy5UYj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtmdW5jdGlvbiBjKCl7fW5ldyBjO1JlZmxlY3QuY29uc3RydWN0KGMsW10sZnVuY3Rpb24oKXt9KTtyZXR1cm4gbmV3IGMgaW5zdGFuY2VvZiBjfWlmKHR5cGVvZiBSZWZsZWN0IT0idW5kZWZpbmVkIiYmUmVmbGVjdC5jb25zdHJ1Y3Qpe2lmKGEoKSlyZXR1cm4gUmVmbGVjdC5jb25zdHJ1Y3Q7dmFyIGI9UmVmbGVjdC5jb25zdHJ1Y3Q7cmV0dXJuIGZ1bmN0aW9uKGMsZCxlKXtjPWIoYyxkKTtlJiZSZWZsZWN0LnNldFByb3RvdHlwZU9mKGMsZS5wcm90b3R5cGUpO3JldHVybiBjfX1yZXR1cm4gZnVuY3Rpb24oYyxkLGUpe2U9PT12b2lkIDAmJihlPWMpO2U9TWIoZS5wcm90b3R5cGV8fE9iamVjdC5wcm90b3R5cGUpO3JldHVybiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjLGUsZCl8fGV9fSgpOwppZih0eXBlb2YgT2JqZWN0LnNldFByb3RvdHlwZU9mPT0iZnVuY3Rpb24iKVViPU9iamVjdC5zZXRQcm90b3R5cGVPZjtlbHNle3ZhciBWYjthOnt2YXIgV2I9e2E6ITB9LFhiPXt9O3RyeXtYYi5fX3Byb3RvX189V2I7VmI9WGIuYTticmVhayBhfWNhdGNoKGEpe31WYj0hMX1VYj1WYj9mdW5jdGlvbihhLGIpe2EuX19wcm90b19fPWI7aWYoYS5fX3Byb3RvX18hPT1iKXRocm93IG5ldyBUeXBlRXJyb3IoImJgIithKTtyZXR1cm4gYX06bnVsbH1ZYj1VYjsKXy5CPWZ1bmN0aW9uKGEsYil7YS5wcm90b3R5cGU9TWIoYi5wcm90b3R5cGUpO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7aWYoWWIpWWIoYSxiKTtlbHNlIGZvcih2YXIgYyBpbiBiKWlmKGMhPSJwcm90b3R5cGUiKWlmKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKXt2YXIgZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsYyk7ZCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYyxkKX1lbHNlIGFbY109YltjXTthLmVhPWIucHJvdG90eXBlfTtaYj1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX07Cl8uQz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6WmIoYSl9O3Rocm93IEVycm9yKCJjYCIrU3RyaW5nKGEpKTt9O18uJGI9ZnVuY3Rpb24oYSl7aWYoIShhIGluc3RhbmNlb2YgQXJyYXkpKXthPV8uQyhhKTtmb3IodmFyIGIsYz1bXTshKGI9YS5uZXh0KCkpLmRvbmU7KWMucHVzaChiLnZhbHVlKTthPWN9cmV0dXJuIGF9O2FjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpfTsKYmM9dHlwZW9mIE9iamVjdC5hc3NpZ249PSJmdW5jdGlvbiI/T2JqZWN0LmFzc2lnbjpmdW5jdGlvbihhLGIpe2lmKGE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiZCIpO2E9T2JqZWN0KGEpO2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTtpZihkKWZvcih2YXIgZSBpbiBkKWFjKGQsZSkmJihhW2VdPWRbZV0pfXJldHVybiBhfTt6KCJPYmplY3QuYXNzaWduIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8YmN9KTtfLmNjPWZ1bmN0aW9uKGEpe2lmKCEoYSBpbnN0YW5jZW9mIE9iamVjdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZWAiK2EpO307Xy5GPWZ1bmN0aW9uKCl7dGhpcy5HPSExO3RoaXMuQT1udWxsO3RoaXMuaj12b2lkIDA7dGhpcy5nPTE7dGhpcy5vPXRoaXMuQz0wO3RoaXMuVz10aGlzLmw9bnVsbH07Xy5GLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfTsKXy5GLnByb3RvdHlwZS5nZXROZXh0QWRkcmVzc0pzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O18uRi5wcm90b3R5cGUuZ2V0WWllbGRSZXN1bHRKc2M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qfTtfLkYucHJvdG90eXBlLnJldHVybj1mdW5jdGlvbihhKXt0aGlzLmw9e3JldHVybjphfTt0aGlzLmc9dGhpcy5vfTtfLkYucHJvdG90eXBlWyJyZXR1cm4iXT1fLkYucHJvdG90eXBlLnJldHVybjtfLkYucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7dGhpcy5sPXt4YTphfTt0aGlzLmc9dGhpcy5vfTtfLkYucHJvdG90eXBlLmp1bXBUaHJvdWdoRmluYWxseUJsb2Nrcz1fLkYucHJvdG90eXBlLlI7Xy5GLnByb3RvdHlwZS5oPWZ1bmN0aW9uKGEsYil7dGhpcy5nPWI7cmV0dXJue3ZhbHVlOmF9fTtfLkYucHJvdG90eXBlLnlpZWxkPV8uRi5wcm90b3R5cGUuaDsKXy5GLnByb3RvdHlwZS5UPWZ1bmN0aW9uKGEsYil7YT1fLkMoYSk7dmFyIGM9YS5uZXh0KCk7Xy5jYyhjKTtpZihjLmRvbmUpdGhpcy5qPWMudmFsdWUsdGhpcy5nPWI7ZWxzZSByZXR1cm4gdGhpcy5BPWEsdGhpcy5oKGMudmFsdWUsYil9O18uRi5wcm90b3R5cGUueWllbGRBbGw9Xy5GLnByb3RvdHlwZS5UO18uRi5wcm90b3R5cGUueGE9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9O18uRi5wcm90b3R5cGUuanVtcFRvPV8uRi5wcm90b3R5cGUueGE7Xy5GLnByb3RvdHlwZS5CPWZ1bmN0aW9uKCl7dGhpcy5nPTB9O18uRi5wcm90b3R5cGUuanVtcFRvRW5kPV8uRi5wcm90b3R5cGUuQjtfLkYucHJvdG90eXBlLkY9ZnVuY3Rpb24oYSxiKXt0aGlzLkM9YTtiIT12b2lkIDAmJih0aGlzLm89Yil9O18uRi5wcm90b3R5cGUuc2V0Q2F0Y2hGaW5hbGx5QmxvY2tzPV8uRi5wcm90b3R5cGUuRjtfLkYucHJvdG90eXBlLlA9ZnVuY3Rpb24oYSl7dGhpcy5DPTA7dGhpcy5vPWF8fDB9OwpfLkYucHJvdG90eXBlLnNldEZpbmFsbHlCbG9jaz1fLkYucHJvdG90eXBlLlA7Xy5GLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYil7dGhpcy5nPWE7dGhpcy5DPWJ8fDB9O18uRi5wcm90b3R5cGUubGVhdmVUcnlCbG9jaz1fLkYucHJvdG90eXBlLks7Xy5GLnByb3RvdHlwZS5EPWZ1bmN0aW9uKGEpe3RoaXMuQz1hfHwwO2E9dGhpcy5sLmJmO3RoaXMubD1udWxsO3JldHVybiBhfTtfLkYucHJvdG90eXBlLmVudGVyQ2F0Y2hCbG9jaz1fLkYucHJvdG90eXBlLkQ7Xy5GLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGEsYixjKXtjP3RoaXMuV1tjXT10aGlzLmw6dGhpcy5XPVt0aGlzLmxdO3RoaXMuQz1hfHwwO3RoaXMubz1ifHwwfTtfLkYucHJvdG90eXBlLmVudGVyRmluYWxseUJsb2NrPV8uRi5wcm90b3R5cGUuTDsKXy5GLnByb3RvdHlwZS5xYT1mdW5jdGlvbihhLGIpe2I9dGhpcy5XLnNwbGljZShifHwwKVswXTsoYj10aGlzLmw9dGhpcy5sfHxiKT9iLkNmP3RoaXMuZz10aGlzLkN8fHRoaXMubzpiLnhhIT12b2lkIDAmJnRoaXMubzxiLnhhPyh0aGlzLmc9Yi54YSx0aGlzLmw9bnVsbCk6dGhpcy5nPXRoaXMubzp0aGlzLmc9YX07Xy5GLnByb3RvdHlwZS5sZWF2ZUZpbmFsbHlCbG9jaz1fLkYucHJvdG90eXBlLnFhO18uRi5wcm90b3R5cGUuTz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IGRjKGEpfTtfLkYucHJvdG90eXBlLmZvckluPV8uRi5wcm90b3R5cGUuTzt2YXIgZGM9ZnVuY3Rpb24oYSl7dGhpcy5qPWE7dGhpcy5nPVtdO2Zvcih2YXIgYiBpbiBhKXRoaXMuZy5wdXNoKGIpO3RoaXMuZy5yZXZlcnNlKCl9O2RjLnByb3RvdHlwZS5oPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmcubGVuZ3RoPjA7KXt2YXIgYT10aGlzLmcucG9wKCk7aWYoYSBpbiB0aGlzLmopcmV0dXJuIGF9cmV0dXJuIG51bGx9OwpkYy5wcm90b3R5cGUuZ2V0TmV4dD1kYy5wcm90b3R5cGUuaDtfLmVjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPU51bWJlcih0aGlzKSxiPVtdLGM9YTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKWJbYy1hXT1hcmd1bWVudHNbY107cmV0dXJuIGJ9O3ooImdsb2JhbFRoaXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxfLlBifSk7eigiUmVmbGVjdCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTp7fX0pO3ooIlJlZmxlY3QuY29uc3RydWN0IixmdW5jdGlvbigpe3JldHVybiBfLlRifSk7eigiUmVmbGVjdC5zZXRQcm90b3R5cGVPZiIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpZYj9mdW5jdGlvbihiLGMpe3RyeXtyZXR1cm4gWWIoYixjKSwhMH1jYXRjaChkKXtyZXR1cm4hMX19Om51bGx9KTsKeigiU3ltYm9sIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO3ZhciBiPWZ1bmN0aW9uKGYsZyl7dGhpcy5nPWY7TmIodGhpcywiZGVzY3JpcHRpb24iLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfTtiLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O3ZhciBjPSJqc2NvbXBfc3ltYm9sXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCkrIl8iLGQ9MCxlPWZ1bmN0aW9uKGYpe2lmKHRoaXMgaW5zdGFuY2VvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImciKTtyZXR1cm4gbmV3IGIoYysoZnx8IiIpKyJfIitkKyssZil9O3JldHVybiBlfSk7eigiU3ltYm9sLml0ZXJhdG9yIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO2E9U3ltYm9sKCJoIik7TmIoQXJyYXkucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBmYyhaYih0aGlzKSl9fSk7cmV0dXJuIGF9KTsKdmFyIGZjPWZ1bmN0aW9uKGEpe2E9e25leHQ6YX07YVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3JldHVybiBhfTsKeigiUHJvbWlzZSIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3RoaXMuZz1udWxsfWZ1bmN0aW9uIGMoZyl7cmV0dXJuIGcgaW5zdGFuY2VvZiBlP2c6bmV3IGUoZnVuY3Rpb24oaCl7aChnKX0pfWlmKGEpcmV0dXJuIGE7Yi5wcm90b3R5cGUuaD1mdW5jdGlvbihnKXtpZih0aGlzLmc9PW51bGwpe3RoaXMuZz1bXTt2YXIgaD10aGlzO3RoaXMuaihmdW5jdGlvbigpe2gubygpfSl9dGhpcy5nLnB1c2goZyl9O3ZhciBkPV8uUGIuc2V0VGltZW91dDtiLnByb3RvdHlwZS5qPWZ1bmN0aW9uKGcpe2QoZywwKX07Yi5wcm90b3R5cGUubz1mdW5jdGlvbigpe2Zvcig7dGhpcy5nJiZ0aGlzLmcubGVuZ3RoOyl7dmFyIGc9dGhpcy5nO3RoaXMuZz1bXTtmb3IodmFyIGg9MDtoPGcubGVuZ3RoOysraCl7dmFyIGs9Z1toXTtnW2hdPW51bGw7dHJ5e2soKX1jYXRjaChsKXt0aGlzLmwobCl9fX10aGlzLmc9bnVsbH07Yi5wcm90b3R5cGUubD1mdW5jdGlvbihnKXt0aGlzLmooZnVuY3Rpb24oKXt0aHJvdyBnOwp9KX07dmFyIGU9ZnVuY3Rpb24oZyl7dGhpcy5nPTA7dGhpcy5qPXZvaWQgMDt0aGlzLmg9W107dGhpcy5CPSExO3ZhciBoPXRoaXMubCgpO3RyeXtnKGgucmVzb2x2ZSxoLnJlamVjdCl9Y2F0Y2goayl7aC5yZWplY3Qoayl9fTtlLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhsKXtyZXR1cm4gZnVuY3Rpb24obil7a3x8KGs9ITAsbC5jYWxsKGgsbikpfX12YXIgaD10aGlzLGs9ITE7cmV0dXJue3Jlc29sdmU6Zyh0aGlzLkkpLHJlamVjdDpnKHRoaXMubyl9fTtlLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGcpe2lmKGc9PT10aGlzKXRoaXMubyhuZXcgVHlwZUVycm9yKCJpIikpO2Vsc2UgaWYoZyBpbnN0YW5jZW9mIGUpdGhpcy5LKGcpO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGcpe2Nhc2UgIm9iamVjdCI6dmFyIGg9ZyE9bnVsbDticmVhayBhO2Nhc2UgImZ1bmN0aW9uIjpoPSEwO2JyZWFrIGE7ZGVmYXVsdDpoPSExfWg/dGhpcy5HKGcpOnRoaXMuQShnKX19O2UucHJvdG90eXBlLkc9CmZ1bmN0aW9uKGcpe3ZhciBoPXZvaWQgMDt0cnl7aD1nLnRoZW59Y2F0Y2goayl7dGhpcy5vKGspO3JldHVybn10eXBlb2YgaD09ImZ1bmN0aW9uIj90aGlzLkwoaCxnKTp0aGlzLkEoZyl9O2UucHJvdG90eXBlLm89ZnVuY3Rpb24oZyl7dGhpcy5DKDIsZyl9O2UucHJvdG90eXBlLkE9ZnVuY3Rpb24oZyl7dGhpcy5DKDEsZyl9O2UucHJvdG90eXBlLkM9ZnVuY3Rpb24oZyxoKXtpZih0aGlzLmchPTApdGhyb3cgRXJyb3IoImpgIitnKyJgIitoKyJgIit0aGlzLmcpO3RoaXMuZz1nO3RoaXMuaj1oO3RoaXMuZz09PTImJnRoaXMuVygpO3RoaXMuRCgpfTtlLnByb3RvdHlwZS5XPWZ1bmN0aW9uKCl7dmFyIGc9dGhpcztkKGZ1bmN0aW9uKCl7aWYoZy5GKCkpe3ZhciBoPV8uUGIuY29uc29sZTt0eXBlb2YgaCE9PSJ1bmRlZmluZWQiJiZoLmVycm9yKGcuail9fSwxKX07ZS5wcm90b3R5cGUuRj1mdW5jdGlvbigpe2lmKHRoaXMuQilyZXR1cm4hMTt2YXIgZz1fLlBiLkN1c3RvbUV2ZW50LApoPV8uUGIuRXZlbnQsaz1fLlBiLmRpc3BhdGNoRXZlbnQ7aWYodHlwZW9mIGs9PT0idW5kZWZpbmVkIilyZXR1cm4hMDt0eXBlb2YgZz09PSJmdW5jdGlvbiI/Zz1uZXcgZygidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOnR5cGVvZiBoPT09ImZ1bmN0aW9uIj9nPW5ldyBoKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6KGc9Xy5QYi5kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSxnLmluaXRDdXN0b21FdmVudCgidW5oYW5kbGVkcmVqZWN0aW9uIiwhMSwhMCxnKSk7Zy5wcm9taXNlPXRoaXM7Zy5yZWFzb249dGhpcy5qO3JldHVybiBrKGcpfTtlLnByb3RvdHlwZS5EPWZ1bmN0aW9uKCl7aWYodGhpcy5oIT1udWxsKXtmb3IodmFyIGc9MDtnPHRoaXMuaC5sZW5ndGg7KytnKWYuaCh0aGlzLmhbZ10pO3RoaXMuaD1udWxsfX07dmFyIGY9bmV3IGI7ZS5wcm90b3R5cGUuSz1mdW5jdGlvbihnKXt2YXIgaD10aGlzLmwoKTtnLkljKGgucmVzb2x2ZSwKaC5yZWplY3QpfTtlLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGcsaCl7dmFyIGs9dGhpcy5sKCk7dHJ5e2cuY2FsbChoLGsucmVzb2x2ZSxrLnJlamVjdCl9Y2F0Y2gobCl7ay5yZWplY3QobCl9fTtlLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGcsaCl7ZnVuY3Rpb24gayhwLHIpe3JldHVybiB0eXBlb2YgcD09ImZ1bmN0aW9uIj9mdW5jdGlvbih0KXt0cnl7bChwKHQpKX1jYXRjaChBKXtuKEEpfX06cn12YXIgbCxuLHE9bmV3IGUoZnVuY3Rpb24ocCxyKXtsPXA7bj1yfSk7dGhpcy5JYyhrKGcsbCksayhoLG4pKTtyZXR1cm4gcX07ZS5wcm90b3R5cGUuY2F0Y2g9ZnVuY3Rpb24oZyl7cmV0dXJuIHRoaXMudGhlbih2b2lkIDAsZyl9O2UucHJvdG90eXBlLkljPWZ1bmN0aW9uKGcsaCl7ZnVuY3Rpb24gaygpe3N3aXRjaChsLmcpe2Nhc2UgMTpnKGwuaik7YnJlYWs7Y2FzZSAyOmgobC5qKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJrYCIrbC5nKTt9fXZhciBsPXRoaXM7dGhpcy5oPT0KbnVsbD9mLmgoayk6dGhpcy5oLnB1c2goayk7dGhpcy5CPSEwfTtlLnJlc29sdmU9YztlLnJlamVjdD1mdW5jdGlvbihnKXtyZXR1cm4gbmV3IGUoZnVuY3Rpb24oaCxrKXtrKGcpfSl9O2UucmFjZT1mdW5jdGlvbihnKXtyZXR1cm4gbmV3IGUoZnVuY3Rpb24oaCxrKXtmb3IodmFyIGw9Xy5DKGcpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKWMobi52YWx1ZSkuSWMoaCxrKX0pfTtlLmFsbD1mdW5jdGlvbihnKXt2YXIgaD1fLkMoZyksaz1oLm5leHQoKTtyZXR1cm4gay5kb25lP2MoW10pOm5ldyBlKGZ1bmN0aW9uKGwsbil7ZnVuY3Rpb24gcSh0KXtyZXR1cm4gZnVuY3Rpb24oQSl7cFt0XT1BO3ItLTtyPT0wJiZsKHApfX12YXIgcD1bXSxyPTA7ZG8gcC5wdXNoKHZvaWQgMCkscisrLGMoay52YWx1ZSkuSWMocShwLmxlbmd0aC0xKSxuKSxrPWgubmV4dCgpO3doaWxlKCFrLmRvbmUpfSl9O3JldHVybiBlfSk7CnZhciBoYz1mdW5jdGlvbihhLGIsYyl7aWYoYT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJsYCIrYyk7aWYoYiBpbnN0YW5jZW9mIFJlZ0V4cCl0aHJvdyBuZXcgVHlwZUVycm9yKCJtYCIrYyk7cmV0dXJuIGErIiJ9O3ooIlN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3ZhciBkPWhjKHRoaXMsYiwic3RhcnRzV2l0aCIpLGU9ZC5sZW5ndGgsZj1iLmxlbmd0aDtjPU1hdGgubWF4KDAsTWF0aC5taW4oY3wwLGQubGVuZ3RoKSk7Zm9yKHZhciBnPTA7ZzxmJiZjPGU7KWlmKGRbYysrXSE9YltnKytdKXJldHVybiExO3JldHVybiBnPj1mfX0pO3ooIk9iamVjdC5zZXRQcm90b3R5cGVPZiIsZnVuY3Rpb24oYSl7cmV0dXJuIGF8fFlifSk7eigiU3ltYm9sLmRpc3Bvc2UiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6U3ltYm9sKCJuIil9KTsKeigiV2Vha01hcCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe31mdW5jdGlvbiBjKGspe3ZhciBsPXR5cGVvZiBrO3JldHVybiBsPT09Im9iamVjdCImJmshPT1udWxsfHxsPT09ImZ1bmN0aW9uIn1mdW5jdGlvbiBkKGspe2lmKCFhYyhrLGYpKXt2YXIgbD1uZXcgYjtOYihrLGYse3ZhbHVlOmx9KX19ZnVuY3Rpb24gZShrKXt2YXIgbD1PYmplY3Rba107bCYmKE9iamVjdFtrXT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgYilyZXR1cm4gbjtPYmplY3QuaXNFeHRlbnNpYmxlKG4pJiZkKG4pO3JldHVybiBsKG4pfSl9aWYoZnVuY3Rpb24oKXtpZighYXx8IU9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgaz1PYmplY3Quc2VhbCh7fSksbD1PYmplY3Quc2VhbCh7fSksbj1uZXcgYShbW2ssMl0sW2wsM11dKTtpZihuLmdldChrKSE9Mnx8bi5nZXQobCkhPTMpcmV0dXJuITE7bi5kZWxldGUoayk7bi5zZXQobCw0KTtyZXR1cm4hbi5oYXMoaykmJm4uZ2V0KGwpPT00fWNhdGNoKHEpe3JldHVybiExfX0oKSlyZXR1cm4gYTsKdmFyIGY9IiRqc2NvbXBfaGlkZGVuXyIrTWF0aC5yYW5kb20oKTtlKCJmcmVlemUiKTtlKCJwcmV2ZW50RXh0ZW5zaW9ucyIpO2UoInNlYWwiKTt2YXIgZz0wLGg9ZnVuY3Rpb24oayl7dGhpcy5nPShnKz1NYXRoLnJhbmRvbSgpKzEpLnRvU3RyaW5nKCk7aWYoayl7az1fLkMoayk7Zm9yKHZhciBsOyEobD1rLm5leHQoKSkuZG9uZTspbD1sLnZhbHVlLHRoaXMuc2V0KGxbMF0sbFsxXSl9fTtoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oayxsKXtpZighYyhrKSl0aHJvdyBFcnJvcigibyIpO2Qoayk7aWYoIWFjKGssZikpdGhyb3cgRXJyb3IoInBgIitrKTtrW2ZdW3RoaXMuZ109bDtyZXR1cm4gdGhpc307aC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGspe3JldHVybiBjKGspJiZhYyhrLGYpP2tbZl1bdGhpcy5nXTp2b2lkIDB9O2gucHJvdG90eXBlLmhhcz1mdW5jdGlvbihrKXtyZXR1cm4gYyhrKSYmYWMoayxmKSYmYWMoa1tmXSx0aGlzLmcpfTtoLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oayl7cmV0dXJuIGMoaykmJgphYyhrLGYpJiZhYyhrW2ZdLHRoaXMuZyk/ZGVsZXRlIGtbZl1bdGhpcy5nXTohMX07cmV0dXJuIGh9KTsKeigiTWFwIixmdW5jdGlvbihhKXtpZihmdW5jdGlvbigpe2lmKCFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9ImZ1bmN0aW9uIilyZXR1cm4hMTt0cnl7dmFyIGg9T2JqZWN0LnNlYWwoe3g6NH0pLGs9bmV3IGEoXy5DKFtbaCwicyJdXSkpO2lmKGsuZ2V0KGgpIT0icyJ8fGsuc2l6ZSE9MXx8ay5nZXQoe3g6NH0pfHxrLnNldCh7eDo0fSwidCIpIT1rfHxrLnNpemUhPTIpcmV0dXJuITE7dmFyIGw9ay5lbnRyaWVzKCksbj1sLm5leHQoKTtpZihuLmRvbmV8fG4udmFsdWVbMF0hPWh8fG4udmFsdWVbMV0hPSJzIilyZXR1cm4hMTtuPWwubmV4dCgpO3JldHVybiBuLmRvbmV8fG4udmFsdWVbMF0ueCE9NHx8bi52YWx1ZVsxXSE9InQifHwhbC5uZXh0KCkuZG9uZT8hMTohMH1jYXRjaChxKXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7dmFyIGI9bmV3IFdlYWtNYXAsYz1mdW5jdGlvbihoKXt0aGlzWzBdPXt9O3RoaXNbMV09CmYoKTt0aGlzLnNpemU9MDtpZihoKXtoPV8uQyhoKTtmb3IodmFyIGs7IShrPWgubmV4dCgpKS5kb25lOylrPWsudmFsdWUsdGhpcy5zZXQoa1swXSxrWzFdKX19O2MucHJvdG90eXBlLnNldD1mdW5jdGlvbihoLGspe2g9aD09PTA/MDpoO3ZhciBsPWQodGhpcyxoKTtsLmxpc3R8fChsLmxpc3Q9dGhpc1swXVtsLmlkXT1bXSk7bC5lbnRyeT9sLmVudHJ5LnZhbHVlPWs6KGwuZW50cnk9e25leHQ6dGhpc1sxXSxiYjp0aGlzWzFdLmJiLGhlYWQ6dGhpc1sxXSxrZXk6aCx2YWx1ZTprfSxsLmxpc3QucHVzaChsLmVudHJ5KSx0aGlzWzFdLmJiLm5leHQ9bC5lbnRyeSx0aGlzWzFdLmJiPWwuZW50cnksdGhpcy5zaXplKyspO3JldHVybiB0aGlzfTtjLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oaCl7aD1kKHRoaXMsaCk7cmV0dXJuIGguZW50cnkmJmgubGlzdD8oaC5saXN0LnNwbGljZShoLmluZGV4LDEpLGgubGlzdC5sZW5ndGh8fGRlbGV0ZSB0aGlzWzBdW2guaWRdLGguZW50cnkuYmIubmV4dD0KaC5lbnRyeS5uZXh0LGguZW50cnkubmV4dC5iYj1oLmVudHJ5LmJiLGguZW50cnkuaGVhZD1udWxsLHRoaXMuc2l6ZS0tLCEwKTohMX07Yy5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzWzBdPXt9O3RoaXNbMV09dGhpc1sxXS5iYj1mKCk7dGhpcy5zaXplPTB9O2MucHJvdG90eXBlLmhhcz1mdW5jdGlvbihoKXtyZXR1cm4hIWQodGhpcyxoKS5lbnRyeX07Yy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGgpe3JldHVybihoPWQodGhpcyxoKS5lbnRyeSkmJmgudmFsdWV9O2MucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gZSh0aGlzLGZ1bmN0aW9uKGgpe3JldHVybltoLmtleSxoLnZhbHVlXX0pfTtjLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gaC5rZXl9KX07Yy5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gaC52YWx1ZX0pfTtjLnByb3RvdHlwZS5mb3JFYWNoPQpmdW5jdGlvbihoLGspe2Zvcih2YXIgbD10aGlzLmVudHJpZXMoKSxuOyEobj1sLm5leHQoKSkuZG9uZTspbj1uLnZhbHVlLGguY2FsbChrLG5bMV0sblswXSx0aGlzKX07Yy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1jLnByb3RvdHlwZS5lbnRyaWVzO3ZhciBkPWZ1bmN0aW9uKGgsayl7dmFyIGw9ayYmdHlwZW9mIGs7bD09Im9iamVjdCJ8fGw9PSJmdW5jdGlvbiI/Yi5oYXMoayk/bD1iLmdldChrKToobD0iIisgKytnLGIuc2V0KGssbCkpOmw9InBfIitrO3ZhciBuPWhbMF1bbF07aWYobiYmYWMoaFswXSxsKSlmb3IoaD0wO2g8bi5sZW5ndGg7aCsrKXt2YXIgcT1uW2hdO2lmKGshPT1rJiZxLmtleSE9PXEua2V5fHxrPT09cS5rZXkpcmV0dXJue2lkOmwsbGlzdDpuLGluZGV4OmgsZW50cnk6cX19cmV0dXJue2lkOmwsbGlzdDpuLGluZGV4Oi0xLGVudHJ5OnZvaWQgMH19LGU9ZnVuY3Rpb24oaCxrKXt2YXIgbD1oWzFdO3JldHVybiBmYyhmdW5jdGlvbigpe2lmKGwpe2Zvcig7bC5oZWFkIT0KaFsxXTspbD1sLmJiO2Zvcig7bC5uZXh0IT1sLmhlYWQ7KXJldHVybiBsPWwubmV4dCx7ZG9uZTohMSx2YWx1ZTprKGwpfTtsPW51bGx9cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX0pfSxmPWZ1bmN0aW9uKCl7dmFyIGg9e307cmV0dXJuIGguYmI9aC5uZXh0PWguaGVhZD1ofSxnPTA7cmV0dXJuIGN9KTsKeigiU2V0IixmdW5jdGlvbihhKXtpZihmdW5jdGlvbigpe2lmKCFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9ImZ1bmN0aW9uIilyZXR1cm4hMTt0cnl7dmFyIGM9T2JqZWN0LnNlYWwoe3g6NH0pLGQ9bmV3IGEoXy5DKFtjXSkpO2lmKCFkLmhhcyhjKXx8ZC5zaXplIT0xfHxkLmFkZChjKSE9ZHx8ZC5zaXplIT0xfHxkLmFkZCh7eDo0fSkhPWR8fGQuc2l6ZSE9MilyZXR1cm4hMTt2YXIgZT1kLmVudHJpZXMoKSxmPWUubmV4dCgpO2lmKGYuZG9uZXx8Zi52YWx1ZVswXSE9Y3x8Zi52YWx1ZVsxXSE9YylyZXR1cm4hMTtmPWUubmV4dCgpO3JldHVybiBmLmRvbmV8fGYudmFsdWVbMF09PWN8fGYudmFsdWVbMF0ueCE9NHx8Zi52YWx1ZVsxXSE9Zi52YWx1ZVswXT8hMTplLm5leHQoKS5kb25lfWNhdGNoKGcpe3JldHVybiExfX0oKSlyZXR1cm4gYTt2YXIgYj1mdW5jdGlvbihjKXt0aGlzLmc9bmV3IE1hcDtpZihjKXtjPQpfLkMoYyk7Zm9yKHZhciBkOyEoZD1jLm5leHQoKSkuZG9uZTspdGhpcy5hZGQoZC52YWx1ZSl9dGhpcy5zaXplPXRoaXMuZy5zaXplfTtiLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYyl7Yz1jPT09MD8wOmM7dGhpcy5nLnNldChjLGMpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZTtyZXR1cm4gdGhpc307Yi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGMpe2M9dGhpcy5nLmRlbGV0ZShjKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGN9O2IucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5nLmNsZWFyKCk7dGhpcy5zaXplPTB9O2IucHJvdG90eXBlLmhhcz1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5nLmhhcyhjKX07Yi5wcm90b3R5cGUuZW50cmllcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuZW50cmllcygpfTtiLnByb3RvdHlwZS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnZhbHVlcygpfTtiLnByb3RvdHlwZS5rZXlzPWIucHJvdG90eXBlLnZhbHVlczsKYi5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1iLnByb3RvdHlwZS52YWx1ZXM7Yi5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihjLGQpe3ZhciBlPXRoaXM7dGhpcy5nLmZvckVhY2goZnVuY3Rpb24oZil7cmV0dXJuIGMuY2FsbChkLGYsZixlKX0pfTtyZXR1cm4gYn0pO3ZhciBpYz1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiBTdHJpbmcmJihhKz0iIik7dmFyIGM9MCxkPSExLGU9e25leHQ6ZnVuY3Rpb24oKXtpZighZCYmYzxhLmxlbmd0aCl7dmFyIGY9YysrO3JldHVybnt2YWx1ZTpiKGYsYVtmXSksZG9uZTohMX19ZD0hMDtyZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fX07ZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIGV9O3JldHVybiBlfTt6KCJBcnJheS5wcm90b3R5cGUuZW50cmllcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBpYyh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuW2IsY119KX19KTsKeigiQXJyYXkucHJvdG90eXBlLmtleXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oKXtyZXR1cm4gaWModGhpcyxmdW5jdGlvbihiKXtyZXR1cm4gYn0pfX0pO3ooIlN0cmluZy5wcm90b3R5cGUuZW5kc1dpdGgiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXt2YXIgZD1oYyh0aGlzLGIsImVuZHNXaXRoIik7Yz09PXZvaWQgMCYmKGM9ZC5sZW5ndGgpO2M9TWF0aC5tYXgoMCxNYXRoLm1pbihjfDAsZC5sZW5ndGgpKTtmb3IodmFyIGU9Yi5sZW5ndGg7ZT4wJiZjPjA7KWlmKGRbLS1jXSE9YlstLWVdKXJldHVybiExO3JldHVybiBlPD0wfX0pO3ooIk51bWJlci5pc0Zpbml0ZSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGIhPT0ibnVtYmVyIj8hMTohaXNOYU4oYikmJmIhPT1JbmZpbml0eSYmYiE9PS1JbmZpbml0eX19KTsKeigiQXJyYXkucHJvdG90eXBlLmZpbmQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXthOnt2YXIgZD10aGlzO2QgaW5zdGFuY2VvZiBTdHJpbmcmJihkPVN0cmluZyhkKSk7Zm9yKHZhciBlPWQubGVuZ3RoLGY9MDtmPGU7ZisrKXt2YXIgZz1kW2ZdO2lmKGIuY2FsbChjLGcsZixkKSl7Yj1nO2JyZWFrIGF9fWI9dm9pZCAwfXJldHVybiBifX0pO3ooIk9iamVjdC5lbnRyaWVzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYilhYyhiLGQpJiZjLnB1c2goW2QsYltkXV0pO3JldHVybiBjfX0pOwp6KCJBcnJheS5mcm9tIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyxkKXtjPWMhPW51bGw/YzpmdW5jdGlvbihoKXtyZXR1cm4gaH07dmFyIGU9W10sZj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZiW1N5bWJvbC5pdGVyYXRvcl07aWYodHlwZW9mIGY9PSJmdW5jdGlvbiIpe2I9Zi5jYWxsKGIpO2Zvcih2YXIgZz0wOyEoZj1iLm5leHQoKSkuZG9uZTspZS5wdXNoKGMuY2FsbChkLGYudmFsdWUsZysrKSl9ZWxzZSBmb3IoZj1iLmxlbmd0aCxnPTA7ZzxmO2crKyllLnB1c2goYy5jYWxsKGQsYltnXSxnKSk7cmV0dXJuIGV9fSk7eigiQXJyYXkucHJvdG90eXBlLnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBpYyh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGN9KX19KTsKeigiT2JqZWN0LnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXt2YXIgYz1bXSxkO2ZvcihkIGluIGIpYWMoYixkKSYmYy5wdXNoKGJbZF0pO3JldHVybiBjfX0pO3ooIk9iamVjdC5pcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBiPT09Yz9iIT09MHx8MS9iPT09MS9jOmIhPT1iJiZjIT09Y319KTt6KCJBcnJheS5wcm90b3R5cGUuaW5jbHVkZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzO2QgaW5zdGFuY2VvZiBTdHJpbmcmJihkPVN0cmluZyhkKSk7dmFyIGU9ZC5sZW5ndGg7Yz1jfHwwO2ZvcihjPDAmJihjPU1hdGgubWF4KGMrZSwwKSk7YzxlO2MrKyl7dmFyIGY9ZFtjXTtpZihmPT09Ynx8T2JqZWN0LmlzKGYsYikpcmV0dXJuITB9cmV0dXJuITF9fSk7CnooIlN0cmluZy5wcm90b3R5cGUuaW5jbHVkZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtyZXR1cm4gaGModGhpcyxiLCJpbmNsdWRlcyIpLmluZGV4T2YoYixjfHwwKSE9PS0xfX0pO3ooIk51bWJlci5NQVhfU0FGRV9JTlRFR0VSIixmdW5jdGlvbigpe3JldHVybiA5MDA3MTk5MjU0NzQwOTkxfSk7eigiTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIiLGZ1bmN0aW9uKCl7cmV0dXJuLTkwMDcxOTkyNTQ3NDA5OTF9KTt6KCJOdW1iZXIuaXNJbnRlZ2VyIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUoYik/Yj09PU1hdGguZmxvb3IoYik6ITF9fSk7eigiTnVtYmVyLmlzU2FmZUludGVnZXIiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoYikmJk1hdGguYWJzKGIpPD1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUn19KTsKeigiT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybltdfX0pO3ooIk1hdGgudHJ1bmMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI9PT1JbmZpbml0eXx8Yj09PS1JbmZpbml0eXx8Yj09PTApcmV0dXJuIGI7dmFyIGM9TWF0aC5mbG9vcihNYXRoLmFicyhiKSk7cmV0dXJuIGI8MD8tYzpjfX0pO3ooIk51bWJlci5pc05hTiIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGI9PT0ibnVtYmVyIiYmaXNOYU4oYil9fSk7CnooIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe2lmKGIgaW5zdGFuY2VvZiBSZWdFeHAmJiFiLmdsb2JhbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJxIik7cmV0dXJuIGIgaW5zdGFuY2VvZiBSZWdFeHA/dGhpcy5yZXBsYWNlKGIsYyk6dGhpcy5yZXBsYWNlKG5ldyBSZWdFeHAoU3RyaW5nKGIpLnJlcGxhY2UoLyhbLSgpXFtcXXt9Kz8qLiRcXnwsOiM8IVxcXSkvZywiXFwkMSIpLnJlcGxhY2UoL1x4MDgvZywiXFx4MDgiKSwiZyIpLGMpfX0pOwp6KCJBcnJheS5wcm90b3R5cGUuZmxhdCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtiPWI9PT12b2lkIDA/MTpiO3ZhciBjPVtdO0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodGhpcyxmdW5jdGlvbihkKXtBcnJheS5pc0FycmF5KGQpJiZiPjA/KGQ9QXJyYXkucHJvdG90eXBlLmZsYXQuY2FsbChkLGItMSksYy5wdXNoLmFwcGx5KGMsZCkpOmMucHVzaChkKX0pO3JldHVybiBjfX0pO3ooIlByb21pc2UucHJvdG90eXBlLmZpbmFsbHkiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGIoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBjfSl9LGZ1bmN0aW9uKGMpe3JldHVybiBQcm9taXNlLnJlc29sdmUoYigpKS50aGVuKGZ1bmN0aW9uKCl7dGhyb3cgYzt9KX0pfX0pOwp6KCJBcnJheS5wcm90b3R5cGUuZmlsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMsZCl7dmFyIGU9dGhpcy5sZW5ndGh8fDA7YzwwJiYoYz1NYXRoLm1heCgwLGUrYykpO2lmKGQ9PW51bGx8fGQ+ZSlkPWU7ZD1OdW1iZXIoZCk7ZDwwJiYoZD1NYXRoLm1heCgwLGUrZCkpO2ZvcihjPU51bWJlcihjfHwwKTtjPGQ7YysrKXRoaXNbY109YjtyZXR1cm4gdGhpc319KTtTYigiZmlsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpBcnJheS5wcm90b3R5cGUuZmlsbH0pO18uX0R1bXBFeGNlcHRpb249d2luZG93Ll9EdW1wRXhjZXB0aW9ufHxmdW5jdGlvbihhKXt0aHJvdyBhO307d2luZG93Ll9EdW1wRXhjZXB0aW9uPV8uX0R1bXBFeGNlcHRpb247dmFyIGpjLGxjLG1jLG5jLHphLEFhLHBjLHFjO2pjPWpjfHx7fTtfLnY9dGhpc3x8c2VsZjtsYz1mdW5jdGlvbihhLGIpe3ZhciBjPV8ua2MoIldJWl9nbG9iYWxfZGF0YS5veE4zbmIiKTthPWMmJmNbYV07cmV0dXJuIGEhPW51bGw/YTpifTttYz1fLnYuX0ZfdG9nZ2xlc19kZWZhdWx0X3RyfHxbXTtuYz1mdW5jdGlvbigpe307bmMuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9O18ua2M9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udjtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy5vYz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtyZXR1cm4gYiE9Im9iamVjdCI/YjphP0FycmF5LmlzQXJyYXkoYSk/ImFycmF5IjpiOiJudWxsIn07Xy5xYT1mdW5jdGlvbihhKXt2YXIgYj1fLm9jKGEpO3JldHVybiBiPT0iYXJyYXkifHxiPT0ib2JqZWN0IiYmdHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIn07Cl8ueWE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifTt6YT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtBYT0wO3BjPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5jYWxsLmFwcGx5KGEuYmluZCxhcmd1bWVudHMpfTtxYz1mdW5jdGlvbihhLGIsYyl7aWYoIWEpdGhyb3cgRXJyb3IoKTtpZihhcmd1bWVudHMubGVuZ3RoPjIpe3ZhciBkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO0FycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGUsZCk7cmV0dXJuIGEuYXBwbHkoYixlKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkoYixhcmd1bWVudHMpfX07Cl8ueT1mdW5jdGlvbihhLGIsYyl7Xy55PUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kJiZGdW5jdGlvbi5wcm90b3R5cGUuYmluZC50b1N0cmluZygpLmluZGV4T2YoIm5hdGl2ZSBjb2RlIikhPS0xP3BjOnFjO3JldHVybiBfLnkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtfLnJjPWZ1bmN0aW9uKGEsYil7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBjPV8udixkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07Cl8uRz1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5lYT1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EuTWs9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGg9MjtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWdbaC0yXT1hcmd1bWVudHNbaF07cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsZyl9fTtfLkcoYWEsRXJyb3IpO2FhLnByb3RvdHlwZS5uYW1lPSJDdXN0b21FcnJvciI7dmFyIHNjO18uRyhjYSxhYSk7Y2EucHJvdG90eXBlLm5hbWU9IkFzc2VydGlvbkVycm9yIjt2YXIgZWE7dmFyIHRjPWZ1bmN0aW9uKGEsYil7dGhpcy5oPWE7dGhpcy5nPWJ8fG51bGx9O3RjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmh9O3ZhciB1Yz1uZXcgdGMoIm43M3F3ZiIsIm43M3F3ZiIpO3ZhciBuYT1TeW1ib2woInMiKTtfLnUucHJvdG90eXBlLnFhPSExO18udS5wcm90b3R5cGUucWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xYX07Xy51LnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5xYXx8KHRoaXMucWE9ITAsdGhpcy5NKCkpfTtfLnUucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLnUucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtpZih0aGlzLlcpZm9yKDt0aGlzLlcubGVuZ3RoOyl0aGlzLlcuc2hpZnQoKSgpfTt2YXIgc2Esd2M7c2E9QXJyYXkucHJvdG90eXBlLmluZGV4T2Y/ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX06ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiB0eXBlb2YgYiE9PSJzdHJpbmcifHxiLmxlbmd0aCE9MT8tMTphLmluZGV4T2YoYiwwKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihjIGluIGEmJmFbY109PT1iKXJldHVybiBjO3JldHVybi0xfTtfLnZjPUFycmF5LnByb3RvdHlwZS5mb3JFYWNoP2Z1bmN0aW9uKGEsYil7QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsdm9pZCAwKX06ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5sZW5ndGgsZD10eXBlb2YgYT09PSJzdHJpbmciP2Euc3BsaXQoIiIpOmEsZT0wO2U8YztlKyspZSBpbiBkJiZiLmNhbGwodm9pZCAwLGRbZV0sZSxhKX07CndjPUFycmF5LnByb3RvdHlwZS5yZWR1Y2U/ZnVuY3Rpb24oYSxiLGMpe0FycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhLGIsYyl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jOygwLF8udmMpKGEsZnVuY3Rpb24oZSxmKXtkPWIuY2FsbCh2b2lkIDAsZCxlLGYsYSl9KX07Xy54Yz1BcnJheS5wcm90b3R5cGUuc29tZT9mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGEsYix2b2lkIDApfTpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YSxlPTA7ZTxjO2UrKylpZihlIGluIGQmJmIuY2FsbCh2b2lkIDAsZFtlXSxlLGEpKXJldHVybiEwO3JldHVybiExfTtfLnljPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PWI/ITA6YSYmYj9hLndpZHRoPT1iLndpZHRoJiZhLmhlaWdodD09Yi5oZWlnaHQ6ITF9O18uQ2EucHJvdG90eXBlLmFzcGVjdFJhdGlvPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud2lkdGgvdGhpcy5oZWlnaHR9O18uQ2EucHJvdG90eXBlLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLkNhLnByb3RvdHlwZS5mbG9vcj1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5DYS5wcm90b3R5cGUucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O3ZhciBFYTtFYT0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpO18uemM9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCBpbiBhKWIuY2FsbChjLGFbZF0sZCxhKX07Xy5BYz1TdHJpbmcucHJvdG90eXBlLnRyaW0/ZnVuY3Rpb24oYSl7cmV0dXJuIGEudHJpbSgpfTpmdW5jdGlvbihhKXtyZXR1cm4vXltcc1x4YTBdKihbXHNcU10qPylbXHNceGEwXSokLy5leGVjKGEpWzFdfTt2YXIgQmM9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXMsSGE9QmMsSmE7Xy5MYT1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5MYS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nKyIifTtfLkNjPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBVUkw9PT0iZnVuY3Rpb24ifSk7Xy5EYz1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5EYy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nKyIifTtfLkVjPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLkRjKEJjP0JjLmVtcHR5SFRNTDoiIil9KTtfLlBhPWZ1bmN0aW9uKGEpe3RoaXMuZz1hfTtfLlBhLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcrIiJ9O18uR2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYSkpfTtfLkRiPWZ1bmN0aW9uKGEpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoYS5yZXBsYWNlKC9cKy9nLCIgIikpfTt2YXIgRmM9ISEobWNbMF0+PjI1JjEpLEdjPSEhKG1jWzBdPj4yMCYxKSxIYz0hIShtY1swXT4+MjcmMSksSWM9ISEobWNbMF0mODE5MiksSmM9ISEobWNbMF0+PjE5JjEpLEtjPSEhKG1jWzBdPj4xNyYxKSxMYz0hIShtY1swXT4+MTgmMSk7dmFyIHRiLE5jLE9jO18uVWE9RmM/SGM6bGMoNjEwNDAxMzAxLCExKTtfLk1jPUZjP0djfHwhSWM6bGMoNzQ4NDAyMTQ3LCEwKTt0Yj1GYz9KYzpsYyg5MTk0NDQ4MjQsITEpO05jPUZjP0tjOmxjKDkyODg3NTM5OCwhMSk7T2M9RmM/TGM6bGMoNjgzNzQ5MjAxLCExKTt2YXIgUGM7UGM9Xy52Lm5hdmlnYXRvcjtfLlZhPVBjP1BjLnVzZXJBZ2VudERhdGF8fG51bGw6bnVsbDtfLlFjPWZ1bmN0aW9uKGEpe18uUWNbIiAiXShhKTtyZXR1cm4gYX07Xy5RY1siICJdPWZ1bmN0aW9uKCl7fTt2YXIgZWQ7Xy5SYz1fLlhhKCk7Xy5TYz1fLldhKCk/ITE6Xy53KCJUcmlkZW50Iil8fF8udygiTVNJRSIpO18uVGM9Xy53KCJFZGdlIik7Xy5VYz1fLncoIkdlY2tvIikmJiEoXy5UYSgpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigid2Via2l0IikhPS0xJiYhXy53KCJFZGdlIikpJiYhKF8udygiVHJpZGVudCIpfHxfLncoIk1TSUUiKSkmJiFfLncoIkVkZ2UiKTtfLlZjPV8uVGEoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIV8udygiRWRnZSIpO18uV2M9Xy5WYyYmXy53KCJNb2JpbGUiKTtfLlljPV8uYWIoKTtfLlpjPVlhKCk/Xy5WYS5wbGF0Zm9ybT09PSJXaW5kb3dzIjpfLncoIldpbmRvd3MiKTtfLiRjPVlhKCk/Xy5WYS5wbGF0Zm9ybT09PSJBbmRyb2lkIjpfLncoIkFuZHJvaWQiKTtfLmFkPV8uWmEoKTtfLmJkPV8udygiaVBhZCIpO18uY2Q9Xy53KCJpUG9kIik7Xy5kZD1fLiRhKCk7CmE6e3ZhciBmZD0iIixnZD1mdW5jdGlvbigpe3ZhciBhPV8uVGEoKTtpZihfLlVjKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoYSk7aWYoXy5UYylyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKGEpO2lmKF8uU2MpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKGEpO2lmKF8uVmMpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoYSk7aWYoXy5SYylyZXR1cm4vKD86VmVyc2lvbilbIFwvXT8oXFMrKS8uZXhlYyhhKX0oKTtnZCYmKGZkPWdkP2dkWzFdOiIiKTtpZihfLlNjKXt2YXIgaGQsaWQ9Xy52LmRvY3VtZW50O2hkPWlkP2lkLmRvY3VtZW50TW9kZTp2b2lkIDA7aWYoaGQhPW51bGwmJmhkPnBhcnNlRmxvYXQoZmQpKXtlZD1TdHJpbmcoaGQpO2JyZWFrIGF9fWVkPWZkfV8uamQ9ZWQ7dmFyIGtkPSJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIiksCmxkPVtbIkEiLG5ldyBNYXAoW1siaHJlZiIse3VhOjd9XV0pXSxbIkFSRUEiLG5ldyBNYXAoW1siaHJlZiIse3VhOjd9XV0pXSxbIkxJTksiLG5ldyBNYXAoW1siaHJlZiIse3VhOjUsY29uZGl0aW9uczpuZXcgTWFwKFtbInJlbCIsbmV3IFNldCgiYWx0ZXJuYXRlIGF1dGhvciBib29rbWFyayBjYW5vbmljYWwgY2l0ZSBoZWxwIGljb24gbGljZW5zZSBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpKV1dKX1dXSldLFsiU09VUkNFIixuZXcgTWFwKFtbInNyYyIse3VhOjV9XSxbInNyY3NldCIse3VhOjZ9XV0pXSxbIklNRyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV0sWyJzcmNzZXQiLHt1YTo2fV1dKV0sWyJWSURFTyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV1dKV0sWyJBVURJTyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV1dKV1dLG1kPSJ0aXRsZSBhcmlhLWF0b21pYyBhcmlhLWF1dG9jb21wbGV0ZSBhcmlhLWJ1c3kgYXJpYS1jaGVja2VkIGFyaWEtY3VycmVudCBhcmlhLWRpc2FibGVkIGFyaWEtZHJvcGVmZmVjdCBhcmlhLWV4cGFuZGVkIGFyaWEtaGFzcG9wdXAgYXJpYS1oaWRkZW4gYXJpYS1pbnZhbGlkIGFyaWEtbGFiZWwgYXJpYS1sZXZlbCBhcmlhLWxpdmUgYXJpYS1tdWx0aWxpbmUgYXJpYS1tdWx0aXNlbGVjdGFibGUgYXJpYS1vcmllbnRhdGlvbiBhcmlhLXBvc2luc2V0IGFyaWEtcHJlc3NlZCBhcmlhLXJlYWRvbmx5IGFyaWEtcmVsZXZhbnQgYXJpYS1yZXF1aXJlZCBhcmlhLXNlbGVjdGVkIGFyaWEtc2V0c2l6ZSBhcmlhLXNvcnQgYXJpYS12YWx1ZW1heCBhcmlhLXZhbHVlbWluIGFyaWEtdmFsdWVub3cgYXJpYS12YWx1ZXRleHQgYWx0IGFsaWduIGF1dG9jYXBpdGFsaXplIGF1dG9jb21wbGV0ZSBhdXRvY29ycmVjdCBhdXRvZm9jdXMgYXV0b3BsYXkgYmdjb2xvciBib3JkZXIgY2VsbHBhZGRpbmcgY2VsbHNwYWNpbmcgY2hlY2tlZCBjaXRlIGNvbG9yIGNvbHMgY29sc3BhbiBjb250cm9scyBjb250cm9sc2xpc3QgY29vcmRzIGNyb3Nzb3JpZ2luIGRhdGV0aW1lIGRpc2FibGVkIGRvd25sb2FkIGRyYWdnYWJsZSBlbmN0eXBlIGZhY2UgZm9ybWVuY3R5cGUgZnJhbWVib3JkZXIgaGVpZ2h0IGhyZWZsYW5nIGhpZGRlbiBpbmVydCBpc21hcCBsYWJlbCBsYW5nIGxvb3AgbWF4IG1heGxlbmd0aCBtZWRpYSBtaW5sZW5ndGggbWluIG11bHRpcGxlIG11dGVkIG5vbmNlIG9wZW4gcGxheXNpbmxpbmUgcGxhY2Vob2xkZXIgcHJlbG9hZCByZWwgcmVxdWlyZWQgcmV2ZXJzZWQgcm9sZSByb3dzIHJvd3NwYW4gc2VsZWN0ZWQgc2hhcGUgc2l6ZSBzaXplcyBzbG90IHNwYW4gc3BlbGxjaGVjayBzdGFydCBzdGVwIHN1bW1hcnkgdHJhbnNsYXRlIHR5cGUgdXNlbWFwIHZhbGlnbiB2YWx1ZSB3aWR0aCB3cmFwIGl0ZW1zY29wZSBpdGVtdHlwZSBpdGVtaWQgaXRlbXByb3AgaXRlbXJlZiIuc3BsaXQoIiAiKSwKbmQ9W1siZGlyIix7dWE6Myxjb25kaXRpb25zOkdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1siZGlyIixuZXcgU2V0KFsiYXV0byIsImx0ciIsInJ0bCJdKV1dKX0pfV0sWyJhc3luYyIse3VhOjMsY29uZGl0aW9uczpHYShmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwKFtbImFzeW5jIixuZXcgU2V0KFsiYXN5bmMiXSldXSl9KX1dLFsibG9hZGluZyIse3VhOjMsY29uZGl0aW9uczpHYShmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwKFtbImxvYWRpbmciLG5ldyBTZXQoWyJlYWdlciIsImxhenkiXSldXSl9KX1dLFsicG9zdGVyIix7dWE6NX1dLFsidGFyZ2V0Iix7dWE6Myxjb25kaXRpb25zOkdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1sidGFyZ2V0IixuZXcgU2V0KFsiX3NlbGYiLCJfYmxhbmsiXSldXSl9KX1dXSxvZD1uZXcgZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW5ldyBTZXQoWyJkYXRhLSIsImFyaWEtIl0pLGU9bmV3IE1hcChsZCk7dGhpcy5qPWE7dGhpcy5nPQplO3RoaXMubD1iO3RoaXMubz1jO3RoaXMuaD1kfShuZXcgU2V0KEdhKGZ1bmN0aW9uKCl7cmV0dXJuIGtkLmNvbmNhdCgiU1RZTEUgVElUTEUgSU5QVVQgVEVYVEFSRUEgQlVUVE9OIExBQkVMIi5zcGxpdCgiICIpKX0pKSxuZXcgU2V0KEdhKGZ1bmN0aW9uKCl7cmV0dXJuIG1kLmNvbmNhdChbImNsYXNzIiwiaWQiLCJ0YWJpbmRleCIsImNvbnRlbnRlZGl0YWJsZSIsIm5hbWUiXSl9KSksbmV3IE1hcChHYShmdW5jdGlvbigpe3JldHVybiBuZC5jb25jYXQoW1sic3R5bGUiLHt1YToxfV1dKX0pKSk7dmFyIHBkPWZ1bmN0aW9uKCl7dGhpcy5nPW9kfTtwZC5wcm90b3R5cGUuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGEpfTtfLnFkPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBwZH0pO3ZhciB2ZCx1ZCx4ZDtfLmxiPWZ1bmN0aW9uKGEpe3JldHVybiBhP25ldyBfLnJkKF8uc2QoYSkpOnNjfHwoc2M9bmV3IF8ucmQpfTtfLnRkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHR5cGVvZiBiPT09InN0cmluZyI/YS5nZXRFbGVtZW50QnlJZChiKTpifTt2ZD1mdW5jdGlvbihhLGIpe18uemMoYixmdW5jdGlvbihjLGQpe2Q9PSJzdHlsZSI/YS5zdHlsZS5jc3NUZXh0PWM6ZD09ImNsYXNzIj9hLmNsYXNzTmFtZT1jOmQ9PSJmb3IiP2EuaHRtbEZvcj1jOnVkLmhhc093blByb3BlcnR5KGQpP2Euc2V0QXR0cmlidXRlKHVkW2RdLGMpOmQubGFzdEluZGV4T2YoImFyaWEtIiwwKT09MHx8ZC5sYXN0SW5kZXhPZigiZGF0YS0iLDApPT0wP2Euc2V0QXR0cmlidXRlKGQsYyk6YVtkXT1jfSl9Owp1ZD17Y2VsbHBhZGRpbmc6ImNlbGxQYWRkaW5nIixjZWxsc3BhY2luZzoiY2VsbFNwYWNpbmciLGNvbHNwYW46ImNvbFNwYW4iLGZyYW1lYm9yZGVyOiJmcmFtZUJvcmRlciIsaGVpZ2h0OiJoZWlnaHQiLG1heGxlbmd0aDoibWF4TGVuZ3RoIixub25jZToibm9uY2UiLHJvbGU6InJvbGUiLHJvd3NwYW46InJvd1NwYW4iLHR5cGU6InR5cGUiLHVzZW1hcDoidXNlTWFwIix2YWxpZ246InZBbGlnbiIsd2lkdGg6IndpZHRoIn07Xy5pYj1mdW5jdGlvbihhKXthPWEuZG9jdW1lbnQ7YT1hLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Ij9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLkNhKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLm1iPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuZGVmYXVsdFZpZXc6d2luZG93fTsKXy55ZD1mdW5jdGlvbihhLGIpe3ZhciBjPWJbMV0sZD1fLndkKGEsU3RyaW5nKGJbMF0pKTtjJiYodHlwZW9mIGM9PT0ic3RyaW5nIj9kLmNsYXNzTmFtZT1jOkFycmF5LmlzQXJyYXkoYyk/ZC5jbGFzc05hbWU9Yy5qb2luKCIgIik6dmQoZCxjKSk7Yi5sZW5ndGg+MiYmeGQoYSxkLGIsMik7cmV0dXJuIGR9Owp4ZD1mdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBlKGgpe2gmJmIuYXBwZW5kQ2hpbGQodHlwZW9mIGg9PT0ic3RyaW5nIj9hLmNyZWF0ZVRleHROb2RlKGgpOmgpfWZvcig7ZDxjLmxlbmd0aDtkKyspe3ZhciBmPWNbZF07aWYoIV8ucWEoZil8fF8ueWEoZikmJmYubm9kZVR5cGU+MCllKGYpO2Vsc2V7YTp7aWYoZiYmdHlwZW9mIGYubGVuZ3RoPT0ibnVtYmVyIil7aWYoXy55YShmKSl7dmFyIGc9dHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uInx8dHlwZW9mIGYuaXRlbT09InN0cmluZyI7YnJlYWsgYX1pZih0eXBlb2YgZj09PSJmdW5jdGlvbiIpe2c9dHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uIjticmVhayBhfX1nPSExfV8udmMoZz9fLndhKGYpOmYsZSl9fX07Xy53ZD1mdW5jdGlvbihhLGIpe2I9U3RyaW5nKGIpO2EuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24veGh0bWwreG1sIiYmKGI9Yi50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGIpfTsKXy56ZD1mdW5jdGlvbihhKXtmb3IodmFyIGI7Yj1hLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYil9O18uQWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEucGFyZW50Tm9kZT9hLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSk6bnVsbH07Xy5CZD1mdW5jdGlvbihhLGIpe2lmKCFhfHwhYilyZXR1cm4hMTtpZihhLmNvbnRhaW5zJiZiLm5vZGVUeXBlPT0xKXJldHVybiBhPT1ifHxhLmNvbnRhaW5zKGIpO2lmKHR5cGVvZiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIT0idW5kZWZpbmVkIilyZXR1cm4gYT09Ynx8ISEoYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSYxNik7Zm9yKDtiJiZhIT1iOyliPWIucGFyZW50Tm9kZTtyZXR1cm4gYj09YX07Xy5zZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Cl8uQ2Q9ZnVuY3Rpb24oYSxiKXtpZigidGV4dENvbnRlbnQiaW4gYSlhLnRleHRDb250ZW50PWI7ZWxzZSBpZihhLm5vZGVUeXBlPT0zKWEuZGF0YT1TdHJpbmcoYik7ZWxzZSBpZihhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlVHlwZT09Myl7Zm9yKDthLmxhc3RDaGlsZCE9YS5maXJzdENoaWxkOylhLnJlbW92ZUNoaWxkKGEubGFzdENoaWxkKTthLmZpcnN0Q2hpbGQuZGF0YT1TdHJpbmcoYil9ZWxzZSBfLnpkKGEpLGEuYXBwZW5kQ2hpbGQoXy5zZChhKS5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYikpKX07Xy5yZD1mdW5jdGlvbihhKXt0aGlzLmc9YXx8Xy52LmRvY3VtZW50fHxkb2N1bWVudH07Xy5tPV8ucmQucHJvdG90eXBlO18ubS5IPWZ1bmN0aW9uKGEpe3JldHVybiBfLnRkKHRoaXMuZyxhKX07Xy5tLmRqPV8ucmQucHJvdG90eXBlLkg7Xy5tLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGJ8fHRoaXMuZykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGEpKX07Cl8ubS5TPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy55ZCh0aGlzLmcsYXJndW1lbnRzKX07Xy5tLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ud2QodGhpcy5nLGEpfTtfLm0uY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZy5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYSkpfTtfLm0uYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24oYSxiKXthLmFwcGVuZENoaWxkKGIpfTtfLm0uYXBwZW5kPWZ1bmN0aW9uKGEsYil7eGQoXy5zZChhKSxhLGFyZ3VtZW50cywxKX07Xy5tLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChhLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07Cl8ubS5pZT1fLnpkO18ubS5yZW1vdmVOb2RlPV8uQWQ7Xy5tLmNvbnRhaW5zPV8uQmQ7Xy5tLlNiPV8uQ2Q7YmIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWR9O3ZhciBjYj1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT1hIGluc3RhbmNlb2YgYmI/U3RyaW5nKGEpOmE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMuaD0hMX07Y2IucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuaD0hMH07Y2IucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwfTt2YXIgRGQ9ZnVuY3Rpb24oKXtpZighXy52LmFkZEV2ZW50TGlzdGVuZXJ8fCFPYmplY3QuZGVmaW5lUHJvcGVydHkpcmV0dXJuITE7dmFyIGE9ITEsYj1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXthPSEwfX0pO3RyeXt2YXIgYz1mdW5jdGlvbigpe307Xy52LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLGMsYik7Xy52LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGMsYil9Y2F0Y2goZCl7fXJldHVybiBhfSgpO18uRyhfLmRiLGNiKTsKXy5kYi5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMudHlwZT1hLnR5cGUsZD1hLmNoYW5nZWRUb3VjaGVzJiZhLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9hLmNoYW5nZWRUb3VjaGVzWzBdOm51bGw7dGhpcy50YXJnZXQ9YS50YXJnZXR8fGEuc3JjRWxlbWVudDt0aGlzLmN1cnJlbnRUYXJnZXQ9YjtiPWEucmVsYXRlZFRhcmdldDtifHwoYz09Im1vdXNlb3ZlciI/Yj1hLmZyb21FbGVtZW50OmM9PSJtb3VzZW91dCImJihiPWEudG9FbGVtZW50KSk7dGhpcy5yZWxhdGVkVGFyZ2V0PWI7ZD8odGhpcy5jbGllbnRYPWQuY2xpZW50WCE9PXZvaWQgMD9kLmNsaWVudFg6ZC5wYWdlWCx0aGlzLmNsaWVudFk9ZC5jbGllbnRZIT09dm9pZCAwP2QuY2xpZW50WTpkLnBhZ2VZLHRoaXMuc2NyZWVuWD1kLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWQuc2NyZWVuWXx8MCk6KHRoaXMub2Zmc2V0WD1fLlZjfHxhLm9mZnNldFghPT12b2lkIDA/YS5vZmZzZXRYOmEubGF5ZXJYLAp0aGlzLm9mZnNldFk9Xy5WY3x8YS5vZmZzZXRZIT09dm9pZCAwP2Eub2Zmc2V0WTphLmxheWVyWSx0aGlzLmNsaWVudFg9YS5jbGllbnRYIT09dm9pZCAwP2EuY2xpZW50WDphLnBhZ2VYLHRoaXMuY2xpZW50WT1hLmNsaWVudFkhPT12b2lkIDA/YS5jbGllbnRZOmEucGFnZVksdGhpcy5zY3JlZW5YPWEuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9YS5zY3JlZW5ZfHwwKTt0aGlzLmJ1dHRvbj1hLmJ1dHRvbjt0aGlzLmtleUNvZGU9YS5rZXlDb2RlfHwwO3RoaXMua2V5PWEua2V5fHwiIjt0aGlzLmNoYXJDb2RlPWEuY2hhckNvZGV8fChjPT0ia2V5cHJlc3MiP2Eua2V5Q29kZTowKTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuYWx0S2V5PWEuYWx0S2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMucG9pbnRlcklkPWEucG9pbnRlcklkfHwwO3RoaXMucG9pbnRlclR5cGU9YS5wb2ludGVyVHlwZTt0aGlzLnN0YXRlPWEuc3RhdGU7CnRoaXMudGltZVN0YW1wPWEudGltZVN0YW1wO3RoaXMuZz1hO2EuZGVmYXVsdFByZXZlbnRlZCYmXy5kYi5lYS5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpfTtfLmRiLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtfLmRiLmVhLnN0b3BQcm9wYWdhdGlvbi5jYWxsKHRoaXMpO3RoaXMuZy5zdG9wUHJvcGFnYXRpb24/dGhpcy5nLnN0b3BQcm9wYWdhdGlvbigpOnRoaXMuZy5jYW5jZWxCdWJibGU9ITB9O18uZGIucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7Xy5kYi5lYS5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuZzthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgRWQ9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKSxGZD1mdW5jdGlvbihhKXtyZXR1cm4hKCFhfHwhYVtFZF0pfTt2YXIgZWI9MDt2YXIgR2Q9ZnVuY3Rpb24oYSl7YS5vYz0hMDthLmxpc3RlbmVyPW51bGw7YS5wcm94eT1udWxsO2Euc3JjPW51bGw7YS5WYz1udWxsfTtnYi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5nW2ZdO2F8fChhPXRoaXMuZ1tmXT1bXSx0aGlzLmgrKyk7dmFyIGc9SGQoYSxiLGQsZSk7Zz4tMT8oYj1hW2ddLGN8fChiLkhjPSExKSk6KGI9bmV3IGZiKGIsdGhpcy5zcmMsZiwhIWQsZSksYi5IYz1jLGEucHVzaChiKSk7cmV0dXJuIGJ9O2diLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLnRvU3RyaW5nKCk7aWYoIShhIGluIHRoaXMuZykpcmV0dXJuITE7dmFyIGU9dGhpcy5nW2FdO2I9SGQoZSxiLGMsZCk7cmV0dXJuIGI+LTE/KEdkKGVbYl0pLEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChlLGIsMSksZS5sZW5ndGg9PTAmJihkZWxldGUgdGhpcy5nW2FdLHRoaXMuaC0tKSwhMCk6ITF9Owp2YXIgSWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnR5cGU7YyBpbiBhLmcmJl8udmEoYS5nW2NdLGIpJiYoR2QoYiksYS5nW2NdLmxlbmd0aD09MCYmKGRlbGV0ZSBhLmdbY10sYS5oLS0pKX07Z2IucHJvdG90eXBlLmpjPWZ1bmN0aW9uKGEsYixjLGQpe2E9dGhpcy5nW2EudG9TdHJpbmcoKV07dmFyIGU9LTE7YSYmKGU9SGQoYSxiLGMsZCkpO3JldHVybiBlPi0xP2FbZV06bnVsbH07Z2IucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YSE9PXZvaWQgMCxkPWM/YS50b1N0cmluZygpOiIiLGU9YiE9PXZvaWQgMDtyZXR1cm4gRGEodGhpcy5nLGZ1bmN0aW9uKGYpe2Zvcih2YXIgZz0wO2c8Zi5sZW5ndGg7KytnKWlmKCEoYyYmZltnXS50eXBlIT1kfHxlJiZmW2ddLmNhcHR1cmUhPWIpKXJldHVybiEwO3JldHVybiExfSl9Owp2YXIgSGQ9ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlPTA7ZTxhLmxlbmd0aDsrK2Upe3ZhciBmPWFbZV07aWYoIWYub2MmJmYubGlzdGVuZXI9PWImJmYuY2FwdHVyZT09ISFjJiZmLlZjPT1kKXJldHVybiBlfXJldHVybi0xfTt2YXIgSmQsS2QsTWQsUGQsUmQsU2QsVGQsUWQsV2QsT2Q7SmQ9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCk7S2Q9e307TWQ9MDtfLng9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkJiZkLm9uY2UpcmV0dXJuIF8uTmQoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKylfLngoYSxiW2ZdLGMsZCxlKTtyZXR1cm4gbnVsbH1jPU9kKGMpO3JldHVybiBGZChhKT9hLk4oYixjLF8ueWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlBkKGEsYixjLCExLGQsZSl9OwpQZD1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoIWIpdGhyb3cgRXJyb3IoInYiKTt2YXIgZz1fLnlhKGUpPyEhZS5jYXB0dXJlOiEhZSxoPVFkKGEpO2h8fChhW0pkXT1oPW5ldyBnYihhKSk7Yz1oLmFkZChiLGMsZCxnLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1SZCgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpRGR8fChlPWcpLGU9PT12b2lkIDAmJihlPSExKSxhLmFkZEV2ZW50TGlzdGVuZXIoYi50b1N0cmluZygpLGQsZSk7ZWxzZSBpZihhLmF0dGFjaEV2ZW50KWEuYXR0YWNoRXZlbnQoU2QoYi50b1N0cmluZygpKSxkKTtlbHNlIGlmKGEuYWRkTGlzdGVuZXImJmEucmVtb3ZlTGlzdGVuZXIpYS5hZGRMaXN0ZW5lcihkKTtlbHNlIHRocm93IEVycm9yKCJ3Iik7TWQrKztyZXR1cm4gY307UmQ9ZnVuY3Rpb24oKXt2YXIgYT1UZCxiPWZ1bmN0aW9uKGMpe3JldHVybiBhLmNhbGwoYi5zcmMsYi5saXN0ZW5lcixjKX07cmV0dXJuIGJ9OwpfLk5kPWZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoQXJyYXkuaXNBcnJheShiKSl7Zm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspXy5OZChhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9T2QoYyk7cmV0dXJuIEZkKGEpP2EuYWUoYixjLF8ueWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlBkKGEsYixjLCEwLGQsZSl9O18uVWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8uVWQoYSxiW2ZdLGMsZCxlKTtlbHNlIGQ9Xy55YShkKT8hIWQuY2FwdHVyZTohIWQsYz1PZChjKSxGZChhKT9hLnljKGIsYyxkLGUpOmEmJihhPVFkKGEpKSYmKGI9YS5qYyhiLGMsZCxlKSkmJl8uVmQoYil9OwpfLlZkPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciImJmEmJiFhLm9jKXt2YXIgYj1hLnNyYztpZihGZChiKSlJZChiLlFhLGEpO2Vsc2V7dmFyIGM9YS50eXBlLGQ9YS5wcm94eTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCxhLmNhcHR1cmUpOmIuZGV0YWNoRXZlbnQ/Yi5kZXRhY2hFdmVudChTZChjKSxkKTpiLmFkZExpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyKGQpO01kLS07KGM9UWQoYikpPyhJZChjLGEpLGMuaD09MCYmKGMuc3JjPW51bGwsYltKZF09bnVsbCkpOkdkKGEpfX19O1NkPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluIEtkP0tkW2FdOktkW2FdPSJvbiIrYX07VGQ9ZnVuY3Rpb24oYSxiKXtpZihhLm9jKWE9ITA7ZWxzZXtiPW5ldyBfLmRiKGIsdGhpcyk7dmFyIGM9YS5saXN0ZW5lcixkPWEuVmN8fGEuc3JjO2EuSGMmJl8uVmQoYSk7YT1jLmNhbGwoZCxiKX1yZXR1cm4gYX07ClFkPWZ1bmN0aW9uKGEpe2E9YVtKZF07cmV0dXJuIGEgaW5zdGFuY2VvZiBnYj9hOm51bGx9O1dkPSJfX2Nsb3N1cmVfZXZlbnRzX2ZuXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7T2Q9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2FbV2RdfHwoYVtXZF09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtXZF19O18uRyhfLmhiLF8udSk7Xy5oYi5wcm90b3R5cGVbRWRdPSEwO18ubT1fLmhiLnByb3RvdHlwZTtfLm0ubmQ9ZnVuY3Rpb24oYSl7dGhpcy5mZD1hfTtfLm0uYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyxkKXtfLngodGhpcyxhLGIsYyxkKX07Xy5tLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5VZCh0aGlzLGEsYixjLGQpfTsKXy5tLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLmZkO2lmKGMpZm9yKGI9W107YztjPWMuZmQpYi5wdXNoKGMpO2M9dGhpcy5XZzt2YXIgZD1hLnR5cGV8fGE7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilhPW5ldyBjYihhLGMpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIGNiKWEudGFyZ2V0PWEudGFyZ2V0fHxjO2Vsc2V7dmFyIGU9YTthPW5ldyBjYihkLGMpO0ZhKGEsZSl9ZT0hMDt2YXIgZjtpZihiKWZvcihmPWIubGVuZ3RoLTE7IWEuaCYmZj49MDtmLS0pe3ZhciBnPWEuY3VycmVudFRhcmdldD1iW2ZdO2U9WGQoZyxkLCEwLGEpJiZlfWEuaHx8KGc9YS5jdXJyZW50VGFyZ2V0PWMsZT1YZChnLGQsITAsYSkmJmUsYS5ofHwoZT1YZChnLGQsITEsYSkmJmUpKTtpZihiKWZvcihmPTA7IWEuaCYmZjxiLmxlbmd0aDtmKyspZz1hLmN1cnJlbnRUYXJnZXQ9YltmXSxlPVhkKGcsZCwhMSxhKSYmZTtyZXR1cm4gZX07Cl8ubS5NPWZ1bmN0aW9uKCl7Xy5oYi5lYS5NLmNhbGwodGhpcyk7aWYodGhpcy5RYSl7dmFyIGE9dGhpcy5RYSxiPTAsYztmb3IoYyBpbiBhLmcpe2Zvcih2YXIgZD1hLmdbY10sZT0wO2U8ZC5sZW5ndGg7ZSsrKSsrYixHZChkW2VdKTtkZWxldGUgYS5nW2NdO2EuaC0tfX10aGlzLmZkPW51bGx9O18ubS5OPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlFhLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLm0uYWU9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMuUWEuYWRkKFN0cmluZyhhKSxiLCEwLGMsZCl9O18ubS55Yz1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5RYS5yZW1vdmUoU3RyaW5nKGEpLGIsYyxkKX07CnZhciBYZD1mdW5jdGlvbihhLGIsYyxkKXtiPWEuUWEuZ1tTdHJpbmcoYildO2lmKCFiKXJldHVybiEwO2I9Yi5jb25jYXQoKTtmb3IodmFyIGU9ITAsZj0wO2Y8Yi5sZW5ndGg7KytmKXt2YXIgZz1iW2ZdO2lmKGcmJiFnLm9jJiZnLmNhcHR1cmU9PWMpe3ZhciBoPWcubGlzdGVuZXIsaz1nLlZjfHxnLnNyYztnLkhjJiZJZChhLlFhLGcpO2U9aC5jYWxsKGssZCkhPT0hMSYmZX19cmV0dXJuIGUmJiFkLmRlZmF1bHRQcmV2ZW50ZWR9O18uaGIucHJvdG90eXBlLmpjPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlFhLmpjKFN0cmluZyhhKSxiLGMsZCl9O18uaGIucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuUWEuaGFzTGlzdGVuZXIoYSE9PXZvaWQgMD9TdHJpbmcoYSk6dm9pZCAwLGIpfTtfLkcoamIsXy5oYik7amIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtqYi5lYS5NLmNhbGwodGhpcyk7dGhpcy5oJiYoXy5WZCh0aGlzLmgpLHRoaXMuaD1udWxsKTt0aGlzLmo9dGhpcy5nPW51bGx9O2piLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7dmFyIGE9Xy5pYih0aGlzLmd8fHdpbmRvdyk7Xy55YyhhLHRoaXMuail8fCh0aGlzLmo9YSx0aGlzLmRpc3BhdGNoRXZlbnQoInJlc2l6ZSIpKX07Xy5HKGtiLF8uaGIpO2tiLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5nJiYodHlwZW9mIHRoaXMuZy5hZGRFdmVudExpc3RlbmVyPT09ImZ1bmN0aW9uIj8odGhpcy5nLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5qKSx0aGlzLmw9ZnVuY3Rpb24oKXthLmcucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhLmopfSk6KHRoaXMuZy5hZGRMaXN0ZW5lcih0aGlzLmopLHRoaXMubD1mdW5jdGlvbigpe2EuZy5yZW1vdmVMaXN0ZW5lcihhLmopfSkpfTtrYi5wcm90b3R5cGUuQT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5kZXZpY2VQaXhlbFJhdGlvPj0xLjU/MjoxO3RoaXMubyE9YSYmKHRoaXMubz1hLHRoaXMuZGlzcGF0Y2hFdmVudCgiYSIpKX07a2IucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmwmJnRoaXMubCgpO2tiLmVhLk0uY2FsbCh0aGlzKX07Xy5HKG5iLF8udSk7bmIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmg9dGhpcy5sPW51bGw7dGhpcy5nJiYodGhpcy5nLmRpc3Bvc2UoKSx0aGlzLmc9bnVsbCk7Xy5wYSh0aGlzLmopO3RoaXMuaj1udWxsfTtfLm9hKHVjLG5iKTt2YXIgb2I9bmV3IFVpbnQ4QXJyYXkoMTIzKSxZZD0hMTt2YXIgWmQ9W107bmM9bmN8fHt9O3ZhciAkZD1mdW5jdGlvbigpe18udS5jYWxsKHRoaXMpfTtfLkcoJGQsXy51KTskZC5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe307c2IucHJvdG90eXBlLmV4ZWN1dGU9ZnVuY3Rpb24oYSl7dGhpcy5nJiYodGhpcy5nLmNhbGwodGhpcy5ofHxudWxsLGEpLHRoaXMuZz10aGlzLmg9bnVsbCl9O3NiLnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuaD10aGlzLmc9bnVsbH07bmMuR2U9c2I7Xy5HKHViLF8udSk7dWIucHJvdG90eXBlLkM9JGQ7dWIucHJvdG90eXBlLmc9bnVsbDt1Yi5wcm90b3R5cGUuUmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BfTt2YXIgYWU9ZnVuY3Rpb24oYSxiLGMpe2Euanx8KGEuaj1bXSk7YS5qLnB1c2gobmV3IG5jLkdlKGIsYykpfSxiZT1mdW5jdGlvbihhLGIpe2EuaHx8KGEuaD1bXSk7YS5oLnB1c2gobmV3IG5jLkdlKGIsdm9pZCAwKSl9O3ViLnByb3RvdHlwZS5tZD1mdW5jdGlvbigpe3RoaXMuZz1uZXcgJGR9O3ViLnByb3RvdHlwZS5vbkxvYWQ9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRoaXMuQztiLmluaXRpYWxpemUoYSgpKTt0aGlzLmc9YjtpZih0aGlzLm8mJihiPWNlKHRoaXMubyxhKCkpKSlyZXR1cm4gYjtpZih0aGlzLmomJihhPWNlKHRoaXMuaixhKCkpKSlyZXR1cm4gYTt0aGlzLmgmJih0aGlzLmgubGVuZ3RoPTApO3JldHVybiBudWxsfTsKdWIucHJvdG90eXBlLmZlPWZ1bmN0aW9uKGEpe3RoaXMuaCYmKGE9Y2UodGhpcy5oLGEpKSYmXy5yYihFcnJvcigieWAiK2EpKTt0aGlzLm8mJih0aGlzLm8ubGVuZ3RoPTApO3RoaXMuaiYmKHRoaXMuai5sZW5ndGg9MCl9O3ZhciBjZT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhLmxlbmd0aDtkKyspdHJ5e2FbZF0uZXhlY3V0ZShiKX1jYXRjaChlKXtfLnJiKGUpLGMucHVzaChlKX1hLmxlbmd0aD0wO3JldHVybiBjLmxlbmd0aD9jOm51bGx9O3ViLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7dWIuZWEuTS5jYWxsKHRoaXMpO18ucGEodGhpcy5nKX07bmMuRmU9dWI7dmFyIGRlPXtFUlJPUjoiZXJyb3IiLElETEU6ImlkbGUiLGxnOiJhY3RpdmUiLElnOiJ1c2VySWRsZSIsSGc6InVzZXJBY3RpdmUifTtfLm09dmIucHJvdG90eXBlO18ubS5YZj1mdW5jdGlvbigpe307Xy5tLnFlPWZ1bmN0aW9uKCl7fTtfLm0uamU9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiQSIpO307Xy5tLmtmPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucWF9O18ubS5zZT1mdW5jdGlvbihhKXt0aGlzLnFhPWF9O18ubS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiExfTtfLm0uRGY9ZnVuY3Rpb24oKXtyZXR1cm4hMX07dmFyIGVlPXR5cGVvZiBBc3luY0NvbnRleHQhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEFzeW5jQ29udGV4dC5TbmFwc2hvdD09PSJmdW5jdGlvbiI/ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJkFzeW5jQ29udGV4dC5TbmFwc2hvdC53cmFwKGEpfTpmdW5jdGlvbihhKXtyZXR1cm4gYX07dmFyIGZlPWZ1bmN0aW9uKGEsYil7dGhpcy5sPWE7dGhpcy5qPWI7dGhpcy5oPTA7dGhpcy5nPW51bGx9O2ZlLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtpZih0aGlzLmg+MCl7dGhpcy5oLS07dmFyIGE9dGhpcy5nO3RoaXMuZz1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMubCgpO3JldHVybiBhfTt2YXIgeGI9ZnVuY3Rpb24oYSxiKXthLmooYik7YS5oPDEwMCYmKGEuaCsrLGIubmV4dD1hLmcsYS5nPWIpfTt2YXIgZ2U9ZnVuY3Rpb24oKXt0aGlzLmg9dGhpcy5nPW51bGx9O2dlLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz15Yi5nZXQoKTtjLnNldChhLGIpO3RoaXMuaD90aGlzLmgubmV4dD1jOnRoaXMuZz1jO3RoaXMuaD1jfTtnZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7dmFyIGE9bnVsbDt0aGlzLmcmJihhPXRoaXMuZyx0aGlzLmc9dGhpcy5nLm5leHQsdGhpcy5nfHwodGhpcy5oPW51bGwpLGEubmV4dD1udWxsKTtyZXR1cm4gYX07dmFyIHliPW5ldyBmZShmdW5jdGlvbigpe3JldHVybiBuZXcgaGV9LGZ1bmN0aW9uKGEpe3JldHVybiBhLnJlc2V0KCl9KSxoZT1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuZz1udWxsfTtoZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5nPWE7dGhpcy5zY29wZT1iO3RoaXMubmV4dD1udWxsfTsKaGUucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuc2NvcGU9dGhpcy5nPW51bGx9O3ZhciBpZSx6Yj0hMSx3Yj1uZXcgZ2Usa2U9ZnVuY3Rpb24oYSxiKXtpZXx8amUoKTt6Ynx8KGllKCksemI9ITApO3diLmFkZChhLGIpfSxqZT1mdW5jdGlvbigpe3ZhciBhPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO2llPWZ1bmN0aW9uKCl7YS50aGVuKEFiKX19O18ubGU9ZnVuY3Rpb24oKXt9O3ZhciBtZT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4hMTt0cnl7cmV0dXJuISFhLiRnb29nX1RoZW5hYmxlfWNhdGNoKGIpe3JldHVybiExfX07dmFyIHBlLEFlLHllLHdlO18ub2U9ZnVuY3Rpb24oYSl7dGhpcy5nPTA7dGhpcy5CPXZvaWQgMDt0aGlzLmw9dGhpcy5oPXRoaXMuaj1udWxsO3RoaXMubz10aGlzLkE9ITE7aWYoYSE9Xy5sZSl0cnl7dmFyIGI9dGhpczthLmNhbGwodm9pZCAwLGZ1bmN0aW9uKGMpe18ubmUoYiwyLGMpfSxmdW5jdGlvbihjKXtfLm5lKGIsMyxjKX0pfWNhdGNoKGMpe18ubmUodGhpcywzLGMpfX07cGU9ZnVuY3Rpb24oKXt0aGlzLm5leHQ9dGhpcy5qPXRoaXMuaD10aGlzLmw9dGhpcy5nPW51bGw7dGhpcy5vPSExfTtwZS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmo9dGhpcy5oPXRoaXMubD10aGlzLmc9bnVsbDt0aGlzLm89ITF9O3ZhciBxZT1uZXcgZmUoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHBlfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KSxyZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cWUuZ2V0KCk7ZC5sPWE7ZC5oPWI7ZC5qPWM7cmV0dXJuIGR9OwpfLm9lLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gc2UodGhpcyxlZSh0eXBlb2YgYT09PSJmdW5jdGlvbiI/YTpudWxsKSxlZSh0eXBlb2YgYj09PSJmdW5jdGlvbiI/YjpudWxsKSxjKX07Xy5vZS5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7Xy5vZS5wcm90b3R5cGUuQz1mdW5jdGlvbihhLGIpe3JldHVybiBzZSh0aGlzLG51bGwsZWUoYSksYil9O18ub2UucHJvdG90eXBlLmNhdGNoPV8ub2UucHJvdG90eXBlLkM7Xy5vZS5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuZz09MCl7dmFyIGI9bmV3IHVlKGEpO2tlKGZ1bmN0aW9uKCl7dmUodGhpcyxiKX0sdGhpcyl9fTsKdmFyIHZlPWZ1bmN0aW9uKGEsYil7aWYoYS5nPT0wKWlmKGEuail7dmFyIGM9YS5qO2lmKGMuaCl7Zm9yKHZhciBkPTAsZT1udWxsLGY9bnVsbCxnPWMuaDtnJiYoZy5vfHwoZCsrLGcuZz09YSYmKGU9ZyksIShlJiZkPjEpKSk7Zz1nLm5leHQpZXx8KGY9Zyk7ZSYmKGMuZz09MCYmZD09MT92ZShjLGIpOihmPyhkPWYsZC5uZXh0PT1jLmwmJihjLmw9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTp3ZShjKSx4ZShjLGUsMyxiKSkpfWEuaj1udWxsfWVsc2UgXy5uZShhLDMsYil9LHplPWZ1bmN0aW9uKGEsYil7YS5ofHxhLmchPTImJmEuZyE9M3x8eWUoYSk7YS5sP2EubC5uZXh0PWI6YS5oPWI7YS5sPWJ9LHNlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXJlKG51bGwsbnVsbCxudWxsKTtlLmc9bmV3IF8ub2UoZnVuY3Rpb24oZixnKXtlLmw9Yj9mdW5jdGlvbihoKXt0cnl7dmFyIGs9Yi5jYWxsKGQsaCk7ZihrKX1jYXRjaChsKXtnKGwpfX06ZjtlLmg9Yz9mdW5jdGlvbihoKXt0cnl7dmFyIGs9CmMuY2FsbChkLGgpO2s9PT12b2lkIDAmJmggaW5zdGFuY2VvZiB1ZT9nKGgpOmYoayl9Y2F0Y2gobCl7ZyhsKX19Omd9KTtlLmcuaj1hO3plKGEsZSk7cmV0dXJuIGUuZ307Xy5vZS5wcm90b3R5cGUuRj1mdW5jdGlvbihhKXt0aGlzLmc9MDtfLm5lKHRoaXMsMixhKX07Xy5vZS5wcm90b3R5cGUuRz1mdW5jdGlvbihhKXt0aGlzLmc9MDtfLm5lKHRoaXMsMyxhKX07Cl8ubmU9ZnVuY3Rpb24oYSxiLGMpe2lmKGEuZz09MCl7YT09PWMmJihiPTMsYz1uZXcgVHlwZUVycm9yKCJCIikpO2EuZz0xO2E6e3ZhciBkPWMsZT1hLkYsZj1hLkc7aWYoZCBpbnN0YW5jZW9mIF8ub2Upe3plKGQscmUoZXx8Xy5sZSxmfHxudWxsLGEpKTt2YXIgZz0hMH1lbHNlIGlmKG1lKGQpKWQudGhlbihlLGYsYSksZz0hMDtlbHNle2lmKF8ueWEoZCkpdHJ5e3ZhciBoPWQudGhlbjtpZih0eXBlb2YgaD09PSJmdW5jdGlvbiIpe0FlKGQsaCxlLGYsYSk7Zz0hMDticmVhayBhfX1jYXRjaChrKXtmLmNhbGwoYSxrKTtnPSEwO2JyZWFrIGF9Zz0hMX19Z3x8KGEuQj1jLGEuZz1iLGEuaj1udWxsLHllKGEpLGIhPTN8fGMgaW5zdGFuY2VvZiB1ZXx8QmUoYSxjKSl9fTtBZT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSExLGc9ZnVuY3Rpb24oayl7Znx8KGY9ITAsYy5jYWxsKGUsaykpfSxoPWZ1bmN0aW9uKGspe2Z8fChmPSEwLGQuY2FsbChlLGspKX07dHJ5e2IuY2FsbChhLGcsaCl9Y2F0Y2goayl7aChrKX19Owp5ZT1mdW5jdGlvbihhKXthLkF8fChhLkE9ITAsa2UoYS5ELGEpKX07d2U9ZnVuY3Rpb24oYSl7dmFyIGI9bnVsbDthLmgmJihiPWEuaCxhLmg9Yi5uZXh0LGIubmV4dD1udWxsKTthLmh8fChhLmw9bnVsbCk7cmV0dXJuIGJ9O18ub2UucHJvdG90eXBlLkQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT13ZSh0aGlzKTspeGUodGhpcyxhLHRoaXMuZyx0aGlzLkIpO3RoaXMuQT0hMX07CnZhciB4ZT1mdW5jdGlvbihhLGIsYyxkKXtpZihjPT0zJiZiLmgmJiFiLm8pZm9yKDthJiZhLm87YT1hLmopYS5vPSExO2lmKGIuZyliLmcuaj1udWxsLENlKGIsYyxkKTtlbHNlIHRyeXtiLm8/Yi5sLmNhbGwoYi5qKTpDZShiLGMsZCl9Y2F0Y2goZSl7RmUuY2FsbChudWxsLGUpfXhiKHFlLGIpfSxDZT1mdW5jdGlvbihhLGIsYyl7Yj09Mj9hLmwuY2FsbChhLmosYyk6YS5oJiZhLmguY2FsbChhLmosYyl9LEJlPWZ1bmN0aW9uKGEsYil7YS5vPSEwO2tlKGZ1bmN0aW9uKCl7YS5vJiZGZS5jYWxsKG51bGwsYil9KX0sRmU9Xy5yYix1ZT1mdW5jdGlvbihhKXthYS5jYWxsKHRoaXMsYSl9O18uRyh1ZSxhYSk7dWUucHJvdG90eXBlLm5hbWU9ImNhbmNlbCI7QmIucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbihhKXtpZih0aGlzLmgpdGhpcy5sIGluc3RhbmNlb2YgQmImJnRoaXMubC5jYW5jZWwoKTtlbHNle2lmKHRoaXMuail7dmFyIGI9dGhpcy5qO2RlbGV0ZSB0aGlzLmo7YT9iLmNhbmNlbChhKTooYi5BLS0sYi5BPD0wJiZiLmNhbmNlbCgpKX10aGlzLkc9ITA7dGhpcy5ofHx0aGlzLkYobmV3IEdlKHRoaXMpKX19O0JiLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGEsYil7dGhpcy5EPSExO0hlKHRoaXMsYSxiKX07dmFyIEhlPWZ1bmN0aW9uKGEsYixjKXthLmg9ITA7YS5sPWM7YS5vPSFiO0llKGEpfSxLZT1mdW5jdGlvbihhKXtpZihhLmgpe2lmKCFhLkcpdGhyb3cgbmV3IEplKGEpO2EuRz0hMX19O0JiLnByb3RvdHlwZS5nPWZ1bmN0aW9uKGEpe0tlKHRoaXMpO0hlKHRoaXMsITAsYSl9O0JiLnByb3RvdHlwZS5GPWZ1bmN0aW9uKGEpe0tlKHRoaXMpO0hlKHRoaXMsITEsYSl9Owp2YXIgTWU9ZnVuY3Rpb24oYSxiLGMpe0xlKGEsYixudWxsLGMpfSxOZT1mdW5jdGlvbihhLGIsYyl7TGUoYSxudWxsLGIsYyl9LExlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuaDtlfHwoYj09PWM/Yj1jPWVlKGIpOihiPWVlKGIpLGM9ZWUoYykpKTthLkIucHVzaChbYixjLGRdKTtlJiZJZShhKX07QmIucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1uZXcgXy5vZShmdW5jdGlvbihnLGgpe2U9ZztkPWh9KTtMZSh0aGlzLGUsZnVuY3Rpb24oZyl7ZyBpbnN0YW5jZW9mIEdlP2YuY2FuY2VsKCk6ZChnKTtyZXR1cm4gT2V9LHRoaXMpO3JldHVybiBmLnRoZW4oYSxiLGMpfTtCYi5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7dmFyIFBlPWZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIEJiP01lKGEsKDAsXy55KShiLkssYikpOk1lKGEsZnVuY3Rpb24oKXtyZXR1cm4gYn0pfTsKQmIucHJvdG90eXBlLks9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEJiO0xlKHRoaXMsYi5nLGIuRixiKTthJiYoYi5qPXRoaXMsdGhpcy5BKyspO3JldHVybiBifTsKdmFyIFFlPWZ1bmN0aW9uKGEpe3JldHVybiBfLnhjKGEuQixmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGJbMV09PT0iZnVuY3Rpb24ifSl9LE9lPXt9LEllPWZ1bmN0aW9uKGEpe2lmKGEuQyYmYS5oJiZRZShhKSl7dmFyIGI9YS5DLGM9UmVbYl07YyYmKF8udi5jbGVhclRpbWVvdXQoYy5nKSxkZWxldGUgUmVbYl0pO2EuQz0wfWEuaiYmKGEuai5BLS0sZGVsZXRlIGEuaik7Yj1hLmw7Zm9yKHZhciBkPWM9ITE7YS5CLmxlbmd0aCYmIWEuRDspe3ZhciBlPWEuQi5zaGlmdCgpLGY9ZVswXSxnPWVbMV07ZT1lWzJdO2lmKGY9YS5vP2c6Zil0cnl7dmFyIGg9Zi5jYWxsKGV8fG51bGwsYik7aD09PU9lJiYoaD12b2lkIDApO2ghPT12b2lkIDAmJihhLm89YS5vJiYoaD09Ynx8aCBpbnN0YW5jZW9mIEVycm9yKSxhLmw9Yj1oKTtpZihtZShiKXx8dHlwZW9mIF8udi5Qcm9taXNlPT09ImZ1bmN0aW9uIiYmYiBpbnN0YW5jZW9mIF8udi5Qcm9taXNlKWQ9ITAsYS5EPSEwfWNhdGNoKGspe2I9CmssYS5vPSEwLFFlKGEpfHwoYz0hMCl9fWEubD1iO2QmJihoPSgwLF8ueSkoYS5JLGEsITApLGQ9KDAsXy55KShhLkksYSwhMSksYiBpbnN0YW5jZW9mIEJiPyhMZShiLGgsZCksYi5XPSEwKTpiLnRoZW4oaCxkKSk7YyYmKGI9bmV3IFNlKGIpLFJlW2IuZ109YixhLkM9Yi5nKX0sSmU9ZnVuY3Rpb24oKXthYS5jYWxsKHRoaXMpfTtfLkcoSmUsYWEpO0plLnByb3RvdHlwZS5tZXNzYWdlPSJEZWZlcnJlZCBoYXMgYWxyZWFkeSBmaXJlZCI7SmUucHJvdG90eXBlLm5hbWU9IkFscmVhZHlDYWxsZWRFcnJvciI7dmFyIEdlPWZ1bmN0aW9uKCl7YWEuY2FsbCh0aGlzKX07Xy5HKEdlLGFhKTtHZS5wcm90b3R5cGUubWVzc2FnZT0iRGVmZXJyZWQgd2FzIGNhbmNlbGVkIjtHZS5wcm90b3R5cGUubmFtZT0iQ2FuY2VsZWRFcnJvciI7dmFyIFNlPWZ1bmN0aW9uKGEpe3RoaXMuZz1fLnYuc2V0VGltZW91dCgoMCxfLnkpKHRoaXMudGhyb3dFcnJvcix0aGlzKSwwKTt0aGlzLmg9YX07ClNlLnByb3RvdHlwZS50aHJvd0Vycm9yPWZ1bmN0aW9uKCl7ZGVsZXRlIFJlW3RoaXMuZ107dGhyb3cgdGhpcy5oO307dmFyIFJlPXt9O3ZhciBUZT1mdW5jdGlvbihhLGIsYyxkLGUpe2M9RXJyb3IuY2FsbCh0aGlzKTt0aGlzLm1lc3NhZ2U9Yy5tZXNzYWdlOyJzdGFjayJpbiBjJiYodGhpcy5zdGFjaz1jLnN0YWNrKTt0aGlzLm5hbWU9Ik1vZHVsZUxvYWRGYWlsdXJlIjt0aGlzLnR5cGU9YTt0aGlzLnN0YXR1cz1iO3RoaXMudXJsPWQ7dGhpcy5jYXVzZT1lO3RoaXMubWVzc2FnZT10aGlzLnRvU3RyaW5nKCl9O18uQihUZSxFcnJvcik7VGUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIFVlKHRoaXMpKyIgKCIrKHRoaXMuc3RhdHVzIT12b2lkIDA/dGhpcy5zdGF0dXM6Ij8iKSsiKSJ9Owp2YXIgVWU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEudHlwZSl7Y2FzZSBUZS5nLkplOnJldHVybiJVbmF1dGhvcml6ZWQiO2Nhc2UgVGUuZy5CZTpyZXR1cm4iQ29uc2VjdXRpdmUgbG9hZCBmYWlsdXJlcyI7Y2FzZSBUZS5nLlRJTUVPVVQ6cmV0dXJuIlRpbWVkIG91dCI7Y2FzZSBUZS5nLkhlOnJldHVybiJPdXQgb2YgZGF0ZSBtb2R1bGUgaWQiO2Nhc2UgVGUuZy50ZDpyZXR1cm4iSW5pdCBlcnJvciI7ZGVmYXVsdDpyZXR1cm4iVW5rbm93biBmYWlsdXJlIHR5cGUgIithLnR5cGV9fTtuYy5GYT1UZTtuYy5GYS5nPXtKZTowLEJlOjEsVElNRU9VVDoyLEhlOjMsdGQ6NH07dmFyIFZlPWZ1bmN0aW9uKCl7dmIuY2FsbCh0aGlzKTt0aGlzLkk9bnVsbDt0aGlzLmc9bmV3IE1hcDt0aGlzLm89bmV3IFNldDt0aGlzLkE9W107dGhpcy5DPW5ldyBTZXQ7dGhpcy5qPVtdO3RoaXMuQj1uZXcgU2V0O3RoaXMuaD1OYz9uZXcgTWFwOnt9O3RoaXMuSz1uZXcgTWFwO3RoaXMubD10aGlzLkQ9bmV3IG5jLkZlKFtdLCIiKTt0aGlzLkw9bnVsbDt0aGlzLkY9bmV3IEJiO3RoaXMuUj10aGlzLlQ9dGhpcy5QPXRoaXMuVz0hMX07Xy5HKFZlLHZiKTt2YXIgV2U9ZnVuY3Rpb24oYSxiKXthYS5jYWxsKHRoaXMsIkVycm9yIGxvYWRpbmcgIithKyI6ICIrYil9O18uRyhXZSxhYSk7VmUucHJvdG90eXBlLlhmPWZ1bmN0aW9uKGEpe3RoaXMuVz1hfTsKVmUucHJvdG90eXBlLnFlPWZ1bmN0aW9uKGEsYil7aWYoISh0aGlzIGluc3RhbmNlb2YgVmUpKXRoaXMucWUoYSxiKTtlbHNlIGlmKHR5cGVvZiBhPT09InN0cmluZyIpe2lmKGEuc3RhcnRzV2l0aCgiZCQiKSl7YT1hLnN1YnN0cmluZygyKTtmb3IodmFyIGM9W10sZD0wLGU9YS5pbmRleE9mKCIvIiksZj0wLGc9ITEsaD0wOzspe3ZhciBrPWc/YS5zdWJzdHJpbmcoZik6YS5zdWJzdHJpbmcoZixlKTtpZihrLmxlbmd0aD09PTApZCsrLGY9InN5IitkLnRvU3RyaW5nKDM2KSxrPVtdO2Vsc2V7dmFyIGw9ay5pbmRleE9mKCI6Iik7aWYobDwwKWY9ayxrPVtdO2Vsc2UgaWYobD09PWsubGVuZ3RoLTEpZj1rLnN1YnN0cmluZygwLGwpLGs9QXJyYXkoY1toLTFdKTtlbHNle2Y9ay5zdWJzdHJpbmcoMCxsKTtrPWsuc3Vic3RyaW5nKGwrMSkuc3BsaXQoIiwiKTtsPWg7Zm9yKHZhciBuPTA7bjxrLmxlbmd0aDtuKyspbC09a1tuXS5sZW5ndGg9PT0wPzE6TnVtYmVyKGtbbl0pLGtbbl09Y1tsXX1sPQowO2lmKGYubGVuZ3RoPT09MClsPTE7ZWxzZSBpZihmLmNoYXJBdCgwKT09PSIrInx8Zi5jaGFyQXQoMCk9PT0iLSIpbD1OdW1iZXIoZik7bCE9PTAmJihkKz1sLGY9InN5IitkLnRvU3RyaW5nKDM2KSl9Yy5wdXNoKGYpO1hlKHRoaXMsZixrKTtpZihnKWJyZWFrO2Y9ZSsxO2U9YS5pbmRleE9mKCIvIixmKTtlPT09LTEmJihnPSEwKTtoKyt9dGhpcy5JPWN9ZWxzZSBpZihhLnN0YXJ0c1dpdGgoInAkIikpWWUodGhpcyxhKTtlbHNle2E9YS5zcGxpdCgiLyIpO2M9W107Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKyl7aD1hW2RdLnNwbGl0KCI6Iik7ZT1oWzBdO2c9W107aWYoaFsxXSlmb3IoZz1oWzFdLnNwbGl0KCIsIiksaD0wO2g8Zy5sZW5ndGg7aCsrKWdbaF09Y1twYXJzZUludChnW2hdLDM2KV07Yy5wdXNoKGUpO1hlKHRoaXMsZSxnKX10aGlzLkk9Y31pZihiJiZiLmxlbmd0aCl7YT1fLkMoYik7Zm9yKGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKXRoaXMuby5hZGQoYy52YWx1ZSk7CnRoaXMuTD1iW2IubGVuZ3RoLTFdfWVsc2UgdGhpcy5GLmh8fHRoaXMuRi5nKCk7T2JqZWN0LmZyZWV6ZSh0aGlzLkkpO1plKHRoaXMpfX07CnZhciBZZT1mdW5jdGlvbihhLGIpe2lmKCFZZCl7Zm9yKHZhciBjPTA7Yzw2NDtjKyspb2JbIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLmNoYXJDb2RlQXQoYyldPWM7WWQ9ITB9dmFyIGQ9e0hkOmIsQmI6Mn07cWIoZCk7dmFyIGU9cWIoZCksZj1xYihkKSsxO2I9QXJyYXkoZSk7Yz1BcnJheShlKTt2YXIgZz1BcnJheShlKTtmPUFycmF5KGYpO3ZhciBoPTAsaz0wLGw9ZC5IZCxuPWQuQmI7ZC5CYj1kLkhkLmluZGV4T2YoInwiLGQuQmIpKzE7Zm9yKHZhciBxPTA7cTxlO3ErKyl7dmFyIHA9cWIoZCkscj1wJjIsdD1wJjE7cD4+Pj0yO3Q/KGgrPXA+Pj4xXi0ocCYxKSxwPSJzeSIraC50b1N0cmluZygzNikpOih0PW4sbis9cCxwPWwuc3Vic3RyaW5nKHQsbikpO2JbcV09cDtyJiYoZltrKytdPXApfWZba109IiI7ZC5CYisrO2s9ZSYtMjtoPWUmMTtmb3IobD0wO2w8aztsKz0yKW49cGIoZCksZ1tsXT1uJjcsZ1tsKwoxXT1uPj4+MyY3O2gmJihoPXBiKGQpLGdba109aCY3KTtkLkJiKys7Zm9yKGs9MDtrPGU7aysrKWdba109PT03JiYoZ1trXT1xYihkKSk7ZC5CYisrO2ZvcihoPWs9MDtoPGU7aCsrKXtsPWdbaF07bj1sPT09MD9aZDpBcnJheShsKTtjW2hdPW47cT1rO2ZvcihyPTA7cjxsO3IrKylxLT1xYihkKSxuW3JdPWZbcV07ZltrXT09PWJbaF0mJmsrK31mb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKVhlKGEsYltkXSxjW2RdKTthLkk9Yn07VmUucHJvdG90eXBlLmplPWZ1bmN0aW9uKGEsYil7aWYodGhpcy5oIGluc3RhbmNlb2YgTWFwKXt2YXIgYz10aGlzLmguZ2V0KGEpO2MmJihjLmRlbGV0ZShiKSxjLnNpemU9PT0wJiZ0aGlzLmguZGVsZXRlKGEpKX1lbHNlIGlmKHRoaXMuaFthXSl7ZGVsZXRlIHRoaXMuaFthXVtiXTtmb3IoYyBpbiB0aGlzLmhbYV0pcmV0dXJuO2RlbGV0ZSB0aGlzLmhbYV19fTtWZS5wcm90b3R5cGUuc2U9ZnVuY3Rpb24oYSl7VmUuZWEuc2UuY2FsbCh0aGlzLGEpO1plKHRoaXMpfTsKVmUucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuby5zaXplPjB9O1ZlLnByb3RvdHlwZS5EZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkIuc2l6ZT4wfTsKdmFyIGFmPWZ1bmN0aW9uKGEpe3ZhciBiPWEuUCxjPWEuaXNBY3RpdmUoKTtjIT1iJiYoJGUoYSxjP2RlLmxnOmRlLklETEUpLGEuUD1jKTtiPWEuRGYoKTtiIT1hLlQmJigkZShhLGI/ZGUuSGc6ZGUuSWcpLGEuVD1iKX0sWGU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZy5nZXQoYik7ZD9kLmw9YzphLmcuc2V0KGIsbmV3IG5jLkZlKGMsYikpfSxkZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W10sZT17fTtiPV8uQyhuZXcgU2V0KGIpKTtmb3IodmFyIGY9Yi5uZXh0KCk7IWYuZG9uZTtmPWIubmV4dCgpKXtmPWYudmFsdWU7dmFyIGc9YS5nLmdldChmKTtpZighZyl0aHJvdyBFcnJvcigiQ2AiK2YpO3ZhciBoPW5ldyBCYjtlW2ZdPWg7Zy5nP2guZyhhLnFhKTooYmYoYSxmLGcsISFjLGgpLGNmKGEsZil8fGQucHVzaChmKSl9ZC5sZW5ndGg+MCYmKGEuby5zaXplPT09MD9hLkcoZCk6KGEuai5wdXNoKGQpLGFmKGEpKSk7cmV0dXJuIGV9LGJmPWZ1bmN0aW9uKGEsYixjLGQsZSl7YWUoYywKZS5nLGUpO2JlKGMsZnVuY3Rpb24oZil7ZS5GKG5ldyBXZShiLGYpKX0pO2NmKGEsYik/ZCYmKGEuQi5hZGQoYiksYWYoYSkpOmQmJmEuQi5hZGQoYil9OwpWZS5wcm90b3R5cGUuRz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcztiPWI9PT12b2lkIDA/MDpiO3ZhciBlPWVmKHRoaXMsYSk7dGhpcy5vPW5ldyBTZXQoZSk7dGhpcy5BPXRoaXMuVz9hOl8ud2EoZSk7YWYodGhpcyk7aWYoZS5sZW5ndGghPT0wKXthPV8uQyhlKTtmb3IodmFyIGY9YS5uZXh0KCk7IWYuZG9uZTtmPWEubmV4dCgpKXRoaXMuQy5hZGQoZi52YWx1ZSk7YT10aGlzLk87aWYoIWEpdGhyb3cgRXJyb3IoIkQiKTtpZigodGhpcy5oIGluc3RhbmNlb2YgTWFwP3RoaXMuaC5zaXplPjA6T2JqZWN0LmtleXModGhpcy5oKS5sZW5ndGg+MCkmJiFhLkkpdGhyb3cgRXJyb3IoIkUiKTtmZihhLF8ud2EoZSksdGhpcy5nLHtqaDp0aGlzLmgsZmU6ZnVuY3Rpb24oZyxoLGspe3JldHVybiBnZihkLGQuQSxlLGchPW51bGw/Zzp2b2lkIDAsaCxiLCEhayl9LEZpOigwLF8ueSkodGhpcy5sYSx0aGlzKSxtaDohIWN9KX19Owp2YXIgaGY9ZnVuY3Rpb24oYSl7dGhpcy5oPWE7dGhpcy5qPW5ldyBTZXQ7dGhpcy5nPVtdfSxqZj1mdW5jdGlvbihhLGIpe2lmKCFhLmouaGFzKGIpJiYoYS5qLmFkZChiKSwhYS5oLkMuaGFzKGIpKSl7dmFyIGM9YS5oLmcuZ2V0KGIpO2lmKGMmJiFjLmcpe2M9Yy5sO2Zvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKWpmKGEsY1tkXSk7YS5nLnB1c2goYil9fX0sZWY9ZnVuY3Rpb24oYSxiKXtiPWIuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBhLmcuZ2V0KGUpLmc/KF8udi5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIEVycm9yKCJGYCIrZSl9LDApLCExKTohMH0pO2lmKE9jKXt2YXIgYz1uZXcgaGYoYSk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspamYoYyxiW2RdKTtjPWMuZ31lbHNle2M9W107Zm9yKGQ9MDtkPGIubGVuZ3RoO2QrKyljPWMuY29uY2F0KGtmKGEsYltkXSkpO0JhKGMpfXJldHVybiFhLlcmJmMubGVuZ3RoPjE/KGI9Yy5zaGlmdCgpLGEuaj1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZV19KS5jb25jYXQoYS5qKSwKW2JdKTpjfSxrZj1mdW5jdGlvbihhLGIpe2lmKE9jKXJldHVybiBhPW5ldyBoZihhKSxqZihhLGIpLGEuZzt2YXIgYz1bXTthLkMuaGFzKGIpfHxjLnB1c2goYik7Yj1bYl07Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspZm9yKHZhciBlPWEuZy5nZXQoYltkXSkubCxmPWUubGVuZ3RoLTE7Zj49MDtmLS0pe3ZhciBnPWVbZl07YS5nLmdldChnKS5nfHxhLkMuaGFzKGcpfHwoYy5wdXNoKGcpLGIucHVzaChnKSl9Yy5yZXZlcnNlKCk7QmEoYyk7cmV0dXJuIGN9LFplPWZ1bmN0aW9uKGEpe2lmKGEubD09YS5EKXthLmw9bnVsbDt2YXIgYj1hLkQub25Mb2FkKCgwLF8ueSkoYS5rZixhKSk7YiYmYi5sZW5ndGgmJmxmKGEsbmV3IG5jLkZhKG5jLkZhLmcudGQsdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpO2FmKGEpfX07ClZlLnByb3RvdHlwZS5tZD1mdW5jdGlvbigpe2lmKHRoaXMubCl7dmFyIGE9dGhpcy5sLlJhKCksYj1bXTtpZih0aGlzLmggaW5zdGFuY2VvZiBNYXApe3ZhciBjPXRoaXMuaC5nZXQoYSk7aWYoYyl7Yz1fLkMoQXJyYXkuZnJvbShjKSk7Zm9yKHZhciBkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7ZD1kLnZhbHVlO3ZhciBlPXRoaXMuZy5nZXQoZCk7ZSYmIWUuZyYmKHRoaXMuamUoYSxkKSxiLnB1c2goZCkpfWRmKHRoaXMsYil9fWVsc2UgaWYodGhpcy5oW2FdKXtjPV8uQyhPYmplY3Qua2V5cyh0aGlzLmhbYV0pKTtmb3IoZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZD1kLnZhbHVlLChlPXRoaXMuZy5nZXQoZCkpJiYhZS5nJiYodGhpcy5qZShhLGQpLGIucHVzaChkKSk7ZGYodGhpcyxiKX10aGlzLnFiKCl8fCgoYj10aGlzLmcuZ2V0KGEpLm9uTG9hZCgoMCxfLnkpKHRoaXMua2YsdGhpcykpKSYmYi5sZW5ndGgmJmxmKHRoaXMsbmV3IG5jLkZhKG5jLkZhLmcudGQsCnZvaWQgMCx2b2lkIDAsdm9pZCAwLGJbMF0pKSx0aGlzLkIuZGVsZXRlKGEpLHRoaXMuby5kZWxldGUoYSksdGhpcy5vLnNpemUhPT0wfHxtZih0aGlzKSx0aGlzLkwmJmE9PXRoaXMuTCYmKHRoaXMuRi5ofHx0aGlzLkYuZygpKSxhZih0aGlzKSx0aGlzLmw9bnVsbCl9fTt2YXIgY2Y9ZnVuY3Rpb24oYSxiKXtpZihhLm8uaGFzKGIpKXJldHVybiEwO2Zvcih2YXIgYz0wO2M8YS5qLmxlbmd0aDtjKyspaWYoXy50YShhLmpbY10sYikpcmV0dXJuITA7cmV0dXJuITF9O1ZlLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGRmKHRoaXMsW2FdLGIpW2FdfTsKdmFyIGthPWZ1bmN0aW9uKGEpe3ZhciBiPV8uZGE7Yi5sJiZiLmwuUmEoKT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIiYmKGIubWQoKSxiLmcuZGVsZXRlKCJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIikpO3ZhciBjPWIuZy5nZXQoYSk7YyYmbmYoYixjLmx8fFtdLGZ1bmN0aW9uKGQpe2QubWQoKTtiLm8uZGVsZXRlKGQuUmEoKSl9LGZ1bmN0aW9uKGQpe3JldHVybiFkLmd9LG5ldyBTZXQpO2IubD1iLmcuZ2V0KGEpO2IubCYmKGIubC5CPSEwKX0sZ2Y9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9KGc9PT12b2lkIDA/MDpnKT8wOihmPT09dm9pZCAwPzA6ZikrMTtmPV8ud2EoYyk7YS5BPWI7Yz1fLkMoYyk7Zm9yKGc9Yy5uZXh0KCk7IWcuZG9uZTtnPWMubmV4dCgpKWEuQy5kZWxldGUoZy52YWx1ZSk7aWYoZD09NDAxKWxmKGEsbmV3IG5jLkZhKG5jLkZhLmcuSmUsZCkpLGEuai5sZW5ndGg9MDtlbHNlIGlmKGQ9PTQxMClvZihhLG5ldyBuYy5GYShuYy5GYS5nLkhlLApkKSksbWYoYSk7ZWxzZSBpZihoPj0zKW9mKGEsbmV3IG5jLkZhKG5jLkZhLmcuQmUsZCxmLGUpKSxtZihhKTtlbHNle3ZhciBrPWQ9PTgwMDF8fCExOyhkPU1hdGgucG93KGgsMikqNUUzKT9fLnYuc2V0VGltZW91dChmdW5jdGlvbigpe2EuRyhiLGgsayl9LGQpOmEuRyhiLGgsayl9fTtWZS5wcm90b3R5cGUubGE9ZnVuY3Rpb24oKXtvZih0aGlzLG5ldyBuYy5GYShuYy5GYS5nLlRJTUVPVVQpKTttZih0aGlzKX07CnZhciBvZj1mdW5jdGlvbihhLGIpe2EuQS5sZW5ndGg+MT9hLmo9YS5BLm1hcChmdW5jdGlvbihjKXtyZXR1cm5bY119KS5jb25jYXQoYS5qKTpsZihhLGIpfSxsZj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuQTthLm8uY2xlYXIoKTtmb3IodmFyIGQ9W10sZT0wO2U8YS5qLmxlbmd0aDtlKyspe3ZhciBmPWEualtlXS5maWx0ZXIoZnVuY3Rpb24oayl7dmFyIGw9a2YodGhpcyxrKTtyZXR1cm4gXy54YyhjLGZ1bmN0aW9uKG4pe3JldHVybiBfLnRhKGwsbil9KX0sYSk7eGEoZCxmKX1mb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKV8udWEoZCxjW2VdKTtmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKXtmb3IoZj0wO2Y8YS5qLmxlbmd0aDtmKyspXy52YShhLmpbZl0sZFtlXSk7YS5CLmRlbGV0ZShkW2VdKX1pZihlPWEuSy5nZXQoZGUuRVJST1IpKWZvcihmPTA7ZjxlLmxlbmd0aDtmKyspZm9yKHZhciBnPWVbZl0saD0wO2g8ZC5sZW5ndGg7aCsrKWcoZGUuRVJST1IsZFtoXSxiKTtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKShlPQphLmcuZ2V0KGNbZF0pKSYmZS5mZShiKTthLkEubGVuZ3RoPTA7YWYoYSl9LG1mPWZ1bmN0aW9uKGEpe2Zvcig7YS5qLmxlbmd0aDspe3ZhciBiPWEuai5zaGlmdCgpLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4hdGhpcy5nLmdldChjKS5nfSxhKTtpZihiLmxlbmd0aD4wKXthLkcoYik7cmV0dXJufX1hZihhKX0sJGU9ZnVuY3Rpb24oYSxiKXthPWEuSy5nZXQoYik7Zm9yKHZhciBjPTA7YSYmYzxhLmxlbmd0aDtjKyspYVtjXShiKX0sbmY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8uQyhiKTtmb3IodmFyIGY9Yi5uZXh0KCk7IWYuZG9uZTtmPWIubmV4dCgpKXtmPWYudmFsdWU7dmFyIGc9YS5nLmdldChmKTshZS5oYXMoZikmJmQoZykmJihlLmFkZChmKSxuZihhLGcubHx8W10sYyxkLGUpLGMoZykpfX07ClZlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7cmEoQXJyYXkuZnJvbSh0aGlzLmcudmFsdWVzKCkpLHRoaXMuRCk7dGhpcy5nLmNsZWFyKCk7dGhpcy5vLmNsZWFyKCk7dGhpcy5BPVtdO3RoaXMuQi5jbGVhcigpO3RoaXMuaj1bXTt0aGlzLksuY2xlYXIoKTt0aGlzLlI9ITB9O1ZlLnByb3RvdHlwZS5xYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJ9O18uaGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFZlfTt2YXIgcGY9W10scWY9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihkKXtkJiZ3YyhkLGZ1bmN0aW9uKGUsZil7ZVtmLmlkXT0hMDtyZXR1cm4gZX0sYy5KaSl9dmFyIGM9e0ppOnt9LGluZGV4OnBmLmxlbmd0aCxWbDphfTtiKGEubGQpO2IoYS5qbSk7cGYucHVzaChjKTthLmxkJiZfLnZjKGEubGQsZnVuY3Rpb24oZCl7dmFyIGU9ZC5pZDtlIGluc3RhbmNlb2YgdGMmJmQubW9kdWxlJiYoZS5nPWQubW9kdWxlKX0pfTtxZih7bGQ6W3tpZDp1YyxMYjpuYixtdWx0aXBsZTohMH1dfSk7Xy5yZj1SZWdFeHAoIl4oPzooW146Lz8jLl0rKTopPyg/Oi8vKD86KFteXFxcXC8/I10qKUApPyhbXlxcXFwvPyNdKj8pKD86OihbMC05XSspKT8oPz1bXFxcXC8/I118JCkpPyhbXj8jXSspPyg/OlxcPyhbXiNdKikpPyg/OiMoW1xcc1xcU10qKSk/JCIpO3ZhciBzZj17fTt2YXIgdGY9bmV3IHRjKCJNcEp3WmMiLCJNcEp3WmMiKTtfLnVmPW5ldyB0YygiVVVKcVZlIiwiVVVKcVZlIik7dmFyIHZmPW5ldyBiYix3Zj1mdW5jdGlvbihhLGIsYyl7Y2IuY2FsbCh0aGlzLGEsYik7dGhpcy5ub2RlPWI7dGhpcy5raW5kPWN9O18uQih3ZixjYik7Xy54Zj1SZWdFeHAoIl4oYXJ8Y2tifGR2fGhlfGl3fGZhfG5xb3xwc3xzZHx1Z3x1cnx5aXwuKlstX10oQWRsbXxBcmFifEhlYnJ8Tmtvb3xSb2hnfFRoYWEpKSg/IS4qWy1fXShMYXRufEN5cmwpKCR8LXxfKSkoJHwtfF8pIiwiaSIpO18ueWY9ZnVuY3Rpb24oYSxiKXtifHxfLmxiKCk7dGhpcy5oPWF8fG51bGx9O18ueWYucHJvdG90eXBlLmthPWZ1bmN0aW9uKGEsYil7YT1hKGJ8fHt9LHRoaXMuaD90aGlzLmguZ2V0RGF0YSgpOnt9KTt0aGlzLmcobnVsbCwiZnVuY3Rpb24iPT10eXBlb2YgXy56ZiYmYSBpbnN0YW5jZW9mIF8uemY/YS5aYjpudWxsKTtyZXR1cm4gU3RyaW5nKGEpfTtfLnlmLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7fTt2YXIgQWY9ZnVuY3Rpb24oYSl7dGhpcy5nPWE7dGhpcy5oPXRoaXMuZy5nKF8udWYpfTtBZi5wcm90b3R5cGUuZ2V0RGF0YT1mdW5jdGlvbigpe3RoaXMuZy5xYigpfHwodGhpcy5oPXRoaXMuZy5nKF8udWYpKTtyZXR1cm4gdGhpcy5oP3RoaXMuaC5qKCk6e319O3ZhciBCZj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgQWYoYSk7Xy55Zi5jYWxsKHRoaXMsYixhLmdldCh1YykuaCk7dGhpcy5qPW5ldyBfLmhiO3RoaXMubD1ifTtfLkIoQmYsXy55Zik7QmYucHJvdG90eXBlLmdldERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sLmdldERhdGEoKX07QmYucHJvdG90eXBlLmc9ZnVuY3Rpb24oYSxiKXtfLnlmLnByb3RvdHlwZS5nLmNhbGwodGhpcyxhLGIpO3RoaXMuai5kaXNwYXRjaEV2ZW50KG5ldyB3Zih2ZixhLGIpKX07Xy5vYSh0ZixCZik7cWYoe2xkOlt7aWQ6dGYsTGI6QmYsbXVsdGlwbGU6ITB9XX0pO3ZhciBDZj1mdW5jdGlvbihhLGIpe3RoaXMuZGVmYXVsdFZhbHVlPWE7dGhpcy50eXBlPWI7dGhpcy52YWx1ZT1hfTtDZi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O0NmLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSl7dGhpcy52YWx1ZT1hfTt2YXIgRGY9ZnVuY3Rpb24oYSl7Q2YuY2FsbCh0aGlzLGEsImIiKX07Xy5CKERmLENmKTtEZi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O3ZhciBFZj1mdW5jdGlvbigpe3RoaXMuZz17fTt0aGlzLmo9IiI7dGhpcy5oPXt9fTtFZi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmorRmYodGhpcyk7dmFyIGI9dGhpcy5oO3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYilGYihkLGJbZF0sYyk7Yj1jLmpvaW4oIiYiKTtjPSIiO2IhPSIiJiYoYz0iPyIrYik7cmV0dXJuIGErY307CnZhciBIZj1mdW5jdGlvbihhKXthPUdmKGEsIm1kIik7cmV0dXJuISFhJiZhIT09IjAifSxGZj1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPWZ1bmN0aW9uKGQpe2EuZ1tkXSE9PXZvaWQgMCYmYi5wdXNoKGQrIj0iK2EuZ1tkXSl9O0hmKGEpPyhjKCJtZCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnMiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInNsayIpLGMoImR0aSIpLGMoImRid2giKSk6KGMoInNkY2giKSxjKCJrIiksYygiY2siKSxjKCJhbSIpLGMoImFtYyIpLGMoInJ0IiksImQiaW4gYS5nfHxJZihhLCJkIiwiMCIpLGMoImQiKSxjKCJleG0iKSxjKCJleGNtIiksKGEuZy5leGNtfHxhLmcuZXhtKSYmYi5wdXNoKCJlZD0xIiksYygiaW0iKSxjKCJkZyIpLGMoInNtIiksR2YoYSwiYnIiKSE9IjEiJiZHZihhLCJiciIpIT0iMCJ8fGMoImJyIiksYygiYnItZCIpLEdmKGEsInJiIik9PSIxIiYmYygicmIiKSxHZihhLCJ6cyIpIT09IjAiJiZjKCJ6cyIpLEpmKGEpIT09IiImJgpjKCJ3dCIpLGMoImdzc21vZHVsZXNldHByb3RvIiksYygidWpnIiksYygic3AiKSxjKCJpY2hjIiksYygicnMiKSxjKCJjYiIpLGMoImNjYiIpLGMoImVlIiksYygic2xrIiksYygiZHRpIiksYygiZGJ3aCIpLGMoImljIiksYygibSIpKTtyZXR1cm4gYi5qb2luKCIvIil9LEdmPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuZ1tiXT9hLmdbYl06bnVsbH0sSWY9ZnVuY3Rpb24oYSxiLGMpe2M/YS5nW2JdPWM6ZGVsZXRlIGEuZ1tiXX0sSmY9ZnVuY3Rpb24oYSl7c3dpdGNoKEdmKGEsInd0Iikpe2Nhc2UgIjAiOnJldHVybiIwIjtjYXNlICIxIjpyZXR1cm4iMSI7Y2FzZSAiMiI6cmV0dXJuIjIiO2RlZmF1bHQ6cmV0dXJuIiJ9fSxNZj1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwPyEwOmI7dmFyIGM9S2YoYSksZD1uZXcgRWYsZT1jLm1hdGNoKF8ucmYpWzVdO18uemMoTGYsZnVuY3Rpb24oZyl7dmFyIGg9ZS5tYXRjaCgiLyIrZysiPShbXi9dKykiKTtoJiZJZihkLGcsaFsxXSl9KTsKdmFyIGY9IiI7Zj1hLmluZGV4T2YoIl8vc3MvIikhPS0xPyJfL3NzLyI6Il8vanMvIjtkLmo9YS5zdWJzdHIoMCxhLmluZGV4T2YoZikrZi5sZW5ndGgpO2lmKCFiKXJldHVybiBkOyhhPWMubWF0Y2goXy5yZilbNl18fG51bGwpJiZfLkViKGEsZnVuY3Rpb24oZyxoKXtkLmhbZ109aH0pO3JldHVybiBkfSxLZj1mdW5jdGlvbihhKXtyZXR1cm4gYS5zdGFydHNXaXRoKCJodHRwczovL3ViZXJwcm94eS1wZW4tcmVkaXJlY3QuY29ycC5nb29nbGUuY29tL3ViZXJwcm94eS9wZW4/dXJsPSIpP2Euc3Vic3RyKDY1KTphfSxMZj17Wmo6ImsiLHFqOiJjayIsVGo6Im0iLERqOiJleG0iLEJqOiJleGNtIixlajoiYW0iLGZqOiJhbWMiLFJqOiJtbSIsWWo6InJ0IixNajoiZCIsQ2o6ImVkIixqazoic3YiLHNqOiJkZW9iIixtajoiY2IiLG9qOiJjY2IiLG5qOiJjYmkiLGdrOiJycyIsYWs6InNkY2giLE5qOiJpbSIsdGo6ImRnIix6ajoiYnIiLHlqOiJici1kIixBajoicmIiLEJrOiJ6cyIsQWs6Ind0IiwKRWo6ImVlIixpazoic20iLFNqOiJtZCIsSmo6Imdzc21vZHVsZXNldHByb3RvIix5azoidWpnIix4azoic3AiLExqOiJpY2hjIixmazoic2xrIix2ajoiZHRpIix1ajoiZGJ3aCIsT2o6ImljIn0sTmY9UmVnRXhwKCJeW2EtekEtWjAtOS1fKl0rJCIpO18uRyhfLkhiLF8udSk7dmFyIE9mPVtdO18uSGIucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIFBmKHRoaXMsYSxiLGMsZCl9O3ZhciBQZj1mdW5jdGlvbihhLGIsYyxkLGUsZil7QXJyYXkuaXNBcnJheShjKXx8KGMmJihPZlswXT1jLnRvU3RyaW5nKCkpLGM9T2YpO2Zvcih2YXIgZz0wO2c8Yy5sZW5ndGg7ZysrKXt2YXIgaD1fLngoYixjW2ddLGR8fGEuaGFuZGxlRXZlbnQsZXx8ITEsZnx8YS5ofHxhKTtpZighaClicmVhazthLmdbaC5rZXldPWh9cmV0dXJuIGF9O18uSGIucHJvdG90eXBlLmFlPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBRZih0aGlzLGEsYixjLGQpfTsKdmFyIFFmPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihBcnJheS5pc0FycmF5KGMpKWZvcih2YXIgZz0wO2c8Yy5sZW5ndGg7ZysrKVFmKGEsYixjW2ddLGQsZSxmKTtlbHNle2I9Xy5OZChiLGMsZHx8YS5oYW5kbGVFdmVudCxlLGZ8fGEuaHx8YSk7aWYoIWIpcmV0dXJuIGE7YS5nW2Iua2V5XT1ifXJldHVybiBhfTtfLkhiLnByb3RvdHlwZS55Yz1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspdGhpcy55YyhhLGJbZl0sYyxkLGUpO2Vsc2UgYz1jfHx0aGlzLmhhbmRsZUV2ZW50LGQ9Xy55YShkKT8hIWQuY2FwdHVyZTohIWQsZT1lfHx0aGlzLmh8fHRoaXMsYz1PZChjKSxkPSEhZCxiPUZkKGEpP2EuamMoYixjLGQsZSk6YT8oYT1RZChhKSk/YS5qYyhiLGMsZCxlKTpudWxsOm51bGwsYiYmKF8uVmQoYiksZGVsZXRlIHRoaXMuZ1tiLmtleV0pO3JldHVybiB0aGlzfTsKXy5SZj1mdW5jdGlvbihhKXtfLnpjKGEuZyxmdW5jdGlvbihiLGMpe3RoaXMuZy5oYXNPd25Qcm9wZXJ0eShjKSYmXy5WZChiKX0sYSk7YS5nPXt9fTtfLkhiLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy5IYi5lYS5NLmNhbGwodGhpcyk7Xy5SZih0aGlzKX07Xy5IYi5wcm90b3R5cGUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiTiIpO307dmFyIFNmLFRmPWZ1bmN0aW9uKCl7fTtfLkcoVGYsSWIpO1RmLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH07U2Y9bmV3IFRmO18uRyhKYixJYik7SmIucHJvdG90eXBlLmc9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoIndpdGhDcmVkZW50aWFscyJpbiBhKXJldHVybiBhO2lmKHR5cGVvZiBYRG9tYWluUmVxdWVzdCE9InVuZGVmaW5lZCIpcmV0dXJuIG5ldyBVZjt0aHJvdyBFcnJvcigiTyIpO307dmFyIFVmPWZ1bmN0aW9uKCl7dGhpcy5nPW5ldyBYRG9tYWluUmVxdWVzdDt0aGlzLnJlYWR5U3RhdGU9MDt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMucmVzcG9uc2VUeXBlPXRoaXMucmVzcG9uc2VUZXh0PSIiO3RoaXMuc3RhdHVzPS0xO3RoaXMuc3RhdHVzVGV4dD0iIjt0aGlzLmcub25sb2FkPSgwLF8ueSkodGhpcy5QaCx0aGlzKTt0aGlzLmcub25lcnJvcj0oMCxfLnkpKHRoaXMuRGUsdGhpcyk7dGhpcy5nLm9ucHJvZ3Jlc3M9KDAsXy55KSh0aGlzLlNoLHRoaXMpO3RoaXMuZy5vbnRpbWVvdXQ9KDAsXy55KSh0aGlzLldoLHRoaXMpfTtfLm09VWYucHJvdG90eXBlOwpfLm0ub3Blbj1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbCYmIWMpdGhyb3cgRXJyb3IoIlAiKTt0aGlzLmcub3BlbihhLGIpfTtfLm0uc2VuZD1mdW5jdGlvbihhKXtpZihhKWlmKHR5cGVvZiBhPT0ic3RyaW5nIil0aGlzLmcuc2VuZChhKTtlbHNlIHRocm93IEVycm9yKCJRIik7ZWxzZSB0aGlzLmcuc2VuZCgpfTtfLm0uYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLmcuYWJvcnQoKX07Xy5tLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24oKXt9O18ubS5nZXRSZXNwb25zZUhlYWRlcj1mdW5jdGlvbihhKXtyZXR1cm4gYS50b0xvd2VyQ2FzZSgpPT0iY29udGVudC10eXBlIj90aGlzLmcuY29udGVudFR5cGU6IiJ9O18ubS5QaD1mdW5jdGlvbigpe3RoaXMuc3RhdHVzPTIwMDt0aGlzLnJlc3BvbnNlVGV4dD10aGlzLmcucmVzcG9uc2VUZXh0O1ZmKHRoaXMsNCl9O18ubS5EZT1mdW5jdGlvbigpe3RoaXMuc3RhdHVzPTUwMDt0aGlzLnJlc3BvbnNlVGV4dD0iIjtWZih0aGlzLDQpfTsKXy5tLldoPWZ1bmN0aW9uKCl7dGhpcy5EZSgpfTtfLm0uU2g9ZnVuY3Rpb24oKXt0aGlzLnN0YXR1cz0yMDA7VmYodGhpcywxKX07dmFyIFZmPWZ1bmN0aW9uKGEsYil7YS5yZWFkeVN0YXRlPWI7aWYoYS5vbnJlYWR5c3RhdGVjaGFuZ2UpYS5vbnJlYWR5c3RhdGVjaGFuZ2UoKX07VWYucHJvdG90eXBlLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe3JldHVybiJjb250ZW50LXR5cGU6ICIrdGhpcy5nLmNvbnRlbnRUeXBlfTt2YXIgWGYsWWY7Xy5XZj1mdW5jdGlvbihhKXtfLmhiLmNhbGwodGhpcyk7dGhpcy5oZWFkZXJzPW5ldyBNYXA7dGhpcy5LPWF8fG51bGw7dGhpcy5oPSExO3RoaXMuZz1udWxsO3RoaXMuQT0iIjt0aGlzLmo9dGhpcy5GPXRoaXMubz10aGlzLkQ9ITE7dGhpcy5CPTA7dGhpcy5sPW51bGw7dGhpcy5JPSIiO3RoaXMuQz0hMX07Xy5HKF8uV2YsXy5oYik7WGY9L15odHRwcz8kL2k7WWY9WyJQT1NUIiwiUFVUIl07Xy5aZj1bXTtfLldmLnByb3RvdHlwZS5MPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCk7Xy52YShfLlpmLHRoaXMpfTsKXy5XZi5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihhLGIsYyxkKXtpZih0aGlzLmcpdGhyb3cgRXJyb3IoIlNgIit0aGlzLkErImAiK2EpO2I9Yj9iLnRvVXBwZXJDYXNlKCk6IkdFVCI7dGhpcy5BPWE7dGhpcy5EPSExO3RoaXMuaD0hMDt0aGlzLmc9dGhpcy5LP3RoaXMuSy5nKCk6U2YuZygpO3RoaXMuZy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZWUoKDAsXy55KSh0aGlzLkcsdGhpcykpO3RyeXt0aGlzLkY9ITAsdGhpcy5nLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuRj0hMX1jYXRjaChnKXskZih0aGlzKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSxkW2VdKTtlbHNlIGlmKHR5cGVvZiBkLmtleXM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5nZXQ9PT0iZnVuY3Rpb24iKXtlPV8uQyhkLmtleXMoKSk7Zm9yKHZhciBmPWUubmV4dCgpOyFmLmRvbmU7Zj0KZS5uZXh0KCkpZj1mLnZhbHVlLGMuc2V0KGYsZC5nZXQoZikpfWVsc2UgdGhyb3cgRXJyb3IoIlRgIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmdW5jdGlvbihnKXtyZXR1cm4iY29udGVudC10eXBlIj09Zy50b0xvd2VyQ2FzZSgpfSk7ZT1fLnYuRm9ybURhdGEmJmEgaW5zdGFuY2VvZiBfLnYuRm9ybURhdGE7IV8udGEoWWYsYil8fGR8fGV8fGMuc2V0KCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOCIpO2I9Xy5DKGMpO2ZvcihkPWIubmV4dCgpOyFkLmRvbmU7ZD1iLm5leHQoKSljPV8uQyhkLnZhbHVlKSxkPWMubmV4dCgpLnZhbHVlLGM9Yy5uZXh0KCkudmFsdWUsdGhpcy5nLnNldFJlcXVlc3RIZWFkZXIoZCxjKTt0aGlzLkkmJih0aGlzLmcucmVzcG9uc2VUeXBlPXRoaXMuSSk7IndpdGhDcmVkZW50aWFscyJpbiB0aGlzLmcmJnRoaXMuZy53aXRoQ3JlZGVudGlhbHMhPT10aGlzLkMmJgoodGhpcy5nLndpdGhDcmVkZW50aWFscz10aGlzLkMpO3RyeXt0aGlzLmwmJihjbGVhclRpbWVvdXQodGhpcy5sKSx0aGlzLmw9bnVsbCksdGhpcy5CPjAmJih0aGlzLmw9c2V0VGltZW91dCh0aGlzLlIuYmluZCh0aGlzKSx0aGlzLkIpKSx0aGlzLm89ITAsdGhpcy5nLnNlbmQoYSksdGhpcy5vPSExfWNhdGNoKGcpeyRmKHRoaXMpfX07Xy5XZi5wcm90b3R5cGUuUj1mdW5jdGlvbigpe3R5cGVvZiBqYyE9InVuZGVmaW5lZCImJnRoaXMuZyYmKHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTt2YXIgJGY9ZnVuY3Rpb24oYSl7YS5oPSExO2EuZyYmKGEuaj0hMCxhLmcuYWJvcnQoKSxhLmo9ITEpO2RnKGEpO2VnKGEpfSxkZz1mdW5jdGlvbihhKXthLkR8fChhLkQ9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9OwpfLldmLnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuZyYmdGhpcy5oJiYodGhpcy5oPSExLHRoaXMuaj0hMCx0aGlzLmcuYWJvcnQoKSx0aGlzLmo9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLHRoaXMuZGlzcGF0Y2hFdmVudCgiYWJvcnQiKSxlZyh0aGlzKSl9O18uV2YucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmcmJih0aGlzLmgmJih0aGlzLmg9ITEsdGhpcy5qPSEwLHRoaXMuZy5hYm9ydCgpLHRoaXMuaj0hMSksZWcodGhpcywhMCkpO18uV2YuZWEuTS5jYWxsKHRoaXMpfTtfLldmLnByb3RvdHlwZS5HPWZ1bmN0aW9uKCl7dGhpcy5xYigpfHwodGhpcy5GfHx0aGlzLm98fHRoaXMuaj9mZyh0aGlzKTp0aGlzLk8oKSl9O18uV2YucHJvdG90eXBlLk89ZnVuY3Rpb24oKXtmZyh0aGlzKX07CnZhciBmZz1mdW5jdGlvbihhKXtpZihhLmgmJnR5cGVvZiBqYyE9InVuZGVmaW5lZCIpaWYoYS5vJiYoYS5nP2EuZy5yZWFkeVN0YXRlOjApPT00KXNldFRpbWVvdXQoYS5HLmJpbmQoYSksMCk7ZWxzZSBpZihhLmRpc3BhdGNoRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSwoYS5nP2EuZy5yZWFkeVN0YXRlOjApPT00KXthLmg9ITE7dHJ5e18uZ2coYSk/KGEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKSk6ZGcoYSl9ZmluYWxseXtlZyhhKX19fSxlZz1mdW5jdGlvbihhLGIpe2lmKGEuZyl7YS5sJiYoY2xlYXJUaW1lb3V0KGEubCksYS5sPW51bGwpO3ZhciBjPWEuZzthLmc9bnVsbDtifHxhLmRpc3BhdGNoRXZlbnQoInJlYWR5Iik7dHJ5e2Mub25yZWFkeXN0YXRlY2hhbmdlPW51bGx9Y2F0Y2goZCl7fX19O18uV2YucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLmd9OwpfLmdnPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaGcoYSk7YTpzd2l0Y2goYil7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDQ6Y2FzZSAyMDY6Y2FzZSAzMDQ6Y2FzZSAxMjIzOnZhciBjPSEwO2JyZWFrIGE7ZGVmYXVsdDpjPSExfWlmKCFjKXtpZihiPWI9PT0wKWE9U3RyaW5nKGEuQSkubWF0Y2goXy5yZilbMV18fG51bGwsIWEmJl8udi5zZWxmJiZfLnYuc2VsZi5sb2NhdGlvbiYmKGE9Xy52LnNlbGYubG9jYXRpb24ucHJvdG9jb2wuc2xpY2UoMCwtMSkpLGI9IVhmLnRlc3QoYT9hLnRvTG93ZXJDYXNlKCk6IiIpO2M9Yn1yZXR1cm4gY307Xy5oZz1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKGEuZz9hLmcucmVhZHlTdGF0ZTowKT4yP2EuZy5zdGF0dXM6LTF9Y2F0Y2goYil7cmV0dXJuLTF9fTtfLmlnPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nP2EuZy5yZXNwb25zZVRleHQ6IiJ9Y2F0Y2goYil7cmV0dXJuIiJ9fTt2YXIga2c9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dGhpcy5GPWE7dGhpcy5CPU1mKGEpO3RoaXMubD10aGlzLm89bnVsbDt0aGlzLkk9ITA7dGhpcy5oPW5ldyBfLkhiKHRoaXMpO3RoaXMuRz1bXTt0aGlzLkE9bmV3IFNldDt0aGlzLmc9W107dGhpcy5LPW5ldyBqZzt0aGlzLmo9W107dGhpcy5DPSExO2E9KDAsXy55KSh0aGlzLkQsdGhpcyk7c2YudmVyc2lvbj1hfTtfLkIoa2csXy51KTsKdmFyIGxnPWZ1bmN0aW9uKGEsYil7YS5nLmxlbmd0aCYmUGUoYixhLmdbYS5nLmxlbmd0aC0xXSk7YS5nLnB1c2goYik7TWUoYixmdW5jdGlvbigpe18udmEodGhpcy5nLGIpfSxhKX0sZmY9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZD09PXZvaWQgMD97fTpkO3ZhciBmPWUuamg7ZD1lLm1oO3ZhciBnPWUuZmU7ZT1lLkZpO2I9bWcoYSxiLGMsZixkKTtuZyhhLGIsZyxlLGQpfSxtZz1mdW5jdGlvbihhLGIsYyxkLGUpe2Q9ZD09PXZvaWQgMD9OYz9uZXcgTWFwOnt9OmQ7dmFyIGY9W107b2coYSxiLGMsZCxlPT09dm9pZCAwPyExOmUsZnVuY3Rpb24oZyl7Zi5wdXNoKGcuUmEoKSl9KTtyZXR1cm4gZn0sb2c9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7Zz1nPT09dm9pZCAwP3t9Omc7Yj1fLkMoYik7Zm9yKHZhciBoPWIubmV4dCgpOyFoLmRvbmU7aD1iLm5leHQoKSl7dmFyIGs9aC52YWx1ZTtoPWMuZ2V0KGspOyFlJiYoYS5BLmhhcyhrKXx8aC5nKXx8Z1trXXx8KGdba109ITAsaz1kIGluc3RhbmNlb2YKTWFwPyhrPWQuZ2V0KGspKT9BcnJheS5mcm9tKGspOltdOmRba10/T2JqZWN0LmtleXMoZFtrXSk6W10sb2coYSxoLmwuY29uY2F0KGspLGMsZCxlLGYsZyksZihoKSl9fSxuZz1mdW5jdGlvbihhLGIsYyxkLGUpe2U9ZT09PXZvaWQgMD8hMTplO3ZhciBmPVtdLGc9bmV3IEJiO2I9W2JdO2Zvcih2YXIgaD1mdW5jdGlvbihxLHApe2Zvcih2YXIgcj1bXSx0PTAsQT1NYXRoLmZsb29yKHEubGVuZ3RoL3ApKzEsRD0wO0Q8cDtEKyspe3ZhciBFPShEKzEpKkE7ci5wdXNoKHEuc2xpY2UodCxFKSk7dD1FfXJldHVybiByfSxrPWIuc2hpZnQoKTtrOyl7dmFyIGw9cGcoYSxrLCEhZSwhMCk7aWYobC5sZW5ndGg8PTJFMyl7aWYoaz1yZyhhLGssZSkpZi5wdXNoKGspLFBlKGcsay5nKX1lbHNlIGI9aChrLE1hdGguY2VpbChsLmxlbmd0aC8yRTMpKS5jb25jYXQoYik7az1iLnNoaWZ0KCl9dmFyIG49bmV3IEJiO2xnKGEsbik7TWUobixmdW5jdGlvbigpe3JldHVybiBzZyhhLGYsYyxkKX0pO05lKG4sCmZ1bmN0aW9uKCl7dmFyIHE9bmV3IHRnO3Euaj0hMDtxLmg9LTE7c2codGhpcyxbcV0sYyxkKX0sYSk7TWUoZyxmdW5jdGlvbigpe3JldHVybiBuLmcoKX0pO2cuZygpfSxyZz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cGcoYSxiLCEoYz09PXZvaWQgMHx8IWMpKTthLkcucHVzaChkKTtiPV8uQyhiKTtmb3IoYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYS5BLmFkZChjLnZhbHVlKTtpZihhLkMpYT1fLndkKGRvY3VtZW50LCJTQ1JJUFQiKSxfLlNhKGEsXy5MYihkKSksYS50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiLGEuYXN5bmM9ITEsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtlbHNle3ZhciBlPW5ldyB0ZyxmPW5ldyBfLldmKGEuai5sZW5ndGg+MD9uZXcgSmI6dm9pZCAwKTthLmguTihmLCJzdWNjZXNzIiwoMCxfLnkpKGUuQixlLGYpKTthLmguTihmLCJlcnJvciIsKDAsXy55KShlLkEsZSxmKSk7YS5oLk4oZiwidGltZW91dCIsKDAsXy55KShlLkMsZSkpO1BmKGEuaCwKZiwicmVhZHkiLGYuZGlzcG9zZSwhMSxmKTtmLkI9M0U0O3VnKGEuSyxmdW5jdGlvbigpe2Yuc2VuZChkKTtyZXR1cm4gZS5nfSk7cmV0dXJuIGV9cmV0dXJuIG51bGx9LHNnPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT0hMSxmLGc9ITEsaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgaz1iW2hdO2lmKCFmJiZrLmope2U9ITA7Zj1rLmg7YnJlYWt9ZWxzZSBrLmwmJihnPSEwKX1oPV8ud2EoYS5nKTsoZXx8ZykmJmYhPS0xJiYoYS5nLmxlbmd0aD0wKTtpZihlKWMmJmMoZik7ZWxzZSBpZihnKWQmJmQoKTtlbHNlIGZvcihhPTA7YTxiLmxlbmd0aDthKyspZD1iW2FdLHZnKGQubyxkLkNhKXx8YyYmYyg4MDAxKTsoZXx8ZykmJmYhPS0xJiZfLnZjKGgsZnVuY3Rpb24obCl7bC5jYW5jZWwoKX0pfTtrZy5wcm90b3R5cGUuTT1mdW5jdGlvbigpe3RoaXMuaC5kaXNwb3NlKCk7ZGVsZXRlIHNmLnZlcnNpb247Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyl9OwprZy5wcm90b3R5cGUuRD1mdW5jdGlvbigpe3JldHVybiBHZih0aGlzLkIsImsiKX07CnZhciBwZz1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/ITE6ZDt2YXIgZT1fLkNiKGEuRi5tYXRjaChfLnJmKVszXXx8bnVsbCk7aWYoYS5qLmxlbmd0aD4wJiYhXy50YShhLmosZSkmJmUhPW51bGwmJndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSE9ZSl0aHJvdyBFcnJvcigiV2AiK2UpO3ZhciBmPWEuQjtlPW5ldyBFZjtlLmc9T2JqZWN0LmFzc2lnbih7fSxmLmcpO2Uuaj1mLmo7ZS5oPU9iamVjdC5hc3NpZ24oe30sZi5oKTtkZWxldGUgZS5nLm07ZGVsZXRlIGUuZy5leG07ZGVsZXRlIGUuZy5lZDtpZihiKXtmPV8uQyhiKTtmb3IodmFyIGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWlmKGc9Zy52YWx1ZSwhTmYudGVzdChnKSl0aHJvdyBFcnJvcigiTWAiK2cpO31JZihlLCJtIixiLmpvaW4oIiwiKSk7YS5vJiYoSWYoZSwiY2siLGEubyksYS5sJiZJZihlLCJycyIsYS5sKSk7SWYoZSwiZCIsIjAiKTtjJiYoZS5oLnp4PU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoKMjE0NzQ4MzY0OCkudG9TdHJpbmcoMzYpK01hdGguYWJzKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMTQ3NDgzNjQ4KV5EYXRlLm5vdygpKS50b1N0cmluZygzNikpO2E9ZS50b1N0cmluZygpO2QmJmEubGFzdEluZGV4T2YoIi8iLDApPT0wJiYoZT1kb2N1bWVudC5sb2NhdGlvbi5ocmVmLm1hdGNoKF8ucmYpLGQ9ZVsxXSxiPWVbMl0sYz1lWzNdLGU9ZVs0XSxmPSIiLGQmJihmKz1kKyI6IiksYyYmKGYrPSIvLyIsYiYmKGYrPWIrIkAiKSxmKz1jLGUmJihmKz0iOiIrZSkpLGE9ZithKTtyZXR1cm4gYX0sdmc9ZnVuY3Rpb24oYSxiKXt2YXIgYz0iIjtpZihhLmxlbmd0aD4xJiZhLmNoYXJBdChhLmxlbmd0aC0xKT09PSJcbiIpe3ZhciBkPWEubGFzdEluZGV4T2YoIlxuIixhLmxlbmd0aC0yKTtkPj0wJiYoYz1hLnN1YnN0cmluZyhkKzEsYS5sZW5ndGgtMSkpfWQ9Yy5sZW5ndGgtMTE7aWYoZD49MCYmYy5pbmRleE9mKCJHb29nbGUgSW5jLiIsZCk9PWR8fGMubGFzdEluZGV4T2YoIi8vIyBzb3VyY2VNYXBwaW5nVVJMPSIsCjApPT0wKXRyeXtjPXdpbmRvdzthPWErIlxyXG4vLyMgc291cmNlVVJMPSIrYjthPV8uS2IoYSk7dmFyIGU9Xy5RYShhKTt2YXIgZj1fLlJhKGUpO2MuZXZhbChmKT09PWYmJmMuZXZhbChmLnRvU3RyaW5nKCkpfWNhdGNoKGcpe3JldHVybiExfWVsc2UgcmV0dXJuITE7cmV0dXJuITB9LHdnPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQ2IoYS5tYXRjaChfLnJmKVs1XXx8bnVsbCl8fCIiO2I9Xy5DYihLZihiKS5tYXRjaChfLnJmKVs1XXx8bnVsbCk7cmV0dXJuKGI9PT1udWxsPzA6UmVnRXhwKCIoL18vanMvKXwoL18vc3MvKSIsImciKS50ZXN0KGIpJiYvXC9rPS8udGVzdChiKSk/YTpudWxsfSx0Zz1mdW5jdGlvbigpe3RoaXMuZz1uZXcgQmI7dGhpcy5DYT10aGlzLm89IiI7dGhpcy5qPSExO3RoaXMuaD0wO3RoaXMubD0hMX07dGcucHJvdG90eXBlLkI9ZnVuY3Rpb24oYSl7dGhpcy5vPV8uaWcoYSk7dGhpcy5DYT1TdHJpbmcoYS5BKTt0aGlzLmcuZygpfTsKdGcucHJvdG90eXBlLkE9ZnVuY3Rpb24oYSl7dGhpcy5qPSEwO3RoaXMuaD1fLmhnKGEpO3RoaXMuZy5nKCl9O3RnLnByb3RvdHlwZS5DPWZ1bmN0aW9uKCl7dGhpcy5sPSEwO3RoaXMuZy5nKCl9O3ZhciBqZz1mdW5jdGlvbigpe3RoaXMuZz0wO3RoaXMuaD1bXX0sdWc9ZnVuY3Rpb24oYSxiKXthLmgucHVzaChiKTt4ZyhhKX0seGc9ZnVuY3Rpb24oYSl7Zm9yKDthLmc8NSYmYS5oLmxlbmd0aDspeWcoYSxhLmguc2hpZnQoKSl9LHlnPWZ1bmN0aW9uKGEsYil7YS5nKys7TWUoYigpLGZ1bmN0aW9uKCl7dGhpcy5nLS07eGcodGhpcyl9LGEpfTt2YXIgemc9bmV3IERmKCExKSxBZz1kb2N1bWVudC5sb2NhdGlvbi5ocmVmOwpxZih7ZmxhZ3M6e2RtbDp6Z30saW5pdGlhbGl6ZTpmdW5jdGlvbihhKXt2YXIgYj16Zy5nZXQoKSxjPSIiLGQ9IiI7d2luZG93JiZ3aW5kb3cuX0ZfY3NzUm93S2V5JiYoYz13aW5kb3cuX0ZfY3NzUm93S2V5LHdpbmRvdy5fRl9jb21iaW5lZFNpZ25hdHVyZSYmKGQ9d2luZG93Ll9GX2NvbWJpbmVkU2lnbmF0dXJlKSk7aWYoYyYmdHlwZW9mIHdpbmRvdy5fRl9pbnN0YWxsQ3NzIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiVSIpO3ZhciBlLGY9Xy52Ll9GX2pzVXJsO2YmJihlPXdnKGYpKTshZSYmKGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhc2UtanMiKSkmJihlPWYuc3JjP2Yuc3JjOmYuZ2V0QXR0cmlidXRlKCJocmVmIiksZT13ZyhlKSk7ZXx8KGU9d2coQWcpKTtlfHwoZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IiksZT13ZyhlW2UubGVuZ3RoLTFdLnNyYykpO2lmKCFlKXRocm93IEVycm9yKCJWIik7ZT1uZXcga2coZSk7YyYmKGUubz1jKTsKZCYmKGUubD1kKTtlLkM9YjtiPWphKCk7Yi5PPWU7Yi5YZighMCk7Yj1qYSgpO2Iuc2UoYSk7YS5qKGIpfX0pOwpfLl9Nb2R1bGVNYW5hZ2VyX2luaXRpYWxpemU9ZnVuY3Rpb24oYSxiKXtpZighXy5kYSl7aWYoIV8uaGEpcmV0dXJuO18uaWEoKX1fLmRhLnFlKGEsYil9OwpfLl9Nb2R1bGVNYW5hZ2VyX2luaXRpYWxpemUoJ2IvbjczcXdmL1VVSnFWZS9NcEp3WmMvZWxfY29uZi9lbF9tYWluX2Nzcy9zeTEvc3kyOjYvc3kzOjcvc3k0OjYvZWxfbWFpbjo1LDgsOS9jb3JzcHJveHkvd2Vic2l0ZV9lcnJvci9uYXZpZ2F0aW9udWk6Ny9waGlzaGluZ19wcm90ZWN0aW9uOjgvX3N0YW06OScsWydlbF9jb25mJ10pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmxhKCJlbF9jb25mIik7CnZhciBDZztfLl9leHBvcnRWZXJzaW9uPWZ1bmN0aW9uKGEpe18ucmMoImdvb2dsZS50cmFuc2xhdGUudiIsYSl9O18uX2dldENhbGxiYWNrRnVuY3Rpb249ZnVuY3Rpb24oYSl7cmV0dXJuIF8ua2MoYSl9O0NnPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07Ynx8KGI9ZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImhlYWQiKSkpO2IuYXBwZW5kQ2hpbGQoYSl9O18uX2xvYWRKcz1mdW5jdGlvbihhKXt2YXIgYj1fLndkKGRvY3VtZW50LCJTQ1JJUFQiKTtiLnR5cGU9InRleHQvamF2YXNjcmlwdCI7Yi5jaGFyc2V0PSJVVEYtOCI7Xy5TYShiLF8uTGIoYSkpO0NnKGIpfTsKXy5fbG9hZENzcz1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7Yi50eXBlPSJ0ZXh0L2NzcyI7Yi5yZWw9InN0eWxlc2hlZXQiO2IuY2hhcnNldD0iVVRGLTgiO2IuaHJlZj1hO0NnKGIpfTtfLl9pc05TPWZ1bmN0aW9uKGEpe2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgYj13aW5kb3csYz0wO2M8YS5sZW5ndGg7KytjKWlmKCEoYj1iW2FbY11dKSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5fc2V0dXBOUz1mdW5jdGlvbihhKXthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGI9d2luZG93LGM9MDtjPGEubGVuZ3RoOysrYyliLmhhc093blByb3BlcnR5P2IuaGFzT3duUHJvcGVydHkoYVtjXSk/Yj1iW2FbY11dOmI9YlthW2NdXT17fTpiPWJbYVtjXV18fChiW2FbY11dPXt9KTtyZXR1cm4gYn07Xy5yYygiX2V4cG9ydFZlcnNpb24iLF8uX2V4cG9ydFZlcnNpb24pO18ucmMoIl9nZXRDYWxsYmFja0Z1bmN0aW9uIixfLl9nZXRDYWxsYmFja0Z1bmN0aW9uKTsKXy5yYygiX2xvYWRKcyIsXy5fbG9hZEpzKTtfLnJjKCJfbG9hZENzcyIsXy5fbG9hZENzcyk7Xy5yYygiX2lzTlMiLF8uX2lzTlMpO18ucmMoIl9zZXR1cE5TIixfLl9zZXR1cE5TKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciYmdHlwZW9mIGRvY3VtZW50LnJlYWR5U3RhdGU9PSJ1bmRlZmluZWQiJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXtkb2N1bWVudC5yZWFkeVN0YXRlPSJjb21wbGV0ZSJ9LCExKTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCgovLyMgc291cmNlVVJMPS9fL3RyYW5zbGF0ZV9odHRwL18vanMvaz10cmFuc2xhdGVfaHR0cC50ci5uby5zY3JuWTZRMl95dy5PL2FtPUJJQUFCdy9kPTEvcnM9QU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1dy9tPWVsX2NvbmYKICAgIC8vIENvbmZpZ3VyZSBDb25zdGFudHMKICAgIChmdW5jdGlvbigpewogICAgICBsZXQgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSBuZXcgRGF0ZSgpOwogICAgICBpZiAoX2lzTlMoJ2dvb2dsZS50cmFuc2xhdGUuRWxlbWVudCcpKXtyZXR1cm59CgogICAgICAoZnVuY3Rpb24oKXsKICAgICAgICBjb25zdCBjPV9zZXR1cE5TKCdnb29nbGUudHJhbnNsYXRlLl9jb25zdCcpOwoKICAgICAgICBjLl9jZXN0ID0gZ3RDb25zdEV2YWxTdGFydFRpbWU7CiAgICAgICAgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSB1bmRlZmluZWQ7IC8vIGhpZGUgdGhpcyBldmFsIHN0YXJ0IHRpbWUgY29uc3RhbnQKICBjLl9jbD0nbm8nOyBjLl9jdWM9J2dvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0JzsgYy5fY2VmPSdceDViMCwxLDAsXHg1Ylx4MjJlc19lblx4MjIsXHgyMmVuX3poXHgyMixceDIyZW5fZGVceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2VzXHgyMixceDIyZGVfZW5ceDIyXHg1ZCxudWxsLFx4NWIwLDMsMTAwLFx4NWJceDIyZW5faGlceDIyLFx4MjJoaV9lblx4MjIsXHgyMmVuX2VzXHgyMixceDIyZXNfZW5ceDIyLFx4MjJlbl9kZVx4MjIsXHgyMmRlX2VuXHgyMixceDIyZW5femhceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2FyXHgyMixceDIyZW5faWRceDIyXHg1ZFx4NWQsMCwxLDBceDVkJzsgYy5fY2FjPScnOyBjLl9jYW09Jyc7IGMuX2NlbnY9J3Byb2QnO2MuX2NsbD0nSU5GTyc7IGMuX2NnYWs9Jyc7IGMuX2N0a2s9JzQ5NTg2OS4yNzA0ODE1MTA0JzsgY29uc3QgaD0ndHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tJzsgY29uc3Qgb3BoPSd0cmFuc2xhdGUtcGEuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBzPSdodHRwcycrJzovLyc7IGMuX3BhaD1oOyBjLl9wYXM9czsgY29uc3QgYj1zKyd0cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBzdGF0aWNQYXRoID0gJy90cmFuc2xhdGVfc3RhdGljLyc7IGMuX3BjaT1iK3N0YXRpY1BhdGgrJ2ltZy90ZV9jdHJsMy5naWYnOyBjLl9wbWk9YitzdGF0aWNQYXRoKydpbWcvbWluaV9nb29nbGUucG5nJzsgYy5fcGJpPWIrc3RhdGljUGF0aCsnaW1nL3RlX2JrLmdpZic7IGMuX3BsaT1iK3N0YXRpY1BhdGgrJ2ltZy9sb2FkaW5nLmdpZic7IGMuX3BzPSdodHRwczpcL1wvd3d3LmdzdGF0aWMuY29tXC9fXC90cmFuc2xhdGVfaHR0cFwvX1wvc3NcL2tceDNkdHJhbnNsYXRlX2h0dHAudHIuQjdEaWg5SnlqbncuTC5GNC5PXC9hbVx4M2RCSUFBQndcL2RceDNkMFwvcnNceDNkQU44U1BmcEMwNHZycnpRWGdzX1RDTTVFdHJ1d2ZQek50UVwvbVx4M2RlbF9tYWluX2Nzcyc7IGMuX3BsbGE9b3BoKydcL3YxXC9zdXBwb3J0ZWRMYW5ndWFnZXMnOyBjLl9wdWg9J3RyYW5zbGF0ZS5nb29nbGUuY29tJztjLl9jbmFsPXt9O19sb2FkQ3NzKGMuX3BzKTsgX2xvYWRKcygnaHR0cHM6XC9cL3RyYW5zbGF0ZS5nb29nbGVhcGlzLmNvbVwvX1wvdHJhbnNsYXRlX2h0dHBcL19cL2pzXC9rXHgzZHRyYW5zbGF0ZV9odHRwLnRyLm5vLnNjcm5ZNlEyX3l3Lk9cL2FtXHgzZEJJQUFCd1wvZFx4M2QxXC9leG1ceDNkZWxfY29uZlwvZWRceDNkMVwvcnNceDNkQU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1d1wvbVx4M2RlbF9tYWluJyk7X2V4cG9ydFZlcnNpb24oJ1RFXzIwMjYwNzIyJyk7CiAgICAgICAgfSkoKTsKICAgICAgfSkoKTsKICA="}},"time_used":173,"timings":{"blocked":-1,"dns":2,"connect":16,"send":0,"wait":115,"receive":0,"ssl":36},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/img/slider_bg5.jpg","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.958Z","timestamp":1785129291958,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /img/slider_bg5.jpg HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:51 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Wed, 09 Dec 2020 04:52:52 GMT\r\naccept-ranges: bytes\r\ncontent-length: 166454\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":166454,"size_decoded":166722,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 1920x800, components 3","md5":"512e686c4b624a189e3e8c324d5e3f45","sha1":"62d52d1532b8700f90eb8110aa06083f8cc4f4ea","sha256":"ae229522f394457457aa4f3812e4d1c25877169ddb187d71259315b89957a9e7","sha512":"b617b6658b44005ddb6ce585f3a1342ac0df1ba01f8a014ad736f378a12d939220816384192a893ca6ecd479de15d1b2d16a21433f3cfce4d99aaab4aae91f00","ssdeep":"3072:9c/65YDCyRXCiQGoJKwMX1QL/xnfvs56yw2k5ZxorE2jmx5u:A9zXCiyJf9vsk5ZxqRR","tlshash":"83f3128beb2e59fece55927a88ce51476c28f1dbfad5d6400061f8241b1e7883479d3c","first_seen":"2025-09-22T10:43:48.51722Z","last_seen":"2026-07-27T05:48:43.325648Z","times_seen":19,"resource_available":false,"data":"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"}},"time_used":175,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":158,"receive":17,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.613Z","timestamp":1785129292613,"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/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\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: 974e368b6011582f57e47f4daf05db42\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-27T08:08:22.832455Z","times_seen":3734,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1ODY2N10sezI1ODY2NyhvKXtvLmV4cG9ydHM9T2JqZWN0LmNyZWF0ZShudWxsKSxvLmV4cG9ydHNbIiNBQVBMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXBwbGUgSW5jIl0sby5leHBvcnRzWyIjQU1FWDpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nod2FiIFNob3J0LVRlcm0gVS5TLiBUcmVhc3VyeSBFVEYiXSxvLmV4cG9ydHNbIiNBTUVYOlNIWUctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFyZXMgMC01IFlFQVIgSGlnaCBZaWVsZCBDb3Jwb3JhdGUgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNBU1g6WEFGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBBbGwgQXVzdHJhbGlhbiA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYQVQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIEFsbCBBdXN0cmFsaWFuIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYSk8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FVRENBRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyL0NhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0FVRENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gU3dpc3MgRnJhbmMiXSxvLmV4cG9ydHNbIiNBVURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0FVRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjQVVEUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQVVEVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JDQkE6SU1WLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIE1FUlZBTCBJbmRleCJdLG8uZXhwb3J0c1siI0JDSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gQ2FzaCAvIEV1cm8iXSxvLmV4cG9ydHNbIiNCQ0hVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIENhc2ggLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JFTEVYOkJFTEVYMTUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUxFWCAxNSBJbmRleCJdLG8uZXhwb3J0c1siI0JJU1Q6WFUxMDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCSVNUIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0JJVE1FWDpYQlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUU6SUJDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSUJFWCAzNSBJbmRleCJdLG8uZXhwb3J0c1siI0JNRkJPVkVTUEE6SUJPVi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJvdmVzcGEgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUZCT1ZFU1BBOklCUkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJQnJhc2lsIEluZGV4Il0sby5leHBvcnRzWyIjQk1GQk9WRVNQQTpJQlhMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJhemlsIDUwIEluZGV4Il0sby5leHBvcnRzWyIjQk1WOkNULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgU1gyMCBSVCJdLG8uZXhwb3J0c1siI0JNVjpGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRm9yZCBNb3RvciBDb21wYW55Il0sby5leHBvcnRzWyIjQk1WOk1FLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0JNViBJUEMgSW5kZXgiXSxvLmV4cG9ydHNbIiNCUkxKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWxpYW4gUmVhbCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JTRTpJVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJVEkgTHRkIl0sby5leHBvcnRzWyIjQlNFOlNFTlNFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCBCU0UgU2Vuc2V4IEluZGV4Il0sby5leHBvcnRzWyIjQlRDQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjQlRDQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUQ0NOWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNCVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gRXVybyJdLG8uZXhwb3J0c1siI0JUQ0dCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjQlRDSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JUQ0tSVy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjQlRDUExOLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI0JUQ1JVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQlRDVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFRoYWkgQmFodCJdLG8uZXhwb3J0c1siI0JUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gR29sZCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQlZMOlNQQkxQR1BULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gQlZMIFBlcnUgR2VuZXJhbCBJbmRleCAoUEVOKSJdLG8uZXhwb3J0c1siI0JWU1Atc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWwgQm92ZXNwYSBJbmRleCJdLApvLmV4cG9ydHNbIiNDQURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDQURVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0NCT0U6T0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0NCT0U6VklYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVm9sYXRpbGl0eSBTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjQ0JPVDpaQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVC1Cb25kIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3JuIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpNMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTb3liZWFuIE1lYWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6Wk4xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjEwIFllYXIgVC1Ob3RlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpPMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPYXQgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjMwIERheSBGZWRlcmFsIEZ1bmRzIEludGVyZXN0IFJhdGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJpY2UgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlMxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIldoZWF0IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WEsxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gTWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0JPVF9NSU5JOlhXMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJXaGVhdCBNaW5pIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WU0xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBEb3cgSm9uZXMgKCQ1KSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0hGSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgRnJhbmMgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDSEZVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTd2lzcyBGcmFuYyAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQ01FOkJUQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiBDTUUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpDQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnV0dGVyIEZ1dHVyZXMtQ2FzaCAoQ29udGludW91czogQ3VycmVudCBjb250cmFjdCBpbiBmcm9udCkiXSxvLmV4cG9ydHNbIiNDTUU6R0YxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZlZWRlciBDYXR0bGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpIRTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGVhbiBIb2dzIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUU6TEUxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdmUgQ2F0dGxlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUVfTUlOSTpFNzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOkVTMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6SjcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOk5RMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOQVNEQVEgMTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6UlRZMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFLU1pbmkgUnVzc2VsbCAyMDAwIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBRVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbml1bSBFdXJvcGVhbiBQcmVtaXVtIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBVVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbnVtIE1XIFUuUy4gVHJhbnNhY3Rpb24gUHJlbWl1bSBQbGF0dHMgKDI1TVQpIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpHQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6SEcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6U0kxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIENvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRSTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2lsdmVyIChNaW5pKSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRTzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCAoTWluaSkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NPUFBFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29wcGVyIl0sby5leHBvcnRzWyIjQ09STlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29ybiJdLG8uZXhwb3J0c1siI0NPVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ290dG9uIl0sby5leHBvcnRzWyIjQ1JZUFRPQ0FQOlRPVEFMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ3J5cHRvIFRvdGFsIE1hcmtldCBDYXAsICQiXSxvLmV4cG9ydHNbIiNERk06REZNR0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJERk0gSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tcG9zaXRlIEF2ZXJhZ2UgSW5kZXgiXSwKby5leHBvcnRzWyIjREo6REpDSUFHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQWdyaWN1bHR1cmUgQ2FwcGVkIENvbXBvbmVudCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lDQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQ29jb2EiXSxvLmV4cG9ydHNbIiNESjpESkNJRU4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEVuZXJneSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR29sZCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR3JhaW5zIl0sby5leHBvcnRzWyIjREo6REpDSUlLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBOaWNrZWwiXSxvLmV4cG9ydHNbIiNESjpESkNJS0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IENvZmZlZSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lTQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggU3VnYXIiXSxvLmV4cG9ydHNbIiNESjpESkNJU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IFNpbHZlciJdLG8uZXhwb3J0c1siI0RKOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVHJhbnNwb3J0YXRpb24gQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI0RKOkRKVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBVdGlsaXR5IEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlVTQ0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVS5TLiBDb2FsIEluZGV4Il0sby5leHBvcnRzWyIjRUdYOkVHWDMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRUdYIDMwIEluZGV4Il0sby5leHBvcnRzWyIjRVRDQlRDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gQ2xhc3NpYyAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNFVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSBDbGFzc2ljIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIENsYXNzaWMgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0VUSEJUQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQml0Y29pbiJdLG8uZXhwb3J0c1siI0VUSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUSEdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQnJpdGlzaCBQb3VuZCJdLG8uZXhwb3J0c1siI0VUSEpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjRVRIS1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjRVRIVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNFVEhVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVCVU5ELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBCdW5kIl0sby5leHBvcnRzWyIjRVVSQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVSQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjRVVSQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0VVUkNIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0VVUkdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjRVVSSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0VVUk5PSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBOb3J3ZWdpYW4gS3JvbmUiXSxvLmV4cG9ydHNbIiNFVVJOWkQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjRVVST05FWFQ6QUVYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQUVYIEluZGV4Il0sby5leHBvcnRzWyIjRVVST05FWFQ6QkVMMjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUwgMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJPTkVYVDpQWDEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDQUMgNDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0VVUlJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSBUT00iXSxvLmV4cG9ydHNbIiNFVVJTRUstc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gU3dlZGlzaCBLcm9uYSJdLG8uZXhwb3J0c1siI0VVUlRSWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBUdXJraXNoIExpcmEiXSxvLmV4cG9ydHNbIiNFVVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNFVVNUWDUwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBTdG94eCA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0ZPUkVYQ09NOlVTMjAwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIFNtYWxsIENhcCAyMDAwIl0sCm8uZXhwb3J0c1siI0ZSQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0FDIDQwIEluZGV4Il0sby5leHBvcnRzWyIjRlJFRDpHRFAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHcm9zcyBEb21lc3RpYyBQcm9kdWN0LCAxIERlY2ltYWwiXSxvLmV4cG9ydHNbIiNGUkVEOlBPUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRvdGFsIFBvcHVsYXRpb246IEFsbCBBZ2VzIEluY2x1ZGluZyBBcm1lZCBGb3JjZXMgT3ZlcnNlYXMiXSxvLmV4cG9ydHNbIiNGUkVEOlVOUkFURS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNpdmlsaWFuIFVuZW1wbG95bWVudCBSYXRlIl0sby5leHBvcnRzWyIjRlRTRU1ZWDpGQk1LTENJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSBCdXJzYSBNYWxheXNpYSBLTENJIEluZGV4Il0sby5leHBvcnRzWyIjRldCOktUMS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIktleSBUcm9uaWMgQ29y0YAuIl0sby5leHBvcnRzWyIjRlg6QVVTMjAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBJbmRleCJdLG8uZXhwb3J0c1siI0ZYOlVTMzAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgSW5kdXN0cmlhbCBBdmVyYWdlIEluZGV4Il0sby5leHBvcnRzWyIjR0JQQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjR0JQQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0dCUENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0dCUEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBFdXJvIl0sby5leHBvcnRzWyIjR0JQSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0dCUE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHQlBQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gUG9saXNoIFpsb3R5Il0sby5leHBvcnRzWyIjR0JQUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIFJ1c3NpYW4gUnVibGUiXSxvLmV4cG9ydHNbIiNHQlBVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHRVIzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRBWCBJbmRleCJdLG8uZXhwb3J0c1siI0dPT0ctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQyJdLG8uZXhwb3J0c1siI0dPT0dMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEEiXSxvLmV4cG9ydHNbIiNHUFc6QUNHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWNhdXRvZ2F6Il0sby5leHBvcnRzWyIjR1BXOldJRzIwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiV0lHMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNIU0k6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjSUNFVVM6RFgxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNJRFg6Q09NUE9TSVRFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSURYIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOkhTQ0Utc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJIYW5nIFNlbmcgQ2hpbmEgRW50ZXJwcmlzZXMgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpKS1NFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFrYXJ0YSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpLTFNFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnVyc2EgTWFsYXlzaWEgS0xDSSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1JQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQiBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1PWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6U1RJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU1RJIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6VFdJSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBXZWlnaHRlZCBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOlhMWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFuZ2hhaSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJT1RVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJT1RBIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNKUE4yMjUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNKUFlLUlctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbmVzZSBZZW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjSlBZUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0pQWVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTEtPSC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxVS09JTCJdLG8uZXhwb3J0c1siI0xTRTpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nob2xpdW0gR3JvdXAgUGxjIE9yZCAxUCJdLG8uZXhwb3J0c1siI0xUQ0JSTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdGVjb2luIC8gQnJhemlsaWFuIFJlYWwiXSxvLmV4cG9ydHNbIiNMVENCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNMVENVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTFVOQVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkx1bmEgLyBVLlMuIERvbGxhciJdLApvLmV4cG9ydHNbIiNNT0VYOkJSMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmVudCBPaWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6R0FaUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdBWlBST00iXSxvLmV4cG9ydHNbIiNNT0VYOklNT0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTU9FWCBSdXNzaWEgSW5kZXgiXSxvLmV4cG9ydHNbIiNNT0VYOk1HTlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNQUdOSVQiXSxvLmV4cG9ydHNbIiNNT0VYOk1JQ0VYSU5ERVhDRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1PRVggUnVzc2lhIEluZGV4Il0sby5leHBvcnRzWyIjTU9FWDpNWDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTUlDRVggSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6TVgyIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQ0VYIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNNT0VYOlJJMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSVFMgSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6UlRTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJUUyBJbmRleCJdLG8uZXhwb3J0c1siI01PRVg6UlVBTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVuaXRlZCBDb21wYW55IFJVU0FMIFBMQyJdLG8uZXhwb3J0c1siI01PRVg6U0JFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNCRVJCQU5LIl0sby5leHBvcnRzWyIjTU9FWDpWVEJSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVlRCIl0sby5leHBvcnRzWyIjTVNGVC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1pY3Jvc29mdCBDb3JwLiJdLG8uZXhwb3J0c1siI05BUzEwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIDEwMCBDYXNoIENGRCJdLG8uZXhwb3J0c1siI05BU0RBUTpBTUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBZHZhbmNlZCBNaWNybyBEZXZpY2VzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpHT09HLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEMiXSxvLmV4cG9ydHNbIiNOQVNEQVE6R09PR0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQSJdLG8uZXhwb3J0c1siI05BU0RBUTpIR1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIEhvdXNpbmcgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROklFRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgNy0xMCBZZWFyIFRyZWFzdXJ5IEJvbmQgRVRGIl0sby5leHBvcnRzWyIjTkFTREFROklFSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMy03IFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRlcmlzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpJWElDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmFzZGFxIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpMQ0lELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTHVjaWQgR3JvdXAsIEluYy4iXSxvLmV4cG9ydHNbIiNOQVNEQVE6TEUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMYW5kcycgRW5kIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpORFgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXNkYXEgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROk9TWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggT2lsIFNlcnZpY2UgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlNIWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMS0zIFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6U09YLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUGhpbGFkZWxwaGlhIFNlbWljb25kdWN0b3IgSW5kZXgiXSxvLmV4cG9ydHNbIiNOQVNEQVE6VExULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyAyMCsgWWVhciBUcmVhc3VyeSBCb25kIEVURiJdLG8uZXhwb3J0c1siI05BU0RBUTpVVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIFV0aWxpdHkgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlhBVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggR29sZCBhbmQgU2lsdmVyIFNlY3RvciBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpaUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlpzY2FsZXIgSW5jIl0sby5leHBvcnRzWyIjTkVPVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTkVPIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNOR0FTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmF0dXJhbCBHYXMgKEhlbnJ5IEh1YikiXSxvLmV4cG9ydHNbIiNOS1ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOU0U6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kaWFuIFRlbGVwaG9uZSBJbmR1c3RyaWVzIExpbWl0ZWQiXSxvLmV4cG9ydHNbIiNOU0U6TklGVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOaWZ0eSA1MCBJbmRleCJdLG8uZXhwb3J0c1siI05ZTUVYOkFFWjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgRXRoYW5vbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6Q0oxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvY29hIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpDTDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGlnaHQgQ3J1ZGUgT2lsIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpITzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgSGFyYm9yIFVMU0QgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOktUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb2ZmZWUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOk5HMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBhbGxhZGl1bSBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEwxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIEZ1dHVyZXMiXSwKby5leHBvcnRzWyIjTllNRVg6UkIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJCT0IgR2Fzb2xpbmUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOlRUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3R0b24gRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYX01JTkk6UUcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRTTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIExpZ2h0IENydWRlIE9pbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRVTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIEdhc29saW5lIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWVNFOkJBQkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbGliYWJhIEdyb3VwIEhvbGRpbmdzIEx0ZC4iXSxvLmV4cG9ydHNbIiNOWVNFOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGT1JEIE1UUiBDTyBERUwiXSxvLmV4cG9ydHNbIiNOWVNFOkhFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGF3YWlpYW4gRWxlY3RyaWMgSW5kdXN0cmllcyJdLG8uZXhwb3J0c1siI05ZU0U6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlBCUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBFVFJPTEVPIEJSQVNJTEVJUk8gU0EgUEVUUk9CUiJdLG8uZXhwb3J0c1siI05ZU0U6WEFYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQU1FWCBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlhNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ZU0UgQVJDQSBNYWpvciBNYXJrZXQgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWkRKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNOWkRVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI05aWDpBTExDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL05aWCBBbGwgSW5kZXggKENhcGl0YWwgSW5kZXgpIl0sby5leHBvcnRzWyIjTlpYOk5aNTBHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gTlpYIDUwIEluZGV4IEdyb3NzIl0sby5leHBvcnRzWyIjT0FOREE6TkFUR0FTVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBOYXR1cmFsIEdhcyJdLG8uZXhwb3J0c1siI09BTkRBOlNQWDUwMFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPQU5EQTpYQ1VVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENvcHBlciAoVVMkIC8gbGIpIl0sby5leHBvcnRzWyIjT01YQ09QOk9NWEMyNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBDb3BlbmhhZ2VuIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YQ09QOlNDSE8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTY2hvdXcgJiBDbyBBL1MiXSxvLmV4cG9ydHNbIiNPTVhIRVg6T01YSDI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIEhlbHNpbmtpIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YUlNFOk9NWFJHSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBSaWdhIEdyb3NzIEluZGV4Il0sby5leHBvcnRzWyIjT01YU1RPOk9NWFMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBTdG9ja2hvbG0gMzAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhUU0U6T01YVEdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFRhbGxpbm4gR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhWU0U6T01YVkdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFZpbG5pdXMgR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPVEM6SUhSTUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJc2hhcmVzIE1TQ0kgSmFwYW4gU0hTIl0sby5leHBvcnRzWyIjUVNFOkdOUkktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJRRSBJbmRleCJdLG8uZXhwb3J0c1siI1JUUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NpYW4gUlRTIEluZGV4Il0sby5leHBvcnRzWyIjUlVTU0VMTDpSVUEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSdXNzZWxsIDMwMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNSVVNTRUxMOlJVSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NlbGwgMTAwMCBJbmRleCJdLG8uZXhwb3J0c1siI1JVU1NFTEw6UlVULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUnVzc2VsbCAyMDAwIEluZGV4Il0sby5leHBvcnRzWyIjU0VUOkdDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR2xvYmFsIENvbm5lY3Rpb25zIFB1YmxpYyBDb21wYW55Il0sby5leHBvcnRzWyIjU0lYOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGb3JkIE1vdG9yIENvbXBhbnkiXSxvLmV4cG9ydHNbIiNTSVg6U01JLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgTWFya2V0IEluZGV4Il0sby5leHBvcnRzWyIjU09MVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU29sYW5hIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNTT1lCTlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gU295YmVhbnMiXSxvLmV4cG9ydHNbIiNTUDpPRVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BHU0NJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIEdvbGRtYW4gU2FjaHMgQ29tbW9kaXR5IEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1NQOlNWWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgVmFsdWUgSW5kZXgiXSxvLmV4cG9ydHNbIiNTUFg1MDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1VHQVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFN1Z2FyIl0sCm8uZXhwb3J0c1siI1NaU0U6Mzk5MDAxLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2hlbnpoZW4gQ29tcG9uZW50IEluZGV4Il0sby5leHBvcnRzWyIjVEFEQVdVTDoyMzcwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlkZGxlIEVhc3QgU3BlY2lhbGl6ZWQgQ2FibGVzIENvLiJdLG8uZXhwb3J0c1siI1RBREFXVUw6VEFTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhZGF3dWwgQWxsIFNoYXJlcyBJbmRleCJdLG8uZXhwb3J0c1siI1RBU0U6VEEzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRBLTM1IEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRTWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUC9UU1ggQ29tcG9zaXRlIEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRYNjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvVFNYIDYwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkFVMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpBVTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkFYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkJYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6Q0ExMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNhbmFkaWFuIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkNBMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpDQUM0MC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNBQyA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpDTjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpDTjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNoaW5hIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6Q1hZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRFMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHZXJtYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpERTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdlcm1hbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkRFVTMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiREFYIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RFhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNwYWluIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTcGFpbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkVVQlVORC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gQnVuZCJdLG8uZXhwb3J0c1siI1RWQzpFWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkZSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGcmFuY2UgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpGUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZyYW5jZSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkZUTUlCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlsYW5vIEl0YWxpYSBCb3JzYSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpHQjAyLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAyIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpHT0xELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBHb2xkIChVUyQgLyBPWikiXSxvLmV4cG9ydHNbIiNUVkM6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOklCRVgzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklCRVggMzUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6SUQwMy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDMgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SUQxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklEMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kb25lc2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZGlhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJbmRpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOklUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJdGFseSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRhbHkgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLApvLmV4cG9ydHNbIiNUVkM6SVhJQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpKUDEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpKUDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SlhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktPU1BJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgQ29tcG9zaXRlIFN0b2NrIFByaWNlIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJLb3JlYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOktSMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpNWTEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWFsYXlzaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpNWTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1hbGF5c2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TkRYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5JMjI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gMjI1IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5MMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXRoZXJsYW5kcyBHb3Zlcm5tZW50IEJvbmRzLCAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpOTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldGhlcmxhbmRzIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6TloxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldyBaZWFsYW5kIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOk5aMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV3IFplYWxhbmQgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQQUxMQURJVU0tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFBhbGxhZGl1bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBMMDVZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9sYW5kIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBvbGFuZCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlBMQVRJTlVNLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBQbGF0aW51bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQb3J0dWdhbCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOlBUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9ydHVnYWwgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpTQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU291dGggQWZyaWNhIFRvcCA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTSUxWRVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFNpbHZlciAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlNQWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6U1NNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIE1hcmtldCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTdHJhaXRzIFRpbWVzIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYNUUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIEZyYW5jIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlRSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUdXJrZXkgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpUUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlR1cmtleSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlVLT0lMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBCcmVudCBDcnVkZSBPaWwiXSxvLmV4cG9ydHNbIiNUVkM6VUtYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlVTMDItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVMwMlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMwNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzA1WS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpVUzEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMzAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFdUSSBDcnVkZSBPaWwiXSwKby5leHBvcnRzWyIjVFZDOlZJWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlZvbGF0aWxpdHkgUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpaWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUV0lJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVGFpd2FuIFdlaWdodGVkIEluZGV4Il0sby5leHBvcnRzWyIjVFdTRTpUQUlFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBDYXBpdGFsaXphdGlvbiBXZWlnaHRlZCBTdG9jayBJbmRleCJdLG8uZXhwb3J0c1siI1RXVFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUd2l0dGVyIEluYyJdLG8uZXhwb3J0c1siI1VLMTAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSAxMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNVS09JTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ3J1ZGUgT2lsIChCcmVudCkiXSxvLmV4cG9ydHNbIiNVTklVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVbmlzd2FwIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI1VTREFVRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gQXVzdHJhbGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RCUkwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjVVNEQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDYW5hZGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RDSEYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFN3aXNzIEZyYW5jIl0sby5leHBvcnRzWyIjVVNEQ05ZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNVU0RES0stc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIERhbmlzaCBLcm9uZSJdLG8uZXhwb3J0c1siI1VTREVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gRXVybyJdLG8uZXhwb3J0c1siI1VTREdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUG91bmQgU3RlcmxpbmciXSxvLmV4cG9ydHNbIiNVU0RIS0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEhvbmcgS29uZyBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RIVUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEh1bmdhcmlhbiBGb3JpbnQiXSxvLmV4cG9ydHNbIiNVU0RJRFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1cGlhaCJdLG8uZXhwb3J0c1siI1VTRElMUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSXNyYWVsaSBTaGVrZWwiXSxvLmV4cG9ydHNbIiNVU0RJTlItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEluZGlhbiBSdXBlZSJdLG8uZXhwb3J0c1siI1VTREpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjVVNES1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTb3V0aCBLb3JlYW4iXSxvLmV4cG9ydHNbIiNVU0RNWE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIE1leGljYW4gUGVzbyJdLG8uZXhwb3J0c1siI1VTRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEUEhQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBQaGlsaXBwaW5lIHBlc28iXSxvLmV4cG9ydHNbIiNVU0RQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI1VTRFJVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI1VTRFJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1c3NpYW4gUnVibGUgVE9NIl0sby5leHBvcnRzWyIjVVNEU0VLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTd2VkaXNoIEtyb25hIl0sby5leHBvcnRzWyIjVVNEU0dELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTaW5nYXBvcmUgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNVU0RUUlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFR1cmtpc2ggTGlyYSJdLG8uZXhwb3J0c1siI1VTRFpBUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gU291dGggQWZyaWNhbiBSYW5kIl0sby5leHBvcnRzWyIjVVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENydWRlIE9pbCAoV1RJKSJdLG8uZXhwb3J0c1siI1dIRUFUVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBXaGVhdCJdLG8uZXhwb3J0c1siI1hBR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEFVVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBTcG90IC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYQlRDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gQ2FuYWRpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEVUUjpEQVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEQVggSW5kZXgiXSxvLmV4cG9ydHNbIiNYTVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNb25lcm8gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI1hQRFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gUGFsbGFkaXVtIl0sCm8uZXhwb3J0c1siI1hQVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYUlBCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJYUlAgLyBCaXRjb2luIl0sby5leHBvcnRzWyIjWFJQRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWFJQIC8gRXVybyJdLG8uZXhwb3J0c1siI1hSUFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlhSUCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWkVDVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWmNhc2ggLyBVLlMuIERvbGxhciJdfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.618Z","timestamp":1785129292618,"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/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\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: e736daa0413abe869807c4fcf479131a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-27T08:08:22.859742Z","times_seen":2503,"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":"fonts.gstatic.com/s/i/productlogos/translate/v14/24px.svg","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.898Z","timestamp":1785129292898,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/i/productlogos/translate/v14/24px.svg HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ncontent-length: 3340\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 10:10:10 GMT\r\nexpires: Fri, 23 Jul 2027 10:10:10 GMT\r\ncache-control: public, max-age=31536000\r\nage: 327883\r\nlast-modified: Wed, 20 Apr 2022 14:24:23 GMT\r\ncontent-type: image/svg+xml\r\nvary: Accept-Encoding\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":6225,"size_decoded":4178,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"2bd5c073a88b83ed74db88282a56ddfb","sha1":"d0ebfc376f8c6a44a8d4cd216817dcd7d0c33650","sha256":"ab5c23a05e39deed14d9d8262b0dce9f024f86105a27196cad37d14a3f516e09","sha512":"5c6c4a92e93fc0f6a675658cc84f6187fdebd3eee94efd07e24658736cba598f3bc7156b19834b13fb44c1d43fcb7df9fcca7f0a453037e30da76ba8f4b23b89","ssdeep":"96:+R2K3Z4n7tyVwip82hezk6227gLFoXhu1XuE20ot+pVY3YptWDzOzgXK3Zx:ql3KnxyGGMzb7noR20NTww33","tlshash":"c1d1e6f19309d815cd6a83d8cd9b8002aa1f25ddd50ac6cc7639fb3bd1a50eb1d2d7a4","first_seen":"2023-04-06T21:34:37Z","last_seen":"2026-07-27T08:08:22.754642Z","times_seen":76307,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxkZWZzPjxwYXRoIGQ9Ik0yMS41IDVoLTkuMTdMMTEgMUgyLjVDMS42OCAxIDEgMS42OCAxIDIuNXYxNWMwIC44My42OCAxLjUgMS41IDEuNWg5LjE3TDEzIDIzaDguNWMuODIgMCAxLjUtLjY4IDEuNS0xLjV2LTE1YzAtLjgzLS42OC0xLjUtMS41LTEuNXoiIGlkPSJhIi8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iYiI+PHVzZSBvdmVyZmxvdz0idmlzaWJsZSIgeGxpbms6aHJlZj0iI2EiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iMzEiIG9wYWNpdHk9Ii4yIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMyAxKSIgd2lkdGg9IjI5IiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUIwQUFBQWZDQVlBQUFBYlc4WUVBQUFBQ1hCSVdYTUFBQXNTQUFBTEVnSFMzWDc4QUFBQSBHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFCUUJKUkVGVWVOcThWOHR1MjBZVXZYZG0rTENrIFJLaU13STFURkVYaFZaSmQxZ1c2Nnhla3Y5RFBxUHN2WGRVL1VhRHJvSnNrS3krQ0luQ2NHcEt0RnkyU00vZjJERVhaaWEwb2R0S1cgQWtGSjh6aHp6bjNTMFljdnBzKzc5RU1EYmozWWZndjRFTStYVE4vZkVPYjNaZzNBWG1xN2o2NEQ1L2UveC9FZnpaTW5YNWp4K0xGWiBMTHlwNnlORE96c2tZYjZSdWJGZHBiZHZLVWwySmMrZDlQdlA1ZG16VXlINlRWb1lYUU9xK0g1Zzl2YitjT05zTzltYUxwSXl5WlBVIGtaTkFwcG1oOVZwZzVrU1h3Q1NWSjUvVmkvcjhUbDczeTJGOWVQaWRKM29hZ2ErQjR2a1VnRis2RVcxbmR6MTFndk5kRGRMMWJETnIgeUtrQ1dPMTZ0aHlVR1dJSWVhZTJaR3ZuMW9mNXhGRXhvR0Y1ZUhnTTRBTlpzVzAzMlRmMDVNamVXK3htTktlZWRlV0FnOXRteXdQTSA2ckdZek9BUEJTZlE1U3MwTmY0cEFtUnJTbUJQMWVoSXhRNkRweEYxYVhhU0g1WDBiRGNBUjFhT3hMUlB0UGRyWnJ3bmQ1NVN4M2d6IElNTzcyT3dCcTlrbW94MFJTa0hIUk54clJKV0ZEYlFYS3BSMXhONGVPZngwTnFuTWRGSHVsWS9ydy8xUkFFNWNyRXZ2ZmZHQ3ZYL0UgVlVvT0MzTW0yNGVhTzZUeU5aamVCNUUrc0RMTXQydENxWkVXOGxjZ1BTVTJ4MEloS2xBWW9UUDR4VVR1ZVVNdkh2Skszb3VROGZmSCBIUDYySnBHZWcvVlNZY2lxTkFEYkhReHZZNWV0ZHI2NXloTlhsRzJCNXhqemdXZkhKb1NlWjVPbGJ1YXErY3pReVlTdnhhbDcwMWRKIFNXb2lnUk5xWEl0ak9SaHNDK3g3NE5mRHRQUTZhR1BrZ0FVbEdST3BUS0JRUjRnYkIxeDZmanozL0RLOEdzb0hqL1NWRzZwSkFDaSsgTmhRZEFwc1FKRlBDZWxpWUtJbWdlRUpteWxjM1h6dzV5cDl4bklNWU1rWnQ5SGpWaEsvR2VIdHFaSTUrS1VWSlh0U1ZRY3djWURQbyBGSTkzamhXK0RXU2p6WnJHdHMwTlFTd09aVEZvTWFNQmFseTZDVEZaRzJLWFV0M1oxYVF6QzM2cktyRkowY2dVYjZhWlJudVJ3anRJIGxvN0VxM0NMV1N5YTRlSjdhK1ROMmV1ZHZDbGJrMTdJdEZlcG9RTHJweVF5eGtaVGpCWUlpd3FuWHdGLzFtWGVyUWl2dHUrSG9ocDcgdGY3Y1dKbkNUZ0JsZUNRM2JCRWFQaWFDVFJYa05xQkx1OTU1bzJrditOeklJb2dEa0dsQUVmdXdMNTFEWWg5ejNzZEsxeTFBTHlYMiBGeEpMSzNGajMzOU5Zbk8xNlA0ZkVsOEo5SFVTYXl0eFRIRlJZcXJobko2MEFaVTJsTnBETk9VTGFaSDFGcUJYSlM0TGhOOEVDZW9zIE1nYkxXVXgzQUsreHY0K1pLTjZBQ3h4bFp3MHhEemRaS2o3WjZFMUFMeVErOTFXTmNsd2dJVTZ3d1JsaTd4VGt6akE4QlFDU0J4ZkwgK01VaGxuR01ETVlsZnNQdVdzZFNGNEdaYTIyNmlvMU1XNG56UHZrUWJXZ0RuSWxHWUhTQ1RVK1FiT0k5Qk50VFRCN2h4bUVJaCtGVCBLREpHWm9pVnBrQTZLbU5SajkwRTBkdVBObWFOeEoyOVFWaDBSeFdzT01OUmgwSnlESWs3TEJLMWl3NjJCVjFjTEthWHBZMm4rSFdzIEdrWmlkT1pFeXNwM2ZESzRLM1R2SzkwRWlzR2Y2YkQvazZDVHFEcEJadDZFb1RXY1NYUVU1bWhYMUZ2Tm0vWFJpeVFpYXcwWEttRGkgRVhMOWtkVjZGTU11OWt2cHlVRG9CM1NJQjV1WXhwMitmU3I5UDdOYTdJT2lwc1VweFo1QnFJU05UdzFyRnk2YkdyS29JakFiUzl1dSBFS29UMk5vd3FpV0o3Y3FNMEtEOWxUOFgydCtsS3ozUzJsNFovZTR2OXB0WHpjRnluOVpkOG5sSEhjalhhTlpzYUN2S3FsVzZkV1AyIElicjdzZEUyZTY4SDlzeStUdk41SjZud3lkTFV2dHVXZm1vTHVnSDRaZzM0SnpiYkh3Ty93YXZHKzY4VmRKUFhpaHVDL3pjdlVKKzAgMFcydWZ3UVlBR0hLSzJDRk1JcnpBQUFBQUVsRlRrU3VRbUNDIi8+PHJhZGlhbEdyYWRpZW50IGN4PSI3LjM5NCIgY3k9IjUuNDM3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImMiIHI9IjIzLjQxNiI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjRUVFIi8+PHN0b3Agb2Zmc2V0PSIuNDMyIiBzdG9wLWNvbG9yPSIjRTZFNkU2Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRTFFMUUxIi8+PC9yYWRpYWxHcmFkaWVudD48cGF0aCBkPSJNMTMgMjNoOC41Yy44MiAwIDEuNS0uNjggMS41LTEuNXYtMTVjMC0uODMtLjY4LTEuNS0xLjUtMS41SDdsNiAxOHoiIGZpbGw9InVybCgjYykiLz48L2c+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTggMTF2LTFoLTF2MWgtMy43NXYxaDUuMzJjLS4yLjQ5LS42IDEuMy0xLjMyIDIuMTQtLjUxLS42LS44Ni0xLjE4LTEuMS0xLjY0aC0xLjExYy4zNi44NC45IDEuNjYgMS41MiAyLjM4bC0yLjYgMi41OC43MS43MSAyLjU4LTIuNTggMi41OCAyLjU4LjcxLS43MS0yLjYtMi41OGMuNzQtLjg2IDEuMzMtMS44NSAxLjY4LTIuODhIMjF2LTFoLTN6IiBmaWxsPSIjNjA3RDhCIi8+PGxpbmVhckdyYWRpZW50IGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0iZCIgeDE9IjEyLjMzMyIgeDI9IjIzIiB5MT0iMTQiIHkyPSIxNCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMjEyMTIxIiBzdG9wLW9wYWNpdHk9Ii4xIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMjEyMTIxIiBzdG9wLW9wYWNpdHk9Ii4wMiIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTIuMzMgNUwyMyAxNS42N1YyM0gxMyIgZmlsbD0idXJsKCNkKSIvPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iOCIgb3BhY2l0eT0iLjEiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC41IDE3LjUpIiB3aWR0aD0iOSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBb0FBQUFKQ0FZQUFBQUxwcjBUQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUEgR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU9GSlJFRlVlTnAwVUQxTEEwRVVuTGU3SnNKaCBDaUZwTFZOWWFTMzQxMUw3Wi9JblVwZ21xUklSTEd4RU9FVlFzb1JjYm5lY3U2QUdUQjRNNzJ2ZXZqZHIrRFBEZitOdnMzODU4cTdhIEZwNG9ET1pCSjVkSk1DVkR6SjJUK0xZWXBlQXlUajM5VU1OWGhBMDBIQUJYS3k4OWJZNlVscXJGb01IbTVRSzBhL21iWFl4U3l5Wm0gZUNCVGU1S3I2OCtOR3ErS3Y0UXpvU004cTNaUDhpbWpYamRFdi82WXNuZCtxNmE3VU40WEZzS1lsaWZiVUpYdmozZnR5dEFxTTF2SiB6NlVnR3ZnaUliTjkwZzhSVmRkRktaL3B6cVgrWTVORHRkb25IVEk3MXZnV1lBRHpXbWR4LzRmcG1RQUFBQUJKUlU1RXJrSmdnZz09Ii8+PHBhdGggZD0iTTE3IDE5bC00IDQtMS4zMy00IiBmaWxsPSIjM0Y1MUI1Ii8+PC9nPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIxLjUgNUg3bC4wNC4xMkgyMS41Yy44MiAwIDEuNS42NyAxLjUgMS41VjYuNWMwLS44My0uNjgtMS41LTEuNS0xLjV6IiBmaWxsPSIjMjEyMTIxIiBmaWxsLW9wYWNpdHk9Ii4wMiIvPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIxLjUgMjIuODhIMTNMMTEuNzEgMTloLS4wNEwxMyAyM2g4LjVjLjgyIDAgMS41LS42OCAxLjUtMS41di0uMTJjMCAuODItLjY4IDEuNS0xLjUgMS41eiIgZmlsbD0iIzIxMjEyMSIgZmlsbC1vcGFjaXR5PSIuMSIvPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTEyLjk3IDIyLjkxTDEzIDIzbDQtNGgtLjEyIiBmaWxsPSIjMUEyMzdFIiBmaWxsLW9wYWNpdHk9Ii4yIi8+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTEuNjcgMTkuMTJoNS4yMUwxNyAxOWgtNS4zMyIgZmlsbD0iIzFBMjM3RSIgZmlsbC1vcGFjaXR5PSIuMSIvPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iMjIiIG9wYWNpdHk9Ii4yIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLS41IC0uNSkiIHdpZHRoPSIyMCIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCVUFBQUFYQ0FZQUFBRGszd1NkQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUEgR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQVVwSlJFRlVlTnFzbGJGT3d6QVFRTy9zUUNSYyBzcUFPbFJnck1qQ1ZyK0VyK0laK0F4L1dUQ3dWZXlWUWw5SU9RWTJQYzJxaE5Gd2NHc2RTckhOc1A1MmZwVFBDZVVQNFg2UFFaQTJaIFBpNDFscVhScENZS3RBNXRzRkJWRmRvOXBlbmg4MjFaU1dzUzExMlgxaEJkUFhHNDRCU3lRTWFFb0hjSjZRSkx1K0x4cmd1S1FEUUIgVUF1T24zbmZMQVRscWMwcHNtdnV2eVFWaWJmQVJ5YVhvUVBlaDZIazlNdzR1TDJidjN4czMxK1A3VVdxNVJkN0xzdk44YWtnNXpCUCBLVFBTSWdXWE4zT0NRbzZBUmtwaUNOUWQzNm1hZWdWNkRHZ2pXMWxCSkZSV01CUWFWREFVR2xRd0F2U3ZnaGhvcDRJWWFLZUNrYURuIENtS2hvb0pZcUtoQXRhbzU5VlYxb2Qzdzk5QlU0RXNmY1FWWHJ1QnVQQk12Z0pJdjFzZG1QU1ZBM0hPaEx2eS9iQ0MwcURrOHJqUDkgVHRXQjM2Z1Z2MUhydmplcTc5MlNqb2tSRi9aN0Z6OENEQUM4RW1XREtWR0RMZ0FBQUFCSlJVNUVya0pnZ2c9PSIvPjxwYXRoIGQ9Ik0xMSAxSDIuNUMxLjY4IDEgMSAxLjY4IDEgMi41djE1YzAgLjgzLjY4IDEuNSAxLjUgMS41SDE3TDExIDF6IiBmaWxsPSIjNDI4NUY0Ii8+PC9nPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIuNSAxQzEuNjggMSAxIDEuNjggMSAyLjV2LjEyYzAtLjgyLjY4LTEuNSAxLjUtMS41SDExVjFIMi41eiIgZmlsbD0iI0ZGRiIgZmlsbC1vcGFjaXR5PSIuMDIiLz48cGF0aCBjbGlwLXBhdGg9InVybCgjYikiIGQ9Ik0xMSAxdi4xMmw1LjkyIDE3Ljc1SDIuNWMtLjgyIDAtMS41LS42Ny0xLjUtMS41di4xMmMwIC44NC42OCAxLjUxIDEuNSAxLjUxSDE3TDExIDF6IiBmaWxsPSIjMjEyMTIxIiBmaWxsLW9wYWNpdHk9Ii4xIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2IpIj48cGF0aCBkPSJNNy41IDEwdjEuMmgxLjk4Yy0uMDguNTItLjYgMS41MS0xLjk4IDEuNTEtMS4yIDAtMi4xNy0uOTktMi4xNy0yLjIxUzYuMyA4LjI5IDcuNSA4LjI5Yy42OCAwIDEuMTMuMjkgMS4zOS41NGwuOTUtLjkyQzkuMjQgNy4zNSA4LjQ0IDcgNy41IDcgNS41NyA3IDQgOC41NyA0IDEwLjVTNS41NyAxNCA3LjUgMTRjMi4wMiAwIDMuMzYtMS40MiAzLjM2LTMuNDIgMC0uMjMtLjAyLS40MS0uMDYtLjU4SDcuNXoiIGZpbGw9IiNFRUUiLz48cGF0aCBkPSJNNCA3aDd2N0g0eiIgZmlsbD0ibm9uZSIvPjwvZz48cmFkaWFsR3JhZGllbnQgY3g9IjEuNDU3IiBjeT0iMS40MiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGlkPSJlIiByPSIyOS43OTIiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIuMSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIwIi8+PC9yYWRpYWxHcmFkaWVudD48cGF0aCBkPSJNMjEuNSA1aC05LjE3TDExIDFIMi41QzEuNjggMSAxIDEuNjggMSAyLjV2MTVjMCAuODMuNjggMS41IDEuNSAxLjVoOS4xN0wxMyAyM2g4LjVjLjgyIDAgMS41LS42OCAxLjUtMS41di0xNWMwLS44My0uNjgtMS41LTEuNS0xLjV6IiBmaWxsPSJ1cmwoI2UpIi8+PC9zdmc+"}},"time_used":16,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/translate_static/img/loading.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:53.034Z","timestamp":1785129293034,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /translate_static/img/loading.gif HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 702\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 21:36:56 GMT\r\nexpires: Sat, 24 Jul 2027 21:36:56 GMT\r\ncache-control: public, max-age=31536000\r\nage: 200277\r\nlast-modified: Thu, 03 Oct 2019 10:15:00 GMT\r\ncontent-type: image/gif\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":702,"size_decoded":1361,"mime_type":"image/gif","magic":"GIF image data, version 89a, 16 x 16","md5":"eefaa072b284a305c12c06608333abc2","sha1":"58272721ccc1efda26eaa22354022c7c793edbb6","sha256":"fb6b7bcc1ab09f27db17bcbdf5239ce1d52af34f1fc5125b3fc8528a07848d21","sha512":"c5ccfdcd9ce76de85f043a1733c9f0b620e15babbaf2a5639684c7b2bb8e5a66473c9a83f14cb48d9cb6c6a1c6b36f2c5a28e25abaf131fb85ec5eedecbae4ac","ssdeep":"","tlshash":"5d01dd13f3d50473f66d0075a20cc57f010635daaadad7089a48117cfe1983c5239b82","first_seen":"2023-04-05T11:18:23Z","last_seen":"2026-07-27T08:08:22.777671Z","times_seen":17099,"resource_available":false,"data":"R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/h1CdWlsdCB3aXRoIEdJRiBNb3ZpZSBHZWFyIDQuMAAh/hVNYWRlIGJ5IEFqYXhMb2FkLmluZm8AIfkECQoAAAAsAAAAABAAEAAAAzMIutz+MMpJaxNjCDoIGZwHTphmCUWxMcK6FJnBti5gxMJx0C1bGDndpgc5GAwHSmvnSAAAIfkECQoAAAAsAAAAABAAEAAAAzQIutz+TowhIBuEDLuw5opEcUJRVGAxGSBgTEVbGqh8HLV13+1hGAeAINcY4oZDGbIlJCoSACH5BAkKAAAALAAAAAAQABAAAAM2CLoyIyvKQciQzJRWLwaFYxwO9BlO8UlCYZircBzwCsyzvRzGqCsCWe0X/AGDww8yqWQan78EACH5BAkKAAAALAAAAAAQABAAAAMzCLpiJSvKMoaR7JxWX4WLpgmFIQwEMUSHYRwRqkaCsNEfA2JSXfM9HzA4LBqPyKRyOUwAACH5BAkKAAAALAAAAAAQABAAAAMyCLpyJytK52QU8BjzTIEMJnbDYFxiVJSFhLkeaFlCKc/KQBADHuk8H8MmLBqPyKRSkgAAIfkECQoAAAAsAAAAABAAEAAAAzMIuiDCkDkX43TnvNqeMBnHHOAhLkK2ncpXrKIxDAYLFHNhu7A195UBgTCwCYm7n20pSgAAIfkECQoAAAAsAAAAABAAEAAAAzIIutz+8AkR2ZxVXZoB7tpxcJVgiN1hnN00loVBRsUwFJBgm7YBDQTCQBCbMYDC1s6RAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P4wykmrZULUnCnXHggIwyCOx3EOBDEwqcqwrlAYwmEYB1bapQIgdWIYgp5bEZAAADsAAAAAAAAAAAAK"}},"time_used":17,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/i/youtube_outline_experimental/player_full_enter_alt/v1/24px.svg","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:54.672Z","timestamp":1785129294672,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/i/youtube_outline_experimental/player_full_enter_alt/v1/24px.svg HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.youtube-nocookie.com/\r\nOrigin: https://www.youtube-nocookie.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ncontent-length: 438\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:32:10 GMT\r\nexpires: Fri, 23 Jul 2027 02:32:10 GMT\r\ncache-control: public, max-age=31536000\r\nage: 355364\r\nlast-modified: Mon, 30 Jun 2025 19:00:57 GMT\r\ncontent-type: image/svg+xml\r\nvary: Accept-Encoding\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":858,"size_decoded":1275,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"8ba641c5e21cdcd46f711cbaf41333f7","sha1":"9973835017b9af15d1484f5c227edc18fddb389a","sha256":"b6f6076fb047137def388156568140f993547a855f73c7b965f5e1f305fc7083","sha512":"3022c6d3d3fd81d40ae4f9442ab09c7f1403c28d9498bc838ee54a005c9a4ac3cb23288efba61aae96cc94c47aa169cea304914bea93dc7cbc3d211cde5257f8","ssdeep":"","tlshash":"b911afae68f4c30c5d5409ced39e6873e81b90095f59f8c4bb8a671c204d8c4bd20810","first_seen":"2025-10-16T07:41:49.210009Z","last_seen":"2026-07-27T07:56:49.156588Z","times_seen":5083,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9ImN1cnJlbnRDb2xvciIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiPjxwYXRoIGQ9Ik0xMCAzSDN2N2MwIC4yNjUuMTA1LjUyLjI5My43MDcuMTg3LjE4OC40NDIuMjkzLjcwNy4yOTMuMjY1IDAgLjUyLS4xMDUuNzA3LS4yOTNDNC44OTUgMTAuNTIgNSAxMC4yNjUgNSAxMFY2LjQxNGw0LjI5MyA0LjI5My4wNzYuMDY4Yy4xOTIuMTU1LjQzNS4yMzMuNjguMjIuMjQ3LS4wMTQuNDgtLjExOC42NTQtLjI5Mi4xNzQtLjE3NC4yNzgtLjQwNy4yOTEtLjY1My4wMTQtLjI0Ni0uMDY0LS40ODktLjIxOS0uNjgxbC0uMDY4LS4wNzZMNi40MTQgNUgxMGMuMjY1IDAgLjUyLS4xMDUuNzA3LS4yOTNDMTAuODk1IDQuNTIgMTEgNC4yNjUgMTEgNGMwLS4yNjUtLjEwNS0uNTItLjI5My0uNzA3QzEwLjUyIDMuMTA1IDEwLjI2NSAzIDEwIDNabTEwIDEwYy0uMjY1IDAtLjUyLjEwNS0uNzA3LjI5My0uMTg4LjE4Ny0uMjkzLjQ0Mi0uMjkzLjcwN3YzLjU4NmwtNC4yOTMtNC4yOTMtLjA3Ni0uMDY4Yy0uMTkyLS4xNTUtLjQzNS0uMjMzLS42OC0uMjItLjI0Ny4wMTQtLjQ4LjExOC0uNjU0LjI5Mi0uMTc0LjE3NC0uMjc4LjQwNy0uMjkxLjY1My0uMDE0LjI0Ni4wNjQuNDg5LjIxOS42ODFsLjA2OC4wNzZMMTcuNTg2IDE5SDE0Yy0uMjY1IDAtLjUyLjEwNS0uNzA3LjI5My0uMTg4LjE4Ny0uMjkzLjQ0Mi0uMjkzLjcwNyAwIC4yNjUuMTA1LjUyLjI5My43MDcuMTg3LjE4OC40NDIuMjkzLjcwNy4yOTNoN3YtN2MwLS4yNjUtLjEwNS0uNTItLjI5My0uNzA3QzIwLjUyIDEzLjEwNSAyMC4yNjUgMTMgMjAgMTNaIi8+PC9zdmc+"}},"time_used":16,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/style-CliJwUTR.css","fqdn":"widget-v3.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":"stylesheet","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:55.876Z","timestamp":1785129295876,"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://crystal-exploits.org\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 05:14:55 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: kz242ZlhLRie2vxinuNXMIj5ZzwoyMROlr39rO8nV7LLonSvJc5Jts1IVXoG+zbpX7psI+A\r\nx-77-nzt-ray: fdb54123f653fc6c4fe9666a68516434\r\nx-77-cache: HIT\r\nx-77-age: 1716252\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-27T08:08:01.070126Z","times_seen":1954,"resource_available":false,"data":"LmJ0bi5zdmVsdGUteXdvZm1se2JvcmRlci1yYWRpdXM6OTk5OXB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6LjI1cmVtO2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmlubGluZS1mbGV4fS5idG4tcHJpbWFyeS5zdmVsdGUteXdvZm1se2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1wcmltYXJ5LnN2ZWx0ZS15d29mbWw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tZ2hvc3Quc3ZlbHRlLXl3b2ZtbDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6LjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYnRuLXN1Y2Nlc3Muc3ZlbHRlLXl3b2ZtbHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxNiAxODUgMTI5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5idG4tc3VjY2Vzcy5zdmVsdGUteXdvZm1sOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDUgMTUwIDEwNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5idG4tc20uc3ZlbHRlLXl3b2ZtbHt3aWR0aDoxLjVyZW07aGVpZ2h0OjEuNXJlbX0uYnRuLW1kLnN2ZWx0ZS15d29mbWx7d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbX0uYnRuLWxnLnN2ZWx0ZS15d29mbWx7d2lkdGg6Mi43NXJlbTtoZWlnaHQ6Mi43NXJlbX0uYnRuLXhsLnN2ZWx0ZS15d29mbWx7d2lkdGg6M3JlbTtoZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS15d29mbWx7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjJ9LmJ0bi1kaXNhYmxlZC5zdmVsdGUteXdvZm1sOmhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwMDB9Kiw6YmVmb3JlLDphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowO2JvcmRlci1jb2xvcjp2YXIoLS11bi1kZWZhdWx0LWJvcmRlci1jb2xvciwjZTVlN2ViKX06YmVmb3JlLDphZnRlcnstLXVuLWNvbnRlbnQ6IiJ9aHRtbCw6aG9zdHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTt0YWItc2l6ZTo0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLEFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbCxOb3RvIENvbG9yIEVtb2ppO2xpbmUtaGVpZ2h0OjEuNX1ib2R5e2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjB9aHJ7aGVpZ2h0OjA7Y29sb3I6aW5oZXJpdDtib3JkZXItdG9wLXdpZHRoOjFweH1hYmJyOndoZXJlKFt0aXRsZV0pey13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxMaWJlcmF0aW9uIE1vbm8sQ291cmllciBOZXcsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O21hcmdpbjowO3BhZGRpbmc6MH1idXR0b24sc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9YnV0dG9uLFt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JhY2tncm91bmQtaW1hZ2U6bm9uZX06LW1vei1mb2N1c3Jpbmd7b3V0bGluZTphdXRvfTotbW96LXVpLWludmFsaWR7Ym94LXNoYWRvdzpub25lfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b306Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1ibG9ja3F1b3RlLGRsLGRkLGgxLGgyLGgzLGg0LGg1LGg2LGhyLGZpZ3VyZSxwLHByZXttYXJnaW46MH1maWVsZHNldHttYXJnaW46MDtwYWRkaW5nOjB9bGVnZW5ke3BhZGRpbmc6MH1vbCx1bCxtZW51e21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmV9ZGlhbG9ne3BhZGRpbmc6MH10ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9aW5wdXQ6OnBsYWNlaG9sZGVyLHRleHRhcmVhOjpwbGFjZWhvbGRlcntvcGFjaXR5OjE7Y29sb3I6IzljYTNhZn1idXR0b24sW3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn06ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9aW1nLHN2Zyx2aWRlbyxjYW52YXMsYXVkaW8saWZyYW1lLGVtYmVkLG9iamVjdHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTpibG9ja31pbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99W2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPXVudGlsLWZvdW5kXSkpe2Rpc3BsYXk6bm9uZX0qLDpiZWZvcmUsOmFmdGVyLDo6YmFja2Ryb3B7LS11bi1yb3RhdGU6MDstLXVuLXJvdGF0ZS14OjA7LS11bi1yb3RhdGUteTowOy0tdW4tcm90YXRlLXo6MDstLXVuLXNjYWxlLXg6MTstLXVuLXNjYWxlLXk6MTstLXVuLXNjYWxlLXo6MTstLXVuLXNrZXcteDowOy0tdW4tc2tldy15OjA7LS11bi10cmFuc2xhdGUteDowOy0tdW4tdHJhbnNsYXRlLXk6MDstLXVuLXRyYW5zbGF0ZS16OjA7LS11bi1wYW4teDogOy0tdW4tcGFuLXk6IDstLXVuLXBpbmNoLXpvb206IDstLXVuLXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6cHJveGltaXR5Oy0tdW4tb3JkaW5hbDogOy0tdW4tc2xhc2hlZC16ZXJvOiA7LS11bi1udW1lcmljLWZpZ3VyZTogOy0tdW4tbnVtZXJpYy1zcGFjaW5nOiA7LS11bi1udW1lcmljLWZyYWN0aW9uOiA7LS11bi1ib3JkZXItc3BhY2luZy14OjA7LS11bi1ib3JkZXItc3BhY2luZy15OjA7LS11bi1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdW4tc2hhZG93LWluc2V0OiA7LS11bi1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1pbnNldDogOy0tdW4tcmluZy1vZmZzZXQtd2lkdGg6MHB4Oy0tdW4tcmluZy1vZmZzZXQtY29sb3I6I2ZmZjstLXVuLXJpbmctd2lkdGg6MHB4Oy0tdW4tcmluZy1jb2xvcjojOTNjNWZkODA7LS11bi1ibHVyOiA7LS11bi1icmlnaHRuZXNzOiA7LS11bi1jb250cmFzdDogOy0tdW4tZHJvcC1zaGFkb3c6IDstLXVuLWdyYXlzY2FsZTogOy0tdW4taHVlLXJvdGF0ZTogOy0tdW4taW52ZXJ0OiA7LS11bi1zYXR1cmF0ZTogOy0tdW4tc2VwaWE6IDstLXVuLWJhY2tkcm9wLWJsdXI6IDstLXVuLWJhY2tkcm9wLWJyaWdodG5lc3M6IDstLXVuLWJhY2tkcm9wLWNvbnRyYXN0OiA7LS11bi1iYWNrZHJvcC1ncmF5c2NhbGU6IDstLXVuLWJhY2tkcm9wLWh1ZS1yb3RhdGU6IDstLXVuLWJhY2tkcm9wLWludmVydDogOy0tdW4tYmFja2Ryb3Atb3BhY2l0eTogOy0tdW4tYmFja2Ryb3Atc2F0dXJhdGU6IDstLXVuLWJhY2tkcm9wLXNlcGlhOiB9LmZsZXgtY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYnV0dG9uLWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6MXB4O291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1mb2N1cy1zZWNvbmRhcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXdpZHRoOjJweDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktZm9jdXMpIDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXNlY29uZGFyeS1mb2N1cykgO291dGxpbmUtb2Zmc2V0OjFweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzLXNlY29uZGFyeTpmb2N1cy12aXNpYmxle291dGxpbmUtd2lkdGg6MnB4O291dGxpbmUtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1mb2N1cykgO291dGxpbmUtY29sb3I6dmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5cW2NsaXBcOnJlY3RcKDBcLDBcLDBcLDBcKVxde2NsaXA6cmVjdCgwLDAsMCwwKX0uc3Itb25seXtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW59LnBvaW50ZXItZXZlbnRzLWF1dG97cG9pbnRlci1ldmVudHM6YXV0b30ucG9pbnRlci1ldmVudHMtbm9uZXtwb2ludGVyLWV2ZW50czpub25lfS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS4tYm90dG9tLTRcLjV7Ym90dG9tOi0xLjEyNXJlbX0uLXJpZ2h0LVxbNHB4XF17cmlnaHQ6LTRweH0uLXRvcC1cWzRweFxde3RvcDotNHB4fS5ib3R0b20tXFstOHB4XF17Ym90dG9tOi04cHh9LmJvdHRvbS0we2JvdHRvbTowfS5ib3R0b20tM3tib3R0b206Ljc1cmVtfS5ib3R0b20tZnVsbHtib3R0b206MTAwJX0ubGVmdC1cWzJweFxde2xlZnQ6MnB4fS5sZWZ0LTB7bGVmdDowfS5sZWZ0LTFcLzJ7bGVmdDo1MCV9LmxlZnQtMntsZWZ0Oi41cmVtfS5sZWZ0LTNcLjd7bGVmdDouOTI1cmVtfS5yaWdodC1cWzE2cHhcXXtyaWdodDoxNnB4fS5yaWdodC0we3JpZ2h0OjB9LnJpZ2h0LTBcLjV7cmlnaHQ6LjEyNXJlbX0ucmlnaHQtMntyaWdodDouNXJlbX0ucmlnaHQtM3tyaWdodDouNzVyZW19LnRvcC1cWzJweFxde3RvcDoycHh9LnRvcC0we3RvcDowfS50b3AtMnt0b3A6LjVyZW19LnRvcC0ze3RvcDouNzVyZW19LnRvcC0zXC43e3RvcDouOTI1cmVtfS50b3AtMzB7dG9wOjcuNXJlbX0udG9wLTQwe3RvcDoxMHJlbX0ubGluZS1jbGFtcC0xey13ZWJraXQtbGluZS1jbGFtcDoxO2xpbmUtY2xhbXA6MTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LmxpbmUtY2xhbXAtMnstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS5saW5lLWNsYW1wLTN7LXdlYmtpdC1saW5lLWNsYW1wOjM7bGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbn0ubGluZS1jbGFtcC01ey13ZWJraXQtbGluZS1jbGFtcDo1O2xpbmUtY2xhbXA6NTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LnotMXt6LWluZGV4OjF9LnotMTB7ei1pbmRleDoxMH0uei0xMDB7ei1pbmRleDoxMDB9LnotNTB7ei1pbmRleDo1MH0uZ3JpZHtkaXNwbGF5OmdyaWR9LmZsb2F0LXJpZ2h0e2Zsb2F0OnJpZ2h0fS4tbS1weHttYXJnaW46LTFweH0ubS0ze21hcmdpbjouNzVyZW19Lm0tYXV0b3ttYXJnaW46YXV0b30ubTE1e21hcmdpbjozLjc1cmVtfS5tMTZ7bWFyZ2luOjRyZW19Lm0xOHttYXJnaW46NC41cmVtfS5tMjF7bWFyZ2luOjUuMjVyZW19Lm0yMnttYXJnaW46NS41cmVtfS5tNnttYXJnaW46MS41cmVtfS5tN3ttYXJnaW46MS43NXJlbX0ubTh7bWFyZ2luOjJyZW19Lm05e21hcmdpbjoyLjI1cmVtfS5teC0ye21hcmdpbi1sZWZ0Oi41cmVtO21hcmdpbi1yaWdodDouNXJlbX0ubXgtM3ttYXJnaW4tbGVmdDouNzVyZW07bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXgtNHttYXJnaW4tbGVmdDoxcmVtO21hcmdpbi1yaWdodDoxcmVtfS5teS0ze21hcmdpbi10b3A6Ljc1cmVtO21hcmdpbi1ib3R0b206Ljc1cmVtfS5teS00e21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW19Li1tdC0ze21hcmdpbi10b3A6LS43NXJlbX0ubWItXFsycHhcXXttYXJnaW4tYm90dG9tOjJweH0ubWItMHttYXJnaW4tYm90dG9tOjB9Lm1iLTEsLm5vdC1sYXN0LW9mLXR5cGVcOm1iLTE6bm90KDpsYXN0LW9mLXR5cGUpe21hcmdpbi1ib3R0b206LjI1cmVtfS5tYi0ye21hcmdpbi1ib3R0b206LjVyZW19Lm1iLTN7bWFyZ2luLWJvdHRvbTouNzVyZW19Lm1iLTR7bWFyZ2luLWJvdHRvbToxcmVtfS5tYi02e21hcmdpbi1ib3R0b206MS41cmVtfS5tbC0wXC41e21hcmdpbi1sZWZ0Oi4xMjVyZW19Lm1sLTF7bWFyZ2luLWxlZnQ6LjI1cmVtfS5tbC0ye21hcmdpbi1sZWZ0Oi41cmVtfS5tbC0ze21hcmdpbi1sZWZ0Oi43NXJlbX0ubWwtNHttYXJnaW4tbGVmdDoxcmVtfS5tbC04e21hcmdpbi1sZWZ0OjJyZW19Lm1yLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXItMVwuNXttYXJnaW4tcmlnaHQ6LjM3NXJlbX0ubXItMTB7bWFyZ2luLXJpZ2h0OjIuNXJlbX0ubXItMnttYXJnaW4tcmlnaHQ6LjVyZW19Lm1yLTN7bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXItNHttYXJnaW4tcmlnaHQ6MXJlbX0ubXQtXFsxcHhcXXttYXJnaW4tdG9wOjFweH0ubXQtMFwuNXttYXJnaW4tdG9wOi4xMjVyZW19Lm10LTJ7bWFyZ2luLXRvcDouNXJlbX0ubXQtM3ttYXJnaW4tdG9wOi43NXJlbX0ubXQtNHttYXJnaW4tdG9wOjFyZW19Lm10LTZ7bWFyZ2luLXRvcDoxLjVyZW19Lm10LTh7bWFyZ2luLXRvcDoycmVtfS5maXJzdC1vZi10eXBlXDptdC0yOmZpcnN0LW9mLXR5cGV7bWFyZ2luLXRvcDouNXJlbX0uaW5saW5le2Rpc3BsYXk6aW5saW5lfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmgtXFsxXC4yZW1cXXtoZWlnaHQ6MS4yZW19LmgtXFsxZW1cXXtoZWlnaHQ6MWVtfS5oLVxbNTBweFxde2hlaWdodDo1MHB4fS5oLTF7aGVpZ2h0Oi4yNXJlbX0uaC0xMHtoZWlnaHQ6Mi41cmVtfS5oLTExe2hlaWdodDoyLjc1cmVtfS5oLTEye2hlaWdodDozcmVtfS5oLTJ7aGVpZ2h0Oi41cmVtfS5oLTJcLjV7aGVpZ2h0Oi42MjVyZW19LmgtMjB7aGVpZ2h0OjVyZW19LmgtMzB7aGVpZ2h0OjcuNXJlbX0uaC00e2hlaWdodDoxcmVtfS5oLTQwe2hlaWdodDoxMHJlbX0uaC00MDBweHtoZWlnaHQ6NDAwcHh9LmgtNXtoZWlnaHQ6MS4yNXJlbX0uaC01NHB4e2hlaWdodDo1NHB4fS5oLTZ7aGVpZ2h0OjEuNXJlbX0uaC02MHB4e2hlaWdodDo2MHB4fS5oLTY0cHh7aGVpZ2h0OjY0cHh9LmgtN3toZWlnaHQ6MS43NXJlbX0uaC04e2hlaWdodDoycmVtfS5oLWZ1bGx7aGVpZ2h0OjEwMCV9LmgtcHh7aGVpZ2h0OjFweH0ubWF4LWgtXFsxMjVweFxde21heC1oZWlnaHQ6MTI1cHh9Lm1heC1oLVxbMjQwcHhcXXttYXgtaGVpZ2h0OjI0MHB4fS5tYXgtaC1cWzMycHhcXXttYXgtaGVpZ2h0OjMycHh9Lm1heC1oLTEzMnB4e21heC1oZWlnaHQ6MTMycHh9Lm1heC1oLTY0e21heC1oZWlnaHQ6MTZyZW19Lm1heC1oLTgwdmh7bWF4LWhlaWdodDo4MHZofS5tYXgtaC04NnttYXgtaGVpZ2h0OjIxLjVyZW19Lm1heC1oLWZ1bGx7bWF4LWhlaWdodDoxMDAlfS5tYXgtdy1cWzgwXCVcXXttYXgtd2lkdGg6ODAlfS5tYXgtdy1cWzg1XCVcXXttYXgtd2lkdGg6ODUlfS5tYXgtdy1cW2NhbGNcKDEwMFwlLTE1MHB4XClcXXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMTUwcHgpfS5tYXgtdy1mdWxse21heC13aWR0aDoxMDAlfS5taW4taC1cWzE2cHhcXXttaW4taGVpZ2h0OjE2cHh9Lm1pbi13LVxbMTZweFxde21pbi13aWR0aDoxNnB4fS5taW4tdy0we21pbi13aWR0aDowfS5taW4tdy01e21pbi13aWR0aDoxLjI1cmVtfS5taW4tdy01XC41e21pbi13aWR0aDoxLjM3NXJlbX0ubWluLXctNnttaW4td2lkdGg6MS41cmVtfS53LVxbMVwuMmVtXF17d2lkdGg6MS4yZW19LnctXFsxZW1cXXt3aWR0aDoxZW19LnctXFs1MHB4XF17d2lkdGg6NTBweH0udy0we3dpZHRoOjB9LnctMXt3aWR0aDouMjVyZW19LnctMTF7d2lkdGg6Mi43NXJlbX0udy0xMTZ7d2lkdGg6MjlyZW19LnctMTJ7d2lkdGg6M3JlbX0udy0ye3dpZHRoOi41cmVtfS53LTJcLjV7d2lkdGg6LjYyNXJlbX0udy0yODBweHt3aWR0aDoyODBweH0udy0zNDhweHt3aWR0aDozNDhweH0udy00e3dpZHRoOjFyZW19LnctNXt3aWR0aDoxLjI1cmVtfS53LTUye3dpZHRoOjEzcmVtfS53LTU2e3dpZHRoOjE0cmVtfS53LTZ7d2lkdGg6MS41cmVtfS53LTYwcHh7d2lkdGg6NjBweH0udy03e3dpZHRoOjEuNzVyZW19LnctOHt3aWR0aDoycmVtfS53LWZ1bGx7d2lkdGg6MTAwJX0udy1tYXh7d2lkdGg6bWF4LWNvbnRlbnR9LnctcHh7d2lkdGg6MXB4fS5mbGV4e2Rpc3BsYXk6ZmxleH0uaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0uZmxleC0xe2ZsZXg6MX0uZmxleC1ub25le2ZsZXg6bm9uZX0uZmxleC1zaHJpbmt7ZmxleC1zaHJpbms6MX0uZmxleC1zaHJpbmstMCwuc2hyaW5rLTB7ZmxleC1zaHJpbms6MH0uZmxleC1ncm93LC5ncm93e2ZsZXgtZ3JvdzoxfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC13cmFwe2ZsZXgtd3JhcDp3cmFwfS4tdHJhbnNsYXRlLXgtMVwvMnstLXVuLXRyYW5zbGF0ZS14Oi01MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNsYXRlLXgtZnVsbHstLXVuLXRyYW5zbGF0ZS14OjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpzY2FsZS0xMTV7LS11bi1zY2FsZS14OjEuMTU7LS11bi1zY2FsZS15OjEuMTU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uaG92ZXJcOnNjYWxlLTEyMDpob3ZlcnstLXVuLXNjYWxlLXg6MS4yOy0tdW4tc2NhbGUteToxLjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNmb3Jte3RyYW5zZm9ybTp0cmFuc2xhdGVYKHZhcigtLXVuLXRyYW5zbGF0ZS14KSkgdHJhbnNsYXRlWSh2YXIoLS11bi10cmFuc2xhdGUteSkpIHRyYW5zbGF0ZVoodmFyKC0tdW4tdHJhbnNsYXRlLXopKSByb3RhdGUodmFyKC0tdW4tcm90YXRlKSkgcm90YXRlWCh2YXIoLS11bi1yb3RhdGUteCkpIHJvdGF0ZVkodmFyKC0tdW4tcm90YXRlLXkpKSByb3RhdGVaKHZhcigtLXVuLXJvdGF0ZS16KSkgc2tld1godmFyKC0tdW4tc2tldy14KSkgc2tld1kodmFyKC0tdW4tc2tldy15KSkgc2NhbGVYKHZhcigtLXVuLXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdW4tc2NhbGUteSkpIHNjYWxlWih2YXIoLS11bi1zY2FsZS16KSl9QGtleWZyYW1lcyBwdWxzZXswJSx0b3tvcGFjaXR5OjF9NTAle29wYWNpdHk6LjV9fUBrZXlmcmFtZXMgcHVzaC10by1sZWZ0ezAle21hcmdpbi1yaWdodDotNTAlO3RyYW5zZm9ybTpzY2FsZSgwKX10b3ttYXJnaW4tcmlnaHQ6aW5oZXJpdDt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgc3BpbnswJXtyb3RhdGU6MGRlZ310b3tyb3RhdGU6MzYwZGVnfX1Aa2V5ZnJhbWVzIHR5cGluZ3swJSw1MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjUle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfX0uYW5pbWF0ZS1wdWxzZXthbmltYXRpb246MnMgY3ViaWMtYmV6aWVyKC40LDAsLjYsMSkgaW5maW5pdGUgcHVsc2V9LmFuaW1hdGUtcHVzaC10by1sZWZ0e2FuaW1hdGlvbjouMjVzIGVhc2UtaW4tb3V0IHB1c2gtdG8tbGVmdH0uYW5pbWF0ZS1zcGlue2FuaW1hdGlvbjoxcyBsaW5lYXIgaW5maW5pdGUgc3Bpbn0uYW5pbWF0ZS10eXBpbmd7YW5pbWF0aW9uOi44cyBlYXNlLWluLW91dCB0eXBpbmd9LmN1cnNvci1hdXRve2N1cnNvcjphdXRvfS5jdXJzb3ItcG9pbnRlciwuaG92ZXJcOmN1cnNvci1wb2ludGVyOmhvdmVye2N1cnNvcjpwb2ludGVyfS5jdXJzb3Itbm90LWFsbG93ZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucmVzaXple3Jlc2l6ZTpib3RofS5yZXNpemUtbm9uZXtyZXNpemU6bm9uZX0uc2Nyb2xsLW10LTJ7c2Nyb2xsLW1hcmdpbi10b3A6LjVyZW19Lmxpc3QtZGVjaW1hbHtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH0ubGlzdC1kaXNje2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5jb250ZW50LWNlbnRlcnthbGlnbi1jb250ZW50OmNlbnRlcn0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uc2VsZi1zdHJldGNoe2FsaWduLXNlbGY6c3RyZXRjaH0uanVzdGlmeS1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmdhcC0ye2dhcDouNXJlbX0uZ2FwLTN7Z2FwOi43NXJlbX0uc3BhY2UteC0yPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdW4tc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWxlZnQ6Y2FsYyguNXJlbSAqIGNhbGMoMSAtIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYyguNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTU+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKDEuMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS14LXJldmVyc2UpKSk7bWFyZ2luLXJpZ2h0OmNhbGMoMS4yNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tdG9wOmNhbGMoLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC41cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktND46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxcmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxcmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktNT46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxLjI1cmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxLjI1cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctY2xpcHtvdmVyZmxvdzpjbGlwfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy14LWhpZGRlbntvdmVyZmxvdy14OmhpZGRlbn0ub3ZlcmZsb3cteS1hdXRve292ZXJmbG93LXk6YXV0b30ub3ZlcmZsb3cteS1zY3JvbGx7b3ZlcmZsb3cteTpzY3JvbGx9Lm92ZXJzY3JvbGwtY29udGFpbntvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW59LnRydW5jYXRle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0udGV4dC1lbGxpcHNpc3t0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53aGl0ZXNwYWNlLW5vcm1hbHt3aGl0ZS1zcGFjZTpub3JtYWx9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1wcmV7d2hpdGUtc3BhY2U6cHJlfS53aGl0ZXNwYWNlLXByZS13cmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS5icmVhay13b3Jkc3tvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LmJyZWFrLWFsbHt3b3JkLWJyZWFrOmJyZWFrLWFsbH0uYm9yZGVyLC5ib3JkZXItMXtib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItd2lkdGg6MH0uYm9yZGVyLTJ7Ym9yZGVyLXdpZHRoOjJweH0uYm9yZGVyLXQtMntib3JkZXItdG9wLXdpZHRoOjJweH0uYm9yZGVyLWdyYXktMzAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci1ncmVlbi00MDB7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoNzQgMjIyIDEyOC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeSl9LmJvcmRlci1wcmltYXJ5LWJ1dHRvbntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pfS5ib3JkZXItcmVkLTUwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLXNsYXRlLTIwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItd2hpdGV7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uZm9jdXNcOmJvcmRlci1ibHVlLTUwMDpmb2N1c3stLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci10LW5ldXRyYWwtMTAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTstLXVuLWJvcmRlci10b3Atb3BhY2l0eTp2YXIoLS11bi1ib3JkZXItb3BhY2l0eSk7Ym9yZGVyLXRvcC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYm9yZGVyLXRvcC1vcGFjaXR5KSl9LmJvcmRlci1yb3VuZGVkLWZ1bGwsLnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjk5OTlweH0ucm91bmRlZC0yLC5yb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6LjVyZW19LnJvdW5kZWQtMnhse2JvcmRlci1yYWRpdXM6MXJlbX0ucm91bmRlZC0zeGwsLnJvdW5kZWQtNntib3JkZXItcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1tZHtib3JkZXItcmFkaXVzOi4zNzVyZW19LnJvdW5kZWQteGx7Ym9yZGVyLXJhZGl1czouNzVyZW19LnJvdW5kZWQtbHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbX0ucm91bmRlZC1sLTN4bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW19LnJvdW5kZWQtci0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC10LTZ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5yb3VuZGVkLWxiLTN4bHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1sdC0zeGx7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW19LnJvdW5kZWQtcmItM3hse2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ydC0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5ib3JkZXItZGFzaGVke2JvcmRlci1zdHlsZTpkYXNoZWR9LmJvcmRlci1ub25le2JvcmRlci1zdHlsZTpub25lfS5iZy1ibGFja3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ibGFja1wvODB7YmFja2dyb3VuZC1jb2xvcjojMDAwY30uYmctZW1lcmFsZC01MDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTYgMTg1IDEyOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjkgMjMxIDIzNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTMwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTQwMFwvXFtcLjk1XF17YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjJ9LmJnLWdyYXktNjAwXC9cW1wuOTVcXXtiYWNrZ3JvdW5kLWNvbG9yOiM0YjU1NjNmMn0uYmctZ3JlZW4tNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDc0IDIyMiAxMjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctZ3JlZW4tNTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDM0IDE5NyA5NC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDUgMjQ1IDI0NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMFwvNTB7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1ODB9LmJnLW5ldXRyYWwtNjAwXC80MHtiYWNrZ3JvdW5kLWNvbG9yOiM1MjUyNTI2Nn0uYmctb3JhbmdlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDkgMTE1IDIyL3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXByaW1hcnktYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIH0uYmctcmVkLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctcmVkLTYwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtMTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1zbGF0ZS0zMDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjAzIDIxMyAyMjUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13aGl0ZXstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1ibGFjazpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1lbWVyYWxkLTYwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig1IDE1MCAxMDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uaG92ZXItYmctcHJpbWFyeS1idXR0b24taG92ZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5ob3Zlci1iZy1wcmltYXJ5LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmhvdmVyLWJnLXNsYXRlLTEwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDEgMjQ1IDI0OS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy10cmFuc3BhcmVudDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5ob3Zlclw6Ymctc2xhdGUtMTAwOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLW9wYWNpdHktMTAsLmhvdmVyLWJnLW9wYWNpdHktMTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5Oi4xfS5mcm9tLXdoaXRlXC8xMDB7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlOy0tdW4tZ3JhZGllbnQtZnJvbTojZmZmIHZhcigtLXVuLWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwIHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXVuLWdyYWRpZW50LXN0b3BzOnZhcigtLXVuLWdyYWRpZW50LWZyb20pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnZpYS13aGl0ZVwvNDB7LS11bi1ncmFkaWVudC12aWEtcG9zaXRpb246NTAlOy0tdW4tZ3JhZGllbnQtdG86I2ZmZjA7LS11bi1ncmFkaWVudC1zdG9wczp2YXIoLS11bi1ncmFkaWVudC1mcm9tKSwgI2ZmZjYgdmFyKC0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdW4tZ3JhZGllbnQtdG8pfS52aWEtd2hpdGVcLzUwey0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjUwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwOy0tdW4tZ3JhZGllbnQtc3RvcHM6dmFyKC0tdW4tZ3JhZGllbnQtZnJvbSksICNmZmZmZmY4MCB2YXIoLS11bi1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnRvLXRyYW5zcGFyZW50ey0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOnRyYW5zcGFyZW50IHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZnJvbS0wXCV7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlfS52aWEtNTBcJXstLXVuLWdyYWRpZW50LXZpYS1wb3NpdGlvbjo1MCV9LnZpYS03MFwley0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjcwJX0uYmctZ3JhZGllbnQtdG8tdHstLXVuLWdyYWRpZW50LXNoYXBlOnRvIHRvcCBpbiBva2xjaDstLXVuLWdyYWRpZW50OnZhcigtLXVuLWdyYWRpZW50LXNoYXBlKSwgdmFyKC0tdW4tZ3JhZGllbnQtc3RvcHMpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHZhcigtLXVuLWdyYWRpZW50KSl9LmZpbGwtY3VycmVudHtmaWxsOmN1cnJlbnRDb2xvcn0uZmlsbC1wcmltYXJ5LWJ1dHRvbntmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmZpbGwtcHJpbWFyeS1idXR0b24tY29udGVudHtmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0ub2JqZWN0LWNvbnRhaW57b2JqZWN0LWZpdDpjb250YWlufS5wLTB7cGFkZGluZzowfS5wLTBcLjh7cGFkZGluZzouMnJlbX0ucC0xe3BhZGRpbmc6LjI1cmVtfS5wLTFcLjV7cGFkZGluZzouMzc1cmVtfS5wLTJ7cGFkZGluZzouNXJlbX0ucC0ze3BhZGRpbmc6Ljc1cmVtfS5wLTR7cGFkZGluZzoxcmVtfS5wLTh7cGFkZGluZzoycmVtfS5weCwucHgtNHtwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19LnB4LTF7cGFkZGluZy1sZWZ0Oi4yNXJlbTtwYWRkaW5nLXJpZ2h0Oi4yNXJlbX0ucHgtMntwYWRkaW5nLWxlZnQ6LjVyZW07cGFkZGluZy1yaWdodDouNXJlbX0ucHgtM3twYWRkaW5nLWxlZnQ6Ljc1cmVtO3BhZGRpbmctcmlnaHQ6Ljc1cmVtfS5weC04e3BhZGRpbmctbGVmdDoycmVtO3BhZGRpbmctcmlnaHQ6MnJlbX0ucHktMXtwYWRkaW5nLXRvcDouMjVyZW07cGFkZGluZy1ib3R0b206LjI1cmVtfS5weS0ye3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctYm90dG9tOi41cmVtfS5weS0yXC41e3BhZGRpbmctdG9wOi42MjVyZW07cGFkZGluZy1ib3R0b206LjYyNXJlbX0ucHktM3twYWRkaW5nLXRvcDouNzVyZW07cGFkZGluZy1ib3R0b206Ljc1cmVtfS5wYi0we3BhZGRpbmctYm90dG9tOjB9LnBiLTF7cGFkZGluZy1ib3R0b206LjI1cmVtfS5wYi0ye3BhZGRpbmctYm90dG9tOi41cmVtfS5wYi0ze3BhZGRpbmctYm90dG9tOi43NXJlbX0ucGItNHtwYWRkaW5nLWJvdHRvbToxcmVtfS5wbC0ye3BhZGRpbmctbGVmdDouNXJlbX0ucGwtNCwuZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpub3QtZmlyc3RcOnBsLTQ6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjFyZW19LnByLTF7cGFkZGluZy1yaWdodDouMjVyZW19LnByLTR7cGFkZGluZy1yaWdodDoxcmVtfS5wdC0xe3BhZGRpbmctdG9wOi4yNXJlbX0ucHQtNntwYWRkaW5nLXRvcDoxLjVyZW19LnB0LTl7cGFkZGluZy10b3A6Mi4yNXJlbX0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC1iYXNle2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNXJlbX0udGV4dC1iYXNlLWlucHV0e2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW19LnRleHQtbGd7Zm9udC1zaXplOjEuMTI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19LnRleHQtc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS4yNXJlbX0udGV4dC14c3tmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjFyZW19LnRleHQtYmxhY2t7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LWdyYXktMzAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1ncmF5LTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDcgMTE0IDEyOC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtbmV1dHJhbC00MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTYzIDE2MyAxNjMvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LW5ldXRyYWwtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDExNSAxMTUgMTE1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnkpIH0udGV4dC1wcmltYXJ5LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgfS50ZXh0LXByaW1hcnktYnV0dG9uLWNvbnRlbnR7Y29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudCkgfS50ZXh0LXByaW1hcnktY29udGVudHtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRlbnQpIH0udGV4dC1yZWQtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNDAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3Itc2xhdGUtNTAwLC50ZXh0LXNsYXRlLTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNjAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDcxIDg1IDEwNS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmNvbG9yLXNsYXRlLTgwMCwudGV4dC1zbGF0ZS04MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LXdoaXRley0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uaG92ZXItdGV4dC1wcmltYXJ5LWJ1dHRvbi1jb250ZW50OmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uaG92ZXJcOnRleHQtZ3JheS00MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTU2IDE2MyAxNzUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6dGV4dC1zbGF0ZS04MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5wbGFjZWhvbGRlclw6dGV4dC1zbGF0ZS0zMDA6OnBsYWNlaG9sZGVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwMyAyMTMgMjI1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3ItcmVkLTYwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6Y29sb3Itc2xhdGUtNzAwOmhvdmVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDUxIDY1IDg1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1vcGFjaXR5LTIwey0tdW4tdGV4dC1vcGFjaXR5Oi4yfS5mb250LTIwMHtmb250LXdlaWdodDoyMDB9LmZvbnQtNTAwLC5mb250LW1lZGl1bXtmb250LXdlaWdodDo1MDB9LmZvbnQtYm9sZHtmb250LXdlaWdodDo3MDB9LmZvbnQtbGlnaHR7Zm9udC13ZWlnaHQ6MzAwfS5mb250LXNlbWlib2xke2ZvbnQtd2VpZ2h0OjYwMH0ubGVhZGluZy1cWzIycHhcXXtsaW5lLWhlaWdodDoyMnB4fS5sZWFkaW5nLTRcLjV7bGluZS1oZWlnaHQ6MS4xMjVyZW19LmxlYWRpbmctNVwuNXtsaW5lLWhlaWdodDoxLjM3NXJlbX0ubGVhZGluZy02e2xpbmUtaGVpZ2h0OjEuNXJlbX0ubGVhZGluZy1ub3JtYWx7bGluZS1oZWlnaHQ6MS41fS5pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWN9LnVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm5vLXVuZGVybGluZSwuaG92ZXItbm8tdW5kZXJsaW5lOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5vcGFjaXR5LTEwe29wYWNpdHk6LjF9Lm9wYWNpdHktMTAwe29wYWNpdHk6MX0ub3BhY2l0eS0yMHtvcGFjaXR5Oi4yfS5vcGFjaXR5LTMwe29wYWNpdHk6LjN9Lm9wYWNpdHktNjB7b3BhY2l0eTouNn0uc2hhZG93ey0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxcHggM3B4IDAgdmFyKC0tdW4tc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksdmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uc2hhZG93LWxney0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxMHB4IDE1cHggLTNweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgNHB4IDZweCAtNHB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctbWR7LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDRweCA2cHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgMnB4IDRweCAtMnB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctc217LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggMCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpvdXRsaW5lLTI6Zm9jdXMtd2l0aGlue291dGxpbmUtd2lkdGg6MnB4fS5mb2N1cy13aXRoaW5cOm91dGxpbmUtcHJpbWFyeS1mb2N1czpmb2N1cy13aXRoaW57b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSB9Lm91dGxpbmUsLmZvY3VzLXdpdGhpblw6b3V0bGluZS1zb2xpZDpmb2N1cy13aXRoaW57b3V0bGluZS1zdHlsZTpzb2xpZH0ub3V0bGluZS1ub25lLC5mb2N1c1w6b3V0bGluZS1ub25lOmZvY3VzLC5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLW5vbmU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDoycHg7b3V0bGluZToycHggc29saWQgIzAwMDB9LmZvY3VzLXdpdGhpblw6cmluZy0zOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctd2lkdGg6M3B4Oy0tdW4tcmluZy1vZmZzZXQtc2hhZG93OnZhcigtLXVuLXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXVuLXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS11bi1yaW5nLW9mZnNldC1jb2xvcik7LS11bi1yaW5nLXNoYWRvdzp2YXIoLS11bi1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKHZhcigtLXVuLXJpbmctd2lkdGgpICsgdmFyKC0tdW4tcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS11bi1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpyaW5nLW9mZnNldC0xOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb2Zmc2V0LXdpZHRoOjFweH0uZm9jdXMtd2l0aGluXDpyaW5nLWJsdWUtNDAwOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb3BhY2l0eToxOy0tdW4tcmluZy1jb2xvcjpyZ2IoOTYgMTY1IDI1MC92YXIoLS11bi1yaW5nLW9wYWNpdHkpKSB9LmZvY3VzXDpyaW5nLWJsdWUtNTAwOmZvY3Vzey0tdW4tcmluZy1vcGFjaXR5OjE7LS11bi1yaW5nLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLXJpbmctb3BhY2l0eSkpIH0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSxvcGFjaXR5LGJveC1zaGFkb3csdHJhbnNmb3JtLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcixiYWNrZHJvcC1maWx0ZXI7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi1vcGFjaXR5e3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tcGFkZGluZy00MDB7dHJhbnNpdGlvbi1wcm9wZXJ0eTpwYWRkaW5nO3RyYW5zaXRpb24tZHVyYXRpb246LjRzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLXRyYW5zZm9ybXt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24td2lkdGgtMjUwe3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGg7dHJhbnNpdGlvbi1kdXJhdGlvbjouMjVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5kdXJhdGlvbi0xNTB7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzfS5kdXJhdGlvbi0zMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmR1cmF0aW9uLTc1e3RyYW5zaXRpb24tZHVyYXRpb246NzVtc30uZGVsYXktMHt0cmFuc2l0aW9uLWRlbGF5OjBzfS5lYXNlLWluLW91dHt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uZWFzZS1vdXR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0uY29udGVudC1cW1wiXCJcXXtjb250ZW50OiIifS5iZy1wcmltYXJ5LWdyYWRpZW50e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDgwZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvKSAxMzAlKX0uYmctcHJpbWFyeS1ncmFkaWVudC1idXR0b257YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtYnV0dG9uLWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWJ1dHRvbi10bykgMTMwJSl9LmJnLXByaW1hcnktZ3JhZGllbnQtaG92ZXI6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItZnJvbSksIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItdG8pIDEzMCUpfS5saW5lLWNsYW1wLTV7LXdlYmtpdC1saW5lLWNsYW1wOjU7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS50eXBpbmctaW5kaWNhdG9yLnN2ZWx0ZS1zNDB4Z2t7Ym9yZGVyLXJhZGl1czo5OTk5cHh9LnR5cGluZy1pbmRpY2F0b3Iuc20uc3ZlbHRlLXM0MHhna3t3aWR0aDouMjVyZW07aGVpZ2h0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci5tZC5zdmVsdGUtczQweGdre3dpZHRoOi41cmVtO2hlaWdodDouNXJlbX0udHlwaW5nLWluZGljYXRvci5pbmRpY2F0b3ItY29sb3ItYmxhY2suc3ZlbHRlLXM0MHhna3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS50eXBpbmctaW5kaWNhdG9yLmluZGljYXRvci1jb2xvci1ncmF5LnN2ZWx0ZS1zNDB4Z2t7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTAwIDExNiAxMzkvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0udHlwaW5nLWluZGljYXRvci5zdmVsdGUtczQweGdrOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci1zZWNvbmQuc3ZlbHRlLXM0MHhna3thbmltYXRpb24tZGVsYXk6LjFzfS50eXBpbmctaW5kaWNhdG9yLXRoaXJkLnN2ZWx0ZS1zNDB4Z2t7YW5pbWF0aW9uLWRlbGF5Oi4yc30uYnRuLnN2ZWx0ZS0xZTg0bjd3e2JvcmRlci1yYWRpdXM6MS41cmVtO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctbGVmdDoxcmVtO3BhZGRpbmctcmlnaHQ6MXJlbTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTppbmxpbmUtZmxleH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3d7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgO2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3c6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tb3V0bGluZS5zdmVsdGUtMWU4NG43d3tib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbik7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigwIDAgMC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmJ0bi1vdXRsaW5lLnN2ZWx0ZS0xZTg0bjd3OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1yYWlzZWQuc3ZlbHRlLTFlODRuN3d7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSA7Ym94LXNoYWRvdzowIDJweCA2cHggIzAwMDAwMDI5fS5idG4tcmFpc2VkLnN2ZWx0ZS0xZTg0bjd3OmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJ0bi1zbS5zdmVsdGUtMWU4NG43d3toZWlnaHQ6MnJlbX0uYnRuLW1kLnN2ZWx0ZS0xZTg0bjd3e2hlaWdodDoyLjVyZW19LmJ0bi1sZy5zdmVsdGUtMWU4NG43d3toZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS0xZTg0bjd3e2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi4yfS5kYXJrLnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojNGI1NTYzZjI7cGFkZGluZzouNXJlbSAuNzVyZW19LmxpZ2h0LnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjI7cGFkZGluZzouMjVyZW0gLjVyZW19c3ZnLnN2ZWx0ZS15aXhoYXR7ZmlsbDpjdXJyZW50Q29sb3I7d2lkdGg6MWVtO2hlaWdodDoxZW19LmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpke2p1c3RpZnktY29udGVudDpzdGFydDthbGlnbi1pdGVtczpzdGFydDt3aWR0aDoxMDAlfS5jYXJvdXNlbC5zdmVsdGUtMTBxcWp6ZDpob3ZlciAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCksLmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpkOmZvY3VzLXdpdGhpbiAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCl7b3BhY2l0eToxfS5idXR0b24uc3ZlbHRlLTEwcXFqemR7b3BhY2l0eTowO3otaW5kZXg6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlcjpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuNHM7cG9zaXRpb246YWJzb2x1dGV9LmxlZnQuc3ZlbHRlLTEwcXFqemR7bGVmdDotMWVtfS5yaWdodC5zdmVsdGUtMTBxcWp6ZHtyaWdodDotMWVtfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCB1bHttYXJnaW4tcmlnaHQ6LjI1cmVtO3BhZGRpbmctbGVmdDoxcmVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBsaTpub3QoOmZpcnN0LWNoaWxkKSwubWVzc2FnZS1jb250ZW50LWh0bWwgbGk+dWwsLm1lc3NhZ2UtY29udGVudC1odG1sIGxpPm9se21hcmdpbi10b3A6LjVyZW19Lm1lc3NhZ2UtY29udGVudC1odG1sIG9se21hcmdpbi1yaWdodDouMjVyZW07cGFkZGluZy1sZWZ0OjFyZW07bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9Lm1lc3NhZ2UtY29udGVudC1odG1sIGF7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCAqe3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9Lm1lc3NhZ2UtY29udGVudC10ZXh0LnN2ZWx0ZS1uZmIweW17b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0ubWVzc2FnZS1jb250ZW50LXRleHQgYXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm1lc3NhZ2UtY29udGVudC10ZXh0IGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6Zmlyc3Qtb2YtdHlwZXt6LWluZGV4OjN9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6bnRoLW9mLXR5cGUoMil7ei1pbmRleDoyfS5hdmF0YXItZ3JvdXAtaXRlbS5zdmVsdGUteWZ4YTd0Om50aC1vZi10eXBlKDMpe3otaW5kZXg6MX0uYXZhdGFyLXNtLnN2ZWx0ZS15ZnhhN3Q6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LTEycHh9LmF2YXRhci1tZC5zdmVsdGUteWZ4YTd0Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi0xNnB4fS5hdmF0YXItbGcuc3ZlbHRlLXlmeGE3dDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDotMjJweH0ucmVtb3ZlSWNvbi5zdmVsdGUtMTFmM2Jkd3tvcGFjaXR5OjA7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6aG92ZXIgLnJlbW92ZUljb246d2hlcmUoLnN2ZWx0ZS0xMWYzYmR3KSwuYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6Zm9jdXMtd2l0aGluIC5yZW1vdmVJY29uOndoZXJlKC5zdmVsdGUtMTFmM2Jkdyl7b3BhY2l0eToxfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2V7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluO3Njcm9sbGJhci13aWR0aDpub25lO2ZsZXg6MTttYXgtaGVpZ2h0OjMycHg7bWFyZ2luLXRvcDouNzVyZW07bWFyZ2luLWJvdHRvbTouNzVyZW07ZGlzcGxheTpncmlkO292ZXJmbG93OmhpZGRlbiBhdXRvfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0udGV4dGFyZWEtY29udGFpbmVyLXJlc2l6YWJsZS5zdmVsdGUtMXRsOWxjZXttYXgtaGVpZ2h0OjEyNXB4fS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXJ7Y29udGVudDphdHRyKGRhdGEtdGV4dGFyZWEtdmFsdWUpICIgIjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt2aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVhay13b3JkfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXIsdGV4dGFyZWEuc3ZlbHRlLTF0bDlsY2V7Zm9udC1zaXplOmluaGVyaXQ7Z3JpZC1hcmVhOjEvMS8yLzI7bWFyZ2luLWxlZnQ6MXJlbTttYXJnaW4tcmlnaHQ6Ljc1cmVtfXRleHRhcmVhLnN2ZWx0ZS0xdGw5bGNlOjpwbGFjZWhvbGRlcnt3b3JkLWJyZWFrOmJyZWFrLWFsbDtvdmVyZmxvdzpoaWRkZW59ZW0tZW1vamktcGlja2Vyey0tYm9yZGVyLXJhZGl1czoxMnB4Oy0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjpyZ2IoMjI2IDIzMiAyNDAvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKTtib3JkZXItcmFkaXVzOi43NXJlbTt3aWR0aDoxMDAlO2hlaWdodDo0MDBweDttYXgtaGVpZ2h0Ojgwdmg7cGFkZGluZy10b3A6LjI1cmVtO2JveC1zaGFkb3c6MCAxcHggMTVweCAxcHggIzAwMDAwMDFmfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em97LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjI5IDIzMSAyMzUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoyLjc1cmVtO2hlaWdodDoxLjVyZW07dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2U7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86Zm9jdXN7b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmU6MnB4IHNvbGlkICMwMDAwfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86YWZ0ZXJ7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7Y29udGVudDoiIjtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoxLjI1cmVtO2hlaWdodDoxLjI1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O2xlZnQ6MnB4fS5zd2l0Y2guY2hlY2tlZC5zdmVsdGUtMXl6Znp6b3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LnN3aXRjaC5jaGVja2VkLnN2ZWx0ZS0xeXpmenpvOmFmdGVyey0tdW4tdHJhbnNsYXRlLXg6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCh2YXIoLS11bi10cmFuc2xhdGUteCkpIHRyYW5zbGF0ZVkodmFyKC0tdW4tdHJhbnNsYXRlLXkpKSB0cmFuc2xhdGVaKHZhcigtLXVuLXRyYW5zbGF0ZS16KSkgcm90YXRlKHZhcigtLXVuLXJvdGF0ZSkpIHJvdGF0ZVgodmFyKC0tdW4tcm90YXRlLXgpKSByb3RhdGVZKHZhcigtLXVuLXJvdGF0ZS15KSkgcm90YXRlWih2YXIoLS11bi1yb3RhdGUteikpIHNrZXdYKHZhcigtLXVuLXNrZXcteCkpIHNrZXdZKHZhcigtLXVuLXNrZXcteSkpIHNjYWxlWCh2YXIoLS11bi1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXVuLXNjYWxlLXkpKSBzY2FsZVoodmFyKC0tdW4tc2NhbGUteikpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmludmFsaWQuc3ZlbHRlLTEyZjRjMWcsLmludmFsaWQuc3ZlbHRlLTE5bTN1Y3l7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9c2VsZWN0LnN2ZWx0ZS04aDVycTR7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzZCNzI4MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTYgOCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAuNXJlbSBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZToxLjVlbSAxLjVlbX0uaW52YWxpZC5zdmVsdGUtOGg1cnE0ey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5pY29uLnN2ZWx0ZS0xcnNhMnF2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSA7Ym9yZGVyLXJhZGl1czoxLjVyZW07cGFkZGluZzouNXJlbTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uZHJhd2VyLWJ1dHRvbi5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtib3JkZXItcmFkaXVzOi41cmVtO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3BhZGRpbmc6LjVyZW07dHJhbnNpdGlvbjpjb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxib3JkZXItY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx0ZXh0LWRlY29yYXRpb24tY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxmaWxsIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksc3Ryb2tlIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTpmbGV4fS5kcmF3ZXItYnV0dG9uLnN2ZWx0ZS1qNmV4cTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uZHJhd2VyLWJ1dHRvbi1kaXNhYmxlZC5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtvcGFjaXR5Oi4zO2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTtkaXNwbGF5OmZsZXh9LmRyYXdlci1idXR0b24tZGlzYWJsZWQuc3ZlbHRlLWo2ZXhxMDpob3ZlcntjdXJzb3I6bm90LWFsbG93ZWR9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGN7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTt0cmFuc2l0aW9uOmNvbG9yIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksYmFja2dyb3VuZC1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJvcmRlci1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLHRleHQtZGVjb3JhdGlvbi1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGZpbGwgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxzdHJva2UgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmZsZXh9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGM6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0ubWVzc2FnZS1jb250ZW50LnN2ZWx0ZS0xZ2Z2aGk2e292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lm1lc3NhZ2UtY29udGVudC1sZWZ0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6LjI1cmVtIDEuNXJlbSAxLjVyZW0gLjI1cmVtfS5tZXNzYWdlLWNvbnRlbnQtbGVmdC1maXJzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LWxlZnQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LXJpZ2h0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6MS41cmVtIC4yNXJlbSAuMjVyZW0gMS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtZmlyc3Quc3ZlbHRlLTFnZnZoaTZ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxLjVyZW19LmNvdW50LWFuaW1hdGUuc3ZlbHRlLTIyOGM3bnthbmltYXRpb246LjJzIGN1YmljLWJlemllciguNCwyLC42LDEpIHN2ZWx0ZS0yMjhjN24tcG9wLXNjYWxlfUBrZXlmcmFtZXMgc3ZlbHRlLTIyOGM3bi1wb3Atc2NhbGV7MCV7dHJhbnNmb3JtOnNjYWxlKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xKX10b3t0cmFuc2Zvcm06c2NhbGUoMSl9fQovKiR2aXRlJDoxKi8="}},"time_used":22,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJfecg.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.375Z","timestamp":1785129292375,"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/poppins/v24/pxiEyp8kv8JHgFVrJJfecg.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://crystal-exploits.org\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: 7884\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:57:12 GMT\r\nexpires: Fri, 23 Jul 2027 02:57:12 GMT\r\ncache-control: public, max-age=31536000\r\nage: 353860\r\nlast-modified: Mon, 15 Sep 2025 16:34:42 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":7884,"size_decoded":8696,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 7884, version 1.0","md5":"9212f6f9860f9fc6c69b02fedf6db8c3","sha1":"ac6d71b4d5fdd2b3dabc9a06ff6c001e4251da0b","sha256":"7d93459d86585bfcdbb7e0376056226adb25821ee54b96236fe2123e9560929f","sha512":"67317495f4b53e20a9f31c034e456e6c37f387dffb2c092caa5159bc441cfcadd02749ffe5bbed1d580d5300a59e48a767ef2c6d9978b474f84c1a2cd095c126","ssdeep":"192:xLFDbKO9E3rS3JWBRO/J601FSS5ZUbik3Zy2f0:pd9J5W501otlI","tlshash":"c3f1ae4eb3f2cd1be40982e53a0fc90b1c578272681fd772d067a22517893bc8db2c81","first_seen":"2023-04-05T15:35:34Z","last_seen":"2026-07-27T08:08:01.215386Z","times_seen":383968,"resource_available":false,"data":"d09GMgABAAAAAB7MAAwAAAAAP6AAAB54AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIFUCudM0jYLgzYAATYCJAOGaAQgBYNcB4QLG34ysyLYOAAgoXcUUbVZLPs/JHBDBr6G+hIpYlQoaayFQFiGbR8DjCviFJxE41HqT/OOXC0/Z9GQVQfAWhGOAF/O89SlbJ4fIclsS0SNUfbMPgE5dhgAVqioPNrYqNhUZCQIRaCBLIK83W+vy6VjrXTMAYfFIfS65yPR0ziMQaj0M56vY3h+bj1EaSMJC9jIVbCMv+2vgv0FSxg1alhIGl2gBxecx4xqvCi9NvP2XXsT27xJRGharfanif3dB1IbH7D/n1vvG1gi90J+0acoU3UyzKzznZ8Q8S/KSQdFE/HKrFSrbCW+EZMGJ/JOrWFOCzJcLDcqMIye7xUDVgJSUf//a37amcAiFDGyIExnC3pkybH+6s19gXl5eXMmRB9Ln2eT0vLklZIpALkqpMkyJiUkt25tgVyFkF8WZYV0VRkTScF3O1cffLfDNqsTWFV2rwUPIfjECpG7lz5AAVbIGyfmmutgE0hgB8wJNaQ30lgYP+3xQCMZjDoEDzyVUi580bg7SwwCfbU2wM1JQR5DDgSJxZ7llnqObrxHpgXHgAOb7RkL2/gXhVu/D4DXAHqoBwD7DAQKDGCTWIoEB7JEnap7PP3Aas/+DynGHuqZ3u8P+0ZRlopUoQZt6CZzX2tbJVpJTFb5OJJs6W/YeiSlKS9d/6ya+d/8fZ6YS2ftgn326bdP//3yrm98rcc+6yxV+PO3P/P9e2I8D/za2srbgL+A1V8AG18HMDYA+dea0d4dnI0DUjAxhECe4VuLDc7VmwqwYTiuFzfuViWi6aNC0Z4wRhGs1DQggom7F3EXA3Uj7WxnxPmMGXjAq72EYaM9d+AG6ziGD0E2Ej5mwCsAOBXGWG1AYIJtCLwQDEeD1BqU5mmQH15SfTnMYUKO6QE/4F8j1ltms2QsVoSSz4WUYkelXQ/7kGlFRAxAW5s6qQqGsbVQl+8GCZsOFLXw0ul+mnssHngMiMV+wiHwzdVDGrfpDWLDkN8ewxN6ZRvyKaQ6K04Nqc6B6o8yc2SW7XOOuk1FcKA/XlsYa6voyRGelb8acI8ZbnoE+I9bLYFYSdUlo6Miyo+OYJqnPAsyYlzDkHe2VlOgYQcrDqbWBQEPfr7lShm/dUdxu7Up8/IxDbSiNG8zdthTYufBq+u76tI1uHc3vs7tLencpdyDGVdkPq4cQvLkEMhSXsY0J+4dQu0yRz7TZW7mccfhw18fQHPvvAbszInsG2aKiyHGmqz3Yvm3u8vmFpjxaPQezfuYJlpv3PN2ELEgVO3vPWKl2Ow/IpRJqDdPE8JqY3cYGuq1ECiB1yW0RVSa66GOdCXTLnh+xxeZ2xOqquVBgJFiAV77CqaFeYl2Q3S3BeKrdnAR3ZBPYM8o7ibQuBGK9xO3wKqYDmUkxZX+YNiXA09cBmjYPgA3eC8JPjEQxkjfWNFnGY2x+ej0ZGhv9VXwYAX9XZ1h53rzljTYf774b0vaBdtfcXWQxtyLpkaMb6v1GUsdrpV5ajkXRww17Pu1Ak3yTzYCGLr8Iara73lF7Cb+vtFNzajk4iaA8ltEQiOf66wxQAem4oXOWNTna0SswZSLr69zS/jeLLVejEOPPrPCBwhciHFchPFxIsHeTycPj9TzLzASCiQQ3wskAX5KdXKVa1sfQ/sqkMZ64u7bhwtw/U8GOoEbFSSWFLQnxd1WqtNBLxi8rBazf8BSfI/jBekq6kcBa1EXlt6oSzrtaXe+aXn1zDSw+t2F0YBoSCOqvK6Ty82lpKxNRobfRmluFw/KDLgqURpESW0OWpuaXaHkb7VmE8MOcR+a/dhsTsOYCArwsIQcjWl06SjVvNzhISxlLRqvol7V9Uvp5h+XUC6iUmapwuGiAxeC1khAQZdBxgFmUTC3Z4yjPVCczdRKlpb1KicmRnbBwTOOKbXkmmPFA5OJDMkKWz+t9i6mbI/as3b5+7k73N1wNPu9xjdrpg+sMm01qiKDGA5cKAYnIcm+Qfh+uhwzPoM6yGjV7B60MOvA1XEKSqIe0eUd09HDQqAknanN3NpKivMX9BiYBbda9g9oXcV/PqUdinIHcm/0xF16f7v01DQjzirvp4PZFBDVvuQsuKo43h6x4onbhb8L/aorsWA7vreavOxZrXrFsTJEMSfmbtxnkGGNSLjUx4n7KqyizvGq3pG6UbpMYLQKzia0LJaGR1CpXzjijsrdmFQNi3l3ZYBXuX+Llw+XK27BoJFUN5uJGbP5AMzwbSAAsF0Rv6p1ZltdaUBWVzRXCpFiUgwe6Baj927ntwXVUyMpM/vud4ksUyM6kqSZVDs0S3iuldjWchysX2vbV4o/Pz8amoTijmvhaPWLd9VIgu1A/oldyDH0JWVzJzxjd0w6fMbXH0zOZ8+5usPgm5jaIvuHGYtiiiYCEnuoL1AdNtUB41RrTZ7Prwsb3D4W0uh3f+8i9Y0bosq9ebt7S1nLbRmg04XpC671CTyK/OjbeAPmgF2YeccypeMa1gKZ9E8jw7TT55F7FR2oTczlzcGotU+MVuoqoXw1TPk9a1bQ3tfBEjN7MCtjyfklpqmKJbbc34qhy8Q7eToWpjQGEGGJrZnakycxfRbZY43YyZIvHGjmrkwH3GX9ieY2bjaGtjSmpnJoafqeSCs7vP/AmRVQ5uYueAgyd/6U8/Ce98r/4CsiEQrURcQ8yxIrH6kYK037PryUXX1DSGoin9hSaDQjFAbj+CSei/XKrsvfazl9OA8ULAsnF+SYtWHLOyPlaySB9McWn9vqi5Rydc4BO8Wx7X4x481Yc106vl4c+4xeZM3i0C7U4fBplHqWdJI9w+dIizb5C8c3+c+W/s1fAWyvmjjcoH8R8PSKF/buAQYf8Vni2k1zcVt5+eRRTQvCvnyhGrvdSHxMpO0f+ipWFcWyWH3YgmF3OGGrEXByld91/lvL+Y5FK7ufR6crNdA/dFvx3trsWXx1L772EFa64hj34WLmJ78Qxmfiq3ku6j9tjemYFnMBbJS2VsycEIoo1+qL53Lh/wMrVnnuOnTikosR+44dGJUxlM41kdlU4FBuwQ31zIAn1EjHa7nrvNj5pOtpV0HbfVdql/aCfyuO6xX04YiLwnDUwrSZlLWD5ZDYebCxYV9c+xxqTqCguAXT+t+Kts5OICnYBGqxYfM2RfN3UMFKB0aj7MClv7cY2Vv0Qy834/a5ps7PZzGMEF78qaPzfxjAib6kF/C4RcYRSkaGno7qZohKB/HLxyWd4Sef+fFgBxou5nwzT7e+8KwV9AakNuq6Xfl63b7m+boXN6rX5w0wZBHB4mAKYvV0vT2+1g/UHmZV6nvRMD2KqRLoa0LOQUa60RRX6opXeUSMPS+FwwzZDJUwMmp5zZ/Ue5QfD3CEeFJv+D9QUK/XCQR6nUSaGKTyuSui9n1+07HVeHw4O7sGh2/O/u9whaDLSnT6BoZqRzMe1zw4mt9WwG9H0PVkBVRN4bgFCkO1buKro7lYrMyYV0TXFuQpxyMJn3PzU1AT4suuXhsrrvXqFw4u2bBhvtBSUHHpcguxnG1SS0D8N+OSz/BTzoA7SHnWnn01hWUl7sRwWU3u5vXl6cFQohsQoomCHn39Zh/FkI1yKK/v2/PtN+Z2gvaNKME85nxGjmiydegq1ZBVk2254nnMeUVo0TTb0NXwsNXAJLt9z3zvlvpWv7n/NuiaHk7hQilAO0gac88Y2T0cbbMPH2UD3HHhYwvms8e+nvDx+Qt22LPBMmayTCGWINnAah8zRZeIgfBHzw5yWoyHbjpawVfdi9u9i6RCnlImUZoGyGyx4ZYpgdLJtX6jd8P0Ro/GBv8qBKLJLaVBiZdINtJ4suIFgwRDVU6YSbGXUhTls6vjA7YKo0omgyCWyicMpMJpCHCyeDQJX8BT8QPFIG+L1PWw6ge/1r/VvjX2YkrTYJDU4X4QLs6nGksl2EouRKutFhpCbRWDi4vPGfkCrdal0WhNGpqGPNay5htwYGV9sXUO2OArZ4lKp7bUSqgV5Xy4tB7BbZ0UBt5wKFFn+nqFKhsvo8BWl0FmsCg1WpsavJ8/er4jvb1dcx/MXcg2cug0SzkZhrFUdAudxbWYbkAusZBf0kCF4Toq7IRiufv6kLtaoUyKufMYBrFIbJAwfj7hlEgFdvX6yixWC8SITAUOzYG4PKOmLWYt7CFzxGV0dkhVMa29bkHNt73N2O3lZmewtireZLq61GyQq4wILDNYIYXeqgGS2U8fPn1Q/+zBs4eg8n91VMffGbLAaciS+u474Tk+JewKtfnDA1za2I3jfWG2kSOXcnkyEcvCodm9JKHtrOj7sJ7W7UbrKp+WssRbLCLrWf+4SDTY4tCqeG1hjdydKf9CS8rMHsah5bNU4+sYHRsWL550pK7i7BTQsXnRIpc867ANXVGxTWdb5V/Y9tcfM5dIBCoqxk6nMgRUIsTIc5BpTgr4ax2xaF3Jh97Q+94S/YPp7ulucLXkV7SikEYzBYmygdH3ch+epCXzRDpPDHqtQMqm0bhZtPpB9lQ7k6UViTe93goKTyDbNiGeus6qXH/VlUoxrKgXC5tMRiD5V6SAK0VXqnJ9nZV1nk12ZGsQrO7bZbJtrKiwbdhlqOuP9s+qWriorX3R0lnN6Gawu/rvz6rPT8epJh2YpAJ3+pSEf18rX7OQKHA8vlQlUigaRKImg0E0rUGkCHZMSSodo5wkizcji1YaHJ7NdsfWYNCxbbPdE+6qyvWBQF8U4fg4SBQh+8hgd18UiYK9fbGWUNBqC5UhyAAChTKOEAvOTuDykCginiiqZzt4CNiteKnURhFAGtDbiwx8GCv4Y+AgpNf7P3uy1SJVhRjkAFJVUIiAvLjNdse24VQvbYBsLS1FNDcvpGkQi6YbTaKmerFSCQTdZLSR/z2sABNWNtZNnYVCor82Tq2172iWC7ltK2aBWWBax7x5OJqns0n91s0wrqc7tJDVWsHz7QoO7RxXPR6J/qqtpNEQNmSoMgzvRrUGZikVEJcHiVWzwIO4SiLXkuARyEQSoVJAyf9KmN4sGW5AsWAhk2ktI0i8TZ54nV+u4HCZchYtt+evxZIRRjQbFlFoxaEiCLzrUx4JI+GjSrCzL+q0F+t1bOeMIn1WaWMjU6lUNpJGax9Y0BfXFzIpz32beToBe1n0fF9wK3E30Q9ORD2rNbs1wc3wGhiEkNtI6a6hm4YGbiG3HcHdwzYPCwJq329fxSPxv38V2Fui6gVrNSbtMUifpdEegMDI5btU7vNuuLcEHOwcucJmp3aQFe2FA0+7qhe073H9k2z+N9n97XrQlGMaZQIPl0hu1WpBYam4uVGqgELcTX4H2hHsKefJFRG5uM14lUNCTEQKxUiQdh6f5DA+yEZUJw+cfFzBlSojUnGzyShua5Qr5OXcngDyAMmtr/ieIlDIX5rJDi6PFY0jyh+i5slSTaDdM8riva5jcjTucq/PXaHhaIt+9442dvh9mlxe3GKZTFWloIp1NdvxwFG6JaR2R+OrSZCC3T9Q57dDbA39k3e0psPr1UyVSlvNZnHLVIlOM0ksaFQ5ZTilJpcoLbHGqe0Ac6++H+mXq+R5DpcpBHOG0PPqQQRbjsGqE1X8hkahtnJxIMVq/9XJEalcTnN9T4g/CmrC6xxd/H4s63gdzkdlhGCxnW7QW+SQqdhCQB4gQzpdODbwNO1eE2BsaAQNfE0v/+uyYF8oFGI5TZ2b+wi9FgEtd549/5/dNzeet8QMGzAC7P6dJnsAyAPwPiqT+63qLFK50W7B369lBI1ou+y4ImmIuz4U4gvBQdy0yXVjQdml0nQ6cAzwOKFJKms1m6DW6RKNhmuAWsxmZWuLVEPUmnFURCSiIEYsiWzAkp4NxERE3wpOPCqXhkn0qsy+U4+EkHwkUF8JIFBV/ukLsdDvyHeENlbwISgCfcPRdzaKwJW2dlchgkaKwdUEXyETznIxJBQG9TAK/Vw07CqcSRfQCklSJJ+NhJFYLVL4O420NntstuS/HsUEdQyOJLfns8HBe+L8YYVitQFWSXViuUo+D5m3WAXIKDSiX+vAMwQBKisEC+00vd4iVxiLLTiQZuy86rmDKt9tvIBch+5CuTq+Nv8bdO1FOadfnH3ROePStEugou1i00X3l0O/HFnadmHaBXfPkC9HATRq1PZcV0X8D+MDew92HgRLlINVEVXiogRlrRKUrQmMsOQmIokeLKRTSVjagjxD/vh405BEN5ZGlVUMqKDKadhE95B40/h8Q16BliXRqSBsoicRybUERoAjIWQmAj7z2B3y3Sq7r3LAm1s/dtvW5kfDM0RcSdrSSEbt8eafRmYYuGLQTVFJmqGedRVcgJNeeEGzFqZvMScoajyWOBfdVZEwaUFFBTcnOOgOD0VexgmQ+aiqiAu7SiwWlxsGmQr4yItN+WZ+RketADnxU66A7vJSBMGqSGyxKUMk57MgsSzr/t0Tgu6ODLcMBoc5n7rmHnzE4uzrWtv1I4f38eLaS/vY7EOXTJ3J/DmRI0VFPZjCRQzGdAxY1TxXtC9me9458bmNyMbDLu+bvTGiuTuYwS739vwEQZx4LDIVsSch0xAQlS8mYIhyRwHP0WCJUSOc3Ux6Fyb9lDjzZSDLa5QxZBbRiPxF9RvyHfXWAZg9Iw4UZGyZ9dKf6atVahaP+lCrF0rFGhGRrOdLJBohEdCqHo0Z83jM6Me0waPRC35Uf2rhaDMGPDu60W7ZUlrKSPRAEMSqRevcg468uRrFQpdTsWiu1umYoyXd6bLt5mgcXIO3iFkmk2lbL4OjqtKNFJvGG5ArZdbqUBMH+/6saYSsSg2DTClGr8ISCCL0YC7kgjgf+7njiTAeY6ApmXwxgcgXMZmwIRL4QiZYMMndXY8o9naPQFzdQfv30gBnzy1kwX0IMI4jVIqDxaI4JcxiT6JTcBjZ8hobolBwClJYCODpLN7faiky/ELQDtdR75Zkd0xsTCtI/jc5+Z/kAlBzSlIiAWPtXrdG43FraTitDkPRlJToUhksAQ6rloLJXoTDHWWBtsn7b6o/qW/vv61SXeYu3deCzHXsGGqlNSlz/NjLqWldeYoJYjabKeHjcw/EaorAxEUQncVQsTETUr8bEFVOKICLuByoiAyxEseOS05Lw4zDEAvGp6elfhyX8adYCh4euVUrudUEilBoxL/SRefmi8YLWPZ8O9ZqQuRyQ7GFAOL0Veoq/YTkyKSw3T65tuE9+I4hpRAJ4iJ6PduT9Xta6u9Z5ClcIUibzWgugfJBppSgN2GpNCOWDHQa0WDCYaABt6J5TIEQT+AJ2SyugIAXCplgRa63u3i182O6PfcxkMPj3n1BikQtkejuBqIUkn5XuPGZ5xEx0l3dHQbFs+m1d/624sqotSp6sWU99kDMHISWGVFzR3RVA2FAF+GMPozjOVdbz/ra9wpgap98lH18lQFF1idb1vnmRXughsXLf1sGbkDh6u1GIasq/PG0Let451bZBy1zGDd4gwHvGUFngFtXbT/JarJS+2fWLVzW3r5w6azmf46Zjv3bDH5ZuWlVDzYt69ev2wD1ICbfuAks1HXjmqAQcub8mtyTPLGyJLQZP00eEPqykwfP0eXVi8UMTwDYEVNOg8KnXu8wAyYM9DELliEHkKWzrj5wO9sgCZcHSVWz4mYB9sLGhgapF0dWYYkE0bJdTcPG/CwYDaUKYTbktxVbq9xxRkdmJ5mQnoc+6NFlSNh4lFEwIXkcTkLmLF6Si5CA8FkK46ScptHmYQVG+o/e0ZoWr1tcwz1Vrg3dqOBJPYnaJc2TpLC4jDEwAAdkVfPgBgm/EXIK8LAunwSVIXGalj5yhtY8J5kBtWLf6YaMVDd4rXFkEdw5FZK4EMSaqjV7Xr+bwPj+WEi+pFmh1zbJJO1mo7R5ihSexEUmuiRwG4bsnPi51VlnbsdQnBMRrYlAdgqFJKcRTyYb8ES7UERw6YlkQI1XqGv/WKf+rP6DmTsyGH7zZbaH5VPMzKOgbxTKNa+yvexwY6YBBaNHeMOJTkS9lfkYqTCc+co+FJFCj+sAx/8sl0CBxucJCsk6m5C/EGq98xDZjfKplvpB+yf5p5djocbFufI5aptrgx3ZFixFtsoinLa5qlzZ/Eb5WEdQNO2XhRHTDAat4Wen2QLB9RRGb6ze7VBwwsmP41M2yJ5MnCpTaaaFS7UpJ0uHfI5IYU2jWBhRbn5gxlOcIhHZYcKRSAYmjulpcOjxpDoUTqPJJ8pLkIF6O1jfOc8EzTPMNUDgwepzeFw/gdCPw58jKh6npj5OT38yLc2TdJC6VJo/ch+m3z54eARN1ZtfG1wa966glkAODRSvUA9RA/LSleof1WD67aD7NyGw9wWGDQWAWceEBWcM/lYc/eG3eBCjLvTzScHaGzIZhfq2oVxGpZRYDvO2ZgBvoyuiyP5uBMNUlcJLlTm+zsraxm/asio9AmNBRnqekV8yGiqpnsXR1nZW5fgrL1cIYVOTOUP1H/9jXvp4+gfBv+MUTQY9SDv6nGHOh0Ce5WBRiRh8rvxMqRgQKypxViaFk8D9FerF6lMIqMvvwAHDAUtvWvKWPFZmnZYvDBDaDlS4PB2b3Z+c6F7tsqUpKcvFfrnlC7nx7eize858uTZVynLhG214nVi5nq+lLJf582gzf2KkSTkPOckX1IkHKcvFU7nlr9HGk0oGJlKGlFHJQIFxqJxbRAkZaLoCpKQsF9/JLT1yY//os34nJNe+lrJcrB9trBVPXKH0/5e7YBn5YZD5nukn49zEDFg0HRIfSVkudsotG0cbO5gNhEMBkDJwCABmEQFzULGVBE9QeGFk/XUdNNzBZGAmCcWXYvQwLy8Bz4Vxusj/33zzkJJ5CbAC5XxWws73djVb6qx1qqiyb4uQVJ1ZLgvoK2Nz4m5zF7vLGnaCGsh7Y7O7zVgmHvgWfgjPp1AX5wbOV2LAiI/9/CiGme/6J3iJqy0AI8uoRBsH3G0InSOBnmW9hje1jiFkaJ+6z7G7xEliQpoAGdqn7O7UtSHgXQLKeUEBALvA8yLMY3QytG/cVxvyE2i+LWUMGdqnxrtSFhaao72g2IWZueNYo7J7zjpeI9q0ZOvoFgMsypIrnzV/G63l/JcQO34E+PLN5QDwzRb636dHn04lxS86rpkMNSMEv1uqL3+UGfCuGnKlz7mv8xLiWflW7wm2oKEGJKvVOH2jsL/LsRkqZ1SqRzYrf+B2L6sz83PzsNyAzQ9obcCLQG75KFUjNSJ/Sis6Da+cbFmdhNNGCrdhkyBVDFNvCnQsV1PUxytQt8lqgHoM1O1J6sa4zVvqkaTbXmqvscUIBbWG82WMOG1yVMiIHBFDHCWU1FUVZsfL7naq7jBmXJPaKrhCRsYmxGe3mV2mA9WrG5HTH4USI/KNYDirrpsgCJVtUUg90tahi3nezoeNhbR6URxo6xtmAZoBidTRJMNUymgrqCQp44yU/GBwT0u1DxXkilBQ/KpH0nh13OfbtYSthG06fo3S65e7fPiwpI40pJyQlctwnacAnoN8Qk2H4VlnXLvZojQhsFRvDO9M6ppMdAshwwx3Snp6WedPbqvcbofuaajGG2B+nG9tY4YUOThjArCJ1+IHzqc9r3pbogy40NIOpUJRcjATAJBXaztxMDvOaMAiBY4sKoE/dGMzjAz4JLuUZqkIEgjkAPKCBMtx6XgwixgwvpeZIsO9MDQPomp3gkcE7HtpvMNMB+bnNElDz8C4qm1grBQ2aXCYPzmPJY6T0sdgmeaBz4sXQAzwtZVSsDgKKooDHgcMCCxzL5ZatBx4wy2yrRIkIrq/trXZadrWrsi1rYPXHXHG3HQSHNuBpzVsnjXqsRAUafepE/JIwzMSr55UEglHSGluQi0ZmE642bJGSHU7jkFgJJFPxFM3jAqPiIg6rswvgoKJjBZbJkCtmeNFeDHueYxUnKJTlkBLF4d0loz4ls5k8qwDg0Ga1BEpj1MfdVooIrRs0VBnnY9TtlToIR3hHYt9wqoQ8iT4TBhRza/OFHCGaSswwPN+zneQTf01kGaw/WXSf3LcPLx8/AKCQsKGG2GkUUYbI1WadBnGGme8CSbKlCUbClqOXHnyFSiEgYWDR0BEQkZBRUNXhIGJhY2Di4dPQEhETEJKRg6ioKQCU9PQ0tEzMDIxs7CyKWaHcHBycSvhyUCfZpjpsFX+Mssi823UaUcGeXNfh+Wee2Fh4rw46SfPbNLllZde2+YL553VzctnCb+LAs654KpLLrvib0E3XXNdj1JPLXXHLbeV+dcjc5ULqVClUrUtwmrVqFMvokGjSf4x2VRTTDNdkz5btWjWqs1/Hjvgri99lXgXP+r3tW/s951Ten3rtNn2OuKoQ0nw4UkSF912LwwPEN8VH3kmRCReEROXZPA1rZV8LR74/5ThpJVMHs8BAAAA"}},"time_used":50,"timings":{"blocked":24,"dns":0,"connect":0,"send":0,"wait":23,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/43325.256fa5a5213b9cb70f5c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.601Z","timestamp":1785129292601,"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/43325.256fa5a5213b9cb70f5c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-b07\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:17:08\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9e30e1a7ade23bbab856a5af2e081f70\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2823,"size_decoded":1643,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2823), with no line terminators","md5":"9117f5417af5435afba6f7700053a6fc","sha1":"28521c103a762e72c133892f41ee2fb550e20888","sha256":"e121896dc20723795767320cb9facd147ce5ba20427b67b47b47eb2f85d85b67","sha512":"7e71e1b26466a549b6496d8e84f2581eff4877ff30f1d0deaa365a3c6729bf545e9672f4a4c8417b5dfe1c7d61cfd349b3c6d476823a50b074c4a6423cb09a67","ssdeep":"","tlshash":"275188abfbcb1e2de71bcea1e7a712ff91a405c1be584138e5b3ad71064ca741724184","first_seen":"2026-04-15T09:47:56.523899Z","last_seen":"2026-07-27T08:08:01.029457Z","times_seen":4490,"resource_available":false,"data":"LmxhYmVsLWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDttYXgtd2lkdGg6MjhweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDZweDtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2l0aW9uOm1heC13aWR0aCAuNnMgY3ViaWMtYmV6aWVyKC40LC4wMSwuMjIsMSkgMHMsYmFja2dyb3VuZCAuM3MgY3ViaWMtYmV6aWVyKC40LC4wMSwuMjIsMSkgMHM7ei1pbmRleDozfS5sYWJlbC1kemJkN2x5ViAubG9nb1dyYXAtZHpiZDdseVZ7cGFkZGluZy1pbmxpbmUtZW5kOjVweH0ubGFiZWwtZHpiZDdseVYuZXhwYW5kZWRCeUNsaWNrLWR6YmQ3bHlWLC5sYWJlbC1kemJkN2x5Vi5leHBhbmRlZFdpdGhUcmFuc2l0aW9uLWR6YmQ3bHlWe21heC13aWR0aDoxMDVweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxhYmVsLWR6YmQ3bHlWOmhvdmVye21heC13aWR0aDoxMDVweH19LmxhYmVsLWR6YmQ3bHlWOm5vdChhKXtjdXJzb3I6ZGVmYXVsdH0ubGFiZWwtZHpiZDdseVY6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO291dGxpbmUtb2Zmc2V0Oi0ycHg7b3V0bGluZS13aWR0aDoycHh9LmxhYmVsLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2luc2V0LWlubGluZS1zdGFydDo4cHh9LmxhYmVsLWR6YmQ3bHlWLmVuZC1kemJkN2x5ViwubGFiZWwtZHpiZDdseVYuc3RhcnQtZHpiZDdseVZ7Ym94LXNoYWRvdzowIDJweCA0cHggMCB2YXIoLS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KX0ubGFiZWwtZHpiZDdseVYuZW5kLWR6YmQ3bHlWe2luc2V0LWlubGluZS1lbmQ6OHB4fS5sYWJlbC1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MDtib3JkZXItZW5kLWVuZC1yYWRpdXM6MTJweDtib3JkZXItc3RhcnQtZW5kLXJhZGl1czoxMnB4O2luc2V0LWlubGluZS1zdGFydDowfS5sYWJlbC1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLmVuZC1kemJkN2x5Vntib3JkZXItcmFkaXVzOjA7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MTJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjEycHg7aW5zZXQtaW5saW5lLWVuZDowfS5sYWJlbC1kemJkN2x5Vi50b3AtZHpiZDdseVZ7dG9wOjhweH1AbWVkaWEgKG1heC1oZWlnaHQ6NTBweCl7LmxhYmVsLWR6YmQ3bHlWLnRvcC1kemJkN2x5Vnt0b3A6YXV0bzt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfX0ubGFiZWwtZHpiZDdseVYuYm90dG9tLWR6YmQ3bHlWe2JvdHRvbTo4cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTtib3JkZXItcmFkaXVzOjE3cHg7aGVpZ2h0OjM0cHg7bWF4LXdpZHRoOjM0cHg7cGFkZGluZzowIDZweH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYgLmxvZ29XcmFwLWR6YmQ3bHlWe3BhZGRpbmctaW5saW5lLWVuZDo1cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLmVuZC1kemJkN2x5ViwubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc3RhcnQtZHpiZDdseVZ7Ym94LXNoYWRvdzpub25lfS5sYWJlbC1kemJkN2x5Vi5sYXJnZS1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MCAxN3B4IDE3cHggMH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc25hcC1kemJkN2x5Vi5zdGFydC1kemJkN2x5VjpkaXIocnRsKXtib3JkZXItcmFkaXVzOjE3cHggMCAwIDE3cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLnNuYXAtZHpiZDdseVYuZW5kLWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MTdweCAwIDAgMTdweH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc25hcC1kemJkN2x5Vi5lbmQtZHpiZDdseVY6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czowIDE3cHggMTdweCAwfS5sYWJlbC1kemJkN2x5Vi5sYXJnZS1kemJkN2x5Vi5leHBhbmRlZEJ5Q2xpY2stZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLmV4cGFuZGVkV2l0aFRyYW5zaXRpb24tZHpiZDdseVZ7bWF4LXdpZHRoOjExMXB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVY6aG92ZXJ7bWF4LXdpZHRoOjExMXB4fX0ubGFiZWwtZHpiZDdseVYuZXhwYW5kZWQtZHpiZDdseVZ7bWF4LXdpZHRoOm5vbmU7dHJhbnNpdGlvbjpub25lfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubGFiZWwtZHpiZDdseVYuZXhwYW5kZWQtZHpiZDdseVY6aG92ZXJ7bWF4LXdpZHRoOm5vbmV9fS5sYWJlbF9fbGluay1kemJkN2x5Vntib3JkZXItcmFkaXVzOmluaGVyaXQ7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5sYWJlbC1kemJkN2x5Vi5leHBhbmRlZC1kemJkN2x5ViAubGFiZWxfX2xpbmstZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmV4cGFuZGVkQnlDbGljay1kemJkN2x5ViAubGFiZWxfX2xpbmstZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmV4cGFuZGVkV2l0aFRyYW5zaXRpb24tZHpiZDdseVYgLmxhYmVsX19saW5rLWR6YmQ3bHlWe3BvaW50ZXItZXZlbnRzOmF1dG99QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sYWJlbC1kemJkN2x5Vjpob3ZlciAubGFiZWxfX2xpbmstZHpiZDdseVZ7cG9pbnRlci1ldmVudHM6YXV0b319"}},"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/7278.738759ef0ac33469253b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.633Z","timestamp":1785129292633,"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/7278.738759ef0ac33469253b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-7592\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:49\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5af61fcdd3fe7e484027ddae6c5f1a66\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":30098,"size_decoded":10551,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"0b8a552598142ab8089cd94992779448","sha1":"87a17e3637b405af0a42d322fc032cfd1da668b2","sha256":"22e612835027b9e83688180a91ed31c88f1ccb25ae05dc6866015bd73cb709a8","sha512":"3117f337cfd3fac0235478fc1c3bed80263bf95c521e7d287c8d86eada785db4a298db00b8523d0c3f22c5bced964bb3c73d3b355fb4211325d32ddc24fdcb10","ssdeep":"768:FbBK1Dsf6MP7AAKZAlrHp4Czh1HBvJ+vmdv2cKWPUqz+1xKGDZwYzYAlFKVGjqtr:UsfDP7ADAzlRBvJ++dv2cKWPUqz+1xK9","tlshash":"52d2940ab26054a711db01db4077405bea3fa6e9a04185befa688cdd0b6ee4c3167b7d","first_seen":"2026-07-23T13:38:20.531806Z","last_seen":"2026-07-27T08:08:01.068248Z","times_seen":946,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3Mjc4XSx7ODYwMDI1KHQpe3QuZXhwb3J0cz17cGFpcjoicGFpci14d0dzU1hSMCIseHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzOiJ4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMteHdHc1NYUjAiLHh4eHhzbWFsbDoieHh4eHNtYWxsLXh3R3NTWFIwIix4eHhzbWFsbDoieHh4c21hbGwteHdHc1NYUjAiLHh4c21hbGw6Inh4c21hbGwteHdHc1NYUjAiLHhzbWFsbDoieHNtYWxsLXh3R3NTWFIwIixzbWFsbDoic21hbGwteHdHc1NYUjAiLG1lZGl1bToibWVkaXVtLXh3R3NTWFIwIixsYXJnZToibGFyZ2UteHdHc1NYUjAiLHhsYXJnZToieGxhcmdlLXh3R3NTWFIwIix4eGxhcmdlOiJ4eGxhcmdlLXh3R3NTWFIwIix4eHhsYXJnZToieHh4bGFyZ2UteHdHc1NYUjAiLGxvZ286ImxvZ28teHdHc1NYUjAiLHNrZWxldG9uOiJza2VsZXRvbi14d0dzU1hSMCIsZW1wdHk6ImVtcHR5LXh3R3NTWFIwIn19LDE0MDAxNyh0KXt0LmV4cG9ydHM9e2xvZ286ImxvZ28tVkNOS3ViV3EiLGhpZGRlbjoiaGlkZGVuLVZDTkt1YldxIix4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjM6Inh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy1WQ05LdWJXcSIseHh4c21hbGw6Inh4eHNtYWxsLVZDTkt1YldxIix4eHNtYWxsOiJ4eHNtYWxsLVZDTkt1YldxIix4c21hbGw6InhzbWFsbC1WQ05LdWJXcSIsc21hbGw6InNtYWxsLVZDTkt1YldxIixtZWRpdW06Im1lZGl1bS1WQ05LdWJXcSIsbGFyZ2U6ImxhcmdlLVZDTkt1YldxIix4bGFyZ2U6InhsYXJnZS1WQ05LdWJXcSIseHhsYXJnZToieHhsYXJnZS1WQ05LdWJXcSIseHh4bGFyZ2U6Inh4eGxhcmdlLVZDTkt1YldxIixza2VsZXRvbjoic2tlbGV0b24tVkNOS3ViV3EiLGxldHRlcjoibGV0dGVyLVZDTkt1YldxIn19LDk3NTI4NSh0KXt0LmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItaGN0MnlKdksiLGFuaW1hdGVkOiJhbmltYXRlZC1oY3QyeUp2SyIscHVsc2F0aW9uOiJwdWxzYXRpb24taGN0MnlKdksifX0sMjM1NzI0KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse01vZGlmaWVyczooKT0+cixoYXNoRnJvbUV2ZW50OigpPT5sLGlzTWFjS2V5Ym9hcmQ6KCk9Pm4sbW9kaWZpZXJzRnJvbUV2ZW50OigpPT5hfSk7dmFyIGksbz1zKDczODQ1OCk7IWZ1bmN0aW9uKHQpe3RbdC5LZXlDb2RlPTI1NV09IktleUNvZGUiLHRbdC5Db250cm9sPTI1Nl09IkNvbnRyb2wiLHRbdC5BbHQ9NTEyXT0iQWx0Iix0W3QuU2hpZnQ9MTAyNF09IlNoaWZ0Iix0W3QuTWV0YT0yMDQ4XT0iTWV0YSJ9KGl8fChpPXt9KSk7Y29uc3Qgbj1vLmlzTWFjfHxvLmlzSU9TO3ZhciByO2Z1bmN0aW9uIGEodCl7bGV0IGU9MDtyZXR1cm4gdC5zaGlmdEtleSYmKGUrPTEwMjQpLHQuYWx0S2V5JiYoZSs9NTEyKSx0LmN0cmxLZXkmJihlKz0yNTYpLHQubWV0YUtleSYmKGUrPTIwNDgpLGV9ZnVuY3Rpb24gbCh0KXtyZXR1cm4gYSh0KXx0LmtleUNvZGV9IWZ1bmN0aW9uKHQpe3RbdC5Ob25lPTBdPSJOb25lIix0W3QuQWx0PTUxMl09IkFsdCIsdFt0LlNoaWZ0PTEwMjRdPSJTaGlmdCIsdFt0Lk1vZD1uPzIwNDg6MjU2XT0iTW9kIix0W3QuQ29udHJvbD0yNTZdPSJDb250cm9sIix0W3QuTWV0YT0yMDQ4XT0iTWV0YSJ9KHJ8fChyPXt9KSk7Y29uc3QgaD17OToi4oelIiwxMzoi4oa1IiwyNzoiRXNjIiw4Om4/IuKMqyI6IkJhY2tzcGFjZSIsMzI6IlNwYWNlIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IuKGkCIsMzg6IuKGkSIsMzk6IuKGkiIsNDA6IuKGkyIsNDU6IklucyIsNDY6IkRlbCIsMTg4OiIsIiwxOTA6IkRvdCIsMTkxOiIvIn0sYz17OToiVGFiIiwxMzoiRW50ZXIiLDI3OiJFc2MiLDg6IkJhY2tzcGFjZSIsMzI6IlNwYWNlIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zIiw0NjoiRGVsIiwxODg6IiwiLDE5MDoiLiIsMTkxOiIvIn07Zm9yKGxldCB0PTE7dDw9MTY7dCsrKWhbdCsxMTFdPWBGJHt0fWAsY1t0KzExMV09YEYke3R9YH0sODM3ODIyKHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse2dldENpcmNsZUxvZ29BbnlIdG1sOigpPT5ufSk7dmFyIGk9cyg4ODQ3OTgpLG89cygxNTIxODIpO2Z1bmN0aW9uIG4odCl7Y29uc3R7bG9nb1VybHM6ZSwuLi5zfT10O3JldHVybiAxPT09ZS5sZW5ndGg/KDAsaS5nZXRDaXJjbGVMb2dvSHRtbCkoe2xvZ29Vcmw6ZVswXSwuLi5zfSk6Mj09PWUubGVuZ3RoPygwLG8uZ2V0Q2lyY2xlTG9nb1BhaXJIdG1sKSh7cHJpbWFyeUxvZ29Vcmw6ZVswXSxzZWNvbmRhcnlMb2dvVXJsOmVbMV0sLi4uc30pOigwLGkuZ2V0Q2lyY2xlTG9nb0h0bWwpKHtsb2dvVXJsOnZvaWQgMCwuLi5zfSl9fSwxNTIxODIodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7Z2V0Q2lyY2xlTG9nb1BhaXJIdG1sOigpPT5vfSk7dmFyIGk9cyg2Mjc4NDgpO2Z1bmN0aW9uIG8odCl7Y29uc3R7cHJpbWFyeUxvZ29Vcmw6ZSxzZWNvbmRhcnlMb2dvVXJsOnMsc2l6ZTpvLGNsYXNzTmFtZTpyfT10O3JldHVybmA8c3BhbiBjbGFzcz0iJHsoMCxpLmdldEJsb2NrU3R5bGVDbGFzc2VzKShvLHIpfSI+XG5cdFx0XHQke24oe2xvZ29Vcmw6cyxzaXplOm99KX1cblx0XHRcdCR7bih7bG9nb1VybDplLHNpemU6b30pfVxuXHRcdDwvc3Bhbj5gfWZ1bmN0aW9uIG4odCl7Y29uc3R7bG9nb1VybDplLHNpemU6c309dCxvPSgwLGkuZ2V0TG9nb1N0eWxlQ2xhc3NlcykocywyLEJvb2xlYW4oZSkpO3JldHVybiB2b2lkIDA9PT1lP2A8c3BhbiBjbGFzcz0iJHtvfSI+PC9zcGFuPmA6YDxpbWcgY2xhc3M9IiR7b30iIGNyb3Nzb3JpZ2luIHNyYz0iJHtlfSIgYWx0PSIiIC8+YH19LDYyNzg0OCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtnZXRCbG9ja1N0eWxlQ2xhc3NlczooKT0+bCxnZXRMb2dvU3R5bGVDbGFzc2VzOigpPT5ofSk7dmFyIGk9cyg5MTQ0ODcpLG89cy5uKGkpLG49cygxMzY0KSxyPXMoODYwMDI1KSxhPXMubihyKTtmdW5jdGlvbiBsKHQsZSl7CnJldHVybiBvKCkoYSgpLnBhaXIsYSgpW3RdLGUpfWZ1bmN0aW9uIGgodCxlPTIscz0hMCl7cmV0dXJuIG8oKShhKCkubG9nbyxhKClbdF0sYSgpLnNrZWxldG9uLG4uc2tlbGV0b25UaGVtZS53cmFwcGVyLCFzJiZhKCkuZW1wdHksMT09PWUmJm8oKShuLnNrZWxldG9uVGhlbWUuYW5pbWF0ZWQpKX19LDg4NDc5OCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtnZXRDaXJjbGVMb2dvSHRtbDooKT0+b30pO3ZhciBpPXMoNzk0MTg3KTtzKDE0MDAxNyk7ZnVuY3Rpb24gbyh0KXtjb25zdCBlPSgwLGkuZ2V0U3R5bGVDbGFzc2VzKSh0LnNpemUsMix0LmNsYXNzTmFtZSk7cmV0dXJuKDAsaS5pc0NpcmNsZUxvZ29XaXRoVXJsUHJvcHMpKHQpP2A8aW1nIGNsYXNzPSIke2V9IiBjcm9zc29yaWdpbiBzcmM9IiR7dC5sb2dvVXJsfSIgYWx0PSIiPmA6YDxzcGFuIGNsYXNzPSIke2V9Ij4ke3QucGxhY2Vob2xkZXJMZXR0ZXJ8fCIifTwvc3Bhbj5gfX0sNzk0MTg3KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse2dldFN0eWxlQ2xhc3NlczooKT0+bCxpc0NpcmNsZUxvZ29XaXRoVXJsUHJvcHM6KCk9Pmh9KTt2YXIgaT1zKDkxNDQ4Nyksbz1zLm4oaSksbj1zKDEzNjQpLHI9cygxNDAwMTcpLGE9cy5uKHIpO2Z1bmN0aW9uIGwodCxlPTIscyl7cmV0dXJuIG8oKShhKCkubG9nbyxhKClbdF0scywwPT09ZXx8MT09PWU/bygpKG4uc2tlbGV0b25UaGVtZS53cmFwcGVyLGEoKS5za2VsZXRvbik6YSgpLmxldHRlciwxPT09ZSYmbi5za2VsZXRvblRoZW1lLmFuaW1hdGVkKX1mdW5jdGlvbiBoKHQpe3JldHVybiJsb2dvVXJsImluIHQmJm51bGwhPT10LmxvZ29VcmwmJnZvaWQgMCE9PXQubG9nb1VybCYmMCE9PXQubG9nb1VybC5sZW5ndGh9fSwxMzY0KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse3NrZWxldG9uVGhlbWU6KCk9Pm99KTt2YXIgaT1zKDk3NTI4NSk7Y29uc3Qgbz1zLm4oaSkoKX0sMjE2MTEodCxlLHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQpe2lmKG51bGwhPXQmJiJib29sZWFuIiE9dHlwZW9mIHQmJiFpc05hTihOdW1iZXIodCkpKXJldHVybiBOdW1iZXIodCl9cy5kKGUse3RvTnVtYmVyT3JVbmRlZmluZWQ6KCk9Pml9KX0sNTE4NzUodCxlLHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQpe3QucHJldmVudERlZmF1bHQoKX1zLmQoZSx7cHJldmVudERlZmF1bHQ6KCk9PmkscHJldmVudERlZmF1bHRGb3JDb250ZXh0TWVudTooKT0+bn0pO2NvbnN0IG89WyJpbnB1dDpub3QoW3R5cGVdKSIsJ2lucHV0W3R5cGU9InRleHQiXScsJ2lucHV0W3R5cGU9ImVtYWlsIl0nLCdpbnB1dFt0eXBlPSJwYXNzd29yZCJdJywnaW5wdXRbdHlwZT0ic2VhcmNoIl0nLCdpbnB1dFt0eXBlPSJudW1iZXIiXScsJ2lucHV0W3R5cGU9InVybCJdJywidGV4dGFyZWEiLCJhW2hyZWZdIiwnKltjb250ZW50ZWRpdGFibGU9InRydWUiXScsIltkYXRhLWFsbG93LWNvbnRleHQtbWVudV0iXTtmdW5jdGlvbiBuKHQpe2NvbnN0IGU9dC50YXJnZXQ7ZSYmIWUuY2xvc2VzdChvLmpvaW4oIiwgIikpJiZ0LnByZXZlbnREZWZhdWx0KCl9fSwxMjUyMTgodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UGVyY2VudGFnZUZvcm1hdHRlcjooKT0+bn0pO3ZhciBpPXMoMTE1MjkzKSxvPXMoNzU1NjI3KTtjbGFzcyBuIGV4dGVuZHMgby5QcmljZUZvcm1hdHRlcntjb25zdHJ1Y3Rvcih0PXt9KXt2b2lkIDAhPT10LmRlY2ltYWxQbGFjZXMmJih0LnByaWNlU2NhbGU9TWF0aC5wb3coMTAsdC5kZWNpbWFsUGxhY2VzKSksc3VwZXIodCksdGhpcy50eXBlPSJwZXJjZW50YWdlIn1zdGF0ZSgpe3JldHVybnsuLi5zdXBlci5zdGF0ZSgpLHBlcmNlbnQ6ITB9fXBhcnNlKHQsZSl7cmV0dXJuIHQ9dC5yZXBsYWNlKCIlIiwiIiksc3VwZXIucGFyc2UodCxlKX1mb3JtYXQodCxlPXt9KXtjb25zdHt1c2VSdGxGb3JtYXQ6cz0hMH09ZSxvPXN1cGVyLmZvcm1hdCh0LHsuLi5lLHVzZVJ0bEZvcm1hdDohMX0pKyIlIjtyZXR1cm4gcz8oMCxpLmZvcmNlTFRSU3RyKShvKTpvfXN0YXRpYyBzZXJpYWxpemUodCl7cmV0dXJuIHQuc3RhdGUoKX1zdGF0aWMgZGVzZXJpYWxpemUodCl7cmV0dXJuIG5ldyBuKHQpfX19LDk4NDM3Nih0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtQTEFDRV9IT0xERVI6KCk9PnIsVm9sdW1lRm9ybWF0dGVyOigpPT5ofSk7dmFyIGk9cyg3ODMyNTQpLG89cyg2MDE4NDEpLG49cygxMDcwNDUpO2NvbnN0IHI9Ii0tLSIsYT1be3ZhbHVlOjMsbGV0dGVyOiJLIn0se3ZhbHVlOjYsbGV0dGVyOiJNIn0se3ZhbHVlOjksbGV0dGVyOiJCIn0se3ZhbHVlOjEyLGxldHRlcjoiVCJ9XTtmdW5jdGlvbiBsKHQsZSl7Y29uc3Qgcz10LWU7cmV0dXJuIGEuZmluZCgodD0+dC52YWx1ZT49cykpPz9hW2EubGVuZ3RoLTFdfWNsYXNzIGh7Y29uc3RydWN0b3IodD17fSl7dGhpcy50eXBlPSJ2b2x1bWUiO2NvbnN0e3ByZWNpc2lvbjplPTAsbWluUHJlY2lzaW9uOnM9MCxkaW1lbnNpb25QcmVjaXNpb246aT0yLGRpbWVuc2lvbk1pblByZWNpc2lvbjpvPTAsc2lnbmlmaWNhbnREaWdpdHM6cj0zLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDphLG5vRXhwb25lbnRpYWxGb3JtOmwscmVtb3ZlU3BhY2VCZWZvcmVEaW1lbnNpb246aH09dDt0aGlzLl9wcmVjaXNpb249ZSx0aGlzLl9mb3JtYXR0ZXI9bmV3IG4uTnVtZXJpY0Zvcm1hdHRlcih7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEscHJlY2lzaW9uOnRoaXMuX3ByZWNpc2lvbixtaW5QcmVjaXNpb246cyxub0V4cG9uZW50aWFsRm9ybTpsfSksdGhpcy5fZGltZW5zaW9uUHJlY2lzaW9uPWksdGhpcy5fZGltZW5zaW9uRm9ybWF0dGVyPW5ldyBuLk51bWVyaWNGb3JtYXR0ZXIoe2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDphLHByZWNpc2lvbjp0aGlzLl9kaW1lbnNpb25QcmVjaXNpb24sbWluUHJlY2lzaW9uOm8sbm9FeHBvbmVudGlhbEZvcm06bH0pLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzPXIsdGhpcy5fZnJhY3Rpb25hbFZhbHVlcz12b2lkIDAhPT1lJiZlPjAsdGhpcy5fc3BhY2VCZWZvcmVEaW1lbnNpb249aD8iIjoi4oCvIix0aGlzLl9vcHRpb25zPXR9c3RhdGUoKXsKY29uc3R7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OnQsLi4uZX09dGhpcy5fb3B0aW9ucztyZXR1cm4gZX1mb3JtYXQodCxlKXtpZighKDAsby5pc051bWJlcikodCkpcmV0dXJuIHI7aWYoTWF0aC5hYnModCk+PTFlMTAwKXJldHVybiBpLnQobnVsbCx7Y29udGV4dDoidm9sdW1lLWZvcm1hdHRlciJ9LHMoNTcwNjIpKTtsZXQgbj0iIjtNYXRoLmFicyh0KTwxJiYodD0rdC50b0ZpeGVkKHRoaXMuX3ByZWNpc2lvbikpLHQ8MD9uPSLiiJIiOnQ+MCYmZT8uc2lnblBvc2l0aXZlJiYobj0iKyIpLHQ9TWF0aC5hYnModCk7Y29uc3QgYT0hIShlPy5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ/P3RoaXMuX29wdGlvbnMuaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0KTtsZXQgaCxjLG09TWF0aC5mbG9vcihNYXRoLmxvZzEwKHQpKSsxO2lmKG08PXRoaXMuX3NpZ25pZmljYW50RGlnaXRzJiYodD0rdC50b0ZpeGVkKHRoaXMuX3ByZWNpc2lvbiksbT1NYXRoLmZsb29yKE1hdGgubG9nMTAodCkpKzEpLG08PXRoaXMuX3NpZ25pZmljYW50RGlnaXRzKWg9dGhpcy5fZm9ybWF0TnVtYmVyKHQsYSx0aGlzLl9mb3JtYXR0ZXIpO2Vsc2V7bGV0IGU9bChtLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzKTtjb25zdCBzPU1hdGgucG93KDEwLGUudmFsdWUpO3Q9Kyh0L3MpLnRvRml4ZWQodGhpcy5fZGltZW5zaW9uUHJlY2lzaW9uKSpzLGU9bChNYXRoLmZsb29yKE1hdGgubG9nMTAodCkpKzEsdGhpcy5fc2lnbmlmaWNhbnREaWdpdHMpLGg9dGhpcy5fZm9ybWF0TnVtYmVyKHQvTWF0aC5wb3coMTAsZS52YWx1ZSksYSx0aGlzLl9kaW1lbnNpb25Gb3JtYXR0ZXIpLGM9ZS5sZXR0ZXJ9cmV0dXJuIGM/YCR7bn0ke2h9JHt0aGlzLl9zcGFjZUJlZm9yZURpbWVuc2lvbn0ke2N9YDpgJHtufSR7aH1gfXBhcnNlKHQsZSl7aWYodD09PXIpcmV0dXJue2Vycm9yOiJub3QgYSBudW1iZXIiLHJlczohMSx2YWx1ZTpOYU59O2NvbnN0IHM9e0s6MWUzLE06MWU2LEI6MWU5LFQ6MWUxMn0saT0odD10LnJlcGxhY2UoIuKIkiIsIi0iKSkuc2xpY2UoLTEpO2lmKHMuaGFzT3duUHJvcGVydHkoaSkpe2NvbnN0IG49dGhpcy5fZm9ybWF0dGVyLnBhcnNlKHQuc2xpY2UoMCwtMSkudHJpbSgpLGUpLHI9bi5yZXM/bi52YWx1ZTpOYU47cmV0dXJuKDAsby5pc051bWJlcikocik/e3JlczohMCx2YWx1ZTpyKnNbaV19OntlcnJvcjoibm90IGEgbnVtYmVyIixyZXM6ITEsdmFsdWU6TmFOfX17Y29uc3Qgcz10aGlzLl9mb3JtYXR0ZXIucGFyc2UodC50cmltKCksZSk7bGV0IGk9cy5yZXM/cy52YWx1ZTpOYU47cmV0dXJuLTA9PT1pJiYoaT0wKSwoMCxvLmlzTnVtYmVyKShpKT97cmVzOiEwLHZhbHVlOml9OntlcnJvcjoibm90IGEgbnVtYmVyIixyZXM6ITEsdmFsdWU6TmFOfX19c3RhdGljIHNlcmlhbGl6ZSh0KXtyZXR1cm4gdC5zdGF0ZSgpfXN0YXRpYyBkZXNlcmlhbGl6ZSh0KXtyZXR1cm4gbmV3IGgodCl9X2Zvcm1hdE51bWJlcih0LGUscyl7aWYodGhpcy5fZnJhY3Rpb25hbFZhbHVlcyYmMCE9PXQpe2NvbnN0IGU9MTQtTWF0aC5jZWlsKE1hdGgubG9nMTAodCkpLHM9TWF0aC5wb3coMTAsZSk7dD1NYXRoLnJvdW5kKHQqcykvc31yZXR1cm4gcy5mb3JtYXQodCx7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmV9KX19fSw2NDE1OTModCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7ZGVjb2RlSFRNTEVudGl0aWVzOigpPT5sLGdldEZpcnN0U2VnbWVudE9yQ29kZVBvaW50U3RyaW5nOigpPT5jLGh0bWxFc2NhcGU6KCk9Pmh9KTtjb25zdCBpPS9bPCInJj5dL2csbz10PT5gJiMke3QuY2hhckNvZGVBdCgwKX07YCxuPXsiJmx0OyI6IjwiLCImZ3Q7IjoiPiIsIiZxdW90OyI6JyInLCImYXBvczsiOiInIiwiJmFtcDsiOiImIiwiJiM2MDsiOiI8IiwiJiM2MjsiOiI+IiwiJiMzNDsiOiciJywiJiMzOTsiOiInIiwiJiMwMzk7IjoiJyIsIiYjMzg7IjoiJiJ9LHI9T2JqZWN0LmFzc2lnbih7fSwuLi5PYmplY3QuZW50cmllcyhuKS5tYXAoKChbdCxlXSk9Pih7W2VdOnR9KSkpKSxhPW5ldyBSZWdFeHAoT2JqZWN0LmtleXMobikuam9pbigifCIpLCJnIik7bmV3IFJlZ0V4cChPYmplY3Qua2V5cyhyKS5qb2luKCJ8IiksImciKTtmdW5jdGlvbiBsKHQpe3JldHVybiB0LnJlcGxhY2UoYSwodD0+blt0XXx8dCkpfWZ1bmN0aW9uIGgodCl7cmV0dXJuIHQucmVwbGFjZShpLG8pfWZ1bmN0aW9uIGModCl7Y29uc3QgZT1JbnRsLlNlZ21lbnRlcjtpZihlKXtjb25zdCBzPW5ldyBlKHZvaWQgMCx7Z3JhbnVsYXJpdHk6ImdyYXBoZW1lIn0pLFt7c2VnbWVudDppfT17c2VnbWVudDpudWxsfV09cy5zZWdtZW50KHQpO3JldHVybiBpPy50b1VwcGVyQ2FzZSgpPz9udWxsfXtjb25zdCBlPXQuY29kZVBvaW50QXQoMCk7cmV0dXJuIGU/U3RyaW5nLmZyb21Db2RlUG9pbnQoZSkudG9VcHBlckNhc2UoKTpudWxsfX19LDM0NTE1MSh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtob3RLZXlEZXNlcmlhbGl6ZTooKT0+b30pO3ZhciBpPXMoNjQxNTkzKTtmdW5jdGlvbiBvKHQpe3JldHVybiBKU09OLnBhcnNlKCgwLGkuZGVjb2RlSFRNTEVudGl0aWVzKSh0KSl9fSw5ODYyNzUodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7Z2V0TG9nb1VybHNIb29rOigpPT5yfSk7dmFyIGk9cyg2MDE4NDEpLG89cyg4NjIyMTMpO2NvbnN0IG49KDAsby5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7ZnVuY3Rpb24gcih0LGUpe2xldCBzPSExO3JldHVybihyLGEsbCk9PntpZighcyYmKHIubG9nb3x8bCkpe3M9ITA7Y29uc3QgYT1yLmxvZ28/ZnVuY3Rpb24odCxlPW8uTG9nb1NpemUuTWVkaXVtKXtyZXR1cm4oInBhaXIiPT09dC5zdHlsZT9bdC5sb2dvaWQsdC5sb2dvaWQyXTpbdC5sb2dvaWRdKS5tYXAoKHQ9Pm4uZ2V0U3ltYm9sTG9nb1VybCh0LGUpKSkuZmlsdGVyKGkubm90TnVsbCl9KHIubG9nbyxlKTpbXTt0KGEpfX19fSwyODQ0ODQodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UXVvdGVUaWNrZXI6KCk9PmJ9KQo7dmFyIGk9cyg5NjQ0ODYpLG89cygyMjEwNjEpLG49cyg2MDE4NDEpLHI9cygxMjUyMTgpLGE9cyg4OTE3NzgpLGw9cyg3NTU2MjcpLGg9cyg5ODQzNzYpLGM9cyg1NjM5MTgpLG09cygzMDY5MCksdT1zKDUyODM5NiksZD1zKDExMzU2NyksXz1zKDE1OTUxMyksZz1zKDk3MzExOSkscD1zKDYwMjg3KSxmPXMoNzg2NzYwKSx4PXMoMTAxNzEyKTtjb25zdCB5PSgwLG8uZ2V0TG9nZ2VyKSgiUXVvdGVUaWNrZXIiKSxOPXthZGREZXNjcmlwdGlvblRpdGxlOiEwLGNoYW5nZURpcmVjdGlvbkRvd25DbGFzczoiZG93biIsY2hhbmdlRGlyZWN0aW9uVXBDbGFzczoidXAiLGNoYW5nZURpcmVjdGlvbk5ldXRyYWxDbGFzczoibmV1dHJhbCIsY2hhbmdlSW5CcmFja2V0czohMSxjaGFuZ2VQZXJjZW50SW5CcmFja2V0czohMSxsYXN0UHJpY2VUaW1lSW5CcmFja2V0czohMCxsYXN0UmVsZWFzZURhdGVUaW1lSW5CcmFja2V0czohMCxydGNUaW1lSW5CcmFja2V0czohMCxjbGllbnROYW1lOiJxdW90ZS10aWNrZXIiLGRvbnREeWVQcmljZTohMSxmYWxsaW5nQmc6bnVsbCxncm93aW5nQmc6bnVsbCxsYXN0RmFsbGluZ0NsYXNzOiJmYWxsaW5nIixsYXN0R3Jvd2luZ0NsYXNzOiJncm93aW5nIixxdW90ZVNlc3Npb246bnVsbCxzaWduTmVnYXRpdmU6ITAsc2lnblBvc2l0aXZlOiExLGN1c3RvbVByaWNlRm9ybWF0dGVyOm51bGwsY3VzdG9tVGltZUZvcm1hdHRlcjpudWxsLHNlc3Npb25TdGF0dXNDbGFzc1N1ZmZpeDoiLS1mb3ItdGlja2VyIixkYXRhTW9kZUNsYXNzU3VmZml4OiItLWZvci10aWNrZXIiLHNob3dJbnZhbGlkU3ltYm9sU3RhdHVzOiExLGluZGljYXRvcnNUb29sdGlwVHlwZToiY3VzdG9tIixsYXN0UHJpY2VMYXN0Q2hhclN1cDohMSxsYXN0UHJpY2VIaWdobGlnaHREaWZmT25seTohMSxpbml0ZWRIb29rOnZvaWQgMCxzZXRTdGF0ZUhvb2s6dm9pZCAwLHBlcm1pc3Npb25EZW5pZWRIb29rOnZvaWQgMCxub1N1Y2hTeW1ib2xIb29rOnZvaWQgMH0sQz0vW0tNQlRdLztmdW5jdGlvbiBiKHQsZSxzPXt9KXt0aGlzLmVuYWJsZWQ9ITAsdGhpcy5fc3ltYm9sPXQsdGhpcy5fc3ltYm9sT3JpZ2luYWw9bnVsbCx0aGlzLl9vcHRpb25zPSgwLGkuZGVlcEV4dGVuZCkoe30sTixzKSwhMSE9PXRoaXMuX29wdGlvbnMuc2lnbk5lZ2F0aXZlJiYhMCE9PXRoaXMuX29wdGlvbnMuc2lnbk5lZ2F0aXZlJiZkZWxldGUgdGhpcy5fb3B0aW9ucy5zaWduTmVnYXRpdmUscy5jdXN0b21QcmljZUZvcm1hdHRlciYmKHRoaXMuX2N1c3RvbVByaWNlRm9ybWF0dGVyPXMuY3VzdG9tUHJpY2VGb3JtYXR0ZXIpLHMuY3VzdG9tVGltZUZvcm1hdHRlciYmKHZvaWQgMCE9PXMuY3VzdG9tVGltZUZvcm1hdHRlci5sYXN0UHJpY2V8fHZvaWQgMCE9PXMuY3VzdG9tVGltZUZvcm1hdHRlci5ydGM/dGhpcy5fdGltZUZvcm1hdHRlcj1zLmN1c3RvbVRpbWVGb3JtYXR0ZXI6dGhpcy5fdGltZUZvcm1hdHRlcj17bGFzdFByaWNlOnMuY3VzdG9tUHJpY2VGb3JtYXR0ZXIscnRjOnMuY3VzdG9tUHJpY2VGb3JtYXR0ZXJ9KSx0aGlzLl9wZXJjZW50Rm9ybWF0dGVyPW5ldyByLlBlcmNlbnRhZ2VGb3JtYXR0ZXIsdGhpcy5fZGVmYXVsdFByaWNlRm9ybWF0dGVyPW5ldyBsLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOjEwMH0pLHRoaXMuX3ByaWNlRm9ybWF0dGVyPXRoaXMuX2N1c3RvbVByaWNlRm9ybWF0dGVyfHx0aGlzLl9kZWZhdWx0UHJpY2VGb3JtYXR0ZXIsdGhpcy5fdm9sdW1lRm9ybWF0dGVyPW5ldyBoLlZvbHVtZUZvcm1hdHRlcih7cHJlY2lzaW9uOjJ9KSx0aGlzLl9jYWNoZT17fSx0aGlzLl9sYXN0UHJpY2U9bnVsbCx0aGlzLl9sYXN0UHJpY2VGb3JtYXR0ZWQ9IiIsdGhpcy5fbGFzdE1pbk1vdmU9MCx0aGlzLl9lbGVtZW50cz17fSx0aGlzLl90ZXh0Tm9kZXM9e30sdGhpcy5fY2hhbmdlVm9sdW1lTGV0dGVyPXRoaXMuX2dldENoYW5nZVZvbHVtZUxldHRlckNhbGxiYWNrKCksdGhpcy5fc2V0RWxlbWVudHMoZSksdGhpcy5faGlnaGxpZ2h0ZXJzPXt9LHRoaXMuX2luaXRIaWdobGlnaHRlcnMoKSx0aGlzLl9vcHRpb25zLnNldFN0YXRlSG9vayYmdGhpcy5zZXRTdGF0ZUhvb2sodGhpcy5fb3B0aW9ucy5zZXRTdGF0ZUhvb2spLHRoaXMucXVvdGVTZXNzaW9uPXRoaXMuX29wdGlvbnMucXVvdGVTZXNzaW9ufHwoMCxfLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSgic2ltcGxlIiksdGhpcy5fcXVvdGVTZXNzaW9uRXZlbnRIYW5kbGVyPXRoaXMub25EYXRhLmJpbmQodGhpcyksdGhpcy5fY29ubmVjdFRpbWVvdXRJZD1zZXRUaW1lb3V0KHRoaXMuY29ubmVjdC5iaW5kKHRoaXMpLDApfWZ1bmN0aW9uIHYodCl7Y29uc3QgZT10LnNlYXJjaChDKSxzPWU+PTA/dC5zbGljZShlKToiIjtyZXR1cm5bZT4wP3Quc3Vic3RyaW5nKGUsMCk6MD09PWU/IiI6dCxzXX1mdW5jdGlvbiBTKHQsZSxzLGksbyl7dmFyIG4scj1udWxsO2Z1bmN0aW9uIGEoKXtpZihuJiYoY2xlYXJUaW1lb3V0KG4pLG49dm9pZCAwKSxzfHxlKWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXRbcl0uc3R5bGUuYmFja2dyb3VuZD0iIjtpZighc3x8IWUpZm9yKHI9MDtyPHQubGVuZ3RoO3IrKylpJiZ0W3JdLmNsYXNzTGlzdC5yZW1vdmUoaSksbyYmdFtyXS5jbGFzc0xpc3QucmVtb3ZlKG8pfXJldHVybntzaG93OmZ1bmN0aW9uKGwpe3ZhciBoPTA7aWYobCE9PXIpe2lmKG51bGwhPT1yJiZudWxsIT09bCYmKGg9bC1yKSxhKCksbj1zZXRUaW1lb3V0KGEsNzUwKSwwPGgpe2lmKGUpZm9yKHZhciBjPTA7Yzx0Lmxlbmd0aDtjKyspdFtjXS5zdHlsZS5iYWNrZ3JvdW5kPWU7ZWxzZSBpZihpKWZvcihjPTA7Yzx0Lmxlbmd0aDtjKyspdFtjXS5jbGFzc0xpc3QuYWRkKGkpfWVsc2UgaWYoaDwwKWlmKHMpZm9yKGM9MDtjPHQubGVuZ3RoO2MrKyl0W2NdLnN0eWxlLmJhY2tncm91bmQ9cztlbHNlIGlmKG8pZm9yKGM9MDtjPHQubGVuZ3RoO2MrKyl0W2NdLmNsYXNzTGlzdC5hZGQobyk7bnVsbCE9PWwmJihyPWwpfX0saGlkZTphfX1iLnByb3RvdHlwZS5fc2V0RWxlbWVudHM9ZnVuY3Rpb24odCl7dGhpcy5fY29udGFpbmVyPXQsCnRoaXMuX2VsZW1lbnRzLmNoYW5nZT10aGlzLl9maW5kRWxlbWVudHModCxbImpzLXN5bWJvbC1jaGFuZ2UiLCJzeW1ib2wtY2hhbmdlIl0pLHRoaXMuX2VsZW1lbnRzLmNoYW5nZURpcmVjdGlvbj10aGlzLl9maW5kRWxlbWVudHModCxbImpzLXN5bWJvbC1jaGFuZ2UtZGlyZWN0aW9uIiwic3ltYm9sLWNoYW5nZS1kaXJlY3Rpb24iXSksdGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlRGlyZWN0aW9uPXRoaXMuX2ZpbmRFbGVtZW50cyh0LFsianMtc3ltYm9sLWV4dC1ocnMtY2hhbmdlLWRpcmVjdGlvbiJdKSx0aGlzLl9lbGVtZW50cy5jaGFuZ2VQZXJjZW50PXRoaXMuX2ZpbmRFbGVtZW50cyh0LFsianMtc3ltYm9sLWNoYW5nZS1wdCIsInN5bWJvbC1jaGFuZ2UtcHQiXSksdGhpcy5fZWxlbWVudHMuZGVzY3JpcHRpb249dGhpcy5fZmluZEVsZW1lbnRzKHQsWyJqcy1zeW1ib2wtZGVzY3JpcHRpb24tbmFtZSIsInN5bWJvbC1kZXNjcmlwdGlvbi1uYW1lIl0pLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZT10aGlzLl9maW5kRWxlbWVudHModCwianMtc3ltYm9sLWV4dC1ocnMtY2hhbmdlIiksdGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlUGVyY2VudD10aGlzLl9maW5kRWxlbWVudHModCwianMtc3ltYm9sLWV4dC1ocnMtY2hhbmdlLXB0IiksdGhpcy5fZWxlbWVudHMuZXh0SHJzQ2xvc2U9dGhpcy5fZmluZEVsZW1lbnRzKHQsImpzLXN5bWJvbC1leHQtaHJzLWNsb3NlIiksdGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VEaXJlY3Rpb249dGhpcy5fZmluZEVsZW1lbnRzKHQsWyJqcy1zeW1ib2wtbmlnaHQtY2hhbmdlLWRpcmVjdGlvbiJdKSx0aGlzLl9lbGVtZW50cy5uaWdodENoYW5nZT10aGlzLl9maW5kRWxlbWVudHModCwianMtc3ltYm9sLW5pZ2h0LWNoYW5nZSIpLHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlUGVyY2VudD10aGlzLl9maW5kRWxlbWVudHModCwianMtc3ltYm9sLW5pZ2h0LWNoYW5nZS1wdCIpLHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2xvc2U9dGhpcy5fZmluZEVsZW1lbnRzKHQsImpzLXN5bWJvbC1uaWdodC1jbG9zZSIpLHRoaXMuX2VsZW1lbnRzLmluZHVzdHJ5PXRoaXMuX2ZpbmRFbGVtZW50cyh0LFsianMtc3ltYm9sLWluZHVzdHJ5Iiwic3ltYm9sLWluZHVzdHJ5Il0pLHRoaXMuX2VsZW1lbnRzLmxhc3Q9dGhpcy5fZmluZEVsZW1lbnRzKHQsWyJqcy1zeW1ib2wtbGFzdCIsInN5bWJvbC1sYXN0Il0pLHRoaXMuX2VsZW1lbnRzLnNlY3Rvcj10aGlzLl9maW5kRWxlbWVudHModCxbImpzLXN5bWJvbC1zZWN0b3IiLCJzeW1ib2wtc2VjdG9yIl0pLHRoaXMuX2VsZW1lbnRzLnNlc3Npb25TdGF0dXM9dGhpcy5fZmluZEVsZW1lbnRzKHQsImpzLXN5bWJvbC1zZXNzaW9uLXN0YXR1cyIpLHRoaXMuX2VsZW1lbnRzLnNob3J0TmFtZT10aGlzLl9maW5kRWxlbWVudHModCxbImpzLXN5bWJvbC1zaG9ydC1uYW1lIiwic3ltYm9sLXNob3J0LW5hbWUiXSksdGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZT10aGlzLl9maW5kRWxlbWVudHModCwianMtZGF0YS1tb2RlIiksdGhpcy5fZWxlbWVudHMubGFzdFBlcmlvZD10aGlzLl9maW5kRWxlbWVudHModCwianMtc3ltYm9sLWxhc3QtcGVyaW9kIiksdGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZS5mb3JFYWNoKCh0PT50LmNsYXNzTGlzdC5hZGQoImktaGlkZGVuIikpKSx0aGlzLl90ZXh0Tm9kZXMuY2hhbmdlPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmNoYW5nZSksdGhpcy5fdGV4dE5vZGVzLmNoYW5nZVBlcmNlbnQ9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMuY2hhbmdlUGVyY2VudCksdGhpcy5fdGV4dE5vZGVzLmV4dEhyc0NoYW5nZT10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5leHRIcnNDaGFuZ2UpLHRoaXMuX3RleHROb2Rlcy5leHRIcnNDaGFuZ2VQZXJjZW50PXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZVBlcmNlbnQpLHRoaXMuX3RleHROb2Rlcy5leHRIcnNDbG9zZT10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5leHRIcnNDbG9zZSksdGhpcy5fdGV4dE5vZGVzLm5pZ2h0Q2hhbmdlPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlKSx0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2VQZXJjZW50PXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlUGVyY2VudCksdGhpcy5fdGV4dE5vZGVzLm5pZ2h0Q2xvc2U9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubmlnaHRDbG9zZSksdGhpcy5fdGV4dE5vZGVzLmxhc3Q9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubGFzdCksdGhpcy5fdGV4dE5vZGVzLm9wZW49dGhpcy5fZmluZFRleHROb2Rlcyh0LCJqcy1zeW1ib2wtb3BlbiIpLHRoaXMuX3RleHROb2Rlcy5lcHM9dGhpcy5fZmluZFRleHROb2Rlcyh0LCJqcy1zeW1ib2wtZXBzIiksdGhpcy5fdGV4dE5vZGVzLm1hcmtldENhcD10aGlzLl9maW5kVGV4dE5vZGVzKHQsImpzLXN5bWJvbC1tYXJrZXQtY2FwIiksdGhpcy5fdGV4dE5vZGVzLnByZXZDbG9zZT10aGlzLl9maW5kVGV4dE5vZGVzKHQsImpzLXN5bWJvbC1wcmV2LWNsb3NlIiksdGhpcy5fdGV4dE5vZGVzLmRpdmlkZW5kcz10aGlzLl9maW5kVGV4dE5vZGVzKHQsImpzLXN5bWJvbC1kaXZpZGVuZHMiKSx0aGlzLl90ZXh0Tm9kZXMucHJpY2VFYXJuaW5ncz10aGlzLl9maW5kVGV4dE5vZGVzKHQsImpzLXN5bWJvbC1wZSIpLHRoaXMuX3RleHROb2Rlcy52b2x1bWU9dGhpcy5fZmluZFRleHROb2Rlcyh0LCJqcy1zeW1ib2wtdm9sdW1lIiksdGhpcy5fdGV4dE5vZGVzLmhpZ2g9dGhpcy5fZmluZFRleHROb2Rlcyh0LCJqcy1zeW1ib2wtaGlnaCIpLHRoaXMuX3RleHROb2Rlcy5sb3c9dGhpcy5fZmluZFRleHROb2Rlcyh0LCJqcy1zeW1ib2wtbG93IiksCnRoaXMuX3RleHROb2Rlcy5jdXJyZW5jeT10aGlzLl9maW5kVGV4dE5vZGVzKHQsImpzLXN5bWJvbC1jdXJyZW5jeSIpLHRoaXMuX3RleHROb2Rlcy5sYXN0UHJpY2VUaW1lPXRoaXMuX2ZpbmRUZXh0Tm9kZXModCwianMtc3ltYm9sLWxwLXRpbWUiKSx0aGlzLl90ZXh0Tm9kZXMubGFzdFJlbGVhc2VEYXRlPXRoaXMuX2ZpbmRUZXh0Tm9kZXModCwianMtc3ltYm9sLWxhc3QtcmVsZWFzZS1kYXRlIiksdGhpcy5fdGV4dE5vZGVzLnJ0Y1RpbWU9dGhpcy5fZmluZFRleHROb2Rlcyh0LCJqcy1zeW1ib2wtcnRjLXRpbWUiKSx0aGlzLl90ZXh0Tm9kZXMubnRjVGltZT10aGlzLl9maW5kVGV4dE5vZGVzKHQsImpzLXN5bWJvbC1udGMtdGltZSIpLHRoaXMuX2VsZW1lbnRzLmxhc3RIaWdobGlnaHQ9dGhpcy5fb3B0aW9ucy5sYXN0UHJpY2VIaWdobGlnaHREaWZmT25seT90aGlzLl9lbGVtZW50cy5sYXN0Lm1hcCgodD0+dGhpcy5fYXBwZW5kQW5kR2V0TmV3RWxlbWVudCh0LCJzcGFuIikpKTp0aGlzLl9lbGVtZW50cy5sYXN0LHRoaXMuX3RleHROb2Rlcy5sYXN0SGlnaGxpZ2h0PXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmxhc3RIaWdobGlnaHQpLHRoaXMuX2VsZW1lbnRzLmxhc3RTdXA9dGhpcy5fb3B0aW9ucy5sYXN0UHJpY2VMYXN0Q2hhclN1cD90aGlzLl9lbGVtZW50cy5sYXN0SGlnaGxpZ2h0Lm1hcCgodD0+dGhpcy5fYXBwZW5kQW5kR2V0TmV3RWxlbWVudCh0LCJzdXAiKSkpOltdLHRoaXMuX3RleHROb2Rlcy5sYXN0U3VwPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmxhc3RTdXApfSxiLnByb3RvdHlwZS5fZmluZEVsZW1lbnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHM9KDAsbi5pc0FycmF5KShlKT9lOltlXTtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxzLm1hcCgoZT0+QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGUpKSkpKX0sYi5wcm90b3R5cGUuX2ZpbmRUZXh0Tm9kZXM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZmluZEVsZW1lbnRzKHQsZSkpfSxiLnByb3RvdHlwZS5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXM9ZnVuY3Rpb24odCl7cmV0dXJuIHQubWFwKCh0PT57dmFyIGU9dGhpcy5fZ2V0Rmlyc3RUZXh0Tm9kZSh0KTtyZXR1cm4gZXx8KGU9dC5vd25lckRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKSx0LmFwcGVuZENoaWxkKGUpKSxlfSkpfSxiLnByb3RvdHlwZS5fYXBwZW5kQW5kR2V0TmV3RWxlbWVudD1mdW5jdGlvbih0LGUpe2NvbnN0IHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlKTtyZXR1cm4gdC5hcHBlbmRDaGlsZChzKSxzfSxiLnByb3RvdHlwZS5fZ2V0Rmlyc3RUZXh0Tm9kZT1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5jaGlsZE5vZGVzLHM9ZS5sZW5ndGgtMTtzPj0wO3MtLSlpZigzPT09ZS5pdGVtKHMpLm5vZGVUeXBlKXJldHVybiBlLml0ZW0ocyk7cmV0dXJuIG51bGx9LGIucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24odCl7dGhpcy5fc3Vic2NyaWJlZHx8KHRoaXMuX3N1YnNjcmliZWRTeW1ib2w9dHx8dGhpcy5fc3ltYm9sLHRoaXMucXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9vcHRpb25zLmNsaWVudE5hbWUsdGhpcy5fc3Vic2NyaWJlZFN5bWJvbCx0aGlzLl9xdW90ZVNlc3Npb25FdmVudEhhbmRsZXIpLHRoaXMuX3N1YnNjcmliZWQ9ITApfSxiLnByb3RvdHlwZS5kaXNjb25uZWN0PWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHRoaXMuX2Nvbm5lY3RUaW1lb3V0SWQpLHRoaXMuX3N1YnNjcmliZWQmJih0aGlzLnF1b3RlU2Vzc2lvbi51bnN1YnNjcmliZSh0aGlzLl9vcHRpb25zLmNsaWVudE5hbWUsdGhpcy5fc3Vic2NyaWJlZFN5bWJvbCx0aGlzLl9xdW90ZVNlc3Npb25FdmVudEhhbmRsZXIpLHRoaXMuX3N1YnNjcmliZWQ9ITEpfSxiLnByb3RvdHlwZS5vbkRhdGE9ZnVuY3Rpb24odCxlKXt0aGlzLmVuYWJsZWQmJigib2siPT09dC5zdGF0dXM/dGhpcy5zdWNjZXNzRGF0YSh0LGUpOiJwZXJtaXNzaW9uX2RlbmllZCI9PT10LnN0YXR1cz90aGlzLm9uUGVybWlzc2lvbkRlbmllZCh0KToiZXJyb3IiPT09dC5zdGF0dXMmJnRoaXMuZXJyb3JEYXRhKHQpKX0sYi5wcm90b3R5cGUuc3VjY2Vzc0RhdGE9ZnVuY3Rpb24odCxlKXt0LnZhbHVlcyYmdGhpcy5zZXRTdGF0ZSh0LnZhbHVlcyx0LGUpfSxiLnByb3RvdHlwZS5vblBlcm1pc3Npb25EZW5pZWQ9ZnVuY3Rpb24odCl7KDAseC5pc1NmUXVvdGVEYXRhKSh0KXx8KDAsZi5pc01jeFF1b3RlRGF0YSkodCk/dGhpcy5fb3B0aW9ucy5wZXJtaXNzaW9uRGVuaWVkSG9vaz90aGlzLl9vcHRpb25zLnBlcm1pc3Npb25EZW5pZWRIb29rKHQsdGhpcy5fc3ltYm9sT3JpZ2luYWx8fHRoaXMuX3N5bWJvbCk6dGhpcy5lcnJvckRhdGEodCk6dGhpcy5kb3duZ3JhZGVEYXRhKHQpfSxiLnByb3RvdHlwZS5lcnJvckRhdGE9ZnVuY3Rpb24odCl7dGhpcy5fb3B0aW9ucy5zaG93SW52YWxpZFN5bWJvbFN0YXR1cyYmKHRoaXMuc2V0U2hvcnROYW1lKHRoaXMuX3N5bWJvbCksdGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cy5tYXAoKHQ9Pm5ldyBjLk1hcmtldFN0YXR1c0luZGljYXRvcih7Y2xhc3NTdWZmaXg6dGhpcy5fb3B0aW9ucy5zZXNzaW9uU3RhdHVzQ2xhc3NTdWZmaXgsZWw6dCxkYXRhOnt2YWx1ZXM6e2N1cnJlbnRfc2Vzc2lvbjoiaW52YWxpZCJ9fSx0b29sdGlwVHlwZTp0aGlzLl9vcHRpb25zLmluZGljYXRvcnNUb29sdGlwVHlwZX0pKSkpLHRoaXMuX29wdGlvbnMubm9TdWNoU3ltYm9sSG9vaz8odGhpcy5fc3ltYm9sT3JpZ2luYWwmJnRoaXMuc2V0U2hvcnROYW1lKHRoaXMuX3N5bWJvbE9yaWdpbmFsKSx0aGlzLl9vcHRpb25zLm5vU3VjaFN5bWJvbEhvb2suY2FsbCh0aGlzLHQsdGhpcy5fc3ltYm9sT3JpZ2luYWx8fHRoaXMuX3N5bWJvbCkpOnkubG9nV2FybigiTm8gZGF0YSBmb3I6ICIrdGhpcy5fc3ltYm9sKX0sYi5wcm90b3R5cGUuZG93bmdyYWRlRGF0YT1mdW5jdGlvbih0KXt7CmNvbnN0IGU9dCYmdC52YWx1ZXMmJnQudmFsdWVzLmFsdGVybmF0aXZlLHM9dGhpcy5fc3ltYm9sPT09ZTtpZighKGUmJi0xIT09ZS5pbmRleE9mKCI6IikpfHxzKXJldHVybiB2b2lkIHRoaXMuZXJyb3JEYXRhKHQpO3RoaXMuX3N5bWJvbE9yaWdpbmFsPXRoaXMuX3N5bWJvbCx0aGlzLl9zeW1ib2w9ZSx0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuY29ubmVjdCgpfX0sYi5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24odCxlLGkpe2NvbnN0IG89aS52YWx1ZXM7dGhpcy5faXNWb2x1bWVGb3JtYXQ9InZvbHVtZSI9PT10LmZvcm1hdCxudWxsPT1vLnByaWNlc2NhbGUmJm51bGw9PW8ubWlubW92JiZudWxsPT1vLmZyYWN0aW9uYWwmJm51bGw9PW8ubWlubW92ZTJ8fCh0aGlzLl9wcmljZUZvcm1hdHRlcj10aGlzLl9jdXN0b21QcmljZUZvcm1hdHRlcnx8dGhpcy5faXNWb2x1bWVGb3JtYXQmJnRoaXMuX3ZvbHVtZUZvcm1hdHRlcnx8bmV3IGwuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6dC5wcmljZXNjYWxlfHwxMDAsbWluTW92ZTp0Lm1pbm1vdnx8MSxmcmFjdGlvbmFsOnQuZnJhY3Rpb25hbCxtaW5Nb3ZlMjp0Lm1pbm1vdmUyfSkpO2NvbnN0IG49dGhpcy5fb3B0aW9ucyxyPXRoaXMuX3BlcmNlbnRGb3JtYXR0ZXIsYT10aGlzLl9wcmljZUZvcm1hdHRlcixfPXRoaXMuX2RlZmF1bHRQcmljZUZvcm1hdHRlcixmPXRoaXMuX3ZvbHVtZUZvcm1hdHRlcix4PSh0LGU9ITApPT5lP2AoJHt0fSlgOnQsTj12b2lkIDAhPT1uLnNpZ25Qb3NpdGl2ZUNoYW5nZT9uLnNpZ25Qb3NpdGl2ZUNoYW5nZTpuLnNpZ25Qb3NpdGl2ZSxDPXQ9PigwLGcucXVvdGVUaWNrZXJGb3JtYXRDaGFuZ2UpKHQsbyxuKSxiPXQ9Pntjb25zdCBlPXIuZm9ybWF0KHQse3NpZ25Qb3NpdGl2ZTpOLHNpZ25OZWdhdGl2ZTpuLnNpZ25OZWdhdGl2ZX0pO3JldHVybiB4KGUsbi5jaGFuZ2VQZXJjZW50SW5CcmFja2V0cyl9LHY9YS5mb3JtYXQuYmluZChhKSxTPV8uZm9ybWF0LmJpbmQoXyksUD1mLmZvcm1hdC5iaW5kKGYpLFQ9dD0+bnVsbD09dD9oLlBMQUNFX0hPTERFUjpTKHQpO24uZGlzYWJsZUNoYW5nZXx8KHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmNoYW5nZSxvLmNoYW5nZSxDKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5jaGFuZ2VQZXJjZW50LG8uY2hhbmdlX3BlcmNlbnQsYiksbnVsbCE9by5jaGFuZ2UmJihuLmRvbnREeWVQcmljZXx8dGhpcy5fc2V0Q2hhbmdlRm9udENvbG9yKFtdLmNvbmNhdCh0aGlzLl9lbGVtZW50cy5jaGFuZ2UsdGhpcy5fZWxlbWVudHMuY2hhbmdlUGVyY2VudCksby5jaGFuZ2Usbi5jaGFuZ2VVcEZvbnRDb2xvcixuLmNoYW5nZURvd25Gb250Q29sb3Isbi5jaGFuZ2VOZXV0cmFsRm9udENvbG9yKSx0aGlzLl9zZXRDaGFuZ2VEaXJlY3Rpb24odGhpcy5fZWxlbWVudHMuY2hhbmdlRGlyZWN0aW9uLG8uY2hhbmdlKSksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2hhbmdlLG8ucmNoLEMpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmV4dEhyc0NoYW5nZVBlcmNlbnQsby5yY2hwLGIpLG51bGwhPW8ucmNoJiYobi5kb250RHllUHJpY2V8fHRoaXMuX3NldENoYW5nZUZvbnRDb2xvcihbXS5jb25jYXQodGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZVBlcmNlbnQpLG8ucmNoLG4uY2hhbmdlVXBGb250Q29sb3Isbi5jaGFuZ2VEb3duRm9udENvbG9yLG4uY2hhbmdlTmV1dHJhbEZvbnRDb2xvciksdGhpcy5fc2V0Q2hhbmdlRGlyZWN0aW9uKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZURpcmVjdGlvbixvLnJjaCkpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm5pZ2h0Q2hhbmdlLG8ubmNoLEMpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm5pZ2h0Q2hhbmdlUGVyY2VudCxvLm5jaHAsYiksbnVsbCE9by5uY2gmJihuLmRvbnREeWVQcmljZXx8dGhpcy5fc2V0Q2hhbmdlRm9udENvbG9yKFtdLmNvbmNhdCh0aGlzLl9lbGVtZW50cy5uaWdodENoYW5nZSx0aGlzLl9lbGVtZW50cy5uaWdodENoYW5nZVBlcmNlbnQpLG8ubmNoLG4uY2hhbmdlVXBGb250Q29sb3Isbi5jaGFuZ2VEb3duRm9udENvbG9yLG4uY2hhbmdlTmV1dHJhbEZvbnRDb2xvciksdGhpcy5fc2V0Q2hhbmdlRGlyZWN0aW9uKHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlRGlyZWN0aW9uLG8ubmNoKSkpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLnByZXZDbG9zZSxvLnByZXZfY2xvc2VfcHJpY2UsdiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZGl2aWRlbmRzLHQuZGl2aWRlbmRzX3lpZWxkLCh0PT5udWxsPT10P2guUExBQ0VfSE9MREVSOnIuZm9ybWF0KHQse3NpZ25Qb3NpdGl2ZTpuLnNpZ25Qb3NpdGl2ZSxzaWduTmVnYXRpdmU6bi5zaWduTmVnYXRpdmV9KSksITApO2xldCB3PSgwLHUuZ2V0VHJhbnNsYXRlZFN5bWJvbERlc2NyaXB0aW9uKShvKTtpZih3JiYodz10aGlzLl9wcmVwYXJlU3ltYm9sRGVzY3JpcHRpb24odyksdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLmRlc2NyaXB0aW9uLHcpLHRoaXMuX29wdGlvbnMuYWRkRGVzY3JpcHRpb25UaXRsZSkpZm9yKHZhciBGPTA7Rjx0aGlzLl9lbGVtZW50cy5kZXNjcmlwdGlvbi5sZW5ndGg7RisrKXRoaXMuX2VsZW1lbnRzLmRlc2NyaXB0aW9uW0ZdLnNldEF0dHJpYnV0ZSgidGl0bGUiLHcpO2lmKChudWxsIT1vLnNob3J0X25hbWV8fG51bGwhPW8uZXhjaGFuZ2UpJiZ0LnNob3J0X25hbWUpe3ZhciBEPXQuc2hvcnRfbmFtZTsiUVVBTkRMIj09PXQuZXhjaGFuZ2UmJnZvaWQgMCE9PXQuc2hvcnRfbmFtZS5zcGxpdCgiLyIpWzFdJiYoRD10LnNob3J0X25hbWUuc3BsaXQoIi8iKVsxXSsiLCAiK3Quc2hvcnRfbmFtZS5zcGxpdCgiLyIpWzBdKSx0aGlzLnNldFNob3J0TmFtZShEKX0KdFsicmVmZXJlbmNlLWxhc3QtcGVyaW9kIl0mJnRoaXMuX2VsZW1lbnRzLmxhc3RQZXJpb2QubGVuZ3RoJiZQcm9taXNlLmFsbChbcy5lKDIzNTY3KSxzLmUoNzM5NyldKS50aGVuKHMuYmluZChzLDIxNTU3OSkpLnRoZW4oKGU9Pnt0aGlzLl9zZXRUZXh0c0NvbnRlbnQodGhpcy5fZWxlbWVudHMubGFzdFBlcmlvZCxlLnBlcmlvZEZvcm1hdHRlcih0WyJyZWZlcmVuY2UtbGFzdC1wZXJpb2QiXSkpfSkpLHRoaXMuX2VsZW1lbnRzLmxhc3RQZXJpb2QubGVuZ3RoJiZ2b2lkIDA9PT10WyJyZWZlcmVuY2UtbGFzdC1wZXJpb2QiXSYmdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLmxhc3RQZXJpb2QsIuKAlCIpLHRoaXMuX3NldExhc3RWYWx1ZShvLmxhc3RfcHJpY2Usby5taW5tb3ZlMix2KSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5leHRIcnNDbG9zZSxvLnJ0Yyx2KSxvLnJ0YyYmdGhpcy5faGlnaGxpZ2h0ZXJzLmV4dEhyc0Nsb3NlLnNob3coby5ydGMpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm5pZ2h0Q2xvc2Usby5udGMsdiksby5udGMmJnRoaXMuX2hpZ2hsaWdodGVycy5uaWdodENsb3NlLnNob3coby5udGMpLG8uaW5kdXN0cnkmJnRoaXMuX3NldFRleHRzQ29udGVudCh0aGlzLl9lbGVtZW50cy5pbmR1c3RyeSx0LmluZHVzdHJ5LCh0PT50KSksby5zZWN0b3ImJnRoaXMuX3NldFRleHRzQ29udGVudCh0aGlzLl9lbGVtZW50cy5zZWN0b3IsdC5zZWN0b3IpLHRoaXMuX2VsZW1lbnRzLnNlc3Npb25TdGF0dXMmJm8uY3VycmVudF9zZXNzaW9uJiYodGhpcy5fc2Vzc2lvblN0YXR1c0luc3RhbmNlcz90aGlzLl9zZXNzaW9uU3RhdHVzSW5zdGFuY2VzLmZvckVhY2goKHQ9PnQuc2V0U3RhdHVzKG8uY3VycmVudF9zZXNzaW9uKSkpOnRoaXMuX3Nlc3Npb25TdGF0dXNJbnN0YW5jZXM9dGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cy5tYXAoKGU9Pm5ldyBjLk1hcmtldFN0YXR1c0luZGljYXRvcih7Y2xhc3NTdWZmaXg6dGhpcy5fb3B0aW9ucy5zZXNzaW9uU3RhdHVzQ2xhc3NTdWZmaXgsZWw6ZSxzaG9ydDohMCxkYXRhOnt2YWx1ZXM6b30scXVvdGVTZXNzaW9uOnRoaXMucXVvdGVTZXNzaW9uLHN5bWJvbDp0Lm9yaWdpbmFsX25hbWUsbWFudWFsVXBkYXRlOiEwLHRvb2x0aXBUeXBlOnRoaXMuX29wdGlvbnMuaW5kaWNhdG9yc1Rvb2x0aXBUeXBlLHNlc3Npb25TdGF0dXNJY29uOnRoaXMuX29wdGlvbnMuc2Vzc2lvblN0YXR1c0ljb259KSkpKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5vcGVuLG8ub3Blbl9wcmljZSx2KSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5oaWdoLG8uaGlnaF9wcmljZSx2KSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sb3csby5sb3dfcHJpY2UsdiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZXBzLHQuZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSxULCEwKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5wcmljZUVhcm5pbmdzLHQucHJpY2VfZWFybmluZ3NfdHRtLFQsITApLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm1hcmtldENhcCx0Lm1hcmtldF9jYXBfYmFzaWMsUCwhMCksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMudm9sdW1lLHQudm9sdW1lLFAsITApO2NvbnN0IGs9KDAsZC5wcmVwYXJlQ3VycmVuY3lWYWx1ZSkobyk7aWYoayYmdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuY3VycmVuY3ksayxwLnF1b3RlVGlja2VyRm9ybWF0Q3VycmVuY3ksITApLChvLmxwX3RpbWV8fHQubHBfdGltZSkmJnRoaXMuX3RleHROb2Rlcy5sYXN0UHJpY2VUaW1lLmxlbmd0aCYmKHRoaXMuX3RpbWVGb3JtYXR0ZXImJnRoaXMuX3RpbWVGb3JtYXR0ZXIubGFzdFByaWNlP3RoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxhc3RQcmljZVRpbWUseCh0aGlzLl90aW1lRm9ybWF0dGVyLmxhc3RQcmljZSh0LmxwX3RpbWUsdC5jdXJyZW50X3Nlc3Npb24pLHRoaXMuX29wdGlvbnMubGFzdFByaWNlVGltZUluQnJhY2tldHMpKTp5LmxvZ0Vycm9yKCJsYXN0IHByaWNlIHRpbWUgZmllbGQgcmVxdWVzdGVkIHdpdGggbm8gZm9ybWF0dGVyIHByb3ZpZGVkIikpLChvLmxhc3RfcmVsZWFzZV9kYXRlfHx0Lmxhc3RfcmVsZWFzZV9kYXRlKSYmdGhpcy5fdGV4dE5vZGVzLmxhc3RSZWxlYXNlRGF0ZS5sZW5ndGgmJih0aGlzLl90aW1lRm9ybWF0dGVyJiZ0aGlzLl90aW1lRm9ybWF0dGVyLmxhc3RSZWxlYXNlRGF0ZT90aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sYXN0UmVsZWFzZURhdGUseCh0aGlzLl90aW1lRm9ybWF0dGVyLmxhc3RSZWxlYXNlRGF0ZSh0Lmxhc3RfcmVsZWFzZV9kYXRlLHQuY3VycmVudF9zZXNzaW9uKSx0aGlzLl9vcHRpb25zLmxhc3RSZWxlYXNlRGF0ZVRpbWVJbkJyYWNrZXRzKSk6eS5sb2dFcnJvcigibGFzdFJlbGVhc2VEYXRlIHRpbWUgZmllbGQgcmVxdWVzdGVkIHdpdGggbm8gZm9ybWF0dGVyIHByb3ZpZGVkIikpLChvLnJ0Y190aW1lfHx0LnJ0Y190aW1lKSYmdGhpcy5fdGV4dE5vZGVzLnJ0Y1RpbWUubGVuZ3RoJiYodGhpcy5fdGltZUZvcm1hdHRlciYmdGhpcy5fdGltZUZvcm1hdHRlci5ydGM/dGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMucnRjVGltZSx4KHRoaXMuX3RpbWVGb3JtYXR0ZXIucnRjKHQucnRjX3RpbWUsdC5jdXJyZW50X3Nlc3Npb24pLHRoaXMuX29wdGlvbnMucnRjVGltZUluQnJhY2tldHMpKTp5LmxvZ0Vycm9yKCJydGMgdGltZSBmaWVsZCByZXF1ZXN0ZWQgd2l0aCBubyBmb3JtYXR0ZXIgcHJvdmlkZWQiKSksCihvLm50Y190aW1lfHx0Lm50Y190aW1lKSYmdGhpcy5fdGV4dE5vZGVzLm50Y1RpbWUubGVuZ3RoJiYodGhpcy5fdGltZUZvcm1hdHRlciYmdGhpcy5fdGltZUZvcm1hdHRlci5ydGM/dGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubnRjVGltZSx4KHRoaXMuX3RpbWVGb3JtYXR0ZXIucnRjKHQubnRjX3RpbWUsdC5jdXJyZW50X3Nlc3Npb24pLHRoaXMuX29wdGlvbnMucnRjVGltZUluQnJhY2tldHMpKTp5LmxvZ0Vycm9yKCJudGMgdGltZSBmaWVsZCByZXF1ZXN0ZWQgd2l0aCBubyBmb3JtYXR0ZXIgcHJvdmlkZWQiKSksbnVsbCE9by5sYXN0X3ByaWNlKWZvcihGPTA7Rjx0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlLmxlbmd0aDtGKyspdGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZVtGXS5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpO3RoaXMuX2VsZW1lbnRzLnVwZGF0ZU1vZGUmJihvLnVwZGF0ZV9tb2RlfHxvLnVwZGF0ZV9tb2RlX3NlY29uZHMpJiYodGhpcy5fdXBkYXRlTW9kZUluc3RhbmNlcz90aGlzLl91cGRhdGVNb2RlSW5zdGFuY2VzLmZvckVhY2goKGU9PmUudXBkYXRlKHt2YWx1ZXM6dH0pKSk6dGhpcy5fdXBkYXRlTW9kZUluc3RhbmNlcz10aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlLm1hcCgoZT0+bmV3IG0uRGF0YU1vZGVJbmRpY2F0b3Ioe2NsYXNzU3VmZml4OnRoaXMuX29wdGlvbnMuZGF0YU1vZGVDbGFzc1N1ZmZpeCxlbDplLGRhdGE6e3ZhbHVlczp0fSxtb2RlSW50ZXJ2YWw6dC51cGRhdGVfbW9kZV9zZWNvbmRzLHNob3J0OiEwLHRvb2x0aXBUeXBlOnRoaXMuX29wdGlvbnMuaW5kaWNhdG9yc1Rvb2x0aXBUeXBlfSkpKSksdGhpcy5fc2V0U3RhdGVIb29rJiZ0aGlzLl9zZXRTdGF0ZUhvb2soZS52YWx1ZXMsaS52YWx1ZXMsZS5jb21wbGV0ZSx0aGlzLmdldE9wdGlvbnMoKSksdGhpcy5fbGFzdFByaWNlP3RoaXMuX2hpZ2hsaWdodGVycy5sYXN0LnNob3codC5sYXN0X3ByaWNlKTpudWxsPT09dGhpcy5fbGFzdFByaWNlJiYodGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoInF1b3RlLXRpY2tlci1pbml0ZWQiKSwiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fb3B0aW9ucy5pbml0ZWRIb29rJiZ0aGlzLl9vcHRpb25zLmluaXRlZEhvb2soImxhc3RfcHJpY2UiaW4gdCkpLHRoaXMuX2xhc3RQcmljZT10Lmxhc3RfcHJpY2V9LGIucHJvdG90eXBlLl9zZXROb2Rlc1ZhbHVlPWZ1bmN0aW9uKHQsZSxzLGkpe2lmKG51bGwhPWV8fGkpZm9yKHZhciBvPSJmdW5jdGlvbiI9PXR5cGVvZiBzP3MoZSk6ZSxuPTA7bjx0Lmxlbmd0aDtuKyspdFtuXS5ub2RlVmFsdWU9b30sYi5wcm90b3R5cGUuX3NldFRleHRzQ29udGVudD1mdW5jdGlvbih0LGUscyl7aWYodCYmdC5sZW5ndGgmJmUpZm9yKHZhciBpPSJmdW5jdGlvbiI9PXR5cGVvZiBzP3MoZSk6ZSxvPTA7bzx0Lmxlbmd0aDtvKyspdFtvXS50ZXh0Q29udGVudD1pfSxiLnByb3RvdHlwZS5fc2V0TGFzdFZhbHVlPWZ1bmN0aW9uKHQsZSxzKXtpZihudWxsPT10KXJldHVybjtjb25zdCBpPSJmdW5jdGlvbiI9PXR5cGVvZiBzP3ModCk6U3RyaW5nKHQpO2lmKGk9PT10aGlzLl9sYXN0UHJpY2VGb3JtYXR0ZWQpcmV0dXJuO2NvbnN0W28sbixyXT10aGlzLl9vcHRpb25zLmxhc3RQcmljZUhpZ2hsaWdodERpZmZPbmx5P3RoaXMuX2dldExhc3RWYWx1ZVN0cmluZ0RpZmYodGhpcy5fbGFzdFByaWNlRm9ybWF0dGVkLGkpOlsiIixpLCIiXSxhPW8sbD10aGlzLl9jYWxjdWxhdGVQaXBldHRlRGlnaXRzKGUpLFtoLGNdPXRoaXMuX29wdGlvbnMubGFzdFByaWNlTGFzdENoYXJTdXAmJmw/W24uc2xpY2UoMCwtbCksbi5zbGljZSgtbCldOltuLCIiXTt0aGlzLl9vcHRpb25zLmxhc3RQcmljZUhpZ2hsaWdodERpZmZPbmx5JiYodGhpcy5faXNWb2x1bWVGb3JtYXQmJnRoaXMuX2NoYW5nZVZvbHVtZUxldHRlci5jYWxsKHRoaXMsciksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubGFzdCxhKSksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubGFzdEhpZ2hsaWdodCxoKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sYXN0U3VwLGMpLHRoaXMuX2xhc3RQcmljZUZvcm1hdHRlZD1pfSxiLnByb3RvdHlwZS5fZ2V0Q2hhbmdlVm9sdW1lTGV0dGVyQ2FsbGJhY2s9ZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24oZSl7ZSE9PXQmJih0PWUsdGhpcy5fZWxlbWVudHMubGFzdC5mb3JFYWNoKChlPT57MyE9PWUuY2hpbGROb2Rlcy5sZW5ndGg/ZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KSk6ZS5jaGlsZE5vZGVzWzJdLm5vZGVWYWx1ZT10fSkpKX19LGIucHJvdG90eXBlLl9nZXRMYXN0VmFsdWVTdHJpbmdEaWZmPWZ1bmN0aW9uKHQsZSl7aWYodD09PWUpe2NvbnN0W3Qsc109dihlKTtyZXR1cm5bdCwiIixzXX1sZXQgcz0wO2Zvcig7dFtzXT09PWVbc107KXMrKztjb25zdFtpLG9dPXYoZS5zbGljZShzKSk7cmV0dXJuW2Uuc2xpY2UoMCxzKSxpLG9dfSxiLnByb3RvdHlwZS5fY2FsY3VsYXRlUGlwZXR0ZURpZ2l0cz1mdW5jdGlvbih0KXtyZXR1cm4gdCYmdCE9PXRoaXMuX2xhc3RNaW5Nb3ZlJiYodGhpcy5fbGFzdE1pbk1vdmU9dCksdGhpcy5fbGFzdE1pbk1vdmU/KCIiK3RoaXMuX2xhc3RNaW5Nb3ZlKS5sZW5ndGgtMTowfSxiLnByb3RvdHlwZS5fc2V0Q2hhbmdlRm9udENvbG9yPWZ1bmN0aW9uKHQsZSxzLGksbyl7Zm9yKHZhciBuPWEuUHJpY2VDb2xvcmVyLmZvcm1hdFNpZ24oZSx7dXA6cyxkb3duOmksbmV1dHJhbDpvfSkscj0wO3I8dC5sZW5ndGg7cisrKXRbcl0uc3R5bGUuY29sb3I9bn0sYi5wcm90b3R5cGUuX3NldENoYW5nZURpcmVjdGlvbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcz0wO3M8dC5sZW5ndGg7cysrKXt2YXIgaT10W3NdLmNsYXNzTGlzdDtpLnRvZ2dsZSh0aGlzLl9vcHRpb25zLmNoYW5nZURpcmVjdGlvblVwQ2xhc3MsZT4wKSxpLnRvZ2dsZSh0aGlzLl9vcHRpb25zLmNoYW5nZURpcmVjdGlvbkRvd25DbGFzcyxlPDApLGkudG9nZ2xlKHRoaXMuX29wdGlvbnMuY2hhbmdlRGlyZWN0aW9uTmV1dHJhbENsYXNzLDA9PT1lKX19LApiLnByb3RvdHlwZS5zZXRTaG9ydE5hbWU9ZnVuY3Rpb24odD0iIil7dGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLnNob3J0TmFtZSx0KX0sYi5wcm90b3R5cGUuX3ByZXBhcmVTeW1ib2xEZXNjcmlwdGlvbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9nZXRDYWNoZSgic3ltYm9sLWRlc2NyaXB0aW9uOiIrdCk7cmV0dXJuIGV8fChlPXQsdGhpcy5fc2V0Q2FjaGUoInN5bWJvbC1kZXNjcmlwdGlvbjoiK3QsZSksZSl9LGIucHJvdG90eXBlLl9pbml0SGlnaGxpZ2h0ZXJzPWZ1bmN0aW9uKCl7dGhpcy5faGlnaGxpZ2h0ZXJzLmxhc3Q9bmV3IFModGhpcy5fZWxlbWVudHMubGFzdEhpZ2hsaWdodCx0aGlzLl9vcHRpb25zLmdyb3dpbmdCZyx0aGlzLl9vcHRpb25zLmZhbGxpbmdCZyx0aGlzLl9vcHRpb25zLmxhc3RHcm93aW5nQ2xhc3MsdGhpcy5fb3B0aW9ucy5sYXN0RmFsbGluZ0NsYXNzKSx0aGlzLl9oaWdobGlnaHRlcnMuZXh0SHJzQ2xvc2U9bmV3IFModGhpcy5fZWxlbWVudHMuZXh0SHJzQ2xvc2UsdGhpcy5fb3B0aW9ucy5ncm93aW5nQmcsdGhpcy5fb3B0aW9ucy5mYWxsaW5nQmcsdGhpcy5fb3B0aW9ucy5sYXN0R3Jvd2luZ0NsYXNzLHRoaXMuX29wdGlvbnMubGFzdEZhbGxpbmdDbGFzcyksdGhpcy5faGlnaGxpZ2h0ZXJzLm5pZ2h0Q2xvc2U9bmV3IFModGhpcy5fZWxlbWVudHMubmlnaHRDbG9zZSx0aGlzLl9vcHRpb25zLmdyb3dpbmdCZyx0aGlzLl9vcHRpb25zLmZhbGxpbmdCZyx0aGlzLl9vcHRpb25zLmxhc3RHcm93aW5nQ2xhc3MsdGhpcy5fb3B0aW9ucy5sYXN0RmFsbGluZ0NsYXNzKX0sYi5wcm90b3R5cGUuZGlzYWJsZT1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMSx0aGlzLmRpc2Nvbm5lY3QoKX0sYi5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSEwLHRoaXMuY29ubmVjdCgpfSxiLnByb3RvdHlwZS5zZXRTdGF0ZUhvb2s9ZnVuY3Rpb24odCl7bnVsbD09PXQmJnRoaXMuX3NldFN0YXRlSG9vaz9kZWxldGUgdGhpcy5fc2V0U3RhdGVIb29rOiJmdW5jdGlvbiI9PXR5cGVvZiB0JiYodGhpcy5fc2V0U3RhdGVIb29rPXQpfSxiLnByb3RvdHlwZS5fc2V0Q2FjaGU9ZnVuY3Rpb24odCxlKXtudWxsPT1lP2RlbGV0ZSB0aGlzLl9jYWNoZVt0XTp0aGlzLl9jYWNoZVt0XT1lfSxiLnByb3RvdHlwZS5fZ2V0Q2FjaGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2NhY2hlJiZ0aGlzLl9jYWNoZVt0XX0sYi5wcm90b3R5cGUuZ2V0T3B0aW9ucz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9vcHRpb25zfX0sMTEzNTY3KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse3ByZXBhcmVDdXJyZW5jeVZhbHVlOigpPT5vfSk7dmFyIGk9cygxODUyNzEpO2Z1bmN0aW9uIG8odCl7bGV0IGU9W107Y29uc3Qgbz1mdW5jdGlvbih0KXtzd2l0Y2godCl7Y2FzZSJQQ1QiOmNhc2UiUENUUEFSIjpyZXR1cm4iJSI7Y2FzZSJQQ1RHRFAiOnJldHVybiBpLnQobnVsbCx7Y29udGV4dDoiX21heF9sZW5fOSJ9LHMoNTU4NDEyKSk7Y2FzZSJERUdDIjpyZXR1cm4i4oSDIjtkZWZhdWx0OnJldHVybiB0fX0odC5jdXJyZW5jeV9jb2RlfHx0LnZhbHVlX3VuaXRfaWR8fCIiKTtzd2l0Y2godC5tZWFzdXJlKXtjYXNlInByaWNlIjpjYXNlInVuaXQiOmU9W28sdC51bml0X2lkXTticmVhaztkZWZhdWx0OmU9W29dfXJldHVybiBlLmZpbHRlcihCb29sZWFuKS5qb2luKCLigIkv4oCJIil9fSw5MzExOTgodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7aGFuZGxlVFZMaW5rc0NsaWNrOigpPT5hfSk7dmFyIGk9cyg0MDAxODEpLG89cyg2MDE1ODcpLG49cyg3MzA2NDUpO2NvbnN0IHI9ImlnbHU6Y29tLnRyYWRpbmd2aWV3L3dpZGdldF90dl9saW5rX2NsaWNrL2pzb25zY2hlbWEvMS0wLTAiO2Z1bmN0aW9uIGEoKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKHQ9Pntjb25zdCBlPXQudGFyZ2V0LmNsb3Nlc3QoIjpsaW5rIik7ZT8uaG9zdG5hbWUmJigwLG4uaXNJbnRlcm5hbEhvc3QpKGUuaG9zdG5hbWUsInRyYWRpbmd2aWV3LmNvbSIpJiZhc3luYyBmdW5jdGlvbih0LGUpe2NvbnN0IHM9ZnVuY3Rpb24oKXtjb25zdCB0PXdpbmRvdy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoT2JqZWN0LmtleXModCkubGVuZ3RoPjApcmV0dXJuKDAsby5maWx0ZXJVdG1JbmZvKSh0KTtjb25zdCBlPW5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uaHJlZik7cmV0dXJue3V0bV9jYW1wYWlnbjplLmdldCgidXRtX2NhbXBhaWduIil8fHZvaWQgMCx1dG1fc291cmNlOmUuZ2V0KCJ1dG1fc291cmNlIil8fHZvaWQgMH19KCk7KGF3YWl0KDAsaS5nZXRUcmFja2VyKSgpKT8udHJhY2tTZWxmRGVzYyhyLHt3aWRnZXRfdHlwZTpoKHMpLGRvbWFpbjpsKHMpLGxpbms6dCx0YXJnZXRfdHlwZTplfSl9KGUuaHJlZixlLmRhdGFzZXQudGFyZ2V0VHlwZXx8bnVsbCl9KSl9ZnVuY3Rpb24gbCh0KXtjb25zdCBlPWxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucz8uWzBdfHxkb2N1bWVudC5yZWZlcnJlcjtyZXR1cm4gdC51dG1fc291cmNlfHxmdW5jdGlvbih0KXt0cnl7cmV0dXJuIG5ldyBVUkwodCkuaG9zdH1jYXRjaCh0KXtyZXR1cm4iIn19KGUpfWZ1bmN0aW9uIGgodCl7aWYodC51dG1fY2FtcGFpZ24pcmV0dXJuIHQudXRtX2NhbXBhaWduO2NvbnN0IGU9bG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIGUuaW5jbHVkZXMoImVtYmVkLXdpZGdldCIpP2Uuc3BsaXQoIi8iKVsyXTplfX0sMzg5Mjk4KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse3RyYWNrV2lkZ2V0TG9hZE1ldGFJbmZvOigpPT5vfSk7dmFyIGk9cyg0MDAxODEpO2FzeW5jIGZ1bmN0aW9uIG8odCl7TWF0aC5yYW5kb20oKT4uMDA1fHwoYXdhaXQoMCxpLmdldFRyYWNrZXIpKCkpPy50cmFja1NlbGZEZXNjKCJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRfbG9hZF9tZXRhX2luZm8vanNvbnNjaGVtYS8xLTAtMCIsdCl9fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/87926.8ab9cfede16295107017.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.636Z","timestamp":1785129292636,"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/87926.8ab9cfede16295107017.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-3547\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:49\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7a9b1694f5984e13dcee87f80b606795\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":13639,"size_decoded":6439,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"5f5b2f579bfcf6854f67787677d11c94","sha1":"6de49cc606825ccf66acbceb2ba4d23d91f0ec4c","sha256":"38c41c9069ed7604e737e462760f16363aad09961b1091c66dfab594df263108","sha512":"3a309c43d694230393cf3d65bb8e48af52ff337f61f287f020e266764e5df3ad2531cd999bc8dbf42e74c27546fd871a68515a183ef1c35d24e0c0cb77549a6c","ssdeep":"384:KossZPZ8HYrU0jAWia49Aa4/WHA1E9y3ywtUPIsxmvxqlOwSCoBPy7:KossZPZEYrU0AWPXa4/WHH9WywtUgsSi","tlshash":"9752c9ea72c1357251da45a7613e7202a3394588f4898178b52cecdf172edcd73b2abc","first_seen":"2026-07-23T13:38:20.421953Z","last_seen":"2026-07-27T08:08:01.286927Z","times_seen":861,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbODc5MjZdLHs3MzIwNDAoZSx0LG8pe3ZhciBuO2Z1bmN0aW9uIHIoZSx0PXdpbmRvdyl7Y29uc3Qgbz0idGhlbWUtIitlLG49dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20obikpZS5zdGFydHNXaXRoKCJ0aGVtZS0iKSYmZSE9PW8mJm4ucmVtb3ZlKGUpO24uYWRkKG8pLHQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9ZX1vLmQodCx7YXBwbHlUaGVtZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuVGhlbWVDbGFzc1ByZWZpeD0idGhlbWUtIn0obnx8KG49e30pKX0sMjAwNjY2KGUsdCxvKXtvLmQodCx7c2V0VGhlbWU6KCk9PnN9KTt2YXIgbj1vKDIzMjM2NCkscj1vKDczMjA0MCk7Y29uc3QgaT1uZXcgbi5XYXRjaGVkVmFsdWU7ZnVuY3Rpb24gcyhlKXtpLnNldFZhbHVlKGUpfWkuc3Vic2NyaWJlKChlPT57KDAsci5hcHBseVRoZW1lKShlLHdpbmRvdyl9KSl9LDg0NTUxMChlLHQsbyl7by5kKHQse1RpY2tlckl0ZW1BYnN0cmFjdDooKT0+YX0pO28oMjI2MzMxKTt2YXIgbj1vKDIyMTA2MSkscj1vKDI4NDQ4NCksaT1vKDY3MzgyOSkscz1vKDk0ODM4MCksbD1vKDk2OTE2OCksYz1vKDgzNzgyMik7Y29uc3QgdT0oMCxuLmdldExvZ2dlcikoIldpZGdldFRpY2tlciIpO2NsYXNzIGF7Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMub25Jbml0PW5ldyBzLkRlbGVnYXRlLHRoaXMub25Db21wbGV0ZT1uZXcgcy5EZWxlZ2F0ZSx0aGlzLm9uRXJyb3I9bmV3IHMuRGVsZWdhdGUsdGhpcy5fcXVvdGVUaWNrZXJDb21wbGV0ZT1udWxsLHRoaXMuX2lzUnVubmluZz0hMSx0aGlzLl9wcmV2UXVvdGVTeW1ib2w9bnVsbCx0aGlzLl9lbD10fHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksdGhpcy5fc3ltYm9sRGF0YT1lLHRoaXMuX29wdGlvbnM9b3x8e30sKDAsaS52YWxpZGF0ZVN5bWJvbERhdGEpKGUpPyh0aGlzLnJlbmRlcigpLHRoaXMuc3RhcnQoKSk6dS5sb2dFcnJvcigic3ltYm9sRGF0YSBpcyBub3QgdmFsaWQiKX1yZW5kZXIoKXt0aGlzLl9lbC5jbGFzc0xpc3QuYWRkKHRoaXMuX2dldENsYXNzKCkpLHRoaXMuX2VsLmlubmVySFRNTD10aGlzLl9nZXRWaWV3KCksdGhpcy5fc2V0VGl0bGUoKSx0aGlzLl9zZXRMaW5rKCl9c3RhcnQoKXt0aGlzLl9pc1J1bm5pbmd8fCh0aGlzLl9zdGFydFF1b3RlVGlja2VyKCksdGhpcy5faXNSdW5uaW5nPSEwKX1zdG9wKCl7dGhpcy5faXNSdW5uaW5nJiYodGhpcy5fc3RvcFF1b3RlVGlja2VyKCksdGhpcy5faXNSdW5uaW5nPSExKX1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2VsfWNoYW5nZVN5bWJvbChlKXtjb25zdCB0PWUuaW5jbHVkZXMoIjoiKT97cHJvTmFtZTplfTp7c2hvcnROYW1lOmV9O3RoaXMuX3ByZXZRdW90ZVN5bWJvbD10aGlzLl9nZXRTeW1ib2xOYW1lKCksdGhpcy5fc3ltYm9sRGF0YT10LHRoaXMuX3NldFRpdGxlKCksdGhpcy5fc2V0TGluaygpLHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKX1xdW90ZVRpY2tlcigpe3JldHVybiB0aGlzLl9xdW90ZVRpY2tlcn1kaXNwbGF5UGxhY2Vob2xkZXJMZXR0ZXIoKXt0aGlzLl9yZW5kZXJTeW1ib2xMb2dvKFtdLCJ4eHhzbWFsbCIpfV9nZXRFbGVtZW50Q2xhc3MoZSl7cmV0dXJuIHRoaXMuX2dldENsYXNzKCkrIl9fIitlfV9nZXRTeW1ib2xOYW1lKCl7cmV0dXJuIHRoaXMuX3N5bWJvbERhdGEucHJvTmFtZXx8dGhpcy5fc3ltYm9sRGF0YS5zaG9ydE5hbWV9X3JlbmRlclN5bWJvbExvZ28oZSx0KXtjb25zdCBvPXRoaXMuX2VsLnF1ZXJ5U2VsZWN0b3IoIi5qcy1oZWFkZXItaWNvbiIpLG49MD09PWUubGVuZ3RoP3RoaXMuX2dldFBsYWNlaG9sZGVyTGV0dGVyKCk6dm9pZCAwO28mJnRoaXMuX3NldFN5bWJvbExvZ29IdG1sKG8sZSx0LG4pfV9nZXRQbGFjZWhvbGRlckxldHRlcigpe2NvbnN0IGU9dGhpcy5fc3ltYm9sRGF0YS5wcm9OYW1lLHQ9ZSYmZS5zcGxpdCgiOiIpWzFdO3JldHVybih0aGlzLl9zeW1ib2xEYXRhLnRpdGxlfHx0aGlzLl9zeW1ib2xEYXRhLmRlc2NyaXB0aW9ufHx0fHwiInx8IiAiKVswXX1fc2V0U3ltYm9sTG9nb0h0bWwoZSx0LG8sbil7aWYodC5sZW5ndGg+MHx8dm9pZCAwIT09bil7Y29uc3Qgcj0oMCxjLmdldENpcmNsZUxvZ29BbnlIdG1sKSh7bG9nb1VybHM6dCxzaXplOm8sY2xhc3NOYW1lOnRoaXMuX2dldEVsZW1lbnRDbGFzcygiaWNvbiIpLHBsYWNlaG9sZGVyTGV0dGVyOm59KTtlLmlubmVySFRNTD1yfWVsc2UgZS5pbm5lckhUTUw9IiJ9X3NldFRpdGxlKCl7Y29uc3QgZT10aGlzLl9nZXRFbFRpdGxlKCk7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc3ltYm9sRGF0YS50aXRsZXx8dGhpcy5fc3ltYm9sRGF0YS5kZXNjcmlwdGlvbnx8IiJ8fHRoaXMuX3N5bWJvbERhdGEuc2hvcnROYW1lfHx0aGlzLl9zeW1ib2xEYXRhLnByb05hbWV8fCIiLG89KDAsbC5kZXRlY3RBdXRvRGlyZWN0aW9uKSh0KTtvJiYoZS5kaXI9byksZS50ZXh0Q29udGVudD10fV9zZXRMaW5rKCl7aWYoISh0aGlzLl9lbCBpbnN0YW5jZW9mIEhUTUxBbmNob3JFbGVtZW50KSlyZXR1cm47Y29uc3QgZT10aGlzLl9zeW1ib2xEYXRhLmxpbmtQYWdlO2UmJih0aGlzLl9lbC5ocmVmPWUpLHRoaXMuX29wdGlvbnMuaXNFbWJlZFdpZGdldCYmKHRoaXMuX2VsLnRhcmdldD0iX2JsYW5rIix0aGlzLl9lbC5yZWw9ImV4dGVybmFsIG5vb3BlbmVyIil9X3N0YXJ0UXVvdGVUaWNrZXIoKXtpZighdGhpcy5fcXVvdGVUaWNrZXIpcmV0dXJuIHZvaWQgdGhpcy5fY3JlYXRlUXVvdGVUaWNrZXIoKTtjb25zdCBlPXRoaXMuX2dldFN5bWJvbE5hbWUoKTt0aGlzLl9wcmV2UXVvdGVTeW1ib2whPT1lPyh0aGlzLl9kZXN0cm95UXVvdGVUaWNrZXIoKSx0aGlzLl9jcmVhdGVRdW90ZVRpY2tlcigpKTp0aGlzLl9xdW90ZVRpY2tlci5lbmFibGUoKX1fc3RvcFF1b3RlVGlja2VyKCl7dGhpcy5fcXVvdGVUaWNrZXImJih0aGlzLl9xdW90ZVRpY2tlci5kaXNhYmxlKCksCnRoaXMuX3F1b3RlVGlja2VyQ29tcGxldGU9bnVsbCl9X2NyZWF0ZVF1b3RlVGlja2VyKCl7Y29uc3QgZT10aGlzLl9nZXRTeW1ib2xOYW1lKCksdD10aGlzLl9nZXRUaWNrZXJPcHRpb25zKCksbz10LmluaXRlZEhvb2ssbj10LnNldFN0YXRlSG9vazt0aGlzLl9xdW90ZVRpY2tlckNvbXBsZXRlPW51bGwsdGhpcy5fcXVvdGVUaWNrZXI9bmV3IHIuUXVvdGVUaWNrZXIoZSx0aGlzLl9lbCx7bm9TdWNoU3ltYm9sSG9vazooKT0+dGhpcy5vbkVycm9yLmZpcmUoIm5vX3N5bWJvbCIpLHBlcm1pc3Npb25EZW5pZWRIb29rOigpPT50aGlzLm9uRXJyb3IuZmlyZSgicGVybWlzc2lvbl9kZW5pZWQiKSwuLi50LGluaXRlZEhvb2s6KC4uLmUpPT57bz8uKC4uLmUpLHRoaXMub25Jbml0LmZpcmUoLi4uZSl9LHNldFN0YXRlSG9vazooZSx0LG8pPT57bj8uKGUsdCxvKSxvJiZudWxsPT09dGhpcy5fcXVvdGVUaWNrZXJDb21wbGV0ZSYmKHRoaXMuX3F1b3RlVGlja2VyQ29tcGxldGU9byx0aGlzLm9uQ29tcGxldGUuZmlyZSgpKX19KX1fZGVzdHJveVF1b3RlVGlja2VyKCl7dGhpcy5fc3RvcFF1b3RlVGlja2VyKCksZGVsZXRlIHRoaXMuX3F1b3RlVGlja2VyfV9nZXRFbFRpdGxlKCl7cmV0dXJuIHRoaXMuX2VsLnF1ZXJ5U2VsZWN0b3IoYC4ke3RoaXMuX2dldEVsZW1lbnRDbGFzcygidGl0bGUiKX1gKX19fSwxMTUyOTMoZSx0LG8pe28uZCh0LHtkZXRlY3RBdXRvRGlyZWN0aW9uOigpPT5oLGZvcmNlTFRSU3RyOigpPT5hLGlzUnRsOigpPT5pLHNldERvY3VtZW50RGlyR2V0dGVyOigpPT5yLHN0cmlwTFRSTWFya3M6KCk9PnV9KTtvKDMyMDQwMyk7bGV0IG49KCk9Pm51bGw7ZnVuY3Rpb24gcihlKXtuPWV9Y29uc3QgaT0oKT0+InJ0bCI9PT1mdW5jdGlvbigpe2NvbnN0IGU9bigpO2lmKG51bGw9PT1lKXRocm93IG5ldyBFcnJvcigiRG9jdW1lbnQgZGlyZWN0aW9uIGdldHRlciBpcyBub3Qgc2V0LCBjYWxsIHNldERvY3VtZW50RGlyR2V0dGVyIHRvIHNldCBpdCIpO3JldHVybiBlfSgpLHM9IuKAqiIsbD0i4oCsIixjPW5ldyBSZWdFeHAoIuKAjnzigI984oCqfOKAq3zigKwiLCJnIik7ZnVuY3Rpb24gdShlKXtyZXR1cm4iIiE9PWUmJmkoKSYmbnVsbCE9ZT9lLnJlcGxhY2UoYywiIik6ZX1mdW5jdGlvbiBhKGUpe3JldHVybiIiIT09ZSYmaSgpJiZudWxsIT1lP3MrZStsOmV9dmFyIG07IWZ1bmN0aW9uKGUpe2UuTFRSPSJsdHIiLGUuUlRMPSJydGwiLGUuVU5LTk9XTj0iIn0obXx8KG09e30pKTtjb25zdCBkPS9bXlx1MDAwMC1cdTAwNDBcdTAwNUItXHUwMDYwXHUwMDdCLVx1MDBCRlx1MDBEN1x1MDBGN1x1MDJCOS1cdTAyRkZcdTIwMDAtXHUyMDBFXHUyMDEwLVx1MjAyOVx1MjAyQ1x1MjAyRi1cdTJCRkZdLyxwPS9bXHUwNTkwLVx1MDdGRlx1MjAwRlx1MjAyQlx1MjAyRVx1RkIxRC1cdUZERkRcdUZFNzAtXHVGRUZDXS87ZnVuY3Rpb24gaChlKXtjb25zdCB0PWQuZXhlYyhlKTtyZXR1cm4gdD9wLnRlc3QodFswXSk/InJ0bCI6Imx0ciI6IiJ9fSw2MDE4NDEoZSx0LG8pe28uZCh0LHtjbG9uZTooKT0+cixpc0FycmF5OigpPT5zLGlzSW50ZWdlcjooKT0+bCxpc051bWJlcjooKT0+bixpc09iamVjdDooKT0+aSxub3ROdWxsOigpPT5jfSk7bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlJiZpc0Zpbml0ZShlKX1mdW5jdGlvbiByKGUpe2lmKCFlfHwib2JqZWN0IiE9dHlwZW9mIGUpcmV0dXJuIGU7bGV0IHQ7dD1BcnJheS5pc0FycmF5KGUpP1tdOnt9O2Zvcihjb25zdCBvIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShvKSl7Y29uc3Qgbj1lW29dO3Rbb109biYmIm9iamVjdCI9PXR5cGVvZiBuP3Iobik6bn1yZXR1cm4gdH1mdW5jdGlvbiBpKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWV9Y29uc3Qgcz1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfTtmdW5jdGlvbiBsKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZSYmZSUxPT0wfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIG51bGwhPT1lfU51bWJlci5pc05hTj1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKGUpe3JldHVybiBlIT1lfX0sMzQ0Nzg1KGUsdCxvKXtvLmQodCx7aGlkZTooKT0+dixzaG93T25FbGVtZW50OigpPT5wfSk7dmFyIG49bygzNjMyNjkpLHI9bygxMzg2MzgpLGk9byg3MjcwOSkscz1vKDY1ODk5NSksbD1vKDE2Nzg5NiksYz1vKDQ5MDM3OCk7bGV0IHU9ITEsYT1udWxsLG09bnVsbDtuLm1vYmlsZXRvdWNofHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdmVyIixmLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS50YXJnZXQ7aWYoISh0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnQuY2xvc2VzdCgnW2RhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzPSJ0cnVlIl0nKSYmdC5tYXRjaGVzKCI6Zm9jdXMtdmlzaWJsZSIpKSlyZXR1cm47ZihlLCEwKX0pLHtjYXB0dXJlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtZm9jdXMiLChmdW5jdGlvbihlKXtlLnRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZmKGUsITApfSkse2NhcHR1cmU6ITB9KSk7Y29uc3QgZD1uZXcgTXV0YXRpb25PYnNlcnZlcigoKCk9PntpZihhJiZhLm9wdGlvbnMudGFyZ2V0KXtsZXQgZTtlPSJpc0Nvbm5lY3RlZCJpbiBhLm9wdGlvbnMudGFyZ2V0P2Eub3B0aW9ucy50YXJnZXQuaXNDb25uZWN0ZWQ6ZG9jdW1lbnQuYm9keS5jb250YWlucyhhLm9wdGlvbnMudGFyZ2V0KSxlfHx2KCl9fSkpLHA9KGUsdD17fSk9Pntjb25zdHtjb250ZW50Om8sLi4ubn09Zyh0KSxyPWMuZ2V0RGF0YUZyb21UYXJnZXQoZSksaT1PYmplY3QuYXNzaWduKHIsbik7cmV0dXJuIm5vbmUiIT09by50eXBlJiYoaS5jb250ZW50PW8pLCEoIm5vbmUiPT09aS5jb250ZW50LnR5cGUmJiFpLmhvdGtleSkmJihpLnRhcmdldD1lLGgoaSksITApfSxoPWU9PnsKY29uc3QgdD1nKGUpLG89Yy5nZXRUb29sdGlwKHQpO2lmKGE9e29wdGlvbnM6dCxlbGVtZW50Om99LCgwLGwuc2V0VG9vbHRpcCkobyksKDAscy5jbGVhclNjaGVkdWxlKSgpLCF1KXJldHVybiBjLmhpZGVUb29sdGlwKG8pLHZvaWQoMCxzLnNjaGVkdWxlUmVuZGVyKSgoKCk9Pl8obykpLGZ1bmN0aW9uKGUpe3JldHVybiJudW1iZXIiIT10eXBlb2YgZS50b29sdGlwRGVsYXl8fGlzTmFOKGUudG9vbHRpcERlbGF5KT81MDA6ZS50b29sdGlwRGVsYXl9KHQpKTtjb25zdHt0b29sdGlwRGVib3VuY2U6bn09ZTsibnVtYmVyIiE9dHlwZW9mIG58fGlzTmFOKG4pP18obyk6KDAscy5zY2hlZHVsZVJlbmRlcikoKCgpPT5fKG8pKSxuKX07ZnVuY3Rpb24gZihlLHQpe2lmKCJzb3VyY2VDYXBhYmlsaXRpZXMiaW4gZSYmZS5zb3VyY2VDYXBhYmlsaXRpZXM/LmZpcmVzVG91Y2hFdmVudHMpcmV0dXJuO2NvbnN0IG89ZnVuY3Rpb24oZSx0LG8pe2NvbnN0IG49W107Zm9yKDtlJiZlIT09dDspZS5jbGFzc0xpc3QmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKG8pJiZuLnB1c2goZSksZT1lLnBhcmVudEVsZW1lbnR8fGIoZS5wYXJlbnROb2RlKTtyZXR1cm4gbn0oZS50YXJnZXQsZS5jdXJyZW50VGFyZ2V0LCJhcHBseS1jb21tb24tdG9vbHRpcCIpO2Zvcihjb25zdCBuIG9mIG8pe2lmKGUgaW5zdGFuY2VvZiBNb3VzZUV2ZW50KWlmKCJidXR0b25zImluIGUpe2lmKDEmZS5idXR0b25zKWNvbnRpbnVlfWVsc2UgaWYoMT09PWUud2hpY2gpY29udGludWU7Y29uc3Qgbz0oKT0+cChuKTtpZihvKCkpe2NvbnN0IGU9ZT0+cihudWxsLCEwKSxyPShpLHM9ITEpPT57bi5yZW1vdmVFdmVudExpc3RlbmVyKCJjb21tb24tdG9vbHRpcC11cGRhdGUiLG8pLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsciksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZSx7Y2FwdHVyZTohMH0pLHQmJihuLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLHIpLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIscikpLG0mJihtLmRlc3Ryb3koKSxtPW51bGwpLHYocyl9O24uYWRkRXZlbnRMaXN0ZW5lcigiY29tbW9uLXRvb2x0aXAtdXBkYXRlIixvKSxuLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHIpLG4uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixyKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUse2NhcHR1cmU6ITB9KSx0JiYobi5hZGRFdmVudExpc3RlbmVyKCJibHVyIixyKSxuLmFkZEV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiLHIpKSxudWxsPT09bSYmKG09KDAsaS5jcmVhdGVHcm91cCkoe2Rlc2M6IlRvb2x0aXAifSksbS5hZGQoe2Rlc2M6IkhpZGUiLGhvdGtleToyNyxoYW5kbGVyOnJ9KSk7YnJlYWt9fX1mdW5jdGlvbiB5KCl7KDAsbC5lbXB0eSkoKSx1PSExLGE9bnVsbH1jb25zdCB2PShlLHQpPT57aWYoKDAscy5jbGVhclNjaGVkdWxlKSgpLCgwLHIuZW5zdXJlTm90TnVsbCkoZCkuZGlzY29ubmVjdCgpLCFhKXJldHVybjtpZighZSYmIXUpcmV0dXJuO2NvbnN0e2VsZW1lbnQ6byxvcHRpb25zOm59PWEsaT0oKT0+e28ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsaSksYy5oaWRlVG9vbHRpcChvKSxlP3koKTooMCxzLnNjaGVkdWxlUmVtb3ZlKSgoKCk9Pnt5KCl9KSwyNTApLHQ/LigpfTtuLnRvb2x0aXBIaWRlRGVsYXk/KDAscy5zY2hlZHVsZUhpZGUpKCgoKT0+e28ucXVlcnlTZWxlY3RvcigiOmhvdmVyIik/by5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixpKTppKCl9KSxuLnRvb2x0aXBIaWRlRGVsYXkpOmkoKX07ZnVuY3Rpb24gXyhlKXtjb25zdHtvcHRpb25zOnR9PSgwLHIuZW5zdXJlTm90TnVsbCkoYSk7aWYoYy5zZXRTdHlsZShlLHQpLGMuc2hvd1Rvb2x0aXAoZSksKDAsci5lbnN1cmVOb3ROdWxsKShkKS5vYnNlcnZlKGRvY3VtZW50LHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pLHU9ITAsdC5mb3JjZUhpZGVPbk1vdmUpe2NvbnN0IGU9KCk9Pntkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLGUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZSksdigpfTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLGUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZSl9fWZ1bmN0aW9uIGIoZSl7cmV0dXJuIGUmJihlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREU/ZTpudWxsKX1mdW5jdGlvbiBnKGUpe2lmKGZ1bmN0aW9uKGUpe3JldHVybiJjb250ZW50ImluIGV9KGUpKXJldHVybiBlO2NvbnN0e2lubmVyOnQsaHRtbDpvLHRleHQ6biwuLi5yfT1lO2xldCBpPXt0eXBlOiJub25lIn07cmV0dXJuIHQmJihpPXt0eXBlOiJlbGVtZW50IixkYXRhOnR9KSxuJiYoaT17dHlwZTpvPyJodG1sIjoidGV4dCIsZGF0YTpufSkse2NvbnRlbnQ6aSwuLi5yfX19LDIyNjMzMShlLHQsbyl7dmFyIG49bygzNDQ3ODUpO2Z1bmN0aW9uIHIoZSx0PSJ4Iil7bGV0IG89ITE7cmV0dXJuIngiIT09dCYmImJvdGgiIT09dHx8KG89b3x8ZS5vZmZzZXRXaWR0aDxlLnNjcm9sbFdpZHRoKSwieSIhPT10JiYiYm90aCIhPT10fHwobz1vfHxlLm9mZnNldEhlaWdodDxlLnNjcm9sbEhlaWdodCksb31mdW5jdGlvbiBpKGUsdD0ieCIpe2Zvcihjb25zdCBvIG9mIEFycmF5LmZyb20oZS5jaGlsZHJlbikpaWYobyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYocihvLHQpfHxpKG8sdCkpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIHMoZSl7bGV0IHQ9IngiO3JldHVybiBlLm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1kaXJlY3Rpb25fYm90aCIpP3Q9ImJvdGgiOmUubWF0Y2hlcygiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWRpcmVjdGlvbl95IikmJih0PSJ5IiksdH1mdW5jdGlvbiBsKGUpe2NvbnN0IHQ9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC1odG1sIik7aWYodClyZXR1cm57dHlwZToiaHRtbCIsCmRhdGE6dH07Y29uc3Qgbz1lLmdldEF0dHJpYnV0ZSgiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiKTtpZihvKXJldHVybnt0eXBlOiJ0ZXh0IixkYXRhOm99O2lmKGUubWF0Y2hlcz8uKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tYWxsb3ctdGV4dCIpKXtyZXR1cm57dHlwZToidGV4dCIsZGF0YTplLnRleHRDb250ZW50fHwiIn19Y29uc3Qgbj1BcnJheS5mcm9tKGUuY2hpbGROb2RlcykucmVkdWNlKCgoZSx0KT0+KHQubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmZS5wdXNoKHQudGV4dENvbnRlbnR8fCIiKSxlKSksW10pLmpvaW4oIiIpLnRyaW0oKTtyZXR1cm4gbj97dHlwZToidGV4dCIsZGF0YTpufTp7dHlwZToibm9uZSJ9fWZ1bmN0aW9uIGMoZSx0KXtsZXQgbz0hMTtjb25zdCBuPWUuY2hpbGRyZW47Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKyspe2NvbnN0IGk9bltlXTtpZihpIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnIoaSx0KSl7bz0hMDticmVha319cmV0dXJuIG99ZnVuY3Rpb24gdShlKXtjb25zdCB0PWUudGFyZ2V0O2lmKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmKHQubWF0Y2hlcygiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAtZm9jdXMiKXx8dC5xdWVyeVNlbGVjdG9yKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC1mb2N1cyIpKSl7Y29uc3QgZT10Lm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwIik/dDp0LnF1ZXJ5U2VsZWN0b3IoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwIiksbz1zKGUpO2lmKGUubWF0Y2hlcygiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWNoZWNrLWNoaWxkcmVuLXJlY3Vyc2l2ZWx5Iikpe2lmKCFpKGUsbykpcmV0dXJufWVsc2UgaWYoZS5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4iKSl7aWYoIWMoZSxvKSlyZXR1cm59ZWxzZSBpZighcihlLG8pKXJldHVybjsoMCxuLnNob3dPbkVsZW1lbnQpKHQse2NvbnRlbnQ6bChlKX0pO2NvbnN0IHU9KCk9PnsoMCxuLmhpZGUpKCksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIix1KSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiLHUpfTt0LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHUpLHQuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIsdSl9fSgwLG8oNzQ5NjQ4KS53aGVuRG9jdW1lbnRSZWFkeSkoKCgpPT57ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsKGU9Pntjb25zdCB0PWUudGFyZ2V0O2lmKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIpKXtjb25zdCBlPXModCk7aWYodC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4tcmVjdXJzaXZlbHkiKSl7aWYoIWkodCxlKSlyZXR1cm59ZWxzZSBpZih0Lm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbiIpKXtpZighYyh0LGUpKXJldHVybn1lbHNlIGlmKCFyKHQsZSkpcmV0dXJuOygwLG4uc2hvd09uRWxlbWVudCkodCx7Y29udGVudDpsKHQpfSk7Y29uc3Qgbz0oKT0+eygwLG4uaGlkZSkoKSxbIm1vdXNlbGVhdmUiLCJtb3VzZWRvd24iXS5mb3JFYWNoKChlPT50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxvKSkpfTtbIm1vdXNlbGVhdmUiLCJtb3VzZWRvd24iXS5mb3JFYWNoKChlPT50LmFkZEV2ZW50TGlzdGVuZXIoZSxvKSkpfX0pLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdSwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtZm9jdXMiLHUsITApfSkpfSw2NzM4MjkoZSx0LG8pe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIEJvb2xlYW4oZSkmJigic3RyaW5nIj09dHlwZW9mIGUucHJvTmFtZXx8InN0cmluZyI9PXR5cGVvZiBlLnNob3J0TmFtZSl9by5kKHQse3ZhbGlkYXRlU3ltYm9sRGF0YTooKT0+bn0pfSw4NTE0NTgoZSx0LG8pe28uZCh0LHtpc1NwcmVhZDooKT0+YSx0b2tlbml6ZTooKT0+Y30pO3ZhciBuLHI9byg5MDEwMjIpLGk9byg1NjkzOTgpOyFmdW5jdGlvbihlKXtlLlN5bWJvbD0ic3ltYm9sIixlLkluY29tcGxldGVTeW1ib2w9ImluY29tcGxldGVTeW1ib2wiLGUuTnVtYmVyPSJudW1iZXIiLGUuSW5jb21wbGV0ZU51bWJlcj0iaW5jb21wbGV0ZU51bWJlciIsZS5TZXBhcmF0b3JQcmVmaXg9InNlcGFyYXRvclByZWZpeCIsZS5PcGVuQnJhY2U9Im9wZW5CcmFjZSIsZS5DbG9zZUJyYWNlPSJjbG9zZUJyYWNlIixlLlBsdXM9InBsdXMiLGUuTWludXM9Im1pbnVzIixlLk11bHRpcGx5PSJtdWx0aXBseSIsZS5EaXZpZGU9ImRpdmlkZSIsZS5Qb3dlcj0icG93ZXIiLGUuV2hpdGVzcGFjZT0id2hpdGVzcGFjZSIsZS5VbnBhcnNlZD0idW5wYXJzZWQifShufHwobj17fSkpO2NvbnN0IHM9Lyg/OlteLStcLypeXHNdJ3xbYS16QS1aMC05X1x1MDM3MC1cdTFGRkZfXHUyRTgwLVx1RkZGRl0pKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMDIwXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXyF8Oi4mXSkqfCcuKz8nLyxsPShlPSgwLGkuaXNGZWF0dXJlRW5hYmxlZCkoImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIikpPT4oe251bWJlcjplPy9cZCsoPzpcLlxkKnwoPyFbYS16QS1aMC05XyE6LiZdKSkoPzpccyooPz1ccyokKSk/fFwuXGQrKD86XHMqKD89XHMqJCkpPy86L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKXxcLlxkKy8saW5jb21wbGV0ZU51bWJlcjovXC4vLHN5bWJvbDpzLGluY29tcGxldGVTeW1ib2w6LydbXiddKi8sc2VwYXJhdG9yUHJlZml4OnIuU0VQQVJBVE9SX1BSRUZJWCxvcGVuQnJhY2U6IigiLGNsb3NlQnJhY2U6IikiLHBsdXM6IisiLG1pbnVzOiItIixtdWx0aXBseToiKiIsZGl2aWRlOiIvIixwb3dlcjoiXiIsd2hpdGVzcGFjZTovW1wwLVx4MjBcc10rLyx1bnBhcnNlZDpudWxsfSk7ZnVuY3Rpb24gYyhlLHQ9bCgpKXtpZighZSlyZXR1cm5bXTtjb25zdCBvPVtdLG49T2JqZWN0LmtleXModCk7bGV0IHIKO2NvbnN0IGk9KChlPWwoKSk9Pm5ldyBSZWdFeHAoT2JqZWN0LnZhbHVlcyhlKS5tYXAoKGU9PntyZXR1cm4gbnVsbD09PWU/IiI6YCgkeyJzdHJpbmciPT10eXBlb2YgZT8odD1lLHQucmVwbGFjZSgvW1xeJCgpW1xde30qKz98XFxdL2csIlxcJCYiKSk6ZS5zb3VyY2V9KWA7dmFyIHR9KSkuZmlsdGVyKChlPT4iIiE9PWUpKS5jb25jYXQoIi4iKS5qb2luKCJ8IiksImciKSkodCk7Zm9yKDtyPWkuZXhlYyhlKTspe2xldCBlPSExO2ZvcihsZXQgdD1uLmxlbmd0aDt0LS07KWlmKHJbdCsxXSl7blt0XSYmby5wdXNoKHt2YWx1ZTpyW3QrMV0sdHlwZTpuW3RdLHByZWNlZGVuY2U6MCxvZmZzZXQ6ci5pbmRleH0pLGU9ITA7YnJlYWt9ZXx8by5wdXNoKHt2YWx1ZTpyWzBdLHR5cGU6InVucGFyc2VkIixwcmVjZWRlbmNlOjAsb2Zmc2V0OnIuaW5kZXh9KX1yZXR1cm4gb31mdW5jdGlvbiB1KGUpe3JldHVybiJwbHVzIj09PWV8fCJtaW51cyI9PT1lfHwibXVsdGlwbHkiPT09ZXx8ImRpdmlkZSI9PT1lfHwicG93ZXIiPT09ZX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLmxlbmd0aD4xJiZlLnNvbWUoKGU9PnUoZS50eXBlKSkpfX0sOTY5MTY4KGUsdCxvKXtvLmQodCx7ZGV0ZWN0QXV0b0RpcmVjdGlvbjooKT0+bi5kZXRlY3RBdXRvRGlyZWN0aW9uLGlzUnRsOigpPT5uLmlzUnRsfSk7byg2MTAyNjgpO3ZhciBuPW8oMTE1MjkzKX0sODExNDk5KGUsdCxvKXtmdW5jdGlvbiBuKGUpe3JldHVybiBlLnJlcGxhY2UoInt7c2hvcnROYW1lfX0iLCJ7dHZzeW1ib2x9IikucmVwbGFjZSgie3twcm9OYW1lfX0iLCJ7dHZwcm9zeW1ib2x9IikucmVwbGFjZSgie3tzeW1ib2x9fSIsInt0dnN5bWJvbH0iKS5yZXBsYWNlKCJ7e2V4Y2hhbmdlfX0iLCJ7dHZleGNoYW5nZX0iKX1vLmQodCx7cmVwbGFjZU9sZFBsYWNlaG9sZGVyczooKT0+bn0pfSw0MDMzNzAoZSx0LG8pe28uZCh0LHttYWtlV2lkZ2V0U3ltYm9sTGluazooKT0+c30pO3ZhciBuPW8oODExNDk5KSxyPW8oOTExMzI3KSxpPW8oODUxNDU4KTtmdW5jdGlvbiBzKGUpe2NvbnN0e2N1c3RvbVVybDp0LHV0bUluZm86byxwYXRoOnMsdHlwZXNwZWNzOmx9PWU7bGV0IGMsdSxhPWUuc3ltYm9sO2NvbnN0IG09KDAsaS50b2tlbml6ZSkoYSk7cmV0dXJuKDAsaS5pc1NwcmVhZCkobSkmJihhPW0uZmluZCgoZT0+InN5bWJvbCI9PT1lLnR5cGUpKT8udmFsdWV8fGEpLGEuaW5jbHVkZXMoIjoiKT9bdSxjXT1hLnNwbGl0KCI6Iik6Yz1hLHQ/KDAsci5tYWtlVGVtcGxhdGVTeW1ib2xVcmwpKCgwLG4ucmVwbGFjZU9sZFBsYWNlaG9sZGVycykodCkse3Byb05hbWU6YX0pOigwLHIubWFrZVN5bWJvbFBhZ2VVcmwpKHtzaG9ydE5hbWU6YyxleGNoYW5nZTp1LHR5cGVzcGVjczpsfSxvLHZvaWQgMCxzKX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/US.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.911Z","timestamp":1785129292911,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /country/US.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"2b343664b411ee3b87b4a37c15f4dfb9\"\r\nlast-modified: Fri, 25 Apr 2025 20:10:41 GMT\r\ncdn-cachedat: 08/14/2025 09:10:06\r\nx-amz-id-2: nFuFH78hWf/RuyE6sOEP+F9L63kS25o7rnmt39r9N6/xkz0Scv+C4OtWSoMFsuyMhB00in1nZsX8Sh51IXRPU3FuDp9hOipkZvRpvtL7hQk=\r\nx-amz-request-id: GMKTFDY2GEW3BMHT\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: 2b343664b411ee3b87b4a37c15f4dfb9\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9a4112eb42174104b5e8c265616cc0ea\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":2910,"size_decoded":1337,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (2910), with no line terminators","md5":"2b343664b411ee3b87b4a37c15f4dfb9","sha1":"0bbfacaf518424005de9debac0618b2d385f73eb","sha256":"71bfd6b1db0f03e8ad00d7951a2ec80d684450490bae344b9a0e33141e9264b0","sha512":"9f919e0006556b02b85110cffca18cf69613d63530fd055b4e2a2c27166c8e27401d7aca3482e568802eab205eefc5f98b6ae545c1dc476fb41a9b614ab0825c","ssdeep":"","tlshash":"97518f2a941d951c2846e60dc77f8882738e2d0771a5a2d81dfcf3a4e20f7e5fb47880","first_seen":"2025-04-26T10:53:44.17511Z","last_seen":"2026-07-27T08:08:01.109122Z","times_seen":5586,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiMxRTg4RTkiIGQ9Ik0wIDBIMTFWMTFIMHoiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyIvPjxwYXRoIGZpbGw9IiNFRjUzNTAiIGQ9Ik0xMSAwdjRIMTh2LTR6TTExIDd2NEgxOHYtNHpNMCAxNHY0SDE4di00eiIgc2hhcGUtcmVuZGVyaW5nPSJjcmlzcEVkZ2VzIi8+PHBhdGggZmlsbD0iI0Y4RjlGRCIgZD0iTTExIDR2M0gxOHYtM3pNMCAxMXYzSDE4di0zeiIgc2hhcGUtcmVuZGVyaW5nPSJjcmlzcEVkZ2VzIi8+PHBhdGggZmlsbD0iI0Y4RjlGRCIgZD0iTTIuNDIgMS4yMmEuMDkuMDkgMCAwIDEgLjE2IDBsLjI3LjcxYy4wMS4wNC4wNS4wNi4wOC4wNmwuNzYuMDRjLjA4IDAgLjExLjEuMDUuMTZsLS42LjQ3YS4wOS4wOSAwIDAgMC0uMDIuMWwuMi43MmEuMDkuMDkgMCAwIDEtLjE0LjFsLS42My0uNDFhLjA5LjA5IDAgMCAwLS4xIDBsLS42My40MWEuMDkuMDkgMCAwIDEtLjE0LS4xbC4yLS43M2EuMDkuMDkgMCAwIDAtLjAzLS4xbC0uNTktLjQ2YS4wOS4wOSAwIDAgMSAuMDUtLjE2bC43Ni0uMDRjLjAzIDAgLjA3LS4wMi4wOC0uMDZsLjI3LS43ek0yLjQyIDQuMjJhLjA5LjA5IDAgMCAxIC4xNiAwbC4yNy43MWMuMDEuMDQuMDUuMDYuMDguMDZsLjc2LjA0Yy4wOCAwIC4xMS4xLjA1LjE2bC0uNi40N2EuMDkuMDkgMCAwIDAtLjAyLjFsLjIuNzJhLjA5LjA5IDAgMCAxLS4xNC4xbC0uNjMtLjQxYS4wOS4wOSAwIDAgMC0uMSAwbC0uNjMuNDFhLjA5LjA5IDAgMCAxLS4xNC0uMWwuMi0uNzNhLjA5LjA5IDAgMCAwLS4wMy0uMWwtLjU5LS40NmEuMDkuMDkgMCAwIDEgLjA1LS4xNmwuNzYtLjA0Yy4wMyAwIC4wNy0uMDIuMDgtLjA2bC4yNy0uN3pNMi40MiA3LjIyYS4wOS4wOSAwIDAgMSAuMTYgMGwuMjcuNzFjLjAxLjA0LjA1LjA2LjA4LjA2bC43Ni4wNGMuMDggMCAuMTEuMS4wNS4xNmwtLjYuNDdhLjA5LjA5IDAgMCAwLS4wMi4xbC4yLjcyYS4wOS4wOSAwIDAgMS0uMTQuMWwtLjYzLS40MWEuMDkuMDkgMCAwIDAtLjEgMGwtLjYzLjQxYS4wOS4wOSAwIDAgMS0uMTQtLjFsLjItLjczYS4wOS4wOSAwIDAgMC0uMDMtLjFsLS41OS0uNDZhLjA5LjA5IDAgMCAxIC4wNS0uMTZsLjc2LS4wNGMuMDMgMCAuMDctLjAyLjA4LS4wNmwuMjctLjd6TTUuNDIgMS4yMmEuMDkuMDkgMCAwIDEgLjE2IDBsLjI3LjcxYy4wMS4wNC4wNS4wNi4wOC4wNmwuNzYuMDRjLjA4IDAgLjExLjEuMDUuMTZsLS42LjQ3YS4wOS4wOSAwIDAgMC0uMDIuMWwuMi43MmEuMDkuMDkgMCAwIDEtLjE0LjFsLS42My0uNDFhLjA5LjA5IDAgMCAwLS4xIDBsLS42My40MWEuMDkuMDkgMCAwIDEtLjE0LS4xbC4yLS43M2EuMDkuMDkgMCAwIDAtLjAzLS4xbC0uNTktLjQ2YS4wOS4wOSAwIDAgMSAuMDUtLjE2bC43Ni0uMDRjLjAzIDAgLjA3LS4wMi4wOC0uMDZsLjI3LS43ek01LjQyIDQuMjJhLjA5LjA5IDAgMCAxIC4xNiAwbC4yNy43MWMuMDEuMDQuMDUuMDYuMDguMDZsLjc2LjA0Yy4wOCAwIC4xMS4xLjA1LjE2bC0uNi40N2EuMDkuMDkgMCAwIDAtLjAyLjFsLjIuNzJhLjA5LjA5IDAgMCAxLS4xNC4xbC0uNjMtLjQxYS4wOS4wOSAwIDAgMC0uMSAwbC0uNjMuNDFhLjA5LjA5IDAgMCAxLS4xNC0uMWwuMi0uNzNhLjA5LjA5IDAgMCAwLS4wMy0uMWwtLjU5LS40NmEuMDkuMDkgMCAwIDEgLjA1LS4xNmwuNzYtLjA0Yy4wMyAwIC4wNy0uMDIuMDgtLjA2bC4yNy0uN3pNNS40MiA3LjIyYS4wOS4wOSAwIDAgMSAuMTYgMGwuMjcuNzFjLjAxLjA0LjA1LjA2LjA4LjA2bC43Ni4wNGMuMDggMCAuMTEuMS4wNS4xNmwtLjYuNDdhLjA5LjA5IDAgMCAwLS4wMi4xbC4yLjcyYS4wOS4wOSAwIDAgMS0uMTQuMWwtLjYzLS40MWEuMDkuMDkgMCAwIDAtLjEgMGwtLjYzLjQxYS4wOS4wOSAwIDAgMS0uMTQtLjFsLjItLjczYS4wOS4wOSAwIDAgMC0uMDMtLjFsLS41OS0uNDZhLjA5LjA5IDAgMCAxIC4wNS0uMTZsLjc2LS4wNGMuMDMgMCAuMDctLjAyLjA4LS4wNmwuMjctLjd6TTguNDIgMS4yMmEuMDkuMDkgMCAwIDEgLjE2IDBsLjI3LjcxYy4wMS4wNC4wNS4wNi4wOC4wNmwuNzYuMDRjLjA4IDAgLjExLjEuMDUuMTZsLS42LjQ3YS4wOS4wOSAwIDAgMC0uMDIuMWwuMi43MmEuMDkuMDkgMCAwIDEtLjE0LjFsLS42My0uNDFhLjA5LjA5IDAgMCAwLS4xIDBsLS42My40MWEuMDkuMDkgMCAwIDEtLjE0LS4xbC4yLS43M2EuMDkuMDkgMCAwIDAtLjAzLS4xbC0uNTktLjQ2YS4wOS4wOSAwIDAgMSAuMDUtLjE2bC43Ni0uMDRjLjAzIDAgLjA3LS4wMi4wOC0uMDZsLjI3LS43ek04LjQyIDQuMjJhLjA5LjA5IDAgMCAxIC4xNiAwbC4yNy43MWMuMDEuMDQuMDUuMDYuMDguMDZsLjc2LjA0Yy4wOCAwIC4xMS4xLjA1LjE2bC0uNi40N2EuMDkuMDkgMCAwIDAtLjAyLjFsLjIuNzJhLjA5LjA5IDAgMCAxLS4xNC4xbC0uNjMtLjQxYS4wOS4wOSAwIDAgMC0uMSAwbC0uNjMuNDFhLjA5LjA5IDAgMCAxLS4xNC0uMWwuMi0uNzNhLjA5LjA5IDAgMCAwLS4wMy0uMWwtLjU5LS40NmEuMDkuMDkgMCAwIDEgLjA1LS4xNmwuNzYtLjA0Yy4wMyAwIC4wNy0uMDIuMDgtLjA2bC4yNy0uN3pNOC40MiA3LjIyYS4wOS4wOSAwIDAgMSAuMTYgMGwuMjcuNzFjLjAxLjA0LjA1LjA2LjA4LjA2bC43Ni4wNGMuMDggMCAuMTEuMS4wNS4xNmwtLjYuNDdhLjA5LjA5IDAgMCAwLS4wMi4xbC4yLjcyYS4wOS4wOSAwIDAgMS0uMTQuMWwtLjYzLS40MWEuMDkuMDkgMCAwIDAtLjEgMGwtLjYzLjQxYS4wOS4wOSAwIDAgMS0uMTQtLjFsLjItLjczYS4wOS4wOSAwIDAgMC0uMDMtLjFsLS41OS0uNDZhLjA5LjA5IDAgMCAxIC4wNS0uMTZsLjc2LS4wNGMuMDMgMCAuMDctLjAyLjA4LS4wNmwuMjctLjd6Ii8+PC9zdmc+"}},"time_used":51,"timings":{"blocked":-1,"dns":18,"connect":21,"send":0,"wait":1,"receive":-1,"ssl":9},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/translate_static/img/te_bk.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:53.177Z","timestamp":1785129293177,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /translate_static/img/te_bk.gif HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 848\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 10:11:17 GMT\r\nexpires: Fri, 23 Jul 2027 10:11:17 GMT\r\ncache-control: public, max-age=31536000\r\nage: 327816\r\nlast-modified: Sun, 25 Jun 2023 02:58:00 GMT\r\ncontent-type: image/gif\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":848,"size_decoded":1507,"mime_type":"image/gif","magic":"GIF image data, version 89a, 1 x 59","md5":"daf9b48977041ac85a62dc9b7c16b38d","sha1":"049dcb061470572d06fd83b287ebd1d96e6bb870","sha256":"cb1fd0e051209c32622e91cdeda967e50d80a184b185ac6a656a807986e8eb75","sha512":"99f5f27990b6b5559c751a92c04037f5d42e848a966893484af66d3f66828c29a2dddc8788d7dd4cd835e8ab6d834e74fb3eaa4e2cd72d55b2813d7aab990af2","ssdeep":"","tlshash":"1c018c0cc8700a19e3422fb0ca5b6e0429675b465d88b20fb6aa22c27d04ba48049b1c","first_seen":"2023-04-05T23:29:53Z","last_seen":"2026-07-27T08:08:22.802512Z","times_seen":9425,"resource_available":false,"data":"R0lGODlhAQA7APcAANfX19/f3+Hh4eLi4uTk5Obm5ujo6Orq6uvr6+3t7e7u7uTv++bw++fw/Ojx/Ory/O30/O71/fHx8fP4/fT5/fb6/vj7/vr8/vz9//7+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAQA7AAAINQAzCBxIUCCGCwgtVFhIYcKECA8jQHgw8UEDBg4aLGCwIIOEjyAlKEiA4ICBAgQGCAgQAEBAADs="}},"time_used":17,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:53.609Z","timestamp":1785129293609,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base HTTP/1.1\r\nHost: www.youtube-nocookie.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 150031\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 13:06:52 GMT\r\nexpires: Sat, 24 Jul 2027 13:06:52 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 07:10:55 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 230881\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":442344,"size_decoded":150945,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (534)","md5":"779ffe8039ad87e2a1aa1c111061fae4","sha1":"7765f6360937f90e51dc4974d13c20887adca712","sha256":"9e5e6d330bae7d5d640cf35fbbd6dbac19e4eec6c5bdea7b99a664523269f90f","sha512":"17cd5c8a938106fbe74d4ea623e67c3669683343c08f866700fd6284152c7397141c9ca02451bf6a32808003c4b4bf3fcce72cbbe6c53a851a1da6d254ea3619","ssdeep":"6144:OZaBJxrsw56sgMoiImct8de1F6Suapko3iM80AvhapoXgvWbq/+:FFpgMoircDkMiM80CapoXgvWbq/+","tlshash":"30944cd97762707392a2f5a5902f0103b17a68a6f40c8c7cf798ddd16eb494942bbf38","first_seen":"2026-07-24T13:29:06.322297Z","last_seen":"2026-07-27T08:08:01.170441Z","times_seen":1052,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF9iYXNlPXRoaXMuZGVmYXVsdF9iYXNlfHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8uX0ZfdG9nZ2xlc19pbml0aWFsaXplPWZ1bmN0aW9uKGEpeyh0eXBlb2YgZ2xvYmFsVGhpcyE9PSJ1bmRlZmluZWQiP2dsb2JhbFRoaXM6dHlwZW9mIHNlbGYhPT0idW5kZWZpbmVkIj9zZWxmOnRoaXMpLl9GX3RvZ2dsZXNfZGVmYXVsdF9iYXNlPWF8fFtdfTsoMCxfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZSkoWzB4MCwgMHgyLCBdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwp2YXIgZWEsZmEsZGEsbmEscWEsdWEsdmEsQmEsSWEsSmEsS2EsUGEsUmEsVmEsJGEsaGIsbWIsd2IsemIsQWIsRWIsQ2IsRmIsR2IsTmIsVGIsZmMsaGMsaWMsamMsa2MsbWMsbmMsb2MsdGMscWMsR2MsSWMsTGMsTmMsVWMsUWMsV2MsY2QsZmQsaGQsamQsa2QsbWQsb2Qsc2QsQWQsQmQsRWQsdWQsR2QsSGQsSmQsSWQsS2QsTGQsTWQsT2QsU2QsWWQsYmUsY2UsZWUsZmUsZ2UsaGUsaWUsamUsa2UscWUsbGUscmUsb2UscGUsdmUsdGUsc2UsdWUsd2UseGUseWUsemUsQ2UsRGUsRWUsRmUsSGUsS2UsTWUsTmUsT2UsUGUsUWUsVmUsWWUsUmUsWmUsYWYsV2UsVGUsaGYsbGYsbWYsbmYsb2YscmYsdGYseGYsemYsQ2YsS2YsTGYsUWYsRmYsU2YsT2YsTWYsTmYsVGYsUmYsV2YsVmYsWGYsWWYsWmYsYmcsZGcsZWcsZmcsY2csa2csbGcsaGcsZ2csaWcsamcscmcsc2csdGcsdmcseGcsemcsQWcsdWcsRWcsd2csRmcsRGcsSGcsSWcsSmcsT2csUmcsTmcsVGcsU2csVWcsWWcsWGcsYmgsJGcsClpnLGFoLFBnLGNoLGZoLGloLGpoLGtoLGxoLGdoLGhoLG5oLHVoLHZoLHdoLHhoLHloLEFoLEJoLENoLERoLEVoLEZoLEloLEpoLEtoLExoLE1oLE5oLE9oLFBoLFFoLFJoLFNoLFRoLFVoLFZoLGNpLGRpLGVpLGZpLGdpLGhpLGppLGtpLGxpLHBpLHFpLHJpLHNpLHZpLHdpLHhpLHlpLHppLEFpLEJpLERpLEVpLE1pLFRpLFlpLGFqLGRqLGNqLFhpLG9qLHhqLHdqLEFqLEJqLENqLEVqLEpqLEZqLEhqLElqLHZqLFFqLFpqLGJrLGNrLGFrLGVrLGhrLGlrLGZrLGtrLG1rLGxrLG9rLHBrLHFrLHNrLHJrLHZrLHlrLHhrLHprLEFrLEVrLEprLEtrLExrLFJrLFNrLFRrLFVrLFhrLFlrLFdrLFprLCRrLGJsLGNsLGRsLGhsLG5sLHFsLHNsLHRsLGdsLHVsLHZsLHBsLHJsLHlsLHpsLEJsLEVsLEhsLExsLE5sLE9sLFFsLFJsLFNsLFRsLFVsLFZsLFdsLFhsLFpsLGJtLGNtLGRtLGVtLGZtLGdtLGhtLGttLGxtLG1tLG9tLHRtLEFtLEJtLERtLENtLEdtLEhtLEVtLEZtLEltLEptLExtLE1tLApPbSxQbSxRbSxSbSxTbSxUbSxVbSxObSxXbSxYbSxZbSxabSxmbixnbixqbixsbixtbixvbixxbixybix2bix4bixBbix3bix6bixFbixLbixKbixNbixRbixSbixTbixUbixWbixabixXbixYbixZbiwkbixjbyxhbyxxbyx2byx3byxEbyxIbyxGbyxHbyxLbyxKbyxJbyxMbyxPbyxRbywkbyxZbyxXbyxTbyxpcCxlcCxmcCx0cCxycCxxcCxSbyx1cCxkcCxocCxzcCxhcCxUbyxWbyxabyxwcCxGcCxKcCxScCxTcCxVcCxZcCxUcCxhcSxjcSxkcSxlcSxmcSxocSxqcSxxcSxrYSxqYSxpYSxjYTtlYT1mdW5jdGlvbihhLGIpe2lmKGIpZm9yKHZhciBjPTA7YzxjYS5sZW5ndGg7YysrKWRhKGNhW2NdKyJBcnJheS5wcm90b3R5cGUuIithLGIpfTtmYT1mdW5jdGlvbihhLGIpe2ImJmRhKGEsYil9OwpkYT1mdW5jdGlvbihhLGIpe3ZhciBjPWlhO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKXJldHVybjtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmamEoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTtuYT1mdW5jdGlvbihhLGIpe2EucHJvdG90eXBlPWthKGIucHJvdG90eXBlKTthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2xhKGEsYik7YS56Yj1iLnByb3RvdHlwZX07cWE9ZnVuY3Rpb24oYSl7YT1NYXRoLnRydW5jKGEpfHwwO2E8MCYmKGErPXRoaXMubGVuZ3RoKTtpZighKGE8MHx8YT49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW2FdfTsKXy5yYT1mdW5jdGlvbihhLGIsYyl7YT1hLnNwbGl0KCIuIik7Yz1jfHxfLnU7Zm9yKHZhciBkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnNhKCJXSVpfZ2xvYmFsX2RhdGEub3hOM25iIik7YT1jJiZjW2FdO3JldHVybiBhIT1udWxsP2E6Yn07dmE9ZnVuY3Rpb24oKXt9O18uc2E9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy53YT1mdW5jdGlvbihhKXthLlNsPXZvaWQgMDthLmpjPWZ1bmN0aW9uKCl7cmV0dXJuIGEuU2w/YS5TbDphLlNsPW5ldyBhfX07Cl8ueGE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGIhPSJvYmplY3QiP2I6YT9BcnJheS5pc0FycmF5KGEpPyJhcnJheSI6YjoibnVsbCJ9O18ueWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54YShhKTtyZXR1cm4gYj09ImFycmF5Inx8Yj09Im9iamVjdCImJnR5cGVvZiBhLmxlbmd0aD09Im51bWJlciJ9O18uQWE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifTtCYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuY2FsbC5hcHBseShhLmJpbmQsYXJndW1lbnRzKX07Xy5DYT1mdW5jdGlvbihhLGIsYyl7Xy5DYT1CYTtyZXR1cm4gXy5DYS5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpfLkRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBkPWMuc2xpY2UoKTtkLnB1c2guYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiBhLmFwcGx5KHRoaXMsZCl9fTtfLkVhPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCl9O18uRmE9ZnVuY3Rpb24oYSxiKXtfLnJhKGEsYil9O18uR2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18uSGE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7fWMucHJvdG90eXBlPWIucHJvdG90eXBlO2EuemI9Yi5wcm90b3R5cGU7YS5wcm90b3R5cGU9bmV3IGM7YS5wcm90b3R5cGUuY29uc3RydWN0b3I9YTthLmJhc2U9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGs9MjtrPGFyZ3VtZW50cy5sZW5ndGg7aysrKWhbay0yXT1hcmd1bWVudHNba107cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsaCl9fTsKSWE9ZnVuY3Rpb24oYSwuLi5iKXtiPWIuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighYilyZXR1cm4gYTt2YXIgYz1hLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIGM/YS5zbGljZSgwLGMuaW5kZXgrMSkrYisiJiIrYS5zbGljZShjLmluZGV4KzEpOmErKGEuaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrYn07SmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj8iJiIrYSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpOiIifTsKS2E9ZnVuY3Rpb24oYSl7YT1hLkI7aWYoIWEpcmV0dXJuIiI7dmFyIGI9SmEoInVhcCIsYS5wbGF0Zm9ybSkrSmEoInVhcHYiLGEucGxhdGZvcm1WZXJzaW9uKStKYSgidWFmdiIsYS51YUZ1bGxWZXJzaW9uKStKYSgidWFhIixhLmFyY2hpdGVjdHVyZSkrSmEoInVhbSIsYS5tb2RlbCkrSmEoInVhYiIsYS5iaXRuZXNzKTthLmZ1bGxWZXJzaW9uTGlzdCYmKGIrPSImdWFmdmw9IitlbmNvZGVVUklDb21wb25lbnQoYS5mdWxsVmVyc2lvbkxpc3QubWFwKGM9PmVuY29kZVVSSUNvbXBvbmVudChjLmJyYW5kKSsiOyIrZW5jb2RlVVJJQ29tcG9uZW50KGMudmVyc2lvbikpLmpvaW4oInwiKSkpO2Eud293NjQhPW51bGwmJihiKz0iJnVhdz0iK051bWJlcihhLndvdzY0KSk7cmV0dXJuIGIuc2xpY2UoMSl9OwpfLkxhPWZ1bmN0aW9uKGEsYil7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxfLkxhKTtlbHNle2xldCBjPUVycm9yKCkuc3RhY2s7YyYmKHRoaXMuc3RhY2s9Yyl9YSYmKHRoaXMubWVzc2FnZT1TdHJpbmcoYSkpO2IhPT12b2lkIDAmJih0aGlzLmNhdXNlPWIpfTtfLk1hPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgtYi5sZW5ndGg7cmV0dXJuIGM+PTAmJmEuaW5kZXhPZihiLGMpPT1jfTtQYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7aWYoIU5hKXJldHVybiBhO3RyeXtsZXQgYj1jPT5jO2E9TmEuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOmIsY3JlYXRlU2NyaXB0OmIsY3JlYXRlU2NyaXB0VVJMOmJ9KX1jYXRjaChiKXt9cmV0dXJuIGF9O1JhPWZ1bmN0aW9uKCl7UWE9PT12b2lkIDAmJihRYT1QYSgpKTtyZXR1cm4gUWF9OwpfLlRhPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBfLlNhKGEpfTtfLlVhPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLlNhKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O1ZhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnRvU3RyaW5nKCkuaW5kZXhPZigiYCIpPT09LTF9O18uWGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLldhfTtfLllhPWZ1bmN0aW9uKGEpe2lmKF8uWGEoYSkpcmV0dXJuIGEuajt0aHJvdyBFcnJvcigiaCIpO307JGE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBaYShiPT5iLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6Iil9O18uYmI9ZnVuY3Rpb24oYSxiPV8uYWIpe2lmKF8uWGEoYSkpcmV0dXJuIGE7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDsrK2Mpe2xldCBkPWJbY107aWYoZCBpbnN0YW5jZW9mIFphJiZkLmZiKGEpKXJldHVybiBuZXcgXy5XYShhKX19OwpfLmRiPWZ1bmN0aW9uKGEpe2EgaW5zdGFuY2VvZiBfLldhP2E9Xy5ZYShhKTphPWNiLnRlc3QoYSk/YTp2b2lkIDA7cmV0dXJuIGF9O18uZWI9ZnVuY3Rpb24oYSxiPWB1bmV4cGVjdGVkIHZhbHVlICR7YX0hYCl7dGhyb3cgRXJyb3IoYik7fTtfLmdiPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlSFRNTChhKTphO3JldHVybiBuZXcgXy5mYihhKX07Xy5pYj1mdW5jdGlvbihhKXtyZXR1cm4gaGIoInNjcmlwdCIsYSl9O2hiPWZ1bmN0aW9uKGEsYj1kb2N1bWVudCl7YT1iLnF1ZXJ5U2VsZWN0b3I/LihgJHthfVtub25jZV1gKTtyZXR1cm4gYT09bnVsbD8iIjphLm5vbmNlfHxhLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiJ9O18ua2I9ZnVuY3Rpb24oYSl7dmFyIGI9UmEoKTthPWI/Yi5jcmVhdGVTY3JpcHQoYSk6YTtyZXR1cm4gbmV3IF8uamIoYSl9OwpfLmxiPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmpiKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O21iPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaWIoYS5vd25lckRvY3VtZW50KTtiJiZhLnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpfTtfLm5iPWZ1bmN0aW9uKGEsYil7YS50ZXh0Q29udGVudD1fLmxiKGIpO21iKGEpfTtfLm9iPWZ1bmN0aW9uKGEsYil7YS5zcmM9Xy5VYShiKTttYihhKX07Xy5xYj1mdW5jdGlvbihhLGIsYyl7aWYoYiBpbnN0YW5jZW9mIF8uU2EpYS5ocmVmPV8uVWEoYikudG9TdHJpbmcoKSxhLnJlbD1jO2Vsc2V7aWYocGIuaW5kZXhPZihjKT09PS0xKXRocm93IEVycm9yKCJqYCIrYyk7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9YixhLnJlbD1jKX19O18uc2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX07Cl8udGI9ZnVuY3Rpb24oYSxiKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsYix2b2lkIDApfTtfLnViPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYSxiLHZvaWQgMCl9O18udmI9ZnVuY3Rpb24oYSxiKXthOntsZXQgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YTtmb3IobGV0IGU9MDtlPGM7ZSsrKWlmKGUgaW4gZCYmYi5jYWxsKHZvaWQgMCxkW2VdLGUsYSkpe2I9ZTticmVhayBhfWI9LTF9cmV0dXJuIGI8MD9udWxsOnR5cGVvZiBhPT09InN0cmluZyI/YS5jaGFyQXQoYik6YVtiXX07d2I9ZnVuY3Rpb24oYSxiKXtfLnNiKGEsYik+PTB8fGEucHVzaChiKX07Xy54Yj1mdW5jdGlvbihhLGIpe2I9Xy5zYihhLGIpO3ZhciBjOyhjPWI+PTApJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoYSxiLDEpO3JldHVybiBjfTsKXy55Yj1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihiPjApe2xldCBjPUFycmF5KGIpO2ZvcihsZXQgZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTt6Yj1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe2xldCBkPWFyZ3VtZW50c1tjXTtpZihfLnlhKGQpKXtsZXQgZT1hLmxlbmd0aHx8MCxmPWQubGVuZ3RofHwwO2EubGVuZ3RoPWUrZjtmb3IobGV0IGg9MDtoPGY7aCsrKWFbZStoXT1kW2hdfWVsc2UgYS5wdXNoKGQpfX07QWI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz0wLGQ9bmV3IFNldDtjPGEubGVuZ3RoOyl7bGV0IGU9YVtjKytdO2QuaGFzKGUpfHwoZC5hZGQoZSksYVtiKytdPWUpfWEubGVuZ3RoPWJ9OwpfLkJiPWZ1bmN0aW9uKGEsYil7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJ8fChhLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mj17fSk7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODIuc2V2ZXJpdHk9Yn07CkViPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2EoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7YT09bnVsbCYmKGE9J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTphLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOmIsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgYz0hMTt0cnl7dmFyIGQ9YS5saW5lTnVtYmVyfHxhLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChmKXtkPSJOb3QgYXZhaWxhYmxlIixjPSEwfXRyeXt2YXIgZT1hLmZpbGVOYW1lfHxhLmZpbGVuYW1lfHxhLnNvdXJjZVVSTHx8Xy51LiRnb29nRGVidWdGbmFtZXx8Yn1jYXRjaChmKXtlPSJOb3QgYXZhaWxhYmxlIixjPSEwfWI9Q2IoYSk7aWYoISghYyYmYS5saW5lTnVtYmVyJiZhLmZpbGVOYW1lJiZhLnN0YWNrJiZhLm1lc3NhZ2UmJmEubmFtZSkpe2M9YS5tZXNzYWdlOwppZihjPT1udWxsKXtpZihhLmNvbnN0cnVjdG9yJiZhLmNvbnN0cnVjdG9yIGluc3RhbmNlb2YgRnVuY3Rpb24pe2lmKGEuY29uc3RydWN0b3IubmFtZSljPWEuY29uc3RydWN0b3IubmFtZTtlbHNlIGlmKGM9YS5jb25zdHJ1Y3RvcixEYltjXSljPURiW2NdO2Vsc2V7Yz1TdHJpbmcoYyk7aWYoIURiW2NdKXtsZXQgZj0vZnVuY3Rpb25ccysoW15cKF0rKS9tLmV4ZWMoYyk7RGJbY109Zj9mWzFdOiJbQW5vbnltb3VzXSJ9Yz1EYltjXX1jPSdVbmtub3duIEVycm9yIG9mIHR5cGUgIicrYysnIid9ZWxzZSBjPSJVbmtub3duIEVycm9yIG9mIHVua25vd24gdHlwZSI7dHlwZW9mIGEudG9TdHJpbmc9PT0iZnVuY3Rpb24iJiZPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIT09YS50b1N0cmluZyYmKGMrPSI6ICIrYS50b1N0cmluZygpKX1yZXR1cm57bWVzc2FnZTpjLG5hbWU6YS5uYW1lfHwiVW5rbm93bkVycm9yIixsaW5lTnVtYmVyOmQsZmlsZU5hbWU6ZSxzdGFjazpifHwiTm90IGF2YWlsYWJsZSJ9fXJldHVybnttZXNzYWdlOmEubWVzc2FnZSwKbmFtZTphLm5hbWUsbGluZU51bWJlcjphLmxpbmVOdW1iZXIsZmlsZU5hbWU6YS5maWxlTmFtZSxzdGFjazpifX07CkNiPWZ1bmN0aW9uKGEsYil7Ynx8KGI9e30pO2JbRmIoYSldPSEwO3ZhciBjPWEuc3RhY2t8fCIiLGQ9YS5jYXVzZTtkJiYhYltGYihkKV0mJihjKz0iXG5DYXVzZWQgYnk6ICIsZC5zdGFjayYmZC5zdGFjay5pbmRleE9mKGQudG9TdHJpbmcoKSk9PTB8fChjKz10eXBlb2YgZD09PSJzdHJpbmciP2Q6ZC5tZXNzYWdlKyJcbiIpLGMrPUNiKGQsYikpO2E9YS5lcnJvcnM7aWYoQXJyYXkuaXNBcnJheShhKSl7ZD0xO2xldCBlO2ZvcihlPTA7ZTxhLmxlbmd0aCYmIShkPjQpO2UrKyliW0ZiKGFbZV0pXXx8KGMrPSJcbklubmVyIGVycm9yICIrZCsrICsiOiAiLGFbZV0uc3RhY2smJmFbZV0uc3RhY2suaW5kZXhPZihhW2VdLnRvU3RyaW5nKCkpPT0wfHwoYys9dHlwZW9mIGFbZV09PT0ic3RyaW5nIj9hW2VdOmFbZV0ubWVzc2FnZSsiXG4iKSxjKz1DYihhW2VdLGIpKTtlPGEubGVuZ3RoJiYoYys9IlxuLi4uICIrKGEubGVuZ3RoLWUpKyIgbW9yZSBpbm5lciBlcnJvcnMiKX1yZXR1cm4gY307CkZiPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO3R5cGVvZiBhLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmKGI9IiIrYSk7cmV0dXJuIGIrYS5zdGFja307R2I9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVGEoYSl9O18uSGI9ZnVuY3Rpb24oYSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChhLnJlcGxhY2UoL1wrL2csIiAiKSl9O18uSWI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9IiI7YSYmKGsrPWErIjoiKTtjJiYoays9Ii8vIixiJiYoays9YisiQCIpLGsrPWMsZCYmKGsrPSI6IitkKSk7ZSYmKGsrPWUpO2YmJihrKz0iPyIrZik7aCYmKGsrPSIjIitoKTtyZXR1cm4ga307Xy5NYj1mdW5jdGlvbihhKXtyZXR1cm4gYS5tYXRjaChLYil9O05iPWZ1bmN0aW9uKGEpe3JldHVybiBhP2RlY29kZVVSSShhKTphfTsKXy5PYj1mdW5jdGlvbihhKXthPV8uTWIoYSlbMV18fG51bGw7IWEmJl8udS5zZWxmJiZfLnUuc2VsZi5sb2NhdGlvbiYmKGE9Xy51LnNlbGYubG9jYXRpb24ucHJvdG9jb2wuc2xpY2UoMCwtMSkpO3JldHVybiBhP2EudG9Mb3dlckNhc2UoKToiIn07Xy5QYj1mdW5jdGlvbihhKXtyZXR1cm4gTmIoXy5NYihhKVszXXx8bnVsbCl9O18uUWI9ZnVuY3Rpb24oYSl7cmV0dXJuIE5iKF8uTWIoYSlbNV18fG51bGwpfTtfLlJiPWZ1bmN0aW9uKGEsYil7aWYoYSl7YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspe2xldCBkPWFbY10uaW5kZXhPZigiPSIpLGUsZj1udWxsO2Q+PTA/KGU9YVtjXS5zdWJzdHJpbmcoMCxkKSxmPWFbY10uc3Vic3RyaW5nKGQrMSkpOmU9YVtjXTtiKGUsZj9fLkhiKGYpOiIiKX19fTsKXy5TYj1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybiBhO3ZhciBjPWEuaW5kZXhPZigiIyIpO2M8MCYmKGM9YS5sZW5ndGgpO3ZhciBkPWEuaW5kZXhPZigiPyIpO2lmKGQ8MHx8ZD5jKXtkPWM7dmFyIGU9IiJ9ZWxzZSBlPWEuc3Vic3RyaW5nKGQrMSxjKTthPVthLnNsaWNlKDAsZCksZSxhLnNsaWNlKGMpXTtjPWFbMV07YVsxXT1iP2M/YysiJiIrYjpiOmM7cmV0dXJuIGFbMF0rKGFbMV0/Ij8iK2FbMV06IiIpK2FbMl19O1RiPWZ1bmN0aW9uKGEsYixjKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKVRiKGEsU3RyaW5nKGJbZF0pLGMpO2Vsc2UgYiE9bnVsbCYmYy5wdXNoKGErKGI9PT0iIj8iIjoiPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhiKSkpKX07Xy5VYj1mdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IobGV0IGMgaW4gYSlUYihjLGFbY10sYik7cmV0dXJuIGIuam9pbigiJiIpfTsKXy5XYj1mdW5jdGlvbihhLGIpe2I9Xy5VYihiKTtyZXR1cm4gXy5TYihhLGIpfTtfLlhiPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT1jLmxlbmd0aDsoYj1hLmluZGV4T2YoYyxiKSk+PTAmJmI8ZDspe3ZhciBmPWEuY2hhckNvZGVBdChiLTEpO2lmKGY9PTM4fHxmPT02MylpZihmPWEuY2hhckNvZGVBdChiK2UpLCFmfHxmPT02MXx8Zj09Mzh8fGY9PTM1KXJldHVybiBiO2IrPWUrMX1yZXR1cm4tMX07Xy5aYj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuc2VhcmNoKF8uWWIpLGQ9Xy5YYihhLDAsYixjKTtpZihkPDApcmV0dXJuIG51bGw7dmFyIGU9YS5pbmRleE9mKCImIixkKTtpZihlPDB8fGU+YyllPWM7ZCs9Yi5sZW5ndGgrMTtyZXR1cm4gXy5IYihhLnNsaWNlKGQsZSE9PS0xP2U6MCkpfTtfLiRiPWZ1bmN0aW9uKGEpe18udS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgYTt9LDApfTsKXy5hYz1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBlPWEuY2hhckNvZGVBdChkKTtlPDEyOD9iW2MrK109ZTooZTwyMDQ4P2JbYysrXT1lPj42fDE5MjooKGUmNjQ1MTIpPT01NTI5NiYmZCsxPGEubGVuZ3RoJiYoYS5jaGFyQ29kZUF0KGQrMSkmNjQ1MTIpPT01NjMyMD8oZT02NTUzNisoKGUmMTAyMyk8PDEwKSsoYS5jaGFyQ29kZUF0KCsrZCkmMTAyMyksYltjKytdPWU+PjE4fDI0MCxiW2MrK109ZT4+MTImNjN8MTI4KTpiW2MrK109ZT4+MTJ8MjI0LGJbYysrXT1lPj42JjYzfDEyOCksYltjKytdPWUmNjN8MTI4KX1yZXR1cm4gYn07Xy5iYz1mdW5jdGlvbigpe3ZhciBhPV8udS5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTsKZmM9ZnVuY3Rpb24oYSl7aWYoIWRjfHwhZWMpcmV0dXJuITE7Zm9yKGxldCBiPTA7YjxlYy5icmFuZHMubGVuZ3RoO2IrKyl7bGV0IHticmFuZDpjfT1lYy5icmFuZHNbYl07aWYoYyYmYy5pbmRleE9mKGEpIT0tMSlyZXR1cm4hMH1yZXR1cm4hMX07aGM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uYmMoKS5pbmRleE9mKGEpIT0tMX07aWM9ZnVuY3Rpb24oKXtyZXR1cm4gZGM/ISFlYyYmZWMuYnJhbmRzLmxlbmd0aD4wOiExfTtqYz1mdW5jdGlvbigpe3JldHVybiBpYygpPyExOmhjKCJPcGVyYSIpfTtrYz1mdW5jdGlvbigpe3JldHVybiBoYygiRmlyZWZveCIpfHxoYygiRnhpT1MiKX07bWM9ZnVuY3Rpb24oKXtyZXR1cm4gaWMoKT9mYygiQ2hyb21pdW0iKTooaGMoIkNocm9tZSIpfHxoYygiQ3JpT1MiKSkmJiEoaWMoKT8wOmhjKCJFZGdlIikpfHxoYygiU2lsayIpfTtuYz1mdW5jdGlvbigpe3JldHVybiBkYz8hIWVjJiYhIWVjLnBsYXRmb3JtOiExfTsKb2M9ZnVuY3Rpb24oKXtyZXR1cm4gaGMoImlQaG9uZSIpJiYhaGMoImlQb2QiKSYmIWhjKCJpUGFkIil9O18ucGM9ZnVuY3Rpb24oYSl7Xy5wY1siICJdKGEpO3JldHVybiBhfTtfLnNjPWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMCYmKGI9MCk7cWMoKTtiPXJjW2JdO2Zvcih2YXIgYz1BcnJheShNYXRoLmZsb29yKGEubGVuZ3RoLzMpKSxkPWJbNjRdfHwiIixlPTAsZj0wO2U8YS5sZW5ndGgtMjtlKz0zKXt2YXIgaD1hW2VdLGs9YVtlKzFdLGw9YVtlKzJdLG09YltoPj4yXTtoPWJbKGgmMyk8PDR8az4+NF07az1iWyhrJjE1KTw8MnxsPj42XTtsPWJbbCY2M107Y1tmKytdPW0raCtrK2x9bT0wO2w9ZDtzd2l0Y2goYS5sZW5ndGgtZSl7Y2FzZSAyOm09YVtlKzFdLGw9YlsobSYxNSk8PDJdfHxkO2Nhc2UgMTphPWFbZV0sY1tmXT1iW2E+PjJdK2JbKGEmMyk8PDR8bT4+NF0rbCtkfXJldHVybiBjLmpvaW4oIiIpfTsKXy51Yz1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aCxjPWIqMy80O2MlMz9jPU1hdGguZmxvb3IoYyk6Ij0uIi5pbmRleE9mKGFbYi0xXSkhPS0xJiYoYz0iPS4iLmluZGV4T2YoYVtiLTJdKSE9LTE/Yy0yOmMtMSk7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoYyksZT0wO3RjKGEsZnVuY3Rpb24oZil7ZFtlKytdPWZ9KTtyZXR1cm4gZSE9PWM/ZC5zdWJhcnJheSgwLGUpOmR9O3RjPWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhlKXtmb3IoO2Q8YS5sZW5ndGg7KXtsZXQgZj1hLmNoYXJBdChkKyspLGg9dmNbZl07aWYoaCE9bnVsbClyZXR1cm4gaDtpZighL15bXHNceGEwXSokLy50ZXN0KGYpKXRocm93IEVycm9yKCJtYCIrZik7fXJldHVybiBlfXFjKCk7Zm9yKHZhciBkPTA7Oyl7bGV0IGU9YygtMSksZj1jKDApLGg9Yyg2NCksaz1jKDY0KTtpZihrPT09NjQmJmU9PT0tMSlicmVhaztiKGU8PDJ8Zj4+NCk7aCE9NjQmJihiKGY8PDQmMjQwfGg+PjIpLGshPTY0JiZiKGg8PDYmMTkyfGspKX19OwpxYz1mdW5jdGlvbigpe2lmKCF2Yyl7dmM9e307dmFyIGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5zcGxpdCgiIiksYj1bIisvPSIsIisvIiwiLV89IiwiLV8uIiwiLV8iXTtmb3IobGV0IGM9MDtjPDU7YysrKXtsZXQgZD1hLmNvbmNhdChiW2NdLnNwbGl0KCIiKSk7cmNbY109ZDtmb3IobGV0IGU9MDtlPGQubGVuZ3RoO2UrKyl7bGV0IGY9ZFtlXTt2Y1tmXT09PXZvaWQgMCYmKHZjW2ZdPWUpfX19fTtfLnhjPWZ1bmN0aW9uKGEsYil7aWYoYSE9bnVsbCl7dmFyIGM9d2M/Pyh3Yz17fSk7dmFyIGQ9Y1thXXx8MDtkPj1ifHwoY1thXT1kKzEsYT1FcnJvcigpLF8uQmIoYSwiaW5jaWRlbnQiKSxfLiRiKGEpKX19O18ueWM9ZnVuY3Rpb24oYSxiPSExKXtyZXR1cm4gYiYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpfTsKXy5CYz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuaiE9PV8uemMmJiEhKDImKGEuRGFbXy5BY118MCkpOiEhKDImYikmJmEuaiE9PV8uemN9O18uQ2M9ZnVuY3Rpb24oYSl7YS51Sj0hMDtyZXR1cm4gYX07Xy5GYz1mdW5jdGlvbihhKXtpZihEYyhhKSl7aWYoIS9eXHMqKD86LT9bMS05XVxkKnwwKT9ccyokLy50ZXN0KGEpKXRocm93IEVycm9yKFN0cmluZyhhKSk7fWVsc2UgaWYoRWMoYSkmJiFOdW1iZXIuaXNTYWZlSW50ZWdlcihhKSl0aHJvdyBFcnJvcihTdHJpbmcoYSkpO3JldHVybiBCaWdJbnQoYSl9O0djPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtJYz1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLnhjKEhjLDEpfTsKTGM9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLkdhKF8uSmMpLGg7IWUmJmYmJihoPWFbZl0pJiZoLmN3KEljKTtmPVtdO3ZhciBrPWEubGVuZ3RoO2g9NDI5NDk2NzI5NTt2YXIgbD0hMSxtPSEhKGImNjQpLG49bT9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBwPWsmJmFbay0xXTtwIT1udWxsJiZ0eXBlb2YgcD09PSJvYmplY3QiJiZwLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhrLS0saD1rKTpwPXZvaWQgMDshbXx8YiYxMjh8fGV8fChsPSEwLGg9KEtjPz9HYykoaC1uLG4sYSxwLHZvaWQgMCkrbil9Yj12b2lkIDA7Zm9yKGU9MDtlPGs7ZSsrKXtsZXQgcj1hW2VdO2lmKHIhPW51bGwmJihyPWMocixkKSkhPW51bGwpaWYobSYmZT49aCl7bGV0IHQ9ZS1uOyhiPz8oYj17fSkpW3RdPXJ9ZWxzZSBmW2VdPXJ9aWYocClmb3IobGV0IHIgaW4gcCl7YT1wW3JdO2lmKGE9PW51bGx8fChhPWMoYSxkKSk9PW51bGwpY29udGludWU7az0rcjsKbGV0IHQ7bSYmIU51bWJlci5pc05hTihrKSYmKHQ9aytuKTxoP2ZbdF09YTooYj8/KGI9e30pKVtyXT1hfWImJihsP2YucHVzaChiKTpmW2hdPWIpO3JldHVybiBmfTtOYz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLk1jKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXtsZXQgYj1hW18uQWNdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYiYxP3ZvaWQgMDpMYyhhLGIsTmMpfWlmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBRYyhhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy5SYyYmYSBpbnN0YW5jZW9mIF8uUmMpcmV0dXJuIGEubygpO3JldHVybn1yZXR1cm4gYX07ClVjPWZ1bmN0aW9uKGEsYil7aWYoYil7S2M9Yj09bnVsbHx8Yj09PUdjfHxiW1NjXSE9PVRjP0djOmI7dHJ5e3JldHVybiBRYyhhKX1maW5hbGx5e0tjPXZvaWQgMH19cmV0dXJuIFFjKGEpfTtRYz1mdW5jdGlvbihhKXthPWEuRGE7cmV0dXJuIExjKGEsYVtfLkFjXXwwLE5jKX07Cl8uWGM9ZnVuY3Rpb24oYSxiLGMsZD0wKXtpZihhPT1udWxsKXt2YXIgZT0zMjtjPyhhPVtjXSxlfD0xMjgpOmE9W107YiYmKGU9ZSYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCJzIik7ZT1hW18uQWNdfDA7aWYoVmMmJjEmZSl0aHJvdyBFcnJvcigidCIpOzIwNDgmZSYmISgyJmUpJiZXYygpO2lmKGUmMjU2KXRocm93IEVycm9yKCJ1Iik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJihhW18uQWNdPWV8ZCksYTtpZihjJiYoZXw9MTI4LGMhPT1hWzBdKSl0aHJvdyBFcnJvcigidiIpO2E6e2M9YTtlfD02NDt2YXIgZj1jLmxlbmd0aDtpZihmKXt2YXIgaD1mLTE7bGV0IGw9Y1toXTtpZihsIT1udWxsJiZ0eXBlb2YgbD09PSJvYmplY3QiJiZsLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtiPWUmMTI4PzA6LTE7aC09YjtpZihoPj0xMDI0KXRocm93IEVycm9yKCJ4Iik7Zm9yKHZhciBrIGluIGwpaWYoZj0rayxmPGgpY1tmKwpiXT1sW2tdLGRlbGV0ZSBsW2tdO2Vsc2UgYnJlYWs7ZT1lJi0xNjc2MDgzM3woaCYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7az1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihrPjEwMjQpdGhyb3cgRXJyb3IoInkiKTtlPWUmLTE2NzYwODMzfChrJjEwMjMpPDwxNH19fWFbXy5BY109ZXw2NHxkO3JldHVybiBhfTtXYz1mdW5jdGlvbigpe2lmKFZjKXRocm93IEVycm9yKCJ3Iik7Xy54YyhZYyw1KX07CmNkPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4gYTtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYz1hW18uQWNdfDA7YS5sZW5ndGg9PT0wJiZjJjE/YT12b2lkIDA6YyYyfHwoIWJ8fDQwOTYmY3x8MTYmYz9hPV8uWmMoYSxjLCExLGImJiEoYyYxNikpOihhW18uQWNdfD0zNCxjJjQmJk9iamVjdC5mcmVlemUoYSkpKTtyZXR1cm4gYX1pZihhIT1udWxsJiZhW18uT2NdPT09Xy5QYylyZXR1cm4gYj1hLkRhLGM9YltfLkFjXXwwLF8uQmMoYSxjKT9hOl8uJGMoYSxiLGMpP18uYmQoYSxiKTpfLlpjKGIsYyk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIF8uUmMmJmEgaW5zdGFuY2VvZiBfLlJjKXJldHVybiBhfTtfLmJkPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJihhLmo9Xy56Yyk7YS5vPV8uemM7cmV0dXJuIGF9OwpfLlpjPWZ1bmN0aW9uKGEsYixjLGQpe2Q/PyhkPSEhKDM0JmIpKTthPUxjKGEsYixjZCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDthW18uQWNdPWI7cmV0dXJuIGF9O18uJGM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjJjI/ITA6YyYzMiYmIShjJjQwOTYpPyhiW18uQWNdPWN8MixhLmo9Xy56YywhMCk6ITF9O18uZWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8uZGQoYS5EYSxiLGMsZSk7aWYoYiE9PW51bGx8fGQmJmEubyE9PV8uemMpcmV0dXJuIGJ9OwpfLmRkPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGI9PT0tMSlyZXR1cm4gbnVsbDt2YXIgZT1iKyhjPzA6LTEpLGY9YS5sZW5ndGgtMTtpZighKGY8MSsoYz8wOi0xKSkpe2lmKGU+PWYpe3ZhciBoPWFbZl07aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yz1oW2JdO3ZhciBrPSEwfWVsc2UgaWYoZT09PWYpYz1oO2Vsc2UgcmV0dXJufWVsc2UgYz1hW2VdO2lmKGQmJmMhPW51bGwpe2Q9ZChjKTtpZihkPT1udWxsKXJldHVybiBkO2lmKCFPYmplY3QuaXMoZCxjKSlyZXR1cm4gaz9oW2JdPWQ6YVtlXT1kLGR9cmV0dXJuIGN9fTtmZD1mdW5jdGlvbigpe3ZhciBhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhyb3cgRXJyb3IoKTt9fTtPYmplY3Quc2V0UHJvdG90eXBlT2YoYSxhLnByb3RvdHlwZSk7cmV0dXJuIGF9O18uZ2Q9ZnVuY3Rpb24oKXt9OwpoZD1mdW5jdGlvbihhKXt2YXIgYj0hMSxjO3JldHVybiBmdW5jdGlvbigpe2J8fChjPWEoKSxiPSEwKTtyZXR1cm4gY319O2pkPWZ1bmN0aW9uKGEpe3ZhciBiPWlkO2lmKGIpZm9yKGxldCBjIGluIGIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsYykmJmEoYltjXSxjLGIpfTtrZD1mdW5jdGlvbigpe3ZhciBhPVtdO2pkKGI9PnthLnB1c2goYil9KTtyZXR1cm4gYX07bWQ9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSxiPXt9O18udGIobGQoKSxjPT57YS5zYW5kYm94JiZhLnNhbmRib3guc3VwcG9ydHMmJmEuc2FuZGJveC5zdXBwb3J0cyhjKSYmKGJbY109ITApfSk7cmV0dXJuIGJ9O18ubmQ9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07b2Q9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgaW4gYSliLmNhbGwodm9pZCAwLGFbY10sYyxhKX07Cl8ucGQ9ZnVuY3Rpb24oYSl7Zm9yKGxldCBiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9OwpfLnFkPWZ1bmN0aW9uKGEpe2lmKCFhfHx0eXBlb2YgYSE9PSJvYmplY3QiKXJldHVybiBhO2lmKHR5cGVvZiBhLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gYS5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChhKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQoYSk7aWYoYSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKGEuZ2V0VGltZSgpKTt2YXIgYj1BcnJheS5pc0FycmF5KGEpP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KGEpfHxhIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IGEuY29uc3RydWN0b3IoYS5sZW5ndGgpO2ZvcihsZXQgYyBpbiBhKWJbY109Xy5xZChhW2NdKTtyZXR1cm4gYn07CnNkPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIGM9YXJndW1lbnRzW2VdO2ZvcihkIGluIGMpYVtkXT1jW2RdO2ZvcihsZXQgZj0wO2Y8cmQubGVuZ3RoO2YrKyl7dmFyIGQ9cmRbZl07T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsZCkmJihhW2RdPWNbZF0pfX19O18ueGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bmV3IHVkKF8udmQoYSkpOndkfHwod2Q9bmV3IHVkKX07Xy55ZD1mdW5jdGlvbihhKXthPWEuZG9jdW1lbnQ7YT1hLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Ij9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLm5kKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLnpkPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuZGVmYXVsdFZpZXc6d2luZG93fTsKQWQ9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoZSl7ZSYmYi5hcHBlbmRDaGlsZCh0eXBlb2YgZT09PSJzdHJpbmciP2EuY3JlYXRlVGV4dE5vZGUoZSk6ZSl9Zm9yKGxldCBlPTE7ZTxjLmxlbmd0aDtlKyspe2xldCBmPWNbZV07IV8ueWEoZil8fF8uQWEoZikmJmYubm9kZVR5cGU+MD9kKGYpOl8udGIoZiYmdHlwZW9mIGYubGVuZ3RoPT0ibnVtYmVyIiYmdHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uIj9fLnliKGYpOmYsZCl9fTtfLkNkPWZ1bmN0aW9uKGEpe3JldHVybiBCZChkb2N1bWVudCxhKX07QmQ9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiKX07Xy5EZD1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5wYXJlbnROb2RlP2EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTpudWxsfTsKXy52ZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Xy5GZD1mdW5jdGlvbihhKXtyZXR1cm4gYS50YWdOYW1lPT0iQSImJmEuaGFzQXR0cmlidXRlKCJocmVmIil8fGEudGFnTmFtZT09IklOUFVUInx8YS50YWdOYW1lPT0iVEVYVEFSRUEifHxhLnRhZ05hbWU9PSJTRUxFQ1QifHxhLnRhZ05hbWU9PSJCVVRUT04iPyFhLmRpc2FibGVkJiYoIWEuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHxFZChhKSk6YS5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJkVkKGEpfTtFZD1mdW5jdGlvbihhKXthPWEudGFiSW5kZXg7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciImJmE+PTAmJmE8MzI3Njh9O3VkPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfHxfLnUuZG9jdW1lbnR8fGRvY3VtZW50fTsKR2Q9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7YS5pbmRleE9mKCJibG9iOiIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07YT1hLnRvTG93ZXJDYXNlKCk7YS5pbmRleE9mKCIvLyIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXHdcLV0qOlwvXC8vLnRlc3QoYSl8fChhPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgYj1hLnN1YnN0cmluZyhhLmluZGV4T2YoIjovLyIpKzMpLGM9Yi5pbmRleE9mKCIvIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoIjovLyIpKTtpZighYyl0aHJvdyBFcnJvcigiQmAiK2EpO2lmKGMhPT0iaHR0cCImJmMhPT0iaHR0cHMiJiZjIT09ImNocm9tZS1leHRlbnNpb24iJiZjIT09Im1vei1leHRlbnNpb24iJiYKYyE9PSJmaWxlIiYmYyE9PSJhbmRyb2lkLWFwcCImJmMhPT0iY2hyb21lLXNlYXJjaCImJmMhPT0iY2hyb21lLXVudHJ1c3RlZCImJmMhPT0iY2hyb21lIiYmYyE9PSJhcHAiJiZjIT09ImRldnRvb2xzIil0aHJvdyBFcnJvcigiQ2AiK2MpO2E9IiI7dmFyIGQ9Yi5pbmRleE9mKCI6Iik7aWYoZCE9LTEpe3ZhciBlPWIuc3Vic3RyaW5nKGQrMSk7Yj1iLnN1YnN0cmluZygwLGQpO2lmKGM9PT0iaHR0cCImJmUhPT0iODAifHxjPT09Imh0dHBzIiYmZSE9PSI0NDMiKWE9IjoiK2V9cmV0dXJuIGMrIjovLyIrYithfTsKSGQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7ZVswXT0xNzMyNTg0MTkzO2VbMV09NDAyMzIzMzQxNztlWzJdPTI1NjIzODMxMDI7ZVszXT0yNzE3MzM4Nzg7ZVs0XT0zMjg1Mzc3NTIwO249bT0wfWZ1bmN0aW9uIGIocCl7Zm9yKHZhciByPWgsdD0wO3Q8NjQ7dCs9NClyW3QvNF09cFt0XTw8MjR8cFt0KzFdPDwxNnxwW3QrMl08PDh8cFt0KzNdO2Zvcih0PTE2O3Q8ODA7dCsrKXA9clt0LTNdXnJbdC04XV5yW3QtMTRdXnJbdC0xNl0sclt0XT0ocDw8MXxwPj4+MzEpJjQyOTQ5NjcyOTU7cD1lWzBdO3ZhciB2PWVbMV0sej1lWzJdLEU9ZVszXSxBPWVbNF07Zm9yKHQ9MDt0PDgwO3QrKyl7aWYodDw0MClpZih0PDIwKXt2YXIgRj1FXnYmKHpeRSk7dmFyIEM9MTUxODUwMDI0OX1lbHNlIEY9dl56XkUsQz0xODU5Nzc1MzkzO2Vsc2UgdDw2MD8oRj12Jnp8RSYodnx6KSxDPTI0MDA5NTk3MDgpOihGPXZeel5FLEM9MzM5NTQ2OTc4Mik7Rj0oKHA8PDV8cD4+PjI3KSY0Mjk0OTY3Mjk1KStGKwpBK0Mrclt0XSY0Mjk0OTY3Mjk1O0E9RTtFPXo7ej0odjw8MzB8dj4+PjIpJjQyOTQ5NjcyOTU7dj1wO3A9Rn1lWzBdPWVbMF0rcCY0Mjk0OTY3Mjk1O2VbMV09ZVsxXSt2JjQyOTQ5NjcyOTU7ZVsyXT1lWzJdK3omNDI5NDk2NzI5NTtlWzNdPWVbM10rRSY0Mjk0OTY3Mjk1O2VbNF09ZVs0XStBJjQyOTQ5NjcyOTV9ZnVuY3Rpb24gYyhwLHIpe2lmKHR5cGVvZiBwPT09InN0cmluZyIpe3A9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHApKTtmb3IodmFyIHQ9W10sdj0wLHo9cC5sZW5ndGg7djx6Oysrdil0LnB1c2gocC5jaGFyQ29kZUF0KHYpKTtwPXR9cnx8KHI9cC5sZW5ndGgpO3Q9MDtpZihtPT0wKWZvcig7dCs2NDxyOyliKHAuc2xpY2UodCx0KzY0KSksdCs9NjQsbis9NjQ7Zm9yKDt0PHI7KWlmKGZbbSsrXT1wW3QrK10sbisrLG09PTY0KWZvcihtPTAsYihmKTt0KzY0PHI7KWIocC5zbGljZSh0LHQrNjQpKSx0Kz02NCxuKz02NH1mdW5jdGlvbiBkKCl7dmFyIHA9W10scj0Kbio4O208NTY/YyhrLDU2LW0pOmMoayw2NC0obS01NikpO2Zvcih2YXIgdD02Mzt0Pj01Njt0LS0pZlt0XT1yJjI1NSxyPj4+PTg7YihmKTtmb3IodD1yPTA7dDw1O3QrKylmb3IodmFyIHY9MjQ7dj49MDt2LT04KXBbcisrXT1lW3RdPj52JjI1NTtyZXR1cm4gcH1mb3IodmFyIGU9W10sZj1bXSxoPVtdLGs9WzEyOF0sbD0xO2w8NjQ7KytsKWtbbF09MDt2YXIgbSxuO2EoKTtyZXR1cm57cmVzZXQ6YSx1cGRhdGU6YyxkaWdlc3Q6ZCxrdjpmdW5jdGlvbigpe2Zvcih2YXIgcD1kKCkscj0iIix0PTA7dDxwLmxlbmd0aDt0Kyspcis9IjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChNYXRoLmZsb29yKHBbdF0vMTYpKSsiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KHBbdF0lMTYpO3JldHVybiByfX19O0pkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1TdHJpbmcoXy51LmxvY2F0aW9uLmhyZWYpO3JldHVybiBkJiZhJiZiP1tiLElkKEdkKGQpLGEsY3x8bnVsbCldLmpvaW4oIiAiKTpudWxsfTsKSWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnRiKGQsZnVuY3Rpb24oayl7ZS5wdXNoKGspfSksS2QoZS5qb2luKCIgIikpO3ZhciBmPVtdLGg9W107Xy50YihjLGZ1bmN0aW9uKGspe2gucHVzaChrLmtleSk7Zi5wdXNoKGsudmFsdWUpfSk7Yz1NYXRoLmZsb29yKChuZXcgRGF0ZSkuZ2V0VGltZSgpLzFFMyk7ZT1mLmxlbmd0aD09MD9bYyxiLGFdOltmLmpvaW4oIjoiKSxjLGIsYV07Xy50YihkLGZ1bmN0aW9uKGspe2UucHVzaChrKX0pO2E9S2QoZS5qb2luKCIgIikpO2E9W2MsYV07aC5sZW5ndGg9PTB8fGEucHVzaChoLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9O0tkPWZ1bmN0aW9uKGEpe3ZhciBiPUhkKCk7Yi51cGRhdGUoYSk7cmV0dXJuIGIua3YoKS50b0xvd2VyQ2FzZSgpfTtMZD1mdW5jdGlvbihhKXt0aGlzLmo9YXx8e2Nvb2tpZToiIn19OwpNZD1mdW5jdGlvbihhKXthPShhLmouY29va2llfHwiIikuc3BsaXQoIjsiKTt2YXIgYj1bXSxjPVtdO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZD1hW2ZdLnRyaW0oKTt2YXIgZT1kLmluZGV4T2YoIj0iKTtlPT0tMT8oYi5wdXNoKCIiKSxjLnB1c2goZCkpOihiLnB1c2goZC5zdWJzdHJpbmcoMCxlKSksYy5wdXNoKGQuc3Vic3RyaW5nKGUrMSkpKX1yZXR1cm57a2V5czpiLHZhbHVlczpjfX07Xy5OZD1mdW5jdGlvbigpe3ZhciBhPV8udS5fX1NBUElTSUR8fF8udS5fX0FQSVNJRHx8Xy51Ll9fM1BTQVBJU0lEfHxfLnUuX18xUFNBUElTSUR8fF8udS5fX09WRVJSSURFX1NJRDtpZihhKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYoYT1uZXcgTGQoZG9jdW1lbnQpLGE9YS5nZXQoIlNBUElTSUQiKXx8YS5nZXQoIkFQSVNJRCIpfHxhLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8YS5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhYX07Ck9kPWZ1bmN0aW9uKGEsYixjLGQpeyhhPV8udVthXSl8fHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwoYT0obmV3IExkKGRvY3VtZW50KSkuZ2V0KGIpKTtyZXR1cm4gYT9KZChhLGMsZCk6bnVsbH07Cl8uUGQ9ZnVuY3Rpb24oYSl7dmFyIGI9R2QoXy51Py5sb2NhdGlvbi5ocmVmKSxjPVtdO2lmKF8uTmQoKSl7Yj1iLmluZGV4T2YoImh0dHBzOiIpPT0wfHxiLmluZGV4T2YoImNocm9tZS1leHRlbnNpb246Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLXVudHJ1c3RlZDovL25ldy10YWItcGFnZSIpPT0wfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTA7dmFyIGQsZT0oZD1iKT9fLnUuX19TQVBJU0lEOl8udS5fX0FQSVNJRDtlfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KGU9bmV3IExkKGRvY3VtZW50KSxlPWUuZ2V0KGQ/IlNBUElTSUQiOiJBUElTSUQiKXx8ZS5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhkPWU/SmQoZSxkPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLGEpOm51bGwpJiZjLnB1c2goZCk7YiYmKChiPU9kKCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsYSkpJiZjLnB1c2goYiksKGE9T2QoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsYSkpJiZjLnB1c2goYSkpfXJldHVybiBjLmxlbmd0aD09MD9udWxsOmMuam9pbigiICIpfTtTZD1mdW5jdGlvbihhKXtfLlFkP2EoXy5RZCk6KFJkPz8oUmQ9W10pKS5wdXNoKGEpfTtfLlZkPWZ1bmN0aW9uKCl7IV8uUWQmJl8uVGQmJl8uVWQoXy5UZCgpKTtyZXR1cm4gXy5RZH07Xy5VZD1mdW5jdGlvbihhKXtfLlFkPWE7UmQ/LmZvckVhY2goU2QpO1JkPXZvaWQgMH07Xy5XZD1mdW5jdGlvbihhKXtfLlFkJiZfLlFkLlJvKGEpfTtfLlhkPWZ1bmN0aW9uKCl7Xy5RZCYmXy5RZC55ZSgpfTsKWWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxfLnhkKCk7Yj1jLmo7dmFyIGQ9Yy5jcmVhdGVFbGVtZW50KCJTVFlMRSIpLGU9aGIoInN0eWxlIixiKTtlJiZkLnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpO2QudHlwZT0idGV4dC9jc3MiO2M9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdO2Quc3R5bGVTaGVldD9kLnN0eWxlU2hlZXQuY3NzVGV4dD1hOmQuYXBwZW5kQ2hpbGQoYi5jcmVhdGVUZXh0Tm9kZShhKSk7Yy5hcHBlbmRDaGlsZChkKTtyZXR1cm4gZH07Xy5aZD1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKX07Xy4kZD1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWFyZ3VtZW50cy5sZW5ndGg7YjxjOysrYil7bGV0IGQ9YXJndW1lbnRzW2JdO18ueWEoZCk/Xy4kZC5hcHBseShudWxsLGQpOl8uWmQoZCl9fTtfLmFlPWZ1bmN0aW9uKCl7dGhpcy5ZPXRoaXMuWTt0aGlzLks9dGhpcy5LfTtiZT1mdW5jdGlvbigpe18uYWUuY2FsbCh0aGlzKX07CmNlPWZ1bmN0aW9uKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9O2VlPWZ1bmN0aW9uKGEsYil7Xy5hZS5jYWxsKHRoaXMpO3RoaXMuaj1hO3RoaXMuRD1iO3RoaXMuQj1kZT9udWxsOltdO3RoaXMudj1kZT9udWxsOltdO3RoaXMubz1kZT9udWxsOltdO3RoaXMuST0hMX07ZmU9ZnVuY3Rpb24oYSxiKXthLm98fChhLm89W10pO2Euby5wdXNoKG5ldyB2YS53ayhiLHZvaWQgMCkpfTtnZT1mdW5jdGlvbihhLGIsYyl7YS5CfHwoYS5CPVtdKTthLkIucHVzaChuZXcgdmEud2soYixjKSl9O2hlPWZ1bmN0aW9uKGEsYil7YS52fHwoYS52PVtdKTthLnYucHVzaChuZXcgdmEud2soYix2b2lkIDApKX07aWU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGEubGVuZ3RoO2QrKyl0cnl7YVtkXS5leGVjdXRlKGIpfWNhdGNoKGUpe18uJGIoZSksYy5wdXNoKGUpfWEubGVuZ3RoPTA7cmV0dXJuIGMubGVuZ3RoP2M6bnVsbH07amU9ZnVuY3Rpb24oKXt0aGlzLlk9bnVsbH07CmtlPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LGM9Yi5zdHlsZVNoZWV0cy5sZW5ndGgsZD1ZZChhLG5ldyB1ZChiKSk7ZC5zZXRBdHRyaWJ1dGUoImRhdGEtbGF0ZS1jc3MiLCIiKTtiLnN0eWxlU2hlZXRzLmxlbmd0aD09YysxJiZfLnZiKGIuc3R5bGVTaGVldHMsZT0+KGUub3duZXJOb2RlfHxlLm93bmluZ0VsZW1lbnQpPT1kKX07cWU9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz1sZShhKSxkPW5ldyBtZSxlPV8uTWIoYylbNV07b2QobmUsZnVuY3Rpb24oaCl7dmFyIGs9ZS5tYXRjaCgiLyIraCsiPShbXi9dKykiKTtrJiZvZShkLGgsa1sxXSl9KTt2YXIgZj0iIjtmPWEuaW5kZXhPZigiXy9zcy8iKSE9LTE/Il8vc3MvIjoiXy9qcy8iO3BlKGQsYS5zdWJzdHIoMCxhLmluZGV4T2YoZikrZi5sZW5ndGgpKTtpZighYilyZXR1cm4gZDsoYT1fLk1iKGMpWzZdfHxudWxsKSYmXy5SYihhLChoLGspPT57ZC52W2hdPWt9KTtyZXR1cm4gZH07CmxlPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN0YXJ0c1dpdGgoImh0dHBzOi8vdWJlcnByb3h5LXBlbi1yZWRpcmVjdC5jb3JwLmdvb2dsZS5jb20vdWJlcnByb3h5L3Blbj91cmw9Iik/YS5zdWJzdHIoNjUpOmF9O3JlPWZ1bmN0aW9uKGEpe2E9Xy5RYihsZShhKSk7cmV0dXJuIGE9PT1udWxsPyExOlJlZ0V4cCgiKC9fL2pzLyl8KC9fL3NzLykiLCJnIikudGVzdChhKT8vXC9rPS8udGVzdChhKTohMX07b2U9ZnVuY3Rpb24oYSxiLGMpe2M/YS5qW2JdPWM6ZGVsZXRlIGEualtiXX07cGU9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnZlPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9ZD0+e2EualtkXSE9PXZvaWQgMCYmYi5wdXNoKGQrIj0iK2EualtkXSl9O3NlKGEpPyhjKCJtZCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnMiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInNsayIpLGMoImR0aSIpLGMoImRid2giKSk6KGMoInNkY2giKSxjKCJrIiksYygiY2siKSxjKCJhbSIpLGMoImFtYyIpLGMoInJ0IiksImQiaW4gYS5qfHxvZShhLCJkIiwiMCIpLGMoImQiKSxjKCJleG0iKSxjKCJleGNtIiksKGEuai5leGNtfHxhLmouZXhtKSYmYi5wdXNoKCJlZD0xIiksYygiaW0iKSxjKCJkZyIpLGMoInNtIiksdGUoYSwiYnIiKSE9IjEiJiZ0ZShhLCJiciIpIT0iMCJ8fGMoImJyIiksYygiYnItZCIpLHRlKGEsInJiIik9PSIxIiYmYygicmIiKSx0ZShhLCJ6cyIpIT09IjAiJiZjKCJ6cyIpLHVlKGEpIT09IiImJmMoInd0IiksYygiZ3NzbW9kdWxlc2V0cHJvdG8iKSxjKCJ1amciKSxjKCJzcCIpLGMoImljaGMiKSwKYygicnMiKSxjKCJjYiIpLGMoImNjYiIpLGMoImVlIiksYygic2xrIiksYygiZHRpIiksYygiZGJ3aCIpLGMoImljIiksYygibSIpKTtyZXR1cm4gYi5qb2luKCIvIil9O3RlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEualtiXT9hLmpbYl06bnVsbH07c2U9ZnVuY3Rpb24oYSl7YT10ZShhLCJtZCIpO3JldHVybiEhYSYmYSE9PSIwIn07dWU9ZnVuY3Rpb24oYSl7c3dpdGNoKHRlKGEsInd0Iikpe2Nhc2UgIjAiOnJldHVybiIwIjtjYXNlICIxIjpyZXR1cm4iMSI7Y2FzZSAiMiI6cmV0dXJuIjIiO2RlZmF1bHQ6cmV0dXJuIiJ9fTt3ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4bSIsYi5qb2luKCIsIikpKTpvZShhLCJleG0iLG51bGwpfTt4ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4Y20iLGIuam9pbigiLCIpKSk6b2UoYSwiZXhjbSIsbnVsbCl9Owp5ZT1mdW5jdGlvbihhKXtyZXR1cm4oYT10ZShhLCJtIikpP2Euc3BsaXQoIiwiKTpbXX07emU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iIGluc3RhbmNlb2YgTWFwP0FycmF5LmZyb20oYi5lbnRyaWVzKCkpLmZpbHRlcigoWyxkXSk9PmQmJmQuc2l6ZT4wKS5tYXAoKFtkLGVdKT0+e2U9QXJyYXkuZnJvbShlKTtlLmxlbmd0aD4xJiZlLnNvcnQoKTtyZXR1cm4gZCsiOiIrZS5qb2luKCIsIil9KTpPYmplY3Qua2V5cyhiKS5maWx0ZXIoZD0+ISFPYmplY3Qua2V5cyhiW2RdKS5sZW5ndGgpLm1hcChkPT57dmFyIGU9T2JqZWN0LmtleXMoYltkXSk7ZS5sZW5ndGg+MSYmZS5zb3J0KCk7cmV0dXJuIGQrIjoiK2Uuam9pbigiLCIpfSk7Yy5zb3J0KCk7b2UoYSwiZWUiLGMuam9pbigiOyIpKX07CkNlPWZ1bmN0aW9uKGEpe2E9dGUoYSwiZWUiKTtpZihBZSl7aWYoIWEpcmV0dXJuIG5ldyBNYXA7dmFyIGI9bmV3IE1hcCxjPWEuc3BsaXQoIjsiKTtmb3IodmFyIGQgb2YgYyl7bGV0IFtmLGhdPWQuc3BsaXQoIjoiKTtjPW5ldyBTZXQ7Yi5zZXQoZixjKTtmb3IodmFyIGUgb2YgaC5zcGxpdCgiLCIpKWMuYWRkKGUpfXJldHVybiBifWlmKCFhKXJldHVybnt9O2Q9e307ZT1hLnNwbGl0KCI7Iik7Zm9yKGIgb2YgZSl7bGV0IFtmLGhdPWIuc3BsaXQoIjoiKTtkW2ZdPXt9O2ZvcihjIG9mIGguc3BsaXQoIiwiKSlkW2ZdW2NdPSEwfXJldHVybiBkfTtEZT1mdW5jdGlvbihhKXtkZWxldGUgYS5qLm07ZGVsZXRlIGEuai5leG07ZGVsZXRlIGEuai5lZH07CkVlPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiZkb2N1bWVudCYmZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQmJihhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKSl7bGV0IGI9YS50YWdOYW1lLnRvVXBwZXJDYXNlKCk7aWYoYj09IlNDUklQVCJ8fGI9PSJMSU5LIilyZXR1cm4gYX1yZXR1cm4gbnVsbH07RmU9ZnVuY3Rpb24oYT0iIixiKXtpZihhJiZiKXRocm93IEVycm9yKCJMIik7dmFyIGM9IiI7dmFyIGQ9Xy51Ll9GX2pzVXJsOyhhPWJ8fEVlKGEpKSYmKGM9YS5zcmM/YS5zcmM6YS5nZXRBdHRyaWJ1dGUoImhyZWYiKSk7aWYoZCYmYyl7aWYoZCE9Yyl0aHJvdyBFcnJvcigiTWAiK2QrImAiK2MpO2M9ZH1lbHNlIGM9ZHx8YztpZighcmUoYykpdGhyb3cgRXJyb3IoIk4iKTtyZXR1cm4gY307CkhlPWZ1bmN0aW9uKCl7aWYoIUdlKXtHZT0hMDt0cnl7dmFyIGE9RmUoXy51Ll9GX2pzVXJsPyIiOiJiYXNlLWpzIil9Y2F0Y2goYyl7cmV0dXJufXZhciBiPUNlKHFlKGEpKTtpZihiIGluc3RhbmNlb2YgTWFwKWIuc2l6ZSE9PTAmJlNkKGM9Pntmb3IobGV0IFtkLGVdb2YgYi5lbnRyaWVzKCkpe2xldCBmPWQsaD1lO2ZvcihsZXQgayBvZiBoKWMubmkoZixrKX19KTtlbHNle2xldCBjPU9iamVjdC5rZXlzKGIpO2MubGVuZ3RoIT09MCYmU2QoZD0+e2ZvcihsZXQgZSBvZiBjKXtsZXQgZj1iW2VdO2ZvcihsZXQgaCBvZiBPYmplY3Qua2V5cyhmKSlkLm5pKGUsaCl9fSl9fX07Xy5KZT1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT0iZnVuY3Rpb24iPT10eXBlb2YgXy5JZSYmYSBpbnN0YW5jZW9mIF8uSWU/U3RyaW5nKGEpOmE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMubz0hMX07CktlPWZ1bmN0aW9uKGEsYil7Xy5KZS5jYWxsKHRoaXMsYT9hLnR5cGU6IiIpO3RoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy50aW1lU3RhbXA9MDt0aGlzLmo9bnVsbDthJiZ0aGlzLmluaXQoYSxiKX07Ck1lPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5saXN0ZW5lcj1hO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1iO3RoaXMudHlwZT1jO3RoaXMuY2FwdHVyZT0hIWQ7dGhpcy5oYW5kbGVyPWU7dGhpcy5rZXk9KytMZTt0aGlzLk5oPXRoaXMuemk9ITF9O05lPWZ1bmN0aW9uKGEpe2EuTmg9ITA7YS5saXN0ZW5lcj1udWxsO2EucHJveHk9bnVsbDthLnNyYz1udWxsO2EuaGFuZGxlcj1udWxsfTtPZT1mdW5jdGlvbihhKXt0aGlzLnNyYz1hO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuaj0wfTtQZT1mdW5jdGlvbihhLGIpe3ZhciBjPWIudHlwZTtjIGluIGEubGlzdGVuZXJzJiZfLnhiKGEubGlzdGVuZXJzW2NdLGIpJiYoTmUoYiksYS5saXN0ZW5lcnNbY10ubGVuZ3RoPT0wJiYoZGVsZXRlIGEubGlzdGVuZXJzW2NdLGEuai0tKSl9OwpRZT1mdW5jdGlvbihhLGIsYyxkKXtmb3IobGV0IGU9MDtlPGEubGVuZ3RoOysrZSl7bGV0IGY9YVtlXTtpZighZi5OaCYmZi5saXN0ZW5lcj09YiYmZi5jYXB0dXJlPT0hIWMmJmYuaGFuZGxlcj09ZClyZXR1cm4gZX1yZXR1cm4tMX07Xy5TZT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGQmJmQub25jZSlyZXR1cm4gUmUoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylfLlNlKGEsYltmXSxjLGQsZSk7cmV0dXJuIG51bGx9Yz1UZShjKTtyZXR1cm4gYSYmYVtVZV0/YS5saXN0ZW4oYixjLF8uQWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlZlKGEsYixjLCExLGQsZSl9OwpWZT1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoIWIpdGhyb3cgRXJyb3IoIk8iKTt2YXIgaD1fLkFhKGUpPyEhZS5jYXB0dXJlOiEhZSxrPVdlKGEpO2t8fChhW1hlXT1rPW5ldyBPZShhKSk7Yz1rLmFkZChiLGMsZCxoLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1ZZSgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpZT09PXZvaWQgMCYmKGU9ITEpLGEuYWRkRXZlbnRMaXN0ZW5lcihiLnRvU3RyaW5nKCksZCxlKTtlbHNlIGlmKGEuYXR0YWNoRXZlbnQpYS5hdHRhY2hFdmVudChaZShiLnRvU3RyaW5nKCkpLGQpO2Vsc2UgaWYoYS5hZGRMaXN0ZW5lciYmYS5yZW1vdmVMaXN0ZW5lcilhLmFkZExpc3RlbmVyKGQpO2Vsc2UgdGhyb3cgRXJyb3IoIlAiKTskZSsrO3JldHVybiBjfTtZZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoYyl7cmV0dXJuIGIuY2FsbChhLnNyYyxhLmxpc3RlbmVyLGMpfXZhciBiPWFmO3JldHVybiBhfTsKUmU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylSZShhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9VGUoYyk7cmV0dXJuIGEmJmFbVWVdP18uYmYoYSxiLGMsXy5BYShkKT8hIWQuY2FwdHVyZTohIWQsZSk6VmUoYSxiLGMsITAsZCxlKX07Xy5jZj1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKGxldCBmPTA7ZjxiLmxlbmd0aDtmKyspXy5jZihhLGJbZl0sYyxkLGUpO2Vsc2UoZD1fLkFhKGQpPyEhZC5jYXB0dXJlOiEhZCxjPVRlKGMpLGEmJmFbVWVdKT9hLm8ucmVtb3ZlKFN0cmluZyhiKSxjLGQsZSk6YSYmKGE9V2UoYSkpJiYoYj1hLmxpc3RlbmVyc1tiLnRvU3RyaW5nKCldLGE9LTEsYiYmKGE9UWUoYixjLGQsZSkpLChjPWE+LTE/YlthXTpudWxsKSYmXy5kZihjKSl9OwpfLmRmPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciImJmEmJiFhLk5oKXt2YXIgYj1hLnNyYztpZihiJiZiW1VlXSlQZShiLm8sYSk7ZWxzZXt2YXIgYz1hLnR5cGUsZD1hLnByb3h5O2IucmVtb3ZlRXZlbnRMaXN0ZW5lcj9iLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyxkLGEuY2FwdHVyZSk6Yi5kZXRhY2hFdmVudD9iLmRldGFjaEV2ZW50KFplKGMpLGQpOmIuYWRkTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXIoZCk7JGUtLTsoYz1XZShiKSk/KFBlKGMsYSksYy5qPT0wJiYoYy5zcmM9bnVsbCxiW1hlXT1udWxsKSk6TmUoYSl9fX07WmU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW4gZWY/ZWZbYV06ZWZbYV09Im9uIithfTthZj1mdW5jdGlvbihhLGIpe2lmKGEuTmgpYT0hMDtlbHNle2I9bmV3IEtlKGIsdGhpcyk7bGV0IGM9YS5saXN0ZW5lcixkPWEuaGFuZGxlcnx8YS5zcmM7YS56aSYmXy5kZihhKTthPWMuY2FsbChkLGIpfXJldHVybiBhfTsKV2U9ZnVuY3Rpb24oYSl7YT1hW1hlXTtyZXR1cm4gYSBpbnN0YW5jZW9mIE9lP2E6bnVsbH07VGU9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2FbZmZdfHwoYVtmZl09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtmZl19O18uZ2Y9ZnVuY3Rpb24oKXtfLmFlLmNhbGwodGhpcyk7dGhpcy5vPW5ldyBPZSh0aGlzKTt0aGlzLkZhPXRoaXM7dGhpcy5NPW51bGx9O18uYmY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYS5vLmFkZChTdHJpbmcoYiksYywhMCxkLGUpfTsKaGY9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1hLm8ubGlzdGVuZXJzW1N0cmluZyhiKV07aWYoIWIpcmV0dXJuITA7Yj1iLmNvbmNhdCgpO3ZhciBlPSEwO2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7KytmKXtsZXQgaD1iW2ZdO2lmKGgmJiFoLk5oJiZoLmNhcHR1cmU9PWMpe2xldCBrPWgubGlzdGVuZXIsbD1oLmhhbmRsZXJ8fGguc3JjO2guemkmJlBlKGEubyxoKTtlPWsuY2FsbChsLGQpIT09ITEmJmV9fXJldHVybiBlJiYhZC5kZWZhdWx0UHJldmVudGVkfTtsZj1mdW5jdGlvbigpe3ZhciBhPV8uamY7a2YuaW5zdGFuY2V8fChrZi5pbnN0YW5jZT1uZXcga2YoYSkpO3JldHVybiBrZi5pbnN0YW5jZX07Cm1mPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuQj9hLkI6YS5CPW5ldyBQcm9taXNlKGFzeW5jIGM9Pnt2YXIgZD13aW5kb3cuQWJvcnRDb250cm9sbGVyP25ldyB3aW5kb3cuQWJvcnRDb250cm9sbGVyOnZvaWQgMCxlPWQ/LnNpZ25hbCxmPSExO3RyeXtkJiYoYS5qPWEuRGMucGIoKCk9PntkLmFib3J0KCl9LGJ8fDJFNCkpLGF3YWl0IGZldGNoKCIvZ2VuZXJhdGVfMjA0Iix7bWV0aG9kOiJIRUFEIixzaWduYWw6ZX0pLGY9ITB9Y2F0Y2h7Zj0hMX1maW5hbGx5e2EuQj12b2lkIDAsYS5qJiYoYS5EYy5BYShhLmopLGEuaj0wKSxmIT09YS5pc09ubGluZSYmKGEuaXNPbmxpbmU9ZixhLmlzT25saW5lP2EuZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTphLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxjKGYpfX0pfTsKbmY9ZnVuY3Rpb24oYSl7YS5EPWEuRGMucGIoYXN5bmMoKT0+e2EuaXNPbmxpbmU/d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHxhd2FpdCBtZihhKTphd2FpdCBtZihhKTtuZihhKX0sM0U0KX07b2Y9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKChjLGQpPT57YT1jO2I9ZH0pLHJlc29sdmU6YSxyZWplY3Q6Yn19O3JmPWZ1bmN0aW9uKGEpe3ZhciB7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH09b2YoKTtwZi5zZXQoYSx7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH0pO3FmfHwocWY9W10scXVldWVNaWNyb3Rhc2soKCk9Pnt2YXIgZT1bLi4ucWZdO3FmPW51bGw7dmFyIGY9Xy5WZCgpLmFmKGUpO2ZvcihsZXQgaCBvZiBlKWZbaF0udGhlbihwZi5nZXQoaCkucmVzb2x2ZSxwZi5nZXQoaCkucmVqZWN0KX0pKTtxZi5wdXNoKGEpO3JldHVybiBifTsKXy5zZj1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDQ6Y2FzZSAyMDY6Y2FzZSAzMDQ6Y2FzZSAxMjIzOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTt0Zj1mdW5jdGlvbihhLGIpe2EuQihiKTthLm88MTAwJiYoYS5vKyssYi5uZXh0PWEuaixhLmo9Yil9O3hmPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9dWYucmVtb3ZlKCk7KXt0cnl7YS5mbi5jYWxsKGEuc2NvcGUpfWNhdGNoKGIpe18uJGIoYil9dGYodmYsYSl9d2Y9ITF9O18ueWY9ZnVuY3Rpb24oYSl7YS5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITB9O3pmPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3RyeXtyZXR1cm4hIWEuJGdvb2dfVGhlbmFibGV9Y2F0Y2goYil7cmV0dXJuITF9fTsKXy5CZj1mdW5jdGlvbihhLGIpe3RoaXMuaj0wO3RoaXMuST12b2lkIDA7dGhpcy5CPXRoaXMubz10aGlzLnY9bnVsbDt0aGlzLkQ9dGhpcy5LPSExO2lmKGEhPV8uZ2QpdHJ5e2xldCBjPXRoaXM7YS5jYWxsKGIsZnVuY3Rpb24oZCl7Xy5BZihjLDIsZCl9LGZ1bmN0aW9uKGQpe18uQWYoYywzLGQpfSl9Y2F0Y2goYyl7Xy5BZih0aGlzLDMsYyl9fTtDZj1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLmNvbnRleHQ9dGhpcy5qPXRoaXMubz10aGlzLmNoaWxkPW51bGw7dGhpcy52PSExfTtfLkVmPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1EZi5nZXQoKTtkLm89YTtkLmo9YjtkLmNvbnRleHQ9YztyZXR1cm4gZH07Xy5IZj1mdW5jdGlvbihhLGIsYyl7RmYoYSxiLGMsbnVsbCl8fEdmKF8uRGEoYixhKSl9OwpfLklmPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe3ZhciBkPWEubGVuZ3RoLGU9W107aWYoZCl7dmFyIGY9ZnVuY3Rpb24obCxtKXtkLS07ZVtsXT1tO2Q9PTAmJmIoZSl9LGg9ZnVuY3Rpb24obCl7YyhsKX07Zm9yKGxldCBsPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBrPWFbbF07Xy5IZihrLF8uRGEoZixsKSxoKX19ZWxzZSBiKGUpfSl9O0tmPWZ1bmN0aW9uKGEsYixjLGQpe18uSmYoYSxfLkVmKGJ8fF8uZ2QsY3x8bnVsbCxkKSl9OwpMZj1mdW5jdGlvbihhLGIpe2lmKGEuaj09MClpZihhLnYpe3ZhciBjPWEudjtpZihjLm8pe3ZhciBkPTAsZT1udWxsLGY9bnVsbDtmb3IobGV0IGg9Yy5vO2gmJihoLnZ8fChkKyssaC5jaGlsZD09YSYmKGU9aCksIShlJiZkPjEpKSk7aD1oLm5leHQpZXx8KGY9aCk7ZSYmKGMuaj09MCYmZD09MT9MZihjLGIpOihmPyhkPWYsZC5uZXh0PT1jLkImJihjLkI9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTpNZihjKSxOZihjLGUsMyxiKSkpfWEudj1udWxsfWVsc2UgXy5BZihhLDMsYil9O18uSmY9ZnVuY3Rpb24oYSxiKXthLm98fGEuaiE9MiYmYS5qIT0zfHxPZihhKTthLkI/YS5CLm5leHQ9YjphLm89YjthLkI9Yn07ClFmPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPV8uRWYobnVsbCxudWxsLG51bGwpO2UuY2hpbGQ9bmV3IF8uQmYoZnVuY3Rpb24oZixoKXtlLm89Yj9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yi5jYWxsKGQsayk7ZihsKX1jYXRjaChsKXtoKGwpfX06ZjtlLmo9Yz9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yy5jYWxsKGQsayk7bD09PXZvaWQgMCYmayBpbnN0YW5jZW9mIF8uUGY/aChrKTpmKGwpfWNhdGNoKGwpe2gobCl9fTpofSk7ZS5jaGlsZC52PWE7Xy5KZihhLGUpO3JldHVybiBlLmNoaWxkfTtfLkFmPWZ1bmN0aW9uKGEsYixjKXthLmo9PTAmJihhPT09YyYmKGI9MyxjPW5ldyBUeXBlRXJyb3IoIlEiKSksYS5qPTEsRmYoYyxhLm5CLGEub0IsYSl8fChhLkk9YyxhLmo9YixhLnY9bnVsbCxPZihhKSxiIT0zfHxjIGluc3RhbmNlb2YgXy5QZnx8UmYoYSxjKSkpfTsKRmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSBpbnN0YW5jZW9mIF8uQmYpcmV0dXJuIEtmKGEsYixjLGQpLCEwO2lmKHpmKGEpKXJldHVybiBhLnRoZW4oYixjLGQpLCEwO2lmKF8uQWEoYSkpdHJ5e2xldCBlPWEudGhlbjtpZih0eXBlb2YgZT09PSJmdW5jdGlvbiIpcmV0dXJuIFNmKGEsZSxiLGMsZCksITB9Y2F0Y2goZSl7cmV0dXJuIGMuY2FsbChkLGUpLCEwfXJldHVybiExfTtTZj1mdW5jdGlvbihhLGIsYyxkLGUpe2Z1bmN0aW9uIGYobCl7a3x8KGs9ITAsZC5jYWxsKGUsbCkpfWZ1bmN0aW9uIGgobCl7a3x8KGs9ITAsYy5jYWxsKGUsbCkpfXZhciBrPSExO3RyeXtiLmNhbGwoYSxoLGYpfWNhdGNoKGwpe2YobCl9fTtPZj1mdW5jdGlvbihhKXthLkt8fChhLks9ITAsR2YoYS50dCxhKSl9O01mPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7YS5vJiYoYj1hLm8sYS5vPWIubmV4dCxiLm5leHQ9bnVsbCk7YS5vfHwoYS5CPW51bGwpO3JldHVybiBifTsKTmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYz09MyYmYi5qJiYhYi52KWZvcig7YSYmYS5EO2E9YS52KWEuRD0hMTtpZihiLmNoaWxkKWIuY2hpbGQudj1udWxsLFRmKGIsYyxkKTtlbHNlIHRyeXtiLnY/Yi5vLmNhbGwoYi5jb250ZXh0KTpUZihiLGMsZCl9Y2F0Y2goZSl7Xy5VZi5jYWxsKG51bGwsZSl9dGYoRGYsYil9O1RmPWZ1bmN0aW9uKGEsYixjKXtiPT0yP2Euby5jYWxsKGEuY29udGV4dCxjKTphLmomJmEuai5jYWxsKGEuY29udGV4dCxjKX07UmY9ZnVuY3Rpb24oYSxiKXthLkQ9ITA7R2YoZnVuY3Rpb24oKXthLkQmJl8uVWYuY2FsbChudWxsLGIpfSl9O18uUGY9ZnVuY3Rpb24oYSl7Xy5MYS5jYWxsKHRoaXMsYSl9O1dmPWZ1bmN0aW9uKGEpe3JldHVybiBWZihhKS50aGVuKGZ1bmN0aW9uKGIpe3JldHVybiBKU09OLnBhcnNlKGIucmVzcG9uc2VUZXh0KX0pfTsKVmY9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYz1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuKG5ldyBfLkJmKGZ1bmN0aW9uKGQsZSl7dmFyIGY7dHJ5e2Mub3BlbigiR0VUIixhLCEwKX1jYXRjaChoKXtlKG5ldyBYZigiRXJyb3Igb3BlbmluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfWMub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoYy5yZWFkeVN0YXRlPT00KXtfLnUuY2xlYXJUaW1lb3V0KGYpO3ZhciBoOyEoaD1fLnNmKGMuc3RhdHVzKSkmJihoPWMuc3RhdHVzPT09MCkmJihoPV8uT2IoYSksaD0hKGg9PSJodHRwInx8aD09Imh0dHBzInx8aD09IiIpKTtoP2QoYyk6ZShuZXcgWWYoYy5zdGF0dXMsYSxjKSl9fTtjLm9uZXJyb3I9ZnVuY3Rpb24oKXtlKG5ldyBYZigiTmV0d29yayBlcnJvciIsYSxjKSl9O2lmKGIuaGVhZGVycylmb3IobGV0IGggaW4gYi5oZWFkZXJzKXtsZXQgaz1iLmhlYWRlcnNbaF07ayE9bnVsbCYmYy5zZXRSZXF1ZXN0SGVhZGVyKGgsayl9Yi53aXRoQ3JlZGVudGlhbHMmJgooYy53aXRoQ3JlZGVudGlhbHM9Yi53aXRoQ3JlZGVudGlhbHMpO2IucmVzcG9uc2VUeXBlJiYoYy5yZXNwb25zZVR5cGU9Yi5yZXNwb25zZVR5cGUpO2IubWltZVR5cGUmJmMub3ZlcnJpZGVNaW1lVHlwZShiLm1pbWVUeXBlKTtiLnRpbWVvdXRNcz4wJiYoZj1fLnUuc2V0VGltZW91dChmdW5jdGlvbigpe2Mub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57fTtjLmFib3J0KCk7ZShuZXcgWmYoYSxjKSl9LGIudGltZW91dE1zKSk7dHJ5e2Muc2VuZChudWxsKX1jYXRjaChoKXtjLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e30sXy51LmNsZWFyVGltZW91dChmKSxlKG5ldyBYZigiRXJyb3Igc2VuZGluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfX0pKS5LZyhmdW5jdGlvbihkKXtkIGluc3RhbmNlb2YgXy5QZiYmYy5hYm9ydCgpO3Rocm93IGQ7fSl9O1hmPWZ1bmN0aW9uKGEsYil7Xy5MYS5jYWxsKHRoaXMsYSsiLCB1cmw9IitiKTt0aGlzLnVybD1ifTsKWWY9ZnVuY3Rpb24oYSxiLGMpe1hmLmNhbGwodGhpcywiUmVxdWVzdCBGYWlsZWQsIHN0YXR1cz0iK2EsYixjKTt0aGlzLnN0YXR1cz1hfTtaZj1mdW5jdGlvbihhLGIpe1hmLmNhbGwodGhpcywiUmVxdWVzdCB0aW1lZCBvdXQiLGEsYil9O18uJGY9ZnVuY3Rpb24oYSxiLGMsZCxlPWIpe3ZhciBmPWIubGVuZ3RoLGg9KCk9PntmPTA7YS5vbmxvYWQ9bnVsbDthLm9uZXJyb3I9bnVsbDtrPSgpPT57fX0saz0oKT0+e2goKTt2YXIgbT1lLmZpbHRlcihuPT4hXy5WZCgpLkxhKG4pLmlzTG9hZGVkKCkpO20ubGVuZ3RoIT09MD9kKG0sYFJlc3BvbnNlIHdhcyBzdWNjZXNzZnVsIGJ1dCB3YXMgbWlzc2luZyBtb2R1bGUocykgJHttfS5gKTpjKCl9LGw9KCk9PntmLS07Zj09MCYmaygpfTtiLmZvckVhY2gobT0+e209Xy5WZCgpLkxhKG0pO20uaXNMb2FkZWQoKT9sKCk6KGZlKG0sbCksaGUobSxsKSl9KTthLm9ubG9hZD0oKT0+aygpO2Eub25lcnJvcj0oKT0+e2goKTtkKGIpfX07Cl8uYWc9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMSxkPVtdO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7KytlKXtsZXQgZj1iW2VdO2EuQltmXXx8KGEuQltmXT0hMCxhLloucHVzaChmKSxjPSEwLGQucHVzaChmKSl9YyYmKGEub2E9ITEpfTtiZz1mdW5jdGlvbihhLGIpe2lmKGIuaHJlZnx8Yi5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKWlmKGI9Yi5ocmVmfHxiLmdldEF0dHJpYnV0ZSgiZGF0YS1ocmVmIikscmUoYikmJiFxZShiKS5vLmVuZHNXaXRoKCJfL2pzLyIpKXtiPXllKHFlKGIpKTtmb3IobGV0IGMgb2YgYilhLmhhLmluY2x1ZGVzKGMpfHxhLmhhLnB1c2goYyl9fTtkZz1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPSgpPT57fSxmPSExKXtjZyhhLGIsKGgsayxsPWspPT57YS5NYSYmZj9hLlFhKGgsayxkLGUsbCk6YS5sb2FkKGgsayxkLGUsbCxjKX0sYyl8fGQoLTEpfTtlZz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmZpbHRlcihjPT4hYS5CW2NdKX07CmZnPWZ1bmN0aW9uKGEsYixjLHtZZDpkLG9uRXJyb3I6ZSxvblN1Y2Nlc3M6Zixmb3JjZVJlbG9hZDpofT17fSl7YS5NPWM7aWYoIWIpdGhyb3cgRXJyb3IoIlMiKTtpZihhLlZkKXtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN0eWxlIikpYmcoYSxrKTtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKSliZyhhLGspfWRnKGEsZWcoYSxiKSxkLGUsZixoKX07CmNnPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEudilyZXR1cm4gYS52LnRoZW4oKCk9PntjZyhhLGIsYyxkKX0pLCEwO2lmKCFhLkQpe2xldCBmPVtdO3ZhciBlPU9iamVjdC5hc3NpZ24oe30sYS5CKTtnZyhhLGIsaD0+e2YucHVzaChoLmdldElkKCkpfSxkLGg9PiFoLmlzTG9hZGVkKCksZSk7Yj1mfWZvcihlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWIubGVuZ3RoLWUsaD1lPT0wP2I6Yi5zbGljZShlLGIubGVuZ3RoKSxrPWhnKGEsaCxkKSxsPV8uVWEoaykudG9TdHJpbmcoKTtmb3IoO2wubGVuZ3RoPmEuZGk7KWlmKGY+MSlmLT1NYXRoLmNlaWwoKGwubGVuZ3RoLWEuZGkpLzYpLGY9TWF0aC5tYXgoZiwxKSxoPWIuc2xpY2UoZSxlK2YpLGs9aGcoYSxoLGQpLGw9Xy5VYShrKS50b1N0cmluZygpO2Vsc2UgcmV0dXJuIGEuRD8oYS5EPSExLGEudj1pZyhhKS50aGVuKG09PntqZyhhLG0sZCl9KSxjZyhhLGIuc2xpY2UoZSksYyxkKSk6ITE7ZSs9ZjthLkQ/YyhrLGgpOmMoayxoLGU9PT1iLmxlbmd0aD8KYjpbXSl9cmV0dXJuITB9O2tnPWZ1bmN0aW9uKGEpe2Eub2F8fChhLm9hPSEwLGEuWi5zb3J0KCkpO3JldHVybiBhLlp9O2xnPWZ1bmN0aW9uKGEpe2E9YS5oYTthLnNvcnQoKTtyZXR1cm4gYX07aGc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLkQ/bWcoYS5ZLGIse2Nzc1Jvd0tleTphLkZhLEtlOmEueWEsWWQ6YyxtbjprZyhhKSxsbjpsZyhhKX0pOm5nKGEuWSxiLHtjc3NSb3dLZXk6YS5GYSxLZTphLnlhLG1uOmtnKGEpLGxuOmxnKGEpfSl9O18ub2c9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoOysrZCl7bGV0IGU9YltkXTthLkJbZV0mJihkZWxldGUgYS5CW2VdLF8ueGIoYS5aLGUpLGMucHVzaChlKSl9fTsKXy5wZz1mdW5jdGlvbihhLGIsYyxkLGUsZixoPWQpe2EuST1jO2EuZ2EuaW5zZXJ0QmVmb3JlKGMsYS5nYS5maXJzdENoaWxkKTtfLiRmKGMsZCwoKT0+e2MucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChjKTthLkk9PWMmJihhLkk9bnVsbCk7ZigpfSxrPT57Yy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGMpO2EuST09YyYmKGEuST1udWxsKTtfLm9nKGEsayk7YS52P2Eudi50aGVuKCgpPT57ZSgtMSxiKX0pOmUoLTEsYil9LGgpfTtnZz1mdW5jdGlvbihhLGIsYyxkLGUsZj17fSl7dmFyIGg9Xy5WZCgpO2ZvcihsZXQgayBvZiBiKXtiPWguTGEoayk7aWYoZltrXXx8ZSYmIWUoYikpY29udGludWU7ZltrXT0hMDtsZXQgbD1iLmp8fFtdO2lmKGQpe2xldCBtPVtdO2lmKGQgaW5zdGFuY2VvZiBNYXApe2xldCBuPWQuZ2V0KGspO24mJihtPUFycmF5LmZyb20obikpfWVsc2UgZFtrXSYmKG09T2JqZWN0LmtleXMoZFtrXSkpO2w9bC5jb25jYXQobSl9Z2coYSxsLGMsZCxlLGYpO2MoYil9fTsKaWc9ZnVuY3Rpb24oYSl7YT1hLlkuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwibWQiLCIxIik7cmV0dXJuIFdmKGEudG9TdHJpbmcoKSl9O2pnPWZ1bmN0aW9uKGEsYixjKXtfLlZkKCkuVGgoKGJ8fHt9KS5tb2R1bGVHcmFwaCk7Z2coYSxrZyhhKSxkPT57Xy5hZyhhLFtkLmdldElkKCldKX0sYyk7YS52PW51bGx9O3JnPWZ1bmN0aW9uKGEpe2E9YS5idWYuY2hhckNvZGVBdChhLnBvcysrKTtyZXR1cm4gcWdbYV19O3NnPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz0wO2Rve3ZhciBkPXJnKGEpO2J8PShkJjMxKTw8YztjKz01fXdoaWxlKGQmMzIpO3JldHVybiBiPDA/Yis0Mjk0OTY3Mjk2OmJ9O3RnPWZ1bmN0aW9uKGEsYil7dGhpcy5EPVtdO3RoaXMuWj1hO3RoaXMuVT1ifHxudWxsO3RoaXMuQj10aGlzLmo9ITE7dGhpcy52PXZvaWQgMDt0aGlzLk09dGhpcy5nYT10aGlzLkk9ITE7dGhpcy5LPTA7dGhpcy5vPW51bGw7dGhpcy5ZPTB9Owp2Zz1mdW5jdGlvbihhLGIsYyl7YS5qPSEwO2Eudj1jO2EuQj0hYjt1ZyhhKX07eGc9ZnVuY3Rpb24oYSl7aWYoYS5qKXtpZighYS5NKXRocm93IG5ldyB3ZyhhKTthLk09ITF9fTt6Zz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmo7ZXx8KGI9PT1jP2I9Yz0oMCxfLnlnKShiKTooYj0oMCxfLnlnKShiKSxjPSgwLF8ueWcpKGMpKSk7YS5ELnB1c2goW2IsYyxkXSk7ZSYmdWcoYSl9O0FnPWZ1bmN0aW9uKGEpe3JldHVybiBfLnViKGEuRCxmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGJbMV09PT0iZnVuY3Rpb24ifSl9Owp1Zz1mdW5jdGlvbihhKXtpZihhLksmJmEuaiYmQWcoYSkpe3ZhciBiPWEuSyxjPUJnW2JdO2MmJihfLnUuY2xlYXJUaW1lb3V0KGMuaiksZGVsZXRlIEJnW2JdKTthLks9MH1hLm8mJihhLm8uWS0tLGRlbGV0ZSBhLm8pO2I9YS52O2Zvcih2YXIgZD1jPSExO2EuRC5sZW5ndGgmJiFhLkk7KXt2YXIgZT1hLkQuc2hpZnQoKSxmPWVbMF07bGV0IGs9ZVsxXTtlPWVbMl07aWYoZj1hLkI/azpmKXRyeXt2YXIgaD1mLmNhbGwoZXx8YS5VLGIpO2g9PT1DZyYmKGg9dm9pZCAwKTtoIT09dm9pZCAwJiYoYS5CPWEuQiYmKGg9PWJ8fGEuaXNFcnJvcihoKSksYS52PWI9aCk7aWYoemYoYil8fHR5cGVvZiBfLnUuUHJvbWlzZT09PSJmdW5jdGlvbiImJmIgaW5zdGFuY2VvZiBfLnUuUHJvbWlzZSlkPSEwLGEuST0hMH1jYXRjaChsKXtiPWwsYS5CPSEwLEFnKGEpfHwoYz0hMCl9fWEudj1iO2QmJihoPSgwLF8uQ2EpKGEuc3AsYSwhMCksZD0oMCxfLkNhKShhLnNwLGEsITEpLGIgaW5zdGFuY2VvZiB0Zz8KKHpnKGIsaCxkKSxiLmdhPSEwKTpiLnRoZW4oaCxkKSk7YyYmKGI9bmV3IERnKGIpLEJnW2Iual09YixhLks9Yi5qKX07RWc9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRnO2EudGhlbihmdW5jdGlvbihjKXtiLmNhbGxiYWNrKGMpfSxmdW5jdGlvbihjKXt4ZyhiKTt2ZyhiLCExLGMpfSk7cmV0dXJuIGJ9O3dnPWZ1bmN0aW9uKCl7Xy5MYS5jYWxsKHRoaXMpfTtGZz1mdW5jdGlvbigpe18uTGEuY2FsbCh0aGlzKX07RGc9ZnVuY3Rpb24oYSl7dGhpcy5qPV8udS5zZXRUaW1lb3V0KCgwLF8uQ2EpKHRoaXMudGhyb3dFcnJvcix0aGlzKSwwKTt0aGlzLm89YX07CkhnPWZ1bmN0aW9uKGEpe3N3aXRjaChhLnR5cGUpe2Nhc2UgR2cuVHlwZS5wbzpyZXR1cm4iVW5hdXRob3JpemVkIjtjYXNlIEdnLlR5cGUucGs6cmV0dXJuIkNvbnNlY3V0aXZlIGxvYWQgZmFpbHVyZXMiO2Nhc2UgR2cuVHlwZS5USU1FT1VUOnJldHVybiJUaW1lZCBvdXQiO2Nhc2UgR2cuVHlwZS5obzpyZXR1cm4iT3V0IG9mIGRhdGUgbW9kdWxlIGlkIjtjYXNlIEdnLlR5cGUudWs6cmV0dXJuIkluaXQgZXJyb3IiO2RlZmF1bHQ6cmV0dXJuYFVua25vd24gZmFpbHVyZSB0eXBlICR7YS50eXBlfWB9fTsKSWc9ZnVuY3Rpb24oKXt0aGlzLmhhPXRoaXMuWT1udWxsO3RoaXMuRD1uZXcgTWFwO3RoaXMuQj1uZXcgU2V0O3RoaXMuSz1bXTt0aGlzLlU9bmV3IFNldDt0aGlzLnY9W107dGhpcy5JPW5ldyBTZXQ7dGhpcy5qPUFlP25ldyBNYXA6e307dGhpcy5NPW5ldyBNYXA7dGhpcy5vPXRoaXMuWj1uZXcgdmEuT2coW10sIiIpO3RoaXMueWE9bnVsbDt0aGlzLmdhPW5ldyB0Zzt0aGlzLkZhPXRoaXMuUWE9dGhpcy5NYT10aGlzLm9hPSExfTtKZz1mdW5jdGlvbihhLGIpe18uTGEuY2FsbCh0aGlzLGBFcnJvciBsb2FkaW5nICR7YX06ICR7Yn1gKX07Ck9nPWZ1bmN0aW9uKGEsYil7aWYoIUtnKXtmb3IodmFyIGM9MDtjPDY0O2MrKylxZ1siQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckNvZGVBdChjKV09YztLZz0hMH1iPXtidWY6Yixwb3M6Mn07c2coYik7Yz1zZyhiKTt2YXIgZD1zZyhiKSsxLGU9QXJyYXkoYyksZj1BcnJheShjKSxoPUFycmF5KGMpO2Q9QXJyYXkoZCk7dmFyIGs9MCxsPTAsbT1iLmJ1ZixuPWIucG9zLHA9Yi5idWYuaW5kZXhPZigifCIsYi5wb3MpO2IucG9zPXArMTtmb3IocD0wO3A8YztwKyspe3ZhciByPXNnKGIpLHQ9ciYyLHY9ciYxO3I+Pj49Mjt2PyhrKz1yPj4+MV4tKHImMSkscj0ic3kiK2sudG9TdHJpbmcoMzYpKToodj1uLG4rPXIscj1tLnN1YnN0cmluZyh2LG4pKTtlW3BdPXI7dCYmKGRbbCsrXT1yKX1kW2xdPSIiO2IucG9zKys7bD1jJi0yO2s9YyYxO2ZvcihtPTA7bTxsO20rPTIpbj1yZyhiKSxoW21dPW4mNyxoW20rMV09Cm4+Pj4zJjc7ayYmKGs9cmcoYiksaFtsXT1rJjcpO2IucG9zKys7Zm9yKGw9MDtsPGM7bCsrKWhbbF09PT03JiYoaFtsXT1zZyhiKSk7Yi5wb3MrKztsPTA7Zm9yKGs9MDtrPGM7aysrKXttPWhba107bj1tPT09MD9MZzpBcnJheShtKTtmW2tdPW47cD1sO2Zvcih0PTA7dDxtO3QrKylwLT1zZyhiKSxuW3RdPWRbcF07ZFtsXT09PWVba10mJmwrK312YXIge2lkczp6LGRlcGVuZGVuY2llczpFfT17aWRzOmUsZGVwZW5kZW5jaWVzOmZ9O2ZvcihiPTA7Yjx6Lmxlbmd0aDtiKyspTmcoYSx6W2JdLEVbYl0pO2EuaGE9en07Umc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NYSxjPWEuaXNBY3RpdmUoKTtjIT1iJiYoUGcoYSxjP1FnLk1zOlFnLklETEUpLGEuTWE9Yyk7Yj1hLkZxKCk7YiE9YS5RYSYmKFBnKGEsYj9RZy5odTpRZy5pdSksYS5RYT1iKX07Tmc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuRC5nZXQoYik7ZD9kLmo9YzphLkQuc2V0KGIsbmV3IHZhLk9nKGMsYikpfTsKVGc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW5ldyBTZXQoYik7Yj1bXTt2YXIgZT17fTtmb3IobGV0IGYgb2YgZCl7ZD1hLkxhKGYpO2lmKCFkKXRocm93IEVycm9yKCJVYCIrZik7bGV0IGg9bmV3IHRnO2VbZl09aDtkLmlzTG9hZGVkKCk/aC5jYWxsYmFjayhudWxsKTooU2coYSxmLGQsISFjLGgpLGEudWgoZil8fGIucHVzaChmKSl9Yi5sZW5ndGg+MCYmKGEuQi5zaXplPT09MD9hLnNqKGIpOihhLnYucHVzaChiKSxSZyhhKSkpO3JldHVybiBlfTtTZz1mdW5jdGlvbihhLGIsYyxkLGUpe2dlKGMsZS5jYWxsYmFjayxlKTtoZShjLGZ1bmN0aW9uKGYpe2Y9bmV3IEpnKGIsZik7eGcoZSk7dmcoZSwhMSxmKX0pO2EudWgoYik/ZCYmKGEuSS5hZGQoYiksUmcoYSkpOmQmJmEuSS5hZGQoYil9OwpVZz1mdW5jdGlvbihhLGIpe2lmKCFhLm8uaGFzKGIpJiYoYS5vLmFkZChiKSwhYS5qLlUuaGFzKGIpKSl7dmFyIGM9YS5qLkxhKGIpO2lmKGMmJiFjLmlzTG9hZGVkKCkpe2M9Yy5qO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKVVnKGEsY1tkXSk7YS5yZXN1bHQucHVzaChiKX19fTtZZz1mdW5jdGlvbihhLGIpe2I9Yi5maWx0ZXIoZT0+YS5ELmdldChlKS5pc0xvYWRlZCgpPyhfLnUuc2V0VGltZW91dCgoKT0+RXJyb3IoIlhgIitlKSwwKSwhMSk6ITApO2lmKFZnKXt2YXIgYz1uZXcgV2coYSk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspVWcoYyxiW2RdKTtjPWMucmVzdWx0fWVsc2V7Yz1bXTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKWM9Yy5jb25jYXQoWGcoYSxiW2RdKSk7QWIoYyl9cmV0dXJuIWEub2EmJmMubGVuZ3RoPjE/KGI9Yy5zaGlmdCgpLGEudj1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZV19KS5jb25jYXQoYS52KSxbYl0pOmN9OwpYZz1mdW5jdGlvbihhLGIpe2lmKFZnKXJldHVybiBhPW5ldyBXZyhhKSxVZyhhLGIpLGEucmVzdWx0O3ZhciBjPVtdO2EuVS5oYXMoYil8fGMucHVzaChiKTtiPVtiXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YS5MYShiW2RdKS5qO2ZvcihsZXQgZj1lLmxlbmd0aC0xO2Y+PTA7Zi0tKXtsZXQgaD1lW2ZdO2EuTGEoaCkuaXNMb2FkZWQoKXx8YS5VLmhhcyhoKXx8KGMucHVzaChoKSxiLnB1c2goaCkpfX1jLnJldmVyc2UoKTtBYihjKTtyZXR1cm4gY307CmJoPWZ1bmN0aW9uKGEsYixjLGQsZSxmPTAsaD0hMSl7dmFyIGs9aD8wOmYrMTtmPV8ueWIoYyk7YS5LPWI7Zm9yKGxldCBsIG9mIGMpYS5VLmRlbGV0ZShsKTtpZihkPT00MDEpWmcoYSxuZXcgdmEub2IodmEub2IuVHlwZS5wbyxkKSksYS52Lmxlbmd0aD0wO2Vsc2UgaWYoZD09NDEwKSRnKGEsbmV3IHZhLm9iKHZhLm9iLlR5cGUuaG8sZCkpLGFoKGEpO2Vsc2UgaWYoaz49MylbLi4uYS5CXSwkZyhhLG5ldyB2YS5vYih2YS5vYi5UeXBlLnBrLGQsZixlKSksYWgoYSk7ZWxzZXtbLi4uYS5CXTtsZXQgbD1kPT04MDAxfHwhMTsoYz1NYXRoLnBvdyhrLDIpKjVFMyk/Xy51LnNldFRpbWVvdXQoKCk9PnthLnNqKGIsayxsKX0sYyk6YS5zaihiLGssbCl9fTskZz1mdW5jdGlvbihhLGIpe2EuSy5sZW5ndGg+MT9hLnY9YS5LLm1hcChmdW5jdGlvbihjKXtyZXR1cm5bY119KS5jb25jYXQoYS52KTpaZyhhLGIpfTsKWmc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLks7YS5CLmNsZWFyKCk7dmFyIGQ9W107Zm9yKHZhciBlPTA7ZTxhLnYubGVuZ3RoO2UrKyl7dmFyIGY9YS52W2VdLmZpbHRlcihmdW5jdGlvbihoKXt2YXIgaz1YZyh0aGlzLGgpO3JldHVybiBfLnViKGMsZnVuY3Rpb24obCl7cmV0dXJuIF8uc2IoayxsKT49MH0pfSxhKTt6YihkLGYpfWZvcihlPTA7ZTxjLmxlbmd0aDtlKyspd2IoZCxjW2VdKTtmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKXtmb3IoZj0wO2Y8YS52Lmxlbmd0aDtmKyspXy54YihhLnZbZl0sZFtlXSk7YS5JLmRlbGV0ZShkW2VdKX1pZihlPWEuTS5nZXQoUWcuRVJST1IpKWZvcihmPTA7ZjxlLmxlbmd0aDtmKyspe2xldCBoPWVbZl07Zm9yKGxldCBrPTA7azxkLmxlbmd0aDtrKyspaChRZy5FUlJPUixkW2tdLGIpfWZvcihkPTA7ZDxjLmxlbmd0aDtkKyspaWYoZT1hLkQuZ2V0KGNbZF0pKWUub25FcnJvcihiKTthLksubGVuZ3RoPTA7UmcoYSl9OwphaD1mdW5jdGlvbihhKXtmb3IoO2Eudi5sZW5ndGg7KXtsZXQgYj1hLnYuc2hpZnQoKS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIXRoaXMuTGEoYykuaXNMb2FkZWQoKX0sYSk7aWYoYi5sZW5ndGg+MCl7YS5zaihiKTtyZXR1cm59fVJnKGEpfTtQZz1mdW5jdGlvbihhLGIpe2E9YS5NLmdldChiKTtmb3IobGV0IGM9MDthJiZjPGEubGVuZ3RoO2MrKylhW2NdKGIpfTtjaD1mdW5jdGlvbihhLGIsYyxkLGUpe2ZvcihsZXQgZiBvZiBiKWI9YS5MYShmKSwhZS5oYXMoZikmJmQoYikmJihlLmFkZChmKSxjaChhLGIuanx8W10sYyxkLGUpLGMoYikpfTsKZmg9ZnVuY3Rpb24oKXt2YXIgYT17RXU6IkJBVENIIn0sYj1hLmNzc1Jvd0tleXx8IiIsYz1hLktlfHwiIjshYS54SSYmIWImJndpbmRvdyYmd2luZG93Ll9GX2Nzc1Jvd0tleSYmKGI9d2luZG93Ll9GX2Nzc1Jvd0tleSwhYyYmd2luZG93Ll9GX2NvbWJpbmVkU2lnbmF0dXJlJiYoYz13aW5kb3cuX0ZfY29tYmluZWRTaWduYXR1cmUpKTtpZighYS5jc3NSb3dLZXkmJmImJnR5cGVvZiB3aW5kb3cuX0ZfaW5zdGFsbENzcyE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoIloiKTt2YXIgZD1hLk5KfHxfLmRoLGU9RWUoImJhc2UtanMiKTtiPW5ldyBkKEdiKEZlKCIiLGUpKSxiLGMsITAsITEpO2M9YS5wTHx8ZSYmZS5oYXNBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik7ZT1hLmxJfHxlJiZlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKTtjJiYoYi5maT1jKTtlJiYoYi5XZz1lKTthLmRpJiYoYi5kaT1hLmRpKTthLmZldGNoUHJpb3JpdHkmJihiLmZldGNoUHJpb3JpdHk9YS5mZXRjaFByaW9yaXR5KTsKdmFyIGY9Xy5WZCgpO2YuWT1iO2YuUnIoITApO18uZWg9YS5FdT09PSJCQVRDSCI/cmY6aD0+UHJvbWlzZS5yZXNvbHZlKGYubG9hZChoKSl9O2loPWZ1bmN0aW9uKGEsYil7Yj1iLmZpbHRlcihjPT4hYS51aChjKSYmIWEuTGEoYykuaXNMb2FkZWQoKSk7Yi5sZW5ndGg+MCYmKGdoKGEsLi4uYiksYS5LLnB1c2goYiksaGgoYSkpfTtqaD1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgXy5CZigoYyxkKT0+e3ZhciBlPWEuTGEoYik7ZS5pc0xvYWRlZCgpP2MobnVsbCk6KGdlKGUsKCk9PntjKG51bGwpfSksaGUoZSxmPT57dmFyIGg9YEVycm9yIGxvYWRpbmcgJHtifTogJHtmfWA7ZiBpbnN0YW5jZW9mIHZhLm9iJiZmLnVybCYmKGg9YCR7aH0sIHJlcXVlc3RlZCB1cmw6ICR7Zi51cmwudG9TdHJpbmcoKX1gKTtkKEVycm9yKGgpKX0pKX0pfTsKa2g9ZnVuY3Rpb24oYSxiLGMsZD0oKT0+ITAsZT17fSl7Zm9yKGxldCBmIG9mIGIpYj1hLkxhKGYpLCFlW2ZdJiZkKGIpJiYoZVtmXT0hMCxraChhLGIuanx8W10sYyxkLGUpLGMoYikpfTtsaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57ZGVsZXRlIGEuRFtjXX0pfTtnaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57YS5EW2NdPSEwfSl9OwpoaD1mdW5jdGlvbihhKXtmb3IoO2EuQjxJbmZpbml0eSYmYS5LLmxlbmd0aD4wOyl7bGV0IGI9YS5LLnNoaWZ0KCkuZmlsdGVyKGM9PiFhLkxhKGMpLmlzTG9hZGVkKCkpO2lmKGIubGVuZ3RoPjApe2EuQisrO2xldCBjPSgpPT57YS5CLS07aGgoYSk7Yz0oKT0+e319O18uSWYoYi5tYXAoZj0+amgoYSxmKSkpLnRoZW4oKCk9PntjKCl9KTtsZXQgZD0wLGU9KCk9PntpZigoYS5qIGluc3RhbmNlb2YgTWFwP2Euai5zaXplPjA6T2JqZWN0LmtleXMoYS5qKS5sZW5ndGg+MCkmJiFhLlkuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLlksYixhLnYse1lkOmEuaixvbkVycm9yOihmLGgpPT57dmFyIGs9bWhbZCsrXTtrIT09dm9pZCAwP3NldFRpbWVvdXQoKCk9PntlKCl9LGspOihsaChhLC4uLmIpLGMoKSxiLmZvckVhY2gobD0+e2w9YS5MYShsKTtpZighbC5pc0xvYWRlZCgpKWwub25FcnJvcihuZXcgdmEub2IodmEub2IuVHlwZS5wayxmLGIsaCkpfSkpfX0pfTtlKCl9fX07Cm5oPWZ1bmN0aW9uKGEpe2Euaj09PS0xJiYoYS5qPWEuZGF0YS5yZWR1Y2UoKGIsYyxkKT0+YisoYz8yKipkOjApLDApKTtyZXR1cm4gYS5qfTtfLm9oPWZ1bmN0aW9uKCl7fTtfLnNoPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBwaHx8YSBpbnN0YW5jZW9mIHFofHxhIGluc3RhbmNlb2YgcmgpcmV0dXJuIGE7aWYodHlwZW9mIGEubmV4dD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hKTtpZih0eXBlb2YgYVtTeW1ib2wuaXRlcmF0b3JdPT0iZnVuY3Rpb24iKXJldHVybiBuZXcgcGgoKCk9PmFbU3ltYm9sLml0ZXJhdG9yXSgpKTtpZih0eXBlb2YgYS5iZD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hLmJkKCkpO3Rocm93IEVycm9yKCIkIik7fTtfLnRoPWZ1bmN0aW9uKGEpe18uYWUuY2FsbCh0aGlzKTt0aGlzLkQ9MTt0aGlzLnY9W107dGhpcy5CPTA7dGhpcy5qPVtdO3RoaXMubz17fTt0aGlzLkk9ISFhfTsKdWg9ZnVuY3Rpb24oYSxiLGMpe0dmKGZ1bmN0aW9uKCl7YS5hcHBseShiLGMpfSl9O3ZoPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfTt3aD1mdW5jdGlvbihhKXt0aGlzLmo9YX07eGg9ZnVuY3Rpb24oYSl7dGhpcy5kYXRhPWF9O3loPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09dm9pZCAwfHxhIGluc3RhbmNlb2YgeGg/YTpuZXcgeGgoYSl9O18uemg9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O0FoPWZ1bmN0aW9uKCl7fTtCaD1mdW5jdGlvbigpe307Q2g9ZnVuY3Rpb24oYSl7dGhpcy5qPWE7dGhpcy5vPW51bGx9O0RoPWZ1bmN0aW9uKGEpe2lmKGEuaj09bnVsbCl0aHJvdyBFcnJvcigiYWEiKTthLmlzQXZhaWxhYmxlKCl8fF8uJGIoRXJyb3IoImFhIikpfTtFaD1mdW5jdGlvbigpe3ZhciBhPW51bGw7dHJ5e2E9Xy51LmxvY2FsU3RvcmFnZXx8bnVsbH1jYXRjaChiKXt9Q2guY2FsbCh0aGlzLGEpfTtGaD1mdW5jdGlvbihhLGIpe3RoaXMubz1hO3RoaXMuaj1iKyI6OiJ9OwpfLkdoPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBFaDtyZXR1cm4gYi5pc0F2YWlsYWJsZSgpP2E/bmV3IEZoKGIsYSk6YjpudWxsfTsKSWg9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPWEubGVuZ3RoLGU9MDtmb3IoYj0wO2I8ZDtiKyspe3ZhciBmPWEuY2hhckNvZGVBdChiKTtpZigoZiY2NDUxMik9PT01NTI5NiYmYisxPGQpe3ZhciBoPWEuY2hhckNvZGVBdChiKzEpOyhoJjY0NTEyKT09PTU2MzIwJiYoZj02NTUzNisoZi01NTI5Njw8MTApKyhoLTU2MzIwKSxiKyspfWUrPWY8MTI4PzE6ZjwyMDQ4PzI6Zjw2NTUzNj8zOjR9dmFyIGs9bmV3IEhoLnRmKGUpO2ZvcihiPWM9MDtjPGU7YisrKWY9YS5jaGFyQ29kZUF0KGIpLChmJjY0NTEyKT09PTU1Mjk2JiZiKzE8ZCYmKGg9YS5jaGFyQ29kZUF0KGIrMSksKGgmNjQ1MTIpPT09NTYzMjAmJihmPTY1NTM2KyhmLTU1Mjk2PDwxMCkrKGgtNTYzMjApLGIrKykpLGY8MTI4P2tbYysrXT1mOihmPDIwNDg/a1tjKytdPTE5MnxmPj4+NjooZjw2NTUzNj9rW2MrK109MjI0fGY+Pj4xMjooa1tjKytdPTI0MHxmPj4+MTgsa1tjKytdPTEyOHxmPj4+MTImNjMpLGtbYysrXT0xMjh8Zj4+Pgo2JjYzKSxrW2MrK109MTI4fGYmNjMpO3JldHVybiBrfTtKaD1mdW5jdGlvbihhKXtmb3IodmFyIGI9YS5sZW5ndGg7LS1iPj0wOylhW2JdPTB9O0toPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5Zcj1hO3RoaXMuVXY9Yjt0aGlzLlR2PWM7dGhpcy54dj1kO3RoaXMuRnk9ZTt0aGlzLmVxPWEmJmEubGVuZ3RofTtMaD1mdW5jdGlvbihhLGIpe3RoaXMuRXA9YTt0aGlzLmxnPTA7dGhpcy56ZT1ifTtNaD1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWImMjU1O2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NX07Tmg9ZnVuY3Rpb24oYSxiLGMpe2EuaGI+MTYtYz8oYS5GYnw9Yjw8YS5oYiY2NTUzNSxNaChhLGEuRmIpLGEuRmI9Yj4+MTYtYS5oYixhLmhiKz1jLTE2KTooYS5GYnw9Yjw8YS5oYiY2NTUzNSxhLmhiKz1jKX07T2g9ZnVuY3Rpb24oYSxiLGMpe05oKGEsY1tiKjJdLGNbYioyKzFdKX07ClBoPWZ1bmN0aW9uKGEsYil7dmFyIGM9MDtkbyBjfD1hJjEsYT4+Pj0xLGM8PD0xO3doaWxlKC0tYj4wKTtyZXR1cm4gYz4+PjF9O1FoPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1BcnJheSgxNiksZT0wLGY7Zm9yKGY9MTtmPD0xNTtmKyspZFtmXT1lPWUrY1tmLTFdPDwxO2ZvcihjPTA7Yzw9YjtjKyspZT1hW2MqMisxXSxlIT09MCYmKGFbYyoyXT1QaChkW2VdKyssZSkpfTtSaD1mdW5jdGlvbihhKXt2YXIgYjtmb3IoYj0wO2I8Mjg2O2IrKylhLlFiW2IqMl09MDtmb3IoYj0wO2I8MzA7YisrKWEuUGVbYioyXT0wO2ZvcihiPTA7YjwxOTtiKyspYS5xYltiKjJdPTA7YS5RYls1MTJdPTE7YS5DZD1hLkhnPTA7YS5rYz1hLm1hdGNoZXM9MH07U2g9ZnVuY3Rpb24oYSl7YS5oYj44P01oKGEsYS5GYik6YS5oYj4wJiYoYS5PYVthLnBlbmRpbmcrK109YS5GYik7YS5GYj0wO2EuaGI9MH07ClRoPWZ1bmN0aW9uKGEsYixjKXtTaChhKTtNaChhLGMpO01oKGEsfmMpO0hoLndmKGEuT2EsYS53aW5kb3csYixjLGEucGVuZGluZyk7YS5wZW5kaW5nKz1jfTtVaD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iKjIsZj1jKjI7cmV0dXJuIGFbZV08YVtmXXx8YVtlXT09PWFbZl0mJmRbYl08PWRbY119O1ZoPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9YS5oZWFwW2NdLGU9Yzw8MTtlPD1hLnhkOyl7ZTxhLnhkJiZVaChiLGEuaGVhcFtlKzFdLGEuaGVhcFtlXSxhLmRlcHRoKSYmZSsrO2lmKFVoKGIsZCxhLmhlYXBbZV0sYS5kZXB0aCkpYnJlYWs7YS5oZWFwW2NdPWEuaGVhcFtlXTtjPWU7ZTw8PTF9YS5oZWFwW2NdPWR9OwpjaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9MDtpZihhLmtjIT09MCl7ZG97dmFyIGU9YS5PYVthLllnK2QqMl08PDh8YS5PYVthLllnK2QqMisxXTt2YXIgZj1hLk9hW2Eua20rZF07ZCsrO2lmKGU9PT0wKU9oKGEsZixiKTtlbHNle3ZhciBoPVdoW2ZdO09oKGEsaCsyNTYrMSxiKTt2YXIgaz1YaFtoXTtrIT09MCYmKGYtPVloW2hdLE5oKGEsZixrKSk7ZS0tO2g9ZTwyNTY/WmhbZV06WmhbMjU2KyhlPj4+NyldO09oKGEsaCxjKTtrPSRoW2hdO2shPT0wJiYoZS09YmlbaF0sTmgoYSxlLGspKX19d2hpbGUoZDxhLmtjKX1PaChhLDI1NixiKX07CmRpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5FcCxkPWIuemUuWXIsZT1iLnplLmVxLGY9Yi56ZS54dixoLGs9LTE7YS54ZD0wO2EuWGY9NTczO2ZvcihoPTA7aDxmO2grKyljW2gqMl0hPT0wPyhhLmhlYXBbKythLnhkXT1rPWgsYS5kZXB0aFtoXT0wKTpjW2gqMisxXT0wO2Zvcig7YS54ZDwyOyl7dmFyIGw9YS5oZWFwWysrYS54ZF09azwyPysrazowO2NbbCoyXT0xO2EuZGVwdGhbbF09MDthLkNkLS07ZSYmKGEuSGctPWRbbCoyKzFdKX1iLmxnPWs7Zm9yKGg9YS54ZD4+MTtoPj0xO2gtLSlWaChhLGMsaCk7bD1mO2RvIGg9YS5oZWFwWzFdLGEuaGVhcFsxXT1hLmhlYXBbYS54ZC0tXSxWaChhLGMsMSksZD1hLmhlYXBbMV0sYS5oZWFwWy0tYS5YZl09aCxhLmhlYXBbLS1hLlhmXT1kLGNbbCoyXT1jW2gqMl0rY1tkKjJdLGEuZGVwdGhbbF09KGEuZGVwdGhbaF0+PWEuZGVwdGhbZF0/YS5kZXB0aFtoXTphLmRlcHRoW2RdKSsxLGNbaCoyKzFdPWNbZCoyKzFdPWwsYS5oZWFwWzFdPWwrKywKVmgoYSxjLDEpO3doaWxlKGEueGQ+PTIpO2EuaGVhcFstLWEuWGZdPWEuaGVhcFsxXTtoPWIuRXA7bD1iLmxnO2Q9Yi56ZS5ZcjtlPWIuemUuZXE7Zj1iLnplLlV2O3ZhciBtPWIuemUuVHYsbj1iLnplLkZ5LHAscj0wO2ZvcihwPTA7cDw9MTU7cCsrKWEua2RbcF09MDtoW2EuaGVhcFthLlhmXSoyKzFdPTA7Zm9yKGI9YS5YZisxO2I8NTczO2IrKyl7dmFyIHQ9YS5oZWFwW2JdO3A9aFtoW3QqMisxXSoyKzFdKzE7cD5uJiYocD1uLHIrKyk7aFt0KjIrMV09cDtpZighKHQ+bCkpe2Eua2RbcF0rKzt2YXIgdj0wO3Q+PW0mJih2PWZbdC1tXSk7dmFyIHo9aFt0KjJdO2EuQ2QrPXoqKHArdik7ZSYmKGEuSGcrPXoqKGRbdCoyKzFdK3YpKX19aWYociE9PTApe2Rve2ZvcihwPW4tMTthLmtkW3BdPT09MDspcC0tO2Eua2RbcF0tLTthLmtkW3ArMV0rPTI7YS5rZFtuXS0tO3ItPTJ9d2hpbGUocj4wKTtmb3IocD1uO3AhPT0wO3AtLSlmb3IodD1hLmtkW3BdO3QhPT0wOylkPWEuaGVhcFstLWJdLApkPmx8fChoW2QqMisxXSE9PXAmJihhLkNkKz0ocC1oW2QqMisxXSkqaFtkKjJdLGhbZCoyKzFdPXApLHQtLSl9UWgoYyxrLGEua2QpfTtlaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2JbKGMrMSkqMisxXT02NTUzNTtmb3IoZD0wO2Q8PWM7ZCsrKXt2YXIgbT1mO2Y9YlsoZCsxKSoyKzFdOysraDxrJiZtPT09Znx8KGg8bD9hLnFiW20qMl0rPWg6bSE9PTA/KG0hPT1lJiZhLnFiW20qMl0rKyxhLnFiWzMyXSsrKTpoPD0xMD9hLnFiWzM0XSsrOmEucWJbMzZdKyssaD0wLGU9bSxmPT09MD8oaz0xMzgsbD0zKTptPT09Zj8oaz02LGw9Myk6KGs9NyxsPTQpKX19OwpmaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2ZvcihkPTA7ZDw9YztkKyspe3ZhciBtPWY7Zj1iWyhkKzEpKjIrMV07aWYoISgrK2g8ayYmbT09PWYpKXtpZihoPGwpe2RvIE9oKGEsbSxhLnFiKTt3aGlsZSgtLWghPT0wKX1lbHNlIG0hPT0wPyhtIT09ZSYmKE9oKGEsbSxhLnFiKSxoLS0pLE9oKGEsMTYsYS5xYiksTmgoYSxoLTMsMikpOmg8PTEwPyhPaChhLDE3LGEucWIpLE5oKGEsaC0zLDMpKTooT2goYSwxOCxhLnFiKSxOaChhLGgtMTEsNykpO2g9MDtlPW07Zj09PTA/KGs9MTM4LGw9Myk6bT09PWY/KGs9NixsPTMpOihrPTcsbD00KX19fTsKZ2k9ZnVuY3Rpb24oYSl7dmFyIGI9NDA5MzYyNDQ0NyxjO2ZvcihjPTA7Yzw9MzE7YysrLGI+Pj49MSlpZihiJjEmJmEuUWJbYyoyXSE9PTApcmV0dXJuIDA7aWYoYS5RYlsxOF0hPT0wfHxhLlFiWzIwXSE9PTB8fGEuUWJbMjZdIT09MClyZXR1cm4gMTtmb3IoYz0zMjtjPDI1NjtjKyspaWYoYS5RYltjKjJdIT09MClyZXR1cm4gMTtyZXR1cm4gMH07aGk9ZnVuY3Rpb24oYSxiLGMpe2EuT2FbYS5ZZythLmtjKjJdPWI+Pj44JjI1NTthLk9hW2EuWWcrYS5rYyoyKzFdPWImMjU1O2EuT2FbYS5rbSthLmtjXT1jJjI1NTthLmtjKys7Yj09PTA/YS5RYltjKjJdKys6KGEubWF0Y2hlcysrLGItLSxhLlFiWyhXaFtjXSsyNTYrMSkqMl0rKyxhLlBlWyhiPDI1Nj9aaFtiXTpaaFsyNTYrKGI+Pj43KV0pKjJdKyspO3JldHVybiBhLmtjPT09YS5BaC0xfTtqaT1mdW5jdGlvbihhLGIpe2EubXNnPWlpW2JdO3JldHVybiBifTsKa2k9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEubGVuZ3RoOy0tYj49MDspYVtiXT0wfTtsaT1mdW5jdGlvbihhKXt2YXIgYj1hLnN0YXRlLGM9Yi5wZW5kaW5nO2M+YS56YSYmKGM9YS56YSk7YyE9PTAmJihIaC53ZihhLm91dHB1dCxiLk9hLGIuSmgsYyxhLnFnKSxhLnFnKz1jLGIuSmgrPWMsYS5Fbis9YyxhLnphLT1jLGIucGVuZGluZy09YyxiLnBlbmRpbmc9PT0wJiYoYi5KaD0wKSl9OwpwaT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWI+PTA/YS5VYjotMSxkPWEuVi1hLlViLGU9MDtpZihhLmxldmVsPjApe2Eud2EuaWw9PT0yJiYoYS53YS5pbD1naShhKSk7ZGkoYSxhLnBqKTtkaShhLGEuSWkpO2VpKGEsYS5RYixhLnBqLmxnKTtlaShhLGEuUGUsYS5JaS5sZyk7ZGkoYSxhLlRvKTtmb3IoZT0xODtlPj0zJiZhLnFiW21pW2VdKjIrMV09PT0wO2UtLSk7YS5DZCs9MyooZSsxKSs1KzUrNDt2YXIgZj1hLkNkKzMrNz4+PjM7dmFyIGg9YS5IZyszKzc+Pj4zO2g8PWYmJihmPWgpfWVsc2UgZj1oPWQrNTtpZihkKzQ8PWYmJmMhPT0tMSlOaChhLGI/MTowLDMpLFRoKGEsYyxkKTtlbHNlIGlmKGEuc3RyYXRlZ3k9PT00fHxoPT09ZilOaChhLDIrKGI/MTowKSwzKSxjaShhLG5pLG9pKTtlbHNle05oKGEsNCsoYj8xOjApLDMpO2M9YS5wai5sZysxO2Q9YS5JaS5sZysxO2UrPTE7TmgoYSxjLTI1Nyw1KTtOaChhLGQtMSw1KTtOaChhLGUtNCw0KTtmb3IoZj0wO2Y8ZTtmKyspTmgoYSwKYS5xYlttaVtmXSoyKzFdLDMpO2ZpKGEsYS5RYixjLTEpO2ZpKGEsYS5QZSxkLTEpO2NpKGEsYS5RYixhLlBlKX1SaChhKTtiJiZTaChhKTthLlViPWEuVjtsaShhLndhKX07cWk9ZnVuY3Rpb24oYSxiKXthLk9hW2EucGVuZGluZysrXT1ifTtyaT1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NTthLk9hW2EucGVuZGluZysrXT1iJjI1NX07CnNpPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5OcSxkPWEuVixlPWEuWWIsZj1hLlNxLGg9YS5WPmEuQmItMjYyP2EuVi0oYS5CYi0yNjIpOjAsaz1hLndpbmRvdyxsPWEuQmUsbT1hLlVhLG49YS5WKzI1OCxwPWtbZCtlLTFdLHI9a1tkK2VdO2EuWWI+PWEuWXAmJihjPj49Mik7Zj5hLmRhJiYoZj1hLmRhKTtkb3t2YXIgdD1iO2lmKGtbdCtlXT09PXImJmtbdCtlLTFdPT09cCYma1t0XT09PWtbZF0mJmtbKyt0XT09PWtbZCsxXSl7ZCs9Mjtmb3IodCsrO2tbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZkPG47KTt0PTI1OC0obi1kKTtkPW4tMjU4O2lmKHQ+ZSl7YS5rZz1iO2U9dDtpZih0Pj1mKWJyZWFrO3A9a1tkK2UtMV07cj1rW2QrZV19fX13aGlsZSgoYj1tW2ImbF0pPmgmJi0tYyE9PTApOwpyZXR1cm4gZTw9YS5kYT9lOmEuZGF9Owp2aT1mdW5jdGlvbihhKXt2YXIgYj1hLkJiLGM7ZG97dmFyIGQ9YS5Lcy1hLmRhLWEuVjtpZihhLlY+PWIrKGItMjYyKSl7SGgud2YoYS53aW5kb3csYS53aW5kb3csYixiLDApO2Eua2ctPWI7YS5WLT1iO2EuVWItPWI7dmFyIGU9Yz1hLmFqO2Rve3ZhciBmPWEuaGVhZFstLWVdO2EuaGVhZFtlXT1mPj1iP2YtYjowfXdoaWxlKC0tYyk7ZT1jPWI7ZG8gZj1hLlVhWy0tZV0sYS5VYVtlXT1mPj1iP2YtYjowO3doaWxlKC0tYyk7ZCs9Yn1pZihhLndhLkRiPT09MClicmVhaztlPWEud2E7Yz1hLndpbmRvdztmPWEuVithLmRhO3ZhciBoPWUuRGI7aD5kJiYoaD1kKTtoPT09MD9jPTA6KGUuRGItPWgsSGgud2YoYyxlLmlucHV0LGUuZmYsaCxmKSxlLnN0YXRlLndyYXA9PT0xP2Uuc2E9dGkoZS5zYSxjLGgsZik6ZS5zdGF0ZS53cmFwPT09MiYmKGUuc2E9dWkoZS5zYSxjLGgsZikpLGUuZmYrPWgsZS5xZis9aCxjPWgpO2EuZGErPWM7aWYoYS5kYSthLnJiPj0zKWZvcihkPWEuVi1hLnJiLGEueGE9CmEud2luZG93W2RdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCsxXSkmYS52ZDthLnJiJiYhKGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCszLTFdKSZhLnZkLGEuVWFbZCZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWQsZCsrLGEucmItLSxhLmRhK2EucmI8Myk7KTt9d2hpbGUoYS5kYTwyNjImJmEud2EuRGIhPT0wKX07CndpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjOzspe2lmKGEuZGE8MjYyKXt2aShhKTtpZihhLmRhPDI2MiYmYj09PTApcmV0dXJuIDE7aWYoYS5kYT09PTApYnJlYWt9Yz0wO2EuZGE+PTMmJihhLnhhPShhLnhhPDxhLndkXmEud2luZG93W2EuViszLTFdKSZhLnZkLGM9YS5VYVthLlYmYS5CZV09YS5oZWFkW2EueGFdLGEuaGVhZFthLnhhXT1hLlYpO2MhPT0wJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYykpO2lmKGEuQmE+PTMpaWYoYz1oaShhLGEuVi1hLmtnLGEuQmEtMyksYS5kYS09YS5CYSxhLkJhPD1hLm9tJiZhLmRhPj0zKXthLkJhLS07ZG8gYS5WKyssYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWEuVjt3aGlsZSgtLWEuQmEhPT0wKTthLlYrK31lbHNlIGEuVis9YS5CYSxhLkJhPTAsYS54YT1hLndpbmRvd1thLlZdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbYS5WKwoxXSkmYS52ZDtlbHNlIGM9aGkoYSwwLGEud2luZG93W2EuVl0pLGEuZGEtLSxhLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9YS5WPDI/YS5WOjI7cmV0dXJuIGI9PT00PyhwaShhLCEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTsKeGk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZDs7KXtpZihhLmRhPDI2Mil7dmkoYSk7aWYoYS5kYTwyNjImJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWM9MDthLmRhPj0zJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxjPWEuVWFbYS5WJmEuQmVdPWEuaGVhZFthLnhhXSxhLmhlYWRbYS54YV09YS5WKTthLlliPWEuQmE7YS5Bcj1hLmtnO2EuQmE9MjtjIT09MCYmYS5ZYjxhLm9tJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYyksYS5CYTw9NSYmKGEuc3RyYXRlZ3k9PT0xfHxhLkJhPT09MyYmYS5WLWEua2c+NDA5NikmJihhLkJhPTIpKTtpZihhLlliPj0zJiZhLkJhPD1hLlliKXtkPWEuVithLmRhLTM7Yz1oaShhLGEuVi0xLWEuQXIsYS5ZYi0zKTthLmRhLT1hLlliLTE7YS5ZYi09MjtkbysrYS5WPD1kJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sCmEuaGVhZFthLnhhXT1hLlYpO3doaWxlKC0tYS5ZYiE9PTApO2EuY2Y9MDthLkJhPTI7YS5WKys7aWYoYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1lbHNlIGlmKGEuY2Ype2lmKChjPWhpKGEsMCxhLndpbmRvd1thLlYtMV0pKSYmcGkoYSwhMSksYS5WKyssYS5kYS0tLGEud2EuemE9PT0wKXJldHVybiAxfWVsc2UgYS5jZj0xLGEuVisrLGEuZGEtLX1hLmNmJiYoaGkoYSwwLGEud2luZG93W2EuVi0xXSksYS5jZj0wKTthLnJiPWEuVjwyP2EuVjoyO3JldHVybiBiPT09ND8ocGkoYSwhMCksYS53YS56YT09PTA/Mzo0KTphLmtjJiYocGkoYSwhMSksYS53YS56YT09PTApPzE6Mn07CnlpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQsZSxmPWEud2luZG93Ozspe2lmKGEuZGE8PTI1OCl7dmkoYSk7aWYoYS5kYTw9MjU4JiZiPT09MClyZXR1cm4gMTtpZihhLmRhPT09MClicmVha31hLkJhPTA7aWYoYS5kYT49MyYmYS5WPjAmJihkPWEuVi0xLGM9ZltkXSxjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdKSl7Zm9yKGU9YS5WKzI1ODtjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZkPGU7KTthLkJhPTI1OC0oZS1kKTthLkJhPmEuZGEmJihhLkJhPWEuZGEpfWEuQmE+PTM/KGM9aGkoYSwxLGEuQmEtMyksYS5kYS09YS5CYSxhLlYrPWEuQmEsYS5CYT0wKTooYz1oaShhLDAsYS53aW5kb3dbYS5WXSksYS5kYS0tLGEuVisrKTtpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsCiEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTt6aT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYzs7KXtpZihhLmRhPT09MCYmKHZpKGEpLGEuZGE9PT0wKSl7aWYoYj09PTApcmV0dXJuIDE7YnJlYWt9YS5CYT0wO2M9aGkoYSwwLGEud2luZG93W2EuVl0pO2EuZGEtLTthLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsITApLGEud2EuemE9PT0wPzM6NCk6YS5rYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKT8xOjJ9O0FpPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy50dz1hO3RoaXMuRXk9Yjt0aGlzLld5PWM7dGhpcy5EeT1kO3RoaXMua3c9ZX07CkJpPWZ1bmN0aW9uKCl7dGhpcy53YT1udWxsO3RoaXMuc3RhdHVzPTA7dGhpcy5PYT1udWxsO3RoaXMud3JhcD10aGlzLnBlbmRpbmc9dGhpcy5KaD10aGlzLm5jPTA7dGhpcy5xYT1udWxsO3RoaXMuemM9MDt0aGlzLm1ldGhvZD04O3RoaXMuaWc9LTE7dGhpcy5CZT10aGlzLk5uPXRoaXMuQmI9MDt0aGlzLndpbmRvdz1udWxsO3RoaXMuS3M9MDt0aGlzLmhlYWQ9dGhpcy5VYT1udWxsO3RoaXMuU3E9dGhpcy5ZcD10aGlzLnN0cmF0ZWd5PXRoaXMubGV2ZWw9dGhpcy5vbT10aGlzLk5xPXRoaXMuWWI9dGhpcy5kYT10aGlzLmtnPXRoaXMuVj10aGlzLmNmPXRoaXMuQXI9dGhpcy5CYT10aGlzLlViPXRoaXMud2Q9dGhpcy52ZD10aGlzLkxsPXRoaXMuYWo9dGhpcy54YT0wO3RoaXMuUWI9bmV3IEhoLlljKDExNDYpO3RoaXMuUGU9bmV3IEhoLlljKDEyMik7dGhpcy5xYj1uZXcgSGguWWMoNzgpO2tpKHRoaXMuUWIpO2tpKHRoaXMuUGUpO2tpKHRoaXMucWIpO3RoaXMuVG89dGhpcy5JaT0KdGhpcy5waj1udWxsO3RoaXMua2Q9bmV3IEhoLlljKDE2KTt0aGlzLmhlYXA9bmV3IEhoLlljKDU3Myk7a2kodGhpcy5oZWFwKTt0aGlzLlhmPXRoaXMueGQ9MDt0aGlzLmRlcHRoPW5ldyBIaC5ZYyg1NzMpO2tpKHRoaXMuZGVwdGgpO3RoaXMuaGI9dGhpcy5GYj10aGlzLnJiPXRoaXMubWF0Y2hlcz10aGlzLkhnPXRoaXMuQ2Q9dGhpcy5ZZz10aGlzLmtjPXRoaXMuQWg9dGhpcy5rbT0wfTsKRGk9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWEuc3RhdGV8fGI+NXx8YjwwKXJldHVybiBhP2ppKGEsLTIpOi0yO3ZhciBjPWEuc3RhdGU7aWYoIWEub3V0cHV0fHwhYS5pbnB1dCYmYS5EYiE9PTB8fGMuc3RhdHVzPT09NjY2JiZiIT09NClyZXR1cm4gamkoYSxhLnphPT09MD8tNTotMik7Yy53YT1hO3ZhciBkPWMuaWc7Yy5pZz1iO2lmKGMuc3RhdHVzPT09NDIpaWYoYy53cmFwPT09MilhLnNhPTAscWkoYywzMSkscWkoYywxMzkpLHFpKGMsOCksYy5xYT8ocWkoYywoYy5xYS50ZXh0PzE6MCkrKGMucWEuYmU/MjowKSsoYy5xYS5leHRyYT80OjApKyhjLnFhLm5hbWU/ODowKSsoYy5xYS5jb21tZW50PzE2OjApKSxxaShjLGMucWEudGltZSYyNTUpLHFpKGMsYy5xYS50aW1lPj44JjI1NSkscWkoYyxjLnFhLnRpbWU+PjE2JjI1NSkscWkoYyxjLnFhLnRpbWU+PjI0JjI1NSkscWkoYyxjLmxldmVsPT09OT8yOmMuc3RyYXRlZ3k+PTJ8fGMubGV2ZWw8Mj80OjApLHFpKGMsYy5xYS5vcyYyNTUpLApjLnFhLmV4dHJhJiZjLnFhLmV4dHJhLmxlbmd0aCYmKHFpKGMsYy5xYS5leHRyYS5sZW5ndGgmMjU1KSxxaShjLGMucWEuZXh0cmEubGVuZ3RoPj44JjI1NSkpLGMucWEuYmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmcsMCkpLGMuemM9MCxjLnN0YXR1cz02OSk6KHFpKGMsMCkscWkoYywwKSxxaShjLDApLHFpKGMsMCkscWkoYywwKSxxaShjLGMubGV2ZWw9PT05PzI6Yy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzQ6MCkscWkoYywzKSxjLnN0YXR1cz0xMTMpO2Vsc2V7dmFyIGU9OCsoYy5Obi04PDw0KTw8ODtlfD0oYy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzA6Yy5sZXZlbDw2PzE6Yy5sZXZlbD09PTY/MjozKTw8NjtjLlYhPT0wJiYoZXw9MzIpO2Muc3RhdHVzPTExMztyaShjLGUrKDMxLWUlMzEpKTtjLlYhPT0wJiYocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2Euc2E9MX1pZihjLnN0YXR1cz09PTY5KWlmKGMucWEuZXh0cmEpe2ZvcihlPWMucGVuZGluZztjLnpjPAooYy5xYS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoYy5wZW5kaW5nIT09Yy5uY3x8KGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZyE9PWMubmMpKTspcWkoYyxjLnFhLmV4dHJhW2MuemNdJjI1NSksYy56YysrO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2MuemM9PT1jLnFhLmV4dHJhLmxlbmd0aCYmKGMuemM9MCxjLnN0YXR1cz03Myl9ZWxzZSBjLnN0YXR1cz03MztpZihjLnN0YXR1cz09PTczKWlmKGMucWEubmFtZSl7ZT1jLnBlbmRpbmc7ZG97aWYoYy5wZW5kaW5nPT09Yy5uYyYmKGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZz09PWMubmMpKXt2YXIgZj0xO2JyZWFrfWY9Yy56YzxjLnFhLm5hbWUubGVuZ3RoP2MucWEubmFtZS5jaGFyQ29kZUF0KGMuemMrKykmCjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy56Yz0wLGMuc3RhdHVzPTkxKX1lbHNlIGMuc3RhdHVzPTkxO2lmKGMuc3RhdHVzPT09OTEpaWYoYy5xYS5jb21tZW50KXtlPWMucGVuZGluZztkb3tpZihjLnBlbmRpbmc9PT1jLm5jJiYoYy5xYS5iZSYmYy5wZW5kaW5nPmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmctZSxlKSksbGkoYSksZT1jLnBlbmRpbmcsYy5wZW5kaW5nPT09Yy5uYykpe2Y9MTticmVha31mPWMuemM8Yy5xYS5jb21tZW50Lmxlbmd0aD9jLnFhLmNvbW1lbnQuY2hhckNvZGVBdChjLnpjKyspJjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy5zdGF0dXM9MTAzKX1lbHNlIGMuc3RhdHVzPTEwMztjLnN0YXR1cz09PTEwMyYmCihjLnFhLmJlPyhjLnBlbmRpbmcrMj5jLm5jJiZsaShhKSxjLnBlbmRpbmcrMjw9Yy5uYyYmKHFpKGMsYS5zYSYyNTUpLHFpKGMsYS5zYT4+OCYyNTUpLGEuc2E9MCxjLnN0YXR1cz0xMTMpKTpjLnN0YXR1cz0xMTMpO2lmKGMucGVuZGluZyE9PTApe2lmKGxpKGEpLGEuemE9PT0wKXJldHVybiBjLmlnPS0xLDB9ZWxzZSBpZihhLkRiPT09MCYmKGI8PDEpLShiPjQ/OTowKTw9KGQ8PDEpLShkPjQ/OTowKSYmYiE9PTQpcmV0dXJuIGppKGEsLTUpO2lmKGMuc3RhdHVzPT09NjY2JiZhLkRiIT09MClyZXR1cm4gamkoYSwtNSk7aWYoYS5EYiE9PTB8fGMuZGEhPT0wfHxiIT09MCYmYy5zdGF0dXMhPT02NjYpe2Q9Yy5zdHJhdGVneT09PTI/emkoYyxiKTpjLnN0cmF0ZWd5PT09Mz95aShjLGIpOkNpW2MubGV2ZWxdLmt3KGMsYik7aWYoZD09PTN8fGQ9PT00KWMuc3RhdHVzPTY2NjtpZihkPT09MXx8ZD09PTMpcmV0dXJuIGEuemE9PT0wJiYoYy5pZz0tMSksMDtpZihkPT09MiYmKGI9PT0xPwooTmgoYywyLDMpLE9oKGMsMjU2LG5pKSxjLmhiPT09MTY/KE1oKGMsYy5GYiksYy5GYj0wLGMuaGI9MCk6Yy5oYj49OCYmKGMuT2FbYy5wZW5kaW5nKytdPWMuRmImMjU1LGMuRmI+Pj04LGMuaGItPTgpKTpiIT09NSYmKE5oKGMsMCwzKSxUaChjLDAsMCksYj09PTMmJihraShjLmhlYWQpLGMuZGE9PT0wJiYoYy5WPTAsYy5VYj0wLGMucmI9MCkpKSxsaShhKSxhLnphPT09MCkpcmV0dXJuIGMuaWc9LTEsMH1pZihiIT09NClyZXR1cm4gMDtpZihjLndyYXA8PTApcmV0dXJuIDE7Yy53cmFwPT09Mj8ocWkoYyxhLnNhJjI1NSkscWkoYyxhLnNhPj44JjI1NSkscWkoYyxhLnNhPj4xNiYyNTUpLHFpKGMsYS5zYT4+MjQmMjU1KSxxaShjLGEucWYmMjU1KSxxaShjLGEucWY+PjgmMjU1KSxxaShjLGEucWY+PjE2JjI1NSkscWkoYyxhLnFmPj4yNCYyNTUpKToocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2xpKGEpO2Mud3JhcD4wJiYoYy53cmFwPS1jLndyYXApO3JldHVybiBjLnBlbmRpbmchPT0KMD8wOjF9OwpFaT1mdW5jdGlvbihhKXtpZighKHRoaXMgaW5zdGFuY2VvZiBFaSkpcmV0dXJuIG5ldyBFaShhKTthPXRoaXMub3B0aW9ucz1IaC5hc3NpZ24oe2xldmVsOi0xLG1ldGhvZDo4LGNodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjE1LG1lbUxldmVsOjgsc3RyYXRlZ3k6MCx0bzoiIn0sYXx8e30pO2EucmF3JiZhLndpbmRvd0JpdHM+MD9hLndpbmRvd0JpdHM9LWEud2luZG93Qml0czphLmd6aXAmJmEud2luZG93Qml0cz4wJiZhLndpbmRvd0JpdHM8MTYmJihhLndpbmRvd0JpdHMrPTE2KTt0aGlzLmVycj0wO3RoaXMubXNnPSIiO3RoaXMuZW5kZWQ9ITE7dGhpcy5jaHVua3M9W107dGhpcy53YT1uZXcgRmk7dGhpcy53YS56YT0wO3ZhciBiPXRoaXMud2E7dmFyIGM9YS5sZXZlbCxkPWEubWV0aG9kLGU9YS53aW5kb3dCaXRzLGY9YS5tZW1MZXZlbCxoPWEuc3RyYXRlZ3k7aWYoYil7dmFyIGs9MTtjPT09LTEmJihjPTYpO2U8MD8oaz0wLGU9LWUpOmU+MTUmJihrPTIsZS09MTYpO2lmKGY8CjF8fGY+OXx8ZCE9PTh8fGU8OHx8ZT4xNXx8YzwwfHxjPjl8fGg8MHx8aD40KWI9amkoYiwtMik7ZWxzZXtlPT09OCYmKGU9OSk7dmFyIGw9bmV3IEJpO2Iuc3RhdGU9bDtsLndhPWI7bC53cmFwPWs7bC5xYT1udWxsO2wuTm49ZTtsLkJiPTE8PGwuTm47bC5CZT1sLkJiLTE7bC5MbD1mKzc7bC5haj0xPDxsLkxsO2wudmQ9bC5hai0xO2wud2Q9fn4oKGwuTGwrMy0xKS8zKTtsLndpbmRvdz1uZXcgSGgudGYobC5CYioyKTtsLmhlYWQ9bmV3IEhoLlljKGwuYWopO2wuVWE9bmV3IEhoLlljKGwuQmIpO2wuQWg9MTw8Zis2O2wubmM9bC5BaCo0O2wuT2E9bmV3IEhoLnRmKGwubmMpO2wuWWc9bC5BaDtsLmttPTMqbC5BaDtsLmxldmVsPWM7bC5zdHJhdGVneT1oO2wubWV0aG9kPWQ7aWYoYiYmYi5zdGF0ZSl7Yi5xZj1iLkVuPTA7Yi5pbD0yO2M9Yi5zdGF0ZTtjLnBlbmRpbmc9MDtjLkpoPTA7Yy53cmFwPDAmJihjLndyYXA9LWMud3JhcCk7Yy5zdGF0dXM9Yy53cmFwPzQyOjExMztiLnNhPQpjLndyYXA9PT0yPzA6MTtjLmlnPTA7aWYoIUdpKXtkPUFycmF5KDE2KTtmb3IoZj1oPTA7ZjwyODtmKyspZm9yKFloW2ZdPWgsZT0wO2U8MTw8WGhbZl07ZSsrKVdoW2grK109ZjtXaFtoLTFdPWY7Zm9yKGY9aD0wO2Y8MTY7ZisrKWZvcihiaVtmXT1oLGU9MDtlPDE8PCRoW2ZdO2UrKylaaFtoKytdPWY7Zm9yKGg+Pj03O2Y8MzA7ZisrKWZvcihiaVtmXT1oPDw3LGU9MDtlPDE8PCRoW2ZdLTc7ZSsrKVpoWzI1NitoKytdPWY7Zm9yKGU9MDtlPD0xNTtlKyspZFtlXT0wO2ZvcihlPTA7ZTw9MTQzOyluaVtlKjIrMV09OCxlKyssZFs4XSsrO2Zvcig7ZTw9MjU1OyluaVtlKjIrMV09OSxlKyssZFs5XSsrO2Zvcig7ZTw9Mjc5OyluaVtlKjIrMV09NyxlKyssZFs3XSsrO2Zvcig7ZTw9Mjg3OyluaVtlKjIrMV09OCxlKyssZFs4XSsrO1FoKG5pLDI4NyxkKTtmb3IoZT0wO2U8MzA7ZSsrKW9pW2UqMisxXT01LG9pW2UqMl09UGgoZSw1KTtIaT1uZXcgS2gobmksWGgsMjU3LDI4NiwxNSk7SWk9Cm5ldyBLaChvaSwkaCwwLDMwLDE1KTtKaT1uZXcgS2goW10sS2ksMCwxOSw3KTtHaT0hMH1jLnBqPW5ldyBMaChjLlFiLEhpKTtjLklpPW5ldyBMaChjLlBlLElpKTtjLlRvPW5ldyBMaChjLnFiLEppKTtjLkZiPTA7Yy5oYj0wO1JoKGMpO2M9MH1lbHNlIGM9amkoYiwtMik7Yz09PTAmJihiPWIuc3RhdGUsYi5Lcz0yKmIuQmIsa2koYi5oZWFkKSxiLm9tPUNpW2IubGV2ZWxdLkV5LGIuWXA9Q2lbYi5sZXZlbF0udHcsYi5TcT1DaVtiLmxldmVsXS5XeSxiLk5xPUNpW2IubGV2ZWxdLkR5LGIuVj0wLGIuVWI9MCxiLmRhPTAsYi5yYj0wLGIuQmE9Yi5ZYj0yLGIuY2Y9MCxiLnhhPTApO2I9Y319ZWxzZSBiPS0yO2lmKGIhPT0wKXRocm93IEVycm9yKGlpW2JdKTthLmhlYWRlciYmKGI9dGhpcy53YSkmJmIuc3RhdGUmJmIuc3RhdGUud3JhcD09PTImJihiLnN0YXRlLnFhPWEuaGVhZGVyKTtpZihhLmRpY3Rpb25hcnkpe3ZhciBtO3R5cGVvZiBhLmRpY3Rpb25hcnk9PT0ic3RyaW5nIj9tPQpJaChhLmRpY3Rpb25hcnkpOkxpLmNhbGwoYS5kaWN0aW9uYXJ5KT09PSJbb2JqZWN0IEFycmF5QnVmZmVyXSI/bT1uZXcgVWludDhBcnJheShhLmRpY3Rpb25hcnkpOm09YS5kaWN0aW9uYXJ5O2E9dGhpcy53YTtmPW07aD1mLmxlbmd0aDtpZihhJiZhLnN0YXRlKWlmKG09YS5zdGF0ZSxiPW0ud3JhcCxiPT09Mnx8Yj09PTEmJm0uc3RhdHVzIT09NDJ8fG0uZGEpYj0tMjtlbHNle2I9PT0xJiYoYS5zYT10aShhLnNhLGYsaCwwKSk7bS53cmFwPTA7aD49bS5CYiYmKGI9PT0wJiYoa2kobS5oZWFkKSxtLlY9MCxtLlViPTAsbS5yYj0wKSxjPW5ldyBIaC50ZihtLkJiKSxIaC53ZihjLGYsaC1tLkJiLG0uQmIsMCksZj1jLGg9bS5CYik7Yz1hLkRiO2Q9YS5mZjtlPWEuaW5wdXQ7YS5EYj1oO2EuZmY9MDthLmlucHV0PWY7Zm9yKHZpKG0pO20uZGE+PTM7KXtmPW0uVjtoPW0uZGEtMjtkbyBtLnhhPShtLnhhPDxtLndkXm0ud2luZG93W2YrMy0xXSkmbS52ZCxtLlVhW2YmbS5CZV09bS5oZWFkW20ueGFdLAptLmhlYWRbbS54YV09ZixmKys7d2hpbGUoLS1oKTttLlY9ZjttLmRhPTI7dmkobSl9bS5WKz1tLmRhO20uVWI9bS5WO20ucmI9bS5kYTttLmRhPTA7bS5CYT1tLlliPTI7bS5jZj0wO2EuZmY9ZDthLmlucHV0PWU7YS5EYj1jO20ud3JhcD1iO2I9MH1lbHNlIGI9LTI7aWYoYiE9PTApdGhyb3cgRXJyb3IoaWlbYl0pO3RoaXMuTUg9ITB9fTtNaT1mdW5jdGlvbihhLGIpe2I9PT0wJiYoYS5yZXN1bHQ9YS5vcHRpb25zLnRvPT09InN0cmluZyI/YS5jaHVua3Muam9pbigiIik6SGguTXAoYS5jaHVua3MpKTthLmNodW5rcz1bXTthLmVycj1iO2EubXNnPWEud2EubXNnfTtfLk5pPWZ1bmN0aW9uKGEpe3ZhciBiPWJ8fHt9O2IuZ3ppcD0hMDtiPW5ldyBFaShiKTtiLnB1c2goYSwhMCk7aWYoYi5lcnIpdGhyb3cgYi5tc2d8fGlpW2IuZXJyXTtyZXR1cm4gYi5yZXN1bHR9OwpfLk9pPWZ1bmN0aW9uKGEsYil7Yi5sZW5ndGg+MT9hW2JbMF1dPWJbMV06Yi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKGEsYlswXSl9O18uUWk9ZnVuY3Rpb24oLi4uYSl7Xy5PaShfLlBpLGFyZ3VtZW50cyl9O18udz1mdW5jdGlvbihhLGIpe3JldHVybiBhIGluIF8uUGk/Xy5QaVthXTpifTtfLlJpPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUGkuRVhQRVJJTUVOVF9GTEFHUztyZXR1cm4gYj9iW2FdOnZvaWQgMH07VGk9ZnVuY3Rpb24oYSl7U2kuZm9yRWFjaChiPT5iKGEpKX07Xy5WaT1mdW5jdGlvbihhKXtyZXR1cm4gYSYmd2luZG93Lnl0ZXJyP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChiKXtfLlVpKGIpfX06YX07Cl8uVWk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7Yj9iKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwKTooYj1fLncoIkVSUk9SUyIsW10pLGIucHVzaChbYSwiRVJST1IiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDBdKSxfLlFpKCJFUlJPUlMiLGIpKTtUaShhKX07Xy5XaT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPV8uc2EoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO2Y/ZihhLCJXQVJOSU5HIixiLGMsZCx2b2lkIDAsZSk6KGY9Xy53KCJFUlJPUlMiLFtdKSxmLnB1c2goW2EsIldBUk5JTkciLGIsYyxkLHZvaWQgMCxlXSksXy5RaSgiRVJST1JTIixmKSl9OwpZaT1mdW5jdGlvbihhLGIpe2I9YS5zcGxpdChiKTt2YXIgYz17fTtmb3IobGV0IGY9MCxoPWIubGVuZ3RoO2Y8aDtmKyspe2xldCBrPWJbZl0uc3BsaXQoIj0iKTtpZihrLmxlbmd0aD09PTEmJmtbMF18fGsubGVuZ3RoPT09Mil0cnl7bGV0IGw9WGkoa1swXXx8IiIpLG09WGkoa1sxXXx8IiIpO2lmKGwgaW4gYyl7bGV0IG49Y1tsXTtBcnJheS5pc0FycmF5KG4pP3piKG4sbSk6Y1tsXT1bbixtXX1lbHNlIGNbbF09bX1jYXRjaChsKXt2YXIgZD1sLGU9a1swXTtsZXQgbT1TdHJpbmcoWWkpO2QuYXJncz1be2tleTplLHZhbHVlOmtbMV0scXVlcnk6YSxtZXRob2Q6Wmk9PT1tPyJ1bmNoYW5nZWQiOm19XTskaS5oYXNPd25Qcm9wZXJ0eShlKXx8Xy5XaShkKX19cmV0dXJuIGN9Owphaj1mdW5jdGlvbihhKXt2YXIgYj1bXTtvZChhLChjLGQpPT57dmFyIGU9ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSk7Yz1BcnJheS5pc0FycmF5KGMpP2M6W2NdO18udGIoYyxmPT57Zj09IiI/Yi5wdXNoKGUpOmIucHVzaChgJHtlfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZikpfWApfSl9KTtyZXR1cm4gYi5qb2luKCImIil9O18uYmo9ZnVuY3Rpb24oYSl7YS5jaGFyQXQoMCk9PT0iPyImJihhPWEuc3Vic3RyaW5nKDEpKTtyZXR1cm4gWWkoYSwiJiIpfTtkaj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCEwKX07Xy5laj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCExKX07CmNqPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLnNwbGl0KCIjIiwyKTthPWRbMF07ZD1kLmxlbmd0aD4xPyIjIitkWzFdOiIiO3ZhciBlPWEuc3BsaXQoIj8iLDIpO2E9ZVswXTtlPV8uYmooZVsxXXx8IiIpO2ZvcihsZXQgZiBpbiBiKSFjJiZlIT09bnVsbCYmZiBpbiBlfHwoZVtmXT1iW2ZdKTtyZXR1cm4gXy5XYihhLGUpK2R9O18uZmo9ZnVuY3Rpb24oYSl7aWYoIWIpdmFyIGI9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIGM9Xy5NYihhKVsxXXx8bnVsbCxkPV8uUGIoYSk7YyYmZD8oYT1fLk1iKGEpLGI9Xy5NYihiKSxhPWFbM109PWJbM10mJmFbMV09PWJbMV0mJmFbNF09PWJbNF0pOmE9ZD9fLlBiKGIpPT09ZCYmKE51bWJlcihfLk1iKGIpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKF8uTWIoYSlbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gYX07WGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEubWF0Y2goZ2opP2E6Xy5IYihhKX07Cl8ubGo9ZnVuY3Rpb24oYT1fLnNhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIil7dmFyIGI9aGosYz1PYmplY3QsZD1jLmFzc2lnbjthOnt0cnl7dmFyIGU9Yi5qLnRvcC5sb2NhdGlvbi5ocmVmfWNhdGNoKEEpe2U9MjticmVhayBhfWU9ZT9lPT09Yi5vLmxvY2F0aW9uLmhyZWY/MDoxOjJ9ZT17ZHQ6aWosZmxhc2g6IjAiLGZybTplfTt0cnl7ZS51X3R6PS0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCk7dHJ5e3ZhciBmPWpqLmhpc3RvcnkubGVuZ3RofWNhdGNoKEEpe2Y9MH1lLnVfaGlzPWY7ZS51X2g9amouc2NyZWVuPy5oZWlnaHQ7ZS51X3c9amouc2NyZWVuPy53aWR0aDtlLnVfYWg9amouc2NyZWVuPy5hdmFpbEhlaWdodDtlLnVfYXc9amouc2NyZWVuPy5hdmFpbFdpZHRoO2UudV9jZD1qai5zY3JlZW4/LmNvbG9yRGVwdGh9Y2F0Y2goQSl7fWY9Yi5qO3RyeXt2YXIgaD1mLnNjcmVlblg7dmFyIGs9Zi5zY3JlZW5ZfWNhdGNoKEEpe310cnl7dmFyIGw9Zi5vdXRlcldpZHRoOwp2YXIgbT1mLm91dGVySGVpZ2h0fWNhdGNoKEEpe310cnl7dmFyIG49Zi5pbm5lcldpZHRoO3ZhciBwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgcj1mLnNjcmVlbkxlZnQ7dmFyIHQ9Zi5zY3JlZW5Ub3B9Y2F0Y2goQSl7fXRyeXtuPWYuaW5uZXJXaWR0aCxwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgdj1mLnNjcmVlbi5hdmFpbFdpZHRoO3ZhciB6PWYuc2NyZWVuLmF2YWlsVG9wfWNhdGNoKEEpe31oPVtyLHQsaCxrLHYseixsLG0sbixwXTt0cnl7dmFyIEU9Xy55ZChiLmoudG9wfHx3aW5kb3cpLnJvdW5kKCl9Y2F0Y2goQSl7RT1uZXcgXy5uZCgtMTIyNDU5MzMsLTEyMjQ1OTMzKX1sPUU7RT1uZXcga2o7IlNWR0VsZW1lbnQiaW4gXy51JiYiY3JlYXRlRWxlbWVudE5TImluIF8udS5kb2N1bWVudCYmRS5zZXQoMCk7az1tZCgpO2tbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZFLnNldCgxKTtrWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmCkUuc2V0KDIpO18udS5jcnlwdG8mJl8udS5jcnlwdG8uc3VidGxlJiZFLnNldCgzKTsiVGV4dERlY29kZXIiaW4gXy51JiYiVGV4dEVuY29kZXIiaW4gXy51JiZFLnNldCg0KTtFPW5oKEUpO2s9bC5oZWlnaHQ7bD1sLndpZHRoO2g9aC5qb2luKCk7Yj1iLm87Yz1kLmNhbGwoYyxlLHtiYzpFLGJpaDprLGJpdzpsLGJyZGltOmgsdmlzOmIucHJlcmVuZGVyaW5nPzM6e3Zpc2libGU6MSxoaWRkZW46MixwcmVyZW5kZXI6MyxwcmV2aWV3OjQsdW5sb2FkZWQ6NSwiIjowfVtiLnZpc2liaWxpdHlTdGF0ZXx8Yi53ZWJraXRWaXNpYmlsaXR5U3RhdGV8fGIubW96VmlzaWJpbGl0eVN0YXRlfHwiIl0/PzAsd2dsOiEhamouV2ViR0xSZW5kZXJpbmdDb250ZXh0fSk7Yy5jYV90eXBlPSJpbWFnZSI7YSYmKGMuYmlkPWEpO3JldHVybiBjfTtfLm1qPWZ1bmN0aW9uKGEsYil7dHlwZW9mIGE9PT0iZnVuY3Rpb24iJiYoYT1fLlZpKGEpKTtyZXR1cm4gd2luZG93LnNldFRpbWVvdXQoYSxiKX07Cm9qPWZ1bmN0aW9uKCl7aWYoIW5qKXJldHVybiBudWxsO3ZhciBhPW5qKCk7cmV0dXJuIm9wZW4iaW4gYT9hOm51bGx9O18ucWo9ZnVuY3Rpb24oYSl7c3dpdGNoKF8ucGooYSkpe2Nhc2UgMjAwOmNhc2UgMjAxOmNhc2UgMjAyOmNhc2UgMjAzOmNhc2UgMjA0OmNhc2UgMjA1OmNhc2UgMjA2OmNhc2UgMzA0OnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTtfLnBqPWZ1bmN0aW9uKGEpe3JldHVybiBhJiYic3RhdHVzImluIGE/YS5zdGF0dXM6LTF9O18ueD1mdW5jdGlvbihhLGIpe2E9Xy5yaihhLGIpO3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmciJiZhPT09ImZhbHNlIj8hMTohIWF9O18uc2o9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTnVtYmVyKF8ucmooYSxiKXx8MCl9O18udGo9ZnVuY3Rpb24oYSl7YT1fLnJqKGEpO3JldHVybiBhIT09dm9pZCAwP1N0cmluZyhhKToiIn07Cl8ucmo9ZnVuY3Rpb24oYSxiKXthPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pW2FdO3JldHVybiBhIT09dm9pZCAwP2E6Yn07Xy51aj1mdW5jdGlvbigpe3ZhciBhPVtdLGI9Xy53KCJFWFBFUklNRU5UU19GT1JDRURfRkxBR1MiLHt9KTtmb3IodmFyIGMgb2YgT2JqZWN0LmtleXMoYikpYS5wdXNoKHtrZXk6Yyx2YWx1ZTpTdHJpbmcoYltjXSl9KTtjPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhjKSlkLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZiW2RdPT09dm9pZCAwJiZhLnB1c2goe2tleTpkLHZhbHVlOlN0cmluZyhjW2RdKX0pO3JldHVybiBhfTsKeGo9ZnVuY3Rpb24oYSxiLGM9IkdFVCIsZD0iIixlLGYsaCxrPSExLGwpe3ZhciBtPW9qKCk7aWYoIW0pcmV0dXJuIG51bGw7dmFyIG49KCk9PnsobSYmInJlYWR5U3RhdGUiaW4gbT9tLnJlYWR5U3RhdGU6MCk9PT00JiZiJiZfLlZpKGIpKG0pfTsib25sb2FkZW5kImluIG0/bS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixuLCExKTptLm9ucmVhZHlzdGF0ZWNoYW5nZT1uO18ueCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYoYT12aihhKSk7bS5vcGVuKGMsYSwhMCk7ZiYmKG0ucmVzcG9uc2VUeXBlPWYpO2gmJihtLndpdGhDcmVkZW50aWFscz0hMCk7Yz1jPT09IlBPU1QiJiYod2luZG93LkZvcm1EYXRhPT09dm9pZCAwfHwhKGQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpO2lmKGU9d2ooYSxlKSlmb3IobGV0IHAgaW4gZSltLnNldFJlcXVlc3RIZWFkZXIocCxlW3BdKSwiY29udGVudC10eXBlIj09PXAudG9Mb3dlckNhc2UoKSYmKGM9ITEpO2MmJm0uc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwKImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpO2wmJiJvbnByb2dyZXNzImluIG0mJihtLm9ucHJvZ3Jlc3M9KCk9PntsKG0ucmVzcG9uc2VUZXh0KX0pO2lmKGsmJiJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZyJpbiBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUpe2E9e2V2ZW50U291cmNlRWxpZ2libGU6ITAsdHJpZ2dlckVsaWdpYmxlOiExfTt0cnl7bS5zZXRBdHRyaWJ1dGlvblJlcG9ydGluZyhhKX1jYXRjaChwKXtfLldpKHApfX1tLnNlbmQoZCk7cmV0dXJuIG19Owp3aj1mdW5jdGlvbihhLGI9e30pe3ZhciBjPV8uZmooYSksZD1fLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpLGU9Xy54KCJ3ZWJfYWpheF9pZ25vcmVfZ2xvYmFsX2hlYWRlcnNfaWZfc2V0Iik7Zm9yKGxldCBrIGluIHlqKXtsZXQgbD1fLncoeWpba10pLG09az09PSJYLUdvb2ctQXV0aFVzZXIifHxrPT09IlgtR29vZy1QYWdlSWQiO2shPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxsfHwobD1fLncoIlZJU0lUT1JfREFUQSIpKTt2YXIgZjtpZighKGY9IWwpKXtpZighKGY9Y3x8KF8uUGIoYSk/ITE6ITApKSl7Zj1hO3ZhciBoO2lmKGg9Xy54KCJhZGRfYXV0aF9oZWFkZXJzX3RvX3JlbWFya2V0aW5nX2dvb2dsZV9kb3RfY29tX3BpbmciKSYmaz09PSJBdXRob3JpemF0aW9uIiYmKGQ9PT0iVFZIVE1MNSJ8fGQ9PT0iVFZIVE1MNV9VTlBMVUdHRUQifHxkPT09IlRWSFRNTDVfU0lNUExZIikpaD1fLlBiKGYpLGg9aCE9PW51bGw/aC5zcGxpdCgiLiIpLnJldmVyc2UoKTpudWxsLGg9aD09PQpudWxsPyExOmhbMV09PT0iZ29vZ2xlIj8hMDpoWzJdPT09Imdvb2dsZSI/aFswXT09PSJhdSImJmhbMV09PT0iY29tIj8hMDpoWzBdPT09InVrIiYmaFsxXT09PSJjbyI/ITA6ITE6ITE7aCYmKGY9Xy5RYihmKXx8IiIsZj1mLnNwbGl0KCIvIiksZj0iLyIrKGYubGVuZ3RoPjE/ZlsxXToiIiksaD1mPT09Ii9wYWdlYWQiKTtmPWg/ITA6ITF9Zj0hZn1mfHxlJiZiW2tdIT09dm9pZCAwfHxkPT09IlRWSFRNTDVfVU5QTFVHR0VEIiYmbXx8KGJba109bCl9IlgtR29vZy1FT00tVmlzaXRvci1JZCJpbiBiJiYiWC1Hb29nLVZpc2l0b3ItSWQiaW4gYiYmZGVsZXRlIGJbIlgtR29vZy1WaXNpdG9yLUlkIl07aWYoY3x8IV8uUGIoYSkpYlsiWC1Zb3VUdWJlLVV0Yy1PZmZzZXQiXT1TdHJpbmcoLShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSk7aWYoY3x8IV8uUGIoYSkpe2xldCBrO3RyeXtrPShuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmV9Y2F0Y2h7fWsmJgooYlsiWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPWspfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhYyYmXy5QYihhKXx8KGJbIlgtWW91VHViZS1BZC1TaWduYWxzIl09YWooXy5saigpKSk7cmV0dXJuIGJ9O0FqPWZ1bmN0aW9uKGEsYil7Yi5tZXRob2Q9IlBPU1QiO2IucG9zdFBhcmFtc3x8KGIucG9zdFBhcmFtcz17fSk7cmV0dXJuIF8uemooYSxiKX07Cl8uemo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmZvcm1hdHx8IkpTT04iO2E9QmooYSxiKTt2YXIgZD1DaihhLGIpLGU9ITEsZj1EaihhLGs9PntpZighZSl7ZT0hMDtoJiZ3aW5kb3cuY2xlYXJUaW1lb3V0KGgpO3ZhciBsPV8ucWooayksbT1udWxsLG49NDAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NTAwLHA9NTAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NjAwO2lmKGx8fG58fHApbT1FaihhLGMsayxiLmNvbnZlcnRUb1NhZmVIdG1sKTtsJiYobD1GaihjLGssbSkpO209bXx8e307bj1iLmNvbnRleHR8fF8udTtsP2Iub25TdWNjZXNzJiZiLm9uU3VjY2Vzcy5jYWxsKG4sayxtKTpiLm9uRXJyb3ImJmIub25FcnJvci5jYWxsKG4sayxtKTtiLm9uRmluaXNoJiZiLm9uRmluaXNoLmNhbGwobixrLG0pfX0sYi5tZXRob2QsZCxiLmhlYWRlcnMsYi5yZXNwb25zZVR5cGUsYi53aXRoQ3JlZGVudGlhbHMsITEsYi5vblByb2dyZXNzKTtkPWIudGltZW91dHx8MDtpZihiLm9uVGltZW91dCYmZD4wKXtsZXQgaz0KYi5vblRpbWVvdXQ7dmFyIGg9Xy5taigoKT0+e2V8fChlPSEwLGYuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLGsuY2FsbChiLmNvbnRleHR8fF8udSxmKSl9LGQpfXJldHVybiBmfTtCaj1mdW5jdGlvbihhLGIpe2IuaW5jbHVkZURvbWFpbiYmKGE9ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wrIi8vIitkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSsoZG9jdW1lbnQubG9jYXRpb24ucG9ydD8iOiIrZG9jdW1lbnQubG9jYXRpb24ucG9ydDoiIikrYSk7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKTtpZihiPWIudXJsUGFyYW1zKWJbY10mJmRlbGV0ZSBiW2NdLGE9ZGooYSxiKTtyZXR1cm4gYX07CkNqPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKSxkPV8udygiWFNSRl9UT0tFTiIpLGU9Yi5wb3N0Qm9keXx8IiIsZj1iLnBvc3RQYXJhbXMsaD1fLncoIlhTUkZfRklFTERfTkFNRSIpLGs7Yi5oZWFkZXJzJiYoaz1iLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdKTtiLmV4Y2x1ZGVYc3JmfHxfLlBiKGEpJiYhYi53aXRoQ3JlZGVudGlhbHMmJl8uUGIoYSkhPT1kb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZXx8Yi5tZXRob2QhPT0iUE9TVCJ8fGsmJmshPT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkInx8Yi5wb3N0UGFyYW1zJiZiLnBvc3RQYXJhbXNbaF18fChmfHwoZj17fSksZltjXT1kKTtmJiZ0eXBlb2YgZT09PSJzdHJpbmciJiYoZT1fLmJqKGUpLHNkKGUsZiksZT1iLnBvc3RCb2R5Rm9ybWF0JiZiLnBvc3RCb2R5Rm9ybWF0PT09IkpTT04iP0pTT04uc3RyaW5naWZ5KGUpOl8uVWIoZSkpO2Y9ZXx8ZiYmIV8ucGQoZik7IUdqJiZmJiYKYi5tZXRob2QhPT0iUE9TVCImJihHaj0hMCxfLlVpKEVycm9yKCJjYSIpKSk7cmV0dXJuIGV9O0VqPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPW51bGw7c3dpdGNoKGIpe2Nhc2UgIkpTT04iOmxldCBmO3RyeXtmPWMucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGQ9RXJyb3IoImRhIiksZC5wYXJhbXM9YSxfLldpKGQpLGg7fWE9Yy5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIil8fCIiO2lmKGYmJmEuaW5kZXhPZigianNvbiIpPj0wKXtmLnN1YnN0cmluZygwLDUpPT09IildfSdcbiImJihmPWYuc3Vic3RyaW5nKDUpKTt0cnl7ZT1KU09OLnBhcnNlKGYpfWNhdGNoKGgpe319YnJlYWs7Y2FzZSAiWE1MIjppZihhPShhPWMucmVzcG9uc2VYTUwpP0hqKGEpOm51bGwpZT17fSxfLnRiKGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxoPT57ZVtoLnRhZ05hbWVdPUlqKGgpfSl9ZCYmSmooZSk7cmV0dXJuIGV9OwpKaj1mdW5jdGlvbihhKXtpZihfLkFhKGEpKWZvcihsZXQgYiBpbiBhKWI9PT0iaHRtbF9jb250ZW50Inx8Xy5NYShiLCJfaHRtbCIpP2FbYl09Xy5nYihhW2JdKTpKaihhW2JdKX07Rmo9ZnVuY3Rpb24oYSxiLGMpe2lmKGImJmIuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChhKXtjYXNlICJKU09OIjpyZXR1cm4hIWM7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKGMmJmMucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFjfX07SGo9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/KGE9KCJyZXNwb25zZVhNTCJpbiBhP2EucmVzcG9uc2VYTUw6YSkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInJvb3QiKSkmJmEubGVuZ3RoPjA/YVswXTpudWxsOm51bGx9O0lqPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO18udGIoYS5jaGlsZE5vZGVzLGM9PntiKz1jLm5vZGVWYWx1ZX0pO3JldHVybiBifTsKdmo9ZnVuY3Rpb24oYSl7dmFyIGI9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxjPV8uUGIoYSk7Xy54KCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IWMmJl8uZmooYSkmJihjPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgZD1fLlFiKGEpO2Q9KGM9YyYmKGMuZW5kc1dpdGgoInlvdXR1YmUuY29tIil8fGMuZW5kc1dpdGgoInlvdXR1YmUtbm9jb29raWUuY29tIikpKSYmZCYmZC5zdGFydHNXaXRoKCIvYXBpLyIpO2lmKCFjfHxkKXJldHVybiBhO3ZhciBlPV8uYmooYiksZj17fTtfLnRiKEtqLGg9PntlW2hdJiYoZltoXT1lW2hdKX0pO3JldHVybiBfLmVqKGEsZil9O18uTWo9ZnVuY3Rpb24oYSxiLGMsZD0ieW91dHViZS5jb20iLGU9ITEpe18uTGouc2V0KGEsYix7dmo6YyxwYXRoOiIvIixkb21haW46ZCxzZWN1cmU6ZX0pfTsKXy5Oaj1mdW5jdGlvbihhLGI9Ii8iLGM9InlvdXR1YmUuY29tIil7Xy5Mai5yZW1vdmUoYSxiLGMpfTtfLk9qPWZ1bmN0aW9uKCl7aWYoIV8udS5tYXRjaE1lZGlhKXJldHVybiJXRUJfRElTUExBWV9NT0RFX1VOS05PV04iO3RyeXtyZXR1cm4gXy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpfLnUubWF0Y2hNZWRpYSgiKGRpc3BsYXktbW9kZTogbWluaW1hbC11aSkiKS5tYXRjaGVzPyJXRUJfRElTUExBWV9NT0RFX01JTklNQUxfVUkiOl8udS5tYXRjaE1lZGlhKCIoZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSIpLm1hdGNoZXM/IldFQl9ESVNQTEFZX01PREVfRlVMTFNDUkVFTiI6Xy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChhKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwpfLlBqPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM9W107IlVTRVJfU0VTU0lPTl9JRCJpbiBfLlBpJiZjLnB1c2goe2tleToidSIsdmFsdWU6Xy53KCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKGM9Xy5QZChjKSliLkF1dGhvcml6YXRpb249YyxjPWE9YT8uc2Vzc2lvbkluZGV4LGM9PT12b2lkIDAmJihjPU51bWJlcihfLncoIlNFU1NJT05fSU5ERVgiLDApKSxjPWlzTmFOKGMpPzA6YyksXy54KCJ2b2ljZV9zZWFyY2hfYXV0aF9oZWFkZXJfcmVtb3ZhbCIpfHwoYlsiWC1Hb29nLUF1dGhVc2VyIl09Yy50b1N0cmluZygpKSwiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiaW4gXy5QaXx8KGJbIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksYT09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIF8uUGkmJihiWyJYLUdvb2ctUGFnZUlkIl09Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpKTtyZXR1cm4gYn07ClFqPWZ1bmN0aW9uKCl7dmFyIGE9Xy51Lm5hdmlnYXRvcjtyZXR1cm4gYT9hLmNvbm5lY3Rpb246dm9pZCAwfTtfLlNqPWZ1bmN0aW9uKCl7dmFyIGE9UWooKTtpZihhKXt2YXIgYj1SalthLnR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO2E9UmpbYS5lZmZlY3RpdmVUeXBlfHwidW5rbm93biJdfHwiQ09OTl9VTktOT1dOIjtiPT09IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiImJmEhPT0iQ09OTl9VTktOT1dOIiYmKGI9YSk7aWYoYiE9PSJDT05OX1VOS05PV04iKXJldHVybiBiO2lmKGEhPT0iQ09OTl9VTktOT1dOIilyZXR1cm4gYX19O18uVWo9ZnVuY3Rpb24oKXt2YXIgYT1RaigpO2lmKGE/LmVmZmVjdGl2ZVR5cGUpcmV0dXJuIFRqLmhhc093blByb3BlcnR5KGEuZWZmZWN0aXZlVHlwZSk/VGpbYS5lZmZlY3RpdmVUeXBlXToiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9VTktOT1dOIn07Xy5Xaj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gXy5WaigpLCEwfWNhdGNoKGEpe3JldHVybiExfX07Cl8uVmo9ZnVuY3Rpb24oYT0idW5rbm93biIpe2lmKF8udygiREFUQVNZTkNfSUQiKSE9PXZvaWQgMClyZXR1cm4gXy53KCJEQVRBU1lOQ19JRCIpO3Rocm93IG5ldyBfLlhqKCJEYXRhc3luYyBJRCBub3Qgc2V0IixhKTt9O18uWWo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDAsYil9O1pqPWZ1bmN0aW9uKGEsYil7dHJ5e2IoKX1jYXRjaChjKXthLkpiKGMpfX07Yms9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54KCJlbmFibGVfc2NoZWR1bGVyX3NpbXVsYXRlX3JhZiIpO2lmKGEub1s4XS5sZW5ndGgpe2lmKGEuaGEpcmV0dXJuIDQ7aWYoYil7aWYoIWEuaXNIaWRkZW4oKSlyZXR1cm4gYS5aPzM6NX1lbHNlIGlmKGFrKGEpKXJldHVybiAzfWZvcihsZXQgYz01O2M+PWEuQjtjLS0paWYoYS5vW2NdLmxlbmd0aD4wKXJldHVybiBjPjA/Yj9hLmlzSGlkZGVuKCk/MjphLlo/Mzo1OmFrKGEpPzM6MjoxO3JldHVybiAwfTsKY2s9ZnVuY3Rpb24oYSl7YS5nYS5sZW5ndGg9MDtmb3IobGV0IGI9NTtiPj0wO2ItLSlhLm9bYl0ubGVuZ3RoPTA7YS5vWzhdLmxlbmd0aD0wO2Eudj17fTthLnN0b3AoKX07YWs9ZnVuY3Rpb24oYSl7cmV0dXJuIWEuaXNIaWRkZW4oKSYmYS5afTtlaz1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgZGspaWYoYS5vW2JdLmxlbmd0aClyZXR1cm4hMDtyZXR1cm4hMX07CmhrPWZ1bmN0aW9uKGEsYixjKXthLmhhJiZhLkk9PT00JiZhLmp8fGEuc3RvcCgpO2EuRD0hMDtiPV8uRWEoKSsoYnx8YS5NKTtmb3IodmFyIGQ9YS5vWzVdO2QubGVuZ3RoOyl7dmFyIGU9ZC5zaGlmdCgpLGY9YS52W2VdO2RlbGV0ZSBhLnZbZV07aWYoZil7ZT1hO3RyeXtmKGMpfWNhdGNoKGgpe2UuSmIoaCl9fX1mb3IoZD1hLm9bNF07ZC5sZW5ndGg7KWM9ZC5zaGlmdCgpLGY9YS52W2NdLGRlbGV0ZSBhLnZbY10sZiYmWmooYSxmKTtkPWEueWE/MDoxO2Q9YS5CPmQ/YS5COmQ7aWYoIShfLkVhKCk+PWIpKXtkb3thOntjPWE7Zj1kO2ZvcihlPTM7ZT49ZjtlLS0pe2xldCBoPWMub1tlXTtmb3IoO2gubGVuZ3RoOyl7bGV0IGs9aC5zaGlmdCgpLGw9Yy52W2tdO2RlbGV0ZSBjLnZba107aWYobCl7Yz1sO2JyZWFrIGF9fX1jPW51bGx9YyYmWmooYSxjKX13aGlsZShjJiZfLkVhKCk8Yil9YS5EPSExO2ZrKGEpO2EuTT1naztlayhhKSYmYS5zdGFydCgpfTsKaWs9ZnVuY3Rpb24oYSl7YS5zdG9wKCk7YS5EPSEwO2Zvcih2YXIgYj1fLkVhKCksYz1hLm9bOF07Yy5sZW5ndGg7KXtsZXQgZD1jLnNoaWZ0KCksZT1hLnZbZF07ZGVsZXRlIGEudltkXTtlJiZaaihhLGUpfWZrKGEpO2EuRD0hMTtlayhhKSYmYS5zdGFydCgpO2I9Xy5FYSgpLWI7YS5NLT1ifTtmaz1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWEuZ2EubGVuZ3RoO2I8YztiKyspe2xldCBkPWEuZ2FbYl07YS5vW2QucHJpb3JpdHldLnB1c2goZC5pZCl9YS5nYS5sZW5ndGg9MH07a2s9ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2lmKCFhfHxhLmlhKCkpYT1uZXcgamsoXy53KCJzY2hlZHVsZXIiKXx8e30pLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixhKTtyZXR1cm4gYX07Cm1rPWZ1bmN0aW9uKCl7bGsoKTt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2EmJihfLlpkKGEpLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixudWxsKSl9O2xrPWZ1bmN0aW9uKCl7Y2soa2soKSk7Zm9yKGxldCBhIGluIG5rKW5rLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgbmtbTnVtYmVyKGEpXX07b2s9ZnVuY3Rpb24oYSxiLGMpe2lmKCFjKXJldHVybiBjPWM9PT12b2lkIDAsLWtrKCkuR2EoYSxiLGMpO3ZhciBkPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dmFyIGU9a2soKS5HYShhLGIpO25rW2RdPWV9LGMpO3JldHVybiBkfTtwaz1mdW5jdGlvbihhKXtraygpLlUoYSl9O3FrPWZ1bmN0aW9uKGEpe3ZhciBiPWtrKCk7aWYoYTwwKWIuQWEoLWEpO2Vsc2V7dmFyIGM9bmtbYV07Yz8oYi5BYShjKSxkZWxldGUgbmtbYV0pOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9fTtzaz1mdW5jdGlvbigpe3JrKCl9Owpyaz1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQodGspO2trKCkuc3RhcnQoKX07dms9ZnVuY3Rpb24oKXtraygpLnBhdXNlKCk7d2luZG93LmNsZWFyVGltZW91dCh0ayk7dGs9d2luZG93LnNldFRpbWVvdXQoc2ssdWspfTt5az1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQod2spO3drPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57eGsoMCl9LHVrKX07eGs9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj1hO2Iuc3RhcnQoKX07ems9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj5hJiYoYi5CPWEsYi5zdGFydCgpKX07QWs9ZnVuY3Rpb24oKXt3aW5kb3cuY2xlYXJUaW1lb3V0KHdrKTt2YXIgYT1raygpO2EuQj0wO2Euc3RhcnQoKX07Xy5Daz1mdW5jdGlvbigpe0JrLmluc3RhbmNlfHwoQmsuaW5zdGFuY2U9bmV3IEJrKTtyZXR1cm4gQmsuaW5zdGFuY2V9OwpFaz1mdW5jdGlvbigpe3JldHVybiBEaygpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTtfLklrPWZ1bmN0aW9uKGEpe0ZrfHwoXy5Haz9fLkdrLkpiKGEpOihfLkhrLnB1c2goe3R5cGU6IkVSUk9SIixwYXlsb2FkOmF9KSxfLkhrLmxlbmd0aD4xMCYmXy5Iay5zaGlmdCgpKSl9O0prPWZ1bmN0aW9uKGEsYil7Rmt8fChfLkdrP18uR2subG0oYSxiKTooXy5Iay5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOmEscGF5bG9hZDpifSksXy5Iay5sZW5ndGg+MTAmJl8uSGsuc2hpZnQoKSkpfTtLaz1mdW5jdGlvbihhKXtpZihhLmluZGV4T2YoIjoiKT49MCl0aHJvdyBFcnJvcigiaGEiKTt9O0xrPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN1YnN0cigwLGEuaW5kZXhPZigiOiIpKXx8YX07Xy5Naz1mdW5jdGlvbihhKXt2YXIgYj1fLmJjKCk7cmV0dXJuIGI/Yi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoYSk+PTA6ITF9OwpSaz1mdW5jdGlvbihhLGIsYyxkKXtiPUxrKGIpO3ZhciBlPWEgaW5zdGFuY2VvZiBFcnJvcj9hOkVycm9yKCJpYWAiK2EpO2lmKGUgaW5zdGFuY2VvZiBOaylyZXR1cm4gZTthPXtvYmplY3RTdG9yZU5hbWVzOmMsZGJOYW1lOmIsZGJWZXJzaW9uOmR9O2lmKGUubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IiKXJldHVybiBuZXcgTmsoIlFVT1RBX0VYQ0VFREVEIixhKTtpZihfLk9rJiZlLm5hbWU9PT0iVW5rbm93bkVycm9yIilyZXR1cm4gbmV3IE5rKCJRVU9UQV9NQVlCRV9FWENFRURFRCIsYSk7aWYoZSBpbnN0YW5jZW9mIFBrKXJldHVybiBuZXcgTmsoIk1JU1NJTkdfSU5ERVgiLHsuLi5hLG9iamVjdFN0b3JlOmUub2JqZWN0U3RvcmUsaW5kZXg6ZS5pbmRleH0pO2lmKGUubmFtZT09PSJJbnZhbGlkU3RhdGVFcnJvciImJlFrLnNvbWUoZj0+ZS5tZXNzYWdlLmluY2x1ZGVzKGYpKSlyZXR1cm4gbmV3IE5rKCJFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQiIsYSk7aWYoZS5uYW1lPT09CiJBYm9ydEVycm9yIilyZXR1cm4gbmV3IE5rKCJVTktOT1dOX0FCT1JUIixhLGUubWVzc2FnZSk7ZS5hcmdzPVt7Li4uYSxuYW1lOiJJZGJFcnJvciIsTW06ZS5uYW1lfV07ZS5sZXZlbD0iV0FSTklORyI7cmV0dXJuIGV9O1NrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1FaygpO3JldHVybiBuZXcgTmsoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOmEscHVibGljTmFtZTpiLHZlcnNpb246YyxoYXNTdWNjZWVkZWRPbmNlOmQ/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9O1RrPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCk7dGhyb3cgYTt9O1VrPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtYaz1mdW5jdGlvbihhLGIsYyxkLGUpe3RyeXtpZihhLnN0YXRlLnN0YXR1cyE9PSJGVUxGSUxMRUQiKXRocm93IEVycm9yKCJqYSIpO2xldCBmPWMoYS5zdGF0ZS52YWx1ZSk7ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfWNhdGNoKGYpe2UoZil9fTsKWWs9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0cnl7aWYoYS5zdGF0ZS5zdGF0dXMhPT0iUkVKRUNURUQiKXRocm93IEVycm9yKCJrYSIpO2xldCBmPWMoYS5zdGF0ZS5yZWFzb24pO2YgaW5zdGFuY2VvZiBfLlZrP1drKGEsYixmLGQsZSk6ZChmKX1jYXRjaChmKXtlKGYpfX07V2s9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPT09Yz9lKG5ldyBUeXBlRXJyb3IoImxhIikpOmMudGhlbihmPT57ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfSxmPT57ZShmKX0pfTtaaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9KCk9Pnt0cnl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJzdWNjZXNzIixlKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixmKX1jYXRjaHt9fSxlPSgpPT57YihhLnJlc3VsdCk7ZCgpfSxmPSgpPT57YyhhLmVycm9yKTtkKCl9O2EuYWRkRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsZSk7YS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZil9Owokaz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFByb21pc2UoKGIsYyk9PntaayhhLGIsYyl9KX07Ymw9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLlZrKG5ldyBhbCgoYixjKT0+e1prKGEsYixjKX0pKX07Y2w9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChjLGQpPT57dmFyIGU9KCk9Pnt2YXIgZj1hP2IoYSk6bnVsbDtmP2YudGhlbihoPT57YT1oO2UoKX0sZCk6YygpfTtlKCl9KSl9O2RsPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiaWRiX2ltbWVkaWF0ZV9jb21taXQiKX07Cl8uaWw9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e21vZGU6InJlYWRvbmx5IixrYjohMSx0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiJ9O3R5cGVvZiBjPT09InN0cmluZyI/ZS5tb2RlPWM6T2JqZWN0LmFzc2lnbihlLGMpO2EudHJhbnNhY3Rpb25Db3VudCsrO2M9ZS5rYj8zOjE7Zm9yKHZhciBmPTAsaDshaDspe2YrKztsZXQgbj1NYXRoLnJvdW5kKCgwLF8uZWwpKCkpO3RyeXt2YXIgaz1hLmoudHJhbnNhY3Rpb24oYixlLm1vZGUpLGw9ZCxtPSEhZS5jb21taXQ7bGV0IHA9bmV3IGZsKGspLHI9YXdhaXQgZ2wocCxsLG0pLHQ9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKTtobChhLG4sdCxmLHZvaWQgMCxiLmpvaW4oKSxlKTtyZXR1cm4gcn1jYXRjaChwKXtsPU1hdGgucm91bmQoKDAsXy5lbCkoKSk7bGV0IHI9UmsocCxhLmoubmFtZSxiLmpvaW4oKSxhLmoudmVyc2lvbik7aWYociBpbnN0YW5jZW9mIE5rJiYhci5qfHxmPj1jKWhsKGEsbixsLGYscixiLmpvaW4oKSwKZSksaD1yfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9O18ua2w9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLmNyZWF0ZU9iamVjdFN0b3JlKGIsYyk7cmV0dXJuIG5ldyBqbChhKX07Xy5tbD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uaWwoYSxbYl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9Pl8ubGwoZC5vYmplY3RTdG9yZShiKSxjKSl9OwpobD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtiPWMtYjtlPyhlIGluc3RhbmNlb2YgTmsmJihlLnR5cGU9PT0iUVVPVEFfRVhDRUVERUQifHxlLnR5cGU9PT0iUVVPVEFfTUFZQkVfRVhDRUVERUQiKSYmSmsoIlFVT1RBX0VYQ0VFREVEIix7ZGJOYW1lOkxrKGEuai5uYW1lKSxvYmplY3RTdG9yZU5hbWVzOmYsdHJhbnNhY3Rpb25Db3VudDphLnRyYW5zYWN0aW9uQ291bnQsdHJhbnNhY3Rpb25Nb2RlOmgubW9kZX0pLGUgaW5zdGFuY2VvZiBOayYmZS50eXBlPT09IlVOS05PV05fQUJPUlQiJiYoYy09YS52LGM8MCYmYz49MjE0NzQ4MzY0OCYmKGM9MCksSmsoIlRSQU5TQUNUSU9OX1VORVhQRUNURURMWV9BQk9SVEVEIix7b2JqZWN0U3RvcmVOYW1lczpmLHRyYW5zYWN0aW9uRHVyYXRpb246Yix0cmFuc2FjdGlvbkNvdW50OmEudHJhbnNhY3Rpb25Db3VudCxkYkR1cmF0aW9uOmN9KSxhLm89ITApLG5sKGEsITEsZCxmLGIsaC50YWcpLF8uSWsoZSkpOm5sKGEsITAsZCxmLGIsaC50YWcpfTsKbmw9ZnVuY3Rpb24oYSxiLGMsZCxlLGY9IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiIpe0prKCJUUkFOU0FDVElPTl9FTkRFRCIse29iamVjdFN0b3JlTmFtZXM6ZCxjb25uZWN0aW9uSGFzVW5rbm93bkFib3J0ZWRUcmFuc2FjdGlvbjphLm8sZHVyYXRpb246ZSxpc1N1Y2Nlc3NmdWw6Yix0cnlDb3VudDpjLHRhZzpmfSl9O18ubGw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYmwoYS5qLnB1dChiLHZvaWQgMCkpfTtfLm9sPWZ1bmN0aW9uKGEsYixjKXthLmouY3JlYXRlSW5kZXgoYixjLHt1bmlxdWU6ITF9KX07cWw9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLm9wZW5DdXJzb3IoYi5xdWVyeSxiLmRpcmVjdGlvbik7cmV0dXJuIHBsKGEpLnRoZW4oZD0+Y2woZCxjKSl9O3NsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGM9PmMuZGVsZXRlKCkudGhlbigoKT0+cmwoYykpKS50aGVuKCgpPT57fSl9Owp0bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtnbD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IFByb21pc2UoKGUsZik9Pnt0cnl7bGV0IGg9YihhKTtjJiZhLmNvbW1pdCgpO2gudGhlbihrPT57ZShrKX0pLmNhdGNoKGYpfWNhdGNoKGgpe2YoaCksYS5hYm9ydCgpfX0pO3JldHVybiBQcm9taXNlLmFsbChbZCxhLmRvbmVdKS50aGVuKChbZV0pPT5lKX07dWw9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7cXVlcnk6ZD1udWxsLGRpcmVjdGlvbjplPSJuZXh0In09YjthPWEuai5vcGVuQ3Vyc29yKGQsZSk7cmV0dXJuIHBsKGEpLnRoZW4oZj0+Y2woZixjKSl9Owp2bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHVsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtwbD1mdW5jdGlvbihhKXtyZXR1cm4gYmwoYSkudGhlbihiPT5iP25ldyB3bChhLGIpOm51bGwpfTtybD1mdW5jdGlvbihhKXthLmN1cnNvci5jb250aW51ZSh2b2lkIDApO3JldHVybiBwbChhLnJlcXVlc3QpfTsKeWw9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgUHJvbWlzZSgoZCxlKT0+e3ZhciBmPWIhPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihhLGIpOnNlbGYuaW5kZXhlZERCLm9wZW4oYSk7dmFyIGg9Yy5ibG9ja2VkLGs9Yy5ibG9ja2luZyxsPWMuVEEsbT1jLnVwZ3JhZGUsbj1jLmNsb3NlZCxwLHI9KCk9PntwfHwocD1uZXcgeGwoZi5yZXN1bHQse2Nsb3NlZDpufSkpO3JldHVybiBwfTtmLmFkZEV2ZW50TGlzdGVuZXIoInVwZ3JhZGVuZWVkZWQiLHQ9Pnt0cnl7aWYodC5uZXdWZXJzaW9uPT09bnVsbCl0aHJvdyBFcnJvcigibmEiKTtpZihmLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigib2EiKTt0LmRhdGFMb3NzJiZ0LmRhdGFMb3NzIT09Im5vbmUiJiZKaygiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOnQuZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpMayhhKX0pO2xldCB2PXIoKSx6PW5ldyBmbChmLnRyYW5zYWN0aW9uKTttJiYKbSh2LEU9PnQub2xkVmVyc2lvbjxFJiZ0Lm5ld1ZlcnNpb24+PUUseik7ei5kb25lLmNhdGNoKEU9PntlKEUpfSl9Y2F0Y2godil7ZSh2KX19KTtmLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLCgpPT57dmFyIHQ9Zi5yZXN1bHQ7ayYmdC5hZGRFdmVudExpc3RlbmVyKCJ2ZXJzaW9uY2hhbmdlIiwoKT0+e2socigpKX0pO3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT57SmsoIklEQl9VTkVYUEVDVEVETFlfQ0xPU0VEIix7ZGJOYW1lOkxrKGEpLGRiVmVyc2lvbjp0LnZlcnNpb259KTtsJiZsKCl9KTtkKHIoKSl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2UoZi5lcnJvcil9KTtoJiZmLmFkZEV2ZW50TGlzdGVuZXIoImJsb2NrZWQiLCgpPT57aCgpfSl9KX07emw9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiB5bChhLGIsYyl9OwpfLkFsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dHJ5e2xldCBjPXNlbGYuaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGEpLGQ9Yi5ibG9ja2VkO2QmJmMuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntkKCl9KTthd2FpdCAkayhjKX1jYXRjaChjKXt0aHJvdyBSayhjLGEsIiIsLTEpO319O0JsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBOaygiSU5DT01QQVRJQkxFX0RCX1ZFUlNJT04iLHtkYk5hbWU6YS5uYW1lLG9sZFZlcnNpb246YS5vcHRpb25zLnZlcnNpb24sbmV3VmVyc2lvbjpifSl9O18uQ2w9ZnVuY3Rpb24oYSxiKXtpZighYil0aHJvdyBTaygib3BlbldpdGhUb2tlbiIsTGsoYS5uYW1lKSk7cmV0dXJuIGEub3BlbigpfTsKRWw9YXN5bmMgZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5pbChhd2FpdCBfLkNsKERsLGIpLFsiZGF0YWJhc2VzIl0se2tiOiEwLG1vZGU6InJlYWR3cml0ZSJ9LGM9Pnt2YXIgZD1jLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKTtyZXR1cm4gZC5nZXQoYS5hY3R1YWxOYW1lKS50aGVuKGU9PntpZihlP2EuYWN0dWFsTmFtZSE9PWUuYWN0dWFsTmFtZXx8YS5wdWJsaWNOYW1lIT09ZS5wdWJsaWNOYW1lfHxhLnVzZXJJZGVudGlmaWVyIT09ZS51c2VySWRlbnRpZmllcjoxKXJldHVybiBfLmxsKGQsYSkudGhlbigoKT0+e30pfSl9KX07Xy5GbD1hc3luYyBmdW5jdGlvbihhLGIpe3JldHVybiBhPyhhd2FpdCBfLkNsKERsLGIpKS5kZWxldGUoImRhdGFiYXNlcyIsYSk6dm9pZCAwfTsKXy5HbD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPVtdO2I9YXdhaXQgXy5DbChEbCxiKTthd2FpdCBfLmlsKGIsWyJkYXRhYmFzZXMiXSx7a2I6ITAsbW9kZToicmVhZG9ubHkifSxkPT57Yy5sZW5ndGg9MDtyZXR1cm4gcWwoZC5vYmplY3RTdG9yZSgiZGF0YWJhc2VzIikse30sZT0+e2EoZS5jdXJzb3IudmFsdWUpJiZjLnB1c2goZS5jdXJzb3IudmFsdWUpO3JldHVybiBybChlKX0pfSk7cmV0dXJuIGN9O0hsPWZ1bmN0aW9uKGEpe3JldHVybiBfLkdsKGI9PmIucHVibGljTmFtZT09PSJMb2dzRGF0YWJhc2VWMiImJmIudXNlcklkZW50aWZpZXIhPT12b2lkIDAsYSl9OwpMbD1hc3luYyBmdW5jdGlvbigpe2lmKEVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIGE7aWYoYT1fLklsKWE9L1dlYktpdFwvKFswLTldKykvLmV4ZWMoXy5iYygpKSxhPSEhKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDApO2EmJihhPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKF8uYmMoKSksYT0hKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDIpKTtpZighKGE9YXx8Xy5KbCkpe3RyeXthPXNlbGY7dmFyIGI9ISEoYS5pbmRleGVkREImJmEuSURCSW5kZXgmJmEuSURCS2V5UmFuZ2UmJmEuSURCT2JqZWN0U3RvcmUpfWNhdGNoKGMpe2I9ITF9YT0hYn1pZihhfHwhKCJJREJUcmFuc2FjdGlvbiJpbiBzZWxmJiYib2JqZWN0U3RvcmVOYW1lcyJpbiBJREJUcmFuc2FjdGlvbi5wcm90b3R5cGUpKXJldHVybiExO3RyeXtyZXR1cm4gYXdhaXQgRWwoe2FjdHVhbE5hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLHB1YmxpY05hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLAp1c2VySWRlbnRpZmllcjp2b2lkIDB9LEtsKSxhd2FpdCBfLkZsKCJ5dC1pZGItdGVzdC1kby1ub3QtdXNlIixLbCksITB9Y2F0Y2goYyl7cmV0dXJuITF9fTtObD1mdW5jdGlvbigpe2lmKE1sIT09dm9pZCAwKXJldHVybiBNbDtGaz0hMDtyZXR1cm4gTWw9TGwoKS50aGVuKGE9PntGaz0hMTtpZihEaygpPy5vKCkpe3ZhciBiPXtoYXNTdWNjZWVkZWRPbmNlOkVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2V8fGF9O0RrKCk/LnNldCgiTEFTVF9SRVNVTFRfRU5UUllfS0VZIixiLDI1OTJFMywhMCl9cmV0dXJuIGF9KX07T2w9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zYSgieXRnbG9iYWwuaWRiVG9rZW5fIil8fHZvaWQgMH07Xy5QbD1mdW5jdGlvbigpe3ZhciBhPU9sKCk7cmV0dXJuIGE/UHJvbWlzZS5yZXNvbHZlKGEpOk5sKCkudGhlbihiPT57Yj8oXy5yYSgieXRnbG9iYWwuaWRiVG9rZW5fIixLbCksYj1LbCk6Yj12b2lkIDA7cmV0dXJuIGJ9KX07ClFsPWZ1bmN0aW9uKGEpe2lmKCFfLldqKCkpdGhyb3cgYT1uZXcgTmsoIkFVVEhfSU5WQUxJRCIse2RiTmFtZTphfSksXy5JayhhKSxhO3ZhciBiPV8uVmooKTtyZXR1cm57YWN0dWFsTmFtZTpgJHthfToke2J9YCxwdWJsaWNOYW1lOmEsdXNlcklkZW50aWZpZXI6Yn19OwpSbD1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1FcnJvcigpLnN0YWNrPz8iIixmPWF3YWl0IF8uUGwoKTtpZighZil0aHJvdyBiPVNrKCJvcGVuRGJJbXBsIixhLGIpLF8ueCgieXRpZGJfYXN5bmNfc3RhY2tfa2lsbHN3aXRjaCIpfHwoYi5zdGFjaz1gJHtiLnN0YWNrfVxuJHtlLnN1YnN0cmluZyhlLmluZGV4T2YoIlxuIikrMSl9YCksXy5JayhiKSxiO0trKGEpO2U9Yz97YWN0dWFsTmFtZTphLHB1YmxpY05hbWU6YSx1c2VySWRlbnRpZmllcjp2b2lkIDB9OlFsKGEpO3RyeXtyZXR1cm4gYXdhaXQgRWwoZSxmKSxhd2FpdCB6bChlLmFjdHVhbE5hbWUsYixkKX1jYXRjaChoKXt0cnl7YXdhaXQgXy5GbChlLmFjdHVhbE5hbWUsZil9Y2F0Y2h7fXRocm93IGg7fX07U2w9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiBSbChhLGIsITEsYyl9O1RsPWZ1bmN0aW9uKGEsYixjPXt9KXtyZXR1cm4gUmwoYSxiLCEwLGMpfTsKVWw9YXN5bmMgZnVuY3Rpb24oYSxiPXt9KXt2YXIgYz1hd2FpdCBfLlBsKCk7YyYmKEtrKGEpLGE9UWwoYSksYXdhaXQgXy5BbChhLmFjdHVhbE5hbWUsYiksYXdhaXQgXy5GbChhLmFjdHVhbE5hbWUsYykpfTtWbD1mdW5jdGlvbihhLGIsYyl7YT1hLm1hcChhc3luYyBkPT57YXdhaXQgXy5BbChkLmFjdHVhbE5hbWUsYik7YXdhaXQgXy5GbChkLmFjdHVhbE5hbWUsYyl9KTtyZXR1cm4gUHJvbWlzZS5hbGwoYSkudGhlbigoKT0+e30pfTtXbD1hc3luYyBmdW5jdGlvbigpe3ZhciBhPXt9LGI9YXdhaXQgXy5QbCgpO2lmKGIpe0trKCJMb2dzRGF0YWJhc2VWMiIpO3ZhciBjPWF3YWl0IEhsKGIpO2F3YWl0IFZsKGMsYSxiKX19O1hsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dmFyIGM9YXdhaXQgXy5QbCgpO2MmJihLayhhKSxhd2FpdCBfLkFsKGEsYiksYXdhaXQgXy5GbChhLGMpKX07Wmw9ZnVuY3Rpb24oYSxiKXt2YXIgYztyZXR1cm4oKT0+e2N8fChjPW5ldyBZbChhLGIpKTtyZXR1cm4gY319OwpfLiRsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFpsKGEsYil9O2JtPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNsKGFtKCksYSl9O2NtPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLHRpbWVzdGFtcDooMCxfLmVsKSgpfTtjPWF3YWl0IGJtKGMpO2F3YWl0IGMuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IF8ubWwoYywiaG90Q29uZmlnU3RvcmUiLGEpfTtkbT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLGNvbmZpZ0RhdGE6Yyx0aW1lc3RhbXA6KDAsXy5lbCkoKX07ZD1hd2FpdCBibShkKTthd2FpdCBkLmNsZWFyKCJjb2xkQ29uZmlnU3RvcmUiKTtyZXR1cm4gYXdhaXQgXy5tbChkLCJjb2xkQ29uZmlnU3RvcmUiLGEpfTsKZW09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBibShhKTt2YXIgYj12b2lkIDA7YXdhaXQgXy5pbChhLFsiY29sZENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImNvbGRDb25maWdTdG9yZSIpLmluZGV4KCJjb2xkVGltZXN0YW1wSW5kZXgiKSx7ZGlyZWN0aW9uOiJwcmV2In0sZD0+e2I9ZC5jdXJzb3IudmFsdWV9KSk7cmV0dXJuIGJ9O2ZtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgYm0oYSk7dmFyIGI9dm9pZCAwO2F3YWl0IF8uaWwoYSxbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGQ9PntiPWQuY3Vyc29yLnZhbHVlfSkpO3JldHVybiBifTsKZ209YXN5bmMgZnVuY3Rpb24oYSxiLGMpe2lmKF8ueCgic3RhcnRfY2xpZW50X2djZiIpKXtjJiYoYS52PWMsXy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIsYS52fHxudWxsKSk7YS5CKGIpO2xldCBkPU9sKCk7ZCYmKGN8fChjPShhd2FpdCBmbShkKSk/LmNvbmZpZyksYXdhaXQgY20oYyxiLGQpKTtpZihjKXthPWEubztmb3IobGV0IGUgb2YgYS5qKWUoYyl9fX07aG09YXN5bmMgZnVuY3Rpb24oYSxiLGMpe18ueCgic3RhcnRfY2xpZW50X2djZiIpJiYoYS5jb2xkSGFzaERhdGE9YixfLnJhKCJ5dC5nY2YuY29uZmlnLmNvbGRIYXNoRGF0YSIsYS5jb2xkSGFzaERhdGF8fG51bGwpLGE9T2woKSkmJihjfHwoYz0oYXdhaXQgZW0oYSkpPy5jb25maWcpLGMmJmF3YWl0IGRtKGMsYixjLmNvbmZpZ0RhdGEsYSkpfTsKXy5qbT1mdW5jdGlvbigpe2lmKCFpbS5pbnN0YW5jZSl7dmFyIGE9bmV3IGltO2ltLmluc3RhbmNlPWF9YT1pbS5pbnN0YW5jZTt2YXIgYj0oMCxfLmVsKSgpLWEuajtpZighKGEuaiE9PTAmJmI8Xy5zaigic2VuZF9jb25maWdfaGFzaF90aW1lciIpKSl7Yj1fLnNhKCJ5dC5nY2YuY29uZmlnLmNvbGRDb25maWdEYXRhIik7dmFyIGM9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIpLGQ9Xy5zYSgieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiKTtiJiZjJiZkJiYoYS5qPSgwLF8uZWwpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpiLGhvdEhhc2hEYXRhOmMsY29sZEhhc2hEYXRhOmR9fX07a209ZnVuY3Rpb24oKXtyZXR1cm4iSU5ORVJUVUJFX0FQSV9LRVkiaW4gXy5QaSYmIklOTkVSVFVCRV9BUElfVkVSU0lPTiJpbiBfLlBpfTsKbG09ZnVuY3Rpb24oKXtyZXR1cm57aW5uZXJ0dWJlQXBpS2V5Ol8udygiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOl8udygiSU5ORVJUVUJFX0FQSV9WRVJTSU9OIiksd3g6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfQ09ORklHX0lORk8iKSxtcTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIikscUo6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSksaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb246Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpLHl4Ol8udygiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSx4eDpfLncoIklOTkVSVFVCRV9DT05URVhUX0dMIikseng6Xy53KCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSIpfHwiIixBeDohIV8udygiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSkscko6ISFfLncoIklOTkVSVFVCRV9PTUlUX0FQSV9LRVlfV0hFTl9BVVRIX0hFQURFUl9JU19QUkVTRU5UIiwKITEpLGFwcEluc3RhbGxEYXRhOl8udygiU0VSSUFMSVpFRF9DTElFTlRfQ09ORklHX0RBVEEiKX19OwptbT1mdW5jdGlvbihhKXt2YXIgYj17Y2xpZW50OntobDphLnl4LGdsOmEueHgsY2xpZW50TmFtZTphLm1xLGNsaWVudFZlcnNpb246YS5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbixjb25maWdJbmZvOmEud3h9fTtuYXZpZ2F0b3IudXNlckFnZW50JiYoYi5jbGllbnQudXNlckFnZW50PVN0cmluZyhuYXZpZ2F0b3IudXNlckFnZW50KSk7dmFyIGM9Xy51LmRldmljZVBpeGVsUmF0aW87YyYmYyE9MSYmKGIuY2xpZW50LnNjcmVlbkRlbnNpdHlGbG9hdD1TdHJpbmcoYykpO2M9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpO2MhPT0iIiYmKGIuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49Yyk7Yz1fLnVqKCk7Yy5sZW5ndGg+MCYmKGIucmVxdWVzdD17aW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6Y30pO2M9YS5tcTtjIT09IldFQiImJmMhPT0iTVdFQiImJmMhPT0xJiZjIT09Mnx8IWJ8fChiLmNsaWVudC5tYWluQXBwV2ViSW5mbz1iLmNsaWVudC5tYWluQXBwV2ViSW5mbz8/e30sCmIuY2xpZW50Lm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSk7KGM9Xy5zYSgieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpKSYmYiYmKGIudGhpcmRQYXJ0eT17ZW1iZWRVcmw6Y30pO18ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGM9Xy51Lm5hdmlnYXRvcj8uZGV2aWNlTWVtb3J5LGImJihiLmNsaWVudC5tZW1vcnlUb3RhbEtieXRlcz1gJHtjKjFFNn1gKSk7YS5hcHBJbnN0YWxsRGF0YSYmYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYi5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1hLmFwcEluc3RhbGxEYXRhKTsoYT1fLlNqKCkpJiZiJiYoYi5jbGllbnQuY29ubmVjdGlvblR5cGU9YSk7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGE9Xy5VaigpKSYmYiYmKGIuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPQphKTtpZihfLngoInN0YXJ0X2NsaWVudF9nY2YiKSl7dmFyIGQ9Xy5qbSgpO2QmJihhPWQuY29sZENvbmZpZ0RhdGEsYz1kLmNvbGRIYXNoRGF0YSxkPWQuaG90SGFzaERhdGEsYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYSYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YSksYyYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPWMpLGQmJihiLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWQpKSl9Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpJiYhXy54KCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoYi51c2VyPXtvbkJlaGFsZk9mVXNlcjpfLncoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIil9KTshXy54KCJmaWxsX2RlbGVnYXRlX2NvbnRleHRfaW5fZ2VsX2tpbGxzd2l0Y2giKSYmKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9TRVJJQUxJWkVEX0RFTEVHQVRJT05fQ09OVEVYVCIpKSYmKGIudXNlcj0Key4uLmIudXNlcixzZXJpYWxpemVkRGVsZWdhdGlvbkNvbnRleHQ6YX0pO2E9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO18ueCgiZW5hYmxlX3BlcnNpc3RlbnRfZGV2aWNlX3Rva2VuIikmJmE/LmNsaWVudD8ucm9sbG91dFRva2VuJiYoYi5jbGllbnQucm9sbG91dFRva2VuPWE/LmNsaWVudD8ucm9sbG91dFRva2VuKTthPU9iamVjdDtjPWEuYXNzaWduO2Q9Yi5jbGllbnQ7dmFyIGU9Xy53KCJERVZJQ0UiLCIiKSxmPXt9O2ZvcihsZXQgW2gsa11vZiBPYmplY3QuZW50cmllcyhfLmJqKGUpKSllPWgsZT09PSJjYnJhbmQiP2YuZGV2aWNlTWFrZT1rOmU9PT0iY21vZGVsIj9mLmRldmljZU1vZGVsPWs6ZT09PSJjYnIiP2YuYnJvd3Nlck5hbWU9azplPT09ImNicnZlciI/Zi5icm93c2VyVmVyc2lvbj1rOmU9PT0iY29zIj9mLm9zTmFtZT1rOmU9PT0iY29zdmVyIj9mLm9zVmVyc2lvbj1rOmU9PT0iY3BsYXRmb3JtIiYmKGYucGxhdGZvcm09ayk7Yi5jbGllbnQ9Yy5jYWxsKGEsZCxmKTsKXy54KCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoYi5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsYi5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIGJ9OwpvbT1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9e307Xy53KCJFT01fVklTSVRPUl9EQVRBIik/ZD17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Xy53KCJFT01fVklTSVRPUl9EQVRBIil9OmQ9eyJYLUdvb2ctVmlzaXRvci1JZCI6Yy52aXNpdG9yRGF0YXx8Xy53KCJWSVNJVE9SX0RBVEEiLCIiKX07aWYoYiYmYi5pbmNsdWRlcygid3d3LnlvdXR1YmUtbm9jb29raWUuY29tIikpcmV0dXJuIGQ7Yj1jLmF1dGhvcml6YXRpb258fF8udygiQVVUSE9SSVpBVElPTiIpO2J8fChhP2I9YEJlYXJlciAke18uc2EoImdhcGkuYXV0aC5nZXRUb2tlbiIpKCkuT0h9YDooXy5ubS5pbnN0YW5jZXx8KF8ubm0uaW5zdGFuY2U9bmV3IF8ubm0pLGE9Xy5QaigpLF8ueCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIGFbIlgtR29vZy1QYWdlSWQiXSxkPXsuLi5kLC4uLmF9KSk7YiYmKGQuQXV0aG9yaXphdGlvbj1iKTtyZXR1cm4gZH07Cl8ucG09ZnVuY3Rpb24oYSl7dGhpcy52ZXJzaW9uPTE7dGhpcy5hcmdzPWF9O18ucW09ZnVuY3Rpb24oYSxiKXt0aGlzLnRvcGljPWE7dGhpcy5qPWJ9O18uc209ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnJtKCk7YyYmYy5wdWJsaXNoLmNhbGwoYyxhLnRvU3RyaW5nKCksYSxiKX07Xy5ybT1mdW5jdGlvbigpe3JldHVybiBfLnNhKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKX07dG09ZnVuY3Rpb24oYSxiLGM9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixjLnNhbXBsZVJhdGUvMTAwKSYmXy5zbSgibWV0YV9sb2dnaW5nX2NzaV9ldmVudCIse3RpbWVyTmFtZTphLHRpbWVsaW5lRGF0YTpifSl9OwpBbT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17c3RhcnRUaW1lOigwLF8uZWwpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD1fLnVtKGIpO2lmKGg9PW51bGx8fCEoaD5fLndtfHxoPF8ueG0pKXt2YXIgZj1fLk5pKCgwLF8ueW0pKGIpKTtsZXQgaz0oMCxfLmVsKSgpO2UudGlja3MuZ2VsYz1rO3ptKys7Xy54KCJnZWxfY29tcHJlc3Npb25fY3NpX2tpbGxzd2l0Y2giKXx8IV8ueCgibG9nX2dlbF9jb21wcmVzc2lvbl9sYXRlbmN5IikmJiFfLngoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeV9sciIpfHx0bSgiZ2VsX2NvbXByZXNzaW9uIixlLHtzYW1wbGVSYXRlOi4xfSk7Yy5oZWFkZXJzfHwoYy5oZWFkZXJzPXt9KTtjLmhlYWRlcnNbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7Yy5wb3N0Qm9keT1mO2MucG9zdFBhcmFtcz12b2lkIDB9ZChhLGMpfWNhdGNoKGgpe18uV2koaCksZChhLGMpfX07Cl8udW09ZnVuY3Rpb24oYSl7dHJ5e3JldHVybihuZXcgQmxvYihhLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksbnVsbH19O0JtPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5KYXx8YS54aX07RG09ZnVuY3Rpb24oYSl7Qm0oYSkmJiFhLmFoJiYoYS5PYz0hMCxhLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLmNiLk91KGEuSmEpLENtKGEpLGEuU2EuU2IoKSYmYS5vKCksYS5TYS5saXN0ZW4oYS5LbSxhLm8uYmluZChhKSksYS5TYS5saXN0ZW4oYS5GbSxhLnYuYmluZChhKSkpfTtDbT1mdW5jdGlvbihhKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInhhIik7YS5jYi5XcCgiUVVFVUVEIixhLkphKS50aGVuKGI9PntiJiYhRW0oYSxiLGEuQ3IpP2EuRGMucGIoYXN5bmMoKT0+e2IuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphKTtDbShhKX0pOmEuU2EuU2IoKSYmYS5vKCl9KX07CkdtPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoIUJtKGEpKXRocm93IEVycm9yKCJzYSIpO2IuaWQhPT12b2lkIDAmJihhd2FpdCBhLmNiLkF5KGIuaWQsYS5KYSl8fGEuVGYoRXJyb3IoInRhIikpKTtFbShhLGIsYS5Lcik/KGIuc2tpcFJldHJ5fHwoYj1GbShhLGIpKSxiJiYoYi5za2lwUmV0cnkmJmIuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSxhLkdkKGIudXJsLGIub3B0aW9ucywhIWIuc2tpcFJldHJ5KSkpOihhLlRmKEVycm9yKCJ1YSIpKSxiLmlkIT09dm9pZCAwJiZhd2FpdCBhLmNiLkZmKGIuaWQsYS5KYSkpfTtIbT1mdW5jdGlvbihhLGIpe2EuTHMmJiFhLlNhLlNiKCk/YS5McyhiKTphLmhhbmRsZUVycm9yKGIpfTtFbT1mdW5jdGlvbihhLGIsYyl7Yj1iLnRpbWVzdGFtcDtyZXR1cm4gYS5ub3coKS1iPj1jPyExOiEwfTsKRm09ZnVuY3Rpb24oYSxiKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInZhIik7dmFyIGM9Yi5vcHRpb25zLm9uRXJyb3I/Yi5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9O2Iub3B0aW9ucy5vbkVycm9yPWFzeW5jKGUsZik9Pnt2YXIgaD1JbShmKSxrPUptKGYpO2smJmEuS2EmJmEuS2EoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJmEuaGFuZGxlRXJyb3IoRXJyb3IoIndhIiksYi51cmwsZik7aWYoYS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmaHx8YS5LYSYmIWEuS2EoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmEucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPD1hLktqKWlmKGEuU2EuUWomJmF3YWl0IGEuU2EuUWooKSwhYS5TYS5TYigpKXtjKGUsZik7YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmYj8uaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCExKTtyZXR1cm59YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmCiFoJiZhLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5hLktqfHwoYS5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKyxiPy5pZCE9PXZvaWQgMCYmKGIuc2VuZENvdW50PGEuTXI/KGF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCEwLGs/ITE6dm9pZCAwKSxhLkRjLnBiKCgpPT57YS5TYS5TYigpJiZhLm8oKX0sYS5McikpOmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSksYyhlLGYpKX07dmFyIGQ9Yi5vcHRpb25zLm9uU3VjY2Vzcz9iLm9wdGlvbnMub25TdWNjZXNzOigpPT57fTtiLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKGUsZik9PntiPy5pZCE9PXZvaWQgMCYmYXdhaXQgYS5jYi5GZihiLmlkLGEuSmEpO2EuU2EuZWYmJmEuS2EmJmEuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmYS5TYS5lZighMCk7ZChlLGYpfTtyZXR1cm4gYn07SW09ZnVuY3Rpb24oYSl7cmV0dXJuKGE9YT8uZXJyb3I/LmNvZGUpJiZhPj00MDAmJmE8PTU5OT8hMTohMH07CkptPWZ1bmN0aW9uKGEpe2E9YT8uZXJyb3I/LmNvZGU7cmV0dXJuIShhIT09NDAwJiZhIT09NDE1KX07CkxtPWZ1bmN0aW9uKCl7aWYoS20pcmV0dXJuIEttKCk7S209Xy4kbCgiTG9nc0RhdGFiYXNlVjIiLHtzZTp7TG9nc1JlcXVlc3RzU3RvcmU6e1BkOjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShhLGIsYyl7YigyKSYmXy5rbChhLCJMb2dzUmVxdWVzdHNTdG9yZSIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSk7YigzKTtiKDUpJiYoYz1jLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLGMuai5pbmRleE5hbWVzLmNvbnRhaW5zKCJuZXdSZXF1ZXN0IikmJmMuai5kZWxldGVJbmRleCgibmV3UmVxdWVzdCIpLF8ub2woYywibmV3UmVxdWVzdFYyIixbInN0YXR1cyIsImludGVyZmFjZSIsInRpbWVzdGFtcCJdKSk7Yig3KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoInNhcGlzaWQiKSYmYS5qLmRlbGV0ZU9iamVjdFN0b3JlKCJzYXBpc2lkIik7Yig5KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoIlNXSGVhbHRoTG9nIikmJmEuai5kZWxldGVPYmplY3RTdG9yZSgiU1dIZWFsdGhMb2ciKX0sCnZlcnNpb246OX0pO3JldHVybiBLbSgpfTtNbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChMbSgpLGEpfTtPbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtiPWF3YWl0IE1tKGIpO2E9ey4uLmEsb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGEub3B0aW9ucykpLGludGVyZmFjZTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwwKX07YT1hd2FpdCBfLm1sKGIsIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGF9OwpQbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9SRUFEIn0sdGlja3M6e319O2I9YXdhaXQgTW0oYik7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksZT1bYSxkLDBdO2Q9W2EsZCwoMCxfLmVsKSgpXTt2YXIgZj1JREJLZXlSYW5nZS5ib3VuZChlLGQpLGg9InByZXYiO18ueCgidXNlX2ZpZm9fZm9yX25ldHdvcmtsZXNzIikmJihoPSJuZXh0Iik7dmFyIGs9dm9pZCAwO2U9YT09PSJORVciPyJyZWFkd3JpdGUiOiJyZWFkb25seSI7Xy54KCJ1c2VfcmVhZG9ubHlfZm9yX2dldF9tb3N0X3JlY2VudF9ieV9zdGF0dXNfa2lsbHN3aXRjaCIpJiYoZT0icmVhZHdyaXRlIik7YXdhaXQgXy5pbChiLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTplLGtiOiEwfSxsPT51bChsLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmYsZGlyZWN0aW9uOmh9LG09PnttLmN1cnNvci52YWx1ZSYmKGs9bS5jdXJzb3IudmFsdWUsYT09PSJORVciJiYoay5zdGF0dXM9IlFVRVVFRCIsbS51cGRhdGUoaykpKX0pKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGt9O1FtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaWwoYXdhaXQgTW0oYiksWyJMb2dzUmVxdWVzdHNTdG9yZSJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT57dmFyIGQ9Yy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKTtyZXR1cm4gZC5nZXQoYSkudGhlbihlPT57aWYoZSlyZXR1cm4gZS5zdGF0dXM9IlFVRVVFRCIsXy5sbChkLGUpLnRoZW4oKCk9PmUpfSl9KX07ClJtPWFzeW5jIGZ1bmN0aW9uKGEsYixjPSEwLGQpe3JldHVybiBfLmlsKGF3YWl0IE1tKGIpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sZT0+e3ZhciBmPWUub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGYuZ2V0KGEpLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsYyYmKGguc2VuZENvdW50Kz0xKSxkIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWQpLF8ubGwoZixoKS50aGVuKCgpPT5oKSk6Xy5Way5yZXNvbHZlKHZvaWQgMCkpfSl9O1NtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuKGF3YWl0IE1tKGIpKS5kZWxldGUoIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKX07ClRtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgTW0oYSk7dmFyIGI9KDAsXy5lbCkoKS0yNTkyRTY7YXdhaXQgXy5pbChhLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sYz0+cWwoYy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxkPT57aWYoZC5jdXJzb3IudmFsdWUudGltZXN0YW1wPD1iKXJldHVybiBkLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGQpKX0pKX07VW09YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBXbCgpfTtObT1mdW5jdGlvbihhKXtfLngoIm53bF9jc2lfa2lsbHN3aXRjaCIpfHx0bSgibmV0d29ya2xlc3NfcGVyZm9ybWFuY2UiLGEse3NhbXBsZVJhdGU6MX0pfTtXbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChWbSgpLGEpfTsKWG09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBXbShhKTt2YXIgYj0oMCxfLmVsKSgpLTI1OTJFNjthd2FpdCBfLmlsKGEsWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT5xbChjLm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGQ9PntpZihkLmN1cnNvci52YWx1ZS50aW1lc3RhbXA8PWIpcmV0dXJuIGQuZGVsZXRlKCkudGhlbigoKT0+cmwoZCkpfSkpfTtZbT1hc3luYyBmdW5jdGlvbihhKXthd2FpdCAoYXdhaXQgV20oYSkpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKXy5hbj1mdW5jdGlvbihhLGIsYyxkLGU9IiIsZj0hMSxoPSExKXtpZihhKWlmKGMmJiFfLk1rKCJjb2JhbHQiKSlfLldpKG5ldyBfLlhqKCJMZWdhY3kgcmVmZXJyZXItc2NydWJiZWQgcGluZyBkZXRlY3RlZCIpKSxhJiZabShhLHZvaWQgMCx7c2NydWJSZWZlcnJlcjohMH0pO2Vsc2UgaWYoZSl4aihhLGIsIlBPU1QiLGUsZCk7ZWxzZSBpZihfLncoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8ZHx8aCl4aihhLGIsIkdFVCIsIiIsZCx2b2lkIDAsZixoKTtlbHNle2I6e3RyeXtjOnt2YXIgaz1uZXcgJG0oe3VybDphfSk7aWYoay5qLmRzaD09PSIxIil2YXIgbD1udWxsO2Vsc2V7dmFyIG09ay5qLmFlO2lmKG09PT0iMSIpe2xldCByPWsuai5hZHVybDtpZihyKXRyeXtsPXt2ZXJzaW9uOjMsbXY6ZGVjb2RlVVJJQ29tcG9uZW50KHIpLHp1OklhKGsubywiYWN0PTEiLCJyaT0xIixLYShrKSl9O2JyZWFrIGN9Y2F0Y2godCl7fX1sPW09PT0iMiI/e3ZlcnNpb246NCwKbXY6SWEoay5vLCJkY3Q9MSIsInN1aWQ9IitrLnYsInJpPTEiKSx6dTpJYShrLm8sImFjdD0xIiwicmk9MSIsInN1aWQ9IitrLnYpfTpudWxsfX1pZihsKXtsZXQgcj1fLlFiKGEpO3ZhciBuPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxfLlpiKGEsInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31uPSExfWlmKG4pe2I6e3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihhLCIiKSl7dmFyIHA9ITA7YnJlYWsgYn19Y2F0Y2gocil7fXA9ITF9cD8oYiYmYigpLGM9ITApOmM9ITF9ZWxzZSBjPSExO2N8fFptKGEsYil9fTsKWm09ZnVuY3Rpb24oYSxiLGM9e30pe3ZhciBkPW5ldyBJbWFnZSxlPSIiK2JuKys7Y25bZV09ZDtkLm9ubG9hZD1kLm9uZXJyb3I9KCk9PntiJiZjbltlXSYmYigpO2RlbGV0ZSBjbltlXX07Yy5zY3J1YlJlZmVycmVyJiYoZC5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtkLnNyYz1hfTtmbj1mdW5jdGlvbigpe2RufHwoZG49bmV3IF8uZW4oInl0Lm9mZmxpbmUiKSk7cmV0dXJuIGRufTtnbj1mdW5jdGlvbihhKXtpZihfLngoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIGI9Zm4oKS5nZXQoImVycm9ycyIsITApfHx7fTtiW2EubWVzc2FnZV09e25hbWU6YS5uYW1lLHN0YWNrOmEuc3RhY2t9O2EubGV2ZWwmJihiW2EubWVzc2FnZV0ubGV2ZWw9YS5sZXZlbCk7Zm4oKS5zZXQoImVycm9ycyIsYiwyNTkyRTMsITApfX07CmpuPWZ1bmN0aW9uKCl7aWYoIWhuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrUmVxdWVzdE1vbml0b3IuaW5zdGFuY2UiKXx8bmV3IGhuO18ucmEoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIsYSk7aG4uaW5zdGFuY2U9YX1yZXR1cm4gaG4uaW5zdGFuY2V9O2xuPWZ1bmN0aW9uKCl7aWYoIWtuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcga247Xy5yYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLGEpO2tuLmluc3RhbmNlPWF9cmV0dXJuIGtuLmluc3RhbmNlfTsKbW49ZnVuY3Rpb24oYSxiKXthLnJhdGVMaW1pdD9hLmo/KF8uamYuQWEoYS5EKSxhLkQ9Xy5qZi5wYigoKT0+e2EuQiE9PWImJihhLmRpc3BhdGNoRXZlbnQoYiksYS5CPWIsYS5qPSgwLF8uZWwpKCkpfSxhLnJhdGVMaW1pdC0oKDAsXy5lbCkoKS1hLmopKSk6KGEuZGlzcGF0Y2hFdmVudChiKSxhLkI9YixhLmo9KDAsXy5lbCkoKSk6YS5kaXNwYXRjaEV2ZW50KGIpfTsKXy5wbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Lm5ldHdvcmtsZXNzUmVxdWVzdENvbnRyb2xsZXIuaW5zdGFuY2UiKTthfHwoYT1uZXcgbm4sXy5yYSgieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsYSksXy54KCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJl8uUGwoKS50aGVuKGI9PnthLkphPWI7RG0oYSk7YS5CLnJlc29sdmUoKTthLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLkphJiZYbShhLkphKTtfLngoIm5ldHdvcmtsZXNzX2ltbWVkaWF0ZWx5X2Ryb3Bfc3dfaGVhbHRoX3N0b3JlIikmJm9uKGEpfSkpO3JldHVybiBhfTtvbj1hc3luYyBmdW5jdGlvbihhKXtpZighYS5KYSl0aHJvdyBTaygiY2xlYXJTV0hlYWx0aExvZ3NEYiIpO1ltKGEuSmEpLmNhdGNoKGI9PnthLmhhbmRsZUVycm9yKGIpfSl9Owpxbj1mdW5jdGlvbihhLGIsYyl7Yj1fLngoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sYik6YjtfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Yi5oZWFkZXJzJiZfLmZqKGEpJiYoYi5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxfLmVsKSgpKSkpOmIucG9zdFBhcmFtcz8ucmVxdWVzdFRpbWVNcyYmKGIucG9zdFBhcmFtcy5yZXF1ZXN0VGltZU1zPU1hdGgucm91bmQoKDAsXy5lbCkoKSkpO2MmJk9iamVjdC5rZXlzKGIpLmxlbmd0aD09PTA/Xy5hbihhKTpiLmNvbXByZXNzP2IucG9zdEJvZHk/KHR5cGVvZiBiLnBvc3RCb2R5IT09InN0cmluZyImJihiLnBvc3RCb2R5PUpTT04uc3RyaW5naWZ5KGIucG9zdEJvZHkpKSxBbShhLGIucG9zdEJvZHksYixfLnpqKSk6QW0oYSxKU09OLnN0cmluZ2lmeShiLnBvc3RQYXJhbXMpLGIsQWopOl8uemooYSxiKX07CnJuPWZ1bmN0aW9uKGEsYil7Xy54KCJ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXIiKSYmXy5maihhKSYmKGIuaGVhZGVyc3x8KGIuaGVhZGVycz17fSksYi5oZWFkZXJzWyJYLUdvb2ctRXZlbnQtVGltZSJdPUpTT04uc3RyaW5naWZ5KE1hdGgucm91bmQoKDAsXy5lbCkoKSkpKTtyZXR1cm4gYn07Xy5zbj1mdW5jdGlvbigpe3JldHVybiBfLlBiKGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCkpIT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSJ9Owp2bj1mdW5jdGlvbihhLGIsYyxkKXshXy53KCJWSVNJVE9SX0RBVEEiKSYmYiE9PSJ2aXNpdG9yX2lkIiYmTWF0aC5yYW5kb20oKTwuMDEmJl8uV2kobmV3IF8uWGooIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLGIsYyxkKSk7aWYoIWEuaXNSZWFkeSgpKXRocm93IGE9bmV3IF8uWGooImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixiLGMsZCksXy5VaShhKSxhO3ZhciBlPXtoZWFkZXJzOmQuaGVhZGVyc3x8e30sbWV0aG9kOiJQT1NUIixwb3N0UGFyYW1zOmMscG9zdEJvZHk6ZC5wb3N0Qm9keSxwb3N0Qm9keUZvcm1hdDpkLnBvc3RCb2R5Rm9ybWF0fHwiSlNPTiIsb25UaW1lb3V0OigpPT57ZC5vblRpbWVvdXQoKX0sb25GZXRjaFRpbWVvdXQ6ZC5vblRpbWVvdXQsb25TdWNjZXNzOihtLG4pPT57aWYoZC5vblN1Y2Nlc3MpZC5vblN1Y2Nlc3Mobil9LG9uRmV0Y2hTdWNjZXNzOm09PntpZihkLm9uU3VjY2VzcylkLm9uU3VjY2VzcyhtKX0sCm9uUHJvZ3Jlc3M6bT0+e2lmKGQub25Qcm9ncmVzcylkLm9uUHJvZ3Jlc3MobSl9LG9uRXJyb3I6KG0sbik9PntpZihkLm9uRXJyb3IpZC5vbkVycm9yKG4pfSxvbkZldGNoRXJyb3I6bT0+e2lmKGQub25FcnJvcilkLm9uRXJyb3IobSl9LHRpbWVvdXQ6ZC50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpkLmNvbXByZXNzfTtlLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwoZS5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO2M9IiI7dmFyIGY9YS5jb25maWdfLnp4O2YmJihjPWYpO2Y9YS5jb25maWdfLkF4fHwhMTt2YXIgaD1vbShmLGMsZCk7T2JqZWN0LmFzc2lnbihlLmhlYWRlcnMsaCk7ZS5oZWFkZXJzLkF1dGhvcml6YXRpb24mJiFjJiZmJiYoZS5oZWFkZXJzWyJ4LW9yaWdpbiJdPXdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO3ZhciBrPWRqKGAke2N9JHtgL3lvdXR1YmVpLyR7YS5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7Yn1gfWAsCnthbHQ6Impzb24ifSksbD0obT0hMSk9Pnt0cnl7aWYobSYmZC5yZXRyeSYmIWQubmV0d29ya2xlc3NPcHRpb25zLmJ5cGFzc05ldHdvcmtsZXNzKWUubWV0aG9kPSJQT1NUIixkLm5ldHdvcmtsZXNzT3B0aW9ucy53cml0ZVRoZW5TZW5kP18ucG4oKS53cml0ZVRoZW5TZW5kKGssZSk6Xy5wbigpLnNlbmRBbmRXcml0ZShrLGUpO2Vsc2UgaWYoZC5jb21wcmVzcylpZihlLnBvc3RCb2R5KXtsZXQgbj1lLnBvc3RCb2R5O3R5cGVvZiBuIT09InN0cmluZyImJihuPUpTT04uc3RyaW5naWZ5KGUucG9zdEJvZHkpKTtBbShrLG4sZSxfLnpqKX1lbHNlIEFtKGssSlNPTi5zdHJpbmdpZnkoZS5wb3N0UGFyYW1zKSxlLEFqKTtlbHNlIEFqKGssZSl9Y2F0Y2gobil7aWYobi5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpXy5XaShFcnJvcigieWEiKSk7ZWxzZSB0aHJvdyBuO319OyhfLnNhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIpP18udG4uaXNOd2xJbml0aWFsaXplZDoKXy51bik/TmwoKS50aGVuKG09PntsKG0pfSk6bCghMSl9O18ueW49ZnVuY3Rpb24oYSwuLi5iKXtpZighd24oYSl8fGIuc29tZShjPT4hd24oYykpKXRocm93IEVycm9yKCJ6YSIpO2ZvcihsZXQgYyBvZiBiKXhuKGEsYyl9O3huPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIGluIGIpaWYod24oYltjXSkpe2lmKGMgaW4gYSYmIXduKGFbY10pKXRocm93IEVycm9yKCJBYSIpO2MgaW4gYXx8KGFbY109e30pO3huKGFbY10sYltjXSl9ZWxzZSBpZih6bihiW2NdKSl7aWYoYyBpbiBhJiYhem4oYVtjXSkpdGhyb3cgRXJyb3IoIkJhIik7YyBpbiBhfHwoYVtjXT1bXSk7QW4oYVtjXSxiW2NdKX1lbHNlIGFbY109YltjXTtyZXR1cm4gYX07QW49ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYil3bihjKT9hLnB1c2goeG4oe30sYykpOnpuKGMpP2EucHVzaChBbihbXSxjKSk6YS5wdXNoKGMpO3JldHVybiBhfTt3bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoYSl9Owp6bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmQXJyYXkuaXNBcnJheShhKX07Xy5Cbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoIl9sYWN0Iix3aW5kb3cpO3JldHVybiBhPT1udWxsPy0xOk1hdGgubWF4KERhdGUubm93KCktYSwwKX07Cl8uRG49ZnVuY3Rpb24oKXtpZih3aW5kb3cuY3J5cHRvJiZ3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl0cnl7dmFyIGE9QXJyYXkoMTYpLGI9bmV3IFVpbnQ4QXJyYXkoMTYpO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY109YltjXTtyZXR1cm4gYX1jYXRjaChkKXt9YT1BcnJheSgxNik7Zm9yKGI9MDtiPDE2O2IrKyl7Yz1EYXRlLm5vdygpO2ZvcihsZXQgZD0wO2Q8YyUyMztkKyspYVtiXT1NYXRoLnJhbmRvbSgpO2FbYl09TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjI1Nil9aWYoQ24pZm9yKGI9MSxjPTA7YzxDbi5sZW5ndGg7YysrKWFbYiUxNl1ePWFbKGItMSklMTZdLzReQ24uY2hhckNvZGVBdChjKSxiKys7cmV0dXJuIGF9OwpFbj1mdW5jdGlvbigpe3ZhciBhPV8uRG4oKSxiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KGFbY10mNjMpKTtyZXR1cm4gYi5qb2luKCIiKX07Xy5Gbj1mdW5jdGlvbigpe3ZhciBhPV8udS55dExvZ2dpbmdEb2NEb2N1bWVudE5vbmNlXzthfHwoYT1FbigpLF8ucmEoInl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfIixhKSk7cmV0dXJuIGF9O18uR249ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliPWIqMzErYS5jaGFyQ29kZUF0KGMpLGM8YS5sZW5ndGgtMSYmKGIlPTB4ODAwMDAwMDAwMDAwKTtyZXR1cm4gYiUxRTV9O18uSW49ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBIbihhKX07CktuPWZ1bmN0aW9uKGEsYil7Yj1iLmp2O2lmKGEuai5oYXMoYikpcmV0dXJuIGEuai5nZXQoYikucHJvbWlzZTt2YXIgYz1KbihhLGIsW10sITApO2lmKGMhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShjKTt2YXIgZD17fTtkLnByb21pc2U9bmV3IFByb21pc2UoKGUsZik9PntkLlFoPWU7ZC5Rej1mfSk7YS5qLnNldChiLGQpO3JldHVybiBkLnByb21pc2V9OwpKbj1mdW5jdGlvbihhLGIsYyxkPSExKXtpZihjLmluZGV4T2YoYik+LTEpdGhyb3cgRXJyb3IoIkRhYCIrYik7aWYoYS5vLmhhcyhiKSlyZXR1cm4gYS5vLmdldChiKTtpZighYS52LmhhcyhiKSl7aWYoZClyZXR1cm47dGhyb3cgRXJyb3IoIkVhYCIrYik7fWQ9YS52LmdldChiKTtjLnB1c2goYik7aWYoZC5NYiE9PXZvaWQgMCl2YXIgZT1kLk1iO2Vsc2UgaWYoZC5XYyllPWRbXy5Mbl0/TW4oYSxkW18uTG5dLGMpOltdLGU9ZC5XYyguLi5lKTtlbHNlIGlmKGQuUGEpe2U9ZC5QYTtsZXQgZj1lW18uTG5dP01uKGEsZVtfLkxuXSxjKTpbXTtlPW5ldyBlKC4uLmYpfWVsc2UgdGhyb3cgRXJyb3IoIkZhYCIrYik7Yy5wb3AoKTtkLmdifHxhLm8uc2V0KGIsZSk7cmV0dXJuIGV9O01uPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj9iLm1hcChkPT5kIGluc3RhbmNlb2YgSG4/Sm4oYSxkLmtleSxjLCEwKTpKbihhLGQsYykpOltdfTtfLnk9ZnVuY3Rpb24oKXtObnx8KE5uPW5ldyBPbik7cmV0dXJuIE5ufTsKUW49ZnVuY3Rpb24oKXtyZXR1cm4iaDV2Y2MiaW4gUG4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlQmVnaW4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlRW5kPzE6InBlcmZvcm1hbmNlImluIFBuJiZQbi5wZXJmb3JtYW5jZS5tYXJrJiZQbi5wZXJmb3JtYW5jZS5tZWFzdXJlPzI6MH07Um49ZnVuY3Rpb24oYSl7dmFyIGI9UW4oKTtzd2l0Y2goYil7Y2FzZSAxOlBuLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsYSk7YnJlYWs7Y2FzZSAyOlBuLnBlcmZvcm1hbmNlLm1hcmsoYCR7YX0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpfLmViKGIsInVua25vd24gdHJhY2UgdHlwZSIpfX07ClNuPWZ1bmN0aW9uKGEpe3ZhciBiPVFuKCk7c3dpdGNoKGIpe2Nhc2UgMTpQbi5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixhKTticmVhaztjYXNlIDI6Yj1gJHthfS1zdGFydGA7bGV0IGM9YCR7YX0tZW5kYDtQbi5wZXJmb3JtYW5jZS5tYXJrKGMpO1BuLnBlcmZvcm1hbmNlLm1lYXN1cmUoYSxiLGMpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0Ol8uZWIoYiwidW5rbm93biB0cmFjZSB0eXBlIil9fTtUbj1mdW5jdGlvbihhKXt2YXIgYj1BcnJheS5mcm9tKGEuai5rZXlzKCkpLnNvcnQoKGMsZCk9PmEuZ2V0UHJpb3JpdHkoYS5qW2RdKS1hLmdldFByaW9yaXR5KGEualtjXSkpO2ZvcihsZXQgYyBvZiBiKWI9YS5qW2NdLGIuam9iSWQ9PT12b2lkIDB8fGIuTmp8fChhLnNjaGVkdWxlci5BYShiLmpvYklkKSxhLnNjaGVkdWxlci5HYShiLnhoLDEwKSl9OwpWbj1mdW5jdGlvbihhLGIsYyl7VW4mJmNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQmJmNvbnNvbGUuZ3JvdXBFbmQmJihjb25zb2xlLmdyb3VwQ29sbGFwc2VkKGBbJHthLmNvbnN0cnVjdG9yLm5hbWV9XSAnJHthLnN0YXRlfScgdG8gJyR7Yn0nYCksY29uc29sZS5sb2coIndpdGggbWVzc2FnZTogIixjKSxjb25zb2xlLmdyb3VwRW5kKCkpfTtabj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZmlsdGVyKGU9PihhLnY/P2UucHJpb3JpdHk/PzApPT09MTApLGQ9Yi5maWx0ZXIoZT0+KGEudj8/ZS5wcmlvcml0eT8/MCkhPT0xMCk7cmV0dXJuIGEuQi5GZz9hc3luYyguLi5lKT0+e2F3YWl0IFduKGMsLi4uZSk7WG4oYSxkLC4uLmUpfTooLi4uZSk9PntZbihjLC4uLmUpO1huKGEsZCwuLi5lKX19OwpXbj1hc3luYyBmdW5jdGlvbihhLC4uLmIpe3ZhciBjPV8uQ2soKTtmb3IobGV0IGQgb2YgYSl7bGV0IGU7Yy5VKCgpPT57JG4oZC5uYW1lKTt2YXIgZj1hbygoKT0+ZC5jYWxsYmFjayguLi5iKSk7KDAsXy5ibykoZik/ZT1fLngoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpP2YudGhlbigoKT0+e2NvKGQubmFtZSl9KTpmLnRoZW4oKCk9PntjbyhkLm5hbWUpfSxoPT57d2luZG93Lm9uZXJyb3I/LihoLm1lc3NhZ2UsIiIsMCwwLGgpO2NvKGQubmFtZSl9KTpjbyhkLm5hbWUpfSk7ZSYmYXdhaXQgZX19O1huPWZ1bmN0aW9uKGEsYiwuLi5jKXtiPWIubWFwKGQ9Pih7eGg6KCk9PnskbihkLm5hbWUpO2FvKCgpPT5kLmNhbGxiYWNrKC4uLmMpKTtjbyhkLm5hbWUpfSxwcmlvcml0eTphLnY/P2QucHJpb3JpdHk/PzB9KSk7Yi5sZW5ndGgmJihhLmo9bmV3IGVvKGIpKX07ClluPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9Xy5DaygpO2ZvcihsZXQgZCBvZiBhKWMuVSgoKT0+eyRuKGQubmFtZSk7YW8oKCk9PmQuY2FsbGJhY2soLi4uYikpO2NvKGQubmFtZSl9KX07JG49ZnVuY3Rpb24oYSl7Zm8mJmEmJlJuKGEpfTtjbz1mdW5jdGlvbihhKXtmbyYmYSYmU24oYSl9O2FvPWZ1bmN0aW9uKGEpe2lmKF8ueCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIikpcmV0dXJuIGEoKTt0cnl7cmV0dXJuIGEoKX1jYXRjaChiKXt3aW5kb3cub25lcnJvcj8uKGIubWVzc2FnZSwiIiwwLDAsYil9fTtfLmlvPWZ1bmN0aW9uKCl7Z298fChnbz1uZXcgaG8pO3JldHVybiBnb307Xy5rbz1mdW5jdGlvbihhKXtyZXR1cm4gXy5zYSgieXRjc2kuIisoYXx8IiIpKyJkYXRhXyIpfHxfLmpvKGEpfTtfLmxvPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLm1ldGFkYXRhfHwoYS5tZXRhZGF0YT17fSk7cmV0dXJuIGEubWV0YWRhdGF9OwpfLm1vPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLnRpY2t8fChhLnRpY2s9e30pO3JldHVybiBhLnRpY2t9O18ubm89ZnVuY3Rpb24oYSl7YT1fLmtvKGEpO2lmKGEuZ2VsKXtsZXQgYj1hLmdlbDtiLmdlbEluZm9zfHwoYi5nZWxJbmZvcz17fSk7Yi5nZWxUaWNrc3x8KGIuZ2VsVGlja3M9e30pfWVsc2UgYS5nZWw9e2dlbFRpY2tzOnt9LGdlbEluZm9zOnt9fTtyZXR1cm4gYS5nZWx9O18ub289ZnVuY3Rpb24oYSl7YT1fLm5vKGEpO2EuZ2VsSW5mb3N8fChhLmdlbEluZm9zPXt9KTtyZXR1cm4gYS5nZWxJbmZvc307Xy5wbz1mdW5jdGlvbihhKXt2YXIgYj1fLmtvKGEpLm5vbmNlO2J8fChiPUVuKCksXy5rbyhhKS5ub25jZT1iKTtyZXR1cm4gYn07Xy5qbz1mdW5jdGlvbihhKXt2YXIgYj17dGljazp7fSxpbmZvOnt9fTtfLnJhKCJ5dGNzaS4iKyhhfHwiIikrImRhdGFfIixiKTtyZXR1cm4gYn07CnFvPWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXRjc2kuZGVidWciKTthfHwoYT1bXSxfLnJhKCJ5dGNzaS5kZWJ1ZyIsYSksXy5yYSgieXRjc2kucmVmZXJlbmNlIix7fSkpO3JldHVybiBhfTtfLnNvPWZ1bmN0aW9uKGEpe3ZhciBiPXFvKCk7Yi5wdXNoKGEpO18ueCgibGltaXRfeXRjc2lfZGVidWdfYXJyYXlfc2l6ZSIpJiZiLmxlbmd0aD5ybyYmYi5zcGxpY2UoMCxiLmxlbmd0aC1ybyl9O18udW89ZnVuY3Rpb24oYSl7YT1hfHwiIjt2YXIgYj1fLnRvKCk7aWYoYlthXSlyZXR1cm4gYlthXTt2YXIgYz17dGltZXJOYW1lOmEsaW5mbzp7fSx0aWNrOnt9LHNwYW46e30sanNwYkluZm86W119O18uc28oYyk7cmV0dXJuIGJbYV09Y307Xy50bz1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Y3NpLnJlZmVyZW5jZSIpO2lmKGEpcmV0dXJuIGE7cW8oKTtyZXR1cm4gXy5zYSgieXRjc2kucmVmZXJlbmNlIil9Owp2bz1mdW5jdGlvbihhKXtpZihhLm5hbWU9PT0iSmF2YUV4Y2VwdGlvbiIpcmV0dXJuITA7YT1hLnN0YWNrO3JldHVybiBhLmluY2x1ZGVzKCJjaHJvbWU6Ly8iKXx8YS5pbmNsdWRlcygiLWV4dGVuc2lvbjovLyIpfHxhLmluY2x1ZGVzKCJ3ZWJraXQtbWFza2VkLXVybDovLyIpfTt3bz1mdW5jdGlvbihhKXtpZighYS5zdGFjaylyZXR1cm4hMDt2YXIgYj0hYS5zdGFjay5pbmNsdWRlcygiXG4iKTtyZXR1cm4gYiYmYS5zdGFjay5pbmNsdWRlcygiRXJyb3JUeXBlOiAiKXx8YiYmYS5zdGFjay5pbmNsdWRlcygiQW5vbnltb3VzIGZ1bmN0aW9uIChVbmtub3duIHNjcmlwdCIpfHxhLnN0YWNrLnRvTG93ZXJDYXNlKCk9PT0ibm90IGF2YWlsYWJsZSJ8fGEuZmlsZU5hbWU9PT0idXNlci1zY3JpcHQifHxhLmZpbGVOYW1lLnN0YXJ0c1dpdGgoInVzZXItc2NyaXB0OiIpPyEwOiExfTsKXy5Cbz1mdW5jdGlvbigpe2lmKCF4byl7dmFyIGE9eG89bmV3IHlvO2EubGUubGVuZ3RoPTA7YS5TZC5sZW5ndGg9MDtfLnpvKGEsQW8pfXJldHVybiB4b307Xy56bz1mdW5jdGlvbihhLGIpe2IubGUmJmEubGUudW5zaGlmdC5hcHBseShhLmxlLGIubGUpO2IuU2QmJmEuU2QudW5zaGlmdC5hcHBseShhLlNkLGIuU2QpfTtfLkNvPWZ1bmN0aW9uKGEpe3JldHVybiBhdG9iKGEucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikpfTsKXy5Fbz1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MCxlPSgpPT5hLmNoYXJDb2RlQXQoZCsrKTtkb3t2YXIgZj1EbyhlKTtpZihmPT09SW5maW5pdHkpYnJlYWs7bGV0IGg9Zj4+Mztzd2l0Y2goZiY3KXtjYXNlIDA6Zj1EbyhlKTtpZihoPT09YilyZXR1cm4gZjticmVhaztjYXNlIDE6aWYoaD09PWIpcmV0dXJuO2QrPTg7YnJlYWs7Y2FzZSAyOmY9RG8oZSk7aWYoaD09PWIpcmV0dXJuIGEuc3Vic3RyKGQsZik7ZCs9ZjticmVhaztjYXNlIDU6aWYoaD09PWIpcmV0dXJuO2QrPTQ7YnJlYWs7ZGVmYXVsdDpyZXR1cm59fXdoaWxlKGQ8Yyl9O0RvPWZ1bmN0aW9uKGEpe3ZhciBiPWEoKSxjPWImMTI3O2lmKGI8MTI4KXJldHVybiBjO2I9YSgpO2N8PShiJjEyNyk8PDc7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7Y3w9KGImMTI3KTw8MTQ7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7cmV0dXJuIGI8MTI4P2N8KGImMTI3KTw8MjE6SW5maW5pdHl9OwpIbz1mdW5jdGlvbihhLGIsYyxkKXtpZihhKWlmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBlPWQ7Zm9yKGQ9MDtkPGEubGVuZ3RoJiYhKGFbZF0mJihlKz1GbyhkLGFbZF0sYixjKSxlPjUwMCkpO2QrKyk7ZD1lfWVsc2UgaWYodHlwZW9mIGE9PT0ib2JqZWN0Iilmb3IoZSBpbiBhKXtpZihhW2VdKXthOnt2YXIgZj1lO3ZhciBoPWFbZV0saz1iLGw9YztpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxmIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZmIT09InRyYWNraW5nUGFyYW1zIil7Zj0wO2JyZWFrIGF9Zj0oaD1fLkVvKF8uQ28oaCksMikpP0ZvKGAke2Z9LnZlYCxoLGssbCk6MH1kKz1mO2QrPUZvKGUsYVtlXSxiLGMpO2lmKGQ+NTAwKWJyZWFrfX1lbHNlIGNbYl09R28oYSksZCs9Y1tiXS5sZW5ndGg7ZWxzZSBjW2JdPUdvKGEpLGQrPWNbYl0ubGVuZ3RoO3JldHVybiBkfTsKRm89ZnVuY3Rpb24oYSxiLGMsZCl7Yys9YC4ke2F9YDthPUdvKGIpO2RbY109YTtyZXR1cm4gYy5sZW5ndGgrYS5sZW5ndGh9O0dvPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4odHlwZW9mIGE9PT0ic3RyaW5nIj9hOlN0cmluZyhKU09OLnN0cmluZ2lmeShhKSkpLnN1YnN0cigwLDUwMCl9Y2F0Y2goYil7cmV0dXJuYHVuYWJsZSB0byBzZXJpYWxpemUgJHt0eXBlb2YgYX0gKCR7Yi5tZXNzYWdlfSlgfX07CktvPWZ1bmN0aW9uKGEsYil7dmFyIGM9SW8oYik7aWYoYS5qW2NdKXJldHVybiBhLmpbY107dmFyIGQ9T2JqZWN0LmtleXMoYS5zdG9yZSl8fFtdO2lmKGQubGVuZ3RoPD0xJiZJbyhiKT09PWRbMF0pcmV0dXJuIGQ7dmFyIGU9W107Zm9yKGxldCBoPTA7aDxkLmxlbmd0aDtoKyspe2xldCBrPWRbaF0uc3BsaXQoIi8iKTtpZihKbyhiLmF1dGgsa1swXSkpe3ZhciBmPWIuaXNKc3BiO0pvKGY9PT12b2lkIDA/InVuZGVmaW5lZCI6Zj8idHJ1ZSI6ImZhbHNlIixrWzFdKSYmSm8oYi5jdHRBdXRoSW5mbyxrWzJdKSYmKGY9Yi50aWVyLGY9Zj09PXZvaWQgMD8idW5kZWZpbmVkIjpKU09OLnN0cmluZ2lmeShmKSxKbyhmLGtbM10pJiZlLnB1c2goZFtoXSkpfX1yZXR1cm4gYS5qW2NdPWV9O0pvPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT12b2lkIDB8fGE9PT0idW5kZWZpbmVkIj8hMDphPT09Yn07CklvPWZ1bmN0aW9uKGEpe3JldHVyblthLmF1dGg9PT12b2lkIDA/InVuZGVmaW5lZCI6YS5hdXRoLGEuaXNKc3BiPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEuaXNKc3BiLGEuY3R0QXV0aEluZm89PT12b2lkIDA/InVuZGVmaW5lZCI6YS5jdHRBdXRoSW5mbyxhLnRpZXI9PT12b2lkIDA/InVuZGVmaW5lZCI6YS50aWVyXS5qb2luKCIvIil9O18uQj1mdW5jdGlvbihhLGIpe2lmKGEpcmV0dXJuIGFbYi5uYW1lXX07TG89ZnVuY3Rpb24oKXtyZXR1cm4gXy54KCJodG1sNV9zZW5kX3FvZV9vbl9nZWwiKXx8Xy54KCJ3ZWJfc2VuZF92c3MzX2lzb2xhdGVkX3BheWxvYWQiKX07T289ZnVuY3Rpb24oYSl7TW89YTtMbygpJiYoXy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1hKTtObz1uZXcgYX07UW89ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dC5sb2dnaW5nLmltcyIpO2F8fChhPW5ldyBQbyxfLnJhKCJ5dC5sb2dnaW5nLmltcyIsYSkpO3JldHVybiBhfTsKJG89ZnVuY3Rpb24oYSxiKXtpZihhLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe1JvKGEpO3ZhciBjPVNvKGEpLGQ9VG8oYS5wYXlsb2FkKXx8IiI7YTp7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7dmFyIGU9VW9bZHx8IiJdO3ZhciBmPV8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5ldmVudExvZ2dpbmdDb25maWc/LnBheWxvYWRQb2xpY2llcztpZihmKWZvcihsZXQgaD0wO2g8Zi5sZW5ndGg7aCsrKWlmKGZbaF0ucGF5bG9hZE51bWJlcj09PWUpe2U9ZltoXTticmVhayBhfX1lPXZvaWQgMH1mPTIwMDtpZihlKXtpZihlLmVuYWJsZWQ9PT0hMSYmIV8ueCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47Zj1WbyhlLnRpZXIpO2lmKGY9PT00MDApe1dvKGEsYik7cmV0dXJufX1Yb1tjXT0hMDtjPXtjdHRBdXRoSW5mbzpjLGlzSnNwYjohMSx0aWVyOmZ9O1FvKCkuc3RvcmVQYXlsb2FkKGMsCmEucGF5bG9hZCk7WW8oYixjLFpvKGQpKX19O1lvPWZ1bmN0aW9uKGEsYixjPSExKXthJiZPbyhhKTthPV8uc2ooInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8Xy5zaigidHZodG1sNV9sb2dnaW5nX21heF9iYXRjaCIpfHxfLnNqKCJ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2giKXx8MTAwO3ZhciBkPSgwLF8uZWwpKCksZT1hcCghMSxiLnRpZXIpLGY9ZS5CO2MmJihlLmo9ITApO2M9MDtiJiYoYz1RbygpLmdldFNlcXVlbmNlQ291bnQoYikpO3ZhciBoPSgpPT57Xy5icCh7d3JpdGVUaGVuU2VuZDohMH0sdm9pZCAwLCExLGIudGllcil9O2M+PTFFMz9oKCk6Yz49YT9jcHx8KGNwPWRwKCgpPT57aCgpO2NwPXZvaWQgMH0sMCkpOmQtZj49MTAmJihlcCghMSxiLnRpZXIpLGUuQj1kKX07CldvPWZ1bmN0aW9uKGEsYil7aWYoYS5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtfLngoIm1vcmVfYWNjdXJhdGVfZ2VsX3BhcnNlciIpJiZRbygpLnN0b3JlUGF5bG9hZCh7aXNKc3BiOiExfSxhLnBheWxvYWQpO1JvKGEpO3ZhciBjPVNvKGEpLGQ9bmV3IE1hcDtkLnNldChjLFthLnBheWxvYWRdKTt2YXIgZT1UbyhhLnBheWxvYWQpfHwiIjsoYT1iP2I6TG8oKT9Nb3x8Xy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yX3x8bnVsbDpudWxsKSYmT28oYSk7cmV0dXJuIG5ldyBfLkJmKChmLGgpPT57Tm8mJk5vLmlzUmVhZHkoKT9mcChkLE5vLGYsaCx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFpvKGUpKTpmKCl9KX19OwpTbz1mdW5jdGlvbihhKXt2YXIgYj0iIjtpZihhLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24pYj0idmlzaXRvck9ubHlBcHByb3ZlZEtleSI7ZWxzZSBpZihhLmN0dEF1dGhJbmZvKXtiPWEuY3R0QXV0aEluZm87bGV0IGM9e307Yi52aWRlb0lkP2MudmlkZW9JZD1iLnZpZGVvSWQ6Yi5wbGF5bGlzdElkJiYoYy5wbGF5bGlzdElkPWIucGxheWxpc3RJZCk7Z3BbYS5jdHRBdXRoSW5mby50b2tlbl09YztiPWEuY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIGJ9OwpfLmJwPWZ1bmN0aW9uKGE9e30sYixjPSExLGQpe25ldyBfLkJmKChlLGYpPT57dmFyIGg9YXAoYyxkKSxrPWguajtoLmo9ITE7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSYmXy54KCJ3ZWJfdnNzX3JvdXRpbmdfY2hlY2tfYWxsX3RpZXJfcG9saWNpZXMiKSl7bGV0IGw9YXAoYywzMDApLG09YXAoYywyMDApO2s9a3x8bC5qfHxtLmo7bC5qPSExO20uaj0hMX1ocChoLnYpO2hwKGgubyk7aC5vPTA7Tm8mJk5vLmlzUmVhZHkoKT9kPT09dm9pZCAwJiZfLngoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2lwKGUsZixhLGIsYywzMDAsayk6aXAoZSxmLGEsYixjLGQsayk6KGVwKGMsZCksZSgpKX0pfTsKaXA9ZnVuY3Rpb24oYSxiLGM9e30sZCxlPSExLGY9MjAwLGg9ITEpe3ZhciBrPU5vLGw9bmV3IE1hcCxtPXtpc0pzcGI6ZSxjdHRBdXRoSW5mbzpkLHRpZXI6Zn07ZT17aXNKc3BiOmUsY3R0QXV0aEluZm86ZH07aWYoZCE9PXZvaWQgMClmPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W20sZV0sc2l6ZUxpbWl0OjFFM30pOlFvKCkuZXh0cmFjdE1hdGNoaW5nRW50cmllcyhlKSxsLnNldChkLGYpO2Vsc2UgZm9yKGxldCBuIG9mIE9iamVjdC5rZXlzKFhvKSlkPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W3tpc0pzcGI6ITEsY3R0QXV0aEluZm86bix0aWVyOmZ9LHtpc0pzcGI6ITEsY3R0QXV0aEluZm86bn1dLHNpemVMaW1pdDoxRTN9KTpRbygpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMSxjdHRBdXRoSW5mbzpufSksCmQubGVuZ3RoPjAmJmwuc2V0KG4sZCksKF8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJmMud3JpdGVUaGVuU2VuZHx8IV8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgWG9bbl07ZnAobCxrLGEsYixjLCExLGgpfTsKZXA9ZnVuY3Rpb24oYT0hMSxiPTIwMCl7dmFyIGM9KCk9PntfLmJwKHt3cml0ZVRoZW5TZW5kOiEwfSx2b2lkIDAsYSxiKX0sZD1hcChhLGIpLGU9ZD09PWpwfHxkPT09a3A/NUUzOmxwO18ueCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhZC5vJiYoZT1kcCgoKT0+e2MoKX0sZSksZC5vPWUpO2hwKGQudik7ZT1fLncoIkxPR0dJTkdfQkFUQ0hfVElNRU9VVCIsXy5zaigid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Xy54KCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmbXAmJihlPW5wKTtlPWRwKCgpPT57Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIik+MD9RbygpLmdldFNlcXVlbmNlQ291bnQoe2N0dEF1dGhJbmZvOnZvaWQgMCxpc0pzcGI6YSx0aWVyOmJ9KT49b3AmJmMoKTpjKCl9LGUpO2Qudj1lfTsKZnA9ZnVuY3Rpb24oYSxiLGMsZCxlPXt9LGYsaCl7dmFyIGs9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKSxsPWEuc2l6ZSxtPXBwKGgpO2ZvcihsZXQgW24scF1vZiBhKXthPW47aD1wO2xldCByPV8ucWQoe2NvbnRleHQ6bW0oYi5jb25maWdffHxsbSgpKX0pO2lmKCFfLnlhKGgpJiYhXy54KCJ0aHJvd19lcnJfd2hlbl9sb2dldmVudF9tYWxmb3JtZWRfa2lsbHN3aXRjaCIpKXtkKCk7YnJlYWt9ci5ldmVudHM9aDsoaD1ncFthXSkmJnFwKHIsYSxoKTtkZWxldGUgZ3BbYV07bGV0IHQ9YT09PSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtycChyLGssdCk7Xy54KCJhbHdheXNfc2VuZF9hbmRfd3JpdGUiKSYmKGUud3JpdGVUaGVuU2VuZD0hMSk7bGV0IHY9QT0+e18ueCgic3RhcnRfY2xpZW50X2djZiIpJiZfLmpmLnBiKGFzeW5jKCk9Pnthd2FpdCBzcChBKX0pO2wtLTtsfHxjKCl9LHo9MCxFPSgpPT57eisrO2lmKGUuYnlwYXNzTmV0d29ya2xlc3MmJno9PT0xKXRyeXt2bihiLG0scix0cCh7d3JpdGVUaGVuU2VuZDohMH0sCnQsdixFLGYpKSxtcD0hMX1jYXRjaChBKXtfLlVpKEEpLGQoKX1sLS07bHx8YygpfTt0cnl7dm4oYixtLHIsdHAoZSx0LHYsRSxmKSksbXA9ITF9Y2F0Y2goQSl7Xy5VaShBKSxkKCl9fX07dHA9ZnVuY3Rpb24oYSxiLGMsZCxlKXthPXtyZXRyeTohMCxvblN1Y2Nlc3M6YyxvbkVycm9yOmQsbmV0d29ya2xlc3NPcHRpb25zOmEsZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpiLGJJOiEhZSxoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOl8ueCgiY29tcHJlc3NfZ2VsIil8fF8ueCgiY29tcHJlc3NfZ2VsX2xyIil9O3VwKCkmJihhLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLF8uZWwpKCkpKSk7cmV0dXJuIGF9OwpycD1mdW5jdGlvbihhLGIsYyl7dXAoKXx8KGEucmVxdWVzdFRpbWVNcz1TdHJpbmcoYikpO18ueCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYoYS51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFjJiYoYj1fLncoIkVWRU5UX0lEIikpJiYoKGM9Xy53KCJCQVRDSF9DTElFTlRfQ09VTlRFUiIpfHwwKXx8KGM9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKSxjKyssYz42NTUzNSYmKGM9MSksXy5RaSgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLGMpLGEuc2VyaWFsaXplZENsaWVudEV2ZW50SWQ9e3NlcmlhbGl6ZWRFdmVudElkOmIsY2xpZW50Q291bnRlcjpTdHJpbmcoYyl9KX07CnFwPWZ1bmN0aW9uKGEsYixjKXtpZihjLnZpZGVvSWQpdmFyIGQ9IlZJREVPIjtlbHNlIGlmKGMucGxheWxpc3RJZClkPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47YS5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPWM7YS5jb250ZXh0PWEuY29udGV4dHx8e307YS5jb250ZXh0LnVzZXI9YS5jb250ZXh0LnVzZXJ8fHt9O2EuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOmIsc2NvcGU6ZH1dfTsKUm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy50aigiaWxfcGF5bG9hZF9zY3JhcGluZyIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighXy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZW5hYmxlU2NyYXBpbmdGb3JUZXN0IikpaWYoYil2cD1bXSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiLCEwKSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIix2cCksXy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiwidmlzdWFsRWxlbWVudFNob3duIHZpc3VhbEVsZW1lbnRIaWRkZW4gdmlzdWFsRWxlbWVudEF0dGFjaGVkIHNjcmVlbkNyZWF0ZWQgdmlzdWFsRWxlbWVudEdlc3R1cmVkIHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLnNwbGl0KCIgIikpLF8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRQYXlsb2FkRnJvbUNsaWVudEV2ZW50c0Z1bmN0aW9uIiksCl8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZUNsaWVudEV2ZW50IiwhMCk7ZWxzZSByZXR1cm47Yj1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIik7dmFyIGM9Xy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiksZD1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGMmJmMubGVuZ3RoPj0xKWZvcihsZXQgZT0wO2U8Yy5sZW5ndGg7ZSsrKWEmJmEucGF5bG9hZFtjW2VdXSYmKGQ/Yi5wdXNoKGEucGF5bG9hZCk6Yi5wdXNoKChhPy5wYXlsb2FkKVtjW2VdXSkpO18ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLGIpfTt1cD1mdW5jdGlvbigpe3JldHVybiBfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil8fF8ueCgibHJfdXNlX3JlcXVlc3RfdGltZV9tc19oZWFkZXIiKX07CmRwPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT09PSExP18ubWooYSxiKTpfLngoImxvZ2dpbmdfYXZvaWRfYmxvY2tpbmdfZHVyaW5nX25hdmlnYXRpb24iKXx8Xy54KCJscl9sb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIik/Xy5ZaigoKT0+e18uaW8oKS5jdXJyZW50U3RhdGU9PT0ibm9uZSI/YSgpOl8uaW8oKS5pbnN0YWxsKHtub25lOntjYWxsYmFjazphfX0pfSxiKTpfLllqKGEsYil9O2hwPWZ1bmN0aW9uKGEpe18ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT9fLmpmLkFhKGEpOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9OwpzcD1hc3luYyBmdW5jdGlvbihhKXthPWE/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIGI9Xy5CKGEsd3ApLGM9YT8uaG90SGFzaERhdGEsZD1fLkIoYSx4cCksZT1hPy5jb2xkSGFzaERhdGEsZj1fLnkoKS5yZXNvbHZlKF8uSW4oaW0pKTtmJiYoYyYmKGI/YXdhaXQgZ20oZixjLGIpOmF3YWl0IGdtKGYsYykpLGUmJihkP2F3YWl0IGhtKGYsZSxkKTphd2FpdCBobShmLGUpKSk7Yj1hPy5yYXdGaW5jaFN0YXRpY0NvbmZpZ0dyb3VwOyhhPWE/LmZpbmNoU3RhdGljSGFzaERhdGEpPyhjPV8ueSgpLnJlc29sdmUoXy5Jbih5cCkpKT9hd2FpdCBjLndLKHtjb25maWc6Ynx8e30saUk6YXx8IiJ9KTooYnx8YSkmJl8uV2kobmV3IF8uWGooIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UgaXMgbm90IHByZXNlbnQsIGJ1dCBGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LiIpKTpiJiZfLldpKG5ldyBfLlhqKCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFwPWZ1bmN0aW9uKGEsYj0yMDApe3JldHVybiBhP2I9PT0zMDA/anA6enA6Yj09PTMwMD9rcDpBcH07VG89ZnVuY3Rpb24oYSl7YT1PYmplY3Qua2V5cyhhKTtmb3IobGV0IGIgb2YgYSlpZihVb1tiXSlyZXR1cm4gYn07Vm89ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07Wm89ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0iZ2VsRGVidWdnaW5nRXZlbnQifHxhPT09IndhdGNoVGltZVNlZ21lbnQifTsKcHA9ZnVuY3Rpb24oYT0hMSl7cmV0dXJuIGEmJl8ueCgidnNzX3Rocm91Z2hfZ2VsX3ZpZGVvX3N0YXRzIik/InZpZGVvX3N0YXRzIjoibG9nX2V2ZW50In07Cl8uQ3A9ZnVuY3Rpb24oYSxiLGMsZD17fSl7dmFyIGU9e30sZj1NYXRoLnJvdW5kKGQudGltZXN0YW1wfHwoMCxfLmVsKSgpKTtlLmV2ZW50VGltZU1zPWY8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/ZjowO2VbYV09YjthPV8uQm4oKTtlLmNvbnRleHQ9e2xhc3RBY3Rpdml0eU1zOlN0cmluZyhkLnRpbWVzdGFtcHx8IWlzRmluaXRlKGEpPy0xOmEpfTtkLnNlcXVlbmNlR3JvdXAmJiFfLngoIndlYl9nZWxfc2VxdWVuY2VfaW5mb19raWxsc3dpdGNoIikmJihhPWUuY29udGV4dCxiPWQuc2VxdWVuY2VHcm91cCxCcFtiXT1iIGluIEJwP0JwW2JdKzE6MCxhLnNlcXVlbmNlPXtpbmRleDpCcFtiXSxncm91cEtleTpifSxkLmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBCcFtkLnNlcXVlbmNlR3JvdXBdKTtfLngoIndlYl90YWdfYXV0b21hdGVkX2xvZ19ldmVudHMiKSYmKGUuY29udGV4dC5hdXRvbWF0ZWRMb2dFdmVudFNvdXJjZT1kLmF1dG9tYXRlZExvZ0V2ZW50U291cmNlKTsoZC5zZW5kSXNvbGF0ZWRQYXlsb2FkPwpXbzokbykoe2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6ZSxjdHRBdXRoSW5mbzpkLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246ZC5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxjKX07Xy5FcD1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9RHA7Xy53KCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmRHA9PT1EcCYmKGQ9bnVsbCk7Xy5DcChhLGIsZCxjKX07CkZwPWZ1bmN0aW9uKGEsYj17fSl7aWYoYT1hLk5kKXtsZXQgYz1hLmZoLGQ9YS5BbDthPVtbImNvbXBvbmVudFN0YWNrIixhLmNvbXBvbmVudFN0YWNrXSxbIndpelRhZ05hbWUiLGEudGFnTmFtZV0sWyJ3aXpPd25lclRyYWNlIixhLnByPy5qb2luKCIgPiAiKV0sWyJlcnJvclNldmVyaXR5IixjPy50b1N0cmluZygpXSxbIndpekZlYXR1cmVGbGFncyIsZD9PYmplY3QuZW50cmllcyhkKS5qb2luKCJcbiIpOnZvaWQgMF1dO2ZvcihsZXQgW2UsZl1vZiBhKWE9ZixhIT09dm9pZCAwJiYoYltlXT1hKX1yZXR1cm4gYn07Xy5IcD1mdW5jdGlvbihhKXtfLkdwKGEpfTtfLklwPWZ1bmN0aW9uKGEpe18uR3AoYSwiV0FSTklORyIpfTsKXy5HcD1mdW5jdGlvbihhLGI9IkVSUk9SIixjLGQsZSxmPXt9LGg9ITEsayl7Zi5uYW1lPWN8fF8udygiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpO2YudmVyc2lvbj1kfHxfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7SnAoYSxmLGIsaCxrKX07CkpwPWZ1bmN0aW9uKGEsYixjPSJFUlJPUiIsZD0hMSxlKXtpZihhKXthLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZhLmxldmVsJiYoYz1hLmxldmVsKTtpZihfLngoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBmPWI7aWYoIWY/LmNvbXBvbmVudFN0YWNrKXt2YXIgaD1hLk5kPy5jb21wb25lbnRTdGFjaztoJiYoZnx8KGY9e30pLGYuY29tcG9uZW50U3RhY2s9aCl9Yj1mfHxifWVsc2UgYj1GcChhLGIpLGY9YS5OZD8uZmgsZiE9PXZvaWQgMCYmYyE9PSJJR05PUkVEIiYmKGM9Zj49Mz8iRVJST1IiOiJXQVJOSU5HIik7aWYoXy54KCJjb25zb2xlX2xvZ19qc19leGNlcHRpb25zIil8fFsidGVzdCIsImRldiIsImF1dG9wdXNoIiwic3RhZ2luZyJdLmluY2x1ZGVzKF8udygiU0VSVkVSX1ZFUlNJT04iKSkpZj1bXSxmLnB1c2goYE5hbWU6ICR7YS5uYW1lfWApLGYucHVzaChgTWVzc2FnZTogJHthLm1lc3NhZ2V9YCksYS5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJgpmLnB1c2goYEVycm9yIFBhcmFtczogJHtKU09OLnN0cmluZ2lmeShhLnBhcmFtcyl9YCksYS5oYXNPd25Qcm9wZXJ0eSgiYXJncyIpJiZmLnB1c2goYEVycm9yIGFyZ3M6ICR7SlNPTi5zdHJpbmdpZnkoYS5hcmdzKX1gKSxmLnB1c2goYEZpbGUgbmFtZTogJHthLmZpbGVOYW1lfWApLGYucHVzaChgU3RhY2t0cmFjZTogJHthLnN0YWNrfWApLGY9Zi5qb2luKCJcbiIpLHdpbmRvdy5jb25zb2xlLmxvZyhmLGEpO2lmKCEoS3A+PTUpKXtmPVtdO2ZvcihrIG9mIExwKXRyeXtrKCkmJmYucHVzaChrKCkpfWNhdGNoKEUpe312YXIgaz1mO2s9Wy4uLk1wLC4uLmtdO3ZhciBsPUViKGEpO2Y9bC5tZXNzYWdlfHwiVW5rbm93biBFcnJvciI7aD1sLm5hbWV8fCJVbmtub3duRXJyb3IiO3ZhciBtPWwuc3RhY2t8fGEuWEt8fCJOb3QgYXZhaWxhYmxlIjtpZihtLnN0YXJ0c1dpdGgoYCR7aH06ICR7Zn1gKSl7dmFyIG49bS5zcGxpdCgiXG4iKTtuLnNoaWZ0KCk7bT1uLmpvaW4oIlxuIil9bj1sLmxpbmVOdW1iZXJ8fAoiTm90IGF2YWlsYWJsZSI7bD1sLmZpbGVOYW1lfHwiTm90IGF2YWlsYWJsZSI7bGV0IHo9MDtpZihhLmhhc093blByb3BlcnR5KCJhcmdzIikmJmEuYXJncyYmYS5hcmdzLmxlbmd0aClmb3IodmFyIHA9MDtwPGEuYXJncy5sZW5ndGgmJiEoej1IbyhhLmFyZ3NbcF0sYHBhcmFtcy4ke3B9YCxiLHopLHo+PTUwMCk7cCsrKTtlbHNlIGlmKGEuaGFzT3duUHJvcGVydHkoInBhcmFtcyIpJiZhLnBhcmFtcyl7bGV0IEU9YS5wYXJhbXM7aWYodHlwZW9mIGEucGFyYW1zPT09Im9iamVjdCIpZm9yKHAgaW4gRSl7aWYoIUVbcF0pY29udGludWU7bGV0IEE9YHBhcmFtcy4ke3B9YCxGPUdvKEVbcF0pO2JbQV09Rjt6Kz1BLmxlbmd0aCtGLmxlbmd0aDtpZih6PjUwMClicmVha31lbHNlIGIucGFyYW1zPUdvKEUpfWlmKGsubGVuZ3RoKWZvcihwPTA7cDxrLmxlbmd0aCYmISh6PUhvKGtbcF0sYHBhcmFtcy5jb250ZXh0LiR7cH1gLGIseiksej49NTAwKTtwKyspO25hdmlnYXRvci52ZW5kb3ImJiFiLmhhc093blByb3BlcnR5KCJ2ZW5kb3IiKSYmCihiWyJkZXZpY2UudmVuZG9yIl09bmF2aWdhdG9yLnZlbmRvcik7cD17bWVzc2FnZTpmLG5hbWU6aCxsaW5lTnVtYmVyOm4sZmlsZU5hbWU6bCxzdGFjazptLHBhcmFtczpiLHNhbXBsZVdlaWdodDoxfTtiPU51bWJlcihhLmNvbHVtbk51bWJlcik7aXNOYU4oYil8fChwLmxpbmVOdW1iZXI9YCR7cC5saW5lTnVtYmVyfToke2J9YCk7aWYoYS5sZXZlbD09PSJJR05PUkVEIil2YXIgcj0wO2Vsc2UgYTp7YT1fLkJvKCk7Zm9yKHIgb2YgYS5sZSlpZihwLm1lc3NhZ2UmJnAubWVzc2FnZS5tYXRjaChyLldKKSl7cj1yLndlaWdodDticmVhayBhfWZvcih2YXIgdCBvZiBhLlNkKWlmKHQuY2FsbGJhY2socCkpe3I9dC53ZWlnaHQ7YnJlYWsgYX1yPTF9cC5zYW1wbGVXZWlnaHQ9cjtyPXA7Zm9yKHZhciB2IG9mIE5wKXtpZighdi5KaltyLm5hbWVdKWNvbnRpbnVlO3Q9di5KaltyLm5hbWVdO2ZvcihsZXQgRSBvZiB0KXt0PXIubWVzc2FnZS5tYXRjaChFLnJlZ2V4cCk7aWYoIXQpY29udGludWU7CnIucGFyYW1zWyJwYXJhbXMuZXJyb3Iub3JpZ2luYWwiXT10WzBdO2E9RS5ncm91cHM7cD17fTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKXBbYVtiXV09dFtiKzFdLHIucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHthW2JdfWBdPXRbYisxXTtyLm1lc3NhZ2U9di5wbShwKTticmVha319ci5wYXJhbXN8fChyLnBhcmFtcz17fSk7dj1fLkJvKCk7ci5wYXJhbXNbInBhcmFtcy5lcnJvclNlcnZpY2VTaWduYXR1cmUiXT1gbXNnPSR7di5sZS5sZW5ndGh9JmNiPSR7di5TZC5sZW5ndGh9YDtyLnBhcmFtc1sicGFyYW1zLnNlcnZpY2VXb3JrZXIiXT0iZmFsc2UiO18udS5kb2N1bWVudCYmXy51LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihyLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3IE9wKFBwLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT1PcCYmKHIucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09CiJ0cnVlIik7d2luZG93Lnl0ZXJyJiZ0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKHIpO3Iuc2FtcGxlV2VpZ2h0PT09MHx8UXAuaGFzKHIubWVzc2FnZSl8fChkP1JwKHIsYyk6U3AocixjLGUpKX19fTtScD1mdW5jdGlvbihhLGI9IkVSUk9SIil7VHAoYixhKTtVcChhKX07ClNwPWZ1bmN0aW9uKGEsYj0iRVJST1IiLGMpe2lmKGI9PT0iRVJST1IiKXtfLlZwLnB1Ymxpc2goImhhbmRsZUVycm9yIixhKTtpZihfLngoInJlY29yZF9hcHBfY3Jhc2hlZF93ZWIiKSYmV3A9PT0wJiZhLnNhbXBsZVdlaWdodD09PTEpe1dwKys7bGV0IGQ9e2FwcENyYXNoVHlwZToiQVBQX0NSQVNIX1RZUEVfQlJFQUtQQUQifTtfLngoInJlcG9ydF9jbGllbnRfZXJyb3Jfd2l0aF9hcHBfY3Jhc2hfa3MiKXx8KGQuc3lzdGVtSGVhbHRoPXtjcmFzaERhdGE6e2NsaWVudEVycm9yOntsb2dNZXNzYWdlOnttZXNzYWdlOmEubWVzc2FnZX19fX0pO18uRXAoImFwcENyYXNoZWQiLGQpfVhwKyt9ZWxzZSBiPT09IldBUk5JTkciJiZfLlZwLnB1Ymxpc2goImhhbmRsZVdhcm5pbmciLGEpO18ueCgia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIikmJihjPVlwKGIsYSxjKSkmJihfLkVwKCJjbGllbnRFcnJvciIsYyksKGI9PT0iRVJST1IifHxfLngoImVycm9yc19mbHVzaF9nZWxfYWx3YXlzX2tpbGxzd2l0Y2giKSkmJgpfLmJwKHZvaWQgMCx2b2lkIDAsITEpKTtfLngoInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIil8fFRwKGIsYSk7VXAoYSl9O1VwPWZ1bmN0aW9uKGEpe3RyeXtRcC5hZGQoYS5tZXNzYWdlKX1jYXRjaChiKXt9S3ArK307CllwPWZ1bmN0aW9uKGEsYixjPXt9KXthOntmb3IoZCBvZiBacClpZihfLk1rKGQudG9Mb3dlckNhc2UoKSkpe3ZhciBkPSEwO2JyZWFrIGF9ZD0hMX1pZighZCl7dmFyIGU9e3N0YWNrVHJhY2U6Yi5zdGFja307Yi5maWxlTmFtZSYmKGUuZmlsZW5hbWU9Yi5maWxlTmFtZSk7ZD1iLmxpbmVOdW1iZXImJmIubGluZU51bWJlci5zcGxpdD9iLmxpbmVOdW1iZXIuc3BsaXQoIjoiKTpbXTtkLmxlbmd0aCE9PTAmJihkLmxlbmd0aCE9PTF8fGlzTmFOKE51bWJlcihkWzBdKSk/ZC5sZW5ndGghPT0yfHxpc05hTihOdW1iZXIoZFswXSkpfHxpc05hTihOdW1iZXIoZFsxXSkpfHwoZS5saW5lTnVtYmVyPU51bWJlcihkWzBdKSxlLmNvbHVtbk51bWJlcj1OdW1iZXIoZFsxXSkpOmUubGluZU51bWJlcj1OdW1iZXIoZFswXSkpO2Q9e2xldmVsOiJFUlJPUl9MRVZFTF9VTktOT1dOIixtZXNzYWdlOmIubWVzc2FnZSxlcnJvckNsYXNzTmFtZTpiLm5hbWUsc2FtcGxlV2VpZ2h0OmIuc2FtcGxlV2VpZ2h0fTsKYT09PSJFUlJPUiI/ZC5sZXZlbD0iRVJST1JfTEVWRUxfRVJST1IiOmE9PT0iV0FSTklORyImJihkLmxldmVsPSJFUlJPUl9MRVZFTF9XQVJOTklORyIpO2E9e2lzT2JmdXNjYXRlZDohMCxicm93c2VyU3RhY2tJbmZvOmV9O2MucGFnZVVybD13aW5kb3cubG9jYXRpb24uaHJlZjtjLmt2UGFpcnM9W107Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikmJihjLmV4cGVyaW1lbnRJZHM9Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikpO2U9Xy53KCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighXy5SaSgid2ViX2Rpc2FibGVfZ2VsX3N0cF9lY2F0Y2hlcl9raWxsc3dpdGNoIikmJmUpZm9yKHZhciBmIG9mIE9iamVjdC5rZXlzKGUpKWMua3ZQYWlycy5wdXNoKHtrZXk6Zix2YWx1ZTpTdHJpbmcoZVtmXSl9KTtpZihmPWIucGFyYW1zKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhmKSljLmt2UGFpcnMucHVzaCh7a2V5OmBjbGllbnQuJHtofWAsdmFsdWU6U3RyaW5nKGZbaF0pfSk7CmlmKGI9Yi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZCljLnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoYik7Yj1fLncoIlNFUlZFUl9OQU1FIik7aD1fLncoIlNFUlZFUl9WRVJTSU9OIik7YiYmaCYmKGMua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTpifSksYy5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KGI9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJmMua3ZQYWlycy5wdXNoKHtrZXk6ImNsaWVudC5wbGF5ZXIudmVyc2lvbiIsdmFsdWU6Yn0pO3JldHVybntlcnJvck1ldGFkYXRhOmMsc3RhY2tUcmFjZTphLGxvZ01lc3NhZ2U6ZH19fTsKVHA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBhcmFtc3x8e307YT17dXJsUGFyYW1zOnthOiJsb2dlcnJvciIsdDoianNlcnJvciIsdHlwZTpiLm5hbWUsbXNnOmIubWVzc2FnZS5zdWJzdHIoMCwyNTApLGxpbmU6Yi5saW5lTnVtYmVyLGxldmVsOmEsImNsaWVudC5uYW1lIjpjLm5hbWV9LHBvc3RQYXJhbXM6e3VybDpfLncoIlBBR0VfTkFNRSIsd2luZG93LmxvY2F0aW9uLmhyZWYpLGZpbGU6Yi5maWxlTmFtZX0sbWV0aG9kOiJQT1NUIn07Yy52ZXJzaW9uJiYoYVsiY2xpZW50LnZlcnNpb24iXT1jLnZlcnNpb24pO2lmKGEucG9zdFBhcmFtcyl7Yi5zdGFjayYmKGEucG9zdFBhcmFtcy5zdGFjaz1iLnN0YWNrKTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoYykpYS5wb3N0UGFyYW1zW2BjbGllbnQuJHtlfWBdPWNbZV07aWYoYj1fLncoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgZCBvZiBPYmplY3Qua2V5cyhiKSlhLnBvc3RQYXJhbXNbZF09CmJbZF07KGQ9Xy53KCJMQVZBX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImxhdmEudmVyc2lvbiJdPWQpO2Q9Xy53KCJTRVJWRVJfTkFNRSIpO2I9Xy53KCJTRVJWRVJfVkVSU0lPTiIpO2QmJmImJihhLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09ZCxhLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09Yik7KGQ9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImNsaWVudC5wbGF5ZXIudmVyc2lvbiJdPWQpfV8uemooYCR7Xy53KCJFQ0FUQ0hFUl9SRVBPUlRfSE9TVCIsIiIpfS9lcnJvcl8yMDRgLGEpfTthcT1mdW5jdGlvbigpeyRwLmluc3RhbmNlfHwoJHAuaW5zdGFuY2U9bmV3ICRwKTtyZXR1cm4gJHAuaW5zdGFuY2V9OwpjcT1mdW5jdGlvbihhLGIpe2JxW2JdPWJxW2JdfHx7Y291bnQ6MH07dmFyIGM9YnFbYl07Yy5jb3VudCsrO2MudGltZT0oMCxfLmVsKSgpO2Euanx8KGEuaj1fLllqKCgpPT57dmFyIGQ9KDAsXy5lbCkoKTtmb3IobGV0IGUgaW4gYnEpYnFbZV0mJmQtYnFbZV0udGltZT42RTQmJmRlbGV0ZSBicVtlXTthJiYoYS5qPTApfSw1RTMpKTtyZXR1cm4gYy5jb3VudD41PyhjLmNvdW50PT09NiYmTWF0aC5yYW5kb20oKSoxRTU8MSYmKGM9bmV3IF8uWGooIkNTSSBkYXRhIGV4Y2VlZGVkIGxvZ2dpbmcgbGltaXQgd2l0aCBrZXkiLGIuc3BsaXQoIl8iKSksYi5pbmRleE9mKCJwbGV2Iik+PTB8fF8uSXAoYykpLCEwKTohMX07ZHE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gXy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSlbYV19OwplcT1mdW5jdGlvbihhLGI9MCl7dmFyIGM9Xy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7Y3x8KGM9e30sXy5RaSgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsYykpO2NbYl09YX07ZnE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gYT09PTA/IlJPT1RfVkVfVFlQRSI6YFJPT1RfVkVfVFlQRS4ke2F9YH07Xy5ncT1mdW5jdGlvbihhPTApe3JldHVybiBfLncoZnEoYSkpfTtocT1mdW5jdGlvbigpe3ZhciBhPV8udygiY3NuLXRvLWN0dC1hdXRoLWluZm8iKTthfHwoYT17fSxfLlFpKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIsYSkpO3JldHVybiBhfTtfLmlxPWZ1bmN0aW9uKGE9MCl7YT1kcShhKTtpZighYSYmIV8udygiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO2F8fChhPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIGE/YTpudWxsfTtqcT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aHEoKTsoYz1fLmlxKGMpKSYmZGVsZXRlIGRbY107YiYmKGRbYV09Yil9OwpfLmtxPWZ1bmN0aW9uKGEpe3JldHVybiBocSgpW2FdfTtfLm1xPWZ1bmN0aW9uKGEsYixjPTAsZCl7aWYoYSE9PWRxKGMpfHxiIT09Xy53KGZxKGMpKSlpZihqcShhLGQsYyksZXEoYSxjKSxfLlFpKGZxKGMpLGIpLGI9KCk9PntzZXRUaW1lb3V0KCgpPT57YSYmXy5FcCgiZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQiLHtjbGllbnREb2N1bWVudE5vbmNlOmxxLGNsaWVudFNjcmVlbk5vbmNlOmF9KX0sMCl9LCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiaW4gd2luZG93KXRyeXt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGIpfWNhdGNoKGUpe2IoKX1lbHNlIGIoKX07Xy5vcT1mdW5jdGlvbihhLGIpe18ubnEoIl9zdGFydCIsYSxiKX07Cl8ucHE9ZnVuY3Rpb24oYSxiKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGIpLmFjdGlvbkRpc2FibGVkKXt2YXIgYz1fLnVvKGJ8fCIiKTtfLnluKGMuaW5mbyxhKTthLmxvYWRUeXBlJiYoYz1hLmxvYWRUeXBlLF8ubG8oYikubG9hZFR5cGU9Yyk7Xy55bihfLm9vKGIpLGEpO2M9Xy5wbyhiKTtiPV8ua28oYikuY3R0QXV0aEluZm87YXEoKS5pbmZvKGEsYyxiKX19O3FxPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnVGlja3M/P1tdKS5tYXAoYT0+T2JqZWN0LnZhbHVlcyhhKVswXSl9OwpfLm5xPWZ1bmN0aW9uKGEsYixjKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGMpLmFjdGlvbkRpc2FibGVkKXt2YXIgZD1fLnBvKGMpLGU7aWYoZT1fLngoIndlYl9jc2lfZGVidWdfc2FtcGxlX2VuYWJsZWQiKSYmZCl7Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCkmJiFycSYmKHJxPSEwLF8ubnEoImdjZmwiLCgwLF8uZWwpKCksYykpO2U9Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCk/LmxvZ2dpbmdIb3RDb25maWc/LmNzaUNvbmZpZz8uZGVidWdTYW1wbGVXZWlnaHR8fDA7dmFyIGY7aWYoZj1lIT09MCliOntmPXFxKCk7aWYoZi5sZW5ndGg+MClmb3IodmFyIGg9MDtoPGYubGVuZ3RoO2grKylpZihhPT09ZltoXSl7Zj0hMDticmVhayBifWY9ITF9Zj8oZT1fLkduKGQpJWUhPT0wLF8ua28oYykuZGVidWdUaWNrc0V4Y2x1ZGVkTG9nZ2VkfHwoZj17fSxmLmRlYnVnVGlja3NFeGNsdWRlZD1lLF8ucHEoZixjKSksXy5rbyhjKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTplPSExfWlmKCFlKXtpZihhWzBdIT09Il8iJiYoZT1hLF8uc3EubWFyaykpe2Uuc3RhcnRzV2l0aCgibWFya18iKXx8KGU9Im1hcmtfIitlKTtjJiYoZSs9YCAoJHtjfSlgKTtmPWU7aD17fTtpZihiIT09dm9pZCAwJiYhXy54KCJ3ZWJfY3NpX2Rpc2FibGVfYWx0X3RpbWVfcGVyZm9ybWFuY2VfbWFyayIpKXtsZXQgbD1iO2w9Xy54KCJjc2lfdXNlX3BlcmZvcm1hbmNlX25hdmlnYXRpb25fdGltaW5nIik/bC1fLnNxLnRpbWVPcmlnaW46bC0oXy5zcS50aW1lT3JpZ2lufHxfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQpO2guc3RhcnRUaW1lPWx9Xy54KCJjc2lfZW5hYmxlX2Nocm9tZV9kZXZ0b29sc19wZXJmb3JtYW5jZV90aW1lbGluZV9pbnRlZ3JhdGlvbiIpJiYoaC5kZXRhaWw9e3ZJOntkYXRhVHlwZToibWFya2VyIixjb2xvcjoicHJpbWFyeSIsdG9vbHRpcFRleHQ6Zn19KTtmPU9iamVjdC5rZXlzKGgpLmxlbmd0aD4wP2g6dm9pZCAwO3RyeXtfLnNxLm1hcmsoZSxmKX1jYXRjaChsKXtfLnNxLm1hcmsoZSl9fWU9Cl8udW8oY3x8IiIpO2UudGlja1thXT1ifHwoMCxfLmVsKSgpO2lmKGUuY2FsbGJhY2smJmUuY2FsbGJhY2tbYV0pZm9yKHZhciBrIG9mIGUuY2FsbGJhY2tbYV0paygpO2s9Xy5ubyhjKTtrLmdlbFRpY2tzJiYoay5nZWxUaWNrc1thXT0hMCk7ZT1fLm1vKGMpO2s9Ynx8KDAsXy5lbCkoKTtlW2FdPWs7ZT1fLmtvKGMpLmN0dEF1dGhJbmZvO2E9PT0iX3N0YXJ0Ij8oYT1hcSgpLGNxKGEsYGJhc2VsaW5lXyR7ZH1gKXx8Xy5FcCgibGF0ZW5jeUFjdGlvbkJhc2VsaW5lZCIse2NsaWVudEFjdGlvbk5vbmNlOmR9LHt0aW1lc3RhbXA6YixjdHRBdXRoSW5mbzplfSkpOmFxKCkudGljayhhLGQsYixlKTtfLnRxKGMpO3JldHVybiBrfX19OwpfLnZxPWZ1bmN0aW9uKGEpe3ZhciBiPV8udXEoImFmdCIsYSk7aWYoYilyZXR1cm4gYjtiPV8udygoYXx8IiIpKyJUSU1JTkdfQUZUX0tFWVMiLFsib2wiXSk7dmFyIGM9Yi5sZW5ndGg7Zm9yKGxldCBkPTA7ZDxjO2QrKyl7bGV0IGU9Xy51cShiW2RdLGEpO2lmKGUpcmV0dXJuIGV9cmV0dXJuIE5hTn07Xy51cT1mdW5jdGlvbihhLGIpe2lmKGE9Xy5tbyhiKVthXSlyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIj9hOmFbYS5sZW5ndGgtMV19O18udHE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51cSgiX3N0YXJ0IixhKSxjPV8udnEoYSksZD0hd3E7YiYmYyYmZCYmKF8uc20oeHEsbmV3IHlxKE1hdGgucm91bmQoYy1iKSxhKSksd3E9ITApfTtfLnpxPWZ1bmN0aW9uKGEsYixjPSExKXtfLlZpKF8ucHEpKGEsYixjKX07Xy5BcT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uVmkoXy5ucSkoYSxiLGMpfTsKXy5CcT1mdW5jdGlvbihhLGIpe3JldHVybiBfLlZpKCgpPT57dmFyIGM9Xy5tbyhiKTtyZXR1cm4gYSBpbiBjfSkoKX07a2E9T2JqZWN0LmNyZWF0ZTtqYT1PYmplY3QuZGVmaW5lUHJvcGVydHk7aWE9Z2xvYmFsVGhpcztjYT0iSW50OCBVaW50OCBVaW50OENsYW1wZWQgSW50MTYgVWludDE2IEludDMyIFVpbnQzMiBGbG9hdDMyIEZsb2F0NjQiLnNwbGl0KCIgIik7aWEuQmlnSW50NjRBcnJheSYmKGNhLnB1c2goIkJpZ0ludDY0IiksY2EucHVzaCgiQmlnVWludDY0IikpO3ZhciBsYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZmEoIlN5bWJvbC5kaXNwb3NlIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOlN5bWJvbCgiYSIpfSk7CmZhKCJTdXBwcmVzc2VkRXJyb3IiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyxkLGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGIpKXJldHVybiBuZXcgYihjLGQsZSk7ZT1FcnJvcihlKTsic3RhY2siaW4gZSYmKHRoaXMuc3RhY2s9ZS5zdGFjayk7dGhpcy5tZXNzYWdlPWUubWVzc2FnZTt0aGlzLmVycm9yPWM7dGhpcy5zdXBwcmVzc2VkPWR9aWYoYSlyZXR1cm4gYTtuYShiLEVycm9yKTtiLnByb3RvdHlwZS5uYW1lPSJTdXBwcmVzc2VkRXJyb3IiO3JldHVybiBifSk7CmZhKCJTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtpZihiIGluc3RhbmNlb2YgUmVnRXhwJiYhYi5nbG9iYWwpdGhyb3cgbmV3IFR5cGVFcnJvcigiYiIpO3JldHVybiBiIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShiLGMpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhiKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxjKX19KTtmYSgiUHJvbWlzZS53aXRoUmVzb2x2ZXJzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7dmFyIGIsYztyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2I9ZDtjPWV9KSxyZXNvbHZlOmIscmVqZWN0OmN9fX0pOwpmYSgiT2JqZWN0Lmhhc093biIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixjKX19KTtmYSgiQXJyYXkucHJvdG90eXBlLmF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZWEoImF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZmEoIlN0cmluZy5wcm90b3R5cGUuYXQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6cWF9KTtfLl9EdW1wRXhjZXB0aW9uPXdpbmRvdy5fRHVtcEV4Y2VwdGlvbnx8ZnVuY3Rpb24oYSl7dGhyb3cgYTt9O3dpbmRvdy5fRHVtcEV4Y2VwdGlvbj1fLl9EdW1wRXhjZXB0aW9uO3dpbmRvdy55dGNzaSYmd2luZG93Lnl0Y3NpLnRpY2smJndpbmRvdy55dGNzaS50aWNrKCJyc2VzX2RwaiIpO18uQ3E9Xy5DcXx8e307Xy51PXRoaXN8fHNlbGY7Xy5EcT1fLnUuX0ZfdG9nZ2xlc19kZWZhdWx0X2Jhc2V8fFtdO3ZhLmdldD1mdW5jdGlvbigpe3JldHVybiBudWxsfTtfLmVoPW51bGw7Xy5FcT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTt2YXIgJG09Y2xhc3N7Y29uc3RydWN0b3Ioe3VybDphLGtMOmJ9KXt0aGlzLm89YTt0aGlzLkI9Yjt0aGlzLnY9KG5ldyBEYXRlKS5nZXRUaW1lKCktMTcwNDA2NzJFNTt0aGlzLmo9e307Zm9yKHZhciBjPS9bPyZdKFteJj1dKyk9KFteJl0qKS9nO2I9Yy5leGVjKGEpOyl0aGlzLmpbYlsxXV09YlsyXX19O18uSGEoXy5MYSxFcnJvcik7Xy5MYS5wcm90b3R5cGUubmFtZT0iQ3VzdG9tRXJyb3IiO3ZhciB3ZDt2YXIgTmE9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXMsUWE7Xy5TYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTtWYShhPT5hYGApfHxWYShhPT5hYFwwYCl8fFZhKGE9PmFgXG5gKXx8VmEoYT0+YWBcdTAwMDBgKTtfLldhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O18uRnE9bmV3IF8uV2EoImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7dmFyIFphLGNiO1phPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuZmI9YX19O18uR3E9bmV3IFphKGE9Pi9eW146XSooWy8/I118JCkvLnRlc3QoYSkpO18uSHE9JGEoInRlbCIpO18uSXE9JGEoImRhdGEiKTtfLkpxPSRhKCJodHRwIik7Xy5LcT0kYSgiaHR0cHMiKTtfLkxxPSRhKCJmdHAiKTtfLk1xPSRhKCJtYWlsdG8iKTtfLk5xPSRhKCJpbnRlbnQiKTtfLk9xPSRhKCJzbXMiKTtfLlBxPSRhKCJ2bmQueW91dHViZSIpO18uYWI9W18uSXEsXy5KcSxfLktxLF8uTXEsXy5McSxfLkdxXTtjYj0vXlxzKig/IWphdmFzY3JpcHQ6KSg/OltcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO18uZmI9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qKyIifX07Xy5qYj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTt2YXIgcGI9ImFsdGVybmF0ZSBhdXRob3IgYm9va21hcmsgY2Fub25pY2FsIGNpdGUgaGVscCBpY29uIGxpY2Vuc2UgbW9kdWxlcHJlbG9hZCBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpO3ZhciBEYj17fTt2YXIgS2I7S2I9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtfLlliPS8jfCQvO3ZhciBRcT0hIShfLkRxWzBdPj4yNSYxKSxScT0hIShfLkRxWzBdPj4yMCYxKSxTcT0hIShfLkRxWzBdPj4yNyYxKSxUcT0hIShfLkRxWzBdJjgpLFVxPSEhKF8uRHFbMF0mODE5MiksVnE9ISEoXy5EcVswXT4+MTkmMSksV3E9ISEoXy5EcVswXT4+MTcmMSksWHE9ISEoXy5EcVswXT4+MTgmMSk7dmFyIGRjLFZjLGRlLEFlLFZnO2RjPVFxP1NxOnVhKDYxMDQwMTMwMSwhMSk7Xy5ZcT1RcT9UcTp1YSg1MTM2NTk1MjMsITEpO1ZjPVFxP1JxfHwhVXE6dWEoNzQ4NDAyMTQ3LCEwKTtkZT1RcT9WcTp1YSg5MTk0NDQ4MjQsITEpO0FlPVFxP1dxOnVhKDkyODg3NTM5OCwhMSk7Vmc9UXE/WHE6dWEoNjgzNzQ5MjAxLCExKTt2YXIgZWMsWnE9Xy51Lm5hdmlnYXRvcjtlYz1acT9acS51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7Xy5wY1siICJdPWZ1bmN0aW9uKCl7fTt2YXIgJHEsYXIsYnI7JHE9amMoKTthcj1pYygpPyExOmhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIik7Xy5KbD1oYygiRWRnZSIpO2JyPWhjKCJHZWNrbyIpJiYhKF8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIikpJiYhKGhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIikpJiYhaGMoIkVkZ2UiKTtfLmNyPV8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIik7Xy5kcj1fLmNyJiZoYygiTW9iaWxlIik7bmMoKXx8aGMoIk1hY2ludG9zaCIpO25jKCl8fGhjKCJXaW5kb3dzIik7KG5jKCk/ZWMucGxhdGZvcm09PT0iTGludXgiOmhjKCJMaW51eCIpKXx8bmMoKXx8aGMoIkNyT1MiKTtfLmVyPW5jKCk/ZWMucGxhdGZvcm09PT0iQW5kcm9pZCI6aGMoIkFuZHJvaWQiKTtvYygpO2hjKCJpUGFkIik7aGMoImlQb2QiKTtfLmZyPW9jKCl8fGhjKCJpUGFkIil8fGhjKCJpUG9kIik7Cl8uZ3I9Xy5iYygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigia2Fpb3MiKSE9LTE7a2MoKTtfLmhyPW9jKCl8fGhjKCJpUG9kIik7Xy5pcj1oYygiaVBhZCIpOyFoYygiQW5kcm9pZCIpfHxtYygpfHxrYygpfHxqYygpfHxoYygiU2lsayIpO21jKCk7Xy5Paz1oYygiU2FmYXJpIikmJiEobWMoKXx8KGljKCk/MDpoYygiQ29hc3QiKSl8fGpjKCl8fChpYygpPzA6aGMoIkVkZ2UiKSl8fChpYygpP2ZjKCJNaWNyb3NvZnQgRWRnZSIpOmhjKCJFZGcvIikpfHwoaWMoKT9mYygiT3BlcmEiKTpoYygiT1BSIikpfHxrYygpfHxoYygiU2lsayIpfHxoYygiQW5kcm9pZCIpKSYmIShvYygpfHxoYygiaVBhZCIpfHxoYygiaVBvZCIpKTt2YXIgcmM9e30sdmM9bnVsbDt2YXIgd2M9dm9pZCAwO3ZhciBIYyxZYyxTYztfLkpjPV8ueWMoKTtfLmpyPV8ueWMoKTtIYz1fLnljKCk7Xy5rcj1fLnljKCk7WWM9Xy55YygpO18uT2M9Xy55YygibV9tIiwhMCk7U2M9Xy55YygpO18ubHI9Xy55YygpO3ZhciBucjtfLkFjPV8ueWMoImphcyIsITApO25yPVtdO25yW18uQWNdPTc7Xy5tcj1PYmplY3QuZnJlZXplKG5yKTtfLlBjPXt9O18uemM9e307Xy5vcj1PYmplY3QuZnJlZXplKHt9KTtfLnByPV8uQ2MoYT0+YSE9PW51bGwmJmEhPT12b2lkIDApO3ZhciBFYyxEYztFYz1fLkNjKGE9PnR5cGVvZiBhPT09Im51bWJlciIpO0RjPV8uQ2MoYT0+dHlwZW9mIGE9PT0ic3RyaW5nIik7Xy5ibz1fLkNjKGE9PmEhPW51bGwmJnR5cGVvZiBhPT09Im9iamVjdCImJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iKTtfLnFyPV8uQ2MoYT0+ISFhJiYodHlwZW9mIGE9PT0ib2JqZWN0Inx8dHlwZW9mIGE9PT0iZnVuY3Rpb24iKSk7dmFyIHJyLHNyO18uTWM9Xy5DYyhhPT5hPj1yciYmYTw9c3IpO3JyPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUik7c3I9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtfLnRyPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwO18udXI9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzVWludE46dm9pZCAwO18udnI9TnVtYmVyLmlzU2FmZUludGVnZXI7Xy53cj1OdW1iZXIuaXNGaW5pdGU7Xy54cj1NYXRoLnRydW5jO3ZhciBUYz17fTt2YXIgS2M7Xy55cj1fLkZjKDApO18uenI9ZmQoKTtfLkFyPWZkKCk7Xy5Ccj1mZCgpO18uQ3I9ZmQoKTtfLkRyPWZkKCk7Xy5Fcj1mZCgpO18uRnI9ZmQoKTtfLkdyPWZkKCk7Xy5Icj1mZCgpO18uSXI9ZmQoKTtfLkpyPWZkKCk7Xy5Lcj1mZCgpO18uTHI9ZmQoKTtfLk1yPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLkRhPV8uWGMoYSxiLGMsMjA0OCl9dG9KU09OKCl7cmV0dXJuIFVjKHRoaXMpfXNlcmlhbGl6ZShhKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoVWModGhpcyxhKSl9Y2xvbmUoKXt2YXIgYT10aGlzLkRhLGI9YVtfLkFjXXwwO3JldHVybiBfLiRjKHRoaXMsYSxiKT9fLmJkKHRoaXMsYSwhMCk6bmV3IHRoaXMuY29uc3RydWN0b3IoXy5aYyhhLGIsITEpKX19O18uTXIucHJvdG90eXBlW18uT2NdPV8uUGM7dmFyIGpqPXdpbmRvdzsiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsCiJJTlBVVCJdKTt2YXIgaWQ9e1FCOiJhbGxvdy1mb3JtcyIsU0I6ImFsbG93LW1vZGFscyIsVEI6ImFsbG93LW9yaWVudGF0aW9uLWxvY2siLFVCOiJhbGxvdy1wb2ludGVyLWxvY2siLFZCOiJhbGxvdy1wb3B1cHMiLFdCOiJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giLFhCOiJhbGxvdy1wcmVzZW50YXRpb24iLFlCOiJhbGxvdy1zYW1lLW9yaWdpbiIsWkI6ImFsbG93LXNjcmlwdHMiLGFDOiJhbGxvdy10b3AtbmF2aWdhdGlvbiIsYkM6ImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJ9LGxkPWhkKCgpPT5rZCgpKTtfLmc9Xy5uZC5wcm90b3R5cGU7Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLm5kKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTtfLmcuYXJlYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoKnRoaXMuaGVpZ2h0fTtfLmcuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5hcmVhKCl9O18uZy5jZWlsPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKXy5nLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcuc2NhbGU9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoKj1hO3RoaXMuaGVpZ2h0Kj10eXBlb2YgYj09PSJudW1iZXIiP2I6YTtyZXR1cm4gdGhpc307dmFyIHJkPSJjb25zdHJ1Y3RvciBoYXNPd25Qcm9wZXJ0eSBpc1Byb3RvdHlwZU9mIHByb3BlcnR5SXNFbnVtZXJhYmxlIHRvTG9jYWxlU3RyaW5nIHRvU3RyaW5nIHZhbHVlT2YiLnNwbGl0KCIgIik7dmFyIE9wPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE9PT1QcCYmYnx8IiJ9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qfX0sUHA9e307bmV3IE9wKFBwLCIiKTtfLmc9dWQucHJvdG90eXBlO18uZy5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihhLGIpe3JldHVybihifHx0aGlzLmopLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhhKSl9O18uZy5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGEpe3JldHVybiBCZCh0aGlzLmosYSl9O18uZy5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qLmNyZWF0ZVRleHROb2RlKFN0cmluZyhhKSl9O18uZy5hcHBlbmRDaGlsZD1mdW5jdGlvbihhLGIpe2EuYXBwZW5kQ2hpbGQoYil9O18uZy5hcHBlbmQ9ZnVuY3Rpb24oYSxiKXtBZChfLnZkKGEpLGEsYXJndW1lbnRzKX07Xy5nLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChhLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07Cl8uZy5yZW1vdmVOb2RlPV8uRGQ7Xy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEmJmI/YT09Ynx8YS5jb250YWlucyhiKTohMX07Xy5nLmlzRm9jdXNhYmxlPV8uRmQ7dmFyIGlqPShuZXcgRGF0ZSkuZ2V0VGltZSgpO18uZz1MZC5wcm90b3R5cGU7Xy5nLmlzRW5hYmxlZD1mdW5jdGlvbigpe2lmKCFfLnUubmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpcmV0dXJuITE7aWYoIXRoaXMuaXNFbXB0eSgpKXJldHVybiEwO3RoaXMuc2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiLCIxIix7dmo6NjB9KTtpZih0aGlzLmdldCgiVEVTVENPT0tJRVNFTkFCTEVEIikhPT0iMSIpcmV0dXJuITE7dGhpcy5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKXy5nLnNldD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ITE7aWYodHlwZW9mIGM9PT0ib2JqZWN0Iil7dmFyIGU9Yy5zYW1lU2l0ZTtkPWMuc2VjdXJlfHwhMTt2YXIgZj1jLmRvbWFpbnx8dm9pZCAwO3ZhciBoPWMucGF0aHx8dm9pZCAwO3ZhciBrPWMudmp9aWYoL1s7PVxzXS8udGVzdChhKSl0aHJvdyBFcnJvcigiRGAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJFYCIrYik7az09PXZvaWQgMCYmKGs9LTEpO2M9Zj8iO2RvbWFpbj0iK2Y6IiI7aD1oPyI7cGF0aD0iK2g6IiI7ZD1kPyI7c2VjdXJlIjoiIjtrPWs8MD8iIjprPT0wPyI7ZXhwaXJlcz0iKyhuZXcgRGF0ZSgxOTcwLDEsMSkpLnRvVVRDU3RyaW5nKCk6IjtleHBpcmVzPSIrKG5ldyBEYXRlKERhdGUubm93KCkrayoxRTMpKS50b1VUQ1N0cmluZygpO3RoaXMuai5jb29raWU9YSsiPSIrYitjK2graytkKyhlIT1udWxsPyI7c2FtZXNpdGU9IitlOiIiKX07Cl8uZy5nZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hKyI9IixkPSh0aGlzLmouY29va2llfHwiIikuc3BsaXQoIjsiKTtmb3IobGV0IGU9MCxmO2U8ZC5sZW5ndGg7ZSsrKXtmPWRbZV0udHJpbSgpO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07Xy5nLnJlbW92ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSwiIix7dmo6MCxwYXRoOmIsZG9tYWluOmN9KTtyZXR1cm4gZH07Xy5nLnJkPWZ1bmN0aW9uKCl7cmV0dXJuIE1kKHRoaXMpLmtleXN9O18uZy5NYz1mdW5jdGlvbigpe3JldHVybiBNZCh0aGlzKS52YWx1ZXN9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuai5jb29raWV9O18uZy5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPU1kKHRoaXMpLmtleXM7Zm9yKGxldCBiPWEubGVuZ3RoLTE7Yj49MDtiLS0pdGhpcy5yZW1vdmUoYVtiXSl9OwpfLkxqPW5ldyBMZCh0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBSZDtfLk5yPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dmFyIGM9Y3x8W107dGhpcy52PWE7dGhpcy5vPWJ8fG51bGw7dGhpcy5qPVtdO3RoaXMuaj10aGlzLmouY29uY2F0KGMpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudn19O18uT3I9bmV3IF8uTnIoIm43M3F3ZiIsIm43M3F3ZiIpO18uYWUucHJvdG90eXBlLlk9ITE7Xy5hZS5wcm90b3R5cGUuaWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ZfTtfLmFlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5ZfHwodGhpcy5ZPSEwLHRoaXMubGEoKSl9O18uYWUucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLmFlLnByb3RvdHlwZS5hZGRPbkRpc3Bvc2VDYWxsYmFjaz1mdW5jdGlvbihhLGIpe3RoaXMuWT9iIT09dm9pZCAwP2EuY2FsbChiKTphKCk6KHRoaXMuS3x8KHRoaXMuSz1bXSksYiYmKGE9YS5iaW5kKGIpKSx0aGlzLksucHVzaChhKSl9O18uYWUucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7aWYodGhpcy5LKWZvcig7dGhpcy5LLmxlbmd0aDspdGhpcy5LLnNoaWZ0KCkoKX07dmE9dmF8fHt9O18uSGEoYmUsXy5hZSk7YmUucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt9O2NlLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGEpe3RoaXMuaiYmKHRoaXMuai5jYWxsKHRoaXMub3x8bnVsbCxhKSx0aGlzLmo9dGhpcy5vPW51bGwpfTtjZS5wcm90b3R5cGUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPW51bGx9O3ZhLndrPWNlO18uSGEoZWUsXy5hZSk7Xy5nPWVlLnByb3RvdHlwZTtfLmcuUGo9bnVsbDtfLmcuT3k9YmU7Xy5nLkFqPW51bGw7Xy5nLnN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07Xy5nLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRH07Xy5nLmlzTG9hZGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLkFqfTtfLmcueWU9ZnVuY3Rpb24oKXt0aGlzLkFqPW5ldyBiZX07Xy5nLm9uTG9hZD1mdW5jdGlvbihhKXt2YXIgYj1uZXcgdGhpcy5PeTtiLmluaXRpYWxpemUoYSgpKTt0aGlzLkFqPWI7aWYodGhpcy5vJiYoYj1pZSh0aGlzLm8sYSgpKSkpcmV0dXJuIGI7aWYodGhpcy5CJiYoYT1pZSh0aGlzLkIsYSgpKSkpcmV0dXJuIGE7dGhpcy52JiYodGhpcy52Lmxlbmd0aD0wKTtyZXR1cm4gbnVsbH07Cl8uZy5vbkVycm9yPWZ1bmN0aW9uKGEpe3RoaXMudiYmKGE9aWUodGhpcy52LGEpKSYmXy4kYihFcnJvcigiR2AiK2EpKTt0aGlzLm8mJih0aGlzLm8ubGVuZ3RoPTApO3RoaXMuQiYmKHRoaXMuQi5sZW5ndGg9MCl9O18uZy5sYT1mdW5jdGlvbigpe2VlLnpiLmxhLmNhbGwodGhpcyk7Xy5aZCh0aGlzLkFqKTt0aGlzLlBqPW51bGx9O3ZhLk9nPWVlO3ZhciBRZz17RVJST1I6ImVycm9yIixJRExFOiJpZGxlIixNczoiYWN0aXZlIixpdToidXNlcklkbGUiLGh1OiJ1c2VyQWN0aXZlIn07Xy5nPWplLnByb3RvdHlwZTtfLmcuUnI9ZnVuY3Rpb24oKXt9O18uZy5UaD1mdW5jdGlvbigpe307Xy5nLm5pPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIkgiKTt9O18uZy5BZz1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJJIik7fTtfLmcuVnA9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiExfTtfLmcuZW49ZnVuY3Rpb24oKXt9O18uZy5abj1mdW5jdGlvbigpe307dmFyIFByPWNsYXNze2luaXQoKXtfLkZhKCJfRl9pbnN0YWxsQ3NzIixhPT57YSYma2UoYSl9KX19O3ZhciBtZT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj17fTt0aGlzLm89IiI7dGhpcy52PXt9fXRvU3RyaW5nKCl7dmFyIGE9dGhpcy5vK3ZlKHRoaXMpLGI9Xy5VYih0aGlzLnYpLGM9IiI7YiE9IiImJihjPSI/IitiKTtyZXR1cm4gYStjfWNsb25lKCl7dmFyIGE9bmV3IG1lO2Euaj17Li4udGhpcy5qfTthLm89dGhpcy5vO2Eudj17Li4udGhpcy52fTtyZXR1cm4gYX19LG5lPXt2RzoiayIsRUM6ImNrIix6RjoibSIsWUM6ImV4bSIsV0M6ImV4Y20iLExCOiJhbSIsUkI6ImFtYyIsbUY6Im1tIix0RzoicnQiLGJGOiJkIixYQzoiZWQiLGlIOiJzdiIsSkM6ImRlb2IiLHNDOiJjYiIsd0M6ImNjYiIsdEM6ImNiaSIsWUc6InJzIixCRzoic2RjaCIsY0Y6ImltIixLQzoiZGciLFVDOiJiciIsVEM6ImJyLWQiLFZDOiJyYiIsSUg6InpzIixFSDoid3QiLFpDOiJlZSIsaEg6InNtIix4RjoibWQiLFhFOiJnc3Ntb2R1bGVzZXRwcm90byIsQ0g6InVqZyIsQkg6InNwIixhRjoiaWNoYyIsWEc6InNsayIsCk1DOiJkdGkiLExDOiJkYndoIixlRjoiaWMifSxRcj1SZWdFeHAoIl4oZ2FwaVxcLik/bG9hZGVkKF9nfF9oKT8oX1swLTlhLXpdKykrJCIpLFJyPVJlZ0V4cCgiXlthLXpBLVowLTktXypdKyQiKTt2YXIgR2U9ITE7Xy55Zz10eXBlb2YgQXN5bmNDb250ZXh0IT09InVuZGVmaW5lZCImJnR5cGVvZiBBc3luY0NvbnRleHQuU25hcHNob3Q9PT0iZnVuY3Rpb24iP2E9PmEmJkFzeW5jQ29udGV4dC5TbmFwc2hvdC53cmFwKGEpOmE9PmE7Xy5KZS5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7dGhpcy5vPSEwfTtfLkplLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Xy5IYShLZSxfLkplKTsKS2UucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnR5cGU9YS50eXBlLGQ9YS5jaGFuZ2VkVG91Y2hlcyYmYS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg/YS5jaGFuZ2VkVG91Y2hlc1swXTpudWxsO3RoaXMudGFyZ2V0PWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7dGhpcy5jdXJyZW50VGFyZ2V0PWI7Yj1hLnJlbGF0ZWRUYXJnZXQ7Ynx8KGM9PSJtb3VzZW92ZXIiP2I9YS5mcm9tRWxlbWVudDpjPT0ibW91c2VvdXQiJiYoYj1hLnRvRWxlbWVudCkpO3RoaXMucmVsYXRlZFRhcmdldD1iO2Q/KHRoaXMuY2xpZW50WD1kLmNsaWVudFghPT12b2lkIDA/ZC5jbGllbnRYOmQucGFnZVgsdGhpcy5jbGllbnRZPWQuY2xpZW50WSE9PXZvaWQgMD9kLmNsaWVudFk6ZC5wYWdlWSx0aGlzLnNjcmVlblg9ZC5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1kLnNjcmVlbll8fDApOih0aGlzLm9mZnNldFg9Xy5jcnx8YS5vZmZzZXRYIT09dm9pZCAwP2Eub2Zmc2V0WDphLmxheWVyWCx0aGlzLm9mZnNldFk9Cl8uY3J8fGEub2Zmc2V0WSE9PXZvaWQgMD9hLm9mZnNldFk6YS5sYXllclksdGhpcy5jbGllbnRYPWEuY2xpZW50WCE9PXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWCx0aGlzLmNsaWVudFk9YS5jbGllbnRZIT09dm9pZCAwP2EuY2xpZW50WTphLnBhZ2VZLHRoaXMuc2NyZWVuWD1hLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWEuc2NyZWVuWXx8MCk7dGhpcy5idXR0b249YS5idXR0b247dGhpcy5rZXlDb2RlPWEua2V5Q29kZXx8MDt0aGlzLmtleT1hLmtleXx8IiI7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwoYz09ImtleXByZXNzIj9hLmtleUNvZGU6MCk7dGhpcy5jdHJsS2V5PWEuY3RybEtleTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLnNoaWZ0S2V5PWEuc2hpZnRLZXk7dGhpcy5tZXRhS2V5PWEubWV0YUtleTt0aGlzLnBvaW50ZXJJZD1hLnBvaW50ZXJJZHx8MDt0aGlzLnBvaW50ZXJUeXBlPWEucG9pbnRlclR5cGU7dGhpcy5zdGF0ZT1hLnN0YXRlO3RoaXMudGltZVN0YW1wPQphLnRpbWVTdGFtcDt0aGlzLmo9YTthLmRlZmF1bHRQcmV2ZW50ZWQmJktlLnpiLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9O0tlLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtLZS56Yi5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKTt0aGlzLmouc3RvcFByb3BhZ2F0aW9uP3RoaXMuai5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLmouY2FuY2VsQnViYmxlPSEwfTtLZS5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtLZS56Yi5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuajthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgVWU9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKTt2YXIgTGU9MDtPZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5saXN0ZW5lcnNbZl07YXx8KGE9dGhpcy5saXN0ZW5lcnNbZl09W10sdGhpcy5qKyspO3ZhciBoPVFlKGEsYixkLGUpO2g+LTE/KGI9YVtoXSxjfHwoYi56aT0hMSkpOihiPW5ldyBNZShiLHRoaXMuc3JjLGYsISFkLGUpLGIuemk9YyxhLnB1c2goYikpO3JldHVybiBifTtPZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEsYixjLGQpe2E9YS50b1N0cmluZygpO2lmKCEoYSBpbiB0aGlzLmxpc3RlbmVycykpcmV0dXJuITE7dmFyIGU9dGhpcy5saXN0ZW5lcnNbYV07Yj1RZShlLGIsYyxkKTtyZXR1cm4gYj4tMT8oTmUoZVtiXSksQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGUsYiwxKSxlLmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1thXSx0aGlzLmotLSksITApOiExfTt2YXIgWGU9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksZWY9e30sJGU9MCxmZj0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO18uSGEoXy5nZixfLmFlKTtfLmdmLnByb3RvdHlwZVtVZV09ITA7Xy5nPV8uZ2YucHJvdG90eXBlO18uZy5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjLGQpe18uU2UodGhpcyxhLGIsYyxkKX07Xy5nLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5jZih0aGlzLGEsYixjLGQpfTsKXy5nLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLk07aWYoYylmb3IoYj1bXTtjO2M9Yy5NKWIucHVzaChjKTtjPXRoaXMuRmE7dmFyIGQ9YS50eXBlfHxhO2lmKHR5cGVvZiBhPT09InN0cmluZyIpYT1uZXcgXy5KZShhLGMpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIF8uSmUpYS50YXJnZXQ9YS50YXJnZXR8fGM7ZWxzZXt2YXIgZT1hO2E9bmV3IF8uSmUoZCxjKTtzZChhLGUpfWU9ITA7dmFyIGY7aWYoYilmb3IoZj1iLmxlbmd0aC0xOyFhLm8mJmY+PTA7Zi0tKXt2YXIgaD1hLmN1cnJlbnRUYXJnZXQ9YltmXTtlPWhmKGgsZCwhMCxhKSYmZX1hLm98fChoPWEuY3VycmVudFRhcmdldD1jLGU9aGYoaCxkLCEwLGEpJiZlLGEub3x8KGU9aGYoaCxkLCExLGEpJiZlKSk7aWYoYilmb3IoZj0wOyFhLm8mJmY8Yi5sZW5ndGg7ZisrKWg9YS5jdXJyZW50VGFyZ2V0PWJbZl0sZT1oZihoLGQsITEsYSkmJmU7cmV0dXJuIGV9OwpfLmcubGE9ZnVuY3Rpb24oKXtfLmdmLnpiLmxhLmNhbGwodGhpcyk7dGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTt0aGlzLk09bnVsbH07Xy5nLmxpc3Rlbj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLmcucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGEpe2lmKHRoaXMubyl7dmFyIGI9dGhpcy5vO2E9YSYmYS50b1N0cmluZygpO2xldCBjPTA7Zm9yKGxldCBkIGluIGIubGlzdGVuZXJzKWlmKCFhfHxkPT1hKXtsZXQgZT1iLmxpc3RlbmVyc1tkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKykrK2MsTmUoZVtmXSk7ZGVsZXRlIGIubGlzdGVuZXJzW2RdO2Iuai0tfWI9Y31lbHNlIGI9MDtyZXR1cm4gYn07dmFyIGtmPWNsYXNzIGV4dGVuZHMgXy5nZntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuRD10aGlzLmo9MDt0aGlzLkRjPWE/P3twYjooYixjKT0+c2V0VGltZW91dChiLGMpLEFhOmI9PntjbGVhclRpbWVvdXQoYil9fTt0aGlzLmlzT25saW5lPXdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZT8/ITA7dGhpcy52PWFzeW5jKCk9Pnthd2FpdCBtZih0aGlzKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMudik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy52KTt0aGlzLkR8fG5mKHRoaXMpfWRpc3Bvc2UoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib2ZmbGluZSIsdGhpcy52KTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIix0aGlzLnYpO3RoaXMuRGMuQWEodGhpcy5EKTtkZWxldGUga2YuaW5zdGFuY2V9U2IoKXtyZXR1cm4gdGhpcy5pc09ubGluZX19O3ZhciBxZj1udWxsLHBmPW5ldyBNYXA7dmFyIFNyPWE9PnthPWEuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwiZCIsIjAiKTt3ZShhLG51bGwpO3hlKGEsbnVsbCk7cmV0dXJuIGF9LFRyPSEwLFVyPShhLGIse2Nzc1Jvd0tleTpjLEtlOmQsWWQ6ZSxjYWxsYmFjazpmfT17fSk9PntpZihiKWZvcihsZXQgaCBvZiBiKWlmKCFSci50ZXN0KGgpKXRocm93IEVycm9yKCJKYCIraCk7b2UoYSwibSIsYi5qb2luKCIsIikpO2UmJnplKGEsZSk7YyYmKG9lKGEsImNrIixjKSxkP29lKGEsInJzIixkKTpUciYmKFRyPSExKSk7aWYoZil7aWYoZiE9bnVsbCYmIVFyLnRlc3QoZikpdGhyb3cgRXJyb3IoIktgIitmKTtvZShhLCJjYiIsZil9YT1hLnRvU3RyaW5nKCk7YS5sYXN0SW5kZXhPZigiLyIsMCk9PTAmJihiPV8uTWIoZG9jdW1lbnQubG9jYXRpb24uaHJlZiksYT1fLkliKGJbMV0sYlsyXSxiWzNdLGJbNF0pK2EpO3JldHVybiBfLlRhKGEpfSxuZz0oYSxiLHtsbjpjPVtdLGNzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofT0Ke30pPT57YT1TcihhKTt4ZShhLGMpO3JldHVybiBVcihhLGIse2Nzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofSl9LG1nPShhLGIse21uOmM9W10sbG46ZD1bXSxjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a309e30pPT57YT1TcihhKTtvZShhLCJkIiwiMSIpO3dlKGEsYyk7eGUoYSxkKTtyZXR1cm4gVXIoYSxiLHtjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a30pfTt2YXIgVnI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnY9YTt0aGlzLkI9Yjt0aGlzLm89MDt0aGlzLmo9bnVsbH1nZXQoKXtpZih0aGlzLm8+MCl7dGhpcy5vLS07dmFyIGE9dGhpcy5qO3RoaXMuaj1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMudigpO3JldHVybiBhfX07dmFyIFdyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5vPXRoaXMuaj1udWxsfWFkZChhLGIpe3ZhciBjPXZmLmdldCgpO2Muc2V0KGEsYik7dGhpcy5vP3RoaXMuby5uZXh0PWM6dGhpcy5qPWM7dGhpcy5vPWN9cmVtb3ZlKCl7dmFyIGE9bnVsbDt0aGlzLmomJihhPXRoaXMuaix0aGlzLmo9dGhpcy5qLm5leHQsdGhpcy5qfHwodGhpcy5vPW51bGwpLGEubmV4dD1udWxsKTtyZXR1cm4gYX19LHZmPW5ldyBWcigoKT0+bmV3IFhyLGE9PmEucmVzZXQoKSksWHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLmZuPW51bGx9c2V0KGEsYil7dGhpcy5mbj1hO3RoaXMuc2NvcGU9Yjt0aGlzLm5leHQ9bnVsbH1yZXNldCgpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuZm49bnVsbH19O3ZhciBZcix3Zj0hMSx1Zj1uZXcgV3IsR2Y9KGEsYik9PntZcnx8WnIoKTt3Znx8KFlyKCksd2Y9ITApO3VmLmFkZChhLGIpfSxacj0oKT0+e3ZhciBhPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO1lyPSgpPT57YS50aGVuKHhmKX19O0NmLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuY29udGV4dD10aGlzLmo9dGhpcy5vPXRoaXMuY2hpbGQ9bnVsbDt0aGlzLnY9ITF9O3ZhciBEZj1uZXcgVnIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IENmfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KTtfLkJmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gUWYodGhpcywoMCxfLnlnKSh0eXBlb2YgYT09PSJmdW5jdGlvbiI/YTpudWxsKSwoMCxfLnlnKSh0eXBlb2YgYj09PSJmdW5jdGlvbiI/YjpudWxsKSxjKX07Xy55ZihfLkJmKTtfLmc9Xy5CZi5wcm90b3R5cGU7Xy5nLmZpbmFsbHk9ZnVuY3Rpb24oYSl7YT0oMCxfLnlnKShhKTtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntLZih0aGlzLGQ9PnthKCk7YihkKX0sZD0+e2EoKTtjKGQpfSl9KX07Xy5nLktnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFFmKHRoaXMsbnVsbCwoMCxfLnlnKShhKSxiKX07Xy5nLmNhdGNoPV8uQmYucHJvdG90eXBlLktnOwpfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaj09MCl7bGV0IGI9bmV3IF8uUGYoYSk7R2YoZnVuY3Rpb24oKXtMZih0aGlzLGIpfSx0aGlzKX19O18uZy5uQj1mdW5jdGlvbihhKXt0aGlzLmo9MDtfLkFmKHRoaXMsMixhKX07Xy5nLm9CPWZ1bmN0aW9uKGEpe3RoaXMuaj0wO18uQWYodGhpcywzLGEpfTtfLmcudHQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT1NZih0aGlzKTspTmYodGhpcyxhLHRoaXMuaix0aGlzLkkpO3RoaXMuSz0hMX07Xy5VZj1fLiRiO18uSGEoXy5QZixfLkxhKTtfLlBmLnByb3RvdHlwZS5uYW1lPSJjYW5jZWwiO18uSGEoWGYsXy5MYSk7WGYucHJvdG90eXBlLm5hbWU9IlhockVycm9yIjtfLkhhKFlmLFhmKTtZZi5wcm90b3R5cGUubmFtZT0iWGhySHR0cEVycm9yIjtfLkhhKFpmLFhmKTtaZi5wcm90b3R5cGUubmFtZT0iWGhyVGltZW91dEVycm9yIjtfLmRoPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQ9ITEsZT0hMSl7dGhpcy5ZPXFlKF8uVWEoYSkudG9TdHJpbmcoKSwhMCk7dGhpcy5GYT1iO3RoaXMueWE9Yzt0aGlzLkQ9ZDt0aGlzLkI9e307dGhpcy5NPW5ldyBNYXA7dGhpcy5aPVtdO3RoaXMub2E9ITA7dGhpcy5oYT0oYT10ZSh0aGlzLlksImV4Y20iKSk/YS5zcGxpdCgiLCIpOltdO3RoaXMuVmQ9ZTt0aGlzLmZpPSExO3RoaXMuV2c9ImFub255bW91cyI7dGhpcy5kaT00MDQzO3RoaXMuZ2E9ZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3RoaXMudj10aGlzLkk9bnVsbDt0aGlzLkViPSEwO0hlKCk7dGhpcy5YPW51bGw7Xy5hZyh0aGlzLHllKHRoaXMuWSkpO3RoaXMuZmV0Y2hQcmlvcml0eT12b2lkIDA7dGhpcy5NYT0hMTt0aGlzLlUoKX1hc3luYyBRYSgpe3Rocm93IEVycm9yKCJUIik7fVUoKXt9bG9hZChhLGIsYyxkLGU9Yil7Xy5VYShhKTt2YXIgZj10aGlzLmZpLGg9dGhpcy5XZyxrPXRoaXMuZmV0Y2hQcmlvcml0eSwKbD1fLkNkKCJTQ1JJUFQiKTtfLm9iKGwsYSk7ZiYmKGwuY3Jvc3NPcmlnaW49aCk7bC5hc3luYz0hMTtrJiZsLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsayk7Xy5hZyh0aGlzLGIpO18ucGcodGhpcyxhLGwsYixjLGQsZSl9fTt2YXIgcWc9bmV3IFVpbnQ4QXJyYXkoMTIzKSxLZz0hMTt2YXIgTGc9W107Xy5nPXRnLnByb3RvdHlwZTtfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuail0aGlzLnYgaW5zdGFuY2VvZiB0ZyYmdGhpcy52LmNhbmNlbCgpO2Vsc2V7aWYodGhpcy5vKXtsZXQgYj10aGlzLm87ZGVsZXRlIHRoaXMubzthP2IuY2FuY2VsKGEpOihiLlktLSxiLlk8PTAmJmIuY2FuY2VsKCkpfXRoaXMuWj90aGlzLlouY2FsbCh0aGlzLlUsdGhpcyk6dGhpcy5NPSEwO3RoaXMuanx8KGE9bmV3IEZnKHRoaXMpLHhnKHRoaXMpLHZnKHRoaXMsITEsYSkpfX07Xy5nLnNwPWZ1bmN0aW9uKGEsYil7dGhpcy5JPSExO3ZnKHRoaXMsYSxiKX07Xy5nLmNhbGxiYWNrPWZ1bmN0aW9uKGEpe3hnKHRoaXMpO3ZnKHRoaXMsITAsYSl9O18uZy5maW5hbGx5PWZ1bmN0aW9uKGEpe3JldHVybiBFZyhuZXcgUHJvbWlzZSgoYixjKT0+e3pnKHRoaXMsZD0+e2EoKTtiKGQpfSxkPT57YSgpO2MoZCl9KX0pKX07Cl8uZy50aGVuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9bmV3IF8uQmYoZnVuY3Rpb24oaCxrKXtlPWg7ZD1rfSk7emcodGhpcyxlLGZ1bmN0aW9uKGgpe2ggaW5zdGFuY2VvZiBGZz9mLmNhbmNlbCgpOmQoaCk7cmV0dXJuIENnfSx0aGlzKTtyZXR1cm4gZi50aGVuKGEsYixjKX07Xy55Zih0Zyk7dGcucHJvdG90eXBlLmlzRXJyb3I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcn07dmFyIENnPXt9O18uSGEod2csXy5MYSk7d2cucHJvdG90eXBlLm1lc3NhZ2U9IkRlZmVycmVkIGhhcyBhbHJlYWR5IGZpcmVkIjt3Zy5wcm90b3R5cGUubmFtZT0iQWxyZWFkeUNhbGxlZEVycm9yIjtfLkhhKEZnLF8uTGEpO0ZnLnByb3RvdHlwZS5tZXNzYWdlPSJEZWZlcnJlZCB3YXMgY2FuY2VsZWQiO0ZnLnByb3RvdHlwZS5uYW1lPSJDYW5jZWxlZEVycm9yIjsKRGcucHJvdG90eXBlLnRocm93RXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgQmdbdGhpcy5qXTt0aHJvdyB0aGlzLm87fTt2YXIgQmc9e307dmFyIEdnPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXtzdXBlcigpO3RoaXMubmFtZT0iTW9kdWxlTG9hZEZhaWx1cmUiO3RoaXMudHlwZT1hO3RoaXMuc3RhdHVzPWI7dGhpcy5tbj1jO3RoaXMudXJsPWQ7dGhpcy5jYXVzZT1lO3RoaXMubWVzc2FnZT10aGlzLnRvU3RyaW5nKCl9dG9TdHJpbmcoKXtyZXR1cm5gJHtIZyh0aGlzKX0gKCR7dGhpcy5zdGF0dXMhPXZvaWQgMD90aGlzLnN0YXR1czoiPyJ9KWB9fTt2YS5vYj1HZzt2YS5vYi5UeXBlPXtwbzowLHBrOjEsVElNRU9VVDoyLGhvOjMsdWs6NH07Xy5IYShJZyxqZSk7Xy5IYShKZyxfLkxhKTtfLmc9SWcucHJvdG90eXBlO18uZy5Scj1mdW5jdGlvbihhKXt0aGlzLm9hPWF9OwpfLmcuVGg9ZnVuY3Rpb24oYSxiKXtpZighKHRoaXMgaW5zdGFuY2VvZiBJZykpdGhpcy5UaChhLGIpO2Vsc2UgaWYodHlwZW9mIGE9PT0ic3RyaW5nIil7aWYoYS5zdGFydHNXaXRoKCJkJCIpKXthPWEuc3Vic3RyaW5nKDIpO2Zvcih2YXIgYz1bXSxkPTAsZT1hLmluZGV4T2YoIi8iKSxmPTAsaD0hMSxrPTA7Oyl7dmFyIGw9aD9hLnN1YnN0cmluZyhmKTphLnN1YnN0cmluZyhmLGUpO2lmKGwubGVuZ3RoPT09MClkKyssZj0ic3kiK2QudG9TdHJpbmcoMzYpLGw9W107ZWxzZXt2YXIgbT1sLmluZGV4T2YoIjoiKTtpZihtPDApZj1sLGw9W107ZWxzZSBpZihtPT09bC5sZW5ndGgtMSlmPWwuc3Vic3RyaW5nKDAsbSksbD1BcnJheShjW2stMV0pO2Vsc2V7Zj1sLnN1YnN0cmluZygwLG0pO2w9bC5zdWJzdHJpbmcobSsxKS5zcGxpdCgiLCIpO209aztmb3IobGV0IG49MDtuPGwubGVuZ3RoO24rKyltLT1sW25dLmxlbmd0aD09PTA/MTpOdW1iZXIobFtuXSksbFtuXT1jW21dfW09MDtpZihmLmxlbmd0aD09PQowKW09MTtlbHNlIGlmKGYuY2hhckF0KDApPT09IisifHxmLmNoYXJBdCgwKT09PSItIiltPU51bWJlcihmKTttIT09MCYmKGQrPW0sZj0ic3kiK2QudG9TdHJpbmcoMzYpKX1jLnB1c2goZik7TmcodGhpcyxmLGwpO2lmKGgpYnJlYWs7Zj1lKzE7ZT1hLmluZGV4T2YoIi8iLGYpO2U9PT0tMSYmKGg9ITApO2srK310aGlzLmhhPWN9ZWxzZSBpZihhLnN0YXJ0c1dpdGgoInAkIikpT2codGhpcyxhKTtlbHNle2E9YS5zcGxpdCgiLyIpO2M9W107Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKyl7az1hW2RdLnNwbGl0KCI6Iik7ZT1rWzBdO2g9W107aWYoa1sxXSlmb3IoaD1rWzFdLnNwbGl0KCIsIiksaz0wO2s8aC5sZW5ndGg7aysrKWhba109Y1twYXJzZUludChoW2tdLDM2KV07Yy5wdXNoKGUpO05nKHRoaXMsZSxoKX10aGlzLmhhPWN9aWYoYiYmYi5sZW5ndGgpe2ZvcihsZXQgbiBvZiBiKXRoaXMuQi5hZGQobik7dGhpcy55YT1iW2IubGVuZ3RoLTFdfWVsc2UgdGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCk7Ck9iamVjdC5mcmVlemUodGhpcy5oYSk7dGhpcy5vPT10aGlzLlomJih0aGlzLm89bnVsbCwoYj10aGlzLloub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLFJnKHRoaXMpKX19O18uZy5MYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ELmdldChhKX07Xy5nLm5pPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5MYShhKTtjJiZjLmlzTG9hZGVkKCk/dGhpcy5sb2FkKGIpOnRoaXMuaiBpbnN0YW5jZW9mIE1hcD8oYz10aGlzLmouZ2V0KGEpLGN8fChjPW5ldyBTZXQsdGhpcy5qLnNldChhLGMpKSxjLmFkZChiKSk6KHRoaXMualthXXx8KHRoaXMualthXT17fSksdGhpcy5qW2FdW2JdPSEwKX07Cl8uZy5BZz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuaiBpbnN0YW5jZW9mIE1hcCl7dmFyIGM9dGhpcy5qLmdldChhKTtjJiYoYy5kZWxldGUoYiksYy5zaXplPT09MCYmdGhpcy5qLmRlbGV0ZShhKSl9ZWxzZSBpZih0aGlzLmpbYV0pe2RlbGV0ZSB0aGlzLmpbYV1bYl07Zm9yKGMgaW4gdGhpcy5qW2FdKXJldHVybjtkZWxldGUgdGhpcy5qW2FdfX07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQi5zaXplPjB9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkkuc2l6ZT4wfTsKXy5nLnNqPWZ1bmN0aW9uKGEsYj0wLGMpe3ZhciBkPVlnKHRoaXMsYSk7dGhpcy5CPW5ldyBTZXQoZCk7dGhpcy5LPXRoaXMub2E/YTpfLnliKGQpO1JnKHRoaXMpO2lmKGQubGVuZ3RoIT09MCl7Zm9yKGxldCBlIG9mIGQpdGhpcy5VLmFkZChlKTthPXRoaXMuWTtpZighYSl0aHJvdyBFcnJvcigiViIpO2lmKCh0aGlzLmogaW5zdGFuY2VvZiBNYXA/dGhpcy5qLnNpemU+MDpPYmplY3Qua2V5cyh0aGlzLmopLmxlbmd0aD4wKSYmIWEuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLF8ueWIoZCksdGhpcy5ELHtZZDp0aGlzLmosb25FcnJvcjooZSxmLGgpPT5iaCh0aGlzLHRoaXMuSyxkLGUhPW51bGw/ZTp2b2lkIDAsZixiLCEhaCksb25UaW1lb3V0OigwLF8uQ2EpKHRoaXMud3csdGhpcyksZm9yY2VSZWxvYWQ6ISFjfSl9fTt2YXIgV2c9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5vPW5ldyBTZXQ7dGhpcy5yZXN1bHQ9W119fTtfLmc9SWcucHJvdG90eXBlOwpfLmcueWU9ZnVuY3Rpb24oKXtpZih0aGlzLm8pe3ZhciBhPXRoaXMuby5nZXRJZCgpLGI9W107aWYodGhpcy5qIGluc3RhbmNlb2YgTWFwKXt2YXIgYz10aGlzLmouZ2V0KGEpO2lmKGMpe2Zvcih2YXIgZCBvZiBBcnJheS5mcm9tKGMpKShjPXRoaXMuTGEoZCkpJiYhYy5pc0xvYWRlZCgpJiYodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpKGQ9dGhpcy5MYShjKSkmJiFkLmlzTG9hZGVkKCkmJih0aGlzLkFnKGEsYyksYi5wdXNoKGMpKTt0aGlzLmFmKGIpfXRoaXMuaWEoKXx8KChiPXRoaXMuRC5nZXQoYSkub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLHRoaXMuSS5kZWxldGUoYSksdGhpcy5CLmRlbGV0ZShhKSx0aGlzLkIuc2l6ZSE9PTB8fAphaCh0aGlzKSx0aGlzLnlhJiZhPT10aGlzLnlhJiYodGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCkpLFJnKHRoaXMpLHRoaXMubz1udWxsKX19O18uZy51aD1mdW5jdGlvbihhKXtpZih0aGlzLkIuaGFzKGEpKXJldHVybiEwO2ZvcihsZXQgYj0wO2I8dGhpcy52Lmxlbmd0aDtiKyspaWYoXy5zYih0aGlzLnZbYl0sYSk+PTApcmV0dXJuITA7cmV0dXJuITF9O18uZy5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFRnKHRoaXMsW2FdLGIpW2FdfTtfLmcuYWY9ZnVuY3Rpb24oYSl7cmV0dXJuIFRnKHRoaXMsYSl9OwpfLmcuUm89ZnVuY3Rpb24oYSl7dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIj8odGhpcy55ZSgpLHRoaXMuRC5kZWxldGUoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiKSk6dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKTt2YXIgYj10aGlzLkQuZ2V0KGEpO2ImJmNoKHRoaXMsYi5qfHxbXSxjPT57Yy55ZSgpO3RoaXMuQi5kZWxldGUoYy5nZXRJZCgpKX0sYz0+IWMuaXNMb2FkZWQoKSxuZXcgU2V0KTtpZih0aGlzLm89dGhpcy5MYShhKSl0aGlzLm8uST0hMH07Xy5nLmVuPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLm8pe2xldCBiPW5ldyB2YS5PZyhbXSwic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIpO3RoaXMuRC5zZXQoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiLGIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX07Xy5nLnd3PWZ1bmN0aW9uKCl7Wy4uLnRoaXMuQl07JGcodGhpcyxuZXcgdmEub2IodmEub2IuVHlwZS5USU1FT1VUKSk7YWgodGhpcyl9OwpfLmcuWm49ZnVuY3Rpb24oYSxiKXtBcnJheS5pc0FycmF5KGEpfHwoYT1bYV0pO2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSsrKXt2YXIgYz1hW2VdLGQ9YjtsZXQgZj10aGlzLk0uZ2V0KGMpO2Y/Zi5wdXNoKGQpOnRoaXMuTS5zZXQoYyxbZF0pfX07Xy5nLmRpc3Bvc2U9ZnVuY3Rpb24oKXtfLiRkKEFycmF5LmZyb20odGhpcy5ELnZhbHVlcygpKSx0aGlzLlopO3RoaXMuRC5jbGVhcigpO3RoaXMuQi5jbGVhcigpO3RoaXMuSz1bXTt0aGlzLkkuY2xlYXIoKTt0aGlzLnY9W107dGhpcy5NLmNsZWFyKCk7dGhpcy5GYT0hMH07Xy5nLmlhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRmF9O18uVGQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IElnfTt2YXIgbWg9WzVFMywyRTRdLCRyPWNsYXNzIGV4dGVuZHMgamV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj1uZXcgTWFwO3RoaXMuRD1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuQj0wO3RoaXMuSz1bXTt0aGlzLmo9QWU/bmV3IE1hcDpPYmplY3QuY3JlYXRlKG51bGwpO3RoaXMubz10aGlzLkxhKCJ7YmFzZX0iKX1UaCgpe3RoaXMubyYmdGhpcy5vLmdldElkKCk9PSJ7YmFzZX0iJiZ0aGlzLnllKCl9TGEoYSl7dmFyIGI9dGhpcy52LmdldChhKTtifHwoYj1uZXcgdmEuT2coW10sYSksdGhpcy52LnNldChhLGIpKTtyZXR1cm4gYn1uaShhLGIpe2lmKHRoaXMuTGEoYSkuaXNMb2FkZWQoKSl0aGlzLmxvYWQoYik7ZWxzZSBpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe2xldCBjPXRoaXMuai5nZXQoYSk7Y3x8KGM9bmV3IFNldCx0aGlzLmouc2V0KGEsYykpO2MuYWRkKGIpfWVsc2UgdGhpcy5qW2FdfHwodGhpcy5qW2FdPXt9KSx0aGlzLmpbYV1bYl09ITB9QWcoYSxiKXtpZih0aGlzLmogaW5zdGFuY2VvZgpNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7YyYmKGMuZGVsZXRlKGIpLGMuc2l6ZT09PTAmJnRoaXMuai5kZWxldGUoYSkpfWVsc2UgaWYodGhpcy5qW2FdKXtkZWxldGUgdGhpcy5qW2FdW2JdO2ZvcihjIGluIHRoaXMualthXSlyZXR1cm47ZGVsZXRlIHRoaXMualthXX19dWgoYSl7cmV0dXJuISF0aGlzLkRbYV19bG9hZChhKXtpaCh0aGlzLFthXSk7cmV0dXJuIGpoKHRoaXMsYSl9YWYoYSl7dmFyIGI9T2JqZWN0LmNyZWF0ZShudWxsKSxjPVtdO2EuZm9yRWFjaChkPT57YltkXXx8KGJbZF09amgodGhpcyxkKSxjLnB1c2goZCkpfSk7aWgodGhpcyxjKTtyZXR1cm4gYn1SbyhhKXt0aGlzLm8/LmdldElkKCk9PT0ic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCImJnRoaXMueWUoKTt2YXIgYj10aGlzLnYuZ2V0KGEpO2toKHRoaXMsYj8uc3QoKT8/W10sYz0+Yy55ZSgpLGM9PiFjLmlzTG9hZGVkKCkpO3RoaXMubz10aGlzLkxhKGEpfXllKCl7aWYodGhpcy5vKXt2YXIgYT10aGlzLm8uZ2V0SWQoKSwKYj1bXTtpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7aWYoYyl7Zm9yKGxldCBkIG9mIEFycmF5LmZyb20oYykpdGhpcy5MYShkKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpdGhpcy5MYShjKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGMpLGIucHVzaChjKSk7dGhpcy5hZihiKX10aGlzLm8ub25Mb2FkKCgpPT5udWxsKTt0aGlzLm89bnVsbDsoIXRoaXMudWgoYSkmJi9ec3lbMC05YS16XXswLDR9JC8udGVzdChhKXx8YT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIikmJnRoaXMudi5kZWxldGUoYSk7bGgodGhpcyxhKX19ZW4oYSl7aWYoIXRoaXMubyl7bGV0IGI9bmV3IHZhLk9nKFtdLCJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIik7dGhpcy52LnNldCgic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIsCmIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX19O3ZhciBraj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLmo9LTF9c2V0KGEsYj0hMCl7MDw9YSYmYTw1MiYmTnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5kYXRhW2FdIT09YiYmKHRoaXMuZGF0YVthXT1iLHRoaXMuaj0tMSl9Z2V0KGEpe3JldHVybiEhdGhpcy5kYXRhW2FdfX07Xy5vaC5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBfLmFzfTtfLmFzPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07Xy5vaC5wcm90b3R5cGUuYmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyIHBoPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hfWJkKCl7cmV0dXJuIG5ldyBxaCh0aGlzLm8oKSl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubygpKX1qKCl7cmV0dXJuIG5ldyByaCh0aGlzLm8oKSl9fSxxaD1jbGFzcyBleHRlbmRzIF8ub2h7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLm89YX1uZXh0KCl7cmV0dXJuIHRoaXMuby5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubyl9aigpe3JldHVybiBuZXcgcmgodGhpcy5vKX19LHJoPWNsYXNzIGV4dGVuZHMgcGh7Y29uc3RydWN0b3IoYSl7c3VwZXIoKCk9PmEpO3RoaXMudj1hfW5leHQoKXtyZXR1cm4gdGhpcy52Lm5leHQoKX19O3ZhciBicz1fLnUuSlNPTi5zdHJpbmdpZnk7Xy5jcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoYSxiKT0+e3RoaXMucmVzb2x2ZT1hO3RoaXMucmVqZWN0PWJ9KX19O18uSGEoXy50aCxfLmFlKTtfLmc9Xy50aC5wcm90b3R5cGU7Xy5nLnN1YnNjcmliZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5vW2FdO2R8fChkPXRoaXMub1thXT1bXSk7dmFyIGU9dGhpcy5EO3RoaXMualtlXT1hO3RoaXMualtlKzFdPWI7dGhpcy5qW2UrMl09Yzt0aGlzLkQ9ZSszO2QucHVzaChlKTtyZXR1cm4gZX07Xy5nLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGEsYixjKXtpZihhPXRoaXMub1thXSl7bGV0IGQ9dGhpcy5qO2lmKGE9YS5maW5kKGZ1bmN0aW9uKGUpe3JldHVybiBkW2UrMV09PWImJmRbZSsyXT09Y30pKXJldHVybiB0aGlzLmNpKGEpfXJldHVybiExfTtfLmcuY2k9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5qW2FdO2lmKGIpe2xldCBjPXRoaXMub1tiXTt0aGlzLkIhPTA/KHRoaXMudi5wdXNoKGEpLHRoaXMualthKzFdPSgpPT57fSk6KGMmJl8ueGIoYyxhKSxkZWxldGUgdGhpcy5qW2FdLGRlbGV0ZSB0aGlzLmpbYSsxXSxkZWxldGUgdGhpcy5qW2ErMl0pfXJldHVybiEhYn07Cl8uZy5wdWJsaXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5vW2FdO2lmKGMpe2xldCBlPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7dmFyIGQ9YXJndW1lbnRzLmxlbmd0aDtsZXQgZjtmb3IoZj0xO2Y8ZDtmKyspZVtmLTFdPWFyZ3VtZW50c1tmXTtpZih0aGlzLkkpZm9yKGY9MDtmPGMubGVuZ3RoO2YrKylkPWNbZl0sdWgodGhpcy5qW2QrMV0sdGhpcy5qW2QrMl0sZSk7ZWxzZXt0aGlzLkIrKzt0cnl7Zm9yKGY9MCxkPWMubGVuZ3RoO2Y8ZCYmIXRoaXMuaWEoKTtmKyspe2xldCBoPWNbZl07dGhpcy5qW2grMV0uYXBwbHkodGhpcy5qW2grMl0sZSl9fWZpbmFsbHl7aWYodGhpcy5CLS0sdGhpcy52Lmxlbmd0aD4wJiZ0aGlzLkI9PTApZm9yKDtjPXRoaXMudi5wb3AoKTspdGhpcy5jaShjKX19cmV0dXJuIGYhPTB9cmV0dXJuITF9OwpfLmcuY2xlYXI9ZnVuY3Rpb24oYSl7aWYoYSl7bGV0IGI9dGhpcy5vW2FdO2ImJihiLmZvckVhY2godGhpcy5jaSx0aGlzKSxkZWxldGUgdGhpcy5vW2FdKX1lbHNlIHRoaXMuai5sZW5ndGg9MCx0aGlzLm89e319O18uZy5sYT1mdW5jdGlvbigpe18udGguemIubGEuY2FsbCh0aGlzKTt0aGlzLmNsZWFyKCk7dGhpcy52Lmxlbmd0aD0wfTt2aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMD90aGlzLmoucmVtb3ZlKGEpOnRoaXMuai5zZXQoYSxicyhiKSl9O3ZoLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oYSl7dHJ5e3ZhciBiPXRoaXMuai5nZXQoYSl9Y2F0Y2goYyl7cmV0dXJufWlmKGIhPT1udWxsKXRyeXtyZXR1cm4gSlNPTi5wYXJzZShiKX1jYXRjaChjKXt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fX07dmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLmoucmVtb3ZlKGEpfTtfLkhhKHdoLHZoKTt3aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7d2guemIuc2V0LmNhbGwodGhpcyxhLHloKGIpKX07d2gucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7YT13aC56Yi5nZXQuY2FsbCh0aGlzLGEpO2lmKGE9PT12b2lkIDB8fGEgaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIGE7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO307d2gucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtpZihhPXRoaXMubyhhKSl7aWYoYT1hLmRhdGEsYT09PXZvaWQgMCl0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fWVsc2UgYT12b2lkIDA7cmV0dXJuIGF9O18uSGEoXy56aCx3aCk7Xy56aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYixjKXtpZihiPXloKGIpKXtpZihjKXtpZihjPF8uRWEoKSl7Xy56aC5wcm90b3R5cGUucmVtb3ZlLmNhbGwodGhpcyxhKTtyZXR1cm59Yi5leHBpcmF0aW9uPWN9Yi5jcmVhdGlvbj1fLkVhKCl9Xy56aC56Yi5zZXQuY2FsbCh0aGlzLGEsYil9O18uemgucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy56aC56Yi5vLmNhbGwodGhpcyxhKTtpZihiKXtsZXQgYz1iLmNyZWF0aW9uLGQ9Yi5leHBpcmF0aW9uO2lmKGQmJmQ8Xy5FYSgpfHxjJiZjPl8uRWEoKSlfLnpoLnByb3RvdHlwZS5yZW1vdmUuY2FsbCh0aGlzLGEpO2Vsc2UgcmV0dXJuIGJ9fTtfLkhhKEJoLEFoKTtCaC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBfLnNoKHRoaXMuYmQoITApKS5qKCl9O0JoLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBiIG9mIGEpdGhpcy5yZW1vdmUoYil9O18uSGEoQ2gsQmgpO18uZz1DaC5wcm90b3R5cGU7Xy5nLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5vPT09bnVsbCl7dmFyIGE9dGhpcy5qO2lmKGEpdHJ5e2Euc2V0SXRlbSgiX19zYWsiLCIxIik7YS5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBiPSEwfWNhdGNoKGMpe2I9YyBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKGMubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxjLmNvZGU9PT0yMnx8Yy5jb2RlPT09MTAxNHx8Yy5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJmEmJmEubGVuZ3RoIT09MH1lbHNlIGI9ITE7dGhpcy5vPWJ9cmV0dXJuIHRoaXMub307Cl8uZy5zZXQ9ZnVuY3Rpb24oYSxiKXtEaCh0aGlzKTt0cnl7dGhpcy5qLnNldEl0ZW0oYSxiKX1jYXRjaChjKXtpZih0aGlzLmoubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319O18uZy5nZXQ9ZnVuY3Rpb24oYSl7RGgodGhpcyk7YT10aGlzLmouZ2V0SXRlbShhKTtpZih0eXBlb2YgYSE9PSJzdHJpbmciJiZhIT09bnVsbCl0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybiBhfTtfLmcucmVtb3ZlPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3RoaXMuai5yZW1vdmVJdGVtKGEpfTsKXy5nLmJkPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3ZhciBiPTAsYz10aGlzLmosZD1uZXcgXy5vaDtkLm5leHQ9ZnVuY3Rpb24oKXtpZihiPj1jLmxlbmd0aClyZXR1cm4gXy5hczt2YXIgZT1jLmtleShiKyspO2lmKGEpcmV0dXJue3ZhbHVlOmUsZG9uZTohMX07ZT1jLmdldEl0ZW0oZSk7aWYodHlwZW9mIGUhPT0ic3RyaW5nIil0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybnt2YWx1ZTplLGRvbmU6ITF9fTtyZXR1cm4gZH07Xy5nLmNsZWFyPWZ1bmN0aW9uKCl7RGgodGhpcyk7dGhpcy5qLmNsZWFyKCl9O18uZy5rZXk9ZnVuY3Rpb24oYSl7RGgodGhpcyk7cmV0dXJuIHRoaXMuai5rZXkoYSl9O18uSGEoRWgsQ2gpO18uSGEoRmgsQmgpO0ZoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLm8uc2V0KHRoaXMuaithLGIpfTtGaC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm8uZ2V0KHRoaXMuaithKX07RmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLm8ucmVtb3ZlKHRoaXMuaithKX07RmgucHJvdG90eXBlLmJkPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub1tTeW1ib2wuaXRlcmF0b3JdKCksYz10aGlzLGQ9bmV3IF8ub2g7ZC5uZXh0PWZ1bmN0aW9uKCl7dmFyIGU9Yi5uZXh0KCk7aWYoZS5kb25lKXJldHVybiBlO2ZvcihlPWUudmFsdWU7ZS5zbGljZSgwLGMuai5sZW5ndGgpIT1jLmo7KXtlPWIubmV4dCgpO2lmKGUuZG9uZSlyZXR1cm4gZTtlPWUudmFsdWV9cmV0dXJue3ZhbHVlOmE/ZS5zbGljZShjLmoubGVuZ3RoKTpjLm8uZ2V0KGUpLGRvbmU6ITF9fTtyZXR1cm4gZH07dmFyIEhoPXt9LGRzPXR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCImJnR5cGVvZiBVaW50MTZBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgSW50MzJBcnJheSE9PSJ1bmRlZmluZWQiO0hoLmFzc2lnbj1mdW5jdGlvbihhKXtmb3IodmFyIGI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO2IubGVuZ3RoOyl7dmFyIGM9Yi5zaGlmdCgpO2lmKGMpe2lmKHR5cGVvZiBjIT09Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiYmFgIitjKTtmb3IodmFyIGQgaW4gYylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYyxkKSYmKGFbZF09Y1tkXSl9fXJldHVybiBhfTtIaC53bj1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09YilyZXR1cm4gYTtpZihhLnN1YmFycmF5KXJldHVybiBhLnN1YmFycmF5KDAsYik7YS5sZW5ndGg9YjtyZXR1cm4gYX07CnZhciBlcz17d2Y6ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihiLnN1YmFycmF5JiZhLnN1YmFycmF5KWEuc2V0KGIuc3ViYXJyYXkoYyxjK2QpLGUpO2Vsc2UgZm9yKHZhciBmPTA7ZjxkO2YrKylhW2UrZl09YltjK2ZdfSxNcDpmdW5jdGlvbihhKXt2YXIgYixjO3ZhciBkPWM9MDtmb3IoYj1hLmxlbmd0aDtkPGI7ZCsrKWMrPWFbZF0ubGVuZ3RoO3ZhciBlPW5ldyBVaW50OEFycmF5KGMpO2Q9Yz0wO2ZvcihiPWEubGVuZ3RoO2Q8YjtkKyspe3ZhciBmPWFbZF07ZS5zZXQoZixjKTtjKz1mLmxlbmd0aH1yZXR1cm4gZX19LGdzPXt3ZjpmdW5jdGlvbihhLGIsYyxkLGUpe2Zvcih2YXIgZj0wO2Y8ZDtmKyspYVtlK2ZdPWJbYytmXX0sTXA6ZnVuY3Rpb24oYSl7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLGEpfX07CkhoLmpBPWZ1bmN0aW9uKCl7ZHM/KEhoLnRmPVVpbnQ4QXJyYXksSGguWWM9VWludDE2QXJyYXksSGguUXM9SW50MzJBcnJheSxIaC5hc3NpZ24oSGgsZXMpKTooSGgudGY9QXJyYXksSGguWWM9QXJyYXksSGguUXM9QXJyYXksSGguYXNzaWduKEhoLGdzKSl9O0hoLmpBKCk7dmFyIGhzPSEwO3RyeXtuZXcgVWludDhBcnJheSgxKX1jYXRjaChhKXtocz0hMX07dmFyIHRpPXt9O3RpPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEmNjU1MzV8MDthPWE+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgZjtjIT09MDspe2Y9Yz4yRTM/MkUzOmM7Yy09ZjtkbyBlPWUrYltkKytdfDAsYT1hK2V8MDt3aGlsZSgtLWYpO2UlPTY1NTIxO2ElPTY1NTIxfXJldHVybiBlfGE8PDE2fDB9O2Zvcih2YXIgdWk9e30saXMsanM9W10sa3M9MDtrczwyNTY7a3MrKyl7aXM9a3M7Zm9yKHZhciBscz0wO2xzPDg7bHMrKylpcz1pcyYxPzM5ODgyOTIzODReaXM+Pj4xOmlzPj4+MTtqc1trc109aXN9dWk9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1kK2M7Zm9yKGFePS0xO2Q8YztkKyspYT1hPj4+OF5qc1soYV5iW2RdKSYyNTVdO3JldHVybiBhXi0xfTt2YXIgaWk9e307aWk9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgWGg9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sJGg9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLEtpPVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMyw3XSxtaT1bMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV0sbmk9QXJyYXkoNTc2KTtKaChuaSk7dmFyIG9pPUFycmF5KDYwKTtKaChvaSk7dmFyIFpoPUFycmF5KDUxMik7SmgoWmgpO3ZhciBXaD1BcnJheSgyNTYpO0poKFdoKTt2YXIgWWg9QXJyYXkoMjkpO0poKFloKTt2YXIgYmk9QXJyYXkoMzApO0poKGJpKTt2YXIgSGksSWksSmksR2k9ITE7dmFyIENpOwpDaT1bbmV3IEFpKDAsMCwwLDAsZnVuY3Rpb24oYSxiKXt2YXIgYz02NTUzNTtmb3IoYz5hLm5jLTUmJihjPWEubmMtNSk7Oyl7aWYoYS5kYTw9MSl7dmkoYSk7aWYoYS5kYT09PTAmJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWEuVis9YS5kYTthLmRhPTA7dmFyIGQ9YS5VYitjO2lmKGEuVj09PTB8fGEuVj49ZClpZihhLmRhPWEuVi1kLGEuVj1kLHBpKGEsITEpLGEud2EuemE9PT0wKXJldHVybiAxO2lmKGEuVi1hLlViPj1hLkJiLTI2MiYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1hLnJiPTA7aWYoYj09PTQpcmV0dXJuIHBpKGEsITApLGEud2EuemE9PT0wPzM6NDthLlY+YS5VYiYmcGkoYSwhMSk7cmV0dXJuIDF9KSxuZXcgQWkoNCw0LDgsNCx3aSksbmV3IEFpKDQsNSwxNiw4LHdpKSxuZXcgQWkoNCw2LDMyLDMyLHdpKSxuZXcgQWkoNCw0LDE2LDE2LHhpKSxuZXcgQWkoOCwxNiwzMiwzMix4aSksbmV3IEFpKDgsMTYsMTI4LDEyOCx4aSksbmV3IEFpKDgsCjMyLDEyOCwyNTYseGkpLG5ldyBBaSgzMiwxMjgsMjU4LDEwMjQseGkpLG5ldyBBaSgzMiwyNTgsMjU4LDQwOTYseGkpXTt2YXIgRmk9e307Rmk9ZnVuY3Rpb24oKXt0aGlzLmlucHV0PW51bGw7dGhpcy5xZj10aGlzLkRiPXRoaXMuZmY9MDt0aGlzLm91dHB1dD1udWxsO3RoaXMuRW49dGhpcy56YT10aGlzLnFnPTA7dGhpcy5tc2c9IiI7dGhpcy5zdGF0ZT1udWxsO3RoaXMuaWw9Mjt0aGlzLnNhPTB9O3ZhciBMaT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwpFaS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMud2EsZD10aGlzLm9wdGlvbnMuY2h1bmtTaXplO2lmKHRoaXMuZW5kZWQpcmV0dXJuITE7dmFyIGU9Yj09PX5+Yj9iOmI9PT0hMD80OjA7dHlwZW9mIGE9PT0ic3RyaW5nIj9jLmlucHV0PUloKGEpOkxpLmNhbGwoYSk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2MuaW5wdXQ9bmV3IFVpbnQ4QXJyYXkoYSk6Yy5pbnB1dD1hO2MuZmY9MDtjLkRiPWMuaW5wdXQubGVuZ3RoO2Rve2MuemE9PT0wJiYoYy5vdXRwdXQ9bmV3IEhoLnRmKGQpLGMucWc9MCxjLnphPWQpO2E9RGkoYyxlKTtpZihhIT09MSYmYSE9PTApcmV0dXJuIE1pKHRoaXMsYSksdGhpcy5lbmRlZD0hMCwhMTtpZihjLnphPT09MHx8Yy5EYj09PTAmJihlPT09NHx8ZT09PTIpKWlmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciKXt2YXIgZj1IaC53bihjLm91dHB1dCxjLnFnKTtiPWY7Zj1mLmxlbmd0aDtpZihmPDY1NTM3JiYoYi5zdWJhcnJheSYmCmhzfHwhYi5zdWJhcnJheSkpYj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsSGgud24oYixmKSk7ZWxzZXtmb3IodmFyIGg9IiIsaz0wO2s8ZjtrKyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShiW2tdKTtiPWh9dGhpcy5jaHVua3MucHVzaChiKX1lbHNlIGI9SGgud24oYy5vdXRwdXQsYy5xZyksdGhpcy5jaHVua3MucHVzaChiKX13aGlsZSgoYy5EYj4wfHxjLnphPT09MCkmJmEhPT0xKTtpZihlPT09NClyZXR1cm4oYz10aGlzLndhKSYmYy5zdGF0ZT8oZD1jLnN0YXRlLnN0YXR1cyxkIT09NDImJmQhPT02OSYmZCE9PTczJiZkIT09OTEmJmQhPT0xMDMmJmQhPT0xMTMmJmQhPT02NjY/YT1qaShjLC0yKTooYy5zdGF0ZT1udWxsLGE9ZD09PTExMz9qaShjLC0zKTowKSk6YT0tMixNaSh0aGlzLGEpLHRoaXMuZW5kZWQ9ITAsYT09PTA7ZT09PTImJihNaSh0aGlzLDApLGMuemE9MCk7cmV0dXJuITB9O18uST1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX19O3ZhciB4cD1uZXcgXy5JKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgd3A9bmV3IF8uSSgicmF3SG90Q29uZmlnR3JvdXAiKTt2YXIgbXM7bXM9Xy51LndpbmRvdztfLlBpPW1zPy55dD8uY29uZmlnX3x8bXM/Lnl0Y2ZnPy5kYXRhX3x8e307Xy5yYSgieXQuY29uZmlnXyIsXy5QaSk7dmFyIFNpPVtdO3ZhciBnaj0vXltcdy5dKiQvLCRpPXtxOiEwLHNlYXJjaF9xdWVyeTohMH0sWmk9U3RyaW5nKFlpKTt2YXIgaGo9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtfLnJhKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24oYSl7cmV0dXJuIGFqKF8ubGooYSkpfSk7Xy5FYSgpO25hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiIChDcktleSAiKTt2YXIgcXM7cXM9MDtfLnJzPV8uY3I/IndlYmtpdCI6YnI/Im1veiI6YXI/Im1zIjokcT8ibyI6IiI7Xy5yYSgieXREb21Eb21HZXROZXh0SWQiLF8uc2EoInl0RG9tRG9tR2V0TmV4dElkIil8fCgoKT0+KytxcykpO18uc3M9Xy51Lnl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzfHx7fTtfLnJhKCJ5dEV2ZW50c0V2ZW50c0xpc3RlbmVycyIsXy5zcyk7Xy50cz1fLnUueXRFdmVudHNFdmVudHNDb3VudGVyfHx7Y291bnQ6MH07Xy5yYSgieXRFdmVudHNFdmVudHNDb3VudGVyIixfLnRzKTtfLnVzPWhkKGZ1bmN0aW9uKCl7dmFyIGE9ITE7dHJ5e2xldCBiPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwiY2FwdHVyZSIse2dldDpmdW5jdGlvbigpe2E9ITB9fSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsYil9Y2F0Y2goYil7fXJldHVybiBhfSk7dmFyIHZzO3ZzPXdpbmRvdztfLmVsPXZzLnl0Y3NpJiZ2cy55dGNzaS5ub3c/dnMueXRjc2kubm93OnZzLnBlcmZvcm1hbmNlJiZ2cy5wZXJmb3JtYW5jZS50aW1pbmcmJnZzLnBlcmZvcm1hbmNlLm5vdyYmdnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydD8oKT0+dnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCt2cy5wZXJmb3JtYW5jZS5ub3coKTooKT0+KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIG5qPSJYTUxIdHRwUmVxdWVzdCJpbiBfLnU/KCk9Pm5ldyBYTUxIdHRwUmVxdWVzdDpudWxsO3ZhciB3cz0iYWJzb2x1dGVfZXhwZXJpbWVudHMgY2xpZW50X2Rldl9kb21haW4gY2xpZW50X2Rldl9leHBmbGFnIGNsaWVudF9kZXZfcmVnZXhfbWFwIGNsaWVudF9kZXZfcm9vdF91cmwgY2xpZW50X3JvbGxvdXRfb3ZlcnJpZGUgZXhwZmxhZyBmb3JjZWRDYXBhYmlsaXR5IGpzZmVhdCBqc21vZGUgbW9kcyB0aGVtZSIuc3BsaXQoIiAiKTtbLi4ud3NdO3ZhciB5aj17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxLaj1bImFwcCIsImRlYnVnY3NzIiwiZGVidWdqcyIsImV4cGZsYWciLCJmb3JjZV9hZF9wYXJhbXMiLCJmb3JjZV9hZF9lbmNyeXB0ZWQiLCJmb3JjZV92aXJhbF9hZF9yZXNwb25zZV9wYXJhbXMiLCJmb3JjZWRfZXhwZXJpbWVudHMiLCJpbm5lcnR1YmVfc25hcHNob3RzIiwiaW5uZXJ0dWJlX2dvbGRlbnMiLCJpbnRlcm5hbGNvdW50cnljb2RlIiwiaW50ZXJuYWxpcG92ZXJyaWRlIiwiYWJzb2x1dGVfZXhwZXJpbWVudHMiLCJjb25kaXRpb25hbF9leHBlcmltZW50cyIsInNiYiIsInNyX2Juc19hZGRyZXNzIiwuLi53c10sR2o9ITEsRGo9eGo7Xy5ubT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuem49ITB9fTtfLnhzPV8uc2EoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIil8fHt9O18ucmEoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIixfLnhzKTt2YXIgUmo9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LFRqPXsic2xvdy0yZyI6IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfU0xPV18yRyIsIjJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8yRyIsIjNnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRyIsIjRnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV80RyJ9O18uWGo9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEpO3RoaXMuYXJncz1bLi4uYl07T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfX07dmFyIHlzPWNsYXNze3BiKGEsYil7cmV0dXJuIHRoaXMuR2EoYSwxLGIpfVUoYSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEltbWVkaWF0ZUpvYiIpO2I/YihhKTphKCl9fTt2YXIgenM9MUUzLzYwLEFzPV8uc2ooIndlYl9lbXVsYXRlZF9pZGxlX2NhbGxiYWNrX2RlbGF5IiwzMDApLGdrPXpzLTMsZGs9WzgsNSw0LDMsMiwxLDBdLGprPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLnY9e307dGhpcy5vYT10aGlzLmo9MDt0aGlzLnBhdXNlZD10aGlzLkQ9ITE7dGhpcy5nYT1bXTt0aGlzLmhhPXRoaXMueWE9ITE7Zm9yKGxldCBiIG9mIGRrKXRoaXMub1tiXT1bXTt0aGlzLkI9MDt0aGlzLmV5PWEudGltZW91dHx8MTt0aGlzLk09Z2s7dGhpcy5JPTA7dGhpcy5NYT10aGlzLml5LmJpbmQodGhpcyk7dGhpcy5neD10aGlzLnp5LmJpbmQodGhpcyk7dGhpcy5mYz10aGlzLkViLmJpbmQodGhpcyk7dGhpcy5WZD10aGlzLmh5LmJpbmQodGhpcyk7dGhpcy5GbD10aGlzLlFhLmJpbmQodGhpcyk7dGhpcy51dz0oKT0+e3RoaXMuUWEocGVyZm9ybWFuY2Uubm93KCkpfTt0aGlzLkZhPSEhd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2smJgohIXdpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2smJiFfLngoImRpc2FibGVfc2NoZWR1bGVyX3JlcXVlc3RJZGxlQ2FsbGJhY2siKTsoKHRoaXMuWj1hLnVzZVJhZiE9PSExJiYhIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKX1VKGEpe3ZhciBiPV8uRWEoKTtaaih0aGlzLGEpO2E9Xy5FYSgpLWI7dGhpcy5EfHwodGhpcy5NLT1hKX1HYShhLGIsYyl7Kyt0aGlzLm9hO2lmKGI9PT0xMClyZXR1cm4gdGhpcy5VKGEpLHRoaXMub2E7dmFyIGQ9dGhpcy5vYTt0aGlzLnZbZF09YTt0aGlzLkQmJiFjP3RoaXMuZ2EucHVzaCh7aWQ6ZCxwcmlvcml0eTpifSk6KHRoaXMub1tiXS5wdXNoKGQpLHRoaXMucGF1c2VkfHx0aGlzLkR8fCh0aGlzLmohPT0wJiZiayh0aGlzKSE9PXRoaXMuSSYmdGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSk7CnJldHVybiBkfUFhKGEpe2RlbGV0ZSB0aGlzLnZbYV19aXNIaWRkZW4oKXtyZXR1cm4hIWRvY3VtZW50LmhpZGRlbnx8ITF9SmIoYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhKX1oeShhKXt2YXIgYj12b2lkIDA7YSYmKGI9YS50aW1lUmVtYWluaW5nKCkpO3RoaXMueWE9ITA7aGsodGhpcyxiKTt0aGlzLnlhPSExfXp5KCl7aGsodGhpcyl9RWIoKXtpayh0aGlzKX1RYShhKXt0aGlzLmhhPSEwO3ZhciBiPWJrKHRoaXMpO2I9PT00JiZiIT09dGhpcy5JJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTtoayh0aGlzLHZvaWQgMCxhKTt0aGlzLmhhPSExfWl5KCl7dGhpcy5pc0hpZGRlbigpfHxpayh0aGlzKTt0aGlzLmomJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpfXJlcXVlc3RJZGxlQ2FsbGJhY2soYSl7cmV0dXJuIHRoaXMuRmE/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soYSx7dGltZW91dDozRTN9KTp3aW5kb3cuc2V0VGltZW91dChhLApBcyl9Y2FuY2VsSWRsZUNhbGxiYWNrKGEpe3RoaXMuRmE/d2luZG93LmNhbmNlbElkbGVDYWxsYmFjayhhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfXN0YXJ0KCl7dGhpcy5wYXVzZWQ9ITE7aWYodGhpcy5qPT09MClzd2l0Y2godGhpcy5JPWJrKHRoaXMpLHRoaXMuSSl7Y2FzZSAxOnRoaXMuaj10aGlzLnJlcXVlc3RJZGxlQ2FsbGJhY2sodGhpcy5WZCk7YnJlYWs7Y2FzZSAyOnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLmd4LHRoaXMuZXkpO2JyZWFrO2Nhc2UgMzp0aGlzLmo9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLkZsKTticmVhaztjYXNlIDQ6dGhpcy5qPXdpbmRvdy5zZXRUaW1lb3V0KHRoaXMuZmMsMCk7YnJlYWs7Y2FzZSA1OnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLnV3LHpzKX19cGF1c2UoKXt0aGlzLnN0b3AoKTt0aGlzLnBhdXNlZD0hMH1zdG9wKCl7aWYodGhpcy5qKXtzd2l0Y2godGhpcy5JKXtjYXNlIDE6dGhpcy5jYW5jZWxJZGxlQ2FsbGJhY2sodGhpcy5qKTsKYnJlYWs7Y2FzZSA1OmNhc2UgMjpjYXNlIDQ6d2luZG93LmNsZWFyVGltZW91dCh0aGlzLmopO2JyZWFrO2Nhc2UgMzp3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5qKX10aGlzLmo9MH19bGEoKXtjayh0aGlzKTt0aGlzLnN0b3AoKTsodGhpcy5afHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKTtzdXBlci5sYSgpfX07dmFyIG5rPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS50aW1lcklkTWFwXyIpfHx7fSx1az1fLnNqKCJrZXZsYXJfdHVuZXJfc2NoZWR1bGVyX3NvZnRfc3RhdGVfdGltZXJfbXMiLDgwMCksdGs9MCx3az0wO3ZhciBCaztCaz1jbGFzcyBleHRlbmRzIHlze0dhKGEsYixjKXtjIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGMpKSYmKGM9dm9pZCAwKTt2YXIgZD1fLnNhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIik7cmV0dXJuIGQ/ZChhLGIsYyk6Yz09PXZvaWQgMD8oYSgpLE5hTik6Xy5taihhLGN8fDApfUFhKGEpe2lmKGE9PT12b2lkIDB8fCFOdW1iZXIuaXNOYU4oTnVtYmVyKGEpKSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEpvYiIpO2I/YihhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfX1zdGFydCgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zdGFydCIpO2EmJmEoKX1wYXVzZSgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5wYXVzZSIpO2EmJmEoKX19O18uamY9Xy5DaygpOwpfLnNhKCJ5dC5zY2hlZHVsZXIuaW5pdGlhbGl6ZWQiKXx8KF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5kaXNwb3NlIixtayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEpvYiIsb2spLF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5hZGRJbW1lZGlhdGVKb2IiLHBrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIixxayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEFsbEpvYnMiLGxrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc3RhcnQiLHJrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UucGF1c2UiLHZrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc2V0UHJpb3JpdHlUaHJlc2hvbGQiLHhrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuZW5hYmxlUHJpb3JpdHlUaHJlc2hvbGQiLHprKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2xlYXJQcmlvcml0eVRocmVzaG9sZCIsQWspLF8ucmEoInl0LnNjaGVkdWxlci5pbml0aWFsaXplZCIsCiEwKSk7Xy5lbj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9KGE9Xy5HaChhKSk/bmV3IF8uemgoYSk6bnVsbDt0aGlzLnY9ZG9jdW1lbnQuZG9tYWlufHx3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9bygpe3JldHVybiEhdGhpcy5qfXNldChhLGIsYyxkKXtjPWN8fDMxMTA0RTM7dGhpcy5yZW1vdmUoYSk7aWYodGhpcy5vKCkpdHJ5e3RoaXMuai5zZXQoYSxiLERhdGUubm93KCkrYyoxRTMpO3JldHVybn1jYXRjaChmKXt9dmFyIGU9IiI7aWYoZCl0cnl7ZT1lc2NhcGUoYnMoYikpfWNhdGNoKGYpe3JldHVybn1lbHNlIGU9ZXNjYXBlKGIpO18uTWooYSxlLGMsdGhpcy52KX1nZXQoYSxiKXt2YXIgYz12b2lkIDAsZD0hdGhpcy5vKCk7aWYoIWQpdHJ5e2M9dGhpcy5qLmdldChhKX1jYXRjaChlKXtkPSEwfWlmKGQmJihjPV8uTGouZ2V0KGEsdm9pZCAwKSkmJihjPXVuZXNjYXBlKGMpLGIpKXRyeXtjPUpTT04ucGFyc2UoYyl9Y2F0Y2goZSl7dGhpcy5yZW1vdmUoYSksYz12b2lkIDB9cmV0dXJuIGN9cmVtb3ZlKGEpe3RoaXMubygpJiYKdGhpcy5qLnJlbW92ZShhKTtfLk5qKGEsIi8iLHRoaXMudil9fTt2YXIgRGs9KCgpPT57dmFyIGE7cmV0dXJuKCk9PnthfHwoYT1uZXcgXy5lbigieXRpZGIiKSk7cmV0dXJuIGF9fSkoKTt2YXIgRms7Xy5Iaz1bXTtGaz0hMTtfLklsPV8uaHJ8fF8uaXI7dmFyIEJzPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LENzPXtBVVRIX0lOVkFMSUQ6IkVSUk9SIixFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQjoiV0FSTklORyIsRVhQTElDSVRfQUJPUlQ6IklHTk9SRUQiLElEQl9OT1RfU1VQUE9SVEVEOiJFUlJPUiIsTUlTU0lOR19JTkRFWDoiV0FSTklORyIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJFUlJPUiIsCkRCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IldBUk5JTkciLFFVT1RBX0VYQ0VFREVEOiJXQVJOSU5HIixRVU9UQV9NQVlCRV9FWENFRURFRDoiV0FSTklORyIsVU5LTk9XTl9BQk9SVDoiV0FSTklORyIsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046IldBUk5JTkcifSxEcz17QVVUSF9JTlZBTElEOiExLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiExLEVYUExJQ0lUX0FCT1JUOiExLElEQl9OT1RfU1VQUE9SVEVEOiExLE1JU1NJTkdfSU5ERVg6ITEsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX1JFT1BFTkVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzohMSxRVU9UQV9FWENFRURFRDohMSxRVU9UQV9NQVlCRV9FWENFRURFRDohMCxVTktOT1dOX0FCT1JUOiEwLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiExfSwKTms9Y2xhc3MgZXh0ZW5kcyBfLlhqe2NvbnN0cnVjdG9yKGEsYj17fSxjPUJzW2FdLGQ9Q3NbYV0sZT1Ec1thXSl7c3VwZXIoYyx7bmFtZToiWXRJZGJLbm93bkVycm9yIixpc1N3OnNlbGYuZG9jdW1lbnQ9PT12b2lkIDAsaXNJZnJhbWU6c2VsZiE9PXNlbGYudG9wLHR5cGU6YSwuLi5ifSk7dGhpcy50eXBlPWE7dGhpcy5tZXNzYWdlPWM7dGhpcy5sZXZlbD1kO3RoaXMuaj1lO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLE5rLnByb3RvdHlwZSl9fSxFcz1jbGFzcyBleHRlbmRzIE5re2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOmIsZm91bmRPYmplY3RTdG9yZXM6YX0sQnMuTUlTU0lOR19PQkpFQ1RfU1RPUkVTKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxFcy5wcm90b3R5cGUpfX0sUGs9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5pbmRleD1hO3RoaXMub2JqZWN0U3RvcmU9CmI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUGsucHJvdG90eXBlKX19LFFrPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBhbDthbD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19OwpfLlZrPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuaj1bXTt0aGlzLm89W107YT1hLmo7dmFyIGI9ZD0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6ZH07Zm9yKGxldCBlIG9mIHRoaXMuaillKCl9fSxjPWQ9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIscmVhc29uOmR9O2ZvcihsZXQgZSBvZiB0aGlzLm8pZSgpfX07dHJ5e2EoYixjKX1jYXRjaChkKXtjKGQpfX1zdGF0aWMgYWxsKGEpe3JldHVybiBuZXcgXy5WayhuZXcgYWwoKGIsYyk9Pnt2YXIgZD1bXSxlPWEubGVuZ3RoO2U9PT0wJiZiKGQpO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7KytmKV8uVmsucmVzb2x2ZShhW2ZdKS50aGVuKGg9PntkW2ZdPWg7ZS0tO2U9PT0wJiZiKGQpfSkuY2F0Y2goaD0+e2MoaCl9KX0pKX1zdGF0aWMgcmVzb2x2ZShhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLApjKT0+e2EgaW5zdGFuY2VvZiBfLlZrP2EudGhlbihiLGMpOmIoYSl9KSl9c3RhdGljIHJlamVjdChhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLGMpPT57YyhhKX0pKX10aGVuKGEsYil7dmFyIGM9YT8/VWssZD1iPz9UaztyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChlLGYpPT57dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUEVORElORyI/KHRoaXMuai5wdXNoKCgpPT57WGsodGhpcyx0aGlzLGMsZSxmKX0pLHRoaXMuby5wdXNoKCgpPT57WWsodGhpcyx0aGlzLGQsZSxmKX0pKTp0aGlzLnN0YXRlLnN0YXR1cz09PSJGVUxGSUxMRUQiP1hrKHRoaXMsdGhpcyxjLGUsZik6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUkVKRUNURUQiJiZZayh0aGlzLHRoaXMsZCxlLGYpfSkpfWNhdGNoKGEpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGEpfX07dmFyIHhsPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vcHRpb25zPWI7dGhpcy50cmFuc2FjdGlvbkNvdW50PTA7dGhpcy52PU1hdGgucm91bmQoKDAsXy5lbCkoKSk7dGhpcy5vPSExfWFkZChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9PmQub2JqZWN0U3RvcmUoYSkuYWRkKGIsYykpfWNsZWFyKGEpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxiPT5iLm9iamVjdFN0b3JlKGEpLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5qLmNsb3NlKCk7dGhpcy5vcHRpb25zPy5jbG9zZWQmJnRoaXMub3B0aW9ucy5jbG9zZWQoKX1jb3VudChhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkb25seSIsa2I6ITAsY29tbWl0OmRsKCl9LGM9PmMub2JqZWN0U3RvcmUoYSkuY291bnQoYikpfWRlbGV0ZShhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLAprYjohMCxjb21taXQ6ZGwoKSYmIShiIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxjPT5jLm9iamVjdFN0b3JlKGEpLmRlbGV0ZShiKSl9Z2V0KGEsYil7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMCxjb21taXQ6ZGwoKX0sYz0+Yy5vYmplY3RTdG9yZShhKS5nZXQoYikpfWdldEFsbChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMH0sZD0+ZC5vYmplY3RTdG9yZShhKS5nZXRBbGwoYixjKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuai5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuai5uYW1lfX0samw9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YWRkKGEsYil7cmV0dXJuIGJsKHRoaXMuai5hZGQoYSxiKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLmouYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBibCh0aGlzLmouY2xlYXIoKSkudGhlbigoKT0+Cnt9KX1jb3VudChhKXtyZXR1cm4gYmwodGhpcy5qLmNvdW50KGEpKX1kZWxldGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBJREJLZXlSYW5nZT9zbCh0aGlzLGEpOmJsKHRoaXMuai5kZWxldGUoYSkpfWdldChhKXtyZXR1cm4gYmwodGhpcy5qLmdldChhKSl9Z2V0QWxsKGEsYil7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/YmwodGhpcy5qLmdldEFsbChhLGIpKTp0bCh0aGlzLGEsYil9aW5kZXgoYSl7dHJ5e3JldHVybiBuZXcgRnModGhpcy5qLmluZGV4KGEpKX1jYXRjaChiKXtpZihiIGluc3RhbmNlb2YgRXJyb3ImJmIubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgUGsoYSx0aGlzLmoubmFtZSk7dGhyb3cgYjt9fWdldE5hbWUoKXtyZXR1cm4gdGhpcy5qLm5hbWV9a2V5UGF0aCgpe3JldHVybiB0aGlzLmoua2V5UGF0aH19LGZsPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hO3RoaXMubz1uZXcgTWFwO3RoaXMuYWJvcnRlZD0hMTsKdGhpcy5kb25lPW5ldyBQcm9taXNlKChiLGMpPT57dGhpcy5qLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e2IoKX0pO3RoaXMuai5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZD0+e2QuY3VycmVudFRhcmdldD09PWQudGFyZ2V0JiZjKHRoaXMuai5lcnJvcil9KTt0aGlzLmouYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57dmFyIGQ9dGhpcy5qLmVycm9yO2lmKGQpYyhkKTtlbHNlIGlmKCF0aGlzLmFib3J0ZWQpe2Q9Tms7dmFyIGU9dGhpcy5qLm9iamVjdFN0b3JlTmFtZXM7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDtoKyspe2xldCBrPWUuaXRlbShoKTtpZihrPT09bnVsbCl0aHJvdyBFcnJvcigibWEiKTtmLnB1c2goayl9ZD1uZXcgZCgiVU5LTk9XTl9BQk9SVCIse29iamVjdFN0b3JlTmFtZXM6Zi5qb2luKCksZGJOYW1lOnRoaXMuai5kYi5uYW1lLG1vZGU6dGhpcy5qLm1vZGV9KTtjKGQpfX0pfSl9YWJvcnQoKXt0aGlzLmouYWJvcnQoKTt0aGlzLmFib3J0ZWQ9CiEwO3Rocm93IG5ldyBOaygiRVhQTElDSVRfQUJPUlQiKTt9Y29tbWl0KCl7dGhpcy5hYm9ydGVkfHx0aGlzLmouY29tbWl0Py4oKX1vYmplY3RTdG9yZShhKXthPXRoaXMuai5vYmplY3RTdG9yZShhKTt2YXIgYj10aGlzLm8uZ2V0KGEpO2J8fChiPW5ldyBqbChhKSx0aGlzLm8uc2V0KGEsYikpO3JldHVybiBifX0sRnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Y291bnQoYSl7cmV0dXJuIGJsKHRoaXMuai5jb3VudChhKSl9ZGVsZXRlKGEpe3JldHVybiB1bCh0aGlzLHtxdWVyeTphfSxiPT5iLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGIpKSl9Z2V0KGEpe3JldHVybiBibCh0aGlzLmouZ2V0KGEpKX1nZXRBbGwoYSxiKXtyZXR1cm4iZ2V0QWxsImluIElEQkluZGV4LnByb3RvdHlwZT9ibCh0aGlzLmouZ2V0QWxsKGEsYikpOnZsKHRoaXMsYSxiKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuai5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLmoudW5pcXVlfX0sd2w9Y2xhc3N7Y29uc3RydWN0b3IoYSwKYil7dGhpcy5yZXF1ZXN0PWE7dGhpcy5jdXJzb3I9Yn1kZWxldGUoKXtyZXR1cm4gYmwodGhpcy5jdXJzb3IuZGVsZXRlKCkpLnRoZW4oKCk9Pnt9KX11cGRhdGUoYSl7cmV0dXJuIGJsKHRoaXMuY3Vyc29yLnVwZGF0ZShhKSl9fTt2YXIgR3M9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm5hbWU9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLnY9ITA7dGhpcy5EPXRoaXMuQj0wfW8oYSxiLGM9e30pe3JldHVybiB6bChhLGIsYyl9ZGVsZXRlKGE9e30pe3JldHVybiBfLkFsKHRoaXMubmFtZSxhKX1vcGVuKCl7aWYoIXRoaXMudil0aHJvdyBCbCh0aGlzKTtpZih0aGlzLmopcmV0dXJuIHRoaXMuajt2YXIgYSxiPSgpPT57dGhpcy5qPT09YSYmKHRoaXMuaj12b2lkIDApfSxjPXtibG9ja2luZzplPT57ZS5jbG9zZSgpfSxjbG9zZWQ6YixUQTpiLHVwZ3JhZGU6dGhpcy5vcHRpb25zLnVwZ3JhZGV9LGQ9YXN5bmMoKT0+e3ZhciBlPUVycm9yKCkuc3RhY2s/PyIiO3RyeXtsZXQgaz1hd2FpdCB0aGlzLm8odGhpcy5uYW1lLHRoaXMub3B0aW9ucy52ZXJzaW9uLGMpO3ZhciBmPWssaD10aGlzLm9wdGlvbnM7bGV0IGw9W107Zm9yKGxldCBtIG9mIE9iamVjdC5rZXlzKGguc2UpKXtsZXQge1BkOm4seks6cD1OdW1iZXIuTUFYX1ZBTFVFfT0KaC5zZVttXTshKGYuai52ZXJzaW9uPj1uKXx8Zi5qLnZlcnNpb24+PXB8fGYuai5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKG0pfHxsLnB1c2gobSl9aWYobC5sZW5ndGghPT0wKXtsZXQgbT1PYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMuc2UpLG49ay5vYmplY3RTdG9yZU5hbWVzKCk7aWYodGhpcy5EPF8uc2ooInl0aWRiX3Jlb3Blbl9kYl9yZXRyaWVzIiwwKSlyZXR1cm4gdGhpcy5EKyssay5jbG9zZSgpLF8uSWsobmV3IE5rKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sZm91bmRPYmplY3RTdG9yZXM6bn0pKSxkKCk7aWYodGhpcy5CPF8uc2ooInl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzIiwxKSlyZXR1cm4gdGhpcy5CKyssYXdhaXQgdGhpcy5kZWxldGUoKSxfLklrKG5ldyBOaygiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sCmZvdW5kT2JqZWN0U3RvcmVzOm59KSksZCgpO3Rocm93IG5ldyBFcyhuLG0pO31yZXR1cm4ga31jYXRjaChrKXtpZihrIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP2submFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZrIGluc3RhbmNlb2YgRE9NRXJyb3I/ay5uYW1lPT09IlZlcnNpb25FcnJvciI6ayBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4gayYmay5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe2U9YXdhaXQgdGhpcy5vKHRoaXMubmFtZSx2b2lkIDAsey4uLmMsdXBncmFkZTp2b2lkIDB9KTtmPWUuai52ZXJzaW9uO2lmKHRoaXMub3B0aW9ucy52ZXJzaW9uIT09dm9pZCAwJiZmPnRoaXMub3B0aW9ucy52ZXJzaW9uKzEpdGhyb3cgZS5jbG9zZSgpLHRoaXMudj0hMSxCbCh0aGlzLGYpO3JldHVybiBlfWIoKTtrIGluc3RhbmNlb2YKRXJyb3ImJiFfLngoInl0aWRiX2FzeW5jX3N0YWNrX2tpbGxzd2l0Y2giKSYmKGsuc3RhY2s9YCR7ay5zdGFja31cbiR7ZS5zdWJzdHJpbmcoZS5pbmRleE9mKCJcbiIpKzEpfWApO3Rocm93IFJrKGssdGhpcy5uYW1lLCIiLHRoaXMub3B0aW9ucy52ZXJzaW9uPz8tMSk7fX07cmV0dXJuIHRoaXMuaj1hPWQoKX19O3ZhciBEbD1uZXcgR3MoIll0SWRiTWV0YSIse3NlOntkYXRhYmFzZXM6e1BkOjF9fSx1cGdyYWRlKGEsYil7YigxKSYmXy5rbChhLCJkYXRhYmFzZXMiLHtrZXlQYXRoOiJhY3R1YWxOYW1lIn0pfX0pO3ZhciBNbCxLbD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fShuZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fSk7bmV3IF8uY3M7dmFyIFlsPWNsYXNzIGV4dGVuZHMgR3N7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLGIpO3RoaXMub3B0aW9ucz1iO0trKGEpfW8oYSxiLGM9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP1RsOlNsKShhLGIsey4uLmN9KX1kZWxldGUoYT17fSl7cmV0dXJuKHRoaXMub3B0aW9ucy5zaGFyZWQ/WGw6VWwpKHRoaXMubmFtZSxhKX19O3ZhciBhbT1fLiRsKCJ5dEdjZkNvbmZpZyIse3NlOntjb2xkQ29uZmlnU3RvcmU6e1BkOjF9LGhvdENvbmZpZ1N0b3JlOntQZDoxfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiYoXy5vbChfLmtsKGEsImhvdENvbmZpZ1N0b3JlIix7a2V5UGF0aDoia2V5IixhdXRvSW5jcmVtZW50OiEwfSksImhvdFRpbWVzdGFtcEluZGV4IiwidGltZXN0YW1wIiksXy5vbChfLmtsKGEsImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBIcz1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLmo9W107dmFyIGE9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RVcGRhdGVDYWxsYmFja3MiKTthPyh0aGlzLm89Wy4uLmFdLHRoaXMuaj1hKToodGhpcy5qPVtdLF8ucmEoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIix0aGlzLmopKX1sYSgpe2ZvcihsZXQgYiBvZiB0aGlzLm8pe3ZhciBhPXRoaXMuajtsZXQgYz1hLmluZGV4T2YoYik7Yz49MCYmYS5zcGxpY2UoYywxKX10aGlzLm8ubGVuZ3RoPTA7c3VwZXIubGEoKX19O3ZhciBpbT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj0wO3RoaXMubz1uZXcgSHN9d2ooKXtyZXR1cm4gXy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpPz9fLncoIlJBV19IT1RfQ09ORklHX0dST1VQIil9QihhKXt0aGlzLmhvdEhhc2hEYXRhPWE7Xy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIsdGhpcy5ob3RIYXNoRGF0YXx8bnVsbCl9fTt2YXIgSXM7SXM9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOm51bGw7Xy55bT1Jcz9hPT5Jcy5lbmNvZGUoYSk6YT0+e2E9Xy5hYyhhKTt2YXIgYj1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDtjKyspYltjXT1hW2NdO3JldHVybiBifTtfLnBtLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtfLnFtLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvcGljfTt2YXIgSnM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIil8fG5ldyBfLnRoO18udGgucHJvdG90eXBlLnN1YnNjcmliZT1fLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU7Xy50aC5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1fLnRoLnByb3RvdHlwZS5jaTtfLnRoLnByb3RvdHlwZS5wdWJsaXNoPV8udGgucHJvdG90eXBlLnB1Ymxpc2g7Xy50aC5wcm90b3R5cGUuY2xlYXI9Xy50aC5wcm90b3R5cGUuY2xlYXI7Xy5yYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixKcyk7Xy5Lcz1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Xy5yYSgieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixfLktzKTtfLkxzPV8uc2EoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLF8uTHMpO18uTXM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307Cl8ucmEoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixfLk1zKTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIsbnVsbCk7dmFyIHptO18ud209Xy5zaigibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KTtfLnhtPV8uc2ooIm1pbl9ib2R5X3NpemVfdG9fY29tcHJlc3MiLDUwMCk7em09MDt2YXIgTnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy54aT10aGlzLk9jPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuaj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9O3RoaXMuVGY9KCk9Pnt9O3RoaXMubm93PURhdGUubm93O3RoaXMuYWg9ITE7dGhpcy5ncz1hLmdzPz8xMDA7dGhpcy5Ncj1hLk1yPz8xO3RoaXMuS3I9YS5Lcj8/MjU5MkU2O3RoaXMuQ3I9YS5Dcj8/MTJFNDt0aGlzLkxyPWEuTHI/PzVFMzt0aGlzLkphPWEuSmE/P3ZvaWQgMDt0aGlzLk9pPSEhYS5PaTt0aGlzLkRpPWEuRGk/Py4xO3RoaXMuS2o9YS5Laj8/MTA7YS5oYW5kbGVFcnJvciYmKHRoaXMuaGFuZGxlRXJyb3I9YS5oYW5kbGVFcnJvcik7YS5UZiYmKHRoaXMuVGY9YS5UZik7YS5haCYmKHRoaXMuYWg9YS5haCk7YS54aSYmKHRoaXMueGk9YS54aSk7dGhpcy5LYT1hLkthO3RoaXMuRGM9YS5EYzt0aGlzLmNiPWEuY2I7dGhpcy5TYT1hLlNhO3RoaXMuR2Q9YS5HZDt0aGlzLkttPWEuS207CnRoaXMuRm09YS5GbTtCbSh0aGlzKSYmKCF0aGlzLkthfHx0aGlzLkthKCJuZXR3b3JrbGVzc19sb2dnaW5nIikpJiZEbSh0aGlzKX13cml0ZVRoZW5TZW5kKGEsYj17fSl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBjPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLmNiLnNldChjLHRoaXMuSmEpLnRoZW4oZD0+e2MuaWQ9ZDt0aGlzLlNhLlNiKCkmJkdtKHRoaXMsYyl9KS5jYXRjaChkPT57R20odGhpcyxjKTtIbSh0aGlzLGQpfSl9ZWxzZSB0aGlzLkdkKGEsYil9c2VuZFRoZW5Xcml0ZShhLGI9e30sYyl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBkPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiYoZC5za2lwUmV0cnk9Yyk7aWYodGhpcy5TYS5TYigpfHx0aGlzLkthJiYKdGhpcy5LYSgibndsX2FnZ3Jlc3NpdmVfc2VuZF90aGVuX3dyaXRlIikmJiFkLnNraXBSZXRyeSl7aWYoIWQuc2tpcFJldHJ5KXtsZXQgZT1iLm9uRXJyb3I/Yi5vbkVycm9yOigpPT57fTtiLm9uRXJyb3I9YXN5bmMoZixoKT0+e2F3YWl0IHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goaz0+e0htKHRoaXMsayl9KTtlKGYsaCl9fXRoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KX1lbHNlIHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goZT0+e3RoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KTtIbSh0aGlzLGUpfSl9ZWxzZSB0aGlzLkdkKGEsYix0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiZjKX1zZW5kQW5kV3JpdGUoYSxiPXt9KXtpZihCbSh0aGlzKSYmdGhpcy5PYyl7bGV0IGM9e3VybDphLG9wdGlvbnM6Yix0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9LGQ9ITEsZT1iLm9uU3VjY2Vzcz9iLm9uU3VjY2VzczooKT0+e307Yy5vcHRpb25zLm9uU3VjY2Vzcz0KKGYsaCk9PntjLmlkIT09dm9pZCAwP3RoaXMuY2IuRmYoYy5pZCx0aGlzLkphKTpkPSEwO3RoaXMuU2EuZWYmJnRoaXMuS2EmJnRoaXMuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmdGhpcy5TYS5lZighMCk7ZShmLGgpfTt0aGlzLkdkKGMudXJsLGMub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuY2Iuc2V0KGMsdGhpcy5KYSkudGhlbihmPT57Yy5pZD1mO2QmJnRoaXMuY2IuRmYoYy5pZCx0aGlzLkphKX0pLmNhdGNoKGY9PntIbSh0aGlzLGYpfSl9ZWxzZSB0aGlzLkdkKGEsYix2b2lkIDAsITApfW8oKXtpZighQm0odGhpcykpdGhyb3cgRXJyb3IoInJhIik7dGhpcy5qfHwodGhpcy5qPXRoaXMuRGMucGIoYXN5bmMoKT0+e3ZhciBhPWF3YWl0IHRoaXMuY2IuV3AoIk5FVyIsdGhpcy5KYSk7YT8oYXdhaXQgR20odGhpcyxhKSx0aGlzLmomJih0aGlzLmo9MCx0aGlzLm8oKSkpOnRoaXMudigpfSx0aGlzLmdzKSl9digpe3RoaXMuRGMuQWEodGhpcy5qKTt0aGlzLmo9MH19O3ZhciBLbTt2YXIgVW89e2FjY291bnRTdGF0ZUNoYW5nZVNpZ25lZEluOjIzLGFjY291bnRTdGF0ZUNoYW5nZVNpZ25lZE91dDoyNCxkZWxheWVkRXZlbnRNZXRyaWNDYXB0dXJlZDoxMSxsYXRlbmN5QWN0aW9uQmFzZWxpbmVkOjYsbGF0ZW5jeUFjdGlvbkluZm86NyxsYXRlbmN5QWN0aW9uVGlja2VkOjUsb2ZmbGluZVRyYW5zZmVyU3RhdHVzQ2hhbmdlZDoyLG9mZmxpbmVJbWFnZURvd25sb2FkOjMzNSxwbGF5YmFja1N0YXJ0U3RhdGVDaGFuZ2VkOjksc3lzdGVtSGVhbHRoQ2FwdHVyZWQ6MyxtYW5nb09uYm9hcmRpbmdDb21wbGV0ZWQ6MTAsbWFuZ29QdXNoTm90aWZpY2F0aW9uUmVjZWl2ZWQ6MjMwLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25FcnJvcjoxMjEsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN1bW1hcnk6MTIyLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QcmV1bmZvcmtEYlZlcnNpb25OdW1iZXI6MTMzLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QaG9uZU1ldGFkYXRhOjEzNCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVTdG9yYWdlOjEzNSwKbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN0ZXA6MTQyLG1hbmdvQXN5bmNBcGlNaWdyYXRpb25FdmVudDoyMjMsbWFuZ29Eb3dubG9hZFZpZGVvUmVzdWx0OjIyNCxtYW5nb0hvbWVwYWdlVmlkZW9Db3VudDoyNzksbWFuZ29Ib21lVjNTdGF0ZToyOTUsbWFuZ29JbWFnZUNsaWVudENhY2hlSGl0RXZlbnQ6MjczLHNkQ2FyZFN0YXR1c0NoYW5nZWQ6OTgsZnJhbWVzRHJvcHBlZDoxMix0aHVtYm5haWxIb3ZlcmVkOjEzLGRldmljZVJldGVudGlvbkluZm9DYXB0dXJlZDoxNCx0aHVtYm5haWxMb2FkZWQ6MTUsYmFja1RvQXBwRXZlbnQ6MzE4LHN0cmVhbWluZ1N0YXRzQ2FwdHVyZWQ6MTcsb2ZmbGluZVZpZGVvU2hhcmVkOjE5LGFwcENyYXNoZWQ6MjAseW91VGhlcmU6MjEsb2ZmbGluZVN0YXRlU25hcHNob3Q6MjIsbWR4U2Vzc2lvblN0YXJ0ZWQ6MjUsbWR4U2Vzc2lvbkNvbm5lY3RlZDoyNixtZHhTZXNzaW9uRGlzY29ubmVjdGVkOjI3LGJlZHJvY2tSZXNvdXJjZUNvbnN1bXB0aW9uU25hcHNob3Q6MjgsCm5leHRHZW5XYXRjaFdhdGNoU3dpcGVkOjI5LGtpZHNBY2NvdW50c1NuYXBzaG90OjMwLHplcm9TdGVwQ2hhbm5lbENyZWF0ZWQ6MzEsdHZodG1sNVNlYXJjaENvbXBsZXRlZDozMixvZmZsaW5lU2hhcmVQYWlyaW5nOjM0LG9mZmxpbmVTaGFyZVVubG9jazozNSxtZHhSb3V0ZURpc3RyaWJ1dGlvblNuYXBzaG90OjM2LGJlZHJvY2tSZXBldGl0aXZlQWN0aW9uVGltZWQ6MzcsdW5wbHVnZ2VkRGVncmFkYXRpb25JbmZvOjIyOSx1cGxvYWRNcDRIZWFkZXJNb3ZlZDozOCx1cGxvYWRWaWRlb1RyYW5zY29kZWQ6MzksdXBsb2FkUHJvY2Vzc29yU3RhcnRlZDo0Nix1cGxvYWRQcm9jZXNzb3JFbmRlZDo0Nyx1cGxvYWRQcm9jZXNzb3JSZWFkeTo5NCx1cGxvYWRQcm9jZXNzb3JSZXF1aXJlbWVudFBlbmRpbmc6OTUsdXBsb2FkUHJvY2Vzc29ySW50ZXJydXB0ZWQ6OTYsdXBsb2FkRnJvbnRlbmRFdmVudDoyNDEsYXNzZXRQYWNrRG93bmxvYWRTdGFydGVkOjQxLGFzc2V0UGFja0Rvd25sb2FkZWQ6NDIsCmFzc2V0UGFja0FwcGxpZWQ6NDMsYXNzZXRQYWNrRGVsZXRlZDo0NCxhcHBJbnN0YWxsQXR0cmlidXRpb25FdmVudDo0NTkscGxheWJhY2tTZXNzaW9uU3RvcHBlZDo0NSxhZEJsb2NrZXJNZXNzYWdpbmdTaG93bjo0OCxkaXN0cmlidXRpb25DaGFubmVsQ2FwdHVyZWQ6NDksZGF0YVBsYW5DcGlkUmVxdWVzdGVkOjUxLGRldGFpbGVkTmV0d29ya1R5cGVDYXB0dXJlZDo1MixzZW5kU3RhdGVVcGRhdGVkOjUzLHJlY2VpdmVTdGF0ZVVwZGF0ZWQ6NTQsc2VuZERlYnVnU3RhdGVVcGRhdGVkOjU1LHJlY2VpdmVEZWJ1Z1N0YXRlVXBkYXRlZDo1NixraWRzRXJyb3JlZDo1NyxtZHhNc25TZXNzaW9uU3RhdHNGaW5pc2hlZDo1OCxhcHBTZXR0aW5nc0NhcHR1cmVkOjU5LG1keFdlYlNvY2tldFNlcnZlckh0dHBFcnJvcjo2MCxtZHhXZWJTb2NrZXRTZXJ2ZXI6NjEsc3RhcnR1cENyYXNoZXNEZXRlY3RlZDo2Mixjb2xkU3RhcnRJbmZvOjQzNSxvZmZsaW5lUGxheWJhY2tTdGFydGVkOjYzLGxpdmVDaGF0TWVzc2FnZVNlbnQ6MjI1LApsaXZlQ2hhdFVzZXJQcmVzZW50OjQzNCxsaXZlQ2hhdEJlaW5nTW9kZXJhdGVkOjQ1NyxsaXZlQ2hhdEdpZnRCdXR0b25JbXByZXNzZWQ6NTU4LGxpdmVDcmVhdGlvbkNhbWVyYVVwZGF0ZWQ6NjQsbGl2ZUNyZWF0aW9uRW5jb2RpbmdDYXB0dXJlZDo2NSxsaXZlQ3JlYXRpb25FcnJvcjo2NixsaXZlQ3JlYXRpb25IZWFsdGhVcGRhdGVkOjY3LGxpdmVDcmVhdGlvblZpZGVvRWZmZWN0c0NhcHR1cmVkOjY4LGxpdmVDcmVhdGlvblN0YWdlT2NjdXJlZDo3NSxvZmZsaW5lU3lzdGVtRmFpbHVyZTo1NDYsbGl2ZUNyZWF0aW9uQnJvYWRjYXN0U2NoZWR1bGVkOjEyMyxsaXZlQ3JlYXRpb25BcmNoaXZlUmVwbGFjZW1lbnQ6MTQ5LGxpdmVDcmVhdGlvbkNvc3RyZWFtaW5nQ29ubmVjdGlvbjo0MjEsbGl2ZUNyZWF0aW9uUGxheWFibGVzTWV0cmljczo1MzMsbGl2ZUNyZWF0aW9uU3RyZWFtV2VicnRjU3RhdHM6Mjg4LGxpdmVDcmVhdGlvbldlYnJ0Y0Vycm9yOjUyNixtZHhTZXNzaW9uUmVjb3ZlcnlTdGFydGVkOjY5LAptZHhTZXNzaW9uUmVjb3ZlcnlDb21wbGV0ZWQ6NzAsbWR4U2Vzc2lvblJlY292ZXJ5U3RvcHBlZDo3MSx2aXN1YWxFbGVtZW50U2hvd246NzIsdmlzdWFsRWxlbWVudEhpZGRlbjo3Myx2aXN1YWxFbGVtZW50R2VzdHVyZWQ6NzgsdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZDoyMDgsc2NyZWVuQ3JlYXRlZDoxNTYscGxheWJhY2tBc3NvY2lhdGVkOjIwMix2aXN1YWxFbGVtZW50QXR0YWNoZWQ6MjE1LHBsYXliYWNrQ29udGV4dEV2ZW50OjIxNCxjbG91ZENhc3RpbmdQbGF5YmFja1N0YXJ0ZWQ6NzQsd2ViUGxheWVyQXBpQ2FsbGVkOjc2LHR2aHRtbDVBY2NvdW50RGlhbG9nT3BlbmVkOjc5LGZvcmVncm91bmRIZWFydGJlYXQ6ODAsZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQ6MTExLGtpZHNPZmZsaW5lU25hcHNob3Q6ODEsbWR4RW5jcnlwdGlvblNlc3Npb25TdGF0c0ZpbmlzaGVkOjgyLHBsYXllclJlcXVlc3RDb21wbGV0ZWQ6ODMsbGl0ZVNjaGVkdWxlclN0YXRpc3RpY3M6ODQsCm1keFNpZ25Jbjo4NSxzcGFjZWNhc3RNZXRhZGF0YUxvb2t1cFJlcXVlc3RlZDo4NixzcGFjZWNhc3RCYXRjaExvb2t1cFJlcXVlc3RlZDo4NyxzcGFjZWNhc3RTdW1tYXJ5UmVxdWVzdGVkOjg4LHNwYWNlY2FzdFBsYXliYWNrOjg5LHNwYWNlY2FzdERpc2NvdmVyeTo5MCx0dmh0bWw1TGF1bmNoVXJsQ29tcG9uZW50Q2hhbmdlZDo5MSxtZHhCYWNrZ3JvdW5kUGxheWJhY2tSZXF1ZXN0Q29tcGxldGVkOjkyLG1keEJyb2tlbkFkZGl0aW9uYWxEYXRhRGV2aWNlRGV0ZWN0ZWQ6OTMsdHZodG1sNUxvY2FsU3RvcmFnZTo5Nyx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXR1czoxNDcsYXV0b0NhcHRpb25zQXZhaWxhYmxlOjk5LHBsYXliYWNrU2NydWJiaW5nRXZlbnQ6MzM5LGZsZXh5U3RhdGU6MTAwLGludGVyZmFjZU9yaWVudGF0aW9uQ2FwdHVyZWQ6MTAxLG1haW5BcHBCcm93c2VGcmFnbWVudENhY2hlOjEwMixvZmZsaW5lQ2FjaGVWZXJpZmljYXRpb25GYWlsdXJlOjEwMyxvZmZsaW5lUGxheWJhY2tFeGNlcHRpb25EaWdlc3Q6MjE3LAp2ckNvcHJlc2VuY2VTdGF0czoxMDQsdnJDb3ByZXNlbmNlU3luY1N0YXRzOjEzMCx2ckNvcHJlc2VuY2VDb21tc1N0YXRzOjEzNyx2ckNvcHJlc2VuY2VQYXJ0eVN0YXRzOjE1Myx2ckNvcHJlc2VuY2VFbW9qaVN0YXRzOjIxMyx2ckNvcHJlc2VuY2VFdmVudDoxNDEsdnJDb3ByZXNlbmNlRmxvd1RyYW5zaXRFdmVudDoxNjAsdnJDb3dhdGNoUGFydHlFdmVudDo0OTIsdnJDb3dhdGNoVXNlclN0YXJ0T3JKb2luRXZlbnQ6NTA0LHZyUGxheWJhY2tFdmVudDozNDUsa2lkc0FnZUdhdGVUcmFja2luZzoxMDUsb2ZmbGluZURlbGF5QWxsb3dlZFRyYWNraW5nOjEwNixtYWluQXBwQXV0b09mZmxpbmVTdGF0ZToxMDcsdmlkZW9Bc1RodW1ibmFpbERvd25sb2FkOjEwOCx2aWRlb0FzVGh1bWJuYWlsUGxheWJhY2s6MTA5LGxpdGVTaG93TW9yZToxMTAscmVuZGVyaW5nRXJyb3I6MTE4LGtpZHNQcm9maWxlUGluR2F0ZVRyYWNraW5nOjExOSxhYnJUcmFqZWN0b3J5OjEyNCxzY3JvbGxFdmVudDoxMjUsCnN0cmVhbXpJbmNyZW1lbnRlZDoxMjYsa2lkc1Byb2ZpbGVTd2l0Y2hlclRyYWNraW5nOjEyNyxraWRzUHJvZmlsZUNyZWF0aW9uVHJhY2tpbmc6MTI5LGJ1eUZsb3dTdGFydGVkOjEzNixpbnRlZ3JhdGlvbkF0dHJpYnV0aW9uRXZlbnQ6NTU2LG1ic0Nvbm5lY3Rpb25Jbml0aWF0ZWQ6MTM4LG1ic1BsYXliYWNrSW5pdGlhdGVkOjEzOSxtYnNMb2FkQ2hpbGRyZW46MTQwLGxpdGVQcm9maWxlRmV0Y2hlcjoxNDQsbWR4UmVtb3RlVHJhbnNhY3Rpb246MTQ2LHJlZWxQbGF5YmFja0Vycm9yOjE0OCxyZWFjaGFiaWxpdHlEZXRlY3Rpb25FdmVudDoxNTAsbW9iaWxlUGxheWJhY2tFdmVudDoxNTEsY291cnRzaWRlUGxheWVyU3RhdGVDaGFuZ2VkOjE1MixtdXNpY1BlcnNpc3RlbnRDYWNoZUNoZWNrZWQ6MTU0LG11c2ljUGVyc2lzdGVudENhY2hlQ2xlYXJlZDoxNTUscGxheWJhY2tJbnRlcnJ1cHRlZDoxNTcscGxheWJhY2tJbnRlcnJ1cHRpb25SZXNvbHZlZDoxNTgsZml4Rm9wRmxvdzoxNTksCmFuckRldGVjdGlvbjoxNjEsYmFja3N0YWdlUG9zdENyZWF0aW9uRmxvd0VuZGVkOjE2MixjbGllbnRFcnJvcjoxNjMsZ2FtaW5nQWNjb3VudExpbmtTdGF0dXNDaGFuZ2VkOjE2NCxsaXRlSG91c2V3YXJtaW5nOjE2NSxidXlGbG93RXZlbnQ6MTY3LGtpZHNQYXJlbnRhbEdhdGVUcmFja2luZzoxNjgsa2lkc1NpZ25lZE91dFNldHRpbmdzU3RhdHVzOjQzNyxraWRzU2lnbmVkT3V0UGF1c2VIaXN0b3J5Rml4U3RhdHVzOjQzOCx0dmh0bWw1V2F0Y2hkb2dWaW9sYXRpb246NDQ0LHlwY1VwZ3JhZGVGbG93OjE2OSx5b25nbGVTdHVkeToxNzAseXBjVXBkYXRlRmxvd1N0YXJ0ZWQ6MTcxLHlwY1VwZGF0ZUZsb3dDYW5jZWxsZWQ6MTcyLHlwY1VwZGF0ZUZsb3dTdWNjZWVkZWQ6MTczLHlwY1VwZGF0ZUZsb3dGYWlsZWQ6MTc0LGxpdGVHcm93dGhraXRQcm9tbzoxNzUscGF5bWVudEZsb3dTdGFydGVkOjM0MSx0cmFuc2FjdGlvbkZsb3dTaG93UGF5bWVudERpYWxvZzo0MDUsdHJhbnNhY3Rpb25GbG93U3RhcnRlZDoxNzYsCnRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVN0YXJ0ZWQ6MjIyLHRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVNpZ25lZE91dFN0YXJ0ZWQ6MzgzLHRyYW5zYWN0aW9uRmxvd0NhbmNlbGxlZDoxNzcsdHJhbnNhY3Rpb25GbG93UGF5bWVudENhbGxCYWNrUmVjZWl2ZWQ6Mzg3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWJtaXR0ZWQ6NDYwLHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWNjZWVkZWQ6MzI5LHRyYW5zYWN0aW9uRmxvd1N1Y2NlZWRlZDoxNzgsdHJhbnNhY3Rpb25GbG93RmFpbGVkOjE3OSx0cmFuc2FjdGlvbkZsb3dQbGF5QmlsbGluZ0Nvbm5lY3Rpb25TdGFydEV2ZW50OjQyOCx0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdWNjZXNzOjQ1OCx0cmFuc2FjdGlvbkZsb3dFcnJvckV2ZW50OjQxMSxsaXRlVmlkZW9RdWFsaXR5Q2hhbmdlZDoxODAsd2F0Y2hCcmVha0VuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MTgxLHdhdGNoQnJlYWtGcmVxdWVuY3lTZXR0aW5nRXZlbnQ6MTgyLAp2aWRlb0VmZmVjdHNDYW1lcmFQZXJmb3JtYW5jZU1ldHJpY3M6MTgzLGFkTm90aWZ5OjE4NCxzdGFydHVwVGVsZW1ldHJ5OjE4NSxwbGF5YmFja09mZmxpbmVGYWxsYmFja1VzZWQ6MTg2LG91dE9mTWVtb3J5OjE4Nyx5cGNQYXVzZUZsb3dTdGFydGVkOjE4OCx5cGNQYXVzZUZsb3dDYW5jZWxsZWQ6MTg5LHlwY1BhdXNlRmxvd1N1Y2NlZWRlZDoxOTAseXBjUGF1c2VGbG93RmFpbGVkOjE5MSx1cGxvYWRGaWxlU2VsZWN0ZWQ6MTkyLHlwY1Jlc3VtZUZsb3dTdGFydGVkOjE5Myx5cGNSZXN1bWVGbG93Q2FuY2VsbGVkOjE5NCx5cGNSZXN1bWVGbG93U3VjY2VlZGVkOjE5NSx5cGNSZXN1bWVGbG93RmFpbGVkOjE5NixhZHNDbGllbnRTdGF0ZUNoYW5nZToxOTcseXBjQ2FuY2VsRmxvd1N0YXJ0ZWQ6MTk4LHlwY0NhbmNlbEZsb3dDYW5jZWxsZWQ6MTk5LHlwY0NhbmNlbEZsb3dTdWNjZWVkZWQ6MjAwLHlwY0NhbmNlbEZsb3dGYWlsZWQ6MjAxLHlwY0NhbmNlbEZsb3dHb1RvUGF5bWVudFByb2Nlc3Nvcjo0MDIsCnlwY0RlYWN0aXZhdGVGbG93U3RhcnRlZDozMjAseXBjUmVkZWVtRmxvd1N0YXJ0ZWQ6MjAzLHlwY1JlZGVlbUZsb3dDYW5jZWxsZWQ6MjA0LHlwY1JlZGVlbUZsb3dTdWNjZWVkZWQ6MjA1LHlwY1JlZGVlbUZsb3dGYWlsZWQ6MjA2LHlwY0ZhbWlseUNyZWF0ZUZsb3dTdGFydGVkOjI1OCx5cGNGYW1pbHlDcmVhdGVGbG93Q2FuY2VsbGVkOjI1OSx5cGNGYW1pbHlDcmVhdGVGbG93U3VjY2VlZGVkOjI2MCx5cGNGYW1pbHlDcmVhdGVGbG93RmFpbGVkOjI2MSx5cGNGYW1pbHlNYW5hZ2VGbG93U3RhcnRlZDoyNjIseXBjRmFtaWx5TWFuYWdlRmxvd0NhbmNlbGxlZDoyNjMseXBjRmFtaWx5TWFuYWdlRmxvd1N1Y2NlZWRlZDoyNjQseXBjRmFtaWx5TWFuYWdlRmxvd0ZhaWxlZDoyNjUscmVzdG9yZUNvbnRleHRFdmVudDoyMDcsZW1iZWRzQWRFdmVudDozMjcsYXV0b3BsYXlUcmlnZ2VyZWQ6MjA5LGNsaWVudERhdGFFcnJvckV2ZW50OjIxMCxleHBlcmltZW50YWxWc3NWYWxpZGF0aW9uOjIxMSwKdHZodG1sNVRyaWdnZXJlZEV2ZW50OjIxMix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxSZXN1bHQ6MjE2LHR2aHRtbDVGcmFtZXdvcmtzRmllbGRUcmlhbFN0YXJ0OjIyMCxtdXNpY09mZmxpbmVQcmVmZXJlbmNlczoyMTgsd2F0Y2hUaW1lU2VnbWVudDoyMTksYXBwV2lkdGhMYXlvdXRFcnJvcjoyMjEsYWNjb3VudFJlZ2lzdHJ5Q2hhbmdlOjIyNix1c2VyTWVudGlvbkF1dG9Db21wbGV0ZUJveEV2ZW50OjIyNyxkb3dubG9hZFJlY29tbWVuZGF0aW9uRW5hYmxlbWVudFNldHRpbmdFdmVudDoyMjgsbXVzaWNQbGF5YmFja0NvbnRlbnRNb2RlQ2hhbmdlRXZlbnQ6MjMxLG9mZmxpbmVEYk9wZW5Db21wbGV0ZWQ6MjMyLGtpZHNGbG93RXZlbnQ6MjMzLGtpZHNGbG93Q29ycHVzU2VsZWN0ZWRFdmVudDoyMzQsdmlkZW9FZmZlY3RzRXZlbnQ6MjM1LHVucGx1Z2dlZE9wc0VvZ0FuYWx5dGljc0V2ZW50OjIzNixwbGF5YmFja0F1ZGlvUm91dGVFdmVudDoyMzcsaW50ZXJhY3Rpb25Mb2dnaW5nRGVidWdNb2RlRXJyb3I6MjM4LApvZmZsaW5lWXRiUmVmcmVzaGVkOjIzOSxraWRzRmxvd0Vycm9yOjI0MCxtdXNpY0F1dG9wbGF5T25MYXVuY2hBdHRlbXB0ZWQ6MjQyLGRldmljZUNvbnRleHRBY3Rpdml0eUV2ZW50OjI0MyxkZXZpY2VDb250ZXh0RXZlbnQ6MjQ0LHRlbXBsYXRlUmVzb2x1dGlvbkV4Y2VwdGlvbjoyNDUsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RTZXJ2aWNlQ2FsbGVkOjI0NixlbWJlZHNTdG9yYWdlQWNjZXNzTm90Q2hlY2tlZDoyNDcsZW1iZWRzSGFzU3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNDgsZW1iZWRzSXRwUGxheWVkT25SZWxvYWQ6MjQ5LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzUmVzdWx0OjI1MCxlbWJlZHNTaG91bGRSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTEsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NTdGF0ZToyNTYsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NGYWlsZWRTdGF0ZToyNTcsZW1iZWRzSXRwV2F0Y2hMYXRlclJlc3VsdDoyNjYsc2VhcmNoU3VnZ2VzdERlY29kaW5nUGF5bG9hZEZhaWx1cmU6MjUyLApzaXJpU2hvcnRjdXRBY3RpdmF0ZWQ6MjUzLHR2aHRtbDVLZXlib2FyZFBlcmZvcm1hbmNlOjI1NCxsYXRlbmN5QWN0aW9uU3BhbjoyNTUsZWxlbWVudHNMb2c6MjY3LHl0YkZpbGVPcGVuZWQ6MjY4LHRmbGl0ZU1vZGVsRXJyb3I6MjY5LGFwaVRlc3Q6MjcwLHlvbmdsZVVzYlNldHVwOjI3MSx0b3VTdHJpa2VJbnRlcnN0aXRpYWxFdmVudDoyNzIsbGl0ZVN0cmVhbVRvU2F2ZToyNzQsYXBwQnVuZGxlQ2xpZW50RXZlbnQ6Mjc1LHl0YkZpbGVDcmVhdGlvbkZhaWxlZDoyNzYsYWROb3RpZnlGYWlsdXJlOjI3OCx5dGJUcmFuc2ZlckZhaWxlZDoyODAsYmxvY2tpbmdSZXF1ZXN0RmFpbGVkOjI4MSxsaXRlQWNjb3VudFNlbGVjdG9yOjI4MixsaXRlQWNjb3VudFVpQ2FsbGJhY2tzOjI4MyxkdW1teVBheWxvYWQ6Mjg0LGJyb3dzZVJlc3BvbnNlVmFsaWRhdGlvbkV2ZW50OjI4NSxlbnRpdGllc0Vycm9yOjI4NixtdXNpY0lvc0JhY2tncm91bmRGZXRjaDoyODcsbWR4Tm90aWZpY2F0aW9uRXZlbnQ6Mjg5LApsYXllcnNWYWxpZGF0aW9uRXJyb3I6MjkwLG11c2ljUHdhSW5zdGFsbGVkOjI5MSxsaXRlQWNjb3VudENsZWFudXA6MjkyLGh0bWw1UGxheWVySGVhbHRoRXZlbnQ6MjkzLHdhdGNoUmVzdG9yZUF0dGVtcHQ6Mjk0LGxpdGVBY2NvdW50U2lnbkluOjI5Nixub3RhaXJlRXZlbnQ6Mjk4LGtpZHNWb2ljZVNlYXJjaEV2ZW50OjI5OSxhZE5vdGlmeUZpbGxlZDozMDAsZGVsYXllZEV2ZW50RHJvcHBlZDozMDEsYW5hbHl0aWNzU2VhcmNoRXZlbnQ6MzAyLHN5c3RlbURhcmtUaGVtZU9wdE91dEV2ZW50OjMwMyxmbG93RXZlbnQ6MzA0LG5ldHdvcmtDb25uZWN0aXZpdHlCYXNlbGluZUV2ZW50OjMwNSx5dGJGaWxlSW1wb3J0ZWQ6MzA2LGRvd25sb2FkU3RyZWFtVXJsRXhwaXJlZDozMDcsZGlyZWN0U2lnbkluRXZlbnQ6MzA4LGx5cmljSW1wcmVzc2lvbkV2ZW50OjMwOSxhY2Nlc3NpYmlsaXR5U3RhdGVFdmVudDozMTAsdG9rZW5SZWZyZXNoRXZlbnQ6MzExLGdlbmVyaWNBdHRlc3RhdGlvbkV4ZWN1dGlvbjozMTIsCnR2aHRtbDVWaWRlb1NlZWs6MzEzLHVucGx1Z2dlZEF1dG9QYXVzZTozMTQsc2NydWJiaW5nRXZlbnQ6MzE1LGJlZHRpbWVSZW1pbmRlckV2ZW50OjMxNyx0dmh0bWw1VW5leHBlY3RlZFJlc3RhcnQ6MzE5LHR2aHRtbDVEZXZpY2VTdG9yYWdlU3RhdHM6NTM1LHR2aHRtbDVTdGFiaWxpdHlUcmFjZUV2ZW50OjQ3OCx0dmh0bWw1T3BlcmF0aW9uSGVhbHRoOjQ2Nyx0dmh0bWw1V2F0Y2hLZXlFdmVudDozMjEsdm9pY2VMYW5ndWFnZUNoYW5nZWQ6MzIyLHR2aHRtbDVMaXZlQ2hhdFN0YXR1czozMjMscGFyZW50VG9vbHNDb3JwdXNTZWxlY3RlZEV2ZW50OjMyNCxvZmZlckFkc0Vucm9sbG1lbnRJbml0aWF0ZWQ6MzI1LG5ldHdvcmtRdWFsaXR5SW50ZXJ2YWxFdmVudDozMjYsZGV2aWNlU3RhcnR1cE1ldHJpY3M6MzI4LGhlYXJ0YmVhdEFjdGlvblBsYXllclRyYW5zaXRpb25lZDozMzAsdHZodG1sNUxpZmVjeWNsZTozMzEsaGVhcnRiZWF0QWN0aW9uUGxheWVySGFsdGVkOjMzMixhZGFwdGl2ZUlubGluZU11dGVkU2V0dGluZ0V2ZW50OjMzMywKbWFpbkFwcExpYnJhcnlMb2FkaW5nU3RhdGU6MzM0LHRoaXJkUGFydHlMb2dNb25pdG9yaW5nRXZlbnQ6MzM2LGFwcFNoZWxsQXNzZXRMb2FkUmVwb3J0OjMzNyx0dmh0bWw1QW5kcm9pZEF0dGVzdGF0aW9uOjMzOCx0dmh0bWw1U3RhcnR1cFNvdW5kRXZlbnQ6MzQwLGlvc0JhY2tncm91bmRSZWZyZXNoVGFzazozNDIsaW9zQmFja2dyb3VuZFByb2Nlc3NpbmdUYXNrOjM0MyxzbGlFdmVudEJhdGNoOjM0NCxwb3N0SW1wcmVzc2lvbkV2ZW50OjM0NixtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdEV4cG9ydDozNDcsaWRiVW5leHBlY3RlZGx5Q2xvc2VkOjM0OCx2b2ljZVNlYXJjaEV2ZW50OjM0OSxtZHhTZXNzaW9uQ2FzdEV2ZW50OjM1MCxpZGJRdW90YUV4Y2VlZGVkOjM1MSxpZGJUcmFuc2FjdGlvbkVuZGVkOjM1MixpZGJUcmFuc2FjdGlvbkFib3J0ZWQ6MzUzLHR2aHRtbDVLZXlib2FyZExvZ2dpbmc6MzU0LGlkYklzU3VwcG9ydGVkQ29tcGxldGVkOjM1NSxjcmVhdG9yU3R1ZGlvTW9iaWxlRXZlbnQ6MzU2LAppZGJEYXRhQ29ycnVwdGVkOjM1NyxwYXJlbnRUb29sc0FwcENob3NlbkV2ZW50OjM1OCx3ZWJWaWV3Qm90dG9tU2hlZXRSZXNpemVkOjM1OSxhY3RpdmVTdGF0ZUNvbnRyb2xsZXJTY3JvbGxQZXJmb3JtYW5jZVN1bW1hcnk6MzYwLG5hdmlnYXRvclZhbGlkYXRpb246MzYxLG1keFNlc3Npb25IZWFydGJlYXQ6MzYyLGNsaWVudEhpbnRzUG9seWZpbGxEaWFnbm9zdGljczozNjMsY2xpZW50SGludHNQb2x5ZmlsbEV2ZW50OjM2NCxwcm9vZk9mT3JpZ2luVG9rZW5FcnJvcjozNjUsa2lkc0FkZGVkQWNjb3VudFN1bW1hcnk6MzY2LG11c2ljV2VhcmFibGVEZXZpY2U6MzY3LHlwY1JlZnVuZEZsb3dFdmVudDozNjgsdHZodG1sNVBsYXliYWNrTWVhc3VyZW1lbnRFdmVudDozNjksdHZodG1sNVdhdGVybWFya01lYXN1cmVtZW50RXZlbnQ6MzcwLGNsaWVudEV4cEdjZlByb3BhZ2F0aW9uRXZlbnQ6MzcxLG1haW5BcHBSZWZlcnJlckludGVudDozNzIsbGVhZGVyTG9ja0VuZGVkOjM3MyxsZWFkZXJMb2NrQWNxdWlyZWQ6Mzc0LApnb29nbGVIYXRzRXZlbnQ6Mzc1LHBlcnNpc3RlbnRMZW5zTGF1bmNoRXZlbnQ6Mzc2LHBhcmVudFRvb2xzQ2hpbGRXZWxjb21lQ2hvc2VuRXZlbnQ6Mzc4LGJyb3dzZVRodW1ibmFpbFByZWxvYWRFdmVudDozNzksZmluYWxQYXlsb2FkOjM4MCxtZHhEaWFsQWRkaXRpb25hbERhdGFVcGRhdGVFdmVudDozODEsd2ViT3JjaGVzdHJhdGlvblRhc2tMaWZlY3ljbGVSZWNvcmQ6MzgyLHN0YXJ0dXBTaWduYWxFdmVudDozODQsYWNjb3VudEVycm9yOjM4NSxnbXNEZXZpY2VDaGVja0V2ZW50OjM4NixhY2NvdW50U2VsZWN0b3JFdmVudDozODgsYWNjb3VudFVpQ2FsbGJhY2tzOjM4OSxtZHhEaWFsQWRkaXRpb25hbERhdGFQcm9iZUV2ZW50OjM5MCxkb3dubG9hZHNTZWFyY2hJY2luZ0FwaVN0YXRzOjM5MSxkb3dubG9hZHNTZWFyY2hJbmRleFVwZGF0ZWRFdmVudDozOTcsZG93bmxvYWRzU2VhcmNoSW5kZXhTbmFwc2hvdDozOTgsZGF0YVB1c2hDbGllbnRFdmVudDozOTIsa2lkc0NhdGVnb3J5U2VsZWN0ZWRFdmVudDozOTMsCm1keERldmljZU1hbmFnZW1lbnRTbmFwc2hvdEV2ZW50OjM5NCxwcmVmZXRjaFJlcXVlc3RlZDozOTUscHJlZmV0Y2hhYmxlQ29tbWFuZEV4ZWN1dGVkOjM5NixnZWxEZWJ1Z2dpbmdFdmVudDozOTksd2ViTGlua1R0c1BsYXlFbmQ6NDAwLGNsaXBWaWV3SW52YWxpZDo0MDEscGVyc2lzdGVudFN0b3JhZ2VTdGF0ZUNoZWNrZWQ6NDAzLGNhY2hlV2lwZW91dEV2ZW50OjQwNCxwbGF5ZXJFdmVudDo0MTAsc2Z2RWZmZWN0UGlwZWxpbmVTdGFydGVkRXZlbnQ6NDEyLHNmdkVmZmVjdFBpcGVsaW5lUGF1c2VkRXZlbnQ6NDI5LHNmdkVmZmVjdFBpcGVsaW5lRW5kZWRFdmVudDo0MTMsc2Z2RWZmZWN0Q2hvc2VuRXZlbnQ6NDE0LHNmdkVmZmVjdExvYWRlZEV2ZW50OjQxNSxzZnZFZmZlY3RVc2VySW50ZXJhY3Rpb25FdmVudDo0NjUsc2Z2RWZmZWN0Rmlyc3RGcmFtZVByb2Nlc3NlZExhdGVuY3lFdmVudDo0MTYsc2Z2RWZmZWN0QWdncmVnYXRlZEZyYW1lc1Byb2Nlc3NlZExhdGVuY3lFdmVudDo0MTcsCnNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNEcm9wcGVkRXZlbnQ6NDE4LHNmdkVmZmVjdFBpcGVsaW5lRXJyb3JFdmVudDo0MzAsc2Z2RWZmZWN0R3JhcGhGcm96ZW5FdmVudDo0MTksc2Z2RWZmZWN0R2xUaHJlYWRCbG9ja2VkRXZlbnQ6NDIwLG1kZVFvc0V2ZW50OjUxMCxtZGVWaWRlb0NoYW5nZWRFdmVudDo0NDIsbWRlUGxheWVyUGVyZm9ybWFuY2VNZXRyaWNzOjQ3MixtZGVFeHBvcnRlckV2ZW50OjQ5NyxnZW5lcmljQ2xpZW50RXhwZXJpbWVudEV2ZW50OjQyMyxob21lUHJlbG9hZFRhc2tTY2hlZHVsZWQ6NDI0LGhvbWVQcmVsb2FkVGFza0V4ZWN1dGVkOjQyNSxob21lUHJlbG9hZENhY2hlSGl0OjQyNixwb2x5bWVyUHJvcGVydHlDaGFuZ2VkSW5PYnNlcnZlcjo0MjcsYXBwbGljYXRpb25TdGFydGVkOjQzMSxuZXR3b3JrQ3JvbmV0UnR0QmF0Y2g6NDMyLG5ldHdvcmtDcm9uZXRSdHRTdW1tYXJ5OjQzMyxyZXBlYXRDaGFwdGVyTG9vcEV2ZW50OjQzNixzZWVrQ2FuY2VsbGF0aW9uRXZlbnQ6NDYyLApsb2NrTW9kZVRpbWVvdXRFdmVudDo0ODMsZXh0ZXJuYWxWaWRlb1NoYXJlVG9Zb3V0dWJlQXR0ZW1wdDo1MDEscGFyZW50Q29kZUV2ZW50OjUwMixvZmZsaW5lVHJhbnNmZXJTdGFydGVkOjQsbXVzaWNPZmZsaW5lTWl4dGFwZVByZWZlcmVuY2VzQ2hhbmdlZDoxNixtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uQXR0ZW1wdDo0MCxtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uRXJyb3I6NzcsZHR3c1BsYXliYWNrU3RhcnRlZDoxMTIsZHR3c1RpbGVGZXRjaFN0YXJ0ZWQ6MTEzLGR0d3NUaWxlRmV0Y2hDb21wbGV0ZWQ6MTE0LGR0d3NUaWxlRmV0Y2hTdGF0dXNDaGFuZ2VkOjE0NSxkdHdzS2V5ZnJhbWVEZWNvZGVyQnVmZmVyU2VudDoxMTUsZHR3c1RpbGVVbmRlcmZsb3dlZE9uTm9ua2V5ZnJhbWU6MTE2LGR0d3NCYWNrZmlsbEZldGNoU3RhdHVzQ2hhbmdlZDoxNDMsZHR3c0JhY2tmaWxsVW5kZXJmbG93ZWQ6MTE3LGR0d3NBZGFwdGl2ZUxldmVsQ2hhbmdlZDoxMjgsCmJsb2NraW5nVmlzaXRvcklkVGltZW91dDoyNzcsbGl0ZVNvY2lhbDoxOCxtb2JpbGVKc0ludm9jYXRpb246Mjk3LGJpc2NvdHRpQmFzZWREZXRlY3Rpb246NDM5LGNvV2F0Y2hTdGF0ZUNoYW5nZTo0NDAsZW1iZWRzVmlkZW9EYXRhRGlkQ2hhbmdlOjQ0MSxzaG9ydHNGaXJzdDo0NDMsY3J1aXNlQ29udHJvbEV2ZW50OjQ0NSxxb2VDbGllbnRMb2dnaW5nQ29udGV4dDo0NDYsYXR2UmVjb21tZW5kYXRpb25Kb2JFeGVjdXRlZDo0NDcsdHZodG1sNVVzZXJGZWVkYmFjazo0NDgscHJvZHVjZXJQcm9qZWN0Q3JlYXRlZDo0NDkscHJvZHVjZXJQcm9qZWN0T3BlbmVkOjQ1MCxwcm9kdWNlclByb2plY3REZWxldGVkOjQ1MSxwcm9kdWNlclByb2plY3RFbGVtZW50QWRkZWQ6NDUzLHByb2R1Y2VyUHJvamVjdEVsZW1lbnRSZW1vdmVkOjQ1NCxwcm9kdWNlckFwcFN0YXRlQ2hhbmdlOjUwOSxwcm9kdWNlclByb2plY3REaXNrSW5zdWZmaWNpZW50RXhwb3J0RmFpbHVyZTo1MTYscHJvZHVjZXJNZWRpYVNlcnZpY2VzUmVzZXREZXRhaWxzOjUyMiwKdHZodG1sNVNob3dDbG9ja0V2ZW50OjQ1NSxkZXZpY2VDYXBhYmlsaXR5Q2hlY2tNZXRyaWNzOjQ1Nix5b3V0dWJlQ2xlYXJjdXRFdmVudDo0NjEsb2ZmbGluZUJyb3dzZUZhbGxiYWNrRXZlbnQ6NDYzLGdldEN0dlRva2VuRXZlbnQ6NDY0LHN0YXJ0dXBEcm9wcGVkRnJhbWVzU3VtbWFyeTo0NjYsc2NyZWVuc2hvdEV2ZW50OjQ2OCxtaW5pQXBwUGxheUV2ZW50OjQ2OSxlbGVtZW50c0RlYnVnQ291bnRlcnM6NDcwLGZvbnRMb2FkRXZlbnQ6NDcxLHdlYktpbGxzd2l0Y2hSZWNlaXZlZDo0NzMsd2ViS2lsbHN3aXRjaEV4ZWN1dGVkOjQ3NCxjYW1lcmFPcGVuRXZlbnQ6NDc1LG1hbnVhbFNtb290aG5lc3NNZWFzdXJlbWVudDo0NzYsdHZodG1sNUFwcFF1YWxpdHlFdmVudDo0NzcscG9seW1lclByb3BlcnR5QWNjZXNzRXZlbnQ6NDc5LG1pbmlBcHBTZGtVc2FnZTo0ODAsY29iYWx0VGVsZW1ldHJ5RXZlbnQ6NDgxLGNyb3NzRGV2aWNlUGxheWJhY2s6NDgyLGNoYW5uZWxDcmVhdGVkV2l0aE9iYWtlSW1hZ2U6NDg0LApjaGFubmVsRWRpdGVkV2l0aE9iYWtlSW1hZ2U6NDg1LG9mZmxpbmVEZWxldGVFdmVudDo0ODYsY3Jvc3NEZXZpY2VOb3RpZmljYXRpb25UcmFuc2Zlcjo0ODcsYW5kcm9pZEludGVudEV2ZW50OjQ4OCx1bnBsdWdnZWRBbWJpZW50SW50ZXJsdWRlc0NvdW50ZXJmYWN0dWFsRXZlbnQ6NDg5LGtleVBsYXlzUGxheWJhY2s6NDkwLHNob3J0c0NyZWF0aW9uRmFsbGJhY2tFdmVudDo0OTMsdnNzRGF0YTo0OTEsY2FzdE1hdGNoOjQ5NCxtaW5pQXBwUGVyZm9ybWFuY2VNZXRyaWNzOjQ5NSx1c2VyRmVlZGJhY2tFdmVudDo0OTYsa2lkc0d1ZXN0U2Vzc2lvbk1pc21hdGNoOjQ5OCxtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdE1pZ3JhdGlvbkV2ZW50OjQ5OSxzbGVlcFRpbWVyU2Vzc2lvbkZpbmlzaEV2ZW50OjUwMCx3YXRjaEVwUHJvbW9Db25mbGljdDo1MDMsaW5uZXJ0dWJlUmVzcG9uc2VDYWNoZU1ldHJpY3M6NTA1LG1pbmlBcHBBZEV2ZW50OjUwNixkYXRhUGxhblVwc2VsbEV2ZW50OjUwNywKcHJvZHVjZXJQcm9qZWN0UmVuYW1lZDo1MDgscHJvZHVjZXJNZWRpYVNlbGVjdGlvbkV2ZW50OjUxMSxlbWJlZHNBdXRvcGxheVN0YXR1c0NoYW5nZWQ6NTEyLHJlbW90ZUNvbm5lY3RFdmVudDo1MTMsY29ubmVjdGVkU2Vzc2lvbk1pc2F0dHJpYnV0aW9uRXZlbnQ6NTE0LHByb2R1Y2VyUHJvamVjdEVsZW1lbnRNb2RpZmllZDo1MTUsYWRzU2VlbkNsaWVudExvZ2dpbmc6NTE3LHByb2R1Y2VyRXZlbnQ6NTE4LHR2aHRtbDVDbGVhblN0YXJ0OjUxOSxkZXZpY2VBY2NvdW50TWV0cmljc0V2ZW50OjUyMCxkZXJwTG9nRXZlbnQ6NTIxLHBsYXlhYmxlc1BvcnRhbEV2ZW50OjUyMyxpcFZhbGlkYXRpb25TdGFydGVkOjUyNCxpcFZhbGlkYXRpb25SZWNlaXZlZDo1MjUscmVlbHNTZXF1ZW5jZU11dGF0aW9uRXZlbnQ6NTI3LHdhdGNoWm9vbVN0YXRlQ2hhbmdlOjUyOCxtZXRhZGF0YUVkaXRvckV2ZW50OjUyOSxraWRzUHJpc21hRGVlcGxpbmtzRXZlbnQ6NTMwLGNyZWF0aW9uT3JjaGVzdHJhdGlvbkV2ZW50OjUzMSwKY29vcmRpbmF0ZWRTYW1wbGluZ1RyaWdnZXJlZDo1MzIscmVjYXBTY3JlZW5zaG90RXZlbnQ6NTM0LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXF1ZXN0RXZlbnQ6NTM2LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXNwb25zZUV2ZW50OjUzNyxzZXNzaW9uUmVwbGF5RXZlbnQ6NTM4LHNlc3Npb25SZXBsYXlTdGF0dXNFdmVudDo1MzksbG9nZ2luZ1JlbGlhYmlsaXR5UHJvYmU6NTQwLGtleVZhbHVlU3RvcmVTdGF0c0V2ZW50OjU0MSxkZXZpY2VMb2NhdGlvblBlcm1pc3Npb25FdmVudDo1NDIscmVtb3RlQ29udHJvbFN0YXJ0ZWQ6NTQzLHJlbW90ZUNvbnRyb2xDb21wbGV0ZWQ6NTQ0LHJlZWxzQWRzRXZlbnRzOjU0NSx5dGxyTG9hZGVyVGVzdEhhcm5lc3NFdmVudDo1NDcsYmlvbWV0cmljQXV0aGVudGljYXRpb25FdmVudDo1NDgsbWFpbkFwcExpZmVjeWNsZUV2ZW50OjU0OSxtdXNpY0Rvd25sb2FkQmFja2dyb3VuZENvbnRpbnVlZFByb2Nlc3NpbmdUYXNrOjU1MCxtdXNpY01ldGFkYXRhTWlzbWF0Y2hFdmVudDo1NTEsCnNjcm9sbFRvQ29tcG9uZW50Q29tcGxldGVkOjU1MixlbnRpdHlTdG9yZVRlbGVtZXRyeTo1NTMsc3RyZWFtaW5nRGFya0xhdW5jaEV2ZW50OjU1NCxjaGlsZEFjY291bnRzRGlzcGxheUV2ZW50OjU1NSx0dmZhc1BsYXliYWNrQ29udGV4dDo1NTcsbWRlQzJQYUV2ZW50OjU1OX07dmFyIFZtPV8uJGwoIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtzZTp7U1dIZWFsdGhMb2c6e1BkOjF9fSxzaGFyZWQ6ITAsdXBncmFkZTooYSxiKT0+e2IoMSkmJl8ub2woXy5rbChhLCJTV0hlYWx0aExvZyIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSksInN3SGVhbHRoTmV3UmVxdWVzdCIsWyJpbnRlcmZhY2UiLCJ0aW1lc3RhbXAiXSl9LHZlcnNpb246MX0pO3ZhciBjbj17fSxibj0wO3ZhciBkbjt2YXIgaG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9bmV3IE1hcDt0aGlzLm89ITF9cmVxdWVzdENvbXBsZXRlKGEsYil7YiYmKHRoaXMubz0hMCk7YT10aGlzLnJlbW92ZVBhcmFtcyhhKTt0aGlzLmouZ2V0KGEpfHx0aGlzLmouc2V0KGEsYil9aXNFbmRwb2ludENGUihhKXthPXRoaXMucmVtb3ZlUGFyYW1zKGEpO3JldHVybihhPXRoaXMuai5nZXQoYSkpPyExOmE9PT0hMSYmdGhpcy5vPyEwOm51bGx9cmVtb3ZlUGFyYW1zKGEpe3JldHVybiBhLnNwbGl0KCI/IilbMF19fTtobi5wcm90b3R5cGUucmVtb3ZlUGFyYW1zPWhuLnByb3RvdHlwZS5yZW1vdmVQYXJhbXM7aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI9aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI7aG4ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZT1obi5wcm90b3R5cGUucmVxdWVzdENvbXBsZXRlO2huLmdldEluc3RhbmNlPWpuO3ZhciBrbj1jbGFzcyBleHRlbmRzIF8uZ2Z7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj0hMTt0aGlzLmo9bGYoKTt0aGlzLmoubGlzdGVuKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PntpZih0aGlzLnYmJl8ueCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgYT1mbigpLmdldCgiZXJyb3JzIiwhMCk7aWYoYSl7Zm9yKGxldCBiIGluIGEpaWYoYVtiXSl7bGV0IGM9bmV3IF8uWGooYiwic2VudCB2aWEgb2ZmbGluZV9lcnJvcnMiKTtjLm5hbWU9YVtiXS5uYW1lO2Muc3RhY2s9YVtiXS5zdGFjaztjLmxldmVsPWFbYl0ubGV2ZWw7Xy5VaShjKX1mbigpLnNldCgiZXJyb3JzIix7fSwyNTkyRTMsITApfX19KX1TYigpe3JldHVybiB0aGlzLmouU2IoKX1lZihhKXt0aGlzLmouaXNPbmxpbmU9YX1xdygpe3ZhciBhPXdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lO3JldHVybiBhPT09dm9pZCAwPyEwOmF9Q3YoKXt0aGlzLnY9ITB9bGlzdGVuKGEsYil7cmV0dXJuIHRoaXMuai5saXN0ZW4oYSwKYil9UWooYSl7cmV0dXJuIG1mKHRoaXMuaixhKX19O2tuLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1rbi5wcm90b3R5cGUuUWo7a24ucHJvdG90eXBlLmxpc3Rlbj1rbi5wcm90b3R5cGUubGlzdGVuO2tuLnByb3RvdHlwZS5lbmFibGVFcnJvckZsdXNoaW5nPWtuLnByb3RvdHlwZS5Ddjtrbi5wcm90b3R5cGUuZ2V0V2luZG93U3RhdHVzPWtuLnByb3RvdHlwZS5xdztrbi5wcm90b3R5cGUubmV0d29ya1N0YXR1c0hpbnQ9a24ucHJvdG90eXBlLmVmO2tuLnByb3RvdHlwZS5pc05ldHdvcmtBdmFpbGFibGU9a24ucHJvdG90eXBlLlNiO2tuLmdldEluc3RhbmNlPWxuO18uT3M9Y2xhc3MgZXh0ZW5kcyBfLmdme2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKCk7dGhpcy5qPXRoaXMuRD0wO3RoaXMudj1sbigpO3ZhciBiPV8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy52KTtiJiYoYS5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PWEucmF0ZUxpbWl0LGIoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e21uKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnttbih0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihiKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVNiKCl7dmFyIGE9Cl8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpO3JldHVybiBhP2EuYmluZCh0aGlzLnYpKCk6ITB9ZWYoYSl7dmFyIGI9Xy5zYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UubmV0d29ya1N0YXR1c0hpbnQiKS5iaW5kKHRoaXMudik7YiYmYihhKX1hc3luYyBRaihhKXt2YXIgYj1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdCIpLmJpbmQodGhpcy52KTtyZXR1cm4gXy54KCJza2lwX25ldHdvcmtfY2hlY2tfaWZfY2ZyIikmJmpuKCkuaXNFbmRwb2ludENGUigiZ2VuZXJhdGVfMjA0Iik/bmV3IFByb21pc2UoYz0+e3RoaXMuZWYod2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHwhMCk7Yyh0aGlzLlNiKCkpfSk6Yj9iKGEpOiEwfX07dmFyIFBzLG5uPWNsYXNzIGV4dGVuZHMgTnN7Y29uc3RydWN0b3IoKXtQc3x8KFBzPW5ldyBfLk9zKHtTSjohMCxKSTohMH0pKTtzdXBlcih7Y2I6e091OlRtLEZmOlNtLFdwOlBtLEF5OlFtLG5uOlJtLHNldDpPbX0sU2E6UHMsaGFuZGxlRXJyb3I6KGEsYixjKT0+e3ZhciBkPWM/LmVycm9yPy5jb2RlO2Q9PT00MDB8fGQ9PT00MTU/KGE9bmV3IF8uWGooYS5tZXNzYWdlLGIsYz8uZXJyb3I/LmNvZGUpLF8uV2koYSx2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOl8uVWkoYSl9LFRmOl8uV2ksR2Q6cW4sbm93Ol8uZWwsTHM6Z24sRGM6Xy5DaygpLEttOiJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixGbToicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9mZmxpbmUiLE9pOiEwLERpOi4xLEtqOl8uc2ooInBvdGVudGlhbF9lc2ZfZXJyb3JfbGltaXQiLDEwKSxLYTpfLngsYWg6IShfLldqKCkmJl8uc24oKSl9KTt0aGlzLkI9bmV3IF8uY3M7Xy54KCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiYKVW0oKTtYbCgiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKGEsYil7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKGEsYil9c2VuZFRoZW5Xcml0ZShhLGIsYyl7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKGEsYixjKX1zZW5kQW5kV3JpdGUoYSxiKXtifHwoYj17fSk7Yj1ybihhLGIpO18uV2ooKXx8KHRoaXMuT2M9ITEpO3N1cGVyLnNlbmRBbmRXcml0ZShhLGIpfWF3YWl0SW5pdGlhbGl6YXRpb24oKXtyZXR1cm4gdGhpcy5CLnByb21pc2V9fTtfLnVuPSExO18udG49Xy51Lnl0TmV0d29ya2xlc3NMb2dnaW5nSW5pdGlhbGl6YXRpb25PcHRpb25zfHx7aXNOd2xJbml0aWFsaXplZDpfLnVufTtfLnJhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsXy50bik7dmFyIERwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuY29uZmlnXz1udWxsO2E/dGhpcy5jb25maWdfPWE6a20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKX1pc1JlYWR5KCl7IXRoaXMuY29uZmlnXyYma20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciBRcztRcz1fLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZXx8bmV3IF8udGg7Xy5Scz1fLnUueXRQdWJzdWJQdWJzdWJTdWJzY3JpYmVkS2V5c3x8e307Xy5Tcz1fLnUueXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5c3x8e307Xy5Ucz1fLnUueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtfLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU9Xy50aC5wcm90b3R5cGUuc3Vic2NyaWJlO18udGgucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9Xy50aC5wcm90b3R5cGUuY2k7Xy50aC5wcm90b3R5cGUucHVibGlzaD1fLnRoLnByb3RvdHlwZS5wdWJsaXNoO18udGgucHJvdG90eXBlLmNsZWFyPV8udGgucHJvdG90eXBlLmNsZWFyO18ucmEoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLFFzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YlRvcGljVG9LZXlzIixfLlNzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YklzU3luY2hyb25vdXMiLF8uVHMpOwpfLnJhKCJ5dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzIixfLlJzKTt2YXIgQ249RGF0ZS5ub3coKS50b1N0cmluZygpO0RhdGUubm93KCk7Xy5Mbj1TeW1ib2woIkNhIik7dmFyIEhuPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMua2V5PWF9fTt2YXIgT249Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnY9bmV3IE1hcDt0aGlzLmo9bmV3IE1hcDt0aGlzLm89bmV3IE1hcH1yZXNvbHZlKGEpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBfLlVzJiZhIGluc3RhbmNlb2YgXy5Vcz9Lbih0aGlzLGEpOmEgaW5zdGFuY2VvZiBIbj9Kbih0aGlzLGEua2V5LFtdLCEwKTpKbih0aGlzLGEsW10pfX07Xy5Wcz1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX10b1N0cmluZygpe3JldHVybmBJbmplY3Rpb25Ub2tlbigke3RoaXMubmFtZX0pYH19O3ZhciBObjt2YXIgUG49d2luZG93O3ZhciBmbz1fLngoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKSYmUW4oKSE9PTAsVW49Xy54KCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIik7dmFyIGVvPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc2NoZWR1bGVyPV8uQ2soKTt0aGlzLm89bmV3IF8uY3M7dGhpcy5qPWE7Zm9yKGxldCBjPTA7Yzx0aGlzLmoubGVuZ3RoO2MrKyl7bGV0IGQ9dGhpcy5qW2NdO2E9KCk9PntkLnhoKCk7dGhpcy5qW2NdLk5qPSEwO3RoaXMuai5ldmVyeShlPT5lLk5qPT09ITApJiZ0aGlzLm8ucmVzb2x2ZSgpfTt2YXIgYj10aGlzLmdldFByaW9yaXR5KGQpO2I9dGhpcy5zY2hlZHVsZXIuR2EoYSxiKTt0aGlzLmpbY109ey4uLmQseGg6YSxqb2JJZDpifX19Y2FuY2VsKCl7Zm9yKGxldCBhIG9mIHRoaXMuailhLmpvYklkPT09dm9pZCAwfHxhLk5qfHx0aGlzLnNjaGVkdWxlci5BYShhLmpvYklkKSxhLk5qPSEwO3RoaXMuby5yZXNvbHZlKCl9Z2V0UHJpb3JpdHkoYSl7cmV0dXJuIGEucHJpb3JpdHk/PzB9fTtfLldzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9YTt0aGlzLnBsdWdpbnM9W107dGhpcy52PXZvaWQgMDt0aGlzLkI9e307Zm8mJlJuKHRoaXMuc3RhdGUpfWdldCBjdXJyZW50U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pbnN0YWxsKGEpe3RoaXMucGx1Z2lucy5wdXNoKGEpO3JldHVybiB0aGlzfXVuaW5zdGFsbCguLi5hKXthLmZvckVhY2goYj0+e2I9dGhpcy5wbHVnaW5zLmluZGV4T2YoYik7Yj4tMSYmdGhpcy5wbHVnaW5zLnNwbGljZShiLDEpfSl9dHJhbnNpdGlvbihhLGIpe2ZvJiZTbih0aGlzLnN0YXRlKTt2YXIgYz10aGlzLnRyYW5zaXRpb25zLmZpbmQoZD0+QXJyYXkuaXNBcnJheShkLmZyb20pP2QuZnJvbS5maW5kKGU9PmU9PT10aGlzLnN0YXRlJiZkLnRvPT09YSk6ZC5mcm9tPT09dGhpcy5zdGF0ZSYmZC50bz09PWEpO2lmKGMpe3RoaXMuaiYmKFRuKHRoaXMuaiksdGhpcy5qPXZvaWQgMCk7Vm4odGhpcyxhLGIpO3RoaXMuc3RhdGU9YTtmbyYmUm4odGhpcy5zdGF0ZSk7CmM9Yy5hY3Rpb24uYmluZCh0aGlzKTtsZXQgZD10aGlzLnBsdWdpbnMuZmlsdGVyKGU9PmVbYV0pLm1hcChlPT5lW2FdKTtjKFpuKHRoaXMsZCksYil9ZWxzZSB0aHJvdyBFcnJvcigiR2FgIit0aGlzLnN0YXRlKyJgIithKTt9fTt2YXIgaG89Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoIm5vbmUiKTt0aGlzLm89bnVsbDt0aGlzLnY9MTA7dGhpcy50cmFuc2l0aW9ucz1be2Zyb206Im5vbmUiLHRvOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86Im5vbmUiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOigpPT57fX0se2Zyb206Im5vbmUiLHRvOiJub25lIixhY3Rpb246KCk9Pnt9fV19RChhLGIpe3RoaXMubz1fLllqKCgpPT57dGhpcy5jdXJyZW50U3RhdGU9PT0iYXBwbGljYXRpb25fbmF2aWdhdGluZyImJnRoaXMudHJhbnNpdGlvbigibm9uZSIpfSw1RTMpO2EoYj8uZXZlbnQpfUsoYSxiKXt0aGlzLm8mJihfLmpmLkFhKHRoaXMubyksdGhpcy5vPW51bGwpO2EoYj8uZXZlbnQpfX0sZ287dmFyIHJvPV8uc2ooInl0Y3NpX2RlYnVnX21heF9zaXplIiwxMDApO3ZhciBYcz0wO3ZhciB5cT1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhcmd1bWVudHMpO3RoaXMuaj1hO3RoaXMudGltZXI9Yn19LHhxPW5ldyBfLnFtKCJhZnQtcmVjb3JkZWQiLHlxKTt2YXIgTnA9W3twbTphPT5gQ2Fubm90IHJlYWQgcHJvcGVydHkgJyR7YS5rZXl9J2AsSmo6e0Vycm9yOlt7cmVnZXhwOi8oUGVybWlzc2lvbiBkZW5pZWQpIHRvIGFjY2VzcyBwcm9wZXJ0eSAiKFteJ10rKSIvLGdyb3VwczpbInJlYXNvbiIsImtleSJdfV0sVHlwZUVycm9yOlt7cmVnZXhwOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovXHU2NWUwXHU2Y2Q1XHU4M2I3XHU1M2Q2XHU2NzJhXHU1YjlhXHU0ZTQ5XHU2MjE2IChudWxsfHVuZGVmaW5lZCkgXHU1ZjE1XHU3NTI4XHU3Njg0XHU1YzVlXHU2MDI3XHUyMDFjKFteXHUyMDFkXSspXHUyMDFkLyxncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7cmVnZXhwOi9cdWM4MTVcdWM3NThcdWI0MThcdWM5YzAgXHVjNTRhXHVjNzRjIFx1YjYxMFx1YjI5NCAobnVsbHx1bmRlZmluZWQpIFx1Y2MzOFx1Yzg3MFx1Yzc3OCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzQ0IFx1YWMwMFx1YzgzOFx1YzYyYyBcdWMyMTggXHVjNWM2XHVjMmI1XHViMmM4XHViMmU0Li8sCmdyb3VwczpbInZhbHVlIiwia2V5Il19LHtyZWdleHA6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHtyZWdleHA6L1VuYWJsZSB0byBnZXQgcHJvcGVydHkgJyhbXiddKyknIG9mICh1bmRlZmluZWQgb3IgbnVsbCkgcmVmZXJlbmNlLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7cmVnZXhwOi8obnVsbCkgaXMgbm90IGFuIG9iamVjdCBcKGV2YWx1YXRpbmcgJyg/OihbXi5dKylcLik/KFteJ10rKSdcKS8sZ3JvdXBzOlsidmFsdWUiLCJiYXNlIiwia2V5Il19XX19LHtwbTphPT5gQ2Fubm90IGNhbGwgJyR7YS5rZXl9J2AsSmo6e1R5cGVFcnJvcjpbe3JlZ2V4cDovKD86KFteIF0rKT9cLik/KFteIF0rKSBpcyBub3QgYSBmdW5jdGlvbi8sZ3JvdXBzOlsiYmFzZSIsImtleSJdfSx7cmVnZXhwOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLywKZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovT2JqZWN0ICguKikgaGFzIG5vIG1ldGhvZCAnKFteIF0rKScvLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3JlZ2V4cDovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovXHUzMGFhXHUzMGQ2XHUzMGI4XHUzMGE3XHUzMGFmXHUzMGM4XHUzMDZmICcoW14nXSspJyBcdTMwZDdcdTMwZWRcdTMwZDFcdTMwYzZcdTMwYTNcdTMwN2VcdTMwNWZcdTMwNmZcdTMwZTFcdTMwYmRcdTMwYzNcdTMwYzlcdTMwOTJcdTMwYjVcdTMwZGRcdTMwZmNcdTMwYzhcdTMwNTdcdTMwNjZcdTMwNDRcdTMwN2VcdTMwNWJcdTMwOTMvLGdyb3VwczpbImtleSJdfSx7cmVnZXhwOi9cdWFjMWNcdWNjYjRcdWFjMDAgJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc3NFx1YjA5OCBcdWJhNTRcdWMxMWNcdWI0ZGNcdWI5N2MgXHVjOWMwXHVjNmQwXHVkNTU4XHVjOWMwIFx1YzU0YVx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJrZXkiXX1dfX0se3BtOmE9PmAke2Eua2V5fSBpcyBub3QgZGVmaW5lZGAsSmo6e1JlZmVyZW5jZUVycm9yOlt7cmVnZXhwOi8oLiopIGlzIG5vdCBkZWZpbmVkLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgQW89e2xlOltdLFNkOlt7Y2FsbGJhY2s6dm8sd2VpZ2h0OjUwMH0se2NhbGxiYWNrOndvLHdlaWdodDo1MDB9XX07dmFyIHlvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5TZD1bXTt0aGlzLmxlPVtdfX0seG87Xy5WcD1uZXcgXy50aDt2YXIgdnA9W107Xy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZEdlbFBheWxvYWRzIixmdW5jdGlvbigpe3JldHVybiB2cH0pO3ZhciBQbz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RvcmU9e307dGhpcy5qPXt9fXN0b3JlUGF5bG9hZChhLGIpe2E9SW8oYSk7dGhpcy5zdG9yZVthXT90aGlzLnN0b3JlW2FdLnB1c2goYik6KHRoaXMuaj17fSx0aGlzLnN0b3JlW2FdPVtiXSk7Xy54KCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmKGI9bmV3IEN1c3RvbUV2ZW50KCJUUkFOU1BPUlRJTkdfTkVXX0VWRU5UIiksd2luZG93LmRpc3BhdGNoRXZlbnQoYikpO3JldHVybiBhfXNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXtpZighYS5rZXlzLmxlbmd0aClyZXR1cm5bXTt2YXIgYj1Lbyh0aGlzLGEua2V5cy5zcGxpY2UoMCwxKVswXSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl0aGlzLnN0b3JlW2JbZF1dJiZhLnNpemVMaW1pdCYmKHRoaXMuc3RvcmVbYltkXV0ubGVuZ3RoPD1hLnNpemVMaW1pdD8oYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0pLGRlbGV0ZSB0aGlzLnN0b3JlW2JbZF1dKToKYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0uc3BsaWNlKDAsYS5zaXplTGltaXQpKSk7YT8uc2l6ZUxpbWl0JiZjLmxlbmd0aDxhPy5zaXplTGltaXQmJihhLnNpemVMaW1pdC09Yy5sZW5ndGgsYy5wdXNoKC4uLnRoaXMuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKGEpKSk7cmV0dXJuIGN9ZXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXthPUtvKHRoaXMsYSk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspdGhpcy5zdG9yZVthW2NdXSYmKGIucHVzaCguLi50aGlzLnN0b3JlW2FbY11dKSxkZWxldGUgdGhpcy5zdG9yZVthW2NdXSk7cmV0dXJuIGJ9Z2V0U2VxdWVuY2VDb3VudChhKXthPUtvKHRoaXMsYSk7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliKz10aGlzLnN0b3JlW2FbY11dPy5sZW5ndGh8fDA7cmV0dXJuIGJ9fTtQby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudD1Qby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudDsKUG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM9UG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM7UG8ucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcz1Qby5wcm90b3R5cGUuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzO1BvLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ9UG8ucHJvdG90eXBlLnN0b3JlUGF5bG9hZDt2YXIgeXA9bmV3IF8uVnMoIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UiKTt2YXIgbnA9Xy5zaigiaW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dCIsMkUzKSxscD1fLnNqKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCksb3A9Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIiw1KSxObz12b2lkIDAsTW89bnVsbCxZcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj10aGlzLm89dGhpcy52PTA7dGhpcy5qPSExfX0sQXA9bmV3IFlzLHpwPW5ldyBZcyxrcD1uZXcgWXMsanA9bmV3IFlzLGNwLG1wPSEwLGdwPV8udS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O18ucmEoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZ3ApO3ZhciBYbz17fTt2YXIgQnA9Xy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsQnApO3ZhciBRcD1uZXcgU2V0LEtwPTAsWHA9MCxXcD0wLE1wPVtdLExwPVtdLFpwPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO3ZhciBacz17YV9iaWRfZjo0ODIsYV9iaWRfczo0ODEsYWE6MixhYWNpOjQzMyxhYWNyOjQzNCxhYl9yOjExLGFiX3M6MTAsYWJjOjU3OSxhYzoxOTMsYWNjOjUxMSxhY2k6NTEyLGFkXzBfZToxMyxhZF8wX3M6MTIsYWRfYmw6MTQsYWRfaToxNSxhZF9tYnM6MTYsYWRfcHI6NTYyLGFkX3ZpOjE3LGFkX3ZpcjoxOCxhZGE6MTk0LGFkYmNfZjo1NzYsYWRjOjE5NSxhZGZsX2Y6MTksYWRmbF9zOjIwLGFkbDoxOTYsYWRuczoxOTcsYWRzX2U6MjIsYWRzX3M6MjEsYWZiOjUxMyxhZmM6MTk4LGFmbDoxOTksYWZ0OjEsYWhiOjUxNCxhaToyMDAsYWlzX2E6NTAzLGFpc19yOjUwMixhaXNmOjIzLGFpc2k6MjQsYWlzcjoyNSxhaXNzOjI2LGFtbDoyMDEsYXBhX2E6MjAzLGFwYV9iOjIwMixhcGJzOjIwNCxhcHBfbDozLGFwcF9zaTo2MTIsYXBwX3NpZTo2NjEsYXBwZGVsX2k6MjcsYXBwaV9lOjYxNixhcHBpX3M6NjE1LGFwcjoyMDUsYXByZXM6NDM2LGFwc3VzOjQzNSxhcjoyMDYsYXI0MGs6MjgsCmFyYl9mOjUwNCxhcmM6MjA3LGFyZXE6MjA4LGFyZmI6MjksYXJpOjQsYXJyOjIwOSxhcnJoOjMwLGFzY2U6Nzg4LGFzY2Y6Nzg5LGFzY3M6Nzg3LGFzaXNmYjozMSxhc2lzcjozMixhc2lzcmg6MzMsYXNpc3M6MzQsYXNyOjIxMCxhc3luY19vcmNoX3RfYWN0OjcxMixhc3luY19vcmNoX3Rfbm90aWZ5OjcxMSxhdHJyOjUxNSxhdHJzOjUxNixhdHRfZToyMTEsYXR0X2Y6MjEyLGF0dF9mYzo3OTcsYXR0X2Zycjo3OTYsYXR0X2ZzOjc5MyxhdHRfZnNyOjc5NSxhdHRfcG5hOjc5NCxhdHRfczoyMTMsYXR0X3diOjIxNCxhd2ZsX2Y6NTU3LGF3Zmxfczo1NTgsYmFzZV9qc19yOjQ0MSxiY3A6MjE1LGJmOjIxNixiZ19lOjIxNyxiZ19pOjIxOCxiZ19sOjIyMCxiZ19zOjIyMSxiZ192OjIxOSxicGRfYzo0ODQsYnBkX3M6NDgzLGJwdDoyMjMsYnJfZTozNyxicl9sZDozOCxicl9scnByOjM5LGJyX2xycjo0MCxicl9sd206NTc3LGJyX3I6NDEsYnJfczo0MixicmVyOjM1LGJyZXM6MzYsYnJucjo0MywKYnJuczo0NCxicnBlOjQ1LGJycHM6NDYsYnJyX2U6NDcsYnJyX2k6NDgsYnJyX2l1czo0OSxiczoyMjIsY19jOjUwLGNfY3M6NTEsY19jc2ZzOjUyLGNfZDo1MyxjX2xhZjo1OSxjX2xhczo1OCxjX3JuZjo0MzgsY19ybnM6NDM3LGNjOjQ2NyxjY19jOjU0LGNjX2NmOjU2LGNjX2NzYWxhOjU1LGNjX2xhOjU3LGNmZzoyMjQsY2hsczoyMjUsY2hwczoyMjYsY2w6NDgwLGNtYzoyMjcsY21kX2g6NjI5LGNtaGw6MjI5LGNtaToyMjgsY21sOjIzMCxjbXA6Nzc5LGNtdjoyMzEsY3B0OjIzMixjcjozNjQsY3JfZXJyOjY2OSxjcl9yOjY3MCxjcl9zOjY2OCxjc2w6MjMzLGNzcl90OjYzMSxjdDo1LGN0X2xpOjYwLGRfbDo2MSxkX2xhZjo2MixkX2xhcjo2MyxkX2xhczo2NCxkX2xmOjY1LGRfbHM6NjYsZF9sdzo2NyxkX2x3Zjo2OCxkX2x3czo2OSxkYXNfYzozNjYsZGFzX3M6MzY1LGRjcDoyMzQsZGdfcGJfYzoyMzYsZGdfcGJfcjoyMzcsZGdfcGJfczoyMzUsZGhpYzoyMzgsZGw6MjM5LGRuc186MjQwLApkcm1fZ2tfZjozODgsZHJtX2drX3M6Mzg3LGRybV9rcl9yOjM5Mixkcm1fa3JfczozOTEsZHJtX25ldF9yOjM5MCxkcm1fbmV0X3M6Mzg5LGRybV9wYl9mOjM4Nixkcm1fcGJfczozODUsZHNfYWM6NzM2LGRzX2FzOjczNSxkc19jbGM6NzQwLGRzX2NzOjczNyxkc19kYzo3MzksZHNfZHM6NzM4LGVtcGE6NDMyLGVtcHU6NDMxLGVucF9lcnI6Njg1LGVucF9maTo2ODQsZW5wX3N0OjY4Myxlb3ByX3I6NjczLGVwX2FfcHJfcjo1MzIsZXBfYV9wcl9zOjUzMSxlcF9oYXZfZW5kOjUyNixlcF9oYXZfc3RhcnQ6NTI1LGVwX2luaXRfYXI6Njk5LGVwX2luaXRfY3VlOjYzNSxlcF9pbml0X2N1czo2MzQsZXBfaW5pdF9lcGU6NjM3LGVwX2luaXRfZXBzOjYzNixlcF9pbml0X2lqZTo2MzksZXBfaW5pdF9panM6NjM4LGVwX2luaXRfcHI6NTI3LGVwX2luaXRfcmU6NjQxLGVwX2luaXRfcnM6NjQwLGVwX2luaXRfd2VlOjY0MyxlcF9pbml0X3dlczo2NDIsZXBfbWFfcmVwcjo1NDMsZXBfbWFfcnI6NTMzLAplcF9tYV9zZXByOjU0MixlcF9tYV9zcHI6NTM0LGVwX3BfbDo1MzAsZXBfcHJfcjo1MjksZXBfcHJfczo1MjgsZXBfcl9wcmVfcjo1NDEsZXBfcl9ycjo1MzUsZXBfcl9zbWFyOjUzNixlcF9yZWNfZW5kOjUzOCxlcF9yZWNfc3RhcnQ6NTM3LGVwX3JlcHNfZW5kOjU0MCxlcF9yZXBzX3N0YXJ0OjUzOSxlcGU6NjE4LGVwczo2MTcsZXJfY2w6NjUzLGVyX25zOjY1Mixlcl9wZTo2NTAsZXJfcHM6NjQ5LGVyX3M6NjQ4LGVyX3NfbnI6NzkwLGVyX3NfbnM6Nzg0LGVyX3Q6NjUxLGZhYl9yOjI0NixmY2Jfcjo1MDYsZmlyZTo3MCxmaXJzOjcxLGZtdGg6MjQxLGZvb3RfanM6MjQyLGZwdDoyNDMsZnJfczo1NjEsZnM6MjQ0LGZzYzoyNDUsZnNzYjBfYTo3NSxmc3NiMF9mcjo3NCxmc3NiMF9ucjo3Myxmc3NiMF9uczo3MixmdF86NDM5LGZ0bDo3LGZ0cjo0NzUsZnZiX3I6MjQ3LGZ2ZjoyNDgsZnlkX2dmOjc2NyxmeWRfZ3M6NzY2LGdjYzoyNDksZ2NmbDoyNTAsZ2Nzcjo3NixnZXBfZXJyOjgwMCwKZ2VwX3JlcTo3OTgsZ2VwX3Jlczo3OTksZ2dzcjo3NyxnaXdhX2E6NjI3LGdpd2FfZDo2MjgsZ2xjOjU5MyxnbGU6MjUxLGdsczoyNTIsZ3BlOjI1MyxncmM6MjU0LGdyaXdfbnI6Nzg2LGdyaXdfbnM6Nzg1LGdzX3I6NzM0LGdzX3M6NzMzLGdzbWQ6NTg2LGd1X3I6NjIwLGd2OjQ4NSxnd19haWVyOjc3MSxnd19hcmY6NzcyLGd3X2FybmFmOjc3NSxnd19hcm5uYWY6Nzc2LGd3X2FybnM6Nzc3LGd3X2FybnN1Ojc3OCxnd19hcnM6Nzc0LGd3X2Fyc3U6NzczLGd3X21hYWY6NjMzLGd3X21hYXM6NjMyLGhiZmc6Njc3LGhnY3I6MjU1LGhyOjI1NixocmU6MzYzLGhyczozNjIsaHM6MzczLGh0bWxfZmJfcjo3NTUsaHRtbF9mZTo3NDgsaHRtbF9mczo3NDcsaHRtbF9md2U6NzUyLGh0bWxfZndzOjc1MSxodG1sX2pjZTo3NTQsaHRtbF9qY3M6NzUzLGh0bWxfbGJfcjo3NTYsaHRtbF9zZTo3NTAsaHRtbF9zczo3NDksaV9ycDo0NzcsaV9ycTo0NzYsaXBfczo2NDYsaXBjOjI1NyxpcHM6MjU4LAppc21wX2E6ODM2LGlzbXBfYzo4MzgsaXNtcF9kOjgzOSxpc21wX2k6ODM1LGlzbXBfcDo4NDAsaXNtcF9yYzo4MzcsaXRfZ3A6NzgsaXZfczo1MDUsanNwOjI1OSxqc3I6MjYwLGtZVExhdGVuY3lNREVQcm9kdWN0U3RpY2tlckVkaXRvckNhbmNlbGxlZDo4MDEsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yRmluaXNoZWQ6ODAyLGwyczoyNjEsbGNfZnJyOjY2MCxsY19zX3M6NjU5LGxjX3NfdTo2NTgsbGNwOjI2MixsZF9zOjQ0MCxsaW06MjYzLGxwY2Y6MjY0LGxwY3M6MjY1LGxwczoyNjYsbHNfYzozNjgsbHNfczozNjcsbHNzOjI2NyxsdjoyNjgsbWFfY2w6NTUxLG1hX2Zmcjo1NTIsbWFfZnVhOjU1NCxtYV9ncjo1NTMsbWFfaWw6NTczLG1haW46NzksbWFpbl9qc19yOjQ0MixtYWluX2pzX3JxOjQ0MyxtYl9zOjUwNyxtYmFwX2M6Mzg0LG1iY19hbGM6NzMyLG1iY19hc2w6NzMxLG1iY19jOjM3NSxtYmNfczozNzQsbWJnY2hpZF9ycjo3NDQsbWJnY2hpZF9yczo3NDYsCm1iZ3JfcmY6NjU3LG1iZ3JfcnI6Mzc5LG1iZ3JfcnM6Mzc4LG1ibGNfYzozNzcsbWJsY19zOjM3NixtYmxjaGlkX2M6NzQ1LG1ibGNoaWRfczo3NDMsbWJsY3JpZF9jOjc0MixtYmxjcmlkX3M6NzQxLG1ic19jOjM4MSxtYnNfcnI6MzgzLG1ic19yczozODIsbWJzX3M6MzgwLG1keF9jY3A6ODAsbWR4X2Njczo4MSxtZHhfY2NzdDo4MixtZHhfY3I6ODMsbWR4X2NzOjg0LG1keF9sczo4NSxtZHhfb2ZmOjg2LG1keF9zYzo4NyxtZV9iOjU1NSxtZV9jOjY4NyxtZV9mOjU1NixtZV9mYTo2ODgsbWVzdl9zOjUwOSxtbV9pZTo3MjAsbW1faXM6NzE5LG1yYzoyNjksbXJzOjI3MCxtc2E6MjcxLG1zdGk6ODgsbXN0cjo4OSxuX2N0OjcwMixuX3NyOjY5NyxuX3N3OjY5OCwibmNbMC05XSI6MjcyLG5jbDoyNzMsbmN0OjI3NCxuZDoyNzUsbmRuc2U6Mjc2LG5kbnNzOjI3NywibnBbMC05XSI6Mjc4LG5yOjI3OSxucmU6MjgwLG5yZXFzOjI4MSxucmVzZToyODIsbnJlc3M6MjgzLG5ycnBzOjkwLApucnM6Mjg0LG5zdGNwczoyODUsbnRjcGU6Mjg2LG50Y3BzOjI4Nyxud3A6Mjg4LG9hZDJzOjQyNSxvYWZzX3I6NDA3LG9hZnNfcnA6NDA5LG9haXNyOjQwNSxvYXIyczo0MTIsb2FycDJzOjQyNyxvY3NpX3o6OTEsb2N0azo2MjEsb2N0cDo2MjIsb2ZhcnA6NDIzLG9mZG86NDAwLG9mZG9zOjM5OCxvZnI6NDE3LG9mdnJwOjQyNCxvZ3NmX2M6Mzk1LG9nc2ZfczozOTQsb2hyX3I6NzY1LG9ocl9zOjc2NCxvbDo2LG9sX2k6OCxvbG9jX2U6ODMwLG9sb2Nfc2E6ODI5LG9sb2Nfc3M6ODI4LG9tZF9jOjQyMixvbWRfczo0MjEsb21wX2M6NDE5LG9tcF9yOjQxOCxvcGZjOjY4MCxvcHJfcjo0MTQsb3ByZF9zOjQxNSxvcHJnejJfZTo4NDIsb3ByZ3oyX2Y6ODQzLG9wcmd6Ml9zOjg0MSxvcHJnel9zOjY4OSxvcHJyOjQxNixvcjEwMGs6NDExLG9yX2ZlOjQyOSxvcl9mczo0MzAsb3JfaTozOTMsb3JfcDozOTcsb3JjaF9yX2Q6Njk0LG9yY2hfcl9zOjY5NSxvcmNoX3RfcG1kOjc3MCxvcmNoX3RfcG1zOjc2OSwKb3JjaF90X3RjZWQ6NzA4LG9yY2hfdF90Y2VzOjcwNSxvcmNoX3RfdGQ6NjkyLG9yY2hfdF90bWQ6ODA0LG9yY2hfdF90bXM6ODAzLG9yY2hfdF91ZDo2OTMsb3JjaF90X3VzOjY5NixvcmZiOjQwNCxvcmhfcjo0MDMsb3Jtazo0MjAsb3JxcGJfYTo4MzEsb3JxcGJfZTo4MzQsb3JxcGJfczo4MzIsb3JxcGJfdzo4MzMsb3Nkbzo0MDEsb3Nkb2Y6NDAyLG9zZG9zOjM5OSxvc29yOjM5NixvdmQyczo0MjYsb3Zmc19yOjQwOCxvdmZzX3JwOjQxMCxvdmlzcjo0MDYsb3ZyMnM6NDEzLG92cnAyczo0MjgscGFjOjI4OSxwYXJpOjUxNyxwYXQ6MjkwLHBiMF9zOjYxMSxwYl9ycV9hdXRoejo0NDYscGJfcnFfY3R0X2NmbTo0NDcscGJjX2U6NjYzLHBiY19zOjY2MixwYmZfYzo5MixwYnA6NDg2LHBicmVzdW1lOjI5MixwYnM6NDg3LHBidToyOTMscGM6NDg4LHBjYzo1NDYscGNlOjU0NyxwY3E6NTQ0LHBjcjo1NDUscGN1X2FwOjgwOSxwY3VfY2U6NTgxLHBjdV9jczo1ODAscGN1X3JlOjgwOCxwY3VfcnM6ODA3LApwY3Vfczo4MDUscGN1X3NlOjgwNixwZGE6Mjk0LHBkYzoyOTUscGRyOjI5NixwZToyOTcscGVtX3I6NDQ0LHBlbV9ycTo0NDUscGZqZTozMDkscGZycjozMDUscGZyczozMDYscGZzOjMwNyxwZnQ6MzA4LHBmdF9pOjkzLHBsX2M6MjkxLHBsX2k6NDg5LHBsX2ludDo0OTAscGxfcjo0OTEscGxfcmM6NzAzLHBsX3M6NDkyLHBsX3NzOjQ5MyxwbGV2OjMxMCxwbGpzX3I6NDQ4LHBsanNfcnE6NDQ5LHBsdnM6NzIzLHBvdF9hZjo5Nyxwb3RfYXM6OTYscG90X2NtZTo1NjkscG90X2NtZjoyOTkscG90X2NtczoyOTgscG90X2NzbWU6NTcwLHBvdF9jc21mOjMwMSxwb3RfY3NtczozMDAscG90X2lmOjMwNCxwb3RfaW5pdGY6OTUscG90X2lzYzozMDIscG90X2lzdDozMDMscG90X3NlOjU2NSxwb3Rfc2Y6NTY0LHBvdF9zczo1NjMscG90X3hlOjU2OCxwb3RfeGY6NTY3LHBvdF94czo1NjYscG90cGU6OTQscHB1Ojk4LHByb2Nfazo2MTMscHJvY19rX2w6NjE0LHBzOjMxMSxwc19iczo2NDcscHNfYzo0OTQsCnBzX2VzOjk5LHBzX3BhOjY4MSxwc19waWhmOjU5Nyxwc19waWhzOjU5Nixwc19yOjM2MCxwc19zOjM2MSxwc19zZ2Y6NTk1LHBzX3Nnczo1OTQscHNucjo0OTUscHNuczo0OTYscHNwZToxMDAscHNwczoxMDEscHRfbWU6ODE1LHB0X21mOjgxNCxwdF9tczo4MTMscHRfcGllOjgxMixwdF9waWY6ODExLHB0X3Bpczo4MTAscHRfcGlzaDo2MDYscHZyaTo1MTgscHdjOjMxMixxb2VzOjMxMyxyX2Nfc2xkOjQ1MCxyX2Nfc3JxOjQ1MSxyX2Nvbm5lY3RfYmFja2VuZDo0NTIscl9jb25uZWN0X2JhY2tlbmRfc3VjY2Vzczo0NTMscl9jb25uZWN0ZWQ6NDU0LHJfY29uc3RydWN0aW9uOjQ1NSxyX2Rpc2Nvbm5lY3RlZDo0NTYscl9lYmk6NjY0LHJfZW9kOjU4NSxyX2Y6NDU3LHJfb3I6NzEzLHJfcGw6MTA1LHJfcHM6MTA2LHJfcnFfcGx5OjQ1OCxyX3NfcGx5bHN0OjQ1OSxyX3NfdmlkOjQ2MCxyX3N0YXR1c191cGRhdGU6NDYxLHJfdHI6MTA3LHJfdnRjOjEwNCxyX3dpcGJjOjU4NCxyX3ducjo3OTIsCnJfd25zOjc5MSxyX3dycjoxMDMscl93cnM6MTAyLHJfd3NycDo2MDkscl93c3JyOjYwOCxyX3dzcnM6NjA3LHJjdl86MzE0LHJlbW92ZV9zcGxhc2g6NDYyLHJlcV86MzE1LHJmZzozMTYscmdyX25yZjo2MDAscmdyX3M6NTk5LHJwZTo4MTYscnBseV9ycWQ6NDYzLHJwczo4MTcscnNfczo1MDgscnNhZV9wYzozMzIscnNhZV9wZWo6MzM0LHJzYWVfcGo6MzMzLHJzYmVfcGM6MzIzLHJzYmVfcGVqOjMyNSxyc2JlX3BqOjMyNCxyc2VfcGM6MzIwLHJzZV9wZWo6MzIyLHJzZV9wajozMjEscnNlZl9wYzozMjkscnNlZl9wZWo6MzMxLHJzZWZfcGo6MzMwLHJzZXNfcGM6MzI2LHJzZXNfcGVqOjMyOCxyc2VzX3BqOjMyNyxyc2ZfcGM6MzE3LHJzZl9wZWo6MzE5LHJzZl9wajozMTgscnRpbWVfOjMzNSxydXJsX2U6MTA4LHJ1cmxfcjoxMDkscnVybF9zOjExMCxydXJscGU6MTExLHJ1cmxwczoxMTIsczN0X3I6NDcyLHNhX2Y6NjI0LHNhX2ZvOjYyNSxzYV9zOjYyMyxzYWZfZnA6NjY1LHNhZl9yOjY2NiwKc2FmX3JlOjY2NyxzYXNfaTo2MjYsc2NnYXRfZmZzOjU2MCxzY2dhdF9mczo1NTksc2RhX2Y6NjA1LHNkYV9pOjYwNCxzZGFfcmVjcDo2MDEsc2RhX3JzcHA6NjAzLHNkYV9yc3ByOjYwMixzZGxfZTo2NTUsc2RsX3M6NjU0LHNkbF90OjY1NixzZl9pOjExMyxzZ3NjX3I6NzgxLHNnc2Nfczo3ODAsc2hvd19jYWxsX3RvX2Nhc3Q6NDY0LHNocmJfYzoxNjUsc2hyb19jOjE3MCxzaHJvX3I6MTY3LHNocnBfYzoxNjksc2hycF9sZDoxNjYsc2hycF9wOjE2OCxzb19yOjExOSxzb19yZToxMTgsc29fcnE6MTIwLHNwYToxMTQsc3BkOjExNSxzcGY6MTE2LHNwbnJfaDo2NzIsc3Bucl9zOjY3MSxzcHI6Njc4LHNyX2U6MTE3LHNyX3A6MTIxLHNyX3BhOjEyMixzcl9yOjEyMyxzcl9yZToxMjQsc3JfczoxMjUsc3JfdWk6MTI2LHNydDozMzYsc3Nfcjo0Njksc3Nfczo0Njgsc3Nfc2Zfczo3MjQsc3Nfc2Zfdzo3MjUsc3NucjoxMjcsc3NuczoxMjgsc3RjcF86MzM3LHN0ZV9hbGY6NTg5LHN0ZV9jOjU5MiwKc3RlX2VsZjo1OTAsc3RlX2Y6NTkxLHN0ZV9mdGw6NTg4LHN0ZV9sOjU4NyxzdHRzX2I6NTgyLHN0dHNfZjo1ODMsc3R2c19mOjY5MSxzdHZzX3M6NjkwLHN2ZTo0NjYsc3ZzOjQ2NSxzd19mYjo1MTAsc3dfaTo3ODMsc3dfcjo0OTcsc3dfczo0OTgsc3dzbnI6ODE5LHN3c25zOjgxOCxzd3NwZTo4MjEsc3dzcHM6ODIwLHRjcF86MzM4LHRlbnhfbDo0NzEsdGVueF9yOjQ3MCx0aDBfaDo2MTAsdGgwX25jOjY3NSx0aDBfbmU6Njc2LHRoMF9ucjoxMjksdGgwX25zOjY3NCx0aF9jXzE6NzA5LHRoX2RfMTo3MTAsdGhfbF8xOjEzMCx0aF9zXzE6NTc4LHRoc2IwX2ZyOjEzNCx0aHNiMF9uZToxMzEsdGhzYjBfbnI6MTMyLHRoc2IwX25zOjEzMyx0dGM6MzM5LHR0Y3I6MzQwLHVpX2w6MTM1LHVpYmZfYzoxNDEsdWliZl9yOjE0Myx1aWJmX3M6MTQyLHVpc2ZfcjoxNDQsdWl3d2FfYmM6NjE5LHVpd3dhX2M6MTM2LHVpd3dhX2U6MTQwLHVpd3dhX3ByOjEzOSx1aXd3YV9yOjEzOCx1aXd3YV9zOjEzNywKdWxyc19jOjM3MCx1bHJzX3M6MzY5LHVua25vd246MCx1cjozNDEsdmM6NjgyLHZjYzo1MTksdmNpOjUyMCx2ZGE6MzQyLHZkZXVjOjM0Myx2ZGV1cjozNDQsdmRldXM6MzQ1LHZkbnM6MzQ2LHZmYjo1MjEsdmZwOjM0Nyx2aGI6NTIyLHZpcjozNDgsdmlyYzozNDksdmlzX2E6NTAwLHZpc19yOjQ5OSx2aXNmOjE0NSx2aXNpOjE0Nix2aXNyOjE0Nyx2aXNzOjE0OCx2b3pfY3g6MTc5LHZvel9lb3U6MTg3LHZvel9lcnI6MTg0LHZvel9lcnJfbXM6MTgwLHZvel9lcnJfbm1wOjE4MSx2b3pfZXJyX29mZjoxODMsdm96X2Vycl91YXI6MTgyLHZvel9mdHI6MTg4LHZvel9mdmM6MTg5LHZvel9scl9sc286MTg1LHZvel9scl9tZDoxODYsdm96X21mOjE3Mix2b3pfbXM6MTcxLHZvel9ycWY6MTc0LHZvel9ycXM6MTczLHZvel9zZjoxNzgsdm96X3NzOjE3Nyx2b3pfdnA6MTc1LHZvel92dDoxNzYsdnBsOjM1MCx2cjozNTEsdnIxMDBrOjE0OSx2cmJfZjo1MDEsdnJjOjM1Mix2cmVxOjM1Myx2cmZiOjE1MCwKdnJpOjksdnJyOjM1NCx2cnJfcjo0NzQsdnJyX3M6NDczLHZycmg6MTUxLHZzaXNmYjoxNTIsdnNpc3I6MTUzLHZzaXNyaDoxNTQsdnNpc3M6MTU1LHZ0YTozNTUsdnRycjo1MjMsdnRyczo1MjQsd19zdDoxNTYsd2FzbV9mYTo4MjYsd2FzbV9mZXJyOjgyNyx3YXNtX2Z3OjgyNSx3YXNtX3M6ODI0LHdjOjM3Mix3Y3I6MzU2LHdlYmZlX2U6NzI4LHdlYmZlX2dibV9yOjc1OCx3ZWJmZV9nYm1fczo3NTcsd2ViZmVfZ2xfcjo3NjIsd2ViZmVfZ2xfczo3NjEsd2ViZmVfZ3Nfcjo3NjAsd2ViZmVfZ3Nfczo3NTksd2ViZmVfZ3VzX3I6NzMwLHdlYmZlX2d1c19zOjcyOSx3ZWJmZV9ndm1fczo3NjMsd2ViZmVfczo3Mjcsd2ZmZTozNTcsd2ZmczozNTgsd2ZnOjM1OSx3bl9lOjE2Mix3bl9sOjM3MSx3bl9yOjE1OSx3bl9ycDo0Nzgsd25fczoxNjAsd25fc2w6MTYxLHdubDoxNTgsd25sX2Q6ODIzLHdubF9tcDo1NzEsd25sX3BkOjgyMix3bmxyOjU3Mix3bmxzOjE1Nyx3bnBlOjE2Myx3bnBzOjE2NCwKd3A6NDc5LHdzX2NlOjE5MCx3c19zczoxOTEsd3Nfc3NyOjE5Mix5Y2VjOjU0OSx5Y2VmOjU0OCx5Y2Z0cjo2NDUseWNpZjo1NTAseWNtc2Y6NjQ0LHljcmM6NzE4LHljcmY6NzE3LHljcnM6NzE0LHljcnNjOjcxNSx5Y3J1ZWE6NzE2fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsXy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fSk7dmFyIGJxPV8udS55dExvZ2dpbmdMYXRlbmN5VXNhZ2VTdGF0c198fHt9O18ucmEoInl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzXyIsYnEpOwp2YXIgJHA9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9MH10aWNrKGEsYixjLGQpe2NxKHRoaXMsYHRpY2tfJHthfV8ke2J9YCl8fChjPXt0aW1lc3RhbXA6YyxjdHRBdXRoSW5mbzpkfSxiPXt0aWNrTmFtZTphLGNsaWVudEFjdGlvbk5vbmNlOmJ9LF8ueCgieW91dHViZV93ZWJfY3NpX3RpY2tzX21pZ3JhdGlvbiIpJiYoYT1ac1thXSxhIT09dm9pZCAwJiYoYi50aWNrPWEsZGVsZXRlIGIudGlja05hbWUpKSxfLkVwKCJsYXRlbmN5QWN0aW9uVGlja2VkIixiLGMpKX1pbmZvKGEsYixjKXt2YXIgZD1PYmplY3Qua2V5cyhhKS5qb2luKCIiKTtjcSh0aGlzLGBpbmZvXyR7ZH1fJHtifWApfHwoYT1PYmplY3QuYXNzaWduKHt9LGEpLGEuY2xpZW50QWN0aW9uTm9uY2U9YixfLkVwKCJsYXRlbmN5QWN0aW9uSW5mbyIsYSx7Y3R0QXV0aEluZm86Y30pKX1qc3BiSW5mbygpe31zcGFuKGEsYixjLGQpe3ZhciBlPU9iamVjdC5rZXlzKGEpLmpvaW4oIiIpO2lmKGR8fCFjcSh0aGlzLGBzcGFuXyR7ZX1fJHtifWApKWEuY2xpZW50QWN0aW9uTm9uY2U9CmIsXy5FcCgibGF0ZW5jeUFjdGlvblNwYW4iLGEse2N0dEF1dGhJbmZvOmN9KX19O3ZhciAkcyxhdDskcz13aW5kb3c7YXQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnRpbWluZz17fTt0aGlzLmNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1zQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9O3RoaXMub0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fX19O18uc3E9JHMucGVyZm9ybWFuY2V8fCRzLm1velBlcmZvcm1hbmNlfHwkcy5tc1BlcmZvcm1hbmNlfHwkcy53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IGF0O3ZhciBscT1fLkZuKCk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Um9vdFZlVHlwZSIsXy5ncSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3VycmVudENzbiIsXy5pcSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3R0QXV0aEluZm8iLF8ua3EpO18ucmEoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLF8ubXEpO3ZhciB3cSxycTt3cT0hMTtycT0hMTtfLmJ0PSgwLF8uQ2EpKF8uc3EuY2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3Eud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubW96Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubXNDbGVhclJlc291cmNlVGltaW5nc3x8Xy5zcS5vQ2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uZ2QsXy5zcSk7dmFyIGR0OwpfLmN0PV8uVmkoZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7aWYoIV8ueCgid2ViX2NzaV9hY3Rpb25fc2FtcGxpbmdfZW5hYmxlZCIpfHwhXy5rbyhmKS5hY3Rpb25EaXNhYmxlZCl7dmFyIGs9aD8uc3BhblN0YXR1cyxsPWg/LnJvb3RTcGFuTm9uY2U7bGV0IG09Xy5ubyhmKTttLmdlbFNwYW5zP20uZ2VsU3BhbnNbYV09ITA6bS5nZWxTcGFucz17W2FdOiEwfTtYcysrO2E9e3NwYW5OYW1lOmEsc3Bhbkxlbmd0aFVzZWM6U3RyaW5nKE1hdGgucm91bmQoYioxRTMpKSxzcGFuTm9uY2U6WHMscm9vdFNwYW5Ob25jZTpsfHxYc307ayYmKGEuc3BhblN0YXR1cz1rKTtkJiYoYS5zcGFuSW5mbz1kKTtlJiYoYS5wYXJlbnRTcGFuTm9uY2U9ZSk7YyYmKGEuc3BhblN0YXJ0VGltZVVzZWM9U3RyaW5nKE1hdGgucm91bmQoYyoxRTMpKSk7Yz1hO18udW8oZnx8IiIpLnNwYW5bU3RyaW5nKGMuc3Bhbk5hbWUpXT1jO2Q9Xy5ubyhmKTtkLmdlbFNwYW5zfHwoZC5nZWxTcGFucz17fSk7Xy55bihkLmdlbFNwYW5zLGMpOwpkPV8ucG8oZik7Zj1fLmtvKGYpLmN0dEF1dGhJbmZvO2FxKCkuc3BhbihjLGQsZixoPy5xdSk7cmV0dXJuIGMuc3Bhbk5vbmNlfX0pO2R0PXdpbmRvdztkdC55dGNzaSYmKGR0Lnl0Y3NpLmluZm9HZWw9Xy56cSxkdC55dGNzaS50aWNrPV8uQXEpO3ZhciBldDtldD1uZXcgXy5jcztfLmZ0PWV0LnByb21pc2U7KGZ1bmN0aW9uKGEpe18uQXEoIm1tX2lzIik7dmFyIGI9bmV3ICRyO18uVWQoYik7Xy54KCJ3ZWJfZW5hYmxlX2xhenlfY3NzIikmJihuZXcgUHIpLmluaXQoKTtiLmVuKCgpPT57ZmgoKTtfLkFxKCJtbV9pZSIpO2E/LigpfSk7Yi5abihRZy5FUlJPUiwoYyxkLGUpPT57Xy5VaShFcnJvcigiSGFgIitkKyJgIitlKSl9KX0pKCgpPT57ZXQucmVzb2x2ZSgpfSk7Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZT1mdW5jdGlvbihhLGIpe2lmKCFfLlFkKXtpZighXy5UZClyZXR1cm47Xy5VZChfLlRkKCkpfV8uUWQuVGgoYSxiKX07Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZSgncm9vdC9zeTAvbjczcXdmOjEvc3kxL3N5MjozL2l1VDVPYzo0L3N5My9VVUpxVmU6MSw2L3N5NS9zeTQ6OC9NcEp3WmM6MSw2LDkvc3k2L3N5Nzo4L3N5ODpjL3N5Yy9zeWc6YixlL3N5aDpmL3N5YS9zeTFmL3N5M2M6aS9zeTNxOmkvc3k1YS9zeTU2L3N5NTgvc3k1YjpqLGssbCxtLG4vc3k1OTpqLG0sbi9zeTNkL3N5OTozLGMsZyxoL3N5ay9zeTU3L3N5YjpzL3N5ZDo4LGUvc3k1YzpqLGwsbSxuL3N5NWU6ayxxLHcvc3llL3N5Zi9zeWkvc3lqL3N5bC9zeW0vc3kxaC9zeTFlL3N5MWw6MTUvc3kzODoxNCwxNi9zeXA6MSw5LGMvc3l1OmMvc3lzOmQsMTgsMTkvc3kxaS9zeTJkL3N5Mms6MWEvc3kyajoxZC9zeTJ3OjFhL3N5MTkvc3kxcC9zeTIxL3N5Mm0vc3kybjoxai9zeTFiL3N5MXovc3kydS9zeTFrOmMsdiwxaCwxaSwxaywxbCwxbSwxbi9zeTJsL3N5MXU6MWcsMW4vc3kzMS9zeXY6Yy9zeTEwOjE4L3N5ejoxdC9zeXk6MWEvc3kzNjpjL3N5M2Y6Yy9zeTFtOmIsMWYsMXEsMXIsMXMsMXUsMXYsMXcsMXgvc3kyci9zeTNlL3N5M2E6aC9zeTEyOjFhL3N5M2c6MXUvc3kzaDoxOS9zeTFxOmcsaixxLDFvLDFwLDF5LDF6LDIwLDIxLDIyLDIzLDI0L3N5M2k6MXovc3kzbToxZS9zeTQzOjFlL3N5NDQ6MWUvc3k0ZjoxZS9zeTQ3OjFlL3N5NGc6MWUvc3k0aC9zeTRpOjE5L3N5eDoxYS9zeXQ6MWEvc3lyOjJnL3N5MTg6MWQsMXMsMmYsMmgvc3kyby9zeTMyL3N5M2I6MTksMW8sMXUvc3l3OjE4L3N5MTc6MjEsMm0vc3kzay9zeTFuOjFvLDFzLDJoLDJuLDJvL3N5M2o6MXcsMmssMmwsMnAvc3kxdi9zeTF5L3N5MnM6MTYvc3kyei9zeTFkL3N5M3Q6MTkvc3k0ajpqLGsscSwxZiwxdSwxdywxeCwyaywydi9zeTRkOmMsMWIvc3k0azoxOCwxcy9zeTQxOmMvc3k0MjoxOSwzMC9zeTJjOjExLDI1LDI2LDI3LDI4LDI5LDJhLDJiLDJjLDJkLDJlLDJpLDJqLDJxLDJyLDJzLDJ0LDJ1LDJ3LDJ4LDJ5LDJ6LDMxL3N5MWo6MTYvc3kyNDozMy9zeTRsOjE5LDMwL3N5MjM6MW8vc3kyNS9zeTJpOjE5LDM3L3N5NDYvc3k0cTozMiwzNiwzOCwzOS9zeW46MTcsMWMsMzQsMzUsM2Evc3kzMy9zeTJ2OjE4L3N5MWE6ayxtLHQsdSwyNSwyZiwybCwzYywzZC9zeTRuL3N5NG86M2Yvc3kzeC9zeTN6L3N5NHA6aixrLDFhLDFzLDF1LDF3LDF4LDNnLDNoLDNpL3N5Mjkvc3kzbDoxZS9zeTFvOjFtL3N5Mmg6M20vc3kxNDoxdCwyMi9zeTJmOmosayxxLDFzLDF3LDF4LDIzLDNvL3N5Mmcvc3kzcy9zeTQwOjFvL3N5M3Ivc3kzdS9zeTN2L3N5MWcvc3kzcC9zeTN3OmIsaiwxYSwxcywxdywxeCwyMywzaCwzdi9zeTN5OjFlL3N5M286MjUsMmksMmwsMncsM2ksM3AsM3IsM3QsM3UsM3csM3gsM3ksM3ovc3kxcjoyaywycywydCwzMSwzbiwzcSwzcyw0MC9zeTRzL3N5MnEvc3kyeS9zeTJ0OjFuLDNkL3N5NHUvc3k0dDoxZS9zeTI3OjFiLDF2LDF3LDNxLDQ2LDQ3L3N5MnA6MWUvc3kzbjoxZS9zeTQ1OjFlL3N5MjYvc3k0ODoxZS9zeTQ5OjFlL3N5NGEvc3k0Yjo0Zi9zeTRjOjNvLDRnL3N5Mjg6MjUsMjYsMjcsMmIsMmksMnAsMncsMnksNGMsNGQsNGUsNGgvc3k0ZToxZS9zeTJhOmssMjgsMnYsMzgsMzksNGEsNGIsNGksNGovc3kxdC9zeTRtOjE2L3N5MmI6MzIsMzUsMzgsMzksM28sNGwsNG0vc3kyZTozayw0MS9zeTIyL3N5MzAvc3k1MjoxOSwxcywyMy9zeTU0OjFhL3N5Mzcvc3kyMDoxaS9zeTM1OjFzLDF1LDF3LDJnL3N5MzQ6aywxbiwxeiwydCwzYyw0dCw0dSw0di9zeTE1OjF1L3N5cTp3LDEwLDNiLDNlLDNqLDNsLDQyLDQzLDQ0LDQ1LDQ4LDQ5LDRrLDRuLDRvLDRwLDRxLDRyLDRzLDR3LDR4L3N5NHcvc3lvOm8scCxyLDR5LDR6L3N5MTE6ZCwxOC9zeTEzOjF1LDIyLDUxL3N5MTY6Mm0vc3kxdy9zeTUxOjFmLDNwLDQ2LDRyLDR2L3N5Mngvc3kxeDo0eSw1NCw1NSw1Ni9zeTR2OmosayxxLDFhLDF3LDIzLDNyLDQ1LDR6L3N5Mzkvc3kxczo0cS9zeTR6OjFlL3N5NWQ6MWUvc3k1MDpqLHEsMXksMjgsMmEsMmIsMmksMmwsM28sNWEsNWIsNWMvc3k0cjoxZS9zeTR4OmssMW4sMXosNHYvc3k0eTpzLDJ1LDNjL3N5NTMvc3k1NToxOCwxcy9zeTFjOjQseCx5LDUwLDUyLDUzLDU3LDU4LDU5LDVkLDVlLDVmLDVnLDVoLDVpL3N5NWYvc3k1Zy9zeTVpL3N5NWsvc3k1bC9zeTVtL3N5NW4vc3k1bzoxOC9zeTVqL3N5NWg6NCx6LDUwLDU4LDVhLDVoLDVtLDVuLDVvLDVwLDVxLDVyLDVzL3N5NXA6NWosNXQvYmFzZTpkLHIsdSx2LHkseiwxMCwxMSwxMiwxMy9zeTVxL3N5NXIvc3k1czpjLGgvc3k1dDoybSwzbiwzbyw0eC9zeTdkL3N5NXU6MWwsMm8sNXIsNjAvc3k3cS9zeTZ0L3N5ODU6MTYvc3k4NDpqLDFyLDF3LDIzLDI4LDJpLDM1LDN0LDUzLDVpLDYzLDY0L3N5NXY6MTMsNTEsNjIsNjUvc3k2Yy9zeTZzOjQxL3N5ODY6MzUsNjQsNjgvc3k3bDpqLGsscSwxZSwxZiwxdSwxdywzbywzdSwzdi9zeTY3L3N5NXc6MzIsMzgsNDUsNXosNjYsNjcsNjksNmEsNmIvc3k1eC9zeTdlOjNkLDNtLDYwL3N5OHM6NmUvc3k5czoxZS9zeTV5OmYsaiwxaywxdywyMiwyMyw1YSw1biw2Ziw2Zy9zeTdyOjE0LDR0L3N5NmI6MnQsMzMvc3k1ejozNSwzZiwzayw0MSw0cCw2aSw2ai9zeTd6OjFlL3N5NjI6aC9zeThuOjFvLDFzL3N5NjA6MWIsMmQsMm4sNDEsNDYsNDcsNmwsNm0sNm4vc3k4bTpqLHEsMWcsMXcsMXgsMjMsNm4vc3k4bzoxNi9zeTc3L3N5Nnc6aiwxciwxdywyOCwyYSwyYywyaSwzayw1Yiw2ci9zeTdpL3N5OGwvc3k2MTp6LDEyLDJwLDJyLDM1LDNkLDQxLDR1LDU5LDVpLDV5LDV6LDYxLDZtLDZwLDZxLDZzLDZ0LDZ1L3N5NjM6MjUsMmksNGUvc3k2NDprLDI1LDI3LDJkLDJpLDJxLDRnL3N5NmQvc3k2OToxbiw0Ziw2Mi9zeTY4OjFlLDZ6L3N5N3Avc3k4YS9zeThjOjFlL3N5NjU6MWIsMjksMnAsM2csNmssNnUsNnksNzAsNzEsNzIsNzMvc3k2ei9zeTY2OjFjLDJrLDJyLDM1LDNzLDQwLDR3LDVmLDVnLDVuLDVvLDV6LDZmLDZqLDc1L3N5N286aixrLDFhLDFxLDF3LDF4LDF6LDNnL3N5Nmsvc3k2YTo1Nyw2eiw3MSw3Nyw3OC9zeThrOjFlL3N5OGY6MWUvc3k2ZToxNSwxdywyaSwzMCwzbyw0OSw0YSw0aiw0eiw3YSw3Yi9zeTZmOjFvLDFzLDF3LDI4LDJhLDJ1LDM1LDNrLDNyLDV6LDZlLDZxLDZyL3N5N2o6YywxaCwxaiwzNy9zeTdrOjFvLDM4LDM5LDZhL3N5Nmc6MWMsM2EsNDQsNGwsNW8sNXAsNjEsNjcsNzgsN2UsN2Yvc3k2aDozZSw0Miw0cSw2Myw2OC9zeTZpOmoscSwxNiwxOCwxdywzNS9zeTZyL3N5Nmo6MjUsMjcsMmksM28sN2UsN2ovc3k2bDoxNywyMywyOCwyaywydCwzMSwzayw1cS9zeThiOjJkL3N5ODA6MmQsN2ovc3k2eToxYiwyNSwyNywyaSwycCw0Yyw2MSw3Myw3bSw3bi9zeTZ4OjJiLDJlLDJ3LDRoLDVoLDcyLDdvL3N5Nm06MmEsNDEsN3Avc3k3eDoxZS9zeTd5OjJpLDdyL3N5OHI6MWIsMWcsMXUsMXcsMnAsM3MsNGMsNmwsN24sN3Mvc3k2bjoyYyw0MSw0dSw1OSw3NSw3byw3dC9zeThoOjFlL3N5Nm86MmksN2UsN3Yvc3k2cDoxaywxeiwzNSwzbyw0bSw0diw1bS9zeTZxOmssMjUsMjgsMmkvc3k2dS9zeTZ2OmosMTgsMXcvc3k3My9zeTcwOjFxLDFzLDF3LDJzLDJ0LDMxLDQ2LDQ3LDVnLDgxL3N5NzEvc3k4OToxZS9zeTcyOmosaywxeSwyaSwzMSwzZywzbyw1Niw1aSw2aSw3ciw4NC9zeTc0OjF3LDI4LDJpLDNyL3N5NzU6aixrLHEsMWEsMXcsM2csM3Qvc3k3NjoyNSwyaSw3My9zeTc4OmoscSwxNiwxbywxdSwxdywyYSwyaSwzNSwzbyw2ci9zeTc5OjJpLDdlLDdmL3N5ODI6MWUvc3k4MzoxZS9zeTdhOjFwLDF4LDIwLDJiLDJqLDJ3LDN4LDRhLDRiLDRkLDVoLDV3LDV5LDY2LDZ0LDcwLDcyLDdhLDd2LDhiLDhjL3N5N2I6NmYsN28sN3osOGMvc3k3YzpxLDFrLDF3LDF4LDJmLDMxLDZkLDZnLDZqL3N5N2Y6NDEsN2wvc3k3Zzo0MS9zeTdoOmosMXksMXovc3k3bToyNSwyNiwyaS9zeTduOmoscSwxOCwxdywxei9zeTdzL3N5N3U6MjAvc3k3dDoyNSwzbyw1aCw4bCw4bS9zeTd2OjFiLDFlLDI1LDJwLDhsL3N5N3c6MW8sNmwsN24sN3Mvc3k4MToyNSwyaSw0aCw4Yiw4Yy9zeTg3OmosMXksMXosMjAsNWgvc3k4ODo3Nyw4NS9zeThkOjExLDJyLDM0LDM1LDQxL3N5OGU6MmksMzgsN2IsN2Uvc3k4ZzoxZSwyNSwydy9zeThpOjFjLDMyLDNvLDdlL3N5OGo6MzgsNDEsN2Uvc3k4cToyNSwyYiwyaSwycCw4Yy9zeThwOjQxLDZ1LDZ6LDdwLDd0LDh5L3N5OHQ6NG8sN2Uvc3k4dToxYiwyNSwyNiw0Mi9zeTh2OjF5L3N5OHg6MWUvc3k4dzpqLHEsMXcsMmksM2csOTMvc3k4eTprLDFiLDI1LDJwLDYxLDgzL3N5OHo6aiwxdywyYSwyaSwzdCw4My9zeTkwOjF3LDJpLDNnLDgxLDkzL3N5OTE6aixxLDFiLDF5LDJlL3N5OTI6aywxYiwxeSwyMywyNiwycCw3ciw3eiw4NCw4Ni9zeTkzOjExLDJvLDJ0LDQwLDhkL3N5OTQ6aixrLHEsMWYsMXYsMXcsMXgsMjMsMnosNjEvc3k5NToyNSw0Miw4bS9zeTk2OmosayxxLDFlLDFvLDF5LDMxLDR1LDU5LDYxL3N5OTc6aixrLDF6LDNvLDR2LDVnL3N5OTg6MXcsMmEsMzUsNG0sNTQsNnIvc3k5OToxdywyNCwyYSwydywzNSwzdywzeCw0bSw1NCw2ci9zeTlhOmosaywxdSwxdywzNi9zeTliOmosayxxLDF5LDIzLDJ6LDN0LDQzLDZ5LDdtL3N5OWM6MjUsMjYsMjcsMmIsN3Qvc3k5ZDo3by9zeTllOjFvLDFzLDF3LDIzLDRzLDZiL3N5OWY6aywyNSw3dC9zeTlnOmssMjUsMzEsM2wsM3IsNHUsNTksNWQvc3k5aDoyNSwyNywyaS9zeTlpOmssMTEsMjUsMjgsMmksM3IsNGYsNXkvc3k5ajpqLGsscSwxeSwybCwyciwzMSw0dSw1OS9zeTlrOjI3LDQxL3N5OWw6MXcsMjgsMmksMzEsM3IsNHUsNTkvc3k5bTprLDI1LDJsLDMxLDR1LDU5L3N5OW46MjUvc3k5bzprLDI1LDJ0LDMxLDM1LDNpLDNvLDN6LDR1LDU5L3N5OXA6MjUsMm8sMzEsNHUsNTkvc3k5cToyNSwyNyw3dCw4Yy9zeTlyOmssMjUsMmYsMmwsM2wsNXMsNmcvc3k5dDoyaSw1Yy9zeTl1OnMsMXMsMXcsMjMsMnUsM2MsNTIsNmQvc3k5djozNSwzayw0MSw2ai9zeTl3OjQwL3N5OXg6aixxLDE4LDF3LDM1LDRtLDU0L2Jhc2Vfc3luY19tb2RfY2h1bms6NXYvcjlLTWpiOjhqL1ZjR1M4OjhrL3pDa0tCYzoyeC9pNlhvbWU6OHYvbk81ZFRkOjd4L090S1NKZTozai9udlg0VmI6M3kvRGx2RjFkOjQxLGFiL2Y5MHRDYjo3bC9WYlhyVWU6OGcsYWMsYWQvcEVTbERiOjhpL0ttQmZjYzo5NS9TVTN1aTo5aS9SYXE0Y2I6OHAvakJpc2FmOjU1L1B6VWRaYjo0OC9xVExkUTo4bi9XcWxjVmI6OG8vUUhBdGVmOjh0LGFjL1VBOEdTZTo4eCxhYy9MVmlNTTo3NixhYi9wZXZ0dmM6OWYvaXpqbVA6OWcvamd4OG1lOmExLGFjL3VobExHYjo2cy9GcUhjR2U6OWIvY3lDVmxkOjRpL29QcDVMZTo4Mi9BNG9BVmU6OTcvT3NtNDljOjg2L1BEdjZNZTo5OSxheS9vc1R0eGU6OHEvcVZEZ0JkOjhyL0hEbVUxZTo3dC9MSFA3SmQ6N28vVHUzTUI6N3AsYjMvRnNvWHpjOjdxLGFjLGI0L2lhaTJpYzo5Mi90UGdZemQ6ODcvYTY2TGZlOjk0L0lXcFVyZjo4OC9kSGNvSWY6OTYvb1hCV0hmOjk4L0lUdUNVYjo2cC9OcjBrZmU6ODUvYWNGdVZjOjhzLGJkL21tMk4wYzo5aC9oYjBXbWY6N2QvaE5lbHZkOmEzL3I1Q09IZjo3aS9aUUt4MToycS9wZTJvamI6MzIsYTcsYmovaGFvdU9lOjg5L2pKZkNvZDphMixhYi93U240YWM6NnYsYWMsYXQsYmMvaGExSWk6OHkvT003eG9iOjh6LGFjLGIyLGI0LGJvL0ZpTkdPYzo2ayxhYy9Xc2lNaWM6Nm8sYWMvVUFNNW06NzQsYnEvRDlXTWQ6NncveTlub09iOjZ4LGJqL1cwZ1NLYjo2OSxhYy9Id2xPaGQ6NjUvaGpyTm46ODAvdkRjazFkOjRuLGJrL0h4amxiYjozYixiay9uMERIZzo3eS9uQnZCeWQ6OWosYjIvZURVRG9jOjlrLGIzL1ZPVVA5ZDo4ZCxidy9iemowamQ6OWEsYWIsYzMvdVJJYUM6OW0sYjIvY2dTRW9iOjljL1hlUlhCZDo5ZC9zNjQ5ajo5cS91U3hkbmI6OXMvV2ZmNkJkOjd1LGFjLGIyLGIzL1UzbXpzZDo5dC95UDBKQmQ6OXUvUnFhSnNkOjl2L0UzSGViYzo5dy9wMXZFU2Q6YTAvQVQ4TFRlOjl5L3NET1RHZTo5bi9lY3VQQWM6NmgvTlFjMUlkOjhmL0ZRZElKZTo5ei9ibFpaWGU6OGgsYWMvZ0FPWXg6NmEvSU5jMUVmOjdnLGJrLGNtL2xQV2prYjo0byxhYy9vakdUNmQ6OHUvZDJMVHhiOjRrLGF2L0haNDFPZDo4dyxiay9lM1V0Vzo4ZSxiMy9hVTFHVGI6OTAsY28vSWJ4eE9lOjkxL3ZpVVdWOjU4L0R2WkM5OjlsL2ZBemRUOjZjLGJrLGJ2LGJ3LGNtL2ZnbEpOYjo4YSxjbS9pbFFTQWY6OW8vVWtadVdiOjlyLGFjL2w4YUtEYjo3ay9jbnE1UWI6OXgsYjIvbjlESkJmOjd3L2ZLRThxZDo3Yy9uN2VvMjo5cC9SWmVrSjo5ZS9RbWtNRTo3aCxhYy9OdWlsdWU6NzksYWEsYWosYWssYnksYnosY28sY3EvbWVIOUViOjUsNXQsYWEsYWssYnksYnosY28sY3EsY3YveUVmTkZiOjVqLGFqLGQ5L3I3OERyYjo1dSxhaixkOScsWydzeTEnLCdzeTUnLCdzeTYnLCdzeTcnLCdzeTgnLCdzeWMnLCdzeWcnLCdzeWgnLCdzeWEnLCdzeTknLCdzeWsnLCdzeWInLCdzeWQnLCdzeWUnLCdzeWYnLCdzeWknLCdzeWonLCdzeWwnLCdzeW0nLCdiYXNlJ10pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUHQsUXQsVnQ7Xy5NdD1mdW5jdGlvbihhKXt2YXIgYj1fLmpmO2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyliLkFhKGFbY10pfTtfLk50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uamYuR2EoYSw0LGIpfTtfLk90PWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe2MoYSl9KX07UHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU6YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn07UXQ9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgYS5jbGFzc05hbWU9PSJzdHJpbmciP2EuY2xhc3NOYW1lPWI6YS5zZXRBdHRyaWJ1dGUmJmEuc2V0QXR0cmlidXRlKCJjbGFzcyIsYil9OwpfLlJ0PWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/Yj1hLmNsYXNzTGlzdC5jb250YWlucyhiKTooYT1hLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpQdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxiPV8uc2IoYSxiKT49MCk7cmV0dXJuIGJ9O18uU3Q9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighXy5SdChhLGIpKXtsZXQgYz1QdChhKTtRdChhLGMrKGMubGVuZ3RoPjA/IiAiK2I6YikpfX07Xy5UdD1mdW5jdGlvbihhLGIpe2EuY2xhc3NMaXN0P2EuY2xhc3NMaXN0LnJlbW92ZShiKTpfLlJ0KGEsYikmJlF0KGEsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEuY2xhc3NMaXN0P2EuY2xhc3NMaXN0OlB0KGEpLm1hdGNoKC9cUysvZyl8fFtdLGZ1bmN0aW9uKGMpe3JldHVybiBjIT1ifSkuam9pbigiICIpKX07Cl8uVXQ9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYSE9PSJmdW5jdGlvbiIpaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLkNhKShhLmhhbmRsZUV2ZW50LGEpO2Vsc2UgdGhyb3cgRXJyb3IoIk9hIik7cmV0dXJuIE51bWJlcihiKT4yMTQ3NDgzNjQ3Py0xOl8udS5zZXRUaW1lb3V0KGEsYnx8MCl9O1Z0PWZ1bmN0aW9uKGEpe2Euaj1fLlV0KCgpPT57YS5qPW51bGw7YS5vJiYhYS5CJiYoYS5vPSExLFZ0KGEpKX0sYS5JKTt2YXIgYj1hLkQ7YS5EPW51bGw7YS5NLmFwcGx5KG51bGwsYil9O18uV3Q9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcigpO3RoaXMuTT1jIT1udWxsP2EuYmluZChjKTphO3RoaXMuST1iO3RoaXMuRD1udWxsO3RoaXMubz0hMTt0aGlzLkI9MDt0aGlzLmo9bnVsbH12KGEpe3RoaXMuRD1hcmd1bWVudHM7dGhpcy5qfHx0aGlzLkI/dGhpcy5vPSEwOlZ0KHRoaXMpfXN0b3AoKXt0aGlzLmomJihfLnUuY2xlYXJUaW1lb3V0KHRoaXMuaiksdGhpcy5qPW51bGwsdGhpcy5vPSExLHRoaXMuRD1udWxsKX1wYXVzZSgpe3RoaXMuQisrfXJlc3VtZSgpe3RoaXMuQi0tO3RoaXMuQnx8IXRoaXMub3x8dGhpcy5qfHwodGhpcy5vPSExLFZ0KHRoaXMpKX1sYSgpe3N1cGVyLmxhKCk7dGhpcy5zdG9wKCl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZQoqLwp2YXIgc3UscXUsb3UsdXUsbnUsenUsQXUsRHUsR3UsSHUsSXUsTnUsVHUsVnUsJHUsaXYsbXYscXYscnY7Xy5YdD1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbHx8dHlwZW9mIGE9PT0ic3RyaW5nIj9hOnZvaWQgMH07Xy5ZdD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPV8ueSgpLGQ9Yy5yZXNvbHZlKF8uSW4oYSkpO2Q/KGIoZCksUHJvbWlzZS5yZXNvbHZlKGQpKTpjLnJlc29sdmUobmV3IF8uVXMoYSkpLnRoZW4oZT0+e2IoZSk7cmV0dXJuIGV9KX07Xy4kdD1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O18uWnQ9YTtyZXR1cm4gYn07Xy5idT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PV8uYXV8fGE/Lm5hbWU9PT0iXHUwMjc1Tm90Rm91bmQifTtfLmN1PWZ1bmN0aW9uKGEsYil7aWYoYT8uaWEpdGhyb3cgRXJyb3IoIlNhYCIrU3RyaW5nKGEuZGVidWdOYW1lKSk7Zm9yKDthIT09dm9pZCAwOyl7bGV0IGM9YTtpZihjLlJoKXJldHVybiBjLlJoKGIse29wdGlvbmFsOiEwfSk7YT1hLnBhcmVudH1yZXR1cm4gXy5hdX07Cl8uZHU9ZnVuY3Rpb24oYSl7cmV0dXJue2Rlc2NyaXB0aW9uOmEsQ2I6e016OiJyb290Iix0b2tlbjpTeW1ib2woYSksS3A6dm9pZCAwLHZhbHVlOnZvaWQgMH19fTtfLmV1PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYSYmYj9gJHthfV9fJHtifWA6YT8/Yj8/Y307Xy5ndT1mdW5jdGlvbihhLGIpe3JldHVybnsuLi5fLmR1KGI/PyIiKSxbXy5mdV06ITAsZGVidWdOYW1lOmI/PyJbY29udGV4dF0iLGRlZmF1bHRWYWx1ZTphPy5kZWZhdWx0VmFsdWUscmVxdWlyZWQ6IWF8fCFPYmplY3QuaGFzT3duKGEsImRlZmF1bHRWYWx1ZSIpLGlkOmIsT0s6dm9pZCAwfX07Xy5odT1mdW5jdGlvbihhLGIpe2I9Xy5jdShiLGEpO2lmKF8uYnUoYikpe2lmKGEucmVxdWlyZWQpdGhyb3cgRXJyb3IoImpiYCIrYS5kZWJ1Z05hbWUpO3JldHVybiBhLmRlZmF1bHRWYWx1ZX1yZXR1cm4gYn07Xy5pdT1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QuaXMoYSxiKX07Cl8ua3U9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5qdTtfLmp1PWE7cmV0dXJuIGJ9O18ucHU9ZnVuY3Rpb24oYSl7aWYobHUpdGhyb3cgRXJyb3IoImgiKTtpZihfLmp1IT09bnVsbCl7Xy5qdS5pcChhKTt2YXIgYj1fLmp1LmtmO2lmKGI9PT12b2lkIDB8fGIuTWghPT1hKXt2YXIgYz12b2lkIDAsZD1fLmp1LmNuO2lmKGQmJihjPWIhPT12b2lkIDA/Yi5yZTpfLmp1LnByb2R1Y2VycyxjIT09dm9pZCAwJiZjLk1oPT09YSkpe18uanUua2Y9YztjLkhxPWEudmVyc2lvbjtjLm9qPV8ubXU7cmV0dXJufXZhciBlPWEuVWc7aWYoZT09PXZvaWQgMHx8ZS5EZiE9PV8uanV8fGQmJmUub2ohPT1fLm11KWQ9bnUoXy5qdSksYz17TWg6YSxEZjpfLmp1LHJlOmMsTWo6dm9pZCAwLG9qOl8ubXUsSHE6YS52ZXJzaW9uLHFlOnZvaWQgMH0sXy5qdS5rZj1jLGIhPT12b2lkIDA/Yi5yZT1jOl8uanUucHJvZHVjZXJzPWMsZCYmb3UoYSxjKX19fTsKXy5ydT1mdW5jdGlvbihhKXtpZighbnUoYSl8fGEuUGIpaWYoYS5QYnx8YS5yaiE9PV8ubXUpKGEuWG0oYSl8fHF1KGEpKSYmYS5ZbShhKSxhLlBiPSExLGEucmo9Xy5tdX07c3U9ZnVuY3Rpb24oYSl7aWYoYS5jb25zdW1lcnMhPT12b2lkIDApe3ZhciBiPWx1O2x1PSEwO3RyeXtmb3IobGV0IGM9YS5jb25zdW1lcnM7YyE9PXZvaWQgMDtjPWMucWUpe2xldCBkPWMuRGY7ZC5QYnx8KGQuUGI9ITAsc3UoZCksZC5ocD8uKGQpKX19ZmluYWxseXtsdT1ifX19O18udHU9ZnVuY3Rpb24oYSl7aWYoYSl7aWYoYS5rZj8ub2o9PT1fLm11KXtsZXQgYj1hLnByb2R1Y2Vycztmb3IoO2IhPT12b2lkIDA7KWIub2o9bnVsbCxiPWIucmV9YS5rZj12b2lkIDA7YS5jbj0hMH1yZXR1cm4gXy5rdShhKX07Cl8udnU9ZnVuY3Rpb24oYSl7YS5jbj0hMTt2YXIgYj1hLmtmLGM9YiE9PXZvaWQgMD9iLnJlOmEucHJvZHVjZXJzO2lmKGMhPT12b2lkIDApe2lmKG51KGEpKXtkbyBjPXV1KGMpO3doaWxlKGMhPT12b2lkIDApfWIhPT12b2lkIDA/Yi5yZT12b2lkIDA6YS5wcm9kdWNlcnM9dm9pZCAwfX07cXU9ZnVuY3Rpb24oYSl7Zm9yKGE9YS5wcm9kdWNlcnM7YSE9PXZvaWQgMDthPWEucmUpe2xldCBiPWEuTWgsYz1hLkhxO2lmKGMhPT1iLnZlcnNpb24pcmV0dXJuITA7Xy5ydShiKTtpZihjIT09Yi52ZXJzaW9uKXJldHVybiEwfXJldHVybiExfTtvdT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWcsZD1udShhKTtjIT09dm9pZCAwPyhiLnFlPWMucWUsYy5xZT1iKTooYi5xZT12b2lkIDAsYS5jb25zdW1lcnM9Yik7Yi5Naj1jO2EuVWc9YjtpZighZClmb3IoYT1hLnByb2R1Y2VyczthIT09dm9pZCAwO2E9YS5yZSlvdShhLk1oLGEpfTsKdXU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NaCxjPWEucmUsZD1hLnFlLGU9YS5NajthLnFlPXZvaWQgMDthLk1qPXZvaWQgMDtkIT09dm9pZCAwP2QuTWo9ZTpiLlVnPWU7aWYoZSE9PXZvaWQgMCllLnFlPWQ7ZWxzZSBpZihiLmNvbnN1bWVycz1kLCFudShiKSlmb3IoYT1iLnByb2R1Y2VyczthIT09dm9pZCAwOylhPXV1KGEpO3JldHVybiBjfTtudT1mdW5jdGlvbihhKXtyZXR1cm4gYS5ncHx8YS5jb25zdW1lcnMhPT12b2lkIDB9O18ud3U9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpO307Xy55dT1mdW5jdGlvbihhLGIpe18uanU/LkxlIT09ITF8fF8ud3UoYSk7YS5lcXVhbChhLnZhbHVlLGIpfHwoYS52YWx1ZT1iLGEudmVyc2lvbisrLF8ubXUrKyxzdShhKSx4dT8uKGEpKX07enU9ZnVuY3Rpb24oYSxiKXtiLnptPXZvaWQgMDthLlpqP2EuWmouem09YjphLlVrPWI7YS5aaj1ifTtBdT1mdW5jdGlvbihhLGIpe3p1KGEse1tTeW1ib2wuZGlzcG9zZV06Yn0pfTsKXy5CdT1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O2ImJiFiLmlhJiYoenUoYixhKSxhLnBhcmVudD1iKX07RHU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEuVWs7Yjspe2xldCBjPWIuem07Xy5DdShiKTtiPWN9YS5Vaz12b2lkIDA7YS5aaj12b2lkIDB9O18uQ3U9ZnVuY3Rpb24oYSl7YS5pYXx8KGEuaWE9ITAsYVtTeW1ib2wuZGlzcG9zZV0/LigpLGEucGFyZW50PXZvaWQgMCxEdShhKSl9O18uRnU9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy5xcikoYSkmJl8uRXUgaW4gYX07R3U9ZnVuY3Rpb24oYT1fLlp0KXtmb3IoO2E7KXtpZihfLkZ1KGEpKXJldHVybiBhO2E9YS5wYXJlbnQ/P251bGx9cmV0dXJuIG51bGx9O0h1PWZ1bmN0aW9uKGE9Xy5adCl7Zm9yKHZhciBiPVtdO2E7KV8uRnUoYSkmJmIucHVzaChhLmRlYnVnTmFtZSksYT1hLnBhcmVudD8/bnVsbDtyZXR1cm4gYn07Ckl1PWZ1bmN0aW9uKGEpe3JldHVybigwLF8ucXIpKGEpJiZhLm5hbWUhPT12b2lkIDAmJmEubGohPT12b2lkIDAmJmEucGFyZW50IT09dm9pZCAwfTtfLkx1PWZ1bmN0aW9uKCl7dmFyIGE9ey4uLkp1fTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhKdSkuZm9yRWFjaChiPT57Xy5LdVtiXSE9PXZvaWQgMCYmKGFbYl09Xy5LdVtiXSl9KTtyZXR1cm4gYX07Xy5SdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5NdTtiJiYoXy5NdT1iKTt0cnl7cmV0dXJuIGM9PW51bGw/YSgpOmEuY2FsbChjKX1jYXRjaChlKXtOdShlLF8uTXUpO2lmKGUhPT1PdSl7Xy5QdT1fLk11O2E9W107Zm9yKGI9Xy5adDtiOylhLnB1c2goYi5kZWJ1Z05hbWU/PyJbY29udGV4dF0iKSxiPWIucGFyZW50Pz9udWxsO18uUXU9YS5yZXZlcnNlKCl9T3U9ZTt0aHJvdyBlO31maW5hbGx5e18uTXU9ZH19OwpOdT1mdW5jdGlvbihhLGIpe3RyeXtsZXQgYz1fLlN1KGIpO2lmKGMmJiFhLk5kPy5jb21wb25lbnRTdGFjayYmKGEuTmQ/YS5OZC5jb21wb25lbnRTdGFja3x8KGEuTmQuY29tcG9uZW50U3RhY2s9Yyk6YS5OZD17Y29tcG9uZW50U3RhY2s6Y30sXy5LdS5Cdikpe2xldCBkPWAke2EubWVzc2FnZX1cblxuQ29tcG9uZW50IHN0YWNrOiAke2N9YDthLnN0YWNrJiYoYS5zdGFjaz1hLnN0YWNrLnJlcGxhY2UoYS5tZXNzYWdlLGQpKTthLm1lc3NhZ2U9ZH19Y2F0Y2h7fX07VHU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgNDpjYXNlIDM6cmV0dXJuInNldmVyZSI7Y2FzZSAyOnJldHVybiJ3YXJuaW5nIjtjYXNlIDE6Y2FzZSAwOnJldHVybiJpbmZvIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpfLlV1PWZ1bmN0aW9uKGEsYixjKXtpZihhLk5kKXJldHVybiBhO3RyeXtsZXQgZD0oYT09PU91P18uUHU6bnVsbCk/P18uTXU7TnUoYSxkKTthLk5kPXtjb21wb25lbnRTdGFjazpfLlN1KGQpLGZoOmIsQWw6Xy5MdSgpLHRhZ05hbWU6YyxwcjpfLlF1Py5zbGljZSgpPz9bXX07YS5yZXBvcnRTZXZlcml0eT1UdShiKX1jYXRjaHt9cmV0dXJuIGF9O1Z1PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9IiI7YjwyMCYmYTspYys9YCR7YCQkWElEOiR7YS5uYW1lfSQkYH0gPiBgLGE9YS5wYXJlbnQsYisrO3JldHVybiBjLnNsaWNlKDAsLTMpfTtfLlN1PWZ1bmN0aW9uKGEpe3JldHVybiBJdShhKXx8YT09PW51bGw/VnUoYSk6Xy5LdS5GcD8oYT1HdShhKSxIdShhKS5zbGljZSgwLDIwKS5tYXAoYj0+YCQkWElEOiR7Yn0kJGApLmpvaW4oIiA+ICIpKToiIn07Cl8uWXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5adDtpZihiKXt2YXIgYz1fLk11O0F1KGIsKCk9Pnt2YXIgZD1fLmt1KF8uV3U/PyhfLld1PU9iamVjdC5jcmVhdGUoey4uLl8uWHUsTGU6ITB9KSkpO3RyeXtfLlJ1KCgpPT52b2lkIGEoKSxjKX1jYXRjaChlKXt0aHJvdyBfLlV1KGUsNCksZTt9ZmluYWxseXtfLmt1KGQpfX0pfWVsc2UgXy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlhhIiksMik7fSk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIiRhIiksMik7fSl9OyR1PWZ1bmN0aW9uKGEpe3ZhciBiPSgpPT57Xy5wdShhKTtyZXR1cm4gYS52YWx1ZX07YltfLlp1XT1hO3JldHVybltiLGM9PntfLnl1KGEsYyl9LGM9PntfLmp1Py5MZSE9PSExfHxfLnd1KGEpO18ueXUoYSxjKGEudmFsdWUpKX1dfTsKXy5KPWZ1bmN0aW9uKGEsYixjPSIiKXt2YXIgZD1PYmplY3QuY3JlYXRlKGF2KTtkLnZhbHVlPWE7Yj8uZXF1YWxzIT09dm9pZCAwJiYoZC5lcXVhbD1iLmVxdWFscyk7ZC5kZWJ1Z05hbWU9Xy5ldShiPy5kZWJ1Z05hbWUsYywiW3NpZ25hbF0iKTtyZXR1cm4gJHUoZCl9O18uZnY9ZnVuY3Rpb24oYSl7aWYoIWEuaWEpc3dpdGNoKGEuZWZmZWN0VHlwZSl7Y2FzZSBidjpfLmN2LnNjaGVkdWxlKGEpO2JyZWFrO2Nhc2UgXy5kdjpldi5zY2hlZHVsZShhKTticmVhaztkZWZhdWx0Ol8uZWIoYS5lZmZlY3RUeXBlLHZvaWQgMCl9fTtfLmp2PWZ1bmN0aW9uKCl7aWYoXy5ndj4wKV8uS3UuUmkmJl8uY3YuZmx1c2goKTtlbHNle2ZvcihsZXQgYSBvZiBodilhLmZsdXNoKCk7aXYoKX19O2l2PWFzeW5jIGZ1bmN0aW9uKCl7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7Zm9yKGxldCBhIG9mIGt2KWEuZmx1c2goKX07Cm12PWZ1bmN0aW9uKGEpe3ZhciBiPWEuaXNGbHVzaGluZzthLmlzRmx1c2hpbmc9ITA7dHJ5e2xldCBjPTA7Zm9yKDtjPGEuWmI7KXtsZXQgZD1hLkRkW2NdO2EuRGRbY109dm9pZCAwO2MrKztpZighZHx8IWQuUGIpY29udGludWU7bGV0IGU9W2RdLGY9ZDtmb3IoO2YucGFyZW50IT09dm9pZCAwOylmPWYucGFyZW50LCgwLF8ubHYpKGYpJiZmLlBiJiZlLnB1c2goZik7Zm9yKDtlLmxlbmd0aD4wOyllLnBvcCgpLnJ1bigpfWEuWmI9MH1maW5hbGx5e2EuaXNGbHVzaGluZz1ifX07Xy5vdj1mdW5jdGlvbihhLGI9Xy5adCl7aWYoYiYmIWIuaWEmJihiPV8uaHUobnYsYiksYj8ucmVwb3J0RXJyb3IpKXtiLnJlcG9ydEVycm9yKGEpO3JldHVybn10aHJvdyBhO307Cl8ucHY9ZnVuY3Rpb24oYSxiLGMpe2E9T2JqZWN0LmNyZWF0ZShhKTtiJiYoYS5mbj1iKTtjJiYoYS5kZWJ1Z05hbWU9Yyk7Xy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlRhIiksMik7fSk6Xy5adD09PW51bGw/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoImNiIiksMik7fSk6Xy5CdShhKTthLmNvbXBvbmVudFN0YWNrPV8uTXU7cmV0dXJuIGF9O3F2PWZ1bmN0aW9uKGEpe2lmKCFhLmlhKXtpZihsdSl0aHJvdyBfLlV1KEVycm9yKCJ4YiIpLDQpO3ZhciBiPV8uJHQoYSk7dHJ5e18uUnUoKCk9PnthLlBiPSExO2lmKCEoYS52ZXJzaW9uPjApfHxxdShhKSl7YS52ZXJzaW9uKys7dmFyIGM9Xy50dShhKTt0cnl7YS5WaygpLGEuZm4oKX1maW5hbGx5e18ua3UoYyksYSYmXy52dShhKX19fSxhLmNvbXBvbmVudFN0YWNrLGEpfWNhdGNoKGMpe18uVXUoYyw0KSxfLm92KGMpfWZpbmFsbHl7Xy4kdChiKX19fTsKcnY9ZnVuY3Rpb24oYSl7dmFyIGI9RXJyb3IoIlphYCIrYS5kZWJ1Z05hbWUpO18uVXUoYiw0KTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgYjt9KX07Xy50dj1mdW5jdGlvbihhLGIpe2E9Xy5wdihzdixhLGIpO18uZnYoYSl9O18udXY9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz17cGFyZW50OnZvaWQgMCxpYTohMSxVazp2b2lkIDAsWmo6dm9pZCAwLHptOnZvaWQgMH07YiYmXy5CdShjKTtiPV8uJHQoYyk7dHJ5e2EoYyl9ZmluYWxseXtfLiR0KGIpfXJldHVybigpPT52b2lkIF8uQ3UoYyl9O18udnY9ZnVuY3Rpb24oKXt9O18ud3Y9ZnVuY3Rpb24oKXt9O18ueHY9ZnVuY3Rpb24oKXt9O18uQnY9ZnVuY3Rpb24oYSl7aWYoXy5qdT09PV8ueXZ8fF8uanU9PT1fLnp2KXRocm93IF8uVXUoRXJyb3IoIllhIiksNCk7cmV0dXJuIHR5cGVvZiBhPT09ImZ1bmN0aW9uIj9hKCk6YT8uW0F2XT9hLmdldCgpOmF9O18uQ3Y9ZnVuY3Rpb24oKXt9O18uRHY9e307Cl8uVXM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qdj1hfX07Xy5Fdj1fLnUuSlNPTi5wYXJzZTtuZXcgY2xhc3MgZXh0ZW5kcyBfLmFle2luaXQoKXt9fTtfLkVhKCk7Xy5adD12b2lkIDA7Xy5hdT1TeW1ib2woImRiIik7dmFyIEZ2LGJ2O0Z2PVN5bWJvbCgiZWIiKTtidj1TeW1ib2woImZiIik7Xy5kdj1TeW1ib2woImdiIik7Xy5sdj1fLkNjKGE9PigwLF8ucXIpKGEpJiZGdiBpbiBhKTtfLmZ1PVN5bWJvbCgiaGIiKTt2YXIgbHU7Xy5qdT1udWxsO2x1PSExO18ubXU9MTtfLlp1PVN5bWJvbCgia2IiKTtfLlh1PXt2ZXJzaW9uOjAscmo6MCxQYjohMSxwcm9kdWNlcnM6dm9pZCAwLGtmOnZvaWQgMCxjb25zdW1lcnM6dm9pZCAwLFVnOnZvaWQgMCxjbjohMSxMZTohMSxncDohMSxraW5kOiJ1bmtub3duIixYbTooKT0+ITEsWW06KCk9Pnt9LGhwOigpPT57fSxpcDooKT0+e319O18uR3Y9U3ltYm9sKCJsYiIpO18uSHY9U3ltYm9sKCJtYiIpO18uSXY9U3ltYm9sKCJuYiIpO3ZhciBKdj17Li4uXy5YdSxncDohMCxMZTohMCxQYjohMCxraW5kOiJlZmZlY3QifTt2YXIgeHU9bnVsbCxhdj17Li4uXy5YdSxlcXVhbDpfLml1LHZhbHVlOnZvaWQgMCxraW5kOiJzaWduYWwifTtfLkt2PVN5bWJvbCgib2IiKTtfLkx2PVN5bWJvbCgicGIiKTtfLk12PVN5bWJvbCgicWIiKTtfLkV1PVN5bWJvbCgicmIiKTt2YXIgSnU9e3l2OiEwLEJ2OiExLEZwOl8uWXEsR3A6Xy5ZcSxHdjohMSxyaTohMSxISTohMCxSaTohMSxKcTohMX07Xy5LdT17YXR0cmlidXRlczp7fSxoYW5kbGVFcnJvcihhKXt0aHJvdyBhO30sLi4uSnV9O3ZhciBPdTtfLk11PW51bGw7Xy5QdT1udWxsO18uTnY9bmV3IFNldDtfLk92PW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe319O3ZhciBQdixTdixUdixWdixXdixYdixldixodixrdixadjtfLmd2PTA7UHY9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmlzRmx1c2hpbmc9ITE7dGhpcy5EZD1bXTt0aGlzLlpiPTB9c2NoZWR1bGUoYSl7dGhpcy5EZFt0aGlzLlpiKytdPWF9Y2xlYXIoKXtmb3IobGV0IGE9MDthPHRoaXMuWmI7YSsrKXRoaXMuRGRbYV09dm9pZCAwO3RoaXMuWmI9MH19O18uUXY9U3ltYm9sKCJ3YiIpO1N2PWNsYXNzIGV4dGVuZHMgUHZ7Zmx1c2goKXtpZih0aGlzLlpiIT09MCl7Zm9yKHZhciBhPTA7YTx0aGlzLlpiOyl7bGV0IGI9dGhpcy5EZFthXTt0aGlzLkRkW2FdPXZvaWQgMDthKys7aWYoYil0cnl7Yi5ydW4oKX1jYXRjaChjKXtSdihjKX19dGhpcy5aYj0wfX19O1R2PWNsYXNzIGV4dGVuZHMgU3Z7fTtfLlV2PW5ldyBUdjtWdj1jbGFzcyBleHRlbmRzIFB2e2ZsdXNoKCl7dGhpcy5aYj09PTB8fHRoaXMuaXNGbHVzaGluZ3x8bXYodGhpcyl9fTsKV3Y9Y2xhc3MgZXh0ZW5kcyBWdntzY2hlZHVsZShhKXthLnZlcnNpb249PT0wP2EucnVuKCk6c3VwZXIuc2NoZWR1bGUoYSl9Zmx1c2goKXtpZih0aGlzLlpiIT09MClpZihfLkt1LlJpKXtsZXQgYT17RGQ6dGhpcy5EZCxaYjp0aGlzLlpiLGlzRmx1c2hpbmc6ITF9O3RoaXMuRGQ9W107dGhpcy5aYj0wO212KGEpfWVsc2UgdGhpcy5pc0ZsdXNoaW5nfHxtdih0aGlzKX19O18uY3Y9bmV3IFd2O1h2PWNsYXNzIGV4dGVuZHMgVnZ7fTtldj1uZXcgWHY7aHY9W18uY3ZdO2t2PVtfLlV2LGV2XTtfLll2PVsuLi5odiwuLi5rdl07WnY9W107eHU9KCk9PntfLmp2KCk7Zm9yKGxldCBhIG9mIFp2KWEoKX07dmFyIFJ2PV8uJGI7dmFyIG52PV8uZ3Uoe2RlZmF1bHRWYWx1ZTpudWxsfSwiaW0xTWtmIik7Xy4kdj17Li4uSnYsW0Z2XTohMCxlZmZlY3RUeXBlOmJ2LEVKOiEwLGhwOl8uZnYscnVuKCl7cXYodGhpcyl9LFZrKCl7RHUodGhpcyl9LGNvbXBvbmVudFN0YWNrOnZvaWQgMCxkZWJ1Z05hbWU6IltlZmZlY3RdIixkZXN0cm95KCl7aWYobnUodGhpcykpe2xldCBhPXRoaXMucHJvZHVjZXJzO2Zvcig7YSE9PXZvaWQgMDspYT11dShhKX10aGlzLlVnPXRoaXMuY29uc3VtZXJzPXRoaXMua2Y9dGhpcy5wcm9kdWNlcnM9dm9pZCAwO18uQ3UodGhpcyk7dGhpcy5QYj0hMX0sW1N5bWJvbC5kaXNwb3NlXSgpe3RoaXMuZGVzdHJveSgpfX07dmFyIGF3O2F3PXtpcDpydn07Xy55dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7Xy56dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7dmFyIHN2PXsuLi5fLiR2LGVmZmVjdFR5cGU6YnZ9O18uYnc9e1BIKCl7fSxlSygpe30sWUgoKXt9LFNvKCl7fSxRSCgpe30sSmkoKXt9LEdmKCl7fSxIZigpe30sS2koKXt9fTt2YXIgQXY9U3ltYm9sKCJLYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZXc7Xy5jdz1mdW5jdGlvbihhLC4uLmIpe2EuYXJnc3x8KGEuYXJncz1bXSk7QXJyYXkuaXNBcnJheShhLmFyZ3MpJiZhLmFyZ3MucHVzaCguLi5iKX07Xy5kdz1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gYSl7bGV0IGM9Xy5id1tiXSxkPWFbYl07Xy5id1tiXT0oLi4uZSk9PntjKC4uLmUpO2QoLi4uZSl9fX07Xy5mdz1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsXy5FcSkmJmFbXy5FcV18fChhW18uRXFdPSsrZXcpfTtfLmd3PWZ1bmN0aW9uKGEsYixjKXthJiYhYyYmKGE9YS5wYXJlbnROb2RlKTtmb3IoYz0wO2E7KXtpZihiKGEpKXJldHVybiBhO2E9YS5wYXJlbnROb2RlO2MrK31yZXR1cm4gbnVsbH07Xy5odz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSk/Xy5UYShhKTpudWxsOm51bGx9OwpfLml3PWZ1bmN0aW9uKGEpe2lmKF8uWnQpdGhyb3cgXy5VdShFcnJvcigiYWIiKSw0KTtyZXR1cm4gXy51dihiPT57Xy5ZdSgoKT0+e30pO2EoYil9LCExKX07ZXc9MDt2YXIganc7anc9e25hbWU6IjxSb290PiIscHJvcHM6e30sS3o6e30sZWZmZWN0czpbXSxkSTpbXSxnSTooKT0+e30sW1N5bWJvbCgiSmIiKV06ITB9OyhuZXcgV2Vha01hcCkuc2V0KGp3Lkt6LHtuYW1lOmp3Lm5hbWUscHJvcHM6ancucHJvcHN9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHN3LHl3LHR3LHJ3O18ua3c9ZnVuY3Rpb24oYSxiLGMpe2lmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBhO2lmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBkPWFbXy5BY118MDtjPWR8YyYzMnxjJjI7YyE9PWQmJihhW18uQWNdPWMpO3JldHVybiBuZXcgYihhKX19O18ubHc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5EYSxjPWJbXy5BY118MDtyZXR1cm4gXy5CYyhhLGMpP18uJGMoYSxiLGMpP18uYmQoYSxiLCEwKTpuZXcgYS5jb25zdHJ1Y3RvcihfLlpjKGIsYywhMSkpOmF9O18ubXc9ZnVuY3Rpb24oYSl7aWYoYS5qIT09Xy56YylyZXR1cm4hMTt2YXIgYj1hLkRhO2I9Xy5aYyhiLGJbXy5BY118MCk7YltfLkFjXXw9MjA0ODthLkRhPWI7YS5qPXZvaWQgMDthLm89dm9pZCAwO3JldHVybiEwfTtfLm53PWZ1bmN0aW9uKGEpe2lmKCFfLm13KGEpJiZfLkJjKGEsYS5EYVtfLkFjXXwwKSl0aHJvdyBFcnJvcigpO307Cl8ub3c9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uQWNdfDApO2ImMzImJiEoYiY0MDk2KSYmKGFbXy5BY109Ynw0MDk2KX07Xy5wdz1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWMrKGU/MDotMSksaD1hLmxlbmd0aC0xO2lmKGg+PTErKGU/MDotMSkmJmY+PWgpe2xldCBrPWFbaF07aWYoayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4ga1tjXT1kLGJ9aWYoZjw9aClyZXR1cm4gYVtmXT1kLGI7ZCE9PXZvaWQgMCYmKGg9KGI/PyhiPWFbXy5BY118MCkpPj4xNCYxMDIzfHw1MzY4NzA5MTIsYz49aD9kIT1udWxsJiYoYVtoKyhlPzA6LTEpXT17W2NdOmR9KTphW2ZdPWQpO3JldHVybiBifTtfLnF3PWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7dmFyIGU9YS5EYTtfLnB3KGUsZVtfLkFjXXwwLGIsYyxkKTtyZXR1cm4gYX07c3c9ZnVuY3Rpb24oYSl7cmV0dXJuIHJ3W2FdfHwiIn07Cl8udXc9ZnVuY3Rpb24oYSl7YT10dy50ZXN0KGEpP2EucmVwbGFjZSh0dyxzdyk6YTthPWF0b2IoYSk7dmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWJbY109YS5jaGFyQ29kZUF0KGMpO3JldHVybiBifTtfLnd3PWZ1bmN0aW9uKGEpe2lmKF8udnchPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dmFyIGI9YS5qO2I9PW51bGx8fGIhPW51bGwmJmIgaW5zdGFuY2VvZiBVaW50OEFycmF5fHwodHlwZW9mIGI9PT0ic3RyaW5nIj9iPV8udXcoYik6KF8ueGEoYiksYj1udWxsKSk7cmV0dXJuIGI9PW51bGw/YjphLmo9Yn07Xy54dz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJib29sZWFuIil0aHJvdyBFcnJvcigicmAiK18ueGEoYSkrImAiK2EpO3JldHVybiBhfTsKeXc9ZnVuY3Rpb24oKXt2YXIgYT1fLkRuKCk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspYi5wdXNoKCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fIi5jaGFyQXQoYVtjXSY2MykpO3JldHVybiBiLmpvaW4oIiIpfTt0dz0vWy1fLl0vZztydz17Ii0iOiIrIixfOiIvIiwiLiI6Ij0ifTtfLnZ3PXt9O18uenc9bmV3IF8uSSgid2ViQ29tbWFuZE1ldGFkYXRhIik7Xy5Bdz1uZXcgXy5JKCJ3YXRjaEVuZHBvaW50Iik7Xy5Cdz1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1hfX07Xy5Ddz1uZXcgXy5xbSgic2NyZWVuLWNyZWF0ZWQiLF8uQncpO18uRHc9eXc7Xy5Fdz1uZXcgTWFwO18uRnc9bmV3IE1hcDtfLkd3PW5ldyBNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBRdyxSdyxhYWEsYmFhLFh3LFN3LGF4LEx3LGNhYSxZdyxadztfLkh3PWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhLGIsdm9pZCAwKX07Xy5Jdz1mdW5jdGlvbihhKXthPUVycm9yKGEpO18uQmIoYSwid2FybmluZyIpO3JldHVybiBhfTtfLkp3PWZ1bmN0aW9uKGEpe2E9PW51bGwmJihhPXZvaWQgMCk7cmV0dXJuIGF9O18uS3c9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1fLkp3KGMpO18ucXcoYSxiLGMsZCk7YyYmIV8uQmMoYykmJl8ub3coYS5EYSk7cmV0dXJuIGF9O18uTXc9ZnVuY3Rpb24oKXtyZXR1cm4gTHd8fChMdz1uZXcgXy5SYyhudWxsLF8udncpKX07Cl8uTnc9ZnVuY3Rpb24oYSxiKXtpZihhIT1udWxsKWlmKHR5cGVvZiBhPT09InN0cmluZyIpYT1hP25ldyBfLlJjKGEsXy52dyk6Xy5NdygpO2Vsc2UgaWYoYS5jb25zdHJ1Y3RvciE9PV8uUmMpaWYoYSE9bnVsbCYmYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpYT1hLmxlbmd0aD9uZXcgXy5SYyhuZXcgVWludDhBcnJheShhKSxfLnZ3KTpfLk13KCk7ZWxzZXtpZighYil0aHJvdyBFcnJvcigpO2E9dm9pZCAwfXJldHVybiBhfTtfLk93PWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciIpdGhyb3cgXy5JdygiaW50MzIiKTtpZighKDAsXy53cikoYSkpdGhyb3cgXy5JdygiaW50MzIiKTtyZXR1cm4gYXwwfTtfLlB3PWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6Xy5PdyhhKX07ClF3PWZ1bmN0aW9uKGEpe3ZhciBiPV8ucm0oKTtpZighYilyZXR1cm4gMDt2YXIgYz1iLnN1YnNjcmliZShfLkN3LnRvU3RyaW5nKCksKGQsZSk9Pnt2YXIgZj1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIpO2YmJmY9PWN8fChmPSgpPT57aWYoXy5Lc1tjXSl0cnl7aWYoZSYmXy5DdyBpbnN0YW5jZW9mIF8ucW0mJl8uQ3chPWQpdHJ5e3t2YXIgaD1fLkN3Lmosaz1lO2lmKCFrLmFyZ3N8fCFrLnZlcnNpb24pdGhyb3cgRXJyb3IoInBhIik7bGV0IGw7dHJ5e2lmKCFoLkFlKXtsZXQgbT1uZXcgaDtoLkFlPW0udmVyc2lvbn1sPWguQWV9Y2F0Y2gobSl7fWlmKCFsfHxrLnZlcnNpb24hPWwpdGhyb3cgRXJyb3IoInFhIik7dHJ5e2U9UmVmbGVjdC5jb25zdHJ1Y3QoaCxfLnliKGsuYXJncykpfWNhdGNoKG0pe3Rocm93IG0ubWVzc2FnZT0ieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6ICIrbS5tZXNzYWdlLG07fX19Y2F0Y2gobCl7dGhyb3cgbC5tZXNzYWdlPSJ5dC5wdWJzdWIyLnB1YnN1YjIgY3Jvc3MtYmluYXJ5IGNvbnZlcnNpb24gZXJyb3IgZm9yICIrCl8uQ3cudG9TdHJpbmcoKSsiOiAiK2wubWVzc2FnZSxsO31hLmNhbGwod2luZG93LGUpfWNhdGNoKGwpe18uVWkobCl9fSxfLk1zW18uQ3cudG9TdHJpbmcoKV0/Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/Xy5qZi5wYihmKTpfLm1qKGYsMCk6ZigpKX0pO18uS3NbY109ITA7Xy5Mc1tfLkN3LnRvU3RyaW5nKCldfHwoXy5Mc1tfLkN3LnRvU3RyaW5nKCldPVtdKTtfLkxzW18uQ3cudG9TdHJpbmcoKV0ucHVzaChjKTtyZXR1cm4gY307Unc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5ybSgpO2ImJih0eXBlb2YgYT09PSJudW1iZXIiJiYoYT1bYV0pLF8udGIoYSxjPT57Yi51bnN1YnNjcmliZUJ5S2V5KGMpO2RlbGV0ZSBfLktzW2NdfSkpfTthYWE9ZnVuY3Rpb24oKXt2YXIgYT1TdyxiPVF3KGZ1bmN0aW9uKGMpe2EuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyk7UncoYil9KTtyZXR1cm4gYn07Xy5Vdz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uVHcoe3RyYWNraW5nUGFyYW1zOmF9KX07Cl8uVnc9ZnVuY3Rpb24oYT0wKXtyZXR1cm4oYT1fLmdxKGEpKT9uZXcgXy5Udyh7dmVUeXBlOmEseW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTtiYWE9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhfLncoImNsaWVudC1zY3JlZW4tbm9uY2Utc3RvcmUiLHt9KSkuZmlsdGVyKGE9PmEhPT12b2lkIDApfTtfLld3PWZ1bmN0aW9uKGEsYil7Xy54KCJsb2dfc2VxdWVuY2VfaW5mb19vbl9nZWxfd2ViIikmJihhLnNlcXVlbmNlR3JvdXA9Yik7cmV0dXJuIGF9O1h3PWZ1bmN0aW9uKGEsYil7cmV0dXJuYCR7YS5nZXRBc0pzb24oKS52ZVR5cGV9JHthLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke2J9YH07U3c9ZnVuY3Rpb24oYSl7aWYoWXcpe2ZvcihsZXQgYiBvZiBZdyliLnBheWxvYWQmJihiLnBheWxvYWQuY3NuPWEuY3NuLF8uRXAoYi5wYXlsb2FkTmFtZSxiLnBheWxvYWQsYi5vcHRpb25zKSk7WXcubGVuZ3RoPTB9Wnc9MH07Cl8uJHc9ZnVuY3Rpb24oYSxiLGMpe1l3LnB1c2goe3BheWxvYWROYW1lOmEscGF5bG9hZDpjLEpKOnZvaWQgMCxvcHRpb25zOmJ9KTtad3x8KFp3PWFhYSgpKX07Xy5ieD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7YXgoYSxiLGMsW2RdLGUsZil9OwpheD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7T2JqZWN0LmFzc2lnbihmLF8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMH0sYikpO2ZvcihsZXQgayBvZiBkKXt2YXIgaD1rLmdldEFzSnNvbigpOyhfLnBkKGgpfHwhaC50cmFja2luZ1BhcmFtcyYmIWgudmVUeXBlKSYmXy5JcChFcnJvcigiTGIiKSk7aWYoXy54KCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXtsZXQgbD1YdyhrLGIpO2lmKGgudmVUeXBlJiYhXy5Gdy5oYXMobCkmJiFfLkd3LmhhcyhsKSYmIWUpe2lmKCFfLngoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxfLkV3LnNpemU8MUUzKXtfLkV3LnNldChsLFthLGIsYyxrXSk7cmV0dXJufV8ueCgiaWxfYXR0YWNoX2NhY2hlX2xpbWl0IikmJl8uRXcuc2l6ZT4xRTMmJl8uSXAobmV3IF8uWGooIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPVh3KGMsYik7Xy5Fdy5oYXMoaCk/Xy5jeChjLGIpOl8uR3cuc2V0KGgsITApfX1kPQpkLmZpbHRlcihrPT57ay5jc24hPT1iPyhrLmNzbj1iLGs9ITApOms9ITE7cmV0dXJuIGt9KTtjPXtjc246YixwYXJlbnRWZTpjLmdldEFzSnNvbigpLGNoaWxkVmVzOl8uSHcoZCxrPT5rLmdldEFzSnNvbigpKX07Yj09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGYsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsYSxmKTpfLkVwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsZil9O18uY3g9ZnVuY3Rpb24oYSxiKXthPVh3KGEsYik7Xy5Fdy5oYXMoYSkmJihiPV8uRXcuZ2V0KGEpfHxbXSxfLmJ4KGJbMF0sYlsxXSxiWzJdLGJbM10sITApLF8uRXcuZGVsZXRlKGEpKX07Xy5keD1mdW5jdGlvbihhLGIpe2lmKF8ueCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7dmFyIGM9WHcoYSxiKTtfLkZ3LnNldChjLCEwKTtfLmN4KGEsYil9fTsKXy5leD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtfLmR4KGMsYik7ZD1kfHwiSU5URVJBQ1RJT05fTE9HR0lOR19HRVNUVVJFX1RZUEVfR0VORVJJQ19DTElDSyI7Zj1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6aH0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxnZXN0dXJlVHlwZTpkfTtlJiYoYy5jbGllbnREYXRhPWUpO2I9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudEdlc3R1cmVkIixmLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGEsZik6Xy5FcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGYpfTtfLmZ4PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtfLmV4KGEsYixjLHZvaWQgMCxkLGUsZil9O18uaHg9ZnVuY3Rpb24oKXtneC5pbnN0YW5jZXx8KGd4Lmluc3RhbmNlPW5ldyBneCk7cmV0dXJuIGd4Lmluc3RhbmNlfTsKXy5qeD1mdW5jdGlvbihhLGIsYyxkPTAsZSl7YS5vLmhhcyhlKXx8YS5vLnNldChlLG5ldyBTZXQpO3ZhciBmPWN8fF8uVncoZCk7Zj1gJHtiLnRvU3RyaW5nKCl9fCR7Zj9mLnRvU3RyaW5nKCk6IiJ9YDthLm8uZ2V0KGUpLmhhcyhmKXx8KF8uaXgoYSxiLGMsZCksYS5vLmdldChlKS5hZGQoZikpfTtfLml4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9PntpZihhLmouaGFzKGQpKXJldHVybiBhLlkucHVzaChbYixjXSksITA7dmFyIGU9Xy5pcShkKSxmPWN8fF8uVncoZCk7aWYoZSYmZil7aWYoXy54KCJjb21iaW5lX3ZlX2dyYWZ0cyIpKXtsZXQgaD1hLnYuZ2V0KGYudG9TdHJpbmcoKSk7aD9oLnB1c2goYik6KGEuSS5zZXQoZi50b1N0cmluZygpLGYpLGEudi5zZXQoZi50b1N0cmluZygpLFtiXSkpO2EuWnx8KGEuWj1fLllqKCgpPT57Xy5reChhLGUpfSwxMjAwKSl9ZWxzZSBfLmJ4KGEuY2xpZW50LGUsZixiKTtyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpfLmx4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9Pnt2YXIgZT1fLlV3KGIpLGY9Xy5pcShkKTtmJiYhYS5qLmhhcyhkKT9fLmp4KGEsZSxjLGQsZik6Xy5peChhLGUsYyxkKTtyZXR1cm4gZX0pKCl9O18ua3g9ZnVuY3Rpb24oYSxiKXtpZihiPT09dm9pZCAwKXtsZXQgYz1iYWEoKTtmb3IobGV0IGQ9MDtkPGMubGVuZ3RoO2QrKyljW2RdIT09dm9pZCAwJiZfLmt4KGEsY1tkXSl9ZWxzZSBhLnYuZm9yRWFjaCgoYyxkKT0+eyhkPWEuSS5nZXQoZCkpJiZheChhLmNsaWVudCxiLGQsYyl9KSxhLnYuY2xlYXIoKSxhLkkuY2xlYXIoKSxhLlo9dm9pZCAwfTsKXy5teD1mdW5jdGlvbihhLGIsYyxkPTApe3ZhciBlPV8uaXEoZCk7Yj1ifHxfLlZ3KGQpO2UmJmImJihhPWEuY2xpZW50LGQ9Xy5Xdyh7Y3R0QXV0aEluZm86Xy5rcShlKXx8dm9pZCAwfSxlKSxjPXtjc246ZSx2ZTpiLmdldEFzSnNvbigpLGNsaWVudERhdGE6Y30sZT09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixkLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIsYyxhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLGMsZCkpfTsKXy5SYz1jbGFzc3tvKCl7dmFyIGE9dGhpcy5qO2lmKGE9PW51bGwpYT0iIjtlbHNlIGlmKHR5cGVvZiBhIT09InN0cmluZyIpe2xldCBiPSIiLGM9MCxkPWEubGVuZ3RoLTEwMjQwO2Zvcig7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTthPXRoaXMuaj1idG9hKGIpfXJldHVybiBhfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5qPT1udWxsfXNpemVCeXRlcygpe3ZhciBhPV8ud3codGhpcyk7cmV0dXJuIGE/YS5sZW5ndGg6MH1jb25zdHJ1Y3RvcihhLGIpe2lmKGIhPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dGhpcy5qPWE7aWYoYSE9bnVsbCYmYS5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJuIik7fX07CmNhYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9c2V0VHJhY2tpbmdQYXJhbXMoYSl7cmV0dXJuIF8ucXcodGhpcywxLF8uTncoYSwhMSkpfX07Cl8uVHc9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Z2V0QXNKc29uKCl7dmFyIGE9e307dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09dm9pZCAwP2EudHJhY2tpbmdQYXJhbXM9dGhpcy5qLnRyYWNraW5nUGFyYW1zOihhLnZlVHlwZT10aGlzLmoudmVUeXBlLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJihhLnZlQ291bnRlcj10aGlzLmoudmVDb3VudGVyKSx0aGlzLmouZWxlbWVudEluZGV4IT09dm9pZCAwJiYoYS5lbGVtZW50SW5kZXg9dGhpcy5qLmVsZW1lbnRJbmRleCkpO3RoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCYmKGEuZGF0YUVsZW1lbnQ9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNvbigpKTt0aGlzLmoueW91dHViZURhdGEhPT12b2lkIDAmJihhLnlvdXR1YmVEYXRhPXRoaXMuai55b3V0dWJlRGF0YSk7dGhpcy5qLmlzQ291bnRlcmZhY3R1YWwmJihhLmlzQ291bnRlcmZhY3R1YWw9ITApO3JldHVybiBhfWdldEFzSnNwYigpe3ZhciBhPW5ldyBjYWE7dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09CnZvaWQgMD9hLnNldFRyYWNraW5nUGFyYW1zKHRoaXMuai50cmFja2luZ1BhcmFtcyk6KHRoaXMuai52ZVR5cGUhPT12b2lkIDAmJl8ucXcoYSwyLF8uUHcodGhpcy5qLnZlVHlwZSkpLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJl8ucXcoYSw2LF8uUHcodGhpcy5qLnZlQ291bnRlcikpLHRoaXMuai5lbGVtZW50SW5kZXghPT12b2lkIDAmJl8ucXcoYSwzLF8uUHcodGhpcy5qLmVsZW1lbnRJbmRleCkpLHRoaXMuai5pc0NvdW50ZXJmYWN0dWFsJiZfLnF3KGEsNSxfLnh3KCEwKSkpO2lmKHRoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIGI9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNwYigpO18uS3coYSw3LGIpfXRoaXMuai55b3V0dWJlRGF0YSE9PXZvaWQgMCYmXy5LdyhhLDgsdGhpcy5qLmpzcGJZb3V0dWJlRGF0YSk7cmV0dXJuIGF9dG9TdHJpbmcoKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5nZXRBc0pzb24oKSl9aXNDbGllbnRWZSgpe3JldHVybiF0aGlzLmoudHJhY2tpbmdQYXJhbXMmJgohIXRoaXMuai52ZVR5cGV9Z2V0TG9nZ2luZ0RpcmVjdGl2ZXMoKXtyZXR1cm4gdGhpcy5qLmxvZ2dpbmdEaXJlY3RpdmVzfX07WXc9W107Wnc9MDtfLm54PW5ldyBfLkkoImludGVyYWN0aW9uTG9nZ2luZ0NvbW1hbmRNZXRhZGF0YSIpO18uZGFhPW5ldyBfLkkoIndhdGNoUGxheWxpc3RFbmRwb2ludCIpO18uZWFhPW5ldyBfLkkoInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTtfLm94PVN5bWJvbCgiTWIiKTtfLnB4PW5ldyBXZWFrTWFwO3ZhciBneD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuWT1bXTt0aGlzLk09W107dGhpcy5LPW5ldyBNYXA7dGhpcy5nYT1uZXcgTWFwO3RoaXMuRD1bXTt0aGlzLlU9W107dGhpcy52PW5ldyBNYXA7dGhpcy5JPW5ldyBNYXA7dGhpcy5vPW5ldyBNYXA7dGhpcy5qPW5ldyBTZXQ7dGhpcy5oYT1uZXcgTWFwfUNmKGEsYixjPTApe2lmKCFhKXJldHVybiExO2M9Xy5pcShjKTtpZighYylyZXR1cm4hMTtfLmZ4KHRoaXMuY2xpZW50LGMsXy5VdyhhKSxiKTtyZXR1cm4hMH1jbGlja0NvbW1hbmQoYSxiLGM9MCl7cmV0dXJuIHRoaXMuQ2YoYS5jbGlja1RyYWNraW5nUGFyYW1zLGIsYyl9c3RhdGVDaGFuZ2VkKGEsYixjPTApe3RoaXMudmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChfLlV3KGEpLGIsYyl9dmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChhLGIsYz0wKXtjPT09MCYmdGhpcy5qLmhhcyhjKT90aGlzLk0ucHVzaChbYSxiXSk6Xy5teCh0aGlzLGEsYixjKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeXgsengsZ2FhLEh4LEl4LGZhYSxBeCxDeDtfLnF4PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5HYShiLDMsYyl9O18ucng9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDIsYil9O18uc3g9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hfDA6dm9pZCAwfTtfLnR4PWZ1bmN0aW9uKGEsYixjPTApe3JldHVybiBfLnN4KF8uZWQoYSxiKSk/P2N9O18udXg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBoPWZhYSsrO3JldHVybiBuZXcgXy5Udyh7dmVUeXBlOmEsdmVDb3VudGVyOmgsZWxlbWVudEluZGV4OmMsZGF0YUVsZW1lbnQ6Yix5b3V0dWJlRGF0YTpkLGpzcGJZb3V0dWJlRGF0YTplLGxvZ2dpbmdEaXJlY3RpdmVzOmZ9KX07Cl8udng9ZnVuY3Rpb24oYSxiLGMsZD0hMSxlLGYpe3ZhciBoPWQ/MTY6ODtkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmQsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6Zn0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6aH07ZSYmKGMuY2xpZW50RGF0YT1lKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGQsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixjLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYyxkKX07Cl8ud3g9ZnVuY3Rpb24oYSxiLGMsZCxlKXtfLmR4KGMsYik7ZT1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6ZX0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6MX07ZCYmKGMuY2xpZW50RGF0YT1kKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRTaG93biIsZSxjKTphP18uQ3AoInZpc3VhbEVsZW1lbnRTaG93biIsYyxhLGUpOl8uRXAoInZpc3VhbEVsZW1lbnRTaG93biIsYyxlKX07Xy54eD1mdW5jdGlvbihhKXtpZihhPT09d2luZG93KXJldHVybiBudWxsO3ZhciBiPWEucGFyZW50RWxlbWVudDtyZXR1cm4gYj9iOnR5cGVvZiBTaGFkb3dSb290IT09InVuZGVmaW5lZCImJmEuZ2V0Um9vdE5vZGUhPW51bGwmJihhPWEuZ2V0Um9vdE5vZGUoKSxhIGluc3RhbmNlb2YgU2hhZG93Um9vdCk/YS5ob3N0OndpbmRvd307Cnl4PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLmlxKGMpO3JldHVybiBhLmNzbj09PW51bGx8fGQ9PT1hLmNzbnx8Yz9kOihhPW5ldyBfLlhqKCJWaXNpYmlsaXR5TG9nZ2VyIGNhbGxlZCBiZWZvcmUgbmV3U2NyZWVuIix7Y2FsbGVyOmIudGFnTmFtZSxwcmV2aW91c19jc246YS5jc24sY3VycmVudF9jc246ZH0pLF8uSXAoYSksbnVsbCl9O3p4PWZ1bmN0aW9uKGEsYil7YT1hLmdldERhdGEoYik7cmV0dXJuIE1hdGguZmxvb3IoTnVtYmVyKGEmJmEubG9nZ2luZ0RpcmVjdGl2ZXMmJmEubG9nZ2luZ0RpcmVjdGl2ZXMudmlzaWJpbGl0eSYmYS5sb2dnaW5nRGlyZWN0aXZlcy52aXNpYmlsaXR5LnR5cGVzfHwiIikpfHwxfTtfLkJ4PWZ1bmN0aW9uKCl7QXguaW5zdGFuY2V8fChBeC5pbnN0YW5jZT1uZXcgQXgpO3JldHVybiBBeC5pbnN0YW5jZX07Xy5EeD1mdW5jdGlvbigpe0N4Lmluc3RhbmNlfHwoQ3guaW5zdGFuY2U9bmV3IEN4KX07Cl8uRXg9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8uVmkoKCk9PntpZighYi52ZVR5cGUpcmV0dXJuIF8uSHAobmV3IF8uWGooIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihiLnZpc2liaWxpdHlUeXBlcyl7dmFyIGU9Yi52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChmLGgpPT5mfGgpO2U9e3Zpc2liaWxpdHk6e3R5cGVzOlN0cmluZyhlKX19fWU9Xy51eChiLnZlVHlwZSxiLnZpc3VhbEVsZW1lbnQsYi5lbGVtZW50SW5kZXgsYi5jbGllbnRZb3VUdWJlRGF0YSx2b2lkIDAsZSk7cmV0dXJuIF8uaXgoYSxlLGMsZCk/ZTpudWxsfSkoKX07Xy5GeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9OwpfLkd4PWZ1bmN0aW9uKGEsYil7YT1hLmpmPz9hO2ZvcihsZXQgYyBvZiBhLnZpc2liaWxpdHlNb25pdG9yS2V5c3x8W10pYi5yZihjKTthLnZpc2liaWxpdHlNb25pdG9yS2V5cz12b2lkIDB9O18uSng9ZnVuY3Rpb24oYSxiKXtpZihfLmlxKCkpe2lmKF8ueCgia2V2bGFyX3ZpbWlvX3VzZV9zaGFyZWRfbW9uaXRvciIpKUh4KGEsYi5kYXRhKTtlbHNlIGlmKCFIeChhLGIuZGF0YSkpcmV0dXJuO3ZhciBjPWIuZGF0YSxkPUl4KGMpO2lmKF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSlfLkd4KGEsYi5vYnNlcnZlcik7ZWxzZXt2YXIgZT1hLmpmPz9hO2UudHJhY2tlZFBhcmFtcyYmZS50cmFja2VkUGFyYW1zIT09ZCYmXy5HeChhLGIub2JzZXJ2ZXIpfWU9YS5qZj8/YTshY3x8ZS5kYXRhJiZlLmRhdGE9PT1jfHwoZS5kYXRhPWMpO2dhYShhLGIpO2UudHJhY2tlZFBhcmFtcz1kfX07CmdhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIub2JzZXJ2ZXI7aWYoIWMmJl8ueCgid2ViX3NraXBfbWlzc2luZ192aW1pb19vYnNlcnZlciIpKV8uSXAobmV3IF8uWGooIlZpc2liaWxpdHlPYnNlcnZlciBpcyBub3QgZGVmaW5lZC4iLGEudGFnTmFtZSxhLnRyYWNrZWRQYXJhbXMsYi5kYXRhPy50cmFja2luZ1BhcmFtcyxiLmRhdGE/LmxvZ2dpbmdEaXJlY3RpdmVzKSk7ZWxzZXt2YXIgZD1iLmxheWVyLGU9Yi5OYnx8KCgpPT57fSksZj1iLkxqLGg9YS5qZj8/YSxrPVtdO2IuZWImJmsucHVzaChjLm9ic2VydmUoYSwoKT0+e2IueEEmJmIueEEoKXx8KF8uRHgoKSxfLlZpKF8uQngoKS5ZKS5iaW5kKF8uQngoKSkoaCx2b2lkIDAsZCw3KSk7ZSghMCl9LGIuZWIpKTtiLk5jJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9PntfLkR4KCk7Xy5WaShfLkJ4KCkuSSkuYmluZChfLkJ4KCkpKGgsdm9pZCAwLGQsNyk7ZSghMSl9LGIuTmMpKTtiLkxoJiZmJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9Pgp7ZigpfSxiLkxoKSk7aC52aXNpYmlsaXR5TW9uaXRvcktleXM9a319OwpIeD1mdW5jdGlvbihhLGIpe2E9YS5qZj8/YTtpZihhLnZpc3VhbEVsZW1lbnQmJiFiKXJldHVybiEwO2lmKCFiKXJldHVybiExO3ZhciBjPSExO18ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmKGM9ISFiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSk7dmFyIGQ9SXgoYik7aWYoIWQmJiFjKXJldHVybiExO18ueCgibXdlYl9jb21wb25lbnRfdmlzaWJpbGl0eV9sb2dnaW5nIikmJihhLnZlQ29udGFpbmVyfHwoYS52ZUNvbnRhaW5lcj17fSksYS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtcz1kKTtpZihhLnRyYWNrZWRQYXJhbXMmJmEudHJhY2tlZFBhcmFtcz09PWR8fF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmYS52aXN1YWxFbGVtZW50Py5pc0NsaWVudFZlKCkmJihjPWEudmlzdWFsRWxlbWVudD8uZ2V0QXNKc3BiKCksXy50eChjLDIpPT09Yi5sb2dnaW5nRGlyZWN0aXZlcz8uY2xpZW50VmVTcGVjPy51aVR5cGUmJgpfLnR4KGMsMywtMSk9PT1iLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LmVsZW1lbnRJbmRleCkpcmV0dXJuITE7Xy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWNfbG9nZ2luZyIpJiYhYS52aXN1YWxFbGVtZW50JiZiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSYmKGM9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMudWlUeXBlLGQ9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuZWxlbWVudEluZGV4LGI9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuY2xpZW50WW91dHViZURhdGEsYS52aXN1YWxFbGVtZW50PV8uRXgoXy5oeCgpLHt2ZVR5cGU6YyxlbGVtZW50SW5kZXg6ZCxjbGllbnRZb3VUdWJlRGF0YTpifSkpO3JldHVybiEwfTsKSXg9ZnVuY3Rpb24oYSl7aWYoYT8ucmVuZGVyZXJDb250ZXh0KXtsZXQgYj1fLkIoYS5yZW5kZXJlckNvbnRleHQsXy5LeCk7aWYoYj8ubG9nZ2luZ0RpcmVjdGl2ZXMpcmV0dXJuIGIubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXN9cmV0dXJuIGE/LmxvZ2dpbmdEaXJlY3RpdmVzP2EubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXM6YT8udHJhY2tpbmdQYXJhbXN9O2ZhYT0xOwpBeD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1uZXcgU2V0O3RoaXMuQj1uZXcgU2V0O3RoaXMubz1uZXcgTWFwO3RoaXMuY2xpZW50PXZvaWQgMDt0aGlzLmNzbj1udWxsfUsoKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Xy5pcSgpfWNsZWFyKCl7dGhpcy5ELmNsZWFyKCk7dGhpcy5CLmNsZWFyKCk7dGhpcy5vLmNsZWFyKCk7dGhpcy5jc249bnVsbH1ZKGEsYixjLGQpe3ZhciBlPXRoaXMuaihhKSxmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuRC5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkQuYWRkKGYpO3RoaXMuby5zZXQoZiwhMCk7YS5pbXByZXNzaW9uTG9nJiYhYiYmYS5pbXByZXNzaW9uTG9nKCk7aWYoZXx8YS52aXN1YWxFbGVtZW50KWlmKGM9eXgodGhpcyxhLGMpKXt2YXIgaz0hIXRoaXMuZ2V0RGF0YShhKT8ubG9nZ2luZ0RpcmVjdGl2ZXM7aWYoengodGhpcyxhKXx8aylmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Cl8uVXcoZSksYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhfHwoYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhPXt9KSxlPWEuaW50ZXJhY3Rpb25Mb2dnaW5nQ2xpZW50RGF0YSxrfHxiP3p4KHRoaXMsYSkmND9ofHwoYT10aGlzLmNsaWVudCxfLmR4KGYsYyksZD1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGMpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxjKSxiPXtjc246Yyx2ZTpmLmdldEFzSnNvbigpLGV2ZW50VHlwZTo0fSxlJiYoYi5jbGllbnREYXRhPWUpLGM9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudFNob3duIixkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFNob3duIixiLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudFNob3duIixiLGQpKTp6eCh0aGlzLGEpJjEmJiFiJiZfLnd4KHRoaXMuY2xpZW50LGMsZixlLGQpOl8ud3godGhpcy5jbGllbnQsYyxmLGUsZCl9fUkoYSxiLGMsZCl7dmFyIGU9dGhpcy5qKGEpLApmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuQi5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkIuYWRkKGYpO3RoaXMuby5zZXQoZiwhMSk7aWYoaD09PSExKXJldHVybiEwO2lmKCFlJiYhYS52aXN1YWxFbGVtZW50KXJldHVybiExO2M9eXgodGhpcyxhLGMpO2lmKCFjfHwhengodGhpcyxhKSYmdGhpcy5nZXREYXRhKGEpPy5sb2dnaW5nRGlyZWN0aXZlcylyZXR1cm4hMTtlPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Xy5VdyhlKTt6eCh0aGlzLGEpJjg/Xy52eCh0aGlzLmNsaWVudCxjLGUsdm9pZCAwLHZvaWQgMCxkKTp6eCh0aGlzLGEpJjImJiFiJiYoYT10aGlzLmNsaWVudCxkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpkfSxjKSxiPXtjc246Yyx2ZTplLmdldEFzSnNvbigpLGV2ZW50VHlwZToyfSxjPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLApkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYixhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGIsZCkpO3JldHVybiEwfWooYSl7dmFyIGI9dGhpcy5nZXREYXRhKGEpO3JldHVybiBfLngoImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCIpJiZiPy5jb250ZXh0Py5sb2dnaW5nQ29udGV4dD8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5jb250ZXh0LmxvZ2dpbmdDb250ZXh0LmxvZ2dpbmdEaXJlY3RpdmVzLnRyYWNraW5nUGFyYW1zfHwiIjpiPy5yZW5kZXJlckNvbnRleHQ/LmxvZ2dpbmdDb250ZXh0Py5sb2dnaW5nRGlyZWN0aXZlcz9iLnJlbmRlcmVyQ29udGV4dC5sb2dnaW5nQ29udGV4dC5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6YS52ZUNvbnRhaW5lcj8udHJhY2tpbmdQYXJhbXM/YS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtczoKYj8udHJhY2tpbmdQYXJhbXN8fCIifXYoYSl7aWYoXy54KCJ3aXpfbmV4dF9jbGllbnRfdmVfcGFyZW50X2ZpeCIpKXt2YXIgYj10aGlzLmooYSk7cmV0dXJuIGEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Yj9fLlV3KGIpOihhPV8ueHgoYSkpP3RoaXMudihhKTpudWxsfWI9dGhpcy5qKGEpO3JldHVybiBhLnZpc3VhbEVsZW1lbnQ/YS52aXN1YWxFbGVtZW50OmI/Xy5VdyhiKTphLnBhcmVudEVsZW1lbnQ/dGhpcy52KGEucGFyZW50RWxlbWVudCk6bnVsbH1nZXREYXRhKGEpe3ZhciBiPWEuZGF0YXx8YS5wcm9wcz8uZGF0YTtpZighYnx8YS5pc1dlYkNvbXBvbmVudFdyYXBwZXIpYj1fLnB4LmdldChhKT8uW18ub3hdO3JldHVybiBifX07Q3g9Y2xhc3N7Y2xlYXIoKXtfLlZpKF8uQngoKS5jbGVhcikuYmluZChfLkJ4KCkpKCl9fTtfLkt4PW5ldyBfLkkoImxvZ2dpbmdDb250ZXh0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTHg9bmV3IF8uVnMoIlZJU0lCSUxJVFlfT0JTRVJWRVIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIE94LFB4LFF4LFN4LFR4LFZ4LGhhYSxpYWEsamFhLCR4LGF5LGN5LGJ5LGthYSxkeSxsYWEsZXksZ3ksaHksaXksb3kscHkscXkscnksdHksdnksb2FhLHBhYSxreTtfLk14PWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9ITE7ZD1fLmRkKGEsZCxlLGg9Pnt2YXIgaz1fLmt3KGgsYyxiKTtmPWshPT1oJiZrIT1udWxsO3JldHVybiBrfSk7aWYoZCE9bnVsbClyZXR1cm4gZiYmIV8uQmMoZCkmJl8ub3coYSxiKSxkfTtfLk54PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuRGEsZj1lW18uQWNdfDA7Yj1fLk14KGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy5BY118MDtpZighXy5CYyhhLGYpKXtsZXQgaD1fLmx3KGIpO2ghPT1iJiYoXy5tdyhhKSYmKGU9YS5EYSxmPWVbXy5BY118MCksYj1oLGY9Xy5wdyhlLGYsYyxiLGQpLF8ub3coZSxmKSl9cmV0dXJuIGJ9OwpPeD1mdW5jdGlvbihhKXthLlp8fChhLlo9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9O1B4PWZ1bmN0aW9uKGEsYil7aWYoYS5yYSl7YS5EJiYoY2xlYXJUaW1lb3V0KGEuRCksYS5EPW51bGwpO2xldCBjPWEucmE7YS5yYT1udWxsO2J8fGEuZGlzcGF0Y2hFdmVudCgicmVhZHkiKTt0cnl7Yy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbH1jYXRjaChkKXt9fX07UXg9ZnVuY3Rpb24oYSxiKXthLmo9ITE7YS5yYSYmKGEudj0hMCxhLnJhLmFib3J0KCksYS52PSExKTthLkI9YjtPeChhKTtQeChhKX07Xy5SeD1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKGEucmE/YS5yYS5yZWFkeVN0YXRlOjApPjI/YS5yYS5zdGF0dXM6LTF9Y2F0Y2goYil7cmV0dXJuLTF9fTsKU3g9ZnVuY3Rpb24oYSl7aWYoYS5qJiZ0eXBlb2YgXy5DcSE9InVuZGVmaW5lZCIpaWYoYS5JJiYoYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk9PTQpc2V0VGltZW91dChhLmdyLmJpbmQoYSksMCk7ZWxzZSBpZihhLmRpc3BhdGNoRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSxhLmlzQ29tcGxldGUoKSl7YS5qPSExO3RyeXtpZihhLmlzU3VjY2VzcygpKWEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle3RyeXt2YXIgYj0oYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk+Mj9hLnJhLnN0YXR1c1RleHQ6IiJ9Y2F0Y2goYyl7Yj0iIn1hLkI9YisiIFsiK18uUngoYSkrIl0iO094KGEpfX1maW5hbGx5e1B4KGEpfX19OwpUeD1mdW5jdGlvbigpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLmo9ITE7dGhpcy5yYT1udWxsO3RoaXMuQj10aGlzLmhhPSIiO3RoaXMudj10aGlzLmdhPXRoaXMuST10aGlzLlo9ITE7dGhpcy5VPTA7dGhpcy5EPW51bGw7dGhpcy55YT0iIjt0aGlzLm9hPSExfTtfLlV4PWZ1bmN0aW9uKGEpe18uRHgoKTtyZXR1cm4gXy5WaShfLkJ4KCkudikuYmluZChfLkJ4KCkpKGEpfTtWeD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWMiKSYmYi5jbGllbnRWZVNwZWM/KGI9Xy51eChiLmNsaWVudFZlU3BlYy51aVR5cGUsdm9pZCAwLGIuY2xpZW50VmVTcGVjLmVsZW1lbnRJbmRleCxiLmNsaWVudFZlU3BlYy5jbGllbnRZb3V0dWJlRGF0YSx2b2lkIDAsYiksXy5peChhLGIsYyxkKT9iOm51bGwpOmIudHJhY2tpbmdQYXJhbXM/Xy5seChhLGIudHJhY2tpbmdQYXJhbXMsYyxkKTpudWxsfTsKXy5XeD1mdW5jdGlvbihhLGIsYyxkLGUpe18ubncoYSk7dmFyIGY9YS5EYTtfLnB3KGYsZltfLkFjXXwwLGIsKGQ9PT0iMCI/TnVtYmVyKGMpPT09MDpjPT09ZCk/dm9pZCAwOmMsZSk7cmV0dXJuIGF9O18uWHg9ZnVuY3Rpb24oYSxiKXtpZihiPT1udWxsfHxiPT0iIilyZXR1cm4gbmV3IGE7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJ6Iik7YltfLkFjXXw9MzI7cmV0dXJuIG5ldyBhKGIpfTtfLll4PWZ1bmN0aW9uKGEsLi4uYil7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLlRhKGFbMF0pO3ZhciBjPWFbMF07Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspYys9ZW5jb2RlVVJJQ29tcG9uZW50KGJbZF0pK2FbZCsxXTtyZXR1cm4gXy5UYShjKX07Xy5aeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9OwpoYWE9ZnVuY3Rpb24oYSl7aWYoYS5NYyYmdHlwZW9mIGEuTWM9PSJmdW5jdGlvbiIpcmV0dXJuIGEuTWMoKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIFNldClyZXR1cm4gQXJyYXkuZnJvbShhLnZhbHVlcygpKTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiBhLnNwbGl0KCIiKTtpZihfLnlhKGEpKXtsZXQgYj1bXSxjPWEubGVuZ3RoO2ZvcihsZXQgZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifXJldHVybiBfLlp4KGEpfTsKaWFhPWZ1bmN0aW9uKGEpe2lmKGEucmQmJnR5cGVvZiBhLnJkPT0iZnVuY3Rpb24iKXJldHVybiBhLnJkKCk7aWYoIWEuTWN8fHR5cGVvZiBhLk1jIT0iZnVuY3Rpb24iKXtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgU2V0KSl7aWYoXy55YShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIil7bGV0IGI9W107YT1hLmxlbmd0aDtmb3IobGV0IGM9MDtjPGE7YysrKWIucHVzaChjKTtyZXR1cm4gYn1yZXR1cm4gXy5GeChhKX19fTsKamFhPWZ1bmN0aW9uKGEsYixjKXtpZihhLmZvckVhY2gmJnR5cGVvZiBhLmZvckVhY2g9PSJmdW5jdGlvbiIpYS5mb3JFYWNoKGIsYyk7ZWxzZSBpZihfLnlhKGEpfHx0eXBlb2YgYT09PSJzdHJpbmciKUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYSxiLGMpO2Vsc2V7bGV0IGQ9aWFhKGEpLGU9aGFhKGEpLGY9ZS5sZW5ndGg7Zm9yKGxldCBoPTA7aDxmO2grKyliLmNhbGwoYyxlW2hdLGQmJmRbaF0sYSl9fTskeD1mdW5jdGlvbihhLGIpe3RoaXMubz10aGlzLmo9bnVsbDt0aGlzLnY9YXx8bnVsbDt0aGlzLkI9ISFifTtheT1mdW5jdGlvbihhKXthLmp8fChhLmo9bmV3IE1hcCxhLm89MCxhLnYmJl8uUmIoYS52LGZ1bmN0aW9uKGIsYyl7YS5hZGQoXy5IYihiKSxjKX0pKX07Y3k9ZnVuY3Rpb24oYSxiKXtheShhKTtiPWJ5KGEsYik7cmV0dXJuIGEuai5oYXMoYil9O2J5PWZ1bmN0aW9uKGEsYil7Yj1TdHJpbmcoYik7YS5CJiYoYj1iLnRvTG93ZXJDYXNlKCkpO3JldHVybiBifTsKa2FhPWZ1bmN0aW9uKGEsYil7YiYmIWEuQiYmKGF5KGEpLGEudj1udWxsLGEuai5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2QhPWUmJih0aGlzLnJlbW92ZShkKSx0aGlzLnJlbW92ZShlKSxjLmxlbmd0aD4wJiYodGhpcy52PW51bGwsdGhpcy5qLnNldChieSh0aGlzLGUpLF8ueWIoYykpLHRoaXMubys9Yy5sZW5ndGgpKX0sYSkpO2EuQj1ifTtkeT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn07bGFhPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9OwpleT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/KGE9ZW5jb2RlVVJJKGEpLnJlcGxhY2UoYixsYWEpLGMmJihhPWEucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYSk6bnVsbH07Cl8uZnk9ZnVuY3Rpb24oYSl7dGhpcy5vPXRoaXMuST10aGlzLkI9IiI7dGhpcy5ZPW51bGw7dGhpcy52PXRoaXMuaj0iIjt0aGlzLkQ9ITE7dmFyIGI7YSBpbnN0YW5jZW9mIF8uZnk/KHRoaXMuRD1hLkQsZ3kodGhpcyxhLkIpLHRoaXMuST1hLkksdGhpcy5vPWEubyxoeSh0aGlzLGEuWSksdGhpcy5qPWEuaixpeSh0aGlzLGEuSy5jbG9uZSgpKSx0aGlzLnY9YS52KTphJiYoYj1fLk1iKFN0cmluZyhhKSkpPyh0aGlzLkQ9ITEsZ3kodGhpcyxiWzFdfHwiIiwhMCksdGhpcy5JPWR5KGJbMl18fCIiKSx0aGlzLm89ZHkoYlszXXx8IiIsITApLGh5KHRoaXMsYls0XSksdGhpcy5qPWR5KGJbNV18fCIiLCEwKSxpeSh0aGlzLGJbNl18fCIiLCEwKSx0aGlzLnY9ZHkoYls3XXx8IiIpKToodGhpcy5EPSExLHRoaXMuSz1uZXcgJHgobnVsbCx0aGlzLkQpKX07Z3k9ZnVuY3Rpb24oYSxiLGMpe2EuQj1jP2R5KGIsITApOmI7YS5CJiYoYS5CPWEuQi5yZXBsYWNlKC86JC8sIiIpKX07Cmh5PWZ1bmN0aW9uKGEsYil7aWYoYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI8MCl0aHJvdyBFcnJvcigiS2FgIitiKTthLlk9Yn1lbHNlIGEuWT1udWxsfTtpeT1mdW5jdGlvbihhLGIsYyl7YiBpbnN0YW5jZW9mICR4PyhhLks9YixrYWEoYS5LLGEuRCkpOihjfHwoYj1leShiLG1hYSkpLGEuSz1uZXcgJHgoYixhLkQpKX07Xy5qeT1mdW5jdGlvbihhLGIpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLnY9YXx8MTt0aGlzLmo9Ynx8Xy51O3RoaXMuQj0oMCxfLkNhKSh0aGlzLmFCLHRoaXMpO3RoaXMuRD1fLkVhKCl9O18ubHk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9bmV3IFR4O2t5LnB1c2goayk7YiYmay5saXN0ZW4oImNvbXBsZXRlIixiKTtfLmJmKGssInJlYWR5IixrLlB1KTtmJiYoay5VPU1hdGgubWF4KDAsZikpO2gmJihrLm9hPWgpO2suc2VuZChhLGMsZCxlKX07Xy5teT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgYS5yZWdpc3Rlci52YWx1ZXMoKSliLnpnKCJBQk9SVEVEIil9OwpfLm55PWZ1bmN0aW9uKGEsYixjKXtzd2l0Y2goYi50eXBlKXtjYXNlICJtYXBwaW5nIjpyZXR1cm4gYi52YWx1ZTtjYXNlICJmYWN0b3J5IjpyZXR1cm4gYj1iLnZhbHVlKCksYS5tYXBwaW5ncy5zZXQoYy50b1N0cmluZygpLHt0eXBlOiJtYXBwaW5nIix2YWx1ZTpifSksYjtkZWZhdWx0OnJldHVybiBfLmViKGIsdm9pZCAwKX19OwpveT1mdW5jdGlvbihhLGIsYyl7aWYoXy54KCJkZWJ1Z193ZWJfdmVfZGF0YSIpKXt2YXIgZD1fLkIoYz8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlczshZCYmYyYmKGQ9Yy5sb2dnaW5nRGlyZWN0aXZlcyk7YTp7aWYoZD1jPy50cmFja2luZ1BhcmFtcz8/ZD8udHJhY2tpbmdQYXJhbXMpdHJ5e3ZhciBlPV8uQ28oZCk7aWYoZSl7bGV0IGg9Xy5FbyhlLDEpLGs9Xy5FbyhlLDIpO2U9e307aCE9PXZvaWQgMCYmKGUuR3M9TnVtYmVyKGgpKTtrIT09dm9pZCAwJiYoZS52ZVR5cGU9TnVtYmVyKGspKTt2YXIgZj1lO2JyZWFrIGF9fWNhdGNoKGgpe31mPXZvaWQgMH1mPy52ZVR5cGUhPT12b2lkIDAmJihhLmRhdGFzZXQudmU9U3RyaW5nKGYudmVUeXBlKSk7Zj8uR3MhPT12b2lkIDAmJihhLmRhdGFzZXQudmVJbmRleD1TdHJpbmcoZi5HcykpOyhjPWM/LmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSl8fChjPWIudmVUeXBlfHxiLmxvZ2dpbmdDb25maWc/LnZlVHlwZSk7CmMmJihhLmRhdGFzZXQudmU9U3RyaW5nKGMpKX19O3B5PWZ1bmN0aW9uKGEpe3JldHVybiBhLmxheWVyIT09dm9pZCAwP2EubGF5ZXI6YS5wYXJlbnQ/cHkoYS5wYXJlbnQpOmEubGF5ZXI9MH07cXk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnB4LmdldChhKXx8e1plOmJ9O2MuWmU9YjtfLnB4LnNldChhLGMpO2EuZ2V0U2NyZWVuTGF5ZXI9KCk9PnB5KGMuWmUpfTtyeT1mdW5jdGlvbihhKXtmb3IoYT1hLnBhcmVudE5vZGU7YSYmIV8ucHguZ2V0KGEpPy5XeCYmIShhLmpmPz9hKS5ESjspYT1hLnBhcmVudE5vZGV8fGEuaG9zdDtpZihhKXJldHVybiBfLnB4LmdldChhKX07Xy5zeT1mdW5jdGlvbihhKXtpZihhKXtfLnB4LmRlbGV0ZShhKTtsZXQgYj1fLnkoKS5yZXNvbHZlKF8uTHgpO18uR3goYSxiKX19OwpfLnV5PWZ1bmN0aW9uKGEsYixjPSExKXtpZihjKXtpZihjPWEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpLGIuZGF0YSYmIWIuQkl8fGMpXy50digoKT0+e3ZhciBkPV8uQnYoYi5kYXRhKTt0eShhLGQpO295KGEsYixkKX0sImEiKSxfLll1KCgpPT52b2lkIF8uc3koYSkpfWVsc2UgdHlwZW9mIGIuZGF0YSE9PSJmdW5jdGlvbiImJihjPWIuZGF0YSx0eShhLGMpLG95KGEsYixjKSl9Owp0eT1mdW5jdGlvbihhLGIpe25hYSsrO3Z5KGEsYikmJl8uQ2soKS5HYSgoKT0+e18ucXgoXy5DaygpLCgpPT57aWYodnkoYSxiKSYmYS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudD09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmYSl7dmFyIGM7aWYoYS5nZXRBdHRyaWJ1dGUoImxheWVyIikpe3ZhciBkPWM9TnVtYmVyKGEuZ2V0QXR0cmlidXRlKCJsYXllciIpKSxlPV8ucHguZ2V0KGEpO2U/ZS5aZS5sYXllcj1kOnF5KGEsbmV3IHd5KGQpKTsoZD1yeShhKSkmJl8ucHguZ2V0KGEpPy5aZS5zZXRQYXJlbnQoZC5aZSl9ZWxzZShjPV8ucHguZ2V0KGEpKT9jPXB5KGMuWmUpOihjPXB5LGQ9bmV3IHd5LChlPXJ5KGEpKSYmZC5zZXRQYXJlbnQoZS5aZSkscXkoYSxkKSxjPWMoZCkpO2M/PyhjPTApO2Q9YS5nZXRBdHRyaWJ1dGUoImNsaWVudC12ZS10eXBlIik7ZT1OdW1iZXIoZCk7dmFyIGY9ITE7ZD0hMTt2YXIgaD1fLnB4LmdldChhKTtoJiYoaFtfLm94XSE9PWJ8fGUmJl8ucHguZ2V0KGEpPy5VZD09PQp2b2lkIDApJiYoaFtfLm94XT1iLGY9ZD1oLld4PSEwKTtfLnB4LmhhcyhhKSYmKF8ucHguZ2V0KGEpLlVkPWUpO2EudmlzdWFsRWxlbWVudCYmKGQ9ITApO3ZhciBrO18ueCgid2l6X25leHRfbGRfZml4X2NsaWVudF92ZV9zcGVjIik/az1fLkIoYj8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM6az1iPy5sb2dnaW5nRGlyZWN0aXZlcztfLngoIndpel9uZXh0X2NsaWVudF92ZV9wYXJlbnRfZml4Iik/ayYmKGsuY2xpZW50VmVTcGVjfHxrLnRyYWNraW5nUGFyYW1zKSYmKGg9KGg9Xy54eChhKSk/Xy5VeChoKTpudWxsLGs9VngoXy5oeCgpLGssaHx8dm9pZCAwLGMpKSYmKGEudmlzdWFsRWxlbWVudD1rKTprJiZrLmNsaWVudFZlU3BlYyYmKGg9Xy5VeChhKSxrPVZ4KF8uaHgoKSxrLGh8fHZvaWQgMCxjKSkmJihhLnZpc3VhbEVsZW1lbnQ9ayk7IWEudmlzdWFsRWxlbWVudCYmZSYmZiYmKGEudmVUeXBlPWUsaz12b2lkIDAsCl8ueCgid2l6X25leHRfY2xpZW50X3ZlX3BhcmVudF9maXgiKSYmKGU9Xy54eChhKSkmJihrPV8uVXgoZSkpLGs9Xy5FeChfLmh4KCksYSxrLGMpLGEudmlzdWFsRWxlbWVudD1rKTtkJiYoaz1fLnkoKS5yZXNvbHZlKF8uTHgpLF8uSngoYSx7ZGF0YTpiLG9ic2VydmVyOmssbGF5ZXI6YyxlYjp7VmI6ITEsc3RhdGU6InZpc2libGUifSxOYzp7VmI6ITEsc3RhdGU6ImhpZGRlbiJ9fSkpfX0sMCl9LDgpfTt2eT1mdW5jdGlvbihhLGIpe3JldHVybiBiPy50cmFja2luZ1BhcmFtc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXN8fF8uQihiPy5yZW5kZXJlckNvbnRleHQsXy5LeCl8fGEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpPyEwOiExfTtvYWE9L15odHRwcz8kL2k7cGFhPVsiUE9TVCIsIlBVVCJdO2t5PVtdO18uSGEoVHgsXy5nZik7Xy5nPVR4LnByb3RvdHlwZTtfLmcuUHU9ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKTtfLnhiKGt5LHRoaXMpfTsKXy5nLnNlbmQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYodGhpcy5yYSl0aHJvdyBFcnJvcigiUGFgIit0aGlzLmhhKyJgIithKTtiPWI/Yi50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuaGE9YTt0aGlzLkI9IiI7dGhpcy5aPSExO3RoaXMuaj0hMDt0aGlzLnJhPW5ldyBYTUxIdHRwUmVxdWVzdDt0aGlzLnJhLm9ucmVhZHlzdGF0ZWNoYW5nZT0oMCxfLnlnKSgoMCxfLkNhKSh0aGlzLmdyLHRoaXMpKTt0cnl7dGhpcy5nYT0hMCx0aGlzLnJhLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuZ2E9ITF9Y2F0Y2goZil7UXgodGhpcyxmKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSxkW2VdKTtlbHNlIGlmKHR5cGVvZiBkLmtleXM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5nZXQ9PT0iZnVuY3Rpb24iKWZvcihsZXQgZiBvZiBkLmtleXMoKSljLnNldChmLApkLmdldChmKSk7ZWxzZSB0aHJvdyBFcnJvcigiUWFgIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmPT4iY29udGVudC10eXBlIj09Zi50b0xvd2VyQ2FzZSgpKTtlPV8udS5Gb3JtRGF0YSYmYSBpbnN0YW5jZW9mIF8udS5Gb3JtRGF0YTshKF8uc2IocGFhLGIpPj0wKXx8ZHx8ZXx8Yy5zZXQoIkNvbnRlbnQtVHlwZSIsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Iik7Zm9yKGxldCBbZixoXW9mIGMpdGhpcy5yYS5zZXRSZXF1ZXN0SGVhZGVyKGYsaCk7dGhpcy55YSYmKHRoaXMucmEucmVzcG9uc2VUeXBlPXRoaXMueWEpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5yYSYmdGhpcy5yYS53aXRoQ3JlZGVudGlhbHMhPT10aGlzLm9hJiYodGhpcy5yYS53aXRoQ3JlZGVudGlhbHM9dGhpcy5vYSk7dHJ5e3RoaXMuRCYmKGNsZWFyVGltZW91dCh0aGlzLkQpLHRoaXMuRD1udWxsKSx0aGlzLlU+MCYmKHRoaXMuRD1zZXRUaW1lb3V0KHRoaXMuZEIuYmluZCh0aGlzKSwKdGhpcy5VKSksdGhpcy5JPSEwLHRoaXMucmEuc2VuZChhKSx0aGlzLkk9ITF9Y2F0Y2goZil7UXgodGhpcyxmKX19O18uZy5kQj1mdW5jdGlvbigpe3R5cGVvZiBfLkNxIT0idW5kZWZpbmVkIiYmdGhpcy5yYSYmKHRoaXMuQj0iVGltZWQgb3V0IGFmdGVyICIrdGhpcy5VKyJtcywgYWJvcnRpbmciLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTtfLmcuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJhJiZ0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLHRoaXMuZGlzcGF0Y2hFdmVudCgiYWJvcnQiKSxQeCh0aGlzKSl9O18uZy5sYT1mdW5jdGlvbigpe3RoaXMucmEmJih0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEpLFB4KHRoaXMsITApKTtUeC56Yi5sYS5jYWxsKHRoaXMpfTsKXy5nLmdyPWZ1bmN0aW9uKCl7dGhpcy5pYSgpfHwodGhpcy5nYXx8dGhpcy5JfHx0aGlzLnY/U3godGhpcyk6dGhpcy5seigpKX07Xy5nLmx6PWZ1bmN0aW9uKCl7U3godGhpcyl9O18uZy5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5yYX07Xy5nLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yYT90aGlzLnJhLnJlYWR5U3RhdGU6MCk9PTR9O18uZy5pc1N1Y2Nlc3M9ZnVuY3Rpb24oKXt2YXIgYT1fLlJ4KHRoaXMpLGI7aWYoIShiPV8uc2YoYSkpKXtpZihhPWE9PT0wKWE9Xy5PYihTdHJpbmcodGhpcy5oYSkpLGE9IW9hYS50ZXN0KGEpO2I9YX1yZXR1cm4gYn07Xy5nLmdldExhc3RFcnJvcj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgdGhpcy5CPT09InN0cmluZyI/dGhpcy5COlN0cmluZyh0aGlzLkIpfTtfLmc9JHgucHJvdG90eXBlOwpfLmcuYWRkPWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO3ZhciBjPXRoaXMuai5nZXQoYSk7Y3x8dGhpcy5qLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5yZW1vdmU9ZnVuY3Rpb24oYSl7YXkodGhpcyk7YT1ieSh0aGlzLGEpO3JldHVybiB0aGlzLmouaGFzKGEpPyh0aGlzLnY9bnVsbCx0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoLHRoaXMuai5kZWxldGUoYSkpOiExfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmo9dGhpcy52PW51bGw7dGhpcy5vPTB9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7YXkodGhpcyk7cmV0dXJuIHRoaXMubz09MH07Xy5nLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtheSh0aGlzKTt0aGlzLmouZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Cl8uZy5yZD1mdW5jdGlvbigpe2F5KHRoaXMpO3ZhciBhPUFycmF5LmZyb20odGhpcy5qLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5qLmtleXMoKSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YVtkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKyljLnB1c2goYltkXSl9cmV0dXJuIGN9O18uZy5NYz1mdW5jdGlvbihhKXtheSh0aGlzKTt2YXIgYj1bXTtpZih0eXBlb2YgYT09PSJzdHJpbmciKWN5KHRoaXMsYSkmJihiPWIuY29uY2F0KHRoaXMuai5nZXQoYnkodGhpcyxhKSkpKTtlbHNle2E9QXJyYXkuZnJvbSh0aGlzLmoudmFsdWVzKCkpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWI9Yi5jb25jYXQoYVtjXSl9cmV0dXJuIGJ9OwpfLmcuc2V0PWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO2N5KHRoaXMsYSkmJih0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoKTt0aGlzLmouc2V0KGEsW2JdKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5nZXQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4gYjthPXRoaXMuTWMoYSk7cmV0dXJuIGEubGVuZ3RoPjA/U3RyaW5nKGFbMF0pOmJ9OwpfLmcudG9TdHJpbmc9ZnVuY3Rpb24oKXtpZih0aGlzLnYpcmV0dXJuIHRoaXMudjtpZighdGhpcy5qKXJldHVybiIiO3ZhciBhPVtdLGI9QXJyYXkuZnJvbSh0aGlzLmoua2V5cygpKTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGM9YltkXTtsZXQgZT1lbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKTtjPXRoaXMuTWMoYyk7Zm9yKGxldCBmPTA7ZjxjLmxlbmd0aDtmKyspe2xldCBoPWU7Y1tmXSE9PSIiJiYoaCs9Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoY1tmXSkpKTthLnB1c2goaCl9fXJldHVybiB0aGlzLnY9YS5qb2luKCImIil9O18uZy5jbG9uZT1mdW5jdGlvbigpe3ZhciBhPW5ldyAkeDthLnY9dGhpcy52O3RoaXMuaiYmKGEuaj1uZXcgTWFwKHRoaXMuaiksYS5vPXRoaXMubyk7cmV0dXJuIGF9OwpfLmcuZXh0ZW5kPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YXJndW1lbnRzLmxlbmd0aDtiKyspamFhKGFyZ3VtZW50c1tiXSxmdW5jdGlvbihjLGQpe3RoaXMuYWRkKGQsYyl9LHRoaXMpfTt2YXIgeHk9L1sjXC9cP0BdL2cscWFhPS9bI1w/XS9nLHJhYT0vWyNcPzpdL2csc2FhPS8jL2csbWFhPS9bI1w/QF0vZzsKXy5meS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMuQjtiJiZhLnB1c2goZXkoYix4eSwhMCksIjoiKTt2YXIgYz10aGlzLm87aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkkpJiZhLnB1c2goZXkoYix4eSwhMCksIkAiKSxhLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhjKSkucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYz10aGlzLlksYyE9bnVsbCYmYS5wdXNoKCI6IixTdHJpbmcoYykpO2lmKGM9dGhpcy5qKXRoaXMubyYmYy5jaGFyQXQoMCkhPSIvIiYmYS5wdXNoKCIvIiksYS5wdXNoKGV5KGMsYy5jaGFyQXQoMCk9PSIvIj9xYWE6cmFhLCEwKSk7KGM9dGhpcy5LLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMudikmJmEucHVzaCgiIyIsZXkoYyxzYWEpKTtyZXR1cm4gYS5qb2luKCIiKX07Cl8uZnkucHJvdG90eXBlLnJlc29sdmU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5jbG9uZSgpLGM9ISFhLkI7Yz9neShiLGEuQik6Yz0hIWEuSTtjP2IuST1hLkk6Yz0hIWEubztjP2Iubz1hLm86Yz1hLlkhPW51bGw7dmFyIGQ9YS5qO2lmKGMpaHkoYixhLlkpO2Vsc2UgaWYoYz0hIWEuail7aWYoZC5jaGFyQXQoMCkhPSIvIilpZih0aGlzLm8mJiF0aGlzLmopZD0iLyIrZDtlbHNle3ZhciBlPWIuai5sYXN0SW5kZXhPZigiLyIpO2UhPS0xJiYoZD1iLmouc2xpY2UoMCxlKzEpK2QpfWU9ZDtpZihlPT0iLi4ifHxlPT0iLiIpZD0iIjtlbHNlIGlmKGUuaW5kZXhPZigiLi8iKSE9LTF8fGUuaW5kZXhPZigiLy4iKSE9LTEpe2Q9ZS5sYXN0SW5kZXhPZigiLyIsMCk9PTA7ZT1lLnNwbGl0KCIvIik7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDspe2xldCBrPWVbaCsrXTtrPT0iLiI/ZCYmaD09ZS5sZW5ndGgmJmYucHVzaCgiIik6az09Ii4uIj8oKGYubGVuZ3RoPjF8fGYubGVuZ3RoPT0KMSYmZlswXSE9IiIpJiZmLnBvcCgpLGQmJmg9PWUubGVuZ3RoJiZmLnB1c2goIiIpKTooZi5wdXNoKGspLGQ9ITApfWQ9Zi5qb2luKCIvIil9ZWxzZSBkPWV9Yz9iLmo9ZDpjPWEuSy50b1N0cmluZygpIT09IiI7Yz9peShiLGEuSy5jbG9uZSgpKTpjPSEhYS52O2MmJihiLnY9YS52KTtyZXR1cm4gYn07Xy5meS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uZnkodGhpcyl9O18uZnkucHJvdG90eXBlLmFtPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uSGEoXy5qeSxfLmdmKTtfLmc9Xy5qeS5wcm90b3R5cGU7Xy5nLmVuYWJsZWQ9ITE7Xy5nLnNjPW51bGw7Xy5nLnNldEludGVydmFsPWZ1bmN0aW9uKGEpe3RoaXMudj1hO3RoaXMuc2MmJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnNjJiZ0aGlzLnN0b3AoKX07Cl8uZy5hQj1mdW5jdGlvbigpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9Xy5FYSgpLXRoaXMuRDthPjAmJmE8dGhpcy52Ki44P3RoaXMuc2M9dGhpcy5qLnNldFRpbWVvdXQodGhpcy5CLHRoaXMudi1hKToodGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKSx0aGlzLmRpc3BhdGNoRXZlbnQoInRpY2siKSx0aGlzLmVuYWJsZWQmJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpKX19O18uZy5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnNjfHwodGhpcy5zYz10aGlzLmouc2V0VGltZW91dCh0aGlzLkIsdGhpcy52KSx0aGlzLkQ9Xy5FYSgpKX07Xy5nLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKX07Xy5nLmxhPWZ1bmN0aW9uKCl7Xy5qeS56Yi5sYS5jYWxsKHRoaXMpO3RoaXMuc3RvcCgpO2RlbGV0ZSB0aGlzLmp9O18uQXk9bmV3IF8uSSgiY29udGludWF0aW9uQ29tbWFuZCIpO18uQnk9bmV3IF8uSSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO18uQ3k9bmV3IF8uSSgidW5kb0ZlZWRiYWNrRW5kcG9pbnQiKTtfLkR5PW5ldyBfLkkoInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgdGFhO3RhYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucmVnaXN0ZXI9bmV3IE1hcH1jbGVhcigpe18ubXkodGhpcyk7dGhpcy5yZWdpc3Rlci5jbGVhcigpfX07Xy5FeT1uZXcgdGFhO3ZhciB1YWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e319Y29udGFpbnMoYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmosYSl9Z2V0KGEpe2lmKHRoaXMuY29udGFpbnMoYSkpcmV0dXJuIHRoaXMualthXX1zZXQoYSxiKXt0aGlzLmpbYV09Yn1yZCgpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLmopfXJlbW92ZShhKXtkZWxldGUgdGhpcy5qW2FdfX07Xy5HeT1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm1hcHBpbmdzPW5ldyB1YWE7dGhpcy5qPW5ldyBTZXR9Z2V0KGEpe3ZhciBiPXRoaXMubWFwcGluZ3MuZ2V0KGEudG9TdHJpbmcoKSk7cmV0dXJuIF8ubnkodGhpcyxiLGEpfW9uTG9hZEVycm9yKGEpe3RoaXMuai5hZGQoYSk7cmV0dXJuKCk9Pnt0aGlzLmouZGVsZXRlKGEpfX19O18uSHk9bmV3IF8uVnMoIkFTWU5DX0lOTkVSVFVCRV9UUkFOU1BPUlRfVE9LRU4iKTtfLkl5PW5ldyBfLlZzKCJJTk5FUlRVQkVfVFJBTlNQT1JUX1RPS0VOIik7Xy5KeT1uZXcgXy5WcygiUkVTUE9OU0VfUFJPQ0VTU09SX01BUF9UT0tFTiIpO3ZhciB3eT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmxheWVyPWF9c2V0UGFyZW50KGEpe3RoaXMucGFyZW50PWF9fTt2YXIgbmFhPTA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udmFhPSJwbGF5ZXJfdWlkXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB4YWEseWFhLHphYSxWeSwkeSxheixieixjeixBYWEsaHosQmFhLENhYSxpeixreixFYWEsdHosd2FhLFJ5LFN5LEhhYSxJYWEsRGFhLEZhYSxkeixqeixleixmejtfLkt5PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkJmKXJldHVybiBhO3ZhciBiPW5ldyBfLkJmKF8uZ2QpO18uQWYoYiwyLGEpO3JldHVybiBifTtfLkx5PWZ1bmN0aW9uKGEsYil7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9O18uTXk9ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoOysrYyliPTMxKmIrYS5jaGFyQ29kZUF0KGMpPj4+MDtyZXR1cm4gYn07Xy5OeT1mdW5jdGlvbihhKXthPV8uTWIoYSk7cmV0dXJuIF8uSWIobnVsbCxudWxsLG51bGwsbnVsbCxhWzVdLGFbNl0sYVs3XSl9O18uT3k9ZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCIjIik7cmV0dXJuIGI8MD9hOmEuc2xpY2UoMCxiKX07Cl8uUHk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5zZWFyY2goXy5ZYiksZD0wLGUsZj1bXTsoZT1fLlhiKGEsZCxiLGMpKT49MDspZi5wdXNoKGEuc3Vic3RyaW5nKGQsZSkpLGQ9TWF0aC5taW4oYS5pbmRleE9mKCImIixlKSsxfHxjLGMpO2YucHVzaChhLnNsaWNlKGQpKTtyZXR1cm4gZi5qb2luKCIiKS5yZXBsYWNlKHdhYSwiJDEiKX07eGFhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iJjEyOD8wOi0xLGU9YS5sZW5ndGgsZjtpZihmPSEhZSlmPWFbZS0xXSxmPWYhPW51bGwmJnR5cGVvZiBmPT09Im9iamVjdCImJmYuY29uc3RydWN0b3I9PT1PYmplY3Q7dmFyIGg9ZSsoZj8tMTowKTtmb3IoYj1iJjEyOD8xOjA7YjxoO2IrKyljKGItZCxhW2JdKTtpZihmKXthPWFbZS0xXTtmb3IobGV0IGsgaW4gYSkhaXNOYU4oaykmJmMoK2ssYVtrXSl9fTtfLlF5PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGx8fHR5cGVvZiBhPT09ImJvb2xlYW4iKXJldHVybiBhO2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuISFhfTsKeWFhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uR2EoXy5KYyk7cmV0dXJuIGI/YVtiXTp2b2lkIDB9O3phYT1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOnJldHVybiBSeXx8KFJ5PVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIGE+MD92b2lkIDA6YT09PTA/U3l8fChTeT1bMCx2b2lkIDBdKTpbLWEsdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLGFdO2Nhc2UgIm9iamVjdCI6cmV0dXJuIGF9fTtfLlR5PWZ1bmN0aW9uKGEpe3JldHVybiEhKDImYSkmJiEhKDQmYSl8fCEhKDI1NiZhKX07Xy5VeT1mdW5jdGlvbihhLGIpe3JldHVybiBhPSgyJmI/YXwyOmEmLTMpJi0yNzN9O1Z5PWZ1bmN0aW9uKGEsYil7MiZiJiYoYXw9Mik7cmV0dXJuIGF8MX07Cl8uV3k9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCxrKXt2YXIgbD1fLkJjKGEsYyk7Zj1sPzE6ZjtoPSEhaHx8Zj09PTM7bD1rJiYhbDsoZj09PTJ8fGwpJiZfLm13KGEpJiYoYj1hLkRhLGM9YltfLkFjXXwwKTthPV8uZGQoYixlKTtrPUFycmF5LmlzQXJyYXkoYSk/YTpfLm1yO3ZhciBtPWs9PT1fLm1yPzc6a1tfLkFjXXwwLG49VnkobSxjKTtpZihhPSEoNCZuKSl7dmFyIHA9ayxyPWM7bGV0IHQ9ISEoMiZuKTt0JiYocnw9Mik7bGV0IHY9IXQsej0hMCxFPTAsQT0wO2Zvcig7RTxwLmxlbmd0aDtFKyspe2xldCBGPV8ua3cocFtFXSxkLHIpO2lmKEYgaW5zdGFuY2VvZiBkKXtpZighdCl7bGV0IEM9Xy5CYyhGKTt2JiYodj0hQyk7eiYmKHo9Qyl9cFtBKytdPUZ9fUE8RSYmKHAubGVuZ3RoPUEpO258PTQ7bj16P24mLTQwOTc6bnw0MDk2O249dj9ufDg6biYtOX1uIT09bSYmKGtbXy5BY109biwyJm4mJk9iamVjdC5mcmVlemUoaykpO2lmKGwmJiEoOCZufHwhay5sZW5ndGgmJihmPT09MXx8CihmIT09ND8wOjImbnx8ISgxNiZuKSYmMzImYykpKSl7Xy5UeShuKSYmKGs9Wy4uLmtdLG49Xy5VeShuLGMpLGM9Xy5wdyhiLGMsZSxrKSk7ZD1rO2w9bjtmb3IobT0wO208ZC5sZW5ndGg7bSsrKXA9ZFttXSxuPV8ubHcocCkscCE9PW4mJihkW21dPW4pO2x8PTg7bj1sPWQubGVuZ3RoP2x8NDA5NjpsJi00MDk3O2tbXy5BY109bn1kPWs7bD1rPW47Zj09PTF8fChmIT09ND8wOjIma3x8ISgxNiZrKSYmMzImYyk/Xy5UeShrKXx8KGt8PSFkLmxlbmd0aHx8YSYmISg0MDk2JmspfHwzMiZjJiYhKDQwOTYma3x8MTYmayk/MjoyNTYsayE9PWwmJihkW18uQWNdPWspLE9iamVjdC5mcmVlemUoZCkpOihmPT09MiYmXy5UeShrKSYmKGQ9Wy4uLmRdLGw9MCxrPV8uVXkoayxjKSxjPV8ucHcoYixjLGUsZCkpLF8uVHkoayl8fChofHwoa3w9MTYpLGshPT1sJiYoZFtfLkFjXT1rKSkpOzIma3x8ISg0MDk2Jmt8fDE2JmspfHxfLm93KGIsYyk7cmV0dXJuIGR9OwpfLlh5PWZ1bmN0aW9uKGEsYil7Zm9yKDtiPjEyNzspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj4+PTc7YS5qLnB1c2goYil9O18uWXk9ZnVuY3Rpb24oYSxiKXtiLmxlbmd0aCE9PTAmJihhLnYucHVzaChiKSxhLm8rPWIubGVuZ3RoKX07Xy5aeT1mdW5jdGlvbihhLGIsYyl7Xy5YeShhLmosYio4K2MpfTskeT1mdW5jdGlvbihhLGIpe18uWnkoYSxiLDIpO2I9YS5qLmVuZCgpO18uWXkoYSxiKTtiLnB1c2goYS5vKTtyZXR1cm4gYn07YXo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBvcCgpO2ZvcihjPWEubythLmoubGVuZ3RoKCktYztjPjEyNzspYi5wdXNoKGMmMTI3fDEyOCksYz4+Pj03LGEubysrO2IucHVzaChjKTthLm8rK307Yno9ZnVuY3Rpb24oYSxiKXtpZihhIGluc3RhbmNlb2YgXy5NcilyZXR1cm4gYS5EYTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBfLlhjKGEsYlswXSxiWzFdKX07CmN6PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtBYWE9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSkmJiEhYS5sZW5ndGgmJnR5cGVvZiBhWzBdPT09Im51bWJlciImJmFbMF0+MH07Cmh6PWZ1bmN0aW9uKGEpe3ZhciBiPUJhYSxjPUNhYSxkPWFbZHpdO2lmKGQpcmV0dXJuIGQ7ZD17fTtkLlpIPWE7ZC5PcT16YWEoYVswXSk7dmFyIGU9YVsxXSxmPTE7ZSYmZS5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGQuZXh0ZW5zaW9ucz1lLGU9YVsrK2ZdLHR5cGVvZiBlPT09ImZ1bmN0aW9uIiYmKGQuU3g9ITAsZXo/Pyhlej1lKSxmej8/KGZ6PWFbZisxXSksZT1hW2YrPTJdKSk7Zm9yKHZhciBoPXt9O2UmJkFhYShlKTspe2Zvcih2YXIgaz0wO2s8ZS5sZW5ndGg7aysrKWhbZVtrXV09ZTtlPWFbKytmXX1mb3Ioaz0xO2UhPT12b2lkIDA7KXt0eXBlb2YgZT09PSJudW1iZXIiJiYoays9ZSxlPWFbKytmXSk7bGV0IG47dmFyIGw9dm9pZCAwO2UgaW5zdGFuY2VvZiBfLmd6P249ZToobj1EYWEsZi0tKTtpZihuPy5vKXtlPWFbKytmXTtsPWE7dmFyIG09Zjt0eXBlb2YgZT09PSJmdW5jdGlvbiImJihlPWUoKSxsW21dPWUpO2w9ZX1lPWFbKytmXTttPWsrMTt0eXBlb2YgZT09PSJudW1iZXIiJiYKZTwwJiYobS09ZSxlPWFbKytmXSk7Zm9yKDtrPG07aysrKXtsZXQgcD1oW2tdO2w/YyhkLGssbixsLHApOmIoZCxrLG4scCl9fXJldHVybiBhW2R6XT1kfTtCYWE9ZnVuY3Rpb24oYSxiLGMpe2FbYl09Yy5qfTtDYWE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixoPWMuajthW2JdPShrLGwsbSk9PmgoayxsLG0sZnx8KGY9aHooZCkuT3EpLGV8fChlPWl6KGQpKSl9O2l6PWZ1bmN0aW9uKGEpe3ZhciBiPWFbanpdO2lmKCFiKXtsZXQgYz1oeihhKTtiPShkLGUpPT5reihkLGUsYyk7YVtqel09Yn1yZXR1cm4gYn07a3o9ZnVuY3Rpb24oYSxiLGMpe3hhYShhLGFbXy5BY118MCwoZCxlKT0+e2lmKGUhPW51bGwpe3ZhciBmPUVhYShjLGQpO2Y/ZihiLGUsZCk6ZDw1MDB8fF8ueGMoXy5rciwzKX19KTsoYT15YWEoYSkpJiZhLmN3KChkLGUsZik9PntfLll5KGIsYi5qLmVuZCgpKTtmb3IoZD0wO2Q8Zi5sZW5ndGg7ZCsrKV8uWXkoYixfLnd3KGZbZF0pfHxuZXcgVWludDhBcnJheSgwKSl9KX07CkVhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWFbYl07aWYoYylyZXR1cm4gYztpZihjPWEuZXh0ZW5zaW9ucylpZihjPWNbYl0pe2M9QXJyYXkuaXNBcnJheShjKT9jWzBdaW5zdGFuY2VvZiBfLmd6P2M6W0ZhYSxjXTpbYyx2b2lkIDBdO3ZhciBkPWNbMF0uajtpZihjPWNbMV0pe2xldCBlPWl6KGMpLGY9aHooYykuT3E7Yz1hLlN4P2Z6KGYsZSk6KGgsayxsKT0+ZChoLGssbCxmLGUpfWVsc2UgYz1kO3JldHVybiBhW2JdPWN9fTtfLmx6PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9O18ubXo9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5ReShiKTtiIT1udWxsJiYoXy5aeShhLGMsMCksYS5qLmoucHVzaChiPzE6MCkpfTtfLm56PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtfLnB6PWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBfLm96KHRoaXMsYSl9fTsKXy5xej1mdW5jdGlvbigpe2lmKCFfLkxqLmlzRW5hYmxlZCgpKXJldHVybiExO2lmKCFfLkxqLmlzRW1wdHkoKSlyZXR1cm4hMDtfLkxqLnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse3ZqOjYwfSk7aWYoXy5Mai5nZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIpIT09IjEiKXJldHVybiExO18uTGoucmVtb3ZlKCJURVNUQ09PS0lFU0VOQUJMRUQiKTtyZXR1cm4hMH07Xy5yej1mdW5jdGlvbigpe3JldHVybihfLmhyfHxfLmlyKSYmXy5NaygiYXBwbGV3ZWJraXQiKSYmIV8uTWsoInZlcnNpb24iKSYmKCFfLk1rKCJzYWZhcmkiKXx8Xy5NaygiZ3NhLyIpKX07Xy5zej1mdW5jdGlvbigpe3JldHVybiBfLk5kKCl8fF8ucnooKXx8Xy5lciYmXy5NaygidmVyc2lvbi8iKT8hMDpfLncoIkVPTV9WSVNJVE9SX0RBVEEiKT8hMTohMH07Cl8udXo9ZnVuY3Rpb24oYSxiLGMsZD0hMCl7dmFyIGU9Xy53KCJWQUxJRF9TRVNTSU9OX1RFTVBEQVRBX0RPTUFJTlMiLFtdKSxmPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2YmJmUucHVzaChmKTtmPV8uUGIoYSk7aWYoXy5zYihlLGYpPj0wfHwhZiYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTApaWYoZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksXy5MeShlLGEpLGE9ZS5ocmVmKWlmKGE9Xy5OeShhKSxhPV8uT3koYSkpZCYmIWIuY3NuJiYoYi5pdGN0fHxiLnZlZCkmJihiPU9iamVjdC5hc3NpZ24oe2NzbjpfLmlxKCl9LGIpKSxjPyhjPXBhcnNlSW50KGMsMTApLGlzRmluaXRlKGMpJiZjPjAmJnR6KGEsYixjKSk6dHooYSxiKX07dHo9ZnVuY3Rpb24oYSxiLGMpe2E9Xy52eihhKTtiPWI/Xy5VYihiKToiIjtjPWN8fDU7Xy5zeigpJiZfLk1qKGEsYixjKX07Xy52ej1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgR2FhKWE9Xy5QeShhLGIpO3JldHVybiJTVC0iK18uTXkoYSkudG9TdHJpbmcoMzYpfTsKXy53ej17fTt3YWE9L1s/Jl0oJHwjKS87SGFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLmoubGVuZ3RofWVuZCgpe3ZhciBhPXRoaXMuajt0aGlzLmo9W107cmV0dXJuIGF9d3JpdGVVaW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfXdyaXRlSW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfX07SWFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy52PVtdO3RoaXMubz0wO3RoaXMuaj1uZXcgSGFhfX07Xy5nej1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1hO2E9Xy5HYShfLnpyKTt0aGlzLm89ISFhJiZiPT09YXx8ITF9fTtEYWE9bmV3IF8uZ3ooY3osXy56cik7RmFhPW5ldyBfLmd6KGN6LF8uenIpO2R6PVN5bWJvbCgpO2p6PVN5bWJvbCgpOwpfLm96PShhLGIpPT57dmFyIGM9bmV3IElhYTtreihhLkRhLGMsaHooYikpO18uWXkoYyxjLmouZW5kKCkpO2E9bmV3IFVpbnQ4QXJyYXkoYy5vKTtiPWMudjt2YXIgZD1iLmxlbmd0aCxlPTA7Zm9yKGxldCBmPTA7ZjxkO2YrKyl7bGV0IGg9YltmXTthLnNldChoLGUpO2UrPWgubGVuZ3RofWMudj1bYV07cmV0dXJuIGF9O18ueHo9Xy5seihfLm16LF8uQXIpOwpfLnl6PWZ1bmN0aW9uKGEsYixjPV8uenIpe3JldHVybiBuZXcgXy5neihiLGMpfShmdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEuaigpIT09MilyZXR1cm4hMTt2YXIgZj1hLm87ZD1fLlhjKHZvaWQgMCxkWzBdLGRbMV0pO3ZhciBoPWJbXy5BY118MDtpZihoJjIpdGhyb3cgRXJyb3IoKTt2YXIgaz1oJjEyOD9fLnd6OnZvaWQgMCxsPV8uZGQoYixjLGspO2w9QXJyYXkuaXNBcnJheShsKT9sOl8ubXI7dmFyIG09bD09PV8ubXI/NzpsW18uQWNdfDAsbj1WeShtLGgpO2lmKDImbnx8Xy5UeShuKXx8MTYmbiluPT09bXx8Xy5UeShuKXx8KGxbXy5BY109biksbD1bLi4ubF0sbT0wLG49Xy5VeShuLGgpLF8ucHcoYixoLGMsbCxrKTtuJj0tMTM7biE9PW0mJihsW18uQWNdPW4pO2wucHVzaChkKTtmLmNhbGwoYSxkLGUpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpe2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8ubnooYSxiW2ZdLGMsZCxlKTsKYT1iW18uQWNdfDA7YSYxfHwoYltfLkFjXT1hfDEpfX0pO18ueno9bmV3IF8uSSgic2lnbmFsU2VydmljZUVuZHBvaW50Iik7Xy5Bej1uZXcgXy5JKCJwbGF5bGlzdEVkaXRFbmRwb2ludCIpO3ZhciBHYWE9ImFic29sdXRlX2V4cGVyaW1lbnRzIGFwcCBjb25kaXRpb25hbF9leHBlcmltZW50cyBkZWJ1Z2NzcyBkZWJ1Z2pzIGV4cGZsYWcgZm9yY2VkX2V4cGVyaW1lbnRzIHBiaiBwYmpyZWxvYWQgc2JiIHNwZiBzcGZyZWxvYWQgc3JfYm5zX2FkZHJlc3Mgc3R0aWNrIi5zcGxpdCgiICIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRXosRnosQnosR3osSmFhO18uQ3o9ZnVuY3Rpb24oYSl7cmV0dXJuISEoKEJ6KGBmJHtNYXRoLmZsb29yKGEvMzEpKzF9YCl8fDApJjE8PGElMzEpfTtfLkR6PWZ1bmN0aW9uKGEsYil7dmFyIGM9YGYke01hdGguZmxvb3IoYS8zMSkrMX1gO2E9MTw8YSUzMTt2YXIgZD1CeihjKXx8MDtkPWI/ZHxhOmQmfmE7ZD09PTA/ZGVsZXRlIF8ueHNbY106Xy54c1tjXT1kLnRvU3RyaW5nKDE2KS50b1N0cmluZygpfTtFej1mdW5jdGlvbihhKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChhKSl0aHJvdyBFcnJvcigiZmFgIithKTt9O0Z6PWZ1bmN0aW9uKGEpe2lmKCEvXlx3KyQvLnRlc3QoYSkpdGhyb3cgRXJyb3IoImdhYCIrYSk7fTtCej1mdW5jdGlvbihhKXthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChhKT9wYXJzZUludChhLDE2KTpudWxsfTsKXy5Iej1mdW5jdGlvbigpe0d6fHwoR3o9bmV3IEphYSk7cmV0dXJuIEd6fTtfLkl6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT57aWYoXy5CcShhKSlyZXR1cm4hMTtfLkFxKGEsdm9pZCAwLHZvaWQgMCk7cmV0dXJuITB9KSgpfTsKSmFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPV8udygiQUxUX1BSRUZfQ09PS0lFX05BTUUiLCJQUkVGIik7dGhpcy5vPV8udygiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIGE9Xy5Mai5nZXQodGhpcy5qLHZvaWQgMCk7YSYmdGhpcy5wYXJzZShhKX1nZXQoYSxiKXtGeihhKTtFeihhKTthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGw/YTpiP2I6IiJ9c2V0KGEsYil7RnooYSk7RXooYSk7aWYoYj09bnVsbCl0aHJvdyBFcnJvcigiZWEiKTtfLnhzW2FdPWIudG9TdHJpbmcoKX1yZW1vdmUoYSl7RnooYSk7RXooYSk7ZGVsZXRlIF8ueHNbYV19c2F2ZSgpe18uTWoodGhpcy5qLHRoaXMuZHVtcCgpLDYzMDcyRTMsdGhpcy5vLCEwKX1jbGVhcigpe2ZvcihsZXQgYSBpbiBfLnhzKWRlbGV0ZSBfLnhzW2FdfWR1bXAoKXt2YXIgYT1bXTtmb3IobGV0IGIgaW4gXy54cylfLnhzLmhhc093blByb3BlcnR5KGIpJiYKYS5wdXNoKGAke2J9PWArZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhfLnhzW2JdKSkpO3JldHVybiBhLmpvaW4oIiYiKX1wYXJzZShhKXthPWRlY29kZVVSSUNvbXBvbmVudChhKS5zcGxpdCgiJiIpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgYj1hW2NdLnNwbGl0KCI9Iik7bGV0IGQ9YlswXTsoYj1iWzFdKSYmKF8ueHNbZF09Yi50b1N0cmluZygpKX19fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExhYSxLYWE7Xy5Kej1mdW5jdGlvbihhLGIpe2Eudi5zZXQoYi5qYSxiKTt2YXIgYz1hLmouZ2V0KGIuamEpO2lmKGMpdHJ5e2MuUWgoYS5yZXNvbHZlKGIuamEpKX1jYXRjaChkKXtjLlF6KGQpfX07Xy5Lej1mdW5jdGlvbihhLGI9Xy5hYil7cmV0dXJuIF8uYmIoYSxiKXx8Xy5GcX07Xy5Mej1mdW5jdGlvbigpe3JldHVybiBfLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07Xy5Nej1mdW5jdGlvbihhLGIpe3ZhciBjPV8uTHooKTtpZihjJiZiKXtsZXQgZD1jLnN1YnNjcmliZShhLGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLGY9KCk9PntfLlJzW2RdJiZiLmFwcGx5JiZ0eXBlb2YgYi5hcHBseT09ImZ1bmN0aW9uIiYmYi5hcHBseSh3aW5kb3csZSl9O3RyeXtfLlRzW2FdP2YoKTpfLm1qKGYsMCl9Y2F0Y2goaCl7Xy5VaShoKX19LHZvaWQgMCk7Xy5Sc1tkXT0hMDtfLlNzW2FdfHwoXy5Tc1thXT1bXSk7Xy5Tc1thXS5wdXNoKGQpO3JldHVybiBkfXJldHVybiAwfTsKXy5Oej1mdW5jdGlvbihhKXt2YXIgYj1fLkx6KCk7YiYmKHR5cGVvZiBhPT09Im51bWJlciI/YT1bYV06dHlwZW9mIGE9PT0ic3RyaW5nIiYmKGE9W3BhcnNlSW50KGEsMTApXSksXy50YihhLGM9PntiLnVuc3Vic2NyaWJlQnlLZXkoYyk7ZGVsZXRlIF8uUnNbY119KSl9O18uT3o9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkx6KCk7cmV0dXJuIGM/Yy5wdWJsaXNoLmFwcGx5KGMsYXJndW1lbnRzKTohMX07Xy5Qej1mdW5jdGlvbihhKXtyZXR1cm4gS2FhW2FdfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9O0xhYT1mdW5jdGlvbigpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZT8uKCJtYXJrIik7YSYmYS5mb3JFYWNoKGI9PntiLm5hbWUuc3RhcnRzV2l0aCgibWFya18iKSYmXy5zcS5jbGVhck1hcmtzPy4oYi5uYW1lKX0pfTtfLlF6PWZ1bmN0aW9uKGEpe18ucmEoInl0Z2xvYmFsLnRpbWluZyIrKGF8fCIiKSsicmVhZHlfIiwhMCl9OwpfLlJ6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT5fLkJxKCJfc3RhcnQiLGEpKSgpfTtfLlN6PWZ1bmN0aW9uKGEpe18uVmkoKCk9PntfLlJ6KGEpJiZfLkFxKCJhYSIsdm9pZCAwLGEpO3ZhciBiPWF8fCIiLGM9Xy50bygpO2NbYl0mJmRlbGV0ZSBjW2JdO3ZhciBkPXt0aW1lck5hbWU6YixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07Xy5zbyhkKTtjW2JdPWQ7Xy5qbyhhKTsoMCxfLmJ0KSgpO0xhYSgpO2F8fChfLncoIlRJTUlOR19BQ1RJT04iKSYmXy5RaSgiUFJFVklPVVNfQUNUSU9OIixfLncoIlRJTUlOR19BQ1RJT04iKSksXy5RaSgiVElNSU5HX0FDVElPTiIsIiIpKX0pKCl9OwpfLlR6PWZ1bmN0aW9uKGEsYj17fSxjLGQpe18uVmkoKCk9Pnt2YXIgZT1jP2M6YTtfLlN6KGUpO3ZhciBmPWIuc2FtcGxlUmF0ZTtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fGY9PT12b2lkIDB8fGY8PTEpZj0hMTtlbHNle3ZhciBoPV8ucG8oZSk7Zj1fLkduKGgpJWYhPT0wfWYmJihfLmtvKGUpLmFjdGlvbkRpc2FibGVkPSEwKTtfLnVvKGV8fCIiKS5pbmZvLmFjdGlvblR5cGU9YTtiLmN0dEF1dGhJbmZvJiYoXy5rbyhlKS5jdHRBdXRoSW5mbz1iLmN0dEF1dGhJbmZvKTtfLlFpKGUrIlRJTUlOR19BQ1RJT04iLGEpO18uVmkoXy5vcSkoYi5zdGFydFRpbWUsZSk7Zj17YWN0aW9uVHlwZTpkfHxfLlB6KGEpfTtiLlRKJiYoZi5wcmV2aW91c0FjdGlvbj1fLlB6KF8udygiVElNSU5HX0FDVElPTiIpKSk7KGg9Xy5pcSgpKSYmaCE9PSJVTkRFRklORURfQ1NOIiYmKGYuY2xpZW50U2NyZWVuTm9uY2U9aCk7Xy56cShmLGUpO18uUXooZSl9KSgpfTsKS2FhPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9O18uVXo9bmV3IF8uSSgiZmVlZGJhY2tFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZ6PWZ1bmN0aW9uKGEsYil7aWYoYiE9PW51bGwmJmIhPT12b2lkIDApe2lmKHR5cGVvZiBiIT09Im9iamVjdCImJnR5cGVvZiBiIT09ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJkIik7aWYoYz09PXZvaWQgMCl7aWYoIVN5bWJvbC5kaXNwb3NlKXRocm93IG5ldyBUeXBlRXJyb3IoImYiKTt2YXIgYz1iW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgYyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiZyIpO2Euc3RhY2sucHVzaCh7dmFsdWU6YixkaXNwb3NlOmMsYXN5bmM6ITF9KX1yZXR1cm4gYn07Cl8uV3o9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihmKXthLmVycm9yPWEuaGFzRXJyb3I/bmV3IFN1cHByZXNzZWRFcnJvcihmLGEuZXJyb3IsIkFuIGVycm9yIHdhcyBzdXBwcmVzc2VkIGR1cmluZyBkaXNwb3NhbC4iKTpmO2EuaGFzRXJyb3I9ITB9ZnVuY3Rpb24gYygpe2Zvcig7ZD1hLnN0YWNrLnBvcCgpOyl0cnl7aWYoIWQuYXN5bmMmJmU9PT0xKXJldHVybiBlPTAsYS5zdGFjay5wdXNoKGQpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oYyk7aWYoZC5kaXNwb3NlKXt2YXIgZj1kLmRpc3Bvc2UuY2FsbChkLnZhbHVlKTtpZihkLmFzeW5jKXJldHVybiBlfD0yLFByb21pc2UucmVzb2x2ZShmKS50aGVuKGMsZnVuY3Rpb24oaCl7YihoKTtyZXR1cm4gYygpfSl9ZWxzZSBlfD0xfWNhdGNoKGgpe2IoaCl9aWYoZT09PTEpcmV0dXJuIGEuaGFzRXJyb3I/UHJvbWlzZS5yZWplY3QoYS5lcnJvcik6UHJvbWlzZS5yZXNvbHZlKCk7aWYoYS5oYXNFcnJvcil0aHJvdyBhLmVycm9yO312YXIgZCwKZT0wO2MoKX07Xy5Yej1mdW5jdGlvbigpe3RyeXtyZXR1cm4hIXNlbGYubG9jYWxTdG9yYWdlfWNhdGNoe3JldHVybiExfX07Xy5Zej1uZXcgXy5JKCJzaGFyZUVuZHBvaW50Iik7Xy5aej1uZXcgXy5JKCJzaGFyZUVudGl0eUVuZHBvaW50Iik7Xy5NYWE9bmV3IF8uSSgic2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtfLk5hYT1uZXcgXy5JKCJ3ZWJQbGF5ZXJTaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFBPWZ1bmN0aW9uKGEsYj17fSxjKXthPShhPWEgaW4gXy4kej9fLiR6W2FdOmMpfHwiIjtmb3IobGV0IGQgaW4gYiljPSgpPT5TdHJpbmcoYltkXSksYT1hLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFwkXFx7IitkKyJcXH0iLCJnaSIpLGMpLGE9YS5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrZCwiZ2kiKSxjKTtyZXR1cm4gYX07Xy4kej13aW5kb3cueXQmJndpbmRvdy55dC5tc2dzX3x8d2luZG93Lnl0Y2ZnJiZ3aW5kb3cueXRjZmcubXNnc3x8e307Xy5yYSgieXQubXNnc18iLF8uJHopOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgY0E7Xy5iQT1mdW5jdGlvbihhKXt2YXIgYj1hLmluZGV4T2YoIjoiKTtyZXR1cm4gYj09PS0xP3tNbTphfTp7TW06YS5zdWJzdHJpbmcoMCxiKSxkYXRhc3luY0lkOmEuc3Vic3RyaW5nKGIrMSl9fTtfLmVBPWFzeW5jIGZ1bmN0aW9uKCl7cmV0dXJuIGNBIT09dm9pZCAwP2NBOmNBPW5ldyBQcm9taXNlKGFzeW5jIGE9Pnt0cnl7YXdhaXQgXy5kQS5vcGVuKCJ0ZXN0LW9ubHkiKSxhd2FpdCBfLmRBLmRlbGV0ZSgidGVzdC1vbmx5Iil9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIEVycm9yJiZiLm5hbWU9PT0iU2VjdXJpdHlFcnJvciIpe2EoITEpO3JldHVybn19YSgiY2FjaGVzImluIHdpbmRvdyl9KX07Xy5kQT1fLnUuY2FjaGVzOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmdBPW5ldyBXZWFrTWFwO18uaEE9bmV3IFNldDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiYmFzZSIpOwp2YXIgQVosQlosQ1osY3JhLERaLGVyYSxFWixGWixIWixLWixMWixNWixmcmEsUFosUVosU1osZ3JhLFZaLGNfLGRfLGVfLGZfLGdfLGhfLGlfLGpfLGtfLGlyYSxqcmEsa3JhLGxyYSxucmEsbV8sbl8sb18scF8scV8scl8sc18sdF8sdV8sdl8sd18seF8scHJhLHlfLHpfLHFyYSxBXyxycmEsc3JhLHRyYSxCXyxDXyxEXyxGXyxHXyxIXyxJXyxKXyxLXyxMXyxNXyxPXyxQXyxRXyxSXyxTXyxocmEsdXJhLHZyYSxUXyxVXyxWXyxXXyxYXyxZXyx3cmEsJF8sYTAsYjAseHJhLGQwLHlyYSxlMCx6cmEsQnJhLENyYSxEcmEsZzAsRXJhLEZyYSxHcmEsaDAsaTAsbDAsSHJhLGswLGowLG4wLElyYSxKcmEsbzAsS3JhLHAwLHEwLHIwLExyYSxNcmEsTnJhLE9yYSxQcmEsUXJhLHQwLHYwLHcwLHgwLFNyYSxUcmEseTAsQTAsQjAsQzAsRDAsRTAsRzAsVXJhLFZyYSxIMCxXcmEsWHJhLFlyYSxJMCxKMCxTMCxUMCxQMCxVMCxMMCxRMCxLMCxPMCxNMCxOMCxacmEsUjAsJHJhLFYwLGFzYSxjc2EsClgwLFkwLFowLCQwLGExLGRzYSxiMSxjMSxlc2EsZnNhLGdzYSxkMSxmMSxoc2EsZzEsanNhLGtzYSxqMSxsc2EsazEsbDEsbTEsbXNhLHIxLHNzYSx1c2EsdjEseTEsdzEsdnNhLHhzYSxCMSxDMSxEMSx5c2EsRTEsRjEsQXNhLEJzYSx6c2EsQ3NhLEVzYSxGc2EsR3NhLHFzYSxvMSxuc2EsSTEsSHNhLEcxLElzYSxKc2EsSzEsTTEsTjEsS3NhLE8xLFAxLExzYSxSMSxPc2EsUHNhLFJzYSxRMSxVMSxXMSxUc2EsJDEsWDEsVXNhLFZzYSxXc2EsWHNhLGF0YSxidGEsZjIsJHNhLFpzYSxhMixlMixiMixjdGEsZzIsaDIsaTIsazIsbDIsZXRhLGZ0YSxndGEsbjIscDIsbzIsdDIsanRhLHIyLGl0YSx3Mix2MixtdGEsbnRhLG90YSxwdGEseDIseTIsejIsQTIsQzIsdXRhLHZ0YSxFMixGMix3dGEsRzIseXRhLFpfLEkyLEoyLEwyLHp0YSxOMixPMixQMixCdGEsUTIsRHRhLFMyLFQyLFUyLEV0YSxWMixXMixGdGEsR3RhLGEzLGIzLEl0YSxlMyxKdGEsZDMsZjMsS3RhLEx0YSxNdGEsYzMsSHRhLApoMyxOdGEsazMsT3RhLFB0YSxRdGEsbTMsbjMsbDMsUnRhLG8zLHAzLFN0YSxxMyxUdGEscjMsczMsdzMsVXRhLHgzLHkzLFZ0YSxZdGEsWnRhLEMzLEQzLEUzLCR0YSxidWEsY3VhLEczLGR1YSxldWEsWHRhLEgzLEkzLGZ1YSxndWEsYzQsZDQsZTQsaHVhLGY0LGl1YSxqdWEsWXNhLGh0YSxrdWEsbnVhLGc0LGk0LHB1YSxoNCxrNCxzdWEsdHVhLGw0LG00LHZ1YSx3dWEsbzQseHVhLHl1YSxxNCx6dWEsQXVhLEJ1YSxEdWEsR3VhLHY0LEp1YSx3NCxJdWEsSHVhLEt1YSx4NCx5NCx6NCxBNCxENCxDNCxCNCxFNCxNdWEsRjQsT3VhLFB1YSxRdWEsUnVhLFN1YSxUdWEsVXVhLEk0LEs0LFp1YSwkdWEsUTQsTTQsVnVhLFI0LFM0LGF2YSxidmEsY3ZhLGR2YSxkcmEsQTMsR1osSVosSlosTl8sTlosT1osUlosVFosVVosJFosYV8sYl8sWlosWVosV1osWFosbF8sRV8sb3JhLFY0LGV2YSxXNCxYNCxmdmEsWTQsWjQsZ3ZhLGh2YSxpdmEsanZhLGt2YSwkNCxsdmEsbXZhLGE1LG52YSxiNSwKYzUsb3ZhLHB2YTtBWj1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O0JaPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5xdyhhLGIsQVooYykpfTtDWj1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbCl7aWYoISgwLF8ud3IpKGMpKXRocm93IF8uSXcoImVudW0iKTtjfD0wfXJldHVybiBfLnF3KGEsYixjKX07Y3JhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaChhLmNoYXJDb2RlQXQoYykpO3JldHVybiBifTtEWj1mdW5jdGlvbihhLGIpe3JldHVybiBhW2JdKyhhW2IrMV08PDgpKyhhW2IrMl08PDE2KSsoYVtiKzNdPDwyNCl9OwplcmE9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2MtPWQ7Yy09ZTtjXj1lPj4+MTM7ZC09ZTtkLT1jO2RePWM8PDg7ZS09YztlLT1kO2VePWQ+Pj4xMztjLT1kO2MtPWU7Y149ZT4+PjEyO2QtPWU7ZC09YztkXj1jPDwxNjtlLT1jO2UtPWQ7ZV49ZD4+PjU7Yy09ZDtjLT1lO2NePWU+Pj4zO2QtPWU7ZC09YztkXj1jPDwxMDtlLT1jO2UtPWQ7ZV49ZD4+PjE1fWE9Y3JhKGEpO2Zvcih2YXIgYz0yNjU0NDM1NzY5LGQ9MjY1NDQzNTc2OSxlPTMxNDE1OTI2NSxmPWEubGVuZ3RoLGg9ZixrPTA7aD49MTI7aC09MTIsays9MTIpYys9RFooYSxrKSxkKz1EWihhLGsrNCksZSs9RFooYSxrKzgpLGIoKTtlKz1mO3N3aXRjaChoKXtjYXNlIDExOmUrPWFbaysxMF08PDI0O2Nhc2UgMTA6ZSs9YVtrKzldPDwxNjtjYXNlIDk6ZSs9YVtrKzhdPDw4O2Nhc2UgODpkKz1hW2srN108PDI0O2Nhc2UgNzpkKz1hW2srNl08PDE2O2Nhc2UgNjpkKz1hW2srNV08PDg7Y2FzZSA1OmQrPWFbays0XTtjYXNlIDQ6Yys9CmFbayszXTw8MjQ7Y2FzZSAzOmMrPWFbaysyXTw8MTY7Y2FzZSAyOmMrPWFbaysxXTw8ODtjYXNlIDE6Yys9YVtrXX1iKCk7cmV0dXJuIGRyYS50b1N0cmluZyhlKX07RVo9ZnVuY3Rpb24oYSxiKXthLmFkZE9uRGlzcG9zZUNhbGxiYWNrKF8uRGEoXy5aZCxiKSl9O0ZaPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVWludDhBcnJheShfLnd3KGEpfHwwKX07SFo9ZnVuY3Rpb24oYSl7cmV0dXJuKEdafHwoR1o9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKGEpfTtLWj1mdW5jdGlvbihhKXt2YXIgYj1hPj4+MDtJWj1iO0paPShhLWIpLzQyOTQ5NjcyOTY+Pj4wfTtMWj1mdW5jdGlvbihhKXtpZihhPDApe0taKC1hKTthPUlaO3ZhciBiPUpaO2I9fmI7YT9hPX5hKzE6Yis9MTtsZXQgW2MsZF09W2EsYl07SVo9Yz4+PjA7Slo9ZD4+PjB9ZWxzZSBLWihhKX07Ck1aPWZ1bmN0aW9uKGEpe2EubGVuZ3RoPDE2P0xaKE51bWJlcihhKSk6KGE9QmlnSW50KGEpLElaPU51bWJlcihhJkJpZ0ludCg0Mjk0OTY3Mjk1KSk+Pj4wLEpaPU51bWJlcihhPj5CaWdJbnQoMzIpJkJpZ0ludCg0Mjk0OTY3Mjk1KSkpfTsKZnJhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIG5ldyBOWihfLnV3KGEpLCEwKTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBuZXcgTloobmV3IFVpbnQ4QXJyYXkoYSksITApO2lmKGEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5KXJldHVybiBuZXcgTlooYSwhMSk7aWYoYS5jb25zdHJ1Y3Rvcj09PUFycmF5QnVmZmVyKXJldHVybiBhPW5ldyBVaW50OEFycmF5KGEpLG5ldyBOWihhLCExKTtpZihhLmNvbnN0cnVjdG9yPT09Xy5SYyl7bGV0IGI9Xy53dyhhKXx8bmV3IFVpbnQ4QXJyYXkoMCk7cmV0dXJuIG5ldyBOWihiLCEwLGEpfWlmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBhPWEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5P2E6bmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsYS5ieXRlT2Zmc2V0LGEuYnl0ZUxlbmd0aCksbmV3IE5aKGEsITEpO3Rocm93IEVycm9yKCk7fTsKUFo9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubz09PTA/bmV3IE9aKDAsMSt+YS5qKTpuZXcgT1oofmEubysxLH5hLmopfTtRWj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IE9aKGEmNDI5NDk2NzI5NSxNYXRoLmZsb29yKGEvNDI5NDk2NzI5NikpfTtTWj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gUlp8fChSWj1uZXcgT1ooMCwwKSk7aWYoIS9eXGQrJC8udGVzdChhKSlyZXR1cm4gbnVsbDtNWihhKTtyZXR1cm4gbmV3IE9aKElaLEpaKX07Z3JhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVFooYSY0Mjk0OTY3Mjk1LE1hdGguZmxvb3IoYS80Mjk0OTY3Mjk2KSl9O1ZaPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBVWnx8KFVaPW5ldyBUWigwLDApKTtpZighL14tP1xkKyQvLnRlc3QoYSkpcmV0dXJuIG51bGw7TVooYSk7cmV0dXJuIG5ldyBUWihJWixKWil9OwpjXz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIEJpZ0ludDY0QXJyYXkhPT0idW5kZWZpbmVkIilyZXR1cm4gV1p8fChXWj1uZXcgQmlnSW50NjRBcnJheSgxKSxYWj1uZXcgVWludDMyQXJyYXkoV1ouYnVmZmVyKSxXWlswXT1CaWdJbnQoMSksWVo9WFpbMF09PT0xKSxXWlswXT1hLGE9WVo/MDoxLG5ldyBiKFhaW2FdLFhaWzEtYV0pO1pafHwoJFo9QmlnSW50KE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSxhXz1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLGJfPUJpZ0ludCg0Mjk0OTY3Mjk1KSxaWj1CaWdJbnQoMzIpKTtpZihhPj0kWiYmYTw9YV8pcmV0dXJuIGMoTnVtYmVyKGEpKTthPUJpZ0ludC5hc1VpbnROKDY0LGEpO3JldHVybiBuZXcgYihOdW1iZXIoYSZiXyksTnVtYmVyKGE+PlpaKSl9O2RfPWZ1bmN0aW9uKGEsYixjKXtmb3IoO2M+MHx8Yj4xMjc7KWEuai5wdXNoKGImMTI3fDEyOCksYj0oYj4+Pjd8Yzw8MjUpPj4+MCxjPj4+PTc7YS5qLnB1c2goYil9OwplXz1mdW5jdGlvbihhLGIpe2Euai5wdXNoKGI+Pj4wJjI1NSk7YS5qLnB1c2goYj4+PjgmMjU1KTthLmoucHVzaChiPj4+MTYmMjU1KTthLmoucHVzaChiPj4+MjQmMjU1KX07Zl89ZnVuY3Rpb24oYSxiKXtpZihiPj0wKV8uWHkoYSxiKTtlbHNle2ZvcihsZXQgYz0wO2M8OTtjKyspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj49NzthLmoucHVzaCgxKX19O2dfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjpTWihhKX19O2hfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjphLmxlbmd0aCYmYVswXT09PSItIj9TWihhLnN1YnN0cmluZygxKSk6U1ooYSl9fTsKaV89ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpc3dpdGNoKGdfKGMpLF8uWnkoYSxiLDEpLHR5cGVvZiBjKXtjYXNlICJudW1iZXIiOmE9YS5qO0taKGMpO2VfKGEsSVopO2VfKGEsSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhjLE9aLFFaKTthPWEuajtiPWMuajtlXyhhLGMubyk7ZV8oYSxiKTticmVhaztkZWZhdWx0OmM9U1ooYyksYT1hLmosYj1jLmosZV8oYSxjLm8pLGVfKGEsYil9fTtqXz1mdW5jdGlvbihhLGIsYyl7YyE9bnVsbCYmKGM9cGFyc2VJbnQoYywxMCksXy5aeShhLGIsMCksZl8oYS5qLGMpKX07a189ZnVuY3Rpb24oYSxiLGMpe18uWnkoYSxiLDIpO18uWHkoYS5qLGMubGVuZ3RoKTtfLll5KGEsYS5qLmVuZCgpKTtfLll5KGEsYyl9OwppcmE9ZnVuY3Rpb24oYSl7dmFyIGI9InRydWUiLnRvU3RyaW5nKCksYz1baHJhYGRhdGEtYF07aWYoYy5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJoIik7aWYoYy5tYXAoZD0+e2lmKGQgaW5zdGFuY2VvZiBsXylkPWQuajtlbHNlIHRocm93IEVycm9yKCJoIik7cmV0dXJuIGR9KS5ldmVyeShkPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoZCkhPT0wKSl0aHJvdyBFcnJvcigiaWBkYXRhLWxvYWRlZCIpO2Euc2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIsYil9O2pyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYSxiLHZvaWQgMCl9O2tyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYSxiLHtkdXJhdGlvbjowfSl9O2xyYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPmI/MTphPGI/LTE6MH07Cm5yYT1mdW5jdGlvbigpe3ZhciBhPW1yYTtyZXR1cm4gXy5DYyhiPT57Zm9yKGxldCBjIGluIGEpaWYoYj09PWFbY10mJiEvXlswLTldKyQvLnRlc3QoYykpcmV0dXJuITA7cmV0dXJuITF9KX07bV89ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO3ZhciBjO2I8PTIwOTcxNTE/Yz0iIisoNDI5NDk2NzI5NipiK2EpOmM9IiIrKEJpZ0ludChiKTw8QmlnSW50KDMyKXxCaWdJbnQoYSkpO3JldHVybiBjfTtuXz1mdW5jdGlvbihhLGIpe3ZhciBjPWIqNDI5NDk2NzI5NisoYT4+PjApO3JldHVybiBOdW1iZXIuaXNTYWZlSW50ZWdlcihjKT9jOm1fKGEsYil9O29fPWZ1bmN0aW9uKCl7dmFyIGE9SVosYj1KWixjO2ImMjE0NzQ4MzY0OD9jPSIiKyhCaWdJbnQoYnwwKTw8QmlnSW50KDMyKXxCaWdJbnQoYT4+PjApKTpjPW1fKGEsYik7cmV0dXJuIGN9OwpwXz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IEVycm9yKCJxYCIrdHlwZW9mIGErImAiK2EpO3JldHVybiBhfTtxXz1mdW5jdGlvbihhKXtpZihhPT1udWxsfHx0eXBlb2YgYT09PSJudW1iZXIiKXJldHVybiBhO2lmKGE9PT0iTmFOInx8YT09PSJJbmZpbml0eSJ8fGE9PT0iLUluZmluaXR5IilyZXR1cm4gTnVtYmVyKGEpfTtyXz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4oMCxfLndyKShhKTtjYXNlICJzdHJpbmciOnJldHVybiBvcmEudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07c189ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hPj4+MDp2b2lkIDB9Owp0Xz1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLnhyKShOdW1iZXIoYSkpO2lmKCgwLF8udnIpKGIpKXJldHVybiBfLkZjKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxCaWdJbnQoYSkpKX07dV89ZnVuY3Rpb24oYSl7dmFyIGI9KDAsXy54cikoTnVtYmVyKGEpKTtpZigoMCxfLnZyKShiKSlyZXR1cm4gU3RyaW5nKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtiPWEubGVuZ3RoOyhhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3Iil8fChNWihhKSxhPW9fKCkpO3JldHVybiBhfTsKdl89ZnVuY3Rpb24oYSl7YT0oMCxfLnhyKShhKTtpZighKDAsXy52cikoYSkpe0xaKGEpO3ZhciBiPUlaLGM9Slo7aWYoYT1jJjIxNDc0ODM2NDgpYj1+YisxPj4+MCxjPX5jPj4+MCxiPT0wJiYoYz1jKzE+Pj4wKTtiPW5fKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O3dfPWZ1bmN0aW9uKGEpe2E9KDAsXy54cikoYSk7KDAsXy52cikoYSk/YT1TdHJpbmcoYSk6KExaKGEpLGE9b18oKSk7cmV0dXJuIGF9O3hfPWZ1bmN0aW9uKGEpe3JldHVybigwLF8udnIpKGEpP18uRmModl8oYSkpOl8uRmMod18oYSkpfTsKcHJhPWZ1bmN0aW9uKGEpe3ZhciBiPXZvaWQgMDtiPTEwMjQ7aWYoIXJfKGEpKXRocm93IF8uSXcoImludDY0Iik7dmFyIGM9dHlwZW9mIGE7c3dpdGNoKGIpe2Nhc2UgNTEyOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIHdfKGEpfWNhc2UgMTAyNDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gdF8oYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4geF8oYSl9Y2FzZSAwOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBfLkZjKCgwLF8udHIpKDY0LGEpKTtkZWZhdWx0OnJldHVybiB2XyhhKX1kZWZhdWx0OnJldHVybiBfLmViKGIsIlVua25vd24gZm9ybWF0IHJlcXVlc3RlZCB0eXBlIGZvciBpbnQ2NCIpfX07CnlfPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6cHJhKGEpfTt6Xz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtpZihhPT1udWxsKXJldHVybiBhO2lmKGI9PT0iYmlnaW50IilyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7aWYocl8oYSkpcmV0dXJuIGI9PT0ic3RyaW5nIj90XyhhKTp4XyhhKX07cXJhPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIGE7dmFyIGI9dHlwZW9mIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2lmKHJfKGEpKXtpZihiPT09InN0cmluZyIpcmV0dXJuIHVfKGEpO2lmKGI9PT0ibnVtYmVyIilyZXR1cm4gdl8oYSl9fTsKQV89ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTt2YXIgYj10eXBlb2YgYTtpZihiPT09ImJpZ2ludCIpcmV0dXJuIFN0cmluZygoMCxfLnVyKSg2NCxhKSk7aWYocl8oYSkpe2lmKGI9PT0ic3RyaW5nIilyZXR1cm4gYj0oMCxfLnhyKShOdW1iZXIoYSkpLCgwLF8udnIpKGIpJiZiPj0wP2E9U3RyaW5nKGIpOihiPWEuaW5kZXhPZigiLiIpLGIhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSksYVswXT09PSItIj9iPSExOihiPWEubGVuZ3RoLGI9YjwyMD8hMDpiPT09MjAmJmE8PSIxODQ0Njc0NDA3MzcwOTU1MTYxNSIpLGJ8fChNWihhKSxhPW1fKElaLEpaKSkpLGE7aWYoYj09PSJudW1iZXIiKXJldHVybiBhPSgwLF8ueHIpKGEpLGE+PTAmJigwLF8udnIpKGEpfHwoTFooYSksYT1uXyhJWixKWikpLGF9fTtycmE9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PSJzdHJpbmcifHxhIGluc3RhbmNlb2YgXy5SYylyZXR1cm4gYX07CnNyYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O3RyYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5OdyhhLCEwKX07Ql89ZnVuY3Rpb24oYSl7YT1fLmVkKGEsMSx2b2lkIDAsdm9pZCAwLHRyYSk7cmV0dXJuIGE9PW51bGw/Xy5NdygpOmF9OwpDXz1mdW5jdGlvbihhLGIsYyl7Xy5udyhhKTt2YXIgZD1hLkRhLGU9ZFtfLkFjXXwwO2lmKGI9PW51bGwpcmV0dXJuIF8ucHcoZCxlLDMpLGE7dmFyIGY9Yj09PV8ubXI/NzpiW18uQWNdfDAsaD1mLGs9Xy5UeShmKSxsPWt8fE9iamVjdC5pc0Zyb3plbihiKTtrfHwoZj0wKTtsfHwoYj1bLi4uYl0saD0wLGY9Xy5VeShmLGUpLGw9ITEpO2Z8PTU7az0oNCZmPzUxMiZmPzUxMjoxMDI0JmY/MTAyNDowOnZvaWQgMCk/PzEwMjQ7Znw9aztmb3IobGV0IG09MDttPGIubGVuZ3RoO20rKyl7bGV0IG49YlttXSxwPWMobixrKTtPYmplY3QuaXMobixwKXx8KGwmJihiPVsuLi5iXSxoPTAsZj1fLlV5KGYsZSksbD0hMSksYlttXT1wKX1mIT09aCYmKGwmJihiPVsuLi5iXSxmPV8uVXkoZixlKSksYltfLkFjXT1mKTtfLnB3KGQsZSwzLGIpO3JldHVybiBhfTsKRF89ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5nZXQoZCk7aWYoZSE9bnVsbClyZXR1cm4gZTtlPTA7Zm9yKGxldCBmPTA7ZjxkLmxlbmd0aDtmKyspe2xldCBoPWRbZl07Xy5kZChiLGgpIT1udWxsJiYoZSE9PTAmJihjPV8ucHcoYixjLGUpKSxlPWgpfWEuc2V0KGQsZSk7cmV0dXJuIGV9O0ZfPWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7YT1hLkRhO3ZhciBlPWFbXy5BY118MDtpZihkPT1udWxsKXt2YXIgZj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2lmKERfKGYsYSxlLGMpPT09YilmLnNldChjLDApO2Vsc2UgcmV0dXJufWVsc2V7Zj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2xldCBoPURfKGYsYSxlLGMpO2ghPT1iJiYoaCYmKGU9Xy5wdyhhLGUsaCkpLGYuc2V0KGMsYikpfV8ucHcoYSxlLGIsZCl9O0dfPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkRhO3JldHVybiBfLld5KGEsZCxkW18uQWNdfDAsYixjLHZvaWQgMD09PV8ub3I/Mjo0LCExLCEwKX07CkhfPWZ1bmN0aW9uKGEsYixjKXtfLm53KGEpO3ZhciBkPWEuRGEsZT1kW18uQWNdfDA7aWYoYz09bnVsbClyZXR1cm4gXy5wdyhkLGUsYiksYTt2YXIgZj1jPT09Xy5tcj83OmNbXy5BY118MCxoPWYsaz1fLlR5KGYpLGw9a3x8T2JqZWN0LmlzRnJvemVuKGMpLG09ITAsbj0hMDtmb3IobGV0IHI9MDtyPGMubGVuZ3RoO3IrKyl7dmFyIHA9Y1tyXTtrfHwocD1fLkJjKHApLG0mJihtPSFwKSxuJiYobj1wKSl9a3x8KGY9bT8xMzo1LGY9bj9mJi00MDk3OmZ8NDA5Nik7bCYmZj09PWh8fChjPVsuLi5jXSxoPTAsZj1fLlV5KGYsZSkpO2YhPT1oJiYoY1tfLkFjXT1mKTtlPV8ucHcoZCxlLGIsYyk7MiZmfHwhKDQwOTYmZnx8MTYmZil8fF8ub3coZCxlKTtyZXR1cm4gYX07SV89ZnVuY3Rpb24oYSxiLGM9Xy55cil7cmV0dXJuIF8uZWQoYSxiLHZvaWQgMCx2b2lkIDAsel8pPz9jfTtKXz1mdW5jdGlvbihhLGIsYz0iIixkKXtyZXR1cm4gXy5YdChfLmVkKGEsYixkKSk/P2N9OwpLXz1mdW5jdGlvbihhKXthPV8uZWQoYSwxKTtyZXR1cm4oYT09bnVsbD9hOigwLF8ud3IpKGEpP2F8MDp2b2lkIDApPz8wfTtMXz1mdW5jdGlvbihhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShiKSl7dmFyIGQ9YltfLkFjXXwwO2lmKGQmNClyZXR1cm4gYjtmb3IodmFyIGU9MCxmPTA7ZTxiLmxlbmd0aDtlKyspe2xldCBoPWEoYltlXSk7aCE9bnVsbCYmKGJbZisrXT1oKX1mPGUmJihiLmxlbmd0aD1mKTthPWR8MTtjJiYoYT0oYXw0KSYtMTUzNyk7YSE9PWQmJihiW18uQWNdPWEpO2MmJmEmMiYmT2JqZWN0LmZyZWV6ZShiKTtyZXR1cm4gYn19O01fPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9OwpPXz1mdW5jdGlvbihhLGIsYyl7Yj1xXyhiKTtiIT1udWxsJiYoXy5aeShhLGMsMSksYT1hLmosYz1OX3x8KE5fPW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxjLnNldEZsb2F0NjQoMCwrYiwhMCksSVo9Yy5nZXRVaW50MzIoMCwhMCksSlo9Yy5nZXRVaW50MzIoNCwhMCksZV8oYSxJWiksZV8oYSxKWikpfTtQXz1mdW5jdGlvbihhLGIsYyl7Yj1xcmEoYik7aWYoYiE9bnVsbCl7c3dpdGNoKHR5cGVvZiBiKXtjYXNlICJzdHJpbmciOlZaKGIpfWlmKGIhPW51bGwpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLFRaLGdyYSk7ZF8oYS5qLGMubyxjLmopO2JyZWFrO2RlZmF1bHQ6Yz1WWihiKSxkXyhhLmosYy5vLGMuail9fX07UV89ZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksZl8oYS5qLGIpKX07ClJfPWZ1bmN0aW9uKGEsYixjKXtiPV8uWHQoYik7YiE9bnVsbCYma18oYSxjLEhaKGIpKX07U189ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pl8uWHgoYSxiKX07aHJhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgbF8oYVswXS50b0xvd2VyQ2FzZSgpKX07Xy5lVj1mdW5jdGlvbihhLGIpe3RoaXMueD1hIT09dm9pZCAwP2E6MDt0aGlzLnk9YiE9PXZvaWQgMD9iOjB9O3VyYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gXy5zcylpZihhLmNhbGwodm9pZCAwLF8uc3NbYl0sYixfLnNzKSlyZXR1cm4gYn07dnJhPWZ1bmN0aW9uKGEsYil7aWYoYSE9PW51bGwmJmIgaW4gYSl0aHJvdyBFcnJvcigiQWAiK2IpO2FbYl09ITB9O1RfPWZ1bmN0aW9uKGEpe3JldHVybiBhIT09bnVsbCYmInByaXZlbWJlZCJpbiBhP2EucHJpdmVtYmVkOiExfTtVXz1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgaW4gYSliW2NdPWFbY107cmV0dXJuIGJ9OwpWXz1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudDtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj9iLmdldEVsZW1lbnRCeUlkKGEpOmF9O1dfPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYjtiPWEuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChiKX07WF89ZnVuY3Rpb24oYSl7dHlwZW9mIGE9PSJudW1iZXIiJiYoYT1NYXRoLnJvdW5kKGEpKyJweCIpO3JldHVybiBhfTtZXz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVNhZmVTY3JpcHRXcmFwcGVkVmFsdWUpP18ua2IoYSk6bnVsbDpudWxsfTt3cmE9ZnVuY3Rpb24oKXt2YXIgYT1aXztfLnNhKCJ5dC5hZHMuYmlzY290dGkuZ2V0SWRfIil8fF8ucmEoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iLGEpfTskXz1mdW5jdGlvbihhKXtfLnJhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIsYSl9OwphMD1mdW5jdGlvbihhKXtyZXR1cm4gYS5pbmRleE9mKCI/IikhPT0tMT8oYT0oYXx8IiIpLnNwbGl0KCIjIilbMF0sYT1hLnNwbGl0KCI/IiwyKSxfLmJqKGEubGVuZ3RoPjE/YVsxXTphWzBdKSk6e319O2IwPWZ1bmN0aW9uKGEpe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IGI9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDthLmo9YS5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO2Eubz1hLmNsaWVudFkrYn19Owp4cmE9ZnVuY3Rpb24oYSxiLGMsZD17fSl7YS5hZGRFdmVudExpc3RlbmVyJiYoYiE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P2IhPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9iPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoYj0iTW96TW91c2VQaXhlbFNjcm9sbCIpOmI9Im1vdXNlb3V0IjpiPSJtb3VzZW92ZXIiKTtyZXR1cm4gdXJhKGU9Pnt2YXIgZj10eXBlb2YgZVs0XT09PSJib29sZWFuIiYmZVs0XT09ISFkLGg7aWYoaD1fLkFhKGVbNF0pJiZfLkFhKGQpKWE6e2g9ZVs0XTtmb3IobGV0IGsgaW4gaClpZighKGsgaW4gZCl8fGhba10hPT1kW2tdKXtoPSExO2JyZWFrIGF9Zm9yKGxldCBrIGluIGQpaWYoIShrIGluIGgpKXtoPSExO2JyZWFrIGF9aD0hMH1yZXR1cm4hIWUubGVuZ3RoJiZlWzBdPT1hJiZlWzFdPT1iJiZlWzJdPT1jJiYoZnx8aCl9KX07CmQwPWZ1bmN0aW9uKGEsYixjLGQ9e30pe2lmKCFhfHwhYS5hZGRFdmVudExpc3RlbmVyJiYhYS5hdHRhY2hFdmVudClyZXR1cm4iIjt2YXIgZT14cmEoYSxiLGMsZCk7aWYoZSlyZXR1cm4gZTtlPSsrXy50cy5jb3VudCsiIjt2YXIgZj0hKGIhPSJtb3VzZWVudGVyIiYmYiE9Im1vdXNlbGVhdmUifHwhYS5hZGRFdmVudExpc3RlbmVyfHwib25tb3VzZWVudGVyImluIGRvY3VtZW50KTt2YXIgaD1mP2s9PntrPW5ldyBjMChrKTtpZighXy5ndyhrLnJlbGF0ZWRUYXJnZXQsbD0+bD09YSwhMCkpcmV0dXJuIGsuY3VycmVudFRhcmdldD1hLGsudHlwZT1iLGMuY2FsbChhLGspfTprPT57az1uZXcgYzAoayk7ay5jdXJyZW50VGFyZ2V0PWE7cmV0dXJuIGMuY2FsbChhLGspfTtoPV8uVmkoaCk7YS5hZGRFdmVudExpc3RlbmVyPyhiPT0ibW91c2VlbnRlciImJmY/Yj0ibW91c2VvdmVyIjpiPT0ibW91c2VsZWF2ZSImJmY/Yj0ibW91c2VvdXQiOmI9PSJtb3VzZXdoZWVsIiYmIk1vekJveFNpemluZyJpbgpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJihiPSJNb3pNb3VzZVBpeGVsU2Nyb2xsIiksKDAsXy51cykoKXx8dHlwZW9mIGQ9PT0iYm9vbGVhbiI/YS5hZGRFdmVudExpc3RlbmVyKGIsaCxkKTphLmFkZEV2ZW50TGlzdGVuZXIoYixoLCEhZC5jYXB0dXJlKSk6YS5hdHRhY2hFdmVudChgb24ke2J9YCxoKTtfLnNzW2VdPVthLGIsYyxoLGRdO3JldHVybiBlfTt5cmE9ZnVuY3Rpb24oYSl7YSYmKHR5cGVvZiBhPT0ic3RyaW5nIiYmKGE9W2FdKSxfLnRiKGEsYj0+e2lmKGIgaW4gXy5zcyl7dmFyIGM9Xy5zc1tiXTtsZXQgZD1jWzBdLGU9Y1sxXSxmPWNbM107Yz1jWzRdO2QucmVtb3ZlRXZlbnRMaXN0ZW5lcj8oMCxfLnVzKSgpfHx0eXBlb2YgYz09PSJib29sZWFuIj9kLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxmLGMpOmQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGYsISFjLmNhcHR1cmUpOmQuZGV0YWNoRXZlbnQmJmQuZGV0YWNoRXZlbnQoYG9uJHtlfWAsZik7ZGVsZXRlIF8uc3NbYl19fSkpfTsKZTA9ZnVuY3Rpb24oYSl7dGhpcy5NPWE7dGhpcy5qPW51bGw7dGhpcy5CPTA7dGhpcy5JPW51bGw7dGhpcy5EPTA7dGhpcy5vPVtdO2ZvcihhPTA7YTw0O2ErKyl0aGlzLm8ucHVzaCgwKTt0aGlzLnY9MDt0aGlzLlo9ZDAod2luZG93LCJtb3VzZW1vdmUiLCgwLF8uQ2EpKHRoaXMuZ2EsdGhpcykpO2E9KDAsXy5DYSkodGhpcy5VLHRoaXMpO3R5cGVvZiBhPT09ImZ1bmN0aW9uIiYmKGE9Xy5WaShhKSk7dGhpcy5oYT13aW5kb3cuc2V0SW50ZXJ2YWwoYSwyNSl9O3pyYT1mdW5jdGlvbigpe3ZhciBhPV8ucmooImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP18uSHcoYSxiPT5OdW1iZXIoYnx8MCkpOltOdW1iZXIoYXx8MCldfTsKQnJhPWZ1bmN0aW9uKCl7KHtoYW5kbGVFcnJvcjphPV8uSHAsbG06Yj1fLkVwfT17fSk7dmFyIGE7Zm9yKF8uR2s9bmV3IEFyYShhLGIpO18uSGsubGVuZ3RoPjA7KXt2YXIgYj1fLkhrLnNoaWZ0KCk7c3dpdGNoKGIudHlwZSl7Y2FzZSAiRVJST1IiOl8uR2suSmIoYi5wYXlsb2FkKTticmVhaztjYXNlICJFVkVOVCI6Xy5Hay5sbShiLmV2ZW50VHlwZSxiLnBheWxvYWQpfX19O0NyYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2woZD0+Yz9kLnVzZXJJZGVudGlmaWVyIT09dm9pZCAwJiYhYS5pbmNsdWRlcyhkLnVzZXJJZGVudGlmaWVyKSYmYy5pbmNsdWRlcyhkLnB1YmxpY05hbWUpOmQudXNlcklkZW50aWZpZXIhPT12b2lkIDAmJiFhLmluY2x1ZGVzKGQudXNlcklkZW50aWZpZXIpLGIpfTsKRHJhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPV8uVmooIll0SWRiTWV0YSBoYXNBbnlNZXRhIG90aGVyIik7cmV0dXJuKGF3YWl0IF8uR2woYz0+Yy51c2VySWRlbnRpZmllciE9PXZvaWQgMCYmYy51c2VySWRlbnRpZmllciE9PWIsYSkpLmxlbmd0aD4wfTtnMD1mdW5jdGlvbihhLGIpe2YwfHwoZjA9Xy5qZi5wYihhc3luYygpPT57dmFyIGM9YXdhaXQgXy5QbCgpO2lmKGMpe3ZhciBkPSEwO3RyeXtsZXQgZT1hd2FpdCBDcmEoYSxjLGIpO2lmKGUubGVuZ3RoKXtsZXQgZj1lWzBdO2F3YWl0IF8uQWwoZi5hY3R1YWxOYW1lKTthd2FpdCBfLkZsKGYuYWN0dWFsTmFtZSxjKX1lbHNlIGQ9ITF9Y2F0Y2goZSl7Xy5JayhlKSxkPSExfV8uamYuQWEoZjApO2YwPTA7ZCYmZzAoYSxiKX19KSl9O0VyYT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPWF3YWl0IF8uUGwoKTtyZXR1cm4gYT9EcmEoYSk6ITF9OwpGcmE9ZnVuY3Rpb24oYSl7KDAsXy5lbCkoKTtpZighYS5ib2R5KXJldHVybiBhO3RyeXtsZXQgYj10eXBlb2YgYS5ib2R5PT09InN0cmluZyI/YS5ib2R5OkpTT04uc3RyaW5naWZ5KGEuYm9keSksYz1iO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe2xldCBkPV8udW0oYik7aWYoZCE9bnVsbCYmKGQ+Xy53bXx8ZDxfLnhtKSlyZXR1cm4gYTtjPV8uTmkoKDAsXy55bSkoYikpOygwLF8uZWwpKCl9YS5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihhLmhlYWRlcnN8fHt9KX07YS5ib2R5PWM7cmV0dXJuIGF9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksYX19O0dyYT1hc3luYyBmdW5jdGlvbigpe2F3YWl0IF8uUGwoKSYmKF8uV2ooKXx8Xy54KCJud2xfaW5pdF9yZXF1aXJlX2RhdGFzeW5jX2lkX2tpbGxzd2l0Y2giKSkmJl8uc24oKSYmKF8udW49ITAsXy50bi5pc053bEluaXRpYWxpemVkPV8udW4sYXdhaXQgXy5wbigpLmF3YWl0SW5pdGlhbGl6YXRpb24oKSl9OwpoMD1mdW5jdGlvbihhKXtfLlNzW2FdJiYoYT1fLlNzW2FdLF8udGIoYSxiPT57Xy5Sc1tiXSYmZGVsZXRlIF8uUnNbYl19KSxhLmxlbmd0aD0wKX07aTA9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5MeigpO2lmKGIpaWYoYi5jbGVhcihhKSxhKWgwKGEpO2Vsc2UgZm9yKGxldCBjIGluIF8uU3MpaDAoYyl9O2wwPWZ1bmN0aW9uKHt1SzphPSExLE1JOmI9ITB9PXt9KXtpZihfLnNhKCJfbGFjdCIsd2luZG93KT09bnVsbCl7dmFyIGM9cGFyc2VJbnQoXy53KCJMQUNUIiksMTApO2M9aXNGaW5pdGUoYyk/RGF0ZS5ub3coKS1NYXRoLm1heChjLDApOi0xO18ucmEoIl9sYWN0IixjLHdpbmRvdyk7Xy5yYSgiX2ZhY3QiLGMsd2luZG93KTtjPT0tMSYmajAoKTtIcmEoYSxiKTtuZXcgZTAoKCk9PntrMCgibW91c2UiLDEwMCl9KX19OwpIcmE9ZnVuY3Rpb24oYT0hMSxiPSEwKXt2YXIgYz13aW5kb3c7ZDAoYy5kb2N1bWVudCwia2V5ZG93biIsajApO2QwKGMuZG9jdW1lbnQsImtleXVwIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2Vkb3duIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2V1cCIsajApO2E/ZDAoYywidG91Y2htb3ZlIiwoKT0+e2swKCJ0b3VjaG1vdmUiLDIwMCl9LHtwYXNzaXZlOiEwfSk6KGQwKGMsInJlc2l6ZSIsKCk9PntrMCgicmVzaXplIiwyMDApfSksYiYmZDAoYywic2Nyb2xsIiwoKT0+e2swKCJzY3JvbGwiLDIwMCl9KSk7ZDAoYy5kb2N1bWVudCwidG91Y2hzdGFydCIsajAse3Bhc3NpdmU6ITB9KTtkMChjLmRvY3VtZW50LCJ0b3VjaGVuZCIsajAse3Bhc3NpdmU6ITB9KX07azA9ZnVuY3Rpb24oYSxiKXttMFthXXx8KG0wW2FdPSEwLF8uamYucGIoKCk9PntqMCgpO20wW2FdPSExfSxiKSl9OwpqMD1mdW5jdGlvbigpe18uc2EoIl9sYWN0Iix3aW5kb3cpPT1udWxsJiZsMCgpO3ZhciBhPURhdGUubm93KCk7Xy5yYSgiX2xhY3QiLGEsd2luZG93KTtfLnNhKCJfZmFjdCIsd2luZG93KT09LTEmJl8ucmEoIl9mYWN0IixhLHdpbmRvdyk7KGE9Xy5zYSgieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJmEoKX07bjA9ZnVuY3Rpb24oKXt2YXIgYT1fLmtvKCk7YS5pbmZvfHwoYS5pbmZvPXt9KTtyZXR1cm4gYS5pbmZvfTtJcmE9ZnVuY3Rpb24oKXt2YXIgYT1fLm5vKCk7YS5wcmVMb2dnZWRHZWxJbmZvc3x8KGEucHJlTG9nZ2VkR2VsSW5mb3M9W10pO3JldHVybiBhLnByZUxvZ2dlZEdlbEluZm9zfTsKSnJhPWZ1bmN0aW9uKGEsYj0iVW5rbm93biBmaWxlIixjPTAsZCxlLGYpe3ZhciBoPSExLGs9Xy5SaSgibG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uIik7aWYoayYmTWF0aC5yYW5kb20oKTxrKWg9ITA7ZWxzZXtrPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTtmb3IobGV0IGw9MCxtPWsubGVuZ3RoO2w8bTtsKyspaWYoa1tsXS5zcmMuaW5kZXhPZigiL2RlYnVnLSIpPjApe2g9ITA7YnJlYWt9fWgmJihoPSExLGU/aD0hMDoodHlwZW9mIGE9PT0ic3RyaW5nIj9rPWE6RXJyb3JFdmVudCYmYSBpbnN0YW5jZW9mIEVycm9yRXZlbnQ/KGg9ITAsaz1hLm1lc3NhZ2UsYj1hLmZpbGVuYW1lLGM9YS5saW5lbm8sZD1hLmNvbG5vKTooaz0iVW5rbm93biBlcnJvciIsYj0iVW5rbm93biBmaWxlIixjPTApLGU9bmV3IF8uWGooayksZS5uYW1lPSJVbmhhbmRsZWRXaW5kb3dFcnJvciIsZS5tZXNzYWdlPWssZS5maWxlTmFtZT1iLGUubGluZU51bWJlcj1jLGlzTmFOKGQpPwpkZWxldGUgZS5jb2x1bW5OdW1iZXI6ZS5jb2x1bW5OdW1iZXI9ZCksZiYmXy5jdyhlLGYpLGg/Xy5HcChlKTpfLklwKGUpKX07bzA9ZnVuY3Rpb24oYSl7YSBpbnN0YW5jZW9mIEVycm9yP18uR3AoYSk6KGE9Xy5BYShhKT9KU09OLnN0cmluZ2lmeShhKTpTdHJpbmcoYSksYT1uZXcgXy5YaihhKSxhLm5hbWU9IlJlamVjdGVkUHJvbWlzZUVycm9yIixfLklwKGEpKX07S3JhPWZ1bmN0aW9uKCl7Xy50YihfLncoIkVSUk9SUyIpfHxbXSxhPT57Xy5HcC5hcHBseShudWxsLGEpfSk7Xy5RaSgiRVJST1JTIixbXSl9O3AwPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueCgiY3NpX3VzZV90aW1lX29yaWdpbiIpfHxfLngoImNzaV91c2VfdGltZV9vcmlnaW5fdHZodG1sNSIpKSYmXy5zcS50aW1lT3JpZ2luP01hdGguZmxvb3IoXy5zcS50aW1lT3JpZ2luKTpfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9O3EwPWZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLnJvdW5kKHAwKCkrYSl9OwpyMD1mdW5jdGlvbigpe3ZhciBhO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpPyhhPV8uc3E/LmdldEVudHJpZXNCeVR5cGU/LigibmF2aWdhdGlvbiIpPy5bMF0/LnRvSlNPTj8uKCkpPyhhLnJlcXVlc3RTdGFydD1xMChhLnJlcXVlc3RTdGFydCksYS5yZXNwb25zZUVuZD1xMChhLnJlc3BvbnNlRW5kKSxhLnJlZGlyZWN0U3RhcnQ9cTAoYS5yZWRpcmVjdFN0YXJ0KSxhLnJlZGlyZWN0RW5kPXEwKGEucmVkaXJlY3RFbmQpLGEuZG9tYWluTG9va3VwRW5kPXEwKGEuZG9tYWluTG9va3VwRW5kKSxhLmNvbm5lY3RTdGFydD1xMChhLmNvbm5lY3RTdGFydCksYS5jb25uZWN0RW5kPXEwKGEuY29ubmVjdEVuZCksYS5yZXNwb25zZVN0YXJ0PXEwKGEucmVzcG9uc2VTdGFydCksYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQ9cTAoYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQpLGEuZG9tYWluTG9va3VwU3RhcnQ9cTAoYS5kb21haW5Mb29rdXBTdGFydCksYS5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZz0KITApOmE9Xy5zcS50aW1pbmc6YT1fLngoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShfLnNxLnRpbWluZykpOl8uc3EudGltaW5nO3JldHVybiBhfTtMcmE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtpZigidmlzaWJpbGl0eVN0YXRlImluIGEpYT1hLnZpc2liaWxpdHlTdGF0ZTtlbHNle3ZhciBiPV8ucnMrIlZpc2liaWxpdHlTdGF0ZSI7YT1iIGluIGE/YVtiXTp2b2lkIDB9c3dpdGNoKGEpe2Nhc2UgImhpZGRlbiI6cmV0dXJuIDA7Y2FzZSAidmlzaWJsZSI6cmV0dXJuIDE7Y2FzZSAicHJlcmVuZGVyIjpyZXR1cm4gMjtjYXNlICJ1bmxvYWRlZCI6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4tMX19OwpNcmE9ZnVuY3Rpb24oKXtpZihfLnNxLmdldEVudHJpZXNCeVR5cGUpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKTtpZihhPV8udmIoYSxjPT5jLm5hbWU9PT0iZmlyc3QtcGFpbnQiKSlyZXR1cm4gcTAoYS5zdGFydFRpbWUpfXZhciBiO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP2I9Xy5zcS5nZXRFbnRyaWVzQnlUeXBlKCJmaXJzdC1wYWludCIpWzBdLnN0YXJ0VGltZTpiPV8uc3EudGltaW5nLmFLO3JldHVybiBiP01hdGgubWF4KDAsYik6MH07Ck5yYT1mdW5jdGlvbigpe3ZhciBhPV8udygiVElNSU5HX0lORk8iLHt9KSxiPXt9LGM9KGQsZSxmKT0+e2U9ZS5tYXRjaCgiX3JpZCIpP2Uuc3BsaXQoIl9yaWQiKVswXTplO3R5cGVvZiBmPT09Im51bWJlciImJihmPUpTT04uc3RyaW5naWZ5KGYpKTtkLnJlcXVlc3RJZHM/ZC5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OmUsaWQ6Zn0pOmQucmVxdWVzdElkcz1be2VuZHBvaW50OmUsaWQ6Zn1dfTtmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2E9ZDtsZXQgZj1lO3N3aXRjaChhKXtjYXNlICJHZXRCcm93c2VfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRHdWlkZV9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldEhvbWVfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRQbGF5ZXJfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZWFyY2hfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZXR0aW5nc19yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldFRyZW5kaW5nX3JpZCI6YyhiLAphLGYpO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgInl0X3JlZCI6Yi5pc1JlZFN1YnNjcmliZXI9ISFmO2JyZWFrO2Nhc2UgInl0X2FkIjpiLmlzTW9uZXRpemVkPSEhZn19cmV0dXJuIGJ9O09yYT1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxiPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTtiPWpyYShiLGM9PmMubmFtZS5pbmRleE9mKGAke2F9Ly9mb250cy5nc3RhdGljLmNvbS9zL2ApPT09MCk7KGI9a3JhKGIsKGMsZCk9PmQuZHVyYXRpb24+Yy5kdXJhdGlvbj9kOmMpKSYmYi5zdGFydFRpbWU+MCYmYi5yZXNwb25zZUVuZD4wJiYoXy5ucSgid2ZmcyIscTAoYi5zdGFydFRpbWUpKSxfLm5xKCJ3ZmZlIixxMChiLnJlc3BvbnNlRW5kKSkpfTsKUHJhPWZ1bmN0aW9uKGEsYil7YT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2lmKCFhKXJldHVybiExO3ZhciBjPSIiLGQ9YS5ub2RlTmFtZTtkPT09IlNDUklQVCI/KGM9YS5zcmMsY3x8KGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtdGltaW5nLWhyZWYiKSkmJihjPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCtjKSk6ZD09PSJMSU5LIiYmKGM9YS5ocmVmKTtfLmliKGRvY3VtZW50KSYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixfLmliKGRvY3VtZW50KSk7cmV0dXJuIGM/KGE9Xy5zcS5nZXRFbnRyaWVzQnlOYW1lKGMpKSYmYVswXSYmKGE9YVswXSxjPXAwKCksXy5ucSgicnNmXyIrYixjK01hdGgucm91bmQoYS5mZXRjaFN0YXJ0KSksXy5ucSgicnNlXyIrYixjK01hdGgucm91bmQoYS5yZXNwb25zZUVuZCkpLGEudHJhbnNmZXJTaXplIT09dm9pZCAwJiZhLnRyYW5zZmVyU2l6ZT09PTApPyEwOiExOiExfTsKUXJhPWZ1bmN0aW9uKCl7dmFyIGE9SXJhKCksYj1fLm9vKCksYz12b2lkIDA7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBrPWFbZF07aWYoay5sb2FkVHlwZSl7Yz1rLmxvYWRUeXBlO2JyZWFrfX1pZihfLmxvKCkubG9hZFR5cGU9PT0iY29sZCImJihiLmxvYWRUeXBlPT09ImNvbGQifHxjPT09ImNvbGQiKSl7Yz1fLm1vKCk7ZD1fLm5vKCk7ZD1kLmdlbFRpY2tzP2QuZ2VsVGlja3M6ZC5nZWxUaWNrcz17fTtmb3IodmFyIGUgaW4gYyllIGluIGR8fHR5cGVvZiBjW2VdPT09Im51bWJlciImJl8ubnEoZSxfLnVxKGUpKTt2YXIgZj17fSxoPSExO2U9az0+e18ueW4oYixrKTtfLnluKGYsayk7aD0hMH07Zm9yKGxldCBrIG9mIGEpZShrKTtoJiZfLnBxKGYpfX07CnQwPWZ1bmN0aW9uKGEsYil7Xy5WaSgoKT0+e18udW8oIiIpLmluZm8uYWN0aW9uVHlwZT1hO2ImJl8uUWkoIlRJTUlOR19BRlRfS0VZUyIsYik7Xy5RaSgiVElNSU5HX0FDVElPTiIsYSk7dmFyIGM9TnJhKCk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJl8ucHEoYyk7Yz17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6Xy5QeihfLncoIlRJTUlOR19BQ1RJT04iKSl9O3ZhciBkPV8udygiUFJFVklPVVNfQUNUSU9OIik7ZCYmKGMucHJldmlvdXNBY3Rpb249Xy5QeihkKSk7aWYoZD1fLncoIkNMSUVOVF9QUk9UT0NPTCIpKWMuaHR0cFByb3RvY29sPWQ7aWYoZD1fLncoIkNMSUVOVF9UUkFOU1BPUlQiKSljLnRyYW5zcG9ydFByb3RvY29sPWQ7KGQ9Xy5pcSgpKSYmZCE9PSJVTkRFRklORURfQ1NOIiYmKGMuY2xpZW50U2NyZWVuTm9uY2U9ZCk7ZD1McmEoKTtpZihkPT09MXx8ZD09PS0xKWMuaXNWaXNpYmxlPSEwO18ubG8oKTtuMCgpO2MubG9hZFR5cGU9ImNvbGQiO2Q9bjAoKTt2YXIgZT0KcjAoKSxmPXAwKCksaD1fLncoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtoPjAmJiFfLngoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJihmPWgpO2YmJihfLm5xKCJzcnQiLGUucmVzcG9uc2VTdGFydCksZC5wcmVyZW5kZXIhPT0xJiZfLm9xKGYpKTtkPU1yYSgpO2Q+MCYmXy5ucSgiZnB0IixkKTtkPXIwKCk7ZC5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmXy5wcSh7cGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOiEwfSx2b2lkIDApO18ubnEoIm5yZXFzIixkLnJlcXVlc3RTdGFydCx2b2lkIDApO18ubnEoIm5yZXNzIixkLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTtfLm5xKCJucmVzZSIsZC5yZXNwb25zZUVuZCx2b2lkIDApO2QucmVkaXJlY3RFbmQtZC5yZWRpcmVjdFN0YXJ0PjAmJihfLm5xKCJucnMiLGQucmVkaXJlY3RTdGFydCx2b2lkIDApLF8ubnEoIm5yZSIsZC5yZWRpcmVjdEVuZCx2b2lkIDApKTtkLmRvbWFpbkxvb2t1cEVuZC0KZC5kb21haW5Mb29rdXBTdGFydD4wJiYoXy5ucSgibmRuc3MiLGQuZG9tYWluTG9va3VwU3RhcnQsdm9pZCAwKSxfLm5xKCJuZG5zZSIsZC5kb21haW5Mb29rdXBFbmQsdm9pZCAwKSk7ZC5jb25uZWN0RW5kLWQuY29ubmVjdFN0YXJ0PjAmJihfLm5xKCJudGNwcyIsZC5jb25uZWN0U3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO2Quc2VjdXJlQ29ubmVjdGlvblN0YXJ0Pj1wMCgpJiZkLmNvbm5lY3RFbmQtZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQ+MCYmKF8ubnEoIm5zdGNwcyIsZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO18uc3EmJiJnZXRFbnRyaWVzQnlUeXBlImluIF8uc3EmJk9yYSgpO2Q9W107aWYoZG9jdW1lbnQucXVlcnlTZWxlY3RvciYmXy5zcSYmXy5zcS5nZXRFbnRyaWVzQnlOYW1lKWZvcih2YXIgayBpbiBzMClzMC5oYXNPd25Qcm9wZXJ0eShrKSYmKGU9CnMwW2tdLFByYShrLGUpJiZkLnB1c2goZSkpO2lmKGQubGVuZ3RoPjApe2MucmVzb3VyY2VJbmZvPVtdO2ZvcihsZXQgbCBvZiBkKWMucmVzb3VyY2VJbmZvLnB1c2goe3Jlc291cmNlQ2FjaGU6bH0pfV8ucHEoYyk7UXJhKCk7Xy5ReigpO2s9Xy53KCJUSU1JTkdfQUNUSU9OIik7Xy5zYSgieXRnbG9iYWwudGltaW5ncmVhZHlfIikmJmsmJl8uUnooKSYmXy52cSgpJiZfLnRxKCl9KSgpfTt2MD1mdW5jdGlvbihhKXtpZighXy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4iIjthPV8uUWIoYSl8fCIiO3ZhciBiPU9iamVjdC5rZXlzKHUwKTtmb3IobGV0IGM9MDtjPGIubGVuZ3RoO2MrKyl7bGV0IGQ9YltjXTtpZihhLmluY2x1ZGVzKGQpKXJldHVybiBkfXJldHVybiIifTsKdzA9ZnVuY3Rpb24oYSl7aWYoIV8ueCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuKCk9Pnt9O3ZhciBiPXUwW2FdO3JldHVybiBiPyhfLkl6KGIpLCgpPT57dmFyIGM9Xy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oYz1ScmFbYV0pP18uSXooYyk6ITE6ITE7cmV0dXJuIGN9KTooKT0+e319O3gwPWZ1bmN0aW9uKGEpe18uVmkoKCk9PntpZighXy5SeigiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIil8fF8uQnEoYSwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIikpcmV0dXJuITE7Xy5BcShhLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7cmV0dXJuITB9KSgpfTtTcmE9ZnVuY3Rpb24oKXtfLlZpKCgpPT57dmFyIGE9Xy5wbygpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9PnthPT09Xy5wbygpJiZfLkFxKCJvbCIsdm9pZCAwLHZvaWQgMCl9LDApfSl9KSgpfTsKVHJhPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy5YdChfLmVkKGEsNCx2b2lkIDAsXy5EdikpO3JldHVybiBhPT09bnVsbHx8YT09PXZvaWQgMD9udWxsOl8uVGEoYSl9O3kwPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRhKGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEpfTtBMD1mdW5jdGlvbigpe3JldHVybiB6MC5sb2FkZWR8fCh6MC5sb2FkZWQ9ImxvYWRlZCIucmVwbGFjZSgvXC0oW2Etel0pL2csKGEsYik9PmIudG9VcHBlckNhc2UoKSkpfTtCMD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldOmEuZ2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIpOm51bGx9O0MwPWZ1bmN0aW9uKGEpe2EmJihhLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldPSJ0cnVlIjppcmEoYSkpfTsKRDA9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO18uTHkoYixhKTtyZXR1cm5ganMtJHtfLk15KGIuaHJlZi5yZXBsYWNlKC9eW2EtekEtWl0rOlwvXC8vLCIvLyIpKX1gfTtFMD1mdW5jdGlvbihhKXthPUQwKGEpO3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpO2ImJihpMChhKSxiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYikpfTtHMD1mdW5jdGlvbihhLGIpe2EmJmImJihhPWAke18uZncoYil9YCwoYT1GMFthXSkmJl8uTnooYSkpfTsKVXJhPWZ1bmN0aW9uKGEsYixjLGQ9bnVsbCl7dmFyIGU9Xy5DZCgiU0NSSVBUIik7ZS5pZD1iO2Uub25sb2FkPSgpPT57YyYmc2V0VGltZW91dChjLDApfTtlLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e3N3aXRjaChlLnJlYWR5U3RhdGUpe2Nhc2UgImxvYWRlZCI6Y2FzZSAiY29tcGxldGUiOmUub25sb2FkKCl9fTtkJiZlLnNldEF0dHJpYnV0ZSgibm9uY2UiLGQpO18ub2IoZSx0eXBlb2YgYT09PSJzdHJpbmciP3kwKGEpOmEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShlLGEuZmlyc3RDaGlsZCk7cmV0dXJuIGV9OwpWcmE9ZnVuY3Rpb24oYSxiLGM9bnVsbCl7dmFyIGQ9RDAodHlwZW9mIGE9PT0ic3RyaW5nIj9hOmEudG9TdHJpbmcoKSksZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKSxmPWUmJkIwKGUpLGg9ZSYmIWY7Zj9iJiZiKCk6KGImJihmPV8uTXooZCxiKSxiPWAke18uZncoYil9YCxGMFtiXT1mKSxofHwoZT1VcmEoYSxkLCgpPT57QjAoZSl8fChDMChlKSxfLk96KGQpLF8ubWooKCk9PntpMChkKX0sMCkpfSxjKSkpfTtIMD1mdW5jdGlvbihhLGIsYz1udWxsKXtWcmEoYSxiLGMpfTtXcmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DZCgiQSIpO18uTHkoYixuZXcgXy5XYShhKSk7cmV0dXJuYGNzcy0ke18uTXkoYi5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIikpfWB9OwpYcmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtkLmlkPWI7ZC5vbmxvYWQ9KCk9PntjJiZzZXRUaW1lb3V0KGMsMCl9O2E9eTAoYSk7Xy5xYihkLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoZCk7cmV0dXJuIGR9O1lyYT1mdW5jdGlvbihhKXt2YXIgYj1XcmEoYSksYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxkPWMmJkIwKGMpO2R8fGMmJiFkfHwoYz1YcmEoYSxiLCgpPT57aWYoIUIwKGMpKXtDMChjKTtfLk96KGIpO2xldCBlPV8uRGEoaTAsYik7Xy5taihlLDApfX0pKX07CkkwPWZ1bmN0aW9uKGEpe2EuRmE9ITE7aWYoYS5oYSlmb3IodmFyIGIgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShiKSYmYS5oYShiLGEualtiXSk7Zm9yKGxldCBjIGluIGEuSSlhLkkuaGFzT3duUHJvcGVydHkoYykmJmNsZWFyVGltZW91dChOdW1iZXIoYykpO2EuST17fTthLkI9bnVsbDthLmhhPW51bGw7Yj1hLmFwaTtmb3IobGV0IGMgaW4gYiliLmhhc093blByb3BlcnR5KGMpJiYoYltjXT1udWxsKTtiLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PnthLmFkZEV2ZW50TGlzdGVuZXIoYyxkKX07Yi5yZW1vdmVFdmVudExpc3RlbmVyPShjLGQpPT57YS5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCl9O2IuZGVzdHJveT0oKT0+e2EuZGlzcG9zZSgpfTtiLmdldExhc3RFcnJvcj0oKT0+YS5nZXRMYXN0RXJyb3IoKTtiLmdldFBsYXllclR5cGU9KCk9PmEuZ2V0UGxheWVyVHlwZSgpO2IuZ2V0Q3VycmVudFZpZGVvQ29uZmlnPSgpPT5hLk1hO2IubG9hZE5ld1ZpZGVvQ29uZmlnPWM9Pgp7YS5sb2FkTmV3VmlkZW9Db25maWcoYyl9O2IuaXNSZWFkeT0oKT0+YS5pc1JlYWR5KCl9O0owPWZ1bmN0aW9uKGEpe3ZhciBiO2Eud2ViUGxheWVyQ29udGV4dENvbmZpZz9iPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkOmI9YS5jb25maWcuYXR0cnMuaWQ7YS5lbGVtZW50SWQ9Ynx8YS5lbGVtZW50SWQ7YS5lbGVtZW50SWQ9PT0idmlkZW8tcGxheWVyIiYmKGEuZWxlbWVudElkPWEucGxheWVySWQsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEucGxheWVySWQ6YS5jb25maWcuYXR0cnMuaWQ9YS5wbGF5ZXJJZCk7YS5vPy5pZD09PWEuZWxlbWVudElkJiYoYS5lbGVtZW50SWQ9YCR7YS5lbGVtZW50SWR9LXBsYXllcmAsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEuZWxlbWVudElkOmEuY29uZmlnLmF0dHJzLmlkPWEuZWxlbWVudElkKX07ClMwPWZ1bmN0aW9uKGEpe2lmKCFhLmlhKCkmJiFhLlUpe3ZhciBiPUswKGEpO2lmKGImJihMMChhKT8iaHRtbDUiOm51bGwpPT09Imh0bWw1IilhLlo9Imh0bWw1IixhLmlzUmVhZHkoKXx8TTAoYSk7ZWxzZSBpZihOMChhKSxhLlo9Imh0bWw1IixiJiZhLnYmJmEudGFyZ2V0RWxlbWVudClhLnRhcmdldEVsZW1lbnQuYXBwZW5kQ2hpbGQoYS52KSxNMChhKTtlbHNle2EuY29uZmlnJiYoYS5jb25maWcubG9hZGVkPSEwKTtsZXQgYz0hMTthLkQ9KCk9PntjPSEwO3ZhciBkPU8wKGEsInBsYXllcl9ib290c3RyYXBfbWV0aG9kIik/Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZUFsdGVybmF0ZSIpfHxfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIik6Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3ZhciBlPWEuY29uZmlnP1AwKGEuY29uZmlnKTp2b2lkIDA7ZCYmZChhLnRhcmdldEVsZW1lbnQsZSxhLndlYlBsYXllckNvbnRleHRDb25maWcsCmEuRWIpO00wKGEpfTthLlU9ITA7Yj9hLkQoKTooSDAoUTAoYSksYS5EKSwoYj1acmEoYSkpJiZZcmEoYnx8IiIpLFIwKGEpJiYhYyYmXy5yYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIsbnVsbCkpfX19O1QwPWZ1bmN0aW9uKGEpe2EuY29uZmlnJiZhLmNvbmZpZy5sb2FkZWQhPT0hMCYmKGEuY29uZmlnLmxvYWRlZD0hMCwhYS5jb25maWcuYXJnc3x8YS5jb25maWcuYXJncy5hdXRvcGxheSE9PSIwIiYmYS5jb25maWcuYXJncy5hdXRvcGxheSE9PTAmJmEuY29uZmlnLmFyZ3MuYXV0b3BsYXkhPT0hMT9hLmFwaS5sb2FkVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncz8/bnVsbCk6YS5hcGkuY3VlVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncykpfTtQMD1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgb2YgT2JqZWN0LmtleXMoYSkpe2xldCBkPWFbY107YltjXT10eXBlb2YgZD09PSJvYmplY3QiP1VfKGQpOmR9cmV0dXJuIGJ9OwpVMD1mdW5jdGlvbihhLGIpe3ZhciBjPWI7aWYodHlwZW9mIGI9PT0ic3RyaW5nIil7aWYoYS55YVtiXSlyZXR1cm4gYS55YVtiXTtjPSguLi5kKT0+e3ZhciBlPV8uc2EoYik7aWYoZSl0cnl7ZS5hcHBseShfLnUsZCl9Y2F0Y2goZil7dGhyb3cgZD1uZXcgXy5YaigiUGxheWVyUHJveHkgZXJyb3Igd2hlbiBleGVjdXRpbmcgY2FsbGJhY2siLHtlcnJvcjpmfSksZC5sZXZlbD0iRVJST1IiLGQ7fX07YS55YVtiXT1jfXJldHVybiBjP2M6bnVsbH07TDA9ZnVuY3Rpb24oYSl7dmFyIGI9Vl8oYS5lbGVtZW50SWQpOyFiJiZhLm8mJmEuby5xdWVyeVNlbGVjdG9yJiYoYj1hLm8ucXVlcnlTZWxlY3RvcihgIyR7YS5lbGVtZW50SWR9YCkpO3JldHVybiBifTtRMD1mdW5jdGlvbihhKXtyZXR1cm4gYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5qc1VybDooYT1hLmNvbmZpZy5hc3NldHMpP2EuanM6IiJ9OwpLMD1mdW5jdGlvbihhKXt2YXIgYj0hMCxjPUwwKGEpO2MmJmEuY29uZmlnJiYoYj1jLmRhdGFzZXQudmVyc2lvbj09PVEwKGEpKTtyZXR1cm4gYiYmISFfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIil9O08wPWZ1bmN0aW9uKGEsYil7aWYoYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnKXZhciBjPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5zZXJpYWxpemVkRXhwZXJpbWVudEZsYWdzO2Vsc2UgYS5jb25maWc/LmFyZ3MmJihjPWEuY29uZmlnLmFyZ3MuZmZsYWdzKTtyZXR1cm4oY3x8IiIpLnNwbGl0KCImIikuaW5jbHVkZXMoYCR7Yn09dHJ1ZWApfTsKTTA9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7bGV0IGI9TDAoYSksYz0hMTtiJiZiLmdldEFwaUludGVyZmFjZSYmYi5nZXRBcGlJbnRlcmZhY2UoKSYmKGM9ITApO2M/KGEuVT0hMSwhTzAoYSwiaHRtbDVfcmVtb3ZlX25vdF9zZXJ2YWJsZV9jaGVja19raWxsc3dpdGNoIikmJmI/LmlzTm90U2VydmFibGUmJmEuY29uZmlnJiZiPy5pc05vdFNlcnZhYmxlKGEuY29uZmlnLmFyZ3M/LnZpZGVvX2lkKXx8JHJhKGEpKTphLlFhPXNldFRpbWVvdXQoKCk9PntNMChhKX0sNTApfX07TjA9ZnVuY3Rpb24oYSl7YS5jYW5jZWwoKTtJMChhKTthLlo9bnVsbDthLmNvbmZpZyYmKGEuY29uZmlnLmxvYWRlZD0hMSk7dmFyIGI9TDAoYSk7YiYmKEswKGEpfHwhUjAoYSk/YS52PWI6KGImJmIuZGVzdHJveSYmYi5kZXN0cm95KCksYS52PW51bGwpKTthLnRhcmdldEVsZW1lbnQmJldfKGEudGFyZ2V0RWxlbWVudCl9OwpacmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEud2ViUGxheWVyQ29udGV4dENvbmZpZz9hLndlYlBsYXllckNvbnRleHRDb25maWcuY3NzVXJsOihhPWEuY29uZmlnLmFzc2V0cyk/YS5jc3M6IiJ9O1IwPWZ1bmN0aW9uKGEpe2E9YS5jb25maWc/LmFyZ3M/LmZmbGFncztyZXR1cm4hIWEmJmEuaW5kZXhPZigicGxheWVyX2Rlc3Ryb3lfb2xkX3ZlcnNpb249dHJ1ZSIpIT09LTF9OwokcmE9ZnVuY3Rpb24oYSl7STAoYSk7YS5GYT0hMDt2YXIgYj1MMChhKTtpZihiKXthLkI9VjAoYSxiLCJhZGRFdmVudExpc3RlbmVyIik7YS5oYT1WMChhLGIsInJlbW92ZUV2ZW50TGlzdGVuZXIiKTtsZXQgYz1iLmdldEFwaUludGVyZmFjZSgpO2M9Yy5jb25jYXQoYi5nZXRJbnRlcm5hbEFwaUludGVyZmFjZSgpKTtsZXQgZD1hLmFwaTtmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrKyl7bGV0IGY9Y1tlXTtkW2ZdfHwoZFtmXT1WMChhLGIsZikpfX1mb3IobGV0IGMgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShjKSYmYS5CJiZhLkIoYyxhLmpbY10pO1QwKGEpO2Eub2EmJmEub2EoYS5hcGkpO2EuTS5wdWJsaXNoKCJvblJlYWR5IixhLmFwaSl9OwpWMD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YltjXTtyZXR1cm4oLi4uZSk9Pnt0cnl7cmV0dXJuIGEubGFzdEVycm9yPW51bGwsZC5hcHBseShiLGUpfWNhdGNoKGYpe2lmKGMhPT0ic2VuZEFiYW5kb25tZW50UGluZyIpdGhyb3cgZi5wYXJhbXM9YyxhLmxhc3RFcnJvcj1mLGU9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIGluIG1ldGhvZCBjYWxsIix7ZXJyb3I6ZixtZXRob2Q6YyxwbGF5ZXJJZDphLnBsYXllcklkfSksZS5sZXZlbD0iV0FSTklORyIsZTt9fX07CmFzYT1mdW5jdGlvbihhLGIpe3ZhciBjPWQ9Pnt2YXIgZT0oKT0+e2EuaWEoKTtpZighYS5pYSgpKXRyeXthLk0ucHVibGlzaChiLGQ/P3ZvaWQgMCl9Y2F0Y2goaCl7dmFyIGY9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIHdoZW4gY3JlYXRpbmcgZ2xvYmFsIGNhbGxiYWNrIix7ZXJyb3I6aC5tZXNzYWdlLGV2ZW50OmIscGxheWVySWQ6YS5wbGF5ZXJJZCxkYXRhOmQsb3JpZ2luYWxTdGFjazpoLnN0YWNrLGNvbXBvbmVudFN0YWNrOmguY29tcG9uZW50U3RhY2t9KTtmLmxldmVsPSJXQVJOSU5HIjt0aHJvdyBmO319O2lmKE8wKGEsIndlYl9wbGF5ZXJfcHVibGlzaF9ldmVudHNfaW1tZWRpYXRlbHkiKSllKCk7ZWxzZXtsZXQgZj1zZXRUaW1lb3V0KCgpPT57ZSgpO3ZhciBoPWEuSSxrPVN0cmluZyhmKTtrIGluIGgmJmRlbGV0ZSBoW2tdfSwwKTt2cmEoYS5JLFN0cmluZyhmKSl9fTtyZXR1cm4gYS5qW2JdPWN9Owpjc2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz0icGxheWVyIjtjPXR5cGVvZiBjPT09InN0cmluZyI/Vl8oYyk6Yzt2YXIgZD1gJHtfLnZhYX1fJHtfLmZ3KGMpfWAsZT1XMFtkXTtlPW5ldyBic2EoYyxkLGEsYik7VzBbZF09ZTtlLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57ZGVsZXRlIFcwW2UuZ2V0SWQoKV19KTtyZXR1cm4gZS5hcGl9O1gwPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O18ueCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKGIucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIGE9Xy5laihhLGIpfTtZMD1mdW5jdGlvbihhKXt2YXIgYj1fLncoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIik7YiYmKGE9U3RyaW5nKGIpK1N0cmluZyhfLk55KGEpKSk7cmV0dXJuIGF9OwpaMD1mdW5jdGlvbihhLGI9IlBPU1QiKXthPXttZXRob2Q6Yixtb2RlOl8uZmooYSk/InNhbWUtb3JpZ2luIjoiY29ycyIsY3JlZGVudGlhbHM6Xy5maihhKT8ic2FtZS1vcmlnaW4iOiJpbmNsdWRlIn07Yj17fTt2YXIgYz17fTtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYikpYltkXSYmKGNbZF09YltkXSk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJihhLmhlYWRlcnM9Yyk7cmV0dXJuIGF9OyQwPWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19O2ExPWZ1bmN0aW9uKGEpe2lmKF8uWHooKSl7dmFyIGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpYj0kMChjKSxiPT09dm9pZCAwfHxhLmluY2x1ZGVzKGIpfHxzZWxmLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07CmRzYT1mdW5jdGlvbigpe2lmKCFfLlh6KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpaWYoYj0kMChjKSxiIT09dm9pZCAwJiZiIT09YSlyZXR1cm4hMDtyZXR1cm4hMX07YjE9ZnVuY3Rpb24oYSl7Xy5PaShfLiR6LGFyZ3VtZW50cyl9O2MxPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGF3YWl0IF8uZUEoKSl7dmFyIGI9W10sYz1hd2FpdCBfLmRBLmtleXMoKTtmb3IobGV0IGQgb2YgYykoe2RhdGFzeW5jSWQ6Y309Xy5iQShkKSksIWN8fGEuaW5jbHVkZXMoYyl8fGIucHVzaChfLmRBLmRlbGV0ZShkKSk7UHJvbWlzZS5hbGwoYikudGhlbihkPT5kLnNvbWUoZT0+ZSkpfX07CmVzYT1hc3luYyBmdW5jdGlvbigpe2lmKCFhd2FpdCBfLmVBKCkpcmV0dXJuITE7dmFyIGE9Xy5WaigiY2FjaGUgY29udGFpbnMgb3RoZXIiKSxiPWF3YWl0IF8uZEEua2V5cygpO2ZvcihsZXQgYyBvZiBiKWlmKHtkYXRhc3luY0lkOmJ9PV8uYkEoYyksYiYmYiE9PWEpcmV0dXJuITA7cmV0dXJuITF9O2ZzYT1mdW5jdGlvbihhKXtpZihfLmhBLmhhcyhhKSYmXy5mQSYmKF8uZkE/LnRhZ05hbWUudG9Mb3dlckNhc2UoKT8/IiIpPT09YSl7bGV0IGI7KGI9Xy5mQSkubWk/PyhiLm1pPTApO18uZkEubWkrKztpZihfLmZBLm1pPjEpdGhyb3cgRXJyb3IoIlBiIik7cmV0dXJuIF8uZkF9fTtnc2E9ZnVuY3Rpb24oYSl7dmFyIGI9YT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpPz8iIjtfLmZBIT09YSYmYi5pbmNsdWRlcygiLSIpJiZfLmdBLnNldChhLCEwKX07ZDE9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2goYSl7cmV0dXJuITB9fTsKZjE9ZnVuY3Rpb24oYT0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3ZhciBjPXdpbmRvdz09PXdpbmRvdy50b3A/d2luZG93OmQxKCk/d2luZG93OndpbmRvdy50b3AsZD1jW2FdO2Q/LmJldmFzcnM/YihuZXcgZTEoZC5iZXZhc3JzKSk6KGR8fChkPXtucWZiZWw6W119LGNbYV09ZCksZC5ucWZiZWwucHVzaChlPT57YihuZXcgZTEoZSkpfSkpfSl9O2hzYT1mdW5jdGlvbihhKXthLmohPT12b2lkIDAmJihhLm8uZm9yRWFjaChiPT57YS5qPy5yZW1vdmVFdmVudExpc3RlbmVyKGIsYS52KX0pLGEuaj12b2lkIDApfTtnMT1mdW5jdGlvbihhKXt2YXIgYj17S2M6YS5jLHNsOmEuZSxMeTphLm1jPz8hMSxNeTphLm1lPz8hMX07YS5jbyYmKGIueWk9e1hvOmEuY28uYyxBdTphLmNvLmEsSkE6YS5jby5zfSk7cmV0dXJuIGJ9Owpqc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGFzeW5jKCk9Pnt2YXIgYj1hd2FpdCBhKCk7cmV0dXJue2Y6KCk9PmIueWcucHJvbWlzZSxjOmM9PntpZihjPjE1MCl2YXIgZD0hMTtlbHNlIHRyeXtiLmNhY2hlPW5ldyBpc2EoYyxiLlgpLGQ9ITB9Y2F0Y2goZSl7Yi5yZXBvcnRFcnJvcihuZXcgaDEoMjIsIkdCSjppbml0IixlKSksZD0hMX1yZXR1cm4gZH0sbTpjPT5iLm9lKGcxKGMpKSxtd3M6Yz0+Yi56aihnMShjKSl9fX07CmtzYT1mdW5jdGlvbihhLGIsYz0iYmV2YXNyc2ciKXtiPXtzOmY9PmEuc25hcHNob3Qoey4uLihmLmMmJntLYzpmLmN9KSwuLi4oZi5zJiZ7WWo6Zi5zfSksVUs6Zi5wPz8hMH0pLGU6Zj0+dm9pZCBhLkloPy4oZiksYzooZixoKT0+YS5CaShmLGgpLHA6YS5DZyxsOigpPT5hLlZoKCksd3BjOmI/anNhKGIpOnZvaWQgMH07dmFyIGQ9d2luZG93PT09d2luZG93LnRvcD93aW5kb3c6ZDEoKT93aW5kb3c6d2luZG93LnRvcCxlPWRbY107aWYoZSl7ZS5iZXZhc3JzPWI7aWYoZS5ucWZiZWwhPT12b2lkIDApZm9yKGxldCBmIG9mIGUubnFmYmVsKWYoYik7ZS5ucWZiZWw9dm9pZCAwfWVsc2UgZT17YmV2YXNyczpiLG5xZmJlbDp2b2lkIDB9LGRbY109ZX07ajE9ZnVuY3Rpb24oYSl7dmFyIGI9W107R18oYSxpMSw2KS5mb3JFYWNoKGM9PntfLnR4KGMsMik8PTUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTsKbHNhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO0dfKGEsaTEsNikuZm9yRWFjaChjPT57Xy50eChjLDIpPjUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTtrMT1mdW5jdGlvbihhKXthLnRoZW4oKCk9Pnt9LCgpPT57fSl9O2wxPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6YX19O20xPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MyxmaWVsZE5hbWU6YX19O21zYT1mdW5jdGlvbihhLGIpe3JldHVybiBDXyhhLGIsXy5Pdyl9OwpyMT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgbjE7Yj1CWihiLDEsYS5vKTt2YXIgYz1uc2EoYSk7Yj1DXyhiLGMsc3JhKTtjPVtdO3ZhciBkPVtdO2Zvcih2YXIgZSBvZiBhLmoua2V5cygpKWQucHVzaChlLnNwbGl0KCIsIikpO2ZvcihlPTA7ZTxkLmxlbmd0aDtlKyspe2xldCBwPWRbZV07dmFyIGY9YS52LGg9bzEoYSwuLi5wKXx8W107bGV0IHI9W107Zm9yKHZhciBrPTA7azxoLmxlbmd0aDtrKyspe3ZhciBsPWhba10sbT1sJiZsLmo7bD1uZXcgb3NhO3N3aXRjaChmKXtjYXNlIDM6bT1OdW1iZXIobSk7TnVtYmVyLmlzRmluaXRlKG0pJiZGXyhsLDEscDEseV8obSkpO2JyZWFrO2Nhc2UgMjpGXyhsLDIscDEscF8oTnVtYmVyKG0pKSl9ci5wdXNoKGwpfWZvcihmPTA7ZjxyLmxlbmd0aDtmKyspe2s9cltmXTtoPW5ldyBwc2E7aD1fLkt3KGgsMixrKTtrPVtdO2w9cXNhKGEpO2ZvcihtPTA7bTxsLmxlbmd0aDttKyspe3ZhciBuPWxbbV07bGV0IHQ9cFttXSx2PW5ldyByc2E7c3dpdGNoKG4pe2Nhc2UgMzpGXyh2LAoxLHExLEFaKFN0cmluZyh0KSkpO2JyZWFrO2Nhc2UgMjpuPU51bWJlcih0KTtOdW1iZXIuaXNGaW5pdGUobikmJkZfKHYsMixxMSxfLlB3KG4pKTticmVhaztjYXNlIDE6Rl8odiwzLHExLF8ueHcodD09PSJ0cnVlIikpfWsucHVzaCh2KX1IXyhoLDEsayk7Yy5wdXNoKGgpfX1IXyhiLDQsYyk7cmV0dXJuIGJ9O3NzYT1mdW5jdGlvbihhKXtIXyhzMSwxLGEpfTsKdXNhPWZ1bmN0aW9uKGEsYj10MSl7aWYoIXUxKXthPWEubmF2aWdhdG9yPy51c2VyQWdlbnREYXRhO2lmKCFhfHx0eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcyE9PSJmdW5jdGlvbiJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoImtlIikpO3NzYSgoYS5icmFuZHN8fFtdKS5tYXAoZD0+e3ZhciBlPW5ldyB0c2E7ZT1CWihlLDEsZC5icmFuZCk7cmV0dXJuIEJaKGUsMixkLnZlcnNpb24pfSkpO3R5cGVvZiBhLm1vYmlsZT09PSJib29sZWFuIiYmXy5xdyhzMSwyLF8ueHcoYS5tb2JpbGUpKTt1MT1hLmdldEhpZ2hFbnRyb3B5VmFsdWVzKGIpfXZhciBjPW5ldyBTZXQoYik7cmV0dXJuIHUxLnRoZW4oZD0+e3ZhciBlPXMxLmNsb25lKCk7Yy5oYXMoInBsYXRmb3JtIikmJkJaKGUsMyxkLnBsYXRmb3JtKTtjLmhhcygicGxhdGZvcm1WZXJzaW9uIikmJkJaKGUsNCxkLnBsYXRmb3JtVmVyc2lvbik7CmMuaGFzKCJhcmNoaXRlY3R1cmUiKSYmQlooZSw1LGQuYXJjaGl0ZWN0dXJlKTtjLmhhcygibW9kZWwiKSYmQlooZSw2LGQubW9kZWwpO2MuaGFzKCJ1YUZ1bGxWZXJzaW9uIikmJkJaKGUsNyxkLnVhRnVsbFZlcnNpb24pO3JldHVybiBlLnNlcmlhbGl6ZSgpfSkuY2F0Y2goKCk9PnMxLnNlcmlhbGl6ZSgpKX07djE9ZnVuY3Rpb24oYSl7cmV0dXJuIENaKGEsMSwxKX07eTE9ZnVuY3Rpb24oYSxiKXtfLkt3KGEuaiwxLGIpO0tfKGIpfHx2MShiKTthLnlkfHwoYj13MShhKSxKXyhiLDUpfHxCWihiLDUsYS5sb2NhbGUpKTthLnYmJihiPXcxKGEpLF8uTngoYix4MSw5KXx8Xy5LdyhiLDksYS52KSl9O3cxPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTngoYS5qLHoxLDEpO2J8fChiPW5ldyB6MSx5MShhLGIpKTthPWI7Yj1fLk54KGEsQTEsMTEpO2J8fChiPW5ldyBBMSxfLkt3KGEsMTEsYikpO3JldHVybiBifTt2c2E9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnhzYT1mdW5jdGlvbihhKXt2YXIgYj1hLnlkP3ZvaWQgMDpfLnpkKCk7Yj91c2EoYix0MSkudGhlbihjPT57YS52PXdzYShjPz8iW10iKTtjPXcxKGEpO18uS3coYyw5LGEudik7cmV0dXJuITB9KS5jYXRjaCgoKT0+ITEpOlByb21pc2UucmVzb2x2ZSghMSl9O0IxPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuQj1hO3RoaXMuRD1iO3RoaXMubz10aGlzLmo9YTt0aGlzLks9Y3x8MDt0aGlzLkk9ZHx8Mn07QzE9ZnVuY3Rpb24oYSl7YS5vPU1hdGgubWluKGEuRCxhLm8qYS5JKTthLmo9TWF0aC5taW4oYS5ELGEubysoYS5LP01hdGgucm91bmQoYS5LKihNYXRoLnJhbmRvbSgpLS41KSoyKmEubyk6MCkpO2EudisrfTtEMT1mdW5jdGlvbigpe3JldHVybiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIn07CnlzYT1mdW5jdGlvbihhLGIpe2lmKCFhLk1hKXJldHVybigpPT57fTt2YXIgYz0oKT0+e2EuZmx1c2goKX07cmV0dXJuIGI/KCk9PntiKCkudGhlbihjKX06Y307RTE9ZnVuY3Rpb24oYSl7YS52LmlzRmluYWw9ITA7YS5mbHVzaCgpO2Eudi5pc0ZpbmFsPSExfTtGMT1mdW5jdGlvbihhKXthLlV8fChhLlU9RDEoKSk7dHJ5e3JldHVybihuZXcgVVJMKGEuVSkpLnRvU3RyaW5nKCl9Y2F0Y2goYil7cmV0dXJuKG5ldyBVUkwoYS5VLF8uemQoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07QXNhPWZ1bmN0aW9uKGEpe3pzYShhLChiLGMpPT57Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwianNvbiIpO3ZhciBkPSExO3RyeXtkPV8uemQoKS5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihiLnRvU3RyaW5nKCksYy5zZXJpYWxpemUoKSl9Y2F0Y2h7fWR8fChhLlo9ITEpO3JldHVybiBkfSl9OwpCc2E9ZnVuY3Rpb24oYSxiLGM9bnVsbCxkPWEud2l0aENyZWRlbnRpYWxzKXt2YXIgZT17fSxmPW5ldyBVUkwoRjEoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5zZXNzaW9uSW5kZXgmJihlWyJYLUdvb2ctQXV0aFVzZXIiXT1hLnNlc3Npb25JbmRleCxmLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixhLnNlc3Npb25JbmRleCkpO2EucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTphLnBhZ2VJZH0pLGYuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixhLnBhZ2VJZCkpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixHdToxLE9qOmUscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLHRpbWVvdXRNaWxsaXM6YS50aW1lb3V0TWlsbGlzfX07CnpzYT1mdW5jdGlvbihhLGIpe2lmKGEuai5sZW5ndGghPT0wKXt2YXIgYz1uZXcgVVJMKEYxKGEpKTtjLnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBkPWEuU2YoKTtkJiZjLnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGQpO2Muc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLGEuc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihkPTA7ZDwxMCYmYS5qLmxlbmd0aDsrK2Qpe2xldCBlPWEuai5zbGljZSgwLDMyKSxmPWEudi5idWlsZChlLGEuQixhLkksYS5sZixhLmhhLGEuZ2EpO2lmKCFiKGMudG9TdHJpbmcoKSxmKSl7KythLkk7YnJlYWt9YS5CPTA7YS5JPTA7YS5oYT0wO2EuZ2E9MDthLmo9YS5qLnNsaWNlKGUubGVuZ3RoKX1hLm8uZW5hYmxlZCYmYS5vLnN0b3AoKX19O0NzYT1mdW5jdGlvbihhLGIpe2EuYnVpbGRMYWJlbD1iO3JldHVybiBhfTtFc2E9ZnVuY3Rpb24oYSl7YS5uZXR3b3JrPW5ldyBEc2E7cmV0dXJuIGF9O0ZzYT1mdW5jdGlvbihhLGIpe2Euaj1ifTsKR3NhPWZ1bmN0aW9uKGEpe2Eubz0hMDtyZXR1cm4gYX07cXNhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmZpZWxkcy5tYXAoYj0+Yi5maWVsZFR5cGUpfTtvMT1mdW5jdGlvbihhLC4uLmIpe2I9RzEoLi4uYik7cmV0dXJuIGEuai5oYXMoYik/YS5qLmdldChiKTp2b2lkIDB9O25zYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5maWVsZHMubWFwKGI9PmIuZmllbGROYW1lKX07STE9ZnVuY3Rpb24oYSxiLC4uLmMpe2M9RzEoLi4uYyk7YS5qLnNldChjLFtuZXcgSDEoYildKX07SHNhPWZ1bmN0aW9uKGEsYiwuLi5jKXt2YXIgZD1vMShhLC4uLmMpO2Q/ZC5wdXNoKG5ldyBIMShiKSk6STEoYSxiLC4uLmMpfTtHMT1mdW5jdGlvbiguLi5hKXtyZXR1cm4gYT9hLmpvaW4oIiwiKToia2V5In07SXNhPWZ1bmN0aW9uKGEsLi4uYil7cmV0dXJuKGE9bzEoYSwuLi5iKSkmJmEubGVuZ3RoP2FbMF06dm9pZCAwfTsKSnNhPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9MCxkPUlzYShhLC4uLmIpO2QmJihjPWQuaik7STEoYSxjKzEsLi4uYil9O0sxPWZ1bmN0aW9uKGEsYiwuLi5jKXthLnYuaGFzKGIpfHxhLnYuc2V0KGIsbmV3IEoxKGIsYykpfTtNMT1mdW5jdGlvbihhLGIsLi4uYyl7YS52LmhhcyhiKXx8YS52LnNldChiLG5ldyBMMShiLGMpKX07TjE9ZnVuY3Rpb24oYSl7YS5vLmVuYWJsZWR8fGEuby5zdGFydCgpO2EuSSsrO2EuST49YS5CJiZhLkQoKX07S3NhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YS5sZW5ndGg7YisrKWFbYl0uY2xlYXIoKX07TzE9ZnVuY3Rpb24oYSxiLC4uLmMpeyhiPWEuaihiKSkmJmIgaW5zdGFuY2VvZiBMMSYmKEpzYShiLC4uLmMpLE4xKGEpKX07ClAxPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19OwpMc2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTtSMT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9UTEoKTtiPWIoKTthLnYoYyxRMSgpLWQpO3JldHVybiBifTtPc2E9ZnVuY3Rpb24oYSxiLGMsZCl7YT1Hc2EoRXNhKENzYShuZXcgUzEsYSkpKS5ubCgpO2IubGVuZ3RoJiZGc2EoYSxtc2EobmV3IE1zYSxiKSk7ZCE9PXZvaWQgMCYmKGEuTmU9ZCk7dmFyIGU9bmV3IE5zYShhLmJ1aWxkKCkpO0VaKGUsYSk7dmFyIGY9bmV3IFQxKHtmbHVzaChoKXt0cnl7ZS5mbHVzaChoKX1jYXRjaChrKXtjKGspfX19KTtmLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtmLkQoKX1maW5hbGx5e2UuZGlzcG9zZSgpfX0pfSk7Zi5CPTFFNTtmLmZsdXNoSW50ZXJ2YWw9M0U0O2Yuby5zZXRJbnRlcnZhbCgzRTQpO3JldHVybiBmfTsKUHNhPWZ1bmN0aW9uKGEpe2lmKGEudGltZXI9PT12b2lkIDApe2xldCBiPU1hdGgubWF4KDAsYS5qK2Euby1RMSgpKTthLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0cnl7YS5jYWxsYmFjaygpfWZpbmFsbHl7YS5qPVExKCksYS50aW1lcj12b2lkIDB9fSxiKX19O1JzYT1mdW5jdGlvbihhLGI9W10pe3JldHVybiBuZXcgUXNhKGEsYil9O1ExPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9O1UxPWZ1bmN0aW9uKGEsYil7aWYoYS5kaXNhYmxlKXJldHVybiBuZXcgU3NhO2I9Yj9qMShiKTpbXTtyZXR1cm4gUnNhKHttYjphLm1iLHpsOmEuU3Ysbm06YS5LeSxOZTphLk5lLEZqOmEuRmosSWc6YS5JZ30sYil9O1cxPWZ1bmN0aW9uKCl7VjEuaW5zdGFuY2V8fChWMS5pbnN0YW5jZT1uZXcgVjEpO3JldHVybiBWMS5pbnN0YW5jZX07ClRzYT1mdW5jdGlvbihhLGIsYyxkKXtpZighYiYmIWMpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2lmKCFkKXJldHVybiBYMShiLGMpO3ZhciBlOyhlPWEucHJvbWlzZXMpW2RdfHwoZVtkXT1uZXcgUHJvbWlzZSgoZixoKT0+e1gxKGIsYykudGhlbigoKT0+e2Euaj1kO2YoKX0saz0+e2RlbGV0ZSBhLnByb21pc2VzW2RdO2goayl9KX0pKTtyZXR1cm4gYS5wcm9taXNlc1tkXX07JDE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVHNhKGEsXy5OeChiLFkxLDEsXy53eiksXy5OeChiLFoxLDIsXy53eiksSl8oYiwzLHZvaWQgMCxfLnd6KSl9O1gxPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/VXNhKGIpOmE/VnNhKGEpOlByb21pc2UucmVzb2x2ZSgpfTsKVXNhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e3ZhciBkPV8uQ2QoIlNDUklQVCIpLGU9VHJhKGEpO18ub2IoZCxlKTtkLm9ubG9hZD0oKT0+e18uRGQoZCk7YigpfTtkLm9uZXJyb3I9KCk9PntfLkRkKGQpO2MoRXJyb3IoInFlIikpfTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChkKX0pfTtWc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBQcm9taXNlKGI9Pnt2YXIgYz1fLkNkKCJTQ1JJUFQiKTtpZihhKXt2YXIgZD1fLlh0KF8uZWQoYSw2LHZvaWQgMCxfLkR2KSk7ZD1kPT09bnVsbHx8ZD09PXZvaWQgMD9udWxsOl8ua2IoZCl9ZWxzZSBkPW51bGw7Xy5uYihjLGQpOyhkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKGMpO18uRGQoYyk7YigpfSl9OwpXc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDEsQVooYiksIiIpfTtYc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDIsQVooYiksIiIpfTsKYXRhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQ9VzEoKSxlPVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGYpe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCBrPW51bGw7aWYoaCl7YTIoYSw3KTt0cnl7az1hd2FpdCBiMihoLnNuYXBzaG90KHt9KSxmLmF2LCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKG4pe2s9IkU6VUNFIn19bGV0IGwsbT1uZXcgQjEoaD9mLkp2OmYuS3YsZi5MdixmLk12LGYuSXYpO2ZvcihsZXQgbj0xO248PWYubWF4QXR0ZW1wdHM7bisrKXtpZihuIT09MSl7YTIoYSwwKTthLmo9bmV3IGMyKG0uaixmLmVrLGYubHMpO2xldCBwPWF3YWl0IGEuai5wcm9taXNlO2Euaj12b2lkIDA7cD09PTE/KG49MSxtLnJlc2V0KCkpOkMxKG0pfXRyeXtsZXQgcDtjP3A9YzooYTIoYSw1KSxwPWF3YWl0IGIyKFlzYShiLGQuaixrKSxmLlZ2LCgpPT5Qcm9taXNlLnJlamVjdChFcnJvcigic2UiKSkpKTthMihhLDMpO2F3YWl0IGIyKCQxKGQscCksZi5xeSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInRlIikpKTsKYTIoYSw4KTthd2FpdCBlO2xldCByPW5ldyBkMih7Y2hhbGxlbmdlOnAsbmc6YS5vcHRpb25zLm5nLEZzOmEub3B0aW9ucy5Gc30pO2F3YWl0IGIyKHIuQ2csZi5tQSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInVlIikpKTtsPXI7YnJlYWt9Y2F0Y2gocCl7YS5oYW5kbGVFcnJvcihwKSxlMihhKX19aWYoYS5pYSgpKWJyZWFrO2wmJihjPXZvaWQgMCxac2EoYSxoKSxoPWwsJHNhKGEsbCksZTIoYSkpO2EyKGEsMik7YS5qPW5ldyBjMihmLkZyLGYuZWssZi5scyk7YS5pc1BhdXNlZCYmYS5qLnBhdXNlKCk7YXdhaXQgYS5qLnByb21pc2U7YS5qPXZvaWQgMDtpZihhLmlhKCkpYnJlYWt9aD8uZGlzcG9zZSgpfTsKYnRhPWZ1bmN0aW9uKGEpe2EuTT1FcnJvcigicmUiKTthLkQucmVzb2x2ZSgpO2sxKGEuSS5wcm9taXNlKTthLkkucmVqZWN0KEVycm9yKCJyZSIpKTthLlguZGlzcG9zZSgpO1Byb21pc2UuYWxsKGEuQikudGhlbihhc3luYygpPT57YS5vPy5kaXNwb3NlKCk7YS5vPXZvaWQgMH0pO2EuQj1bXTthLmo/Lm8oKTtrMShhLnYucHJvbWlzZSk7YS52LnJlamVjdChFcnJvcigicmUiKSl9O2YyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5HajthLkdqPSgpPT57YygpO2IoKX19OyRzYT1mdW5jdGlvbihhLGIpe2EuaWEoKXx8KGEubz1iLGEuWC51cGRhdGUoYi5WaCgpKSxhLkQucmVzb2x2ZSgpLGEuSS5yZXNvbHZlKHZvaWQgMCksYS5HaigpKX07WnNhPWZ1bmN0aW9uKGEsYil7YiYmKFByb21pc2UuYWxsKGEuQikudGhlbigoKT0+dm9pZCBiLmRpc3Bvc2UoKSksYS5CPVtdKX07YTI9ZnVuY3Rpb24oYSxiKXthLlo9YjthLm9wdGlvbnMuaks/LihiKX07CmUyPWZ1bmN0aW9uKGEpe2EuaWEoKXx8KGEudi5yZXNvbHZlKCksYS52PW5ldyBfLmNzKX07YjI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2M9KG5ldyBQcm9taXNlKGU9PntkPXNldFRpbWVvdXQoZSxiKX0pKS50aGVuKGMpO2sxKGMpO3JldHVybiBQcm9taXNlLnJhY2UoW2EuZmluYWxseSgoKT0+dm9pZCBjbGVhclRpbWVvdXQoZCkpLGNdKX07Y3RhPWZ1bmN0aW9uKGEsYil7YS5lbmRUaW1lTXM9RGF0ZS5ub3coKStiO2EudGljaygpfTtnMj1mdW5jdGlvbihhKXthLmomJihjbGVhclRpbWVvdXQoYS5qKSxhLmo9bnVsbCl9O2gyPWZ1bmN0aW9uKGEsYil7dHJ5e3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oYSxiKSwhMH1jYXRjaChjKXtyZXR1cm4hMX19OwppMj1mdW5jdGlvbihhLGI9MCxjPWEubGVuZ3RoLGQpe3ZhciBlPTA7Zm9yKGQmJihlPWkyKGQpKTtiPGM7YisrKWU9ZHRhKDMxLGUpKyh0eXBlb2YgYT09PSJzdHJpbmciP2EuY2hhckNvZGVBdChiKTphW2JdKXwwO3JldHVybiBlfTtrMj1mdW5jdGlvbihhKXt2YXIgW2IsY109W2kyKGEsMCxhLmxlbmd0aD4+MSxqMiksaTIoYSxhLmxlbmd0aD4+MSldO3JldHVybiBiLnRvU3RyaW5nKDE2KStjLnRvU3RyaW5nKDE2KX07CmwyPWZ1bmN0aW9uKGEsYil7dmFyIGM9W2kyKGIsMCxiLmxlbmd0aD4+MSx2b2lkIDApLGkyKGIsYi5sZW5ndGg+PjEpXTthPW5ldyBVaW50MzJBcnJheShhLmJ1ZmZlcik7Yj1hWzBdO3ZhciBbZCxlXT1jO2ZvcihjPTE7YzxhLmxlbmd0aDtjKz0yKXt2YXIgZj1iLGg9YyxrPWQsbD1lO2ZvcihsZXQgbT0wO208MjI7bSsrKWg9aD4+Pjh8aDw8MjQsaCs9ZnwwLGhePWsrMzgyOTMsZj1mPDwzfGY+Pj4yOSxmXj1oLGw9bD4+Pjh8bDw8MjQsbCs9a3wwLGxePW0rMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1sO2Y9W2YsaF07YVtjXV49ZlswXTtjKzE8YS5sZW5ndGgmJihhW2MrMV1ePWZbMV0pfX07CmV0YT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSg0LShqMi5sZW5ndGgrYy5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2YrajIubGVuZ3RoKzQrYy5sZW5ndGgpLGs9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxsPTA7ay5zZXRVaW50MzIobCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO2w9bCs0K2Y7aC5zZXQoajIsbCk7bCs9ajIubGVuZ3RoO2suc2V0VWludDMyKGwsZSk7aC5zZXQoYyxsKzQpO2wyKGgsZCk7cmV0dXJuIGEucmIoYixtPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShtKSk/aDIoYixfLnNjKGgpKT8icyI6InQiOiJpIn07CmZ0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShhKTtpZighYylyZXR1cm5bIm0iXTt0cnl7dmFyIGQ9Xy51YyhjKTtsMihkLGIpfWNhdGNoKGUpe3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJjIl19Zm9yKGI9NDtiPDcmJmRbYl09PT0wOyliKys7Zm9yKGM9MDtjPGoyLmxlbmd0aDtjKyspaWYoZFtiKytdIT09ajJbY10pcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShhKSxbImQiXTtjPShuZXcgRGF0YVZpZXcoZC5idWZmZXIpKS5nZXRVaW50MzIoYik7cmV0dXJuIE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xRTMpPj1jPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJlIl0pOlsiYSIsbmV3IFVpbnQ4QXJyYXkoZC5idWZmZXIsYis0KV19OwpndGE9ZnVuY3Rpb24oYSl7dmFyIGI9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJpVTVxLSFPOUAkIik7aWYoIWIpcmV0dXJuIG5ldyBtMihhKTt2YXIgYz1iLnNwbGl0KCIsIik7aWYoYy5sZW5ndGg8MilyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IG0yKGEpO2I9Yy5zbGljZSgxKTtiLmxlbmd0aD09PTEmJmJbMF09PT0iIiYmKGI9W10pO2M9TnVtYmVyKGNbMF0pO3JldHVybiBpc05hTihjKXx8YzwwfHxjPmIubGVuZ3RoPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oImlVNXEtIU85QCQiKSxuZXcgbTIoYSkpOm5ldyBtMihhLGMsYil9O24yPWZ1bmN0aW9uKGEsYil7dmFyIGM9c2V0VGltZW91dCgoKT0+e2Eudi5yZXNvbHZlKCl9LGIpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGMpKX07CnAyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YCR7YihhLmVycm9yLm1lc3NhZ2UpfToke2IoYS5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtiPWMubGVuZ3RoKzE7Yz1vMihjKTt2YXIgZD1uZXcgVWludDhBcnJheSg0K2MubGVuZ3RoKTtkLnNldChbNDIsYiYxMjd8MTI4LGI+PjcsYS5lcnJvci5jb2RlXSk7ZC5zZXQoYyw0KTtyZXR1cm4gZH07bzI9ZnVuY3Rpb24oYSl7cmV0dXJuIGdsb2JhbFRoaXMuVGV4dEVuY29kZXI/KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKGEpOl8uYWMoYSl9Owp0Mj1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7YS52Kys7dmFyIGM9bmV3IF8uY3M7YS52bSBpbnN0YW5jZW9mIHEyJiZhLnZtLkIucHVzaChjLnByb21pc2UpO2lmKGEuUW4pe2xldCBmPW5ldyBfLmNzO3NldFRpbWVvdXQoKCk9PnZvaWQgZi5yZXNvbHZlKCkpO2F3YWl0IGYucHJvbWlzZX12YXIgZD1hLlguc2hhcmUoKTt0cnl7YS5zdGF0ZT01O2xldCBmPVtdLGg9YXdhaXQgYjIoYS52bS5zbmFwc2hvdCh7S2M6e30sSXM6Zn0pLGEuTGcuQkEsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxNSwiTURBOlRpbWVvdXQiKSkpO3IyKGEsIk1EQTpEaXNwb3NlZCIpO2xldCBrPWZbMF07YS5zdGF0ZT02O2xldCBsPWF3YWl0IGIyKGh0YShhLm9kLGgpLGEuTGcuV3YsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxMCwiQldCOlRpbWVvdXQiKSkpO3IyKGEsIkJXQjpEaXNwb3NlZCIpO2Euc3RhdGU9NztiPVIxKGQsKCk9Pnt2YXIgbT1pdGEoYSxsLGMsayk7bS52LnByb21pc2UudGhlbigoKT0+CnZvaWQgYS5CKCkpO3JldHVybiBtfSwiaSIpfWNhdGNoKGYpe2I/LmRpc3Bvc2UoKTtpZighYS5vKXtsZXQgaD1qdGEoYSxmKTtjLnJlc29sdmUoKTt2YXIgZTtpZihlPWEudm0gaW5zdGFuY2VvZiBxMiYmYS52PDIpYTppZihmIGluc3RhbmNlb2YgaDEpZT1mLmNvZGUhPT0zMiYmZi5jb2RlIT09MjAmJmYuY29kZSE9PTEwO2Vsc2V7aWYoZiBpbnN0YW5jZW9mIHMyKXN3aXRjaChmLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6ZT0hMTticmVhayBhfWU9ITB9aWYoZSl7bGV0IGs9c2V0VGltZW91dCgoKT0+dm9pZCBhLkIoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKGEuaj82RTQ6MUUzKSk7YS5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQoaykpO3JldHVybn1hLm89aH1kLkpiKGEuaj8xMzoxNCk7YS55Zy5yZWplY3QoYS5vKTtyZXR1cm59ZmluYWxseXtkLmRpc3Bvc2UoKX1hLnN0YXRlPTg7YS52PTA7YS5qPy5kaXNwb3NlKCk7CmEuaj1iO2EueWcucmVzb2x2ZSgpfTtqdGE9ZnVuY3Rpb24oYSxiKXtpZighKGIgaW5zdGFuY2VvZiBoMSkpaWYoYiBpbnN0YW5jZW9mIHMyKXtsZXQgYz1FcnJvcihiLnRvU3RyaW5nKCkpO2Muc3RhY2s9Yi5zdGFjaztiPW5ldyBoMSgxMSwiRUJIOkVycm9yIixjKX1lbHNlIGI9bmV3IGgxKDEyLCJCU086VW5rbm93biIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O3IyPWZ1bmN0aW9uKGEsYil7aWYoYS5pYSgpKXRocm93IG5ldyBoMShhLmo/MjA6MzIsYik7fTsKaXRhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPShzXyhfLmVkKGIsMikpPz8wKSoxRTM7aWYoZTw9MCl0aHJvdyBuZXcgaDEoMzEsIlRUTTpJbnZhbGlkIik7aWYoSl8oYiw0KSlyZXR1cm4gbmV3IGt0YShhLlgsSl8oYiw0KSxlKTtpZighKHNfKF8uZWQoYiwzKSk/PzApKXJldHVybiBuZXcgbHRhKGEuWCxGWihCXyhiKSksZSk7aWYoIWQpdGhyb3cgbmV3IGgxKDQsIlBNRDpVbmRlZmluZWQiKTtkPWQoRlooQl8oYikpKTtpZih0eXBlb2YgZCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IGgxKDE2LCJBUEY6RmFpbGVkIik7YS5EPU1hdGguZmxvb3IoKERhdGUubm93KCkrZSkvMUUzKTthPW5ldyB1MihhLlgsZCxzXyhfLmVkKGIsMykpPz8wLGUpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgYy5yZXNvbHZlKCkpO3JldHVybiBhfTsKdzI9ZnVuY3Rpb24oYSxiLGMpe3RyeXtpZihhLmlhKCkpdGhyb3cgbmV3IGgxKDIxLCJCTlQ6ZGlzcG9zZWQiKTtpZighYS5qJiZhLm8pdGhyb3cgYS5vO3JldHVybiBtdGEoYSxiLGMpPz9udGEoYSxiLGMpPz9vdGEoYSxiLGMpfWNhdGNoKGQpe2lmKCFiLk15KXRocm93IHYyKGEsZCk7cmV0dXJuIHB0YShhLGMsZCl9fTt2Mj1mdW5jdGlvbihhLGIpe2I9YiBpbnN0YW5jZW9mIGgxP2I6bmV3IGgxKDUsIlRWRDplcnJvciIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O210YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuaj8uc20oKCk9PngyKGEsYiksYyxkPT57aWYoYS5qIGluc3RhbmNlb2YgdTImJmIueWk/LkpBKXRyeXthLmNhY2hlPy5qKHgyKGEsYiksZCxiLnlpLlhvLGEuRC0xMjApfWNhdGNoKGUpe2EucmVwb3J0RXJyb3IobmV3IGgxKDI0LCJFTFg6d3JpdGUiLGUpKX19KX07Cm50YT1mdW5jdGlvbihhLGIsYyl7aWYoYi55aT8uQXUpdHJ5e2xldCBkPWEuY2FjaGU/Lm8oeDIoYSxiKSxiLnlpLlhvKTtyZXR1cm4gZD9jP1IxKGEuWCwoKT0+Xy5zYyhkLDIpLCJhIik6ZDp2b2lkIDB9Y2F0Y2goZCl7YS5yZXBvcnRFcnJvcihuZXcgaDEoMjMsIlJYTzpyZWFkIixkKSl9fTtvdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtpZighYi5MeSl0aHJvdyBuZXcgaDEoMjksIlNERjpub3RyZWFkeSIpO3JldHVybiBfLlZ6KGQsbmV3IHF0YShhLlgsYS5zdGF0ZSkpLnNtKCgpPT54MihhLGIpLGMpfWNhdGNoKGUpe2QuZXJyb3I9ZSxkLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihkKX19OwpwdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgZT12MihhLGMpO3JldHVybiBfLlZ6KGQsbmV3IHJ0YShhLlgsZSkpLnNtKCgpPT5bXSxiKX1jYXRjaChlKXtkLmVycm9yPWUsZC5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3ooZCl9fTt4Mj1mdW5jdGlvbihhLGIpe3JldHVybiBiLnNsP2Iuc2w6Yi5LYz9SMShhLlgsKCk9PmIuc2w9bzIoYi5LYyksImMiKTpbXX07eTI9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PSJcciJ8fGE9PSJcbiJ8fGE9PSIgInx8YT09Ilx0In07ejI9ZnVuY3Rpb24oKXt0aGlzLk09bnVsbDt0aGlzLlk9W107dGhpcy5JPSIiO3RoaXMuVT1bXTt0aGlzLnY9dGhpcy5vPTA7dGhpcy5EPSExO3RoaXMuSz0wO3RoaXMuWj0vW1xcIl0vZzt0aGlzLmo9dGhpcy5CPTB9OwpBMj1mdW5jdGlvbihhLGIsYyl7YS5CPTM7YS5NPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIithLnYrIi8iK2MrIi4gV2l0aCBpbnB1dDpcbiIrYjt0aHJvdyBFcnJvcihhLk0pO307QzI9ZnVuY3Rpb24oKXt2YXIgYT1VXyhzdGEpLGI7cmV0dXJuKG5ldyBfLkJmKChjLGQpPT57YS5vblN1Y2Nlc3M9ZT0+e18ucWooZSk/YyhuZXcgdHRhKGUpKTpkKG5ldyBCMihgUmVxdWVzdCBmYWlsZWQsIHN0YXR1cz0ke18ucGooZSl9YCwibmV0LmJhZHN0YXR1cyIpKX07YS5vbkVycm9yPSgpPT57ZChuZXcgQjIoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIikpfTthLm9uVGltZW91dD0oKT0+e2QobmV3IEIyKCJSZXF1ZXN0IHRpbWVkIG91dCIsIm5ldC50aW1lb3V0IikpfTtiPV8uemooIi8vZ29vZ2xlYWRzLmcuZG91YmxlY2xpY2submV0L3BhZ2VhZC9pZCIsYSl9KSkuS2coYz0+e2MgaW5zdGFuY2VvZiBfLlBmJiZiPy5hYm9ydCgpO3JldHVybiBfLk90KGMpfSl9Owp1dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0yO2Eubz1ifTt2dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0xO2Eubz1ifTtFMj1mdW5jdGlvbihhPW51bGwpe3ZhciBiPW5ldyBEMjt1dGEoYixhKTtyZXR1cm4gYn07RjI9ZnVuY3Rpb24oYT1udWxsKXt2YXIgYj1uZXcgRDI7dnRhKGIsYSk7cmV0dXJuIGJ9O3d0YT1mdW5jdGlvbihhKXt2YXIgYj1hLmRvY2lkfHxhLnZpZGVvX2lkfHxhLnZpZGVvSWR8fGEuaWQ7aWYoYilyZXR1cm4gYjtiPWEucmF3X3BsYXllcl9yZXNwb25zZTtifHwoYT1hLnBsYXllcl9yZXNwb25zZSkmJihiPUpTT04ucGFyc2UoYSkpO3JldHVybiBiJiZiLnZpZGVvRGV0YWlscyYmYi52aWRlb0RldGFpbHMudmlkZW9JZHx8bnVsbH07CkcyPWZ1bmN0aW9uKGEpe3ZhciBiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIjt3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuaW5jbHVkZXMoInlvdXR1YmVlZHVjYXRpb24uY29tIikmJihiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKTt2YXIgYz1hLnJhd19lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7aWYoIWMmJihhPWEuZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlKSl0cnl7Yz1KU09OLnBhcnNlKGEpfWNhdGNoKGQpe3JldHVybiBifWlmKGMpYTp7YT14dGE7Zm9yKGxldCBkIGluIGEpaWYoYVtkXT09Yy5lbWJlZGRlZFBsYXllck1vZGUpe2I9YVtkXTticmVhayBhfX1yZXR1cm4gYn07Cnl0YT1mdW5jdGlvbigpe2lmKF8ueCgiZGlzYWJsZV9iaXNjb3R0aV9mZXRjaF9lbnRpcmVseV9mb3JfYWxsX3dlYl9jbGllbnRzIikpcmV0dXJuIEVycm9yKCJ2ZSIpO2lmKCFfLnN6KCkpcmV0dXJuIEVycm9yKCJ3ZSIpO3ZhciBhPV8udygiUExBWUVSX1ZBUlMiLHt9KTtpZihUXyhhKT09IjEiKXJldHVybiBFcnJvcigieGUiKTtpZihHMihhKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKXJldHVybiBFcnJvcigieWUiKX07Wl89ZnVuY3Rpb24oKXt2YXIgYT15dGEoKTtpZihhIT09dm9pZCAwKXJldHVybiBfLk90KGEpO0gyfHwoSDI9QzIoKS50aGVuKEkyKS5LZyhiPT5KMigyLGIpKSk7cmV0dXJuIEgyfTsKSTI9ZnVuY3Rpb24oYSl7YT1hLmoucmVzcG9uc2VUZXh0O2lmKGEubGFzdEluZGV4T2YoIildfSciLDApIT0wKXRocm93IG5ldyBLMjthPUpTT04ucGFyc2UoYS5zdWJzdHIoNCkpO2lmKChhLnR5cGV8fDEpPjEpdGhyb3cgbmV3IEsyO2E9YS5pZDskXyhhKTtIMj1GMihhKTtMMigxOEU1LDIpO3JldHVybiBhfTtKMj1mdW5jdGlvbihhLGIpe2I9bmV3IE0yKGIpOyRfKCIiKTtIMj1FMihiKTthPjAmJkwyKDEyRTQsYS0xKTt0aHJvdyBiO307TDI9ZnVuY3Rpb24oYSxiKXtfLm1qKGZ1bmN0aW9uKCl7QzIoKS50aGVuKEkyLGM9PkoyKGIsYykpLktnKF8uZ2QpfSxhKX07enRhPWZ1bmN0aW9uKCl7dHJ5e2xldCBhPV8uc2EoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iKTtyZXR1cm4gYT9hKCk6Wl8oKX1jYXRjaChhKXtyZXR1cm4gXy5PdChhKX19OwpOMj1mdW5jdGlvbigpe3ZhciBhPSExO3RyeXthPSEhd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oInNlc3Npb25fbG9naW5pbmZvIil9Y2F0Y2h7YT0hMH1yZXR1cm4oXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9DUkVBVE9SIikmJmF9OwpPMj1mdW5jdGlvbigpe3RyeXt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic3RpY2tpbmVzc19yZWxvYWQiKTt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKTtfLlFpKCJMT0dJTl9JTkZPIiwiIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oImZyb21fc3dpdGNoX2FjY291bnQiLCIxIik7dmFyIGE7bGV0IGM9QXRhO2N8fChjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwZXJzaXN0X2lkZW50aXR5IikpO2lmKGE9Yyl7dmFyIGI9YS5zcmM/KG5ldyBVUkwoYS5zcmMpKS5vcmlnaW46IioiO2EuY29udGVudFdpbmRvdz8ucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiY2xlYXIifSxiKX19Y2F0Y2h7fX07ClAyPWZ1bmN0aW9uKGEpe2lmKGEpaWYoYS5zdGFydHNXaXRoKCJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vQWRkU2Vzc2lvbiIpKU8yKCk7ZWxzZSBpZihhLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKSlPMigpO2Vsc2V7dmFyIGI7aWYoYj1hLnN0YXJ0c1dpdGgoImh0dHBzOi8vbXlhY2NvdW50Lmdvb2dsZS5jb20iKSliPShhIGluc3RhbmNlb2YgXy5meT9hLmNsb25lKCk6bmV3IF8uZnkoYSkpLmouZW5kc1dpdGgoIi95b3V0dWJlb3B0aW9ucyIpO2ImJk8yKCl9aWYoXy53KCJMT0dHRURfSU4iLCEwKSYmTjIoKSl7Yj1fLncoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBjPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2MmJmIucHVzaChjKTtjPV8uUGIoYSk7Xy5zYihiLGMpPj0wfHwhYyYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTA/KGI9Xy5OeShhKSwoYj1fLk95KGIpKT8oYj1fLnZ6KGIpLApiPShiPV8uTGouZ2V0KGIsdm9pZCAwKXx8bnVsbCk/Xy5iaihiKTp7fSk6Yj1udWxsKTpiPW51bGw7Yj09bnVsbCYmKGI9e30pO2M9Yjt2YXIgZD12b2lkIDA7TjIoKT8oZHx8KGQ9Xy53KCJMT0dJTl9JTkZPIikpLGQ/KGMuc2Vzc2lvbl9sb2dpbmluZm89ZCxjPSEwKTpjPSExKTpjPSExO2MmJl8udXooYSxiKX19O0J0YT1mdW5jdGlvbihhLGI9e30sYz0hMSl7dmFyIGQ9Xy53KCJFVkVOVF9JRCIpO2QmJihiLmVpfHwoYi5laT1kKSk7YiYmXy51eihhLGIpO2lmKGMpcmV0dXJuITE7UDIoYSk7Yj13aW5kb3c7YT1fLldiKGEse30pO1AyKGEpO2E9Xy5LeihhKTtiPWIubG9jYXRpb247YT1fLmRiKGEpO2EhPT12b2lkIDAmJihiLmhyZWY9YSk7cmV0dXJuITB9O1EyPWZ1bmN0aW9uKGEpe2lmKFRfKF8udygiUExBWUVSX1ZBUlMiLHt9KSkhPSIxIil7YSYmd3JhKCk7dHJ5e3p0YSgpLnRoZW4oKCk9Pnt9LCgpPT57fSksXy5taihRMiwxOEU1KX1jYXRjaChiKXtfLlVpKGIpfX19OwpEdGE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cubG9jYXRpb24uaHJlZjtpZihfLngoImtldmxhcl9kaXNhYmxlX3RoZW1lX3BhcmFtIikpcmV0dXJuIG51bGw7Xy5RYihhKTt0cnl7bGV0IGI9YTAoYSkudGhlbWU7cmV0dXJuIEN0YS5nZXQoYil8fG51bGx9Y2F0Y2goYil7fXJldHVybiBudWxsfTsKUzI9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFIyO2lmKGEuaW50ZXJwcmV0ZXJKYXZhc2NyaXB0KXt2YXIgYz1ZXyhhLmludGVycHJldGVySmF2YXNjcmlwdCk7Yz1fLmxiKGMpLnRvU3RyaW5nKCk7dmFyIGQ9bmV3IFkxO0JaKGQsNixjKTtfLkt3KGIsMSxkLF8ud3opfWVsc2UgYS5pbnRlcnByZXRlclVybCYmKGM9Xy5odyhhLmludGVycHJldGVyVXJsKSxjPV8uVWEoYykudG9TdHJpbmcoKSxkPW5ldyBaMSxCWihkLDQsYyksXy5LdyhiLDIsZCxfLnd6KSk7YS5pbnRlcnByZXRlckhhc2gmJl8uV3goYiwzLEFaKGEuaW50ZXJwcmV0ZXJIYXNoKSwiIixfLnd6KTthLnByb2dyYW0mJl8uV3goYiw0LEFaKGEucHJvZ3JhbSksIiIsXy53eik7YS5nbG9iYWxOYW1lJiZfLld4KGIsNSxBWihhLmdsb2JhbE5hbWUpLCIiLF8ud3opO2EuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2ImJl8uV3goYiw3LEFaKGEuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2IpLCIiLF8ud3opO3JldHVybiBifTsKVDI9ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjIG9mIGEpYT1jLnNwbGl0KCI9IiksYS5sZW5ndGg9PT0yJiYoYlthWzBdXT1hWzFdKTtyZXR1cm4gYn07VTI9ZnVuY3Rpb24oYSl7cmV0dXJuIE51bWJlcihhLnQpfHw3MjAwfTtFdGE9YXN5bmMgZnVuY3Rpb24oKXt2YXIgYT13aW5kb3c7YXdhaXQgZjEoVjIoKSk7dmFyIGI9YS5iZ2V2bWM7aWYoIWIpdGhyb3cgRXJyb3IoInplIik7cmV0dXJue3BhdXNlOigpPT57Yi5wKCl9LHJlc3VtZTooKT0+e2IucigpfSxjaGVja0ZvclJlZnJlc2g6KCk9PmIuY3IoKX19O1YyPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiYmdfc3RfaHIiKT8iaGF2dW9rbWhocy0wIjpgaGF2dW9rbWhocy0ke01hdGguZmxvb3IoZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZT8udGltZU9yaWdpbnx8MCl9YH07VzI9ZnVuY3Rpb24oYSl7d2luZG93LmJnZW5zPWF9OwpGdGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoYT0+e3ZhciBiPXdpbmRvdztiLm50cGV2YXNycyE9PXZvaWQgMD9hKG5ldyBYMihiLm50cGV2YXNycykpOihiLm50cHFmYmVsPT09dm9pZCAwJiYoYi5udHBxZmJlbD1bXSksYi5udHBxZmJlbC5wdXNoKGM9PnthKG5ldyBYMihjKSl9KSl9KX07Ckd0YT1mdW5jdGlvbigpe2lmKF8uc3ooKSl7dmFyIGE9Xy53KCJQTEFZRVJfVkFSUyIse30pO2lmKFRfKGEpIT0iMSImJkcyKGEpIT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCIpe3ZhciBiPSgpPT57WTI9ITA7Imdvb2dsZV9hZF9zdGF0dXMiaW4gd2luZG93P18uUWkoIkRDTEtTVEFUIiwxKTpfLlFpKCJEQ0xLU1RBVCIsMil9O3RyeXtsZXQgYz1fLmliKGRvY3VtZW50KTtIMChaMixiLGMpfWNhdGNoKGMpe30kMi5wdXNoKF8uamYucGIoKCk9PntpZighKFkyfHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7RzAoWjIudG9TdHJpbmcoKSxiKX1jYXRjaChjKXt9WTI9ITA7Xy5RaSgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07YTM9ZnVuY3Rpb24oKXt2YXIgYT1OdW1iZXIoXy53KCJEQ0xLU1RBVCIsMCkpO3JldHVybiBpc05hTihhKT8wOmF9O2IzPWZ1bmN0aW9uKGEsYil7YS5qPWJ9OwpJdGE9YXN5bmMgZnVuY3Rpb24oYSl7aWYoXy51Lnl0QXRQJiYhXy54KCJ5dGF0cF9rcyIpKXt2YXIgYj1hd2FpdCBfLnUueXRBdFA7ZGVsZXRlIF8udS55dEF0UDt2YXIgYz1iPy5SO3ZhciBkPWI/LlQ7Yj1IdGEoYyk7bGV0IGY9ISFkO2Euby5vKGM/Yj9mPzc6MTA6Zj8xOjg6Zj8yOjksYS52KyspO2lmKCFjfHxiKWM9YXdhaXQgYS5SZihjMyhkLG51bGwpKSxjPUpTT04uc3RyaW5naWZ5KGMpO18udS55dEF0UkM/Xy51Lnl0QXRSQyhjKTpfLklwKEVycm9yKCJBZSIpKX1lbHNlIF8udS55dEF0UkM/Xy5yeChhc3luYygpPT57ZD1fLnUueXRBdFQ7ZGVsZXRlIF8udS55dEF0VDtpZihfLnUueXRBdFJDKXthLm8ubygyLGEudisrKTt2YXIgZj1hd2FpdCBhLlJmKGMzKGQsbnVsbCkpO18udS55dEF0UkMmJl8udS55dEF0UkMoSlNPTi5zdHJpbmdpZnkoZikpfWVsc2UgYS5vLm8oNixhLnYrKyl9LF8uc2ooImF0dF9pbml0X2RlbGF5IiwwKSk6KGQ9Xy51Lnl0QXRULGRlbGV0ZSBfLnUueXRBdFQsCmEuby5vKDEsYS52KyspKTtjPWF3YWl0IEZ0YSgpO2MuYmluZElubmVydHViZUNoYWxsZW5nZUZldGNoZXIoZj0+e2Euby5vKDMsYS52KyspO3JldHVybiBhLlJmKGMzKGQsZikpfSk7Yy5yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhmPT57Zj1mLmNoYWxsZW5nZTtpZighZil0aHJvdyBFcnJvcigiQmUiKTtmPXtjaGFsbGVuZ2U6ZixCZjpUMihmKSx2bTplLGJnQ2hhbGxlbmdlOm5ldyBSMn07Zj1Qcm9taXNlLnJlc29sdmUoZik7YS5qPWZ9KTt2YXIgZT1hd2FpdCBmMShWMigpKTtjPWMuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKS5jaGFsbGVuZ2U7aWYoIWMpdGhyb3cgRXJyb3IoIkNlIik7cmV0dXJue2NoYWxsZW5nZTpjLEJmOlQyKGMpLHZtOmUsYmdDaGFsbGVuZ2U6bmV3IFIyfX07CmUzPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPWMzKHZvaWQgMCxXMSgpLmopO3RyeXt2YXIgYz1hd2FpdCBKdGEoYSxiKX1jYXRjaChmKXtyZXR1cm4gXy5JcChFcnJvcigiRGUiKSksZDMoYSw4NjRFNSkse2NoYWxsZW5nZToiIixCZjp7fSx2bTp2b2lkIDAsYmdDaGFsbGVuZ2U6dm9pZCAwfX1iPWMueXo7dmFyIGQ9Yy56ejtkMyhhLFUyKGQpKjFFMyk7YT12b2lkIDA7aWYoImMxYSJpbiBkJiZjLmJnQ2hhbGxlbmdlKXt2YXIgZT1TMihjLmJnQ2hhbGxlbmdlKTt0cnl7YXdhaXQgJDEoVzEoKSxlKX1jYXRjaChmKXtyZXR1cm4gXy5JcChmKSx7Y2hhbGxlbmdlOmIsQmY6ZCx2bTphLGJnQ2hhbGxlbmdlOmV9fXRyeXthPW5ldyBkMih7Y2hhbGxlbmdlOmUsbmc6e21iOiJhR0lmIn19KSxhd2FpdCBhLkNnfWNhdGNoKGYpe18uSXAoZiksYT12b2lkIDB9fXJldHVybntjaGFsbGVuZ2U6YixCZjpkLHZtOmEsYmdDaGFsbGVuZ2U6ZX19OwpKdGE9YXN5bmMgZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9dm9pZCAwLGQ9MDtkPDU7KXtpZihkPjApe2xldCBlPTFFMypNYXRoLnBvdygyLGQtMSkrTWF0aC5yYW5kb20oKSoxRTM7YXdhaXQgbmV3IFByb21pc2UoZj0+e18uWWooKCk9PntmKHZvaWQgMCl9LGUpfSl9dHJ5e2Euby5vKDQsYS52KyspO2xldCBlPWF3YWl0IGEuUmYoYik7cmV0dXJuIEt0YShlKX1jYXRjaChlKXtjPWUsZSBpbnN0YW5jZW9mIEVycm9yJiZfLklwKGUpfWQrK310aHJvdyBjO307ZDM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1EYXRlLm5vdygpK2IsZD1hc3luYygpPT57dmFyIGU9Yy1EYXRlLm5vdygpO2U8MUUzP2F3YWl0IEx0YShhKTpfLllqKGQsTWF0aC5taW4oZSw2RTQpKX07ZCgpfTtmMz1hc3luYyBmdW5jdGlvbihhLGIpe1cyKDIpO3RyeXtsZXQgYz1hd2FpdCBhLm5ldHdvcmsuUmYoYik7Yz9jLmNoYWxsZW5nZSYmIWMuYmdDaGFsbGVuZ2U/VzIoMSk6VzIoNCk6VzIoMyk7cmV0dXJuIGN9Y2F0Y2goYyl7VzIoMyl9fTsKS3RhPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCJFZSIpO2lmKCFhLmNoYWxsZW5nZSl0aHJvdyBFcnJvcigiRmUiKTt2YXIgYj1hLmNoYWxsZW5nZSxjPVQyKGIpO2lmKCJjMWEiaW4gYyYmKCFhLmJnQ2hhbGxlbmdlfHwhYS5iZ0NoYWxsZW5nZS5wcm9ncmFtKSl0aHJvdyBFcnJvcigiR2UiKTtyZXR1cm57Li4uYSx5ejpiLHp6OmN9fTtMdGE9YXN5bmMgZnVuY3Rpb24oYSl7dmFyIGI9YXdhaXQgUHJvbWlzZS5yYWNlKFthLmosbnVsbF0pLGM9ZTMoYSk7YS5qPWM7Yj8udm0/LmRpc3Bvc2UoKX07TXRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLllqKCgpPT57YyhiKCkpfSxhKX0pfTtjMz1mdW5jdGlvbihhLGIpe3ZhciBjPXtlbmdhZ2VtZW50VHlwZToiRU5HQUdFTUVOVF9UWVBFX1VOQk9VTkQifTthJiYoYy5lYWNyVG9rZW49YSk7YiYmKGMuaW50ZXJwcmV0ZXJIYXNoPWIpO3JldHVybiBjfTsKSHRhPWZ1bmN0aW9uKGEpe2lmKCFhfHwhXy54KCJyb3NjYXMiKSlyZXR1cm4hMTt0cnl7dmFyIGI9SlNPTi5wYXJzZShhKX1jYXRjaChjKXtyZXR1cm4hMX1hPWIuY2hhbGxlbmdlO2lmKCFhKXJldHVybiExO2I9VDIoYSk7YT1OdW1iZXIoYi5jKXx8dm9pZCAwO2I9VTIoYik7cmV0dXJuISFhJiZEYXRlLm5vdygpPihhK2IpKjFFM307aDM9ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGg9PT0xKXJldHVybiBhWzBdO3ZhciBiPWczLlVOS05PV05fSU5URVJGQUNFO2lmKGIpe2I9bmV3IFJlZ0V4cChiKTtmb3IodmFyIGMgb2YgYSlpZihiLmV4ZWMoYykpcmV0dXJuIGN9dmFyIGQ9W107T2JqZWN0LmVudHJpZXMoZzMpLmZvckVhY2goKFtlLGZdKT0+eyJVTktOT1dOX0lOVEVSRkFDRSIhPT1lJiZkLnB1c2goZil9KTtjPW5ldyBSZWdFeHAoZC5qb2luKCJ8IikpO2Euc29ydCgoZSxmKT0+ZS5sZW5ndGgtZi5sZW5ndGgpO2ZvcihsZXQgZSBvZiBhKWlmKCFjLmV4ZWMoZSkpcmV0dXJuIGU7cmV0dXJuIGFbMF19OwpOdGE9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntFbDpuZXcgaTMoKGMsZCk9PnthPWM7Yj1kfSkscmVzb2x2ZTphLHJlamVjdDpifX07azM9ZnVuY3Rpb24oYSl7cmV0dXJuIGozKGEpP2E6KDAsXy5ibykoYSk/bmV3IGkzKChiLGMpPT57YS50aGVuKGIsYyl9KTpuZXcgaTMoYj0+e2IoYSl9KX07T3RhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgaTMoKGIsYyk9PntjKGEpfSl9O1B0YT1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIGszKGEoKSl9Y2F0Y2goYil7cmV0dXJuIE90YShiKX19O1F0YT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntsMyhhLGIsYyl9KX07bTM9ZnVuY3Rpb24oYSl7cmV0dXJuIFF0YShhKX07bjM9ZnVuY3Rpb24oYSl7aWYoYS5qPT09ImZ1bGZpbGxlZCIpe3ZhciBiPWEubzthLm89W107YS52PVtdO2Zvcih2YXIgYyBvZiBiKWMoYS5yZXN1bHQpfWVsc2UgaWYoYS5qPT09InJlamVjdGVkIil7Yz1hLnY7YS5vPVtdO2Eudj1bXTtmb3IoYiBvZiBjKWIoYS5lcnJvcil9fTsKbDM9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7RWw6ZCxyZXNvbHZlOmUscmVqZWN0OmZ9PU50YSgpO2Euby5wdXNoKGg9PntpZihiKXRyeXtsZXQgaz1iKGgpO2Uoayl9Y2F0Y2goayl7ZihrKX1lbHNlIGUoaCl9KTthLnYucHVzaChoPT57aWYoYyl0cnl7bGV0IGs9YyhoKTtlKGspfWNhdGNoKGspe2Yoayl9ZWxzZSBmKGgpfSk7bjMoYSk7cmV0dXJuIGR9O1J0YT1mdW5jdGlvbihhLGIpe3JldHVybiBsMyhhLHZvaWQgMCxiKX07bzM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gU3RhKGIuY2FsbChhKSl9O3AzPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbiooKXtyZXR1cm4geWllbGR7RWw6azMoYSl9fSgpfTtTdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIFB0YSgoKT0+cTMoYSxhLm5leHQoKSkpfTtxMz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmRvbmU/azMoYi52YWx1ZSk6UnRhKGwzKGIudmFsdWUuRWwsYz0+cTMoYSxhLm5leHQoYykpKSxjPT5xMyhhLGEudGhyb3coYykpKX07ClR0YT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPV8ueSgpLnJlc29sdmUoXy5JeSk7aWYoYSl7aWYoYT1hd2FpdCBhLlFpKHtzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiR0VUX0RBVEFTWU5DX0lEUyJ9fSkpe2lmKGEuZXJyb3JNZXRhZGF0YSl7Xy5JcChFcnJvcigiSGVgIithLmVycm9yTWV0YWRhdGEuc3RhdHVzKyJgIithLmVycm9yKSk7cmV0dXJufXJldHVybiBhLnRJfV8uSXAoRXJyb3IoIkllIikpfWVsc2UgXy5JcChFcnJvcigiSmUiKSl9OwpyMz1mdW5jdGlvbihhLGIpe2lmKGIuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPWIsdHlwZW9mIGIuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBjPU51bWJlcihiLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxjKjFFMyk7YS5vJiZfLk1qKCJDT05TSVNURU5DWSIsYi5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzLGMsdm9pZCAwLCEwKX19O3MzPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgXy5lbigieXQtY2xpZW50LWxvY2F0aW9uIik6YS5sb2NhbFN0b3JhZ2V9Owp3Mz1mdW5jdGlvbihhLGI9ITEsYz0hMSl7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO2lmKCFkKXJldHVybiBfLkdwKEVycm9yKCJNZSIpKSx7fTtkPV8ucWQoZCk7Xy54KCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGQuY2xpY2tUcmFja2luZztkLmNsaWVudHx8KGQuY2xpZW50PXt9KTt2YXIgZT1kLmNsaWVudDtlLmNsaWVudE5hbWU9PT0iTVdFQiImJmUuY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGUuY2xpZW50Rm9ybUZhY3Rvcj1fLncoIklTX1RBQkxFVCIpPyJMQVJHRV9GT1JNX0ZBQ1RPUiI6IlNNQUxMX0ZPUk1fRkFDVE9SIik7ZS5zY3JlZW5XaWR0aFBvaW50cz13aW5kb3cuaW5uZXJXaWR0aDtlLnNjcmVlbkhlaWdodFBvaW50cz13aW5kb3cuaW5uZXJIZWlnaHQ7ZS5zY3JlZW5QaXhlbERlbnNpdHk9TWF0aC5yb3VuZCh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk7ZS5zY3JlZW5EZW5zaXR5RmxvYXQ9CndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxO2UudXRjT2Zmc2V0TWludXRlcz0tTWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO18uSHooKTt2YXIgZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiO18uQ3ooMTY1KT9mPSJVU0VSX0lOVEVSRkFDRV9USEVNRV9EQVJLIjpfLkN6KDE3NCk/Zj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiOiFfLngoImtldmxhcl9sZWdhY3lfYnJvd3NlcnMiKSYmd2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWUpIikubWF0Y2hlcyYmd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzJiYoZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyIpO2Y9RHRhKCl8fGY7ZS51c2VySW50ZXJmYWNlVGhlbWU9ZjtfLngoIndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZSIpJiZfLnUuZG9jdW1lbnQmJgooZS5hcHBsaWNhdGlvblN0YXRlPV8udS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFiKXtpZihmPV8uU2ooKSllLmNvbm5lY3Rpb25UeXBlPWY7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGY9Xy5VaigpKSYmKGQuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPWYpfV8ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGQuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke18udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSoxRTZ9YCk7aWYoXy54KCJ3ZWJfZ2NmX2hhc2hlc19pbm5lcnR1YmUiKSl7dmFyIGg9Xy5qbSgpO2lmKGgpe2Y9aC5jb2xkQ29uZmlnRGF0YTtsZXQgbj1oLmNvbGRIYXNoRGF0YTtoPWguaG90SGFzaERhdGE7ZC5jbGllbnQuY29uZmlnSW5mbz1kLmNsaWVudC5jb25maWdJbmZvfHx7fTtmJiYKKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9Zik7biYmKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPW4pO2gmJihkLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWgpfX1mPWEwKF8udS5sb2NhdGlvbi5ocmVmKTshXy54KCJ3ZWJfcG9wdWxhdGVfaW50ZXJuYWxfZ2VvX2tpbGxzd2l0Y2giKSYmZi5pbnRlcm5hbGNvdW50cnljb2RlJiYoZS5pbnRlcm5hbEdlbz1mLmludGVybmFsY291bnRyeWNvZGUpO2UuY2xpZW50TmFtZT09PSJNV0VCInx8ZS5jbGllbnROYW1lPT09IldFQiI/KGUubWFpbkFwcFdlYkluZm98fChlLm1haW5BcHBXZWJJbmZvPXt9KSxlLm1haW5BcHBXZWJJbmZvLmdyYWZ0VXJsPV8udS5sb2NhdGlvbi5ocmVmLF8ueCgia2V2bGFyX3dvZmZsZSIpJiZ0My5pbnN0YW5jZSYmKGY9dDMuaW5zdGFuY2UsZS5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hZi5qJiZmLm8/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6CiJQV0FfSU5TVEFMTEFCSUxJVFlfU1RBVFVTX1VOS05PV04iKSxlLm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSxlLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmUuY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFfLngoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJihmPV8udygiTElWSU5HX1JPT01fQVBQX1FVQUxJVFkiKSkmJihlLnR2QXBwSW5mbz1PYmplY3QuYXNzaWduKGUudHZBcHBJbmZvfHx7fSx7YXBwUXVhbGl0eTpmfSkpLGY9Xy53KCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoZS50dkFwcEluZm89T2JqZWN0LmFzc2lnbihlLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpmfSkpO2lmKCFfLngoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIGs9CihuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7YnJlYWsgYX1jYXRjaHt9az12b2lkIDB9ayYmKGUudGltZVpvbmU9ayl9KGs9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpKT9lLmV4cGVyaW1lbnRzVG9rZW49azpkZWxldGUgZS5leHBlcmltZW50c1Rva2VuO2U9Xy51aigpO3UzLmluc3RhbmNlfHwodTMuaW5zdGFuY2U9bmV3IHUzKTtrPV8uWngodTMuaW5zdGFuY2Uuaik7ZC5yZXF1ZXN0PXsuLi5kLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6ZSxjb25zaXN0ZW5jeVRva2VuSmFyczprfTshXy54KCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihlPV8udygiSU5ORVJUVUJFX0NPTlRFWFRfUFJFUVVFU1RfQ09OVEVYVCIpKSYmKGQucmVxdWVzdC5leHRlcm5hbFByZXF1ZXN0Q29udGV4dD1lKTtrPV8uSHooKTtlPV8uQ3ooNTgpO2s9ay5nZXQoImdzbWwiLCIiKTtkLnVzZXI9ey4uLmQudXNlcn07ZSYmKGQudXNlci5lbmFibGVTYWZldHlNb2RlPQplKTtrJiYoZC51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO18ueCgid2FybV9vcF9jc25fY2xlYW51cCIpP2MmJihiPV8uaXEoKSkmJihkLmNsaWVudFNjcmVlbk5vbmNlPWIpOiFiJiYoYj1fLmlxKCkpJiYoZC5jbGllbnRTY3JlZW5Ob25jZT1iKTthJiYoZC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmF9KTtpZihhPV8uc2EoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWQucmVtb3RlQ2xpZW50PWE7djMuamMoKS5zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChkKTt0cnl7dmFyIGw9Xy5saigpLG09bC5iaWQ7ZGVsZXRlIGwuYmlkO2QuYWRTaWduYWxzSW5mbz17cGFyYW1zOltdLGJpZDptfTtmb3IobGV0IFtuLHBdb2YgT2JqZWN0LmVudHJpZXMobCkpbD1uLG09cCxkLmFkU2lnbmFsc0luZm8ucGFyYW1zPy5wdXNoKHtrZXk6bCx2YWx1ZTpgJHttfWB9KTtpZihkLmNsaWVudD8uY2xpZW50TmFtZT09PSJUVkhUTUw1Inx8ZC5jbGllbnQ/LmNsaWVudE5hbWU9PT0KIlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IG49Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO24uYWRTaWduYWxzSW5mbyYmKGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkPW4uYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkLGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkU2lnbmFsVHlwZT0iREVWSUNFX0lEX1RZUEVfQ09OTkVDVEVEX1RWX0lGQSIsZC5hZFNpZ25hbHNJbmZvLmxpbWl0QWRUcmFja2luZz1uLmFkU2lnbmFsc0luZm8ubGltaXRBZFRyYWNraW5nLG4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMhPT12b2lkIDAmJihkLmFkU2lnbmFsc0luZm8uYXRUcmFja2luZ01hbmFnZXJBdXRob3JpemF0aW9uU3RhdHVzPW4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMpKX19Y2F0Y2gobil7Xy5HcChuKX1yZXR1cm4gZH07ClV0YT1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO3ZhciBjPV8uQihhLF8uenopPy5zaWduYWw7aWYoYyYmYi5IZClyZXR1cm4hIWIuSGRbY107aWYoKGM9Xy5CKGEsXy5BeSk/LnJlcXVlc3QpJiZiLlZnKXJldHVybiEhYi5WZ1tjXTtmb3IobGV0IGQgaW4gYSlpZihiLkZpW2RdKXJldHVybiEwO3JldHVybiExfTsKeDM9ZnVuY3Rpb24oYSl7dmFyIGI9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Xy53KCJFT01fVklTSVRPUl9EQVRBIik/YlsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09Xy53KCJFT01fVklTSVRPUl9EQVRBIik6Xy53KCJWSVNJVE9SX0RBVEEiKSYmKGJbIlgtR29vZy1WaXNpdG9yLUlkIl09Xy53KCJWSVNJVE9SX0RBVEEiKSk7YlsiWC1Zb3V0dWJlLUJvb3RzdHJhcC1Mb2dnZWQtSW4iXT1fLncoIkxPR0dFRF9JTiIsITEpO18udygiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKGJbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1fLncoIkRFQlVHX1NFVFRJTkdTX01FVEFEQVRBIikpO2EhPT0iY29ycyImJigoYT1fLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpJiYoYlsiWC1Zb3V0dWJlLUNsaWVudC1OYW1lIl09YSksKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKGJbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQphKSwoYT1fLncoIkNIUk9NRV9DT05ORUNURURfSEVBREVSIikpJiYoYlsiWC1Zb3V0dWJlLUNocm9tZS1Db25uZWN0ZWQiXT1hKSwoYT1fLncoIkRPTUFJTl9BRE1JTl9TVEFURSIpKSYmKGJbIlgtWW91dHViZS1Eb21haW4tQWRtaW4tU3RhdGUiXT1hKSwoYT12My5qYygpLmdldFhHZW9IZWFkZXI/LigpKSYmKGJbIlgtR2VvIl09YSkpOyhhPV8udygiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoYlsiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1hKTtyZXR1cm4gYn07eTM9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pm5ldyBhfTsKVnRhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKHozLmluc3RhbmNlIT09dm9pZCAwKXtpZihkPXozLmluc3RhbmNlLGE9W2EhPT1kLnYsYiE9PWQuU2EsYyE9PWQubywhMSwhMSwhMSwhMV0sYS5zb21lKGU9PmUpKXRocm93IG5ldyBfLlhqKCJJbm5lclR1YmVUcmFuc3BvcnRTZXJ2aWNlIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQiLGEpO31lbHNlIHozLmluc3RhbmNlPW5ldyB6MyhhLGIsYyxkKX07Cll0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWAveW91dHViZWkvdjEvJHtoMyhXdGEpfWAsZD17UmQ6e2lkZW50aXR5OkEzfX07aWYoXy54KCJtYXdfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0Iil8fF8ueCgiYWxsX3dlYl9uZXR3b3JrX21hY2hpbmVfcmF3X3JlcXVlc3QiKSl7bGV0IGY9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGYpcmV0dXJuIG0zKFh0YShmLHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6dm9pZCAwLGNvbmZpZzpkLGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbihoPT5oLCgpPT57fSl9dmFyIGU9KCk9Pnt9O2U9dzAodjAoYykpO2IuY29udGV4dHx8KGIuY29udGV4dD13Myh2b2lkIDAsITApKTtyZXR1cm4gbmV3IF8uQmYoYXN5bmMgZj0+e3ZhciBoPVkwKGMpO2g9Xy5maihoKT8ic2FtZS1vcmlnaW4iOiJjb3JzIjtoPWEuby56bj9DMyhkLGgpOmF3YWl0IEQzKGQsaCk7dmFyIGs9WDAoWTAoYykpOwprPXtpbnB1dDprLHdiOlowKGspLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6ZH07ZihFMyhhLGssaCxlKSl9KX07WnRhPWZ1bmN0aW9uKGEsYil7YTp7YT1hLnY7dmFyIGM9Xy5CKGIsXy56eik/LnNpZ25hbDtpZihjJiZhLkhkJiYoYz1hLkhkW2NdKSl7dmFyIGQ9YygpO2JyZWFrIGF9aWYoKGM9Xy5CKGIsXy5BeSk/LnJlcXVlc3QpJiZhLlZnJiYoYz1hLlZnW2NdKSl7ZD1jKCk7YnJlYWsgYX1mb3IoZCBpbiBiKWlmKGEuRmlbZF0mJihiPWEuRmlbZF0pKXtkPWIoKTticmVhayBhfWQ9dm9pZCAwfWlmKGQhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShkKX07QzM9ZnVuY3Rpb24oYSxiKXthPV8uUGooe3Nlc3Npb25JbmRleDphPy5SZD8uc2Vzc2lvbkluZGV4fSk7cmV0dXJuey4uLngzKGIpLC4uLmF9fTsKRDM9YXN5bmMgZnVuY3Rpb24oYSxiKXthPWF3YWl0IF8uS3koXy5Qaih7c2Vzc2lvbkluZGV4OmE/LlJkPy5zZXNzaW9uSW5kZXh9KSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Li4ueDMoYiksLi4uYX0pfTsKRTM9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZD0oKT0+e30pe2F3YWl0ICR0YShiKTt2YXIgZT1iLmNvbmZpZz8ucmVxdWVzdEtleTtpZihlJiZhLmouaGFzKGUpKXZhciBmPWEuai5nZXQoZSk7ZWxzZSBmPUpTT04uc3RyaW5naWZ5KGIuaW5uZXJUdWJlUmVxdWVzdCksYi53Yj17Li4uYi53YixoZWFkZXJzOnsuLi4oYi53Yj8uaGVhZGVycz8/e30pLC4uLmN9fSxjPXsuLi5iLndifSxiLndiLm1ldGhvZD09PSJQT1NUIiYmKGM9ey4uLmMsYm9keTpmfSksYi5jb25maWc/LmtuJiZfLkFxKGIuY29uZmlnLmtuKSxmPWEuU2EuZmV0Y2goYi5pbnB1dCxjLGIuY29uZmlnKSxlJiZhLmouc2V0KGUsZik7aWYoKGY9YXdhaXQgZikmJiJlcnJvciJpbiBmJiZmPy5lcnJvcj8uZGV0YWlscyl7Yz1mLmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGMpKGM9aFsiQHR5cGUiXSkmJmF1YS5pbmRleE9mKGMpPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sZj1oKX1lJiZhLmouaGFzKGUpJiZhLmouZGVsZXRlKGUpOwpiLmNvbmZpZz8ucG4mJl8uQXEoYi5jb25maWcucG4pO2J1YShhLGYsYik7Yi5jb25maWc/Lkl6JiZfLkFxKGIuY29uZmlnLkl6KTtkKCk7cmV0dXJuIGZ8fHZvaWQgMH07JHRhPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGE/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe2E9YS5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBiIG9mW10pYXdhaXQgYi5CcihhKX19O2J1YT1mdW5jdGlvbihhLGIsYyl7aWYoYiYmIWI/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZhLkIpZm9yKGxldCBkIG9mIEYzKWEuQltkXSYmYS5CW2RdLmhhbmRsZVJlc3BvbnNlKGIsYyl9O2N1YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIG8zKGEsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9Xy5LeShfLlBqKHtzZXNzaW9uSW5kZXg6Yj8uUmQ/LnNlc3Npb25JbmRleH0pKTtkPXlpZWxkKnAzKGszKGQpKTtyZXR1cm57Li4ueDMoYyksLi4uZH19KCl9KX07CkczPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09MXx8YT09PTJ9O2R1YT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQsZT1fLkIoYixfLkF5KT8ucmVxdWVzdDtlJiZhLmouVmcmJihkPWEuai5WZ1tlXSk7ZHx8Y3x8KGU9Xy5CKGIsXy56eik/LnNpZ25hbCkmJmEuai5IZCYmKGQ9YS5qLkhkW2VdKTtpZighZCYmKGE9Yz9hLmouYUw6YS5qLkZpKSlmb3IobGV0IGYgaW4gYilpZihhW2ZdKXtkPWFbZl07YnJlYWt9aWYoIWQpe2lmKGMpdGhyb3cgRXJyb3IoIlFlIik7dGhyb3cgRXJyb3IoIlJlIik7fWI9ZCgpO3JldHVybiBrMyhiKX07ZXVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJDT01NQU5EX0lOSVQiLGIpfTtYdGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ydW4oIlJFUVVFU1RfSU5JVCIsYil9O0gzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJQUk9DRVNTX1JFU1BPTlNFIixiLCJSZXNwb25zZU1hY2hpbmUgKENhY2hlKSIpfTsKSTM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLnJ1bigiSU5JVCIsYixjIT09dm9pZCAwP2BSZXNwb25zZU1hY2hpbmUgKENodW5rICR7Y30pYDoiUmVzcG9uc2VNYWNoaW5lIil9OwpmdWE9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKTtfLkp6KGEse2phOkozLFdjOigpPT5uZXcgTWFwfSk7Xy5KeihhLHtqYTpLMyxQYTpLMyxnYjohMH0pO18uSnooYSx7amE6TDMsUGE6TDMsZ2I6ITB9KTtfLkp6KGEse2phOk0zLFBhOk0zLGdiOiEwfSk7Xy5KeihhLHtqYTpOMyxQYTpOMyxnYjohMH0pO18uSnooYSx7amE6TzMsUGE6TzMsZ2I6ITB9KTtfLkp6KGEse2phOlAzLFBhOlAzLGdiOiEwfSk7Xy5KeihhLHtqYTpRMyxQYTpRMyxnYjohMH0pO18uSnooYSx7amE6UjMsUGE6UjMsZ2I6ITB9KTtfLkp6KGEse2phOlMzLFBhOlMzLGdiOiEwfSk7Xy5KeihhLHtqYTpUMyxQYTpUMyxnYjohMH0pO18uSnooYSx7amE6VTMsV2M6KGIsYyxkLGUsZixoLGssbCxtLG4pPT4oe0NPTU1BTkRfSU5JVDpsLFJFUVVFU1RfSU5JVDptLENBQ0hFOmMsTE9DQUxfUk9VVEVSOmssQ09OVEVYVDpkLEFVVEg6YixERURVUEU6ZSxGRVRDSDpoLFJFVFJZOm4sRkFMTEJBQ0s6Zn0pLFtfLkxuXTpbSzMsTDMsCk0zLE4zLE8zLFAzLFEzLFIzLFMzLFQzXSxnYjohMH0pO18uSnooYSx7amE6QjMsV2M6Yj0+KCk9Pm5ldyBWMyhiKSxbXy5Mbl06W1UzXSxnYjohMH0pO18uSnooYSx7amE6VzMsUGE6VzMsZ2I6ITB9KTtfLkp6KGEse2phOlgzLFBhOlgzLGdiOiEwfSk7Xy5KeihhLHtqYTpZMyxQYTpZMyxnYjohMH0pO18uSnooYSx7amE6WjMsUGE6WjMsZ2I6ITB9KTtfLkp6KGEse2phOiQzLFdjOihiLGMsZCxlKT0+KHtJTklUOmUsRVJST1JfVU5QQUNLRVI6YyxQUk9DRVNTX1JFU1BPTlNFOmQsQ0FMTEJBQ0tfRElTUEFUQ0hFUjpifSksW18uTG5dOltXMyxYMyxZMyxaM10sZ2I6ITB9KTtfLkp6KGEse2phOmE0LFdjOmI9PigpPT5uZXcgYjQoYiksW18uTG5dOlskM10sZ2I6ITB9KX07Cmd1YT1mdW5jdGlvbigpe18ucmEoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIsXy5HcCk7S3JhKCk7Xy56byhfLkJvKCkse30pO3dpbmRvdy5vbmVycm9yPUpyYTtfLlVmPW8wO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLGE9PntpZihhLnJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKXtsZXQgYj1hLnJlYXNvbjtfLmN3KGIse3NvdXJjZToidW5oYW5kbGVkcmVqZWN0aW9uIn0pO2IubmFtZT09PSJBYm9ydEVycm9yIiYmKGIubGV2ZWw9IldBUk5JTkciKX1vMChhLnJlYXNvbik7YS5wcmV2ZW50RGVmYXVsdCgpfSl9O2M0PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiEhc2VsZi5zZXNzaW9uU3RvcmFnZX1jYXRjaHtyZXR1cm4hMX19O2Q0PWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19OwplND1mdW5jdGlvbihhKXtpZihjNCgpKXt2YXIgYj1PYmplY3Qua2V5cyh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UpO2ZvcihsZXQgYyBvZiBiKWI9ZDQoYyksYj09PXZvaWQgMHx8YS5pbmNsdWRlcyhiKXx8c2VsZi5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07aHVhPWZ1bmN0aW9uKCl7aWYoIWM0KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LnNlc3Npb25TdG9yYWdlKTtmb3IobGV0IGMgb2YgYilpZihiPWQ0KGMpLGIhPT12b2lkIDAmJmIhPT1hKXJldHVybiEwO3JldHVybiExfTtmND1mdW5jdGlvbigpe1R0YSgpLnRoZW4oYT0+e2EmJihnMChhKSxjMShhKSxhMShhKSxlNChhKSl9KX07Cml1YT1mdW5jdGlvbigpe3ZhciBhPW5ldyBfLk9zO18uamYucGIoYXN5bmMoKT0+e2lmKCFfLngoInl0aWRiX2NsZWFyX29wdGltaXphdGlvbnNfa2lsbHN3aXRjaCIpKXt2YXIgYj1fLlZqKCJjbGVhciIpO2lmKGIuc3RhcnRzV2l0aCgiViIpJiZiLmVuZHNXaXRoKCJ8fCIpKXtiPVtiXTtnMChiKTtjMShiKTthMShiKTtlNChiKTtyZXR1cm59Yj1kc2EoKTtsZXQgYz1odWEoKSxkPWF3YWl0IGVzYSgpLGU9YXdhaXQgRXJhKCk7aWYoIShifHxjfHxkfHxlKSlyZXR1cm59YS5TYigpP2Y0KCk6Xy5iZihhLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixmNCl9KX07anVhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZShiPT57d2luZG93LnNldFRpbWVvdXQoYixhKX0pfTsKWXNhPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXtfLlR6KCJhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2giKTtfLkFxKCJhdHRfZnMiLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7aWYoIWEuail0aHJvdyBuZXcgczIoOSwiTWlzc2luZyBmZXRjaGVyIik7dmFyIGQ9YXdhaXQgYS5qKGIsYyk7Yj1kPy5iZ0NoYWxsZW5nZTtpZighYil0aHJvdyBuZXcgczIoMTUsIk1pc3NpbmcgZmllbGQiKTthLm89ZDthLnYuZm9yRWFjaChlPT57ZShkKX0pO2E9UzIoYik7Xy5BcSgiYXR0X2ZjIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO18uU3ooImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBhfTsKaHRhPWFzeW5jIGZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPW5ldyBCMSgxMDAsM0U1LC4yNSwyKSxkPXZvaWQgMDtjLnY8MTA7KXRyeXtyZXR1cm4gYy52PjAmJmF3YWl0IGp1YShjLmopLGF3YWl0IGt1YShhLGIpfWNhdGNoKGUpe2Q9ZSBpbnN0YW5jZW9mIHMyP2U6bmV3IHMyKDksZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZToiVW5rbm93biIpLEMxKGMpfWlmKGQpdGhyb3cgZDt0aHJvdyBuZXcgczIoOSwiVW5rbm93biBlcnJvciIpO307Cmt1YT1mdW5jdGlvbihhLGIpe2I9V3NhKFhzYShuZXcgbHVhLGIpLGEucmVxdWVzdEtleSk7dmFyIGM9bmV3IF8uY3MsZD1hLkQoKTtkLm9wZW4oIlBPU1QiLGEuQik7ZC5zZXRSZXF1ZXN0SGVhZGVyKCJYLUdvb2ctQXBpLUtleSIsIkFJemFTeUR5VDVXMEpoNDlGMzBQcXF0eWZkZjdwRExGS0xKb0FudyIpO2Quc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiIpO2Qub25sb2FkPSgpPT57aWYoXy5xaihkKSl7bGV0IGU9bXVhKGQucmVzcG9uc2VUZXh0KTtjLnJlc29sdmUoZSl9ZWxzZSBjLnJlamVjdChuZXcgczIoUDEoXy5waihkKSksZC5zdGF0dXNUZXh0KSl9O2Qub25lcnJvcj0oKT0+e2MucmVqZWN0KG5ldyBzMihQMShfLnBqKGQpKSxkLnN0YXR1c1RleHQpKX07ZC5zZW5kKGIuc2VyaWFsaXplKCkpO3JldHVybiBjLnByb21pc2V9OwpudWE9ZnVuY3Rpb24oYSl7dmFyIGI9e2JpY2Y6ZD0+e2Euaj1kfSxibGM6KCk9PmEuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKSxiY3I6ZD0+e2Eudi5wdXNoKGQpfX0sYz13aW5kb3c7Yy5udHBldmFzcnM9YjtpZihjLm50cHFmYmVsIT09dm9pZCAwKWZvcihsZXQgZCBvZiBjLm50cHFmYmVsKWQoYik7Yy5udHBxZmJlbD12b2lkIDB9O2c0PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBFcnJvcil7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhLCJXQVJOSU5HIil9fTtpND1mdW5jdGlvbihhLGIpe2E9bmV3IG91YShhLGIpO3B1YShhKTtiPy5DSXx8aDQoYSl9OwpwdWE9ZnVuY3Rpb24oYSl7aWYoIWEudm0pe3ZhciBiPXttYXhBdHRlbXB0czo1LEZyOmEudHRsU2Vjb25kcyoxRTN9O2EuWGcueXRjc2k/LnRpY2s/LigicG90X2lzdCIpO2Eudm09YS5Icyh7b2Q6YS5vZCxuZzp7ZGlzYWJsZTpfLngoImh0bWw1X3dlYl9wb19kaXNhYmxlX3JlbW90ZV9sb2dnaW5nIiksbWI6ImFHSWYiLFN2OnpyYSgpLEt5Ol8ueCgid3BvX2Rpc19sZmRtcyIpPzA6MUUzLElnOmQ9Pnt2YXIgZT1qNC5nZXQoZCk7ZXx8KGU9bmV3IHF1YShkKSxlPW5ldyBUMShlKSxqNC5zZXQoZCxlKSk7cmV0dXJuIGV9fSxMZzpiLHN4OmEuYmdDaGFsbGVuZ2UsRWo6ZzR9KTthLmo9RGF0ZS5ub3coKTtmMihhLnZtLCgpPT57YS5qPURhdGUubm93KCl9KTthLlhnLmJnZXZtYz17cDooKT0+e2Eudm0/LnBhdXNlKCl9LHI6KCk9PnthLnZtPy5yZXN1bWUoKX0sY3I6KCk9PmEudm0/LmNoZWNrRm9yUmVmcmVzaCgpPz9Qcm9taXNlLnJlc29sdmUoKX07a3NhKGEudm0sYXN5bmMoKT0+aDQoYSksClYyKCkpO3ZhciBjPWEudi5iaW5kKGEpO2EueW0mJmEudHRsU2Vjb25kcz4wJiZhLnltLnRoZW4oZD0+e2QubGlzdGVuKCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixjKX0pO2EuR3IoYyl9fTtoND1mdW5jdGlvbihhKXtpZihhLm8pcmV0dXJuIGEubztpZighYS52bSl0aHJvdyBFcnJvcigiVGUiKTthLm89bmV3IHJ1YSh7dm06YS52bSxvZDphLm9kLFFuOiEwLG9uRXJyb3I6ZzQsTGc6YS5Kc30pO3JldHVybiBhLm99O2s0PWZ1bmN0aW9uKGEpe3RyeXtsZXQgYj1KU09OLnBhcnNlKGEpO2lmKGIuYmdDaGFsbGVuZ2UpcmV0dXJuIGJ9Y2F0Y2goYil7fX07CnN1YT1mdW5jdGlvbihhPXdpbmRvdyl7dmFyIGI9e30sYz1hLnl0QXRSO2I/LmtxPy5EcigpO2lmKGMpe2lmKGM9azQoYykpYj8ua3E/LnpnKCJTVUNDRVNTIiksaTQoYyxiKTthLnl0QXRSPXZvaWQgMH1lbHNlIGEueXRBdFJDPWQ9PntpZihkPWs0KGQpKWI/LmtxPy56ZygiU1VDQ0VTUyIpLGk0KGQsYiksYS55dEF0UkM9dm9pZCAwfX07CnR1YT1mdW5jdGlvbihhLGIsYyxkLGUsZil7Yz8oYS5TKDIpLEgwKHkwKGMpLCgpPT57d2luZG93LnRyYXlyaWRlP2w0KGEsZCxlKTooYS5TKDMpLEUwKGMpLF8uSXAobmV3IF8uWGooIkJMOlVMQiIsYCR7Y31gKSkpfSxmKSk6Yj8oZj1fLkNkKCJTQ1JJUFQiKSxiIGluc3RhbmNlb2YgXy5qYj9fLm5iKGYsYik6Zi50ZXh0Q29udGVudD1iLGYubm9uY2U9Xy5pYihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChmKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGYpLHdpbmRvdy50cmF5cmlkZT9sNChhLGQsZSk6KGEuUyg0KSxfLklwKG5ldyBfLlhqKCJCTDpVTEJKIikpKSk6Xy5JcChuZXcgXy5YaigiQkw6VUxWIikpfTsKbDQ9ZnVuY3Rpb24oYSxiLGMpe2EuUyg1KTt2YXIgZD0hIWEuaiYmdXVhLmluY2x1ZGVzKF8uUGIoYS5qKXx8IiIpO3RyeXtsZXQgZT1uZXcgZDIoe3Byb2dyYW06YixnbG9iYWxOYW1lOiJ0cmF5cmlkZSIsbmc6e2Rpc2FibGU6IV8ueCgiYXR0X3dlYl9yZWNvcmRfbWV0cmljcyIpfHwhXy54KCJhdHRfc2tpcF9tZXRyaWNzX2Zvcl9jb29raWVsZXNzX2RvbWFpbnNfa3MiKSYmZCxtYjoiYUdJZiJ9fSk7ZS5DZy50aGVuKCgpPT57YS5TKDYpO2MmJmMoYil9KTthLm8oZSl9Y2F0Y2goZSl7YS5TKDcpLGUgaW5zdGFuY2VvZiBFcnJvciYmXy5JcChlKX19O200PWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXQuYWJ1c2UucGxheWVyQXR0TG9hZGVyIik7cmV0dXJuIGEmJlsiYmd2bWEiLCJiZ3ZtYiIsImJndm1jIl0uZXZlcnkoYj0+YiBpbiBhKT9hOm51bGx9Owp2dWE9ZnVuY3Rpb24oKXt2YXIgYT1fLncoIkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UUyIpO2lmKGEpe3ZhciBiPW5yYSgpO2ZvcihsZXQgYyBvZiBhKWIoYykmJl8uRXAoImdlbmVyaWNDbGllbnRFeHBlcmltZW50RXZlbnQiLHtldmVudFR5cGU6Y30pO2RlbGV0ZSBfLlBpLkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UU319O3d1YT1mdW5jdGlvbihhLGIsYyl7aWYoYS5qKXtsZXQgZD1fLlFiKF8uUHkoYiwia2V5IikpfHwiL1VOS05PV05fUEFUSCI7YS5qLnN0YXJ0KGQpfWE9YztfLngoInd1Z19uZXR3b3JraW5nX2d6aXBfcmVxdWVzdCIpJiYoYT1GcmEoYykpO3JldHVybiBuZXcgd2luZG93LlJlcXVlc3QoYixhKX07Cm80PWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihmPy5hYm9ydGVkKXJldHVybiBiLmNhbmNlbCgpLGQ7dmFyIHt2YWx1ZTpoLGRvbmU6a309YXdhaXQgYi5yZWFkKCk7aWYoaylyZXR1cm4gYS5qPy5zdWNjZXNzKCksZDt0cnl7dmFyIGw9Yy5wYXJzZShoKX1jYXRjaChtKXt0aHJvdyBuZXcgbjQoIkZhaWxlZCB0byBwYXJzZSBzdHJlYW1pbmcgcmVzcG9uc2UiLGgpO31pZihsIT1udWxsKWZvcihsZXQgbSBvZiBsKWQucHVzaChtKSxlPy4obSk7cmV0dXJuIG80KGEsYixjLGQsZSxmKX07eHVhPWZ1bmN0aW9uKCl7dmFyIGE9bmF2aWdhdG9yO3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZT8ucXVlcnlVc2FnZUFuZFF1b3RhP2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZS5xdWVyeVVzYWdlQW5kUXVvdGEoKGQsZSk9PntiKHt1c2FnZTpkLHF1b3RhOmV9KX0sZD0+e2MoZCl9KTpjKEVycm9yKCJWZSIpKX0pfTsKeXVhPWZ1bmN0aW9uKGEsYil7cDQuamMoKS5lc3RpbWF0ZSgpLnRoZW4oYz0+e2EuaigiaWRiUXVvdGFFeGNlZWRlZCIsey4uLmIsaXNTdzpzZWxmLmRvY3VtZW50PT09dm9pZCAwLGlzSWZyYW1lOnNlbGYhPT1zZWxmLnRvcCxkZXZpY2VTdG9yYWdlVXNhZ2VNYnl0ZXM6cTQoYz8udXNhZ2UpLGRldmljZVN0b3JhZ2VRdW90YU1ieXRlczpxNChjPy5xdW90YSl9KX0pfTtxND1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0idW5kZWZpbmVkIj8iLTEiOlN0cmluZyhNYXRoLmNlaWwoYS8xMDQ4NTc2KSl9Owp6dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17ZXJyb3JTZXZlcml0eTpiLmZoLnRvU3RyaW5nKCksd2l6RmVhdHVyZUZsYWdzOk9iamVjdC5lbnRyaWVzKGIuQWwpLmpvaW4oIlxuIil9O2I9Yi5maDtiPT09Mz9fLkdwKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTpiPT09MiYmXy5HcChhLCJXQVJOSU5HIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTtfLngoImNvd19pZl9lcnJvcnNfaW5fcG9wdXAiKSYmYj09PTMmJmEubWVzc2FnZS5pbmRleE9mKCI8SWY+IikhPT0tMSYmd2luZG93LmFsZXJ0KGEubWVzc2FnZSl9OwpBdWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW51bGw7YyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50P2Q9YzohXy54KCJsb2dnaW5nX25lc3RlZF9jb21wb25lbnRfa3MiKSYmQXJyYXkuaXNBcnJheShjKSYmYy5sZW5ndGg9PT0xJiZBcnJheS5pc0FycmF5KGNbMF0pJiZjWzBdLmxlbmd0aD09PTEmJmNbMF1bMF1pbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoZD1jWzBdWzBdKTthLmNvbXBvbmVudFR5cGUhPT1fLkt2JiZkJiZiJiYhXy54KCJjb3dfbG9nZ2luZ19pbl9jb21wb25lbnRfd3JhcHBlciIpJiZfLnV5KGQsYiwhMCl9O0J1YT1mdW5jdGlvbigpe18ueCgiY293X2xvZ2dpbmdfaW5fY29tcG9uZW50X3dyYXBwZXIiKT8oXy5Ddj0oYSxiKT0+e2IgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmXy51eShiLGEsITApfSxfLnZ2PSgpPT57fSk6KF8uQ3Y9KCk9Pnt9LF8udnY9QXVhKX07CkR1YT1mdW5jdGlvbigpe3ZhciBhPV8ueSgpO18uSnooYSx7amE6cjQsUGE6czR9KTtfLkp6KGEse2phOnQ0LFBhOl8ubm19KTt2YXIgYj12My5qYygpLGM9YS5yZXNvbHZlKHQ0KSxkPWEucmVzb2x2ZShyNCksZT17fTtiJiYoZS5jbGllbnRfbG9jYXRpb249Yik7Xy5KeihhLHtqYTp1NCxNYjpDdWF9KTtfLkp6KGEse2phOl8uSnksTWI6ZX0pO18ueCgibWF3X2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmZnVhKCk7VnRhKGEucmVzb2x2ZSh1NCksZCxjLGEucmVzb2x2ZShfLkp5KSk7Xy5KeihhLHtqYTpfLkl5LE1iOnozLmluc3RhbmNlfSl9O0d1YT1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPW51bGwpe2I9bmV3IEV1YShhLGIsYyxkLGUpO0Z1YS5zZXQoYSxiKX07CnY0PWZ1bmN0aW9uKGEpe2lmKCFhLm9uUmVhZHlQYXRjaEFwcGxpZWQpe3ZhciBiPWEuYWRkRXZlbnRMaXN0ZW5lcjthLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PntjPT09Im9uUmVhZHkiP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntkKGEpfSk6Yi5jYWxsKGEsYyxkKX07YS5vblJlYWR5UGF0Y2hBcHBsaWVkPSEwfX07SnVhPWZ1bmN0aW9uKGEpe2lmKF8uc2EoInl0LnBsYXllci5BcHBsaWNhdGlvbi5jcmVhdGUiKSlQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dzQoYSl9KTtlbHNle0h1YShfLmh3KGEud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmwpLCgpPT57dzQoYSl9LCgpPT57YS5pYSgpfHxhLkVqKCl9KTtsZXQgYj1hLndlYlBsYXllckNvbnRleHRDb25maWcudHJ1c3RlZENzc1VybDtiJiZJdWEoXy5odyhiKSl9fTsKdzQ9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7dmFyIGI9Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3RyeXthLmFwaT1iKGEuY29udGFpbmVyLHthcmdzOmEucGxheWVyVmFyc30sYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnLHZvaWQgMCkuZ2V0SW50ZXJuYWxBcGkoKSx2NChhLmFwaSksYS5hcGkuaXNSZWFkeT0oKT0+ITAsYS5qKGEuYXBpKX1jYXRjaChjKXt0aHJvdyBhLkVqKCksYzt9fX07SXVhPWZ1bmN0aW9uKGEpe3ZhciBiPWB5dHAtJHthLnRvU3RyaW5nKCl9YDtpZighZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYikpe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmlkPWI7Xy5xYihjLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoYyl9fTsKSHVhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1geXRwLSR7YS50b1N0cmluZygpfWAsZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKTtpZihlKWUuZGF0YXNldC5mYWlsZWQ/YygpOmUuZGF0YXNldC5sb2FkZWQ/YigpOihlLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2MoKX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9PntiKCl9KSk7ZWxzZXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtmLmlkPWQ7Zi5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntmLmRhdGFzZXQuZmFpbGVkPSJ0cnVlIjtjKCl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57Zi5kYXRhc2V0LmxvYWRlZD0idHJ1ZSI7YigpfSk7Xy5vYihmLGEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShmLGEuZmlyc3RDaGlsZCl9fTsKS3VhPWZ1bmN0aW9uKGEpe18udygiRU5BQkxFX1dFQlZJRVdfQVBJIikmJndpbmRvdy55dHdlYnZpZXdwbGF5ZXImJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+e3RyeXtsZXQgZD1KU09OLnBhcnNlKGIuZGF0YSksZT1kLm1ldGhvZE5hbWUsZj1kLmFyZ3N8fFtdO2E6e2ZvcihsZXQgaCBvZiBmKWlmKFN0cmluZyhoKS5pbmNsdWRlcygiamF2YXNjcmlwdDoiKSl7dmFyIGM9ITA7YnJlYWsgYX1jPSExfWlmKGMpdGhyb3cgRXJyb3IoIldlYCIrZSsiYCIrZik7aWYoZSYmdHlwZW9mIGFbZV09PT0iZnVuY3Rpb24iKWFbZV0oLi4uZik7ZWxzZSB0aHJvdyBFcnJvcigiWGVgIitlKTt9Y2F0Y2goZCl7Xy5HcChkKX19KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLCgpPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25QbGF5ZXJSZWFkeSJ9KSl9KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLApiPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25TdGF0ZUNoYW5nZSIsc3RhdGU6Yn0pKX0pLGEuYWRkRXZlbnRMaXN0ZW5lcigib25FcnJvciIsYj0+e3dpbmRvdy55dHdlYnZpZXdwbGF5ZXIucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5cGU6Im9uRXJyb3IiLGVycm9yQ29kZTpifSkpfSkpfTt4ND1mdW5jdGlvbihhKXtyZXR1cm4oYS5zZWFyY2goImN1ZSIpPT09MHx8YS5zZWFyY2goImxvYWQiKT09PTApJiZhIT09ImxvYWRNb2R1bGUifTsKeTQ9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJue3ZpZGVvSWQ6YSxzdGFydFNlY29uZHM6YixzdWdnZXN0ZWRRdWFsaXR5OmN9O2I9e307Zm9yKGxldCBlIG9mIEx1YSlhW2VdJiYoYltlXT1hW2VdKTtpZihhPWEuZW1iZWRDb25maWd8fGEuZW1iZWRfY29uZmlnKXthOmlmKHR5cGVvZiBhPT09InN0cmluZyIpdmFyIGQ9YTtlbHNle2lmKF8uQWEoYSkpdHJ5e2Q9SlNPTi5zdHJpbmdpZnkoYSk7YnJlYWsgYX1jYXRjaChlKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLGUpfWQ9dm9pZCAwfWIuZW1iZWRfY29uZmlnPWR9cmV0dXJuIGJ9Owp6ND1mdW5jdGlvbihhLGIsYyxkKXtpZihfLkFhKGEpJiYhQXJyYXkuaXNBcnJheShhKSl7Yj0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtjPXt9O2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspe2xldCBlPWJbZF07YVtlXSYmKGNbZV09YVtlXSl9cmV0dXJuIGN9Yj17aW5kZXg6YixzdGFydFNlY29uZHM6YyxzdWdnZXN0ZWRRdWFsaXR5OmR9O3R5cGVvZiBhPT09InN0cmluZyImJmEubGVuZ3RoPT09MTY/Yi5saXN0PSJQTCIrYTpiLnBsYXlsaXN0PWE7cmV0dXJuIGJ9O0E0PWZ1bmN0aW9uKGEsYixjKXthLkIucHVzaCh7ZXZlbnRUeXBlOmIsbGlzdGVuZXI6Y30pO2EuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixjKX07CkQ0PWZ1bmN0aW9uKGEpe2lmKGEuailpZihhLnYpYS5zZW5kTWVzc2FnZSgiYWxyZWFkeUluaXRpYWxpemVkIik7ZWxzZSBpZihhLk0pe2Eudj0hMDthLk09ITE7YS5zZW5kTWVzc2FnZSgiaW5pdGlhbERlbGl2ZXJ5IixCNChhKSk7YS5zZW5kTWVzc2FnZSgib25SZWFkeSIpO18uQXEoImVwX2luaXRfYXIiKTtmb3IobGV0IGIgb2YgYS5VKUM0KGEsYik7YS5VPVtdfX07QzQ9ZnVuY3Rpb24oYSxiLGM9YS5qKXtpZihjKXtiLmNoYW5uZWw9IndpZGdldCI7YS5zZXNzaW9uSWQmJihiLmlkPWEuc2Vzc2lvbklkKTt0cnl7bGV0IGQ9SlNPTi5zdHJpbmdpZnkoYik7Yy5wb3N0TWVzc2FnZShkLGEudGFyZ2V0T3JpZ2luKX1jYXRjaChkKXtfLklwKGQpfX19OwpCND1mdW5jdGlvbihhKXtpZighYS5hcGkpcmV0dXJuIG51bGw7dmFyIGI9YS5hcGkuZ2V0QXBpSW50ZXJmYWNlKCk7Xy54YihiLCJnZXRWaWRlb0RhdGEiKTt2YXIgYz17YXBpSW50ZXJmYWNlOmJ9O2ZvcihsZXQgZT0wLGY9Yi5sZW5ndGg7ZTxmO2UrKyl7bGV0IGg9YltlXTtpZihoLnNlYXJjaCgiZ2V0Iik9PT0wfHxoLnNlYXJjaCgiaXMiKT09PTApe3ZhciBkPTA7aC5zZWFyY2goImdldCIpPT09MD9kPTM6aC5zZWFyY2goImlzIik9PT0wJiYoZD0yKTtkPWguY2hhckF0KGQpLnRvTG93ZXJDYXNlKCkraC5zdWJzdHJpbmcoZCsxKTt0cnl7bGV0IGs9YS5hcGlbaF0oKTtjW2RdPWt9Y2F0Y2goayl7fX19Yy52aWRlb0RhdGE9YS5hcGkuZ2V0VmlkZW9EYXRhKCk7Yy5jdXJyZW50VGltZUxhc3RVcGRhdGVkXz1EYXRlLm5vdygpLzFFMztyZXR1cm4gY307RTQ9ZnVuY3Rpb24oYSxiKXthLnNlbmRNZXNzYWdlKCJpbmZvRGVsaXZlcnkiLGIpfTsKTXVhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e2I9PT0ib25FcnJvciI/YS5hcGkubG9nQXBpQ2FsbChgJHtifSBpbnZvY2F0aW9uYCxjLGQpOmEuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk7YS5zZW5kTWVzc2FnZShiLGQpfX07RjQ9ZnVuY3Rpb24oYSxiLGMpe2EuaWEoKXx8KGI9e2lkOmEuaWQsY29tbWFuZDpifSxjJiYoYi5kYXRhPWMpLE51YS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShiKSxhLm9yaWdpbikpfTtPdWE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYSl7Y2FzZSAib25SZWFkeSI6cmV0dXJuO2Nhc2UgIm9uU3RhdGVDaGFuZ2UiOnJldHVybntwbGF5ZXJTdGF0ZTpifTtjYXNlICJvblBsYXliYWNrUXVhbGl0eUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUXVhbGl0eTpifTtjYXNlICJvblBsYXliYWNrUmF0ZUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJvbkVycm9yIjpyZXR1cm57ZXJyb3JDb2RlOmJ9fWlmKGIhPW51bGwpcmV0dXJue3ZhbHVlOmJ9fTsKUHVhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEpe2Nhc2UgImxvYWRWaWRlb0J5SWQiOnJldHVyblt5NChiKV07Y2FzZSAiY3VlVmlkZW9CeUlkIjpyZXR1cm5beTQoYildO2Nhc2UgImxvYWRWaWRlb0J5UGxheWVyVmFycyI6cmV0dXJuW2JdO2Nhc2UgImN1ZVZpZGVvQnlQbGF5ZXJWYXJzIjpyZXR1cm5bYl07Y2FzZSAibG9hZFBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgImN1ZVBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgInNlZWtUbyI6cmV0dXJuW2Iuc2Vjb25kcyxiLmFsbG93U2Vla0FoZWFkXTtjYXNlICJwbGF5VmlkZW9BdCI6cmV0dXJuW2IuaW5kZXhdO2Nhc2UgInNldFZvbHVtZSI6cmV0dXJuW2Iudm9sdW1lXTtjYXNlICJzZXRQbGF5YmFja1F1YWxpdHkiOnJldHVybltiLnN1Z2dlc3RlZFF1YWxpdHldO2Nhc2UgInNldFBsYXliYWNrUmF0ZSI6cmV0dXJuW2Iuc3VnZ2VzdGVkUmF0ZV07Y2FzZSAic2V0TG9vcCI6cmV0dXJuW2IubG9vcFBsYXlsaXN0c107Y2FzZSAic2V0U2h1ZmZsZSI6cmV0dXJuW2Iuc2h1ZmZsZVBsYXlsaXN0XTsKY2FzZSAiZ2V0T3B0aW9ucyI6cmV0dXJuW2IubW9kdWxlXTtjYXNlICJnZXRPcHRpb24iOnJldHVybltiLm1vZHVsZSxiLm9wdGlvbl07Y2FzZSAic2V0T3B0aW9uIjpyZXR1cm5bYi5tb2R1bGUsYi5vcHRpb24sYi52YWx1ZV07Y2FzZSAiaGFuZGxlR2xvYmFsS2V5RG93biI6cmV0dXJuW2Iua2V5Q29kZSxiLnNoaWZ0S2V5LGIuY3RybEtleSxiLmFsdEtleSxiLm1ldGFLZXksYi5rZXksYi5jb2RlXX1yZXR1cm5bXX07ClF1YT1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlICJpc011dGVkIjpyZXR1cm57bXV0ZWQ6Yn07Y2FzZSAiZ2V0Vm9sdW1lIjpyZXR1cm57dm9sdW1lOmJ9O2Nhc2UgImdldFBsYXliYWNrUmF0ZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJnZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzIjpyZXR1cm57YXZhaWxhYmxlUGxheWJhY2tSYXRlczpifTtjYXNlICJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIjpyZXR1cm57dmlkZW9Mb2FkZWRGcmFjdGlvbjpifTtjYXNlICJnZXRQbGF5ZXJTdGF0ZSI6cmV0dXJue3BsYXllclN0YXRlOmJ9O2Nhc2UgImdldEN1cnJlbnRUaW1lIjpyZXR1cm57Y3VycmVudFRpbWU6Yn07Y2FzZSAiZ2V0UGxheWJhY2tRdWFsaXR5IjpyZXR1cm57cGxheWJhY2tRdWFsaXR5OmJ9O2Nhc2UgImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiOnJldHVybnthdmFpbGFibGVRdWFsaXR5TGV2ZWxzOmJ9O2Nhc2UgImdldER1cmF0aW9uIjpyZXR1cm57ZHVyYXRpb246Yn07CmNhc2UgImdldFZpZGVvVXJsIjpyZXR1cm57dmlkZW9Vcmw6Yn07Y2FzZSAiZ2V0VmlkZW9FbWJlZENvZGUiOnJldHVybnt2aWRlb0VtYmVkQ29kZTpifTtjYXNlICJnZXRQbGF5bGlzdCI6cmV0dXJue3BsYXlsaXN0OmJ9O2Nhc2UgImdldFBsYXlsaXN0SW5kZXgiOnJldHVybntwbGF5bGlzdEluZGV4OmJ9O2Nhc2UgImdldE9wdGlvbnMiOnJldHVybntvcHRpb25zOmJ9O2Nhc2UgImdldE9wdGlvbiI6cmV0dXJue29wdGlvbjpifX19O1J1YT1mdW5jdGlvbigpe3JldHVybiBHNC5pc0luaXRpYWxpemVkKCl9O1N1YT1mdW5jdGlvbihhPXt9KXtyZXR1cm4gRzQuaW52b2tlKGEpfTtUdWE9ZnVuY3Rpb24oKXtpZihfLncoIkVOQUJMRV9KU19BUEkiKSl7dmFyIGE9Yj0+e0g0PWI7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGEpfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYSl9fTsKVXVhPWZ1bmN0aW9uKCl7Xy5BcSgiZXBfaW5pdF93ZXMiKTt2YXIgYT1fLncoIlBMQVlFUl9DT05GSUciKTtpZighYSl7dmFyIGI9Xy53KCJQTEFZRVJfVkFSUyIpO2ImJihhPXthcmdzOmJ9KX1RMighMCk7YS5hcmdzLnBzPT09Imd2biImJihkb2N1bWVudC5ib2R5LnN0eWxlLmJhY2tncm91bmRDb2xvcj0idHJhbnNwYXJlbnQiKTthLmF0dHJzfHwoYS5hdHRycz17d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsaWQ6InZpZGVvLXBsYXllciJ9KTtiPWRvY3VtZW50LnJlZmVycmVyO3dpbmRvdyE9PXdpbmRvdy50b3AmJmImJmIhPT1kb2N1bWVudC5VUkwmJihhLmFyZ3MubG9hZGVyVXJsPWIpO2I9Xy53KCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHUyIpPy5XRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0VNQkVEREVEX1BMQVlFUjtpZighYi5zZXJpYWxpemVkRm9yY2VkRXhwZXJpbWVudElkcyl7bGV0IGM9YTAod2luZG93LmxvY2F0aW9uLmhyZWYpO2MuZm9yY2VkX2V4cGVyaW1lbnRzJiYKKGIuc2VyaWFsaXplZEZvcmNlZEV4cGVyaW1lbnRJZHM9Yy5mb3JjZWRfZXhwZXJpbWVudHMpfWEuYXJncz8uYXV0b3BsYXk/dDAoIndhdGNoIixbInBicyIsInBidSIsInBicCJdKTphLmFyZ3MmJnd0YShhLmFyZ3MpP3QwKCJ2aWRlb19wcmV2aWV3IixbIm9sIl0pOnQwKCJlbWJlZF9ub192aWRlbyIsWyJlcF9pbml0X2FyIl0pO18ueCgiZW1iZWRzX3VzZV9wbGF5ZXJfaW5zdGFuY2VzX2xpYnJhcnkiKXx8Xy53KCJFTkFCTEVfV0VCVklFV19BUEkiKT8oR3VhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXIiKSxiLGM9PntfLncoIkVOQUJMRV9XRUJWSUVXX0FQSSIpPyhjPWMuZ2V0VHJ1c3RlZEFwaSgpLHY0KGMpLEt1YShjKSk6KEk0KGMpLEo0KGMpKX0sKCk9Pnt0aHJvdyBFcnJvcigiWWUiKTt9LGEuYXJncyksXy53KCJFTkFCTEVfV0VCVklFV19BUEkiKXx8SzQoKSxfLkFxKCJlcF9pbml0X3dlZSIpKTooYT1jc2EoYSxiKSxJNChhKSxLNCgpLF8uQXEoImVwX2luaXRfd2VlIiksCko0KGEpKX07STQ9ZnVuY3Rpb24oYSl7TDQ9YTtMNC5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpO0w0LmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLFZ1YSk7YT1fLncoIlBPU1RfTUVTU0FHRV9JRCIsInBsYXllciIpO3ZhciBiPV8udygiUE9TVF9NRVNTQUdFX09SSUdJTiIpO18udygiRU5BQkxFX0pTX0FQSSIpP040PW5ldyBXdWE6Xy53KCJFTkFCTEVfUE9TVF9BUEkiKSYmdHlwZW9mIGE9PT0ic3RyaW5nIiYmdHlwZW9mIGI9PT0ic3RyaW5nIiYmKE40PW5ldyBYdWEoYSxiKSk7SDQ9dm9pZCAwfTsKSzQ9ZnVuY3Rpb24oKXtHdGEoKTtfLngoInl0aWRiX2NyZWF0ZV9sb2dnZXJfZW1iZWRfa2lsbHN3aXRjaCIpfHxCcmEoKTtPNC5qfHwoTzQuaj1uZXcgTzQpO080LmouaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6KCk9PntfLmJwKCl9fX0pO18uSWx8fEdyYSgpO0R1YSgpO18uamYucGIoKCk9PntfLnkoKS5yZXNvbHZlKF8uSXkpO2l1YSgpfSk7c2V0VGltZW91dCgoKT0+e18ueCgiYXR0bXVzaSIpJiZzdWEod2luZG93KTt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oXy5JeSkpO2lmKGEpe2E9bmV3IFl1YShhKTt2YXIgYj17cHJlbG9hZDohXy54KCJlbmFibGVfcnRhX25waSIpLHpzOl8ueCgiYXR0bXVzaSIpfTtiPU9iamVjdC5hc3NpZ24oe3ByZWxvYWQ6ITB9LGIpO2xldCBkPWIuQUk/dm9pZCAwOm5ldyBfLk9zO1A0Lmluc3RhbmNlPW5ldyBQNChhLGIsZCk7YT1QNC5pbnN0YW5jZTtpZigoXy54KCJhdHRtdXNpIil8fF8ueCgiYXR0bXVzaXciKSkmJl8ueCgiYXR0bXVzaV91ZSIpKXthPQp7czphLkIuYmluZChhKSxpcjphLkQuYmluZChhKX07Yj13aW5kb3c7Yi5hdHRtcD1hO2lmKGIuYXR0bXEhPT12b2lkIDApZm9yKHZhciBjIG9mIGIuYXR0bXEpYyhhKTtiLmF0dG1xPXZvaWQgMH1lbHNlIGM9YS5CLmJpbmQoYSksXy5yYSgieXQuYWJhLmF0dCIsYyksYz1hLkQuYmluZChhKSxfLnJhKCJ5dC5hYmEuYXR0MiIsYyl9fSxfLnNqKCJhdHRfaW5pdF9kZWxheSIsMjAwKSk7Xy5ZaigoKT0+e2lmKF8ueCgiZW5hYmxlX3p3X3BpbmciKSl7dmFyIGE9Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiLCJVTktOT1dOX0lOVEVSRkFDRSIpLGI9Ii9lc3RhYmxpc2hfenciO2lmKGE9PT0iV0VCX0VNQkVEREVEX1BMQVlFUiIpYj0iL2VtYmVkL2VzdGFibGlzaF96dyI7ZWxzZSBpZihhPT09IlRWSFRNTDUifHxhPT09IlRWSFRNTDVfU0lNUExZIiliPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS90di9lc3RhYmxpc2hfenciO18udygiQ09PS0lFTEVTUyIsITEpJiZhPT09IldFQl9FTUJFRERFRF9QTEFZRVIiPwooYT1uZXcgSGVhZGVycyxhLnNldCgiWC1Hb29nLVZpc2l0b3ItSWQiLF8udygiVklTSVRPUl9EQVRBIikpLGZldGNoKGIse21ldGhvZDoiR0VUIixtb2RlOiJuby1jb3JzIixoZWFkZXJzOmF9KSk6ZmV0Y2goYix7bWV0aG9kOiJHRVQiLG1vZGU6Im5vLWNvcnMiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pfX0pfTtadWE9ZnVuY3Rpb24oKXtRNCgpfTskdWE9ZnVuY3Rpb24oYSl7YS5wZXJzaXN0ZWR8fFE0KCl9OwpRND1mdW5jdGlvbigpe1NyYSgpO3ZhciBhPV8uSHooKSxiPV8uQ3ooMTE5KSxjPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvPjE7ZG9jdW1lbnQuYm9keSYmXy5SdChkb2N1bWVudC5ib2R5LCJleHAtaW52ZXJ0LWxvZ28iKSYmKGMmJiFfLlJ0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKT9fLlN0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKTohYyYmXy5SdChkb2N1bWVudC5ib2R5LCJpbnZlcnRlZC1oZHBpIikmJl8uVHQoZG9jdW1lbnQuYm9keSwiaW52ZXJ0ZWQtaGRwaSIpKTtiIT1jJiYoXy5EeigxMTksYyksYS5zYXZlKCkpfTtNND1mdW5jdGlvbigpe1I0KCl9O1Z1YT1mdW5jdGlvbigpe18uQXEoImVwX2luaXRfcHIiKTtSNCgpfTtSND1mdW5jdGlvbigpe3ZhciBhPUw0LmdldFZpZGVvRGF0YSgxKTthPWEudGl0bGU/YS50aXRsZSsiIC0gWW91VHViZSI6IllvdVR1YmUiO2RvY3VtZW50LnRpdGxlIT09YSYmKGRvY3VtZW50LnRpdGxlPWEpfTsKUzQ9ZnVuY3Rpb24oKXtMNCYmTDQuc2VuZEFiYW5kb25tZW50UGluZyYmTDQuc2VuZEFiYW5kb25tZW50UGluZygpO18udygiUExfQVRUIikmJkc0LmRpc3Bvc2UoKTtfLk10KCQyKTskMi5sZW5ndGg9MDtFMChaMi50b1N0cmluZygpKTtZMj0hMTtfLlFpKCJEQ0xLU1RBVCIsMCk7Xy4kZChONCk7TDQmJihMNC5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpLEw0LmRlc3Ryb3koKSxMND1udWxsKX07YXZhPWZ1bmN0aW9uKGEpe18ueCgiZW1iZWRzX3dlYl9lbmFibGVfZGlzcG9zZV9wbGF5ZXJfaWZfcGFnZV9ub3RfY2FjaGVkX2tpbGxzd2l0Y2giKT9TNCgpOmEucGVyc2lzdGVkfHxTNCgpfTsKYnZhPWZ1bmN0aW9uKCl7VDR8fChfLmR3KHtKaShhKXthLnByb3BzLmRhdGEmJihhLmVsLmRhdGE9YS5wcm9wcy5kYXRhKX0sS2koYSxiLGMpe2EuZWw/Yi5kYXRhIT09Yy5kYXRhJiYoYS5lbC5kYXRhPWMuZGF0YSk6Xy5JcChuZXcgXy5YaigiSURPTSBjb21wb25lbnQgZWwgaXMgbnVsbCIsYS5qPy5aYykpfX0pLFQ0PSEwKX07Y3ZhPXtFSzohMH07ZHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPVU0O3RoaXMuaj0xNzUyMzczNzU7dGhpcy5jdG9yPWE7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5vPV8uTng7dGhpcy5kZWZhdWx0VmFsdWU9dm9pZCAwO3RoaXMudj1iLm1lc3NhZ2VJZCE9bnVsbD9fLnd6OnZvaWQgMH1yZWdpc3Rlcigpe18ucGModGhpcyl9fTsKZHJhPXt0b1N0cmluZzpmdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7YS09LTIxNDc0ODM2NDg7YltjKytdPSJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIi5jaGFyQXQoYSU1Mik7Zm9yKGE9TWF0aC5mbG9vcihhLzUyKTthPjA7KWJbYysrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODkiLmNoYXJBdChhJTYyKSxhPU1hdGguZmxvb3IoYS82Mik7cmV0dXJuIGIuam9pbigiIil9fTtBMz17aWRlbnRpdHlUeXBlOiJVTkFVVEhFTlRJQ0FURURfSURFTlRJVFlfVFlQRV9VTktOT1dOIn07SVo9MDtKWj0wO05aPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLmJ1ZmZlcj1hO2lmKGMmJiFiKXRocm93IEVycm9yKCk7fX07T1o9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89YT4+PjA7dGhpcy5qPWI+Pj4wfX07ClRaPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5vPWE+Pj4wO3RoaXMuaj1iPj4+MH19O2xfPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O0VfPV8ueWMoKTtvcmE9L14tPyhbMS05XVswLTldKnwwKShcLlswLTldKyk/JC87VjQ9Xy5seihPXyxfLkpyKTtldmE9Xy5seihPXyxfLkpyKTtXND1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPXFfKGIpO2IhPW51bGwmJihfLlp5KGEsYyw1KSxhPWEuaixjPU5ffHwoTl89bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLGMuc2V0RmxvYXQzMigwLCtiLCEwKSxKWj0wLElaPWMuZ2V0VWludDMyKDAsITApLGVfKGEsSVopKX0sXy5Jcik7WDQ9Xy5seihQXyxfLkZyKTtmdmE9Xy5seihQXyxfLkZyKTsKWTQ9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1BXyhiKTtpZihiIT1udWxsJiYoZ18oYiksYiE9bnVsbCkpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLE9aLFFaKTtkXyhhLmosYy5vLGMuaik7YnJlYWs7ZGVmYXVsdDpjPVNaKGIpLGRfKGEuaixjLm8sYy5qKX19LF8uR3IpO1o0PV8ubHooUV8sXy5Dcik7Z3ZhPV8ubHooUV8sXy5Dcik7Cmh2YT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPUFfKGIpO2lmKGIhPW51bGwpc3dpdGNoKGhfKGIpLF8uWnkoYSxjLDEpLGE9YS5qLGhfKGIpLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmI8MD8oYj1QWihRWigtYikpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpKTooS1ooYiksZV8oYSxJWiksZV8oYSxKWikpO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yj1iPEJpZ0ludCgwKT9QWihjXygtYixPWixRWikpOmNfKGIsT1osUVopO2M9Yi5qO2VfKGEsYi5vKTtlXyhhLGMpO2JyZWFrO2RlZmF1bHQ6Yj1iLmxlbmd0aCYmYlswXT09PSItIj9QWihTWihiLnN1YnN0cmluZygxKSkpOlNaKGIpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpfX0sXy5Icik7aXZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2lfKGEsYyxBXyhiKSl9LF8uSHIpO2p2YT1NXyhmdW5jdGlvbihhLGIsYyl7Yj1MXyhBXyxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWlfKGEsYyxiW2RdKX0sXy5Icik7Cmt2YT1fLmx6KF8ubXosXy5Bcik7JDQ9Xy5seihSXyxfLkJyKTtsdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5YdCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLEhaKGYpKX19LF8uQnIpO212YT1fLmx6KFJfLF8uQnIpO2E1PW5ldyBfLmd6KF8ubnosXy56cik7bnZhPU1fKGZ1bmN0aW9uKGEsYixjKXtiPUxfKHJyYSxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLGZyYShmKS5idWZmZXIpfX0sXy5Lcik7YjU9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1zXyhiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksXy5YeShhLmosYikpfSxfLkRyKTtjNT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtqXyhhLGMsXy5zeChiKSl9LF8uTHIpOwpvdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5zeCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWpfKGEsYyxiW2RdKX0sXy5Mcik7cHZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiYoXy5aeShhLGMsNSksYT1hLmosYS5qLnB1c2goYj4+PjAmMjU1KSxhLmoucHVzaChiPj4+OCYyNTUpLGEuai5wdXNoKGI+Pj4xNiYyNTUpLGEuai5wdXNoKGI+Pj4yNCYyNTUpKX0sXy5Fcik7Xy5nPV8uZVYucHJvdG90eXBlO18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5lVih0aGlzLngsdGhpcy55KX07Xy5nLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uZVYmJih0aGlzPT1hPyEwOnRoaXMmJmE/dGhpcy54PT1hLngmJnRoaXMueT09YS55OiExKX07Xy5nLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKXy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTtfLmcucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9O18uZy50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgXy5lVj8odGhpcy54Kz1hLngsdGhpcy55Kz1hLnkpOih0aGlzLngrPU51bWJlcihhKSx0eXBlb2YgYj09PSJudW1iZXIiJiYodGhpcy55Kz1iKSk7cmV0dXJuIHRoaXN9O18uZy5zY2FsZT1mdW5jdGlvbihhLGIpe3RoaXMueCo9YTt0aGlzLnkqPXR5cGVvZiBiPT09Im51bWJlciI/YjphO3JldHVybiB0aGlzfTsKdmFyIHF2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxydmE9e3N0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjoxLHN0b3BQcm9wYWdhdGlvbjoxLHByZXZlbnRNb3VzZUV2ZW50OjEscHJldmVudE1hbmlwdWxhdGlvbjoxLHByZXZlbnREZWZhdWx0OjEsbGF5ZXJYOjEsbGF5ZXJZOjEsc2NyZWVuWDoxLHNjcmVlblk6MSxzY2FsZToxLHJvdGF0aW9uOjEsd2Via2l0TW92ZW1lbnRYOjEsd2Via2l0TW92ZW1lbnRZOjF9LGMwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudHlwZT0iIjt0aGlzLnN0YXRlPXRoaXMuc291cmNlPXRoaXMuZGF0YT10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMudGFyZ2V0PW51bGw7dGhpcy5jaGFyQ29kZT10aGlzLmtleUNvZGU9MDt0aGlzLm1ldGFLZXk9dGhpcy5zaGlmdEtleT10aGlzLmN0cmxLZXk9dGhpcy5hbHRLZXk9ITE7dGhpcy5yb3RhdGlvbj10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPQowO3RoaXMuc2NhbGU9MTt0aGlzLmNoYW5nZWRUb3VjaGVzPXRoaXMudG91Y2hlcz1udWxsO3RyeXtpZihhPWF8fHdpbmRvdy5ldmVudCl7dGhpcy5ldmVudD1hO2ZvcihsZXQgZCBpbiBhKWQgaW4gcnZhfHwodGhpc1tkXT1hW2RdKTt0aGlzLnNjYWxlPWEuc2NhbGU7dGhpcy5yb3RhdGlvbj1hLnJvdGF0aW9uO3ZhciBiPWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7YiYmYi5ub2RlVHlwZT09MyYmKGI9Yi5wYXJlbnROb2RlKTt0aGlzLnRhcmdldD1iO3ZhciBjPWEucmVsYXRlZFRhcmdldDtpZihjKXRyeXtjPWMubm9kZU5hbWU/YzpudWxsfWNhdGNoKGQpe2M9bnVsbH1lbHNlIHRoaXMudHlwZT09Im1vdXNlb3ZlciI/Yz1hLmZyb21FbGVtZW50OnRoaXMudHlwZT09Im1vdXNlb3V0IiYmKGM9YS50b0VsZW1lbnQpO3RoaXMucmVsYXRlZFRhcmdldD1jO3RoaXMuY2xpZW50WD1hLmNsaWVudFghPXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWDt0aGlzLmNsaWVudFk9YS5jbGllbnRZIT12b2lkIDA/CmEuY2xpZW50WTphLnBhZ2VZO3RoaXMua2V5Q29kZT1hLmtleUNvZGU/YS5rZXlDb2RlOmEud2hpY2g7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwodGhpcy50eXBlPT0ia2V5cHJlc3MiP3RoaXMua2V5Q29kZTowKTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMuaj1hLnBhZ2VYO3RoaXMubz1hLnBhZ2VZfX1jYXRjaChkKXt9fXByZXZlbnREZWZhdWx0KCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQucmV0dXJuVmFsdWU9ITEsdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCYmdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCgpKX1zdG9wUHJvcGFnYXRpb24oKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkpfXN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJgoodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfX07Xy5IYShlMCxfLmFlKTtlMC5wcm90b3R5cGUuZ2E9ZnVuY3Rpb24oYSl7YS5qPT09dm9pZCAwJiZiMChhKTt2YXIgYj1hLmo7YS5vPT09dm9pZCAwJiZiMChhKTt0aGlzLmo9bmV3IF8uZVYoYixhLm8pfTsKZTAucHJvdG90eXBlLlU9ZnVuY3Rpb24oKXtpZih0aGlzLmope3ZhciBhPSgwLF8uZWwpKCk7aWYodGhpcy5CIT0wKXt2YXIgYj10aGlzLkksYz10aGlzLmosZD1iLngtYy54O2I9Yi55LWMueTtkPU1hdGguc3FydChkKmQrYipiKS8oYS10aGlzLkIpO3RoaXMub1t0aGlzLnZdPU1hdGguYWJzKChkLXRoaXMuRCkvdGhpcy5EKT4uNT8xOjA7Yj0wO2ZvcihjPTA7Yzw0O2MrKyliKz10aGlzLm9bY118fDA7Yj49MyYmdGhpcy5NKCk7dGhpcy5EPWR9dGhpcy5CPWE7dGhpcy5JPXRoaXMuajt0aGlzLnY9KHRoaXMudisxKSU0fX07ZTAucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7d2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5oYSk7eXJhKHRoaXMuWil9Owp2YXIgdDM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPXZvaWQgMDt0aGlzLmo9ITE7YS5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixiPT57Yi5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1ifSk7YS5hZGRFdmVudExpc3RlbmVyKCJhcHBpbnN0YWxsZWQiLCgpPT57dGhpcy5qPSEwfSx7b25jZTohMH0pfX0sZjA9MCx1MD17bmV4dDoid25fcyIsYnJvd3NlOiJicl9zIixzZWFyY2g6InNyX3MiLHJlZWw6InJfd3JzIixwbGF5ZXI6InBzX3MifSxScmE9e25leHQ6InduX3IiLGJyb3dzZToiYnJfciIsc2VhcmNoOiJzcl9yIixyZWVsOiJyX3dyciIscGxheWVyOiJwc19yIn0sbTA9e30sczA9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLAonbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJwbGF5ZXIvd3d3LXBsYXllciJdJzoicGMiLCdzY3JpcHRbbmFtZT0iZGVza3RvcF9wb2x5bWVyL2Rlc2t0b3BfcG9seW1lciJdJzoiZHBqIiwnbGlua1tyZWw9ImltcG9ydCJdW25hbWU9ImRlc2t0b3BfcG9seW1lciJdJzoiZHBoIiwnc2NyaXB0W25hbWU9Im1vYmlsZS1jMyJdJzoibWNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGUtYzMiXSc6Im1jYyIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy1waG9uZS9iYXNlIl0nOiJtY3BwaiIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy10YWJsZXQvYmFzZSJdJzoibWNwdGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwKJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0ibW9iaWxlX2JsYXplcl9jc3MiXSc6Im1iYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9pbl91c2Vyc19tb2QiXSc6Im1ibGl1aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9vdXRfdXNlcnNfbW9kIl0nOiJtYmxvdWoiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl9ub25jb3JlX21vZCJdJzoibWJuaiIsIiNwbGF5ZXJfY3NzIjoibWJwYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2Rlc2t0b3BwbGF5ZXJfbW9kIl0nOiJtYnBqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX3RhYmxldF9jc3MiXSc6Im1idGMiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSwKWTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sWjE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sejA9e30sZDU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7YT1hfHx7fTt2YXIgYj17fSxjPXt9O3RoaXMudXJsPWEudXJsfHwiIjt0aGlzLmFyZ3M9YS5hcmdzfHxVXyhiKTt0aGlzLmFzc2V0cz1hLmFzc2V0c3x8e307dGhpcy5hdHRycz1hLmF0dHJzfHxVXyhjKTt0aGlzLmZhbGxiYWNrPWEuZmFsbGJhY2t8fG51bGw7dGhpcy5mYWxsYmFja01lc3NhZ2U9YS5mYWxsYmFja01lc3NhZ2V8fG51bGw7dGhpcy5odG1sNT0hIWEuaHRtbDU7dGhpcy5kaXNhYmxlPWEuZGlzYWJsZXx8e307dGhpcy5sb2FkZWQ9ISFhLmxvYWRlZDt0aGlzLm1lc3NhZ2VzPWEubWVzc2FnZXN8fHt9fWNsb25lKCl7dmFyIGE9bmV3IGQ1O2ZvcihsZXQgYiBpbiB0aGlzKWlmKHRoaXMuaGFzT3duUHJvcGVydHkoYikpe2xldCBjPXRoaXNbYl07Xy54YShjKT09CiJvYmplY3QiP2FbYl09VV8oYyk6YVtiXT1jfXJldHVybiBhfX0sRjA9e30sYnNhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIsYyxkKXtzdXBlcigpO3RoaXMucGxheWVySWQ9Yjt0aGlzLndlYlBsYXllckNvbnRleHRDb25maWc9ZDt0aGlzLkViPXZvaWQgMDt0aGlzLkZhPSExO3RoaXMuYXBpPXt9O3RoaXMuaGE9dGhpcy5CPW51bGw7dGhpcy5NPW5ldyBfLnRoO3RoaXMuaj17fTt0aGlzLlo9dGhpcy5vYT10aGlzLmVsZW1lbnRJZD10aGlzLk1hPXRoaXMuY29uZmlnPW51bGw7dGhpcy5VPSExO3RoaXMudj10aGlzLkQ9bnVsbDt0aGlzLnlhPXt9O3RoaXMuZmM9WyJvblJlYWR5Il07dGhpcy5sYXN0RXJyb3I9bnVsbDt0aGlzLlFhPU5hTjt0aGlzLkk9e307dGhpcy5nYT0wO3RoaXMubz10aGlzLnRhcmdldEVsZW1lbnQ9YTtFWih0aGlzLHRoaXMuTSk7STAodGhpcyk7Yz90aGlzLmdhPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmxvYWROZXdWaWRlb0NvbmZpZyhjKX0sMCk6CmQmJihKMCh0aGlzKSxTMCh0aGlzKSl9Z2V0SWQoKXtyZXR1cm4gdGhpcy5wbGF5ZXJJZH1sb2FkTmV3VmlkZW9Db25maWcoYSl7aWYoIXRoaXMuaWEoKSl7dGhpcy5nYSYmKGNsZWFyVGltZW91dCh0aGlzLmdhKSx0aGlzLmdhPTApO3ZhciBiPWF8fHt9O2IgaW5zdGFuY2VvZiBkNXx8KGI9bmV3IGQ1KGIpKTt0aGlzLmNvbmZpZz1iO3RoaXMuc2V0Q29uZmlnKGEpO1MwKHRoaXMpO3RoaXMuaXNSZWFkeSgpJiZUMCh0aGlzKX19c2V0Q29uZmlnKGEpe3RoaXMuTWE9YTt0aGlzLmNvbmZpZz1QMChhKTtKMCh0aGlzKTt0aGlzLm9hfHwodGhpcy5vYT1VMCh0aGlzLHRoaXMuY29uZmlnLmFyZ3M/LmpzYXBpY2FsbGJhY2t8fCJvbllvdVR1YmVQbGF5ZXJSZWFkeSIpKTt0aGlzLmNvbmZpZy5hcmdzP3RoaXMuY29uZmlnLmFyZ3MuanNhcGljYWxsYmFjaz1udWxsOnRoaXMuY29uZmlnLmFyZ3M9e2pzYXBpY2FsbGJhY2s6bnVsbH07aWYodGhpcy5jb25maWc/LmF0dHJzKXthPXRoaXMuY29uZmlnLmF0dHJzOwpsZXQgYj1hLndpZHRoO2ImJnRoaXMubyYmKHRoaXMuby5zdHlsZS53aWR0aD1YXyhOdW1iZXIoYil8fGIpKTsoYT1hLmhlaWdodCkmJnRoaXMubyYmKHRoaXMuby5zdHlsZS5oZWlnaHQ9WF8oTnVtYmVyKGEpfHxhKSl9fWlzUmVhZHkoKXtyZXR1cm4gdGhpcy5GYX1hZGRFdmVudExpc3RlbmVyKGEsYil7dGhpcy5pYSgpO3ZhciBjPVUwKHRoaXMsYik7YyYmKF8uc2IodGhpcy5mYyxhKT49MHx8dGhpcy5qW2FdfHwoYj1hc2EodGhpcyxhKSx0aGlzLkImJnRoaXMuQihhLGIpKSx0aGlzLk0uc3Vic2NyaWJlKGEsYyksYT09PSJvblJlYWR5IiYmdGhpcy5pc1JlYWR5KCkmJnNldFRpbWVvdXQoKCk9PntjKHRoaXMuYXBpKX0sMCkpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKXt0aGlzLmlhKCl8fChiPVUwKHRoaXMsYikpJiZ0aGlzLk0udW5zdWJzY3JpYmUoYSxiKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIHRoaXMuWnx8KEwwKHRoaXMpPyJodG1sNSI6bnVsbCl9Z2V0TGFzdEVycm9yKCl7cmV0dXJuIHRoaXMubGFzdEVycm9yfWNhbmNlbCgpe3RoaXMuRCYmCkcwKFEwKHRoaXMpLHRoaXMuRCk7Y2xlYXJUaW1lb3V0KHRoaXMuUWEpO3RoaXMuVT0hMX1sYSgpe04wKHRoaXMpO2lmKHRoaXMudiYmdGhpcy5jb25maWcmJnRoaXMudi5kZXN0cm95KXRyeXt0aGlzLnYuZGVzdHJveSgpfWNhdGNoKGIpe3ZhciBhPW5ldyBfLlhqKCJQbGF5ZXJQcm94eSBlcnJvciBkdXJpbmcgZGlzcG9zYWwiLHtlcnJvcjpifSk7YS5sZXZlbD0iRVJST1IiO3Rocm93IGE7fXRoaXMueWE9bnVsbDtmb3IoYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgdGhpcy5qW2FdO3RoaXMuTWE9dGhpcy5jb25maWc9dGhpcy5hcGk9bnVsbDtkZWxldGUgdGhpcy50YXJnZXRFbGVtZW50O2RlbGV0ZSB0aGlzLm87c3VwZXIubGEoKX19LFcwPXt9LHh0YT17U0M6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1VOS05PV04iLFBDOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIixSQzoiRU1CRURERURfUExBWUVSX01PREVfUEZQIixRQzoiRU1CRURERURfUExBWUVSX01PREVfUEZMIn07dmFyIGgxPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGM9RXJyb3IoKSl7c3VwZXIoKTt0aGlzLmNvZGU9YTtiKz0iOiI7YyBpbnN0YW5jZW9mIEVycm9yPyh0aGlzLm1lc3NhZ2U9YitjLm1lc3NhZ2UsdGhpcy5zdGFjaz1jLnN0YWNrfHwiIik6KHRoaXMubWVzc2FnZT1iK1N0cmluZyhjKSx0aGlzLnN0YWNrPSIiKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgZTE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy52bT1hO3RoaXMubz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTt0aGlzLmo9dm9pZCAwO3RoaXMuQ2c9dGhpcy52bS5wO3RoaXMudj10aGlzLkloLmJpbmQodGhpcyk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBoc2EodGhpcykpfXNuYXBzaG90KGEpe3JldHVybiB0aGlzLnZtLnMoey4uLihhLktjJiZ7YzphLktjfSksCi4uLihhLllqJiZ7czphLllqfSksLi4uKGEueG4hPT12b2lkIDAmJntwOmEueG59KX0pfUloKGEpe3RoaXMudm0uZShhKX1CaShhLGIpe3JldHVybiB0aGlzLnZtLmMoYSxiLCExKX1WaCgpe3JldHVybiB0aGlzLnZtLmwoKX19O3ZhciBzdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLmhhPTF9c2hhcmUoKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoImplIik7dGhpcy5oYSsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuaGF8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciB0dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPWE7SzEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsbTEoIm1rIikpfXJlY29yZChhLGIpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIpfX0sdXZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLG0xKCJtbiIpLGwxKCJhYyIpLGwxKCJzYyIpLG0xKCJyayIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMsZCxlLGYpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLGEsYixjLGQsZSxmKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIil9fSx2dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy52PWE7TTEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2VjIixtMSgiZW4iKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwKIi9jbGllbnRfc3RyZWFtei9iZy9lYyIsYSxiKX1qKCl7cmV0dXJuIHRoaXMudi5qKCIvY2xpZW50X3N0cmVhbXovYmcvZWMiKX19LHd2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvZWwiLG0xKCJlbiIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYSxiLGMpfWooKXtyZXR1cm4gdGhpcy5vLmooIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0seHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLGwxKCJlYyIpLG0xKCJtayIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LHl2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIiwKbDEoImNzIiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0senZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixtMSgiYXYiKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LEF2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsbTEoInN1IiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxCdmE9CmNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixtMSgibWsiKSl9cmVjb3JkKGEsYil7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiKX19LEN2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbTEoImV0IiksbTEoIm1rIikpfXJlY29yZChhLGIsYyl7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGEsYixjKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIpfX07dmFyIE1zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgcnNhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHExPVsxLDIsM107dmFyIG9zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxwMT1bMSwyLDNdO3ZhciBwc2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIER2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgRXZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LGU1PVsxLDIsM107dmFyIG4xPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O24xLnByb3RvdHlwZS52PV8ucHooWzAsJDQsWzAsZTUsYTUsWzAsJDQsLTEsXy54el0sYTUsWzAsJDQsLTEsWjQsXy54el0sYTUsWzAsJDRdXSxsdmEsXy55eixbMCxfLnl6LFswLHExLG12YSxndmEsa3ZhXSxbMCxwMSxmdmEsZXZhLGE1LFswLF8ueXosWzAsVjQsWDRdXV1dLGl2YSxqdmFdKTt2YXIgRnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBHdmE9Y2xhc3N7YXN5bmMgY29tcHJlc3MoYSl7dmFyIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO2I9Yi53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBiLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKSk7YXdhaXQgYi5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBjKX1pc1N1cHBvcnRlZChhKXtyZXR1cm4gYTwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIGY1PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy5jYWxsYmFjaz1iO3RoaXMuZW5hYmxlZD0hMTt0aGlzLmo9KCk9Pl8uRWEoKTt0aGlzLm89dGhpcy5qKCl9c2V0SW50ZXJ2YWwoYSl7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy50aW1lciYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMudGltZXImJnRoaXMuc3RvcCgpfXN0YXJ0KCl7dGhpcy5lbmFibGVkPSEwO3RoaXMudGltZXJ8fCh0aGlzLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zKSx0aGlzLm89dGhpcy5qKCkpfXN0b3AoKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9dGljaygpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9TWF0aC5tYXgodGhpcy5qKCktdGhpcy5vLDApO2E8dGhpcy5pbnRlcnZhbE1zKi44P3RoaXMudGltZXI9CnNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zLWEpOih0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKSx0aGlzLmNhbGxiYWNrKCksdGhpcy5lbmFibGVkJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH19O3ZhciBIdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIEl2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgSnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1XaSgpe3JldHVybiBLXyh0aGlzKX19O3ZhciB0c2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHgxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHdzYT1TXyh4MSk7dmFyIEExPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciB0MT1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sczE9bmV3IHgxLHUxPW51bGw7dmFyIHoxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBLdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsNCl9fTt2YXIgZzU9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsMzcpfX07dmFyIEx2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSwxOSl9VWgoYSl7cmV0dXJuIENaKHRoaXMsMixhKX19O3ZhciBNdmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPSExKXt0aGlzLnlkPWI7dGhpcy52PXRoaXMubG9jYWxlPW51bGw7dGhpcy5vPTA7dGhpcy5pc0ZpbmFsPSExO3RoaXMuaj1uZXcgTHZhO051bWJlci5pc0ludGVnZXIoYSkmJnRoaXMuai5VaChhKTtifHwodGhpcy5sb2NhbGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgibGFuZyIpKTt5MSh0aGlzLG5ldyB6MSl9VWgoYSl7dGhpcy5qLlVoKGEpO3JldHVybiB0aGlzfWJ1aWxkKGEsYj0wLGM9MCxkPW51bGwsZT0wLGY9MCl7aWYoIXRoaXMueWQpe3ZhciBoPXcxKHRoaXMpO3ZhciBrPW5ldyBKdmE7az1DWihrLDEsdGhpcy5vKTtrPV8ucXcoaywyLF8ueHcodGhpcy5pc0ZpbmFsKSk7Yz1fLnF3KGssMyxfLlB3KGM+MD9jOnZvaWQgMCkpO2U9Xy5xdyhjLDQsXy5QdyhlPjA/ZTp2b2lkIDApKTtmPV8ucXcoZSw1LF8uUHcoZj4wP2Y6dm9pZCAwKSk7ZT1mLkRhO2M9ZVtfLkFjXXwwO2Y9Xy5CYyhmLGMpP2Y6Xy4kYyhmLAplLGMpP18uYmQoZixlKTpuZXcgZi5jb25zdHJ1Y3RvcihfLlpjKGUsYywhMCkpO18uS3coaCwxMCxmKX1oPXRoaXMuai5jbG9uZSgpO2Y9RGF0ZS5ub3coKS50b1N0cmluZygpO2g9Xy5xdyhoLDQseV8oZikpO2E9YS5zbGljZSgpO2E9SF8oaCwzLGEpO2QmJihoPW5ldyBIdmEsZD1fLnF3KGgsMTMsXy5QdyhkKSksaD1uZXcgSXZhLGQ9Xy5LdyhoLDIsZCksaD1uZXcgS3ZhLGQ9Xy5LdyhoLDEsZCksZD1DWihkLDIsOSksXy5LdyhhLDE4LGQpKTtiJiZfLnF3KGEsMTQseV8oYikpO3JldHVybiBhfX07QjEucHJvdG90eXBlLnY9MDtCMS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPXRoaXMuQjt0aGlzLnY9MH07dmFyIFU0PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDgpfX0sTnZhPVNfKFU0KTt2YXIgaDU7aDU9bmV3IGR2YShjbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSk7dmFyIE92YT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmNvbXBvbmVudElkPSIiO3RoaXMuaj1bXTt0aGlzLlFhPSIiO3RoaXMucGFnZUlkPW51bGw7dGhpcy5FYj10aGlzLm9hPS0xO3RoaXMuTT10aGlzLmV4cGVyaW1lbnRJZHM9bnVsbDt0aGlzLmdhPXRoaXMuaGE9dGhpcy5JPXRoaXMuQj0wO3RoaXMuZmM9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLnlhPSExO3RoaXMubG9nU291cmNlPWEubG9nU291cmNlO3RoaXMuU2Y9YS5TZnx8KCgpPT57fSk7dGhpcy52PW5ldyBNdmEoYS5sb2dTb3VyY2UsYS55ZCk7dGhpcy5uZXR3b3JrPWEubmV0d29ya3x8bnVsbDt0aGlzLmxmPWEubGZ8fG51bGw7dGhpcy5idWZmZXJTaXplPTFFMzt0aGlzLlU9YS50Qnx8bnVsbDt0aGlzLnNlc3Npb25JbmRleD1hLnNlc3Npb25JbmRleHx8bnVsbDt0aGlzLlpnPWEuWmd8fCExO3RoaXMuWD1udWxsO3RoaXMud2l0aENyZWRlbnRpYWxzPSFhLm5sO3RoaXMueWQ9CmEueWR8fCExO3RoaXMuWj0hdGhpcy55ZCYmISFfLnpkKCkmJiEhXy56ZCgpLm5hdmlnYXRvciYmXy56ZCgpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuTWE9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKEQxKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoRDEoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGI9djEobmV3IHoxKTt5MSh0aGlzLnYsYik7dGhpcy5EPW5ldyBCMSgxRTQsM0U1LC4xKTthPXlzYSh0aGlzLGEuTm8pO3RoaXMubz1uZXcgZjUodGhpcy5ELmosYSk7dGhpcy5GYT1uZXcgZjUoNkU1LGEpO3RoaXMuWmd8fHRoaXMuRmEuc3RhcnQoKTt0aGlzLnlkfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pntkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIiYmRTEodGhpcyl9KSxfLnpkKCk/LmFkZEV2ZW50TGlzdGVuZXI/LigicGFnZWhpZGUiLCgpPT4Ke0UxKHRoaXMpfSkpfWxhKCl7RTEodGhpcyk7dGhpcy5vLnN0b3AoKTt0aGlzLkZhLnN0b3AoKTtzdXBlci5sYSgpfWRpc3BhdGNoKGEpe2lmKGEgaW5zdGFuY2VvZiBnNSl0aGlzLmxvZyhhKTtlbHNlIHRyeXt2YXIgYj1uZXcgZzUsYz1hLnNlcmlhbGl6ZSgpO3ZhciBkPUJaKGIsOCxjKTt0aGlzLmxvZyhkKX1jYXRjaHt9fWxvZyhhKXtpZih0aGlzLk1hKXthPWEuY2xvbmUoKTt2YXIgYj10aGlzLmZjKys7YT1fLnF3KGEsMjEseV8oYikpO3RoaXMuY29tcG9uZW50SWQmJkJaKGEsMjYsdGhpcy5jb21wb25lbnRJZCk7Yj1hO3t2YXIgYz1fLmVkKGIsMSk7bGV0IGQ9dHlwZW9mIGM7Yz1jPT1udWxsP2M6ZD09PSJiaWdpbnQiP1N0cmluZygoMCxfLnRyKSg2NCxjKSk6cl8oYyk/ZD09PSJzdHJpbmciP3VfKGMpOnZfKGMpOnZvaWQgMH1jPT1udWxsJiYoYz1EYXRlLm5vdygpLGM9TnVtYmVyLmlzRmluaXRlKGMpP2MudG9TdHJpbmcoKToiMCIsXy5xdyhiLDEseV8oYykpKTtjPV8uZWQoYiwKMTUsdm9pZCAwLHZvaWQgMCx6Xyk7YyE9bnVsbCYmKHR5cGVvZiBjPT09ImJpZ2ludCI/KDAsXy5NYykoYyk/Yz1OdW1iZXIoYyk6KGM9KDAsXy50cikoNjQsYyksYz0oMCxfLk1jKShjKT9OdW1iZXIoYyk6U3RyaW5nKGMpKTpjPXJfKGMpP3R5cGVvZiBjPT09Im51bWJlciI/dl8oYyk6dV8oYyk6dm9pZCAwKTtjPT1udWxsJiZfLnF3KGIsMTUseV8oKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKjYwKSk7dGhpcy5leHBlcmltZW50SWRzJiYoYz10aGlzLmV4cGVyaW1lbnRJZHMuY2xvbmUoKSxfLkt3KGIsMTYsYykpO2I9dGhpcy5qLmxlbmd0aC10aGlzLmJ1ZmZlclNpemUrMTtiPjAmJih0aGlzLmouc3BsaWNlKDAsYiksdGhpcy5CKz1iKTt0aGlzLmoucHVzaChhKTt0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCl9fWZsdXNoKGEsYil7aWYodGhpcy5qLmxlbmd0aD09PTApYSYmYSgpO2Vsc2UgaWYodGhpcy55YSYmdGhpcy5aKXRoaXMudi5vPTMsQXNhKHRoaXMpOwplbHNle3ZhciBjPURhdGUubm93KCk7aWYodGhpcy5FYj5jJiZ0aGlzLm9hPGMpYiYmYigidGhyb3R0bGVkIik7ZWxzZXt0aGlzLm5ldHdvcmsmJih0eXBlb2YgdGhpcy5uZXR3b3JrLldpPT09ImZ1bmN0aW9uIj92c2EodGhpcy52LHRoaXMubmV0d29yay5XaSgpKTp0aGlzLnYubz0wKTt2YXIgZD10aGlzLnYuYnVpbGQodGhpcy5qLHRoaXMuQix0aGlzLkksdGhpcy5sZix0aGlzLmhhLHRoaXMuZ2EpLGU9dGhpcy5TZigpO2lmKGUmJnRoaXMuUWE9PT1lKWImJmIoInN0YWxlLWF1dGgtdG9rZW4iKTtlbHNle3RoaXMuaj1bXTt0aGlzLm8uZW5hYmxlZCYmdGhpcy5vLnN0b3AoKTt0aGlzLkI9MDtjPWQuc2VyaWFsaXplKCk7bGV0IGY7dGhpcy5NJiZ0aGlzLk0uaXNTdXBwb3J0ZWQoYy5sZW5ndGgpJiYoZj10aGlzLk0uY29tcHJlc3MoYykpO2xldCBoPUJzYSh0aGlzLGMsZSksaz1uPT57dGhpcy5ELnJlc2V0KCk7dGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKTtpZihuKXt2YXIgcD0KbnVsbDt0cnl7dmFyIHI9SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShuLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cD1OdmEocil9Y2F0Y2godil7fWlmKHApe249TnVtYmVyKElfKHAsMSxfLkZjKCItMSIpKSk7bj4wJiYodGhpcy5vYT1EYXRlLm5vdygpLHRoaXMuRWI9dGhpcy5vYStuKTtuPWg1Lmo7KHI9Xy5HYShfLkpjKSkmJnAuRGFbcl0/LltuXSE9bnVsbCYmXy54YyhfLmpyLDMpO249aDUuajtpZihfLkdhKF8ubHIpJiZfLkdhKF8uSmMpJiZ2b2lkIDA9PT1fLmxyKXtyPXAuRGE7dmFyIHQ9cltfLkpjXTtpZih0JiYodD10LkZLKSl0cnl7dChyLG4sY3ZhKX1jYXRjaCh2KXtfLiRiKHYpfX1wPWg1LmN0b3I/aDUubyhwLGg1LmN0b3IsaDUuaixoNS52KTpoNS5vKHAsaDUuaixudWxsLGg1LnYpO2lmKHA9cD09PW51bGw/dm9pZCAwOnApcD1fLnR4KHAsMSwtMSkscCE9PS0xJiYodGhpcy5EPW5ldyBCMShwPDE/MTpwLDNFNSwuMSksdGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKSl9fWEmJgphKCk7dGhpcy5JPTB9LGw9KG4scCk9Pnt2YXIgcj1HXyhkLGc1LDMpO3ZhciB0PU51bWJlcihJXyhkLDE0KSk7QzEodGhpcy5EKTt0aGlzLm8uc2V0SW50ZXJ2YWwodGhpcy5ELmopO249PT00MDEmJmUmJih0aGlzLlFhPWUpO3QmJih0aGlzLkIrPXQpO3A9PT12b2lkIDAmJihwPXRoaXMuaXNSZXRyeWFibGUobikpO3AmJih0aGlzLmo9ci5jb25jYXQodGhpcy5qKSx0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCkpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIsbik7Kyt0aGlzLkl9LG09KCk9Pnt0aGlzLm5ldHdvcmsmJnRoaXMubmV0d29yay5zZW5kKGgsayxsKX07Zj9mLnRoZW4obj0+e2guT2pbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5PalsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PW47aC5HdT0yO20oKX0sKCk9PnttKCl9KTptKCl9fX19aXNSZXRyeWFibGUoYSl7cmV0dXJuIDUwMDw9YSYmYTw2MDB8fGE9PT00MDF8fAphPT09MH19O3ZhciBQdmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnB1PXR5cGVvZiBBYm9ydENvbnRyb2xsZXIhPT0idW5kZWZpbmVkIn1hc3luYyBzZW5kKGEsYixjKXt2YXIgZD10aGlzLnB1P25ldyBBYm9ydENvbnRyb2xsZXI6dm9pZCAwLGU9ZCYmYS50aW1lb3V0TWlsbGlzPjA/c2V0VGltZW91dCgoKT0+e2QuYWJvcnQoKX0sYS50aW1lb3V0TWlsbGlzKTp2b2lkIDA7dHJ5e2xldCBmPWF3YWl0IGZldGNoKGEudXJsLHttZXRob2Q6YS5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5hLk9qfSwuLi4oYS5ib2R5JiZ7Ym9keTphLmJvZHl9KSwuLi4oYS53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6YS50aW1lb3V0TWlsbGlzJiZkP2Quc2lnbmFsOm51bGx9KTtmLnN0YXR1cz09PTIwMD9iPy4oYXdhaXQgZi50ZXh0KCkpOmM/LihmLnN0YXR1cyl9Y2F0Y2goZil7c3dpdGNoKGY/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOmM/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6Yz8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KGUpfX1XaSgpe3JldHVybiA0fX07dmFyIFMxPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5OZT0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5qPXRoaXMubGY9bnVsbDt0aGlzLm89ITE7dGhpcy5wYWdlSWQ9bnVsbDt0aGlzLmJ1ZmZlclNpemU9dm9pZCAwO3RoaXMuWD1udWxsfW5sKCl7dGhpcy52PSEwO3JldHVybiB0aGlzfWJ1aWxkKCl7dGhpcy5uZXR3b3JrfHwodGhpcy5uZXR3b3JrPW5ldyBQdmEpO3ZhciBhPW5ldyBPdmEoe2xvZ1NvdXJjZTp0aGlzLmxvZ1NvdXJjZSxTZjp0aGlzLlNmP3RoaXMuU2Y6Xy5QZCxzZXNzaW9uSW5kZXg6dGhpcy5zZXNzaW9uSW5kZXgsdEI6dGhpcy5OZSx5ZDohMSxaZzohMSxubDp0aGlzLnYsTm86dGhpcy5ObyxuZXR3b3JrOnRoaXMubmV0d29ya30pOwpFWih0aGlzLGEpO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIGI9dGhpcy5idWlsZExhYmVsLGM9dzEoYS52KTtCWihjLDcsYil9YS5NPW5ldyBHdmE7dGhpcy5jb21wb25lbnRJZCYmKGEuY29tcG9uZW50SWQ9dGhpcy5jb21wb25lbnRJZCk7dGhpcy5sZiYmKGEubGY9dGhpcy5sZik7dGhpcy5wYWdlSWQmJihhLnBhZ2VJZD10aGlzLnBhZ2VJZCk7dGhpcy5qJiYoKGM9dGhpcy5qKT8oYS5leHBlcmltZW50SWRzfHwoYS5leHBlcmltZW50SWRzPW5ldyBxdmEpLGI9YS5leHBlcmltZW50SWRzLGM9Yy5zZXJpYWxpemUoKSxCWihiLDQsYykpOmEuZXhwZXJpbWVudElkcyYmXy5xdyhhLmV4cGVyaW1lbnRJZHMsNCkpO3RoaXMubyYmKGEueWE9YS5aKTt4c2EoYS52KTt0aGlzLmJ1ZmZlclNpemUmJihhLmJ1ZmZlclNpemU9dGhpcy5idWZmZXJTaXplKTt0aGlzLm5ldHdvcmsuVWgmJnRoaXMubmV0d29yay5VaCh0aGlzLmxvZ1NvdXJjZSk7dGhpcy5uZXR3b3JrLmlBJiZ0aGlzLm5ldHdvcmsuaUEoYSk7CnJldHVybiBhfX07dmFyIE5zYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7YXx8KGE9bmV3IFMxLGEuY29tcG9uZW50SWQ9IiIsRVoodGhpcyxhKSxhPWEuYnVpbGQoKSk7dGhpcy5qPWF9Zmx1c2goYSl7YT1hfHxbXTtpZihhLmxlbmd0aCl7bGV0IGI9bmV3IEZ2YSxjPVtdO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtsZXQgZT1hW2RdLGY9cjEoZSk7Yy5wdXNoKGYpO2UuY2xlYXIoKX1IXyhiLDEsYyk7dGhpcy5qLmRpc3BhdGNoKGIpO3RoaXMuai5mbHVzaCgpfX19O3ZhciBIMT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBpNT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5vPWE7dGhpcy52PWI7dGhpcy5maWVsZHM9Y3x8W107dGhpcy5qPW5ldyBNYXB9Y2xlYXIoKXt0aGlzLmouY2xlYXIoKX19O3ZhciBMMT1jbGFzcyBleHRlbmRzIGk1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSwzLGIpfX07dmFyIEoxPWNsYXNzIGV4dGVuZHMgaTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLDIsYil9cmVjb3JkKGEsLi4uYil7SHNhKHRoaXMsYSwuLi5iKX19O3ZhciBUMT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlo9YTt0aGlzLkk9MDt0aGlzLkI9MTAwO3RoaXMuTT0hMTt0aGlzLnY9bmV3IE1hcDt0aGlzLlU9bmV3IFNldDt0aGlzLmZsdXNoSW50ZXJ2YWw9M0U0O3RoaXMubz1uZXcgXy5qeSh0aGlzLmZsdXNoSW50ZXJ2YWwpO3RoaXMuby5saXN0ZW4oInRpY2siLHRoaXMuRCwhMSx0aGlzKTtFWih0aGlzLHRoaXMubyl9c2VuZElzb2xhdGVkUGF5bG9hZChhKXt0aGlzLk09YTt0aGlzLkI9MX1EKCl7dmFyIGE9Wy4uLnRoaXMudi52YWx1ZXMoKV0uZmlsdGVyKGI9PmIuai5zaXplKTthLmxlbmd0aCYmdGhpcy5aLmZsdXNoKGEsdGhpcy5NKTtLc2EoYSk7dGhpcy5JPTA7dGhpcy5vLmVuYWJsZWQmJnRoaXMuby5zdG9wKCl9aihhKXtyZXR1cm4gdGhpcy5VLmhhcyhhKT92b2lkIDA6dGhpcy52LmdldChhKX1yZWNvcmQoYSxiLC4uLmMpeyhhPXRoaXMuaihhKSkmJmEgaW5zdGFuY2VvZiBKMSYmKGEucmVjb3JkKGIsCi4uLmMpLE4xKHRoaXMpKX19O3ZhciBzMj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYik7dGhpcy5jb2RlPWE7dGhpcy5tZXRhZGF0YT17fTt0aGlzLm5hbWU9IlJwY0Vycm9yIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9dG9TdHJpbmcoKXt2YXIgYT1gUnBjRXJyb3IoJHtMc2EodGhpcy5jb2RlKXx8U3RyaW5nKHRoaXMuY29kZSl9KWA7dGhpcy5tZXNzYWdlJiYoYSs9IjogIit0aGlzLm1lc3NhZ2UpO3JldHVybiBhfX07dmFyIERzYT1jbGFzc3tzZW5kKGEsYj0oKT0+e30sYz0oKT0+e30pe18ubHkoYS51cmwsZD0+e2Q9ZC50YXJnZXQ7aWYoZC5pc1N1Y2Nlc3MoKSl7dHJ5e3ZhciBlPWQucmE/ZC5yYS5yZXNwb25zZVRleHQ6IiJ9Y2F0Y2goZil7ZT0iIn1iKGUpfWVsc2UgYyhfLlJ4KGQpKX0sYS5yZXF1ZXN0VHlwZSxhLmJvZHksYS5PaixhLnRpbWVvdXRNaWxsaXMsYS53aXRoQ3JlZGVudGlhbHMpfVdpKCl7cmV0dXJuIDF9fTt2YXIgajU9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9YTt0aGlzLmV2ZW50PWI7dGhpcy5zdGFydFRpbWU9UTEoKX1kb25lKCl7dGhpcy5YLnYodGhpcy5ldmVudCxRMSgpLXRoaXMuc3RhcnRUaW1lKX19LGs1PWNsYXNzIGV4dGVuZHMgc3Zhe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKX19LFNzYT1jbGFzcyBleHRlbmRzIGs1e0IoKXt9aigpe312KCl7fUpiKCl7fU0oKXt9SSgpe31vKCl7fVooKXt9RCgpe31VKCl7fX0sUXZhPWNsYXNzIGV4dGVuZHMgazV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHRoaXMuWC5kaXNwb3NlKCkpfXVwZGF0ZShhKXt0aGlzLlguZGlzcG9zZSgpO3RoaXMuWD1hfWooYSl7dGhpcy5YLmooYSl9dihhLGIpe3RoaXMuWC52KGEsYil9SmIoYSl7dGhpcy5YLkpiKGEpfU0oYSl7dGhpcy5YLk0oYSl9SShhLGIpe3RoaXMuWC5JKGEsYil9bygpe3RoaXMuWC5vKCl9WihhKXt0aGlzLlguWihhKX1EKGEpe3RoaXMuWC5EKGEpfVUoYSl7dGhpcy5YLlUoYSl9QihhKXt0aGlzLlguQihhKX19LApSdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLmNhbGxiYWNrPWE7dGhpcy5vPWI7dGhpcy5qPS1iO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpKX19LFN2YT1jbGFzcyBleHRlbmRzIGs1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLm1ldHJpY3M9YTt0aGlzLm1iPWJ9QihhKXt0aGlzLm1ldHJpY3MuQUEucmVjb3JkKGEsdGhpcy5tYil9aihhKXt0aGlzLm1ldHJpY3MuZXZlbnRDb3VudC5vKGEsdGhpcy5tYil9dihhLGIpe3RoaXMubWV0cmljcy5Odi5yZWNvcmQoYixhLHRoaXMubWIpfUpiKGEpe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lm8oYSx0aGlzLm1iKX1aKGEpe3RoaXMubWV0cmljcy5KQi5vKGEsdGhpcy5tYil9RChhKXt0aGlzLm1ldHJpY3MuSnUubyhhLHRoaXMubWIpfVUoYSl7dGhpcy5tZXRyaWNzLklCLm8oYSx0aGlzLm1iKX1NKGEpe3RoaXMubWV0cmljcy5wYXlsb2FkU2l6ZS5yZWNvcmQoYSwKdGhpcy5tYil9SShhLGIpe3RoaXMubWV0cmljcy5YeS5yZWNvcmQoYixhLHRoaXMubWIpfX0sUXNhPWNsYXNzIGV4dGVuZHMgU3Zhe2NvbnN0cnVjdG9yKGEsYj1bXSl7dmFyIGM9e21iOmEubWJ8fCJfIix6bDphLnpsfHxbXSxubTphLm5tfDAsTmU6YS5OZSxGajphLkZqfHwoKCk9Pnt9KSxJZzphLklnfHwoKGUsZik9Pk9zYShlLGYsYy5GaixjLk5lKSl9LGQ9Yy5JZygiNTMiLGMuemwuY29uY2F0KGIpKTtzdXBlcih7QUE6bmV3IHR2YShkKSxlcnJvckNvdW50Om5ldyB4dmEoZCksZXZlbnRDb3VudDpuZXcgdnZhKGQpLE52Om5ldyB3dmEoZCkseUw6bmV3IHV2YShkKSxKQjpuZXcgeXZhKGQpLEp1Om5ldyB6dmEoZCksSUI6bmV3IEF2YShkKSxwYXlsb2FkU2l6ZTpuZXcgQnZhKGQpLFh5Om5ldyBDdmEoZCl9LGMubWIpO3RoaXMub3B0aW9ucz1jO3RoaXMuc2VydmljZT1kO3RoaXMub2E9IWEuSWc7dGhpcy5nYT1uZXcgUnZhKCgpPT52b2lkIHRoaXMuc2VydmljZS5EKCksYy5ubSk7CnRoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9Pnt0aGlzLmdhLmRpc3Bvc2UoKTt0aGlzLm9hJiZ0aGlzLnNlcnZpY2UuZGlzcG9zZSgpfSk7Yi5zbGljZSgpLnNvcnQobHJhKX1vKCl7UHNhKHRoaXMuZ2EpfX07dmFyIFIyPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDAsUjIubWVzc2FnZUlkKX19LFR2YT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DYyhiPT5iIGluc3RhbmNlb2YgYSYmIV8uQmMoYikpfShSMik7UjIubWVzc2FnZUlkPSJiZmtqIjt2YXIgaTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIGw1PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LFV2YT1TXyhsNSk7dmFyIGQyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMudj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKTt0aGlzLmo9bmV3IGw1O2lmKCJjaGFsbGVuZ2UiaW4gYSYmVHZhKGEuY2hhbGxlbmdlKSl7dmFyIGI9Sl8oYS5jaGFsbGVuZ2UsNCx2b2lkIDAsXy53eik7dmFyIGM9Sl8oYS5jaGFsbGVuZ2UsNSx2b2lkIDAsXy53eik7Sl8oYS5jaGFsbGVuZ2UsNyx2b2lkIDAsXy53eikmJih0aGlzLmo9VXZhKEpfKGEuY2hhbGxlbmdlLDcsdm9pZCAwLF8ud3opKSl9ZWxzZSh7cHJvZ3JhbTpiLGdsb2JhbE5hbWU6Y309YSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjayhhc3luYygpPT57dmFyIHt1QTpufT1hd2FpdCB0aGlzLm87bj8uKCl9KTt0aGlzLlg9VTEoYS5uZ3x8e30sdGhpcy5qKTtFWih0aGlzLHRoaXMuWCk7dmFyIGQ9bmV3IF8uY3M7dGhpcy5vPWQucHJvbWlzZTt0aGlzLlguaigidCIpO3ZhciBlPXRoaXMuWC5zaGFyZSgpLGY9bmV3IGo1KGUsCiJ0IiksaD0obixwLHIsdCk9PntpZighdGhpcy5YLmlhKCkpe3ZhciB2PSJrIjtwP3Y9ImgiOnImJih2PSJ1Iik7diE9PSJrIj90IT09MCYmKHRoaXMuWC5qKHYpLHRoaXMuWC52KHYsbikpOnRoaXMudjw9MD8odGhpcy5YLmoodiksdGhpcy5YLnYodixuKSx0aGlzLnY9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjIwMCkpOnRoaXMudi0tfX0saz0obixwLHIsdCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57Zi5kb25lKCk7ZS5vKCk7ZS5kaXNwb3NlKCk7ZC5yZXNvbHZlKHt5dTpuLHVBOnAsQXo6cixOdTp0fSl9KX0sbD1bKG4scCk9Pnt0aGlzLlgudihuLHApfSxuPT57dGhpcy5YLkpiKG4pfSxuPT57dGhpcy5YLk0obil9LChuLHApPT57dGhpcy5YLkkobixwKX1dO2lmKCFfLnVbY10pdGhyb3cgdGhpcy5YLkpiKDI1KSxFcnJvcigibmUiKTtpZighXy51W2NdLmEpdGhyb3cgdGhpcy5YLkpiKDI2KSxFcnJvcigib2UiKTt0cnl7bGV0IG49Xy51W2NdLmE7Yz1bXTtsZXQgcD0KW107dmFyIG09ajEodGhpcy5qKTtmb3IobGV0IHY9MDt2PG0ubGVuZ3RoO3YrKyljLnB1c2gobVt2XSkscC5wdXNoKDEpO2xldCByPWxzYSh0aGlzLmopO2ZvcihtPTA7bTxyLmxlbmd0aDttKyspYy5wdXNoKHJbbV0pLHAucHVzaCgyKTtsZXQgW3RdPW4oYixrLCEwLGEuRnMsaCxbYyxwXSxKXyh0aGlzLmosNSksITEsbCk7dGhpcy5CPXQ7dGhpcy5DZz1kLnByb21pc2UudGhlbigoKT0+e30pfWNhdGNoKG4pe3Rocm93IHRoaXMuWC5KYigyOCksbjt9fXNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLlguaigibiIpO3ZhciBiPXRoaXMuWC5zaGFyZSgpO3JldHVybiB0aGlzLm8udGhlbigoe3l1OmN9KT0+bmV3IFByb21pc2UoZD0+e3ZhciBlPW5ldyBqNShiLCJuIik7YyhmPT57ZS5kb25lKCk7Yi5CKGYubGVuZ3RoKTtiLm8oKTtiLmRpc3Bvc2UoKTtkKGYpfSxbYS5LYyxhLllqLGEuSXMsYS54bl0pfSkpfVhyKGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTsKdGhpcy5YLmooIm4iKTt2YXIgYj1SMSh0aGlzLlgsKCk9PnRoaXMuQihbYS5LYyxhLllqLGEuSXMsYS54bl0pLCJuIik7dGhpcy5YLkIoYi5sZW5ndGgpO3RoaXMuWC5vKCk7cmV0dXJuIGJ9SWgoYSl7dGhpcy5vLnRoZW4oKHtBejpifSk9PntiPy4oYSl9KX1CaShhLGIpe3JldHVybiB0aGlzLm8udGhlbigoe051OmN9KT0+Yz8uKGEsYiwhMSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX07dmFyIFYxPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5wcm9taXNlcz17fTt0aGlzLmo9bnVsbH19O3ZhciBsdWE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHEyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMub3B0aW9ucz1hO3RoaXMuST1uZXcgXy5jczt0aGlzLkNnPXRoaXMuSS5wcm9taXNlO3RoaXMuRD1uZXcgXy5jczt0aGlzLlo9MTt0aGlzLnY9bmV3IF8uY3M7dGhpcy5CPVtdO3RoaXMuaXNQYXVzZWQ9ITE7dGhpcy5Haj1hLkdqfHwoKCk9Pnt9KTt0aGlzLlg9bmV3IFF2YShVMShhLm5nfHx7fSkpO2F0YSh0aGlzLGEub2QsYS5zeCxhLkhLLGEuTkssey4uLlZ2YSwuLi4oYS5MZ3x8e30pfSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBidGEodGhpcykpfWFzeW5jIHNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLm98fHRoaXMuTXx8YXdhaXQgdGhpcy5ELnByb21pc2U7aWYodGhpcy5vKXJldHVybiBhd2FpdCB0aGlzLm8uc25hcHNob3QoYSk7dGhyb3cgdGhpcy5NO31wYXVzZSgpe3RoaXMuaWEoKXx8dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9CiEwLHRoaXMuaiYmdGhpcy5qLnBhdXNlKCkpfXJlc3VtZSgpeyF0aGlzLmlhKCkmJnRoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMuaiYmdGhpcy5qLnJlc3VtZSgpKX1hc3luYyBjaGVja0ZvclJlZnJlc2goKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoInBlIik7aWYodGhpcy5qKXt2YXIgYT10aGlzLmo7YS5pc0V4cGlyZWQoKT8oZzIoYSksYS5RaCgwKSxhPSEwKTphPSExO2EmJmF3YWl0IHRoaXMudi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy52LnByb21pc2V9YXN5bmMgVSgpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLmo/Lm8oKTthd2FpdCB0aGlzLnYucHJvbWlzZX1JaChhKXt0aGlzLm8/LkloPy4oYSl9QmkoYSxiKXtyZXR1cm4gdGhpcy5vPy5CaT8uKGEsYik/P1Byb21pc2UucmVzb2x2ZSgpfWhhbmRsZUVycm9yKGEpe3RoaXMuaWEoKXx8KHRoaXMuTT1hLHRoaXMuRC5yZXNvbHZlKCksdGhpcy5vcHRpb25zLkVqPy4oYSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX0sClZ2YT17RnI6NDMyRTUsZWs6M0U1LGxzOjEwLGF2OjFFNCxWdjozRTQscXk6M0U0LG1BOjZFNCxLdjoxRTMsSnY6NkU0LEx2OjZFNSxNdjouMjUsSXY6MixtYXhBdHRlbXB0czoxMH0sYzI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuZW5kVGltZU1zPTA7dGhpcy5qPW51bGw7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnRpY2s9KCk9PntpZighdGhpcy5pc1BhdXNlZCl7dmFyIGQ9dGhpcy5lbmRUaW1lTXMtRGF0ZS5ub3coKTtkPD10aGlzLnY/KHRoaXMuaj1udWxsLHRoaXMuUWgoMCkpOnRoaXMuaj1zZXRUaW1lb3V0KHRoaXMudGljayxNYXRoLm1pbihkLHRoaXMuZWspKX19O3RoaXMuZWs9Yjt0aGlzLnY9Yzt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoZD0+e3RoaXMuUWg9ZH0pO2N0YSh0aGlzLGEpfXBhdXNlKCl7dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9ITAsZzIodGhpcykpfXJlc3VtZSgpe3RoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMudGljaygpKX1vKCl7ZzIodGhpcyk7CnRoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlFoKDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIGR0YT1NYXRoLmltdWw/PygoYSxiKT0+YSpifDApLGoyPVsxOTYsMjAwLDIyNCwxOF0sbTI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPTAsYz1bXSl7dGhpcy5tYXhJdGVtcz1hO3RoaXMuaj1iO3RoaXMubz1jfXNlcmlhbGl6ZSgpe3JldHVybiBTdHJpbmcodGhpcy5qKSsiLCIrdGhpcy5vLmpvaW4oKX1yYihhLGIpe3ZhciBjPXZvaWQgMDtpZih0aGlzLm9bdGhpcy5qXSE9PWEpe2xldCBkPXRoaXMuby5pbmRleE9mKGEpO2QhPT0tMT8odGhpcy5vLnNwbGljZShkLDEpLGQ8dGhpcy5qJiZ0aGlzLmotLSx0aGlzLm8uc3BsaWNlKHRoaXMuaiwwLGEpKTooYz10aGlzLm9bdGhpcy5qXSx0aGlzLm9bdGhpcy5qXT1hKX10aGlzLmo9KHRoaXMuaisxKSV0aGlzLm1heEl0ZW1zO2E9aDIoImlVNXEtIU85QCQiLHRoaXMuc2VyaWFsaXplKCkpO2MmJmEmJmIoYyk7cmV0dXJuIGF9fSxpc2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9Yjt0cnl7dmFyIGM9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmISFnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW19Y2F0Y2goZCl7Yz0hMX1jJiYodGhpcy5pbmRleD1ndGEoYSkpfWooYSxiLGMsZCl7dmFyIGU9dGhpcy5pbmRleD9SMSh0aGlzLlgsKCk9PmV0YSh0aGlzLmluZGV4LGsyKGEpLGIsYyxkKSwiVyIpOiJ1Ijt0aGlzLlguVShlKX1vKGEsYil7dmFyIFtjLGRdPXRoaXMuaW5kZXg/UjEodGhpcy5YLCgpPT5mdGEoazIoYSksYiksIlIiKTpbInUiXTt0aGlzLlguRChjKTtyZXR1cm4gZH19O3ZhciBtNT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLnY9bmV3IF8uY3N9emooYSxiKXt2YXIgYz10aGlzLm9lKGEpO2I/LihjKTtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnNjKGMsMiksdGhpcy5vKX1zbShhLGIsYyl7cmV0dXJuIFIxKHRoaXMuWCwoKT0+Yj90aGlzLnpqKGEsYyk6dGhpcy5vZShhLGMpLHRoaXMuail9fSx1Mj1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjLGQpe3N1cGVyKGEpO3RoaXMuQj1iO3RoaXMuST1jO3RoaXMuaj0ibSI7dGhpcy5vPSJ4Ijt0aGlzLkQ9MDtuMih0aGlzLGQpfW9lKGEsYil7dGhpcy5YLmoodGhpcy5qKTsrK3RoaXMuRD49dGhpcy5JJiZ0aGlzLnYucmVzb2x2ZSgpO3ZhciBjPWEoKTthPVIxKHRoaXMuWCwoKT0+dGhpcy5CKGMpLCJDIik7aWYoYT09PXZvaWQgMCl0aHJvdyBuZXcgaDEoMTcsIllOSjpVbmRlZmluZWQiKTtpZighKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgaDEoMTgsCiJPRE06SW52YWxpZCIpO2I/LihhKTtyZXR1cm4gYX19LGx0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcihhKTt0aGlzLkI9Yjt0aGlzLmo9ImYiO3RoaXMubz0ieiI7bjIodGhpcyxjKX1vZSgpe3JldHVybiB0aGlzLkJ9fSxrdGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYSk7dGhpcy5CPWI7dGhpcy5qPSJ3Ijt0aGlzLm89InoiO24yKHRoaXMsYyl9b2UoKXtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnVjKHRoaXMuQiksImQiKX16aigpe3JldHVybiB0aGlzLkJ9fSxydGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGEpO3RoaXMuZXJyb3I9Yjt0aGlzLmo9ImUiO3RoaXMubz0ieSJ9b2UoKXtpZih0aGlzLkIpcmV0dXJuIHRoaXMuQjt0aGlzLkI9cDIodGhpcyxhPT4iXyIrZXJhKGEpKTtyZXR1cm4gcDIodGhpcyxhPT5hKX19LHF0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSk7CnRoaXMuY2xpZW50U3RhdGU9Yjt0aGlzLmo9IlMiO3RoaXMubz0icSJ9b2UoKXt2YXIgYT1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxiPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sYz1iLmNvbmNhdChbMCx0aGlzLmNsaWVudFN0YXRlXSxbYT4+MjQmMjU1LGE+PjE2JjI1NSxhPj44JjI1NSxhJjI1NV0pO2E9bmV3IFVpbnQ4QXJyYXkoMitjLmxlbmd0aCk7YVswXT0zNDthWzFdPWMubGVuZ3RoO2Euc2V0KGMsMik7Yz1hLnN1YmFycmF5KDIpO2I9Yi5sZW5ndGg7Zm9yKGxldCBkPWI7ZDxjLmxlbmd0aDsrK2QpY1tkXV49Y1tkJWJdO3RoaXMuWC5aKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBhfX07dmFyIFd2YT17V3Y6M0U0LEJBOjJFNH0scnVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMueWc9bmV3IF8uY3M7dGhpcy52PTA7dGhpcy5vPXZvaWQgMDt0aGlzLnN0YXRlPTI7dGhpcy52bT1hLnZtO3RoaXMub2Q9YS5vZDt0aGlzLkxnPXsuLi5XdmEsLi4uKGEuTGd8fHt9KX07dGhpcy5YPWEudm0uVmgoKTt0aGlzLm9uRXJyb3I9YS5vbkVycm9yPz8oKCk9Pnt9KTt0aGlzLlFuPWEuUW58fCExO2lmKFh2YShhKSl7bGV0IGQ9dGhpcy52bTt0aGlzLkI9KCk9PmQuVSgpLmNhdGNoKGU9Pnt0aGlzLm89ZT10aGlzLnJlcG9ydEVycm9yKG5ldyBoMSh0aGlzLmo/MjA6MzIsIlRSRzpEaXNwb3NlZCIsZSkpO3RoaXMuaj8uZGlzcG9zZSgpO3RoaXMuaj12b2lkIDA7dGhpcy55Zy5yZWplY3QoZSl9KTtmMihkLCgpPT52b2lkIHQyKHRoaXMpKTtkLlo9PT0yJiZ0Mih0aGlzKX1lbHNlIHRoaXMuQj1hLmlLLHQyKHRoaXMpO3ZhciBiPXRoaXMuWC5zaGFyZSgpOwpiLmooIm8iKTt2YXIgYz1uZXcgajUoYiwibyIpO3RoaXMueWcucHJvbWlzZS50aGVuKCgpPT57Yy5kb25lKCk7Yi5vKCk7Yi5kaXNwb3NlKCl9LCgpPT52b2lkIGIuZGlzcG9zZSgpKTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5qPyh0aGlzLmouZGlzcG9zZSgpLHRoaXMuaj12b2lkIDApOnRoaXMubz90aGlzLlgubygpOih0aGlzLm89dGhpcy5yZXBvcnRFcnJvcihuZXcgaDEoMzIsIlROUDpEaXNwb3NlZCIpKSx0aGlzLlgubygpLHRoaXMueWcucmVqZWN0KHRoaXMubykpfSk7RVoodGhpcyx0aGlzLlgpfW9lKGEpe3JldHVybiB3Mih0aGlzLHsuLi5hfSwhMSl9emooYSl7cmV0dXJuIHcyKHRoaXMsey4uLmF9LCEwKX1yZXBvcnRFcnJvcihhKXt0aGlzLlguSmIoYS5jb2RlKTt0aGlzLm9uRXJyb3IoYSk7cmV0dXJuIGF9fSxYdmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+e2lmKCEoMCxfLnFyKShiKSlyZXR1cm4hMTtmb3IobGV0IFtjLGRdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2xldCBlPQpjLGY9ZDtpZighKGUgaW4gYikpe2lmKGYuQko9PT0hMCljb250aW51ZTtyZXR1cm4hMX1pZighZihiW2VdKSlyZXR1cm4hMX1yZXR1cm4hMH0pfSh7dm06ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+YiBpbnN0YW5jZW9mIGEpfShxMil9LCIiKTt2YXIgWnZhPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoIW41KXtuNT1uZXcgVDEobmV3IFl2YSk7dmFyIGE9Xy5zaigiY2xpZW50X3N0cmVhbXpfd2ViX2ZsdXNoX2NvdW50IiwtMSk7YSE9PS0xJiYobjUuQj1hKX10aGlzLnY9YT1uNTtNMShhLCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixsMSgidHlwZSIpLGwxKCJzZXF1ZW5jZSIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiKX19O3ZhciBtdWE9U18oY2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0pO3ZhciAkdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIG81PVswLHB2YSwtMV07dmFyIHA1PVswLGh2YSwtMV07dmFyIGF3YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgYndhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1oYXNBdHRyaWJ1dGVzKCl7dmFyIGE9dGhpcy5EYTtyZXR1cm4gXy5NeChhLGFbXy5BY118MCxhd2EsMTkpIT09dm9pZCAwfX07dmFyIGN3YT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+Xy5veihiLGEpfShbMCxjNSwtMSxYNCwkNCxvNSwtMSxXNCxaNCxjNSxwNSwkNCxjNSwtMSxbMCxvNSwtMV0sWjQsWTQscDUsVzQsWzAsMSxaNCwtNCxWNCxbMCxXNCwtMSxaNF0sJDQsVzQsXy55eixbMCxjNSxaNF0sWjQsLTEsYzUsLTIsVzQsLTEsYzUsVzQsYzUsWjQsWzAsMyxaNCwtMSw0LG52YV0sVjQsYjUsWzAsYzUsLTEsJDRdLF8ueHpdLCQ0LG92YSxfLnl6LFswLHA1LF8ueXosWzAsJDQsYzVdLFc0LGM1LC0xXSwxLF8ueXosWzAsWTQsLTEsYjVdLGM1LHA1XSk7ejIucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkIhPTN9O3oyLnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj09PTJ9Owp6Mi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2Zvcig7cDxhLmxlbmd0aDspaWYoeTIoYVtwXSkpcCsrLGYudisrO2Vsc2UgYnJlYWs7cmV0dXJuIHA8bH1mdW5jdGlvbiBjKCl7Zm9yKHZhciB0Ozspe3Q9YVtwKytdO2lmKCF0KWJyZWFrO2YudisrO3N3aXRjaChmLmope2Nhc2UgMDp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6eTIodCl8fEEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDc6Y2FzZSAyOmlmKHkyKHQpKWNvbnRpbnVlO2lmKGYuaj09PTcpaC5wdXNoKDgpO2Vsc2UgaWYodD09PSJ9Iil7ZSgie30iKTtmLmo9ZCgpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDMpO3Q9PT0nIic/Zi5qPTY6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgODpjYXNlIDM6aWYoeTIodCkpY29udGludWU7dD09PSI6Ij8oZi5qPT09MyYmKGgucHVzaCgzKSxmLm8rKyksZi5qPTEpOnQ9PT0ifSI/KGYuby0tLGUoKSxmLmo9ZCgpKTp0PT09IiwiPyhmLmo9PT0zJiZoLnB1c2goMyksCmYuaj03KTpBMihmLGEscCk7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZih5Mih0KSljb250aW51ZTtpZihmLmo9PT00KWlmKGYubysrLGYuaj0xLHQ9PT0iXSIpe2Yuby0tO2lmKGYubz09PTApe2Yuaj01O3JldHVybn1lKCJbXSIpO2Yuaj1kKCk7Y29udGludWV9ZWxzZSBoLnB1c2goNSk7dD09PSciJz9mLmo9Njp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6dD09PSJ0Ij9mLmo9OTp0PT09ImYiP2Yuaj0xMjp0PT09Im4iP2Yuaj0xNjp0IT09Ii0iJiYoIjAxMjM0NTY3ODkiLmluZGV4T2YodCkhPT0tMT9mLmo9MjA6QTIoZixhLHApKTtjb250aW51ZTtjYXNlIDU6aWYodD09PSIsIiloLnB1c2goNSksZi5qPTEsZi5vPT09MSYmKG49cCk7ZWxzZSBpZih0PT09Il0iKXtmLm8tLTtpZihmLm89PT0wKXJldHVybjtlKCk7Zi5qPWQoKX1lbHNlIGlmKHkyKHQpKWNvbnRpbnVlO2Vsc2UgQTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgNjpsZXQgdj1wO2E6Zm9yKDs7KXtmb3IoO2YuSz4wOylpZih0PQphW3ArK10sZi5LPT09ND9mLks9MDpmLksrKywhdClicmVhayBhO2lmKHQ9PT0nIicmJiFmLkQpe2Yuaj1kKCk7YnJlYWt9aWYodD09PSJcXCImJiFmLkQmJihmLkQ9ITAsdD1hW3ArK10sIXQpKWJyZWFrO2lmKGYuRClpZihmLkQ9ITEsdD09PSJ1IiYmKGYuSz0xKSx0PWFbcCsrXSljb250aW51ZTtlbHNlIGJyZWFrO2subGFzdEluZGV4PXA7dD1rLmV4ZWMoYSk7aWYoIXQpe3A9YS5sZW5ndGgrMTticmVha31wPXQuaW5kZXgrMTt0PWFbdC5pbmRleF07aWYoIXQpYnJlYWt9Zi52Kz1wLXY7Y29udGludWU7Y2FzZSA5OmlmKCF0KWNvbnRpbnVlO3Q9PT0iciI/Zi5qPTEwOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDEwOmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTExOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDExOmlmKCF0KWNvbnRpbnVlO3Q9PT0iZSI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxMjppZighdCljb250aW51ZTt0PT09ImEiP2Yuaj0xMzpBMihmLGEsCnApO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIXQpY29udGludWU7dD09PSJsIj9mLmo9MTQ6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIXQpY29udGludWU7dD09PSJzIj9mLmo9MTU6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTU6aWYoIXQpY29udGludWU7dD09PSJlIj9mLmo9ZCgpOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE2OmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTE3OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE3OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPTE4OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE4OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxOTp0PT09Ii4iP2Yuaj0yMDpBMihmLGEscCk7Y29udGludWU7Y2FzZSAyMDppZigiMDEyMzQ1Njc4OS5lRSstIi5pbmRleE9mKHQpIT09LTEpY29udGludWU7ZWxzZSBwLS0sZi52LS0sZi5qPWQoKTtjb250aW51ZTtkZWZhdWx0OkEyKGYsYSxwKX19fQpmdW5jdGlvbiBkKCl7dmFyIHQ9aC5wb3AoKTtyZXR1cm4gdCE9bnVsbD90OjF9ZnVuY3Rpb24gZSh0KXtmLm8+MXx8KHR8fCh0PW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSxwKTphLnN1YnN0cmluZyhuLHApKSxmLlkucHVzaChKU09OLnBhcnNlKHQpKSxuPXApfWZvcih2YXIgZj10aGlzLGg9Zi5VLGs9Zi5aLGw9YS5sZW5ndGgsbT0wLG49LTEscD0wO3A8bDspc3dpdGNoKGYuQil7Y2FzZSAzOnJldHVybiBBMihmLGEscCksbnVsbDtjYXNlIDI6cmV0dXJuIGIoKSYmQTIoZixhLHApLG51bGw7Y2FzZSAwOmlmKGIoKSl7dmFyIHI9YVtwKytdO2YudisrO2lmKHI9PT0iWyIpe2YuQj0xO209cDtmLmo9NDtjb250aW51ZX1lbHNlIEEyKGYsYSxwKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIGMoKSxmLm89PT0wJiZmLmo9PTU/KGYuQj0yLGYuST1hLnN1YnN0cmluZyhwKSk6Zi5JPW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSk6YS5zdWJzdHJpbmcobiksZi5ZLmxlbmd0aD4wPyhyPWYuWSwKZi5ZPVtdLHIpOm51bGx9cmV0dXJuIG51bGx9O3ZhciBtcmE9e0dFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfVU5LTk9XTiIsQUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9GT1JfVEVTVElORyIsa0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fSE9NRV9UVEwiLHdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU1RBUlRfVE9fU0hPUlRTX0FOQUxZU0lTX1NMSUNFIixvRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RFVklDRV9MQVlFUl9TTElDRSIsRkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VTklGSUVEX0xBWUVSX1NMSUNFIixKRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1ZJU0lUT1JfTEFZRVJfU0xJQ0UiLHVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0hPV19TSEVFVF9DT01NQU5EX0hBTkRMRVJfQkxPQ0siLApNRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dJWl9ORVhUX01JR1JBVEVEX0NPTVBPTkVOVCIsTEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XSVpfTkVYVF9DSEFOTkVMX05BTUVfVE9PTFRJUCIscEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVElPTl9MT0NLX1NVUFBPUlRFRCIsekU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9USEVBVEVSX01PREVfRU5BQkxFRCIsU0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9TSE9XX1BJTl9TVUdHRVNUSU9OIixSRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfTE9OR19QUkVTU19FRFVfVE9BU1QiLFFFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfU0hPV19BTUJJRU5UIixBRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RJTUVfV0FUQ0hFRF9QQU5FTCIsCnJFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0VBUkNIX0ZST01fU0VBUkNIX0JBUl9PVkVSTEFZIixURToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfVk9JQ0VfU0VBUkNIX0VEVV9UT0FTVCIseUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVUdHRVNURURfTEFOR1VBR0VfU0VMRUNURUQiLFVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfVFJJR0dFUl9TSE9SVFNfUElQIixKRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lOX1pQX1ZPSUNFX0NSQVNIWV9TRVQiLGdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX1NVUFBSRVNTRUQiLGZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX0FMTE9XRUQiLGlFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9QVUxMX1RPX1JFRlJFU0hfQVRURU1QVCIsCk5FOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfQkxPQ0tfS0FCVUtJIixqRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1JFRUxfVEFMTF9TQ1JFRU4iLGhFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9OT1JNQUxfU0NSRUVOIixoRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9FTkFCTEVEIixnRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9ESVNBQkxFRCIsaUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9BVVRPUExBWV9FTkFCTEVEIixqRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0NBU1RfTUFUQ0hfT0NDVVJSRUQiLHREOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRU1DM0RTX0VMSUdJQkxFIix3RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VORFNDUkVFTl9UUklHR0VSRUQiLApkRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BPU1RQTEFZX1RSSUdHRVJFRCIsY0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9QT1NUUExBWV9MQUNUX1RIUkVTSE9MRF9FWENFRURFRCIsQ0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1NUQVRFX01BVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT04iLEVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hBQkxFX09OX1JFTU9URV9DT05ORUNUSU9OIixERDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfTUlTQVRUUklCVVRFRF9PTl9SRU1PVEVfQ09OTkVDVElPTiIsSEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1RWX0lTX1NJR05FRF9JTl9PTl9SRU1PVEVfQ09OTkVDVElPTiIsREU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9UVl9TVEFSVF9UWVBFX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLApFRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWX1NUQVJUX1RZUEVfTk9OX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLFlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfT05fUkVNT1RFX0NPTk5FQ1RJT04iLG5EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9WQUxJRCIsbEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9DT0JBTFRfUEVSU0lTVEVOVF9TRVRUSU5HU19URVNUX0lOVkFMSUQiLG1EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9VTkRFRklORUQiLGtEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9ERUZJTkVEIixNRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xBQ1RfVEhSRVNIT0xEX0VYQ0VFREVEIiwKcUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1VORF9UUklQX0hBTkRMSU5HX09OX1JFTU9URV9DT05ORUNUSU9OIixHRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfU1dJVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT05fQkVGT1JFX0FQUF9SRUxPQUQiLEZEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hFRF9PTl9SRU1PVEVfQ09OTkVDVElPTl9BRlRFUl9BUFBfUkVMT0FEIix1RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19JTkVMSUdJQkxFIixCRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfTUlEX1JPTExfVEhSRVNIT0xEX1JFQUNIRUQiLHlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfUEVORElORyIsCnhEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfQUNUSVZBVEVEIix2RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19NMl9FTElHSUJMRSIsbkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX0xBTkRTQ0FQRSIsb0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX1BPUlRSQUlUIixzRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQkVEU19GQUNFT0ZGX1VJX0VWRU5UIix6RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VYUF9DT0JBTFRfSFRUUDNfQ09ORklHX1JFQ0VJVkVEIixyRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VMSUdJQkxFX1RPX1NVUFBSRVNTX1RSQU5TUE9SVF9DT05UUk9MU19CVVRUT05TIiwKSEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VU0VSX0hBU19USEVBVEVSX01PREVfQ09PS0lFX0VOQUJMRUQiLHFEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRE9DVU1FTlRfUElDVFVSRV9JTl9QSUNUVVJFX1NVUFBPUlRFRCIsdEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSE9SVFNfTk9OX0RFRkFVTFRfQVNQRUNUX1JBVElPIixiRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BMQVlFUl9JTl9TUVVFRVpFQkFDSyIsTkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9MSVZFX0NSRUFUT1JfQVJfR0lGVF9SRUNFSVZFRCIsbUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVRVUk5FRF9UT19WSURFT19BRlRFUl9GQUlMRURfQVRURU1QVF9UT19CQUNLR1JPVU5EIixPRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX0VOVEVSX0FVVE9fWk9PTSIsClpEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUEFTU0lWRV9JTl9DT05UUk9MIixhRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BBU1NJVkVfSU5fVFJFQVRNRU5UIixwRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RJU0FCTEVfUExBWUVSX09QRU5fT05fRlVMTFNDUkVFTiIsVEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfUkVDT05ORUNUX1dJVEhfUkVUUlkiLHZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0lOR0xFX0NPTFVNTl9HUklEX1RSSUdHRVJFRCIsUEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfQ09OTkVDVElPTl9USU1FT1VUIixPRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xJVkVfR0hPU1RfTE9BRElOR19FTElHSUJMRSIseEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVFJFQU1FRF9HRVRfV0FUQ0hfU1VQUE9SVEVEIiwKS0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XRUJWSUVXX0NPTlRBSU5FUiIsUEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9FTlRFUl9QSVAiLGVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUFJFTUlVTV9MSVRFX1VQU0VMTF9FTElHSUJMRSIsVkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX0JST0FEIixYRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX09GRkxJTkVfUkVDT1ZFUllfVU5QTEFZQUJMRSIsV0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX1NUUklDVCIsS0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JT1NfU0hPUlRfT1JJRU5UQVRJT05fQ0hBTkdFIixDRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfUExBWUVSX0VSUk9SX09WRVJMQVlfVFJJR0dFUkVEIiwKc0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSEFERVJfTElHSFRfRU5BQkxFRCIsSUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUWV9NSVNNQVRDSF9ERVRFQ1RFRCIsbEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fU0hPUlRTX1RSSUdHRVJFRCIsQkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9HUldTX0NVU1RPTV9SRVRSWV9DQUxMRUQiLFNEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfVE9LRU5fTUlTTUFUQ0giLFJEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfUEFZTE9BRF9UT0tFTl9NSVNTSU5HIixRRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX01EWF9NT0JJTEVfVU5MT0NLX0dBVEVfVE9LRU5fTUlTU0lORyIsClVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTVVTSUNfT0ZGTElORV9IT01FX1NNQVJUX0RPV05MT0FEU19QUk9NT19DSEVDSyIsTEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JUEFEX0RFU0tUT1BfTUFUQ0gifTt2YXIgZHdhPW5ldyBfLkkoInN1YnNjcmliZUVuZHBvaW50Iik7dmFyIEIyPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGAke2F9LCBlcnJvckNvZGU9JHtifWApO3RoaXMuZXJyb3JDb2RlPWI7dGhpcy5uYW1lPSJQcm9taXNlQWpheEVycm9yIn19LHR0YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBEMj1jbGFzc3tjb25zdHJ1Y3RvcihhPW51bGwpe3RoaXMudj1hO3RoaXMuaj0wO3RoaXMubz1udWxsfXRoZW4oYSxiLGMpe3JldHVybiB0aGlzLnY/dGhpcy52LnRoZW4oYSxiLGMpOnRoaXMuaj09PTEmJmE/KGE9YS5jYWxsKGMsdGhpcy5vKSkmJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iP2E6RjIoYSk6dGhpcy5qPT09MiYmYj8oYT1iLmNhbGwoYyx0aGlzLm8pKSYmdHlwZW9mIGEudGhlbj09PSJmdW5jdGlvbiI/YTpFMihhKTp0aGlzfWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT0yfX07Xy55ZihEMik7dmFyIE0yPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLm1lc3NhZ2V8fGEuZGVzY3JpcHRpb258fGEubmFtZSk7dGhpcy5pc01pc3Npbmc9YSBpbnN0YW5jZW9mIEsyO3RoaXMuaXNUaW1lb3V0PWEgaW5zdGFuY2VvZiBCMiYmYS5lcnJvckNvZGU9PSJuZXQudGltZW91dCI7dGhpcy5pc0NhbmNlbGVkPWEgaW5zdGFuY2VvZiBfLlBmfX07TTIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpRXJyb3IiO3ZhciBLMj1jbGFzcyBleHRlbmRzIF8uTGF7Y29uc3RydWN0b3IoKXtzdXBlcigiQmlzY290dGkgSUQgaXMgbWlzc2luZyBmcm9tIHNlcnZlciIpfX07SzIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpTWlzc2luZ0Vycm9yIjt2YXIgc3RhPXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHRpbWVvdXQ6NUUzLHdpdGhDcmVkZW50aWFsczohMH0sSDI9bnVsbDt2YXIgV3RhPVsiYXR0L2dldCJdLGV3YT1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLGZ3YT1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0scTU9WyJmZWVkYmFjayJdLGd3YT1bIm5vdGlmaWNhdGlvbi9tb2RpZnlfY2hhbm5lbF9wcmVmZXJlbmNlIl0saHdhPVsiYnJvd3NlL2VkaXRfcGxheWxpc3QiXSxpd2E9WyJzdWJzY3JpcHRpb24vc3Vic2NyaWJlIl0sandhPVsic3Vic2NyaXB0aW9uL3Vuc3Vic2NyaWJlIl07dmFyIHI1PWNsYXNze2ZsdXNoKGE9W10sYj0hMSl7aWYoXy54KCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBjIG9mIGEpYT1yMShjKSx0aGlzLmomJl8uS3coYSwyLHRoaXMuaiksYT17c2VyaWFsaXplZEluY3JlbWVudEJhdGNoOl8uc2MoYS52KCkpfSxfLkVwKCJzdHJlYW16SW5jcmVtZW50ZWQiLGEse3NlbmRJc29sYXRlZFBheWxvYWQ6Yn0pfX0sWXZhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0scXVhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt2YXIgYj1uZXcgRXZhO3ZhciBjPW5ldyBEdmE7Yz1CWihjLDEsImJvdGd1YXJkIik7YT1CWihjLDIsYSk7YT1fLkp3KGEpO0ZfKGIsMSxlNSxhKTthJiYhXy5CYyhhKSYmXy5vdyhiLkRhKTt0aGlzLmo9Yn19O3ZhciBuNSxqND1uZXcgTWFwO3ZhciBBdGE9bnVsbDt2YXIgQ3RhPW5ldyBNYXAoW1siZGFyayIsIlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiXSxbImxpZ2h0IiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiXV0pO3ZhciBYMj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihhKXt0aGlzLmouYmljZihhKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhhKXt0aGlzLmouYmNyKGEpfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuai5ibGMoKX19O3ZhciAkMj1bXSxaMj0oMCxfLll4KWBodHRwczovL3N0YXRpYy5kb3VibGVjbGljay5uZXQvaW5zdHJlYW0vYWRfc3RhdHVzLmpzYCxZMj0hMTt2YXIgczU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9fTtbbmV3IHM1KCJiLmZfIiksbmV3IHM1KCJqLnNfIiksbmV3IHM1KCJyLnNfIiksbmV3IHM1KCJlLmhfIiksbmV3IHM1KCJpLnNfIiksbmV3IHM1KCJzLnRfIiksbmV3IHM1KCJwLmhfIiksbmV3IHM1KCJzLmlfIiksbmV3IHM1KCJmLmlfIiksbmV3IHM1KCJhLmJfIiksbmV3IHM1KCJhLm9fIiksbmV3IHM1KCJnLm9fIiksbmV3IHM1KCJwLmlfIiksbmV3IHM1KCJwLm1fIiksbmV3IHM1KCJuLmtfIiksbmV3IHM1KCJpLmZfIiksbmV3IHM1KCJhLnNfIiksbmV3IHM1KCJtLmNfIiksbmV3IHM1KCJuLmhfIiksbmV3IHM1KCJvLnBfIiksbmV3IHM1KCJtLnBfIiksbmV3IHM1KCJvLmFfIiksbmV3IHM1KCJkLnBfIiksbmV3IHM1KCJlLmlfIildLnJlZHVjZSgoYSxiKT0+e2FbYi5qXT1iO3JldHVybiBhfSx7fSk7dmFyIFA0PWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLm5ldHdvcms9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLks9Yzt0aGlzLnY9MDt0aGlzLmo9bnVsbDt0aGlzLm89bmV3IFp2YTtiLnpzP2IzKHRoaXMsSXRhKHRoaXMpKTpiLnByZWxvYWQmJmIzKHRoaXMsbmV3IFByb21pc2UoZD0+e18uWWooKCk9PntkKGUzKHRoaXMpKX0sMCl9KSl9YXN5bmMgRCgpe3JldHVybiEhYXdhaXQgUHJvbWlzZS5yYWNlKFt0aGlzLmosbnVsbF0pfWFzeW5jIEIoYSxiLGMpe3RoaXMuaj09PW51bGwmJmIzKHRoaXMsZTModGhpcykpO3ZhciBkPSExLGU9e307cmV0dXJuIFByb21pc2UucmFjZShbKGFzeW5jKCk9Pnt0aGlzLm9wdGlvbnMuUUkmJnRoaXMub3B0aW9ucy56cyYmYXdhaXQgKGF3YWl0IEV0YSgpKT8uY2hlY2tGb3JSZWZyZXNoKCk7dmFyIGY9YXdhaXQgdGhpcy5qO2UuY2hhbGxlbmdlPWYuY2hhbGxlbmdlO2lmKGYudm0pe3ZhciBoPXtjOmYuY2hhbGxlbmdlLGU6YSwuLi5ifTt0cnl7ZD0KITA7bGV0IGs7KGs9YXdhaXQgZi52bS5zbmFwc2hvdCh7S2M6aH0pKT9lLndlYlJlc3BvbnNlPWs6ZS5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe2UuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gZi5CZiYmKGUuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO2E9PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmKGY9Zi5CZixoPXt9LGYuYzZhJiYoaC5yZXBvcnRpbmdTdGF0dXM9U3RyaW5nKE51bWJlcihmLmMpXmEzKCkpKSxmLmM2YiYmKGguYnJvYWRTcGVjdHJ1bURldGVjdGlvblJlc3VsdD1TdHJpbmcoTnVtYmVyKGYuYyleTnVtYmVyKF8udygiQ0FUU1RBVCIsMCkpKSksZS5hZGJsb2NrUmVwb3J0aW5nPWgpO3JldHVybiBlfSkoKSxNdGEoYywoKT0+e3ZhciBmPU9iamVjdC5hc3NpZ24oe30sZSk7ZCYmKGYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTsKcmV0dXJuIGZ9KV0pfWFzeW5jIFJmKGEpe3ZhciBiPXRoaXMuSztpZighYnx8Yi5TYigpKXJldHVybiBmMyh0aGlzLGEpO3gwKCJhdHRfcG5hIik7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLmJmKGIsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57ZjModGhpcyxhKS50aGVuKGMpfSl9KX19O3ZhciBnMz17V0VCX1VOUExVR0dFRDoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT05CT0FSRElORzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT1BTOiJedW5wbHVnZ2VkLyIsV0VCX1VOUExVR0dFRF9QVUJMSUM6Il51bnBsdWdnZWQvIixXRUJfQ1JFQVRPUjoiXmNyZWF0b3IvIixXRUJfS0lEUzoiXmtpZHMvIixXRUJfRVhQRVJJTUVOVFM6Il5leHBlcmltZW50cy8iLFdFQl9NVVNJQzoiXm11c2ljLyIsV0VCX1JFTUlYOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebWFpbl9hcHAvfF5zZnYvIn07dmFyIFl1YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1hc3luYyBSZihhKXt4MCgiYXR0X2ZzciIpO2E9YXdhaXQgWXRhKHRoaXMuaixhKTt4MCgiYXR0X2ZyciIpO3JldHVybiBhfX07dmFyIGkzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj0icGVuZGluZyI7dGhpcy5vPVtdO3RoaXMudj1bXTt0cnl7YSh0aGlzLkIuYmluZCh0aGlzKSx0aGlzLnJlamVjdC5iaW5kKHRoaXMpKX1jYXRjaChiKXt0aGlzLnJlamVjdChiKX19c3RhdGUoKXtyZXR1cm4gdGhpcy5pc0Z1bGZpbGxlZCgpP3tzdGF0ZToiZnVsZmlsbGVkIix2YWx1ZTp0aGlzLnJlc3VsdH06dGhpcy5pc1JlamVjdGVkKCk/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fWlzRnVsZmlsbGVkKCl7cmV0dXJuIHRoaXMuaj09PSJmdWxmaWxsZWQifWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT09InJlamVjdGVkIn1pc1BlbmRpbmcoKXtyZXR1cm4gdGhpcy5qPT09InBlbmRpbmcifUIoYSl7KDAsXy5ibykoYSl8fGozKGEpP2wzKGszKGEpLHRoaXMuQi5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLmo9ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9CmEsbjModGhpcykpfXJlamVjdChhKXt0aGlzLmo9InJlamVjdGVkIjt0aGlzLmVycm9yPWE7bjModGhpcyl9fSxqMz1fLkNjKGE9PigwLF8ucXIpKGEpP2EgaW5zdGFuY2VvZiBpMzohMSk7dmFyIHQ1PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXJ1bihhLGIpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7dmFyIGM9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBkPWEsZT1iLGY9W107Oyl7Zi5wdXNoKFN0cmluZyhkKSk7ZT15aWVsZCpwMyhjLmpbZF0uZXhlY3V0ZShlKSk7aWYoZS5uZXh0U3RhdGU9PT0iRE9ORSIpcmV0dXJuIGYucHVzaCgiRE9ORSIpLGUudmFsdWU7aWYoZS5uZXh0U3RhdGU9PT0iRkFJTEVEIil0aHJvdyBmLnB1c2goYEZBSUxFRCgke2UuZXJyb3IubWVzc2FnZXx8ImVycm9yIn0pYCksZS5lcnJvcjtkPWUubmV4dFN0YXRlO2U9ZS5wYXJhbXN9fSgpfSl9fTt2YXIgdTU9Y2xhc3N7fTt2YXIgdTM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e307aWYodGhpcy5vPV8ucXooKSl7bGV0IGE9Xy5Mai5nZXQoIkNPTlNJU1RFTkNZIix2b2lkIDApO2EmJnIzKHRoaXMse2VuY3J5cHRlZFRva2VuSmFyQ29udGVudHM6YX0pfX1oYW5kbGVSZXNwb25zZShhLGIpe2lmKCFiKXRocm93IEVycm9yKCJLZSIpO2I9Yi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ/LnJlcXVlc3Q/LmNvbnNpc3RlbmN5VG9rZW5KYXJzfHxbXTsoYT1hLnJlc3BvbnNlQ29udGV4dD8uY29uc2lzdGVuY3lUb2tlbkphcikmJnRoaXMucmVwbGFjZShiLGEpfXJlcGxhY2UoYSxiKXtmb3IobGV0IGMgb2YgYSlkZWxldGUgdGhpcy5qW2MuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50c107cjModGhpcyxiKX19O3ZhciBrd2E9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIikuc2xpY2UoLTIpLmpvaW4oIi4iKSx2Mz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMudj0tMTt2YXIgYT1fLncoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1IiYmKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmKGE9dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIpKTthJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49YSx0aGlzLm89dGhpcy5qPXZvaWQgMCl9c3RhdGljIGpjKCl7djU9Xy5zYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIik7djV8fCh2NT1uZXcgdjMsXy5yYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIix2NSkpO3JldHVybiB2NX1zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChhKXthLmNsaWVudHx8KGEuY2xpZW50PQp7fSk7aWYodGhpcy5qKWEuY2xpZW50LmxvY2F0aW9uSW5mb3x8KGEuY2xpZW50LmxvY2F0aW9uSW5mbz17fSksYS5jbGllbnQubG9jYXRpb25JbmZvLmxhdGl0dWRlRTc9TWF0aC5mbG9vcih0aGlzLmouY29vcmRzLmxhdGl0dWRlKjFFNyksYS5jbGllbnQubG9jYXRpb25JbmZvLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5qLmNvb3Jkcy5sb25naXR1ZGUqMUU3KSxhLmNsaWVudC5sb2NhdGlvbkluZm8uaG9yaXpvbnRhbEFjY3VyYWN5TWV0ZXJzPU1hdGgucm91bmQodGhpcy5qLmNvb3Jkcy5hY2N1cmFjeSksYS5jbGllbnQubG9jYXRpb25JbmZvLmZvcmNlTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuUmVmcmVzaD0hMDtlbHNlIGlmKHRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4pYS5jbGllbnQubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPXRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW59Z2V0WEdlb0hlYWRlcigpe2lmKHRoaXMubyl7dmFyIGE9CnRoaXMubzt2YXIgYj1NYXRoLmZsb29yKGEuY29vcmRzLmxvbmdpdHVkZSoxRTcpO3ZhciBjPU1hdGguZmxvb3IoYS5jb29yZHMubGF0aXR1ZGUqMUU3KTt2YXIgZD1uZXcgJHZhO2M9Xy5xdyhkLDEsXy5QdyhjKSk7Yj1fLnF3KGMsMixfLlB3KGIpKTtjPW5ldyBid2E7Yz1DWihjLDEsMSk7Yz1DWihjLDIsMTIpO2M9Q1ooYyw5LDgpO2M9Xy5xdyhjLDMseV8oYS50aW1lc3RhbXAqMUUzKSk7YT1fLnF3KGMsNyxwXyhhLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTthPUNaKGEsMjUsMik7YT1fLkt3KGEsNSxiKTthPWB3ICR7Xy5zYyhjd2EoYSksNCl9YH1lbHNlIGE9bnVsbDtyZXR1cm4gYX1oYW5kbGVSZXNwb25zZShhKXthPWEucmVzcG9uc2VDb250ZXh0Py5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW47YSE9PXZvaWQgMCYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPWEsdGhpcy5vPXRoaXMuaj12b2lkIDAsXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8KKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsYSwxNTU1MkUzKTpfLk1qKCJZVF9DTCIsSlNPTi5zdHJpbmdpZnkoe2xvY3RvazphfSksMTU1NTJFMyxrd2EsITApKX1jbGVhckxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbihhKXthPT09IlRWSFRNTDUiPyh0aGlzLmxvY2FsU3RvcmFnZT1zMyh0aGlzKSkmJnRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZSgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKTpfLk5qKCJZVF9DTCIpO3RoaXMuQj12b2lkIDA7dGhpcy52IT09LTEmJihjbGVhclRpbWVvdXQodGhpcy52KSx0aGlzLnY9LTEpfWNsZWFyQ3VycmVudFBvc2l0aW9uKCl7dGhpcy5vPXRoaXMuaj12b2lkIDB9Z2V0Q3VycmVudFBvc2l0aW9uRnJvbUdlb2xvY2F0aW9uKGEpe2lmKCEobmF2aWdhdG9yJiZuYXZpZ2F0b3IuZ2VvbG9jYXRpb24mJm5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24pKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiTGUiKSk7CnZhciBiPSExLGM9MUU0O18udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihiPSEwLGM9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChkLGUpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmPT57dGhpcy5vPWE/LmFkZFRvSGVhZGVycz9mOnZvaWQgMDt0aGlzLmo9ZjtkKGYpfSxmPT57ZShmKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpiLG1heGltdW1BZ2U6MCx0aW1lb3V0OmN9KX0pfWNyZWF0ZVVucGx1Z2dlZExvY2F0aW9uSW5mbyhhKXt2YXIgYj17fTthPWEuY29vcmRzO2E/LmxhdGl0dWRlJiYoYi5sYXRpdHVkZUU3PU1hdGguZmxvb3IoYS5sYXRpdHVkZSoxRTcpKTthPy5sb25naXR1ZGUmJihiLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IoYS5sb25naXR1ZGUqMUU3KSk7YT8uYWNjdXJhY3kmJihiLmxvY2F0aW9uUmFkaXVzTWV0ZXJzPU1hdGgucm91bmQoYS5hY2N1cmFjeSkpO3JldHVybiBifWNyZWF0ZUxvY2F0aW9uSW5mbyhhKXt2YXIgYj0Ke307YT1hLmNvb3JkczthPy5sYXRpdHVkZSYmKGIubGF0aXR1ZGVFNz1NYXRoLmZsb29yKGEubGF0aXR1ZGUqMUU3KSk7YT8ubG9uZ2l0dWRlJiYoYi5sb25naXR1ZGVFNz1NYXRoLmZsb29yKGEubG9uZ2l0dWRlKjFFNykpO3JldHVybiBifX0sdjU7dmFyIEYzPSJ0b2tlbnMgY29uc2lzdGVuY3kgc2VydmljZV9wYXJhbXMgbXNzIGNsaWVudF9sb2NhdGlvbiBlbnRpdGllcyBhZGJsb2NrX2RldGVjdGlvbiByZXNwb25zZV9yZWNlaXZlZF9jb21tYW5kcyBzdG9yZSBtYW5pZmVzdCBwbGF5ZXJfcHJlbG9hZCBzaG9ydHNfcHJlZmV0Y2ggcmVzb2x2ZV91cmxfcHJlZmV0Y2giLnNwbGl0KCIgIik7dmFyIGx3YT1jbGFzc3tEKGEsYj17fSxjPUEzKXt2YXIgZD17Y29udGV4dDp3MyhhLmNsaWNrVHJhY2tpbmdQYXJhbXMsITEsdGhpcy5CKX07dmFyIGU9dGhpcy5vKGEpO2lmKGUpe3RoaXMuaihkLGUsYik7ZT1gL3lvdXR1YmVpL3YxLyR7aDModGhpcy52KCkpfWA7dmFyIGY9Xy5CKGEuY29tbWFuZE1ldGFkYXRhLF8uencpPy5hcGlVcmw7ZiYmKGU9Zik7ZT1YMChZMChlKSk7Zj17Y29tbWFuZDphLC4uLih2b2lkIDApfTtkPXtpbnB1dDplLHdiOlowKGUpLGlubmVyVHViZVJlcXVlc3Q6ZCxjb25maWc6Zn07ZC5jb25maWcuUmQ/ZC5jb25maWcuUmQuaWRlbnRpdHk9YzpkLmNvbmZpZy5SZD17aWRlbnRpdHk6Y307KGE9dGhpcy5LKGEpKSYmIWQuY29uZmlnLnJlcXVlc3RLZXkmJihkLmNvbmZpZy5yZXF1ZXN0S2V5PWEpO2IuYWJvcnRTaWduYWwmJihkLndiLnNpZ25hbD1iLmFib3J0U2lnbmFsKTtyZXR1cm4gZH1iPW5ldyBfLlhqKCJFcnJvcjogRmFpbGVkIHRvIGNyZWF0ZSBSZXF1ZXN0IGZyb20gQ29tbWFuZC4iLAphKTtfLkdwKGIpfWdldCBCKCl7cmV0dXJuITF9Sygpe319LHc1PWNsYXNzIGV4dGVuZHMgbHdhe0soYSl7cmV0dXJuIF8uQihhLmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucmVxdWVzdEtleT8/dm9pZCAwfX07dmFyIG13YT17R0VUX0RBVEFTWU5DX0lEUzp5MyhjbGFzcyBleHRlbmRzIHc1e0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50Iix3YjpaMCgiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX12KCl7cmV0dXJuW119bygpe31qKCl7fX0pfTt2YXIgVTM9bmV3IF8uVnMoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLEIzPW5ldyBfLlZzKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLEozPW5ldyBfLlZzKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBhdWE9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLHozPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMudj1hO3RoaXMuU2E9Yjt0aGlzLm89Yzt0aGlzLkI9ZDt0aGlzLmo9bmV3IE1hcDthLkhkfHwoYS5IZD17fSk7YS5IZD17Li4ubXdhLC4uLmEuSGR9fVFpKGEsYil7dmFyIGM9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGMpcmV0dXJuIG0zKGV1YShjLHtjb21tYW5kOmEsZm9ybTpiLGlkZW50aXR5OkEzfSkpLnRoZW4oZT0+ZSwoKT0+e30pO3ZhciBkPVp0YSh0aGlzLAphKTtyZXR1cm4gZD9uZXcgXy5CZihhc3luYyhlLGYpPT57dmFyIGg9KGF3YWl0IGQpLkQoYSxiLEEzKTtoPyhQMihoLmlucHV0KSxmPWgud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMCxmPXRoaXMuby56bj9DMyhoLmNvbmZpZyxmKTphd2FpdCBEMyhoLmNvbmZpZyxmKSxlKEUzKHRoaXMsaCxmKSkpOmYobmV3IF8uWGooIkVycm9yOiBGYWlsZWQgdG8gYnVpbGQgcmVxdWVzdCBmb3IgY29tbWFuZCIsYSkpfSk6Xy5PdChuZXcgXy5YaigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZCIsYSkpfUp3KGEpe3JldHVybiBVdGEoYSx0aGlzLnYpfX07dmFyIHg1PW5ldyBfLlZzKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIHU0PW5ldyBfLlZzKCJFTkRQT0lOVF9NQVAiKTt2YXIgdDQ9bmV3IF8uVnMoIkFVVEhfU0VSVklDRV9UT0tFTiIpO3ZhciBLMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBjPWEueXRSZXF1ZXN0O1AyKGMuaW5wdXQpO3ZhciBkPWMud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMDtpZihiLmouem4pe2xldCBlPV8uUGooe3Nlc3Npb25JbmRleDpjLmNvbmZpZz8uUmQ/LnNlc3Npb25JbmRleH0pO2Q9ey4uLngzKGQpLC4uLmV9fWVsc2UgZD15aWVsZCpwMyhjdWEoYixjLmNvbmZpZyxkKSk7Yy53Yj17Li4uYy53YixoZWFkZXJzOnsuLi4oYy53Yj8uaGVhZGVycz8/e30pLC4uLmR9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczphfX0oKX0pfX07SzNbXy5Mbl09W3Q0XTt2YXIgJDM9bmV3IF8uVnMoIlJFU1BPTlNFX01BQ0hJTkVfUkVHSVNUUllfVE9LRU4iKSxhND1uZXcgXy5WcygiUkVTUE9OU0VfTUFDSElORV9GQUNUT1JZX1RPS0VOIik7dmFyIEwzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuaj1hO3RoaXMubz1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBkPWEueXRSZXF1ZXN0LGU9ZC5jb25maWc/LktBPy5aSztpZihlJiZiJiZiLmhhcyhlKSYmIWQuY29uZmlnPy5LQT8uZGlzYWJsZUNhY2hlKXt2YXIgZj15aWVsZCpwMyhrMyhiLmdldChlKSkpO2lmKGYmJiFmLmlzRXhwaXJlZCgpKXJldHVybiBkPWYuaigpLF8ueCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFmLmlzUHJvY2Vzc2VkKCk/KGY9YygpLGQ9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOmQseXRSZXF1ZXN0OmEueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6YS5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmR9KSksCnlpZWxkKnAzKGszKGIuaihlKSkpLHtuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmR9KTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpkfX1yZXR1cm57bmV4dFN0YXRlOiJMT0NBTF9ST1VURVIiLHBhcmFtczphfX0oKX0pfX07TDNbXy5Mbl09W2E0LF8uSW4obmV3IF8uVnMoIkVQSEVNRVJBTF9TVE9SRV9UT0tFTiIpKV07dmFyIE0zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qLGQ9YS55dFJlcXVlc3QsZT1kPy5pbm5lclR1YmVSZXF1ZXN0Py5jb250ZXh0O2lmKCFlKXJldHVybiBrMyh7bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6YX0pO3ZhciBmPVtdO2lmKGMmJmMubGVuZ3RoPjApZm9yKGxldCBoIG9mIGMpYz1oLkJyKGQpLGMudiYmZi5wdXNoKGMudik7Zm9yKGxldCBoIG9mIGJ8fFtdKWguQnIoZSk7cmV0dXJuIGYubGVuZ3RoPjA/bzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt5aWVsZCpwMyhrMyhQcm9taXNlLmFsbChmKSkpO3JldHVybntuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfX0oKX0pOmszKHtuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfSl9fTtNM1tfLkxuXT1bXy5JbihuZXcgXy5WcygiQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpLF8uSW4obmV3IF8uVnMoIkFTWU5DX0NPTlRFWFRfUFJPQ0VTU09SX01BUCIpKV07dmFyIE4zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLnl0UmVxdWVzdC5jb25maWc/LnJlcXVlc3RLZXk7cmV0dXJuIGMmJmIuaGFzKGMpJiYoYz1iLmdldChjKSxjPXlpZWxkKnAzKGszKGMpKSk/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Y306e25leHRTdGF0ZToiRkVUQ0giLHBhcmFtczphfX0oKX0pfX07TjNbXy5Mbl09W0ozXTt2YXIgTzM9Y2xhc3MgZXh0ZW5kcyB1NXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5vPWE7dGhpcy5qPWJ9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLmosYz10aGlzLm87cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9YS55dFJlcXVlc3QsZT1hLmNodW5rQ2FsbGJhY2ssZj17dHlwZToiUEFHRV9DT05UUkFDVCJ9O2lmKGI/LmNJKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KSl7bGV0IGs9eWllbGQqcDMoazMoYi5PSihkLmlucHV0LGQuaW5uZXJUdWJlUmVxdWVzdCkpKTtpZihrKXtsZXQgbD0hMTt2YXIgaD1mdW5jdGlvbihtLG4pe3JldHVybiBmdW5jdGlvbiooKXt2YXIgcD1jKCk7eWllbGQqcDMoSDMocCx7d2lyZVJlc3BvbnNlOm4seXRSZXF1ZXN0OmQsY2h1bmtDYWxsYmFjazplLHJlc3BvbnNlUGF5bG9hZDpmfSkpO2w9ITB9KCl9O2sucGxheWVyUmVzcG9uc2UmJih5aWVsZCpoKGsucGxheWVyUmVzcG9uc2Use3BsYXllclJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2V9KSk7Cmsud2F0Y2hOZXh0UmVzcG9uc2UmJih5aWVsZCpoKGsud2F0Y2hOZXh0UmVzcG9uc2Use3dhdGNoTmV4dFJlc3BvbnNlOmsud2F0Y2hOZXh0UmVzcG9uc2V9KSk7bHx8KGg9YygpLHlpZWxkKnAzKEgzKGgse3dpcmVSZXNwb25zZTprLHl0UmVxdWVzdDpkLGNodW5rQ2FsbGJhY2s6ZSxyZXNwb25zZVBheWxvYWQ6Zn0pKSk7aWYoZSlyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTpmfTtoPWYuY29udGVudHx8Zi5wbGF5ZXJ8fGYuZG47cmV0dXJuIGYudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmaD97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpofTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTprfX19cmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiTmUiKX19KCl9KX19O08zW18uTG5dPVthNCxfLkluKHg1KV07dmFyIHk1PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYix7c3RhdHVzOmMsLi4uW119KTt0aGlzLnR5cGU9YTt0aGlzLnN0YXR1cz1jO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciByND1uZXcgXy5WcygiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFAzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiLGMsZCl7c3VwZXIoKTt0aGlzLlNhPWE7dGhpcy5qPWI7dGhpcy52PWM7dGhpcy5vPWR9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLlNhLGM9dGhpcy5qLGQ9dGhpcy52LGU9dGhpcy5vO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBmPWEueXRSZXF1ZXN0LGg9YS5jaHVua0NhbGxiYWNrLGs9Zi5jb25maWc/LnJlcXVlc3RLZXksbD1KU09OLnN0cmluZ2lmeShmLmlubmVyVHViZVJlcXVlc3QpLG09ey4uLmYud2IsYm9keTpmLndiLm1ldGhvZD09PSJQT1NUIj9sOnZvaWQgMH07Zi5jb25maWc/LmtuJiZfLkFxKGYuY29uZmlnLmtuKTt2YXIgbj17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHA9MCxyPXo9PntJMyhkKCkse3dpcmVSZXNwb25zZTp6LHl0UmVxdWVzdDpmLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6bn0scCsrKX07bD0oKT0+aD9iLmZldGNoKGYuaW5wdXQsCm0sZi5jb25maWcscik6Yi5mZXRjaChmLmlucHV0LG0sZi5jb25maWcpO3RyeXt2YXIgdD1lP2UuSksoZixsKTpsKCl9Y2F0Y2goeil7dD1Qcm9taXNlLnJlamVjdCh6KX1rJiZjJiZjLnNldChrLHQpO3RyeXt2YXIgdj15aWVsZCpwMyhrMyh0KSl9Y2F0Y2goeil7cmV0dXJuIF8ueCgid2ViX2VuYWJsZV9yZXRyaWVzIikmJih2PXogaW5zdGFuY2VvZiBUeXBlRXJyb3ImJnoubWVzc2FnZT09PSJGYWlsZWQgdG8gZmV0Y2giPzE6MCxHMyh2KSk/e25leHRTdGF0ZToiUkVUUlkiLHBhcmFtczp7Li4uYSxlcnJvcjpuZXcgeTUodix6Lm1lc3NhZ2UpLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fX1rJiZjJiZjLmRlbGV0ZShrKTt3MCh2MChmLmlucHV0KSkoKTtmLmNvbmZpZz8ucG4mJl8uQXEoZi5jb25maWcucG4pO2lmKCF2KXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fTtpZih2JiZ0eXBlb2Ygdj09PQoib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkodikmJihrPXYsay5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJihrPWsuZXJyb3JNZXRhZGF0YS5zdGF0dXMsdD1rPT09NTAzfHxrPT09NTA0fHxrPT09NDI5PzI6az49NDAwJiZrPDUwMHx8az49NTAwPzM6MCxHMyh0KSYmXy54KCJ3ZWJfZW5hYmxlX3JldHJpZXMiKSkpKXJldHVybntuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLmEsZXJyb3I6bmV3IHk1KHQsYEhUVFAgU3RhdHVzICR7a31gLGspLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OyFoJiZ2JiYoaz1kKCksaz15aWVsZCpwMyhJMyhrLHt3aXJlUmVzcG9uc2U6dix5dFJlcXVlc3Q6ZixyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifX0pKSx0PWsuY29udGVudHx8ay5wbGF5ZXJ8fGsuZG4say50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZ0JiYodj10KSk7az12O2lmKEFycmF5LmlzQXJyYXkodikpaWYodj12LmZpbHRlcih6PT4hKHoucGxheWVyUmVzcG9uc2V8fAp6LndhdGNoTmV4dFJlc3BvbnNlfHx6KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLHYubGVuZ3RoPT09MSlrPXZbMF07ZWxzZSBpZih2Lmxlbmd0aD4xKWs9di5maW5kKHo9Pnoud2F0Y2hOZXh0UmVzcG9uc2UpfHx2WzBdO2Vsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiT2UiKX07cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aCYmIV8ueCgid2ViX25tX2ZldGNoX2NodW5rX2NhbGxiYWNrX2tzIik/bjprfX0oKX0pfX07UDNbXy5Mbl09W3I0LEozLGE0LF8uSW4obmV3IF8uVnMoIlJFUVVFU1RfU0VRVUVOQ0lORyIpKV07dmFyIFEzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5qLGM9dGhpcy5vLGQ9YS55dFJlcXVlc3Q7cmV0dXJuIGI/LlBLKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KT9vMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBlPXlpZWxkKnAzKGszKGIuUEooZC5pbnB1dCxkLmlubmVyVHViZVJlcXVlc3QpKSksZj1jKCk7aWYoZS5wbGF5ZXJSZXNwb25zZSYmZS53YXRjaE5leHRSZXNwb25zZSl7dmFyIGg9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTplLnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZS5wbGF5ZXJSZXNwb25zZX0pKTtoPXlpZWxkKnAzKEgzKGYsCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOmUud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDphLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTplLndhdGNoTmV4dFJlc3BvbnNlfSkpfWVsc2UgaD15aWVsZCpwMyhIMyhmLHt3aXJlUmVzcG9uc2U6ZSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZX0pKTtmPWguY29udGVudHx8aC5wbGF5ZXJ8fGguZG47aC50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZmJiYoZT1mKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTplfX0oKX0pOmszKHtuZXh0U3RhdGU6IkNPTlRFWFQiLHBhcmFtczphfSl9fTtRM1tfLkxuXT1bYTQsXy5Jbih4NSldO3ZhciBSMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3RyeXt2YXIgYz15aWVsZCpwMyhkdWEoYixhLmNvbW1hbmQsISFhLmNodW5rQ2FsbGJhY2spKX1jYXRjaChkKXtyZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOmR9fXJldHVybihjPWMuRChhLmNvbW1hbmQsYS5mb3JtLGEuaWRlbnRpdHkpKT97bmV4dFN0YXRlOiJDQUNIRSIscGFyYW1zOnt5dFJlcXVlc3Q6YyxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFja319OntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIlBlIil9fSgpfSl9fTtSM1tfLkxuXT1bdTRdO3ZhciBTMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6ZCxjb25maWc6ZT17UmQ6e2lkZW50aXR5OkEzfX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTpmPSEwLGNodW5rQ2FsbGJhY2s6aH09YTtiLmNvbnRleHR8fChiLmNvbnRleHQ9dzMoZCxmKSk7dmFyIGs9WDAoWTAoYykpO3JldHVybntuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDp7aW5wdXQ6ayx3YjpaMChrKSxpbm5lclR1YmVSZXF1ZXN0OmIsY29uZmlnOmV9LGNodW5rQ2FsbGJhY2s6aH19fSgpfSl9fTt2YXIgVjM9Y2xhc3MgZXh0ZW5kcyB0NXt9O1YzW18uTG5dPVtVM107dmFyIFQzPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLnl0UmVxdWVzdCxjPWEuZXJyb3IsZD1hLmF0dGVtcHQsZT1hLmNodW5rQ2FsbGJhY2ssZj1iLmNvbmZpZz8uREs7aWYoIShmJiZjIGluc3RhbmNlb2YgeTUmJkczKGMudHlwZSkpfHxkPihmLm1heFJldHJpZXM/PzApKXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZX19O3ZhciBoPShjPWYuWEgpP2MuY0ooZCk6LTE7aD09PS0xJiYoaD0xRTMpO2YuQ3khPT12b2lkIDAmJihoPU1hdGgubWluKGgsZi5DeSkpO3lpZWxkKnAzKGszKG5ldyBQcm9taXNlKGs9PntfLk50KGssaCl9KSkpO3JldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZSxhdHRlbXB0OmR9fX0oKX0pfX07dmFyIFczPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLmNodW5rQ2FsbGJhY2ssYz1hLnJlc3BvbnNlUGF5bG9hZCxkPWEud2lyZVJlc3BvbnNlO2ImJihiKGMpLCJwbGF5ZXJSZXNwb25zZSJpbiBkJiZkLnBsYXllclJlc3BvbnNlJiYoXy5DaygpLChiPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpKSYmYig0KSkpO3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmN9fSgpfSl9fTt2YXIgbndhPVsidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5Ccm93c2VSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGxheWVyUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBhbmVsUmVzcG9uc2UiXSxYMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGI9YS5vbmVQbGF0Zm9ybUVycm9yO2lmKGImJiJkZXRhaWxzImluIGImJmIuZGV0YWlscyl7Yj1iLmRldGFpbHM7Zm9yKGxldCBjIG9mIGIpaWYoKGI9Y1siQHR5cGUiXSkmJm53YS5pbmRleE9mKGIpPi0xKXJldHVybiBkZWxldGUgY1siQHR5cGUiXSx7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIiwKcGFyYW1zOnsuLi5hLGV4dHJhY3RlZFJlc3BvbnNlOmN9fX1yZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOkVycm9yKCJTZSIpfX0oKX0pfX07dmFyIFkzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLmV4dHJhY3RlZFJlc3BvbnNlLGQ9YS55dFJlcXVlc3QsZT1hLnJlc3BvbnNlUGF5bG9hZCxmPWEud2lyZVJlc3BvbnNlO2lmKGMmJiEoImNvZGUiaW4gY3x8ImVycm9yImluIGMpJiYhYy5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2YgRjMpYltoXSYmYltoXS5oYW5kbGVSZXNwb25zZShjLGQpO2Yud2F0Y2hOZXh0UmVzcG9uc2V8fGYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2Yud2F0Y2hOZXh0UmVzcG9uc2U/ZS5jb250ZW50PWYud2F0Y2hOZXh0UmVzcG9uc2U6ZS5jb250ZW50PWYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmYucGxheWVyUmVzcG9uc2U/ZS5wbGF5ZXI9Zi5wbGF5ZXJSZXNwb25zZTpmLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CmUuZG49Zi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmUuY29udGVudD1mO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczphfX0oKX0pfX07WTNbXy5Mbl09W18uSnldO3ZhciBiND1jbGFzcyBleHRlbmRzIHQ1e307YjRbXy5Mbl09WyQzXTt2YXIgWjM9Y2xhc3MgZXh0ZW5kcyB1NXtleGVjdXRlKGEpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPWEud2lyZVJlc3BvbnNlLGM7QXJyYXkuaXNBcnJheShiKT9jPWJbMF06dHlwZW9mIGI9PT0ib2JqZWN0IiYmYiE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gYnx8IndhdGNoTmV4dFJlc3BvbnNlImluIGJ8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gYnx8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gYik/Yz1iLnBsYXllclJlc3BvbnNlfHxiLndhdGNoTmV4dFJlc3BvbnNlfHxiLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Yi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmM9YjtyZXR1cm4gYyYmImVycm9yImluIGM/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4uYSxvbmVQbGF0Zm9ybUVycm9yOmMuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLmEsZXh0cmFjdGVkUmVzcG9uc2U6Y319fSgpfSl9fTt2YXIgb3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBpd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxkd2EpfHx2b2lkIDB9aihhLGIsYz17fSl7Yi5jaGFubmVsSWRzJiYoYS5jaGFubmVsSWRzPWIuY2hhbm5lbElkcyk7Yi5zaWxvTmFtZSYmKGEuc2lsb05hbWU9Yi5zaWxvTmFtZSk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yy5ib3RndWFyZFJlc3BvbnNlJiYoYS5ib3RndWFyZFJlc3BvbnNlPWMuYm90Z3VhcmRSZXNwb25zZSk7Yy5mZWF0dXJlJiYoYS5jbGllbnRGZWF0dXJlPWMuZmVhdHVyZSl9fTt2YXIgcHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBqd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLkR5KXx8dm9pZCAwfWooYSxiKXtiLmNoYW5uZWxJZHMmJihhLmNoYW5uZWxJZHM9Yi5jaGFubmVsSWRzKTtiLnNpbG9OYW1lJiYoYS5zaWxvTmFtZT1iLnNpbG9OYW1lKTtiLnBhcmFtcyYmKGEucGFyYW1zPWIucGFyYW1zKX19O3ZhciB6NT1jbGFzcyBleHRlbmRzIHc1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5JPWF9digpe3JldHVybiBld2F9byhhKXtyZXR1cm4gXy5CKGEsXy5aeil8fF8uQihhLF8uTWFhKXx8Xy5CKGEsXy5Zeil9aihhLGIpe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtiLmNsaWVudFBhcmFtSWRlbnRpZmllciYmdGhpcy5JPy5qKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKGEuY2xpZW50UGFyYW1zPXRoaXMuSS5vKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSl9fTt6NVtfLkxuXT1bbmV3IF8uVnMoIlNIQVJFX0NMSUVOVF9QQVJBTVNfUFJPVklERVJfVE9LRU4iKV07dmFyIHF3YT1jbGFzcyBleHRlbmRzIHc1e3YoKXtyZXR1cm4gcTV9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLlV6KXx8dm9pZCAwfWooYSxiLGMpe2EuZmVlZGJhY2tUb2tlbnM9W107Yi5mZWVkYmFja1Rva2VuJiZhLmZlZWRiYWNrVG9rZW5zLnB1c2goYi5mZWVkYmFja1Rva2VuKTtpZihiPWIuY3BufHxjLmNwbilhLmZlZWRiYWNrQ29udGV4dD17Y3BuOmJ9O2EuaXNGZWVkYmFja1Rva2VuVW5lbmNyeXB0ZWQ9ISFjLmlzX2ZlZWRiYWNrX3Rva2VuX3VuZW5jcnlwdGVkO2Euc2hvdWxkTWVyZ2U9ITE7Yy5leHRyYV9mZWVkYmFja190b2tlbnMmJihhLnNob3VsZE1lcmdlPSEwLGEuZmVlZGJhY2tUb2tlbnM9YS5mZWVkYmFja1Rva2Vucy5jb25jYXQoYy5leHRyYV9mZWVkYmFja190b2tlbnMpKX19O3ZhciByd2E9Y2xhc3MgZXh0ZW5kcyB3NXt2KCl7cmV0dXJuIHE1fW8oYSl7cmV0dXJuIF8uQihhLF8uQ3kpfWdldCBCKCl7cmV0dXJuITB9aihhLGIpe2IudW5kb1Rva2VuJiYoYS5mZWVkYmFja1Rva2Vucz1bYi51bmRvVG9rZW5dKTtiLmlzVW5kb1Rva2VuVW5lbmNyeXB0ZWQmJihhLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPWIuaXNVbmRvVG9rZW5VbmVuY3J5cHRlZCl9fTt2YXIgc3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBnd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5CeSl8fHZvaWQgMH1qKGEsYil7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5zZWNvbmRhcnlQYXJhbXMmJihhLnNlY29uZGFyeVBhcmFtcz1iLnNlY29uZGFyeVBhcmFtcyl9fTt2YXIgdHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBod2F9byhhKXtyZXR1cm4gXy5CKGEsXy5Beil8fHZvaWQgMH1qKGEsYil7Yi5hY3Rpb25zJiYoYS5hY3Rpb25zPWIuYWN0aW9ucyk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5wbGF5bGlzdElkJiYoYS5wbGF5bGlzdElkPWIucGxheWxpc3RJZCl9fTt2YXIgdXdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBmd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5OYWEpfWooYSxiLGM9e30pe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtjLmluY2x1ZGVMaXN0SWQmJihhLmluY2x1ZGVMaXN0SWQ9ITApfX07dmFyIHZ3YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5yZXF1ZXN0S2V5PWE7dGhpcy5CPWI7dGhpcy5vPWM7dGhpcy5EPSgpPT5uZXcgWE1MSHR0cFJlcXVlc3Q7dGhpcy5qPXZvaWQgMDt0aGlzLnY9W119Z2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKXtyZXR1cm4gdGhpcy5vfX07dmFyIG91YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj0wO3RoaXMuWGc9Yj8uWGc/P3dpbmRvdzt0aGlzLnltPWI/LnltO3RoaXMucmVxdWVzdEtleT1iPy5yZXF1ZXN0S2V5Pz8oXy50aigicGFyX2Jpcl9rZXkiKXx8Ik80M3owZHBqaGdYMjBTQ3g0S0FvIik7dGhpcy5Icz1iPy5Icz8/KGQ9Pm5ldyBxMihkKSk7dmFyIGM9Yj8uVkk/PygoZCxlLGYpPT5uZXcgdndhKGQsZSxmKSk7dGhpcy5iZ0NoYWxsZW5nZT1TMihhLmJnQ2hhbGxlbmdlKTt0aGlzLnR0bFNlY29uZHM9VTIoVDIoYS5jaGFsbGVuZ2V8fCIiKSk7dGhpcy5vZD1jKHRoaXMucmVxdWVzdEtleSxfLngoInBhcl9hdF9lcCIpP1sid3d3LnlvdXR1YmUuY29tIiwibS55b3V0dWJlLmNvbSJdLmluY2x1ZGVzKF8udS5sb2NhdGlvbi5ob3N0bmFtZSk/Ii9hcGkvam5uL3YxL0dlbmVyYXRlSVQiOiJodHRwczovL2pubi1wYS5nb29nbGVhcGlzLmNvbS8kcnBjL2dvb2dsZS5pbnRlcm5hbC53YWEudjEuV2FhL0dlbmVyYXRlSVQiOgoiaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20vJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixhKTt0aGlzLkpzPWI/LkpzO251YSh0aGlzLm9kKTt0aGlzLkdyPWI/LkdyPz8oZD0+e18uU2UodGhpcy5YZy5kb2N1bWVudCwidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pnt0aGlzLlhnLmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIiYmZCgpfSl9KX12KCl7RGF0ZS5ub3coKT50aGlzLmordGhpcy50dGxTZWNvbmRzKjFFMyYmdGhpcy52bT8uVSgpfX07dmFyIHV1YT1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSx3d2E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy52bT1udWxsO3RoaXMuaj12b2lkIDB9aW5pdGlhbGl6ZShhLGIsYyxkKXt0aGlzLmo9ZDtpZihhLnByb2dyYW0pe3ZhciBlO2Q9YS5pbnRlcnByZXRlclVybD8/bnVsbDthLmludGVycHJldGVyU2FmZVNjcmlwdD9lPVlfKGEuaW50ZXJwcmV0ZXJTYWZlU2NyaXB0KTplPWEuaW50ZXJwcmV0ZXJTY3JpcHQ/P251bGw7YS5pbnRlcnByZXRlclNhZmVVcmwmJihkPV8uaHcoYS5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO3R1YSh0aGlzLGUsZCxhLnByb2dyYW0sYixjKX1lbHNlIF8uSXAoRXJyb3IoIlVlIikpfWlzSW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy52KCl9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PQoyfWludm9rZShhPXt9KXtyZXR1cm4gdGhpcy52KCk/dGhpcy5CKHtLYzphfSk6bnVsbH1kaXNwb3NlKCl7dGhpcy5vKG51bGwpO3RoaXMuUyg4KX12KCl7cmV0dXJuISF0aGlzLnZtfUIoYSl7cmV0dXJuIHRoaXMudm0uWHIoYSl9byhhKXtfLlpkKHRoaXMudm0pO3RoaXMudm09YX1TKGEpe3RoaXMuc3RhdGU9YX19O3ZhciB4d2E9Y2xhc3MgZXh0ZW5kcyB3d2F7byhhKXttNCgpPy5iZ3ZtYSgpO2lmKGEpe2xldCBiPXtiZ3ZtYTphLmRpc3Bvc2UuYmluZChhKSxiZ3ZtYjphLnNuYXBzaG90LmJpbmQoYSksYmd2bWM6YS5Yci5iaW5kKGEpfTtfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLGIpO18uRmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsYz0+YS5zbmFwc2hvdChjKSl9ZWxzZSBfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLF8ucmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9digpe3JldHVybiEhbTQoKX1CKGEpe3JldHVybiBtNCgpLmJndm1jKGEpfX07dmFyIHl3YT1jbGFzcyBleHRlbmRzIF8uV3N7Y29uc3RydWN0b3IoKXtzdXBlcigiZG9jdW1lbnRfYWN0aXZlIik7dGhpcy52PTEwO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF9hY3RpdmUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIsYWN0aW9uOnRoaXMuWX0se2Zyb206ImRvY3VtZW50X2FjdGl2ZSIsdG86ImRvY3VtZW50X2Rpc3Bvc2VkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZmx1c2hfbG9ncyIsYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJmbHVzaF9sb2dzIiwKYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOigpPT57fX0se2Zyb206ImZsdXNoX2xvZ3MiLHRvOiJkb2N1bWVudF9hY3RpdmUiLGFjdGlvbjp0aGlzLkR9XTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLGE9Pnt0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIix7ZXZlbnQ6YX0pO2EucGVyc2lzdGVkPT09ITEmJih0aGlzLm89bmV3IE1hcCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIse2V2ZW50OmF9KX0pfVkoYSxiKXtpZighdGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiKSYmKGEoYj8uZXZlbnQpLGI/LmV2ZW50Py5kZWZhdWx0UHJldmVudGVkfHwKYj8uZXZlbnQ/LnJldHVyblZhbHVlKSl7Yi5ldmVudC5yZXR1cm5WYWx1ZXx8KGIuZXZlbnQucmV0dXJuVmFsdWU9ITApO2IuZXZlbnQuZGVmYXVsdFByZXZlbnRlZHx8Yi5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIik7cmV0dXJufXRoaXMuby5zZXQoImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIiwhMCk7dGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWQiKT90aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKTp0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIil9SyhhLGIpe3RoaXMuby5nZXQoImRvY3VtZW50X2Rpc3Bvc2VkIik/dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9hY3RpdmUiKTooYShiPy5ldmVudCksdGhpcy5vLnNldCgiZG9jdW1lbnRfZGlzcG9zZWQiLCEwKSx0aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKSl9SShhLGIpe2EoYj8uZXZlbnQpO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIil9RCgpe3RoaXMubz0KbmV3IE1hcH19O3ZhciB6d2E9Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoImRvY3VtZW50X3Zpc2liaWxpdHlfdW5rbm93biIpO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF92aXNpYmlsaXR5X3Vua25vd24iLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfYmFja2dyb3VuZGVkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X3Zpc2libGUiLHRvOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLAphY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X3Zpc2libGUiLGFjdGlvbjp0aGlzLkR9LHtmcm9tOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfaGlkZGVuIix0bzoiZG9jdW1lbnRfdmlzaWJsZSIsYWN0aW9uOnRoaXMuRH0se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2JhY2tncm91bmRlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X2JhY2tncm91bmRlZCIsdG86ImRvY3VtZW50X2hpZGRlbiIsCmFjdGlvbjp0aGlzLm99LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfV07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsYT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIj90aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X3Zpc2libGUiLHtldmVudDphfSk6dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9oaWRkZW4iLHtldmVudDphfSl9KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHtldmVudDphfSl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLAphPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHtldmVudDphfSl9KSl9RChhLGIpe2EoYj8uZXZlbnQpO18ueCgidmlzaWJpbGl0eV9saWZlY3ljbGVzX2R5bmFtaWNfYmFja2dyb3VuZGluZyIpJiZ0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2ZvcmVncm91bmRlZCIpfW8oYSxiKXthKGI/LmV2ZW50KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmdGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiKX1LKGEsYil7YShiPy5ldmVudCl9SShhLGIpe2EoYj8uZXZlbnQpfX07dmFyIEF3YT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj1uZXcgeXdhO3RoaXMuRD1uZXcgendhfWluc3RhbGwoLi4uYSl7YS5mb3JFYWNoKGI9Pnt0aGlzLkIuaW5zdGFsbChiKX0pO2EuZm9yRWFjaChiPT57dGhpcy5ELmluc3RhbGwoYil9KX19O3ZhciBPND1jbGFzcyBleHRlbmRzIEF3YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5qfX0pO18ueCgiY29tYmluZV92ZV9ncmFmdHMiKSYmdGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5vfX0pO3RoaXMuaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6dGhpcy52fX0pO18ueCgid2ViX2xvZ19jZmdfY2VlX2tzIil8fF8uWWoodnVhKX12KCl7Xy5FcCgiZmluYWxQYXlsb2FkIix7Y3NuOl8uaXEoKX0pfWooKXtfLm15KF8uRXkpO18uRnkhPW51bGwmJl8uRnkuZmx1c2goKX1vKCl7Xy5reChfLmh4KCkpfX07dmFyIG40PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEsYik7dGhpcy5lcnJvclR5cGU9MTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgczQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YXN5bmMgZmV0Y2goYSxiLGMsZCl7YT13dWEodGhpcyxhLGIpO3RyeXtsZXQgZT1hd2FpdCBmZXRjaChhKTtpZihkJiZlLm9rJiZlLmJvZHkmJnR5cGVvZiBlLmJvZHkuZ2V0UmVhZGVyPT09ImZ1bmN0aW9uIil7bGV0IGY9ZS5jbG9uZSgpLmJvZHkuZ2V0UmVhZGVyKCkse3ZhbHVlOmh9PWF3YWl0IGYucmVhZCgpO2YuY2FuY2VsKCkuY2F0Y2goKCk9Pnt9KTtpZihoJiZoWzBdPT09OTEpe2xldCBrPWUuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBvNCh0aGlzLGssbmV3IHoyLFtdLGQpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZShlLGMpfWNhdGNoKGUpe2lmKF8uSXAoZSksYz8uUHYmJmUgaW5zdGFuY2VvZiBuNCYmZS5lcnJvclR5cGU9PT0xKXRocm93IGU7fX1oYW5kbGVSZXNwb25zZShhLGIpe3ZhciBjPWEudGV4dCgpLnRoZW4oZD0+e2lmKGI/Lmd5JiYKYS5vaylyZXR1cm4gXy5YeChiLmd5LGQpO2Q9ZC5yZXBsYWNlKCIpXX0nIiwiIik7aWYoYj8uUHYmJmQpdHJ5e3ZhciBlPUpTT04ucGFyc2UoZCl9Y2F0Y2goZil7dGhyb3cgbmV3IG40KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiBlPz9KU09OLnBhcnNlKGQpfSk7YS5yZWRpcmVjdGVkfHxhLm9rP3RoaXMuaiYmdGhpcy5qLnN1Y2Nlc3MoKToodGhpcy5qJiZ0aGlzLmouU0koKSxjPWMudGhlbihkPT57Xy5JcChuZXcgXy5YaigiRXJyb3I6IEFQSSBmZXRjaCBmYWlsZWQiLGEuc3RhdHVzLGEudXJsLGQpKTtyZXR1cm57Li4uZCxlcnJvck1ldGFkYXRhOntzdGF0dXM6YS5zdGF0dXN9fX0pKTtyZXR1cm4gY319O3M0W18uTG5dPVtfLkluKG5ldyBfLlZzKCJORVRXT1JLX1NMSV9UT0tFTiIpKV07dmFyIHA0PWNsYXNze3N0YXRpYyBqYygpe3ZhciBhPV8uc2EoInl0Z2xvYmFsLnN0b3JhZ2VfIik7YXx8KGE9bmV3IHA0LF8ucmEoInl0Z2xvYmFsLnN0b3JhZ2VfIixhKSk7cmV0dXJuIGF9YXN5bmMgZXN0aW1hdGUoKXt2YXIgYT1uYXZpZ2F0b3I7aWYoYS5zdG9yYWdlPy5lc3RpbWF0ZSlyZXR1cm4gYS5zdG9yYWdlLmVzdGltYXRlKCk7aWYoYS53ZWJraXRUZW1wb3JhcnlTdG9yYWdlPy5xdWVyeVVzYWdlQW5kUXVvdGEpcmV0dXJuIHh1YSgpfWFzeW5jIHBlcnNpc3QoKXt2YXIgYT1uYXZpZ2F0b3I7cmV0dXJuIGEuc3RvcmFnZT8ucGVyc2lzdD9hd2FpdCBhLnN0b3JhZ2U/LnBlcnNpc3QoKT8iUEVSU0lTVEVEX1NUQVRFX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX1NVUFBPUlRFRCJ9fTtfLnJhKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixwNCk7dmFyIEFyYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaGFuZGxlRXJyb3I9YTt0aGlzLmo9Yjt0aGlzLm89ITE7c2VsZi5kb2N1bWVudD09PXZvaWQgMHx8c2VsZi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgpPT57dGhpcy5vPSEwfSk7dGhpcy52PU1hdGgucmFuZG9tKCk8PS4yfUpiKGEpe3RoaXMuaGFuZGxlRXJyb3IoYSl9bG0oYSxiKXtzd2l0Y2goYSl7Y2FzZSAiSURCX0RBVEFfQ09SUlVQVEVEIjpfLngoImlkYl9kYXRhX2NvcnJ1cHRlZF9raWxsc3dpdGNoIil8fHRoaXMuaigiaWRiRGF0YUNvcnJ1cHRlZCIsYik7YnJlYWs7Y2FzZSAiSURCX1VORVhQRUNURURMWV9DTE9TRUQiOnRoaXMuaigiaWRiVW5leHBlY3RlZGx5Q2xvc2VkIixiKTticmVhaztjYXNlICJJU19TVVBQT1JURURfQ09NUExFVEVEIjpfLngoImlkYl9pc19zdXBwb3J0ZWRfY29tcGxldGVkX2tpbGxzd2l0Y2giKXx8dGhpcy5qKCJpZGJJc1N1cHBvcnRlZENvbXBsZXRlZCIsYik7YnJlYWs7CmNhc2UgIlFVT1RBX0VYQ0VFREVEIjp5dWEodGhpcyxiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9FTkRFRCI6dGhpcy52JiZNYXRoLnJhbmRvbSgpPD0uMSYmdGhpcy5qKCJpZGJUcmFuc2FjdGlvbkVuZGVkIixiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCI6dGhpcy5qKCJpZGJUcmFuc2FjdGlvbkFib3J0ZWQiLHsuLi5iLGhhc1dpbmRvd1VubG9hZGVkOnRoaXMub30pfX19O3ZhciBBNT0hMTt2YXIgQ3VhPXtGaTp7ZmVlZGJhY2tFbmRwb2ludDp5Myhxd2EpLG1vZGlmeUNoYW5uZWxOb3RpZmljYXRpb25QcmVmZXJlbmNlRW5kcG9pbnQ6eTMoc3dhKSxwbGF5bGlzdEVkaXRFbmRwb2ludDp5Myh0d2EpLHNoYXJlRW50aXR5RW5kcG9pbnQ6eTMoejUpLHN1YnNjcmliZUVuZHBvaW50OnkzKG93YSksdW5kb0ZlZWRiYWNrRW5kcG9pbnQ6eTMocndhKSx1bnN1YnNjcmliZUVuZHBvaW50OnkzKHB3YSksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6eTModXdhKX19O3ZhciBGdWE9bmV3IE1hcCxFdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjLGQsZSl7c3VwZXIoKTt0aGlzLmNvbnRhaW5lcj1hO3RoaXMud2ViUGxheWVyQ29udGV4dENvbmZpZz1iO3RoaXMuaj1jO3RoaXMuRWo9ZDt0aGlzLnBsYXllclZhcnM9ZTtKdWEodGhpcyl9bGEoKXt0aGlzLmFwaSYmdGhpcy5hcGkuZGVzdHJveSgpO1dfKHRoaXMuY29udGFpbmVyKTtzdXBlci5sYSgpfX07dmFyIEJ3YT17WyJhcGkuaW52YWxpZHBhcmFtIl06MixhdXRoOjE1MCxbImRybS5hdXRoIl06MTUwLFsiaGVhcnRiZWF0Lm5ldCJdOjE1MCxbImhlYXJ0YmVhdC5zZXJ2ZXJlcnJvciJdOjE1MCxbImhlYXJ0YmVhdC5zdG9wIl06MTUwLFsiaHRtbDUudW5zdXBwb3J0ZWRhZHMiXTo1LFsiZm10Lm5vbmVhdmFpbGFibGUiXTo1LFsiZm10LmRlY29kZSJdOjUsWyJmbXQudW5wbGF5YWJsZSJdOjUsWyJodG1sNS5taXNzaW5nYXBpIl06NSxbImh0bWw1LnVuc3VwcG9ydGVkbGl2ZSJdOjUsWyJkcm0udW5hdmFpbGFibGUiXTo1LFsibXJtLmJsb2NrZWQiXToxNTEsWyJlbWJlZGRlci5pZGVudGl0eS5kZW5pZWQiXToxNTIsWyJlbWJlZGRlci5pZGVudGl0eS5taXNzaW5nLnJlZmVycmVyIl06MTUzfTt2YXIgTHVhPW5ldyBTZXQoImVuZFNlY29uZHMgc3RhcnRTZWNvbmRzIG1lZGlhQ29udGVudFVybCBzdWdnZXN0ZWRRdWFsaXR5IHZpZGVvSWQgcmN0IHJjdG4gcGxheW11dGVkIG11dGVkX2F1dG9wbGF5X2R1cmF0aW9uX21vZGUiLnNwbGl0KCIgIikpO3ZhciBXdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7dmFyIGE9TDQsYj1INDtzdXBlcigpO3RoaXMuYXBpPWE7dGhpcy52PXRoaXMuTT0hMTt0aGlzLlU9W107dGhpcy5aPXt9O3RoaXMuQj1bXTt0aGlzLm89W107dGhpcy5oYT0hMTt0aGlzLnNlc3Npb25JZD10aGlzLmo9bnVsbDt0aGlzLnRhcmdldE9yaWdpbj0iKiI7dGhpcy5nYT1fLngoIndlYl9wbGF5ZXJfc3BsaXRfZXZlbnRfYnVzX2lmcmFtZSIpO3RoaXMuST1fLncoIlBPU1RfTUVTU0FHRV9PUklHSU4iKXx8YCR7ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2x9Ly8ke2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfWA7dGhpcy5EPWM9Pnt0aGlzLm9uTWVzc2FnZShjKX07QjUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5EKTtpZihhPV8udygiV0lER0VUX0lEIikpdGhpcy5zZXNzaW9uSWQ9YTtiJiZ0aGlzLkQoYik7QTQodGhpcywib25SZWFkeSIsKCk9Pnt0aGlzLk09ITA7dmFyIGM9dGhpcy5hcGkuZ2V0VmlkZW9EYXRhKCk7CmMuaXNQbGF5YWJsZXx8KHRoaXMuaGE9ITAsdGhpcy5lcnJvckNvZGU9KGM9Yy5lcnJvckNvZGUpP0J3YVtjXXx8NTo1LHRoaXMuc2VuZE1lc3NhZ2UoIm9uRXJyb3IiLE51bWJlcih0aGlzLmVycm9yQ29kZSkpKTtENCh0aGlzKTt0aGlzLmp8fHRoaXMudnx8d2luZG93LnBhcmVudD09PXdpbmRvd3x8IXRoaXMuc2Vzc2lvbklkfHxDNCh0aGlzLHtldmVudDoicmVhZHlUb0xpc3RlbiJ9LHdpbmRvdy5wYXJlbnQpfSk7QTQodGhpcywib25WaWRlb1Byb2dyZXNzIix0aGlzLmZjLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uVm9sdW1lQ2hhbmdlIix0aGlzLlZkLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uQXBpQ2hhbmdlIix0aGlzLm9hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tRdWFsaXR5Q2hhbmdlIix0aGlzLk1hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tSYXRlQ2hhbmdlIix0aGlzLlFhLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uU3RhdGVDaGFuZ2UiLHRoaXMuRWIuYmluZCh0aGlzKSk7CkE0KHRoaXMsIm9uV2ViZ2xTZXR0aW5nc0NoYW5nZWQiLHRoaXMuRmwuYmluZCh0aGlzKSk7QTQodGhpcywib25DYXB0aW9uc1RyYWNrTGlzdENoYW5nZWQiLHRoaXMueWEuYmluZCh0aGlzKSk7QTQodGhpcywiY2FwdGlvbnNzZXR0aW5nc2NoYW5nZWQiLHRoaXMuRmEuYmluZCh0aGlzKSl9c2VuZE1lc3NhZ2UoYSxiKXthPXtldmVudDphLGluZm86Yj09PXZvaWQgMD9udWxsOmJ9O3RoaXMudj9DNCh0aGlzLGEpOnRoaXMuVS5wdXNoKGEpfUViKGEpe2E9e3BsYXllclN0YXRlOmEsY3VycmVudFRpbWU6dGhpcy5hcGkuZ2V0Q3VycmVudFRpbWUoKSxkdXJhdGlvbjp0aGlzLmFwaS5nZXREdXJhdGlvbigpLHZpZGVvRGF0YTp0aGlzLmFwaS5nZXRWaWRlb0RhdGEoKSx2aWRlb1N0YXJ0Qnl0ZXM6MCx2aWRlb0J5dGVzVG90YWw6dGhpcy5hcGkuZ2V0VmlkZW9CeXRlc1RvdGFsKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCkscGxheWJhY2tRdWFsaXR5OnRoaXMuYXBpLmdldFBsYXliYWNrUXVhbGl0eSgpLAphdmFpbGFibGVRdWFsaXR5TGV2ZWxzOnRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSxjdXJyZW50VGltZUxhc3RVcGRhdGVkXzpEYXRlLm5vdygpLzFFMyxwbGF5YmFja1JhdGU6dGhpcy5hcGkuZ2V0UGxheWJhY2tSYXRlKCksbWVkaWFSZWZlcmVuY2VUaW1lOnRoaXMuYXBpLmdldE1lZGlhUmVmZXJlbmNlVGltZSgpfTt0aGlzLmFwaS5nZXRWaWRlb1VybCYmKGEudmlkZW9Vcmw9dGhpcy5hcGkuZ2V0VmlkZW9VcmwoKSk7dGhpcy5hcGkuZ2V0VmlkZW9Db250ZW50UmVjdCYmKGEudmlkZW9Db250ZW50UmVjdD10aGlzLmFwaS5nZXRWaWRlb0NvbnRlbnRSZWN0KCkpO3RoaXMuYXBpLmdldFByb2dyZXNzU3RhdGUmJihhLnByb2dyZXNzU3RhdGU9dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSgpKTt0aGlzLmFwaS5nZXRQbGF5bGlzdCYmKGEucGxheWxpc3Q9dGhpcy5hcGkuZ2V0UGxheWxpc3QoKSk7dGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCYmKGEucGxheWxpc3RJbmRleD0KdGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCgpKTtFNCh0aGlzLGEpfU1hKGEpe2E9e3BsYXliYWNrUXVhbGl0eTphfTt0aGlzLmFwaS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzJiYoYS5hdmFpbGFibGVRdWFsaXR5TGV2ZWxzPXRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSk7dGhpcy5hcGkuZ2V0UHJlZmVycmVkUXVhbGl0eSYmKGEucHJlZmVycmVkUXVhbGl0eT10aGlzLmFwaS5nZXRQcmVmZXJyZWRRdWFsaXR5KCkpO0U0KHRoaXMsYSl9UWEoYSl7RTQodGhpcyx7cGxheWJhY2tSYXRlOmF9KX1vYSgpe3ZhciBhPXRoaXMuYXBpLmdldE9wdGlvbnMoKSxiPXtuYW1lc3BhY2VzOmF9O2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyl7bGV0IGU9YVtjXSxmPXRoaXMuYXBpLmdldE9wdGlvbnMoZSk7YltlXT17b3B0aW9uczpmfTtmb3IobGV0IGg9MCxrPWYubGVuZ3RoO2g8aztoKyspe2xldCBsPWZbaF0sbT10aGlzLmFwaS5nZXRPcHRpb24oZSxsKTtiW2VdW2xdPQptfX10aGlzLnNlbmRNZXNzYWdlKCJhcGlJbmZvRGVsaXZlcnkiLGIpfVZkKCl7RTQodGhpcyx7bXV0ZWQ6dGhpcy5hcGkuaXNNdXRlZCgpLHZvbHVtZTp0aGlzLmFwaS5nZXRWb2x1bWUoKX0pfWZjKGEpe2E9e2N1cnJlbnRUaW1lOmEsdmlkZW9CeXRlc0xvYWRlZDp0aGlzLmFwaS5nZXRWaWRlb0J5dGVzTG9hZGVkKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCksY3VycmVudFRpbWVMYXN0VXBkYXRlZF86RGF0ZS5ub3coKS8xRTMscGxheWJhY2tSYXRlOnRoaXMuYXBpLmdldFBsYXliYWNrUmF0ZSgpLG1lZGlhUmVmZXJlbmNlVGltZTp0aGlzLmFwaS5nZXRNZWRpYVJlZmVyZW5jZVRpbWUoKX07dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSYmKGEucHJvZ3Jlc3NTdGF0ZT10aGlzLmFwaS5nZXRQcm9ncmVzc1N0YXRlKCkpO0U0KHRoaXMsYSl9RmwoKXtFNCh0aGlzLHtzcGhlcmljYWxQcm9wZXJ0aWVzOnRoaXMuYXBpLmdldFNwaGVyaWNhbFByb3BlcnRpZXMoKX0pfXlhKCl7aWYodGhpcy5hcGkuZ2V0Q2FwdGlvblRyYWNrcyl7bGV0IGE9CntjYXB0aW9uVHJhY2tzOnRoaXMuYXBpLmdldENhcHRpb25UcmFja3MoKX07RTQodGhpcyxhKX19RmEoKXtpZih0aGlzLmFwaS5nZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3Mpe2xldCBhPXtzdWJ0aXRsZXNVc2VyU2V0dGluZ3M6dGhpcy5hcGkuZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKCl9O0U0KHRoaXMsYSl9fW9uTWVzc2FnZShhKXtpZighKHRoaXMuSSE9PSIqIiYmYS5vcmlnaW4hPT10aGlzLkl8fHRoaXMuaiYmYS5zb3VyY2UhPT10aGlzLmp8fHR5cGVvZiBhLmRhdGEhPT0ic3RyaW5nIikpe3RyeXt2YXIgYj1KU09OLnBhcnNlKGEuZGF0YSl9Y2F0Y2goZil7cmV0dXJufWlmKGIpc3dpdGNoKGIuZXZlbnQpe2Nhc2UgImxpc3RlbmluZyI6dmFyIGM9YS5zb3VyY2U7YT1hLm9yaWdpbjtiPWIuaWQ7YSE9PSJudWxsIiYmKHRoaXMuST10aGlzLnRhcmdldE9yaWdpbj1hKTt0aGlzLmo9Yzt0aGlzLnNlc3Npb25JZD1iO0Q0KHRoaXMpO2JyZWFrO2Nhc2UgImNvbW1hbmQiOmM9Yi5mdW5jOwp2YXIgZD1iLmFyZ3M7aWYoYz09PSJhZGRFdmVudExpc3RlbmVyIiYmZCliPWRbMF0sYz1hLm9yaWdpbixiPT09Im9uUmVhZHkiP3RoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk6Yj09PSJvbkVycm9yIiYmdGhpcy5oYSYmKHRoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyx0aGlzLmVycm9yQ29kZSksdGhpcy5lcnJvckNvZGU9dm9pZCAwKSx0aGlzLmFwaS5sb2dBcGlDYWxsKGAke2J9IHJlZ2lzdHJhdGlvbmAsYyksdGhpcy5aW2JdfHxiPT09Im9uUmVhZHkifHwoYT1NdWEodGhpcyxiLGMpLHRoaXMuby5wdXNoKHtldmVudFR5cGU6YixsaXN0ZW5lcjphLG9yaWdpbjpjfSksdGhpcy5nYT90aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoImFkZEV2ZW50TGlzdGVuZXIiLFtiLGFdLGMpOnRoaXMuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixhKSx0aGlzLlpbYl09ITApO2Vsc2UgaWYoYj1jLGM9ZCxhPWEub3JpZ2luLHRoaXMuYXBpLmlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUoYiwKYSkpe2M9Y3x8W107aWYoYy5sZW5ndGg+MCYmeDQoYikpe3ZhciBlPWM7aWYoXy5BYShlWzBdKSYmIUFycmF5LmlzQXJyYXkoZVswXSkpZD1lWzBdO2Vsc2Ugc3dpdGNoKGQ9e30sYil7Y2FzZSAibG9hZFZpZGVvQnlJZCI6Y2FzZSAiY3VlVmlkZW9CeUlkIjpkPXk0KGVbMF0sZVsxXSE9PXZvaWQgMD9OdW1iZXIoZVsxXSk6dm9pZCAwLGVbMl0pO2JyZWFrO2Nhc2UgImxvYWRWaWRlb0J5VXJsIjpjYXNlICJjdWVWaWRlb0J5VXJsIjpkPWVbMF07dHlwZW9mIGQ9PT0ic3RyaW5nIiYmKGQ9e21lZGlhQ29udGVudFVybDpkLHN0YXJ0U2Vjb25kczplWzFdIT09dm9pZCAwP051bWJlcihlWzFdKTp2b2lkIDAsc3VnZ2VzdGVkUXVhbGl0eTplWzJdfSk7Yjp7aWYoKGU9ZC5tZWRpYUNvbnRlbnRVcmwpJiYoZT0vXC8oW3ZlXXxlbWJlZClcLyhbXiM/XSspLy5leGVjKGUpKSYmZVsyXSl7ZT1lWzJdO2JyZWFrIGJ9ZT1udWxsfWQudmlkZW9JZD1lO2Q9eTQoZCk7YnJlYWs7Y2FzZSAibG9hZFBsYXlsaXN0IjpjYXNlICJjdWVQbGF5bGlzdCI6ZD0KejQoZVswXSxlWzFdLGVbMl0sZVszXSl9Yy5sZW5ndGg9MTtjWzBdPWR9dGhpcy5hcGkuaGFuZGxlRXh0ZXJuYWxDYWxsKGIsYyxhKTt4NChiKSYmRTQodGhpcyxCNCh0aGlzKSl9fX19bGEoKXtzdXBlci5sYSgpO0I1LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuRCk7Zm9yKHZhciBhPTA7YTx0aGlzLkIubGVuZ3RoO2ErKyl7dmFyIGI9dGhpcy5CW2FdO3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYi5ldmVudFR5cGUsYi5saXN0ZW5lcil9dGhpcy5CPVtdO2ZvcihhPTA7YTx0aGlzLm8ubGVuZ3RoO2ErKyliPXRoaXMub1thXSx0aGlzLmdhP3RoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgicmVtb3ZlRXZlbnRMaXN0ZW5lciIsW2IuZXZlbnRUeXBlLGIubGlzdGVuZXJdLGIub3JpZ2luKTp0aGlzLmFwaS5yZW1vdmVFdmVudExpc3RlbmVyKGIuZXZlbnRUeXBlLGIubGlzdGVuZXIpO3RoaXMubz1bXX19LEI1PXdpbmRvdzt2YXIgWHVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIpe3ZhciBjPUw0O3N1cGVyKCk7dGhpcy5hcGk9Yzt0aGlzLmlkPWE7dGhpcy5vcmlnaW49Yjt0aGlzLmo9e307dGhpcy52PV8ueCgid2ViX3BsYXllcl9zcGxpdF9ldmVudF9idXNfaWZyYW1lIik7dGhpcy5vPWQ9Pnt0aGlzLm9uTWVzc2FnZShkKX07QzUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5vKTtGNCh0aGlzLCJSRUNFSVZJTkciKX1hZGRMaXN0ZW5lcihhLGIpe2lmKCEoYSBpbiB0aGlzLmopKXt2YXIgYz10aGlzLkIuYmluZCh0aGlzLGEpO3RoaXMualthXT1jO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcihhLGMsYil9fUIoYSxiKXt0aGlzLmlhKCl8fEY0KHRoaXMsYSxPdWEoYSxiKSl9cmVtb3ZlTGlzdGVuZXIoYSxiKXthIGluIHRoaXMuaiYmKHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLHRoaXMualthXSxiKSxkZWxldGUgdGhpcy5qW2FdKX1hZGRFdmVudExpc3RlbmVyKGEsYixjKXt0aGlzLnY/CmE9PT0ib25SZWFkeSI/dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpOnRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgiYWRkRXZlbnRMaXN0ZW5lciIsW2EsYl0sY3x8bnVsbCk6dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpe3RoaXMudj9hPT09Im9uUmVhZHkiP3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKTp0aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoInJlbW92ZUV2ZW50TGlzdGVuZXIiLFthLGJdLGN8fG51bGwpOnRoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKX1vbk1lc3NhZ2UoYSl7aWYoYS5vcmlnaW49PT10aGlzLm9yaWdpbil7dmFyIGI9YS5kYXRhO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe3RyeXtiPUpTT04ucGFyc2UoYil9Y2F0Y2goZSl7cmV0dXJufWlmKGIuY29tbWFuZCl7dmFyIGM9Yi5jb21tYW5kO2I9Yi5kYXRhO2E9YS5vcmlnaW47aWYoIXRoaXMuaWEoKSl7dmFyIGQ9CmJ8fHt9O3N3aXRjaChjKXtjYXNlICJhZGRFdmVudExpc3RlbmVyIjp0eXBlb2YgZC5ldmVudD09PSJzdHJpbmciJiZ0aGlzLmFkZExpc3RlbmVyKGQuZXZlbnQsYSk7YnJlYWs7Y2FzZSAicmVtb3ZlRXZlbnRMaXN0ZW5lciI6dHlwZW9mIGQuZXZlbnQ9PT0ic3RyaW5nIiYmdGhpcy5yZW1vdmVMaXN0ZW5lcihkLmV2ZW50LGEpO2JyZWFrO2RlZmF1bHQ6dGhpcy5hcGkuaXNSZWFkeSgpJiZ0aGlzLmFwaS5pc0V4dGVybmFsTWV0aG9kQXZhaWxhYmxlKGMsYXx8bnVsbCkmJihiPVB1YShjLGJ8fHt9KSxiPXRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbChjLGIsYXx8bnVsbCksKGI9UXVhKGMsYikpJiZGNCh0aGlzLGMsYikpfX19fX19bGEoKXtDNS5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLm8pO2ZvcihsZXQgYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGEpO3N1cGVyLmxhKCl9fSxDNT13aW5kb3csTnVhPQp3aW5kb3cucGFyZW50O3ZhciBHND1uZXcgeHdhO3ZhciBMND1udWxsLE40PW51bGwsSjQ9KCk9Pnt9LEg0O3ZhciBUND0hMTtfLmZ0LnRoZW4oKCk9PntfLkFxKCJlcF9pbml0X2N1cyIpO2lmKCFBNSl7QTU9ITA7dmFyIGE9Xy54KCJlbmFibGVfd2l6X2NvbnRleHRfcGVyX2NvbXBvbmVudCIpfHwhMTtPYmplY3QuYXNzaWduKF8uS3Use1JpOiEwLEdwOmEsRnA6YSxHdjpfLngoIndlYl9pbmNsdWRlX2Nvd190cmFjaW5nIiksaGFuZGxlRXJyb3I6enVhfSk7QnVhKCk7Xy53dj1mc2E7Xy54dj1nc2F9YnZhKCk7Xy5BcSgiZXBfaW5pdF9lcHMiKTtfLnJhKCJ5dC5zZXRDb25maWciLF8uUWkpO18ucmEoInl0LmNvbmZpZy5zZXQiLF8uUWkpO18ucmEoInl0LnNldE1zZyIsYjEpO18ucmEoInl0Lm1zZ3Muc2V0IixiMSk7Xy5yYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIixfLkdwKTtfLnJhKCJ3cml0ZUVtYmVkIixVdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5ib3RndWFyZEluaXRpYWxpemVkIixfLnNhKCJ5dC5hYnVzZS5wbGF5ZXIuYm90Z3VhcmRJbml0aWFsaXplZCIpfHxSdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIsCl8uc2EoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIpfHxTdWEpO18ucmEoInl0LmFidXNlLmRjbGtzdGF0dXMuY2hlY2tEY2xrU3RhdHVzIixfLnNhKCJ5dC5hYnVzZS5kY2xrc3RhdHVzLmNoZWNrRGNsa1N0YXR1cyIpfHxhMyk7Xy5yYSgieXQucGxheWVyLmV4cG9ydHMubmF2aWdhdGUiLF8uc2EoInl0LnBsYXllci5leHBvcnRzLm5hdmlnYXRlIil8fEJ0YSk7Xy5yYSgieXQudXRpbC5hY3Rpdml0eS5pbml0IixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmluaXQiKXx8bDApO18ucmEoInl0LnV0aWwuYWN0aXZpdHkuZ2V0VGltZVNpbmNlQWN0aXZlIixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmdldFRpbWVTaW5jZUFjdGl2ZSIpfHxfLkJuKTtfLnJhKCJ5dC51dGlsLmFjdGl2aXR5LnNldFRpbWVzdGFtcCIsXy5zYSgieXQudXRpbC5hY3Rpdml0eS5zZXRUaW1lc3RhbXAiKXx8ajApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixfLlZpKFp1YSkpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsCl8uVmkoJHVhKSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixfLlZpKGF2YSkpO2d1YSgpO1R1YSgpO18uQXEoImVwX2luaXRfZXBlIik7SjQ9Xy5ENTtfLkFxKCJlcF9pbml0X2N1ZSIpfSk7Xy5ENT0oKT0+e307Cl8uRDU9ZnVuY3Rpb24oYSl7KDAsXy5laCkoInI3OERyYiIpLnRoZW4oKCk9PnsoMCxfLnp5KShhKX0pfTsKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF9iYXNlKTsKLy8gR29vZ2xlIEluYy4K"}},"time_used":59,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"receive":37,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51031.535f27b776f394c7e43a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.626Z","timestamp":1785129292626,"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/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\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: 2a899351af1cf3b24083b2f7e784ca9f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-27T08:08:22.784542Z","times_seen":1111,"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/79207.6a62fc803d3d07898936.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.632Z","timestamp":1785129292632,"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/79207.6a62fc803d3d07898936.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-1271\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a91ae8abb1551d87ae6b8bcf0a89f6e1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4721,"size_decoded":3183,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3065)","md5":"9f9984517a8cd65036faf42932513a8f","sha1":"05cac6f7fbc24daccaaefb92b34f6eecdc91d8d1","sha256":"597ae9e64dd837a96e9166ffeb016e0757a49f06719163620ea9c616bae3ea2a","sha512":"f122449c6f6d72c179c4a59ec669368d3caaf2e5fc59ab4dbe5a3b10c172380e9033fe19842cb0c81ba7ef956058ff787693678223786ed92f6f5188ca177f44","ssdeep":"96:S0yn+dFlV8m0eKoPnRuKfeYX1X45tTZkcdrEAUbNfBn3Codbrbth1o3I9dxKsbRN:S0yn+dFlV81YRuKWYXWhdrIBn3Pjh1Ag","tlshash":"faa1b6c630f770d673aa19e5813b0447f2be09d13a0b96e5b4989cc938750167a63fac","first_seen":"2026-07-23T13:38:20.419582Z","last_seen":"2026-07-27T08:08:01.23091Z","times_seen":988,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNzkyMDddLHs2NDA3NDQoZSx0LG4pe2Z1bmN0aW9uIG8oZSx0LG4pe3JldHVybiBNYXRoLm1pbihNYXRoLm1heChlLHQpLG4pfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGU+MD9NYXRoLmZsb29yKGUpOk1hdGguY2VpbChlKX1mdW5jdGlvbiBpKGUpe3JldHVybiBlJTI9PTB9bi5kKHQse2NsYW1wOigpPT5vLGlzRXZlbjooKT0+aSx0b0ludDooKT0+cn0pfSw0NzkzNChlLHQsbil7bi5kKHQse2VuYWJsZWQ6KCk9PnMsZ2V0Q29uZmlnOigpPT5jfSk7dmFyIG89big1MDI1ODcpLHI9bigxMjc3MTEpLGk9bigzMTg5NzQpLGw9bigyMTIyMjkpO2Z1bmN0aW9uIHMoZSx0LG4pe2xldCBvPXdpbmRvdy51c2VyO24mJihvPW4pO2NvbnN0IHI9YyhlLHQsbyk7aWYoIXIpcmV0dXJuITE7aWYoci5kaXNhYmxlX29uX3RyaWFsJiYoIW98fG8uaXNfdHJpYWwpKXJldHVybiExO2NvbnN0IGw9ci5kaXNhYmxlX29uX2xpdGVfcGxhbjtpZihsJiZvLmlzX2xpdGVfcGxhbil7aWYoImFsbCI9PT1sKXJldHVybiExO2lmKCJleGNsdWRlX21vYmlsZSI9PT1sJiYhaS5DaGVja01vYmlsZS5hbnkoKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9b1tlXTtyZXR1cm4gdD90LmV4dGVuZHM/T2JqZWN0LmFzc2lnbih7fSx1KHQuZXh0ZW5kcyksdCk6dDpudWxsfWZ1bmN0aW9uIGMoZSx0LG4pe2xldCBvPXUodHx8KGZ1bmN0aW9uKGUpe2xldCB0PXdpbmRvdy51c2VyOyJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cudXNlciYmKHQ9d2luZG93LnVzZXIpLGUmJih0PWUpO2xldCBuPXQ/LnByb19wbGFufHwiZnJlZSI7cmV0dXJuImZyZWUiIT09biYmISgwLGwuaXNUcmlhbFByb2R1Y3QpKG4pfHwobj0oMCxsLmdldFByb2R1Y3RGb3JUcmlhbCkobikpLG59KG4pPz8iIikpO2lmKCFvKXJldHVybiBudWxsO2NvbnN0IGk9d2luZG93LlRyYWRpbmdWaWV3Py53aWRnZXRDdXN0b21lcjtyZXR1cm4gaSYmcltpXSYmKG89T2JqZWN0LmFzc2lnbih7fSxvLHJbaV0pKSxvJiZvW2VdfHxudWxsfX0sODYyMjEzKGUsdCxuKXtuLmQodCx7TG9nb1NpemU6KCk9Pm8uTG9nb1NpemUsZ2V0TG9nb1VybFJlc29sdmVyOigpPT5hfSk7dmFyIG89big2MjAzNTQpLHI9bigxMzg2MzgpLGk9big2MzE2MzQpLGw9big4MTA0MSk7Y29uc3Qgcz0oMCxuKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiTG9nb1VybFJlc29sdmVyIik7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXsoMCxyLmFzc2VydCkoIiIhPT1lLCJTMyBiYXNlIHVybCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZyIpLHRoaXMuX2Jhc2VVcmw9ZX1nZXRTeW1ib2xMb2dvVXJsKGUsdCl7aWYoIiI9PT1lKXJldHVybiBzLmxvZ1dhcm4oImxvZ28gaWQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKSwiIjtzd2l0Y2godCl7Y2FzZSBvLkxvZ29TaXplLk1lZGl1bTpyZXR1cm4gdGhpcy5fYmFzZVVybCtgJHtlfS5zdmdgO2Nhc2Ugby5Mb2dvU2l6ZS5MYXJnZTpyZXR1cm4gdGhpcy5fYmFzZVVybCtgJHtlfS0tYmlnLnN2Z2B9fWdldENvdW50cnlGbGFnVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgiY291bnRyeS8iK2UsdCl9Z2V0UHJvdmlkZXJMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgicHJvdmlkZXIvIitlLHQpfWdldFNvdXJjZUxvZ29VcmwoZSx0KXtyZXR1cm4gdGhpcy5nZXRTeW1ib2xMb2dvVXJsKCJzb3VyY2UvIitlLHQpfWdldEJsb2NrY2hhaW5Db250cmFjdExvZ29VcmwoZSx0KXtyZXR1cm4gdGhpcy5nZXRTeW1ib2xMb2dvVXJsKCJibG9ja2NoYWluLyIrZSx0KX1nZXRDYW5kbGVzdGlja1BhdHRlcm5Mb2dvVXJsKGUsdD1sLlN0ZFRoZW1lLkxpZ2h0KXtyZXR1cm4gdGhpcy5nZXRTeW1ib2xMb2dvVXJsKGBjYW5kbGVwYXR0ZXJuLyR7ZX0tJHt0fWAsby5Mb2dvU2l6ZS5NZWRpdW0pfX1sZXQgYztmdW5jdGlvbiBhKCl7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIWMpe2NvbnN0IGU9KDAsaS5nZXRJbml0RGF0YSkoKSx0PWUuc2V0dGluZ3M/ZS5zZXR0aW5ncy5TM19MT0dPX1NFUlZJQ0VfQkFTRV9VUkw6IiI7Yz1uZXcgdSh0KX1yZXR1cm4gY30oKX19LDIzNDk2NChlLHQsbil7YXN5bmMgZnVuY3Rpb24gbyhlLHQpe2NvbnN0IG89YXdhaXQgUHJvbWlzZS5hbGwoW24uZSgyODgzMSksbi5lKDg0MzA2KSxuLmUoMjkyOTYpLG4uZSg1MjM5Niksbi5lKDYwMDYyKSxuLmUoMjAzNTQpLG4uZSgxMzQ5Miksbi5lKDM3NzQ2KSxuLmUoMTIzODUpLG4uZSg4MTA3Miksbi5lKDk0MjMyKSxuLmUoMTk1OTUpLG4uZSgxOTc4Nyksbi5lKDg1NzkpLG4uZSgxNzA4Nyksbi5lKDU3MzAwKSxuLmUoMTIwNTEpLG4uZSg4OTU1OCksbi5lKDEwMzY2KSxuLmUoNDA5MTQpLG4uZSg5MDk2MCksbi5lKDg3NzQwKSxuLmUoNzg4OTkpLG4uZSg2NzIxMiksbi5lKDgwOTE1KSxuLmUoMTUzNCksbi5lKDI4MTc2KSxuLmUoMzk2MDkpLG4uZSg1NTIyOSksbi5lKDY1MTAwKSxuLmUoNDI3MDYpXSkudGhlbihuLmJpbmQobiw1MDYyNzUpKTtyZXR1cm4gby5zaG93U2ltcGxlRGlhbG9nKGUsby53YXJuaW5nTW9kdWxlLHQpfW4uZCh0LHtzaG93V2FybmluZzooKT0+b30pfSw2MTk5OTIoZSx0LG4pe24uZCh0LHtpc1RpY2tzRW5hYmxlZDooKT0+cn0pO3ZhciBvPW4oMzE4OTc0KTtuKDkzMDIzMSk7ZnVuY3Rpb24gcigpe3JldHVybiEoMCxvLm9uV2lkZ2V0KSgpfX0sMjEyMjI5KGUsdCxuKXtuLmQodCx7Z2V0UHJvZHVjdEZvclRyaWFsOigpPT5pLGlzVHJpYWxQcm9kdWN0OigpPT5yfSk7big4MjkxODApLG4oMTg1MjcxKTtjb25zdCBvPSJfdHJpYWwiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIG5ldyBSZWdFeHAobysiJCIpLnRlc3QoZSl9ZnVuY3Rpb24gaShlKXtyZXR1cm4gZS5zcGxpdChvKVswXX19LDIyMTA2MShlLHQsbil7dmFyIG87bi5kKHQse2dldExvZ0hpc3Rvcnk6KCk9PmIsZ2V0TG9nZ2VyOigpPT5SLGdldFJhd0xvZ0hpc3Rvcnk6KCk9PmYsaXNIaWdoUmF0ZUVuYWJsZWQ6KCk9PmR9KSwKZnVuY3Rpb24oZSl7ZVtlLkVSUk9SPTFdPSJFUlJPUiIsZVtlLldBUk5JTkc9Ml09IldBUk5JTkciLGVbZS5JTkZPPTNdPSJJTkZPIixlW2UuTk9STUFMPTRdPSJOT1JNQUwiLGVbZS5ERUJVRz01XT0iREVCVUcifShvfHwobz17fSkpO2xldCByPTA7Y29uc3QgaT1bXTtsZXQgbD1udWxsLHM9bnVsbCx1PW51bGwsYz1udWxsLGE9by5XQVJOSU5HLGc9ITE7ZnVuY3Rpb24gZCgpe3JldHVybiBnfWZ1bmN0aW9uIGYoZSx0KXtsZXQgbj1pLnJlZHVjZSgoKGUsdCk9PmUuY29uY2F0KHQpKSxbXSk7cmV0dXJuIG4uc29ydCgoKGUsdCk9PmUuaWQtdC5pZCkpLHZvaWQgMCE9PXQmJihuPW4uZmlsdGVyKChlPT5lLnN1YlN5c3RlbUlkPT09dCkpKSwibnVtYmVyIj09dHlwZW9mIGUmJihuPW4uc2xpY2UoLWUpKSxufWZ1bmN0aW9uIG0oZSl7cmV0dXJuIG5ldyBEYXRlKGUudGltZXN0YW1wKS50b0lTT1N0cmluZygpKyI6IitlLnN1YlN5c3RlbUlkKyI6IitlLm1lc3NhZ2UucmVwbGFjZSgvIi9nLCInIil9Y29uc3QgYj0oZSx0KT0+ZnVuY3Rpb24oZSx0KXtsZXQgbixvPTAscj0wO2ZvcihuPWUubGVuZ3RoLTE7bj49MSYmKG8rPTgqKDErZW5jb2RlVVJJQ29tcG9uZW50KGVbbl0pLmxlbmd0aCksIShuLTE+MCYmKHI9OCooMStlbmNvZGVVUklDb21wb25lbnQoZVtuLTFdKS5sZW5ndGgpLG8rcj50KSkpO24tLSk7cmV0dXJuIGUuc2xpY2Uobil9KGYoZSx0KS5tYXAobSksNzU0OTc0NzIpO2Z1bmN0aW9uIGgoZSx0LG4saSxnKXtpZih0PT09cyYmaS5pZD09PXUpcmV0dXJuO2NvbnN0IGY9bmV3IERhdGU7aWYoZTw9by5OT1JNQUwmJmZ1bmN0aW9uKGUsdCxuLG8saSxsKXsiZnVuY3Rpb24iPT10eXBlb2Ygc3RydWN0dXJlZENsb25lJiYodD1zdHJ1Y3R1cmVkQ2xvbmUodCkpLHQ9dC5zbGljZSgwLGw/PzFlMyk7Y29uc3Qgcz17aWQ6cixtZXNzYWdlOnQsc3ViU3lzdGVtSWQ6byx0aW1lc3RhbXA6TnVtYmVyKGUpfTtyKz0xLG4ucHVzaChzKSx2b2lkIDAhPT1pJiZuLmxlbmd0aD5pJiZuLnNwbGljZSgwLDEpfShmLHQsbixpLmlkLGkubWF4Q291bnQsZyksZTw9YSYmKCFpLmhpZ2hSYXRlfHxkKCkpJiYoIWx8fGkuaWQubWF0Y2gobCkpKXtjb25zdCBuPWYudG9JU09TdHJpbmcoKSsiOiIraS5pZCsiOiIrdDtzd2l0Y2goZSl7Y2FzZSBvLkRFQlVHOmNvbnNvbGUuZGVidWcobik7YnJlYWs7Y2FzZSBvLklORk86Y2FzZSBvLk5PUk1BTDppLmNvbG9yP2NvbnNvbGUubG9nKCIlYyIrbiwiY29sb3I6ICIraS5jb2xvcik6Y29uc29sZS5sb2cobik7YnJlYWs7Y2FzZSBvLldBUk5JTkc6Y29uc29sZS53YXJuKG4pO2JyZWFrO2Nhc2Ugby5FUlJPUjpjb25zb2xlLmVycm9yKG4pfXM9dCx1PWkuaWQsbnVsbCE9PWMmJmNsZWFyVGltZW91dChjKSxjPXNldFRpbWVvdXQoKCgpPT57cz1udWxsLHU9bnVsbCxjPW51bGx9KSwxZTMpfX1mdW5jdGlvbiBSKGUsdD17fSl7Y29uc3Qgbj1bXTtpLnB1c2gobik7Y29uc3Qgcj1PYmplY3QuYXNzaWduKHQse2lkOmV9KTtmdW5jdGlvbiBsKGUpe3JldHVybih0LG8pPT5oKGUsU3RyaW5nKHQpLG4scixvKX1yZXR1cm57bG9nRGVidWc6bChvLkRFQlVHKSxsb2dFcnJvcjpsKG8uRVJST1IpLGxvZ0luZm86bChvLklORk8pLGxvZ05vcm1hbDpsKG8uTk9STUFMKSxsb2dXYXJuOmwoby5XQVJOSU5HKX19fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-sheriff.tradingview-widget.com/sheriff/api/v1/rules/search?origin=https%3A%2F%2Fcrystal-exploits.org","fqdn":"widget-sheriff.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"143.204.238.18","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.713Z","timestamp":1785129292713,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-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%2Fcrystal-exploits.org HTTP/1.1\r\nHost: widget-sheriff.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 204 \r\ndate: Mon, 27 Jul 2026 05:14:53 GMT\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\ncache-control: public, max-age=3600, s-maxage=3600\r\nserver: tv\r\nvia: 443, 1.1 0100c139afa6f0f1b80c0a00cdec26b0.cloudfront.net (CloudFront)\r\naccess-control-allow-origin: https://www.tradingview-widget.com\r\ncross-origin-resource-policy: same-site\r\naccess-control-max-age: 86400\r\nvary: Origin\r\nx-cache: Miss from cloudfront\r\nx-amz-cf-pop: ARN53-P4\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: yp41s6AXizok8eqaIIa9CoxDbu5B6366YLgMg7fmoz7yAQXr696C6g==\r\nX-Firefox-Spdy: h2\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":575,"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-27T08:08:41.31747Z","times_seen":17559137,"resource_available":true,"data":""}},"time_used":485,"timings":{"blocked":0,"dns":3,"connect":8,"send":0,"wait":454,"receive":0,"ssl":19},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/generate_204?GogbQw","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:54.934Z","timestamp":1785129294934,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /generate_204?GogbQw HTTP/1.1\r\nHost: www.youtube-nocookie.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\ncontent-length: 0\r\ncross-origin-resource-policy: cross-origin\r\ndate: Mon, 27 Jul 2026 05:14:54 GMT\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":172,"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-27T08:08:41.31747Z","times_seen":17559137,"resource_available":true,"data":""}},"time_used":15,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"jnn-pa.googleapis.com/$rpc/google.internal.waa.v1.Waa/GenerateIT","fqdn":"jnn-pa.googleapis.com","domain":"jnn-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.117.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:55.017Z","timestamp":1785129295017,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:20 GMT","end":"Mon, 21 Sep 2026 08:39:19 GMT"},"fingerprint":{"sha1":"2A:E6:04:0E:76:A4:02:27:67:28:31:4D:E5:61:19:26:CA:0E:32:84","sha256":"D4:ED:C4:F8:DB:31:8A:2D:35:15:01:14:C0:49:CB:47:FF:5B:CC:17:14:82:63:9B:A8:6F:61:4D:AA:E5:96:94"}}},"request":{"raw":"OPTIONS /$rpc/google.internal.waa.v1.Waa/GenerateIT HTTP/1.1\r\nHost: jnn-pa.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-type,x-goog-api-key\r\nReferer: https://www.youtube-nocookie.com/\r\nOrigin: https://www.youtube-nocookie.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: https://www.youtube-nocookie.com\r\nvary: origin, referer, x-origin\r\naccess-control-allow-methods: DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT\r\naccess-control-allow-headers: content-type,x-goog-api-key\r\naccess-control-max-age: 3600\r\ndate: Mon, 27 Jul 2026 05:14:55 GMT\r\ncontent-type: text/html\r\nserver: ESF\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":524,"mime_type":"text/html","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T08:08:41.31747Z","times_seen":17559137,"resource_available":true,"data":""}},"time_used":46,"timings":{"blocked":0,"dns":0,"connect":8,"send":0,"wait":17,"receive":0,"ssl":20},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/youtubei/v1/log_event?alt=json","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:57.106Z","timestamp":1785129297106,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"POST /youtubei/v1/log_event?alt=json HTTP/1.1\r\nHost: www.youtube-nocookie.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Request-Time: 1785129297097\r\nContent-Type: application/json\r\nX-Goog-Visitor-Id: CgtHZU9NaHUydzFpZyjN0pvTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgGGLfAgrcAjIwLllUPVVTYzN4Y2lwQzFfM3lBcHAyWi1PTGd4dlNuczJEWFIwY2NvVWtUNkNEUEZ1R0wtYzNmSDJQNDJHZ3FOQU5ZOF9rSVVXTHk4SUFMZ2JWZTZOdldUX3RQbE9ibmZiUjVNekg1WURtS0syQ1lFOEVna2ZjeXN5eXFRWFNBNHFIRjB5dm9zN2RoQkZnaHBwZEdDbWNsNWNvb1Q3MEZyRjJPUjVaWkJRTnFqRUdSX0s0NG9GUENHTUYzZWdXNTVfVTR0TllTMVBKRE1qYkNRVDE3cml4bi1iOTY2S05jb2tueDh2WjdCb1VxNXU3QUhfZWhBWC1NM2hlM0lqRUs3cXpQdndWcUdkSGdmS2VMSUhNQ3JXYWwzSEhBVmpXX1YyakgwR0pPSUpYeE45dnotQTF1VkFUeXVESnk5dmZaeTRhUnBiWTVZakdDeUd3RzNMWVB4cDQ0Y2xkUQ%3D%3D\r\nX-YouTube-Client-Name: 56\r\nX-YouTube-Client-Version: 2.20260724.01.00\r\nX-YouTube-Device: cbr=Firefox\u0026cbrver=134.0\u0026ceng=Gecko\u0026cengver=134.0\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\r\nX-YouTube-Page-CL: 953206010\r\nX-YouTube-Page-Label: youtube.embeds.web_20260724_01_RC00\r\nX-YouTube-Utc-Offset: 0\r\nX-YouTube-Time-Zone: UTC\r\nX-YouTube-Ad-Signals: dt=1785129294013\u0026flash=0\u0026frm=2\u0026u_tz\u0026u_his=2\u0026u_h=1024\u0026u_w=1280\u0026u_ah=1024\u0026u_aw=1280\u0026u_cd=24\u0026bc=31\u0026bih=-12245933\u0026biw=-12245933\u0026brdim=0%2C0%2C0%2C0%2C1280%2C0%2C1280%2C1024%2C1276%2C716\u0026vis=1\u0026wgl=true\u0026ca_type=image\r\nContent-Length: 16075\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube-nocookie.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1\r\nSec-Fetch-Dest: empty\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":"POST","post_data":{"size":16075,"data":"{\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"NO\",\"clientName\":56,\"clientVersion\":\"2.20260724.01.00\",\"configInfo\":{\"appInstallData\":\"CM3Sm9MGEParsAUQABD58tEcEODq0RwQx43SHBC9mbAFEI6Q0RwQmY2xBRDJ9oATEN68zhwQrtbPHBCIkNEcELW1gBMQ4IKAExCKh7giEPyyzhwQibDOHBC8pNAcEInk0RwQnYa4IhCL988cELnw0RwQg4e4IhCHrM4cEOn40RwQ4LfRHBCBzc4cEL6KsAUQhuGAExCvhs8cELjkzhwQ9vfRHBDM364FEL6E0RwQle_RHBCkqdEcELb4gBMQyvuAExDa984cEPDe0RwQwY_QHBCfz4ATEL22rgUQttvRHBDH_IATEJ3QsAUQ8bTQHBD06dEcKmhDQU1TU1JWQy1acS1ETWVVRXBVQ25BNzVGWEtqQnVFV3FOVVB5QU1NM3czY0J0Z0c3Z1QydmVrTE1xQ3NCQU9RcmdQN0pyYmtCdVNGRjlETUJzU1NCY3M5eFNmWjFRWGNMT1pHSFFjPTAA\"},\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\",\"browserName\":\"Firefox\",\"browserVersion\":\"134.0\",\"osName\":\"Windows\",\"osVersion\":\"10.0\",\"platform\":\"DESKTOP\",\"windowWidthPoints\":1276,\"windowHeightPoints\":716},\"thirdParty\":{\"embedUrl\":\"https://crystal-exploits.org/\"}},\"events\":[{\"eventTimeMs\":1785129293782,\"latencyActionTicked\":{\"tickName\":\"mm_is\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293786,\"latencyActionTicked\":{\"tickName\":\"mm_ie\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293790,\"latencyActionTicked\":{\"tickName\":\"ep_init_cus\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293790,\"latencyActionTicked\":{\"tickName\":\"ep_init_eps\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293790,\"latencyActionTicked\":{\"tickName\":\"ep_init_epe\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293791,\"latencyActionTicked\":{\"tickName\":\"ep_init_cue\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129294051,\"latencyActionTicked\":{\"tickName\":\"pe\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129294053,\"latencyActionTicked\":{\"tickName\":\"ep_init_wes\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293518,\"latencyActionTicked\":{\"tickName\":\"srt\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293357,\"latencyActionBaselined\":{\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293362,\"latencyActionTicked\":{\"tickName\":\"nreqs\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293518,\"latencyActionTicked\":{\"tickName\":\"nress\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293518,\"latencyActionTicked\":{\"tickName\":\"nrese\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293360,\"latencyActionTicked\":{\"tickName\":\"ndnss\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293362,\"latencyActionTicked\":{\"tickName\":\"ndnse\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293595,\"latencyActionTicked\":{\"tickName\":\"wffs\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293652,\"latencyActionTicked\":{\"tickName\":\"wffe\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293585,\"latencyActionTicked\":{\"tickName\":\"rsf_pj\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293687,\"latencyActionTicked\":{\"tickName\":\"rse_pj\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293584,\"latencyActionTicked\":{\"tickName\":\"rsf_pc\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293652,\"latencyActionTicked\":{\"tickName\":\"rse_pc\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293585,\"latencyActionTicked\":{\"tickName\":\"rsf_ecj\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293669,\"latencyActionTicked\":{\"tickName\":\"rse_ecj\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293584,\"latencyActionTicked\":{\"tickName\":\"rsf_ecc\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293656,\"latencyActionTicked\":{\"tickName\":\"rse_ecc\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129294058,\"latencyActionInfo\":{\"isNavigation\":true,\"actionType\":\"LATENCY_ACTION_VIDEO_PREVIEW\",\"httpProtocol\":\"h3\",\"transportProtocol\":\"quic\",\"isVisible\":true,\"loadType\":\"cold\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129293772,\"latencyActionTicked\":{\"tickName\":\"rses_dpj\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129294063,\"latencyActionTicked\":{\"tickName\":\"ep_init_wee\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129294066,\"latencyActionInfo\":{\"serverTimeMs\":55,\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129294105,\"screenCreated\":{\"csn\":\"hp0QsgZW5ejKBlFP\",\"pageVe\":{\"veType\":16623,\"youtubeData\":{\"servletData\":{\"serializedServletEventId\":\"Telmas2ZG8-S8PMPk-zCyQ8\"}}}},\"context\":{\"lastActivityMs\":\"19\"}},{\"eventTimeMs\":1785129294105,\"latencyActionInfo\":{\"clientScreenNonce\":\"hp0QsgZW5ejKBlFP\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"20\"}},{\"eventTimeMs\":1785129294106,\"screenCreated\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"pageVe\":{\"veType\":32594},\"implicitGesture\":{\"parentCsn\":\"hp0QsgZW5ejKBlFP\",\"gesturedVe\":{\"veType\":16623},\"gestureType\":\"INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED\"}},\"context\":{\"lastActivityMs\":\"20\"}},{\"eventTimeMs\":1785129294106,\"visualElementHidden\":{\"csn\":\"hp0QsgZW5ejKBlFP\",\"ve\":{\"veType\":16623},\"eventType\":16},\"context\":{\"lastActivityMs\":\"21\"}},{\"eventTimeMs\":1785129294106,\"latencyActionInfo\":{\"clientScreenNonce\":\"1IOQ2NGxg4PFnzNe\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"21\"}},{\"eventTimeMs\":1785129294106,\"visualElementAttached\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"trackingParams\":\"CAAQru4BIhMI1duo64zylQMVItB7AB0GKwjRygEEJh4T2A==\"}]},\"context\":{\"lastActivityMs\":\"21\"}},{\"eventTimeMs\":1785129294109,\"latencyActionTicked\":{\"tickName\":\"qoes\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"24\"}},{\"eventTimeMs\":1785129294110,\"latencyActionTicked\":{\"tickName\":\"fs\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"25\"}},{\"eventTimeMs\":1785129294144,\"latencyActionInfo\":{\"clientPlaybackNonce\":\"zmhj8ieFUzCH2tcL\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"59\"}},{\"eventTimeMs\":1785129294146,\"latencyActionTicked\":{\"tickName\":\"ep_init_pr\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"60\"}},{\"eventTimeMs\":1785129294149,\"latencyActionTicked\":{\"tickName\":\"ep_init_ar\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"63\"}},{\"eventTimeMs\":1785129294229,\"latencyActionTicked\":{\"tickName\":\"ep_init_ijs\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"144\"}},{\"eventTimeMs\":1785129294230,\"latencyActionTicked\":{\"tickName\":\"ep_init_ije\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"145\"}},{\"eventTimeMs\":1785129294231,\"latencyActionTicked\":{\"tickName\":\"ep_init_rs\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"145\"}},{\"eventTimeMs\":1785129294236,\"latencyActionTicked\":{\"tickName\":\"ep_init_re\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"151\"}},{\"eventTimeMs\":1785129294264,\"visualElementAttached\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"178\"}},{\"eventTimeMs\":1785129294264,\"visualElementShown\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"ve\":{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"178\"}},{\"eventTimeMs\":1785129294327,\"latencyActionTicked\":{\"tickName\":\"ftr\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"242\"}},{\"eventTimeMs\":1785129294424,\"latencyActionTicked\":{\"tickName\":\"vir\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"339\"}},{\"eventTimeMs\":1785129294424,\"latencyActionTicked\":{\"tickName\":\"ps_s\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"339\"}},{\"eventTimeMs\":1785129294446,\"latencyActionTicked\":{\"tickName\":\"psns\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"361\"}},{\"eventTimeMs\":1785129294537,\"latencyActionTicked\":{\"tickName\":\"ps_c\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"452\"}},{\"eventTimeMs\":1785129294538,\"latencyActionTicked\":{\"tickName\":\"psnr\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"453\"}},{\"eventTimeMs\":1785129294539,\"visualElementAttached\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"trackingParams\":\"CAAQu2kiEwijw-brjPKVAxXjt_QHHbgyGUXKAQQmHhPY\"}]},\"context\":{\"lastActivityMs\":\"454\"}},{\"eventTimeMs\":1785129294541,\"latencyActionTicked\":{\"tickName\":\"wn_s\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"456\"}},{\"eventTimeMs\":1785129294542,\"latencyActionTicked\":{\"tickName\":\"virc\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"457\"}},{\"eventTimeMs\":1785129294544,\"embedsVideoDataDidChange\":{\"clientPlaybackNonce\":\"zmhj8ieFUzCH2tcL\",\"isReload\":false,\"runtimeEnabledFeatures\":{\"isShortsModeEnabled\":false}},\"context\":{\"lastActivityMs\":\"459\"}},{\"eventTimeMs\":1785129294656,\"latencyActionTicked\":{\"tickName\":\"pot_ist\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"571\"}},{\"eventTimeMs\":1785129294665,\"visualElementAttached\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"580\"}},{\"eventTimeMs\":1785129294665,\"visualElementShown\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"ve\":{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"580\"}},{\"eventTimeMs\":1785129294665,\"visualElementAttached\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"580\"}},{\"eventTimeMs\":1785129294665,\"visualElementShown\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"ve\":{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"580\"}},{\"eventTimeMs\":1785129294665,\"visualElementAttached\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":141902,\"veCounter\":5,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"580\"}},{\"eventTimeMs\":1785129294666,\"visualElementShown\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"ve\":{\"veType\":141902,\"veCounter\":5,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"580\"}},{\"eventTimeMs\":1785129294666,\"visualElementAttached\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":36842,\"veCounter\":6,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"580\"}},{\"eventTimeMs\":1785129294666,\"visualElementShown\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"ve\":{\"veType\":36842,\"veCounter\":6,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"580\"}},{\"eventTimeMs\":1785129294666,\"visualElementAttached\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":141903,\"veCounter\":7,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"581\"}},{\"eventTimeMs\":1785129294666,\"visualElementShown\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"ve\":{\"veType\":141903,\"veCounter\":7,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"581\"}},{\"eventTimeMs\":1785129294666,\"visualElementAttached\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":139117,\"veCounter\":8,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"581\"}},{\"eventTimeMs\":1785129294666,\"visualElementShown\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"ve\":{\"veType\":139117,\"veCounter\":8,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"581\"}},{\"eventTimeMs\":1785129294667,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"cnNUp8x3eVpbv7WY\",\"clientScreenNonce\":\"hp0QsgZW5ejKBlFP\"},\"context\":{\"lastActivityMs\":\"581\"}},{\"eventTimeMs\":1785129294667,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"cnNUp8x3eVpbv7WY\",\"clientScreenNonce\":\"1IOQ2NGxg4PFnzNe\"},\"context\":{\"lastActivityMs\":\"582\"}},{\"eventTimeMs\":1785129294667,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"582\"}},{\"eventTimeMs\":1785129294667,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"582\"}},{\"eventTimeMs\":1785129294667,\"latencyActionTicked\":{\"tickName\":\"ftl\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"582\"}},{\"eventTimeMs\":1785129294767,\"latencyActionTicked\":{\"tickName\":\"wn_r\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"681\"}},{\"eventTimeMs\":1785129294767,\"visualElementAttached\":{\"csn\":\"1IOQ2NGxg4PFnzNe\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"trackingParams\":\"CAAQg2ciEwi9kuzrjPKVAxVNUZEFHTJROmHKAQQmHhPY\"}]},\"context\":{\"lastActivityMs\":\"682\"}},{\"eventTimeMs\":1785129294768,\"embedsVideoDataDidChange\":{\"clientPlaybackNonce\":\"zmhj8ieFUzCH2tcL\",\"isReload\":false,\"runtimeEnabledFeatures\":{\"isShortsModeEnabled\":false}},\"context\":{\"lastActivityMs\":\"684\"}},{\"eventTimeMs\":1785129294990,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW8KBgoEYUdJZhICCAEiEQoDCgF0CgYKBGFHSWYSAggBIhEKAwoBaAoGCgRhR0lmEgIIDg==\"},\"context\":{\"lastActivityMs\":\"130\"}},{\"eventTimeMs\":1785129294993,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAADJAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAFEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAAQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAADdAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAkQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAChAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAA9QCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAA8D8iGAoDCgF0CgYKBGFHSWYSCREAAAAAAGBoQA==\"},\"context\":{\"lastActivityMs\":\"134\"}},{\"eventTimeMs\":1785129295092,\"latencyActionTicked\":{\"tickName\":\"pot_if\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"234\"}},{\"eventTimeMs\":1785129295092,\"latencyActionTicked\":{\"tickName\":\"pot_cms\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"234\"}},{\"eventTimeMs\":1785129295094,\"latencyActionTicked\":{\"tickName\":\"pot_cmf\",\"clientActionNonce\":\"8uCdx-bOoO-AfNUF\"},\"context\":{\"lastActivityMs\":\"235\"}},{\"eventTimeMs\":1785129295993,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChYvY2xpZW50X3N0cmVhbXovYmcvZnJzEhAKDgoIYm90Z3VhcmQSAjUzGgJtayITCgYKBGFHSWYSCREAAAAAAD6gQA==\"},\"context\":{\"lastActivityMs\":\"1134\"}},{\"eventTimeMs\":1785129295994,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW4KBgoEYUdJZhICCAEiEQoDCgFtCgYKBGFHSWYSAggB\"},\"context\":{\"lastActivityMs\":\"1135\"}},{\"eventTimeMs\":1785129295994,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAW4KBgoEYUdJZhIJEQAAAAAAADNAIhgKAwoBaQoGCgRhR0lmEgkRAAAAAAAA8D8iGAoDCgFvCgYKBGFHSWYSCREAAAAAADB7QCIYCgMKAWMKBgoEYUdJZhIJEQAAAAAAAAAAIhgKAwoBQwoGCgRhR0lmEgkRAAAAAAAAAAAiGAoDCgF4CgYKBGFHSWYSCREAAAAAAAAAACIYCgMKAW0KBgoEYUdJZhIJEQAAAAAAAAAA\"},\"context\":{\"lastActivityMs\":\"1136\"}}],\"serializedClientEventId\":{\"serializedEventId\":\"Telmas2ZG8-S8PMPk-zCyQ8\",\"clientCounter\":\"12758\"}}"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: br\r\ndate: Mon, 27 Jul 2026 05:14:57 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 31\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\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":28,"size_decoded":381,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"5e1fa6fd9abd549a576f3f24b1d3c8d4","sha1":"d5335d7f7d33be6a0b663f03b2df4df2521c4a87","sha256":"d7d5e54ad1e33d7ab49c664323ced79cb9723ff15e9764cd0edc3e15208e8336","sha512":"96e6938256b8e5924210f8e8e54a85d783fa2c01d5fbe5d2a8df7655fed9ef8be73c7cd8bf042c3c84302134b7418711397eece32f081eb7e824a519cc06b4e3","ssdeep":"","tlshash":"1c800038a8200b22232000ea202888322ac8c8203200ca28830200280cc0a0000a2282","first_seen":"2023-04-05T04:40:08Z","last_seen":"2026-07-27T08:08:00.999396Z","times_seen":282028,"resource_available":false,"data":"ewogICJyZXNwb25zZUNvbnRleHQiOiB7fQp9Cg=="}},"time_used":56,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":56,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/img/c3s.jpg","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.966Z","timestamp":1785129291966,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /img/c3s.jpg HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:51 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 21 Dec 2021 22:29:52 GMT\r\naccept-ranges: bytes\r\ncontent-length: 40357\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":40357,"size_decoded":40624,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=7, orientation=upper-left, xresolution=98, yresolution=106, resolutionunit=2, software=Adobe Photoshop CS6 (Windows), datetime=2021:12:21 12:59:52], baseline, precision 8, 360x230, components 3","md5":"3ba01ad63ac5e2c0db2bc10994e3df13","sha1":"922b0c5886eaae9190870654b44d3c39dab7f102","sha256":"629662531725eba9b09fe85f084d3ae4882ac5933e2ca964b2579437a2fcdcae","sha512":"d78d374e0ba8aa24737eb4a734f67faa70040ef454ce6225d1fd86e983ca22e2d493c4486cb93db1b32efd3b11bced0be7be5c95809bdda1de49134cc86f39b4","ssdeep":"768:VF5rHvc7Z5rHv/EViipqmwU/4mMDDAvk/z48RLEISwH5:Lx4xHEDqmR4hEfIXZ","tlshash":"cf038d38f6148e62f4d01e76e5f8e295a7261a52ae630043f8dfb519bf70ed08c525b3","first_seen":"2025-09-22T10:43:48.608656Z","last_seen":"2026-07-27T05:48:43.311719Z","times_seen":16,"resource_available":false,"data":"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YWJvb2wBAAAAAFBnUHNlbnVtAAAAAFBnUHMAAAAAUGdQQwAAAABMZWZ0VW50RiNSbHQAAAAAAAAAAAAAAABUb3AgVW50RiNSbHQAAAAAAAAAAAAAAABTY2wgVW50RiNQcmNAWQAAAAAAAAAAABBjcm9wV2hlblByaW50aW5nYm9vbAAAAAAOY3JvcFJlY3RCb3R0b21sb25nAAAAAAAAAAxjcm9wUmVjdExlZnRsb25nAAAAAAAAAA1jcm9wUmVjdFJpZ2h0bG9uZwAAAAAAAAALY3JvcFJlY3RUb3Bsb25nAAAAAAA4QklNA+0AAAAAABAA8AAAAAEAAQDwAAAAAQABOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAAeOEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNJxAAAAAAAAoAAQAAAAAAAAABOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0EAAAAAAAAAgABOEJJTQQCAAAAAAAEAAAAADhCSU0EMAAAAAAAAgEBOEJJTQQtAAAAAAAGAAEAAAACOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAAzkAAAAGAAAAAAAAAAAAAADmAAABaAAAAAIAYwAzAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAFoAAAA5gAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAA5gAAAABSZ2h0bG9u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MDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpjcnM9Imh0dHA6Ly9ucy5hZG9iZS5jb20vY2FtZXJhLXJhdy1zZXR0aW5ncy8xLjAvIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxRkU0QUY0MjlFNjJFQzExOTIwRjk5REI1NzJDNUZBRCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSI4MDNCNDlEQzNGRTYwNkRFQzhFMjgxMDc5MkIxQTUwNiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMjI3NDE1ODlFNjJFQzExOTA3Q0E1OUQ4NjE5OTMwMyIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBjcnM6UmF3RmlsZU5hbWU9ImMzLmpwZyIgY3JzOlZlcnNpb249IjcuMCIgY3JzOlByb2Nlc3NWZXJzaW9uPSI2LjciIGNyczpXaGl0ZUJhbGFuY2U9IkFzIFNob3QiIGNyczpJbmNyZW1lbnRhbFRlbXBlcmF0dXJlPSIwIiBjcnM6SW5jcmVtZW50YWxUaW50PSIwIiBjcnM6RXhwb3N1cmU9IjAuMDAiIGNyczpTaGFkb3dzPSIwIiBjcnM6QnJpZ2h0bmVzcz0iMCIgY3JzOkNvbnRyYXN0PSIwIiBjcnM6U2F0dXJhdGlvbj0iMCIgY3JzOlNoYXJwbmVzcz0iMCIgY3JzOkx1bWluYW5jZVNtb290aGluZz0iMCIgY3JzOkNvbG9yTm9pc2VSZWR1Y3Rpb249IjAiIGNyczpWaWduZXR0ZUFtb3VudD0iMCIgY3JzOlNoYWRvd1RpbnQ9IjAiIGNyczpSZWRIdWU9IjAiIGNyczpSZWRTYXR1cmF0aW9uPSIwIiBjcnM6R3JlZW5IdWU9IjAiIGNyczpHcmVlblNhdHVyYXRpb249IjAiIGNyczpCbHVlSHVlPSIwIiBjcnM6Qmx1ZVNhdHVyYXRpb249IjAiIGNyczpGaWxsTGlnaHQ9IjAiIGNyczpWaWJyYW5jZT0iMCIgY3JzOkhpZ2hsaWdodFJlY292ZXJ5PSIwIiBjcnM6Q2xhcml0eT0iMCIgY3JzOkRlZnJpbmdlPSIwIiBjcnM6SHVlQWRqdXN0bWVudFJlZD0iMCIgY3JzOkh1ZUFkanVzdG1lbnRPcmFuZ2U9IjAiIGNyczpIdWVBZGp1c3RtZW50WWVsbG93PSIwIiBjcnM6SHVlQWRqdXN0bWVudEdyZWVuPSIwIiBjcnM6SHVlQWRqdXN0bWVudEFxdWE9IjAiIGNyczpIdWVBZGp1c3RtZW50Qmx1ZT0iMCIgY3JzOkh1ZUFkanVzdG1lbnRQdXJwbGU9IjAiIGNyczpIdWVBZGp1c3RtZW50TWFnZW50YT0iMCIgY3JzOlNhdHVyYXRpb25BZGp1c3RtZW50UmVkPSIwIiBjcnM6U2F0dXJhdGlvbkFkanVzdG1lbnRPcmFuZ2U9IjAiIGNyczpTYXR1cmF0aW9uQWRqdXN0bWVudFllbGxvdz0iMCIgY3JzOlNhdHVyYXRpb25BZGp1c3RtZW50R3JlZW49IjAiIGNyczpTYXR1cmF0aW9uQWRqdXN0bWVudEFxdWE9IjAiIGNyczpTYXR1cmF0aW9uQWRqdXN0bWVudEJsdWU9IjAiIGNyczpTYXR1cmF0aW9uQWRqdXN0bWVudFB1cnBsZT0iMCIgY3JzOlNhdHVyYXRpb25BZGp1c3RtZW50TWFnZW50YT0iMCIgY3JzOkx1bWluYW5jZUFkanVzdG1lbnRSZWQ9IjAiIGNyczpMdW1pbmFuY2VBZGp1c3RtZW50T3JhbmdlPSIwIiBjcnM6THVtaW5hbmNlQWRqdXN0bWVudFllbGxvdz0iMCIgY3JzOkx1bWluYW5jZUFkanVzdG1lbnRHcmVlbj0iMCIgY3JzOkx1bWluYW5jZUFkanVzdG1lbnRBcXVhPSIwIiBjcnM6THVtaW5hbmNlQWRqdXN0bWVudEJsdWU9IjAiIGNyczpMdW1pbmFuY2VBZGp1c3RtZW50UHVycGxlPSIwIiBjcnM6THVtaW5hbmNlQWRqdXN0bWVudE1hZ2VudGE9IjAiIGNyczpTcGxpdFRvbmluZ1NoYWRvd0h1ZT0iMCIgY3JzOlNwbGl0VG9uaW5nU2hhZG93U2F0dXJhdGlvbj0iMCIgY3JzOlNwbGl0VG9uaW5nSGlnaGxpZ2h0SHVlPSIwIiBjcnM6U3BsaXRUb25pbmdIaWdobGlnaHRTYXR1cmF0aW9uPSIwIiBjcnM6U3BsaXRUb25pbmdCYWxhbmNlPSIwIiBjcnM6UGFyYW1ldHJpY1NoYWRvd3M9IjAiIGNyczpQYXJhbWV0cmljRGFya3M9IjAiIGNyczpQYXJhbWV0cmljTGlnaHRzPSIwIiBjcnM6UGFyYW1ldHJpY0hpZ2hsaWdodHM9IjAiIGNyczpQYXJhbWV0cmljU2hhZG93U3BsaXQ9IjI1IiBjcnM6UGFyYW1ldHJpY01pZHRvbmVTcGxpdD0iNTAiIGNyczpQYXJhbWV0cmljSGlnaGxpZ2h0U3BsaXQ9Ijc1IiBjcnM6U2hhcnBlblJhZGl1cz0iKzEuMCIgY3JzOlNoYXJwZW5EZXRhaWw9IjI1IiBjcnM6U2hhcnBlbkVkZ2VNYXNraW5nPSIwIiBjcnM6UG9zdENyb3BWaWduZXR0ZUFtb3VudD0iMCIgY3JzOkdyYWluQW1vdW50PSIwIiBjcnM6TGVuc1Byb2ZpbGVFbmFibGU9IjAiIGNyczpMZW5zTWFudWFsRGlzdG9ydGlvbkFtb3VudD0iMCIgY3JzOlBlcnNwZWN0aXZlVmVydGljYWw9IjAiIGNyczpQZXJzcGVjdGl2ZUhvcml6b250YWw9IjAiIGNyczpQZXJzcGVjdGl2ZVJvdGF0ZT0iMC4wIiBjcnM6UGVyc3BlY3RpdmVTY2FsZT0iMTAwIiBjcnM6QXV0b0xhdGVyYWxDQT0iMCIgY3JzOkV4cG9zdXJlMjAxMj0iMC4wMCIgY3JzOkNvbnRyYXN0MjAxMj0iMCIgY3JzOkhpZ2hsaWdodHMyMDEyPSIwIiBjcnM6U2hhZG93czIwMTI9IjAiIGNyczpXaGl0ZXMyMDEyPSIwIiBjcnM6QmxhY2tzMjAxMj0iMCIgY3JzOkNsYXJpdHkyMDEyPSIwIiBjcnM6Q29udmVydFRvR3JheXNjYWxlPSJGYWxzZSIgY3JzOlRvbmVDdXJ2ZU5hbWU9IkxpbmVhciIgY3JzOlRvbmVDdXJ2ZU5hbWUyMDEyPSJMaW5lYXIiIGNyczpDYW1lcmFQcm9maWxlPSJFbWJlZGRlZCIgY3JzOkNhbWVyYVByb2ZpbGVEaWdlc3Q9IjU0NjUwQTM0MUI1QjVDQ0FFODQ0MkQwQjQzQTkyQkNFIiBjcnM6TGVuc1Byb2ZpbGVTZXR1cD0iTGVuc0RlZmF1bHRzIiBjcnM6SGFzU2V0dGluZ3M9IlRydWUiIGNyczpIYXNDcm9wPSJGYWxzZSIgY3JzOkFscmVhZHlBcHBsaWVkPSJUcnVlIiB4bXA6UmF0aW5nPSIwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIxLTEyLTIxVDEyOjU5OjUyLTA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMS0xMi0yMVQxMjo1OTo1Mi0wODowMCIgeG1wOkNyZWF0ZURhdGU9IjIwMjEtMTEtMTNUMTU6MDI6NDQtMDg6MDAiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJBZG9iZSBSR0IgKDE5OTgpIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gaW1hZ2UvanBlZyB0byBpbWFnZS90aWZmIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoxRkU0QUY0MjlFNjJFQzExOTIwRjk5REI1NzJDNUZBRCIgc3RFdnQ6d2hlbj0iMjAyMS0xMi0yMVQxMjo1OTowNC0wODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENhbWVyYSBSYXcgNy4wIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjEyNzQxNTg5RTYyRUMxMTkwN0NBNTlEODYxOTkzMDMiIHN0RXZ0OndoZW49IjIwMjEtMTItMjFUMTI6NTk6NTItMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gaW1hZ2UvdGlmZiB0byBpbWFnZS9qcGVnIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBpbWFnZS90aWZmIHRvIGltYWdlL2pwZWciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjIyMjc0MTU4OUU2MkVDMTE5MDdDQTU5RDg2MTk5MzAzIiBzdEV2dDp3aGVuPSIyMDIxLTEyLTIxVDEyOjU5OjUyLTA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjEyNzQxNTg5RTYyRUMxMTkwN0NBNTlEODYxOTkzMDMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUZFNEFGNDI5RTYyRUMxMTkyMEY5OURCNTcyQzVGQUQiIHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD0iODAzQjQ5REMzRkU2MDZERUM4RTI4MTA3OTJCMUE1MDYiLz4gPGNyczpUb25lQ3VydmU+IDxyZGY6U2VxPiA8cmRmOmxpPjAsIDA8L3JkZjpsaT4gPHJkZjpsaT4yNTUsIDI1NTwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvY3JzOlRvbmVDdXJ2ZT4gPGNyczpUb25lQ3VydmVSZWQ+IDxyZGY6U2VxPiA8cmRmOmxpPjAsIDA8L3JkZjpsaT4gPHJkZjpsaT4yNTUsIDI1NTwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvY3JzOlRvbmVDdXJ2ZVJlZD4gPGNyczpUb25lQ3VydmVHcmVlbj4gPHJkZjpTZXE+IDxyZGY6bGk+MCwgMDwvcmRmOmxpPiA8cmRmOmxpPjI1NSwgMjU1PC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9jcnM6VG9uZUN1cnZlR3JlZW4+IDxjcnM6VG9uZUN1cnZlQmx1ZT4gPHJkZjpTZXE+IDxyZGY6bGk+MCwgMDwvcmRmOmxpPiA8cmRmOmxpPjI1NSwgMjU1PC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9jcnM6VG9uZUN1cnZlQmx1ZT4gPGNyczpUb25lQ3VydmVQVjIwMTI+IDxyZGY6U2VxPiA8cmRmOmxpPjAsIDA8L3JkZjpsaT4gPHJkZjpsaT4yNTUsIDI1NTwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvY3JzOlRvbmVDdXJ2ZVBWMjAxMj4gPGNyczpUb25lQ3VydmVQVjIwMTJSZWQ+IDxyZGY6U2VxPiA8cmRmOmxpPjAsIDA8L3JkZjpsaT4gPHJkZjpsaT4yNTUsIDI1NTwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvY3JzOlRvbmVDdXJ2ZVBWMjAxMlJlZD4gPGNyczpUb25lQ3VydmVQVjIwMTJHcmVlbj4gPHJkZjpTZXE+IDxyZGY6bGk+MCwgMDwvcmRmOmxpPiA8cmRmOmxpPjI1NSwgMjU1PC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9jcnM6VG9uZUN1cnZlUFYyMDEyR3JlZW4+IDxjcnM6VG9uZUN1cnZlUFYyMDEyQmx1ZT4gPHJkZjpTZXE+IDxyZGY6bGk+MCwgMDwvcmRmOmxpPiA8cmRmOmxpPjI1NSwgMjU1PC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9jcnM6VG9uZUN1cnZlUFYyMDEyQmx1ZT4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+eG1wLmRpZDo5NEJFNjdFNUEwNjJFQzExOTIwRjk5REI1NzJDNUZBRDwvcmRmOmxpPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSJ3Ij8+/+ICQElDQ19QUk9GSUxFAAEBAAACMEFEQkUCEAAAbW50clJHQiBYWVogB88ABgADAAAAAAAAYWNzcEFQUEwAAAAAbm9uZQAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1BREJFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKY3BydAAAAPwAAAAyZGVzYwAAATAAAABrd3RwdAAAAZwAAAAUYmtwdAAAAbAAAAAUclRSQwAAAcQAAAAOZ1RSQwAAAdQAAAAOYlRSQwAAAeQAAAAOclhZWgAAAfQAAAAUZ1hZWgAAAggAAAAUYlhZWgAAAhwAAAAUdGV4dAAAAABDb3B5cmlnaHQgMTk5OSBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZAAAAGRlc2MAAAAAAAAAEUFkb2JlIFJHQiAoMTk5OCkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAA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"}},"time_used":177,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":47,"receive":130,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.625Z","timestamp":1785129292625,"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/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\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: 8e0baf90c2e236a95e863eaf7e3ff465\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-27T08:08:22.754163Z","times_seen":1154,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjU4NjJdLHszNzcyMjYoZSx0LG8pe28uZCh0LHtvbldpZGdldDooKT0+c30pO2NvbnN0IHI9bmV3IE1hcDtmdW5jdGlvbiBzKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxvPWAke3R9JHtlfWA7cmV0dXJuIHIuaGFzKG8pfHxyLnNldChvLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG8paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHI9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxzPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IF87Zm9yKGxldCBlPXIubGVuZ3RoLTE7ZT49MDtlLS0paWYoXz1uZXcgUmVnRXhwKHJbZV0pLF8udGVzdChzKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksci5nZXQobyk/PyExfX0sMzAwMjg2KGUsdCxvKXsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdGVzdD1lW3RdPXt9fXByb3ZpZGUoZSx0KXt0aGlzLl90ZXN0W2VdPXR9fSh3aW5kb3csInFhR2xvYmFscyIpfSw1ODc0MzYoZSx0LG8pe2Z1bmN0aW9uIHIoZSx0LG8scixzKXtsZXQgXz0iIjtpZihyPXI/IjsgcGF0aD0iK3I6IiIscz1zPyI7IGRvbWFpbj0iK3M6IiIsbyl7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbyo2MCo2MCoxZTMpLF89IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIF89IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrXytzK3J9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWUrIj0iLG89ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCByPW9bZV07Zm9yKDsiICI9PT1yLmNoYXJBdCgwKTspcj1yLnN1YnN0cmluZygxLHIubGVuZ3RoKTtpZigwPT09ci5pbmRleE9mKHQpKXJldHVybiByLnN1YnN0cmluZyh0Lmxlbmd0aCxyLmxlbmd0aCl9cmV0dXJuIG51bGx9by5kKHQse2dldDooKT0+cyxzZXQ6KCk9PnJ9KX0sOTQ4MzgwKGUsdCxvKXtvLmQodCx7RGVsZWdhdGU6KCk9Pl99KTtjb25zdCByPSgwLG8oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uRGVsZWdhdGUiKTtmdW5jdGlvbiBzKGUpe3JldHVybiFlLnNpbmdsZVNob3R9Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyZT10aGlzLl9maXJlSW1wbC5iaW5kKHRoaXMpLHRoaXMuX2xpc3RlbmVycz1bXX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX2xpc3RlbmVycy5wdXNoKHtvYmplY3Q6ZSxtZW1iZXI6dCxzaW5nbGVTaG90OiEhbyxza2lwOiExfSl9dW5zdWJzY3JpYmUoZSx0KXtmb3IobGV0IG89MDtvPHRoaXMuX2xpc3RlbmVycy5sZW5ndGg7KytvKXtjb25zdCByPXRoaXMuX2xpc3RlbmVyc1tvXTtpZihyLm9iamVjdD09PWUmJnIubWVtYmVyPT09dCl7ci5za2lwPSEwLHRoaXMuX2xpc3RlbmVycy5zcGxpY2UobywxKTticmVha319fXVuc3Vic2NyaWJlQWxsKGUpe2ZvcihsZXQgdD10aGlzLl9saXN0ZW5lcnMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IG89dGhpcy5fbGlzdGVuZXJzW3RdO28ub2JqZWN0PT09ZSYmKG8uc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSkpfX1kZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfV9maXJlSW1wbCguLi5lKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVyczt0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzLmZpbHRlcihzKTtjb25zdCBvPXQubGVuZ3RoO2ZvcihsZXQgcz0wO3M8bzsrK3Mpe2NvbnN0IG89dFtzXTtpZighby5za2lwKXRyeXtvLm1lbWJlci5hcHBseShvLm9iamVjdHx8bnVsbCxlKX1jYXRjaChlKXtyLmxvZ0Vycm9yKGAke2UmJihlLnN0YWNrfHxlLm1lc3NhZ2UpfWApfX19fX0sNTM0NDQwKGUsdCxvKXtvLmQodCx7bnVtT2ZEZWNpbWFsUGxhY2VzOigpPT5ffSk7dmFyIHI9byg3MTI3NDUpLHM9by5uKHIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuKG5ldyhzKCkpKGUpLnRvRml4ZWQoKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RofX0sMjMyMzY0KGUsdCxvKXtvLmQodCx7V2F0Y2hlZFZhbHVlOigpPT5ffSk7Y29uc3Qgcj0oMCwKbygyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5XYXRjaGVkVmFsdWUiKTtmdW5jdGlvbiBzKGUpe3IubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9Y2xhc3MgX3tjb25zdHJ1Y3RvciguLi5lKXt0aGlzLl9saXN0ZW5lcnM9W10sZS5sZW5ndGg+MD90aGlzLl92YWx1ZT1lWzBdOmRlbGV0ZSB0aGlzLl92YWx1ZX1kZXN0cm95KCl7dGhpcy51bnN1YnNjcmliZSgpfXZhbHVlKCl7cmV0dXJuIHRoaXMuX293bmVyP3RoaXMuX293bmVyLl92YWx1ZTp0aGlzLl92YWx1ZX1zZXRWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpcztpZihvLndyaXRlTG9jaylyZXR1cm47Y29uc3Qgcj1vLl92YWx1ZT09PWV8fE51bWJlci5pc05hTihvLl92YWx1ZSkmJk51bWJlci5pc05hTihlKTtpZighdCYmciYmby5oYXNPd25Qcm9wZXJ0eSgiX3ZhbHVlIikpcmV0dXJuO28uX3ZhbHVlPWU7Y29uc3QgXz1vLl9saXN0ZW5lcnMuc2xpY2UoKTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8Xy5sZW5ndGg7dCsrKXtfW3RdLm9uY2UmJihvLl9saXN0ZW5lcnMuc3BsaWNlKHQtaSwxKSxpKyspO3RyeXtfW3RdLmNiKGUpfWNhdGNoKGUpe3MoZSl9fX1kZWxldGVWYWx1ZSgpe3RoaXMuc2V0VmFsdWUodm9pZCAwKX1zdWJzY3JpYmUoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtjb25zdCBvPSEhdCYmISF0Lm9uY2Uscj0hIXQmJiEhdC5jYWxsV2l0aExhc3QsXz10aGlzLl9vd25lcj90aGlzLl9vd25lcjp0aGlzO2lmKHImJl8uaGFzT3duUHJvcGVydHkoIl92YWx1ZSIpKXt0cnl7ZShfLl92YWx1ZSl9Y2F0Y2goZSl7cyhlKX1pZihvKXJldHVybn1fLl9saXN0ZW5lcnMucHVzaCh7Y2I6ZSxvd25lcjp0aGlzLG9uY2U6ISF0JiYhIXQub25jZX0pfXVuc3Vic2NyaWJlKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpczt2b2lkIDA9PT1lJiYoZT1udWxsKTtjb25zdCBvPXQuX2xpc3RlbmVycztmb3IobGV0IHI9by5sZW5ndGg7ci0tOylvW3JdLm93bmVyIT09dGhpcyYmdCE9PXRoaXN8fG9bcl0uY2IhPT1lJiZudWxsIT09ZXx8by5zcGxpY2UociwxKX1yZWFkb25seSgpe2lmKHRoaXMuX3JlYWRvbmx5SW5zdGFuY2UpcmV0dXJuIHRoaXMuX3JlYWRvbmx5SW5zdGFuY2U7Y29uc3QgZT17c3Vic2NyaWJlOnRoaXMuc3Vic2NyaWJlLmJpbmQodGhpcyksdW5zdWJzY3JpYmU6dGhpcy51bnN1YnNjcmliZS5iaW5kKHRoaXMpLHZhbHVlOnRoaXMudmFsdWUuYmluZCh0aGlzKSx3aGVuOnRoaXMud2hlbi5iaW5kKHRoaXMpLG93bmVyc2hpcDp0aGlzLm93bmVyc2hpcC5iaW5kKHRoaXMpLHNwYXduT3duZXJzaGlwOnRoaXMuc3Bhd25Pd25lcnNoaXAuYmluZCh0aGlzKSx3ZWFrUmVmZXJlbmNlOnRoaXMud2Vha1JlZmVyZW5jZS5iaW5kKHRoaXMpLHNwYXduOmU9PnRoaXMuc3Bhd24oZSkucmVhZG9ubHkoKSxkZXN0cm95OnRoaXMuZGVzdHJveS5iaW5kKHRoaXMpfTtyZXR1cm4gdGhpcy5fcmVhZG9ubHlJbnN0YW5jZT1lLGV9c3Bhd24oZSl7cmV0dXJuIHRoaXMuX3NwYXduKGUpfXdoZW4oZSl7IWZ1bmN0aW9uKGUsdCxvKXtpZih0KGUudmFsdWUoKSkpcmV0dXJuIHZvaWQgbygpO2NvbnN0IHI9cz0+e3QocykmJihlLnVuc3Vic2NyaWJlKHIpLG8oKSl9O2Uuc3Vic2NyaWJlKHIse2NhbGxXaXRoTGFzdDohMH0pfSh0aGlzLChlPT5Cb29sZWFuKGUpKSwoKCk9Pnt0cnl7ZSh0aGlzLnZhbHVlKCkpfWNhdGNoKGUpe3MoZSl9fSkpfWFzc2VydE5vU3Vic2NyaXB0aW9ucygpezB9b3duZXJzaGlwKCl7cmV0dXJuIHRoaXN9cmVsZWFzZSgpe3RoaXMuZGVzdHJveSgpfXNwYXduT3duZXJzaGlwKCl7cmV0dXJuIHRoaXMuX3NwYXduKCl9d2Vha1JlZmVyZW5jZSgpe3JldHVybiB0aGlzLl9zcGF3bih2b2lkIDAsITApfV9zcGF3bihlLHQpe3JldHVybiBuZXcgaSh0aGlzLl9vd25lcnx8dGhpcyxlLHQpfX1jbGFzcyBpIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQsbyl7c3VwZXIoKSxkZWxldGUgdGhpcy5fbGlzdGVuZXJzLHRoaXMuX293bmVyPWUsdGhpcy5fb25EZXN0cm95PXQsdGhpcy5fd2Vha1JlZmVyZW5jZT0hIW99ZGVzdHJveSgpe3RyeXt0aGlzLl9vbkRlc3Ryb3k/LigpfWNhdGNoKGUpe3MoZSl9c3VwZXIuZGVzdHJveSgpfXJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZXx8KHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZT17Li4uc3VwZXIucmVhZG9ubHkoKSxkZXN0cm95OigpPT50aGlzLmRlc3Ryb3koKSxyZWFkb25seSgpe3JldHVybiB0aGlzfX0pLHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZX1yZWxlYXNlKCl7dGhpcy5fd2Vha1JlZmVyZW5jZXx8c3VwZXIucmVsZWFzZSgpfX19LDU5ODkyMihlLHQsbyl7by5kKHQse2Zvcm1hdE51bWJlcjooKT0+aSxwYXJzZU51bWJlcjooKT0+bn0pO3ZhciByPW8oNzEyNzQ1KSxzPW8oNjYzMDQ2KSxfPW8oMTE1MjkzKTtmdW5jdGlvbiBpKGUsdCxvLHMsXyl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm5gJHtlfWA7Y29uc3QgaT0tMT09PU1hdGguc2lnbihlKT8iLSI6IiI7ZT1NYXRoLmFicyhlKTtsZXQgYT12b2lkIDA9PT1vP2UudG9TdHJpbmcoKTplLnRvRml4ZWQobyk7aWYoYS5pbmNsdWRlcygiZSIpKXtpZighcylyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gO3tjb25zdCBvPW5ldyByLkJpZyhlKTtpZihhPW8ubHQoMSk/by50b0ZpeGVkKCk6by50b1N0cmluZygpLGEuaW5jbHVkZXMoImUiKSlyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gfX1jb25zdCBuPWEuc3BsaXQoIi4iKSxsPW5bMF07bGV0IGM9blsxXTtjb25zdCBkPWZ1bmN0aW9uKGUsdCl7bGV0IG89ZS5sZW5ndGg7Y29uc3Qgcj1bXTtmb3IoO28+MDspci51bnNoaWZ0KGUuc2xpY2UoTWF0aC5tYXgoby0zLDApLG8pKSxvLT0zO3JldHVybiByLmpvaW4odCl9KGwsdC5ncm91cGluZ1NlcGFyYXRvcikKO3JldHVybiB2b2lkIDAhPT1vJiYoYz0wPT09bz92b2lkIDA6ZS50b0ZpeGVkKG8pLnNsaWNlKC1vKSksdm9pZCAwIT09XyYmdm9pZCAwIT09YyYmKGM9ZnVuY3Rpb24oZSx0KXtsZXQgbz1lLmxlbmd0aC0xO2ZvcihsZXQgcj1vO3I+PXQmJiIwIj09PWVbcl07ci09MSlvLT0xO3JldHVybiBlLnNsaWNlKDAsbysxKX0oYyxfKSksYz9gJHtpfSR7ZH0ke3QuZGVjaW1hbFNpZ259JHtjfWA6YCR7aX0ke2R9YH1jb25zdCBhPSgwLHMuZGVmYXVsdCkoKGU9Pntjb25zdCB0PWUucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNcc10vZywiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKHQsImdtIil9KSk7ZnVuY3Rpb24gbihlLHQpe2lmKC9eKE5hTnxbK3wtXT9JbmZpbml0eSkkLy50ZXN0KGUpKXJldHVybiBwYXJzZUZsb2F0KGUpO2U9KDAsXy5zdHJpcExUUk1hcmtzKShlKTtjb25zdCBvPWEodC5ncm91cGluZ1NlcGFyYXRvcik7cmV0dXJuIG8mJihlPWUucmVwbGFjZShvLCIiKSksZT1lLnJlcGxhY2UodC5kZWNpbWFsU2lnbiwiLiIpLC9eKFwrfC0pP1xkKyhcLlxkK3xcLik/KGUoXCt8LSk/XGQrKT8kLy50ZXN0KGUpP3BhcnNlRmxvYXQoZSk6TmFOfX0sNTQ2NDg1KGUsdCxvKXtvLmQodCx7Z2V0TnVtYmVyRm9ybWF0OigpPT5kfSk7bGV0IHI9bnVsbDt2YXIgcz1vKDg1NjMyNCk7ZnVuY3Rpb24gXyhlLHQpe3JldHVybntncm91cGluZ1NlcGFyYXRvcjplLGRlY2ltYWxTaWduOnR9fWNvbnN0IGk9XygiLCIsIi4iKSxhPV8oIi4iLCIsIiksbj1fKCLigK8iLCIsIiksbD1fKCIiLCIuIiksYz1uZXcgTWFwKFtbImVuIixpXSxbInRoIixpXSxbImphIixpXSxbImtvIixpXSxbInpoIixpXSxbInpoX1RXIixpXSxbImFyIixpXSxbImhlX0lMIixpXSxbIm1zX01ZIixpXSxbInZpIixpXSxbImRlIixhXSxbImVzIixhXSxbIml0IixhXSxbInRyIixhXSxbInB0IixhXSxbImlkX0lEIixhXSxbImZyIixuXSxbInBsIixuXSxbInJ1IixuXV0pO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGU/bDoodD1jLmdldCgoMCxzLmdldExhbmd1YWdlKSgpKXx8bCxyP3IodCk6dCk7dmFyIHR9fSw3NTU2MjcoZSx0LG8pe28uZCh0LHtQcmljZUZvcm1hdHRlcjooKT0+eX0pO3ZhciByPW8oNjAxODQxKTtmdW5jdGlvbiBzKGUsdCxvLHIpe2xldCBzPTA7aWYoZT4wJiZ0PjApe2xldCB0PWU7Zm9yKG8mJnImJih0Lz1yKTt0PjE7KXQvPTEwLHMrK31yZXR1cm4gc312YXIgXz1vKDcxMjc0NSksaT1vKDgyMjQzMSksYT1vKDU5ODkyMiksbj1vKDU0NjQ4NSksbD1vKDc4MzI1NCksYz1vKDEzODYzOCksZD1vKDExNTI5MyksdT1vKDUzNTMwKTtmdW5jdGlvbiBtKGUsdCxvKXtjb25zdCByPSgwLGMuZW5zdXJlTm90TnVsbCkoKDAsdS5nZXRNaW5UaWNrRGF0YSkoe3ByaWNlOm8sbWluVGljazpudWxsLHZhcmlhYmxlTWluVGlja0RhdGE6dCxzaG91bGRDaGVja0ZvckVxdWFsaXR5OiEwfSkpLHtwcmljZVNjYWxlOl8sbWluTW92ZTppLG1pbk1vdmUyOmF9PXI7cmV0dXJue3ByaWNlU2NhbGU6XyxtaW5Nb3ZlOmksZnJhY3Rpb25hbExlbmd0aDpzKF8saSxlLGEpfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlckVycm9ycz17Y3VzdG9tOmwudChudWxsLHZvaWQgMCxvKDYxNjE4KSksZnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oOTY4ODE1KSksc2Vjb25kRnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oODUwMjk4KSl9O2NvbnN0e3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6cyxpZ25vcmVNaW5Nb3ZlOl8sdmFyaWFibGVNaW5UaWNrOmksZnJhY3Rpb25hbExlbmd0aDphfT1lO3RoaXMuX3ByaWNlU2NhbGU9dCx0aGlzLl9taW5Nb3ZlPXIsdGhpcy5fbWluTW92ZTI9cyx0aGlzLl9pZ25vcmVNaW5Nb3ZlPV8sdGhpcy5fZnJhY3Rpb25hbExlbmd0aD1hLHRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGE9dm9pZCAwPT09aT92b2lkIDA6KDAsdS5tYWtlVmFyaWFibGVNaW5UaWNrRGF0YSkoe3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6c30saSl9Zm9ybWF0SW1wbChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHNpZ25OZWdhdGl2ZTpyPSEwLHRhaWxTaXplOnMsY3V0RnJhY3Rpb25hbEJ5UHJlY2lzaW9uOl89ITEsdXNlUnRsRm9ybWF0Omk9ITAsdmFyaWFibGVNaW5UaWNrRGF0YVByaWNlOmEsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om4sbm9FeHBvbmVudGlhbEZvcm06bCxyZW1vdmVBbGxFbmRpbmdaZXJvczpjfT10O2xldCB1PSIiO2U8MD91PSExPT09cj8iIjoi4oiSIjplJiYhMD09PW8mJih1PSIrIik7Y29uc3QgbT10aGlzLl9mb3JtYXRVbnNpZ25lZChNYXRoLmFicyhlKSx7dGFpbFNpemU6cyxjdXRGcmFjdGlvbmFsQnlQcmVjaXNpb246Xyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6YSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixub0V4cG9uZW50aWFsRm9ybTpsLHJlbW92ZUFsbEVuZGluZ1plcm9zOmN9KSxoPSIwIj09PW0/bTp1K207cmV0dXJuIGk/KDAsZC5mb3JjZUxUUlN0cikoaCk6aH1wYXJzZShlLHQpe3JldHVybiIrIj09PShlPShlPSgwLGQuc3RyaXBMVFJNYXJrcykoZSkpLnJlcGxhY2UoIuKIkiIsIi0iKSlbMF0mJihlPWUuc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJzZVVuc2lnbmVkKGUsdCl9X3JlbW92ZUVuZGluZ1plcm9zKGUsdCl7Zm9yKGxldCBvPTA7bzx0JiYiMCI9PT1lW2UubGVuZ3RoLTFdO28rKyllPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSk7cmV0dXJuIGV9fWNsYXNzIGcgZXh0ZW5kcyBoe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LG5vRXhwb25lbnRpYWxGb3JtOm99PWU7dGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0PXQsdGhpcy5fbm9FeHBvbmVudGlhbEZvcm09b31oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4gMTA9PT10aGlzLl9taW5Nb3ZlMn1fcGFyc2VVbnNpZ25lZChlLHQpe3JldHVybiB0aGlzLl9wYXJzZUFzRGVjaW1hbChlLHQpfV9mb3JtYXRVbnNpZ25lZChlLHQpewpjb25zdHt0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyPSExLHZhcmlhYmxlTWluVGlja0RhdGFQcmljZTpzLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YT0hMX09dCxuPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLGZyYWN0aW9uYWxMZW5ndGg6dGhpcy5fZnJhY3Rpb25hbExlbmd0aCx0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YX07cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGEmJihPYmplY3QuYXNzaWduKG4sbSghMSx0aGlzLl92YXJpYWJsZU1pblRpY2tEYXRhLHM/P24ucHJpY2UpKSx0aGlzLl9pZ25vcmVNaW5Nb3ZlJiYobi5taW5Nb3ZlPTEpKSx0aGlzLl9mb3JtYXRBc0RlY2ltYWwobil9X2Zvcm1hdEFzRGVjaW1hbChlKXtjb25zdHtwcmljZTp0LHByaWNlU2NhbGU6byxtaW5Nb3ZlOnIsZnJhY3Rpb25hbExlbmd0aDpzPTAsdGFpbFNpemU6bD0wLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpjLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpkPXRoaXMuX2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTp1PXRoaXMuX25vRXhwb25lbnRpYWxGb3JtLHJlbW92ZUFsbEVuZGluZ1plcm9zOm19PWUsaD0oMCxuLmdldE51bWJlckZvcm1hdCkoZCk7aWYodD49MWUyMSYmIXUpcmV0dXJuIHQudG9TdHJpbmcoKS5yZXBsYWNlKCIuIixoLmRlY2ltYWxTaWduKTtjb25zdCBnPU1hdGgucG93KDEwLGwpKm8vKGM/MTpyKSxwPTEvZztsZXQgYjtpZihnPjEpYj1NYXRoLmZsb29yKHQpO2Vsc2V7Y29uc3QgZT1NYXRoLnJvdW5kKHQvcCkqcDtiPTA9PT1NYXRoLnJvdW5kKCh0LWUpL3ApP2U6ZStwfWxldCB3PSIiO2lmKGc+MSl7bGV0IGU9Yz9uZXcgXy5CaWcodCkubXVsKGcpLnJvdW5kKHZvaWQgMCwwKS5taW51cyhuZXcgXy5CaWcoYikubXVsKGcpKS50b051bWJlcigpOnBhcnNlRmxvYXQoKE1hdGgucm91bmQodCpnKS1iKmcpLnRvRml4ZWQocykpO2U+PWcmJihlLT1nLGIrPTEpLGU9Yz9uZXcgXy5CaWcoZSkucm91bmQocywwKS50b051bWJlcigpOnBhcnNlRmxvYXQoZS50b0ZpeGVkKHMpKSpyO2NvbnN0IG89KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZSxzK2wpO2lmKCF1JiZ0PDEmJnM+PTEwJiZvLnN0YXJ0c1dpdGgoIjAwMDAiKSl7bGV0IGU9NDtmb3IobGV0IHQ9ZTt0PG8ubGVuZ3RoJiYiMCI9PT1vW3RdO3QrKyllKys7Y29uc3QgdD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLnNsaWNlKGUpLHMpO3JldHVybiIiPT09dD8iMCI6YDAke2guZGVjaW1hbFNpZ259JHt0fWUtJHtlfWB9Y29uc3QgYT10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLG0/by5sZW5ndGg6bCk7dz1hP2guZGVjaW1hbFNpZ24rYTphfWNvbnN0IHk9KDAsYS5mb3JtYXROdW1iZXIpKGIsaCx2b2lkIDAsdSk7cmV0dXJuIHkuaW5jbHVkZXMoImUiKT95Onkrd31fcGFyc2VBc0RlY2ltYWwoZSx0PXt9KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6b309dCxyPSgwLG4uZ2V0TnVtYmVyRm9ybWF0KSh0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXR8fG8pLHM9KDAsYS5wYXJzZU51bWJlcikoZSxyKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHMpP3t2YWx1ZTpzLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChzKX06e2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX19Y29uc3QgcD0iJyIsYj1uZXcgUmVnRXhwKC9eKC0/KVswLTldKyQvKTtjbGFzcyB3IGV4dGVuZHMgaHtoYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4hMX1fcGFyc2VVbnNpZ25lZChlKXtyZXR1cm4gdGhpcy5fbWluTW92ZTI/dGhpcy5fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSk6dGhpcy5fcGFyc2VBc1NpbmdsZUZyYWN0aW9uYWwoZSl9X2Zvcm1hdFVuc2lnbmVkKGUsdCl7Y29uc3R7dGFpbFNpemU6byx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6cn09dCxzPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLG1pbk1vdmUyOnRoaXMuX21pbk1vdmUyLGZyYWN0aW9uYWxMZW5ndGg6KDAsYy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoKSx0YWlsU2l6ZTpvfTtyZXR1cm4gdm9pZCAwIT09dGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSYmT2JqZWN0LmFzc2lnbihzLG0oITAsdGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSxyPz9zLnByaWNlKSksdGhpcy5fZm9ybWF0QXNGcmFjdGlvbmFsKHMpfV9wYXJzZUFzU2luZ2xlRnJhY3Rpb25hbChlKXtsZXQgdD1iLmV4ZWMoZSk7aWYodCl7Y29uc3QgdD1wYXJzZUZsb2F0KGUpO3JldHVybnt2YWx1ZTp0LHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbCh0KX19aWYodD1uZXcgUmVnRXhwKCJeKC0/KShbMC05XSspXFwnKFswLTldKykkIikuZXhlYyhlKSx0KXtjb25zdCBlPSEhdFsxXSxvPXBhcnNlSW50KHRbMl0pLHI9dGhpcy5fcHJpY2VTY2FsZSxzPXRoaXMuX3BhdGNoRnJhY3RQYXJ0KHBhcnNlSW50KHRbM10pLDEscik7aWYocz49cnx8czwwKXJldHVybntlcnJvcjp0aGlzLl9mb3JtYXR0ZXJFcnJvcnMuZnJhY3Rpb24scmVzOiExfTtsZXQgXz1vK3MvcjtyZXR1cm4gZSYmKF89LV8pLHt2YWx1ZTpfLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChfKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSl7bGV0IHQ9Yi5leGVjKGUpO2lmKHQpe2NvbnN0IHQ9cGFyc2VGbG9hdChlKTtyZXR1cm57dmFsdWU6dCxyZXM6ITAsc3VnZ2VzdDp0aGlzLmZvcm1hdEltcGwodCl9fQppZih0PW5ldyBSZWdFeHAoIl4oLT8pKFswLTldKylcXCcoWzAtOV0rKVxcJyhbMC05XSspJCIpLmV4ZWMoZSksdCl7Y29uc3QgZT0hIXRbMV0sbz1wYXJzZUludCh0WzJdKSxyPXZvaWQgMCE9PXRoaXMuX21pbk1vdmUyJiZudWxsIT09dGhpcy5fbWluTW92ZTI/dGhpcy5fbWluTW92ZTI6TmFOLHM9dGhpcy5fcHJpY2VTY2FsZS9yLF89dGhpcy5fbWluTW92ZTIsaT10aGlzLl9wYXRjaEZyYWN0UGFydChwYXJzZUludCh0WzNdKSwxLHMpLGE9dGhpcy5fcGF0Y2hGcmFjdFBhcnQocGFyc2VJbnQodFs0XSksMixfKTtpZihpPj1zfHxpPDApcmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5mcmFjdGlvbixyZXM6ITF9O2lmKG51bGwhPV8mJmE+PV98fGE8MClyZXR1cm57ZXJyb3I6dGhpcy5fZm9ybWF0dGVyRXJyb3JzLnNlY29uZEZyYWN0aW9uLHJlczohMX07bGV0IG49bnVsbCE9Xz9vK2kvcythLyhzKl8pOk5hTjtyZXR1cm4gZSYmKG49LW4pLHt2YWx1ZTpuLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChuKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGF0Y2hGcmFjdFBhcnQoZSx0LG8pe2NvbnN0IHI9ezA6MCw1OjF9LHM9ezA6MCwyOjEsNToyLDc6M30sXz17MDowLDE6MSwyOjIsMzozLDU6NCw2OjUsNzo2LDg6N307cmV0dXJuIDI9PT1vP3ZvaWQgMD09PXJbZV0/LTE6cltlXTo0PT09bz92b2lkIDA9PT1zW2VdPy0xOnNbZV06OD09PW8mJjI9PT10P3ZvaWQgMD09PV9bZV0/LTE6X1tlXTplfV9mb3JtYXRBc0ZyYWN0aW9uYWwoZSl7Y29uc3R7cHJpY2U6dCx0YWlsU2l6ZTpvLHByaWNlU2NhbGU6cixtaW5Nb3ZlOnMsbWluTW92ZTI6XyxmcmFjdGlvbmFsTGVuZ3RoOmF9PWUsbj1yL3M7bGV0IGw9TWF0aC5mbG9vcih0KSxjPW8/TWF0aC5mbG9vcih0Km4pLWwqbjpNYXRoLnJvdW5kKHQqbiktbCpuO2M9PT1uJiYoYz0wLGwrPTEpO2xldCBkPSIiO2lmKG8pe2xldCBlPSh0LWwtYy9uKSpuO2U9TWF0aC5yb3VuZChlKk1hdGgucG93KDEwLG8pKSxkPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGUsbyksZD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhkLG8pfWlmKCFhKXRocm93IG5ldyBFcnJvcigiX2ZyYWN0aW9uYWxMZW5ndGggaXMgbm90IGNhbGN1bGF0ZWQiKTtsZXQgdT0iIjtpZihfKXtjb25zdCBlPWMlXztjPShjLWUpL187Y29uc3QgdD0oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjLGEpLG89dGhpcy5fZ2V0RnJhY3RQYXJ0KGUsMixfKTt1PXQrcCtvfWVsc2UgYz10aGlzLl9nZXRGcmFjdFBhcnQoYywxLHIpLHU9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYypzLGEpO3JldHVybiBsLnRvU3RyaW5nKCkrcCt1K2R9X2dldEZyYWN0UGFydChlLHQsbyl7Y29uc3Qgcj1bMCw1XSxzPVswLDIsNSw3XSxfPVswLDEsMiwzLDUsNiw3LDhdO3JldHVybiAyPT09bz92b2lkIDA9PT1yW2VdPy0xOnJbZV06ND09PW8/dm9pZCAwPT09c1tlXT8tMTpzW2VdOjg9PT1vJiYyPT09dD92b2lkIDA9PT1fW2VdPy0xOl9bZV06ZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InByaWNlIjtjb25zdHttaW5Nb3ZlMjp0LGZyYWN0aW9uYWw6byx2YXJpYWJsZU1pblRpY2s6XyxpZ25vcmVNaW5Nb3ZlOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmF9PWUsbj0oMCxyLmlzTnVtYmVyKShlLnByaWNlU2NhbGUpJiYoMCxyLmlzSW50ZWdlcikoZS5wcmljZVNjYWxlKT9lLnByaWNlU2NhbGU6MTAwO2lmKG48MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGJhc2UiKTtjb25zdCBsPSFlLm1pbk1vdmV8fGk/MTplLm1pbk1vdmUsYz1zKG4sbCxvLHQpLGQ9ey4uLmUsbWluTW92ZTpsLHByaWNlU2NhbGU6bixmcmFjdGlvbmFsTGVuZ3RoOmN9O3RoaXMuX3ByaWNlU2NhbGU9bix0aGlzLl9taW5Nb3ZlPWwsdGhpcy5fbWluTW92ZTI9dCx0aGlzLl9mcmFjdGlvbmFsPW8sdGhpcy5fdmFyaWFibGVNaW5UaWNrPV8sdGhpcy5faWdub3JlTWluTW92ZT1pLHRoaXMuX2ZyYWN0aW9uYWxMZW5ndGg9Yyx0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ9YSx0aGlzLl9ub0V4cG9uZW50aWFsRm9ybT1lLm5vRXhwb25lbnRpYWxGb3JtLHRoaXMuX2ltcGxlbWVudGF0aW9uPW8/bmV3IHcoZCk6bmV3IGcoZCl9aXNGcmFjdGlvbmFsKCl7cmV0dXJuISF0aGlzLl9mcmFjdGlvbmFsfXN0YXRlKCl7cmV0dXJue21pbk1vdmU6dGhpcy5fbWluTW92ZSxtaW5Nb3ZlMjp0aGlzLl9taW5Nb3ZlMixwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsdmFyaWFibGVNaW5UaWNrOnRoaXMuX3ZhcmlhYmxlTWluVGljayxpZ25vcmVNaW5Nb3ZlOnRoaXMuX2lnbm9yZU1pbk1vdmUsZnJhY3Rpb25hbDp0aGlzLl9mcmFjdGlvbmFsLG5vRXhwb25lbnRpYWxGb3JtOnRoaXMuX25vRXhwb25lbnRpYWxGb3JtfX1mb3JtYXRDaGFuZ2UoZSx0LG8pe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5mb3JtYXRJbXBsKGUtdCx7Li4ubyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6TWF0aC5taW4oTWF0aC5hYnMoZSksTWF0aC5hYnModCkpfSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX2ltcGxlbWVudGF0aW9uLmZvcm1hdEltcGwoZSx0KX1wYXJzZShlLHQpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5wYXJzZShlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgeShlKX19fSw3ODMyNTQoZSx0LG8pe28uZCh0LHt0OigpPT5yfSk7Y29uc3Qgcj1vLmkxOG5leHR9LDYyMDM1NChlLHQsbyl7dmFyIHI7by5kKHQse0xvZ29TaXplOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLk1lZGl1bT0wXT0iTWVkaXVtIixlW2UuTGFyZ2U9MV09IkxhcmdlIn0ocnx8KHI9e30pKX0sNzQ5NjQ4KGUsdCxvKXtmdW5jdGlvbiByKGUsdD0hMSl7CiJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/dD9zZXRUaW1lb3V0KCgoKT0+ZSgpKSwxKTplKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT5lKCkpKX1vLmQodCx7d2hlbkRvY3VtZW50UmVhZHk6KCk9PnJ9KTtuZXcgUHJvbWlzZSgoZT0+e3IoZSl9KSl9LDYzNTE4KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyIxNDg1MSI6e30sImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiOnt9LCJjb3VudGRvd24iOnt9LCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiI6e30sInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiOnt9LCJncmF5aW5nX2Rpc2FibGVkX3Rvb2xzX2VuYWJsZWQiOnt9LCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIjp7fSwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50Ijp7fSwicGhvbmVfdmVyaWZpY2F0aW9uIjp7fSwic2hvd190cmFkaW5nX25vdGlmaWNhdGlvbnNfaGlzdG9yeSI6e30sInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyI6e30sImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIjp7InN1YnNldHMiOlsic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIl19LCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iOnt9LCJoZWFkZXJfc3ltYm9sX3NlYXJjaCI6e30sInN5bWJvbF9zZWFyY2hfaG90X2tleSI6e30sImhlYWRlcl9yZXNvbHV0aW9ucyI6eyJzdWJzZXRzIjpbImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIl19LCJoZWFkZXJfY2hhcnRfdHlwZSI6e30sImhlYWRlcl9zZXR0aW5ncyI6e30sImhlYWRlcl9pbmRpY2F0b3JzIjp7fSwiaGVhZGVyX2NvbXBhcmUiOnt9LCJoZWFkZXJfdW5kb19yZWRvIjp7fSwiaGVhZGVyX3F1aWNrX3NlYXJjaCI6e30sImhlYWRlcl9zY3JlZW5zaG90Ijp7fSwiaGVhZGVyX3NhdmVsb2FkIjp7fSwic3R1ZHlfb25fc3R1ZHkiOnt9LCJzY2FsZXNfZGF0ZV9mb3JtYXQiOnt9LCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiOnt9LCJoZWFkZXJfd2lkZ2V0Ijp7InN1YnNldHMiOlsiaGVhZGVyX3dpZGdldF9kb21fbm9kZSIsImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwiaGVhZGVyX3Jlc29sdXRpb25zIiwiaGVhZGVyX2NoYXJ0X3R5cGUiLCJoZWFkZXJfc2V0dGluZ3MiLCJoZWFkZXJfaW5kaWNhdG9ycyIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX3VuZG9fcmVkbyIsImhlYWRlcl9xdWlja19zZWFyY2giLCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iLCJjb21wYXJlX3N5bWJvbCIsImhlYWRlcl9zY3JlZW5zaG90Il19LCJsZWdlbmRfd2lkZ2V0Ijp7fSwiY29tcGFyZV9zeW1ib2wiOnsic3Vic2V0cyI6WyJoZWFkZXJfY29tcGFyZSJdfSwicHJvcGVydHlfcGFnZXMiOnsic3Vic2V0cyI6WyJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiLCJjaGFydF9wcm9wZXJ0eV9wYWdlIl19LCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiOnt9LCJjaGFydF9wcm9wZXJ0eV9wYWdlIjp7InN1YnNldHMiOlsiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3RyYWRpbmciLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3JpZ2h0X21hcmdpbl9lZGl0b3IiXX0sImxlZnRfdG9vbGJhciI6e30sInJpZ2h0X3Rvb2xiYXIiOnt9LCJoaWRlX2xlZnRfdG9vbGJhcl9ieV9kZWZhdWx0Ijp7fSwiY29udHJvbF9iYXIiOnt9LCJ3aWRnZXRfbG9nbyI6e30sInRpbWVmcmFtZXNfdG9vbGJhciI6e30sImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiOnsic3Vic2V0cyI6WyJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIsImZvcm1hdF9idXR0b25faW5fbGVnZW5kIiwic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiLCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIsImxlZ2VuZF9pbnBsYWNlX2VkaXQiXX0sInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIjp7fSwib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiOnt9LCJmb3JtYXRfYnV0dG9uX2luX2xlZ2VuZCI6e30sInN0dWR5X2J1dHRvbnNfaW5fbGVnZW5kIjp7fSwiZGVsZXRlX2J1dHRvbl9pbl9sZWdlbmQiOnt9LCJsZWdlbmRfaW5wbGFjZV9lZGl0Ijp7fSwiYnJva2VyX2J1dHRvbiI6e30sImJ1eV9zZWxsX2J1dHRvbnMiOnsic3Vic2V0cyI6WyJicm9rZXJfYnV0dG9uIl19LCJzaG93X2J1eV9zZWxsX2J1dHRvbnNfb25fdW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiI6e30sInBhbmVfY29udGV4dF9tZW51Ijp7fSwic2NhbGVzX2NvbnRleHRfbWVudSI6e30sImxlZ2VuZF9jb250ZXh0X21lbnUiOnt9LCJjb250ZXh0X21lbnVzIjp7InN1YnNldHMiOlsicGFuZV9jb250ZXh0X21lbnUiLCJzY2FsZXNfY29udGV4dF9tZW51IiwibGVnZW5kX2NvbnRleHRfbWVudSIsIm9iamVjdHNfdHJlZV9jb250ZXh0X21lbnUiXX0sIml0ZW1zX2Zhdm9yaXRpbmciOnt9LCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSI6e30sInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIjp7InN1YnNldHMiOlsiaXRlbXNfZmF2b3JpdGluZyIsInNhdmVfY2hhcnRfcHJvcGVydGllc190b19sb2NhbF9zdG9yYWdlIl19LCJoYW5kbGVfc2NhbGUiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY2FsZSIsInBpbmNoX3NjYWxlIiwiYXhpc19wcmVzc2VkX21vdXNlX21vdmVfc2NhbGUiXX0sImhhbmRsZV9zY3JvbGwiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY3JvbGwiLCJwcmVzc2VkX21vdXNlX21vdmVfc2Nyb2xsIiwiaG9yel90b3VjaF9kcmFnX3Njcm9sbCIsInZlcnRfdG91Y2hfZHJhZ19zY3JvbGwiXX0sInBsYWluX3N0dWR5bWFya2V0Ijp7fSwiZGlzYWJsZV9yZXNvbHV0aW9uX3JlYnVpbGQiOnt9LCJib3JkZXJfYXJvdW5kX3RoZV9jaGFydCI6e30sImNoYXJ0aW5nX2xpYnJhcnlfZGVidWdfbW9kZSI6e30sInNhdmVsb2FkX3JlcXVpcmVzX2F1dGhlbnRpY2F0aW9uIjp7fSwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIjp7fSwidm9sdW1lX2ZvcmNlX292ZXJsYXkiOnt9LCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0Ijp7fSwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIjp7fSwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIjp7fSwibGVhbl9jaGFydF9sb2FkIjp7fSwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0Ijp7fSwic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Ijp7fSwibW92ZV9sb2dvX3RvX21haW5fcGFuZSI6e30sInNob3dfYW5pbWF0ZWRfbG9nbyI6e30sImxpbmtfdG9fdHJhZGluZ3ZpZXciOnt9LCJsb2dvX3dpdGhvdXRfbGluayI6e30sImxvZ29fYWx3YXlzX21heGltaXplZCI6e30sInJpZ2h0X2Jhcl9zdGF5c19vbl9zY3JvbGwiOnt9LCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyI6e30sInNuYXBzaG90X3RyYWRpbmdfZHJhd2luZ3MiOnt9LCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiOnt9LCJ3aWRnZXRiYXJfdGFicyI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sInNob3dfb2JqZWN0X3RyZWUiOnsic3Vic2V0cyI6WyJyaWdodF90b29sYmFyIl19LCJkb21fd2lkZ2V0Ijp7InN1YnNldHMiOlsicmlnaHRfdG9vbGJhciJdfSwiY29sbGFwc2libGVfaGVhZGVyIjp7fSwic3R1ZHlfdGVtcGxhdGVzIjp7fSwia2VlcF9zZWxlY3RlZF9ncm91cF9vbl90b29sX2NyZWF0aW9uIjp7fSwic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSI6e30sImhlYWRlcl9pbl9mdWxsc2NyZWVuX21vZGUiOnt9LCJyZW1vdmVfbGlicmFyeV9jb250YWluZXJfYm9yZGVyIjp7fSwid2hvdHJhZGVzX2F1dGhfb25seSI6e30sInN1cHBvcnRfbXVsdGljaGFydHMiOnt9LCJkaXNwbGF5X21hcmtldF9zdGF0dXMiOnt9LCJkaXNwbGF5X2RhdGFfbW9kZSI6e30sImRhdGFzb3VyY2VfY29weXBhc3RlIjp7fSwiZHJhd2luZ190ZW1wbGF0ZXMiOnsic3Vic2V0cyI6WyJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIl19LCJleHBhbmRfc3ltYm9sc2VhcmNoX2l0ZW1zIjp7fSwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyI6e30sInN5bWJvbF9zZWFyY2hfZmxhZ3MiOnt9LCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIjp7fSwiYnVncmVwb3J0X2J1dHRvbiI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sImhlYWRlcl90cmFkZV9idXR0b24iOnt9LCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIjp7fSwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iOnt9LCJ0ZXh0X25vdGVzIjp7fSwic2hvd19zb3VyY2VfY29kZSI6e30sInN5bWJvbF9pbmZvIjp7fSwibm9fYmFyc19zdGF0dXMiOnt9LCJjbGVhcl9iYXJzX29uX3Nlcmllc19lcnJvciI6e30sImhpZGVfbG9hZGluZ19zY3JlZW5fb25fc2VyaWVzX2Vycm9yIjp7fSwic2Vjb25kc19yZXNvbHV0aW9uIjp7fSwiZG9udF9zaG93X2Jvb2xlYW5fc3R1ZHlfYXJndW1lbnRzIjp7fSwiaGlkZV9sYXN0X25hX3N0dWR5X291dHB1dCI6e30sInByaWNlX3NjYWxlX2Fsd2F5c19sYXN0X2Jhcl92YWx1ZSI6e30sInN0dWR5X2RpYWxvZ19mdW5kYW1lbnRhbHNfZWNvbm9teV9hZGRvbnMiOnt9LCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyI6e30sInRyYWRpbmdfbm90aWZpY2F0aW9ucyI6e30sImNoYXJ0X2Nyb3NzaGFpcl9tZW51Ijp7fSwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIjp7fSwiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X2NvbXBhcmVfbGVnZW5kX2l0ZW0iOnt9LCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIjp7fSwidXNlX292ZXJyaWRlc19mb3Jfb3ZlcmxheSI6e30sInRpbWV6b25lX21lbnUiOnt9LCJtYWluX3Nlcmllc19zY2FsZV9tZW51Ijp7fSwic2hvd19sb2dpbl9kaWFsb2ciOnt9LCJyZW1vdmVfaW1nX2Zyb21fcnNzIjp7fSwiYmFyc19tYXJrcyI6e30sImNoYXJ0X3Njcm9sbCI6e30sImNoYXJ0X3pvb20iOnt9LCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiOnt9LCJsb3dfZGVuc2l0eV9iYXJzIjp7fSwiZW5kX29mX3BlcmlvZF90aW1lc2NhbGVfbWFya3MiOnt9LCJvcGVuX2FjY291bnRfbWFuYWdlciI6e30sInNob3dfb3JkZXJfcGFuZWxfb25fc3RhcnQiOnt9LCJvcmRlcl9wYW5lbCI6eyJzdWJzZXRzIjpbIm9yZGVyX3BhbmVsX2Nsb3NlX2J1dHRvbiIsIm9yZGVyX3BhbmVsX3VuZG9jayIsInJpZ2h0X3Rvb2xiYXIiLCJvcmRlcl9pbmZvIl19LCJtdWx0aXBsZV93YXRjaGxpc3RzIjp7fSwid2F0Y2hsaXN0X2ltcG9ydF9leHBvcnQiOnt9LCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiI6e30sIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3Ijp7fSwiY3VzdG9tX3Jlc29sdXRpb25zIjp7fSwicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyI6e30sIm1vYmlsZV90cmFkaW5nIjp7fSwicmVhbF9icm9rZXJzIjp7fSwicXVpY2tfdHJhZGluZ19wYW5lbCI6e30sIm5hdGl2ZV9tb2JpbGVfYnJva2Vyc19saXN0Ijp7fSwibm9fbWluX2NoYXJ0X3dpZHRoIjp7fSwibG9ja192aXNpYmxlX3RpbWVfcmFuZ2Vfb25fcmVzaXplIjp7fSwicHJpY2VzY2FsZV9jdXJyZW5jeSI6e30sImNyb3BwZWRfdGlja19tYXJrcyI6e30sInRyYWRpbmdfYWNjb3VudF9tYW5hZ2VyIjp7fSwiZGlzYWJsZV9zYW1laW50ZXJ2YWxfYWxpZ25pbmciOnt9LCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIjp7fSwiY2hhcnRfc3R5bGVfaGlsbyI6e30sImNoYXJ0X3N0eWxlX2hpbG9fbGFzdF9wcmljZSI6e30sInByaWNlc2NhbGVfdW5pdCI6e30sInNob3dfc3ByZWFkX29wZXJhdG9ycyI6e30sImhpZGVfZXhwb25lbnRpYXRpb25fc3ByZWFkX29wZXJhdG9yIjp7fSwiaGlkZV9yZWNpcHJvY2FsX3NwcmVhZF9vcGVyYXRvciI6e30sImNvbXBhcmVfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIjp7fSwic3R1ZGllc19zeW1ib2xfc2VhcmNoX3NwcmVhZF9vcGVyYXRvcnMiOnt9LCJoaWRlX3Jlc29sdXRpb25faW5fbGVnZW5kIjp7fSwiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIjp7fSwiZml4X2xlZnRfZWRnZSI6e30sInN0dWR5X3N5bWJvbF90aWNrZXJfZGVzY3JpcHRpb24iOnt9LCJ0d29fY2hhcmFjdGVyX2Jhcl9tYXJrc19sYWJlbHMiOnt9LCJwaW5fYmFyX21hcmtfdG9vbHRpcHNfb25fY2xpY2siOnt9LCJ0aWNrX3Jlc29sdXRpb24iOnt9LCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIjp7fSwiaGlkZV92b2x1bWVfbWEiOnt9LCJzbWFsbF9ub19kaXNwbGF5Ijp7fSwiY2hhcnRpbmdfbGlicmFyeV9zaW5nbGVfc3ltYm9sX3JlcXVlc3QiOnt9LCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSI6e30sInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIjp7fSwiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIjp7fSwiY2hhcnRfaGlkZV9jbG9zZV9wb3NpdGlvbl9idXR0b24iOnt9LCJjaGFydF9oaWRlX2Nsb3NlX29yZGVyX2J1dHRvbiI6e30sImhpZGVfcHJpY2Vfc2NhbGVfZ2xvYmFsX2xhc3RfYmFyX3ZhbHVlIjp7InN1YnNldHMiOlsidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIl19LCJrZWVwX29iamVjdF90cmVlX3dpZGdldF9pbl9yaWdodF90b29sYmFyIjp7fSwic2hvd19hdmVyYWdlX2Nsb3NlX3ByaWNlX2xpbmVfYW5kX2xhYmVsIjp7fSwiaGlkZV9pbWFnZV9pbnZhbGlkX3N5bWJvbCI6e30sImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIjp7fSwiY29uZmlybV9vdmVyd3JpdGVfaWZfY2hhcnRfbGF5b3V0X3dpdGhfbmFtZV9leGlzdHMiOnt9LCJkZXRlcm1pbmVfZmlyc3RfZGF0YV9yZXF1ZXN0X3NpemVfdXNpbmdfdmlzaWJsZV9yYW5nZSI6e30sInVzZV9uYV9zdHJpbmdfZm9yX25vdF9hdmFpbGFibGVfdmFsdWVzIjp7fSwic2hvd19sYXN0X3ByaWNlX2FuZF9jaGFuZ2Vfb25seV9pbl9zZXJpZXNfbGVnZW5kIjp7fSwibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSI6e30sImlmcmFtZV9sb2FkaW5nX2NvbXBhdGliaWxpdHlfbW9kZSI6e30sInNob3dfcGVyY2VudF9vcHRpb25fZm9yX3JpZ2h0X21hcmdpbiI6e30sIndhdGNobGlzdF9jb250ZXh0X21lbnUiOnt9LCJhY2Nlc3NpYmxlX2tleWJvYXJkX3Nob3J0Y3V0cyI6e30sImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyI6e30sImFwcF9waG9uZSI6e30sImFwcF90YWJsZXQiOnt9LCJtb2JpbGVfYXBwX2hpZGVfcmVwbGF5X3Rvb2xiYXIiOnt9LCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fbm9uX3RyYWRhYmxlIjp7fSwic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyI6e30sInByZV9wb3N0X21hcmtldF9wcmljZV9saW5lIjp7fSwicHJlX3Bvc3RfbWFya2V0X3Nlc3Npb25zIjp7fSwic3R1ZGllc19leHRlbmRfdGltZV9zY2FsZSI6e30sImluYWN0aXZpdHlfZ2FwcyI6e30sImFsaWduX2R3bV9iYXJzX3RvX21haW5fc2VyaWVzIjp7fSwicmVxdWVzdF9vbmx5X3Zpc2libGVfcmFuZ2Vfb25fcmVzZXQiOnt9LCJleHRlbmRlZF9leHRyYXBvbGF0aW9uX2xpbWl0Ijp7fSwidHZfcHJvZHVjdGlvbiI6eyJzdWJzZXRzIjpbIndhdGNobGlzdF9zZWN0aW9ucyIsImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIsImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsImhlYWRlcl9mdWxsc2NyZWVuX2J1dHRvbiIsImhlYWRlcl93aWRnZXQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwiYnV5X3NlbGxfYnV0dG9ucyIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiLCJzYXZlbG9hZF9yZXF1aXJlc19hdXRoZW50aWNhdGlvbiIsInZvbHVtZV9mb3JjZV9vdmVybGF5Iiwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHRfb25jZSIsImNoYXJ0c19hdXRvX3NhdmUiLCJzYXZlX29sZF9jaGFydF9iZWZvcmVfc2F2ZV9hcyIsImNoYXJ0X2NvbnRlbnRfb3ZlcnJpZGVzX2J5X2RlZmF1bHRzIiwiYWxlcnRzIiwiaGVhZGVyX3NhdmVsb2FkIiwiaGVhZGVyX2xheW91dHRvZ2dsZSIsImRhdGFzb3VyY2VfY29weXBhc3RlIiwic2hvd19zYXZlZF93YXRjaGxpc3RzIiwid2F0Y2hsaXN0c19mcm9tX3RvX2ZpbGUiLCJhZGRfdG9fd2F0Y2hsaXN0IiwicHJvcGVydHlfcGFnZXMiLCJzdXBwb3J0X211bHRpY2hhcnRzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZGlzcGxheV9kYXRhX21vZGUiLCJzaG93X2NoYXJ0X3dhcm5fbWVzc2FnZSIsInN1cHBvcnRfbWFuYWdlX2RyYXdpbmdzIiwid2lkZ2V0YmFyX3RhYnMiLCJzdHVkeV90ZW1wbGF0ZXMiLCJjb2xsYXBzaWJsZV9oZWFkZXIiLCJkcmF3aW5nX3RlbXBsYXRlcyIsImhlYWRlcl90cmFkZV9idXR0b24iLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIiwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iLCJ0ZXh0X25vdGVzIiwic2hvd19zb3VyY2VfY29kZSIsInN5bWJvbF9pbmZvIiwibGluZXRvb2xwcm9wZXJ0aWVzd2lkZ2V0X3RlbXBsYXRlX2J1dHRvbiIsInRyYWRpbmdfbm90aWZpY2F0aW9ucyIsInN5bWJvbF9zZWFyY2hfdGhyZWVfY29sdW1uc19leGNoYW5nZXMiLCJzeW1ib2xfc2VhcmNoX2ZsYWdzIiwic3ltYm9sX3NlYXJjaF9saW1pdGVkX2V4Y2hhbmdlcyIsInBob25lX3ZlcmlmaWNhdGlvbiIsImN1c3RvbV9yZXNvbHV0aW9ucyIsImNvbXBhcmVfc3ltYm9sIiwic3R1ZHlfb25fc3R1ZHkiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJzaG93X2xvZ2luX2RpYWxvZyIsImRvbV93aWRnZXQiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNob3dfdHJhZGluZ19ub3RpZmljYXRpb25zX2hpc3RvcnkiLCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiLCJzdHVkeV9kaWFsb2dfZnVuZGFtZW50YWxzX2Vjb25vbXlfYWRkb25zIiwibXVsdGlwbGVfd2F0Y2hsaXN0cyIsIm1hcmtlZF9zeW1ib2xzIiwib3JkZXJfcGFuZWwiLCJwcmljZXNjYWxlX2N1cnJlbmN5Iiwic2hvd19hbmltYXRlZF9sb2dvIiwicHJpY2VzY2FsZV9jdXJyZW5jeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsInNjYWxlc19kYXRlX2Zvcm1hdCIsInNjYWxlc190aW1lX2hvdXJzX2Zvcm1hdCIsInBvcHVwX2hpbnRzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIsInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiLCJrZWVwX3NlbGVjdGVkX2dyb3VwX29uX3Rvb2xfY3JlYXRpb24iXX0sIndpZGdldCI6eyJzdWJzZXRzIjpbImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwibGVmdF90b29sYmFyIiwicmlnaHRfdG9vbGJhciIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwic2F2ZWxvYWRfcmVxdWlyZXNfYXV0aGVudGljYXRpb24iLCJ2b2x1bWVfZm9yY2Vfb3ZlcmxheSIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHQiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJoZWFkZXJfd2lkZ2V0X2RvbV9ub2RlIiwiaGVhZGVyX3N5bWJvbF9zZWFyY2giLCJoZWFkZXJfcmVzb2x1dGlvbnMiLCJoZWFkZXJfY2hhcnRfdHlwZSIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX2luZGljYXRvcnMiLCJzdGFyX3NvbWVfaW50ZXJ2YWxzX2J5X2RlZmF1bHQiLCJkaXNwbGF5X21hcmtldF9zdGF0dXMiLCJkaXNwbGF5X2RhdGFfbW9kZSIsInNob3dfY2hhcnRfd2Fybl9tZXNzYWdlIiwic3ltYm9sX2luZm8iLCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIiwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyIsInN5bWJvbF9zZWFyY2hfZmxhZ3MiLCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIiwid2lkZ2V0YmFyX3RhYnMiLCJjb21wYXJlX3N5bWJvbCIsInNob3dfbG9naW5fZGlhbG9nIiwicGxhaW5fc3R1ZHltYXJrZXQiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIl19LCJib3Zlc3BhX3dpZGdldCI6eyJzdWJzZXRzIjpbIndpZGdldCIsImhlYWRlcl9zZXR0aW5ncyIsImxpbmV0b29scHJvcGVydGllc3dpZGdldF90ZW1wbGF0ZV9idXR0b24iLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiXX0sImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSI6eyJzdWJzZXRzIjpbIjE0ODUxIiwiYWxsb3dfc3VwcG9ydGVkX3Jlc29sdXRpb25zX3NldF9vbmx5IiwiYXV0b19lbmFibGVfc3ltYm9sX2xhYmVscyIsImJvcmRlcl9hcm91bmRfdGhlX2NoYXJ0IiwiY29sbGFwc2libGVfaGVhZGVyIiwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50IiwiY29udGV4dF9tZW51cyIsImNvbnRyb2xfYmFyIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiLCJkYXRhc291cmNlX2NvcHlwYXN0ZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZWRpdF9idXR0b25zX2luX2xlZ2VuZCIsIm9iamVjdF90cmVlX2xlZ2VuZF9tb2RlIiwiZ3JheWluZ19kaXNhYmxlZF90b29sc19lbmFibGVkIiwiaGVhZGVyX3dpZGdldCIsImxlZ2VuZF93aWRnZXQiLCJoZWFkZXJfc2F2ZWxvYWQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWFuX2NoYXJ0X2xvYWQiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwibGlua190b190cmFkaW5ndmlldyIsInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiLCJwbGFpbl9zdHVkeW1hcmtldCIsInJlZnJlc2hfc2F2ZWRfY2hhcnRzX2xpc3Rfb25fZGlhbG9nX3Nob3ciLCJyaWdodF9iYXJfc3RheXNfb25fc2Nyb2xsIiwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIiwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0IiwidGltZWZyYW1lc190b29sYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwidXBkYXRlX3N0dWR5X2Zvcm1hdHRlcl9vbl9zeW1ib2xfcmVzb2x2ZSIsInVwZGF0ZV90aW1lZnJhbWVzX3NldF9vbl9zeW1ib2xfcmVzb2x2ZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwidm9sdW1lX2ZvcmNlX292ZXJsYXkiLCJ3aWRnZXRfbG9nbyIsImNvdW50ZG93biIsInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiLCJ0cmFkaW5nX25vdGlmaWNhdGlvbnMiLCJjb21wYXJlX3N5bWJvbCIsInN5bWJvbF9pbmZvIiwidGltZXpvbmVfbWVudSIsIm1haW5fc2VyaWVzX3NjYWxlX21lbnUiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwiZ29fdG9fZGF0ZSIsImFkYXB0aXZlX2xvZ28iLCJzaG93X2FuaW1hdGVkX2xvZ28iLCJoYW5kbGVfc2NhbGUiLCJoYW5kbGVfc2Nyb2xsIiwic2hpZnRfdmlzaWJsZV9yYW5nZV9vbl9uZXdfYmFyIiwiY2hhcnRfY29udGVudF9vdmVycmlkZXNfYnlfZGVmYXVsdHMiLCJjcm9wcGVkX3RpY2tfbWFya3MiLCJzY2FsZXNfZGF0ZV9mb3JtYXQiLCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiLCJwb3B1cF9oaW50cyIsInNhdmVfc2hvcnRjdXQiLCJzaG93X3JpZ2h0X3dpZGdldHNfcGFuZWxfYnlfZGVmYXVsdCIsInNob3dfb2JqZWN0X3RyZWUiLCJpbnNlcnRfaW5kaWNhdG9yX2RpYWxvZ19zaG9ydGN1dCIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsImhpZGVfbWFpbl9zZXJpZXNfc3ltYm9sX2Zyb21faW5kaWNhdG9yX2xlZ2VuZCIsImNoYXJ0X3N0eWxlX2hpbG8iLCJyZXF1ZXN0X29ubHlfdmlzaWJsZV9yYW5nZV9vbl9yZXNldCIsImNsZWFyX3ByaWNlX3NjYWxlX29uX2Vycm9yX29yX2VtcHR5X2JhcnMiLCJzaG93X3N5bWJvbF9sb2dvX2luX2xlZ2VuZCIsInNob3dfc3ltYm9sX2xvZ29fZm9yX2NvbXBhcmVfc3R1ZGllcyIsImxpYnJhcnlfY3VzdG9tX2NvbG9yX3RoZW1lcyIsImxvbmdfcHJlc3NfZmxvYXRpbmdfdG9vbHRpcCIsInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiXX0sImNoYXJ0aW5nX2xpYnJhcnkiOnsic3Vic2V0cyI6WyJjaGFydGluZ19saWJyYXJ5X2Jhc2UiXX0sInN0YXRpY19jaGFydHNfc2VydmljZSI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnkiLCJkaXNhYmxlX3Jlc29sdXRpb25fcmVidWlsZCJdfSwidHJhZGluZ190ZXJtaW5hbCI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSIsInN1cHBvcnRfbXVsdGljaGFydHMiLCJoZWFkZXJfbGF5b3V0dG9nZ2xlIiwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIiwiY2hhcnRfcHJvcGVydHlfcGFnZV90cmFkaW5nIiwiYWRkX3RvX3dhdGNobGlzdCIsIm9wZW5fYWNjb3VudF9tYW5hZ2VyIiwic2hvd19kb21fZmlyc3RfdGltZSIsIm9yZGVyX3BhbmVsIiwiYnV5X3NlbGxfYnV0dG9ucyIsIm11bHRpcGxlX3dhdGNobGlzdHMiLCJzaG93X3RyYWRpbmdfbm90aWZpY2F0aW9uc19oaXN0b3J5IiwiYWx3YXlzX3Bhc3NfY2FsbGVkX29yZGVyX3RvX21vZGlmeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsImRyYXdpbmdfdGVtcGxhdGVzIiwidHJhZGluZ19hY2NvdW50X21hbmFnZXIiLCJjaGFydF9jcm9zc2hhaXJfbWVudSIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsIndhdGNobGlzdF9jb250ZXh0X21lbnUiLCJzaG93X3N5bWJvbF9sb2dvX2luX2FjY291bnRfbWFuYWdlciIsInNob3dfc3ltYm9sX2xvZ29faW5fY2xvc2VfcG9zaXRpb25fZGlhbG9nIiwic2hvd19zeW1ib2xfbG9nb19pbl9jYW5jZWxfb3JkZXJfZGlhbG9nIiwid2F0Y2hsaXN0X3NlY3Rpb25zIiwicHJlZmVyX3F1b3RlX3Nob3J0X25hbWUiLCJlbmFibGVfZG9tX2RhdGFfZm9yX3VudHJhZGFibGVfc3ltYm9scyIsInByZWZlcl9zeW1ib2xfbmFtZV9vdmVyX2Z1bGxuYW1lIiwid2F0Y2hsaXN0X2Nyb3NzX3RhYl9zeW5jIl19fScpCn0sNzQ2OTQ5KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKQp9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/s/_/ytembeds/_/ss/k=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=0/br=1/rs=AGKMywGx4txhFJhcrutKYsfPmS4mFc6oJQ","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:53.606Z","timestamp":1785129293606,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /s/_/ytembeds/_/ss/k=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=0/br=1/rs=AGKMywGx4txhFJhcrutKYsfPmS4mFc6oJQ HTTP/1.1\r\nHost: www.youtube-nocookie.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 49693\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 13:34:56 GMT\r\nexpires: Sat, 24 Jul 2027 13:34:56 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 05:09:16 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 229197\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":433272,"size_decoded":50599,"mime_type":"text/css; charset=UTF-8","magic":"Unicode text, UTF-8 text, with very long lines (65533), with no line terminators","md5":"d1d542d1ae2669dbf300aeeeb134bd3f","sha1":"a50e6db2d43b5b3a3275086de228e20b06f4784d","sha256":"855047a3d1daf90c03574fd819aea0dc8b98c9b50256a57a335150e07ede8b3f","sha512":"dd92ae6fe58394aeb38127615e817c06473994520d10d243a644393643861155516b3a66d15a50f5350d822a403944a6d6481455d3c91c440dde1bb90859037a","ssdeep":"12288:07bPIcclM34rEVNVQeTBwKkIjr8UM8zIcsRHphJMJarzQ5MEJwq5nP/ZkvCBQa/f:0YaMSqHxGmjlVa","tlshash":"cb94c97255122258f0179731bbe2fe06b562d117c25a3aafe442ff1cc6ef1e12e6260d","first_seen":"2026-07-24T13:29:06.288153Z","last_seen":"2026-07-27T08:07:37.455164Z","times_seen":415,"resource_available":false,"data":"OnJvb3R7LS10N2Y0ZjJjNmQ1NDgzNmNlMDppbml0aWFsOy0tdDdkOGI4ZTVlZTI5MWFlYzA6aW5pdGlhbDstLXQ0NzI2YzY4ZWY2ZDdiMDhmOmluaXRpYWw7LS10ZjBhMGQxMTU0ODI3ODQ3Zjppbml0aWFsOy0tdDNlNDFkN2IxN2IxODdmNjk6aW5pdGlhbDstLXRmZjY1OTkzMzg0YmI0NTYwOmluaXRpYWw7LS10ZTI4NjdiMTNkNzcxZDA1NTppbml0aWFsOy0tdDkzM2Q3OTIyZjMxNThkYzU6aW5pdGlhbDstLXQyNjRlMmM5Y2I4Nzg5MWY5OmluaXRpYWw7LS10MjA2ZjNmYTJlMDFhZjIyZDppbml0aWFsOy0tdDM0ZjQ2ZjBmMmMxM2QzMjg6aW5pdGlhbDstLXQ4NTRjNzkzMzhkOGNhOGE3OmluaXRpYWw7LS10MjA0ODA3MTdkZTgwZjU1NTppbml0aWFsOy0tdDJkODA3YmI3OWU3NTYwNmQ6aW5pdGlhbDstLXQ2MTdkYjc3NmFmMGRlMTk2OmluaXRpYWw7LS10YjYyODExN2ZjMTY0YWQ4Nzppbml0aWFsOy0tdGQ1NDVkZjA0ZTJjNjU5ZDc6aW5pdGlhbDstLXQ1Mzk5MWQ1OTliMTQ4OGY1OmluaXRpYWw7LS10YTg4OWRmZGE5NjA1YTM1ODppbml0aWFsOy0tdDU5NzhkYThkNTg0YjhmZTk6aW5pdGlhbDstLXQxMjRiN2RhZmU5YmMzNjZkOmluaXRpYWw7LS10ZGJlNTBkMjdkNTFmNTA5Mzppbml0aWFsOy0tdGE1NjRkODIxMmJjY2IxNmE6aW5pdGlhbDstLXQ5OWY3NzQ2ODRjYmI5NzAzOmluaXRpYWw7LS10NGU2ZGY5YjJiNmI5N2UwMDppbml0aWFsOy0tdGI4YjMxYWM1NjJmYmU5YjU6aW5pdGlhbDstLXQ1ODg0NjcyMDA0ZDU2MTIwOmluaXRpYWw7LS10ZWY3MGNhMjQ1NDQ1YjUyYjppbml0aWFsOy0tdDRmMDkyMmU1YTNkMGMyMGY6aW5pdGlhbDstLXQ3ZGZhNmY4NGM5MzQ2ZWRmOmluaXRpYWw7LS10ZWNiZGY5MjRiNjNiMjdmYzppbml0aWFsOy0tdDE0MDVlNzBhMzkyNzYyOTM6aW5pdGlhbDstLXRhZDg0NDNmYWVkNjZjMTExOmluaXRpYWw7LS10ZTZkMmI0MjhkZTY4NTU0YTppbml0aWFsOy0tdGM5ODBjNTQ3ODEyNGM4Yzc6aW5pdGlhbDstLXQ5NjU2NDRlY2RiZTRiN2I4OmluaXRpYWw7LS10YjE0YTEwYzNiNDNhMTVhMzppbml0aWFsOy0tdGIxM2ZmODc5NzgyOWU3OWU6aW5pdGlhbDstLXRlNTY2OGU2MTExYWJhMGVkOmluaXRpYWw7LS10YTdkNjI4ZmFjZmU4NGQxODppbml0aWFsOy0tdGJlNDIyNjk1MzQ2NTVlNjc6aW5pdGlhbDstLXRhYjgwNTkyMzYwNjNjYWRiOmluaXRpYWw7LS10NzM1ZTQzNWE4YjdhZDY3Yzppbml0aWFsOy0tdDIxYWYwOGZkYmY2YTE0MDY6aW5pdGlhbDstLXRjNjA0MTEzZDA5ZmVlMDVkOmluaXRpYWw7LS10MDhhN2M2YzE3NmNiYzVjMjppbml0aWFsOy0tdDhjZGM5ODQ2YTc2Y2FmMWY6aW5pdGlhbDstLXRlMWI2NGU2OTcxMDQwMzk2OmluaXRpYWw7LS10NDE2ZTU5MzFmYzQ2NDU4OTppbml0aWFsOy0tdGI3ZDc0YmIzMjkxYzk1MWQ6aW5pdGlhbDstLXRmM2ZjODU1YWYyMjg1ZjVmOmluaXRpYWw7LS10MGExMjQ5ZjdjOWU4MmI1ZTppbml0aWFsOy0tdDAyYzBhMmM4NjhjMTRjZTg6aW5pdGlhbDstLXRkODU2MmNkYzIwM2JjNjgzOmluaXRpYWw7LS10NTNkZGE5MTI1ZThkMTMyNDppbml0aWFsOy0tdDU0NGUzMTcxNGY2M2Q1M2M6aW5pdGlhbDstLXQ4N2VhYmYxMTNhMTVhYzk2OmluaXRpYWw7LS10ODU4YjgwOWY4MDQ0ZTk2Mjppbml0aWFsOy0tdDBmNTkyOTFjZTU1MDQ1NDM6aW5pdGlhbDstLXRmYWFlOTY2OTJjYzE4MmU0OmluaXRpYWw7LS10NTE4ZTkyNWY2MWJkY2I5MTppbml0aWFsOy0tdGI5MjdmNWMwMTQ5MDA0YzY6aW5pdGlhbDstLXQ4MzJmMjJjZTY2MThlOTllOmluaXRpYWw7LS10NDViMmEzODMxNDkyNDM1Nzppbml0aWFsOy0tdDY5MzFhYTE4MjZiMzczYjI6aW5pdGlhbDstLXRlZDQyMzY1MzY4OTllNGIzOmluaXRpYWw7LS10ZGM4YWY2NzUwZjBkYWQwZDppbml0aWFsOy0tdDM0MTBjOTE2NDllNWViOGE6aW5pdGlhbDstLXQ0YWVhYTg1N2RlOGE3ODZiOmluaXRpYWw7LS10Mjk2YzdmODFkZDA5YTljMzppbml0aWFsOy0tdGZhMzQ3NWM1MDhmNWRmZWY6aW5pdGlhbDstLXQ5YmMwYjc0MDI0MmRhMDE3OmluaXRpYWw7LS10NDQxYTBlNDRlNDk1MzgxYTppbml0aWFsOy0tdGRlNDEzMzhmYzJiZDRiYTU6aW5pdGlhbDstLXQ0ZDc3NzZjMjhkYjIxMTIyOmluaXRpYWw7LS10N2UzNGQ1YmFhNGVhNjI3Nzppbml0aWFsOy0tdGM0YjI2MDQyZDRjYjE0MWY6aW5pdGlhbDstLXQ1MjA4ZmQxNzdhNzg4Y2ZhOmluaXRpYWw7LS10ZmZjMmZkM2E2NDRmNjI3NTppbml0aWFsOy0tdDYyMTYxODZjMjhiMzgzNGI6aW5pdGlhbDstLXQ0YTZkYTE5ZTE2YmYyMjFhOmluaXRpYWw7LS10ZDljMTlmNGY4Y2VjZDU2ZTppbml0aWFsOy0tdDNmM2JkYjQxNDBkM2VhZDc6aW5pdGlhbDstLXQ5MDRhODhjNjIzY2EyN2FiOmluaXRpYWw7LS10MmMzYmJmZjZjMTVhM2ViMjppbml0aWFsOy0tdDBjY2QxYWNlMDAwZDVlOTM6aW5pdGlhbDstLXRjODdmNmE3ZjA1ZTY1ZmM0OmluaXRpYWw7LS10YzA0YmEzZTczNTYxOTUzYzppbml0aWFsOy0tdDdjNDk2NWMxMWY4NTM3YzA6aW5pdGlhbDstLXQ0MzJmYmRiZDdmMmYzZjcxOmluaXRpYWw7LS10YWYxYmRkOTYxNDIzYzE1Zjppbml0aWFsOy0tdDlkN2JkY2FlZmM5NzVkNDQ6aW5pdGlhbDstLXQ0ZmIwZjY3YjI1MWUxYTQyOmluaXRpYWw7LS10YTA4ZTAzNjQxMGMxNDUzODppbml0aWFsOy0tdDdmOWI3ZTE2MDNlMjBiOTQ6aW5pdGlhbH0uZGlhbG9ne3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjE2cHg7bWFyZ2luOjAgYXV0bztvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87Zm9udC1zaXplOjEuM3JlbTtjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6bm9uZX0uZGlhbG9nLm1vZGVybi1kaWFsb2d7Ym94LXNoYWRvdzowIDAgMjRweCAxMnB4IHJnYmEoMCwwLDAsMC4yNSl9LmRpYWxvZy5yb3VuZGVkLWNvbnRhaW5lcntib3JkZXItcmFkaXVzOjEycHh9LmRpYWxvZy5tb2Rlcm4tZGlhbG9nLWxheW91dHtwYWRkaW5nOjA7Ym9yZGVyLXJhZGl1czoyNHB4fS5kaWFsb2ctYm9keXtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW47bWF4LWhlaWdodDozMDBweDttYXgtaGVpZ2h0OjEwMHZofS5kaWFsb2cuc2Nyb2xsYWJsZSAuZGlhbG9nLWJvZHl7b3ZlcmZsb3cteTp2aXNpYmxlO292ZXJmbG93LXg6dmlzaWJsZTttYXgtaGVpZ2h0OnVuc2V0fS5kaWFsb2ctY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjR9LmRpYWxvZy1oZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5kaWFsb2ctYnV0dG9ucywuZGlhbG9nLWhlYWRlcntmbGV4LXNocmluazowfS5kaWFsb2ctYnV0dG9uc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tdG9wOjEycHh9LmRpYWxvZy1idXR0b25zPip7bWFyZ2luLWxlZnQ6OHB4fS5kaWFsb2ctYnV0dG9ucz46Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0uZGlhbG9nLWZsZXgtYnV0dG9uey1tb3otYm94LWZsZXg6MTtmbGV4OjF9LmRpYWxvZy1mbGV4LWJ1dHRvbiAuYnV0dG9uLXdpdGgtaWNvbi5jb21wYWN0e21hcmdpbjowfS5kaWFsb2ctYm9keSBhLC5kaWFsb2ctaGVhZGVyIGF7Y29sb3I6IzA2NWZkNH0uZGlhbG9nLWJvZHkgeXRtLW1lbnUtaXRlbSBhe2NvbG9yOmN1cnJlbnRjb2xvcn1AbWVkaWEgKG1pbi13aWR0aDozMzBweCkgYW5kIChtaW4taGVpZ2h0OjMzMHB4KXsuZGlhbG9ne21pbi13aWR0aDoyNTBweDttYXgtd2lkdGg6MzU2cHh9LmRpYWxvZy1jb250YWluZXJ7bWFyZ2luOjAgNDBweDtwYWRkaW5nOjA7cGFkZGluZzowIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpfX0uZGlhbG9nLWZ1bGxzY3JlZW57bWluLXdpZHRoOjEwMCU7bWluLWhlaWdodDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MDtoZWlnaHQ6MXB4fS5kaWFsb2ctZnVsbHNjcmVlbj4uZGlhbG9nLWJvZHl7aGVpZ2h0OjEwMCV9LmRpYWxvZy5tb2Rlcm4tZGlhbG9nLWxheW91dC5kaWFsb2ctZnVsbHNjcmVlbntib3JkZXItcmFkaXVzOjB9LmRpYWxvZy1jb250YWluZXIuZGlhbG9nLWZ1bGxzY3JlZW57bWFyZ2luOjB9YzMtdG9hc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MTRweCAyNHB4O2ZvbnQtc2l6ZToxLjRyZW07Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiMwZjBmMGY7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtO21hcmdpbi1ib3R0b206LTEwMCV9YzMtdG9hc3QuaHVnLXRvYXN0e21heC13aWR0aDozNDRweH1jMy10b2FzdC5pbnZlcnNlLXRoZW1le2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMDMwMzAzfWMzLXRvYXN0LmludmVyc2UtdGhlbWUgLmJ1dHRvbi13aXRoLWljb257Y29sb3I6IzA2NWZkNH1baGFzLXNhZmUtYXJlYS1pbi1tYXg9dHJ1ZV0gYzMtdG9hc3R7cGFkZGluZzoxNHB4IDI0cHg7cGFkZGluZzoxNHB4IG1heCgyNHB4LGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKSAxNHB4IG1heCgyNHB4LGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpfVtoYXMtcGl2b3QtYmFyPXRydWVdIGMzLXRvYXN0ey0tc2FmZS1hcmVhLWluc2V0LXRvcDplbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7LS1zYWZlLWFyZWEtaW5zZXQtYm90dG9tOmVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtib3R0b206NDhweDtib3R0b206Y2FsYyg0OHB4ICsgdmFyKC0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO21hcmdpbi1ib3R0b206LTEwMCU7bWFyZ2luLWJvdHRvbTpjYWxjKC0xMDAlICsgdmFyKC0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO3otaW5kZXg6Mn1bbW9kYWwtb3Blbi1ib2R5XSBjMy10b2FzdCxbc2hvcnRzLXBsYXllcj10cnVlXSBjMy10b2FzdHtib3R0b206OHB4O21hcmdpbi1ib3R0b206LTEwMCU7ei1pbmRleDo1fWMzLXRvYXN0W2Rpcj1vdXRde3RyYW5zaXRpb246bWFyZ2luIDE5NW1zIGN1YmljLWJlemllciguNCwwLDEsMSl9YzMtdG9hc3RbZGlyPWluXXt0cmFuc2l0aW9uOm1hcmdpbiAyMjVtcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO21hcmdpbi1ib3R0b206MH1Aa2V5ZnJhbWVzIHNwaW5uZXJ7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19LnNwaW5uZXJXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LnNwaW5uZXJ7ZGlzcGxheTpibG9jazstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luOjEycHggYXV0bzt3aWR0aDozMnB4O2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoycHggc29saWQgI2VlZTtib3JkZXItdG9wLWNvbG9yOiM2NjY7YW5pbWF0aW9uOnNwaW5uZXIgLjhzIGxpbmVhciBpbmZpbml0ZX0uc3Bpbm5lcj4uaGlkZGVue2Rpc3BsYXk6bm9uZX0uc3Bpbm5lcjpub3QoW2hpZGRlbl0pe2NvbG9yOiMzMzM7Zm9udC1zaXplOjEuNnJlbX1odG1se2NvbG9yOiMwMzAzMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmfWJvZHl7bWFyZ2luOjA7cGFkZGluZzowO3BhZGRpbmc6MCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtmb250LXNpemU6MS4ycmVtO292ZXJmbG93LXg6aGlkZGVufVtoaWRkZW5dW2hpZGRlbl17ZGlzcGxheTpub25lO3Zpc2liaWxpdHk6aGlkZGVufXl0bS1hcHA+LnNwaW5uZXJ7bWFyZ2luLXRvcDoxMDBweH15dG0taGVhZGVye2Rpc3BsYXk6YmxvY2t9aGVhZGVye2hlaWdodDo0OHB4fS5wbGF5ZXItY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0OHB4O3JpZ2h0OjA7cmlnaHQ6ZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7bGVmdDowO2xlZnQ6ZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDoyfVtoYXMtcGxheWVyLWN1c3RvbS1jb250cm9sPXRydWVdIC5wbGF5ZXItY29udGFpbmVye292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50fSNwbGF5ZXIuaW5saW5lLXBsYXllci1oaWRkZW4sLmlubGluZS1wbGF5ZXItaGlkZGVue29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfS5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSx5dG0td2F0Y2ggLnBsYXllci1zaXple3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206NTYuMjUlO292ZXJmbG93OmhpZGRlbn0ucGxheWVyLWNvbnRhaW5lciAjcGxheWVyLnBsYXllci1zaXplLHl0bS13YXRjaCAucGxheWVyLXNpemV7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5wbGF5ZXItY2luZW1hdGljc3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDojMDAwfS5wbGF5ZXItY2luZW1hdGljc34jcGxheWVyLnBsYXllci1zaXplLC5wbGF5ZXItY2luZW1hdGljc34ucGxheWVyLXNpemV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ucGFnZS1zaG9ydHMgLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLC5wYWdlLXNob3J0cyB5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOjB9LnBsYXllci1jb250YWluZXIgLnBsYXllci1hcGl7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5wbGF5ZXItYXBpW2hpZGRlbl0sLnBsYXllci1hcGlbbG9hZGluZz10cnVlXSwucGxheWVyLWFwaVtwbGF5YWJsZT1mYWxzZV17ZGlzcGxheTpub25lfSNwbGF5ZXIuaW5saW5lLW9uLXRodW1ibmFpbHtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjB9LnBsYXllci1jb250YWluZXIgLmh0bWw1LXZpZGVvLXBsYXllcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MH15dG0tYXBwe2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteDpoaWRkZW59W2hhcy1zb2Z0LWJhcj10cnVlXSB5dG0tYXBwe3BhZGRpbmctYm90dG9tOjMwcHh9W2hhcy1waXZvdC1iYXI9dHJ1ZV0geXRtLWFwcHtwYWRkaW5nLWJvdHRvbTo0OHB4fXl0bS1oZWFkZXIuaXMtYXV0b21vdGl2ZSx5dG0taGVhZGVyLnN0aWNreS1wbGF5ZXIseXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXIuaXMtYXV0b21vdGl2ZSx5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zaG9ydHMtdG9wYmFyLHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnN0aWNreS1wbGF5ZXJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo0O3BhZGRpbmc6MDtwYWRkaW5nOjAgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkgMCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpfXl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnN0aWNreS1wbGF5ZXIub3V0e3RvcDotNDhweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAxOTVtcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb24tcHJvcGVydHk6YWxsfXl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnN0aWNreS1wbGF5ZXIuaW57dG9wOjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMjI1bXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbH0ucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3Bvc2l0aW9uOmZpeGVkO3RvcDo0OHB4O3JpZ2h0OjA7cmlnaHQ6ZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7bGVmdDowO2xlZnQ6ZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDoyfS5wbGF5ZXItY29udGFpbmVyLmhlYWRlci1pbi1wbGF5ZXIsLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllci5oZWFkZXItaW4tcGxheWVye3RvcDowfXl0bS1hcHAuaXMtYXV0b21vdGl2ZSx5dG0tYXBwLnN0aWNreS1wbGF5ZXJ7ZGlzcGxheTpibG9jaztwYWRkaW5nLXRvcDo0OHB4fXl0bS1hcHAuaXMtYXV0b21vdGl2ZS5oZWFkZXItaW4tcGxheWVyLHl0bS1hcHAuc3RpY2t5LXBsYXllci5oZWFkZXItaW4tcGxheWVye3BhZGRpbmctdG9wOjB9QG1lZGlhIChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXtib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MjU2cHh9Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAyNTZweCl9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lcixib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MjU2cHh9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjU2cHgpfS5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDMzNnB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLC5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAzMzZweCl9Lm13ZWItYWxsLWxhbmRzY2FwZS10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyAucGxheWVyLWNvbnRhaW5lcntib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfUBzdXBwb3J0cyAoYXNwZWN0LXJhdGlvOjE2Lzkpey5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciB5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOnVuc2V0O2FzcGVjdC1yYXRpbzoxNi85fX0ubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgeXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0OHB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwc3ZoIC0gNDhweCl9fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoyMS8xMCkgYW5kIChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyAucGxheWVyLWNvbnRhaW5lcntib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTYvOSkgYW5kIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lciwubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjMzNnB4fS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAzMzZweCl9Lm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLC5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjMzNnB4fS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMzM2cHgpfS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgLnBsYXllci1jb250YWluZXJ7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn1Ac3VwcG9ydHMgKGFzcGVjdC1yYXRpbzoxNi85KXsubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IHl0bS13YXRjaCAucGxheWVyLXNpemV7cGFkZGluZy1ib3R0b206dW5zZXQ7aGVpZ2h0OmF1dG87YXNwZWN0LXJhdGlvOjE2Lzl9fX1AbWVkaWEgKG1pbi13aWR0aDoxMjgwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXtib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSA1MDBweCl9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lcixib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gNTAwcHgpfS5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDo1MDBweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDUwMHB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLC5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDo1MDBweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSA1MDBweCl9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7eXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXIuc2hvcnRzLXRvcGJhcntyaWdodDo3MnB4fS5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSx5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOmNhbGMoNTYuMjUlIC0gOTZweCl9Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIHl0bS13YXRjaCAucGxheWVyLXNpemV7aGVpZ2h0OmNhbGMoNTYuMjV2dyAtIDk2cHgpO3BhZGRpbmctYm90dG9tOnVuc2V0O21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDQ4cHgpO21heC1oZWlnaHQ6Y2FsYygxMDBzdmggLSA0OHB4KX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTo1Ni4yNSV9fUBtZWRpYSAobWF4LXdpZHRoOjMyMHB4KSBhbmQgKG1heC1oZWlnaHQ6MjQwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTo1Ni4yNSV9fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7eXRtLWFwcHtwYWRkaW5nLXRvcDo0OHB4fXl0bS1oZWFkZXIseXRtLWhlYWRlci1iYXIseXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo0fX0uY29udGVudC1lcnJvcntmb250LXNpemU6MS40cmVtO3BhZGRpbmc6MTJweDt0ZXh0LWFsaWduOmNlbnRlcn0jcGxheWVyLXRodW1ibmFpbC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO29iamVjdC1maXQ6Y292ZXI7bWluLWhlaWdodDowfSNwbGF5ZXItY29udGFpbmVyLWlkW3BsYXlhYmxlPXRydWVdICNwbGF5ZXItdGh1bWJuYWlsLW92ZXJsYXl7dmlzaWJpbGl0eTpoaWRkZW59Ym9keS5wYWdlLXNob3J0cyxodG1sW3BhZ2Utc2hvcnRzXXtvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6bm9uZX1ib2R5LmxvYWRpbmcucGFnZS1zaG9ydHMgI2hlYWRlcixib2R5LmxvYWRpbmcucGFnZS1zaG9ydHMgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye2Rpc3BsYXk6bm9uZX1ib2R5LnBhZ2Utc2hvcnRzICNwbGF5ZXItY29udGFpbmVyLWlkLGJvZHkucGFnZS1zaG9ydHMgLnBsYXllci1jb250YWluZXIgI3BsYXllcntoZWlnaHQ6MTAwJTt0b3A6MH0qey1tcy1mbGV4OjAgMSBhdXRvfWJ1dHRvbntwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lO2ZvbnQ6aW5oZXJpdDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0O2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH1odG1se3dvcmQtd3JhcDpicmVhay13b3JkO2NvbG9yOiMwMzAzMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmOy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlfWJvZHlbZGlzYWJsZS10YXAtaGlnaGxpZ2h0PXRydWVdIFtyb2xlPWJ1dHRvbl0sYm9keVtkaXNhYmxlLXRhcC1oaWdobGlnaHQ9dHJ1ZV0gYSxib2R5W2Rpc2FibGUtdGFwLWhpZ2hsaWdodD10cnVlXSBidXR0b257LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWh0bWxbZGFya2VyLWRhcmstdGhlbWVde2JhY2tncm91bmQtY29sb3I6I2ZmZn1odG1sLndhdGNoLXNjcm9sbHtzY3JvbGwtcGFkZGluZy10b3A6NDhweH1odG1sLndhdGNoLXNjcm9sbC5zdGlja3ktcGxheWVye3Njcm9sbC1wYWRkaW5nLXRvcDpjYWxjKDQ4cHggKyA1Ni4yNXZ3KX1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNzM3MzczO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9aW5wdXQ6Zm9jdXN7bWFyZ2luLWJvdHRvbTowO2JvcmRlci1ib3R0b20td2lkdGg6MnB4O2JvcmRlci1ib3R0b20tY29sb3I6IzAzMDMwM31pbnB1dDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9dGV4dGFyZWF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwYWRkaW5nLWJvdHRvbTo0cHg7b3V0bGluZTpub25lOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7bWFyZ2luLWJvdHRvbToxcHg7Zm9udDppbmhlcml0O2NvbG9yOiMwMzAzMDM7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO21pbi1oZWlnaHQ6OC40cmVtO3dpZHRoOjEwMCU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7cGFkZGluZzo4cHh9dGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9dGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfWZvcm17bWFyZ2luOjB9YXtjb2xvcjpjdXJyZW50Q29sb3I7dGV4dC1kZWNvcmF0aW9uOm5vbmV9aDF7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDttYXJnaW4tYm90dG9tOjB9aDJ7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS44cmVtO21hcmdpbi1ib3R0b206MH1oM3tkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDttYXgtaGVpZ2h0OjIuNWVtOy13ZWJraXQtbGluZS1jbGFtcDoyO292ZXJmbG93OmhpZGRlbjtsaW5lLWhlaWdodDoxLjI1O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowIDAgM3B4O2ZvbnQtc2l6ZToxLjRyZW07bWFyZ2luLWJvdHRvbTowfWg0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7Zm9udC1zaXplOjEuM3JlbTttYXJnaW4tYm90dG9tOjB9aW1ne21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHg7ZmlsdGVyOm5vbmV9aW1nOm5vdChbc3JjXSl7dmlzaWJpbGl0eTpoaWRkZW59OmZvY3Vze291dGxpbmU6bm9uZX1we21hcmdpbjowfS5pdGVte21hcmdpbi10b3A6MTJweDtkaXNwbGF5OmJsb2NrfS5pdGVtOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbToxMnB4fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lml0ZW17bWFyZ2luLXRvcDo4cHh9fS5pbWFnZS1vdmVybGF5LXRleHR7dGV4dC1zaGFkb3c6MXB4IDFweCBoc2xhKDAsMCUsNi43JSwuMiksLTFweCAxcHggaHNsYSgwLDAlLDYuNyUsLjIpLC0xcHggLTFweCBoc2xhKDAsMCUsNi43JSwuMiksMXB4IC0xcHggaHNsYSgwLDAlLDYuNyUsLjIpfSNwbGF5ZXItY29udHJvbC1jb250YWluZXJ7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCk7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfVtkaXI9cnRsXSAjcGxheWVyLXNob3J0cy1jb250YWluZXJ7ZGlyZWN0aW9uOnJ0bH1bZmF1eC1mdWxsc2NyZWVuPXRydWVdICNwbGF5ZXItY29udHJvbC1jb250YWluZXIsW2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAjcGxheWVyLFtzaG9ydHMtcGxheWVyPXRydWVdICNwbGF5ZXItc2hvcnRzLWNvbnRhaW5lcixbc2hvcnRzLXBsYXllcj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAjcGxheWVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3BhZGRpbmctYm90dG9tOjB9Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXI6ZnVsbHNjcmVlbiAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgW2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemV7aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDoxMDAlO2FzcGVjdC1yYXRpbzphdXRvfVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV1bZnVsbHNjcmVlbi1yZWplY3RlZD10cnVlXSAjYXBwe2Rpc3BsYXk6bm9uZX1bc2hvcnRzLXBsYXllcj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAuaHRtbDUtdmlkZW8tY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRhaW5lcixbZmF1eC1mdWxsc2NyZWVuPXRydWVdIHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLFtzaG9ydHMtcGxheWVyPXRydWVdIC5wbGF5ZXItY29udGFpbmVyLFtzaG9ydHMtcGxheWVyPXRydWVdIHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyOm5vdCguc2hvcnRzLXRvcGJhcil7b3ZlcmZsb3c6dmlzaWJsZTt6LWluZGV4OjR9W3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gLnBsYXllci1jb250YWluZXIgLnl0cC11bm11dGUueXRwLXBvcHVwe3RvcDo3NXB4O2xlZnQ6MDtsZWZ0OmVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCl9W3JvbGU9YnV0dG9uXSxidXR0b24saW5wdXRbdHlwZT1jaGVja2JveF0sc2VsZWN0e2N1cnNvcjpwb2ludGVyfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXXt3aWR0aDp2YXIoLS15dGQtc2hvcnRzLXBsYXllci13aWR0aCk7aGVpZ2h0OnZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLWhlaWdodCl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXSAucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXttYXJnaW4tcmlnaHQ6dmFyKC0tYWN0aW9uLWJ1dHRvbi1mdWxsLXdpZHRoLW5lZ2F0aXZlKTtwYWRkaW5nLXJpZ2h0OnZhcigtLWFjdGlvbi1idXR0b24tZnVsbC13aWR0aCl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LWFjdGlvbi1iYXJde3dpZHRoOmNhbGModmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpICsgNzJweCl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LWFjdGlvbi1iYXJdIC5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhe21hcmdpbi1yaWdodDowO3BhZGRpbmctcmlnaHQ6MH15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlcltpcy13ZWJdW2V4dHJhY3QtYWN0aW9uLWJhcl0gLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9uc3ttYXJnaW4tYm90dG9tOjE2cHh9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LW92ZXJsYXlde3dpZHRoOjEwMCV9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LW92ZXJsYXldIC5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhe3dpZHRoOmNhbGMoKDEwMCUgLSBtYXgodmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpLCAzMTVweCkpLzIpO21hcmdpbi1yaWdodDptYXgodmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpLDMxNXB4KTtwYWRkaW5nLXJpZ2h0OjA7YmFja2dyb3VuZC1pbWFnZTpub25lO2ZpbHRlcjp1bnNldDttaW4td2lkdGg6MzYwcHg7bWF4LXdpZHRoOjQ4MHB4O3BhZGRpbmctbGVmdDoxNnB4fXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1vdmVybGF5XSAucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MX15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlciBidXR0b246bm90KFthcmlhLXByZXNzZWQ9dHJ1ZV0pIGMzLWljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMXB4IDZweCByZ2JhKDAsMCwwLC40KSl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXIgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7dGV4dC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsMC44KX0ucmVlbC1wbGF5ZXItb3ZlcmxheS1tYWluLWNvbnRlbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDplbmQ7LW1vei1ib3gtYWxpZ246c3RyZXRjaDthbGlnbi1pdGVtczpzdHJldGNofS5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1mbGV4OjE7ZmxleDoxIDEgMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWluLXdpZHRoOjA7bWFyZ2luOjAgMCAxNnB4IDE2cHh9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbZGF0YS1oYXMtaW5mby1wYW5lbD10cnVlXSsuUHJvZ3Jlc3NCYXJTaG93aW5ne3BhZGRpbmctdG9wOjE2cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGEgeXQtbWV0YWRhdGEtYmFkZ2UtcmVuZGVyZXJ7aGVpZ2h0OjI0cHg7cGFkZGluZzozcHggNHB4IDNweCAwfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjAgNHB4IDE2cHggNHB4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ucmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFye2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZy10b3A6MnB4fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb257bWFyZ2luOjAhaW1wb3J0YW50O21pbi13aWR0aDowO3RleHQtdHJhbnNmb3JtOm5vbmV9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyAuYnV0dG9uLXdpdGgtaWNvbiAuYnV0dG9uLXJlbmRlcmVyLXRleHR7bWFyZ2luLXRvcDo3cHg7bWF4LXdpZHRoOjY0cHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJ1dHRvbi1yZW5kZXJlcnttYXgtd2lkdGg6NjRweH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1ib3R0b20tc2hlZXQtcmVuZGVyZXIsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tbWVudS1yZW5kZXJlcnttYXJnaW4tdG9wOjRweDtkaXNwbGF5OmJsb2NrOy1tb3otYm94LWZsZXg6MTtmbGV4OjE7cGFkZGluZy1yaWdodDo0cHg7cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjhweH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHBpdm90LWJ1dHRvbi12aWV3LW1vZGVsLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJ1dHRvbi1yZW5kZXJlciwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS10b2dnbGUtYnV0dG9uLXJlbmRlcmVye2Rpc3BsYXk6YmxvY2s7cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjhweDttYXJnaW46MH1AbWVkaWEgKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnN7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDQ4cHgpfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgcGl2b3QtYnV0dG9uLXZpZXctbW9kZWwsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tYnV0dG9uLXJlbmRlcmVyLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLXRvZ2dsZS1idXR0b24tcmVuZGVyZXJ7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOi4zZW19LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tYm90dG9tLXNoZWV0LXJlbmRlcmVyLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXJ7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjB9fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXIgLmljb24tYnV0dG9ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyBidXR0b24+LmJ1dHRvbi13aXRoLWljb24taW5uZXJ7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyIHl0bS1wcm9maWxlLWljb257Ym9yZGVyOjFweCBzb2xpZCAjZmZmfUBtZWRpYSAobWF4LWhlaWdodDo0MTFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb24sLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tZm9yY2VkLW11dGUtbWVzc2FnZS1yZW5kZXJlcnttaW4taGVpZ2h0OjQwcHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyAuYnV0dG9uLXdpdGgtaWNvbiAuYnV0dG9uLXJlbmRlcmVyLXRleHQsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtkaXNwbGF5Om5vbmV9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tbWVudS1yZW5kZXJlciAuaWNvbi1idXR0b257aGVpZ2h0OjMycHh9fS5sb2dvLWluLXBsYXllciwubW9iaWxlLXRvcGJhci1sb2dve2NvbG9yOiNmMDM7cGFkZGluZzowIDEycHg7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDttYXJnaW4tbGVmdDotMXB4fS5sb2dvLWluLXBsYXllci5mdWxsLWxvZ28sLm1vYmlsZS10b3BiYXItbG9nby5mdWxsLWxvZ297d2lkdGg6OTNweDtoZWlnaHQ6MjBweDtjb2xvcjojMDAwO21hcmdpbi1sZWZ0OjB9LmxvZ28taW4tcGxheWVyLnNob3J0cy1sb2dvLC5tb2JpbGUtdG9wYmFyLWxvZ28uc2hvcnRzLWxvZ297d2lkdGg6NzNweDtoZWlnaHQ6MjVweDtjb2xvcjojMDAwO21hcmdpbi1sZWZ0OjB9LmxvZ28taW4tcGxheWVyLmZ1bGwtbG9nby1yZWQsLm1vYmlsZS10b3BiYXItbG9nby5mdWxsLWxvZ28tcmVke3dpZHRoOjEwMXB4fS5sb2dvLWluLXBsYXllci1lbmRwb2ludCwubW9iaWxlLXRvcGJhci1oZWFkZXItZW5kcG9pbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6NDhweDt0ZXh0LWFsaWduOmxlZnR9LmxvZ28taW4tcGxheWVyLmZ1bGwtbG9nb3tjb2xvcjojZmZmfS5tb25vY2hyb21hdGljIHN2ZyBwYXRoe2ZpbGw6I2ZmZn15dG0tc3Vic2NyaWJlLWJ1dHRvbi1yZW5kZXJlcntkaXNwbGF5OmJsb2NrfXl0bS1zdWJzY3JpYmUtYnV0dG9uLXJlbmRlcmVyIC5idXR0b24tcmVuZGVyZXItaWNvbntoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS5tb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5zdWJzY3JpYmUtYnV0dG9uLWNvdW50e2NvbG9yOiM2MDYwNjA7Zm9udC1zaXplOjEuNHJlbTttYXJnaW46MCA4cHh9QGtleWZyYW1lcyBub3RpZmljYXRpb24tYmVsbC1mYWRlLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpub25lfX0ubm90aWZpY2F0aW9uLWJlbGwtY29udGFpbmVye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo1O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OmhpZGRlbn0ubm90aWZpY2F0aW9uLWJlbGwtY29udGFpbmVyLmhpZGRlbntkaXNwbGF5Om5vbmV9Lm5vdGlmaWNhdGlvbi1iZWxse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDotMnB4O2FuaW1hdGlvbjpub3RpZmljYXRpb24tYmVsbC1mYWRlLWluIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ubW9kZXJuLXN1YnNjcmliZS1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmV9Lm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0e3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtwYWRkaW5nLWxlZnQ6MH0uWXRtVmlkZW9JbmZvRXhwYW5kZWQgLm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0LC55dG1WaWRlb0luZm9FeHBhbmRlZCAubW9kZXJuLXN1YnNjcmliZS1idXR0b24gLnl0QXR0cmlidXRlZFN0cmluZ0hvc3R7dHJhbnNpdGlvbjpub25lfS53aXRoLW5vdGlmaWNhdGlvbi1iZWxsIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0e3BhZGRpbmctbGVmdDoyNHB4fS55dENvcmVJbWFnZUhvc3R7dmlzaWJpbGl0eTpoaWRkZW47ZGlzcGxheTppbmxpbmUtYmxvY2s7bWluLWhlaWdodDoxcHg7bWluLXdpZHRoOjFweH0ueXRDb3JlSW1hZ2VMb2FkZWR7dmlzaWJpbGl0eTppbmhlcml0fS55dENvcmVJbWFnZUZpbGxQYXJlbnRIZWlnaHR7aGVpZ2h0OjEwMCV9Lnl0Q29yZUltYWdlRmlsbFBhcmVudFdpZHRoe3dpZHRoOjEwMCV9Lnl0Q29yZUltYWdlT2JqZWN0UG9zaXRpb25Ub3BMZWZ0e29iamVjdC1wb3NpdGlvbjp0b3AgbGVmdH0ueXRDb3JlSW1hZ2VPYmplY3RQb3NpdGlvblRvcFJpZ2h0e29iamVjdC1wb3NpdGlvbjp0b3AgcmlnaHR9Lnl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZVRvRmlsbHtvYmplY3QtZml0OmZpbGx9Lnl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpdHtvYmplY3QtZml0OmNvbnRhaW59Lnl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpbGx7b2JqZWN0LWZpdDpjb3Zlcn0ueXRDb3JlSW1hZ2VDb250ZW50TW9kZUNlbnRlcntvYmplY3QtZml0Om5vbmU7b2JqZWN0LXBvc2l0aW9uOmNlbnRlciBjZW50ZXJ9Lnl0Q29yZUltYWdlRmxpcFJ0bHt0cmFuc2Zvcm06c2NhbGVYKC0xKX0ueXRDb3JlSW1hZ2VHcmFkaWVudENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dENvcmVJbWFnZUdyYWRpZW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lfTpyb290ey0teXQtYXR0cmlidXRlZC1zdHJpbmctbGluay1ob3Zlci1jb2xvcjp1bnNldH0ueXRBdHRyaWJ1dGVkU3RyaW5nSW5saW5lQmxvY2tNb2R7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50Qm90dG9te3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0ueXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRCYXNlbGluZXt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRWZXJ0aWNhbENlbnRlcnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0uMDdlbX0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlzdEdyb3Vwey1tb3otcGFkZGluZy1zdGFydDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmt7dGV4dC1kZWNvcmF0aW9uOm5vbmU7ZGlzcGxheTppbmxpbmV9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmtDYWxsVG9BY3Rpb25Db2xvcntjb2xvcjojMDY1ZmQ0fS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rT3ZlcmxheUNhbGxUb0FjdGlvbkNvbG9ye2NvbG9yOiMzZWE2ZmZ9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmtbcm9sZT1idXR0b25de2N1cnNvcjpwb2ludGVyfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rSW5oZXJpdENvbG9yIC55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rQ2FsbFRvQWN0aW9uQ29sb3J7Y29sb3I6aW5oZXJpdH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciAueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0NhbGxUb0FjdGlvbkNvbG9yOmhvdmVye2NvbG9yOnZhcigtLXl0LWF0dHJpYnV0ZWQtc3RyaW5nLWxpbmstaG92ZXItY29sb3IpfS55dEF0dHJpYnV0ZWRTdHJpbmdFbGxpcHNpc1RydW5jYXRle2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dEF0dHJpYnV0ZWRTdHJpbmdXaGl0ZVNwYWNlTm9XcmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ueXRBdHRyaWJ1dGVkU3RyaW5nV2hpdGVTcGFjZVByZVdyYXB7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lnl0QXR0cmlidXRlZFN0cmluZ0lnbm9yZVNwbGl0TGluZXN7d2hpdGUtc3BhY2U6bm9ybWFsfS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50TGVmdHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246bGVmdH0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudFJpZ2h0e2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpyaWdodH0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudENlbnRlcntkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyfS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50SnVzdGlmaWVke2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpqdXN0aWZ5fS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50TGF5b3V0U3RhcnR7ZGlzcGxheTpibG9jazthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lnl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRVbmtub3due2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjppbmhlcml0fS55dEF0dHJpYnV0ZWRTdHJpbmdXb3JkV3JhcHBpbmd7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0ueXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lZHstbW96LXRleHQtZGVjb3JhdGlvbi1saW5lOnVuZGVybGluZTt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lnl0QXR0cmlidXRlZFN0cmluZ1N0cmlrZXRocm91Z2h7LW1vei10ZXh0LWRlY29yYXRpb24tbGluZTpsaW5lLXRocm91Z2g7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bGluZS10aHJvdWdofS55dEF0dHJpYnV0ZWRTdHJpbmdVbmRlcmxpbmVTdHJpa2V0aHJvdWdoey1tb3otdGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lIGxpbmUtdGhyb3VnaDt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmUgbGluZS10aHJvdWdofS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVOb25le3RleHQtZGVjb3JhdGlvbjpub25lfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVTaW5nbGV7LW1vei10ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVEb3R7LW1vei10ZXh0LWRlY29yYXRpb24tc3R5bGU6ZG90dGVkO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpkb3R0ZWR9Lnl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0U3Vic2NyaXB0e3ZlcnRpY2FsLWFsaWduOnN1Yn0ueXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRTdXBlcnNjcmlwdHt2ZXJ0aWNhbC1hbGlnbjpzdXBlcn0ueXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRVbmtub3due3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dEF0dHJpYnV0ZWRTdHJpbmdJdGFsaWNpemVke2ZvbnQtc3R5bGU6aXRhbGljfS55dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QXR0cmlidXRlZFN0cmluZ0hlYWRpbmcze2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRCdXR0b25PckFuY2hvckhvc3R7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0QnV0dG9uT3JBbmNob3JCdXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyOm5vbmU7Y29sb3I6aW5oZXJpdDtwYWRkaW5nOjA7bWFyZ2luOjA7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZS13aWR0aDowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOm5vbmU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1hbGlnbjp1bnNldDt3aWR0aDoxMDAlOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ueXRCdXR0b25PckFuY2hvckFuY2hvcntkaXNwbGF5OmlubGluZS1ibG9jaztjb2xvcjppbmhlcml0O3BhZGRpbmc6MDttYXJnaW46MDt0ZXh0LWRlY29yYXRpb246bm9uZTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0ueXRSYWRpb1NoYXBlSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrfS55dFJhZGlvU2hhcGVJbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5Oi4wMDAwMDE7bWFyZ2luOjA7bGVmdDoxMnB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRSYWRpb1NoYXBlTGFiZWxDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4taGVpZ2h0OjQ4cHg7d2lkdGg6MTAwJTtjb2xvcjojMDMwMzAzfS55dFJhZGlvU2hhcGVLZXlib2FyZEZvY3VzZWR7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0UmFkaW9TaGFwZURpc2FibGVke2NvbG9yOiM5MDkwOTB9Lnl0UmFkaW9TaGFwZUxhYmVsey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9aW5wdXQ6Y2hlY2tlZCtsYWJlbD4ueXRSYWRpb1NoYXBlUmFkaW8+OmZpcnN0LWNoaWxke2Rpc3BsYXk6bm9uZX1pbnB1dDpub3QoOmNoZWNrZWQpK2xhYmVsPi55dFJhZGlvU2hhcGVSYWRpbz46bGFzdC1jaGlsZHtkaXNwbGF5Om5vbmV9Lnl0UmFkaW9TaGFwZVJhZGlvRGVmYXVsdFN0eWxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMnB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9aW5wdXQ6bm90KDpjaGVja2VkKStsYWJlbD4ueXRSYWRpb1NoYXBlQ2hlY2tJY29uPjpmaXJzdC1jaGlsZHt2aXNpYmlsaXR5OmhpZGRlbn0ueXRSYWRpb1NoYXBlQ29tcGFjdHttaW4taGVpZ2h0OjQwcHh9Lnl0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2h7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRSYWRpb1NoYXBlVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7Y29sb3I6IzAzMDMwM30ueXRMaXN0SXRlbVZpZXdNb2RlbEhvc3Q6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIaWRkZW57ZGlzcGxheTpub25lfS55dExpc3RJdGVtVmlld01vZGVsS2V5Ym9hcmRGb2N1c2VkOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25PckFuY2hvcnt3aWR0aDphdXRvfS55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3I6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxOb1RyYWlsaW5nVGV4dCAueXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yLC55dExpc3RJdGVtVmlld01vZGVsTm9UcmFpbGluZ1RleHQgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4td2lkdGg6MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLWhlaWdodDo0NHB4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2NvbG9yOiMwMzAzMDM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NC40cmVtfS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi4ycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7bWF4LWhlaWdodDoyLjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtVmlld01vZGVsV2l0aEJhZGdle21hcmdpbi1sZWZ0OjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQ29udGFpbmVye21hcmdpbi10b3A6MnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7bWFyZ2luLWJvdHRvbToycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTZWxlY3Rpb25UZXh0e2NvbG9yOiM2MDYwNjA7bWFyZ2luLWxlZnQ6NHB4fS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e21hcmdpbi1sZWZ0OjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbE5ld0NvbnRlbnRJbmRpY2F0b3J7d2lkdGg6NHB4O2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dExpc3RJdGVtVmlld01vZGVsQ2hldnJvbkljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtmbGV4LXNocmluazowfS55dExpc3RJdGVtVmlld01vZGVsTGVhZGluZ3ttYXJnaW4tcmlnaHQ6MTJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjEycHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDoxMnB4fS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3IsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUNvbnRhaW5lciwueXRMaXN0SXRlbVZpZXdNb2RlbFByaW9yaXRpemVUcmFpbGluZyAueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVyLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGVXcmFwcGVye21pbi13aWR0aDowfS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmcsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e2ZsZXgtc2hyaW5rOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIsLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcnthbGlnbi1zZWxmOnN0YXJ0O2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjQ0cHg7bWluLXdpZHRoOjM2cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dExpc3RJdGVtVmlld01vZGVsQXZhdGFyLC55dExpc3RJdGVtVmlld01vZGVsSW1hZ2V7bWF4LWhlaWdodDozNnB4fS55dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5e2JvcmRlci1yYWRpdXM6MnB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjojMDMwMzAzfS55dExpc3RJdGVtVmlld01vZGVsTGF5b3V0V3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCb3R0b21BY2Nlc3Nvcnl7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmctdG9wOjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbE1haW5Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQmFkZ2VXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUJhZGdlV3JhcHBlcjpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXJ7cGFkZGluZzoycHggMTZweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZ3twYWRkaW5nOjJweCAwfS55dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cHtib3JkZXItcmFkaXVzOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZHtjb2xvcjojNjA2MDYwO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZCAueXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeSwueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVkIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Y29sb3I6IzYwNjA2MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoyLjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjIuMnJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NC40cmVtfS55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGV7cGFkZGluZzo2cHggMTZweH0ueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd7cGFkZGluZzo2cHggMH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4taGVpZ2h0OjM2cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjRyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle21heC1oZWlnaHQ6MnJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ1NlbGVjdGlvblRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0cmVtfS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxDaGV2cm9uSWNvbntoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcntoZWlnaHQ6MzZweDttaW4td2lkdGg6MzZweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcntoZWlnaHQ6MzZweDttaW4td2lkdGg6MjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZXttYXgtaGVpZ2h0OjI0cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIYXNTdWJ0aXRsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVye21pbi1oZWlnaHQ6NDJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlIC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVyLC55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcntoZWlnaHQ6NDJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSwueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2NvbG9yOiNmZmZ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxJc092ZXJsYXkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxJc092ZXJsYXkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY2Nlc3Nvcnl7Y29sb3I6I2ZmZn0ueXRDaGVja2JveFNoYXBlSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6NDhweDt3aWR0aDoxMDAlO2NvbG9yOiMwMzAzMDM7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q2hlY2tib3hTaGFwZUhvc3RDb21wYWN0e21pbi1oZWlnaHQ6NDBweH0ueXRDaGVja2JveFNoYXBlSW5wdXR7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luOjA7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtvcGFjaXR5Oi4wMDAwMDE7ei1pbmRleDoxO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0Q2hlY2tib3hTaGFwZUxhYmVsey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9Lnl0Q2hlY2tib3hTaGFwZURpc2FibGVIb3Jpem9udGFsUGFkZGluZyAueXRDaGVja2JveFNoYXBlTGFiZWx7cGFkZGluZy1yaWdodDowfS55dENoZWNrYm94U2hhcGVDaGVja2JveERlZmF1bHRTdHlsZXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjAgMTJweH1pbnB1dDpjaGVja2Vkfi55dENoZWNrYm94U2hhcGVDaGVja2JveD46Zmlyc3QtY2hpbGR7ZGlzcGxheTpub25lfWlucHV0Om5vdCg6Y2hlY2tlZCl+Lnl0Q2hlY2tib3hTaGFwZUNoZWNrYm94PjpsYXN0LWNoaWxke2Rpc3BsYXk6bm9uZX0ueXRTd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30udG9nZ2xlYWJsZUxpc3RJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dExpc3RWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1AbWVkaWEgKG1heC13aWR0aDoyOTkuOXB4KXsueXRMaXN0Vmlld01vZGVsSG9zdEthaW9zU3BhdE5hdntwYWRkaW5nOjNweH19Lnl0RG93bmxvYWRMaXN0SXRlbVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdHtwYWRkaW5nOjAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhe3BhZGRpbmc6MDstbW96LWJveC1hbGlnbjpub3JtYWw7YWxpZ24taXRlbXM6bm9ybWFsO21hcmdpbjphdXRvOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhIHl0bS1tZW51LXJlbmRlcmVye2hlaWdodDoxMDAlfS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWhhcy1zdWJzY3JpYmUtYnV0dG9uPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWhhcy1zdWJzY3JpYmUtYnV0dG9uPXRydWVdIC52aWRlby10aHVtYm5haWwtaW1ne3dpZHRoOjY3cHg7aGVpZ2h0OjY3cHg7bWluLWhlaWdodDowO2JvcmRlci1yYWRpdXM6NTAlfS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWhhcy1zdWJzY3JpYmUtYnV0dG9uPXRydWVdIC5jaGFubmVsLXN1YnNjcmliZS1idXR0b257cGFkZGluZzowIDAgMCA4cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0W2RhdGEtY29sb3ItcGFsZXR0ZS1hcHBsaWVkPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtU3ViaGVhZHtvcGFjaXR5OjF9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0PmF7ZGlzcGxheTpibG9ja31AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdHtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MCA4cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0IC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3QudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0e3dpZHRoOjEwMCU7aGVpZ2h0OmF1dG87cGFkZGluZy1ib3R0b206NTYuMjUlfX0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3QgLmVuZ2FnZW1lbnQtYmFye2hlaWdodDoyNHB4O21hcmdpbi10b3A6NHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtTXVsdGljb2x1bW57cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfS5ZdG1Db21wYWN0TWVkaWFJdGVtSW1hZ2V7ZmxleC1zaHJpbms6MH0uWXRtQ29tcGFjdE1lZGlhSXRlbUltYWdlLnN0YWNrZWR7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDo2cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6dmlzaWJsZX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9fUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YVtkYXRhLWhhcy1iYWRnZXM9dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXttYXgtaGVpZ2h0OjIuNWVtOy13ZWJraXQtbGluZS1jbGFtcDoyfS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGEuaGFzLWVuZ2FnZW1lbnQtYmFyIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6Mn0uWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhLmhhcy1lbmdhZ2VtZW50LWJhcltkYXRhLWhhcy1iYWRnZXM9dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXttYXgtaGVpZ2h0OjEuMjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhe3BhZGRpbmc6NHB4IDB9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YVtkYXRhLWhhcy1iYWRnZXM9dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXtkaXNwbGF5Oi13ZWJraXQtYm94O3doaXRlLXNwYWNlOm5vcm1hbH19Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YUNvbnRlbnR7ZGlzcGxheTpibG9jazstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCA4cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YUNvbnRlbnQuc3RhY2tlZHttYXJnaW4tdG9wOjhweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFDb250ZW50e3BhZGRpbmc6MH19Lll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZVBsYWNlaG9sZGVye2hlaWdodDoxNnB4O21heC13aWR0aDozMDBweDttYXJnaW4tYm90dG9tOjhweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0uWXRtQ29tcGFjdE1lZGlhSXRlbVN1YmhlYWR7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDtvcGFjaXR5Oi42fS5ZdG1Db21wYWN0TWVkaWFJdGVtU3ViaGVhZFBsYWNlaG9sZGVye2hlaWdodDoxNnB4O3dpZHRoOjEyMHB4O21hcmdpbi1ib3R0b206M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1yYWRpdXM6MnB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWhlaWdodDoxLjI1O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowIDAgM3B4O2ZvbnQtc2l6ZToxLjNyZW07b3ZlcmZsb3c6aGlkZGVuO21hcmdpbjowO2ZvbnQtc2l6ZToxLjRyZW19Lll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZSAueXRtLWNoYW5uZWwtbmFtZXtmb250LXNpemU6MS40cmVtfUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXttYXgtaGVpZ2h0OjMuNzVlbTstd2Via2l0LWxpbmUtY2xhbXA6M319Lll0bUNvbXBhY3RNZWRpYUl0ZW1CeWxpbmV7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbVN0YXRze2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXNpemU6MS4ycmVtfS5ZdG1Db21wYWN0TWVkaWFJdGVtU3RhdHN+Lll0bUNvbXBhY3RNZWRpYUl0ZW1TdGF0czpiZWZvcmV7Y29udGVudDoiwqDCt8KgIn0uWXRtQ29tcGFjdE1lZGlhSXRlbURlc2NyaXB0aW9ue21hcmdpbjo4cHggMDtwYWRkaW5nOjA7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbU1lbnV7ZmxleC1zaHJpbms6MDtjb2xvcjojMDMwMzAzfS5mb3JtYXR0ZWQtc3RyaW5nLWRlZW1waGFzaXple2NvbG9yOiM2MDYwNjB9LmZvcm1hdHRlZC1zdHJpbmctYm9sZHtmb250LXdlaWdodDo1MDB9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czppbmhlcml0O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUcmlnZ2VyRXZlbnRze3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0e3RyYW5zaXRpb246YWxsIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHksdHJhbnNmb3JtO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjkpO3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJFZmZlY3R7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle3dpbGwtY2hhbmdlOm9wYWNpdHk7b3BhY2l0eTowO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4xfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplU21hbGx7bWFyZ2luOi00cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW17bWFyZ2luOi04cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGwsLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplTWVkaXVtIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZXttYXJnaW46LTEycHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czoxNnB4fS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlQ2lyY3VsYXIgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVGaWxse2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgIzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlSW52ZXJzZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgI2ZmZn0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4yfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZU92ZXJsYXlUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyOjFweCBzb2xpZCAjZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVN0cm9rZXtib3JkZXI6MXB4IHNvbGlkICMwMDB9QGtleWZyYW1lcyBwb3BvdmVyLWZhZGUtaW57MCV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHBvcG92ZXItZmFkZS1vdXR7dG97b3BhY2l0eTowfX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdHttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdC5cOnBvcG92ZXItb3BlbiwueXRQb3BvdmVyQ29tcG9uZW50SG9zdDpwb3BvdmVyLW9wZW57YW5pbWF0aW9uOnBvcG92ZXItZmFkZS1pbiAuMTVzIGVhc2UtaW59Lnl0UG9wb3ZlckNvbXBvbmVudEhvc3RDbG9zaW5nLlw6cG9wb3Zlci1vcGVuLC55dFBvcG92ZXJDb21wb25lbnRIb3N0Q2xvc2luZzpwb3BvdmVyLW9wZW57YW5pbWF0aW9uOnBvcG92ZXItZmFkZS1vdXQgNzVtcyBlYXNlLW91dCBmb3J3YXJkc30ueXRUb29sdGlwQ29udGFpbmVySG9zdHtkaXNwbGF5OmJsb2NrfS55dFRvb2x0aXBDb250YWluZXJEZWZhdWx0VG9vbHRpcENvbnRlbnR7cGFkZGluZzo4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM2MDYwNjA7b3BhY2l0eTouOTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVyUGxheWVyVG9vbHRpcENvbnRlbnQsLnl0VG9vbHRpcENvbnRhaW5lclBsYXllclRvb2x0aXBDb250ZW50Qmx1cnJlZHtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDJweCA4cHggIzAwMDtvcGFjaXR5Oi45O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVyUGxheWVyVG9vbHRpcENvbnRlbnRCbHVycmVke29wYWNpdHk6dW5zZXQ7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXRUb29sdGlwQ29udGFpbmVyRWZmZWN0TWFrZXJUb29sdGlwQ29udGVudHtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGY7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0VG9vbHRpcENvbnRhaW5lckhvdGtleXtkaXNwbGF5OmlubGluZTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjAgNnB4O21hcmdpbi1sZWZ0OjhweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9OnJvb3R7LS15dC1saWdodC1yaW0tY29sb3I6dW5zZXQ7LS15dC1saWdodC13YXNoLW9wYWNpdHk6MDstLXl0LWxpZ2h0LXdhc2gteDowOy0teXQtbGlnaHQtd2FzaC15OjA7LS15dC1saWdodC13YXNoLXNpemU6OTZweDstLXl0LWxpZ2h0LXdhc2gtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfS5jb250cmliWXRMaWdodFNoYXBlSG9zdHtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtib3JkZXItcmFkaXVzOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtib3JkZXItcmFkaXVzOmluaGVyaXQ7cGFkZGluZzouNXB4Oy13ZWJraXQtbWFzazpsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApIGNvbnRlbnQtYm94LGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7bWFzay1jb21wb3NpdGU6ZXhjbHVkZTtwb2ludGVyLWV2ZW50czpub25lfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRTb2xpZDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWw6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDAsMCwwLDAuMDUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE91dGxpbmU6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMykpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkSW52ZXJzZTpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWxJbnZlcnNlOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2V7aW5zZXQ6LTFweH0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2U6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5U29saWQ6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMikpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlUb25hbDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4xNSkpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5lOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodHtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjUwJTtsZWZ0OjA7Ym9yZGVyLXJhZGl1czppbmhlcml0O2ZpbHRlcjpibHVyKDEwcHgpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U2FmYXJpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U29saWR7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0VG9uYWx7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMil9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZEludmVyc2V7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRUb25hbEludmVyc2V7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMDUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0T3ZlcmxheVNvbGlke2JhY2tncm91bmQ6I2ZmZn0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodE92ZXJsYXlUb25hbHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xNSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVEeW5hbWljV2FzaExpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHRyYW5zbGF0ZSh2YXIoLS15dC1saWdodC13YXNoLXgsMCksdmFyKC0teXQtbGlnaHQtd2FzaC15LDApKTtib3JkZXItcmFkaXVzOmluaGVyaXQ7d2lkdGg6dmFyKC0teXQtbGlnaHQtd2FzaC1zaXplLDk2cHgpO2hlaWdodDp2YXIoLS15dC1saWdodC13YXNoLXNpemUsOTZweCk7b3BhY2l0eTp2YXIoLS15dC1saWdodC13YXNoLW9wYWNpdHksMCk7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGZhcnRoZXN0LWNvcm5lciBhdCBjZW50ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikgMCx0cmFuc3BhcmVudCAxMDAlKTtwb2ludGVyLWV2ZW50czpub25lO2ZpbHRlcjpibHVyKDE1cHgpfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdHtib3JkZXItcmFkaXVzOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOmF1dG87Y29udGFpbjpsYXlvdXQgc3R5bGUgcGFpbnQ7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7dHJhbnNpdGlvbjpvcGFjaXR5IC40NXMgY3ViaWMtYmV6aWVyKC4yNSwxLC44LDEpfX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7dHJhbnNpdGlvbi1kdXJhdGlvbjo0MG1zfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0OmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjA1fS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4xfTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0OmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjJ9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVQcmVzc2VkIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjN9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlJbnZlcnNlIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2U6aG92ZXIgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMn0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouM306cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZmZmfTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZTpob3ZlciAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4wNX06cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVRvdWNoTGlnaHR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ZmlsdGVyOmJsdXIoMjRweCk7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCNmZmYgMCxyZ2JhKDI1NSwyNTUsMjU1LC42KSAzNSUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDcwJSx0cmFuc3BhcmVudCAxMDAlKTtib3JkZXItcmFkaXVzOjUwJX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO2ZpbHRlcjpibHVyKDMycHgpO29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSwjZmZmIDAscmdiYSgyNTUsMjU1LDI1NSwuNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA4MCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtib3JkZXItcmFkaXVzOjUwJX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckxpZ2h0e3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZSx3aWR0aCAuMTVzIGN1YmljLWJlemllciguMjUsMSwuNSwxKSxoZWlnaHQgLjE1cyBjdWJpYy1iZXppZXIoLjI1LDEsLjUsMSl9fS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdDpob3ZlciAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7b3BhY2l0eTouMn0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvc3QueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckxpZ2h0e29wYWNpdHk6LjM1O3RyYW5zaXRpb24tZHVyYXRpb246LjA0c30uYW5pbWF0ZWRSb2xsaW5nQ2hhcmFjdGVySG9zdHtkaXNwbGF5OmlubGluZX0uYW5pbWF0ZWRSb2xsaW5nTnVtYmVySG9zdHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowO3doaXRlLXNwYWNlOm5vd3JhcDttaW4td2lkdGg6MDt0ZXh0LXRyYW5zZm9ybTpub25lO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxOHB4O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmUtd2lkdGg6MDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7YmFja2dyb3VuZDpub25lO3RleHQtZGVjb3JhdGlvbjpub25lOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZsZXgtYmFzaXM6MC4wMDAwMDAwMDFweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEVsZXZhdGVkQ29udGVudHt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbiwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbntsaW5lLWhlaWdodDowO2ZpbGw6Y3VycmVudENvbG9yfS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uey1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50e3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTt3aWR0aDpyb3VuZCh1cCwxMDAlLDFweCk7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZlYXR1cmVQaG9uZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhze3BhZGRpbmc6MCA4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCA3cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCA2cHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgOHB4O3dpZHRoOjMycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDoycHg7bWFyZ2luLWxlZnQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDoycHg7bWFyZ2luLWxlZnQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDotMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHN7aGVpZ2h0OjI0cHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWlkZGxlZ3JvdW5kQXNzZXR7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b257d2lkdGg6MjRweDtwYWRkaW5nOjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydHtib3JkZXItcmFkaXVzOjEycHggMCAwIDEycHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjRweDtoZWlnaHQ6MTZweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCA4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDdweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgNnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDhweDt3aWR0aDozMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3twYWRkaW5nOjAgMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMTFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTBweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTJweDt3aWR0aDo0NHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3toZWlnaHQ6MzJweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDozMnB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVycmlkZVNtYWxsU2l6ZUljb24gLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxNnB4IDAgMCAxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjhweDtoZWlnaHQ6MTZweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtib3JkZXItcmFkaXVzOjAgMTZweCAxNnB4IDB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmdOb1RleHQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcnJpZGVTbWFsbFNpemVJY29uKSAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAxMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDExcHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTBweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTJweDt3aWR0aDo0NHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo0cHg7bWFyZ2luLWxlZnQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNe3BhZGRpbmc6MCAxNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCAxNXB4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCAxNHB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke3BhZGRpbmc6MCAxNnB4O3dpZHRoOjUycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEwcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU17aGVpZ2h0OjM2cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjE4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNIC55dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldHtib3JkZXItcmFkaXVzOjE4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b257d2lkdGg6MzZweDtwYWRkaW5nOjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxOHB4IDAgMCAxOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjZweDtoZWlnaHQ6MjRweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtib3JkZXItcmFkaXVzOjAgMThweCAxOHB4IDB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmdOb1RleHQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uLC55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VJY29uU2l6ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24pOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbk9ubHlEZWZhdWx0KSAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAxNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE1cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTRweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTZweDt3aWR0aDo1MnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEwcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUx7cGFkZGluZzowIDI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDIzcHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDIycHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDI0cHg7d2lkdGg6NzJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTHtoZWlnaHQ6NDhweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDo0OHB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoyNHB4IDAgMCAyNHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjEycHg7aGVpZ2h0OjI0cHg7d2lkdGg6MXB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDI0cHggMjRweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAyMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE5cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMThweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMjBweDt3aWR0aDo2OHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse3BhZGRpbmc6MCAzMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMzFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDMwcHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0zMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDMycHg7d2lkdGg6ODhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse2hlaWdodDo1NnB4O2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czoyOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MjhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9ue3dpZHRoOjU2cHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0e2JvcmRlci1yYWRpdXM6MjhweCAwIDAgMjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OmFmdGVye2NvbnRlbnQ6IiI7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MTZweDtoZWlnaHQ6MjRweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDI4cHggMjhweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmd7cGFkZGluZzowIDI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDIzcHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDIycHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDI0cHg7d2lkdGg6ODBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRPbmVPZmZDdXN0b21UZXh0V3JhcENvbnRhaW5lcntoZWlnaHQ6YXV0bztwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRPbmVPZmZDdXN0b21UZXh0V3JhcENvbnRhaW5lciAueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnV0dG9uVGV4dENvbnRlbnR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6OHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T25lT2ZmQ3VzdG9tVGV4dFdyYXBDb250YWluZXIgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50ey13ZWJraXQtbGluZS1jbGFtcDo0O21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVUZXh0RWxsaXBzaXMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50e3RleHQtb3ZlcmZsb3c6Y2xpcH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbk9ubHlEZWZhdWx0e21pbi13aWR0aDowO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uT25seURlZmF1bHQueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0V29ya2Fyb3VuZEljb25Ob0JvcmRlclJhZGl1c3tib3JkZXItcmFkaXVzOnVuc2V0fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDY1ZmQ0fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA1NTZiZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA2NWZkNH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwNTU2YmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojMDY1ZmQ0fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RhZGZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGFkZmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzA2NWZkNH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwNjVmZDR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojM2VhNmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMjYzODUwO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMjYzODUwO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojM2VhNmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojM2VhNmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMzZWE2ZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzY1YjhmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojM2VhNmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojNjViOGZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNzI3Mjc7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNzI3Mjc7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzAzMDMwM319QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkOWQ5ZDk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2Q5ZDlkOTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjIpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6IzAwMH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUJhY2tkcm9wRmlsdGVyRXhwZXJpbWVudHtiYWNrZHJvcC1maWx0ZXI6Ymx1cig0cHgpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlQmFja2Ryb3BGaWx0ZXJFeHBlcmltZW50e2JhY2tkcm9wLWZpbHRlcjpibHVyKDhweCl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSg0MCw0MCw0MCwwLjYpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMyl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpfS55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg0NWRlZywjZTEwMDJkIDMwJSwjZTAxMzc4IDg1JSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg0NWRlZywjZTEwMDJkIDMwJSwjZTAxMzc4IDg1JSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmIDAsI2FhMDlhYSAyMCUsI2ZmNGU0NSAxMDAlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzAwN2E2NSAwLCM3ZjBlN2YgMTAwJSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzdmMGU3ZiAwLCNhYTA5YWEgMjAlLCNmZjRlNDUgMTAwJSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMwMDdhNjUgMCwjN2YwZTdmIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSgxMjcsMTQsMTI3LDAuMikgMCxyZ2JhKDE3MCw5LDE3MCwwLjIpIDIwJSxyZ2JhKDI1NSw3OCw2OSwwLjIpIDEwMCUpfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMCwxMjIsMTAxLDAuMikgMCxyZ2JhKDEyNywxNCwxMjcsMC4yKSAxMDAlKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMTI3LDE0LDEyNywwLjIpIDAscmdiYSgxNzAsOSwxNzAsMC4yKSAyMCUscmdiYSgyNTUsNzgsNjksMC4yKSAxMDAlKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyxyZ2JhKDAsMTIyLDEwMSwwLjIpIDAscmdiYSgxMjcsMTQsMTI3LDAuMikgMTAwJSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6IzkwOTA5MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiM5MDkwOTB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojOTA5MDkwfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzkwOTA5MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6MCA0cHggMTZweCAwIHJnYmEoMCwwLDAsMC4xKSwwIDJweCA4cHggMCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFJhaXNlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRSYWlzZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNzI3Mjc7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7bWFyZ2luOjRweCAtOHB4IDA7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVsey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsSXNPdmVybGF5IC55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVse21heC13aWR0aDo2NHB4O2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0QmFkZ2VWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dEJyTnpCYWRnZVNoYXBlSG9zdHtkaXNwbGF5OmJsb2NrfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1JlZFNxdWFyZXtiYWNrZ3JvdW5kOiNmMDM5MzY7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Ym9yZGVyLXJhZGl1czowO2NvbG9yOmJsYWNrO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZU56UmF0aW5nWWVsbG93Q2lyY2xle2JhY2tncm91bmQ6I2ZmZWYwMDtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjpibGFjazt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ0dyZWVuQ2lyY2xle2JhY2tncm91bmQ6IzQyYzc1ODtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjpibGFjazt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsR3JlZW5TcXVhcmV7YmFja2dyb3VuZDpyZ2IoMCwxNjYsODEpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsdWVTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMCwxNDksMjE4KTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VCbHVlU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMTQ5LDIxOCk7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsWWVsbG93U3F1YXJle2JhY2tncm91bmQ6cmdiKDI1MSwxOTMsMjEpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVllbGxvd1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigyNTEsMTkzLDIxKTtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxPcmFuZ2VTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjQ1LDEzMCwzMik7aGVpZ2h0OjEuOHJlbTt3aWR0aDoxLjhyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlT3JhbmdlU3F1YXJle2JhY2tncm91bmQ6cmdiKDI0NSwxMzAsMzIpO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFJlZFNxdWFyZXtiYWNrZ3JvdW5kOnJnYigyMzYsMjksMzcpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVJlZFNxdWFyZXtiYWNrZ3JvdW5kOnJnYigyMzYsMjksMzcpO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsYWNrU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMCwwKTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VCbGFja1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigwLDAsMCk7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbEJhZGdlV2l0aExhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrOy1tb3otbWFyZ2luLWVuZDo4cHg7bWFyZ2luLWlubGluZS1lbmQ6OHB4fS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZXM6bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsVHJhaWxpbmdBY3Rpb25zQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQWN0aW9uc0NvbnRhaW5lcj46bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbnNDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbjpub3QoOmxhc3QtY2hpbGQpey1tb3otbWFyZ2luLWVuZDo4cHg7bWFyZ2luLWlubGluZS1lbmQ6OHB4fS55dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0UmFkaW9CdXR0b25Hcm91cFZpZXdNb2RlbEZpZWxkc2V0e2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MH0ueXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsRXJyb3J7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6I2MzMDAyN30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbEhvc3R7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbENvbnRhaW5lcntwYWRkaW5nLWJvdHRvbToyMHB4fS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlQ29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlUmFkaW9CdXR0b257aGVpZ2h0OjA7bGVmdDowO21hcmdpbjowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjB9Lnl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVMYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbERpc2FibGVke2N1cnNvcjpkZWZhdWx0fS55dENhcmRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRDYXJkVmlld01vZGVsT3V0bGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0Q2FyZFZpZXdNb2RlbFJhaXNlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmUtc3R5bGU6c29saWQ7b3V0bGluZS1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvdXRsaW5lLWNvbG9yIC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS13aWR0aCAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dENhcmRWaWV3TW9kZWxDYXJkU2VsZWN0ZWR7Ym94LXNoYWRvdzowIDJweCA4cHggMCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmU6IzAzMDMwMyBzb2xpZCAycHg7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS1jb2xvciAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG91dGxpbmUtd2lkdGggLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRDYXJkVmlld01vZGVsVG9uYWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dENhcmRWaWV3TW9kZWxJbnZlcnRlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGZ9Lnl0Q2FyZFZpZXdNb2RlbENvbnRlbnRXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9Lnl0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7d2lkdGg6MTAwJX0ueXRDYXJkVmlld01vZGVsVG9wQ29udGVudHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9ue2FsaWduLXNlbGY6ZmxleC1zdGFydH0ueXRDYXJkVmlld01vZGVsSW5saW5lQ2VudGVyVHJhaWxpbmdBY3Rpb257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uTWFyZ2lue21hcmdpbjo2cHh9Lnl0Q2FyZFZpZXdNb2RlbE92ZXJsYXlUcmFpbGluZ0FjdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMnB4O3RvcDoxMnB4fS55dENhcmRWaWV3TW9kZWxDYXJkVmlld01vZGVsSW5uZXJ7Ym9yZGVyLXJhZGl1czoxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dENhcmRWaWV3TW9kZWxTZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjMDMwMzAzfS55dENhcmRWaWV3TW9kZWxCb3R0b21Db250ZW50UGFkZGluZywueXRDYXJkVmlld01vZGVsVG9wQ29udGVudFBhZGRpbmd7cGFkZGluZzoxMnB4fS55dENhcmRWaWV3TW9kZWxDbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbERpc2FibGVkT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTtpbnNldDowO3Bvc2l0aW9uOmFic29sdXRlfS55dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MH0ueXRDYXJkVmlld01vZGVsQmFja2dyb3VuZHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6ZmlsbH0ueXRDaGVja2JveEdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENoZWNrYm94R3JvdXBWaWV3TW9kZWxGaWVsZHNldHtib3JkZXI6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0Q2hlY2tib3hJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBhbmVsRm9vdGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO3BhZGRpbmc6MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEhpZGVEaXZpZGVye2JvcmRlci10b3A6bm9uZX0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbERpc2FibGVQYWRkaW5ne3BhZGRpbmc6MTJweCAwIDB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxEaXNhYmxlUGFkZGluZy55dFBhbmVsRm9vdGVyVmlld01vZGVsSGlkZURpdmlkZXJ7cGFkZGluZy10b3A6MH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFJvd0JvdHRvbVBhZGRpbmd7cGFkZGluZy1ib3R0b206MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRQYWRkaW5ne3BhZGRpbmctcmlnaHQ6MjRweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRSb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2t7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2tUb3BCdXR0b257bWFyZ2luOjAgMCA4cHh9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dUcmFpbGluZ3stbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dMZWZ0QnV0dG9ue21hcmdpbi1yaWdodDo4cHh9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dGdWxsV2lkdGh7d2lkdGg6MTAwJX0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0V4cGFuZHstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93U2hyaW5rey1tb3otYm94LWZsZXg6MDtmbGV4OjB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dIaWRkZW57ZGlzcGxheTpub25lfS55dFNwZWNJY29uU2hhcGVIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dFNwaW5uZXJTaGFwZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTcGlubmVyU2hhcGVTcGlubmVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbjoxMnB4IGF1dG87d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MnB4IHNvbGlkICNlZWU7Ym9yZGVyLXRvcC1jb2xvcjojNjY2O2FuaW1hdGlvbjpzcGlubmVyIC44cyBsaW5lYXIgaW5maW5pdGV9Lnl0U3Bpbm5lclNoYXBlU3Bpbm5lcjpub3QoW2hpZGRlbl0pe2NvbG9yOiMzMzM7Zm9udC1zaXplOjEuNnJlbX1Aa2V5ZnJhbWVzIHNwaW5uZXJ7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19Lnl0TG90dGllQ29tcG9uZW50SG9zdHtkaXNwbGF5OmJsb2NrfS55dExvdHRpZUNvbXBvbmVudEhvc3Qgc3Zne2Rpc3BsYXk6YmxvY2t9Lnl0QW5pbWF0ZWRJY29uSG9zdHtkaXNwbGF5OmJsb2NrfS55dEFuaW1hdGVkSWNvbkhvc3QgLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0IC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7bWFyZ2luOjB9Lnl0QW5pbWF0ZWRJY29uSG9zdCAuYW5pbWF0ZWQtbGlrZS1pY29uIC5hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdCAuYW5pbWF0ZWQtbGlrZS1pY29uIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3QgLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24gLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0IC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29ue3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTJweCwtMTJweCk7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH0ueXRBbmltYXRlZEljb25Ib3N0IC5hbmltYXRlZC1zdWJzY3JpYmUtaWNvbnt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LC0xMnB4KTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPSIxOCJdIC5hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9IjE4Il0gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT0iMTgiXSAuYW5pbWF0ZWQtbGlrZS1pY29uIC5hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9IjE4Il0gLmFuaW1hdGVkLWxpa2UtaWNvbiAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT0iMTgiXSAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPSIxOCJdIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29ue3RyYW5zZm9ybTp0cmFuc2xhdGUoLTlweCwtOXB4KTtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPSIxOCJdIC5hbmltYXRlZC1zdWJzY3JpYmUtaWNvbnt0cmFuc2Zvcm06dHJhbnNsYXRlKC05cHgsLTlweCk7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0ueXRIb3Jpem9udGFsU2xpZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFNsaWRlclNoYXBlSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjE2cHggMTJweH0ueXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6bm9uZTtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAzMDMwMztoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbjpkaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdDtjb2xvcjojOTA5MDkwfS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO2ZvbnQ6aW5oZXJpdDtjb2xvcjojMDMwMzAzOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTttYXJnaW46MCAxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3V0bGluZTpub25lO3BhZGRpbmctYm90dG9tOjA7LS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudDowO3dpZHRoOjEwMCU7aGVpZ2h0OjI0cHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjMDMwMzAzIDAsIzAzMDMwMyB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIzAzMDMwMyAwLCMwMzAzMDMgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYnthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHg7bWFyZ2luLXRvcDotNnB4fS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcjo6LW1vei1yYW5nZS10aHVtYntiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXI6Oi1tcy10aHVtYntiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2Fse2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O21hcmdpbjowO3dyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybDtkaXJlY3Rpb246cnRsfS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXJ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7bWFyZ2luOjAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O291dGxpbmU6bm9uZTtwYWRkaW5nLWJvdHRvbTowOy0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoyNHB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHRvcCwjMDMwMzAzIDAsIzAzMDMwMyB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTt3aWR0aDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLCMwMzAzMDMgMCwjMDMwMzAzIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIDEwMCUpO3dpZHRoOjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U2xpZGVyU2hhcGVWZXJ0aWNhbFNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4O21hcmdpbi1yaWdodDotNnB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2xpZGVyU2hhcGVWZXJ0aWNhbFNsaWRlcjo6LW1zLXRodW1ie2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNsaWRlclNoYXBlSG9zdFNsaWRlcnstbW96LWFwcGVhcmFuY2U6YXV0bzthcHBlYXJhbmNlOmF1dG87LXdlYmtpdC1hcHBlYXJhbmNlOmF1dG99fS55dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjEwcHggMTZweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTttaW4taGVpZ2h0OjQ4cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3RIaWRlRGl2aWRlcntib3JkZXItYm90dG9tOm5vbmV9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxIb3N0Q29tcGFjdHtwYWRkaW5nOjhweCAxMnB4fS55dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVye21hcmdpbjowfS55dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVIZWFkZXJOb25JbnRlcmFjdGl2ZXtwb2ludGVyLWV2ZW50czpub25lfS55dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjIuNnJlbX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFN1YnRpdGxle21hcmdpbi10b3A6MnB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dFBhbmVsSGVhZGVyVmlld01vZGVsU3VidGl0bGV7bWF4LWhlaWdodDoxLjhyZW19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUcmFpbGluZ0J1dHRvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOm5vd3JhcDttYXJnaW4tbGVmdDoxMnB4fS55dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uOm5vdCg6bGFzdC1jaGlsZCl7cGFkZGluZy1yaWdodDoyNHB4fS55dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uT3JBbmNob3J7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47b3V0bGluZTpub25lfS55dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uT3JBbmNob3JGb2N1c2Vke291dGxpbmU6MnB4IHNvbGlkIGN1cnJlbnRDb2xvcn0ueXRTaGVldFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dFNoZWV0Vmlld01vZGVsQ29udGV4dHVhbHtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2hhZG93OjAgNHB4IDMycHggMCByZ2JhKDAsMCwwLDAuMSk7b3ZlcmZsb3c6aGlkZGVufS55dFNoZWV0Vmlld01vZGVsUGFkZGVkQ29udGVudHtwYWRkaW5nOjE2cHggMH0ueXRTaGVldFZpZXdNb2RlbERpc2FibGVCYWNrZHJvcEZpbHRlcntiYWNrZHJvcC1maWx0ZXI6bm9uZX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21pbi1oZWlnaHQ6MH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250YWluZXJ7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpmaXhlZDttYXJnaW46MCA4cHggMjRweDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMH1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTMvOSkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpIGFuZCAobWluLXdpZHRoOjQxNnB4KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSkgYW5kIChtaW4td2lkdGg6NDE2cHgpey55dFNwZWNCb3R0b21TaGVldExheW91dENvbnRhaW5lcnt3aWR0aDo0MDBweDttYXJnaW46MCBhdXRvIDI0cHggYXV0b319Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcntvdmVyZmxvdzpoaWRkZW47LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZmZmO2N1cnNvcjotbW96LWdyYWI7Y3Vyc29yOmdyYWJ9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcklzRHJhZ2dpbmd7Y3Vyc29yOi1tb3otZ3JhYmJpbmc7Y3Vyc29yOmdyYWJiaW5nfS55dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXJCb3R0b21Cb3JkZXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfS55dFNwZWNCb3R0b21TaGVldExheW91dERyYWdMaW5le2JhY2tncm91bmQ6IzAzMDMwMztvcGFjaXR5Oi4xNTtib3JkZXItcmFkaXVzOjRweDtoZWlnaHQ6NHB4O21hcmdpbjowIGF1dG87d2lkdGg6NDBweDttYXJnaW4tdG9wOjhweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJ7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi10b3A6OHB4fS55dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldpdGhUaXRsZXttYXJnaW4tYm90dG9tOjdweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZVdyYXBwZXJ7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi1sZWZ0OjEycHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6IzAzMDMwMzttYXgtaGVpZ2h0OjIwcHg7bWFyZ2luOjB9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U3VidGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6IzYwNjA2MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDoxNnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoyLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuOHJlbTtsaW5lLWhlaWdodDoyLjZyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7bWF4LWhlaWdodDoyLjhyZW19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxle21heC1oZWlnaHQ6Mi42cmVtfX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U3VidGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle21heC1oZWlnaHQ6MS44cmVtfS55dFNwZWNCb3R0b21TaGVldExheW91dEFjdGlvbkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiMwMzAzMDM7bWFyZ2luOjAgMTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250ZW50V3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO292ZXJmbG93LXk6c2Nyb2xsfS55dFNwZWNCb3R0b21TaGVldExheW91dEJvdHRvbVNoZWV0Q29udGVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Y29sb3I6IzAzMDMwM30ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJXcmFwcGVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZTtwb3NpdGlvbjpzdGlja3k7Ym90dG9tOjB9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyQnV0dG9uV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW46MTJweCAwfS55dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXJMYW5kc2NhcGVCdXR0b25XcmFwcGVye21hcmdpbjo2cHggMH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDoxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblRyYWlsaW5nUGFpcnstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25QcmltYXJ5U3BsaXRQYWlyey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25EZWZhdWx0e21hcmdpbjowIDEycHg7d2lkdGg6MTAwJX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uVHJhaWxpbmdQYWlyey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tcmlnaHQ6MTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uUHJpbWFyeVNwbGl0UGFpciwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7bWFyZ2luLXJpZ2h0OjEycHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbjowIDEycHg7aGVpZ2h0OjMwcHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyTGFiZWxXcmFwcGVyV2l0aG91dEJ1dHRvbnN7bWFyZ2luLWJvdHRvbToxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dExlYWRpbmdMYWJlbCwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUcmFpbGluZ0xhYmVse21hcmdpbi10b3A6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjEyOHB4O21heC13aWR0aDo0MDBweDt3aWR0aDoxMDAlO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDQ4cHgpO21pbi1oZWlnaHQ6MH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0T2xkTWluV2lkdGh7bWluLXdpZHRoOjI1NnB4fS55dENvbnRleHR1YWxTaGVldExheW91dEFkZFBhZGRpbmd7cGFkZGluZy1ib3R0b206OHB4fS55dENvbnRleHR1YWxTaGVldExheW91dEhlYWRlckNvbnRhaW5lcnstbW96LWJveC1mbGV4OjA7ZmxleDowfS55dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXJ7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO292ZXJmbG93LXk6YXV0bztzY3JvbGxiYXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aWR0aDoxNnB4fS55dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcjpob3ZlcntzY3JvbGxiYXItY29sb3I6IzkwOTA5MCB0cmFuc3BhcmVudH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRDb250ZW50Q29udGFpbmVyOmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiM5MDkwOTB9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Rm9vdGVyQ29udGFpbmVyey1tb3otYm94LWZsZXg6MDtmbGV4OjB9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luOjEycHh9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsU3BlZWRJbmRpY2F0b3JDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjphdXRvfS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWREaXNwbGF5ey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjhyZW07bGluZS1oZWlnaHQ6My44cmVtO2ZvbnQtd2VpZ2h0OjkwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxQbGF5YmFja1NwZWVkRGlzcGxheXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjkwMH19Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUHJlbWl1bUJhZGdle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwMCU7bWFyZ2luLXJpZ2h0OjhweH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTbGlkZXJDb250YWluZXJ7bWFyZ2luOjhweCAwfS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWRCdXR0b257bWFyZ2luOjAgNHB4fS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxTcGVlZExhYmVse21hcmdpbi10b3A6NHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiMwMzAzMDN9Lnl0V2ViU2NyaW1Ib3N0e3Bvc2l0aW9uOmZpeGVkO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC44KX0ueXRXZWJTY3JpbUhvc3RSZWxhdGl2ZXtwb3NpdGlvbjphYnNvbHV0ZX0ueXRXZWJTY3JpbUhvc3RNb2Rlcm5PdmVybGF5e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dFdlYlNjcmltSG9zdEJvdHRvbVNoZWV0e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFdlYlNjcmltSG9zdEVuZ2FnZW1lbnRQYW5lbHt6LWluZGV4OjA7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCk7dG9wOjEwMHZ3fS55dFdlYlNjcmltSG9zdERyYWdnYWJsZUVuZ2FnZW1lbnRQYW5lbHt6LWluZGV4OjM7dG9wOjB9Lnl0V2ViU2NyaW1Ib3N0RHJhd2VyTGF5b3V0e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApfS55dFdlYlNjcmltRGlhbG9nQ29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3otaW5kZXg6NH0ueXRXZWJTY3JpbUhpZGRlbkJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lO2ZvbnQ6aW5oZXJpdDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0O2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH1ib3R0b20tc2hlZXQtY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6NX1ib3R0b20tc2hlZXQtY29udGFpbmVyIC5jbG9zZS1idXR0b257cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9YzMtb3ZlcmxheS5ib3R0b20tc2hlZXQtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX1bYm90dG9tLXNoZWV0LW9wZW5de292ZXJmbG93OmhpZGRlbn1bbW9kYWwtb3Blbi1ib2R5XXtwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7cmlnaHQ6MH0uYjMtaWZyYW1lLWFuY2VzdG9yW21vZGFsLW9wZW4tYm9keV17cG9zaXRpb246YWJzb2x1dGV9Lm1vZGFsLWhpZGRlbi1idXR0b257cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LmJ1dHRvbi13aXRoLWljb257cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7bWluLXdpZHRoOjUuMTRlbTttYXJnaW46MCAuMjllbTtmb250LXNpemU6MS40cmVtO2JvcmRlci1yYWRpdXM6M3B4fS5idXR0b24td2l0aC1pY29uLWJ1dHRvbntwYWRkaW5nOi43ZW0gLjU3ZW19LmJ1dHRvbi13aXRoLWljb24uY29tcGFjdHttYXJnaW46LS43ZW0gLS41N2VtfS5idXR0b24td2l0aC1pY29uLmNvbXBhY3QrLmJ1dHRvbi13aXRoLWljb24uY29tcGFjdHttYXJnaW4tbGVmdDouN2VtfS5idXR0b24td2l0aC1pY29uLWlubmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LmJ1dHRvbi13aXRoLWljb24tYnV0dG9uW2Rpc2FibGVkXSwuYnV0dG9uLXdpdGgtaWNvbi5kaXNhYmxlZCAuYnV0dG9uLXdpdGgtaWNvbi1idXR0b257Y29sb3I6IzkwOTA5MH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfQlJBTkRde2NvbG9yOiNlMTAwMmR9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1BSSU1BUlldOm5vdChbZGlzYWJsZWQ9dHJ1ZV0pe2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9QUklNQVJZXVtkaXNhYmxlZD10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9URVhUXXtjb2xvcjojNjA2MDYwfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9URVhUXSAubG9nby1hcnJvd3tmaWxsOiNmZmZ9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX0JMVUVfVEVYVF17Y29sb3I6IzA2NWZkNH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfQkxVRV9URVhUX1dJVEhfSU5WRVJTRV9USEVNRV17Y29sb3I6IzNlYTZmZn0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfREVTVFJVQ1RJVkVde2JhY2tncm91bmQtY29sb3I6I2UxMDAyZDtib3JkZXItY29sb3I6I2UxMDAyZDtjb2xvcjojZmZmfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9TVUdHRVNUSVZFXXtib3JkZXI6MXB4IHNvbGlkICMwNjVmZDQ7Y29sb3I6IzA2NWZkNH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfT1ZFUkxBWV17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMyk7Y29sb3I6I2ZmZn0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfREFSS117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9JTkFDVElWRV9PVVRMSU5FXXtjb2xvcjojNjA2MDYwO2JvcmRlcjoxcHggc29saWQgIzYwNjA2MDtwYWRkaW5nOjVweCAxMXB4fS5idXR0b24tcmVuZGVyZXJbZGF0YS1pY29uLW9ubHk9dHJ1ZV17bWluLXdpZHRoOjA7bWFyZ2luOjB9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLWljb24tb25seT1mYWxzZV0gLmJ1dHRvbi1yZW5kZXJlci1pY29ue21hcmdpbjowIDhweH0uYnV0dG9uLXJlbmRlcmVyLXRleHR7YWxpZ24tc2VsZjpjZW50ZXI7bWluLWhlaWdodDoxZW07bGluZS1oZWlnaHQ6MWVtO2ZvbnQtd2VpZ2h0OjUwMH1baXMtYnVzeT10cnVlXSAuYnV0dG9uLXJlbmRlcmVyLWljb24sW2lzLWJ1c3k9dHJ1ZV0gLmJ1dHRvbi1yZW5kZXJlci10ZXh0e3Zpc2liaWxpdHk6aGlkZGVufS5idXR0b24td2l0aC1pY29uLXNwaW5uZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7bWFyZ2luOmF1dG99LmJ1dHRvbi1yZW5kZXJlci13aXRoLWFuaW1hdGlvbiAuYnV0dG9uLXdpdGgtaWNvbi1idXR0b257b3ZlcmZsb3c6dmlzaWJsZX1jMy1pY29ue2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1zaHJpbms6MDt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2ZpbGw6Y3VycmVudENvbG9yO3N0cm9rZTpub25lfVtkaXI9cnRsXSBjMy1pY29uW2ZsaXAtZm9yLXJ0bD10cnVlXXt0cmFuc2Zvcm06c2NhbGVYKC0xKX0uaWNvbi1idXR0b257Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH1jMy1pY29uIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfWMzLWljb24uaWNvbi1zdGF0ZS1vdXRsaW5lW2ljb24tc3RhdGUtZmlsbGVkXXtkaXNwbGF5Om5vbmV9YzMtaWNvbi5pY29uLXN0YXRlLWZpbGxlZFtpY29uLXN0YXRlLW91dGxpbmVde2Rpc3BsYXk6bm9uZX0ucGl2b3QtYmFyLWl0ZW0tdGFiIGMzLWljb25baWNvbi1zdGF0ZS1maWxsZWRde2Rpc3BsYXk6bm9uZX0ucGl2b3QtYmFyLWl0ZW0tdGFiIGMzLWljb25baWNvbi1zdGF0ZS1vdXRsaW5lXXtkaXNwbGF5OmJsb2NrfS5waXZvdC1iYXItaXRlbS10YWJbYXJpYS1zZWxlY3RlZD10cnVlXSBjMy1pY29uW2ljb24tc3RhdGUtZmlsbGVkXXtkaXNwbGF5OmJsb2NrfS5waXZvdC1iYXItaXRlbS10YWJbYXJpYS1zZWxlY3RlZD10cnVlXSBjMy1pY29uW2ljb24tc3RhdGUtb3V0bGluZV17ZGlzcGxheTpub25lfSNtZW51LC5tZW51LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo0fS5tZW51LWNvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO21heC1oZWlnaHQ6MTAwJTtvdmVyZmxvdy15OmF1dG87Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzozcHh9Lm1lbnUtY29udGVudC5tZW51LWJvdHRvbXtib3R0b206MDtjb2xvcjojMDMwMzAzO3BhZGRpbmc6MDtwb3NpdGlvbjpmaXhlZDttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlfS5ib3R0b20tbWVudS1jYW5jZWx7Ym9yZGVyLXRvcDoxcHggc29saWQgI2YxZjFmMTtwYWRkaW5nOjhweCAwfS5tZW51LWNvbnRlbnQ+YXtkaXNwbGF5OmJsb2NrfS5tZW51LWNhbmNlbC1idXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ubWVudS1jYW5jZWwtaWNvbnttYXJnaW46MCA4cHh9Lm1lbnUtY29udGVudC5tZW51LWJvdHRvbSBjMy1pY29ue2NvbG9yOiMwMzAzMDM7bWFyZ2luOjAgMzJweCAwIDB9Lm1lbnUtY29udGVudDpub3QoLm1lbnUtc2hvdy1pY29ucykgLm1lbnUtaXRlbS1idXR0b24gYzMtaWNvbntkaXNwbGF5Om5vbmV9QG1lZGlhIChtaW4td2lkdGg6MzMwcHgpey5tZW51LWNvbnRlbnQ6bm90KC5tZW51LWJvdHRvbSl7bWluLXdpZHRoOjI1MHB4O21heC13aWR0aDozNTZweDttYXJnaW46NDBweH19Lm1lbnUtZnVsbC13aWR0aCAubWVudS1jb250ZW50e2JhY2tncm91bmQtY29sb3I6I2ZmZjttaW4td2lkdGg6MTAwJTttaW4taGVpZ2h0OjEwMCU7bWFyZ2luOjA7cGFkZGluZzowO2hlaWdodDoxcHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5tZW51LWNvbnRlbnQucm91bmRlZC1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czo4cHh9Lmljb24tYnV0dG9uLnNtYWxse3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MDt3aWR0aDoxNnB4fXl0bS1tZW51LWl0ZW17ZGlzcGxheTpibG9jaztwYWRkaW5nOjNweCAwfXl0bS1tZW51LWl0ZW0gLm1lbnUtaXRlbS1idXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLWhlaWdodDo0OHB4O3BhZGRpbmc6OHB4IDE2cHg7bWFyZ2luLWxlZnQ6MDt3aWR0aDoxMDAlO2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246aW5pdGlhbDt0ZXh0LXRyYW5zZm9ybTp1bnNldDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH15dG0tbWVudS1pdGVtIC5tZW51LWl0ZW0tYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KX15dG0tbWVudS1pdGVtIGMzLWljb257bWFyZ2luLXJpZ2h0OjI0cHh9Lm1lbnUtYm90dG9tIC5tZW51LWl0ZW0tYnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjEuNnJlbTtwYWRkaW5nOjExcHggMTZweH0ueXR3UGxheWVyQm90dG9tQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckJvdHRvbUNvbnRyb2xzRnVsbHNjcmVlbkJ1dHRvbldyYXBwZXJ7LW1vei1tYXJnaW4tc3RhcnQ6YXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99Lnl0QmFkZ2VTaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nOjAgNHB4fS55dEJhZGdlU2hhcGVUeXBvZ3JhcGh5e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVJY29ue2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS55dEJhZGdlU2hhcGVOb1RleHR7cGFkZGluZzowIDFweDttaW4taGVpZ2h0OjE4cHh9Lnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2V7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoxcHggNHB4fS55dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZSAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6NHB4O2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbEJhZGdlLnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2VSZWRlc2lnbntiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjAgNnB4fS55dEJhZGdlU2hhcGVTdGF0dXNCYWRnZXtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjFweCA0cHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c0JhZGdlIC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDo0cHg7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0ueXRCYWRnZVNoYXBlU3RhdHVzQmFkZ2UueXRCYWRnZVNoYXBlTm9UZXh0IC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDowfS55dEJhZGdlU2hhcGVUZXh0e2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwfS55dEJhZGdlU2hhcGVUZXh0Q2xpcFRleHRPdmVyZmxvd3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRCYWRnZVNoYXBlVGV4dEhhc011bHRpcGxlQmFkZ2VzSW5Sb3d7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjIwY2h9Lnl0QmFkZ2VTaGFwZURlZmF1bHR7CiAgLyogIWtlZXAgKi9jb2xvcjojNjA2MDYwO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRCYWRnZVNoYXBlRGVmYXVsdC55dEJhZGdlU2hhcGVPdmVybGF5e2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0QmFkZ2VTaGFwZURlZmF1bHQueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM2MDYwNjA7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVNZWRpYXsKICAvKiAha2VlcCAqL2NvbG9yOiM2MDYwNjA7b3V0bGluZToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZU1lZGlhLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojNjA2MDYwO291dGxpbmU6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVNZWRpYU92ZXJsYXl7CiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO291dGxpbmU6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVNZWRpYU92ZXJsYXkueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7b3V0bGluZToxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVByb21vdGVkewogIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlUHJvbW90ZWQueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMwMzAzMDM7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVQcm9tb3RlZEludmVydGVkLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlVGltZWx5ewogIC8qICFrZWVwICovY29sb3I6IzYwNjA2MH0ueXRCYWRnZVNoYXBlVGltZWx5IC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRpbWVseXtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlVGltZWx5Lnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojNjA2MDYwfS55dEJhZGdlU2hhcGVUaW1lbHkueXRCYWRnZVNoYXBlTW9kZXJuIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRpbWVseS55dEJhZGdlU2hhcGVNb2Rlcm57cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVByZW1pdW17CiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6I2UxMDAyZH0ueXRCYWRnZVNoYXBlUHJlbWl1bS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVNhbGV7CiAgLyogIWtlZXAgKi9jb2xvcjojYzMwMDI3fS55dEJhZGdlU2hhcGVTYWxlIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNjMzAwMjd9Lnl0QmFkZ2VTaGFwZVNhbGV7cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVNhbGUueXRCYWRnZVNoYXBlTW9kZXJuLC55dEJhZGdlU2hhcGVTYWxlLnl0QmFkZ2VTaGFwZU1vZGVybiAueXRCYWRnZVNoYXBlSWNvbntjb2xvcjojYzMwMDI3fS55dEJhZGdlU2hhcGVTYWxlLnl0QmFkZ2VTaGFwZU1vZGVybntwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlTWVtYmVyc2hpcHsKICAvKiAha2VlcCAqL2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfS55dEJhZGdlU2hhcGVNZW1iZXJzaGlwLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojMTA3NTE2O2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlQ29tbWVyY2V7CiAgLyogIWtlZXAgKi9jb2xvcjojMTA3NTE2O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRCYWRnZVNoYXBlQ29tbWVyY2UueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVMaXZlewogIC8qICFrZWVwICovY29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnJnYmEoMjI1LDAsNDUsMC45KX0ueXRCYWRnZVNoYXBlTGl2ZS55dEJhZGdlU2hhcGVPdmVybGF5e2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZUxpdmUueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZVN0YXR1c05ld3sKICAvKiAha2VlcCAqL2NvbG9yOiMwNjVmZDQ7b3V0bGluZToxcHggc29saWQgIzA2NWZkNDtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVTdGF0dXNOZXcueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMwNjVmZDQ7b3V0bGluZToxcHggc29saWQgIzA2NWZkNDtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVTdGF0dXNDb21wbGV0ZXsKICAvKiAha2VlcCAqL2NvbG9yOiMwMDU5MTc7YmFja2dyb3VuZDojZGVmZmRlfS55dEJhZGdlU2hhcGVTdGF0dXNDb21wbGV0ZS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAwNTkxNztiYWNrZ3JvdW5kOiNkZWZmZGV9Lnl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmd7CiAgLyogIWtlZXAgKi9jb2xvcjojN2MyOTAwO2JhY2tncm91bmQ6I2ZmZWFjZn0ueXRCYWRnZVNoYXBlU3RhdHVzV2FybmluZy55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzdjMjkwMDtiYWNrZ3JvdW5kOiNmZmVhY2Z9Lnl0QmFkZ2VTaGFwZVN0YXR1c0Vycm9yewogIC8qICFrZWVwICovY29sb3I6Izk5MDQxMjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDg1LDExOSwwLjIpfS55dEJhZGdlU2hhcGVTdGF0dXNFcnJvci55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6Izk5MDQxMjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDg1LDExOSwwLjIpfS55dEJhZGdlU2hhcGVTdGF0dXNEZWZhdWx0ewogIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlU3RhdHVzRGVmYXVsdC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdHsKICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHQueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbExpdmV7CiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxMaXZlLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxTcGVjaWFsewogIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwgLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsU3BlY2lhbC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwueXRCYWRnZVNoYXBlTW9kZXJuIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbnsKICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbi55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKX0ueXRCYWRnZVNoYXBlQWR7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMwMzAzMDM7d2hpdGUtc3BhY2U6bm93cmFwO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MDtmb250LXNpemU6dW5zZXQ7bGluZS1oZWlnaHQ6dW5zZXR9Lnl0QmFkZ2VTaGFwZUFkLnl0QmFkZ2VTaGFwZUFkc0luY2x1ZGVEb3Q6YWZ0ZXJ7Y29udGVudDoiwrciOy1tb3otcGFkZGluZy1lbmQ6NHB4O3BhZGRpbmctaW5saW5lLWVuZDo0cHg7LW1vei1wYWRkaW5nLXN0YXJ0OjRweDtwYWRkaW5nLWlubGluZS1zdGFydDo0cHh9Lnl0QmFkZ2VTaGFwZUFkLnl0QmFkZ2VTaGFwZU92ZXJsYXl7Y29sb3I6I2ZmZn0ueXRCYWRnZVNoYXBlTWVkaXVtRm9udEFkQmFkZ2V7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVMYXJnZUZvbnRBZEJhZGdle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVJc0VtcHR5e2Rpc3BsYXk6bm9uZX0uYWNjb3VudEluZm9Ib3N0e2Rpc3BsYXk6YmxvY2t9Lmxpa2UtYnV0dG9uLXJlbmRlcmVyIFthcmlhLXByZXNzZWQ9dHJ1ZV0gYzMtaWNvbntjb2xvcjojMDY1ZmQ0fS5saWtlLWJ1dHRvbi1yZW5kZXJlciBbYXJpYS1wcmVzc2VkPXRydWVdIGMzLWljb24gcGF0aHtmaWxsOiMzZWE2ZmY7c3Ryb2tlOiNmZmY7c3Ryb2tlLXdpZHRoOjFweH15dG0tbWVudS1yZW5kZXJlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uYm90dG9tLXNoZWV0LW1lZGlhLW1lbnUtaXRlbSB5dG0tbWVudS1pdGVte3BhZGRpbmc6MDtoZWlnaHQ6NDhweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5ib3R0b20tc2hlZXQtbWVkaWEtbWVudS1pdGVtIC5tZW51LWl0ZW0tYnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MDttYXJnaW4tbGVmdDoxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS5ib3R0b20tc2hlZXQtbWVkaWEtbWVudS1pdGVtIGMzLWljb257bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVye21hcmdpbjo1cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPXNtYWxsXXttYXJnaW46MnB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlclt0aHVtYm5haWwtc2l6ZT1tZWRpdW1de21hcmdpbjo0cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPWxhcmdlXXttYXJnaW46OHB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPUxJVkVdLHl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPVNIT1JUU117dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfWltZy5jdXN0b20tdGh1bWJuYWlsLnZpZGVvLXRodW1ibmFpbC1pbWd7b2JqZWN0LWZpdDpzY2FsZS1kb3duO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdle3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjA7b3ZlcmZsb3c6aGlkZGVufS52aWRlby10aHVtYm5haWwtaW1ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3dpZHRoOjEwMCU7bWluLWhlaWdodDoxMDAlO21hcmdpbjphdXRvfS52aWRlby10aHVtYm5haWwtYmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctYm90dG9tOjU2LjI1JX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4fS5jdXN0b20tdGh1bWJuYWlsLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4MHB4O2hlaWdodDoxODBweH0uY3VzdG9tLXRodW1ibmFpbC1iYWNrZ3JvdW5kLWNvbnRhaW5lciAuY3VzdG9tLXRodW1ibmFpbHtvcGFjaXR5Oi43O2ZpbHRlcjpibHVyKDMwcHgpfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3Qtcm91bmRlZHtib3JkZXItcmFkaXVzOjhweH0ub3JpZ2luYWwtYXNwZWN0LXJhdGlvIGltZ3toZWlnaHQ6MTAwJTt3aWR0aDphdXRvfS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1ib3R0b206MTI1JX0uYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UgaW1ne29iamVjdC1maXQ6Y292ZXI7d2lkdGg6MTAwJX19QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXttYXJnaW4tdG9wOjB9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2U6d2hlcmUoLm5vdC1yZW5kZXJlZC1mcm9tLXJpY2gtaXRlbSl7bWFyZ2luOi0xM3B4IC0xMnB4IDA7cGFkZGluZy10b3A6MTNweH0uc3R5bGUtcmVjb21tZW5kYXRpb25zLWluLXBvcnRyYWl0IC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdlLnJvdW5kZWQtdGh1bWJuYWlse2JvcmRlci1yYWRpdXM6MTJweDttYXJnaW46MDtwYWRkaW5nLXRvcDowfX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjA7cGFkZGluZy10b3A6MH19LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UudGh1bWJuYWlsLWNvdmVyLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxMnB4fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2Uucm91bmRlZC10aHVtYm5haWx7Ym9yZGVyLXJhZGl1czoxMnB4fX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTMvOSkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnN0eWxlLXJlY29tbWVuZGF0aW9ucy1pbi1wb3J0cmFpdCAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbCxwbGF5ZXItZnVsbHNjcmVlbi1jb250cm9scyAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fS52aWRlby10aHVtYm5haWwtZmlsbC1wYXJlbnR7bWFyZ2luOjA7cGFkZGluZy10b3A6MDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VG9wUGFkZGluZ3twYWRkaW5nLXRvcDoyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29ue21hcmdpbjoyNHB4IDI0cHggMH0ueXRTcGVjRGlhbG9nTGF5b3V0SWNvbkFib3ZlTWVkaWF7bWFyZ2luLWJvdHRvbToyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29uQ2VudGVyQWxpZ257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0e3dpZHRoOjEwMCU7bWluLWhlaWdodDowO2ZsZXgtc2hyaW5rOjQ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNEaWFsb2dMYXlvdXRBc3NldEl0ZW17d2lkdGg6MTAwJTtmbGV4LXNocmluazowO29iamVjdC1maXQ6Y292ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckNvbnRhaW5lcntwYWRkaW5nOjI0cHggMjRweCA4cHh9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtc2hyaW5rOjB9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckFib3ZlQXNzZXR7cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7Y29sb3I6IzAzMDMwMzstbW96LWJveC1mbGV4OjE7ZmxleDoxO21hcmdpbi1ib3R0b206MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0RpYWxvZ0xheW91dFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0RpYWxvZ0xheW91dFRpdGxle21heC1oZWlnaHQ6NS42cmVtfS55dFNwZWNEaWFsb2dMYXlvdXRMZWFkaW5nQWN0aW9uSGVhZGVye2NvbG9yOiMwMzAzMDM7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dFRyYWlsaW5nQWN0aW9uSGVhZGVye2NvbG9yOiMwMzAzMDM7bWFyZ2luLWxlZnQ6YXV0b30ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudHtjb2xvcjojMDMwMzAzO292ZXJmbG93LXk6YXV0b30ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudElubmVye292ZXJmbG93OnZpc2libGU7cGFkZGluZzowIDI0cHh9Lnl0U3BlY0RpYWxvZ0xheW91dEZvb3RlckNvbnRhaW5lcntwYWRkaW5nLXRvcDoxNnB4O3BhZGRpbmctbGVmdDoyNHB4O3BhZGRpbmctcmlnaHQ6MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1mbG93OnJvdyB3cmFwLXJldmVyc2U7ZmxleC1zaHJpbms6MDttYXJnaW46LThweCAwIDAgLThweH0ueXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc0lubGluZUVuZHstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZW5kfS55dFNwZWNEaWFsb2dMYXlvdXRCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzo4cHggMCAwIDhweH0ueXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc0lubGluZVN0cmV0Y2hlZHstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFNwZWNEaWFsb2dMYXlvdXRDZW50ZXJBbGlnbiAueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudCwueXRTcGVjRGlhbG9nTGF5b3V0Q2VudGVyQWxpZ24gLnl0U3BlY0RpYWxvZ0xheW91dFRpdGxle3RleHQtYWxpZ246Y2VudGVyfS55dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zU3RhY2tlZHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59QG1lZGlhIChtYXgtd2lkdGg6MzMwcHgpey55dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZle21pbi13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDB2aH19QG1lZGlhIChtaW4td2lkdGg6MzMxcHgpIGFuZCAobWF4LXdpZHRoOjUyN3B4KXsueXRTcGVjRGlhbG9nTGF5b3V0UmVzcG9uc2l2ZXttaW4td2lkdGg6Y2FsYygxMDB2dyAtIDk2cHgpO21pbi13aWR0aDptaW4oMzIwcHgsMTAwdncgLSA5NnB4KTttYXgtd2lkdGg6Y2FsYygxMDB2dyAtIDk2cHgpO21heC13aWR0aDptaW4oNDAwcHgsMTAwdncgLSA5NnB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA5NnB4KX19QG1lZGlhIChtaW4td2lkdGg6NTI4cHgpey55dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZle21pbi13aWR0aDozMjBweDttYXgtd2lkdGg6Y2FsYygxMDB2dyAtIDk2cHgpO21heC13aWR0aDptaW4oNTYwcHgsMTAwdncgLSA5NnB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA5NnB4KTttYXgtaGVpZ2h0Om1pbig1NjBweCwxMDB2aCAtIDk2cHgpfX0ueXRTcGVjRGlhbG9nTGF5b3V0RnVsbHNjcmVlbntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNwZWNEaWFsb2dMYXlvdXRGdWxsc2NyZWVuIC55dFNwZWNEaWFsb2dMYXlvdXRDb250YWluZXIsLnl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW4gLnl0U3BlY0RpYWxvZ0xheW91dENvbnRlbnR7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNwZWNEaWFsb2dMYXlvdXRGdWxsc2NyZWVuIC55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50SW5uZXJ7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3BhZGRpbmc6MH1AbWVkaWEgKG1pbi13aWR0aDo1MjhweCl7Lnl0U3BlY0RpYWxvZ0xheW91dEV4dGVuZGVkTWF4SGVpZ2h0e21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDk2cHgpfX0ueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJbnNldCAueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXR7d2lkdGg6YXV0bztwYWRkaW5nOjAgMjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0SW5zZXQgLnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0SXRlbXtib3JkZXItcmFkaXVzOjEycHh9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyfS55dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJbWFnZXtib3JkZXItcmFkaXVzOjZweDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2Rpc3BsYXk6YmxvY2t9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEljb257Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NnB4O3BhZGRpbmc6NnB4fS55dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVRIRU1FX0FUVFJJQlVURV9PVkVSTEFZX0JBQ0tHUk9VTkRfTUVESVVNXSAueXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0SWNvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD4qe21hcmdpbi10b3A6MTZweH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3Q+dG9nZ2xlLWJ1dHRvbi12aWV3LW1vZGVse21hcmdpbi10b3A6MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGV7d2lkdGg6NTZweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZSAueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNnB4O21hcmdpbjowfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZSAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdDpmb2N1c3tiYWNrZ3JvdW5kOnVuc2V0fS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZSBidXR0b246bm90KFthcmlhLXByZXNzZWQ9dHJ1ZV0pIGMzLWljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggcmdiYSgwLDAsMCwwLjMpKX0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGVBY3Rpb25CdXR0b257cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjhweDttYXJnaW46MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0RGVza3RvcCAueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wQWN0aW9uQnV0dG9ue3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206OHB4O21hcmdpbjowfUBtZWRpYSAobWF4LWhlaWdodDo0MTFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD4qe21hcmdpbi10b3A6MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3QgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7ZGlzcGxheTpub25lfX0ueXRSZWVsTWV0YXBhbmVsVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXgtd2lkdGg6NDgwcHh9Lnl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW06bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy10b3A6NHB4O21heC13aWR0aDoxMDAlfS55dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtOm5vdCg6bGFzdC1jaGlsZCl7cGFkZGluZy1ib3R0b206NHB4O21heC13aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS55dEFuaW1hdGVkQWN0aW9uTG90dGlle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZHt3aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZENvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoxOHB4fS55dEFuaW1hdGVkQWN0aW9uQ29udGVudFdpdGhCYWNrZ3JvdW5ke3Bvc2l0aW9uOnJlbGF0aXZlfS5wbGF5ZXItc2V0dGluZ3MtaGVhZGVye21hcmdpbi1ib3R0b206MjBweH0ucGxheWVyLWNhcHRpb24tc2V0dGluZ3MsLnBsYXllci1xdWFsaXR5LXNldHRpbmdzLC5wbGF5ZXItc3BlZWQtc2V0dGluZ3N7d2lkdGg6MTAwJTttYXJnaW46NHB4IDAgMTJweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mb3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7bWluLWhlaWdodDo4LjRyZW07d2lkdGg6MTAwJTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtwYWRkaW5nOjhweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LmNvcHlEZWJ1Z0luZm9QbGF5ZXJEZWJ1Z0luZm97aGVpZ2h0OjQwdmg7ZGlyZWN0aW9uOmx0cn0uc3RhYmxlVm9sdW1lVG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBsYXllckNvbnRyb2xzQ29udGFpbmVySG9zdHstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0UGxheWVyQ29udHJvbHNDb250YWluZXJSZW5kZXJlZHtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3BhZGRpbmctYm90dG9tOjB9Lnl0U2hvcnRzRW1iZWRzSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMCwwLDAsLjQpIDAscmdiYSgwLDAsMCwwKSAxNjBweCksbGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC40KSAwLHJnYmEoMCwwLDAsMCkgOTZweCl9Lnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zLC55dFNob3J0c0VtYmVkc1JlZWxQbGF5ZXJPdmVybGF5UmVuZGVyZXIgLnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGEsLnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFye3otaW5kZXg6Mn0ueXRTaG9ydHNFbWJlZHNUb3BiYXJDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6Mjt3aWR0aDoxMDAlfS55dFNob3J0c0VtYmVkc1ZvbHVtZUNvbnRyb2xze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjQ4cHh9Lnl0bUN1ZWRPdmVybGF5SG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS55dG1DdWVkT3ZlcmxheUhpZGRlbiwueXRtQ3VlZE92ZXJsYXlIb3N0LmhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0zNnB4O21hcmdpbi10b3A6LTM2cHg7d2lkdGg6NzJweDtoZWlnaHQ6NzJweDtwYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcn0ueXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uLnNob3J0cywueXRtQ3VlZE92ZXJsYXlTaG9ydHN7bWFyZ2luLWxlZnQ6LTUwcHg7bWFyZ2luLXRvcDotNTBweDt3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHh9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb257d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjojZjAzfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dG1DdWVkT3ZlcmxheVBsYXlCdXR0b25JY29ue2NvbG9yOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpmaXJzdC1jaGlsZHtmaWxsOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gLmxvZ28tYXJyb3csLnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpudGgtY2hpbGQoMil7ZmlsbDpDYW52YXN9fS55dG1DdWVkT3ZlcmxheUdyYWRpZW50e3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikscmdiYSgwLDAsMCwwKSk7aGVpZ2h0OjdyZW19Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjNweH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJ7aGVpZ2h0OjNweDttYXJnaW46MCAxcHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyU2VlbntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJJc1NjcnViYmluZ3ttYXJnaW46MCAycHh9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyOmZpcnN0LW9mLXR5cGV7bWFyZ2luLWxlZnQ6MH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXI6bGFzdC1vZi10eXBle21hcmdpbi1yaWdodDowfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyRmlsbHtoZWlnaHQ6M3B4O3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyTG9hZGVke2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7aGVpZ2h0OjNweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckhvdmVyZWRNYWNyb01hcmtlcnt0cmFuc2Zvcm06c2NhbGVZKDIpO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmV7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjNweDt3aWR0aDoxMDAlfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lUm91bmRlZHtib3JkZXItcmFkaXVzOjEuNXB4O292ZXJmbG93OmhpZGRlbn0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjY7d2lkdGg6MTAwJX0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO2JvdHRvbTowO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dEhlYXRTZWVrZXJIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lnl0SGVhdFNlZWtlckhpZ2hDb250cmFzdHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDApLDkwJSxyZ2JhKDAsMCwwLC42KSk7ZmlsbDpyZ2JhKDI1NSwyNTUsMjU1LC41KX0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3R7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MTAwJTtkaXJlY3Rpb246bHRyfS55dFBsYXllclByb2dyZXNzQmFySG9zdFJlYWRPbmx5e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0SGlkZGVue29wYWNpdHk6MH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RMb3dlclBsYXllcntib3R0b206MDtsZWZ0OjMwcHg7cmlnaHQ6MzBweDtoZWlnaHQ6NDRweH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RCb3R0b21FZGdle2hlaWdodDoyOHB4O2xlZnQ6MDtyaWdodDowO2JvdHRvbTotN3B4fS55dFBsYXllclByb2dyZXNzQmFySG9zdEJvdHRvbUluc2V0e2hlaWdodDoyOHB4O2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS55dFBsYXllclByb2dyZXNzQmFySG9zdEN1c3RvbXtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMCkscmdiYSgwLDAsMCwuNSkpO29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguMiwwLC42LDEpfS55dFBsYXllclByb2dyZXNzQmFyQmFja2dyb3VuZEhpZGV7b3BhY2l0eTowfS55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXJCb3R0b21FZGdle2hlaWdodDowO3BhZGRpbmc6MTkuNXB4IDAgOC41cHh9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIZWF0c2Vla2VyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbToxLjVweH0ueXRQbGF5ZXJQcm9ncmVzc0JhckhlYXRzZWVrZXJDb250YWluZXJJbnNldHtib3R0b206MTQuNXB4fS55dFBsYXllclByb2dyZXNzQmFyUHJvZ3Jlc3NCYXJ7d2lkdGg6MTAwJTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0e3BhZGRpbmc6MTZweCAwIDEycHg7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbjp3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXRNaW5pbWl6ZWR7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTJweCl9Lnl0UHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5le3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDozcHg7d2lkdGg6MTAwJX0ueXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVke2JvcmRlci1yYWRpdXM6MS41cHg7b3ZlcmZsb3c6aGlkZGVufS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5ke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMb2FkZWR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjZ9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJIb3ZlcmVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi43fS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRQcm9ncmVzc0JhclBsYXloZWFkSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90e2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo1MCU7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6I2YwMzt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGVhc2V9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RMYXJnZXtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90SGlkZXt0cmFuc2Zvcm06c2NhbGUoMCl9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b217aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtwb2ludGVyLWV2ZW50czpub25lfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tTGFyZ2V7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZEN1c3RvbUhpZGV7dHJhbnNmb3JtOnNjYWxlKDApfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RCaWdib2FyZHt3aWR0aDoxMDAlO2xlZnQ6NTAlfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0c3ttYXJnaW4tYm90dG9tOjQ4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RJbmxpbmVQbGF5ZXJ7Ym90dG9tOmNhbGMoNTZweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3REZXNrdG9wU2hvcnRze21hcmdpbi1ib3R0b206MTZweH0ueXRQbGF5ZXJTdG9yeWJvYXJkSG9zdElzRHJhZ2dpbmd7bWFyZ2luLWJvdHRvbTo4MHB4fS55dFBsYXllclN0b3J5Ym9hcmRIb3N0RmFkZUlue2FuaW1hdGlvbjpmYWRlLWluIC4xcyBjdWJpYy1iZXppZXIoLjIsMCwuNiwxKX0ueXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlV3JhcHBlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2JhY2tncm91bmQ6IzAwMH0ueXRQbGF5ZXJTdG9yeWJvYXJkQmlnYm9hcmRJbWFnZVdyYXBwZXJ7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXB7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3tmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIuOHJlbTtsaW5lLWhlaWdodDozLjhyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXBTaG9ydHN7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3twYWRkaW5nLXRvcDo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcElzSG92ZXJpbmd7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOmNhbGMoMS42cmVtKnZhcigtLXN0b3J5Ym9hcmQtc2NhbGUsIDEpKTtsaW5lLWhlaWdodDpjYWxjKDIuMnJlbSp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZE1ldGFkYXRhe3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTpjYWxjKC02cHgqdmFyKC0tc3Rvcnlib2FyZC1zY2FsZSwgMSkpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwxMDAlKTtsZWZ0OjUwJTtjb2xvcjojZmZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7Zm9udC1zaXplOmNhbGMoMTJweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZE1ldGFkYXRhQmlnYm9hcmR7d2lkdGg6YXV0bztjb2xvcjojZmZmO21heC13aWR0aDoxMDAlO2JvdHRvbTo2cHg7Ym9yZGVyLXJhZGl1czoxNnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO3BhZGRpbmc6OHB4IDE2cHg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1jb2x1bW4tZ2FwOjFyZW07Y29sdW1uLWdhcDoxcmVtO21pbi13aWR0aDowfS55dFBsYXllclN0b3J5Ym9hcmRUaXRsZXttYXgtd2lkdGg6MTAwJTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7bWFyZ2luLWJvdHRvbTo0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRQbGF5ZXJTdG9yeWJvYXJkVGl0bGVCaWdib2FyZHttYXJnaW4tYm90dG9tOjA7Zm9udC13ZWlnaHQ6NzAwfS55dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb25XcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb257aGVpZ2h0OjE0cHg7d2lkdGg6MTRweDttYXJnaW4tcmlnaHQ6NHB4fS55dFBsYXllclN0b3J5Ym9hcmRTdG9yeWJvYXJkSW1hZ2V7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZX1Aa2V5ZnJhbWVzIGZhZGUtaW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowO2JvdHRvbTowO2hlaWdodDozcHg7ZGlyZWN0aW9uOmx0cjt0cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodCxtYXJnaW4tbGVmdCxtYXJnaW4tcmlnaHQscGFkZGluZyx2aXNpYmlsaXR5O3RyYW5zaXRpb24tZHVyYXRpb246LjI1c30ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0SXNTY3J1YmJhYmxlTW9kZXttYXJnaW4tcmlnaHQ6MTZweDttYXJnaW4tbGVmdDoxNnB4O2hlaWdodDoxNnB4O3BhZGRpbmctYm90dG9tOjE2cHg7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXN9Lnl0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdEhpZGVQcm9ncmVzc0Jhcnt2aXNpYmlsaXR5OmhpZGRlbjtoZWlnaHQ6MH0ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNHZXN0dXJlT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwdmg7d2lkdGg6MTAwdnc7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czphdXRvfS55dHdBdXRvbmF2VG9vbHRpcEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoyNSU7d2lkdGg6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtjb2xvcjojZmZmfS55dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcEhvc3R7ZGlzcGxheTpibG9ja30ueXR3UGxheWVyVXNlckVkdVRvb2x0aXBUb29sdGlwQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowIDhweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXR3UGxheWVyVXNlckVkdVRvb2x0aXBUb29sdGlwV3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDotbW96LW1heC1jb250ZW50O3dpZHRoOm1heC1jb250ZW50O21hcmdpbi10b3A6MTZweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3otaW5kZXg6Njtib3JkZXItcmFkaXVzOjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7cGFkZGluZzo3cHggMTZweDttYXgtd2lkdGg6MTAwJTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0d1BsYXllclVzZXJFZHVUb29sdGlwVG9vbHRpcFdyYXBwZXI6ZW1wdHl7ZGlzcGxheTpub25lfS55dHdTcGVlZG1hc3RlclRvb2x0aXBIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dHdTcGVlZG1hc3RlclRvb2x0aXBIb3N0Om5vdCgueXR3U3BlZWRtYXN0ZXJUb29sdGlwS2lsbHN3aXRjaCl7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7bGVmdDowO3JpZ2h0OjB9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcExhYmVse3RleHQtYWxpZ246anVzdGlmeTtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH1bZGlyPXJ0bF0gLnl0d1NwZWVkbWFzdGVyVG9vbHRpcExhYmVse2RpcmVjdGlvbjpydGx9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcEljb257bWFyZ2luLWxlZnQ6NHB4fS55dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzR2VzdHVyZU92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtwb2ludGVyLWV2ZW50czphdXRvfS55dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzR2VzdHVyZUNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2xlZnQ6MDt0b3A6MDtib3R0b206MDtyaWdodDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzU3BlZWRtYXN0ZXJHZXN0dXJlQXJlYXtoZWlnaHQ6MTAwJTt3aWR0aDoyNSV9Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNNZW51R2VzdHVyZUFyZWF7aGVpZ2h0OjEwMCU7d2lkdGg6NTAlfS55dG1WaWRlb0NvdmVySG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS55dG1WaWRlb0NvdmVySG9zdC5lbmRlZHt6LWluZGV4OjB9Lnl0bVZpZGVvQ292ZXJIb3N0LmhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0bVZpZGVvQ292ZXJUaHVtYm5haWx7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3Zlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dGRWb2x1bWVDb250cm9sc0hvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWF4LWhlaWdodDo0OHB4fS55dGRWb2x1bWVDb250cm9sc0Rpc2FibGVTbGlkZXJ7d2lkdGg6NDhweH0ueXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTBweDtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxIDEgYXV0bzttYXgtd2lkdGg6MTY4cHh9Lnl0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJWZXJ0aWNhbHttYXgtd2lkdGg6NDhweDt3aWR0aDo0OHB4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2dhcDo2MHB4O2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtwb2ludGVyLWV2ZW50czpub25lfS55dGRWb2x1bWVDb250cm9sc1ZvbHVtZUNvbnRyb2xzQ29udGFpbmVyRXhwYW5kZWR7cG9pbnRlci1ldmVudHM6YWxsfS55dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9uQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czo1MHB4fS55dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmVuZDt6LWluZGV4OjE7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO3BhZGRpbmc6MTJweDtjdXJzb3I6cG9pbnRlcjtwb2ludGVyLWV2ZW50czphbGw7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjA7b3BhY2l0eTowO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjEycyBsaW5lYXIsb3BhY2l0eSAuMTJzIGxpbmVhcix3aWR0aCAuMTJzIGxpbmVhcn0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJFeHBhbmRlZHt2aXNpYmlsaXR5OnZpc2libGU7d2lkdGg6MTAwJTtvcGFjaXR5OjE7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IC4zcyBsaW5lYXIsb3BhY2l0eSAuM3MgbGluZWFyLHdpZHRoIC4zcyBsaW5lYXI7ei1pbmRleDoxfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lcldpdGhTY3JpbXtwYWRkaW5nLXJpZ2h0OjEycHh9Lnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7Ym9yZGVyLXJhZGl1czo1MHB4O2hlaWdodDo0OHB4O21pbi1oZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTJweDttYXJnaW46MDt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzIGxpbmVhcixvcGFjaXR5IC4zcyBsaW5lYXIsd2lkdGggMHMgbGluZWFyIC4zcyxtYXJnaW4gLjNzIGxpbmVhcn0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbERvd257dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lclZlcnRpY2FsRXhwYW5kZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7bWFyZ2luLXRvcDo4cHg7d2lkdGg6MTMzcHg7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IC4zcyBsaW5lYXIsb3BhY2l0eSAuM3MgbGluZWFyLHdpZHRoIDBzIGxpbmVhcixtYXJnaW4gLjNzIGxpbmVhcn0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJEaXNhYmxlU2xpZGVye2Rpc3BsYXk6bm9uZX0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXJ7LS1ncmFkaWVudC1wZXJjZW50OjA7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JvcmRlcjpub25lO21hcmdpbi1ib3R0b206MXB4O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7bWluLXdpZHRoOjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6OHB4IDA7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lfS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2ZmZiAwLCNmZmYgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwwLjMpIHZhcigtLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMjU1LDI1NSwyNTUsMC4zKSAxMDAlKTtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2ZmZiAwLCNmZmYgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgwLDAsMCwwLjEpIHZhcigtLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMCwwLDAsMC4xKSAxMDAlKTtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtib3JkZXItcmFkaXVzOjUwJTttYXJnaW4tdG9wOi02LjVweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjpub25lfS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7aGVpZ2h0OjJweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7aGVpZ2h0OjJweH0ueXRkVm9sdW1lQ29udHJvbHNNdXRlSWNvbntjb2xvcjp3aGl0ZX0ueXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW17aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweDt6LWluZGV4OjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7dHJhbnNpdGlvbjp3aWR0aCAuMjVzIGxpbmVhcjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwcHh9Lnl0ZFZvbHVtZUNvbnRyb2xzQmFja2dyb3VuZFNjcmltRXhwYW5kZWR7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX0ueXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW1FeHBhbmRlZEhvdmVyU3RhdGU6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo0cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjI4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxiYWNrZ3JvdW5kLWNvbG9yfS55dHdQbGF5ZXJGdWxsc2NyZWVuQWN0aW9uTWVudUhvc3R7ZGlzcGxheTpibG9ja30ueXR3UGxheWVyRnVsbHNjcmVlbkFjdGlvbk1lbnVDaXJjbGVCdXR0b25ze21hcmdpbi1yaWdodDo4cHh9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsQnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czoyNHB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6MTJweDt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjtib3JkZXI6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxCdXR0b24gYnV0dG9ue3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsQnV0dG9uIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNpbmdsZVRodW1ibmFpbHtwYWRkaW5nOjZweCA4cHg7Ym9yZGVyLXJhZGl1czoxNnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTaW5nbGVUaHVtYm5haWx7cGFkZGluZzo2cHggMTJweH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsU3RhY2t7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLXRvcDotMXB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxTdGFja3ttYXJnaW4tbGVmdDo4cHh9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlse2hlaWdodDoycHg7bWFyZ2luLWJvdHRvbToxcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoycHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTbWFsbEZhZGVkVGh1bWJuYWlse3dpZHRoOjEwcHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbExhcmdlRmFkZWRUaHVtYm5haWx7d2lkdGg6MjBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MzZweDtoZWlnaHQ6MjBweDtib3JkZXI6MnB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbn0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsU2luZ2xlVGh1bWJuYWlsIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxDb250YWluZXJ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDtib3JkZXI6bm9uZTtvdXRsaW5lOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6OHB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWx7ZGlzcGxheTpibG9ja30ueXRtU2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXJIb3N0e21hcmdpbi1yaWdodDoxMnB4fXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnN7bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLXRleHR7ZGlzcGxheTpub25lfXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMgLmJ1dHRvbi1yZW5kZXJlcnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21pbi13aWR0aDphdXRvO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luOjB9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0uZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMTVweDtib3R0b206Y2FsYyh2YXIoLS1jb250cm9scy1oZWlnaHQpKi0xKTtsZWZ0OjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6dmFyKC0tY29udHJvbHMtaGVpZ2h0KTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZ1bGxzY3JlZW4tY29udHJvbHMtdmlkZW8tdGl0bGV7Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi1jb250cm9scy5leHBhbmRlZHtib3R0b206MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93LXg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtzY3JvbGxiYXItd2lkdGg6bm9uZX0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfUBtZWRpYSAocG9pbnRlcjpmaW5lKXsuZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMjhweH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcntzY3JvbGxiYXItd2lkdGg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6YXV0bztvdmVyZmxvdy15OmF1dG99LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE2cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6IzYwNjA2MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwfS5mdWxsc2NyZWVuLXJlY29tbWVuZGF0aW9ucy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5OmJsb2NrfX0uZnVsbHNjcmVlbi1idXR0b25zLXdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQ0cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257d2lkdGg6MjAwcHg7bWluLXdpZHRoOjIwMHB4O21hcmdpbjowIDhweH0udG9wLWZ1bGxzY3JlZW4tY29udHJvbHN7cGFkZGluZzoxMnB4O2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo2fS5mdWxsc2NyZWVuLWNsb3NlLWJ1dHRvbi13cmFwcGVye21hcmdpbi10b3A6LThweDttYXJnaW4tbGVmdDphdXRvfS5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMnB4O2hlaWdodDo0OHB4O2xlZnQ6MjRweDtyaWdodDoyNHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ei1pbmRleDoyfS5hY3Rpb24tbWVudS1lbmdhZ2VtZW50LWJ1dHRvbnMtd3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtib3JkZXItcmFkaXVzOjQ4cHg7cGFkZGluZzo0cHggMDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyPjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo4cHh9LmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUsLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUgLnl0QXR0cmlidXRlZFN0cmluZ0hvc3QsLmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi13YXRjaC1uZXh0LWVudHJ5cG9pbnQtd3JhcHBlcnttYXJnaW4tbGVmdDphdXRvO2hlaWdodDoxMDAlfS5mdWxsc2NyZWVuLW1vcmUtdmlkZW9zLWVuZHBvaW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5zdGFja2VkLXZpZGVvcy13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mjt3aWR0aDo2NHB4O2hlaWdodDoxMDAlfS5zdGFja2VkLXZpZGVvLXByZXZpZXd7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZDpibGFjaztib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6M3B4O292ZXJmbG93OmhpZGRlbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnN0YWNrZWQtdmlkZW8tcHJldmlldyAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0uc3RhY2tlZC12aWRlby1wcmV2aWV3OmZpcnN0LWNoaWxke3otaW5kZXg6M30uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgyKXt6LWluZGV4OjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCkgc2NhbGUoLjg3NSl9LnN0YWNrZWQtdmlkZW8tcHJldmlldzpudGgtY2hpbGQoMikgLnN0YWNrZWQtdmlkZW8tcHJldmlldy1pbWFnZXtvcGFjaXR5Oi43NX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKXt6LWluZGV4OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCkgc2NhbGUoLjc1KX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKSAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle29wYWNpdHk6LjV9Lm1vcmUtdmlkZW9zLW1lc3NhZ2V7bWFyZ2luLXJpZ2h0OjEycHg7dGV4dC1hbGlnbjpyaWdodH0ubW9yZS12aWRlb3MtbWVzc2FnZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS5tb3JlLXZpZGVvcy1tZXNzYWdlLXN1YnRpdGxle2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eTouN30ucXVpY2stYWN0aW9ucy13cmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjEwMCU7bWFyZ2luLWxlZnQ6YXV0b30ucXVpY2stYWN0aW9ucy1iYXItYnV0dG9ucy13cmFwcGVye3BhZGRpbmctbGVmdDoxMnB4fS53YXRjaC1vbi15b3V0dWJlLWJ1dHRvbi13cmFwcGVye2RpcmVjdGlvbjpsdHJ9QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsud2F0Y2gtb24teW91dHViZS1idXR0b24td3JhcHBlciAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtoZWlnaHQ6NDBweDtwYWRkaW5nOjAgMjBweH19LndhdGNoLW9uLXlvdXR1YmUtYnV0dG9ue3BhZGRpbmctbGVmdDo0cHh9Lm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS1idXR0b24tcmVuZGVyZXIsLm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyLmNpcmNsZS1idXR0b25zLC5uby1sYWJlbC1leHA+eXRtLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9uc3ttYXJnaW4tcmlnaHQ6OHB4fVtkaXI9cnRsXSAubm8tbGFiZWwtZXhwIHl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMubGlrZS1idXR0b24tbm8tbGFiZWwtZXhwe2RpcmVjdGlvbjpydGx9QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51LC5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX19eXRtLWN1c3RvbS1jb250cm9sIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6MTJweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1jdXN0b20tY29udHJvbCAuaWNvbi1idXR0b246bm90KC5wbGF5ZXItc2V0dGluZ3MtaWNvbil7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjhweH15dG0tY3VzdG9tLWNvbnRyb2wgLmljb24tYnV0dG9uOm5vdCgucGxheWVyLXNldHRpbmdzLWljb24pPmMzLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH19eXRtLWN1c3RvbS1jb250cm9sIC5hdXRvbmF2LXVzZXItZWR1Y2F0aW9uLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjUlO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Y29sb3I6I2ZmZn0uaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC5wbGF5ZXItY29udHJvbHMtYm90dG9tLC5pbnRlcmNlcHQtZWxlbWVudC1jbGlja3MgLnBsYXllci1jb250cm9scy1taWRkbGUsLmludGVyY2VwdC1lbGVtZW50LWNsaWNrcyAucGxheWVyLWNvbnRyb2xzLXRvcCwuaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntwb2ludGVyLWV2ZW50czpub25lfXl0bS1jdXN0b20tY29udHJvbCAuZmluZS1zY3J1YmJpbmctb3ZlcmxheSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1ib3R0b20gLmZ1bGxzY3JlZW4taWNvbiBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uIGMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtcGIgLmljb24tYnV0dG9uPmMzLWljb24seXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIC5pY29uLWJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvblthcmlhLXByZXNzZWQ9ZmFsc2VdPmMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIHl0bS1jbG9zZWQtY2FwdGlvbmluZy1idXR0b24gYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXT5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6I2ZmZn15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uLmljb24tZGlzYWJsZSBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt6LWluZGV4OjI7cmlnaHQ6MjRweH1AbWVkaWEgKG1heC1oZWlnaHQ6MjIxcHgpe3l0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtyaWdodDowfX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDowfUBtZWRpYSAobWluLXdpZHRoOjM4MHB4KXt5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDoxNHB4fX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AtcmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9W2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQsW2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXJlY3Rpb246cnRsfWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHt0b3A6ZW52KHNhZmUtYXJlYS1pbnNldC10b3ApfXl0bS1jdXN0b20tY29udHJvbCBjMy1vdmVybGF5e3Zpc2liaWxpdHk6dmlzaWJsZX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtY29udGVudHtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47dmlzaWJpbGl0eTpoaWRkZW59I3BsYXllci1jb250cm9sLW92ZXJsYXkudXNlLW9wYWNpdHkgLnBsYXllci1jb250cm9scy1jb250ZW50e29wYWNpdHk6MDt2aXNpYmlsaXR5OnVuc2V0fSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjA7b3BhY2l0eTowfSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZDpub3QoLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZCl7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsLjYpIDAscmdiYSgwLDAsMCwuNTQpIDI1JSxyZ2JhKDAsMCwwLC4zNikgNTAlLHJnYmEoMCwwLDAsLjE4KSA3NSUscmdiYSgwLDAsMCwwKSk7YmFja2dyb3VuZC1zaXplOjFweCA1MCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheSAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3A6MDt2aXNpYmlsaXR5OnZpc2libGV9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLWFjdGlvbi1pdGVtc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjJ9I3BsYXllci1jb250cm9sLW92ZXJsYXkuYW5pbWF0aW9uLWVuYWJsZWR7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjdzO3RyYW5zaXRpb24tcHJvcGVydHk6YWxsfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmFuaW1hdGlvbi1lbmFibGVkIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMnN9I3BsYXllci1jb250cm9sLW92ZXJsYXkucG9pbnRlci1ldmVudHMtb2Zme3BvaW50ZXItZXZlbnRzOm5vbmV9I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWlue3BvaW50ZXItZXZlbnRzOmF1dG99I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWluIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt6LWluZGV4OjI7b3BhY2l0eToxfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbiAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7dmlzaWJpbGl0eTp2aXNpYmxlfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbi51c2Utb3BhY2l0eSAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7b3BhY2l0eToxO3Zpc2liaWxpdHk6dW5zZXR9I3BsYXllci1jb250cm9sLW92ZXJsYXkuaGlkZGVue2Rpc3BsYXk6bm9uZX1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXJ7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Ym9keVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLmVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206MzBweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMuZnMtd2F0Y2gtc3lzdGVtIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206NTBweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTo1MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206ODJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnV7bGVmdDoxMnB4O3JpZ2h0OjEycHh9QG1lZGlhIChtaW4td2lkdGg6MzgwcHgpey5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1hY3Rpb24tbWVudXtsZWZ0OjMwcHg7cmlnaHQ6MzBweH19QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsuZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTozMnB4O3otaW5kZXg6MztoZWlnaHQ6NDBweDtsZWZ0OjEycHg7cmlnaHQ6MTJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFyIC55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZW5kfS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXIgLnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0JhcntwYWRkaW5nLWJvdHRvbToxMnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NThweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLnBsYXllci1jb250cm9scy1ib3R0b20ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS1sZWZ0e2xlZnQ6MDtyaWdodDo0NHB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLXJpZ2h0e2xlZnQ6dW5zZXQ7cmlnaHQ6MDt6LWluZGV4OjR9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e2xlZnQ6MnB4O3JpZ2h0OjJweDtib3R0b206MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1tb3JlLXZpZGVvcy1lbmRwb2ludHttYXJnaW4tdG9wOjEycHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvLXByZXZpZXcsLmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvcy13cmFwcGVye3dpZHRoOjQycHg7aGVpZ2h0OjI0cHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5wbGF5ZXItdGltZS1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6bm9uZX19LnBsYXllci1jb250cm9scy1oaWRle2Rpc3BsYXk6bm9uZX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIb3N0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QnJhbmRpbmdJY29ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2cHg7cmlnaHQ6MTJweDtjb2xvcjojZmZmfVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCcmFuZGluZ0ljb257bGVmdDoxMnB4O3JpZ2h0OmF1dG99Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QmFja2dyb3VuZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUFjdGlvbk1lbnV7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGx9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5SGlkZUFjdGlvbk1lbnV7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTVweDtyaWdodDoxMnB4fVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXJ7bGVmdDoxMnB4O3JpZ2h0OmF1dG99QGtleWZyYW1lcyB5dG0tZXF1YWxpemVyLWFuaW1hdGlvbnswJXt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGVZKC41KX10b3t0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXIgLnl0bS1lcXVhbGl6ZXItYmFyLWxlZnQsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1taWRkbGUsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDthbmltYXRpb24tbmFtZTp5dG0tZXF1YWxpemVyLWFuaW1hdGlvbjthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbGVmdHthbmltYXRpb24tZHVyYXRpb246LjVzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbWlkZGxle2FuaW1hdGlvbi1kdXJhdGlvbjoxLjNzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItcmlnaHR7YW5pbWF0aW9uLWR1cmF0aW9uOi43c30ueXRTaG9ydHNUb3VjaEZlZWRiYWNrSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNob3J0c1RvdWNoRmVlZGJhY2tIaWRkZW57ZGlzcGxheTpub25lfS55dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNre2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uV3JhcHBlcnt3aWR0aDoyNDBweDtoZWlnaHQ6MjQwcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0U2hvcnRzVG91Y2hGZWVkYmFja1BsYXlQYXVzZUFuaW1hdGlvbnt3aWR0aDo5NnB4O2hlaWdodDo5NnB4fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVySG9zdHtvdmVyZmxvdy15OnNjcm9sbH19Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyU2NyaW1Db250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo1fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRhaW5lcntib3JkZXItcmFkaXVzOjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO21hcmdpbjowIDhweCAyNHB4O21heC13aWR0aDo0MDBweDtkaXNwbGF5OmJsb2NrO292ZXJmbG93OnNjcm9sbH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIZWFkZXJ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTQwcHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjIwcHggMDt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTJweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDZW50cmFsSWNvbntoZWlnaHQ6NjVweDt3aWR0aDo2NXB4O2NvbG9yOiNmMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTVweDtib3JkZXItcmFkaXVzOjQ1cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7cmlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjI0cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyRHJhZ0hhbmRsZXtiYWNrZ3JvdW5kOiMwMzAzMDM7b3BhY2l0eTouMTU7Ym9yZGVyLXJhZGl1czo0cHg7aGVpZ2h0OjRweDttYXJnaW46MCBhdXRvO3dpZHRoOjQwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50c3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRlbnRzPmRpdntwYWRkaW5nLWJvdHRvbTo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ29udGVudHM+eXRtLWJ1dHRvbi1yZW5kZXJlcntwYWRkaW5nLXRvcDo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtfUBtZWRpYSAobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7bGV0dGVyLXNwYWNpbmc6LjAwNWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTdWJ0aXRsZXtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjEuOHJlbX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclN1YnRpdGxle2xldHRlci1zcGFjaW5nOi4wMWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO3otaW5kZXg6NTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3RvcDowfX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206NTAlfX1AbWVkaWEgKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlck92ZXJsYXlDb250YWluZXJ7Ym90dG9tOjI1JX19QG1lZGlhIChtYXgtaGVpZ2h0OjUwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206MH19W2JvdHRvbS1zaGVldC1vdmVybGF5LWJvZHktb3Blbl17cG9zaXRpb246Zml4ZWQ7bGVmdDowO3JpZ2h0OjA7dG9wOjA7b3ZlcmZsb3c6aGlkZGVufS55dG0tZm9yY2VkLW11dGUtbWVzc2FnZSAuYnV0dG9uLXdpdGgtaWNvbi1pbm5lcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtib3JkZXI6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czozcHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjZweH0ueXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UgLmJ1dHRvbi13aXRoLWljb24taW5uZXIgYzMtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlci5pdGVte21hcmdpbi10b3A6MH15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJ7YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJbYmFja2dyb3VuZD1JTkZPX1BBTkVMX0NPTlRBSU5FUl9CQUNLR1JPVU5EX1NZU1RFTV06Zmlyc3QtY2hpbGR7Ym9yZGVyOm5vbmV9eXRtLWluZm8tcGFuZWwtY29udGFpbmVyLXJlbmRlcmVyW2JhY2tncm91bmQ9SU5GT19QQU5FTF9DT05UQUlORVJfQkFDS0dST1VORF9TWVNURU1de2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfR1JBWV17YmFja2dyb3VuZC1jb2xvcjojZmZmfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfT1ZFUkxBWV9CTEFDS117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9Lnl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXJ7aGVpZ2h0OjM2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1sZWZ0LWl0ZW1ze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXItaWNvbnttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbeXRtLWluZm8tcGFuZWwtY29udGVudC1oYXMtbWVudT10cnVlXXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0W3l0bS1pbmZvLXBhbmVsLWNvbnRlbnQtaGFzLW1lbnU9dHJ1ZV0gLnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcldyYXBwZXJ7cGFkZGluZy1ib3R0b206MTJweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0SXNXYXRjaEluZm9QYW5lbHttYXJnaW46MTJweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbeXRtLWluZm8tcGFuZWwtY29udGVudC10cnVuY2F0ZS1wYXJhZ3JhcGhzPXRydWVdIC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJQYXJhZ3JhcGh7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC1saW5lLWNsYW1wOjN9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbZGF0YS1iYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEVOVF9CQUNLR1JPVU5EX09WRVJMQVlfQkxBQ0tdIC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2V7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo1MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbZGF0YS1iYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEVOVF9CQUNLR1JPVU5EX0JMVUVde2JhY2tncm91bmQtY29sb3I6I2RlZjFmZn0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0Q2luZW1hdGljQmFja2dyb3VuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlcntwYWRkaW5nOjEycHggMTZweCAxNnB4IDE2cHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcldyYXBwZXJbZGF0YS1oYXMtaWNvbj10cnVlXXtwYWRkaW5nOjE0cHggMTJweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyQm9keXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvd30ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGV4dHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGl0bGVDb250YWluZXJ7Y29sb3I6IzA2NWZkNDttYXJnaW4tYm90dG9tOjRweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lcnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lcnttYXgtaGVpZ2h0OjRyZW19Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckxpbmtJY29ue3BhZGRpbmctbGVmdDoxcHg7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LXRvcH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWV0YWRhdGF7bWFyZ2luLWJvdHRvbTo0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclB1Ymxpc2hUaW1le2Rpc3BsYXk6aW5saW5lO2NvbG9yOiM2MDYwNjA7cGFkZGluZy1sZWZ0OjNweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUGFyYWdyYXBoe2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6IzA2NWZkNDtwYWRkaW5nLWxlZnQ6MnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2VUZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaHVtYm5haWx7ZmxleC1zaHJpbms6MDtoZWlnaHQ6NjRweDt3aWR0aDo2NHB4O21hcmdpbi1sZWZ0OjhweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyRW5kcG9pbnR7d2lkdGg6MTAwJX0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVyUmlnaHRJdGVtc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhlYWRlckljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDo0cHg7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWVudXtkaXNwbGF5OmJsb2NrfS55dG1Mb2dvRW50aXR5SG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo0OHB4fS55dG1Mb2dvRW50aXR5Q29udGFpbmVye3dpZHRoOjEyMnB4O21hcmdpbi1yaWdodDoxMnB4fS55dG1Mb2dvRW50aXR5TG9nb3twYWRkaW5nOjA7aGVpZ2h0OjQ4cHg7d2lkdGg6YXV0bztjb2xvcjp1bnNldH0ucGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJIb3N0e2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojNjA2MDYwfS5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlclNjcmlte3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwuNCkgMCxyZ2JhKDAsMCwwLC42KSA3NSUscmdiYSgwLDAsMCwuNikpfS55dEJpZ2JvYXJkU3Rvcnlib2FyZEhvc3R7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW59Lnl0bUExMXlTdHlsZXNIaWRkZW5CdXR0b257cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25Ib3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uSWNvbkRpc2FibGVke2NvbG9yOiM5MDkwOTB9Lnl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25JY29uRGlzYWJsZWRPdmVybGF5e2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zKX0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbll0SWNvbk92ZXJsYXl7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkJ1dHRvbntjdXJzb3I6cG9pbnRlcjt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MTJweDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dG1DcmVhdG9yRW5kc2NyZWVuSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtmb250LXNpemU6MS4ycmVtO3Zpc2liaWxpdHk6aGlkZGVufS55dG1DcmVhdG9yRW5kc2NyZWVuSW5DdWVSYW5nZXt2aXNpYmlsaXR5OnZpc2libGV9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUze2ZvbnQtc2l6ZToxLjRyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MHtmb250LXNpemU6MS44cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjB7Zm9udC1zaXplOjIuNHJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnR7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRWaXNpYmxle29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czphdXRvfS55dG1DcmVhdG9yRW5kc2NyZWVuU2NyaW17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMDAwO29wYWNpdHk6MDt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TY3JpbVZpc2libGV7b3BhY2l0eTouMjV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRIb3N0e2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTt0cmFuc2l0aW9uOnotaW5kZXggLjJzIHN0ZXAtZW5kO3otaW5kZXg6Njtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmV7dHJhbnNpdGlvbjp6LWluZGV4IC4ycyBzdGVwLXN0YXJ0O3otaW5kZXg6N30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbHtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO2JveC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLDAuNil9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRSb3VuZHtib3JkZXItcmFkaXVzOjUwJX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuOCk7aGVpZ2h0OjEwMCU7cGFkZGluZzo4cHg7bWFyZ2luOi04cHg7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtjb2xvcjojZmZmO3Zpc2liaWxpdHk6aGlkZGVuO2FsaWduLWNvbnRlbnQ6Y2VudGVyO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nU21hbGwgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5e2JvcmRlci1yYWRpdXM6NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdNZWRpdW0gLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5e2JvcmRlci1yYWRpdXM6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdMYXJnZSAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7Ym9yZGVyLXJhZGl1czoxMnB4fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0e2xlZnQ6MH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlSaWdodEFjdGl2ZXtwYWRkaW5nLWxlZnQ6Y2FsYygxMDAlICsgOHB4KX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0e3JpZ2h0OjB9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdEFjdGl2ZXtwYWRkaW5nLXJpZ2h0OmNhbGMoMTAwJSArIDhweCl9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdEFjdGl2ZSwueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlSaWdodEFjdGl2ZXtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlO21heC13aWR0aDpub25lfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MTE1cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnQsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDcwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnQsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNTA2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnQsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNTcwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MTM2cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDoxMnB4fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTQyNiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU2NDAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxMzZweDttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTY0MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxNzZweDttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MjY0cHg7bWFyZ2luLWxlZnQ6MzJweDttYXJnaW4tcmlnaHQ6MTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjMycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e3dpZHRoOjM5MnB4O21hcmdpbi1sZWZ0OjQ4cHg7bWFyZ2luLXJpZ2h0OjI0cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXJnaW4tbGVmdDoyNHB4O21hcmdpbi1yaWdodDo0OHB4fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWF4LWhlaWdodDoxMDAlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjEuMnJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4yNTttYXJnaW4tYm90dG9tOjJweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjEuNnJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVRpdGxle2ZvbnQtc2l6ZToycmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjIuNHJlbX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle2ZvbnQtc2l6ZToxLjJyZW07bWFyZ2luLXRvcDo0cHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle2ZvbnQtc2l6ZToxLjZyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGV7Zm9udC1zaXplOjEuOHJlbTttYXJnaW4tdG9wOjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZXtmb250LXNpemU6MnJlbTttYXJnaW4tdG9wOjEycHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVse2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtwYWRkaW5nLXRvcDo0cHg7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjN9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNjQwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbHstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU1NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsey13ZWJraXQtbGluZS1jbGFtcDoxfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTM0NiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTUwNiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWx7ZGlzcGxheTpub25lfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZXt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q2FsbFRvQWN0aW9ue2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tdG9wOjRweDtmb250LXNpemU6MXJlbTt0cmFuc2l0aW9uOmFsbCAuMnN9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q2FsbFRvQWN0aW9uOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Y3Vyc29yOnBvaW50ZXJ9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5QnV0dG9ue21hcmdpbi10b3A6NHB4O21hcmdpbi1ib3R0b206NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTM0NiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlCdXR0b257ZGlzcGxheTpub25lfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW17cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazt6LWluZGV4OjY7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yc30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFNjcmltQ2hhbm5lbHtib3JkZXItcmFkaXVzOjUwJX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFNjcmltQWN0aXZle29wYWNpdHk6LjI1fS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkhvc3R7d2lkdGg6MTAwJX0ueXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25Db250ZW50Q29udGFpbmVye3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MThweH0ueXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25GbGV4Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnR9Lnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uQ2FuQW5pbWF0ZXt0cmFuc2l0aW9uOndpZHRoIC41cyBlYXNlfS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvblN0YXRpY1dpZHRoIC55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkZsZXhDb250YWluZXJ7d2lkdGg6YXV0b30ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3R7ZGlzcGxheTpibG9jaztjdXJzb3I6cG9pbnRlcjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtib3gtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwwLjYpO3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt6LWluZGV4OjV9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ1NtYWxsIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdHtib3JkZXItcmFkaXVzOjRweH0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nTWVkaXVtIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdHtib3JkZXItcmFkaXVzOjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nTGFyZ2UgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0e2JvcmRlci1yYWRpdXM6MTJweH0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmV7Ym9yZGVyLWNvbG9yOiNmZmZ9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUb3BPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDozMyV9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtjb2xvcjojZmZmO3Bvc2l0aW9uOnJlbGF0aXZlO2ZvbnQtc2l6ZToxLjJyZW07Zm9udC13ZWlnaHQ6NTAwO21hcmdpbjo2cHggOHB4IDA7bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsMC4zKTtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU2NDAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtmb250LXNpemU6MS40cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxle2ZvbnQtc2l6ZToxLjZyZW07bWFyZ2luOjEwcHggMTJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsVGl0bGV7Zm9udC1zaXplOjJyZW07bWFyZ2luOjE0cHggMTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsVGl0bGV7Zm9udC1zaXplOjIuNHJlbTttYXJnaW46MThweCAyMHB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlse29iamVjdC1maXQ6Y292ZXJ9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaW1lU3RhdHVze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjB9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaW1lU3RhdHVzIC55dEJhZGdlU2hhcGVIb3N0e2ZvbnQtc2l6ZTppbmhlcml0fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7cGFkZGluZzoycHggNHB4O21hcmdpbi1ib3R0b206MnB4O21hcmdpbi1yaWdodDoycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7cGFkZGluZzo2cHggOHB4O21hcmdpbi1ib3R0b206OHB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7cGFkZGluZzoxMHB4IDEycHg7bWFyZ2luLWJvdHRvbToxNnB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VG9wR3JhZGllbnR7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTouODtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2IoMCwwLDApLHRyYW5zcGFyZW50KX0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0TGVuZ3RoT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoycHg7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0TGVuZ3RoT3ZlcmxheXtwYWRkaW5nOjRweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5e3BhZGRpbmc6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aE92ZXJsYXl7cGFkZGluZzoxMnB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGh7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTttYXJnaW46MCAycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue21hcmdpbjowIDRweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue21hcmdpbjowIDhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue21hcmdpbjowIDEycHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRTY3JpbXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazt6LWluZGV4OjU7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yc30ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFNjcmltQWN0aXZle29wYWNpdHk6LjI1fS55dFBmcEF1dG9uYXZIb3N0e3BvaW50ZXItZXZlbnRzOm5vbmU7ZGlzcGxheTpibG9ja30ueXRQZnBBdXRvbmF2VmlzaWJsZXtwb2ludGVyLWV2ZW50czphdXRvO2JhY2tncm91bmQ6YmxhY2t9Lnl0UGZwQXV0b25hdlNjcmlte3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp3aGl0ZTtwb2ludGVyLWV2ZW50czphdXRvfS55dFBmcEF1dG9uYXZIZWFkZXJ7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0UGZwQXV0b25hdlRpdGxle2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOjRweH0ueXRQZnBBdXRvbmF2QnlsaW5le2ZvbnQtc2l6ZToxNnB4O21hcmdpbi1ib3R0b206MjRweH0ueXRQZnBBdXRvbmF2QnlsaW5lLC55dFBmcEF1dG9uYXZUaXRsZXttYXgtd2lkdGg6ODAlO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRQZnBBdXRvbmF2UGxheUJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo3MnB4O2hlaWdodDo3MnB4O21hcmdpbi1ib3R0b206MjRweDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym9yZGVyOjA7YmFja2dyb3VuZDpub25lO2NvbG9yOndoaXRlfS55dFBmcEF1dG9uYXZSaW5ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dFBmcEF1dG9uYXZQbGF5SWNvbnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2ZpbGw6d2hpdGV9Lnl0UGZwQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2s7cG9pbnRlci1ldmVudHM6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ueXRQZnBDb250cm9sc0hvc3QgOmZvY3VzLXZpc2libGV7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggIzNlYTZmZn0ueXRQZnBDb250cm9sc092ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bzt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufS55dFBmcENvbnRyb2xzQ3JlYXRvckVuZHNjcmVlbkNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjJ9Lnl0UGZwQ29udHJvbHNGYWRlSW57cG9pbnRlci1ldmVudHM6YXV0b30ueXRQZnBDb250cm9sc0JpZ2JvYXJkLC55dFBmcENvbnRyb2xzQm90dG9tQmFyLC55dFBmcENvbnRyb2xzR3JhZGllbnRUb3AsLnl0UGZwQ29udHJvbHNQcm9ncmVzc0JhckNvbnRhaW5lciwueXRQZnBDb250cm9sc1ZpZGVvVGl0bGV7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMsdmlzaWJpbGl0eSAuMjVzfS55dFBmcENvbnRyb2xzT3ZlcmxheTpub3QoLnl0UGZwQ29udHJvbHNGYWRlSW4pIC55dFBmcENvbnRyb2xzQmlnYm9hcmQsLnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNCb3R0b21CYXIsLnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNHcmFkaWVudFRvcCwueXRQZnBDb250cm9sc092ZXJsYXk6bm90KC55dFBmcENvbnRyb2xzRmFkZUluKSAueXRQZnBDb250cm9sc1Byb2dyZXNzQmFyQ29udGFpbmVyLC55dFBmcENvbnRyb2xzT3ZlcmxheTpub3QoLnl0UGZwQ29udHJvbHNGYWRlSW4pIC55dFBmcENvbnRyb2xzVmlkZW9UaXRsZXtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW59Lnl0UGZwQ29udHJvbHNHcmFkaWVudFRvcHt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsLjgpLHJnYmEoMCwwLDAsLjYpLHJnYmEoMCwwLDAsMCkpO3BvaW50ZXItZXZlbnRzOm5vbmU7aGVpZ2h0OjQ5cHg7ei1pbmRleDo1fS55dFBmcENvbnRyb2xzVmlkZW9UaXRsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cGFkZGluZzoxMnB4O21hcmdpbjowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp3aGl0ZTtmb250LXNpemU6MThweDtwb2ludGVyLWV2ZW50czpub25lO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt3aWR0aDo3NXB4O2hlaWdodDo3NXB4O2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7cGFkZGluZzowO2JvcmRlcjowO2JhY2tncm91bmQtY29sb3I6dW5zZXR9Lnl0UGZwQ29udHJvbHNMYXJnZVBsYXlCdXR0b25JY29uQmd7ZmlsbC1vcGFjaXR5Oi44O3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0UGZwQ29udHJvbHNPdmVybGF5OmhvdmVyIC55dFBmcENvbnRyb2xzTGFyZ2VQbGF5QnV0dG9uSWNvbkJne2ZpbGwtb3BhY2l0eToxO3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0UGZwQ29udHJvbHNWaWRlb1dhbGxFbmRzY3JlZW57cGFkZGluZzo0OHB4IDA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6Mn0ueXRQZnBDb250cm9sc0F1dG9uYXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoyfS55dFBmcENvbnRyb2xzUHJvZ3Jlc3NCYXJDb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjQwcHg7bGVmdDowO3JpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bzt6LWluZGV4OjN9Lnl0UGZwQ29udHJvbHNCb3R0b21CYXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjQwcHg7cGFkZGluZy1sZWZ0OjNweDtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BvaW50ZXItZXZlbnRzOmF1dG87ei1pbmRleDoyfS55dFBmcENvbnRyb2xzTGVmdENvbnRyb2xzLC55dFBmcENvbnRyb2xzUmlnaHRDb250cm9sc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHN7bWF4LXdpZHRoOjExMnB4fS55dFBmcENvbnRyb2xzVGltZURpc3BsYXkueXRQZnBDb250cm9sc1RpbWVEaXNwbGF5e2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxLjRyZW07bWFyZ2luLWxlZnQ6OHB4Oy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfUBtZWRpYSAobWF4LXdpZHRoOjM0OXB4KXsueXRQZnBDb250cm9sc1RpbWVEaXNwbGF5Lnl0UGZwQ29udHJvbHNUaW1lRGlzcGxheXtkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KXsueXRQZnBDb250cm9sc0NhcHRpb25zQnV0dG9ue2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6MjQ5cHgpey55dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHMueXRQZnBDb250cm9sc1ZvbHVtZUNvbnRyb2xze2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6MTk5cHgpey55dFBmcENvbnRyb2xzU2V0dGluZ3NCdXR0b257ZGlzcGxheTpub25lfX0ueXRQZnBDb250cm9sc0hpZGRlblNlZWtCdXR0b24ueXRQZnBDb250cm9sc0hpZGRlblNlZWtCdXR0b257aGVpZ2h0OjEycHg7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6IzAwMDtkaXNwbGF5OmJsb2NrfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJIb3N0OmZvY3VzLXZpc2libGUgLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3Q6Zm9jdXMtd2l0aGluIC55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJPdmVybGF5LC55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJIb3N0OmhvdmVyIC55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJPdmVybGF5e29wYWNpdHk6MX0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyVGh1bWJuYWlse29iamVjdC1maXQ6Y292ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjB9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7Y29sb3I6d2hpdGV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXlUaXRsZUJ5bGluZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6NjBweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLC44KSxyZ2JhKDAsMCwwLC42KSA2MCUscmdiYSgwLDAsMCwwKSk7cGFkZGluZzo4cHh9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlclRpdGxle2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxOHB4O2NvbG9yOndoaXRlfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJCeWxpbmV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLXRvcDo0cHg7Y29sb3I6d2hpdGV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4cHg7cmlnaHQ6OHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoycHggNHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxMnB4O2NvbG9yOndoaXRlfS55dFBmcE1vcmVWaWRlb3NIb3N0e2Rpc3BsYXk6YmxvY2s7cG9pbnRlci1ldmVudHM6bm9uZX1AbWVkaWEgKG1heC1oZWlnaHQ6Mjg5cHgpey55dFBmcE1vcmVWaWRlb3NIb3N0e2Rpc3BsYXk6bm9uZX19Lnl0UGZwTW9yZVZpZGVvc092ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjQ4cHg7bGVmdDoxMnB4O3JpZ2h0OjEycHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDEyLDEyLDEyLC44KTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BvaW50ZXItZXZlbnRzOmF1dG87Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6OHB4IDA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dFBmcE1vcmVWaWRlb3NIZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTtwYWRkaW5nOjAgMTZweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0UGZwTW9yZVZpZGVvc1RpdGxle2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoyMHB4O21hcmdpbjowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRQZnBNb3JlVmlkZW9zQ2xvc2VCdXR0b257cGFkZGluZzo0cHg7bWFyZ2luLXJpZ2h0Oi00cHg7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRQZnBNb3JlVmlkZW9zQ2xvc2VCdXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRQZnBNb3JlVmlkZW9zQ2xvc2VJY29ue2NvbG9yOndoaXRlO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3BhZGRpbmc6MCAxMnB4IDRweCAxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVufS55dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3cteDphdXRvO2hlaWdodDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtzY3JvbGxiYXItd2lkdGg6bm9uZTtzY3JvbGwtYmVoYXZpb3I6c21vb3RofS55dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0ueXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0ey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtzY3JvbGwtc25hcC10eXBlOnggbWFuZGF0b3J5fS55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17aGVpZ2h0OjA7bWFyZ2luOjAgNnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOmJsYWNrO3Njcm9sbC1zbmFwLWFsaWduOnN0YXJ0O3BhZGRpbmctYm90dG9tOjEzNXB4O3dpZHRoOjI0MHB4O21pbi13aWR0aDoyNDBweH1AbWVkaWEgKG1heC13aWR0aDoxMDQwcHgpey55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17cGFkZGluZy1ib3R0b206Y2FsYygxNC4wNjI1JSAtIDYuNzVweCk7d2lkdGg6Y2FsYygyNSUgLSAxMnB4KTttaW4td2lkdGg6Y2FsYygyNSUgLSAxMnB4KX19QG1lZGlhIChtYXgtd2lkdGg6NzgwcHgpey55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17cGFkZGluZy1ib3R0b206Y2FsYygxOC41NjI1JSAtIDMuMzc1cHgpO3dpZHRoOmNhbGMoMzMlIC0gNnB4KTttaW4td2lkdGg6Y2FsYygzMyUgLSA2cHgpfX1AbWVkaWEgKG1heC13aWR0aDo1MzRweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDI4LjEyNSUgLSAzLjM3NXB4KTt3aWR0aDpjYWxjKDUwJSAtIDZweCk7bWluLXdpZHRoOmNhbGMoNTAlIC0gNnB4KX19QG1lZGlhIChtYXgtd2lkdGg6Mjg4cHgpey55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17cGFkZGluZy1ib3R0b206Y2FsYyg1Ni4yNSUgLSAzLjM3NXB4KTt3aWR0aDpjYWxjKDEwMCUgLSA2cHgpO21pbi13aWR0aDpjYWxjKDEwMCUgLSA2cHgpfX0ueXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVtOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OmF1dG99Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbTpsYXN0LWNoaWxke21hcmdpbi1yaWdodDphdXRvfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVMZWZ0LC55dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMzLDMzLDMzLC44KTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjp3aGl0ZTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDoyO2JveC1zaGFkb3c6MCA0cHggNHB4IHJnYmEoMCwwLDAsLjI1KX0ueXRQZnBNb3JlVmlkZW9zUGFkZGxlTGVmdDpob3ZlciwueXRQZnBNb3JlVmlkZW9zUGFkZGxlUmlnaHQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNTAsNTAsNTApfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVMZWZ0e2xlZnQ6MH0ueXRQZnBNb3JlVmlkZW9zUGFkZGxlUmlnaHR7cmlnaHQ6MH0ueXRQZnBNb3JlVmlkZW9zUGFkZGxlSWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFBmcE1vcmVWaWRlb3NNb3JlVmlkZW9zQnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo1NnB4O2xlZnQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2NvbG9yOndoaXRlO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MThweDtwYWRkaW5nOjhweCAxNnB4O2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjU7cG9pbnRlci1ldmVudHM6YXV0bzt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0UGZwTW9yZVZpZGVvc01vcmVWaWRlb3NCdXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVySG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4LXNocmluazowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6IzAwMDtkaXNwbGF5OmJsb2NrfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0OmZvY3VzLXZpc2libGUgLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3Q6Zm9jdXMtd2l0aGluIC55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5LC55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0OmhvdmVyIC55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5e29wYWNpdHk6MX0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGh1bWJuYWlse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtjb2xvcjp3aGl0ZX0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheVRpdGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2hlaWdodDo2MHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsLjgpLHJnYmEoMCwwLDAsLjYpIDYwJSxyZ2JhKDAsMCwwLDApKTtwYWRkaW5nOjhweH0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE4cHg7bWF4LWhlaWdodDozNnB4O2NvbG9yOndoaXRlO292ZXJmbG93OmhpZGRlbn0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyQm90dG9tT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp3aGl0ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckljb257ZmlsbDpjdXJyZW50Q29sb3I7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDttYXJnaW4tcmlnaHQ6NHB4fS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlbkhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjB9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlzaWJsZXtib3R0b206MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxMiwxMiwxMil9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSXNPYnNjdXJlZHt2aXNpYmlsaXR5OmhpZGRlbn0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0xpc3RDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czphdXRvO3BhZGRpbmc6MTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9MaXN0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjB9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlTGVmdCwueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVSaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMzLDMzLDMzLC45KTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjp3aGl0ZTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDoyO2JveC1zaGFkb3c6MCA0cHggNHB4IHJnYmEoMCwwLDAsLjI1KX0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0OmhvdmVyLC55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0OmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiKDUwLDUwLDUwKX0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0e2xlZnQ6OHB4fS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0e3JpZ2h0OjhweH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVJY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9JdGVte3Bvc2l0aW9uOmFic29sdXRlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckhvc3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4Ojd9Lnl0UGxheWVyQ29udHJvbHNQbGF5ZXJBY3Rpb25JbmRpY2F0b3JBY3Rpb257d2lkdGg6NjBweDtoZWlnaHQ6NjBweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC42KTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7b3BhY2l0eTowO2FuaW1hdGlvbjphY3Rpb24tZmFkZS1vdXQgLjVzIGxpbmVhciAxIG5vcm1hbCBmb3J3YXJkc30ueXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckljb257d2lkdGg6MzZweDtoZWlnaHQ6MzZweDtmaWxsOiNmZmZ9QGtleWZyYW1lcyBhY3Rpb24tZmFkZS1vdXR7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoMil9fS55dHdQbGF5ZXJUaW1lRGlzcGxheUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW59Lnl0d1BsYXllclRpbWVEaXNwbGF5VGltZUNodW5rc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdQbGF5ZXJUaW1lRGlzcGxheUxpdmVEb3Q6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6NnB4O3dpZHRoOjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTttYXJnaW4tcmlnaHQ6NHB4fS55dHdQbGF5ZXJUaW1lRGlzcGxheUxpdmVEb3QueXR3UGxheWVyVGltZURpc3BsYXlMaXZlSGVhZDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIyNSwwLDQ1LDAuOSk7b3BhY2l0eToxfS55dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVEZWxpbWl0ZXJ7Y29sb3I6I2ZmZjttYXJnaW46MCA0cHg7b3BhY2l0eTouN30ueXR3UGxheWVyVGltZURpc3BsYXlUaW1lU2Vjb25ke29wYWNpdHk6Ljd9Lnl0d1BsYXllclRpbWVEaXNwbGF5Q2hhcHRlclRleHR7bWFyZ2luLWxlZnQ6OHB4fS55dHdQbGF5ZXJUaW1lRGlzcGxheVBsYXllckJhckFjdGlvbkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdQbGF5ZXJUaW1lRGlzcGxheVBsYXllckJhckJ1dHRvbi55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGx7bWFyZ2luOjAgMCAwIDhweH0ueXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJCdXR0b257b3ZlcmZsb3c6aGlkZGVuO21heC13aWR0aDoyNDBweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdQbGF5ZXJUaW1lRGlzcGxheUNoZXZyb257Y29sb3I6I2ZmZjtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4O21hcmdpbi1yaWdodDotNHB4fS55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGx7aGVpZ2h0OjI0cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6NHB4IDZweDtib3JkZXItcmFkaXVzOjE2cHg7Zm9udC1zaXplOjEuNHJlbTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0d1BsYXllclRpbWVEaXNwbGF5UGlsbCBidXR0b257dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGwgc3Zne2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXR3UGxheWVyVGltZURpc3BsYXlQaWxse21hcmdpbi1sZWZ0OjE2cHh9QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsueXR3UGxheWVyVGltZURpc3BsYXlGdWxsc2NyZWVuQ29udHJvbHNBbHdheXNPbntkaXNwbGF5Om5vbmV9fS55dHdQbGF5ZXJUaW1lRGlzcGxheVNjcmVlblJlYWRlck9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowfS55dHdQbGF5ZXJTZWVrT3ZlcmxheUhvc3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOm5vbmU7ZGlyZWN0aW9uOmx0cn0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO29wYWNpdHk6MH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25CYWNre2xlZnQ6NDhweH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJke3JpZ2h0OjQ4cHh9Lnl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb257Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMC44KTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9fS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkJhY2sgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3d7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uRm9yd2FyZCAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd3ttYXJnaW4tbGVmdDoyMHB4fS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93IC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93U3Zne2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3cgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQYXRoe2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgLjVweCByZ2JhKDAsMCwwLDAuOCkpfS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dBZGRpdGlvbmFse3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNsYXRlOjAgLTUwJX0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25CYWNrIC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93QWRkaXRpb25hbHtsZWZ0OjB9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uRm9yd2FyZCAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd0FkZGl0aW9uYWx7cmlnaHQ6MH0ueXR3UGxheWVyRW5kc2NyZWVuSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJFbmRzY3JlZW5Db250YWluZXJ7Y29sb3I6I2ZmZn0ueXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVue3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVuW2RhdGEtaGFzLXRpbWVyLWNvdW50ZG93bj10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7cGFkZGluZzo4cHggMTZweDttYXJnaW46MCBhdXRvO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlblBsYXllckVuZHNjcmVlbltkYXRhLWhhcy10aW1lci1jb3VudGRvd249dHJ1ZV17cGFkZGluZzo4cHh9fVtkaXI9cnRsXSAueXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVuW2RhdGEtaGFzLXRpbWVyLWNvdW50ZG93bj10cnVlXXtkaXJlY3Rpb246cnRsfS55dHdQbGF5ZXJFbmRzY3JlZW5Ub3BQYW5lbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3dpZHRoOjEwMCU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlblRvcFBhbmVse2Rpc3BsYXk6bm9uZX19Lnl0d1BsYXllckVuZHNjcmVlbkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MTZweH0ueXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duQ29udGFpbmVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXRvcDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsueXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duQ29udGFpbmVye21hcmdpbi1ib3R0b206OHB4fX0ueXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duTnVtYmVye2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmfS55dHdQbGF5ZXJFbmRzY3JlZW5DdWVkVmlkZW9Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRWaWRlb0NvbnRhaW5lcjpmaXJzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MTJweH0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXl7d2lkdGg6NTAlO2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA2cHgpO3Bvc2l0aW9uOnJlbGF0aXZlfUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRUaHVtYm5haWxPdmVybGF5e2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA0cHgpfX0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXk+Lnl0d1BsYXllckVuZHNjcmVlblRodW1ibmFpbENvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDphdXRvO3BhZGRpbmctYm90dG9tOjU2LjI1JX0ueXR3UGxheWVyRW5kc2NyZWVuVGh1bWJuYWlsT3ZlcmxheXN7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MH0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9JbmZve3dpZHRoOjUwJTtmbGV4LWJhc2lzOmNhbGMoNTAlIC0gNnB4KX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0luZm97ZmxleC1iYXNpczpjYWxjKDUwJSAtIDRweCl9fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d1BsYXllckVuZHNjcmVlblZpZGVvVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9UaXRsZXttYXgtaGVpZ2h0OjRyZW07Y29sb3I6I2ZmZjttYXJnaW4tYm90dG9tOjRweH0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9BdXRob3J7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dHdQbGF5ZXJFbmRzY3JlZW5CdXR0b25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b257d2lkdGg6MTAwJX0ueXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9uPjpmaXJzdC1jaGlsZHt3aWR0aDoxMDAlfS55dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b246Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUN1c3RvbUNvbnRyb2xIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bUN1c3RvbUNvbnRyb2xIb3N0IDpmb2N1cy12aXNpYmxle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4ICMzZWE2ZmZ9Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdHtjb2xvcjojZmZmO3BhZGRpbmc6MTJweCAwIDAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjI7dG9wOjUycHg7bWluLXdpZHRoOjEzMHB4O21heC13aWR0aDptaW4oNTAlIC0gNjRweCwyNzJweCl9Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdEF1dG9oaWRle2FuaW1hdGlvbjpmYWRlIDNzIGVhc2UtaW4gMTBzIGZvcndhcmRzO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHN9QG1lZGlhIChtYXgtYXNwZWN0LXJhdGlvOjMvNCl7Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdFRvcENvbnRyb2xzU3RhY2tlZEluUG9ydHJhaXR7dG9wOjExMnB4fX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJIaWRkZW57ZGlzcGxheTpub25lfS55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckJ1dHRvbnstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246bGVmdDtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweDt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0e2ZvbnQtc2l6ZToxLjNyZW07cGFkZGluZy1sZWZ0OjhweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlclRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0e21heC1oZWlnaHQ6NHJlbX1Aa2V5ZnJhbWVzIGZhZGV7dG97b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9fS55dEVtYmVkc0luZm9QYW5lbERldGFpbHNWaWV3TW9kZWxCb2R5VGV4dHtwYWRkaW5nOjAgMTJweCAxMnB4IDEycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0QXV0b2Nyb3BCdXR0b25Ib3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTttYXJnaW4tdG9wOjYwcHh9Lnl0QXV0b2Nyb3BCdXR0b25WaXNpYmxle3Zpc2liaWxpdHk6dmlzaWJsZX0ueXRBdXRvY3JvcEJ1dHRvbkhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbn0ueXRBdXRvY3JvcEJ1dHRvbkF1dG9Dcm9wQnV0dG9ue2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjcpO2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwwLjYpO2JvcmRlci1yYWRpdXM6MThweH0ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0ey1tb3otYm94LWZsZXg6MTtmbGV4OjE7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3cteDphdXRvfUBtZWRpYSBub3QgKHBvaW50ZXI6ZmluZSl7Lnl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zSG9zdHstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtzY3JvbGxiYXItd2lkdGg6bm9uZX0ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0Ojotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9fUBtZWRpYSAocG9pbnRlcjpmaW5lKXsueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0e292ZXJmbG93LXk6YXV0b30ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0Ojotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDoxNnB4fS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6IzYwNjA2MH0ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM5MDkwOTB9fS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc1JlY29tbWVuZGF0aW9ue3dpZHRoOjIwMHB4O21pbi13aWR0aDoyMDBweDttYXJnaW46MCA4cHg7Y29sb3I6I2ZmZn0ueXR3UGxheWVyRnVsbHNjcmVlbkNvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNIb3N0e3BhZGRpbmc6MTJweDtjb2xvcjojZmZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6Nn0ueXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzRnVsbHNjcmVlbkNvbnRyb2xzVmlkZW9UaXRsZXttYXJnaW46MDtjb2xvcjojZmZmfS55dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ2xvc2VCdXR0b25XcmFwcGVye21hcmdpbi10b3A6LThweDttYXJnaW4tbGVmdDphdXRvfS55dG1QYWlkQ29udGVudE92ZXJsYXlIb3N0e2NvbG9yOiNmZmY7YW5pbWF0aW9uOmZhZGUgM3MgZWFzZS1pbiAyMHMgZm9yd2FyZHM7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkcztwYWRkaW5nOjEycHggMCAxMnB4IDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0bVBhaWRDb250ZW50T3ZlcmxheUhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0bVBhaWRDb250ZW50T3ZlcmxheUxpbmt7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweDt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXRtUGFpZENvbnRlbnRPdmVybGF5VGV4dHtmb250LXNpemU6MS4zcmVtO3BhZGRpbmctbGVmdDo4cHh9QGtleWZyYW1lcyBmYWRle3Rve29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfX0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MzBweDt6LWluZGV4OjI7aGVpZ2h0OjQ0cHh9LnBsYXllci1jb250cm9scy1ib3R0b20gLnBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYXstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjUwJTtwYWRkaW5nOjZweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LnBsYXllci1jb250cm9scy1ib3R0b20gLnBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYSBidXR0b257dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS5wbGF5ZXItY29udHJvbHMtYm90dG9tIC5wbGF5ZXItYm90dG9tLWNvbnRyb2xzLWZ1bGxzY3JlZW4taWNvbi12aXNpYmxlLWFyZWEgc3Zne2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLWxlZnR7bGVmdDoxMnB4O3JpZ2h0Ojc4cHh9LnBsYXllci1jb250cm9scy1ib3R0b20ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS1yaWdodHtyaWdodDoyNHB4fS5wbGF5ZXItY29udHJvbHMtYm90dG9tIC5pY29uLWJ1dHRvbi5mdWxsc2NyZWVuLWljb257ZGlzcGxheTpibG9jazstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweDtwYWRkaW5nOjZweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NDRweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMgLnBsYXllci1jb250cm9scy1ib3R0b217Ym90dG9tOjc0cHh9Ym9keVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLmVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzLmZzLXdhdGNoLXN5c3RlbSAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206OTRweH0ueXR3UGxheWVyTWlkZGxlQ29udHJvbHNIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dHdQbGF5ZXJNaWRkbGVDb250cm9sc0ExMXlTZWVrQnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDoxMDAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3otaW5kZXg6Nn15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUucHJldmVudC1jb250cm9scy1jb2xsaXNpb257d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSl9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6NnB4O2JvcmRlci1yYWRpdXM6MjRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uPmMzLWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6NnB4O2JhY2tncm91bmQ6bm9uZX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiBjMy1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24gLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYXstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwYWRkaW5nOjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24gLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSBidXR0b257dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC12aXNpYmxlLWFyZWEgc3Zne2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uLmVuZHNjcmVlbi1yZXBsYXktYnV0dG9ue2hlaWdodDphdXRvO3dpZHRoOmF1dG87Ym9yZGVyLXJhZGl1czo1NnB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuaWNvbi1idXR0b24uZW5kc2NyZWVuLXJlcGxheS1idXR0b24+YzMtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4O3BhZGRpbmc6OHB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLWNvbnRyb2wtcGxheS1wYXVzZS1pY29uLmljb24tYnV0dG9ue2hlaWdodDo1NnB4O3dpZHRoOjU2cHg7cGFkZGluZzoxMHB4O2JvcmRlci1yYWRpdXM6NTAlfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLWNvbnRyb2wtcGxheS1wYXVzZS1pY29uLmljb24tYnV0dG9uPmMzLWljb257aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwYWRkaW5nOnVuc2V0fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuZW5kc2NyZWVuLXJlcGxheS1idXR0b24uaWNvbi1idXR0b24seXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb257bWFyZ2luOjAgMzRweH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnNjcmVlbnJlYWRlci1zYWZlLWhpZGUtbWlkZGxlLWJ1dHRvbnN7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjB9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbHMtc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKX1bZGlyPXJ0bF0geXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlOm5vdCgucHJldmVudC1jb250cm9scy1jb2xsaXNpb24pe3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLWNvbnRyb2xzLW1pZGRsZS1jb3JlLWJ1dHRvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2RpcmVjdGlvbjpsdHJ9Lnl0bVZpZGVvSW5mb0hvc3R7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTtvdmVyZmxvdzpoaWRkZW47bWluLXdpZHRoOjB9Lnl0bVZpZGVvSW5mb1ZpZGVvRGV0YWlsc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nLWxlZnQ6MTJweDttaW4taGVpZ2h0OjUuMnJlbX0ueXRtVmlkZW9JbmZvVmlkZW9UaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0bVZpZGVvSW5mb1ZpZGVvVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDB9fS55dG1WaWRlb0luZm9WaWRlb1RpdGxle2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCU7cGFkZGluZy10b3A6MTBweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfVtkaXI9cnRsXSAueXRtVmlkZW9JbmZvVmlkZW9UaXRsZXttYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfS55dG1WaWRlb0luZm9DaGFubmVsVGl0bGV7bWF4LXdpZHRoOjEwMCU7Zm9udC1zaXplOjEuMnJlbTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO29wYWNpdHk6MTtsaW5lLWhlaWdodDoxLjF9Lnl0bVZpZGVvSW5mb1ZpZGVvVGl0bGVDb250YWluZXJ7bWluLWhlaWdodDozNnB4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNmZmY7bWFyZ2luLXJpZ2h0OjEycHg7cGFkZGluZy1sZWZ0OjB9Lnl0bVZpZGVvSW5mb0xvZ29FbmFibGVke3BhZGRpbmctbGVmdDo1MnB4fS55dG1WaWRlb0luZm9DaGFubmVsTG9nb3t3aWR0aDozNnB4O2hlaWdodDozNnB4O2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjEycHg7bWFyZ2luLXRvcDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7ei1pbmRleDo3O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS55dG1WaWRlb0luZm9DaGFubmVsQ29udGFpbmVye2hlaWdodDo1LjJyZW07cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO21pbi13aWR0aDo1MnB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAxMnB4KTttYXJnaW46NHB4O21hcmdpbi10b3A6OHB4O292ZXJmbG93OmhpZGRlbn1bZGlyPXJ0bF0gLnl0bVZpZGVvSW5mb0NoYW5uZWxDb250YWluZXJ7bGVmdDphdXRvO3JpZ2h0OjB9Lnl0bVZpZGVvSW5mb092ZXJsYXl7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjgpO21hcmdpbi1sZWZ0OjRweDtoZWlnaHQ6MTAwJTt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eTowO21heC13aWR0aDowO3BhZGRpbmctbGVmdDo1MnB4O3BhZGRpbmctcmlnaHQ6MTBweDt6LWluZGV4OjU7cG9zaXRpb246cmVsYXRpdmV9Lnl0bVZpZGVvSW5mb0V4cGFuZGVke29wYWNpdHk6MTttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvQ2hhbm5lbEluZm97ZGlzcGxheTpibG9jaztwYWRkaW5nLXJpZ2h0OjhweDstbW96LWJveC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczthbGlnbi1zZWxmOmNlbnRlcjttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvRmx5b3V0Q2hhbm5lbFRpdGxle2ZvbnQtc2l6ZToxLjRyZW07Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO21heC13aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToycHg7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb0ZseW91dENoYW5uZWxTdWJ0aXRsZXtmb250LXNpemU6MS4ycmVtO2NvbG9yOiNmZmY7dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfS55dG1WaWRlb0luZm9TdWJzY3JpYmVCdXR0b257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuaXMtc3Vic2NyaWJlZCAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bVZpZGVvSW5mb0hpZGUsLnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuc3Vic2NyaWJlLWJ1dHRvbi1jb3VudHtkaXNwbGF5Om5vbmV9Lnl0bVZpZGVvSW5mb0xpbms6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0bVZpZGVvSW5mb0NoYW5uZWxBdmF0YXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dG1NdXRlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRtTXV0ZUJ1dHRvbkJ1dHRvbntjdXJzb3I6cG9pbnRlcjt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MTJweDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblNwYW5uZXJJY29uT2ZmLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25Pbnt3aWR0aDozNnB4O2hlaWdodDoxNHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PZmYgc3ZnLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjM2cHg7aGVpZ2h0OjE0cHh9Lnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QbGF5SWNvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2xlZnQ6MjJweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fVtkaXI9cnRsXSAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2xlZnQ6NnB4fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uUGF1c2VJY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7bGVmdDo2cHg7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH1bZGlyPXJ0bF0gLnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QYXVzZUljb257bGVmdDoyMnB4fS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdCAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2NvbG9yOiNmZmZ9Lnl0d1BsYXllclRvcENvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJUb3BDb250cm9sc1BsYXllckNvbnRyb2xzVG9wUmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpyZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfX1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHNQbGF5ZXJDb250cm9sc1RvcFJpZ2h0ey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH19Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNCYWNrZ3JvdW5kQWN0aW9uSXRlbXN7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyfXl0bS1ub3RpZmljYXRpb24tYWN0aW9uLXJlbmRlcmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lm5vdGlmaWNhdGlvbi1hY3Rpb24tcmVzcG9uc2UtdGV4dHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7cGFkZGluZy1yaWdodDoxcmVtfS5ub3RpZmljYXRpb24tYWN0aW9uLWJ1dHRvbntmbGV4LXNocmluazowfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNzM3MzczO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OmZvY3Vze21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXdpZHRoOjJweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMzAzMDN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEycHg7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Ym9yZGVyLWJvdHRvbS1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6OHB4fS5ib3R0b20tc2hlZXQtc2hhcmUtaXRlbSAudW5pZmllZC1zaGFyZS11cmwtaW5wdXR7aGVpZ2h0OjQ4cHg7bWFyZ2luLWJvdHRvbToxMnB4fS5zaGFyZS10YXJnZXQtbGlua3tkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTJweH0uYm90dG9tLXNoZWV0LXNoYXJlLWl0ZW0gLnNoYXJlLXRhcmdldC1saW5re3BhZGRpbmc6MDttYXJnaW4tbGVmdDoxMnB4O2hlaWdodDo0OHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfWZ1bGxzY3JlZW4tb3ZlcmxheXtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvdmVyZmxvdzpzY3JvbGw7ei1pbmRleDo0fS55dENoaXBCYXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWFsaWduOnN0cmV0Y2g7YWxpZ24taXRlbXM6c3RyZXRjaH0ueXRDaGlwQmFyVmlld01vZGVsQ2hpcEJhclNjcm9sbENvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzphdXRvIGhpZGRlbjtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZX0ueXRDaGlwQmFyVmlld01vZGVsQ2hpcEJhclNjcm9sbENvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dENoaXBCYXJWaWV3TW9kZWxDaGlwQmFyU2Nyb2xsQ29udGFpbmVyV3JhcHBlZHtmbGV4LXdyYXA6d3JhcDtyb3ctZ2FwOjhweDtvdmVyZmxvdzp2aXNpYmxlfS55dENoaXBCYXJWaWV3TW9kZWxMZWZ0QXJyb3dDb250YWluZXIsLnl0Q2hpcEJhclZpZXdNb2RlbFJpZ2h0QXJyb3dDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDoxfS55dENoaXBCYXJWaWV3TW9kZWxMZWZ0QXJyb3dDb250YWluZXJ7bGVmdDowfS55dENoaXBCYXJWaWV3TW9kZWxMZWZ0QXJyb3dDb250YWluZXJJc0hpZGRlbntkaXNwbGF5Om5vbmV9Lnl0Q2hpcEJhclZpZXdNb2RlbExlZnRBcnJvd0NvbnRhaW5lcjphZnRlcnt3aWR0aDo1MHB4O2NvbnRlbnQ6IiI7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LHJnYmEoMjU1LDI1NSwyNTUsMCkgMCxyZ2JhKDI1NSwyNTUsMjU1LDAuMykgMjUlLHJnYmEoMjU1LDI1NSwyNTUsMC42KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwwLjkpIDc1JSx3aGl0ZSAxMDAlKX0ueXRDaGlwQmFyVmlld01vZGVsUmlnaHRBcnJvd0NvbnRhaW5lcntyaWdodDowfS55dENoaXBCYXJWaWV3TW9kZWxSaWdodEFycm93Q29udGFpbmVySXNIaWRkZW57ZGlzcGxheTpub25lfS55dENoaXBCYXJWaWV3TW9kZWxSaWdodEFycm93Q29udGFpbmVyOmJlZm9yZXt3aWR0aDo1MHB4O2NvbnRlbnQ6IiI7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDI1NSwyNTUsMjU1LDApIDAscmdiYSgyNTUsMjU1LDI1NSwwLjMpIDI1JSxyZ2JhKDI1NSwyNTUsMjU1LDAuNikgNTAlLHJnYmEoMjU1LDI1NSwyNTUsMC45KSA3NSUsd2hpdGUgMTAwJSl9Lnl0Q2hpcEJhclZpZXdNb2RlbExlZnRBcnJvdywueXRDaGlwQmFyVmlld01vZGVsUmlnaHRBcnJvd3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2dyb3VuZDojZmZmfS55dENoaXBCYXJWaWV3TW9kZWxDaGlwV3JhcHBlcnttYXJnaW4tcmlnaHQ6OHB4fS55dENoaXBCYXJWaWV3TW9kZWxDaGlwV3JhcHBlcldpdGhOYXZpZ2F0aW9uQnV0dG9uc3ttYXJnaW4tdG9wOjRweDttYXJnaW4tYm90dG9tOjRweH0ueXRDaGlwU2hhcGVCdXR0b25SZXNldHtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O2NvbG9yOmluaGVyaXQ7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZS13aWR0aDowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOm5vbmU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cGFkZGluZzowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ueXRDaGlwU2hhcGVIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0Q2hpcFNoYXBlQ2hpcHtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6OHB4O2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjMycHg7bWluLXdpZHRoOjEycHg7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRDaGlwU2hhcGVDaGlwe291dGxpbmU6MXB4IHNvbGlkO291dGxpbmUtb2Zmc2V0Oi0xcHh9fS55dENoaXBTaGFwZUVsZXZhdGVkQ29udGVudHt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRDaGlwU2hhcGVPbmx5VGV4dFBhZGRpbmd7cGFkZGluZzowIDEycHh9Lnl0Q2hpcFNoYXBlT25seUljb25QYWRkaW5ne3BhZGRpbmc6MH0ueXRDaGlwU2hhcGVTdGFydEljb25QYWRkaW5ney1tb3otcGFkZGluZy1lbmQ6MTJweDtwYWRkaW5nLWlubGluZS1lbmQ6MTJweH0ueXRDaGlwU2hhcGVFbmRJY29uUGFkZGluZ3stbW96LXBhZGRpbmctc3RhcnQ6MTJweDtwYWRkaW5nLWlubGluZS1zdGFydDoxMnB4fS55dENoaXBTaGFwZUFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGY7Y29sb3I6I2ZmZn1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRDaGlwU2hhcGVBY3RpdmV7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6U2VsZWN0ZWRJdGVtO2NvbG9yOlNlbGVjdGVkSXRlbVRleHR9fS55dENoaXBTaGFwZUFjdGl2ZVJlZGVzaWdue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO2NvbG9yOiMwMzAzMDN9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0Q2hpcFNoYXBlQWN0aXZlUmVkZXNpZ257Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6U2VsZWN0ZWRJdGVtO2NvbG9yOlNlbGVjdGVkSXRlbVRleHR9fS55dENoaXBTaGFwZURpc2FibGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtjb2xvcjojOTA5MDkwfS55dENoaXBTaGFwZUluYWN0aXZle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtjb2xvcjojMDMwMzAzfS55dENoaXBTaGFwZUluYWN0aXZlUmVkZXNpZ257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjojNjA2MDYwO2JvcmRlcjouNXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX0ueXRDaGlwU2hhcGVGb2N1c2Vke291dGxpbmU6MnB4IHNvbGlkICMwMzAzMDM7b3V0bGluZS1vZmZzZXQ6LTJweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzAzMDMwM30ueXRDaGlwU2hhcGVJY29uU3RhcnR7Y29sb3I6aW5oZXJpdDttYXJnaW46MCA0cHggMCA4cHg7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRDaGlwU2hhcGVJY29uT25seXtjb2xvcjppbmhlcml0O21hcmdpbjowIDhweDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dENoaXBTaGFwZUljb25FbmR7Y29sb3I6aW5oZXJpdDttYXJnaW46MCA2cHggMCA0cHg7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRDaGlwU2hhcGVBSUN1c3RvbWl6ZWRDaGlwQm9yZGVyRGFya01vZGV7Ym9yZGVyOjJweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjMGYwZjBmLCMwZjBmMGYpIHBhZGRpbmctYm94LGxpbmVhci1ncmFkaWVudCh0byByaWdodCwjN2YwZTdmLCMwMDdhNjUpIGJvcmRlci1ib3h9Lnl0Q2hpcFNoYXBlQUlDdXN0b21pemVkQ2hpcEJhY2tncm91bmRMaWdodE1vZGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjN2YwZTdmLCMwMDdhNjUpfS55dENoaXBTaGFwZUFJQ3VzdG9taXplZENoaXBJY29uRGFya01vZGV7Y29sb3I6IzdmMGU3Zn0ueXRDaGlwU2hhcGVNaWRkbGVncm91bmRBc3NldHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTt3aWR0aDpyb3VuZCh1cCwxMDAlLDFweCk7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0Q2hpcFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttaW4taGVpZ2h0OjU2cHg7cGFkZGluZzoyNHB4IDEycHggOHB4fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lck91dGxpbmV7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyT3V0bGluZTpmb2N1cy13aXRoaW57Ym9yZGVyOjJweCBzb2xpZCAjMDMwMzAzO3BhZGRpbmc6MjNweCAxMXB4IDdweH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWFDb250YWluZXJPdXRsaW5lRGlzYWJsZWR7Ym9yZGVyOjA7Y29sb3I6IzkwOTA5MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyT3V0bGluZUVycm9ye2JvcmRlci1jb2xvcjojYzMwMDI3fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lck91dGxpbmVFcnJvcjpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOiNjMzAwMjd9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyTGFiZWxIaWRkZW57bWluLWhlaWdodDozNnB4O3BhZGRpbmc6OXB4IDEycHggNnB4fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lckxhYmVsSGlkZGVuLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyT3V0bGluZTpmb2N1cy13aXRoaW57cGFkZGluZzo5cHggMTFweCA2cHh9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhe21pbi1oZWlnaHQ6MDtjb2xvcjojMDMwMzAzO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtyZXNpemU6bm9uZTtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7cGFkZGluZzowO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjp0cmFuc3BhcmVudH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlcntvcGFjaXR5OjB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhOjpwbGFjZWhvbGRlcntvcGFjaXR5OjB9fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYTpkaXNhYmxlZHtjb2xvcjojOTA5MDkwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVMYWJlbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6OHB4O2xlZnQ6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVMYWJlbEZvY3VzZWR7dG9wOjdweDtsZWZ0OjExcHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUxhYmVsRGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlTGFiZWxFcnJvcntjb2xvcjojYzMwMDI3fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVMYWJlbEhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVBsYWNlaG9sZGVye2Rpc3BsYXk6bm9uZTtjb2xvcjojNjA2MDYwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNnB4O2xlZnQ6MTJweDtyaWdodDoxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVQbGFjZWhvbGRlclZpc2libGV7ZGlzcGxheTpibG9ja30ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWFDb250YWluZXJMYWJlbEhpZGRlbiAueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlUGxhY2Vob2xkZXJ7dG9wOjhweH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlRXJyb3IsLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUhpbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjRweDtjb2xvcjojYzMwMDI3O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVFcnJvckljb24sLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUhpbnRJY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O3dpZHRoOjE2cHh9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUVycm9yTWVzc2FnZSwueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlSGludE1lc3NhZ2V7bWFyZ2luLWxlZnQ6NHB4fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVFcnJvckRpc2FibGVkLC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVIaW50RGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlRXJyb3JDaGFyYWN0ZXJDb3VudCwueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlSGludENoYXJhY3RlckNvdW50e21hcmdpbi1sZWZ0OmF1dG99Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUVycm9ySGludE1lc3NhZ2UsLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUhpbnRIaW50TWVzc2FnZXttYXJnaW4tbGVmdDo0cHg7Y29sb3I6IzYwNjA2MH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlRXJyb3JJY29ue2NvbG9yOmluaGVyaXR9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzowfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUaW1lUGlja2VyIC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVQbGFjZWhvbGRlciwueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGltZVBpY2tlciAueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWF7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmU6YXV0bzttYXgtd2lkdGg6ODBweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTozLjZyZW07bGluZS1oZWlnaHQ6NXJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVBsYWNlaG9sZGVyLC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUaW1lUGlja2VyIC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTozLjJyZW07bGluZS1oZWlnaHQ6NC40cmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVBsYWNlaG9sZGVye2luc2V0OjB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhe2hlaWdodDoxMDAlO3BhZGRpbmc6OXB4IDB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUZpbGxQYXJlbnQsLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUZpbGxQYXJlbnQgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhe2hlaWdodDoxMDAlfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVGaWxsUGFyZW50IC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lcnstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFNlYXJjaElucHV0Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MTAwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNlYXJjaElucHV0Vmlld01vZGVsSG9zdHtvdXRsaW5lOjJweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNlYXJjaElucHV0Vmlld01vZGVsSG9zdENvbnRlbnRSZXNlYXJjaHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfS55dFNlYXJjaElucHV0Vmlld01vZGVsTGVhZGluZ0ljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6NHB4O2NvbG9yOiM2MDYwNjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTZWFyY2hJbnB1dFZpZXdNb2RlbEZvcm17LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHh9Lnl0U2VhcmNoSW5wdXRWaWV3TW9kZWxDbGVhckJ1dHRvbnttYXJnaW4tcmlnaHQ6NHB4fS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXJ7c2Nyb2xsYmFyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50O3Njcm9sbGJhci13aWR0aDp0aGlufS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7d2lkdGg6MTZweH0ueXR3Q2hhbm5lbEJsb2Nrc1ZpZXdNb2RlbExpc3RXcmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntoZWlnaHQ6NTZweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXI6aG92ZXJ7c2Nyb2xsYmFyLWNvbG9yOiM5MDkwOTAgdHJhbnNwYXJlbnR9Lnl0d0NoYW5uZWxCbG9ja3NWaWV3TW9kZWxMaXN0V3JhcHBlcjpob3Zlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwfS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXJ7b3ZlcmZsb3cteTphdXRvO21heC1oZWlnaHQ6bWluKDM2MHB4LDEwMHZoIC0gMzAwcHgpO21pbi13aWR0aDptaW4oNDQ4cHgsMTAwdncgLSAxNDRweCl9QG1lZGlhIChtYXgtd2lkdGg6MzMwcHgpey55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXJ7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gMjAwcHgpfX0ueXR3Q2hhbm5lbEJsb2Nrc1ZpZXdNb2RlbFNlYXJjaENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0d0NoYW5uZWxCbG9ja3NWaWV3TW9kZWxEcm9wZG93blBhbmVse3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwwLjI1KTtib3JkZXItcmFkaXVzOjRweDt6LWluZGV4OjIwMTA7d2lkdGg6MTAwJTttYXgtaGVpZ2h0Om1pbigzMDBweCwxMDB2aCAtIDMwMHB4KTtvdmVyZmxvdy15OmF1dG87dG9wOjEwMCU7bGVmdDowfS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsU3VnZ2VzdGlvbnNMaXN0Ym94e3BhZGRpbmc6OHB4IDB9Lnl0UGxheWVyT3ZlcmxheUludGVyYWN0aW9uSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBsYXllck92ZXJsYXlJbnRlcmFjdGlvbkludGVyYWN0aW9uc1N2Z3twb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0UGxheWVyT3ZlcmxheUludGVyYWN0aW9uSW50ZXJhY3Rpb25zU3ZnSG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0UGxheWVyT3ZlcmxheUludGVyYWN0aW9uSW50ZXJhY3Rpb25zU3ZnSGlkZU91dGxpbmV7b3V0bGluZTpub25lfS55dERpc21pc3NpYmxlSXRlbVJlcGxhY2VkQ29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dERpc21pc3NpYmxlSXRlbUFzcGVjdFJhdGlvQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0RGlzbWlzc2libGVJdGVtQXNwZWN0UmF0aW8xNkJ5OXtwYWRkaW5nLXRvcDo1Ni4yNSV9Lnl0RGlzbWlzc2libGVJdGVtQXNwZWN0UmF0aW8yQnkze3BhZGRpbmctdG9wOjE1MCV9Lnl0RGlzbWlzc2libGVJdGVtQXNwZWN0UmF0aW8zQnk0e3BhZGRpbmctdG9wOjEzMy4zMyV9Lnl0RGlzbWlzc2libGVJdGVtU2hvcnRzQXNwZWN0UmF0aW85QnkxNntwYWRkaW5nLXRvcDoxNzglfS55dERpc21pc3NpYmxlSXRlbUFzcGVjdFJhdGlvMUJ5MXtwYWRkaW5nLXRvcDoxMDAlfS55dE5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXJIb3N0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6MjBweCAxMnB4IDhweDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXROb3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVySG9zdExlZ2FjeVNoZWxmU3R5bGV7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtib3JkZXI6bm9uZX0ueXROb3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyVGV4dENvbnRhaW5lcnstbW96LWJveC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tYm90dG9tOjEycHh9Lnl0Tm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlclRleHRDb250YWluZXJMZWdhY3lTaGVsZlN0eWxley1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmU7bWFyZ2luLWJvdHRvbTowO21hcmdpbi1yaWdodDoxMnB4fS55dE5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXJCdXR0b25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3dpZHRoOjEwMCV9Lnl0Tm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlckJ1dHRvbkNvbnRhaW5lckxlZ2FjeVNoZWxmU3R5bGV7d2lkdGg6YXV0b30ueXROb3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyQnV0dG9ue3BhZGRpbmc6NnB4IDA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXROb3RpZmljYXRpb25UZXh0UmVuZGVyZXJIb3N0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6MTJweDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dHdBZEF2YXRhclZpZXdNb2RlbEhvc3QsLnl0d0FkQXZhdGFyVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7ZGlzcGxheTpibG9ja30ueXR3QWRCYWRnZVZpZXdNb2RlbEhvc3QsLnl0d0FkQmFkZ2VWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHtkaXNwbGF5OmlubGluZX0ueXR3QWRCYWRnZVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50U3R5bGVTdGFuZGFyZCwueXR3QWRCYWRnZVZpZXdNb2RlbEhvc3RTdHlsZVN0YW5kYXJke2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dHdBZEJhZGdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRTdHlsZVN0YW5kYXJkQnJvd3NlLC55dHdBZEJhZGdlVmlld01vZGVsSG9zdFN0eWxlU3RhbmRhcmRCcm93c2V7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dHdBZEJhZGdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7Y3Vyc29yOnBvaW50ZXJ9Lnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0LC55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7ZGlzcGxheTpibG9ja30ueXR3QWREZXRhaWxzTGluZVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dFN0eWxlU3RhbmRhcmQsLnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0VGV4dFN0eWxlU3RhbmRhcmR7Y29sb3I6IzYwNjA2MDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRTdHlsZVN0YW5kYXJkLC55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdFRleHRTdHlsZVN0YW5kYXJkey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRTdHlsZVN0YW5kYXJkLC55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdFRleHRTdHlsZVN0YW5kYXJke21heC1oZWlnaHQ6MS44cmVtO3dvcmQtYnJlYWs6YnJlYWstYWxsfS55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0U3R5bGVTdGFuZGFyZEJyb3dzZSwueXR3QWREZXRhaWxzTGluZVZpZXdNb2RlbEhvc3RUZXh0U3R5bGVTdGFuZGFyZEJyb3dzZXt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyOy0tZmVlZC1hZC1tZXRhZGF0YS10b3AtcGFkZGluZzoxMnB4fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50TWV0YWRhdGEsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLXJpZ2h0OjI0cHg7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47LS1mZWVkLWFkLW1ldGFkYXRhLWJvdHRvbS1tYXJnaW46MTJweH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhTm9Cb3R0b21NYXJnaW4sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1ldGFkYXRhTm9Cb3R0b21NYXJnaW57LS1mZWVkLWFkLW1ldGFkYXRhLWJvdHRvbS1tYXJnaW46MH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhQWRCYWRnZURldGFpbHNMaW5lQ29udGFpbmVyLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RNZXRhZGF0YUFkQmFkZ2VEZXRhaWxzTGluZUNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtjdXJzb3I6cG9pbnRlcn0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhQWRCYWRnZURldGFpbHNMaW5lQ29udGFpbmVyU3R5bGVDb21wYWN0U2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RNZXRhZGF0YUFkQmFkZ2VEZXRhaWxzTGluZUNvbnRhaW5lclN0eWxlQ29tcGFjdFNlYXJjaHtwYWRkaW5nLXRvcDo4cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7Y3Vyc29yOnBvaW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhQWRCYWRnZURldGFpbHNMaW5lQ29udGFpbmVyU3R5bGVTdGFuZGFyZCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0TWV0YWRhdGFBZEJhZGdlRGV0YWlsc0xpbmVDb250YWluZXJTdHlsZVN0YW5kYXJke2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2N1cnNvcjpwb2ludGVyO3BhZGRpbmctYm90dG9tOnZhcigtLWZlZWQtYWQtbWV0YWRhdGEtYm90dG9tLW1hcmdpbil9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnROb1RvcFBhZGRpbmcsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE5vVG9wUGFkZGluZ3stLWZlZWQtYWQtbWV0YWRhdGEtdG9wLXBhZGRpbmc6MH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1lbnVCdXR0b24sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1lbnVCdXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOi02cHg7cmlnaHQ6LTEwcHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRNZW51QnV0dG9uTWVudVBvc0FkanVzdGVkLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RNZW51QnV0dG9uTWVudVBvc0FkanVzdGVke3JpZ2h0Oi03cHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRNZW51U3R5bGVTdGFuZGFyZCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0TWVudVN0eWxlU3RhbmRhcmR7cGFkZGluZy10b3A6dmFyKC0tZmVlZC1hZC1tZXRhZGF0YS10b3AtcGFkZGluZyk7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNnB4O3JpZ2h0Oi0xMHB4fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50TWVudVN0eWxlU3RhbmRhcmRNZW51UG9zQWRqdXN0ZWQsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1lbnVTdHlsZVN0YW5kYXJkTWVudVBvc0FkanVzdGVke3JpZ2h0Oi03cHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdEF2YXRhclN0eWxlU3RhbmRhcmQsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRBdmF0YXJTdHlsZVN0YW5kYXJke2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDoxMnB4fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RBdmF0YXJTdHlsZUNvbXBhY3QsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRBdmF0YXJTdHlsZUNvbXBhY3R7bWFyZ2luLXJpZ2h0OjhweH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmUsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmV7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZSwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZSwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZXttYXgtaGVpZ2h0OjRyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVUeXBvZ3JhcGh5QnVtcHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVUeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZVR5cG9ncmFwaHlCdW1wey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVUeXBvZ3JhcGh5QnVtcHttYXgtaGVpZ2h0OjQuNHJlbX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2gsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2h7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2gsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2h7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2gsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2h7bWF4LWhlaWdodDo1LjJyZW07bWFyZ2luLWJvdHRvbTo0cHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9ue2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9ue21heC1oZWlnaHQ6NS40cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3REZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXB7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3REZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcHttYXgtaGVpZ2h0OjZyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9ue2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9ue21heC1oZWlnaHQ6NS40cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3RTZWNvbmRhcnlEZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXB7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0U2Vjb25kYXJ5RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RTZWNvbmRhcnlEZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0U2Vjb25kYXJ5RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcHttYXgtaGVpZ2h0OjZyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoe2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoe21heC1oZWlnaHQ6NS40cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmUsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5le3BhZGRpbmctdG9wOnZhcigtLWZlZWQtYWQtbWV0YWRhdGEtdG9wLXBhZGRpbmcpO21hcmdpbi1ib3R0b206NHB4O2NvbG9yOiMwMzAzMDM7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAxIGF1dG87Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZSwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZXttYXgtaGVpZ2h0OjQuNHJlbX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lV2F0Y2hOZXh0LC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVdhdGNoTmV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVXYXRjaE5leHQsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lV2F0Y2hOZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVdhdGNoTmV4dCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVXYXRjaE5leHR7bWF4LWhlaWdodDo0cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXB7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXB7bWF4LWhlaWdodDo1LjJyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjIsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo5MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjIsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcFYyLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo5MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjIsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMiwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcFYye21heC1oZWlnaHQ6NS42cmVtfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcFYyLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjJ7bWF4LWhlaWdodDo1LjJyZW19fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkRGVzY3JpcHRpb24sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZERlc2NyaXB0aW9ue21hcmdpbi1ib3R0b206NHB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmREZXNjcmlwdGlvbnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkRGVzY3JpcHRpb24sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZERlc2NyaXB0aW9ue21heC1oZWlnaHQ6NHJlbX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRTZWNvbmRhcnlEZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRTZWNvbmRhcnlEZXNjcmlwdGlvbiwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkU2Vjb25kYXJ5RGVzY3JpcHRpb257LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRTZWNvbmRhcnlEZXNjcmlwdGlvbnttYXgtaGVpZ2h0OjRyZW19Lnl0d0FkRGlzY2xvc3VyZUJhbm5lclZpZXdNb2RlbEhvc3R7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweH0ueXR3QWREaXNjbG9zdXJlQmFubmVyVmlld01vZGVsSG9zdEhhc0FjY2VudHstbW96LWJvcmRlci1zdGFydDo0cHggc29saWQgdmFyKC0tYWQtZGlzY2xvc3VyZS1hY2NlbnQtY29sb3IpO2JvcmRlci1pbmxpbmUtc3RhcnQ6NHB4IHNvbGlkIHZhcigtLWFkLWRpc2Nsb3N1cmUtYWNjZW50LWNvbG9yKX0ueXR3QWREaXNjbG9zdXJlQmFubmVyVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7Y3Vyc29yOnBvaW50ZXJ9Lnl0d0FkRGlzY2xvc3VyZUJhbm5lclZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50OmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgI2ZmZjtvdXRsaW5lLW9mZnNldDoycHh9Lnl0d0FkRGlzY2xvc3VyZUJhbm5lclZpZXdNb2RlbFRleHR7YmFja2dyb3VuZDpub25lO2NvbG9yOiNmZmY7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvblJvdzpub3QoOmxhc3QtY2hpbGQpe3BhZGRpbmctYm90dG9tOjhweH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb246bm90KDpsYXN0LWNoaWxkKTpub3QoOmVtcHR5KXtwYWRkaW5nLXJpZ2h0OjhweH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3dBY3Rpb257bWluLXdpZHRoOjA7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2ZsZXgtYmFzaXM6MH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3dBY3Rpb246ZW1wdHl7LW1vei1ib3gtZmxleDowO2ZsZXgtZ3JvdzowfS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvbkludHJpbnNpY1dpZHRoey1tb3otYm94LWZsZXg6MDtmbGV4LWdyb3c6MDtmbGV4LWJhc2lzOmF1dG99Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsQWN0aW9uUm93QWN0aW9uRmVhdHVyZVBob25le2ZsZXgtYmFzaXM6dW5zZXQ7bWluLXdpZHRoOnVuc2V0fS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvbkljb25Pbmx5QnV0dG9uey1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsSW5saW5ley1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbFNjcm9sbGFibGV7b3ZlcmZsb3c6YXV0byBoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93LXk6YXV0bztzY3JvbGxiYXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsU2Nyb2xsYWJsZTo6LXdlYmtpdC1zY3JvbGxiYXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aWR0aDo4cHh9Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsU2Nyb2xsYWJsZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7aGVpZ2h0OjU2cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxTY3JvbGxhYmxlOmhvdmVye3Njcm9sbGJhci1jb2xvcjojOTA5MDkwIHRyYW5zcGFyZW50fS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbFNjcm9sbGFibGU6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6IzkwOTA5MH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxGbGV4V3JhcHtmbGV4LXdyYXA6d3JhcDtyb3ctZ2FwOjhweH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxKdXN0aWZ5Q29udGVudFN0YXJ0ey1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsSnVzdGlmeUNvbnRlbnRFbmR7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbENlbnRlcmVkIC55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvbiwueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxDZW50ZXJlZCAueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3d7ZmxleC1iYXNpczowOy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTttaW4td2lkdGg6MH0ueXRFbmdhZ2VtZW50QmFyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dEVuZ2FnZW1lbnRCYXJWaWV3TW9kZWxFbmdhZ2VtZW50QmFyV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztoZWlnaHQ6NDhweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dExvY2t1cEF0dGFjaG1lbnRzVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleDoxOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRMb2NrdXBBdHRhY2htZW50c1ZpZXdNb2RlbEF0dGFjaG1lbnR7bWFyZ2luLXRvcDoxMnB4O21pbi13aWR0aDowfS55dExvY2t1cEF0dGFjaG1lbnRzVmlld01vZGVsRXhwYW5kYWJsZU1ldGFkYXRhe3BhZGRpbmctdG9wOjRweH0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsRnVsbEhlaWdodEJ1dHRvbntoZWlnaHQ6MTAwJX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsRnVsbEhlaWdodEJ1dHRvbj4ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOjEycHh9Lnl0d0Nhcm91c2VsQWRDYXJkQ29sbGVjdGlvblZpZXdNb2RlbE1ldGFkYXRhQXR0YWNobWVudENhcm91c2Vse2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2dhcDoxMnB4O292ZXJmbG93LXg6YXV0bztzY3JvbGxiYXItd2lkdGg6bm9uZX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsTWV0YWRhdGFBdHRhY2htZW50Q2Fyb3VzZWw6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsTWV0YWRhdGFBdHRhY2htZW50Q2Fyb3VzZWxJdGVte3dpZHRoOjk2cHg7ZmxleC1zaHJpbms6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsTWV0YWRhdGFBdHRhY2htZW50Q2Fyb3VzZWxXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsUGFkZGxle3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMnB4IDRweCByZ2JhKDAsMCwwLDAuMjUpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsUGFkZGxlTGVmdHtsZWZ0Oi0xNnB4fS55dHdDYXJvdXNlbEFkQ2FyZENvbGxlY3Rpb25WaWV3TW9kZWxQYWRkbGVSaWdodHtyaWdodDotMTZweH0ueXR3Q2Fyb3VzZWxBZENhcmRJbWFnZVZpZXdNb2RlbEhvc3QsLnl0d0Nhcm91c2VsQWRDYXJkSW1hZ2VWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHthc3BlY3QtcmF0aW86MTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW47bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTthbGlnbi1zZWxmOnN0cmV0Y2g7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmV9Lnl0d0Nhcm91c2VsQWRDYXJkSW1hZ2VWaWV3TW9kZWxIb3N0OmFmdGVyLC55dHdDYXJvdXNlbEFkQ2FyZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnQ6YWZ0ZXJ7Y29udGVudDoiIjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7d2lsbC1jaGFuZ2U6b3BhY2l0eTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS55dHdDYXJvdXNlbEFkQ2FyZEltYWdlVmlld01vZGVsSG9zdDpob3ZlcjphZnRlciwueXR3Q2Fyb3VzZWxBZENhcmRJbWFnZVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50OmhvdmVyOmFmdGVye29wYWNpdHk6LjF9Lnl0d0Nhcm91c2VsQWRDYXJkSW1hZ2VWaWV3TW9kZWxIb3N0Q2FyZEJhZGdlLC55dHdDYXJvdXNlbEFkQ2FyZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRDYXJkQmFkZ2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dHdBZENhcmRCYWRnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtwYWRkaW5nOjRweDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6MCAwIDRweH0ueXR3QWRJbWFnZVZpZXdNb2RlbEhvc3QsLnl0d0FkSW1hZ2VWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEltYWdlQ29udGFpbmVyLC55dHdBZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRJbWFnZUNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEltYWdlLC55dHdBZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRJbWFnZXt2aXNpYmlsaXR5OmluaGVyaXR9Lnl0d0FkSW1hZ2VWaWV3TW9kZWxIb3N0SW5HcmlkVmlld3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEluR3JpZFZpZXdJbWFnZUNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEluR3JpZFZpZXdJbWFnZXt2aXNpYmlsaXR5OmluaGVyaXR9Lnl0d0FkSW1hZ2VWaWV3TW9kZWxIb3N0QWREaXNjbG9zdXJlQmFubmVyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7bGVmdDo4cHg7ei1pbmRleDoxfS55dHdIb3Jpem9udGFsQ2Fyb3VzZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOnN0cmV0Y2g7YWxpZ24taXRlbXM6c3RyZXRjaDt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0ueXR3SG9yaXpvbnRhbENhcm91c2VsQ2Fyb3VzZWxXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dHdIb3Jpem9udGFsQ2Fyb3VzZWxDYXJvdXNlbElubmVyV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7d2lkdGg6MTAwJX0ueXR3SG9yaXpvbnRhbENhcm91c2VsQW5pbWF0aW5ne3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0d0hvcml6b250YWxDYXJvdXNlbENhcm91c2VsSXRlbXtmbGV4LXNocmluazowfS55dHdIb3Jpem9udGFsQ2Fyb3VzZWxOZXh0QnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luLWxlZnQ6OHB4fS55dHdBZEJ1dHRvbkdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtmbGV4LWJhc2lzOjEwMCU7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3QWRCdXR0b25Hcm91cFZpZXdNb2RlbEhvc3RQcmltYXJ5QnV0dG9uey1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0d0FkQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0U2Vjb25kYXJ5QnV0dG9ue21hcmdpbi1yaWdodDo0cHg7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXR3QWRCdXR0b25Hcm91cFZpZXdNb2RlbEhvc3RDb21wYWN0V2lkdGh7ZmxleC1iYXNpczowO21pbi13aWR0aDoyMDBweDt3aWR0aDo1MCU7Z2FwOjEycHh9Lnl0d0FkQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0Q29tcGFjdFdpZHRoU2Vjb25kYXJ5QnV0dG9ue21hcmdpbi1yaWdodDowfS55dHdBZEJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6LW1vei1tYXgtY29udGVudDtoZWlnaHQ6bWF4LWNvbnRlbnR9Lnl0d0FkQnV0dG9uVmlld01vZGVsSG9zdEhhc0FuaW1hdGlvbnt0cmFuc2l0aW9uOm9wYWNpdHksaGVpZ2h0O3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS55dHdBZEJ1dHRvblZpZXdNb2RlbEhvc3RDb21wYWN0V2lkdGh7ZmxleC1iYXNpczowO3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnQ7bWluLXdpZHRoOjI1JX0ueXR3QWRCdXR0b25WaWV3TW9kZWxIb3N0Q29udGVudFdpZHRoe3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnR9Lnl0d0FkQnV0dG9uVmlld01vZGVsU2hvd3tvcGFjaXR5OjF9Lnl0d0FkQnV0dG9uVmlld01vZGVsSGlkZXtvcGFjaXR5OjB9Lnl0d0FkQnV0dG9uVmlld01vZGVsRnVsbEhlaWdodHtoZWlnaHQ6YXV0b30ueXR3QWRCdXR0b25WaWV3TW9kZWxOb0hlaWdodHtoZWlnaHQ6MH0ueXRTbGltbGluZVN1cnZleVZpZXdNb2RlbEhvc3R7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwwLjI1KTttYXJnaW4tdG9wOjI0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC1oZWlnaHQ6MzAwcHg7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4zcyxtYXJnaW4gLjNzLG9wYWNpdHkgLjNzfS55dFNsaW1saW5lU3VydmV5Vmlld01vZGVsSG9zdDpiZWZvcmV7Y29udGVudDoiIjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsMC4yNSk7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLWxlZnQ6LTEycHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDt0b3A6LTEycHg7bGVmdDo1MCU7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxDb2xsYXBzZWR7bWF4LWhlaWdodDowO21hcmdpbi10b3A6MDtvcGFjaXR5OjB9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxDb2xsYXBzZWQ6YmVmb3Jle29wYWNpdHk6MH0ueXRTbGltbGluZVN1cnZleVZpZXdNb2RlbENvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzo4cHggMTJweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxIZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuMnJlbX0ueXRTbGltbGluZVN1cnZleVZpZXdNb2RlbEFuc3dlcnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxJY29ue2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxBbnN3ZXJzVGV4dHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUYWJsZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS55dFRhYmxlVmlld01vZGVsUm93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1ib3R0b206OHB4fS55dFRhYmxlVmlld01vZGVsUm93Qm90dG9tQm9yZGVye3BhZGRpbmctYm90dG9tOjhweH0ueXRUYWJsZVZpZXdNb2RlbFJvd0JvdHRvbUJvcmRlcjpub3QoOmxhc3QtY2hpbGQpe2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX0ueXRUYWJsZVZpZXdNb2RlbENlbGx7Y29sb3I6IzYwNjA2MDt0ZXh0LWFsaWduOnJpZ2h0O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUYWJsZVZpZXdNb2RlbFJvd0xhYmVse2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dERpc2NsYWltZXJJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrO2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFJlc3BvbnNlQWN0aW9uc1ZpZXdNb2RlbEhvc3R7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSZXNwb25zZUFjdGlvbnNWaWV3TW9kZWxUZXh0e2Rpc3BsYXk6YmxvY2t9Lnl0UmVzcG9uc2VBY3Rpb25zVmlld01vZGVsVGV4dExlZnR7bWFyZ2luLXJpZ2h0OjE2cHh9Lnl0UmVzcG9uc2VBY3Rpb25zVmlld01vZGVsVGV4dFJpZ2h0e21hcmdpbi1sZWZ0OjE2cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbEhvc3RIaWRkZW57ZGlzcGxheTpub25lfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0TWVkaWFDYXJke2JvcmRlci1yYWRpdXM6MzJweDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtwYWRkaW5nOjI0cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZHstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjAgMTZweH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRQaWxsey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0UGlsbC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFNtYWxsTGF5b3V0e21heC13aWR0aDo5MCU7aGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6NHB4IDE2cHggNHB4IDRweH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRQaWxsLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0U21hbGxMYXlvdXQgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0FjY2Vzc29yeXtoZWlnaHQ6MzJweDt3aWR0aDozMnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFBpbGwueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRTbWFsbExheW91dC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHRPbmx5e3BhZGRpbmc6OHB4IDE2cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0UGlsbC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdERlZmF1bHRMYXlvdXR7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czoyNHB4O21heC13aWR0aDo1MDBweDtwYWRkaW5nOjZweCAxNnB4IDZweCA2cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0UGlsbC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdERlZmF1bHRMYXlvdXQgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0FjY2Vzc29yeXtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFBpbGwueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHREZWZhdWx0TGF5b3V0Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0VGV4dE9ubHl7cGFkZGluZzoxNnB4IDI0cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0FjY2Vzc29yeXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZmxleC1zaHJpbms6MH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRQaWxsIC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbExlYWRpbmdBY2Nlc3Nvcnl7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO21hcmdpbi1yaWdodDo4cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxMZWFkaW5nQWNjZXNzb3J5e21hcmdpbi1yaWdodDoxMnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbExlYWRpbmdBY2Nlc3NvcnlSb3RhdGVMZWZ0e3RyYW5zZm9ybTpyb3RhdGUoLTNkZWcpfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbExlYWRpbmdBY2Nlc3NvcnlSb3RhdGVSaWdodHt0cmFuc2Zvcm06cm90YXRlKDNkZWcpfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbEVuYWJsZVpvb206aG92ZXIgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0ltYWdle3RyYW5zZm9ybTpzY2FsZSgxLjA4KX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsRW5hYmxlWm9vbSAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxMZWFkaW5nSW1hZ2V7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfX0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0V3JhcHBlcnttaW4td2lkdGg6MH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2NvbG9yOiMwMzAzMDM7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjB9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0U21hbGxMYXlvdXQgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0VGV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0RGVmYXVsdExheW91dCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFNlY29uZGFyeUxhYmVse3BhZGRpbmctYm90dG9tOjRweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdE1lZGlhQ2FyZCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxMZWFkaW5nQWNjZXNzb3J5e21hcmdpbi1yaWdodDowO2JvcmRlci1yYWRpdXM6MTZweDtvdmVyZmxvdzpoaWRkZW59Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0TWVkaWFDYXJkIC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHRXcmFwcGVye3BhZGRpbmctdG9wOjEycHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFNtYWxsTGF5b3V0e3dpZHRoOjEwMCU7bWluLWhlaWdodDo1NnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdENhcmQueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRTbWFsbExheW91dCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFNtYWxsTGF5b3V0IC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRDYXJkLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0RGVmYXVsdExheW91dHt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6NjhweH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRDYXJkLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0RGVmYXVsdExheW91dCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdENhcmQueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHREZWZhdWx0TGF5b3V0IC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7cG9zaXRpb246cmVsYXRpdmU7Y3Vyc29yOnBvaW50ZXI7bWluLXdpZHRoOjA7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS55dExvY2t1cFZpZXdNb2RlbEZsZXhOb25ley1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0TG9ja3VwVmlld01vZGVsV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0TG9ja3VwVmlld01vZGVsRW5kb3JzZW1lbnR7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0yMHB4O2NvbG9yOiM2MDYwNjB9Lnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGF7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWluLXdpZHRoOjA7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dExvY2t1cFZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TG9ja3VwVmlld01vZGVsQWRkTWFyZ2luc3ttYXJnaW4tcmlnaHQ6MTJweDttYXJnaW4tbGVmdDoxMnB4fS55dExvY2t1cFZpZXdNb2RlbEZ1bGxibGVlZCAueXRMb2NrdXBWaWV3TW9kZWxNZXRhZGF0YXttYXJnaW4tbGVmdDoxMnB4O21hcmdpbi1yaWdodDoxMnB4fS55dExvY2t1cFZpZXdNb2RlbENvbnRlbnRJbWFnZXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aW5oZXJpdDstbW96LWJveC1kaXJlY3Rpb246aW5oZXJpdDtmbGV4LWRpcmVjdGlvbjppbmhlcml0fS55dExvY2t1cFZpZXdNb2RlbENpbmVtYXRpY3tib3JkZXItcmFkaXVzOjEycHg7b3ZlcmZsb3c6aGlkZGVufS55dExvY2t1cFZpZXdNb2RlbFZlcnRpY2Fsey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRMb2NrdXBWaWV3TW9kZWxWZXJ0aWNhbCAueXRMb2NrdXBWaWV3TW9kZWxDb250ZW50SW1hZ2V7cGFkZGluZy1ib3R0b206OHB4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TG9ja3VwVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBWaWV3TW9kZWxSaWNoR3JpZExlZ2FjeU1hcmdpbiAueXRMb2NrdXBWaWV3TW9kZWxDb250ZW50SW1hZ2V7cGFkZGluZy1ib3R0b206MTJweH0ueXRMb2NrdXBWaWV3TW9kZWxIb3Jpem9udGFsey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2hlaWdodDppbmhlcml0fS55dExvY2t1cFZpZXdNb2RlbEhvcml6b250YWwgLnl0TG9ja3VwVmlld01vZGVsQ29udGVudEltYWdle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmU7cGFkZGluZy1yaWdodDoxNnB4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjUwMHB4fS55dExvY2t1cFZpZXdNb2RlbEhvcml6b250YWwgLnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGF7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXRMb2NrdXBWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwVmlld01vZGVsQ29sbGVjdGlvblN0YWNrMXtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tdG9wOjZweH0ueXRMb2NrdXBWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwVmlld01vZGVsQ29sbGVjdGlvblN0YWNrMntwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tdG9wOjEwcHh9Lnl0TG9ja3VwVmlld01vZGVsSG9yaXpvbnRhbC55dExvY2t1cFZpZXdNb2RlbENvbXBhY3QgLnl0TG9ja3VwVmlld01vZGVsQ29udGVudEltYWdle3BhZGRpbmctcmlnaHQ6OHB4fS55dExvY2t1cFZpZXdNb2RlbFNpbmdsZUNvbHVtbkdyaWQueXRMb2NrdXBWaWV3TW9kZWxDb2xsZWN0aW9uU3RhY2sxe3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NnB4fS55dExvY2t1cFZpZXdNb2RlbFNpbmdsZUNvbHVtbkdyaWQueXRMb2NrdXBWaWV3TW9kZWxDb2xsZWN0aW9uU3RhY2sye3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6MTBweH0ueXRMb2NrdXBWaWV3TW9kZWxJbkNhcmQueXRMb2NrdXBWaWV3TW9kZWxDb2xsZWN0aW9uU3RhY2sxe3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NnB4fS55dExvY2t1cFZpZXdNb2RlbEluQ2FyZC55dExvY2t1cFZpZXdNb2RlbENvbGxlY3Rpb25TdGFjazJ7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDoxMHB4fS55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhT25UaHVtYm5haWx7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3Bvc2l0aW9uOnJlbGF0aXZlfS55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhT25UaHVtYm5haWwgLnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGF7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3RvcDo1MCU7cGFkZGluZzo4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLHJnYmEoMCwwLDAsMC44KSAwLHJnYmEoMCwwLDAsMCkgMTAwJSl9Lnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGFPblRodW1ibmFpbC55dExvY2t1cFZpZXdNb2RlbENpbmVtYXRpYyAueXRMb2NrdXBWaWV3TW9kZWxDb250ZW50SW1hZ2V7aGVpZ2h0OjU1JX0ueXRMb2NrdXBWaWV3TW9kZWxNZXRhZGF0YU9uVGh1bWJuYWlsLnl0TG9ja3VwVmlld01vZGVsQ2luZW1hdGljIC55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhe2hlaWdodDo3NSU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHRyYW5zcGFyZW50IDAsIzMzMyA1MCUpO3RvcDphdXRvfS55dExvY2t1cFZpZXdNb2RlbENhcmR7Ym9yZGVyLXJhZGl1czoxMnB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9Lnl0TG9ja3VwVmlld01vZGVsUHJvdGVjdEJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJX0ueXRTdWJzY3JpYmVCdXR0b25WaWV3TW9kZWxIb3N0Q2FuQW5pbWF0ZVdpZHRoe3RyYW5zaXRpb246d2lkdGggLjVzIGVhc2V9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsSG9zdEhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsSW52aXNpYmxle3Bvc2l0aW9uOmFic29sdXRlO3Zpc2liaWxpdHk6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dFN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbEFuaW1hdGVkQWN0aW9uV3JhcHBlcnttYXgtd2lkdGg6MTAwJX0ueXRTdWJzY3JpYmVCdXR0b25WaWV3TW9kZWxBbmltYXRlZEFjdGlvbldyYXBwZXJJc0FuaW1hdGluZywueXRTdWJzY3JpYmVCdXR0b25WaWV3TW9kZWxTdGF0aWNXaWR0aHt3aWR0aDoxMDAlfS55dENvbGxlY3Rpb25zU3RhY2tSZWxhdGl2ZVN0YWNre3Bvc2l0aW9uOnJlbGF0aXZlfS55dENvbGxlY3Rpb25zU3RhY2tTcGFjZXJ7aGVpZ2h0OjVweH0ueXRDb2xsZWN0aW9uc1N0YWNrU3BhY2VyRG91YmxlU3RhY2t7aGVpZ2h0OjlweH0ueXRDb2xsZWN0aW9uc1N0YWNrQ29sbGVjdGlvblN0YWNrMntiYWNrZ3JvdW5kLWNvbG9yOiM2MDYwNjA7b3BhY2l0eTo1MCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi04cHg7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7aGVpZ2h0OjEwMCU7bGVmdDoxMnB4O3JpZ2h0OjEycHg7Ym9yZGVyLXJhZGl1czoxMnB4fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey55dENvbGxlY3Rpb25zU3RhY2tDb2xsZWN0aW9uU3RhY2syUmVzcG9uc2l2ZU1vZGV7ZGlzcGxheTpub25lfX0ueXRDb2xsZWN0aW9uc1N0YWNrQ29sbGVjdGlvblN0YWNrMk1hc2t7bWFyZ2luLXRvcDotMXB4O21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDFweCxibGFjayAwLGJsYWNrIDRweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDZweCxibGFjayAwLGJsYWNrIDhweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDEwcHgsYmxhY2sgMCl9Lnl0Q29sbGVjdGlvbnNTdGFja0NvbGxlY3Rpb25TdGFjazF7YmFja2dyb3VuZC1jb2xvcjojNjA2MDYwO21hcmdpbi10b3A6LTFweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfS55dENvbGxlY3Rpb25zU3RhY2tDb2xsZWN0aW9uU3RhY2sxU21hbGx7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlIC0gMTZweCk7aGVpZ2h0OjEwMCU7bGVmdDo4cHg7cmlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6NHB4fS55dENvbGxlY3Rpb25zU3RhY2tDb2xsZWN0aW9uU3RhY2sxTWVkaXVte3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSAtIDE2cHgpO2hlaWdodDoxMDAlO2xlZnQ6OHB4O3JpZ2h0OjhweDtib3JkZXItcmFkaXVzOjhweH0ueXRDb2xsZWN0aW9uc1N0YWNrQ29sbGVjdGlvblN0YWNrMUxhcmdle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSAtIDE2cHgpO2hlaWdodDoxMDAlO2xlZnQ6OHB4O3JpZ2h0OjhweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0Q29sbGVjdGlvbnNTdGFja0NvbGxlY3Rpb25TdGFjazFNYXNre21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDFweCxibGFjayAwLGJsYWNrIDRweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDZweCxibGFjayAwKTtib3JkZXItdG9wOm5vbmV9Lnl0UHJvZmlsZUljb25Ib3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjtmbGV4LXNocmluazowO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpfS55dFByb2ZpbGVJY29uSG9zdDpoYXMoLnl0UHJvZmlsZUljb25JbWFnZSl7YmFja2dyb3VuZC1jb2xvcjp1bnNldH0ueXRQcm9maWxlSWNvbkltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0TWV0YWRhdGFCYWRnZVJlbmRlcmVySG9zdCsueXRNZXRhZGF0YUJhZGdlUmVuZGVyZXJIb3N0e21hcmdpbi1sZWZ0OjRweH0ueXR3U3RhbmRhbG9uZVlwY0JhZGdlUmVuZGVyZXJIb3N0e21hcmdpbi1sZWZ0OjRweH0ueXR3U3RhbmRhbG9uZVlwY0JhZGdlUmVuZGVyZXJTdGFuZGFsb25lWXBjTW9kZXJuQmFkZ2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0d1N0YW5kYWxvbmVZcGNCYWRnZVJlbmRlcmVyU3RhbmRhbG9uZVlwY0Rpc2NvdW50VGV4dEJhZGdle21hcmdpbi1yaWdodDo0cHg7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaH0ueXR3VGV4dEJhZGdlUmVuZGVyZXJIb3N0Ky55dHdUZXh0QmFkZ2VSZW5kZXJlckhvc3R7bWFyZ2luLWxlZnQ6NHB4fS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySG9zdHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0OjNlbTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySG9zdHtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6bm9uZTtvdmVyZmxvdzp2aXNpYmxlfX0uWXRtQmFkZ2VBbmRCeWxpbmVSZW5kZXJlckhvc3RbZGF0YS1pcy1hbGwtYmFkZ2VzPXRydWVde21hcmdpbi10b3A6NHB4fS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySG9zdCB5dG0tYmFkZ2Utc3VwcG9ydGVkLXJlbmRlcmVye3Bvc2l0aW9uOnJlbGF0aXZlfS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVyU21hbGxMb2NrdXB7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoxfS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVyU21hbGxMb2NrdXBEaXZ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lll0bUJhZGdlQW5kQnlsaW5lUmVuZGVyZXJIb3N0IC5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVyU21hbGxMb2NrdXBTcGFue2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MS4yNTttYXgtaGVpZ2h0OjEuMjVlbTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6cHJlO3dvcmQtYnJlYWs6YnJlYWstd29yZDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySXRlbUJhZGdlLC5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySXRlbUJ5bGluZSwuWXRtQmFkZ2VBbmRCeWxpbmVSZW5kZXJlclNlcGFyYXRvcnttYXJnaW4tcmlnaHQ6NHB4fS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySXRlbUJ5bGluZXtmb250LXNpemU6MS4ycmVtO2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6LjZ9Lll0bUJhZGdlQW5kQnlsaW5lUmVuZGVyZXJJdGVtQmFkZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lll0bUJhZGdlQW5kQnlsaW5lUmVuZGVyZXJTZXBhcmF0b3J7Zm9udC1zaXplOjEuMnJlbTtvcGFjaXR5Oi42fS5ZdG1CYWRnZVN1cHBvcnRlZFJlbmRlcmVySG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uWXRtQmFkZ2VTdXBwb3J0ZWRSZW5kZXJlckhvc3Q+eXQtbWV0YWRhdGEtYmFkZ2UtcmVuZGVyZXJ7bWluLXdpZHRoOjA7ZmxleC1zaHJpbms6MTAwMDB9Lll0bUJhZGdlU3VwcG9ydGVkUmVuZGVyZXJIb3N0Pnl0LW1ldGFkYXRhLWJhZGdlLXJlbmRlcmVyOmZpcnN0LWNoaWxke2ZsZXgtc2hyaW5rOjF9Lll0bUJhZGdlU3VwcG9ydGVkUmVuZGVyZXJIb3N0IHl0bS1iYWRnZXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uWXRtUHJpdmFjeUJhZGdlUmVuZGVyZXJIb3N0e21hcmdpbi1sZWZ0OjRweH0uWXRtQ2hhbm5lbFRodW1ibmFpbFdpdGhMaW5rUmVuZGVyZXJIb3N0e2Rpc3BsYXk6YmxvY2t9Lll0bUNoYW5uZWxUaHVtYm5haWxXaXRoTGlua1JlbmRlcmVySWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MDttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW59bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7cGFkZGluZzowIDEycHh9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLWRldGFpbHN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDowO3BhZGRpbmctbGVmdDowO21hcmdpbi10b3A6NHB4fXl0bS1tZWRpYS1pdGVtIC51cHBlci1kZXRhaWxzey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXJnaW4tYm90dG9tOjhweH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWNoYW5uZWx7bWFyZ2luLXRvcDo4cHh9eXRtLW1lZGlhLWl0ZW0gLnVwcGVyLWRldGFpbHMgLm1lZGlhLWNoYW5uZWwseXRtLW1lZGlhLWl0ZW1bdXNlLXZlcnRpY2FsLWxheW91dF0gLnVwcGVyLWRldGFpbHMgLm1lZGlhLWNoYW5uZWx7bWFyZ2luLXRvcDowfXl0bS1tZWRpYS1pdGVtIC51cHBlci1kZXRhaWxzIHl0bS1wcm9maWxlLWljb257ZGlzcGxheTpibG9jaztoZWlnaHQ6MzZweDt3aWR0aDozNnB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1tZXRhZGF0YXttYXJnaW4tdG9wOjhweH1sYXp5LWxpc3QgLml0ZW0geXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MTJweH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjAgLTEycHh9QGtleWZyYW1lcyBtZXRhZGF0YS1ib3VuY2V7MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MjAlLDgwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTIwcHgpfX15dG0tbWVkaWEtaXRlbSAubWV0YWRhdGEtc2Nyb2xsLWNvbnRhaW5lcntvdmVyZmxvdzphdXRvO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnk7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9eXRtLW1lZGlhLWl0ZW0gLm1ldGFkYXRhLWNvbnRlbnQtY29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjIwMCV9eXRtLW1lZGlhLWl0ZW0gLm1ldGFkYXRhLWNvbnRlbnQtY29udGFpbmVyLmJvdW5jZXthbmltYXRpb24tbmFtZTptZXRhZGF0YS1ib3VuY2U7YW5pbWF0aW9uLWR1cmF0aW9uOjNzO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX15dG0tbWVkaWEtaXRlbSAuc2Nyb2xsLXZpZXd7d2lkdGg6NTAlO3Njcm9sbC1zbmFwLWFsaWduOnN0YXJ0fXl0bS1tZWRpYS1pdGVtIC5zY3JvbGwtZG90cy1jb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfXl0bS1tZWRpYS1pdGVtIC5zY3JvbGwtZG90e2hlaWdodDo0cHg7d2lkdGg6NHB4O2JvcmRlcjoxcHggc29saWQgIzAzMDMwMztib3JkZXItcmFkaXVzOjUwJTttYXJnaW46MCAzcHh9eXRtLW1lZGlhLWl0ZW0gLnNjcm9sbC1kb3QuYWN0aXZle2JhY2tncm91bmQtY29sb3I6IzAzMDMwM315dG0tbWVkaWEtaXRlbXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MCAxMnB4O21pbi13aWR0aDowfXl0bS1tZWRpYS1pdGVtW3VzZS12ZXJ0aWNhbC1sYXlvdXRde3BhZGRpbmc6MH15dG0tbWVkaWEtaXRlbVt1c2UtdmVydGljYWwtbGF5b3V0XSAubWVkaWEtaXRlbS1tZXRhZGF0YXttYXJnaW4tdG9wOjhweH15dG0tbWVkaWEtaXRlbVt1c2UtdmVydGljYWwtbGF5b3V0XSAudXBwZXItZGV0YWlscyAubWVkaWEtaXRlbS1tZXRhZGF0YXttYXJnaW4tdG9wOjA7YWxpZ24tc2VsZjpjZW50ZXJ9eXRtLW1lZGlhLWl0ZW1bdXNlLXZlcnRpY2FsLWxheW91dF0gLm1lZGlhLWNoYW5uZWx7bWFyZ2luLXRvcDo4cHh9eXRtLW1lZGlhLWl0ZW0+YXtkaXNwbGF5OmJsb2NrfS5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmV9Lm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lci5zdGFja2VkOm5vdCgubXVsdGktY29sdW1uLWZlZWQpe21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0OjEycHg7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDoxMHB4fS5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXIubXVsdGktY29sdW1uLWZlZWR7bWFyZ2luLXRvcDotMnB4fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXIuc3RhY2tlZDpub3QoLm11bHRpLWNvbHVtbi1mZWVkKXttYXJnaW4tbGVmdDp1bnNldDttYXJnaW4tcmlnaHQ6dW5zZXR9Lm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lci5zdGFja2VkOm5vdCgubXVsdGktY29sdW1uLWZlZWQpe21hcmdpbi10b3A6NHB4fXl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLWxhbmRzY2FwZS1zdGFja3tkaXNwbGF5Om5vbmV9eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlscy5zdGFja2Vke21hcmdpbi10b3A6NHB4fX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlscy5zdGFja2VkLXBsYXlsaXN0e21hcmdpbi1sZWZ0OjRweH19Lm1lZGlhLWl0ZW0tYW5pbWF0ZWQtdGh1bWJuYWlsLC5tZWRpYS1pdGVtLXRodW1ibmFpbC1zbGlkZXNob3d7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCV9LmlubGluZS1ieWxpbmUtY2hhbm5lbC1uYW1le21hcmdpbi1ib3R0b206M3B4fS5tZWRpYS1pdGVtLW1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjB9Lm1lZGlhLWl0ZW0taGVhZGxpbmV7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS40cmVtfS5tZWRpYS1pdGVtLXRvcC1iYWRnZXMgeXQtbWV0YWRhdGEtYmFkZ2UtcmVuZGVyZXJ7ZGlzcGxheTpibG9ja30ubWVkaWEtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS5tZWRpYS1jaGFubmVse2ZsZXgtc2hyaW5rOjB9Lm1lZGlhLWl0ZW0taW5mbyx5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1kZXRhaWxzey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTttaW4td2lkdGg6MH0ubWVkaWEtaXRlbS1pbmZve2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXJnaW4tbGVmdDoxMnB4fS5tZWRpYS1pdGVtLWRldGFpbHMuc21hbGwtbG9ja3VwLC5tZWRpYS1pdGVtLWluZm9bbm8tY2hhbm5lbC1hdmF0YXI9dHJ1ZV17bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MH0ubWVkaWEtaXRlbS1kZXRhaWxzLmZlYXR1cmUtcGhvbmUtbWluaW1hbC1sb2NrdXBzIC5tZWRpYS1pdGVtLWluZm97bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDo4cHh9Lm1lZGlhLWl0ZW0tZGV0YWlscyAubWVkaWEtaXRlbS1pbmZvW25vLWNoYW5uZWwtYXZhdGFyPXRydWVdW3VzZS1tb2Rlcm4tY29sbGVjdGlvbnM9dHJ1ZV17bWFyZ2luLWxlZnQ6NHB4fS5tZWRpYS1pdGVtLWhlYWRsaW5lLXBsYWNlaG9sZGVye2hlaWdodDoxNnB4O21heC13aWR0aDozMDBweDttYXJnaW4tYm90dG9tOjhweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0ubWVkaWEtaXRlbS1oZWFkbGluZS1wbGFjZWhvbGRlcjpudGgtY2hpbGQoMil7d2lkdGg6MTIwcHg7bWFyZ2luLWJvdHRvbTo4cHh9Lm1lZGlhLWl0ZW0tZW5kb3JzZW1lbnQtY29udGFpbmVye2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS42cmVtfUBtZWRpYSAobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lm1lZGlhLWl0ZW0tZW5kb3JzZW1lbnQtY29udGFpbmVye2xldHRlci1zcGFjaW5nOi4wMmVtfX0ubWVkaWEtaXRlbS1lbmRvcnNlbWVudC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbTotNHB4O2NvbG9yOiMwMzAzMDM7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5tZWRpYS1pdGVtLWVuZG9yc2VtZW50LWNvbnRhaW5lcj4ubWVkaWEtaXRlbS1zZWNvbmRhcnktaGVhZGxpbmV7cGFkZGluZy10b3A6OHB4fS5tZWRpYS1pdGVtLWVuZG9yc2VtZW50LWNvbnRhaW5lcj4ubWVkaWEtaXRlbS1zZWNvbmRhcnktaGVhZGxpbmU+c3Bhbnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtaGVpZ2h0OjMuMnJlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjJ9Lm1lZGlhLWl0ZW0tZW5kb3JzZW1lbnQtY29udGFpbmVyPi5tZWRpYS1pdGVtLXNlY29uZGFyeS1oZWFkbGluZT5zcGFuPnN0cm9uZ3tmb250LXdlaWdodDo3MDB9Lm1lZGlhLWl0ZW0tc3ViaGVhZC1wbGFjZWhvbGRlcntoZWlnaHQ6MTZweDt3aWR0aDoxMjBweDttYXJnaW4tYm90dG9tOjNweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0ubWVkaWEtaXRlbS1tZW51e2ZsZXgtc2hyaW5rOjB9Lm1lZGlhLWl0ZW0tYnlsaW5le3VuaWNvZGUtYmlkaTotbW96LWlzb2xhdGU7dW5pY29kZS1iaWRpOmlzb2xhdGV9eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlscy5mZWF0dXJlLXBob25lLW1pbmltYWwtbG9ja3VwcyAubWVkaWEtY2hhbm5lbHtkaXNwbGF5Om5vbmV9eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlsc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjEycHh9eXRtLW1lZGlhLWl0ZW1bdXNlLXZlcnRpY2FsLWxheW91dF0gLm1lZGlhLWl0ZW0tZGV0YWlsc3ttYXJnaW4tdG9wOjRweH15dG0tYnJvd3NlIGxhenktbGlzdCB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLW1lZGlhLWl0ZW17bWFyZ2luOjB9eXRtLWJyb3dzZSB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLW1lZGlhLWl0ZW17bWFyZ2luOi0xMnB4IDAgMH15dG0tbWVkaWEtaXRlbSAudmlkZW8tdGh1bWJuYWlsLW92ZXJsYXktc2lkZXt3aWR0aDozMyV9QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe2xhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1kZXRhaWxze3BhZGRpbmctbGVmdDoxMnB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbS5iaWctc2hvcnRzLXNpbmdsZXRvbiAubWVkaWEtaXRlbS10aHVtYm5haWwtY29udGFpbmVye3BhZGRpbmc6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0uYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjB9fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXt5dG0tYnJvd3NlIHl0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSB5dG0tcHJvbW90ZWQtdmlkZW8tcmVuZGVyZXIgeXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDowfWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbXtwYWRkaW5nOjAgMTJweH1sYXp5LWxpc3QgLml0ZW0geXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDoxMnB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS10aHVtYm5haWwtY29udGFpbmVye3BhZGRpbmc6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjB9fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpe3l0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfXl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pIC5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7ZmxleC1zaHJpbms6MH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXt3aWR0aDoyMDBweDtoZWlnaHQ6MTEycHg7cGFkZGluZy1ib3R0b206MH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtaXRlbS1kZXRhaWxzey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MCAxMnB4O21pbi13aWR0aDowO3dpZHRoOjEwMCV9eXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSkgLm1lZGlhLWl0ZW0taW5mb3stbW96LWJveC1mbGV4OjA7ZmxleC1ncm93OjB9eXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSkgLm1lZGlhLWl0ZW0tbWV0YWRhdGF7bWFyZ2luLWJvdHRvbToycHg7bWF4LWhlaWdodDo3MHB4O292ZXJmbG93OmhpZGRlbjttaW4td2lkdGg6MH15dG0tbWVkaWEtaXRlbVt1c2UtdmVydGljYWwtbGF5b3V0XSAubWVkaWEtaXRlbS1oZWFkbGluZXttYXJnaW4tYm90dG9tOjhweH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtY2hhbm5lbHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LW1vei1ib3gtb3JkaW5hbC1ncm91cDoyO29yZGVyOjE7d2lkdGg6MTAwJX15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtaXRlbS1leHRyYS1lbmRwb2ludHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVte3BhZGRpbmc6MCAxMnB4fWxhenktbGlzdCAuaXRlbSB5dG0tbWVkaWEtaXRlbXttYXJnaW4tdG9wOjEycHh9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7cGFkZGluZzowfWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtY2hhbm5lbHttYXJnaW4tdG9wOjB9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLW1ldGFkYXRhe21hcmdpbi10b3A6MH15dG0tYnJvd3NlIHl0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSB5dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKXttYXJnaW4tdG9wOjB9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLWl0ZW0tc2VjdGlvbi1yZW5kZXJlcjpmaXJzdC1vZi10eXBlIHl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe21hcmdpbi10b3A6MTJweH15dG0tYnJvd3NlIGxhenktbGlzdCB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLXByb21vdGVkLXZpZGVvLXJlbmRlcmVyIHl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe21hcmdpbi10b3A6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjB9eXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSkgLm1lZGlhLWl0ZW0taW5mb3ttYXJnaW4tbGVmdDowfXl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pIC5tZWRpYS1pdGVtLWRldGFpbHMuc3RhY2tlZC1wbGF5bGlzdHttYXJnaW4tdG9wOjRweH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtaXRlbS1kZXRhaWxzLnN0YWNrZWR7bWFyZ2luLXRvcDo0cHh9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVte3BhZGRpbmc6MCAxMnB4fWxhenktbGlzdCAuaXRlbSB5dG0tbWVkaWEtaXRlbXttYXJnaW4tdG9wOjEycHh9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLWl0ZW0tc2VjdGlvbi1yZW5kZXJlcjpmaXJzdC1vZi10eXBlIHl0bS1wcm9tb3RlZC12aWRlby1yZW5kZXJlciB5dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKXttYXJnaW4tdG9wOjEycHh9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7eXRtLW1lZGlhLWl0ZW17cGFkZGluZzowIDhweH15dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1kZXRhaWxze21hcmdpbi10b3A6MTJweDttYXJnaW4tYm90dG9tOjEycHh9eXRtLWJyb3dzZSB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDo4cHh9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVte3BhZGRpbmc6MCA4cHh9bGF6eS1saXN0IC5pdGVtIHl0bS1tZWRpYS1pdGVte21hcmdpbi1ib3R0b206MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lcntwYWRkaW5nOjB9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLW1ldGFkYXRhe21hcmdpbi10b3A6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlsc3ttYXJnaW4tdG9wOjEycHg7bWFyZ2luLWJvdHRvbTo0cHg7cGFkZGluZy1sZWZ0OjB9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlsc3ttYXJnaW4tYm90dG9tOjB9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLWl0ZW0tc2VjdGlvbi1yZW5kZXJlcjpmaXJzdC1vZi10eXBlIHl0bS1tZWRpYS1pdGVte21hcmdpbi10b3A6OHB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXttYXJnaW46MH15dG0tYnJvd3NlIGxhenktbGlzdCB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLXByb21vdGVkLXZpZGVvLXJlbmRlcmVyIHl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe21hcmdpbi10b3A6OHB4fX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7bGF6eS1saXN0IC5pdGVtIHl0bS1tZWRpYS1pdGVte21hcmdpbi10b3A6OHB4fX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChtYXgtd2lkdGg6MzMwcHgpe2xhenktbGlzdCB5dG0tbWVkaWEtaXRlbXtwYWRkaW5nOjAgMTJweH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lcntwYWRkaW5nOjB9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdle21hcmdpbjowfXl0bS1icm93c2UgbGF6eS1saXN0IHl0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSB5dG0tcHJvbW90ZWQtdmlkZW8tcmVuZGVyZXIgeXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSl7bWFyZ2luLXRvcDowfX15dG0tbWVkaWEtaXRlbS5zbWFsbC1sb2NrdXB7bWFyZ2luLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7d2lkdGg6MTYwcHh9eXRtLW1lZGlhLWl0ZW0uc21hbGwtbG9ja3VwIC5tZWRpYS1pdGVtLWhlYWRsaW5le2ZvbnQtd2VpZ2h0OjQwMH15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcnstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveH15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcjpub3QoW2ljb24tcG9zaXRpb249VEhVTUJOQUlMX09WRVJMQVlfSUNPTl9SRU5ERVJFUl9JQ09OX1BPU0lUSU9OX0JPVFRPTV9MRUZUX0NPUk5FUl0pey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfXl0bS10aHVtYm5haWwtb3ZlcmxheS1pY29uLXJlbmRlcmVyW2ljb24tcG9zaXRpb249VEhVTUJOQUlMX09WRVJMQVlfSUNPTl9SRU5ERVJFUl9JQ09OX1BPU0lUSU9OX0JPVFRPTV9MRUZUX0NPUk5FUl17cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO21hcmdpbjo1cHg7cGFkZGluZzoxcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6NTAlfVtpY29uLXN0eWxlPVRIVU1CTkFJTF9PVkVSTEFZX0lDT05fUkVOREVSRVJfSUNPTl9TVFlMRV9GSUxMRURdIGMzLWljb257ZGlzcGxheTpibG9jaztwYWRkaW5nOjFweDt3aWR0aDoxLjJyZW07aGVpZ2h0OjEuMnJlbX15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcjpub3QoW2ljb24tc3R5bGU9VEhVTUJOQUlMX09WRVJMQVlfSUNPTl9SRU5ERVJFUl9JQ09OX1NUWUxFX0ZJTExFRF0pIGMzLWljb257d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbX15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcltpY29uLXN0eWxlPVRIVU1CTkFJTF9PVkVSTEFZX0lDT05fUkVOREVSRVJfSUNPTl9TVFlMRV9GSUxMRURdIGMzLWljb24gcGF0aHtmaWxsOiMwMDB9eXRtLXRodW1ibmFpbC1vdmVybGF5LWljb24tcmVuZGVyZXI6bm90KFtpY29uLXN0eWxlPVRIVU1CTkFJTF9PVkVSTEFZX0lDT05fUkVOREVSRVJfSUNPTl9TVFlMRV9GSUxMRURdKSBjMy1pY29uIHBhdGh7ZmlsbDojZmZmfS5ZdG1UaHVtYm5haWxPdmVybGF5UmVzdW1lUGxheWJhY2tSZW5kZXJlckhvc3R7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDo0cHg7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowfS5ZdG1UaHVtYm5haWxPdmVybGF5UmVzdW1lUGxheWJhY2tSZW5kZXJlclRodW1ibmFpbE92ZXJsYXlSZXN1bWVQbGF5YmFja1Byb2dyZXNze2hlaWdodDo0cHg7bGVmdDowO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfXl0bS12aWRlby13aXRoLWNvbnRleHQtcmVuZGVyZXJ7ZGlzcGxheTpibG9ja31AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS12aWRlby13aXRoLWNvbnRleHQtcmVuZGVyZXIuZmVlZC1pdGVte21hcmdpbi1ib3R0b206MTZweH19QG1lZGlhIChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXt5dG0tdmlkZW8td2l0aC1jb250ZXh0LXJlbmRlcmVyLmZlZWQtaXRlbXttYXJnaW4tYm90dG9tOjI0cHh9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7eXRtLXZpZGVvLXdpdGgtY29udGV4dC1yZW5kZXJlci5hZGFwdGl2ZS1mZWVkLWl0ZW17bWFyZ2luLWJvdHRvbToxNnB4fX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS12aWRlby13aXRoLWNvbnRleHQtcmVuZGVyZXIuYWRhcHRpdmUtZmVlZC1pdGVte21hcmdpbi1ib3R0b206MjRweH19QG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOjEzLzkpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7eXRtLXZpZGVvLXdpdGgtY29udGV4dC1yZW5kZXJlci5hZGFwdGl2ZS1mZWVkLWl0ZW17bWFyZ2luLWJvdHRvbToxMnB4fX1sYXp5LWxpc3QgeXRtLXZpZGVvLXdpdGgtY29udGV4dC1yZW5kZXJlci5pdGVte21hcmdpbi10b3A6MH0udmlkZW9UaHVtYm5haWxHcm91cE92ZXJsYXlCb3R0b21MZWZ0UmlnaHRHcm91cHt3aWR0aDoxMDAlO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0udmlkZW9UaHVtYm5haWxHcm91cFJlc3VtZVBsYXliYWNrey1tb3otYm94LW9yZGluYWwtZ3JvdXA6MjtvcmRlcjoxfS52aWRlb1RodW1ibmFpbEdyb3VwVGltZVN0YXR1c3tyaWdodDowO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlfS52aWRlb1RodW1ibmFpbEdyb3VwT3ZlcmxheUxlZnRSaWdodEdyb3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7Ym90dG9tOjA7aGVpZ2h0OjEwMCV9LnZpZGVvVGh1bWJuYWlsR3JvdXBPdmVybGF5Q2VudGVye3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlfS55dERpYWxvZ1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXREaWFsb2dWaWV3TW9kZWxSZXNldFNwYWNpbmdbZGlhbG9nXVtkaWFsb2dde3BhZGRpbmc6MDttYXJnaW46MH0ueXR3QWNjb3VudExpbmtCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d0FjY291bnRMaW5rQnV0dG9uVmlld01vZGVsSG9zdE1pbldpZHRoIC55dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0e21pbi13aWR0aDoxMjBweH0ueXRUZXh0RmllbGRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0Q3JlYXRlUGxheWxpc3REaWFsb2dGb3JtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6MTJweH0ueXRDcmVhdGVQbGF5bGlzdERpYWxvZ0Zvcm1WaWV3TW9kZWxUaXRsZUZpZWxkLC55dENyZWF0ZVBsYXlsaXN0RGlhbG9nRm9ybVZpZXdNb2RlbFZpc2liaWxpdHlGaWVsZHttYXJnaW4tYm90dG9tOjEycHh9Lnl0RHJvcGRvd25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0RHJvcGRvd25WaWV3TW9kZWxEcm9wZG93bkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjU2cHg7cGFkZGluZzo4cHggMTJweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtjdXJzb3I6cG9pbnRlcn0ueXREcm9wZG93blZpZXdNb2RlbERyb3Bkb3duQ29udGFpbmVyRXJyb3JCb3JkZXJ7Ym9yZGVyLWNvbG9yOiNjMzAwMjd9Lnl0RHJvcGRvd25WaWV3TW9kZWxEcm9wZG93bkNvbnRhaW5lckRpc2FibGVke2JvcmRlcjowO2NvbG9yOiM5MDkwOTA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO2N1cnNvcjpkZWZhdWx0fS55dERyb3Bkb3duVmlld01vZGVsVGV4dHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0RHJvcGRvd25WaWV3TW9kZWxMYWJlbHtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dERyb3Bkb3duVmlld01vZGVsTGFiZWxFcnJvcntjb2xvcjojYzMwMDI3fS55dERyb3Bkb3duVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXREcm9wZG93blZpZXdNb2RlbFRpdGxlUGxhY2Vob2xkZXJ7Y29sb3I6IzkwOTA5MH0ueXREcm9wZG93blZpZXdNb2RlbENoZXZyb25Eb3due2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAzMDMwM30ueXREcm9wZG93blZpZXdNb2RlbENoZXZyb25Eb3duRGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXREcm9wZG93blZpZXdNb2RlbFN1cHBvcnR7bWFyZ2luLXRvcDo0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXREcm9wZG93blZpZXdNb2RlbFN1cHBvcnRIaW50e2NvbG9yOiM2MDYwNjB9Lnl0RHJvcGRvd25WaWV3TW9kZWxTdXBwb3J0RXJyb3J7Y29sb3I6I2MzMDAyN30ueXREcm9wZG93blZpZXdNb2RlbFN1cHBvcnRJY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O3dpZHRoOjE2cHh9Lnl0RHJvcGRvd25WaWV3TW9kZWxTdXBwb3J0VGV4dHttYXJnaW4tbGVmdDo0cHh9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcntjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6aGlkZGVuOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXIgLmNoaXAtY29udGFpbmVye2hlaWdodDozMnB4O21pbi13aWR0aDo0OHB4O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MCAxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjB9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlciAuY2hpcC1jb250YWluZXIuY2hpcC1uby12ZXJ0aWNhbC1wYWRkaW5ne3BhZGRpbmc6MH15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLWNvbnRhaW5lcjpoYXMoYzMtaWNvbil7cGFkZGluZy1sZWZ0OjhweH15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLWNvbnRhaW5lci5saWdodC1lZmZlY3R7cG9zaXRpb246cmVsYXRpdmV9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcltjaGlwLXN0eWxlPVNUWUxFX0RFRkFVTFRdIC5jaGlwLWNvbnRhaW5lcix5dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfSE9NRV9GSUxURVJdIC5jaGlwLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Y29sb3I6IzAzMDMwMzt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjVzIGN1YmljLWJlemllciguMDUsMCwwLDEpfXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXJbY2hpcC1zdHlsZT1TVFlMRV9ERUZBVUxUXSAuY2hpcC1jb250YWluZXI+YzMtaWNvbix5dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfSE9NRV9GSUxURVJdIC5jaGlwLWNvbnRhaW5lcj5jMy1pY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7cGFkZGluZy1yaWdodDo0cHh9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcltjaGlwLXN0eWxlPVNUWUxFX0RFRkFVTFRdLnNlbGVjdGVkIC5jaGlwLWNvbnRhaW5lcix5dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfSE9NRV9GSUxURVJdLnNlbGVjdGVkIC5jaGlwLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiMwMzAzMDM7Y29sb3I6I2ZmZn15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLXRleHR7bWF4LXdpZHRoOjIwcmVtO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc315dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLXRleHQubW9kZXJue2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfRVhQTE9SRV9MQVVOQ0hFUl9DSElQXSAuY2hpcC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO2JvcmRlci1yYWRpdXM6MnB4O2JvcmRlcjowO3BhZGRpbmc6MCAxMnB4IDAgNnB4fXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXJbY2hpcC1zdHlsZT1TVFlMRV9FWFBMT1JFX0xBVU5DSEVSX0NISVBdIC5jaGlwLWNvbnRhaW5lcj5jMy1pY29ue3BhZGRpbmctcmlnaHQ6NHB4fXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXJbY2hpcC1zdHlsZT1TVFlMRV9FWFBMT1JFX0xBVU5DSEVSX0NISVBdLm1vcmUtZHJhd2VyIC5jaGlwLWNvbnRhaW5lcntwYWRkaW5nOjA7bWluLXdpZHRoOjQ4cHh9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcltjaGlwLXN0eWxlPVNUWUxFX0VYUExPUkVfTEFVTkNIRVJfQ0hJUF0ubW9yZS1kcmF3ZXIgLmNoaXAtY29udGFpbmVyPmMzLWljb257cGFkZGluZy1yaWdodDowfXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXIgLmVsZXZhdGVkLWNvbnRlbnR7ei1pbmRleDoxfS55dG1DaGlwc1NoZWxmVmlld01vZGVsSG9zdHstLWNoaXBzLXNoZWxmLXNpZGUtbWFyZ2luOjhweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luLWJvdHRvbToyNHB4fS55dG1DaGlwc1NoZWxmVmlld01vZGVsQ2hpcHNTaGVsZkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46OHB4IDRweCA4cHggdmFyKC0tY2hpcHMtc2hlbGYtc2lkZS1tYXJnaW4pfS55dG1DaGlwc1NoZWxmVmlld01vZGVsQ2hpcHNTaGVsZkNvbnRlbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tY2hpcHMtc2hlbGYtc2lkZS1tYXJnaW4pIC0gNHB4KTtwYWRkaW5nLXJpZ2h0OjEycHg7bWFyZ2luLWJvdHRvbToxNnB4O21heC1oZWlnaHQ6ODBweDtvdmVyZmxvdzpoaWRkZW59Lnl0bUNoaXBzU2hlbGZWaWV3TW9kZWxDaGlwc1NoZWxmVGl0bGV7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7Zm9udC1zaXplOjEuNHJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4yNTttYXJnaW46MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbENoaXBzU2hlbGZJdGVte21hcmdpbjowIDRweCA4cHh9Lnl0bUNoaXBzU2hlbGZWaWV3TW9kZWxNZW51QnV0dG9ue21hcmdpbi1sZWZ0OjhweH0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbElzSW5uZXJDaGlwc1NoZWxme21hcmdpbi1ib3R0b206MH0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbEVuYWJsZUFuaW1hdGlvbnstLWNoaXBzLXNoZWxmLWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtvcGFjaXR5OjA7aGVpZ2h0OnZhcigtLWNoaXBzLXNoZWxmLWhlaWdodCk7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyxoZWlnaHQgLjNzfS55dG1DaGlwc1NoZWxmVmlld01vZGVsRW5hYmxlQW5pbWF0aW9uLmV4cGFuZGVke29wYWNpdHk6MX0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbElzSW5uZXJDaGlwc1NoZWxmQ29udGVudHttYXJnaW4tYm90dG9tOjB9Lnl0bUNoaXBzU2hlbGZWaWV3TW9kZWxJc0hvcml6b250YWxseVNjcm9sbGFibGV7bWF4LWhlaWdodDo0MHB4O292ZXJmbG93LXg6YXV0bztmbGV4LXdyYXA6bm93cmFwO3Njcm9sbGJhci13aWR0aDpub25lfS55dExpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsSG9zdHtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsSG9zdHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsSG9zdHttYXgtaGVpZ2h0OjQuNHJlbX0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7cGFkZGluZy1ib3R0b206MTZweH0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxIZWFkZXJ7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWJvdHRvbToyNHB4fS55dENvbW11bml0eUVkdVZpZXdNb2RlbFRpdGxlSW1hZ2V7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxBdmF0YXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxUaXRsZXtkaXNwbGF5OmJsb2NrO21hcmdpbjowIDI0cHggMTZweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9fS55dENvbW11bml0eUVkdVZpZXdNb2RlbFRpdGxle3RleHQtYWxpZ246Y2VudGVyfS55dENvbW11bml0eUVkdVZpZXdNb2RlbENvbnRlbnR7cGFkZGluZy1sZWZ0Ojc4cHh9Lnl0Q29tbXVuaXR5RWR1Vmlld01vZGVsTGVhcm5Nb3Jle2NvbG9yOiMwNjVmZDQ7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxFZHVjYXRpb25hbFRleHRTZXR7dGV4dC1hbGlnbjpzdGFydH0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxQcmltYXJ5VGV4dHtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dENvbW11bml0eUVkdVZpZXdNb2RlbFNlY29uZGFyeVRleHR7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjI0cHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhcnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOnJldmVyc2U7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2V9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplVGlueTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi04cHh9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplRXh0cmFTbWFsbDpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi04cHh9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplU21hbGw6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tbGVmdDotOHB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU2l6ZU1lZGl1bTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi04cHh9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplNDg6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tbGVmdDotOHB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU2l6ZUxhcmdlOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclNpemVFeHRyYUxhcmdlOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclNpemVFeHRyYUV4dHJhTGFyZ2U6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tbGVmdDotOHB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU2l6ZUdpYW50Om5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclNpemVSZXNwb25zaXZlOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbFRleHRDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTttYXJnaW46MnB4IDA7bWFyZ2luLWxlZnQ6LThweDtib3JkZXI6MnB4IHNvbGlkICNmZmZ9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxUZXh0Q29udGFpbmVyVGhpbkJvcmRlcnttYXJnaW4tdG9wOjNweDttYXJnaW4tYm90dG9tOjNweDtib3JkZXItd2lkdGg6MXB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsVGV4dENvbnRhaW5lclRoaW5Cb3JkZXJPdmVybGF5e2JvcmRlcjoxcHggc29saWQgI2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhckRlY29yYXRlZFRleHR7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTdGFja1RleHR7bWFyZ2luLWxlZnQ6OHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MS44cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU3RhY2tUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTdGFja1RleHR7bWF4LWhlaWdodDoxLjhyZW19Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTdGFja1RleHQ6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyfS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyQnV0dG9ue21hcmdpbjo0cHggMH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbElzT3ZlcmxheXtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsTWVkaXVtVGV4dCAueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclN0YWNrVGV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dEF2YXRhclN0YWNrVmlld01vZGVsTWVkaXVtVGV4dCAueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclN0YWNrVGV4dHstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dEF2YXRhclN0YWNrVmlld01vZGVsTWVkaXVtVGV4dCAueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclN0YWNrVGV4dHttYXgtaGVpZ2h0OjJyZW19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhUm93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLXRvcDoycHg7b3ZlcmZsb3c6aGlkZGVuO21pbi13aWR0aDowO21heC13aWR0aDoxMDAlfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhUm93OmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0OjJweDtib3JkZXItcmFkaXVzOjRweH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxBdmF0YXJTdGFja3ttaW4td2lkdGg6MDttYXgtd2lkdGg6MTAwJX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVJvd01ldGFkYXRhUm93SW5saW5le2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXh9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFSb3dNZXRhZGF0YVJvd1BhZGRpbmd7cGFkZGluZzo4cHggMH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVJvd01ldGFkYXRhUm93V3JhcHtmbGV4LXdyYXA6d3JhcH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxCYWRnZXttYXJnaW4tcmlnaHQ6NHB4fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbEljb257bWFyZ2luLWxlZnQ6NHB4Oy1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTGVhZGluZ0ljb257bWFyZ2luLXJpZ2h0OjRweDstbW96LWJveC1mbGV4OjA7ZmxleDpub25lfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbFNwYWNlcntoZWlnaHQ6NnB4fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRMYXN0UGFydHtvdmVyZmxvdzpoaWRkZW47bWluLXdpZHRoOjB9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMwe2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzMntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjMuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczJ7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczJ7bWF4LWhlaWdodDozLjZyZW19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMze2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NS40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzM3std2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0Om5vbmV9fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzM3ttYXgtaGVpZ2h0OjUuNHJlbX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo3LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXM0ey13ZWJraXQtbGluZS1jbGFtcDo0O21heC1oZWlnaHQ6bm9uZX19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXM0e21heC1oZWlnaHQ6Ny4ycmVtfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbERlbGltaXRlcnttYXJnaW46MCA0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbERlbGltaXRlclN0YW5kYWxvbmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDoycHh9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsSW5saW5le3doaXRlLXNwYWNlOm5vcm1hbH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxJbmxpbmUgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFSb3d7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzMHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMye21heC1oZWlnaHQ6NHJlbX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzM3tmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo2cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMzey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczN7bWF4LWhlaWdodDo2cmVtfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXM0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczR7LXdlYmtpdC1saW5lLWNsYW1wOjQ7bWF4LWhlaWdodDpub25lfX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzNHttYXgtaGVpZ2h0OjhyZW19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxEZWxpbWl0ZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbENlbnRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRDb250ZW50TGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbENvbnRlbnRMaXN0SXRlbVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tbGVmdDoxNnB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVye21hcmdpbi10b3A6OHB4O21hcmdpbi1ib3R0b206OHB4O21hcmdpbi1yaWdodDoxMnB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbGltYWdlQ2xhc3NOYW1le2JvcmRlci1yYWRpdXM6OHB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlTWV0YWRhdGFXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRDb250ZW50TGlzdEl0ZW1WaWV3TW9kZWxNZXRhZGF0YXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFByb21pbmVudFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIuNHJlbTtsaW5lLWhlaWdodDozLjJyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFByb21pbmVudFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0Q29udGVudExpc3RJdGVtVmlld01vZGVsQWN0aW9uQnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi1yaWdodDoxNnB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyfS55dERlY29yYXRlZEF2YXRhclZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRSZWVsQ2hhbm5lbEJhclZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpfS55dFJlZWxDaGFubmVsQmFyVmlld01vZGVsQ2hhbm5lbE5hbWV7cGFkZGluZzowIDhweDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRSZWVsQ2hhbm5lbEJhclZpZXdNb2RlbENoYW5uZWxOYW1ley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxDaGFubmVsTmFtZXttYXgtaGVpZ2h0OjJyZW19QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxDaGFubmVsTmFtZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjMuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRSZWVsQ2hhbm5lbEJhclZpZXdNb2RlbENoYW5uZWxOYW1ley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxDaGFubmVsTmFtZXttYXgtaGVpZ2h0OjMuNnJlbX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxSZWVsU3Vic2NyaWJlQnV0dG9ue2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxSZWVsU3BvbnNvckJ1dHRvbntkaXNwbGF5Om5vbmV9fS55dFByZWZlcnJlZExhbmd1YWdlU2V0dGluZ3NQYW5lbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRBbmltYXRlZEFzc2V0Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dEFuaW1hdGVkQXNzZXRWaWV3TW9kZWxGaWxse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2NvbG9yOiMwMzAzMDM7Ym9yZGVyLXJhZGl1czoxMnB4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxIb3N0e2JvcmRlcjoxcHggc29saWQgQnV0dG9uQm9yZGVyfX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE5hcnJvd3stbW96LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpzdGFydH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE5hcnJvdyAueXRBbGVydEJhbm5lclZpZXdNb2RlbE91dGVyQ29udGFpbmVyey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpub3JtYWw7YWxpZ24taXRlbXM6bm9ybWFsfS55dEFsZXJ0QmFubmVyVmlld01vZGVsTmFycm93IC55dEFsZXJ0QmFubmVyVmlld01vZGVsQWN0aW9uQnV0dG9ue21hcmdpbjowIDAgMTJweH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbEZ1bGxibGVlZHtib3JkZXItcmFkaXVzOjB9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxJbmZvcm1hdGlvbmFse2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbFRpbWVTZW5zaXRpdmV7YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmfS55dEFsZXJ0QmFubmVyVmlld01vZGVsV2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDg1LDExOSwwLjIpfS55dEFsZXJ0QmFubmVyVmlld01vZGVsRGlzbWlzc2Vke2Rpc3BsYXk6bm9uZX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE91dGVyQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE91dGVyQ29udGFpbmVyOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDoxMnB4fS55dEFsZXJ0QmFubmVyVmlld01vZGVsT3V0ZXJDb250YWluZXI6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0OjEycHh9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7cGFkZGluZzoxMnB4IDA7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dEFsZXJ0QmFubmVyVmlld01vZGVsSWNvbntwYWRkaW5nOjEycHh9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxDb250ZW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRBbGVydEJhbm5lclZpZXdNb2RlbEhlYWRpbmd7cGFkZGluZzowO21hcmdpbjowO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbEJvZHl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dEFsZXJ0QmFubmVyVmlld01vZGVsQWN0aW9uQnV0dG9ue21hcmdpbjo2cHggMCA2cHggMTJweH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbERpc21pc3NCdXR0b257bWFyZ2luOjZweH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbElzSW5SaWNoR3JpZHttYXJnaW4tYm90dG9tOjE2cHh9LmRpdmlkZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5kaXZpZGVyVmlld01vZGVsSW5zZXRUaGluUGFkZGluZ3twYWRkaW5nOjE2cHh9LmRpdmlkZXJWaWV3TW9kZWxCYXNlRGl2aWRlcntoZWlnaHQ6MXB4O3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9LmRpdmlkZXJWaWV3TW9kZWxCYXNlRGl2aWRlckZ1bGxCbGVlZDRweHtoZWlnaHQ6NHB4fS5kaXZpZGVyVmlld01vZGVsQmFzZURpdmlkZXJGdWxsQmxlZWQ4cHh7aGVpZ2h0OjhweH0uZGl2aWRlclZpZXdNb2RlbEJhc2VEaXZpZGVyRnVsbEJsZWVkMTJweHtoZWlnaHQ6MTJweH0uZGl2aWRlclZpZXdNb2RlbEJhc2VEaXZpZGVyRnVsbEJsZWVkVGhpY2t7aGVpZ2h0OjZweH0ueXRUaHVtYm5haWxCYWRnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRUaHVtYm5haWxWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjB9Lnl0VGh1bWJuYWlsVmlld01vZGVsQ2luZW1hdGlje2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRUaHVtYm5haWxWaWV3TW9kZWxBc3BlY3RSYXRpbzE2Qnk5e3BhZGRpbmctdG9wOjU2LjI1JX0ueXRUaHVtYm5haWxWaWV3TW9kZWxBc3BlY3RSYXRpbzJCeTN7cGFkZGluZy10b3A6MTUwJX0ueXRUaHVtYm5haWxWaWV3TW9kZWxTaG9ydHNBc3BlY3RSYXRpbzlCeTE2e3BhZGRpbmctdG9wOjE3OCV9Lnl0VGh1bWJuYWlsVmlld01vZGVsQXNwZWN0UmF0aW8xQnkxe3BhZGRpbmctdG9wOjEwMCV9Lnl0VGh1bWJuYWlsVmlld01vZGVsU21hbGx7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0VGh1bWJuYWlsVmlld01vZGVsTWVkaXVte2JvcmRlci1yYWRpdXM6OHB4fS55dFRodW1ibmFpbFZpZXdNb2RlbExhcmdle2JvcmRlci1yYWRpdXM6MTJweH0ueXRUaHVtYm5haWxWaWV3TW9kZWxJbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0b3A6NTAlO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dFRodW1ibmFpbFZpZXdNb2RlbEJsdXJyZWRJbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2hlaWdodDoyMDAlO2ZpbHRlcjpibHVyKDMwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yNSUpfS55dFRodW1ibmFpbFZpZXdNb2RlbEhpZ2hsaWdodEVmZmVjdHtib3gtc2hhZG93OjAgMCA3cHggMnB4ICMwZjBmMGY7b3V0bGluZTpzb2xpZCAxcHggI2ZmZn0ueXRUaHVtYm5haWxWaWV3TW9kZWxIb3N0QWREaXNjbG9zdXJlQmFubmVyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7bGVmdDo4cHg7ei1pbmRleDoxfS55dFBpbmtpbmdOc0hvc3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjB9Lnl0UGlua2luZ05zUGlua2luZ0xlZnR7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3dpZHRoOjRweDtoZWlnaHQ6MTAwJX0ueXRQaW5raW5nTnNQaW5raW5nUmlnaHR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt3aWR0aDo0cHg7aGVpZ2h0OjEwMCV9Lnl0UGlua2luZ05zUGlua2luZ3tmaWxsOiNmZmZ9Lnl0VGh1bWJuYWlsT3ZlcmxheUJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRUaHVtYm5haWxPdmVybGF5QnV0dG9uVmlld01vZGVsQnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlfS55dFRodW1ibmFpbE92ZXJsYXlCdXR0b25WaWV3TW9kZWxCdXR0b25Cb3R0b21FbmRQb3NpdGlvbntib3R0b206NHB4O3JpZ2h0OjRweH0ueXRUaHVtYm5haWxPdmVybGF5QnV0dG9uVmlld01vZGVsQnV0dG9uVG9wRW5kUG9zaXRpb257dG9wOjhweDtyaWdodDo4cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheUJ1dHRvblZpZXdNb2RlbEJ1dHRvbkxlZ2FjeUljb257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjhweDtyaWdodDo4cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RTbWFsbHttYXJnaW4tYm90dG9tOjJweH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0TWVkaXVte21hcmdpbi1ib3R0b206NHB4fS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RMYXJnZXttYXJnaW4tYm90dG9tOjhweH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0UHJvZ3Jlc3NCYXJ7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzttYXJnaW46MCA4cHggNHB4IDEycHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyU2VnbWVudHtmbGV4LXNocmluazowfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RQcm9ncmVzc0JhckFjdGl2ZVNlZ21lbnR7YmFja2dyb3VuZC1jb2xvcjojZmZmO2hlaWdodDo2cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFySW5hY3RpdmVTZWdtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoycHggMCAwIDJweDttYXJnaW4tcmlnaHQ6MnB4O21hcmdpbi1sZWZ0OjJweDttYXJnaW4tdG9wOjJweH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0UHJvZ3Jlc3NCYXJGaXhlZFRvQm90dG9te3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO21hcmdpbjowO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjF9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyRml4ZWRUb0JvdHRvbUFjdGl2ZVNlZ21lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7aGVpZ2h0OjZweDttYXJnaW4tdG9wOjB9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyRml4ZWRUb0JvdHRvbUluYWN0aXZlU2VnbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiM5MDkwOTA7Ym9yZGVyLXJhZGl1czowfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RQcm9ncmVzc0JhckxlZnRTZWdtZW50e2JvcmRlci1yYWRpdXM6MnB4IDAgMCAycHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyUmlnaHRTZWdtZW50e2JvcmRlci1yYWRpdXM6MCAycHggMnB4IDA7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0UHJvZ3Jlc3NCYXJDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmV9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFdhdGNoZWRQcm9ncmVzc0JhcntoZWlnaHQ6NHB4O21hcmdpbjowIDRweCA0cHggOHB4O2JhY2tncm91bmQtY29sb3I6IzkwOTA5MDt3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6MnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93OmhpZGRlbn0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0V2F0Y2hlZFByb2dyZXNzQmFyU2VnbWVudHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0VXNlTGVnYWN5QmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO21hcmdpbjowO2JvcmRlci1yYWRpdXM6MH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0TGFiZWx7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMwMzAzMDM7cGFkZGluZzowIDRweDtib3R0b206MTZweDtsZWZ0Oi0xMHB4O2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RMYWJlbFRyaWFuZ2xle3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMnB4O2xlZnQ6LTVweDtoZWlnaHQ6MDt3aWR0aDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkICNmZmZ9Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOjEycHggMTJweCAxNnB4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsTGVhZGluZ0NvbnRlbnR7bWFyZ2luLXJpZ2h0OjhweH0ueXRUaHVtYm5haWxPdmVybGF5VGl0bGVWaWV3TW9kZWxQb3NpdGlvblRvcHt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDAuNiksdHJhbnNwYXJlbnQpfS55dFRodW1ibmFpbE92ZXJsYXlUaXRsZVZpZXdNb2RlbFBvc2l0aW9uQm90dG9te2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LHJnYmEoMCwwLDAsMC42KSl9Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsVGl0bGV7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFRodW1ibmFpbE92ZXJsYXlUaXRsZVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsVGl0bGVNYXhMaW5lczJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRUaHVtYm5haWxPdmVybGF5VGl0bGVWaWV3TW9kZWxUaXRsZU1heExpbmVzMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dFRodW1ibmFpbE92ZXJsYXlUaXRsZVZpZXdNb2RlbFN1YnRpdGxle2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRUaHVtYm5haWxPdmVybGF5VGl0bGVWaWV3TW9kZWxTdWJ0aXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dFZvdGluZ1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0Vm90aW5nVmlld01vZGVsVm90ZUNvdW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjAgOHB4O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFZvdGluZ1ZpZXdNb2RlbFZvdGVDb3VudERpc2FibGVke2NvbG9yOiM5MDkwOTB9Lnl0ZEZlZWRGaWx0ZXJDaGlwUmVuYW1lRm9ybVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwYWRkaW5nOjE2cHggMjRweH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dExpbmVhckxheW91dFZpZXdNb2RlbFZlcnRpY2Fsey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxIb3Jpem9udGFsey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhEaXJlY3Rpb25Db2x1bW57LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhEaXJlY3Rpb25Db2x1bW5SZXZlcnNley1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246cmV2ZXJzZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxGbGV4RGlyZWN0aW9uUm93ey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhEaXJlY3Rpb25Sb3dSZXZlcnNley1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpyZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS55dExpbmVhckxheW91dFZpZXdNb2RlbEp1c3RpZnlDb250ZW50Q2VudGVyey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsSnVzdGlmeUNvbnRlbnRGbGV4RW5key1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxKdXN0aWZ5Q29udGVudFNwYWNlQXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmR9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsSnVzdGlmeUNvbnRlbnRCZXR3ZWVuey1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxKdXN0aWZ5Q29udGVudFNwYWNlRXZlbmx5ey1tb3otYm94LXBhY2s6c3BhY2UtZXZlbmx5O2p1c3RpZnktY29udGVudDpzcGFjZS1ldmVubHl9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsSnVzdGlmeUNvbnRlbnRGbGV4U3RhcnR7LW1vei1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxBbGlnbkl0ZW1zU3RhcnR7LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxBbGlnbkl0ZW1zRW5key1tb3otYm94LWFsaWduOmVuZDthbGlnbi1pdGVtczpmbGV4LWVuZH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxBbGlnbkl0ZW1zQ2VudGVyey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQWxpZ25JdGVtc0Jhc2VsaW5lRmlyc3R7LW1vei1ib3gtYWxpZ246Zmlyc3QgYmFzZWxpbmU7YWxpZ24taXRlbXM6Zmlyc3QgYmFzZWxpbmV9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQWxpZ25JdGVtc0Jhc2VsaW5lTGFzdHstbW96LWJveC1hbGlnbjpsYXN0IGJhc2VsaW5lO2FsaWduLWl0ZW1zOmxhc3QgYmFzZWxpbmV9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQWxpZ25JdGVtc1N0cmV0Y2h7LW1vei1ib3gtYWxpZ246c3RyZXRjaDthbGlnbi1pdGVtczpzdHJldGNofS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhXcmFwV3JhcHtmbGV4LXdyYXA6d3JhcH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxGbGV4V3JhcFdyYXBSZXZlcnNle2ZsZXgtd3JhcDp3cmFwLXJldmVyc2V9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsVGh1bWJuYWlsSXRlbXt3aWR0aDoxMDAlfS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbFRpdGxle21hcmdpbjowO21heC1oZWlnaHQ6dW5zZXR9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1zaHJpbms6MDtwYWRkaW5nOjI0cHggMjRweCA4cHh9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsSG9zdERpc2FibGVQYWRkaW5ne3BhZGRpbmc6MH0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxIb3N0Q2VudGVyZWR7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxCYW5uZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOjI0cHh9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsQmFubmVyRnVsbEJsZWVke21hcmdpbi1sZWZ0Oi0yNHB4O21hcmdpbi1yaWdodDotMjRweDttYXJnaW4tdG9wOi0yNHB4fS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbEJhbm5lckltYWdley1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsQ3VzdG9tQXNzZXRDb250YWluZXJ7bWFyZ2luOjJweCAwIDEycHggNnB4fS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbEN1c3RvbUFzc2V0Q29udGFpbmVyQ2VudGVyZWR7bWFyZ2luLWxlZnQ6MH0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxIZWFkZXJCbG9ja3stbW96LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLXNlbGY6c3RyZXRjaDtjb2xvcjojMDMwMzAzO21hcmdpbi1ib3R0b206MTZweH0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxIZWFkZXJCbG9ja0NlbnRlcmVke2FsaWduLXNlbGY6Y2VudGVyfS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbFRleHR7Y29sb3I6IzAzMDMwMzstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsVGV4dHttYXgtaGVpZ2h0OjUuNnJlbX0ueXRPdmVybGF5UG9sbFN0aWNrZXJIb3N0ey0tcHJpbWFyeS1zdXJmYWNlOiNmYWNhZGU7LS1yYWlzZWQtc3VyZmFjZTojZGUxZTdlOy0tc2Vjb25kYXJ5LXN1cmZhY2U6I2RlMWU3ZTstLXByaW1hcnktdGV4dDojMTAxY2E3Oy0tc2Vjb25kYXJ5LXRleHQ6IzAwNzstLW9yaWdpbmFsLXdpZHRoOjIyMDstLW9yaWdpbmFsLWhlaWdodDoyMDU7LS1zY2FsZWQtd2lkdGg6MjIwO2ZvbnQtc2l6ZTpjYWxjKHZhcigtLXN0aWNrZXItd2lkdGgpL3ZhcigtLW9yaWdpbmFsLXdpZHRoKSoxOHB4KTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47ZmxleC1zaHJpbms6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6MTAlO3BhZGRpbmc6MWVtIGNhbGModmFyKC0tb3JpZ2luYWwtaGVpZ2h0KS92YXIoLS1vcmlnaW5hbC13aWR0aCkqMWVtKTtwb2ludGVyLWV2ZW50czpub25lO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktc3VyZmFjZSk7Y29sb3I6dmFyKC0tcHJpbWFyeS10ZXh0KX0ueXRPdmVybGF5UG9sbFN0aWNrZXJRdWVzdGlvblRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFlbTtsaW5lLWhlaWdodDoxLjIyMjIyMjIyMjJlbTtmb250LXdlaWdodDo3MDB9Lnl0T3ZlcmxheVBvbGxTdGlja2VyUG9sbENob2ljZXt3aWR0aDoxMDAlfS55dE92ZXJsYXlQb2xsU3RpY2tlclZvdGVDb3VudHtmb250LWZhbWlseTpSb2JvdG8sc2Fucy1zZXJpZjtmb250LXNpemU6LjU1NTU1NTU1NTZlbTtsaW5lLWhlaWdodDoxZW07Zm9udC13ZWlnaHQ6NDAwfS55dE92ZXJsYXlQb2xsU3RpY2tlckRlYnVnU3R5bGV7b3BhY2l0eTouNztib3JkZXI6MXB4IHNvbGlkIHJlZH1AcHJvcGVydHkgLS1wb2xsLWNob2ljZS1wZXJjZW50YWdle3N5bnRheDoiPG51bWJlcj4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VIb3N0e2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOmNhbGModmFyKC0tc3RpY2tlci13aWR0aCkvdmFyKC0tb3JpZ2luYWwtd2lkdGgpKjE4cHgpOy0tZGlzcGxheWVkLXBlcmNlbnRhZ2U6MH0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VVbnN0eWxlUmFkaW9CdXR0b257LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO29wYWNpdHk6MDttYXJnaW46MDtwb2ludGVyLWV2ZW50czpub25lfS55dE92ZXJsYXlQb2xsU3RpY2tlckNob2ljZVBvbGxDaG9pY2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO2JvcmRlcjouMTExMTExMTExMWVtIHNvbGlkIHZhcigtLXJhaXNlZC1zdXJmYWNlKTtwYWRkaW5nOjAgLjMzMzMzMzMzMzNlbTtoZWlnaHQ6M2VtO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcmFpc2VkLXN1cmZhY2UpO2JvcmRlci1yYWRpdXM6LjVlbTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LXRleHQpO2ZvbnQtZmFtaWx5OlJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZTouNzc3Nzc3Nzc3OGVtO2ZvbnQtd2VpZ2h0OjUwMDtwb2ludGVyLWV2ZW50czphdXRvO3RyYW5zaXRpb246LS1wb2xsLWNob2ljZS1wZXJjZW50YWdlIC4yNXMgZWFzZS1pbi1vdXR9Lnl0T3ZlcmxheVBvbGxTdGlja2VyQ2hvaWNlU2hvd1ZvdGVQZXJjZW50YWdle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLXJhaXNlZC1zdXJmYWNlKSBjYWxjKHZhcigtLXBvbGwtY2hvaWNlLXBlcmNlbnRhZ2UsIDEwMCkqMSUpLHZhcigtLXByaW1hcnktc3VyZmFjZSkgY2FsYyh2YXIoLS1wb2xsLWNob2ljZS1wZXJjZW50YWdlLCAxMDApKjElKSk7LS1wb2xsLWNob2ljZS1wZXJjZW50YWdlOnZhcigtLWRpc3BsYXllZC1wZXJjZW50YWdlKX0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VQb2xsQ2hvaWNlU2VsZWN0ZWR7LS1wb2xsLWNob2ljZS1wZXJjZW50YWdlOnZhcigtLWRpc3BsYXllZC1wZXJjZW50YWdlKTtib3JkZXI6LjExMTExMTExMTFlbSBzb2xpZCB2YXIoLS1wcmltYXJ5LXRleHQpfS55dE92ZXJsYXlQb2xsU3RpY2tlckNob2ljZVBvbGxDaG9pY2VUZXh0ey1tb3otYm94LWZsZXg6NDtmbGV4OjQ7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDozZW07d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93OmhpZGRlbn0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VWb3RlUGVyY2VudGFnZXstbW96LWJveC1mbGV4OjE7ZmxleDoxO3RleHQtYWxpZ246cmlnaHR9Lnl0Y2lDb252ZXJzYXRpb25WaWRlb0lkZWFDYXJkVmlld01vZGVsSG9zdHtjb2xvcjojMDMwMzAzO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstLWljb24tY29sb3I6Y3VycmVudGNvbG9yfS55dGNpQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbENhcmR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MTZweH0ueXRjaUNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWxBY3Rpb25zQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nLXRvcDoyNHB4fS55dGNpQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbElkZWFBdHRyaWJ1dGlvbntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjA2MDYwO3BhZGRpbmctYm90dG9tOjMycHg7Zm9udC13ZWlnaHQ6NzAwfS55dGNpQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbElkZWFOYW1le2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuOHJlbTtsaW5lLWhlaWdodDoyLjZyZW07Zm9udC13ZWlnaHQ6NTAwO3BhZGRpbmctYm90dG9tOjhweH0ueXRjaUNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWxJZGVhU3VtbWFyeXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjA2MDYwO2ZvbnQtc2l6ZToxLjNyZW19Lnl0SW5zdGFsbG1lbnRBZ3JlZW1lbnRzVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoxMHB4IDEycHh9Lnl0SW5zdGFsbG1lbnRBZ3JlZW1lbnRzVmlld01vZGVsQWdyZWVtZW50Um93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTBweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEluc3RhbGxtZW50QWdyZWVtZW50c1ZpZXdNb2RlbEFncmVlbWVudExhYmVse2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwOy1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtYmFzaXM6MTAwJX0ueXRJbnN0YWxsbWVudEFncmVlbWVudHNWaWV3TW9kZWxBZ3JlZW1lbnRCdXR0b257LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRUaGVtZWRJbWFnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztjb2xvcjojMDMwMzAzfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tYm90dG9tOjJweDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlQ2VsbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxWaXN1YWxseUhpZGRlbkFjY2Vzc2liaWxpdHl7Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVDZWxsU3VidGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVDZWxsSW5mb1RleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NDAwO21hcmdpbi10b3A6LTRweH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlQ2VsbEZlYXR1cmVEZXNjcmlwdGlvbnttYXgtd2lkdGg6bm9uZTt0ZXh0LWFsaWduOmxlZnQ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO21hcmdpbi1sZWZ0OjhweH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlQ2VsbEljb257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojMDMwMzAzfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVDZWxsTm90ZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS42cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbFZpZXdNb2RlbENlbGxXcmFwcGVye2hlaWdodDoxMDAlOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXJnaW46YXV0b30ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbFZpZXdNb2RlbENlbGxXcmFwcGVySGVhZGVyQ2VsbHstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpzdGFydDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsVmlld01vZGVsQ2VsbFdyYXBwZXJDb250ZW50Q2VsbHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbFZpZXdNb2RlbENlbGxXcmFwcGVySGVhZGVyUm93Q2VsbHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS55dFVwc2VsbE9mZmVyVGFibGVSb3dWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjEwcHggMWZyO2dyaWQtZ2FwOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfUBtZWRpYSAobWF4LXdpZHRoOjU3MHB4KXsueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59fS55dFVwc2VsbE9mZmVyVGFibGVSb3dWaWV3TW9kZWxIb3N0Rmlyc3RSb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoyMTBweCAxZnI7Z3JpZC1nYXA6MH1AbWVkaWEgKG1heC13aWR0aDo1NzBweCl7Lnl0VXBzZWxsT2ZmZXJUYWJsZVJvd1ZpZXdNb2RlbEhvc3RGaXJzdFJvd3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59fS55dFVwc2VsbE9mZmVyVGFibGVSb3dWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlUm93SGVhZGVyQ2VsbHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6c3RhcnQ7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fUBtZWRpYSAobWF4LXdpZHRoOjU3MHB4KXsueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd0hlYWRlckNlbGx7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6bm9uZX19Lnl0VXBzZWxsT2ZmZXJUYWJsZVJvd1ZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVGaXJzdFJvd0NlbGx7cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjRweH0ueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd0NvbnRlbnRDZWxse2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fUBtZWRpYSAobWF4LXdpZHRoOjU3MHB4KXsueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd0NvbnRlbnRDZWxse2JvcmRlci10b3A6bm9uZX19Lnl0VXBzZWxsT2ZmZXJUYWJsZVJvd1ZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVSb3dDb250ZW50Q2VsbHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDk1cHgsMWZyKSk7Z3JpZC1nYXA6MH0ueXRVcHNlbGxPZmZlclRhYmxlVmlld01vZGVsSG9zdHt0ZXh0LWFsaWduOmNlbnRlcn0ueXRVcHNlbGxPZmZlclRhYmxlVmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd3N7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjUxMnB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwYWRkaW5nOjI0cHg7bWF4LXdpZHRoOjM3NXB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3ROb1BhZGRpbmd7cGFkZGluZzowO3BhZGRpbmctdG9wOjI0cHh9Lnl0VXBzZWxsVmlld01vZGVsSG9zdFdpZGV7bWF4LXdpZHRoOjUxMnB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMb2dve3dpZHRoOjEyNHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMb2dve2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzo2cHg7Ym9yZGVyLXJhZGl1czo0cHh9fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxUaXRsZXtwYWRkaW5nLXRvcDoyNHB4O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRVcHNlbGxWaWV3TW9kZWxIb3N0VXBzZWxsVGl0bGU6Zm9jdXMsLnl0VXBzZWxsVmlld01vZGVsSG9zdFVwc2VsbFRpdGxlOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxTdWJ0aXRsZVNlY3Rpb257cGFkZGluZzowfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxTdWJ0aXRsZVNlY3Rpb25TdWJ0aXRsZXtwYWRkaW5nLXRvcDo4cHg7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxWaWV3TW9kZWxIb3N0VXBzZWxsU3VidGl0bGVTZWN0aW9uU3VidGl0bGVTZWNvbmRhcnl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxCZW5lZml0SW5mb1NlY3Rpb257cGFkZGluZy10b3A6NHB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxCZW5lZml0SW5mb1NlY3Rpb25JY29ue2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXJpZ2h0OjE2cHh9Lnl0VXBzZWxsVmlld01vZGVsSG9zdFVwc2VsbEJlbmVmaXRJbmZvU2VjdGlvbkJlbmVmaXRJbmZve2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctdG9wOjEycHg7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxWaWV3TW9kZWxIb3N0VXBzZWxsT2ZmZXJUYWJsZVNlY3Rpb257cGFkZGluZy10b3A6NHB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMZWdhbEluZm9TZWN0aW9ue3BhZGRpbmctdG9wOjEycHh9Lnl0VXBzZWxsVmlld01vZGVsSG9zdFVwc2VsbExlZ2FsSW5mb1NlY3Rpb25MZWdhbEluZm97cGFkZGluZy10b3A6NHB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMZWdhbEluZm9TZWN0aW9uTGVnYWxJbmZvU21hbGxlcntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNnJlbTtmb250LXdlaWdodDo0MDB9Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsSG9zdHtwYWRkaW5nOjI0cHggMjRweCA4cHg7d2lkdGg6YXV0bztkaXNwbGF5OmJsb2NrfS55dE1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbFNjb3JlUmFkaWFse2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxNDhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTY29yZVJhZGlhbDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjtib3JkZXItcmFkaXVzOjMxcHg7bWFzay1pbWFnZTpyYWRpYWwtZ3JhZGllbnQocmdiKDAsMCwwKSAyMCUsdHJhbnNwYXJlbnQgNjAlKTtmaWx0ZXI6Ymx1cigycHgpO2JhY2tncm91bmQ6cmVwZWF0aW5nLWNvbmljLWdyYWRpZW50KGZyb20gMGRlZywjZjdkN2M1IDBkZWcgMTBkZWcsdHJhbnNwYXJlbnQgMTBkZWcgMjBkZWcpfS55dE1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbERhcmtTY29yZVJhZGlhbDpiZWZvcmV7YmFja2dyb3VuZDpyZXBlYXRpbmctY29uaWMtZ3JhZGllbnQoZnJvbSAwZGVnLCM0MjRmNWQgMGRlZyAxMGRlZyx0cmFuc3BhcmVudCAxMGRlZyAyMGRlZyl9Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMzt0ZXh0LWFsaWduOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjUuNnJlbX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO3BhZGRpbmc6OHB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTdWJ0aXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dE1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbFN1YnRpdGxle21heC1oZWlnaHQ6MnJlbX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTY29yZXtjb2xvcjojMDMwMzAzO21pbi13aWR0aDo4MnB4O3BhZGRpbmc6MCAxNnB4O2hlaWdodDo2MnB4O2JvcmRlci1yYWRpdXM6MzFweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpncmlkOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6My4ycmVtO2xpbmUtaGVpZ2h0OjQuNHJlbTtmb250LXdlaWdodDo5MDB9Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsUHJvbXB0e2NvbG9yOiM2MDYwNjA7cGFkZGluZy10b3A6OHB4O3RleHQtd3JhcDp3cmFwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUcnVuY2F0ZWRUZXh0SG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmF1dG87Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUcnVuY2F0ZWRUZXh0VHJ1bmNhdGVkVGV4dENvbnRlbnR7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0ueXRUcnVuY2F0ZWRUZXh0VHJ1bmNhdGVkVGV4dENvbnRlbnQueXRUcnVuY2F0ZWRUZXh0SGlkZGVuVGV4dENvbnRlbnR7dmlzaWJpbGl0eTpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0VHJ1bmNhdGVkVGV4dElubGluZUJ1dHRvbnt2aXNpYmlsaXR5OmhpZGRlbjtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRydW5jYXRlZFRleHRBYnNvbHV0ZUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtyaWdodDowO2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0VHJ1bmNhdGVkVGV4dEJvdHRvbUJ1dHRvbntmbG9hdDpyaWdodDtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRydW5jYXRlZFRleHRPdmVybGF5e2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRUcnVuY2F0ZWRUZXh0T3ZlcmxheSAueXRUcnVuY2F0ZWRUZXh0QWJzb2x1dGVCdXR0b24sLnl0VHJ1bmNhdGVkVGV4dE92ZXJsYXkgLnl0VHJ1bmNhdGVkVGV4dEJvdHRvbUJ1dHRvbiwueXRUcnVuY2F0ZWRUZXh0T3ZlcmxheSAueXRUcnVuY2F0ZWRUZXh0SW5saW5lQnV0dG9ue2NvbG9yOiNmZmZ9Lnl0VHJ1bmNhdGVkVGV4dEhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0VHJ1bmNhdGVkVGV4dE1lZGl1bVRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFRydW5jYXRlZFRleHRNZWRpdW1UZXh0IC55dFRydW5jYXRlZFRleHRBYnNvbHV0ZUJ1dHRvbiwueXRUcnVuY2F0ZWRUZXh0TWVkaXVtVGV4dCAueXRUcnVuY2F0ZWRUZXh0Qm90dG9tQnV0dG9uLC55dFRydW5jYXRlZFRleHRNZWRpdW1UZXh0IC55dFRydW5jYXRlZFRleHRJbmxpbmVCdXR0b257Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRydW5jYXRlZFRleHRMYXJnZVRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9Lnl0VHJ1bmNhdGVkVGV4dExhcmdlVGV4dCAueXRUcnVuY2F0ZWRUZXh0QWJzb2x1dGVCdXR0b24sLnl0VHJ1bmNhdGVkVGV4dExhcmdlVGV4dCAueXRUcnVuY2F0ZWRUZXh0Qm90dG9tQnV0dG9uLC55dFRydW5jYXRlZFRleHRMYXJnZVRleHQgLnl0VHJ1bmNhdGVkVGV4dElubGluZUJ1dHRvbntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRUcnVuY2F0ZWRUZXh0UHJpbWFyeVRleHR7Y29sb3I6IzAzMDMwM30ueXRUcnVuY2F0ZWRUZXh0UHJpbWFyeVRleHQgLnl0VHJ1bmNhdGVkVGV4dEFic29sdXRlQnV0dG9uLC55dFRydW5jYXRlZFRleHRQcmltYXJ5VGV4dCAueXRUcnVuY2F0ZWRUZXh0Qm90dG9tQnV0dG9uLC55dFRydW5jYXRlZFRleHRQcmltYXJ5VGV4dCAueXRUcnVuY2F0ZWRUZXh0SW5saW5lQnV0dG9ue2NvbG9yOiM2MDYwNjB9Lnl0RGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dERlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbENsaWNrYWJsZXtjdXJzb3I6cG9pbnRlcn0ueXREZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWxEZXNjcmlwdGlvbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmF1dG87Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXREZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWxEZXNjcmlwdGlvbk1lZGl1bVRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dERlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbElzT3ZlcmxheSAueXREZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWxEZXNjcmlwdGlvbntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0QmFzaWNDb250ZW50Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrO3doaXRlLXNwYWNlOnByZS1saW5lO3dvcmQtYnJlYWs6YnJlYWstd29yZH0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxIZWFkbGluZXtjb2xvcjojMDMwMzAzO21hcmdpbi1ib3R0b206MTJweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0QmFzaWNDb250ZW50Vmlld01vZGVsSGVhZGxpbmV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxIZWFkbGluZXttYXgtaGVpZ2h0OjUuNnJlbX0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhIZWFkbGluZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhIZWFkbGluZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaEhlYWRsaW5le21heC1oZWlnaHQ6NS4ycmVtO2NvbG9yOiMwMzAzMDM7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0QmFzaWNDb250ZW50Vmlld01vZGVsUGFyYWdyYXBoOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWJvdHRvbToxMnB4fS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaENvbnRlbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhBc3NldHtkaXNwbGF5OmJsb2NrO21hcmdpbi1yaWdodDoxMnB4fS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaFRleHR7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhUZXh0UHJpbWFyeXtjb2xvcjojMDMwMzAzfS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaFRleHRCb2xke2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRDaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWxIb3N0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtib3R0b206MDtyaWdodDowO292ZXJmbG93OmhpZGRlbn0ueXRDaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWxCYWNrZ3JvdW5kSW1hZ2V7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MjAwJTttYXgtd2lkdGg6MjAwJTtoZWlnaHQ6YXV0bzt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjUlKSB0cmFuc2xhdGVZKC0yNSUpO29wYWNpdHk6Ljc7ZmlsdGVyOmJsdXIoMzBweCl9Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsQmFja2dyb3VuZEdyYWRpZW50e3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsRmFkZVRvVGhlbWVDb250YWluZXJ7aGVpZ2h0OjEwMCV9QG1lZGlhIChtaW4td2lkdGg6ODQwcHgpey55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH19Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsRmFkZVRvVGhlbWVJbWFnZXtvcGFjaXR5Oi44O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRDaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWxGYWRlVG9UaGVtZUltYWdle2Rpc3BsYXk6bm9uZX19Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsRmFkZVRvVGhlbWVJbWFnZUNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTtyaWdodDphdXRvO2hlaWdodDoxMDAlO21pbi13aWR0aDo1MCV9QG1lZGlhIChtaW4td2lkdGg6ODQwcHgpey55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lSW1hZ2VDb250YWluZXJ7cmlnaHQ6LTgwcHh9fS55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lSW1hZ2VHcmFkdWFsQmx1cntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czpub25lfS55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lR3JhZGllbnR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjB9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS55dENvbGxlY3Rpb25UaHVtYm5haWxWaWV3TW9kZWxIb3N0SGFzU3RhY2tze2JvcmRlci10b3A6MXB4IHNvbGlkICNmZmY7bWFyZ2luLXRvcDotMXB4fS55dENvbGxlY3Rpb25UaHVtYm5haWxWaWV3TW9kZWxTbGlkZXNob3d7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjB9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFNsaWRlc2hvd0hvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRDb2xsZWN0aW9uVGh1bWJuYWlsU2xpZGVzaG93U2xpZGVzaG93VGh1bWJuYWlse3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjhzIGVhc2V9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFNsaWRlc2hvd1NsaWRlc2hvd1RodW1ibmFpbEZpcnN0U2xpZGV7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFNsaWRlc2hvd1NsaWRlc2hvd1RodW1ibmFpbFNob3dTbGlkZXtvcGFjaXR5OjF9Lnl0RG93bmxvYWRCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0RG93bmxvYWRCdXR0b25WaWV3TW9kZWxIb3N0IHBhdGgub2ZmbGluZS1kb3dubG9hZGluZy1wcm9ncmVzc3tzdHJva2U6IzNlYTZmZn0ueXREb3dubG9hZEJ1dHRvblZpZXdNb2RlbEhvc3QgcGF0aC5vZmZsaW5lLWRvd25sb2FkaW5nLWJhY2tncm91bmR7c3Ryb2tlOiMwNjVmZDR9Lnl0RG93bmxvYWRCdXR0b25WaWV3TW9kZWxJc0hpZGRlbntkaXNwbGF5Om5vbmV9Lnl0Rm9ybUZvb3RlclZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxIb3N0e3dpZHRoOjEwMCV9Lnl0UmFkaW9CdXR0b25JdGVtVmlld01vZGVsTGFiZWx7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dFJhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbERpc2FibGVkIC55dFJhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbExhYmVse2NvbG9yOiM2MDYwNjB9Lnl0UmFkaW9CdXR0b25JdGVtVmlld01vZGVsU3ViVGV4dCwueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7ZGlzcGxheTpibG9jaztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxTdWJUaXRsZXttYXJnaW4tYm90dG9tOjhweH0ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxUcmFpbGluZ0FjY2Vzc29yeXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxUcmFpbGluZ0NvbnRhaW5lcnstbW96LW1hcmdpbi1zdGFydDo4cHg7bWFyZ2luLWlubGluZS1zdGFydDo4cHg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRTZWxlY3Rpb25MaXN0SXRlbUZvcm1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0U2VsZWN0aW9uTGlzdEl0ZW1Gb3JtVmlld01vZGVsUGFyYWdyYXBoe21hcmdpbi1ib3R0b206MTJweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0U3VibWl0QnV0dG9uVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dEF0dHJpYnV0aW9uVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi13aWR0aDowfS55dEF0dHJpYnV0aW9uVmlld01vZGVsQXR0cmlidXRpb25UZXh0e2JhY2tncm91bmQtY29sb3I6dW5zZXQ7Ym9yZGVyLXN0eWxlOnVuc2V0O2ZsZXgtc2hyaW5rOjE7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LWhlaWdodDoxLjhyZW19Lnl0QXR0cmlidXRpb25WaWV3TW9kZWxTdWZmaXh7bWFyZ2luLWxlZnQ6NHB4O2JhY2tncm91bmQtY29sb3I6dW5zZXQ7Ym9yZGVyLXN0eWxlOnVuc2V0O2ZsZXgtc2hyaW5rOjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LWhlaWdodDoxLjhyZW19Lnl0QXR0cmlidXRpb25WaWV3TW9kZWxBdHRyaWJ1dGlvbkltYWdle21hcmdpbi1yaWdodDo4cHg7LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZX0ueXRBdHRyaWJ1dGlvblZpZXdNb2RlbEJhZGdle21hcmdpbi1yaWdodDo0cHg7LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZX0ueXRBdHRyaWJ1dGlvblZpZXdNb2RlbFRhcHBhYmxle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOm5vbmU7cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO2NvbG9yOmluaGVyaXQ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4td2lkdGg6MH0ueXRBdHRyaWJ1dGlvblZpZXdNb2RlbE1lZGl1bVRleHQgLnl0QXR0cmlidXRpb25WaWV3TW9kZWxBdHRyaWJ1dGlvblRleHQsLnl0QXR0cmlidXRpb25WaWV3TW9kZWxNZWRpdW1UZXh0IC55dEF0dHJpYnV0aW9uVmlld01vZGVsQmFkZ2UsLnl0QXR0cmlidXRpb25WaWV3TW9kZWxNZWRpdW1UZXh0IC55dEF0dHJpYnV0aW9uVmlld01vZGVsU3VmZml4e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtaGVpZ2h0OjJyZW19Lnl0QXR0cmlidXRpb25WaWV3TW9kZWxIZWF2eVRleHQgLnl0QXR0cmlidXRpb25WaWV3TW9kZWxBdHRyaWJ1dGlvblRleHQsLnl0QXR0cmlidXRpb25WaWV3TW9kZWxIZWF2eVRleHQgLnl0QXR0cmlidXRpb25WaWV3TW9kZWxCYWRnZSwueXRBdHRyaWJ1dGlvblZpZXdNb2RlbEhlYXZ5VGV4dCAueXRBdHRyaWJ1dGlvblZpZXdNb2RlbFN1ZmZpeHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7bWluLXdpZHRoOjA7LS15dC1hdHRyaWJ1dGVkLXN0cmluZy1saW5rLWhvdmVyLWNvbG9yOiMwMzAzMDN9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIb3N0Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodHtwb3NpdGlvbjpzdGF0aWN9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIZWFkaW5nUmVzZXR7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO21heC1oZWlnaHQ6dW5zZXR9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUZXh0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcnttYXJnaW4tcmlnaHQ6MTJweDtkaXNwbGF5Om5vbmV9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxVcGRhdGVkQXZhdGFyTWFyZ2lue21hcmdpbi1yaWdodDo4cHh9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXt0ZXh0LWRlY29yYXRpb246bm9uZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7Y29sb3I6IzAzMDMwM30ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEhhc01lbnVCdXR0b24gLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtwYWRkaW5nLXJpZ2h0OjI0cHh9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YXtjb2xvcjojNjA2MDYwfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTZweDtyaWdodDotMTBweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF0dHJpYnV0aW9ue21hcmdpbi10b3A6MnB4O2NvbG9yOiM2MDYwNjB9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcntkaXNwbGF5OmJsb2NrfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbi55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQm90dG9tUmlnaHR7dG9wOnVuc2V0O3JpZ2h0OjA7Ym90dG9tOjA7dHJhbnNmb3JtOm5vbmU7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b24ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEJvdHRvbVJpZ2h0e3RyYW5zaXRpb246b3BhY2l0eSAuMnN9fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbi55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmlzaWJsZXtvcGFjaXR5OjF9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZW51QnV0dG9uOmZvY3VzLXdpdGhpbntvcGFjaXR5OjF9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDYXJke21hcmdpbjo0cHggMH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFZlcnRpY2FsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZHstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7cGFkZGluZy1yaWdodDowfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGV4dENvbnRhaW5lcnstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQXR0cmlidXRpb257bWFyZ2luLXRvcDoxMnB4fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENhcmR7bWFyZ2luOjAgOHB4IDhweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE92ZXJsYXl7LS15dC1hdHRyaWJ1dGVkLXN0cmluZy1saW5rLWhvdmVyLWNvbG9yOiNmZmZ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxPdmVybGF5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGEsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxPdmVybGF5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7Y29sb3I6I2ZmZn0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXl7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENhcmR7bWFyZ2luOjRweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxBdmF0YXJ7bWFyZ2luLXJpZ2h0OjhweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YSwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtwYWRkaW5nLXJpZ2h0OjhweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUZXh0Q29udGFpbmVyey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZW51QnV0dG9ue3Bvc2l0aW9uOnVuc2V0fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsSG9yaXpvbnRhbCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcntkaXNwbGF5Om5vbmV9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRleHRDb250YWluZXJ7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLXJpZ2h0OjI4cHh9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle3BhZGRpbmctcmlnaHQ6MH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEhvcml6b250YWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbnt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUeXBvZ3JhcGh5QnVtcCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjUuMnJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxMZWdhY3lUeXBvZ3JhcGh5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NS4ycmVtfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsUmljaEdyaWRMZWdhY3lUeXBvZ3JhcGh5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczEgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZU1heExpbmVzMSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczEgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjIuMnJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZU1heExpbmVzMyAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Ni42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxlTWF4TGluZXMzIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjM7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZU1heExpbmVzMyAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6Ni42cmVtfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDb21wYWN0IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENvbXBhY3QgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjRyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDb21wYWN0Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUeXBvZ3JhcGh5QnVtcCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENvbXBhY3QueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsUmljaEdyaWRMZWdhY3lUeXBvZ3JhcGh5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENvbXBhY3QueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NC40cmVtfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczMgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo2cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczMgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0Om5vbmV9fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczMgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjZyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaW55IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDozLjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaW55IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpbnkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjMuNnJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkQ29sdW1uey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZENvbHVtbiAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcnttYXJnaW4tcmlnaHQ6MDtkaXNwbGF5OmJsb2NrfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ2VudGVyZWRDb2x1bW4gLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YSwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkQ29sdW1uIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7cGFkZGluZy1yaWdodDowfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ2VudGVyZWRDb2x1bW4gLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUZXh0Q29udGFpbmVyey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZENvbHVtbiAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRleHRDb250YWluZXIsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle3BhZGRpbmctcmlnaHQ6MH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1vdmVMb2NrdXBPdmVyZmxvd01lbnVUb0JvdHRvbVJpZ2h0IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbnt6LWluZGV4OjE7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b246YWZ0ZXIsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b246YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6LTE1JTtib3JkZXItcmFkaXVzOjUwJX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1vdmVMb2NrdXBPdmVyZmxvd01lbnVUb0JvdHRvbVJpZ2h0IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbjpiZWZvcmV7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCNmZmYgNjAlLHRyYW5zcGFyZW50IDEwMCUpO3otaW5kZXg6LTJ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b246YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHZhcigtLXl0LWxvY2t1cC1tZXRhZGF0YS10aGVtZWQtbWVudS1idXR0b24tYWRkaXRpdmUtYmFja2dyb3VuZCx0cmFuc3BhcmVudCkgNjAlLHRyYW5zcGFyZW50IDEwMCUpO3otaW5kZXg6LTF9Lnl0Rm9ybVBhbmVsRm9vdGVyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dERpYWxvZ0ltYWdlQ29udGVudFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dERpYWxvZ0ltYWdlQ29udGVudFZpZXdNb2RlbEltYWdle21hcmdpbi1pbmxpbmU6YXV0bzstbW96LWJveC1mbGV4OjA7ZmxleC1ncm93OjA7ZmxleC1zaHJpbms6MX0ueXREaWFsb2dJbWFnZUNvbnRlbnRWaWV3TW9kZWxEZXNjcmlwdGlvbnttYXJnaW4tdG9wOjE2cHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC13cmFwOmJhbGFuY2U7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dEFuaW1hdGVkVGh1bWJuYWlsT3ZlcmxheVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MH0ueXRUaHVtYm5haWxCb3R0b21PdmVybGF5Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxIb3N0QmFja2dyb3VuZHstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZsZXgtYmFzaXM6MC4wMDAwMDAwMDFweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7aGVpZ2h0OjY4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQscmdiYSgwLDAsMCwwLjYpKX0ueXRUaHVtYm5haWxCb3R0b21PdmVybGF5Vmlld01vZGVsQmFkZ2VDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0VGh1bWJuYWlsQm90dG9tT3ZlcmxheVZpZXdNb2RlbEJhZGdlQ29udGFpbmVyU21hbGx7cGFkZGluZzowIDJweCAycHggMH0ueXRUaHVtYm5haWxCb3R0b21PdmVybGF5Vmlld01vZGVsQmFkZ2VDb250YWluZXJTbWFsbExlZ2FjeXtwYWRkaW5nOjAgMnB4IDRweCAwfS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxCYWRnZUNvbnRhaW5lck1lZGl1bXtwYWRkaW5nOjAgNHB4IDRweCAwfS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxCYWRnZUNvbnRhaW5lckxhcmdle3BhZGRpbmc6MCA4cHggOHB4IDB9Lnl0VGh1bWJuYWlsQm90dG9tT3ZlcmxheVZpZXdNb2RlbEJhZGdlQ29udGFpbmVyQ2xpcHttYXJnaW4tcmlnaHQ6NHB4fS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxCYWRnZXttYXJnaW4tbGVmdDo0cHh9Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5Vmlld01vZGVsSG9zdHtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtjdXJzb3I6cG9pbnRlcn0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlWaWV3TW9kZWxIb3N0OmZvY3VzLC55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbEhvc3Q6Zm9jdXMtd2l0aGluLC55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbEhvc3Q6aG92ZXJ7b3BhY2l0eToxfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbEhvc3RGb3JjZUhvdmVye29wYWNpdHk6MTt0cmFuc2l0aW9uOm5vbmV9Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5Vmlld01vZGVsU2NyaW17ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MTAwJX0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlWaWV3TW9kZWxTdHlsZUNvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbFN0eWxlQnV0dG9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxNnB4O3JpZ2h0OjE2cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweDtwYWRkaW5nOjAgMTZweH0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlWaWV3TW9kZWxUZXh0e21hcmdpbjo0cHg7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5Vmlld01vZGVsSWNvbnttYXJnaW46NHB4O2NvbG9yOiNmZmY7ZmlsbDojZmZmO2hlaWdodDoyNHB4fS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RvcDowO3JpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyMDA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowIDAgNHB4IDRweDtwb2ludGVyLWV2ZW50czpub25lfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxIaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5VG9nZ2xlQWN0aW9uc1ZpZXdNb2RlbEhpZGRlbkdhdGVke29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxCdXR0b257cGFkZGluZzo0cHggNHB4IDAgMDtwb2ludGVyLWV2ZW50czphdXRvfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxPdmVybGF5QmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlUb2dnbGVBY3Rpb25zVmlld01vZGVsVG9wRW5kVmVydGljYWx7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmZsZXgtZW5kfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxCb3R0b21FbmRWZXJ0aWNhbHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kOy1tb3otYm94LWFsaWduOmVuZDthbGlnbi1pdGVtczpmbGV4LWVuZH0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlUb2dnbGVBY3Rpb25zVmlld01vZGVsVG9wRW5kSG9yaXpvbnRhbHstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3Bvc2l0aW9uOmFic29sdXRlfS55dFRodW1ibmFpbE92ZXJsYXlCYWRnZVZpZXdNb2RlbFNtYWxse21hcmdpbjoycHh9Lnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsTWVkaXVte21hcmdpbjo0cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsTGFyZ2V7bWFyZ2luOjhweH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxUb3BTdGFydHt0b3A6MDtsZWZ0OjB9Lnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsVG9wU3RhcnQgLnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsQmFkZ2V7bWFyZ2luLXJpZ2h0OjRweH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxCb3R0b21FbmR7Ym90dG9tOjA7cmlnaHQ6MH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxCb3R0b21FbmQgLnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsQmFkZ2V7bWFyZ2luLWxlZnQ6NHB4fS55dFRodW1ibmFpbE92ZXJsYXlCYWRnZVZpZXdNb2RlbENsaXAueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxCb3R0b21FbmQgLnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsQmFkZ2U6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6NHB4fS55dFRodW1ibmFpbE92ZXJsYXlGdWxsVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFRodW1ibmFpbE92ZXJsYXlGdWxsVmlld01vZGVsVGV4dHttYXJnaW46NHB4O2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFRodW1ibmFpbE92ZXJsYXlGdWxsVmlld01vZGVsSWNvbnttYXJnaW46NHB4O2NvbG9yOiNmZmY7ZmlsbDojZmZmO2hlaWdodDoyNHB4fS55dENvbnRlbnRQcmV2aWV3SW1hZ2VWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRDb250ZW50UHJldmlld0ltYWdlVmlld01vZGVsQ2lyY2xlSW1hZ2V7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0Q29udGVudFByZXZpZXdJbWFnZVZpZXdNb2RlbEV4dHJhU21hbGxSb3VuZGVkSW1hZ2V7Ym9yZGVyLXJhZGl1czoycHh9Lnl0Q29udGVudFByZXZpZXdJbWFnZVZpZXdNb2RlbFNtYWxsUm91bmRlZEltYWdle2JvcmRlci1yYWRpdXM6NHB4fS55dENvbnRlbnRQcmV2aWV3SW1hZ2VWaWV3TW9kZWxMYXJnZVJvdW5kZWRJbWFnZXtib3JkZXItcmFkaXVzOjhweH0ueXRDb250ZW50UHJldmlld0ltYWdlVmlld01vZGVsVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0SW5saW5lRXhwYW5kZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7Y3Vyc29yOnBvaW50ZXJ9Lnl0SW5saW5lRXhwYW5kZXJWaWV3TW9kZWxIZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0SW5saW5lRXhwYW5kZXJWaWV3TW9kZWxCdXR0b257dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJ1dHRvbkV4cGFuZGVke3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJ1dHRvbkNvbnRyb2xsZWR7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJvZHl7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtcm93czowZnI7dHJhbnNpdGlvbjpncmlkLXRlbXBsYXRlLXJvd3MgLjM1cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJvZHlFeHBhbmRlZHtncmlkLXRlbXBsYXRlLXJvd3M6MWZyfS55dElubGluZUV4cGFuZGVyVmlld01vZGVsQm9keUNvbnRlbnR7b3ZlcmZsb3c6aGlkZGVufS55dFNoZWxmSGVhZGVyTGF5b3V0SG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleDoxOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzo4cHggMTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0U2hlbGZIZWFkZXJMYXlvdXRPcHRpb25hbE1lZGl1bUxheW91dFBhZGRpbmd7cGFkZGluZzowIDAgMTZweCA4cHh9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRPcHRpb25hbE1lZGl1bUxheW91dFBhZGRpbmd7cGFkZGluZzo4cHggMTJweH19Lnl0U2hlbGZIZWFkZXJMYXlvdXRIZWFkZXJSb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFNoZWxmSGVhZGVyTGF5b3V0UmVzcG9uc2l2ZXttaW4taGVpZ2h0OjU2cHh9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRSZXNwb25zaXZle21pbi1oZWlnaHQ6NDhweH19Lnl0U2hlbGZIZWFkZXJMYXlvdXROYXJyb3d7bWluLWhlaWdodDo0OHB4fS55dFNoZWxmSGVhZGVyTGF5b3V0RGlzYWJsZUhvcml6b250YWxQYWRkaW5ne3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0ueXRTaGVsZkhlYWRlckxheW91dERpc2FibGVWZXJ0aWNhbFBhZGRpbmd7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowfS55dFNoZWxmSGVhZGVyTGF5b3V0TGVhZGluZ0ljb257bWFyZ2luLXJpZ2h0OjI0cHg7Y29sb3I6IzAzMDMwMztoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFNoZWxmSGVhZGVyTGF5b3V0TGVhZGluZ0ltYWdle21hcmdpbi1yaWdodDoxMnB4O21heC1oZWlnaHQ6MzZweDttYXgtd2lkdGg6MzZweDtjb2xvcjojMDMwMzAzfS55dFNoZWxmSGVhZGVyTGF5b3V0TGVhZGluZ0ltYWdlQ2lyY3VsYXJJbWFnZXtib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lnl0U2hlbGZIZWFkZXJMYXlvdXRMYWJlbENvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleDoxOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRTaGVsZkhlYWRlckxheW91dFRpdGxlUm93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmJhc2VsaW5lO2FsaWduLWl0ZW1zOmJhc2VsaW5lfS55dFNoZWxmSGVhZGVyTGF5b3V0VGl0bGV7Y29sb3I6IzAzMDMwMztwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NS42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0VGl0bGVUeXBvZ3JhcGh5ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX19Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7bWF4LWhlaWdodDo1LjZyZW19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7bWF4LWhlaWdodDo1LjJyZW19fS55dFNoZWxmSGVhZGVyTGF5b3V0U21hbGxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTaGVsZkhlYWRlckxheW91dFNtYWxsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRTaGVsZkhlYWRlckxheW91dFNtYWxsVGl0bGV7bWF4LWhlaWdodDo1LjJyZW19Lnl0U2hlbGZIZWFkZXJMYXlvdXREZXRhaWx7bWFyZ2luLWxlZnQ6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi4ycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0RGV0YWlsey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hlbGZIZWFkZXJMYXlvdXREZXRhaWx7bWF4LWhlaWdodDoyLjJyZW19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXREZXRhaWx7ZGlzcGxheTpub25lfX0ueXRTaGVsZkhlYWRlckxheW91dFN1YmxhYmVse2NvbG9yOiM2MDYwNjA7cGFkZGluZy10b3A6MnB4fS55dFNoZWxmSGVhZGVyTGF5b3V0U3VibGFiZWxUeXBvZ3JhcGh5e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6My42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0U3VibGFiZWxUeXBvZ3JhcGh5ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hlbGZIZWFkZXJMYXlvdXRTdWJsYWJlbFR5cG9ncmFwaHl7bWF4LWhlaWdodDozLjZyZW19Lnl0U2hlbGZIZWFkZXJMYXlvdXRTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7cGFkZGluZy1ib3R0b206MnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6My42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0U3VwZXJsYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dFNoZWxmSGVhZGVyTGF5b3V0U3VwZXJsYWJlbHttYXgtaGVpZ2h0OjMuNnJlbX0ueXRTaGVsZkhlYWRlckxheW91dFRyYWlsaW5nQWN0aW9uc3ttYXJnaW4tbGVmdDoxMnB4fS55dFNoZWxmSGVhZGVyTGF5b3V0SXNPdmVybGF5e2NvbG9yOmluaGVyaXR9Lnl0U2hlbGZIZWFkZXJMYXlvdXRJc092ZXJsYXkgLnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZXtjb2xvcjojZmZmfS55dFNoZWxmSGVhZGVyTGF5b3V0SXNPdmVybGF5IC55dFNoZWxmSGVhZGVyTGF5b3V0U3VibGFiZWx7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dFNoZWxmSGVhZGVyTGF5b3V0VGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0U2hlbGZIZWFkZXJMYXlvdXRIb3ZlcmFibGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dFNoZWxmSGVhZGVyTGF5b3V0Qm90dG9tQWNjZXNzb3J5e21hcmdpbi10b3A6OHB4fS55dE1hcnF1ZWVTY3JvbGx7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dE1hcnF1ZWVTY3JvbGxIb3N0e2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS55dE1hcnF1ZWVTY3JvbGxBbmltYXRpb25FbmFibGVke2FuaW1hdGlvbjpzY3JvbGxpbmctcGFyZW50IDE2cyBsaW5lYXIgM3MgaW5maW5pdGU7YW5pbWF0aW9uLWZpbGwtbW9kZTpiYWNrd2FyZHM7YW5pbWF0aW9uLW5hbWU6c2Nyb2xsaW5nLXBhcmVudH0ueXRNYXJxdWVlU2Nyb2xsSW5uZXJDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTppbmxpbmUtZmxleH1Aa2V5ZnJhbWVzIHNjcm9sbGluZy1wYXJlbnR7dG97dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tbWFycXVlZS10cmFuc2xhdGUsMCkpfX0ueXRNYXJxdWVlU2Nyb2xsRHVwbGljYXRlU3RyaW5nLC55dE1hcnF1ZWVTY3JvbGxQcmltYXJ5U3RyaW5ne2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRNYXJxdWVlU2Nyb2xsSG9zdExhcmdlIC55dE1hcnF1ZWVTY3JvbGxEdXBsaWNhdGVTdHJpbmcsLnl0TWFycXVlZVNjcm9sbEhvc3RMYXJnZSAueXRNYXJxdWVlU2Nyb2xsUHJpbWFyeVN0cmluZ3tmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja31AbWVkaWEgKG1heC13aWR0aDoyOTkuOXB4KXsueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpub25lfX0ueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0UmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWxJY29ue21hcmdpbi1yaWdodDo0cHg7Y29sb3I6dmFyKC0tcmVlbC1tZXRhZGF0YS1jb2xvciwjZmZmKTtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsTWFycXVlZUNvbnRhaW5lcntjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpO292ZXJmbG93OmhpZGRlbjstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbEhvc3RMYXJnZXtkaXNwbGF5OmJsb2NrfS55dFJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsSG9zdExhcmdlIC55dFJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsSWNvbnt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0U21hcnRJbWF0aW9uc0NvbnRlbnR7ZGlzcGxheTpibG9ja30ueXRTbWFydEltYXRpb25zRXhwZXJpbWVudEVuYWJsZWR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9ja30ueXRTbWFydEltYXRpb25zRXhwZXJpbWVudEVuYWJsZWQgLnl0U21hcnRJbWF0aW9uc0NvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2JvcmRlci1yYWRpdXM6MThweH0ueXRTbWFydEltYXRpb25zQm9yZGVye3otaW5kZXg6MTtib3JkZXItcmFkaXVzOjIycHg7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO3RvcDotM3B4O2xlZnQ6LTNweDtib3R0b206LTNweDtyaWdodDotM3B4fS55dFNtYXJ0SW1hdGlvbnNCb3JkZXJHcmFkaWVudHtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlfS55dFNtYXJ0SW1hdGlvbnNBY3RpdmVCb3JkZXIgLnl0U21hcnRJbWF0aW9uc0JvcmRlckdyYWRpZW50e29wYWNpdHk6MX0ueXRTbWFydEltYXRpb25zQWN0aXZlQmFja2dyb3VuZCAueXRTbWFydEltYXRpb25zQ29udGVudHtiYWNrZ3JvdW5kOiNmZmZ9Lnl0U21hcnRJbWF0aW9uc0VuYWJsZU1hc2tpbmcgLnl0U21hcnRJbWF0aW9uc0JvcmRlcntwYWRkaW5nOjNweDstd2Via2l0LW1hc2s6bGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKSBjb250ZW50LWJveCxsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApO21hc2stY29tcG9zaXRlOmV4Y2x1ZGV9Lnl0U21hcnRJbWF0aW9uc0VuYWJsZU1hc2tpbmcgLnl0U21hcnRJbWF0aW9uc0JvcmRlckdyYWRpZW50e3dpZHRoOmNhbGMoMTAwJSArIDEycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTNweCwtM3B4KX0ueXRTbWFydEltYXRpb25zRW5hYmxlTWFza2luZyAueXRTbWFydEltYXRpb25zQ29udGVudHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dFNtYXJ0SW1hdGlvbnNJbnZpc2libGUgLnl0U21hcnRJbWF0aW9uc0JvcmRlciwueXRTbWFydEltYXRpb25zSW52aXNpYmxlIC55dFNtYXJ0SW1hdGlvbnNCb3JkZXJHcmFkaWVudHtvcGFjaXR5Oi4wMDF9Lnl0RGlzbGlrZUJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRMaWtlQnV0dG9uVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFN3aXRjaEJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTd2l0Y2hCdXR0b25WaWV3TW9kZWxCdXR0b257cGFkZGluZzowO2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtmb250OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0U3dpdGNoQnV0dG9uVmlld01vZGVsVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0U3dpdGNoU2hhcGVIb3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjQwcHg7aGVpZ2h0OjI0cHg7ZmxleC1zaHJpbms6MH0ueXRTd2l0Y2hTaGFwZVRyYWNre3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjQwcHg7aGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6IzkwOTA5MDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1c30ueXRTd2l0Y2hTaGFwZVRyYWNrQWN0aXZle2JhY2tncm91bmQtY29sb3I6IzBmMGYwZjt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1c30ueXRTd2l0Y2hTaGFwZVRyYWNrRGlzYWJsZWR7b3BhY2l0eTouM30ueXRTd2l0Y2hTaGFwZUtub2J7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojZmZmO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7dG9wOjJweDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXN9Lnl0U3dpdGNoU2hhcGVLbm9iQWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDE4cHgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXN9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3dpdGNoU2hhcGVUcmFja3tvdXRsaW5lOjFweCBzb2xpZCAjOTA5MDkwfS55dFN3aXRjaFNoYXBlVHJhY2tBY3RpdmV7b3V0bGluZToycHggc29saWQgIzAzMDMwMztiYWNrZ3JvdW5kLWNvbG9yOkJ1dHRvblRleHR9Lnl0U3dpdGNoU2hhcGVLbm9ie291dGxpbmU6MXB4IHNvbGlkICMwMzAzMDN9fS55dFNwZWNBdmF0YXJTaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOm5vbmV9Lnl0U3BlY0F2YXRhclNoYXBlVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uVGlueXt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJ1dHRvbkV4dHJhU21hbGx7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b25TbWFsbHt3aWR0aDozMnB4O2hlaWdodDozMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJ1dHRvbk1lZGl1bXt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJ1dHRvbjQ4e3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uTGFyZ2V7d2lkdGg6NTZweDtoZWlnaHQ6NTZweH0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b25FeHRyYUxhcmdle3dpZHRoOjcycHg7aGVpZ2h0OjcycHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uRXh0cmFFeHRyYUxhcmdle3dpZHRoOjEyMHB4O2hlaWdodDoxMjBweH0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b25HaWFudHt3aWR0aDoxNjBweDtoZWlnaHQ6MTYwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uUmVzcG9uc2l2ZXt3aWR0aDoxMjhweDtoZWlnaHQ6MTI4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTE4e3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTIwe3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTIye3dpZHRoOjIycHg7aGVpZ2h0OjIycHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTI0e3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0F2YXRhclNoYXBlSW1hZ2V7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlQWRzQXBwe2JvcmRlci1yYWRpdXM6MjAlfS55dFNwZWNBdmF0YXJTaGFwZUluc2NyaWJlZFNxdWFyZXt0cmFuc2Zvcm06c2NhbGUoMS40MTQyMTM1NjI0KX0ueXRTcGVjQXZhdGFyU2hhcGVJbWFnZU92ZXJsYXlze292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjQXZhdGFyU2hhcGVTdG9yaWVzV2F0Y2hlZHtib3JkZXI6MnB4IHNvbGlkICM5MDkwOTA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNBdmF0YXJTaGFwZVN0b3JpZXNVbndhdGNoZWR7Ym9yZGVyOjJweCBzb2xpZCAjZTEwMDJkO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRTcGVjQXZhdGFyU2hhcGVMaXZlUmluZ3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZVJpbmc6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo1MCU7cGFkZGluZzoycHg7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtpbnNldDotNHB4O21hc2s6bGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKSBjb250ZW50LWJveCxsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApOy13ZWJraXQtbWFzazpsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApIGNvbnRlbnQtYm94LGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7bWFzay1jb21wb3NpdGU6ZXhjbHVkZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AgcmlnaHQsI2UxMDAyZCA2MCUsI2UwMTM3OCA4NSUpfS55dFNwZWNBdmF0YXJTaGFwZU9uU2VsZWN0Qm9yZGVye2JvcmRlcjoxcHggc29saWQgIzBmMGYwZjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlQmFja2dyb3VuZEJvcmRlcntib3JkZXI6MnB4IHNvbGlkICNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNBdmF0YXJTaGFwZUJhY2tncm91bmRCb3JkZXJUaGlue2JvcmRlcjoxcHggc29saWQgI2ZmZjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlV2hpdGVCb3JkZXJ7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRTcGVjQXZhdGFyU2hhcGVXaGl0ZUJvcmRlclRoaW57Ym9yZGVyLXdpZHRoOjFweH0ueXRTcGVjQXZhdGFyU2hhcGVJc092ZXJsYXkueXRTcGVjQXZhdGFyU2hhcGVCYWNrZ3JvdW5kQm9yZGVyLC55dFNwZWNBdmF0YXJTaGFwZUlzT3ZlcmxheS55dFNwZWNBdmF0YXJTaGFwZUJhY2tncm91bmRCb3JkZXJUaGlue2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNBdmF0YXJTaGFwZUxpdmVCYWRnZVRleHR7cGFkZGluZzowIDJweDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dmlzaWJpbGl0eTpoaWRkZW47Y29sb3I6I2ZmZjt6LWluZGV4OjE7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NTAwO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRTcGVjQXZhdGFyU2hhcGVMaXZlQmFkZ2VJY29ue21heC13aWR0aDoxNnB4O3BhZGRpbmc6MCAycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmZmZ9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdle2JvcmRlci1yYWRpdXM6NHB4O3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2UxMDAyZDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi00cHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlU21hbGx7bWF4LXdpZHRoOjMycHg7aGVpZ2h0OjEzcHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlTWVkaXVte21heC13aWR0aDozNnB4O2hlaWdodDoxNHB4fS55dFNwZWNBdmF0YXJTaGFwZUxpdmVCYWRnZUxhcmdle21heC13aWR0aDo1MnB4O2hlaWdodDoxNHB4fS55dFNwZWNBdmF0YXJTaGFwZUxpdmVCYWRnZUV4dHJhTGFyZ2V7Ym9yZGVyLXJhZGl1czo0cHg7bWF4LXdpZHRoOjY4cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVMaXZlQmFkZ2VJY29ue21heC13aWR0aDoyNHB4O3BhZGRpbmc6MCA0cHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVMaXZlQmFkZ2VUZXh0e3BhZGRpbmc6MCA0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0U3BlY0F2YXRhclNoYXBlTmV3Q29udGVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwNjVmZDR9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdHtiYWNrZ3JvdW5kLWNvbG9yOiNlMTAwMmR9Lnl0U3BlY0F2YXRhclNoYXBlU3F1YXJle2JvcmRlci1yYWRpdXM6MTJweDtvdmVyZmxvdzpoaWRkZW59Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzAzMDMwM30ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJUaW55e3JpZ2h0Oi04cHg7dG9wOjA7Ym90dG9tOjA7bWFyZ2luOmF1dG87d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJUaW55IC55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lckV4dHJhU21hbGx7cmlnaHQ6LThweDt0b3A6MDtib3R0b206MDttYXJnaW46YXV0bzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lckV4dHJhU21hbGwgLnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29ue3dpZHRoOjEycHg7aGVpZ2h0OjEycHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyU21hbGx7Ym90dG9tOi0ycHg7cmlnaHQ6LTJweDt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lclNtYWxsIC55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lck1lZGl1bXtib3R0b206LTJweDtyaWdodDotMnB4O3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyTWVkaXVtIC55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lcjQ4e2JvdHRvbTotMnB4O3JpZ2h0Oi0ycHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXI0OCAueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJMYXJnZXtib3R0b206LTJweDtyaWdodDotMnB4O3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyTGFyZ2UgLnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29ue3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyRXh0cmFMYXJnZXtib3R0b206LTJweDtyaWdodDotMnB4O3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb257d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJFeHRyYUV4dHJhTGFyZ2V7Ym90dG9tOi00cHg7cmlnaHQ6LTRweDt3aWR0aDo0NHB4O2hlaWdodDo0NHB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lckV4dHJhRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb257d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJHaWFudHtib3R0b206LTRweDtyaWdodDotNHB4O3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyR2lhbnQgLnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVRpbnl7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVRpbnkgLnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdCwueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplVGlueSAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206LTEuNjY0cHg7cmlnaHQ6LTEuNjY0cHg7d2lkdGg6OHB4O2hlaWdodDo4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVRpbnkueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFTbWFsbHttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFTbWFsbCAueXRTcGVjQXZhdGFyU2hhcGVMaXZlRG90LC55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVFeHRyYVNtYWxsIC55dFNwZWNBdmF0YXJTaGFwZU5ld0NvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbTotMS40OTZweDtyaWdodDotMS40OTZweDt3aWR0aDoxMHB4O2hlaWdodDoxMHB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVFeHRyYVNtYWxsLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVNtYWxse21hcmdpbjoycHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDozMnB4O2hlaWdodDozMnB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVTbWFsbCAueXRTcGVjQXZhdGFyU2hhcGVMaXZlRG90LC55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVTbWFsbCAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206LS44MjhweDtyaWdodDotLjgyOHB4O3dpZHRoOjExcHg7aGVpZ2h0OjExcHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVNtYWxsLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZU1lZGl1bXttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplTWVkaXVtIC55dFNwZWNBdmF0YXJTaGFwZUxpdmVEb3QsLnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZU1lZGl1bSAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206LS43NDRweDtyaWdodDotLjc0NHB4O3dpZHRoOjEycHg7aGVpZ2h0OjEycHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZU1lZGl1bS55dFNwZWNBdmF0YXJTaGFwZU5vTWFyZ2lue21hcmdpbjowfS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemU0OHttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplNDggLnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdCwueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplNDggLnl0U3BlY0F2YXRhclNoYXBlTmV3Q29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czo1MCU7Ym90dG9tOi41MDhweDtyaWdodDouNTA4cHg7d2lkdGg6MTNweDtoZWlnaHQ6MTNweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplNDgueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplTGFyZ2V7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUxhcmdlIC55dFNwZWNBdmF0YXJTaGFwZUxpdmVEb3QsLnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUxhcmdlIC55dFNwZWNBdmF0YXJTaGFwZU5ld0NvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbTouNjc2cHg7cmlnaHQ6LjY3NnB4O3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUxhcmdlLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhTGFyZ2V7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjcycHg7aGVpZ2h0OjcycHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhTGFyZ2UgLnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdCwueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206MS41MTJweDtyaWdodDoxLjUxMnB4O3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhTGFyZ2UueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFFeHRyYUxhcmdle21hcmdpbjoycHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMjBweDtoZWlnaHQ6MTIwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVMaXZlRG90LC55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVFeHRyYUV4dHJhTGFyZ2UgLnl0U3BlY0F2YXRhclNoYXBlTmV3Q29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czo1MCU7Ym90dG9tOjguNTJweDtyaWdodDo4LjUycHg7d2lkdGg6MThweDtoZWlnaHQ6MThweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFFeHRyYUxhcmdlLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUdpYW50e21hcmdpbjoycHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNjBweDtoZWlnaHQ6MTYwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUdpYW50IC55dFNwZWNBdmF0YXJTaGFwZUxpdmVEb3QsLnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUdpYW50IC55dFNwZWNBdmF0YXJTaGFwZU5ld0NvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbToxNC4zNnB4O3JpZ2h0OjE0LjM2cHg7d2lkdGg6MThweDtoZWlnaHQ6MThweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplR2lhbnQueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplUmVzcG9uc2l2ZXttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTI4cHg7aGVpZ2h0OjEyOHB4O21heC13aWR0aDoxNDRweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplUmVzcG9uc2l2ZS55dFNwZWNBdmF0YXJTaGFwZU5vTWFyZ2lue21hcmdpbjowfS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUxOHt3aWR0aDoxOHB4O2hlaWdodDoxOHB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUyMHt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUyMnt3aWR0aDoyMnB4O2hlaWdodDoyMnB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUyNHt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxIb3N0ey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzoxMnB4fS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd7cGFkZGluZzoxMnB4IDB9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbEJhZGdle2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NDAwfS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxEZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRmY1lvdXRoQmFzaWNTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2xpY2thYmxlRGVzY3JpcHRpb257Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbERldGFpbHN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbjo0cHh9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbEltYWdle2hlaWdodDo3MnB4O3dpZHRoOjcycHh9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbExlYWRpbmd7ZmxleC1zaHJpbms6MDttYXJnaW46OHB4IDEycHggOHB4IDB9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbE1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NHB4fS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS42cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRmY1lvdXRoQmFzaWNTZWN0aW9uSGVhZGVyVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMzttYXJnaW46MDtwYWRkaW5nOjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NS4ycmVtfS55dGZjWW91dGhTZWN0aW9uQm9keVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dGZjWW91dGhTZWN0aW9uQm9keVZpZXdNb2RlbEF2YXRhclN0YWNre21hcmdpbjowIGF1dG99Lnl0ZmNZb3V0aFNlY3Rpb25Cb2R5Vmlld01vZGVsSXRlbXtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjEycHh9Lnl0ZmNZb3V0aFNlY3Rpb25Cb2R5Vmlld01vZGVsRGVzY3JpcHRpb257Y29sb3I6IzYwNjA2MDtwYWRkaW5nOjEycHggMTJweCAxNnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRDb250aW51YXRpb25JdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztjb2xvcjojZmZmO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7cGFkZGluZzoxNnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItcmFkaXVzOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbFVwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0Q2hhbm5lbEF0dHJpYnV0aW9uVmlld01vZGVsQ2hhbm5lbFRpdGxley1tb3otcGFkZGluZy1zdGFydDoxMnB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9Lnl0Q2hhbm5lbEF0dHJpYnV0aW9uVmlld01vZGVsQm90dG9te3BhZGRpbmctdG9wOjE2cHh9Lnl0SW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0SW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWxIb3N0V2Vie2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweH0ueXRJbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbEhvc3RFeHRyYWN0T3ZlcmxheXttYXgtd2lkdGg6NDgwcHg7Y29sb3I6dmFyKC0tcmVlbC1tZXRhZGF0YS1jb2xvciwjZmZmKTtiYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLXJhZGl1czoxMnB4O21hcmdpbjowIDhweH0ueXRJbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbEhvc3RCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6MTZweH0ueXRJbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbEZvcndhcmRBY3Rpb25JY29ue21hcmdpbi1sZWZ0OmF1dG99Lnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvcml6b250YWxDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOmVuZDthbGlnbi1pdGVtczpmbGV4LWVuZDt3aWR0aDoxMDAlfS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDowO3dpZHRoOjEwMCU7cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMCwwLDAsLjQpLHRyYW5zcGFyZW50KTt6LWluZGV4OjE7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMXB4IDRweCByZ2JhKDAsMCwwLDAuMykpfS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJSb3VuZGVke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweH0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbE1ldGFkYXRhQ29udGFpbmVyTWV0YXBhbmVse21pbi13aWR0aDowO3BhZGRpbmc6MCAwIDE2cHggMTZweH0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEFjdGlvbnNDb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7aGVpZ2h0OjEwMCU7cGFkZGluZzowIDEycHggOHB4O2ZpbHRlcjpkcm9wLXNoYWRvdygwIDFweCA0cHggcmdiYSgwLDAsMCwwLjMpKX0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvc3RNd2ViIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsQWN0aW9uc0NvbnRhaW5lcntwYWRkaW5nOjAgNHB4IDE2cHggNHB4O2ZpbHRlcjp1bnNldH0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvc3RNd2ViIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJ7YmFja2dyb3VuZDpub25lfS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsSG9zdEhpZGV7dmlzaWJpbGl0eTpoaWRkZW59Lnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0RXh0cmFjdE92ZXJsYXkgLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxNZXRhZGF0YUNvbnRhaW5lcnt3aWR0aDpjYWxjKCgxMDAlIC0gbWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwgMzE1cHgpKS8yKTttYXJnaW4tcmlnaHQ6bWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwzMTVweCk7YmFja2dyb3VuZC1pbWFnZTpub25lO2ZpbHRlcjp1bnNldDtib3JkZXItcmFkaXVzOjB9Lnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0RXh0cmFjdE92ZXJsYXkgLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxBY3Rpb25zQ29udGFpbmVyey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MX0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvc3RFeHRyYWN0QWN0aW9uQmFyIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJNZXRhcGFuZWx7cGFkZGluZy1yaWdodDoxNnB4fS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsSG9zdEV4dHJhY3RBY3Rpb25CYXIgLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxBY3Rpb25zQ29udGFpbmVye3BhZGRpbmctYm90dG9tOjA7ZmlsdGVyOnVuc2V0fS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsSG9zdDpub3QoLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0RXh0cmFjdE92ZXJsYXkpW3Nob3ctc2NydWJiZXJdIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJ7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuNXN9Lnl0ZnpGYW56b25lU2NoZWR1bGVkSW5mb1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzozMnB4IDEycHggMjBweH0ueXRmekZhbnpvbmVTY2hlZHVsZWRJbmZvVmlld01vZGVsQXZhdGFye21hcmdpbi1ib3R0b206OHB4fS55dGZ6RmFuem9uZVNjaGVkdWxlZEluZm9WaWV3TW9kZWxUaXRsZXt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tYm90dG9tOjEwcHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwfS55dGZ6RmFuem9uZVNjaGVkdWxlZEluZm9WaWV3TW9kZWxEZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2JvcmRlci1yYWRpdXM6aW5oZXJpdH0uaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JTY3JlZW5SZWRlc2lnbkRpc2FibGVke3BhZGRpbmc6MTZweH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JTY3JlZW5SZWRlc2lnbkRpc2FibGVke292ZXJmbG93LXk6c2Nyb2xsfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JTY3JlZW5SZWRlc2lnbkVuYWJsZWR7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb250YWluZXItdHlwZTpzaXplfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojMGYwZjBmOy1tb3otcGFkZGluZy1zdGFydDoxMiU7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTIlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLXJhZGl1czppbmhlcml0fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1jb2xvcjojMGYwZjBmO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDkwZGVnLHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQgMzUlLHJnYmEoMTcwLDksMTcwLC4yKSAwLHJnYmEoMTY5LDAsMjU1LC4yKSA4NCUscmdiYSgyNTQsNzAsMTYwLC4yKSk7bWFzay1pbWFnZTpyYWRpYWwtZ3JhZGllbnQoMjclIDU4JSBhdCA3NyUgNTAlLCMwZjBmMGYgMCx0cmFuc3BhcmVudCAxMDAlKX1bZGlyPXJ0bF0gLmludGVyc3RpdGlhbFZpZXdNb2RlbE1vZGVsQ29udGFpbmVyOmJlZm9yZXttYXNrLWltYWdlOnJhZGlhbC1ncmFkaWVudCgyNyUgNTglIGF0IDIzJSA1MCUsIzBmMGYwZiAwLHRyYW5zcGFyZW50IDEwMCUpfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcjpiZWZvcmV7bWFzay1yZXBlYXQ6bm8tcmVwZWF0fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxGbGV4SXRlbXt3aWR0aDoxMDAlO21hcmdpbjo4cHggMH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTG9nb0NvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxNSU7bWluLXdpZHRoOjk2cHh9LmludGVyc3RpdGlhbFZpZXdNb2RlbExvZ29Db250YWluZXI6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwYWRkaW5nLXRvcDoyMi43MjclfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMb2dvSW1hZ2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzp2aXNpYmxlfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMb2dvSW1hZ2V7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lOy1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdDpub25lfX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKSBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsTG9nb0ltYWdle2ZpbHRlcjppbnZlcnQoMSkgaHVlLXJvdGF0ZSgxODBkZWcpfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsQnV0dG9uQ29udGFpbmVye21heC13aWR0aDo0MyU7bWFyZ2luLXRvcDo4cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC13cmFwOndyYXB9LmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkl0ZW17d2lkdGg6YXV0b30uaW50ZXJzdGl0aWFsVmlld01vZGVsQnV0dG9uSXRlbTpub3QoOmxhc3QtY2hpbGQpey1tb3otbWFyZ2luLWVuZDo4cHg7bWFyZ2luLWlubGluZS1lbmQ6OHB4O21hcmdpbi1ib3R0b206OHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5pbnRlcnN0aXRpYWxWaWV3TW9kZWxCdXR0b25JdGVtIC55dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0e2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsUHJpbWFyeUJ1dHRvbkl0ZW0sLmludGVyc3RpdGlhbFZpZXdNb2RlbFNlY29uZGFyeUJ1dHRvbkl0ZW17bWF4LXdpZHRoOjEwMCV9LmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXtjb2xvcjojZmZmO21heC13aWR0aDo0MyU7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6Mi44cmVtO2xpbmUtaGVpZ2h0OjMuOHJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH19LmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHREZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO21heC13aWR0aDo0MyU7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9LmludGVyc3RpdGlhbFZpZXdNb2RlbEludGVyc3RpdGlhbEljb257dGV4dC1hbGlnbjpjZW50ZXJ9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbEljb25JbWFnZXt3aWR0aDoyNSU7b2JqZWN0LWZpdDpjb250YWlufX0uaW50ZXJzdGl0aWFsVmlld01vZGVsSW50ZXJzdGl0aWFsVGl0bGV7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsSW50ZXJzdGl0aWFsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsSW50ZXJzdGl0aWFsRGVzY3JpcHRpb257Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2luc2V0LWlubGluZS1lbmQ6MTIlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjMwJTttYXgtd2lkdGg6NDAwcHh9LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OmF1dG99QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkltYWdle2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTstbXMtaGlnaC1jb250cmFzdC1hZGp1c3Q6bm9uZX19QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSkgYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkltYWdle2ZpbHRlcjppbnZlcnQoMSkgaHVlLXJvdGF0ZSgxODBkZWcpfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JDb2RlQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3BhZGRpbmc6NHB4IDEycHg7Ym90dG9tOjhweDtpbnNldC1pbmxpbmUtZW5kOjhweDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dFBvcnRyYWl0IC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcnstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7cGFkZGluZy1ib3R0b206bWF4KDEyJSw0MnB4KTtwYWRkaW5nLWlubGluZToxNnB4fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsTG9nb0NvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTZweDtpbnNldC1pbmxpbmUtc3RhcnQ6MTZweH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0UG9ydHJhaXQgLmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcnttYXgtd2lkdGg6MTAwJTtmbGV4LXdyYXA6d3JhcH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0UG9ydHJhaXQgLmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkl0ZW06bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6MDttYXJnaW4taW5saW5lLWVuZDowO21hcmdpbi1ibG9jay1lbmQ6MTZweH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0UG9ydHJhaXQgLmludGVyc3RpdGlhbFZpZXdNb2RlbFByaW1hcnlCdXR0b25JdGVtLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsU2Vjb25kYXJ5QnV0dG9uSXRlbXt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dERlc2NyaXB0aW9uLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dFRpdGxle21heC13aWR0aDoxMDAlfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsSWxsdXN0cmF0aW9uQ29udGFpbmVye2Rpc3BsYXk6bm9uZX0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbE1vZGVsQ29udGFpbmVye3BhZGRpbmc6MTZweH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcnttYXgtd2lkdGg6MTAwJX0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXttYXgtd2lkdGg6MTAwJTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRTbWFsbCAuaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JDb2RlQ29udGFpbmVyLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRTbWFsbCAuaW50ZXJzdGl0aWFsVmlld01vZGVsSWxsdXN0cmF0aW9uQ29udGFpbmVyLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRTbWFsbCAuaW50ZXJzdGl0aWFsVmlld01vZGVsU2Vjb25kYXJ5QnV0dG9uSXRlbSwuaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHREZXNjcmlwdGlvbntkaXNwbGF5Om5vbmV9LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsQnV0dG9uQ29udGFpbmVye21heC13aWR0aDo3NiV9LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dFRpdGxle21heC13aWR0aDo3NiU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6Mi40cmVtO2xpbmUtaGVpZ2h0OjMuMnJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH19LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dERlc2NyaXB0aW9ue21heC13aWR0aDo3NiU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxIaWRlRXJyb3JDb2RlIC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxFcnJvckNvZGVDb250YWluZXIsLmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsSWxsdXN0cmF0aW9uQ29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXR3UGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxFbmRwb2ludHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21heC13aWR0aDo1MTZweDtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO3BhZGRpbmc6NnB4IDAgNnB4IDZweDt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXR3UGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbEltYWdley1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmU7bWFyZ2luOjRweDtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS55dHdQbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsRXh0cmFjdE92ZXJsYXkgLnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxFbmRwb2ludHtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yKTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxUaXRsZXttYXJnaW46MCA0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dHdQbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsVGV4dHttYXJnaW46MCA0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDozLjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxUZXh0e21heC1oZWlnaHQ6My42cmVtfS55dHdQbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsRGl2aWRlcnttYXJnaW46MnB4IDRweDtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0Q29sbGFib3JhdGl2ZVBsYXlsaXN0SW52aXRlTWVzc2FnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRDb2xsYWJvcmF0aXZlUGxheWxpc3RJbnZpdGVNZXNzYWdlVmlld01vZGVsQWNjb3VudFNlY3Rpb25IZWFkZXJUZXh0e2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxBY2NvdW50V3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjhweCAwOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjEycHg7YWxpZ24tc2VsZjpzdHJldGNofS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxBY2NvdW50VGV4dHtjb2xvcjojMDMwMzAzO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAwIDA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxIYW5kbGV7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRDb2xsYWJvcmF0aXZlUGxheWxpc3RJbnZpdGVNZXNzYWdlVmlld01vZGVsSW52aXRlTWVzc2FnZVdyYXBwZXJ7Y29sb3I6IzAzMDMwMzttYXJnaW4tYm90dG9tOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxUZXJtc09mU2VydmljZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFJlZWxDYXJvdXNlbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Z2FwOjRweH0ueXRSZWVsQ2Fyb3VzZWxWaWV3TW9kZWxIb3N0QnV0dG9ue21pbi13aWR0aDowfS55dFJlZWxDYXJvdXNlbFZpZXdNb2RlbEhvc3RCdXR0b24gYzMtaWNvbnt3aWR0aDppbmhlcml0O2hlaWdodDppbmhlcml0fS55dFJlZWxDYXJvdXNlbFZpZXdNb2RlbEhvc3RCdXR0b25NYXhXaWR0aHttYXgtd2lkdGg6NTAlfS55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjMwcHh9Lnl0UmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbEhvc3RUYWxse2hlaWdodDozNnB4fUBtZWRpYSAobWF4LXdpZHRoOjI5OS45cHgpey55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6bm9uZX19Lnl0UmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbEVuZHBvaW50e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6MDtkaXNwbGF5OmlubGluZS1ibG9jaztjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpfS55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxMaW5re21hcmdpbi1yaWdodDo0OHB4O21hcmdpbi1ib3R0b206MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO21heC1oZWlnaHQ6MnJlbX0ueXRSZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsSWNvbnttYXJnaW4tcmlnaHQ6NnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxUaXRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0UmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbEhvc3RMYXJnZSwueXRSZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsSG9zdExhcmdlIC55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxUYWxse2hlaWdodDp1bnNldH0ueXRSZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsSG9zdExhcmdlIC55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxJY29ue3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRTaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbFNob3J0c0Rpc2Nsb3N1cmVzVGV4dHtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbFN0YXRpY0hvc3R7ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MThweH1AbWVkaWEgKG1heC13aWR0aDoyOTkuOXB4KXsueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0e2Rpc3BsYXk6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmU7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgMTZweDtoZWlnaHQ6MzZweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjE4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7Y29sb3I6I2ZmZjtjdXJzb3I6cG9pbnRlcn0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0VGV4dFNlY3Rpb257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dGV4dC1hbGlnbjpsZWZ0O2ZsZXgtc2hyaW5rOjE7LW1vei1wYWRkaW5nLXN0YXJ0OjhweDtwYWRkaW5nLWlubGluZS1zdGFydDo4cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdFByaW1hcnlUZXh0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdFByaW1hcnlUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdFByaW1hcnlUZXh0e21heC1oZWlnaHQ6NHJlbX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0TGVhZGluZ1NlY3Rpb257bWF4LXdpZHRoOjEwMCU7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0TGVhZGluZ0ltYWdle21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJTstbW96LXBhZGRpbmctc3RhcnQ6NHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbFN0YXRpY0hvc3RMZWFkaW5nSWNvbnttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7LW1vei1wYWRkaW5nLXN0YXJ0OjhweDtwYWRkaW5nLWlubGluZS1zdGFydDo4cHg7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdHtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3R7ZGlzcGxheTpub25lfX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEZpeGVkSGVpZ2h0QXV0b3toZWlnaHQ6YXV0b30ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEhpZGRlbntvcGFjaXR5OjB9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RTaG93bnthbmltYXRpb246ZmFkZUluIC41cyBlYXNlLWluLW91dDtvcGFjaXR5OjF9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RVc2VSb3VuZEJvcmRlcntib3JkZXItcmFkaXVzOjI4cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RSb3VuZEFsbENvcm5lcnN7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RPbmx5Um91bmRMZWFkaW5nQ29ybmVyc3tib3JkZXItdG9wLWxlZnQtcmFkaXVzOjhweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjhweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdENvbnRhaW5lcntkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOm5vbmU7bWF4LWhlaWdodDo1MnB4O3BhZGRpbmc6OHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwwLjYpO2NvbG9yOnZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsI2ZmZik7Y3Vyc29yOnBvaW50ZXJ9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RDb250YWluZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0Q29sbGFwc2VkTGVhZGluZ1NlY3Rpb257Ym9yZGVyLXJhZGl1czo0cHg7ZmxleC1zaHJpbms6MDttYXJnaW4tcmlnaHQ6MH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkTGVhZGluZ1NlY3Rpb257bWFyZ2luLXJpZ2h0OjB9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RDb2xsYXBzZWRMZWFkaW5nSW1hZ2V7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6NHB4Oy1tb3otcGFkZGluZy1zdGFydDo0cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6NHB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RFeHBhbmRlZExlYWRpbmdJbWFnZXttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7Ym9yZGVyLXJhZGl1czo0cHg7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDstbW96LXBhZGRpbmctc3RhcnQ6OHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdENvbGxhcHNlZExlYWRpbmdJY29uey1tb3otcGFkZGluZy1zdGFydDo4cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RFeHBhbmRlZExlYWRpbmdJY29ue3BhZGRpbmc6NHB4O2JvcmRlci1yYWRpdXM6NHB4Oy1tb3otcGFkZGluZy1zdGFydDo4cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RDb2xsYXBzZWRTZWNvbmRhcnl7b3BhY2l0eTowO2Rpc3BsYXk6bm9uZX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkU2Vjb25kYXJ5e2FuaW1hdGlvbjpmYWRlSW4gLjI1cyBlYXNlLWluLW91dDtvcGFjaXR5OjE7bWFyZ2luLXRvcDotMnB4O2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjEuOHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkU2Vjb25kYXJ5ey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RFeHBhbmRlZFNlY29uZGFyeXttYXgtaGVpZ2h0OjEuOHJlbX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdENvbGxhcHNlZFRyYWlsaW5nU2VjdGlvbntjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItcmFkaXVzOjAgOHB4IDhweCAwO2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI0cHg7aGVpZ2h0OjQwcHg7cGFkZGluZzowfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0Q29sbGFwc2VkVHJhaWxpbmdTZWN0aW9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0RXhwYW5kZWRUcmFpbGluZ1NlY3Rpb257Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLXJhZGl1czowIDhweCA4cHggMDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6NDBweDt3aWR0aDoyNHB4O3BhZGRpbmc6MH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkVHJhaWxpbmdTZWN0aW9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0VHJhaWxpbmdJY29ue2NvbG9yOnZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsI2ZmZik7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheXtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4dHJhY3RPdmVybGF5Q29udGFpbmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUNvbnRhaW5lcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUNvbGxhcHNlZFRyYWlsaW5nU2VjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Y29sb3I6dmFyKC0tcmVlbC1tZXRhZGF0YS1jb2xvciwjMDMwMzAzKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUNvbGxhcHNlZFRyYWlsaW5nU2VjdGlvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUV4cGFuZGVkVHJhaWxpbmdTZWN0aW9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCMwMzAzMDMpfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4dHJhY3RPdmVybGF5RXhwYW5kZWRUcmFpbGluZ1NlY3Rpb246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVye2NvbG9yOnZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsIzAzMDMwMyk7bWF4LXdpZHRoOjQ4MHB4fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4cGFuc2l2ZUNvbnRhaW5lclByaW1hcnlUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVyUHJpbWFyeVRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHBhbnNpdmVDb250YWluZXJQcmltYXJ5VGV4dHttYXgtaGVpZ2h0OjJyZW19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVyRXhwYW5kZWRTZWNvbmRhcnl7Y29sb3I6cmdiYShmcm9tIHZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsIzAzMDMwMykgciBnIGIvLjcpO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MS44cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4cGFuc2l2ZUNvbnRhaW5lckV4cGFuZGVkU2Vjb25kYXJ5ey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVyRXhwYW5kZWRTZWNvbmRhcnl7bWF4LWhlaWdodDoxLjhyZW19QGtleWZyYW1lcyBmYWRlSW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0U2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpfS55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxIb3N0Q2xpY2thYmxle2N1cnNvcjpwb2ludGVyfS55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxle21hcmdpbjowO3BvaW50ZXItZXZlbnRzOmF1dG87d29yZC1icmVhazpicmVhay13b3JkO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbFNob3J0c1ZpZGVvVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZXttYXgtaGVpZ2h0OjJyZW07bWF4LWhlaWdodDpub25lOy13ZWJraXQtbGluZS1jbGFtcDp2YXIoLS15dC1zaG9ydHMtdmlkZW8tdGl0bGUtbWF4LWxpbmVzLDEpfS55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxlTGFyZ2V7bWFyZ2luOjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi44cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxlTGFyZ2V7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZUxhcmdle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuOHJlbTtsaW5lLWhlaWdodDoyLjZyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxlTGFyZ2V7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX19Lnl0U2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbFNob3J0c1ZpZGVvVGl0bGVMYXJnZXttYXgtaGVpZ2h0OjIuOHJlbX1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZUxhcmdle21heC1oZWlnaHQ6Mi42cmVtfX0ueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZUxhcmdle21heC1oZWlnaHQ6bm9uZTstd2Via2l0LWxpbmUtY2xhbXA6dmFyKC0teXQtc2hvcnRzLXZpZGVvLXRpdGxlLW1heC1saW5lcywxKX0ueXRBY2Nlc3NDb25maXJtYXRpb25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0QWNjZXNzQ29uZmlybWF0aW9uVmlld01vZGVsQ29udGVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjI0cHggMTJweCAwfS55dEFjY2Vzc0NvbmZpcm1hdGlvblZpZXdNb2RlbEF2YXRhcnttYXJnaW4tYm90dG9tOjE2cHh9Lnl0QWNjZXNzQ29uZmlybWF0aW9uVmlld01vZGVsVGl0bGV7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWJvdHRvbTo4cHg7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZTozLjJyZW07bGluZS1oZWlnaHQ6NC40cmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRBY2Nlc3NDb25maXJtYXRpb25WaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dER1YWxBdmF0YXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXREdWFsQXZhdGFyVmlld01vZGVsQXZhdGFyc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWZsZXg6MDtmbGV4LWdyb3c6MDtmbGV4LXNocmluazowO2dhcDp2YXIoLS15dC1kdWFsLWF2YXRhci12aWV3LW1vZGVsLWJhZGdlLWN1dG91dC1yYWRpdXMpO21hc2staW1hZ2U6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSB2YXIoLS15dC1kdWFsLWF2YXRhci12aWV3LW1vZGVsLWJhZGdlLWN1dG91dC1yYWRpdXMpLHRyYW5zcGFyZW50IDEwMCUsYmxhY2sgMCl9Lnl0RHVhbEF2YXRhclZpZXdNb2RlbEJhZGdle3Bvc2l0aW9uOmFic29sdXRlfS55dEltYWdlU3RpY2tlckhvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRJbWFnZVN0aWNrZXJJbWFnZUNvcHl7cG9zaXRpb246YWJzb2x1dGU7ZmlsdGVyOmJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpfS55dEltYWdlU3RpY2tlckltYWdlQWN0dWFse3Bvc2l0aW9uOnJlbGF0aXZlfS55dE92ZXJsYXlQcm9kdWN0U3RpY2tlckhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggcmdiYSgwLDAsMCwwLjMpKX0ueXRPdmVybGF5UHJvZHVjdFN0aWNrZXJUaXRsZUJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6YXV0bztwYWRkaW5nOjRweCA0cHggNHB4IDhweDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojNjA2MDYwO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRPdmVybGF5UHJvZHVjdFN0aWNrZXJJbWFnZUNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZX0ueXRPdmVybGF5UHJvZHVjdFN0aWNrZXJPcGVuSWNvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjhweDtwYWRkaW5nOjJweDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojNjA2MDYwO2JhY2tncm91bmQtY29sb3I6I2ZmZjtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dE92ZXJsYXlTdGlja2VySG9zdHstLXN0aWNrZXItd2lkdGg6MTAwO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDtwb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0T3ZlcmxheVN0aWNrZXJIb3N0Pjpvbmx5LWNoaWxke2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dE92ZXJsYXlTdGlja2VySG9zdFJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS55dFN1YnNjcmliZVBsdXNCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0U3VydmV5SWNvbnNIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRTdXJ2ZXlJY29uc0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRTdXJ2ZXlJY29uc1RpdGxle2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoyLjJyZW07bWF4LWhlaWdodDoyLjJyZW19Lnl0U3VydmV5SWNvbnNBbnN3ZXJze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dFN1cnZleUljb25zSWNvbntjb2xvcjojMDMwMzAzO3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7bWFyZ2luOi02cHh9Lnl0U3VydmV5SWNvbnNBbnN3ZXJzVGV4dHtjb2xvcjojMDMwMzAzO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtTGlrZUNvdW50Vmlld01vZGVsSG9zdHtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtTGlrZUNvdW50Vmlld01vZGVsSG9zdHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtTGlrZUNvdW50Vmlld01vZGVsSG9zdHttYXgtaGVpZ2h0OjQuNHJlbX1zZW50aW5lbHt9"}},"time_used":48,"timings":{"blocked":-1,"dns":0,"connect":15,"send":0,"wait":20,"receive":28,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/youtube/img/icons/mweb/youtube_fill/logo/v2/67px.svg","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:54.670Z","timestamp":1785129294670,"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 /youtube/img/icons/mweb/youtube_fill/logo/v2/67px.svg HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.youtube-nocookie.com/\r\nOrigin: https://www.youtube-nocookie.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\naccess-control-allow-origin: https://www.youtube-nocookie.com\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 272\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 20 Jul 2026 10:01:47 GMT\r\nexpires: Tue, 20 Jul 2027 10:01:47 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 06 Sep 2023 03:18:00 GMT\r\ncontent-type: image/svg+xml\r\nvary: Accept-Encoding, Origin\r\nage: 587587\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":478,"size_decoded":1006,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"1e78ea4caa31c35bac97a41e5930ffe8","sha1":"dbf99131b9b5087e664b9fdc7097c97655474517","sha256":"6fa88a20839537ae66da730e5bd183035265176d972bc8df075b89da0c6186ea","sha512":"cf798ef67c90f90f23635beb202095a2c76052d491c224aa14535bb9b16f28fa9a850b8db887f158afd01d634aecb9e2b05a27efdfd225d3583e6297bdd78b43","ssdeep":"","tlshash":"2ef09e6d577829d8930f87c0be5974127d9f23e85194b3b541d4f9326138ee2d141cd9","first_seen":"2025-05-26T15:52:21.952281Z","last_seen":"2026-07-27T08:08:01.059059Z","times_seen":47025,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NyA2MCIgZmlsbD0iIj48cGF0aCBkPSJNNjMgMTQuODdhNy44ODUgNy44ODUgMCAwMC01LjU2LTUuNTZDNTIuNTQgOCAzMi44OCA4IDMyLjg4IDhTMTMuMjMgOCA4LjMyIDkuMzFjLTIuNy43Mi00LjgzIDIuODUtNS41NiA1LjU2QzEuNDUgMTkuNzcgMS40NSAzMCAxLjQ1IDMwczAgMTAuMjMgMS4zMSAxNS4xM2MuNzIgMi43IDIuODUgNC44MyA1LjU2IDUuNTZDMTMuMjMgNTIgMzIuODggNTIgMzIuODggNTJzMTkuNjYgMCAyNC41Ni0xLjMxYzIuNy0uNzIgNC44My0yLjg1IDUuNTYtNS41NkM2NC4zMSA0MC4yMyA2NC4zMSAzMCA2NC4zMSAzMHMwLTEwLjIzLTEuMzEtMTUuMTN6Ij48L3BhdGg+PHBhdGggZmlsbD0iI0ZGRiIgY2xhc3M9ImxvZ28tYXJyb3ciIGQ9Ik0yNi42IDM5LjQzTDQyLjkzIDMwIDI2LjYgMjAuNTd6Ij48L3BhdGg+PC9zdmc+Cg=="}},"time_used":16,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/img/c2ss.jpg","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.963Z","timestamp":1785129291963,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /img/c2ss.jpg HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:51 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 21 Dec 2021 22:33:06 GMT\r\naccept-ranges: bytes\r\ncontent-length: 50034\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":50034,"size_decoded":50301,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=7, orientation=upper-left, xresolution=98, yresolution=106, resolutionunit=2, software=Adobe Photoshop CS6 (Windows), datetime=2021:12:21 13:03:06], baseline, precision 8, 360x230, components 3","md5":"05ef93a4ba087d944f933870eccd772f","sha1":"09034e713beca576f0925a73263ef1b03cc9885d","sha256":"de23a59c8a0e9114b91ef5313a7bf108b5282f89730db6ddf20fedf5a242ebbe","sha512":"4b3d02e3c9412225c1b57ed4a3e1d8b968be8c955562c431cfc45159873295d98d22ae4e2d33d92f09871079432d98badbeb4a6971421b57649572dd7d3fdb41","ssdeep":"768:Y+YyBG9lBFO78YyBG9lBF/EviiVbGGwgvWl/fZIJOdADAoJkjrIud1hP:fd+lBFbd+lBF/E1btw87jDkjrIuDhP","tlshash":"2723ae3cfa126e22ede05874e4f9d3c693627a96eda30407b04e5914bfb09d05d8e1b7","first_seen":"2025-09-22T10:43:48.598514Z","last_seen":"2026-07-27T05:48:43.301818Z","times_seen":18,"resource_available":false,"data":"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AABCcmRUVW50RiNSbHQAAAAAAAAAAAAAAABCbGQgVW50RiNSbHQAAAAAAAAAAAAAAABSc2x0VW50RiNQeGxAbgAAAAAAAAAAAAp2ZWN0b3JEYXRhYm9vbAEAAAAAUGdQc2VudW0AAAAAUGdQcwAAAABQZ1BDAAAAAExlZnRVbnRGI1JsdAAAAAAAAAAAAAAAAFRvcCBVbnRGI1JsdAAAAAAAAAAAAAAAAFNjbCBVbnRGI1ByY0BZAAAAAAAAAAAAEGNyb3BXaGVuUHJpbnRpbmdib29sAAAAAA5jcm9wUmVjdEJvdHRvbWxvbmcAAAAAAAAADGNyb3BSZWN0TGVmdGxvbmcAAAAAAAAADWNyb3BSZWN0UmlnaHRsb25nAAAAAAAAAAtjcm9wUmVjdFRvcGxvbmcAAAAAADhCSU0D7QAAAAAAEADwAAAAAQABAPAAAAABAAE4QklNBCYAAAAAAA4AAAAAAAAAAAAAP4AAADhCSU0EDQAAAAAABAAAAB44QklNBBkAAAAAAAQAAAAeOEJJTQPzAAAAAAAJAAAAAAAAAAABADhCSU0nEAAAAAAACgABAAAAAAAAAAE4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQAAAAAAAACAAI4QklNBAIAAAAAAAYAAAAAAAA4QklNBDAAAAAAAAMBAQEAOEJJTQQtAAAAAAAGAAEAAAADOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAAzkAAAAGAAAAAAAAAAAAAADmAAABaAAAAAIAYwAzAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAFoAAAA5gAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAG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4R60aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpjcnM9Imh0dHA6Ly9ucy5hZG9iZS5jb20vY2FtZXJhLXJhdy1zZXR0aW5ncy8xLjAvIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxRkU0QUY0MjlFNjJFQzExOTIwRjk5REI1NzJDNUZBRCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSI4MDNCNDlEQzNGRTYwNkRFQzhFMjgxMDc5MkIxQTUwNiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyNDI3NDE1ODlFNjJFQzExOTA3Q0E1OUQ4NjE5OTMwMyIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBjcnM6UmF3RmlsZU5hbWU9ImMzLmpwZyIgY3JzOlZlcnNpb249IjcuMCIgY3JzOlByb2Nlc3NWZXJzaW9uPSI2LjciIGNyczpXaGl0ZUJhbGFuY2U9IkFzIFNob3QiIGNyczpJbmNyZW1lbnRhbFRlbXBlcmF0dXJlPSIwIiBjcnM6SW5jcmVtZW50YWxUaW50PSIwIiBjcnM6RXhwb3N1cmU9IjAuMDAiIGNyczpTaGFkb3dzPSIwIiBjcnM6QnJpZ2h0bmVzcz0iMCIgY3JzOkNvbnRyYXN0PSIwIiBjcnM6U2F0dXJhdGlvbj0iMCIgY3JzOlNoYXJwbmVzcz0iMCIgY3JzOkx1bWluYW5jZVNtb290aGluZz0iMCIgY3JzOkNvbG9yTm9pc2VSZWR1Y3Rpb249IjAiIGNyczpWaWduZXR0ZUFtb3VudD0iMCIgY3JzOlNoYWRvd1RpbnQ9IjAiIGNyczpSZWRIdWU9IjAiIGNyczpSZWRTYXR1cmF0aW9uPSIwIiBjcnM6R3JlZW5IdWU9IjAiIGNyczpHcmVlblNhdHVyYXRpb249IjAiIGNyczpCbHVlSHVlPSIwIiBjcnM6Qmx1ZVNhdHVyYXRpb249IjAiIGNyczpGaWxsTGlnaHQ9IjAiIGNyczpWaWJyYW5jZT0iMCIgY3JzOkhpZ2hsaWdodFJlY292ZXJ5PSIwIiBjcnM6Q2xhcml0eT0iMCIgY3JzOkRlZnJpbmdlPSIwIiBjcnM6SHVlQWRqdXN0bWVudFJlZD0iMCIgY3JzOkh1ZUFkanVzdG1lbnRPcmFuZ2U9IjAiIGNyczpIdWVBZGp1c3RtZW50WWVsbG93PSIwIiBjcnM6SHVlQWRqdXN0bWVudEdyZWVuPSIwIiBjcnM6SHVlQWRqdXN0bWVudEFxdWE9IjAiIGNyczpIdWVBZGp1c3RtZW50Qmx1ZT0iMCIgY3JzOkh1ZUFkanVzdG1lbnRQdXJwbGU9IjAiIGNyczpIdWVBZGp1c3RtZW50TWFnZW50YT0iMCIgY3JzOlNhdHVyYXRpb25BZGp1c3RtZW50UmVkPSIwIiBjcnM6U2F0dXJhdGlvbkFkanVzdG1lbnRPcmFuZ2U9IjAiIGNyczpTYXR1cmF0aW9uQWRqdXN0bWVudFllbGxvdz0iMCIgY3JzOlNhdHVyYXRpb25BZGp1c3RtZW50R3JlZW49IjAiIGNyczpTYXR1cmF0aW9uQWRqdXN0bWVudEFxdWE9IjAiIGNyczpTYXR1cmF0aW9uQWRqdXN0bWVudEJsdWU9IjAiIGNyczpTYXR1cmF0aW9uQWRqdXN0bWVudFB1cnBsZT0iMCIgY3JzOlNhdHVyYXRpb25BZGp1c3RtZW50TWFnZW50YT0iMCIgY3JzOkx1bWluYW5jZUFkanVzdG1lbnRSZWQ9IjAiIGNyczpMdW1pbmFuY2VBZGp1c3RtZW50T3JhbmdlPSIwIiBjcnM6THVtaW5hbmNlQWRqdXN0bWVudFllbGxvdz0iMCIgY3JzOkx1bWluYW5jZUFkanVzdG1lbnRHcmVlbj0iMCIgY3JzOkx1bWluYW5jZUFkanVzdG1lbnRBcXVhPSIwIiBjcnM6THVtaW5hbmNlQWRqdXN0bWVudEJsdWU9IjAiIGNyczpMdW1pbmFuY2VBZGp1c3RtZW50UHVycGxlPSIwIiBjcnM6THVtaW5hbmNlQWRqdXN0bWVudE1hZ2VudGE9IjAiIGNyczpTcGxpdFRvbmluZ1NoYWRvd0h1ZT0iMCIgY3JzOlNwbGl0VG9uaW5nU2hhZG93U2F0dXJhdGlvbj0iMCIgY3JzOlNwbGl0VG9uaW5nSGlnaGxpZ2h0SHVlPSIwIiBjcnM6U3BsaXRUb25pbmdIaWdobGlnaHRTYXR1cmF0aW9uPSIwIiBjcnM6U3BsaXRUb25pbmdCYWxhbmNlPSIwIiBjcnM6UGFyYW1ldHJpY1NoYWRvd3M9IjAiIGNyczpQYXJhbWV0cmljRGFya3M9IjAiIGNyczpQYXJhbWV0cmljTGlnaHRzPSIwIiBjcnM6UGFyYW1ldHJpY0hpZ2hsaWdodHM9IjAiIGNyczpQYXJhbWV0cmljU2hhZG93U3BsaXQ9IjI1IiBjcnM6UGFyYW1ldHJpY01pZHRvbmVTcGxpdD0iNTAiIGNyczpQYXJhbWV0cmljSGlnaGxpZ2h0U3BsaXQ9Ijc1IiBjcnM6U2hhcnBlblJhZGl1cz0iKzEuMCIgY3JzOlNoYXJwZW5EZXRhaWw9IjI1IiBjcnM6U2hhcnBlbkVkZ2VNYXNraW5nPSIwIiBjcnM6UG9zdENyb3BWaWduZXR0ZUFtb3VudD0iMCIgY3JzOkdyYWluQW1vdW50PSIwIiBjcnM6TGVuc1Byb2ZpbGVFbmFibGU9IjAiIGNyczpMZW5zTWFudWFsRGlzdG9ydGlvbkFtb3VudD0iMCIgY3JzOlBlcnNwZWN0aXZlVmVydGljYWw9IjAiIGNyczpQZXJzcGVjdGl2ZUhvcml6b250YWw9IjAiIGNyczpQZXJzcGVjdGl2ZVJvdGF0ZT0iMC4wIiBjcnM6UGVyc3BlY3RpdmVTY2FsZT0iMTAwIiBjcnM6QXV0b0xhdGVyYWxDQT0iMCIgY3JzOkV4cG9zdXJlMjAxMj0iMC4wMCIgY3JzOkNvbnRyYXN0MjAxMj0iMCIgY3JzOkhpZ2hsaWdodHMyMDEyPSIwIiBjcnM6U2hhZG93czIwMTI9IjAiIGNyczpXaGl0ZXMyMDEyPSIwIiBjcnM6QmxhY2tzMjAxMj0iMCIgY3JzOkNsYXJpdHkyMDEyPSIwIiBjcnM6Q29udmVydFRvR3JheXNjYWxlPSJGYWxzZSIgY3JzOlRvbmVDdXJ2ZU5hbWU9IkxpbmVhciIgY3JzOlRvbmVDdXJ2ZU5hbWUyMDEyPSJMaW5lYXIiIGNyczpDYW1lcmFQcm9maWxlPSJFbWJlZGRlZCIgY3JzOkNhbWVyYVByb2ZpbGVEaWdlc3Q9IjU0NjUwQTM0MUI1QjVDQ0FFODQ0MkQwQjQzQTkyQkNFIiBjcnM6TGVuc1Byb2ZpbGVTZXR1cD0iTGVuc0RlZmF1bHRzIiBjcnM6SGFzU2V0dGluZ3M9IlRydWUiIGNyczpIYXNDcm9wPSJGYWxzZSIgY3JzOkFscmVhZHlBcHBsaWVkPSJUcnVlIiB4bXA6UmF0aW5nPSIwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIxLTEyLTIxVDEzOjAzOjA2LTA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMS0xMi0yMVQxMzowMzowNi0wODowMCIgeG1wOkNyZWF0ZURhdGU9IjIwMjEtMTEtMTNUMTU6MDI6NDQtMDg6MDAiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJBZG9iZSBSR0IgKDE5OTgpIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gaW1hZ2UvanBlZyB0byBpbWFnZS90aWZmIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoxRkU0QUY0MjlFNjJFQzExOTIwRjk5REI1NzJDNUZBRCIgc3RFdnQ6d2hlbj0iMjAyMS0xMi0yMVQxMjo1OTowNC0wODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENhbWVyYSBSYXcgNy4wIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjMyNzQxNTg5RTYyRUMxMTkwN0NBNTlEODYxOTkzMDMiIHN0RXZ0OndoZW49IjIwMjEtMTItMjFUMTM6MDM6MDYtMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gaW1hZ2UvdGlmZiB0byBpbWFnZS9qcGVnIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBpbWFnZS90aWZmIHRvIGltYWdlL2pwZWciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjI0Mjc0MTU4OUU2MkVDMTE5MDdDQTU5RDg2MTk5MzAzIiBzdEV2dDp3aGVuPSIyMDIxLTEyLTIxVDEzOjAzOjA2LTA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjMyNzQxNTg5RTYyRUMxMTkwN0NBNTlEODYxOTkzMDMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUZFNEFGNDI5RTYyRUMxMTkyMEY5OURCNTcyQzVGQUQiIHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD0iODAzQjQ5REMzRkU2MDZERUM4RTI4MTA3OTJCMUE1MDYiLz4gPGNyczpUb25lQ3VydmU+IDxyZGY6U2VxPiA8cmRmOmxpPjAsIDA8L3JkZjpsaT4gPHJkZjpsaT4yNTUsIDI1NTwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvY3JzOlRvbmVDdXJ2ZT4gPGNyczpUb25lQ3VydmVSZWQ+IDxyZGY6U2VxPiA8cmRmOmxpPjAsIDA8L3JkZjpsaT4gPHJkZjpsaT4yNTUsIDI1NTwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvY3JzOlRvbmVDdXJ2ZVJlZD4gPGNyczpUb25lQ3VydmVHcmVlbj4gPHJkZjpTZXE+IDxyZGY6bGk+MCwgMDwvcmRmOmxpPiA8cmRmOmxpPjI1NSwgMjU1PC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9jcnM6VG9uZUN1cnZlR3JlZW4+IDxjcnM6VG9uZUN1cnZlQmx1ZT4gPHJkZjpTZXE+IDxyZGY6bGk+MCwgMDwvcmRmOmxpPiA8cmRmOmxpPjI1NSwgMjU1PC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9jcnM6VG9uZUN1cnZlQmx1ZT4gPGNyczpUb25lQ3VydmVQVjIwMTI+IDxyZGY6U2VxPiA8cmRmOmxpPjAsIDA8L3JkZjpsaT4gPHJkZjpsaT4yNTUsIDI1NTwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvY3JzOlRvbmVDdXJ2ZVBWMjAxMj4gPGNyczpUb25lQ3VydmVQVjIwMTJSZWQ+IDxyZGY6U2VxPiA8cmRmOmxpPjAsIDA8L3JkZjpsaT4gPHJkZjpsaT4yNTUsIDI1NTwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvY3JzOlRvbmVDdXJ2ZVBWMjAxMlJlZD4gPGNyczpUb25lQ3VydmVQVjIwMTJHcmVlbj4gPHJkZjpTZXE+IDxyZGY6bGk+MCwgMDwvcmRmOmxpPiA8cmRmOmxpPjI1NSwgMjU1PC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9jcnM6VG9uZUN1cnZlUFYyMDEyR3JlZW4+IDxjcnM6VG9uZUN1cnZlUFYyMDEyQmx1ZT4gPHJkZjpTZXE+IDxyZGY6bGk+MCwgMDwvcmRmOmxpPiA8cmRmOmxpPjI1NSwgMjU1PC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9jcnM6VG9uZUN1cnZlUFYyMDEyQmx1ZT4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+eG1wLmRpZDo5NEJFNjdFNUEwNjJFQzExOTIwRjk5REI1NzJDNUZBRDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6OTZCRTY3RTVBMDYyRUMxMTkyMEY5OURCNTcyQzVGQUQ8L3JkZjpsaT4gPC9yZGY6QmFnPiA8L3Bob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/Pv/iAkBJQ0NfUFJPRklMRQABAQAAAjBBREJFAhAAAG1udHJSR0IgWFlaIAfPAAYAAwAAAAAAAGFjc3BBUFBMAAAAAG5vbmUAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtQURCRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACmNwcnQAAAD8AAAAMmRlc2MAAAEwAAAAa3d0cHQAAAGcAAAAFGJrcHQAAAGwAAAAFHJUUkMAAAHEAAAADmdUUkMAAAHUAAAADmJUUkMAAAHkAAAADnJYWVoA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"}},"time_used":182,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":174,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/img/sbg2.jpg","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.968Z","timestamp":1785129291968,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /img/sbg2.jpg HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:51 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Wed, 09 Dec 2020 04:52:52 GMT\r\naccept-ranges: bytes\r\ncontent-length: 75155\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":75155,"size_decoded":75422,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 1920x450, components 3","md5":"abe07ca9024839b867371621338c7619","sha1":"5e88fae5e15e061d7c3655e5a9ffe4b5937fb701","sha256":"0824f719afa0163ede424312882ea0788ac8fe6edd1804d0d49f7437ea06efb2","sha512":"b342fc83d5f46820d7a96ef3bb507d141d78f53c4769c45948010b46c3287bfb540a193115115b58daedc4aa72f509c3c03ef40c9cd803e514ae8d3be5d5f331","ssdeep":"1536:1em83oh6Nl9mlgWjhXnLhAa6ZSQkEkpTH1RwI0wxgFa3K3CrzkO:1e/f/MgqhX1Aa6Z9qR1wCrzkO","tlshash":"bb730296eeee2d14c4f2b134d7eec1e0e393a310176a598a182ae05973877117361bfc","first_seen":"2026-03-18T18:06:47.159586Z","last_seen":"2026-07-27T05:16:58.414201Z","times_seen":7,"resource_available":false,"data":"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"}},"time_used":181,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":65,"receive":116,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/img/home-01.jpeg","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.960Z","timestamp":1785129291960,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /img/home-01.jpeg HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:51 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Wed, 04 May 2022 16:05:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 33396\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":33396,"size_decoded":33663,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 512x342, components 3","md5":"487b2f4acc49527b82b7ea0863d42bcd","sha1":"20ac76c8cbab8c74c3fa70e9ab9a755a6f5a7bac","sha256":"d96354fa86ac453429637b94f11f927f8da6206f45093094d0c4b73c0277b647","sha512":"ac282892ec2c04c6196234d546e575dd648bf89bbf8a5d38b022eda9cef7aedb968113a4ff7fe3056d7cb881d5a8430ba17866597cf76dea489393c48cd17c2b","ssdeep":"768:IWqKlbx2QKDMLOzm1rwkDswGYEUt+xqAWHfeSX2pC1mU8YyQ2Kj:tqQ3KQLOzIrlsw1Ei+x9aGpC+Y6Kj","tlshash":"9be2f102918579f1df22a596c0ab64d436aaf3e722a301f832f400979435f7c2eded57","first_seen":"2025-11-01T04:02:53.279554Z","last_seen":"2026-07-27T05:16:58.413431Z","times_seen":7,"resource_available":false,"data":"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"}},"time_used":178,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":174,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"bootstrap.smartsuppchat.com/widget/16f591afd5ded6e2acc7f0371464d9b530e1d612.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://crystal-exploits.org/","date":"2026-07-27T05:14:55.694Z","timestamp":1785129295694,"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/16f591afd5ded6e2acc7f0371464d9b530e1d612.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://crystal-exploits.org\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\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 05:14:55 GMT\r\ncontent-type: application/json; charset=utf-8\r\nx-version: 6cb79abf75047496934c7756b55ec6f26e7d2373\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: private, max-age=0, must-revalidate\r\nx-hit: redis\r\netag: \"4c7-B/6NfaaDpZne/g/uc5qfSnm44ZA\"\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1223,"size_decoded":879,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"1623b3b9e850c9c1491c70aef8d248c2","sha1":"07fe8d7da683a599defe0fee739a9f4a79b8e190","sha256":"b5b4d35c58c664f860fdab342e28e4f7337c31f56e8da3582e65972af84deb9e","sha512":"bcfb7323cde3f50f57c38880ba4f962f1f35f106a93074f2f3da73256fe2b54698c6065b11f1bc93d6f74811f6d2543fc6f5aa7afea2e5df1ff45b4f25fcc6d2","ssdeep":"","tlshash":"5321766d4a6822fd5245c7d6c5047a036bacdcb371003e7eea0d0a0e70db2e6223646b","first_seen":"2026-06-06T06:44:39.646667Z","last_seen":"2026-07-27T08:07:11.222641Z","times_seen":1649,"resource_available":false,"data":"eyJhaVJhdGluZ0VuYWJsZWQiOnRydWUsImFsbG93ZWREb21haW5zIjpbXSwiYnV0dG9uU3R5bGUiOiJncmVldGluZyIsImNvbG9yIjoiIzEyMzNkZiIsImNvbG9yMiI6bnVsbCwiY29sb3JHcmFkaWVudCI6dHJ1ZSwiY29uc2VudE1vZGVFbmFibGVkIjpmYWxzZSwiY3Jvc3NEb21haW5FbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdFbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdMaW5rIjoiIiwiY3VzdG9tQnJhbmRpbmdUZXh0IjoiIiwiZW1haWxDb250cm9sIjp0cnVlLCJmZWF0dXJlcyI6eyJhcGkiOmZhbHNlLCJjdXN0b21pemUiOmZhbHNlLCJnYSI6ZmFsc2UsImdyb3VwcyI6ZmFsc2UsInJhdGluZyI6ZmFsc2UsIndoaXRlTGFiZWwiOmZhbHNlfSwiZ29vZ2xlQW5hbHl0aWNzRW5hYmxlZCI6ZmFsc2UsImdvb2dsZUFuYWx5dGljc01hbnVhbCI6ZmFsc2UsImdvb2dsZUFuYWx5dGljc01lYXN1cmVtZW50SWRzIjpbXSwiZ3JvdXBTZWxlY3RFbmFibGVkIjpmYWxzZSwiaGVhZGVyU3R5bGUiOiJzdGFuZGFyZCIsImhpZGVPZmZsaW5lQ2hhdCI6ZmFsc2UsImhpZGVXaWRnZXQiOmZhbHNlLCJob3N0Ijoid2Vic29ja2V0LXZpc2l0b3JzLnNtYXJ0c3VwcC5jb20iLCJpbnRlcm5hbEFuYWx5dGljc0VuYWJsZWQiOmZhbHNlLCJpc0Jsb2NrZWQiOmZhbHNlLCJsYW5nIjoiZW4iLCJtb2JpbGVQb3B1cHNFbmFibGVkIjp0cnVlLCJuYW1lQ29udHJvbCI6dHJ1ZSwibnVtYmVyQ29udHJvbCI6ZmFsc2UsIm9wZW5PblRyaWdnZXIiOmZhbHNlLCJvcmllbnRhdGlvbiI6InJpZ2h0IiwicGFja2FnZU5hbWUiOiJmcmVlIiwicG9wdXBUZXh0YXJlYUVuYWJsZWQiOmZhbHNlLCJwcml2YWN5Tm90aWNlQ2hlY2tSZXF1aXJlZCI6ZmFsc2UsInByaXZhY3lOb3RpY2VFbmFibGVkIjp0cnVlLCJwcml2YWN5Tm90aWNlVXJsIjoiIiwicmF0aW5nRW5hYmxlZCI6ZmFsc2UsInJlcXVpcmVMb2dpbiI6ZmFsc2UsInRyYW5zbGF0ZXMiOnt9LCJ1cmxDYXJkc0VuYWJsZWQiOnRydWUsIndpZGdldFZlcnNpb24iOjMsImhhc0ludGVybmFsQXBpIjpmYWxzZSwiY29uZmlnIjp7fSwiYnJvd3NlckxhbmciOiJlbiIsIndpZGdldFRyYWNrZXJVcmwiOiJodHRwczovL3dpZGdldC10cmFja2VyLnNtYXJ0c3VwcC5jb20iLCJ0cmFuc2xhdGlvbnNCYXNlVXJsIjoiaHR0cHM6Ly90cmFuc2xhdGlvbnMuc21hcnRzdXBwY2RuLmNvbSIsIndpZGdldFRyYWNrZXJFbmFibGVkIjpmYWxzZX0="}},"time_used":76,"timings":{"blocked":0,"dns":3,"connect":21,"send":0,"wait":25,"receive":0,"ssl":26},"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":"3.126.223.20","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:56.071Z","timestamp":1785129296071,"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://crystal-exploits.org\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: ueKCklB9/tDiwOl6iRnLbw==\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 05:14:56 GMT\r\nConnection: upgrade\r\nUpgrade: websocket\r\nSec-WebSocket-Accept: COIedvhpmnIpxMegS8Vfz0eT5ns=\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-27T08:08:41.31747Z","times_seen":17559137,"resource_available":true,"data":""}},"time_used":228,"timings":{"blocked":0,"dns":80,"connect":98,"send":0,"wait":25,"receive":0,"ssl":24},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/img/cta-img2.png","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.973Z","timestamp":1785129291973,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /img/cta-img2.png HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 09 Dec 2020 04:52:52 GMT\r\naccept-ranges: bytes\r\ncontent-length: 27578\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":27578,"size_decoded":27844,"mime_type":"image/png","magic":"PNG image data, 750 x 328, 8-bit colormap, non-interlaced","md5":"245a3e6fe7b6cdcd0fb62a3bc52b6dc9","sha1":"c2353570b0543c309d8f67e71bfeacc71d70696e","sha256":"93ad85c65065f6e15a7ea0cfec1c1a95a10908f45510362927152600996fcbcc","sha512":"cb0fda2fa5fea1a3372614a42623ef57a55cb7012e5f15f5663097c5dd53bf9bc1a6c6399d117387c696b84d9e83a155139fe45208f254e040c3e7e0e11dd878","ssdeep":"768:u3tmzbGQjJjcNDEtzhlrsNWZ+tRIX8Z+ERr11:uQVjdcREpsN6+vIX8gEX1","tlshash":"2ec2e200f555135aa5700cbb0c8dcd9cf4a41caae4954afdaaf35e5f57cf41ec621744","first_seen":"2025-09-22T10:43:48.485151Z","last_seen":"2026-07-27T05:48:43.284977Z","times_seen":13,"resource_available":false,"data":"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"}},"time_used":197,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":196,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80594.e87444e26f9e12545231.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.631Z","timestamp":1785129292631,"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/80594.e87444e26f9e12545231.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-a338\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 82e7e0f294733747d833dd03c4b1f32e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":41784,"size_decoded":13916,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (8882)","md5":"75148ecd9563758ef37fbf710fa1ed9c","sha1":"de1a10ecd54ec0decbb03a8cd557426111cea6d0","sha256":"cf8c7a93d59e717ec020cee201f3d4cc1c2abdd9d284d8c741acd1489c03835c","sha512":"f58c5f5e173f73a99e68100eddfff45b2ea08d85d707f75a9b525aed76766a2a71017d55a717a9392da38d5c5ae394e073d0e7784e029bda8c8aae2a167f353d","ssdeep":"768:E+Rr6eBG5q/FjGgPqzEthfn9evRIZ3XQl0m0FSCUSxlfHiTzJuqgyLDNZGItbNb6:spKxt59evRIZXxQy8NbNANtfJiO","tlshash":"5f13c83df5d1956372eb84ff4f66f6435a266402b26b6fe0b135d3c0244ac8b1222e6d","first_seen":"2026-07-23T13:38:20.394325Z","last_seen":"2026-07-27T08:08:00.965314Z","times_seen":1027,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjk2NSw4MDU5NCw4MDkzOV0sezgwNDYxOShvKXtvLmV4cG9ydHM9e319LDExNDA2OChvKXtvLmV4cG9ydHM9eyJjb21tb24tdG9vbHRpcCI6ImNvbW1vbi10b29sdGlwLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLWhpZGRlbiI6ImNvbW1vbi10b29sdGlwLS1oaWRkZW4tRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0taG9yaXpvbnRhbCI6ImNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLWZhcnRoZXIiOiJjb21tb24tdG9vbHRpcC0tZmFydGhlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS12ZXJ0aWNhbCI6ImNvbW1vbi10b29sdGlwLS12ZXJ0aWNhbC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLWZhcnRoZXIiOiJjb21tb24tdG9vbHRpcC1mYXJ0aGVyLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwiOiJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5IjoiY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYnV0dG9uLWNvbnRhaW5lciI6ImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLWJ1dHRvbnMiOiJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tYnV0dG9ucy1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19idXR0b24iOiJjb21tb24tdG9vbHRpcF9fYnV0dG9uLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZCI6ImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlciI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93IjoiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFib3ZlIjoiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFib3ZlLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZSI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXIiOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0td2l0aC1ob3RrZXkiOiJjb21tb24tdG9vbHRpcF9fYm9keS0td2l0aC1ob3RrZXktRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZSI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF93aWRlLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpZHRoX25hcnJvdyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ctRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tcGFkZGluZyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1wYWRkaW5nLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jayI6ImNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrLS1kaXZpZGVyIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jay0tZGl2aWRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktdGV4dCI6ImNvbW1vbi10b29sdGlwX19ob3RrZXktdGV4dC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1idXR0b24tRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fcGx1cy1zaWduIjoiY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbi1FSkJEOTZ6WCJ9fSw1NjkzOTgobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7aXNGZWF0dXJlRW5hYmxlZDooKT0+Z30pO3ZhciByPXQoOTQ4MzgwKSxsPXQoMzc3MjI2KSxjPXQoODU2MTk2KSxuPXQoOTMyMzY1KTtjb25zdCBhPW5ldyByLkRlbGVnYXRlLGk9ImZvcmNlZmVhdHVyZXRvZ2dsZS4iO2NvbnN0IHM9bmV3IGNsYXNze2VuYWJsZUZlYXR1cmUobyl7bi5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGkrbywidHJ1ZSIpLGEuZmlyZShvKX1kaXNhYmxlRmVhdHVyZShvKXtuLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oaStvLCJmYWxzZSIpLGEuZmlyZShvKX1yZXNldEZlYXR1cmUobyl7bi5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGkrbyksYS5maXJlKG8pfW9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQoKXtyZXR1cm4gYX19O2Z1bmN0aW9uIGQobyxlKXtyZXR1cm4oIW9bZV18fC0xIT09b1tlXSkmJighISgidHJ1ZSI9PT1uLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0oaStlKXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJ0cnVlIj09PXdpbmRvdy51c2VyPy5zZXR0aW5ncz8uW2krZV0pfHwhKCJmYWxzZSI9PT1uLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0oaStlKXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJmYWxzZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltpK2VdKSYmKCEhb1tlXSYmKDE9PT1vW2VdfHwoMCxjLnNob3VsZEFmZmVjdFVzZXIpKGUsb1tlXSkpKSl9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e30sd2luZG93LlRyYWRpbmdWaWV3LkZlYXR1cmVUb2dnbGU9cztjb25zdCBnPSh1PXdpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGV8fHt9LCgwLGwub25XaWRnZXQpKCl8fFByb21pc2UuYWxsKFt0LmUoODU0MzQpLHQuZSg3Mjg1KSx0LmUoMTM5OTMpXSkudGhlbih0LmJpbmQodCw1MDcyODUpKS50aGVuKChvPT57by5wdXNoU3RyZWFtTXVsdGlwbGV4ZXIub24oImZlYXR1cmV0b2dnbGUiLChvPT57Y29uc3QgZT1kKHUsby5uYW1lKTt1W28ubmFtZV09by5zdGF0ZSxlIT09ZCh1LG8ubmFtZSkmJmEuZmlyZShvLm5hbWUpfSkpfSkpLApkLmJpbmQobnVsbCx1KSk7dmFyIHU7d2luZG93LlRyYWRpbmdWaWV3LmlzRmVhdHVyZUVuYWJsZWQ9Z30sNzkyNjEyKG8sZSx0KXsidXNlIHN0cmljdCI7dC5kKGUse2dldEluaXREYXRhOigpPT5sfSk7KDAsdCgyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5Jbml0RGF0YSIpO2NvbnN0IHI9d2luZG93LmluaXREYXRhfHx7fTtmdW5jdGlvbiBsKCl7cmV0dXJuIHJ9fSw5MzIzNjUobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7VFZMb2NhbFN0b3JhZ2U6KCk9PmN9KTtjb25zdCByPSgwLHQoMjIxMDYxKS5nZXRMb2dnZXIpKCJUVkxvY2FsU3RvcmFnZSIpO3ZhciBsPWZ1bmN0aW9uKCl7dHJ5e3RoaXMuaXNBdmFpbGFibGU9ITAsdGhpcy5sb2NhbFN0b3JhZ2U9d2luZG93LmxvY2FsU3RvcmFnZSx0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ0dmxvY2Fsc3RvcmFnZS5hdmFpbGFibGUiLCJ0cnVlIil9Y2F0Y2gobyl7ZGVsZXRlIHRoaXMuaXNBdmFpbGFibGUsZGVsZXRlIHRoaXMubG9jYWxTdG9yYWdlfXRoaXMuX3VwZGF0ZUxlbmd0aCgpO3RyeXt0aGlzLl9yZXBvcnQoKX1jYXRjaChvKXt9fTtsLnByb3RvdHlwZS5fcmVwb3J0PWZ1bmN0aW9uKCl7aWYodGhpcy5pc0F2YWlsYWJsZSl7Y29uc3Qgbz0xMCxlPVtdO2ZvcihsZXQgbz0wO288dGhpcy5sb2NhbFN0b3JhZ2UubGVuZ3RoO28rKyl7Y29uc3QgdD10aGlzLmtleShvKTtlLnB1c2goe2tleTp0LGxlbmd0aDpTdHJpbmcodGhpcy5nZXRJdGVtKHQpKS5sZW5ndGh9KX1lLnNvcnQoKChvLGUpPT5lLmxlbmd0aC1vLmxlbmd0aCkpO2NvbnN0IHQ9ZS5zbGljZSgwLG8pO2Uuc29ydCgoKG8sZSk9PmUua2V5Lmxlbmd0aC1vLmtleS5sZW5ndGgpKTtjb25zdCBsPWUuc2xpY2UoMCxvKTtyLmxvZ05vcm1hbChgVG90YWwgYW1vdW50IG9mIGtleXMgaW4gTG9jYWwgU3RvcmFnZTogJHt0aGlzLmxlbmd0aH1gKSxyLmxvZ05vcm1hbChgVG9wICR7b30ga2V5cyB3aXRoIGxvbmdlc3QgdmFsdWVzOiAke0pTT04uc3RyaW5naWZ5KHQpfWApLHIubG9nTm9ybWFsKGBUb3AgJHtvfSBsb25nZXN0IGtleSBuYW1lczogJHtKU09OLnN0cmluZ2lmeShsKX1gKTt0cnl7bmF2aWdhdG9yLnN0b3JhZ2UuZXN0aW1hdGUoKS50aGVuKChvPT57ci5sb2dOb3JtYWwoYFN0b3JhZ2UgZXN0aW1hdGU6ICR7SlNPTi5zdHJpbmdpZnkobyl9YCl9KSl9Y2F0Y2gobyl7fX19LGwucHJvdG90eXBlLmxlbmd0aD0wLGwucHJvdG90eXBlLmlzQXZhaWxhYmxlPSExLGwucHJvdG90eXBlLmxvY2FsU3RvcmFnZT17InR2bG9jYWxzdG9yYWdlLmF2YWlsYWJsZSI6ImZhbHNlIn0sbC5wcm90b3R5cGUuX3VwZGF0ZUxlbmd0aD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBdmFpbGFibGUpdGhpcy5sZW5ndGg9dGhpcy5sb2NhbFN0b3JhZ2UubGVuZ3RoO2Vsc2V7dmFyIG8sZT0wO2ZvcihvIGluIHRoaXMubG9jYWxTdG9yYWdlKXRoaXMubG9jYWxTdG9yYWdlLmhhc093blByb3BlcnR5KG8pJiZlKys7dGhpcy5sZW5ndGg9ZX19LGwucHJvdG90eXBlLmtleT1mdW5jdGlvbihvKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5rZXkobyk6T2JqZWN0LmtleXModGhpcy5sb2NhbFN0b3JhZ2UpW29dfSxsLnByb3RvdHlwZS5nZXRJdGVtPWZ1bmN0aW9uKG8pe3JldHVybiB0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0obyk6dm9pZCAwPT09dGhpcy5sb2NhbFN0b3JhZ2Vbb10/bnVsbDp0aGlzLmxvY2FsU3RvcmFnZVtvXX0sbC5wcm90b3R5cGUuc2V0SXRlbT1mdW5jdGlvbihvLGUpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShvLGUpOnRoaXMubG9jYWxTdG9yYWdlW29dPWUsdGhpcy5fdXBkYXRlTGVuZ3RoKCl9LGwucHJvdG90eXBlLnJlbW92ZUl0ZW09ZnVuY3Rpb24obyl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG8pOmRlbGV0ZSB0aGlzLmxvY2FsU3RvcmFnZVtvXSx0aGlzLl91cGRhdGVMZW5ndGgoKX0sbC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmNsZWFyKCk6dGhpcy5sb2NhbFN0b3JhZ2U9e30sdGhpcy5fdXBkYXRlTGVuZ3RoKCl9O2NvbnN0IGM9bmV3IGw7d2luZG93LlRWTG9jYWxTdG9yYWdlPWN9LDExNzMxMyhvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtpc09uTW9iaWxlQXBwUGFnZTooKT0+bH0pO3ZhciByPXQoNTg3NDM2KTtmdW5jdGlvbiBsKG8sZT0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOnR9PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IGw9InRydWUiPT09dC5nZXQoIm1vYmlsZWFwcF9uZXciKSxjPSJ0cnVlIj09PXQuZ2V0KCJtb2JpbGVhcHAiKTtpZighZSl7Y29uc3Qgbz1yLmdldCgidHZfYXBwIil8fCIiO2x8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKG8pLGN8fD0iaW9zIj09PW99cmV0dXJuISgibmV3IiE9PW8mJiJhbnkiIT09b3x8IWwpfHwhKCJuZXciPT09b3x8IWMpfX0sNzc5Mzg5KG8sZSx0KXsidXNlIHN0cmljdCI7dC5kKGUse0FjdGlvbkdyb3VwOigpPT5sfSk7dmFyIHI9dCg5OTI4MDMpO2NsYXNzIGx7Y29uc3RydWN0b3IobyxlKXt0aGlzLl9hY3Rpb25zPW5ldyBNYXAsdGhpcy5fbWFuYWdlcj1vLHRoaXMub3JkZXI9ZT8ub3JkZXI/PzAsdGhpcy5tb2RhbD0hKCFlfHwhZS5tb2RhbCksZSYmKHRoaXMuZGVzYz1lLmRlc2MpLGUmJmUuaXNEaXNhYmxlZD8iZnVuY3Rpb24iPT10eXBlb2YgZS5pc0Rpc2FibGVkP3RoaXMuaXNEaXNhYmxlZD1lLmlzRGlzYWJsZWQ6dGhpcy5pc0Rpc2FibGVkPSgpPT4hMDp0aGlzLmlzRGlzYWJsZWQ9KCk9PiExLHRoaXMuX21hbmFnZXIucmVnaXN0ZXJHcm91cCh0aGlzKX1hZGQobyl7bGV0IGU9dGhpcy5fYWN0aW9ucy5nZXQoby5ob3RrZXkpO2V8fChlPVtdLHRoaXMuX2FjdGlvbnMuc2V0KG8uaG90a2V5LGUpKTtjb25zdCB0PW5ldyByLkFjdGlvbih0aGlzLG8pO3JldHVybiBlLnB1c2godCksdH1yZW1vdmUobyl7Y29uc3QgZT10aGlzLl9hY3Rpb25zLmdldChvLmhvdGtleSk7aWYoIWUpcmV0dXJuCjtjb25zdCB0PWUuZmluZEluZGV4KChlPT5lPT09bykpO3Q+PTAmJigxPT09ZS5sZW5ndGg/dGhpcy5fYWN0aW9ucy5kZWxldGUoby5ob3RrZXkpOmUuc3BsaWNlKHQsMSkpfWhhbmRsZUhvdGtleShvLGUpe2NvbnN0IHQ9dGhpcy5fYWN0aW9ucy5nZXQobyk7aWYoIXQpcmV0dXJuITE7Zm9yKGNvbnN0IHIgb2YgdClpZigoIXIuZWxlbWVudHx8ZS50YXJnZXQmJnIuZWxlbWVudC5jb250YWlucyhlLnRhcmdldCkpJiYhci5pc0Rpc2FibGVkKGUpKXJldHVybiBlLnJlcGVhdCYmIXIuaXNSZXBlYXRBY2NlcHRlZHx8KHIuaGFuZGxlcihlKSx0aGlzLl9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIobykpLGUucHJldmVudERlZmF1bHQoKSwhMDtyZXR1cm4hMX1wcm9tb3RlKCl7dGhpcy5fbWFuYWdlci5wcm9tb3RlR3JvdXAodGhpcyl9ZGVzdHJveSgpe2Zvcihjb25zdFssb11vZiB0aGlzLl9hY3Rpb25zKWZvcihjb25zdCBlIG9mIG8pZS5kZXN0cm95KCk7dGhpcy5fYWN0aW9ucy5jbGVhcigpLHRoaXMuX21hbmFnZXIudW5yZWdpc3Rlckdyb3VwKHRoaXMpfXN0YXRpYyBzZXRNYXRjaGVkSG90a2V5SGFuZGxlcihvKXtsLl9tYXRjaGVkSG90a2V5SGFuZGxlcj1vfV9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIobyl7bC5fbWF0Y2hlZEhvdGtleUhhbmRsZXImJmwuX21hdGNoZWRIb3RrZXlIYW5kbGVyKG8pfX19LDI5MTM0MShvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtBY3Rpb25NYW5hZ2VyOigpPT5pfSk7dmFyIHI9dCgyMzIzNjQpLGw9dCgyMzU3MjQpLGM9dCg3MjEzNjkpLG49dCg2OTYyMDgpO2NsYXNzIGEgZXh0ZW5kcyByLldhdGNoZWRWYWx1ZXtzZXRWYWx1ZShvLGUpe2NvbnN0IHQ9dGhpcy52YWx1ZSgpOyhlfHx2b2lkIDA9PT10fHx0LmNvZGUhPT1vLmNvZGV8fHQubW9kaWZpZXJzIT09by5tb2RpZmllcnMpJiZzdXBlci5zZXRWYWx1ZShvKX19Y2xhc3MgaXtjb25zdHJ1Y3Rvcigpe3RoaXMuX2dyb3Vwcz1bXSx0aGlzLl9wcmVzc2VkS2V5cz1uZXcgci5XYXRjaGVkVmFsdWUoMCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlPW5ldyBhKG5ldyBuLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgwKSksdGhpcy5fa2V5RG93bkxpc3RlbmVyPW89PntpZihvLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2NvbnN0IGU9KDAsbC5oYXNoRnJvbUV2ZW50KShvKTtpZih0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZShlKSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUuc2V0VmFsdWUobmV3IG4uS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCgwLGwubW9kaWZpZXJzRnJvbUV2ZW50KShvKSxvLmNvZGUpKSwhKDAsYy5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKGUsby50YXJnZXQpKWZvcihsZXQgdD10aGlzLl9ncm91cHMubGVuZ3RoO3QtLSA+MDspe2NvbnN0IHI9dGhpcy5fZ3JvdXBzW3RdO2lmKCFyLmlzRGlzYWJsZWQoKSl7aWYoci5oYW5kbGVIb3RrZXkoZSxvKSlyZXR1cm47aWYoci5tb2RhbClyZXR1cm59fX0sdGhpcy5fa2V5VXBMaXN0ZW5lcj1vPT57Y29uc3QgZT0oMCxsLmhhc2hGcm9tRXZlbnQpKG8pO3RoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKGUpLHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5zZXRWYWx1ZShuZXcgbi5LZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKDAsbC5tb2RpZmllcnNGcm9tRXZlbnQpKG8pLCIiKSl9LHRoaXMuX2JsdXJFdmVudD0oKT0+e3RoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKDApLHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5zZXRWYWx1ZShuZXcgbi5LZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoMCwiIikpfSx0aGlzLl9tb3VzZUV2ZW50PW89Pntjb25zdCBlPSgwLGwubW9kaWZpZXJzRnJvbUV2ZW50KShvKSx0PTI1NSYodGhpcy5fcHJlc3NlZEtleXMudmFsdWUoKT8/MCk7dGhpcy5fcHJlc3NlZEtleXMuc2V0VmFsdWUoZXx0KX19bGlzdGVuKG8pe28uYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fa2V5RG93bkxpc3RlbmVyKSxvLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9rZXlVcExpc3RlbmVyKSxvLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2JsdXJFdmVudCksby5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX21vdXNlRXZlbnQpfXVubGlzdGVuKG8pe28ucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fa2V5RG93bkxpc3RlbmVyKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9rZXlVcExpc3RlbmVyKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2JsdXJFdmVudCksby5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX21vdXNlRXZlbnQpfXJlZ2lzdGVyR3JvdXAobyl7dGhpcy5fZ3JvdXBzLnB1c2gobyksdGhpcy5zb3J0R3JvdXBzKCl9dW5yZWdpc3Rlckdyb3VwKG8pe2ZvcihsZXQgZT10aGlzLl9ncm91cHMubGVuZ3RoO2UtLTspdGhpcy5fZ3JvdXBzW2VdPT09byYmdGhpcy5fZ3JvdXBzLnNwbGljZShlLDEpfXByb21vdGVHcm91cChvKXtjb25zdCBlPXRoaXMuX2dldE1vZGFsT3JkZXJFcG9jaCgpLHQ9cyhvLGUpO2xldCByPXRoaXMuX2dyb3Vwcy5maW5kSW5kZXgoKG89PnMobyxlKT09PXQpKSxsPTA7Zm9yKDtyPHRoaXMuX2dyb3Vwcy5sZW5ndGgmJnModGhpcy5fZ3JvdXBzW3JdLGUpPT09dDspe2NvbnN0IGM9dGhpcy5fZ3JvdXBzW3JdO2M9PT1vP2w9MTpzKGMsZSk9PT10JiYodGhpcy5fZ3JvdXBzW3ItbF09YykscisrfXRoaXMuX2dyb3Vwc1tyLWxdPW99cHJlc3NlZEtleXMoKXtyZXR1cm4gdGhpcy5fcHJlc3NlZEtleXMucmVhZG9ubHkoKX1rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKXtyZXR1cm4gdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnJlYWRvbmx5KCl9c29ydEdyb3Vwcygpe2NvbnN0IG89dGhpcy5fZ2V0TW9kYWxPcmRlckVwb2NoKCk7dGhpcy5fZ3JvdXBzLnNvcnQoKChlLHQpPT5zKHQsbyktcyhlLG8pKSl9X2dldE1pbk9yZGVyKCl7cmV0dXJuIHRoaXMuX2dyb3Vwcy5yZWR1Y2UoKChvLGUpPT5NYXRoLm1pbihvLGUub3JkZXIpKSwwKX0KX2dldE1vZGFsT3JkZXJFcG9jaCgpe3JldHVybi0yKihNYXRoLmFicyh0aGlzLl9nZXRNaW5PcmRlcigpKS0xKX19ZnVuY3Rpb24gcyhvLGUpe3JldHVybiBvLm9yZGVyKyhvLm1vZGFsP2U6MCl9fSw5OTI4MDMobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7QWN0aW9uOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihvLGUpe3RoaXMuX2dyb3VwPW87Y29uc3R7aG90a2V5OnQsaGFuZGxlcjpyLGRlc2M6bCxpc0Rpc2FibGVkOmMsZWxlbWVudDpuPW51bGwsaXNSZXBlYXRBY2NlcHRlZDphPSExfT1lO3RoaXMuaG90a2V5PXQsdGhpcy5oYW5kbGVyPXIsdGhpcy5kZXNjPWwsdGhpcy5lbGVtZW50PW4sdGhpcy5pc1JlcGVhdEFjY2VwdGVkPWEsdGhpcy5pc0Rpc2FibGVkPWM/ImZ1bmN0aW9uIj09dHlwZW9mIGM/YzooKT0+ITA6KCk9PiExfWRlc3Ryb3koKXt0aGlzLl9ncm91cCYmKHRoaXMuX2dyb3VwLnJlbW92ZSh0aGlzKSx0aGlzLl9ncm91cD1udWxsKX19fSw3MjcwOShvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtjcmVhdGVHcm91cDooKT0+bn0pO3ZhciByPXQoMjkxMzQxKSxsPXQoNzc5Mzg5KTtjb25zdCBjPW5ldyByLkFjdGlvbk1hbmFnZXI7Yy5wcmVzc2VkS2V5cygpLGMua2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCk7ZnVuY3Rpb24gbihvKXtyZXR1cm4gbmV3IGwuQWN0aW9uR3JvdXAoYyxvKX19LDY5NjIwOChvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtLZXlib2FyZFByZXNzZWRLZXlzU3RhdGU6KCk9Pmx9KTt2YXIgcj10KDIzNTcyNCk7Y2xhc3MgbHtjb25zdHJ1Y3RvcihvLGUpe3RoaXMubW9kaWZpZXJzPW8sdGhpcy5jb2RlPWV9YWx0T3JPcHRpb25Db2RlKCl7cmV0dXJuIkFsdExlZnQiPT09dGhpcy5jb2RlfHwiQWx0UmlnaHQiPT09dGhpcy5jb2RlfWNvbnRyb2xPck1ldGFDb2RlKCl7cmV0dXJuIHIuaXNNYWNLZXlib2FyZD8iTWV0YUxlZnQiPT09dGhpcy5jb2RlfHwiTWV0YVJpZ2h0Ij09PXRoaXMuY29kZXx8Ik9TTGVmdCI9PT10aGlzLmNvZGV8fCJPU1JpZ2h0Ij09PXRoaXMuY29kZToiQ29udHJvbExlZnQiPT09dGhpcy5jb2RlfHwiQ29udHJvbFJpZ2h0Ij09PXRoaXMuY29kZX19fSwzODcyMzEobyxlLHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKG8sZSx0PXt9KXtyZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxvLGZ1bmN0aW9uKG8sZSx0PXt9KXtjb25zdCByPU9iamVjdC5hc3NpZ24oe30sZSk7Zm9yKGNvbnN0IGwgb2YgT2JqZWN0LmtleXMoZSkpe2NvbnN0IGM9dFtsXXx8bDtjIGluIG8mJihyW2xdPVtvW2NdLGVbbF1dLmpvaW4oIiAiKSl9cmV0dXJuIHJ9KG8sZSx0KSl9dC5kKGUse21lcmdlVGhlbWVzOigpPT5yfSl9LDQ5MjY3NyhvLGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIobyl7Y29uc3QgZT1bXTtmb3IoY29uc3QgdCBpbiBvKWlmKG8uaGFzT3duUHJvcGVydHkodCkmJm51bGwhPW9bdF0pe2NvbnN0IHI9b1t0XSxsPSJvYmplY3QiPT10eXBlb2Ygcj9KU09OLnN0cmluZ2lmeShyKTpTdHJpbmcocik7ZS5wdXNoKHtrZXk6dCxwYWlyOmVuY29kZVVSSUNvbXBvbmVudCh0KSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGwpfSl9cmV0dXJuIGUuc29ydCgoKG8sZSk9Pm8ua2V5PmUua2V5PzE6by5rZXk8ZS5rZXk/LTE6MCkpLm1hcCgobz0+by5wYWlyKSkuam9pbigiJiIpfXQuZChlLHtjcmVhdGVVcmxQYXJhbXM6KCk9PnJ9KX0sMTA3MDQ1KG8sZSx0KXsidXNlIHN0cmljdCI7dC5kKGUse051bWVyaWNGb3JtYXR0ZXI6KCk9PmN9KTt2YXIgcj10KDU5ODkyMiksbD10KDU0NjQ4NSk7Y2xhc3MgY3tjb25zdHJ1Y3RvcihvPXt9KXt0aGlzLl9vcHRpb25zPW99Zm9ybWF0KG8sZT17fSl7aWYoIU51bWJlci5pc0Zpbml0ZShvKSlyZXR1cm4gU3RyaW5nKG8pO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0PXRoaXMuX29wdGlvbnMuaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0LG5vRXhwb25lbnRpYWxGb3JtOm49dGhpcy5fb3B0aW9ucy5ub0V4cG9uZW50aWFsRm9ybX09ZSx7bWluUHJlY2lzaW9uOmEscHJlY2lzaW9uOml9PXRoaXMuX29wdGlvbnMscz0oMCxsLmdldE51bWJlckZvcm1hdCkodCk7cmV0dXJuIHZvaWQgMD09PWk/Yy5fZm9ybWF0Tm9FSW1wbChvLHMsaSxhKTooMCxyLmZvcm1hdE51bWJlcikobyxzLGksbixhKX1wYXJzZShvLGUpe2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LHByZWNpc2lvbjpjfT10aGlzLl9vcHRpb25zLG49KDAsbC5nZXROdW1iZXJGb3JtYXQpKHR8fGU/Lmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCk7bGV0IGE9KDAsci5wYXJzZU51bWJlcikobyxuKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKGEpPyhjJiYoYT0rYS50b0ZpeGVkKGMpKSx7cmVzOiEwLHZhbHVlOmF9KTp7cmVzOiExfX1zdGF0aWMgZm9ybWF0Tm9FKG8sZSl7cmV0dXJuIHRoaXMuX2Zvcm1hdE5vRUltcGwobyxlKX1zdGF0aWMgX2Zvcm1hdE5vRUltcGwobyxlLHQsbCl7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShvKT8oZT1lPz97Z3JvdXBpbmdTZXBhcmF0b3I6IiIsZGVjaW1hbFNpZ246Ii4ifSwoMCxyLmZvcm1hdE51bWJlcikobyxlLHQsITAsbCkpOlN0cmluZyhvKX19fSw5MDEwMjIobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7U0VQQVJBVE9SX1BSRUZJWDooKT0+cn0pO2NvbnN0IHI9IiMjIyJ9LDM1NjM4MChvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtnZXRUb29sdGlwRGF0YTooKT0+bCxzZXRUb29sdGlwRGF0YTooKT0+Y30pO2NvbnN0IHI9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbChvLGUpe2NvbnN0IHQ9ci5nZXQobyk7cmV0dXJuIHQgaW5zdGFuY2VvZiBGdW5jdGlvbj90KGUpOnQmJnRbZV19ZnVuY3Rpb24gYyhvLGUsdCl7aWYodCBpbnN0YW5jZW9mIEZ1bmN0aW9uKXJldHVybiB2b2lkIHIuc2V0KG8sdCk7Y29uc3QgbD1yLmdldChvKSxjPXZvaWQgMD09PWx8fGwgaW5zdGFuY2VvZiBGdW5jdGlvbj97fTpsO2NbZV09dCxyLnNldChvLGMpfX0sNDkwMzc4KG8sZSx0KXsidXNlIHN0cmljdCI7dC5kKGUse2dldERhdGFGcm9tVGFyZ2V0OigpPT5tLGdldFRvb2x0aXA6KCk9PmgsaGlkZVRvb2x0aXA6KCk9PmYsCnNldFN0eWxlOigpPT5iLHNob3dUb29sdGlwOigpPT55fSk7dmFyIHIsbD10KDEzODYzOCksYz10KDQ0MzU1Nyksbj10KDk2OTE2OCksYT0odCg4MjkxODApLHQoNTE4NzUpKSxpPXQoNjQwNzQ0KSxzPXQoMzE4OTc0KSxkPXQoNjg2NjUwKSxnPXQoMzU2MzgwKSx1PXQoMzQ1MTUxKSxwPXQoMTE0MDY4KTtmdW5jdGlvbiBtKG8pe2NvbnN0IGU9ZnVuY3Rpb24obyl7Y29uc3QgZT1vLmhhc0F0dHJpYnV0ZSgiZGF0YS10b29sdGlwIik/by5nZXRBdHRyaWJ1dGUoImRhdGEtdG9vbHRpcCIpOm8uZ2V0QXR0cmlidXRlKCJ0aXRsZSIpO3JldHVybiBlJiYoKDAsZy5zZXRUb29sdGlwRGF0YSkobywidGV4dCIsZSksby5yZW1vdmVBdHRyaWJ1dGUoInRpdGxlIikpLCgwLGcuZ2V0VG9vbHRpcERhdGEpKG8sInRleHQiKXx8IiJ9KG8pLHQ9by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPXtoOnQuaGVpZ2h0LHc6dC53aWR0aCx4OnQubGVmdCx5OnQudG9wfSxsPW8uZ2V0QXR0cmlidXRlKCJkYXRhLWNvbG9yLXRoZW1lIil8fCIiLGM9by5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLWh0bWwiKSxuPXBhcnNlSW50KG8uZ2V0QXR0cmlidXRlKCJkYXRhLXRvb2x0aXAtZGVsYXkiKXx8IiIpLGE9cGFyc2VJbnQoby5nZXRBdHRyaWJ1dGUoImRhdGEtdG9vbHRpcC1kZWJvdW5jZSIpfHwiIik7bGV0IGk9e3R5cGU6Im5vbmUifTtyZXR1cm4gZSYmKGk9e3R5cGU6Yz8iaHRtbCI6InRleHQiLGRhdGE6ZX0pLHthYm92ZTpvLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtYWJvdmUiKSxiZWxvdzpvLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtYmVsb3ciKSxvdGw6by5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLW90bCIpLG90cjpvLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtb3RyIiksdmVydGljYWw6by5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLXZlcnRpY2FsIiksaG90a2V5Om8uZ2V0QXR0cmlidXRlKCJkYXRhLXRvb2x0aXAtaG90a2V5IiksbmFycm93Om8uY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1uYXJyb3ciKSx3aWRlOm8uY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC13aWRlIiksY29sb3JUaGVtZTpsLHRvb2x0aXBEZWxheTpuLHRvb2x0aXBEZWJvdW5jZTphLHJlY3Q6cixjb250ZW50OmksdGFyZ2V0Om99fWZ1bmN0aW9uIGgobyl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKEYpLmNsb25lTm9kZSghMCksdD1EKGUpLHtjb250ZW50OnJ9PW87c3dpdGNoKHIudHlwZSl7Y2FzZSJlbGVtZW50Ijp0LmlubmVySFRNTD0iIix0LmFwcGVuZENoaWxkKHIuZGF0YSk7YnJlYWs7Y2FzZSJodG1sIjp0LmlubmVySFRNTD1yLmRhdGE7YnJlYWs7Y2FzZSJ0ZXh0IjppZihvLmhvdGtleSl7Y29uc3Qgbz0oMCxsLmVuc3VyZU5vdE51bGwpKEMpLmNsb25lTm9kZSghMCk7by5pbm5lclRleHQ9ci5kYXRhLHQuYXBwZW5kQ2hpbGQobyl9ZWxzZSB0LmlubmVyVGV4dD1yLmRhdGF9aWYoby5ob3RrZXkpe2NvbnN0IGU9Im5vbmUiIT09ci50eXBlLGM9KDAsbC5lbnN1cmVOb3ROdWxsKShFKS5jbG9uZU5vZGUoITApLG49KDAsdS5ob3RLZXlEZXNlcmlhbGl6ZSkoby5ob3RrZXkpLGE9bi5rZXlzLm1hcCgobz0+YDxzcGFuIGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uIl19Ij4ke299PC9zcGFuPmApKTtjLmlubmVySFRNTD1mdW5jdGlvbihvLGUpe2NvbnN0IHQ9L3tcZH18e2hvdGtleV9cZH0vZ2k7cmV0dXJuIG8ucmVwbGFjZSh0LChvPT57Y29uc3QgdD1OdW1iZXIoby5tYXRjaCgvXGQvKSk7cmV0dXJuIGVbdF19KSl9KG4udGV4dCxhKS5yZXBsYWNlKC9cc1wrXHMvZyxgPHNwYW4gY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbiJdfSI+Kzwvc3Bhbj5gKSx0LmNsYXNzTGlzdC5hZGQocFsiY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpdGgtaG90a2V5Il0pLGUmJmMuY2xhc3NMaXN0LmFkZChwWyJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrLS1kaXZpZGVyIl0pLHQuYXBwZW5kQ2hpbGQoYyl9cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGEucHJldmVudERlZmF1bHQpLGV9ZnVuY3Rpb24gYihvLGUpe2NvbnN0IHQ9ZS5yZWN0O2lmKCF0KXJldHVybjsoMCxkLnNldFRvb2x0aXBDb2xvclRoZW1lKShvLGUuY29sb3JUaGVtZXx8ImRlZmF1bHQiKTtjb25zdCByPUQobyksbD1vLnF1ZXJ5U2VsZWN0b3IoYC4ke3BbImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyIl19YCk7ZS5hZGRDbGFzcyYmby5jbGFzc0xpc3QuYWRkKGUuYWRkQ2xhc3MpLGUuYWRkQm9keUNsYXNzJiZyLmNsYXNzTGlzdC5hZGQoZS5hZGRCb2R5Q2xhc3MpLHIuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZSJdLEJvb2xlYW4oZS53aWRlKSksci5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1wYWRkaW5nIl0sQm9vbGVhbihlLm5vUGFkZGluZykpLHIuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfbmFycm93Il0sQm9vbGVhbihlLm5hcnJvdykpLHIuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tYnV0dG9ucyJdLCEwKSxyLnN0eWxlLmxlZnQ9digwKSxyLnN0eWxlLndpZHRoPXYoci5jbGllbnRXaWR0aCsoQm9vbGVhbihlLm5vUGFkZGluZyk/MDoyKSk7Y29uc3QgYz1kb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoLGE9cy5DaGVja01vYmlsZS5pT1MoKXx8cy5DaGVja01vYmlsZS5BbmRyb2lkKCl8fCgwLHMuc3VwcG9ydFRvdWNoKSgpJiYoMCxzLmlzTWFjKSgpP3dpbmRvdy5pbm5lckhlaWdodDpkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCxnPWUudmVydGljYWwsdT1lLmV4dGVuZE1hcmdpbnx8ZyYmdC53PDIwfHwhZyYmdC5oPDIwO28uY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0tZmFydGhlciJdLHUpLApvLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXAtLXZlcnRpY2FsIl0sZyksby5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsIl0sIWcpO2NvbnN0IG09ZnVuY3Rpb24obyl7cmV0dXJuIG8ucXVlcnlTZWxlY3RvcihgLiR7cFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXIiXX1gKX0obyksaD1vLm9mZnNldEhlaWdodDtpZihnKXtjb25zdCBzPTEwLGQ9YS0xMCxnPTEyLHU9cytnLGI9ZC1nLHk9KDAsaS5jbGFtcCkodC55K3QuaC8yLHUsYiktaC8yLGY9eStoO28uc3R5bGUubGVmdD12KHQueCt0LncpLG8uc3R5bGUudG9wPXYoeSkseTxzP3Iuc3R5bGUudG9wPWwuc3R5bGUudG9wPXYocy15KTpmPmQmJihyLnN0eWxlLnRvcD1sLnN0eWxlLnRvcD12KGQtZikpO2NvbnN0e3JpZ2h0Ond9PShvLnF1ZXJ5U2VsZWN0b3IoIjpsYXN0LWNoaWxkIil8fHIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLF89dysxMD5jO28uY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkIl0sXyksby5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsIl0sIV8pO2xldCBrPV8/ImFmdGVyIjoiYmVmb3JlIjsoMCxuLmlzUnRsKSgpPyhrPWUub3RyPyJhZnRlciI6ayxrPWUub3RsPyJiZWZvcmUiOmspOihrPWUub3RyPyJiZWZvcmUiOmssaz1lLm90bD8iYWZ0ZXIiOmspLG0uY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVmb3JlIl0sImJlZm9yZSI9PT1rKSxtLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyIl0sImFmdGVyIj09PWspLCJhZnRlciI9PT1rJiYoby5zdHlsZS5sZWZ0PSJhdXRvIixvLnN0eWxlLnJpZ2h0PXYoYy10LngpKX1lbHNle2NvbnN0IG49dC54LShyLm9mZnNldFdpZHRoLXQudykvMixpPWMtby5vZmZzZXRXaWR0aC0yMDw9MD8oYy1vLm9mZnNldFdpZHRoKS8yOjEwLHM9Yy1pLW8ub2Zmc2V0V2lkdGgsZD1NYXRoLm1heChpLE1hdGgubWluKG4scykpO28uc3R5bGUubGVmdD12KGQpO2NvbnN0IGc9czxuO28uY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkIl0sZyksby5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsIl0sIWcpO2NvbnN0IHU9ZnVuY3Rpb24obyxlLHQscil7aWYoby5hYm92ZSlyZXR1cm4gTChlLHIpPyJhYm92ZSI6ImJlbG93IjtpZihvLmJlbG93KXJldHVybiBmdW5jdGlvbihvLGUsdCl7cmV0dXJuIHQueSt0LmgrZSsxMDxvfShlLHQscik/ImJlbG93IjoiYWJvdmUiO3JldHVybiBMKHQscik/ImFib3ZlIjoiYmVsb3cifShlLGEsaCx0KTsiYWJvdmUiPT09dT9vLnN0eWxlLmJvdHRvbT12KGEtdC55KTpvLnN0eWxlLnRvcD12KHQueSt0LmgpLG0uY2xhc3NMaXN0LmFkZCgiYWJvdmUiPT09dT9wWyJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUiXTpwWyJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ciXSk7Y29uc3R7bGVmdDpifT1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2xldCB5PU1hdGgudHJ1bmModC54K3Qudy8yLShiK3IuY2xpZW50V2lkdGgvMikpO28uc3R5bGUubGVmdD12KGQreSksby5zdHlsZS53aWR0aD12KHIuY2xpZW50V2lkdGgrbC5jbGllbnRXaWR0aCkseT1nP01hdGgubWF4KDAseSk6TWF0aC5taW4oMCx5KSxsLnN0eWxlLmxlZnQ9digteSksci5zdHlsZS5sZWZ0PXYoLXkpfX1mdW5jdGlvbiB5KG8pe28uY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0taGlkZGVuIl0sITEpfWZ1bmN0aW9uIGYobyl7by5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS1oaWRkZW4iXSwhMCl9ZnVuY3Rpb24gdihvKXtyZXR1cm5gJHtNYXRoLmZsb29yKG8pfXB4YH0hZnVuY3Rpb24obyl7b1tvLlZpZXdwb3J0UGFkZGluZz0xMF09IlZpZXdwb3J0UGFkZGluZyJ9KHJ8fChyPXt9KSk7Y29uc3Qgdz1gXG5cdDxkaXYgaWQ9ImNvbW1vbi10b29sdGlwLXdyYXBwZXIiIGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwIl19Ij5cblx0XHQ8ZGl2IGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyIl19IiA+XG5cdFx0XHQ8ZGl2IGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19ib2R5Il19IGpzLXRvb2x0aXAtYm9keSI+PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz0iJHtwWyJjb21tb24tdG9vbHRpcF9fYnV0dG9uLWNvbnRhaW5lciJdfSI+PC9kaXY+XG5cdDwvZGl2PlxuYCxfPWBcblx0PGRpdiBjbGFzcz0iJHtwWyJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrIl19Ij48L2Rpdj5cbmAsaz1gXG5cdDxkaXYgY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXBfX2hvdGtleS10ZXh0Il19Ij48L2Rpdj5cbmAsRj0oMCxjLnBhcnNlSHRtbEVsZW1lbnQpKHcpLEU9KDAsYy5wYXJzZUh0bWxFbGVtZW50KShfKSxDPSgwLGMucGFyc2VIdG1sRWxlbWVudCkoayk7ZnVuY3Rpb24gRChvKXtyZXR1cm4gby5xdWVyeVNlbGVjdG9yKGAuJHtwWyJjb21tb24tdG9vbHRpcF9fYm9keSJdfWApfWZ1bmN0aW9uIEwobyxlKXtyZXR1cm4gMTArbzxlLnl9fSwxNjc4OTYobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7ZW1wdHk6KCk9Pm4sc2V0VG9vbHRpcDooKT0+YX0pO2NvbnN0IHI9InRvb2x0aXAtcm9vdC1lbGVtZW50IjtsZXQgbDtmdW5jdGlvbiBjKCl7Y29uc3Qgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChyKTtvP2w9bzoobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxsLmlkPXIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsKSl9ZnVuY3Rpb24gbigpe2wmJihsLmlubmVySFRNTD0iIil9ZnVuY3Rpb24gYShvKXtuKCksbHx8YygpLGwuYXBwZW5kQ2hpbGQobyl9ImludGVyYWN0aXZlIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/YygpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGMpfSw2NTg5OTUobyxlLHQpeyJ1c2Ugc3RyaWN0Igo7dC5kKGUse2NsZWFyU2NoZWR1bGU6KCk9Pm4sc2NoZWR1bGVIaWRlOigpPT5pLHNjaGVkdWxlUmVtb3ZlOigpPT5hLHNjaGVkdWxlUmVuZGVyOigpPT5zfSk7bGV0IHI9MCxsPTAsYz0wO2Z1bmN0aW9uIG4oKXtjbGVhclRpbWVvdXQociksY2xlYXJUaW1lb3V0KGwpLGNsZWFyVGltZW91dChjKX1mdW5jdGlvbiBhKG8sZSl7Yz1zZXRUaW1lb3V0KG8sZSl9ZnVuY3Rpb24gaShvLGUpe2w9c2V0VGltZW91dChvLGUpfWZ1bmN0aW9uIHMobyxlKXtyPXNldFRpbWVvdXQobyxlKX19LDY4NjY1MChvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtzZXRUb29sdGlwQ29sb3JUaGVtZTooKT0+Y30pO2NvbnN0IHI9e2RlZmF1bHQ6IiIsd2hpdGU6InRoZW1lLXdoaXRlIixjaGFydDoidGhlbWUtY2hhcnQiLG5ld3M6InRoZW1lLW5ld3MiLCJyb3VuZC1zaGFkb3ciOiJ0aGVtZS1yb3VuZC1zaGFkb3cifSxsPU9iamVjdC5rZXlzKHIpO2Z1bmN0aW9uIGMobyxlKXtjb25zdCB0PWwuaW5jbHVkZXMoZSk/cltlXToiIjtvLmNsYXNzTGlzdC5yZW1vdmUoLi4ubC5tYXAoKG89PnJbb10pKS5maWx0ZXIoKG89PiEhbykpKSx0JiYhby5jbGFzc0xpc3QuY29udGFpbnModCkmJm8uY2xhc3NMaXN0LmFkZCh0KX19LDc0MjU3NyhvLGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIobyxlKXtyZXR1cm4gbyYmby51dG1fY2FtcGFpZ24mJihvLnV0bV9jYW1wYWlnbis9YC0ke2V9YCksb31hc3luYyBmdW5jdGlvbiBsKG8sZSxyLGwpe2lmKCJsZW50YXJ1Ij09PW8pe2NvbnN0e2dldExlbnRhQ29weXJpZ2h0RGF0YTpvfT1hd2FpdCBQcm9taXNlLmFsbChbdC5lKDQ0MjUzKSx0LmUoODUwMzgpXSkudGhlbih0LmJpbmQodCwyODQwNDEpKTtyZXR1cm4gbygpfWlmKCJjbW9uZXljb210dyI9PT1vKXtjb25zdHtnZXRDbW9uZXljb210d0NvcHlyaWdodERhdGE6b309YXdhaXQgUHJvbWlzZS5hbGwoW3QuZSg1OTk0MSksdC5lKDY0NDUpLHQuZSg3MTM5NCldKS50aGVuKHQuYmluZCh0LDc3Nzc2OSkpO3JldHVybiBvKGUscil9aWYoIm5ldyI9PT1sKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6b309YXdhaXQgUHJvbWlzZS5hbGwoW3QuZSg5Nzc5NyksdC5lKDc2MDQwKV0pLnRoZW4odC5iaW5kKHQsOTgxMTU3KSk7cmV0dXJuIG8oZSxyKX1pZigid2l0aF9ib3JkZXIiPT09bCl7Y29uc3R7Z2V0VHJhZGluZ1ZpZXdDb3B5cmlnaHREYXRhOm99PWF3YWl0IFByb21pc2UuYWxsKFt0LmUoNTM1MjEpLHQuZSgxNjgxMyldKS50aGVuKHQuYmluZCh0LDg1MjY2OSkpO3JldHVybiBvKGUscil9aWYoImxhcmdlX3RyYWRlIj09PWwpe2NvbnN0e2dldFRyYWRpbmdWaWV3Q29weXJpZ2h0RGF0YTpvfT1hd2FpdCBQcm9taXNlLmFsbChbdC5lKDc0MDExKSx0LmUoNzkwNDEpXSkudGhlbih0LmJpbmQodCw0OTM1NTkpKTtyZXR1cm4gbyhlLHIpfXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6b309YXdhaXQgUHJvbWlzZS5hbGwoW3QuZSg1OTk0MSksdC5lKDk3NTA5KV0pLnRoZW4odC5iaW5kKHQsNzA1NzkwKSk7cmV0dXJuIG8oZSxyKX19dC5kKGUse2FkZFV0bUNhbXBhaWduU291cmNlOigpPT5yLGdldEN1c3RvbWVyQ29weXJpZ2h0RGF0YTooKT0+bH0pfSw3NDgwMDIobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7Z2V0V2lkZ2V0U2hlcmlmZkFjdGlvbnM6KCk9PnN9KTt2YXIgcj10KDIyMTA2MSksbD10KDM4NDAxNyksYz10KDUyODg2NCk7Y29uc3Qgbj13aW5kb3cuV0lER0VUX1NIRVJJRkZfSE9TVHx8Imh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYueHN0YWdpbmctd2lkZ2V0LnR2IixhPSgwLHIuZ2V0TG9nZ2VyKSgiV2lkZ2V0U2hlcmlmZi5XaWRnZXQiKTtsZXQgaT1udWxsO2FzeW5jIGZ1bmN0aW9uIHMoKXtyZXR1cm4gbnVsbD09PWkmJihpPWF3YWl0IGFzeW5jIGZ1bmN0aW9uKCl7Y29uc3Qgbz1mdW5jdGlvbigpe2lmKGRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucyYmZG9jdW1lbnQubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aClyZXR1cm4gZG9jdW1lbnQubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zW2RvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGgtMV07dHJ5e3JldHVybiBuZXcgVVJMKGRvY3VtZW50LnJlZmVycmVyKS5vcmlnaW59Y2F0Y2gobyl7cmV0dXJuIGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbnx8bnVsbH19KCk7aWYobnVsbD09PW8pcmV0dXJuIGEubG9nV2FybigiYW5jZXN0b3JPcmlnaW4gaXMgdW5kZWZpbmVkIiksUHJvbWlzZS5yZXNvbHZlKFtdKTtjb25zdCBlPW5ldyBVUkwoIi9zaGVyaWZmL2FwaS92MS9ydWxlcy9zZWFyY2giLG4pO2Uuc2VhcmNoUGFyYW1zLmFwcGVuZCgib3JpZ2luIixvKTtyZXR1cm4oYXdhaXQoMCxsLmZldGNoKShlLnRvSlNPTigpKS50aGVuKChvPT57aWYoIW8ub2spdGhyb3cgbmV3IEVycm9yKCJHdWFyZCByZXF1ZXN0IGVycm9yIG9jY3VyZWQiKTtyZXR1cm4gMjA0PT09by5zdGF0dXM/UHJvbWlzZS5yZXNvbHZlKHthY3Rpb25zOltdfSk6by5qc29uKCl9KSkuY2F0Y2goKG89PihhLmxvZ1dhcm4oby5tZXNzYWdlKSxQcm9taXNlLnJlc29sdmUoe2FjdGlvbnM6W119KSkpKSkuYWN0aW9ucy5maWx0ZXIoKG89PmMud2lkZ2V0U2hlcmlmZkFjdGlvbnMuaGFzKG8pKSl9KCkpLFByb21pc2UucmVzb2x2ZShpKX19LDI2NTEwOChvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtjcmVhdGVFbWJlZFdpZGdldFdyYXBwZXI6KCk9Pml9KTt2YXIgcj10KDEzODYzOCksbD10KDc0ODAwMiksYz10KDY1MzgxNyksbj10KDc0MjU3NyksYT10KDUyODg2NCk7ZnVuY3Rpb24gaShvLGUsdCxpPXt9KXtpZihudWxsPT09by5wYXJlbnRFbGVtZW50KXJldHVybiBjb25zb2xlLndhcm4oIkNhbiBub3Qgd3JhcCAnZWxXaWRnZXRDb250YWluZXInIGJlY2F1c2UgaXQgaGFzIG5vIHBhcmVudEVsZW1lbnQiKSxvO2xldCBzPW51bGwsZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuanMtZW1iZWQtd2lkZ2V0LWJvZHkiKTtjb25zdCBnPW51bGwhPT1kO2lmKGcpe2Q9KDAsci5lbnN1cmVOb3ROdWxsKShkKSxzPSgwLApyLmVuc3VyZU5vdE51bGwpKGQucGFyZW50RWxlbWVudCk7bGV0IG89ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmpzLWVtYmVkLXdpZGdldC1oZWFkIik7bnVsbD09PW8mJihvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG8uY2xhc3NMaXN0LmFkZCgidHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2hlYWRlciIpLG8uY2xhc3NMaXN0LmFkZCgianMtZW1iZWQtd2lkZ2V0LWhlYWQiKSxzLmluc2VydEJlZm9yZShvLGQpKX1lbHNlIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iikscy5jbGFzc0xpc3QuYWRkKCJ0di1lbWJlZC13aWRnZXQtd3JhcHBlciIpLHMuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJ0di1lbWJlZC13aWRnZXQtd3JhcHBlcl9faGVhZGVyIGpzLWVtYmVkLXdpZGdldC1oZWFkIj48L2Rpdj48ZGl2IGNsYXNzPSJ0di1lbWJlZC13aWRnZXQtd3JhcHBlcl9fYm9keSBqcy1lbWJlZC13aWRnZXQtYm9keSI+PC9kaXY+JyxkPXMucXVlcnlTZWxlY3RvcigiLmpzLWVtYmVkLXdpZGdldC1ib2R5Iik7aWYoaS5vdmVyZmxvd0F1dG8mJmQuY2xhc3NMaXN0LmFkZCgidHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHktLW92ZXJmbG93X2F1dG8iKSxpLnNob3dCb3JkZXJPblRyYW5zcGFyZW50JiZkLmNsYXNzTGlzdC5hZGQoInR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1ib3JkZXItb24tdHJhbnNwYXJlbnQiKSwhaS5pc1doaXRlTGFiZWwpeyFhc3luYyBmdW5jdGlvbihvLGUsdCxpLHM9e30pe2NvbnN0IGQ9cy5pc1NoZXJpZmZEaXNhYmxlZD9bXTphd2FpdCgwLGwuZ2V0V2lkZ2V0U2hlcmlmZkFjdGlvbnMpKCksZz1kLmluY2x1ZGVzKGEuS25vd25BY3Rpb24uTGFyZ2VUcmFkZUxvZ28pLHU9ZnVuY3Rpb24obyl7cmV0dXJuWyJjcnlwdG8tY29pbnMtaGVhdG1hcCIsImZvcmV4LWNyb3NzLXJhdGVzIiwibWFya2V0LW92ZXJ2aWV3Iiwic3ltYm9sLW92ZXJ2aWV3IiwibWFya2V0LXF1b3RlcyIsInN0b2NrLWhlYXRtYXAiLCJzY3JlZW5lciIsImZvcmV4LWhlYXQtbWFwIiwiY3J5cHRvLW1rdC1zY3JlZW5lciIsImV2ZW50cyIsImhvdGxpc3RzIl0uaW5jbHVkZXMobyl9KGUpLHA9ZyYmdT8ibGFyZ2VfdHJhZGUiOnZvaWQgMCxtPWF3YWl0KDAsbi5nZXRDdXN0b21lckNvcHlyaWdodERhdGEpKHMuY3VzdG9tZXIscy5sb2NhbGUsKDAsbi5hZGRVdG1DYW1wYWlnblNvdXJjZSkoey4uLml9LCJsb2dvIikscCksaD1wPz9zLmNvcHlyaWdodE9wdGlvbnM/Lm1vZGU/PyJzbWFsbF9vbGQiOygwLHIuZW5zdXJlTm90TnVsbCkobykuYXBwZW5kQ2hpbGQoKDAsYy5jcmVhdGVDb3B5cmlnaHRMYWJlbCkoe3NoZXJpZmZPcHRpb25zOmQsc25hcFRvRWRnZTp0LC4uLnMuY29weXJpZ2h0T3B0aW9ucywuLi5tLG1vZGU6aH0pKX0oZCxlLCFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJpcy10cmFuc3BhcmVudCIpfHxCb29sZWFuKGkuc2hvd0JvcmRlck9uVHJhbnNwYXJlbnQpLHQsaSl9cmV0dXJuIGd8fChvLnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKHMsbyksZC5hcHBlbmRDaGlsZChvKSksb319LDc1MTU1NyhvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtjcmVhdGVFbWJlZFdpZGdldFdyYXBwZXI6KCk9PnIuY3JlYXRlRW1iZWRXaWRnZXRXcmFwcGVyfSk7dCg4MDQ2MTkpO3ZhciByPXQoMjY1MTA4KX0sNDI5NjYobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LnIoZSk7dmFyIHI9dCg4NTYzMjQpLGw9dCg5NjMwOTgpOygwLHIucmVnaXN0ZXJMYW5ndWFnZUdldHRlcikoKCgpPT53aW5kb3cubGFuZ3VhZ2V8fCIiKSksKDAsci5yZWdpc3Rlckxhbmd1YWdlQ29kZU1hcHBlcikobC5nZXRJc29MYW5ndWFnZUNvZGVGcm9tTGFuZ3VhZ2UpfSw2MzE2MzQobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7Z2V0SW5pdERhdGE6KCk9Pmx9KTt2YXIgcj10KDc5MjYxMik7ZnVuY3Rpb24gbCgpe3JldHVybigwLHIuZ2V0SW5pdERhdGEpKCl9fSw0MDAxODEobyxlLHQpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiByKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOm99PWF3YWl0IFByb21pc2UuYWxsKFt0LmUoNzA2NDQpLHQuZSg5NTIwNyldKS50aGVuKHQuYmluZCh0LDQ3NzE1MCkpO3JldHVybiBvKCl9dC5kKGUse2dldFRyYWNrZXI6KCk9PnJ9KX0sMTU2ODI5KG8sZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihvKXtyZXR1cm4gdm9pZCAwIT09byYmby5pbmNsdWRlcygiY3J5cHRvIil9dC5kKGUse2hhc0NyeXB0b1R5cGVzcGVjOigpPT5yfSl9LDc5NTM4MyhvLGUsdCl7dCgzNjMyNjkpLnNldENsYXNzZXMoKSx0KDQyOTY2KSx0KDYxMDI2OCk7dmFyIHI9dCg3NDk2NDgpLndoZW5Eb2N1bWVudFJlYWR5LGw9dCg5MzExOTgpLmhhbmRsZVRWTGlua3NDbGljaztyKCgoKT0+e2woKX0pKX0sNjEwMjY4KG8sZSx0KXsidXNlIHN0cmljdCI7dC5yKGUpLCgwLHQoMTE1MjkzKS5zZXREb2N1bWVudERpckdldHRlcikoKCgpPT53aW5kb3cuZG9jdW1lbnQuZGlyKSl9LDI0MTkzNyhvLGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIobyxlKXtjb25zdCB0PWV8fHdpbmRvdy5sb2NhbGV8fCJlbiI7bGV0IHI9b1t0XT9vW3RdOm8uZW47cmV0dXJuIHI9InRyYWRpbmd2aWV3LmNvbSI9PT1yPyJ3d3cudHJhZGluZ3ZpZXcuY29tIjpyLHI/ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wrIi8vIityOiIifXQuZChlLHtkZXRlcm1pbmVCYXNlVXJsOigpPT5yfSl9LDk2MzkwMChvLGUsdCl7InVzZSBzdHJpY3QiO3ZhciByOyFmdW5jdGlvbihvKXtvLkVtcHR5PSIiLG8uVGVjaG5pY2Fsc1BhdGg9InRlY2huaWNhbHMvIixvLkZpbmFuY2lhbHNPdmVydmlld1BhdGg9ImZpbmFuY2lhbHMtb3ZlcnZpZXcvIixvLlRpbWVsaW5lUGF0aD0iaGlzdG9yeS10aW1lbGluZS8iLG8uTmV3c1BhdGg9Im5ld3MvIixvLk9wdGlvbnNQYXRoPSJvcHRpb25zLyIsby5Qcm9maWxlUGF0aD0icHJvZmlsZS8iLG8uSG9sZGluZ3NQYXRoPSJob2xkaW5ncy8ifShyfHwocj17fSkpfSw1MjgzOTYobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7CmdldFRyYW5zbGF0ZWRTeW1ib2xEZXNjcmlwdGlvbjooKT0+Y30pO3ZhciByPXQoMTg1MjcxKTtmdW5jdGlvbiBsKG8pe2NvbnN0IGU9YCMke299LXN5bWJvbC1kZXNjcmlwdGlvbmAsbD1yLnQoZSx2b2lkIDAsdCgyNTg2NjcpKTtyZXR1cm4gbD09PWU/bnVsbDpsfWZ1bmN0aW9uIGMobyl7aWYodm9pZCAwIT09by5wcm9fbmFtZSl7Y29uc3QgZT1sKG8ucHJvX25hbWUpO2lmKG51bGwhPT1lKXJldHVybiBlO2lmKHZvaWQgMCE9PW8uc2hvcnRfbmFtZSl7Y29uc3QgZT1sKG8uc2hvcnRfbmFtZSk7aWYobnVsbCE9PWUpcmV0dXJuIGV9fXJldHVybiJlbiIhPT1vLmxhbmd1YWdlJiZ2b2lkIDAhPT1vLmxvY2FsX2Rlc2NyaXB0aW9uJiZvLmxhbmd1YWdlPT09d2luZG93Lmxhbmd1YWdlfHwiZW4iPT09by5sYW5ndWFnZSYmdm9pZCAwIT09by5sb2NhbF9kZXNjcmlwdGlvbiYmby5sYW5ndWFnZT09PXdpbmRvdy5sYW5ndWFnZT9vLmxvY2FsX2Rlc2NyaXB0aW9uOm8uZGVzY3JpcHRpb258fCIifX0sNzMwNjQ1KG8sZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihvKXtjb25zdCBlPW5ldyBVUkwobyxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm4gYyhlKSYmbChlKX10LmQoZSx7aXNJbnRlcm5hbEhvc3Q6KCk9Pm4saXNTYWZlVXJsOigpPT5yfSk7Y29uc3QgbD1vPT4hby51c2VybmFtZSxjPW89PiJodHRwOiI9PT1vLnByb3RvY29sfHwiaHR0cHM6Ij09PW8ucHJvdG9jb2w7ZnVuY3Rpb24gbihvLGU9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKXtjb25zdCB0PSIuIj09PWUuc2xpY2UoLTEpPzM6MixyPWUudG9Mb3dlckNhc2UoKS5zcGxpdCgiLiIpLnNsaWNlKC10KSxsPW8udG9Mb3dlckNhc2UoKS5zcGxpdCgiLiIpLnNsaWNlKC1yLmxlbmd0aCk7cmV0dXJuIHIuam9pbigiLiIpPT09bC5qb2luKCIuIil9fSw3Mzg0NTgobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7aXNBbmRyb2lkOigpPT51LGlzQW55TW9iaWxlOigpPT55LGlzQmxhY2tCZXJyeTooKT0+cCxpc0Nocm9tZTooKT0+YSxpc0VkZ2U6KCk9PnMsaXNGRjooKT0+aSxpc0lPUzooKT0+bSxpc0lQYWQ6KCk9PmIsaXNNYWM6KCk9PmcsaXNPcGVyYU1pbmk6KCk9PmgsaXNTYWZhcmk6KCk9PmQsbW9iaWxldG91Y2g6KCk9PmMsdG91Y2g6KCk9Pm59KTtjb25zdCByPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcixsPXImJiJvbnRvdWNoc3RhcnQiaW4gd2luZG93LGM9ciYmbCYmIm9ub3JpZW50YXRpb25jaGFuZ2UiaW4gd2luZG93LG49ciYmKGx8fCEhbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzKSxhPXImJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSxpPXImJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpPi0xLHM9ciYmL1xzRWRnZVwvXGRcZFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGQ9ciYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmLTE9PT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkZ4aU9TIiksZz1yJiYvbWFjL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHU9KHImJi9XaW4zMnxXaW42NC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyJiYvTGludXgvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksciYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSxwPXImJi9CbGFja0JlcnJ5L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxtPXImJi9pUGhvbmV8aVBhZHxpUG9kLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksaD1yJiYvT3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksYj1yJiYoIk1hY0ludGVsIj09PW5hdmlnYXRvci5wbGF0Zm9ybSYmbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzPjF8fC9pUGFkLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpLHk9dXx8cHx8bXx8aH0sMzE3NjYzKG8peyJ1c2Ugc3RyaWN0Igo7by5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29sb3Itd2hpdGUiOiIjZmZmZmZmIiwiY29sb3ItYmxhY2siOiIjMDAwMDAwIiwiY29sb3ItdHJhbnNwYXJlbnQiOiIjMDAwMDAwMDAiLCJjb2xvci1jb2xkLWdyYXktNTAiOiIjRjlGOUY5IiwiY29sb3ItY29sZC1ncmF5LTEwMCI6IiNGMkYyRjIiLCJjb2xvci1jb2xkLWdyYXktMTUwIjoiI0VCRUJFQiIsImNvbG9yLWNvbGQtZ3JheS0yMDAiOiIjREJEQkRCIiwiY29sb3ItY29sZC1ncmF5LTI1MCI6IiNDOUM5QzkiLCJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0I4QjhCOCIsImNvbG9yLWNvbGQtZ3JheS0zNTAiOiIjQThBOEE4IiwiY29sb3ItY29sZC1ncmF5LTQwMCI6IiM5QzlDOUMiLCJjb2xvci1jb2xkLWdyYXktNDUwIjoiIzhDOEM4QyIsImNvbG9yLWNvbGQtZ3JheS01MDAiOiIjODA4MDgwIiwiY29sb3ItY29sZC1ncmF5LTU1MCI6IiM3MDcwNzAiLCJjb2xvci1jb2xkLWdyYXktNjAwIjoiIzYzNjM2MyIsImNvbG9yLWNvbGQtZ3JheS02NTAiOiIjNTc1NzU3IiwiY29sb3ItY29sZC1ncmF5LTcwMCI6IiM0QTRBNEEiLCJjb2xvci1jb2xkLWdyYXktNzUwIjoiIzNEM0QzRCIsImNvbG9yLWNvbGQtZ3JheS04MDAiOiIjMkUyRTJFIiwiY29sb3ItY29sZC1ncmF5LTg1MCI6IiMxRjFGMUYiLCJjb2xvci1jb2xkLWdyYXktOTAwIjoiIzBGMEYwRiIsImNvbG9yLWNvbGQtZ3JheS05NTAiOiIjMDAwMDAwIiwiY29sb3ItcmlwZS1yZWQtNTAiOiIjRkZFQkVDIiwiY29sb3ItcmlwZS1yZWQtMTAwIjoiI0ZDQ0JDRCIsImNvbG9yLXJpcGUtcmVkLTIwMCI6IiNGQUExQTQiLCJjb2xvci1yaXBlLXJlZC0zMDAiOiIjRjc3QzgwIiwiY29sb3ItcmlwZS1yZWQtNDAwIjoiI0Y3NTI1RiIsImNvbG9yLXJpcGUtcmVkLTUwMCI6IiNGMjM2NDUiLCJjb2xvci1yaXBlLXJlZC02MDAiOiIjQ0MyRjNDIiwiY29sb3ItcmlwZS1yZWQtNzAwIjoiI0IyMjgzMyIsImNvbG9yLXJpcGUtcmVkLTgwMCI6IiM5OTFGMjkiLCJjb2xvci1yaXBlLXJlZC05MDAiOiIjODAxOTIyIiwiY29sb3ItcmlwZS1yZWQtYTEwMCI6IiNGRjgwODAiLCJjb2xvci1yaXBlLXJlZC1hMjAwIjoiI0ZGNTI1MiIsImNvbG9yLXJpcGUtcmVkLWE0MDAiOiIjRkYzMzMzIiwiY29sb3ItcmlwZS1yZWQtYTYwMCI6IiNDQzI5MjkiLCJjb2xvci1yaXBlLXJlZC1hNzAwIjoiIzgwMjAyOCIsImNvbG9yLXJpcGUtcmVkLWE4MDAiOiIjNEQxOTFEIiwiY29sb3ItcmlwZS1yZWQtYTkwMCI6IiMzMzFGMjAiLCJjb2xvci10YW4tb3JhbmdlLTUwIjoiI0ZGRjNFMCIsImNvbG9yLXRhbi1vcmFuZ2UtMTAwIjoiI0ZGRTBCMiIsImNvbG9yLXRhbi1vcmFuZ2UtMjAwIjoiI0ZGQ0M4MCIsImNvbG9yLXRhbi1vcmFuZ2UtMzAwIjoiI2ZmYjc0ZCIsImNvbG9yLXRhbi1vcmFuZ2UtNDAwIjoiI0ZGQTcyNiIsImNvbG9yLXRhbi1vcmFuZ2UtNTAwIjoiI0ZGOTgwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNjAwIjoiI0ZCOEMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNzAwIjoiI0Y1N0MwMCIsImNvbG9yLXRhbi1vcmFuZ2UtODAwIjoiI0VGNkMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtOTAwIjoiI2U2NTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTEwMCI6IiNGRkQxODAiLCJjb2xvci10YW4tb3JhbmdlLWEyMDAiOiIjZmZhYjQwIiwiY29sb3ItdGFuLW9yYW5nZS1hNDAwIjoiI0ZGOTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTUwMCI6IiNFNTdFMTciLCJjb2xvci10YW4tb3JhbmdlLWE2MDAiOiIjQ0M3MDE0IiwiY29sb3ItdGFuLW9yYW5nZS1hNzAwIjoiIzhDNTQxQyIsImNvbG9yLXRhbi1vcmFuZ2UtYTgwMCI6IiM1OTNBMUIiLCJjb2xvci10YW4tb3JhbmdlLWE5MDAiOiIjMzMyNjFBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwIjoiI0U4RjVFOSIsImNvbG9yLWlndWFuYS1ncmVlbi0xMDAiOiIjQzhFNkM5IiwiY29sb3ItaWd1YW5hLWdyZWVuLTIwMCI6IiNBNUQ2QTciLCJjb2xvci1pZ3VhbmEtZ3JlZW4tMzAwIjoiIzgxYzc4NCIsImNvbG9yLWlndWFuYS1ncmVlbi00MDAiOiIjNjZCQjZBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwMCI6IiM0Y2FmNTAiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tNjAwIjoiIzQzYTA0NyIsImNvbG9yLWlndWFuYS1ncmVlbi03MDAiOiIjMzg4ZTNjIiwiY29sb3ItaWd1YW5hLWdyZWVuLTgwMCI6IiMyRTdEMzIiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tOTAwIjoiIzFCNUUyMCIsImNvbG9yLWlndWFuYS1ncmVlbi1hMTAwIjoiI0I5RjZDQSIsImNvbG9yLWlndWFuYS1ncmVlbi1hMjAwIjoiIzY5RjBBRSIsImNvbG9yLWlndWFuYS1ncmVlbi1hNDAwIjoiIzAwRTY3NiIsImNvbG9yLWlndWFuYS1ncmVlbi1hNzAwIjoiIzAwYzg1MyIsImNvbG9yLWJhbmFuYS15ZWxsb3ctNTAiOiIjRkZGREU3IiwiY29sb3ItYmFuYW5hLXllbGxvdy0xMDAiOiIjRkZGOUM0IiwiY29sb3ItYmFuYW5hLXllbGxvdy0yMDAiOiIjRkZGNTlEIiwiY29sb3ItYmFuYW5hLXllbGxvdy0zMDAiOiIjRkZGMTc2IiwiY29sb3ItYmFuYW5hLXllbGxvdy00MDAiOiIjZmZlZTU4IiwiY29sb3ItYmFuYW5hLXllbGxvdy01MDAiOiIjZmZlYjNiIiwiY29sb3ItYmFuYW5hLXllbGxvdy02MDAiOiIjZmRkODM1IiwiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiOiIjZmJjMDJkIiwiY29sb3ItYmFuYW5hLXllbGxvdy04MDAiOiIjZjlhODI1IiwiY29sb3ItYmFuYW5hLXllbGxvdy05MDAiOiIjRjU3RjE3IiwiY29sb3ItYmFuYW5hLXllbGxvdy1hMTAwIjoiI0ZGRkY4RCIsImNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMCI6IiNGRkZGMDAiLCJjb2xvci1iYW5hbmEteWVsbG93LWE0MDAiOiIjZmZlYTAwIiwiY29sb3ItYmFuYW5hLXllbGxvdy1hNzAwIjoiI0VFREEwMSIsImNvbG9yLXR2LWJsdWUtNTAiOiIjRTNFRkZEIiwiY29sb3ItdHYtYmx1ZS0xMDAiOiIjQkJEOUZCIiwiY29sb3ItdHYtYmx1ZS0yMDAiOiIjOTBCRkY5IiwiY29sb3ItdHYtYmx1ZS0zMDAiOiIjNUI5Q0Y2IiwiY29sb3ItdHYtYmx1ZS00MDAiOiIjMzE3OUY1IiwiY29sb3ItdHYtYmx1ZS01MDAiOiIjMjk2MkZGIiwiY29sb3ItdHYtYmx1ZS02MDAiOiIjMUU1M0U1IiwiY29sb3ItdHYtYmx1ZS03MDAiOiIjMTg0OENDIiwiY29sb3ItdHYtYmx1ZS04MDAiOiIjMTQzRUIyIiwiY29sb3ItdHYtYmx1ZS05MDAiOiIjMEMzMjk5IiwiY29sb3ItdHYtYmx1ZS1hMTAwIjoiIzgyYjFmZiIsImNvbG9yLXR2LWJsdWUtYTIwMCI6IiM0NDhhZmYiLCJjb2xvci10di1ibHVlLWE0MDAiOiIjMjk3OWZmIiwiY29sb3ItdHYtYmx1ZS1hNjAwIjoiIzI5NjJGRiIsImNvbG9yLXR2LWJsdWUtYTcwMCI6IiMxNDNBODciLCJjb2xvci10di1ibHVlLWE4MDAiOiIjMTQyRTYxIiwiY29sb3ItdHYtYmx1ZS1hOTAwIjoiIzEzMjA0MiIsImNvbG9yLWRlZXAtYmx1ZS01MCI6IiNFREU3RjYiLCJjb2xvci1kZWVwLWJsdWUtMTAwIjoiI0QxQzRFOSIsImNvbG9yLWRlZXAtYmx1ZS0yMDAiOiIjQjM5RERCIiwiY29sb3ItZGVlcC1ibHVlLTMwMCI6IiM5NTc1Y2QiLCJjb2xvci1kZWVwLWJsdWUtNDAwIjoiIzdlNTdjMiIsImNvbG9yLWRlZXAtYmx1ZS01MDAiOiIjNjczYWI3IiwiY29sb3ItZGVlcC1ibHVlLTYwMCI6IiM1RTM1QjEiLCJjb2xvci1kZWVwLWJsdWUtNzAwIjoiIzUxMmRhOCIsImNvbG9yLWRlZXAtYmx1ZS04MDAiOiIjNDUyN0EwIiwiY29sb3ItZGVlcC1ibHVlLTkwMCI6IiMzMTFCOTIiLCJjb2xvci1kZWVwLWJsdWUtYTEwMCI6IiNiMzg4ZmYiLCJjb2xvci1kZWVwLWJsdWUtYTIwMCI6IiM3QzRERkYiLCJjb2xvci1kZWVwLWJsdWUtYTQwMCI6IiM2NTFGRkYiLCJjb2xvci1kZWVwLWJsdWUtYTcwMCI6IiM2MjAwRUEiLCJjb2xvci1taW50eS1ncmVlbi01MCI6IiNEQUYyRUUiLCJjb2xvci1taW50eS1ncmVlbi0xMDAiOiIjQUNFNURDIiwiY29sb3ItbWludHktZ3JlZW4tMjAwIjoiIzcwQ0NCRCIsImNvbG9yLW1pbnR5LWdyZWVuLTMwMCI6IiM0MkJEQTgiLCJjb2xvci1taW50eS1ncmVlbi00MDAiOiIjMjJBQjk0IiwiY29sb3ItbWludHktZ3JlZW4tNTAwIjoiIzA4OTk4MSIsImNvbG9yLW1pbnR5LWdyZWVuLTYwMCI6IiMwNjgwNkIiLCJjb2xvci1taW50eS1ncmVlbi03MDAiOiIjMDU2NjU2IiwiY29sb3ItbWludHktZ3JlZW4tODAwIjoiIzAwNEQ0MCIsImNvbG9yLW1pbnR5LWdyZWVuLTkwMCI6IiMwMDMzMkEiLCJjb2xvci1taW50eS1ncmVlbi1hMTAwIjoiI0E3RkZGMCIsImNvbG9yLW1pbnR5LWdyZWVuLWEyMDAiOiIjNDVFNUNCIiwiY29sb3ItbWludHktZ3JlZW4tYTQwMCI6IiMyQkQ5QkMiLCJjb2xvci1taW50eS1ncmVlbi1hNjAwIjoiIzI0QjI5QiIsImNvbG9yLW1pbnR5LWdyZWVuLWE3MDAiOiIjMUI3NjY3IiwiY29sb3ItbWludHktZ3JlZW4tYTgwMCI6IiMxMDQ0M0IiLCJjb2xvci1taW50eS1ncmVlbi1hOTAwIjoiIzA4MjYyMSIsImNvbG9yLWdyYXBlcy1wdXJwbGUtNTAiOiIjRjNFNUY1IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDAiOiIjRTFCRUU3IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0yMDAiOiIjQ0U5M0Q4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDAiOiIjYmE2OGM4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS00MDAiOiIjYWI0N2JjIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS01MDAiOiIjOWMyN2IwIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS02MDAiOiIjOGUyNGFhIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS03MDAiOiIjN2IxZmEyIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS04MDAiOiIjNkExQjlBIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS05MDAiOiIjNEExNDhDIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hMTAwIjoiI0VBODBGQyIsImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCI6IiNFMDQwRkIiLCJjb2xvci1ncmFwZXMtcHVycGxlLWE0MDAiOiIjRDUwMEY5IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hNzAwIjoiI2FhMDBmZiIsImNvbG9yLWJlcnJ5LXBpbmstNTAiOiIjRkNFNEVDIiwiY29sb3ItYmVycnktcGluay0xMDAiOiIjRjhCQkQwIiwiY29sb3ItYmVycnktcGluay0yMDAiOiIjZjQ4ZmIxIiwiY29sb3ItYmVycnktcGluay0zMDAiOiIjZjA2MjkyIiwiY29sb3ItYmVycnktcGluay00MDAiOiIjZWM0MDdhIiwiY29sb3ItYmVycnktcGluay01MDAiOiIjZTkxZTYzIiwiY29sb3ItYmVycnktcGluay02MDAiOiIjRDgxQjYwIiwiY29sb3ItYmVycnktcGluay03MDAiOiIjQzIxODVCIiwiY29sb3ItYmVycnktcGluay04MDAiOiIjQUQxNDU3IiwiY29sb3ItYmVycnktcGluay05MDAiOiIjODgwRTRGIiwiY29sb3ItYmVycnktcGluay1hMTAwIjoiI2ZmODBhYiIsImNvbG9yLWJlcnJ5LXBpbmstYTIwMCI6IiNmZjQwODEiLCJjb2xvci1iZXJyeS1waW5rLWE0MDAiOiIjZjUwMDU3IiwiY29sb3ItYmVycnktcGluay1hNzAwIjoiI2M1MTE2MiIsImNvbG9yLXNreS1ibHVlLTUwIjoiI0UwRjdGQSIsImNvbG9yLXNreS1ibHVlLTEwMCI6IiNCMkVCRjIiLCJjb2xvci1za3ktYmx1ZS0yMDAiOiIjODBERUVBIiwiY29sb3Itc2t5LWJsdWUtMzAwIjoiIzRkZDBlMSIsImNvbG9yLXNreS1ibHVlLTQwMCI6IiMyNmM2ZGEiLCJjb2xvci1za3ktYmx1ZS01MDAiOiIjMDBiY2Q0IiwiY29sb3Itc2t5LWJsdWUtNjAwIjoiIzAwYWNjMSIsImNvbG9yLXNreS1ibHVlLTcwMCI6IiMwMDk3QTciLCJjb2xvci1za3ktYmx1ZS04MDAiOiIjMDA4MzhGIiwiY29sb3Itc2t5LWJsdWUtOTAwIjoiIzAwNjA2NCIsImNvbG9yLXNreS1ibHVlLWExMDAiOiIjODRGRkZGIiwiY29sb3Itc2t5LWJsdWUtYTIwMCI6IiMxOEZGRkYiLCJjb2xvci1za3ktYmx1ZS1hNDAwIjoiIzAwZTVmZiIsImNvbG9yLXNreS1ibHVlLWE3MDAiOiIjMDBCOEQ0IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwIjoiI0RBRjJFNiIsImNvbG9yLWZvcmVzdC1ncmVlbi0xMDAiOiIjQUNFNUM5IiwiY29sb3ItZm9yZXN0LWdyZWVuLTIwMCI6IiM3MENDOUUiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tMzAwIjoiIzQyQkQ3RiIsImNvbG9yLWZvcmVzdC1ncmVlbi00MDAiOiIjMjJBQjY3IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwMCI6IiMwODk5NTAiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tNjAwIjoiIzA2ODA0MyIsImNvbG9yLWZvcmVzdC1ncmVlbi03MDAiOiIjMDU2NjM2IiwiY29sb3ItZm9yZXN0LWdyZWVuLTgwMCI6IiMwMDREMjciLCJjb2xvci1mb3Jlc3QtZ3JlZW4tOTAwIjoiIzFBMzMyNiIsImNvbG9yLWZhY2Vib29rIjoiIzE4NzdGMiIsImNvbG9yLWRlZXAtZmFjZWJvb2siOiIjMTU2NENBIiwiY29sb3ItdHdpdHRlciI6IiMxREExRjIiLCJjb2xvci1kZWVwLXR3aXR0ZXIiOiIjMTg4Q0QzIiwiY29sb3IteW91dHViZSI6IiNGRjAwMDAiLCJjb2xvci1saW5rZWRpbiI6IiMwMDdCQjUiLCJjb2xvci1zZWVraW5nLWFscGhhLWJyYW5kIjoiI2ZmNzIwMCJ9JykKfSw4Njc1MjIobyl7InVzZSBzdHJpY3QiCjtvLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJjb2xvci1oZWFkZXItYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWJvZHktYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWJnLXByaW1hcnkiOiJjb2xvci13aGl0ZSIsImNvbG9yLWJnLXByaW1hcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItYmctc2Vjb25kYXJ5IjoiY29sb3Itd2hpdGUiLCJjb2xvci1iZy1oaWdobGlnaHQiOiJjb2xvci1jb2xkLWdyYXktNTAiLCJjb2xvci1iZy1zY3JvbGwtYnV0dG9ucyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1sZWdhY3ktYmctc2Nyb2xsLWJ1dHRvbnMiOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItbGVnYWN5LWJnLXdpZGdldCI6ImNvbG9yLXdoaXRlIiwiY29sb3ItdGV4dC1wcmltYXJ5IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXRleHQtc2Vjb25kYXJ5IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXRleHQtdGVydGlhcnkiOiJjb2xvci1jb2xkLWdyYXktNDAwIiwiY29sb3ItdGV4dC1kaXNhYmxlZCI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1hY2NlbnQtY29udGVudCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1ib3gtc2hhZG93IjoiY29sb3ItY29sZC1ncmF5LTMwMCIsImNvbG9yLWRpdmlkZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZGl2aWRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1kaXZpZGVyLXNlY29uZGFyeSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1hY3RpdmUtaG92ZXItdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1hbGVydC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJvcmRlci10YWJsZSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1icmFuZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItYnJhbmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci1icmFuZC1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItY2hhcnQtcGFnZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jb21tb24tdG9vbHRpcC1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1kYW5nZXIiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1kYW5nZXItaG92ZXIiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1kYW5nZXItYWN0aXZlIjoiY29sb3ItcmlwZS1yZWQtNjAwIiwiY29sb3ItZGVwdGhyZW5kZXJlci1zdHJva2Utc3R5bGUiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItaGlnaGxpZ2h0LW5ldyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAiLCJjb2xvci1pbnB1dC1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItaW5wdXQtcHVibGlzaC1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItbGluayI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItbGluay1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItbGluay1hY3RpdmUiOiJjb2xvci10di1ibHVlLTcwMCIsImNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnIjoiY29sb3ItY29sZC1ncmF5LTUwIiwiY29sb3ItcGFuZS1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItcGFuZS1zZWNvbmRhcnktYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLXByaW1hcnktc3ltYm9sIjoiY29sb3Itc2t5LWJsdWUtNTAwIiwiY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb24iOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3Itc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLXN1Y2Nlc3MtaG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1zdWNjZXNzLWFjdGl2ZSI6ImNvbG9yLW1pbnR5LWdyZWVuLTcwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbiI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWwiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1wb3B1cC1iYWNrZ3JvdW5kIjoiY29sb3Itd2hpdGUiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmUiOiJjb2xvci13aGl0ZSIsImNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtMjAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci10b29sdGlwLWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uIjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItdW5kZXJsaW5lZC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXdpZGdldC1wYWdlcy1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3Itd2FybmluZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItZ3Jvd2luZyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWZhbGxpbmciOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1mb3JleC1pY29uIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmciOiJjb2xvci10di1ibHVlLTQwMCIsImNvbG9yLWxpc3QtaXRlbS1ob3Zlci1iZyI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1saXN0LWl0ZW0tdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2siOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcHJpY2UtYXhpcy1sYWJlbC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLXByaWNlLWF4aXMtZ2VhciI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXIiOiJjb2xvci1ibGFjayIsImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJpZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvcmRlci1jaGF0LWZpZWxkcyI6ImNvbG9yLWNvbGQtZ3JheS0yNTAiLCJjb2xvci1ib3JkZXItaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMjUwIiwiY29sb3ItYnV0dG9uLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZSI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRpc2FibGVkLWlucHV0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWVtcHR5LWNvbnRhaW5lci1tZXNzYWdlIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWljb25zIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWlucHV0LXRleHRhcmVhLXJlYWRvbmx5IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWlucHV0LXBsYWNlaG9sZGVyLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMzUwIiwiY29sb3ItaXRlbS1hY3RpdmUtYmx1ZSI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1pdGVtLWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItaXRlbS1ob3Zlci1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItaXRlbS1ob3Zlci1ibHVlIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1pdGVtLXNlbGVjdGVkLWJsdWUiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItaXRlbS1hY3RpdmUtdGV4dCI6ImNvbG9yLXdoaXRlIiwiY29sb3ItaXRlbS1hY3RpdmUtYmciOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLWxpc3QtaXRlbSI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1uZXdzLWhpZ2hsaWdodCI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItcGxhY2Vob2xkZXIiOiJjb2xvci1jb2xkLWdyYXktMzUwIiwiY29sb3Itcm93LWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMzAwIiwiY29sb3Itc2VwYXJhdG9yLXRhYmxlLWNoYXQiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdGFnLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10YWctaG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdGV4dC1yZWd1bGFyIjoiY29sb3ItY29sZC1ncmF5LTcwMCIsImNvbG9yLXR2LWJ1dHRvbi1jaGVja2VkIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXNjcm9sbC1iZyI6ImNvbG9yLWNvbGQtZ3JheS00MDAiLCJjb2xvci1zY3JvbGwtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXdpZGdldC1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3ciOiJjb2xvci13aGl0ZSIsImNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnkiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmciOiJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LWRhbmdlciI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1wcmUtbWFya2V0IjoiY29sb3ItdGFuLW9yYW5nZS02MDAiLCJjb2xvci1wb3N0LW1hcmtldCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3Itbm90YWNjdXJhdGUtbW9kZSI6ImNvbG9yLWJlcnJ5LXBpbmstNjAwIiwiY29sb3ItZGVsYXktbW9kZSI6ImNvbG9yLXRhbi1vcmFuZ2UtNzAwIiwiY29sb3ItZGVsYXktbW9kZS1iZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNDAwIiwiY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkIjoiY29sb3ItdHYtYmx1ZS01MCIsImNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZCI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLTIwMCIsImNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLW1hcmtlci1mbGFnZ2VkIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3ItbWFya2VyLWZsYWdnZWQtaG92ZXJlZCI6ImNvbG9yLXJpcGUtcmVkLTYwMCIsImNvbG9yLWFzayI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLXNlbGwiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1idXkiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLW5ldXRyYWwiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItcHJvIjoiY29sb3ItbWludHktZ3JlZW4tNDAwIiwiY29sb3ItcHJvLWhvdmVyIjoiY29sb3ItbWludHktZ3JlZW4tNjAwIiwiY29sb3ItcHJvLXBsdXMiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLXByby1wbHVzLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1wcm8tcHJlbWl1bSI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItcHJvLXByZW1pdW0taG92ZXIiOiJjb2xvci10YW4tb3JhbmdlLTcwMCIsImNvbG9yLXRyaWFsIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXRyaWFsLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLW1vZCI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLW1vZC1ob3ZlciI6ImNvbG9yLXJpcGUtcmVkLTYwMCIsImNvbG9yLWFkIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1icm9rZXItZmVhdHVyZWQiOiJjb2xvci1taW50eS1ncmVlbi00MDAiLCJjb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtYWN0aXZlIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1vdmVybGF5IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXNlYXJjaC1idXR0b24taG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1jb250ZW50LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1iZy1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1ib3JkZXItZGVmYXVsdCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jb21tb24tdG9vbHRpcC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXJlcGxheS1kYXRhLW1vZGUiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1sZWdhY3ktc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTMwMCIsImNvbG9yLWNvbGxhcHNlLXRhYnMtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTUwIiwiY29sb3ItYXR0ZW50aW9uIjoiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiLCJjb2xvci14LXR3aXR0ZXItY29udGVudCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1jYXJkLWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jYXJkLWJvcmRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtcHJpbWFyeSI6ImNvbG9yLXdoaXRlIiwiY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeSI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1zZWxlY3Rpb24tYmciOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWRlZmF1bHQtZ3JheSI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmciOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItZmVhdHVyZWQtYnJva2VyLWJhZGdlLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS10ZXh0IjoiY29sb3Itd2hpdGUifScpCn19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/exm=base,root/ed=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=r78Drb","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:54.066Z","timestamp":1785129294066,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/exm=base,root/ed=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=r78Drb HTTP/1.1\r\nHost: www.youtube-nocookie.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 205847\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 13:06:53 GMT\r\nexpires: Sat, 24 Jul 2027 13:06:53 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 07:10:55 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 230881\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":698252,"size_decoded":206761,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (2659)","md5":"b0ad8a0af02b0646525f5764557f74f7","sha1":"3b5ecd18dc5225ff5e062f1f355636ee87daa374","sha256":"41ca2ce29b6abecad6de552d13e73fb3b7628a958b5fbffeb8cc0f8b4495f4f9","sha512":"066d24883fd73c8304fc558fbfc404650cdba71f6f3973bf37273ddb405e563c181cd6767cb575ae3d20139bc047514916e3d227d9a4e17fdcd377a478b0556c","ssdeep":"12288:H0PeofempMe8l0tGc70LCSn4AqUlvdDJdGhxnYUjpjYtsxDT:Hjofemc+tD70LCSn4AqVnYU1YtsxDT","tlshash":"f0e47de07392f4b586426966e57f8003b17e5943f2044478e1fa9edc15fce48a2bbf29","first_seen":"2026-07-24T13:29:06.300454Z","last_seen":"2026-07-27T08:07:37.371831Z","times_seen":508,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF9iYXNlPXRoaXMuZGVmYXVsdF9iYXNlfHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8uQ3Q9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnNlcnZpY2VJZD1uZXcgXy5OcihhLGIpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuc2VydmljZUlkLnRvU3RyaW5nKCl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiaXVUNU9jIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB3dDtfLnZ0PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PWI/ITA6YSYmYj9hLndpZHRoPT1iLndpZHRoJiZhLmhlaWdodD09Yi5oZWlnaHQ6ITF9O18ueHQ9ZnVuY3Rpb24oYSxiKXtiLmhhc093blByb3BlcnR5KCJkaXNwbGF5TmFtZSIpfHwoYi5kaXNwbGF5TmFtZT1hLnRvU3RyaW5nKCkpO2Jbd3RdPWF9O3d0PVN5bWJvbCgiSWEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5JZT1mdW5jdGlvbigpe3RoaXMuaWQ9ImIifTtfLkllLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlkfTtfLkZ0PW5ldyBfLk5yKCJNcEp3WmMiLCJNcEp3WmMiKTt2YXIgR3Q7R3Q9bmV3IF8uSWU7Xy5IdD1jbGFzcyBleHRlbmRzIF8uSmV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihHdCxhKTt0aGlzLm5vZGU9YTt0aGlzLmtpbmQ9Yn19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewovKgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiovCnZhciBBQSxCQSxEQSxXYWEsWGFhLE9BLFBBLCRhYSxhYmEsU0EsVEEsZGJhLGViYSxmYmEsZEIsZ2JhLGpiYSxrYmEsaEIsa0IsbEIsckIsc0IsdEIsdUIsdkIsd0IsbmJhLHBiYSxvYmEsRUIsc2JhLERCLEZCLEhCLHRiYSx1YmEsdmJhLFFCLFNCLFRCLHdiYSxhQyxZQixjQyxVQixlQyxoQyxpQyxrQyx5YmEsemJhLEFiYSxzQyx2QyxEYmEsekMsQ0MsRmJhLEdiYSxFYmEsVmFhLEtBLG9DO18ueUE9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8uZmIpcmV0dXJuIGEuajt0aHJvdyBFcnJvcigiaCIpO307Xy56QT1mdW5jdGlvbihhLGIpe2lmKGEubm9kZVR5cGU9PT0xJiYvXihzY3JpcHR8c3R5bGUpJC9pLnRlc3QoYS50YWdOYW1lKSl0aHJvdyBFcnJvcigiaCIpO2EuaW5uZXJIVE1MPV8ueUEoYil9O0FBPWZ1bmN0aW9uKGEsYil7dmFyIGM9e307Zm9yKGxldCBkIGluIGEpY1tkXT1iLmNhbGwodm9pZCAwLGFbZF0sZCxhKTtyZXR1cm4gY307Cl8uSXQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiTWEiKTt9O0JBPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy5YdChfLmVkKGEsMix2b2lkIDAsXy5EdikpO3JldHVybiBhPT09bnVsbHx8YT09PXZvaWQgMD9udWxsOl8uZ2IoYSl9O18uQ0E9ZnVuY3Rpb24oYT0zKXt2YXIgYj1fLlp0O2lmKCFiKXtzd2l0Y2goYSl7Y2FzZSAwOmE9RXJyb3IoIlJhIik7YnJlYWs7Y2FzZSAxOmE9RXJyb3IoIlVhIik7YnJlYWs7Y2FzZSAyOmE9RXJyb3IoIlZhIik7YnJlYWs7ZGVmYXVsdDphPUVycm9yKCJXYSIpfXRocm93IGE7fXJldHVybiBifTtEQT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9T2JqZWN0LmNyZWF0ZShWYWEpO2Quc291cmNlPWE7ZC5UZz1iO2MhPXZvaWQgMCYmKGQuZXF1YWw9Yyk7YT0oKT0+e18ucnUoZCk7Xy5wdShkKTtpZihkLnZhbHVlPT09Xy5Jdil0aHJvdyBkLmVycm9yO3JldHVybiBkLnZhbHVlfTthW18uWnVdPWQ7cmV0dXJuIGF9OwpfLkVBPWZ1bmN0aW9uKGEpe3ZhciBiPV8ua3UobnVsbCk7dHJ5e3JldHVybiBhKCl9ZmluYWxseXtfLmt1KGIpfX07V2FhPWZ1bmN0aW9uKGEpe2E9e1tfLkV1XTohMCxkZWJ1Z05hbWU6YX07IV8uWnR8fF8uQnUoYSk7cmV0dXJuIGF9O18uRkE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGVidWdOYW1lfHxhLm5hbWV8fCJbY29tcG9uZW50XSJ9O18uR0E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uRkEoYSk7Xy5NdT17bmFtZTpjP2Ake2R9ICgke2N9KWA6ZCxsajphLmNvbXBvbmVudFR5cGUhPT1fLkt2LHBhcmVudDpfLk11fTthPWIoKTtfLk11PV8uTXUucGFyZW50O3JldHVybiBhfTtfLkhBPWZ1bmN0aW9uKCl7dmFyIGE9Xy5NdTtyZXR1cm4gYT9hLmxqOiExfTtfLklBPWZ1bmN0aW9uKGEpe18uZ3YtLTtpZihhKWZvcihsZXQgYiBvZiBfLll2KWIuY2xlYXIoKTtlbHNlIF8uZ3Y+MHx8Xy5jdi5pc0ZsdXNoaW5nJiYhXy5LdS5SaXx8Xy5qdigpfTsKXy5KQT1mdW5jdGlvbihhLGIpe2I9e2NvbXBvbmVudFN0YWNrOl8uU3UoXy5QdSkscHI6Xy5RdT8uc2xpY2UoKT8/W10sZmg6MyxBbDpfLkx1KCksdGFnTmFtZTpifTtyZXR1cm5bYSxiXX07Xy5MQT1mdW5jdGlvbigpe2lmKHR5cGVvZiBLQT09PSJmdW5jdGlvbiIpdmFyIGE9S0E7ZWxzZSBpZih0eXBlb2YgS0E9PT0ib2JqZWN0IilhPUtBLmNvbnN0cnVjdG9yO2Vsc2UgdGhyb3cgRXJyb3Iodm9pZCAwKTtyZXR1cm4gXy5DYyhiPT5iIGluc3RhbmNlb2YgYSl9O1hhYT1mdW5jdGlvbigpe2lmKCFfLnU/LlN5bWJvbD8uZm9yKXJldHVybiBuZXcgV2Vha01hcDt2YXIgYT1TeW1ib2wuZm9yKCJnb29nbGUuZ29lbSIpLGI9Xy51W2FdO2lmKGIpcmV0dXJuIGI7Yj1uZXcgV2Vha01hcDtyZXR1cm4gXy51W2FdPWJ9OwpPQT1mdW5jdGlvbihhLGIpe3ZhciBjPWIudGFnTmFtZSxkPWEudGFnTmFtZTthPU1BLmhhcyhkKSYmIVlhYS5oYXMoZCk7KChiPU1BLmhhcyhjKSl8fGEpJiZhJiYhYiYmTkEuaGFzKGMudG9Mb3dlckNhc2UoKSkmJlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt0aHJvdyBfLlV1KEVycm9yKCJJYmAiK2MrImAiK2QpLDIsYyk7fSl9O1BBPWZ1bmN0aW9uKCl7fTtfLlFBPWZ1bmN0aW9uKGEsYixjKXtpZihjPT1udWxsKWEucmVtb3ZlQXR0cmlidXRlKGIpO2Vsc2V7dmFyIGQ7KGQ9Yi5sYXN0SW5kZXhPZigieG1sOiIsMCk9PT0wPyJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiOmIubGFzdEluZGV4T2YoInhsaW5rOiIsMCk9PT0wPyJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIjpudWxsKT9hLnNldEF0dHJpYnV0ZU5TKGQsYixjKTphLnNldEF0dHJpYnV0ZShiLGMpfX07CiRhYT1mdW5jdGlvbihhLGIsYyl7YT1hLnN0eWxlO2lmKHR5cGVvZiBjPT09InN0cmluZyIpYS5jc3NUZXh0PWM7ZWxzZXthLmNzc1RleHQ9IiI7Zm9yKGxldCBmIGluIGMpaWYoWmFhLmNhbGwoYyxmKSl7Yj1hO3ZhciBkPWYsZT1jW2ZdO2QuaW5kZXhPZigiLSIpPj0wP2Iuc2V0UHJvcGVydHkoZCxlKTpiW2RdPWV9fX07YWJhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10eXBlb2YgYztkPT09Im9iamVjdCJ8fGQ9PT0iZnVuY3Rpb24iP2FbYl09YzpfLlFBKGEsYixjKX07U0E9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgUEE7YVtfLlJBLmRlZmF1bHRdPWFiYTthLnN0eWxlPSRhYTtyZXR1cm4gYX07VEE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYj09YyYmZD09ZX07Xy5YQT1mdW5jdGlvbigpe2Zvcih2YXIgYT1fLlVBLGI9Xy5WQSgpO2IhPT1udWxsOyl7bGV0IGM9Yi5uZXh0U2libGluZzthLnJlbW92ZUNoaWxkKGIpO18uV0EuZGVsZXRlZC5wdXNoKGIpO2I9Y319OwpfLlZBPWZ1bmN0aW9uKCl7cmV0dXJuIF8uWUE/Xy5ZQS5uZXh0U2libGluZzpfLlVBLmZpcnN0Q2hpbGR9OwpkYmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uV0EsZT1fLlpBLGY9Xy4kQSxoPV8uYUIsaz1fLllBLGw9Xy5VQSxtPV8uYkI7Xy5aQT1hLm93bmVyRG9jdW1lbnQ7Xy5XQT1uZXcgYmJhKGEpO18uYkI9YjtfLmFCPVtdO18uWUE9bnVsbDtiPV8uVUE9YS5wYXJlbnROb2RlO3ZhciBuPWNiYS5jYWxsKGEpO2lmKChuPW4ubm9kZVR5cGU9PT0xMXx8bi5ub2RlVHlwZT09PTk/bi5hY3RpdmVFbGVtZW50Om51bGwpJiZhLmNvbnRhaW5zKG4pKXtmb3IoYT1bXTtuIT09YjspYS5wdXNoKG4pLG49bi5wYXJlbnROb2RlfHwoYj9uLmhvc3Q6bnVsbCk7Yj1hfWVsc2UgYj1bXTtfLiRBPWI7dHJ5e3JldHVybiBjKCl9ZmluYWxseXtjPV8uV0EsXy5jQiYmYy5kZWxldGVkLmxlbmd0aD4wJiYoMCxfLmNCKShjLmRlbGV0ZWQpLF8uWkE9ZSxfLldBPWQsXy5iQj1tLF8uYUI9aCxfLllBPWssXy5VQT1sLF8uJEE9Zn19OwplYmE9ZnVuY3Rpb24oYSxiPXt9KXt2YXIge21hdGNoZXM6Yz1UQX09YjtyZXR1cm4oZCxlLGYpPT5kYmEoZCxjLCgpPT5hKGQsZSxmKSl9O2ZiYT1mdW5jdGlvbihhKXthPVN0cmluZyhhKTtmb3IodmFyIGI9KGQsZSxmKT0+e3ZhciBoPU1hdGgubWluKGUubGVuZ3RoLWYsZC5sZW5ndGgpO2ZvcihsZXQgbD0wO2w8aDtsKyspe3ZhciBrPWVbZitsXTtpZihkW2xdIT09KCJBIjw9ayYmazw9IloiP2sudG9Mb3dlckNhc2UoKTprKSlyZXR1cm4hMX1yZXR1cm4hMH0sYz0wOyhjPWEuaW5kZXhPZigiPCIsYykpIT0tMTspe2lmKGIoIlx4M2Mvc2NyaXB0IixhLGMpfHxiKCJceDNjIS0tIixhLGMpKXJldHVybiJ6U295eiI7Yys9MX1yZXR1cm4gYX07CmRCPWZ1bmN0aW9uKGEpe2lmKGEuaXNDb25uZWN0ZWQhPT12b2lkIDApcmV0dXJuIGEuaXNDb25uZWN0ZWQ7dmFyIGI9YS5vd25lckRvY3VtZW50O2lmKCFiKXJldHVybiBhPT09ZG9jdW1lbnQ7aWYodHlwZW9mIGIuY29udGFpbnM9PT0iZnVuY3Rpb24iKXJldHVybiBiLmNvbnRhaW5zKGEpO2Zvcig7YTspe2lmKGE9PT1iKXJldHVybiEwO2E9YS5wYXJlbnROb2RlfXJldHVybiExfTtnYmE9ZnVuY3Rpb24oYSxiPSExKXt2YXIgYz1fLkNBKCksZD1fLk11O3JldHVybiBlPT57dmFyIGY9ITEsaD1lLmN1cnJlbnRUYXJnZXQ7aCYmKGY9IWRCKGgpfHxiJiZoW2VCXT09PSEwKTt2YXIgaz1jPy5pYSxsPWImJmgmJmhbZUJdPT09ITA7aWYoZnx8ayl7aWYoaCYmZEIoaCkmJihrfHxsKSl0aHJvdyBfLlV1KEVycm9yKCJrYyIpLDQpO31lbHNle3ZhciBtPSgpPT5hKGUpO3RyeXtfLlJ1KCgpPT5fLkVBKG0pLGQpfWNhdGNoKG4pe18ub3YobixjKX19fX07Cl8uZ0I9ZnVuY3Rpb24oYSxiLGMpe2lmKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGZCLGEpJiYoYT1mQlthXSxPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpJiYoYT1hW2JdLGEgaW5zdGFuY2VvZiBBcnJheSkpKXtsZXQgZT1udWxsLGY9ITE7Zm9yKGxldCBoPTAsaz1hLmxlbmd0aDtoPGs7KytoKXtsZXQgbD1hW2hdO3ZhciBkPWwuaWI7aWYoIWQpcmV0dXJuIGwua2E7ZT09PW51bGwmJihlPXt9KTtkPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsZCk/ZVtkXTplW2RdPWMoZCk7aWYoZD09PWwubmIpcmV0dXJuIGwua2E7ZD09bnVsbCYmKGY9ITApfWlmKGYpcmV0dXJuIG51bGx9Yj1oYmFbYl07cmV0dXJuIHR5cGVvZiBiPT09Im51bWJlciI/YjpudWxsfTsKamJhPWZ1bmN0aW9uKGEsYil7Yj1fLmdCKGEudG9Mb3dlckNhc2UoKSxiLCgpPT57dGhyb3cgXy5VdShFcnJvcigibWMiKSw0LGEudG9Mb3dlckNhc2UoKSk7fSk7cmV0dXJuIGI9PT1udWxsP251bGw6aWJhW2JdPz9udWxsfTtrYmE9ZnVuY3Rpb24oYSxiLGMpe2lmKGM9PT1udWxsfHxjPT09dm9pZCAwKXJldHVybiBjO2I9Yi50b0xvd2VyQ2FzZSgpO2E9amJhKGEsYik7cmV0dXJuIGE9PT1udWxsP2M6YShiLGMpfTtoQj1mdW5jdGlvbihhLGIpe3ZhciBjPVdhYShiKTtiPV8uJHQoYyk7dHJ5e2EoYyl9ZmluYWxseXtfLiR0KGIpfXJldHVybigpPT52b2lkIF8uQ3UoYyl9O18uaUI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQWEoYSk/Im5vZGVUeXBlImluIGE6ITF9O18uakI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uaUIoYSkmJmEubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERX07a0I9ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpfTsKbEI9ZnVuY3Rpb24oYSl7YT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYSkpO2EuX2lzU2lnbmFsVGV4dE5vZGU9ITA7cmV0dXJuIGF9O18ub0I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJmEuR2k9PT1fLm1CfHxhIGluc3RhbmNlb2YgXy5mYnx8bkIoYSl9O18ucEI9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYobkIoYSkmJkJBKGEpKV8uekEoYixCQShhKSk7ZWxzZSBpZihhIGluc3RhbmNlb2YgXy5mYilfLnpBKGIsYSk7ZWxzZSBpZihhIT1udWxsJiZhLkdpPT09Xy5tQil7aWYoYS5HaSE9PV8ubUIpdGhyb3cgRXJyb3IoIk5hIik7YT1fLmdiKGEudG9TdHJpbmcoKSk7Xy56QShiLGEpfWZvcihsZXQgYyBvZiBiLmNoaWxkTm9kZXMpYy5faXNTYWZlT3JTYW5pdGl6ZWRIdG1sTm9kZT0hMDtyZXR1cm4gYn07Cl8ucUI9ZnVuY3Rpb24oYSl7YT10eXBlb2YgYTtyZXR1cm4gYT09PSJzdHJpbmcifHxhPT09Im51bWJlciJ8fGE9PT0iYm9vbGVhbiJ9O3JCPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5TYXx8Xy5YYShhKXx8ITF9O3NCPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5wYXJlbnRFbGVtZW50O2lmKCFjKXJldHVybiBiO18uakIoYikmJk9BKGMsYik7Yy5yZXBsYWNlQ2hpbGQoYixhKTtyZXR1cm4gYn07dEI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hWzBdLnBhcmVudEVsZW1lbnQ7aWYoYylpZihhWzBdLnByZXZpb3VzU2libGluZ3x8YVthLmxlbmd0aC0xXS5uZXh0U2libGluZyl7Yy5pbnNlcnRCZWZvcmUoYixhWzBdKTtmb3IobGV0IGQ9YS5sZW5ndGgtMTtkPj0wO2QtLSljLnJlbW92ZUNoaWxkKGFbZF0pfWVsc2UgYy50ZXh0Q29udGVudD0iIixjLmFwcGVuZENoaWxkKGIpO3JldHVybiBifTsKdUI9ZnVuY3Rpb24oYSxiKXtpZihhWzBdLnBhcmVudEVsZW1lbnQpe3ZhciBjPWFbMF0ucGFyZW50RWxlbWVudDtsZXQgZj1iLmxlbmd0aCxoPWEubGVuZ3RoLGs9ZixsPTAsbT0wLG49YVtoLTFdLm5leHRTaWJsaW5nLHA9bnVsbDtmb3IoO2w8aHx8bTxrOylpZihhW2xdPT09YlttXSlsKyssbSsrO2Vsc2V7Zm9yKDthW2gtMV09PT1iW2stMV07KWgtLSxrLS07aWYoaD09PWwpZm9yKHZhciBkPWs8Zj9tP2JbbS0xXS5uZXh0U2libGluZzpiW2stbV06bjttPGs7KXt2YXIgZT1iW20rK107Xy5qQihlKSYmT0EoYyxlKTtjLmluc2VydEJlZm9yZShlLGQpfWVsc2UgaWYoaz09PW0pZm9yKDtsPGg7KWQ9YVtsXSxwJiZwLmhhcyhkKXx8Yy5yZW1vdmVDaGlsZChkKSxsKys7ZWxzZSBpZihhW2xdPT09YltrLTFdJiZiW21dPT09YVtoLTFdKWQ9YVstLWhdLm5leHRTaWJsaW5nLGMuaW5zZXJ0QmVmb3JlKGJbbSsrXSxhW2wrK10ubmV4dFNpYmxpbmcpLGMuaW5zZXJ0QmVmb3JlKGJbLS1rXSxkKSwKYVtoXT1iW2tdO2Vsc2V7aWYoIXApZm9yKHA9bmV3IE1hcCxkPW07ZDxrOylwLnNldChiW2RdLGQrKyk7ZD1wLmdldChhW2xdKTtpZihkPT1udWxsKWMucmVtb3ZlQ2hpbGQoYVtsXSksbCsrO2Vsc2UgaWYobTxkJiZkPGspe2U9bDtsZXQgcj0xLHQ7Zm9yKDsrK2U8aCYmZTxrOyl7dD1wLmdldChhW2VdKTtpZih0PT1udWxsfHx0IT09ZCtyKWJyZWFrO3IrK31pZihyPmQtbSlmb3IoZT1hW2xdO208ZDspYy5pbnNlcnRCZWZvcmUoYlttKytdLGUpO2Vsc2UgYy5yZXBsYWNlQ2hpbGQoYlttKytdLGFbbCsrXSl9ZWxzZSBsKyt9fX1yZXR1cm4gYn07dkI9ZnVuY3Rpb24oYSl7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGE/LnBhcmVudEVsZW1lbnQ7Zm9yKGxldCBiIG9mIGEpaWYoYT12QihiKSlyZXR1cm4gYTtyZXR1cm4gbnVsbH07d0I9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLl9kaXNwb3NlRWZmZWN0czthLl9kaXNwb3NlRWZmZWN0cz1jPygpPT57YygpO2IoKX06Yn07Cl8uekI9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBjPT09ImJvb2xlYW4iJiZsYmEuaGFzKGIpKV8uUUEoYSxiLFN0cmluZyhjKSk7ZWxzZSBpZihjPT09ITEmJm1iYS5oYXMoYikpXy5RQShhLGIsbnVsbCk7ZWxzZSBpZihiIT09Imlkb21LZXkiJiZiIT09InNraXAiJiZiIT09InNraXBjaGlsZHJlbiImJmIhPT0iY2hpbGRyZW4iJiZiIT09ImVsIilpZihiLnN0YXJ0c1dpdGgoIm9uIikpe2lmKGJbMl0hPT0iOiIpdGhyb3cgXy5VdShFcnJvcigibGNgIitiKSw0LGEudGFnTmFtZSk7bGV0IGY9Yi5zbGljZSgzKTt2YXIgZD1fLkhBKCk7aWYoYz09PXZvaWQgMClkfHxmPT09ImpzYWN0aW9uInx8eEIuaW5jbHVkZXMoZil8fChhW2BvbiR7Zn1gXT1udWxsKTtlbHNlIGlmKGY9PT0ianNhY3Rpb24iKXtjPUFycmF5LmlzQXJyYXkoYyk/YzpbY107Zm9yKGxldCBoIG9mIGMpe2lmKHR5cGVvZiBoIT09Im9iamVjdCJ8fGg9PT1udWxsfHx0eXBlb2YgaC5xbiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoInNjYCIrCmIpO2gucW4oMCxhLGQ/Xy5ZdTooKT0+e30pfX1lbHNle2lmKHR5cGVvZiBjPT09ImZ1bmN0aW9uIil7ZHx8YVtlQl0hPT12b2lkIDB8fChhW2VCXT0hMSx3QihhLCgpPT57YVtlQl09ITB9KSk7dmFyIGU9Z2JhKGMsIWQpfWVsc2V7bmJhKGIsYyk7aWYoYy5xbil7Yy5xbigwLGEsZixkP18uWXU6KCk9Pnt9KTtyZXR1cm59ZT1jLlVwKDApfWlmKGQmJmFbYG9uJHtmfWBdPT09dm9pZCAwKWEuYWRkRXZlbnRMaXN0ZW5lcihmLGUpLF8uWXUoKCk9PnZvaWQgYS5yZW1vdmVFdmVudExpc3RlbmVyKGYsZSkpO2Vsc2UgaWYoZHx8IXhCLmluY2x1ZGVzKGYpKWFbYG9uJHtmfWBdPWV9fWVsc2V7aWYoYi5zdGFydHNXaXRoKCJkYXRhLSIpJiZ0eXBlb2YgYz09PSJzdHJpbmciKXRyeXtjPWZiYShjKX1jYXRjaChmKXtjPSJ6U295eiJ9dHlwZW9mIGMhPT0iZnVuY3Rpb24ifHxhLl9kaXNwb3NlRWZmZWN0cyE9bnVsbD8oKGQ9Yi5zdGFydHNXaXRoKCJwcm9wOiIpKSYmKGI9Yi5zbGljZSg1KSksYj09PQoic3R5bGUiP18uSEEoKT90eXBlb2YgYz09PSJvYmplY3QiJiZjIT09bnVsbD9vYmEoYSxjKTp5QihhLGIsYyk6eUIoYSxiLGMpOihfLkt1Lnl2JiYoZCYmcGJhKGEudGFnTmFtZSl8fChjPWtiYShhLnRhZ05hbWUsYixjKSkpLGQ/YVtiXT1jOnFiYShhLGIsYykpKTooYS5fc2lnbmFsUHJvcHN8fChhLl9zaWduYWxQcm9wcz1bXSksYS5fc2lnbmFsVmFsdWVzfHwoYS5fc2lnbmFsVmFsdWVzPVtdKSxhLl9zaWduYWxQcm9wcy5wdXNoKGIpKX19O18uQUI9ZnVuY3Rpb24oYSxiLHtsajpjfT17fSl7aWYoYj8uZWwpe2xldCBkPWIuZWw7ZC5tej8uKGEpO2EuX2Rpc3Bvc2VSZWZ8fChhLl9kaXNwb3NlUmVmPSgpPT57ZC51ej8uKCk7ZGVsZXRlIGEuX2Rpc3Bvc2VSZWZ9LGMmJl8uWXUoKCk9PnthLl9kaXNwb3NlUmVmPy4oKX0pKX19OwpuYmE9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYiE9PSJvYmplY3QifHxiPT09bnVsbCl0aHJvdyBfLlV1KEVycm9yKCJxY2AiK2ErImAiK3R5cGVvZiBiKSw0KTtpZih0eXBlb2YgYi5VcCE9PSJmdW5jdGlvbiIpdGhyb3cgXy5VdShFcnJvcigicmNgIithKyJgIitPYmplY3Qua2V5cyhiKSksNCk7fTtwYmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGVuZ3RoPjAmJmEuaW5jbHVkZXMoIi0iKSYmIXJiYS5pbmNsdWRlcyhhLnRvTG93ZXJDYXNlKCkpfTsKb2JhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5adCxkPWFbQkJdLGU9YVtDQl07aWYoZSlmb3IodmFyIGYgb2Ygc2JhKGUsYikpREIoZCxmKSxFQihhLnN0eWxlLGYsbnVsbCk7ZT1uZXcgU2V0O2ZvcihsZXQgaCBpbiBiKXtpZighYi5oYXNPd25Qcm9wZXJ0eShoKSljb250aW51ZTtlLmFkZChoKTtsZXQgaz1iW2hdO2lmKHR5cGVvZiBrPT09ImZ1bmN0aW9uIiYmYyl7aWYoIWQpe2Q9bmV3IE1hcDtsZXQgbD1hW0JCXT1kO3dCKGEsKCk9Pntmb3IobGV0IG0gb2YgbC52YWx1ZXMoKSltKCk7bC5jbGVhcigpfSl9REIoZCxoKTtmPV8udXYoKCk9PntfLnR2KCgpPT57dmFyIGw9aygpO0VCKGEuc3R5bGUsaCxsKX0sIlFEekhKZSIpfSk7ZC5zZXQoaCxmKX1lbHNlIERCKGQsaCksRUIoYS5zdHlsZSxoLGspfWFbQ0JdPWV9OwpFQj1mdW5jdGlvbihhLGIsYyl7Yz09bnVsbHx8Yz09PSExP2Iuc3RhcnRzV2l0aCgiLS0iKXx8Yi5pbmNsdWRlcygiLSIpP2EucmVtb3ZlUHJvcGVydHkoYik6YVtiXT0iIjpiLnN0YXJ0c1dpdGgoIi0tIil8fGIuaW5jbHVkZXMoIi0iKT9hLnNldFByb3BlcnR5KGIsU3RyaW5nKGMpKTphW2JdPWN9O3NiYT1mdW5jdGlvbihhLGIpe3JldHVybiBmdW5jdGlvbiooKXtmb3IobGV0IGMgb2YgYSljIGluIGJ8fCh5aWVsZCBjKX0oKX07REI9ZnVuY3Rpb24oYSxiKXtpZihhKXt2YXIgYz1hLmdldChiKTtjJiYoYygpLGEuZGVsZXRlKGIpKX19O0ZCPWZ1bmN0aW9uKGEpe3JldHVybigwLF8ucXIpKGEpJiYiX193aXpfUnFNWU0iaW4gYX07Xy5HQj1mdW5jdGlvbihhKXtyZXR1cm4gRkIoYSk/YS5fX3dpel9ScU1ZTS5RZTphfTtIQj1mdW5jdGlvbihhLGIsLi4uYyl7Yj1iPz97fTtyZXR1cm57dHlwZTphLHByb3BzOmIsY2hpbGRyZW46YyxbXy5Mdl06ITB9fTtfLklCPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNoaWxkcmVufTsKXy5MQj1mdW5jdGlvbihhKXt2YXIgYj1KQiE9PUhCO0pCPWE/Xy5LQjpIQjtyZXR1cm4gYn07dGJhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5DQSgxKSxiPV8uY3UoYSxfLk1CKTtpZighXy5idShiKSlyZXR1cm4gYjthPV8uY3UoYSxfLk5CKTtpZighXy5idShhKSlyZXR1cm4gYS5udygpfTtfLlBCPWZ1bmN0aW9uKGEsYil7Yj09bnVsbCYmKGI9KF8uT0Iuc3Y/P2RvY3VtZW50KS5fX3dpemRpc3BhdGNoZXIuYUooKSk7Yi5nZXQoXy5GdCkuby5kaXNwYXRjaEV2ZW50KG5ldyBfLkh0KGEsXy5tQikpfTsKdWJhPWZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpe2lmKGEubGVuZ3RoPjEpdGhyb3cgXy5VdShFcnJvcigidmNgIithLmxlbmd0aCsiYCIrYS5tYXAoUUIpLmpvaW4oIiwgIikpLDQsIlNDUklQVCIpO2E9YVswXX1pZihhPT1udWxsKXJldHVybiBudWxsO2lmKCEoYSBpbnN0YW5jZW9mIF8uamIpKXtpZih3aW5kb3c/LnRydXN0ZWRUeXBlcz8uaXNTY3JpcHQoYSkpdGhyb3cgRXJyb3IoInVjIik7aWYoU3RyaW5nKGEpLnRyaW0oKS5sZW5ndGg9PT0wKXJldHVybiBudWxsO3Rocm93IEVycm9yKCJ3Y2AiK1FCKGEpKTt9cmV0dXJuIGF9O3ZiYT1mdW5jdGlvbihhLGIpe2I9dWJhKGIpO2IhPT1udWxsJiZfLm5iKGEsYil9OwpfLlJCPWZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpe2lmKGEubGVuZ3RoPjEpdGhyb3cgXy5VdShFcnJvcigieGNgIithLmxlbmd0aCsiYCIrYS5tYXAoUUIpLmpvaW4oIiwgIikpLDQsIlNUWUxFIik7YT1hWzBdfWlmKGE9PW51bGx8fFN0cmluZyhhKS50cmltKCkubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt0aHJvdyBFcnJvcigieWNgIitRQihhKSk7fTtRQj1mdW5jdGlvbihhKXtyZXR1cm5gKCR7dHlwZW9mIGF9KSAke2EhPW51bGwmJnR5cGVvZiBhPT09Im9iamVjdCI/YS5jb25zdHJ1Y3Rvci5uYW1lOnR5cGVvZiBhfSAke2F9YH07U0I9ZnVuY3Rpb24oKXt9O1RCPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9OwpfLlhCPWZ1bmN0aW9uKGEsYj17fSl7dmFyIGM9VUIoKSxkPSEwLGUsZj0hIV8uS3UuSnE7ZiYmKGU9dGJhKCkpO18udHYoKCk9Pnt2YXIgaD0hZCYmYi5XZSYmZixrPWg/dkIoY1swXSk6dm9pZCAwO2Q9ITE7Yi5XZSYmXy5ndisrO3ZhciBsPWNbMF0sbT1jLl9fd2l6X1JxTVlNLlFlLG49Xy5MQighMCk7dHJ5e2xldCB2O3RyeXt2PWEoKX1jYXRjaChGKXtfLm92KEYpLHY9a0IoKX1sZXQgej13YmEobCx2LGMpLEU9Xy5WQi52eSh6KT8/ejtBcnJheS5pc0FycmF5KEUpfHwoYy5fX3dpel9ScU1ZTS5RZT1bRV0pO2xldCBBPWMuX193aXpfUnFNWU0uUWU7aWYobSYmKCFBcnJheS5pc0FycmF5KG0pfHxtLmxlbmd0aCE9PTApKXt2YXIgcD1BcnJheS5pc0FycmF5KG0pP21bMF06bSxyPXBbXy5XQl0sdD1wLl9kaXNwb3NlRWZmZWN0cztwLl9kaXNwb3NlRWZmZWN0cz12b2lkIDA7cD1BcnJheS5pc0FycmF5KEEpP0FbMF06QTtwW18uV0JdPXI7cFtfLldCXSYmKHBbXy5XQl0uVXE9cD09PUE/CjE6QS5sZW5ndGgpO3AuX2Rpc3Bvc2VFZmZlY3RzPXR9Y1swXT1FO2IuV2UmJl8uSUEoITEpfWNhdGNoKHYpe3Rocm93IGIuV2UmJl8uSUEoITApLF8uVXUodiw0KTt9ZmluYWxseXtfLkxCKG4pfWgmJl8uUEIoayxlKX0sYi5kZWJ1Z05hbWUpO3JldHVybiBjfTsKd2JhPWZ1bmN0aW9uKGEsYixjKXtmb3IoO3R5cGVvZiBiPT09ImZ1bmN0aW9uIjspYj1iKCk7aWYoYj8uW18uTHZdKXRocm93IF8uVXUoRXJyb3IoInpjYCIrYi50eXBlPy5aYyksNCxiLnR5cGU/LlpjKTtpZihhPT1udWxsKXJldHVybiBiPT1udWxsP2tCKCk6Xy5xQihiKT9sQihiKTpyQihiKT9sQihiLnRvU3RyaW5nKCkpOl8uaUIoYik/YjpiLmxlbmd0aD09PTA/a0IoKTpZQihiLGMpO2lmKF8uaUIoYSkpe2lmKGI9PW51bGwpcmV0dXJuIHNCKGEsa0IoKSk7aWYoXy5xQihiKSlyZXR1cm4gYUMoYSxiKTtpZihyQihiKSlyZXR1cm4gYUMoYSxiLnRvU3RyaW5nKCkpO2lmKF8uaUIoYikpcmV0dXJuIHNCKGEsYik7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBzQihhLGtCKCkpO2I9WUIoYixjKTt1QihbYV0sYy5fX3dpel9ScU1ZTS5RZSk7cmV0dXJuIGJ9YT1fLmJDKGEpO2lmKGI9PW51bGwpcmV0dXJuIHRCKGEsa0IoKSk7aWYoXy5xQihiKSlyZXR1cm4gdEIoYSxsQihiKSk7aWYockIoYikpcmV0dXJuIHRCKGEsCmxCKGIudG9TdHJpbmcoKSkpO2lmKF8uaUIoYikpcmV0dXJuIHVCKGEsW2JdKVswXTtpZihiLmxlbmd0aD09PTApcmV0dXJuIHRCKGEsa0IoKSk7Yj1ZQihiLGMpO3VCKGEsYy5fX3dpel9ScU1ZTS5RZSk7cmV0dXJuIGJ9O2FDPWZ1bmN0aW9uKGEsYil7YS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFP2EudGV4dENvbnRlbnQhPT1TdHJpbmcoYikmJihhLnRleHRDb250ZW50PVN0cmluZyhiKSk6YT1zQihhLGxCKGIpKTtyZXR1cm4gYX07Xy5iQz1mdW5jdGlvbihhLGIsYz0hMSl7cmV0dXJuIGNDKGEsYj8/W10sYyl9O1lCPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5iQyhhLHZvaWQgMCwhMCk7aWYoYy5sZW5ndGg9PT0wKXJldHVybiBrQigpO2IuX193aXpfUnFNWU0uUWU9YztyZXR1cm4gYX07CmNDPWZ1bmN0aW9uKGEsYj1bXSxjPSExLGQsZT0tMSl7aWYoYT09bnVsbClyZXR1cm4gYjtpZighQXJyYXkuaXNBcnJheShiKSYmXy5qQihiKSlzd2l0Y2goXy5qQihhKSYmT0EoYixhKSxiLnRhZ05hbWUpe2Nhc2UgIlNDUklQVCI6dmJhKGIsYSk7cmV0dXJuO2Nhc2UgIlNUWUxFIjppZihfLlJCKGEpIT09bnVsbCl0aHJvdyBFcnJvcigiaCIpO3JldHVybn1pZihBcnJheS5pc0FycmF5KGEpKXtmb3IodmFyIGY9MDtmPGEubGVuZ3RoO2YrKyljQyhhW2ZdLGIsYyxhLGYpO3JldHVybiBifWlmKGEgaW5zdGFuY2VvZiBfLmRDKXJldHVybiBmPWEub2MoKSxjQyhmLGIsYyxkLGUpO2lmKF8ucUIoYSkpcmV0dXJuIGE9bEIoYSksZCYmYyYmKGRbZV09YSksZUMoYixhKTtpZihfLm9CKGEpKXtjPV8ucEIoYSk7Zm9yKGM9Yy5maXJzdENoaWxkO2M7KWY9Yy5uZXh0U2libGluZyxlQyhiLGMpLGM9ZjtyZXR1cm4gYn1pZihyQihhKSlyZXR1cm4gYT1sQihhLnRvU3RyaW5nKCkpLGQmJmMmJihkW2VdPQphKSxlQyhiLGEpO2lmKF8uaUIoYSkpcmV0dXJuIGVDKGIsYSk7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXtmPV8uWEIoKCk9Pnt2YXIgaz1hKCk7aWYoaz09bnVsbHx8Xy5xQihrKSlyZXR1cm4gaztpZihfLm9CKGspKXJldHVybiBrPV8ucEIoayksQXJyYXkuZnJvbShrLmNoaWxkTm9kZXMpO3Rocm93IF8uVXUoRXJyb3IoIkFiYCIrKF8uTXU/Lm5hbWU/PyJ1bmtub3duIikrImAiK3R5cGVvZiBrKSw0KTt9LHtkZWJ1Z05hbWU6InFtRjJuZSIsenA6YX0pWzBdO2lmKEFycmF5LmlzQXJyYXkoZikpe2Zvcih2YXIgaCBvZiBmKWVDKGIsaCk7cmV0dXJuIGJ9ZCYmYyYmKGRbZV09Zik7cmV0dXJuIGVDKGIsZil9aWYoYT8uW18uTHZdKXtkPWE7ZT1fLkxCKCEwKTtoPUpCO3RyeXtmPWgoZC50eXBlLGQucHJvcHMsLi4uZC5jaGlsZHJlbil9ZmluYWxseXtfLkxCKGUpfXJldHVybiBjQyhmLGIsYyl9dGhyb3cgXy5VdShFcnJvcigiQWMiKSw0KTt9OwpVQj1mdW5jdGlvbihhKXt2YXIgYj1PYmplY3QuYXNzaWduKFtdLHtfX3dpel9ScU1ZTTp7UWU6W119fSk7aWYoIWEpcmV0dXJuIGI7YlswXT1ZQihhLGIpO3JldHVybiBifTtlQz1mdW5jdGlvbihhLGIpe0FycmF5LmlzQXJyYXkoYSk/YS5wdXNoKGIpOmEuYXBwZW5kQ2hpbGQoYik7cmV0dXJuIGF9O18uZkM9ZnVuY3Rpb24oYSl7aWYoQXJyYXkuaXNBcnJheShhKSl7Zm9yKGxldCBiPTA7YjxhLmxlbmd0aDtiKyspYVtiXT1fLmZDKGFbYl0pO3JldHVybiBhfXJldHVybiBhIGluc3RhbmNlb2YgXy5kQz8oYT1hLm9jKCksXy5mQyhhKSk6YX07Cl8uZ0M9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9Xy5GQShhKSxmPWw9PntkPWw7dmFyIG09Xy5MQighMCksbj1fLmt1KF8uenYpO3RyeXtjPV8uZkMoYShiKSl9ZmluYWxseXtfLmt1KG4pLF8uTEIobSl9IUFycmF5LmlzQXJyYXkoYykmJl8uRnUobCl9O2U9Xy5LdS5HcD9oQihmLGUpOl8udXYoZixfLkt1LnJpfHwhIV8uWnQpO2lmKCFiLmpuKXtmPV8uJHQoZCk7dHJ5e3JldHVybigwLF8udnYpKGEsYixjKSxjfWZpbmFsbHl7Xy4kdChmKX19IUZCKGMpJiZBcnJheS5pc0FycmF5KGMpJiYoYz1VQihjKSk7dmFyIGg9Xy5HQihjKTtmPUFycmF5LmlzQXJyYXkoaCk/aFswXTpoO3ZhciBrPSExO2lmKGYpe2xldCBsPWI/Lmlkb21LZXk/P2EsbT1oIT09ZjtmLl9kaXNwb3NlRWZmZWN0cz1lO2xldCBuPWZbXy5XQl18fHt9LHA9RkIoYyk/YzpuLnluO09iamVjdC5hc3NpZ24obix7a2V5OmwsVXE6bT9oLmxlbmd0aDoxLG93bmVyOmQsbEo6ISFmW18uV0JdLHluOnB9KTtmW18uV0JdPW59ZWxzZSBrPQohMDsoKCk9Pnt2YXIgbD1fLiR0KGQpO3RyeXsoMCxfLnZ2KShhLGIsaCl9ZmluYWxseXtfLiR0KGwpfX0pKCk7ayYmZSgpO3JldHVybiBjfTtoQz1mdW5jdGlvbihhLGIpe2lmKCFhLnYmJmIpe2Eudj0hMDt0cnl7YS5IZigpfWNhdGNoKGMpe18uS3UuaGFuZGxlRXJyb3I/LiguLi5fLkpBKGMsYS5qPy5aYykpfV8uYncuSGYoYSk7YS5lbD1udWxsO2IuX19pbnN0YW5jZSYmZGVsZXRlIGIuX19pbnN0YW5jZX19O18uakM9ZnVuY3Rpb24oYSxiLGM9ITEpe2EuX3NpZ25hbFByb3BzIT1udWxsJiZhLl9kaXNwb3NlRWZmZWN0cz09bnVsbCYmKGM/YS5fZGlzcG9zZUVmZmVjdHM9Xy51digoKT0+dm9pZCBpQyhhLGIpLF8uS3Uucml8fCEhXy5adCk6aUMoYSxiKSl9OwppQz1mdW5jdGlvbihhLGIpe18udHYoKCk9Pnt2YXIgYz1hLl9zaWduYWxQcm9wcyxkPWEuX3NpZ25hbFZhbHVlcztmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrKyl7bGV0IGY9Y1tlXSxoPWJbZl0oKTtkW2VdIT09aCYmKGRbZV09aCxfLnpCKGEsZixoKSl9fSwiZTNZVmJiIil9O18ubEM9ZnVuY3Rpb24oYSxiLC4uLmMpe2I/PyhiPXt9KTtyZXR1cm4gXy5IQSgpfHxfLk11PT1udWxsP25ldyB4YmEoYSxiLGMpOmtDKGEsYixjKX07CmtDPWZ1bmN0aW9uKGEsYixjKXtpZihhPT09Xy5JQilyZXR1cm4gYztpZih0eXBlb2YgYT09PSJmdW5jdGlvbiIpcmV0dXJuIF8uTXUmJiFfLkhBKCkmJihiLmpuPSEwKSxfLkdBKGEsKCk9PntjLmxlbmd0aD4wJiYoYi5jaGlsZHJlbj1jLmxlbmd0aD09PTE/Y1swXTpjKTtpZihhLmNvbXBvbmVudFR5cGU9PT1fLkt2KXtsZXQgZTtoQigoKT0+e3ZhciBmPWI7aWYoYS5jb21wb25lbnRUeXBlIT09Xy5LdillPSExO2Vsc2V7Znx8KGY9e30pO3ZhciBoPW5ldyBfLm1DKGYsYSksaz1fLmt1KF8uenYpO3RyeXt2YXIgbD1oLm9jKGYpfWZpbmFsbHl7Xy5rdShrKX1sIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ/KGwuX19pbnN0YW5jZT1oLGguZWw9bCxoLmo9YSxhLlpjPWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpLF8uYncuR2YoaCksZT1sKTplPWx9fSxhLm5hbWUpO2lmKGUpcmV0dXJuIGV9cmV0dXJuIF8uZ0MoYSxiKX0sYi5kZWJ1Z0luc3RhbmNlKTt2YXIgZD15YmEoYSxiKTtmb3IobGV0IGUgaW4gYilfLnpCKGQsCmUsYltlXSk7Xy5qQyhkLGIpO18uYkMoYyxkKTtfLkFCKGQsYix7bGo6ITB9KTsoMCxfLnh2KShkLGIpO3JldHVybiBkfTt5YmE9ZnVuY3Rpb24oYSxiKXthPShOQS5oYXMoYS50b0xvd2VyQ2FzZSgpKT8wOk1BLmhhcyhhLnN0YXJ0c1dpdGgoInN2ZzoiKT9hLnJlcGxhY2UoInN2ZzoiLCIiKTphKSk/ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsYS5zdGFydHNXaXRoKCJzdmc6Iik/YS5yZXBsYWNlKCJzdmc6IiwiIik6YSk6KDAsXy53dikoYSxiKXx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChhKTthW18ubkNdPSEwO3JldHVybiBhfTsKXy5wQz1mdW5jdGlvbihhKXtpZihhKXthLl9kaXNwb3NlUmVmPy4oKTthLl9kaXNwb3NlRWZmZWN0cz8uKCk7aWYoYS5fX2luc3RhbmNlJiZhLl9faW5zdGFuY2UgaW5zdGFuY2VvZiBvQyl7dmFyIGI9YS5fX2luc3RhbmNlO2hDKGIsYSk7YiBpbnN0YW5jZW9mIF8ubUMmJmIuRCgpfWZvcihiPTA7YjxhLmNoaWxkTm9kZXMubGVuZ3RoO2IrKylfLnBDKGEuY2hpbGROb2Rlc1tiXSl9fTt6YmE9ZnVuY3Rpb24oYSl7cUMucHVzaChhKT09PTEmJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9Pnt2YXIgYj1bLi4ucUNdO3FDPVtdO2ZvcihsZXQgYyBvZiBiKXRyeXtmb3IoYj0wO2I8Yy5sZW5ndGg7YisrKV8ucEMoY1tiXSl9Y2F0Y2goZCl7Xy5LdS5oYW5kbGVFcnJvcj8uKC4uLl8uSkEoZCkpfX0pfSl9O18uSz1mdW5jdGlvbihhLGIsLi4uYyl7cmV0dXJuIEpCKGEsYiwuLi5jKX07Xy5yQz1mdW5jdGlvbihhKXt2YXIgYj1fLmt1KF8ueXYpO3RyeXthKCl9ZmluYWxseXtfLmt1KGIpfX07CkFiYT1mdW5jdGlvbihhKXtyZXR1cm4gYX07c0M9ZnVuY3Rpb24oYSxiLGM9IiIpe2Z1bmN0aW9uIGQoKXtyZXR1cm4gZSgpfXZhciBlPXR5cGVvZiBhPT09ImZ1bmN0aW9uIj9EQShhLEFiYSxiPy5lcXVhbHMpOkRBKGEuc291cmNlLGEuVGcsYj8uZXF1YWxzKTt2YXIgZj1lW18uWnVdO2YuZGVidWdOYW1lPV8uZXUoYj8uZGVidWdOYW1lLGMsIltsaW5rZWRTaWduYWxdIik7ZFtfLlp1XT1mO3JldHVybltkLGg9PntfLnJ1KGYpO18ueXUoZixoKTtmLlBiPSExO2Yucmo9Xy5tdX0saD0+e18ucnUoZik7aWYoZi52YWx1ZT09PV8uSXYpdGhyb3cgZi5lcnJvcjtfLmp1Py5MZSE9PSExfHxfLnd1KGYpO18ueXUoZixoKGYudmFsdWUpKTtmLlBiPSExO2Yucmo9Xy5tdX1dfTtfLnVDPWZ1bmN0aW9uKCl7dEN8fCh0Qz17T2M6ITEsVXk6MCxzdGFjazpbXSxzZXNzaW9uSWQ6IiIsZGg6dm9pZCAwLHByb2Nlc3NvcnM6W10sV2g6KCk9PiEwfSk7cmV0dXJuIHRDfTsKdkM9ZnVuY3Rpb24oKXt2YXIgYT1fLnVDKCk7cmV0dXJuIGEuc3RhY2tbYS5zdGFjay5sZW5ndGgtMV19O18ud0M9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51QygpO3JldHVybiBiLk9jP2IuZGg/Yi5kaFthXTohMDohMX07RGJhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy53QyhhKSYmXy51QygpLldoKGEsYixCYmEpP25ldyBDYmEoYSxiLGMpOnhDfTsKXy55Qz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGM9PT0iZnVuY3Rpb24iKXt2YXIgZD1jO2M9dm9pZCAwfXZhciBlPURiYShhLGIsYyk7aWYoYz8uZW5kVGltZSE9bnVsbClyZXR1cm4gZCYmXy5JcChFcnJvcigiRWMiKSksZTtlIT09eEMmJmM/LmFjdGl2ZSE9PSExJiZfLnVDKCkuc3RhY2sucHVzaChlKTtpZighZClyZXR1cm4gZTtpZihlPT09eEMpcmV0dXJuIGQoZSk7dHJ5e2xldCBmPWQoZSk7aWYoZiBpbnN0YW5jZW9mIFByb21pc2UpcmV0dXJuIGYudGhlbihoPT57ZS5lbmQoKTtyZXR1cm4gaH0saD0+e2UuZW5kKCJTUEFOX1NUQVRVU19FUlJPUiIpO3Rocm93IGg7fSk7ZS5lbmQoKTtyZXR1cm4gZn1jYXRjaChmKXt0aHJvdyBlLmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKSxmO319Owp6Qz1mdW5jdGlvbihhLGIsYyxkKXthIGluc3RhbmNlb2YgRWxlbWVudCYmKGMuZGVidWdOYW1lfHwoYy5kZWJ1Z05hbWU9YDwke2EudGFnTmFtZS50b0xvd2VyQ2FzZSgpfWArKGEudGFnTmFtZS5pbmNsdWRlcygiLSIpPyI+IjpgLiR7YS5jbGFzc05hbWV9PmApKSxfLngoInl0d2l6X2VuYWJsZV9kZWJ1Z19jb21wb25lbnRfcHJvcHMiKSYmKGEuZGVidWdQcm9wc3x8KGEuZGVidWdQcm9wcz1BQShiLGU9PigpPT5lKCkpKSxiLmRhdGE9PT12b2lkIDB8fCJkYXRhImluIGEmJiFhLmlzV2ViQ29tcG9uZW50V3JhcHBlcnx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGEuZGVidWdQcm9wcywiZGF0YSIse2dldDooKT0+Xy5CdihiLmRhdGEpLHNldDplPT57ZD8uZGF0YT8uKGUpfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pKSl9OwpfLkFDPWZ1bmN0aW9uKGEsYil7aWYoYS5sZW5ndGg9PT0wJiYhYj8uaW5pdGlhbClyZXR1cm4gc0MoYSx7ZGVidWdOYW1lOmI/LmRlYnVnTmFtZX0sImgiKTt2YXIgW2MsZCxlXT1zQyh7c291cmNlOigpPT5hKCksVGc6KGYsaCk9Pmg/LnZhbHVlP2EoaC52YWx1ZSk6Yj8uaW5pdGlhbD9hKGIuaW5pdGlhbCk6Zn0se2RlYnVnTmFtZTpiPy5kZWJ1Z05hbWV9LCJpIik7cmV0dXJuW2MsZCxlXX07Cl8uTD1mdW5jdGlvbihhLGI9IiIpe3ZhciBjPWQ9Pl8ueUMoInl0Q29tcG9uZW50Iix7fSxlPT57dmFyIGY9QkM9e307aWYoYz8uaWRvbUNvbXBhdCYmZC5qbil7bGV0IFtrLGxdPUViYShkLHR5cGVvZiBjLmlkb21Db21wYXQ9PT0ib2JqZWN0Ij9jPy5pZG9tQ29tcGF0LmNhbGxiYWNrczp7fSk7dmFyIGg9Q0MoYSxkKTtmLkd6PWg7QkM9dm9pZCAwO3pDKGgsZCxjLGspO2UuRGUoe2RlYnVnTmFtZTpjLmRlYnVnTmFtZX0pO2U9Xy5HQihoKTtlPUFycmF5LmlzQXJyYXkoZSk/ZVswXTplO2VbXy5XQl18fChlW18uV0JdPXt9KTtlW18uV0JdLnFCPWw7Xy5DdihkLGgpO3JldHVybiBofWQ9QUEoZCxGYmEpO2g9Q0MoYSxkKTt6QyhoLGQsYyk7Zi5Hej1oO0JDPXZvaWQgMDtlLkRlKHtkZWJ1Z05hbWU6Yy5kZWJ1Z05hbWV9KTtfLkN2KGQsaCk7cmV0dXJuIGh9KTtjLmRlYnVnTmFtZT1iO3JldHVybiBjfTtDQz1mdW5jdGlvbihhLGIpe2E9YShiKTtyZXR1cm4gXy5mQyhhKX07CkZiYT1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09ImNoaWxkcmVuInx8Yj09PSJyZWYifHx0eXBlb2YgYT09PSJmdW5jdGlvbiJ8fGE9PT12b2lkIDA/YTooKT0+YX07R2JhPWZ1bmN0aW9uKGEsYil7cmV0dXJuKCk9Pl8uQnYoYSk/P2J9O18uREM9ZnVuY3Rpb24oYSxiKXt2YXIgYz17Li4uYX07Zm9yKGxldCBkIGluIGIpYi5oYXNPd25Qcm9wZXJ0eShkKSYmKGNbZF09R2JhKGFbZF0sYltkXSkpO3JldHVybiBjfTsKRWJhPWZ1bmN0aW9uKGEsYil7dmFyIGM9e30sZD17fTtmb3IobGV0IGUgaW4gYSl7bGV0IGY9YVtlXTtpZihlIT09ImNoaWxkcmVuIiYmZSE9PSJyZWYiKWlmKHR5cGVvZiBmPT09ImZ1bmN0aW9uIilpZihlIGluIGJ8fGYubGVuZ3RoPjApZFtlXT1mLGFbZV09KC4uLmgpPT5kW2VdKC4uLmgpO2Vsc2V7aWYoZT09PSJkYXRhIil7bGV0IFtoLGtdPV8uQUMoZix7ZGVidWdOYW1lOmAke2V9OmN3aXNgfSk7YVtlXT1oO2NbZV09a319ZWxzZSBpZighKGFbZV09PT12b2lkIDAmJmUgaW4gYikpe2xldCBbaCxrXT1fLkooYVtlXSx7ZGVidWdOYW1lOmAke2V9OmN3aXNgfSwiVmJjZ0NkIik7YVtlXT1oO2NbZV09a319cmV0dXJuW2MsZnVuY3Rpb24oZSl7Zm9yKGxldCBmIGluIGUpe2xldCBoPWVbZl07ZiE9PSJjaGlsZHJlbiImJmYhPT0icmVmIiYmKHR5cGVvZiBoPT09ImZ1bmN0aW9uIj9mIGluIGI/ZFtmXT1oOmgubGVuZ3RoPjAmJihkW2ZdPWgsXy5JcChuZXcgXy5YaihIYmEsZikpKTpmIGluCmImJmg9PT12b2lkIDB8fChjW2ZdfHxfLkhwKG5ldyBfLlhqKEliYSxmKSksXy5yQygoKT0+e2NbZl0oaCl9KSkpfX1dfTsKVmFhPXsuLi5fLlh1LHZhbHVlOl8uR3YsUGI6ITAsZXJyb3I6bnVsbCxlcXVhbDpfLml1LGtpbmQ6ImxpbmtlZFNpZ25hbCIsWG0oYSl7cmV0dXJuIGEudmFsdWU9PT1fLkd2fHxhLnZhbHVlPT09Xy5Idn0sWW0oYSl7aWYoYS52YWx1ZT09PV8uSHYpdGhyb3cgRXJyb3IoImgiKTt2YXIgYj1hLnZhbHVlO2EudmFsdWU9Xy5Idjt2YXIgYz1fLnR1KGEpLGQ9ITE7dHJ5e2xldCBmPWEuc291cmNlKCksaD1iIT09Xy5HdiYmYiE9PV8uSXY7dmFyIGU9YS5UZyhmLGg/e3NvdXJjZTphLnNvdXJjZVZhbHVlLHZhbHVlOmJ9OnZvaWQgMCk7YS5zb3VyY2VWYWx1ZT1mO18ua3UobnVsbCk7ZD1oJiZlIT09Xy5JdiYmYS5lcXVhbChiLGUpfWNhdGNoKGYpe2U9Xy5JdixhLmVycm9yPWZ9ZmluYWxseXtfLmt1KGMpLGEmJl8udnUoYSl9ZD9hLnZhbHVlPWI6KGEudmFsdWU9ZSxhLnZlcnNpb24rKyl9fTtfLm1CPXt9O18uSXQucHJvdG90eXBlLmo9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250ZW50fTsKXy5JdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250ZW50fTtLQT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLmRDPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5Dbz1udWxsfX07b0M9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5wcm9wcz1hO3RoaXMudj0hMX1HZigpe31KaSgpe31IZigpe31LaSgpe319O3RyeXtsZXQgYT13aW5kb3c/LnRvcD8/Xy51O2EuVTNiSEhmPz8oYS5VM2JISGY9MCk7YS5VM2JISGYrK31jYXRjaChhKXtfLnUuVTNiSEhmPz8oXy51LlUzYkhIZj0wKSxfLnUuVTNiSEhmKyt9O18uRkM9bmV3IFdlYWtNYXA7Xy5HQz1YYWEoKTt2YXIgbWJhPW5ldyBTZXQoImFsbG93ZnVsbHNjcmVlbiBhbGxvd3RyYW5zcGFyZW5jeSBhc3luYyBhdXRvZm9jdXMgYXV0b3BsYXkgY2hlY2tlZCBjb250cm9scyBkZWZhdWx0IGRlZmVyIGRpc2FibGVkIGRpc2FibGVyZW1vdGVwbGF5YmFjayBmb3Jtbm92YWxpZGF0ZSBoaWRkZW4gaW5lcnQgaXNtYXAgaXRlbXNjb3BlIGpzc2hhZG93IGpzc2xvdCBsb29wIG11bHRpcGxlIG11dGVkIG5vbW9kdWxlIG5vdmFsaWRhdGUgb3BlbiBwbGF5c2lubGluZSByZWFkb25seSByZXF1aXJlZCByZXZlcnNlZCBzY29wZWQgc2VhbWxlc3Mgc2VsZWN0ZWQgc29ydGFibGUgdHlwZW11c3RtYXRjaCIuc3BsaXQoIiAiKSksbGJhPW5ldyBTZXQoWyJjb250ZW50ZWRpdGFibGUiLCJkcmFnZ2FibGUiLCJzcGVsbGNoZWNrIl0pO3ZhciBNQT1uZXcgU2V0KCJhIGFsdEdseXBoIGFsdEdseXBoRGVmIGFsdEdseXBoSXRlbSBhbmltYXRlIGFuaW1hdGVDb2xvciBhbmltYXRlTW90aW9uIGFuaW1hdGVUcmFuc2Zvcm0gY2lyY2xlIGNsaXBQYXRoIGNvbG9yLXByb2ZpbGUgY3Vyc29yIGRlZnMgZGVzYyBlbGxpcHNlIGZlQmxlbmQgZmVDb2xvck1hdHJpeCBmZUNvbXBvbmVudFRyYW5zZmVyIGZlQ29tcG9zaXRlIGZlQ29udm9sdmVNYXRyaXggZmVEaWZmdXNlTGlnaHRpbmcgZmVEaXNwbGFjZW1lbnRNYXAgZmVEaXN0YW50TGlnaHQgZmVEcm9wU2hhZG93IGZlRmxvb2QgZmVGdW5jQSBmZUZ1bmNCIGZlRnVuY0cgZmVGdW5jUiBmZUdhdXNzaWFuQmx1ciBmZUltYWdlIGZlTWVyZ2UgZmVNZXJnZU5vZGUgZmVNb3JwaG9sb2d5IGZlT2Zmc2V0IGZlUG9pbnRMaWdodCBmZVNwZWN1bGFyTGlnaHRpbmcgZmVTcG90TGlnaHQgZmVUaWxlIGZlVHVyYnVsZW5jZSBmaWx0ZXIgZm9udCBmb250LWZhY2UgZm9udC1mYWNlLWZvcm1hdCBmb250LWZhY2UtbmFtZSBmb250LWZhY2Utc3JjIGZvbnQtZmFjZS11cmkgZm9yZWlnbk9iamVjdCBnIGdseXBoIGdseXBoUmVmIGhrZXJuIGltYWdlIGxpbmUgbGluZWFyR3JhZGllbnQgbWFya2VyIG1hc2sgbWV0YWRhdGEgbWlzc2luZy1nbHlwaCBtcGF0aCBwYXRoIHBhdHRlcm4gcG9seWdvbiBwb2x5bGluZSByYWRpYWxHcmFkaWVudCByZWN0IHNjcmlwdCBzZXQgc3RvcCBzdHlsZSBzdmcgc3dpdGNoIHN5bWJvbCB0ZXh0IHRleHRQYXRoIHRpdGxlIHRyZWYgdHNwYW4gdXNlIHZpZXcgdmtlcm4iLnNwbGl0KCIgIikpLApOQT1uZXcgU2V0KFsiYSIsImZvbnQiLCJzY3JpcHQiLCJzdHlsZSIsInRpdGxlIl0pLFlhYT1uZXcgU2V0KFsiZGVzYyIsImZvcmVpZ25PYmplY3QiLCJ0aXRsZSJdKTtfLlJBPXtkZWZhdWx0OiJfX2RlZmF1bHQifTt2YXIgWmFhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7UEEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCk7Xy5IQz1TQSgpO18uY0I9bnVsbDt2YXIgYmJhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuY3JlYXRlZD1bXTt0aGlzLmRlbGV0ZWQ9W107dGhpcy5ub2RlPWF9fTt2YXIgY2JhPXR5cGVvZiBOb2RlIT09InVuZGVmaW5lZCImJk5vZGUucHJvdG90eXBlLmdldFJvb3ROb2RlfHxmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLGI9YTthOyliPWEsYT1hLnBhcmVudE5vZGU7cmV0dXJuIGJ9O18uV0E9bnVsbDtfLllBPW51bGw7Xy5VQT1udWxsO18uWkE9bnVsbDtfLiRBPVtdO18uYkI9VEE7Xy5hQj1bXTtfLklDPWZ1bmN0aW9uKGEpe3JldHVybiBlYmEoKGIsYyxkKT0+e18uVUE9Xy5ZQT1iO18uWUE9bnVsbDtjKGQpO18uWEEoKTtfLllBPV8uVUE7Xy5VQT1fLlVBLnBhcmVudE5vZGU7cmV0dXJuIGJ9LGEpfSgpO18uSkM9bmV3IFBBO1JlZ0V4cC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInN0aWNreSIpO3ZhciBlQj1TeW1ib2woImpjIik7dmFyIGhiYT17YWxpZ246MSxhbHQ6MSwiYXJpYS1hY3RpdmVkZXNjZW5kYW50IjoxMCwiYXJpYS1hdG9taWMiOjEsImFyaWEtYXV0b2NvbXBsZXRlIjoxLCJhcmlhLWJ1c3kiOjEsImFyaWEtY2hlY2tlZCI6MSwiYXJpYS1jb250cm9scyI6MTAsImFyaWEtY3VycmVudCI6MSwiYXJpYS1kZXNjcmliZWRieSI6MTAsImFyaWEtZGlzYWJsZWQiOjEsImFyaWEtZHJvcGVmZmVjdCI6MSwiYXJpYS1leHBhbmRlZCI6MSwiYXJpYS1oYXNwb3B1cCI6MSwiYXJpYS1oaWRkZW4iOjEsImFyaWEtaW52YWxpZCI6MSwiYXJpYS1sYWJlbCI6MSwiYXJpYS1sYWJlbGxlZGJ5IjoxMCwiYXJpYS1sZXZlbCI6MSwiYXJpYS1saXZlIjoxLCJhcmlhLW11bHRpbGluZSI6MSwiYXJpYS1tdWx0aXNlbGVjdGFibGUiOjEsImFyaWEtb3JpZW50YXRpb24iOjEsImFyaWEtb3ducyI6MTAsImFyaWEtcG9zaW5zZXQiOjEsImFyaWEtcHJlc3NlZCI6MSwiYXJpYS1yZWFkb25seSI6MSwiYXJpYS1yZWxldmFudCI6MSwiYXJpYS1yZXF1aXJlZCI6MSwKImFyaWEtc2VsZWN0ZWQiOjEsImFyaWEtc2V0c2l6ZSI6MSwiYXJpYS1zb3J0IjoxLCJhcmlhLXZhbHVlbWF4IjoxLCJhcmlhLXZhbHVlbWluIjoxLCJhcmlhLXZhbHVlbm93IjoxLCJhcmlhLXZhbHVldGV4dCI6MSxhc3luYzo4LGF1dG9jYXBpdGFsaXplOjEsYXV0b2NvbXBsZXRlOjEsYXV0b2NvcnJlY3Q6MSxhdXRvZm9jdXM6MSxhdXRvcGxheToxLGJnY29sb3I6MSxib3JkZXI6MSxjZWxscGFkZGluZzoxLGNlbGxzcGFjaW5nOjEsY2hlY2tlZDoxLGNpdGU6MSwiY2xhc3MiOjEsY29sb3I6MSxjb2xzOjEsY29sc3BhbjoxLGNvbnRlbnRlZGl0YWJsZToxLGNvbnRyb2xzOjEsY29udHJvbHNsaXN0OjEsY29vcmRzOjEsY3Jvc3NvcmlnaW46MSxkYXRldGltZToxLGRpcjo4LGRpc2FibGVkOjEsZG93bmxvYWQ6MSxkcmFnZ2FibGU6MSxlbmN0eXBlOjEsZmFjZToxLCJmb3IiOjEwLGZvcm1lbmN0eXBlOjEsZnJhbWVib3JkZXI6MSxoZWlnaHQ6MSxoaWRkZW46MSxocmVmOjQsaHJlZmxhbmc6MSwKaWQ6MTAsaW5lcnQ6MSxpc21hcDoxLGl0ZW1pZDoxLGl0ZW1wcm9wOjEsaXRlbXJlZjoxLGl0ZW1zY29wZToxLGl0ZW10eXBlOjEsbGFiZWw6MSxsYW5nOjEsbGlzdDoxMCxsb2FkaW5nOjgsbG9vcDoxLG1heDoxLG1heGxlbmd0aDoxLG1lZGlhOjEsbWluOjEsbWlubGVuZ3RoOjEsbXVsdGlwbGU6MSxtdXRlZDoxLG5hbWU6MTAsbm9uY2U6MSxvcGVuOjEscGxhY2Vob2xkZXI6MSxwbGF5c2lubGluZToxLHBvc3RlcjoxLHByZWxvYWQ6MSxyZWw6MSxyZXF1aXJlZDoxLHJldmVyc2VkOjEscm9sZToxLHJvd3M6MSxyb3dzcGFuOjEsc2VsZWN0ZWQ6MSxzaGFwZToxLHNpemU6MSxzaXplczoxLHNsb3Q6MSxzcGFuOjEsc3BlbGxjaGVjazoxLHNyYzo0LHNyY3NldDoxMixzdGFydDoxLHN0ZXA6MSxzdHlsZTo1LHN1bW1hcnk6MSx0YWJpbmRleDoxLHRhcmdldDo4LHRpdGxlOjEsdHJhbnNsYXRlOjEsdHlwZToxLHVzZW1hcDoxLHZhbGlnbjoxLHZhbHVlOjEsd2lkdGg6MSx3cmFwOjF9LGZCPQp7YTp7aHJlZjpbe2thOjN9XX0sYXJlYTp7aHJlZjpbe2thOjN9XX0sYXVkaW86e3NyYzpbe2thOjN9XX0sYnV0dG9uOntmb3JtYWN0aW9uOlt7a2E6M31dLGZvcm1tZXRob2Q6W3trYToxfV19LGZvcm06e2FjdGlvbjpbe2thOjN9XSxtZXRob2Q6W3trYToxfV19LGlmcmFtZTp7c3JjZG9jOlt7a2E6Mn1dfSxpbWc6e3NyYzpbe2thOjN9XSxzcmNzZXQ6W3trYToxMX1dfSxpbnB1dDp7YWNjZXB0Olt7a2E6MX1dLGZvcm1hY3Rpb246W3trYTozfV0sZm9ybW1ldGhvZDpbe2thOjF9XSxwYXR0ZXJuOlt7a2E6MX1dLHJlYWRvbmx5Olt7a2E6MX1dLHNyYzpbe2thOjN9XX0sbGluazp7aHJlZjpbe2thOjMsaWI6InJlbCIsbmI6ImFsdGVybmF0ZSJ9LHtrYTozLGliOiJyZWwiLG5iOiJhdXRob3IifSx7a2E6MyxpYjoicmVsIixuYjoiYm9va21hcmsifSx7a2E6MyxpYjoicmVsIixuYjoiY2Fub25pY2FsIn0se2thOjMsaWI6InJlbCIsbmI6ImNpdGUifSx7a2E6MyxpYjoicmVsIixuYjoiaGVscCJ9LAp7a2E6MyxpYjoicmVsIixuYjoiaWNvbiJ9LHtrYTozLGliOiJyZWwiLG5iOiJsaWNlbnNlIn0se2thOjMsaWI6InJlbCIsbmI6Im5leHQifSx7a2E6MyxpYjoicmVsIixuYjoicHJlZmV0Y2gifSx7a2E6MyxpYjoicmVsIixuYjoiZG5zLXByZWZldGNoIn0se2thOjMsaWI6InJlbCIsbmI6InByZXJlbmRlciJ9LHtrYTozLGliOiJyZWwiLG5iOiJwcmVjb25uZWN0In0se2thOjMsaWI6InJlbCIsbmI6InByZWxvYWQifSx7a2E6MyxpYjoicmVsIixuYjoicHJldiJ9LHtrYTozLGliOiJyZWwiLG5iOiJzZWFyY2gifSx7a2E6MyxpYjoicmVsIixuYjoic3VicmVzb3VyY2UifV19LHNjcmlwdDp7ZGVmZXI6W3trYToxfV19LHNvdXJjZTp7c3JjOlt7a2E6M31dLHNyY3NldDpbe2thOjExfV19LHRleHRhcmVhOntyZWFkb25seTpbe2thOjF9XX0sdmlkZW86e3NyYzpbe2thOjN9XX19O3ZhciBKYmE9L14oPyFqYXZhc2NyaXB0OikoPzpbYS16MC05Ky4tXSs6fFteJjpcLz8jXSooPzpbXC8/I118JCkpL2ksaWJhPXtbMV06bnVsbCxbMl06KGEsYik9PmIgaW5zdGFuY2VvZiBfLmZiP18ueUEoYik6Xy5GcS50b1N0cmluZygpLFszXTooYSxiKT0+Xy5YYShiKT9fLllhKGIpOkpiYS50ZXN0KFN0cmluZyhiKSk/U3RyaW5nKGIpOl8uRnEudG9TdHJpbmcoKSxbNF06KGEsYik9PmIgaW5zdGFuY2VvZiBfLlNhP18uVWEoYik6Xy5GcS50b1N0cmluZygpLFs1XTooYSxiKT0+U3RyaW5nKGIpLFs3XTpudWxsLFs4XTpudWxsLFsxMF06bnVsbH07Xy5LYmE9U3ltYm9sKCJuYyIpO3ZhciBuQj1fLkxBKCk7dmFyIEtDPVNBKCkscWJhPUtDW18uUkEuZGVmYXVsdF0seUI9S0Muc3R5bGUseEI9WyJmb2N1c2luIiwiZm9jdXNvdXQiXSxCQj1TeW1ib2woIm9jIiksQ0I9U3ltYm9sKCJwYyIpLHJiYT0iYW5ub3RhdGlvbi14bWwgY29sb3ItcHJvZmlsZSBmb250LWZhY2UgZm9udC1mYWNlLXNyYyBmb250LWZhY2UtdXJpIGZvbnQtZmFjZS1mb3JtYXQgZm9udC1mYWNlLW5hbWUgbWlzc2luZy1nbHlwaCIuc3BsaXQoIiAiKTt2YXIgSkI7SkI9SEI7Xy5XQj1TeW1ib2woInRjIik7Xy5MYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9Nb2RlbFJvb3RFbGVtZW50Iik7Xy5NYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9SZW5kZXJlckRhdGEiKTtfLk5iYT1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0luamVjdGluZ0NvbnN0cnVjdG9yIik7Xy5NQj1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0FwcENvbnRleHQiKTtfLk5CPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfRGlzcGF0Y2hlciIpO18uTEM9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9Sb290RWxlbWVudCIpO18uT2JhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfQXN5bmNEZXBzIik7Xy5QYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9PYmplY3RDcmVhdGlvblRyYWNrZXIiKTtfLk9CPXt9O18uVkI9e01LOlNCLGNMOlNCLGxvZzpTQixSSjpUQix2eTpUQixmSjooYSxiKT0+e2IoKX19O18uTUM9bnVsbDtfLm1DPWNsYXNzIGV4dGVuZHMgb0N7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhKTt0aGlzLm89Yjt0aGlzLlpmPVtdO3RoaXMuQj0wO3RoaXMuRD1fLnV2KGM9Pnt0aGlzLnFsPWM7Xy5ZdSgoKT0+e2hDKHRoaXMsdGhpcy5lbCl9KX0sXy5LdS5yaXx8ISFfLlp0KX1vYyhhKXt2YXIgYj1fLk1DO18uTUM9dGhpczt0aGlzLkI9MDt2YXIgYz1fLmt1KF8uenYpLGQ9Xy4kdCh0aGlzLnFsKTt0cnl7cmV0dXJuIHRoaXMubyhhKX1maW5hbGx5e18uJHQoZCksXy5rdShjKSxfLk1DPWJ9fWdldCBjb21wb25lbnROYW1lKCl7cmV0dXJuIF8uRkEodGhpcy5vKX19O3ZhciB4YmE7Xy5uQz1TeW1ib2woIkNjIik7eGJhPWNsYXNzIGV4dGVuZHMgXy5kQ3tjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoKTt0aGlzLmtpbmQ9YTt0aGlzLnByb3BzPWI7dGhpcy5jaGlsZHJlbj1jfW9jKCl7dmFyIGE9a0ModGhpcy5raW5kLHRoaXMucHJvcHMsdGhpcy5jaGlsZHJlbik7aWYodGhpcy5DbyE9bnVsbClmb3IobGV0IGIgb2YgdGhpcy5DbylhPWIoYSk7cmV0dXJuIGF9fTt2YXIgcUM9W107Xy53dT1hPT57dGhyb3cgXy5VdShFcnJvcigiYmJgIithLmRlYnVnTmFtZSksNCk7fTsoZnVuY3Rpb24oKXt2YXIgYT1fLmNCO18uY0I9Yj0+e2E/LihiKTt6YmEoYil9fSkoKTt2YXIgQ2JhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjPXt9KXt2YXIgZD1fLnVDKCk7dGhpcy5uYW1lPWE7dGhpcy5pZD1kLlV5Kys7dGhpcy5zZXNzaW9uSWQ9ZC5zZXNzaW9uSWQ7dGhpcy5hdHRyaWJ1dGVzPWI7dGhpcy5zdGF0dXM9IlNQQU5fU1RBVFVTX1VOU0VUIjt0aGlzLnN0YXJ0VGltZT1jLnN0YXJ0VGltZT8/KDAsXy5lbCkoKTt0aGlzLmo9Yy5hY3RpdmU7aWYoYT12QygpKXRoaXMucGFyZW50SWQ9YS5pZCxhLmNoaWxkcmVufHwoYS5jaGlsZHJlbj1bXSksYS5jaGlsZHJlbi5wdXNoKHRoaXMpO2ZvcihsZXQgZSBvZiBkLnByb2Nlc3NvcnMpdHJ5e2UuR20/Lih0aGlzKX1jYXRjaChmKXtfLklwKGYpfWMuZW5kVGltZSE9bnVsbCYmKHRoaXMuaj0hMSx0aGlzLmVuZCgiU1BBTl9TVEFUVVNfT0siLGMuZW5kVGltZSkpfWVuZChhPSJTUEFOX1NUQVRVU19PSyIsYj0oMCxfLmVsKSgpKXt2YXIgYz1fLnVDKCk7dGhpcy5lbmRUaW1lPWI7dGhpcy5kdXJhdGlvbj10aGlzLmVuZFRpbWUtCnRoaXMuc3RhcnRUaW1lO3RoaXMuc3RhdHVzPWE7dGhpcy5qIT09ITEmJih2QygpPT09dGhpcz9jLnN0YWNrLnBvcCgpOl8uSXAoRXJyb3IoIkRjYCIrU3RyaW5nKHRoaXMubmFtZSkpKSk7Zm9yKGxldCBkIG9mIGMucHJvY2Vzc29ycyl0cnl7ZC5scj8uKHRoaXMpfWNhdGNoKGUpe18uSXAoZSl9fURlKGEpe09iamVjdC5hc3NpZ24odGhpcy5hdHRyaWJ1dGVzLGEpfX0seEM9e2VuZCgpe30sRGUoKXt9fSx0QyxCYmE9e1d6KCl7cmV0dXJuIF8udUMoKS5zdGFja1swXX19O3ZhciBCQz12b2lkIDA7dmFyIEliYT0iSURPTSBpbnRlcm9wIHNldHRlciB1bmRlZmluZWQuIEtleToiLEhiYT0iQ2FsbGJhY2sgZGV0ZWN0ZWQgdGhhdCB3YXMgbm90IHNldCBpbiB0aGUgaWRvbUNvbXBhdCBjYWxsYmFja3MgbWFwLiBLZXk6IjsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFJiYSxRYmE7UmJhPWZ1bmN0aW9uKGEpe3ZhciBiPU9iamVjdC5jcmVhdGUoUWJhKTtiLlRnPWE7YT0oKT0+e18ucnUoYik7Xy5wdShiKTtpZihiLnZhbHVlPT09Xy5Jdil0aHJvdyBiLmVycm9yO3JldHVybiBiLnZhbHVlfTthW18uWnVdPWI7cmV0dXJuIGF9O18uTj1mdW5jdGlvbihhLGIsYz0iIil7dmFyIGQ9UmJhKGEpO2E9ZFtfLlp1XTthLmRlYnVnTmFtZT1fLmV1KGI/LmRlYnVnTmFtZSxjLCJbY29tcHV0ZWRdIik7Yj8uZXF1YWxzIT1udWxsJiYoYS5lcXVhbD1iLmVxdWFscyk7cmV0dXJuIGR9OwpRYmE9ey4uLl8uWHUsdmFsdWU6Xy5HdixQYjohMCxlcnJvcjpudWxsLGVxdWFsOl8uaXUsa2luZDoiY29tcHV0ZWQiLFhtKGEpe3JldHVybiBhLnZhbHVlPT09Xy5Hdnx8YS52YWx1ZT09PV8uSHZ9LFltKGEpe2lmKGEudmFsdWU9PT1fLkh2KXRocm93IEVycm9yKCJoIik7dmFyIGI9YS52YWx1ZTthLnZhbHVlPV8uSHY7dmFyIGM9Xy50dShhKSxkPSExO3RyeXt2YXIgZT1hLlRnKCk7Xy5rdShudWxsKTtkPWIhPT1fLkd2JiZiIT09Xy5JdiYmZSE9PV8uSXYmJmEuZXF1YWwoYixlKX1jYXRjaChmKXtlPV8uSXYsYS5lcnJvcj1mfWZpbmFsbHl7Xy5rdShjKSxhJiZfLnZ1KGEpfWQ/YS52YWx1ZT1iOihhLnZhbHVlPWUsYS52ZXJzaW9uKyspfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBTYmE7Xy5OQz1mdW5jdGlvbihhLGIpe3JldHVybigpPT57dmFyIGM9YSgpO2lmKCFjKXtsZXQgZD1FcnJvcigiT2NgIitiKTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShkLDIsYik7fSl9cmV0dXJuIGN9fTtfLk89ZnVuY3Rpb24oYSl7cmV0dXJuIFNiYShhKX07ClNiYT1mdW5jdGlvbihhKXtpZihhLkE9PT12b2lkIDApcmV0dXJuIGEuVz8uKCk7aWYodHlwZW9mIGEuQSE9PSJmdW5jdGlvbiIpe2xldCBlPWEudGhlbixmPWEuVyxoPWEuQTtyZXR1cm4gaD9lKGgpOmY/LigpfXZhciBiPWEuQSxjPV8uTigoKT0+ISFiKCksdm9pZCAwLCJCalFSUSIpLGQ9Xy5OQyhiLCJJZiIpO3JldHVybiBfLlhCKCgpPT57dmFyIGU9YygpLGY7Xy51digoKT0+e3ZhciBoPV8ua3UoXy56dik7dHJ5e2Y9Xy5mQyhlP2EudGhlbihkKTphLlc/LigpKX1maW5hbGx5e18ua3UoaCl9fSwhMCk7cmV0dXJuIGZ9LHtkZWJ1Z05hbWU6YS5kZWJ1Z0luc3RhbmNlPz8iUmxEdWRkIix6cDphLnRoZW4sV2U6ITB9KX07Xy5XQz1uZXcgTWFwO18uWEM9U3ltYm9sKCJOYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtHPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQ0EoMSk7aWYoKDAsXy5sdikoYikpdGhyb3cgRXJyb3IoImliIik7cmV0dXJuIF8uaHUoYSxiKX07Xy5tRz1mdW5jdGlvbigpe3JldHVybiBfLlp0P18ua0coXy5sRyk6dm9pZCAwfTtfLmZkYT1TeW1ib2woIiRjIik7Xy5nZGE9U3ltYm9sKCJhZCIpO18ubEc9Xy5ndSh7ZGVmYXVsdFZhbHVlOnZvaWQgMH0sInlEcDVPYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgaGNhO18ubkU9ZnVuY3Rpb24oYSxiKXthPV8ucHYoaGNhLGEsYik7Xy5mdihhKX07aGNhPXsuLi5fLiR2LGVmZmVjdFR5cGU6Xy5kdn07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ub0g9ZnVuY3Rpb24oYSxiKXthPV8uJHQoYSk7dHJ5e18uRUEoYil9ZmluYWxseXtfLiR0KGEpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ub0U9ZnVuY3Rpb24oKXtpZihfLkhBKCkpdGhyb3cgRXJyb3IoIkJjIik7cmV0dXJuIF8uTUN9O18ucEU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5vRSgpO2lmKGI9PW51bGwpdGhyb3cgRXJyb3IoIlRjIik7dmFyIGM9Yi5CKys7Yi5aZnx8KGIuWmY9W10pO3ZhciBkPWIuWmY7ZFtjXXx8KGRbY109e2tleTphLGhvc3Q6Yn0pO2lmKGEhPT1kW2NdLmtleSl0aHJvdyBFcnJvcigiU2NgIisoYi5qP2Iuaj8ubmFtZTpiIGluc3RhbmNlb2YgXy5tQz9fLkZBKGIubyk6YDwke2IuZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpfT5gKSk7cmV0dXJuIGRbY119O18ucUU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hYXx8YS5sZW5ndGghPT1iPy5sZW5ndGh8fGEuc29tZSgoYyxkKT0+YyE9PWJbZF0pfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGljYSx0RSxqY2Esd0U7aWNhPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGwsYyxkPXtDazpudWxsLGdldCB2YWx1ZSgpe2Qudkw/LigpO3JldHVybiBkLkNrfSx2bzohMSxrdTohMSxzZXQgdmFsdWUoZSl7ZC53TD8uKGUpO2QuQ2s9ZTtkLnZvPSEwfSxteihlKXtjJiZlIT09YyYmKGMuX2Rpc3Bvc2VSZWY9dm9pZCAwLGI/LigpKTtjPWU7Yj1hKGUpfHxudWxsfSx1eigpe2I/LigpO2I9ZC52YWx1ZT1udWxsfSxbXy5Ndl06ITB9O3JldHVybiBkfTtfLnNFPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2lmKF8uSEEoKSlyZXR1cm4gYSgpO3ZhciBjPV8ucEUoInVzZU1lbW9JbnRlcm5hbCIpO18ucUUoYy5tbCxiKSYmKGMubWw9YixjLnZhbHVlPWEoKSk7cmV0dXJuIGMudmFsdWV9O18udUU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdEUoYSwhMSxiKX07Xy52RT1mdW5jdGlvbihhLGIpe3JldHVybiB0RShhLCEwLGIpfTsKdEU9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLkhBKCk/d0UoYSxiLGMpOmpjYShhLGIsYyl9O2pjYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uc0UoKCk9PndFKGEsYixjKSl9O3dFPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLlp0LGU9aWNhKGY9PntlLnZhbHVlPWY7dmFyIGg9KCgpPT57dmFyIGs9Xy5rdShudWxsKTt0cnl7cmV0dXJuIGM/LihmKX1jYXRjaChsKXtfLm92KGwsZCl9ZmluYWxseXtfLmt1KGspfX0pKCk7cmV0dXJuKCk9PntoPy4oKX19KTtlLmp1PWE7ZS5sdT1iO2Uudko9IV8uSEEoKTtyZXR1cm4gZX07Xy5CRT1TeW1ib2woIldjIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubUY9e1ZiOiExLHN0YXRlOiJ2aXNpYmxlIn07Xy5uRj17VmI6ITEsc3RhdGU6ImhpZGRlbiJ9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnBIPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQ0EoKTtyZXR1cm4gYz0+e3ZhciBkPWEub2JzZXJ2ZXI/P18ueSgpLnJlc29sdmUoXy5MeCksZT1jLmpmPz9jLGY9W107YS5lYiYmZi5wdXNoKGQub2JzZXJ2ZShjLCgpPT57Xy5vSChiLCgpPT57YS5OYighMCxjKX0pfSxhLmViKSk7YS5OYyYmZi5wdXNoKGQub2JzZXJ2ZShjLCgpPT57Xy5vSChiLCgpPT57YS5OYighMSxjKX0pfSxhLk5jKSk7YS5MaCYmYS5MaiYmZi5wdXNoKGQub2JzZXJ2ZShjLCgpPT57Xy5vSChiLCgpPT57YS5MaigpfSl9LGEuTGgpKTtlLnZpc2liaWxpdHlNb25pdG9yS2V5cz0oZS52aXNpYmlsaXR5TW9uaXRvcktleXM/P1tdKS5jb25jYXQoZil9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFBEO18uUkQ9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5CKGEsXy5PRCk7aWYoYilyZXR1cm4gYjtpZigoYj1fLkIoYSxXYmEpKSYmYi5jb21tYW5kcylyZXR1cm4gUEQoYi5jb21tYW5kcyk7aWYoKGI9Xy5CKGEsWGJhKSkmJmIuY29tbWFuZHMpcmV0dXJuIFBEKGIuY29tbWFuZHMpO2lmKChhPV8uQihhLFliYSkpJiZhLmlkZW50aWZpZXImJmEuY29tbWFuZCYmKFFEfHwoUUQ9W10pLCFRRC5pbmNsdWRlcyhhLmlkZW50aWZpZXIpKSlyZXR1cm4gUUQucHVzaChhLmlkZW50aWZpZXIpLF8uQihhLmNvbW1hbmQsXy5PRCl9O1BEPWZ1bmN0aW9uKGEpe2lmKGEubGVuZ3RoIT09MCl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEpKGE9Xy5SRChjKSkmJmIucHVzaChhKTtyZXR1cm57Y29tbWFuZEV4ZWN1dG9yQ29tbWFuZDp7Y29tbWFuZHM6Yn19fX07Xy5TRD1uZXcgXy5JKCJjb21tYW5kRXhlY3V0b3JDb21tYW5kIik7Xy5PRD1uZXcgXy5JKCJpbm5lcnR1YmVDb21tYW5kIik7dmFyIFdiYT1uZXcgXy5JKCJwYXJhbGxlbENvbW1hbmQiKTt2YXIgWWJhPW5ldyBfLkkoInBlcmZvcm1PbmNlQ29tbWFuZCIpO3ZhciBYYmE9bmV3IF8uSSgic2VyaWFsQ29tbWFuZCIpO3ZhciBRRD12b2lkIDA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVEQ9bmV3IF8uSSgicmVlbFdhdGNoRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5VRD1uZXcgXy5WcygiQ09NTUFORF9IQU5ETEVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVkQ9bmV3IF8uSSgidXJsRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFpiYSxkY2EsJGJhLGVjYTtfLldEPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYSgpfWNhdGNoKGIpe18uSXAoYil9fTtfLllEPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm57Zm9ybTp7Y3VycmVudERhdGE6Xy5YRD8ucmVzcG9uc2U/P3t9LHNvdXJjZURhdGE6YSxldmVudDpiPy5ldmVudCxjbGlja2VkVmlzdWFsRWxlbWVudDpiPy5jbGlja2VkVmlzdWFsRWxlbWVudCxpbXBsaWNpdEdlc3R1cmVUeXBlOmI/LmltcGxpY2l0R2VzdHVyZVR5cGUsYXV0b25hdjpiPy5hdXRvbmF2LEJkOmI/LkJkfSxtZDpjfX07Cl8uYkU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5odixjPWEudXgsZD1hLmJoLGU9YS5JZCxmPWEucWQsaD1hLkFvLGs9YS5pbm5lcnR1YmVDb21tYW5kfHxfLlJEKGQpO2lmKGspe2E9e307dmFyIHtScTpsLGhyZWY6bX09Xy5aRChrKTtsJiZtPyhhLmhyZWY9bSxaYmEoYSxsLG0sYiksJGJhKGEsbCksZiYmKGEucWQ9ITApKTooYS5yb2xlPSJidXR0b24iLGEudGFiaW5kZXg9IjAiKTtfLkIoayxhY2EpJiYoYS5hcmlhSGFzUG9wdXA9ITApO2V8fChhLm9uY2xpY2s9bj0+e2wmJm18fG4ucHJldmVudERlZmF1bHQoKTtfLiREKGspO3ZhciBwPXsuLi5fLllEKGsse2V2ZW50Om59KSwuLi5ofTtuLnByZXZlbnREZWZhdWx0KCk7Xy5hRShrLHApO24uc3RvcFByb3BhZ2F0aW9uKCl9LGwmJm18fChhLm9ua2V5ZG93bj1uPT57aWYobi5rZXk9PT0iRW50ZXIifHxuLmtleT09PSIgIiluLnN0b3BQcm9wYWdhdGlvbigpLG4ucHJldmVudERlZmF1bHQoKSxuLmN1cnJlbnRUYXJnZXQuY2xpY2soKX0pKTsKcmV0dXJuey4uLmMsLi4uYX19fTtfLlpEPWZ1bmN0aW9uKGEpe2E9Xy5CKGEsXy5TRCk/LmNvbW1hbmRzfHxbYV07Zm9yKGxldCBiIG9mIGEpaWYoYT1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmwsXy54KCJ3ZWJfcmVtb3ZlX3dlYl9uYXZpZ2F0aW9uX2VuZHBvaW50X2RhdGEiKXx8KGE9YXx8Xy5CKGIsYmNhKT8udXJsKSxhJiZhIT09Ii9zZXJ2aWNlX2FqYXgiKXtsZXQgYz1fLmJiKGEsY2NhKTtpZihjKXJldHVybiBhPV8uWWEoYykse1JxOmIsaHJlZjphfTtfLklwKG5ldyBfLlhqKCJBdHRyaWJ1dGVkU3RyaW5nIFVSTCBjb3VsZCBub3QgYmUgc2FuaXRpemVkIixhKSl9cmV0dXJue319OwpaYmE9ZnVuY3Rpb24oYSxiLGMsZCl7Yz0hXy5maihjKTtpZihfLkIoYixfLmNFKT8ubm9mb2xsb3d8fF8uQihiLF8uQXcpPy5ub2ZvbGxvd3x8Xy5CKGIsXy5WRCk/Lm5vZm9sbG93fHxfLkIoYixfLlREKT8ubm9mb2xsb3d8fGMpYS5yZWw9Im5vZm9sbG93IjthLnRhcmdldD1kY2EoYixkKX07ZGNhPWZ1bmN0aW9uKGEsYj0iIil7cmV0dXJuIF8uQihhLF8uVkQpPy50YXJnZXQ9PT0iVEFSR0VUX05FV19XSU5ET1ciPyJfYmxhbmsiOmJ9OyRiYT1mdW5jdGlvbihhLGIpe2IuY2xpY2tUcmFja2luZ1BhcmFtcyYmKGEucGFyYW1zPXtpdGN0OmIuY2xpY2tUcmFja2luZ1BhcmFtc30pO2Eub25wb2ludGVyZG93bj1jPT57ZWNhKGMsYil9O2EubnU9Yn07Cl8uJEQ9ZnVuY3Rpb24oYSl7KGEubG9nZ2luZ1VybHN8fFtdKS5mb3JFYWNoKGI9Pnt2YXIgYz1iLmJhc2VVcmw7Yi5hdHRyaWJ1dGlvblNyY01vZGU9PT0iQVRUUklCVVRJT05fU1JDX01PREVfWEhSX09QVElPTiI/KGM9ZG9jdW1lbnQuZmVhdHVyZVBvbGljeT8uYWxsb3dlZEZlYXR1cmVzKCkuaW5jbHVkZXMoImF0dHJpYnV0aW9uLXJlcG9ydGluZyIpP2MrIiZuaXM9NiI6YysiJm5pcz01IixfLmFuKGMsdm9pZCAwLHZvaWQgMCx2b2lkIDAsIiIsITAsITApKTpfLmFuKGMpfSl9O2VjYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuY3VycmVudFRhcmdldDthPV8uV0QoKCk9PmMuaHJlZik7Yj1iLmNsaWNrVHJhY2tpbmdQYXJhbXM/e2l0Y3Q6Yi5jbGlja1RyYWNraW5nUGFyYW1zfTp7fTthJiZfLnV6KGEsYiw4LCEwKX07Xy5kRT1mdW5jdGlvbihhLGIpeyhhPV8uUkQoYSkpJiZfLmFFKGEsYil9OwpfLmFFPWZ1bmN0aW9uKGEsYil7Xy5ZdChfLlVELGM9PntiP2MucmVzb2x2ZUNvbW1hbmQoYSxiKTpjLnJlc29sdmVDb21tYW5kKGEpfSl9O18uY0U9bmV3IF8uSSgiYnJvd3NlRW5kcG9pbnQiKTt2YXIgYmNhPW5ldyBfLkkoIndlYk5hdmlnYXRpb25FbmRwb2ludERhdGEiKTt2YXIgYWNhPW5ldyBfLkkoIm1vZGFsRW5kcG9pbnQiKTtfLmZjYT1uZXcgXy5JKCJ1c2VyRmVlZGJhY2tFbmRwb2ludCIpO18uZUU9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmRhdGE9W107dGhpcy5EZj1udWxsfXB1c2goYSl7dGhpcy5EZj90aGlzLkRmKGEpOnRoaXMuZGF0YS5wdXNoKGEpfX07Xy5YRD17fTtfLmZFPV8uSihfLlhELHZvaWQgMCwiVEhST08iKVswXTtfLkoobnVsbCx2b2lkIDAsImN4NFRJZCIpO18uSihudWxsLHZvaWQgMCwiUVhhT3VkIik7Xy5KKCIiLHZvaWQgMCwiRFJXTzljIik7Xy5KKF8ucXooKT8hMTohMCx2b2lkIDAsInZ5enlpZCIpO18uZ0U9bmV3IF8uZUU7dmFyIGNjYT1bXy5JcSxfLkpxLF8uS3EsXy5NcSxfLkxxLF8uR3EsXy5OcSxfLlBxXTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5xSD1mdW5jdGlvbihhKXtpZihhLmNvbXBvc2VkUGF0aClyZXR1cm4gYS5jb21wb3NlZFBhdGgoKTtpZighYS51byl7bGV0IGI9W10sYz1hLnRhcmdldDtmb3IoO2M7KWIucHVzaChjKSxjPWMucGFyZW50Tm9kZTtiLnB1c2god2luZG93KTthLnVvPWJ9cmV0dXJuIGEudW99O18uckg9ZnVuY3Rpb24oYSxiLGMpe2ZvcihsZXQgZCBvZiBhKXtpZihkPT09YilicmVhaztmb3IobGV0IGUgb2YgYylpZihkLnRhZ05hbWU9PT1lfHxkLnJvbGU9PT0iYnV0dG9uIiYmZT09PSJCVVRUT04iKXJldHVybiEwfXJldHVybiExfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEJkYSxDZGEsRGRhLHZILHdILEVkYTtCZGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLm9ic2VydmVyPz9fLnkoKS5yZXNvbHZlKF8uTHgpO2lmKGEpe3ZhciBkPWEuamY/P2EsZT1bXTtiLmViJiZlLnB1c2goYy5vYnNlcnZlKGEsKCk9PntiLk5iKCEwLGEpfSxiLmViKSk7Yi5OYyYmZS5wdXNoKGMub2JzZXJ2ZShhLCgpPT57Yi5OYighMSxhKX0sYi5OYykpO2IuTGgmJmIuTGomJmUucHVzaChjLm9ic2VydmUoYSwoKT0+e2IuTGooKX0sYi5MaCkpO2QudmlzaWJpbGl0eU1vbml0b3JLZXlzPShkLnZpc2liaWxpdHlNb25pdG9yS2V5cz8/W10pLmNvbmNhdChlKX19O18udEg9ZnVuY3Rpb24oYSl7cmV0dXJuISFfLnNIKGEpfTtfLnVIPWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIGY9Pnt2YXIgaD1fLm1HKCk7Xy5uRSgoKT0+e2lmKGYpe0NkYShmLGEoKSxlKTt2YXIgaz1EZGEoZixhKCksYixjLGQsaCk7Xy5ZdShrKX19LCJhalFZNiIpfX07CkNkYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dkgoYiksZT13SChiKSxmPWQmJl8ubUYsaD1lJiZfLm5GOyhkfHxlKSYmQmRhKGEse05iOms9Pnt2YXIgbD1fLnkoKS5yZXNvbHZlKF8uVUQpO2smJmQ/KGwucmVzb2x2ZUNvbW1hbmQoZCx7Zm9ybTp7ZWxlbWVudDpjP2E6dm9pZCAwfSxtZDohMH0pLGQ9dkgoYikpOiFrJiZlJiYobC5yZXNvbHZlQ29tbWFuZChlLHtmb3JtOntlbGVtZW50OmM/YTp2b2lkIDB9LG1kOiEwfSksZT13SChiKSl9LGViOmYsTmM6aH0pfTsKRGRhPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgaD1uZXcgTWFwO2lmKGI9Xy5zSChiKSlhPWQ/Lm9uVGFwPy52YWx1ZXx8YSxjPUVkYShiLGEsYz8ub25UYXAsZSxmKSxhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixjKSxoLnNldCgiY2xpY2siLGMpLF8ueCgid2ViX2VuYWJsZV9hZGRpdGlvbmFsX2V2ZW50X2xpc3RlbmVyX2Zvcl90YXBfY29tbWFuZCIpJiYoYz1rPT57dmFyIGw9YS50YWdOYW1lO2w9PT0iQlVUVE9OInx8bD09PSJBInx8bD09PSJJTlBVVCJ8fGsua2V5IT09IkVudGVyIiYmay5rZXkhPT0iICJ8fGUmJl8uckgoXy5xSChrKSxhLGUpfHwoay5wcmV2ZW50RGVmYXVsdCgpLGEuY2xpY2soKSl9LGEuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYyksaC5zZXQoImtleWRvd24iLGMpKTtyZXR1cm4oKT0+e2ZvcihsZXQgW2ssbF1vZiBoKWEucmVtb3ZlRXZlbnRMaXN0ZW5lcihrLGwpfX07Cl8uc0g9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9Xy5CKGEsXy54SCk/Lm9uVGFwKSYmXy5SRChhKX07dkg9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9Xy5CKGEsXy54SCk/Lm9uVmlzaWJsZSkmJl8uUkQoYSl9O3dIPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uQihhLF8ueEgpPy5vbkhpZGRlbikmJl8uUkQoYSl9O18ueUg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUkQoXy5CKGEsXy54SCk/Lm9uSG92ZXJTdGFydCl9O18uekg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUkQoXy5CKGEsXy54SCk/Lm9uSG92ZXJFbmQpfTtFZGE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1rPT57Xy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChhLGspfSxoPWs9PntkJiZfLnJIKF8ucUgoayksYixkKXx8ZihrLnRhcmdldD97Zm9ybTp7ZWxlbWVudDprLnRhcmdldCxzb3VyY2VEYXRhOmEsbXV0YXRpb25Db250ZXh0OmV9fTp2b2lkIDApfTtjJiYoaD1rPT57YyhrLGYpfSk7cmV0dXJuIGh9O18ueEg9bmV3IF8uSSgiY29tbWFuZENvbnRleHQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5qSD1uZXcgXy5WcygiS0VZX01BTkFHRVJfVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5QPWZ1bmN0aW9uKC4uLmEpe3ZhciBiPSEwO2ZvcihsZXQgYyBvZiBhKWlmKHR5cGVvZiBjIT09InN0cmluZyIpe2I9ITE7YnJlYWt9cmV0dXJuIGI/YS5qb2luKCIgIikudHJpbSgpfHx2b2lkIDA6KCk9Pnt2YXIgYz0iIjtmb3IobGV0IGQgb2YgYSlpZih0eXBlb2YgZD09PSJmdW5jdGlvbiImJihkPWQoKSksZClpZih0eXBlb2YgZD09PSJzdHJpbmciKWMrPSIgIitkO2Vsc2UgZm9yKGxldCBlIGluIGQpe2lmKCFkLmhhc093blByb3BlcnR5KGUpKWNvbnRpbnVlO2xldCBmPWRbZV07dHlwZW9mIGY9PT0iZnVuY3Rpb24iJiYoZj1mKCkpO2YmJihjKz0iICIrZSl9Yz1jLnRyaW0oKXx8dm9pZCAwO3JldHVybiBfLkJ2KGMpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBrSDtrSD1mdW5jdGlvbihhKXtyZXR1cm4oKT0+YSgpP2EoKTp2b2lkIDB9OwpfLm5IPV8uTChhPT57dmFyIGI9Xy51RSgiYSIsYS5yZWYpLGM9YS51Yz9hLnVjOl8uTigoKT0+Xy5iRSh7aW5uZXJ0dWJlQ29tbWFuZDpfLlJEKGEuY29tbWFuZD8uKCkpPz9hLmNvbW1hbmQ/LigpLElkOmEuSWQ/LigpLGh2OmEudGFyZ2V0Py4oKX0pfHx7fSx2b2lkIDAsIlRBdnowIik7cmV0dXJuIF8uSygiYSIse2VsOmIsaHJlZjooKT0+YygpLmhyZWYscmVsOigpPT5jKCkucmVsLGNsYXNzOigpPT5jKCkuY2xhc3NOYW1lPz9hLmNsYXNzTmFtZT8uKCksc3R5bGU6KCk9PntpZihhLnN0eWxlPy4oKSlyZXR1cm4gYS5zdHlsZSgpO2lmKGEuZGlzYWJsZWQ/LigpKXJldHVybiJwb2ludGVyLWV2ZW50czpub25lIn0sImFyaWEtaGFzcG9wdXAiOigpPT4hIWMoKS5hcmlhSGFzUG9wdXAsImZvcmNlLW5ldy1zdGF0ZSI6a0goKCk9PmMoKS5xZCksdGl0bGU6a0goKCk9PmMoKS50aXRsZT8/YS50aXRsZT8uKCkpLHJvbGU6a0goKCk9PmEucm9sZT8uKCl8fGMoKS5yb2xlKSx0YXJnZXQ6a0goKCk9PgpjKCkudGFyZ2V0KSxkaXI6a0goKCk9PmEuZGlyPy4oKXx8YygpLmRpciksdGFiaW5kZXg6KCk9PmMoKS50YWJpbmRleCE9PXZvaWQgMD9OdW1iZXIoYygpLnRhYmluZGV4KTphLnRhYkluZGV4Py4oKSwiYXJpYS1oaWRkZW4iOigpPT5jKCkuYXJpYUhpZGRlbj8/YS5hcmlhSGlkZGVuPy4oKSwiYXJpYS1sYWJlbCI6KCk9PmMoKS5hcmlhTGFiZWw/P2EuYXJpYUxhYmVsPy4oKSwiYXJpYS1jdXJyZW50IjphLmFyaWFDdXJyZW50LCJhcmlhLWRpc2FibGVkIjphLmRpc2FibGVkLCJhcmlhLWV4cGFuZGVkIjphLmFyaWFFeHBhbmRlZCwiYXJpYS1sYWJlbGxlZGJ5IjphLkhvLCJhcmlhLWRlc2NyaWJlZGJ5IjphLkhlLCJhcmlhLXNlbGVjdGVkIjphLmFyaWFTZWxlY3RlZCwidGFiLWlkZW50aWZpZXIiOmEudGFiSWRlbnRpZmllciwib246cG9pbnRlcmRvd24iOmZ1bmN0aW9uKGQpe2MoKS5vbnBvaW50ZXJkb3duPy4oZCl9LCJvbjpjbGljayI6ZnVuY3Rpb24oZCl7YygpLm9uY2xpY2s/LihkKTsKYS5vbkNsaWNrPy4oZCl9LCJvbjpmb2N1c2luIjphLmR6LCJvbjpmb2N1c291dCI6YS5leiwib246bW91c2VlbnRlciI6ZnVuY3Rpb24oZCl7YS5vbkhvdmVyPy4oZCk7YS5pej8uKGQpfSwib246bW91c2VsZWF2ZSI6ZnVuY3Rpb24oZCl7YS5qej8uKGQpfSwib246a2V5ZG93biI6ZnVuY3Rpb24oZCl7YygpLm9ua2V5ZG93bj8uKGQpfX0sYS5jaGlsZHJlbil9LCJ0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVkM9Xy5MKCh7Y29tbWFuZDphLHJlbmRlcmVyQ29udGV4dDpiLGNoaWxkcmVuOmMsY2xhc3NOYW1lOmQsWnY6ZSxzdHlsZTpmLG9uQ2xpY2s6aCxhcmlhQ3VycmVudDprLEhlOmwsYXJpYUhpZGRlbjptLGFyaWFMYWJlbDpuLEhvOnAsYXJpYVNlbGVjdGVkOnIsZGlzYWJsZWQ6dCxkaXI6dix0YWJJbmRleDp6LHRhcmdldDpFLHRpdGxlOkEsdG9nZ2xlYWJsZTpGLHRvZ2dsZWQ6Q30pPT57ZnVuY3Rpb24gRyhtYSl7dmFyIHRhPV8uc0goYj8uKCkpPz9hPy4oKTtpZih0YSl7bGV0IFQ9bWEudGFyZ2V0P3tmb3JtOntlbGVtZW50Om1hLnRhcmdldCxzb3VyY2VEYXRhOnRhLG11dGF0aW9uQ29udGV4dDpVfX06dm9pZCAwO18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQodGEsVCl9aD8uKG1hKX1mdW5jdGlvbiBEKCl7b2EoUz8uWGUoKT8/ITEpfWZ1bmN0aW9uIEgoKXtvYSghMSl9ZnVuY3Rpb24gUigpe3ZhciBtYT1fLnlIKGI/LigpKTttYSYmXy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChtYSl9CmZ1bmN0aW9uIE0oKXt2YXIgbWE9Xy56SChiPy4oKSk7bWEmJl8ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQobWEpfXZhciBTPV8ueSgpLnJlc29sdmUoXy5JbihfLmpIKSksW1kscGFdPV8uSighMSx2b2lkIDAsIlROTEpFYyIpLG9hPXBhLFU9Xy5tRygpLGhhPSgpPT5GPy4oKT9DPy4oKTp2b2lkIDA7cmV0dXJuIF8uSyhfLk8se0E6ZnVuY3Rpb24oKXt2YXIgbWE9Xy5zSChiPy4oKSk/P2E/LigpLHRhO2lmKHRhPW1hKXtsZXQge1JxOlQsaHJlZjpiYX09Xy5aRChtYSk7dGE9ISghVHx8IWJhKX1yZXR1cm4gdGF9LHRoZW46KCk9Pl8uSyhfLm5ILHtjb21tYW5kOmEsc3R5bGU6ZixIZTpsLGFyaWFIaWRkZW46bSxhcmlhTGFiZWw6bixIbzpwLGFyaWFTZWxlY3RlZDpyLGRpc2FibGVkOnQsZGlyOnYsdGFiSW5kZXg6eix0YXJnZXQ6RSx0aXRsZTpBLG9uQ2xpY2s6aCxjbGFzc05hbWU6Xy5QKCJ5dEJ1dHRvbk9yQW5jaG9ySG9zdCIsInl0QnV0dG9uT3JBbmNob3JBbmNob3IiLApkLCgpPT5ZKCk/ZT8uKCk6IiIpLGR6OkQsZXo6SCxpejpSLGp6Ok0sYXJpYUN1cnJlbnQ6KCk9Pms/LigpPz9oYSgpfSxjKSxXOigpPT5fLksoImJ1dHRvbiIseyJvbjpjbGljayI6Rywib246Zm9jdXNpbiI6RCwib246Zm9jdXNvdXQiOkgsIm9uOm1vdXNlZW50ZXIiOlIsIm9uOm1vdXNlbGVhdmUiOk0sY2xhc3M6Xy5QKCJ5dEJ1dHRvbk9yQW5jaG9ySG9zdCIsInl0QnV0dG9uT3JBbmNob3JCdXR0b24iLGQsKCk9PlkoKT9lPy4oKToiIiksc3R5bGU6ZiwiYXJpYS1kZXNjcmliZWRieSI6bCwiYXJpYS1oaWRkZW4iOm0sImFyaWEtbGFiZWwiOm4sImFyaWEtbGFiZWxsZWRieSI6cCwiYXJpYS1wcmVzc2VkIjpoYSxkaXI6dixkaXNhYmxlZDp0LHRhYmluZGV4OigpPT56Py4oKT8/KChfLk9rfHxfLnJ6KCkpJiZfLngoIndlYl9lbmFibGVfc2FmYXJpX2J1dHRvbl90YWJpbmRleF9maXgiKT8wOnZvaWQgMCksdGl0bGU6QX0sYyl9KX0sInYiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiWlFLeDEiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5JRT1mdW5jdGlvbiguLi5hKXtyZXR1cm4oKT0+e3ZhciBiPSIiO2ZvcihsZXQgYyBvZiBhKXtsZXQgZD10eXBlb2YgYz09PSJmdW5jdGlvbiI/YygpOmM7aWYoZClmb3IobGV0IGUgaW4gZCl7bGV0IGY9ZFtlXTtmb3IoO3R5cGVvZiBmPT09ImZ1bmN0aW9uIjspZj1mKCk7ZiE9PXZvaWQgMCYmZiE9PW51bGwmJihiKz1gOyAke2V9OiAke2Z9YCl9fXJldHVybiBiLmxlbmd0aD4wP18uQnYoYi5zbGljZSgyKSk6Xy5CdigpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uckY9ZnVuY3Rpb24oLi4uYSl7cmV0dXJuIF8udkUoXy5CRSxiPT57dmFyIGM9YS5tYXAoZD0+ZD8uKGIpKTtyZXR1cm4oKT0+dm9pZCBjLmZvckVhY2goZD0+dm9pZCBkPy4oKSl9KX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaEs9ZnVuY3Rpb24oKXtnS3x8KGdLPW5ldyBMZWEpO3JldHVybiBnS307dmFyIE1lYT1fLkwoYT0+e2Z1bmN0aW9uIGIoaGEpe2lmKGhhKXt2YXIgbWE9TS5nZXQoaGEpO21hJiYobWEuY2FuY2VsKCksTS5kZWxldGUoaGEpKTtmb3IobGV0IHRhIG9mIGhhLmdldEFuaW1hdGlvbnMoKSl0YS5jYW5jZWwoKX19ZnVuY3Rpb24gYyhoYSxtYSx0YSl7bWE9Xy5qZi5HYShtYSwzLHRhKTtTLnNldChoYSxtYSl9ZnVuY3Rpb24gZCgpe20oITEpO2lmKFIpe3ZhciBoYT1SO1I9bnVsbDt2YXIgbWE9RGF0ZS5ub3coKS1HO2MoaGEsKCk9PntTLmRlbGV0ZShoYSk7dmFyIHt3aWR0aDp0YSxoZWlnaHQ6VCxvcGFjaXR5OmJhfT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShoYSksYWE9TnVtYmVyLnBhcnNlRmxvYXQodGEpfHwwLE9hPU51bWJlci5wYXJzZUZsb2F0KFQpfHwwLEpiPU51bWJlci5wYXJzZUZsb2F0KGJhKXx8LjU7aGEuc3R5bGUud2lkdGg9YCR7YWF9cHhgO2hhLnN0eWxlLmhlaWdodD1gJHtPYX1weGA7aGEuc3R5bGUub3BhY2l0eT1gJHtKYn1gO2IoaGEpO2FhPQpVPzA6MkUzO2hhLnN0eWxlLnRyYW5zaXRpb249YG9wYWNpdHkgJHthYX1tcyBjdWJpYy1iZXppZXIoMC4yNSwgMSwgMC41LCAxKWA7aGEuc3R5bGUub3BhY2l0eT1oYS5vZmZzZXRXaWR0aD09PS0xPyIxIjoiMCI7YyhoYSwoKT0+e1MuZGVsZXRlKGhhKTtoYS5zdHlsZS5jc3NUZXh0PSIifSxhYSsxMDApfSxNYXRoLm1heCgwLDMwMC1tYSkpfX1mdW5jdGlvbiBlKCl7ZCgpO0M9bnVsbH12YXIge2NsYXNzTmFtZTpmLHN0eWxlOmh9PV8uREMoYSx7Y2xhc3NOYW1lOiIiLHN0eWxlOiJkZWZhdWx0In0pLFtrLGxdPV8uSighMSx2b2lkIDAsIktiVVRqZiIpLG09bCxbbixwXT1fLkoodm9pZCAwLHZvaWQgMCwiR2VGdkVmIiksW3IsdF09Xy5KKHZvaWQgMCx2b2lkIDAsImkzZmRWZSIpLFt2LHpdPV8uSih2b2lkIDAsdm9pZCAwLCJMZWRWNGIiKSxFPV8uckYoKSxBPV8uckYoKSxGPV8uckYoKSxDPW51bGwsRz0wLEQ9MCxIPSEwLFI9bnVsbCxNPW5ldyBNYXAsUz1uZXcgTWFwLFk9MCxwYT0KMCxvYT1udWxsLFU9d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIikubWF0Y2hlcztfLll1KCgpPT57Zm9yKGxldCBoYSBvZiBTLnZhbHVlcygpKV8uamYuQWEoaGEpO1MuY2xlYXIoKTtiKEEudmFsdWUpO2IoRi52YWx1ZSk7b2EhPT1udWxsJiZfLmpmLkFhKG9hKX0pO3JldHVybiBfLksoInl0LWxpZ2h0LXRvdWNoLWZlZWRiYWNrLXNoYXBlIix7ZWw6RSxjbGFzczpfLlAoInl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3N0IixmLHt5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZDprLHl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0OigpPT5oKCk9PT0iZGVmYXVsdCIseXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2U6KCk9PmgoKT09PSJpbnZlcnNlIn0pLCJvbjpwb2ludGVyZW50ZXIiOmZ1bmN0aW9uKCl7dmFyIGhhPUM/PyhDPUUudmFsdWU/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPz8KbnVsbCk7aGEmJnooYCR7KGhhLmhlaWdodHx8MCkqMi41fXB4YCl9LCJvbjpwb2ludGVyZG93biI6ZnVuY3Rpb24oaGEpe3ZhciBtYT1EYXRlLm5vdygpO2lmKCEobWEtRDwxMDApKXtEPW1hO20oITApO3ZhciB0YT1DPz8oQz1FLnZhbHVlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/bnVsbCk7aWYodGEpe3ZhciBUPWhhLmNsaWVudFgtdGEubGVmdDtoYT1oYS5jbGllbnRZLXRhLnRvcDt2YXIgYmE9TWF0aC5tYXgoKHRhLndpZHRofHwwKSoyLCh0YS5oZWlnaHR8fDApKjguNSksYWE9YmEvNDA4KjE0MDA7dGE9SD9BLnZhbHVlOkYudmFsdWU7SD0hSDtpZihSPXRhKXt0YS5zdHlsZS5jc3NUZXh0PSIiO2IodGEpO2xldCBPYT1TLmdldCh0YSk7T2EhPT12b2lkIDAmJihfLmpmLkFhKE9hKSxTLmRlbGV0ZSh0YSkpO3RhLnN0eWxlLmxlZnQ9YCR7VH1weGA7dGEuc3R5bGUudG9wPWAke2hhfXB4YDtVfHwoVD1uZXcgS2V5ZnJhbWVFZmZlY3QodGEsW3t3aWR0aDoiMHB4IixoZWlnaHQ6IjBweCIsCm9wYWNpdHk6IjAuMzA2In0se3dpZHRoOmAke2JhKi4yNX1weGAsaGVpZ2h0OmAke2JhKi4yNX1weGAsb3BhY2l0eToiMC43NzQiLG9mZnNldDouMjV9LHt3aWR0aDpgJHtiYSouNn1weGAsaGVpZ2h0OmAke2JhKi42fXB4YCxvcGFjaXR5OiIwLjgyOCIsb2Zmc2V0Oi42fSx7d2lkdGg6YCR7YmF9cHhgLGhlaWdodDpgJHtiYX1weGAsb3BhY2l0eToiMC45In1dLHtkdXJhdGlvbjphYSxmaWxsOiJmb3J3YXJkcyIsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4xNywgMC4xNywgMC4xLCAxKSJ9KSxUPW5ldyBBbmltYXRpb24oVCxkb2N1bWVudC50aW1lbGluZSksTS5zZXQodGEsVCksVC5wbGF5KCkpfUc9bWF9fX0sIm9uOnBvaW50ZXJ1cCI6ZCwib246cG9pbnRlcmxlYXZlIjplLCJvbjpwb2ludGVyY2FuY2VsIjplLCJvbjpwb2ludGVybW92ZSI6ZnVuY3Rpb24oaGEpe3ZhciBtYT1DPz8oQz1FLnZhbHVlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/bnVsbCk7bWEmJihZPWhhLmNsaWVudFgtCm1hLmxlZnQscGE9aGEuY2xpZW50WS1tYS50b3AsaygpJiYoaGEuY2xpZW50WDxtYS5sZWZ0fHxoYS5jbGllbnRYPm1hLnJpZ2h0fHxoYS5jbGllbnRZPG1hLnRvcHx8aGEuY2xpZW50WT5tYS5ib3R0b20pP2QoKTpvYT09PW51bGwmJihvYT1fLmpmLkdhKCgpPT57b2E9bnVsbDtwKGAke1l9cHhgKTt0KGAke3BhfXB4YCl9LDMpKSl9LCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoImRpdiIse2NsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5In0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckxpZ2h0IixzdHlsZTpfLklFKHtsZWZ0Om4sdG9wOnIsd2lkdGg6dixoZWlnaHQ6dn0pfSksXy5LKCJkaXYiLHtlbDpBLGNsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlVG91Y2hMaWdodCJ9KSxfLksoImRpdiIse2VsOkYsY2xhc3M6Inl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaExpZ2h0In0pKX0sImFhIik7dmFyIExlYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMuaj1uZXcgTWFwO3ZhciBbYSxiXT1fLkooW10sdm9pZCAwLCJJS2ZaQmQiKTt0aGlzLnY9Yjt0aGlzLm89Xy5OKCgpPT57dmFyIGM9YSgpO2ZvcihsZXQgZCBvZiBjKWQuUHk/LigpO3JldHVybiBjLm1hcChkPT5kLmVsZW1lbnQpfSx2b2lkIDAsIlpNUnR3ZCIpfWxhKCl7Z0s9bnVsbDtzdXBlci5sYSgpfX0sZ0s9bnVsbDtfLnlFPV8uTChhPT57dmFyIGI9Xy52RShfLkJFKSxbYyxkXT1fLkooe3g6MCx5OjAsb3BhY2l0eTowLHNpemU6MH0sdm9pZCAwLCJHd1hjRGQiKSxlPSgpPT57aWYoYS5jb25maWcoKT8uamspe3ZhciBoPWIudmFsdWU7aWYoaCl7dmFyIGs9Xy5oSygpLm87dmFyIGw9aygpO2lmKGwubGVuZ3RoKXtsZXQgdD1oLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2s9dC5sZWZ0K3Qud2lkdGgvMjt2YXIgbT10LnRvcCt0LmhlaWdodC8yO2xldCB2PUluZmluaXR5O3ZhciBuPTAscD0wO2xldCB6PTk2O2ZvcihsZXQgRSBvZiBsKXtpZihFPT09aHx8IUUuaXNDb25uZWN0ZWR8fEUub2Zmc2V0UGFyZW50PT09bnVsbCljb250aW51ZTtsPUUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYobC53aWR0aD09PTAmJmwuaGVpZ2h0PT09MCljb250aW51ZTtsZXQgQT1NYXRoLm1heChsLmxlZnQsTWF0aC5taW4oayxsLnJpZ2h0KSksRj1NYXRoLm1heChsLnRvcCxNYXRoLm1pbihtLGwuYm90dG9tKSk7dmFyIHI9CkEtTWF0aC5tYXgodC5sZWZ0LE1hdGgubWluKEEsdC5yaWdodCkpO2xldCBDPUYtTWF0aC5tYXgodC50b3AsTWF0aC5taW4oRix0LmJvdHRvbSkpO3I9cipyK0MqQztyPHYmJih2PXIsbj1BLHA9Rix6PU1hdGgubWF4KGwud2lkdGgsbC5oZWlnaHQpKX1oPU1hdGguc3FydCh2KTtkKGg8MTAwP3t4Om4tayx5OnAtbSxvcGFjaXR5OjEtaC8zMDAsc2l6ZTpNYXRoLm1heCg5Nix6KjIuNSl9Ont4OjAseTowLG9wYWNpdHk6MCxzaXplOjB9KX1lbHNlIGQoe3g6MCx5OjAsb3BhY2l0eTowLHNpemU6MH0pfX19O18ubkUoKCk9PntpZihhLmNvbmZpZygpPy5qayl7dmFyIGg9bmV3IF8uV3QoZSwxMDApLGs9KCk9PntoLnYoKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsayk7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixrKTtoLmRpc3Bvc2UoKX19fSwiclBZQzFkIik7Xy5uRSgoKT0+e2EuY29uZmlnKCk/LmprJiZlKCl9LCJRcDZQUmQiKTsKdmFyIGY9KCk9PmEuY29uZmlnKCk/LlZhIT09NSYmYS5jb25maWcoKT8uVmEhPT05JiZhLmNvbmZpZygpPy5WYSE9PTY7cmV0dXJuIF8uSyhfLk8se0E6KCk9PmEuY29uZmlnKCk/LlZhIT09MCYmIV8uZ3IsdGhlbjooKT0+Xy5LKCJ5dC1saWdodC1zaGFwZSIse2VsOmIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2xhc3M6Xy5QKCJjb250cmliWXRMaWdodFNoYXBlSG9zdCIsYS5jbGFzc05hbWUse2NvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodDooKT0+ITAsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0U29saWQ6KCk9PmEuY29uZmlnKCk/LlZhPT09MSxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRUb25hbDooKT0+YS5jb25maWcoKT8uVmE9PT0zLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkSW52ZXJzZTooKT0+YS5jb25maWcoKT8uVmE9PT0yLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFRvbmFsSW52ZXJzZTooKT0+CmEuY29uZmlnKCk/LlZhPT09NCxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09OCxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5U29saWQ6KCk9PmEuY29uZmlnKCk/LlZhPT09Nyxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5lOigpPT5hLmNvbmZpZygpPy5WYT09PTUsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3ZlcmxheU91dGxpbmU6KCk9PmEuY29uZmlnKCk/LlZhPT09OSxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5lSW52ZXJzZTooKT0+YS5jb25maWcoKT8uVmE9PT02fSksc3R5bGU6Xy5JRSh7Ii0teXQtbGlnaHQtcmltLWNvbG9yIjooKT0+YS5jb25maWcoKT8uZHYsIi0teXQtbGlnaHQtd2FzaC1vcGFjaXR5IjooKT0+YygpLm9wYWNpdHksIi0teXQtbGlnaHQtd2FzaC14IjooKT0+YCR7YygpLnh9cHhgLCItLXl0LWxpZ2h0LXdhc2gteSI6KCk9PgpgJHtjKCkueX1weGAsIi0teXQtbGlnaHQtd2FzaC1zaXplIjooKT0+YCR7YygpLnNpemV9cHhgfSl9LF8uSyhfLk8se0E6KCk9PmEuY29uZmlnKCk/LmprLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImNvbnRyaWJZdExpZ2h0U2hhcGVEeW5hbWljV2FzaExpZ2h0In0pfSksXy5LKF8uTyx7QTooKT0+YS5jb25maWcoKT8uQ0IsdGhlbjooKT0+Xy5LKE1lYSx7c3R5bGU6KCk9Pnt2YXIgaDthOntpZihoPWEuY29uZmlnKCk/LlZhKXN3aXRjaChoKXtjYXNlIDE6Y2FzZSA0Omg9ImRlZmF1bHQiO2JyZWFrIGE7Y2FzZSAyOmNhc2UgMzpjYXNlIDU6aD0iaW52ZXJzZSI7YnJlYWsgYX1oPXZvaWQgMH1yZXR1cm4gaH19KX0pLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgiY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodCIse2NvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTYWZhcmk6KCk9Pl8uT2t8fF8uSWwsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFNvbGlkOigpPT4KYS5jb25maWcoKT8uVmE9PT0xLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRUb25hbDooKT0+YS5jb25maWcoKT8uVmE9PT0zLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZEludmVyc2U6KCk9PmEuY29uZmlnKCk/LlZhPT09Mixjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0VG9uYWxJbnZlcnNlOigpPT5hLmNvbmZpZygpPy5WYT09PTQsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodE92ZXJsYXlUb25hbDooKT0+YS5jb25maWcoKT8uVmE9PT04LGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRPdmVybGF5U29saWQ6KCk9PmEuY29uZmlnKCk/LlZhPT09N30pLHN0eWxlOl8uSUUoe2JhY2tncm91bmQ6KCk9PmByYWRpYWwtZ3JhZGllbnQoJHthLmNvbmZpZygpPy5ldn0sIHRyYW5zcGFyZW50KWB9KX0pfSkpfSl9LCJkYSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJudlg0VmIiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGhHLGRkYSxjZGEsaUcsakc7Xy5mRz1mdW5jdGlvbihhLGIpe3JldHVybihBcnJheS5pc0FycmF5KGEpP2E6QXJyYXkuZnJvbShhKSkubWFwKGIpfTtfLmdHPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYS5wYSE9PSJmdW5jdGlvbiI/Xy5mRyhhLnBhLGEuY2hpbGRyZW4pOmEudGI9PT0iSU5ERVgiP2NkYShhKTpkZGEoYSl9O2hHPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBvZiBhKWI/LigpfTsKZGRhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGI9PT12b2lkIDB8fGEudGI9PT0iUkVGRVJFTkNFIixjPWI/bj0+bjphLnRiLGQ9W10sZT1bXSxmPVtdLGg9W10saz1bXSxsPVtdLG09ITA7Xy5ZdSgoKT0+e2hHKGgpfSk7cmV0dXJuIF8uWEIoKCk9Pnt2YXIgbj1pRyhhKSxwPW4ubGVuZ3RoO2lmKHA9PT0wKXtpZihkLmxlbmd0aD09PTAmJiFtKXJldHVybiBmO2hHKGgpO2Q9bjtlPVtdO2ZvcihuPTA7bjxkLmxlbmd0aDtuKyspZS5wdXNoKGMoZFtuXSkpO2Y9W107aD1bXTtrPVtdO2w9W107YS5mYWxsYmFjayYmKGhbMF09akcoKCk9PntmWzBdPV8uZkMoYS5mYWxsYmFjaygpKX0pKTttPSExO3JldHVybiBmfXZhciByPW5ldyBlZGE7Zm9yKHZhciB0PWQubGVuZ3RoLTE7dD49MDt0LS0pci5wdXNoKGVbdF0sdCk7dD1BcnJheShwKTt2YXIgdj1BcnJheShwKSx6PUFycmF5KHApLEU9QXJyYXkocCksQT1BcnJheShiPzA6cCk7Zm9yKGxldCBGPTA7RjxwO0YrKyl7bGV0IEM9bltGXSxHPWMoQyksCkQ9ci5wb3AoRyk7RCE9bnVsbD8oeltGXT1mW0RdLHZbRl09ZVtEXSx0W0ZdPWhbRF0sRVtGXT1rW0RdLGJ8fChBW0ZdPWxbRF0pLF8uckMoKCk9PntFW0ZdKEYpO2lmKCFiKUFbRl0oQyl9KSxkZWxldGUgaFtEXSk6dFtGXT1qRygoKT0+e3ZhciBIPV8uSihGLHZvaWQgMCwiUExUMXMiKSxSPUhbMF07RVtGXT1IWzFdO3ZbRl09RztpZihiKXpbRl09Xy5mQyhhLmNoaWxkcmVuKEMsUikpO2Vsc2V7bGV0IE09Xy5KKEMsdm9pZCAwLCJiazhSSmQiKSxTPU1bMF07QVtGXT1NWzFdO3pbRl09Xy5mQyhhLmNoaWxkcmVuKFMsUikpfX0pfWhHKGgpO2Q9bjtlPXY7Zj16O2g9dDtrPUU7bD1BO209ITE7cmV0dXJuIHp9LHtkZWJ1Z05hbWU6YS5kZWJ1Z0luc3RhbmNlPz8ibnNUR0hkIix6cDphLnBhLFdlOiEwfSl9OwpjZGE9ZnVuY3Rpb24oYSl7dmFyIGI9W10sYz1bXSxkPVtdLGU9W10sZj0hMTtfLll1KCgpPT57aEcoZSl9KTtyZXR1cm4gXy5YQigoKT0+e3ZhciBoPWlHKGEpO2YmJmgubGVuZ3RoPjAmJihlLnBvcCgpKCksYi5wb3AoKSxmPSExKTt2YXIgaz1BcnJheShoLmxlbmd0aCk7Zm9yKGxldCBtPTA7bTxoLmxlbmd0aDttKyspe2lmKG08Yi5sZW5ndGgpe2JbbV0hPT1oW21dJiYoXy5yQygoKT0+dm9pZCBjW21dKGhbbV0pKSxiW21dPWhbbV0pO2tbbV09ZFttXTtjb250aW51ZX12YXIgbD1qRygoKT0+e2JbbV09aFttXTt2YXIgbj1fLkooaFttXSx2b2lkIDAsInVpQzBjYiIpLHA9blswXTtjW21dPW5bMV07a1ttXT1fLmZDKGEuY2hpbGRyZW4ocCxtKSl9KTtlW21dPWx9Zm9yKDtiLmxlbmd0aD5oLmxlbmd0aDspYi5wb3AoKSxlLnBvcCgpKCksYy5wb3AoKTtoLmxlbmd0aD09PTAmJiFmJiZhLmZhbGxiYWNrJiYobD1qRygoKT0+e2tbMF09Xy5mQyhhLmZhbGxiYWNrKCkpfSksZVswXT1sLGY9CiEwKTtyZXR1cm4gZD1rfSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/Im5zVEdIZCIsV2U6ITB9KX07aUc9ZnVuY3Rpb24oYSl7YT1hLnBhKCk7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpBcnJheS5mcm9tKGEpfTtqRz1mdW5jdGlvbihhKXt2YXIgYj1fLkNBKCk7cmV0dXJuIF8udXYoYz0+e3ZhciBkPV8ua3UoXy56dik7dHJ5e2MucGFyZW50PWIsYShjKX1maW5hbGx5e18ua3UoZCl9fSwhMSl9O3ZhciBlZGE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm1hcD1uZXcgTWFwfXB1c2goYSxiKXt2YXIgYz10aGlzLm1hcDtpZihjLmhhcyhhKSl7dGhpcy5qfHwodGhpcy5qPW5ldyBNYXApO2lmKHRoaXMuaj8uaGFzKGIpKXRocm93IF8uVXUoRXJyb3IoIlpjYCIrYiksNCk7dGhpcy5qLnNldChiLGMuZ2V0KGEpKX1jLnNldChhLGIpfXBvcChhKXt2YXIgYj10aGlzLm1hcCxjPWIuZ2V0KGEpO2MhPT12b2lkIDAmJnRoaXMuaj8uaGFzKGMpPyhiLnNldChhLHRoaXMuai5nZXQoYykpLHRoaXMuai5kZWxldGUoYykpOmIuZGVsZXRlKGEpO3JldHVybiBjfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBrY2EsbGNhLEZFLEdFO18uQ0U9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18uREU9ZnVuY3Rpb24oYSl7cmV0dXJue2lzRGVmYXVsdDohMCxjaGlsZHJlbjphLmNoaWxkcmVufX07Xy5FRT1mdW5jdGlvbihhKXtyZXR1cm4ga2NhKGEpfTsKa2NhPWZ1bmN0aW9uKGEpe3ZhciBiPWxjYShhKSxjPV8uTigoKT0+e2E6e3ZhciBkPS0xO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7ZSsrKXtsZXQgZj1iW2VdO2Y/LltfLkx2XSYmKGY9RkUoZikpO2YgaW5zdGFuY2VvZiBfLmRDJiYoZj1HRShmKSk7aWYoZi5pc0RlZmF1bHQpZD09PS0xJiYoZD1lKTtlbHNlIGlmKF8uQnYoZi53aGVuKSl7ZD1lO2JyZWFrIGF9fX1yZXR1cm4gZH0sdm9pZCAwLCJNU1R4V2IiKTtyZXR1cm4gXy5YQigoKT0+e3ZhciBkPWMoKSxlO18udXYoKCk9Pnt2YXIgZj1fLmt1KF8uenYpO3RyeXtpZihkPT09LTEpZT1udWxsO2Vsc2V7dmFyIGg9YltkXTt2YXIgaz1oPy5bXy5Mdl0/RkUoaCk6aCBpbnN0YW5jZW9mIF8uZEM/R0UoaCk6aDt2YXIgbD1rPT09bnVsbD9udWxsOmsuaXNEZWZhdWx0P2suY2hpbGRyZW4oKTp0eXBlb2Ygay53aGVuPT09ImZ1bmN0aW9uIj9rLmNoaWxkcmVuKF8uTkMoay53aGVuLCJDYXNlIikpOmsuY2hpbGRyZW4oay53aGVuKTtlPV8uZkMobCl9fWZpbmFsbHl7Xy5rdShmKX19KTsKcmV0dXJuIGV9LHtkZWJ1Z05hbWU6YS5kZWJ1Z0luc3RhbmNlPz8idkkxcnRmIixXZTohMH0pfTtsY2E9ZnVuY3Rpb24oYSl7YT1hLmNoaWxkcmVuO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6W2FdfTtGRT1mdW5jdGlvbihhKXtyZXR1cm4gYS50eXBlPT09Xy5ERT97aXNEZWZhdWx0OiEwLGNoaWxkcmVuOmEuY2hpbGRyZW5bMF19Ont3aGVuOmEucHJvcHMud2hlbixjaGlsZHJlbjphLmNoaWxkcmVuWzBdfX07R0U9ZnVuY3Rpb24oYSl7dmFyIGI9YS5wcm9wczthPWEuY2hpbGRyZW5bMF07cmV0dXJuIGIud2hlbj97d2hlbjpiLndoZW4sY2hpbGRyZW46YX06e2lzRGVmYXVsdDohMCxjaGlsZHJlbjphfX07Xy5DRS5kZWJ1Z05hbWU9InRiaE1jZiI7Xy5ERS5kZWJ1Z05hbWU9Inp5TUZ6YiI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBEY2E7RGNhPWZ1bmN0aW9uKGEpe3N3aXRjaChhLlpxKXtjYXNlIF8uUXY6Xy5Vdi5zY2hlZHVsZShhKTticmVhaztkZWZhdWx0Ol8uZWIoYS5acSx2b2lkIDApfX07Xy5vRj1mdW5jdGlvbihhKXtpZihfLmp1PT09Xy5XdSlQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigieWIiKSwyKTt9KTtlbHNle2lmKCgwLF8ubHYpKF8uanUpKXRocm93IF8uVXUoRXJyb3IoInpiIiksNCk7dmFyIGI9Xy5adCxjPV8uTXU7RGNhKHtacTpfLlF2LHJ1bjooKT0+e2lmKGImJiFiLmlhKXt2YXIgZD1fLiR0KGIpO3RyeXtfLlJ1KCgpPT57dmFyIGU9YSgpO3R5cGVvZiBlPT09ImZ1bmN0aW9uIiYmXy5ZdShlKX0sYyl9Y2F0Y2goZSl7Xy5VdShlLDQpLF8ub3YoZSl9ZmluYWxseXtfLiR0KGQpfX19fSl9fTtfLktCPV8ubEM7Xy5xRj1TeW1ib2woIlhjIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBXSixWSjtfLlRKPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5wRSgib25DaGFuZ2UiKSxkPV8ub0UoKTtfLnFFKGMubWwsYikmJihjLm1sPWIsYy5zcj1hLGQudWZ8fChkLnVmPVtdKSxkLnVmLnB1c2goYykpfTtfLlVKPWZ1bmN0aW9uKGEpe18uSEEoKT9fLm9GKCgpPT5fLkVBKGEpKTpfLlRKKCgpPT5fLkVBKGEpLFtdKX07V0o9ZnVuY3Rpb24oYSl7dmFyIGI9Wy4uLmFdO2EubGVuZ3RoPTA7Zm9yKGxldCBjIG9mIGIpaWYoVkooYyksYT1jLnNyLGMuc3I9bnVsbCxhPWE/LigpKWMucnI9YX07Vko9ZnVuY3Rpb24oYSl7dmFyIGI9YS5ycjthLnJyPW51bGw7Yj8uKCl9O18uZHcoe1NvKGEpe3ZhciBiPV8uJHQoYS5xbCk7dHJ5e2EudWY/Lmxlbmd0aCYmV0ooYS51Zil9ZmluYWxseXtfLiR0KGIpfX0sR2YoYSl7dmFyIGI9Xy4kdChhLnFsKTt0cnl7YS51Zj8ubGVuZ3RoJiZXSihhLnVmKX1maW5hbGx5e18uJHQoYil9fSxIZihhKXthLlpmPy5sZW5ndGgmJmEuWmYuZm9yRWFjaChWSil9fSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYUQ9bnVsbDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGhkYSxpZGEsa2RhLG1kYSxxRyxuZGEsc0csckcsdUcsd0csdkcseEcsdEcsb2RhLHBkYSxzZGEsQkcsdGRhLEFHLHJkYSxxZGEsamRhLGxkYTtoZGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmFELGQ9MDtfLmFEPXtzdTooKT0+e2QrKztfLnJDKCgpPT57YSghMSl9KX0sSHI6KCk9PnstLWQ9PT0wJiZfLnJDKCgpPT57YSghMCl9KX19O3RyeXtyZXR1cm4gYigpfWZpbmFsbHl7Xy5hRD1jfX07aWRhPWZ1bmN0aW9uKGEpe3ZhciBbYixjXT1fLkooITAsdm9pZCAwLCJiS3RPNmQiKTtyZXR1cm4gaGRhKGMsKCk9Pnt2YXIgZD1fLmZDKGEuY2hpbGRyZW4oKSk7cmV0dXJuIF8uSyhfLk8se0E6Yix0aGVuOigpPT5kLFc6YS5mYWxsYmFja30pfSl9OwpfLm5HPWZ1bmN0aW9uKHtjaGlsZHJlbjphLEVmOmIsY2FsbGJhY2tzOmN9KXt2YXIgZD1uZXcgTWFwO2I9Yj8/W107Zm9yKGxldCBlIG9mIGIpZC5zZXQoZS5pZC5DYi50b2tlbixlKTtjPWM/P1tdO2ZvcihsZXQgZSBvZiBjKWQuc2V0KGUuaWQuQ2IudG9rZW4sZSk7ZD1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoamRhKSx7ZGVidWdOYW1lOiJbY29udGV4dE93bmVyXSIsZW50cmllczpkfSk7Xy5CdShkKTtkPV8uJHQoZCk7dHJ5e2xldCBlPV8uZkMoYSk7cmV0dXJuIF8uSyhfLklCLG51bGwsZSl9ZmluYWxseXtfLiR0KGQpfX07Xy5vRz1mdW5jdGlvbihhLGIpe3JldHVybntbXy5nZGFdOiEwLGlkOmEsdmFsdWU6Yn19O2tkYT1mdW5jdGlvbih7U2c6YX0pe3JldHVybiBfLksoXy5JQixudWxsLGEoKSl9O18ucEc9ZnVuY3Rpb24oYSxiKXthPXsuLi5hLHBhcmVudDpfLm1HKCl9O3JldHVybiBfLksoXy5uRyx7RWY6W18ub0coXy5sRyxhKV19LF8uSyhrZGEse1NnOmJ9KSl9OwptZGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IGxkYShhLGIpfTtxRz1mdW5jdGlvbihhLGIpe3RoaXMubz17fTt0aGlzLmo9W107dGhpcy5BZT10aGlzLnNpemU9MDt2YXIgYz1hcmd1bWVudHMubGVuZ3RoO2lmKGM+MSl7aWYoYyUyKXRocm93IEVycm9yKCJiZCIpO2Zvcih2YXIgZD0wO2Q8YztkKz0yKXRoaXMuc2V0KGFyZ3VtZW50c1tkXSxhcmd1bWVudHNbZCsxXSl9ZWxzZSBpZihhKWlmKGEgaW5zdGFuY2VvZiBxRylmb3IoYz1hLnJkKCksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXRoaXMuc2V0KGNbZF0sYS5nZXQoY1tkXSkpO2Vsc2UgZm9yKGQgaW4gYSl0aGlzLnNldChkLGFbZF0pfTtuZGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWJ9OwpzRz1mdW5jdGlvbihhKXtpZihhLnNpemUhPWEuai5sZW5ndGgpe2Zvcih2YXIgYj0wLGM9MDtiPGEuai5sZW5ndGg7KXt2YXIgZD1hLmpbYl07ckcoYS5vLGQpJiYoYS5qW2MrK109ZCk7YisrfWEuai5sZW5ndGg9Y31pZihhLnNpemUhPWEuai5sZW5ndGgpe2I9e307Zm9yKGQ9Yz0wO2M8YS5qLmxlbmd0aDspe2xldCBlPWEualtjXTtyRyhiLGUpfHwoYS5qW2QrK109ZSxiW2VdPTEpO2MrK31hLmoubGVuZ3RoPWR9fTtyRz1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxiKX07dUc9ZnVuY3Rpb24oKXt0aGlzLm89bmV3IHFHO3RoaXMuaj1uZXcgdEcoIiIpO3RoaXMuai5uZXh0PXRoaXMuai5VYT10aGlzLmp9O3dHPWZ1bmN0aW9uKGEsYil7aWYoYj1hLm8uZ2V0KGIpKWIucmVtb3ZlKCksdkcoYSxiKTtyZXR1cm4gYn07CnZHPWZ1bmN0aW9uKGEsYil7Yi5uZXh0PWEuai5uZXh0O2IuVWE9YS5qO2Euai5uZXh0PWI7Zm9yKGIubmV4dC5VYT1iO2Euby5zaXplPjEwMDspYS5yZW1vdmVOb2RlKGEuai5VYSl9O3hHPWZ1bmN0aW9uKGEsYil7YS5qIT1iJiZhLnJlbW92ZU5vZGUoYik7cmV0dXJuIGIudmFsdWV9O3RHPWZ1bmN0aW9uKGEsYil7dGhpcy5rZXk9YTt0aGlzLnZhbHVlPWJ9O29kYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT15RztpZihhPT1udWxsfHwhYy5FZylyZXR1cm4gYjtlLmouZ2V0KGEpPT09dm9pZCAwJiZlLmouc2V0KGEsW2IsZD8/W10sITFdKTtjPWUuai5nZXQoYSk7aWYoIWMpcmV0dXJuIGI7dmFyIFtmLGgsa109YztpZihoPy5sZW5ndGgmJmQ/Lmxlbmd0aCYmZC5zb21lKChsLG0pPT5sIT09aFttXSkpcmV0dXJuIGUuai5yZW1vdmUoYSksYjtkPy5sZW5ndGgmJmUuai5zZXQoYSxbZixkLGtdKTtyZXR1cm4gaz9mOmJ9OwpfLnpHPWZ1bmN0aW9uKGEsYj17RWc6ITB9KXtyZXR1cm57TWc6ZnVuY3Rpb24oYyxkKXt2YXIgZT1fLk4oKCk9PmEoYygpKSx2b2lkIDAsIkdtcmJsYiIpLFtmLGhdPV8uQUMoKCk9Pnt2YXIgaz1jKCksbD1lKCksbT1kPy5tYXAobj0+bigpKT8/W107cmV0dXJuIG9kYShsLGssYixtKX0pO18ubkUoKCk9Pnt2YXIgaz1lKCk7ayE9bnVsbCYmKGs9eUcucmVnaXN0ZXIoayxbZixoXSwoKT0+ZD8ubWFwKGw9PmwoKSk/P1tdKSxfLll1KGspKX0sIlVtYWM2YyIpO3JldHVybltmLGZ1bmN0aW9uKGspe2goayk7dmFyIGw9ZSgpO2whPW51bGwmJnlHLnVwZGF0ZShsLCgpPT5rLGIpfV19LGdldERhdGE6ZnVuY3Rpb24oYyl7Yz1hKGMpO3JldHVybiB5Ry5nZXQoYyxiKX0sZ2s6ZnVuY3Rpb24oYyxkKXtjPWEoYyk7cmV0dXJuIHlHLnVwZGF0ZShjLGQsYil9fX07Cl8uVz1mdW5jdGlvbihhKXt2YXIge2RhdGE6YixtYXBwaW5nOmMsd3JhcHBlcjpkLHJLOmV9PXBkYShhKTtxZGEoYixjKTt2YXIgZj0oKT0+QUcoXy5CdihiKSksaD0oKT0+e3ZhciBrPUFHKF8uQnYoYikpLGw9W107Zm9yKGxldCBtIG9mIGspKGs9QkcobSkpJiZsLnB1c2goayk7cmV0dXJuIGx9O3JldHVybiBhLmRhdGE/Xy5LKGlkYSx7ZmFsbGJhY2s6ZX0sKCk9Pl8uSyhfLmdHLHtwYTpofSwoayxsKT0+e3ZhciBtPWQ/cD0+ZCgoKT0+Y1trXShwLGwpLG4sbCk6cD0+Y1trXShwLGwpO20uZGVidWdOYW1lfHwobS5kZWJ1Z05hbWU9U3RyaW5nKGspKTtpZighY1tTdHJpbmcoayldKXJldHVybiBkb2N1bWVudC5jcmVhdGVDb21tZW50KCIiKTttLmNvbXBvbmVudFR5cGUhPT1fLkt2JiZyZGEoU3RyaW5nKGspKTt2YXIgbj1zZGEoZixrLGwpO3JldHVybiBfLksobSx7ZGF0YTpufSl9KSk6Xy5LKF8uSUIsbnVsbCl9OwpwZGE9ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXRJZHx8dGRhKGEuY2hpbGRyZW4pO2lmKCFhLmRhdGF8fCFiKXJldHVybnsuLi5hLG1hcHBpbmc6YS5jaGlsZHJlbn07dmFyIGM9YHN0YW1wZXItJHt1ZGErK31gLGQ9KCk9Pih0eXBlb2YgYS50YXJnZXRJZD09PSJmdW5jdGlvbiI/YS50YXJnZXRJZChjKTphLnRhcmdldElkKT8/YztbYl09dmRhKCgpPT57dmFyIGY9Wy4uLkFHKGEuZGF0YSgpKV07Zi50YXJnZXRJZD1kO3JldHVybiBmfSk7dmFyIGU9ey4uLihfLnkoKS5yZXNvbHZlKF8uSW4od2RhKSl8fHt9KS5BSywuLi5hLmNoaWxkcmVufTtpZihhLkpyKXtsZXQgZj1lLm5vdGlmaWNhdGlvblRleHRSZW5kZXJlcixoPWUubm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlcjtmJiYoZS5ub3RpZmljYXRpb25UZXh0UmVuZGVyZXI9KHtkYXRhOmt9LGwpPT5hLkpyKGYoe2RhdGE6a30sbCkpKTtoJiYoZS5ub3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyPSh7ZGF0YTprfSwKbCk9PmEuSnIoaCh7ZGF0YTprfSxsKSkpfXJldHVybnsuLi5hLGRhdGE6YixtYXBwaW5nOmUsd3JhcHBlcjooZixoLGspPT5fLnBHKHt0YXJnZXRJZDpkLFlLOmt9LGEud3JhcHBlcj8oKT0+YS53cmFwcGVyKGYsaCxrKTpmKX19O3NkYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIF8uTigoKT0+e3ZhciBlPWEoKVtjKCldO2lmKGUpZD1lW2JdO2Vsc2UgcmV0dXJuIF8uSXAobmV3IF8uWGooYFN0YW1wZXIgZmFpbGVkIHRvIGZpbmQgJHtTdHJpbmcoYil9IGF0IGluZGV4ICR7YygpfSBvZiBkYXRhIGFycmF5IG9mIGxlbmd0aCAke2EoKS5sZW5ndGh9IChiLzM2NTY0MzM1OSkuIERpZCB5b3UgYWNjZXNzIGEgc2lnbmFsIGFmdGVyIGEgY29tcG9uZW50IGhhcyBiZWVuIGNsZWFuZWQgdXA/YCkpLGQ7cmV0dXJuIGVbYl19LHZvaWQgMCwic0VydGpkIil9OwpCRz1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7Zm9yKGxldCBjIGluIGEpaWYoISghYSkuaGFzT3duUHJvcGVydHkoYykpe2I9YzticmVha31yZXR1cm4gYn07dGRhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhhKSlpZih4ZGEuaW5jbHVkZXMoYil8fHlkYS5pbmNsdWRlcyhiKXx8emRhLmluY2x1ZGVzKGIpKXJldHVybiEwO3JldHVybiExfTtBRz1mdW5jdGlvbihhKXtyZXR1cm4gYT9BcnJheS5pc0FycmF5KGEpJiZhIGluc3RhbmNlb2YgQXJyYXk/YTpbYV06W119O3JkYT1mdW5jdGlvbihhKXtfLngoIndlYl9lbmFibGVfcmVuZGVyZXJfbG9nZ2VyIikmJl8ueSgpLnJlc29sdmUoXy5JbihfLkNHKSk/Lnd5KGEpfTsKcWRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy55KCkucmVzb2x2ZShfLkluKEFkYSkpO2MmJl8ubkUoKCk9Pnt2YXIgZD1BRyhfLkJ2KGEpKSxlPTAsZj0hMTtmb3IodmFyIGggb2YgZCl7ZD1CRyhoKTtpZighZHx8IWJbU3RyaW5nKGQpXSl7Zj0hMDticmVha31lKyt9aD1jLlZLO2Q9Yy5XSztlPjAmJiFmP2gubyhkKCkpOmguaihkKCkpfSwiRGhPVXhlIil9O2pkYT17UmgoYSl7aWYoXy5mdSBpbiBhfHxfLmZkYSBpbiBhKXtsZXQgYj10aGlzLmVudHJpZXMuZ2V0KGEuQ2IudG9rZW4pO2lmKGIhPT12b2lkIDApcmV0dXJuIGIudmFsdWV9cmV0dXJuIHRoaXMucGFyZW50P18uY3UodGhpcy5wYXJlbnQsYSk6Xy5hdX19OwpsZGE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmo9YVtfLnUuU3ltYm9sLml0ZXJhdG9yXSgpO3RoaXMubz1ifVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXN9bmV4dCgpe3ZhciBhPXRoaXMuai5uZXh0KCk7cmV0dXJue3ZhbHVlOmEuZG9uZT92b2lkIDA6dGhpcy5vLmNhbGwodm9pZCAwLGEudmFsdWUpLGRvbmU6YS5kb25lfX19O18uZz1xRy5wcm90b3R5cGU7Xy5nLk1jPWZ1bmN0aW9uKCl7c0codGhpcyk7dmFyIGE9W107Zm9yKGxldCBiPTA7Yjx0aGlzLmoubGVuZ3RoO2IrKylhLnB1c2godGhpcy5vW3RoaXMualtiXV0pO3JldHVybiBhfTtfLmcucmQ9ZnVuY3Rpb24oKXtzRyh0aGlzKTtyZXR1cm4gdGhpcy5qLmNvbmNhdCgpfTtfLmcuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiByRyh0aGlzLm8sYSl9O18uZy5lcXVhbHM9ZnVuY3Rpb24oYSxiKXtpZih0aGlzPT09YSlyZXR1cm4hMDtpZih0aGlzLnNpemUhPWEuc2l6ZSlyZXR1cm4hMTtiPWJ8fG5kYTtzRyh0aGlzKTt2YXIgYztmb3IobGV0IGQ9MDtjPXRoaXMualtkXTtkKyspaWYoIWIodGhpcy5nZXQoYyksYS5nZXQoYykpKXJldHVybiExO3JldHVybiEwfTtfLmcuaXNFbXB0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNpemU9PTB9O18uZy5jbGVhcj1mdW5jdGlvbigpe3RoaXMubz17fTt0aGlzLkFlPXRoaXMuc2l6ZT10aGlzLmoubGVuZ3RoPTB9OwpfLmcucmVtb3ZlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRlbGV0ZShhKX07Xy5nLmRlbGV0ZT1mdW5jdGlvbihhKXtyZXR1cm4gckcodGhpcy5vLGEpPyhkZWxldGUgdGhpcy5vW2FdLC0tdGhpcy5zaXplLHRoaXMuQWUrKyx0aGlzLmoubGVuZ3RoPjIqdGhpcy5zaXplJiZzRyh0aGlzKSwhMCk6ITF9O18uZy5nZXQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gckcodGhpcy5vLGEpP3RoaXMub1thXTpifTtfLmcuc2V0PWZ1bmN0aW9uKGEsYil7ckcodGhpcy5vLGEpfHwodGhpcy5zaXplKz0xLHRoaXMuai5wdXNoKGEpLHRoaXMuQWUrKyk7dGhpcy5vW2FdPWJ9O18uZy5mb3JFYWNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5yZCgpO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXtsZXQgZT1jW2RdLGY9dGhpcy5nZXQoZSk7YS5jYWxsKGIsZixlLHRoaXMpfX07Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBxRyh0aGlzKX07Xy5nLmtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zaCh0aGlzLmJkKCEwKSkuaigpfTsKXy5nLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiBfLnNoKHRoaXMuYmQoITEpKS5qKCl9O18uZy5lbnRyaWVzPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztyZXR1cm4gbWRhKHRoaXMua2V5cygpLGZ1bmN0aW9uKGIpe3JldHVybltiLGEuZ2V0KGIpXX0pfTtfLmcuYmQ9ZnVuY3Rpb24oYSl7c0codGhpcyk7dmFyIGI9MCxjPXRoaXMuQWUsZD10aGlzLGU9bmV3IF8ub2g7ZS5uZXh0PWZ1bmN0aW9uKCl7aWYoYyE9ZC5BZSl0aHJvdyBFcnJvcigiY2QiKTtpZihiPj1kLmoubGVuZ3RoKXJldHVybiBfLmFzO3ZhciBmPWQualtiKytdO3JldHVybnt2YWx1ZTphP2Y6ZC5vW2ZdLGRvbmU6ITF9fTtyZXR1cm4gZX07Xy5nPXVHLnByb3RvdHlwZTtfLmcuZ2V0PWZ1bmN0aW9uKGEsYil7cmV0dXJuKGE9d0codGhpcyxhKSk/YS52YWx1ZTpifTtfLmcuc2V0PWZ1bmN0aW9uKGEsYil7dmFyIGM9d0codGhpcyxhKTtjP2MudmFsdWU9YjooYz1uZXcgdEcoYSxiKSx0aGlzLm8uc2V0KGEsYyksdkcodGhpcyxjKSl9O18uZy51ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmoubmV4dC52YWx1ZX07Xy5nLnNoaWZ0PWZ1bmN0aW9uKCl7cmV0dXJuIHhHKHRoaXMsdGhpcy5qLm5leHQpfTtfLmcucG9wPWZ1bmN0aW9uKCl7cmV0dXJuIHhHKHRoaXMsdGhpcy5qLlVhKX07Xy5nLnJlbW92ZT1mdW5jdGlvbihhKXtyZXR1cm4oYT10aGlzLm8uZ2V0KGEpKT8odGhpcy5yZW1vdmVOb2RlKGEpLCEwKTohMX07Xy5nLnJlbW92ZU5vZGU9ZnVuY3Rpb24oYSl7YS5yZW1vdmUoKTt0aGlzLm8ucmVtb3ZlKGEua2V5KX07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vLmlzRW1wdHkoKX07Cl8uZy5yZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbihhLGIpe3JldHVybiBifSl9O18uZy5NYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gYX0pfTtfLmcuY29udGFpbnM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc29tZShmdW5jdGlvbihiKXtyZXR1cm4gYj09YX0pfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXtmb3IoO3RoaXMuby5zaXplPjA7KXRoaXMucmVtb3ZlTm9kZSh0aGlzLmouVWEpfTtfLmcuZm9yRWFjaD1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz10aGlzLmoubmV4dDtjIT10aGlzLmo7Yz1jLm5leHQpYS5jYWxsKGIsYy52YWx1ZSxjLmtleSx0aGlzKX07Xy5nLm1hcD1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2ZvcihsZXQgZD10aGlzLmoubmV4dDtkIT10aGlzLmo7ZD1kLm5leHQpYy5wdXNoKGEuY2FsbChiLGQudmFsdWUsZC5rZXksdGhpcykpO3JldHVybiBjfTsKXy5nLnNvbWU9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9dGhpcy5qLm5leHQ7YyE9dGhpcy5qO2M9Yy5uZXh0KWlmKGEuY2FsbChiLGMudmFsdWUsYy5rZXksdGhpcykpcmV0dXJuITA7cmV0dXJuITF9O18uZy5ldmVyeT1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz10aGlzLmoubmV4dDtjIT10aGlzLmo7Yz1jLm5leHQpaWYoIWEuY2FsbChiLGMudmFsdWUsYy5rZXksdGhpcykpcmV0dXJuITE7cmV0dXJuITB9O3RHLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt0aGlzLlVhLm5leHQ9dGhpcy5uZXh0O3RoaXMubmV4dC5VYT10aGlzLlVhO2RlbGV0ZSB0aGlzLlVhO2RlbGV0ZSB0aGlzLm5leHR9O3ZhciB5Rz1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm89bmV3IE1hcDt0aGlzLnY9bmV3IE1hcDt0aGlzLmo9bmV3IHVHfWdldChhLGIpe3ZhciBjPXRoaXMuby5nZXQoYSk7aWYoYylyZXR1cm4gY1swXSgpO2lmKGIuRWcmJmEhPW51bGwpcmV0dXJuIHRoaXMuai5nZXQoYSk/LlswXX11cGRhdGUoYSxiLGMpe3ZhciBkPXRoaXMuby5nZXQoYSk7aWYoZCl7bGV0IFtlLGZdPWQ7Yj1iKGUoKSk7ZihiKTtjLkVnJiZhIT1udWxsJiYoYz10aGlzLnYuZ2V0KGEpLHRoaXMuai5zZXQoYSxbYixjPy4oKT8/W10sITBdKSk7cmV0dXJuITB9aWYoYy5FZyYmYSE9bnVsbCYmKGM9dGhpcy5qLmdldChhKSkpe2xldCBbZSxmXT1jO2I9YihlKTt0aGlzLmouc2V0KGEsW2IsZiwhMF0pO3JldHVybiEwfXJldHVybiExfXJlZ2lzdGVyKGEsYixjKXtpZihhPT1udWxsKXJldHVybigpPT57fTt0aGlzLm8uc2V0KGEsYik7YyYmdGhpcy52LnNldChhLGMpO3JldHVybigpPT57dGhpcy5vLmdldChhKT09PQpiJiYodGhpcy5vLmRlbGV0ZShhKSx0aGlzLnYuZGVsZXRlKGEpKX19fTtfLkNHPW5ldyBfLlZzKCJSRU5ERVJFUl9MT0dHRVJfVE9LRU4iKTt2YXIgd2RhPW5ldyBfLlZzKCJSRU5ERVJFUl9TVEFNUEVSX09QVElPTlNfVE9LRU4iKTt2YXIgQWRhPW5ldyBfLlZzKCJSRU5ERVJFUl9TVEFNUEVSX1NVQ0NFU1NfU0xJX1RPS0VOIik7dmFyIHhkYT0iY29tcGFjdFJhZGlvUmVuZGVyZXIgY29tcGFjdFBsYXlsaXN0UmVuZGVyZXIgcGxheWxpc3RWaWRlb1JlbmRlcmVyIGNvbXBhY3RWaWRlb1JlbmRlcmVyIGZlZWROdWRnZVJlbmRlcmVyIGdyaWRWaWRlb1JlbmRlcmVyIHByaW1ldGltZVByb21vUmVuZGVyZXIgcmFkaW9SZW5kZXJlciBwcmltZXRpbWVQcm9tb1JlbmRlcmVyIHJlZWxJdGVtUmVuZGVyZXIgcmVlbFNoZWxmUmVuZGVyZXIgcmljaFNoZWxmUmVuZGVyZXIgc2VhcmNoSGlzdG9yeVF1ZXJ5UmVuZGVyZXIgc2hlbGZSZW5kZXJlciB2aWRlb1dpdGhDb250ZXh0UmVuZGVyZXIgdmlkZW9DYXJkUmVuZGVyZXIgc3RhdGVtZW50QmFubmVyUmVuZGVyZXIgbWluaUdhbWVDYXJkVmlld01vZGVsIHNob3J0c0xvY2t1cFZpZXdNb2RlbCBsb2NrdXBWaWV3TW9kZWwgZ3JpZFNoZWxmVmlld01vZGVsIi5zcGxpdCgiICIpLHpkYT1bIm5vdGlmaWNhdGlvblRleHRSZW5kZXJlciIsIm5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXIiXSwKeWRhPSJwcmltZXRpbWVQcm9tb1JlbmRlcmVyIHN0YXRlbWVudEJhbm5lclJlbmRlcmVyIGJyYW5kVmlkZW9TaGVsZlJlbmRlcmVyIGJyYW5kVmlkZW9TaW5nbGV0b25SZW5kZXJlciBmZWVkTnVkZ2VSZW5kZXJlciBwbGF5bGlzdFZpZGVvUmVuZGVyZXIiLnNwbGl0KCIgIikse01nOnZkYX09Xy56RyhhPT5fLkJ2KGE/LnRhcmdldElkKSk7dmFyIHVkYT0wO18uVy5kZWJ1Z05hbWU9IkVqSmJDZSI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBWYmE7VmJhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGEsYix2b2lkIDApfTtfLk5EPWZ1bmN0aW9uKGEpe2E9WyhhJjE2NzExNjgwKT4+PjE2LChhJjY1MjgwKT4+PjgsYSYyNTUsKGEmNDI3ODE5MDA4MCk+Pj4yNF07aWYoIVZiYShhLGI9PmI9PT0oYiYyNTUpKSl0aHJvdyBFcnJvcigiUmNgIithLmpvaW4oIiwiKSk7cmV0dXJuYHJnYmEoJHthWzBdfSwke2FbMV19LCR7YVsyXX0sJHsoYVszXS8yNTUpLnRvRml4ZWQoMyl9KWB9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtBPWZ1bmN0aW9uKHt0eXBlOmEscGF5bG9hZDpifSl7YT17dHlwZTphfTtiIT09dm9pZCAwJiYoYS5wYXlsb2FkPWIpO3JldHVybiBhfTsvKgoKIENvcHlyaWdodCAyMDE1LXByZXNlbnQgRGFuIEFicmFtb3YKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKi8KXy5sQT0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIik7Xy5tQT1gQEByZWR1eC9JTklUJHtfLmxBKCl9YDtfLlJhYT1gQEByZWR1eC9SRVBMQUNFJHtfLmxBKCl9YDtfLm5BPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ub0E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLmtBKHt0eXBlOiJSRVBMQUNFX0VOVElUWSIscGF5bG9hZDp7eGw6YyxlbnRpdHlUeXBlOmEsa2V5OmJ9fSl9O18ucEE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLmtBKHt0eXBlOiJVUERBVEVfRU5USVRZIixwYXlsb2FkOnt4bDpjLGVudGl0eVR5cGU6YSxrZXk6YixJeTp2b2lkIDB9fSl9O18ucUE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhW2JdP2FbYl1bY118fG51bGw6bnVsbH07KCgpPT57dmFyIGE9ZD0+bmV3IFVpbnQ4QXJyYXkoZCksYj1kPT57dmFyIGU9bmV3IFVpbnQ4QXJyYXkoZC5sZW5ndGgpO2ZvcihsZXQgZj0wO2Y8ZC5sZW5ndGg7ZisrKWVbZl09ZFtmXTtyZXR1cm4gZX0sYz1uZXcgVWludDhBcnJheShbMV0pO3JldHVybiBjLmxlbmd0aD09PTEmJmNbMF09PT0xP2E6Yn0pKCk7Xy5yQT1BcnJheSgxMDI0KTtfLnNBPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2Rlcjp2b2lkIDA7Xy50QT10eXBlb2YgVGV4dEVuY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dEVuY29kZXI6dm9pZCAwO18udUE9e2FuaW1hdGlvbkVudGl0eTozMDIsYWNjb3VudExpbmtTdGF0dXNFbnRpdHk6MTIyLGFza1N0dWRpb0dlbmVyYXRlZERhdGFFbnRpdHk6NjMwLGJvb2xlYW5FbnRpdHk6MzA3LGFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHk6NjM3LGJ1dHRvbkVudGl0eTozNTgsY2FwdGlvblRyYWNrOjIyNSxjaGFubmVsSGFuZGxlOjI3NSxjaGlwRW50aXR5OjQ5OCxjb21tZXJjZUFjcXVpc2l0aW9uQ2xpZW50UGF5bG9hZEVudGl0eToyNzYsY29tbWVyY2VDYXJ0TGlzdEVudGl0eToyMzYsY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHk6NTMyLGNvbXBvc2l0ZVNvdXJjZUVudGl0eTo1OTQsY29udGV4dE5vdGVGZWVkRW50aXR5UGF5bG9hZDo0ODMsY29udGV4dE5vdGVVc2VyUmF0aW5nRW50aXR5UGF5bG9hZDo1NzYsY29udGludWF0aW9uVG9rZW5FbnRpdHk6NDA2LGRvd25sb2FkUXVhbGl0eVBpY2tlckVudGl0eToyMDIsZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eToyOTksCmRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eToyNjQsZG93bmxvYWRTdGF0dXNFbnRpdHk6MTQxLGRpc21pc3NTdGF0ZTo1NDAsc2Z2QXVkaW9JdGVtQ3VycmVudGx5UGxheWluZ0VudGl0eToxODYsZW1vamlGb3VudGFpbkRhdGFFbnRpdHk6MzkzLGVtb2ppQ3VzdG9taXphdGlvblNldEVudGl0eTo0OTYsZmFrZUNoYW5uZWw6MixmYWtlUGxheWxpc3Q6Mjc5LGZha2VQbGF5bGlzdEVudHJ5Q29sbGVjdGlvbjoyODAsZmFrZVZpZGVvOjE4MixmYWtlVmlkZW9EZXNjcmlwdGlvbjoyNzgsZmVhdHVyZWRQcm9kdWN0c0VudGl0eTozOTIsc2F2ZWRQcm9kdWN0c1N0YXRlRW50aXR5OjU5OCxmbG93U3RhdGVFbnRpdHk6MjUyLGljb25CYWRnZUVudGl0eToyMjksaW50ZXJzdGl0aWFsSW50ZXJhY3Rpb25TdGF0ZUVudGl0eTo0NDMsbGlrZUJ1dHRvbkFuaW1hdGlvbkVudGl0eTo1NjcsbGl2ZUNoYXRQb2xsU3RhdGVFbnRpdHk6MjE3LGxpdmVWaWV3ZXJMZWFkZXJib2FyZENoYXRFbnRyeVBvaW50U3RhdGVFbnRpdHk6NTYzLApsaXZlVmlld2VyTGVhZGVyYm9hcmRQb2ludHNFbnRpdHk6NTY0LGxpdmVSZWFjdGlvbnNEYXRhRW50aXR5OjUwMyxsb2dvRW50aXR5OjI0NSxtYWNyb01hcmtlckVudGl0eTozMjksbWFpbkRvd25sb2Fkc0xpYnJhcnlFbnRpdHk6MTU4LG1haW5Eb3dubG9hZHNMaXN0RW50aXR5OjE2NCxtYWluUGxheWxpc3REb3dubG9hZFN0YXRlRW50aXR5OjM3MyxtYWluUGxheWxpc3RFbnRpdHk6MzA2LG1haW5QbGF5bGlzdFZpZGVvRW50aXR5OjM2OCxtYWluVmlkZW9Eb3dubG9hZFN0YXRlRW50aXR5OjI2MixtYWluVmlkZW9FbnRpdHk6MjYxLG1hcmtlcnNFbmdhZ2VtZW50UGFuZWxTeW5jRW50aXR5OjE5NixtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5OjMxMixtdXNpY0FsYnVtUmVsZWFzZURldGFpbDoxOCxtdXNpY0FsYnVtUmVsZWFzZURvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjU5LG11c2ljQWxidW1SZWxlYXNlOjE3LG11c2ljQWxidW1SZWxlYXNlVXNlckRldGFpbDoxOSxtdXNpY0FydGlzdERldGFpbDoyMSwKbXVzaWNBcnRpc3Q6MjAsbXVzaWNBcnRpc3RVc2VyRGV0YWlsOjIyLG11c2ljRG93bmxvYWRzTGlicmFyeUVudGl0eToyNTcsbXVzaWNMaWJyYXJ5RWRpdDoxMjEsbXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5OjMxOCxtdXNpY1BsYXlsaXN0OjI0LG11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5OjI0OCxtdXNpY1NoYXJlOjEwMCxtdXNpY1RyYWNrRGV0YWlsOjI5LG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5OjIzNCxtdXNpY1RyYWNrOjI4LG11c2ljVHJhY2tVc2VyRGV0YWlsOjMwLG9mZmxpbmVPcmNoZXN0cmF0aW9uQWN0aW9uV3JhcHBlckVudGl0eToxNjksb2ZmbGluZVZpZGVvUG9saWN5OjEzMCxvZmZsaW5lVmlkZW9TdHJlYW1zOjE5OCxvZmZsaW5lYWJpbGl0eUVudGl0eToyNDYsb3JjaGVzdHJhdGlvbldlYlNhbXBsaW5nRW50aXR5OjI0MixwYWdlSGVhZGVyRW50aXR5OjQ5NSxwYXJ0eUdhbWVQYW5lbEVudGl0eTo2MTgsc2xpZGVyR2FtZVBhbmVsRW50aXR5OjYzMywKcGRwU3RhdGVFbnRpdHk6NTI0LHBpbm5lZFByb2R1Y3RFbnRpdHk6MjczLHBsYXliYWNrRGF0YToxMTkscGxheWVyU3RhdGVFbnRpdHk6MzIzLHBsYXlsaXN0VGh1bWJuYWlsRWRpdHNFbnRpdHk6NTM5LHF1YW50aXR5SW5jcmVtZW50ZXJFbnRpdHk6MzU2LHJlZnJlc2g6MTQ4LHNhdmVUb1BsYXlsaXN0TGlzdEVudGl0eToyMzEsc2VsZWN0ZWRDaGlwSW5kZXhFbnRpdHlQYXlsb2FkOjQ3OSxzZWxlY3Rpb25WYWx1ZUxpc3RFbnRpdHk6NjM0LHNldHRpbmdFbnRpdHk6Mjk3LHN0cmluZ0VudGl0eTozODIsc3VnZ2VzdGVkRmVlZGJhY2tDaGlwU3RhdGVFbnRpdHk6NDg1LHRyYW5zZmVyOjEyMCx0cmVuZGluZ09mZmVyRW50aXR5OjQ2OSx1bnBsdWdnZWRTaWRlc2hlZXRIZWFkZXJTdGF0ZUVudGl0eTo2MzUsdmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHk6NDYxLHZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHk6NTQ1LHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTo3Nix2b3RpbmdFbnRpdHk6NTYxLAp5dE1haW5DaGFubmVsRW50aXR5OjE1Mix5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OjU1Myx5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6MTU1LHl0TWFpblZpZGVvRW50aXR5OjE1MX07Xy52QT17fTtmb3IobGV0IFthLGJdb2YgT2JqZWN0LmVudHJpZXMoXy51QSkpe2xldCBjPWEsZD1iO2QmJihfLnZBW2RdPWMpfTsoKCk9Pnt2YXIgYT1kPT5uZXcgVWludDhBcnJheShkKSxiPWQ9Pnt2YXIgZT1uZXcgVWludDhBcnJheShkLmxlbmd0aCk7Zm9yKGxldCBmPTA7ZjxkLmxlbmd0aDtmKyspZVtmXT1kW2ZdO3JldHVybiBlfSxjPW5ldyBVaW50OEFycmF5KFsxXSk7cmV0dXJuIGMubGVuZ3RoPT09MSYmY1swXT09PTE/YTpifSkoKTtfLlNhYT1fLiRsKCJ5dC1pZGItcHJlZi1zdG9yYWdlIix7c2U6e3ByZWZzOntQZDoxfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiZfLm9sKF8ua2woYSwicHJlZnMiLHtrZXlQYXRoOiJrZXkifSksImJ5RXhwaXJhdGlvbiIsImV4cGlyYXRpb25UaW1lc3RhbXBNcyIpfSx2ZXJzaW9uOjF9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGpFO18uaUU9ZnVuY3Rpb24oYSxiKXthPVsoYSYxNjcxMTY4MCk+Pj4xNiwoYSY2NTI4MCk+Pj44LGEmMjU1XTtyZXR1cm5gcmdiYSgke2FbMF19LCAke2FbMV19LCAke2FbMl19LCAke2J9KWB9O18ua0U9ZnVuY3Rpb24oYSl7aWYoYS5zb3VyY2VzKWZvcihsZXQgYiBvZiBhLnNvdXJjZXMpaWYoYi5jbGllbnRSZXNvdXJjZT8uaW1hZ2VOYW1lfHxiLmN1c3RvbUltYWdlU291cmNlJiZfLkIoYi5jdXN0b21JbWFnZVNvdXJjZSxqRSk/LmNsaWVudFJlc291cmNlPy5pY29uKXJldHVybiBifTsKXy5sRT1mdW5jdGlvbihhKXtpZihhPy5jbGllbnRSZXNvdXJjZT8uaW1hZ2VOYW1lKXtsZXQgYj1hLmNsaWVudFJlc291cmNlPy5pbWFnZU5hbWU7YTp7c3dpdGNoKGIpe2Nhc2UgInl0X3ByZW1pdW1fd29yZG1hcmtfaGVhZGVyX2xpZ2h0IjpjYXNlICJ5dF9wcmVtaXVtX3dvcmRtYXJrX2hlYWRlcl9kYXJrIjphPSJZT1VUVUJFX1BSRU1JVU1fTE9HT19TSE9SVCI7YnJlYWsgYTtjYXNlICJ5dF93b3JkbWFya19oZWFkZXJfbGlnaHQiOmNhc2UgInl0X3dvcmRtYXJrX2hlYWRlcl9kYXJrIjphPSJMT0dPX1dJVEhfVEVYVCI7YnJlYWsgYX1hPXZvaWQgMH1yZXR1cm4gYXx8Z2NhLmdldChiKXx8Yn1pZihhPy5jdXN0b21JbWFnZVNvdXJjZSYmKGE9Xy5CKGEuY3VzdG9tSW1hZ2VTb3VyY2UsakUpPy5jbGllbnRSZXNvdXJjZT8uaWNvbikpcmV0dXJuIGF9O2pFPW5ldyBfLkkoInlvdXR1YmVJY29uU291cmNlIik7Xy5tRT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTt2YXIgZ2NhPW5ldyBNYXAoW1sieXRfb3V0bGluZV9iYWdfYmxhY2tfMjQiLCJiYWciXV0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLktEPWZ1bmN0aW9uKGEpe2lmKGE9YS5tYXRjaChVYmEpKXJldHVybntpY29uTmFtZTphWzJdLGh4OmFbMV0udG9VcHBlckNhc2UoKT09PSJGSUxMIixpY29uU2l6ZTpOdW1iZXIoYVszXSl9fTtfLkxEPW5ldyBfLlZzKCJJQ09OX1dJWl9DT01QT05FTlRfVE9LRU4iKTt2YXIgVWJhO1ViYT0vXllUSUNPTl8oZmlsbHxvdXRsaW5lKV8oW2EtekEtWjAtOV9dKylfcyhbMC05XSspJC9pOwpfLk1EPV8uTCgoe2ljb246YSxhY3RpdmU6YixjbGFzc05hbWU6YyxzdHlsZTpkLHlwOmUsaGM6Zixyb2xlOmgsR2U6ayxIYzpsLGFyaWFIaWRkZW46bSxhcmlhRXhwYW5kZWQ6bixhcmlhTGFiZWw6cCx0YWJpbmRleDpyLGlkOnQsc2l6ZTp2LGFnOnosWnA6RSxlcjpBLHRpdGxlOkZ9KT0+e3ZhciBDPV8uTigoKT0+e3ZhciBSPWE/LigpO2lmKFIpcmV0dXJuIF8uS0QoUil9LHZvaWQgMCwiTTBpNXZmIiksRz0oKT0+QygpPy5pY29uTmFtZT8/YT8uKCksRD0oKT0+dj8uKCk/P0MoKT8uaWNvblNpemUsSD0oKT0+Yj8uKCk/P0MoKT8uaHg7cmV0dXJuIF8uSyhfLk8se0E6YSx0aGVuOigpPT57dmFyIFI9Xy55KCkucmVzb2x2ZShfLkxEKTtyZXR1cm4gXy5LKFIse2ljb246Ryx5cDplLGhjOmYsR2U6ayxIYzpsLGFyaWFFeHBhbmRlZDpuLHRhYmluZGV4OnIsaWQ6dCxhY3RpdmU6SCxzaXplOkQscm9sZTpoLGNsYXNzTmFtZTpjLGFyaWFIaWRkZW46bSxhcmlhTGFiZWw6cCxzdHlsZTooKT0+CntpZighRCgpKXJldHVybiBkPy4oKTt2YXIgTT1gd2lkdGg6ICR7RCgpfXB4OyBoZWlnaHQ6ICR7RCgpfXB4O2A7cmV0dXJuIGQ/LigpP2Ake019ICR7ZCgpfWA6TX0sdGl0bGU6RixhZzp6LFpwOkUsZXI6QX0pfX0pfSwiaiIpO18uTUQuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntlcjohMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgS0UsTEUsbWNhLG5jYSxORSxwY2EscWNhLHJjYSx1Y2Esd2NhLHZjYSxYRSx4Y2EseWNhLEFjYSx6Y2E7Xy5KRT1mdW5jdGlvbihhKXthJj0xNjc3NzIxNTt2YXIgYj1bKGEmMTY3MTE2ODApPj4xNiwoYSY2NTI4MCk+PjgsYSYyNTVdO2E9YlswXTt2YXIgYz1iWzFdO2I9YlsyXTthPU51bWJlcihhKTtjPU51bWJlcihjKTtiPU51bWJlcihiKTtpZihhIT0oYSYyNTUpfHxjIT0oYyYyNTUpfHxiIT0oYiYyNTUpKXRocm93IEVycm9yKCJRY2AiK2ErImAiK2MrImAiK2IpO2M9YTw8MTZ8Yzw8OHxiO3JldHVybiBhPDE2PyIjIisoMTY3NzcyMTZ8YykudG9TdHJpbmcoMTYpLnNsaWNlKDEpOiIjIitjLnRvU3RyaW5nKDE2KX07S0U9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc291cmNlcyE9PXZvaWQgMHx8YS5wcm9jZXNzb3IhPT12b2lkIDB9OwpMRT1mdW5jdGlvbihhKXt2YXIgYj1hLnRodW1ibmFpbHM7aWYoYil7YT17c291cmNlczpbXX07Zm9yKGxldCBjIG9mIGIpYj17fSxiLnVybD1jLnVybCxiLndpZHRoPWMud2lkdGgsYi5oZWlnaHQ9Yy5oZWlnaHQsYS5zb3VyY2VzLnB1c2goYik7cmV0dXJuIGF9fTttY2E9ZnVuY3Rpb24oYSxiLGMpe2M9Yz9bY106W107YS5vcGFjaXR5JiZjLnB1c2goYG9wYWNpdHk6ICR7YS5vcGFjaXR5fTtgKTtiJiZhLnBsYWNlaG9sZGVyQ29sb3I/KGE9Xy5ORChhLnBsYWNlaG9sZGVyQ29sb3IpLGMucHVzaChgYmFja2dyb3VuZC1jb2xvcjogJHthfTtgKSk6Yy5wdXNoKCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiKTtyZXR1cm4gYy5qb2luKCIgIil9OwpuY2E9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1bInl0Q29yZUltYWdlSG9zdCJdO2ImJmYucHVzaChiKTtjfHxmLnB1c2goInl0Q29yZUltYWdlRmlsbFBhcmVudEhlaWdodCIpO2R8fGYucHVzaCgieXRDb3JlSW1hZ2VGaWxsUGFyZW50V2lkdGgiKTtzd2l0Y2goYS5jb250ZW50TW9kZSl7Y2FzZSAiQ09OVEVOVF9NT0RFX1NDQUxFX0FTUEVDVF9GSVQiOmYucHVzaCgieXRDb3JlSW1hZ2VDb250ZW50TW9kZVNjYWxlQXNwZWN0Rml0Iik7YnJlYWs7Y2FzZSAiQ09OVEVOVF9NT0RFX1NDQUxFX0FTUEVDVF9GSUxMIjpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpbGwiKTticmVhaztjYXNlICJDT05URU5UX01PREVfQ0VOVEVSIjpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVDZW50ZXIiKTticmVhaztkZWZhdWx0OmYucHVzaCgieXRDb3JlSW1hZ2VDb250ZW50TW9kZVNjYWxlVG9GaWxsIil9YS5mbGlwRm9yUnRsTGF5b3V0JiZmLnB1c2goInl0Q29yZUltYWdlRmxpcFJ0bCIpOwpzd2l0Y2goZSl7Y2FzZSAiVE9QX1NUQVJUIjpmLnB1c2goZG9jdW1lbnQuYm9keT8uZ2V0QXR0cmlidXRlKCJkaXIiKT09PSJydGwiPyJ5dENvcmVJbWFnZU9iamVjdFBvc2l0aW9uVG9wUmlnaHQiOiJ5dENvcmVJbWFnZU9iamVjdFBvc2l0aW9uVG9wTGVmdCIpfXJldHVybiBmLmpvaW4oIiAiKX07Xy5NRT1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cubWF0Y2hNZWRpYSYmd2luZG93Lm1hdGNoTWVkaWEoIihvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIpLm1hdGNoZXN9O05FPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O2E9Xy5CKGEucHJvY2Vzc29yLG9jYSk7dmFyIGM9KGM9YT8uaW1hZ2VUaW50Py5jb2xvcik/Xy5ORChjKTp2b2lkIDA7YyYmKGIuY29sb3I9Yyk7aWYoYz1wY2EoYSkpYi5ueT1jO2lmKGE9cWNhKGEpKWIuTno9YTtyZXR1cm4gYn07CnBjYT1mdW5jdGlvbihhKXt2YXIgYj1hPy5saW5lYXJHcmFkaWVudDtpZihiJiZiPy5jb2xvcnMmJmI/LmNvbG9ycz8ubGVuZ3RoIT09MCl7dmFyIGM9Yi5jb2xvcnMubWFwKGU9Pl8uTkQoZSkpO2E9Yi5hbmdsZSE9PXZvaWQgMD9gJHtiLmFuZ2xlfWRlZywgYDoiIjt2YXIgZD1iLnBvc2l0aW9ucztpZighZHx8ZC5sZW5ndGghPT1jLmxlbmd0aClyZXR1cm5gbGluZWFyLWdyYWRpZW50KCR7YX0ke2Muam9pbigiLCAiKX0pYDtiPWMubWFwKChlLGYpPT5gJHtlfSAke2RbZl0qMTAwfSVgKTtyZXR1cm5gbGluZWFyLWdyYWRpZW50KCR7YX0ke2Iuam9pbigiLCAiKX0pYH19OwpxY2E9ZnVuY3Rpb24oYSl7aWYoKGE9YT8ucmFkaWFsR3JhZGllbnQpJiZhPy5jb2xvcnMmJmE/LmNvbG9ycz8ubGVuZ3RoIT09MCl7dmFyIGI9YS5jb2xvcnMubWFwKGs9Pl8uTkQoaykpLGM9YS5jZW50ZXJVbml0Pz8iRElNRU5TSU9OX1VOSVRfRlJBQ1RJT04iLGQ9Yz09PSJESU1FTlNJT05fVU5JVF9QT0lOVCI/InB4IjoiJSIsZT1jPT09IkRJTUVOU0lPTl9VTklUX0ZSQUNUSU9OIj8xMDA6MTtjPWAkeyhhLmNlbnRlclg/Py41KSplfSR7ZH1gO2Q9YCR7KGEuY2VudGVyWT8/LjUpKmV9JHtkfWA7dmFyIGY9YS5yYWRpdXM7ZT0iIjtlPWYhPT12b2lkIDA/YGNpcmNsZSAke2Z9cHhgOiJlbGxpcHNlIjt2YXIgaD1hLnBvc2l0aW9ucztpZighaHx8aC5sZW5ndGghPT1iLmxlbmd0aClyZXR1cm5gcmFkaWFsLWdyYWRpZW50KCR7ZX0gYXQgJHtjfSAke2R9LCAke2Iuam9pbigiLCAiKX0pYDthPWIubWFwKChrLGwpPT5gJHtrfSAke2hbbF0qMTAwfSVgKTtyZXR1cm5gcmFkaWFsLWdyYWRpZW50KCR7ZX0gYXQgJHtjfSAke2R9LCAke2Euam9pbigiLCAiKX0pYH19OwpfLk9FPWZ1bmN0aW9uKGEpe18uamYuR2EoKCk9Pnt0cnl7YSgpfWNhdGNoKGIpe18uT3QoYil9fSw4KX07cmNhPWZ1bmN0aW9uKGEpe3ZhciBiPSgxK2EubWFyZ2luKSooZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodHx8d2luZG93LmlubmVySGVpZ2h0KTthLmo9YS5qLmZpbHRlcihjPT57dmFyIGQ9Yy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsoZD1iPmQudG9wJiYhIWQuaGVpZ2h0KSYmYS5CKGMpO3JldHVybiFkJiZjLnBhcmVudE5vZGV9KTthLnY9ITF9O18uUEU9ZnVuY3Rpb24oYSl7aWYoIm1hdGNoTWVkaWEiaW4gd2luZG93KXJldHVybiB3aW5kb3cubWF0Y2hNZWRpYShhLmxhbmRzY2FwZSsiLCIrYS5wb3J0cmFpdCkubWF0Y2hlc307Xy5URT1mdW5jdGlvbigpe2lmKFFFPT09dm9pZCAwKXtsZXQgYT1fLlBFKHNjYSk7UUU9YSE9PXZvaWQgMD9hOl8uUkU+PTkzMCYmU0U+PTU1MHx8Xy5SRT49NTUwJiZTRT49OTMwfXJldHVybiBRRX07CnVjYT1mdW5jdGlvbihhLGIpe2EuSm09Yjt0Y2Eub2JzZXJ2ZShhKX07CndjYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoayl7dmFyIGw9TWF0aC5yb3VuZCgoMCxfLmVsKSgpLWQpO1VFPU1hdGgubWF4KDAsVUUtMSk7bD17ZHVyYXRpb25Mb2FkaW5nTXM6bCx3aWR0aFB4OmEubmF0dXJhbFdpZHRoLGhlaWdodFB4OmEubmF0dXJhbEhlaWdodCx2aWV3V2lkdGhQeDphLmNsaWVudFdpZHRoLHZpZXdIZWlnaHRQeDphLmNsaWVudEhlaWdodCxmaW5pc2hlZExvYWRpbmc6ITAsaXNMb2FkRXJyb3I6ayxsb2FkTnVtYmVyOmUsY29uY3VycmVudExvYWRzOlVFfTtiJiZiLmltYWdlQ2xhc3NpZmljYXRpb25UeXBlIT1udWxsJiYobC5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZT1iLmltYWdlQ2xhc3NpZmljYXRpb25UeXBlKTtpZighayl0cnl7bGV0IG09cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShhLnNyYyk7aWYobSYmbS5sZW5ndGg+MCl7bGV0IG49bVttLmxlbmd0aC0xXTtuLnRyYW5zZmVyU2l6ZSYmKGwuZG93bmxvYWRlZEJ5dGVzPW4udHJhbnNmZXJTaXplKX19Y2F0Y2gobSl7fV8uRXAoInRodW1ibmFpbExvYWRlZCIsCmwpO2lmKGs9VkUuZ2V0KGEpKWEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsay5vbkxvYWQpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGsub25FcnJvcik7VkUuZGVsZXRlKGEpfWlmKF8ueCgid2ViX2ltYWdlX2xvYWRfdGVsZW1ldHJ5Iikpe3ZjYShhKTtVRSsrO1dFKys7dmFyIGQ9KDAsXy5lbCkoKSxlPVdFLGY9KCk9PntjKCExKX0saD0oKT0+e2MoITApfTthLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGYpO2EuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGgpO1ZFLnNldChhLHtvbkxvYWQ6ZixvbkVycm9yOmh9KX19O3ZjYT1mdW5jdGlvbihhKXt2YXIgYj1WRS5nZXQoYSk7YiYmKGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsYi5vbkxvYWQpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGIub25FcnJvciksVUU9TWF0aC5tYXgoMCxVRS0xKSxWRS5kZWxldGUoYSkpfTsKWEU9ZnVuY3Rpb24oYSxiLGMpe2ImJl8uVHQoYSxiKTtjJiZhLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbWFnZS11bmxvYWRlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9O3hjYT1mdW5jdGlvbihhLGIsYyxkLGU9ITApe2Z1bmN0aW9uIGYoKXt2YXIgaD1jKGIsYSk7aCYmYS5nZXRBdHRyaWJ1dGUoInNyYyIpIT09aCYmKGghPT1hLnNyYyYmKGEuc3JjPWgpLHdjYShhLGQpLGQmJlhFKGEsZC50aixkLkJtKSl9YS5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpO2QmJlhFKGEsZC50aixkLkJtKTtiJiYoZT91Y2EoYSxmKTpmKCkpfTt5Y2E9ZnVuY3Rpb24oYSxiLGMpe2lmKCFiKXJldHVybiExO2I9YyhiLGEpO2M9YS5nZXRBdHRyaWJ1dGUoInNyYyIpO3JldHVybiBiJiZiPT09YyYmYS5jb21wbGV0ZX07CkFjYT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQ9S0UoYSk/ey4uLmF9OkxFKGEpO2lmKGQpe2QuY29udGVudE1vZGU9ZC5jb250ZW50TW9kZT8/Yi5jb250ZW50TW9kZTt2YXIgZT1iLm9uTG9hZDtiLm9uTG9hZD1sPT57dmFyIG09bC50YXJnZXQ7YyYmbS5uYXR1cmFsV2lkdGg9PT0xMjB8fF8uU3QobSwieXRDb3JlSW1hZ2VMb2FkZWQiKTtiLnNnJiZtLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbWFnZS1sb2FkZWQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpO2U/LihsKX07Yi5BYiYmYi5UYSYmKGIud2lkdGg9Yi5BYik7Yi5kYyYmYi5ZYSYmKGIuaGVpZ2h0PWIuZGMpO3ZhciBmPV8ua0UoZCksaD1mJiZfLmxFKGYpLGs9TkUoZCk7aWYoaCl7YT1mLmNsaWVudFJlc291cmNlPy5pbWFnZUNvbG9yP18uTkQoZi5jbGllbnRSZXNvdXJjZS5pbWFnZUNvbG9yKTp2b2lkIDA7aWYoaz1hfHxrLmNvbG9yKWIuc3R5bGU9Yi5zdHlsZT9iLnN0eWxlLmVuZHNXaXRoKCI7Iik/Yi5zdHlsZSsKYCBjb2xvcjogJHtrfTtgOmIuc3R5bGUrYDsgY29sb3I6ICR7a307YDpgY29sb3I6ICR7a307YDtyZXR1cm57dHlwZToiaWNvbiIsaWNvbk5hbWU6aCxjb25maWc6ey4uLmIsLi4uKGIuYWx0P3t9OnthcmlhSGlkZGVuOiJ0cnVlIn0pLGFyaWFMYWJlbDpiLmFsdCxyb2xlOiJpbWcifX19S0UoYSl8fChiLmFsdD1hLmFjY2Vzc2liaWxpdHkmJmEuYWNjZXNzaWJpbGl0eS5hY2Nlc3NpYmlsaXR5RGF0YSYmYS5hY2Nlc3NpYmlsaXR5LmFjY2Vzc2liaWxpdHlEYXRhLmxhYmVsfHxiLmFsdCxiLnN0eWxlPW1jYShhLGIuV3IsYi5zdHlsZSksYi5pc1ByZWxvYWRlZD0hIV8uQihhLHpjYSk/LmlzUHJlbG9hZGVkKTtiLmNsYXNzTmFtZT1uY2EoZCxiLmNsYXNzTmFtZSxiLllhLGIuVGEsYi5vYmplY3RQb3NpdGlvbik7Yi50aj0ieXRDb3JlSW1hZ2VMb2FkZWQiO3JldHVybnt0eXBlOiJpbWFnZSIsaW1hZ2U6ZCxjb25maWc6Yn19fTt6Y2E9bmV3IF8uSSgid2ViVGh1bWJuYWlsRGV0YWlsc0V4dGVuc2lvbkRhdGEiKTt2YXIgb2NhPW5ldyBfLkkoImJvcmRlckltYWdlUHJvY2Vzc29yIik7dmFyIENjYTtbXy5CY2EsQ2NhXT1fLkooXy5NRSgpLHZvaWQgMCwiTzNYMndkIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKCk9PntDY2EoXy5NRSgpKX0pO18uZkY9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm1hcmdpbj1hO3RoaXMuQj1iO3RoaXMuaj1bXTt0aGlzLnY9ITE7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsKCk9Pnt0aGlzLm8oKX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsKCk9Pnt0aGlzLm8oKX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGV1aSIsKCk9Pnt0aGlzLm8oKX0pO3ZhciBjPW5ldyBfLld0KCgwLF8uQ2EpKHRoaXMubyx0aGlzKSwxMDApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCgpPT57Yy52KCl9LCEwKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwoMCxfLkNhKSh0aGlzLm8sdGhpcykpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZXN0YXJ0IiwoKT0+e3RoaXMuaj1bXX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZWVuZCIsKDAsXy5DYSkodGhpcy5vLHRoaXMpKX1vYnNlcnZlKGEpe3RoaXMuai5pbmNsdWRlcyhhKXx8CnRoaXMuai5wdXNoKGEpfXVub2JzZXJ2ZShhKXt0aGlzLmo9dGhpcy5qLmZpbHRlcihiPT5iIT09YSl9bygpe3RoaXMudnx8KF8uT0UoKCk9PntyY2EodGhpcyl9KSx0aGlzLnY9ITApfWRpc2Nvbm5lY3QoKXt0aGlzLmo9W119fTt2YXIgc2NhLFFFLFNFO3NjYT17bGFuZHNjYXBlOiIobWluLXdpZHRoOiA5MzFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIscG9ydHJhaXQ6IihtaW4td2lkdGg6IDU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkifTtRRT12b2lkIDA7Xy5nRj12b2lkIDA7Xy5SRT13aW5kb3cuaW5uZXJXaWR0aDtTRT13aW5kb3cuaW5uZXJIZWlnaHQ7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKCk9PntfLmdGPVFFPXZvaWQgMH0pO3ZhciB0Y2E9IkludGVyc2VjdGlvbk9ic2VydmVyImluIHdpbmRvdz9uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGEsYik9PnthLmZpbHRlcihjPT5jLmludGVyc2VjdGlvblJlY3QuaGVpZ2h0PjApLmZvckVhY2goKHt0YXJnZXQ6Y30pPT57Yy5KbT8uKCk7Yi51bm9ic2VydmUoYyl9KX0se3Jvb3RNYXJnaW46IjEwJSIsdGhyZXNob2xkOi4wMX0pOl8uVEUoKT97b2JzZXJ2ZShhKXtfLmpmLkdhKCgpPT57dHJ5e2EuSm0/LigpfWNhdGNoKGIpe18uT3QoYil9fSw4KX0sdW5vYnNlcnZlKCl7fX06bmV3IF8uZkYoLjEsYT0+e18uamYuR2EoKCk9Pnt0cnl7YS5KbT8uKCl9Y2F0Y2goYil7Xy5PdChiKX19LDgpfSk7dmFyIFZFPW5ldyBXZWFrTWFwLFdFPTAsVUU9MDtfLmhGPV8uTChhPT57dmFyIGI9ITEsYz1fLnVFKCJpbWciLGQ9PntfLll1KCgpPT57Yj0hMDtkLm9ubG9hZD1udWxsfSl9KTtfLm5FKCgpPT57dmFyIGQ9YS5kYXRhPy4oKSxlPWEuR2w/LigpLlNnLGY9YS5jb25maWcoKSxoPWMudmFsdWU7aWYoaCl7dmFyIGs9KGwsbSk9PntpZighYilyZXR1cm4gZT9lKGwsbSk6bH07Xy54KCJ3ZWJfaW1hZ2VfZG9udF9yZWxvYWRfc2FtZV9zcmMiKSYmeWNhKGgsZCxrKT9fLngoIndlYl9pbWFnZV9kb250X3JlbG9hZF9zYW1lX3NyY19zaW11bGF0ZV9sb2FkIikmJmguZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImxvYWQiLHtidWJibGVzOiExLGNhbmNlbGFibGU6ITEsZGV0YWlsOnttZXNzYWdlOiJTaW11bGF0aW5nIGxvYWQgZXZlbnQgZm9yIGFscmVhZHkgbG9hZGVkIGltYWdlIn19KSk6eGNhKGgsZHx8bnVsbCxrLGYsYS5sYXp5Py4oKSl9fSwiUmZFZ0JjIik7cmV0dXJuIF8uSygiaW1nIix7ZWw6YyxjbGFzczooKT0+YS5jb25maWcoKS5jbGFzc05hbWUsCmFsdDooKT0+YS5jb25maWcoKS5hbHQsImFyaWEtaGlkZGVuIjooKT0+YS5jb25maWcoKS5hcmlhSGlkZGVuLCJkYXRhLWRpc2FibGVkIjooKT0+YS5jb25maWcoKS5oYyxzdHlsZTooKT0+YS5jb25maWcoKS5zdHlsZSx3aWR0aDooKT0+YS5jb25maWcoKS53aWR0aCxoZWlnaHQ6KCk9PmEuY29uZmlnKCkuaGVpZ2h0LGRyYWdnYWJsZTooKT0+YS5jb25maWcoKS5kcmFnZ2FibGUsIm9uOmVycm9yIjpkPT5hLmNvbmZpZygpLm9uRXJyb3I/LihkKSwib246bG9hZCI6ZD0+YS5jb25maWcoKS5vbkxvYWQ/LihkKX0pfSwibCIpO18uaEYuaWRvbUNvbXBhdD0hMDt2YXIgaUY7Xy5qRj1fLkwoYT0+e3ZhciBbYixjXT1fLkooITEsdm9pZCAwLCJURmFFS2QiKSxkPSgpPT57dmFyIGY9YS5kYXRhKCk7cmV0dXJuIEtFKGYpP3suLi5mfTpMRShmKT8/e319LGU9KCk9PiFkKCkuc291cmNlcz8ubGVuZ3RofHxiKCk7cmV0dXJuIF8uSyhfLk8se0E6KCk9PntpZighXy54KCJ3ZWJfbGluZWFyX2dyYWRpZW50X2tpbGxzd2l0Y2giKSlyZXR1cm4gTkUoZCgpKS5ueXx8TkUoZCgpKS5Oen0sdGhlbjpmPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRDb3JlSW1hZ2VIb3N0IiwieXRDb3JlSW1hZ2VHcmFkaWVudENvbnRhaW5lciIse3l0Q29yZUltYWdlTG9hZGVkOmV9KX0sXy5LKCJkaXYiLHtjbGFzczoieXRDb3JlSW1hZ2VHcmFkaWVudCIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsc3R5bGU6Xy5JRSh7YmFja2dyb3VuZDpmfSl9KSxfLksoaUYsey4uLmEsb25Mb2FkOmg9PntjKCEwKTthLm9uTG9hZD8uKGgpfX0pKSxXOigpPT5fLksoaUYsey4uLmF9KX0pfSwibSIpOwppRj1fLkwoYT0+e3ZhciBiPSgpPT5BY2EoYS5kYXRhKCkse2NvbnRlbnRNb2RlOmEuY29udGVudE1vZGU/LigpLHRqOmEudGo/LigpLGlzUHJlbG9hZGVkOmEuaXNQcmVsb2FkZWQ/LigpLHNnOmEuc2c/LigpLEJtOmEuQm0/LigpLHlyOmEueXI/LigpLFlhOmEuWWE/LigpLFRhOmEuVGE/LigpLG9iamVjdFBvc2l0aW9uOmEub2JqZWN0UG9zaXRpb24/LigpLEFiOmEuQWI/LigpLGRjOmEuZGM/LigpLFdyOmEuV3I/LigpLE5nOmEuTmc/LigpLGlzVG9nZ2xlZDphLmlzVG9nZ2xlZD8uKCksYWx0OmEuYWx0Py4oKSxjbGFzc05hbWU6YS5jbGFzc05hbWU/LigpLG9uRXJyb3I6YS5vbkVycm9yLG9uTG9hZDphLm9uTG9hZCxzdHlsZTphLnN0eWxlPy4oKSxjb2xvcjphLmNvbG9yPy4oKSx3aWR0aDphLndpZHRoPy4oKSxoZWlnaHQ6YS5oZWlnaHQ/LigpLGFyaWFIaWRkZW46YS5hcmlhSGlkZGVuPy4oKSxkcmFnZ2FibGU6YS5kcmFnZ2FibGU/LigpLGhjOmEuaGM/LigpLHNpemU6YS5zaXplPy4oKSwKaW1hZ2VDbGFzc2lmaWNhdGlvblR5cGU6YS5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZT8uKCl9LGEuVXc/LigpKTtyZXR1cm4gXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+YigpPy50eXBlPT09ImltYWdlIn0sKCk9Pl8uSyhfLmhGLHtkYXRhOigpPT5iKCkuaW1hZ2UsR2w6e1NnOihjLGQpPT57dmFyIGU9YigpLmltYWdlLnNvdXJjZXM7dmFyIGY9YigpLmNvbmZpZy5pc1ByZWxvYWRlZCxoPWIoKS5jb25maWcuTmcsaz1iKCkuY29uZmlnLkFiLGw9YigpLmNvbmZpZy5kYyxtPWIoKS5jb25maWcueXI7aWYoIWV8fGUubGVuZ3RoPT09MHx8ZVswXS5jbGllbnRSZXNvdXJjZSllPW51bGw7ZWxzZSBpZihmJiZlWzBdLnVybCllPWVbMF0udXJsO2Vsc2V7aD09PXZvaWQgMCYmKGg9ITApO2Q9aD9fLm1FKihrfHxkPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8ud2lkdGh8fDApOl8ubUUqKGx8fGQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPy5oZWlnaHR8fDApO2I6aWYoZCl7aWYobSlmb3IobGV0IG4gb2YgZSlpZihmPQpuLnVybD8uaW5kZXhPZihtKSxmIT09dm9pZCAwJiZmPj0wKXtlPW47YnJlYWsgYn1mb3IobGV0IG4gb2YgZSlpZihuLndpZHRoJiZuLmhlaWdodCYmKGgmJm4ud2lkdGg+PWR8fCFoJiZuLmhlaWdodD49ZCkpe2U9bjticmVhayBifWZvcihtPWUubGVuZ3RoLTE7bT49MDttLS0paWYoaCYmZVttXS53aWR0aHx8IWgmJmVbbV0uaGVpZ2h0KXtlPWVbbV07YnJlYWsgYn1lPWVbMF19ZWxzZSBlPWUubGVuZ3RoPj0xP2VbZS5sZW5ndGgtMV06bnVsbDtlPWU/LnVybD9lLnVybDplPy5pbWFnZURhdGE/ZS5pbWFnZURhdGE6bnVsbH1yZXR1cm4gZXx8IiJ9fSxjb25maWc6KCk9Pnt2YXIgYz1iKCkuY29uZmlnO2ZvcihsZXQgZCBpbiBjKWNbZF09PT12b2lkIDAmJmRlbGV0ZSBjW2RdO3JldHVybiBjfSxsYXp5OmEuVGJ9KSksXy5LKF8uQ0Use3doZW46KCk9PmIoKT8udHlwZT09PSJpY29uIn0sKCk9Pl8uSyhfLk1ELHtpY29uOigpPT5iKCkuaWNvbk5hbWUscm9sZTooKT0+YigpLmNvbmZpZy5yb2xlLApjbGFzc05hbWU6KCk9PmIoKS5jb25maWcuY2xhc3NOYW1lLHN0eWxlOigpPT5iKCkuY29uZmlnLnN0eWxlLGFyaWFMYWJlbDooKT0+YigpLmNvbmZpZy5hcmlhTGFiZWwsYXJpYUhpZGRlbjooKT0+YigpLmNvbmZpZy5hcmlhSGlkZGVuLGhjOigpPT5iKCkuY29uZmlnLmhjLGFjdGl2ZTooKT0+YigpLmNvbmZpZy5pc1RvZ2dsZWQsc2l6ZTooKT0+YigpLmNvbmZpZy5zaXplfSkpKX0sIm4iKTtfLmpGLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7Y2FsbGJhY2s6ITAsb25FcnJvcjohMCxvbkxvYWQ6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5OSj1uZXcgXy5JKCJzaWduYWxBY3Rpb24iKTtfLk9KPWNsYXNze2NvbnN0cnVjdG9yKGEsYj0hMSxjPW51bGwpe3RoaXMuYWN0aW9uTmFtZT1hO3RoaXMuaj1iO3RoaXMuYXJncz1jO3RoaXMucmV0dXJuVmFsdWU9W119fTtfLlBKPW5ldyBNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaEU9bmV3IF8uSSgibGF5b3V0UHJvcGVydGllcyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtGPW5ldyBfLlZzKCJEQVJLX1RIRU1FX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubEY9bmV3IF8uVnMoIkFQUF9ESVJFQ1RJT05fVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy51Rj1mdW5jdGlvbihhLGIpe3ZhciBjPWI/LmluaXRpYWw7cmV0dXJuIF8uTigoKT0+e18uQnYoITApO3JldHVybiBjPWEoYyl9LHtlcXVhbHM6Yj8uaXNFcXVhbH0sInJTbEtzYyIpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEVjYSxGY2EsdkYsR2NhLHlGLEJGLENGLEpjYSxMY2EsREYsRUYsTmNhLEhGLE9jYSxRY2EsSUYsUmNhLEpGLFNjYSxLRixMRixUY2EsTUYsVWNhLE5GLFZjYSxXY2EsSWNhLEhjYTsKRWNhPWZ1bmN0aW9uKGEpe3ZhciBiPXtzdGF0ZToiTk9ORSJ9LGM9e1JoOmQ9Pntzd2l0Y2goZC5DYi50b2tlbil7Y2FzZSBfLlBiYS5DYi50b2tlbjp2YXIgZT1iO2JyZWFrO2Nhc2UgXy5PYmEuQ2IudG9rZW46ZT1hLldIO2JyZWFrO2Nhc2UgXy5MQy5DYi50b2tlbjplPWEucm9vdEVsZW1lbnQ7YnJlYWs7Y2FzZSBfLkxiYS5DYi50b2tlbjplPWEuWUo7YnJlYWs7Y2FzZSBfLk1CLkNiLnRva2VuOmU9YS5GbzticmVhaztjYXNlIF8uTWJhLkNiLnRva2VuOmU9YS5yZW5kZXJlckRhdGE7YnJlYWs7Y2FzZSBfLk5iYS5DYi50b2tlbjplPWEub0o7YnJlYWs7Y2FzZSBfLk5CLkNiLnRva2VuOmU9YS5ydn1pZihlKWQ9ZTtlbHNlIGE6e2ZvcihlPWMucGFyZW50O2U7KXt2YXIgZj1lO2lmKGYuUmgpe2Q9Zi5SaChkKTticmVhayBhfWU9ZS5wYXJlbnR9ZT1kLkNiLnRva2VuO2Y9Xy5XQy5nZXQoZSk7ZiE9PXZvaWQgMD9kPWY6KGY9ZC5DYi5NeixkLkNiLktwPyhkPWQuQ2IuS3AoKSxlJiZmPT09CiJyb290IiYmXy5XQy5zZXQoZSxkKSk6ZD1fLmF1KX1yZXR1cm4gZH19O18uQnUoYyk7cmV0dXJuIGN9O0ZjYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09Yn07dkY9ZnVuY3Rpb24oYSxiKXtpZihhPT09YilhPSEwO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShhKSYmQXJyYXkuaXNBcnJheShiKSlhOmlmKF8ueWEoYSkmJl8ueWEoYikmJmEubGVuZ3RoPT1iLmxlbmd0aCl7dmFyIGM9YS5sZW5ndGgsZD12Rnx8RmNhO2ZvcihsZXQgZT0wO2U8YztlKyspaWYoIWQoYVtlXSxiW2VdKSl7YT0hMTticmVhayBhfWE9ITB9ZWxzZSBhPSExO2Vsc2UgaWYoXy5BYShhKSYmXy5BYShiKSlhOmlmKF8uRngoYSkubGVuZ3RoIT1fLkZ4KGIpLmxlbmd0aClhPSExO2Vsc2V7Zm9yKGMgaW4gYSlpZighdkYoYVtjXSxiW2NdKSl7YT0hMTticmVhayBhfWE9ITB9ZWxzZSBhPSExO3JldHVybiBhfTtfLndGPWZ1bmN0aW9uKGEsYixjKXtjPT09dm9pZCAwP2RlbGV0ZSBhW2IubmFtZV06YVtiLm5hbWVdPWN9OwpHY2E9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ITE7YVtfLnFGXT9Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigiSGIiKSwyLGEudGFnTmFtZSk7fSk6Xy5adCYmZCE9PV8uWEM/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkViIiksMixhLnRhZ05hbWUpO30pOihhLnRleHRDb250ZW50IT09IiImJmEudGV4dENvbnRlbnQhPT1udWxsfHxhLmNoaWxkRWxlbWVudENvdW50PjApJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigiRmIiKSwyLGEudGFnTmFtZSk7fSk7dmFyIGY9Xy5SdSgoKT0+e3ZhciBoPV8ua3UoXy56diksaz0oKT0+e3ZhciBsPShfLk9CLnN2Pz9fLnZkKGEpKS5fX3dpemRpc3BhdGNoZXI7bD1FY2Eoe3Jvb3RFbGVtZW50Ont2YWx1ZTphfSxGbzpjfHxsPy5udz8uKCkscnY6bH0pO2w9Xy4kdChsKTt2YXIgbT1fLkxCKCEwKTtfLmd2Kys7dHJ5e18uYkMoYigpLGEpLApfLklBKCExKX1jYXRjaChuKXt0aHJvdyBfLklBKCEwKSxuO31maW5hbGx5e18uTEIobSksXy4kdChsKX19O3RyeXtyZXR1cm4gZD09PV8uWEM/Xy51dihrLCExKTpfLml3KGspfWNhdGNoKGwpe3Rocm93IF8uVXUobCw0KSxsO31maW5hbGx5e18ua3UoaCl9fSk7YVtfLnFGXT0hMDtyZXR1cm4oKT0+e2U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkdiIiksMixhLnRhZ05hbWUpO30pOihhLnRleHRDb250ZW50PSIiLGYoKSxlPSEwLGFbXy5xRl09ITEpfX07Xy54Rj1mdW5jdGlvbihhLGIsYyl7Yz8/KGM9e30pO3ZhciBkPWMuRm8sZT0hIV8uS3UuSnE7Yj1HY2EoYSxiLGQsYy5Jayk7ZSYmXy5QQihhLGQpO18uVkIubG9nKGEpO3JldHVybiBifTsKXy5BRj1mdW5jdGlvbihhKXt2YXIgYj17YW5kcm9pZEluY2x1ZGVGb250UGFkZGluZzohMX0sYz0wLGQ9W10sZT1bXSxmPVtdO2lmKGEuc2ltcGxlVGV4dClyZXR1cm4gYi5jb250ZW50PWEuc2ltcGxlVGV4dCxiO2lmKGEucnVucz09PXZvaWQgMClyZXR1cm4gYi5jb250ZW50PSIiLGI7Zm9yKGxldCBtIG9mIGEucnVucyl7dmFyIGg9bS50ZXh0O2E9aD8ubGVuZ3RoO2lmKGgmJmEpe2QucHVzaChoKTtpZihtLmJvbGR8fG0uaXRhbGljc3x8bS5zdHJpa2V0aHJvdWdofHxtLnVuZGVybGluZXx8bS50ZXh0Q29sb3IhPW51bGwmJm0udGV4dENvbG9yIT09MHx8bS5kZWVtcGhhc2l6ZSl7aD1lO3ZhciBrPWgucHVzaCxsPXtzdGFydEluZGV4OmMsbGVuZ3RoOmF9O20uYm9sZCYmKGwud2VpZ2h0TGFiZWw9IkZPTlRfV0VJR0hUX01FRElVTSIpO20uaXRhbGljcyYmKGwuaXRhbGljPSEwKTttLnN0cmlrZXRocm91Z2gmJihsLnN0cmlrZXRocm91Z2g9IkxJTkVfU1RZTEVfU0lOR0xFIik7bS51bmRlcmxpbmUmJgoobC51bmRlcmxpbmU9IkxJTkVfU1RZTEVfU0lOR0xFIik7bS50ZXh0Q29sb3IhPW51bGwmJm0udGV4dENvbG9yIT09MD9sLmZvbnRDb2xvcj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCJkYXJrIik/bS5kYXJrTW9kZVRleHRDb2xvcnx8bS50ZXh0Q29sb3I6bS50ZXh0Q29sb3I6bS5kZWVtcGhhc2l6ZSYmKGwuZm9udENvbG9yPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5oYXNBdHRyaWJ1dGUoImRhcmsiKT95RigiI2FhYSIpOnlGKCIjNjA2MDYwIikpO2suY2FsbChoLGwpfW0ubmF2aWdhdGlvbkVuZHBvaW50JiYoaD1mLGs9aC5wdXNoLGw9e3N0YXJ0SW5kZXg6YyxsZW5ndGg6YSxvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDptLm5hdmlnYXRpb25FbmRwb2ludH19LG0ubG9nZ2luZ0RpcmVjdGl2ZXMmJl8ud0YobCx6RixtLmxvZ2dpbmdEaXJlY3RpdmVzKSxrLmNhbGwoaCxsKSk7Yys9YX19Yi5jb250ZW50PWQuam9pbigiIik7Yi5zdHlsZVJ1bnM9ZS5sZW5ndGg/CmU6dm9pZCAwO2IuY29tbWFuZFJ1bnM9Zi5sZW5ndGg/Zjp2b2lkIDA7cmV0dXJuIGJ9O3lGPWZ1bmN0aW9uKGEpe3ZhciBiPXBhcnNlSW50O2lmKCFIY2EudGVzdChhKSl0aHJvdyBFcnJvcigiUGNgIithKTthLmxlbmd0aD09NCYmKGE9YS5yZXBsYWNlKEljYSwiIyQxJDEkMiQyJDMkMyIpKTtyZXR1cm4gYigiZmYiK2EudG9Mb3dlckNhc2UoKS5zdWJzdHJpbmcoMSksMTYpfTtCRj1mdW5jdGlvbihhKXtpZihhKXJldHVybiBPYmplY3QuZW50cmllcyhhKS5maWx0ZXIoKFssYl0pPT5iIT09dm9pZCAwJiZiIT09bnVsbCYmYiE9PSIiKS5tYXAoKFtiLGNdKT0+YCR7Yi5yZXBsYWNlKC8oW2EtekEtWl0pKD89W0EtWl0pL2csIiQxLSIpLnRvTG93ZXJDYXNlKCl9OiAke2N9O2ApLmpvaW4oIiIpfHx2b2lkIDB9OwpDRj1mdW5jdGlvbihhKXtpZighYT8udmFsdWV8fCFhPy51bml0KXJldHVybiIiO3N3aXRjaChhLnVuaXQpe2Nhc2UgIkRJTUVOU0lPTl9VTklUX0ZSQUNUSU9OIjp2YXIgYj0iJSI7YnJlYWs7ZGVmYXVsdDpiPSJweCJ9YT1hLnZhbHVlO2I9PT0iJSImJihhKj0xMDApO3JldHVybmAke2F9JHtifWB9O0pjYT1mdW5jdGlvbihhLGIpe3ZhciBjPXsuLi5ifTtmb3IobGV0IFtkLGVdb2YgbmV3IE1hcChbWyJvbnRvdWNoc3RhcnQiLGEub250b3VjaHN0YXJ0XSxbIm9udG91Y2hlbmQiLGEub250b3VjaGVuZF0sWyJvbnRvdWNobW92ZSIsYS5vbnRvdWNobW92ZV1dKSl7bGV0IGY9ZCxoPWU7YltmXT1rPT57Y1tmXT8uKGspO2goayl9fX07CkxjYT1mdW5jdGlvbihhLGIpe3ZhciBjPVsieXRBdHRyaWJ1dGVkU3RyaW5nTGluayJdO2I/LnVifHwoYj8uaXNPdmVybGF5P2MucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua092ZXJsYXlDYWxsVG9BY3Rpb25Db2xvciIpOmMucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0NhbGxUb0FjdGlvbkNvbG9yIiksYj8uWGEmJmMucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciIpKTtjPXtjbGFzc05hbWU6Yy5qb2luKCIgIiksdGFiaW5kZXg6IjAifTt2YXIgZD1hLm9uVGFwfHxhLm9uTG9uZ1ByZXNzO2lmKCFkKXJldHVybiBjO3ZhciBlPWEub25UYXBPcHRpb25zPy5hY2Nlc3NpYmlsaXR5SW5mbz8uYWNjZXNzaWJpbGl0eUxhYmVsO2UmJihjLmFyaWFMYWJlbD1lKTtiPV8uYkUoe2JoOmQsdXg6YyxJZDohIWI/LklkLHFkOiEwfSk7YS5vbkxvbmdQcmVzcyYmKGQ9bmV3IEtjYSgoKT0+e3ZhciBmPV8uUkQoYS5vbkxvbmdQcmVzcyk7ZiYmXy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChmKX0pLApiJiZKY2EoZCxiKSk7cmV0dXJuIGJ8fGN9O0RGPWZ1bmN0aW9uKGEpe3ZhciBiPWE7YTw9MTY3NzcyMTUmJihiKz1wYXJzZUludCgiZmYwMDAwMDAiLDE2KSk7cmV0dXJuIF8uTkQoYil9O0VGPWZ1bmN0aW9uKHtpc0RhcmtUaGVtZTphLGV4dGVuc2lvbjpiLE9yOmN9KXt2YXIgZD12b2lkIDA7aWYoYj1iPy5jb2xvck1hcCl7YT1hPyJVU0VSX0lOVEVSRkFDRV9USEVNRV9EQVJLIjoiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiO2ZvcihsZXQgZSBvZiBiKWlmKGE9PT1lLmtleSl7ZD1lLnZhbHVlO2JyZWFrfX1kPT1udWxsJiZjJiYoZD1jKTtpZihkKXJldHVybiBERihkKX07Ck5jYT1mdW5jdGlvbihhLGI9ITEpe3ZhciBjPXt9O2lmKGEudGV4dERlY29yYXRvcil7dmFyIGQ9YS50ZXh0RGVjb3JhdG9yO3ZhciBlPXt9O3ZhciBmPV8uQihkLF8uRkYpLGg9Xy5CKGQsR0YpO2lmKGYpe2Q9T2JqZWN0O2g9ZC5hc3NpZ247bGV0IGs9e307KGI9RUYoe2V4dGVuc2lvbjpfLkIoZi5oaWdobGlnaHRUZXh0RGVjb3JhdG9yRXh0ZW5zaW9ucyxNY2EpLGlzRGFya1RoZW1lOmIsT3I6Zi5iYWNrZ3JvdW5kQ29sb3J9KSkmJihrWyJiYWNrZ3JvdW5kLWNvbG9yIl09Yik7Zi5iYWNrZ3JvdW5kQ29ybmVyUmFkaXVzIT09dm9pZCAwJiYoa1siYm9yZGVyLXJhZGl1cyJdPWAke2YuYmFja2dyb3VuZENvcm5lclJhZGl1c31weGApO2YubGVmdFBhZGRpbmchPT12b2lkIDAmJihrWyJwYWRkaW5nLWxlZnQiXT1gJHtmLmxlZnRQYWRkaW5nfXB4YCk7Zi5yaWdodFBhZGRpbmchPT12b2lkIDAmJihrWyJwYWRkaW5nLXJpZ2h0Il09YCR7Zi5yaWdodFBhZGRpbmd9cHhgKTtmLnRvcFBhZGRpbmchPT0Kdm9pZCAwJiYoa1sicGFkZGluZy10b3AiXT1gJHtmLnRvcFBhZGRpbmd9cHhgKTtmLmJvdHRvbVBhZGRpbmchPT12b2lkIDAmJihrWyJwYWRkaW5nLWJvdHRvbSJdPWAke2YuYm90dG9tUGFkZGluZ31weGApO2guY2FsbChkLGUsayl9ZWxzZSBoJiYoZj1PYmplY3QsZD1mLmFzc2lnbixiPWI/IiMyYmE2NDAiOiIjMTA3NTE2IixiPWguY29sb3I/REYoaC5jb2xvcik6YixkLmNhbGwoZixlLHtwYWRkaW5nOiIycHgiLCJib3JkZXItdG9wIjpgc29saWQgJHtifSAycHhgLCJib3JkZXItYm90dG9tIjpgc29saWQgJHtifSAycHhgLGJhY2tncm91bmQ6YGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICR7Yn0gM3B4LCByZ2JhKDAsIDAsIDAsIDApIDNweCksIGxpbmVhci1ncmFkaWVudCgzMTVkZWcsICR7Yn0gM3B4LCByZ2JhKDAsIDAsIDAsIDApIDNweClgfSkpO2U9T2JqZWN0LmtleXMoZSkubGVuZ3RoIT09MD9lOnZvaWQgMDtjLnN0eWxlPWU7YT1hLnRleHREZWNvcmF0b3I7ZT1bXTtiPV8uQihhLApHRik7Xy5CKGEsXy5GRik/ZS5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdIaWdobGlnaHRUZXh0RGVjb3JhdG9yIik6YiYmZS5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdCcmFja2V0VGV4dERlY29yYXRvciIpO2E9ZS5qb2luKCIgIik7Yy5jbGFzc05hbWU9YTtjLmRpcj0iYXV0byJ9cmV0dXJuIGN9O0hGPWZ1bmN0aW9uKHtjb25maWc6YSxpbWFnZTpiLGdqOmMsT2w6ZCxydW46ZSx0YWc6Zix0ZXh0TGVuZ3RoOmgsc3RhcnRJbmRleDprPTAsbGVuZ3RoOmx9KXtrPT09dm9pZCAwJiYoaz0wKTtlPXtydW46ZSxzdGFydEluZGV4Omssd2w6bCE9PXZvaWQgMD9rK2w6aCx0YWc6Zn07YiYmKGUuaW1hZ2U9Yik7YyYmKGUuZ2o9Yyk7ZCYmKGUuT2w9ZCk7YSYmKGUuY29uZmlnPWEpO3JldHVybiBlfTsKT2NhPWZ1bmN0aW9uKGEsYil7aWYoYS53ZWlnaHQpcmV0dXJuIGEud2VpZ2h0O3N3aXRjaChhLndlaWdodExhYmVsKXtjYXNlICJGT05UX1dFSUdIVF9USElOIjpyZXR1cm4gMTAwO2Nhc2UgIkZPTlRfV0VJR0hUX0VYVFJBX0xJR0hUIjpyZXR1cm4gMjAwO2Nhc2UgIkZPTlRfV0VJR0hUX0xJR0hUIjpyZXR1cm4gMzAwO2Nhc2UgIkZPTlRfV0VJR0hUX01FRElVTSI6cmV0dXJuIDUwMDtjYXNlICJGT05UX1dFSUdIVF9TRU1JX0JPTEQiOnJldHVybiA2MDA7Y2FzZSAiRk9OVF9XRUlHSFRfQk9MRCI6cmV0dXJuIGI/OTAwOjcwMDtjYXNlICJGT05UX1dFSUdIVF9FWFRSQV9CT0xEIjpyZXR1cm4gODAwO2Nhc2UgIkZPTlRfV0VJR0hUX0JMQUNLIjpyZXR1cm4gOTAwO2RlZmF1bHQ6cmV0dXJuIDQwMH19OwpRY2E9ZnVuY3Rpb24oYSxiPSExLGMpe2I9RUYoe2V4dGVuc2lvbjpfLkIoYS5zdHlsZVJ1bkV4dGVuc2lvbnMsUGNhKSxpc0RhcmtUaGVtZTpiLE9yOmEuZm9udENvbG9yfSk7dmFyIGQ9W107YiYmZC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdMaW5rSW5oZXJpdENvbG9yIik7YS5pdGFsaWMmJmQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nSXRhbGljaXplZCIpO2EudW5kZXJsaW5lJiZhLnN0cmlrZXRocm91Z2g/ZC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdVbmRlcmxpbmVTdHJpa2V0aHJvdWdoIixJRihhLnVuZGVybGluZSkpOmEudW5kZXJsaW5lP2QucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lZCIsSUYoYS51bmRlcmxpbmUpKTphLnN0cmlrZXRocm91Z2gmJmQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nU3RyaWtldGhyb3VnaCIsSUYoYS5zdHJpa2V0aHJvdWdoKSk7aWYoYS5iYXNlbGluZU9mZnNldCl7YTpzd2l0Y2goYS5iYXNlbGluZU9mZnNldCl7Y2FzZSAiQkFTRUxJTkVfT0ZGU0VUX1NVQlNDUklQVCI6dmFyIGU9CiJ5dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFN1YnNjcmlwdCI7YnJlYWsgYTtjYXNlICJCQVNFTElORV9PRkZTRVRfU1VQRVJTQ1JJUFQiOmU9Inl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0U3VwZXJzY3JpcHQiO2JyZWFrIGE7ZGVmYXVsdDplPSJ5dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFVua25vd24ifWQucHVzaChlKX1kPWQuam9pbigiICIpO2U9e307aWYoYS53ZWlnaHR8fGEud2VpZ2h0TGFiZWwpZS5mb250V2VpZ2h0PU9jYShhLGM/LnFoKS50b1N0cmluZygpO2ImJihlLmNvbG9yPWIpO3JldHVybntjbGFzc05hbWU6ZCxzdHlsZTplfX07SUY9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkxJTkVfU1RZTEVfRE9UIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlRG90IjtjYXNlICJMSU5FX1NUWUxFX05PTkUiOnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVOb25lIjtkZWZhdWx0OnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVTaW5nbGUifX07ClJjYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiVEVYVF9BTElHTk1FTlRfTEVGVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRMZWZ0IjtjYXNlICJURVhUX0FMSUdOTUVOVF9SSUdIVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRSaWdodCI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfQ0VOVEVSIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudENlbnRlciI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfSlVTVElGSUVEIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudEp1c3RpZmllZCI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfTEFZT1VUX1NUQVJUIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudExheW91dFN0YXJ0IjtkZWZhdWx0OnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50VW5rbm93biJ9fTsKSkY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hIWJ8fCEoYS5jb21tYW5kUnVucyYmYS5jb21tYW5kUnVucy5sZW5ndGghPT0wfHxhLnBhcmFncmFwaFN0eWxlUnVucyYmYS5wYXJhZ3JhcGhTdHlsZVJ1bnMubGVuZ3RoIT09MCl9O1NjYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEucnVuOyhjLm9uVGFwIT09dm9pZCAwfHxjLm9uTG9uZ1ByZXNzIT09dm9pZCAwKSYmXy5CKGMsekYpJiZfLkp4KGIse2RhdGE6e2xvZ2dpbmdEaXJlY3RpdmVzOl8uQihjLHpGKX0sb2JzZXJ2ZXI6Xy55KCkucmVzb2x2ZShfLkx4KSxOYzpfLm5GLGViOl8ubUYsbGF5ZXI6Yi5sYXllcn0pfX07S0Y9ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKGxldCBlIG9mIGEubGMpe2lmKHR5cGVvZiBlPT09InN0cmluZyIpdGhyb3cgRXJyb3IoIlljIik7aWYoZS5zdGFydDw9YiYmYzw9ZS5lbmQpe0tGKGUsYixjLGQpO3JldHVybn19YS5sYy5wdXNoKHtkYXRhOmQsbGM6W10sc3RhcnQ6YixlbmQ6Y30pfTsKTEY9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGQ9Yi5sYy5sZW5ndGg7ZD49MDtkLS0pe2xldCBlPWIubGNbZF07dmFyIGM9Yi5sY1tkLTFdO2xldCBmPWQ9PT1iLmxjLmxlbmd0aD9iLmVuZDplLnN0YXJ0O2M9ZD09PTA/Yi5zdGFydDpjLmVuZDtmIT09YyYmYi5sYy5zcGxpY2UoZCwwLGEuc2xpY2UoYyxmKSk7ZSYmTEYoYSxlKX19O1RjYT1mdW5jdGlvbihhKXthLnNvcnQoKGIsYyk9PntpZihiLnN0YXJ0SW5kZXg8Yy5zdGFydEluZGV4KXJldHVybi0xO2lmKGMuc3RhcnRJbmRleDxiLnN0YXJ0SW5kZXgpcmV0dXJuIDE7Yj1iLndsLWIuc3RhcnRJbmRleDtjPWMud2wtYy5zdGFydEluZGV4O3JldHVybiBiPmM/LTE6Yz5iPzE6MH0pfTsKTUY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWI/ITA6YT09PXZvaWQgMHx8Yj09PXZvaWQgMD8hMTpfLngoIndlYl9hdHRyaWJ1dGVkX3N0cmluZ19kZWVwX2VxdWFsX2J1Z2ZpeCIpP3ZGKGEsYik6YS5jb250ZW50PT09Yi5jb250ZW50JiZhLnN0eWxlUnVucz8ubGVuZ3RoPT09Yi5zdHlsZVJ1bnM/Lmxlbmd0aCYmYS5jb21tYW5kUnVucz8ubGVuZ3RoPT09Yi5jb21tYW5kUnVucz8ubGVuZ3RoJiZhLmF0dGFjaG1lbnRSdW5zPy5sZW5ndGg9PT1iLmF0dGFjaG1lbnRSdW5zPy5sZW5ndGgmJmEuZGVjb3JhdGlvblJ1bnM/Lmxlbmd0aD09PWIuZGVjb3JhdGlvblJ1bnM/Lmxlbmd0aH07VWNhPWZ1bmN0aW9uKHtsYzphfSl7cmV0dXJuIGEubWFwKE5GKX07Ck5GPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIGE7dmFyIGI9YS5kYXRhO2IuaW1hZ2UhPT12b2lkIDAmJmIuZ2ohPT12b2lkIDA/KGI9YS5kYXRhLk9sLGE9Xy5LKCJzcGFuIix7Y2xhc3M6Yj8uY2xhc3NOYW1lLHN0eWxlOkJGKGI/LnN0eWxlKSxkaXI6Yj8uZGlyLHJvbGU6Yj8ucm9sZSx0YWJpbmRleDpiPy50YWJpbmRleCE9PXZvaWQgMD9OdW1iZXIoYi50YWJpbmRleCk6dm9pZCAwLCJmb3JjZS1uZXctc3RhdGUiOmI/LnFkLCJvbjpjbGljayI6Yj8ub25jbGljaywib246dG91Y2hlbmQiOmI/Lm9udG91Y2hlbmQsIm9uOnRvdWNobW92ZSI6Yj8ub250b3VjaG1vdmUsIm9uOnRvdWNoc3RhcnQiOmI/Lm9udG91Y2hzdGFydH0sXy5LKF8uakYse2RhdGE6YS5kYXRhLmltYWdlLC4uLmEuZGF0YS5nan0pKSk6KGI9YS5kYXRhLmNvbmZpZyxhPV8uSyhhLmRhdGEudGFnLHtlbDpfLnJGKFNjYShhLmRhdGEpKSwicHJvcDpfZGF0YSI6Yj8ubnUsInByb3A6cGFyYW1zIjpiPy5wYXJhbXMsCmNsYXNzOmI/LmNsYXNzTmFtZSxzdHlsZTpCRihiPy5zdHlsZSksZGlyOmI/LmRpcixocmVmOmI/LmhyZWYscmVsOmI/LnJlbCxyb2xlOmI/LnJvbGUsdGFyZ2V0OmI/LnRhcmdldCx0aXRsZTpiPy50aXRsZSx0YWJpbmRleDpiPy50YWJpbmRleCE9PXZvaWQgMD9OdW1iZXIoYi50YWJpbmRleCk6dm9pZCAwLCJhcmlhLWhhc3BvcHVwIjpiPy5hcmlhSGFzUG9wdXAsImZvcmNlLW5ldy1zdGF0ZSI6Yj8ucWQsImFyaWEtaGlkZGVuIjpiPy5hcmlhSGlkZGVuLCJhcmlhLWV4cGFuZGVkIjpiPy5hcmlhRXhwYW5kZWQsImFyaWEtbGFiZWwiOmI/LmFyaWFMYWJlbCwib246Y2xpY2siOmI/Lm9uY2xpY2ssIm9uOnRvdWNoZW5kIjpiPy5vbnRvdWNoZW5kLCJvbjp0b3VjaG1vdmUiOmI/Lm9udG91Y2htb3ZlLCJvbjp0b3VjaHN0YXJ0IjpiPy5vbnRvdWNoc3RhcnQsIm9uOnBvaW50ZXJkb3duIjpiPy5vbnBvaW50ZXJkb3duLCJvbjprZXlkb3duIjpiPy5vbmtleWRvd259LGEubGMubWFwKE5GKSkpOwpyZXR1cm4gXy5mQyhhKX07VmNhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iPyEwOmE9PT12b2lkIDB8fGI9PT12b2lkIDA/ITE6YS5Daj09PWIuQ2omJmEudWI9PT1iLnViJiZhLm1hPT09Yi5tYSYmYS5oZWFkZXJSdW5zPT09Yi5oZWFkZXJSdW5zJiZhLmlzT3ZlcmxheT09PWIuaXNPdmVybGF5JiZhLlhhPT09Yi5YYSYmYS51c2VySW5wdXQ9PT1iLnVzZXJJbnB1dCYmYS5xaD09PWIucWh9O1djYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+KHthcmlhTGFiZWw6YS5hcmlhTGFiZWw/LigpLGNsYXNzTmFtZTphLmNsYXNzTmFtZT8uKCkseWM6YS55Yz8uKCksaXNPdmVybGF5OmEuaXNPdmVybGF5Py4oKSxYYTphLlhhPy4oKSxtYTphLm1hPy4oKSxDajphLkNqPy4oKSx1YjphLnViPy4oKSxyZzphLnJnPy4oKSxub1dyYXA6YS5ub1dyYXA/LigpLElkOmEuSWQ/LigpLHVzZXJJbnB1dDphLnVzZXJJbnB1dD8uKCksaGVhZGVyUnVuczphLmhlYWRlclJ1bnM/LigpLHFoOmEucWg/LigpfSl9OwpJY2E9LyMoLikoLikoLikvO0hjYT0vXiMoPzpbMC05YS1mXXszfSl7MSwyfSQvaTtfLlhjYT1uZXcgXy5JKCJlbW9qaSIpO3ZhciB6Rj1uZXcgXy5JKCJsb2dnaW5nRGlyZWN0aXZlcyIpO18uWWNhPW5ldyBfLkkoInVucGx1Z2dlZFN0cmluZ1J1bkltYWdlIik7dmFyIE1jYT1uZXcgXy5JKCJoaWdobGlnaHRUZXh0RGVjb3JhdG9yQ29sb3JNYXBFeHRlbnNpb24iKTt2YXIgUGNhPW5ldyBfLkkoInN0eWxlUnVuQ29sb3JNYXBFeHRlbnNpb24iKTt2YXIgWmNhPW5ldyBfLkkoImFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzIik7dmFyIEdGPW5ldyBfLkkoImJyYWNrZXRUZXh0RGVjb3JhdG9yIik7Xy5GRj1uZXcgXy5JKCJoaWdobGlnaHRUZXh0RGVjb3JhdG9yIik7dmFyICRjYT1uZXcgXy5JKCJpbWFnZVR5cGUiKTt2YXIgYWRhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5EPTUwMDt0aGlzLmo9TmFOO3RoaXMudj10aGlzLm89ITE7dGhpcy5CPWE9Pnt2YXIgYj1uZXcgQ3VzdG9tRXZlbnQoIkxPTkdfUFJFU1MiKTthLmNoYW5nZWRUb3VjaGVzWzBdLnRhcmdldD8uZGlzcGF0Y2hFdmVudChiKX07dGhpcy5vbnRvdWNoc3RhcnQ9YT0+e3RoaXMuaj1fLnF4KF8uamYsKCk9Pnt0aGlzLkIoYSk7dGhpcy5vPSEwfSx0aGlzLkQpfTt0aGlzLm9udG91Y2htb3ZlPSgpPT57Xy5qZi5BYSh0aGlzLmopO3RoaXMuaj1OYU47dGhpcy5vPSExO3RoaXMudj0hMH07dGhpcy5vbnRvdWNoZW5kPWE9Pnt0aGlzLmomJiF0aGlzLm8mJiF0aGlzLnYmJmEuY2hhbmdlZFRvdWNoZXNbMF0udGFyZ2V0Py5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiY2xpY2siKSk7Xy5qZi5BYSh0aGlzLmopO3RoaXMuaj1OYU47dGhpcy52PXRoaXMubz0hMX19fTt2YXIgS2NhPWNsYXNzIGV4dGVuZHMgYWRhe2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5jYWxsYmFjaz1hO3RoaXMuQj1iPT57dGhpcy5jYWxsYmFjaz8uKGIpfX19O3ZhciBiZGE7YmRhPV8ueCgiYWxsb3dfbmVzdGVkX3JlbmRlcl9rcyIpP3ZvaWQgMDp7SWs6Xy5YQ307Cl8uVj1fLkwoYT0+e3ZhciBiPVdjYShhKSxjPWU9Pnt2YXIgZixoLGs9Xy5yRihwPT57Zj1lKCk7aD1fLnV2KCgpPT57Zm9yKHZhciByIG9mIG0oKSl7bGV0IHQ9TkYocik7dD10eXBlb2YgdD09PSJzdHJpbmciP2RvY3VtZW50LmNyZWF0ZVRleHROb2RlKHQpOnQ7aWYoISh0IGluc3RhbmNlb2YgTm9kZSkpe3I9bmV3IF8uWGooIlBhcnQgaXMgbm90IGEgbm9kZSIsdCx0eXBlb2YgdCk7Xy5HcChyKTticmVha31wLmFwcGVuZENoaWxkKHQpfX0pfSksbD1fLnVGKGIse2lzRXF1YWw6VmNhfSksbT0oKT0+e3ZhciBwPWUoKSxyPWwoKSx0PVtdLHY9cC5jb250ZW50Lmxlbmd0aCx6PV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpO2lmKHAucGFyYWdyYXBoU3R5bGVSdW5zKWZvcihsZXQgTSBvZiBwLnBhcmFncmFwaFN0eWxlUnVucyl7dmFyIEU9dCxBPUUucHVzaDthOntpZighTS5saXN0R3JvdXA/Lmxpc3RJdGVtcyl7dmFyIEY9W107YnJlYWsgYX1GPVtdO2I6c3dpdGNoKE0ubGlzdEdyb3VwLmxpc3RUeXBlKXtjYXNlICJMSVNUX1RZUEVfQlVMTEVUIjp2YXIgQz0KInVsIjticmVhayBiO2RlZmF1bHQ6Qz0ic3BhbiJ9Ri5wdXNoKEhGKHtydW46TSx0ZXh0TGVuZ3RoOnYsdGFnOkMsY29uZmlnOntjbGFzc05hbWU6Inl0QXR0cmlidXRlZFN0cmluZ0xpc3RHcm91cCJ9LHN0YXJ0SW5kZXg6TS5zdGFydEluZGV4LGxlbmd0aDpNLmxlbmd0aH0pKTtmb3IobGV0IFMgb2YgTS5saXN0R3JvdXAubGlzdEl0ZW1zKXtiOnN3aXRjaChNLmxpc3RHcm91cC5saXN0VHlwZSl7Y2FzZSAiTElTVF9UWVBFX0JVTExFVCI6Qz0ibGkiO2JyZWFrIGI7ZGVmYXVsdDpDPSJzcGFuIn1GLnB1c2goSEYoe3J1bjpNLHRleHRMZW5ndGg6dix0YWc6QyxzdGFydEluZGV4OlMuc3RhcnRJbmRleCxsZW5ndGg6Uy5sZW5ndGh9KSl9fUEuY2FsbChFLC4uLkYpfWlmKHAuc3R5bGVSdW5zJiYhcj8uQ2opZm9yKHZhciBHIG9mIHAuc3R5bGVSdW5zKUU9UWNhKEcseixyKSx0LnB1c2goSEYoe3J1bjpHLHRleHRMZW5ndGg6dix0YWc6InNwYW4iLGNvbmZpZzpFLHN0YXJ0SW5kZXg6Ry5zdGFydEluZGV4LApsZW5ndGg6Ry5sZW5ndGh9KSk7aWYocC5kZWNvcmF0aW9uUnVucylmb3IodmFyIEQgb2YgcC5kZWNvcmF0aW9uUnVucylHPU5jYShELHopLEU9Xy5CKEQudGV4dERlY29yYXRvcixHRiksQT1fLkIoRC50ZXh0RGVjb3JhdG9yLEdGKSx0LnB1c2goSEYoe3J1bjpELHRleHRMZW5ndGg6dix0YWc6InNwYW4iLGNvbmZpZzpHLHN0YXJ0SW5kZXg6Xy5CKEQudGV4dERlY29yYXRvcixfLkZGKT8uc3RhcnRJbmRleHx8RT8uc3RhcnRJbmRleHx8MCxsZW5ndGg6Xy5CKEQudGV4dERlY29yYXRvcixfLkZGKT8ubGVuZ3RofHxBPy5sZW5ndGh8fDB9KSk7aWYocC5jb21tYW5kUnVucyYmIXI/Lm1hKWZvcih2YXIgSCBvZiBwLmNvbW1hbmRSdW5zKXo9TGNhKEgsciksdC5wdXNoKEhGKHtydW46SCx0ZXh0TGVuZ3RoOnYsdGFnOiJhIixjb25maWc6eixzdGFydEluZGV4Okguc3RhcnRJbmRleCxsZW5ndGg6SC5sZW5ndGh9KSk7aWYocC5hdHRhY2htZW50UnVucylmb3IobGV0IE0gb2YgcC5hdHRhY2htZW50UnVucyl7cD0Ke2NsYXNzTmFtZToieXRBdHRyaWJ1dGVkU3RyaW5nSW5saW5lQmxvY2tNb2QifTtNLmVsZW1lbnQ/LnByb3BlcnRpZXMmJihIPXt9LHo9Xy5CKE0uZWxlbWVudD8ucHJvcGVydGllcyxfLmhFKSx6Py5tYXJnaW4mJih6PXoubWFyZ2luLEQ9KEc9Xy53KCJIVE1MX0RJUiIpPT09InJ0bCJ8fGRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCJkaXIiKT09PSJydGwiKT96LmVuZHx8ei5yaWdodDp6LnN0YXJ0fHx6LmxlZnQsRz1HP3ouc3RhcnR8fHoubGVmdDp6LmVuZHx8ei5yaWdodCxEJiYoSFsibWFyZ2luLWxlZnQiXT1DRihEKSksRyYmKEhbIm1hcmdpbi1yaWdodCJdPUNGKEcpKSx6LnRvcCYmKEhbIm1hcmdpbi10b3AiXT1DRih6LnRvcCkpLHouYm90dG9tJiYoSFsibWFyZ2luLWJvdHRvbSJdPUNGKHouYm90dG9tKSkpLEg9T2JqZWN0LmtleXMoSCkubGVuZ3RoIT09MD9IOnZvaWQgMCxwLnN0eWxlPUgpO0g9e2FsdDoiIixZYTohMCxUYTohMH07ej1bInl0QXR0cmlidXRlZFN0cmluZ0ltYWdlRWxlbWVudCJdOwppZihNLmFsaWdubWVudCl7YTpzd2l0Y2goTS5hbGlnbm1lbnQpe2Nhc2UgIkFMSUdOTUVOVF9CQVNFTElORSI6RD0ieXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRCYXNlbGluZSI7YnJlYWsgYTtjYXNlICJBTElHTk1FTlRfVkVSVElDQUxfQ0VOVEVSIjpEPSJ5dEF0dHJpYnV0ZWRTdHJpbmdJbWFnZUFsaWdubWVudFZlcnRpY2FsQ2VudGVyIjticmVhayBhO2RlZmF1bHQ6RD0ieXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRCb3R0b20ifXoucHVzaChEKX1NLmVsZW1lbnQ/LnByb3BlcnRpZXMmJihEPXt9LEc9Xy5CKE0uZWxlbWVudC5wcm9wZXJ0aWVzLF8uaEUpLEc/LmhlaWdodCYmKEQuaGVpZ2h0PUNGKEcuaGVpZ2h0KSksRz8ud2lkdGgmJihELndpZHRoPUNGKEcud2lkdGgpKSxEPU9iamVjdC5rZXlzKEQpLmxlbmd0aCE9PTA/RDp2b2lkIDAsSC5zdHlsZT1CRihEKSxILmFsdD1fLkIoTS5lbGVtZW50LnByb3BlcnRpZXMsWmNhKT8ubGFiZWx8fCIiKTtILmNsYXNzTmFtZT0Kei5qb2luKCIgIik7ej1NLmVsZW1lbnQ/LnR5cGU/Xy5CKE0uZWxlbWVudC50eXBlLCRjYSk/LmltYWdlOnZvaWQgMDt0LnB1c2goSEYoe3J1bjpNLHRleHRMZW5ndGg6dix0YWc6ImltZyIsaW1hZ2U6eixnajpILE9sOnAsc3RhcnRJbmRleDpNLnN0YXJ0SW5kZXgsbGVuZ3RoOk0ubGVuZ3RoPz8wfSkpfWlmKHI/LmhlYWRlclJ1bnMpZm9yKHZhciBSIG9mIHIuaGVhZGVyUnVucylpZihSLmhlYWRlck1hcHBpbmcmJlsiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18xIiwiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18yIiwiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18zIl0uaW5jbHVkZXMoUi5oZWFkZXJNYXBwaW5nKSl7YTp7c3dpdGNoKFIuaGVhZGVyTWFwcGluZyl7Y2FzZSAiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18xIjpyPSJ5dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMSI7CmJyZWFrIGE7Y2FzZSAiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18yIjpyPSJ5dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMiI7YnJlYWsgYTtjYXNlICJBVFRSSUJVVEVEX1NUUklOR19IRUFERVJfTUFQUElOR19IRUFESU5HXzMiOnI9Inl0QXR0cmlidXRlZFN0cmluZ0hlYWRpbmczIjticmVhayBhfXI9dm9pZCAwfXQucHVzaChIRih7cnVuOlIsdGV4dExlbmd0aDp2LHRhZzoic3BhbiIsY29uZmlnOnI/e2NsYXNzTmFtZTpyfTp2b2lkIDAsc3RhcnRJbmRleDpSLnN0YXJ0SW5kZXgsbGVuZ3RoOlIubGVuZ3RofSkpfWlmKGwoKT8udXNlcklucHV0KWZvcihsZXQgTSBvZiB0KXtpZihNLnRhZz09PSJhInx8TS50YWc9PT0ibGkiKWNvbnRpbnVlO2xldCBTOyhTPU0pLmNvbmZpZ3x8KFMuY29uZmlnPXt9KTtNLnRhZz09PSJ1bCI/TS5jb25maWcuZGlyPV8ueSgpLnJlc29sdmUoXy5sRik6TS5jb25maWcuZGlyPSJhdXRvIn1pZihlKCkuY29udGVudCl7dj1lKCkuY29udGVudDsKVGNhKHQpO1I9e2RhdGE6bnVsbCxzdGFydDowLGVuZDp2Lmxlbmd0aCxsYzpbXX07Zm9yKGxldCBNIG9mIHQpS0YoUixNLnN0YXJ0SW5kZXgsTS53bCxNKTtMRih2LFIpO3Q9Ui5sY31lbHNlIHQ9W107cmV0dXJuIHR9LG49ITA7Xy5uRSgoKT0+e2UoKTtsKCk7aWYobiYmKG49ITEsTUYoZSgpLGYpKSlyZXR1cm47dmFyIHA9bSgpO1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt2YXIgcj1rLnZhbHVlO3ImJihyLmlubmVyVGV4dD0iIixoPy4oKSxoPV8ueEYociwoKT0+Xy5LKFVjYSx7bGM6cH0pLGJkYSkpfSl9LCJ2Mlowb2UiKTtyZXR1cm4gXy5LKCJzcGFuIix7ZWw6ayxjbGFzczooKT0+e3ZhciBwO2lmKHA9ZSgpKXtwPWUoKTt2YXIgcj1iKCk7bGV0IHQ9W107dC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdIb3N0Iik7cj8uY2xhc3NOYW1lJiZ0LnB1c2gocj8uY2xhc3NOYW1lKTtyPy55Yz90LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0VsbGlwc2lzVHJ1bmNhdGUiKTpyPy5ub1dyYXA/CnQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nV2hpdGVTcGFjZU5vV3JhcCIpOnI/LnJnfHx0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1doaXRlU3BhY2VQcmVXcmFwIik7cj8uWGEmJnQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciIpO3AuYWxpZ25tZW50JiZ0LnB1c2goUmNhKHAuYWxpZ25tZW50KSk7cC5saW5lQnJlYWtNb2RlJiZ0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1dvcmRXcmFwcGluZyIpO3A9dC5qb2luKCIgIil9cmV0dXJuIHB9LHN0eWxlOmEuc3R5bGUsZGlyOigpPT5iKCkudXNlcklucHV0PyJhdXRvIjp2b2lkIDAsImFyaWEtbGFiZWwiOigpPT5KRihlKCksYigpLmFyaWFMYWJlbCk/YigpLmFyaWFMYWJlbDp2b2lkIDAscm9sZTooKT0+SkYoZSgpLGIoKS5hcmlhTGFiZWwpPyJ0ZXh0Ijp2b2lkIDB9KX0sZD1fLnVGKCgpPT57dmFyIGU9YS50ZXh0Py4oKTtpZihlKXJldHVybiBlPWU/LmNvbnRlbnQhPT12b2lkIDA/ZTpfLkFGKGUpLAplPy5jb250ZW50P2U6dm9pZCAwfSx7aXNFcXVhbDpNRn0pO3JldHVybiBhLll1P2MoZCk6Xy5LKF8uTyx7QTpkLHRoZW46Y30pfSwicSIpO18uVi5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUUo7UUo9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4gbnVsbDthPU9iamVjdC5rZXlzKGEpO2ZvcihsZXQgYyBvZiBhKWlmKGE9Yy50b0xvd2VyQ2FzZSgpLGEuaW5kZXhPZihiLGEubGVuZ3RoLWIubGVuZ3RoKT4tMSlyZXR1cm4gYztyZXR1cm4gbnVsbH07Xy5SSj1mdW5jdGlvbihhKXt2YXIgYj1RSihhLCJhY3Rpb24iKXx8UUooYSwiY29tbWFuZCIpfHxRSihhLCJlbmRwb2ludCIpO2lmKCFiKXJldHVybiBudWxsO3t2YXIgYz0ieXQiK2I7bGV0IGQ9Xy5QSi5nZXQoYyk7ZD9jPWQ6KGI9YHl0LSR7Yi5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCl9YCxfLlBKLnNldChjLGIpLGM9Yil9Xy5CKGEsXy5OSikmJihjKz0iLSIrXy5CKGEsXy5OSikuc2lnbmFsLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXy9nLCItIikpO3JldHVybiBjfTtfLlNKPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPW5ldyBNYXB9fTtfLndhKF8uU0opOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRmRhLEdkYSxDSCxIZGEsREgsRUgsRkgsSWRhO0ZkYT1mdW5jdGlvbihhLGI9MCxjPS0xKXtpZighYS50b3RhbExlbmd0aHx8IWMpcmV0dXJuIG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMCkpO2M8MCYmKGM9YS50b3RhbExlbmd0aC1iKTthLmZvY3VzKGIpO2lmKCEoYi1hLnYrYzw9YS5qW2Eub10ubGVuZ3RoKSl7dmFyIGQ9YS5vLGU9YS52O2EuZm9jdXMoYitjLTEpO2U9bmV3IFVpbnQ4QXJyYXkoYS52K2EualthLm9dLmxlbmd0aC1lKTtsZXQgZj0wO2ZvcihsZXQgaD1kO2g8PWEubztoKyspZS5zZXQoYS5qW2hdLGYpLGYrPWEualtoXS5sZW5ndGg7YS5qLnNwbGljZShkLGEuby1kKzEsZSk7YS5vPTA7YS52PTA7YS5mb2N1cyhiKX1kPWEualthLm9dO3JldHVybiBuZXcgRGF0YVZpZXcoZC5idWZmZXIsZC5ieXRlT2Zmc2V0K2ItYS52LGMpfTsKR2RhPWZ1bmN0aW9uKGEsYj0wLGM9LTEpe2E9RmRhKGEsYixjKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsYS5ieXRlT2Zmc2V0LGEuYnl0ZUxlbmd0aCl9O0NIPWZ1bmN0aW9uKGEsYil7YS5mb2N1cyhiKTtyZXR1cm4gYS5qW2Eub11bYi1hLnZdfTsKSGRhPWZ1bmN0aW9uKGEpe2lmKCFhLmxlbmd0aClyZXR1cm4iIjt0cnl7aWYoXy5zQSlyZXR1cm4gXy5zQS5kZWNvZGUoYSk7aWYodHlwZW9mIEZldGNoSW50ZXJuYWwhPT0idW5kZWZpbmVkIilyZXR1cm4gRmV0Y2hJbnRlcm5hbC5kZWNvZGVGcm9tVVRGOChhKX1jYXRjaHt9Zm9yKHZhciBiPTAsYz1bXSxkPWEubGVuZ3RoO2I8ZDspe2xldCBmPTA7Zm9yKDtmPDEwMjQmJmI8ZDspe3ZhciBlPWFbYisrXTtpZihlPDEyOCl7Xy5yQVtmKytdPWU7Y29udGludWV9aWYoZTwyMjQpZT0oZSYzMSk8PDZ8YVtiKytdJjYzO2Vsc2UgaWYoZTwyNDApZT0oZSYxNSk8PDEyfChhW2IrK10mNjMpPDw2fGFbYisrXSY2MztlbHNle2lmKGYrMT09PTEwMjQpey0tYjticmVha31lPShlJjcpPDwxOHwoYVtiKytdJjYzKTw8MTJ8KGFbYisrXSY2Myk8PDZ8YVtiKytdJjYzO2UtPTY1NTM2O18uckFbZisrXT01NTI5NnxlPj4xMDtlPTU2MzIwfGUmMTAyM31fLnJBW2YrK109ZX1lPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLApfLnJBKTtmPDEwMjQmJihlPWUuc3Vic3RyaW5nKDAsZikpO2MucHVzaChlKX1yZXR1cm4gYy5qb2luKCIiKX07REg9ZnVuY3Rpb24oYSl7dmFyIGI9Q0goYS5qLGEucG9zKTsrK2EucG9zO2lmKGI8MTI4KXJldHVybiBiO2Zvcih2YXIgYz1iJjEyNyxkPTE7Yj49MTI4OyliPUNIKGEuaixhLnBvcyksKythLnBvcyxkKj0xMjgsYys9KGImMTI3KSpkO3JldHVybiBjfTtFSD1mdW5jdGlvbihhLGIpe3ZhciBjPWEubztmb3IoYS5vPS0xO2EucG9zKzE8PWEuai50b3RhbExlbmd0aDspe2M8MCYmKGM9REgoYSkpO3ZhciBkPWM+PjM7bGV0IGU9YyY3O2lmKGQ9PT1iKXJldHVybiEwO2lmKGQ+Yil7YS5vPWM7YnJlYWt9Yz0tMTtzd2l0Y2goZSl7Y2FzZSAwOkRIKGEpO2JyZWFrO2Nhc2UgMTphLnBvcys9ODticmVhaztjYXNlIDI6ZD1ESChhKTthLnBvcys9ZDticmVhaztjYXNlIDU6YS5wb3MrPTR9fXJldHVybiExfTsKXy5HSD1mdW5jdGlvbihhKXthPW5ldyBJZGEobmV3IEZIKFtfLnVjKGRlY29kZVVSSUNvbXBvbmVudChhKSldKSk7aWYoRUgoYSwyKSl7dmFyIGI9REgoYSk7dmFyIGM9R2RhKGEuaixhLnBvcyxiKTthLnBvcys9YjtiPWN9ZWxzZSBiPXZvaWQgMDtiPWI/SGRhKGIpOnZvaWQgMDthPUVIKGEsNCk/REgoYSk6dm9pZCAwO2M9Xy52QVthXTtpZih0eXBlb2YgYz09PSJ1bmRlZmluZWQiKXRocm93IGE9bmV3IF8uWGooIkZhaWxlZCB0byByZWNvZ25pemUgZmllbGQgbnVtYmVyIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLFdJOmF9KSxfLkdwKGEpLGE7cmV0dXJue1JJOmEsZW50aXR5VHlwZTpjLGVudGl0eUlkOmJ9fTtfLkhIPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywicGxheWVyU3RhdGVFbnRpdHkiLGIpfTtfLklIPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywiYm9vbGVhbkVudGl0eSIsYil9OwpGSD1jbGFzc3tjb25zdHJ1Y3RvcihhPVtdKXt0aGlzLmo9W107dGhpcy50b3RhbExlbmd0aD10aGlzLnY9dGhpcy5vPTA7YS5mb3JFYWNoKGI9Pnt0aGlzLmFwcGVuZChiKX0pfWFwcGVuZChhKXt2YXIgYj10aGlzLmoubGVuZ3RoPT09MD8hMTooYj10aGlzLmpbdGhpcy5qLmxlbmd0aC0xXSkmJmIuYnVmZmVyPT09YS5idWZmZXImJmIuYnl0ZU9mZnNldCtiLmxlbmd0aD09PWEuYnl0ZU9mZnNldDtiPyhiPXRoaXMualt0aGlzLmoubGVuZ3RoLTFdLHRoaXMualt0aGlzLmoubGVuZ3RoLTFdPW5ldyBVaW50OEFycmF5KGIuYnVmZmVyLGIuYnl0ZU9mZnNldCxiLmxlbmd0aCthLmxlbmd0aCksdGhpcy52PXRoaXMubz0wKTp0aGlzLmoucHVzaChhKTt0aGlzLnRvdGFsTGVuZ3RoKz1hLmxlbmd0aH1zcGxpdChhKXt2YXIgYj1uZXcgRkgsYz1uZXcgRkg7Zm9yKGxldCBkIG9mIHRoaXMuailhPj1kLmxlbmd0aD8oYi5hcHBlbmQoZCksYS09ZC5sZW5ndGgpOmE/KGIuYXBwZW5kKG5ldyBVaW50OEFycmF5KGQuYnVmZmVyLApkLmJ5dGVPZmZzZXQsYSkpLGMuYXBwZW5kKG5ldyBVaW50OEFycmF5KGQuYnVmZmVyLGQuYnl0ZU9mZnNldCthLGQubGVuZ3RoLWEpKSxhPTApOmMuYXBwZW5kKGQpO3JldHVybntqSjpiLGJMOmN9fWlzRm9jdXNlZChhKXtyZXR1cm4gYT49dGhpcy52JiZhPHRoaXMudit0aGlzLmpbdGhpcy5vXS5sZW5ndGh9Zm9jdXMoYSl7aWYoIXRoaXMuaXNGb2N1c2VkKGEpKWZvcihhPHRoaXMudiYmKHRoaXMudj10aGlzLm89MCk7dGhpcy52K3RoaXMualt0aGlzLm9dLmxlbmd0aDw9YSYmdGhpcy5vPHRoaXMuai5sZW5ndGg7KXRoaXMudis9dGhpcy5qW3RoaXMub10ubGVuZ3RoLHRoaXMubys9MX19O0lkYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YTt0aGlzLnBvcz0wO3RoaXMubz0tMX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgSmVhLGFLO0plYT1mdW5jdGlvbihhLGIpe3ZhciBjPVpKLGQ9Xy5qZi5HYSgoKT0+e2MuUyh7dGV4dDpiLnRleHQsbG9jYXRpb246JEosYW5jaG9yOmEsb2Zmc2V0OmIub2Zmc2V0LHN0eWxlOmIuc3R5bGUsaG90a2V5OmIuaG90a2V5fSk7Yy5vKCEwKX0sNCxiLmRlbGF5KTtjLmooZCl9O2FLPWZ1bmN0aW9uKCl7dmFyIGE9WkosYj1hLnYoKTtiJiYoXy5qZi5BYShiKSxhLmoodm9pZCAwKSk7YS5vKCExKX07Cl8uYks9ZnVuY3Rpb24oYSxiKXt2YXIgW2MsZF09Xy5BQygoKT0+YSgpPz9iPy4oKT8udGV4dCk7cmV0dXJuW2U9Pnt2YXIgZj1fLk4oKCk9Pih7bG9jYXRpb246ImJvdHRvbSIsb2Zmc2V0OjE2LGRlbGF5OjEsLi4uYj8uKCksdGV4dDpjKCk/PyIifSksdm9pZCAwLCJJSlUzOGQiKTtfLm5FKCgpPT57dmFyIGw9ZigpO18uRUEoKCk9PntfLmpmLkdhKCgpPT57Wkoubm90aWZ5KGUsbCl9LDQpfSl9LCJXbHNnWmMiKTt2YXIgaD0oKT0+e0plYShlLGYoKSl9LGs9KCk9PnthSygpfTtlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGgpO2UuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgpO2UuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsayk7ZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIixrKTtlLmFkZEV2ZW50TGlzdGVuZXIoInRhcCIsayk7Xy5ZdSgoKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsaCk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwKayk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsaCk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixrKTtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRhcCIsayk7YUsoKX0pfSxkXX07dmFyICRKPXtsZWZ0OiIwcHgiLHJpZ2h0OiJhdXRvIix0b3A6Ii0xMDBweCIsYm90dG9tOiJhdXRvIn07dmFyIFpKPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe1t0aGlzLnN0YXRlLHRoaXMuU109Xy5KKHZvaWQgMCx2b2lkIDAsIkxma3hvZiIpO1t0aGlzLnNob3csdGhpcy5vXT1fLkooITEsdm9pZCAwLCJrMUZrb2UiKTtbdGhpcy52LHRoaXMual09Xy5KKHZvaWQgMCx2b2lkIDAsIlVsOE1JYyIpfW5vdGlmeShhLGIpe3RoaXMuc3RhdGUoKT8uYW5jaG9yPT09YSYmdGhpcy5TKHt0ZXh0OmIudGV4dCxsb2NhdGlvbjokSixhbmNob3I6YSxvZmZzZXQ6Yi5vZmZzZXQsc3R5bGU6Yi5zdHlsZSxob3RrZXk6Yi5ob3RrZXl9KX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmNLPW5ldyBfLkkoInRvb2x0aXBWaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5kSz1mdW5jdGlvbihhLGIpe18uYUUoYSx7Li4uYixQcDohMH0pfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFRiYTtUYmE9ZnVuY3Rpb24oYSxiKXt2YXIgW2MsZF09Xy5KKCExLHZvaWQgMCwibU55d3pjIiksZT0hMSxmLGg9az0+e2lmKGYpcmV0dXJuIF8uSyhmLHsuLi5rfSk7aWYoIWUpe2xldCBsPWEoKTtlPSEwO2lmKGwgaW5zdGFuY2VvZiBQcm9taXNlKXtsZXQgbT1fLmFEO20/LnN1KCk7bC50aGVuKG49PntmPW47ZCghMCk7bT8uSHIoKX0pLmNhdGNoKG49PnttPy5IcigpO2lmKGI/LmRlYnVnTmFtZSl7dmFyIHA9bmV3IF8uWGooImZhaWxlZCB0byBsb2FkIGNodW5rIixiLmRlYnVnTmFtZSxuPy50b1N0cmluZz8uKCkpO18uR3AocCl9ZWxzZSBfLkdwKG4pO3Rocm93IG47fSl9ZWxzZSByZXR1cm4gZj1sLF8uSyhmLHsuLi5rfSl9cmV0dXJuIF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoZix7Li4ua30pfSl9O18uYkQuc2V0KGgsYSk7cmV0dXJuIGh9O18uY0Q9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVGJhKGEsYj97ZGVidWdOYW1lOmJ9OnZvaWQgMCl9O18uSkQ9bmV3IF8uVnMoIkNIVU5LX1JFR0lTVFJZX1RPS0VOIik7Xy5iRD1uZXcgV2Vha01hcDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5lSz1uZXcgXy5WcygiTElHSFRfRUZGRUNUX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBLZWE7Xy5mSz1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj0iIjtmb3IobGV0IGMgb2YgS2VhKWlmKGEuZW5kc1dpdGgoYykpe2I9YS5zbGljZSgwLC1jLmxlbmd0aCk7YnJlYWt9aWYoYiYmKGE9TnVtYmVyKGIpLCFpc05hTihhKSkpcmV0dXJuIGF9fTtLZWE9WyJyZW0iLCJweCIsIm1zIiwiJSIsInMiXTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEtkYSxSSDtfLlFIPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUEgoKTtyZXR1cm4gS2RhKGEsYil9O18uUEg9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oUkgpKSxbYixjXT1fLkooYSx2b2lkIDAsInpMSVlSYyIpO2F8fF8uWXQoUkgsYyk7cmV0dXJuIGJ9O0tkYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLk4oKCk9Pnt2YXIgYz1hKCk7cmV0dXJuIGM/YigpPy4oYyk6dm9pZCAwfSx2b2lkIDAsImVReGhtYiIpfTtSSD1uZXcgXy5WcygiU0VNQU5USUNfTEFZT1VUX1JFU09MVkVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaUs9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJPdEtTSmUiKTtyZXR1cm4gXy5VQ307Xy5qSz1fLmNEKCgpPT5fLmlLKCksInRvdWNoRmVlZGJhY2tTaGFwZSIpO18uWXQoXy5KRCxhPT57YS5KKCJ0b3VjaEZlZWRiYWNrU2hhcGUiLCJPdEtTSmUiLF8uaUspfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBrSyxOZWEsbEssUGVhLG1LLFFlYSxSZWEsbksscEssVmVhLFdlYSxYZWEsWWVhO2tLPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgW2MsZF1vZiBhLmouZW50cmllcygpKWIucHVzaCh7ZWxlbWVudDpjLFB5OmR9KTthLnYoYil9O05lYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXtkPTB9dmFyIGQ9MDtyZXR1cm4gZnVuY3Rpb24oZSl7ZHx8KGQ9Xy51LnNldFRpbWVvdXQoYyxiKSxhLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX19O2xLPWZ1bmN0aW9uKGEpe3JldHVybiFpc05hTihOdW1iZXIoYSkpJiYhL15bXHNceGEwXSokLy50ZXN0KGEpfTsKUGVhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgpe2M9bmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoYSxbe3RyYW5zZm9ybToidHJhbnNsYXRlWSgwcHgpIn0se3RyYW5zZm9ybTpgdHJhbnNsYXRlWSgkeyhmP21LKGIsYyxkLGUpOmQ/LTE6MSkqaH1weClgfV0sT2VhKSxkb2N1bWVudC50aW1lbGluZSk7Yj8oYS5zdHlsZS5kaXNwbGF5PSIiLGMub25maW5pc2g9bnVsbCk6Yy5vbmZpbmlzaD0oKT0+e2Euc3R5bGUuZGlzcGxheT0ibm9uZSJ9O2MucGxheSgpO3JldHVybiBjfTttSz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1OdW1iZXIoYSkrMTA7Yj9hPyhhPU51bWJlcihhKSxiPU51bWJlcihiKSxjPWM/YjxhP2U6ZSsxMDpiPGE/ZS0xMDplKTpjPWM/MzA6MDpjPWE9PT0iMCI/ZTpjP2UtMTA6ZSsxMDtyZXR1cm4gZC1jfTsKUWVhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEpe2Nhc2UgIm1vbm8iOnN3aXRjaChiKXtjYXNlICJmaWxsZWQiOnJldHVybiAxO2Nhc2UgInRvbmFsIjpyZXR1cm4gMztjYXNlICJvdXRsaW5lIjpyZXR1cm4gNTtkZWZhdWx0OnJldHVybiAwfWNhc2UgIm1vbm8taW52ZXJzZSI6c3dpdGNoKGIpe2Nhc2UgImZpbGxlZCI6cmV0dXJuIDI7Y2FzZSAidG9uYWwiOnJldHVybiA0O2Nhc2UgIm91dGxpbmUiOnJldHVybiA2O2RlZmF1bHQ6cmV0dXJuIDB9ZGVmYXVsdDpyZXR1cm4gMH19OwpSZWE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIHtkaXNhYmxlZDprLGljb25Qb3NpdGlvbjpsLHN0eWxlOm0sZm9jdXNlZDpuLHVzZU91dGxpbmVkSWNvbjpwLEFjOnJ9PW5LKGEpLHQ9KCk9PiEhQSgpJiZsKCk9PT0iaWNvbi1vbmx5Iix2PSgpPT4hIUEoKSYmbCgpPT09Imljb24tb25seS00MCIsej0oKT0+ISFBKCkmJmwoKT09PSJpY29uLXdpdGgtbGFiZWwiLEU9KCk9PihrKCk/ImRpc2FibGVkIjphKCkuc3RhdGUpPT09ImRpc2FibGVkInx8aygpLEE9KCk9PiEhYnx8ISFkPy4oKXx8ISFyPy4oKSxGPSgpPT5fLngoImFuaW1hdGVfaWNvbl9kaXNhYmxlZF9raWxsc3dpdGNoIik/aD8uKCk6aD8uKCkmJiFFKCksQz1fLlBIKCksRz0oKT0+Xy5vSyhhKCksITAsQyxhKCkuaWdub3JlSWNvblNpemVPdmVycmlkZSk7cmV0dXJue3R5cGU6KCk9Pm0oKT09PSJjYWxsLXRvLWFjdGlvbi1pbnZlcnNlIj8idGV4dCI6bSgpPT09Im92ZXJsYXktZGFyayImJmEoKS50eXBlIT09ImZpbGxlZCImJgphKCkudHlwZSE9PSJ0b25hbCI/InRvbmFsIjphKCkudHlwZSx0bjooKT0+KG4oKXx8Zj8uKCkpJiYhaygpLElsOigpPT4hIUEoKSYmbCgpPT09ImxlYWRpbmciLEtsOigpPT4hIUEoKSYmbCgpPT09InRyYWlsaW5nIixKbDooKT0+ISFBKCkmJiEoIWMmJiFlPy4oKSkmJmwoKT09PSJsZWFkaW5nLXRyYWlsaW5nIixFdzp0LEZ3OnYsR3c6eixpY29uQnV0dG9uOigpPT50KCl8fHYoKXx8eigpLGppOkUsdno6KCk9PiFhKCkuaWdub3JlSWNvblNpemVPdmVycmlkZSYmcEsoYSgpLEEoKSksbXg6Yj9iOigpPT5fLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOnJ9LCgpPT5fLksoImRpdiIse3N0eWxlOl8uSUUoe3dpZHRoOigpPT5gJHtHKCl9cHhgLGhlaWdodDooKT0+YCR7RygpfXB4YH0pLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5XLHtkYXRhOnJ9LHthbmltYXRlZEFzc2V0Vmlld01vZGVsOih7ZGF0YTpEfSk9Pl8uSyhfLnFLLHtkYXRhOkQsc246ITB9KX0pKSksXy5LKF8uREUsCm51bGwsKCk9Pl8uSyhfLk1ELHtpY29uOmQsWnA6KCk9PmEoKS5jdXN0b21Db2xvcnM/Lm1KLHNpemU6RyxhY3RpdmU6KCk9PmEoKS50b2dnbGVkJiYhcD8uKCksYWc6KCk9PnthKCl9LEdlOkZ9KSkpLGFBOmM/YzooKT0+Xy5LKF8uTUQse2ljb246ZSxzaXplOkcsYWN0aXZlOigpPT5hKCkudG9nZ2xlZCYmIXA/LigpLGFnOigpPT57YSgpfX0pfX07Cm5LPWZ1bmN0aW9uKGEpe3JldHVybntzaXplOigpPT5hKCkuc2l6ZSxzdHlsZTooKT0+YSgpLnN0eWxlLGZvY3VzZWQ6KCk9PmEoKS5mb2N1c2VkLGRpc2FibGVkOigpPT5hKCkuZGlzYWJsZWQsb25UYXA6Yj0+YSgpLm9uVGFwPy4oYiksb2k6KCk9PmEoKS5vaSx1YzooKT0+YSgpLnVjLGN1c3RvbUNvbG9yczooKT0+YSgpLmN1c3RvbUNvbG9ycyxzZWdtZW50ZWRQb3NpdGlvbjooKT0+YSgpLnNlZ21lbnRlZFBvc2l0aW9uLHRvZ2dsZWQ6KCk9PmEoKS50b2dnbGVkLHRvZ2dsZWFibGU6KCk9PmEoKS50b2dnbGVhYmxlLGFjY2Vzc2liaWxpdHlMYWJlbDooKT0+YSgpLmFjY2Vzc2liaWxpdHlMYWJlbCxIZTooKT0+YSgpLkhlLG9uVG9nZ2xlOmI9PmEoKS5vblRvZ2dsZT8uKGIpLGljb25Qb3NpdGlvbjooKT0+YSgpLmljb25Qb3NpdGlvbixvbmVPZmZDdXN0b21UZXh0V3JhcDooKT0+YSgpLm9uZU9mZkN1c3RvbVRleHRXcmFwLElmOigpPT5hKCkuSWYsQXA6KCk9PmEoKS5BcCx0b29sdGlwVGV4dDooKT0+CmEoKS50b29sdGlwVGV4dCxEbjooKT0+YSgpLkRuLGFyaWFIaWRkZW46KCk9PmEoKS5hcmlhSGlkZGVuLGFyaWFFeHBhbmRlZDooKT0+YSgpLmFyaWFFeHBhbmRlZCx0YWJJbmRleDooKT0+YSgpLnRhYkluZGV4LGJ1dHRvblRleHQ6KCk9PmEoKS5idXR0b25UZXh0LFdhOigpPT5hKCkuV2EsYWI6KCk9PmEoKS5hYixvbkNsaWNrUmF0ZUxpbWl0TXM6KCk9PmEoKS5vbkNsaWNrUmF0ZUxpbWl0TXMsb25Ib3ZlcjpiPT5hKCkub25Ib3Zlcj8uKGIpLG1pZGRsZWdyb3VuZEFzc2V0OigpPT5hKCkubWlkZGxlZ3JvdW5kQXNzZXQsQWM6KCk9PmEoKS5BYyxkaXNhYmxlTGlnaHRTaGFwZTooKT0+YSgpLmRpc2FibGVMaWdodFNoYXBlLHVzZU91dGxpbmVkSWNvbjooKT0+YSgpLnVzZU91dGxpbmVkSWNvbn19OwpwSz1mdW5jdGlvbihhLGIpe2I9KGEuaWNvblBvc2l0aW9uPT09Imljb24tb25seSJ8fGEuaWNvblBvc2l0aW9uPT09Imljb24tb25seS00MCJ8fGEuaWNvblBvc2l0aW9uPT09Imljb24td2l0aC1sYWJlbCIpJiZiO3JldHVybiFhLnNlZ21lbnRlZFBvc2l0aW9uJiZiJiZhLnNpemU9PT0iUyJ9OwpfLm9LPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWMoKTtpZihfLngoIndlYl9idXR0b25faWNvbl9zaXplX2V4cGVyaW1lbnQiKSl7YTp7Yz1fLmZLKGU/LihTZWEpKT8/MTI7dmFyIGY9Xy5mSyhlPy4oVGVhKSk/PzE4O2U9Xy5mSyhlPy4ockspKT8/MjQ7bGV0IGg9YS5pY29uUG9zaXRpb249PT0iaWNvbi1vbmx5IiYmIWEuc2VnbWVudGVkUG9zaXRpb258fGEuaWNvblBvc2l0aW9uPT09Imljb24tb25seS00MCJ8fGEuaWNvblBvc2l0aW9uPT09Imljb24td2l0aC1sYWJlbCI7c3dpdGNoKGEuc2l6ZSl7Y2FzZSAiWFMiOmE9YzticmVhayBhO2Nhc2UgIlMiOmE9IWQmJnBLKGEsYik/ZTpmO2JyZWFrIGE7Y2FzZSAiTSI6YT1oP2U6ZjticmVhayBhO2RlZmF1bHQ6YT1lfX1yZXR1cm4gYX1jPV8uZksoZT8uKFVlYSkpPz8xNjtmPV8uZksoZT8uKHJLKSk/PzI0O3N3aXRjaChhLnNpemUpe2Nhc2UgIlhTIjpyZXR1cm4gYztjYXNlICJTIjpyZXR1cm4hZCYmcEsoYSxiKT9mOmM7ZGVmYXVsdDpyZXR1cm4gZn19OwpWZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgImZpbGxlZCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZCI7Y2FzZSAib3V0bGluZSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmUiO2Nhc2UgInRvbmFsIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQifX07CldlYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiY2FsbC10by1hY3Rpb24iOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24iO2Nhc2UgImNhbGwtdG8tYWN0aW9uLW92ZXJsYXkiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5IjtjYXNlICJtb25vIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ubyI7Y2FzZSAib3ZlcmxheSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkiO2Nhc2UgIm92ZXJsYXktZGFyayI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrIjtjYXNlICJjYWxsLXRvLWFjdGlvbi1pbnZlcnNlIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uSW52ZXJzZSI7Y2FzZSAibW9uby1pbnZlcnNlIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UiO2Nhc2UgImJyYW5kLWdyYWRpZW50IjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudCI7CmNhc2UgImdlbi1haS1ncmFkaWVudCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQiO2Nhc2UgInJhaXNlZCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFJhaXNlZCI7ZGVmYXVsdDpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ubyJ9fTtYZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIlhTIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzIjtjYXNlICJTIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMiO2Nhc2UgIkwiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTCI7Y2FzZSAiWEwiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNIn19OwpZZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1fLmhLKCk7Xy5uRSgoKT0+e2ImJihhKCk/Yy5qLnNldChiLHZvaWQgMCk6Yy5qLmRlbGV0ZShiKSxrSyhjKSl9LCJvR1FjaWMiKTtfLll1KCgpPT57Yy5qLmRlbGV0ZShiKTtrSyhjKX0pfX07Xy50Sz1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIm5PNWRUZCIpO3JldHVybiBfLllKfTtfLnFLPV8uY0QoKCk9Pl8udEsoKSwiYW5pbWF0ZWRBc3NldFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJhbmltYXRlZEFzc2V0Vmlld01vZGVsIiwibk81ZFRkIixfLnRLKX0pO3ZhciBPZWE9e2R1cmF0aW9uOjFFMyxlYXNpbmc6ImVhc2UiLGZpbGw6ImZvcndhcmRzIn0sdUs9Xy5MKGE9Pnt2YXIgYj1fLnVFKCJhbmltYXRlZC1yb2xsaW5nLWNoYXJhY3RlciIpLGM9dm9pZCAwLGQ9Xy5OKCgpPT5sSyhhLkpjPy4oKSl8fGxLKGEueGU/LigpKSx2b2lkIDAsInFTREQ5ZCIpLFtlLGZdPV8uSigwLHZvaWQgMCwiU0lnS0RkIik7Xy5vRigoKT0+e2lmKHdpbmRvdy5SZXNpemVPYnNlcnZlciYmXy54KCJ3ZWJfZml4X3JvbGxpbmdfbnVtYmVyc196b29tX3NhZmFyaSIpKXtsZXQgaD1uZXcgXy5XdCgoKT0+e3ZhciBsPU1hdGgucm91bmQoKGIudmFsdWUucXVlcnlTZWxlY3RvcigiZGl2Iik/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodD8/MCkqMTAwKS8xMDA7bCYmZihsKX0sNTAwKSxrPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e2gudigpfSk7ay5vYnNlcnZlKGIudmFsdWUpO18uWXUoKCk9PntrLmRpc2Nvbm5lY3QoKTtoLmRpc3Bvc2UoKX0pfX0pO18ubkUoKCk9Pgp7dmFyIGg9Xy54KCJ3ZWJfZml4X3JvbGxpbmdfbnVtYmVyc196b29tX3NhZmFyaSIpP2U6YS5CaDtpZihoKCkpe2M/LmNhbmNlbCgpO2lmKGQoKSl7dmFyIGs9YS54ZT8uKCk/TnVtYmVyKGEueGUoKSkrMTA6YS5FZCgpPzA6MzA7YS54Yj8uKCl8fChrLT1tSyhhLkpjPy4oKSxhLnhlPy4oKSxhLkVkKCksaykpfWVsc2UgaWYoaz1hLkVkKCk/MDoyLCFhLnhiPy4oKSl7dmFyIGw9YS5FZCgpPy0xOjE7ay09bH1iLnZhbHVlLnN0eWxlLm1hcmdpblRvcD1gLSR7aypoKCl9cHhgO2EueGI/LigpP2M9UGVhKGIudmFsdWUsYS5KYz8uKCksYS54ZT8uKCksYS5FZCgpLGssZCgpLGgoKSk6Yi52YWx1ZS5zdHlsZS5kaXNwbGF5PWEuSmM/LigpPyIiOiJub25lIn19LCJOSjRnQSIpO3JldHVybiBfLksoImFuaW1hdGVkLXJvbGxpbmctY2hhcmFjdGVyIix7ZWw6YixjbGFzczoiYW5pbWF0ZWRSb2xsaW5nQ2hhcmFjdGVySG9zdCJ9LF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksoWmVhLG51bGwpLFc6KCk9PgpfLksoJGVhLHtKYzphLkpjfSl9KSl9LCJnYSIpO3VLLmlkb21Db21wYXQ9ITA7dmFyIFplYT1fLkwoKCk9Pnt2YXIgYT1bXTtmb3IobGV0IGI9MTtiPDMwO2IrKylhLnB1c2goXy5LKCJkaXYiLG51bGwsYiUxMCkpO3JldHVybiBfLksoXy5JQixudWxsLF8uSygiZGl2IixudWxsLCJcdTAwYTAiKSxhLF8uSygiZGl2IixudWxsLCJcdTAwYTAiKSl9LCJoYSIpLCRlYT1fLkwoKHtKYzphfSk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLG51bGwsIlx1MDBhMCIpLF8uSyhfLk8se0E6KCk9PiFhPy4oKXx8L15bXHNceGEwXSokLy50ZXN0KGE/LigpKSx0aGVuOigpPT5fLksoImRpdiIsbnVsbCwiXHUwMGEwIiksVzooKT0+Xy5LKCJkaXYiLG51bGwsYSl9KSxfLksoImRpdiIsbnVsbCwiXHUwMGEwIikpLCJpYSIpO3ZhciB2Sz1fLkwoYT0+e3ZhciBiPXZvaWQgMCxjPXZvaWQgMDtfLm5FKCgpPT57Yj1hLlhiKCk7Yz1hLm51bWJlclZhbHVlPy4oKX0sInI3dHFRZCIpO3ZhciBkPV8uTigoKT0+e2lmKCFhLlhiKCkpcmV0dXJuW107dmFyIGU9YS5RcD8uKCl8fCFjfHwhYS5udW1iZXJWYWx1ZT8uKCl8fGM8YS5udW1iZXJWYWx1ZSgpLGY9YS5YYigpLGg9YS5naD8uKCk/YS5oZWlnaHRQeCgpKmEuZ2goKTphLmhlaWdodFB4KCksaz0hIWEueGI/LigpLGw9W10sbT0wLG49MCxwPShiP2IucmVwbGFjZSgvXEQvZywiIikubGVuZ3RoOjApLShmP2YucmVwbGFjZSgvXEQvZywiIikubGVuZ3RoOjApLHI9Yj9iLnNwbGl0KC8oXGQpLykuZmlsdGVyKEJvb2xlYW4pOltdO2ZvcihmPWYuc3BsaXQoLyhcZCkvKS5maWx0ZXIoQm9vbGVhbik7cDwwOyl7dmFyIHQ9ZltuXTtsLnB1c2goe0pjOnQsRWQ6ZSxCaDpoLHhiOmt9KTtuKys7bEsodCkmJnArK31mb3IoO208cDspdD1yW21dLGwucHVzaCh7eGU6dCxFZDplLApCaDpoLHhiOmt9KSxtKyssbEsodCl8fHArKztmb3IoO248Zi5sZW5ndGg7KXA9ZltuXSx0PXJbbV0sbEsocCk9PT1sSyh0KT8obisrLG0rKyk6bEsocCk/KG0rKyxwPXZvaWQgMCk6bEsodCkmJihuKyssdD12b2lkIDApLGwucHVzaCh7SmM6cCx4ZTp0LEVkOmUsQmg6aCx4YjprfSk7cmV0dXJuIGx9LHZvaWQgMCwid21uSFIiKTtyZXR1cm4gXy5LKCJ5dC1hbmltYXRlZC1yb2xsaW5nLW51bWJlciIse2NsYXNzOiJhbmltYXRlZFJvbGxpbmdOdW1iZXJIb3N0IixzdHlsZTooKT0+YS5YYigpP1tgaGVpZ2h0OiAke2EuZ2g/LigpP2EuaGVpZ2h0UHgoKSphLmdoKCk6YS5oZWlnaHRQeCgpfXB4O2AsYGxpbmUtaGVpZ2h0OiAke2EuaGVpZ2h0UHgoKX1weDtgXS5qb2luKCIgIik6IiIsZGlyOiJsdHIiLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5nRyx7cGE6ZCx0YjoiSU5ERVgifSxlPT5fLksodUsse0pjOigpPT5lKCkuSmMseGU6KCk9PmUoKS54ZSxCaDooKT0+ZSgpLkJoLEVkOigpPT4KZSgpLkVkLHhiOigpPT5lKCkueGJ9KSkpfSwia2EiKTt2Sy5pZG9tQ29tcGF0PSEwO3ZhciBhZmE9WyJtb25vIiwibW9uby1pbnZlcnNlIiwib3ZlcmxheSJdLGJmYT1bImZpbGxlZCJdO3ZhciB3Sz17Y3VwY2FrZToxLjUsZG9udXQ6MS42LGVjbGFpcjoyLGZyb3lvOjIuMixnaW5nZXJicmVhZDoyLjMsaG9uZXljb21iOjMsImljZSBjcmVhbSBzYW5kd2ljaCI6NCxqZWxseWJlYW46NC4xLGtpdGthdDo0LjQsbG9sbGlwb3A6NS4xLG1hcnNobWFsbG93OjYsbm91Z2F0OjcuMX0seEs7YTp7dmFyIHlLPV8uYmMoKTt5Sz15Sy50b0xvd2VyQ2FzZSgpO2lmKHlLLmluZGV4T2YoImFuZHJvaWQiKSE9LTEpe3ZhciB6Sz15Sy5tYXRjaCgvYW5kcm9pZFxzKihcZCsoXC5cZCspPylbXjt8KV0qWzspXS8pO2lmKHpLKXtsZXQgYT1wYXJzZUZsb2F0KHpLWzFdKTtpZihhPDEwMCl7eEs9YTticmVhayBhfX12YXIgQUs9eUsubWF0Y2goIigiK09iamVjdC5rZXlzKHdLKS5qb2luKCJ8IikrIikiKTt4Sz1BSz93S1tBS1swXV06MH1lbHNlIHhLPXZvaWQgMH1fLkJLPXhLPj0wO3ZhciBDSyxGSzt7dmFyIERLPV8uYmMoKTtsZXQgYT1ESy5tYXRjaCgvXCgoaVBhZHxpUGhvbmV8aVBvZCkoIFNpbXVsYXRvcik/Oy8pO2lmKCFhfHxhLmxlbmd0aDwyKUNLPXZvaWQgMDtlbHNle3ZhciBFSz1ESy5tYXRjaCgvXCgoaVBhZHxpUGhvbmV8aVBvZCkoIFNpbXVsYXRvcik/OyAoVTsgKT9DUFUgKGlQaG9uZSApP09TIChcZCtfXGQpW18gXS8pO0NLPUVLJiZFSy5sZW5ndGg9PT02P051bWJlcihFS1s1XS5yZXBsYWNlKCJfIiwiLiIpKTowfX1GSz1DSztfLkdLPUZLPj0wO3ZhciBVZWE9e3l0U3lzTWVhc3VyZW1lbnRSZWZlcmVuY2U6IllUX1NZU19NRUFTVVJFTUVOVF9SRUZFUkVOQ0VfSUNPTl9TSVpFX0NPTkRFTlNFRCJ9LHJLPXt5dFN5c01lYXN1cmVtZW50UmVmZXJlbmNlOiJZVF9TWVNfTUVBU1VSRU1FTlRfUkVGRVJFTkNFX0lDT05fU0laRV9DT01GT1JUQUJMRSJ9LFNlYT17eXRTeXNNZWFzdXJlbWVudFJlZmVyZW5jZToiWVRfU1lTX01FQVNVUkVNRU5UX1JFRkVSRU5DRV9JQ09OX1NJWkVfTUlOSSJ9LFRlYT17eXRTeXNNZWFzdXJlbWVudFJlZmVyZW5jZToiWVRfU1lTX01FQVNVUkVNRU5UX1JFRkVSRU5DRV9JQ09OX1NJWkVfQ09NUEFDVCJ9LGNmYT1fLkwoYT0+Xy5LKF8uTyx7QTphLnVjLHRoZW46Yj0+Xy5LKF8ubkgse3VjOmIsZGlzYWJsZWQ6YS5kaXNhYmxlZCxjbGFzc05hbWU6YS5jbGFzc05hbWUsc3R5bGU6YS5zdHlsZSx0aXRsZTphLnRpdGxlLGFyaWFMYWJlbDphLmFyaWFMYWJlbCxIZTphLkhlLGFyaWFDdXJyZW50OigpPT5hLnRvZ2dsZWFibGU/LigpJiYKYS50b2dnbGVkPy4oKSxhcmlhRXhwYW5kZWQ6YS5hcmlhRXhwYW5kZWQscmVmOmEucmVmLG9uSG92ZXI6YS5vbkhvdmVyfSxhLmNoaWxkcmVuKSxXOigpPT5fLksoImJ1dHRvbiIse2VsOl8uckYoYS5yZWYpLCJvbjpjbGljayI6YS5vbkNsaWNrLCJvbjptb3VzZWVudGVyIjphLm9uSG92ZXIsY2xhc3M6YS5jbGFzc05hbWUsdGl0bGU6YS50aXRsZSxzdHlsZTphLnN0eWxlLGRpc2FibGVkOmEuZGlzYWJsZWQsImFyaWEtcHJlc3NlZCI6KCk9PmEudG9nZ2xlYWJsZT8uKCk/ISFhLnRvZ2dsZWQ/LigpOnZvaWQgMCwiYXJpYS1sYWJlbCI6YS5hcmlhTGFiZWwsImFyaWEtZGVzY3JpYmVkYnkiOmEuSGUsImFyaWEtZGlzYWJsZWQiOmEuamksImFyaWEtaGlkZGVuIjphLmFyaWFIaWRkZW4sImFyaWEtZXhwYW5kZWQiOmEuYXJpYUV4cGFuZGVkLHRhYmluZGV4OigpPT5hLnRhYkluZGV4Py4oKT8/KChfLk9rfHxfLnJ6KCkpJiZfLngoIndlYl9lbmFibGVfc2FmYXJpX2J1dHRvbl90YWJpbmRleF9maXgiKT8KMDp2b2lkIDApfSxhLmNoaWxkcmVuKX0pLCJsYSIpLGRmYT1fLkwoKHtkYXRhOmEsSWw6YixKbDpjLEtsOmQsaWNvbkJ1dHRvbjplLGl4OmYsWno6aCxpY29uOmssc2Vjb25kYXJ5SWNvbjpsLFVBOm0sSnk6bixqaTpwLGRpc2FibGVMaWdodFNoYXBlOnJ9KT0+e3ZhciB0PV8ueSgpLnJlc29sdmUoXy5JbihfLmVLKSksdj1fLklFKHtjb2xvcjooKT0+YSgpLmN1c3RvbUNvbG9ycz8uaWNvbkNvbG9yfSk7cmV0dXJuIF8uSyhISyx7Y2xhc3NOYW1lOiIiLHN0eWxlOiJkaXNwbGF5OiBpbmhlcml0OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciJ9LF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6IlY0ejFVYyIsQTooKT0+ayYmKGIoKXx8YygpfHxlPy4oKSksdGhlbjooKT0+Xy5LKEhLLG51bGwsXy5LKCJkaXYiLHtjbGFzczpmLHN0eWxlOnYsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LGs/LigpKSl9KSxfLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJvazNidGIiLEE6KCk9PihhKCkuYnV0dG9uVGV4dHx8CmEoKS5hYnx8YSgpLldhKSYmIWU/LigpLHRoZW46KCk9Pl8uSyhISyxudWxsLF8uSyhJSyx7Y2xhc3NOYW1lOm0saWNvblBvc2l0aW9uOigpPT5hKCkuaWNvblBvc2l0aW9uLHRleHQ6KCk9PmEoKS5idXR0b25UZXh0LG9uZU9mZkN1c3RvbVRleHRXcmFwOigpPT5hKCkub25lT2ZmQ3VzdG9tVGV4dFdyYXAsV2E6KCk9PmEoKS5XYSxhYjooKT0+YSgpLmFifSkpfSksXy5LKF8uTyx7ZGVidWdJbnN0YW5jZToiRE81UnoiLEE6ZCx0aGVuOigpPT5fLksoSEssbnVsbCxfLksoImRpdiIse2NsYXNzOmYsc3R5bGU6dn0saz8uKCkpKX0pLF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6ImJub2pTYyIsQTpjLHRoZW46KCk9Pl8uSyhISyxudWxsLF8uSygiZGl2Iix7Y2xhc3M6aCxzdHlsZTp2fSxsPy4oKSkpfSksXy5LKF8uTyx7ZGVidWdJbnN0YW5jZToiSE4za2FkIixBOigpPT4hYSgpLmRpc2FibGVkJiYhKHQ/LldvJiYhcD8uKCkpLHRoZW46KCk9Pl8uSyhfLmpLLHttb2RlbDooKT0+e3ZhciB6PQphKCk7cmV0dXJue2NvbG9yOnouc3R5bGU9PT0ib3ZlcmxheS1kYXJrIj80Onouc3R5bGU9PT0ib3ZlcmxheSI/ei50eXBlPT09ImZpbGxlZCI/NDozOnoudHlwZT09PSJmaWxsZWQifHx6LnN0eWxlPT09ImNhbGwtdG8tYWN0aW9uLWludmVyc2UifHx6LnN0eWxlPT09Im1vbm8taW52ZXJzZSI/MjoxfX19KX0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5taWRkbGVncm91bmRBc3NldH0se2FuaW1hdGVkQXNzZXRWaWV3TW9kZWw6KHtkYXRhOnp9KT0+Xy5LKF8ucUsse2RhdGE6eixjbGFzc05hbWU6bixzbjohMH0pfSksXy5LKF8uTyx7QTooKT0+dD8uSXUmJiFwPy4oKSYmIXI/LigpLHRoZW46KCk9Pl8uSyhfLnlFLHtjb25maWc6KCk9Pnt2YXIgej1hKCksRT16LnN0eWxlLEE9ei50eXBlLEY9Xy55KCkucmVzb2x2ZShfLkluKF8uZUspKTtyZXR1cm57VmE6UWVhKEUsQSksams6Rj8uVm8mJkE9PT0idG9uYWwiLGV2OnouY3VzdG9tQ29sb3JzPy5iYWNrZ3JvdW5kQ29sb3IsZHY6ei5jdXN0b21Db2xvcnM/LmJvcmRlckNvbG9yLApDQjpGPy5Xb319fSl9KSl9LCJtYSIpLElLPV8uTChhPT57dmFyIGI9KCk9PmEuaWNvblBvc2l0aW9uPy4oKT09PSJpY29uLXdpdGgtbGFiZWwifHxhLm9uZU9mZkN1c3RvbVRleHRXcmFwPy4oKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczphLmNsYXNzTmFtZSwiYXJpYS1oaWRkZW4iOigpPT5hLmFyaWFIaWRkZW4/LigpJiYoISFhLmFiPy4oKXx8ISFhLldhPy4oKSl9LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmEuYWI/LigpfSwoKT0+Xy5LKHZLLHtYYjooKT0+YS5hYigpLlhiLG51bWJlclZhbHVlOigpPT5hLmFiKCkubnVtYmVyVmFsdWUsaGVpZ2h0UHg6KCk9PmEuYWIoKS5oZWlnaHRQeCxnaDooKT0+YS5hYigpLmdoLHhiOigpPT5hLmFiKCkueGIsUXA6KCk9PmEuYWIoKS5RcH0pKSxfLksoXy5DRSx7d2hlbjooKT0+YS5XYT8uKCl9LCgpPT5fLksoXy5WLHt0ZXh0OigpPT4oey4uLmEuV2EoKSxsaW5lQnJlYWtNb2RlOmIoKT8iTElORV9CUkVBS19NT0RFX0JZX1dPUkRfV1JBUFBJTkciOgphLldhKCkubGluZUJyZWFrTW9kZSxhbGlnbm1lbnQ6YigpPyJURVhUX0FMSUdOTUVOVF9DRU5URVIiOmEuV2EoKS5hbGlnbm1lbnR9KSx1YjohMCxub1dyYXA6KCk9PiFiKCl9KSksXy5LKF8uQ0Use3doZW46KCk9PmEuaWNvblBvc2l0aW9uPy4oKT09PSJpY29uLXdpdGgtbGFiZWwiJiZhLnRleHQ/LigpfSwoKT0+Xy5LKF8uVix7dGV4dDooKT0+KHtjb250ZW50OmEudGV4dCgpLGxpbmVCcmVha01vZGU6IkxJTkVfQlJFQUtfTU9ERV9CWV9XT1JEX1dSQVBQSU5HIixhbGlnbm1lbnQ6IlRFWFRfQUxJR05NRU5UX0NFTlRFUiJ9KSx1YjohMCxub1dyYXA6ITF9KSksXy5LKF8uREUsbnVsbCwoKT0+YS50ZXh0KSkpfSwibmEiKSxlZmE9Xy5MKGE9Pl8uSyhfLk8se2RlYnVnSW5zdGFuY2U6ImtNN1NnYyIsQTphLmhhc0xhYmVsLHRoZW46KCk9Pl8uSygibGFiZWwiLHtjbGFzczphLmNsYXNzTmFtZX0sYS5jaGlsZHJlbixhLnRleHRDb250ZW50Py4oKSksVzooKT0+YS5jaGlsZHJlbn0pLCJvYSIpLApISz1fLkwoYT0+YS5jaGlsZHJlbiwicGEiKTtfLkpLPV8uTCgoe2RhdGE6YSxpY29uOmIsaWNvbk5hbWU6YyxHZTpkLHNlY29uZGFyeUljb246ZSxRcjpmLFhJOmgsYXA6a30pPT57Xy5tRygpO3ZhciB7c2l6ZTpsLHN0eWxlOm0sZGlzYWJsZWQ6bixvblRhcDpwLG9pOnIsdWM6dCxjdXN0b21Db2xvcnM6dixzZWdtZW50ZWRQb3NpdGlvbjp6LHRvZ2dsZWQ6RSx0b2dnbGVhYmxlOkEsYWNjZXNzaWJpbGl0eUxhYmVsOkYsb25Ub2dnbGU6QyxpY29uUG9zaXRpb246RyxvbmVPZmZDdXN0b21UZXh0V3JhcDpELElmOkgsQXA6Uix0b29sdGlwVGV4dDpNLERuOlMsYXJpYUhpZGRlbjpZLGFyaWFFeHBhbmRlZDpwYSx0YWJJbmRleDpvYSxidXR0b25UZXh0OlUsV2E6aGEsYWI6bWEsb25DbGlja1JhdGVMaW1pdE1zOnRhLG9uSG92ZXI6VCxtaWRkbGVncm91bmRBc3NldDpiYSxkaXNhYmxlTGlnaHRTaGFwZTphYX09bksoYSkse3R5cGU6T2EsdG46SmIsSWw6emEsS2w6TGIsSmw6Y2MsRXc6bGMsRnc6VmIsR3c6dGQsaWNvbkJ1dHRvbjpCZSwKamk6YWQsdno6bnMsbXg6TWcsYUE6WkJ9PVJlYShhLGIsZSxjLGYsaCxkKSxbZmZhXT1fLmJLKE0sUyksTFQ9cmI9PntwPy4ocmIpO0EoKSYmQz8uKHJiKX0sTVQ9Xy5OKCgpPT50YT8uKCksdm9pZCAwLCJzaUt5d2IiKSxnZmE9Xy5OKCgpPT5NVCgpP05lYShMVCxNVCgpKTpMVCx2b2lkIDAsIndEVGNOIiksJEI9Xy55KCkucmVzb2x2ZShfLkluKF8uZUspKTtiPV8uTigoKT0+YmEoKXx8JEI/Lkl1LHZvaWQgMCwielVRUk9lIik7dmFyIGhmYT1ZZWEoKCk9Pnt2YXIgcmI9bSgpLGFpPU9hKCk7cmV0dXJuISFfLnkoKS5yZXNvbHZlKF8uSW4oXy5lSykpPy5WbyYmYWZhLmluY2x1ZGVzKHJiKSYmYmZhLmluY2x1ZGVzKGFpKX0pO3JldHVybiBfLksoZWZhLHtjbGFzc05hbWU6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbEhvc3QiLHt5dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbElzT3ZlcmxheTooKT0+bSgpPT09Im92ZXJsYXkifHxtKCk9PT0ib3ZlcmxheS1kYXJrIn0pLGhhc0xhYmVsOnRkLAp0ZXh0Q29udGVudDooKT0+Xy5LKElLLHt0ZXh0OlUsY2xhc3NOYW1lOiJ5dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVsIixhcmlhSGlkZGVuOiEwLG9uZU9mZkN1c3RvbVRleHRXcmFwOkQsaWNvblBvc2l0aW9uOkcsV2E6aGEsYWI6bWF9KX0sXy5LKGNmYSx7dWM6dCxjbGFzc05hbWU6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0IiwoKT0+VmVhKE9hKCkpLCgpPT5hZCgpP3ZvaWQgMDpXZWEobSgpKSwoKT0+WGVhKGwoKSkse3l0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkOmFkLHl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6SmIseXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nOkxiLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nOnphLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmc6Y2MseXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dDooKT0+Y2MoKSYmIShVKCl8fGhhKCkpLAp5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uOigpPT5sYygpfHx0ZCgpLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25Pbmx5RGVmYXVsdDpWYix5dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dDpyLHl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OigpPT56KCk9PT0ic3RhcnQiLHl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZDooKT0+eigpPT09ImVuZCIseXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcnJpZGVTbWFsbFNpemVJY29uOm5zLHl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVyOkQseXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZVRleHRFbGxpcHNpczpILHl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUJhY2tkcm9wRmlsdGVyRXhwZXJpbWVudDooKT0+e3ZhciByYjtpZihyYj0hUigpKSEocmI9Xy5HSyYmRks+PTE0KSYmKHJiPV8uQkspJiYocmI9Xy51Lm5hdmlnYXRvcj8uZGV2aWNlTWVtb3J5Pj0KOCkscmI9cmI/IV8ueCgid2ViX2Rpc2FibGVfYmFja2Ryb3BfZmlsdGVyIik6ITE7cmV0dXJuIHJifSx5dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2U6KCk9PiEhJEI/LldvJiYhYWQoKSx5dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VJY29uU2l6ZTooKT0+Xy54KCJ3ZWJfYnV0dG9uX2ljb25fc2l6ZV9leHBlcmltZW50IikseXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZzooKT0+Xy54KCJ3ZWJfYnV0dG9uX21haW5zdGFnZV9wYWRkaW5nIil9KSxzdHlsZTooKT0+e3ZhciByYj12KCk7aWYocmIpe3ZhciBhaT1yYi5jb2xvcjt2YXIgTlQ9cmIuYmFja2dyb3VuZENvbG9yO3JiPXJiLmJvcmRlckNvbG9yO3ZhciBwcz0iIjthaSYmKHBzKz1gY29sb3I6ICR7YWl9O2ApO05UJiYocHMrPWBiYWNrZ3JvdW5kLWNvbG9yOiAke05UfTtgKTtyYiYmKHBzKz1gYm9yZGVyLWNvbG9yOiAke3JifTtgKTthaT17c3R5bGU6cHN9fWVsc2UgYWk9Cnt9O3JldHVybiBhaS5zdHlsZX0sb25DbGljazpyYj0+e2dmYSgpKHJiKX0sb25Ib3ZlcjpyYj0+e1Q/LihyYil9LGRpc2FibGVkOm4sYXJpYUxhYmVsOkYsdG9nZ2xlYWJsZTpBLHRvZ2dsZWQ6RSx0aXRsZTooKT0+IWs/LigpJiZNKCk/TSgpOiIiLGppOmFkLGFyaWFIaWRkZW46WSxhcmlhRXhwYW5kZWQ6cGEsdGFiSW5kZXg6b2EscmVmOnJiPT57JEI/LlZvJiZoZmEocmIpO2s/LigpJiZmZmEocmIpfX0sXy5LKGRmYSx7ZGF0YTphLElsOnphLEpsOmNjLEtsOkxiLGljb25CdXR0b246QmUsaWNvbjpNZyxVQTpfLlAoInl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50Iix7eXRTcGVjQnV0dG9uU2hhcGVOZXh0RWxldmF0ZWRDb250ZW50OmJ9KSxpeDpfLlAoInl0U3BlY0J1dHRvblNoYXBlTmV4dEljb24iLHt5dFNwZWNCdXR0b25TaGFwZU5leHRFbGV2YXRlZENvbnRlbnQ6Yn0pLFp6Ol8uUCgieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbiIse3l0U3BlY0J1dHRvblNoYXBlTmV4dEVsZXZhdGVkQ29udGVudDpifSksCnNlY29uZGFyeUljb246WkIsSnk6Inl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0IixqaTphZCxkaXNhYmxlTGlnaHRTaGFwZTphYX0pKSl9LCJyYSIpO18uSksuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntpY29uOiEwLHNlY29uZGFyeUljb246ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExkYSxNZGEsTmRhLE9kYTtMZGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlZILlRlKCkuZ2V0U3RhdGUoKTtyZXR1cm4gYj9hKGMsLi4uYik6YShjKX07Xy5YSD1mdW5jdGlvbigpe2lmKFdIKXJldHVybiBXSDt2YXIgW2EsLGJdPV8uSigwLHZvaWQgMCwiTUIxSGIiKTtfLlZILlRlKCkuc3Vic2NyaWJlKCgpPT57TWRhKGIpfSk7cmV0dXJuIFdIPWF9O01kYT1mdW5jdGlvbihhKXtZSHx8KFlIPSEwLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnthKGI9PmIrMSk7WUg9ITF9KSl9O18uWkg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5WSC5wdygpKGEsYil9O18uYkk9bmV3IF8uVnMoIlNUQVRFX1NUT1JFX1RPS0VOIik7TmRhPW5ldyBfLlZzKCJTRUxFQ1RfVE9LRU4iKTtPZGE9bmV3IF8uVnMoIkRJU1BBVENIX1RPS0VOIik7dmFyIFdILFlIO18uVkg9e3B3OigpPT5fLnkoKS5yZXNvbHZlKF8uSW4oTmRhKSk/P0xkYSxtdzooKT0+Xy55KCkucmVzb2x2ZShfLkluKE9kYSkpPz9fLlZILlRlKCkuZGlzcGF0Y2guYmluZChfLlZILlRlKCkpLFRlOigpPT5fLnkoKS5yZXNvbHZlKF8uYkkpfTtZSD0hMTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5jST1mdW5jdGlvbihhKXtyZXR1cm4gXy5OKCgpPT57Xy5YSCgpKCk7cmV0dXJuIF8uWkgoYSl9LHtkZWJ1Z05hbWU6ImQ4QjYyYyJ9LCJERVhraGQiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBpZmEsamZhLE9LLE5LLG5mYSxSSyxvZmEscGZhLFRLLHFmYSxyZmEsU0ssc2ZhLHRmYSx1ZmEsdmZhO2lmYT1mdW5jdGlvbihhLGIpe2IuZm9yRWFjaChjPT57dmFyIGQ9bnVsbDtjP2Q9Yy5hcHBseShudWxsLGEuYXJncyk6KGM9RXJyb3IoInJkIiksYy5wYXJhbXM9YS5hY3Rpb25OYW1lLF8uVWkoYykpO2EucmV0dXJuVmFsdWUucHVzaChkKX0pfTtqZmE9ZnVuY3Rpb24oYSxiLGMpe2IuZm9yRWFjaChkPT57dmFyIGU9Xy5SSihkKTtlJiYoZD1uZXcgXy5PSihlLCEwLFtkLGMsdm9pZCAwXSksKGU9YS5qLmdldChkLmFjdGlvbk5hbWUpKSYmaWZhKGQsZSksZC5qfHxkLnJldHVyblZhbHVlLmxlbmd0aCE9PTB8fChkPW5ldyBfLlhqKCJVbmhhbmRsZWQgYWN0aW9uIixkLmFjdGlvbk5hbWUpLF8uV2koZCkpKX0pfTtfLktLPWZ1bmN0aW9uKGEpe3JldHVybihhJjQyNzgxOTAwODApPj4+MjQ9PT0wP18uaUUoYSwiMSIpOl8uTkQoYSl9OwpfLk1LPWZ1bmN0aW9uKCl7TEt8fChMSz1uZXcga2ZhKTtyZXR1cm4gTEt9O09LPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jLmFjdGlvbixlPWMuZWxlbWVudDtlJiZkJiYobGZhLmluY2x1ZGVzKGIpfHxfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9SRU1JWCJ8fGEuRCYmYS5ELkFKKGUpP05LKGEsYixjKTphLnYmJihhLm98fChhLm89bmV3IFdlYWtNYXApLGQ9YS52Lm9ic2VydmUoZSwoKT0+e05LKGEsYixjKTthLm8uZGVsZXRlKGUpfSx7VmI6ITAsc3RhdGU6InZpc2libGUifSksYS5vLnNldChlLGQpKSl9O18uUEs9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLkIuZ2V0KGIpO2lmKGMpe3ZhciBkPWEuai5nZXQoYyk7ZCYmKGRlbGV0ZSBkLmVsZW1lbnQsYS5qLnNldChjLGQpKTthLkIuZGVsZXRlKGIpO2EudiYmYS5vJiYoYz1hLm8uZ2V0KGIpKSYmKGEudi5yZihjKSxhLm8uZGVsZXRlKGIpKX19OwpfLlFLPWZ1bmN0aW9uKGEsYixjKXtfLlBLKGEsYyk7dmFyIGQ9YS5qLmdldChiKTtkfHwoZD17fSxhLmouc2V0KGIsZCkpO2QuZWxlbWVudD1jO2EuQi5zZXQoYyxiKTtPSyhhLGIsZCl9O05LPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jLmFjdGlvbjsoYz1jLmVsZW1lbnQpJiZkJiYoamZhKGEuSyxbZF0sYyksYS5qLmRlbGV0ZShiKSxhLkIuZGVsZXRlKGMpLGEuWS5hZGQoYikpfTsKbmZhPWZ1bmN0aW9uKGEsYixjKXtpZihjJiZiKXN3aXRjaChjKXtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfUkVNT1ZFX0FEU19BRF9TVEFURSI6cmV0dXJuKGE9Xy5ISChhLGIpKT97aXNIaWRkZW46YS5hZHNTdGF0ZT09PSJBRFNfU1RBVEVfTk9ORSJ8fGEuYWRzU3RhdGU9PT0iQURTX1NUQVRFX1VOS05PV04ifTp7aXNIaWRkZW46ITB9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DSEFUQk9UX1BFTkRJTkdfUkVTUE9OU0UiOnJldHVybntpc0hpZGRlbjohMSxpc0Rpc2FibGVkOiEhXy5xQShhLmVudGl0aWVzLCJ5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5IixiKT8uaXNQZW5kaW5nUmVzcG9uc2V9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9CT09MRUFOX0RJU0FCTEVEIjpyZXR1cm57aXNIaWRkZW46ITEsaXNEaXNhYmxlZDohIV8uSUgoYSxiKT8udmFsdWV9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9BU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZIjpyZXR1cm4gYT0KXy5xQShhLmVudGl0aWVzLCJhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5IixiKT8uc3RhdGUsYT09PSJBU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZX1NUQVRFX1BFTkRJTkciP3tpc0hpZGRlbjohMSxhcmlhRGlzYWJsZWQ6ITAsYXJpYUJ1c3k6ITAsYWNjZXNzaWJpbGl0eUxhYmVsOiJHZW5lcmF0aW5nIHN1bW1hcnkuLi4iLGljb25OYW1lOnZvaWQgMCxBYzptZmF9OmE9PT0iQVNLX1NUVURJT19DT05WRVJTQVRJT05fU1VNTUFSWV9TVEFURV9VTlJFQUQifHxhPT09IkFTS19TVFVESU9fQ09OVkVSU0FUSU9OX1NVTU1BUllfU1RBVEVfRkFJTEVEIj8oYT1hPT09IkFTS19TVFVESU9fQ09OVkVSU0FUSU9OX1NVTU1BUllfU1RBVEVfVU5SRUFEIix7aXNIaWRkZW46ITEsYXJpYURpc2FibGVkOiEwLGFjY2Vzc2liaWxpdHlMYWJlbDphPyJVbnJlYWQgc3VtbWFyeSI6IkZhaWxlZCB0byBnZW5lcmF0ZSBzdW1tYXJ5IixpY29uTmFtZToiWVRJQ09OX0ZJTExfRE9UX1MyNCIsCkFjOnZvaWQgMCwuLi4oYSYme2N1c3RvbUNvbG9yczp7Y29sb3I6InZhcigtLXl0LXNwZWMtY2FsbC10by1hY3Rpb24pIixpY29uQ29sb3I6InZhcigtLXl0LXNwZWMtY2FsbC10by1hY3Rpb24pIn19KX0pOntpc0hpZGRlbjohMH07Y2FzZSAiQlVUVE9OX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0NPTU1FUkNFX1RPS0VOX0JBTEFOQ0UiOnJldHVybiBhPV8ucUEoYS5lbnRpdGllcywiY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHkiLGIpLGE/LnNlcnZlclRva2VuQmFsYW5jZSE9bnVsbD8oYT1OdW1iZXIoYS5zZXJ2ZXJUb2tlbkJhbGFuY2UpLGE9aXNOYU4oYSk/dm9pZCAwOlN0cmluZyhhLzFFNikse2lzSGlkZGVuOiExLFdhOmE/e2NvbnRlbnQ6YX06dm9pZCAwfSk6e2lzSGlkZGVuOiExfTtkZWZhdWx0OnJldHVybntpc0hpZGRlbjohMX19fTsKUks9ZnVuY3Rpb24oYSl7cmV0dXJue3RleHQ6YS50b29sdGlwVGV4dD8/IiIsbG9jYXRpb246b2ZhKGEucGxhY2VtZW50KSxzdHlsZTphLnN0eWxlLGhvdGtleTphLmhvdGtleX19O29mYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiVE9PTFRJUF9WSUVXX01PREVMX1BMQUNFTUVOVF9CT1RUT00iOnJldHVybiJib3R0b20iO2Nhc2UgIlRPT0xUSVBfVklFV19NT0RFTF9QTEFDRU1FTlRfVE9QIjpyZXR1cm4idG9wIjtjYXNlICJUT09MVElQX1ZJRVdfTU9ERUxfUExBQ0VNRU5UX0xFRlQiOnJldHVybiJsZWZ0IjtjYXNlICJUT09MVElQX1ZJRVdfTU9ERUxfUExBQ0VNRU5UX1JJR0hUIjpyZXR1cm4icmlnaHQiO2RlZmF1bHQ6cmV0dXJuImJvdHRvbSJ9fTsKcGZhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5SRChhPy5vblRhcCksZD17fTtjJiYoZC5iSj0oKT0+U0soYSxjLGI/LnZhbHVlPy52aXN1YWxFbGVtZW50KSk7ZD1fLmJFKHtiaDphLm9uVGFwLHFkOiEwLEFvOmR9KTtyZXR1cm4gZD8uaHJlZj9kOnZvaWQgMH07VEs9ZnVuY3Rpb24oYSxiLGMsZCxlKXtjPXtyQzpjfTtfLmRLKGEse2Zvcm06e2N1cnJlbnREYXRhOmMsc291cmNlRGF0YTpjLGVsZW1lbnQ6YixldmVudDpkfSwuLi5lfSl9OwpxZmE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj12b2lkIDA7cmV0dXJuIGg9Pnt2YXIgaz1fLlJEKGM/YT8ub25EaXNhYmxlZFRhcDphPy5vblRhcCk7aWYoaylpZihmPWY/P2I/LnZhbHVlLF8ueCgid2ViX2J1dHRvbl92bV9jbGlja19jbGllbnRfdmVfa2lsbHN3aXRjaCIpKVRLKGssZixhLGgpO2Vsc2V7bGV0IGw9U0soYSxrLGY/LnZpc3VhbEVsZW1lbnQpO2lmKGUpe1RLKGssZSxhLGgse2NsaWNrZWRWaXN1YWxFbGVtZW50OmwsZm9ybTp7ZWxlbWVudDplfX0pO3JldHVybn1USyhrLGYsYSxoLHtjbGlja2VkVmlzdWFsRWxlbWVudDpsfSl9ZCYmZChoKX19O3JmYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dm9pZCAwO3JldHVybiBlPT57dmFyIGY9Xy5SRChhPy5vbkhvdmVyKTtmJiYoZD1kPz9iPy52YWx1ZSxjP1RLKGYsYyxhLGUse2Zvcm06e2VsZW1lbnQ6Y319KTpUSyhmLGQsYSxlKSl9fTsKU0s9ZnVuY3Rpb24oYSxiLGMpe2I9Yj8uY2xpY2tUcmFja2luZ1BhcmFtczthPWE/LmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZTtpZihjJiZhJiYhYilyZXR1cm4gY307CnNmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfQ1RBIjpyZXR1cm4iY2FsbC10by1hY3Rpb24iO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX01PTk8iOmNhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0JSQU5EIjpyZXR1cm4ibW9ubyI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfT1ZFUkxBWSI6cmV0dXJuIm92ZXJsYXkiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX09WRVJMQVlfREFSSyI6cmV0dXJuIm92ZXJsYXktZGFyayI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfQlJBTkRfR1JBRElFTlQiOnJldHVybiJicmFuZC1ncmFkaWVudCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfQlJBTkRfQUkiOnJldHVybiJnZW4tYWktZ3JhZGllbnQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX1JBSVNFRCI6cmV0dXJuInJhaXNlZCI7ZGVmYXVsdDpyZXR1cm4ibW9ubyJ9fTsKdGZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJCVVRUT05fVklFV19NT0RFTF9UWVBFX0ZJTExFRCI6cmV0dXJuImZpbGxlZCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9PVVRMSU5FIjpyZXR1cm4ib3V0bGluZSI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9URVhUIjpyZXR1cm4idGV4dCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9UT05BTCI6cmV0dXJuInRvbmFsIjtkZWZhdWx0OnJldHVybiJ0ZXh0In19O3VmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfQUNUSVZFIjpyZXR1cm4iYWN0aXZlIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVEFURV9JTkFDVElWRSI6cmV0dXJuImRpc2FibGVkIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVEFURV9ESVNBQkxFRCI6cmV0dXJuImRpc2FibGVkIjtkZWZhdWx0OnJldHVybiJhY3RpdmUifX07CnZmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9YU01BTEwiOnJldHVybiJYUyI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9DT01QQUNUIjpyZXR1cm4iUyI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9ERUZBVUxUIjpyZXR1cm4iTSI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9MQVJHRSI6cmV0dXJuIkwiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfWExBUkdFIjpyZXR1cm4iWEwiO2RlZmF1bHQ6cmV0dXJuIk0ifX07dmFyIGxmYT1bImJyb3dzZS12aWRlby1tZW51LWJ1dHRvbiIsInVuaWZpZWQtdmVyaWZpZWQtYmFkZ2UiLCJ0b3BiYXItZ3VpZGUtbWVudSJdLGtmYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuSz1fLlNKLmpjKCk7dGhpcy5qPW5ldyBNYXA7dGhpcy5CPW5ldyBXZWFrTWFwO3RoaXMuWT1uZXcgU2V0fWRpc3Bvc2UoKXt0aGlzLkQmJl8uY2YodGhpcy5ELCJ5dC12aXNpYmlsaXR5LW1vbml0b3ItcmVmcmVzaGVkIix0aGlzLkksITEsdGhpcyk7dGhpcy52JiZ0aGlzLnYuZGlzcG9zZSgpfUkoKXtmb3IobGV0IFthLGJdb2YgdGhpcy5qLmVudHJpZXMoKSlPSyh0aGlzLGEsYil9fSxMSzt2YXIgbWZhPXthbmltYXRlZEFzc2V0Vmlld01vZGVsOntnZW5lcmljQmVoYXZpb3I6e2F1dG9wbGF5OiEwLGxvb3A6ITB9LGxvdHRpZUFzc2V0Ont0aGVtZWRVcmw6e2xpZ2h0OiJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUveW91Y2hhdF9hbmltYXRpb25zL3Byb2dyZXNzX2luZGljYXRvcl9zb2xvX3YxLmpzb24iLGRhcms6Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS95b3VjaGF0X2FuaW1hdGlvbnMvcHJvZ3Jlc3NfaW5kaWNhdG9yX3NvbG9fdjEuanNvbiJ9fX19O3ZhciB3ZmE9WyJ5b3UtY2hhdC1lbnRyeXBvaW50LWJ1dHRvbiJdOwpfLkhEPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixzdHlsZTpjLGJ1dHRvbk92ZXJyaWRlczpkLGFiOmUsb25DbGljazpmLHRhcmdldDpofSk9Pnt2YXIgaz1fLnVFKCJidXR0b24tdmlldy1tb2RlbCIsRD0+e0QuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInl0LXJlbmRlcmlkb20tZmluaXNoZWQiLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITEsY29tcG9zZWQ6ITB9KSk7dmFyIEg9YSgpLnRhcmdldElkO0gmJl8uUUsoXy5NSygpLEgsRCk7cmV0dXJuKCk9PntfLlBLKF8uTUsoKSxEKX19KSxsPV8uY0koRD0+bmZhKEQsYSgpPy5lbnRpdHlLZXksYSgpPy5idXR0b25FbnRpdHlTZWxlY3RvclR5cGUpKSxtPSgpPT5hKCk/LmVudGl0eUtleSYmYSgpPy5idXR0b25FbnRpdHlTZWxlY3RvclR5cGU/bCgpOnZvaWQgMCxuPSgpPT5fLngoIldlYkZFQWxsU3R1ZGlvQnlDaGFubmVsX193ZWJfYnV0dG9uX3ZpZXdfbW9kZWxfZW50aXR5X292ZXJyaWRlcyIpP20oKTp2b2lkIDAscD0KKCk9Pnt2YXIgRD1uKCk7aWYoRD8uaWNvbk5hbWUhPT12b2lkIDApcmV0dXJuIEQuaWNvbk5hbWU7aWYoRD8uQWM9PT12b2lkIDApcmV0dXJuIGEoKT8uaWNvbk5hbWV8fGEoKT8ueXRJY29ufSxyPV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpLHQ9KCk9Pnt2YXIgRD1kPy4oKSxIPW0oKSxSPW4oKSxNPUQ7YSgpPy5idXR0b25FbnRpdHlTZWxlY3RvclR5cGUmJihNPXsuLi5ELGRpc2FibGVkOiEhSD8uaXNEaXNhYmxlZHx8ISFEPy5kaXNhYmxlZH0pO0Q9YSgpO3ZhciBTPU0sWT1lPy4oKSxwYT1SPy5hcmlhRGlzYWJsZWR8fEg/LmlzRGlzYWJsZWR8fFI/LmFyaWFCdXN5fHxNPy5kaXNhYmxlZD92b2lkIDA6ZjtNPWg/LigpO2lmKEQpe3ZhciBvYT10ZmEoRC50eXBlKTt2YXIgVT0hIUQudGl0bGV8fCEhRC50aXRsZUZvcm1hdHRlZDt2YXIgaGE9ISEoRC5pY29uTmFtZXx8RC5pY29uSW1hZ2V8fEQueXRJY29ufHxELmxlYWRpbmdBc3NldCk7VT1oYSYmIVU/Imljb24tb25seSI6CmhhP0QuaWNvblBvc2l0aW9uPT09IkJVVFRPTl9WSUVXX01PREVMX0lDT05fUE9TSVRJT05fQUJPVkUiPyJpY29uLXdpdGgtbGFiZWwiOkQuaWNvblRyYWlsaW5nfHxELmljb25Qb3NpdGlvbj09PSJCVVRUT05fVklFV19NT0RFTF9JQ09OX1BPU0lUSU9OX1RSQUlMSU5HIj8idHJhaWxpbmciOiJsZWFkaW5nIjp2b2lkIDA7VT09PSJpY29uLW9ubHktNDAiJiYob2E9InRleHQiKTtoYT1TPy5zdGF0ZT8/dWZhKEQuc3RhdGUpO3ZhciBtYT1TPy5kaXNhYmxlZD8/KEQuc3RhdGU9PT0iQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfRElTQUJMRUQifHxELnN0YXRlPT09IkJVVFRPTl9WSUVXX01PREVMX1NUQVRFX0lOQUNUSVZFIik7Xy54KCJ3ZWJfYnV0dG9uX3ZtX3JlZmFjdG9yX2Rpc2FibGVkIikmJihtYT1TPy5kaXNhYmxlZD8/aGE9PT0iZGlzYWJsZWQiKTtZPVkmJlkuWGImJiFpc05hTihOdW1iZXIoWS5udW1iZXJWYWx1ZSkpP1k6dm9pZCAwO3ZhciB0YT1ELnRpdGxlLFQ9RC50aXRsZUZvcm1hdHRlZCwKYmE9RC5hY2Nlc3NpYmlsaXR5VGV4dCxhYT1zZmEoRC5zdHlsZSksT2E9dmZhKEQuYnV0dG9uU2l6ZSk7cGE9cWZhKEQsayxtYSxwYSxNKTt2YXIgSmI9bWEmJiFELm9uRGlzYWJsZWRUYXAsemE9cGZhKEQsayksTGI9RC5jdXN0b21Gb250Q29sb3IsY2M9RC5jdXN0b21CYWNrZ3JvdW5kQ29sb3I7dmFyIGxjPUQuY3VzdG9tQm9yZGVyQ29sb3I7bGV0IHRkPUQuY3VzdG9tRGFya1RoZW1lRm9udENvbG9yLEJlPUQuY3VzdG9tRGFya1RoZW1lQmFja2dyb3VuZENvbG9yO3ZhciBWYj1ELmN1c3RvbURhcmtUaGVtZUJvcmRlckNvbG9yO0xiPXImJnRkP3RkOkxiO2NjPXImJkJlP0JlOmNjO2xjPXImJlZiP1ZiOmxjO2xjPXtjb2xvcjpMYj9fLk5EKExiKTp2b2lkIDAsYmFja2dyb3VuZENvbG9yOmNjP18uTkQoY2MpOnZvaWQgMCxib3JkZXJDb2xvcjpsYz9fLk5EKGxjKTp2b2lkIDB9O1ZiPV8uQihELnRvb2x0aXBEYXRhLF8uY0spO2NjPV8uQihELmRpc2FibGVkVG9vbHRpcERhdGEsXy5jSyk7CkQ9e2J1dHRvblRleHQ6dGEsV2E6VCxhYjpZLGFjY2Vzc2liaWxpdHlMYWJlbDpiYSxzdHlsZTphYSx0eXBlOm9hLHN0YXRlOmhhLHNpemU6T2EsaWNvblBvc2l0aW9uOlUsb25UYXA6cGEsZGlzYWJsZWQ6SmIsdWM6emEsY3VzdG9tQ29sb3JzOmxjLHRvb2x0aXBUZXh0OkQudG9vbHRpcCxEbjptYSYmY2M/UksoY2MpOlZiP1JLKFZiKTp2b2lkIDAsb25Ib3ZlcjpyZmEoRCxrLE0pLG1pZGRsZWdyb3VuZEFzc2V0OkQubWlkZGxlZ3JvdW5kQXNzZXQsQWM6RC5sZWFkaW5nQXNzZXQsLi4uU319ZWxzZSBEPXtzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSJ9O0QuZm9jdXNlZD1GKCk7Uj8uYWNjZXNzaWJpbGl0eUxhYmVsIT09dm9pZCAwJiYoRC5hY2Nlc3NpYmlsaXR5TGFiZWw9Ui5hY2Nlc3NpYmlsaXR5TGFiZWwpO1I/LmN1c3RvbUNvbG9ycyE9PXZvaWQgMCYmKEQuY3VzdG9tQ29sb3JzPVIuY3VzdG9tQ29sb3JzKTtSPy5BYyE9PXZvaWQgMD8oRC5BYz0KUi5BYyxELmljb25Qb3NpdGlvbj0iaWNvbi1vbmx5Iik6Uj8uaWNvbk5hbWUhPT12b2lkIDAmJihELkFjPXZvaWQgMCxELmljb25Qb3NpdGlvbj0iaWNvbi1vbmx5Iik7SD8uV2EmJihELldhPUguV2EpO3JldHVybiBEfSx2PV8uUEgoKSx6PSgpPT57dmFyIEQ9dCgpO3JldHVybiBfLm9LKEQsISFwKCl8fCEhRC5BYyx2KX0sW0UsQV09Xy5KKCExLHZvaWQgMCwiUHBuTkEiKSxGPUU7Xy5uRSgoKT0+e3ZhciBEPV8uQihhKCk/Lm9uVmlzaWJsZSxfLk9EKTtEJiZfLmFFKEQse21kOiEwfSl9LCJlZmV1eSIpO3ZhciBDPSgpPT57dmFyIEQ9YSgpPy5pY29uSW1hZ2U7cmV0dXJuIEQ/e3NvdXJjZXM6W0RdfTp2b2lkIDB9LEc9SFRNTEVsZW1lbnQucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJwb3BvdmVyIik7cmV0dXJuIF8uSygiYnV0dG9uLXZpZXctbW9kZWwiLHtlbDprLGNsYXNzOl8uUCgieXRTcGVjQnV0dG9uVmlld01vZGVsSG9zdCIsYiwoKT0+e3ZhciBEPWEoKT8udGFyZ2V0SWQ7CmlmKEQpcmV0dXJuIHdmYS5pbmNsdWRlcyhEKT9EOnZvaWQgMH0pLCJvbjpmb2N1c2luIjpmdW5jdGlvbigpe3ZhciBEPV8ueSgpLnJlc29sdmUoXy5JbihfLmpIKSk7RCYmQShELlhlKCkpfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKCl7QSghMSl9LCJhcmlhLWRpc2FibGVkIjooKT0+bigpPy5hcmlhRGlzYWJsZWQ/InRydWUiOnZvaWQgMCwiYXJpYS1idXN5IjooKT0+bigpPy5hcmlhQnVzeT8idHJ1ZSI6dm9pZCAwfSxfLksoXy5PLHtBOigpPT4hKG0oKT8uaXNIaWRkZW4/PyExKSx0aGVuOigpPT5fLksoXy5PLHtBOkMsdGhlbjpEPT5fLksoXy5KSyx7ZGF0YTp0LGljb246KCk9Pl8uSyhfLmpGLHtkYXRhOkQsYWx0OiIiLEFiOnosZGM6eixUYTohMCxZYTohMH0pLGFwOkd9KSxXOigpPT5fLksoXy5KSyx7ZGF0YTp0LGljb25OYW1lOnAsR2U6KCk9PiEhYz8uKCk/LmFuaW1hdGVJY29uLGFwOkd9KX0pfSkpfSwidGEiKTtfLkhELmlkb21Db21wYXQ9e2NhbGxiYWNrczp7b25DbGljazohMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJEbHZGMWQiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5ZQz1uZXcgXy5JKCJhY2Nlc3NpYmlsaXR5Q29udGV4dCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnNMPW5ldyBfLkkoImF2YXRhclZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlFGPWZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpLGM9YS5kYXJrVGhlbWVJbWFnZT8/YS5pbWFnZTtyZXR1cm4gYj9jOmEuaW1hZ2V9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5SRj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlJhcTRjYiIpO3JldHVybiBfLklEfTtfLlNGPV8uY0QoKCk9Pl8uUkYoKSwiYXZhdGFyVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImF2YXRhclZpZXdNb2RlbCIsIlJhcTRjYiIsXy5SRil9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy4kRj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlB6VWRaYiIpO3JldHVybiBfLkVEfTtfLmFHPV8uY0QoKCk9Pl8uJEYoKSwiYmFkZ2VWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYmFkZ2VWaWV3TW9kZWwiLCJQelVkWmIiLF8uJEYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJXcWxjVmIiKTtyZXR1cm4gXy54RH07Xy52TD1fLmNEKCgpPT5fLnVMKCksImRlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJkZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWwiLCJXcWxjVmIiLF8udUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ud0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJ1aGxMR2IiKTtyZXR1cm4gXy53RH07Xy54TD1fLmNEKCgpPT5fLndMKCksImZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJmbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWwiLCJ1aGxMR2IiLF8ud0wpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ueUw9ZnVuY3Rpb24oKXtpZighKCJtYXRjaE1lZGlhImluIHdpbmRvdykpcmV0dXJuIF8uV2koRXJyb3IoInRkIikpLCgpPT4wO3ZhciBhPXdpbmRvdy5tYXRjaE1lZGlhKCIobWF4LXdpZHRoOiA1MjcuOXB4KSIpLGI9d2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDUyOHB4KSBhbmQgKG1heC13aWR0aDogODM5LjlweCkiKSxjPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSIpLGQ9d2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDEwMjRweCkiKSxbZSxmXT1fLkooYS5tYXRjaGVzLHZvaWQgMCwiVG1JS2NiIiksW2gsa109Xy5KKGIubWF0Y2hlcyx2b2lkIDAsIlowZlRLZCIpLFtsLG1dPV8uSihjLm1hdGNoZXMsdm9pZCAwLCJ3NHh5N2IiKSxbbixwXT1fLkooZC5tYXRjaGVzLHZvaWQgMCwiRHJiTkMiKSxyPUU9PntmKEUubWF0Y2hlcyl9LHQ9RT0+e2soRS5tYXRjaGVzKX0sdj1FPT57bShFLm1hdGNoZXMpfSwKej1FPT57cChFLm1hdGNoZXMpfTtfLlVKKCgpPT57YS5hZGRFdmVudExpc3RlbmVyPyhhLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsciksYi5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHQpLGMuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix2KSxkLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIseikpOmEuYWRkTGlzdGVuZXImJihhLmFkZExpc3RlbmVyKHIpLGIuYWRkTGlzdGVuZXIodCksYy5hZGRMaXN0ZW5lcih2KSxkLmFkZExpc3RlbmVyKHopKTtfLll1KCgpPT57YS5yZW1vdmVFdmVudExpc3RlbmVyPyhhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsciksYi5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHQpLGMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix2KSxkLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIseikpOmEucmVtb3ZlTGlzdGVuZXImJihhLnJlbW92ZUxpc3RlbmVyKHIpLGIucmVtb3ZlTGlzdGVuZXIodCksYy5yZW1vdmVMaXN0ZW5lcih2KSwKZC5yZW1vdmVMaXN0ZW5lcih6KSl9KX0pO3JldHVybigpPT5lKCk/MTpoKCk/MjpsKCk/MzpuKCk/NDowfTtfLkFMPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLnkoKS5yZXNvbHZlKF8uSW4oekwpKSxbZSxmXT1fLkooZCx2b2lkIDAsInhHc1JRIik7ZHx8Xy5ZdCh6TCxmKTtyZXR1cm4gXy5OKCgpPT57dmFyIGg9YSgpO3JldHVybiBoJiZiKCk/ZSgpPy4oaCxiLGMpOnZvaWQgMH0sdm9pZCAwLCJic29zZGQiKX07dmFyIHpMPW5ldyBfLlZzKCJTRU1BTlRJQ19UWVBPR1JBUEhZX1JFU09MVkVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVEg9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pl8uQihhKCksXy5ZQyl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgQkw9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gXy55KCkucmVzb2x2ZShfLkluKF8ua0YpKT8uKCk/YS5kYXJrVGhlbWU6YS5saWdodFRoZW1lfSxDTD1uZXcgXy5JKCJiYWRnZVZpZXdNb2RlbCIpO3ZhciBDZmE9bmV3IF8uVnMoIkNPTU1PTl9NQVJLX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgRGZhO18uREw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGcUhjR2UiKTtyZXR1cm4gXy50Rn07RGZhPV8uY0QoKCk9Pl8uREwoKSwic2VjdGlvbkhlYWRlckxheW91dCIpO18uWXQoXy5KRCxhPT57YS5KKCJzZWN0aW9uSGVhZGVyTGF5b3V0IiwiRnFIY0dlIixfLkRMKX0pO18udkQ9Xy5MKCh7Y2xhc3NOYW1lOmEsZGF0YTpiLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpjLGRpc2FibGVWZXJ0aWNhbFBhZGRpbmc6ZCxUaTplLEtuOmYsaXNPdmVybGF5OmgsRXM6ayxnTDpsLGlKOm19KT0+e3ZhciBuPV8uVEgoKCk9PmIoKS5yZW5kZXJlckNvbnRleHQpLHA9Xy55TCgpLHI9Xy5BTCgoKT0+YigpLmhlYWRsaW5lVHlwb2dyYXBoeVRva2VuLHAse21heExpbmVzOjJ9KTtwPV8uQUwoKCk9PmIoKS5zdWJ0aXRsZVR5cG9ncmFwaHlUb2tlbixwKTt2YXIgdD1fLlFIKCgpPT5iKCkuaG9yaXpvbnRhbFBhZGRpbmcpLHY9Xy5RSCgoKT0+YigpLnRvcFBhZGRpbmcpLHo9Xy5RSCgoKT0+YigpLmJvdHRvbVBhZGRpbmcpO3JldHVybiBfLksoInl0LXNlY3Rpb24taGVhZGVyLXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbEhvc3QiLGEpLHN0eWxlOl8uSUUoeyJiYWNrZ3JvdW5kLWNvbG9yIjooKT0+QkwoYigpLmJhY2tncm91bmRDb2xvcik/Cl8uTkQoQkwoYigpLmJhY2tncm91bmRDb2xvcikpOnZvaWQgMH0pfSxfLksoRGZhLHthcmlhTGFiZWw6KCk9Pm4oKT8ubGFiZWwsQXc6ITEsdGl0bGU6KCk9Pl8uSyhfLlYse3RleHQ6KCk9PmIoKS5oZWFkbGluZSxYYTohMH0pLGtoOiEwLHN1YmxhYmVsOigpPT5fLksoRWZhLHtkYXRhOmJ9KSxMdzooKT0+ISFiKCkuc3VibGFiZWx8fCEhYigpLmJvdHRvbUJhZGdlfHwhIWIoKS5ib3R0b21CYWRnZXMsc3VwZXJsYWJlbDooKT0+Xy5LKEZmYSx7ZGF0YTpifSksTXc6KCk9PiEhYigpLnN1cGVybGFiZWx8fCEhYigpLnRvcEJhZGdlLGxlYWRpbmdJbWFnZTooKT0+Xy5LKEdmYSx7bGVhZGluZ0FjY2Vzc29yeTooKT0+YigpLmxlYWRpbmdBY2Nlc3Nvcnl9KSxIdzooKT0+ISFiKCkubGVhZGluZ0FjY2Vzc29yeSx0cmFpbGluZ0FjdGlvbnM6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQWN0aW9uc0NvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PgpiKCkudHJhaWxpbmdBY3Rpb25zfSx7ZmxleGlibGVBY3Rpb25zVmlld01vZGVsOl8ueEx9KSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbnNDb250YWluZXIifSxfLksoXy5nRyx7cGE6KCk9Pmw/LigpfHxbXX0sRT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbiJ9LEUpKSl9KSksTnc6KCk9Pm0/LigpfHwhIWIoKS50cmFpbGluZ0FjdGlvbnMsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOigpPT5jPy4oKXx8YigpLmRpc2FibGVIb3Jpem9udGFsUGFkZGluZyxkaXNhYmxlVmVydGljYWxQYWRkaW5nOigpPT5kPy4oKXx8YigpLmRpc2FibGVWZXJ0aWNhbFBhZGRpbmcsVGk6ZSxLbjpmLGlzT3ZlcmxheTpoLHJoOigpPT4hIV8uc0goYigpLnJlbmRlcmVyQ29udGV4dCksaG92ZXJFZmZlY3RFbmFibGVkOigpPT5iKCkuaG92ZXJFZmZlY3RFbmFibGVkLG9uQ2xpY2s6RT0+Cnt2YXIgQT1fLnNIKGIoKS5yZW5kZXJlckNvbnRleHQpO0EmJl8uYUUoQSx7Zm9ybTp7ZWxlbWVudDpFLnRhcmdldCxldmVudDpFfX0pfSxib3R0b21BY2Nlc3Nvcnk6KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmIoKS5ib3R0b21BY2Nlc3Nvcnl9LHtkZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWw6KHtkYXRhOkV9KT0+Xy5LKF8udkwse2RhdGE6RSxYYzohMH0pLGNvbW1vbk1hcmtWaWV3TW9kZWw6KHtkYXRhOkV9KT0+Xy5LKF8uSUIsbnVsbCxfLnkoKS5yZXNvbHZlKF8uSW4oQ2ZhKSk/Lih7ZGF0YTpFfSkpfSksenc6KCk9PiEhYigpLmJvdHRvbUFjY2Vzc29yeSxFczprLGhlYWRsaW5lVHlwb2dyYXBoeVRva2VuOnIsc3VidGl0bGVUeXBvZ3JhcGh5VG9rZW46cCxqcTp0LGZCOnYsSHU6en0pKX0sIndhIik7CnZhciBHZmE9Xy5MKCh7bGVhZGluZ0FjY2Vzc29yeTphfSk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+YSgpLmltYWdlPz9fLlFGKGEoKS50aGVtZWRJbWFnZSksdGhlbjpiPT5fLksoXy5qRix7ZGF0YTpiLGFsdDoiIixUYTohMCxZYTohMH0pfSksXy5LKF8uTyx7QTooKT0+Xy5CKGEoKS5hdmF0YXIsXy5zTCksdGhlbjpiPT5fLksoXy5TRix7ZGF0YTpifSl9KSksInhhIiksRWZhPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5JQixudWxsLF8uSygic3BhbiIse2NsYXNzOl8uUCh7eXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VXaXRoTGFiZWw6KCk9PighIWEoKS5ib3R0b21CYWRnZXN8fCEhYSgpLmJvdHRvbUJhZGdlKSYmISFhKCkuc3VibGFiZWx9KX0sXy5LKF8uTyx7QTooKT0+Xy5CKGEoKS5ib3R0b21CYWRnZSxDTCksdGhlbjpiPT5fLksoXy5hRyx7ZGF0YTpifSl9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYm90dG9tQmFkZ2VzfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Cl8uSyhfLmFHLHtkYXRhOmIsY2xhc3M6Xy5QKCJ5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZXMiKX0pfSkpLF8uSyhfLk8se0E6KCk9PmEoKS5zdWJsYWJlbCx0aGVuOmI9Pl8uSyhfLlYse3RleHQ6Yn0pfSkpLCJ5YSIpLEZmYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT5fLkIoYSgpLnRvcEJhZGdlLENMKSx0aGVuOmI9Pl8uSyhfLmFHLHtkYXRhOmIsY2xhc3M6Xy5QKHt5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZVdpdGhMYWJlbDooKT0+ISFiKCkmJiEhYSgpLnN1cGVybGFiZWx9KX0pfSksXy5LKF8uTyx7QTooKT0+YSgpLnN1cGVybGFiZWwsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmJ9KX0pKSwiemEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiY3lDVmxkIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBOSDtOSD1mdW5jdGlvbigpe307Xy5PSD1mdW5jdGlvbigpe3JldHVybiI6IisoSmRhLmorKykudG9TdHJpbmcoMzYpfTtfLndhKE5IKTtOSC5wcm90b3R5cGUuaj0wO3ZhciBKZGE9TkguamMoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5GST1uZXcgXy5WcygiU1VCTUlUX0FQSV9TRVJWSUNFX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ua0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJvc1R0eGUiKTtyZXR1cm4gXy5BRH07Xy5sTD1fLmNEKCgpPT5fLmtMKCksImJhc2ljQ29udGVudFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJiYXNpY0NvbnRlbnRWaWV3TW9kZWwiLCJvc1R0eGUiLF8ua0wpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVEY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJEbHZGMWQiKTtyZXR1cm4gXy5IRH07Xy5VRj1fLmNEKCgpPT5fLlRGKCksImJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJidXR0b25WaWV3TW9kZWwiLCJEbHZGMWQiLF8uVEYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGc29YemMiKTtyZXR1cm4gXy56RH07Xy5uTD1fLmNEKCgpPT5fLm1MKCksImNvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjb250ZW50TGlzdEl0ZW1WaWV3TW9kZWwiLCJGc29YemMiLF8ubUwpfSk7Xy5vTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInBlMm9qYiIpO3JldHVybiBfLkNEfTtfLnBMPV8uY0QoKCk9Pl8ub0woKSwibGlzdEl0ZW1WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlzdEl0ZW1WaWV3TW9kZWwiLCJwZTJvamIiLF8ub0wpfSk7Xy5xTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlVBTTVtIik7cmV0dXJuIF8ueUR9O18uckw9Xy5jRCgoKT0+Xy5xTCgpLCJsb2NrdXBWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibG9ja3VwVmlld01vZGVsIiwiVUFNNW0iLF8ucUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uRkw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJWT1VQOWQiKTtyZXR1cm4gXy51RH07Xy5HTD1fLmNEKCgpPT5fLkZMKCksImxpbmVhckxheW91dFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJsaW5lYXJMYXlvdXRWaWV3TW9kZWwiLCJWT1VQOWQiLF8uRkwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBLSSxhZWEsJEksYUosYmVhO18uR0k9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWI/ITA6YT8uZm9ybUlkPT09Yj8uZm9ybUlkJiZhPy5maWVsZElkPT09Yj8uZmllbGRJZH07Xy5IST1mdW5jdGlvbihhKXtyZXR1cm4gRXJyb3IoIm5kYCIrYS5yZXBsYWNlKC9cblxzKi9nLCIgIikpfTtfLklJPWZ1bmN0aW9uKGEpe3JldHVybiBFcnJvcigib2RgIithLnJlcGxhY2UoL1xuXHMqL2csIiAiKSl9O18uSkk9ZnVuY3Rpb24oKXtyZXR1cm57bmo6ITEsZmI6ITAsemQ6ITEsaXNTdWJtaXR0aW5nOiExLGNzOjB9fTtLST1mdW5jdGlvbihhLGIpe3ZhciBjPSEwO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhhKSl7aWYoZD09PSJmb3JtSWQiKWNvbnRpbnVlO2xldCBlPWFbZF07ZS5raW5kPT09MSYmKEtJKGUudmFsdWUsYil8fChjPSExKSl9YihhLmZvcm1JZCl8fChjPSExKTtyZXR1cm4gY307Cl8uTUk9ZnVuY3Rpb24oYSl7dmFyIGI9TEkuZ2V0KGEpO2lmKGIpcmV0dXJuIGI7Yj1hLnJlcGxhY2UoL18oW2EtekEtWjAtOV0pL2csKGMsZCk9PmQudG9VcHBlckNhc2UoKSk7TEkuc2V0KGEsYik7cmV0dXJuIGJ9O18uT0k9ZnVuY3Rpb24oKXtOST8uKGE9PmErMSl9O18uUkk9ZnVuY3Rpb24oYSl7UEk/UEkoKTooW1BJLCxOSV09Xy5KKDAsdm9pZCAwLCJWeFkwZmIiKSxQSSgpKTtyZXR1cm4gXy5RSS5nZXQoYSl9O18uU0k9ZnVuY3Rpb24oYSxiKXtpZihhKXt2YXIgYz1fLlJJKGEpO2lmKGMpe2lmKGImJmIhPT1jLlVpKXRocm93IF8uSUkoYEZvcm0gdHlwZSBtaXNtYXRjaCBmb3IgZm9ybUlkICR7YX06IHByb3ZpZGVkIGZvcm1UeXBlICIke2J9IiBkb2VzIG5vdCBtYXRjaCBzdG9yZWQgZm9ybVR5cGUgIiR7Yy5VaX0iLmApO3JldHVybiBjLmZvcm19fX07Cl8uVkk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5SSShhKTtpZighYil0aHJvdyBfLlRJKGEpO2lmKGIuU3A9PT0wKXJldHVybiBiLmZvcm07Yj1iLnBnO2lmKCFiKXRocm93IF8uVUkoYSk7YT1fLlNJKGIuVnopO2lmKCFhKXRocm93IF8uSEkoYEZvcm1JZCAke2IuVnp9IG5vdCBmb3VuZC5gKTtyZXR1cm4gYX07YWVhPWZ1bmN0aW9uKGEpe3RyeXt2YXIgYj1fLlZJKGEpfWNhdGNoKGMpe3JldHVybiExfShhPUtJKGIsYz0+Xy5RSS5kZWxldGUoYykpKSYmXy5PSSgpO3JldHVybiBhfTtfLldJPWZ1bmN0aW9uKGEsYil7aWYoYj09PSJmb3JtSWQiKXRocm93IF8uSUkoIkZpZWxkIGlkIGNhbm5vdCBiZSBmb3JtSWQuIik7aWYoYT1fLlNJKGEpKXJldHVybiBiPV8uTUkoYiksYVtiXX07Xy5YST1mdW5jdGlvbihhKXtpZihhPV8uUkkoYSkpcmV0dXJuIGEuRGx9OwpfLlpJPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTigoKT0+Xy5CdihhKT8/e30se2VxdWFsczpfLkdJfSwiTEROTGJkIiksYz1fLk4oKCk9Pnt2YXIge2Zvcm1JZDpkLGZpZWxkSWQ6ZX09YigpO2lmKGQmJmUpe3ZhciBmO2lmKGY9Xy5XSShkLGUpKXtpZighKCJmdW5jdGlvbiI9PXR5cGVvZiBfLllJJiZmIGluc3RhbmNlb2YgXy5ZSSkpdGhyb3cgXy5JSShgRmllbGQgJHtlfSBpbiBmb3JtICR7ZH0gaXMgbm90IGEgU2NhbGFyRmllbGQuYCk7fWVsc2UgZj12b2lkIDA7cmV0dXJuIGZ9fSx2b2lkIDAsIm84bzAwZCIpO3JldHVybigpPT5jKCl9OyRJPWZ1bmN0aW9uKGEsYil7dmFyIGM9KGM9Xy5SSShhKSk/Yy5Dbjp2b2lkIDA7aWYoIWMpdGhyb3cgXy5ISShgTWlzc2luZyB0b0Zvcm1EYXRhIGZ1bmN0aW9uIGZvciBGb3JtSWQgJHthfS5gKTtyZXR1cm4gYyhiKX07CmFKPWZ1bmN0aW9uKGEsYil7dmFyIGM9KGM9Xy5SSShhKSk/Yy5DbDp2b2lkIDA7aWYoIWMpdGhyb3cgXy5ISShgTWlzc2luZyBmb3JtRGF0YUV4dGVuc2lvbkZpZWxkIGZvciBGb3JtSWQgJHthfS5gKTtyZXR1cm57W2NdOmJ9fTsKYmVhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPV8uVkkoYSksYz1fLlhJKGEpO3ZhciBkPShkPV8uUkkoYSkpP2Quc3VibWl0Q29uZmlnOnZvaWQgMDt2YXIgZT1fLnkoKS5yZXNvbHZlKF8uSW4oXy5GSSkpLGY9Xy5SSShhKTtmJiYoZi5aZD17Li4uZi5aZCxpc1N1Ym1pdHRpbmc6ITB9LF8uT0koKSk7dHJ5e2lmKGQmJmUpe2xldCBrPSRJKGEsYik7dmFyIGg9YUooYSxrKTtsZXQgbD1hd2FpdCBlLmJpKGQuc3VibWl0SWQsaCx7c3VibWl0QWN0aW9uOiJTVUJNSVRfQUNUSU9OX1NVQk1JU1NJT04iLGFsbEZpZWxkczohMH0sZC5wYXJhbXMsZC5jbGlja1RyYWNraW5nUGFyYW1zKTtpZihsLnN1Ym1pdEVycm9yKXRocm93IGJKKGwuc3VibWl0RXJyb3IpO2F3YWl0IGM/LkhtPy4obCl9ZWxzZSBhd2FpdCBjPy5vblN1Ym1pdD8uKGIpfWNhdGNoKGspe3JldHVybiBrIGluc3RhbmNlb2YgRXJyb3I/UHJvbWlzZS5yZWplY3Qoayk6UHJvbWlzZS5yZWplY3QoYkooaykpfWZpbmFsbHl7aWYoYT0KXy5SSShhKSlhLlpkPXsuLi5hLlpkLGlzU3VibWl0dGluZzohMSxjczphLlpkLmNzKzF9LF8uT0koKX19O18uY0o9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLk4oKCk9Pl8uQnYoYSk/PyIiLHZvaWQgMCwiR1JtcHIiKSxkPV8uTigoKT0+Xy5TSShjKCksYiksdm9pZCAwLCJwYlRlQmIiKSxlPV8uTigoKT0+e3ZhciBoPWMoKTtyZXR1cm4oaD1fLlJJKGgpKT9oLlpkOl8uSkkoKX0sdm9pZCAwLCJ1Y3Y2TGIiKSxmPV8uTigoKT0+e3ZhciBoPWQoKTtpZighaClyZXR1cm57Zm9ybURhdGE6dm9pZCAwLGV3OnZvaWQgMH07aD0kSShjKCksaCk7cmV0dXJue2Zvcm1EYXRhOmgsZXc6YUooYygpLGgpfX0sdm9pZCAwLCJoSDYxcWMiKTtyZXR1cm57Zm9ybTooKT0+ZCgpLGRhdGE6KCk9PmYoKSxzdGF0ZTooKT0+ZSgpLHN1Ym1pdDphc3luYygpPT57YXdhaXQgYmVhKGMoKSl9LGRpc3Bvc2U6KCk9PmFlYShjKCkpfX07Xy5kSj1TeW1ib2woImRkIik7dmFyIGJKO18uVEk9YT0+Xy5ISShgRm9ybSBzZXNzaW9uIGZvciBGb3JtSWQgJHthfSBub3QgZm91bmQuYCk7Xy5VST1hPT5fLkhJKGBOZXN0ZWQgZm9ybSBhY2Nlc3NvciBmb3IgRm9ybUlkICR7YX0gbm90IGZvdW5kLmApO2JKPWE9Pl8uSUkoYFVua25vd24gZXJyb3IgZHVyaW5nIGZvcm0gc3VibWlzc2lvbjogJHtKU09OLnN0cmluZ2lmeShhKX1gKTt2YXIgTEk9bmV3IE1hcDt2YXIgUEksTkk7Xy5RST1uZXcgTWFwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgSGZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJDQVJEX1NUWUxFX09VVExJTkUiOnJldHVybiJ5dENhcmRWaWV3TW9kZWxPdXRsaW5lIjtjYXNlICJDQVJEX1NUWUxFX1RPTkFMIjpyZXR1cm4ieXRDYXJkVmlld01vZGVsVG9uYWwiO2Nhc2UgIkNBUkRfU1RZTEVfSU5WRVJTRSI6cmV0dXJuInl0Q2FyZFZpZXdNb2RlbEludmVydGVkIjtkZWZhdWx0OnJldHVybiJ5dENhcmRWaWV3TW9kZWxSYWlzZWQifX07dmFyIEhMPW5ldyBfLkkoInNlY3Rpb25IZWFkZXJWaWV3TW9kZWwiKTt2YXIgSWZhO18uSUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJWYlhyVWUiKTtyZXR1cm4gXy5oSH07SWZhPV8uY0QoKCk9Pl8uSUwoKSwiY29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjb252ZXJzYXRpb25WaWRlb0lkZWFDYXJkVmlld01vZGVsIiwiVmJYclVlIixfLklMKX0pO3ZhciBKZmE7Xy5KTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInBFU2xEYiIpO3JldHVybiBfLmVGfTtKZmE9Xy5jRCgoKT0+Xy5KTCgpLCJ0aGVtZWRJbWFnZVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJ0aGVtZWRJbWFnZVZpZXdNb2RlbCIsInBFU2xEYiIsXy5KTCl9KTt2YXIgS2ZhPW5ldyBfLlZzKCJBU0tfU1RVRElPX0NBUkRfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBMZmE9bmV3IF8uVnMoIkFTS19TVFVESU9fVklERU9fRURJVF9QUkVWSUVXX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgTWZhPW5ldyBfLlZzKCJBVURJRU5DRV9PTkxJTkVfSEVBVE1BUF9WSUVXX01PREVMX1RPS0VOIik7dmFyIE5mYT1uZXcgXy5WcygiQ09NTUVOVFNfRElHRVNUX0NPTlRFTlRfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBPZmE9bmV3IF8uVnMoIlBSSU1FVElNRV9PRkZFUklOR19JTl9SRVZJRVdfQ0FSRF9DT05URU5UX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgUGZhPW5ldyBfLlZzKCJZVENQX0ZVTk5FTF9WSUVXX01PREVMX1RPS0VOIik7dmFyIFFmYTtfLktMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgicVZEZ0JkIik7cmV0dXJuIF8uZEZ9O1FmYT1fLmNEKCgpPT5fLktMKCksImNpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWwiLCJxVkRnQmQiLF8uS0wpfSk7dmFyIFJmYTtfLkxMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiaTZYb21lIik7cmV0dXJuIF8uUEZ9O1JmYT1fLmNEKCgpPT5fLkxMKCksInJhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWwiLCJpNlhvbWUiLF8uTEwpfSk7dmFyIFNmYTtfLk1MPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiYnpqMGpkIik7cmV0dXJuIF8udEx9O1NmYT1fLmNEKCgpPT5fLk1MKCksImlubGluZUV4cGFuZGVyVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImlubGluZUV4cGFuZGVyVmlld01vZGVsIiwiYnpqMGpkIixfLk1MKX0pO3ZhciBUZmE7Xy5OTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIkZpTkdPYyIpO3JldHVybiBfLmdIfTtUZmE9Xy5jRCgoKT0+Xy5OTCgpLCJkaXNtaXNzaWJsZUl0ZW0iKTtfLll0KF8uSkQsYT0+e2EuSigiZGlzbWlzc2libGVJdGVtIiwiRmlOR09jIixfLk5MKX0pO3ZhciBVZmE9bmV3IF8uVnMoIkNPTlRFTlRfU0VDVElPTl9WSUVXX01PREVMX1RPS0VOIik7dmFyIFZmYTtfLk9MPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgidVJJYUMiKTtyZXR1cm4gXy5CSH07VmZhPV8uY0QoKCk9Pl8uT0woKSwiY2hhbm5lbEF0dHJpYnV0aW9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImNoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbCIsInVSSWFDIixfLk9MKX0pO3ZhciBQTD1fLkwoYT0+e3ZhciBiPV8uUUgoKCk9PmEuZGF0YSgpLnRvcENvbnRlbnRQYWRkaW5nVG9rZW4pLGM9Xy5RSCgoKT0+YS5kYXRhKCkuYm9keUNvbnRlbnRQYWRkaW5nVmFsdWVzPy50b3BQYWRkaW5nVG9rZW58fGEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1Rva2VuKSxkPV8uUUgoKCk9PmEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1ZhbHVlcz8uYm90dG9tUGFkZGluZ1Rva2VufHxhLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdUb2tlbiksZT1fLlFIKCgpPT5hLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdWYWx1ZXM/Lmhvcml6b250YWxQYWRkaW5nVG9rZW58fGEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1Rva2VuKSxmPSgpPT5hLmRhdGEoKS5iYWNrZ3JvdW5kLGg9KCk9PmEuZGF0YSgpLnRyYWlsaW5nQWN0aW9uTGF5b3V0PT09IkNBUkRfVFJBSUxJTkdfQUNUSU9OX0xBWU9VVF9PVkVSTEFZIixrPSgpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbkxheW91dD09PQoiQ0FSRF9UUkFJTElOR19BQ1RJT05fTEFZT1VUX0lOTElORV9DRU5URVIiLGw9Xy55KCkucmVzb2x2ZShfLkluKFVmYSkpLG09Xy55KCkucmVzb2x2ZShfLkluKEtmYSkpLG49Xy55KCkucmVzb2x2ZShfLkluKExmYSkpLHA9Xy55KCkucmVzb2x2ZShfLkluKE5mYSkpLHI9Xy55KCkucmVzb2x2ZShfLkluKE1mYSkpLHQ9Xy55KCkucmVzb2x2ZShfLkluKFBmYSkpLHY9Xy55KCkucmVzb2x2ZShfLkluKE9mYSkpLHo9KCk9PmEuZGF0YSgpLmNhcmRTdGF0ZT8uZW5hYmxlbWVudFN0YXRlPT09IkNBUkRfRU5BQkxFTUVOVF9TVEFURV9ESVNBQkxFRCIsRT0oKT0+IXooKSYmXy50SChhLmRhdGEoKS5yZW5kZXJlckNvbnRleHQpLEE9KCk9PntpZihhLmlzRXhwYW5kZWQ/LigpIT09dm9pZCAwKXJldHVybiBhLmlzRXhwYW5kZWQ/LigpO3N3aXRjaChhLmRhdGEoKS5jYXJkU3RhdGU/LmV4cGFuc2lvblN0YXRlKXtjYXNlICJDQVJEX0VYUEFOU0lPTl9TVEFURV9FWFBBTkRFRCI6cmV0dXJuITA7CmNhc2UgIkNBUkRfRVhQQU5TSU9OX1NUQVRFX0NPTExBUFNFRCI6cmV0dXJuITE7ZGVmYXVsdDpyZXR1cm4gYS5pc1NlbGVjdGVkPy4oKX19O3JldHVybiBfLksoInl0LWNhcmQtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsSG9zdCIsYS5jbGFzc05hbWUpfSxfLksoVGZhLHtjb250ZW50SWQ6KCk9PmEuZGF0YSgpLmNvbnRlbnRJZH0sKCk9Pl8uSygiZGl2Iix7ZWw6Xy5yRihfLnVIKCgpPT5FKCk/YS5kYXRhKCkucmVuZGVyZXJDb250ZXh0OnZvaWQgMCx2b2lkIDAsdm9pZCAwLFsiQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpLC4uLihfLngoIldlYkZFQWxsU3R1ZGlvQnlDaGFubmVsX19lbmFibGVfYW5hbHl0aWNzX2h1Yl93ZWIiKT9bIllULUxJU1QtSVRFTS1WSUVXLU1PREVMIl06W10pXSkpLGNsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsQ2FyZFZpZXdNb2RlbElubmVyIix7eXRDYXJkVmlld01vZGVsQ2xpY2thYmxlOkV9LCgpPT5IZmEoYS5kYXRhKCkuY2FyZFN0eWxlKSwKe3l0Q2FyZFZpZXdNb2RlbENhcmRTZWxlY3RlZDooKT0+ISFhLmlzU2VsZWN0ZWQ/LigpfSwoKT0+e2lmKGEuaXNTZWxlY3RlZD8uKCk9PT12b2lkIDApe2E6e3N3aXRjaChhLmRhdGEoKS5jYXJkU3RhdGU/LnNlbGVjdGlvblN0YXRlKXtjYXNlICJDQVJEX1NFTEVDVElPTl9TVEFURV9TRUxFQ1RFRCI6dmFyIEY9Inl0Q2FyZFZpZXdNb2RlbFNlbGVjdGVkIjticmVhayBhfUY9dm9pZCAwfXJldHVybiBGfX0pLHJvbGU6KCk9PkUoKSYmIV8uQihhLmRhdGEoKS50b3BDb250ZW50LEhMKT8iYnV0dG9uIjp2b2lkIDAsImFyaWEtZGlzYWJsZWQiOnosdGFiaW5kZXg6KCk9PnooKT8tMTpFKCkmJiFfLkIoYS5kYXRhKCkudG9wQ29udGVudCxITCk/MDp2b2lkIDB9LF8uSyhfLlcse2RhdGE6Zix3cmFwcGVyOkY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbEJhY2tncm91bmRXcmFwcGVyIn0sRigpKX0se2NpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbDpRZmEsdGhlbWVkSW1hZ2VWaWV3TW9kZWw6KHtkYXRhOkZ9KT0+Cl8uSyhKZmEse2RhdGE6RixjbGFzc05hbWU6Inl0Q2FyZFZpZXdNb2RlbEJhY2tncm91bmQifSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dENhcmRWaWV3TW9kZWxDb250ZW50V3JhcHBlciJ9LF8uSyhfLk8se0E6KCk9PiFoKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRDYXJkVmlld01vZGVsVG9wQ29udGVudENvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dENhcmRWaWV3TW9kZWxUb3BDb250ZW50Iix7eXRDYXJkVmlld01vZGVsVG9wQ29udGVudFBhZGRpbmc6KCk9PiFhLmRhdGEoKS5kaXNhYmxlVG9wQ29udGVudFBhZGRpbmcmJmEuZGF0YSgpLnRvcENvbnRlbnR9KSxzdHlsZTpfLklFKHtwYWRkaW5nOmJ9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YS5kYXRhKCkudG9wQ29udGVudH0se2NvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbDpfLm5MLGJhc2ljQ29udGVudFZpZXdNb2RlbDpfLmxMLGxpbmVhckxheW91dFZpZXdNb2RlbDpfLkdMLGxpc3RJdGVtVmlld01vZGVsOl8ucEwsCnNlY3Rpb25IZWFkZXJWaWV3TW9kZWw6Xy52RH0pKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsSW5saW5lVHJhaWxpbmdBY3Rpb24iLHt5dENhcmRWaWV3TW9kZWxJbmxpbmVDZW50ZXJUcmFpbGluZ0FjdGlvbjprLHl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uTWFyZ2luOigpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbn0pfSxfLksoXy5XLHtkYXRhOigpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbn0se2J1dHRvblZpZXdNb2RlbDpfLlVGfSkpKX0pLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dENhcmRWaWV3TW9kZWxCb3R0b21Db250ZW50UGFkZGluZzooKT0+IWEuZGF0YSgpLmRpc2FibGVCb2R5Q29udGVudFBhZGRpbmcmJmEuZGF0YSgpLmJvZHlDb250ZW50fSksc3R5bGU6Xy5JRSh7InBhZGRpbmctdG9wIjpjLCJwYWRkaW5nLWJvdHRvbSI6ZCwicGFkZGluZy1sZWZ0IjplLCJwYWRkaW5nLXJpZ2h0IjplfSl9LF8uSyhfLlcse2RhdGE6KCk9PgphLmRhdGEoKS5ib2R5Q29udGVudH0se2Jhc2ljQ29udGVudFZpZXdNb2RlbDpfLmxMLGNoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbDpWZmEsY29udGVudEluc3BpcmF0aW9uQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbDpJZmEsY29udGVudExpc3RJdGVtVmlld01vZGVsOl8ubkwsZGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsOl8udkwsaW5saW5lRXhwYW5kZXJWaWV3TW9kZWw6KHtkYXRhOkZ9KT0+Xy5LKFNmYSx7ZGF0YTpGLGlzU2VsZWN0ZWQ6QX0pLGxpbmVhckxheW91dFZpZXdNb2RlbDpfLkdMLGxpc3RJdGVtVmlld01vZGVsOl8ucEwsbG9ja3VwVmlld01vZGVsOih7ZGF0YTpGfSk9Pl8uSyhfLnJMLHtkYXRhOkYsd3E6ITB9KSwuLi4obSYme2Fza1N0dWRpb0NhcmRWaWV3TW9kZWw6bX0pLC4uLihuJiZ7YXNrU3R1ZGlvVmlkZW9FZGl0UHJldmlld1ZpZXdNb2RlbDpufSksLi4uKHImJnthdWRpZW5jZU9ubGluZUhlYXRtYXBWaWV3TW9kZWw6cn0pLC4uLihwJiYKe2NvbW1lbnRzRGlnZXN0Q29udGVudFZpZXdNb2RlbDpwfSksLi4uKGwmJntjb250ZW50U2VjdGlvblZpZXdNb2RlbDpsfSksLi4uKHYmJntwcmltZXRpbWVPZmZlcmluZ0luUmV2aWV3Q2FyZENvbnRlbnRWaWV3TW9kZWw6dn0pLC4uLih0JiZ7ZnVubmVsVmlld01vZGVsOnR9KX0pKSksXy5LKF8uTyx7QTooKT0+aCgpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbE92ZXJsYXlUcmFpbGluZ0FjdGlvbiJ9LF8uSyhfLlcse2RhdGE6KCk9PmEuZGF0YSgpLnRyYWlsaW5nQWN0aW9ufSx7YnV0dG9uVmlld01vZGVsOl8uVUZ9KSl9KSxfLksoXy5PLHtBOnosdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRDYXJkVmlld01vZGVsRGlzYWJsZWRPdmVybGF5IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pfSkpKSl9LCJBYSIpO3ZhciBXZmE9WyJBIi50b1N0cmluZygpLCJCVVRUT04iLnRvU3RyaW5nKCldLFhmYT1fLkwoYT0+e2Z1bmN0aW9uIGIoSCl7ZSgpLmlzRGlzYWJsZWR8fChmP2YoSC50YXJnZXQsZSgpLGs/LigpKTpBKCFFKCkpKX1mdW5jdGlvbiBjKEgpe0gua2V5PT09IiAiJiYoSC5wcmV2ZW50RGVmYXVsdCgpLEgudGFyZ2V0LmNsaWNrKCkpfXZhciBkPV8ueCgiZW5hYmxlX25hdGl2ZV9pbnB1dF9zZWxlY3RhYmxlX2l0ZW0iKSxlPWEuZGF0YSxmPWEub25TZWxlY3RlZCxoPWEuU2gsaz1hLmdyb3VwTmFtZSxsPWEuY2xhc3NOYW1lLG09YS5yb2xlLG49InJhZGlvIitfLk9IKCkscD1fLlFIKCgpPT5lKCkudmVydGljYWxQYWRkaW5nVG9rZW4pLHI9Xy5RSCgoKT0+ZSgpLmhvcml6b250YWxQYWRkaW5nVG9rZW4pLHQ9KCk9PmUoKS5jb250ZW50LFt2LHpdPV8uSighMSx2b2lkIDAsIlVtN0ZnYyIpLEU9dixBPXosRj0oKT0+ISFlKCkuaXNEaXNhYmxlZCxDPSgpPT57aWYoaCE9PXZvaWQgMCl7bGV0IEg9CmgoKTtyZXR1cm4hKCFIfHxlKCkua2V5IT09SCl9cmV0dXJuIEUoKX0sRz0oKT0+aCE9PXZvaWQgMCYmZSgpLmJlaGF2aW9yPT09IlNFTEVDVEFCTEVfSVRFTV9CRUhBVklPUl9FWFBBTkRFRF9OT1RfU0VMRUNURUQiPyExOkMoKSxEPSgpPT57aWYoaCE9PXZvaWQgMCYmQygpKXN3aXRjaChlKCkuYmVoYXZpb3Ipe2Nhc2UgIlNFTEVDVEFCTEVfSVRFTV9CRUhBVklPUl9TRUxFQ1RFRF9OT1RfRVhQQU5ERUQiOnJldHVybiExO2Nhc2UgIlNFTEVDVEFCTEVfSVRFTV9CRUhBVklPUl9FWFBBTkRFRF9OT1RfU0VMRUNURUQiOnJldHVybiEwfX07cmV0dXJuIGQ/Xy5LKCJ5dC1zZWxlY3RhYmxlLWl0ZW0tdmlldy1tb2RlbCIse3N0eWxlOl8uSUUoeyJwYWRkaW5nLXRvcCI6cCwicGFkZGluZy1ib3R0b20iOnAsInBhZGRpbmctbGVmdCI6ciwicGFkZGluZy1yaWdodCI6cn0pLGNsYXNzOl8uUCgieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbEhvc3QiLGwsInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxDb250YWluZXIiLAoieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbE5hdGl2ZUNvbnRhaW5lciIse3l0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxEaXNhYmxlZDpGfSksInByb3A6Y2hlY2tlZCI6R30sXy5LKCJpbnB1dCIse2lkOm4sdHlwZToicmFkaW8iLG5hbWU6YS5ncm91cE5hbWUsInByb3A6Y2hlY2tlZCI6RyxkaXNhYmxlZDpGLCJvbjpjbGljayI6Yiwib246a2V5ZG93biI6YyxjbGFzczoieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbE5hdGl2ZVJhZGlvQnV0dG9uIn0pLF8uSygibGFiZWwiLHtmb3I6bixjbGFzczoieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbE5hdGl2ZUxhYmVsIiwib246a2V5ZG93biI6Y30sXy5LKF8uVyx7ZGF0YTp0fSx7Y2FyZFZpZXdNb2RlbDooe2RhdGE6SH0pPT5fLksoUEwse2RhdGE6SCxpc1NlbGVjdGVkOkcsaXNFeHBhbmRlZDpEfSl9KSkpOl8uSygieXQtc2VsZWN0YWJsZS1pdGVtLXZpZXctbW9kZWwiLHtzdHlsZTpfLklFKHsicGFkZGluZy10b3AiOnAsInBhZGRpbmctYm90dG9tIjpwLAoicGFkZGluZy1sZWZ0IjpyLCJwYWRkaW5nLXJpZ2h0IjpyfSksImFyaWEtY2hlY2tlZCI6RyxjbGFzczpfLlAoInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxIb3N0IixsLCJ5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsQ29udGFpbmVyIix7eXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbERpc2FibGVkOkZ9KSwib246Y2xpY2siOmZ1bmN0aW9uKEgpe2lmKCFlKCkuaXNEaXNhYmxlZCl7dmFyIFI9SC5jdXJyZW50VGFyZ2V0O2lmKF8ueCgid2ViX3NlbGVjdGFibGVfaXRlbV9jaGlsZF90YXBfa2lsbF9zd2l0Y2giKSlSPSExO2Vsc2V7dmFyIE09Xy5xSChIKTtSPV8uckgoTSxSLFdmYSl9Unx8KGY/ZihILmN1cnJlbnRUYXJnZXQsZSgpLGs/LigpKTpBKCFFKCkpKX19LCJwcm9wOmNoZWNrZWQiOkcscm9sZTptLCJhcmlhLWRpc2FibGVkIjpGLHRhYmluZGV4OjB9LF8uSyhfLlcse2RhdGE6dH0se2NhcmRWaWV3TW9kZWw6KHtkYXRhOkh9KT0+Xy5LKFBMLHtkYXRhOkgsaXNTZWxlY3RlZDpHLAppc0V4cGFuZGVkOkR9KX0pKX0sIkJhIik7Xy5FTD1fLkwoYT0+e2Z1bmN0aW9uIGIoeixFLEEpe3ZhciBGPWMoKS5mb3JtRmllbGRNZXRhZGF0YSYmbSgpIT09dm9pZCAwPzM6ZCgpPzI6MTtGPT09MSYmRS5rZXkhPW51bGwmJnQoRS5rZXkpO0Y9PT0zJiZFLmtleSE9bnVsbCYmbSgpPy51cGRhdGVWYWx1ZShFLmtleSk7ZT8uKHosRSxBKX12YXIge2RhdGE6YyxXYjpkLG9uU2VsZWN0ZWQ6ZSxTaDpmLGdyb3VwTmFtZTpoLGNsYXNzTmFtZTprLG5hOmx9PV8uREMoYSx7V2I6ITB9KSxtPV8uWkkoKCk9PmMoKS5mb3JtRmllbGRNZXRhZGF0YSksbj0oKT0+aD8uKCl8fGMoKS5rZXksW3Ascl09Xy5BQygoKT0+YygpLmRlZmF1bHRTZWxlY3RlZEtleSksdD1yLHY9KCk9PihjKCkuZm9ybUZpZWxkTWV0YWRhdGEmJm0oKSE9PXZvaWQgMD8zOmQoKT8yOjEpPT09Mz9tKCk/LnZhbHVlOmQoKT9mPy4oKTpwKCk7cmV0dXJuIF8uSygieXQtcmFkaW8tYnV0dG9uLWdyb3VwLXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0UmFkaW9CdXR0b25Hcm91cFZpZXdNb2RlbEhvc3QiLAprKX0sXy5LKCJmaWVsZHNldCIse2NsYXNzOiJ5dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxGaWVsZHNldCIscm9sZToicmFkaW9ncm91cCIsImFyaWEtaW52YWxpZCI6KCk9PiEhbSgpPy5lcnJvcnM/LlswXSwiYXJpYS1kZXNjcmliZWRieSI6KCk9Pm0oKT8uZXJyb3JzPy5bMF0/YGVycm9yLSR7YygpLmtleX1gOnZvaWQgMH0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnJhZGlvQnV0dG9uc30se3JhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbDooe2RhdGE6en0pPT5fLksoUmZhLHtkYXRhOnosb25TZWxlY3RlZDpiLFNoOnYsZ3JvdXBOYW1lOm4sbmE6bH0pLHNlbGVjdGFibGVJdGVtVmlld01vZGVsOih7ZGF0YTp6fSk9Pl8uSyhYZmEse2RhdGE6eixvblNlbGVjdGVkOmIsU2g6dixncm91cE5hbWU6bixyb2xlOiJyYWRpbyJ9KX0pKSxfLksoXy5PLHtBOigpPT5tKCk/LmVycm9ycz8uWzBdLHRoZW46ej0+Xy5LKCJkaXYiLHtpZDooKT0+YGVycm9yLSR7YygpLmtleX1gLGNsYXNzOiJ5dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxFcnJvciJ9LAooKT0+eigpLm1lc3NhZ2UpfSkpfSwiQ2EiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiZDJMVHhiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uQUU9Xy5MKCh7bmFtZTphLG9uQ2hhbmdlOmIsb25DbGljazpjLGNoZWNrZWQ6ZCxZZTplLGhrOmYsWWk6aCxxajprLG5hOmwsVmM6bSxhcmlhTGFiZWw6bixjbGFzc05hbWU6cCxkaXNhYmxlZDpyLGhvcml6b250YWxQYWRkaW5nOnQsdmVydGljYWxQYWRkaW5nOnZ9KT0+e3ZhciB6PSJyYWRpbyIrXy5PSCgpLEU9Xy51RSgiaW5wdXQiKSxBPV8ueCgiZW5hYmxlX2lvc193ZWJ2aWV3X3JhZGlvX2J1dHRvbl9yZXNwb25zaXZlbmVzcyIpLFtGLENdPV8uSighMSx2b2lkIDAsImZMclg2ZCIpO3JldHVybiBfLksoInJhZGlvLXNoYXBlIix7Y2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVIb3N0IixwKX0sXy5LKCJpbnB1dCIse2VsOkUsY2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVJbnB1dCIse3l0UmFkaW9TaGFwZVRhcHBhYmxlOigpPT4oISFifHwhIWMpJiYhcj8uKCl9KSxpZDp6LCJwcm9wOmNoZWNrZWQiOmQsbmFtZTphLHR5cGU6InJhZGlvIixkaXNhYmxlZDpyLCJvbjpjaGFuZ2UiOmZ1bmN0aW9uKEcpe0UudmFsdWUuY2hlY2tlZD0KISFkPy4oKTtiPy4oRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOmNsaWNrIjpmdW5jdGlvbihHKXtjPy4oRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sImFyaWEtbGFiZWwiOm4sIm9uOmZvY3VzaW4iOmZ1bmN0aW9uKCl7Xy55KCkucmVzb2x2ZShfLkluKF8uakgpKT8uWGUoKSYmQyghMCl9LCJvbjpmb2N1c291dCI6ZnVuY3Rpb24oKXtDKCExKX19KSxfLksoImxhYmVsIix7Y2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVMYWJlbENvbnRhaW5lciIsayx7eXRSYWRpb1NoYXBlQ29tcGFjdDpsLHl0UmFkaW9TaGFwZUtleWJvYXJkRm9jdXNlZDpGLHl0UmFkaW9TaGFwZVRhcHBhYmxlOigpPT4oISFifHwhIWMpJiYhcj8uKCkseXRSYWRpb1NoYXBlRGlzYWJsZWQ6cn0pLGZvcjp6fSxfLksoXy5PLHtBOigpPT4haD8uKCksdGhlbjooKT0+Xy5LKFNILHtjaGVja2VkOmQsaGs6ZixnZzohMCxWYzptLERzOkF9KX0pLF8uSyhfLk8se0E6KCk9PiEhZSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRSYWRpb1NoYXBlTGFiZWwiLAp7eXRSYWRpb1NoYXBlRXZlbnRQYXNzdGhyb3VnaDpBfSksImFyaWEtaGlkZGVuIjooKT0+ISFuPy4oKSxzdHlsZTpfLklFKHsicGFkZGluZy1sZWZ0Ijp0LCJwYWRkaW5nLXJpZ2h0Ijp0LCJwYWRkaW5nLXRvcCI6diwicGFkZGluZy1ib3R0b20iOnZ9KX0sZT8uKCkpfSksXy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhTSCx7Y2hlY2tlZDpkLGhrOmYsZ2c6ITEsVmM6bSxEczpBfSl9KSkpfSwidyIpO18uQUUuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkNoYW5nZTohMCxvbkNsaWNrOiEwLFllOiEwfX07CnZhciBTSD1fLkwoKHtoazphLFZjOmIsRHM6Y30pPT57dmFyIGQ9Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIik/IkNJUkNMRV9GVUxMIjoiQ0lSQ0xFIjtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UmFkaW9TaGFwZVJhZGlvIixiLHt5dFJhZGlvU2hhcGVDaGVja0ljb246YSx5dFJhZGlvU2hhcGVSYWRpb0RlZmF1bHRTdHlsZTooKT0+IWI/LigpLHl0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2g6Y30pLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5NRCx7aWNvbjooKT0+YT8uKCk/IkNIRUNLIjoiQ0lSQ0xFIn0pLF8uSyhfLk1ELHtpY29uOigpPT5hPy4oKT8iQ0hFQ0siOmQsYWN0aXZlOigpPT4hYT8uKCl9KSl9LCJ4Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInpDa0tCYyIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZGPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiYWNGdVZjIik7cmV0dXJuIF8uR0R9O18uV0Y9Xy5jRCgoKT0+Xy5WRigpLCJjb2xsZWN0aW9uVGh1bWJuYWlsVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImNvbGxlY3Rpb25UaHVtYm5haWxWaWV3TW9kZWwiLCJhY0Z1VmMiLF8uVkYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWUY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJmOTB0Q2IiKTtyZXR1cm4gXy5GRH07Xy5aRj1fLmNEKCgpPT5fLllGKCksInRvZ2dsZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJ0b2dnbGVCdXR0b25WaWV3TW9kZWwiLCJmOTB0Q2IiLF8uWUYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYkc9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJMVmlNTSIpO3JldHVybiBfLkREfTtfLmNHPV8uY0QoKCk9Pl8uYkcoKSwic3Vic2NyaWJlQnV0dG9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbCIsIkxWaU1NIixfLmJHKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZEc7Xy5lRz1mdW5jdGlvbihhKXt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oZEcpKSxbYyxkXT1fLkooYix2b2lkIDAsIkhmRGRLIik7Ynx8Xy5ZdChkRyxkKTtyZXR1cm4gXy5OKCgpPT57dmFyIGU9YSgpO3JldHVybiBlP2MoKT8uKGUpOnZvaWQgMH0sdm9pZCAwLCJ2NzBFN2IiKX07ZEc9bmV3IF8uVnMoIlNFTUFOVElDX0NPTE9SX1JFU09MVkVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaUg9bmV3IF8uVnMoIkhPUklaT05UQUxfQkFSX1ZJRVdfTU9ERUxfVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5MSD1hc3luYyBmdW5jdGlvbigpe2F3YWl0IF8ueSgpLnJlc29sdmUoXy5KSCk7cmV0dXJuIF8ueSgpLnJlc29sdmUoXy5LSCkoKX07Xy5NSD1mdW5jdGlvbigpe3JldHVybiBfLnkoKS5yZXNvbHZlKF8uS0gpKCl9O25ldyBfLmNzO18uSkg9bmV3IF8uVnMoIldBVENIX1BMQVlFUl9QUk9NSVNFX1RPS0VOIik7bmV3IF8uY3M7Xy5LSD1uZXcgXy5WcygiR0VUX1NIT1JUU19QTEFZRVJfRlVOQ1RJT05fVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5VSD1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57dmFyIGQ9T2JqZWN0LmtleXMoYik7Xy5uRSgoKT0+e2lmKGE/LigpKXtmb3IobGV0IGUgb2YgZCljLmFkZEV2ZW50TGlzdGVuZXIoZSxiW2VdKTtfLll1KCgpPT57Zm9yKGxldCBlIG9mIGQpYy5yZW1vdmVFdmVudExpc3RlbmVyKGUsYltlXSl9KX19LCJiWFpHZmUiKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZEksUGRhLGZJLFFkYSxpSSxTZGE7ZEk9ZnVuY3Rpb24oYSl7aWYoYSlzd2l0Y2goYSl7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfWFNNQUxMIjpyZXR1cm4gMTY7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfU01BTEwiOnJldHVybiAxODtjYXNlICJMSVNUX0lURU1fSUNPTl9BQ0NFU1NPUllfU0laRV9TVEFOREFSRCI6cmV0dXJuIDI0O2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX0xBUkdFIjpyZXR1cm4gMzY7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfWExBUkdFIjpyZXR1cm4gNDg7ZGVmYXVsdDpyZXR1cm4gMjR9fTsKUGRhPWZ1bmN0aW9uKGEsYil7aWYoIWE/LmVudGl0eVNlbGVjdG9yVHlwZXx8IWE/LmVudGl0eUtleSlyZXR1cm57fTtzd2l0Y2goYS5lbnRpdHlTZWxlY3RvclR5cGUpe2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0NBUFRJT05fTEFOR1VBR0VfU0VMRUNUSU9OX1RFWFQiOnJldHVybiBhPV8uTUgoKT8uZ2V0T3B0aW9uKCJjYXB0aW9ucyIsInRyYWNrIiksYj10eXBlb2YgYT8udHJhbnNsYXRpb25MYW5ndWFnZT09PSJvYmplY3QiJiZhLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8YT8uZGlzcGxheU5hbWV8fCIiLHtkYXRhOnsuLi4oISFiJiZ7c2VsZWN0aW9uVGV4dDp7Y29udGVudDpifX0pLC4uLighIWImJntsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOiJDTE9TRURfQ0FQVElPTl9TRUxFQ1RFRCJ9fV19fSksaXNEaXNhYmxlZDp0eXBlb2YgYT09PSJ1bmRlZmluZWQifX07Y2FzZSAiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfQVVESU9fVFJBQ0tfU0VMRUNUSU9OX1RFWFQiOnJldHVybiBhPQpfLk1IKCk/LmdldEF1ZGlvVHJhY2soKXx8dm9pZCAwLGI9YT8uZ2V0TGFuZ3VhZ2VJbmZvKCk/LmdldE5hbWUoKSx7ZGF0YTp7c2VsZWN0aW9uVGV4dDp7Y29udGVudDpifSwuLi4oYiYmIWE/LmdldExhbmd1YWdlSW5mbygpPy5nZXRJc0RlZmF1bHQoKSYme2xlYWRpbmdJbWFnZTp7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6IlBFUlNPTl9SQURBUl9GSUxMRUQifX1dfX0pfX07Y2FzZSAiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfUExBWUJBQ0tfU1BFRURfU0VMRUNUSU9OX1RFWFQiOnJldHVybiBhPV8ueCgid2ViX3Nob3J0c19wbGF5YmFja19yYXRlX3BpY2tlciIpLF8uZUlbImNvdW50ZXJmYWN0dWFscy53ZWJfc2hvcnRzX3BsYXliYWNrX3JhdGVfcGlja2VyIl09U3RyaW5nKGEpLGE/KGE9Xy5NSCgpPy5nZXRQbGF5YmFja1JhdGUoKSxiPV8uTUgoKT8uZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcygpLGE9e2RhdGE6e3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6YT09PQoxP18uYUEoIlBMQVlFUl9TUEVFRF9OT1JNQUwiLHZvaWQgMCwiTm9ybWFsIik6Xy5hQSgiUExBWUJBQ0tfU1BFRURfWCIse3NwZWVkX3JhdGVfcGxhY2Vob2xkZXI6YCR7YT8udG9GaXhlZCgyKX1gfSl9LGlzRGlzYWJsZWQ6IWI/Lmxlbmd0aH19KTphPXt9LGE7Y2FzZSAiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfUkVNT1ZFX0FEU19BRF9TVEFURSI6cmV0dXJuIGE9YT8uZW50aXR5S2V5PyhhPV8uSEgoYixhLmVudGl0eUtleSkpP3tpc0hpZGRlbjphPy5hZHNTdGF0ZSE9PSJBRFNfU1RBVEVfUExBWUlORyJ9Ontpc0hpZGRlbjohMH06e30sYTtkZWZhdWx0OnJldHVybnt9fX07Zkk9ZnVuY3Rpb24oYSl7aWYoYSYmKGE9YS5zcGxpdCgiOiIpLGEubGVuZ3RoPjEpKXJldHVybiBhWzBdLmxlbmd0aD4wP2FbMF06dm9pZCAwfTtRZGE9ZnVuY3Rpb24oYSl7aWYoYSYmIWdJLmhhcyhhKSl7dmFyIGI9ZkkoYSk7YiYmZ0kuc2V0KGEsYil9fTsKaUk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXsuLi5oSSgpfTtpZihiJiZjPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8iKXtsZXQgZT1mSShhKTtlJiZnSS5mb3JFYWNoKChmLGgpPT57Zj09PWUmJmghPT1hJiYoZFtoXT0hMSl9KX1kW2FdPWI7UmRhKGQpfTtTZGE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57aWYoIWM/LigpKXt2YXIgZT1mPT57Xy5ySChfLnFIKGYpLGQsYil8fGEoZil9O2QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGUpO3JldHVybigpPT57ZC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsZSl9fX19O18uZUk9e307Xy5qST1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIm1tMk4wYyIpO3JldHVybiBfLnpFfTtfLmtJPV8uY0QoKCk9Pl8uakkoKSwic3dpdGNoQnV0dG9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInN3aXRjaEJ1dHRvblZpZXdNb2RlbCIsIm1tMk4wYyIsXy5qSSl9KTt2YXIgbUk7Xy5sST1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImhiMFdtZiIpO3JldHVybiBfLlhGfTttST1fLmNEKCgpPT5fLmxJKCksImFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsIiwiaGIwV21mIixfLmxJKX0pO3ZhciBUZGE7Xy5uST1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImhOZWx2ZCIpO3JldHVybiBfLmFJfTtUZGE9Xy5jRCgoKT0+Xy5uSSgpLCJsaXN0SXRlbUxpa2VDb3VudFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJsaXN0SXRlbUxpa2VDb3VudFZpZXdNb2RlbCIsImhOZWx2ZCIsXy5uSSl9KTt2YXIgVWRhO18ub0k9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJyNUNPSGYiKTtyZXR1cm4gXy4kSH07VWRhPV8uY0QoKCk9Pl8ub0koKSwibGlzdEl0ZW1WaWV3Q291bnRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlzdEl0ZW1WaWV3Q291bnRWaWV3TW9kZWwiLCJyNUNPSGYiLF8ub0kpfSk7dmFyIHBJPV8uTCgoe2RhdGE6YSxnZzpiLGNlOmMsaXNUb2dnbGVkOmQsRGc6ZSxuYTpmfSk9Pnt2YXIgaD0oKT0+YigpP2EoKS5sZWFkaW5nSW1hZ2U6YSgpLnRyYWlsaW5nSW1hZ2U/P18uUUYoYSgpLnRoZW1lZFRyYWlsaW5nSW1hZ2UpLGs9KCk9PnthOnt2YXIgcj1hKCkubGlzdEl0ZW1JY29uQWZ0ZXJTZWxlY3Rpb25UZXh0O2lmKCFjPy4oKSlzd2l0Y2gocil7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUZURVJfU0VMRUNUSU9OX1RFWFRfRVhQQU5EX01PUkUiOnI9ImV4cGFuZF9tb3JlIjticmVhayBhO2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FGVEVSX1NFTEVDVElPTl9URVhUX05PTkUiOmJyZWFrO2RlZmF1bHQ6cj0iY2hldnJvbl9yaWdodCI7YnJlYWsgYX1yPXZvaWQgMH1yZXR1cm4gcn0sbD1fLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lciIse3l0TGlzdEl0ZW1WaWV3TW9kZWxMZWFkaW5nOmIseXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nOigpPT4hYigpfSksCm09Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5IiwieXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlIiksbj1fLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxBY2Nlc3NvcnkiLHt5dExpc3RJdGVtVmlld01vZGVsTGVhZGluZzpiLHl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzooKT0+IWIoKX0pLHA9Xy5lRygoKT0+YigpP2EoKS5sZWFkaW5nSWNvbkNvbG9yVG9rZW46YSgpLnRyYWlsaW5nSWNvbkNvbG9yVG9rZW4pO3JldHVybiBfLksoXy5PLHtBOigpPT57dmFyIHI9YSgpLHQ9YigpO3JldHVybiEhKHQmJihyLmxlYWRpbmdJbWFnZXx8ci5sZWFkaW5nQWNjZXNzb3J5KXx8IXQmJihyLnRyYWlsaW5nSW1hZ2V8fHIudHJhaWxpbmdCdXR0b258fHIudHJhaWxpbmdCdXR0b25zfHxyLnRyYWlsaW5nQWNjZXNzb3JpZXNMaXN0fHxyLnNlbGVjdGlvblRleHR8fHIudGhlbWVkVHJhaWxpbmdJbWFnZXx8ci50cmFpbGluZ0ltYWdlQWNjZXNzb3J5VHlwZT09PSJMSVNUX0lURU1fSU1BR0VfQUNDRVNTT1JZX1RZUEVfTkVXX0NPTlRFTlRfSU5ESUNBVE9SInx8CnIudHJhaWxpbmdMYWJlbCkpfSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6aCx0aGVuOnI9Pl8uSygiZGl2Iix7Y2xhc3M6bCwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uakYse2RhdGE6cixhbHQ6IiIsVGE6ITAsWWE6ITAsQWI6KCk9Pnt2YXIgdD0oYigpP2EoKS5sZWFkaW5nSW1hZ2VBY2Nlc3NvcnlUeXBlPT09IkxJU1RfSVRFTV9JTUFHRV9BQ0NFU1NPUllfVFlQRV9JQ09OIjphKCkudHJhaWxpbmdJbWFnZUFjY2Vzc29yeVR5cGU9PT0iTElTVF9JVEVNX0lNQUdFX0FDQ0VTU09SWV9UWVBFX0lDT04iKT9iKCk/ZEkoYSgpLmxlYWRpbmdJY29uQWNjZXNzb3J5U2l6ZSk6ZEkoYSgpLnRyYWlsaW5nSWNvbkFjY2Vzc29yeVNpemUpOnZvaWQgMDtyZXR1cm4gdH0sY2xhc3NOYW1lOm0saXNUb2dnbGVkOigpPT4hZT8uKCkmJmQ/LigpLHN0eWxlOl8uSUUoe2NvbG9yOnB9KX0pKX0pLF8uSyhfLk8se0E6KCk9PmIoKSYmYSgpLmxlYWRpbmdBY2Nlc3NvcnksdGhlbjooKT0+Cl8uSygiZGl2Iix7Y2xhc3M6bH0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmxlYWRpbmdBY2Nlc3Nvcnl9LHthdmF0YXJWaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uU0Yse2RhdGE6cixnZDptLE1rOigpPT5mPy4oKT97c2l6ZToiZXh0cmEtc21hbGwifTp7c2l6ZToibWVkaXVtIn19KSxjb2xsZWN0aW9uVGh1bWJuYWlsVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLldGLHtkYXRhOnIsbWF4SGVpZ2h0OjM2LHdpZHRoOjU2LGNnOiEwfSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiZhKCkudHJhaWxpbmdCdXR0b24sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS50cmFpbGluZ0J1dHRvbn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5VRix7ZGF0YTpyLGNsYXNzTmFtZTpufSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiZhKCkudHJhaWxpbmdCdXR0b25zPy5idXR0b25zLAp0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnRyYWlsaW5nQnV0dG9ucz8uYnV0dG9uc30se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5VRix7ZGF0YTpyLGNsYXNzTmFtZTpufSksYWNjb3VudExpbmtCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKG1JLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxzd2l0Y2hCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8ua0kse2RhdGE6cixjbGFzc05hbWU6bn0pLHN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5jRyx7ZGF0YTpyLGlzT3ZlcmxheTohMSxRZDohMSxjbGFzc05hbWU6bn0pLHRvZ2dsZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5aRix7ZGF0YTpyLGNsYXNzTmFtZTpufSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiZhKCkudHJhaWxpbmdBY2Nlc3Nvcmllc0xpc3Q/LnRyYWlsaW5nQWNjZXNzb3JpZXMsCnRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT5hKCkudHJhaWxpbmdBY2Nlc3Nvcmllc0xpc3Q/LnRyYWlsaW5nQWNjZXNzb3JpZXN9LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uVUYse2RhdGE6cixjbGFzc05hbWU6bn0pLGFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhtSSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksc3dpdGNoQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmtJLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxzdWJzY3JpYmVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uY0cse2RhdGE6cixpc092ZXJsYXk6ITEsUWQ6ITEsY2xhc3NOYW1lOm59KSx0b2dnbGVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uWkYse2RhdGE6cixjbGFzc05hbWU6bn0pLGJhZGdlVmlld01vZGVsOih7ZGF0YTpyfSk9PgpfLksoXy5hRyx7ZGF0YTpyLGNsYXNzOm59KSxsaXN0SXRlbUxpa2VDb3VudFZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoVGRhLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxsaXN0SXRlbVZpZXdDb3VudFZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoVWRhLHtkYXRhOnIsY2xhc3NOYW1lOm59KX0pKX0pLF8uSyhfLk8se0E6KCk9PiFiKCkmJiEhYSgpLnNlbGVjdGlvblRleHQsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5WLHt0ZXh0OigpPT5hKCkuc2VsZWN0aW9uVGV4dCxjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsU2VsZWN0aW9uVGV4dCIsInl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ1NlbGVjdGlvblRleHQiKX0pLF8uSyhfLk8se0E6ayx0aGVuOnI9Pl8uSyhfLk1ELHtpY29uOnIsY2xhc3NOYW1lOiJ5dExpc3RJdGVtVmlld01vZGVsQ2hldnJvbkljb24iLGFyaWFIaWRkZW46ITAsc3R5bGU6Xy5JRSh7Y29sb3I6cH0pfSl9KSl9KSxfLksoXy5PLHtBOigpPT4KIWIoKSYmYSgpLnRyYWlsaW5nSW1hZ2VBY2Nlc3NvcnlUeXBlPT09IkxJU1RfSVRFTV9JTUFHRV9BQ0NFU1NPUllfVFlQRV9ORVdfQ09OVEVOVF9JTkRJQ0FUT1IiLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6bH0sXy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbE5ld0NvbnRlbnRJbmRpY2F0b3IifSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nTGFiZWwsdGhlbjooKT0+Xy5LKF8uVix7dGV4dDooKT0+YSgpLnRyYWlsaW5nTGFiZWwsY2xhc3NOYW1lOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWwiLCJ5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmciKX0pfSkpfSl9LCJ6Iik7dmFyIFZkYT1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLmlIKSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxCb3R0b21BY2Nlc3NvcnkifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYm90dG9tQWNjZXNzb3J5fSx7Li4uKGImJntob3Jpem9udGFsQmFyVmlld01vZGVsOmJ9KX0pKX0sIkEiKTt2YXIgcUk9Xy5MKGE9Pnt2YXIgYj1hLmRhdGEsYz1hLmNsYXNzTmFtZSxkPV8uZUcoKCk9PmIoKS5pc0Rpc2FibGVkJiZiKCkubGFiZWxEaXNhYmxlZENvbG9yVG9rZW4/YigpLmxhYmVsRGlzYWJsZWRDb2xvclRva2VuOmIoKS5sYWJlbFRleHRDb2xvclRva2VuKSxlPV8uZUcoKCk9PmIoKS5zdXBlckxhYmVsQ29sb3JUb2tlbik7cmV0dXJuIF8uSyhfLk8se0E6KCk9PmIoKS5zdXBlcmxhYmVsfHxiKCkudGl0bGV8fGIoKS5zdWJ0aXRsZXx8YigpLnN1YnRpdGxlQmFkZ2UsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpjfSxfLksoXy5PLHtBOigpPT5iKCkuc3VwZXJsYWJlbCx0aGVuOmY9Pl8uSyhfLlYse3RleHQ6ZixjbGFzc05hbWU6Inl0TGlzdEl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVsIixzdHlsZTpfLklFKHtjb2xvcjplfSl9KX0pLF8uSyhfLk8se0E6KCk9PmIoKS50aXRsZSx0aGVuOmY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZVdyYXBwZXIifSwKXy5LKF8uVix7dGV4dDpmLGNsYXNzTmFtZTpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZSIse3l0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGU6KCk9PmIoKS50aXRsZU1heExpbmVzPT09MX0pLHN0eWxlOl8uSUUoe2NvbG9yOmR9KX0pKX0pLF8uSyhfLk8se0E6KCk9PmIoKS5zdWJ0aXRsZUJhZGdlfHxiKCkuc3VidGl0bGUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQ29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQmFkZ2VXcmFwcGVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YigpLnN1YnRpdGxlQmFkZ2V9LHtiYWRnZVZpZXdNb2RlbDooe2RhdGE6Zn0pPT5fLksoXy5hRyx7ZGF0YTpmfSl9KSksXy5LKFdkYSx7ZGF0YTpiLHl3OigpPT4hIWIoKS5zdWJ0aXRsZUJhZGdlfSkpfSkpfSl9LCJCIiksV2RhPV8uTChhPT57dmFyIGI9Xy5lRygoKT0+YS5kYXRhKCkuc3ViTGFiZWxDb2xvclRva2VuKTsKcmV0dXJuIF8uSyhfLk8se0E6KCk9PmEuZGF0YSgpLnN1YnRpdGxlLHRoZW46Yz0+Xy5LKF8uVix7dGV4dDpjLGNsYXNzTmFtZTpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZSIse3l0TGlzdEl0ZW1WaWV3TW9kZWxXaXRoQmFkZ2U6YS55d30pLHN0eWxlOl8uSUUoe2NvbG9yOmJ9KX0pfSl9LCJDIik7dmFyIFhkYT1fLkwoKHtkYXRhOmEsY2U6YixmdTpjLGlzVG9nZ2xlZDpkLGRpc2FibGVkOmUsWHg6ZixuYTpoLEJjOmssZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmwsaG9yaXpvbnRhbFBhZGRpbmc6bSxZeDpuLHVCOnAsb25UYXA6cixhcmlhTGFiZWw6dCxEZzp2fSk9Pnt2YXIgej0oKT0+ISFhKCkuaXNEaXNhYmxlZHx8ISFlPy4oKSxFPV8uZUcoKCk9PmEoKS50cmFpbGluZ0ljb25Db2xvclRva2VuKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxMYXlvdXRXcmFwcGVyIix7eXRMaXN0SXRlbVZpZXdNb2RlbENvbnRhaW5lcjooKT0+IWY/LigpLHl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZDp6LHl0TGlzdEl0ZW1WaWV3TW9kZWxIYXNTdWJ0aXRsZTooKT0+ISFhKCkuc3VidGl0bGUseXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3Q6aCx5dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6bix5dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeTpfLngoIndlYl9lbmFibGVfbGlzdF9pdGVtX2FjdGlvbl90eXBvZ3JhcGh5IiksCnl0TGlzdEl0ZW1WaWV3TW9kZWxJblBvcHVwOmsseXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZzooKT0+bD8uKCkmJiFmPy4oKSx5dExpc3RJdGVtVmlld01vZGVsTm9UcmFpbGluZ1RleHQ6KCk9PiFhKCkuc2VsZWN0aW9uVGV4dCYmIWEoKS50cmFpbGluZ0xhYmVsfSwoKT0+e2E6e3N3aXRjaChhKCkubGF5b3V0UHJpb3JpdHkpe2Nhc2UgIkxJU1RfSVRFTV9MQVlPVVRfUFJJT1JJVFlfVFJBSUxJTkciOnZhciBBPSJ5dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIjticmVhayBhfUE9dm9pZCAwfXJldHVybiBBfSksc3R5bGU6Xy5JRSh7InBhZGRpbmctbGVmdCI6bSwicGFkZGluZy1yaWdodCI6bX0pfSxfLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsTWFpbkNvbnRhaW5lciJ9LF8uSyhwSSx7ZGF0YTphLGdnOiEwLGNlOmIsaXNUb2dnbGVkOmQsRGc6dixuYTpofSksXy5LKF8uTyx7QTpwLHRoZW46KCk9Pl8uSyhfLlZDLAp7Y29tbWFuZDooKT0+Xy5zSChhKCkucmVuZGVyZXJDb250ZXh0KSxvbkNsaWNrOnIsZGlzYWJsZWQ6eixjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3IiLCJ5dExpc3RJdGVtVmlld01vZGVsVGV4dFdyYXBwZXIiKSx0b2dnbGVhYmxlOmQhPT12b2lkIDAsdG9nZ2xlZDpkLGFyaWFMYWJlbDp0fSxfLksocUkse2RhdGE6YX0pKSxXOigpPT5fLksocUkse2RhdGE6YSxjbGFzc05hbWU6Inl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlciJ9KX0pLF8uSyhfLk8se0E6KCk9PiEhYyx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmciLHN0eWxlOl8uSUUoe2NvbG9yOkV9KX0sYyYmXy5LKGMsbnVsbCkpLFc6KCk9Pl8uSyhwSSx7ZGF0YTphLGdnOiExLGNlOmIsaXNUb2dnbGVkOmQsRGc6dixuYTpofSl9KSksXy5LKF8uTyx7QTooKT0+YSgpLmJvdHRvbUFjY2Vzc29yeSx0aGVuOigpPT5fLksoVmRhLHtkYXRhOmF9KX0pKX0sCiJEIik7dmFyIFtoSSxSZGFdPV8uSih7fSx2b2lkIDAsInBkcmFGIiksZ0k9bmV3IE1hcDt2YXIgc0k9Xy5MKGE9Pnt2YXIge25hbWU6YixvbkNoYW5nZTpjLG9uQ2xpY2s6ZCxjaGVja2VkOmUsWWU6ZixZaTpoLHFqOmssbmE6bCxWYzptLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpuLGhvcml6b250YWxQYWRkaW5nOnAsZGlzYWJsZWQ6cixhcmlhTGFiZWw6dH09Xy5EQyhhLHtjaGVja2VkOiExLGRpc2FibGVkOiExfSk7YT0iY2hlY2tib3giK18uT0goKTtyZXR1cm4gXy5LKCJjaGVja2JveC1zaGFwZSIsbnVsbCxfLksoImxhYmVsIix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94U2hhcGVIb3N0IixrLHt5dENoZWNrYm94U2hhcGVIb3N0Q29tcGFjdDpsLHl0Q2hlY2tib3hTaGFwZURpc2FibGVIb3Jpem9udGFsUGFkZGluZzpufSksc3R5bGU6Xy5JRSh7InBhZGRpbmctbGVmdCI6cCwicGFkZGluZy1yaWdodCI6cH0pfSxfLksoImlucHV0Iix7Y2xhc3M6Inl0Q2hlY2tib3hTaGFwZUlucHV0IixpZDphLGNoZWNrZWQ6ZSxuYW1lOmIsdHlwZToiY2hlY2tib3giLGRpc2FibGVkOnIsCiJhcmlhLWxhYmVsIjp0LCJwcm9wOmNoZWNrZWQiOmUsIm9uOmNoYW5nZSI6ZnVuY3Rpb24odil7Yz8uKHYpO3Yuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpjbGljayI6ZnVuY3Rpb24odil7ZD8uKHYpO3Yuc3RvcFByb3BhZ2F0aW9uKCl9fSksXy5LKF8uTyx7QTooKT0+IWg/LigpLHRoZW46KCk9Pl8uSyhySSx7Z2c6ITAsVmM6bX0pfSksXy5LKF8uTyx7QTooKT0+ISFmLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2hlY2tib3hTaGFwZUxhYmVsIn0sZj8uKCkpfSksXy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhySSx7Z2c6ITEsVmM6bX0pfSkpKX0sIkUiKTtzSS5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uQ2hhbmdlOiEwLG9uQ2xpY2s6ITAsWWU6ITB9fTsKdmFyIHJJPV8uTCgoe1ZjOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0Q2hlY2tib3hTaGFwZUNoZWNrYm94IixhLHt5dENoZWNrYm94U2hhcGVDaGVja2JveERlZmF1bHRTdHlsZTooKT0+IWE/LigpfSksImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLk1ELHtpY29uOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJzcXVhcmUiOiJCT1hfRU1QVFkifSksXy5LKF8uTUQse2ljb246Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIik/ImNoZWNrX3NxdWFyZSI6IkJPWF9DSEVDSyIsYWN0aXZlOiEwfSkpLCJGIik7dmFyIHRJPV8uTCgoe2RhdGE6YSxJYTpiLG5hOmMsb25UYXA6ZCx4czplLGNlOmYsZGlzYWJsZWQ6aCxCYzprLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpsLGlzT3ZlcmxheTptLGlzVG9nZ2xlZDpuLGFyaWFMYWJlbDpwLGFyaWFQcmVzc2VkOnIsRGc6dCxicDp2fSk9PntmdW5jdGlvbiB6KGJhKXtiYS5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYWE9YSgpLmVudGl0eUtleSxPYT1HKCkuaXNTZWxlY3RlZDtpZihhYSYmTSgpKXtpZihHKCkuc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9SQURJTyImJk9hKXJldHVybjtpSShhYSwhT2EsRygpLnNlbGVjdGlvblN0eWxlKX1kP2QoYmEpOihhYT1fLnNIKEcoKS5yZW5kZXJlckNvbnRleHQpLE9hPV8ueSgpLnJlc29sdmUoXy5VRCksYWEmJk9hJiZPYS5yZXNvbHZlQ29tbWFuZChhYSxiYS50YXJnZXQ/e2Zvcm06e2VsZW1lbnQ6YmEudGFyZ2V0LHNvdXJjZURhdGE6YWF9fTp2b2lkIDApKX12YXIgRT0hXy54KCJ3ZWJfZW5hYmxlX2tpbGxzd2l0Y2hfZm9yX3NlbGVjdGFibGVfbGlzdF9pdGVtX29uX3RhcF9maXgiKSwKQT0hXy54KCJ3ZWJfZW5hYmxlX2tpbGxzd2l0Y2hfZm9yX3NraXBfY2hpbGRfdGFncyIpLEY9Xy5RSCgoKT0+YSgpLmhvcml6b250YWxQYWRkaW5nVG9rZW4pLEM9KCk9Pmw/LigpfHxhKCkuZGlzYWJsZUhvcml6b250YWxQYWRkaW5nLEc9Xy5OKCgpPT57dmFyIGJhPWEoKSxhYT12KCksT2E9YSgpPy5lbnRpdHlTZWxlY3RvclR5cGU/ey4uLmJhLC4uLmFhLmRhdGF9OmJhO09hLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8iJiZRZGEoT2EuZW50aXR5S2V5KTt2YXIgSmI9T2EuZW50aXR5S2V5O2JhPUpiP2hJKClbSmJdOnZvaWQgMDthYT0hIU9hLmlzU2VsZWN0ZWQ7dmFyIHphPWJhIT09dm9pZCAwP2JhOmFhO0piJiZPYS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIiYmYWEmJmJhPT09dm9pZCAwJiZxdWV1ZU1pY3JvdGFzaygoKT0+e2lJKEpiLCEwLE9hLnNlbGVjdGlvblN0eWxlKX0pO3JldHVybnsuLi5PYSwKaXNTZWxlY3RlZDp6YX19LHZvaWQgMCwidlJrbnkiKSxEPSgpPT4hIUcoKS5pc0Rpc2FibGVkfHwhIWg/LigpLEg9Xy5USCgoKT0+RygpLnJlbmRlcmVyQ29udGV4dCksUj0oKT0+cD8uKCl8fEgoKT8ubGFiZWwsTT0oKT0+ISghRygpLnNlbGVjdGlvblN0eWxlfHxHKCkuc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9VTlNQRUNJRklFRCIpLFM9KCk9PihfLnRIKEcoKS5yZW5kZXJlckNvbnRleHQpfHxkKSYmIU0oKSxZPSgpPT5fLnRIKEcoKS5yZW5kZXJlckNvbnRleHQpfHwhIWR8fE0oKSxwYT1fLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXIiLHt5dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6WSx5dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeTpfLngoIndlYl9lbmFibGVfbGlzdF9pdGVtX2FjdGlvbl90eXBvZ3JhcGh5IikseXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3Q6Yyx5dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cDprLAp5dExpc3RJdGVtVmlld01vZGVsRGlzYWJsZUhvcml6b250YWxQYWRkaW5nOigpPT5DPy4oKSYmTSgpfSksb2E9Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsSW1hZ2VDb250YWluZXIiLCgpPT5HKCkubGVhZGluZ0ltYWdlfHxHKCkubGVhZGluZ0FjY2Vzc29yeT8ieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nIjoieXRMaXN0SXRlbVZpZXdNb2RlbExlYWRpbmciKSxbVSxoYV09Xy5KKCExLHZvaWQgMCwiY3VZNG1mIiksbWE9KCk9Pnt2YXIgYmE7aWYoYmE9Xy54KCJ3ZWJfYnV0dG9uX29yX2FuY2hvcl9saXN0X2l0ZW0iKSYmUz8uKCkpYmE9YSgpLGJhPSEoYmEudHJhaWxpbmdMYWJlbHx8YmEuc2VsZWN0aW9uVGV4dCk7cmV0dXJuIGJhfSx0YT0oKT0+Xy5LKFhkYSx7ZGF0YTpHLGNlOmYsZnU6ZSxpc1RvZ2dsZWQ6bixkaXNhYmxlZDpoLFh4Ok0sbmE6YyxCYzprLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpDLGhvcml6b250YWxQYWRkaW5nOkYsWXg6Uyx1QjptYSxvblRhcDpkLGFyaWFMYWJlbDpSLApEZzp0fSksVD0oKT0+e2lmKGI/LigpKXtsZXQgYmE9RygpLnNlbGVjdGlvblN0eWxlO3JldHVybiBiYT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0NIRUNLQk9YIj8ibWVudWl0ZW1jaGVja2JveCI6YmE9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9SQURJTyJ8fGJhPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCI/Im1lbnVpdGVtcmFkaW8iOiJtZW51aXRlbSJ9cmV0dXJuImxpc3RpdGVtIn07cmV0dXJuIF8uSygieXQtbGlzdC1pdGVtLXZpZXctbW9kZWwiLHtlbDpfLnJGKF8udUgoKCk9PkQoKT92b2lkIDA6RygpLnJlbmRlcmVyQ29udGV4dCx2b2lkIDAsdm9pZCAwLF8ueCgid2ViX2J1dHRvbl9vcl9hbmNob3JfbGlzdF9pdGVtIik/WyJBIi50b1N0cmluZygpLCJCVVRUT04iLnRvU3RyaW5nKCldOltdKSxTZGEoZnVuY3Rpb24oYmEpe0QoKXx8RSYmTSgpfHwoTSgpP3ooYmEpOmQ/LihiYSkpfSxBP1siQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXToKW10sKCk9PiFZKCkpLF8uVUgoKCk9PlM/LigpLHtmb2N1c2luOmZ1bmN0aW9uKCl7Xy55KCkucmVzb2x2ZShfLkluKF8uakgpKT8uWGUoKSYmaGEoITApfSxmb2N1c291dDpmdW5jdGlvbigpe2hhKCExKX19KSksY2xhc3M6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsSG9zdCIse3l0TGlzdEl0ZW1WaWV3TW9kZWxJc092ZXJsYXk6bSx5dExpc3RJdGVtVmlld01vZGVsS2V5Ym9hcmRGb2N1c2VkOlUseXRMaXN0SXRlbVZpZXdNb2RlbEhpZGRlbjooKT0+YSgpPy5lbnRpdHlTZWxlY3RvclR5cGU/digpLmlzSGlkZGVuOiExfSksImRhdGEtdGFyZ2V0LWlkIjooKT0+RygpLnRhcmdldElkLHJvbGU6VCx0YWJpbmRleDooKT0+e3ZhciBiYT1TKCk7WSgpO3ZhciBhYT1tYSgpLE9hPUQoKTtiYT0hYWEmJihfLngoIndlYl9lbmFibGVfa2lsbHN3aXRjaF90YWJpbmRleF9maXgiKT9kfHxiYTpiYSk/T2E/LTE6MDp2b2lkIDA7cmV0dXJuIGJhfSwib246a2V5ZG93biI6ZnVuY3Rpb24oYmEpe2lmKCFBfHwKIVsiQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXS5pbmNsdWRlcyhiYS50YXJnZXQudGFnTmFtZSkpaWYoYmEua2V5PT09IkVudGVyInx8TSgpJiZiYS5rZXk9PT0iICIpYmEucHJldmVudERlZmF1bHQoKSxEKCl8fChFJiZNKCk/eihiYSk6YmEuY3VycmVudFRhcmdldC5jbGljaygpKX0sImFyaWEtbGFiZWwiOlIsImFyaWEtY2hlY2tlZCI6KCk9Pnt2YXIgYmE9VCgpO3JldHVybiBiYT09PSJtZW51aXRlbWNoZWNrYm94Inx8YmE9PT0ibWVudWl0ZW1yYWRpbyI/RygpLmlzU2VsZWN0ZWQ6dm9pZCAwfSwiYXJpYS1wcmVzc2VkIjooKT0+Yj8uKCl8fE0oKT92b2lkIDA6cj8uKCl9LF8uSyhfLk8se0E6TSx0aGVuOigpPT5fLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5HKCkuc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9DSEVDS0JPWCJ9LCgpPT5fLksoc0kse1llOnRhLG5hOmMsY2hlY2tlZDooKT0+ISFHKCkuaXNTZWxlY3RlZCwKWWk6KCk9PiEoIUcoKS5sZWFkaW5nSW1hZ2UmJiFHKCkubGVhZGluZ0FjY2Vzc29yeSkscWo6cGEsVmM6b2EsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOkMsaG9yaXpvbnRhbFBhZGRpbmc6RixvbkNsaWNrOkU/ejp2b2lkIDAsZGlzYWJsZWQ6RCxhcmlhTGFiZWw6Un0pKSxfLksoXy5DRSx7d2hlbjooKT0+RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8ifSwoKT0+Xy5LKF8uQUUse1llOnRhLG5hOmMsY2hlY2tlZDooKT0+ISFHKCkuaXNTZWxlY3RlZCxZaTooKT0+ISghRygpLmxlYWRpbmdJbWFnZSYmIUcoKS5sZWFkaW5nQWNjZXNzb3J5KSxxajpwYSxWYzpvYSxvbkNsaWNrOkU/ejp2b2lkIDAsZGlzYWJsZWQ6RCxhcmlhTGFiZWw6Un0pKSxfLksoXy5DRSx7d2hlbjooKT0+RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCJ9LCgpPT5fLksoXy5BRSx7WWU6dGEsbmE6YyxjaGVja2VkOigpPT4KISFHKCkuaXNTZWxlY3RlZCxZaTooKT0+ISghRygpLmxlYWRpbmdJbWFnZSYmIUcoKS5sZWFkaW5nQWNjZXNzb3J5KSxxajpwYSxWYzpvYSxoazohMCxvbkNsaWNrOkU/ejp2b2lkIDAsZGlzYWJsZWQ6RCxhcmlhTGFiZWw6Un0pKSxfLksoXy5ERSxudWxsLHRhKSksVzp0YX0pKX0sIkciKSxZZGE9Xy5MKGE9Pnt2YXIgYj1fLmNJKGM9PlBkYShhLmRhdGEoKSxjKSk7cmV0dXJuIF8uSyh0SSx7Li4uYSxicDpifSl9LCJIIik7Xy5DRD1fLkwoYT0+Xy5LKF8uTyx7QTooKT0+ISFhLmRhdGEoKT8uZW50aXR5U2VsZWN0b3JUeXBlLHRoZW46KCk9Pl8uSyhZZGEsey4uLmF9KSxXOigpPT5fLksodEksey4uLmEsYnA6KCk9Pih7fSl9KX0pLCJJIik7Xy5DRC5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uVGFwOiEwLHhzOiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInBlMm9qYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlFMPWZ1bmN0aW9uKGEsYil7aWYoYSYmYilzd2l0Y2goYil7Y2FzZSAiU0VMRUNUSU9OX1RZUEVfQk9PTCI6cmV0dXJuIGEuYm9vbFZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX0lOVCI6cmV0dXJuIGEuaW50VmFsdWU7Y2FzZSAiU0VMRUNUSU9OX1RZUEVfU1RSSU5HIjpyZXR1cm4gYS5zdHJpbmdWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9QUklWQUNZX1NUQVRVUyI6cmV0dXJuIGEucHJpdmFjeVN0YXR1c1ZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX1RJTUVfUElDS0VSX0ZPUk1BVCI6cmV0dXJuIGEudGltZVBpY2tlckZvcm1hdFZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX0VOR0FHRU1FTlRfUEVSTUlTU0lPTiI6cmV0dXJuIGEuZW5nYWdlbWVudFBlcm1pc3Npb25WYWx1ZX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkNJPWZ1bmN0aW9uKGEpe18uVkgubXcoKShhKX07Xy5EST1mdW5jdGlvbihhLGIpe3ZhciBjPV8uWEgoKTtyZXR1cm4gXy5OKCgpPT57YygpO3JldHVybiBfLlpIKGEsW18uQnYoYil8fCIiXSl9LHtkZWJ1Z05hbWU6IkxVWnNsZiJ9LCJaMTA1dCIpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5STD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImxpa2VTdGF0dXNFbnRpdHkiLGIpfTtfLlNMPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywibGlrZUNvdW50RW50aXR5IixiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBZZmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5OKCgpPT5fLkJ2KGEpPz97fSx7ZXF1YWxzOl8uR0l9LCJ6VFVaUWMiKSxjPV8uTigoKT0+e3ZhciB7Zm9ybUlkOmQsZmllbGRJZDplfT1iKCk7aWYoZCYmZSl7YTp7bGV0IGg9Xy5TSShkKTtpZihoKXt2YXIgZj1fLk1JKGUpO2lmKGY9aFtmXSl7aWYoISgiZnVuY3Rpb24iPT10eXBlb2YgXy5UTCYmZiBpbnN0YW5jZW9mIF8uVEwpKXRocm93IF8uSUkoYEZpZWxkICR7ZX0gaW4gZm9ybSAke2R9IGlzIG5vdCBhIFNjYWxhckxpc3RGaWVsZC5gKTticmVhayBhfX1mPXZvaWQgMH1yZXR1cm4gZn19LHZvaWQgMCwiRTBLU0ZkIik7cmV0dXJuKCk9PmMoKX0sWmZhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywic2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5IixiKX0sJGZhPWZ1bmN0aW9uKGEsYil7Yi5pbmNsdWRlcyhhKT9iPWIuZmlsdGVyKGM9PmMhPT1hKTpiLnB1c2goYSk7cmV0dXJuWy4uLmJdfSxVTD1uZXcgXy5JKCJjaGVja2JveEl0ZW1WaWV3TW9kZWwiKTt2YXIgYWdhPV8uTChhPT57dmFyIHtkYXRhOmIsV2I6YyxzZWxlY3RlZDpkLG9uVGFwOmUsZ3JvdXBOYW1lOmYsY2xhc3NOYW1lOmgsbmE6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bCxMaTptfT1fLkRDKGEse1diOiExLHNlbGVjdGVkOiExLG5hOiExLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzohMSxMaTohMX0pLG49KCk9PmMoKT8yOmIoKS5mb3JtRmllbGRNZXRhZGF0YSYmIW0oKT8zOjE7Xy5VSigoKT0+e24oKT09PTImJmIoKS5kZWZhdWx0U2VsZWN0ZWQ/Xy5HcChFcnJvcigidWQiKSk6bigpPT09MSYmZCgpP18uR3AoRXJyb3IoInZkIikpOm4oKT09PTMmJmQoKSYmXy5HcChFcnJvcigid2QiKSl9KTt2YXIgcD1fLlpJKCgpPT5iKCkuZm9ybUZpZWxkTWV0YWRhdGEpLFtyLHRdPV8uQUMoKCk9PntpZihuKCk9PT0xKXJldHVybiBiKCkuZGVmYXVsdFNlbGVjdGVkfSk7cmV0dXJuIF8uSygieXQtY2hlY2tib3gtaXRlbS12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94SXRlbVZpZXdNb2RlbEhvc3QiLApoKX0sXy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgdj1iKCksej1uKCk9PT0zP3AoKT8udmFsdWV8fCExOm4oKT09PTE/cigpOmQoKTtyZXR1cm57dGl0bGU6di50ZXh0LHN1YnRpdGxlOnYuc3VidGV4dCxzdXBlcmxhYmVsOnYuc3VwZXJsYWJlbCxpc1NlbGVjdGVkOiEheixpc0Rpc2FibGVkOnYuaXNEaXNhYmxlZCxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9DSEVDS0JPWCJ9fSxvblRhcDooKT0+e3ZhciB2PSEobigpPT09Mz9wKCk/LnZhbHVlOm4oKT09PTE/cigpOmQoKSk7bigpPT09Mz9wKCk/LnVwZGF0ZVZhbHVlKHYpOm4oKT09PTEmJnQodik7ZT8uKHYsYigpLGY/LigpKX0sbmE6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bH0pKX0sIkRhIik7Xy50RD1fLkwoKHtkYXRhOmEsV2I6YixkQTpjLGd6OmQsZ3JvdXBOYW1lOmUsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmYsbmE6aH0pPT57dmFyIGs9Xy5ESShaZmEsKCk9PmEoKS5oaWRlSXRlbXNFbnRpdHlLZXkpLGw9KCk9PmI/LigpPzI6YSgpLmZvcm1GaWVsZE1ldGFkYXRhPzM6MSxtPSgpPT5lPy4oKXx8YSgpLmtleTtfLlVKKCgpPT57bCgpPT09MiYmYSgpLmRlZmF1bHRTZWxlY3RlZEtleXM/Xy5HcChFcnJvcigieGQiKSk6bCgpPT09MSYmYz8uKCk/Xy5HcChFcnJvcigieWQiKSk6bCgpPT09MyYmKGM/LigpIT09dm9pZCAwJiZfLkdwKEVycm9yKCJ6ZCIpKSxhKCkuZGVmYXVsdFNlbGVjdGVkS2V5cyYmXy5HcChFcnJvcigiQWQiKSkpfSk7dmFyIG49WWZhKCgpPT5hKCkuZm9ybUZpZWxkTWV0YWRhdGEpLFtwLHJdPV8uQUMoKCk9PntpZihsKCk9PT0xKXJldHVybiBhKCkuZGVmYXVsdFNlbGVjdGVkS2V5c30pLHQ9Xy5aSSgoKT0+KHtmb3JtSWQ6YSgpLnNlYXJjaFF1ZXJ5RmllbGRNZXRhZGF0YT8uZm9ybUlkfHwKIiIsZmllbGRJZDphKCkuc2VhcmNoUXVlcnlGaWVsZE1ldGFkYXRhPy5maWVsZElkfHwiIn0pKSx2PV8uTigoKT0+e3ZhciBFPWEoKS5jaGVja2JveGVzfHxbXSxBPWsoKTtpZihBPy52YWx1ZXMmJkEudmFsdWVzLmxlbmd0aD4wKXtsZXQgQz1BLnR5cGUsRz1uZXcgU2V0KEEudmFsdWVzLm1hcChEPT5fLlFMKEQsQykpLmZpbHRlcihEPT5EIT09dm9pZCAwKSk7RT1FLmZpbHRlcihEPT57RD1fLkIoRCxVTCk7aWYoIUQ/LnZhbHVlKXJldHVybiEwO0Q9Xy5RTChELnZhbHVlLEMpO3JldHVybiBEPT09dm9pZCAwfHwhRy5oYXMoRCl9KX12YXIgRj0odCgpPy52YWx1ZXx8IiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIEY/RS5maWx0ZXIoQz0+e0M9Xy5CKEMsVUwpO3JldHVybiBDPy50ZXh0Py5jb250ZW50P0MudGV4dC5jb250ZW50LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoRik6ITF9KTpFfSx2b2lkIDAsIlg2WTVNYyIpLHo9YXN5bmMoRSxBLEYpPT57RT1bXTtsKCk9PT0xJiZBLmtleT8oRT0KJGZhKEEua2V5LHAoKXx8W10pLHIoRSkpOmwoKT09PTMmJkEua2V5JiYoRT1uKCk/LnZhbHVlfHxbXSxFLmluY2x1ZGVzKEEua2V5KT8oRT1FLmluZGV4T2YoQS5rZXkpLEUhPT0tMSYmYXdhaXQgbigpPy5yZW1vdmUoRSkpOmF3YWl0IG4oKT8uYWRkKEEua2V5KSxFPW4oKT8udmFsdWV8fFtdKTtkPy4oQSxFLEYpfTtyZXR1cm4gXy5LKCJ5dC1jaGVja2JveC1ncm91cC12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94R3JvdXBWaWV3TW9kZWxIb3N0Iil9LF8uSygiZmllbGRzZXQiLHtjbGFzczpfLlAoInl0Q2hlY2tib3hHcm91cFZpZXdNb2RlbEZpZWxkc2V0Iil9LF8uSygiZGl2Iix7cm9sZToibGlzdCJ9LF8uSyhfLlcse2RhdGE6dn0se2NoZWNrYm94SXRlbVZpZXdNb2RlbDooe2RhdGE6RX0pPT5fLksoYWdhLHtkYXRhOkUsV2I6ITAsc2VsZWN0ZWQ6KCk9Pnt2YXIgQT1sKCk9PT0yP2M/LigpfHxbXTpsKCk9PT0zP24oKT8udmFsdWV8fFtdOnAoKXx8W10sRj1FKCkua2V5OwpyZXR1cm4gRj9BLmluY2x1ZGVzKEYpOiExfSxvblRhcDp6LGdyb3VwTmFtZTptLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpmLG5hOmh9KX0pKSkpfSwiRWEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgidkRjazFkIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uSko9ZnVuY3Rpb24oYSxiKXtpZighYSYmIWIpcmV0dXJuIm1lZGl1bSI7YT1NYXRoLm1heChhfHwwLGJ8fDApO3JldHVybiBhPj0yNTY/ImxhcmdlIjphPj05Nj8ibWVkaXVtIjoic21hbGwifTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEdlYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAyOnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlSW52ZXJzZSI7Y2FzZSAzOnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZSI7Y2FzZSA0OnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRvdWNoUmVzcG9uc2UifX0sSGVhPWZ1bmN0aW9uKGEsYil7aWYoYilyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIjtpZihhKXN3aXRjaChhKXtjYXNlICJsYXJnZSI6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZSI7Y2FzZSAibWVkaXVtIjpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZU1lZGl1bSI7ZGVmYXVsdDpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIn19LApJZWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmo9bmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoYSxbe29mZnNldDowLG9wYWNpdHk6LjEsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4wNSwgMC4wMCwgMC4wMCwgMS4wMCkifSx7b2Zmc2V0OjEsb3BhY2l0eTowfV0se2R1cmF0aW9uOjQwMH0pLGRvY3VtZW50LnRpbWVsaW5lKTt0aGlzLm89bmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoYixbe29mZnNldDowLG9wYWNpdHk6LjIsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4yMCwgMC4wMCwgMC42MCwgMS4wMCkifSx7b2Zmc2V0OjEsb3BhY2l0eTowfV0se2R1cmF0aW9uOjQwMH0pLGRvY3VtZW50LnRpbWVsaW5lKX1wbGF5KCl7dGhpcy5qLnBsYXk/LigpO3RoaXMuby5wbGF5Py4oKX1jYW5jZWwoKXt0aGlzLmouY2FuY2VsPy4oKTt0aGlzLm8uY2FuY2VsPy4oKX19O18uVUM9Xy5MKCh7bW9kZWw6YSxUbTpiLFZtOmMsVW06ZCxSYjplfSk9PntmdW5jdGlvbiBmKCl7digpO3IoITEpfWZ1bmN0aW9uIGgoKXt0Py5jYW5jZWwoKTtyKCEwKX12YXIgaz1fLnVFKCJ5dC10b3VjaC1mZWVkYmFjay1zaGFwZSIpLGw9Xy51RSgiZGl2IiksbT1fLnVFKCJkaXYiKSxbbixwXT1fLkFDKCgpPT5jPy4oKXx8ZD8uKCk/ITE6ISFiPy4oKXx8ITEpLHI9cCx0PXZvaWQgMCx2PSgpPT57IXQmJm0udmFsdWUmJmwudmFsdWUmJnR5cGVvZiBBbmltYXRpb249PT0iZnVuY3Rpb24iJiZ0eXBlb2YgS2V5ZnJhbWVFZmZlY3Q9PT0iZnVuY3Rpb24iJiYodD1uZXcgSWVhKG0udmFsdWUsbC52YWx1ZSkpO3Q/LnBsYXkoKX07Xy5uRSgoKT0+e2M/LigpJiZ2KCl9LCJDWTJTIik7Xy5uRSgoKT0+e2I/LigpJiZ0Py5jYW5jZWwoKX0sInZlcWY2YiIpO18ubkUoKCk9PntkPy4oKSYmdD8uY2FuY2VsKCl9LCJUVnJmQ2MiKTtfLll1KCgpPT57dCYmKHQ/LmNhbmNlbCgpLHQ9dm9pZCAwKX0pOwpyZXR1cm4gXy5LKCJ5dC10b3VjaC1mZWVkYmFjay1zaGFwZSIse2VsOmssY2xhc3M6Xy5QKCJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3N0IiwoKT0+R2VhKGEoKS5jb2xvciksKCk9PkhlYShhKCkudGh1bWJuYWlsU2l6ZSwhIWEoKS5pc0V4dGVuZGVkKSx7eXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZDooKT0+ISFhKCkuZm9jdXNlZCYmIWEoKS5kaXNhYmxlZCx5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhcjooKT0+ISFhKCkuY2lyY3VsYXIseXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93bjpuLHl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRyaWdnZXJFdmVudHM6KCk9PiEhYSgpLm1CLHl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyZWQ6KCk9PmU/LigpfSksc3R5bGU6Xy5JRSh7bWFyZ2luOigpPT5hKCkubWFyZ2luP2AtJHthKCkubWFyZ2lufXB4YDp2b2lkIDAsIm1hcmdpbi10b3AiOigpPT5hKCkueHA/YC0ke2EoKS54cH1weGA6dm9pZCAwfSksIm9uOm1vdXNlZG93biI6aCwKIm9uOm1vdXNldXAiOmYsIm9uOnBvaW50ZXJsZWF2ZSI6ZnVuY3Rpb24oKXt0Py5jYW5jZWwoKTtyKCExKX0sIm9uOnRvdWNoc3RhcnQiOmgsIm9uOnRvdWNoZW5kIjpmLCJhcmlhLWhpZGRlbiI6ITB9LF8uSyhfLk8se0E6KCk9PiEhYSgpLk5sLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0IixzdHlsZTpfLklFKHsiYm9yZGVyLXJhZGl1cyI6KCk9PmEoKS5ib3JkZXJSYWRpdXMsYmFja2dyb3VuZDooKT0+e3tsZXQgRT1hKCkuTmw7aWYoRSl7dmFyIHo9W107Zm9yKGxldCBBIG9mIEU/LmxpZ2h0aW5nVGVjaG5pcXVlc3x8W10pc3dpdGNoKEEpe2Nhc2UgMjp6LnB1c2goYGxpbmVhci1ncmFkaWVudCgxODBkZWcsICR7RT8ucGFsZXR0ZT8ua2V5TGlnaHR9LCAke0U/LnBhbGV0dGU/LmJhY2tncm91bmR9KWApfXoucHVzaChhKCkuTmw/LnBhbGV0dGU/LmJhY2tncm91bmQpO3o9ei5qb2luKCIsICIpfWVsc2Ugej12b2lkIDB9cmV0dXJuIHp9fSl9KX0pLApfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2UiLHN0eWxlOl8uSUUoeyJib3JkZXItcmFkaXVzIjooKT0+YSgpLmJvcmRlclJhZGl1cywiYm9yZGVyLWNvbG9yIjooKT0+YSgpLnRzPy5wYWxldHRlPy5iYWNrZ3JvdW5kfSksZWw6bH0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGwiLHN0eWxlOl8uSUUoeyJib3JkZXItcmFkaXVzIjooKT0+YSgpLmJvcmRlclJhZGl1cywiYmFja2dyb3VuZC1jb2xvciI6KCk9PmEoKS50cz8ucGFsZXR0ZT8uYmFja2dyb3VuZH0pLGVsOm19KSl9LCJUIik7Xy5VQy5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJPdEtTSmUiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIE9hYSxQYWEsUWFhO09hYT1mdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ9T2JqZWN0LmtleXMoYSk7Zm9yKGxldCBlIG9mIGQpY1tlXT1iKGUsYVtlXSk7cmV0dXJuIGN9O1BhYT1mdW5jdGlvbihhLGIpe3JldHVybiB0eXBlb2YgYSE9PSJvYmplY3QifHxhPT09bnVsbD8hMTpPYmplY3Qua2V5cyhiKS5ldmVyeShjPT5jIGluIGEpfTtfLmlBPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmtleXMoYSkubWFwKGI9PltiLGJdKSl9O1FhYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIE9hYShjLChkLGUpPT4oZiwuLi5oKT0+UGFhKGYsYSk/ZShmW2JdLC4uLmgpOmUoZiwuLi5oKSl9O18uakE9ZnVuY3Rpb24oYSl7cmV0dXJuKGIsYyk9PlFhYShhLGIsYyl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgVGFhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYSwicGxheWxpc3RMb29wU3RhdGVFbnRpdHkiLGIpPz92b2lkIDB9LFVhYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEsInRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eSIsYik/P3ZvaWQgMH0sd0E9Xy5pQSh7ZW50aXRpZXM6e319KTtfLnhBPV8uakEod0EpKHdBLmVudGl0aWVzLHtiQTpmdW5jdGlvbihhLGIpe3JldHVybihfLnFBKGEsInNmdkF1ZGlvSXRlbUN1cnJlbnRseVBsYXlpbmdFbnRpdHkiLGIpPz92b2lkIDApPy5zZnZBdWRpb0l0ZW1QbGF5YmFja1N0YXRlPz92b2lkIDB9LHRLOlRhYSxlQjpVYWF9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5aQz1uZXcgXy5JKCJsaXN0SXRlbVZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgdkk7Xy51ST1mdW5jdGlvbihhLGIpe2lmKF8udEE/LmVuY29kZUludG8pe2xldCB7cmVhZDpkLHdyaXR0ZW46ZX09Xy50QS5lbmNvZGVJbnRvKGEsYik7cmV0dXJuIGQ8YS5sZW5ndGg/YS5sZW5ndGgqNDplfXZhciBjPTA7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBlPWEuY2hhckNvZGVBdChkKTtlPDEyOD9iW2MrK109ZTooZTwyMDQ4P2JbYysrXT1lPj42fDE5MjooKGUmNjQ1MTIpPT09NTUyOTYmJmQrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChkKzEpJjY0NTEyKT09PTU2MzIwPyhlPTY1NTM2KygoZSYxMDIzKTw8MTApKyhhLmNoYXJDb2RlQXQoKytkKSYxMDIzKSxiW2MrK109ZT4+MTh8MjQwLGJbYysrXT1lPj4xMiY2M3wxMjgpOmJbYysrXT1lPj4xMnwyMjQsYltjKytdPWU+PjYmNjN8MTI4KSxiW2MrK109ZSY2M3wxMjgpfXJldHVybiBjfTsKdkk9ZnVuY3Rpb24oYSxiLGMpe2lmKGImJmMmJmMuYnVmZmVyPT09Yi5leHBvcnRzLm1lbW9yeS5idWZmZXIpe2xldCBkPWIubWVtb3J5LnJlYWxsb2MoYy5ieXRlT2Zmc2V0LGEpO2lmKGQpcmV0dXJuIG5ldyBVaW50OEFycmF5KGIuZXhwb3J0cy5tZW1vcnkuYnVmZmVyLGQsYSl9YT1iP25ldyBVaW50OEFycmF5KGIuZXhwb3J0cy5tZW1vcnkuYnVmZmVyLGIubWVtb3J5Lm1hbGxvYyhhKSxhKTpuZXcgVWludDhBcnJheShhKTtjJiZhLnNldChjKTtyZXR1cm4gYX07Xy53ST1mdW5jdGlvbihhLGIpe2I9YS5wb3MrYjtpZighKGEuYnVmLmxlbmd0aD49Yikpe2Zvcih2YXIgYz1hLmJ1Zi5sZW5ndGgqMjtjPGI7KWMqPTI7YS5idWY9dkkoYyxhLndhc20sYS5idWYuc3ViYXJyYXkoMCxhLnBvcykpO2Eudmlldz1uZXcgRGF0YVZpZXcoYS5idWYuYnVmZmVyLGEuYnVmLmJ5dGVPZmZzZXQsYS5idWYuYnl0ZUxlbmd0aCl9fTsKXy54ST1mdW5jdGlvbihhLGIpe2lmKGI+MjY4NDM1NDU1KXtfLndJKGEsNCk7bGV0IGM9YiYxMDczNzQxODIzO2ZvcihsZXQgZD0wO2Q8NDtkKyspYS52aWV3LnNldFVpbnQ4KGEucG9zLGMmMTI3fDEyOCksYz4+Pj03LGEucG9zKz0xO2I9TWF0aC5mbG9vcihiLzI2ODQzNTQ1Nil9Zm9yKF8ud0koYSw0KTtiPjEyNzspYS52aWV3LnNldFVpbnQ4KGEucG9zLGImMTI3fDEyOCksYj4+Pj03LGEucG9zKz0xO2Eudmlldy5zZXRVaW50OChhLnBvcyxiKTthLnBvcys9MX07Cl8uekk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgXy55STtpZihfLnRBKWE9Xy50QS5lbmNvZGUoYSk7ZWxzZXt2YXIgZD1uZXcgVWludDhBcnJheShNYXRoLmNlaWwoYS5sZW5ndGgqMS4yKSksZT1fLnVJKGEsZCk7ZC5sZW5ndGg8ZSYmKGQ9bmV3IFVpbnQ4QXJyYXkoZSksZT1fLnVJKGEsZCkpO2QubGVuZ3RoPmUmJihkPWQuc3ViYXJyYXkoMCxlKSk7YT1kfWEhPT12b2lkIDAmJihfLnhJKGMsMTgpLGQ9YS5sZW5ndGgsXy54SShjLGQpLF8ud0koYyxkKSxjLmJ1Zi5zZXQoYSxjLnBvcyksYy5wb3MrPWQpO2E9Xy51QVtiXTtpZih0eXBlb2YgYT09PSJ1bmRlZmluZWQiKXRocm93IGI9bmV3IF8uWGooIkZhaWxlZCB0byByZWNvZ25pemUgZW50aXR5IHR5cGUiLHtuYW1lOiJFbnRpdHlLZXlIZWxwZXJFcnJvciIsZW50aXR5VHlwZTpifSksXy5HcChiKSxiO2EhPT12b2lkIDAmJihfLnhJKGMsMzIpLF8ueEkoYyxhKSk7Xy54SShjLDQwKTtfLnhJKGMsMSk7Yj1uZXcgVWludDhBcnJheShjLmJ1Zi5idWZmZXIsCmMuYnVmLmJ5dGVPZmZzZXQsYy5wb3MpO3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoXy5zYyhiLDApKX07Xy55ST1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMud2FzbT12b2lkIDA7dGhpcy5wb3M9MDt0aGlzLmo9W107dGhpcy5idWY9dkkoNDA5Nik7dGhpcy52aWV3PW5ldyBEYXRhVmlldyh0aGlzLmJ1Zi5idWZmZXIsdGhpcy5idWYuYnl0ZU9mZnNldCx0aGlzLmJ1Zi5ieXRlTGVuZ3RoKX19O18uekkoIiIsImRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eSIpO18uekkoIkRPV05MT0FEU19MSVNUX0VOVElUWV9JRF9NQU5VQUxfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtfLnpJKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtfLnpJKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwicmVmcmVzaCIpO18uekkoIlNNQVJUX0RPV05MT0FEU19FTkFCTEVEIiwic2V0dGluZ0VudGl0eSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkFJPW5ldyBfLkkoIm9mZmxpbmVQbGF5bGlzdEVuZHBvaW50Iik7Xy5CST1uZXcgXy5JKCJvZmZsaW5lVmlkZW9FbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgWmRhO18uRUk9ZnVuY3Rpb24oYSxiLGMsZCxlKXthPWI/YS5zd2l0Y2hPZmZDb21tYW5kOmEuc3dpdGNoT25Db21tYW5kO2lmKGQmJmUpWmRhKGEsYyxlKTtlbHNlIF8uYkUoe2JoOmF9KT8ub25jbGljaz8uKGMpfTtaZGE9ZnVuY3Rpb24oYSxiLGMpe2E9Xy5iRSh7Ymg6YSxBbzp7RWk6e29uU3VjY2VzczooKT0+e2MoITEpfSxuejooKT0+e2MoITEpfX19fSk7YT8ub25jbGljayYmKGEub25jbGljayhiKSxjKCEwKSl9O18uJGRhPW5ldyBfLkkoInN3aXRjaEJ1dHRvblZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZUo9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gXy5CKGEsXy4kZGEpfTtfLmZKPV8uTCgoe2RhdGE6YSxvblRhcDpiLGtLOmMsbUs6ZCxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ZSxMaTpmLG5hOmh9KT0+e2Z1bmN0aW9uIGsoRil7aWYoIUYub3Upe0Yub3U9ITA7dmFyIEM9ZUooQSgpKTshQ3x8Qy5pc0Rpc2FibGVkfHxhKCkuaWdub3JlVGFwVW50aWxDb21tYW5kQ29tcGxldGVzJiZ2KCl8fChiPy4oRiksXy5FSShDLEUoKSxGLGEoKS5pZ25vcmVUYXBVbnRpbENvbW1hbmRDb21wbGV0ZXMseiksKGEoKS5mb3JtRmllbGRNZXRhZGF0YSYmIWY/LigpPzM6MSk9PT0zP2woKT8udXBkYXRlVmFsdWUoIUUoKSk6cCghRSgpKSxjPy4oRSgpKSl9fXZhciBsPV8uWkkoKCk9PmEoKS5mb3JtRmllbGRNZXRhZGF0YSksW20sbl09Xy5BQygoKT0+ZUooQSgpKT8uc3dpdGNoZWRPbkJ5RGVmYXVsdHx8ITEpLHA9bixbcix0XT1fLkooITEsdm9pZCAwLCJPdmt1bGUiKSx2PXIsej10LEU9KCk9PihhKCkuZm9ybUZpZWxkTWV0YWRhdGEmJiFmPy4oKT8zOjEpPT09Mz9sKCk/LnZhbHVlfHwKITE6bSgpLEE9KCk9Pnt2YXIgRjtpZighKEY9YSgpLnN3aXRjaEJ1dHRvbikpe3ZhciBDPWEoKTtGPWQ/LigpO0M9e3N3aXRjaE9uQ29tbWFuZDpDLnN3aXRjaE9uQ29tbWFuZCxzd2l0Y2hPZmZDb21tYW5kOkMuc3dpdGNoT2ZmQ29tbWFuZCxzd2l0Y2hlZE9uQnlEZWZhdWx0OkMuc3dpdGNoZWRPbkJ5RGVmYXVsdCxpc0Rpc2FibGVkOkMuaXNEaXNhYmxlZCxhMTF5TGFiZWxTd2l0Y2hlZE9uOkMuYTExeUxhYmVsU3dpdGNoZWRPbixhMTF5TGFiZWxTd2l0Y2hlZE9mZjpDLmExMXlMYWJlbFN3aXRjaGVkT2ZmfTtGIT09dm9pZCAwJiYoQy5pc0Rpc2FibGVkPUYpO0Y9e3N3aXRjaEJ1dHRvblZpZXdNb2RlbDpDfX1DPWVKKEYpO2lmKCFDKXJldHVybiBGO3ZhciBHPWEoKS50aXRsZT8uY29udGVudDtyZXR1cm4gRz97c3dpdGNoQnV0dG9uVmlld01vZGVsOnsuLi5DLGExMXlMYWJlbFN3aXRjaGVkT246RyxhMTF5TGFiZWxTd2l0Y2hlZE9mZjpHfX06Rn07cmV0dXJuIF8uSygic3dpdGNoLWxpc3QtaXRlbS12aWV3LW1vZGVsIiwKe2NsYXNzOiJ5dFN3aXRjaExpc3RJdGVtVmlld01vZGVsSG9zdCIsIm9uOmNsaWNrIjprfSxfLksoXy5DRCx7ZGF0YTooKT0+KHt0aXRsZTphKCkudGl0bGUsc3VidGl0bGU6YSgpLmF0dHJpYnV0ZWRTdWJ0aXRsZSxsZWFkaW5nSW1hZ2U6YSgpLmxlYWRpbmdJbWFnZSxsZWFkaW5nQWNjZXNzb3J5OmEoKS5sZWFkaW5nQWNjZXNzb3J5LGlzRGlzYWJsZWQ6YSgpLmlzRGlzYWJsZWR9KSxpc1RvZ2dsZWQ6RSxEZzohMCxuYTpoLHhzOigpPT5fLksoXy5XLHtkYXRhOkF9LHtzd2l0Y2hCdXR0b25WaWV3TW9kZWw6KHtkYXRhOkZ9KT0+Xy5LKF8ua0kse2RhdGE6RixxcjpFLG9uVGFwOmt9KX0pLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzplfSkpfSwiSiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgY2VhLGdKLGRlYSxoSixpSixlZWEsZmVhLGdlYSxoZWEsamVhLGtlYSxsZWEsbWVhLGpKLGtKLG1KLG5lYSxvZWEscGVhLHRlYSx1ZWEscUosckosc0osd2VhLHRKLGllYSx1SjtjZWE9ZnVuY3Rpb24oYSxiPTIpe18ueEkoYSwxMCk7YS5qLnB1c2goYS5wb3MpO2Euai5wdXNoKGIpO2EucG9zKz1ifTsKZ0o9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8ueUk7aWYoYSE9PXZvaWQgMCl7Y2VhKGIsTWF0aC5jZWlsKE1hdGgubG9nMihhLmxlbmd0aCo0KzIpLzcpKTtfLndJKGIsYS5sZW5ndGgqMS4yKTt2YXIgYz1fLnVJKGEsYi5idWYuc3ViYXJyYXkoYi5wb3MpKTtiLnBvcytjPmIuYnVmLmxlbmd0aCYmKF8ud0koYixjKSxjPV8udUkoYSxiLmJ1Zi5zdWJhcnJheShiLnBvcykpKTtiLnBvcys9YzthPWIuai5wb3AoKTtjPWIuai5wb3AoKTtsZXQgZD1iLnBvcy1jLWE7Zm9yKDthLS07KXtsZXQgZT1hPzEyODowO2Iudmlldy5zZXRVaW50OChjKyssZCYxMjd8ZSk7ZD4+PTd9fWI9bmV3IFVpbnQ4QXJyYXkoYi5idWYuYnVmZmVyLGIuYnVmLmJ5dGVPZmZzZXQsYi5wb3MpO3JldHVybihuZXcgVGV4dERlY29kZXIoInV0Zi04IikpLmRlY29kZShiKX07CmRlYT1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybltdO2I9Xy56SShiLCJtYWluUGxheWxpc3RFbnRpdHkiKTt2YXIgYz1hLm1haW5QbGF5bGlzdEVudGl0eT8uW2JdO2I9W107aWYoIWM/LnZpZGVvcylyZXR1cm4gYjtmb3IobGV0IGQgb2YgYy52aWRlb3Mpe2M9YT8ubWFpblBsYXlsaXN0VmlkZW9FbnRpdHk/LltkXT8udmlkZW87aWYoIWMpY29udGludWU7KHtlbnRpdHlJZDpjfT1fLkdIKGMpKTtjJiZiLnB1c2goYyl9cmV0dXJuIGJ9O2hKPWZ1bmN0aW9uKGEpe3JldHVybiJkb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzImluIGF9OwppSj1mdW5jdGlvbihhKXt2YXIgYj1hLm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5LGM9W107aWYoIWIpcmV0dXJuIGM7Zm9yKGxldCBoIG9mIE9iamVjdC5rZXlzKGIpKXthOnt2YXIgZD1hLGU9Xy5HSChoKS5lbnRpdHlJZDtpZihlKXt2YXIgZj1fLnFBKGQsIm11c2ljUGxheWxpc3QiLF8uekkoZSwibXVzaWNQbGF5bGlzdCIpKTtkPV8ucUEoZCwibXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHkiLF8uekkoZSwibXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHkiKSk7aWYoZiYmZCl7Zj17bXVzaWNQbGF5bGlzdEVudGl0eTpmLG11c2ljUGxheWxpc3REb3dubG9hZFN0YXRlRW50aXR5OmR9O2JyZWFrIGF9fWY9dm9pZCAwfWQ9TnVtYmVyKGJbaF0/LmFkZGVkVGltZXN0YW1wTWlsbGlzKTtkPWlzTmFOKGQpPygwLF8uZWwpKCk6ZDtmIT09dm9pZCAwJiZjLnB1c2goe2Rvd25sb2FkZWRNdXNpY1BsYXlsaXN0RW50aXRpZXM6ZixhZGRlZFRpbWVzdGFtcE1pbGxpczpkfSl9cmV0dXJuIGN9OwplZWE9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFNldDtmb3IobGV0IGMgb2YgYSlpZigibXVzaWNQbGF5bGlzdEVudGl0eSJpbiBjJiYibXVzaWNQbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHkiaW4gYylmb3IobGV0IGQgb2YgYy5tdXNpY1BsYXlsaXN0RW50aXR5LnRyYWNrcyliLmFkZChkKTtyZXR1cm4gYn07CmZlYT1mdW5jdGlvbihhKXt2YXIgYj1hLm11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5LGM9W107aWYoIWIpcmV0dXJuW107Zm9yKGxldCBtIG9mIE9iamVjdC5rZXlzKGIpKXthOnt2YXIgZD1hLGU9Xy5HSChtKS5lbnRpdHlJZDtpZihlKXtiPV8ucUEoZCwibXVzaWNUcmFjayIsXy56SShlLCJtdXNpY1RyYWNrIikpO3ZhciBmPV8ucUEoZCwibXVzaWNBcnRpc3QiLF8uekkoZSwibXVzaWNBcnRpc3QiKSl8fHt9O2I6e3ZhciBoPWU7aWYoaCl7ZT1fLnFBKGQsInBsYXliYWNrRGF0YSIsXy56SShoLCJwbGF5YmFja0RhdGEiKSk/P251bGw7dmFyIGs9Xy5xQShkLCJ0cmFuc2ZlciIsXy56SShoLCJ0cmFuc2ZlciIpKT8/bnVsbCxsPV8ucUEoZCwib2ZmbGluZVZpZGVvU3RyZWFtcyIsXy56SShoLCJvZmZsaW5lVmlkZW9TdHJlYW1zIikpPz9udWxsO2Q9Xy5xQShkLCJvZmZsaW5lVmlkZW9Qb2xpY3kiLF8uekkoaCwib2ZmbGluZVZpZGVvUG9saWN5IikpPz9udWxsO2lmKGV8fAprfHxsfHxkKXtkPXtwbGF5YmFja0RhdGFFbnRpdHk6ZSx0cmFuc2ZlckVudGl0eTprLHN0cmVhbUVudGl0eTpsLHBvbGljeUVudGl0eTpkfTticmVhayBifX1kPXZvaWQgMH1pZihkJiZiJiZmKXtiPXttdXNpY1RyYWNrRW50aXR5OmIsbXVzaWNBcnRpc3RFbnRpdHk6ZiwuLi5kfTticmVhayBhfX1iPXZvaWQgMH1mPU51bWJlcihfLnFBKGEsIm11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5IixtKT8uYWRkZWRUaW1lc3RhbXBNaWxsaXMpO2Y9aXNOYU4oZik/KDAsXy5lbCkoKTpmO2IhPT12b2lkIDAmJmMucHVzaCh7ZG93bmxvYWRlZE11c2ljRW50aXRpZXM6YixhZGRlZFRpbWVzdGFtcE1pbGxpczpmfSl9cmV0dXJuIGN9OwpnZWE9ZnVuY3Rpb24oYSl7dmFyIGI9ZmVhKGEpLnNvcnQoKGMsZCk9PmQuYWRkZWRUaW1lc3RhbXBNaWxsaXMtYy5hZGRlZFRpbWVzdGFtcE1pbGxpcykubWFwKGM9PiJkb3dubG9hZGVkTXVzaWNFbnRpdGllcyJpbiBjP2MuZG93bmxvYWRlZE11c2ljRW50aXRpZXM6aEooYyk/Yy5kb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOnt9KTthPWlKKGEpLnNvcnQoKGMsZCk9PmQuYWRkZWRUaW1lc3RhbXBNaWxsaXMtYy5hZGRlZFRpbWVzdGFtcE1pbGxpcykubWFwKGM9PiJkb3dubG9hZGVkTXVzaWNFbnRpdGllcyJpbiBjP2MuZG93bmxvYWRlZE11c2ljRW50aXRpZXM6aEooYyk/Yy5kb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOnt9KTtyZXR1cm57ZG93bmxvYWRlZE11c2ljRW50aXRpZXM6Yixkb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOmF9fTsKaGVhPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IFNldCxkPWlKKGEpLm1hcChlPT5lLmRvd25sb2FkZWRNdXNpY1BsYXlsaXN0RW50aXRpZXMpO2Q9ZWVhKGQpO2ZvcihsZXQgZSBvZiBkKSh7ZW50aXR5SWQ6ZH09Xy5HSChlKSksZCYmYy5hZGQoZCk7KHtkb3dubG9hZGVkTXVzaWNFbnRpdGllczphfT1nZWEoYSkpO3JldHVybiBhLmZpbHRlcihlPT57aWYoZS5tdXNpY1RyYWNrRW50aXR5Py52aWRlb0lkKXtlPWUubXVzaWNUcmFja0VudGl0eTt2YXIgZjtpZihmPWI9PT0iUFBPTSI/ITA6IWMuaGFzKGUudmlkZW9JZCkpYjpzd2l0Y2goZT1lLm11c2ljVmlkZW9UeXBlLGIpe2Nhc2UgIlBQU0UiOmY9ZT09PSJNVVNJQ19WSURFT19UWVBFX1BPRENBU1RfRVBJU09ERSI7YnJlYWsgYjtkZWZhdWx0OmY9ZSE9PSJNVVNJQ19WSURFT19UWVBFX1BPRENBU1RfRVBJU09ERSJ9ZT1mfWVsc2UgZT0hMTtyZXR1cm4gZX0pLm1hcChlPT5lLm11c2ljVHJhY2tFbnRpdHk/LnZpZGVvSWQpfTsKamVhPWZ1bmN0aW9uKGEsYil7aWYoIWIpcmV0dXJuW107aWYoT2JqZWN0LnZhbHVlcyhpZWEpLmluY2x1ZGVzKGIpKXJldHVybiBoZWEoYSxiKTtiPV8uekkoYiwibXVzaWNQbGF5bGlzdCIpO2I9YS5tdXNpY1BsYXlsaXN0Py5bYl07YT1bXTtpZighYj8udHJhY2tzKXJldHVybiBhO2ZvcihsZXQgYyBvZiBiLnRyYWNrcykoe2VudGl0eUlkOmJ9PV8uR0goYykpLGImJmEucHVzaChiKTtyZXR1cm4gYX07CmtlYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgU2V0KGEpO2lmKGIuaGFzKCJUUkFOU0ZFUl9TVEFURV9GQUlMRUQiKSYmYi5zaXplPT09MSlyZXR1cm4iVFJBTlNGRVJfU1RBVEVfRkFJTEVEIjtiLmRlbGV0ZSgiVFJBTlNGRVJfU1RBVEVfRkFJTEVEIik7aWYoYi5oYXMoIlRSQU5TRkVSX1NUQVRFX1VOS05PV04iKSYmYi5zaXplPT09MSlyZXR1cm4iVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIjtiLmRlbGV0ZSgiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiIpO2lmKGIuaGFzKCJUUkFOU0ZFUl9TVEFURV9QUkVfVFJBTlNGRVIiKSYmYi5zaXplPT09MXx8Yi5zaXplPT09MClyZXR1cm4iVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIjthPWIuaGFzKCJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUlJJTkciKTtiPWIuaGFzKCJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUl9JTl9RVUVVRSIpO3JldHVybiBhfHxiPyJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUlJJTkciOiJUUkFOU0ZFUl9TVEFURV9DT01QTEVURSJ9OwpsZWE9ZnVuY3Rpb24oYSxiKXtiPV8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iV0VCX1JFTUlYIj9qZWEoYSxiKTpkZWEoYSxiKTtpZighYi5sZW5ndGgpcmV0dXJuIlRSQU5TRkVSX1NUQVRFX1VOS05PV04iO2I9Yi5tYXAoYz0+e2M9Yz8oYz1fLnFBKGEsInRyYW5zZmVyIixfLnpJKGMsInRyYW5zZmVyIikpKT9jLnRyYW5zZmVyU3RhdGU/PyJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIjoiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI6IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iO3JldHVybiBjfSk7cmV0dXJuIGtlYShiKX07bWVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywiZG93bmxvYWRTdGF0dXNFbnRpdHkiLF8uekkoYiwiZG93bmxvYWRTdGF0dXNFbnRpdHkiKSk/LmRvd25sb2FkU3RhdGU9PT0iRE9XTkxPQURfU1RBVEVfVVNFUl9ERUxFVEVEIj8hMDohMX07ako9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIENTUyE9PSJ1bmRlZmluZWQiJiZDU1Muc3VwcG9ydHM/Ligic2VsZWN0b3IoOmhhcygqKSkiKX07CmtKPWZ1bmN0aW9uKGEpe3JldHVybiBhLnZpc2liaWxpdHkhPT0iaGlkZGVuIiYmYS5kaXNwbGF5IT09Im5vbmUifTttSj1mdW5jdGlvbihhKXtpZihqSigpfHxhLnRhZ05hbWUhPT0iREVUQUlMUyI/IWEubWF0Y2hlcyhsSik6YS5xdWVyeVNlbGVjdG9yKCJzdW1tYXJ5IikhPT1udWxsKXJldHVybi0xO2E9YS5nZXRBdHRyaWJ1dGUoInRhYmluZGV4Iil8fCIwIjtyZXR1cm4gTnVtYmVyKGEpfTtuZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc29tZShiPT5tSihiKT4wKX07b2VhPWZ1bmN0aW9uKGEpe2lmKGEudGV4dENvbnRlbnR8fGEuYXJpYUxhYmVsKXJldHVybiEwO2lmKGEgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KXtpZighYS5sYWJlbHMpcmV0dXJuITE7Zm9yKGxldCBiIG9mIGEubGFiZWxzKWlmKGIudGV4dENvbnRlbnQpcmV0dXJuITB9cmV0dXJuITF9O3BlYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5zb3J0KChiLGMpPT5tSihjKS1tSihiKSl9OwpfLm5KPWZ1bmN0aW9uKGEpe2E9QXJyYXkuZnJvbShhLnF1ZXJ5U2VsZWN0b3JBbGwobEopKS5maWx0ZXIoYj0+KGtKKGIuc3R5bGUpP2tKKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGIpKTohMSkmJm9lYShiKSk7cmV0dXJuIG5lYShhKT9wZWEoYSk6YX07CnRlYT1mdW5jdGlvbihhLGIsYyl7aWYoYilyZXR1cm5bb0pdO3N3aXRjaChhKXtjYXNlICJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUl9JTl9RVUVVRSI6Y2FzZSAiVFJBTlNGRVJfU1RBVEVfQ09NUExFVEUiOnJldHVybltwSl07Y2FzZSAiVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIjpjYXNlICJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUlJJTkciOnJldHVybiBjP1twSl06W3FlYSxwSl07Y2FzZSAiVFJBTlNGRVJfU1RBVEVfUEFVU0VEX0JZX1VTRVIiOnJldHVybltyZWEscEpdO2Nhc2UgIlRSQU5TRkVSX1NUQVRFX0ZBSUxFRCI6Y2FzZSAiVFJBTlNGRVJfU1RBVEVfV0FJVElOR19GT1JfUExBWUVSX1JFU1BPTlNFX1JFRlJFU0giOnJldHVybltzZWEscEpdO2RlZmF1bHQ6cmV0dXJuW29KXX19Owp1ZWE9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRlYShhLGIsZCkubWFwKGU9Pnt2YXIgZj1lLnRleHQsaD1lLmljb25UeXBlLGs9ZS5paTtlPWUuS2g7Zj1mP3tjb250ZW50OmZ9OnZvaWQgMDtoPWgmJntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTpofX1dfTt2YXIgbD1fLnFkKGMpO2lmKGwpe2xldCBtPV8uQihsLF8uQkkpLG49Xy5CKGwsXy5BSSk7bSYmaz9tLmFjdGlvbj1rOm4mJmUmJihuLmFjdGlvbj1lKX1yZXR1cm57dGl0bGU6ZixsZWFkaW5nSW1hZ2U6aCxyZW5kZXJlckNvbnRleHQ6bCYme2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDpsfX19fX0pfTtxSj1mdW5jdGlvbihhKXthPV8uc0goYS5yZW5kZXJlckNvbnRleHQpO3JldHVybiBfLkIoYSxfLkJJKT8udmlkZW9JZH07cko9ZnVuY3Rpb24oYSl7YT1fLnNIKGEucmVuZGVyZXJDb250ZXh0KTtyZXR1cm4gXy5CKGEsXy5BSSk/LnBsYXlsaXN0SWR9OwpzSj1mdW5jdGlvbihhKXthPV8uQihhLF8uWkMpO3JldHVybiEhYSYmXy50SChhLnJlbmRlcmVyQ29udGV4dCl9O3dlYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5saXN0SXRlbXM/LnNvbWUoYj0+e2lmKHNKKGIpKXJldHVybiEwO2I9Xy5CKGIsdmVhKTtyZXR1cm4hIWImJihfLnRIKGIucmVuZGVyZXJDb250ZXh0KXx8c0ooYi5kZWZhdWx0TGlzdEl0ZW0pfHxzSihiLnRvZ2dsZWRMaXN0SXRlbSkpfSl9O3RKPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGg7YVtiPT09LTE/Yy0xOihiLTErYyklY10/LmZvY3VzKCl9O2llYT17ZEM6IlBQQUQiLE9DOiJQUERQIixMRjoiUFBPTSIscUc6IlBQUkMiLHdHOiJQUFNFIix4RzoiUFBTViJ9O3VKPSJhW2hyZWZdIGFbdGFiaW5kZXhdIGFyZWFbaHJlZl0gaWZyYW1lIFt0YWJpbmRleF0gW2NvbnRlbnRFZGl0YWJsZV0gc3VtbWFyeSBpbnB1dDpub3QoW2Rpc2FibGVkXSkgc2VsZWN0Om5vdChbZGlzYWJsZWRdKSB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSkgYnV0dG9uOm5vdChbZGlzYWJsZWRdKSBvYmplY3Q6bm90KFtkaXNhYmxlZF0pIi5zcGxpdCgiICIpOwpqSigpJiZ1Si5wdXNoKCJkZXRhaWxzOm5vdCg6aGFzKHN1bW1hcnkpKSIpO3ZhciBsSj11Si5qb2luKCIsIik7dmFyIHZlYT1uZXcgXy5JKCJ0b2dnbGVhYmxlTGlzdEl0ZW1WaWV3TW9kZWwiKTt2YXIgeGVhPV8uTChhPT57dmFyIHtkYXRhOmIsY2xhc3NOYW1lOmMsbmE6ZCxJYTplLEJjOmZ9PV8uREMoYSx7bmE6ITEsSWE6ITEsQmM6ITF9KSxoPV8uY0kobj0+e2E6e3ZhciBwPWIoKS5lbnRpdHlLZXkscj1iKCkuZW50aXR5U2VsZWN0b3JUeXBlO2lmKHIpc3dpdGNoKHIpe2Nhc2UgIlRPR0dMRUFCTEVfTElTVF9JVEVNX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1RPR0dMRV9NRU5VX1NFUlZJQ0VfSVRFTV9FTlRJVFkiOmlmKCFwKWJyZWFrO249KG49Xy54QS5lQihuLHApKSYmbi5pc1RvZ2dsZWQhPT12b2lkIDA/e2lzVG9nZ2xlZDpuLmlzVG9nZ2xlZH06dm9pZCAwO2JyZWFrIGE7ZGVmYXVsdDpfLklwKG5ldyBfLlhqKCJFcnJvcjogZW50aXR5U2VsZWN0b3JUeXBlIGRlZmluZWQgYnV0IG5vdCBtYXRjaGVkIGluIHNlbGVjdG9yLiIsbixyKSl9bj12b2lkIDB9cmV0dXJuIG59KSxbayxsXT1fLkFDKCgpPT5oKCk/LmlzVG9nZ2xlZCE9PXZvaWQgMD9oKCk/LmlzVG9nZ2xlZDpiKCkuaW5pdGlhbFN0YXRlPy5pc1RvZ2dsZWQ/PwpiKCkuaW5pdGlhbElzVG9nZ2xlZD8/ITEpLG09KCk9Pnt2YXIgbj1rKCk/YigpLnRvZ2dsZWRMaXN0SXRlbTpiKCkuZGVmYXVsdExpc3RJdGVtO3JldHVybiBfLkIoXy5CKG4sXy5aQyk/LnJlbmRlcmVyQ29udGV4dCxfLllDKT8ubGFiZWx9O3JldHVybiBfLksoInRvZ2dsZWFibGUtbGlzdC1pdGVtLXZpZXctbW9kZWwiLHtlbDpfLnJGKF8udUgoKCk9PmIoKS5yZW5kZXJlckNvbnRleHQse29uVGFwOihuLHApPT57cCgpO2goKT8uaXNUb2dnbGVkIT09dm9pZCAwfHxsKCFrKCkpfX0pKSxjbGFzczpfLlAoInRvZ2dsZWFibGVMaXN0SXRlbVZpZXdNb2RlbEhvc3QiLGMpfSxfLksoXy5PLHtBOigpPT57aWYoaygpKXt2YXIgbj1iKCkudG9nZ2xlZExpc3RJdGVtO249Xy5CKG4sXy5aQyl9ZWxzZSBuPWIoKS5kZWZhdWx0TGlzdEl0ZW0sbj1fLkIobixfLlpDKTtyZXR1cm4gbn0sdGhlbjpuPT5fLksoXy5DRCx7ZGF0YTpuLGlzVG9nZ2xlZDprLG5hOmQsSWE6ZSxCYzpmLGFyaWFMYWJlbDptLAphcmlhUHJlc3NlZDprfSl9KSl9LCJLIik7dmFyIHllYT1fLmFBKCJET1dOTE9BRCIse30sIkRvd25sb2FkIiksemVhPV8uYUEoIkRFTEVURV9GUk9NX0RPV05MT0FEUyIse30sIkRlbGV0ZSBmcm9tIGRvd25sb2FkcyIpLEFlYT1fLmFBKCJSRVRSWSIse30sIlJldHJ5IiksQmVhPV8uYUEoIlBBVVNFX0RPV05MT0FESU5HIix7fSwiUGF1c2UgZG93bmxvYWRpbmciKSxDZWE9Xy5hQSgiUkVTVU1FX0RPV05MT0FEIix7fSwiUmVzdW1lIGRvd25sb2FkIiksb0o9e3RleHQ6eWVhLGljb25UeXBlOiJPRkZMSU5FX0RPV05MT0FEIixpaToiQUNUSU9OX0FERCIsS2g6IkFDVElPTl9BREQifSxwSj17dGV4dDp6ZWEsaWNvblR5cGU6IkRFTEVURSIsaWk6IkFDVElPTl9SRU1PVkUiLEtoOiJBQ1RJT05fUkVNT1ZFIn0sc2VhPXt0ZXh0OkFlYSxpY29uVHlwZToiT0ZGTElORV9ET1dOTE9BRCIsaWk6IkFDVElPTl9SRVRSWSIsS2g6IkFDVElPTl9SRU1PVkUifSxxZWE9e3RleHQ6QmVhLGljb25UeXBlOiJPRkZMSU5FX1BBVVNFIixpaToiQUNUSU9OX1BBVVNFIiwKS2g6IkFDVElPTl9QQVVTRSJ9LHJlYT17dGV4dDpDZWEsaWNvblR5cGU6Ik9GRkxJTkVfRE9XTkxPQUQiLGlpOiJBQ1RJT05fUkVTVU1FIixLaDoiQUNUSU9OX1JFU1VNRSJ9O18uTChhPT57dmFyIGI9Xy5jSShoPT57dmFyIGs9cUooYS5kYXRhKCkpLGw9ckooYS5kYXRhKCkpO2s/KGg9aC5lbnRpdGllcyxrPyhsPV8ucUEoaCwidHJhbnNmZXIiLF8uekkoaywidHJhbnNmZXIiKSkpP2s9bC50cmFuc2ZlclN0YXRlPz8iVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI6KGw9Xy5xQShoLCJvZmZsaW5lT3JjaGVzdHJhdGlvbkFjdGlvbldyYXBwZXJFbnRpdHkiLF8uekkoaywib2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5IikpLGs9Xy5xQShoLCJtYWluVmlkZW9FbnRpdHkiLF8uekkoaywibWFpblZpZGVvRW50aXR5IikpLGs9bHx8az8iVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJfSU5fUVVFVUUiOiJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIik6az0iVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiIpOms9bD9sZWEoaC5lbnRpdGllcyxsKToiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI7cmV0dXJuIGt9KSxjPV8uREkobWVhLCgpPT5xSihhLmRhdGEoKSkpLApkPV8uY0koaD0+e3ZhciBrPXFKKGEuZGF0YSgpKSxsPXJKKGEuZGF0YSgpKTshayYmbD8oaz1oLmVudGl0aWVzLGw/KGw9Z0oobCksaz1fLnFBKGssIm9mZmxpbmVhYmlsaXR5RW50aXR5IixfLnpJKGwsIm9mZmxpbmVhYmlsaXR5RW50aXR5IikpPy5hZGRUb09mZmxpbmVCdXR0b25TdGF0ZT8/IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9FTkFCTEVEIik6az0iQUREX1RPX09GRkxJTkVfQlVUVE9OX1NUQVRFX0RJU0FCTEVEIik6KGw9aC5lbnRpdGllcyxrPyhrPWdKKGspLGs9Xy5xQShsLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIsXy56SShrLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIpKT8uYWRkVG9PZmZsaW5lQnV0dG9uU3RhdGU/PyJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRU5BQkxFRCIpOms9IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9ESVNBQkxFRCIpO3JldHVybiBrfSksZT0oKT0+dWVhKGIoKSxjKCksXy5zSChhLmRhdGEoKS5yZW5kZXJlckNvbnRleHQpLAohIXJKKGEuZGF0YSgpKSksZj0oKT0+ZCgpIT09IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9FTkFCTEVEIjtyZXR1cm4gXy5LKCJ5dC1kb3dubG9hZC1saXN0LWl0ZW0tdmlldy1tb2RlbCIse2NsYXNzOiJ5dERvd25sb2FkTGlzdEl0ZW1WaWV3TW9kZWxIb3N0IixoaWRkZW46Zn0sXy5LKF8uTyx7QTooKT0+IWYoKSx0aGVuOigpPT5fLksoXy5PLHtBOmUsdGhlbjpoPT5fLksoXy5nRyx7cGE6aH0saz0+Xy5LKF8uQ0Qse2RhdGE6ayxuYTphLm5hLElhOmEuSWEsQmM6YS5CYyxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6YS5kaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd9KSl9KX0pKX0sIkwiKS5pZG9tQ29tcGF0PSEwO18uQkQ9Xy5MKCh7ZGF0YTphLG5hOmIsY2U6YyxCYzpkLGlzT3ZlcmxheTplLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpmfSk9Pnt2YXIgaD0oKT0+d2VhKGEoKSkmJmQ/LigpO3JldHVybiBfLksoInl0LWxpc3Qtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRMaXN0Vmlld01vZGVsSG9zdCIse3l0TGlzdFZpZXdNb2RlbEhvc3RLYWlvc1NwYXROYXY6Xy5nciYmZG9jdW1lbnQuYm9keS5oYXNBdHRyaWJ1dGUoInNwYXRpYWwtbmF2aWdhdGlvbi1lbmFibGVkIikmJmRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCJzcGF0aWFsLW5hdmlnYXRpb24tZW5hYmxlZCIpPT09InRydWUifSkscm9sZTooKT0+aCgpPyJtZW51IjoibGlzdCIsc3R5bGU6Xy5JRSh7Im1heC1oZWlnaHQiOigpPT57dmFyIGs9YSgpPy52aXNpYmxlRWxlbWVudENvdW50O2lmKGspcmV0dXJuYCR7KGsrLjUpKjQwfXB4YH19KSwib246a2V5ZG93biI6ZnVuY3Rpb24oayl7aWYoZD8uKCkmJl8ueCgid2ViX2VuYWJsZV9hcnJvd19rZXlfbmF2aWdhdGlvbl9pbl9kcm9wZG93biIpKXt2YXIgbD0KXy5uSihrLmN1cnJlbnRUYXJnZXQpO2lmKGwubGVuZ3RoIT09MCl7dmFyIG09QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChsLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO3N3aXRjaChrLmtleSl7Y2FzZSAiQXJyb3dEb3duIjprLnByZXZlbnREZWZhdWx0KCk7bFsobSsxKSVsLmxlbmd0aF0/LmZvY3VzKCk7YnJlYWs7Y2FzZSAiQXJyb3dVcCI6ay5wcmV2ZW50RGVmYXVsdCgpO3RKKGwsbSk7YnJlYWs7Y2FzZSAiVGFiIjprLnByZXZlbnREZWZhdWx0KCksay5zaGlmdEtleT90SihsLG0pOmxbKG0rMSklbC5sZW5ndGhdPy5mb2N1cygpfX19fX0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmxpc3RJdGVtc30se2xpc3RJdGVtVmlld01vZGVsOih7ZGF0YTprfSk9Pl8uSyhfLkNELHtkYXRhOmssSWE6aCxuYTpiLGNlOmMsQmM6ZCxpc092ZXJsYXk6ZSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6Zn0pLHRvZ2dsZWFibGVMaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6a30pPT5fLksoeGVhLAp7ZGF0YTprLElhOmgsbmE6YixCYzpkfSksZG93bmxvYWRMaXN0SXRlbVZpZXdNb2RlbDooKT0+Xy5LKF8uSUIsbnVsbCksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6KCk9Pl8uSyhfLklCLG51bGwpfSkpfSwiTSIpO18uQkQuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiSHhqbGJiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uS0o9bmV3IF8uSSgiYnV0dG9uVmlld01vZGVsIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uc0Q9Xy5MKGE9PntmdW5jdGlvbiBiKG4pe3ZhciBwPWMoKTt2YXIgcj1kKCk7ciE9PXZvaWQgMD9wPXI6KHI9Xy5CKHAuc2Vjb25kYXJ5QnV0dG9uLF8uS0opLHA9Xy5CKHAucHJpbWFyeUJ1dHRvbixfLktKKT8uaXNGdWxsV2lkdGghPT0hMXx8ciYmcj8uaXNGdWxsV2lkdGghPT0hMT8xOjMpO3JldHVybiBuPT09cH12YXIge2RhdGE6Yyx0eXBlOmQsZGlzYWJsZVBhZGRpbmc6ZSxOaTpmLFhxOmh9PV8uREMoYSx7dHlwZTp2b2lkIDAsZGlzYWJsZVBhZGRpbmc6ITEsTmk6ITF9KSxrPSgpPT5jKCkuc3RhY2tpbmc9PT0iUEFORUxfRk9PVEVSX1NUQUNLSU5HX1ZFUlRJQ0FMIixsPSgpPT4oe2Rpc2FibGVkOmYoKSxzdGF0ZTpmKCk/ImRpc2FibGVkIjoiYWN0aXZlIn0pLG09KCk9PmMoKS5sZWFkaW5nTGFiZWx8fGMoKS50cmFpbGluZ0xhYmVsO3JldHVybiBfLksoInl0LXBhbmVsLWZvb3Rlci12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsSG9zdCIsCnt5dFBhbmVsRm9vdGVyVmlld01vZGVsSGlkZURpdmlkZXI6KCk9PmMoKS5zaG91bGRIaWRlRGl2aWRlcix5dFBhbmVsRm9vdGVyVmlld01vZGVsRGlzYWJsZVBhZGRpbmc6ZX0pfSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UGFuZWxGb290ZXJWaWV3TW9kZWxUZXh0Um93Iix7eXRQYW5lbEZvb3RlclZpZXdNb2RlbFJvd0JvdHRvbVBhZGRpbmc6KCk9Pnt2YXIgbj1jKCk7cmV0dXJuISghbi5sZWFkaW5nTGFiZWwmJiFuLnRyYWlsaW5nTGFiZWx8fCFuLnByaW1hcnlCdXR0b24mJiFuLnNlY29uZGFyeUJ1dHRvbil9fSl9LF8uSyhfLlYse3RleHQ6KCk9PmMoKS5sZWFkaW5nTGFiZWwsY2xhc3NOYW1lOl8uUCh7eXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRQYWRkaW5nOm19KX0pLF8uSyhfLlYse3RleHQ6KCk9PmMoKS50cmFpbGluZ0xhYmVsfSkpfSksXy5LKF8uTyx7QTprLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25TdGFjayJ9LApfLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbFByaW1hcnlCdXR0b24iLHt5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2tUb3BCdXR0b246KCk9PmMoKS5zZWNvbmRhcnlCdXR0b259KX0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnByaW1hcnlCdXR0b259LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOm59KT0+Xy5LKF8uSEQse2RhdGE6bixidXR0b25PdmVycmlkZXM6bCxvbkNsaWNrOmh9KX0pKSxfLksoXy5XLHtkYXRhOigpPT5jKCkuc2Vjb25kYXJ5QnV0dG9ufSx7YnV0dG9uVmlld01vZGVsOl8uSER9KSl9KSxfLksoXy5PLHtBOigpPT4haygpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93Iix7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd1RyYWlsaW5nOigpPT5iKDMpfSl9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93TGVmdEJ1dHRvbiIsCnt5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93RnVsbFdpZHRoOigpPT5iKDEpLHl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dIaWRkZW46KCk9PiFjKCkuc2Vjb25kYXJ5QnV0dG9ufHxiKDApLHl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dTaHJpbms6KCk9PmIoMil9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnNlY29uZGFyeUJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDpfLkhEfSkpLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsUHJpbWFyeUJ1dHRvbiIse3l0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dGdWxsV2lkdGg6KCk9PmIoMCl8fGIoMSkseXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0V4cGFuZDooKT0+YigyKX0pfSxfLksoXy5XLHtkYXRhOigpPT5jKCkucHJpbWFyeUJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6bn0pPT5fLksoXy5IRCx7ZGF0YTpuLGJ1dHRvbk92ZXJyaWRlczpsLApvbkNsaWNrOmh9KX0pKSl9KSl9LCJGYSIpO18uc0QuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgibFBXamtiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJqQmlzYWYiKTtyZXR1cm4gXy5UQ307Xy5mTD1fLmNEKCgpPT5fLmVMKCksImJhZGdlU2hhcGUiKTtfLll0KF8uSkQsYT0+e2EuSigiYmFkZ2VTaGFwZSIsImpCaXNhZiIsXy5lTCl9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHlmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAwOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ0dyZWVuQ2lyY2xlIjtjYXNlIDE6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZU56UmF0aW5nWWVsbG93Q2lyY2xlIjtjYXNlIDI6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZU56UmF0aW5nUmVkU3F1YXJlIjtjYXNlIDM6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxHcmVlblNxdWFyZSI7Y2FzZSA0OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsQmx1ZVNxdWFyZSI7Y2FzZSA1OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmx1ZVNxdWFyZSI7Y2FzZSA2OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsWWVsbG93U3F1YXJlIjsKY2FzZSA3OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlWWVsbG93U3F1YXJlIjtjYXNlIDg6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxPcmFuZ2VTcXVhcmUiO2Nhc2UgOTpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZU9yYW5nZVNxdWFyZSI7Y2FzZSAxMDpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFJlZFNxdWFyZSI7Y2FzZSAxMTpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVJlZFNxdWFyZSI7Y2FzZSAxMjpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsYWNrU3F1YXJlIjtjYXNlIDEzOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmxhY2tTcXVhcmUifX0semZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJCQURHRV9DT01NRVJDRSI6Y2FzZSAiQkFER0VfTUVNQkVSU19PTkxZIjpyZXR1cm4gMTA7CmNhc2UgIkJBREdFX0RJU0NPVU5UIjpyZXR1cm4gODtjYXNlICJCQURHRV9TVEFUVVNfTkVXIjpyZXR1cm4gMTM7Y2FzZSAiQkFER0VfUFJFTUlVTSI6cmV0dXJuIDc7Y2FzZSAiQkFER0VfUFJPTU9URUQiOnJldHVybiA0O2Nhc2UgIkJBREdFX1BST01PVEVEX0lOVkVSVEVEIjpyZXR1cm4gNTtjYXNlICJCQURHRV9NRURJQSI6cmV0dXJuIDE7Y2FzZSAiQkFER0VfVElNRUxZIjpyZXR1cm4gNjtjYXNlICJCQURHRV9MSVZFX05PVyI6cmV0dXJuIDE5O2Nhc2UgIkJBREdFX1NUQVRVU19DT01QTEVURSI6cmV0dXJuIDE0O2Nhc2UgIkJBREdFX1NUQVRVU19XQVJOSU5HIjpyZXR1cm4gMTU7Y2FzZSAiQkFER0VfU1RBVFVTX0VSUk9SIjpyZXR1cm4gMTY7Y2FzZSAiQkFER0VfU1RBVFVTX0RFRkFVTFQiOnJldHVybiAxNztkZWZhdWx0OnJldHVybiAwfX0sQWZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJCQURHRV9OWl9SQVRJTkdfR1JFRU5fQ0lSQ0xFIjpyZXR1cm4gMDtjYXNlICJCQURHRV9OWl9SQVRJTkdfWUVMTE9XX0NJUkNMRSI6cmV0dXJuIDE7CmNhc2UgIkJBREdFX05aX1JBVElOR19SRURfU1FVQVJFIjpyZXR1cm4gMjtjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfR1JFRU5fU1FVQVJFIjpyZXR1cm4gMztjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfQkxVRV9TUVVBUkUiOnJldHVybiA0O2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9CTFVFX1NRVUFSRSI6cmV0dXJuIDU7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX1lFTExPV19TUVVBUkUiOnJldHVybiA2O2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9ZRUxMT1dfU1FVQVJFIjpyZXR1cm4gNztjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfT1JBTkdFX1NRVUFSRSI6cmV0dXJuIDg7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX0xBUkdFX09SQU5HRV9TUVVBUkUiOnJldHVybiA5O2Nhc2UgIkJBREdFX0JSX1JBVElOR19TTUFMTF9SRURfU1FVQVJFIjpyZXR1cm4gMTA7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX0xBUkdFX1JFRF9TUVVBUkUiOnJldHVybiAxMTsKY2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX0JMQUNLX1NRVUFSRSI6cmV0dXJuIDEyO2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9CTEFDS19TUVVBUkUiOnJldHVybiAxM319O3ZhciBCZmE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiYnItbnotYmFkZ2Utc2hhcGUiLHtjbGFzczpfLlAoKCk9PnlmYShhKCkudWkpKSxyb2xlOigpPT5hKCkuYWNjZXNzaWJpbGl0eVRleHQ/ImltZyI6dm9pZCAwLCJhcmlhLWxhYmVsIjooKT0+YSgpLmFjY2Vzc2liaWxpdHlUZXh0fSwoKT0+YSgpPy50ZXh0KSwidWEiKTtfLkVEPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgYz1hLmRhdGEoKTtpZihjKXt2YXIgZD0hIWEuekw/LigpLGU9YS5vZz8uKCksZj1hLkRqPy4oKSxoPWEuZXA/LigpLGs9YS5xeD8uKCk7YTpzd2l0Y2goYy5iYWRnZVN0eWxlKXtjYXNlICJCQURHRV9PVkVSTEFZIjp2YXIgbD0hMDticmVhayBhO2RlZmF1bHQ6bD0hMX1jPXt0eXBlOmQ/MTg6emZhKGMuYmFkZ2VTdHlsZSksdWk6QWZhKGMuYmFkZ2VTdHlsZSksdGV4dDpjLmJhZGdlVGV4dCxpY29uOmMuaWNvbk5hbWUsaXNPdmVybGF5Omwsb2c6ZXx8Xy54KCJ3ZWJfbW9kZXJuX2JhZGdlX3ZpZXdfbW9kZWwiKSxhY2Nlc3NpYmlsaXR5VGV4dDpjLmFjY2Vzc2liaWxpdHlMYWJlbHx8Xy5CKGMucmVuZGVyZXJDb250ZXh0LF8uWUMpPy5sYWJlbCxEajpmLGVwOmgsb0E6ayxuczpfLkIoYy50b29sdGlwT25Ib3ZlcixfLmNLKT8udG9vbHRpcFRleHR9fWVsc2UgYz12b2lkIDA7cmV0dXJuIGN9O3JldHVybiBfLksoInl0LWJhZGdlLXZpZXctbW9kZWwiLAp7Y2xhc3M6Xy5QKCJ5dEJhZGdlVmlld01vZGVsSG9zdCIsYS5jbGFzcyl9LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PiEhYigpPy51aX0sKCk9Pl8uSyhCZmEse2RhdGE6KCk9PmIoKX0pKSxfLksoXy5DRSx7d2hlbjooKT0+ISFiKCkmJiFiKCkudWl9LCgpPT5fLksoXy5mTCx7ZGF0YTooKT0+YigpfSkpKSl9LCJ2YSIpO18uRUQuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiUHpVZFpiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udko9ZnVuY3Rpb24oYSxiLGMsZCl7ZHx8KGQ9e2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMSxjb21wb3NlZDohMH0pO2MhPT1udWxsJiZjIT09dm9pZCAwJiYoZC5kZXRhaWw9Yyk7dmFyIGU9bmV3IEN1c3RvbUV2ZW50KGIsZCk7Xy5FQSgoKT0+dm9pZCBhLmRpc3BhdGNoRXZlbnQoZSkpO3JldHVybiBlfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5kTD1mdW5jdGlvbigpe307Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uckU9Xy5MKGE9Pnt2YXIge0ZJOmIsZkY6YyxwQzpkLGFzc2V0VHlwZTplLFFnOmYsa2g6aCx2azprLHprOmwsUHc6bSxxazpuLFVvOnAsYnV0dG9uU3R5bGU6cixFejp0LFByOnYsY29udGVudEFsaWdubWVudDp6LGlzRnVsbHNjcmVlbjpFLGtwOkEsd2lkdGg6RixtYXhIZWlnaHQ6Qyx1cTpHLG50OkQsc3E6SCxsdDpSfT1fLkRDKGEse1B3OjAsVW86MCxidXR0b25TdHlsZTowLGNvbnRlbnRBbGlnbm1lbnQ6MCxtYXhIZWlnaHQ6MCxpc0Z1bGxzY3JlZW46ITEsa3A6ITEsa2g6ITAsdXE6ITEsc3E6ITF9KTthPXQ/KCk9PnQoe2J1dHRvbk92ZXJyaWRlczooKT0+KHtzdHlsZTpyPy4oKT09PTE/ImNhbGwtdG8tYWN0aW9uIjoibW9ubyIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIixzaXplOiJNIn0pLGNsYXNzTmFtZTpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEJ1dHRvbjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lU3RyZXRjaGVkOigpPT5wPy4oKT09PQowfHxwPy4oKT09PTJ9KX0pOnZvaWQgMDt2YXIgTT12PygpPT52KHtidXR0b25PdmVycmlkZXM6e3N0eWxlOiJtb25vIix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIixzaXplOiJNIn0sY2xhc3NOYW1lOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0QnV0dG9uOiEwLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0J1dHRvbnNJbmxpbmVTdHJldGNoZWQ6KCk9PnA/LigpPT09MHx8cD8uKCk9PT0yfSl9KTp2b2lkIDAsUz0oKT0+KCEhZiYmaCgpfHwhIWt8fCEhbCkmJm0oKT09PTA7cmV0dXJuIF8uSygiZGlhbG9nLWxheW91dCIse2VsOl8uckYoYixfLmRMKSxjbGFzczpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEhvc3Q6ITAseXRTcGVjRGlhbG9nTGF5b3V0RnVsbHNjcmVlbjpFLHl0U3BlY0RpYWxvZ0xheW91dFJlc3BvbnNpdmU6KCk9PiFFKCkmJiFBKCkseXRTcGVjRGlhbG9nTGF5b3V0RXh0ZW5kZWRNYXhIZWlnaHQ6KCk9PkMoKT09PTEseXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJbnNldDooKT0+CmU/LigpPT09MX0pLHN0eWxlOigpPT5GPy4oKSE9PXZvaWQgMD9gd2lkdGg6ICR7RigpfXB4O2A6IiJ9LGM/Xy5LKCJkaXYiLHtjbGFzczpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEljb246ITAseXRTcGVjRGlhbG9nTGF5b3V0SWNvbkFib3ZlTWVkaWE6KCk9PiEhZCYmbSgpPT09MSx5dFNwZWNEaWFsb2dMYXlvdXRJY29uQ2VudGVyQWxpZ246KCk9PnooKT09PTF9KX0sXy5LKGMsbnVsbCkpOm51bGwsXy5LKF8uTyx7QTpHLHRoZW46KCk9PkQ/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nSGVhZGVyQ29udGFpbmVyIn0sXy5LKEQsbnVsbCkpOm51bGwsVzooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOlMsdGhlbjooKT0+Xy5LKFlQLHtjb250ZW50QWxpZ25tZW50Onosdms6ayx6azpsLFFnOmYsa2g6aCxUbDohIWR9KX0pLGQ/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0QXNzZXQifSxfLksoZCx7Y2xhc3NOYW1lOiJ5dFNwZWNEaWFsb2dMYXlvdXRBc3NldEl0ZW0ifSkpOgpudWxsKX0pLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRDb250YWluZXI6KCk9PiFBKCkseXRTcGVjRGlhbG9nTGF5b3V0Q2VudGVyQWxpZ246KCk9Pno/LigpPT09MSx5dFNwZWNEaWFsb2dMYXlvdXRUb3BQYWRkaW5nOigpPT4hUygpJiYhQSgpJiYhRygpJiYhKGYmJmgoKSYmIUQmJm0/LigpPT09MSl8fCEhZCYmbT8uKCk9PT0wfSl9LF8uSyhfLk8se0E6KCk9PmYmJmgoKSYmIUQmJm0/LigpPT09MSx0aGVuOigpPT5fLksoWVAse2NvbnRlbnRBbGlnbm1lbnQ6eix2azprLHprOmwsUWc6ZixraDpoLFRsOiExfSl9KSxuP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dENvbnRlbnQifSxfLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudElubmVyOigpPT4hQSgpfSl9LF8uSyhuLG51bGwpKSk6bnVsbCxfLksoXy5PLHtBOkgsdGhlbjooKT0+Uj9fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNEaWFsb2dMYXlvdXRGb290ZXJDb250YWluZXIifSwKXy5LKFIsbnVsbCkpOm51bGx9KSxhfHxNP18uSyhSaWEse2F3Ol8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVyQ29udGFpbmVyOiEwLHl0U3BlY0RpYWxvZ0xheW91dEZvb3RlcjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zU3RhY2tlZDooKT0+cD8uKCk9PT0yLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0J1dHRvbnNJbmxpbmVFbmQ6KCk9PnA/LigpPT09MX0pLFl0OmEsY3U6TX0pOm51bGwpKX0sIlBiIik7CnZhciBZUD1fLkwoYT0+e3ZhciB7Y29udGVudEFsaWdubWVudDpiLHZrOmMsUWc6ZCxraDplLHprOmYsVGw6aCxFdjprfT1fLkRDKGEse1RsOiExLEV2OiEwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dIZWFkZXJDb250YWluZXI6ITAseXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nSGVhZGVyOiEwLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckFib3ZlQXNzZXQ6aCx5dFNwZWNEaWFsb2dMYXlvdXRDZW50ZXJBbGlnbjooKT0+Yj8uKCk9PT0xJiZrKCl9KX0sXy5LKF8uTyx7QTooKT0+aygpLHRoZW46KCk9PmM/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0TGVhZGluZ0FjdGlvbkhlYWRlciJ9LF8uSyhjLG51bGwpKTpudWxsfSksZD9fLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKCJoMiIse2NsYXNzOiJ5dFNwZWNEaWFsb2dMYXlvdXRUaXRsZSJ9LF8uSyhkLG51bGwpKX0pOm51bGwsZj9fLksoImRpdiIsbnVsbCwKXy5LKGYsbnVsbCkpOm51bGwpfSwiUWIiKSxSaWE9Xy5MKCh7YXc6YSxZdDpiLGN1OmN9KT0+Xy5LKCJkaXYiLHtjbGFzczphfSxjP18uSyhjLG51bGwpOm51bGwsYj9fLksoYixudWxsKTpudWxsKSwiUmIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgidmlVV1YiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5iTT1uZXcgXy5WcygiTE9UVElFX0xPQURFUl9UT0tFTiIpO18uY009Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLGFuaW1hdGlvbk5hbWU6YyxhbmltYXRpb25SZWY6ZCxHSTplfSk9Pnt2YXIgZj1fLnZFKCJsb3R0aWUtY29tcG9uZW50IiksaDtfLll1KCgpPT52b2lkIGg/LmRlc3Ryb3koKSk7dmFyIGs7Xy5uRSgoKT0+e3ZhciBsPV8uQnYoYyk7aWYobCE9PWspe2s9bDt2YXIgbT17YW5pbWF0aW9uTmFtZTpsLGFuaW1hdGlvblJlZjpfLkJ2KGQpLC4uLl8uQnYoYSl9O3RyeXtfLnkoKS5yZXNvbHZlKF8uYk0pKCkudGhlbihuPT57aD8uZGVzdHJveSgpO3ZhciBwPWU/LigpPy52YWx1ZT8/Zi52YWx1ZSxyPW0uYW5pbWF0aW9uUmVmLHQ9bS5saXN0ZW5lcnM7bj1uLmxvYWRBbmltYXRpb24oe2NvbnRhaW5lcjpwLHJlbmRlcmVyU2V0dGluZ3M6bS5yZW5kZXJlclNldHRpbmdzLC4uLm0uYW5pbWF0aW9uQ29uZmlnfSk7ciYmKHIubG90dGllRWw9bik7aWYodClmb3IobGV0IFt2LHpdb2YgT2JqZWN0LmVudHJpZXModCkpcj12LCh0PXopJiZuLmFkZEV2ZW50TGlzdGVuZXIociwKdCk7aD1ufSl9Y2F0Y2gobil7bD0iTG90dGllQ29tcG9uZW50IGVycm9yLiIsbi5tZXNzYWdlJiYobCs9YCBPcmlnaW5hbCBkZXNjcmlwdGlvbjogJHtuLm1lc3NhZ2V9YCksXy5jdyhuLGwpLF8uSXAobiksbS5saXN0ZW5lcnM/LmVycm9yJiZtLmxpc3RlbmVycy5lcnJvcihuKX19fSwieE9DazUiKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+IWU/LigpLHRoZW46KCk9Pl8uSygibG90dGllLWNvbXBvbmVudCIse2NsYXNzOl8uUCgieXRMb3R0aWVDb21wb25lbnRIb3N0IixiKSxlbDpmfSl9KX0sIkthIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBiZ2E7YmdhPWZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGUoaCxrKXtpZihiLnZhbHVlPT09ayYmIWIuY2FuY2VsbGVkKXtmb3IoO2EuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2EuY2xhc3NMaXN0LmFkZCgieXRTcGVjSWNvblNoYXBlSG9zdCIpO2goYSxkKX19dmFyIGY9Xy55KCkucmVzb2x2ZShfLlhMKS5weShjKTt0eXBlb2YgZj09PSJmdW5jdGlvbiI/KGIudmFsdWU9bnVsbCxlKGYsbnVsbCkpOihiLnZhbHVlPWYsZi50aGVuKGg9PntlKGgsZil9KSl9O18uWEw9bmV3IF8uVnMoIklDT05fTUFOQUdFUl9UT0tFTiIpO18uWUw9Xy5MKGE9Pnt2YXIgYj17dmFsdWU6bnVsbCxjYW5jZWxsZWQ6ITF9O18uWXUoKCk9PntiLmNhbmNlbGxlZD0hMH0pO3ZhciBjPV8uTihhLmRhdGEse2VxdWFsczooZCxlKT0+ZC5pY29uTmFtZT09PWUuaWNvbk5hbWUmJmQuaWNvblN0eWxlPT09ZS5pY29uU3R5bGUmJmQuaWNvblNpemU9PT1lLmljb25TaXplJiZkLmx4PT09ZS5seCYmZC5reD09PWUua3h9LCJjazI0amIiKTtyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6Inl0LWljb24tc2hhcGUiLGVsOl8uckYoZD0+e18ubkUoKCk9Pnt2YXIgZT1hLm9wdGlvbnM/LigpLGY9YygpO2JnYShkLGIsZixlKX0sInY4NzhKZSIpfSl9KX0sIkhhIik7Xy5ZTC5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRVA9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMTg6Y2FzZSAxOTpjYXNlIDIwOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fSxHaWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMzpyZXR1cm4ieXRCYWRnZVNoYXBlQWQiO2Nhc2UgMTpyZXR1cm4ieXRCYWRnZVNoYXBlTWVkaWEiO2Nhc2UgMjpyZXR1cm4ieXRCYWRnZVNoYXBlTWVkaWFPdmVybGF5IjtjYXNlIDQ6cmV0dXJuInl0QmFkZ2VTaGFwZVByb21vdGVkIjtjYXNlIDU6cmV0dXJuInl0QmFkZ2VTaGFwZVByb21vdGVkSW52ZXJ0ZWQiO2Nhc2UgNjpyZXR1cm4ieXRCYWRnZVNoYXBlVGltZWx5IjtjYXNlIDc6cmV0dXJuInl0QmFkZ2VTaGFwZVByZW1pdW0iO2Nhc2UgODpyZXR1cm4ieXRCYWRnZVNoYXBlU2FsZSI7Y2FzZSA5OnJldHVybiJ5dEJhZGdlU2hhcGVNZW1iZXJzaGlwIjtjYXNlIDEwOnJldHVybiJ5dEJhZGdlU2hhcGVDb21tZXJjZSI7Y2FzZSAxMjpyZXR1cm4ieXRCYWRnZVNoYXBlTGl2ZSI7Y2FzZSAxMzpyZXR1cm4ieXRCYWRnZVNoYXBlU3RhdHVzTmV3IjsKY2FzZSAxNDpyZXR1cm4ieXRCYWRnZVNoYXBlU3RhdHVzQ29tcGxldGUiO2Nhc2UgMTU6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmciO2Nhc2UgMTY6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c0Vycm9yIjtjYXNlIDE3OnJldHVybiJ5dEJhZGdlU2hhcGVTdGF0dXNEZWZhdWx0IjtjYXNlIDE4OnJldHVybiBfLngoImVuYWJsZV9sb2NrdXBfcmVkZXNpZ24iKT8ieXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdFJlZGVzaWduIjoieXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdCI7Y2FzZSAxOTpyZXR1cm4ieXRCYWRnZVNoYXBlVGh1bWJuYWlsTGl2ZSI7Y2FzZSAyMDpyZXR1cm4ieXRCYWRnZVNoYXBlVGh1bWJuYWlsU3BlY2lhbCI7ZGVmYXVsdDpyZXR1cm4ieXRCYWRnZVNoYXBlRGVmYXVsdCJ9fTt2YXIgSGlhPW5ldyBTZXQoWyJPVVRMSU5FX0JBRyJdKTsKXy5UQz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPSgpPT57dmFyIGQ9YSgpLmljb247aWYoZClhOntkPV8uS0QoZCk/Lmljb25OYW1lPz9kO2xldCBoPSJ5b3V0dWJlX2ZpbGwiO0hpYS5oYXMoZC50b1VwcGVyQ2FzZSgpKSYmKGg9InlvdXR1YmVfb3V0bGluZSIpO2xldCBrPWg9PT0ieW91dHViZV9maWxsIj8ieW91dHViZV9vdXRsaW5lIjoieW91dHViZV9maWxsIixsPV8ueSgpLnJlc29sdmUoXy5YTCk7dmFyIGU9WzEyLDI0XTtmb3IoZiBvZiBlKXtlPXtpY29uTmFtZTpkLGljb25TdHlsZTpoLGljb25TaXplOmZ9O2xldCBtPXtpY29uTmFtZTpkLGljb25TdHlsZTprLGljb25TaXplOmZ9O2lmKGwuaihlKSl7dmFyIGY9ZTticmVhayBhfWlmKGwuaihtKSl7Zj1tO2JyZWFrIGF9fWY9dm9pZCAwfWVsc2UgZj12b2lkIDA7cmV0dXJuIGZ9LFtjXT1fLmJLKCgpPT5hKCkubnMpO3JldHVybiBfLksoImJhZGdlLXNoYXBlIix7ZWw6Xy5yRihkPT57YyhkKX0pLGNsYXNzOl8uUCgieXRCYWRnZVNoYXBlSG9zdCIsCigpPT5HaWEoYSgpLnR5cGUpLHt5dEJhZGdlU2hhcGVPdmVybGF5OigpPT5hKCkuaXNPdmVybGF5LHl0QmFkZ2VTaGFwZUFkc0luY2x1ZGVEb3Q6KCk9PmEoKS5Cbyx5dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZTooKT0+RVAoYSgpLnR5cGUpLHl0QmFkZ2VTaGFwZVRodW1ibmFpbEJhZGdlUmVkZXNpZ246KCk9Pl8ueCgiZW5hYmxlX2xvY2t1cF9yZWRlc2lnbiIpJiZFUChhKCkudHlwZSkseXRCYWRnZVNoYXBlU3RhdHVzQmFkZ2U6KCk9PnthOnN3aXRjaChhKCkudHlwZSl7Y2FzZSAxMzpjYXNlIDE0OmNhc2UgMTU6Y2FzZSAxNjpjYXNlIDE3OnZhciBkPSEwO2JyZWFrIGE7ZGVmYXVsdDpkPSExfXJldHVybiBkfSx5dEJhZGdlU2hhcGVOb1RleHQ6KCk9PiFhKCkudGV4dCx5dEJhZGdlU2hhcGVJc0VtcHR5OigpPT4hYSgpLnRleHQmJiFhKCkuaWNvbiYmIWEoKS5hbmltYXRpb24seXRCYWRnZVNoYXBlTW9kZXJuOigpPT5hKCkub2d8fF8ueCgid2ViX21vZGVybl9iYWRnZV9zaGFwZSIpLAp5dEJhZGdlU2hhcGVUeXBvZ3JhcGh5OigpPT57YTp7dmFyIGQ9YSgpO2lmKGQub0Epc3dpdGNoKGQudHlwZSl7Y2FzZSAwOmNhc2UgMTpjYXNlIDEwOmQ9ITA7YnJlYWsgYTtkZWZhdWx0OmQ9ITF9ZWxzZSBkPSExfXJldHVybiFkfSx5dEJhZGdlU2hhcGVNZWRpdW1Gb250QWRCYWRnZTooKT0+YSgpLkd5LHl0QmFkZ2VTaGFwZUxhcmdlRm9udEFkQmFkZ2U6KCk9PmEoKS5qeX0pLHN0eWxlOl8uSUUoeyJiYWNrZ3JvdW5kLWNvbG9yIjooKT0+YSgpLmN1c3RvbUNvbG9ycz8uYmFja2dyb3VuZENvbG9yfSkscm9sZTooKT0+YSgpLmFjY2Vzc2liaWxpdHlUZXh0PyJpbWciOnZvaWQgMCwiYXJpYS1sYWJlbCI6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5VGV4dH0sXy5LKF8uTyx7QTooKT0+YSgpLmFuaW1hdGlvbix0aGVuOmQ9Pl8uSyhfLmNNLHtjbGFzc05hbWU6Inl0QmFkZ2VTaGFwZUljb24iLGRhdGE6ZCxhbmltYXRpb25OYW1lOigpPT5kKCkuYW5pbWF0aW9uQ29uZmlnLm5hbWV8fCIifSl9KSwKXy5LKF8uTyx7QTooKT0+YigpJiYhYSgpPy5hbmltYXRpb24sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRCYWRnZVNoYXBlSWNvbiJ9LF8uSyhfLllMLHtkYXRhOigpPT5iKCl9KSl9KSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRCYWRnZVNoYXBlVGV4dCIse3l0QmFkZ2VTaGFwZVRleHRDbGlwVGV4dE92ZXJmbG93OigpPT5hKCkuZXAseXRCYWRnZVNoYXBlVGV4dEhhc011bHRpcGxlQmFkZ2VzSW5Sb3c6KCk9PihhKCkuRGp8fDApPjF9KX0sKCk9PmEoKT8udGV4dCkpfSwieWIiKTtfLlRDLmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImpCaXNhZiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgQko7Xy53Sj1mdW5jdGlvbihhLGIsYyxkPTApeyhkPV8uaXEoZCkpJiZfLmZ4KGEuY2xpZW50LGQsYixjKX07Xy54Sj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZ2V0U2NyZWVuTGF5ZXImJmIuZ2V0U2NyZWVuTGF5ZXIoKTtiLnZpc3VhbEVsZW1lbnQ/Xy53SihhLGIudmlzdWFsRWxlbWVudCx2b2lkIDAsYyk6KF8uRHgoKSxiPV8uVmkoXy5CeCgpLmopLmJpbmQoXy5CeCgpKShiKSxhLkNmKGIsdm9pZCAwLGMpKX07Xy55Sj1mdW5jdGlvbihhLGIsYyl7Xy5WaShfLmZ4KSh2b2lkIDAsYSxiLGMsdm9pZCAwKX07Xy56Sj1mdW5jdGlvbihhLGI9MCl7KGI9Xy5pcShiKSkmJmEmJl8ueUooYixfLlV3KGEpKX07Xy5BSj1mdW5jdGlvbihhLGIsYyxkKXtfLmdFLnB1c2goe2NvbW1hbmQ6YSxzb3VyY2VEYXRhOmIsY29tbWFuZENvbnRleHQ6ZH0pO2MmJmEuY2xpY2tUcmFja2luZ1BhcmFtcyYmXy56SihhLmNsaWNrVHJhY2tpbmdQYXJhbXMpfTsKQko9ZnVuY3Rpb24oYSl7aWYoIWE/LnJ1bnMpcmV0dXJuITA7Zm9yKGxldCBiIG9mIGEucnVucylpZihiLmJyYWNrZXR8fGIuZXJyb3JVbmRlcmxpbmV8fGIuZGVlbXBoYXNpemV8fF8uQihiLF8uWGNhKXx8Xy5CKGIsXy5ZY2EpKXJldHVybiExO3JldHVybiEwfTtfLkNKPWZ1bmN0aW9uKGEpe3JldHVybiBhP2Euc2ltcGxlVGV4dD9hLnNpbXBsZVRleHQ6YS5ydW5zP2EucnVucy5tYXAoYj0+Yi50ZXh0KS5qb2luKCIiKToiIjoiIn07Xy5ESj1mdW5jdGlvbihhKXtpZihhKXJldHVybiBhLmxhYmVsP2EubGFiZWw6Xy5ESihhLmFjY2Vzc2liaWxpdHlEYXRhKX07Xy5EZWE9bmV3IF8uSSgieXBjT2ZmZXJzRW5kcG9pbnQiKTtfLkVlYT1uZXcgXy5JKCJ5cGNHZXRPZmZlcnNFbmRwb2ludCIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0aGVtZS1tZXRhIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcCIpO18uRmVhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXIiKTtfLkVKPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY29udGFpbmVyLWlkIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsYXllci1jb250cm9sLWNvbnRhaW5lciIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItZW5kc2NyZWVuLWNvbnRhaW5lciIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItc2hvcnRzLWNvbnRhaW5lciIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY2luZW1hdGljcy1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnVsbC1zY3JlZW4tY29udGVudC1pZCIpO18uRko9Xy5LeSgiaW5pdCIpO3ZhciBHSjsKR0o9Xy5MKCh7cnVuOmEsbWE6Yn0pPT57dmFyIGM9KCk9PmEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQ7cmV0dXJuIF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmEoKS5ib2xkfSwoKT0+e3ZhciBkPV8uTigoKT0+KHsuLi5hKCksYm9sZDp2b2lkIDB9KSx2b2lkIDAsIlNsWmw2Iik7cmV0dXJuIF8uSygic3Ryb25nIix7Y2xhc3M6ImZvcm1hdHRlZC1zdHJpbmctYm9sZCJ9LF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuZGVlbXBoYXNpemV9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSxkZWVtcGhhc2l6ZTp2b2lkIDB9KSx2b2lkIDAsInlJeHdkZCIpO3JldHVybiBfLksoInNwYW4iLHtjbGFzczoiZm9ybWF0dGVkLXN0cmluZy1kZWVtcGhhc2l6ZSJ9LF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuaXRhbGljc30sKCk9Pnt2YXIgZD1fLk4oKCk9Pih7Li4uYSgpLGl0YWxpY3M6dm9pZCAwfSksdm9pZCAwLAoiUU5YSEhiIik7cmV0dXJuIF8uSygiZW0iLG51bGwsXy5LKEdKLHtydW46ZCxtYTpifSkpfSksXy5LKF8uQ0Use3doZW46KCk9PmEoKS50ZXh0Q29sb3J9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSx0ZXh0Q29sb3I6dm9pZCAwfSksdm9pZCAwLCJ4SmVHM2IiKTtyZXR1cm4gXy5LKCJzcGFuIix7c3R5bGU6KCk9PmBjb2xvcjogJHtfLkpFKGEoKS50ZXh0Q29sb3IpfWB9LF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuc3RyaWtldGhyb3VnaH0sKCk9Pnt2YXIgZD1fLk4oKCk9Pih7Li4uYSgpLHN0cmlrZXRocm91Z2g6dm9pZCAwfSksdm9pZCAwLCJYQ1I2aGQiKTtyZXR1cm4gXy5LKCJzIixudWxsLF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT4hYSgpLm5hdmlnYXRpb25FbmRwb2ludHx8YigpfSwoKT0+Xy5LKF8uSUIsbnVsbCwoKT0+YSgpLnRleHQpKSxfLksoXy5ERSxudWxsLCgpPT5fLksoXy5uSCx7Y29tbWFuZDpjLAp0YWJJbmRleDowfSxfLksoXy5JQixudWxsLCgpPT5hKCkudGV4dCkpKSl9LCJOIik7Cl8uSUo9Xy5MKCh7ZGF0YTphLC4uLmJ9KT0+e3ZhciBjPSgpPT5iLm1hPy4oKSxkPSgpPT5iLnViPy4oKSxlPSgpPT5iLklkPy4oKSxmPSgpPT5iLnVzZXJJbnB1dD8uKCksaD0oKT0+Yi5YYT8uKCksaz0oKT0+Yi5yZz8uKCk/PyEwO3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT4hKGE/LigpJiZPYmplY3Qua2V5cyhhKCkpLmxlbmd0aCl9LCgpPT5udWxsKSxfLksoXy5DRSx7d2hlbjooKT0+e3ZhciBsO2lmKGw9QkooYSgpKSlsPWEoKSxsPSEhKGw/LmNvbnRlbnQhPT12b2lkIDA/bDpfLkFGKGwpKS5jb250ZW50O3JldHVybiBsfX0sKCk9Pl8uSyhfLlYse3RleHQ6YSxhcmlhTGFiZWw6KCk9Pl8uREooYSgpLmFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhKSxYYTpoLG1hOmMsdWI6ZCxyZzprLElkOmUsdXNlcklucHV0OmYsWXU6ITB9KSksXy5LKF8uQ0Use3doZW46KCk9PkJKKGEoKSl9LCgpPT5udWxsKSxfLksoXy5DRSx7d2hlbjooKT0+e3ZhciBsOwppZigobD1hPy4oKSYmT2JqZWN0LmtleXMoYSgpKS5sZW5ndGgpJiYhKGw9YSgpLmFjY2Vzc2liaWxpdHkpKWE6e2w9YSgpO2lmKGwucnVucylmb3IobGV0IG0gb2YgbC5ydW5zKWlmKG0ubmF2aWdhdGlvbkVuZHBvaW50KXtsPSExO2JyZWFrIGF9bD0hMH1yZXR1cm4gbCYmYSgpLnJ1bnMmJmEoKS5ydW5zLmxlbmd0aD4xfX0sKCk9Pl8uSygic3BhbiIseyJhcmlhLWxhYmVsIjooKT0+Xy5ESihhKCkuYWNjZXNzaWJpbGl0eT8uYWNjZXNzaWJpbGl0eURhdGEpLGNsYXNzOiJmb3JtYXR0ZWQtc3RyaW5nLXRleHQiLHJvbGU6InRleHQifSxfLksoSEose3NpbXBsZVRleHQ6KCk9PmEoKS5zaW1wbGVUZXh0LHJ1bnM6KCk9PmEoKS5ydW5zLG1hOmN9KSkpLF8uSyhfLkRFLG51bGwsKCk9Pl8uSyhISix7c2ltcGxlVGV4dDooKT0+YSgpLnNpbXBsZVRleHQscnVuczooKT0+YSgpLnJ1bnMsbWE6Y30pKSl9LCJPIik7Xy5JSi5pZG9tQ29tcGF0PSEwOwp2YXIgSEo9Xy5MKCh7c2ltcGxlVGV4dDphLHJ1bnM6YixtYTpjfSk9Pl8uSyhfLk8se0E6KCk9PmEmJmEoKSx0aGVuOmQ9PmQsVzooKT0+Xy5LKF8uTyx7QTooKT0+YiYmYigpLHRoZW46ZD0+Xy5LKF8uZ0cse3BhOmQsdGI6IklOREVYIn0sZT0+Xy5LKEdKLHtydW46ZSxtYTooKT0+ISFjPy4oKX0pKX0pfSksIlAiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5MSj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlpRS3gxIik7cmV0dXJuIF8uVkN9O18uTUo9Xy5jRCgoKT0+Xy5MSigpLCJidXR0b25PckFuY2hvciIpO18uWXQoXy5KRCxhPT57YS5KKCJidXR0b25PckFuY2hvciIsIlpRS3gxIixfLkxKKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgWUs7WUs9YT0+Yj0+KCk9PmI/LigpIT09dm9pZCAwP1N0cmluZyhiKCkpK2E6dm9pZCAwO18uWks9WUsoInB4Iik7Xy54ZmE9WUsoIiUiKTtfLiRLPVlLKCJzIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYUw9ZnVuY3Rpb24oLi4uYSl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEpaWYoYylpZih0eXBlb2YgYz09PSJzdHJpbmciKWIucHVzaChjKTtlbHNlIGZvcihsZXQgW2QsZV1vZiBPYmplY3QuZW50cmllcyhjKSlhPWQsZSYmYi5wdXNoKGEpO3JldHVybiBiLmpvaW4oIiAiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYkw9bmV3IF8uVnMoIlBBTkVMX0NPTlRST0xMRVJfVE9LRU4iKTtfLmNMPW5ldyBfLlZzKCJTSEVFVF9DT05UUk9MTEVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZ0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJyOUtNamIiKTtyZXR1cm4gXy4kQ307Xy5oTD1fLmNEKCgpPT5fLmdMKCksInVwc2VsbFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJ1cHNlbGxWaWV3TW9kZWwiLCJyOUtNamIiLF8uZ0wpfSk7Xy5pTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlZjR1M4Iik7cmV0dXJuIF8uRUN9O18uakw9Xy5jRCgoKT0+Xy5pTCgpLCJtaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsIiwiVmNHUzgiLF8uaUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVkw9bmV3IF8uSSgiYnV0dG9uUmVuZGVyZXIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XTD1mdW5jdGlvbihhKXtyZXR1cm57cnVuczpbe3RleHQ6YX1dfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWkw9Xy5MKGE9Pnsoe3dyYXBwZXI6YX09Xy5EQyhhLHt3cmFwcGVyOiExfSkpO3JldHVybiBfLksoXy5PLHtBOmEsdGhlbjooKT0+Xy5LKCJ5dC1zcGlubmVyLXNoYXBlIix7Y2xhc3M6Inl0U3Bpbm5lclNoYXBlV3JhcHBlciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0U3Bpbm5lclNoYXBlU3Bpbm5lciJ9KSksVzooKT0+Xy5LKCJ5dC1zcGlubmVyLXNoYXBlIix7Y2xhc3M6Inl0U3Bpbm5lclNoYXBlU3Bpbm5lciJ9KX0pfSwiSWEiKTtfLlpMLmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uJEw9e0VvOiExLGxxOiExLHZwOiIiLHVwOiIiLHdyOiExLENxOiExfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5hTT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PTB8fGE9PT0xfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGVNLGNnYSxkZ2EsZk0sZ00saU0sak0sZWdhLGdnYSxpZ2Esa2dhLG1nYSxvZ2EscE0scGdhLHFnYSxuTTtfLmRNPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBpbiBhKXJldHVybiBifTtlTT1mdW5jdGlvbiguLi5hKXtyZXR1cm4gYS5sZW5ndGg9PT0wP2I9PmI6YS5sZW5ndGg9PT0xP2FbMF06YS5yZWR1Y2UoKGIsYyk9PiguLi5kKT0+YihjKC4uLmQpKSl9O2NnYT1mdW5jdGlvbigpe3ZhciBhPVtdO3JldHVybiBiPT4oYyxkKT0+e2M9YihjLGQpO3ZhciBlPSgpPT57dGhyb3cgRXJyb3IoIlFiIik7fSxmPXtnZXRTdGF0ZTpjLmdldFN0YXRlLGRpc3BhdGNoOihoLC4uLmspPT5lKGgsLi4uayl9O2Q9YS5tYXAoaD0+aChmKSk7ZT1lTSguLi5kKShjLmRpc3BhdGNoKTtyZXR1cm57Li4uYyxkaXNwYXRjaDplfX19OwpkZ2E9ZnVuY3Rpb24oYSl7T2JqZWN0LmtleXMoYSkuZm9yRWFjaChiPT57dmFyIGM9YVtiXTtpZih0eXBlb2YgYyh2b2lkIDAse3R5cGU6Xy5tQX0pPT09InVuZGVmaW5lZCIpdGhyb3cgRXJyb3IoIlJiYCIrYik7aWYodHlwZW9mIGModm9pZCAwLHt0eXBlOmBAQHJlZHV4L1BST0JFX1VOS05PV05fQUNUSU9OJHtfLmxBKCl9YH0pPT09InVuZGVmaW5lZCIpdGhyb3cgRXJyb3IoIlNiYCIrYisiYCIrXy5tQSk7fSl9OwpmTT1mdW5jdGlvbihhKXt2YXIgYj1PYmplY3Qua2V5cyhhKSxjPXt9O2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKXtsZXQgaD1iW2ZdO3R5cGVvZiBhW2hdPT09ImZ1bmN0aW9uIiYmKGNbaF09YVtoXSl9dmFyIGQ9T2JqZWN0LmtleXMoYyk7dHJ5e2RnYShjKX1jYXRjaChmKXt2YXIgZT1mfXJldHVybiBmdW5jdGlvbihmPXt9LGgpe2lmKGUpdGhyb3cgZTt2YXIgaz0hMSxsPXt9O2ZvcihsZXQgbT0wO208ZC5sZW5ndGg7bSsrKXtsZXQgbj1kW21dLHA9ZltuXSxyPSgwLGNbbl0pKHAsaCk7aWYodHlwZW9mIHI9PT0idW5kZWZpbmVkIil0aHJvdyBmPWgmJmgudHlwZSxFcnJvcigiVGJgIisoZj9gIiR7U3RyaW5nKGYpfSJgOiIodW5rbm93biB0eXBlKSIpKyJgIituKTtsW25dPXI7az1rfHxyIT09cH1yZXR1cm4oaz1rfHxkLmxlbmd0aCE9PU9iamVjdC5rZXlzKGYpLmxlbmd0aCk/bDpmfX07CmdNPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKCl7aWYobil0aHJvdyBFcnJvcigiVWIiKTtyZXR1cm4ga31mdW5jdGlvbiBlKHIpe2lmKHR5cGVvZiByIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiVmJgIit0eXBlb2Ygcik7aWYobil0aHJvdyBFcnJvcigiV2IiKTt2YXIgdD0hMDttPT09bCYmKG09bC5zbGljZSgpKTttLnB1c2gocik7cmV0dXJuIGZ1bmN0aW9uKCl7aWYodCl7aWYobil0aHJvdyBFcnJvcigiWGIiKTt0PSExO209PT1sJiYobT1sLnNsaWNlKCkpO3ZhciB2PW0uaW5kZXhPZihyKTttLnNwbGljZSh2LDEpO2w9bnVsbH19fWZ1bmN0aW9uIGYocil7aWYodHlwZW9mIHIhPT0ib2JqZWN0Inx8cj09PW51bGwpdmFyIHQ9ITE7ZWxzZXtmb3IodD1yO09iamVjdC5nZXRQcm90b3R5cGVPZih0KSE9PW51bGw7KXQ9T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpO3Q9T2JqZWN0LmdldFByb3RvdHlwZU9mKHIpPT09dH1pZighdCl0aHJvdyBFcnJvcigiWWJgIit0eXBlb2Ygcik7CmlmKHR5cGVvZiByLnR5cGU9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiWmIiKTtpZihuKXRocm93IEVycm9yKCIkYiIpO3RyeXtuPSEwLGs9aChrLHIpfWZpbmFsbHl7bj0hMX10PWw9bTtmb3IobGV0IHY9MDt2PHQubGVuZ3RoO3YrKykoMCx0W3ZdKSgpO3JldHVybiByfWlmKHR5cGVvZiBiPT09ImZ1bmN0aW9uIiYmdHlwZW9mIGM9PT0iZnVuY3Rpb24ifHx0eXBlb2YgYz09PSJmdW5jdGlvbiImJnR5cGVvZiBhcmd1bWVudHNbM109PT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJhYyIpO3R5cGVvZiBiPT09ImZ1bmN0aW9uIiYmdHlwZW9mIGM9PT0idW5kZWZpbmVkIiYmKGM9YixiPXZvaWQgMCk7aWYodHlwZW9mIGMhPT0idW5kZWZpbmVkIil7aWYodHlwZW9mIGMhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJiY2AiK3R5cGVvZiBjKTtyZXR1cm4gYyhnTSkoYSxiKX1pZih0eXBlb2YgYSE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoImNjYCIrdHlwZW9mIGEpO3ZhciBoPWEsaz0KYixsPVtdLG09bCxuPSExO2Yoe3R5cGU6Xy5tQX0pO3ZhciBwPXtkaXNwYXRjaDpmLHN1YnNjcmliZTplLGdldFN0YXRlOmQscmVwbGFjZVJlZHVjZXI6ZnVuY3Rpb24ocil7aWYodHlwZW9mIHIhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJkY2AiK3R5cGVvZiByKTtoPXI7Zih7dHlwZTpfLlJhYX0pO3JldHVybiBwfSxbXy5uQV06ZnVuY3Rpb24oKXtyZXR1cm57c3Vic2NyaWJlKHIpe2Z1bmN0aW9uIHQoKXtyLm5leHQmJnIubmV4dChkKCkpfWlmKHR5cGVvZiByIT09Im9iamVjdCJ8fHI9PT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoImVjYCIrdHlwZW9mIHIpO3QoKTtyZXR1cm57dW5zdWJzY3JpYmU6ZSh0KX19LFtfLm5BXSgpe3JldHVybiB0aGlzfX19fTtyZXR1cm4gcH07Cl8uaE09ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXsuLi5hfTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoYikpe2xldCBmPWFbZV0saD1iW2VdO2lmKGg9PT12b2lkIDApZGVsZXRlIGRbZV07ZWxzZSBpZihmPT09dm9pZCAwKWRbZV09aDtlbHNlIGlmKEFycmF5LmlzQXJyYXkoaCkmJkFycmF5LmlzQXJyYXkoZikpZFtlXT1jP1suLi5mLC4uLmhdOmg7ZWxzZSBpZighQXJyYXkuaXNBcnJheShoKSYmXy5BYShoKSYmIUFycmF5LmlzQXJyYXkoZikmJl8uQWEoZikpZFtlXT1fLmhNKGYsaCxjKTtlbHNlIGlmKHR5cGVvZiBoPT09dHlwZW9mIGYpZFtlXT1oO2Vsc2UgcmV0dXJuIGI9bmV3IF8uWGooIkF0dGVtcHRlZCB0byBtZXJnZSBmaWVsZHMgb2YgZGlmZmVyaW5nIHR5cGVzLiIse25hbWU6IkRlZXBNZXJnZUVycm9yIixrZXk6ZSxIajpmLHVwZGF0ZVZhbHVlOmh9KSxfLkdwKGIpLGF9cmV0dXJuIGR9OwppTT1mdW5jdGlvbihhLGIsYyxkKXtpZihkPT09dm9pZCAwKXtsZXQge1tjXTplLC4uLmZ9PWFbYl18fHt9O3JldHVybnsuLi5hLFtiXTpmfX1yZXR1cm57Li4uYSxbYl06ey4uLmFbYl0sW2NdOmR9fX07ak09ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hW2JdfHx7fSxoPWZbY107aWYoIWgmJiFfLngoIndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGUiKSlyZXR1cm4gYTtkPV8uaE0oaHx8e30sZCxlPT09IlJFUEVBVEVEX0ZJRUxEU19NRVJHRV9PUFRJT05fQVBQRU5EIik7cmV0dXJuey4uLmEsW2JdOnsuLi5mLFtjXTpkfX19OwplZ2E9ZnVuY3Rpb24oYT17fSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJFTlRJVFlfTE9BREVEIjpyZXR1cm4gYi5wYXlsb2FkLnJlZHVjZSgoYyxkKT0+e3ZhciBlPWQub3B0aW9ucz8ucGVyc2lzdGVuY2VPcHRpb247aWYoZSYmZSE9PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX1VOS05PV04iJiZlIT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fSU5NRU1PUllfQU5EX1BFUlNJU1QiKXJldHVybiBjO2lmKCFkLmVudGl0eUtleSlyZXR1cm4gXy5HcChFcnJvcigiZ2MiKSksYztpZihkLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSIpe2lmKCFkLnBheWxvYWQpcmV0dXJuIGQ9bmV3IF8uWGooIlJFUExBQ0UgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmQuZW50aXR5S2V5fSksXy5HcChkKSxjO3ZhciBmPV8uZE0oZC5wYXlsb2FkKTtyZXR1cm4gaU0oYyxmLGQuZW50aXR5S2V5LGQucGF5bG9hZFtmXSl9aWYoZC50eXBlPT09CiJFTlRJVFlfTVVUQVRJT05fVFlQRV9ERUxFVEUiKXthOntkPWQuZW50aXR5S2V5O3RyeXtsZXQgaD1fLkdIKGQpLmVudGl0eVR5cGU7Zj1pTShjLGgsZCk7YnJlYWsgYX1jYXRjaChoKXtpZihoIGluc3RhbmNlb2YgRXJyb3Ipe2Q9bmV3IF8uWGooIkZhaWxlZCB0byBkZXNlcmlhbGl6ZSBlbnRpdHkga2V5Iix7ZW50aXR5S2V5OmQsb3JpZ2luYWxNZXNzYWdlOmgubWVzc2FnZX0pO18uR3AoZCk7Zj1jO2JyZWFrIGF9dGhyb3cgaDt9Zj12b2lkIDB9cmV0dXJuIGZ9aWYoZC50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1VQREFURSIpe2lmKCFkLnBheWxvYWQpcmV0dXJuIGQ9bmV3IF8uWGooIlVQREFURSBlbnRpdHkgbXV0YXRpb24gaXMgbWlzc2luZyBhIHBheWxvYWQiLHtlbnRpdHlLZXk6ZC5lbnRpdHlLZXl9KSxfLkdwKGQpLGM7Zj1fLmRNKGQucGF5bG9hZCk7cmV0dXJuIGpNKGMsZixkLmVudGl0eUtleSxkLnBheWxvYWRbZl0sZC5maWVsZE1hc2s/Lm1lcmdlT3B0aW9ucz8ucmVwZWF0ZWRGaWVsZHNNZXJnZU9wdGlvbil9cmV0dXJuIGN9LAphKTtjYXNlICJSRVBMQUNFX0VOVElUWSI6cmV0dXJuIGlNKGEsYi5wYXlsb2FkLmVudGl0eVR5cGUsYi5wYXlsb2FkLmtleSxiLnBheWxvYWQueGwpO2Nhc2UgIlJFUExBQ0VfRU5USVRJRVMiOnJldHVybiBPYmplY3Qua2V5cyhiLnBheWxvYWQpLnJlZHVjZSgoYyxkKT0+e3ZhciBlPWIucGF5bG9hZFtkXTtyZXR1cm4gT2JqZWN0LmtleXMoZSkucmVkdWNlKChmLGgpPT5pTShmLGQsaCxlW2hdKSxjKX0sYSk7Y2FzZSAiVVBEQVRFX0VOVElUWSI6cmV0dXJuIGpNKGEsYi5wYXlsb2FkLmVudGl0eVR5cGUsYi5wYXlsb2FkLmtleSxiLnBheWxvYWQueGwsYi5wYXlsb2FkLkl5KTtkZWZhdWx0OnJldHVybiBhfX07Cl8ubE09ZnVuY3Rpb24oKXtpZihfLmtNKXJldHVybiBfLmtNO2lmKHdpbmRvdy5sb3R0aWUpcmV0dXJuIF8ua009UHJvbWlzZS5yZXNvbHZlKHdpbmRvdy5sb3R0aWUpO3ZhciBhPV8uaHcoXy53KCJMT1RUSUVfVVJMIikpO3JldHVybiBhP18ua009bmV3IFByb21pc2UoKGIsYyk9Pnt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtkLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57Yihsb3R0aWUpfSk7ZC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZT0+e3ZhciBmPSJMb3R0aWUgbGlicmFyeSBmYWlsZWQgdG8gbG9hZC4iO2U/ZS5tZXNzYWdlJiYoZis9YCBPcmlnaW5hbCBkZXNjcmlwdGlvbjogJHtlLm1lc3NhZ2V9YCxfLmN3KGUsZikpOmU9RXJyb3IoZik7Xy5JcChlKTtjKGUpfSk7ZC5zZXRBdHRyaWJ1dGUoImFzeW5jIiwiIik7Xy5vYihkLGEpO2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZCl9KTpQcm9taXNlLnJlamVjdChFcnJvcigiQmQiKSl9OwpnZ2E9ZnVuY3Rpb24oYT1mZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0JPVFRPTV9TSEVFVF9PUEVOX1NUQVRFIjpyZXR1cm57Li4uYSxqajpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fTtpZ2E9ZnVuY3Rpb24oYT1oZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0NJTkVNQVRJQ19TRVRUSU5HX1NUQVRFIjpyZXR1cm57Li4uYSxpc0FsbG93ZWQ6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07CmtnYT1mdW5jdGlvbihhPWpnYSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfRVJST1JfTUVTU0FHRV9DUkVBVEVfUExBWUxJU1RfU1RBVEUiOnJldHVybnsuLi5hLGVycm9yTWVzc2FnZTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9USVRMRV9DUkVBVEVfUExBWUxJU1RfU1RBVEUiOnJldHVybnsuLi5hLHRpdGxlOmIucGF5bG9hZH07Y2FzZSAiU0VUX1BSSVZBQ1lfQ1JFQVRFX1BMQVlMSVNUX1NUQVRFIjpyZXR1cm57Li4uYSxwcml2YWN5OmIucGF5bG9hZH07Y2FzZSAiU0VUX0lTX0RJU0FCTEVEX0NSRUFURV9QTEFZTElTVF9TVEFURSI6cmV0dXJuey4uLmEsaXNEaXNhYmxlZDpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fTttZ2E9ZnVuY3Rpb24oYT1sZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0RSQVdFUl9MQVlPVVRfT1BFTl9TVEFURSI6cmV0dXJuey4uLmEsamo6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07Cm9nYT1mdW5jdGlvbihhPW5nYSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfRlVMTFNDUkVFTl9TVEFURSI6cmV0dXJuey4uLmEsaXNGdWxsc2NyZWVuOmIucGF5bG9hZH07Y2FzZSAiU0VUX05BVklHQVRJT05fQlVUVE9OIjp2YXIgYz17Li4uYS5uYXZpZ2F0aW9uQnV0dG9uc307Y1tiLnBheWxvYWQudGFyZ2V0SWRdPWIucGF5bG9hZC5idXR0b247cmV0dXJuey4uLmEsbmF2aWdhdGlvbkJ1dHRvbnM6Y307Y2FzZSAiU0VUX1RPUF9QQU5FTF9JRF9TVEFURSI6cmV0dXJuey4uLmEscXM6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0VDT05EQVJZX0hFQURFUiI6cmV0dXJuIGM9ey4uLmEuc2Vjb25kYXJ5SGVhZGVyfSxjW2IucGF5bG9hZC5wYW5lbElkXT1iLnBheWxvYWQuc2Vjb25kYXJ5SGVhZGVyLHsuLi5hLHNlY29uZGFyeUhlYWRlcjpjfTtkZWZhdWx0OnJldHVybiBhfX07Xy5vTT1mdW5jdGlvbigpe21NfHwobU09bmV3IG5NKTtyZXR1cm4gbU19OwpwTT1mdW5jdGlvbihhLGIpe2I9Yj8uQXN8fF8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpO3N3aXRjaChhKXtjYXNlICJMSUtFIjphPV8ub00oKS5nZXRTdGF0ZSgpO2E9KGE9Xy5xQShhLmVudGl0aWVzLCJsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5IiwiRWh4c2FXdGxYMkoxZEhSdmJsOWhibWx0WVhScGIyNWZaVzUwYVhSNUlMY0VLQUUlM0QiKSkmJmEuYW5pbWF0aW9uTGlnaHRVcmwmJmEuYW5pbWF0aW9uRGFya1VybD97RWM6e2FuaW1hdGlvbkNvbmZpZzp7bmFtZTpiPyJjdXN0b21fYW5pbWF0ZWRfbGlrZV9pY29uX2RhcmsiOiJjdXN0b21fYW5pbWF0ZWRfbGlrZV9pY29uIixwYXRoOmI/YS5hbmltYXRpb25EYXJrVXJsOmEuYW5pbWF0aW9uTGlnaHRVcmwsbG9vcDohMSxhdXRvcGxheTohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMCxjbGFzc05hbWU6ImN1c3RvbS1hbmltYXRlZC1saWtlLWljb24ifX19LHRvdGFsRnJhbWVzOjEyMCx6aDohMH06dm9pZCAwOwppZihhKXJldHVybiBhO2I9YGFuaW1hdGVkX2xpa2VfaWNvbl8ke2I/ImRhcmsiOiJsaWdodCJ9X3Y1YDtyZXR1cm57RWM6e2FuaW1hdGlvbkNvbmZpZzp7bmFtZTpiLHBhdGg6YGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS9hbmltYXRlZF9saWtlX2ljb24vJHtifS5qc29uYCxsb29wOiExLGF1dG9wbGF5OiExLHJlbmRlcmVyU2V0dGluZ3M6e3ZpZXdCb3hPbmx5OiEwLGNsYXNzTmFtZToiYW5pbWF0ZWQtbGlrZS1pY29uIn19fSx0b3RhbEZyYW1lczoxMjAsemg6ITB9O2Nhc2UgIk5PVElGSUNBVElPTl9CRUxMIjpyZXR1cm57RWM6e2FuaW1hdGlvbkNvbmZpZzp7bmFtZTpiPyJub3RpZmljYXRpb25fYmVsbF9kYXJrIjoibm90aWZpY2F0aW9uX2JlbGxfbGlnaHQiLHBhdGg6YGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS9zdWJzY3JpYmVfYWN0aW9uL3N1YnNjcmliZV9hY3Rpb25fYmVsbF9pY29uXyR7Yj8iZGFyayI6ImxpZ2h0In1fdjQuanNvbmAsCmxvb3A6ITEsYXV0b3BsYXk6ITEscmVuZGVyZXJTZXR0aW5nczp7Y2xhc3NOYW1lOiJhbmltYXRlZC1zdWJzY3JpYmUtaWNvbiJ9fX0sdG90YWxGcmFtZXM6MTIwLHpoOiExfX19O3BnYT1mdW5jdGlvbihhLGIpe18uamYucGIoYXN5bmMoKT0+e3RyeXthd2FpdCBfLmxNKCk7bGV0IGM9YXdhaXQgKGF3YWl0IGZldGNoKGEpKS5qc29uKCk7cU0uc2V0KGEsYyk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57YihjKX0pfWNhdGNoKGMpe18uSXAoYyl9fSl9O3FnYT1mdW5jdGlvbihhKXt2YXIgYj17YW5pbWF0aW9uQ29uZmlnOnt9LGxpc3RlbmVyczp7fX0sYz0oKT0+e2EoITApfTtiLmxpc3RlbmVycy5yST1jO2IubGlzdGVuZXJzLmVycm9yPWM7Yi5saXN0ZW5lcnMuc0k9KCk9PnthKCExKX07cmV0dXJuIGJ9OwpuTT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPWZNKHtlbmdhZ2VtZW50UGFuZWw6b2dhLHRpOmdnYSxlSTppZ2EsRHA6bWdhLG1JOmtnYSxRSjpyZ2EsQks6c2dhLENLOnRnYSwuLi51Z2EsLi4udmdhfSksYj1lTShjZ2EoKSk7dGhpcy5zdG9yZT1nTShhLHZvaWQgMCxiKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0b3JlLmdldFN0YXRlKCl9ZGlzcGF0Y2goYSl7cmV0dXJuIHRoaXMuc3RvcmUuZGlzcGF0Y2goYSl9c3Vic2NyaWJlKGEpe3JldHVybiB0aGlzLnN0b3JlLnN1YnNjcmliZShhKX1yZXBsYWNlUmVkdWNlcihhKXtyZXR1cm4gdGhpcy5zdG9yZS5yZXBsYWNlUmVkdWNlcihhKX1bU3ltYm9sLm9ic2VydmFibGVdKCl7cmV0dXJuIHRoaXMuc3RvcmVbU3ltYm9sLm9ic2VydmFibGVdKCl9fTt2YXIgcU09bmV3IE1hcDt2YXIgd2dhPXtKcDpudWxsfTt2YXIgdWdhPXtUcjpmdW5jdGlvbihhPV8uJEwsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1NIQVJFRF9BTklNQVRFRF9USFVNQk5BSUxfRU5BQkxFRCI6cmV0dXJuey4uLmEsRW86Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX0lOTElORV9QUkVWSUVXX0VOQUJMRUQiOnJldHVybnsuLi5hLGxxOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9DVVJSRU5UX1BBR0VfVFlQRSI6cmV0dXJuey4uLmEsdnA6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX0NVUlJFTlRfUEFHRV9TVUJfVFlQRSI6cmV0dXJuey4uLmEsdXA6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX1BFUlNJU1RFTlRfUEFORUxfVklTSUJMRSI6cmV0dXJuey4uLmEsd3I6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX0lTX1NFQVJDSEJPWF9ISURERU4iOnJldHVybnsuLi5hLENxOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19LGExMXk6Zk0oe0pwOmZ1bmN0aW9uKGE9d2dhLkpwLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9FUEhFTUVSQUxfQUNUSU9OIjpyZXR1cm4gYi5wYXlsb2FkOwpkZWZhdWx0OnJldHVybiBhfX19KSxlbnRpdGllczpmdW5jdGlvbihhPXt9LGIpe3JldHVybiBlZ2EoYSxiKX19O3ZhciByTT17WGw6ITEsZm06ITEsam06ITEscGxheWVyU3RhdGU6LTEsaXNGdWxsc2NyZWVuOiExLG1qOiExLFpsOiExLGdtOiExLFRqOjIseGo6MH07dmFyIHhnYT1mTSh7WGw6ZnVuY3Rpb24oYT1yTS5YbCxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfREVTS1RPUF9TTUFMTF9XSURUSCI6cmV0dXJuIGIucGF5bG9hZC5YbDtkZWZhdWx0OnJldHVybiBhfX0sZm06ZnVuY3Rpb24oYT1yTS5mbSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfU0hPUlRTX0FDVElWRSI6cmV0dXJuIGIucGF5bG9hZC5mbTtkZWZhdWx0OnJldHVybiBhfX0sam06ZnVuY3Rpb24oYT1yTS5qbSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfV0FUQ0hfV0hJTEVfTU9ERSI6cmV0dXJuIGIucGF5bG9hZC5qbTtkZWZhdWx0OnJldHVybiBhfX0scGxheWVyU3RhdGU6ZnVuY3Rpb24oYT1yTS5wbGF5ZXJTdGF0ZSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfUExBWUVSX1NUQVRFIjpyZXR1cm4gYi5wYXlsb2FkLnBsYXllclN0YXRlO2RlZmF1bHQ6cmV0dXJuIGF9fSxpc0Z1bGxzY3JlZW46ZnVuY3Rpb24oYT1yTS5pc0Z1bGxzY3JlZW4sCmIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19GVUxMU0NSRUVOIjpyZXR1cm4gYi5wYXlsb2FkLmlzRnVsbHNjcmVlbjtkZWZhdWx0OnJldHVybiBhfX0sbWo6ZnVuY3Rpb24oYT1yTS5taixiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfU01BTExfU0NSRUVOX1NRVUVFWkVCQUNLIjpyZXR1cm4gYi5wYXlsb2FkLm1qO2RlZmF1bHQ6cmV0dXJuIGF9fSxnbTpmdW5jdGlvbihhPXJNLmdtLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19TSE9SVFNfUElQX0FDVElWRSI6cmV0dXJuIGIucGF5bG9hZC5nbTtkZWZhdWx0OnJldHVybiBhfX0sWmw6ZnVuY3Rpb24oYT1yTS5abCxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfUExBWUJBQ0tfU1RBUlRFRCI6cmV0dXJuIGIucGF5bG9hZC5abDtkZWZhdWx0OnJldHVybiBhfX0sVGo6ZnVuY3Rpb24oYT1yTS5UaixiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfU0hPUlRTX0xBWU9VVCI6cmV0dXJuIGIucGF5bG9hZC5UajsKZGVmYXVsdDpyZXR1cm4gYX19LHhqOmZ1bmN0aW9uKGE9ck0ueGosYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX01FVEFQQU5FTF9TVFlMRSI6cmV0dXJuIGIucGF5bG9hZC54ajtkZWZhdWx0OnJldHVybiBhfX19KTt2YXIgZmdhPXtqajohMX07dmFyIGhnYT17aXNBbGxvd2VkOiExfTt2YXIgamdhPXtlcnJvck1lc3NhZ2U6IiIsdGl0bGU6IiIscHJpdmFjeToiIixpc0Rpc2FibGVkOiEwfTt2YXIgbGdhPXtqajohMX07dmFyIG5nYT17aXNGdWxsc2NyZWVuOiExLHFzOnZvaWQgMCxuYXZpZ2F0aW9uQnV0dG9uczp7fSxzZWNvbmRhcnlIZWFkZXI6e319O3ZhciB5Z2E9e3Jlc3BvbnNlOnZvaWQgMH07dmFyIHJnYT0oYT15Z2EsYik9Pntzd2l0Y2goYi50eXBlKXtjYXNlICJMT0NBVElPTl9DT0xMRUNUSU9OX1JFU1BPTlNFX0NIQU5HRSI6cmV0dXJuey4uLmEscmVzcG9uc2U6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07dmFyIHpnYT17bmV4dENvbW1hbmQ6dm9pZCAwLFR5OiExLGJ3OnZvaWQgMCxQeDohMX07dmFyIHNnYT0oYT16Z2EsYik9Pntzd2l0Y2goYi50eXBlKXtjYXNlICJSRVBPUlRfQ0hBTk5FTF9ORVhUX0RJU0FCTEVEX0NIQU5HRSI6cmV0dXJuey4uLmEsVHk6Yi5wYXlsb2FkfTtjYXNlICJSRVBPUlRfQ0hBTk5FTF9ORVhUX0NPTU1BTkRfQ0hBTkdFIjpyZXR1cm57Li4uYSxuZXh0Q29tbWFuZDpiLnBheWxvYWR9O2Nhc2UgIlJFUE9SVF9DSEFOTkVMX01PREFMX0ZPT1RFUl9SRU5ERVJFUl9TVUJNSVNTSU9OX0RBVEFfQ0hBTkdFIjpyZXR1cm57Li4uYSxidzpiLnBheWxvYWR9O2Nhc2UgIlJFUE9SVF9DSEFOTkVMX05FWFRfSU1QRVJTT05BVElPTl9WQUxJRElUWV9DSEFOR0UiOnJldHVybnsuLi5hLFB4OmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19O3ZhciBBZ2E9e1V6OnZvaWQgMCxUejp2b2lkIDB9O3ZhciB0Z2E9KGE9QWdhLGIpPT57c3dpdGNoKGIudHlwZSl7Y2FzZSAiUkVQT1JUX0ZPUk1fTU9EQUxfUkVOREVSRVJfREFUQV9DSEFOR0UiOnJldHVybnsuLi5hLFV6OmIucGF5bG9hZH07Y2FzZSAiUkVQT1JUX0RFVEFJTFNfRk9STV9SRU5ERVJFUl9EQVRBX0NIQU5HRSI6cmV0dXJuey4uLmEsVHo6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07dmFyIEJnYT17fTt2YXIgc009e3NoOiExLHdoOl8ueCgid2ViX3BsYXlsaXN0X3BhbmVsX2RlZmF1bHRfY29sbGFwc2VkIiksdmc6W10sWmk6ITF9O3ZhciBDZ2E9Zk0oe3NoOmZ1bmN0aW9uKGE9c00uc2gsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfU0VUX0lTX0xJVkVfQ0hBVF9DT0xMQVBTRUQiOnJldHVybiBiLnBheWxvYWQ/Yi5wYXlsb2FkLnNoOmE7ZGVmYXVsdDpyZXR1cm4gYX19LHdoOmZ1bmN0aW9uKGE9c00ud2gsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfU0VUX0lTX1BMQVlMSVNUX1BBTkVMX0NPTExBUFNFRCI6cmV0dXJuIGIucGF5bG9hZC53aDtkZWZhdWx0OnJldHVybiBhfX0sdmc6ZnVuY3Rpb24oYT1zTS52ZyxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJNQUlOX0FQUF9BRERfT1BFTl9FTkdBR0VNRU5UX1BBTkVMIjpyZXR1cm5bLi4uYSxiLnBheWxvYWQueHpdO2Nhc2UgIk1BSU5fQVBQX1JFTU9WRV9PUEVOX0VOR0FHRU1FTlRfUEFORUwiOnJldHVybiBhLmxlbmd0aD09PTA/YTphLmZpbHRlcihjPT5jIT09Yi5wYXlsb2FkLm9LKTtkZWZhdWx0OnJldHVybiBhfX0sWmk6ZnVuY3Rpb24oYT0Kc00uWmksYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfU0VUX0hBU19QTEFZTElTVCI6cmV0dXJuIGIucGF5bG9hZC5aaTtkZWZhdWx0OnJldHVybiBhfX19KTt2YXIgdmdhPXt4TDpmdW5jdGlvbihhPUJnYSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfVFJBTlNDUklQVElPTl9TVEFURSI6cmV0dXJuey4uLmEsakw6Yi5wYXlsb2FkfTtjYXNlICJTRVRfT1ZFUkxBWV9TVEFURSI6cmV0dXJuey4uLmEsb3ZlcmxheTpiLnBheWxvYWR9O2Nhc2UgIlJFU0VUX1ZPSUNFX1NFQVJDSF9TVEFURSI6cmV0dXJue307ZGVmYXVsdDpyZXR1cm4gYX19LHNob3J0czp4Z2EsQWQ6Q2dhfTt2YXIgbU09dm9pZCAwO21NPW5ldyBuTTtfLnRNPV8uTChhPT57dmFyIHthbmltYXRlZEljb25UeXBlOmIsYWN0aXZlOmMsSGM6ZCxhbmltYXRpb25SZWY6ZSxIQTpmLHNpemU6aH09Xy5EQyhhLHtIYzp2b2lkIDAsYW5pbWF0aW9uUmVmOnt9LHNpemU6MjR9KSxbayxsXT1fLkoodm9pZCAwLHZvaWQgMCwiVHZnbUNlIiksbT0oKT0+cE0oYigpLGQ/LigpKT8uRWMuYW5pbWF0aW9uQ29uZmlnLm5hbWU/PyIiLG49KCk9PntpZihwTShiKCksZD8uKCkpKXt2YXIge3BhdGg6QX09cE0oYigpLGQ/LigpKS5FYy5hbmltYXRpb25Db25maWc7cmV0dXJuIHFNLmdldChBKXx8aygpfX0sW3Ascl09Xy5KKCExLHZvaWQgMCwiamYyRHliIiksdD1xZ2Eociksdj0oKT0+cE0oYigpLGQ/LigpKT8uRWMuYW5pbWF0aW9uQ29uZmlnPy5yZW5kZXJlclNldHRpbmdzPy5jbGFzc05hbWU/PyIiLHo9dm9pZCAwLEU9dm9pZCAwO18ubkUoKCk9Pnt2YXIgQT1wTShiKCksZD8uKCkpLEY9bSgpLEM9bigpLEc9cCgpLEQ9YygpO2lmKEEmJihFIT09RiYmKEU9CkYsej1ELEY9ZSgpLHQuYW5pbWF0aW9uQ29uZmlnPUEuRWMuYW5pbWF0aW9uQ29uZmlnLHQuYW5pbWF0aW9uUmVmPUYsQyYmKHQuYW5pbWF0aW9uQ29uZmlnLmFuaW1hdGlvbkRhdGE9Qyx0LmFuaW1hdGlvbkNvbmZpZy5wYXRoPXZvaWQgMCksRj1BLkVjLmFuaW1hdGlvbkNvbmZpZy5wYXRoLCFxTS5nZXQoRikmJkEuemgmJkYmJnBnYShGLGwpKSwhKEd8fEEuemgmJiFDKSkpe2lmKEM9IWUoKS5sb3R0aWVFbClEPyhHPUEudG90YWxGcmFtZXMsdC5hbmltYXRpb25Db25maWcuaW5pdGlhbFNlZ21lbnQ9W0ctMSxHXSk6dC5hbmltYXRpb25Db25maWcuaW5pdGlhbFNlZ21lbnQ9dm9pZCAwO3o9PT1EfHxDfHwoQz1lKCksRD9DLmxvdHRpZUVsPy5wbGF5U2VnbWVudHMoWzAsQS50b3RhbEZyYW1lc10sITApOkMubG90dGllRWw/LnBsYXlTZWdtZW50cyhbMCwxXSwhMCkpO3o9RH19LCJYQjFHU2IiKTtyZXR1cm4gXy5LKCJhbmltYXRlZC1pY29uIix7Y2xhc3M6Inl0QW5pbWF0ZWRJY29uSG9zdCIsCiJkYXRhLXNpemUiOigpPT5oKCl9LF8uSyhfLk8se0E6KCk9PiEoIXBNKGIoKSxkPy4oKSk/LkVjLmFuaW1hdGlvbkNvbmZpZy5wYXRofHxwTShiKCksZD8uKCkpPy56aCYmIW4oKXx8cCgpKSx0aGVuOigpPT5fLksoXy5jTSx7ZGF0YTp0LGFuaW1hdGlvbk5hbWU6bSxjbGFzc05hbWU6dixhbmltYXRpb25SZWY6ZX0pLFc6Zn0pKX0sIk1hIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udU09ZnVuY3Rpb24oYSl7cmV0dXJuIF8uc0UoKCk9Pih7dmFsdWU6YX0pKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB5TSx6TSxEZ2EsQU0sQk0sQ00sRE0sRU0sR00sRmdhLElNLEdnYSxMTSxIZ2EsTU0sUk0sU00sVE0sYk4sS2dhLGNOLGVOLExnYSxPZ2EsTmdhLE1nYSxoTixQZ2EsUmdhLGlOLGpOLGtOLFNnYSxUZ2EsbE4sVWdhLG1OLG5OLHBOLFZnYSxXZ2EsWGdhLHFOLGFoYSwkZ2Esck4sWmdhLFlnYSxkaGEsY2hhLHNOLGJoYSxmaGEsdk4sWCxBTixDTixnaGEsaWhhLGhoYSxqaGEsTU4sbGhhLG1oYSxRTixuaGEsb2hhLFROLHFoYSxhTyxyaGEsc2hhLHRoYSx1aGEsdmhhLHdoYSx4aGEsRWdhLEZNLEhNLGJPLHloYSxPTSxRTSxJZ2EsSmdhLHpoYSxBaGE7Xy52TT1mdW5jdGlvbihhKXt2YXIgYj1fLiR0KGEpO3JldHVybntbU3ltYm9sLmRpc3Bvc2VdKCl7Xy4kdChiKX19fTtfLnhNPWZ1bmN0aW9uKCl7aWYoXy5YeigpKXt2YXIgYT1fLkdoKGAke18uVmooKX06Onl0LW1hdy1wbGF5ZXJgKTtpZihhKXJldHVybiBuZXcgXy53TShhKX19Owp5TT1mdW5jdGlvbihhLGIpe2Zvcig7YS5sZW5ndGg+YjspYS5wb3AoKX07ek09ZnVuY3Rpb24oYSl7YT1BcnJheShhKTt5TShhLDApO3JldHVybiBhfTtEZ2E9ZnVuY3Rpb24oYSxiLGMsZCl7KGRbYl18fGRbXy5SQS5kZWZhdWx0XSkoYSxiLGMpfTtBTT1mdW5jdGlvbihhLGIsYyl7Yj1uZXcgRWdhKGIsYyk7cmV0dXJuIGEuX19pbmNyZW1lbnRhbERPTURhdGE9Yn07CkJNPWZ1bmN0aW9uKGEsYil7aWYoYS5fX2luY3JlbWVudGFsRE9NRGF0YSlyZXR1cm4gYS5fX2luY3JlbWVudGFsRE9NRGF0YTt2YXIgYz1hLm5vZGVUeXBlPT09MT9hLmxvY2FsTmFtZTphLm5vZGVOYW1lLGQ9YS5ub2RlVHlwZT09PTE/YS5nZXRBdHRyaWJ1dGUoImtleSIpOm51bGw7Yj1BTShhLGMsYS5ub2RlVHlwZT09PTE/ZHx8YjpudWxsKTtpZihhLm5vZGVUeXBlPT09MSYmKGM9YS5hdHRyaWJ1dGVzLGQ9Yy5sZW5ndGgpKXthPWIuanx8KGIuaj16TShkKjIpKTtmb3IobGV0IGU9MCxmPTA7ZTxkO2UrPTEsZis9Mil7bGV0IGg9Y1tlXSxrPWgudmFsdWU7YVtmXT1oLm5hbWU7YVtmKzFdPWt9fXJldHVybiBifTtDTT1mdW5jdGlvbigpe18uWUE9Xy5WQSgpfTsKRE09ZnVuY3Rpb24oYSxiKXtDTSgpO3ZhciBjO2E6e2lmKGM9Xy5ZQSl7ZG97aWYoYz09PW51bGwpYnJlYWs7dmFyIGQ9YyxlPWEsZj1iO2xldCBoPUJNKGQsZik7aWYoKDAsXy5iQikoZCxlLGgubyxmLGgua2V5KSlicmVhayBhfXdoaWxlKGImJihjPWMubmV4dFNpYmxpbmcpKX1jPW51bGx9Y3x8KGE9PT0iI3RleHQiPyhhPV8uWkEuY3JlYXRlVGV4dE5vZGUoIiIpLEFNKGEsIiN0ZXh0IixudWxsKSk6KGM9Xy5aQSxkPV8uVUEsdHlwZW9mIGE9PT0iZnVuY3Rpb24iP2M9bmV3IGE6Yz0oZD1hPT09InN2ZyI/Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjphPT09Im1hdGgiPyJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpkPT1udWxsfHxCTShkKS5vPT09ImZvcmVpZ25PYmplY3QiP251bGw6ZC5uYW1lc3BhY2VVUkkpP2MuY3JlYXRlRWxlbWVudE5TKGQsYSk6Yy5jcmVhdGVFbGVtZW50KGEpLEFNKGMsYSxiKSxhPWMpLF8uV0EuY3JlYXRlZC5wdXNoKGEpLGM9CmEpO2E9YztpZihhIT09Xy5ZQSl7aWYoXy4kQS5pbmRleE9mKGEpPj0wKWZvcihiPV8uVUEsYz1hLm5leHRTaWJsaW5nLGQ9Xy5ZQTtkIT09bnVsbCYmZCE9PWE7KWU9ZC5uZXh0U2libGluZyxiLmluc2VydEJlZm9yZShkLGMpLGQ9ZTtlbHNlIF8uVUEuaW5zZXJ0QmVmb3JlKGEsXy5ZQSk7Xy5ZQT1hfX07RU09ZnVuY3Rpb24oYSxiKXtETShhLGIpO18uVUE9Xy5ZQTtfLllBPW51bGw7cmV0dXJuIF8uVUF9O0dNPWZ1bmN0aW9uKGEsYixjLGQpe0ZNLnB1c2goRGdhKTtGTS5wdXNoKGEpO0ZNLnB1c2goYik7Rk0ucHVzaChjKTtGTS5wdXNoKGQpfTsKRmdhPWZ1bmN0aW9uKGE9Xy5IQyl7dmFyIGI9Xy5VQSxjPUJNKGIpLGQ9Xy5hQjtjPWMuanx8KGMuaj16TShkLmxlbmd0aCkpO2Zvcih2YXIgZT0hYy5sZW5ndGh8fCExLGY9MDtmPGQubGVuZ3RoO2YrPTIpe3ZhciBoPWRbZl07aWYoZSljW2ZdPWg7ZWxzZSBpZihjW2ZdIT09aClicmVhaztsZXQgbD1kW2YrMV07aWYoZXx8Y1tmKzFdIT09bCljW2YrMV09bCxHTShiLGgsbCxhKX1pZihmPGQubGVuZ3RofHxmPGMubGVuZ3RoKXtmb3IoZj1lPWY7ZjxjLmxlbmd0aDtmKz0yKV8uSkNbY1tmXV09Y1tmKzFdO2ZvcihmPWU7ZjxkLmxlbmd0aDtmKz0yKWU9ZFtmXSxoPWRbZisxXSxfLkpDW2VdIT09aCYmR00oYixlLGgsYSksY1tmXT1lLGNbZisxXT1oLGRlbGV0ZSBfLkpDW2VdO3lNKGMsZC5sZW5ndGgpO2Zvcih2YXIgayBpbiBfLkpDKUdNKGIsayx2b2lkIDAsYSksZGVsZXRlIF8uSkNba119YT1ITTtITT1iPUZNLmxlbmd0aDtmb3Ioaz1hO2s8YjtrKz01KSgwLEZNW2tdKShGTVtrKzFdLApGTVtrKzJdLEZNW2srM10sRk1bays0XSk7SE09YTt5TShGTSxhKTt5TShkLDApfTtJTT1mdW5jdGlvbihhLC4uLmIpe0RNKCIjdGV4dCIsbnVsbCk7Yj1fLllBO3ZhciBjPUJNKGIpO2lmKGMudGV4dCE9PWEpe2M9Yy50ZXh0PWE7Zm9yKGxldCBkPTE7ZDxhcmd1bWVudHMubGVuZ3RoO2QrPTEpYz0oMCxhcmd1bWVudHNbZF0pKGMpO2IuZGF0YSE9PWMmJihiLmRhdGE9Yyl9fTsKR2dhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPVtdO2EuX2Rpc3Bvc2VFZmZlY3RzPV8udXYoKCk9PntfLnR2KCgpPT57dmFyIGY9YygpO2lmKGY9PT1udWxsfHxmPT09dm9pZCAwKWY9IiI7aWYoXy5xQihmKXx8Zj09PW51bGwpZD8/KGQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpKSxkLnBhcmVudE5vZGUhPT1hJiYoZC5faXNTaWduYWxUZXh0Tm9kZT0hMCxhLmluc2VydEJlZm9yZShkLGIpKSxkLnRleHRDb250ZW50PVN0cmluZyhmKTtlbHNlIGlmKF8ub0IoZikpe2xldCBoPWUubGVuZ3RoPjA/ZVtlLmxlbmd0aC0xXS5uZXh0U2libGluZzpiO2ZvcihsZXQgayBvZiBlKWEucmVtb3ZlQ2hpbGQoayk7Zj1fLnBCKGYpO2U9QXJyYXkuZnJvbShmLmNoaWxkTm9kZXMpO2ZvcihsZXQgayBvZiBlKWEuaW5zZXJ0QmVmb3JlKGssaCl9ZWxzZSB0aHJvdyBFcnJvcigiQWJgIisoXy5NdT8ubmFtZT8/InVua25vd24iKSsiYCIrdHlwZW9mIGYpO30sIlZ2RGdDIil9LF8uS3Uucml8fCEhXy5adCl9OwpfLktNPWZ1bmN0aW9uKGEpe2lmKCFfLkpNKXJldHVybiExO2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhfLkpNKSlpZihhLmhhc093blByb3BlcnR5KGIpKXJldHVybiEwO3JldHVybiExfTtMTT1mdW5jdGlvbihhKXtpZihhLmxlbmd0aCl7aWYoYS5sZW5ndGg9PT0xKXJldHVybiBhWzBdO3ZhciBiPXt9O18ud0YoYixfLlNELHtjb21tYW5kczphfSk7cmV0dXJuIGJ9fTtIZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9QXJyYXkuaXNBcnJheShhLml0ZW1zKT9hLml0ZW1zOkFycmF5LmZyb20oYS5pdGVtcyk7cmV0dXJuIF8uZkcoYixhLmNoaWxkcmVuKX07TU09ZnVuY3Rpb24oYSl7YT1fLm5KKGEpO2EubGVuZ3RoPjAmJmFbMF0uZm9jdXMoKX07Xy5OTT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZT0+e2EucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGQpO3JldHVybiBjLmNhbGwoYSxlKX07YS5hZGRFdmVudExpc3RlbmVyKGIsZCx2b2lkIDApfTsKXy5QTT1mdW5jdGlvbihhKXtPTXx8KE9NPV8uQ2QoIkEiKSk7T00uaHJlZiE9PWEmJl8uTHkoT00sYSk7cmV0dXJuIE9NfTtSTT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4iIjtpZihRTVthXSlyZXR1cm4gUU1bYV07dmFyIGI9Xy5QTShhKS5wYXRobmFtZTtRTVthXT1iLnN0YXJ0c1dpdGgoIi8iKT9iOiIvIitiO3JldHVybiBRTVthXX07ClNNPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09Ii8iPyJob21lIjphLnN0YXJ0c1dpdGgoIi9yZXN1bHRzIik/InNlYXJjaCI6YS5zdGFydHNXaXRoKCIvd2F0Y2giKT8id2F0Y2giOmEuc3RhcnRzV2l0aCgiL3Nob3J0cyIpPyJzaG9ydHMiOmEuc3RhcnRzV2l0aCgiL2hhc2h0YWciKT8iaGFzaHRhZyI6YS5zdGFydHNXaXRoKCIvY3JlYXRlX2NoYW5uZWwiKT8iY3JlYXRlX2NoYW5uZWwiOmEuc3RhcnRzV2l0aCgiL3Bvc3QvIik/InBvc3QiOmEuc3RhcnRzV2l0aCgiL0AiKXx8YS5zdGFydHNXaXRoKCIvdXNlci8iKXx8YS5zdGFydHNXaXRoKCIvY2hhbm5lbC8iKT8iY2hhbm5lbCI6YS5zdGFydHNXaXRoKCIvZXhwZXJpbWVudHMiKT8iZXhwZXJpbWVudHMiOmEuc3RhcnRzV2l0aCgiL3Nwb25zb3JfY2hhbm5lbCIpPyJzcG9uc29yc2hpcCI6YS5zdGFydHNXaXRoKCIvc2VsZWN0X3NpdGUiKT8ic2V0dGluZ3MiOmEuc3RhcnRzV2l0aCgiL2xvY2F0ZSIpPyJsb2NhdGUiOmEuc3RhcnRzV2l0aCgiL3JlZGVlbSIpPwoicmVkZWVtIjphLnN0YXJ0c1dpdGgoIi9tdXNpY3ByZW1pdW0iKXx8YS5zdGFydHNXaXRoKCIvcHJlbWl1bSIpfHxhLnN0YXJ0c1dpdGgoIi9yZWQiKT8icHJlbWl1bSI6YS5zdGFydHNXaXRoKCIvcGFpZF9tZW1iZXJzaGlwcyIpPyJwYWlkX21lbWJlcnNoaXBzIjphLnN0YXJ0c1dpdGgoIi9vb3BzIik/Im9vcHMiOmEuc3RhcnRzV2l0aCgiL2NsaXAiKT8iY2xpcCI6Xy5YRD8ucmVzcG9uc2U/LnBhZ2U9PT0iNDA0Ij8iNDA0IjphLnN0YXJ0c1dpdGgoIi9mZWVkL2hpc3RvcnkiKT8iaGlzdG9yeSI6YS5zdGFydHNXaXRoKCIvZmVlZC9saWJyYXJ5Iik/ImxpYnJhcnkiOmEuc3RhcnRzV2l0aCgiL2ZlZWQvc3Vic2NyaXB0aW9ucyIpPyJzdWJzY3JpcHRpb25zIjphLnN0YXJ0c1dpdGgoIi9mZWVkL3RyZW5kaW5nIik/InRyZW5kaW5nIjphLnN0YXJ0c1dpdGgoIi9mZWVkL25ld3NfZGVzdGluYXRpb24iKT8ibmV3cyI6YS5zdGFydHNXaXRoKCIvcGxheWxpc3QiKT8icGxheWxpc3QiOmEuc3RhcnRzV2l0aCgiL21pbm9yX21vbWVudCIpPwoibWlub3JfbW9tZW50IjphLnN0YXJ0c1dpdGgoIi9wbGF5YWJsZS8iKXx8YS5tYXRjaCgiXi9wbGF5YWJsZXMvKD8hc2F2ZWQpLiIpPyJtaW5pX2FwcCI6YS5zdGFydHNXaXRoKCIvcGxheWFibGVzIik/InBsYXlhYmxlcyI6YS5zdGFydHNXaXRoKCIvY3JlYXRlL2xpdmUvam9pbiIpPyJvcGVuX2luX2FwcCI6YS5zdGFydHNXaXRoKCIvZmVlZC9leHBsb3JlIik/ImV4cGxvcmUiOiJicm93c2UifTsKVE09ZnVuY3Rpb24oKXt2YXIgYT1fLlhEPy5yZXNwb25zZSxiPWE/LmVuZHBvaW50O2lmKCFiKXJldHVybiBhPy5wYWdlPT09IndhdGNoIj8id2F0Y2giOlNNKFJNKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSk7YT1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy53ZWJQYWdlVHlwZTt2YXIgYz0hMTtpZihhJiYhSWdhLmluY2x1ZGVzKGEpKXN3aXRjaChhKXtjYXNlICJXRUJfUEFHRV9UWVBFX1NFQVJDSCI6cmV0dXJuInNlYXJjaCI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9TSE9SVFMiOnJldHVybiJzaG9ydHMiO2Nhc2UgIldFQl9QQUdFX1RZUEVfQ0hBTk5FTCI6cmV0dXJuImNoYW5uZWwiO2Nhc2UgIldFQl9QQUdFX1RZUEVfU0VUVElOR1MiOnJldHVybiJzZXR0aW5ncyI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9QTEFZTElTVCI6cmV0dXJuInBsYXlsaXN0IjtjYXNlICJXRUJfUEFHRV9UWVBFX09QRU5fSU5fQVBQIjpyZXR1cm4ib3Blbl9pbl9hcHAiO2Nhc2UgIldFQl9QQUdFX1RZUEVfTUlOSV9BUFAiOnJldHVybiJtaW5pX2FwcCI7CmNhc2UgIldFQl9QQUdFX1RZUEVfV0FUQ0giOnJldHVybiBfLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmwmJlJNKF8uQihiLmNvbW1hbmRNZXRhZGF0YSxfLnp3KS51cmwpLnN0YXJ0c1dpdGgoIi9jbGlwIik/ImNsaXAiOiJ3YXRjaCI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9CUk9XU0UiOnJldHVybihiPV8uQihiLF8uY0UpPy5icm93c2VJZCk/SmdhW2JdfHwiYnJvd3NlIjoiYnJvd3NlIjtkZWZhdWx0OmM9ITB9aWYoXy5CKGIsXy5FZWEpfHxfLkIoYixfLkRlYSkpcmV0dXJuInNwb25zb3JzaGlwIjt2YXIgZD1STSh3aW5kb3cubG9jYXRpb24uaHJlZik7aWYoZC5zdGFydHNXaXRoKCIvZXhwZXJpbWVudHMiKSlyZXR1cm4iZXhwZXJpbWVudHMiO2lmKGQuc3RhcnRzV2l0aCgiL2NyZWF0ZV9jaGFubmVsIikpcmV0dXJuImNyZWF0ZV9jaGFubmVsIjtpZihfLkIoYixfLlZEKSYmZC5zdGFydHNXaXRoKCIvc2hvcnRzIikpcmV0dXJuInNob3J0cyI7aWYoXy5CKGIsXy5WRCkmJgpkLnN0YXJ0c1dpdGgoIi93YXRjaCIpKXJldHVybiJ3YXRjaCI7YyYmKGI9bmV3IF8uWGooIlVuc3VwcG9ydGVkIG1XZWIgcGFnZSB0eXBlIix7cGF0aG5hbWU6ZCx3ZWJQYWdlVHlwZTphfSksXy5HcChiKSk7cmV0dXJuImJyb3dzZSJ9O18uVU09ZnVuY3Rpb24oYSl7YT8uaHJlZj9hPShhPWEuaHJlZik/U00oUk0oYT9hOndpbmRvdy5sb2NhdGlvbi5ocmVmKSk6VE0oKTphPWE/LnBhZ2VUeXBlO3JldHVybiBhfHxUTSgpfTtfLlZNPWZ1bmN0aW9uKGEpe3JldHVybiBfLlVNKGEpPT09IndhdGNoIn07Xy5XTT1mdW5jdGlvbigpe3JldHVybiBfLlVNKCk9PT0ic2hvcnRzIn07Xy5YTT1mdW5jdGlvbihhLGIpe3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChhLHtkZXRhaWw6Yn0pKX07Cl8uWk09ZnVuY3Rpb24oKXtfLllNJiZfLkhwKG5ldyBfLlhqKGBVbmV4cGVjdGVkIGNhbGwgdG8gcmVxdWVzdEJhY2tOYXZpZ2F0aW9uLCBmcmFnbWVudDogJHt3aW5kb3cubG9jYXRpb24uaGFzaH1gKSk7Xy5GSj1uZXcgXy5CZihhPT57ZnVuY3Rpb24gYigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsYik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGIpO2EoKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKX0pO18uTk0od2luZG93LCJwb3BzdGF0ZSIsKCk9PntzZXRUaW1lb3V0KCgpPT57fSl9KTtoaXN0b3J5LmJhY2soKTtyZXR1cm4gXy5GSn07Cl8uJE09ZnVuY3Rpb24oYSxiPSExKXtpZihfLllNKXt2YXIgYz13aW5kb3cubG9jYXRpb247YT1fLmRiKGAjJHthfWApO2EhPT12b2lkIDAmJmMucmVwbGFjZShhKX1lbHNlIHdpbmRvdy5sb2NhdGlvbi5oYXNoPWE7Ynx8Xy54KCJtd2ViX2VuYWJsZV9rZXRvX2NvbnRlbnQiKXx8Xy5YTSgidXBkYXRldWkiKX07Xy5hTj1mdW5jdGlvbihhKXtpZihhJiZhLnNpbXBsZVRleHQpcmV0dXJuIGEuc2ltcGxlVGV4dDt2YXIgYj0iIjtpZihhJiZhLnJ1bnMpZm9yKGxldCBjPTA7YzxhLnJ1bnMubGVuZ3RoO2MrKylhLnJ1bnNbY10udGV4dCYmKGIrPWEucnVuc1tjXS50ZXh0KTtyZXR1cm4gYn07Yk49ZnVuY3Rpb24oYSl7cmV0dXJuIF8ua0Eoe3R5cGU6IlNFVF9JU19CT1RUT01fU0hFRVRfT1BFTl9TVEFURSIscGF5bG9hZDphfSl9OwpLZ2E9ZnVuY3Rpb24oYSl7aWYoYSYmYS5mb2N1cylpZihhIT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudClhLmZvY3VzKCk7ZWxzZSByZXR1cm4gY04oYXN5bmMoKT0+e2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpO3JldHVybiBjTigoKT0+e2EuZm9jdXMoKX0pfSl9O18uZE49ZnVuY3Rpb24oYSl7dmFyIGI9NTtzZXRUaW1lb3V0KGFzeW5jKCk9Pntmb3IodmFyIGM9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWN8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1kb2N1bWVudC5ib2R5KSYmYj49MCYmYTspe2F3YWl0IEtnYShhKTtpZihkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09YSlicmVhazthPWEucGFyZW50RWxlbWVudDstLWJ9fSwxNSl9O2NOPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZShiPT57cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57YihhKCkpfSl9KX07CmVOPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhLmNoaWxkcmVuPT09ImZ1bmN0aW9uIilyZXR1cm4gYS5jaGlsZHJlbigpLG51bGw7Zm9yKGxldCBiIG9mIGEuY2hpbGRyZW4pYigpO3JldHVybiBudWxsfTtfLmZOPWZ1bmN0aW9uKGEsYil7Xy5SdSgoKT0+TGdhKGEsYikpfTtMZ2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1udWxsO18uZ3YrKzt0cnl7Yz0oMCxfLklDKShhLCgpPT57Xy5nTihiKX0pLF8uSUEoITEpfWNhdGNoKGQpe3Rocm93IF8uSUEoITApLGQ7fXJldHVybiBjPT09bnVsbD9hOmN9OwpfLmdOPWZ1bmN0aW9uKGEpe2lmKGEhPT12b2lkIDAmJmEhPT1udWxsKWlmKGEgaW5zdGFuY2VvZiBfLmRDKWZvcih2YXIgYj1fLlVBO18uVkEoKSE9bnVsbCYmXy5uQyBpbiBfLlZBKCkmJmIuY29udGFpbnMoXy5WQSgpKTspQ00oKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoYSkpZm9yKHZhciBjIG9mIGEpXy5nTihjKTtlbHNlIGlmKGEgaW5zdGFuY2VvZiBfLlNhKUlNKGEudG9TdHJpbmcoKSk7ZWxzZSBpZihfLmlCKGEpKXtpZihfLlZBKCkhPT1hKXRocm93IEVycm9yKCJEYmAiK2EudGFnTmFtZSsiYCIrKF8uTXU/Lm5hbWU/PyJ1bmtub3duIikpO0NNKCl9ZWxzZSBpZihjPWEsYyE9bnVsbCYmYy5HaT09PV8ubUJ8fGMgaW5zdGFuY2VvZiBfLmZifHxfLkxBKCkoYykpe2I9Xy5wQihhKTtiPUFycmF5LmZyb20oYi5jaGlsZE5vZGVzKTtmb3IodmFyIGQgb2YgYilfLlVBLmFwcGVuZENoaWxkKGQpLENNKCl9ZWxzZSBpZihfLlhhKGEpJiYoYT1hLnRvU3RyaW5nKCkpLGQ9dHlwZW9mIGEsCmQ9PT0iYm9vbGVhbiJ8fGQ9PT0ibnVtYmVyInx8ZD09PSJzdHJpbmciKUlNKGEpO2Vsc2UgaWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKWI9Xy5VQSwoZD1fLlZBKCkpJiYoZC5faXNTaWduYWxUZXh0Tm9kZXx8ZC5faXNTYWZlT3JTYW5pdGl6ZWRIdG1sTm9kZSl8fEdnYShiLGQsYSksQ00oKTtlbHNlIGlmKGEudHlwZT09PUhnYSlfLmdOKGEudHlwZShPYmplY3QuYXNzaWduKHt9LGEucHJvcHMse2NoaWxkcmVuOmEuY2hpbGRyZW5bMF19KSkpO2Vsc2V7aWYodHlwZW9mIGEudHlwZT09PSJzdHJpbmciKXthOnthLmNkfHxFTShhLnR5cGUsYS5wcm9wcy5pZG9tS2V5KTtjPV8uVUE7Zm9yKGIgaW4gYS5wcm9wcylpZihhLnByb3BzW2JdIT09Xy5LYmEpe2Q9YS5wcm9wc1tiXTtsZXQgZT1fLmFCO2UucHVzaChiKTtlLnB1c2goZCl9RmdhKF8uS3UuYXR0cmlidXRlcyk7Xy5qQyhjLGEucHJvcHMsITApO2lmKChhLnByb3BzLnNraXB8fGEucHJvcHMuc2tpcGNoaWxkcmVuKSYmXy5VQS5oYXNDaGlsZE5vZGVzKCkpXy5ZQT0KXy5VQS5sYXN0Q2hpbGQ7ZWxzZXtpZihhLnR5cGU9PT0ic3R5bGUiJiZfLlJCKGEuY2hpbGRyZW4pPT09bnVsbCl7Xy5ZQT1fLlVBLmxhc3RDaGlsZDtiPXZvaWQgMDticmVhayBhfV8uZ04oYS5jaGlsZHJlbil9Xy5YQSgpO18uWUE9Xy5VQTtfLlVBPV8uVUEucGFyZW50Tm9kZTthLmNkJiYoYS5jZD0hMSk7Xy5BQihjLGEucHJvcHMpO2I9Y31yZXR1cm4gYn1pZihhLnR5cGU9PT1fLklCKV8uZ04oYS5jaGlsZHJlbik7ZWxzZSBpZighTWdhKGEpKXtiPWE7dHJ5e05nYShiKX1jYXRjaChlKXtfLkt1LmhhbmRsZUVycm9yPy4oLi4uXy5KQShlLGIudHlwZT8uWmMpKX1iLmNkJiYoXy5YQSgpLF8uWUE9Xy5VQSxfLlVBPV8uVUEucGFyZW50Tm9kZSxiLmNkPSExKX19fTtPZ2E9ZnVuY3Rpb24oYSxiKXt2YXIgYzthLnByb3RvdHlwZT8ub2M9PT12b2lkIDA/Yz1uZXcgXy5tQyhiLGEpOmM9bmV3IGEoYik7Yy5qPWE7Yy53bz17bmV4dFN0YXRlOmMuc3RhdGUsTXg6ITF9O3JldHVybiBjfTsKTmdhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudHlwZSxjPWIuWmM7aWYoYj09PWVOKWEucHJvcHMuY2hpbGRyZW49YS5jaGlsZHJlbixiKGEucHJvcHMpO2Vsc2V7YS5jaGlsZHJlbi5sZW5ndGg+MCYmKGEucHJvcHMuY2hpbGRyZW49YS5jaGlsZHJlbik7dmFyIGQ7KGQ9YS5wcm9wcykuaWRvbUtleXx8KGQuaWRvbUtleT1iKTt2YXIgZT0hMTtpZihjKXt2YXIgZj1FTShjLGEucHJvcHMuaWRvbUtleSk7YS5jZD0hMDt2YXIgaD1mLl9faW5zdGFuY2V9aHx8KGU9ITAsaD1PZ2EoYixhLnByb3BzKSxoLnByb3BzPW51bGwsZiYmKGYuX19pbnN0YW5jZT1oLGguZWw9ZikpOyh7bmV4dFN0YXRlOmN9PWgud28/P3tuZXh0U3RhdGU6aC5zdGF0ZSxNeDohMX0pO2gud289dm9pZCAwO2IubHcmJihjPWIubHcoYS5wcm9wcyxjKSk7dmFyIGs9aC5wcm9wcyxsPWguc3RhdGU7aC5wcm9wcz1hLnByb3BzO2guc3RhdGU9YztjPSgpPT57dmFyIG09aDtfLmJ3LlNvKG0pO3ZhciBuPW0ub2MobS5wcm9wcyk7Cm4/KG0ucHJvcHMuaWRvbUtleSYmKG4ucHJvcHMuaWRvbUtleT1tLnByb3BzLmlkb21LZXkpLG09bik6bT12b2lkIDA7aWYobj1tKW4uY2Q9YS5jZCxtPV8uZ04obiksYS5jZD1uLmNkLGIuWmN8fChtPyhiLlpjPW0udGFnTmFtZS50b0xvd2VyQ2FzZSgpLG0uX19pbnN0YW5jZT1oLGguZWw9bSk6aC5aZj8ubGVuZ3RoJiZfLkt1LmhhbmRsZUVycm9yPy4oLi4uXy5KQShFcnJvcigiQ2QiKSkpKTtlPyhoLkppKCksXy5idy5KaShoKSk6KGguS2koayxsKSxfLmJ3LktpKGgsayxhLnByb3BzKSk7aC5HZigpO18uYncuR2YoaCl9OyhkPWgubyk/Xy5HQShkLGMsaC5wcm9wcy5kZWJ1Z0luc3RhbmNlKTpjKCl9fTsKTWdhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudHlwZTtpZihiLnByb3RvdHlwZT8ub2MhPT12b2lkIDB8fGI9PT1lTnx8Yi5jb21wb25lbnRUeXBlPT09Xy5LdilyZXR1cm4hMTthLnByb3BzLmNoaWxkcmVuPWEuY2hpbGRyZW4ubGVuZ3RoPjE/YS5jaGlsZHJlbjphLmNoaWxkcmVuWzBdO3ZhciBjPWEucHJvcHMuaWRvbUtleT8/YS50eXBlO2lmKF8uVkEoKSYmXy5WQSgpW18uV0JdPy5rZXk9PT1jKXtiPV8uVkEoKTtjPWJbXy5XQl07aWYoIWMpdGhyb3cgRXJyb3IoIkNiYCIrYi50YWdOYW1lKTtjLnFCPy4oYS5wcm9wcyk7UGdhKGMpO3JldHVybiEwfWlmKFFnYS5oYXMoYi5uYW1lKSl0aHJvdyBFcnJvcigiQmJgIitiLm5hbWUrImAiKyhfLk11Py5uYW1lPz8idW5rbm93biIpKTthLnByb3BzLmpuPSEwOyhiPV8uR0EoYS50eXBlLCgpPT5fLmdDKGEudHlwZSxhLnByb3BzKSxhLnByb3BzLmRlYnVnSW5zdGFuY2UpKSYmUmdhKGIpO3JldHVybiEwfTsKaE49ZnVuY3Rpb24oYSl7Zm9yKGxldCBiPTA7YjxfLmJDKGEpLmxlbmd0aDtiKyspQ00oKX07UGdhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uVkEoKVtfLldCXT8ueW47aWYoYiloTihiKTtlbHNlIGZvcihsZXQgYz0wO2M8YS5VcTtjKyspKGI9Xy5WQSgpW18uV0JdPy55bik/aE4oYik6Q00oKX07UmdhPWZ1bmN0aW9uKGEpe2E9Xy5HQihhKTthPUFycmF5LmlzQXJyYXkoYSk/YTpbYV07Zm9yKGxldCBiIG9mIGEpXy5VQS5pbnNlcnRCZWZvcmUoYixfLlZBKCkpLENNKCl9O2lOPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9PnthJiZfLmRFKGEpO2ImJmIoYyl9fTtqTj1mdW5jdGlvbihhKXt2YXIgYj0yMTtpZighYSlyZXR1cm4gYjtiKz1hLmhlYWRlclRpdGxlPzI3OjA7Yis9YS5oZWFkZXJUaXRsZSYmYS5paD80OjA7cmV0dXJuIGIrPWEuaGVhZGVyVGl0bGUmJmEuaGVhZGVyU3VidGl0bGU/MTY6MH07CmtOPWZ1bmN0aW9uKGEpe3ZhciBiPTA7aWYoIWEpcmV0dXJuIGI7Yis9YS5VZnx8YS5WZj80ODowO2IrPWEuUGZ8fGEuTWY/MzA6MDtyZXR1cm4gYis9YS5VZnx8YS5WZnx8IWEuUGYmJiFhLk1mPzA6MTJ9OwpTZ2E9ZnVuY3Rpb24oYSx7a2V5OmIscGF5bG9hZDpjfSl7aWYoYj09PSJEcmFnIFN0YXJ0IilyZXR1cm57Li4uYSxDYzohMSxWZTpjLmNsaWVudFl9O2lmKGI9PT0iRHJhZyBNb3ZlIil7Yj1NYXRoLm1pbihjLlRwLGMuaHFbYy5IaV0rKGMuZnE/P2pOKGMuaGVhZGVyKSktKGMuTnA/P2tOKGMuZm9vdGVyKSkpO2xldCBkPU1hdGgubWF4KGMubXA/LTEqKGEuVmUtMjQpOjAsYy5jbGllbnRZLWEuVmUpO3JldHVybnsuLi5hLE9iOmQsRmM6TWF0aC5taW4oYixNYXRoLm1heCgwLChhLlBjP2I6Yy5xcCktZCkpfX1yZXR1cm4gYj09PSJTbmFwIFRvIEZ1bGwgU2NyZWVuIj97Li4uYSxDYzohMSxPYjowLFBjOiEwLEZjOmMubWF4SGVpZ2h0fTpiPT09IlNuYXAgVG8gTmV1dHJhbCBQb3NpdGlvbiI/ey4uLmEsQ2M6ITEsT2I6MCxQYzohMSxGYzpjLm1heEhlaWdodH06Yj09PSJDbG9zZSBTaGVldCI/ey4uLmEsQ2M6ITAsT2I6Yy5jbGllbnRIZWlnaHQsUGM6ITEsRmM6Yy5tYXhIZWlnaHR9OmF9OwpUZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8udGgsYz1hO3JldHVybntzdWJzY3JpYmUoZCl7Yi5zdWJzY3JpYmUoImNoYW5nZWQiLGQpfSxkaXNwYXRjaChkLGUpe2M9U2dhKGMse2tleTpkLHBheWxvYWQ6ZX0pO2IucHVibGlzaCgiY2hhbmdlZCIsYyl9fX07bE49ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PntiLnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBhPy4oYil9fTtVZ2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4ieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uRGVmYXVsdCI7Y2FzZSAxOnJldHVybiJ5dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25UcmFpbGluZ1BhaXIiO2Nhc2UgMjpyZXR1cm4ieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uU3BsaXRQYWlyIjtjYXNlIDM6cmV0dXJuInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvblByaW1hcnlTcGxpdFBhaXIifX07bU49ZnVuY3Rpb24oKXtfLnkoKS5yZXNvbHZlKF8uY0wpLkplKCl9OwpuTj1mdW5jdGlvbihhKXtyZXR1cm57aGVhZGVyVGl0bGU6YS5oZWFkZXJUaXRsZT8uKCksaGVhZGVyU3VidGl0bGU6YS5oZWFkZXJTdWJ0aXRsZT8uKCksV2Y6YS5XZixOZjphLk5mLE9mOmEuT2YsUmU6YS5SZT8uKCksTWY6YS5NZj8uKCksUGY6YS5QZj8uKCksSGE6YS5IYT8uKCkscGY6YS5wZj8uKCksR2s6YS5Haz8uKCksR2g6YS5HaCxmb2N1c09uQ2xvc2U6YS5mb2N1c09uQ2xvc2U/LigpLGlzRGlzYWJsZWQ6YS5pc0Rpc2FibGVkPy4oKSxkaXNhYmxlZENvbW1hbmQ6YS5kaXNhYmxlZENvbW1hbmQ/LigpLFVlOmEuVWUsR2I6YS5HYixTZTphLlNlLGpoOmEuamgoKSxYaTphLlhpKCksaGg6YS5oaCgpLFVmOmEuVWYoKSxWZjphLlZmKCksaWg6YS5paCgpfX07cE49ZnVuY3Rpb24oYSl7b058fChvTj1fLnhNKCkpO29OPy5zZXQoInJlY2VudC1jdXN0b20tc3BlZWQiLFN0cmluZyhhKjEwMCkpfTtWZ2E9ZnVuY3Rpb24oYSl7YT1hLnRhcmdldC52YWx1ZUFzTnVtYmVyO18uTUgoKT8uc2V0UGxheWJhY2tSYXRlKGEpfTsKV2dhPWZ1bmN0aW9uKGEpe3BOKGEudGFyZ2V0LnZhbHVlQXNOdW1iZXIpfTtYZ2E9ZnVuY3Rpb24oYSl7Xy5NSCgpPy5zZXRQbGF5YmFja1JhdGUoYSk7cE4oYSl9O3FOPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybnt9O3ZhciBiPWEuZm9yZWdyb3VuZFRpdGxlQ29sb3IsYz1hLmJhY2tncm91bmRDb2xvcjthPWEuYm9yZGVyQ29sb3I7dmFyIGQ9InRleHQiO2E/ZD0ib3V0bGluZSI6YyYmKGQ9ImZpbGxlZCIpO3JldHVybnt0eXBlOmQsY3VzdG9tQ29sb3JzOntjb2xvcjpiP18uTkQoYik6dm9pZCAwLGJhY2tncm91bmRDb2xvcjpjP18uTkQoYyk6dm9pZCAwLGJvcmRlckNvbG9yOmE/Xy5ORChhKTp2b2lkIDB9fX07CmFoYT1mdW5jdGlvbih7cmVuZGVyZXI6YSxJbTpiLHdBOmMsU2M6ZCxkdzplLFFmOmYsQmw6aCxpc1N1YnNjcmliZTprPSExLENKOmw9ITEsb0w6bT0hMX0pe3ZhciBuPVlnYShhKTtrJiYobi5zdHlsZT0ibW9ubyIsbi50eXBlPSJmaWxsZWQiKTtlPSFhLmljb258fCFlJiZhLnRleHQ/YS5pY29uP2EuaWNvblBvc2l0aW9uPT09IkJVVFRPTl9JQ09OX1BPU0lUSU9OX1RZUEVfUklHSFRfT0ZfVEVYVCI/InRyYWlsaW5nIjoibGVhZGluZyI6dm9pZCAwOmY/Imljb24tb25seSI6Imljb24tb25seS00MCI7ZT09PSJpY29uLW9ubHktNDAiJiYobi50eXBlPSJ0ZXh0Iik7bT17Li4uWmdhKGEsbSl9O2w9ISFhLmlzU2VsZWN0ZWR8fCFfLngoIndlYl9wcm9wYWdhdGVfaXNfcHJlc3NlZF9raWxsc3dpdGNoIikmJiEhbDtmPWEuaXNTZWxlY3RlZCE9PXZvaWQgMDtoPWg9PT12b2lkIDA/YS5pc0Rpc2FibGVkOmg7az1hLnRleHQ/Xy5BRihhLnRleHQpOnZvaWQgMDt2YXIgcD0ocD1hLmFjY2Vzc2liaWxpdHlEYXRhPy5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWx8fAphLmFjY2Vzc2liaWxpdHk/LmxhYmVsKT9wOl8uYU4oYS50ZXh0KTtiPSRnYShhLGIsYyk7Yz1yTihhKTtjPy5sZW5ndGg/KGM9Xy5iRSh7aW5uZXJ0dWJlQ29tbWFuZDpMTShjKSxxZDohMH0pLGM9Yz8uaHJlZj9jOnZvaWQgMCk6Yz12b2lkIDA7cmV0dXJuey4uLm4sLi4ubSxpY29uUG9zaXRpb246ZSwuLi5kLGZvY3VzZWQ6ITEsdG9nZ2xlZDpsLHRvZ2dsZWFibGU6ZixkaXNhYmxlZDpoLFdhOmssYWNjZXNzaWJpbGl0eUxhYmVsOnAsb25UYXA6Yix1YzpjLC4uLnFOKGEuY29sb3JEYXRhPy5iYXNpY0NvbG9yUGFsZXR0ZURhdGEpLG9uZU9mZkN1c3RvbVRleHRXcmFwOmEub25lT2ZmQ3VzdG9tVGV4dFdyYXB9fTskZ2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9ck4oYSk7YihlLGQpO2lmKCFjKWZvcihsZXQgZiBvZiBlKV8uZEsoZil9fTsKck49ZnVuY3Rpb24oYSl7dmFyIGI9W107YS5jb21tYW5kJiZiLnB1c2goYS5jb21tYW5kKTthLnNlcnZpY2VFbmRwb2ludCYmYi5wdXNoKGEuc2VydmljZUVuZHBvaW50KTthLm5hdmlnYXRpb25FbmRwb2ludCYmYi5wdXNoKGEubmF2aWdhdGlvbkVuZHBvaW50KTtyZXR1cm4gYn07WmdhPWZ1bmN0aW9uKGEsYil7aWYoYilzd2l0Y2goYS5zaXplKXtjYXNlICJTSVpFX1NNQUxMIjpyZXR1cm57c2l6ZToiUyJ9O2Nhc2UgIlNJWkVfTEFSR0UiOnJldHVybntzaXplOiJMIn07Y2FzZSAiU0laRV9YTEFSR0UiOnJldHVybntzaXplOiJYTCJ9O2Nhc2UgIlNJWkVfWFNNQUxMIjpyZXR1cm57c2l6ZToiWFMifTtkZWZhdWx0OnJldHVybntzaXplOiJNIn19c3dpdGNoKGEuc3R5bGUpe2Nhc2UgIlNUWUxFX0NPTVBBQ1RfR1JBWSI6cmV0dXJue3NpemU6IlMifTtkZWZhdWx0OnJldHVybntzaXplOiJNIn19fTsKWWdhPWZ1bmN0aW9uKGEpe3N3aXRjaChhLnN0eWxlKXtjYXNlICJTVFlMRV9WSVNJQkxZX0RJU0FCTEVEIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0ZXh0IixzdGF0ZToiZGlzYWJsZWQifTtjYXNlICJTVFlMRV9QUklNQVJZIjpjYXNlICJTVFlMRV9QQVlNRU5UIjpjYXNlICJTVFlMRV9DQUxMX1RPX0FDVElPTl9GSUxMRUQiOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24iLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0NBTExfVE9fQUNUSU9OX1RPTkFMIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX09VVExJTkUiOmNhc2UgIlNUWUxFX1NVR0dFU1RJVkUiOmNhc2UgIlNUWUxFX1NVR0dFU1RFRF9BQ1RJT04iOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24iLHR5cGU6Im91dGxpbmUiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9CTFVFX1RFWFQiOmNhc2UgIlNUWUxFX0FMRVJUX0lORk8iOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24iLAp0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9XSElURV9XSVRIX0JPUkRFUiI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfTElHSFRfVEVYVCI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfTU9OT19GSUxMRURfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9NT05PX1RPTkFMX09WRVJMQVkiOmNhc2UgIlNUWUxFX0RBUktfT05fQkxBQ0siOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9PVkVSTEFZX1BST1RFQ1RFRCI6cmV0dXJue3N0eWxlOiJvdmVybGF5LWRhcmsiLAp0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX01PTk9fRklMTEVEIjpjYXNlICJTVFlMRV9ERVNUUlVDVElWRSI6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9ERUZBVUxUIjpjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOmNhc2UgIlNUWUxFX01PTk9fVE9OQUwiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9JTkFDVElWRV9PVVRMSU5FIjpjYXNlICJTVFlMRV9NT05PX09VVExJTkUiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0JMVUVfVEVYVF9XSVRIX0lOVkVSU0VfVEhFTUUiOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24taW52ZXJzZSIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0JSQU5EX0dSQURJRU5UIjpyZXR1cm57c3R5bGU6ImJyYW5kLWdyYWRpZW50IiwKdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfR0VORVJBVElWRV9HUkFESUVOVCI6cmV0dXJue3N0eWxlOiJnZW4tYWktZ3JhZGllbnQiLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2RlZmF1bHQ6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn19fTsKZGhhPWZ1bmN0aW9uKHtyZW5kZXJlcjphLGVsZW1lbnQ6Yix0b2dnbGVkOmMsSW06ZCxSdTplLFNjOmYsZHc6aCxRZjprLEJsOmwsbkw6bSxhYjpufSl7dmFyIHA9YmhhKGEsYyk7aD0hYS5kZWZhdWx0SWNvbnx8IWgmJmEuZGVmYXVsdFRleHQ/YS5kZWZhdWx0SWNvbj8ibGVhZGluZyI6dm9pZCAwOms/Imljb24tb25seSI6Imljb24tb25seS00MCI7aD09PSJpY29uLW9ubHktNDAiJiYocC50eXBlPSJ0ZXh0Iik7YTpzd2l0Y2goYS5zdHlsZT8uc3R5bGVUeXBlKXtjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOms9e3NpemU6IlMifTticmVhayBhO2RlZmF1bHQ6az17c2l6ZToiTSJ9fWs9ey4uLmt9O3ZhciByPShyPWMmJmEudG9nZ2xlZFRleHR8fGEuZGVmYXVsdFRleHQpP18uQUYocik6dm9pZCAwO20/KG09Xy5hTihjJiZhLnRvZ2dsZWRUZXh0fHxhLmRlZmF1bHRUZXh0KSkmJm4mJiFpc05hTihOdW1iZXIobi5udW1iZXJWYWx1ZSkpPyhuLlhiPW0sYyYmKG4ubnVtYmVyVmFsdWUrPQoxKSk6bj12b2lkIDA6bj12b2lkIDA7bT0obT0oYz9hLnRvZ2dsZWRBY2Nlc3NpYmlsaXR5RGF0YXx8YS50b2dnbGVkVGV4dD8uYWNjZXNzaWJpbGl0eTphLmFjY2Vzc2liaWxpdHlEYXRhfHxhLmRlZmF1bHRUZXh0Py5hY2Nlc3NpYmlsaXR5KT8uYWNjZXNzaWJpbGl0eURhdGE/LmxhYmVsfHxhLmFjY2Vzc2liaWxpdHk/LmxhYmVsKT9tOl8uYU4oYyYmYS50b2dnbGVkVGV4dHx8YS5kZWZhdWx0VGV4dCk7bD1sPT09dm9pZCAwP2EuaXNEaXNhYmxlZDpsO2I9Y2hhKGEsYyxkLGIsZSk7ZD1zTihhLGMpO2Q/Lmxlbmd0aD8oZD1fLmJFKHtpbm5lcnR1YmVDb21tYW5kOkxNKGQpLHFkOiEwfSksZD1kPy5ocmVmP2Q6dm9pZCAwKTpkPXZvaWQgMDtyZXR1cm57Li4ucCwuLi5rLGljb25Qb3NpdGlvbjpoLC4uLmYsZm9jdXNlZDohMSx0b2dnbGVkOiEhYyx0b2dnbGVhYmxlOiEwLFdhOnIsYWI6bixhY2Nlc3NpYmlsaXR5TGFiZWw6bSxkaXNhYmxlZDpsLG9uVGFwOmIsdWM6ZCwuLi5xTihhLmNvbG9yRGF0YT8uYmFzaWNDb2xvclBhbGV0dGVEYXRhKX19OwpjaGE9ZnVuY3Rpb24oYSxiLGMsZCxlPXt9KXtyZXR1cm4gZj0+e3ZhciBoPWEubG9nZ2luZ0RpcmVjdGl2ZXM/LmNsaWVudFZlU3BlYz8udWlUeXBlP18udXgoYS5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMudWlUeXBlKTp2b2lkIDA7ZS5jbGlja2VkVmlzdWFsRWxlbWVudHx8KGUuY2xpY2tlZFZpc3VhbEVsZW1lbnQ9aCk7aD1zTihhLGIpO2MoaCxmKTtmb3IobGV0IG4gb2YgaCl7aD1uO3ZhciBrPWQsbD1mLG09ZTttLmZvcm0/bS5mb3JtLmV2ZW50PWw6bS5mb3JtPXtlbGVtZW50OmssZXZlbnQ6bH07Xy5kSyhoLG0pfX19OwpzTj1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2I/KGEudG9nZ2xlZENvbW1hbmQmJmMucHVzaChhLnRvZ2dsZWRDb21tYW5kKSxhLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQmJmMucHVzaChhLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQpKTooYS5kZWZhdWx0Q29tbWFuZCYmYy5wdXNoKGEuZGVmYXVsdENvbW1hbmQpLGEuZGVmYXVsdFNlcnZpY2VFbmRwb2ludCYmYy5wdXNoKGEuZGVmYXVsdFNlcnZpY2VFbmRwb2ludCksYS5kZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50JiZjLnB1c2goYS5kZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50KSk7cmV0dXJuIGN9OwpiaGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnRvZ2dsZWRTdHlsZXx8YS5zdHlsZTtzd2l0Y2goKGI/YzphLnN0eWxlKT8uc3R5bGVUeXBlKXtjYXNlICJTVFlMRV9WSVNJQkxZX0RJU0FCTEVEIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0ZXh0IixzdGF0ZToiZGlzYWJsZWQifTtjYXNlICJTVFlMRV9QUklNQVJZIjpjYXNlICJTVFlMRV9QQVlNRU5UIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9TVUdHRVNUSVZFIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfQkxVRV9URVhUIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfREVTVFJVQ1RJVkUiOmNhc2UgIlNUWUxFX01PTk9fRklMTEVEIjpyZXR1cm57c3R5bGU6Im1vbm8iLAp0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9PVkVSTEFZIjpyZXR1cm57c3R5bGU6Im92ZXJsYXkiLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0xJR0hUX1RFWFQiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX01PTk9fVE9OQUxfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0RFRkFVTFQiOmNhc2UgIlNUWUxFX0NPTVBBQ1RfR1JBWSI6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0lOQUNUSVZFX09VVExJTkUiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2RlZmF1bHQ6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn19fTsKXy50Tj1mdW5jdGlvbihhKXtyZXR1cm4gXy5LKF8uZ0cse3BhOigpPT5bYS5jb21wb25lbnQoKV19LGI9PmI/LigpKX07ZmhhPWZ1bmN0aW9uKGEsYixjKXtpZihjPT09bnVsbHx8Yz09PXZvaWQgMClyZXR1cm4gYzt2YXIgZD1fLmdCKGEudGFnTmFtZS50b0xvd2VyQ2FzZSgpLGIsKCk9Pnt0aHJvdyBFcnJvcigibWMiKTt9KTtpZihkPT09bnVsbClyZXR1cm4gYztkPWVoYVtkXTtpZihkLmhlPy4oYykpe2lmKGQuS2QpcmV0dXJuIGQuS2QoYyk7dGhyb3cgRXJyb3IoIkRkIik7fXJldHVybiBkLnBkP2QucGQoYS50YWdOYW1lLGIsU3RyaW5nKGMpKTpjfTtfLnVOPWZ1bmN0aW9uKGEpe3JldHVybiBhLmZvcmVncm91bmRUaXRsZUNvbG9yPT09IlRIRU1FX0FUVFJJQlVURV9URVhUX0RJU0FCTEVEInx8YS5mb3JlZ3JvdW5kSWNvbkNvbG9yPT09IlRIRU1FX0FUVFJJQlVURV9JQ09OX0RJU0FCTEVEIn07dk49ZnVuY3Rpb24oYSl7aWYoYSYmXy5LTShhKSlyZXR1cm4gYX07Clg9ZnVuY3Rpb24oYSxiKXsoYj1fLmFBKGEse30sYikpfHxfLldpKEVycm9yKCJFZGAiK2EpKTtyZXR1cm4gYn07Xy53Tj1mdW5jdGlvbihhKXtyZXR1cm57dXJsRW5kcG9pbnQ6e3VybDphfSxjb21tYW5kTWV0YWRhdGE6e3dlYkNvbW1hbmRNZXRhZGF0YTp7dXJsOmF9fX19O18ueE49ZnVuY3Rpb24oKXtyZXR1cm4gXy5vTSgpLmdldFN0YXRlKCkudGk/LmpqfTtfLnlOPWZ1bmN0aW9uKGEpe18ueSgpLnJlc29sdmUoXy5jTCkud2coe1FrOmF9KX07Xy56Tj1mdW5jdGlvbigpe18ueSgpLnJlc29sdmUoXy5jTCkuSmUoKX07Xy5CTj1mdW5jdGlvbihhLGIpe3ZhciBjPWE/LnBhcmVudEVsZW1lbnQ/LmNoaWxkcmVuO2lmKGMpZm9yKGxldCBkPTA7ZDxjLmxlbmd0aDtkKyspe2xldCBlPWNbZF07Y1tkXSE9PWEmJihiP2Uuc2V0QXR0cmlidXRlKCJpbmVydCIsInRydWUiKTplLnJlbW92ZUF0dHJpYnV0ZSgiaW5lcnQiKSxBTihlLGIpKX19OwpBTj1mdW5jdGlvbihhLGIpe2I/KGEuaGFzQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpJiZhLnNldEF0dHJpYnV0ZSgiZGF0YS1vbGQtYXJpYS1oaWRkZW4iLGEuZ2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpKSxhLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIikpOihhLmhhc0F0dHJpYnV0ZSgiZGF0YS1vbGQtYXJpYS1oaWRkZW4iKSYmKGEuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsYS5nZXRBdHRyaWJ1dGUoImRhdGEtb2xkLWFyaWEtaGlkZGVuIikpLGEucmVtb3ZlQXR0cmlidXRlKCJkYXRhLW9sZC1hcmlhLWhpZGRlbiIpKSxhLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSl9O0NOPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwbGF5ZXItY29udGFpbmVyLWlkIik7YiYmQU4oYixhKX07CmdoYT1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50O3JldHVybihhPWEuc2Nyb2xsaW5nRWxlbWVudD9hLnNjcm9sbGluZ0VsZW1lbnQ6Xy5jcnx8YS5jb21wYXRNb2RlIT0iQ1NTMUNvbXBhdCI/YS5ib2R5fHxhLmRvY3VtZW50RWxlbWVudDphLmRvY3VtZW50RWxlbWVudCkmJnR5cGVvZiBhLnNjcm9sbFRvcD09PSJudW1iZXIiP2Euc2Nyb2xsVG9wOnR5cGVvZiB3aW5kb3cucGFnZVlPZmZzZXQ9PT0ibnVtYmVyIj93aW5kb3cucGFnZVlPZmZzZXQ6MH07Cl8uSk49ZnVuY3Rpb24oYSxiPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsYz0hMSl7YSE9PV8uRE5bXy5ETi5sZW5ndGgtMV0mJl8uRE4ucHVzaChhKTtiIT09ZG9jdW1lbnQuYm9keT9FTi5zZXQoYSxiKTpFTi5oYXMoYSl8fEVOLnNldChhLG51bGwpO2M/Xy5PRSgoKT0+e2hoYShhLGEucXVlcnlTZWxlY3RvcigiZGlhbG9nIikpfSk6Xy5PRSgoKT0+e2E/LnF1ZXJ5U2VsZWN0b3IoImRpYWxvZyIpPy5mb2N1cygpfSk7Xy5ETi5sZW5ndGg+MXx8KEZOPWdoYSgpLF8uQk4oYSwhMCksR04mJkhOJiZjYW5jZWxBbmltYXRpb25GcmFtZShHTiksSU49cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Xy54TigpfHwoZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoIm1vZGFsLW9wZW4tYm9keSIsIiIpLGRvY3VtZW50LmJvZHkuc3R5bGUudG9wPWAtJHtGTn1weGAsd2luZG93LnNjcm9sbFRvKDAsLUZOKSxJTj1udWxsKX0pKX07CmloYT1mdW5jdGlvbihhKXtyZXR1cm4gQXJyYXkuZnJvbShhLnF1ZXJ5U2VsZWN0b3JBbGwoJ2EsaW5wdXQ6bm90KFtkaXNhYmxlZF0pLHNlbGVjdDpub3QoW2Rpc2FibGVkXSksYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpub3QoLm1vZGFsLWhpZGRlbi1idXR0b24pLFt0YWJpbmRleD0iMCJdJykpLmZpbHRlcihiPT57aWYoYi50ZXh0Q29udGVudClyZXR1cm4hMDtpZihiIGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCl7aWYoIWIubGFiZWxzKXJldHVybiExO2ZvcihsZXQgYyBvZiBiLmxhYmVscylpZihjLnRleHRDb250ZW50KXJldHVybiEwfXJldHVybiExfSl9OwpoaGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1paGEoYSksZD1jWzBdO2lmKCFkJiZiKWIuZm9jdXMoKTtlbHNle3ZhciBlPWNbYy5sZW5ndGgtMV07aWYoZCl7ZC5mb2N1cygpO2xldCBmPWg9PntoLmtleUNvZGU9PT0yNyYmKGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZiksXy5LTihhKSk7aC5rZXlDb2RlIT09MzgmJmgua2V5Q29kZSE9PTQwJiZoLmtleUNvZGUhPT05fHxqaGEoZCxlKX07YS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmKX19fTtqaGE9ZnVuY3Rpb24oYSxiKXtpZighTE4pe0xOPSEwO3ZhciBjPU1OKCk7YS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLGEpO2MuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsKCk9PntiLmZvY3VzKCl9KTtjPU1OKCk7Yi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLGIubmV4dFNpYmxpbmcpO2MuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsKCk9PnthLmZvY3VzKCl9KX19OwpNTj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTthLmNsYXNzTmFtZT0ibW9kYWwtaGlkZGVuLWJ1dHRvbiI7YS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKTthLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIik7cmV0dXJuIGF9OwpfLktOPWZ1bmN0aW9uKGEpe3ZhciBiPUVOLmdldChhKTtFTi5kZWxldGUoYSk7aWYoa2hhKXtpZihfLkJOKGEsITEpLF8uV00oKSYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcigieXRtLWVuZ2FnZW1lbnQtcGFuZWwiKSYmQ04oITApLF8ueGIoXy5ETixhKSxfLkROLmxlbmd0aCE9PTApe2ImJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e18uZE4oYil9KTtyZXR1cm59fWVsc2V7Xy54YihfLkROLGEpO2lmKF8uRE4ubGVuZ3RoIT09MCl7YiYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Xy5kTihiKX0pO3JldHVybn1fLkJOKGEsITEpO18uV00oKSYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcigieXRtLWVuZ2FnZW1lbnQtcGFuZWwiKSYmQ04oITApfUlOJiZITiYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoSU4pO0dOPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2RvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKCJtb2RhbC1vcGVuLWJvZHkiKTtkb2N1bWVudC5ib2R5LnN0eWxlLnRvcD0KIiI7YiYmXy5kTihiKTtfLmZyP18uT0UoKCk9Pnt3aW5kb3cuc2Nyb2xsVG8oMCxGTil9KTp3aW5kb3cuc2Nyb2xsVG8oMCxGTik7R049bnVsbH0pfTtsaGE9ZnVuY3Rpb24oYSxiLGM9Xy5OTil7aWYoYSl7dmFyIGQ9Xy55KCkucmVzb2x2ZShfLkx4KTtkP18uSngoYSx7ZGF0YTpiLG9ic2VydmVyOmQsTmI6YyxOYzpfLm5GLGViOl8ubUYsbGF5ZXI6YS5sYXllcn0pOl8uSXAobmV3IF8uWGooIldhcm5pbmc6IG1vbml0b3JWaXNpYmlsaXR5IGNhbGxlZCB3aXRoIG51bGwgb2JzZXJ2ZXIiLGEudGFnTmFtZSxiPy5sb2dnaW5nRGlyZWN0aXZlcyxiPy50cmFja2luZ1BhcmFtcykpfWVsc2UgXy5JcChuZXcgXy5YaigiV2FybmluZzogbW9uaXRvclZpc2liaWxpdHkgY2FsbGVkIHdpdGggbnVsbCBlbGVtZW50IixiPy5sb2dnaW5nRGlyZWN0aXZlcyxiPy50cmFja2luZ1BhcmFtcyxiPy5yZW5kZXJlckNvbnRleHQpKX07Cm1oYT1mdW5jdGlvbihhLGIpe2EmJl8uT0UoKCk9PntsaGEoYSxiLF8uTk4pfSl9O1FOPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09IlNIT1JUU19MSUtFIiYmXy54KCJlbmFibGVfc2hvcnRzX2hlYXJ0X2ljb25faW5fc2hvcnRzX3dhdGNoX3BhZ2UiKT8ic2hvcnRzX3RodW1ic191cCI6Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJmEmJk9OW2FdP09OW2FdOmEmJlBOW2FdP1BOW2FdOmF9O25oYT1mdW5jdGlvbigpe2lmKFJOKXt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oU04pKTtSTj0hMTthPy52KCl9fTtvaGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWJbYi5sZW5ndGgtMV0hPT0iJCI7Yz1maGEoYSxiLGMpO2Q/YVtiXT1jOihkPWM9PW51bGw/bnVsbDpTdHJpbmcoYyksXy5RQShhLGIuc2xpY2UoMCwtMSksZCkpfTsKVE49ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9YS5jb21wb25lbnQ7YiYmKGI/LmV2ZW50cz8ucHVibGlzaCgiRElTQ09OTkVDVEVEIiksYj8uZEs/LigpKTthLkxIPy5IZj8uKCk7Zm9yKGI9MDtiPGEuY2hpbGROb2Rlcy5sZW5ndGg7YisrKVROKGEuY2hpbGROb2Rlc1tiXSl9fTtfLlVOPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRkoudGhlbigoKT0+e3dpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNtZW51IiYmKF8uWU0/Xy4kTSgiIik6Xy5aTSgpKTtyZXR1cm4gXy5GSn0pfTsKcWhhPWZ1bmN0aW9uKGEpe3ZhciBiPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtpZihhLmlzRGlzYWJsZWQmJmEuZGlzYWJsZWRDb21tYW5kKV8uQUooYS5kaXNhYmxlZENvbW1hbmQsYSwhMSk7ZWxzZXtWTj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWVudSIpO1ZOfHwoVk49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksVk4uaWQ9Im1lbnUiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoVk4pKTt3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjbWVudSImJl8uJE0oIm1lbnUiKTtWTi5jbGFzc05hbWU9YS5pc0Z1bGxXaWR0aD8ibWVudS1jb250YWluZXIgbWVudS1mdWxsLXdpZHRoIjoibWVudS1jb250YWluZXIiO2EuY2xhc3NOYW1lJiYoVk4uY2xhc3NOYW1lKz0iICIrYS5jbGFzc05hbWUpOyJzY3JvbGxUbyJpbiBWTiYmVk4uc2Nyb2xsVG8oMCwwKTt2YXIgYz1hLkZBfHxfLm1HKCk7Xy5WeihiLF8udk0oYS5vd25lciYmIWEub3duZXIuaWE/CmEub3duZXI6bnVsbCkpO18ueCgibXdlYl9jM19tZW51X3NpZ25hbHNfcmVuZGVyIik/KHBoYShhKSxXTnx8KFdOPV8ueEYoVk4sKCk9Pl8uSyhfLklCLG51bGwsXy5LKFhOLHtEaDooKT0+WU4oKX0sXy5LKF8udE4se2NvbXBvbmVudDooKT0+e3ZhciBkPVlOKCk7aWYoZClyZXR1cm4oKT0+Xy5wRyhjfHx7fSwoKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+ZC5jb250ZW50fSkpfX0pKSxfLksoXy5aTix7bGFiZWw6Xy4kTi5DTE9TRSxvbmNsaWNrOl8uVU59KSkse0lrOl8uWEN9KSkpOihfLmZOKFZOLG51bGwpLF8uZk4oVk4sXy5LKF8uSUIsbnVsbCxfLksoWE4se0RoOmF9LGEuY29udGVudCgpKSxfLksoXy5aTix7bGFiZWw6Xy4kTi5DTE9TRSxvbmNsaWNrOl8uVU59KSkpKTthLnJuPT09dm9pZCAwJiYoYS5ybj0hMCk7Xy5KTihWTixhLmZvY3VzT25DbG9zZSxhLnJuKX19Y2F0Y2goZCl7Yi5lcnJvcj1kLGIuaGFzRXJyb3I9ITB9ZmluYWxseXtfLld6KGIpfX07CmFPPWZ1bmN0aW9uKCl7Vk4mJndpbmRvdy5sb2NhdGlvbi5oYXNoIT09IiNtZW51IiYmKF8uS04oVk4pLF8ueCgibXdlYl9jM19tZW51X3NpZ25hbHNfcmVuZGVyIik/KFdOPy4oKSxXTj12b2lkIDApOlROKFZOKSxWTi5pc0Nvbm5lY3RlZCYmZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChWTiksVk49bnVsbCl9O3JoYT0vJi9nO3NoYT0vPC9nO3RoYT0vPi9nO3VoYT0vIi9nO3ZoYT0vJy9nO3doYT0vXHgwMC9nO3hoYT0vW1x4MDAmPD4iJ10vO18ud009Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPW5ldyBfLnpoKGEpfXNldChhLGIsYyl7Yz1jIT09dm9pZCAwP0RhdGUubm93KCkrYzp2b2lkIDA7dGhpcy5qLnNldChhLGIsYyl9Z2V0KGEpe3JldHVybiB0aGlzLmouZ2V0KGEpfXJlbW92ZShhKXt0aGlzLmoucmVtb3ZlKGEpfX07RWdhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPW51bGw7dGhpcy5vPWE7dGhpcy5rZXk9Yjt0aGlzLnRleHQ9dm9pZCAwfX07Rk09W107CkhNPTA7Yk89eyIqIjp7YXN5bmM6MSxkaXI6MCxsb2FkaW5nOjIsdGFyZ2V0OjN9fTt5aGE9W3thdXRvOiEwLGx0cjohMCxydGw6ITB9LHthc3luYzohMH0se2VhZ2VyOiEwLGxhenk6ITB9LHtfc2VsZjohMCxfYmxhbms6ITB9XTtPTT1udWxsO1FNPXt9O0lnYT0iV0VCX1BBR0VfVFlQRV9BQ0NPVU5UUyBXRUJfUEFHRV9UWVBFX1dFTENPTUUgV0VCX1BBR0VfVFlQRV9BQ0NPVU5UX1NFTEVDVE9SIFdFQl9QQUdFX1RZUEVfU0lHTl9JTl9JREVOVElGSUVSX0VOVFJZIFdFQl9QQUdFX1RZUEVfU0lHTl9JTl9QQVNTV09SRF9FTlRSWSBXRUJfUEFHRV9UWVBFX1NJR05fSU5fREVWSUNFX1BST01QVF9DSEFMTEVOR0UgV0VCX1BBR0VfVFlQRV9QUkVNSVVNX0xJVEVfVVBTRUxMIFdFQl9QQUdFX1RZUEVfVU5LTk9XTiIuc3BsaXQoIiAiKTsKSmdhPXtGRXdoYXRfdG9fd2F0Y2g6ImhvbWUiLEZFaGFzaHRhZzoiaGFzaHRhZyIsRkV0cmVuZGluZzoidHJlbmRpbmciLEZFaGlzdG9yeToiaGlzdG9yeSIsU1B1bmxpbWl0ZWQ6InByZW1pdW0iLEZFbWVtYmVyc2hpcHNfYW5kX3B1cmNoYXNlczoicGFpZF9tZW1iZXJzaGlwcyIsU1ByZWRlZW1fY29kZToicmVkZWVtIixTUHZlcmlmeV9sb2NhdGlvbjoibG9jYXRlIixTUG1pbm9yX21vbWVudDoibWlub3JfbW9tZW50IixGRW1pbmlfYXBwX2NvbnRhaW5lcjoibWluaV9hcHAiLEZFbmV3c19kZXN0aW5hdGlvbjoibmV3cyIsU1BvcGVuX2luX2FwcDoib3Blbl9pbl9hcHAiLEZFZXhwbG9yZToiZXhwbG9yZSIsRkVzdWJzY3JpcHRpb25zOiJzdWJzY3JpcHRpb25zIixGRXNmdl9hdWRpb19waXZvdDoic2Z2X2F1ZGlvX3Bpdm90IixGRXBsYXlsaXN0X2FnZ3JlZ2F0aW9uOiJwbGF5bGlzdF9hZ2dyZWdhdGlvbiJ9O18uWU09ITE7emhhPXthRDoieW91dHViZV9maWxsIixSRjoieW91dHViZV9vdXRsaW5lIn07CkFoYT17akY6IkxJS0UiLEVGOiJOT1RJRklDQVRJT05fQkVMTCJ9O18uS0I9Xy5sQzt2YXIgUWdhPW5ldyBTZXQoWyJGb3IiLCJJZiIsIk1hdGNoIiwiV2F0Y2giXSksY089e1tfLlJBLmRlZmF1bHRdOigpPT5fLnpCLHN0eWxlOigpPT5fLnpCfTtmb3IobGV0IGEgaW4gY08pXy5LdS5hdHRyaWJ1dGVzW2FdPWNPW2FdKF8uS3UuYXR0cmlidXRlc1thXSk7Xy5CaGE9bmV3IF8uSSgic2lnbkluRW5kcG9pbnQiKTtfLmRPPW5ldyBfLkkoImxpa2VFbmRwb2ludCIpO3ZhciBDaGE9bmV3IF8uSSgiaG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbCIpO3ZhciBEaGE9bmV3IF8uVnMoIlZJREVPX05PVElDRVNfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBFaGE9Xy5MKGE9PntmdW5jdGlvbiBiKGspe3ZhciBsPWgoKS1hLnN0ZXBTaXplKCk7ZC52YWx1ZS52YWx1ZUFzTnVtYmVyPWw7ZC52YWx1ZS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW5wdXQiKSk7ZC52YWx1ZS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiY2hhbmdlIikpO2suc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gYyhrKXt2YXIgbD1oKCkrYS5zdGVwU2l6ZSgpO2QudmFsdWUudmFsdWVBc051bWJlcj1sO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImlucHV0IikpO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNoYW5nZSIpKTtrLnN0b3BQcm9wYWdhdGlvbigpfXZhciBkPV8udUUoImlucHV0IiksW2UsZl09Xy5BQygoKT0+YS52YWx1ZSgpPz8wKSxoPWU7Xy5uRSgoKT0+e3ZhciBrPWQudmFsdWU7ay52YWx1ZUFzTnVtYmVyPWgoKTt2YXIgbD1oKCksbT1hLm1pblZhbHVlKCksbj1hLlJsKCk7ay5zdHlsZS5zZXRQcm9wZXJ0eSgiLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCIsCmAkeyhsLW0pL24qMTAwfSVgKX0sImpUNUNDZiIpO3JldHVybiBfLksoInNsaWRlci1zaGFwZSIse2NsYXNzOl8uUCgieXRTbGlkZXJTaGFwZUhvc3QiLHt5dFNsaWRlclNoYXBlVmVydGljYWw6KCk9PmEuaXNWZXJ0aWNhbCgpfSl9LF8uSyhfLk8se0E6YS5Vaix0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbiIsImFyaWEtbGFiZWwiOmEuamwsZGlzYWJsZWQ6KCk9PmgoKT09PWEubWluVmFsdWUoKSwib246Y2xpY2siOmJ9LF8uSyhfLlVDLHttb2RlbDp7Y2lyY3VsYXI6ITB9fSksXy5LKCJkaXYiLHtjbGFzczoieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uV3JhcHBlciJ9LF8uSyhfLk1ELHtpY29uOiJCQVJfSE9SSVpPTlRBTCIsY2xhc3NOYW1lOiJ5dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbkljb24ifSkpKX0pLF8uSygiaW5wdXQiLHtjbGFzczooKT0+YS5pc1ZlcnRpY2FsKCk/Inl0U2xpZGVyU2hhcGVWZXJ0aWNhbFNsaWRlciI6CiJ5dFNsaWRlclNoYXBlSG9zdFNsaWRlciIsdHlwZToicmFuZ2UiLGlkOiJzbGlkZXIiLGVsOmQsbWluOmEubWluVmFsdWUsbWF4OmEubWF4VmFsdWUsImFyaWEtbGFiZWwiOmEuYXJpYUxhYmVsLCJhcmlhLXZhbHVlbWluIjphLm1pblZhbHVlLCJhcmlhLXZhbHVlbWF4IjphLm1heFZhbHVlLCJhcmlhLXZhbHVlbm93IjpoLCJhcmlhLXZhbHVldGV4dCI6KCk9PlN0cmluZyhoKCkpLHZhbHVlOmgsc3RlcDphLnN0ZXBTaXplLCJvbjppbnB1dCI6ZnVuY3Rpb24oayl7YS5SYz8uKGspO2YoTnVtYmVyKGQudmFsdWU/LnZhbHVlPz8wKSk7ay5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOmNoYW5nZSI6ZnVuY3Rpb24oayl7YS5vbkNoYW5nZT8uKGspO2suc3RvcFByb3BhZ2F0aW9uKCl9fSksXy5LKF8uTyx7QTphLlVqLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uIiwiYXJpYS1sYWJlbCI6YS5QbCxkaXNhYmxlZDooKT0+aCgpPT09CmEubWF4VmFsdWUoKSwib246Y2xpY2siOmN9LF8uSyhfLlVDLHttb2RlbDp7Y2lyY3VsYXI6ITB9fSksXy5LKCJkaXYiLHtjbGFzczoieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uV3JhcHBlciJ9LF8uSyhfLk1ELHtpY29uOiJBREQiLGNsYXNzTmFtZToieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uIn0pKSl9KSl9LCJPYSIpO3ZhciBGaGE9Xy5MKGE9Pnt2YXIgYj0oKT0+e3ZhciBjO2lmKChjPWEuZGF0YSgpKSYmYy5tYXhWYWx1ZSYmYy5taW5WYWx1ZSYmYy5zdGVwQ291bnQpe3ZhciBkPWMudmFsdWVEZW5vbWluYXRvcj8/MSxlPShjLm1heFZhbHVlLWMubWluVmFsdWUpL2Q7Yz17dmFsdWU6KGMuaW5pdGlhbFZhbHVlPz9jLm1pblZhbHVlKS9kLGFyaWFMYWJlbDpfLkIoYy5yZW5kZXJlckNvbnRleHQsXy5ZQyk/LmxhYmVsPz8iIixtaW5WYWx1ZTpjLm1pblZhbHVlL2QsbWF4VmFsdWU6Yy5tYXhWYWx1ZS9kLFJsOmUsc3RlcFNpemU6ZS9jLnN0ZXBDb3VudCxvbkNoYW5nZTppTihjLm9uU2xpZGVyVmFsdWVTZXRDb21tYW5kLGEuWXkpLFJjOmlOKGMub25TbGlkZXJUb3VjaENvbW1hbmQsYS5meiksUGw6Xy5CKGMuaW5jcmVhc2VCdXR0b24sXy5LSik/LmFjY2Vzc2liaWxpdHlUZXh0Pz8iIixqbDpfLkIoYy5kZWNyZWFzZUJ1dHRvbixfLktKKT8uYWNjZXNzaWJpbGl0eVRleHQ/PyIiLGlzVmVydGljYWw6ITEsClVqOiEhXy5CKGMuaW5jcmVhc2VCdXR0b24sXy5LSikmJiEhXy5CKGMuZGVjcmVhc2VCdXR0b24sXy5LSil9fWVsc2UgYz17fTtyZXR1cm4gY307cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0SG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbEhvc3QifSxfLksoRWhhLHt2YWx1ZTooKT0+YigpLnZhbHVlLGFyaWFMYWJlbDooKT0+YigpLmFyaWFMYWJlbCxtaW5WYWx1ZTooKT0+YigpLm1pblZhbHVlLG1heFZhbHVlOigpPT5iKCkubWF4VmFsdWUsc3RlcFNpemU6KCk9PmIoKS5zdGVwU2l6ZSxSbDooKT0+YigpLlJsLFBsOigpPT5iKCkuUGwsamw6KCk9PmIoKS5qbCxpc1ZlcnRpY2FsOigpPT5iKCkuaXNWZXJ0aWNhbCxvbkNoYW5nZTpjPT57YigpLm9uQ2hhbmdlKGMpfSxSYzpjPT57YigpLlJjKGMpfSxVajooKT0+YigpLlVqfSkpfSwiUGEiKTt2YXIgZU89Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZVdyYXBwZXIifSxfLksoXy5PLHtBOigpPT5hKCkudGl0bGUsdGhlbjpiPT5fLksoImgyIix7Y2xhc3M6Xy5QKCJ5dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVIZWFkZXIiLHt5dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVIZWFkZXJOb25JbnRlcmFjdGl2ZTohXy54KCJ3ZWJfcGFuZWxfaGVhZGVyX3RpdGxlX25vbl9pbnRlcmFjdGl2ZV9raWxsc3dpdGNoIil9KX0sXy5LKF8uVix7dGV4dDpiLGNsYXNzTmFtZToieXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlIn0pKX0pLF8uSyhfLk8se0E6KCk9PmEoKS5zdWJ0aXRsZSx0aGVuOmI9Pl8uSyhfLlYse3RleHQ6YixjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZSJ9KX0pKSwiUWEiKSxmTz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8uVEgoKCk9PmEoKS5yZW5kZXJlckNvbnRleHQpO3JldHVybiBfLksoInl0LXBhbmVsLWhlYWRlci12aWV3LW1vZGVsIiwKe2NsYXNzOl8uUCgieXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3QiLHt5dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdEhpZGVEaXZpZGVyOigpPT4hIWEoKS5zaG91bGRIaWRlRGl2aWRlcix5dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdENvbXBhY3Q6KCk9PiEhYSgpLnN1YnRpdGxlfSksImFyaWEtbGFiZWwiOigpPT5iKCk/LmxhYmVsfSxfLksoXy5PLHtBOigpPT5fLnRIKGEoKS5yZW5kZXJlckNvbnRleHQpLHRoZW46KCk9Pl8uSyhfLk1KLHtjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvciIsY29tbWFuZDooKT0+Xy5zSChhKCkucmVuZGVyZXJDb250ZXh0KSxadjoieXRQYW5lbEhlYWRlclZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yRm9jdXNlZCJ9LF8uSyhlTyx7ZGF0YTphfSkpLFc6KCk9Pl8uSyhlTyx7ZGF0YTphfSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsVHJhaWxpbmdCdXR0b25zIn0sXy5LKF8uVyx7ZGF0YTooKT0+CmEoKS50cmFpbGluZ0J1dHRvbnN9LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOmN9KT0+Xy5LKF8uSEQse2RhdGE6YyxjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b24ifSl9KSkpfSwiUmEiKTtmTy5pZG9tQ29tcGF0PSEwO3ZhciBnTz1fLkwoYT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SG9zdCIsInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Q29udGFpbmVyIiwieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4iKSxzdHlsZTooKT0+YS5DYygpP2B0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHthLk9iKCl9cHgpO3RyYW5zaXRpb246IDAuMnNgOiIifSxhLmhlYWRlcj8uKCksXy5LKCJkaXYiLHtpZDphLkhpLGNsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dENvbnRlbnRXcmFwcGVyIixzdHlsZTpfLklFKHsibWF4LWhlaWdodCI6KDAsXy5aSykoYS5GYyl9KSwib246c2Nyb2xsIjpsTihhLmpyKSwib246dG91Y2htb3ZlIjpsTigpfSxfLksoImRpdiIse2VsOl8uckYoYS5ucCksY2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Qm90dG9tU2hlZXRDb250ZW50Iiwib246Y2xpY2siOmZ1bmN0aW9uKGIpe2EucGY/LigpP2Iuc3RvcFByb3BhZ2F0aW9uKCk6YS5ZcShiKX19LAphLmJvZHk/LigpKSksYS5mb290ZXI/LigpKSwiU2EiKTtnTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2pyOiEwLG5wOiEwLFlxOiEwfX07dmFyIGhPPV8uTChhPT57dmFyIHtsZWFkaW5nTGFiZWw6Yix0cmFpbGluZ0xhYmVsOmMsUmU6ZCxwcmltYXJ5QnV0dG9uOmUsSXc6ZixzZWNvbmRhcnlCdXR0b246aCxLdzprLE9wOmwsQ3c6bX09Xy5EQyhhLHtsZWFkaW5nTGFiZWw6dm9pZCAwLHRyYWlsaW5nTGFiZWw6dm9pZCAwLFJlOnZvaWQgMH0pLG49KCk9PmIoKXx8YygpfHxmKCl8fGsoKTtyZXR1cm4gXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsbD8uKCkpLFc6KCk9Pl8uSyhfLk8se0E6bix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlcldyYXBwZXIifSxfLksoXy5PLHtBOigpPT5iKCl8fGMoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXIiLHt5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckxhYmVsV3JhcHBlcldpdGhvdXRCdXR0b25zOigpPT4hZigpfSl9LF8uSyhfLk8sCntBOmIsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRMZWFkaW5nTGFiZWwifSxiKX0pLF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dFRyYWlsaW5nTGFiZWwifSxjKX0pKX0pLF8uSyhfLk8se0E6KCk9PmYoKXx8aygpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXIiLHt5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXJMYW5kc2NhcGVCdXR0b25XcmFwcGVyOl8uQmNhfSl9LF8uSyhfLk8se0E6KCk9PmsoKSYmZCgpIT09MCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b24iLHt5dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblRyYWlsaW5nUGFpcjooKT0+ZCgpPT09MSYmaygpLAp5dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblNwbGl0UGFpcjooKT0+ZCgpPT09MiYmaygpLHl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uUHJpbWFyeVNwbGl0UGFpcjooKT0+ZCgpPT09MyYmZigpfSl9LGg/LigpKX0pLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uIiwoKT0+VWdhKGQoKSkpfSxlPy4oKSl9KSl9KSl9KX0pfSwiVGEiKTtoTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e3ByaW1hcnlCdXR0b246ITAsc2Vjb25kYXJ5QnV0dG9uOiEwLE9wOiEwfX07dmFyIGlPPV8uTChhPT57dmFyIHt0aXRsZTpiLHN1YnRpdGxlOmMsZ3E6ZCxEdzplLHhvOmYseHc6aCx3czprLHZzOmwsdXM6bSxRcTpuLE93OnAsaXNEcmFnZ2luZzpyfT1fLkRDKGEse3RpdGxlOnZvaWQgMCxzdWJ0aXRsZTp2b2lkIDB9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlciIse3l0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcklzRHJhZ2dpbmc6cn0pLGlkOnAsIm9uOnRvdWNoc3RhcnQiOmxOKGspLCJvbjp0b3VjaG1vdmUiOmxOKGwpLCJvbjp0b3VjaGVuZCI6bE4obSksIm9uOm1vdXNlZG93biI6bE4obil9LF8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0RHJhZ0xpbmUifSksXy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsZD8uKCkpLFc6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcjohMCwKeXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXaXRoVGl0bGU6Yn0pfSxfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxlV3JhcHBlciJ9LF8uSyhfLk8se0E6Yix0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSygiaDIiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZSJ9LGIpLF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoImgzIix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U3VidGl0bGUifSxjKX0pKX0pKSxfLksoXy5PLHtBOigpPT5iKCkmJmgoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dEFjdGlvbkhlYWRlciJ9LGY/LigpKX0pKX0pKX0sIlVhIik7aU8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOnt3czohMCx2czohMCx1czohMCxRcTohMCx4bzohMCxncTohMCxpc0RyYWdnaW5nOiEwfX07dmFyIGpPPV8uTChhPT57ZnVuY3Rpb24gYihhYSl7aWYoIVkmJnR5cGVvZiBNdXRhdGlvbk9ic2VydmVyIT09InVuZGVmaW5lZCIpe3ZhciBPYT17Y2hpbGRMaXN0OiEwfTsiTXV0YXRpb25PYnNlcnZlciJpbiB3aW5kb3cmJihZPW5ldyBNdXRhdGlvbk9ic2VydmVyKGMuYmluZCh2b2lkIDAsYWEpKSxZLm9ic2VydmUoYWEsT2EpKX19ZnVuY3Rpb24gYyhhYSl7dHlwZW9mIFkhPT0idW5kZWZpbmVkIiYmKHBhWyJjb250ZW50LXdyYXBwZXIiXT09PXZvaWQgMCYmKHBhWyJjb250ZW50LXdyYXBwZXIiXT1hYS5jaGlsZHJlblswXS5jbGllbnRIZWlnaHQpLEcocGFbImNvbnRlbnQtd3JhcHBlciJdKSwhKEMoKT5SKCkpJiZDKCk+MCYmTShDKCkpKX1mdW5jdGlvbiBkKCl7RSh3aW5kb3cuaW5uZXJIZWlnaHQpOyEoQygpPlIoKSkmJkMoKT4wJiZNKEMoKSk7b2EuUGNbMF0oKSYmQygpPlIoKT9VKCkuZGlzcGF0Y2goIlNuYXAgVG8gRnVsbCBTY3JlZW4iLHttYXhIZWlnaHQ6UygpfSk6VSgpLmRpc3BhdGNoKCJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iLAp7bWF4SGVpZ2h0OlIoKX0pfWZ1bmN0aW9uIGUoYWEpe2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSJub25lIjthYS5wcmV2ZW50RGVmYXVsdCgpO1UoKS5kaXNwYXRjaCgiRHJhZyBTdGFydCIse2NsaWVudFk6YWEudG91Y2hlc1swXS5jbGllbnRZfSl9ZnVuY3Rpb24gZihhYSl7YWEucHJldmVudERlZmF1bHQoKTtVKCkuZGlzcGF0Y2goIkRyYWcgTW92ZSIse2NsaWVudFk6YWEudG91Y2hlc1swXS5jbGllbnRZLG1wOkMoKT5SKCksVHA6UygpLHFwOlIoKSxocTpwYSxIaToiY29udGVudC13cmFwcGVyIixoZWFkZXI6bk4oYSksZm9vdGVyOm5OKGEpLGZxOnBhWyJib3R0b20tc2hlZXQtaGVhZGVyIl0sTnA6cGFbImJvdHRvbS1zaGVldC1mb290ZXIiXX0pfWZ1bmN0aW9uIGgoYWEpe2FhLmJ1dHRvbj09PTAmJihhYS5wcmV2ZW50RGVmYXVsdCgpLHRhKCEwKSxVKCkuZGlzcGF0Y2goIkRyYWcgU3RhcnQiLHtjbGllbnRZOmFhLmNsaWVudFl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwKVCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLGspKX1mdW5jdGlvbiBrKCl7dGEoITEpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLFQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixrKTttKCl9ZnVuY3Rpb24gbCgpe2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSIiO20oKX1mdW5jdGlvbiBtKCl7b2EuUGNbMF0oKT9vYS5PYlswXSgpPj02MD9VKCkuZGlzcGF0Y2goIlNuYXAgVG8gTmV1dHJhbCBQb3NpdGlvbiIse21heEhlaWdodDpSKCl9KTpVKCkuZGlzcGF0Y2goIlNuYXAgVG8gRnVsbCBTY3JlZW4iLHttYXhIZWlnaHQ6UygpfSk6b2EuT2JbMF0oKT49NjA/bigpOm9hLk9iWzBdKCk8PS02MCYmQygpPlIoKT9VKCkuZGlzcGF0Y2goIlNuYXAgVG8gRnVsbCBTY3JlZW4iLHttYXhIZWlnaHQ6UygpfSk6VSgpLmRpc3BhdGNoKCJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iLHttYXhIZWlnaHQ6UigpfSl9CmZ1bmN0aW9uIG4oKXtVKCkuZGlzcGF0Y2goIkNsb3NlIFNoZWV0Iix7Y2xpZW50SGVpZ2h0OnooKSxtYXhIZWlnaHQ6MH0pO3NldFRpbWVvdXQoKCk9PnttTigpfSwyNTApfXZhciBwPV8udUUoImRpdiIpLHI9Xy51RSgiZGl2IiksW3Qsdl09Xy5KKHdpbmRvdy5pbm5lckhlaWdodCx2b2lkIDAsIkNtT3NVIiksej10LEU9dixbQSxGXT1fLkooMCx2b2lkIDAsInAwRmxoYiIpLEM9QSxHPUYsW0QsSF09Xy5BQygoKT0+e3ZhciBhYT1uTihhKTtyZXR1cm4uNip6KCktak4oYWEpLWtOKGFhKX0pLFI9RCxNPUgsUz0oKT0+e3ZhciBhYT1uTihhKSxPYT16KCksSmI9cGFbImJvdHRvbS1zaGVldC1oZWFkZXIiXSx6YT1wYVsiYm90dG9tLXNoZWV0LWZvb3RlciJdO3JldHVybiBPYS0oYWEuamgmJkpiIT09dm9pZCAwP0piOmpOKGFhKSktKGFhLmhoJiZ6YSE9PXZvaWQgMD96YTprTihhYSkpLTI0LTI0fSxZPW51bGwscGE9e30sb2E9e1ZlOl8uSigwLHZvaWQgMCwic3hkRVNkIiksT2I6Xy5KKDAsCnZvaWQgMCwiR1p6cWViIiksQ2M6Xy5KKCExLHZvaWQgMCwidkpCdXBjIiksUGM6Xy5KKCExLHZvaWQgMCwiWHlSRHAiKSxGYzpfLkFDKFIpfSxVPSgoKT0+e3ZhciBhYT1udWxsO3JldHVybigpPT57aWYoIWFhKXtsZXQgT2E9e1ZlOm9hLlZlWzBdKCksT2I6b2EuT2JbMF0oKSxDYzpvYS5DY1swXSgpLFBjOm9hLlBjWzBdKCksRmM6b2EuRmNbMF0oKX07YWE9VGdhKE9hKX1yZXR1cm4gYWF9fSkoKTtfLlVKKCgpPT57d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsZCk7VSgpLnN1YnNjcmliZShhYT0+e29hLlZlWzFdKGFhLlZlKTtvYS5PYlsxXShhYS5PYik7b2EuQ2NbMV0oYWEuQ2MpO29hLlBjWzFdKGFhLlBjKTtvYS5GY1sxXShhYS5GYyl9KTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntwLnZhbHVlJiYocGFbImJvdHRvbS1zaGVldC1oZWFkZXIiXT1wLnZhbHVlLmNsaWVudEhlaWdodCk7ci52YWx1ZSYmKHBhWyJib3R0b20tc2hlZXQtZm9vdGVyIl09ci52YWx1ZS5jbGllbnRIZWlnaHQpfSl9KTsKXy5ZdSgoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLFQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixrKTtZJiYoWS5kaXNjb25uZWN0KCksWT1udWxsKX0pO3ZhciBbaGEsbWFdPV8uSighMSx2b2lkIDAsIktzaVRZZSIpLHRhPW1hLFQ9YWE9PntVKCkuZGlzcGF0Y2goIkRyYWcgTW92ZSIse2NsaWVudFk6YWEuY2xpZW50WSxtcDpDKCk+UigpLFRwOlMoKSxxcDpSKCksaHE6cGEsSGk6ImNvbnRlbnQtd3JhcHBlciIsaGVhZGVyOm5OKGEpLGZvb3RlcjpuTihhKSxmcTpwYVsiYm90dG9tLXNoZWV0LWhlYWRlciJdLE5wOnBhWyJib3R0b20tc2hlZXQtZm9vdGVyIl19KX0sYmE9Xy5QKHsiYm90dG9tLXNoZWV0LWNvbnRlbnQtd2l0aG91dC1pY29uIjooKT0+IWEuSGE/LigpfSk7cmV0dXJuIF8uSygiYm90dG9tLXNoZWV0LWxheW91dCIsbnVsbCxfLksoZ08se0hpOiJjb250ZW50LXdyYXBwZXIiLApDYzooKT0+b2EuQ2NbMF0oKSxPYjooKT0+b2EuT2JbMF0oKSxGYzooKT0+b2EuRmNbMF0oKSxIYTphLkhhLHBmOmEucGYsanI6KCk9Pnt2YXIgYWE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvdHRvbS1zaGVldC1oZWFkZXIiKSxPYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGVudC13cmFwcGVyIik7aWYoYWEmJk9hKXt2YXIgSmI9e3l0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcjohMCx5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXJCb3R0b21Cb3JkZXI6ITB9O2FhLmNsYXNzTmFtZT1PYS5zY3JvbGxUb3A+MT9fLmFMKEpiKToieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVyIn19LFlxOm1OLG5wOmFhPT57YihhYSk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57YyhhYSl9KX0saGVhZGVyOigpPT5fLksoImRpdiIse2VsOnB9LF8uSyhpTyx7aXNEcmFnZ2luZzpoYSx3czplLHZzOmYsdXM6bCxRcTpoLHRpdGxlOmEuaGVhZGVyVGl0bGUsCnN1YnRpdGxlOmEuaGVhZGVyU3VidGl0bGUsT3c6ImJvdHRvbS1zaGVldC1oZWFkZXIiLGdxOmEuVWUsRHc6YS5qaCx4bzphLldmLHh3OmEuaWh9KSksZm9vdGVyOigpPT5fLksoImRpdiIse2VsOnJ9LF8uSyhoTyx7UmU6YS5SZSxsZWFkaW5nTGFiZWw6YS5NZix0cmFpbGluZ0xhYmVsOmEuUGYscHJpbWFyeUJ1dHRvbjphLk5mLEl3OmEuVWYsc2Vjb25kYXJ5QnV0dG9uOmEuT2YsS3c6YS5WZixPcDphLlNlLEN3OmEuaGh9KSksYm9keTooKT0+Xy5LKF8uTyx7QTphLlhpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6YmF9LGEuR2I/LigpKX0pfSkpfSwiVmEiKTtqTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e1dmOiEwLFVlOiEwLEdiOiEwLFNlOiEwLE5mOiEwLE9mOiEwfX07Xy5MKGE9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uY0wpO3JldHVybiBfLksoInl0LWNvbnRleHR1YWwtc2hlZXQtbGF5b3V0Iix7Y2xhc3M6Xy5QKCJ5dENvbnRleHR1YWxTaGVldExheW91dEhvc3QiLHt5dENvbnRleHR1YWxTaGVldExheW91dEFkZFBhZGRpbmc6YS5ydSx5dENvbnRleHR1YWxTaGVldExheW91dEhvc3RPbGRNaW5XaWR0aDooKT0+ISFhLmhhc0hlYWRlcj8uKCl8fCEhYS5Cdz8uKCl8fF8ueCgiZW5hYmxlX2NvbnRleHR1YWxfc2hlZXRfb2xkX21pbl93aWR0aF9raWxsc3dpdGNoIil9KSxlbDpfLnJGKF8uZEwpLCJvbjpjbGljayI6KCk9PnthPy52Sz8uKCl8fGIuSmUoKX19LF8uSyhfLk8se0E6KCk9PiEhYS5oZWFkZXIsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIZWFkZXJDb250YWluZXIifSxhLmhlYWRlcigpKX0pLF8uSyhfLk8se0E6KCk9PiEhYS5jb250ZW50LHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lciJ9LAphLmNvbnRlbnQoKSl9KSxfLksoXy5PLHtBOigpPT4hIWEuZm9vdGVyLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Rm9vdGVyQ29udGFpbmVyIn0sYS5mb290ZXIoKSl9KSl9LCJXYSIpLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7aGVhZGVyOiEwLGNvbnRlbnQ6ITAsZm9vdGVyOiEwLGhhc0hlYWRlcjohMCxnSjohMCxCdzohMCxydTohMH19O3ZhciBHaGE9Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLG9uQ2xpY2s6Y30pPT5fLksoInl0dy12YXJpYWJsZS1zcGVlZC1jb250cm9sbGVyLXNwZWVkLWJ1dHRvbi12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclNwZWVkQnV0dG9uVmlld01vZGVsSG9zdCIsYil9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5wbGF5YmFja1NwZWVkQnV0dG9ufSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLkhELHtkYXRhOmQsb25DbGljazpjfSl9KSxfLksoXy5WLHtjbGFzc05hbWU6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxTcGVlZExhYmVsIix0ZXh0OigpPT5hKCkuYnV0dG9uTGFiZWx9KSksIlhhIik7dmFyIG9OOwpfLmtPPV8uTCgoe2RhdGE6YSxwejpiPVZnYSxvejpjPVdnYSxxejpkPVhnYX0pPT57dmFyIFtlLGZdPV8uSigxMDAsdm9pZCAwLCJkME5LeWIiKSxbaCxrXT1fLkooITEsdm9pZCAwLCJYWHZna2IiKSxsPW09PntmKG0udGFyZ2V0LnZhbHVlQXNOdW1iZXIpO2I/LihtKX07Xy5uRSgoKT0+e2lmKGEoKS5zbGlkZXIpe3ZhciBtPV8uQihhKCkuc2xpZGVyLENoYSk7bSYmKG0uaW5pdGlhbFZhbHVlJiZtLnZhbHVlRGVub21pbmF0b3I/ZihtLmluaXRpYWxWYWx1ZS9tLnZhbHVlRGVub21pbmF0b3IpOmYoMCkpfX0sIlJ2SERyZiIpO3JldHVybiBfLksoInZhcmlhYmxlLXNwZWVkLWNvbnRyb2xsZXItdmlldy1tb2RlbCIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEhvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFNwZWVkSW5kaWNhdG9yQ29udGFpbmVyIn0sXy5LKF8uTyx7QTooKT0+ZSgpPjIsdGhlbjooKT0+Cl8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUHJlbWl1bUJhZGdlIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJhZGdlfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOm19KT0+Xy5LKF8uRUQse2RhdGE6bX0pfSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxQbGF5YmFja1NwZWVkRGlzcGxheSIsImFyaWEtbGl2ZSI6InBvbGl0ZSIsImFyaWEtYXRvbWljIjoidHJ1ZSIsImFyaWEtYnVzeSI6aH0sKCk9Pl8uYUEoIlBMQVlCQUNLX1NQRUVEX1giLHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyOmAke2UoKS50b0ZpeGVkKDIpfWB9KSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsU2xpZGVyQ29udGFpbmVyIiwib246Zm9jdXNpbiI6ZnVuY3Rpb24obSl7bS50YXJnZXQudGFnTmFtZT09PSJJTlBVVCImJmsoITApfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKG0pe20udGFyZ2V0LnRhZ05hbWU9PT0KIklOUFVUIiYmayghMSl9fSxfLksoXy5XLHtkYXRhOigpPT5hKCkuc2xpZGVyfSx7aG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbDooe2RhdGE6bX0pPT5fLksoRmhhLHtkYXRhOigpPT4oey4uLm0oKSxpbml0aWFsVmFsdWU6ZSgpKjEwMH0pLGZ6OmwsWXk6Y30pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsQnV0dG9uQ29udGFpbmVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnBsYXliYWNrU3BlZWRCdXR0b25zfSx7dmFyaWFibGVTcGVlZENvbnRyb2xsZXJTcGVlZEJ1dHRvblZpZXdNb2RlbDooe2RhdGE6bX0pPT5fLksoR2hhLHtkYXRhOm0sY2xhc3NOYW1lOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWRCdXR0b24iLG9uQ2xpY2s6KCk9Pnt2YXIgbj1tKCk/LnBsYXliYWNrU3BlZWRCdXR0b25DZW50aVZhbHVlO24mJihmKG4vMTAwKSxkPy4obi8xMDApKX19KX0pKSl9LCJaYSIpO3ZhciBIaGE9bmV3IF8uVnMoIkNPTlRFTlRfRkVFREJBQ0tfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBsTz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5VRCksYz1fLnBIKHtOYjooZixoKT0+e18ueCgic2hlZXRfZm9jdXNfZmlyc3Rfa2lsbHN3aXRjaCIpfHwhZnx8Xy56SChhPy4oKT8ucmVuZGVyZXJDb250ZXh0KXx8TU0oaCl9LGViOntWYjohMSxzdGF0ZToidmlzaWJsZSJ9fSksZD1fLnkoKS5yZXNvbHZlKF8uSW4oSGhhKSksZT1fLnkoKS5yZXNvbHZlKF8uSW4oRGhhKSk7cmV0dXJuIF8uSygieXQtc2hlZXQtdmlldy1tb2RlbCIseyJvbjptb3VzZWRvd24iOmZ1bmN0aW9uKGYpe18ueCgic2hlZXRfZm9jdXNfZmlyc3Rfa2lsbHN3aXRjaCIpJiZmLmN1cnJlbnRUYXJnZXQhPT1mLnRhcmdldCYmZi5wcmV2ZW50RGVmYXVsdCgpfSwib246Zm9jdXMiOmZ1bmN0aW9uKGYpe18ueCgic2hlZXRfZm9jdXNfZmlyc3Rfa2lsbHN3aXRjaCIpJiZNTShmLmN1cnJlbnRUYXJnZXQpfSwib246bW91c2VsZWF2ZSI6ZnVuY3Rpb24oKXt2YXIgZj1fLnpIKGE/LigpPy5yZW5kZXJlckNvbnRleHQpOwpmJiZiLnJlc29sdmVDb21tYW5kKGYpfSxjbGFzczpfLlAoInl0U2hlZXRWaWV3TW9kZWxIb3N0Iix7eXRTaGVldFZpZXdNb2RlbENvbnRleHR1YWw6ITEseXRTaGVldFZpZXdNb2RlbERpc2FibGVCYWNrZHJvcEZpbHRlcjohMX0pLGVsOl8uckYoYyksdGFiaW5kZXg6LTF9LF8uSyhfLk8se0E6YSx0aGVuOmY9Pl8uSyhqTyx7VWU6KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmYoKS5oZWFkZXJ9LHtwYW5lbEhlYWRlclZpZXdNb2RlbDpmT30pLGpoOiEwLGloOiExLEdiOigpPT5fLksoXy5XLHtkYXRhOigpPT5mKCkuY29udGVudH0se2NoZWNrYm94R3JvdXBWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKF8udEQse2RhdGE6aCxXYjohMX0pLHJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKF8uRUwse2RhdGE6aCxXYjohMX0pLGxpc3RWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKF8uQkQse2RhdGE6aCxCYzohMH0pLHZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsOl8ua08sCmxpbmVhckxheW91dFZpZXdNb2RlbDpfLkdMLHVwc2VsbFZpZXdNb2RlbDpfLmhMLG1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbDpfLmpMLC4uLihlJiZ7dmlkZW9Ob3RpY2VzVmlld01vZGVsOmV9KSwuLi4oZCYme2NvbnRlbnRGZWVkYmFja1ZpZXdNb2RlbDooe2RhdGE6aH0pPT5fLksoZCx7ZGF0YTpoLGNsYXNzTmFtZToieXRTaGVldFZpZXdNb2RlbFBhZGRlZENvbnRlbnQifSl9KX0pLFhpOiEwLFNlOigpPT5fLksoXy5XLHtkYXRhOigpPT5mKCkuZm9vdGVyfSx7cGFuZWxGb290ZXJWaWV3TW9kZWw6Xy5zRH0pLGhoOiEwLFVmOiExLFZmOiExLEhhOiEwfSl9KSl9LCIkYSIpO2xPLmlkb21Db21wYXQ9ITA7Xy5tTz1uZXcgXy5WcygiSUNPTl9TRVRfVE9LRU4iKTtfLm5PPW5ldyBfLlZzKCJJQ09OX1VSTF9QUk9WSURFUl9UT0tFTiIpO18ub089bmV3IF8uVnMoIklDT05fTUFQX0ZOX1RPS0VOIik7dmFyIFNOPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9digpe3ZhciBhPShfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT9JaGE6SmhhKT8/dGhpcy5vO2lmKGE/Lmxlbmd0aCl7bGV0IGI9W107YT0obmV3IFNldChhKSkudmFsdWVzKCk7Zm9yKGxldCBjIG9mIGEpZm9yKGxldCBkIG9mIE9iamVjdC52YWx1ZXMoemhhKSliLnB1c2goe2ljb25OYW1lOmMsaWNvblN0eWxlOmR9KTt0aGlzLmoueWEoYil9ZWxzZSBQcm9taXNlLnJlc29sdmUoKX19O1NOW18uTG5dPVtfLlhMLF8uSW4obmV3IF8uVnMoIlBSRUZFVENIX0lDT05TX1RPS0VOIikpXTt2YXIgS2hhPS9eKD8hamF2YXNjcmlwdDopKD86W2EtejAtOSsuLV0rOnxbXiY6XC8/I10qKD86W1wvPyNdfCQpKS9pLGVoYT17WzFdOntwZDpudWxsLGhlOm51bGwsS2Q6bnVsbH0sWzJdOntwZDpmdW5jdGlvbihhLGIsYyl7YT1jO3hoYS50ZXN0KGEpJiYoYS5pbmRleE9mKCImIikhPS0xJiYoYT1hLnJlcGxhY2UocmhhLCImYW1wOyIpKSxhLmluZGV4T2YoIjwiKSE9LTEmJihhPWEucmVwbGFjZShzaGEsIiZsdDsiKSksYS5pbmRleE9mKCI+IikhPS0xJiYoYT1hLnJlcGxhY2UodGhhLCImZ3Q7IikpLGEuaW5kZXhPZignIicpIT0tMSYmKGE9YS5yZXBsYWNlKHVoYSwiJnF1b3Q7IikpLGEuaW5kZXhPZigiJyIpIT0tMSYmKGE9YS5yZXBsYWNlKHZoYSwiJiMzOTsiKSksYS5pbmRleE9mKCJceDAwIikhPS0xJiYoYT1hLnJlcGxhY2Uod2hhLCImIzA7IikpKTtyZXR1cm4gYX0saGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLmZifSxLZDphPT5fLnlBKGEpfSxbM106e3BkOmZ1bmN0aW9uKGEsCmIsYyl7cmV0dXJuIEtoYS50ZXN0KGMpP2M6Xy5GcS50b1N0cmluZygpfSxoZShhKXtyZXR1cm4gXy5YYShhKX0sS2Q6YT0+Xy5ZYShhKX0sWzRdOntwZDpmdW5jdGlvbigpe3JldHVybiBfLkZxLnRvU3RyaW5nKCl9LGhlKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5TYX0sS2Q6YT0+Xy5VYShhKS50b1N0cmluZygpfSxbNV06e3BkOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gY30saGUoYSl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyJ9LEtkOmE9PmEudG9TdHJpbmcoKX0sWzddOntwZDpmdW5jdGlvbigpe3JldHVybiIgLyp6Q2xvc3VyZXoqLyAifSxoZShhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uamJ9LEtkOmE9Pl8ubGIoYSl9LFs4XTp7cGQoYSxiLGMpe2M9U3RyaW5nKGMpLnRvTG93ZXJDYXNlKCk7YTp7bGV0IGQ9bnVsbDsoYT1iT1thXSkmJihkPWFbYl0pO2lmKHR5cGVvZiBkIT09Im51bWJlciImJigoYT1iT1siKiJdKSYmKGQ9YVtiXSksdHlwZW9mIGQhPT0ibnVtYmVyIikpe2I9CiExO2JyZWFrIGF9Yj0hMD09PXloYVtkXVtTdHJpbmcoYykudG9Mb3dlckNhc2UoKV19cmV0dXJuIGI/YzoiekNsb3N1cmV6In0saGU6bnVsbCxLZDpudWxsfSxbMTBdOntwZDpudWxsLGhlOm51bGwsS2Q6bnVsbH19O18ucE89Xy5MKCh7ZGF0YTphLHRnOmIsSGE6YyxpY29uOmQscHJvY2Vzc0FsbEVuZHBvaW50czplLHByZXZlbnREZWZhdWx0OmYsc3RvcFByb3BhZ2F0aW9uOmgsd0k6ayxjbGFzc05hbWU6bCxidXR0b25PdmVycmlkZXM6bSxRZjpuLGlzU3Vic2NyaWJlOnAsb2k6cixCbDp0fSk9Pnt2YXIgdj1fLm1HKCksej0oRixDKT0+e2Y/LigpJiZDLnByZXZlbnREZWZhdWx0KCk7aD8uKCkmJkMuc3RvcFByb3BhZ2F0aW9uKCk7aWYoIWs/LigpKXtGPWEoKTt2YXIgRz0hIWU/LigpO2lmKCFGLl9pc0J1c3kpe2ImJmIoKTt2YXIgRD0hRi5uYXZpZ2F0aW9uRW5kcG9pbnR8fCEhXy5CKEYubmF2aWdhdGlvbkVuZHBvaW50LF8uWXopfHwhIV8uQihGLm5hdmlnYXRpb25FbmRwb2ludCxfLlp6KTtHPyhGLnRyYWNraW5nUGFyYW1zJiZEJiZfLnpKKEYudHJhY2tpbmdQYXJhbXMpLEYuc2VydmljZUVuZHBvaW50JiZfLkFKKEYuc2VydmljZUVuZHBvaW50LEYsITEse2V2ZW50OkMsQmQ6dn0pLEYubmF2aWdhdGlvbkVuZHBvaW50JiYKXy5BSihGLm5hdmlnYXRpb25FbmRwb2ludCxGLCExLHtldmVudDpDLEJkOnZ9KSxGLmNvbW1hbmQmJl8uQUooRi5jb21tYW5kLEYsITEse2V2ZW50OkMsQmQ6dn0pKTooRz12TihGLnNlcnZpY2VFbmRwb2ludCl8fHZOKEYubmF2aWdhdGlvbkVuZHBvaW50KXx8dk4oRi5jb21tYW5kKSkmJl8uQUooRyxGLEQse2V2ZW50OkMsQmQ6dn0pfX19LEU9KCk9PntpZihjPy4oKSE9PSExKXJldHVybiBkPy4oKXx8YSgpLmljb24/Lmljb25UeXBlfSxBPV8uTigoKT0+KHsuLi5haGEoe3JlbmRlcmVyOmEoKSxJbTp6LHdBOiEwLFNjOm0/LigpLFZ5OiEwLFFmOm4/LigpLGlzU3Vic2NyaWJlOnA/LigpfHwhMSxCbDp0Py4oKX0pLG9pOnI/LigpfSksdm9pZCAwLCJQYzR0M2IiKTtyZXR1cm4gXy5LKCJ5dG0tYnV0dG9uLXJlbmRlcmVyIix7aGlkZGVuOigpPT4hYSgpLnRleHQmJiFfLkRKKGEoKS5hY2Nlc3NpYmlsaXR5RGF0YXx8YSgpLmFjY2Vzc2liaWxpdHkpLGNsYXNzOl8uUChsLCgpPT5FPy4oKT8KYGljb24tJHtFKCkudG9Mb3dlckNhc2UoKX1gOnZvaWQgMCx7ZGlzYWJsZWQ6KCk9PmEoKS50aGVtZWRCYXNpY0NvbG9yUGFsZXR0ZSYmXy51TihhKCkudGhlbWVkQmFzaWNDb2xvclBhbGV0dGUpfSl9LF8uSyhfLkpLLHtkYXRhOkEsaWNvbk5hbWU6RX0pKX0sImFiIik7Xy5wTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uQnV0dG9uQ2xpY2tDYWxsYmFjazohMH19O18ucU89Xy5MKCh7ZGF0YTphLFFmOmIsc3R5bGU6YyxidXR0b25PdmVycmlkZXM6ZCxjbGFzc05hbWU6ZSxzdG9wUHJvcGFnYXRpb246ZixSazpoLEhjOmssc3o6bH0pPT57dmFyIFttLG5dPV8uQUMoYSkscD0oKT0+e3ZhciB0PW0oKTt2YXIgdj1jPy4oKT8uYW5pbWF0ZUljb249PT0idHJ1ZSIsej10LnRvZ2dsZWRJY29uJiZ0LnRvZ2dsZWRJY29uLmljb25UeXBlLEU9dC5kZWZhdWx0SWNvbiYmdC5kZWZhdWx0SWNvbi5pY29uVHlwZTt0PXY/RXx8bnVsbDp0LmlzVG9nZ2xlZCYmenx8RXx8bnVsbDt2PW0oKTtyZXR1cm4oYz8uKCk/LmFuaW1hdGVJY29uPT09InRydWUiP3Q6dD09PSJMSUtFIiYmdi5pc1RvZ2dsZWQ/IkxJS0VfRklMTEVEIjp0PT09IkRJU0xJS0UiJiZ2LmlzVG9nZ2xlZD8iRElTTElLRV9GSUxMRUQiOnQpPz92b2lkIDB9LHI9KHQsdik9PntoP2godCx2KTooZj8uKCkmJnYuc3RvcFByb3BhZ2F0aW9uKCksdD0hbSgpLmlzVG9nZ2xlZCxuKHsuLi5tKCksaXNUb2dnbGVkOnR9KSwKbD8uKHQpKX07cmV0dXJuIF8uSygieXRtLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIiLHtjbGFzczplfSxfLksoXy5KSyx7ZGF0YTooKT0+e3ZhciB0PW0oKSx2PW0oKSx6PSEodi5pc1RvZ2dsZWQ/IXYudG9nZ2xlZFNlcnZpY2VFbmRwb2ludDohdi5kZWZhdWx0U2VydmljZUVuZHBvaW50KSxFPXY7di5kZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50JiYoRT17fSk7cmV0dXJuIGRoYSh7cmVuZGVyZXI6dCxJbTpyLFJ1Ol8uWUQoRSx7fSx6KSxTYzpkPy4oKSxWeTohMCx0b2dnbGVkOiEhbSgpLmlzVG9nZ2xlZCxRZjpiPy4oKX0pfSxpY29uOigpPT5fLksoXy5NRCx7aWNvbjpwLEdlOigpPT4hIWM/LigpPy5hbmltYXRlSWNvbixhY3RpdmU6KCk9Pm0oKS5pc1RvZ2dsZWQsSGM6a30pfSkpfSwiYmIiKTtfLnFPLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7Ums6ITAsc3o6ITB9fTtfLiROPXtLQjpYKCJBQ0NPVU5UX0xBQkVMIiksTUI6WCgiQUNUX09OX1RISVNfQ09NTUVOVCIpLE5COlgoIkFERF9UT19EUk9QRE9XTl9MQUJFTCIpLE9COlgoIkFEX0JBREdFX0hJTlQiKSxQQjpYKCJBRF9CQURHRV9URVhUIiksY0M6WCgiQUxMX0NIQU5ORUxTX0xBQkVMIiksZUM6WCgiQU1CSUVOVF9NT0RFIiksZkM6WCgiQU1CSUVOVF9NT0RFX09GRiIpLGdDOlgoIkFNQklFTlRfTU9ERV9PTiIpLGhDOlgoIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9CT0RZIiksaUM6WCgiQU5EUk9JRF9ERVBSRUNBVElPTl9NRVNTQUdFX0hFQURFUiIpLGtDOlgoIkFQUF9VUFNFTExfU1VCVElUTEUiKSxsQzpYKCJBUFBfVVBTRUxMX1RJVExFIiksTnM6WCgiQVVESU9fVFJBQ0siLCJBdWRpbyBUcmFjayIpLG5rOlgoIkFVVE9OQVZfVE9HR0xFIiksbUM6WCgiQVVUT1BMQVlfSU5fVEVOX1NFQ09ORFMiKSxuQzpYKCJBVVRPUExBWV9QQVVTRUQiKSxvQzpYKCJBVVRPUExBWV9QTEFZX05PVyIpLApPczpYKCJBVVRPUExBWV9VUF9ORVhUX0lOIiksUHM6WCgiQVVUT19aT09NIiwiQXV0byB6b29tIiksQkFDSzpYKCJCQUNLIikscUM6WCgiQlJBTkRFRF9TSUdOX0lOX0RJQUxPR19ERVNDUklQVElPTiIsIkFjY2VzcyBhbGwgZmVhdHVyZXMgYW5kIGdldCBhIHNlYW1sZXNzIGV4cGVyaWVuY2UiKSxDQU5DRUw6WCgiQ0FOQ0VMIiksdUM6WCgiQ0hBTk5FTF9TV0lUQ0hFUl9MQUJFTCIpLENMT1NFOlgoIkNMT1NFIiwiY2xvc2UiKSxSczpYKCJDTE9TRURfQ0FQVElPTlNfRElTQUJMRUQiKSxTczpYKCJDTE9TRURfQ0FQVElPTlNfT0ZGIiksVHM6WCgiQ0xPU0VEX0NBUFRJT05TX09OIiksVXM6WCgiQ0xPU0VEX0NBUFRJT05TX09OX0xBTkdVQUdFIikseEM6WCgiQ0xPU0VfU0VBUkNIX0xBQkVMIikseUM6WCgiQ0xPU0VfU0VUVElOR1NfTEFCRUwiKSx6QzpYKCJDT01NRU5UX01PREFMX0NPTlRFTlQiKSxXczpYKCJDT05GSVJNX09LIiksQUM6WCgiQ09OTkVDVF9UT19USEVfSU5URVJORVQiKSwKWHM6WCgiQ09QSUVEX1RPX0NMSVBCT0FSRCIpLFlzOlgoIkNPUFkiKSxUbjpYKCJDT1BZX0RFQlVHX0lORk8iKSxaczpYKCJDT1BZX0VNQkVEX0NPREUiKSxDQzpYKCJDT1BZX0xJTktfTEFCRUwiKSxidDpYKCJDT1BZX1ZJREVPX1VSTCIpLGZ0OlgoIkNPUFlfVklERU9fVVJMX0FUX0NVUlJFTlRfVElNRSIpLERDOlgoIkNSRUFURV9DSEFOTkVMX1RJVExFIiksSUM6WCgiREVMRVRFX0ZST01fRE9XTkxPQURTIiksWG46WCgiRElBTE9HIiksRE9ORTpYKCJET05FIiksTkM6WCgiRE9XTkxPQUQiKSxrdDpYKCJGQUlMRURfQ09QWV9FUlJPUl9NRVNTQUdFIiksYkQ6WCgiRkxBR19DT05GSVJNIiksY0Q6WCgiRkxBR19DT05URU5UIiksZEQ6WCgiRkxBR19MQUJFTCIpLGVEOlgoIkZMQUdfVElUTEUiKSxmRDpYKCJGVUxMU0NSRUVOX0dFTkVSSUNfRVJST1IiKSxWRTpYKCJHSUZUUyIsIkdpZnRzIiksV0U6WCgiR09PR0xFX0NPTVBBTlkiKSxtdDpYKCJISURFX1BMQVlFUl9DT05UUk9MUyIsCiJIaWRlIHBsYXllciBjb250cm9scyIpLFlFOlgoIkhJREVfUExBWUxJU1RfVklERU9TIiksWkU6WCgiSElERV9TRUFSQ0hfRklMVEVSU19MQUJFTCIpLEhPTUU6WCgiSE9NRSIsIkhvbWUiKSxkRjpYKCJJTlZBTElEX1JFU1BPTlNFX1JFQ0VJVkVEIiksZ0Y6WCgiTEVBVkVfQV9DT01NRU5UX1RJVExFIiwiTGVhdmUgYSBjb21tZW50PyIpLGhGOlgoIkxJQlJBUlkiLCJMaWJyYXJ5Iiksa0Y6WCgiTElTVEVOSU5HIiksTE9BRElORzpYKCJMT0FESU5HIiksbEY6WCgiTE9OR19QUkVTU19NSUNfVE9fU1BFQUsiLCJMb25nIHByZXNzIG1pY19pY29uX3BsYWNlaG9sZGVyIHRvIHNwZWFrIiksdXQ6WCgiTE9PUCIpLG9GOlgoIk1FTlVfREVTS1RPUCIpLHBGOlgoIk1FTlVfRVhJVCIpLHFGOlgoIk1FTlVfRkVFREJBQ0siKSxyRjpYKCJNRU5VX0hFTFAiKSxzRjpYKCJNRU5VX0lNUFJFU1NVTSIpLHZ0OlgoIk1FTlVfUExBWUVSX1NFVFRJTkdTIiksdEY6WCgiTUVOVV9TRVRUSU5HUyIpLHVGOlgoIk1FTlVfU0lHTl9JTiIpLAp2RjpYKCJNRU5VX1RJVExFIiksd0Y6WCgiTUVOVV9ZT1VSX0RBVEEiKSxBRjpYKCJNT1JFX0lORk8iKSx3dDpYKCJNT1JFX09QVElPTlMiKSxibzpYKCJNT1JFX1ZJREVPUyIsIk1vcmUgdmlkZW9zIikseHQ6WCgiTU9SRV9WSURFT1NfQ0xPU0VfQlVUVE9OX0FSSUFfTEFCRUwiLCJIaWRlIG1vcmUgdmlkZW9zIiksenQ6WCgiTU9SRV9WSURFT1NfRlJPTV9DSEFOTkVMIiwiTW9yZSB2aWRlb3MgZnJvbSAkY2hhbm5lbF9uYW1lX3BsYWNlaG9sZGVyIiksZW86WCgiTU9SRV9WSURFT1NfTkVYVF9CVVRUT05fQVJJQV9MQUJFTCIsIk5leHQgdmlkZW9zIiksZm86WCgiTU9SRV9WSURFT1NfUFJFVklPVVNfQlVUVE9OX0FSSUFfTEFCRUwiLCJQcmV2aW91cyB2aWRlb3MiKSxBdDpYKCJNVVRFX1ZPTFVNRSIpLENGOlgoIk5FV19QTEFZTElTVCIpLERGOlgoIk5FWFRfVklERU8iKSxDdDpYKCJOT1RJRklDQVRJT05fRVJST1JfTUVTU0FHRSIpLEZGOlgoIk5PVF9GT1VORF9DVEEiKSxHRjpYKCJOT1RfRk9VTkRfTUVTU0FHRSIpLApIRjpYKCJOT1RfRk9VTkRfVElUTEUiKSxJRjpYKCJOT19ET1dOTE9BRFMiKSxKRjpYKCJOT19NSUNfSU5QVVQiKSxLRjpYKCJPRkZMSU5FX0NIRUNLX0NPTk5FQ1RJT04iKSxEdDpYKCJPT1BTX01FU1NBR0UiKSxNRjpYKCJPUEVOX0FQUCIpLE5GOlgoIk9QRU5fWU9VVFVCRSIpLE9GOlgoIk9QRU5fWU9VVFVCRV9BUFAiLCJPcGVuIFlvdVR1YmUgYXBwIiksUEFVU0U6WCgiUEFVU0UiKSxVRjpYKCJQTEFZIiksRXQ6WCgiUExBWUVSX0NBUFRJT04iKSxGdDpYKCJQTEFZRVJfQ0FQVElPTl9PRkYiKSxWRjpYKCJQTEFZRVJfQ0FQVElPTl9PTiIpLEd0OlgoIlBMQVlFUl9ET1VCTEVfU1BFRURfVVNFUl9FRFUiKSxXRjpYKCJQTEFZRVJfRE9VQkxFX1RBUF9UT19TRUVLIiksWEY6WCgiUExBWUVSX0RPVUJMRV9UQVBfVE9fU0hPV19PUl9ISURFX1BMQVlFUl9DT05UUk9MUyIpLEh0OlgoIlBMQVlFUl9FWElUX0ZVTExTQ1JFRU4iKSxJdDpYKCJQTEFZRVJfRkFTVEZPUldBUkRfU0VDT05EUyIpLApKdDpYKCJQTEFZRVJfRlVMTFNDUkVFTiIpLGxvOlgoIlBMQVlFUl9MSVZFX0xBQkVMIiksWUY6WCgiUExBWUVSX0xJVkVfTk9XIiksWkY6WCgiUExBWUVSX01JTklNSVpFIiksS3Q6WCgiUExBWUVSX05FWFQiKSxMdDpYKCJQTEFZRVJfUEFVU0UiKSxQZzpYKCJQTEFZRVJfUExBWSIpLE10OlgoIlBMQVlFUl9QUkVWSU9VUyIpLGFHOlgoIlBMQVlFUl9QUk9HUkVTU19CQVIiKSxOdDpYKCJQTEFZRVJfUVVBTElUWSIpLE90OlgoIlBMQVlFUl9RVUFMSVRZX0FVVE8iKSxQdDpYKCJQTEFZRVJfUkVQTEFZIiksUXQ6WCgiUExBWUVSX1JFV0lORF9TRUNPTkRTIiksbW86WCgiUExBWUVSX1NQRUVEIiksYkc6WCgiUExBWUVSX1NQRUVEVVBfVVNFUl9FRFUiKSxSdDpYKCJQTEFZRVJfU1BFRURfREVDUkVBU0UiKSxTdDpYKCJQTEFZRVJfU1BFRURfSU5DUkVBU0UiKSxubzpYKCJQTEFZRVJfU1BFRURfTk9STUFMIiksVHQ6WCgiUExBWUVSX1NQRUVEX1JFQ0VOVCIpLFV0OlgoIlBMQVlFUl9USU1FX0RVUkFUSU9OIiksClZ0OlgoIlBMQVlFUl9USU1FX0VMQVBTRUQiKSxjRzpYKCJQTEFZTElTVF9ERVNDUklQVElPTl9JTlZBTElEX0NIQVJBQ1RFUlMiKSxkRzpYKCJQTEFZTElTVF9NSVhfREVUQUlMRURfTE9OR19CWUxJTkUiKSxlRzpYKCJQTEFZTElTVF9OQU1FX0lOVkFMSURfQ0hBUkFDVEVSUyIpLGZHOlgoIlBMQVlMSVNUX05BTUVfTUlTU0lORyIpLGdHOlgoIlBMQVlMSVNUX05BTUVfVE9PX0xPTkciKSxoRzpYKCJQTEFZTElTVF9QQU5FTF9FTkRfT0ZfUExBWUxJU1QiKSxpRzpYKCJQTEFZTElTVF9QQU5FTF9ORVhUIiksakc6WCgiUExBWUxJU1RfUEFORUxfVU5MSVNURURfUExBWUxJU1QiKSxrRzpYKCJQTEFZTElTVF9URVhUX0lOUFVUX0NIQVJfQ09VTlQiKSxsRzpYKCJQTEFZX0FMTCIpLG1HOlgoIlBMRUFTRV9GSVhfRVJST1JTIiksWHQ6WCgiUFJFTUlVTV9CQURHRV9MQUJFTCIsIlByZW1pdW0iKSxuRzpYKCJQUkVWSU9VU19WSURFTyIpLG9HOlgoIlBSSVZBQ1lfUE9MSUNZIiksckc6WCgiUkVMT0FEIiksCnNHOlgoIlJFUVVJUkVEX0xBQkVMIikseUc6WCgiU0FWRV9QTEFZTElTVCIpLEFHOlgoIlNDUlVCX1NMSURFX1VTRVJfRURVIiksQ0c6WCgiU0VBUkNIIiwiU2VhcmNoIiksREc6WCgiU0VBUkNIX0FQUEVORF9MQUJFTCIpLEVHOlgoIlNFQVJDSF9DSEFOTkVMIiksRkc6WCgiU0VBUkNIX0NMRUFSX0xBQkVMIiksR0c6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX0FMQlVNX05PX0FSVElTVCIsIkFsYnVtIiksSEc6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX01PVklFIiwiTW92aWUiKSxJRzpYKCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fU09OR19OT19BUlRJU1QiLCJTb25nIiksSkc6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1RWX1NIT1ciLCJUViBTaG93IiksS0c6WCgiU0VBUkNIX0ZJTFRFUlNfTEFCRUwiKSxMRzpYKCJTRUFSQ0hfTEFCRUwiKSxNRzpYKCJTRUFSQ0hfUFBQX1BMQUNFSE9MREVSX1RFWFQiKSxORzpYKCJTRUVLX1NMSURFUiIpLE9HOlgoIlNFVFRJTkdTX0xBQkVMIiksClBHOlgoIlNFVFRJTkdTX01JQ19QRVJNSVNTSU9OIiksU0c6WCgiU0hPUlRTX1RBQl9MQUJFTCIsIlNob3J0cyIpLFRHOlgoIlNIT1dfTEVTUyIpLFVHOlgoIlNIT1dfTU9SRSIpLFp0OlgoIlNIT1dfUExBWUVSX0NPTlRST0xTIiwiU2hvdyBwbGF5ZXIgY29udHJvbHMiKSxWRzpYKCJTSE9XX1BMQVlMSVNUX1ZJREVPUyIpLFdHOlgoIlNIT1dfU0VBUkNIX0ZJTFRFUlNfTEFCRUwiKSxhdTpYKCJTSUdOX0lOX0xBQkVMIiksWkc6WCgiU0lHTl9JTl9PTl9XRUIiKSx5azpYKCJTVEFCTEVfVk9MVU1FIiksakg6WCgiU1RBQkxFX1ZPTFVNRV9PRkYiKSxrSDpYKCJTVEFCTEVfVk9MVU1FX09OIiksYnU6WCgiU1RBVFNfRk9SX05FUkRTIiksbEg6WCgiU1VHR0VTVElPTl9ESVNNSVNTRURfTEFCRUwiKSxtSDpYKCJTVUdHRVNUSU9OX0RJU01JU1NfTEFCRUwiKSxuSDpYKCJTVUdHRVNUSU9OX05FV19WSURFT1NfVEVYVCIpLG9IOlgoIlNVR0dFU1RJT05fVEhVTUJOQUlMX0FUVFJJQlVUSU9OX0xBQkVMIiwKIlZpZXcgaW1hZ2Ugc291cmNlIikscEg6WCgiU1VHR0VTVElPTl9USFVNQk5BSUxfTEFCRUwiKSxxSDpYKCJURVJNU19PRl9TRVJWSUNFIiksckg6WCgiVElNRVNUQU1QX01JTlVURVMiKSxzSDpYKCJUSU1FU1RBTVBfU0VDT05EUyIpLHRIOlgoIlRPR0dMRV9PRkYiKSx1SDpYKCJUT0dHTEVfT04iKSx2SDpYKCJUUkVORElORyIpLGR1OlgoIlRST1VCTEVTSE9PVF9QTEFZQkFDS19JU1NVRSIpLGV1OlgoIlRSWV9BR0FJTl9MQVRFUiIpLHdIOlgoIlRSWV9BR0FJTl9NSUNfUEVSTUlTU0lPTiIpLHhIOlgoIlRVUk5fT0ZGX0FVVE9QTEFZX0NPTkZJUk1fQlVUVE9OX1RJVExFIikseUg6WCgiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX0RFU0NSSVBUSU9OIiksekg6WCgiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX1RJVExFIiksZ3U6WCgiVU5NVVRFX1ZPTFVNRSIpLHNvOlgoIlZJREVPX0xJTktfTEFCRUwiKX07Xy5MaGE9T2JqZWN0LmZyZWV6ZT9PYmplY3QuZnJlZXplKE9iamVjdC5jcmVhdGUobnVsbCkpOnt9O18uTk49KCk9Pnt9O3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrPy5iaW5kKHdpbmRvdyk7Xy5aTj1fLkwoYT0+e3ZhciB7bGFiZWw6YixvbmNsaWNrOmMsc2hvd1NwaW5uZXI6ZCx0aTplLGVuZ2FnZW1lbnRQYW5lbDpmLEt4OmgsRHA6ayxyZWxhdGl2ZTpsLG9wYWNpdHk6bX09Xy5EQyhhLHtzaG93U3Bpbm5lcjohMSxSSzohMSx0aTohMSxlbmdhZ2VtZW50UGFuZWw6ITEsRHA6ITEscmVsYXRpdmU6ITEsS3g6ITEsb3BhY2l0eTp2b2lkIDB9KTtyZXR1cm4gXy5LKCJ5dHctc2NyaW0iLHtjbGFzczpfLlAoInl0V2ViU2NyaW1Ib3N0IiwieXRXZWJTY3JpbUhvc3RNb2Rlcm5PdmVybGF5Iix7eXRXZWJTY3JpbUhvc3RCb3R0b21TaGVldDplLHl0V2ViU2NyaW1Ib3N0RW5nYWdlbWVudFBhbmVsOigpPT4hZSgpJiZmKCkseXRXZWJTY3JpbUhvc3REcmFnZ2FibGVFbmdhZ2VtZW50UGFuZWw6KCk9PiFlKCkmJmYoKSYmaCgpLHl0V2ViU2NyaW1Ib3N0RHJhd2VyTGF5b3V0OigpPT4hZSgpJiYhZigpJiZrKCkseXRXZWJTY3JpbUhvc3RSZWxhdGl2ZTpsfSksIm9uOmNsaWNrIjpjLCJvbjp0b3VjaG1vdmUiOmZ1bmN0aW9uKG4pe24ucHJldmVudERlZmF1bHQoKTsKbi5zdG9wUHJvcGFnYXRpb24oKX0sc3R5bGU6KCk9Pm0oKSE9PXZvaWQgMD9gYmFja2dyb3VuZDpyZ2JhKDAsIDAsIDAsICR7bSgpfSk7YDoiIn0sXy5LKF8uTyx7QTpkLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0V2ViU2NyaW1EaWFsb2dDb250YWluZXIifSxfLksoXy5aTCxudWxsKSl9KSxfLksoImJ1dHRvbiIse2NsYXNzOiJ5dFdlYlNjcmltSGlkZGVuQnV0dG9uIiwiYXJpYS1sYWJlbCI6Yn0pKX0sImNiIik7dmFyIEZOLEVOLElOLEdOLExOLEhOLGtoYTtGTj0wO0VOPW5ldyBNYXA7SU49bnVsbDtHTj1udWxsO0xOPSExO18uRE49W107SE49IV8ueCgiY2FuY2VsX21vZGFsX3BlbmRpbmdfYW5pbWF0aW9uc19raWxsc3dpdGNoIik7a2hhPSFfLngoInJlc2hvd19uZXN0ZWRfbW9kYWxfc2libGluZ3Nfa2lsbHN3aXRjaCIpO3ZhciByTzsKXy5zTz1fLkwoKHt0cTphfSk9PntmdW5jdGlvbiBiKEcpe2lmKChhKCkmJmRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50fHwhYSgpJiYhZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpJiZHKXt2YXIgRD1HLlFrLEg9Ry52aWV3TW9kZWw7ay52YWx1ZT9GKEcpOkQ/LmlzRGlzYWJsZWQmJkQ/LmRpc2FibGVkQ29tbWFuZD8oQ04oITApLF8uQUooRC5kaXNhYmxlZENvbW1hbmQsaC52YWx1ZSwhMSkpOih3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjYm90dG9tLXNoZWV0IiYmXy4kTSgiYm90dG9tLXNoZWV0IiwhMCksay52YWx1ZT0hMCxkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgiYm90dG9tLXNoZWV0LW9wZW4iLCIiKSxfLm9NKCkuZGlzcGF0Y2goYk4oITApKSxyTz1fLm1HKCkscChEKSx2KEgpLENOKCEwKSxoLnZhbHVlfHxfLklwKEVycm9yKCJGZCIpKSxfLkpOKGgudmFsdWUsRD8uZm9jdXNPbkNsb3NlLCEwKSl9fWZ1bmN0aW9uIGMoKXtrLnZhbHVlJiYoay52YWx1ZT0hMSxkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZSgiYm90dG9tLXNoZWV0LW9wZW4iKSwKbigpPy5HaD8uKCksck89dm9pZCAwLHAodm9pZCAwKSx2KHZvaWQgMCksQ04oITEpLF8uS04oaC52YWx1ZSksXy5vTSgpLmRpc3BhdGNoKGJOKCExKSkpfWZ1bmN0aW9uIGQoKXtrLnZhbHVlJiZ3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjYm90dG9tLXNoZWV0IiYmYygpfWFzeW5jIGZ1bmN0aW9uIGUoKXthd2FpdCBfLkZKO3dpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNib3R0b20tc2hlZXQiJiYoZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnR8fF8uWU0/Xy4kTSgiIiwhMCk6YXdhaXQgXy5aTSgpLGQoKSk7QSgpJiYoYihBKCkpLEYodm9pZCAwKSl9ZnVuY3Rpb24gZihHKXtfLnpOKCk7Ry5zdG9wUHJvcGFnYXRpb24oKX12YXIgaD1fLnVFKCJib3R0b20tc2hlZXQtY29udGFpbmVyIiksaz1fLnVNKCExKSxbbCxtXT1fLkoodm9pZCAwLHZvaWQgMCwidld1WGtiIiksbj1sLHA9bSxbcix0XT1fLkoodm9pZCAwLHZvaWQgMCwiQmZSQUxiIiksdj10LFt6LEVdPV8uSih2b2lkIDAsdm9pZCAwLAoieTd0TmxjIiksQT16LEY9RSxDPSgpPT4hKCFuKCkmJiFyKCkpO18uVUooKCk9Pnt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsZCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlc3RhcnQiLGMpO18ueSgpLnJlc29sdmUoXy5jTCkuUHooe3dnOkc9PntHJiZiKHt2aWV3TW9kZWw6Ry52aWV3TW9kZWwsUWs6Ry5Ra30pfSxKZTphc3luYygpPT57YXdhaXQgZSgpfSxkbTphc3luYygpPT4hIV8ueE4oKSxYcDooKT0+aC52YWx1ZSxvdzpHPT5HfSxhKCkpO18uWXUoKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsZCk7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlc3RhcnQiLGMpfSl9KTtyZXR1cm4gXy5LKCJib3R0b20tc2hlZXQtY29udGFpbmVyIix7ZWw6aCxyb2xlOiJkaWFsb2ciLGhpZGRlbjooKT0+IUMoKSwiYXJpYS1tb2RhbCI6ITAsImFyaWEtbGFiZWwiOigpPT5uKCk/LmhlYWRlclRpdGxlPwpuKCkuaGVhZGVyVGl0bGU6Xy4kTi5Ybn0sXy5LKF8uTyx7QTpDLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0Usb25jbGljazpfLnpOLHRpOiEwfSksXy5LKF8uTyx7QTpyLHRoZW46Rz0+Xy5LKGxPLHtkYXRhOkd9KSxXOigpPT5fLksoXy5PLHtBOm4sdGhlbjpHPT5fLnBHKHJPfHx7fSwoKT0+Xy5LKGpPLHtIYTooKT0+RygpLkhhLHBmOigpPT5HKCkucGYsR2s6KCk9PkcoKS5HayxHaDooKT0+RygpLkdoLGZvY3VzT25DbG9zZTooKT0+RygpLmZvY3VzT25DbG9zZSxpc0Rpc2FibGVkOigpPT5HKCkuaXNEaXNhYmxlZCxkaXNhYmxlZENvbW1hbmQ6KCk9PkcoKS5kaXNhYmxlZENvbW1hbmQsVWU6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5VZX0pLGpoOigpPT4hIUcoKS5VZSxHYjooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+RygpLkdifSksWGk6KCk9PiEhRygpLkdiLFNlOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT4KRygpLlNlfSksaGg6KCk9PiEhRygpLlNlLGhlYWRlclRpdGxlOigpPT5HKCkuaGVhZGVyVGl0bGUsaGVhZGVyU3VidGl0bGU6KCk9PkcoKS5oZWFkZXJTdWJ0aXRsZSxXZjooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+RygpLldmfSksaWg6KCk9PiEhRygpLldmLE5mOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT5HKCkuTmZ9KSxVZjooKT0+ISFHKCkuTmYsT2Y6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5PZn0pLFZmOigpPT4hIUcoKS5PZixSZTooKT0+RygpLlJlLE1mOigpPT5HKCkuTWYsUGY6KCk9PkcoKS5QZn0pKX0pfSksXy5LKCJidXR0b24iLHtjbGFzczoiY2xvc2UtYnV0dG9uIiwiYXJpYS1sYWJlbCI6Xy4kTi5DTE9TRSwib246Y2xpY2siOmZ9KSl9KSl9LCJkYiIpO18uc08uaWRvbUNvbXBhdD0hMDtfLnRPPV8uTCgoe2FyaWFMYWJlbDphLFVIOmIsYXJpYVByZXNzZWQ6YyxhcmlhRXhwYW5kZWQ6ZCxhcmlhRGlzYWJsZWQ6ZSxjbGFzc05hbWU6Zixjb250ZW50OmgsYnE6ayxpZDpsLG5hbWU6bSxvbmNsaWNrOm4sb250b3VjaHN0YXJ0OnAsb250b3VjaG1vdmU6cixvbnRvdWNoZW5kOnQsYng6dn0pPT57dj1fLnVFKCJidXR0b24iLHYpO3JldHVybiBfLksoImJ1dHRvbiIse2lkOmwsY2xhc3M6Xy5QKCJpY29uLWJ1dHRvbiIsZiksZWw6diwiYXJpYS1sYWJlbCI6YSwiYXJpYS1sYWJlbGxlZGJ5IjpiLCJhcmlhLXByZXNzZWQiOmMsImFyaWEtZXhwYW5kZWQiOmQsImFyaWEtaGFzcG9wdXAiOmssImFyaWEtZGlzYWJsZWQiOmUsIm9uOmNsaWNrIjpuLCJvbjp0b3VjaHN0YXJ0IjpsTihwKSwib246dG91Y2htb3ZlIjpsTihyKSwib246dG91Y2hlbmQiOmxOKHQpfSxfLksoXy5PLHtBOigpPT4hIWgsdGhlbjooKT0+aD8uKCksVzooKT0+Xy5LKF8uTUQse2ljb246bX0pfSkpfSwiZWIiKTsKXy50Ty5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2NvbnRlbnQ6ITAsb25jbGljazohMCxvbnRvdWNoc3RhcnQ6ITAsb250b3VjaG1vdmU6ITAsb250b3VjaGVuZDohMCxieDohMH19O3ZhciBSTixQTixPTjtSTj0hMDsKUE49e0FWQVRBUl9DSVJDTEVfQkxVRToiQVZBVEFSX0xPR0dFRF9PVVQiLEJBQ0s6IkFSUk9XX0JBQ0siLEJMT0NLX1VTRVI6IkJMT0NLIixCUk9BRENBU1Q6InBvZGNhc3QiLENBUFRJT05TOiJDTE9TRURfQ0FQVElPTiIsQ0hFQ0tfQkxVRToiQ0hFQ0siLENIRUNLX0NJUkNMRV9GSUxMRUQ6IkNIRUNLX0NJUkNMRV9GSUxMRUQiLENIRUNLX0NJUkNMRV9USElDSzoiQ0hFQ0tfQ0lSQ0xFX09VVExJTkUiLENPVVJTRToibGlnaHRidWxiIixESVNMSUtFX0NPTU1FTlQ6IkRJU0xJS0UiLERJU0xJS0VfQ09NTUVOVF9GSUxMRUQ6IkRJU0xJS0VfRklMTEVEIixESVNMSUtFX1NFTEVDVEVEOiJESVNMSUtFX0ZJTExFRCIsRElTTUlTU0FMX0JMQUNLOiJESVNNSVNTQUwiLEVYUEFORF9NT1JFOiJFWFBBTkQiLEZBU0hJT05fTE9HTzoiZmFzaGlvbiIsR0FNSU5HOiJnYW1pbmciLEdBTUlOR19MT0dPOiJnYW1pbmciLEdFQVI6IlNFVFRJTkdTIixIRUxQOiJIRUxQX09VVExJTkUiLExJS0VfQ09NTUVOVDoiTElLRSIsCkxJS0VfQ09NTUVOVF9GSUxMRUQ6IkxJS0VfRklMTEVEIixMSUtFX1NFTEVDVEVEOiJMSUtFX0ZJTExFRCIsTElWRToiUkFEQVJfTElWRSIsTE9HTzoiWU9VVFVCRSIsTU9SRV9DSEVWUk9OOiJFWFBBTkQiLE1PUkVfVkVSVF9XSElURToiTU9SRV9WRVJUIixNVVNJQzoiYXVkaW8iLE1VU0lDX0ZJTExFRDoiYXVkaW9fZmlsbGVkIixORVdTOiJuZXdzIixPRkZJQ0lBTF9BUlRJU1RfQkFER0U6ImF1ZGlvIixQTEFZQUJMRVNfTE9HTzoidGljX3RhY190b2UiLFBMQVlFUl9ORVhUOiJTS0lQX05FWFRfRklMTEVEIixQTEFZRVJfUEFVU0U6IlBBVVNFX0ZJTExFRCIsUExBWUVSX1BMQVk6IlBMQVlfQVJST1dfRklMTEVEIixQTEFZRVJfUFJFVklPVVM6IlNLSVBfUFJFVklPVVNfRklMTEVEIixQTEFZRVJfUkVQTEFZOiJSRVBMQVkiLFBMQVlfQUxMOiJQTEFZX0FSUk9XX0ZJTExFRCIsUkVNT1ZFOiJESVNNSVNTQUwiLFNIT1JUU19ESVNMSUtFOiJzaG9ydHNfdGh1bWJzX2Rvd24iLFNIT1JUU19MSUtFOiJzaG9ydHNfdGh1bWJzX3VwIiwKU1BPTlNPUlNISVBfU1RBUjoiU1BPTlNPUlNISVBfU1RBUl9GSUxMRUQiLFRBQl9BQ0NPVU5UOiJBVkFUQVJfTE9HR0VEX09VVCIsVEFCX1RSRU5ESU5HOiJmaXJlIixUQUJfVFJFTkRJTkdfRklMTEVEOiJmaXJlX2ZpbGxlZCIsVFJFTkRJTkc6ImZpcmUiLFRST1BIWToidHJvcGh5IixWT0xVTUVfRE9XTl9PVVRMSU5FOiJWT0xVTUVfRE9XTiIsVk9MVU1FX1VQOiJWT0xVTUVfVVBfRklMTEVEIixWT0xVTUVfVVBfT1VUTElORToiVk9MVU1FX1VQIixZT1VUVUJFX0xPR086IkxPR09fV0lUSF9URVhUIixZT1VUVUJFX1BSRU1JVU1fTE9HTzoiWU9VVFVCRV9QUkVNSVVNX0xPR09fU0hPUlQiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfUkVEXzE2OiJ5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZV9maWxsZWQiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfV0hJVEVfMTY6InlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlX2ZpbGxlZCJ9OwpPTj17TE9HTzoiTE9HTyIsUExBWUFCTEVTX0xPR086InBsYXlhYmxlcyIsU0hPUlRTX0RJU0xJS0U6InRodW1iX2Rvd24iLFNIT1JUU19MSUtFOiJ0aHVtYl91cCIsVEFCX1RSRU5ESU5HOiJ0cmVuZGluZyIsVEFCX1RSRU5ESU5HX0ZJTExFRDoidHJlbmRpbmdfZmlsbGVkIixUUkVORElORzoidHJlbmRpbmcifTsKXy51Tz1fLkwoKHtpY29uOmEsYWN0aXZlOmIsY2xhc3NOYW1lOmMsc3R5bGU6ZCx5cDplLGhjOmYscm9sZTpoLEdlOmssSGM6bCxhcmlhSGlkZGVuOm0sYXJpYUV4cGFuZGVkOm4sYXJpYUxhYmVsOnAsaWQ6cixhZzp0LHNpemU6dn0pPT57bmhhKCk7dmFyIHo9KCk9PlFOKGE/LigpKSxFPV8uTigoKT0+e2E6e3ZhciBGPVFOKGE/LigpKSxDPWI/LigpO3ZhciBHPXY/LigpO2lmKEYpe3ZhciBEPV8ueSgpLnJlc29sdmUoXy5YTCksSD1GLnRvTG93ZXJDYXNlKCk7Rj17aWNvbk5hbWU6SCxpY29uU3R5bGU6SC5lbmRzV2l0aCgiX2ZpbGxlZCIpfHxGLmVuZHNXaXRoKCJfb24iKXx8Qz8ieW91dHViZV9maWxsIjp2b2lkIDAsaWNvblNpemU6R307Qz1ELmooRik7IUMmJkcmJihGLmljb25TaXplPXZvaWQgMCxDPUQuaihGKSk7IUMmJkguZW5kc1dpdGgoIl9maWxsZWQiKSYmKEYuaWNvbk5hbWU9SC5zdWJzdHJpbmcoMCxILmxlbmd0aC03KSxDPUQuaihGKSk7Q3x8KEYuaWNvblN0eWxlPXZvaWQgMCwKQz1ELmooRikpO2lmKEMpe0c9RjticmVhayBhfV8uSXAobmV3IF8uWGooIkljb24gbm90IHN1cHBvcnRlZCIse2ljb25OYW1lOkYuaWNvbk5hbWV9KSl9Rz12b2lkIDB9cmV0dXJuIEd9LHZvaWQgMCwiTTZYa0diIiksQT0oKT0+KHtpY29uV2lkdGg6IjEwMCUiLGljb25IZWlnaHQ6IjEwMCUiLGFnOnQ/LigpfSk7cmV0dXJuIF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PlFOKGE/LigpKSYmaz8uKCkmJmI/LigpIT09dm9pZCAwJiZPYmplY3QudmFsdWVzKEFoYSkuaW5jbHVkZXMoUU4oYT8uKCkpfHwiIil9LCgpPT5fLksoXy50TSx7YW5pbWF0ZWRJY29uVHlwZTp6LGFjdGl2ZTooKT0+ISFiPy4oKSxIYzpsLHNpemU6dixIQTooKT0+Xy5LKF8udU8se2ljb246YSxhY3RpdmU6YixHZTohMX0pfSkpLF8uSyhfLkNFLHt3aGVuOigpPT5RTihhPy4oKSkmJkUoKX0sKCk9Pl8uSygiYzMtaWNvbiIse2NsYXNzOmMsc3R5bGU6ZCxyb2xlOmgsImRhdGEtc2VsZWN0ZWQiOmUsImRhdGEtZGlzYWJsZWQiOmYsCiJmaWxsLWljb24iOigpPT5iPy4oKT09PSEwLGlkOnIsImljb24tc3RhdGUtb3V0bGluZSI6KCk9PmI/LigpPT09ITE/IiI6dm9pZCAwLCJpY29uLXN0YXRlLWZpbGxlZCI6KCk9PmI/LigpPT09ITA/IiI6dm9pZCAwLCJhcmlhLWhpZGRlbiI6bSwiYXJpYS1leHBhbmRlZCI6biwiYXJpYS1sYWJlbCI6cH0sXy5LKF8uWUwse2RhdGE6KCk9PkUoKSxvcHRpb25zOkF9KSkpKX0sImZiIik7Xy51Ty5pZG9tQ29tcGF0PSEwO18uTCgoe25hbWU6YSxsYWJlbDpiLG9uY2xpY2s6YyxicTpkLHJvbGU6ZX0pPT5fLksoImRpdiIse2NsYXNzOiJpY29uLWJ1dHRvbiIscm9sZTplLCJhcmlhLWxhYmVsIjpiLCJhcmlhLWhhc3BvcHVwIjpkLCJvbjpjbGljayI6Y30sXy5LKF8udU8se2ljb246YX0pKSwiZ2IiKS5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uY2xpY2s6ITB9fTsKdmFyIEpoYT0iYWxpZ25fbGVmdCBhcnJvd19sZWZ0IGZsYWcgaG9tZSBsb2dvX3dpdGhfdGV4dCBtZXNzYWdlX2J1YmJsZV9hbGVydCBtaWMgb3Blbl9uZXcgb3ZlcmZsb3dfaG9yaXpvbnRhbCBvdmVyZmxvd192ZXJ0aWNhbCBwbGF5X2NpcmNsZV9zaG9ydHMgc2VhcmNoIHNob3J0c19jb21tZW50IHNob3J0c19zaGFyZSBzaG9ydHNfdGh1bWJzX2Rvd24gc2hvcnRzX3RodW1ic191cCB3YXZlZm9ybSB4X21hcmsgeW91dHViZV9zaG9ydHMgeW91dHViZV9zaG9ydHNfYnJhbmRfMjQiLnNwbGl0KCIgIiksSWhhPSJhbGVydF9idWJibGUgYXJyb3dfbGVmdCBhcnJvd191cF9yaWdodCBmbGFnIGhvbWUgbG9nb193aXRoX3RleHQgbWljIG92ZXJmbG93X2hvcml6b250YWwgb3ZlcmZsb3dfdmVydGljYWwgcGxheV9jaXJjbGVfc2hvcnRzIHNlYXJjaCBzaGFyZSBzaG9ydHMgdGV4dF9hbGlnbl9sZWZ0IHRleHRfYnViYmxlIHRodW1iX2Rvd24gdGh1bWJfdXAgd2F2ZWZvcm0geCB5b3V0dWJlX3Nob3J0c19icmFuZF8yNCIuc3BsaXQoIiAiKTtfLnZPPV8uTChhPT57dmFyIHtpY29uVHlwZTpiLGxhYmVsOmMsYXJpYUxhYmVsOmQsYXJpYVByZXNzZWQ6ZSxkaXNhYmxlZDpmLG9uY2xpY2s6aCxzdHlsZTprLFZsOmwsTG06bSxPeDpuLGJhc2ljQ29sb3JQYWxldHRlRGF0YTpwLGRhdGE6cixhcmlhSGlkZGVuOnR9PV8uREMoYSx7aWNvblR5cGU6IiIsVmw6ITEsTG06IiIsT3g6ITEsYXJpYUhpZGRlbjohMX0pO18udUUoImRpdiIsdj0+e3I/LigpJiZtaGEodixyPy4oKSl9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoImJ1dHRvbi13aXRoLWljb24gYnV0dG9uLXJlbmRlcmVyIGNvbXBhY3QiLG0pLHN0eWxlOigpPT57dmFyIHY7aWYodj1wPy4oKSl7dmFyIHo9IiIsRTtmb3IoRSBpbiB2KXtpZighdi5oYXNPd25Qcm9wZXJ0eShFKSljb250aW51ZTtsZXQgQT12W0VdLEY9RS5pbmNsdWRlcygiZm9yZWdyb3VuZCIpPyJjb2xvciI6U3RyaW5nKEUpLnJlcGxhY2UoLyhbQS1aXSkvZywiLSQxIikudG9Mb3dlckNhc2UoKTtBJiYKKHorPWAke0Z9OiR7Xy5ORChBKX07YCl9dj16fWVsc2Ugdj12b2lkIDA7cmV0dXJuIHY/LnRvU3RyaW5nKCl9LCJkYXRhLXN0eWxlIjooKT0+dHlwZW9mIGs/LigpPT09InN0cmluZyI/aygpOms/LigpPy5zdHlsZVR5cGUsImRhdGEtaWNvbi1vbmx5IjooKT0+IWM/LigpLCJpcy1idXN5IjpsLCJhcmlhLWJ1c3kiOmwsImFyaWEtaGlkZGVuIjp0fSxfLksoImJ1dHRvbiIse2NsYXNzOiJidXR0b24td2l0aC1pY29uLWJ1dHRvbiIsIm9uOmNsaWNrIjpmdW5jdGlvbih2KXtoPy4odik7di5zdG9wUHJvcGFnYXRpb24oKX0sZGlzYWJsZWQ6ZiwiYXJpYS1sYWJlbCI6KCk9PmQ/LigpfHwiIiwiYXJpYS1wcmVzc2VkIjooKT0+ZT8uKCk/P3ZvaWQgMH0sXy5LKCJkaXYiLHtjbGFzczoiYnV0dG9uLXdpdGgtaWNvbi1pbm5lciJ9LF8uSyhfLk8se0E6KCk9PiFuPy4oKSYmYigpLHRoZW46KCk9Pl8uSyhfLnVPLHtpY29uOmIsY2xhc3NOYW1lOiJidXR0b24tcmVuZGVyZXItaWNvbiJ9KX0pLF8uSygiZGl2IiwKe2NsYXNzOiJidXR0b24tcmVuZGVyZXItdGV4dCJ9LF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoXy5JSix7ZGF0YTpjfSl9KSksXy5LKF8uTyx7QTooKT0+bigpJiZiKCksdGhlbjooKT0+Xy5LKF8udU8se2ljb246YixjbGFzc05hbWU6ImJ1dHRvbi1yZW5kZXJlci1pY29uIn0pfSksXy5LKF8uTyx7QTpsLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJ1dHRvbi13aXRoLWljb24tc3Bpbm5lciBzcGlubmVyIn0pfSkpKSl9LCJpYiIpO18uSENbXy5SQVsiZGVmYXVsdCJdXT1vaGE7KGZ1bmN0aW9uKCl7dmFyIGE9Xy5jQjtfLmNCPWI9PnthPy4oYik7Xy5PRSgoKT0+e2ZvcihsZXQgYz0wO2M8Yi5sZW5ndGg7YysrKVROKGJbY10pfSl9fSkoKTtfLndPPV8uTCgoe2NoaWxkcmVuOmEsb25jbGljazpiLHJvbGU6YyxIeTpkfSk9Pnt2YXIgZT1fLnVFKCJidXR0b24iKTtfLlVKKCgpPT57ZD8uKGUudmFsdWUpfSk7cmV0dXJuIF8uSygieXRtLW1lbnUtaXRlbSIsbnVsbCxfLksoImJ1dHRvbiIse2NsYXNzOiJtZW51LWl0ZW0tYnV0dG9uIixlbDplLCJvbjpjbGljayI6Yixyb2xlOmN9LGEpKX0sImpiIik7Xy53Ty5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uY2xpY2s6ITAsSHk6ITB9fTtfLkwoKHt1cmw6YSxsSzpiLGNoaWxkcmVuOmN9KT0+Xy5LKCJ5dG0tbWVudS1pdGVtIixudWxsLF8uSygiYSIse2hyZWY6YSxjbGFzczoibWVudS1pdGVtLWJ1dHRvbiIsdGFyZ2V0OigpPT5iPy4oKT8iX2JsYW5rIjp2b2lkIDB9LGMpKSwia2IiKS5pZG9tQ29tcGF0PSEwOwpfLkwoKHtjb21tYW5kOmEsY2hpbGRyZW46Yn0pPT5fLksoInl0bS1tZW51LWl0ZW0iLG51bGwsXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEoKT8/dm9pZCAwLGNsYXNzTmFtZToibWVudS1pdGVtLWJ1dHRvbiJ9LGIpKSwibGIiKS5pZG9tQ29tcGF0PSEwO3ZhciBWTixXTixbWU4scGhhXT1fLkoobnVsbCx2b2lkIDAsIkdDS2c4ZSIpLHhPPV8uTCgoe0RoOmF9KT0+Xy5LKF8ud08sbnVsbCxfLksoImRpdiIse2NsYXNzOiJtZW51LWNhbmNlbC1idXR0b24ifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLlRkLGNsYXNzTmFtZToibWVudS1jYW5jZWwtaWNvbiJ9KSwoKT0+YSgpLmNhbmNlbEJ1dHRvbkxhYmVsKSksIm1iIiksWE49Xy5MKCh7RGg6YSxjaGlsZHJlbjpifSk9Pnt2YXIgYz1fLnVFKCJkaXYiLCgpPT57fSk7cmV0dXJuIF8uSygiZGl2Iix7ZWw6YyxjbGFzczpfLlAoIm1lbnUtY29udGVudCIseyJtZW51LWJvdHRvbSI6KCk9PmEoKS5ucSwibWVudS1zaG93LWljb25zIjooKT0+YSgpLkhhfHxhKCkubnF8fGEoKS5pc0Z1bGxXaWR0aCwicm91bmRlZC1jb250YWluZXIiOigpPT4hYSgpLmlzRnVsbFdpZHRofSksIm9uOmNsaWNrIjpmdW5jdGlvbigpe2EoKS5Td3x8YSgpLkVJfHxfLlVOKCl9LHJvbGU6KCk9PmEoKS5pc0Z1bGxXaWR0aD8Kdm9pZCAwOiJkaWFsb2ciLCJhcmlhLW1vZGFsIjooKT0+IWEoKS5pc0Z1bGxXaWR0aCwiYXJpYS1sYWJlbGxlZGJ5IjooKT0+YSgpLlZIfSxiLF8uSyhfLk8se0E6KCk9PiFhKCkuU3csdGhlbjooKT0+Xy5LKF8uTyx7QTooKT0+ISFhKCkubnEsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoiYm90dG9tLW1lbnUtY2FuY2VsIn0sXy5LKHhPLHtEaDphfSkpLFc6KCk9Pl8uSyh4Tyx7RGg6YX0pfSl9KSl9LCJuYiIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1jaGFuZ2UiLGFPKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsYU8pO3ZhciB5Tzt5Tz1fLkwoYT0+e3ZhciBiPWEuY2hpbGRyZW4sYz1fLlp0fHx2b2lkIDAsZD1fLm1HKCk7cmV0dXJuIF8uSygieXRtLW1lbnUiLG51bGwsYih7b25DbGljazplPT57YS5zdG9wUHJvcGFnYXRpb24/LigpJiZlLnN0b3BQcm9wYWdhdGlvbigpO2EucHJldmVudERlZmF1bHQ/LigpJiZlLnByZXZlbnREZWZhdWx0KCk7cWhhKHtjb250ZW50OmEuY29udGVudCxjYW5jZWxCdXR0b25MYWJlbDphLmNhbmNlbEJ1dHRvbkxhYmVsPy4oKSxUZDphLlRkPy4oKSxjbGFzc05hbWU6YS5kZj8uKCksZm9jdXNPbkNsb3NlOmUuY3VycmVudFRhcmdldCxIYTphLkhhPy4oKSxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZD8uKCksZGlzYWJsZWRDb21tYW5kOmEuZGlzYWJsZWRDb21tYW5kPy4oKSxvd25lcjpjLEZBOmR9KX19KSl9LCJwYiIpOwpfLnpPPV8uTChhPT5fLksoeU8sey4uLmEsY29udGVudDphLmNoaWxkcmVufSwoe29uQ2xpY2s6Yn0pPT5fLksoXy5PLHtBOigpPT5hLmJ1dHRvbk92ZXJyaWRlcz8uKCksdGhlbjpjPT5fLksoXy5KSyx7ZGF0YTooKT0+KHtvblRhcDpiLGljb25Qb3NpdGlvbjoiaWNvbi1vbmx5IixzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc2l6ZToiTSIsc3RhdGU6ImFjdGl2ZSIsYWNjZXNzaWJpbGl0eUxhYmVsOmEubGFiZWw/LigpLC4uLmMoKX0pLGljb25OYW1lOmEuaWNvblR5cGV9KSxXOigpPT5fLksoXy50Tyx7bmFtZTphLmljb25UeXBlLGFyaWFMYWJlbDphLmxhYmVsLGNsYXNzTmFtZTpfLlAoYS5GaCx7c21hbGw6YS5sYn0pLG9uY2xpY2s6YixicTohMH0pfSkpLCJxYiIpO18uek8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntjaGlsZHJlbjohMH19OwpfLk1oYT1fLkwoYT0+Xy5LKHlPLHsuLi5hLGNvbnRlbnQ6YS5jaGlsZHJlbn0sKHtvbkNsaWNrOmJ9KT0+Xy5LKF8uTyx7QTooKT0+YS5idXR0b25PdmVycmlkZXM/LigpLHRoZW46Yz0+Xy5LKF8uSksse2RhdGE6KCk9Pih7b25UYXA6YixpY29uUG9zaXRpb246Imljb24td2l0aC1sYWJlbCIsc3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHNpemU6Ik0iLHN0YXRlOiJhY3RpdmUiLGFjY2Vzc2liaWxpdHlMYWJlbDphLmFyaWFMYWJlbD8uKCksV2E6YS5sYWJlbD8uKCk/Xy5BRihhLmxhYmVsKCkpOnZvaWQgMCwuLi5jKCl9KSxpY29uTmFtZTphLmljb25UeXBlfSksVzooKT0+Xy5LKF8udk8se2ljb25UeXBlOmEuaWNvblR5cGUsbGFiZWw6YS5sYWJlbCxhcmlhTGFiZWw6YS5hcmlhTGFiZWwsYXJpYVByZXNzZWQ6ITEsb25jbGljazpiLHN0eWxlOmEuc3R5bGUsVmw6YS5WbCxMbTphLmFJfSl9KSksInJiIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBPaGEsUGhhLEJPLFFoYSxSaGEsQ08sU2hhLEdPLEhPLFZoYSxVaGEsV2hhLFhoYSxZaGEsWmhhLGFpYSxQTyxiaWEsY2lhLGRpYSxlaWEsZmlhLGhpYSxnaWEsV08saWlhLFhPLGppYSxraWEsZVAsaFAsbFAsbWlhLG5pYSxrUCxqUCxOaGEsVGhhO09oYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgT2JqZWN0LnZhbHVlcyhOaGEpKWlmKF8uaXEoYik9PT1hKXJldHVybiEwO3JldHVybiExfTsKUGhhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgsayxsKXt2YXIgbT0oMCxfLkR3KSgpO2Y9bmV3IF8uVHcoe3ZlVHlwZTpiLHlvdXR1YmVEYXRhOmYsanNwYllvdXR1YmVEYXRhOnZvaWQgMH0pO2w9Xy5Xdyh7YXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6bH0sbSk7ZSYmKGwuY3R0QXV0aEluZm89ZSk7ZT17Y3NuOm0scGFnZVZlOmYuZ2V0QXNKc29uKCl9O18ueCgiZXhwZWN0YXRpb25fbG9nZ2luZyIpJiZrJiZrLnNjcmVlbkNyZWF0ZWRMb2dnaW5nRXhwZWN0YXRpb25zJiYoZS5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucz1rLnNjcmVlbkNyZWF0ZWRMb2dnaW5nRXhwZWN0YXRpb25zKTtjJiZjLnZpc3VhbEVsZW1lbnQ/KGUuaW1wbGljaXRHZXN0dXJlPXtwYXJlbnRDc246Yy5jbGllbnRTY3JlZW5Ob25jZSxnZXN0dXJlZFZlOmMudmlzdWFsRWxlbWVudC5nZXRBc0pzb24oKX0saCYmKGUuaW1wbGljaXRHZXN0dXJlLmdlc3R1cmVUeXBlPWgpKTpjJiZfLklwKG5ldyBfLlhqKCJuZXdTY3JlZW4oKSBwYXJlbnQgZWxlbWVudCBkb2VzIG5vdCBoYXZlIGEgVkUgLSByb290VmUiLApiKSk7ZCYmKGUuY2xvbmVDc249ZCk7YT9fLkNwKCJzY3JlZW5DcmVhdGVkIixlLGEsbCk6Xy5FcCgic2NyZWVuQ3JlYXRlZCIsZSxsKTtfLnNtKF8uQ3csbmV3IF8uQncobSkpO18uRXcuY2xlYXIoKTtfLkZ3LmNsZWFyKCk7Xy5Hdy5jbGVhcigpO3JldHVybiBtfTtfLkFPPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgpe18ud3goYSxiLGMsZSxoKX07Qk89ZnVuY3Rpb24oYSxiKXthLksuaGFzKGIpfHxhLksuc2V0KGIsW10pO3JldHVybiBhLksuZ2V0KGIpfTsKUWhhPWZ1bmN0aW9uKGEsYixjPTApe18uVmkoKCk9PntiLnRoZW4oZD0+e2Euai5oYXMoYykmJmEuQiYmYS5CKCk7dmFyIGU9Xy5pcShjKSxmPV8uVncoYyk7aWYoZSYmZil7dmFyIGg9e2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOjN9O2Q/LnJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmXy5ieChhLmNsaWVudCxlLGYsXy5VdyhkLnJlc3BvbnNlLnRyYWNraW5nUGFyYW1zKSwhMSxoKTtkPy5wbGF5ZXJSZXNwb25zZT8udHJhY2tpbmdQYXJhbXMmJl8uYngoYS5jbGllbnQsZSxmLF8uVXcoZC5wbGF5ZXJSZXNwb25zZS50cmFja2luZ1BhcmFtcyksITEsaCl9fSl9KSgpfTtSaGE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLkQubGVuZ3RoO2IrKyl7dmFyIGM9YS5EW2JdO3RyeXtjKCl9Y2F0Y2goZCl7Xy5HcChkKX19YS5ELmxlbmd0aD0wO2ZvcihiPTA7YjxhLlUubGVuZ3RoO2IrKyl7Yz1hLlVbYl07dHJ5e2MoKX1jYXRjaChkKXtfLkdwKGQpfX19OwpDTz1mdW5jdGlvbihhLGIsYyxkPXt9KXt2YXIgZT12b2lkIDA7ZC5sYXllcnx8KGQubGF5ZXI9MCk7ZT1kLnBhcmVudExheWVyIT09dm9pZCAwP2QucGFyZW50TGF5ZXI6ZC5sYXllcjt2YXIgZj1fLmlxKGUpO2U9Xy5WdyhlKTt2YXIgaD1jfHxlLGs7aCYmKGQucGFyZW50Q3NuIT09dm9pZCAwP2s9e2NsaWVudFNjcmVlbk5vbmNlOmQucGFyZW50Q3NuLHZpc3VhbEVsZW1lbnQ6aH06ZiYmZiE9PSJVTkRFRklORURfQ1NOIiYmKGs9e2NsaWVudFNjcmVlbk5vbmNlOmYsdmlzdWFsRWxlbWVudDpofSkpO3ZhciBsLG09Xy53KCJFVkVOVF9JRCIpO2Y9PT0iVU5ERUZJTkVEX0NTTiImJm0mJihsPXtzZXJ2bGV0RGF0YTp7c2VyaWFsaXplZFNlcnZsZXRFdmVudElkOm19fSk7Xy54KCJjb21iaW5lX3ZlX2dyYWZ0cyIpJiZmJiZfLmt4KGEsZik7Xy54KCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpJiZoJiZmJiZfLmN4KGgsZik7dHJ5e3ZhciBuPVBoYShhLmNsaWVudCxiLGssCmQudHAsZC5jdHRBdXRoSW5mbyxsLGQuaW1wbGljaXRHZXN0dXJlVHlwZSxkLmxvZ2dpbmdFeHBlY3RhdGlvbnMsZC5hdXRvbWF0ZWRMb2dFdmVudFNvdXJjZSl9Y2F0Y2gocil7Xy5jdyhyLHtHSzpiLHJvb3RWZTplLHFLOmMsbkk6ZixwSzprLHRwOmQudHB9KTtfLkdwKHIpO3JldHVybn1fLm1xKG4sYixkLmxheWVyLGQuY3R0QXV0aEluZm8pO2YmJmYhPT0iVU5ERUZJTkVEX0NTTiImJmUmJiFPaGEoZikmJihfLnZ4KGEuY2xpZW50LGYsZSwhMCksYS5vLmRlbGV0ZShmKSk7Yj1CTyhhLGQubGF5ZXJ8fDApO2IubGVuZ3RoPjAmJiFiW2IubGVuZ3RoLTFdLmNzbiYmKGJbYi5sZW5ndGgtMV0uY3NuPW58fCIiKTtfLnpxKHtjbGllbnRTY3JlZW5Ob25jZTpufSk7Xy5EeCgpO18uVmkoXy5CeCgpLkspLmJpbmQoXy5CeCgpKSgpO3ZhciBwPV8uVncoZC5sYXllcik7ZiYmZiE9PSJVTkRFRklORURfQ1NOIiYmcCYmXy54KCJtdXNpY193ZWJfbWFya19yb290X3Zpc2libGUiKSYmXy5WaShfLkFPKSh2b2lkIDAsCm4scCx2b2lkIDAsdm9pZCAwLHZvaWQgMCk7YS5qLmRlbGV0ZShkLmxheWVyfHwwKTthLkI9dm9pZCAwO2EuaGEuZ2V0KGQubGF5ZXIpPy5mb3JFYWNoKChyLHQpPT57cj9fLml4KGEsdCxyLGQubGF5ZXIpOnAmJl8uaXgoYSx0LHAsZC5sYXllcil9KTtSaGEoYSl9O1NoYT1mdW5jdGlvbihhLGIsYyxkPXt9KXthLmouYWRkKGQubGF5ZXJ8fDApO2EuQj0oKT0+e0NPKGEsYixjLGQpO3ZhciBlPV8uVncoZC5sYXllcik7aWYoZSl7bGV0IGY9Xy5pcShkLmxheWVyKTtmb3IobGV0IGggb2YgYS5ZKXtsZXQgaz1oWzBdLGw9aFsxXXx8ZTtmP18uangoYSxrLGwsZC5sYXllcixmKTpfLml4KGEsayxsLGQubGF5ZXIpfWZvcihsZXQgaCBvZiBhLk0pXy5teChhLGhbMF0saFsxXSl9fTtjfHxfLmlxKGQubGF5ZXIpfHxhLkIoKTtpZihkLmZsKWZvcihsZXQgZSBvZiBkLmZsKVFoYShhLGUsZC5sYXllcik7ZWxzZSBfLkdwKEVycm9yKCJOYiIpKX07Cl8uRE89ZnVuY3Rpb24oYSxiLGMsZD17fSl7Xy5WaSgoKT0+e1RoYS5pbmNsdWRlcyhiKXx8KF8uSXAobmV3IF8uWGooImNyZWF0ZUNsaWVudFNjcmVlbigpIGNhbGxlZCB3aXRoIGEgbm9uLXBhZ2UgVkUiLGIpKSxiPTgzNzY5KTtpZighZC5pc0hpc3RvcnlOYXZpZ2F0aW9uKXtsZXQgZT1kLmxheWVyfHwwO2EuZ2Euc2V0KGUsW10pO0JPKGEsZSkucHVzaCh7cm9vdFZlOmIsa2V5OmQua2V5fHwiIn0pfWEuWT1bXTthLk09W107ZC5mbD9TaGEoYSxiLGMsZCk6Q08oYSxiLGMsZCl9KSgpfTtfLkVPPWZ1bmN0aW9uKGEsYixjLGQpe2I9Xy5kYihiKTtyZXR1cm4gYiE9PXZvaWQgMD9hLm9wZW4oYixjLGQpOm51bGx9O18uRk89ZnVuY3Rpb24oYSxiLGMpe2M9YyE9bnVsbD8iPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhjKSk6IiI7cmV0dXJuIF8uU2IoYSxiK2MpfTtHTz1mdW5jdGlvbihhLGIpe3JldHVybiBfLlF5KF8uZWQoYSxiKSk/PyExfTsKSE89ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLld4KGEsYixfLnh3KGMpLCExKX07Xy5JTz1mdW5jdGlvbihhLGIpe3ZhciBjO18udWIoYSxkPT57Yz1iW2RdO3JldHVybiEhY30pO3JldHVybiBjfTtfLkpPPWZ1bmN0aW9uKGEsYixjPTApeyhjPV8uaXEoYykpJiZhJiZfLlZpKF8uQU8pKHZvaWQgMCxjLGEsdm9pZCAwLGIsdm9pZCAwKX07Xy5LTz1mdW5jdGlvbigpe3JldHVybiEhXy53KCJNV0VCX0ZJUkVGT1hfWVRfTEFVTkNIRVIiKX07Xy5MTz1mdW5jdGlvbigpe3JldHVybiBfLmtNP18ua006Xy5sTSgpfTtfLk1PPWZ1bmN0aW9uKGEsYj01LGMpe2lmKGIhPT0wKXt2YXIgZD10eXBlb2YgYT09PSJmdW5jdGlvbiI/YSgpOmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYSk7ZD9jPy5ybD9fLmROKGQpOmQuZm9jdXMoKTpzZXRUaW1lb3V0KCgpPT57Xy5NTyhhLGItMSxjKX0sNTAwKX19O1ZoYT1mdW5jdGlvbigpe3ZhciBhPVVoYSgpO3JldHVybiBITyhhLDcsITApfTsKVWhhPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IE5PO2E9SE8oYSw1LCEwKTthPUhPKGEsMiwhMCk7YT1ITyhhLDQsITEpO2E9SE8oYSw4LCEwKTtyZXR1cm4gSE8oYSw5LCEwKX07V2hhPWZ1bmN0aW9uKCl7dmFyIGE9VmhhKCk7cmV0dXJuIEhPKGEsMTAsITApfTtYaGE9ZnVuY3Rpb24oKXt2YXIgYT1XaGEoKTtyZXR1cm4gSE8oYSwxMiwhMCl9O1loYT1mdW5jdGlvbigpe3ZhciBhPVhoYSgpO3JldHVybiBITyhhLDEzLCExKX07WmhhPWZ1bmN0aW9uKCl7dmFyIGE9WWhhKCk7cmV0dXJuIEhPKGEsMTQsITApfTthaWE9ZnVuY3Rpb24oYSl7cmV0dXJuICRoYS5zb21lKGI9PmIudGVzdChhKSl9OwpQTz1mdW5jdGlvbihhLGIpe3t2YXIgYz1hLmZvcm1Db250ZW50Py5sb2NhbGU7bGV0IGQ9Yz8uc3BsaXQoIi0iKVswXTtjPWMmJk9PLmluY2x1ZGVzKGMpP2M6ZCYmT08uaW5jbHVkZXMoZCk/ZDp2b2lkIDB9Yz0oYz8/ImVuIikucmVwbGFjZUFsbCgiLSIsIl8iKS50b0xvd2VyQ2FzZSgpO2E9YS5pbml0aWFsaXphdGlvbkRhdGE/LnVzZU5pZ2h0bHlSZWxlYXNlPyJuaWdodGx5IjoibGl2ZSI7cmV0dXJuIGI/LmdldEVuYWJsZUFsb2hhQmluYXJ5U3BsaXQ/LigpPygwLF8uWXgpYGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3VzZXJ2b2ljZS9mZWVkYmFjay9jbGllbnQvd2ViLyR7YX0vbWFpbl9saWdodF9iaW5hcnkuanNgOigwLF8uWXgpYGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3VzZXJ2b2ljZS9mZWVkYmFjay9jbGllbnQvd2ViLyR7YX0vbWFpbl9iaW5hcnlfXyR7Y30uanNgfTsKYmlhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKFFPJiZSTz09PWIpcmV0dXJuIFFPO1JPPWI7dmFyIGU9UE8oYSxkKTtyZXR1cm4gUU89Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P1Byb21pc2UucmVzb2x2ZShiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3QpOm5ldyBQcm9taXNlKChmLGgpPT57dmFyIGs9Xy5DZCgiU0NSSVBUIik7Xy5vYihrLGUpO2sub25sb2FkPSgpPT57Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P2YoYi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0KTpoKEVycm9yKCJHZCIpKX07ay5vbmVycm9yPSgpPT57aChFcnJvcigiSGRgIitlLnRvU3RyaW5nKCkpKX07Yy5ib2R5LmFwcGVuZENoaWxkKGspfSl9OwpjaWE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoU08mJlRPPT09YilyZXR1cm4gU087VE89Yjt2YXIgZT1QTyhhLGQpO3JldHVybiBTTz1iLmZlZWRiYWNrVjJHbG9iYWxPYmplY3Q/UHJvbWlzZS5yZXNvbHZlKGIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdCk6bmV3IFByb21pc2UoKGYsaCk9Pnt2YXIgaz1fLkNkKCJTQ1JJUFQiKTtfLm9iKGssZSk7ay5vbmxvYWQ9KCk9PntiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3Q/ZihiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3QpOmgoRXJyb3IoIkdkIikpfTtrLm9uZXJyb3I9KCk9PntoKEVycm9yKCJIZGAiK2UudG9TdHJpbmcoKSkpfTtjLmJvZHkuYXBwZW5kQ2hpbGQoayl9KX07ZGlhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPURhdGUubm93KCk7YT1hd2FpdCAoYXdhaXQgYmlhKGEsYyxkLGIpKS5pbml0aWFsaXplRmVlZGJhY2tDbGllbnRBc3luYyhhLGUsYik7YS5pbml0aWF0ZUFsb2hhKCk7cmV0dXJuIGF9OwplaWE9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9RGF0ZS5ub3coKTthPWF3YWl0IChhd2FpdCBjaWEoYSxjLGQuZG9jdW1lbnQsYikpLmluaXRpYWxpemVGZWVkYmFja0NsaWVudEFzeW5jKGEsZSxiLGQpO2EuaW5pdGlhdGVBbG9oYSgpO3JldHVybiBhfTsKZmlhPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jfHxfLnU7aWYoYj8uZ2V0RW5hYmxlQWxvaGFCaW5hcnlTcGxpdD8uKCkpe2lmKGQuaXNGb3JtT3BlbmVkKXRocm93IG5ldyBVTztkLmlzRm9ybU9wZW5lZD0hMDthLmNhbGxiYWNrcz1hLmNhbGxiYWNrc3x8e307bGV0IGU9YS5jYWxsYmFja3Mub25DbG9zZXx8KCgpPT57fSk7YS5jYWxsYmFja3Mub25DbG9zZT1mPT57ZC5pc0Zvcm1PcGVuZWQ9ITE7ZShmKX07dHJ5e3JldHVybiBlaWEoYSxiLGQsZCl9Y2F0Y2goZil7dGhyb3cgZC5pc0Zvcm1PcGVuZWQ9ITEsZjt9fWVsc2V7aWYoZC5pc0Zvcm1PcGVuZWQpdGhyb3cgbmV3IFVPO2QuaXNGb3JtT3BlbmVkPSEwO2EuY2FsbGJhY2tzPWEuY2FsbGJhY2tzfHx7fTtsZXQgZT1hLmNhbGxiYWNrcy5vbkNsb3NlfHwoKCk9Pnt9KTthLmNhbGxiYWNrcy5vbkNsb3NlPWY9PntkLmlzRm9ybU9wZW5lZD0hMTtlKGYpfTt0cnl7cmV0dXJuIGRpYShhLGIsZCxkLmRvY3VtZW50KX1jYXRjaChmKXt0aHJvdyBkLmlzRm9ybU9wZW5lZD0KITEsZjt9fX07aGlhPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKChjLGQpPT57TnVtYmVyLmlzSW50ZWdlcihOdW1iZXIoYSkpJiZOdW1iZXIoYSk+MD8oZD1naWEoYj8/IiIpKyIvYWxvaGFfZm9ybV9wcm9wZXJ0aWVzP3Byb2R1Y3RJZD0iK2EsXy5seShkLGU9PntlPWUudGFyZ2V0O3ZhciBmPW51bGw7dHJ5e3ZhciBoPUpTT04saz1oLnN0cmluZ2lmeTtpZihlLnJhKXt2YXIgbD1lLnJhLnJlc3BvbnNlVGV4dDtsLmluZGV4T2YoIildfSdcbiIpPT0wJiYobD1sLnN1YnN0cmluZyg1KSk7dmFyIG09Xy5FdihsKX1lbHNlIG09dm9pZCAwO2Y9Xy5YeChWTyxrLmNhbGwoaCxtKSl9Y2F0Y2gobil7az1uZXcgVk8sbT1aaGEoKSxtPUhPKG0sMTUsITApLG09SE8obSwyMCwhMSksbT1ITyhtLDI1LCExKSxtPUhPKG0sMjYsITEpLGY9Xy5LdyhrLDEsbSl9YyhmKX0sIkdFVCIsIiIse30sMkUzLCEwKSk6ZChFcnJvcigiSWRgIithKSl9KX07CmdpYT1mdW5jdGlvbihhKXtyZXR1cm4gYWlhKGEpP2E6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdG9vbHMvZmVlZGJhY2sifTsKV089ZnVuY3Rpb24oYSxiLGMsZCl7YS50aW1lT2ZTdGFydENhbGw9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIGU9Y3x8Xy51LGY9ZS5kb2N1bWVudCxoPWEubm9uY2V8fF8uaWIoZS5kb2N1bWVudCk7aCYmIWEubm9uY2UmJihhLm5vbmNlPWgpO2lmKGEuZmxvdz09ImhlbHAiKXt2YXIgaz1fLnNhKCJkb2N1bWVudC5sb2NhdGlvbi5ocmVmIixlKTshYS5oZWxwQ2VudGVyQ29udGV4dCYmayYmKGEuaGVscENlbnRlckNvbnRleHQ9ay5zdWJzdHJpbmcoMCwxMjAwKSk7az0hMDtpZihiJiZKU09OJiZKU09OLnN0cmluZ2lmeSl7bGV0IGw9SlNPTi5zdHJpbmdpZnkoYik7KGs9bC5sZW5ndGg8PTEyMDApJiYoYS5wc2RKc29uPWwpfWt8fChiPXtpbnZhbGlkUHNkOiEwfSl9Yj1bYSxiLGMsZF07ZS5HT09HTEVfRkVFREJBQ0tfU1RBUlRfQVJHVU1FTlRTPWI7Yz1hLmZlZWRiYWNrU2VydmVyVXJpfHwiLy93d3cuZ29vZ2xlLmNvbS90b29scy9mZWVkYmFjayI7aWYoZD1lLkdPT0dMRV9GRUVEQkFDS19TVEFSVClkLmFwcGx5KGUsCmIpO2Vsc2V7ZT1jKyIvbG9hZC5qcz8iO2ZvcihsZXQgbCBpbiBhKWI9YVtsXSxiPT1udWxsfHxfLkFhKGIpfHwoZSs9ZW5jb2RlVVJJQ29tcG9uZW50KGwpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYikrIiYiKTthPV8ueGQoZikuY3JlYXRlRWxlbWVudCgiU0NSSVBUIik7aCYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixoKTtfLm9iKGEsXy5UYShlKSk7Zi5ib2R5LmFwcGVuZENoaWxkKGEpfX07CmlpYT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmZsb3c9PT0ic3VibWl0IixmPSEhXy5kcixoPXR5cGVvZiB3aW5kb3chPT0idW5kZWZpbmVkIiYmISEod2luZG93Ll9fa2FybWFfX3x8d2luZG93Lmphc21pbmV8fHdpbmRvdy5tb2NoYXx8d2luZG93Lmplc3QpO2lmKGUmJmgpV08oYSxiLGMsZCk7ZWxzZXtoPShhd2FpdCBoaWEoYS5wcm9kdWN0SWQsYS5mZWVkYmFja1NlcnZlclVyaSkpPy52KCk7Zj0hZnx8aD8uZ2V0RW5hYmxlTXdlYigpO3ZhciBrPSFhLnRpbnlOb1BvaW50ZXJ8fGg/LmdldEVuYWJsZVRpbnlOb1BvaW50ZXIoKTtmPSFlJiYoIWh8fGguZ2V0QWxvaGFBdXRvR2FSb2xsb3V0KCkmJmYmJmspO2U9ZSYmaD8uZ2V0RW5hYmxlQWxvaGFIZWFkbGVzcygpJiZhLnJlcG9ydDtmfHxlP2F3YWl0IFhPKGEsYixjLGgsZCk6V08oYSxiLGMsZCl9fTsKWE89YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1jfHxfLnUsaD1hLnNlcnZlckVudmlyb25tZW50PT09IkRFViI7Yz1jfHxfLnU7Yz1hLm5vbmNlfHxfLmliKGMuZG9jdW1lbnQpO2g9e2ludGVncmF0aW9uS2V5czp7cHJvZHVjdElkOmEucHJvZHVjdElkLGZlZWRiYWNrQnVja2V0OmEuYnVja2V0LHRyaWdnZXJJZDphLnRyaWdnZXJJZCxtaWNyb2ZlZWRiYWNrU2NvcmU6YS5taWNyb2ZlZWRiYWNrU2NvcmV9LGNhbGxiYWNrczp7b25DbG9zZTphLmNhbGxiYWNrLG9uTG9hZDphLm9uTG9hZENhbGxiYWNrfSxmb3JtQ29udGVudDp7bG9jYWxlOmEubG9jYWxlLGRpc2FibGVTY3JlZW5zaG90OmEuZGlzYWJsZVNjcmVlbnNob3R0aW5nLHByb2R1Y3REaXNwbGF5TmFtZTp2b2lkIDAsYW5ub3VuY2VtZW50OnZvaWQgMCxpc3N1ZUNhdGVnb3JpZXM6dm9pZCAwLGluY2x1ZGVTZXZlcml0eVNlbGVjdGlvbjp2b2lkIDAsY3VzdG9tSW1hZ2VTcmM6dm9pZCAwLHRoYW5rWW91TWVzc2FnZTp2b2lkIDAsCnVzZXJFbWFpbDp2b2lkIDAsZGVmYXVsdEZvcm1JbnB1dFZhbHVlczp2b2lkIDAsZGVmYXVsdEZvcm1JbnB1dFZhbHVlc1N0cmluZzp2b2lkIDAsYWJ1c2VMaW5rOmEuYWJ1c2VMaW5rLGFkZGl0aW9uYWxEYXRhQ29uc2VudDphLmFkZGl0aW9uYWxEYXRhQ29uc2VudH0saW5pdGlhbGl6YXRpb25EYXRhOntpc0xvY2FsU2VydmVyOmgsbm9uY2U6Yyx1c2VOaWdodGx5UmVsZWFzZTpoLGZlZWRiYWNrSnNVcmw6dm9pZCAwLGZlZWRiYWNrQ3NzVXJsOnZvaWQgMCxmZWVkYmFja0pzVXJsU2VyaWFsaXplZDp2b2lkIDAsZmVlZGJhY2tDc3NVcmxTZXJpYWxpemVkOnZvaWQgMCxzdWJtaXNzaW9uU2VydmVyVXJpOmEuZmVlZGJhY2tTZXJ2ZXJVcmksY29sb3JTY2hlbWU6YS5jb2xvclNjaGVtZX0sZXh0cmFEYXRhOntwcm9kdWN0VmVyc2lvbjphLnByb2R1Y3RWZXJzaW9uLGF1dGhVc2VyOmEuYXV0aHVzZXIsY29uZmlndXJhdG9ySWQ6YS5jb25maWd1cmF0b3JJZCxjdXN0b21aSW5kZXg6YS5jdXN0b21aSW5kZXgsCnRpbnlOb1BvaW50ZXI6YS50aW55Tm9Qb2ludGVyLGFsbG93Tm9uTG9nZ2VkSW5GZWVkYmFjazphLmFsbG93Tm9uTG9nZ2VkSW5GZWVkYmFjayxlbmFibGVBbm9ueW1vdXNGZWVkYmFjazphLmVuYWJsZUFub255bW91c0ZlZWRiYWNrfX07YS5yZXBvcnQmJihoLmhlYWRsZXNzUmVwb3J0PWEucmVwb3J0KTtiJiYoYT1uZXcgTWFwKE9iamVjdC5lbnRyaWVzKGIpKSxoLmV4dHJhRGF0YS5wcm9kdWN0U3BlY2lmaWNEYXRhPWEpO2UmJihlPW5ldyBNYXAoT2JqZWN0LmVudHJpZXMoZSkpLGguZXh0cmFEYXRhLnByb2R1Y3RTcGVjaWZpY0JpbmFyeURhdGE9ZSk7YXdhaXQgZmlhKGgsZCxmKX07Cl8uWU89ZnVuY3Rpb24oYSxiLGMsZCl7dHJ5e2lmKGEuZmxvdz09PSJoZWxwIil7bGV0IGU9YS5oZWxwQ2VudGVyUGF0aC5yZXBsYWNlKC9eXC8vLCIiKTtfLkVPKGN8fHdpbmRvdyxgaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vJHtlfWApfWVsc2UgaWlhKGEsYixjLGQpLmNhdGNoKGU9PnshZXx8ZSBpbnN0YW5jZW9mIFVPfHxXTyhhLGIsYyxkKX0pfWNhdGNoKGUpe1hPKGEsYixjLG51bGwsZCkuY2F0Y2goZj0+eyFmfHxmIGluc3RhbmNlb2YgVU98fFdPKGEsYixjLGQpfSl9fTtfLlpPPWZ1bmN0aW9uKCl7dmFyIGE9Xy5JTyhbImZ1bGxzY3JlZW5FbGVtZW50Iiwid2Via2l0RnVsbHNjcmVlbkVsZW1lbnQiLCJtb3pGdWxsU2NyZWVuRWxlbWVudCIsIm1zRnVsbHNjcmVlbkVsZW1lbnQiXSxkb2N1bWVudCk7cmV0dXJuIGE/YTpudWxsfTsKXy4kTz1mdW5jdGlvbihhKXt2YXIgYj1hLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFja2xpc3QiLHtpbmNsdWRlQXNyOiEwfSk/P1tdO3JldHVybiBiPWppYShiLGEpfTtfLmFQPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFuc2xhdGlvbkxhbmd1YWdlcyIse2luY2x1ZGVBc3I6ITB9KXx8W119O2ppYT1mdW5jdGlvbihhLGIpe2I9Xy5hUChiKTtpZighYj8ubGVuZ3RoKXJldHVybiBhO3ZhciBjPWIuZmlsdGVyKGQ9PmQpO2I9YS5maWx0ZXIoZD0+ZC5sYW5ndWFnZUNvZGU/LnN0YXJ0c1dpdGgoImVuIikpO2ZvcihsZXQgZCBvZiBjKWlmKGIubGVuZ3RoKXtjPWJbMF07bGV0IGU9ey4uLmN9O2MubGFuZ3VhZ2VDb2RlIT09ZC5sYW5ndWFnZUNvZGUmJihlLmRpc3BsYXlOYW1lPWAke2MubGFuZ3VhZ2VOYW1lfSA+PiAke2QubGFuZ3VhZ2VOYW1lfWAsZS50cmFuc2xhdGlvbkxhbmd1YWdlPWQsYS5wdXNoKGUpKX1yZXR1cm4gYX07CmtpYT1mdW5jdGlvbigpe18uTU8oJ1thcmlhLWxhYmVsPSJZb3VUdWJlIl0nLDUse3JsOiEwfSl9O2VQPWZ1bmN0aW9uKGEpe3ZhciBiPWJQO2ImJihhP2NQPV8ueEYoYiwoKT0+Xy5LKGRQLG51bGwsXy5LKF8udE4se2NvbXBvbmVudDpsaWF9KSkse0lrOl8uWEN9KTooY1A/LigpLGNQPW51bGwpKX07aFA9ZnVuY3Rpb24oKXtjUCYmKGNQKCksY1A9bnVsbCk7ZlAodm9pZCAwKTtnUCgib3V0Iik7YlAmJihiUC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGJQKSxiUD1udWxsKX07bFA9ZnVuY3Rpb24oKXtpUC5sZW5ndGgmJihnUCgib3V0Iiksc2V0VGltZW91dCgoKT0+e2lQLnNoaWZ0KCk7aVAubGVuZ3RoPjA/KGhQKCksalAoKSxrUCgpKTooZVAoKSxoUCgpKX0sMTk1KSl9O21pYT1mdW5jdGlvbigpe18uTk0od2luZG93LCJzdGF0ZS1uYXZpZ2F0ZWVuZCIsKCk9PntzZXRUaW1lb3V0KGtpYSwxRTMpfSl9OwpuaWE9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYzMtdG9hc3QiKTtpZihiKXtsZXQgYz1iLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpO2MmJl8uTk0oYywiZm9jdXMiLCgpPT57Y2xlYXJUaW1lb3V0KG1QKTttUD1zZXRUaW1lb3V0KGxQLGEpO18uTk0oYywiYmx1ciIsKCk9PntfLk9FKF8ublApfSl9KX19O2tQPWZ1bmN0aW9uKCl7Z1AoImluIik7dmFyIHtjb250ZW50OmEsZHVyYXRpb25NczpifT1pUC5sZW5ndGg/aVBbMF06e307ZlAoYSk7Y1B8fGVQKGEpO21QPXNldFRpbWVvdXQoKCk9PntsUCgpfSwyMjUrKGJ8fDApKTtfLlVNKCk9PT0ibGlicmFyeSI/bWlhKCk6YiE9PXZvaWQgMCYmbmlhKGIpfTtqUD1mdW5jdGlvbigpe2JQfHwoYlA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksYlAuaWQ9InRvYXN0cyIsKF8uWk8oKXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoYlApLGVQKCkpfTsKXy5wUD1mdW5jdGlvbihhLGI9b1AsYz0hMSl7alAoKTtiPWJ8fG9QO2MmJmlQLmxlbmd0aD4wPyhjbGVhclRpbWVvdXQobVApLF8uT0UoKCk9PntpUFswXT17Y29udGVudDphLGR1cmF0aW9uTXM6Yn07a1AoKX0pKTooaVAucHVzaCh7Y29udGVudDphLGR1cmF0aW9uTXM6Yn0pLGlQLmxlbmd0aD09PTEmJl8uT0Uoa1ApKX07Xy5uUD1mdW5jdGlvbigpe2lQLmxlbmd0aD4wJiYoY2xlYXJUaW1lb3V0KG1QKSxsUCgpKX07Xy5xUD1mdW5jdGlvbihhKXtfLlhNKCJuYXZpZ2F0ZSIsYSl9O18uclA9ZnVuY3Rpb24oKXtyZXR1cm4gXy54KCJtd2ViX25ld19mdWxsc2NyZWVuIik/ISFfLlpPKCk6ISFfLlpPKCl8fHdpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNmYXV4ZnVsbHNjcmVlbiJ9OwpfLnNQPWZ1bmN0aW9uKGEpe2E9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYS50b1N0cmluZygpKTthLmZvY3VzKCk7YS5zZXRTZWxlY3Rpb25SYW5nZSgwLGEudmFsdWUubGVuZ3RoKTthPSExO3RyeXthPWRvY3VtZW50LmV4ZWNDb21tYW5kKCJjb3B5Iil9Y2F0Y2goYil7fV8ucFAoYT8oKT0+b2lhOigpPT5waWEpfTtfLnRQPWZ1bmN0aW9uKCl7cmV0dXJuISFfLncoIklEX1RPS0VOIil9O05oYT17SEM6MCx2QzoxLEJDOjIseUY6MyxYbjo0LERIOjUsQkY6NixRRzo3LHBHOjgsdUc6OSxURjoxMCxuRjoxMSwwOiJERUZBVUxUIiwxOiJDSEFUIiwyOiJDT05WRVJTQVRJT05TIiwzOiJNSU5JUExBWUVSIiw0OiJESUFMT0ciLDU6IlZPWiIsNjoiTVVTSUNfV0FUQ0hfVEFCUyIsNzoiU0hBUkUiLDg6IlBVU0hfTk9USUZJQ0FUSU9OUyIsOToiUklDSF9HUklEX1dBVENIIiwxMDoiUElDVFVSRV9JTl9QSUNUVVJFIiwxMToiTUVESUFfQ0xJRU5UIn07ClRoYT1bMzYxMSwyNzY4NiwyMjEwNTgsODUwMTMsMjM0NjIsMjQxMTg3LDE1NzU1Nyw0MjAxNiwyNjkyNiw1MTIzNiw3OTE0OCw1MDE2MCw3NzUwNCwzMTAyODEsMTUzNTg3LDg3OTA3LDE4NjMwLDE3NzAxOCwxNzcwMjMsNTQ0NDUsMzIxNjY2LDMyNjM1MywzMjYzNTQsODA5MzUsMTUyMTcyLDE4NDU1MywxMDU2NzUsMTUwNzIzLDM3NTIxLDE0NzI4NSw0Nzc4NiwyMzEyNTUsMjMxMjU0LDIzMTI1OCwyMzEyNTksOTgzNDksMjM3Mjk5LDE2ODI3MSwxNjg5NTQsMTY4Mjc3LDE2ODI3MywxNjgyNzAsMTIzNjk1LDI3MjAxOCwzMzg0OTcsMjI2OTg3LDIyNjk5MCwyMjY5ODgsNjgyNywyOTQzNCwyNTUwMTAsMTcxMzg4LDI0NDE4OSwyMzYyMDgsNzI4MiwxMjQ0NDgsMjk5OTAzLDI5OTg5NywyOTk5MDQsMjk5OTAxLDI5OTg5OSwyOTk5MDIsMjk5OTAwLDI5OTg5OCwxOTYwODgsMjUwODk3LDE5ODEwNCwzMjI3NiwxOTUxMTUsMTk1MTE0LDc2Mjc4LDIwMDYzNSwyMzA1OTQsMTQ3ODY4LDE0Nzg2OSwKMjc2MjQzLDkzOTExLDI3NDE4OCwyNzY2NTEsMzEzNjgwLDEwNjUzMSwyNTcyMzQsMjUyNTk4LDI1MjU5NywyNTI2MDAsMjUyNTk5LDI1MjU5NiwyMjUwMzEsMTc3ODQzLDI3MjU5LDI3MjYyLDI3MjYzLDIxNzU5LDI4MzY3MCwxNjA4NjYsMjA0MjQ5LDIyMjkwMCwyMDQyNTAsMTgwNjI2LDE3Nzk1OSwxNzc5NTcsMTgwNjI4LDIwNTcxNiwxOTc4NzgsMjczNzY2LDE3MTI0MywxNjA3ODksMTcxMjQ0LDE3MTI0MSwxNzEyNDUsMTcxMjQyLDIyNTU2MCwxODA2MjcsMTc3OTYwLDIzMTU4OSwxNzc5NTgsMTgwNjI5LDIwNTcxNywxOTc4NzksMTc3NTY1LDIxMjU3MywyMTA3MDksOTk0NDEyLDIzMDY4NCwyMjk4MDEsMjMwNjg1LDMzNDMxMCwzMzQzMTEsMzM0MzEyLDE5NzMzNywyMDkwMTAsMTk3MzM2LDE5NzMzOCwxOTg2MTgsMzAwODg0LDE3NTQ5MiwxOTgwNTIsMTk4MDUxLDE5Nzg1MiwxOTc5NzYsMzE3Mzc3LDE3NTQ5MywxNzU0OTQsMTc1NDk1LDE4OTI1NCwxNzU0OTYsMTc1NDk3LDM4NDA4LAoxNzU0OTgsMTc1NTAzLDE3NTUwNCwxNzU1MDUsMTc1NTA2LDE3NTUwNywxNzU1MDgsODA2MzcsNjg3MjcsMjA2OTMzLDIwNzk0NCwyMDY5MzQsMzAzMTIzLDIwNjkyOSwyMjE1NzUsNjg3MjgsMjIxNTc2LDgwMzUzLDgwMzU2LDMwODAzMywyNDkxMDcsMTgwNjM1LDc0NjEwLDQ1NzA3LDgzOTYyLDgzOTcwLDQ2NzEzLDE2NjU5MSw4OTcxMSw3NDYxMiwyMTM4MDksMTc5NjA3LDI0NTAwNiwxNTU3OTIsOTMyNjUsNzQ2MTEsMTMxMzgwLDEyODk3OSwxMzkzMTEsMTI4OTc4LDEzMTM5MSwxMDUzNTAsMTM5MzEyLDMzMzYzNywxMzQ4MDAsMTMxMzkyLDExMzUzMywyMjkyOTgsOTMyNTIsOTkzNTcsOTQ1MjEsMTE0MjUyLDExMzUzMiw5NDUyMiw5NDU4MywyMDIzNzEsODhFMywxMzk1ODAsOTMyNTMsOTMyNTQsOTQzODcsOTQzODgsOTMyNTUsOTc0MjQsNzI1MDIsMjE5ODY4LDIxMjk5MSwxMTAxMTEsNzYwMTksMTE3MDkyLDExNzA5Myw4OTQzMSwxOTE4MzEsMTEwNDY2LDIzMTM0Niw3NzI0MCwKNjA1MDgsMTg2MDkxLDE0ODEyMywxNDgxMjQsMTM3NDAxLDEzNzQwMiwxMzcwNDYsNzMzOTMsMjQ2Nzc2LDExMzUzNCwyNzYyMDAsOTIwOTgsMTMxMzgxLDg0NTE3LDgzNzU5LDMwOTU4MCwyMzA2NzYsMjQ5MTgzLDIzMDY3OSwyMzA2NzgsMjMwNjc3LDIzMDY4MSwyMzA2ODAsMTYyNzExLDIzNTIzNCwxNjI3MTIsODAzNTcsOTk0NDExLDI0MzMxNSwzMTM1MDYsMzIxOTY0LDg2MTEzLDcyNTk4LDE2ODQxMyw3MjczMywxMDczNDksMTI0Mjc1LDExODIwMywyMDA0MTAsMTMzMjc1LDE2MDE1NywxNTI1NjksMTU2NjUxLDEzMzI3NCwxNjAxNTksMTYwMTU4LDEzMzI3MiwxMzMyNzMsMTMzMjc2LDE0NDUwNywxNDMyNDcsMTc1OTk0LDE1NjY1MiwxNDMyNDgsMTQzMjQ5LDE0MzI1MCwxNDMyNTEsMTg5ODkyLDE4OTg5NCwxODk4OTMsMTU2NjUzLDIxNDIzNiwxNDQ0MDEsMTE3NDMxLDEzMzc5NywyMjUxMzcsMjczOTA1LDIyMjYxMiwyMjI2MTMsMTUzOTY0LDIwMTEzMywyMDExMzQsMjAxMTM1LAoyMDExMzYsMjAxMTM3LDEyODU3MiwyMDA0MTEsMjAwNDEyLDE5MDMzNywxMzM0MDUsMTE3NDI5LDExNzQzMCwxNzc5NTAsMTc0NzM0LDE3Nzk1MSwyMDExMzgsMjAxMTM5LDIwMTE0MCwyMDExNDEsMjAxMTQyLDExNzQzMiwxNzM5OTYsMTczOTk1LDE3NDk1MywxNzM5OTQsMTczOTk3LDEyMDA4MCwxMTcyNTksMTc4NTQ2LDI5Nzc1MiwxOTc4OTEsMTU2NjU1LDE1NjY1NCwxMjE2OTIsMjExNDE0LDIxMTQxMSwyMTE0MTIsMjExNDEzLDIxMTQwMywxODQ4NDYsMTg1OTkzLDMzNTA0OCwxNDU2NTYsMTU2NjU2LDE0NTY1NSwxNDU2NTMsMTQ1NjU0LDE0NTY1NywxMzI5NzIsMTMzMDUxLDEzMzY1OCwxMzI5NzEsMzM2NzI4LDk3NjE1LDE4MTI2MiwxOTA3NjIsMjUwMzQ0LDI1NDAyNywxNDMzNTksMTQzMzU2LDE0MzM2MSwxNDMzNTgsMTQzMzYwLDE0MzM1NywxNDIzMDMsMTQzMzUzLDI4MjE1OSwxNzI4NTksMTQzMzU0LDE0NDQ3OSwxNDMzNTUsMzE0MDIsMTgxNTkwLDEzMzYyNCwxNDY0NzcsCjEzMzYyMywxMzM2MjIsMTMzNjIxLDE5MjQxOCw4NDc3NCwzMDQ3NzYsMTk3OTkzLDI0MTQ2MCwxNjA4MDEsMTk3OTk1LDk1MTE3LDE3MjcyMSwxNTA0OTcsOTg5MzAsOTg5MzEsOTg5MzIsMzM4NTcwLDMzODQ3NCwzMzg0NzgsMzM4NDczLDE1MzMyMCwxNTMzMjEsNDMzNDcsMzA1MjY4LDI0OTI5NSwyMTAwMTYsMjEwMDE3LDI2MjY4NiwyMTE4NTEsMjExODUyLDMwNzIxOSwyMTE4NTMsMzI3ODEwLDEyOTg4OSwxOTc4ODgsMTk3ODg5LDE0OTEyMywyMjE5NTksMjIxNjI3LDIyMTk1OCw0NTQ3NCwxMDAzNTIsOTg0NDMsMTE3OTg1LDMzMzcwOCw3NDYxMywxNTU5MTEsNzQ2MTQsNjQ1MDIsMTM2MDMyLDc0NjE1LDc0NjE2LDEyMjIyNCw3NDYxNyw3NzgyMCw3NDYxOCwyNjI5ODgsMjYyOTg5LDIyNjk4MSw5MzI3OCw5MzI3NCw5MzI3NSw5MzI3NiwyMDA2ODgsMjAwNjg2LDIwMDY4NywxOTk4NDEsMjIxMTAsMjk0MzMsMTMzNzk4LDEzMjI5NSwyODEzMzIsMTIwNTQxLDIyMjExMiw4MjA0NywKMTEzNTUwLDc1ODM2LDc1ODM3LDMwMzg4MiwxOTI0MDksMjAzMjIxLDQyMzUyLDg0NTEyLDc2MDY1LDc1OTg5LDIwNTkxMSwyMDU5MTIsMjUyNjQ5LDIwNTkxMywyNTI2NTAsMjUyNjUxLDUxODc5LDE2NjIzLDMyNTk0LDI3MjQwLDMzODEwOSwyOTMzMjQsMzI2MzMsNzQ4NTgsMzA0MTUwLDI5NzA0NSwyNzUxOTgsMjcxODg0LDIyMjkzMiwyNzkxMTksMzEyNTgxLDI3MTg4NiwyMTM5MTUsMjc1MTk5LDMxMDc0OCwyMjUyMTYsMjUxMjQ0LDI1ODI1MSwyMTg2NzQsMjUxMjY2LDI1ODI1MCwyNTEyNjUsMzAxNjYyLDI1MTI0NSwyNzE4ODUsMzE1ODE4LDE1Njk5OSwzOTQ1LDE2OTg5LDQ1NTIwLDI1NDg4LDI1NDkyLDI1NDk0LDIzMjExMyw1NTc2MCwxNDA1NywxODQ1MSw1NzIwNCw1NzIwMywxNzg5NywxODE5OCwxNzg5OCwxNzkwOSw0Mzk4MCwyMjEwNTMsMTk1NTI5LDE4OTY2MCwzMDgwODgsMzA2NDQ4LDMwNjQ0NywzMDgwODcsMzA4MDg2LDQ2MjIwLDExNzIxLDE0Nzk5NCw0OTk1NCw5NjM2OSwKMzg1NCwyMTc2NDAsMTUxNjMzLDU2MjUxLDIwNTE5MiwyMTY3OTcsMTU5MTA4LDE4MTU2OCwyMzQ3ODksMjU2MjQsMTUyMDM2LDE2OTA2LDk5OTk5LDY4MTcyLDQ3OTczLDcyNzczLDI2OTcwLDI2OTcxLDk2ODA1LDE3NzUyLDI4MjE4MSwyNzg5MjYsNzMyMzMsMjA1OTIzLDEwOTUxMiwyMjI1NiwxNDExNSwyMjY5NiwyMzQ0MDksMjM0NDA4LDg5Mjc4LDg5Mjc3LDE5NTc0NSwxMDk1MTMsNDMyNzgsNDM0NTksNDM0NjQsODkyNzksNDM3MTcsNTU3NjQsMjIyNTUsMTQ3OTEyLDg5MjgxLDQwOTYzLDQzMjc3LDQzNDQyLDkxODI0LDI4Mzg5OCwxMjAxMzcsMTg2MzUwLDE4NjM1MSwyNTY2OTAsMjY0MzQ5LDI2NDM1MSwyNjQzNTAsMjY0MzUyLDIxMTAyNiwyNTA4OTYsOTYzNjcsMzY4NTAsNzI2OTQsMzc0MTQsMzY4NTEsMTI0ODYzLDEyMTM0Myw3MzQ5MSw1NDQ3MywxNjY4NjEsNDMzNzUsNDY2NzQsMzAyNjMxLDMzMTQ3MywyNDI1MjgsMTQzODE1LDEzOTA5NSwxNDQ0MDIsMTQ5OTY4LDE0OTk2OSwKMzI0NzMsNzI5MDEsNzI5MDYsNTA2MTIsNTA2MTMsNTA5NDIsODQ5MzgsODQ5NDMsODQ5MzksODQ5NDEsODQ5NDQsODQ5NDAsODQ5NDIsMzU1ODUsNTE5MjYsNzk5ODMsMTg5MjEsNTc4OTMsNDExODIsMTM1NzMyLDMzNDI0LDIyMjA3LDM2MjI5LDIyMjA2LDIyMjA1LDQ0NzYzLDMzNDI3LDY3NzkzLDIyMTgyLDM3MDkxLDM0NjUwLDUwNjE3LDIyMjg3LDI1MTQ0LDk3OTE3LDIyMDEyMiw2MjM5NywxNTA4NzEsMTUwODc0LDEyNTU5OCwxMzc5MzUsMzY5NjEsMTA4MDM1LDMyMzQ5MywyNzQyNiwyNzg1NywyNzg0NiwyNzg1NCw2OTY5Miw2MTQxMSwzOTI5OSwzODY5Niw2MjUyMCwzNjM4MiwxMDg3MDEsMTkyNjgyLDI3OTUzMSw1MDY2MywzNjM4NywxNDkwOCwzNzUzMywxMDU0NDMsNjE2MzUsNjIyNzQsMTYxNjcwLDEzMzgxOCwxODIxMTksNjU3MDIsNjU3MDMsNjU3MDEsMzIwNDY0LDc2MjU2LDI5ODE1NywyNjM4NDMsMzE1MjM0LDE5NjA3NSwxOTQ3NjgsMjUyMjAxLDE5NDc2OSwxOTE4ODUsCjI4MTQ4MCwyMzM2MzQsMjY1ODEwLDE5NDc3MCwyOTY5MzMsMTk1MzUwLDMyNzM4NSwzMjQ1ODYsMzAxNjA3LDE5NTM0OSwxOTQ3NzEsMjkzMDQxLDMwMTEyMSwyOTMwNDIsMjkzMDQzLDMwMTExNiwxNjYzODIsMzc2NzEsNDk5NTMsMjIwNjY5LDYwMDAwMSw2MDAwMDIsNkU1LDMzNTEzNCwyNDkyMjksMjEzNzc0LDIwNDU3MiwxOTEzODksMjcyMjU0LDI3MjI1MywyNTM4MzAsMjUzODMxLDI1MzgzMiwyNzIyNTIsMjUzODMzLDI1MzgzNCwyMDQ1NzQsMTkxMzkwLDE3OTU1NiwyMzg1OTYsMjEyNjYxLDE5MTM5MiwxOTc4MjYsMTkxMzkzLDIwNDU3MywzNjIxNiwyODIzNywyNDEyMTIsMjcyMDQ5LDE3MzcxOCwzOTU1MywxOTI1NDcsMjkyMjIsMzA0ODQ1LDI2MTA3LDI0MTIxMSwzODA1MCwyNjEwOCwyNzU4MTAsMTIwNzQ1LDI2MTA5LDI2MTEwLDY2ODgxLDI4MjM2LDE0NTg2LDI5NzY3MiwxNjA1OTgsNTc5MjksMjI2NzM2LDc0NzIzLDQ0MDk4LDE3MzY4OSw0NDA5OSwyMzUyOCw2MTY5OSwKMTM0MTA0LDEzNDEwMywxOTgzMTMsNTkxNDksMTgxMDEzLDI3ODMwNiwyODI0NzIsMjc3ODQ4LDE3MzE5MSwxNzMxOTIsMTczMTkzLDEwMTk1MSwxNzE1MDIsMTk2MDQzLDE5ODMwNSw5NzM0NiwxMTgwNTEsOTUxMDIsNjQ4ODIsMTE5NTA1LDYzNTk1LDI5NDExOSwyNTcyNjgsNjMzNDksMjgxMTI3LDI0MDU1Myw5NTEwMSw3NTI0MCwyNzAzOSw2ODgyMywyMTUzNyw4MzQ2NCw3NTcwNywyNTI5MDQsMTcwMjE1LDIyMzAzMyw4MzExMywxMDE5NTIsMTAxOTUzLDc5NjEwLDEyNTc1NSwyNDQwMiwyNDQwMCwzMjkyNSwxOTM0MDYsNTcxNzMsMTgzMzUxLDE1NjQyMSwxMjI1MDIsMTQ1MjY4LDEzODQ4MCw2NDQyMyw2NDQyNCwzMzk4NiwxMDA4MjgsMTI5MDg5LDI5OTU0MSwyMTQwOSwyODIyMTgsMjk5NTA2LDMzMzk1NiwyOTk1NDAsMjk5NTA3LDI5OTUwOSwyOTk1MzksMjk5NTA4LDI5OTUxMCwxODU2MTIsMjIyODI1LDMyMzMzMSwyNDUzNjYsMTM1MTU1LDEzNTE1NiwxMzUxNTcsMTM1MTU4LAoxNTgyMjUsMTM1MTU5LDEzNTE2MCwxNjc2NTEsMTM1MTYxLDEzNTE2MiwxMzUxNjMsMTU4MjI2LDE1ODIyNywxMzUxNjQsMTM1MTY1LDEzNTE2NiwxMTA3MCwxMTA3NCwxNzg4MCwyNzA1NjAsMzA3MDksMzA3MDcsMzA3MTEsMzA3MTAsMzA3MDgsMTg1MjEzLDE4NTI3MywxNDYxNDMsNjM2NDgsNjM2NDksMjIxMDU2LDI2NDQ5MCwyMTExODksMTExMDU5LDIxMTE4OCw1NzU0LDI2NDQ5MSwyMDQ0NSwyMzM0NzEsMTUxMzA4LDMxMzc1MCwxNTExNTIsMjI4MDY3LDEzMDk3NSwxMzA5NzYsMjQ3MjQ0LDI3MTYyMiwyNzE4MTMsMjYxMjEwLDIxMDgxNSwyOTUwNjksMjQ2MTI3LDMxNjg1OCwyNDUyNTYsMjQ0OTUwLDE5MTkyNSwxNjc2MzcsMjM0NTQ1LDE5NzE5NiwzMDI3MzUsMjE0Mjk1LDExMDM4NiwyMjEwNTQsMjczOTYwLDI4MjExMSwzMTIyOTAsMTEzNzQ2LDMyNTU5MywyNjg4ODYsNjY1NTcsMTgzMjE1LDE3MzEwLDI4NjMxLDIwMTkzNSwyMTU4OSwyNDIwMzYsMjM4MzUxLDE2NDgxNywKMTY4MDExLDE1NDk0Niw2ODAxMiwxNjI2MTcsNjA0ODAsMTg0NDMxLDEzODY2NCwyOTQwODksMjQ5ODI3LDE5NEUzLDE0MTEyMSwxNjQ1MDIsMzE1NzEsMTk1MDAyLDIwNjc5MywxNDE5NzgsMjMzOTg1LDI1MDg5NSwyNTQwNTIsMjU0MDUzLDI1NDA1NCwyNTQwNTEsMjU0MDUwLDI1NDA1NSwxNTAxMDUsMzA0MTY5LDE1MDEwNiwxNTAxMDcsMTUwMTA4LDc2OTgwLDQxNTc3LDQ1NDY5LDM4NjY5LDEzNzY4LDEzNzc3LDE0MTg0Miw2Mjk4NSwyMTMxOTAsNDcyNCwyMjMwNTIsNTkzNjksNDM5MjcsNDM5MjgsMTI5MjQsMTk3ODUzLDEwMDM1NSw1NjIxOSwyNzY2OSwyMDk5MjgsMTAzMzcsMjAzNjQ4LDIwMzY0OSw0Nzg5NiwzMjY5MzcsMTIyNjI5LDE4NjIwNCwyMjI4MjQsMjc1ODY5LDMxMjI5NSwyNzE2NzMsMjc0NjM3LDMxNzQ2MiwxMzk3MjMsMTM5NzIyLDEyMTI1OCwyNTM3ODksMjUzNzg3LDI1Mzc4NiwyNTM3ODgsMjUzNzkwLDEwNzU5OCwxMjc5OTEsOTY2MzksMTA3NTM2LDEzMDE2OSwKMjE2NTIyLDI5NjMxNiw5NjY2MSwxNDUxODgsMzIwNDI4LDIxMzkwNCwyNjkzNDIsOTY2NTgsMTE2NjQ2LDE1OTQyOCwxNjg2MTEsMTY4NjEyLDEyMTEyMiwyMTk4NjIsOTY2NjAsMjgyMjA4LDEyNzczOCwxMjcwODMsMTU1MjgxLDE2Mjk1OSwyMjA4ODYsMjI3MzU2LDI0ODAwNywxNjM1NjYsMzA3NjQ2LDE4NjY0MSwxNDc4NDIsMjczNjQ2LDI3MzY0NywyMTc5MzIsMTA0NDQzLDk2NjU5LDE0NzU5NSwxMDY0NDIsMjQ3MTYyLDIzMTQ5MywyMTM0MjcsMjk2ODEzLDI0NjU3NSwxODI0MjMsMTYyNzc2LDIyODkwOCwxMzQ4NDAsNjM2NjcsNjM2NjgsNjM2NjksMTMwNjg2LDMzNzE3MiwyNDgzODEsMTQ3MDM2LDIzOTA5NCwyNjI3NDMsMTg5ODEwLDIzOTA5NSw3ODMxNCwxNDc3OTksMzA1OTE5LDMwNTkyNCwyMzcxNDYsMTc0MDQ5LDE0ODY0OSw1NTc2MSwxMjcwOTgsMTM0ODQxLDk2MzY4LDY3Mzc0LDQ4OTkyLDE0NjE3NiwxNzYxMDUsMzIzMzIxLDMyMzMyMiwyMzMwMzUsNDk5NTYsMjY3NjQ1LAoyNzU3ODIsMTkwMTkwLDIyNTczOSwzMTk2MSwyNjM4OCwyMzgxMSw1RTQsMTI2MjUwLDk2MzcwLDIxMDU0OSwzMjk0OTAsNDczNTUsNDczNTYsMzc5MzUsNDU1MjEsMzMxNTM2LDMzMTUzNCwzMzE1MzUsMzMxNTMzLDIxNzYwLDgzNzY5LDQ5OTc3LDQ5OTc0LDkzNDk3LDkzNDk4LDM0MzI1LDE0MDc1OSwxMTU4MDMsMTIzNzA3LDEwMDA4MSwzNTMwOSwyMzc3MDYsNjgzMTQsMjU2MDIsMTAwMzM5LDE3MDg3MywxNDM1MTYsMjk5MjQ3LDE3ODkyMSwyNjg1NzQsMjU0ODg0LDI1ODIzMiw1OTAxOCwxODI0OCw1MDYyNSw5NzI5LDM3MTY4LDM3MTY5LDIxNjY3LDE2NzQ5LDE4NjM1LDM5MzA1LDE4MDQ2LDIyMTA1NywzMDE4OTcsMzAxOTAwLDI2OTk5MCw1Mzk2OSw4MjEzLDkzOTI2LDIyMTA1NSwyMTA1NDIsMjEyNTUyLDEwMjg1MiwxMTAwOTksMjI2NzgsNjkwNzYsMTM3NTc1LDEzOTIyNCwxMDA4NTYsMjM1NzcwLDE1NDQzMCwyMzU4NjEsMjA5NzU3LDE3NzM2LDM4MzIsMTQ3MTExLDU1NzU5LAo2NDAzMSwyMzQ3NDYsOTMwNDQsOTMwNDUsMjgxMzAyLDE3MDcwMSwxNzA3MDIsMTk0Nzk2LDM0Mzg4LDE2Nzg0MSwxNzA0MTksMTc2NTcsMTc2NTUsMzk1NzksMzk1NzgsMTcwNDEyLDc3NDQ4LDgxOTYsMTEzNTcsNjk4NzcsODE5NywxNjg1MDEsMTU2NTEyLDE2MTYxMywxNTY1MDksMjA4Mjc0LDE2MTYxMiwxNjE2MTQsMjY3NjkyLDI2Nzg1MSwyNjc1NzcsMjc5NzU1LDI2NzY5MywyNjc2OTQsMjY3NTc4LDI2MjgwMSwzMzQ0OTYsMzM1ODQ0LDI3MTIxOCwyNjYxMzEsMjY2MTMyLDI2Nzk3NywyNjc1NzksMjYyODAwLDI2Mjc5OSwyNjI4MDIsMjY3NTgwLDI2Mjc5OCwyNjc2OTUsMjY3NTgxLDI3MzIzMiw4MjAzOV07dmFyIE5PPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRFbmFibGVTc0VuZ2luZSgpe3JldHVybiBHTyh0aGlzLDIpfWdldEVuYWJsZUF3cigpe3JldHVybiBHTyh0aGlzLDMpfWdldEFsb2hhQXV0b0dhUm9sbG91dCgpe3JldHVybiBHTyh0aGlzLDUpfWdldEVuYWJsZUNvbmZpZ3VyYXRvcigpe3JldHVybiBHTyh0aGlzLDYpfWdldEVuYWJsZU13ZWIoKXtyZXR1cm4gR08odGhpcyw3KX1nZXRFbmFibGVDdGxDb25zZW50Q2hlY2tib3goKXtyZXR1cm4gR08odGhpcyw4KX1nZXRFbmFibGVJZnJhbWUoKXtyZXR1cm4gR08odGhpcyw5KX1nZXRFbmFibGVTY3JlZW5zaG90TnVkZ2UoKXtyZXR1cm4gR08odGhpcywxMCl9Z2V0RW5hYmxlV2ViU3RhcnR1cENvbmZpZ0VuZHBvaW50KCl7cmV0dXJuIEdPKHRoaXMsMTEpfWdldEVuYWJsZUp1bmtOdWRnZSgpe3JldHVybiBHTyh0aGlzLDEyKX1nZXRFbmFibGVDb25maWd1cmF0b3JMb2NhbGUoKXtyZXR1cm4gR08odGhpcywKMTMpfWdldEVuYWJsZVRpbnlOb1BvaW50ZXIoKXtyZXR1cm4gR08odGhpcywxNCl9Z2V0RW5hYmxlU3VwcG9ydFNlc3Npb25Mb2dnaW5nKCl7cmV0dXJuIEdPKHRoaXMsMTUpfWdldEVuYWJsZUZpbGVVcGxvYWRGb3JTY3JlZW5zaG90KCl7cmV0dXJuIEdPKHRoaXMsMTYpfWdldEVuYWJsZURpcmVjdERlZmxlY3Rpb25Gb3JTaW5nbGVDYXRlZ29yeSgpe3JldHVybiBHTyh0aGlzLDE3KX1nZXRFbmFibGVJbWFnZVNhbml0aXphdGlvbigpe3JldHVybiBHTyh0aGlzLDE4KX1nZXRFbmFibGVBbG9oYUJpbmFyeVNwbGl0KCl7cmV0dXJuIEdPKHRoaXMsMTkpfWdldEVuYWJsZURiRmVlZGJhY2tJbnRlbnRzKCl7cmV0dXJuIEdPKHRoaXMsMjApfWdldEVuYWJsZU1hcmtNYW5kYXRvcnlGaWVsZHNXaXRoUmVxdWlyZWQoKXtyZXR1cm4gR08odGhpcywyMSl9Z2V0RW5hYmxlRmVlZGJhY2tDYXRlZ29yeUN1c3RvbVVpKCl7cmV0dXJuIEdPKHRoaXMsMjIpfWdldEVuYWJsZVJlYWx0aW1lQ3RsKCl7cmV0dXJuIEdPKHRoaXMsCjIzKX1nZXRFbmFibGVBbG9oYUhlYWRsZXNzKCl7cmV0dXJuIEdPKHRoaXMsMjQpfWdldFVwZGF0ZUZlZWRiYWNrQ29uZmlybWF0aW9uQ2xhcml0eSgpe3JldHVybiBHTyh0aGlzLDI1KX1nZXRFbmFibGVWaWV3RmVlZGJhY2tSZXBvcnRzTGluaygpe3JldHVybiBHTyh0aGlzLDI2KX19O3ZhciBWTz1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9digpe3JldHVybiBfLk54KHRoaXMsTk8sMSl9fTt2YXIgJGhhPVsvaHR0cHM6XC9cL3NhbmRib3hcLmdvb2dsZVwuY29tXC90b29sc1wvZmVlZGJhY2svLC9odHRwczpcL1wvZmVlZGJhY2stZnJvbnRlbmQtcXVhbFthLXowLTkuXSpcLmdvb2dsZVwuY29tXC9pbmFwcC8sL2h0dHBzOlwvXC9mZWVkYmFjay1mcm9udGVuZC1xdWFsW2EtejAtOS5dKlwuZ29vZ2xlXC5jb21cL3Rvb2xzXC9mZWVkYmFjay8sL2h0dHBzOlwvXC8uKlwuZ29vZ2xldXNlcmNvbnRlbnRcLmNvbVwvaW5hcHAvXTt2YXIgT089ImFmIGFtIGFyLUVHIGFyLUpPIGFyLU1BIGFyLVNBIGFyLVhCIGFyIGF6IGJlIGJnIGJuIGJzIGNhIGNzIGN5IGRhIGRlLUFUIGRlLUNIIGRlIGVsIGVuIGVuLUdCIGVuLUFVIGVuLUNBIGVuLUlFIGVuLUlOIGVuLU5aIGVuLVNHIGVuLVhBIGVuLVhDIGVuLVpBIGVzIGVzLTQxOSBlcy1BUiBlcy1CTyBlcy1DTCBlcy1DTyBlcy1DUiBlcy1ETyBlcy1FQyBlcy1HVCBlcy1ITiBlcy1NWCBlcy1OSSBlcy1QQSBlcy1QRSBlcy1QUiBlcy1QWSBlcy1TViBlcy1VUyBlcy1VWSBlcy1WRSBldCBldSBmYSBmaSBmaWwgZnItQ0EgZnItQ0ggZnIgZ2wgZ3N3IGd1IGhlIGhpIGhyIGh1IGh5IGlkIGluIGlzIGl0IGl3IGphIGthIGtrIGttIGtuIGtvIGt5IGxuIGxvIGx0IGx2IG1rIG1sIG1uIG1vIG1yIG1zIG15IG5iIG5lIG5sIG5vIHBhIHBsIHB0IHB0LUJSIHB0LVBUIHJvIHJ1IHNpIHNrIHNsIHNxIHNyLUxhdG4gc3Igc3Ygc3cgdGEgdGUgdGggdGwgdHIgdWsgdXIgdXogdmkgemggemgtQ04gemgtSEsgemgtVFcgenUiLnNwbGl0KCIgIik7dmFyIFVPPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlcigiRm9ybSBpcyBlaXRoZXIgbG9hZGluZyBvciBhbHJlYWR5IG9wZW5lZCIpO3RoaXMubmFtZT0iRHVwbGljYXRlRm9ybUVycm9yIn19LFFPLFNPLFJPLFRPO18ucmEoInVzZXJmZWVkYmFjay5Db2xvclNjaGVtZXMiLHtpRjoxLEdDOjJ9KTtfLnJhKCJ1c2VyZmVlZGJhY2suYXBpLnN0YXJ0RmVlZGJhY2siLF8uWU8pO18ucWlhPW5ldyBfLkkoIm5hdGl2ZUFwcERlZXBsaW5rRW5kcG9pbnQiKTtfLnJpYT1NYXRoLnJhbmRvbSgpO3ZhciBzaWE9bmV3IF8uVnMoIlNUQVRJQ19BUFBfUFJPUFNfVE9LRU4iKTtfLnZQPW5ldyBfLlZzKCJUT0FTVF9PUFRJT05TIik7dmFyIG9QPV8uc2ooIm13ZWJfYzNfdG9hc3RfZHVyYXRpb25fbXMiLDVFMyksYlAsY1A9bnVsbCxbd1AsZ1BdPV8uSigib3V0Iix2b2lkIDAsIldjWmNlZSIpLFtsaWEsZlBdPV8uSih2b2lkIDAsdm9pZCAwLCJYVnl4eGYiKSxpUD1bXSxtUCxkUD1fLkwoYT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLnZQKSk7cmV0dXJuIF8uSygiYzMtdG9hc3QiLHtkaXI6d1Ascm9sZTooKT0+d1AoKT09PSJpbiI/ImFsZXJ0IjoiIixjbGFzczpfLlAoeyJodWctdG9hc3QiOiEhYj8uVnUsImludmVyc2UtdGhlbWUiOiEhYj8uQ3h9KX0sYS5jaGlsZHJlbil9LCJzYiIpO2RQLmlkb21Db21wYXQ9ITA7Xy50aWE9Xy51eCgzMDc5NTMpOyh7TWc6Xy51aWEsZ2s6Xy54UH09Xy56RyhhPT5hLmNoYW5uZWxJZCkpOyh7TWc6Xy52aWEsZ2s6Xy53aWF9PV8uekcoYT0+Xy5CKGEubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbj8udG9nZ2xlQnV0dG9uUmVuZGVyZXI/LmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQsXy5CeSk/LnBhcmFtcykpO18ueVA9bmV3IF8uVnMoIkxBWUVSX1RPS0VOIik7Xy56UD1fLkwoKHtVbzphLHN0YXlPcGVuT25DbGljazpiLGlzUGVyc2lzdGVudDpjLGNoaWxkcmVuOmR9KT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoeyJkaWFsb2ctZmxleC1idXR0b24iOigpPT5hPy4oKSE9PTF9KSwib246Y2xpY2siOmZ1bmN0aW9uKCl7Yj8uKCl8fGM/LigpfHxfLnkoKS5yZXNvbHZlKF8ueVApLmxkKCl9LHRhYmluZGV4OigpPT4oYj8uKCl8fGM/LigpLHZvaWQgMCl9LGQpLCJ1YiIpO18uelAuaWRvbUNvbXBhdD0hMDtfLkFQPV8uTCgoe2NoaWxkcmVuOmF9KT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihzaWEpKT8uVUk7cmV0dXJuIF8uSygiZGl2Iix7ImFyaWEtbGl2ZSI6InBvbGl0ZSIsdGFiaW5kZXg6Yj8wOnZvaWQgMH0sYSl9LCJ2YiIpO18uQVAuaWRvbUNvbXBhdD0hMDtfLnhpYT1fLnNqKCJtd2ViX2lvc19mdWxsc2NyZWVuX3BsYXliYWNrX3RyYW5zaXRpb25fZGVsYXlfbXMiKXx8NTAwO18ueWlhPV8uc2ooIm13ZWJfaW9zX2Z1bGxzY3JlZW5fc3lzdGVtX3BhdXNlX2VwaWxzb25fbXMiKXx8MzUwO3ZhciBvaWE9Xy4kTi5YcyxwaWE9Xy4kTi5rdDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5hUT1mdW5jdGlvbihhLGIpe3JldHVybntvcGVuUG9wdXBBY3Rpb246e3BvcHVwVHlwZToiVE9BU1QiLHBvcHVwOntub3RpZmljYXRpb25BY3Rpb25SZW5kZXJlcjp7cmVzcG9uc2VUZXh0OmF9fSwuLi4oYiE9PXZvaWQgMD97ZHVyYXRpb25IaW50TXM6Yn06e30pfX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnduYT1uZXcgXy5JKCJlbnRpdHlVcGRhdGVDb21tYW5kIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTlc9bmV3IF8uSSgic2hvd1NoZWV0Q29tbWFuZCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnhuYT1uZXcgXy5JKCJsaXN0Vmlld01vZGVsIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uT1c9bmV3IF8uVnMoIlNDUkVFTl9NQU5BR0VSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB5bmE7Xy5QVz1mdW5jdGlvbihhKXtyZXR1cm4geW5hW2FdPz8iRVZFTlRfU1BBTl9UWVBFX1VOS05PV04ifTsKeW5hPXtjbGljazoiRVZFTlRfU1BBTl9UWVBFX0NMSUNLIixkYmxjbGljazoiRVZFTlRfU1BBTl9UWVBFX0RCTENMSUNLIixtb3VzZWRvd246IkVWRU5UX1NQQU5fVFlQRV9NT1VTRURPV04iLG1vdXNldXA6IkVWRU5UX1NQQU5fVFlQRV9NT1VTRVVQIixtb3VzZW92ZXI6IkVWRU5UX1NQQU5fVFlQRV9NT1VTRU9WRVIiLG1vdXNlb3V0OiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VPVVQiLG1vdXNlZW50ZXI6IkVWRU5UX1NQQU5fVFlQRV9NT1VTRUVOVEVSIixtb3VzZWxlYXZlOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VMRUFWRSIsbW91c2Vtb3ZlOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VNT1ZFIixjb250ZXh0bWVudToiRVZFTlRfU1BBTl9UWVBFX0NPTlRFWFRNRU5VIixrZXlkb3duOiJFVkVOVF9TUEFOX1RZUEVfS0VZRE9XTiIsa2V5dXA6IkVWRU5UX1NQQU5fVFlQRV9LRVlVUCIsa2V5cHJlc3M6IkVWRU5UX1NQQU5fVFlQRV9LRVlQUkVTUyIsdG91Y2hzdGFydDoiRVZFTlRfU1BBTl9UWVBFX1RPVUNIU1RBUlQiLAp0b3VjaGVuZDoiRVZFTlRfU1BBTl9UWVBFX1RPVUNIRU5EIix0b3VjaG1vdmU6IkVWRU5UX1NQQU5fVFlQRV9UT1VDSE1PVkUiLHRvdWNoY2FuY2VsOiJFVkVOVF9TUEFOX1RZUEVfVE9VQ0hDQU5DRUwiLHBvaW50ZXJkb3duOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUkRPV04iLHBvaW50ZXJ1cDoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJVUCIscG9pbnRlcm1vdmU6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVSTU9WRSIscG9pbnRlcm92ZXI6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVST1ZFUiIscG9pbnRlcm91dDoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJPVVQiLHBvaW50ZXJlbnRlcjoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJFTlRFUiIscG9pbnRlcmxlYXZlOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUkxFQVZFIixwb2ludGVyY2FuY2VsOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUkNBTkNFTCIsZ290cG9pbnRlcmNhcHR1cmU6IkVWRU5UX1NQQU5fVFlQRV9HT1RQT0lOVEVSQ0FQVFVSRSIsCmxvc3Rwb2ludGVyY2FwdHVyZToiRVZFTlRfU1BBTl9UWVBFX0xPU1RQT0lOVEVSQ0FQVFVSRSIsc3VibWl0OiJFVkVOVF9TUEFOX1RZUEVfU1VCTUlUIixjaGFuZ2U6IkVWRU5UX1NQQU5fVFlQRV9DSEFOR0UiLGlucHV0OiJFVkVOVF9TUEFOX1RZUEVfSU5QVVQiLGZvY3VzOiJFVkVOVF9TUEFOX1RZUEVfRk9DVVMiLGJsdXI6IkVWRU5UX1NQQU5fVFlQRV9CTFVSIixyZXNldDoiRVZFTlRfU1BBTl9UWVBFX1JFU0VUIixzZWxlY3Q6IkVWRU5UX1NQQU5fVFlQRV9TRUxFQ1QiLGludmFsaWQ6IkVWRU5UX1NQQU5fVFlQRV9JTlZBTElEIixsb2FkOiJFVkVOVF9TUEFOX1RZUEVfTE9BRCIsdW5sb2FkOiJFVkVOVF9TUEFOX1RZUEVfVU5MT0FEIixiZWZvcmV1bmxvYWQ6IkVWRU5UX1NQQU5fVFlQRV9CRUZPUkVVTkxPQUQiLGRvbWNvbnRlbnRsb2FkZWQ6IkVWRU5UX1NQQU5fVFlQRV9ET01DT05URU5UTE9BREVEIixyZXNpemU6IkVWRU5UX1NQQU5fVFlQRV9SRVNJWkUiLHNjcm9sbDoiRVZFTlRfU1BBTl9UWVBFX1NDUk9MTCIsCnBhZ2VzaG93OiJFVkVOVF9TUEFOX1RZUEVfUEFHRVNIT1ciLHBhZ2VoaWRlOiJFVkVOVF9TUEFOX1RZUEVfUEFHRUhJREUiLHBsYXk6IkVWRU5UX1NQQU5fVFlQRV9QTEFZIixwYXVzZToiRVZFTlRfU1BBTl9UWVBFX1BBVVNFIixwbGF5aW5nOiJFVkVOVF9TUEFOX1RZUEVfUExBWUlORyIsd2FpdGluZzoiRVZFTlRfU1BBTl9UWVBFX1dBSVRJTkciLHNlZWtpbmc6IkVWRU5UX1NQQU5fVFlQRV9TRUVLSU5HIixzZWVrZWQ6IkVWRU5UX1NQQU5fVFlQRV9TRUVLRUQiLGVuZGVkOiJFVkVOVF9TUEFOX1RZUEVfRU5ERUQiLHZvbHVtZWNoYW5nZToiRVZFTlRfU1BBTl9UWVBFX1ZPTFVNRUNIQU5HRSIsdGltZXVwZGF0ZToiRVZFTlRfU1BBTl9UWVBFX1RJTUVVUERBVEUiLHJhdGVjaGFuZ2U6IkVWRU5UX1NQQU5fVFlQRV9SQVRFQ0hBTkdFIixkcmFnc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9EUkFHU1RBUlQiLGRyYWc6IkVWRU5UX1NQQU5fVFlQRV9EUkFHIixkcmFnZW5kOiJFVkVOVF9TUEFOX1RZUEVfRFJBR0VORCIsCmRyYWdlbnRlcjoiRVZFTlRfU1BBTl9UWVBFX0RSQUdFTlRFUiIsZHJhZ2xlYXZlOiJFVkVOVF9TUEFOX1RZUEVfRFJBR0xFQVZFIixkcmFnb3ZlcjoiRVZFTlRfU1BBTl9UWVBFX0RSQUdPVkVSIixkcm9wOiJFVkVOVF9TUEFOX1RZUEVfRFJPUCIsYW5pbWF0aW9uc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9BTklNQVRJT05TVEFSVCIsYW5pbWF0aW9uZW5kOiJFVkVOVF9TUEFOX1RZUEVfQU5JTUFUSU9ORU5EIixhbmltYXRpb25pdGVyYXRpb246IkVWRU5UX1NQQU5fVFlQRV9BTklNQVRJT05JVEVSQVRJT04iLHRyYW5zaXRpb25ydW46IkVWRU5UX1NQQU5fVFlQRV9UUkFOU0lUSU9OUlVOIix0cmFuc2l0aW9uc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9UUkFOU0lUSU9OU1RBUlQiLHRyYW5zaXRpb25lbmQ6IkVWRU5UX1NQQU5fVFlQRV9UUkFOU0lUSU9ORU5EIix0cmFuc2l0aW9uY2FuY2VsOiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTkNBTkNFTCJ9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlFXPW5ldyBfLkkoInNob3dFbmdhZ2VtZW50UGFuZWxFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewovKgoKTWF0aC51dWlkLmpzICh2MS40KQpodHRwOi8vd3d3LmJyb29mYS5jb20KbWFpbHRvOnJvYmVydEBicm9vZmEuY29tCkNvcHlyaWdodCAoYykgMjAxMCBSb2JlcnQgS2llZmZlcgpEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4KKi8KdmFyIHpuYSxSVyxBbmEsQm5hLENuYSxEbmEsRW5hLFRXLEZuYSxVVyxHbmEsSG5hLFZXLEluYSxKbmEsWFcsWVcsWlcsJFcsTG5hLE1uYSxiWCxoWCxObmEsT25hLFBuYSxqWCxrWCxSbmEsbVgsU25hLG9YLHBYLFVuYSxWbmEsblgsV25hLFRuYSxsWCxxWCxZbmEsYW9hLGJvYSxjb2EsZG9hLGVvYSxzWCxmb2EsZ29hLHRYLGhvYSx1WCx2WCxpb2Esa29hLHhYLGxvYSx5WCxub2Esb29hLHBvYSxxb2EsQlgscm9hLHNvYSxDWCx0b2EsdW9hLHZvYSx3b2EseG9hLHlvYSx6b2EsQW9hLEJvYSxDb2EsSFgsSVgsRm9hLG1vYSxLWCxIb2EsSlgsSW9hLEpvYSxLb2EsTVgsTG9hLE5YLE1vYSxOb2EsT29hLFBvYSxRb2EsUm9hLFNvYSxPWCxUb2EsUFgsUVgsVm9hLFVvYSxXb2EsWG9hLFlvYSxab2EsJG9hLFZYLFVYLFdYLCRYLFhYLFlYLFpYLGFZLGFwYSxicGEsY3BhLGJZLGVZLGRZLGRwYSxmWSxlcGEsZnBhLGdwYSxocGEsZ1ksanBhLGlwYSxscGEscHBhLGpZLHFwYSxrWSxsWSxuWSxtWSwKaVkscnBhLHNwYSx1cGEscFksd3BhLG9ZLHJZLHNZLHRZLHVZLHpwYSxBcGEsd1kseFkseVksQVksQ3BhLEJZLERwYSxEWSxFcGEsRlksSFksRnBhLElZLEpZLEhwYSxLWSxNWSxJcGEsSnBhLExwYSxNcGEsTnBhLFBwYSxScGEsVHBhLFVwYSxOWSxXcGEsVnBhLFBZLFNZLE9ZLFJZLFpwYSxZcGEsYnFhLGRxYSxlcWEsZnFhLGdxYSxXWSxocWEsaXFhLGpxYSxrcWEsbHFhLG1xYSxjcWEsVlksdHFhLG5xYSx6WCx1cWEsV1csRG9hLGNaLEtuYSx4cWEsZFosZVoseXFhLHpxYSxBcWEsQnFhLENxYSxEcWEsYVgsZlosZ1gsY1gsZFgsZVgsZlgsRXFhLGdaLGhaLEZxYSxpWixHcWEsSHFhLGlYLGpaLElxYSxRbmEsWG5hLEpxYSxabmEsJG5hLHJYLExxYSxqb2EsWFksa1osTXFhLHFZLEFYO3puYT1mdW5jdGlvbihhLGIpe2I9KDAsXy55ZykoYik7Yj1fLkVmKGIsYik7Yi52PSEwO18uSmYoYSxiKTtyZXR1cm4gYX07ClJXPWZ1bmN0aW9uKGEsYil7YT1hLndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRBdXRob3JpemF0aW9uVG9rZW5Db25maWc/LnZpZGVvQXV0aG9yaXphdGlvblRva2VuPy5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnN8fFtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7KytjKWlmKGFbY10uc2NvcGU9PT1iKXJldHVybiBhW2NdLnRva2VufHx2b2lkIDB9OwpBbmE9ZnVuY3Rpb24oYSxiLGM9e30pe18uVmkoKCk9Pnt2YXIgZD1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy5yb290VmV8fF8uQihiPy5jb21tYW5kTWV0YWRhdGEsXy5ueCk/LnNjcmVlblZpc3VhbEVsZW1lbnQ/LnVpVHlwZTtpZihkKXt2YXIgZT1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uZWFhKTtpZihlPy5wYXJlbnRUcmFja2luZ1BhcmFtcyl7dmFyIGY9Xy5VdyhlLnBhcmVudFRyYWNraW5nUGFyYW1zKTtpZihlLnBhcmVudENzbil2YXIgaD1lLnBhcmVudENzbn1lbHNlIGMuY2xpY2tlZFZpc3VhbEVsZW1lbnQ/Zj1jLmNsaWNrZWRWaXN1YWxFbGVtZW50OmIuY2xpY2tUcmFja2luZ1BhcmFtcyYmKGY9Xy5VdyhiLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTthOntlPV8uQihiLF8uQXcpO3ZhciBrPV8uQihiLF8uZGFhKTtpZihlKXtpZihrPVJXKGUsIlZJREVPIikpe2U9e3Rva2VuOmssdmlkZW9JZDplLnZpZGVvSWR9O2JyZWFrIGF9fWVsc2UgaWYoayYmKGU9UlcoaywKIlBMQVlMSVNUIikpKXtlPXt0b2tlbjplLHBsYXlsaXN0SWQ6ay5wbGF5bGlzdElkfTticmVhayBhfWU9dm9pZCAwfWM9e2N0dEF1dGhJbmZvOmUscGFyZW50Q3NuOmgsLi4uY307Xy54KCJleHBlY3RhdGlvbl9sb2dnaW5nIikmJihjLmxvZ2dpbmdFeHBlY3RhdGlvbnM9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLm54KT8ubG9nZ2luZ0V4cGVjdGF0aW9uc3x8dm9pZCAwKTtfLkRPKGEsZCxmLGMpfWVsc2UgXy5JcChuZXcgXy5YaigiRXJyb3I6IFRyeWluZyB0byBjcmVhdGUgYSBuZXcgc2NyZWVuIHdpdGhvdXQgYSByb290VmVUeXBlIixiKSl9KSgpfTtCbmE9ZnVuY3Rpb24oYSxiKXthPWBTTElfTkFNRV9ZT1VUVUJFX0VNQkVEU19XRUJfRlVMTFNDUkVFTl9SRVFVRVNUX1NMSV8ke2F9YDtfLkV5LnJlZ2lzdGVyLmhhcyhhKT9iPV8uRXkucmVnaXN0ZXIuZ2V0KGEpOihiPWIoKSxfLkV5LnJlZ2lzdGVyLnNldChhLGIpKTtyZXR1cm4gYn07Q25hPWZ1bmN0aW9uKHtzZXJ2aWNlSWQ6YX0pe3JldHVybiBhLm99OwpEbmE9ZnVuY3Rpb24oKXt2YXIgYT1fLkd5LGI9W1NXXSxjPWIubWFwKGw9PkNuYShsKSksZD1iLm1hcChsPT5hLm1hcHBpbmdzLmdldChsLnRvU3RyaW5nKCkpKS5maWx0ZXIobD0+bCk7aWYoZC5sZW5ndGg9PT1iLmxlbmd0aClyZXR1cm4gXy5LeShkLm1hcCgobCxtKT0+Xy5ueShhLGwsYlttXSkpKTt2YXIgZT1fLlZkKCkuYWYoYyk7ZD1fLklmKGMubWFwKGw9PmVbbF0pKTt2YXIgZj1kb2N1bWVudC5oaWRkZW4saD0tMSxrPV8uc2ooImdldF9hc3luY190aW1lb3V0X21zIiwtMSk7az4tMSYmKGg9c2V0VGltZW91dCgoKT0+e18uSXAobmV3IF8uWGooIk1vZHVsZSB0aW1lb3V0LiIsYyxmLGRvY3VtZW50LmhpZGRlbikpfSxrKSk7cmV0dXJuIHpuYShkLnRoZW4oKCk9PmIubWFwKGw9Pl8ubnkoYSxhLm1hcHBpbmdzLmdldChsLnRvU3RyaW5nKCkpLGwpKSkuS2cobD0+e2ZvcihsZXQgbSBvZiBhLmopbShsKTt0aHJvdyBsO30pLCgpPT57Y2xlYXJUaW1lb3V0KGgpfSl9OwpFbmE9ZnVuY3Rpb24oKXtyZXR1cm4gRG5hKCkudGhlbihhPT5hWzBdKX07VFc9ZnVuY3Rpb24oYSxiKXthLkRmPWI7Zm9yKGxldCBjIG9mIGEuZGF0YSliKGMpO2EuZGF0YT1bXX07Rm5hPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDw9Mj9BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLGIpOkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEsYixjKX07VVc9ZnVuY3Rpb24oYSl7dmFyIGI9W107Zm9yKGxldCBkPTA7ZDxhcmd1bWVudHMubGVuZ3RoO2QrKyl7bGV0IGU9YXJndW1lbnRzW2RdO2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKGxldCBmPTA7ZjxlLmxlbmd0aDtmKz04MTkyKXt2YXIgYz1GbmEoZSxmLGYrODE5Mik7Yz1VVy5hcHBseShudWxsLGMpO2ZvcihsZXQgaD0wO2g8Yy5sZW5ndGg7aCsrKWIucHVzaChjW2hdKX1lbHNlIGIucHVzaChlKX1yZXR1cm4gYn07CkduYT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoZnVuY3Rpb24oYil7dmFyIGM9YS5sZW5ndGgsZD1bXTtpZihjKXt2YXIgZT1mdW5jdGlvbihoLGssbCl7Yy0tO2RbaF09az97ZnVsZmlsbGVkOiEwLHZhbHVlOmx9OntmdWxmaWxsZWQ6ITEscmVhc29uOmx9O2M9PTAmJmIoZCl9O2ZvcihsZXQgaD0wO2g8YS5sZW5ndGg7aCsrKXt2YXIgZj1hW2hdO18uSGYoZixfLkRhKGUsaCwhMCksXy5EYShlLGgsITEpKX19ZWxzZSBiKGQpfSl9O0huYT1mdW5jdGlvbihhKXt2YXIgYj1fLk16KCJMT0dHRURfSU4iLGZ1bmN0aW9uKGMpe2EuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyk7Xy5OeihiKX0pfTtWVz1mdW5jdGlvbihhLGIpe3JldHVybigpPT57dmFyIGM9Xy55KCk7Yy5yZXNvbHZlKF8uSW4oYSkpfHxfLkp6KGMse2phOmEsUGE6YSxbXy5Mbl06Yn0pO3JldHVybiBjLnJlc29sdmUoYSl9fTsKSW5hPWZ1bmN0aW9uKGEpe2lmKFdXPT09dm9pZCAwKXRocm93IEVycm9yKCJzYiIpO2lmKFdXKWZvcihsZXQgW2IsY11vZiBXVylhKGIsYyk7Xy5Odi5hZGQoYSk7V1c9dm9pZCAwfTtKbmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgImNhbmFyeSI6cmV0dXJuIkNMSUVOVF9DQU5BUllfU1RBVEVfQ0FOQVJZIjtjYXNlICJjb250cm9sIjpyZXR1cm4iQ0xJRU5UX0NBTkFSWV9TVEFURV9DT05UUk9MIjtjYXNlICJub25lIjpyZXR1cm4iQ0xJRU5UX0NBTkFSWV9TVEFURV9OT05FIjtkZWZhdWx0OnJldHVybiJDTElFTlRfQ0FOQVJZX1NUQVRFX1VOS05PV04ifX07WFc9ZnVuY3Rpb24oYSxiPSIiKXt2YXIgYz1bXTtmb3IobGV0IGQgaW4gYSl7aWYoIWEuaGFzT3duUHJvcGVydHkoZCkpY29udGludWU7bGV0IGU9YiE9PSIiP2IrIi4iK2Q6ZDt0eXBlb2YgYVtkXT09PSJvYmplY3QiP2MucHVzaCguLi5YVyhhW2RdLGUpKTpjLnB1c2goW2UsYVtkXV0pfWMuc29ydCgpO3JldHVybiBjfTsKWVc9ZnVuY3Rpb24oYSl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEuZXZlbnRzLnZhbHVlcygpKWIucHVzaChjKTtyZXR1cm4gYn07Wlc9ZnVuY3Rpb24oYSl7Xy5GeT09bnVsbCYmKF8uRnk9bmV3IEtuYSk7dmFyIGI9Xy5GeTt2YXIgYz1iLnY7YS5kaW1lbnNpb25zPWEuZGltZW5zaW9uc3x8e307YS5kaW1lbnNpb25zLmNzbj1fLmlxKCl8fCIiO3ZhciBkPVhXKGEuZGltZW5zaW9ucykuam9pbigiOyIpO2EucmVjb3JkcyE9bnVsbCYmKGMuZXZlbnRzLmhhcyhkKT9jLmV2ZW50cy5nZXQoZCkucmVjb3Jkcz8ucHVzaCguLi5hLnJlY29yZHMpOmMuZXZlbnRzLnNldChkLGEpKTtiLmouZW5hYmxlZHx8Yi5qLnN0YXJ0KCk7Yi5vKys7Yi5vPj0xMDAmJmIuZmx1c2goKX07JFc9ZnVuY3Rpb24oYSl7YT1hLmtleXx8YS5pZDtpZighYSl0aHJvdyBFcnJvcigiZmMiKTtyZXR1cm4gYX07CkxuYT1mdW5jdGlvbigpe2lmKGFYKXJldHVybiBhWCgpO2FYPV8uJGwoIlBlcnNpc3RlbnRFbnRpdHlTdG9yZURiIix7c2U6e0VudGl0eVN0b3JlOntQZDoxfSxFbnRpdHlBc3NvY2lhdGlvblN0b3JlOntQZDoyfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiZfLm9sKF8ua2woYSwiRW50aXR5U3RvcmUiLHtrZXlQYXRoOiJrZXkifSksImVudGl0eVR5cGUiLCJlbnRpdHlUeXBlIik7YigyKSYmKGE9Xy5rbChhLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIix7a2V5UGF0aDpbInBhcmVudEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5Il19KSxfLm9sKGEsImJ5UGFyZW50RW50aXR5S2V5IiwicGFyZW50RW50aXR5S2V5IiksXy5vbChhLCJieUNoaWxkRW50aXR5S2V5IiwiY2hpbGRFbnRpdHlLZXkiKSl9LHZlcnNpb246M30pO3JldHVybiBhWCgpfTtNbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2woTG5hKCksYSl9OwpiWD1mdW5jdGlvbihhKXtyZXR1cm4gd2luZG93LkludDMyQXJyYXk/bmV3IEludDMyQXJyYXkoYSk6QXJyYXkoYSl9OwpoWD1mdW5jdGlvbihhKXt2YXIgYj1hLmtleSxjPWEuY291bnRlclswXV5iWzBdLGQ9YS5jb3VudGVyWzFdXmJbMV0sZT1hLmNvdW50ZXJbMl1eYlsyXSxmPWEuY291bnRlclszXV5iWzNdO2Zvcih2YXIgaD0zO2g+PTAmJiEoYS5jb3VudGVyW2hdPS1+YS5jb3VudGVyW2hdKTtoLS0pO2Zvcih2YXIgayxsLG09NDttPDQwOyloPWNYW2M+Pj4yNF1eZFhbZD4+MTYmMjU1XV5lWFtlPj44JjI1NV1eZlhbZiYyNTVdXmJbbSsrXSxrPWNYW2Q+Pj4yNF1eZFhbZT4+MTYmMjU1XV5lWFtmPj44JjI1NV1eZlhbYyYyNTVdXmJbbSsrXSxsPWNYW2U+Pj4yNF1eZFhbZj4+MTYmMjU1XV5lWFtjPj44JjI1NV1eZlhbZCYyNTVdXmJbbSsrXSxmPWNYW2Y+Pj4yNF1eZFhbYz4+MTYmMjU1XV5lWFtkPj44JjI1NV1eZlhbZSYyNTVdXmJbbSsrXSxjPWgsZD1rLGU9bDthPWEubztoPWJbNDBdO2FbMF09Z1hbYz4+PjI0XV5oPj4+MjQ7YVsxXT1nWFtkPj4xNiYyNTVdXmg+PjE2JjI1NTthWzJdPWdYW2U+PjgmCjI1NV1eaD4+OCYyNTU7YVszXT1nWFtmJjI1NV1eaCYyNTU7aD1iWzQxXTthWzRdPWdYW2Q+Pj4yNF1eaD4+PjI0O2FbNV09Z1hbZT4+MTYmMjU1XV5oPj4xNiYyNTU7YVs2XT1nWFtmPj44JjI1NV1eaD4+OCYyNTU7YVs3XT1nWFtjJjI1NV1eaCYyNTU7aD1iWzQyXTthWzhdPWdYW2U+Pj4yNF1eaD4+PjI0O2FbOV09Z1hbZj4+MTYmMjU1XV5oPj4xNiYyNTU7YVsxMF09Z1hbYz4+OCYyNTVdXmg+PjgmMjU1O2FbMTFdPWdYW2QmMjU1XV5oJjI1NTtoPWJbNDNdO2FbMTJdPWdYW2Y+Pj4yNF1eaD4+PjI0O2FbMTNdPWdYW2M+PjE2JjI1NV1eaD4+MTYmMjU1O2FbMTRdPWdYW2Q+PjgmMjU1XV5oPj44JjI1NTthWzE1XT1nWFtlJjI1NV1eaCYyNTV9OwpObmE9YXN5bmMgZnVuY3Rpb24oYSxiLGMpe2Euanx8KGEuaj1hd2FpdCBhLm8uaW1wb3J0S2V5KCJyYXciLGEudix7bmFtZToiQUVTLUNUUiJ9LCExLFsiZW5jcnlwdCJdKSk7YT1hd2FpdCBhLm8uZW5jcnlwdCh7bmFtZToiQUVTLUNUUiIsY291bnRlcjpjLGxlbmd0aDoxMjh9LGEuaixiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYSl9O09uYT1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIEVycm9yP25ldyBpWCgiVU5LTk9XTl9FTkNPREVfRVJST1IiLHtvcmlnaW5hbE1lc3NhZ2U6YS5tZXNzYWdlfSk6bmV3IGlYKCJVTktOT1dOX0VOQ09ERV9FUlJPUiIpfTtQbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaVgoIlVOS05PV05fREVDT0RFX0VSUk9SIix7b3JpZ2luYWxNZXNzYWdlOmEubWVzc2FnZX0pOm5ldyBpWCgiVU5LTk9XTl9ERUNPREVfRVJST1IiKX07CmpYPWZ1bmN0aW9uKGEsYil7YT1hIGluc3RhbmNlb2YgaVg/YTpiKGEpO18uR3AoYSk7dGhyb3cgYTt9O2tYPWZ1bmN0aW9uKGEpe2E9KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKGEpLnN1YmFycmF5KDAsMTYpO3ZhciBiPW5ldyBVaW50OEFycmF5KDE2KTtiLnNldChhKTtyZXR1cm4gYn07Um5hPWZ1bmN0aW9uKGEpe3ZhciBiPVFuYVthXTtpZihiKXJldHVybiBiO18uSXAobmV3IF8uWGooIkVudGl0eSBtb2RlbCBub3QgZm91bmQuIix7ZW50aXR5VHlwZTphfSkpfTttWD1mdW5jdGlvbihhLGIpe3JldHVybiBsWChhLm8sYi52ZXJzaW9uKS5kZWNvZGUoYi5kYXRhLGIua2V5KX07U25hPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmdldChiKS50aGVuKGQ9PntpZihkKXtpZihjJiZkLmVudGl0eVR5cGUhPT1jKXRocm93IEVycm9yKCJoYyIpO3JldHVybiBtWChhLGQpfX0pfTsKb1g9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSRXKGIpO3JldHVybiBuWChhLGQpLnRoZW4oKCk9PlRuYShhLGIsYykpfTtwWD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS52W2NdO2R8fChkPW5ldyBTZXQsYS52W2NdPWQpO2QuYWRkKGIpfTsKVW5hPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0kVyhiKSxlPWxYKGEubywxKSxmPXsuLi5ifTtyZXR1cm4gYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmdldChkKS50aGVuKGg9PntpZihoKXtpZihoLmVudGl0eVR5cGUhPT1jKXRocm93IEVycm9yKCJoYyIpO2YuZW50aXR5TWV0YWRhdGF8fChoPW1YKGEsaCksZi5lbnRpdHlNZXRhZGF0YT1oLmVudGl0eU1ldGFkYXRhKX19KS50aGVuKCgpPT57dmFyIGg9e2tleTpkLGVudGl0eVR5cGU6YyxkYXRhOmUuZW5jb2RlKGYsZCksdmVyc2lvbjoxfTtyZXR1cm4gXy5Way5hbGwoW18ubGwoYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLGgpLG9YKGEsZixjKV0pfSkudGhlbigoKT0+e3BYKGEsZCxjKTtyZXR1cm4gZH0pfTsKVm5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5HSChiKS5lbnRpdHlUeXBlO3JldHVybiBfLlZrLmFsbChbYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmRlbGV0ZShiKSxuWChhLGIpXSkudGhlbigoKT0+e3BYKGEsYixjKX0pfTtuWD1mdW5jdGlvbihhLGIpe3JldHVybiBhLmoub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKS5pbmRleCgiYnlQYXJlbnRFbnRpdHlLZXkiKS5kZWxldGUoSURCS2V5UmFuZ2Uub25seShiKSl9OwpXbmE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bFgoYS5vLDEpO3JldHVybiBTbmEoYSxiLGQpLnRoZW4oZj0+e2lmKGZ8fF8ueCgid2ViX2VuYWJsZV9lbnRpdHlfdXBzZXJ0X29uX3VwZGF0ZSIpKXtmPV8uaE0oZnx8e30sYyk7dmFyIGg9e2tleTpiLGVudGl0eVR5cGU6ZCxkYXRhOmUuZW5jb2RlKGYsYiksdmVyc2lvbjoxfTtyZXR1cm4gXy5Way5hbGwoW18ubGwoYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLGgpLG9YKGEsZixkKV0pfX0pLnRoZW4oKCk9PntwWChhLGIsZCk7cmV0dXJuIGJ9KX07ClRuYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9JFcoYik7Yz1SbmEoYyk7aWYoIWMpcmV0dXJuIF8uVmsucmVzb2x2ZShbXSk7Yj1uZXcgYyhiKTthPWEuai5vYmplY3RTdG9yZSgiRW50aXR5QXNzb2NpYXRpb25TdG9yZSIpO2M9W107Zm9yKGxldCBlIG9mIGIubygpKWMucHVzaChfLmxsKGEse3BhcmVudEVudGl0eUtleTpkLGNoaWxkRW50aXR5S2V5OmV9KSk7cmV0dXJuIF8uVmsuYWxsKGMpLnRoZW4oZT0+ZS5tYXAoZj0+ZlsxXSkpfTtsWD1mdW5jdGlvbihhLGI9MCl7YT1hLmpbYl07aWYoIWEpdGhyb3cgYj1uZXcgaVgoIklOVkFMSURfRU5DT0RFUl9WRVJTSU9OIix7SXA6Yn0pLF8uR3AoYiksYjtyZXR1cm4gYX07cVg9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYS5vYnNlcnZlcnMpYyhiKX07ClluYT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPWF3YWl0IE1uYShhLnRva2VuKSxkO2M9YXdhaXQgXy5pbChjLFsiRW50aXR5U3RvcmUiLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIl0sInJlYWR3cml0ZSIsZT0+e2Q9bmV3IFhuYShlLGEuaik7cmV0dXJuIGIoZCl9KTtpZihkKXtsZXQgZT1kLnY7T2JqZWN0LmtleXMoZSkubGVuZ3RoPjAmJihhLmNoYW5uZWwucG9zdE1lc3NhZ2UoZSkscVgoYSxlKSl9cmV0dXJuIGN9O2FvYT1hc3luYyBmdW5jdGlvbigpe3RyeXtsZXQgYj1hd2FpdCBfLlBsKCk7aWYoYiYmXy5XaigpJiZ0eXBlb2YgXy51LkJyb2FkY2FzdENoYW5uZWwhPT0idW5kZWZpbmVkIil7dmFyIGE9bmV3IFpuYTtyZXR1cm4gbmV3ICRuYShiLGEpfX1jYXRjaChiKXtiIGluc3RhbmNlb2YgRXJyb3ImJl8uR3AoYil9fTsKYm9hPWZ1bmN0aW9uKGEpe2E9YS5vcHRpb25zPy5wZXJzaXN0ZW5jZU9wdGlvbjtyZXR1cm4gYT09PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX1BFUlNJU1QifHxhPT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fSU5NRU1PUllfQU5EX1BFUlNJU1QifTsKY29hPWFzeW5jIGZ1bmN0aW9uKGEpe3JYfHwoclg9YW9hKCkpO3ZhciBiPWF3YWl0IHJYO2ImJmF3YWl0IFluYShiLGM9Pnt2YXIgZD17fTtmb3IobGV0IGUgb2YgYSl7aWYoIWUuZW50aXR5S2V5fHwhYm9hKGUpKWNvbnRpbnVlO2xldCBmPV8uZE0oZS5wYXlsb2FkKSxoPXZvaWQgMDtlLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSImJihoPSgpPT5VbmEoYyxlLnBheWxvYWRbZl0sZikpO2UudHlwZT09PSJFTlRJVFlfTVVUQVRJT05fVFlQRV9ERUxFVEUiJiYoaD0oKT0+Vm5hKGMsZS5lbnRpdHlLZXkpKTtlLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfVVBEQVRFIiYmKGg9KCk9PlduYShjLGUuZW50aXR5S2V5LGUucGF5bG9hZFtmXSxmKSk7aCYmKGRbZS5lbnRpdHlLZXldPWRbZS5lbnRpdHlLZXldP2RbZS5lbnRpdHlLZXldLnRoZW4oaCk6aCgpKX1yZXR1cm4gXy5Way5hbGwoT2JqZWN0LnZhbHVlcyhkKSl9KX07CmRvYT1hc3luYyBmdW5jdGlvbihhLGIpeyEoYT1hLm11dGF0aW9ucyl8fGEubGVuZ3RoPD0wfHwoYiYmYi5kaXNwYXRjaChfLmtBKHt0eXBlOiJFTlRJVFlfTE9BREVEIixwYXlsb2FkOmF9KSksYXdhaXQgY29hKGEpLGEubGVuZ3RoPTApfTtlb2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51QygpO2IuT2M9ITA7Yi5zZXNzaW9uSWQ9YS5zZXNzaW9uSWR8fCIiO2IuZGg9YS5kaDthLldoIT1udWxsJiYoYi5XaD1hLldoKX07c1g9ZnVuY3Rpb24oYSl7Xy51QygpLnByb2Nlc3NvcnMucHVzaChhKX07Zm9hPWZ1bmN0aW9uKCl7Xy5WcC5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixhPT57dHJ5e2ZvcihsZXQgYiBpbiBfLmVJKXRyeXtsZXQgYz1fLmVJW2JdO3R5cGVvZiBfLmVJW2JdPT09ImZ1bmN0aW9uIiYmKGM9YygpKTthLnBhcmFtc1tiXT10eXBlb2YgXy5lSVtiXT09PSJvYmplY3QiP0pTT04uc3RyaW5naWZ5KGMpOlN0cmluZyhjKX1jYXRjaChjKXtfLklwKGMpfX1jYXRjaChiKXtfLklwKGIpfX0pfTsKZ29hPWZ1bmN0aW9uKCl7fTt0WD1mdW5jdGlvbihhLGIsYz0wKXsoYz1fLmlxKGMpKSYmYSYmXy55SihjLGEsYil9O2hvYT1mdW5jdGlvbihhKXtyZXR1cm4gVVcoT2JqZWN0LmtleXMoYSkubWFwKGI9PmI9PT0icGxheWxpc3RFZGl0RW5kcG9pbnQiP18uQihhLF8uQXopLmNsaWVudEFjdGlvbnN8fFtdOmFbYl0uYWN0aW9uc3x8YVtiXS5jbGllbnRBY3Rpb25zfHxbXSkpfTt1WD1mdW5jdGlvbihhKXthPV8uQihhPy5jb21tYW5kTWV0YWRhdGEsXy56dyk7cmV0dXJuIGE/LnVybD9hLnVybDpudWxsfTt2WD1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYyBvZiBhKV8uQUooYyxiLCEwKX07CmlvYT1mdW5jdGlvbigpe18uSk09d1g7VFcoXy5nRSwoe2NvbW1hbmQ6YSxzb3VyY2VEYXRhOmIsY29tbWFuZENvbnRleHQ6Y30pPT57Xy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChhLF8uWUQoYixjKSl8fChhPW5ldyBfLlhqKCJDb21tYW5kIG5vdCBoYW5kbGVkIGJ5IENvbW1hbmRIYW5kbGVyIixPYmplY3Qua2V5cyhhKSxjKSxfLkdwKGEpKX0pfTtrb2E9ZnVuY3Rpb24oKXt2YXIgYT1fLlBFKGpvYSk7cmV0dXJuIGEhPT12b2lkIDA/YTpfLlJFPD0yOTl9O3hYPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQ7cmV0dXJuIF8udmIoWyJmdWxsc2NyZWVuY2hhbmdlIiwid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsIm1vemZ1bGxzY3JlZW5jaGFuZ2UiLCJNU0Z1bGxzY3JlZW5DaGFuZ2UiXSxiPT5gb24ke2IudG9Mb3dlckNhc2UoKX1gaW4gYSl9Owpsb2E9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtyZXR1cm4gXy52YihbImZ1bGxzY3JlZW5lcnJvciIsIndlYmtpdGZ1bGxzY3JlZW5lcnJvciIsIm1vemZ1bGxzY3JlZW5lcnJvciIsIk1TRnVsbHNjcmVlbkVycm9yIl0sYj0+YG9uJHtiLnRvTG93ZXJDYXNlKCl9YGluIGEpfTt5WD1mdW5jdGlvbihhLGIsYyl7Xy5yaWE8Xy5zaigid2ViX3NsaV9sb2dfd2FybmluZ19zYW1wbGVfc2l6ZV9yYXRlIiwuMDAxKSYmXy5JcChuZXcgXy5YaihgW1NMSV0gIiR7YX0iIGVycm9yYCx7c2xpTmFtZTphLGRpbWVuc2lvbnM6YixkZXRhaWxzOmN9KSl9Owpub2E9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7Y3x8Xy5JcChuZXcgXy5YaigiRnVsbHNjcmVlbiBjaGFuZ2Ugc2xpIGNhbGxlZCBiZWZvcmUgc3RhcnQuIikpfXZhciBiPXpYLGM9ITEsZD17anc6bW9hfS5qdygiZnVsbHNjcmVlbl9yZXF1ZXN0IiksZT1sb2EoKXx8ImZ1bGxzY3JlZW5lcnJvciI7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZSxmPT57YSgpO2QuemcoIkZBSUxVUkUiKTt5WCgiZnVsbHNjcmVlbiByZXF1ZXN0IixiKCkse2V2ZW50OmZ9KTtjPSExfSk7ZT14WCgpfHwiZnVsbHNjcmVlbmNoYW5nZSI7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZSwoKT0+e2EoKTtkLnpnKCJTVUNDRVNTIik7Yz0hMX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVucmVxdWVzdCIsKCk9PntjPSEwO2QuRHIoYigpKX0pfTsKb29hPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZmFsbGJhY2tFbmRwb2ludCxjPWEudGltZW91dE1zO2lmKCFfLngoIm13ZWJfYzNfbml0cmF0ZV9jbGllbnRfb3Blbl9hcHBfZmFsbGJhY2tfa3MiKSYmYS51cmwpe3ZhciBkPV8uWmIoYS51cmwsImZlYXR1cmUiKXx8IiI7ZD1kLnN0YXJ0c1dpdGgoImUxNW1fIil8fGQuc3RhcnRzV2l0aCgiZTFkXyIpfHxkLnN0YXJ0c1dpdGgoImUzZF8iKTtfLmZyJiZkJiYhYiYmKGE9YS51cmwsYS5zdGFydHNXaXRoKCJ2bmQueW91dHViZTovLyIpP2E9YS5yZXBsYWNlKCJ2bmQueW91dHViZTovLyIsImh0dHBzOi8vIik6YS5zdGFydHNXaXRoKCJ5b3V0dWJlOi8vIikmJihhPWEucmVwbGFjZSgieW91dHViZTovLyIsImh0dHBzOi8vIikpLF8uWGIoYSwwLCJyZWRpcmVjdF9hcHBfc3RvcmVfaW9zIixhLnNlYXJjaChfLlliKSk+PTB8fChhPV8uRk8oYSwicmVkaXJlY3RfYXBwX3N0b3JlX2lvcyIsIjEiKSksYj1fLndOKGEpLCFjfHxjPD0wKSYmKGM9Xy5zaigibXdlYl9kZWVwX2xpbmtfZmFsbGJhY2tfdGltZW91dF9tcyIsCjNFMykpfXJldHVybntmYWxsYmFja0VuZHBvaW50OmIsdGltZW91dE1zOmN9fTtwb2E9ZnVuY3Rpb24oYSxiKXtfLngoIm13ZWJfYXBwX2J1dHRvbl9sb2dfa3MiKXx8dFgoXy50aWEpO2IuZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO2E9Xy5CKGEsXy5xaWEpO2E/LnVybCYmKHdpbmRvdy5sb2NhdGlvbj1hLnVybCk7dmFyIHtmYWxsYmFja0VuZHBvaW50OmMsdGltZW91dE1zOmR9PWE/b29hKGEpOntmYWxsYmFja0VuZHBvaW50OnZvaWQgMCx0aW1lb3V0TXM6dm9pZCAwfTtBWD09PXZvaWQgMCYmZCYmZD4wJiYoQVg9c2V0VGltZW91dCgoKT0+e0FYPXZvaWQgMDtjJiZfLkFKKGMsYi5zb3VyY2VEYXRhLCEwKX0sZCksXy5OTSh3aW5kb3csInZpc2liaWxpdHljaGFuZ2UiLCgpPT57QVgmJih3aW5kb3cuY2xlYXJUaW1lb3V0KEFYKSxBWD12b2lkIDApfSkpfTsKcW9hPWZ1bmN0aW9uKGEpe3ZhciBiPXhYKCk7YiYmd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoYiwoKT0+e3ZhciBjPSEhXy5aTygpO2N8fF8uTU8oIi55dHdQbGF5ZXJCb3R0b21Db250cm9sc0Z1bGxzY3JlZW5CdXR0b25XcmFwcGVyIC5mdWxsc2NyZWVuLWljb24gLmJ1dHRvbiIpO2Euc2V0RmF1eEZ1bGxzY3JlZW4oYyl9KX07Qlg9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2dvb2dsZS1mZWVkYmFjayIpO2ImJihfLkJOKGIsYSksYSYmXy5NTygoKT0+Yi5xdWVyeVNlbGVjdG9yKCJpZnJhbWUiKT8uY29udGVudERvY3VtZW50Py5xdWVyeVNlbGVjdG9yKCIudXZGZWVkYmFja0Zvcm1mb3JtLWluaXRpYWwtZm9jdXMtZWxlbWVudCwgLnV2RmVlZGJhY2tSc2FkaWFsb2dkaWFsb2cgLnNjU2hhcmVkTWF0ZXJpYWxidXR0b25yb290IiksNSx7cmw6ITB9KSl9Owpyb2E9ZnVuY3Rpb24oKXt2YXIgYT1fLlhELnJlc3BvbnNlPy5yZXNwb25zZT8ucmVzcG9uc2VDb250ZXh0Py5zZXJ2aWNlVHJhY2tpbmdQYXJhbXM/LmZpbHRlcihjPT5jLnNlcnZpY2U9PT0iR0ZFRURCQUNLIilbMF0ucGFyYW1zPy5maWx0ZXIoYz0+Yy5rZXk9PT0iZSIpWzBdLGI9bmV3IFNldChfLncoIkZFWFBfRVhQRVJJTUVOVFMiLFtdKSk7KGE/LnZhbHVlPy5zcGxpdCgiLCIpfHxbXSkuZm9yRWFjaChjPT57Yi5hZGQoTnVtYmVyKGMpKX0pO3JldHVybiBBcnJheS5mcm9tKGIpLmpvaW4oIiwiKX07CnNvYT1mdW5jdGlvbigpe3JldHVybiBfLldEKCgpPT57dmFyIGE9Xy5YRC5yZXNwb25zZT8ucmVzcG9uc2U/LnJlc3BvbnNlQ29udGV4dD8uc2VydmljZVRyYWNraW5nUGFyYW1zPy5maWx0ZXIoYz0+Yy5zZXJ2aWNlPT09IkdGRUVEQkFDSyIpWzBdLnBhcmFtcz8uZmlsdGVyKGM9PmMua2V5PT09InByZW1pdW1fbWVtYmVyc2hpcCIpWzBdLGI9Xy5YRC5yZXNwb25zZT8ucGxheWVyUmVzcG9uc2U/LnJlc3BvbnNlQ29udGV4dD8uc2VydmljZVRyYWNraW5nUGFyYW1zPy5maWx0ZXIoYz0+Yy5zZXJ2aWNlPT09IkdGRUVEQkFDSyIpWzBdLnBhcmFtcz8uZmlsdGVyKGM9PmMua2V5PT09InByZW1pdW1fbWVtYmVyc2hpcCIpWzBdO3JldHVybiBhP2EudmFsdWU6Yj9iLnZhbHVlOm51bGx9KX07CkNYPWZ1bmN0aW9uKGEpeyhuZXcgXy5meShhLm9sZFVSTCkpLnY9PT0iI2ZlZWRiYWNrIiYmd2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI2ZlZWRiYWNrIiYmKEJYKCExKSwoYT13aW5kb3cuR09PR0xFX0ZFRURCQUNLX0RFU1RST1lfRlVOQ1RJT04pJiZhKCkpfTt0b2E9ZnVuY3Rpb24oKXtfLkZKLnRoZW4oKCk9Pnt3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZmVlZGJhY2siJiYoXy5ZTT9fLiRNKCIiKTpfLlpNKCkpO3JldHVybiBfLkZKfSl9O3VvYT1mdW5jdGlvbigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixDWCk7dG9hKCk7QlgoITEpO18uRXAoInVzZXJGZWVkYmFja0V2ZW50Iix7fSl9O3ZvYT1mdW5jdGlvbigpe3JldHVybntwcm9kdWN0SWQ6Ijc3NTIyIixsb2NhbGU6Xy53KCJIVE1MX0xBTkciLCJlbiIpLGFsbG93Tm9uTG9nZ2VkSW5GZWVkYmFjazohMCxidWNrZXQ6IkMzIixjYWxsYmFjazp1b2Esb25Mb2FkQ2FsbGJhY2s6KCk9PntCWCghMCl9fX07CndvYT1mdW5jdGlvbihhKXt2YXIgYj12b2EoKSxjPXtjbGllbnRBcHBWZXJzaW9uOl8udygiQ0xJRU5UX0FQUF9WRVJTSU9OIiwiIiksZXhwZXJpbWVudHM6cm9hKCksbG9nZ2VkX2luOl8udFAoKSxEZXZpY2U6Xy5iYygpLHByZW1pdW1fbWVtYmVyc2hpcDpzb2EoKX07Xy5WTSgpfHxfLldNKCk7YSYmYS5mb3JFYWNoKGQ9PnsoZD1kLnVzZXJGZWVkYmFja0VuZHBvaW50UHJvZHVjdFNwZWNpZmljVmFsdWVEYXRhKSYmZC5rZXkmJihjW2Qua2V5XT1kLnZhbHVlKX0pO18uVU4oKS50aGVuKCgpPT57Xy4kTSgiZmVlZGJhY2siKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsQ1gpO18uWU8oYixjKX0pfTt4b2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IERYO2IuYWJvcnQoYSk7cmV0dXJuIGIuc2lnbmFsfTsKeW9hPWZ1bmN0aW9uKCl7aWYodGhpcy5hYm9ydGVkKXRocm93IHRoaXMucmVhc29uPz9uZXcgRE9NRXhjZXB0aW9uKCJzaWduYWwgaXMgYWJvcnRlZCB3aXRob3V0IHJlYXNvbiIsIkFib3J0RXJyb3IiKTt9O3pvYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRFg7Zm9yKGxldCBjIG9mIGEpaWYoYy5hYm9ydGVkKXtiLmFib3J0KGMucmVhc29uKTticmVha31lbHNlIEVYLnNldChiLnNpZ25hbCxiKSxGWC5hZGQoYyxiLnNpZ25hbCk7cmV0dXJuIGIuc2lnbmFsfTtBb2E9ZnVuY3Rpb24oKXtmb3IobGV0IGEgb2YgRlguZ2V0KHRoaXMpKUVYLmdldChhKS5hYm9ydCh0aGlzLnJlYXNvbil9O0JvYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRFg7c2V0VGltZW91dCgoKT0+e2IuYWJvcnQobmV3IERPTUV4Y2VwdGlvbigic2lnbmFsIHRpbWVkIG91dCIsIlRpbWVvdXRFcnJvciIpKX0sYSk7cmV0dXJuIGIuc2lnbmFsfTsKQ29hPWZ1bmN0aW9uKCl7dmFyIGE9W10sYjt2YXIgYz1jfHxHWC5sZW5ndGg7Zm9yKGI9MDtiPDg7YisrKWFbYl09R1hbMHxNYXRoLnJhbmRvbSgpKmNdO3JldHVybiBhLmpvaW4oIiIpfTtIWD1mdW5jdGlvbihhKXtmb3IobGV0IFssYl1vZiBPYmplY3QuZW50cmllcyhEb2EpKXtsZXQgYz1iO2lmKGM9PT0iU0xJX1NUQVRVU18iK2EpcmV0dXJuIGN9cmV0dXJuIlNMSV9TVEFUVVNfVU5LTk9XTiJ9O0lYPWZ1bmN0aW9uKGEsYixjKXtiPUhYKGIpO1pXKHtkaW1lbnNpb25zOmMscmVjb3Jkczpbe25hbWU6YSxzdGF0ZToiU0xJX1NUQVRFX0VORCIsc3RhdHVzOmJ9XX0pfTtGb2E9ZnVuY3Rpb24oYSl7cmV0dXJuIEJuYShhLCgpPT5uZXcgRW9hKGEpKX07bW9hPWZ1bmN0aW9uKGEpe3JldHVybiBGb2EoYSl9O0tYPWZ1bmN0aW9uKGEsYil7SlgoYSxgJHtifSB3YXMgY2FsbGVkIGJ1dCBub3Qgc2V0YCl9O0hvYT1mdW5jdGlvbihhKXtyZXR1cm4gR29hLmluZGV4T2YoYSk+LTF9OwpKWD1mdW5jdGlvbihhLGIsYyl7Yz1jIT09dm9pZCAwP09iamVjdC5rZXlzKGEpLmZpbHRlcihjKTpPYmplY3Qua2V5cyhhKTthPW5ldyBfLlhqKGBbQ29tbWFuZCBIYW5kbGVyXSAke2J9YCx7ZmlsdGVyZWRDb21tYW5kTmFtZXM6YyxvcmlnaW5hbENvbW1hbmQ6YX0pO18uR3AoYSl9O0lvYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uQihhLF8uTkopO2lmKGMmJihjPWJbYy5zaWduYWxdKSlyZXR1cm4gYygpO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhhKSlpZihiW2RdJiYoYT1iW2RdKSlyZXR1cm4gYSgpfTtKb2E9ZnVuY3Rpb24oYSxiLGM9ITEsZD0hMSxlPVtdKXtMWC5pbnN0YW5jZT1uZXcgTFgoYSxiLGMsZCxlKX07CktvYT1mdW5jdGlvbihhKXtpZighYS5EJiZfLndDKCJjb21tYW5kIikpe2xldCBiPWEucmVzb2x2ZUNvbW1hbmQ7YS5yZXNvbHZlQ29tbWFuZD1mdW5jdGlvbihjLGQpe2E6e2ZvcihlIGluIGMpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsZSkpe3ZhciBlPXtjb21tYW5kVHlwZTplfTticmVhayBhfWU9e319cmV0dXJuIF8ueUMoImNvbW1hbmQiLGUsYi5iaW5kKHRoaXMsYyxkKSl9O2EuRD0hMH19OwpNWD1mdW5jdGlvbihhLGIsYyl7IWM/Lm1kJiZhLmomJihiLmNsaWNrVHJhY2tpbmdQYXJhbXM/KGM9Yz8uZm9ybT8uZWxlbWVudCxhLmouY2xpY2tDb21tYW5kKGIsbnVsbCxjJiZjLmdldFNjcmVlbkxheWVyJiZjLmdldFNjcmVlbkxheWVyKCkpKTpiLmNsaWNrVHJhY2tpbmdQYXJhbXM/YS5qLmNsaWNrQ29tbWFuZChiKTohXy54KCJkaXNhYmxlX2NsaWNrZWRfdmlzdWFsX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyIikmJmM/LmNsaWNrZWRWaXN1YWxFbGVtZW50JiZfLndKKGEuaixjLmNsaWNrZWRWaXN1YWxFbGVtZW50KSl9OwpMb2E9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLkIpcmV0dXJue2hhbmRsZWQ6ITF9O3ZhciBkPUlvYShiLGEuQik7cmV0dXJuIGQ/KChhLksuc29tZShlPT4hIV8uQihiLGUpKXx8Yz8uUHB8fCFhLkkpJiZNWChhLGIsYykse2hhbmRsZWQ6ITAsWms6KGFzeW5jKCk9Pnthd2FpdCAoZCBpbnN0YW5jZW9mIFByb21pc2U/YXdhaXQgZDpkKS5yZXNvbHZlKGIsYyl9KSgpfSk6e2hhbmRsZWQ6ITF9fTsKTlg9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPU1vYShiKTtpZighYz8uVEspe2xldCBmPUxvYShhLGIsYyk7aWYoZi5oYW5kbGVkKXJldHVybiBmfWlmKGQpcmV0dXJuIE5vYShhLGIsYyk7aWYoIWEudilyZXR1cm4gSlgoYiwiVW5oYW5kbGVkIGNvbW1hbmQgYnkgYnVpbGRDb21tYW5kUGF5bG9hZCIpLHtoYW5kbGVkOiExfTt2YXIgZT1hLnYoYixjKTtjPy5FaSYmKGUuRWk9Yy5FaSk7aWYoZS50eXBlPT09MCl7aWYoIWEubmF2aWdhdGUpcmV0dXJuIEtYKGIsIm5hdmlnYXRlIikse2hhbmRsZWQ6ITF9O2lmKCFfLkIoZS5jb21tYW5kPy5jb21tYW5kTWV0YWRhdGEsXy56dyk/LnVybClyZXR1cm4gSlgoYiwiUGFnZSByZXF1ZXN0cyBuZWVkIHRvIHNwZWNpZnkgYSB1cmwiKSx7aGFuZGxlZDohMX07aWYoT29hKGEsZS5jb21tYW5kKSlyZXR1cm57aGFuZGxlZDohMX07Xy54KCJsb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIikmJl8uaW8oKS50cmFuc2l0aW9uKCJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIik7CmI9YS5uYXZpZ2F0ZShlKXx8W107ZD1Qcm9taXNlLnJlc29sdmUoR25hKGIpLnRoZW4oKCk9PnthLm8uZGVsZXRlKGUuY29tbWFuZCl9KSk7YS5qJiYhYS5ZJiZBbmEoYS5qLGUuY29tbWFuZCx7Y2xpY2tlZFZpc3VhbEVsZW1lbnQ6Yz8uY2xpY2tlZFZpc3VhbEVsZW1lbnQsZmw6YixsYXllcjplLmxheWVyLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOjR9KTtyZXR1cm57aGFuZGxlZDohMCxaazpkfX1pZihlLnR5cGU9PT0xKXJldHVybiBLWChiLCJoYW5kbGVTZXJ2aWNlUmVxdWVzdCIpLHtoYW5kbGVkOiExfTtlLnR5cGU9PT0yJiZLWChiLCJzZW5kQWN0aW9uIik7cmV0dXJue2hhbmRsZWQ6ITF9fTtNb2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5CKGEsXy56eik/LnNpZ25hbD09PSJDTElFTlRfU0lHTkFMIjtyZXR1cm4hIV8uQihhLF8uU0QpfHxifTsKTm9hPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPV8uQihiLF8uU0QpO2U/ZD1lPy5jb21tYW5kc3x8W106Xy5CKGIsXy56eik/LnNpZ25hbD09PSJDTElFTlRfU0lHTkFMIiYmKGQ9Xy5CKGIsXy56eik/LmFjdGlvbnN8fFtdKTtpZihkKXsoZT1Qb2EoYSxkKSkmJk1YKGEsYixjKTtiPVtdO2ZvcihsZXQgZiBvZiBkKXRyeXtkPXsuLi5jfTtlJiYoZC5tZD0hMCk7bGV0IGg9TlgoYSxmLGQpO2guaGFuZGxlZCYmYi5wdXNoKGguWmspfWNhdGNoKGgpe2ggaW5zdGFuY2VvZiBFcnJvciYmXy5HcChoKX1yZXR1cm57aGFuZGxlZDohMCxaazpQcm9taXNlLmFsbFNldHRsZWQoYikudGhlbigoKT0+e30pfX1KWChiLCJDb3VsZCBub3QgaGFuZGxlIHRoZSBtZXRhIGNvbW1hbmQiKTtyZXR1cm57aGFuZGxlZDohMX19O09vYT1mdW5jdGlvbihhLGIpe2lmKGEuby5oYXMoYikpcmV0dXJuITA7YS5vLmFkZChiKTtyZXR1cm4hMX07ClBvYT1mdW5jdGlvbihhLGIpe3JldHVybiBiLmV2ZXJ5KGM9PmEuTS5zb21lKGQ9PiEhXy5CKGMsZCkpKX07UW9hPWZ1bmN0aW9uKGEsYil7YT1hLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7aWYoYS5sZW5ndGgpcmV0dXJuIGE/LmZpbmQoYz0+Yz8uZ2V0TGFuZ3VhZ2VJbmZvKCk/LmdldElkKCk9PT1iKX07Um9hPWZ1bmN0aW9uKGEsYixjKXthPV8uJE8oYSk7aWYoYS5sZW5ndGgpcmV0dXJuIGM/YS5maW5kKGQ9PmQudHJhbnNsYXRpb25MYW5ndWFnZT9kLnRyYW5zbGF0aW9uTGFuZ3VhZ2UubGFuZ3VhZ2VDb2RlPT09YjohMSk6YT8uZmluZChkPT5kLmxhbmd1YWdlQ29kZT09PWIpfTsKU29hPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MoKTtpZihiPy5sZW5ndGgpe3ZhciBjPWEuZ2V0QXVkaW9UcmFjaygpO2E9e2xpc3RJdGVtczpbLi4uYi5tYXAoZD0+KHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6ZC5nZXRMYW5ndWFnZUluZm8oKS5nZXROYW1lKCl9LGlzU2VsZWN0ZWQ6ZC5nZXRMYW5ndWFnZUluZm8oKS5nZXRJZCgpPT09Yz8uZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7c2lnbmFsU2VydmljZUVuZHBvaW50OntzaWduYWw6IkNMSUVOVF9TSUdOQUwiLGFjdGlvbnM6W3thdWRpb1RyYWNrU2VsZWN0QWN0aW9uQ29tbWFuZDp7bGFuZ3VhZ2VDb2RlOmQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKX19XX19fX19fX0pKV0sCnZpc2libGVFbGVtZW50Q291bnQ6NX07cmV0dXJue3Nob3dTaGVldENvbW1hbmQ6e3BhbmVsTG9hZGluZ1N0cmF0ZWd5OntpbmxpbmVDb250ZW50OntzaGVldFZpZXdNb2RlbDp7aGVhZGVyOntwYW5lbEhlYWRlclZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQSgiQVVESU9fVFJBQ0siLHZvaWQgMCwiQXVkaW8gVHJhY2siKX19fSxjb250ZW50OntsaXN0Vmlld01vZGVsOmF9fX19fX19fTtPWD1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2tsaXN0Iix7aW5jbHVkZUFzcjohMH0pfTtUb2E9ZnVuY3Rpb24oYSl7dmFyIGI9T1goYSk7aWYoYj8ubGVuZ3RoKXJldHVybiBiO2EubG9hZE1vZHVsZSgiY2FwdGlvbnMiKTtyZXR1cm4gT1goYSl9OwpQWD1mdW5jdGlvbihhKXt2YXIgYj1hLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpO2lmKGIpcmV0dXJuIGI7YS5sb2FkTW9kdWxlKCJjYXB0aW9ucyIpO3JldHVybiBhLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpfTtRWD1mdW5jdGlvbihhLGIpe3JldHVybntwYW5lbEhlYWRlclZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQShhLHZvaWQgMCxiKX19fX07ClZvYT1mdW5jdGlvbihhKXt2YXIgYj1Ub2EoYSk7aWYoYj8ubGVuZ3RoKXt2YXIgYz1QWChhKTthPXtsaXN0SXRlbXM6W3tsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQSgiUExBWUVSX0NBUFRJT05fT0ZGIix2b2lkIDAsIk9mZiIpfSxpc1NlbGVjdGVkOiFjPy5sYW5ndWFnZUNvZGUsc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOlt7Y2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDp7bGFuZ3VhZ2VDb2RlOiIifX0se2hpZGVTaGVldENvbW1hbmQ6e319XX19fX19fX0sLi4uYi5tYXAoZD0+KHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6ZC5kaXNwbGF5TmFtZX0saXNTZWxlY3RlZDpkLmRpc3BsYXlOYW1lPT09CmM/LmRpc3BsYXlOYW1lLHNlbGVjdGlvblN0eWxlOiJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiLHJlbmRlcmVyQ29udGV4dDp7Y29tbWFuZENvbnRleHQ6e29uVGFwOntpbm5lcnR1YmVDb21tYW5kOntzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiQ0xJRU5UX1NJR05BTCIsYWN0aW9uczpbe2NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6e2xhbmd1YWdlQ29kZTpkLmxhbmd1YWdlQ29kZX19LHtoaWRlU2hlZXRDb21tYW5kOnt9fV19fX19fX19KSkse2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTp7Y29udGVudDpfLmFBKCJBVVRPX1RSQU5TTEFURSIsdm9pZCAwLCJBdXRvLXRyYW5zbGF0ZSIpfSxpc1NlbGVjdGVkOiEhYy50cmFuc2xhdGlvbkxhbmd1YWdlLHNlbGVjdGlvblN0eWxlOiJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiLC4uLighIWMudHJhbnNsYXRpb25MYW5ndWFnZSYme3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6Yz8udHJhbnNsYXRpb25MYW5ndWFnZT8ubGFuZ3VhZ2VOYW1lfHwKIiJ9fSkscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOltVb2EoYSldfX19fX19fV0sdmlzaWJsZUVsZW1lbnRDb3VudDo1fTtyZXR1cm57c2hvd1NoZWV0Q29tbWFuZDp7cGFuZWxMb2FkaW5nU3RyYXRlZ3k6e2lubGluZUNvbnRlbnQ6e3NoZWV0Vmlld01vZGVsOntoZWFkZXI6UVgoIlBMQVlFUl9DQVBUSU9OIiwiQ2FwdGlvbnMiKSxjb250ZW50OntsaXN0Vmlld01vZGVsOmF9fX19fX19fTsKVW9hPWZ1bmN0aW9uKGEpe3ZhciBiPV8uYVAoYSk7aWYoIWI/Lmxlbmd0aCl0aHJvdyBFcnJvcigiYmUiKTt2YXIgYz1QWChhKTthPXtsaXN0SXRlbXM6Wy4uLmIuZmlsdGVyKGQ9PiFkLmxhbmd1YWdlQ29kZT8uc3RhcnRzV2l0aCgiZW4iKSkubWFwKGQ9Pih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50OmQubGFuZ3VhZ2VOYW1lfHwiIn0saXNTZWxlY3RlZDpkLmxhbmd1YWdlTmFtZT09PWM/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7c2lnbmFsU2VydmljZUVuZHBvaW50OntzaWduYWw6IkNMSUVOVF9TSUdOQUwiLGFjdGlvbnM6W3tjYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kOntsYW5ndWFnZUNvZGU6ZC5sYW5ndWFnZUNvZGUsaXNBdXRvVHJhbnNsYXRlZDohMH19LAp7aGlkZVNoZWV0Q29tbWFuZDp7fX1dfX19fX19fSkpXSx2aXNpYmxlRWxlbWVudENvdW50OjV9O3JldHVybntzaG93U2hlZXRDb21tYW5kOntwYW5lbExvYWRpbmdTdHJhdGVneTp7aW5saW5lQ29udGVudDp7c2hlZXRWaWV3TW9kZWw6e2hlYWRlcjpRWCgiQVVUT19UUkFOU0xBVEUiLCJBdXRvLXRyYW5zbGF0ZSIpLGNvbnRlbnQ6e2xpc3RWaWV3TW9kZWw6YX19fX19fX07V29hPWZ1bmN0aW9uKGEpe3ZhciBiPV8uVncoKTtpZihiKXt2YXIgYz17d2ViQ2xpZW50Q29tcG9uZW50c0RhdGE6e2NvbXBvbmVudHM6QXJyYXkuZnJvbShhLmlkcyxkPT4oe2lkOmR9KSl9fTthLmlkcy5jbGVhcigpO18uaHgoKS52aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkKGIsYyl9fTsKWG9hPWZ1bmN0aW9uKGEpe3ZhciBiPXpYO2EuYWRkRXZlbnRMaXN0ZW5lcigib25TdGF0ZUNoYW5nZSIsYz0+e2lmKGEpe3ZhciBkPWEuZ2V0VmlkZW9EYXRhKCkudmlkZW9faWQ7ZCE9PVJYJiZjPT09MSYmKFJYPWQsU1gubyhiKCkpLFRYLm8oYigpKSl9fSk7YS5hZGRFdmVudExpc3RlbmVyKCJvbkVycm9yIixjPT57U1guaihiKCkpO3lYKCJwbGF5ZXIgZXJyb3IiLGIoKSx7ZXJyb3JDb2RlOmN9KX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwbGF5YmFjay11bnBsYXlhYmxlIixjPT57VFguaihiKCkpO3lYKCJwbGF5ZXIgdW5wbGF5YWJsZSIsYigpLHtyZWFzb246Yy5kZXRhaWw/LnJlYXNvbn0pfSl9O1lvYT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPWEuai5nZXQoYik7aWYoYylyZXR1cm4gYy5wcm9taXNlO2M9bmV3IF8uY3M7YS5qLnNldChiLGMpO3JldHVybiBjLnByb21pc2V9Owpab2E9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1hLk9tLmdldChiKTtyZXR1cm4gYz9jOllvYShhLGIpfTskb2E9YXN5bmMgZnVuY3Rpb24oYSxiKXtpZihhLnBhbmVsTG9hZGluZ1N0cmF0ZWd5Py5yZXF1ZXN0VGVtcGxhdGUpdHJ5e2xldCBjPWF3YWl0IGEuby5RaShiKTtpZihjKXJldHVybiBjLmNvbnRlbnQ7Xy5HcChFcnJvcigiY2UiKSl9Y2F0Y2goYyl7Xy5HcChjKX19O1ZYPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFVYKGEpPy5vdyhiKT8/Yn07VVg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uWk8oKSYmYS5NP2EuTTphLmNvbnRhaW5lcn07V1g9ZnVuY3Rpb24oYSl7YS5ZJiYoY2xlYXJUaW1lb3V0KGEuWSksYS5ZPXZvaWQgMCk7YS5CJiYoY2xlYXJUaW1lb3V0KGEuQiksYS5CPXZvaWQgMCl9OwokWD1hc3luYyBmdW5jdGlvbihhLGIsYyxkPWMpe3ZhciBlPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgZj1fLlp0LGg9YXdhaXQgYS5kbSgpO18uVnooZSxfLnZNKGYpKTtpZihoKWlmKGEubyl7aWYoYS5jdXJyZW50VGFyZ2V0PT09YylyZXR1cm47WFgoYSk7WVgoYSk7YXdhaXQgVVgoYSk/LkplKCl9ZWxzZSBpZighXy54KCJkZWxheV9zaGVldF9vcGVuX2tpbGxzd2l0Y2giKSl7aWYoXy54KCJ3ZWJfY2xvc2Vfc2hlZXRfaWZfc2FtZV90YXJnZXRfa2lsbHN3aXRjaCIpJiZjJiZhLmN1cnJlbnRUYXJnZXQ9PT1jKXtVWChhKT8uSmUoKTtyZXR1cm59YS52PXtkYXRhOmIsdGFyZ2V0OlZYKGEsYyl9O3JldHVybn1iLnZpZXdNb2RlbCYmKGI9e3ZpZXdNb2RlbDpiLnZpZXdNb2RlbCxVcjpiLlVyLGV4cGFuZFRvRnVsbFdpZHRoOmIuZXhwYW5kVG9GdWxsV2lkdGgsb3BlblRvU2lkZTpiLm9wZW5Ub1NpZGV9KTtVWChhKT8ud2coYixjLGQpO2EuY3VycmVudFRhcmdldD0KYzthLm8/KGEuSSgpLGEuY3VycmVudFRhcmdldD8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5JKSxhLmN1cnJlbnRUYXJnZXQ/LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGEuWiksWlgoYSkpOmEuRCYmWlgoYSl9Y2F0Y2goZil7ZS5lcnJvcj1mLGUuaGFzRXJyb3I9ITB9ZmluYWxseXtfLld6KGUpfX07WFg9ZnVuY3Rpb24oYSl7YS5jdXJyZW50VGFyZ2V0Py5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixhLkkpO2EuY3VycmVudFRhcmdldD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsYS5aKX07WVg9ZnVuY3Rpb24oYSl7dmFyIGI9VVgoYSk/LlhwKCk7Yj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5VKTtiPy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixhLkspfTsKWlg9ZnVuY3Rpb24oYSl7dmFyIGI9VVgoYSk/LlhwKCk7Yj8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5VKTtiPy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixhLkspfTthWT1hc3luYyBmdW5jdGlvbihhKXtpZihhLm8pe2lmKGEuailyZXR1cm47WFgoYSk7WVgoYSl9ZWxzZSBhLkQmJihZWChhKSxhLksoKSk7YXdhaXQgVVgoYSk/LkplKCk7YS5jdXJyZW50VGFyZ2V0PXZvaWQgMDthLmo9ITE7YS5vPSExO2EuaGlkZURlbGF5TXM9MDthLnNob3dEZWxheU1zPTA7YS5EPSExO2EudiYmIV8ueCgiZGVsYXlfc2hlZXRfb3Blbl9raWxsc3dpdGNoIikmJihhd2FpdCBhLndnKGEudi5kYXRhLGEudi50YXJnZXQpLGEudj12b2lkIDApfTsKYXBhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9MDtyZXR1cm57Y2xlYXI6ZnVuY3Rpb24oKXtjPWIubGVuZ3RoPTB9LHB1c2g6ZnVuY3Rpb24oZCl7YltjXT1kO2M9KGMrMSklYX0sWng6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9Yi5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxkO2UrKyl5aWVsZCBiWyhjK2UpJWRdfSgpfX19O2JwYT1mdW5jdGlvbihhKXthLnlsfHwoYS55bD1bXSk7dmFyIGI9YS55bC5tYXAoXy5QVyksYz1uZXcgU2V0KGIpLGQ9YXBhKGEuYnVmZmVyU2l6ZSk7cmV0dXJue2ZsdXNoOmZ1bmN0aW9uKCl7dmFyIGU9QXJyYXkuZnJvbShkLlp4KCkpO2QuY2xlYXIoKTtlPWUubWFwKGY9Pih7bmFtZTpmLm5hbWUsdGltZXN0YW1wOmYuc3RhcnRUaW1lLGF0dHJpYnV0ZXM6Zi5hdHRyaWJ1dGVzfSkpO3JldHVybiBKU09OLnN0cmluZ2lmeShlKX0sR20oZSl7ZS5uYW1lPT09ImV2ZW50IiYmYy5oYXMoZS5hdHRyaWJ1dGVzLnR5cGUpfHxkLnB1c2goZSl9fX07CmNwYT1mdW5jdGlvbihhKXt2YXIge2ZsdXNoOmIsR206Y309YnBhKGEpO3NYKHtHbTpjfSk7Xy5WcC5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixkPT57dHJ5e2QucGFyYW1zLmJyZWFkY3J1bWJzPWIoKX1jYXRjaChlKXtfLkdwKGUsIldBUk5JTkciKX19KX07Ylk9ZnVuY3Rpb24oKXtfLlN6KCJ3ZWJfdHJhY2luZ19hY3Rpb24iKTtfLlR6KCJ3ZWJfdHJhY2luZ19hY3Rpb24iLHt9LHZvaWQgMCwiTEFURU5DWV9BQ1RJT05fV0VCX1RSQUNJTkciKX07ZVk9ZnVuY3Rpb24oKXtpZihjWSlyZXR1cm4id2ViX3RyYWNpbmdfYWN0aW9uIjtkWSgpO3NldEludGVydmFsKGRZLDZFNSk7Y1k9ITA7cmV0dXJuIndlYl90cmFjaW5nX2FjdGlvbiJ9O2RZPWZ1bmN0aW9uKCl7Xy5Teigid2ViX3RyYWNpbmdfYWN0aW9uIik7Xy5Ueigid2ViX3RyYWNpbmdfYWN0aW9uIix7fSx2b2lkIDAsIkxBVEVOQ1lfQUNUSU9OX1dFQl9UUkFDSU5HIil9OwpkcGE9ZnVuY3Rpb24oYSxiPWVZKCksYyl7cmV0dXJuKDAsXy5jdCkoYS5uYW1lLChhLmVuZFRpbWU/P2Euc3RhcnRUaW1lKS1hLnN0YXJ0VGltZSxhLnN0YXJ0VGltZSx7d2ViVHJhY2luZzp7W2EubmFtZV06YS5hdHRyaWJ1dGVzfX0sYyxiLHtzcGFuU3RhdHVzOmEuc3RhdHVzLHJvb3RTcGFuTm9uY2U6dm9pZCAwLHF1OnZvaWQgMH0pfTtmWT1mdW5jdGlvbihhLGIsYyxkKXtjPWRwYShhLGIsYyk7aWYoYS5jaGlsZHJlbilmb3IobGV0IGUgb2YgYS5jaGlsZHJlbilmWShlLGIsYyxkfHxjKX07CmVwYT1mdW5jdGlvbihhKXt2YXIgYj1nb2EuYmluZChudWxsLCJ5dC50ZWxlbWV0cnlfZXh0ZW5zaW9uIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGM9PntjLmRhdGEmJnR5cGVvZiBjLmRhdGE9PT0ib2JqZWN0IiYmKGM9Yy5kYXRhLGMuZnJvbT09PSJleHRlbnNpb24iJiZjLmFwcD09PSJ5dC50ZWxlbWV0cnkiJiYoYigiUmVjZWl2ZWQgbWVzc2FnZSBmcm9tIGV4dGVuc2lvbiIsYyksYS5vbk1lc3NhZ2UoYykpKX0pO3JldHVybiBmdW5jdGlvbihjLGQpe2M9e2FwcDoieXQudGVsZW1ldHJ5Iixmcm9tOiJhcHAiLGtleTpjLHBheWxvYWQ6ZH07YigiU2VuZGluZyBtZXNzYWdlIHRvIGV4dGVuc2lvbiIsYyk7d2luZG93LnBvc3RNZXNzYWdlKGMsIioiKX19OwpmcGE9ZnVuY3Rpb24oKXt2YXIgYT1lcGEoe29uTWVzc2FnZSgpe319KSxiPVtdO3JldHVybntscihjKXtjLnBhcmVudElkPT1udWxsJiZiLnB1c2goYyk9PT0xJiZzZXRUaW1lb3V0KCgpPT57dmFyIGQ9Wy4uLmJdO2IubGVuZ3RoPTA7YSgic3BhbnNSZXBvcnRlZCIse3NwYW5zOmR9KX0sM0UzKX19fTtncGE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuZmV0Y2g7d2luZG93LmZldGNoPSguLi5iKT0+e3ZhciBbYyxkPXt9XT1iLGU9Xy55QygiaHR0cEV2ZW50Iix7bWV0aG9kOmQubWV0aG9kfHwiR0VUIixwYXRoOmdZKGMpLHR5cGU6ImZldGNoIn0se2FjdGl2ZTohMX0pO3JldHVybiBhKC4uLmIpLnRoZW4oZj0+e2UuRGUoe3N0YXR1c0NvZGU6Zi5zdGF0dXMsc3RhdHVzVGV4dDpmLnN0YXR1c1RleHR9KTtlLmVuZCgpO3JldHVybiBmfSkuY2F0Y2goZj0+e2UuZW5kKCJTUEFOX1NUQVRVU19FUlJPUiIpO3Rocm93IGY7fSl9fTsKaHBhPWZ1bmN0aW9uKCl7dmFyIGE9WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLm9wZW4sYj1YTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUuc2VuZDtYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUub3Blbj1mdW5jdGlvbihjLGQsZT0hMCxmLGgpe3RoaXMudj17bWV0aG9kOmMsdXJsOmQudG9TdHJpbmcoKX07dGhpcy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e3ZhciBrPXRoaXMuajtrPy5EZSh7c3RhdHVzQ29kZTp0aGlzLnN0YXR1cyxyZXNwb25zZUNvbnRlbnRMZW5ndGg6dGhpcy5yZXNwb25zZVRleHQubGVuZ3RofSk7az8uZW5kKCl9KTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e3ZhciBrPXRoaXMuajtrPy5EZSh7c3RhdHVzQ29kZTp0aGlzLnN0YXR1cyxzdGF0dXNUZXh0OnRoaXMuc3RhdHVzVGV4dH0pO2s/LmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKX0pO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57dmFyIGs9dGhpcy5qO2s/LkRlKHtzdGF0dXNDb2RlOnRoaXMuc3RhdHVzLAphYm9ydGVkOiEwfSk7az8uZW5kKCl9KTthLmFwcGx5KHRoaXMsW2MsZCxlLGYsaF0pfTtYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihjKXt2YXIge21ldGhvZDpkLHVybDplfT10aGlzLnZ8fHttZXRob2Q6Ik4vQSIsdXJsOiJOL0EifTt0aGlzLmo9Xy55QygiaHR0cEV2ZW50Iix7bWV0aG9kOmQscGF0aDpnWShlKSx0eXBlOiJ4aHIifSx7YWN0aXZlOiExfSk7Yi5hcHBseSh0aGlzLFtjXSl9fTtnWT1mdW5jdGlvbihhKXt0cnl7aWYoYSBpbnN0YW5jZW9mIFVSTClyZXR1cm4gYS5wYXRobmFtZTthIGluc3RhbmNlb2YgUmVxdWVzdCYmKGE9YS51cmwpO3JldHVybihuZXcgVVJMKGEsImh0dHBzOi8veW91dHViZS5jb20iKSkucGF0aG5hbWV9Y2F0Y2goYil7cmV0dXJuIjx1bmFibGUgdG8gcGFyc2UgcGF0aD4ifX07CmpwYT1mdW5jdGlvbigpe3dpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUmJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e3RyeXtsZXQgYT13aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpO2lmKGEubGVuZ3RoPjApe2xldCBiPWFbMF0sYz13aW5kb3cucGVyZm9ybWFuY2UudGltZU9yaWdpbjtfLnlDKCJwYWdlTG9hZCIse25hdmlnYXRpb25UeXBlOmlwYShiLnR5cGUpLHVubG9hZEV2ZW50U3RhcnQ6TWF0aC5yb3VuZChiLnVubG9hZEV2ZW50U3RhcnQpLHVubG9hZEV2ZW50RW5kOk1hdGgucm91bmQoYi51bmxvYWRFdmVudEVuZCksZG9tSW50ZXJhY3RpdmU6TWF0aC5yb3VuZChiLmRvbUludGVyYWN0aXZlKSxkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydDpNYXRoLnJvdW5kKGIuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQpLGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZDpNYXRoLnJvdW5kKGIuZG9tQ29udGVudExvYWRlZEV2ZW50RW5kKSwKZG9tQ29tcGxldGU6TWF0aC5yb3VuZChiLmRvbUNvbXBsZXRlKSxsb2FkRXZlbnRTdGFydDpNYXRoLnJvdW5kKGIubG9hZEV2ZW50U3RhcnQpLGxvYWRFdmVudEVuZDpNYXRoLnJvdW5kKGIubG9hZEV2ZW50RW5kKSxyZWRpcmVjdENvdW50OmIucmVkaXJlY3RDb3VudH0se2FjdGl2ZTohMSxzdGFydFRpbWU6YytiLnN0YXJ0VGltZSxlbmRUaW1lOmMrYi5sb2FkRXZlbnRFbmR9KX19Y2F0Y2goYSl7fX0pfTsKaXBhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJuYXZpZ2F0ZSI6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfTkFWSUdBVEUiO2Nhc2UgInJlbG9hZCI6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfUkVMT0FEIjtjYXNlICJiYWNrX2ZvcndhcmQiOnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX0JBQ0tfRk9SV0FSRCI7Y2FzZSAicHJlcmVuZGVyIjpyZXR1cm4iUEVSRk9STUFOQ0VfTkFWSUdBVElPTl9USU1JTkdfVFlQRV9QUkVSRU5ERVIiO2RlZmF1bHQ6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfVU5LTk9XTiJ9fTsKbHBhPWZ1bmN0aW9uKCl7SW5hKChhLGIpPT57dmFyIGM9bmV3IE1hcCxkLGU9ZVkoKTtmb3IobGV0IGggb2YgYS5zcGFucyl7aWYoaC5tYXJrZXIpY29udGludWU7dmFyIGY9Yi5nZXQoaC5pZCk/LmdldChfLk92KTtsZXQgaz1mP2twYVtmLnR5cGVdOnZvaWQgMDtpZighZnx8aC5kdXJhdGlvbk1zPT09dm9pZCAwfHxrPT09dm9pZCAwKXtoLnBhcmVudElkIT09dm9pZCAwJiYoZj1jLmdldChoLnBhcmVudElkKSxmIT09dm9pZCAwJiZjLnNldChoLmlkLGYpKTtjb250aW51ZX1sZXQgbD1hLm5LK2gueUssbT1oLnBhcmVudElkIT09dm9pZCAwP2MuZ2V0KGgucGFyZW50SWQpOnZvaWQgMCxuLHA7c3dpdGNoKGYudHlwZSl7Y2FzZSAiUmVuZGVyIjpjYXNlICJFZmZlY3QiOmNhc2UgIk9uSW5pdCI6Y2FzZSAiUmVuZGVyRWZmZWN0IjpwPWYubG9jYXRpb247YnJlYWs7Y2FzZSAiQ3JlYXRlUmVhY3RpdmVDb21wb25lbnQiOm49Zi5jb21wb25lbnROYW1lO2JyZWFrO2Nhc2UgIkNvbXB1dGVkIjpuPQpmLmhJO3A9Zi5sb2NhdGlvbjticmVhaztjYXNlICJTaWduYWxVcGRhdGUiOm49Zi5TS31pZihmPSgwLF8uY3QpKCJjb3dfc3BhbiIsaC5kdXJhdGlvbk1zLGwse3dlYlRyYWNpbmc6e2Nvd1NwYW46e3R5cGU6ayxuYW1lOm4sY29kZUxvY2F0aW9uOnB9fX0sbSxlLHtyb290U3Bhbk5vbmNlOmR9KSljLnNldChoLmlkLGYpLGQ9PT12b2lkIDAmJihkPWYpfX0pfTsKcHBhPWZ1bmN0aW9uKCl7dmFyIGE9aFkudmFsdWUsYj17fTtmb3IobGV0IGMgb2YgYS5IdiliW2NdPSEwO2VvYSh7c2Vzc2lvbklkOl8uRm4oKSxkaDpiLFdoKGMsZCxlKXtyZXR1cm4gbXBhP2M9PT0ic2hvcnRUb1Nob3J0Inx8ZT8uV3ooKT8ubmFtZT09PSJzaG9ydFRvU2hvcnQiOiEwfX0pO2ZvYSgpO18ud0MoInBhZ2VMb2FkIikmJmpwYSgpO18ud0MoImNvd1NwYW4iKSYmbHBhKCk7Xy53QygiaHR0cEV2ZW50IikmJihncGEoKSxocGEoKSk7YS5RdiYmc1gobnBhKTthLlJ2JiZzWChmcGEoKSk7YS5NcT4wJiZjcGEoe3lsOm9wYSxidWZmZXJTaXplOmEuTXF9KX07CmpZPWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMHx8YS5nZXRBdHRyaWJ1dGUoInZpZXdCb3giKXx8YS5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLGAwIDAgJHtifSAke2J9YCk7YS5zZXRBdHRyaWJ1dGUoImZvY3VzYWJsZSIsImZhbHNlIik7YS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpO2I9Xy54KCJraWxsc3dpdGNoX3JlbW92ZV9pY29uX2ZpbGxfY29sb3IiKTthLmdldEF0dHJpYnV0ZSgiZmlsbCIpIT09ImN1cnJlbnRjb2xvciImJmEuZ2V0QXR0cmlidXRlKCJmaWxsIikhPT0iY3VycmVudENvbG9yInx8Ynx8YS5yZW1vdmVBdHRyaWJ1dGUoImZpbGwiKTt0cnl7YS5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixhLnN0eWxlLmRpc3BsYXk9ImluaGVyaXQiLGEuc3R5bGUud2lkdGg9IjEwMCUiLGEuc3R5bGUuaGVpZ2h0PSIxMDAlIn1jYXRjaChjKXtpWSh7ZXJyb3I6Yz8udG9TdHJpbmc/Yy50b1N0cmluZygpOiIifSk7dHJ5e2Euc3R5bGUuY3NzVGV4dD0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGluaGVyaXQ7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7In1jYXRjaChkKXtpWSh7ZXJyb3I6ZD8udG9TdHJpbmc/CmQudG9TdHJpbmcoKToiIn0pfX1yZXR1cm4gYX07CnFwYT1mdW5jdGlvbihhKXtpZihfLngoIndpbF9pY29uc19jYWNoZV9wdXJnZV9raWxsc3dpdGNoIikpcmV0dXJuITE7dHJ5e3ZhciBiPV8udS5sb2NhbFN0b3JhZ2V9Y2F0Y2goZSl7cmV0dXJuITF9aWYoIWJ8fCFhLkIpcmV0dXJuITE7dmFyIGM9ZT0+e3RyeXtiPy5zZXRJdGVtKCJ5dC1pY29ucy1sYXN0LXB1cmdlZCIsZS50b1N0cmluZygpKX1jYXRjaChmKXtpWSh7ZXJyb3I6Zj8udG9TdHJpbmc/Zi50b1N0cmluZygpOiIifSl9fSxkPU51bWJlcihiLmdldEl0ZW0oInl0LWljb25zLWxhc3QtcHVyZ2VkIikpO2lmKCFkKXJldHVybiBkPW5ldyBEYXRlLGQ9ZC5zZXREYXRlKGQuZ2V0RGF0ZSgpLU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo5MCsxKSksYyhkKSwhMTtpZihmdW5jdGlvbihlLGYpe2U9bmV3IERhdGUoZSk7Zj1uZXcgRGF0ZShmKTtyZXR1cm4gZi5nZXRNb250aCgpLWUuZ2V0TW9udGgoKSsxMiooZi5nZXRGdWxsWWVhcigpLWUuZ2V0RnVsbFllYXIoKSl9KGQsRGF0ZS5ub3coKSk8CjMpcmV0dXJuITE7dHJ5e3JldHVybiBfLnUuY2FjaGVzLmRlbGV0ZSgieXQtaWNvbnMiKS50aGVuKGU9PntlJiZjKERhdGUubm93KCkpO3JldHVybiBlfSkuY2F0Y2goKCk9PiExKS5maW5hbGx5KCgpPT57YS5LPSExfSl9Y2F0Y2goZSl7cmV0dXJuIGlZKHtlcnJvcjplPy50b1N0cmluZz9lLnRvU3RyaW5nKCk6IiJ9KSwhMX19OwprWT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPWIudXJsO2lmKCFycGEoYykpdGhyb3cgRXJyb3IoImRlIik7cmV0dXJuIHNwYShhLGMpLnRoZW4oZD0+ZC5jbG9uZSgpLnRleHQoKSkudGhlbihkPT57dmFyIGU9Xy5nYihkKTtkPWIuc2l6ZTt2YXIgZj1fLkNkKCJESVYiKTtfLnpBKGYsZSk7aWYoZi5maXJzdEVsZW1lbnRDaGlsZCE9PXZvaWQgMCllPWYuZmlyc3RFbGVtZW50Q2hpbGQ7ZWxzZSBmb3IoZT1mLmZpcnN0Q2hpbGQ7ZSYmZS5ub2RlVHlwZSE9MTspZT1lLm5leHRTaWJsaW5nO2U9Xy5EZChlKTtkPWpZKGUsZCk7YS5EW2NdPWQuY2xvbmVOb2RlKCEwKTtkZWxldGUgYS5ZW2NdO3JldHVybiBkfSkuY2F0Y2goKCk9Pnt9KX07CmxZPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybihlLGYpPT57dmFyIGg9Xy5DZCgiRElWIiksaz17aWNvbldpZHRoOmAke2Iuc2l6ZX1weGAsaWNvbkhlaWdodDpgJHtiLnNpemV9cHhgLGp4OiJibG9jayIsLi4uZixpY29uQ29sb3I6Zj8uaWNvbkNvbG9yPz8iY3VycmVudGNvbG9yIn07Zj1rLmljb25Db2xvcjt2YXIgbD1rLmFnO2s9YHdpZHRoOiAke2suaWNvbldpZHRofTsgaGVpZ2h0OiAke2suaWNvbkhlaWdodH07IGRpc3BsYXk6ICR7ay5qeH07YDtsJiYoays9YCBmaWx0ZXI6ICR7bH07YCk7Yz09PTAmJihrKz1gIGZpbGw6ICR7Zn07YCk7Yz09PTEmJihsPWIudXJsLGsrPWAgLXdlYmtpdC1tYXNrOiB1cmwoJHtsfSkgbm8tcmVwZWF0IGNlbnRlciAvIGNvdmVyOyBtYXNrOiB1cmwoJHtsfSkgbm8tcmVwZWF0IGNlbnRlciAvIGNvdmVyOyBiYWNrZ3JvdW5kLWNvbG9yOiAke2Z9YCk7Yi52dSYmYS5Laz09PSJydGwiJiYoays9IiB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsiKTsKaC5zZXRBdHRyaWJ1dGUoInN0eWxlIixrKTtjPT09MCYmZCYmaC5hcHBlbmRDaGlsZChkKTtlLmFwcGVuZENoaWxkKGgpfX07Cm5ZPWZ1bmN0aW9uKGEsYil7aWYoYil7YS5jb3VudGVyKz0xO2E9YF95dCR7YS5jb3VudGVyfWA7Yj1bYiwuLi5iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIildO2ZvcihsZXQgYyBvZiBiKWlmKGMudGFnTmFtZT09PSJzdHlsZSImJmMudGV4dENvbnRlbnQpYy50ZXh0Q29udGVudD1tWShjLnRleHRDb250ZW50LGEsITApO2Vsc2UgZm9yKGxldCBkIG9mIGMuYXR0cmlidXRlcyl7ZC5uYW1lPT09ImlkIiYmKGQudmFsdWUrPWEpO1sibWFzayIsImZpbGwiLCJjbGlwLXBhdGgiXS5pbmNsdWRlcyhkLm5hbWUpJiYoZC52YWx1ZT1tWShkLnZhbHVlLGEpKTtpZihkLm5hbWU9PT0ic3R5bGUiKXtiPWMuc3R5bGU7dHJ5e2IuY3NzVGV4dD1tWShiLmNzc1RleHQsYSwhMCl9Y2F0Y2goZSl7aVkoe2Vycm9yOmU/LnRvU3RyaW5nPy4oKXx8IiIsZWw6Yy5vdXRlckhUTUwsc3R5bGU6ISFiLGNzc1RleHQ6Yj8uY3NzVGV4dH0pfX1kLm5hbWU9PT0ieGxpbms6aHJlZiImJihkLnZhbHVlPWQudmFsdWUucmVwbGFjZSgvIyguKikvLApgIyQxJHthfWApKX19fTttWT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQ9L3VybFwoWyInXT8jKC4qPylbIiddP1wpLztjJiYoZD0vdXJsXChbIiddPyMoLio/KVsiJ10/XCkvZyk7cmV0dXJuIGEucmVwbGFjZShkLGB1cmwoIyQxJHtifSlgKX07aVk9ZnVuY3Rpb24oYSl7Xy5JcChuZXcgXy5YaigiRXJyb3IgaW4gSWNvbk1hbmFnZXIiLGEpKX07cnBhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBvZiB0cGEpaWYoYS5zdGFydHNXaXRoKGIpJiZhLmVuZHNXaXRoKCIuc3ZnIikpcmV0dXJuITA7cmV0dXJuITF9OwpzcGE9YXN5bmMgZnVuY3Rpb24oYSxiKXthLlFhJiZhd2FpdCB1cGEoYSk7dmFyIGM9YS5ZW2JdO2lmKCFjKXtsZXQgZD1hc3luYygpPT57dmFyIGU9YS5CP2EuWnx8YXdhaXQgYS5VOnZvaWQgMDtyZXR1cm4gYS5vYT9hLmdhKGIsZSkuY2F0Y2goYS5oYS5iaW5kKGEsYixlKSk6YS5oYShiLGUpLmNhdGNoKGEuZ2EuYmluZChhLGIsZSkpfTtjPWEuTWE/bmV3IFByb21pc2UoKGUsZik9PntfLllqKCgpPT57ZCgpLnRoZW4oZSkuY2F0Y2goZil9LDEwKX0pOmQoKTthLllbYl09Y31yZXR1cm4gYy5jYXRjaChkPT57ZGVsZXRlIGEuWVtiXTtpWSh7ZXJyb3I6ZD8udG9TdHJpbmc/ZC50b1N0cmluZygpOiIiLHVybDpifSk7dGhyb3cgZDt9KX07dXBhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudj8ucHJvbWlzZTtifHwoYS52PW5ldyBfLmNzLGI9YS52LnByb21pc2UsXy51LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2Eudj8ucmVzb2x2ZSgpO2Eudj1udWxsfSkpO3JldHVybiBifTsKcFk9YXN5bmMgZnVuY3Rpb24oYSxiKXtpZihhLkk8dnBhKXJldHVybiBhLkkrPTEsb1koYSxiKS5maW5hbGx5KCgpPT57LS1hLkk7aWYoT2JqZWN0LmtleXMoYS5vKS5sZW5ndGgpe2xldCBkPU9iamVjdC5rZXlzKGEubylbMF0sZT1hLm9bZF07ZGVsZXRlIGEub1tkXTtlLnJlc29sdmUocFkoYSxkKSl9fSk7dmFyIGM9bmV3IF8uY3M7YS5vW2JdPWM7cmV0dXJuIGMucHJvbWlzZX07d3BhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQpe2QmJm5ldyBQcm9taXNlKGU9PntfLllqKGFzeW5jKCk9PnthLm9hJiZhd2FpdCBkLm1hdGNoKGIpLmNhdGNoKCgpPT57fSl8fGF3YWl0IGQucHV0KGIsYy5jbG9uZSgpKS5jYXRjaChmPT57aVkoe2Vycm9yOmY/LnRvU3RyaW5nP2YudG9TdHJpbmcoKToiIix1cmw6Yn0pfSk7ZSgpfSw1MCl9KX07Cm9ZPWFzeW5jIGZ1bmN0aW9uKGEsYixjPTIpe3JldHVybiBfLnUuZmV0Y2goYix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixwcmlvcml0eToibG93In0pLnRoZW4oZD0+ZC5vaz9kOlByb21pc2UucmVqZWN0KEVycm9yKCJlZWAiK2Quc3RhdHVzKyJgIitkLnN0YXR1c1RleHQpKSkuY2F0Y2goZD0+e2lmKGM+MClyZXR1cm4gb1koYSxiLGMtMSk7dGhyb3cgZDt9KX07CnJZPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWFbYi5pY29uTmFtZV18fFtdO2E9dm9pZCAwO2ZvcihsZXQgaCBvZiBlKXthOnt2YXIgZj1iLmljb25TaXplO2U9Yi5pY29uU3R5bGU7Zj0hZnx8Zj09PWhbMl07bGV0IGs9cVlbaFswXV07aWYoZCYmZCE9PWhbMV18fCFmfHxlJiZlIT09ayl7ZT0hMTticmVhayBhfWlmKCFhKXtlPSEwO2JyZWFrIGF9ZT1xWVtoWzBdXTtlPSEhYi5pY29uU3R5bGV8fGU9PT0ieW91dHViZV9vdXRsaW5lIjtmPWEudmVyc2lvbjw9aFsxXTtlPSghIWIuaWNvblNpemV8fGhbMl09PT0yNCkmJmUmJmZ9ZSYmKGE9e25hbWU6Yi5pY29uTmFtZSxzdHlsZTpxWVtoWzBdXSxzaXplOmhbMl0sdmVyc2lvbjpoWzFdLHZ1OiEhaFszXSx1cmw6YyhiLmljb25OYW1lLGgpfSl9cmV0dXJuIGF9O3NZPWZ1bmN0aW9uKGEsYixjLGQ9ITEpe3JldHVybmAke2F9JHtxWVtjWzBdXX0ke2Q/Il9leHBlcmltZW50YWwiOiIifS8ke2J9L3Yke2NbMV19LyR7Y1syXX1weC5zdmdgfTsKdFk9ZnVuY3Rpb24oYSl7cmV0dXJuIF8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIikhPT0iV0VCX1JFTUlYIiYmXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKSE9PSJXRUJfQ1JFQVRPUiI/ImJvb2ttYXJrIjphfTt1WT1mdW5jdGlvbihhLGIpe3JldHVybiBfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKXx8Yj94cGFbYS50b1VwcGVyQ2FzZSgpXTp5cGFbYS50b1VwcGVyQ2FzZSgpXX07enBhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHNZKCJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS8iLGEsYil9O0FwYT1mdW5jdGlvbihhLGIpe3JldHVybiBzWSgiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kvIixhLGIsITApfTt3WT1mdW5jdGlvbigpe3ZZLmluc3RhbmNlfHwodlkuaW5zdGFuY2U9bmV3IHZZKTtyZXR1cm4gdlkuaW5zdGFuY2V9Owp4WT1mdW5jdGlvbihhLGIpe3JldHVybiBCcGEuaGFzKGIpfHxfLncoIklTX0hPTUVQQUdFX0NPTEQiKXx8Xy53KCJJU19SRVNVTFRTX1BBR0VfQ09MRCIpfHxfLncoIklTX1dBVENIX1BBR0VfQ09MRCIpP2Euc2lnbmFscy5pbmRleE9mKGIpPj0wOiEwfTt5WT1mdW5jdGlvbihhKXt2YXIgYj0hMTtyZXR1cm4oKT0+e2J8fChiPSEwLGEoKSl9fTtBWT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKHpZLmhhcyhkKSlfLkNrKCkuR2EoYixjLGUpO2Vsc2V7bGV0IGY9YS5qLmdldChkKTtmJiZfLkNrKCkuR2EoKCk9Pnt4WShhLGQpfHwoZi5oZz9fLkNrKCkuR2EoYixjKTpmLkJuLnB1c2goKCk9PntfLkNrKCkuR2EoYixjKX0pKX0sYyxlKX19O0NwYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT0oKT0+e2EuV20oYil9O2ZvcihsZXQgZiBvZiBkKWEuYWRkTGlzdGVuZXIoZixlKTthLmouc2V0KGIse3NpZ25hbHM6YyxWeDohMCxpc0luaXRpYWxpemVkOiExLGhnOiExLEJuOltdfSk7QlkoYSxiKX07CkJZPWZ1bmN0aW9uKGEsYil7aWYoIXhZKGEsYikpe3ZhciBjPWEuai5nZXQoYik7aWYoYyYmIWMuaGcpe3ZhciBkPSExLGU9MCxmPTA7Zm9yKGxldCBoIG9mIGMuc2lnbmFscyl7bGV0IGs9IXhZKGEsaCk7aWYoelkuaGFzKGgpKWQ9ITA7ZWxzZXtsZXQgbD1hLmouZ2V0KGgpO2w/ayYmIWwuaGcmJihmKyssYy5pc0luaXRpYWxpemVkfHxsLkJuLnB1c2goKCk9PntCWShhLGIpfSkpOmsmJmUrK319Yy5pc0luaXRpYWxpemVkPSEwO2MuVng/ZCYmKGMuaGc9ITApOmU9PT0wJiZmPT09MCYmKGMuaGc9ITApO2lmKGMuaGcpZm9yKGxldCBoIG9mIGMuQm4paCgpfX19OwpEcGE9ZnVuY3Rpb24oYSl7YT1hLm9wZW5Qb3B1cEFjdGlvbnx8YTt2YXIgYj1hLnBvcHVwVHlwZSxjPWEucG9wdXA7c3dpdGNoKGIpe2Nhc2UgIlRPQVNUIjpmb3IobGV0IGQgaW4gYyljLmhhc093blByb3BlcnR5KGQpJiZfLnBQKCgpPT5fLksoXy5XLHtkYXRhOigpPT5jfSx7bm90aWZpY2F0aW9uQWN0aW9uUmVuZGVyZXI6Q1l9KSxhLmR1cmF0aW9uSGludE1zLGEucmV1c2VQb3B1cCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiZmVgIitiKTt9fTsKRFk9ZnVuY3Rpb24oYSxiKXt2YXIgYz11WChhKTtpZihjKXt2YXIgZD12b2lkIDAsZT1fLkIoYT8uY29tbWFuZE1ldGFkYXRhLF8uencpO2UmJmUucm9vdFZlJiYoZD1lLnJvb3RWZSk7Xy5xUCh7aHJlZjpjLHBhcmFtczp7aXRjdDphLmNsaWNrVHJhY2tpbmdQYXJhbXMsYXV0b25hdjpiPy5hdXRvbmF2fSx0YXJnZXQ6Xy5LTygpJiZfLkIoYSxfLkJoYSk/Il9ibGFuayI6dm9pZCAwLGFrOmQsY2xpY2tlZFZpc3VhbEVsZW1lbnQ6Yi5jbGlja2VkVmlzdWFsRWxlbWVudCxpbXBsaWNpdEdlc3R1cmVUeXBlOmIuaW1wbGljaXRHZXN0dXJlVHlwZSxlbGVtZW50OmIuZXZlbnQ/LnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQ/Yi5ldmVudC50YXJnZXQ6dm9pZCAwLGVuZHBvaW50OmEscGFyZW50TGF5ZXI6Yi5wYXJlbnRMYXllcn0pfX07CkVwYT1mdW5jdGlvbihhLGIpe2lmKF8ueCgiZW1iZWRzX2VuYWJsZV9lbWMzZHNfcGZwIikpaWYoRVkpe3ZhciBjPV8uQihhLF8uQXcpLGQ9Yz8udmlkZW9JZCxlPWM/LnBsYXlsaXN0SWQ7ZHx8ZT8oYT17dmlkZW9faWQ6ZH0sYyYmKGEucGxheWVyX3BhcmFtcz1jLnBsYXllclBhcmFtcyksZT8oYS5saXN0PWUsRVkubG9hZFBsYXlsaXN0KGEpKTpFWS5sb2FkVmlkZW9CeVBsYXllclZhcnMoYSkpOihjPW5ldyBfLlhqKCJFbWMzZHMgV2F0Y2hFbmRwb2ludCBtYWxmb3JtZWQiLHtjb21tYW5kOkpTT04uc3RyaW5naWZ5KGEpfSksXy5HcChjKSxEWShhLGIpKX1lbHNlIGM9bmV3IF8uWGooIkVtYzNkcyBXYXRjaEVuZHBvaW50IHJlc29sdmVkIHdpdGhvdXQgcGxheWVyQXBpIix7Y29tbWFuZDpKU09OLnN0cmluZ2lmeShhKX0pLF8uR3AoYyksRFkoYSxiKTtlbHNlIERZKGEsYil9O0ZZPWZ1bmN0aW9uKGEpe3JldHVybntyZXNvbHZlOihiLGM9e30pPT57YShiLGMuZm9ybXx8e30pO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX19fTsKSFk9ZnVuY3Rpb24oYSxiKXtHWS5wdXNoKHthY3Rpb246YSxjb250ZXh0OmJ9KX07RnBhPWZ1bmN0aW9uKCl7VFcoR1ksKHthY3Rpb246YSxjb250ZXh0OmJ9KT0+e18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoYSx7Zm9ybTpifSl8fEpYKGEsIkFjdGlvbiBub3QgaGFuZGxlZCBieSBDb21tYW5kSGFuZGxlciIsSG9hKX0pfTsKSVk9ZnVuY3Rpb24oYSxiLGMpe2ZvcihsZXQgZiBvZiBob2EoYSkpSFkoZixjKTthPWIuZGF0YT8uYWN0aW9ucz8/W107Zm9yKHZhciBkIG9mIGEpSFkoZCxjKTtkPWIuZGF0YT8uY29tbWFuZHM/P1tdO2Zvcih2YXIgZSBvZiBkKUhZKGUsYyk7KGU9Yi5kYXRhPy5jb21tYW5kKSYmSFkoZSxjKTt2WChiLmRhdGE/Lm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnM/P1tdLGMuc291cmNlRGF0YSk7dlgoYi5kYXRhPy5vblJlc3BvbnNlUmVjZWl2ZWRDb21tYW5kcz8/W10sYy5zb3VyY2VEYXRhKTt2WChiLmRhdGE/Lm9uUmVzcG9uc2VSZWNlaXZlZEVuZHBvaW50cz8/W10sYy5zb3VyY2VEYXRhKTsoYj1iLmRhdGE/LnVwZGF0ZUZsb3dDb21tYW5kKSYmSFkoYixjKX07CkpZPWFzeW5jIGZ1bmN0aW9uKGEsYj1fLkxoYSl7dmFyIGM9YjtfLkIoYSxfLkF5KXx8KGM9T2JqZWN0LmFzc2lnbih7Y3NuOl8uaXEoKXx8IiJ9LGIpKTtiPWF3YWl0IF8ueSgpLnJlc29sdmUoXy5IeSkoKTtpZihiLkp3KGEpKXJldHVybiBiLlFpKGEsYykudGhlbihkPT5kPy5kYXRhP2QuZGF0YTpkKS50aGVuKGQ9Pnt2YXIgZTsoZT1kPy5kYXRhPy50cmFja2luZ1BhcmFtcykmJl8ubHgoXy5oeCgpLGUpO3JldHVybntjb2RlOmQmJmQuZXJyb3I/IkVSUk9SIjoiU1VDQ0VTUyIsZGF0YTpkfX0pO3Rocm93IG5ldyBfLlhqKCJubyByZXF1ZXN0IGJ1aWxkZXIgZm91bmQiLGEpO307SHBhPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3Qua2V5cyhhKS5zb21lKGI9PmIgaW4gR3BhKX07CktZPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZGF0YT8uY29udGVudHM/LlswXTtpZighYnx8IUhwYShiKSlyZXR1cm4gYTtiPXtvcGVuUG9wdXBBY3Rpb246e3BvcHVwVHlwZToiRElBTE9HIixwb3B1cDpifX07YS5kYXRhLmFjdGlvbnN8fChhLmRhdGEuYWN0aW9ucz1bXSk7YS5kYXRhLmFjdGlvbnMucHVzaChiKTtyZXR1cm4gYX07Ck1ZPWZ1bmN0aW9uKGEsYixjKXtfLkIoYSxfLkF5KSYmYS5jbGlja1RyYWNraW5nUGFyYW1zJiYoTFk9Xy5VdyhhLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTtyZXR1cm4gSlkoYSxjKS50aGVuKGQ9PntpZihfLkIoYSxfLkF5KT8ucmVxdWVzdD09PSJDT05USU5VQVRJT05fUkVRVUVTVF9UWVBFX1JFRUxfV0FUQ0hfU0VRVUVOQ0UiKXt2YXIgZT1kLmRhdGE7ZSYmIWUub25SZXNwb25zZVJlY2VpdmVkQWN0aW9ucyYmKGUuZW50cmllc3x8ZS5wcmV2RW50cmllcykmJihlLmVudHJpZXM/KGUub25SZXNwb25zZVJlY2VpdmVkQWN0aW9ucz1bXSxlLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnMucHVzaCh7YXBwZW5kUmVlbFdhdGNoU2VxdWVuY2VDb250aW51YXRpb25FbnRyaWVzQWN0aW9uOntlbnRyaWVzOmUuZW50cmllcyxjb250aW51YXRpb25FbmRwb2ludDplLmNvbnRpbnVhdGlvbkVuZHBvaW50fX0pKTplLnByZXZFbnRyaWVzJiYoZS5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zPVtdLAplLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnMucHVzaCh7YXBwZW5kUmVlbFdhdGNoU2VxdWVuY2VDb250aW51YXRpb25FbnRyaWVzQWN0aW9uOntwcmV2RW50cmllczplLnByZXZFbnRyaWVzLHByZXZDb250aW51YXRpb25FbmRwb2ludDplLnByZXZDb250aW51YXRpb25FbmRwb2ludH19KSkpfWlmKF8uQihhLF8uVXopfHxfLkIoYSxfLmRPKSliLmN1cnJlbnREYXRhfHwoYi5jdXJyZW50RGF0YT1fLlhEPy5yZXNwb25zZT8/e30pLGIuc291cmNlRGF0YXx8KGIuc291cmNlRGF0YT1hKTtJWShhLEtZKGQpLGIpO18uQihhLF8uQXkpJiZkPy5kYXRhPy50cmFja2luZ1BhcmFtcyYmXy5seChfLmh4KCksZC5kYXRhLnRyYWNraW5nUGFyYW1zLExZKTtyZXR1cm4gZH0sZD0+e3ZhciBlPU9iamVjdC5rZXlzKGEpLmZpbHRlcihmPT5fLk1hKGYsIkVuZHBvaW50IikpWzBdO2UmJihlPWFbZV0sKGU9ZT8ub25GYWlsdXJlQWN0aW9uPz9lPy5vbkZhaWx1cmVDb21tYW5kKSYmSFkoZSxiKSk7dGhyb3cgZDsKfSl9O0lwYT1mdW5jdGlvbihhLGIpe18uQihhLF8uY0UpPy5uYXZpZ2F0aW9uVHlwZT09PSJCUk9XU0VfTkFWSUdBVElPTl9UWVBFX1NUQVlfT05fUEFHRSI/TVkoYSxiKTpEWShhLGIpfTtKcGE9ZnVuY3Rpb24oYSxiKXtpZihhPShfLkIoYSxfLlNEKXx8YSkuY29tbWFuZHMpZm9yKGxldCBjIG9mIGEpXy5LTShjKT9fLkFKKGMsYi5zb3VyY2VEYXRhLCEwLGIpOkhZKGMsYil9OwpMcGE9YXN5bmMgZnVuY3Rpb24oYSl7YT1fLkIoYSxLcGEpO2lmKGE/LnRleHQmJm5hdmlnYXRvci5jbGlwYm9hcmQpdHJ5e2lmKGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGEudGV4dCksYS5zdWNjZXNzQWN0aW9ucyYmYS5zdWNjZXNzQWN0aW9ucy5sZW5ndGghPT0wKWZvcihsZXQgYiBvZiBhLnN1Y2Nlc3NBY3Rpb25zKV8uQUooYix7fSwhMSl9Y2F0Y2goYil7aWYoYS5mYWlsdXJlQWN0aW9ucyYmYS5mYWlsdXJlQWN0aW9ucy5sZW5ndGghPT0wKWZvcihsZXQgYyBvZiBhLmZhaWx1cmVBY3Rpb25zKV8uQUooYyx7fSwhMSl9fTtNcGE9ZnVuY3Rpb24oYSl7KDAsXy53aWEpKHtub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uOnt0b2dnbGVCdXR0b25SZW5kZXJlcjphLnNvdXJjZURhdGF9fSxiPT4oey4uLmIsbm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbjp7dG9nZ2xlQnV0dG9uUmVuZGVyZXI6YS5zb3VyY2VEYXRhfX0pKX07Ck5wYT1mdW5jdGlvbihhLGIpe01ZKGEsYikudGhlbigoKT0+e01wYShiKX0pfTtQcGE9ZnVuY3Rpb24oYSl7Xy5xUCh7aHJlZjpfLkt6KGB0ZWw6JHtfLkIoYSxPcGEpLnBob25lTnVtYmVyfWAsW18uSHFdKS50b1N0cmluZygpLGVuZHBvaW50OmF9KX07UnBhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gSlkoYSxjKS50aGVuKGQ9PntJWShhLEtZKGQpLGIpO3ZhciBlPV8uV0QoKCk9PmQuZGF0YS5yZWRpcmVjdEVuZHBvaW50KTtlJiZfLkFKKGUsZC5kYXRhLCExKX0sZD0+e18ucFAoKCk9PlFwYSk7dGhyb3cgZDt9KX07VHBhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLFNwYSksYz1gc21zOiR7Yi5waG9uZU51bWJlcnMmJmIucGhvbmVOdW1iZXJzWzBdfWA7Yi5tZXNzYWdlVGV4dCYmKGMrPWA/JmJvZHk9JHtlbmNvZGVVUkkoYi5tZXNzYWdlVGV4dCl9YCk7Xy5xUCh7aHJlZjpfLkt6KGMsW18uT3FdKS50b1N0cmluZygpLGVuZHBvaW50OmF9KX07ClVwYT1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZGlhbG9nIn07Tlk9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBfLkZKO3JldHVybiBuZXcgUHJvbWlzZShhPT57dmFyIGI9Xy55KCkucmVzb2x2ZShfLkluKF8ueVApKTtiPy5ycSgpJiZiLmxkKCk7d2luZG93LmxvY2F0aW9uLmhhc2g9PT0iI2RpYWxvZyI/Xy5ZTT9zZXRUaW1lb3V0KCgpPT57Xy4kTSgiIik7YSgpfSwxMDApOl8uWk0oKS50aGVuKCgpPT57YSgpfSk6YSgpfSl9OwpXcGE9ZnVuY3Rpb24oYSxiLGMsZCl7VnBhKGMpO2M9T1koYSk7dmFyIGU9bmF2aWdhdG9yLGY9Xy5mciYmXy53KCJNV0VCX0lPU19OQVRJVkVfU0hBUkUiKSxoPXt1cmw6Y307aWYoKCFfLmZyfHxmKSYmZS5zaGFyZSYmYyYmZS5jYW5TaGFyZSYmZS5jYW5TaGFyZShoKSl7bGV0IGs9Xy5FeChfLmh4KCkse3ZlVHlwZTo5NzcwfSksbD17b3V0Ym91bmRBcHBEYXRhOntvdXRib3VuZEFwcDoiRElSRUNUX1NZU1RFTV9BQ1RJVklUWV9ESUFMT0cifSxzaGFyaW5nRGF0YTp7c2VyaWFsaXplZFNoYXJlRW50aXR5OmR9fTtfLkpPKGssbCw3KTtlLnNoYXJlKGgpLnRoZW4oKCk9Pnt0WChrLGwsNyl9KS5jYXRjaChtPT57bS5uYW1lIT09IkFib3J0RXJyb3IiJiYoXy5JcChuZXcgXy5YaigiU3lzdGVtIFNoYXJlIFBhbmVsIGZhaWxlZCB0byBvcGVuLiIpKSxQWShhLGIpKX0pfWVsc2UgUFkoYSxiKX07ClZwYT1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1fLmh4KCk7Xy5ETyhiLDIxNzYwLHZvaWQgMCx7bGF5ZXI6NyxwYXJlbnRMYXllcjowfSk7Xy5seChiLGEsdm9pZCAwLDcpfX07UFk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1PWShhKTtfLmdyfHxfLlRFKCl8fF8uclAoKT9fLnkoKS5yZXNvbHZlKF8ueVApLm9wZW5EaWFsb2coe1VuOigpPT5fLksoWHBhLHtkYXRhOmF9KX0pOl8ueU4oe2hlYWRlclRpdGxlOiJTaGFyZSIsR2I6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJvdHRvbS1zaGVldC1zaGFyZS1pdGVtIn0sXy5LKF8uTyx7QTooKT0+Yyx0aGVuOmQ9Pl8uSyhRWSx7c2hvcnRVcmw6ZCx0cmFja2luZ1BhcmFtczpSWShhKX0pfSksU1koYSk/Lm1hcChkPT5kPy5zaGFyZVRhcmdldFJlbmRlcmVyP18uSyhUWSx7ZGF0YTpkLnNoYXJlVGFyZ2V0UmVuZGVyZXJ9KTpudWxsKSksSGE6ITEsZm9jdXNPbkNsb3NlOmI/LmV2ZW50Py50YXJnZXR9KX07ClNZPWZ1bmN0aW9uKGEpe2lmKGEuY29udGVudHMmJmEuY29udGVudHNbMF0pcmV0dXJuKGE9YS5jb250ZW50c1swXS50aGlyZFBhcnR5TmV0d29ya1NlY3Rpb24/LnNoYXJlVGFyZ2V0Q29udGFpbmVyPy50aGlyZFBhcnR5U2hhcmVUYXJnZXRTZWN0aW9uUmVuZGVyZXI/LnNoYXJlVGFyZ2V0cykmJmEubGVuZ3RoPjU/YS5zbGljZSgwLDUpOmF9O09ZPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNvbnRlbnRzJiZhLmNvbnRlbnRzWzBdP18uQihhLmNvbnRlbnRzWzBdLnRoaXJkUGFydHlOZXR3b3JrU2VjdGlvbj8uY29weUxpbmtDb250YWluZXIsVVkpPy5zaG9ydFVybDoiIn07Ulk9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihfLkIoYT8uY29udGVudHM/LlswXS50aGlyZFBhcnR5TmV0d29ya1NlY3Rpb24/LmNvcHlMaW5rQ29udGFpbmVyLFVZKT8uY29weUJ1dHRvbixfLlZMKT8udHJhY2tpbmdQYXJhbXN9OwpacGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkIoYSxfLlp6KT8uc2hhcmVQYW5lbFR5cGUsZD1fLkIoYSxfLlp6KT8uc2VyaWFsaXplZFNoYXJlRW50aXR5O01ZKGEsYikudGhlbihlPT57WXBhKGUsYixjLGQpfSl9O1lwYT1mdW5jdGlvbihhLGIsYyxkKXtpZihhLmNvZGU9PT0iU1VDQ0VTUyImJmEuZGF0YSlhPWEuZGF0YSxhLmNvbnRlbnRzJiZhLmNvbnRlbnRzLnVuaWZpZWRTaGFyZVBhbmVsUmVuZGVyZXImJmM9PT0iU0hBUkVfUEFORUxfVFlQRV9VTklGSUVEX1NIQVJFX1BBTkVMIiYmV3BhKGEuY29udGVudHMudW5pZmllZFNoYXJlUGFuZWxSZW5kZXJlcix7ZXZlbnQ6Yj8uZXZlbnR9LGEudHJhY2tpbmdQYXJhbXMsZCk7ZWxzZXtfLmdGPT09dm9pZCAwJiYoXy5nRj1rb2EoKSk7bGV0IGU9Xy5nRj8kcGE6YXFhO18ucFAoKCk9PmUpfX07YnFhPWZ1bmN0aW9uKGEpe2E9YS5wYW5lbElkZW50aWZpZXJ8fGEuaWRlbnRpZmllcj8udGFnO2lmKCFhKXRocm93IEVycm9yKCJnZSIpO3JldHVybiBhfTsKZHFhPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5CKGEsXy5RVyk7aWYoYyl7dmFyIGQ9Xy5XRCgoKT0+Yj8uZXZlbnQ/LmN1cnJlbnRUYXJnZXR8fGI/LmVsZW1lbnQpLGU9YnFhKGMpO3ZhciBmPWM/Yy5nbG9iYWxDb25maWd1cmF0aW9uPy5pbml0aWFsU3RhdGV8fGMuZW5nYWdlbWVudFBhbmVsOnZvaWQgMDtpZihlKXtsZXQgaD1fLnkoKS5yZXNvbHZlKF8uYkwpLGs9YXdhaXQgXy55KCkucmVzb2x2ZShfLkh5KSgpO2F3YWl0IGNxYShoLHtpZGVudGlmaWVyOmUsSWo6Zix0YXJnZXQ6ZH0pO2MuZ2xvYmFsQ29uZmlndXJhdGlvbiYmKGE9YXdhaXQgay5RaShhKSxhd2FpdCBWWShoLHtpZGVudGlmaWVyOmUsSWo6YT8uY29udGVudCx0bjohMX0pKX19fTsKZXFhPWZ1bmN0aW9uKGEsYil7aWYoYT1fLkVPKHdpbmRvdyxhLCJsb2dpblBvcHVwIiwid2lkdGg9ODAwLGhlaWdodD02MDAscmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyIpKUhuYSgoKT0+e2IoKX0pLGEubW92ZVRvKChzY3JlZW4ud2lkdGgtODAwKS8yLChzY3JlZW4uaGVpZ2h0LTYwMCkvMil9O2ZxYT1mdW5jdGlvbihhLGIpe18uS08oKT8oKGI9dVgoYSkpJiZfLkVPKHdpbmRvdyxiKSxhLmNsaWNrVHJhY2tpbmdQYXJhbXMmJl8uekooYS5jbGlja1RyYWNraW5nUGFyYW1zKSk6Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfRU1CRURERURfUExBWUVSIj8oYT11WChhKSkmJmVxYShhLCgpPT57d2luZG93LmxvY2F0aW9uLnJlbG9hZCgpfSk6RFkoYSxiKX07CmdxYT1mdW5jdGlvbihhKXtpZihhLnNvdXJjZURhdGEuc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI/LmNoYW5uZWxJZCkoMCxfLnhQKSh7Y2hhbm5lbElkOmEuc291cmNlRGF0YS5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5jaGFubmVsSWR9LGM9Pih7Li4uYyxzdWJzY3JpYmVkOiFhLnNvdXJjZURhdGEuc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIuc3Vic2NyaWJlZH0pKTtlbHNle3ZhciBiPV8uQihhLnNvdXJjZURhdGEuc2VydmljZUVuZHBvaW50LF8uRHkpO2ImJigwLF8ueFApKHtjaGFubmVsSWQ6Yi5jaGFubmVsSWRzPy5bMF19LGM9Pih7Li4uYyxzdWJzY3JpYmVkOiExfSkpfX07V1k9ZnVuY3Rpb24oYSxiLGMpe01ZKGEsYixjKS50aGVuKCgpPT57Z3FhKGIpfSl9OwpocWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkIoYSxfLlZEKSxkPWMudXJsO2M9Yy50YXJnZXQ9PT0iVEFSR0VUX05FV19XSU5ET1ciPyJfYmxhbmsiOiIiO3ZhciBlO2EuY2xpY2tUcmFja2luZ1BhcmFtcyYmKGU9e2l0Y3Q6YS5jbGlja1RyYWNraW5nUGFyYW1zfSk7dmFyIGY9Yj8uc291cmNlRGF0YT8ucGFyYW1zPy50aW1lc3RhbXA7ZiYmKGU9ey4uLmUsdGltZXN0YW1wOmZ9KTtfLnFQKHtocmVmOmQscGFyYW1zOmUsdGFyZ2V0OmMsZW5kcG9pbnQ6YSxhazpfLkIoYT8uY29tbWFuZE1ldGFkYXRhLF8uencpPy5yb290VmUsZWxlbWVudDpiLmV2ZW50Py50YXJnZXR9KX07aXFhPWZ1bmN0aW9uKGEpe3dvYShfLkIoYSxfLmZjYSk/LmFkZGl0aW9uYWxEYXRhcyl9OwpqcWE9ZnVuY3Rpb24oYSl7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlIixiPT57dmFyIGM9Yi5kZXRhaWw7Yy5wYXJhbXN8fChjLnBhcmFtcz17fSk7Yj1jLnBhcmFtczt2YXIgZD1iLml0Y3Q7ZCYmKF8uaHgoKS5DZihkKSxkZWxldGUgYi5pdGN0KTtiPWMuaHJlZjtpZighWFlbYl0pe2Q9ITE7aWYoYi5zdGFydHNXaXRoKCJodHRwIil8fGIuc3RhcnRzV2l0aCgiLy8iKSl7dmFyIGU9Yj9fLlBNKGIpLmhvc3RuYW1lfHx3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU6IiIsZj13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7aWYoZD1lIT09ZillPWUuc3BsaXQoIi4iKS5zbGljZSgtMiksZj1mLnNwbGl0KCIuIikuc2xpY2UoLTIpLGUubGVuZ3RoJiZmLmxlbmd0aCYmKGQ9ZS5qb2luKCIuIikhPT1mLmpvaW4oIi4iKSl9WFlbYl09ZH1kPVhZW2JdO2lmKGQpXy5FTyh3aW5kb3csYik7ZWxzZXtkPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpO2E6e2lmKCFhLmdldFZpZGVvRGF0YSgpLmlzTGl2ZSl7aWYoKGY9CmMucGFyYW1zKSYmZi50aW1lc3RhbXApe2Y9Zi50aW1lc3RhbXA7YnJlYWsgYX1pZighXy54KCJlbWJlZHNfZW1jM2RzX2Fsd2F5c19jdXJ0aW1lX2tzIikmJihmPS9eaHR0cHM/OlwvXC93d3cueW91dHViZS5jb21cL3dhdGNoXD92PShbQS1aYS16MC05Xy1dezExfSkvLmV4ZWMoYy5ocmVmKT8uWzFdKSYmZj09PWEuZ2V0VmlkZW9EYXRhKCkudmlkZW9faWQmJihmPWEuZ2V0Q3VycmVudFRpbWUoKSxmPjApKXtmPU1hdGguZmxvb3IoZikudG9TdHJpbmcoKTticmVhayBhfX1mPXZvaWQgMH1lPShlPWMuZWxlbWVudCk/Xy5VeChlKT8/dm9pZCAwOnZvaWQgMDthOntpZihlKXt2YXIgaD1lLmdldEFzSnNvbigpO2U9aC52ZVR5cGU7aD1oLnRyYWNraW5nUGFyYW1zO2lmKGUpe2U9U3RyaW5nKGUpO2JyZWFrIGF9aWYoaCYmKGU9Xy5FbyhfLkNvKGgpLDIpKSl7ZT1lLnRvU3RyaW5nKCk7YnJlYWsgYX19ZT12b2lkIDB9ZXx8KE1hdGgucmFuZG9tKCk8Xy5zaigiZW1iZWRzX2xvZ193YXJuaW5nX3NhbXBsZV9zaXplX3JhdGUiLAouMDAxKSYmXy5JcChuZXcgXy5YaigiVXNpbmcgZmFsbGJhY2sgVkUgZm9yIGVsZW1lbnQ6ICIse3RhZ05hbWU6Yy5lbGVtZW50Py50YWdOYW1lLGNsYXNzTGlzdDpjLmVsZW1lbnQ/LmNsYXNzTGlzdC50b1N0cmluZygpLGRldGFpbDpjfSkpLGU9KDIxNDI4MykudG9TdHJpbmcoKSk7Yz17fTtkLndpZGdldFJlZmVycmVyJiYoYy5lbWJlZHNfd2lkZ2V0X3JlZmVycmVyPWQud2lkZ2V0UmVmZXJyZXIpO2QubG9hZGVyVXJsJiYoYy5lbWJlZHNfcmVmZXJyaW5nX2V1cmk9ZC5sb2FkZXJVcmwuc3Vic3RyaW5nKDAsMTI4KSk7ZC5pc0VtYmVkJiZkLmVtYmVkc0lmcmFtZU9yaWdpblBhcmFtJiYoYy5lbWJlZHNfcmVmZXJyaW5nX29yaWdpbj1kLmVtYmVkc0lmcmFtZU9yaWdpblBhcmFtKTtkLmlzRW1iZWQmJmQuZW1iZWRzRmVhdHVyZSYmKGMuZmVhdHVyZT1kLmVtYmVkc0ZlYXR1cmUpO2Q9ZTtiPShuZXcgVVJMKGIsImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIikpLnRvU3RyaW5nKCk7ZiYmCihiPV8uZWooYix7dGltZV9jb250aW51ZTpmfSkpO2lmKGQpe2lmKCFfLk1rKCJjb2JhbHQiKSl7Zj1bXTtlPTA7Zm9yKGg9MDtoPGQubGVuZ3RoO2grKyl7bGV0IGs9ZC5jaGFyQ29kZUF0KGgpO2s+MjU1JiYoZltlKytdPWsmMjU1LGs+Pj04KTtmW2UrK109a31kPV8uc2MoZiw0KX1iPV8uZWooYix7c291cmNlX3ZlX3BhdGg6ZH0pfWMmJihiPV8uZWooYixjKSk7Xy5FTyh3aW5kb3csYil9fSl9OwprcWE9ZnVuY3Rpb24oKXt2YXIgYT17fTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwvY2xvc2VkX2NhcHRpb24vdjExLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTMuMDEgM0MzIDMgMyAzIDMuMDEgM0wzIDIxaDE4VjNIMy4wMXpNMTEgMTFIOS41di0uNWgtMnYzaDJWMTNIMTF2MWMwIC41NS0uNDUgMS0xIDFIN2MtLjU1IDAtMS0uNDUtMS0xdi00YzAtLjU1LjQ1LTEgMS0xaDNjLjU1IDAgMSAuNDUgMSAxdjF6bTcgMGgtMS41di0uNWgtMnYzaDJWMTNIMTh2MWMwIC41NS0uNDUgMS0xIDFoLTNjLS41NSAwLTEtLjQ1LTEtMXYtNGMwLS41NS40NS0xIDEtMWgzYy41NSAwIDEgLjQ1IDEgMXYxeiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC9jbG9zZWRfY2FwdGlvbnMvdjMvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjEgM0gzYTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxOGEyIDIgMCAwMDItMlY1YTIgMiAwIDAwLTItMlpNOS4wMzggOC4wODljLjY5Ny4xNzggMS4yOTQuNjA2IDEuNzM3IDEuMTc2YTEgMSAwIDAxLTEuNTc4IDEuMjI4Yy0uMjEtLjI3LS40NDQtLjQxMy0uNjU0LS40NjdhLjg2Ljg2IDAgMDAtLjYzMi4wODVjLS4yMjIuMTE5LS40NTMuMzQyLS42MzEuNjg0QTIuNjQgMi42NCAwIDAwNyAxMmEyLjY0IDIuNjQgMCAwMC4yODEgMS4yMDVjLjE3Ny4zNDIuNDA4LjU2NS42My42ODRhLjg2Ljg2IDAgMDAuNjMyLjA4NWMuMjA5LS4wNTQuNDQ0LS4xOTcuNjU0LS40NjdhMSAxIDAgMDExLjU3OCAxLjIyOGMtLjQ0My41Ny0xLjA0Ljk5OC0xLjczNyAxLjE3NmEyLjg2IDIuODYgMCAwMS0yLjA2Ni0uMjU3Yy0uNjMxLS4zMzYtMS4xMzEtLjg4MS0xLjQ2Ni0xLjUyNkE0LjYgNC42IDAgMDE1IDEyYy0uMDA0LS43NC4xNy0xLjQ3LjUwNi0yLjEyOC4zMzYtLjY0NS44MzUtMS4xOSAxLjQ2Ni0xLjUyNmEyLjg2IDIuODYgMCAwMTIuMDY2LS4yNTdabTggMGMuNjk3LjE3OCAxLjI5NC42MDYgMS43MzcgMS4xNzZhMSAxIDAgMDEtMS41NzggMS4yMjhjLS4yMS0uMjctLjQ0NC0uNDEzLS42NTQtLjQ2N2EuODYuODYgMCAwMC0uNjMyLjA4NWMtLjIyMi4xMTktLjQ1My4zNDItLjYzMS42ODRBMi42NCAyLjY0IDAgMDAxNSAxMmEyLjY0IDIuNjQgMCAwMC4yODEgMS4yMDVjLjE3Ny4zNDIuNDA4LjU2NS42My42ODRhLjg2Ljg2IDAgMDAuNjMyLjA4NWMuMjA5LS4wNTQuNDQ0LS4xOTcuNjU0LS40NjdhMSAxIDAgMDExLjU3OCAxLjIyOGMtLjQ0My41Ny0xLjA0Ljk5OC0xLjczNyAxLjE3NmEyLjg2IDIuODYgMCAwMS0yLjA2Ni0uMjU3Yy0uNjMxLS4zMzYtMS4xMzEtLjg4MS0xLjQ2Ni0xLjUyNkE0LjYgNC42IDAgMDExMyAxMmMtLjAwNC0uNzQuMTctMS40Ny41MDYtMi4xMjguMzM2LS42NDUuODM1LTEuMTkgMS40NjYtMS41MjZhMi44NiAyLjg2IDAgMDEyLjA2Ni0uMjU3WiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfZmlsbC9wYXVzZS92OS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik05IDE5SDdWNWgyWm04LTE0aC0ydjE0aDJaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGxfZXhwZXJpbWVudGFsL3BhdXNlL3Y5LzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNNi41IDNBMS41IDEuNSAwIDAwNSA0LjV2MTVBMS41IDEuNSAwIDAwNi41IDIxaDJhMS41IDEuNSAwIDAwMS41LTEuNXYtMTVBMS41IDEuNSAwIDAwOC41IDNoLTJabTkgMEExLjUgMS41IDAgMDAxNCA0LjV2MTVhMS41IDEuNSAwIDAwMS41IDEuNWgyYTEuNSAxLjUgMCAwMDEuNS0xLjV2LTE1QTEuNSAxLjUgMCAwMDE3LjUgM2gtMloifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwvcGxheV9hcnJvdy92Ny8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Im03IDQgMTIgOC0xMiA4VjR6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGxfZXhwZXJpbWVudGFsL3BsYXkvdjQvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik01IDQuNjIzVjE5LjM4YTEuNSAxLjUgMCAwMDIuMjYgMS4yOUwyMiAxMiA3LjI2IDMuMzNBMS41IDEuNSAwIDAwNSA0LjYyM1oifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfZmlsbC95b3V0dWJlX2xvZ29faWNvbi92Ni8yNHB4LnN2ZyJdPQpfLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjEuNTggNy4xOWEyLjUxIDIuNTEgMCAwMC0xLjc3LTEuNzdDMTguMjUgNSAxMiA1IDEyIDVzLTYuMjUgMC03LjgxLjQyYTIuNTEgMi41MSAwIDAwLTEuNzcgMS43N0EyNS44NyAyNS44NyAwIDAwMiAxMmEyNS44NyAyNS44NyAwIDAwLjQyIDQuODEgMi41MSAyLjUxIDAgMDAxLjc3IDEuNzdDNS43NSAxOSAxMiAxOSAxMiAxOXM2LjI1IDAgNy44MS0uNDJhMi41MSAyLjUxIDAgMDAxLjc3LTEuNzdBMjUuODcgMjUuODcgMCAwMDIyIDEyYTI1Ljg3IDI1Ljg3IDAgMDAtLjQyLTQuODF6TTEwIDE0LjY1di01LjNMMTUgMTJ6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGxfZXhwZXJpbWVudGFsL3lvdXR1YmUvdjIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsCmZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTIgNXMtNi4yNDkgMC03LjgxLjQyYy0uODYuMjMtMS41NC45MS0xLjc3IDEuNzdDMiA4Ljc1IDIgMTIgMiAxMnMwIDMuMjUuNDIgNC44MWMuMjMuODYuOTEgMS41NCAxLjc3IDEuNzdDNS43NTEgMTkgMTIgMTkgMTIgMTlzNi4yNDkgMCA3LjgxLS40MmMuODYtLjIzIDEuNTQtLjkxIDEuNzctMS43N0MyMiAxNS4yNSAyMiAxMiAyMiAxMnMwLTMuMjUtLjQyLTQuODFjLS4yMy0uODYtLjkxLTEuNTQtMS43Ny0xLjc3QzE4LjI0OSA1IDEyIDUgMTIgNVptLTIgMTBWOWw1IDMtNSAzWiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2Fycm93X2NpcmNsZS92Ni8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IiwKaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjIgMTJjMCA1LjUxLTQuNDkgMTAtMTAgMTBTMiAxNy41MSAyIDEyaDFjMCA0Ljk2IDQuMDQgOSA5IDlzOS00LjA0IDktOS00LjA0LTktOS05QzguODEgMyA1LjkyIDQuNjQgNC4yOCA3LjM4Yy0uMTEuMTgtLjIyLjM3LS4zMS41NkwzLjk0IDhIOHYxSDEuOTZWM2gxdjQuNzRjLjA0LS4wOS4wNy0uMTcuMTEtLjI1LjExLS4yMi4yMy0uNDIuMzUtLjYzQzUuMjIgMy44NiA4LjUxIDIgMTIgMmM1LjUxIDAgMTAgNC40OSAxMCAxMHoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvYXJyb3dfY291bnRlcmNsb2Nrd2lzZS92Mi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsCndpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0zIDJhMSAxIDAgMDAtMSAxdjZoNmExIDEgMCAwMDAtMkg1Ljc1N2E4IDggMCAxMS0xLjQ4NSA3LjA3IDEgMSAwIDEwLTEuOTMxLjUxNyAxMC4wMDIgMTAuMDAyIDAgMDAxOC4wOTMgMi43ODJBOS45OTkgOS45OTkgMCAwMDQgNlYzYTEgMSAwIDAwLTEtMVoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9iZWxsL3YxMS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMCAyMGg0YzAgMS4xLS45IDItMiAycy0yLS45LTItMnptMTAtMi42NVYxOUg0di0xLjY1bDItMS44OHYtNS4xNUM2IDcuNCA3LjU2IDUuMSAxMCA0LjM0di0uMzhjMC0xLjQyIDEuNDktMi41IDIuOTktMS43Ni42NS4zMiAxLjAxIDEuMDMgMS4wMSAxLjc2di4zOWMyLjQ0Ljc1IDQgMy4wNiA0IDUuOTh2NS4xNWwyIDEuODd6bS0xIC40Mi0yLTEuODh2LTUuNDdjMC0yLjQ3LTEuMTktNC4zNi0zLjEzLTUuMS0xLjI2LS41My0yLjY0LS41LTMuODQuMDNDOC4xNSA2LjExIDcgNy45OSA3IDEwLjQydjUuNDdsLTIgMS44OFYxOGgxNHYtLjIzeiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvYmVsbC92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNiAxOWE0IDQgMCAxMS04IDBINC43NjVDMy4yMSAxOSAyLjI1IDE3LjMwNCAzLjA1IDE1Ljk3bDEuODA2LTMuMDFBMSAxIDAgMDA1IDEyLjQ0NlY4YTcgNyAwIDAxMTQgMHY0LjQ0NmMwIC4xODEuMDUuMzYuMTQyLjUxNWwxLjgwNyAzLjAxYy44IDEuMzMzLS4xNjEgMy4wMjktMS43MTYgMy4wMjlIMTZaTTEyIDNhNSA1IDAgMDAtNSA1djQuNDQ2YTMgMyAwIDAxLS40MjggMS41NDNMNC43NjUgMTdoMTQuNDY4bC0xLjgwNS0zLjAxQTMgMyAwIDAxMTcgMTIuNDQ1VjhhNSA1IDAgMDAtNS01Wm0tMiAxNmEyIDIgMCAxMDQgMGgtNFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvY2xvY2svdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE0Ljk3IDE2Ljk1IDEwIDEzLjg3VjdoMnY1Ljc2bDQuMDMgMi40OS0xLjA2IDEuN3pNMTIgM2MtNC45NiAwLTkgNC4wNC05IDlzNC4wNCA5IDkgOSA5LTQuMDQgOS05LTQuMDQtOS05LTltMC0xYzUuNTIgMCAxMCA0LjQ4IDEwIDEwcy00LjQ4IDEwLTEwIDEwUzIgMTcuNTIgMiAxMiA2LjQ4IDIgMTIgMnoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvY2xvY2svdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsCmhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEyIDFDNS45MjUgMSAxIDUuOTI1IDEgMTJzNC45MjUgMTEgMTEgMTEgMTEtNC45MjUgMTEtMTFTMTguMDc1IDEgMTIgMVptMCAyYTkgOSAwIDExMCAxOC4wMDFBOSA5IDAgMDExMiAzWm0wIDNhMSAxIDAgMDAtMSAxdjUuNTY1bC40ODUuMjkyIDMuMzMgMmExIDEgMCAwMDEuMDMtMS43MTRMMTMgMTEuNDM1VjdhMSAxIDAgMDAtMS0xWiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2Nsb3NlZF9jYXB0aW9uL3YxMS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik02IDE0di00YzAtLjU1LjQ1LTEgMS0xaDNjLjU1IDAgMSAuNDUgMSAxdjFIOS41di0uNWgtMnYzaDJWMTNIMTF2MWMwIC41NS0uNDUgMS0xIDFIN2MtLjU1IDAtMS0uNDUtMS0xem04IDFoM2MuNTUgMCAxLS40NSAxLTF2LTFoLTEuNXYuNWgtMnYtM2gydi41SDE4di0xYzAtLjU1LS40NS0xLTEtMWgtM2MtLjU1IDAtMSAuNDUtMSAxdjRjMCAuNTUuNDUgMSAxIDF6bTYtMTFINHYxNmgxNlY0bTEtMXYxOEgzVjMuMDFDMyAzIDMgMyAzLjAxIDNIMjF6In0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC9jbG9zZWRfY2FwdGlvbnMvdjMvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0yMSAzSDNhMiAyIDAgMDAtMiAydjE0YTIgMiAwIDAwMiAyaDE4YTIgMiAwIDAwMi0yVjVhMiAyIDAgMDAtMi0yWk0zIDE5VjVoMTh2MTRIM1pNNi45NzIgOC4zNDZjLS42MzEuMzM2LTEuMTMxLjg4MS0xLjQ2NiAxLjUyNkE0LjYgNC42IDAgMDA1IDEyYy0uMDA0Ljc0LjE3IDEuNDcuNTA2IDIuMTI4LjMzNi42NDUuODM1IDEuMTkxIDEuNDY2IDEuNTI2YTIuODYgMi44NiAwIDAwMi4wNjYuMjU3Yy42OTctLjE3OCAxLjI5NC0uNjA2IDEuNzM3LTEuMTc2YTEgMSAwIDAwLTEuNTc4LTEuMjI4Yy0uMjEuMjctLjQ0NC40MTMtLjY1NC40NjdhLjg2Ljg2IDAgMDEtLjYzMi0uMDg1Yy0uMjIyLS4xMTktLjQ1My0uMzQyLS42MzEtLjY4NEEyLjY0IDIuNjQgMCAwMTcgMTJhMi42IDIuNiAwIDAxLjI4MS0xLjIwNWMuMTc3LS4zNDIuNDA4LS41NjUuNjMtLjY4NGEuODYuODYgMCAwMS42MzItLjA4NWMuMjA5LjA1NC40NDQuMTk3LjY1NC40NjdhMSAxIDAgMDAxLjU3OC0xLjIyOGMtLjQ0My0uNTctMS4wNC0uOTk4LTEuNzM3LTEuMTc2YTIuODYgMi44NiAwIDAwLTIuMDY2LjI1N1ptOCAwYy0uNjMxLjMzNi0xLjEzMS44ODEtMS40NjYgMS41MjZBNC42IDQuNiAwIDAwMTMgMTJjLS4wMDQuNzQuMTcgMS40Ny41MDYgMi4xMjguMzM2LjY0NS44MzUgMS4xOTEgMS40NjYgMS41MjZhMi44NiAyLjg2IDAgMDAyLjA2Ni4yNTdjLjY5Ny0uMTc4IDEuMjk0LS42MDYgMS43MzctMS4xNzZhMSAxIDAgMDAtMS41NzgtMS4yMjhjLS4yMS4yNy0uNDQ0LjQxMy0uNjU0LjQ2N2EuODYuODYgMCAwMS0uNjMyLS4wODVjLS4yMjItLjExOS0uNDUzLS4zNDItLjYzMS0uNjg0QTIuNjQgMi42NCAwIDAxMTUgMTJhMi42IDIuNiAwIDAxLjI4MS0xLjIwNWMuMTc3LS4zNDIuNDA4LS41NjUuNjMtLjY4NGEuODYuODYgMCAwMS42MzItLjA4NWMuMjA5LjA1NC40NDQuMTk3LjY1NC40NjdhMSAxIDAgMDAxLjU3OC0xLjIyOGMtLjQ0My0uNTctMS4wNC0uOTk4LTEuNzM3LTEuMTc2YTIuODYgMi44NiAwIDAwLTIuMDY2LjI1N1oifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvZ2Vhci92MTAvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTIgOS41YzEuMzggMCAyLjUgMS4xMiAyLjUgMi41cy0xLjEyIDIuNS0yLjUgMi41LTIuNS0xLjEyLTIuNS0yLjUgMS4xMi0yLjUgMi41LTIuNW0wLTFjLTEuOTMgMC0zLjUgMS41Ny0zLjUgMy41czEuNTcgMy41IDMuNSAzLjUgMy41LTEuNTcgMy41LTMuNS0xLjU3LTMuNS0zLjUtMy41ek0xMy4yMiAzbC41NSAyLjIuMTMuNTEuNS4xOGMuNjEuMjMgMS4xOS41NiAxLjcyLjk4bC40LjMyLjUtLjE0IDIuMTctLjYyIDEuMjIgMi4xMS0xLjYzIDEuNTktLjM3LjM2LjA4LjUxYy4wNS4zMi4wOC42NC4wOC45OHMtLjAzLjY2LS4wOC45OGwtLjA4LjUxLjM3LjM2IDEuNjMgMS41OS0xLjIyIDIuMTEtMi4xNy0uNjItLjUtLjE0LS40LjMyYy0uNTMuNDMtMS4xMS43Ni0xLjcyLjk4bC0uNS4xOC0uMTMuNTEtLjU1IDIuMjRoLTIuNDRsLS41NS0yLjItLjEzLS41MS0uNS0uMThjLS42LS4yMy0xLjE4LS41Ni0xLjcyLS45OWwtLjQtLjMyLS41LjE0LTIuMTcuNjItMS4yMS0yLjEyIDEuNjMtMS41OS4zNy0uMzYtLjA4LS41MWMtLjA1LS4zMi0uMDgtLjY1LS4wOC0uOThzLjAzLS42Ni4wOC0uOThsLjA4LS41MS0uMzctLjM2TDMuNiA4LjU2bDEuMjItMi4xMSAyLjE3LjYyLjUuMTQuNC0uMzJjLjUzLS40NCAxLjExLS43NyAxLjcyLS45OWwuNS0uMTguMTMtLjUxLjU0LTIuMjFoMi40NE0xNCAyaC00bC0uNzQgMi45NmMtLjczLjI3LTEuNC42Ni0yIDEuMTRsLTIuOTItLjgzLTIgMy40NiAyLjE5IDIuMTNjLS4wNi4zNy0uMDkuNzUtLjA5IDEuMTRzLjAzLjc3LjA5IDEuMTRsLTIuMTkgMi4xMyAyIDMuNDYgMi45Mi0uODNjLjYuNDggMS4yNy44NyAyIDEuMTRMMTAgMjJoNGwuNzQtMi45NmMuNzMtLjI3IDEuNC0uNjYgMi0xLjE0bDIuOTIuODMgMi0zLjQ2LTIuMTktMi4xM2MuMDYtLjM3LjA5LS43NS4wOS0xLjE0cy0uMDMtLjc3LS4wOS0xLjE0bDIuMTktMi4xMy0yLTMuNDYtMi45Mi44M2MtLjYtLjQ4LTEuMjctLjg3LTItMS4xNEwxNCAyeiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvZ2Vhci92MTAvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMi44NDQgMWgtMS42ODdhMiAyIDAgMDAtMS45NjIgMS42MTYgMyAzIDAgMDEtMy45MiAyLjI2MyAyIDIgMCAwMC0yLjM4Ljg5MWwtLjg0MiAxLjQ2YTIgMiAwIDAwLjQxNyAyLjUwNyAzIDMgMCAwMTAgNC41MjUgMiAyIDAgMDAtLjQxNyAyLjUwN2wuODQzIDEuNDZhMiAyIDAgMDAyLjM4Ljg5MiAzLjAwMSAzLjAwMSAwIDAxMy45MTggMi4yNjNBMiAyIDAgMDAxMS4xNTcgMjNoMS42ODZhMiAyIDAgMDAxLjk2My0xLjYxNSAzLjAwMiAzLjAwMiAwIDAxMy45Mi0yLjI2MyAyIDIgMCAwMDIuMzgtLjg5MmwuODQyLTEuNDZhMiAyIDAgMDAtLjQxOC0yLjUwNyAzIDMgMCAwMTAtNC41MjYgMiAyIDAgMDAuNDE4LTIuNTA4bC0uODQzLTEuNDZhMiAyIDAgMDAtMi4zOC0uODkxIDMgMyAwIDAxLTMuOTE5LTIuMjYzQTIgMiAwIDAwMTIuODQ0IDFabS0xLjc2NyAyLjM0N2E2IDYgMCAwMC4wOC0uMzQ3aDEuNjg3YTQuOTggNC45OCAwIDAwMi40MDcgMy4zNyA0Ljk4IDQuOTggMCAwMDQuMTIyLjRsLjg0MyAxLjQ2QTQuOTggNC45OCAwIDAwMTguNSAxMmE0Ljk4IDQuOTggMCAwMDEuNzE2IDMuNzdsLS44NDMgMS40NmE0Ljk4IDQuOTggMCAwMC00LjEyMy40QTQuOTc5IDQuOTc5IDAgMDAxMi44NDMgMjFoLTEuNjg2YTQuOTggNC45OCAwIDAwLTIuNDA4LTMuMzcxIDQuOTk5IDQuOTk5IDAgMDAtNC4xMi0uMzk5bC0uODQ0LTEuNDZBNC45NzkgNC45NzkgMCAwMDUuNSAxMmE0Ljk4IDQuOTggMCAwMC0xLjcxNS0zLjc3bC44NDItMS40NTlhNC45OCA0Ljk4IDAgMDA0LjEyMy0uMzk5IDQuOTgxIDQuOTgxIDAgMDAyLjMyNy0zLjAyNVpNMTYgMTJhNCA0IDAgMTEtNy45OTkgMCA0IDQgMCAwMTggMFptLTQgMmEyIDIgMCAxMDAtNCAyIDIgMCAwMDAgNFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvbGluay92OC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNy43OCAxNmMyLjM1IDAgNC4yNi0yLjAyIDQuMjYtNC41UzIwLjEzIDcgMTcuNzggN0gxM3YxaDQuNzhjMS44IDAgMy4yNiAxLjU3IDMuMjYgMy41UzE5LjU4IDE1IDE3Ljc4IDE1SDEzdjFoNC43OHpNMTEgMTVINi4xOWMtMS44IDAtMy4yNi0xLjU3LTMuMjYtMy41UzQuMzkgOCA2LjE5IDhIMTFWN0g2LjE5Yy0yLjM1IDAtNC4yNiAyLjAyLTQuMjYgNC41UzMuODQgMTYgNi4xOSAxNkgxMXYtMXptNS00SDh2MWg4di0xeiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC9saW5rL3Y4LzI0cHguc3ZnIl09Xy5LKCJzdmciLAp7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTkgMThjLjIyNiAwIC40NDgtLjAxMi42NjctLjAzN0E4LjAwMSA4LjAwMSAwIDAxOC4wNyAxNkg3YTQgNCAwIDExMC04aDJhNCA0IDAgMDE0IDQgMiAyIDAgMDAxLjY2OCAxLjk3M0E1Ljk5OSA1Ljk5OSAwIDAwOSA2SDdhNiA2IDAgMTAwIDEyaDJabTggMGE2IDYgMCAxMDAtMTJoLTJjLS4yMjUgMC0uNDQ4LjAxMi0uNjY3LjAzNkE4IDggMCAwMTE1LjkzIDhIMTdhNCA0IDAgMTEwIDhoLTJhNCA0IDAgMDEtNC00IDIgMiAwIDAwLTEuNjY4LTEuOTczQTYgNiAwIDAwMTUgMThoMloifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9zaGFyZS92MTIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsCmhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE1IDUuNjMgMjAuNjYgMTIgMTUgMTguMzdWMTRoLTFjLTMuOTYgMC03LjE0IDEtOS43NSAzLjA5IDEuODQtNC4wNyA1LjExLTYuNCA5Ljg5LTcuMWwuODYtLjEzVjUuNjNNMTQgM3Y2QzYuMjIgMTAuMTMgMy4xMSAxNS4zMyAyIDIxYzIuNzgtMy45NyA2LjQ0LTYgMTItNnY2bDgtOS04LTl6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3NoYXJlL3YxMi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEwIDMuMTU4VjcuNTFjLTUuNDI4LjIyMy04LjI3IDMuNzUtOC44NzUgMTEuMTk5LS4wNC40ODctLjA3Ljk3NS0uMDkgMS40NjRsLS4wMTQuMzk1Yy0uMDE0LjQ3My41NzguNjg0Ljg4LjMyLjMwMi0uMzY4LjYxLS43My45MjUtMS4wODZsLjI0NC0uMjczYzEuNzktMS45NjcgMy0yLjY3NyA0LjkzLTIuOTE3YTE4LjAxMSAxOC4wMTEgMCAwMTItLjExMnY0LjM0NmExIDEgMCAwMDEuNjQ2Ljc2M2w5LjgwNS04LjI5NyAxLjU1LTEuMzEtMS41NS0xLjMxLTkuODA1LTguMjk3QTEgMSAwIDAwMTAgMy4xNThabTIgNi4yN3YuMDAyLTQuMTE2bDcuOTA0IDYuNjg4TDEyIDE4LjY4OXYtNC4yMTJsLTIuMDIzLjAyNGMtMS45MzUuMDIyLTMuNTg3LjE3LTUuMTk3IDEuMDI0YTkgOSAwIDAwLTEuMzQ4Ljg5M2MuMzU1LTEuOTQ3LjkxNi0zLjM5IDEuNjMtNC40MjUgMS4wNjItMS41NDEgMi42MDctMi4zODUgNS4wMi0yLjQ4NUwxMiA5LjQyOFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvdm9sdW1lX29mZi92NC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Im0zLjE1IDMuODUgNC4xNyA0LjE3TDYuMTYgOUgzdjZoMy4xNkwxMiAxOS45M3YtNy4yMmwyLjQ1IDIuNDVjLS4xNS4wNy0uMy4xMy0uNDUuMTh2MS4wNGMuNDMtLjEuODMtLjI3IDEuMi0uNDhsMS44MSAxLjgxYy0uODguNjItMS45IDEuMDQtMy4wMSAxLjJ2MS4wMWMxLjM5LS4xNyAyLjY2LS43MSAzLjczLTEuNDlsMi40MiAyLjQyLjcxLS43MS0xNy0xNy0uNzEuNzF6TTExIDExLjcxdjYuMDdMNi41MiAxNEg0di00aDIuNTJsMS41LTEuMjdMMTEgMTEuNzF6bS0uNjctNC45Mi0uNzEtLjcxTDEyIDQuMDd2NC4zOWwtMS0xVjYuMjJsLS42Ny41N3pNMTQgOC42NlY3LjYyYzIgLjQ2IDMuNSAyLjI0IDMuNSA0LjM4IDAgLjU4LS4xMyAxLjEzLS4zMyAxLjY0bC0uNzktLjc5Yy4wNy0uMjcuMTItLjU1LjEyLS44NSAwLTEuNTgtMS4wNi0yLjktMi41LTMuMzR6bTAtMy41OFY0LjA3YzMuOTUuNDkgNyAzLjg1IDcgNy45MyAwIDEuNTYtLjQ2IDMuMDEtMS4yMyA0LjI0bC0uNzMtLjczYy42MS0xLjAzLjk2LTIuMjMuOTYtMy41MSAwLTMuNTItMi42MS02LjQzLTYtNi45MnoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3ZvbHVtZV9tdXRlL3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTEuNDg1IDIuMTQzIDMuOTEzIDYuNjg3QTYgNiAwIDAwMSAxMS44MzJ2LjMzOGE2IDYgMCAwMDIuOTEzIDUuMTQ0bDcuNTcyIDQuNTQzQTEgMSAwIDAwMTMgMjFWM2ExLjAwMSAxLjAwMSAwIDAwLTEuNTE1LS44NTdaTTQuOTQyIDguNCAxMSA0Ljc2N3YxNC40NjZsLTYuMDU4LTMuNjM0QTQgNCAwIDAxMyAxMi4xNjl2LS4zMzhBNCA0IDAgMDE0Ljk0MiA4LjRabTE2LjM1MS0uMTA4TDE5IDEwLjU4NmwtMi4yOTMtMi4yOTNhMSAxIDAgMTAtMS40MTQgMS40MTRMMTcuNTg2IDEybC0yLjI5MyAyLjI5M2ExIDEgMCAxMDEuNDE0IDEuNDE0TDE5IDEzLjQxNGwyLjI5MyAyLjI5M2ExIDEgMCAxMDEuNDE0LTEuNDE0TDIwLjQxNCAxMmwyLjI5My0yLjI5NGExIDEgMCAxMC0xLjQxNC0xLjQxNFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvdm9sdW1lX29uL3YzLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE3LjUgMTJjMCAyLjE0LTEuNSAzLjkyLTMuNSA0LjM4di0xLjA0YzEuNDQtLjQzIDIuNS0xLjc2IDIuNS0zLjM0IDAtMS41OC0xLjA2LTIuOS0yLjUtMy4zNFY3LjYyYzIgLjQ2IDMuNSAyLjI0IDMuNSA0LjM4ek0xMiA0LjA3djE1Ljg2TDYuMTYgMTVIM1Y5aDMuMTZMMTIgNC4wN3ptLTEgMi4xNUw2LjUyIDEwSDR2NGgyLjUyTDExIDE3Ljc4VjYuMjJ6TTIxIDEyYzAgNC4wOC0zLjA1IDcuNDQtNyA3Ljkzdi0xLjAxYzMuMzktLjQ5IDYtMy40IDYtNi45MnMtMi42MS02LjQzLTYtNi45MlY0LjA3YzMuOTUuNDkgNyAzLjg1IDcgNy45M3oifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvdm9sdW1lX21heC92Mi8yNHB4LnN2ZyJdPQpfLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMS40ODUgMi4xNDMgMy45MTMgNi42ODdBNiA2IDAgMDAxIDExLjgzMnYuMzM4YTYgNiAwIDAwMi45MTMgNS4xNDRsNy41NzIgNC41NDNBMSAxIDAgMDAxMyAyMVYzYTEuMDAxIDEuMDAxIDAgMDAtMS41MTUtLjg1N1ptNi44OCAyLjA3OWExIDEgMCAwMC0uMDAxIDEuNDE0IDkgOSAwIDAxMCAxMi43MjggMSAxIDAgMDAxLjQxNCAxLjQxNCAxMSAxMSAwIDAwMC0xNS41NTYgMSAxIDAgMDAtMS40MTMgMFpNNC45NDEgOC40MDJsLjAwMS0uMDAyTDExIDQuNzY3djE0LjQ2NmwtNi4wNTgtMy42MzVBNCA0IDAgMDEzIDEyLjE2OHYtLjMzN2E0IDQgMCAwMTEuOTQxLTMuNDI5Wk0xNS41MzUgNy4wNWExIDEgMCAwMDAgMS40MTUgNSA1IDAgMDEwIDcuMDcgMSAxIDAgMDAxLjQxNSAxLjQxNSA2Ljk5OSA2Ljk5OSAwIDAwMC05LjkgMSAxIDAgMDAtMS40MTUgMFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUveF9tYXJrL3Y0LzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJlbmFibGUtYmFja2dyb3VuZCI6Im5ldyAwIDAgMjQgMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoibTEyLjcxIDEyIDguMTUgOC4xNS0uNzEuNzFMMTIgMTIuNzFsLTguMTUgOC4xNS0uNzEtLjcxTDExLjI5IDEyIDMuMTUgMy44NWwuNzEtLjcxTDEyIDExLjI5bDguMTUtOC4xNS43MS43MUwxMi43MSAxMnoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwveC92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLAp3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTcuMjkzIDUuMjkzIDEyIDEwLjU4NiA2LjcwNyA1LjI5M2ExIDEgMCAxMC0xLjQxNCAxLjQxNEwxMC41ODYgMTJsLTUuMjkzIDUuMjkzYTEgMSAwIDAwMS40MTQgMS40MTRMMTIgMTMuNDE0bDUuMjkzIDUuMjkzYTEgMSAwIDAwMS40MTQtMS40MTRMMTMuNDE0IDEybDUuMjkzLTUuMjkzYTEgMSAwIDEwLTEuNDE0LTEuNDE0WiJ9KSk7YVsiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvaWNvbnMvbXdlYi95b3V0dWJlX2ZpbGwvZXF1YWxpemVyL3YxLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIix2aWV3Qm94OiItNCAtNCAyNCAyNCIsdmVyc2lvbjoiMS4xIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJ4bWxuczp4bGluayI6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bWxuczp5dCI6Imh0dHA6Ly93d3cueW91dHViZS5jb20ifSxfLksoImciLAp7aWQ6Inl0bS1lcXVhbGl6ZXItaWNvbiIsZmlsbDoiI2ZmZiJ9LF8uSygicmVjdCIse2NsYXNzOiJ5dG0tZXF1YWxpemVyLWJhci1sZWZ0Iix4OiIxIix5OiI3Iix3aWR0aDoiNCIsaGVpZ2h0OiI5In0pLF8uSygicmVjdCIse2NsYXNzOiJ5dG0tZXF1YWxpemVyLWJhci1taWRkbGUiLHg6IjYiLHk6IjIiLHdpZHRoOiI0IixoZWlnaHQ6IjE0In0pLF8uSygicmVjdCIse2NsYXNzOiJ5dG0tZXF1YWxpemVyLWJhci1yaWdodCIseDoiMTEiLHk6IjQiLHdpZHRoOiI0IixoZWlnaHQ6IjEyIn0pKSk7YVsiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvaWNvbnMvbXdlYi95b3V0dWJlX2ZpbGwvc2hvcnRzX3RleHRfbG9nby92Mi83MnB4LnN2ZyJdPV8uSygic3ZnIix7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiMCAwIDcyIDI0IixmaWxsOiJub25lIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJ4bWxuczp4bGluayI6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsifSwKXy5LKCJnIix7dHJhbnNmb3JtOiJ0cmFuc2xhdGUoMjQsIDIpIn0sXy5LKCJwYXRoIix7ZDoibS43MzIxNyAxMy43ODg2IDIuNTc3MzItLjA1MTVjLS4wNTE1NSAyLjMxOTUuMzYwODIgMy4wNDEyIDEuMzQwMjEgMy4wNDEyLjk1MzYxIDAgMS4zNDAyLS42MTg2IDEuMzQwMi0xLjg4MTQgMC0xLjg4MTUtLjk3OTM4LTIuODM1MS0yLjM3MTEzLTQuMDQ2NEMxLjQ3OTU5IDguOTk0NzkuNTUxNzU4IDcuOTYzODYuNTUxNzU4IDUuMjMxOWMwLTIuNjAzMDkgMS4xNTk3OTItNC4xNDk0OCA0LjE3NTI2Mi00LjE0OTQ4IDIuOTEyMzcgMCA0LjEyMzcxIDEuNzAxMDMgMy43MTEzMyA1LjIwNjE5bC0yLjU3NzMyLjE1NDYzYy4wNTE1NS0yLjM5NjktLjIwNjE4LTMuMjIxNjQtMS4yNjI4OC0zLjIyMTY0LS45NzkzOCAwLTEuMzE0NDQuNjQ0MzMtMS4zMTQ0NCAxLjgyOTg5IDAgMS43NzgzNS43NDc0MyAyLjMxOTU5IDIuMzQ1MzcgMy44NDAyMSAxLjk4NDUzIDEuODgxNCAzLjA5Mjc4IDIuOTg5NyAzLjA5Mjc4IDUuNTQxMiAwIDMuMjQ3NS0xLjI2Mjg5IDQuNDg0Ni00LjIwMTAzIDQuNDg0Ni0zLjA2NzAxLjAyNTctNC4zMDQxMjUtMS42MjM3LTMuNzg4NjYtNS4xMjg5Wk05LjY3NTU0Ljc0NzQwNWgyLjgzNTA2VjQuNTg3NjFjMCAxLjE1OTc5LS4wNTE2IDEuOTU4NzYtLjE1NDcgMi45MzgxNGguMDUxNmMuNTQxMi0xLjE1OTc5IDEuNDQzMy0xLjc1MjU3IDIuNjAzMS0xLjc1MjU3IDEuNzUyNiAwIDIuNSAxLjIzNzExIDIuNSAzLjM1MDUxdjkuNTM2MTFoLTIuODM1MVY5LjMyOTg4YzAtMS4wMzA5My0uMjU3Ny0xLjU0NjM5LS45MDItMS41NDYzOS0uNDg5NyAwLS45Mjc5LjI4MzUtMS4yMzcxLjc5ODk3VjE4LjY1OThIOS43MDEzMVYuNzQ3NDA1aC0uMDI1NzdaTTE4LjY3MDMgMTMuMjczMnYtMS44Mjk5YzAtNC4wNzIxNiAxLjE4NTYtNS42NDQzMyAzLjk5NDgtNS42NDQzMyAyLjgwOTMgMCAzLjg2NiAxLjYyMzcxIDMuODY2IDUuNjQ0MzN2MS44Mjk5YzAgMy45NjkxLTEuMDA1MiA1LjU5MjgtMy45NDMzIDUuNTkyOC0yLjk4OTcgMC0zLjkxNzUtMS42NzUzLTMuOTE3NS01LjU5MjhabTUgMS4wMzA5di0zLjk0MzNjMC0xLjcyNjc4LS4yNTc4LTIuNjAzMDctMS4wODI1LTIuNjAzMDctLjc5OSAwLTEuMDU2Ny44NzYyOS0xLjA1NjcgMi42MDMwN3YzLjk0MzNjMCAxLjgwNDEuMjU3NyAyLjYyODkgMS4wNTY3IDIuNjI4OS44MjQ3IDAgMS4wODI1LS44MjQ4IDEuMDgyNS0yLjYyODlaTTI3LjY2NTIgNi4wMzA4OWgyLjE5MDdsLjI1NzggMi43MzE5NmguMTAzYy4yODM2LTIuMDEwMzEgMS4yMTE0LTMuMDE1NDYgMi4zOTY5LTMuMDE1NDYuMTU0NyAwIC4zMDkzLjAyNTc3LjUxNTUuMDUxNTRsLS4xNTQ2IDMuMjczMmMtMS4xODU2LS4yNTc3My0yLjEzOTItLjA1MTU1LTIuNTc3My43MjE2NVYxOC42MzRoLTIuNzMyVjYuMDMwODlaTTM0LjgwNDQgMTUuNjcwMVY4LjI3MzJoLTEuMDMwOVY2LjA1NjdoMS4xNTk4bC4zNjA4LTMuNzM3MTFoMi4xMTM0VjYuMDU2N2gxLjkzM3YyLjIxNjVoLTEuODA0MXY2Ljk4NDVjMCAxLjE4NTYuMTU0NiAxLjQ0MzMuNjE4NSAxLjQ0MzMuNDEyNCAwIC43NzMyLS4wNTE1IDEuMTA4My0uMTgwNGwuMzYwOCAxLjgwNDFjLS44NTA1LjQxMjQtMS45MzMuNTQxMy0yLjYwMzEuNTQxMy0xLjgyOTktLjAyNTgtMi4yMTY1LS45Nzk0LTIuMjE2NS0zLjE5NTlaTTQwLjI2ODIgMTQuODE5NmwyLjM5NjktLjA1MTVjLS4xMjg5IDEuMzkxNy4zNjA4IDIuMTkwNyAxLjIxMTMgMi4xOTA3LjcyMTcgMCAxLjEzNDEtLjQ2MzkgMS4xMzQxLTEuMTA4MyAwLS44NzYzLS43OTktMS40NjktMi4xNjUtMi41LTEuNjIzNy0xLjIzNzEtMi42MDMxLTIuMTY0OS0yLjYwMzEtNC4yMDEgMC0yLjI0MjI3IDEuMTg1Ni0zLjMyNDc0IDMuNjM0LTMuMzI0NzQgMi42MDMxIDAgMy42MzQxIDEuMjg4NjYgMy40Mjc5IDQuMzU1NjRsLTIuMzk2OS4xMDMxYy0uMDI1OC0xLjkwNzE5LS4yODM1LTIuNDQ4NDMtMS4wODI1LTIuNDQ4NDMtLjc3MzIgMC0xLjEwODMuMzg2Ni0xLjEwODMgMS4wODI0NyAwIC45NzkzOC41NjcxIDEuNDQzMjYgMS40OTQ5IDIuMTEzMzYgMi4yMTY1IDEuNjQ5NSAzLjI0NzQgMi40NzQzIDMuMjQ3NCA0LjUzNjEgMCAyLjI2ODEtMS4yODg3IDMuNDAyMS0zLjczNzEgMy40MDIxLTIuNzgzNS0uMDI1OC0zLjgxNDQtMS41NDY0LTMuNDUzNi00LjE0OTVaIiwKZmlsbDoiI2ZmZiJ9KSksXy5LKCJnIix7dHJhbnNmb3JtOiJ0cmFuc2xhdGUoMCwgMCkifSxfLksoInBhdGgiLHtkOiJNMTguNDUgOC44NTFjMS45MDQtMS4wNjYgMi41NDEtMy40IDEuNDIyLTUuMjE0LTEuMTE5LTEuODE0LTMuNTctMi40Mi01LjQ3NS0xLjM1NUw1LjU1IDcuMjQ3Yy0xLjI5LjcyMi0yLjA0OSAyLjA2OS0xLjk2OCAzLjQ5MS4wODEgMS40MjMuOTg5IDIuNjgzIDIuMzUzIDMuMjY4bC45NDIuNDA0LTEuMzI3Ljc0MmMtMS45MDQgMS4wNjYtMi41NDEgMy40LTEuNDIyIDUuMjE0IDEuMTE5IDEuODE0IDMuNTcgMi40MjEgNS40NzUgMS4zNTVsOC44NDctNC45NjVjMS4yOS0uNzIyIDIuMDQ5LTIuMDY4IDEuOTY4LTMuNDktLjA4MS0xLjQyMy0uOTg5LTIuNjg0LTIuMzUzLTMuMjY5bC0uOTQyLS40MDMgMS4zMjctLjc0M1pNMTAgMTQuNTY3YS4yNS4yNSAwIDAwLjM3NC4yMTdsNC40NS0yLjU2N2EuMjUuMjUgMCAwMDAtLjQzM2wtNC40NS0yLjU2N2EuMjUuMjUgMCAwMC0uMzc0LjIxNnY1LjEzNFoiLAoiZmlsbC1ydWxlIjoiZXZlbm9kZCIsZmlsbDoiI2ZmZiJ9KSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3dhdGVybWFyay92Mi8xMTBweC5zdmciXT1fLksoInN2ZyIse3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAxMTAgMjYiLHZlcnNpb246IjEuMSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwieG1sbnM6eGxpbmsiOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieG1sbnM6eXQiOiJodHRwOi8vd3d3LnlvdXR1YmUuY29tIn0sXy5LKCJwYXRoIix7aWQ6Inl0cC1zdmctd2F0ZXJtYXJrIixkOiJNIDE2LjY4NzAwNiwwLjk5OTk4NTI0IEMgMTMuNTUxMDY5LDEuMDMyNzk3MiA3LjAyNDUxMTQsMS4xNjI0ODUyIDQuOTk5NTEyNiwxLjY4NzQ4NTIgYyAtMS40OTk5OTkxLDAuNCAtMi41OTk5OTg0LDEuNiAtMi45OTk5OTgyLDMgLTAuNjk5OTk5NSwyLjcgLTAuNjg3NDk5NSw4LjMxMjQ5OTggLTAuNjg3NDk5NSw4LjMxMjQ5OTggMCwwIC0wLjAxMjUsNS42MTI1IDAuNjg3NDk5NSw4LjMxMjUgMC4zOTk5OTk4LDEuNSAxLjU5OTk5OTEsMi42IDIuOTk5OTk4MiwzIDIuNjk5OTk4NCwwLjcgMTMuNDA2MjQyNCwwLjY4NzUgMTMuNDA2MjQyNCwwLjY4NzUgMCwwIDEwLjcwNjI0MywwLjAxMjUgMTMuNDA2MjQxLC0wLjY4NzUgMS41LC0wLjQgMi41OTk5OTksLTEuNiAyLjk5OTk5OSwtMyAwLjY5OTk5OSwtMi43IDAuNjg3NDk5LC04LjMxMjUgMC42ODc0OTksLTguMzEyNSAwLDAgMC4xMTI1LC01LjYxMjQ5OTggLTAuNjg3NDk5LC04LjMxMjQ5OTggLTAuNCwtMS41IC0xLjU5OTk5OSwtMi42IC0yLjk5OTk5OSwtMyBDIDI5LjExMTk5OCwwLjk4NzQ4NTI0IDE4LjQwNTc1NSwwLjk5OTk4NTI0IDE4LjQwNTc1NSwwLjk5OTk4NTI0IGMgMCwwIC0wLjY3MzQzNywtMC4wMTA5MzggLTEuNzE4NzQ5LDAgeiBtIDcyLjIxODcwNiwwLjkwNjI0OTk2IDAsMjEuMjgxMjQ5OCAyLjc4MTI0OCwwIDAuMzEyNSwtMS4zNzUgMC4wOTM3NSwwIGMgMC4zLDAuNSAwLjcxODc1LDAuODg3NSAxLjIxODc0OSwxLjE4NzUgMC41LDAuMyAxLjA4NzUsMC40MDYyNSAxLjY4NzQ5OSwwLjQwNjI1IDEuMSwwIDEuOTk5OTk5LC0wLjQ5Mzc1IDIuNDk5OTk5LC0xLjU5Mzc1IDAuNSwtMS4xIDAuODEyNDk5LC0yLjcwNjI1IDAuODEyNDk5LC00LjkwNjI1IGwgMCwtMi40MDYyNSBjIDAsLTEuNiAtMC4xMTI1LC0yLjkwNjI1IC0wLjMxMjQ5OSwtMy45MDYyNSAtMC4yLC0wLjg5OTk5OTkgLTAuNSwtMS41OTM3NDk5IC0xLC0yLjA5Mzc0OTkgLTAuNSwtMC40IC0xLjEwNjI0OSwtMC41OTM3NDk5IC0xLjkwNjI0OSwtMC41OTM3NDk5IC0wLjU5OTk5OSwwIC0xLjE4NzQ5OSwwLjE5OTk5OTkgLTEuNjg3NDk5LDAuNDk5OTk5OSAtMC40OTk5OTksMC4zIC0xLjAxODc0OSwwLjgwNjI1IC0xLjIxODc0OSwxLjQwNjI1IGwgMCwtNy45MDYyNDk5IC0zLjI4MTI0OCwwIHogbSAtNDkuOTk5OTcsMC43ODEyNSAzLjkwNjI0OCwxMy45MDYyNDk4IDAuMTg3NSw2LjcxODc1IDMuMzEyNDk4LDAgMCwtNi43MTg3NSAzLjg3NDk5NywtMTMuOTA2MjQ5OCAtMy4zNzQ5OTgsMCAtMS40MDYyNDksNi4zMTI0OTk5IGMgLTAuNCwxLjg5OTk5OTkgLTAuNzEyNDk5LDMuMTk5OTk5OSAtMC44MTI0OTksMy45OTk5OTk5IGwgLTAuMDkzNzUsMCBjIC0wLjIsLTEuMSAtMC41MTI1LC0yLjQgLTAuODEyNSwtMy45OTk5OTk5IGwgLTEuMzc0OTk5LC02LjMxMjQ5OTkgLTMuNDA2MjQ4LDAgeiBtIDI5LjU5MzczMiwwIDAsMi43MTg3NSAzLjQwNjI0OCwwIDAsMTcuOTA2MjQ5OCAzLjI4MTI0OCwwIDAsLTE3LjkwNjI0OTggMy40MDYyNDgsMCBjIDAsMCAwLjAwNjIsLTIuNzE4NzUgLTAuMDkzNzUsLTIuNzE4NzUgbCAtOS45OTk5OTQsMCB6IG0gLTUzLjQ5OTk2Nyw1LjEyNSA4LjkwNjI0NCw1LjE4NzQ5OTggLTguOTA2MjQ0LDUuMDkzNzUgMCwtMTAuMjgxMjQ5OCB6IG0gODkuNDA2MTkzLDAuMDkzNzUgYyAtMS43LDAgLTIuODkzNzUsMC41OTM3NDk5IC0zLjU5Mzc1LDEuNTkzNzQ5OSAtMC42OTk5OSwwLjk5OTk5OTkgLTAuOTk5OTk1LDIuNjA2MjQ5OSAtMC45OTk5OTUsNC45MDYyNDk5IGwgMCwyLjU5Mzc1IGMgMCwyLjIgMC4zMDAwMDUsMy45MDYyNSAwLjk5OTk5NSw0LjkwNjI1IDAuNywxLjEgMS44LDEuNTkzNzUgMy41LDEuNTkzNzUgMS40LDAgMi4zODc1LC0wLjMgMy4xODc1LC0xIDAuNywtMC43IDEuMDkzNzUsLTEuNjkzNzUgMS4wOTM3NSwtMy4wOTM3NSBsIDAsLTAuNSAtMi45MDYyNSwtMC4yMTg3NSBjIDAsMSAtMC4wODEyLDEuNiAtMC4yODEyNSwyIC0wLjEsMC40IC0wLjUsMC42MjUgLTEsMC42MjUgLTAuMywwIC0wLjYxMjUsLTAuMTEyNSAtMC44MTI1LC0wLjMxMjUgLTAuMiwtMC4zIC0wLjMwNjI1LC0wLjU5Mzc1IC0wLjQwNjI1LC0xLjA5Mzc1IC0wLjEsLTAuNSAtMC4wOTM3LC0xLjIxODc1IC0wLjA5MzcsLTIuMjE4NzUgbCAwLC0wLjc4MTI1IDUuNzE4NzUsLTAuMDkzNzUgMCwtMi42MjUgYyAwLC0xLjYgLTAuMTA2MjUsLTIuNzg3NSAtMC40MDYyNSwtMy42ODc1IC0wLjIsLTAuODk5OTk5OSAtMC43MTI1LC0xLjU5OTk5OTkgLTEuMzEyNSwtMS45OTk5OTk5IC0wLjcsLTAuNCAtMS40ODc1LC0wLjU5Mzc0OTkgLTIuNjg3NSwtMC41OTM3NDk5IHogbSAtNTAuNDk5OTY3LDAuMDkzNzUgYyAtMS4wOTk5OTksMCAtMi4wMTg3NDksMC4xODc0OTk5IC0yLjcxODc0OCwwLjY4NzQ5OTkgLTAuNywwLjQgLTEuMiwxLjEyNSAtMS40OTk5OTksMi4xMjQ5OTk5IC0wLjMsMSAtMC41LDIuMjc1IC0wLjUsMy44NzUgbCAwLDIuMjE4NzUgYyAwLDEuNSAwLjEwNjI1LDIuNzgxMjUgMC40MDYyNSwzLjc4MTI1IDAuMiwwLjkgMC43MDYyNDksMS42MjUgMS40MDYyNDksMi4xMjUgMC42OTk5OTksMC41IDEuNzEyNDk5LDAuNjgxMjUgMi44MTI0OTgsMC43ODEyNSAxLjE5OTk5OSwwIDIuMDgxMjQ5LC0wLjI4NzUgMi43ODEyNDksLTAuNjg3NSAwLjY5OTk5OSwtMC40IDEuMDk5OTk5LC0xLjA5Mzc1IDEuNDk5OTk5LC0yLjA5Mzc1IDAuMzk5OTk5LC0xIDAuNDk5OTk5LC0yLjMwNjI1IDAuNDk5OTk5LC0zLjkwNjI1IGwgMCwtMi4yMTg3NSBjIDAsLTEuNiAtMC4yLC0yLjg3NSAtMC40OTk5OTksLTMuODc1IC0wLjMsLTAuODk5OTk5OSAtMC44LC0xLjYyNDk5OTkgLTEuNDk5OTk5LC0yLjEyNDk5OTkgLTAuNywtMC41IC0xLjU4NzUsLTAuNjg3NDk5OSAtMi42ODc0OTksLTAuNjg3NDk5OSB6IG0gMTIuMTg3NDkzLDAuMDkzNzUgMCwxMS45MDYyNDk4IGMgLTAuMSwwLjMgLTAuMjkzNzUsMC40ODc1IC0wLjU5Mzc1LDAuNjg3NSAtMC4yLDAuMiAtMC41MTI1LDAuMzEyNSAtMC44MTI0OTksMC4zMTI1IC0wLjMsMCAtMC41ODc1LC0wLjEwNjI1IC0wLjY4NzUsLTAuNDA2MjUgLTAuMSwtMC4zIC0wLjE4NzUsLTAuNzA2MjUgLTAuMTg3NSwtMS40MDYyNSBsIDAsLTEwLjk5OTk5OTggLTMuNDA2MjQ4LDAgMCwxMS4yMTg3NDk4IGMgMCwxLjQgMC4xODc1LDIuMzkzNzUgMC42ODc1LDMuMDkzNzUgMC40OTk5OTksMC43IDEuMjE4NzQ5LDEgMi4yMTg3NDgsMSAxLjQsMCAyLjQ4NzQ5OSwtMC42OTM3NSAzLjE4NzQ5OSwtMi4wOTM3NSBsIDAuMDkzNzUsMCAwLjMxMjUsMS43ODEyNSAyLjU5Mzc0OSwwIDAsLTE0Ljk5OTk5OTggYyAwLDAgLTMuNDA2MjQ4LDAuMDA2MiAtMy40MDYyNDgsLTAuMDkzNzUgeiBtIDE3LjMxMjQ4OSwwIDAsMTEuOTA2MjQ5OCBjIC0wLjEsMC4zIC0wLjI5Mzc0OSwwLjQ4NzUgLTAuNTkzNzQ5LDAuNjg3NSAtMC4yLDAuMiAtMC41MTI1LDAuMzEyNSAtMC44MTI1LDAuMzEyNSAtMC4zLDAgLTAuNTg3NDk5LC0wLjEwNjI1IC0wLjY4NzQ5OSwtMC40MDYyNSAtMC4xLC0wLjMgLTAuMjE4NzUsLTAuNzA2MjUgLTAuMjE4NzUsLTEuNDA2MjUgbCAwLC0xMC45OTk5OTk4IC0zLjQwNjI0OCwwIDAsMTEuMjE4NzQ5OCBjIDAsMS40IDAuMjE4NzUsMi4zOTM3NSAwLjcxODc0OSwzLjA5Mzc1IDAuNSwwLjcgMS4xODc1LDEgMi4xODc0OTksMSAxLjM5OTk5OSwwIDIuNTE4NzQ5LC0wLjY5Mzc1IDMuMjE4NzQ4LC0yLjA5Mzc1IGwgMC4wOTM3NSwwIDAuMjgxMjUsMS43ODEyNSAyLjYyNDk5OCwwIDAsLTE0Ljk5OTk5OTggYyAwLDAgLTMuNDA2MjQ4LDAuMDA2MiAtMy40MDYyNDgsLTAuMDkzNzUgeiBtIDIwLjkwNjIzNSwyLjA5Mzc0OTggYyAwLjQsMCAwLjU4MTI1LDAuMTEyNSAwLjc4MTI1LDAuMzEyNSAwLjIsMC4zIDAuMzA2MjUsMC41OTM3NSAwLjQwNjI1LDEuMDkzNzUgMC4xLDAuNSAwLjA5MzcsMS4yMTg3NSAwLjA5MzcsMi4yMTg3NSBsIDAsMS4wOTM3NSAtMi41LDAgMCwtMS4wOTM3NSBjIDAsLTEgLTAuMDA2LC0xLjcxODc1IDAuMDkzNywtMi4yMTg3NSAwLC0wLjQgMC4xMTI1LC0wLjggMC4zMTI1LC0xIDAuMiwtMC4zIDAuNTEyNSwtMC40MDYyNSAwLjgxMjUsLTAuNDA2MjUgeiBtIC01MC40OTk5NjcsMC4xMjUgYyAwLjUsMCAwLjgsMC4xODc1IDEsMC42ODc1IDAuMTk5OTk5LDAuNSAwLjI4MTI0OSwxLjMwNjI1IDAuMjgxMjQ5LDIuNDA2MjUgbCAwLDQuNjg3NSBjIDAsMS4xIC0wLjA4MTI1LDEuOTA2MjUgLTAuMjgxMjQ5LDIuNDA2MjUgLTAuMiwwLjUgLTAuNSwwLjY4NzUgLTEsMC42ODc1IC0wLjUsMCAtMC43OTk5OTksLTAuMTg3NSAtMC45OTk5OTksLTAuNjg3NSAtMC4yLC0wLjUgLTAuMzEyNSwtMS4zMDYyNSAtMC4zMTI1LC0yLjQwNjI1IGwgMCwtNC42ODc1IGMgMCwtMS4xIDAuMTEyNSwtMS45MDYyNSAwLjMxMjUsLTIuNDA2MjUgMC4yLC0wLjUgMC40OTk5OTksLTAuNjg3NSAwLjk5OTk5OSwtMC42ODc1IHogbSAzOS42ODc0NzYsMC4wOTM3NSBjIDAuMywwIDAuNjEyNSwwLjEwNjI1IDAuODEyNSwwLjQwNjI1IDAuMiwwLjMgMC4yNzUsMC42NzUgMC4zNzUsMS4zNzUgMC4xLDAuNiAwLjEyNDk5OSwxLjUxODc1IDAuMTI0OTk5LDIuNzE4NzUgbCAwLjA5Mzc1LDEuOTA2MjUgYyAwLDEuMSAwLjAwNjIsMS45OTM3NSAtMC4wOTM3NSwyLjU5Mzc1IC0wLjEsMC42IC0wLjE5OTk5OSwxLjA4MTI1IC0wLjQ5OTk5OSwxLjI4MTI1IC0wLjIsMC4zIC0wLjUwNjI1LDAuNDA2MjUgLTAuOTA2MjUsMC40MDYyNSAtMC4zLDAgLTAuNTEyNDk5LC0wLjA4NzUgLTAuODEyNDk5LC0wLjE4NzUgLTAuMiwtMC4xIC0wLjM5Mzc1LC0wLjI5Mzc1IC0wLjU5Mzc1LC0wLjU5Mzc1IGwgMCwtOC41IGMgMC4xLC0wLjQgMC4yOTM3NSwtMC43IDAuNTkzNzUsLTEgMC4zLC0wLjMgMC42MDYyNDksLTAuNDA2MjUgMC45MDYyNDksLTAuNDA2MjUgeiIsCmNsYXNzOiJ5dHAtc3ZnLWZpbGwiLGZpbGw6IiNmZmYifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3lvdXR1YmVfc2hvcnRzX2JyYW5kXzI0L3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHdpZHRoOiIyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0In0sXy5LKCJwYXRoIix7ZDoibTE5LjQ1LDMuODhjMS4xMiwxLjgyLjQ4LDQuMTUtMS40Miw1LjIybC0xLjMyLjc0Ljk0LjQxYzEuMzYuNTgsMi4yNywxLjg1LDIuMzUsMy4yNy4wOCwxLjQzLS42OCwyLjc3LTEuOTcsMy40OWwtOCw0LjQ3Yy0xLjkxLDEuMDYtNC4zNS40Ni01LjQ4LTEuMzUtMS4xMi0xLjgyLS40OC00LjE1LDEuNDItNS4yMmwxLjMzLS43NC0uOTQtLjQxYy0xLjM2LS41OC0yLjI3LTEuODUtMi4zNS0zLjI3LS4wOC0xLjQzLjY4LTIuNzcsMS45Ny0zLjQ5bDgtNC40N2MxLjkxLTEuMDYsNC4zNS0uNDYsNS40OCwxLjM1WiIsCmZpbGw6IiNmMDMifSksXy5LKCJwYXRoIix7ZDoibTEwLDE1bDUtMy01LTN2NloiLGZpbGw6IiNmZmYifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3lvdXR1YmUvdjIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdmlld0JveDoiMCAwIDY3IDYwIixmaWxsOiIifSxfLksoInBhdGgiLHtkOiJNNjMgMTQuODdhNy44ODUgNy44ODUgMCAwMC01LjU2LTUuNTZDNTIuNTQgOCAzMi44OCA4IDMyLjg4IDhTMTMuMjMgOCA4LjMyIDkuMzFjLTIuNy43Mi00LjgzIDIuODUtNS41NiA1LjU2QzEuNDUgMTkuNzcgMS40NSAzMCAxLjQ1IDMwczAgMTAuMjMgMS4zMSAxNS4xM2MuNzIgMi43IDIuODUgNC44MyA1LjU2IDUuNTZDMTMuMjMgNTIgMzIuODggNTIgMzIuODggNTJzMTkuNjYgMCAyNC41Ni0xLjMxYzIuNy0uNzIgNC44My0yLjg1IDUuNTYtNS41NkM2NC4zMSA0MC4yMyA2NC4zMSAzMCA2NC4zMSAzMHMwLTEwLjIzLTEuMzEtMTUuMTN6In0pLApfLksoInBhdGgiLHtmaWxsOiIjRkZGIixjbGFzczoibG9nby1hcnJvdyIsZDoiTTI2LjYgMzkuNDNMNDIuOTMgMzAgMjYuNiAyMC41N3oifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9vdXRsaW5lL2Z1bGxzY3JlZW5fZXhpdC92MS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMCwxMEg2VjloM1Y2aDFWMTB6IE0xOCw5aC0zVjZoLTF2NGg0Vjl6IE0xNSwxNWgzdi0xaC00djRoMVYxNXogTTEwLDE0SDZ2MWgzdjNoMVYxNHoifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9vdXRsaW5lL2Z1bGxzY3JlZW4vdjEvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJlbmFibGUtYmFja2dyb3VuZCI6Im5ldyAwIDAgMjQgMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTcsMTFINlY2aDV2MUg3VjExeiBNMTgsNmgtNXYxaDR2NGgxVjZ6IE0xOCwxM2gtMXY0aC00djFoNVYxM3ogTTExLDE3SDd2LTRINnY1aDVWMTd6In0pKTtyZXR1cm4gYX07bHFhPWZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShFbmEoKSl9O21xYT1mdW5jdGlvbihhLGIpe3JldHVybiBzWSgiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvaWNvbnMvbXdlYi8iLGEsYil9OwpjcWE9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmlkZW50aWZpZXIsZD1iLklqLGU9Yi5leHRyYXMsZj1iLnRhcmdldCxoPWIuUG07Yj1iLm5BO2QmJmF3YWl0IFZZKGEse2lkZW50aWZpZXI6YyxJajpkLHRuOiExLGV4dHJhczplLFBtOmh9KTthd2FpdCBhLmlzVmlzaWJsZShjKXx8KGE9YXdhaXQgWm9hKGEsYyksXy5YTSgiZW5nYWdlbWVudC1wYW5lbC1wdXNoIix7aWRlbnRpZmllcjpjLHd6OmEsTEo6ZixuQTpifSksYyYmXy5vTSgpLmRpc3BhdGNoKF8ua0Eoe3R5cGU6Ik1BSU5fQVBQX0FERF9PUEVOX0VOR0FHRU1FTlRfUEFORUwiLHBheWxvYWQ6e3h6OmN9fSkpKX07Vlk9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmlkZW50aWZpZXIsZD1iLklqO2I9Yi5QbTtjJiYoZCYmYS5PbS5zZXQoYyxkKSxfLlhNKCJlbmdhZ2VtZW50LXBhbmVsLXVwZGF0ZSIse2lkZW50aWZpZXI6Yyx3ejpkLFBtOmJ9KSl9Owp0cWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy55KCk7bnFhKCk7Xy5KeihiLHtqYTpfLkx4LE1iOm9xYX0pO18uSnooYix7amE6Xy5sRixNYjpfLncoIkhUTUxfRElSIik9PT0icnRsIj8icnRsIjoibHRyIn0pO18uSnooYix7amE6Xy5rRixNYjooKT0+ITB9KTtfLkp6KGIse2phOl8ubU8sUGE6WVl9KTtfLkp6KGIse2phOl8uWEwsUGE6Wll9KTtfLkp6KGIse2phOl8ub08sTWI6a3FhfSk7Xy5KeihiLHtqYTpfLkxELE1iOl8udU99KTtfLkp6KGIse2phOl8uY0wsUGE6cHFhfSk7Xy5KeihiLHtqYTpfLmJJLFdjOl8ub019KTtfLkp6KGIse2phOl8ueVAsTWI6bmV3IHFxYX0pO18uSnooYix7amE6Xy52UCxNYjp7VnU6ITAsQ3g6ITB9fSk7Xy5KeihiLHtqYTpfLkpILFdjOigpPT5Qcm9taXNlLnJlc29sdmUoYSl9KTtfLkp6KGIse2phOl8uS0gsV2M6KCk9PigpPT5hfSk7Xy5KeihiLHtqYTokWSxQYTphWn0pO18uSnooYix7amE6Xy5iTCxQYTpycWF9KTtfLkp6KGIse2phOl8uT1csV2M6Xy5oeH0pOwpfLkp6KGIse2phOl8uYk0sTWI6Xy5MT30pO2lmKF8ueCgid2ViX2VuYWJsZV9yZW5kZXJlcl9sb2dnZXIiKSl7bGV0IGM9bmV3IERYO18uTk0od2luZG93LCJuYXZpZ2F0ZSIsKCk9PntjLmFib3J0KCl9KTtfLkp6KGIse2phOl8uQ0csTWI6bmV3IHNxYShjLnNpZ25hbCl9KX19O25xYT1mdW5jdGlvbigpe3ZhciBhPV8ueSgpLGI9YS5yZXNvbHZlKF8uSXkpO18uR3kubWFwcGluZ3Muc2V0KFNXLnRvU3RyaW5nKCkse3R5cGU6Im1hcHBpbmciLHZhbHVlOmJ9KTtfLkp6KGEse2phOl8uSHksTWI6bHFhfSl9O3pYPWZ1bmN0aW9uKCl7dmFyIGE9e30sYj1fLlZ3KCk7YiYmKGEuZGVzdGluYXRpb25TY3JlZW49Yi5nZXRBc0pzb24oKS52ZVR5cGV8fHZvaWQgMCk7YS5uYXZUeXBlPSJTTElfTkFWX1RZUEVfQ09MRCI7YS5hY3Rpb25UeXBlPSJMQVRFTkNZX0FDVElPTl9FTUJFRCI7cmV0dXJue25hdmlnYXRpb246YX19Owp1cWE9ZnVuY3Rpb24oYSxiPXt9KXtyZXR1cm57dHlwZToyLGNvbW1hbmQ6YSxmb3JtOmIuZm9ybX19OwpfLmJaPWZ1bmN0aW9uKGEpe18uQXEoImVwX2luaXRfaWpzIik7dHFhKGEpO3ZhciBiPWRvY3VtZW50LmJvZHk7aWYoIWIpdGhyb3cgRXJyb3IoImllIik7Yj1uZXcgdnFhKHtyb290OmIscEo6Xy55KCl9KTtiLmluc3RhbGwod3FhKTtiLnRyYW5zaXRpb24oImluaXRpYWxpemVkIik7Xy5BcSgiZXBfaW5pdF9pamUiKTtfLngoImVtYmVkc190cmFjaW5nX2tzIil8fHBwYSgpO18uWU09ITA7KF8uTWsoImllbW9iaWxlIil8fF8uTWsoIndpbmRvd3MgcGhvbmUiKSYmXy5NaygiZWRnZSIpKSYmXy5NaygiOyB2aXJ0dWFsIil8fChYb2EoYSksbm9hKCkpO3FvYShhKTtFWT1hO2pxYShhKTthPSFfLngoIm13ZWJfY29tbWFuZF9oYW5kbGVyX3NjcmVlbl9tYW5hZ2VyX2tpbGxzd2l0Y2giKTtiPVtfLlFXLF8uVXosXy5DeV07Sm9hKF8ueCgibXdlYl9jb21tYW5kX2hhbmRsZXJfZGlzYWJsZV9idWlsZF9jb21tYW5kX3BheWxvYWRfc3R1YiIpP3VxYTp2b2lkIDAsYT9fLmh4KCk6dm9pZCAwLGEsCmEsYik7Xy5KeihfLnkoKSx7amE6Xy5VRCxNYjpMWC5pbnN0YW5jZX0pO2lvYSgpO0ZwYSgpfTtXVz1bXTtEb2E9e2dIOiJTTElfU1RBVFVTX1VOS05PV04iLGVIOiJTTElfU1RBVFVTX1NVQ0NFU1MiLGNIOiJTTElfU1RBVFVTX0ZBSUxVUkUiLGZIOiJTTElfU1RBVFVTX1RJTUVPVVQiLGFIOiJTTElfU1RBVFVTX0FCT1JURUQiLGJIOiJTTElfU1RBVFVTX0NBTkNFTExFRCIsZEg6IlNMSV9TVEFUVVNfUkVKRUNURUQifTtjWj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZXZlbnRzPW5ldyBNYXB9Y2xlYXIoKXt0aGlzLmV2ZW50cy5jbGVhcigpfX07CktuYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1uZXcgeHFhO3RoaXMudj1uZXcgY1o7dGhpcy5CPW5ldyBjWjt0aGlzLm89MDt0aGlzLmZsdXNoSW50ZXJ2YWw9M0U0O3RoaXMuaj1uZXcgXy5qeSh0aGlzLmZsdXNoSW50ZXJ2YWwpO3RoaXMuai5saXN0ZW4oInRpY2siLHRoaXMuZmx1c2gsITEsdGhpcyl9Zmx1c2goKXtpZih0aGlzLm8pe3ZhciBhPXtsb2dnZWRFdmVudHM6WVcodGhpcy52KSx1bmxvZ2dlZEV2ZW50czpZVyh0aGlzLkIpfTtpZihfLngoImV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZyIpKXt2YXIgYjsoYj1fLncoIlBMQVlFUl9DTElFTlRfVkVSU0lPTiIpKT8oYj1iLnNwbGl0KCItIilbMF0ucmVwbGFjZSgvXC4vZywiIiksYj1pc05hTihOdW1iZXIoYikpPyIwIjpiKTpiPSIiO3ZhciBjPV8udygiUExBWUVSX0NMSUVOVF9WRVJTSU9OIik7aWYoYyl7Yz1jLnNwbGl0KCItIik7bGV0IGQ9IiI7Yy5sZW5ndGg+MSYmKGQ9Y1tjLmxlbmd0aC0xXSk7Yz0KSm5hKGQuc3RhcnRzV2l0aCgiY2FuYXJ5X2V4cGVyaW1lbnQiKT8iY2FuYXJ5IjpkLnN0YXJ0c1dpdGgoImNhbmFyeV9jb250cm9sIik/ImNvbnRyb2wiOiJub25lIil9ZWxzZSBjPSJDTElFTlRfQ0FOQVJZX1NUQVRFX1VOS05PV04iO2EuZGltZW5zaW9ucz17cGxheWVyQ2xpZW50VmVyc2lvbjpiLHBsYXllckNhbmFyeVN0YXRlOmN9fXRoaXMuRC5mbHVzaChhKTt0aGlzLnYuY2xlYXIoKTt0aGlzLkIuY2xlYXIoKTt0aGlzLm89MDt0aGlzLmouZW5hYmxlZCYmdGhpcy5qLnN0b3AoKX19fTt4cWE9Y2xhc3N7Zmx1c2goYSxiKXtfLngoImVuYWJsZV9jbGllbnRfc2xpX2xvZ2dpbmciKSYmXy5FcCgic2xpRXZlbnRCYXRjaCIsYSx7c2VuZElzb2xhdGVkUGF5bG9hZDohIWJ9KX19O2RaPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfX07CmVaPWNsYXNzIGV4dGVuZHMgZFp7Z2V0IGVudGl0eU1ldGFkYXRhKCl7cmV0dXJuIHRoaXMuai5lbnRpdHlNZXRhZGF0YX1zZXQgZW50aXR5TWV0YWRhdGEoYSl7dGhpcy5qLmVudGl0eU1ldGFkYXRhPWF9fTt5cWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19O3pxYT1jbGFzcyBleHRlbmRzIGRae28oKXt2YXIgYT1bXTt0aGlzLmoudmlkZW8mJmEucHVzaCh0aGlzLmoudmlkZW8pO3RoaXMuai5wbGF5bGlzdCYmYS5wdXNoKHRoaXMuai5wbGF5bGlzdCk7dGhpcy5qLnZpZGVvSXRlbSYmYS5wdXNoKHRoaXMuai52aWRlb0l0ZW0pO3RoaXMuai5wbGF5bGlzdEl0ZW0mJmEucHVzaCh0aGlzLmoucGxheWxpc3RJdGVtKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19OwpBcWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyYmYS5wdXNoKC4uLnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmYS5wdXNoKHRoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTtCcWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLnJlY29tbWVuZGVkVmlkZW9NZXRhZGF0YSYmYS5wdXNoKC4uLihuZXcgQXFhKHRoaXMuai5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfX07Q3FhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai5wbGF5YmFja1Bvc2l0aW9uJiZhLnB1c2godGhpcy5qLnBsYXliYWNrUG9zaXRpb24pO3JldHVyblsuLi4obmV3IFNldChhKSldfX07CkRxYT1jbGFzcyBleHRlbmRzIGRae28oKXt2YXIgYT1bXTt0aGlzLmouY3JlYXRvckVudGl0eSYmYS5wdXNoKHRoaXMuai5jcmVhdG9yRW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19O2ZaPSExOwpFcWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5jb3VudGVyPVswLDAsMCwwXTt0aGlzLm89bmV3IFVpbnQ4QXJyYXkoMTYpO3RoaXMuaj0xNjtpZighZlope3ZhciBiLGM9bmV3IFVpbnQ4QXJyYXkoMjU2KSxkPW5ldyBVaW50OEFycmF5KDI1Nik7dmFyIGU9MTtmb3IoYj0wO2I8MjU2O2IrKyljW2VdPWIsZFtiXT1lLGVePWU8PDFeKGU+PjcmJjI4Myk7Z1g9bmV3IFVpbnQ4QXJyYXkoMjU2KTtjWD1iWCgyNTYpO2RYPWJYKDI1Nik7ZVg9YlgoMjU2KTtmWD1iWCgyNTYpO2ZvcihsZXQgaD0wO2g8MjU2O2grKyl7ZT1oP2RbMjU1XmNbaF1dOjA7ZV49ZTw8MV5lPDwyXmU8PDNeZTw8NDtlPWUmMjU1XmU+Pj44Xjk5O2dYW2hdPWU7Yj1lPDwxXihlPj43JiYyODMpO3ZhciBmPWJeZTtjWFtoXT1iPDwyNHxlPDwxNnxlPDw4fGY7ZFhbaF09Zjw8MjR8Y1hbaF0+Pj44O2VYW2hdPWU8PDI0fGRYW2hdPj4+ODtmWFtoXT1lPDwyNHxlWFtoXT4+Pjh9Zlo9CiEwfWU9YlgoNDQpO2ZvcihjPTA7Yzw0O2MrKyllW2NdPWFbNCpjXTw8MjR8YVs0KmMrMV08PDE2fGFbNCpjKzJdPDw4fGFbNCpjKzNdO2ZvcihkPTE7Yzw0NDtjKyspYT1lW2MtMV0sYyU0fHwoYT0oZ1hbYT4+MTYmMjU1XV5kKTw8MjR8Z1hbYT4+OCYyNTVdPDwxNnxnWFthJjI1NV08PDh8Z1hbYT4+PjI0XSxkPWQ8PDFeKGQ+PjcmJjI4MykpLGVbY109ZVtjLTRdXmE7dGhpcy5rZXk9ZX1lbmNyeXB0KGEpe3ZhciBiPWEubGVuZ3RoO2E9bmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIuc2xpY2UoYS5ieXRlT2Zmc2V0LGEuYnl0ZU9mZnNldCtiKSk7Zm9yKHZhciBjPXRoaXMubyxkPTA7ZDxiJiZ0aGlzLmo8MTY7KWFbZCsrXV49Y1t0aGlzLmorK107Zm9yKHZhciBlPWItKGItZCklMTY7ZDxlOyloWCh0aGlzKSxhW2QrK11ePWNbMF0sYVtkKytdXj1jWzFdLGFbZCsrXV49Y1syXSxhW2QrK11ePWNbM10sYVtkKytdXj1jWzRdLGFbZCsrXV49Y1s1XSxhW2QrK11ePWNbNl0sYVtkKytdXj1jWzddLAphW2QrK11ePWNbOF0sYVtkKytdXj1jWzldLGFbZCsrXV49Y1sxMF0sYVtkKytdXj1jWzExXSxhW2QrK11ePWNbMTJdLGFbZCsrXV49Y1sxM10sYVtkKytdXj1jWzE0XSxhW2QrK11ePWNbMTVdO2lmKGQ8Yilmb3IoaFgodGhpcyksdGhpcy5qPTA7ZDxiOylhW2QrK11ePWNbdGhpcy5qKytdO3JldHVybiBhfX07Z1o9ITE7RnFhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy52PWE7dGhpcy5vPWJ9YXN5bmMgZW5jcnlwdChhLGIpe3RyeXtyZXR1cm4gYXdhaXQgTm5hKHRoaXMsYSxiKX1jYXRjaChjKXt0aHJvdyBfLklwKGMpLGdaPSEwLGM7fX19OwppWj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YX1lbmNyeXB0KGEsYil7dGhpcy5qfHwodGhpcy5qPW5ldyBFcWEodGhpcy5vKSk7dmFyIGM9dGhpcy5qO2ZvcihsZXQgZD0wO2Q8NDtkKyspYy5jb3VudGVyW2RdPWJbZCo0XTw8MjR8YltkKjQrMV08PDE2fGJbZCo0KzJdPDw4fGJbZCo0KzNdO2Muaj0xNjtyZXR1cm4gdGhpcy5qLmVuY3J5cHQoYSl9ZGVjcnlwdChhLGIpe3JldHVybiB0aGlzLmVuY3J5cHQoYSxiKX19OwpHcWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7YTp7aWYoIWdaJiYhXy5KbCl7aWYoaFope3ZhciBiPWhaO2JyZWFrIGF9aFo9d2luZG93LmNyeXB0bz8uc3VidGxlO2lmKGhaPy5pbXBvcnRLZXkmJmhaPy5zaWduJiZoWj8uZW5jcnlwdCl7Yj1oWjticmVhayBhfWhaPXZvaWQgMH1iPXZvaWQgMH1iJiYodGhpcy5qPW5ldyBGcWEoYSxiKSk7dGhpcy5vPW5ldyBpWihhKX1hc3luYyBlbmNyeXB0KGEsYil7aWYodGhpcy5qKXRyeXtyZXR1cm4gYXdhaXQgdGhpcy5qLmVuY3J5cHQoYSxiKX1jYXRjaChjKXtfLklwKGMpLGdaPSEwLHRoaXMuaj12b2lkIDB9cmV0dXJuIHRoaXMuby5lbmNyeXB0KGEsYil9ZGVjcnlwdChhLGIpe3JldHVybiB0aGlzLmVuY3J5cHQoYSxiKX19OwpIcWE9e0lOVkFMSURfRU5DT0RFUl9WRVJTSU9OOiJJbnZhbGlkIGVuY29kZXIgdmVyc2lvbiIsS0VZX0NSRUFUSU9OX0ZBSUxFRDoiRmFpbGVkIHRvIGNyZWF0ZSBlbmNvZGVyIGtleSIsVU5LTk9XTl9ERUNPREVfRVJST1I6IkZhaWxlZCB0byBkZWNvZGUgUEVTIGRhdGEiLFVOS05PV05fRU5DT0RFX0VSUk9SOiJGYWlsZWQgdG8gZW5jb2RlIFBFUyBkYXRhIixXUk9OR19EQVRBX1RZUEU6IkVuY29kZXIgY2Fubm90IHByb2Nlc3MgdGhlIGRhdGEgdHlwZSJ9O2lYPWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLGI9e30pe3N1cGVyKEhxYVthXSx7bmFtZToiUEVTRW5jb2RlckVycm9yIix0eXBlOmEsLi4uYn0pO3RoaXMudHlwZT1hO3RoaXMubGV2ZWw9IldBUk5JTkciO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLGlYLnByb3RvdHlwZSl9fTsKalo9Y2xhc3N7ZW5jb2RlKGEsYil7dHJ5e3JldHVybiB0aGlzLnYoYSxiKX1jYXRjaChjKXtqWChjLE9uYSl9fWRlY29kZShhLGIpe3RyeXtyZXR1cm4gdGhpcy5vKGEsYil9Y2F0Y2goYyl7algoYyxQbmEpfX19O0lxYT1jbGFzcyBleHRlbmRzIGpae2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9dihhLGIpe2I9a1goYik7YT0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoYSkpO3JldHVybiB0aGlzLmouZW5jcnlwdChhLGIpfW8oYSxiKXtpZighKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgaVgoIldST05HX0RBVEFfVFlQRSIse0lwOjF9KTt2YXIgYz1uZXcgVGV4dERlY29kZXI7Yj1rWChiKTthPXRoaXMuai5kZWNyeXB0KGEsYik7cmV0dXJuIEpTT04ucGFyc2UoYy5kZWNvZGUoYSkpfX07ClFuYT17YW5pbWF0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImFuaW1hdGlvbkVudGl0eSJ9fSxhY2NvdW50TGlua1N0YXR1c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhY2NvdW50TGlua1N0YXR1c0VudGl0eSJ9fSxhc2tTdHVkaW9HZW5lcmF0ZWREYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImFza1N0dWRpb0dlbmVyYXRlZERhdGFFbnRpdHkifX0sYm9vbGVhbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJib29sZWFuRW50aXR5In19LGJ1dHRvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJidXR0b25FbnRpdHkifX0sY2FwdGlvblRyYWNrOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNhcHRpb25UcmFjayJ9fSwKY2hhbm5lbEhhbmRsZTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjaGFubmVsSGFuZGxlIn19LGNoYXRMb2FkaW5nU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY2hhdExvYWRpbmdTdGF0ZUVudGl0eSJ9fSxhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHkifX0sY2hpcEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjaGlwRW50aXR5In19LGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5In19LApjb21tZXJjZUNhcnRMaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbW1lcmNlQ2FydExpc3RFbnRpdHkifX0sY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHkifX0sY29tcG9zaXRlU291cmNlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbXBvc2l0ZVNvdXJjZUVudGl0eSJ9fSxtdWx0aXZpZXdTdGFnaW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5jb21wb3NpdGVTb3VyY2VLZXlzJiZhLnB1c2goLi4udGhpcy5qLmNvbXBvc2l0ZVNvdXJjZUtleXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11bHRpdmlld1N0YWdpbmdFbnRpdHkifX0sY29udGV4dE5vdGVGZWVkRW50aXR5UGF5bG9hZDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkIn19LApjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbnRleHROb3RlVXNlclJhdGluZ0VudGl0eVBheWxvYWQifX0sY29udGludWF0aW9uVG9rZW5FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY29udGludWF0aW9uVG9rZW5FbnRpdHkifX0sZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2FkUXVhbGl0eVBpY2tlckVudGl0eSJ9fSxkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2Fkc1BhZ2VSZWZyZXNoVG9rZW5FbnRpdHkifX0sZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eSJ9fSwKZG93bmxvYWRTdGF0dXNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZG93bmxvYWRTdGF0dXNFbnRpdHkifX0sZGlzbWlzc1N0YXRlOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRpc21pc3NTdGF0ZSJ9fSxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNmdkF1ZGlvSXRlbUN1cnJlbnRseVBsYXlpbmdFbnRpdHkifX0sZW1vamlGb3VudGFpbkRhdGFFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZW1vamlGb3VudGFpbkRhdGFFbnRpdHkifX0sZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImVtb2ppQ3VzdG9taXphdGlvblNldEVudGl0eSJ9fSwKZmFrZUNoYW5uZWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmFsdGVybmF0ZUNoYW5uZWwmJmEucHVzaCh0aGlzLmouYWx0ZXJuYXRlQ2hhbm5lbCk7dGhpcy5qLmFsdGVybmF0ZUNoYW5uZWxMaXN0JiZhLnB1c2goLi4udGhpcy5qLmFsdGVybmF0ZUNoYW5uZWxMaXN0KTt0aGlzLmoub25lb2ZDaGFubmVsRW50aXR5JiZhLnB1c2godGhpcy5qLm9uZW9mQ2hhbm5lbEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZUNoYW5uZWwifX0sZmFrZVBsYXlsaXN0OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5lbnRyeUNvbGxlY3Rpb24mJmEucHVzaCh0aGlzLmouZW50cnlDb2xsZWN0aW9uKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJmYWtlUGxheWxpc3QifX0sZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPQpbXTt0aGlzLmoucGFyZW50UGxheWxpc3QmJmEucHVzaCh0aGlzLmoucGFyZW50UGxheWxpc3QpO2lmKHRoaXMuai5lbnRyaWVzKWZvcihsZXQgYiBvZiB0aGlzLmouZW50cmllcylhLnB1c2goLi4uKG5ldyB5cWEoYikpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uIn19LGZha2VWaWRlbzpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouZGVzY3JpcHRpb25FbnRpdHkmJmEucHVzaCh0aGlzLmouZGVzY3JpcHRpb25FbnRpdHkpO3RoaXMuai5jcmVhdG9ycyYmYS5wdXNoKC4uLnRoaXMuai5jcmVhdG9ycyk7dGhpcy5qLnRoZUJpZ2dlc3RGYW4mJmEucHVzaCh0aGlzLmoudGhlQmlnZ2VzdEZhbik7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZVZpZGVvIn19LGZha2VWaWRlb0Rlc2NyaXB0aW9uOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VWaWRlb0Rlc2NyaXB0aW9uIn19LApmZWF0dXJlZFByb2R1Y3RzRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImZlYXR1cmVkUHJvZHVjdHNFbnRpdHkifX0sc2F2ZWRQcm9kdWN0c1N0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eSJ9fSxmbG93U3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmxvd1N0YXRlRW50aXR5In19LGljb25CYWRnZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJpY29uQmFkZ2VFbnRpdHkifX0saW50ZXJzdGl0aWFsSW50ZXJhY3Rpb25TdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJpbnRlcnN0aXRpYWxJbnRlcmFjdGlvblN0YXRlRW50aXR5In19LGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGlrZUJ1dHRvbkFuaW1hdGlvbkVudGl0eSJ9fSwKbGl2ZUNoYXRQb2xsU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGl2ZUNoYXRQb2xsU3RhdGVFbnRpdHkifX0sZGF0YUZyZXNobmVzc0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkYXRhRnJlc2huZXNzRW50aXR5In19LGxpdmVWaWV3ZXJMZWFkZXJib2FyZENoYXRFbnRyeVBvaW50U3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eSJ9fSxsaXZlVmlld2VyTGVhZGVyYm9hcmRQb2ludHNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5In19LGxpdmVSZWFjdGlvbnNEYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVSZWFjdGlvbnNEYXRhRW50aXR5In19LApsb2dvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxvZ29FbnRpdHkifX0sbWFjcm9NYXJrZXJFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFjcm9NYXJrZXJFbnRpdHkifX0sbWFpbkRvd25sb2Fkc0xpYnJhcnlFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmRvd25sb2Fkc0xpc3QmJmEucHVzaCh0aGlzLmouZG93bmxvYWRzTGlzdCk7dGhpcy5qLnNtYXJ0RG93bmxvYWRzTGlzdCYmYS5wdXNoKHRoaXMuai5zbWFydERvd25sb2Fkc0xpc3QpO3RoaXMuai5yZWNvbW1lbmRlZERvd25sb2Fkc0xpc3QmJmEucHVzaCh0aGlzLmoucmVjb21tZW5kZWREb3dubG9hZHNMaXN0KTt0aGlzLmoucmVmcmVzaCYmYS5wdXNoKHRoaXMuai5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYWluRG93bmxvYWRzTGlicmFyeUVudGl0eSJ9fSwKbWFpbkRvd25sb2Fkc0xpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7aWYodGhpcy5qLmRvd25sb2Fkcylmb3IobGV0IGIgb2YgdGhpcy5qLmRvd25sb2FkcylhLnB1c2goLi4uKG5ldyB6cWEoYikpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkifX0sbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzJiZhLnB1c2goLi4udGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eSJ9fSxtYWluUGxheWxpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmNoYW5uZWxPd25lciYmCmEucHVzaCh0aGlzLmouY2hhbm5lbE93bmVyKTt0aGlzLmoudmlkZW9zJiZhLnB1c2goLi4udGhpcy5qLnZpZGVvcyk7dGhpcy5qLmNvbGxhYm9yYXRvckNoYW5uZWxzJiZhLnB1c2goLi4udGhpcy5qLmNvbGxhYm9yYXRvckNoYW5uZWxzKTt0aGlzLmouZG93bmxvYWRTdGF0ZSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZFN0YXRlKTt0aGlzLmoucmVmcmVzaCYmYS5wdXNoKHRoaXMuai5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYWluUGxheWxpc3RFbnRpdHkifX0sbWFpblBsYXlsaXN0VmlkZW9FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTt0aGlzLmouY2hhbm5lbENvbnRyaWJ1dG9yJiZhLnB1c2godGhpcy5qLmNoYW5uZWxDb250cmlidXRvcik7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblBsYXlsaXN0VmlkZW9FbnRpdHkifX0sCm1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBsYXliYWNrRGF0YSYmYS5wdXNoKHRoaXMuai5wbGF5YmFja0RhdGEpO3RoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkmJmEucHVzaCh0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHkifX0sbWFpblZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5vd25lciYmYS5wdXNoKHRoaXMuai5vd25lcik7dGhpcy5qLmRvd25sb2FkU3RhdGUmJmEucHVzaCh0aGlzLmouZG93bmxvYWRTdGF0ZSk7dGhpcy5qLnVzZXJTdGF0ZSYmYS5wdXNoKC4uLihuZXcgQ3FhKHRoaXMuai51c2VyU3RhdGUpKS5vKCkpOwp0aGlzLmouYWRkaXRpb25hbE1ldGFkYXRhJiZhLnB1c2goLi4uKG5ldyBCcWEodGhpcy5qLmFkZGl0aW9uYWxNZXRhZGF0YSkpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblZpZGVvRW50aXR5In19LG1hcmtlcnNFbmdhZ2VtZW50UGFuZWxTeW5jRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1hcmtlcnNFbmdhZ2VtZW50UGFuZWxTeW5jRW50aXR5In19LG1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eSJ9fSxtdXNpY0FsYnVtUmVsZWFzZURldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouYWxidW1SZWxlYXNlJiZhLnB1c2godGhpcy5qLmFsYnVtUmVsZWFzZSk7dGhpcy5qLnRyYWNrcyYmYS5wdXNoKC4uLnRoaXMuai50cmFja3MpOwpyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FsYnVtUmVsZWFzZURldGFpbCJ9fSxtdXNpY0FsYnVtUmVsZWFzZURvd25sb2FkTWV0YWRhdGFFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMmJmEucHVzaCguLi50aGlzLmoudHJhY2tEb3dubG9hZE1ldGFkYXRhcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBbGJ1bVJlbGVhc2VEb3dubG9hZE1ldGFkYXRhRW50aXR5In19LG11c2ljQWxidW1SZWxlYXNlOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJmEucHVzaCh0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLmoucHJpbWFyeUFydGlzdHMmJmEucHVzaCguLi50aGlzLmoucHJpbWFyeUFydGlzdHMpO3RoaXMuai5kZXRhaWxzJiZhLnB1c2godGhpcy5qLmRldGFpbHMpOwp0aGlzLmoudXNlckRldGFpbHMmJmEucHVzaCh0aGlzLmoudXNlckRldGFpbHMpO3RoaXMuai50cmFja3MmJmEucHVzaCguLi50aGlzLmoudHJhY2tzKTt0aGlzLmouc2hhcmUmJmEucHVzaCh0aGlzLmouc2hhcmUpO3RoaXMuai5kb3dubG9hZE1ldGFkYXRhJiZhLnB1c2godGhpcy5qLmRvd25sb2FkTWV0YWRhdGEpO3RoaXMuai5yZWZyZXNoJiZhLnB1c2godGhpcy5qLnJlZnJlc2gpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQWxidW1SZWxlYXNlIn19LG11c2ljQWxidW1SZWxlYXNlVXNlckRldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouYWxidW1SZWxlYXNlJiZhLnB1c2godGhpcy5qLmFsYnVtUmVsZWFzZSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBbGJ1bVJlbGVhc2VVc2VyRGV0YWlsIn19LG11c2ljQXJ0aXN0RGV0YWlsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPQpbXTt0aGlzLmoucGFyZW50QXJ0aXN0JiZhLnB1c2godGhpcy5qLnBhcmVudEFydGlzdCk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBcnRpc3REZXRhaWwifX0sbXVzaWNBcnRpc3Q6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmRldGFpbHMmJmEucHVzaCh0aGlzLmouZGV0YWlscyk7dGhpcy5qLnVzZXJEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJEZXRhaWxzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FydGlzdCJ9fSxtdXNpY0FydGlzdFVzZXJEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBhcmVudEFydGlzdCYmYS5wdXNoKHRoaXMuai5wYXJlbnRBcnRpc3QpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQXJ0aXN0VXNlckRldGFpbCJ9fSxtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9CltdO3RoaXMuai5kb3dubG9hZGVkVHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLmRvd25sb2FkZWRUcmFja3MpO3RoaXMuai5zbWFydERvd25sb2FkZWRUcmFja3MmJmEucHVzaCguLi50aGlzLmouc21hcnREb3dubG9hZGVkVHJhY2tzKTt0aGlzLmouZG93bmxvYWRlZEVwaXNvZGVzJiZhLnB1c2goLi4udGhpcy5qLmRvd25sb2FkZWRFcGlzb2Rlcyk7dGhpcy5qLmRvd25sb2FkZWRBbGJ1bVJlbGVhc2VzJiZhLnB1c2goLi4udGhpcy5qLmRvd25sb2FkZWRBbGJ1bVJlbGVhc2VzKTt0aGlzLmouc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmYS5wdXNoKC4uLnRoaXMuai5zbWFydERvd25sb2FkZWRBbGJ1bVJlbGVhc2VzKTt0aGlzLmouZG93bmxvYWRlZFBsYXlsaXN0cyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkUGxheWxpc3RzKTt0aGlzLmouc21hcnREb3dubG9hZGVkUGxheWxpc3RzJiZhLnB1c2goLi4udGhpcy5qLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5qLm1ldGFkYXRhT25seVRyYWNrcyYmCmEucHVzaCguLi50aGlzLmoubWV0YWRhdGFPbmx5VHJhY2tzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHkifX0sbXVzaWNMaWJyYXJ5RWRpdDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0xpYnJhcnlFZGl0In19LG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkifX0sbXVzaWNQbGF5bGlzdDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoudHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrcyk7dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7dGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmYS5wdXNoKHRoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpOwp0aGlzLmouZGV0YWlscyYmYS5wdXNoKHRoaXMuai5kZXRhaWxzKTt0aGlzLmouZG93bmxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLmouc2lkZWxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5zaWRlbG9hZE1ldGFkYXRhKTt0aGlzLmoudXNlckRldGFpbHMmJmEucHVzaCh0aGlzLmoudXNlckRldGFpbHMpO3RoaXMuai5lbnRyeUNvbGxlY3Rpb24mJmEucHVzaCh0aGlzLmouZW50cnlDb2xsZWN0aW9uKTt0aGlzLmouc2hhcmUmJmEucHVzaCh0aGlzLmouc2hhcmUpO3RoaXMuai5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSYmYS5wdXNoKC4uLihuZXcgRHFhKHRoaXMuai5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSkpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNQbGF5bGlzdCJ9fSxtdXNpY1BsYXlsaXN0RG93bmxvYWRNZXRhZGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMmJmEucHVzaCguLi50aGlzLmoudHJhY2tEb3dubG9hZE1ldGFkYXRhcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHkifX0sbXVzaWNTaGFyZTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY1NoYXJlIn19LG11c2ljVHJhY2tEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBhcmVudFRyYWNrJiZhLnB1c2godGhpcy5qLnBhcmVudFRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY1RyYWNrRGV0YWlsIn19LG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wbGF5YmFja0RhdGEmJmEucHVzaCh0aGlzLmoucGxheWJhY2tEYXRhKTsKdGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyYmYS5wdXNoKC4uLnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmYS5wdXNoKHRoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFja0Rvd25sb2FkTWV0YWRhdGFFbnRpdHkifX0sbXVzaWNUcmFjazpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5JiZhLnB1c2godGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSk7dGhpcy5qLmFydGlzdHMmJmEucHVzaCguLi50aGlzLmouYXJ0aXN0cyk7dGhpcy5qLmF1ZGlvTW9kZVZlcnNpb24mJmEucHVzaCh0aGlzLmouYXVkaW9Nb2RlVmVyc2lvbik7dGhpcy5qLnZpZGVvTW9kZVZlcnNpb24mJmEucHVzaCh0aGlzLmoudmlkZW9Nb2RlVmVyc2lvbik7dGhpcy5qLnVzZXJEZXRhaWxzJiYKYS5wdXNoKHRoaXMuai51c2VyRGV0YWlscyk7dGhpcy5qLmRldGFpbHMmJmEucHVzaCh0aGlzLmouZGV0YWlscyk7dGhpcy5qLmFsYnVtUmVsZWFzZSYmYS5wdXNoKHRoaXMuai5hbGJ1bVJlbGVhc2UpO3RoaXMuai5zaGFyZSYmYS5wdXNoKHRoaXMuai5zaGFyZSk7dGhpcy5qLmxpYnJhcnlFZGl0JiZhLnB1c2godGhpcy5qLmxpYnJhcnlFZGl0KTt0aGlzLmouZG93bmxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLmoucGxheWJhY2tQb3NpdGlvbiYmYS5wdXNoKHRoaXMuai5wbGF5YmFja1Bvc2l0aW9uKTt0aGlzLmoubHlyaWNzJiZhLnB1c2godGhpcy5qLmx5cmljcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFjayJ9fSxtdXNpY1RyYWNrVXNlckRldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoucGFyZW50VHJhY2smJmEucHVzaCh0aGlzLmoucGFyZW50VHJhY2spOwpyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY1RyYWNrVXNlckRldGFpbCJ9fSxvZmZsaW5lT3JjaGVzdHJhdGlvbkFjdGlvbldyYXBwZXJFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ib2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5In19LG9mZmxpbmVWaWRlb1BvbGljeTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvZmZsaW5lVmlkZW9Qb2xpY3kifX0sb2ZmbGluZVZpZGVvU3RyZWFtczpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvZmZsaW5lVmlkZW9TdHJlYW1zIn19LG9mZmxpbmVhYmlsaXR5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm9mZmxpbmVhYmlsaXR5RW50aXR5In19LG9yY2hlc3RyYXRpb25XZWJTYW1wbGluZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLmZha2VDaGlsZHJlbiYmYS5wdXNoKC4uLnRoaXMuai5mYWtlQ2hpbGRyZW4pO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm9yY2hlc3RyYXRpb25XZWJTYW1wbGluZ0VudGl0eSJ9fSxwYWdlSGVhZGVyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBhZ2VIZWFkZXJFbnRpdHkifX0scGFydHlHYW1lUGFuZWxFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGFydHlHYW1lUGFuZWxFbnRpdHkifX0sc2xpZGVyR2FtZVBhbmVsRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNsaWRlckdhbWVQYW5lbEVudGl0eSJ9fSxwZHBTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwZHBTdGF0ZUVudGl0eSJ9fSxwaW5uZWRQcm9kdWN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBpbm5lZFByb2R1Y3RFbnRpdHkifX0sCnBsYXliYWNrRGF0YTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoudHJhbnNmZXImJmEucHVzaCh0aGlzLmoudHJhbnNmZXIpO3RoaXMuai5hZHNQbGF5YmFja0RhdGEmJmEucHVzaCguLi50aGlzLmouYWRzUGxheWJhY2tEYXRhKTt0aGlzLmouZHJtTGljZW5zZSYmYS5wdXNoKHRoaXMuai5kcm1MaWNlbnNlKTt0aGlzLmoub2ZmbGluZVZpZGVvUG9saWN5JiZhLnB1c2godGhpcy5qLm9mZmxpbmVWaWRlb1BvbGljeSk7dGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZhLnB1c2godGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwbGF5YmFja0RhdGEifX0scGxheWVyU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGxheWVyU3RhdGVFbnRpdHkifX0scGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwbGF5bGlzdFRodW1ibmFpbEVkaXRzRW50aXR5In19LApxdWFudGl0eUluY3JlbWVudGVyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInF1YW50aXR5SW5jcmVtZW50ZXJFbnRpdHkifX0scmVmcmVzaDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJyZWZyZXNoIn19LHNhdmVUb1BsYXlsaXN0TGlzdEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzYXZlVG9QbGF5bGlzdExpc3RFbnRpdHkifX0sc2VsZWN0ZWRDaGlwSW5kZXhFbnRpdHlQYXlsb2FkOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNlbGVjdGVkQ2hpcEluZGV4RW50aXR5UGF5bG9hZCJ9fSxzZWxlY3Rpb25WYWx1ZUxpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5In19LHNldHRpbmdFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic2V0dGluZ0VudGl0eSJ9fSwKc3RyaW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInN0cmluZ0VudGl0eSJ9fSxzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eSJ9fSx0cmFuc2ZlcjpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoub2ZmbGluZVZpZGVvU3RyZWFtcyYmYS5wdXNoKC4uLnRoaXMuai5vZmZsaW5lVmlkZW9TdHJlYW1zKTt0aGlzLmouY2FwdGlvblRyYWNrJiZhLnB1c2goLi4udGhpcy5qLmNhcHRpb25UcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4idHJhbnNmZXIifX0sdHJlbmRpbmdPZmZlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ0cmVuZGluZ09mZmVyRW50aXR5In19LAp1bnBsdWdnZWRTaWRlc2hlZXRIZWFkZXJTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ1bnBsdWdnZWRTaWRlc2hlZXRIZWFkZXJTdGF0ZUVudGl0eSJ9fSx2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSJ9fSx2aWRlb092ZXJ2aWV3QXN5bmNEYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHkifX0sdmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eSJ9fSx2b3RpbmdFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idm90aW5nRW50aXR5In19LAp5dE1haW5DaGFubmVsRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai51c2VyQ2hhbm5lbERldGFpbHMmJmEucHVzaCh0aGlzLmoudXNlckNoYW5uZWxEZXRhaWxzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ5dE1haW5DaGFubmVsRW50aXR5In19LHlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ieW91Y2hhdFBlbmRpbmdSZXNwb25zZUVudGl0eSJ9fSx5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTt0aGlzLmoucGxheWJhY2tEYXRhJiZhLnB1c2godGhpcy5qLnBsYXliYWNrRGF0YSk7dGhpcy5qLm9mZmxpbmVWaWRlb1BvbGljeSYmYS5wdXNoKHRoaXMuai5vZmZsaW5lVmlkZW9Qb2xpY3kpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuInl0TWFpbkRvd25sb2FkZWRWaWRlb0VudGl0eSJ9fSwKeXRNYWluVmlkZW9FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmNoYW5uZWxPd25lciYmYS5wdXNoKHRoaXMuai5jaGFubmVsT3duZXIpO3RoaXMuai5wbGF5YmFja1Bvc2l0aW9uJiZhLnB1c2godGhpcy5qLnBsYXliYWNrUG9zaXRpb24pO3RoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmouZG93bmxvYWRTdGF0dXMmJmEucHVzaCh0aGlzLmouZG93bmxvYWRTdGF0dXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuInl0TWFpblZpZGVvRW50aXR5In19fTtYbmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmo9YTt0aGlzLm89Yjt0aGlzLnY9e319fTsKSnFhPWNsYXNzIGV4dGVuZHMgalp7dihhKXtyZXR1cm4gYX1vKGEpe2lmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXRocm93IG5ldyBpWCgiV1JPTkdfREFUQV9UWVBFIix7SXA6MH0pO3JldHVybiBhfX07Wm5hPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPXt9O3RoaXMualswXT1uZXcgSnFhO2lmKCFfLngoImFlc19wZXNfZW5jb2Rlcl9raWxsc3dpdGNoIikpe3ZhciBhPXRoaXMuajt0cnl7bGV0IGQ9Xy5WaigpO3ZhciBiPWtYKGQpO3ZhciBjPW5ldyBJcWEobmV3IGlaKGIpLG5ldyBHcWEoYikpfWNhdGNoKGQpe3Rocm93IGE9ZCBpbnN0YW5jZW9mIEVycm9yP25ldyBpWCgiS0VZX0NSRUFUSU9OX0ZBSUxFRCIse29yaWdpbmFsTWVzc2FnZTpkLm1lc3NhZ2V9KTpuZXcgaVgoIktFWV9DUkVBVElPTl9GQUlMRUQiKSxfLkdwKGEpLGE7fWFbMV09Y319fTsKJG5hPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy50b2tlbj1hO3RoaXMuaj1iO3RoaXMub2JzZXJ2ZXJzPVtdO2E9bmV3IF8udS5Ccm9hZGNhc3RDaGFubmVsKGBQRVJTSVNURU5UX0VOVElUWV9TVE9SRV9TWU5DOiR7Xy5WaigpfWApO2Eub25tZXNzYWdlPXRoaXMuby5iaW5kKHRoaXMpO3RoaXMuY2hhbm5lbD1hfW9ic2VydmUoYSl7dGhpcy5vYnNlcnZlcnMucHVzaChhKTtyZXR1cm4oKT0+e3ZhciBiPXRoaXMub2JzZXJ2ZXJzLmluZGV4T2YoYSk7Yj49MCYmdGhpcy5vYnNlcnZlcnMuc3BsaWNlKGIsMSl9fW8oYSl7cVgodGhpcyxhLmRhdGEpfWxhKCl7dGhpcy5jaGFubmVsLmNsb3NlKCl9fTsKTHFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dmFyIGE9S3FhO3RoaXMub2JzZXJ2ZXJzPVtdO3RoaXMudmFsdWU9YX1zdWJzY3JpYmUoYSl7aWYoYS5laiE9bnVsbCl0aHJvdyBFcnJvcigiRmMiKTthLmVqPXRoaXMub2JzZXJ2ZXJzLmxlbmd0aDt0aGlzLm9ic2VydmVycy5wdXNoKGEpO3RyeXthKHRoaXMudmFsdWUpfWNhdGNoKGIpe31yZXR1cm4oKT0+e3ZhciBiPXRoaXMub2JzZXJ2ZXJzW3RoaXMub2JzZXJ2ZXJzLmxlbmd0aC0xXTt0aGlzLm9ic2VydmVyc1thLmVqXT1iO2IuZWo9YS5lajt0aGlzLm9ic2VydmVycy5wb3AoKX19dXBkYXRlKGEpe3RoaXMudmFsdWU9YSh0aGlzLnZhbHVlKTt0aGlzLm5vdGlmeSgpfXNldChhKXt0aGlzLnZhbHVlPWE7dGhpcy5ub3RpZnkoKX1ub3RpZnkoKXtmb3IobGV0IGEgb2YgdGhpcy5vYnNlcnZlcnMpdHJ5e2EodGhpcy52YWx1ZSl9Y2F0Y2goYil7fX19Owpqb2E9e2xhbmRzY2FwZToiKG1heC13aWR0aDogMjk5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLHBvcnRyYWl0OiIobWF4LXdpZHRoOiAyOTlweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIn07WFk9e307a1o9Y2xhc3N7Y29uc3RydWN0b3IoKXtpZih0aGlzLmNvbnN0cnVjdG9yPT09a1opdGhyb3cgbmV3IFR5cGVFcnJvcigic2QiKTt9ZGlzcG9zZSgpe31kaXNjb25uZWN0KCl7fW9ic2VydmUoYSxiLGMpe3JldHVybntlbGVtZW50OmEsb3B0aW9uOmN9fXJmKCl7fX07Ck1xYT1jbGFzcyBleHRlbmRzIGtae2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLmlzQ29ubmVjdGVkPSEwO3RoaXMudj0hMTt0aGlzLm9ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcih0aGlzLkIuYmluZCh0aGlzKSx7cm9vdE1hcmdpbjoiLTAuMXB4In0pO3RoaXMubz1uZXcgTWFwO3RoaXMuaj1uZXcgTWFwfWRpc3Bvc2UoKXt0aGlzLmRpc2Nvbm5lY3QoKTt0aGlzLmouY2xlYXIoKX1kaXNjb25uZWN0KGE9ITEpe3RoaXMuaXNDb25uZWN0ZWQ9ITE7dGhpcy52PWE7dGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7Zm9yKGxldCBiIG9mIHRoaXMuby52YWx1ZXMoKSliLmRpc2Nvbm5lY3QoKX1CKGEpe2ZvcihsZXQgYyBvZiBhKXt2YXIgYj10aGlzLmouZ2V0KGMudGFyZ2V0KTtpZighYiljb250aW51ZTthPWMuaXNJbnRlcnNlY3Rpbmc7Zm9yKGxldCBbZCxlXW9mIGIpe2I9ZDtsZXQgZj1lO2ImJihiLnN0YXRlPT09InZpc2libGUiJiZhfHxiLnN0YXRlPT09ImhpZGRlbiImJgohYSkmJihmKGMudGFyZ2V0LGIuc3RhdGUpLGIuVmImJnRoaXMucmYoe2VsZW1lbnQ6Yy50YXJnZXQsb3B0aW9uOmJ9KSl9fX1EKGEpe2ZvcihsZXQgYiBvZiBhKWlmKChhPXRoaXMuai5nZXQoYi50YXJnZXQpKSYmYi5pc0ludGVyc2VjdGluZylmb3IobGV0IFtjLGRdb2YgYSl7YT1jO2xldCBlPWQ7YSYmYS5zdGF0ZT09PSJwcmVzY2FuIiYmKGUoYi50YXJnZXQsYS5zdGF0ZSksYS5WYiYmdGhpcy5yZih7ZWxlbWVudDpiLnRhcmdldCxvcHRpb246YX0pKX19b2JzZXJ2ZShhLGIsYyl7dmFyIGQ9KGQ9dGhpcy5qLmdldChhKSkmJmQuaGFzKGMpP3tlbGVtZW50OmEsb3B0aW9uOmN9OnZvaWQgMDtpZihkKXJldHVybiBkO2Q9e2VsZW1lbnQ6YSxvcHRpb246Y307dGhpcy5qLmhhcyhhKXx8dGhpcy5qLnNldChhLG5ldyBNYXApO3ZhciBlPXRoaXMuai5nZXQoYSk7ZSYmIWUuaGFzKGMpJiZlLnNldChjLGIpO3RoaXMudnx8KGMuc3RhdGU9PT0icHJlc2NhbiImJihiPTAsYS5oYXNBdHRyaWJ1dGUoInByZXNjYW4taGVpZ2h0IikmJgooYz1OdW1iZXIoYS5nZXRBdHRyaWJ1dGUoInByZXNjYW4taGVpZ2h0IikpLGlzTmFOKGMpfHwoYj1jKSksdGhpcy5vLmhhcyhiKT9iPXRoaXMuby5nZXQoYik6KGM9YC0wLjFweCAtMC4xcHggJHtifXB4IC0wLjFweGAsYz1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIodGhpcy5ELmJpbmQodGhpcykse3Jvb3RNYXJnaW46Y30pLHRoaXMuby5zZXQoYixjKSxiPWMpLGIub2JzZXJ2ZShhKSksdGhpcy5vYnNlcnZlci5vYnNlcnZlKGEpKTtyZXR1cm4gZH1yZihhKXt2YXIgYj10aGlzLmouZ2V0KGEuZWxlbWVudCk7aWYoYiYmYi5oYXMoYS5vcHRpb24pKXtiLmRlbGV0ZShhLm9wdGlvbik7aWYoYSYmYS5vcHRpb24uc3RhdGU9PT0icHJlc2NhbiIpZm9yKGxldCBjIG9mIHRoaXMuby52YWx1ZXMoKSljLnVub2JzZXJ2ZShhLmVsZW1lbnQpO2Iuc2l6ZT09PTAmJih0aGlzLmouZGVsZXRlKGEuZWxlbWVudCksdGhpcy5vYnNlcnZlci51bm9ic2VydmUoYS5lbGVtZW50KSl9fX07CnFZPVsieW91dHViZV9maWxsIiwieW91dHViZV9vdXRsaW5lIl07QVg9dm9pZCAwO3ZhciBOcWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy52YWx1ZT1hfWRlcmVmKCl7cmV0dXJuIHRoaXMudmFsdWV9fSxPcWE9dHlwZW9mIFdlYWtSZWY9PT0iZnVuY3Rpb24iP1dlYWtSZWY6TnFhO3ZhciBGWD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5tYXA9bmV3IFdlYWtNYXB9YWRkKGEsYil7dGhpcy5tYXAuaGFzKGEpfHwodGhpcy5qKGEpLHRoaXMubWFwLnNldChhLFtdKSk7dGhpcy5tYXAuZ2V0KGEpLnB1c2gobmV3IE9xYShiKSl9Z2V0KGEpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBjPWIubWFwLmdldChhKTtpZihjKXt2YXIgZD0wO2ZvcihsZXQgZSBvZiBjKXtsZXQgZj1lLmRlcmVmKCk7ZiYmKGQrKyx5aWVsZCBmKX1pZigyKmQ8Yy5sZW5ndGgpe2Q9MDtmb3IobGV0IGUgb2YgYyllLmRlcmVmKCkmJihjW2QrK109ZSk7Yy5sZW5ndGg9ZH19fSgpfX0oYT0+e2EuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLEFvYSx7b25jZTohMH0pfSksRVg9bmV3IFdlYWtNYXAsRFg9QWJvcnRDb250cm9sbGVyLGxaPUFib3J0U2lnbmFsO3R5cGVvZiBsWi5hYm9ydCE9PSJmdW5jdGlvbiImJihsWi5hYm9ydD14b2EpOwp0eXBlb2YgbFoucHJvdG90eXBlLnRocm93SWZBYm9ydGVkIT09ImZ1bmN0aW9uIiYmKGxaLnByb3RvdHlwZS50aHJvd0lmQWJvcnRlZD15b2EpO3R5cGVvZiBsWi5hbnkhPT0iZnVuY3Rpb24iJiYobFouYW55PXpvYSk7dHlwZW9mIGxaLnRpbWVvdXQhPT0iZnVuY3Rpb24iJiYobFoudGltZW91dD1Cb2EpO3ZhciBHWD0iMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLnNwbGl0KCIiKTt2YXIgVVk9bmV3IF8uSSgiY29weUxpbmtSZW5kZXJlciIpO3ZhciBQcWE9bmV3IF8uSSgiYXVkaW9UcmFja1NlbGVjdEFjdGlvbkNvbW1hbmQiKTt2YXIgUXFhPW5ldyBfLkkoImNhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQiKTt2YXIgUnFhPW5ldyBfLkkoInNob3dBdWRpb1RyYWNrUGlja2VyQWN0aW9uQ29tbWFuZCIpO3ZhciBTcWE9bmV3IF8uSSgic2hvd0NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQiKTt2YXIgT3BhPW5ldyBfLkkoInBob25lRGlhbGVyRW5kcG9pbnQiKTt2YXIgU3BhPW5ldyBfLkkoInNlbmRTbXNFbmRwb2ludCIpO3ZhciBLcGE9bmV3IF8uSSgiY29weVRleHRFbmRwb2ludCIpO3ZhciBtWj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX1vKGE9e30pe0lYKHRoaXMubmFtZSwiU1VDQ0VTUyIsYSl9aihhPXt9KXtJWCh0aGlzLm5hbWUsIkZBSUxVUkUiLGEpfX0sRW9hPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubmFtZT0iU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX0ZVTExTQ1JFRU5fUkVRVUVTVF9TTEkiO3RoaXMuc2xpSWQ9YTt0aGlzLnRpbWVvdXRNcz0zRTQ7dGhpcy5vPSIiO3RoaXMudj0tMTt0aGlzLmo9ITE7dGhpcy5kaW1lbnNpb25zPXt9fWdldElkKCl7cmV0dXJuIHRoaXMuc2xpSWR9RHIoYT17fSl7dGhpcy5qfHwodGhpcy5qPSEwLHRoaXMuZGltZW5zaW9ucz1hLHRoaXMubz1Db2EoKSxaVyh7ZGltZW5zaW9uczp0aGlzLmRpbWVuc2lvbnMscmVjb3Jkczpbe25hbWU6dGhpcy5uYW1lLHN0YXRlOiJTTElfU1RBVEVfU1RBUlQiLHNsaUlkOnRoaXMub31dfSksdGhpcy50aW1lb3V0TXM+MCYmKHRoaXMudj1zZXRUaW1lb3V0KCgpPT4Ke3RoaXMuemcoIlRJTUVPVVQiKX0sdGhpcy50aW1lb3V0TXMpKSl9emcoYSl7dGhpcy5qJiYodGhpcy50aW1lb3V0TXM+MCYmY2xlYXJUaW1lb3V0KHRoaXMudiksdGhpcy5qPSExLGE9e2RpbWVuc2lvbnM6dGhpcy5kaW1lbnNpb25zLHJlY29yZHM6W3tuYW1lOnRoaXMubmFtZSxzdGF0dXM6SFgoYSksc3RhdGU6IlNMSV9TVEFURV9FTkQiLHNsaUlkOnRoaXMub31dfSxfLkV5LnJlZ2lzdGVyLmRlbGV0ZShgJHt0aGlzLm5hbWV9XyR7dGhpcy5zbGlJZH1gKSxaVyhhKSl9fTt2YXIgU1g9bmV3IG1aKCJTTElfTkFNRV9ZT1VUVUJFX0VNQkVEU19XRUJfUExBWUVSX0VSUk9SX1NMSSIpLFRYPW5ldyBtWigiU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX1BMQVlFUl9VTlBMQVlBQkxFX1NMSSIpO3ZhciBHb2E9WyJjbGlja1RyYWNraW5nUGFyYW1zIiwiY29tbWFuZE1ldGFkYXRhIiwibG9nZ2luZ1VybHMiLCJidWlsZENvbW1hbmRQYXlsb2FkIl07dmFyIExYPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjPSExLGQ9ITEsZT1bXSl7dmFyIGY9d1g7dGhpcy52PWE7dGhpcy5uYXZpZ2F0ZT12b2lkIDA7dGhpcy5qPWI7dGhpcy5ZPWM7dGhpcy5JPWQ7dGhpcy5CPWY7dGhpcy5LPWU7dGhpcy5NPVtdO3RoaXMubz1uZXcgU2V0O3RoaXMuRD0hMTtLb2EodGhpcyl9cmVzb2x2ZUNvbW1hbmQoYSxiKXtyZXR1cm4gTlgodGhpcyxhLGIpLmhhbmRsZWR9fTt2YXIgblo9bmV3IF8uVnMoIkVOVElUWV9TVEFURV9UT0tFTiIpO3ZhciBvWj1jbGFzc3thc3luYyByZXNvbHZlKGEsYil7YXdhaXQgdGhpcy5yZXNvbHZlQ29tbWFuZChhLGIpfX07dmFyIHBaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnN0b3JlPWF9YXN5bmMgcmVzb2x2ZUNvbW1hbmQoYSl7aWYoYT1fLkIoYSxfLnduYSk/LmVudGl0eUJhdGNoVXBkYXRlKWE9ey4uLmEsbXV0YXRpb25zOlsuLi4oYS5tdXRhdGlvbnN8fFtdKV19LGF3YWl0IGRvYShhLHRoaXMuc3RvcmUpfX07cFpbXy5Mbl09W25aXTt2YXIgJFk9bmV3IF8uVnMoIlBBTkVMX0xPQURJTkdfU1RSQVRFR1lfVE9LRU4iKTt2YXIgcVo9Y2xhc3MgZXh0ZW5kcyBvWntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5jb250cm9sbGVyPWE7dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT1ifWFzeW5jIHJlc29sdmVDb21tYW5kKGEsYil7dmFyIGM9Xy5CKGEsXy5OVyk7aWYoYz8ucGFuZWxMb2FkaW5nU3RyYXRlZ3kpe3ZhciBkPVZYKHRoaXMuY29udHJvbGxlcixiPy5mb3JtPy5lbGVtZW50KSxlPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5wb3NpdGlvbixmPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5ob3ZlckNvbmZpZyxoPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5leHBhbmRUb0Z1bGxXaWR0aCxrPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5vcGVuVG9TaWRlO2F3YWl0IHRoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3kuZXhlY3V0ZSh7Y29tbWFuZDphLGRhdGE6Yy5wYW5lbExvYWRpbmdTdHJhdGVneSxnbjphc3luYyBsPT4Ke2lmKGwuc2hlZXRWaWV3TW9kZWwpe2lmKGYpe3ZhciBtPXRoaXMuY29udHJvbGxlcjttLm89ISFmLnByZXZlbnRDbG9zZVdoaWxlSG92ZXJlZDttLmhpZGVEZWxheU1zPWYuaGlkZURlbGF5TXM/PzA7bS5zaG93RGVsYXlNcz1mLnNob3dEZWxheU1zPz8wfWF3YWl0IHRoaXMuY29udHJvbGxlci53Zyh7dmlld01vZGVsOmwuc2hlZXRWaWV3TW9kZWwsVXI6ZSxleHBhbmRUb0Z1bGxXaWR0aDpoLG9wZW5Ub1NpZGU6a30sZCxiPy5mb3JtPy5lbGVtZW50KX19LGJ2OntsYXllcjowfX0pfX19O3FaW18uTG5dPVtfLmNMLCRZXTt2YXIgVHFhPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoKXtzdXBlcigpfWFzeW5jIHJlc29sdmVDb21tYW5kKGEpe3ZhciBiPV8uQihhLFBxYSk7YiYmKGE9YXdhaXQgXy5MSCgpKSYmYT8uaXNSZWFkeT8uKCkmJihiPVFvYShhLGI/Lmxhbmd1YWdlQ29kZSkpJiZhLnNldEF1ZGlvVHJhY2soYil9fTt2YXIgclo9Y2xhc3MgZXh0ZW5kcyBvWntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuaj1hfWFzeW5jIHJlc29sdmVDb21tYW5kKGEpe3ZhciBiPV8uQihhLFFxYSk7aWYoYiYmKGE9YXdhaXQgXy5MSCgpKSl7dmFyIGM9Yj8ubGFuZ3VhZ2VDb2RlO2I9Yj8uaXNBdXRvVHJhbnNsYXRlZDthLmdldFZpZGVvRGF0YSYmXy4kTyhhKS5sZW5ndGgmJigoYz1Sb2EoYSxjLGIpKT9hLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIsYyk6KGEuc2V0T3B0aW9uKCJjYXB0aW9ucyIsInN0aWNreUxvYWRpbmciLHt9KSxhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIse30pKSk7YT1hLmlzU3VidGl0bGVzT24oKT9fLmFBKCJDQVBUSU9OX09OX1RPQVNUIix2b2lkIDAsIlN1YnRpdGxlcy9DQyB0dXJuZWQgb24iKTpfLmFBKCJDQVBUSU9OX09GRl9UT0FTVCIsdm9pZCAwLCJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9mZiIpO3RoaXMuai5yZXNvbHZlQ29tbWFuZChfLmFRKF8uV0woYSksNUUzKSl9fX07CnJaW18uTG5dPVtfLlVEXTt2YXIgc1o9Y2xhc3MgZXh0ZW5kcyBvWntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuaj1hfWFzeW5jIHJlc29sdmVDb21tYW5kKGEsYil7Xy5CKGEsUnFhKSYmKGE9YXdhaXQgXy5MSCgpKSYmKGE9U29hKGEpKSYmdGhpcy5qLnJlc29sdmVDb21tYW5kKGEsYil9fTtzWltfLkxuXT1bXy5VRF07dmFyIHRaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1hc3luYyByZXNvbHZlQ29tbWFuZChhLGIpe18uQihhLFNxYSkmJihhPWF3YWl0IF8uTEgoKSkmJigoYT1Wb2EoYSkpP3RoaXMuai5yZXNvbHZlQ29tbWFuZChhLGIpOihiPV8uYUEoIkNMT1NFRF9DQVBUSU9OU19ESVNBQkxFRCIsdm9pZCAwLCJObyBjYXB0aW9ucyBhcmUgYXZhaWxhYmxlIGZvciB0aGlzIHZpZGVvIiksdGhpcy5qLnJlc29sdmVDb21tYW5kKF8uYVEoXy5XTChiKSkpKSl9fTt0WltfLkxuXT1bXy5VRF07dmFyIHNxYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnNpZ25hbD1hO3RoaXMuaj10aGlzLm8uYmluZCh0aGlzKTt0aGlzLmxvZ2dpbmdFbmFibGVkPSEwO3RoaXMuaWRzPW5ldyBTZXQ7YS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsdGhpcy5qKTt0aGlzLmpvYklkPV8uWWoodGhpcy5qLDFFNCl9d3koYSl7dGhpcy5sb2dnaW5nRW5hYmxlZCYmIXRoaXMuaWRzLmhhcyhhKSYmdGhpcy5pZHMuYWRkKGEpfW8oKXt0aGlzLmxvZ2dpbmdFbmFibGVkJiYodGhpcy5sb2dnaW5nRW5hYmxlZD0hMSxfLmpmLkFhKHRoaXMuam9iSWQpLHRoaXMuc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0Iix0aGlzLmopLFdvYSh0aGlzKSl9fTt2YXIgUlg7dmFyIFVxYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuT209bmV3IE1hcDt0aGlzLmo9bmV3IE1hcH1PeihhLGIpe2lmKGEpe3RoaXMuT20uc2V0KGEsYik7dmFyIGM9dGhpcy5qLmdldChhKTtjJiYoYy5yZXNvbHZlKGIpLHRoaXMuai5kZWxldGUoYSkpfX19O3ZhciBhWj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMubz1hO3RoaXMudj1ifWooKXtpZih0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5JiZ0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5LmlubGluZUNvbnRlbnQpcmV0dXJuIHRoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3kuaW5saW5lQ29udGVudH1hc3luYyBleGVjdXRlKGEpe3ZhciBiPWEuVEksYz1hLnBhcmVudFZlLGQ9YS5idixlPWEuZ24sZj1hLmNvbW1hbmQ7dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT1hLmRhdGE7KGE9dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT8uc2NyZWVuVmU/dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT8uc2NyZWVuVmU6YikmJl8uRE8odGhpcy52LGEsYyxkKTsoYz10aGlzLmooKSkmJmF3YWl0IGUoYyk7dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT8ucmVxdWVzdFRlbXBsYXRlJiYoZj1hd2FpdCAkb2EodGhpcyxmKSkmJmF3YWl0IGUoZil9fTthWltfLkxuXT1bXy5JeSxfLk9XXTt2YXIgcHFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPXRoaXMubz0hMTt0aGlzLnNob3dEZWxheU1zPXRoaXMuaGlkZURlbGF5TXM9MDt0aGlzLkQ9ITE7dGhpcy5JPSgpPT57dGhpcy5qPSEwfTt0aGlzLlo9KCk9Pnt0aGlzLmo9ITF9O3RoaXMuVT0oKT0+e3RoaXMuaj0hMH07dGhpcy5LPSgpPT57dGhpcy5qPSExfX1QeihhLGI9ITEpe2I/dGhpcy5NPWE6dGhpcy5jb250YWluZXI9YX1hc3luYyB3ZyhhLGIsYz1iKXtXWCh0aGlzKTt0aGlzLnNob3dEZWxheU1zP3RoaXMuWT1zZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCAkWCh0aGlzLGEsYixjKX0sdGhpcy5zaG93RGVsYXlNcyk6YXdhaXQgJFgodGhpcyxhLGIsYyl9YXN5bmMgSmUoKXtXWCh0aGlzKTt0aGlzLmhpZGVEZWxheU1zP3RoaXMuQj1zZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCBhWSh0aGlzKX0sdGhpcy5oaWRlRGVsYXlNcyk6YXdhaXQgYVkodGhpcyl9YXN5bmMgZG0oKXtyZXR1cm4gVVgodGhpcyk/LmRtKCk/PwohMX19O3ZhciBvcGE9WyJ0b3VjaG1vdmUiLCJzY3JvbGwiXTt2YXIgdVo9ITE7dmFyIGNZPSExO3ZhciBucGE9e2xyKGEpe2EucGFyZW50SWQ9PW51bGwmJih1Wnx8KGJZKCksc2V0SW50ZXJ2YWwoYlksNkU1KSx1Wj0hMCksZlkoYSwid2ViX3RyYWNpbmdfYWN0aW9uIikpfX07dmFyIGhZLEtxYT17aUw6Xy54KCJ3ZWJfdHJhY2luZ19hbGxfY29tcG9uZW50cyIpLFF2Ol8ueCgid2ViX3RyYWNpbmdfZXhwb3J0X3RvX2NzaSIpLEh2OmZ1bmN0aW9uKGEsYil7YT1fLnJqKGEsYik7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/Xy5IdyhhLGM9PlN0cmluZyhjfHwiIikpOltTdHJpbmcoYXx8IiIpXX0oIndlYl90cmFjaW5nX2VuYWJsZWRfc3BhbnMiKSxSdjpfLngoIndlYl90cmFjaW5nX2V4cG9ydF90b19kZXZ0b29scyIpLE1xOl8uc2ooInRlbF9tYXhfYnJlYWRjcnVtYnMiLDApfTtoWT1uZXcgTHFhO3ZhciBrcGE9e1JlbmRlcjoiQ09XX1NQQU5fVFlQRV9SRU5ERVIiLE9uSW5pdDoiQ09XX1NQQU5fVFlQRV9PTl9JTklUIixFZmZlY3Q6IkNPV19TUEFOX1RZUEVfRUZGRUNUIixDb21wdXRlZDoiQ09XX1NQQU5fVFlQRV9DT01QVVRFRCIsU2lnbmFsVXBkYXRlOiJDT1dfU1BBTl9UWVBFX1NJR05BTF9VUERBVEUiLFJlbmRlckVmZmVjdDoiQ09XX1NQQU5fVFlQRV9SRU5ERVJfRUZGRUNUIixDcmVhdGVSZWFjdGl2ZUNvbXBvbmVudDoiQ09XX1NQQU5fVFlQRV9DT01QT05FTlRfUkVOREVSIn07dmFyIG1wYT1fLngoIndlYl9zaG9ydHNfZW5hYmxlX3RyYWNpbmciKTt2YXIgdHBhPVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIsImh0dHBzOi8vdHYueW91dHViZS5jb20iLCJodHRwczovL3d3dy5nc3RhdGljLmNvbSIsImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIl0sdnBhPV8uc2ooIndpbF9pY29uX21heF9jb25jdXJyZW50X2ZldGNoZXMiLEluZmluaXR5KSxaWT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5GYT1hO3RoaXMuS2s9Yjt0aGlzLlk9e307dGhpcy5EPXt9O3RoaXMubz17fTt0aGlzLkk9dGhpcy5jb3VudGVyPTA7dGhpcy5CPSEhXy51LmNhY2hlczt0aGlzLlU9UHJvbWlzZS5yZXNvbHZlKHZvaWQgMCk7dGhpcy5aPXZvaWQgMDt0aGlzLnY9bnVsbDt0aGlzLk09Xy54KCJ3aWxfaWNvbl91c2VfbWFza19yZW5kZXJpbmciKT8xOjA7dGhpcy5vYT1fLngoIndpbF9pY29uX25ldHdvcmtfZmlyc3QiKTt0aGlzLk1hPV8ueCgid2lsX2ljb25fcmVuZGVyX3doZW5faWRsZSIpO3RoaXMuUWE9IV8ueCgid2lsX2ljb25fbG9hZF9pbW1lZGlhdGVseSIpOwp0aGlzLks9ITE7YT0oKT0+e3RoaXMuQiYmKHRoaXMuVT1fLnUuY2FjaGVzLm9wZW4oInl0LWljb25zIikudGhlbihkPT50aGlzLlo9ZCkuY2F0Y2goKCk9Pnt0aGlzLkI9ITF9KSl9O2M9Yz8uKCl8fHt9O2ZvcihsZXQgW2QsZV1vZiBPYmplY3QuZW50cmllcyhjKSljPWQsYj1fLmZDKGUpLGpZKGIpLHRoaXMuRFtjXT1iLmNsb25lTm9kZSghMCk7dGhpcy5LPXFwYSh0aGlzKTt0aGlzLksgaW5zdGFuY2VvZiBQcm9taXNlP3RoaXMuSy50aGVuKGEpOmEoKX1qKGEpe3JldHVybiEhdGhpcy5tZihhKX1hc3luYyB5YShhKXtpZihhLmxlbmd0aCl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEpKGE9dGhpcy5tZihjKSkmJiF0aGlzLkRbYS51cmxdJiZiLnB1c2goa1kodGhpcyxhKS50aGVuKCgpPT57fSkuY2F0Y2goKCk9Pnt9KSk7UHJvbWlzZS5hbGwoYil9fXB5KGEpe3ZhciBiPXRoaXMubWYoYSk7cmV0dXJuIGI/dGhpcy5NPT09MT9sWSh0aGlzLGIsdGhpcy5NKTooYT10aGlzLkRbYi51cmxdKT8KKGE9YS5jbG9uZU5vZGUoITApLG5ZKHRoaXMsYSksbFkodGhpcyxiLHRoaXMuTSxhKSk6a1kodGhpcyxiKS50aGVuKGM9Pnt2YXIgZD1jPzA6MTtuWSh0aGlzLGMpO3JldHVybiBsWSh0aGlzLGIsZCxjKX0pOihfLkhwKG5ldyBfLlhqKCJJY29uIG5vdCBmb3VuZCIse2ljb25TaGFwZTphfSkpLCgpPT57fSl9YXN5bmMgZ2EoYSxiKXtyZXR1cm4gcFkodGhpcyxhKS50aGVuKGM9Pnt3cGEodGhpcyxhLGMsYik7cmV0dXJuIGN9KX1hc3luYyBoYShhLGIpe3JldHVybiBiP2IubWF0Y2goYSkudGhlbihjPT5jJiZjLm9rP2M6UHJvbWlzZS5yZWplY3QoKSk6UHJvbWlzZS5yZWplY3QoKX1tZihhKXtyZXR1cm4gdGhpcy5GYS5tZihhKX19O1pZW18uTG5dPVtfLm1PLF8ubEYsXy5JbihfLm9PKV07dmFyIHlwYT17QUNDRVNTX1RJTUU6ImNsb2NrIixBQ0NPVU5UX0JPWDpfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9DUkVBVE9SIj8icGVyc29uX2JveCI6InBlcnNvbl9hY2NvdW50IixBQ0NPVU5UX0JPWF9DQUlSTzoicGVyc29uX2FjY291bnRfY2Fpcm8iLEFDQ09VTlRfQ0lSQ0xFOiJwZXJzb25fY2lyY2xlIixBQ0NPVU5UX0NJUkNMRV9DQUlSTzoicGVyc29uX2NpcmNsZV9jYWlybyIsQUNDT1VOVF9MSU5LRUQ6ImFjY291bnRfbGlua19zdWNjZXNzIixBQ0NPVU5UX1VOTElOS0VEOiJhY2NvdW50X2xpbmsiLEFERF9GUklFTkQ6InBlb3BsZSIsQUREX01PREVSQVRPUjoic2hpZWxkX2FkZCIsQUREX1RPX0xJQlJBUlk6ImJvb2ttYXJrIixBRERfVE9fUExBWUxJU1Q6ImFkZCIsQUREX1RPX1FVRVVFX1RBSUw6Imxpc3RfcXVldWUiLEFERF9UT19SRU1PVEVfUVVFVUU6Imxpc3RfbXVzaWMiLEFERF9UT19XQVRDSF9MQVRFUjoiY2xvY2siLEFERF9WSURFT19MSU5LOiJmaWxtX3N0cmlwX2FkZCIsCkFMRVJUX1dBUk5fUkVEOiJhbGVydF90cmlhbmdsZSIsQVJST1dfQkFDSzoiYXJyb3dfbGVmdCIsQVJST1dfRElBR09OQUxfVVBfUklHSFRfRklMTEVEOiJhcnJvd19kaWFnb25hbF91cF9yaWdodCIsQVJST1dfRFJPUF9ET1dOOiJjaGV2cm9uX2Rvd24iLEFSUk9XX0RST1BfVVA6ImNoZXZyb25fdXAiLEFSUk9XX0ZPUldBUkQ6ImFycm93X3JpZ2h0IixBUlRJU1Q6InBlcnNvbl9tdXNpYyIsQVVESU9UUkFDSzoiYXVkaW8iLEFVVE9fQVdFU09NRToic3BhcmtsZSIsQVZBVEFSX0FOT05ZTU9VUzoicGVyc29uX2NpcmNsZSIsQVZBVEFSX0xPR0dFRF9PVVQ6InBlcnNvbl9jaXJjbGUiLEJBQ0s6ImFycm93X2xlZnQiLEJBUl9DSEFSVDoiYmFyX2dyYXBoIixCTE9DSzoic2xhc2hfY2lyY2xlX2xlZnQiLEJMT0NLX1VTRVI6InNsYXNoX2NpcmNsZV9sZWZ0IixCT09LTUFSS19CT1JERVI6ImJvb2ttYXJrIixCUkVBS0lOR19ORVdTX0FMVF8xOiJhcnRpY2xlX2FsZXJ0IixCUk9BRENBU1RfQ0FJUk86InBvZGNhc3RfY2Fpcm8iLApCVUdfUkVQT1JUOiJidWciLENBTUVSQV9BTFQ6ImNhbWVyYSIsQ0FNUEFJR046Im1lZ2FwaG9uZSIsQ0FOQ0VMOiJ4X2NpcmNsZSIsQ0FQVElPTlM6ImNsb3NlZF9jYXB0aW9uIixDQVNUX09VVExJTkU6ImNocm9tZWNhc3QiLENIQU5ORUxfTk9USUZJQ0FUSU9OX1BSRUZFUkVOQ0VfT0ZGOiJiZWxsIixDSEFOTkVMX05PVElGSUNBVElPTl9QUkVGRVJFTkNFX09OOiJiZWxsX29uIixDSEFUOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixDSEFUX0JVQkJMRToibWVzc2FnZV9idWJibGVfZW1wdHkiLENIQVRfU1BBUks6InNwYXJrX21lc3NhZ2VfYnViYmxlX2xlZnQiLENIRUNLX0JPWF9PVVRMSU5FX0JMQU5LOiJib3hfZW1wdHkiLENIRUNLX0NJUkNMRV9PVVRMSU5FOiJjaGVja19jaXJjbGUiLENIRUNLX0NJUkNMRV9USElDSzoiY2hlY2tfY2lyY2xlIixDTEFSSUZZOiJhcnRpY2xlX2NsYXJpZnkiLENMT1NFRF9DQVBUSU9OX1NFTEVDVEVEOiJjbG9zZWRfY2FwdGlvbiIsQ0xPU0U6InhfbWFyayIsCkNMT1VEX1VQTE9BRDoiY2xvdWRfYXJyb3dfdXAiLENPTExBUFNFOiJjaGV2cm9uX3VwIixDT0xMQVBTRV9DQUlSTzoiY2hldnJvbl91cF9jYWlybyIsQ09MTEVDVElPTjoibGF5ZXJzIixDT0xPUl9MRU5TOiJwYWxldHRlIixDT01NRU5UOiJtZXNzYWdlX2J1YmJsZV9yaWdodCIsQ09OU0VOVF9TSElFTEQ6InBlcnNvbl9zaGllbGQiLENPTlRFTlRfQ1VUOiJzY2lzc29ycyIsQ09OVEVOVF9DVVRfQ0FJUk86InNjaXNzb3JzX2NhaXJvIixDT1VSU0U6Xy54KCJ3ZWJfZW5hYmxlX2NvdXJzZV9pY29uX3VwZGF0ZSIpPyJjcmVhdG9yX2FjYWRlbXkiOiJsaWdodGJ1bGIiLENPVVJTRV9DQUlSTzpfLngoIndlYl9lbmFibGVfY291cnNlX2ljb25fdXBkYXRlIik/ImNyZWF0b3JfYWNhZGVteV9jYWlybyI6ImxpZ2h0YnVsYl9jYWlybyIsQ1JFQVRJT05fTElWRToicmFkYXJfbGl2ZSIsQ1JFQVRJT05fUE9TVDoiYm94X3BlbmNpbCIsQ1JFQVRJT05fVVBMT0FEOiJteV92aWRlb3MiLENSRUFUSU9OX1VQTE9BRF9SRUQ6InVwbG9hZCIsCkNSRUFUT1JfTUVUQURBVEFfTU9ORVRJWkFUSU9OOiJkb2xsYXJfc2lnbiIsQ1JFQVRPUl9NRVRBREFUQV9NT05FVElaQVRJT05fT0ZGOiJkb2xsYXJfc2lnbl9vZmYiLENSRUFUT1JfU1RVRElPOiJ5b3V0dWJlX3N0dWRpbyIsREFTSEJPQVJEOiJncmlkX2FzeW1tZXRyaWNhbCIsREVMRVRFOiJ0cmFzaF9jYW4iLERFTEVURV9TV0VFUDoidHJhc2hfY2FuIixERVNLVE9QOiJsYXB0b3AiLERJU0xJS0U6InRodW1iX2Rvd24iLERJU0xJS0VfU0VMRUNURUQ6InRodW1iX2Rvd24iLERJU01JU1NBTDoieF9tYXJrIixESVNNSVNTX1FVRVVFOiJsaXN0X3JlbW92ZSIsRE9ORV9BTEw6ImNoZWNrX2RvdWJsZSIsRE9XTl9BUlJPVzoiYXJyb3dfZG93biIsRE9fTk9UX0RJU1RVUkI6InNsYXNoX2NpcmNsZV9sZWZ0IixEUkFGVDoicGFwZXJfY29ybmVyX2ZvbGRlZCIsRFJBR19IQU5ETEU6ImJhcnNfMiIsRURJVDoicGVuY2lsIixFTU9KSToiZmFjZV92ZXJ5X2hhcHB5IixFTU9KSV9GTEFHUzoiZmxhZyIsCkVNT0pJX09CSkVDVFM6ImxpZ2h0YnVsYiIsRU1PSklfUEVPUExFOiJmYWNlX3ZlcnlfaGFwcHkiLEVNT0pJX1JFQ0VOVDoiY2xvY2siLEVNUFRZX0hFQVJUOiJoZWFydCIsRU1QVFlfTElLRToidGh1bWJfdXAiLEVSUk9SX0JMQUNLOiJhbGVydF9jaXJjbGUiLEVSUk9SX09VVExJTkU6ImFsZXJ0X2NpcmNsZSIsRVhJVF9BUFA6ImFycm93X2luIixFWElUX1RPX0FQUDoiYXJyb3dfaW4iLEVYUEFORDoiY2hldnJvbl9kb3duIixFWFBBTkRfQUxMOiJjaGV2cm9uX2V4cGFuZCIsRVhQQU5EX0NBSVJPOiJjaGV2cm9uX2Rvd25fY2Fpcm8iLEVYUEFORF9MRVNTOiJjaGV2cm9uX3VwIixFWFBBTkRfTU9SRToiY2hldnJvbl9kb3duIixFWFBMT1JFOiJjb21wYXNzIixFWFBMT1JFX0RFU1RJTkFUSU9OOiJjb21wYXNzIixFWFRFUk5BTF9MSU5LOiJvcGVuX25ldyIsRkFCX1VQTE9BRDoidXBsb2FkIixGQUNFX0hBUFBZX09VVExJTkU6ImZhY2VfaGFwcHkiLEZBQ1RfQ0hFQ0s6ImFydGljbGVfY2hlY2siLApGQVNISU9OX0xPR086ImZhc2hpb24iLEZBU0hJT05fTE9HT19DQUlSTzoiZmFzaGlvbl9jYWlybyIsRkFWT1JJVEU6ImhlYXJ0IixGRUVEQkFDSzoibWVzc2FnZV9idWJibGVfYWxlcnQiLEZFRURCQUNLX0NBSVJPOiJtZXNzYWdlX2J1YmJsZV9hbGVydF9jYWlybyIsRklMTF9BUlJPV19TT0xJRF9ET1dOXzE2OiJhcnJvd19zb2xpZF9kb3duIixGSUxMX0FSUk9XX1NPTElEX1VQXzE2OiJhcnJvd19zb2xpZF91cCIsRklMTF9ET0xMQVJfU0lHTl9IRUFSVF8xMjoiZG9sbGFyX3NpZ25faGVhcnQiLEZJTFRFUjoibWVudV9maWx0ZXIiLEZJUlNUX1BBR0U6ImNoZXZyb25fZmlyc3QiLEZMQUc6ImZsYWciLEZVTExfSEVBUlQ6ImhlYXJ0IixHQU1FX0NPTlNPTEVfRFBBRDoiZ2FtZV9jb25zb2xlX2RwYWQiLEdBTUVfQ09OU09MRV9GQUNFX0JVVFRPTlM6ImdhbWVfY29uc29sZV9mYWNlX2J1dHRvbnMiLEdBTUlOR19MT0dPOiJnYW1pbmciLEdBTUlOR19MT0dPX0NBSVJPOiJnYW1pbmdfY2Fpcm8iLApHT19UT19QQUdFOiJhcnJvd19yaWdodCIsR1JPVVBTOiJwZW9wbGVfZ3JvdXAiLEhBUFBZOiJmYWNlX2hhcHB5IixIRUFMVEhfQU5EX1NBRkVUWToic2hpZWxkX3BsdXMiLEhFTFA6InF1ZXN0aW9uX2NpcmNsZSIsSEVMUF9DQUlSTzoicXVlc3Rpb25fY2lyY2xlX2NhaXJvIixIRUxQX09VVExJTkU6InF1ZXN0aW9uX2NpcmNsZSIsSElERToic2xhc2hfY2lyY2xlX2xlZnQiLElNQUdFOiJpbWFnZSIsSU5GSU5JVFlfSUNPTjoiaW5maW5pdHkiLElORk86ImluZm9fY2lyY2xlIixJTkZPX09VVExJTkU6ImluZm9fY2lyY2xlIixJTlNFUlRfQ0hBUlQ6ImJhcl9ncmFwaF9ib3hfdmVydGljYWwiLElOU0VSVF9DSEFSVF9PVVRMSU5FRDoiYmFyX2dyYXBoX2JveF92ZXJ0aWNhbCIsSU5TRVJUX1BIT1RPOiJpbWFnZSIsS0VFUDoicGluIixLRUVQX09GRjoicGluX29mZiIsS0VZQk9BUkQ6ImtleWJvYXJkIixLRVlCT0FSRF9BUlJPV19ET1dOOiJjaGV2cm9uX2Rvd24iLEtFWUJPQVJEX0FSUk9XX1VQOiJjaGV2cm9uX3VwIiwKS0lEU19CTE9DSzoic2xhc2hfY2lyY2xlX2xlZnQiLExBTkdVQUdFOiJnbG9iZSIsTEFTVF9QQUdFOiJjaGV2cm9uX2xhc3QiLExBVU5DSDoib3Blbl9uZXciLExFQVJOSU5HOiJsaWdodGJ1bGIiLExFQVJOSU5HX0NBSVJPOiJsaWdodGJ1bGJfY2Fpcm8iLExJQlJBUllfQUREOnRZKCJsaWJyYXJ5X2FkZCIpLExJQlJBUllfT1VUTElORToibGlicmFyeSIsTElCUkFSWV9SRU1PVkU6dFkoKSxMSUdIVEJVTEJfU1BBUktfT1VUTElORToibGlnaHRidWxiX3NwYXJrIixMSUtFU19QTEFZTElTVDoidGh1bWJfdXAiLExJS0VTX1BMQVlMSVNUX0NBSVJPOiJ0aHVtYl91cF9jYWlybyIsTElLRToidGh1bWJfdXAiLExJS0VfU0VMRUNURUQ6InRodW1iX3VwIixMSVZFOiJyYWRhcl9saXZlIixMSVZFX0NBSVJPOiJyYWRhcl9saXZlX2NhaXJvIixMSVZFX1VOTElTVEVEOiJsaW5rIixMT0NBVElPTl9PTjoibG9jYXRpb25fcG9pbnQiLExPQ0FUSU9OX1BJTjoibG9jYXRpb25fcG9pbnQiLExPT1A6ImFycm93X3JlcGVhdCIsCkxPT1BfQUNUSVZFOiJhcnJvd19yZXBlYXQiLExPT1BfT05FOiJhcnJvd19yZXBlYXRfMSIsTE9PUF9PTkVfQUNUSVZFOiJhcnJvd19yZXBlYXRfMSIsTUVIOiJmYWNlX21laCIsTUVNQkVSU19PTkxZX01PREVfT0ZGOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixNRU5VOiJiYXJzXzMiLE1FU1NBR0U6Im1lc3NhZ2VfYnViYmxlX2xlZnQiLE1JQ1JPUEhPTkVfT046Im1pYyIsTUlYOiJ5b3V0dWJlX21peCIsTU9ORVRJWkFUSU9OX09OOiJkb2xsYXJfc2lnbl9jaXJjbGUiLE1PTkVZX0ZJTEw6ImRvbGxhcl9zaWduX2NvbnRhaW5lciIsTU9ORVlfRklMTF9KUFk6Inllbl9zaWduX2NvbnRhaW5lciIsTU9ORVlfSEVBUlQ6ImRvbGxhcl9zaWduX2hlYXJ0IixNT1JFX0hPUklaOiJvdmVyZmxvd19ob3Jpem9udGFsIixNT1JFX1ZFUlQ6Im92ZXJmbG93X3ZlcnRpY2FsIixNVVNJQzoiYXVkaW8iLE1VU0lDX0NBSVJPOiJhdWRpb19jYWlybyIsTVVTSUNfTk9URV9TWU1CT0w6Im11c2ljIixNVVNJQ19TSFVGRkxFOiJhcnJvd19zaHVmZmxlIiwKTVlfQ0hBTk5FTDoicGVyc29uX2NpcmNsZSIsTVlfTE9DQVRJT046ImxvY2F0aW9uX3BvaW50IixORVdTX1NUT1JZOiJuZXdzIixORVhUOiJjaGV2cm9uX3JpZ2h0IixOT1RJRklDQVRJT05TOiJiZWxsIixOT1RJRklDQVRJT05TX0FDVElWRToiYmVsbF9vbiIsTk9USUZJQ0FUSU9OU19DQUlSTzoiYmVsbF9jYWlybyIsTk9USUZJQ0FUSU9OU19ET05FX0NIRUNLTUFSSzoiY2hlY2siLE5PVElGSUNBVElPTlNfSU5CT1g6ImJlbGwiLE5PVElGSUNBVElPTlNfTk9ORToiYmVsbCIsTk9USUZJQ0FUSU9OU19PRkY6ImJlbGxfb2ZmIixOT1RfSU5URVJFU1RFRDoic2xhc2hfY2lyY2xlX2xlZnQiLE9GRklDSUFMX0FSVElTVF9CQURHRToiYXVkaW8iLE9GRkxJTkVfQ0xPVUQ6ImNsb3VkX29mZiIsT0ZGTElORV9ET1dOTE9BRDoiZG93bmxvYWQiLE9GRkxJTkVfRE9XTkxPQURfQ0FJUk86ImRvd25sb2FkX2NhaXJvIixPRkZMSU5FX1BBVVNFOiJwYXVzZSIsT1BFTl9JTl9ORVc6Im9wZW5fbmV3IiwKT1VUTElORV9BREpVU1Q6ImFkanVzdCIsT1VUTElORV9BUlJPV19TT0xJRF9ET1dOXzE2OiJhcnJvd19zb2xpZF9kb3duIixPVVRMSU5FX0FSUk9XX1NPTElEX1VQXzE2OiJhcnJvd19zb2xpZF91cCIsT1VUTElORV9CQUc6ImJhZyIsT1VUTElORV9DTE9DS19IQUxGX0NJUkNMRToiY2xvY2tfaGFsZl9jaXJjbGUiLE9VVExJTkVfTU9CSUxFX0RPV05MT0FEOiJtb2JpbGVfZG93bmxvYWQiLE9VVExJTkVfT1ZFUkZMT1dfSE9SSVpPTlRBTF8zMjoib3ZlcmZsb3dfaG9yaXpvbnRhbCIsT1VUTElORV9PVkVSRkxPV19WRVJUSUNBTDoib3ZlcmZsb3dfdmVydGljYWwiLE9VVExJTkVfWU9VVFVCRV9JTVBST1ZFX1RWOiJ5b3V0dWJlX2ltcHJvdmVfdHYiLFBBSUQ6ImRvbGxhcl9zaWduIixQQVVTRV9PVVRMSU5FRDoicGF1c2UiLFBBWU1FTlQ6ImNyZWRpdF9jYXJkIixQRVJTT05fUkFEQVJfRklMTEVEOiJwZXJzb25fcmFkYXIiLFBIT05FX0RPV05MT0FEOiJtb2JpbGVfZG93bmxvYWQiLFBMQVlBQkxFU19MT0dPOiJ0aWNfdGFjX3RvZSIsClBMQVlBQkxFU19MT0dPX0NBSVJPOiJ0aWNfdGFjX3RvZV9jYWlybyIsUExBWUxJU1RTOiJsaXN0X3BsYXlfYXJyb3ciLFBMQVlMSVNUU19DQUlSTzoibGlzdF9wbGF5X2Fycm93X2NhaXJvIixQTEFZTElTVF9BREQ6dFkoImxpc3RfYWRkIiksUExBWUxJU1RfQUREX0NIRUNLOnRZKCJsaXN0X2NoZWNrIiksUExBWUxJU1RfUExBWToibGlzdF9wbGF5X2Fycm93IixQTEFZX0FMTDoicGxheV9hcnJvdyIsUExBWV9DSVJDTEU6InBsYXlfYXJyb3dfY2lyY2xlIixQTEFZX09VVExJTkVEOiJwbGF5X2Fycm93X2NpcmNsZSIsUFJJVkFDWV9JTkZPOiJzaGllbGQiLFBSSVZBQ1lfUFJJVkFURToibG9jayIsUFJJVkFDWV9QVUJMSUM6ImVhcnRoIixQUklWQUNZX1VOTElTVEVEOiJsaW5rIixQUk9NT1RFOiJtZWdhcGhvbmUiLFBVUkNIQVNFUzoicHJpY2VfdGFnIixQVVJDSEFTRV9TVVBFUl9DSEFUOiJzdXBlcl9jaGF0IixQVVJDSEFTRV9TVVBFUl9TVElDS0VSOiJzdXBlcl9zdGlja2VyIixRVUVTVElPTl9BTlNXRVI6Im1lc3NhZ2VfYnViYmxlX3F1ZXN0aW9uIiwKUVVFVUVfUExBWV9MQVNUOiJsaXN0X3F1ZXVlX2xhc3QiLFFVRVVFX1BMQVlfTkVYVDoibGlzdF9wbGF5X2Fycm93IixSRU1JWF9GSUxMRUQ6InlvdXR1YmVfc2hvcnRzX3JlbWl4IixSRU1PVkU6ImJhcl9jaXJjbGUiLFJFTU9WRV9DSVJDTEU6ImJhcl9jaXJjbGUiLFJFTU9WRV9DSVJDTEVfT1VUTElORToiYmFyX2NpcmNsZSIsUkVNT1ZFX0RPTkU6ImNoZWNrX2RvdWJsZV9vZmYiLFJFTU9WRV9GUk9NX0hJU1RPUlk6ImJhcl9jaXJjbGUiLFJFTU9WRV9GUk9NX1BMQVlMSVNUOiJiYXJfY2lyY2xlIixSRU1PVkVfTU9ERVJBVE9SOiJzaGllbGRfb2ZmIixSRVBMQVk6ImFycm93X2NpcmNsZSIsUkVQTEFZXzEwOiJza2lwX2JhY2tfMTAiLFJFUE9SVF9QUk9CTEVNOiJhbGVydF90cmlhbmdsZSIsU0FEOiJmYWNlX3NhZCIsU0FWRV9QTEFZTElTVDoiYm9va21hcmsiLFNDSEVEVUxFOiJjbG9jayIsU0NIT09MOiJjcmVhdG9yX2FjYWRlbXkiLFNDUkVFTl9GVUxMU0NSRUVOOiJzY3JlZW5fZnVsbCIsClNFQVJDSF9ISVNUT1JZOiJhcnJvd190aW1lIixTRUxMOiJwcmljZV90YWciLFNFVFRJTkdTOiJnZWFyIixTRVRUSU5HU19DQUlSTzoiZ2Vhcl9jYWlybyIsU0VUVElOR1NfTElHSFQ6ImdlYXIiLFNFVFRJTkdTX01BVEVSSUFMOiJnZWFyIixTSEFSRV9BUlJPVzoic2hhcmUiLFNISUVMRF9XSVRIX0FWQVRBUjoicGVyc29uX3NoaWVsZCIsU0hPUFBJTkdfQkFHOiJiYWciLFNIT1BQSU5HX0JBR19DQUlSTzoiYmFnX2NhaXJvIixTSE9QUElOR19DQVJUOiJjYXJ0IixTSE9SVFNfQ09NTUVOVDoieW91dHViZV9zaG9ydHNfbWVzc2FnZV9idWJibGVfcmlnaHQiLFNIT1JUU19ESVNMSUtFOiJ5b3V0dWJlX3Nob3J0c190aHVtYl9kb3duIixTSE9SVFNfTElLRToieW91dHViZV9zaG9ydHNfdGh1bWJfdXAiLFNIT1JUU19TSEFSRToieW91dHViZV9zaG9ydHNfc2hhcmUiLFNIVUZGTEU6ImFycm93X3NodWZmbGUiLFNMT1dfTU9ERV9PRkY6Im1lc3NhZ2VfYnViYmxlX2xlZnQiLFNPQ0lBTDoicGVvcGxlIiwKU09SVDoibWVudV9zb3J0IixTUEFSS19MSUdIVEJVTEJfT1VUTElORToic3BhcmtfbGlnaHRidWxiIixTUEVFRF8xWDoiMXgiLFNQRUVEXzFfUE9JTlRfMlg6IjFfcG9pbnRfMngiLFNQRUVEXzFfUE9JTlRfNVg6IjFfcG9pbnRfNXgiLFNQRUVEXzFfUE9JTlRfOFg6IjFfcG9pbnRfOHgiLFNQRUVEXzJYOiIyeCIsU1BFRURfUE9JTlRfMlg6InBvaW50XzJ4IixTUEVFRF9QT0lOVF84WDoicG9pbnRfOHgiLFNQT05TT1JTSElQX1NUQVI6InN0YXJfY2lyY2xlIixTVEFGRl9QSUNLOiJzcG90bGlnaHQiLFNUQVJUX0RWUjoiYWRkIixTVEFSX0JPUkRFUjoic3RhciIsU1RBUl9DSVJDTEVfUklCQk9OX09VVExJTkU6InN0YXJfY2lyY2xlX3JpYmJvbiIsU1RJQ0tFUl9FTU9USUNPTjoiZmFjZV9oYXBweSIsU1RPUF9EVlI6InN0b3AiLFNVQlNDUklCRToieW91dHViZV9sb2dvX2ljb24iLFNVQlNDUklCRV9QTFVTOiJhZGRfY2Fpcm8iLFNVQlNDUklQVElPTl9NQU5BR0VSOiJnZWFyIixTVVBFUlZJU09SX0FDQ09VTlQ6InBlb3BsZSIsClNVUEVSX0NIQVRfRk9SX0dPT0Q6ImhhbmRzX2hlYXJ0IixTV0FQX0hPUklaOiJhcnJvd19zd2FwX2hvcml6b250YWwiLFNXSVRDSF9BQ0NPVU5UUzoicGVyc29uX2FjY291bnQiLFRBQl9BQ0NPVU5UOiJwZXJzb24iLFRBQl9BQ1RJVklUWToiYmVsbCIsVEFCX0JPT0tNQVJLOiJib29rbWFyayIsVEFCX0VYUExPUkU6ImNvbXBhc3MiLFRBQl9IT01FOiJob21lIixUQUJfSE9NRV9DQUlSTzoiaG9tZV9jYWlybyIsVEFCX0lOQk9YOiJtYWlsIixUQUJfTElLRUQ6InRodW1iX3VwIixUQUJfTVVTSUNfUFJFTUlVTToieW91dHViZV9tdXNpYyIsVEFCX1NIT1JUUzoieW91dHViZV9zaG9ydHMiLFRBQl9TSE9SVFNfQ0FJUk86InlvdXR1YmVfc2hvcnRzX2NhaXJvIixUQUJfU1VCU0NSSVBUSU9OUzoic3Vic2NyaXB0aW9ucyIsVEFCX1NVQlNDUklQVElPTlNfQ0FJUk86InN1YnNjcmlwdGlvbnNfY2Fpcm8iLFRBQl9UUkVORElORzoiZmlyZSIsVElNRVI6InN0b3B3YXRjaCIsVFJBSUxFUjoieW91dHViZV9vcmlnaW5hbHMiLApUUkVORElORzoiZmlyZSIsVFJFTkRJTkdfQ0FJUk86ImZpcmVfY2Fpcm8iLFRSRU5ESU5HX0RPV046InJhdGluZ19kb3duIixUUkVORElOR19VUDoicmF0aW5nX3VwIixUUk9QSFk6InRyb3BoeSIsVFJPUEhZX0NFTEVCUkFUSU9OUzoiZmlyZXdvcmtzIixUVU5FOiJhZGp1c3QiLFVOQkxPQ0tfVVNFUjoiYmFyX2NpcmNsZSIsVU5MSU1JVEVEOiJ5b3V0dWJlX2xvZ29faWNvbiIsVU5QTFVHR0VEX0xJVkVfR1VJREU6InJhZGFyX2xpdmUiLFVOUExVR0dFRF9TUE9SVFM6ImV5ZV9vZmYiLFVQTE9BRFM6ImxpYnJhcnkiLFVQX0FSUk9XOiJhcnJvd191cCIsVkVSVElDQUxfQUxJR05fQk9UVE9NOiJkb3dubG9hZCIsVkVSWV9IQVBQWToiZmFjZV92ZXJ5X2hhcHB5IixWRVJZX1NBRDoiZmFjZV92ZXJ5X3NhZCIsVklERU9HQU1FX0FTU0VUOiJnYW1pbmciLFZJREVPUzoicGxheV9hcnJvd19jaXJjbGUiLFZJREVPX0NBTEw6InZpZGVvX2NhbWVyYV9hZGQiLFZJREVPX0xJQlJBUllfV0hJVEU6ImxpYnJhcnkiLApWSURFT19ZT1VUVUJFOiJ5b3V0dWJlX2xvZ29faWNvbiIsVklFV19MSVNUOiJsaXN0X3ZpZXciLFZJRVdfTElTVF9DQUlSTzoibGlzdF92aWV3X2NhaXJvIixWSVNJQklMSVRZOiJleWUiLFZJU0lCSUxJVFlfT0ZGOiJleWVfb2ZmIixWT0xVTUVfTVVURToidm9sdW1lX29mZiIsVk9MVU1FX1VQOiJ2b2x1bWVfb24iLFdBTExQQVBFUjoiaW1hZ2UiLFdBUk5JTkc6ImFsZXJ0X3RyaWFuZ2xlIixXQVRDSF9ISVNUT1JZOiJhcnJvd190aW1lIixXQVRDSF9ISVNUT1JZX0NBSVJPOiJhcnJvd190aW1lX2NhaXJvIixXQVRDSF9MQVRFUjoiY2xvY2siLFdBVENIX0xBVEVSX0NBSVJPOiJjbG9ja19jYWlybyIsV0FUQ0hfUkVMQVRFRF9NSVg6InlvdXR1YmVfbWl4IixXSEFUX1RPX1dBVENIOiJob21lIixZT1VUVUJFX0NSRUFURV9SRURfTE9HTzoieW91dHViZV9jcmVhdGVfbG9nbyIsWU9VVFVCRV9NVVNJQ19NT05PQ0hST01FOiJ5b3V0dWJlX211c2ljIixZT1VUVUJFX01VU0lDX01PTk9DSFJPTUVfQ0FJUk86InlvdXR1YmVfbXVzaWNfY2Fpcm8iLApZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1JFRF8xNjoieW91dHViZV9zaG9ydHNfbm9fdHJpYW5nbGUiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfV0hJVEVfMTY6InlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlIixZT1VUVUJFX1NIT1JUU19PVVRMSU5FXzI0OiJ5b3V0dWJlX3Nob3J0cyIsWVRfT1VUTElORV9NVVNJQ18yNDoibXVzaWMifTt2YXIgeHBhPXtBQ0NFU1NfVElNRToiY2xvY2siLEFDQ09VTlRfQk9YOiJwZXJzb25fc3F1YXJlIixBQ0NPVU5UX0JPWF9DQUlSTzoicGVyc29uX3NxdWFyZSIsQUNDT1VOVF9DSVJDTEU6InBlcnNvbl9jaXJjbGUiLEFDQ09VTlRfQ0lSQ0xFX0NBSVJPOiJwZXJzb25fY2lyY2xlIixBQ0NPVU5UX0xJTktFRDoiYWNjb3VudF9saW5rIixBQ0NPVU5UX1VOTElOS0VEOiJhY2NvdW50X2xpbmsiLEFERF9DSVJDTEU6ImFkZF9jaXJjbGUiLEFERF9DSVJDTEVfT1VUTElORToiYWRkX2NpcmNsZSIsQUREX0ZSSUVORDoicGVyc29uX2NoaWxkIixBRERfTU9ERVJBVE9SOiJzaGllbGRfYWRkIixBRERfVE9fTElCUkFSWToiYm9va21hcmsiLEFERF9UT19QTEFZTElTVDoiYWRkIixBRERfVE9fUVVFVUVfVEFJTDoicXVldWUiLEFERF9UT19SRU1PVEVfUVVFVUU6InBsYXlsaXN0X2F1ZGlvIixBRERfVE9fV0FUQ0hfTEFURVI6ImNsb2NrIixBRERfVklERU9fTElOSzoiZmlsbV9zdHJpcF9hZGQiLEFETUlOX1BBTkVMX1NFVFRJTkdTOiJwZXJzb25fZ2VhciIsCkFMRVJUX1dBUk5fUkVEOiJhbGVydF90cmlhbmdsZSIsQUxJR05fTEVGVDoidGV4dF9hbGlnbl9sZWZ0IixBUlJPV1NfQUxFUlQ6ImFycm93X3NwbGl0X2FsZXJ0IixBUlJPV19CQUNLOiJhcnJvd19sZWZ0IixBUlJPV19DSVJDTEU6ImFycm93X2NvdW50ZXJjbG9ja3dpc2UiLEFSUk9XX0NJUkNMRV9QTEFZOiJyZXBsYXkiLEFSUk9XX0NJUkNMRV9SSUdIVDoiYXJyb3dfY2xvY2t3aXNlIixBUlJPV19ESUFHT05BTDoiYXJyb3dfdXBfbGVmdCIsQVJST1dfRElBR09OQUxfVVBfUklHSFQ6ImFycm93X3VwX3JpZ2h0IixBUlJPV19EUk9QX0RPV046InRyaWFuZ2xlX2Rvd24iLEFSUk9XX0RST1BfVVA6InRyaWFuZ2xlX3VwIixBUlJPV19GT1JXQVJEOiJhcnJvd19yaWdodCIsQVJST1dfUEFVU0U6InBhdXNlX2hpc3RvcnkiLEFSUk9XX1VORE86InVuZG8iLEFSVElDTEU6InRleHRfcGFnZSIsQVJUSUNMRV9BTEVSVDoidGV4dF9wYWdlX2FsZXJ0IixBUlRJQ0xFX0NIRUNLOiJ0ZXh0X3BhZ2VfY2hlY2siLApBUlRJQ0xFX0NMQVJJRlk6InRleHRfcGFnZV9pbmZvIixBUlRJU1Q6InBlcnNvbl9hdWRpbyIsQVVESU9UUkFDSzoiYXVkaW8iLEFVRElPX0JBREdFOiJhdWRpb19iYWRnZSIsQVVESU9fU1VSUk9VTkQ6InN1cnJvdW5kX3NvdW5kIixBVVRPX0FXRVNPTUU6InNwYXJrbGVzIixBVkFUQVJfQU5PTllNT1VTOiJwZXJzb25fY2lyY2xlIixBVkFUQVJfTE9HR0VEX09VVDoicGVyc29uX2NpcmNsZSIsQkFDSzoiYXJyb3dfbGVmdCIsQkFSX0NIQVJUOiJjaGFydF9iYXIiLEJBUl9DSVJDTEU6Im1pbnVzX2NpcmNsZSIsQkFSX0hPUklaT05UQUw6Im1pbnVzIixCTE9DSzoiY2lyY2xlX3NsYXNoIixCTE9DS19VU0VSOiJjaXJjbGVfc2xhc2giLEJPT0tNQVJLX0JPUkRFUjoiYm9va21hcmsiLEJPWF9PUEVOX0NIRUNLOiJxdWl6IixCT1hfUEVOQ0lMOiJzcXVhcmVfcGVuY2lsIixCT1hfU1RBQ0tfMzoic3F1YXJlM19zdGFjayIsQlJFQUtJTkdfTkVXU19BTFRfMToidGV4dF9wYWdlX2FsZXJ0IiwKQlJPQURDQVNUOiJwb2RjYXN0IixCUk9BRENBU1RfQ0FJUk86InBvZGNhc3QiLEJVR19SRVBPUlQ6ImJ1ZyIsQ0FNRVJBX0FMVDoiY2FtZXJhIixDQU1QQUlHTjoibWVnYXBob25lIixDQU5DRUw6InhfY2lyY2xlIixDQVBUSU9OUzoiY2xvc2VkX2NhcHRpb25zIixDQVNUX0lDT046ImNocm9tZWNhc3QiLENBU1RfT1VUTElORToiY2hyb21lY2FzdCIsQ0hBTk5FTF9OT1RJRklDQVRJT05fUFJFRkVSRU5DRV9PRkY6ImJlbGwiLENIQU5ORUxfTk9USUZJQ0FUSU9OX1BSRUZFUkVOQ0VfT046ImJlbGxfd2F2ZXMiLENIQVQ6InRleHRfYnViYmxlIixDSEFUX0JVQkJMRToiYnViYmxlIixDSEVDS19CT1g6ImNoZWNrX3NxdWFyZSIsQ0hFQ0tfQk9YX09VVExJTkVfQkxBTks6InNxdWFyZSIsQ0hFQ0tfQ0lSQ0xFX0ZJTExFRDoiY2hlY2tfY2lyY2xlIixDSEVDS19DSVJDTEVfT1VUTElORToiY2hlY2tfY2lyY2xlIixDSEVDS19DSVJDTEVfVEhJQ0s6ImNoZWNrX2NpcmNsZSIsQ0hFQ0tfRE9VQkxFOiJjaGVja19kb25lIiwKQ0hFQ0tfRE9VQkxFX09GRjoiY2hlY2tfZG9uZV9zbGFzaCIsQ0hFVlJPTl9MRUZUOiJjaGV2cm9uX2xlZnQiLENIRVZST05fUklHSFQ6ImNoZXZyb25fcmlnaHQiLENIRVZST05fUklHSFRfQ0FJUk86ImNoZXZyb25fcmlnaHQiLENJUkNMRVNfT1ZFUkxBUDoiYWNjb3VudF9saW5rIixDTEFQUEVSQk9BUkRfQ0FJUk86ImNsYXBwZXJib2FyZCIsQ0xBUklGWToidGV4dF9wYWdlX2luZm8iLENMT0NLX0FSUk9XUzoiY2xvY2tfc3BsaXQiLENMT0NLX0FSUk9XU19BTEVSVDoiY2xvY2tfc3BsaXRfYWxlcnQiLENMT1NFRF9DQVBUSU9OOiJjbG9zZWRfY2FwdGlvbnMiLENMT1NFRF9DQVBUSU9OX1NFTEVDVEVEOiJjbG9zZWRfY2FwdGlvbnMiLENMT1NFOiJ4IixDTE9VRF9VUExPQUQ6ImNsb3VkX2Fycm93X3VwIixDT0xMQVBTRToiY2hldnJvbl91cCIsQ09MTEFQU0VfQ0FJUk86ImNoZXZyb25fdXAiLENPTExFQ1RJT046InNxdWFyZTNkX3N0YWNrIixDT0xPUl9MRU5TOiJwYWludF9wYWxldHRlIiwKQ09NTUVOVDoidGV4dF9idWJibGUiLENPTlNFTlRfU0hJRUxEOiJwZXJzb25fc2hpZWxkIixDT05URU5UX0NVVDoic2Npc3NvcnMiLENPTlRFTlRfQ1VUX0NBSVJPOiJzY2lzc29ycyIsQ09VUlNFOiJncmFkdWF0aW9uX2NhcCIsQ09VUlNFX0NBSVJPOiJncmFkdWF0aW9uX2NhcCIsQ1JFQVRJT05fTElWRToibGl2ZSIsQ1JFQVRJT05fUE9TVDoic3F1YXJlX3BlbmNpbCIsQ1JFQVRJT05fVVBMT0FEOiJ2aWRlbyIsQ1JFQVRJT05fVVBMT0FEX1JFRDoidXBsb2FkIixDUkVBVE9SX0FDQURFTVk6ImdyYWR1YXRpb25fY2FwIixDUkVBVE9SX01FVEFEQVRBX01PTkVUSVpBVElPTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixDUkVBVE9SX01FVEFEQVRBX01PTkVUSVpBVElPTl9PRkY6ImRvbGxhcl9zaWduX2NpcmNsZV9zbGFzaCIsQ1JFQVRPUl9TVFVESU86InlvdXR1YmVfc3R1ZGlvIixEQVJLX1RIRU1FOiJ0aGVtZSIsREVMRVRFOiJ0cmFzaF9jYW4iLERFTEVURV9TV0VFUDoidHJhc2hfY2FuIiwKREVTS1RPUDoibGFwdG9wIixESVNMSUtFOiJ0aHVtYl9kb3duIixESVNMSUtFX1NFTEVDVEVEOiJ0aHVtYl9kb3duIixESVNNSVNTQUw6IngiLERJU01JU1NfUVVFVUU6InBsYXlsaXN0X3giLERPR0ZPT0Q6InBhd3ByaW50IixET0xMQVJfU0lHTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixET0xMQVJfU0lHTl9DSVJDTEU6ImRvbGxhcl9zaWduX2NpcmNsZSIsRE9MTEFSX1NJR05fQ09OVEFJTkVSOiJkb2xsYXJfc2lnbl9yZWN0YW5nbGUiLERPV05fQVJST1c6ImFycm93X2Rvd24iLERPX05PVF9ESVNUVVJCOiJjaXJjbGVfc2xhc2giLERSQUZUOiJkb2N1bWVudCIsRFJBR19IQU5ETEU6ImVxdWFsIixFQVJUSDoiZ2xvYmUiLEVESVQ6InBlbmNpbCIsRU1PSkk6ImZhY2VfdmVyeV9oYXBweSIsRU1PSklfRkxBR1M6ImZsYWciLEVNT0pJX09CSkVDVFM6ImxpZ2h0YnVsYiIsRU1PSklfUEVPUExFOiJmYWNlX3ZlcnlfaGFwcHkiLEVNT0pJX1JFQ0VOVDoiY2xvY2siLEVNUFRZX0hFQVJUOiJoZWFydCIsCkVNUFRZX0xJS0U6InRodW1iX3VwIixFUlJPUl9CTEFDSzoiYWxlcnRfY2lyY2xlIixFUlJPUl9PVVRMSU5FOiJhbGVydF9jaXJjbGUiLEVSUk9SX1dISVRFOiJhbGVydF9jaXJjbGUiLEVYSVRfQVBQOiJhcnJvd19pbiIsRVhJVF9UT19BUFA6ImFycm93X2luIixFWFBBTkQ6ImNoZXZyb25fZG93biIsRVhQQU5EX0FMTDoiY2hldnJvbl9leHBhbmQiLEVYUEFORF9DQUlSTzoiY2hldnJvbl9kb3duIixFWFBBTkRfTEVTUzoiY2hldnJvbl91cCIsRVhQQU5EX01PUkU6ImNoZXZyb25fZG93biIsRVhQTE9SRToiY29tcGFzcyIsRVhQTE9SRV9ERVNUSU5BVElPTjoiY29tcGFzcyIsRVhURVJOQUxfTElOSzoiYXJyb3dfdXBfcmlnaHQiLEVZRV9PRkY6ImV5ZV9zbGFzaCIsRkFCX1VQTE9BRDoidXBsb2FkIixGQUNFX0hBUFBZX09VVExJTkU6ImZhY2VfaGFwcHkiLEZBQ0VfTUVIOiJmYWNlX25ldXRyYWwiLEZBQ1RfQ0hFQ0s6InRleHRfcGFnZV9jaGVjayIsRkFTSElPTl9MT0dPOiJmYXNoaW9uIiwKRkFTSElPTl9MT0dPX0NBSVJPOiJmYXNoaW9uIixGQVZPUklURToidGh1bWJfdXAiLEZFRURCQUNLOiJhbGVydF9idWJibGUiLEZFRURCQUNLX0NBSVJPOiJhbGVydF9idWJibGUiLEZJTExfQVJST1dfU09MSURfRE9XTl8xNjoiYXJyb3dfc29saWRfZG93biIsRklMTF9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLEZJTExfRE9MTEFSX1NJR05fSEVBUlRfMTI6ImRvbGxhcl9zaWduX2hlYXJ0IixGSVJTVF9QQUdFOiJjaGV2cm9uX2xlZnRfZW5kIixGTEFHX0NBSVJPOiJmbGFnIixGTEFTSF9PRkY6ImZsYXNoX3NsYXNoIixGTEFTSF9PTjoiZmxhc2giLEZVTExfSEVBUlQ6ImhlYXJ0IixHQU1JTkdfTE9HTzoiZ2FtaW5nIixHQU1JTkdfTE9HT19DQUlSTzoiZ2FtaW5nIixHT19UT19QQUdFOiJhcnJvd19yaWdodCIsR1JJRF9BU1lNTUVUUklDQUw6ImRhc2hib2FyZCIsR1JPVVBTOiJwZXJzb24zIixIQU5EX1NXSVBFX0xFRlQ6Imdlc3R1cmVfc3dpcGVfbGVmdCIsSEFORF9TV0lQRV9SSUdIVDoiZ2VzdHVyZV9zd2lwZV9yaWdodCIsCkhBUFBZOiJmYWNlX2hhcHB5IixIRUFMVEhfQU5EX1NBRkVUWToic2hpZWxkX2hlYWx0aCIsSEVBUlRfQk9YOiJoZWFydF9jdWJlIixIRUxQOiJoZWxwX2NpcmNsZSIsSEVMUF9DQUlSTzoiaGVscF9jaXJjbGUiLEhFTFBfT1VUTElORToiaGVscF9jaXJjbGUiLEhJREU6ImNpcmNsZV9zbGFzaCIsSU5DT0dOSVRPX0NBSVJPOiJpbmNvZ25pdG8iLElORklOSVRZX0lDT046ImluZmluaXR5IixJTkZPOiJpbmZvX2NpcmNsZSIsSU5GT19PVVRMSU5FOiJpbmZvX2NpcmNsZSIsSU5TRVJUX0NIQVJUOiJjaGFydF9iYXJfc3F1YXJlIixJTlNFUlRfQ0hBUlRfT1VUTElORUQ6ImNoYXJ0X2Jhcl9zcXVhcmUiLElOU0VSVF9QSE9UTzoiaW1hZ2UiLEtFRVA6InBpbiIsS0VFUF9PRkY6InBpbl9zbGFzaCIsS0VZQk9BUkQ6ImtleWJvYXJkIixLRVlCT0FSRF9BUlJPV19ET1dOOiJjaGV2cm9uX2Rvd24iLEtFWUJPQVJEX0FSUk9XX1VQOiJjaGV2cm9uX3VwIixLSURTX0JMT0NLOiJjaXJjbGVfc2xhc2giLApMQU5HVUFHRToiZ2xvYmUiLExBU1RfUEFHRToiY2hldnJvbl9yaWdodF9lbmQiLExBVU5DSDoiYXJyb3dfdXBfcmlnaHQiLExFQVJOSU5HOiJsaWdodGJ1bGIiLExFQVJOSU5HX0NBSVJPOiJsaWdodGJ1bGIiLExJQlJBUllfQUREOiJib29rbWFyayIsTElCUkFSWV9JTUFHRToiaW1hZ2Vfc3RhY2siLExJQlJBUllfTVVTSUM6ImF1ZGlvX3NxdWFyZV9zdGFjayIsTElCUkFSWV9PVVRMSU5FOiJwbGF5X3NxdWFyZV9zdGFjayIsTElCUkFSWV9SRU1PVkU6ImJvb2ttYXJrIixMSUJSQVJZX1NBVkVEOiJjaGVja19zcXVhcmVfc3RhY2siLExJS0VTX1BMQVlMSVNUOiJ0aHVtYl91cCIsTElLRVNfUExBWUxJU1RfQ0FJUk86InRodW1iX3VwIixMSUtFOiJ0aHVtYl91cCIsTElLRV9TRUxFQ1RFRDoidGh1bWJfdXAiLExJU1RfUVVFVUU6InF1ZXVlIixMSVZFX0NBSVJPOiJsaXZlIixMSVZFX1VOTElTVEVEOiJsaW5rIixMT0NBVElPTl9PTjoibG9jYXRpb25fcGluIixMT0NBVElPTl9QSU46ImxvY2F0aW9uX3BpbiIsCkxPQ0FUSU9OX1BPSU5UOiJsb2NhdGlvbl9waW4iLExPT1A6InJlcGVhdCIsTE9PUF9BQ1RJVkU6InJlcGVhdCIsTE9PUF9PTkU6InJlcGVhdDEiLExPT1BfT05FX0FDVElWRToicmVwZWF0MSIsTUVFVDoiZ29vZ2xlX21lZXQiLE1FSDoiZmFjZV9uZXV0cmFsIixNRU1CRVJTSElQUzoibWVtYmVyc2hpcHMiLE1FTUJFUlNfT05MWV9NT0RFX09GRjoidGV4dF9idWJibGUiLE1FTlVfRklMVEVSOiJmaWx0ZXIiLE1FU1NBR0U6InRleHRfYnViYmxlIixNRVNTQUdFX0JVQkJMRV9HRUFSOiJidWJibGVfZ2VhciIsTUVTU0FHRV9CVUJCTEVfTEVGVDoidGV4dF9idWJibGUiLE1FU1NBR0VfQlVCQkxFX0xFRlRfQk9PU1Q6ImJ1YmJsZV9zcGFya2xlcyIsTUVTU0FHRV9CVUJCTEVfT1ZFUkxBUDoiYnViYmxlX3N0YWNrIixNRVNTQUdFX0JVQkJMRV9RVUVTVElPTjoiaGVscF9idWJibGUiLE1JQ1JPUEhPTkVfT046Im1pYyIsTU9ORVRJWkFUSU9OX09OOiJkb2xsYXJfc2lnbl9jaXJjbGUiLE1PTkVZX0ZJTEw6ImRvbGxhcl9zaWduX3JlY3RhbmdsZSIsCk1PTkVZX0ZJTExfSlBZOiJ5ZW5fc2lnbl9yZWN0YW5nbGUiLE1PTkVZX0hBTkQ6ImRvbGxhcl9zaWduX2NpcmNsZV9oYW5kIixNT05FWV9IRUFSVDoiZG9sbGFyX3NpZ25faGVhcnQiLE1PT05fWjoic2xlZXBfdGltZXIiLE1PUkVfSE9SSVo6Im92ZXJmbG93X2hvcml6b250YWwiLE1PUkVfVkVSVDoib3ZlcmZsb3dfdmVydGljYWwiLE1VU0lDOiJhdWRpbyIsTVVTSUNfQ0FJUk86ImF1ZGlvIixNVVNJQ19FWFBMSUNJVF9CQURHRToiZXhwbGljaXQiLE1VU0lDX05FV19SRUxFQVNFOiJhdWRpb19iYWRnZSIsTVVTSUNfTk9URV9TWU1CT0w6ImF1ZGlvIixNVVNJQ19TQ0lTU09SUzoiYXVkaW9fc2Npc3NvcnMiLE1VU0lDX1NIVUZGTEU6InNodWZmbGUiLE1ZX0NIQU5ORUw6InBlcnNvbl9jaXJjbGUiLE1ZX0xPQ0FUSU9OOiJsb2NhdGlvbl9waW4iLE1ZX1ZJREVPUzoidmlkZW8iLE1ZX1ZJREVPU19DQUlSTzoidmlkZW8iLE5FV1NfQ0FJUk86Im5ld3MiLE5FV1NfU1RPUlk6Im5ld3MiLApORVhUOiJjaGV2cm9uX3JpZ2h0IixOT1RFX0FERDoiYnViYmxlX3BlbmNpbCIsTk9USUZJQ0FUSU9OUzoiYmVsbCIsTk9USUZJQ0FUSU9OU19BQ1RJVkU6ImJlbGxfd2F2ZXMiLE5PVElGSUNBVElPTlNfQ0FJUk86ImJlbGwiLE5PVElGSUNBVElPTlNfRE9ORV9DSEVDS01BUks6ImNoZWNrIixOT1RJRklDQVRJT05TX0lOQk9YOiJiZWxsIixOT1RJRklDQVRJT05TX05PTkU6ImJlbGwiLE5PVElGSUNBVElPTlNfT0ZGOiJiZWxsX3NsYXNoIixOT1RfSU5URVJFU1RFRDoiY2lyY2xlX3NsYXNoIixPRkZJQ0lBTF9BUlRJU1RfQkFER0U6ImF1ZGlvIixPRkZMSU5FX0NMT1VEOiJjbG91ZF9zbGFzaCIsT0ZGTElORV9ET1dOTE9BRDoiZG93bmxvYWQiLE9GRkxJTkVfRE9XTkxPQURfQ0FJUk86ImRvd25sb2FkIixPRkZMSU5FX1BBVVNFOiJwYXVzZSIsT1BFTl9JTl9ORVc6ImFycm93X3VwX3JpZ2h0IixPVVRMSU5FX0FESlVTVDoiYWRqdXN0IixPVVRMSU5FX0FSUk9XX1NPTElEX0RPV046ImFycm93X3NvbGlkX2Rvd24iLApPVVRMSU5FX0FSUk9XX1NPTElEX0RPV05fMTY6ImFycm93X3NvbGlkX2Rvd24iLE9VVExJTkVfQVJST1dfU09MSURfVVA6ImFycm93X3NvbGlkX3VwIixPVVRMSU5FX0FSUk9XX1NPTElEX1VQXzE2OiJhcnJvd19zb2xpZF91cCIsT1VUTElORV9CQUc6ImJhZyIsT1VUTElORV9DTE9DS19IQUxGX0NJUkNMRToiY2xvY2tfaGFsZl9kYXNoZWQiLE9VVExJTkVfTU9CSUxFX0RPV05MT0FEOiJtb2JpbGVfYXJyb3dfZG93biIsT1VUTElORV9PVkVSRkxPV19IT1JJWk9OVEFMXzMyOiJvdmVyZmxvd19ob3Jpem9udGFsIixPVVRMSU5FX09WRVJGTE9XX1ZFUlRJQ0FMOiJvdmVyZmxvd192ZXJ0aWNhbCIsT1VUTElORV9ZT1VUVUJFX0lNUFJPVkVfVFY6InN0YXJfdHYiLE9VVExJTkVfWU9VVFVCRV9TSE9SVFNfUExVUzoic2hvcnRzX2FkZCIsUEFJRDoiZG9sbGFyX3NpZ25fY2lyY2xlIixQQVVTRV9PVVRMSU5FRDoicGF1c2UiLFBBWU1FTlQ6ImNyZWRpdF9jYXJkIixQRU9QTEU6InBlcnNvbl9jaGlsZCIsClBFT1BMRV8yOiJwZXJzb24yX3JlY3RhbmdsZSIsUEVPUExFX0FMVDoicGVyc29uMiIsUEVPUExFX0dST1VQOiJwZXJzb24zIixQRU9QTEVfTk9URToiYnViYmxlX2FzdGVyaXNrIixQRVJTT05fMjoicGVyc29uMiIsUEVSU09OX0FDQ09VTlQ6InBlcnNvbl9zcXVhcmVfc3RhY2siLFBFUlNPTl9NSU5VUzoicGVyc29uX3giLFBFUlNPTl9NVVNJQzoicGVyc29uX2F1ZGlvIixQRVJTT05fUkFEQVI6InBlcnNvbl93YXZlcyIsUEVSU09OX1JBREFSX0ZJTExFRDoicGVyc29uX3dhdmVzIixQRVJTT05fU0VUVElORzoicGVyc29uX2dlYXIiLFBIT05FTElOSzoicXJfY29kZSIsUEhPTkU6InBob25lIixQSE9ORV9ET1dOTE9BRDoibW9iaWxlX2Fycm93X2Rvd24iLFBJQ1RVUkVfSU5fUElDVFVSRToicGljdHVyZV9pbl9waWN0dXJlIixQTEFZQUJMRVNfTE9HTzoicGxheWFibGVzIixQTEFZQUJMRVNfTE9HT19DQUlSTzoicGxheWFibGVzIixQTEFZTElTVFM6InBsYXlsaXN0IixQTEFZTElTVFNfQ0FJUk86InBsYXlsaXN0IiwKUExBWUxJU1RfQUREX0NIRUNLOiJib29rbWFyayIsUExBWV9BTEw6InBsYXkiLFBMQVlfQVJST1c6InBsYXkiLFBMQVlfQVJST1dfQ0lSQ0xFOiJwbGF5X2NpcmNsZSIsUExBWV9BUlJPV19IQUxGX0NJUkNMRToicGxheV9jaXJjbGVfaGFsZl9kYXNoZWQiLFBMQVlfQVJST1dfT1VUTElORUQ6InBsYXkiLFBMQVlfQ0lSQ0xFOiJwbGF5X2NpcmNsZSIsUExBWV9PVVRMSU5FRDoicGxheV9jaXJjbGUiLFBPRENBU1RfQUREOiJwb2RjYXN0X2FkZCIsUE9EQ0FTVF9DSEVDSzoicG9kY2FzdF9jaGVjayIsUFJJVkFDWV9JTkZPOiJzaGllbGRfeCIsUFJJVkFDWV9QUklWQVRFOiJsb2NrIixQUklWQUNZX1BVQkxJQzoiZ2xvYmUiLFBSSVZBQ1lfVU5MSVNURUQ6ImxpbmsiLFBST01PVEU6Im1lZ2FwaG9uZSIsUFVSQ0hBU0VTOiJwcmljZV90YWciLFBVUkNIQVNFX1NVUEVSX0NIQVQ6InN1cGVyX2NoYXQiLFBVUkNIQVNFX1NVUEVSX1NUSUNLRVI6InN1cGVyX3N0aWNrZXIiLFFVRVNUSU9OX0FOU1dFUjoiaGVscF9idWJibGUiLApRVUVTVElPTl9DSVJDTEU6ImhlbHBfY2lyY2xlIixRVUVVRV9QTEFZX0xBU1Q6InF1ZXVlX2xhc3QiLFFVRVVFX1BMQVlfTkVYVDoicXVldWVfbmV4dCIsUVVPVEFUSU9OX01BUks6InF1b3RlIixSQURBUl9MSVZFOiJsaXZlIixSRU1PVkU6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0NJUkNMRToibWludXNfY2lyY2xlIixSRU1PVkVfQ0lSQ0xFX09VVExJTkU6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0ZST01fSElTVE9SWToibWludXNfY2lyY2xlIixSRU1PVkVfRlJPTV9QTEFZTElTVDoibWludXNfY2lyY2xlIixSRU1PVkVfTU9ERVJBVE9SOiJzaGllbGRfc2xhc2giLFJFUExBWToiYXJyb3dfY291bnRlcmNsb2Nrd2lzZSIsUkVQTEFZXzEwOiJza2lwMTBfYmFjayIsUkVQTEFZX0FSUk9XOiJyZXBsYXkiLFJFUE9SVF9QUk9CTEVNOiJhbGVydF90cmlhbmdsZSIsUlNTX09GRjoicnNzX3NsYXNoIixTQUQ6ImZhY2Vfc2FkIixTQVZFX1BMQVlMSVNUOiJib29rbWFyayIsU0NIRURVTEU6ImNsb2NrIiwKU0NIT09MOiJncmFkdWF0aW9uX2NhcCIsU0NSRUVOX0RFRkFVTFQ6InBsYXllcl9kZWZhdWx0IixTQ1JFRU5fRlVMTFNDUkVFTjoicGxheWVyX2Z1bGxfZW50ZXIiLFNDUkVFTl9MSUdIVDoiYW1iaWVudF9tb2RlIixTQ1JFRU5fUk9UQVRJT046InJvdGF0ZV9wb3J0cmFpdCIsU0NSRUVOX1NXSVRDSDoicGxheWVyX3N3aXRjaCIsU0NSRUVOX1RIRUFUUkU6InBsYXllcl90aGVhdGVyIixTRUFSQ0hfQ0FJUk86InNlYXJjaCIsU0VBUkNIX0hJU1RPUlk6Imhpc3RvcnkiLFNFTEw6InByaWNlX3RhZyIsU0VUVElOR1M6ImdlYXIiLFNFVFRJTkdTX0NBSVJPOiJnZWFyIixTRVRUSU5HU19MSUdIVDoiZ2VhciIsU0VUVElOR1NfTUFURVJJQUw6ImdlYXIiLFNFVFRJTkdTX1JFTU9URToicmVtb3RlX3dhdmVzIixTSEFSRToic2hhcmUiLFNIQVJFX0FSUk9XOiJzaGFyZSIsU0hBUkVfQ0FJUk86InNoYXJlIixTSElFTEQ6InNoaWVsZF94IixTSElFTERfRU1QVFk6InNoaWVsZCIsU0hJRUxEX09GRjoic2hpZWxkX3NsYXNoIiwKU0hJRUxEX1dJVEhfQVZBVEFSOiJwZXJzb25fc2hpZWxkIixTSE9QUElOR19CQUc6ImJhZyIsU0hPUFBJTkdfQkFHX0NBSVJPOiJiYWciLFNIT1BQSU5HX0NBUlQ6ImNhcnQiLFNIT1JUU19DT01NRU5UOiJ0ZXh0X2J1YmJsZSIsU0hPUlRTX0RJU0xJS0U6InRodW1iX2Rvd24iLFNIT1JUU19MSUtFOiJ0aHVtYl91cCIsU0hPUlRTX1NIQVJFOiJzaGFyZSIsU0tJUF9GT1JXQVJEXzMwOiJza2lwMzBfZm9yd2FyZCIsU0xBU0hfQ0lSQ0xFX0xFRlQ6ImNpcmNsZV9zbGFzaCIsU0xBU0hfQ0lSQ0xFX1JJR0hUOiJjaXJjbGVfc2xhc2giLFNMT1dfTU9ERToiYnViYmxlX3Nsb3ciLFNMT1dfTU9ERV9PRkY6InRleHRfYnViYmxlIixTTE9XX01PVElPTl9WSURFTzoicGxheV9jaXJjbGVfaGFsZl9kYXNoZWQiLFNPQ0lBTDoicGVyc29uX2NoaWxkIixTUEFSS0xFOiJzcGFya2xlcyIsU1BBUktfSU1BR0U6ImltYWdlX3NwYXJrIixTUEFSS19MSUdIVEJVTEJfT1VUTElORToic3BhcmtfbGlnaHRidWxiIiwKU1BBUktfUEVOQ0lMOiJwZW5jaWxfc3BhcmsiLFNQQVJLX1JBREFSOiJzcGFya193YXZlcyIsU1BBUktfVklERU86InZpZGVvX3NwYXJrIixTUEVBS0VSX0dST1VQOiJzcGVha2VyX3N0YWNrIixTUEVBS0VSX09GRjoic3BlYWtlcl9zbGFzaCIsU1BFRURfMVg6Im4xeCIsU1BFRURfMV9QT0lOVF8yWDoibjFwb2ludDJ4IixTUEVFRF8xX1BPSU5UXzVYOiJuMXBvaW50NXgiLFNQRUVEXzFfUE9JTlRfOFg6Im4xcG9pbnQ4eCIsU1BFRURfMlg6Im4yeCIsU1BPTlNPUlNISVBfU1RBUjoic3Rhcl9jaXJjbGUiLFNQT1JUUzoiYmFza2V0YmFsbCIsU1BPVExJR0hUOiJzcG90bGlnaHQiLFNUQUZGX1BJQ0s6InNwb3RsaWdodCIsU1RBUlRfRFZSOiJhZGQiLFNUQVJfQk9SREVSOiJzdGFyIixTVEFSX0NJUkNMRV9SSUJCT046Im1lbWJlcnNoaXBzX2dpZnQiLFNUQVJfSEFMRjoic3Rhcl9mdWxsX2hhbGYiLFNUQVJfU0hPT1RJTkc6Imh5cGUiLFNUSUNLRVI6InN0aWNrZXIiLFNUSUNLRVJfRU1PVElDT046ImZhY2VfaGFwcHkiLApTVE9QX0RWUjoic3RvcCIsU1VCU0NSSUJFOiJ5b3V0dWJlIixTVUJTQ1JJQkVfUExVUzoiYWRkIixTVUJTQ1JJUFRJT05fTUFOQUdFUjoiZ2VhciIsU1VQRVJTVEFSOiJzdXBlcl9zdGFyIixTVVBFUlZJU09SX0FDQ09VTlQ6InBlcnNvbl9jaGlsZCIsU1VQRVJfQ0hBVF9GT1JfR09PRDoiaGFuZHNfaGVhcnQiLFNXQVBfSE9SSVo6ImFycm93X3N3YXBfaG9yaXpvbnRhbCIsU1dJVENIX0FDQ09VTlRTOiJwZXJzb25fc3F1YXJlX3N0YWNrIixUQUJfQUNDT1VOVDoicGVyc29uIixUQUJfQUNUSVZJVFk6ImJlbGwiLFRBQl9CT09LTUFSSzoiYm9va21hcmsiLFRBQl9FWFBMT1JFOiJjb21wYXNzIixUQUJfSE9NRToiaG9tZSIsVEFCX0hPTUVfQ0FJUk86ImhvbWUiLFRBQl9JTkJPWDoibWFpbCIsVEFCX0xJS0VEOiJ0aHVtYl91cCIsVEFCX01VU0lDX1BSRU1JVU06InlvdXR1YmVfbXVzaWMiLFRBQl9TSE9SVFM6InNob3J0cyIsVEFCX1NIT1JUU19DQUlSTzoic2hvcnRzIixUQUJfU1VCU0NSSVBUSU9OUzoic3Vic2NyaXB0aW9ucyIsClRBQl9TVUJTQ1JJUFRJT05TX0NBSVJPOiJzdWJzY3JpcHRpb25zIixUQUJfVFJFTkRJTkc6InRyZW5kaW5nIixUQVJHRVQ6InRhcmdldCIsVEFSR0VUX0FERDoidGFyZ2V0X2FkZCIsVEVNUExBVEVfQUREOiJ0ZW1wbGF0ZV9hZGQiLFRFWFQ6ImZvbnQiLFRJQ0tFVF9TVEFSOiJzdGFyX3RpY2tldCIsVElNRVI6InN0b3B3YXRjaCIsVFJFTkRJTkdfQ0FJUk86InRyZW5kaW5nIixUUkVORElOR19ET1dOOiJhcnJvd190cmVuZF9kb3duIixUUkVORElOR19VUDoiYXJyb3dfdHJlbmRfdXAiLFRST1BIWV9DQUlSTzoidHJvcGh5IixUUk9QSFlfQ0VMRUJSQVRJT05TOiJmaXJld29ya3MiLFRST1BIWV9TVEFSOiJzdGFyX3Ryb3BoeSIsVFVORToiYWRqdXN0IixUVl9PRkY6InR2X3NsYXNoIixVTkJMT0NLX1VTRVI6Im1pbnVzX2NpcmNsZSIsVU5GQVZPUklURToidGh1bWJfZG93biIsVU5MSU1JVEVEOiJ5b3V0dWJlIixVTlBMVUdHRURfTElWRV9HVUlERToibGl2ZSIsVU5QTFVHR0VEX1NQT1JUUzoiZXllX3NsYXNoIiwKVVBMT0FEUzoicGxheV9zcXVhcmVfc3RhY2siLFVQX0FSUk9XOiJhcnJvd191cCIsVkVSVElDQUxfQUxJR05fQk9UVE9NOiJjaGV2cm9uX2Rvd25fZW5kIixWRVJUSUNBTF9BTElHTl9UT1A6ImNoZXZyb25fdXBfZW5kIixWRVJZX0hBUFBZOiJmYWNlX3ZlcnlfaGFwcHkiLFZFUllfU0FEOiJmYWNlX3Zlcnlfc2FkIixWSURFT1M6InBsYXlfY2lyY2xlIixWSURFT19DQUxMOiJ2aWRlb19jYW1lcmFfYWRkIixWSURFT19MSUJSQVJZX1dISVRFOiJwbGF5X3NxdWFyZV9zdGFjayIsVklERU9fUVVBTElUWV80SzoibjRrIixWSURFT19RVUFMSVRZXzhLOiJuOGsiLFZJREVPX1lPVVRVQkU6InlvdXR1YmUiLFZJRVdfTElTVF9DQUlSTzoidmlld19saXN0IixWSUVXX01PRFVMRToidmlld19jb2x1bW4zX3JvdzIiLFZJU0lCSUxJVFk6ImV5ZSIsVklTSUJJTElUWV9PRkY6ImV5ZV9zbGFzaCIsVk9MVU1FX0RPV046InZvbHVtZV9taW4iLFZPTFVNRV9NVVRFOiJ2b2x1bWVfbXV0ZSIsVk9MVU1FX09GRjoidm9sdW1lX211dGUiLApWT0xVTUVfU1RBQkxFOiJzdGFibGVfdm9sdW1lIixWT0xVTUVfVVA6InZvbHVtZV9tYXgiLFdBTExQQVBFUjoiaW1hZ2UiLFdBUk5JTkc6ImFsZXJ0X3RyaWFuZ2xlIixXQVRDSF9ISVNUT1JZOiJoaXN0b3J5IixXQVRDSF9ISVNUT1JZX0NBSVJPOiJoaXN0b3J5IixXQVRDSF9MQVRFUjoiY2xvY2siLFdBVENIX0xBVEVSX0NBSVJPOiJjbG9jayIsV0FUQ0hfUkVMQVRFRF9NSVg6Im1peCIsV0hBVF9UT19XQVRDSDoiaG9tZSIsWU9VVFVCRV9DUkVBVEVfUkVEX0xPR086InlvdXR1YmVfY3JlYXRlX2xvZ28iLFlPVVRVQkVfTElOS0VEX1RWOiJ0dl9tb2JpbGUiLFlPVVRVQkVfTVVTSUNfTU9OT0NIUk9NRToieW91dHViZV9tdXNpYyIsWU9VVFVCRV9NVVNJQ19NT05PQ0hST01FX0NBSVJPOiJ5b3V0dWJlX211c2ljIixZT1VUVUJFX1NIT1JUU19BUlJPV19ET1dOOiJhcnJvd19kb3duIixZT1VUVUJFX1NIT1JUU19BUlJPV19VUDoiYXJyb3dfdXAiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfUkVEXzE2OiJzaG9ydHNfZW1wdHkiLApZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1dISVRFXzE2OiJzaG9ydHNfZW1wdHkiLFlPVVRVQkVfU0hPUlRTX09VVExJTkVfMjQ6InNob3J0cyIsWU9VVFVCRV9TSE9SVFNfT1VUTElORV9XSVRIX1RFWFRfMjQ6InNob3J0c190ZXh0X2xvZ28iLFlUX09VVExJTkVfTVVTSUNfMjQ6ImF1ZGlvIn07dmFyIFZxYT17MTU6W1sxLDMsMjRdXSwiMV9wb2ludF8yeCI6W1sxLDEsMjRdXSwiMV9wb2ludF81eCI6W1sxLDEsMjRdXSwiMV9wb2ludF84eCI6W1sxLDEsMjRdXSwiMXgiOltbMSwxLDI0XV0sIjJfcG9pbnRfNXgiOltbMSwxLDI0XV0sIjJkIjpbWzEsMSwyNF1dLCIyeCI6W1sxLDMsMjRdXSwiM2QiOltbMSwxLDI0XV0sIjN4IjpbWzEsMywyNF1dLCI0ZCI6W1sxLDEsMjRdXSwiNGsiOltbMCwzLDI0XSxbMSwzLDI0XV0sNjA6W1sxLDMsMjRdXSwiOGsiOltbMCwyLDI0XSxbMSwyLDI0XV0sYWNjZXNzaWJpbGl0eTpbWzEsNCwyNF1dLGFjY291bnRfbGluazpbWzEsOCwyNF1dLGFjY291bnRfbGlua19lcnJvcjpbWzEsNiwyNF1dLGFjY291bnRfbGlua19zb21lOltbMCw1LDI0XV0sYWNjb3VudF9saW5rX3N1Y2Nlc3M6W1swLDUsMjRdXSxhZGQ6W1sxLDksMTZdLFsxLDksMjRdXSxhZGRfY2Fpcm86W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMjRdXSxhZGRfY2lyY2xlOltbMSw2LDI0XSwKWzEsNiwzNl1dLGFkZF9oYWxmX2NpcmNsZTpbWzEsMiwyNF1dLGFkanVzdDpbWzAsOSwyNF0sWzEsOSwxOF0sWzEsOSwyNF1dLGFpcnBsYW5lOltbMCw1LDI0XSxbMSw1LDIwXSxbMSw1LDI0XV0sYWlycGxheTpbWzEsNiwxNl0sWzEsNiwyNF1dLGFpcnBsYXlfb2ZmOltbMSwxLDI0XV0sYWxidW06W1swLDgsMjRdLFsxLDgsMjRdXSxhbGVydF9jaXJjbGU6W1swLDExLDI0XSxbMSwxMSwxNl0sWzEsMTEsMjRdXSxhbGVydF90cmlhbmdsZTpbWzAsMTAsMTJdLFswLDEwLDI0XSxbMSwxMCwyNF1dLGFsaWduX2NlbnRlcjpbWzAsNiwyNF0sWzEsNiwyNF1dLGFsaWduX2xlZnQ6W1swLDYsMjRdLFsxLDYsMjRdXSxhbGlnbl9yaWdodDpbWzAsNiwyNF0sWzEsNiwyNF1dLGFycm93X2NhcHM6W1swLDIsMjRdLFsxLDIsMjRdXSxhcnJvd19jaXJjbGU6W1sxLDYsMjRdLFsxLDYsNDhdXSxhcnJvd19jaXJjbGVfZGFzaDpbWzEsMSwyNF1dLGFycm93X2NpcmNsZV9wbGF5OltbMSwxLDI0XSxbMSwxLAozNl0sWzEsMSw0OF1dLGFycm93X2NpcmNsZV9yaWdodDpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywxNl0sWzEsMywxOF0sWzEsMywyNF1dLGFycm93X2RpYWdvbmFsOltbMSw1LDI0XV0sYXJyb3dfZGlhZ29uYWxfZG93bl9yaWdodDpbWzAsMSwxMl0sWzAsMSwxNl0sWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxMl0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLGFycm93X2RpYWdvbmFsX3VwX3JpZ2h0OltbMCwxLDEyXSxbMCwxLDE2XSxbMCwxLDE4XSxbMCwxLDI0XSxbMSwxLDEyXSxbMSwxLDE2XSxbMSwxLDE4XSxbMSwxLDI0XV0sYXJyb3dfZG93bjpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X2Rvd25fY2lyY2xlOltbMCw0LDEyXSxbMCw0LDE2XSxbMCw0LDE4XSxbMCw0LDI0XV0sYXJyb3dfZmxpcDpbWzEsMTAsMTZdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLGFycm93X2ZsaXBfZG9sbGFyX3NpZ246W1sxLDIsMjRdXSxhcnJvd19pbjpbWzAsOCwyNF0sWzEsOCwyNF1dLGFycm93X2xlZnQ6W1sxLAo4LDI0LCEwXV0sYXJyb3dfbGVmdF9jYWlybzpbWzEsMiwyNCwhMF1dLGFycm93X21lcmdlOltbMSwyLDI0XV0sYXJyb3dfb3V0OltbMCwyLDI0XV0sYXJyb3dfcGF1c2U6W1sxLDEsMjRdXSxhcnJvd19yZWRvOltbMSwxLDI0XV0sYXJyb3dfcmVtaXg6W1sxLDEsMjRdXSxhcnJvd19yZXBlYXQ6W1swLDUsMjRdLFsxLDUsMjRdXSxhcnJvd19yZXBlYXRfMTpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X3JpZ2h0OltbMSwzLDI0LCEwXV0sYXJyb3dfc2h1ZmZsZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGFycm93X3NraXBfZm9yd2FyZDpbWzAsMSwyNF0sWzEsMSwyNF1dLGFycm93X3NvbGlkX2Rvd246W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSxhcnJvd19zb2xpZF91cDpbWzAsNCwxNl0sWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLGFycm93X3NwbGl0OltbMCwzLDI0XSxbMSwzLDI0XV0sYXJyb3dfc3dhcF9ob3Jpem9udGFsOltbMCw1LDI0XSxbMSw1LDE4XSwKWzEsNSwyNF1dLGFycm93X3RpbWU6W1swLDgsMjRdLFsxLDgsMjRdXSxhcnJvd190aW1lX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJyb3dfdGltZV9mb3J3YXJkOltbMSwxLDI0XV0sYXJyb3dfdW5kbzpbWzEsMSwyNF1dLGFycm93X3VwOltbMCwzLDI0XSxbMSwzLDI0XV0sYXJyb3dfdXBfY2lyY2xlOltbMCw0LDEyXSxbMCw0LDE2XSxbMCw0LDE4XSxbMCw0LDI0XV0sYXJyb3dzX2FsZXJ0OltbMSwxLDI0XV0sYXJ0aWNsZTpbWzEsMiwyNF1dLGFydGljbGVfYWxlcnQ6W1sxLDIsMjRdXSxhcnRpY2xlX2NoZWNrOltbMSwyLDI0XV0sYXJ0aWNsZV9jbGFyaWZ5OltbMSwyLDI0XV0sYXVkaW86W1swLDE0LDEyXSxbMCwxNCwxNl0sWzAsMTQsMThdLFswLDE0LDI0XSxbMSwxNCwxOF0sWzEsMTQsMjRdXSxhdWRpb19iYWRnZTpbWzAsMywxMl0sWzAsMywxNl0sWzAsMywyNF1dLGF1ZGlvX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sYXVkaW9fb2ZmOltbMSwyLDI0XV0sYXVkaW9fc3Vycm91bmQ6W1swLAoxLDI0XSxbMSwxLDI0XV0sYmFja2dyb3VuZDpbWzEsMSwyNF1dLGJhY2tzcGFjZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGJhZzpbWzAsNywxMl0sWzAsNywxOF0sWzAsNywyNF0sWzEsNywxOF0sWzEsNywyNF1dLGJhZ19ib29rbWFyazpbWzEsMiwyNF1dLGJhZ19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGJhcl9jaXJjbGU6W1sxLDQsMjRdXSxiYXJfZ3JhcGg6W1swLDIsMjRdLFsxLDIsMjRdXSxiYXJfZ3JhcGhfYm94X3ZlcnRpY2FsOltbMCw2LDI0XSxbMSw2LDI0XV0sYmFyX2hvcml6b250YWw6W1sxLDIsMTZdLFsxLDIsMjRdXSxiYXJzXzI6W1sxLDksMTZdLFsxLDksMjRdXSxiYXJzXzM6W1swLDIsMjRdLFsxLDIsMjRdXSxiZWFrZXI6W1sxLDIsMjRdXSxiZWxsOltbMCwxMSwyNF0sWzEsMTEsMjRdXSxiZWxsX2NhaXJvOltbMCwzLDI0XSxbMSwzLDI0XV0sYmVsbF9vZmY6W1sxLDUsMjRdXSxiZWxsX29mZl9jYWlybzpbWzEsMiwyNF1dLGJlbGxfb246W1swLDcsMjRdXSxiZWxsX29uX2NhaXJvOltbMCwKMiwyNF1dLGJsdXI6W1sxLDIsMjRdXSxib29rOltbMSwzLDI0XV0sYm9va21hcms6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGJvb2ttYXJrX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sYm94XzNkOltbMCwxLDI0XSxbMSwxLDI0XV0sYm94X2JhcjpbWzAsMywyNF1dLGJveF9jaGVjazpbWzAsNiwxOF0sWzAsNiwyNF0sWzAsNiwzNl0sWzEsNiwyNF1dLGJveF9jaGV2cm9uX3JpZ2h0OltbMSwzLDI0XV0sYm94X2Rhc2hlZF90cmlhbmdsZTpbWzEsMywyNF1dLGJveF9lbXB0eTpbWzEsNSwyNF1dLGJveF9vcGVuX2NoZWNrOltbMCw0LDI0XSxbMSw0LDE2XSxbMSw0LDI0XV0sYm94X3BlbmNpbDpbWzEsMywxNl0sWzEsMywyNF1dLGJveF9wbGFjZWhvbGRlcl9sZWZ0OltbMSwxLDI0XV0sYm94X3NlYXJjaDpbWzEsMSwyNF1dLGJveF9zdGFja18zOltbMCwxLDI0XSxbMSwxLDI0XV0sYm94ZXNfMjpbWzEsMywyNF1dLGJyaWVmY2FzZTpbWzEsMiwyNF1dLGJyaWVmY2FzZV9zbGFzaDpbWzAsCjMsMjRdXSxicmlnaHRuZXNzOltbMCwzLDI0XSxbMSwzLDI0XV0sYnJvYWRjYXN0OltbMCwzLDI0XSxbMSwzLDEyXSxbMSwzLDE2XSxbMSwzLDE4XSxbMSwzLDI0XSxbMSwzLDQ4XV0sYnVnOltbMCw0LDI0XSxbMSw0LDI0XV0sYnVzaW5lc3M6W1sxLDQsMjRdXSxjYWJsZTpbWzEsMiwyNF1dLGNhbGN1bGF0b3I6W1swLDMsMjRdLFsxLDMsMjRdXSxjYWxlbmRhcjpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhbWVyYTpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sY2FtZXJhX2F1ZGlvOltbMSw1LDI0XV0sY2FtZXJhX2VmZmVjdHM6W1sxLDQsMjRdXSxjYW1lcmFfZmxpcDpbWzEsNCwyNF1dLGNhbWVyYV9oYXNodGFnOltbMSw1LDI0XV0sY2FtZXJhX3N3aXRjaDpbWzAsMywyNF0sWzEsMywyNF1dLGNhcmQ6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdXSxjYXJ0OltbMCw0LDI0XSxbMSw0LDI0XV0sY2FydF9zcGFyazpbWzEsMSwyNF1dLGNhdDpbWzAsMywyNF0sWzEsMywyNF1dLGNlbGVicmF0aW9uOltbMSwKMiwyNF1dLGNoZWNrOltbMCwxMywxMl0sWzAsMTMsMTZdLFswLDEzLDI0XSxbMSwxMywxNl0sWzEsMTMsMjRdXSxjaGVja19jaXJjbGU6W1swLDEwLDE4XSxbMCwxMCwyNF0sWzEsMTAsMjRdXSxjaGVja19kb3VibGU6W1sxLDEsMjRdXSxjaGVja19kb3VibGVfb2ZmOltbMSwxLDI0XV0sY2hldnJvbl9jb2xsYXBzZTpbWzEsMywyNF1dLGNoZXZyb25fZG93bjpbWzEsOSwxOF0sWzEsOSwyNF1dLGNoZXZyb25fZG93bl9jYWlybzpbWzEsMiwyNF1dLGNoZXZyb25fZG93bl9jaXJjbGU6W1swLDMsMjRdXSxjaGV2cm9uX2V4cGFuZDpbWzEsNSwyNF1dLGNoZXZyb25fZmlyc3Q6W1sxLDEsMjRdXSxjaGV2cm9uX2xhc3Q6W1sxLDEsMjRdXSxjaGV2cm9uX2xlZnQ6W1sxLDksMTYsITBdLFsxLDksMTgsITBdLFsxLDksMjQsITBdXSxjaGV2cm9uX2xlZnRfY2lyY2xlOltbMCwzLDI0XV0sY2hldnJvbl9sZWZ0X2lvczpbWzEsMywyNF1dLGNoZXZyb25fbGVmdF9pb3NfY2Fpcm86W1sxLDIsMjRdXSwKY2hldnJvbl9yaWdodDpbWzAsNywxNiwhMF0sWzAsNywxOCwhMF0sWzAsNywyNCwhMF0sWzEsNywxNiwhMF0sWzEsNywxOCwhMF0sWzEsNywyNCwhMF1dLGNoZXZyb25fcmlnaHRfY2Fpcm86W1sxLDIsMjRdXSxjaGV2cm9uX3JpZ2h0X2NpcmNsZTpbWzAsMywyNF1dLGNoZXZyb25fcmlnaHRfaW9zOltbMSwxLDI0XV0sY2hldnJvbl91cDpbWzEsOSwxNl0sWzEsOSwxOF0sWzEsOSwyNF1dLGNoZXZyb25fdXBfY2Fpcm86W1sxLDIsMjRdXSxjaGV2cm9uX3VwX2NpcmNsZTpbWzAsMywyNF1dLGNocm9tZWNhc3Q6W1swLDExLDI0XSxbMSwxMSwyNF1dLGNocm9tZWNhc3RfYW5pbWF0ZV9mcmFtZV8xOltbMSw1LDI0XV0sY2hyb21lY2FzdF9hbmltYXRlX2ZyYW1lXzI6W1sxLDUsMjRdXSxjaHJvbWVjYXN0X2FuaW1hdGVfZnJhbWVfMzpbWzEsNSwyNF1dLGNocm9tZWNhc3RfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxjaHJvbWVjYXN0X21vYmlsZTpbWzEsNCwyNF0sWzEsNCwzNl1dLGNocm9tZWNhc3Rfd2F2ZWZvcm06W1sxLAoyLDI0XV0sY2lyY2xlOltbMCw5LDI0XSxbMSw5LDI0XV0sY2lyY2xlX2Z1bGw6W1swLDMsMjRdXSxjaXJjbGVfaGFsZl9mdWxsOltbMSwxLDI0XV0sY2lyY2xlc182OltbMCwxLDI0XV0sY2lyY2xlc19vdmVybGFwOltbMCwxLDI0XSxbMSwxLDI0XV0sY2lyY2xlc19vdmVybGFwX2NoZWNrOltbMCwxLDE2XSxbMCwxLDI0XV0sY2xhcHBlcmJvYXJkOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xhcHBlcmJvYXJkX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvY2s6W1swLDEwLDI0XSxbMSwxMCwxNl0sWzEsMTAsMjRdXSxjbG9ja19hcnJvd3M6W1sxLDEsMjRdXSxjbG9ja19hcnJvd3NfYWxlcnQ6W1sxLDEsMjRdXSxjbG9ja19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrX2hhbGZfY2lyY2xlOltbMCwxLDI0XSxbMSwxLDI0XV0sY2xvc2VkX2NhcHRpb246W1swLDExLDI0XSxbMSwxMSwyNF1dLGNsb3VkOltbMSwyLDI0XV0sY2xvdWRfYXJyb3dfZG93bjpbWzEsMywyNF1dLGNsb3VkX2Fycm93X3VwOltbMCwKNiwyNF0sWzEsNiwyNF1dLGNsb3VkX2NoZWNrOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfZWxsaXBzaXM6W1swLDMsMjRdLFsxLDMsMjRdXSxjbG91ZF9vZmY6W1sxLDIsMjRdXSxjb2RlOltbMSwyLDI0XV0sY29tcGFzczpbWzAsOSwyNF0sWzEsOSwyNF1dLGNvbXBhc3NfY2Fpcm86W1swLDEsMjRdLFsxLDEsMjRdXSxjb250cm9sbGVyOltbMCwyLDI0XSxbMSwyLDI0XV0sY29weTpbWzEsMywyNF1dLGNvcHlyaWdodDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNyZWF0b3JfYWNhZGVteTpbWzAsMywxMl0sWzAsMywxNl0sWzAsMywyNF0sWzEsMywyNF1dLGNyZWF0b3JfYWNhZGVteV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGNyZWRpdF9jYXJkOltbMSw0LDI0XV0sY3JvcDpbWzEsNCwxNl0sWzEsNCwyNF1dLGNyb3Bfcm90YXRlOltbMSwyLDI0XV0sY3Jvd246W1swLDUsMTZdLFswLDUsMjRdLFsxLDUsMTJdLFsxLDUsMTZdLFsxLDUsMjRdXSxjdWJlX3NwYXJrOltbMSwxLDI0XV0sCmN1cnZlX3M6W1swLDEsMjRdXSxkYXNoYm9hcmRfcGx1czpbWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyMF0sWzEsMSwyNF1dLGRpZV8zOltbMCw1LDI0XSxbMSw1LDI0XV0sZGlyZWN0aW9uczpbWzEsMywyNF1dLGRvZ2Zvb2Q6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbjpbWzAsNywyNF0sWzEsNywyNF1dLGRvbGxhcl9zaWduX2NpcmNsZTpbWzAsMTIsMTZdLFswLDEyLDI0XSxbMSwxMiwxNl0sWzEsMTIsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfcGF1c2U6W1sxLDIsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfcGx1czpbWzEsMSwyNF1dLGRvbGxhcl9zaWduX2NvbnRhaW5lcjpbWzEsNywyNF1dLGRvbGxhcl9zaWduX2hlYXJ0OltbMCwyNCwxMl0sWzAsMjQsMjRdLFsxLDI0LDE2XSxbMSwyNCwyNF1dLGRvbGxhcl9zaWduX29mZjpbWzEsMywyNF1dLGRvdDpbWzAsMiwxMl0sWzAsMiwyNF1dLGRvd25sb2FkOltbMCwxMSwyNF0sWzEsMTEsMTZdLFsxLDExLDI0XV0sZG93bmxvYWRfY2Fpcm86W1swLAoyLDI0XSxbMSwyLDI0XV0sZG93bmxvYWRlZDpbWzAsOCwyNF1dLGRvd25sb2FkaW5nOltbMSw1LDI0XV0sZG93bmxvYWRpbmdfMDpbWzEsNSwyNF1dLGRvd25sb2FkaW5nXzE6W1sxLDYsMjRdXSxkb3dubG9hZGluZ18yOltbMSw2LDI0XV0sZG93bmxvYWRpbmdfMzpbWzEsNiwyNF1dLGRvd25sb2FkaW5nXzQ6W1sxLDYsMjRdXSxkb3dubG9hZGluZ181OltbMSw3LDI0XV0sZG93bmxvYWRpbmdfNjpbWzEsNiwyNF1dLGRyaXZlX2FkZDpbWzEsMiwyNF1dLGVhcnRoOltbMCwxMiwyNF0sWzEsMTIsMTZdLFsxLDEyLDE4XSxbMSwxMiwyNF1dLGV4cGxpY2l0OltbMCw3LDE4XSxbMCw3LDI0XSxbMSw3LDI0XV0sZXllOltbMCw2LDI0XSxbMSw2LDI0XV0sZXllX29mZjpbWzEsNCwyNF1dLGV5ZWRyb3BwZXI6W1sxLDIsMjRdXSxmYWNlX2FkZDpbWzEsMSwyNF1dLGZhY2VfYXJyb3dzX2RpYWdvbmFsOltbMSwxLDI0XV0sZmFjZV9oYXBweTpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMSwxMiwyNF0sClsxLDEyLDM2XV0sZmFjZV9pbWFnZTpbWzEsMiwyNF1dLGZhY2VfbWVoOltbMCwxMCwyNF0sWzAsMTAsMzZdLFsxLDEwLDI0XSxbMSwxMCwzNl1dLGZhY2VfbWVoXzI6W1swLDYsMjRdLFswLDYsMzZdLFsxLDYsMjRdLFsxLDYsMzZdXSxmYWNlX3BhaW50YnJ1c2g6W1sxLDIsMjRdXSxmYWNlX3NhZDpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMSwxMiwyNF0sWzEsMTIsMzZdXSxmYWNlX3VuaGFwcHk6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFjZV91cHNldDpbWzAsMTAsMjRdLFswLDEwLDM2XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxmYWNlX3ZlcnlfaGFwcHk6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLFsxLDEyLDM2XV0sZmFjZV92ZXJ5X3NhZDpbWzAsMTAsMjRdLFswLDEwLDM2XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxmYXNoaW9uOltbMCw0LDI0XSxbMSw0LDI0XV0sZmFzaGlvbl9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGZhc3RfYmFjazpbWzAsCjMsMjRdLFsxLDMsMjRdXSxmYXN0X2ZvcndhcmQ6W1swLDUsMjRdXSxmaWxtX3N0cmlwOltbMCw3LDI0XSxbMSw3LDI0XV0sZmlsbV9zdHJpcF9hZGQ6W1sxLDIsMjRdXSxmaWx0ZXJfZmFjZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGZpbHRlcl9waG90bzpbWzAsOCwyNF0sWzEsOCwyNF1dLGZpcmU6W1swLDEwLDEyXSxbMCwxMCwyNF0sWzEsMTAsMTZdLFsxLDEwLDI0XV0sZmlyZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGZpcmV3b3JrczpbWzEsMywyNF1dLGZsYWc6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZsYWdfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxmbGFzaF9hdXRvOltbMCwzLDI0XSxbMSwzLDI0XV0sZmxhc2hfY2lyY2xlOltbMCw1LDE4XSxbMCw1LDI0XSxbMSw1LDI0XV0sZmxhc2hfb2ZmOltbMCw1LDI0XSxbMSw1LDI0XV0sZmxhc2hfb246W1swLDUsMjRdLFsxLDUsMjRdXSxmbGlwX2hvcml6b250YWw6W1sxLDQsMjRdXSxmbGlwX2hvcml6b250YWxfZGFzaDpbWzEsCjEsMjRdXSxmbGlwX3ZlcnRpY2FsX2Rhc2g6W1sxLDEsMjRdXSxmb2xkZXI6W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMjRdXSxmb250X3NxdWFyZV9zcGFyazpbWzEsMSwxNl0sWzEsMSwyNF1dLGZvb3RiYWxsOltbMCw0LDI0XSxbMSw0LDI0XV0sZ2FtaW5nOltbMCwzLDI0XSxbMSwzLDI0XV0sZ2FtaW5nX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sZ2VhcjpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sZ2Vhcl9jYWlybzpbWzAsMywyNF0sWzEsMywyNF1dLGdob3N0OltbMCw1LDI0XSxbMSw1LDI0XV0sZ2lmOltbMSwzLDI0XV0sZ2lmdDpbWzAsMywyNF0sWzEsMywyNF1dLGdsb2JlOltbMCw0LDI0XSxbMCw0LDM2XSxbMSw0LDI0XSxbMSw0LDM2XV0sZ2xvYmVfaW1hZ2U6W1swLDMsMjRdLFswLDMsMzZdLFsxLDMsMjRdLFsxLDMsMzZdXSxnbG93OltbMSwyLDI0XV0sZ29vZ2xlX2xlbnM6W1sxLDQsMjRdXSxncmVhdGVyX3RoYW5fMjA6W1sxLDIsMjRdXSxncmlkXzJ4MjpbWzEsMSwyNF1dLApncmlkXzNfYnlfMzpbWzAsMSwyNF0sWzEsMSwyNF1dLGdyaWRfYXN5bW1ldHJpY2FsOltbMCwxLDI0XSxbMSwxLDI0XV0saGFuZDpbWzEsMiwyNF1dLGhhbmRfbG9uZ19wcmVzczpbWzAsMywyNF0sWzEsMywyNF1dLGhhbmRfcGluY2hfaW46W1sxLDIsMjRdXSxoYW5kX3N3aXBlX2xlZnQ6W1sxLDEsMjRdXSxoYW5kX3N3aXBlX3JpZ2h0OltbMSwyLDI0XV0saGFuZF90YXA6W1swLDIsMjRdLFsxLDIsMjRdXSxoYW5kX3dhdmU6W1sxLDIsMjRdXSxoYW5kc19oZWFydDpbWzAsMywyNF0sWzEsMywyNF1dLGhhc2h0YWc6W1sxLDIsMTZdLFsxLDIsMThdLFsxLDIsMjBdLFsxLDIsMjRdXSxoZDpbWzAsOCwyNF0sWzEsOCwyNF1dLGhlYWRzZXQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFydDpbWzAsMTksMTNdLFswLDE5LDI0XSxbMSwxOSwxNl0sWzEsMTksMjRdXSxoZWFydF9ib3g6W1sxLDEsMjRdXSxoZWFydF9jaXJjbGU6W1sxLDIsMTZdLFsxLDIsMThdLFsxLDIsMjBdLFsxLDIsMjRdXSwKaGVhcnRfb2ZmOltbMSwyLDI0XV0saGllcmFyY2h5OltbMCw0LDI0XSxbMSw0LDI0XV0saGlnaGxpZ2h0czpbWzEsMiwyNF1dLGhvbWU6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGhvbWVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxob3VyZ2xhc3M6W1sxLDMsMTZdLFsxLDMsMjRdXSxpbWFnZTpbWzAsOCwyNF0sWzEsOCwyNF1dLGltYWdlX2FkZDpbWzEsNCwyNF1dLGltYWdlX3dhbGxwYXBlcjpbWzEsMSwyNF1dLGluY29nbml0bzpbWzAsOSwyNF0sWzEsOSwyNF1dLGluY29nbml0b19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGluZmluaXRlOltbMCwyLDI0XV0saW5maW5pdHk6W1sxLDIsMjRdXSxpbmZvX2NpcmNsZTpbWzEsMTEsMTZdLFsxLDExLDE4XSxbMSwxMSwyMF0sWzEsMTEsMjRdXSxpbmZvX2NpcmNsZV9zcGFyazpbWzEsMiwyNF1dLGpvdXJuZXk6W1sxLDIsMjRdXSxrZXk6W1sxLDUsMjRdXSxrZXlib2FyZDpbWzAsNCwyNF0sWzEsNCwyNF1dLGxhYmVsOltbMCw0LDI0XSwKWzEsNCwyNF1dLGxhcHRvcDpbWzEsMywyNF1dLGxhcHRvcF9tb2JpbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxsYXllcnM6W1swLDEsMjRdLFsxLDEsMjRdXSxsZWFmOltbMSwyLDI0XV0sbGVuczpbWzEsMSwyNF1dLGxlc3NfdGhhbl80OltbMSwyLDI0XV0sbGlicmFyeTpbWzAsNywyNF0sWzEsNywyNF1dLGxpYnJhcnlfYWRkOltbMSw3LDE2XSxbMSw3LDI0XV0sbGlicmFyeV9pbWFnZTpbWzEsMSwyNF1dLGxpYnJhcnlfbXVzaWM6W1swLDMsMjRdLFsxLDMsMjRdXSxsaWJyYXJ5X3NhdmVkOltbMCw3LDI0XV0sbGlnaHRidWxiOltbMCw0LDEyXSxbMCw0LDI0XSxbMSw0LDI0XV0sbGlnaHRidWxiX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sbGlnaHRidWxiX3NwYXJrOltbMSwyLDI0XV0sbGluazpbWzEsOCwxOF0sWzEsOCwyNF1dLGxpbmtfb2ZmOltbMSwxLDI0XV0sbGlzdF9hZGQ6W1sxLDUsMjRdXSxsaXN0X2NoZWNrOltbMCwyLDI0XV0sbGlzdF9tdXNpYzpbWzEsMywyNF1dLGxpc3RfcGVuY2lsOltbMSwKNSwyNF1dLGxpc3RfcGxheV9hcnJvdzpbWzAsOCwyNF0sWzEsOCwxMl0sWzEsOCwyNF1dLGxpc3RfcGxheV9hcnJvd19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGxpc3RfcXVldWU6W1sxLDEsMjRdXSxsaXN0X3F1ZXVlX2xhc3Q6W1swLDMsMjRdLFsxLDMsMjRdXSxsaXN0X3F1ZXVlX25leHQ6W1sxLDEsMjRdXSxsaXN0X3JlbW92ZTpbWzEsMSwyNF1dLGxpc3RfdmlldzpbWzEsMiwyNF1dLGxpc3Rfdmlld19jYWlybzpbWzEsMiwyNF1dLGxpdmVfbW9iaWxlX2xhbmRzY2FwZV9vcmllbnRhdGlvbjpbWzEsMSwyNF1dLGxpdmVfcGhvdG86W1sxLDIsMjRdXSxsaXZlX3dhdmVzOltbMSwyLDE4XSxbMSwyLDI0XV0sbG9jYXRpb25fcG9pbnQ6W1swLDYsMTJdLFswLDYsMjRdLFsxLDYsMjRdXSxsb2NhdGlvbl9wb2ludF9vZmY6W1sxLDEsMjRdXSxsb2NrOltbMCwxMywxMl0sWzAsMTMsMjRdLFsxLDEzLDEyXSxbMSwxMywxNl0sWzEsMTMsMThdLFsxLDEzLDI0XV0sbG9ja19vcGVuOltbMSwKNCwyNF1dLG1hZ2ljX3dhbmQ6W1swLDMsMjRdLFsxLDMsMjRdXSxtYWlsOltbMCw5LDI0XSxbMSw5LDI0XV0sbWFwOltbMSwzLDI0XV0sbWF0aF9hZGQ6W1swLDMsMjRdXSxtYXRoX2FuZDpbWzAsMywyNF1dLG1hdGhfZGl2aWRlOltbMCwzLDI0XV0sbWF0aF9lcXVhbHM6W1swLDMsMjRdXSxtYXRoX2VxdWFsc19zbGFzaDpbWzEsMywyNF1dLG1hdGhfZ3JlYXRlcl90aGFuOltbMCwzLDI0XV0sbWF0aF9ncmVhdGVyX3RoYW5fb3JfZXF1YWw6W1sxLDEsMjRdXSxtYXRoX2xlc3NfdGhhbjpbWzAsMywyNF1dLG1hdGhfbGVzc190aGFuX29yX2VxdWFsOltbMSw0LDI0XV0sbWF0aF9tdWx0aXBseTpbWzAsMywyNF1dLG1hdGhfb3I6W1swLDMsMjRdXSxtYXRoX3BlcmNlbnQ6W1swLDMsMjRdXSxtYXRoX3N1YnRyYWN0OltbMCwzLDI0XV0sbWF4aW1pemVfY2Fpcm86W1sxLDEsMjRdXSxtZWRhbDpbWzEsMiwyNF1dLG1lZGFsX3N0YXI6W1sxLDIsMjRdXSxtZWV0OltbMSwxLDI0XV0sbWVnYXBob25lOltbMCwKNSwyNF0sWzEsNSwyNF1dLG1lbWJlcnNoaXBzOltbMCw5LDEyXSxbMCw5LDE2XSxbMCw5LDE4XSxbMCw5LDI0XSxbMSw5LDI0XV0sbWVudGlvbjpbWzEsNSwxNl0sWzEsNSwyNF1dLG1lbnVfZmlsdGVyOltbMCwxLDI0XSxbMSwxLDI0XV0sbWVudV9zb3J0OltbMSw0LDI0XV0sbWVzc2FnZV9idWJibGVfYWxlcnQ6W1swLDYsMjRdLFsxLDYsMjRdXSxtZXNzYWdlX2J1YmJsZV9hbGVydF9jYWlybzpbWzEsMiwyNF1dLG1lc3NhZ2VfYnViYmxlX2VtcHR5OltbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfZ2VhcjpbWzEsMSwyNF1dLG1lc3NhZ2VfYnViYmxlX2xlZnQ6W1swLDEsMjRdLFsxLDEsMjRdXSxtZXNzYWdlX2J1YmJsZV9sZWZ0X2Jvb3N0OltbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfbGVmdF9vZmY6W1sxLDEsMTZdLFsxLDEsMjRdXSxtZXNzYWdlX2J1YmJsZV9vdmVybGFwOltbMCw4LDI0XSxbMSw4LDI0XV0sbWVzc2FnZV9idWJibGVfcXVlc3Rpb246W1swLDIsMTZdLFswLDIsCjI0XSxbMSwyLDE2XSxbMSwyLDI0XV0sbWVzc2FnZV9idWJibGVfcmlnaHQ6W1swLDE0LDI0XSxbMCwxNCwzMl0sWzEsMTQsMTZdLFsxLDE0LDI0XV0sbWVzc2FnZV9idWJibGVfcmlnaHRfY2FwdGlvbjpbWzEsMSwyNF1dLG1pYzpbWzAsMTQsMjRdLFsxLDE0LDI0XV0sbWljX29mZjpbWzEsMiwyNF1dLG1pbmlwbGF5ZXJfZXhpdDpbWzEsMSwyNF1dLG1vYmlsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLG1vYmlsZV9jaGVjazpbWzEsMiwyNF1dLG1vYmlsZV9kb3dubG9hZDpbWzEsMywyNF1dLG1vYmlsZV9sYW5kc2NhcGU6W1sxLDMsMjRdXSxtb2JpbGVfc2NyZWVuX2hvcml6b250YWw6W1sxLDEsMjRdXSxtb2JpbGVfc2NyZWVuX3ZlcnRpY2FsOltbMSwxLDI0XV0sbW9uZXlfaGFuZDpbWzEsMiwyNF1dLG1vbml0b3JfZGlzcGxheTpbWzAsNCwxNl0sWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLG1vbml0b3JfZGlzcGxheV9vZmY6W1sxLDEsMjRdXSxtb29uX3o6W1swLDEsMjRdLFsxLAoxLDI0XV0sbW90aW9uOltbMSwyLDI0XV0sbW92ZTpbWzEsNCwyNF1dLG11c2ljOltbMCw2LDI0XSxbMSw2LDE2XSxbMSw2LDE4XSxbMSw2LDI0XV0sbXVzaWNfb2ZmOltbMSwzLDI0XV0sbXVzaWNfc2Npc3NvcnM6W1sxLDMsMjRdXSxtdXNpY19zaGFwZTpbWzEsMywyNF1dLG11c2ljX3ZpZGVvOltbMSw0LDI0XV0sbXVzaWNfdmlkZW9fb2ZmOltbMSwxLDI0XV0sbXlfdmlkZW9zOltbMSw2LDI0XV0sbXlfdmlkZW9zX2NhaXJvOltbMSwyLDI0XV0sbmV3czpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywyNF1dLG5ld3NfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxub2RlX2xlZnQ6W1sxLDIsMjRdXSxub2RlX3JpZ2h0OltbMSwyLDI0XV0sbm90ZTpbWzAsMSwxNl0sWzAsMSwyNF0sWzEsMSwxNl0sWzEsMSwyNF1dLG5vdGVfYWRkOltbMSwxLDE2XSxbMSwxLDI0XV0sbm90ZV9zcGFyazpbWzAsMiwxNl0sWzAsMiwyNF0sWzEsMiwxNl0sWzEsMiwyNF1dLG9kb21ldGVyOltbMCw0LDI0XSwKWzEsNCwyNF1dLG9wZW5fbmV3OltbMCw3LDI0XSxbMSw3LDEyXSxbMSw3LDI0XV0sb3ZlcmZsb3dfaG9yaXpvbnRhbDpbWzEsNiwyNF0sWzEsNiwzMl1dLG92ZXJmbG93X3ZlcnRpY2FsOltbMSwxMywyNF1dLG92ZXJmbG93X3ZlcnRpY2FsX2NhaXJvOltbMSwxLDI0XV0scGFpbnRfYnVja2V0OltbMSwzLDI0XV0scGFsZXR0ZTpbWzEsMSwyNF1dLHBhbmVsczpbWzAsMiwyNF0sWzEsMiwyNF1dLHBhcGVyX2Nvcm5lcl9mb2xkZWQ6W1swLDIsMjRdLFsxLDIsMjRdXSxwYXBlcl9vcGVuX2luX25ldzpbWzAsMSwyNF0sWzEsMSwyNF1dLHBhdXNlOltbMCw5LDI0XV0scGF1c2VfY2lyY2xlOltbMCwyLDEyXSxbMCwyLDE2XSxbMCwyLDI0XV0scGRmOltbMSwyLDI0XV0scGVuY2lsOltbMSwxMCwxNl0sWzEsMTAsMThdLFsxLDEwLDI0XV0scGVvcGxlOltbMCw2LDEyXSxbMCw2LDI0XSxbMSw2LDI0XV0scGVvcGxlXzI6W1swLDEsMjRdLFsxLDEsMjRdXSxwZW9wbGVfZ3JvdXA6W1swLDQsMjRdLApbMSw0LDE2XSxbMSw0LDI0XV0scGVvcGxlX25vdGU6W1swLDEsMThdLFswLDEsMjRdLFsxLDEsMjRdXSxwZXJzb246W1swLDcsMTJdLFswLDcsMTNdLFswLDcsMTZdLFswLDcsMjRdLFswLDcsNDhdLFsxLDcsMTNdLFsxLDcsMTZdLFsxLDcsMjRdXSxwZXJzb25fMjpbWzEsMSwyNF1dLHBlcnNvbl9hY2NvdW50OltbMSw2LDI0XV0scGVyc29uX2FjY291bnRfY2Fpcm86W1sxLDEsMjRdXSxwZXJzb25fYWRkOltbMSw3LDI0XV0scGVyc29uX2JveDpbWzEsNSwyNF1dLHBlcnNvbl9jaXJjbGU6W1swLDEwLDI0XSxbMSwxMCwyNF1dLHBlcnNvbl9jaXJjbGVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxwZXJzb25fY2lyY2xlX3NsYXNoOltbMSwyLDI0XV0scGVyc29uX21pbnVzOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX211c2ljOltbMCw0LDI0XSxbMSw0LDI0XV0scGVyc29uX3JhZGFyOltbMCw3LDEyXSxbMCw3LDI0XSxbMSw3LDE2XSxbMSw3LDE4XSxbMSw3LDI0XV0scGVyc29uX3NldHRpbmc6W1sxLAo2LDI0XV0scGVyc29uX3NoaWVsZDpbWzEsOCwyNF1dLHBlcnNvbl9zcXVhcmVfc3Bhcms6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25fd2F2ZWZvcm06W1sxLDIsMjRdXSxwaG9uZTpbWzAsMywyNF0sWzEsMywyNF1dLHBpY3R1cmVfaW5fcGljdHVyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHBpY3R1cmVfaW5fcGljdHVyZV9jb21iaW5lOltbMSwxLDI0XV0scGluOltbMCw3LDEyXSxbMCw3LDI0XSxbMSw3LDE2XSxbMSw3LDI0XV0scGluX29mZjpbWzEsMSwyNF1dLHBsYXlfYXJyb3c6W1swLDcsMjRdLFsxLDcsMjRdXSxwbGF5X2Fycm93X2NpcmNsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHBsYXlfYXJyb3dfZGlzYWJsZWQ6W1swLDEsMTJdLFswLDEsMjRdXSxwbGF5X2Fycm93X2hhbGZfY2lyY2xlOltbMCw1LDI0XSxbMSw1LDI0XV0scG9kY2FzdDpbWzAsNiwyNF0sWzEsNiwxMl0sWzEsNiwxNl0sWzEsNiwxOF0sWzEsNiwyNF1dLHBvZGNhc3RfYWRkOltbMCwyLDI0XSxbMSwyLDI0XV0sCnBvZGNhc3RfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxwb2RjYXN0X2NoZWNrOltbMCwyLDI0XV0scG9pbnRfMng6W1sxLDEsMjRdXSxwb2ludF8zeDpbWzEsMywyNF1dLHBvaW50XzV4OltbMSwzLDI0XV0scG9pbnRfOHg6W1sxLDEsMjRdXSxwb2xsOltbMSwxMCwxNl0sWzEsMTAsMjRdLFsxLDEwLDQwXV0scG91bmQ6W1sxLDMsMjRdXSxwcmVzZW50YXRpb246W1sxLDMsMjRdXSxwcmVzZW50YXRpb25fcmVtb3ZlOltbMSwxLDI0XV0scHJpY2VfdGFnOltbMCw4LDEyXSxbMCw4LDI0XSxbMSw4LDI0XV0scHJpY2VfdGFnX2hlYXJ0OltbMSwyLDI0XV0scXJfY29kZTpbWzEsMywyNF1dLHF1ZXN0aW9uX2NpcmNsZTpbWzEsNSwyNF1dLHF1ZXN0aW9uX2NpcmNsZV9jYWlybzpbWzEsMiwyNF1dLHF1ZXN0aW9uX2hlYWQ6W1sxLDIsMjRdXSxxdW90YXRpb25fbWFyazpbWzAsMSwyNF0sWzEsMSwyNF1dLHF1b3RhdGlvbl9tYXJrX29mZjpbWzEsMSwyNF1dLHJhZGFyX2xpdmU6W1swLDcsMjRdLApbMSw3LDEyXSxbMSw3LDE2XSxbMSw3LDI0XV0scmFkYXJfbGl2ZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHJhdGluZ19kb3duOltbMSwxLDI0XV0scmF0aW5nX3VwOltbMSw3LDEyXSxbMSw3LDE2XSxbMSw3LDI0XV0scmVjb3JkOltbMCwyLDI0XV0scmVtaXg6W1sxLDIsMTZdLFsxLDIsMjRdXSxyZXBsYXlfYXJyb3c6W1sxLDEsMjRdXSxyb3RhdGVfOTA6W1sxLDEsMjRdXSxyb3RhdGVfOTBfY2xvY2t3aXNlOltbMSwyLDI0XV0scnNzOltbMSwyLDE2XSxbMSwyLDI0XV0scnNzX29mZjpbWzEsMSwxNl0sWzEsMSwyNF1dLHJ1Ynk6W1sxLDIsMTJdLFsxLDIsMTZdLFsxLDIsMThdLFsxLDIsMjRdXSxzYW1wbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc2F0dXJhdGlvbjpbWzEsMiwyNF1dLHNjYWxlOltbMSw0LDI0XV0sc2Npc3NvcnM6W1swLDgsMTJdLFswLDgsMjRdLFsxLDgsMjRdXSxzY2lzc29yc19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHNjaXNzb3JzX2N1dDpbWzEsNCwKMTZdLFsxLDQsMThdLFsxLDQsMjRdXSxzY3JlZW5fZGVmYXVsdDpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLHNjcmVlbl9mdWxsOltbMSw3LDI0XV0sc2NyZWVuX2Z1bGxfY2Fpcm86W1sxLDEsMjRdXSxzY3JlZW5fZnVsbF9leGl0OltbMSw2LDI0XV0sc2NyZWVuX2Z1bGxfZXhpdF9jYWlybzpbWzEsMSwyNF1dLHNjcmVlbl9mdWxsc2NyZWVuOltbMCwxLDI0XSxbMCwxLDQ4XSxbMSwxLDI0XSxbMSwxLDQ4XV0sc2NyZWVuX2xpZ2h0OltbMSwxLDI0XV0sc2NyZWVuX21pbmlfcGxheWVyOltbMCwxLDI0XSxbMCwxLDQ4XSxbMSwxLDI0XSxbMSwxLDQ4XV0sc2NyZWVuX211bHRpX3ZpZXc6W1swLDMsMjRdLFsxLDMsMjRdXSxzY3JlZW5fcm90YXRpb246W1sxLDIsMThdLFsxLDIsMjRdXSxzY3JlZW5fc3dpdGNoOltbMCwxLDI0XSxbMSwxLDI0XV0sc2NyZWVuX3RoZWF0cmU6W1swLDEsMjRdLFswLDEsNDhdLFsxLDEsMjRdLFsxLDEsNDhdXSxzY3JlZW5fdmVydGljYWw6W1sxLAoxLDI0XV0sc2NyZWVuX3g6W1sxLDIsMjRdXSxzZDpbWzAsMywyNF0sWzEsMywyNF1dLHNlYXJjaDpbWzAsMTUsMjRdLFsxLDE1LDI0XV0sc2VhcmNoX2NhaXJvOltbMSwyLDI0XV0sc2VhcmNoX3N1cGVyc2NyaXB0OltbMSwxLDI0XV0sc2VuZDpbWzAsNywxOCwhMF0sWzAsNywyNCwhMF0sWzEsNywxOCwhMF0sWzEsNywyNCwhMF1dLHNldHRpbmdzX3JlbW90ZTpbWzEsMSwyNF1dLHNoYWRvd19oYXJkOltbMCwzLDI0XV0sc2hhZG93X3NvZnQ6W1swLDMsMjRdXSxzaGFwZXM6W1swLDMsMjRdLFsxLDMsMjRdXSxzaGFyZTpbWzAsMTIsMjQsITBdLFswLDEyLDMyLCEwXSxbMSwxMiwxNiwhMF0sWzEsMTIsMjQsITBdXSxzaGFyZV9jYWlybzpbWzEsMiwyNF1dLHNoYXJlX2lvczpbWzEsMiwyNF1dLHNoYXJlX2xpbms6W1swLDEsMjRdLFsxLDEsMjRdXSxzaGllbGQ6W1sxLDYsMjRdXSxzaGllbGRfYWRkOltbMSwyLDI0XV0sc2hpZWxkX2NoZWNrOltbMSwxLDI0XV0sc2hpZWxkX2VtcHR5OltbMCwKMSwxNl0sWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLHNoaWVsZF9vZmY6W1sxLDEsMjRdXSxzaGllbGRfb3ZlcmZsb3c6W1sxLDIsMjRdXSxzaGllbGRfcGx1czpbWzEsMSwyNF1dLHNoaWVsZF9zZWFyY2g6W1sxLDIsMjRdXSxzaG9ydHNfbGF5b3V0X2JvdHRvbTpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfY2VudGVyZWRfc3F1YXJlOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9mb3JlZ3JvdW5kOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9sYW5kc2NhcGVfYm90dG9tOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9sYW5kc2NhcGVfdG9wOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9sZWZ0OltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9waXA6W1sxLDEsMjRdXSxzaG9ydHNfbGF5b3V0X3JpZ2h0OltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9zaW5nbGU6W1sxLDEsMjRdXSxzaG9ydHNfbGF5b3V0X3RvcDpbWzEsMSwyNF1dLHNraXBfYmFja18xMDpbWzAsCjEsMjRdXSxza2lwX2JhY2tfMTU6W1swLDEsMjRdXSxza2lwX2JhY2tfMjA6W1swLDEsMjRdXSxza2lwX2JhY2tfMzA6W1swLDEsMjRdXSxza2lwX2JhY2tfNTpbWzAsMSwyNF1dLHNraXBfYmFja182MDpbWzAsMSwyNF1dLHNraXBfZG93bjpbWzAsNiwyNF1dLHNraXBfZm9yd2FyZF8xMDpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF8xNTpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF8yMDpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF8zMDpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF81OltbMCwxLDI0XV0sc2tpcF9mb3J3YXJkXzYwOltbMCwxLDI0XV0sc2tpcF9uZXh0OltbMCw3LDI0XV0sc2tpcF9wcmV2aW91czpbWzAsNiwyNF1dLHNraXBfdXA6W1swLDYsMjRdXSxzbGFzaF9jaXJjbGVfbGVmdDpbWzEsNywyNF1dLHNsYXNoX2NpcmNsZV9yaWdodDpbWzEsMiwyNF1dLHNvY2Nlcl9iYWxsOltbMSwzLDI0XV0sc29jY2VyX2NhcmQ6W1swLDIsMTJdLFswLDIsMTZdLFswLDIsMjRdXSxzcGFjZWJhcjpbWzEsCjIsMjRdXSxzcGFyazpbWzAsMTEsMTJdLFswLDExLDE2XSxbMCwxMSwyNF0sWzEsMTEsMjRdXSxzcGFya19jaGF0OltbMSwxLDE2XSxbMSwxLDI0XV0sc3BhcmtfaW1hZ2U6W1sxLDIsMjRdXSxzcGFya19saWdodGJ1bGI6W1swLDMsMjRdLFsxLDMsMjRdXSxzcGFya19tZXNzYWdlX2J1YmJsZTpbWzEsNCwxNl0sWzEsNCwyNF1dLHNwYXJrX21lc3NhZ2VfYnViYmxlX2xlZnQ6W1sxLDEsMjRdXSxzcGFya19tdXNpYzpbWzEsMiwyNF1dLHNwYXJrX3BlbmNpbDpbWzEsMiwyNF1dLHNwYXJrX3JhZGFyOltbMCwxLDEyXSxbMCwxLDE2XSxbMCwxLDI0XSxbMSwxLDEyXSxbMSwxLDE2XSxbMSwxLDI0XV0sc3BhcmtfdGV4dDpbWzEsMSwyNF1dLHNwYXJrX3ZpZGVvOltbMSwyLDI0XV0sc3BhcmtsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLHNwZWFrZXI6W1sxLDIsMjRdXSxzcGVha2VyX2dyb3VwOltbMSwxLDI0XV0sc3BlYWtlcl9ncm91cF9vZmY6W1sxLDEsMjRdXSxzcGVha2VyX2hlYWRzZXQ6W1sxLAoyLDI0XV0sc3BlYWtlcl9vZmY6W1sxLDEsMjRdXSxzcGxpdDpbWzEsNCwyNF1dLHNwb3J0czpbWzAsMSwyNF1dLHNwb3RsaWdodDpbWzAsMywyNF0sWzEsMywyNF1dLHN0YXI6W1swLDYsMTJdLFswLDYsMTZdLFswLDYsMjRdLFsxLDYsMTJdLFsxLDYsMTZdLFsxLDYsMjRdXSxzdGFyX2NpcmNsZTpbWzAsNiwxMl0sWzAsNiwxNl0sWzAsNiwxOF0sWzAsNiwyNF1dLHN0YXJfY2lyY2xlX3JpYmJvbjpbWzAsMSwxNl0sWzAsMSwyMF0sWzAsMSwyNF0sWzAsMSwzNl0sWzEsMSwxNl0sWzEsMSwyMF0sWzEsMSwyNF0sWzEsMSwzNl1dLHN0YXJfaGFsZjpbWzAsMywxMl0sWzAsMywxNl0sWzAsMywyNF1dLHN0YXJfc2hvb3Rpbmc6W1swLDMsMjRdLFsxLDMsMjRdXSxzdGF0aXN0aWNzX2dyYXBoOltbMSwyLDI0XV0sc3RpY2tlcjpbWzEsMywyNF1dLHN0b3A6W1swLDYsMjRdLFswLDYsMzZdXSxzdG9wd2F0Y2g6W1swLDUsMTZdLFswLDUsMjRdLFsxLDUsMTZdLFsxLDUsMjRdXSxzdG9wd2F0Y2hfMTA6W1swLAoxLDI0XV0sc3RvcHdhdGNoXzM6W1swLDEsMjRdXSxzdWJzY3JpcHRpb25zOltbMCwxMiwyNF0sWzEsMTIsMThdLFsxLDEyLDI0XV0sc3Vic2NyaXB0aW9uc19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHN1YnRpdGxlczpbWzAsNSwxMl0sWzAsNSwyNF0sWzEsNSwyNF1dLHN1cGVyX2NoYXQ6W1sxLDgsMThdLFsxLDgsMjRdXSxzdXBlcl9zdGlja2VyOltbMCw4LDE2XSxbMCw4LDI0XSxbMSw4LDE2XSxbMSw4LDI0XV0sc3VwZXJfc3RvcmU6W1sxLDMsMjRdXSxzdXBlcnN0YXI6W1sxLDEsMjRdXSx0YWJsZXQ6W1sxLDEsMjRdXSx0YXJnZXQ6W1swLDIsMjRdLFsxLDIsMTZdLFsxLDIsMjRdXSx0YXJnZXRfYWRkOltbMCwyLDI0XSxbMSwyLDE2XSxbMSwyLDI0XV0sdGVtcGxhdGVfYWRkOltbMSwzLDE2XSxbMSwzLDI0XV0sdGVtcGxhdGVfcGxheTpbWzAsMywyNF0sWzEsMywyNF1dLHRleHQ6W1swLDksMjRdLFsxLDksMTZdLFsxLDksMThdLFsxLDksMjRdXSx0ZXh0X2JlbGxfY2Fpcm86W1sxLAoxLDEyXSxbMSwxLDE2XSxbMSwxLDE4XSxbMSwxLDI0XV0sdGV4dF9ib2xkOltbMSwxLDI0XV0sdGV4dF9ib3g6W1sxLDUsMjRdXSx0ZXh0X2l0YWxpYzpbWzEsMSwyNF1dLHRleHRfb3V0bGluZTpbWzEsMiwyNF1dLHRleHRfcHJlc2V0OltbMSwxLDI0XV0sdGV4dF9zZXJpZjpbWzEsMSwyNF1dLHRleHRfc2hhZG93OltbMSwyLDI0XV0sdGV4dF9zdHJpa2V0aHJvdWdoOltbMSwxLDI0XV0sdGV4dF91bmRlcmxpbmU6W1sxLDEsMjRdXSx0aGVtZV9zd2l0Y2g6W1swLDEsMjRdLFsxLDEsMjRdXSx0aGVybW9tZXRlcjpbWzEsMiwyNF1dLHRodW1iX2Rvd246W1swLDI1LDE2XSxbMCwyNSwyNF0sWzAsMjUsMzZdLFsxLDI1LDE2XSxbMSwyNSwyNF0sWzEsMjUsMzZdXSx0aHVtYl91cDpbWzAsMjQsMTZdLFswLDI0LDI0XSxbMCwyNCwzNl0sWzEsMjQsMTZdLFsxLDI0LDI0XSxbMSwyNCwzNl1dLHRodW1iX3VwX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sdGh1bWJfdXBfZG93bjpbWzAsNCwKMjRdLFsxLDQsMjRdXSx0aWNfdGFjX3RvZTpbWzAsNCwxMl0sWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLHRpY190YWNfdG9lX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sdGlja2V0X3N0YXI6W1sxLDEsMjRdXSx0aWx0OltbMSw0LDI0XV0sdGltZV9zdGFtcF9wbHVzOltbMSwxLDI0XV0sdGltZWxpbmU6W1sxLDMsMjRdXSx0b29sYm94OltbMSw0LDI0XV0sdHJhbnNjcmlwdDpbWzEsMiwxNl0sWzEsMiwyNF1dLHRyYW5zY3JpcHRfc2VhcmNoOltbMSwxLDE2XSxbMSwxLDI0XV0sdHJhbnNpdGlvbjpbWzAsNSwyNF0sWzEsNSwyNF1dLHRyYW5zbGF0ZTpbWzEsNCwxNl0sWzEsNCwyNF1dLHRyYXNoX2NhbjpbWzEsMTAsMTZdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHRyaWFuZ2xlX2Rvd246W1sxLDgsMjRdXSx0cmlhbmdsZV90aHJlZV9sZWZ0OltbMCwxLDI0XV0sdHJpYW5nbGVfdGhyZWVfcmlnaHQ6W1swLDEsMjRdXSx0cm9waHk6W1swLDMsMjRdLFsxLDMsMjRdXSx0cm9waHlfY2Fpcm86W1swLAoyLDI0XSxbMSwyLDI0XV0sdHJvcGh5X3N0YXI6W1sxLDEsMjRdXSx0cnVjazpbWzAsNSwyNF0sWzEsNSwyNF1dLHR2OltbMCw4LDEyXSxbMCw4LDE2XSxbMCw4LDI0XSxbMSw4LDE2XSxbMSw4LDI0XV0sdHZfYXJyb3dfbGVmdDpbWzEsMiwyNF1dLHR2X2NpcmNsZTpbWzAsMywyNF0sWzEsMywyNF1dLHR2X2RvbGxhcl9zaWduOltbMCwxLDI0XSxbMSwxLDI0XV0sdHZfb2ZmOltbMSwyLDI0XV0sdHZfcXVldWU6W1sxLDQsMjRdXSx0dl9xdWV1ZV9jaGV2cm9uOltbMSwyLDI0XV0sdXBsb2FkOltbMSw1LDI0XV0sdXBsb2FkaW5nOltbMSwxLDI0XV0sdmFyaWFibGU6W1sxLDQsMjRdXSx2ZXJpZmllZF9jaXJjbGU6W1sxLDQsMjRdXSx2aWRlb19jYW1lcmE6W1swLDksMjRdLFsxLDksMjRdXSx2aWRlb19jYW1lcmFfYWRkOltbMSwyLDI0XV0sdmlkZW9fY2FtZXJhX29mZjpbWzEsMSwyNF1dLHZpZGVvX2xpbms6W1sxLDUsMTZdLFsxLDUsMjRdXSx2aWRlb19yZXZlcnNlOltbMSwxLDI0XV0sCnZpZGVvX3NwYXJrOltbMSwyLDI0XV0sdmlkZW9fc3RpdGNoOltbMSwyLDI0XV0sdmlkZW9fd2F2ZWZvcm06W1sxLDEsMjRdXSx2b2x1bWVfZG93bjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZvbHVtZV9mYWRlOltbMSwyLDI0XV0sdm9sdW1lX29mZjpbWzAsNCwyNF0sWzEsNCwyNF1dLHZvbHVtZV9vbjpbWzAsMywyNF0sWzEsMywyNF1dLHZvbHVtZV9zdGFibGU6W1swLDEsMjRdLFsxLDEsMjRdXSx2cjpbWzAsNywyNF0sWzEsNywyNF1dLHdhdmVmb3JtOltbMSwzLDI0XV0sd2F2ZWZvcm1fbXVzaWM6W1swLDIsMThdLFswLDIsMjRdLFswLDIsNDhdXSx3YXZlZm9ybV9zcGFyazpbWzEsMiwyNF1dLHdyZW5jaDpbWzAsMywyNF0sWzEsMywyNF1dLHg6W1sxLDExLDE4XSxbMSwxMSwyNF1dLHhfY2Fpcm86W1sxLDEsMjRdXSx4X2NpcmNsZTpbWzAsOSwyNF0sWzEsOSwyNF1dLHhfbWFyazpbWzEsNCwyMF0sWzEsNCwyNF1dLHhfb2N0YWdvbjpbWzEsMywyNF1dLHllbl9zaWduX2NvbnRhaW5lcjpbWzAsCjIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlX2ltcHJvdmVfdHY6W1sxLDEsMjRdXSx5b3V0dWJlX2tpZHM6W1swLDUsMjRdLFsxLDUsMjRdXSx5b3V0dWJlX2xhYnM6W1swLDEsMjRdXSx5b3V0dWJlX2xpbmtlZF90djpbWzEsNCwyNF1dLHlvdXR1YmVfbG9nb19pY29uOltbMCw2LDI0XSxbMSw2LDI0XV0seW91dHViZV9taXg6W1sxLDUsMTJdLFsxLDUsMTZdLFsxLDUsMjRdXSx5b3V0dWJlX211c2ljOltbMCw3LDI0XSxbMSw3LDI0XV0seW91dHViZV9tdXNpY19jYWlybzpbWzEsMiwyNF1dLHlvdXR1YmVfb3JpZ2luYWxzOltbMCw2LDI0XSxbMSw2LDI0XV0seW91dHViZV9zaG9ydHM6W1swLDExLDEyXSxbMCwxMSwyMF0sWzAsMTEsMjRdLFsxLDExLDIwXSxbMSwxMSwyNF1dLHlvdXR1YmVfc2hvcnRzX2Fycm93X2Rvd246W1sxLDEsMjRdXSx5b3V0dWJlX3Nob3J0c19hcnJvd19sZWZ0OltbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfYXJyb3dfdXA6W1sxLDEsMjRdXSx5b3V0dWJlX3Nob3J0c19jYWlybzpbWzAsCjIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlX3Nob3J0c19jYW1lcmE6W1sxLDMsMjRdXSx5b3V0dWJlX3Nob3J0c19jaGV2cm9uX2xlZnRfaW9zOltbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfZ3JlZW5fc2NyZWVuOltbMCwxLDI0XSxbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfaGVhcnQ6W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19tZXNzYWdlX2J1YmJsZV9yaWdodDpbWzAsMiwyNF0sWzAsMiwzMl1dLHlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlOltbMCw0LDE2XSxbMCw0LDI0XSxbMCw0LDMyXSxbMSw0LDE2XSxbMSw0LDI0XSxbMSw0LDMyXV0seW91dHViZV9zaG9ydHNfb3ZlcmZsb3dfdmVydGljYWw6W1sxLDIsMjRdXSx5b3V0dWJlX3Nob3J0c19wbHVzOltbMSw1LDE2XSxbMSw1LDI0XV0seW91dHViZV9zaG9ydHNfcmVtaXg6W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19zZWFyY2g6W1sxLDMsMjRdXSx5b3V0dWJlX3Nob3J0c19zaGFyZTpbWzAsCjIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19zdGlja2VyOltbMSwxLDE4XSxbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfdGh1bWJfZG93bjpbWzAsMiwyNF0sWzAsMiwzMl1dLHlvdXR1YmVfc2hvcnRzX3RodW1iX3VwOltbMCwyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfd2F2ZWZvcm06W1sxLDIsMThdLFsxLDIsMjRdXSx5b3V0dWJlX3N0dWRpbzpbWzAsOCwyNF0sWzEsOCwyNF1dLHlvdXR1YmVfdHY6W1swLDgsMjRdLFsxLDgsMjRdXSx6b29tX2F1dG86W1swLDIsMjRdLFsxLDIsMjRdXX07dmFyIFdxYT17YWNjZXNzaWJpbGl0eTpbWzAsNCwyNF0sWzEsNCwyNF1dLGFjY291bnRfbGluazpbWzAsOCwyNF0sWzEsOCwyNF1dLGFjY291bnRfbGlua19lcnJvcjpbWzEsNiwyNF1dLGFkZDpbWzEsOSwxOF0sWzEsOSwyNF1dLGFkZF9jaXJjbGU6W1swLDYsMThdLFswLDYsMjRdLFsxLDYsMjRdLFsxLDYsMzZdXSxhZGRfc3F1YXJlX3N0YWNrOltbMSwxLDI0XV0sYWRkX3R2OltbMSwxLDI0XV0sYWRkX3R2X2NoZXZyb25fcmlnaHQ6W1sxLDEsMjRdXSxhZGp1c3Q6W1swLDksMjRdLFsxLDksMjRdXSxhaXJwbGFuZTpbWzAsNSwyNF0sWzAsNSw0OF0sWzEsNSwyNF1dLGFpcnBsYXk6W1sxLDYsMjRdXSxhaXJwbGF5X3NsYXNoOltbMSwxLDI0XV0sYWxidW06W1swLDgsMjRdLFsxLDgsMThdLFsxLDgsMjRdLFsxLDgsNDhdXSxhbGVydF9idWJibGU6W1sxLDIsMThdLFsxLDIsMjRdXSxhbGVydF9jaXJjbGU6W1swLDExLDI0XSxbMSwxMSwxMl0sWzEsMTEsMjRdLFsxLDExLDQ4XV0sYWxlcnRfb2N0YWdvbjpbWzAsCjIsMjRdLFsxLDIsMjRdXSxhbGVydF90cmlhbmdsZTpbWzAsMTAsMTJdLFswLDEwLDI0XSxbMCwxMCw0OF0sWzEsMTAsMjRdXSxhbWJpZW50X21vZGU6W1sxLDEsMjRdXSxhbXBlcnNhbmQ6W1sxLDEsMjRdXSxhcGk6W1swLDIsMjRdLFsxLDIsMjRdXSxhcmNoaXZlOltbMSwxLDI0XV0sYXJyb3dfYXJjX2ZvcndhcmQ6W1sxLDEsMjRdXSxhcnJvd19jbG9ja3dpc2U6W1sxLDEsMjRdXSxhcnJvd19jb3VudGVyY2xvY2t3aXNlOltbMSwyLDI0XSxbMSwyLDQ4XV0sYXJyb3dfY291bnRlcmNsb2Nrd2lzZV9kYXNoZWQ6W1sxLDEsMjRdXSxhcnJvd19kb3duOltbMSwzLDI0XV0sYXJyb3dfZG93bl9jaXJjbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxhcnJvd19kb3duX2NpcmNsZV9zbGFzaDpbWzAsMSwyNF0sWzEsMSwyNF1dLGFycm93X2Rvd25fcmlnaHQ6W1sxLDEsMjRdXSxhcnJvd19mbGlwOltbMSwxMCwyNF1dLGFycm93X2luOltbMSw4LDE4XSxbMSw4LDI0XV0sYXJyb3dfbGVmdDpbWzEsOCwKMjQsITBdLFsxLDgsMzYsITBdXSxhcnJvd19tZXJnZTpbWzEsMiwyNF1dLGFycm93X291dDpbWzEsMiwyNF1dLGFycm93X3JpZ2h0OltbMSwzLDI0LCEwXV0sYXJyb3dfcmlnaHRfcmVjdGFuZ2xlOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJyb3dfc29saWRfZG93bjpbWzAsNCwxOF0sWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF1dLGFycm93X3NvbGlkX3VwOltbMCw0LDE4XSxbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XV0sYXJyb3dfc3BsaXQ6W1sxLDMsMjRdXSxhcnJvd19zcGxpdF9hbGVydDpbWzEsMSwyNF1dLGFycm93X3N3YXBfaG9yaXpvbnRhbDpbWzEsNSwyNF1dLGFycm93X3RyZW5kX2Rvd246W1sxLDEsMjRdXSxhcnJvd190cmVuZF91cDpbWzEsMiwxMl0sWzEsMiwyNF1dLGFycm93X3R1cm5fZG93bl9yaWdodDpbWzEsMiwxOF0sWzEsMiwyNF1dLGFycm93X3VwOltbMSwzLDI0XV0sYXJyb3dfdXBfY2lyY2xlOltbMCw0LDI0XSxbMSw0LDI0XV0sYXJyb3dfdXBfbGVmdDpbWzEsCjEsMjRdXSxhcnJvd191cF9yZWN0YW5nbGVfcG9ydHJhaXQ6W1sxLDEsMjRdXSxhcnJvd191cF9yaWdodDpbWzEsMiwxOF0sWzEsMiwyNF0sWzEsMiwzNl1dLGFzcGVjdF9yYXRpb193MTZfaDk6W1sxLDEsMjRdXSxhc3BlY3RfcmF0aW9fdzlfaDE2OltbMSwxLDI0XV0sYXVkaW86W1swLDE0LDEyXSxbMCwxNCwxOF0sWzAsMTQsMjRdLFsxLDE0LDEyXSxbMSwxNCwxOF0sWzEsMTQsMjRdLFsxLDE0LDQ4XV0sYXVkaW9fYXJyb3dfZmxpcDpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX2JhZGdlOltbMCwzLDI0XSxbMSwzLDI0XV0sYXVkaW9fc2Npc3NvcnM6W1sxLDEsMjRdXSxhdWRpb19zbGFzaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX3NwYXJrOltbMSwxLDI0XV0sYXVkaW9fc3F1YXJlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDI0XV0sYXVkaW9fc3RhZmY6W1swLDIsMjRdLFsxLDIsMjRdXSxiYWNrc3BhY2U6W1swLDUsMjRdLFsxLDUsMjRdXSxiYWc6W1swLDcsMjRdLFsxLDcsMjRdXSwKYmFnX2Jvb2ttYXJrOltbMSwyLDI0XV0sYmFza2V0YmFsbDpbWzAsMiwyNF0sWzEsMiwyNF1dLGJlYWtlcjpbWzEsMiwyNF1dLGJlZDpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLGJlbGw6W1swLDExLDI0XSxbMSwxMSwyNF1dLGJlbGxfc2xhc2g6W1sxLDEsMjRdXSxiZWxsX3dhdmVzOltbMCwyLDI0XSxbMSwyLDI0XV0sYmx1cjpbWzEsMiwyNF1dLGJvb2s6W1swLDMsMjRdLFsxLDMsMjRdXSxib29rX2F1ZGlvOltbMSwxLDI0XV0sYm9va21hcms6W1swLDEwLDE4XSxbMCwxMCwyNF0sWzEsMTAsMThdLFsxLDEwLDI0XV0sYnJpZWZjYXNlOltbMSwyLDI0XV0sYnJpZWZjYXNlX3NsYXNoOltbMCwzLDI0XSxbMSwzLDI0XV0sYnJpZ2h0bmVzczpbWzAsMywyNF0sWzEsMywyNF1dLGJyb3dzZXI6W1swLDIsMjRdLFsxLDIsMjRdXSxicm93c2VyX3NsYXNoOltbMSwxLDI0XV0sYnViYmxlOltbMSwxLDI0XV0sYnViYmxlX2FzdGVyaXNrOltbMCwyLDI0XSxbMSwyLDI0XV0sCmJ1YmJsZV9lbGxpcHNpczpbWzEsMSwyNF1dLGJ1YmJsZV9nZWFyOltbMSwxLDI0XV0sYnViYmxlX2xpc3Q6W1sxLDEsMjRdXSxidWJibGVfcGVuY2lsOltbMSwxLDI0XV0sYnViYmxlX3NsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sYnViYmxlX3Nsb3c6W1swLDIsMjRdLFswLDIsNDhdLFsxLDIsMjRdLFsxLDIsNDhdXSxidWJibGVfc3Bhcms6W1sxLDEsMjRdXSxidWJibGVfc3BhcmtsZXM6W1sxLDEsMjRdXSxidWJibGVfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxidWc6W1swLDQsMThdLFswLDQsMjRdLFsxLDQsMjRdXSxidXNpbmVzczpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhYmxlOltbMSwyLDI0XV0sY2FsY3VsYXRvcjpbWzAsMywyNF0sWzEsMywyNF1dLGNhbGVuZGFyOltbMCw0LDI0XSxbMSw0LDI0XV0sY2FsZW5kYXJfZXZlbnQ6W1swLDIsMjRdLFsxLDIsMjRdXSxjYWxlbmRhcl90b2RheTpbWzEsMSwyNF1dLGNhbWVyYTpbWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLApjYW1lcmFfYXVkaW86W1sxLDUsMjRdXSxjYW1lcmFfZmxpcDpbWzEsNCwyNF1dLGNhbWVyYV9oYXNodGFnOltbMSw1LDI0XV0sY2FtZXJhX3NwYXJrbGVzOltbMSwxLDI0XV0sY2FtZXJhX3N3aXRjaDpbWzAsMywyNF0sWzEsMywyNF1dLGNhcmQ6W1swLDMsMjRdXSxjYXJ0OltbMCw0LDI0XSxbMSw0LDI0XV0sY2FydF9hZGQ6W1sxLDEsMjRdXSxjYXJ0X3NwYXJrOltbMSwxLDI0XV0sY2F0OltbMCwzLDI0XSxbMSwzLDI0XV0sY2VsZWJyYXRpb246W1sxLDIsMjRdXSxjaGFydF9iYXI6W1sxLDIsMTJdLFsxLDIsMjRdXSxjaGFydF9iYXJfc2VhcmNoOltbMCwyLDI0XSxbMSwyLDI0XV0sY2hhcnRfYmFyX3NxdWFyZTpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLGNoYXJ0X2xpbmU6W1sxLDEsMjRdXSxjaGFydF9waWU6W1swLDIsMjRdLFsxLDIsMjRdXSxjaGFydF9zY2F0dGVyX3Bsb3Q6W1sxLDEsMjRdXSxjaGVjazpbWzEsMTMsMTJdLFsxLDEzLDE4XSxbMSwxMywyNF0sWzEsMTMsCjM2XV0sY2hlY2tfY2lyY2xlOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxjaGVja19kb25lOltbMSwxLDI0XV0sY2hlY2tfZG9uZV9zbGFzaDpbWzEsMSwyNF1dLGNoZWNrX3NoaWVsZDpbWzEsMSwyNF1dLGNoZWNrX3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGNoZWNrX3NxdWFyZV9zdGFjazpbWzAsMSwyNF1dLGNoZXZyb25fY29sbGFwc2U6W1sxLDMsMjRdXSxjaGV2cm9uX2Rvd246W1sxLDksMThdLFsxLDksMjRdXSxjaGV2cm9uX2Rvd25fY2lyY2xlOltbMCwzLDI0XSxbMSwzLDI0XV0sY2hldnJvbl9kb3duX2VuZDpbWzEsMSwyNF1dLGNoZXZyb25fZXhwYW5kOltbMSw1LDI0XV0sY2hldnJvbl9sZWZ0OltbMSw5LDI0LCEwXV0sY2hldnJvbl9sZWZ0X2NpcmNsZTpbWzAsMywyNF0sWzEsMywyNF1dLGNoZXZyb25fbGVmdF9lbmQ6W1sxLDEsMjRdXSxjaGV2cm9uX2xlZnRfaW9zOltbMSwzLDI0XV0sY2hldnJvbl9yaWdodDpbWzEsNywxOCwhMF0sWzEsNywyNCwhMF1dLGNoZXZyb25fcmlnaHRfY2lyY2xlOltbMCwKMywyNF0sWzEsMywyNF1dLGNoZXZyb25fcmlnaHRfZW5kOltbMSwxLDI0XV0sY2hldnJvbl9yaWdodF9zcXVhcmU6W1sxLDEsMjRdXSxjaGV2cm9uX3VwOltbMSw5LDEyXSxbMSw5LDI0XV0sY2hldnJvbl91cF9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSxjaGV2cm9uX3VwX2VuZDpbWzEsMSwyNF1dLGNocm9tZWNhc3Q6W1swLDExLDI0XSxbMSwxMSwxOF0sWzEsMTEsMjRdLFsxLDExLDM2XV0sY2hyb21lY2FzdF9tb2JpbGU6W1sxLDQsMjRdLFsxLDQsMzZdXSxjaHJvbWVjYXN0X3dhdmVmb3JtOltbMSwyLDI0XV0sY2lyY2xlOltbMCw5LDI0XSxbMSw5LDI0XV0sY2lyY2xlX2Z1bGw6W1swLDMsMjRdXSxjaXJjbGVfZnVsbF9oYWxmOltbMCwxLDI0XV0sY2lyY2xlX2hhbGZfZmlsbGVkOltbMSwxLDI0XV0sY2lyY2xlX3NsYXNoOltbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XSxbMSw0LDQ4XV0sY2lyY2xlczY6W1sxLDEsMjRdXSxjbGFwcGVyYm9hcmQ6W1swLDMsMjRdLFsxLDMsCjI0XV0sY2xhcHBlcmJvYXJkX3NsYXNoOltbMSwxLDI0XV0sY2xhcHBlcmJvYXJkX3NwYXJrbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvY2s6W1swLDEwLDI0XSxbMCwxMCw0OF0sWzEsMTAsMjRdXSxjbG9ja19hcnJvd19jbG9ja3dpc2U6W1sxLDEsMjRdXSxjbG9ja19oYWxmX2Rhc2hlZDpbWzEsMSwyNF1dLGNsb2NrX3NwbGl0OltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvY2tfc3BsaXRfYWxlcnQ6W1swLDIsMjRdLFsxLDIsMjRdXSxjbG9zZWRfY2FwdGlvbnM6W1swLDMsMjRdLFswLDMsNDhdLFsxLDMsMjRdLFsxLDMsNDhdXSxjbG91ZDpbWzEsMiwyNF1dLGNsb3VkX2Fycm93X2Rvd246W1sxLDMsMjRdXSxjbG91ZF9hcnJvd191cDpbWzAsNiwyNF0sWzEsNiwxOF0sWzEsNiwyNF1dLGNsb3VkX2NoZWNrOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfZWxsaXBzaXM6W1swLDMsMjRdLFsxLDMsMjRdXSxjbG91ZF9zbGFzaDpbWzEsMiwyNF0sWzEsMiw0OF1dLGNtc19hbGxvd2xpc3Q6W1swLAoyLDI0XSxbMSwyLDI0XV0sY29kZTpbWzEsMiwyNF1dLGNvbXBhcmU6W1sxLDIsMjRdXSxjb21wYXNzOltbMCw5LDI0XSxbMSw5LDI0XV0sY29weTpbWzEsMywyNF1dLGNvcHlfdG9fYWxsOltbMSwxLDI0XV0sY29weXJpZ2h0OltbMCw0LDI0XSxbMSw0LDI0XV0sY29weXJpZ2h0X3NlYXJjaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGNvdmVyX2NsYWltOltbMSwxLDI0XV0sY3JlYXRpdmVfY29tbW9uczpbWzAsMiwyNF0sWzEsMiwyNF1dLGNyZWRpdF9jYXJkOltbMCw0LDI0XSxbMSw0LDI0XV0sY3JvcDpbWzEsNCwxOF0sWzEsNCwyNF1dLGNyb3Bfcm90YXRlOltbMSwyLDI0XV0sY3Jvc3NoYWlyOltbMSwxLDE4XSxbMSwxLDI0XV0sY3Jvd246W1swLDUsMThdLFswLDUsMjRdLFsxLDUsMjRdXSxjc3Y6W1swLDIsMjRdLFsxLDIsMjRdXSxjdWJlOltbMCwyLDI0XSxbMSwyLDI0XV0sY3ViZV9zcGFyazpbWzEsMSwyNF1dLGN1cnNvcl9jbGljazpbWzAsMiwyNF0sWzEsMiwyNF1dLGN1cnZlOltbMSwKMSwyNF1dLGN2cDpbWzAsMiwyNF0sWzEsMiwyNF1dLGRhbmNlX3NwYXJrOltbMCwxLDI0XV0sZGFzaGJvYXJkOltbMCwyLDI0XSxbMSwyLDI0XV0sZGFzaGJvYXJkX2FkZDpbWzEsMSwyNF1dLGRpZV9mYWNlMzpbWzAsMiwyNF0sWzEsMiwyNF1dLGRpcmVjdGlvbnM6W1sxLDMsMjRdXSxkaXNwbGF5OltbMCwyLDI0XSxbMSwyLDI0XV0sZGlzcGxheV9zbGFzaDpbWzEsMSwyNF1dLGRpdmlkZTpbWzEsMSwyNF1dLGRvY3VtZW50OltbMCwyLDI0XSxbMSwyLDI0XV0sZG9jdW1lbnRfYXJyb3dfdXBfcmlnaHQ6W1swLDIsMjRdLFsxLDIsMjRdXSxkb2xsYXJfc2lnbl9hcnJvd19mbGlwOltbMSwxLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlOltbMCwxMiwyNF0sWzEsMTIsMTJdLFsxLDEyLDE4XSxbMSwxMiwyNF1dLGRvbGxhcl9zaWduX2NpcmNsZV9hZGQ6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfaGFuZDpbWzEsMSwyNF1dLGRvbGxhcl9zaWduX2NpcmNsZV9wYXVzZTpbWzEsMiwyNF1dLApkb2xsYXJfc2lnbl9jaXJjbGVfc2xhc2g6W1sxLDIsMTJdLFsxLDIsMjRdXSxkb2xsYXJfc2lnbl9oZWFydDpbWzAsMjQsMTJdLFswLDI0LDI0XSxbMSwyNCwxMl0sWzEsMjQsMjRdXSxkb2xsYXJfc2lnbl9yZWN0YW5nbGU6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl90djpbWzAsMiwyNF0sWzEsMiwyNF1dLGRvdDpbWzAsMiwxMl0sWzAsMiwyNF1dLGRvd25sb2FkOltbMSwxMSwxOF0sWzEsMTEsMjRdXSxkcGFkOltbMCwyLDI0XSxbMSwyLDI0XV0sZW1iZWQ6W1swLDIsMjRdLFsxLDIsMjRdXSxlcXVhbDpbWzEsMiwxOF0sWzEsMiwyNF1dLGVxdWFsX3NsYXNoOltbMSwxLDI0XV0sZXhwbGljaXQ6W1swLDcsMjRdLFsxLDcsMjRdXSxleWU6W1swLDYsMjRdLFsxLDYsMjRdXSxleWVfc2xhc2g6W1sxLDEsMjRdXSxleWVkcm9wcGVyOltbMSwyLDI0XV0sZXllZ2xhc3NlczpbWzEsMSwyNF1dLGZhY2VfYWRkOltbMSwxLDI0XV0sZmFjZV9oYXBweTpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMCwKMTIsNDhdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2VfaW1hZ2U6W1sxLDIsMjRdXSxmYWNlX21laDpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sZmFjZV9uZXV0cmFsOltbMCw0LDI0XSxbMCw0LDM2XSxbMSw0LDI0XSxbMSw0LDM2XV0sZmFjZV9wYWludGJydXNoOltbMSwyLDI0XV0sZmFjZV9zYWQ6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLFsxLDEyLDM2XV0sZmFjZV9zY2FsZTpbWzEsMSwyNF1dLGZhY2Vfc3BhcmtsZXM6W1swLDIsMjRdLFsxLDIsMjRdXSxmYWNlX3VuaGFwcHk6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFjZV91cHNldDpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sZmFjZV92ZXJ5X2hhcHB5OltbMCwxMiwyNF0sWzAsMTIsMzZdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2VfdmVyeV9zYWQ6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZhc2hpb246W1swLDQsMjRdLFsxLDQsMjRdXSxmYXN0X2ZvcndhcmQ6W1swLDUsMjRdLFsxLAo1LDI0XV0sZmFzdF9yZXdpbmQ6W1swLDIsMjRdLFsxLDIsMjRdXSxmaWxtX3N0cmlwOltbMCw3LDI0XSxbMCw3LDQ4XSxbMSw3LDI0XV0sZmlsbV9zdHJpcF9hZGQ6W1sxLDIsMjRdXSxmaWxtX3N0cmlwX2F1ZGlvOltbMSwxLDI0XV0sZmlsdGVyOltbMSwxLDI0XV0sZmlsdGVyX2F1ZGlvOltbMSwxLDI0XV0sZmlsdGVyX3Bob3RvOltbMCw4LDI0XSxbMSw4LDI0XV0sZmlyZXdvcmtzOltbMSwzLDI0XV0sZmxhZzpbWzAsMTAsMjRdLFswLDEwLDQ4XSxbMSwxMCwxOF0sWzEsMTAsMjRdLFsxLDEwLDQ4XV0sZmxhc2g6W1swLDIsMjRdLFsxLDIsMjRdXSxmbGFzaF9hdXRvOltbMCwzLDI0XSxbMSwzLDI0XV0sZmxhc2hfY2lyY2xlOltbMCw1LDI0XSxbMSw1LDI0XV0sZmxhc2hfc2xhc2g6W1swLDIsMjRdLFsxLDIsMjRdXSxmbGlwX2hvcml6b250YWw6W1sxLDQsMjRdXSxmbGlwX2hvcml6b250YWxfaGFsZl9kYXNoZWQ6W1sxLDEsMjRdXSxmbGlwX3ZlcnRpY2FsX2hhbGZfZGFzaGVkOltbMSwKMSwyNF1dLGZvbGRlcjpbWzAsNCwyNF0sWzEsNCwyNF1dLGZvbnQ6W1sxLDEsMjRdXSxmb250X2JvbGQ6W1sxLDEsMjRdXSxmb250X2l0YWxpYzpbWzEsMSwyNF1dLGZvbnRfb3V0bGluZTpbWzEsMSwyNF1dLGZvbnRfcHJlc2VudDpbWzEsMSwyNF1dLGZvbnRfc2VyaWY6W1sxLDEsMjRdXSxmb250X3NoYWRvdzpbWzEsMSwyNF1dLGZvbnRfc3Bhcms6W1sxLDEsMjRdXSxmb250X3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGZvbnRfc3F1YXJlX3NwYXJrOltbMSwxLDE4XSxbMSwxLDI0XV0sZm9udF9zdHJpa2V0aHJvdWdoOltbMSwxLDI0XV0sZm9udF9zdHlsZTpbWzEsMiwxOF0sWzEsMiwyNF1dLGZvbnRfdW5kZXJsaW5lOltbMSwxLDI0XV0sZm9vdGJhbGw6W1swLDQsMjRdLFsxLDQsMjRdLFsxLDQsMzZdXSxnYW1lX2NvbnRyb2xsZXI6W1sxLDEsMjRdXSxnYW1pbmc6W1swLDMsMjRdLFsxLDMsMjRdXSxnZWFyOltbMCwxMCwyNF0sWzAsMTAsNDhdLFsxLDEwLDE4XSxbMSwxMCwyNF0sClsxLDEwLDQ4XV0sZ2VzdHVyZV9sb25nX3ByZXNzOltbMCwyLDI0XSxbMSwyLDI0XV0sZ2VzdHVyZV9waW5jaF9pbjpbWzEsMSwyNF1dLGdlc3R1cmVfc3dpcGVfbGVmdDpbWzEsMSwyNF1dLGdlc3R1cmVfc3dpcGVfcmlnaHQ6W1sxLDEsMjRdXSxnZXN0dXJlX3N3aXBlX3VwOltbMSwxLDI0XV0sZ2VzdHVyZV90YXA6W1swLDIsMjRdLFsxLDIsMjRdXSxnaG9zdDpbWzAsNSwyNF0sWzEsNSwyNF1dLGdpZjpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLGdpZnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxnbG9iZTpbWzEsNCwyNF1dLGdsb2JlX2ltYWdlOltbMSwzLDI0XV0sZ2xvdzpbWzEsMiwyNF1dLGdvb2dsZTpbWzAsMSwyNF1dLGdvb2dsZV9ibG9nZ2VyOltbMCwxLDI0XV0sZ29vZ2xlX2RyaXZlX2FkZDpbWzEsMSwyNF1dLGdvb2dsZV9sZW5zOltbMSw0LDI0XV0sZ29vZ2xlX21lZXQ6W1swLDIsMjRdLFsxLDIsMjRdXSxnb29nbGVfcXVpY2tfc2hhcmU6W1sxLDEsMjRdXSwKZ3JhZHVhdGlvbl9jYXA6W1swLDMsMThdLFswLDMsMjRdLFsxLDMsMjRdXSxncmVhdGVyX3RoYW46W1sxLDEsMjRdXSxncmVhdGVyX3RoYW5fbjIwOltbMSwxLDI0XV0sZ3JlYXRlcl90aGFuX29yX2VxdWFsX3RvOltbMSwxLDI0XV0saGFuZDpbWzEsMiwyNF1dLGhhbmRfd2F2ZTpbWzEsMiwyNF1dLGhhbmRzX2NsYXA6W1sxLDEsMjRdXSxoYW5kc19oZWFydDpbWzAsMywyNF0sWzEsMywyNF1dLGhhc2h0YWc6W1sxLDIsMjRdXSxoZDpbWzAsOCwyNF0sWzEsOCwyNF1dLGhlYWRzZXQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFyaW5nOltbMCwyLDI0XSxbMSwyLDI0XV0saGVhcnQ6W1swLDE5LDI0XSxbMSwxOSwxOF0sWzEsMTksMjRdXSxoZWFydF9jaXJjbGU6W1sxLDIsMjRdXSxoZWFydF9jdWJlOltbMSwxLDI0XV0saGVhcnRfc2xhc2g6W1sxLDEsMjRdXSxoZWxwX2J1YmJsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGhlbHBfY2lyY2xlOltbMSwyLDE4XSxbMSwyLDI0XV0saGllcmFyY2h5OltbMCwKNCwyNF0sWzEsNCwyNF1dLGhpZ2hsaWdodHM6W1sxLDIsMjRdXSxoaXN0b3J5OltbMSwxLDI0XV0saG9tZTpbWzAsMTAsMjRdLFsxLDEwLDI0XV0saG91cmdsYXNzOltbMSwzLDE4XSxbMSwzLDI0XV0saHlwZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGltYWdlOltbMCw4LDI0XSxbMSw4LDI0XV0saW1hZ2VfYWRkOltbMCw0LDI0XSxbMSw0LDI0XV0saW1hZ2VfZnJhbWU6W1sxLDEsMjRdXSxpbWFnZV9saXN0OltbMCwyLDI0XSxbMSwyLDI0XV0saW1hZ2VfbGlzdF9zbGFzaDpbWzEsMSwyNF1dLGltYWdlX3NwYXJrOltbMSwxLDI0XV0saW1hZ2Vfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxpbWFnZV92aWV3ZmluZGVyOltbMSwxLDI0XV0saW5jb2duaXRvOltbMCw5LDI0XSxbMSw5LDI0XV0saW5maW5pdHk6W1sxLDIsMjRdXSxpbmZvX2NpcmNsZTpbWzEsMTAsMThdLFsxLDEwLDI0XV0saW5mb19jaXJjbGVfc3Bhcms6W1sxLDEsMjRdXSxqZXdlbDpbWzEsMSwyNF1dLGpvdXJuZXk6W1sxLAoyLDI0XV0sa2V5OltbMSw1LDI0XV0sa2V5Ym9hcmQ6W1swLDQsMjRdLFsxLDQsMjRdXSxsYWJlbDpbWzAsNCwyNF0sWzEsNCwyNF1dLGxhYmVsX3NsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sbGFwdG9wOltbMSwzLDI0XV0sbGFwdG9wX21vYmlsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLGxheW91dF9ib3R0b206W1sxLDEsMjRdXSxsYXlvdXRfZm9yZWdyb3VuZDpbWzEsMSwyNF1dLGxheW91dF9mdWxsOltbMSwxLDI0XV0sbGF5b3V0X2xlZnQ6W1sxLDEsMjRdXSxsYXlvdXRfbWlkZGxlOltbMSwxLDI0XV0sbGF5b3V0X3BpY3R1cmVfaW5fcGljdHVyZTpbWzEsMSwyNF1dLGxheW91dF9yaWdodDpbWzEsMSwyNF1dLGxheW91dF90b3A6W1sxLDEsMjRdXSxsZWFmOltbMSwyLDI0XV0sbGVzc190aGFuOltbMSwxLDI0XV0sbGVzc190aGFuX240OltbMSwxLDI0XV0sbGVzc190aGFuX29yX2VxdWFsX3RvOltbMSwxLDI0XV0sbGljZW5zZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGxpY2Vuc2VfYWxlcnQ6W1sxLAoxLDI0XV0sbGljZW5zZV9zZWFyY2g6W1sxLDEsMjRdXSxsaWNlbnNlX3NsYXNoOltbMSwxLDI0XV0sbGlnaHRidWxiOltbMCw0LDI0XSxbMSw0LDI0XV0sbGluazpbWzEsOCwxOF0sWzEsOCwyNF1dLGxpbmtfc2xhc2g6W1sxLDEsMjRdXSxsaXZlOltbMSwzLDEyXSxbMSwzLDI0XV0sbGl2ZV9waG90bzpbWzEsMiwyNF1dLGxpdmVfd2F2ZXM6W1sxLDIsMThdLFsxLDIsMjRdXSxsb2NhdGlvbl9waW46W1swLDIsMjRdLFsxLDIsMjRdXSxsb2NhdGlvbl9waW5fc2xhc2g6W1sxLDEsMjRdXSxsb2NrOltbMCwxMywxMl0sWzAsMTMsMjRdLFsxLDEzLDE4XSxbMSwxMywyNF0sWzEsMTMsNDhdXSxsb2NrX2Nsb2NrOltbMSwxLDI0XV0sbG9ja19uMjpbWzEsMSwyNF1dLGxvY2tfb3BlbjpbWzAsNCwyNF0sWzEsNCwyNF1dLG1hZ2ljX3dhbmQ6W1swLDMsMjRdLFsxLDMsMjRdXSxtYWlsOltbMCw5LDI0XSxbMSw5LDI0XV0sbWFwOltbMSwzLDI0XV0sbWVkYWw6W1sxLDIsMjRdXSxtZWRhbF9zdGFyOltbMSwKMiwyNF1dLG1lZ2FwaG9uZTpbWzAsNSwyNF0sWzEsNSwxMl0sWzEsNSwyNF1dLG1lbWJlcnNoaXBzOltbMCw5LDI0XSxbMCw5LDM2XSxbMSw5LDI0XV0sbWVtYmVyc2hpcHNfZ2lmdDpbWzEsMSwyNF1dLG1lbnRpb246W1sxLDUsMjRdXSxtZW51OltbMSwxLDI0XV0sbWljOltbMCwxNCwxOF0sWzAsMTQsMjRdLFswLDE0LDM2XSxbMCwxNCw0OF0sWzEsMTQsMThdLFsxLDE0LDI0XSxbMSwxNCw0OF1dLG1pY19zbGFzaDpbWzEsMiwyNF1dLG1pY19zcGFyazpbWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxOF0sWzEsMSwyNF1dLG1pbnVzOltbMSwyLDE4XSxbMSwyLDI0XV0sbWludXNfY2lyY2xlOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sbWludXNfc3F1YXJlOltbMCwyLDI0XSxbMSwyLDI0XV0sbWl4OltbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XV0sbW9iaWxlOltbMCw0LDI0XSxbMSw0LDI0XV0sbW9iaWxlX2Fycm93X2Rvd246W1sxLDEsMjRdXSxtb2JpbGVfYXJyb3dfaW46W1sxLAoxLDI0XV0sbW9iaWxlX2Fycm93X291dDpbWzEsMSwyNF1dLG1vYmlsZV9jaGVjazpbWzEsMiwyNF1dLG1vYmlsZV9sYW5kc2NhcGU6W1swLDMsMjRdLFsxLDMsMjRdXSxtb3Rpb246W1sxLDIsMjRdXSxtb3ZlOltbMSw0LDE4XSxbMSw0LDI0XV0sbXVzaWNfdmlkZW86W1swLDQsMjRdLFsxLDQsMjRdXSxtdXNpY192aWRlb19zbGFzaDpbWzEsMSwyNF1dLG4xNTpbWzEsMSwyNF1dLG4xcG9pbnQyeDpbWzEsMSwyNF1dLG4xcG9pbnQ1eDpbWzEsMSwyNF1dLG4xcG9pbnQ4eDpbWzEsMSwyNF1dLG4xeDpbWzEsMSwyNF1dLG4yZDpbWzEsMSwyNF1dLG4ycG9pbnQ1eDpbWzEsMSwyNF1dLG4yeDpbWzEsMSwyNF1dLG4zZDpbWzEsMSwyNF1dLG4zeDpbWzEsMSwyNF1dLG40ZDpbWzEsMSwyNF1dLG40azpbWzAsMSwyNF0sWzEsMSwyNF1dLG42MDpbWzEsMSwyNF1dLG44azpbWzAsMSwyNF0sWzEsMSwyNF1dLG5ld19yZWxlYXNlOltbMSwxLDI0XV0sbmV3czpbWzAsMywyNF0sWzEsMywyNF1dLG5ld3NfYWxlcnQ6W1swLAoxLDI0XV0sbm9kZV9sZWZ0OltbMSwyLDI0XV0sbm9kZV9yaWdodDpbWzEsMiwyNF1dLG5vdGU6W1swLDEsMThdLFswLDEsMjRdLFsxLDEsMThdLFsxLDEsMjRdXSxub3RlX3NwYXJrOltbMCwyLDE4XSxbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0sb3Blbl9pbl9wYW5lbDpbWzEsMiwyNF1dLG9yaWdpbmFsczpbWzAsMSwyNF0sWzEsMSwyNF1dLG92ZXJmbG93X2hvcml6b250YWw6W1sxLDYsMjRdLFsxLDYsMzZdXSxvdmVyZmxvd192ZXJ0aWNhbDpbWzEsMTMsMThdLFsxLDEzLDI0XSxbMSwxMywzNl1dLHBhZ2Vfc2VhcmNoOltbMSwxLDI0XV0scGFpbnRfYnVja2V0OltbMSwzLDI0XV0scGFpbnRfcGFsZXR0ZTpbWzEsMSwyNF1dLHBhbmVsczpbWzAsMiwyNF0sWzEsMiwyNF1dLHBhdXNlOltbMCw5LDI0XSxbMCw5LDM2XSxbMCw5LDQ4XSxbMSw5LDI0XV0scGF1c2VfY2lyY2xlOltbMCwyLDI0XSxbMSwyLDI0XV0scGF1c2VfaGlzdG9yeTpbWzEsMSwyNF1dLHBhd3ByaW50OltbMCwKMiwyNF0sWzEsMiwyNF1dLHBkZjpbWzEsMiwyNF1dLHBlbmNpbDpbWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHBlbmNpbF9zcGFyazpbWzEsMSwyNF1dLHBlcmNlbnQ6W1sxLDEsMjRdXSxwZXJzb246W1swLDcsMjRdLFsxLDcsMTJdLFsxLDcsMjRdXSxwZXJzb24yOltbMSwxLDI0XV0scGVyc29uMl9yZWN0YW5nbGU6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb24zOltbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0scGVyc29uX2FkZDpbWzAsNywyNF0sWzEsNywxOF0sWzEsNywyNF1dLHBlcnNvbl9hdWRpbzpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF0sWzEsMyw0OF1dLHBlcnNvbl9iYWNrZ3JvdW5kX3NwYXJrOltbMSwxLDI0XV0scGVyc29uX2NoZWNrOltbMSwxLDI0XV0scGVyc29uX2NoaWxkOltbMCwyLDEyXSxbMCwyLDI0XSxbMSwyLDI0XV0scGVyc29uX2NpcmNsZTpbWzAsMTAsMjRdLFsxLDEwLDI0XSxbMSwxMCw0OF1dLHBlcnNvbl9jaXJjbGVfc2xhc2g6W1sxLAoyLDI0XV0scGVyc29uX2dlYXI6W1swLDIsMjRdLFsxLDIsMjRdXSxwZXJzb25fc2hpZWxkOltbMSw3LDI0XV0scGVyc29uX3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLHBlcnNvbl9zcXVhcmVfc3Bhcms6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25fc3F1YXJlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0scGVyc29uX3ZpZXdmaW5kZXI6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25fd2F2ZWZvcm06W1sxLDIsMjRdXSxwZXJzb25fd2F2ZXM6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25feDpbWzEsMSwyNF1dLHBob25lOltbMCwzLDI0XSxbMSwzLDEyXSxbMSwzLDI0XV0scGlhbm86W1sxLDEsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmU6W1swLDIsMjRdLFsxLDIsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmVfc3RhY2s6W1sxLDEsMjRdXSxwaW46W1swLDcsMjRdLFsxLDcsMThdLFsxLDcsMjRdXSxwaW5fc2xhc2g6W1swLDIsMjRdLFsxLDIsMThdLApbMSwyLDI0XV0scGxheTpbWzAsNCwxOF0sWzAsNCwyNF0sWzAsNCwzNl0sWzAsNCw0OF0sWzEsNCwyNF1dLHBsYXlfY2lyY2xlOltbMCwyLDI0XSxbMCwyLDQ4XSxbMSwyLDI0XV0scGxheV9jaXJjbGVfaGFsZl9kYXNoZWQ6W1sxLDEsMjRdXSxwbGF5X3BhdXNlOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheV9zbGFzaDpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXlfc3F1YXJlX2hhbGZfZGFzaGVkOltbMSwxLDI0XV0scGxheV9zcXVhcmVfc3RhY2s6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5YWJsZXM6W1swLDIsMjRdLFsxLDIsMThdLFsxLDIsMjRdXSxwbGF5ZXJfZGVmYXVsdDpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXllcl9mdWxsX2VudGVyOltbMSwxLDI0XV0scGxheWVyX2Z1bGxfZW50ZXJfYWx0OltbMSwxLDI0XV0scGxheWVyX2Z1bGxfZW50ZXJfcG9ydHJhaXQ6W1sxLDIsMjRdXSxwbGF5ZXJfZnVsbF9leGl0OltbMSwxLDI0XV0scGxheWVyX2Z1bGxfZXhpdF9hbHQ6W1sxLDEsCjI0XV0scGxheWVyX21pbmlfZW50ZXI6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfbWluaV9leGl0OltbMSwxLDI0XV0scGxheWVyX211bHRpdmlldzpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXllcl9zd2l0Y2g6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfdGhlYXRlcjpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXlsaXN0OltbMSw1LDEyXSxbMSw1LDE4XSxbMSw1LDI0XSxbMSw1LDQ4XV0scGxheWxpc3RfYWRkOltbMSwzLDE4XSxbMSwzLDI0XV0scGxheWxpc3RfYXVkaW86W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdLFsxLDMsNDhdXSxwbGF5bGlzdF9hdWRpb19zbGFzaDpbWzEsMSwyNF1dLHBsYXlsaXN0X2NoZWNrOltbMSwxLDI0XV0scGxheWxpc3RfcGVuY2lsOltbMSwyLDI0XSxbMSwyLDQ4XV0scGxheWxpc3RfeDpbWzEsMywxOF0sWzEsMywyNF1dLHBvZGNhc3Q6W1swLDYsMTJdLFswLDYsMjRdLFsxLDYsMTJdLFsxLDYsMThdLFsxLDYsMjRdLFsxLDYsNDhdXSxwb2RjYXN0X2FkZDpbWzAsCjIsMjRdLFsxLDIsMjRdXSxwb2RjYXN0X2NoZWNrOltbMCwyLDI0XV0scG9pbnQyeDpbWzEsMSwyNF1dLHBvaW50M3g6W1sxLDEsMjRdXSxwb2ludDV4OltbMSwxLDI0XV0scG9pbnQ4eDpbWzEsMSwyNF1dLHBvbGw6W1sxLDEwLDE4XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxwb3N0OltbMCwyLDEyXSxbMCwyLDE4XSxbMCwyLDI0XSxbMSwyLDEyXSxbMSwyLDE4XSxbMSwyLDI0XV0scHJlbWl1bTpbWzAsMSwyNF0sWzEsMSwyNF1dLHByZXNlbnRhdGlvbjpbWzEsMywyNF1dLHByaWNlX3RhZzpbWzAsOCwyNF0sWzAsOCw0OF0sWzEsOCwyNF1dLHByaWNlX3RhZ19oZWFydDpbWzEsMiwyNF1dLHByaWNlX3RhZ19yZWN0YW5nbGU6W1sxLDEsMjRdXSxxcl9jb2RlOltbMSwzLDI0XV0scXJfY29kZV92aWV3ZmluZGVyOltbMSwxLDI0XV0scXVlc3Rpb25faGVhZDpbWzEsMiwyNF1dLHF1ZXVlOltbMSwxLDI0XV0scXVldWVfbGFzdDpbWzEsMSwyNF1dLHF1ZXVlX25leHQ6W1sxLDEsMjRdXSxxdWl6OltbMCwKMSwyNF0sWzEsMSwyNF1dLHF1b3RlOltbMCwxLDI0XSxbMSwxLDI0XV0scXVvdGVfc2xhc2g6W1swLDEsMjRdLFsxLDEsMjRdXSxyZWNvcmQ6W1swLDIsMjRdXSxyZWRvOltbMSwyLDE4XSxbMSwyLDI0XV0scmVtaXg6W1sxLDIsMjRdXSxyZW1peF9zcGFya2xlczpbWzEsMSwyNF1dLHJlbW90ZV93YXZlczpbWzEsMSwyNF1dLHJlcGVhdDpbWzAsMiwyNF0sWzEsMiwyNF1dLHJlcGVhdDE6W1swLDEsMjRdLFsxLDEsMjRdXSxyZXBsYXk6W1sxLDIsMjRdLFsxLDIsMzZdXSxyb3RhdGVfY2xvY2t3aXNlOltbMSwxLDI0XV0scm90YXRlX2NvdW50ZXJjbG9ja3dpc2U6W1sxLDEsMjRdXSxyb3RhdGVfbGFuZHNjYXBlOltbMSwyLDE4XSxbMSwyLDI0XV0scm90YXRlX3BvcnRyYWl0OltbMSwxLDI0XV0scnNzOltbMSwyLDI0XV0scnNzX3NsYXNoOltbMSwxLDI0XV0scnVieTpbWzEsMiwyNF1dLHNhbXBsZXM6W1swLDIsMjRdLFsxLDIsMjRdXSxzYXR1cmF0aW9uOltbMSwyLDI0XV0sc2NhbGU6W1sxLAo0LDI0XV0sc2Npc3NvcnM6W1swLDgsMjRdLFsxLDgsMThdLFsxLDgsMjRdXSxzY2lzc29yc19jdXQ6W1sxLDQsMjRdXSxzY3JpYmJsZTpbWzEsMSwyNF1dLHNkOltbMCwzLDI0XSxbMSwzLDI0XV0sc2VhcmNoOltbMCwxNSwyNF0sWzEsMTUsMThdLFsxLDE1LDI0XSxbMSwxNSw0OF1dLHNlYXJjaF9zaGllbGQ6W1swLDEsMjRdLFsxLDEsMjRdXSxzZWFyY2hfc3Bhcms6W1sxLDMsMThdLFsxLDMsMjRdXSxzZWVrX2ZvcndhcmQ6W1swLDEsMjRdXSxzZWVrX3Jld2luZDpbWzAsMSwyNF1dLHNlbmQ6W1swLDcsMTgsITBdLFswLDcsMjQsITBdLFsxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxzaGFkb3c6W1sxLDEsMjRdXSxzaGFkb3dfaGFyZDpbWzAsMywyNF0sWzEsMywyNF1dLHNoYWRvd19zb2Z0OltbMCwzLDI0XSxbMSwzLDI0XV0sc2hhcGVzOltbMCwzLDI0XSxbMSwzLDI0XV0sc2hhcmU6W1swLDEyLDI0LCEwXSxbMSwxMiwxOCwhMF0sWzEsMTIsMjQsITBdXSxzaGFyZV9hbmRyb2lkOltbMCwKMiwyNF0sWzEsMiwyNF1dLHNoYXJlX2lvczpbWzEsMiwyNF1dLHNoYXJwZW46W1sxLDEsMjRdXSxzaGllbGQ6W1swLDYsMjRdLFsxLDYsMjRdXSxzaGllbGRfYWRkOltbMSwyLDI0XV0sc2hpZWxkX2hlYWx0aDpbWzEsMSwyNF1dLHNoaWVsZF9vdmVyZmxvdzpbWzEsMiwyNF1dLHNoaWVsZF9zbGFzaDpbWzEsMSwyNF1dLHNoaWVsZF94OltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sc2hvcnRzOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDI0XV0sc2hvcnRzX2FkZDpbWzEsMSwxOF0sWzEsMSwyNF1dLHNob3J0c19lbXB0eTpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywyNF1dLHNodWZmbGU6W1swLDQsMjRdLFsxLDQsMThdLFsxLDQsMjRdXSxza2lwMTBfYmFjazpbWzEsMiwyNF0sWzEsMiwzNl1dLHNraXAxMF9mb3J3YXJkOltbMSwxLDI0XV0sc2tpcDE1X2JhY2s6W1sxLDEsMjRdXSxza2lwMTVfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXAyMF9iYWNrOltbMSwxLDI0XV0sc2tpcDIwX2ZvcndhcmQ6W1sxLAoxLDI0XV0sc2tpcDMwX2JhY2s6W1sxLDEsMjRdXSxza2lwMzBfZm9yd2FyZDpbWzEsMiwyNF0sWzEsMiwzNl1dLHNraXA1X2JhY2s6W1sxLDEsMjRdXSxza2lwNV9mb3J3YXJkOltbMSwxLDI0XV0sc2tpcDYwX2JhY2s6W1sxLDEsMjRdXSxza2lwNjBfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXBfZG93bjpbWzAsNiwyNF0sWzEsNiwyNF1dLHNraXBfbmV4dDpbWzAsNywxMl0sWzAsNywyNF0sWzAsNywzNl0sWzEsNywyNF1dLHNraXBfcHJldmlvdXM6W1swLDYsMjRdLFswLDYsMzZdLFsxLDYsMjRdXSxza2lwX3VwOltbMCw2LDI0XSxbMSw2LDI0XV0sc2xhc2hfZm9yd2FyZDpbWzEsMSwyNF1dLHNsZWVwX3RpbWVyOltbMCwyLDI0XSxbMSwyLDI0XV0sc2xpcDpbWzEsMSwxOF0sWzEsMSwyNF1dLHNub3dmbGFrZTpbWzEsMSwyNF1dLHNvY2Nlcl9iYWxsOltbMSwzLDI0XV0sc29uYXI6W1sxLDEsMjRdXSxzb3J0OltbMSwzLDEyXSxbMSwzLDE4XSxbMSwzLDI0XV0sc3BhY2ViYXI6W1sxLDIsCjI0XV0sc3Bhcms6W1swLDExLDEyXSxbMCwxMSwyNF0sWzEsMTEsMjRdXSxzcGFya19idWJibGVfY2hhdDpbWzEsMSwyNF1dLHNwYXJrX2xpZ2h0YnVsYjpbWzAsMywyNF0sWzEsMywyNF1dLHNwYXJrX3NlYXJjaDpbWzEsMSwyNF1dLHNwYXJrX3dhdmVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc3BhcmtsZXM6W1swLDIsMjRdLFsxLDIsMjRdXSxzcGVha2VyOltbMSwyLDI0XV0sc3BlYWtlcl9oZWFkc2V0OltbMSwyLDI0XV0sc3BlYWtlcl9zbGFzaDpbWzEsMSwyNF1dLHNwZWFrZXJfc3RhY2s6W1sxLDEsMjRdXSxzcGVha2VyX3N0YWNrX3NsYXNoOltbMSwxLDI0XV0sc3BlZWRvbWV0ZXI6W1swLDIsMjRdLFsxLDIsMjRdXSxzcGxpY2U6W1sxLDEsMjRdXSxzcGxpdDpbWzEsNCwyNF1dLHNwb3RsaWdodDpbWzAsMywyNF0sWzEsMywyNF1dLHNwcmVhZHNoZWV0OltbMSwxLDI0XV0sc3F1YXJlOltbMCwyLDI0XSxbMSwyLDI0XV0sc3F1YXJlM19zdGFjazpbWzAsMiwyNF0sWzEsMiwyNF1dLApzcXVhcmUzZF9zdGFjazpbWzAsMiwyNF0sWzEsMiwyNF1dLHNxdWFyZV9ncmlkMngyOltbMSwxLDI0XV0sc3F1YXJlX2dyaWQzeDM6W1swLDIsMjRdLFsxLDIsMjRdXSxzcXVhcmVfcGFpbnRicnVzaDpbWzEsMSwyNF1dLHNxdWFyZV9wZW5jaWw6W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdXSxzdGFibGVfdm9sdW1lOltbMCwyLDI0XSxbMSwyLDI0XV0sc3RhcjpbWzAsNiwxMl0sWzAsNiwyNF0sWzEsNiwxMl0sWzEsNiwyNF1dLHN0YXJfY2lyY2xlOltbMCw2LDEyXSxbMCw2LDE4XSxbMCw2LDI0XSxbMCw2LDM2XSxbMSw2LDI0XV0sc3Rhcl9mdWxsX2hhbGY6W1swLDEsMTJdLFswLDEsMjRdXSxzdGFyX2hhbGZfZmlsbGVkOltbMSwyLDEyXSxbMSwyLDI0XV0sc3Rhcl90aWNrZXQ6W1swLDIsMjRdLFsxLDIsMjRdXSxzdGFyX3Ryb3BoeTpbWzEsMSwyNF1dLHN0YXJfdHY6W1sxLDEsMjRdXSxzdGlja2VyOltbMSwzLDE4XSxbMSwzLDI0XV0sc3RvcDpbWzAsNiwyNF0sWzAsNiwzNl0sClsxLDYsMjRdXSxzdG9wX2NpcmNsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHN0b3B3YXRjaDpbWzAsNSwyNF0sWzEsNSwyNF1dLHN0b3B3YXRjaDEwOltbMCwxLDI0XV0sc3RvcHdhdGNoMzpbWzAsMSwyNF1dLHN0b3JhZ2U6W1swLDIsMjRdLFsxLDIsMjRdXSxzdWJzY3JpcHRpb25zOltbMCwxMiwyNF0sWzEsMTIsMjRdLFsxLDEyLDQ4XV0sc3VidGl0bGVzOltbMCw1LDI0XSxbMCw1LDQ4XSxbMSw1LDI0XV0sc3VidGl0bGVzX2J1YmJsZTpbWzEsMSwyNF1dLHN1bTpbWzEsMSwyNF1dLHN1cGVyX2NoYXQ6W1swLDgsMjRdLFsxLDgsMjRdXSxzdXBlcl9zdGFyOltbMSwxLDI0XV0sc3VwZXJfc3RpY2tlcjpbWzAsOCwyNF0sWzEsOCwyNF1dLHN1cGVyX3N0b3JlOltbMCwzLDI0XSxbMSwzLDI0XV0sc3VwcG9ydF9hZ2VudDpbWzEsMSwyNF1dLHN1cnJvdW5kX3NvdW5kOltbMCwyLDI0XSxbMSwyLDI0XV0sdGFibGV0X2xhbmRzY2FwZTpbWzEsMSwyNF1dLHRhcmdldDpbWzEsMiwyNF1dLHRhcmdldF9hZGQ6W1sxLAoyLDI0XV0sdGVtcGxhdGVfYWRkOltbMSwzLDI0XV0sdGVtcGxhdGVfcGxheTpbWzAsMywyNF0sWzEsMywyNF1dLHRlbXBsYXRlX3BsYXlfc3Bhcms6W1sxLDEsMjRdXSx0ZXh0X2FsaWduX2NlbnRlcjpbWzAsMiwyNF0sWzEsMiwyNF1dLHRleHRfYWxpZ25fbGVmdDpbWzAsMiwyNF0sWzEsMiwyNF1dLHRleHRfYWxpZ25fcmlnaHQ6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X2J1YmJsZTpbWzAsNCwyNF0sWzEsNCwxMl0sWzEsNCwxOF0sWzEsNCwyNF1dLHRleHRfcGFnZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHRleHRfcGFnZV9hbGVydDpbWzEsMSwyNF1dLHRleHRfcGFnZV9jaGVjazpbWzEsMSwyNF1dLHRleHRfcGFnZV9pbmZvOltbMSwxLDI0XV0sdGV4dF9zcGFyazpbWzEsMSwyNF1dLHRleHR1cmU6W1sxLDEsMjRdXSx0aGVhdGVyOltbMSwxLDI0XV0sdGhlbWU6W1swLDIsMjRdLFsxLDIsMjRdXSx0aGVybW9tZXRlcjpbWzEsMiwyNF1dLHRodW1iX2Rvd246W1swLDI1LDE4XSxbMCwKMjUsMjRdLFswLDI1LDM2XSxbMCwyNSw0OF0sWzEsMjUsMThdLFsxLDI1LDI0XSxbMSwyNSwzNl0sWzEsMjUsNDhdXSx0aHVtYl91cDpbWzAsMjQsMTJdLFswLDI0LDE4XSxbMCwyNCwyNF0sWzAsMjQsMzZdLFswLDI0LDQ4XSxbMSwyNCwxMl0sWzEsMjQsMThdLFsxLDI0LDI0XSxbMSwyNCwzNl0sWzEsMjQsNDhdXSx0aHVtYl91cF9kb3duOltbMCw0LDI0XSxbMSw0LDI0XV0sdGlsdDpbWzEsNCwyNF1dLHRpbWVsaW5lOltbMSwzLDI0XV0sdGltZWxpbmVfc3Bhcms6W1sxLDEsMjRdXSx0aW1lc3RhbXBfYWRkOltbMSwxLDI0XV0sdG9vbGJveDpbWzAsNCwyNF0sWzEsNCwyNF1dLHRyYW5zY3JpcHQ6W1sxLDIsMjRdXSx0cmFuc2l0aW9uOltbMCw1LDI0XSxbMSw1LDI0XV0sdHJhbnNsYXRlOltbMSw0LDE4XSxbMSw0LDI0XV0sdHJhc2hfY2FuOltbMCwxMCwyNF0sWzEsMTAsMThdLFsxLDEwLDI0XV0sdHJlbmRpbmc6W1swLDIsMjRdLFsxLDIsMjRdXSx0cmlhbmdsZV9kb3duOltbMCw4LAoxOF0sWzAsOCwyNF0sWzEsOCwyNF1dLHRyaWFuZ2xlX3VwOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDI0XV0sdHJvcGh5OltbMCwzLDI0XSxbMSwzLDI0XV0sdHJ1Y2s6W1swLDUsMjRdLFsxLDUsMjRdXSx0djpbWzAsOCwyNF0sWzEsOCwyNF0sWzEsOCw0OF1dLHR2X2Fycm93X2xlZnQ6W1sxLDIsMjRdXSx0dl9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSx0dl9tb2JpbGU6W1sxLDIsMjRdLFsxLDIsMzZdXSx0dl9zbGFzaDpbWzEsMSwyNF1dLHVuYXJjaGl2ZTpbWzEsMSwyNF1dLHVuZG86W1sxLDIsMThdLFsxLDIsMjRdXSx1cGxvYWQ6W1sxLDUsMjRdXSx2YXJpYWJsZTpbWzEsNCwyNF1dLHZpZGVvOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sdmlkZW9fY2FtZXJhOltbMCw5LDI0XSxbMCw5LDQ4XSxbMSw5LDI0XSxbMSw5LDQ4XV0sdmlkZW9fY2FtZXJhX2FkZDpbWzEsMiwyNF1dLHZpZGVvX2NhbWVyYV9zbGFzaDpbWzEsMSwyNF1dLHZpZGVvX2xpbms6W1sxLDUsMThdLApbMSw1LDI0XV0sdmlkZW9fcG9ydHJhaXRfc3Bhcms6W1sxLDEsMjRdXSx2aWRlb19yZXZlcnNlOltbMSwxLDI0XV0sdmlkZW9fc2xhc2g6W1sxLDEsMTJdLFsxLDEsMThdLFsxLDEsMjRdLFsxLDEsMzZdLFsxLDEsNDhdXSx2aWRlb19zcGFyazpbWzEsMiwyNF1dLHZpZGVvX3N0YWNrX3NwYXJrOltbMSwxLDE4XSxbMSwxLDI0XV0sdmlkZW9fc3RpdGNoOltbMSwyLDI0XV0sdmlkZW9fd2F2ZWZvcm06W1sxLDEsMjRdXSx2aWV3X2NvbHVtbjI6W1sxLDEsMjRdXSx2aWV3X2NvbHVtbjM6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2NvbHVtbjNfcm93MjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfY29tcGFjdDpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfZmVlZDpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfbGlzdDpbWzEsMSwyNF1dLHZpZXdfcm93MjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfdGltZWxpbmU6W1sxLDEsMjRdXSx2aWV3ZmluZGVyOltbMSwxLDEyXSxbMSwxLDE4XSwKWzEsMSwyNF1dLHZpZ25ldHRlOltbMSwxLDI0XV0sdm9sdW1lX2ZhZGU6W1sxLDIsMjRdXSx2b2x1bWVfbWF4OltbMCwyLDI0XSxbMSwyLDI0XV0sdm9sdW1lX21pbjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZvbHVtZV9tdXRlOltbMCwyLDI0XSxbMSwyLDI0XV0sdnI6W1swLDcsMjRdLFsxLDcsMjRdXSx3YXRjaDpbWzEsMSwyNF1dLHdhdGVyOltbMSwxLDI0XV0sd2F2ZWZvcm06W1sxLDMsMjRdLFsxLDMsNDhdXSx3YXZlZm9ybV9zcGFyazpbWzEsMiwyNF1dLHdpZmlfdGV0aGVyaW5nOltbMSwxLDI0XV0sd3JlbmNoOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0seDpbWzEsMTEsMThdLFsxLDExLDI0XSxbMSwxMSwzNl1dLHhfY2lyY2xlOltbMCw5LDI0XSxbMSw5LDE4XSxbMSw5LDI0XV0seF9vY3RhZ29uOltbMSwzLDEyXSxbMSwzLDI0XV0seF9yZWN0YW5nbGU6W1sxLDEsMjRdXSx5ZW5fc2lnbl9yZWN0YW5nbGU6W1swLDIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlOltbMCwKMiwyNF0sWzEsMiwyNF1dLHlvdXR1YmVfa2lkczpbWzAsNSwyNF0sWzEsNSwyNF1dLHlvdXR1YmVfbGFiczpbWzAsMSwyNF1dLHlvdXR1YmVfbXVzaWM6W1swLDcsMjRdLFsxLDcsMjRdXSx5b3V0dWJlX3Nob3J0czpbWzAsMTEsMjRdLFsxLDExLDI0XV0seW91dHViZV9zdHVkaW86W1swLDgsMjRdLFsxLDgsMjRdXSx5b3V0dWJlX3R2OltbMCw4LDI0XSxbMSw4LDI0XV0sem9vbV9hdXRvOltbMSwyLDI0XV0sem9vbV9pbjpbWzAsMiwyNF0sWzEsMiwyNF1dLHpvb21fb3V0OltbMCwyLDI0XSxbMSwyLDI0XV19O3ZhciBYcWE9e1ZPTFVNRV9VUF9ERUxISV9QTEFZRVJfRklMTEVEOiJWT0xVTUVfTUFYIixWT0xVTUVfT0ZGX0RFTEhJX1BMQVlFUjoiVk9MVU1FX01VVEUiLFZPTFVNRV9ET1dOX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IlZPTFVNRV9NSU4iLENMT1NFRF9DQVBUSU9OX0RFTEhJX1BMQVlFUjoiQ0FQVElPTlMiLENMT1NFRF9DQVBUSU9OX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IkNBUFRJT05TIixTVUJUSVRMRVNfREVMSElfUExBWUVSOiJTVUJUSVRMRVMiLFNVQlRJVExFU19ERUxISV9QTEFZRVJfRklMTEVEOiJTVUJUSVRMRVMiLFBMQVlFUl9GVUxMX0VOVEVSX0FMVDoiUExBWUVSX0ZVTExfRU5URVJfQUxUIixQTEFZRVJfRlVMTF9FWElUX0FMVDoiUExBWUVSX0ZVTExfRVhJVF9BTFQiLFBBVVNFX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IlBBVVNFIixQTEFZX0FSUk9XX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IlBMQVlfQVJST1cifSx2Wj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1tZihhLApiKXt2YXIgYz1YcWFbYS5pY29uTmFtZS50b1VwcGVyQ2FzZSgpXTtjJiYoYS5pY29uTmFtZT1jKTt2YXIgZD1hLmljb25OYW1lO2Q9ZC5yZXBsYWNlKC8tL2csIl8iKTthPXsuLi5hLGljb25OYW1lOnVZKGQsISFjKXx8ZC50b0xvd2VyQ2FzZSgpfTtyZXR1cm4gXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIil8fGM/clkoV3FhLGEsdGhpcy5qPy5yd3x8QXBhLGIpOnJZKFZxYSxhLHRoaXMuaj8ucnd8fHpwYSxiKX19O3ZaW18uTG5dPVtfLkluKF8ubk8pXTt2YXIgQnBhPW5ldyBTZXQoWyJjaSIsImNyIiwiY2FybWwiXSksdlk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnNpZ25hbHM9W107dGhpcy5qPW5ldyBNYXA7dGhpcy5CPW5ldyBTZXQ7dGhpcy5vPW5ldyBNYXA7dGhpcy52PW5ldyBNYXB9VnEoYSl7aWYoYS5sZW5ndGg+MSl7dmFyIGI9W107bGV0IGY9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IodmFyIGMgb2YgYSlmW2NdfHwoYi5wdXNoKGMpLGZbY109ITApO2E9Yn1pZihhLmxlbmd0aD09PTEpdmFyIGQ9YVswXTtlbHNle2M9YTtiPSIiO2Muc29ydCgpO2ZvcihlIG9mIGMpYis9ZSsifCI7dmFyIGU9YjtpZighdGhpcy5qLmdldChlKSl7Yz0wO2I9W107Zm9yKGQgb2YgYSljKysseFkodGhpcyxkKXx8Yi5wdXNoKGQpO2M+Yi5sZW5ndGg/dGhpcy5zaWduYWxzLnB1c2goZSk6Q3BhKHRoaXMsZSxhLGIpfWQ9ZX1yZXR1cm4gZH1IaChhLGIsYyxkLGUpe3hZKHRoaXMsYyk/Xy5DaygpLkdhKGEsYixkKTooZSYmKGE9eVkoYSksQVkodGhpcywKYSxiLGMsZSkpLGU9dGhpcy5vLmdldChjKSxlfHwodGhpcy5vLnNldChjLFtdKSxlPXRoaXMuby5nZXQoYykpLGUucHVzaCh7eGg6YSxwcmlvcml0eTpiLGRlbGF5OmR9KSl9YWRkTGlzdGVuZXIoYSxiLGMpe2MmJihiPXlZKGIpLEFZKHRoaXMsYiwwLGEsYykpO2M9dGhpcy52LmdldChhKTtjfHwodGhpcy52LnNldChhLFtdKSxjPXRoaXMudi5nZXQoYSkpO2MucHVzaChiKX1XbShhKXtpZigheFkodGhpcyxhKSl7dGhpcy5CLmFkZChhKTt2YXIgYj10aGlzLm8uZ2V0KGEpO2lmKGIpe2ZvcihsZXQgYyBvZiBiKV8uQ2soKS5HYShjLnhoLGMucHJpb3JpdHksYy5kZWxheSk7dGhpcy5vLmRlbGV0ZShhKX1pZihiPXRoaXMudi5nZXQoYSkpe2ZvcihsZXQgYyBvZiBiKWMoKTt0aGlzLnYuZGVsZXRlKGEpfXRoaXMuc2lnbmFscy5wdXNoKGEpO3RoaXMuQi5kZWxldGUoYSl9fX07dlkucHJvdG90eXBlLnByb2Nlc3NTaWduYWw9dlkucHJvdG90eXBlLldtOwp2WS5wcm90b3R5cGUucGFya09yU2NoZWR1bGVKb2I9dlkucHJvdG90eXBlLkhoO3ZZLnByb3RvdHlwZS5vbkFueT12WS5wcm90b3R5cGUuVnE7Xy5yYSgieXRzaWduYWxzLmdldEluc3RhbmNlIix3WSk7dlkucHJvdG90eXBlLm9uQW55PXZZLnByb3RvdHlwZS5WcTt2WS5wcm90b3R5cGUucGFya09yU2NoZWR1bGVKb2I9dlkucHJvdG90eXBlLkhoO3ZZLnByb3RvdHlwZS5wcm9jZXNzU2lnbmFsPXZZLnByb3RvdHlwZS5XbTt2YXIgelk9bmV3IFNldChbImVvcCIsImVvY3MiLCJkbCIsInBjbCJdKTt2YXIgdnFhPWNsYXNzIGV4dGVuZHMgXy5Xc3tjb25zdHJ1Y3RvcihhKXt2YXIgYj17fTtzdXBlcigidW5pbml0aWFsaXplZCIpO3RoaXMuZW52PWE7dGhpcy50cmFuc2l0aW9ucz1be2Zyb206InVuaW5pdGlhbGl6ZWQiLHRvOiJpbml0aWFsaXplZCIsYWN0aW9uOnRoaXMuaW5pdH0se2Zyb206ImluaXRpYWxpemVkIix0bzoicmVuZGVyaW5nIixhY3Rpb246dGhpcy5LfSx7ZnJvbToicmVuZGVyaW5nIix0bzoicmVuZGVyZWQiLGFjdGlvbjp0aGlzLkR9LHtmcm9tOiJyZW5kZXJlZCIsdG86ImFmdGVyLXJlbmRlci1kZWZlcnJlZCIsYWN0aW9uOnRoaXMub31dO2IuRmchPT12b2lkIDAmJih0aGlzLkIuRmc9Yi5GZyl9YXN5bmMgaW5pdChhKXt0aGlzLkIuRmc/YXdhaXQgYSh0aGlzLmVudik6YSh0aGlzLmVudik7dGhpcy5qJiZhd2FpdCB0aGlzLmouby5wcm9taXNlO3dZKCkuSGgoKCk9Pnt0aGlzLnRyYW5zaXRpb24oInJlbmRlcmluZyIpfSwxMCwiY2kiKX1hc3luYyBLKGEpe3RoaXMuQi5GZz8KYXdhaXQgYSh0aGlzLmVudik6YSh0aGlzLmVudik7dGhpcy5qJiZhd2FpdCB0aGlzLmouby5wcm9taXNlO3dZKCkuSGgoKCk9Pnt0aGlzLnRyYW5zaXRpb24oInJlbmRlcmVkIil9LDEwLCJjciIpfWFzeW5jIEQoYSl7dGhpcy5CLkZnP2F3YWl0IGEodGhpcy5lbnYpOmEodGhpcy5lbnYpO3RoaXMuaiYmYXdhaXQgdGhpcy5qLm8ucHJvbWlzZTt3WSgpLkhoKCgpPT57dGhpcy50cmFuc2l0aW9uKCJhZnRlci1yZW5kZXItZGVmZXJyZWQiKX0sMTAsImNhcm1sIil9YXN5bmMgbyhhKXthKHRoaXMuZW52KX19O3ZhciB3Wj0hMSx3cWE9e2luaXRpYWxpemVkOntwcmlvcml0eToxMCxjYWxsYmFjazpmdW5jdGlvbigpe3dafHwoXy5kdyh7R2Y6YT0+e2EuZWwmJl8udXkoYS5lbCxhLnByb3BzKX0sSGY6YT0+e18uc3koYS5lbCl9fSksd1o9ITApfX19O3ZhciBDWT1fLkwoKHtkYXRhOmF9KT0+e2Z1bmN0aW9uIGIoZil7Xy5uUCgpO2Yuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGM9Xy52RSgiZGl2IiksZD1fLngoIndlYl9yZW1vdmVfc25hY2tiYXJfYWN0aW9ucyIpO18uVUooKCk9Pnt9KTt2YXIgZT17YnV0dG9uT3ZlcnJpZGVzOntzdHlsZToiY2FsbC10by1hY3Rpb24taW52ZXJzZSJ9fTtyZXR1cm4gXy5LKCJ5dG0tbm90aWZpY2F0aW9uLWFjdGlvbi1yZW5kZXJlciIsbnVsbCxfLksoImRpdiIseyJhcmlhLWxpdmUiOl8uZnI/Im9mZiI6InBvbGl0ZSIsY2xhc3M6Im5vdGlmaWNhdGlvbi1hY3Rpb24tcmVzcG9uc2UtdGV4dCJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkucmVzcG9uc2VUZXh0fSkpLF8uSyhfLk8se0E6KCk9PmEoKS5hY3Rpb25CdXR0b24mJiFkLHRoZW46KCk9Pl8uSygiZGl2Iix7ZWw6YyxjbGFzczoibm90aWZpY2F0aW9uLWFjdGlvbi1idXR0b24iLCJvbjpjbGljayI6Yn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmFjdGlvbkJ1dHRvbn0sCntidXR0b25SZW5kZXJlcjooe2RhdGE6Zn0pPT5fLksoXy5wTyx7ZGF0YTpmLC4uLmV9KSx0b2dnbGVCdXR0b25SZW5kZXJlcjooe2RhdGE6Zn0pPT5fLksoXy5xTyx7ZGF0YTpmLC4uLmV9KX0pKX0pKX0sImJmIik7Q1kuaWRvbUNvbXBhdD0hMDt2YXIgRVk7dmFyIEdZPW5ldyBfLmVFO3ZhciBHcGE9e2FkZFRvUGxheWxpc3RSZW5kZXJlcjohMH07dmFyIExZO3ZhciBRcGE9Xy4kTi5DdDt2YXIgVFk9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnVFKCJ5dG0tc2hhcmUtdGFyZ2V0LXJlbmRlcmVyIik7Xy5VSigoKT0+e2IudmFsdWUubGF5ZXI9N30pO3ZhciBjPSgpPT5fLkIoYSgpLm5hdmlnYXRpb25FbmRwb2ludCxfLlZEKT8udXJsLGQ9KCk9PnthKCk7cmV0dXJuITF9O3JldHVybiBfLksoInl0bS1zaGFyZS10YXJnZXQtcmVuZGVyZXIiLHtlbDpiLCJvbjpjbGljayI6ZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKTtpZihkKCkpe3ZhciBmPWMoKSxoPWEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQ/LmNsaWNrVHJhY2tpbmdQYXJhbXM7Xy56SihoLDcpO25ldyBNb3pBY3Rpdml0eSh7bmFtZToibmV3IixkYXRhOnt0eXBlOiJ3ZWJzbXMvc21zIixib2R5OmZ9fSk7TlkoKTtlLnByZXZlbnREZWZhdWx0KCk7ZS5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIE5ZKCl9fSxfLksoXy5PLHtBOmQsdGhlbjooKT0+Xy5LKCJhIix7aHJlZjpjLGNsYXNzOiJzaGFyZS10YXJnZXQtbGluayJ9LApfLksoXy5JSix7ZGF0YTooKT0+YSgpLnRpdGxlfSkpLFc6KCk9Pl8uSyhfLm5ILHtjbGFzc05hbWU6InNoYXJlLXRhcmdldC1saW5rIixjb21tYW5kOigpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50LHRhcmdldDoiX2JsYW5rIn0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKX0pKX0sImNmIik7VFkuaWRvbUNvbXBhdD0hMDt2YXIgWXFhPV8uJE4uQ0FOQ0VMLFhwYT1fLkwoKHtkYXRhOmF9KT0+e2Z1bmN0aW9uIGIoZil7dmFyIGg9Xy55KCkucmVzb2x2ZShfLnlQKSxrPVJZKGEoKSk7Zi5wcmV2ZW50RGVmYXVsdCgpO2smJl8uekooayw3KTtfLnNQKGUpO2g/LmxkKCk7Xy56TigpO2Yuc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gYyhmKXtfLnkoKS5yZXNvbHZlKF8ueVApPy5sZCgpO18uek4oKTtmLnN0b3BQcm9wYWdhdGlvbigpfXZhciBkPSgpPT5PWShhKCkpLGU9InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IitfLk9IKCk7cmV0dXJuIF8uSyhfLnJFLHtRZzooKT0+Xy5LKF8uQVAsbnVsbCxfLksoXy5JSix7ZGF0YTooKT0+e3ZhciBmPWEoKS5oZWFkZXI/LnNoYXJlUGFuZWxIZWFkZXJSZW5kZXJlcj8udGl0bGU/LnNoYXJlUGFuZWxUaXRsZVYxNVJlbmRlcmVyPy50aXRsZTtyZXR1cm4gZj9mOntzaW1wbGVUZXh0OiJTaGFyZSJ9fX0pKSxxazooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT4KITAsdGhlbjooKT0+Xy5LKCJpbnB1dCIse3ZhbHVlOmQsInNlbGVjdGlvbi1lbmQiOjAsY2xhc3M6InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IixpZDplLCJvbjpjbGljayI6YiwiYXJpYS1sYWJlbCI6KCk9PmAke18uJE4uc299ICR7T1koYSgpKX1gLHJlYWRvbmx5OiEwfSl9KSxfLksoXy5nRyx7cGE6KCk9PlNZKGEoKSl8fFtdfSxmPT5fLksoXy5PLHtBOigpPT5mLnNoYXJlVGFyZ2V0UmVuZGVyZXIsdGhlbjpoPT5fLksoVFkse2RhdGE6aH0pfSkpKSxQcjooKT0+Xy5LKF8uelAsbnVsbCxfLksoImJ1dHRvbiIse2NsYXNzOiJjb21wYWN0Iiwib246Y2xpY2siOmN9LFlxYSkpfSl9LCJkZiIpLFFZPV8uTCgoe3Nob3J0VXJsOmEsdHJhY2tpbmdQYXJhbXM6Yn0pPT57ZnVuY3Rpb24gYyhlKXt2YXIgZj1kLGg9Yj8uKCk7ZS5wcmV2ZW50RGVmYXVsdCgpO2gmJl8uekooaCw3KTtfLnNQKGYpO05ZKCk7Xy56TigpO2Uuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGQ9InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IisKXy5PSCgpO3JldHVybiBfLksoXy5PLHtBOigpPT4hMCx0aGVuOigpPT5fLksoImlucHV0Iix7Y2xhc3M6InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IixpZDpkLHZhbHVlOmEscmVhZG9ubHk6ITAsImFyaWEtbGFiZWwiOigpPT5gJHtfLiROLnNvfSAke2EoKX1gLCJvbjpjbGljayI6Yywic2VsZWN0aW9uLWVuZCI6MH0pfSl9LCJlZiIpO1FZLmlkb21Db21wYXQ9ITA7dmFyICRwYT1fLiROLkR0LGFxYT1fLiROLmV1O18ucmEoInl0LnB1YnN1Yi5wdWJsaXNoIixfLk96KTt2YXIgd1g9e2F1ZGlvVHJhY2tTZWxlY3RBY3Rpb25Db21tYW5kOlZXKFRxYSksYnJvd3NlRW5kcG9pbnQ6KCk9PkZZKElwYSksY2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDpWVyhyWiksY29tbWFuZEV4ZWN1dG9yQ29tbWFuZDooKT0+RlkoSnBhKSxjb3B5VGV4dEVuZHBvaW50OigpPT5GWShMcGEpLGVudGl0eVVwZGF0ZUNvbW1hbmQ6VlcocFosW25aXSksZmVlZGJhY2tFbmRwb2ludDooKT0+RlkoTVkpLG1vZGlmeUNoYW5uZWxOb3RpZmljYXRpb25QcmVmZXJlbmNlRW5kcG9pbnQ6KCk9PkZZKE5wYSksbmF0aXZlQXBwRGVlcGxpbmtFbmRwb2ludDooKT0+RlkocG9hKSxvcGVuUG9wdXBBY3Rpb246KCk9PkZZKERwYSkscGhvbmVEaWFsZXJFbmRwb2ludDooKT0+RlkoUHBhKSxwbGF5bGlzdEVkaXRFbmRwb2ludDooKT0+RlkoUnBhKSxzZW5kU21zRW5kcG9pbnQ6KCk9PkZZKFRwYSksc2hhcmVFbnRpdHlFbmRwb2ludDooKT0+RlkoWnBhKSxzaG93QXVkaW9UcmFja1BpY2tlckFjdGlvbkNvbW1hbmQ6Vlcoc1opLApzaG93Q2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDpWVyh0Wiksc2hvd0VuZ2FnZW1lbnRQYW5lbEVuZHBvaW50OigpPT5GWShkcWEpLHNob3dTaGVldENvbW1hbmQ6VlcocVosW18uY0wsJFldKSxzaWduSW5FbmRwb2ludDooKT0+RlkoZnFhKSxzdWJzY3JpYmVFbmRwb2ludDooKT0+RlkoV1kpLHVuZG9GZWVkYmFja0VuZHBvaW50OigpPT5GWShNWSksdW5zdWJzY3JpYmVFbmRwb2ludDooKT0+RlkoV1kpLHVybEVuZHBvaW50OigpPT5GWShocWEpLHVzZXJGZWVkYmFja0VuZHBvaW50OigpPT5GWShpcWEpLHdhdGNoRW5kcG9pbnQ6KCk9PkZZKEVwYSl9O3ZhciB4Wj1fLkwoKHtjaGlsZHJlbjphLEJxOmIsaXNGdWxsc2NyZWVuOmMsc3R5bGU6ZCxhcmlhTGFiZWw6ZX0pPT57dmFyIGY9Xy51RSgiZGlhbG9nIik7Xy5VSigoKT0+e3ZhciBoPSgpPT57fSxrPWYudmFsdWU7ay5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsaCwhMCk7Xy5ZdSgoKT0+e2sucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgsITApfSl9KTtyZXR1cm4gXy5LKCJkaWFsb2ciLHtlbDpmLGNsYXNzOl8uUCgiZGlhbG9nIiwibW9kZXJuLWRpYWxvZy1sYXlvdXQiLCJtb2Rlcm4tZGlhbG9nIix7c2Nyb2xsYWJsZTpiLCJkaWFsb2ctZnVsbHNjcmVlbiI6Yywicm91bmRlZC1jb250YWluZXIiOigpPT4hYz8uKCl9KSxyb2xlOiJkaWFsb2ciLCJhcmlhLW1vZGFsIjohMCxzdHlsZTpkLCJhcmlhLWxhYmVsIjplfSxhKX0sImZmIik7eFouaWRvbUNvbXBhdD0hMDt2YXIgWnFhPWNsYXNze307dmFyIHFxYT1jbGFzcyBleHRlbmRzIFpxYXtjb25zdHJ1Y3Rvcigpe3ZhciBhPXtZbDpVcGEsV2s6Tll9O3N1cGVyKCk7dGhpcy5vPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuby5pZD0iZ2xvYmFsLWxvYWRlciI7ZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUodGhpcy5vLGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCk7dGhpcy5ZbD1hPy5ZbDt0aGlzLldrPWE/LldrfXJxKCl7cmV0dXJuISF0aGlzLmp9YXN5bmMgb3BlbkRpYWxvZyhhKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7bGV0IGM9Xy5adHx8e307dGhpcy5ZbD8uKCkmJmF3YWl0IHRoaXMuV2s/LigpO3RoaXMucnEoKSYmdGhpcy5sZCgpO18uVnooYixfLnZNKGMpKTtsZXQgZD1hLlVuLGU9YS5CcSxmPWEuaXNGdWxsc2NyZWVuLGg9YS5uSixrPWEuaXNQZXJzaXN0ZW50LGw9YS5mb2N1c09uQ2xvc2UsbT1hLnJuLG49YS5mSyxwPWEuc3R5bGUscj1hLmFyaWFMYWJlbDsKdGhpcy5CPWE7dGhpcy52PXRoaXMubGQuYmluZCh0aGlzKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtY2hhbmdlIix0aGlzLnYpO3RoaXMuaj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLmouaWQ9ImRpYWxvZy1jb250YWluZXIiO3RoaXMuai5jbGFzc05hbWU9Xy5hTCgiZGlhbG9nLWNvbnRhaW5lciIse1siZGlhbG9nLWZ1bGxzY3JlZW4iXTpmfSk7KF8uWk8oKXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQodGhpcy5qKTtfLmZOKHRoaXMuaixfLksoXy5JQixudWxsLF8uSyh4Wix7QnE6ZSxpc0Z1bGxzY3JlZW46ZixzdHlsZTpwLGFyaWFMYWJlbDpyfSxfLksoZCxudWxsKSksXy5LKF8uWk4se2xhYmVsOiJkaWFsb2ciLG9uY2xpY2s6KCk9PntofHxrfHx0aGlzLmxkKCl9fSkpKTtfLkpOKHRoaXMuaixsLG0pO24/LigpfWNhdGNoKGMpe2IuZXJyb3I9YyxiLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihiKX19bGQoKXt0aGlzLmomJih0aGlzLkIuR2g/LigpLAp0aGlzLkI9dm9pZCAwLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdGF0ZS1jaGFuZ2UiLHRoaXMudiksdGhpcy52PXZvaWQgMCxfLktOKHRoaXMuaiksXy5wQyh0aGlzLmopLHRoaXMuai5yZW1vdmUoKSx0aGlzLmo9dm9pZCAwKX1RdSgpe3RoaXMuby5maXJzdENoaWxkJiZ0aGlzLm8ucmVtb3ZlQ2hpbGQodGhpcy5vLmZpcnN0Q2hpbGQpfX07dmFyIFNXPW5ldyBfLkN0KCJJbm5lclR1YmVUcmFuc3BvcnQiLCJSdjNlM2QiKTtuZXcgXy5DdCgiUGFnZVJlcXVlc3QiLCJSdjNlM2QiKTt2YXIgJHFhPXthdXRvbmF2X29mZl90b2dnbGVfc3Bhbm5lcjpbWzAsMSwzNl1dLGF1dG9uYXZfb25fdG9nZ2xlX3NwYW5uZXI6W1swLDEsMzZdXSxhdXRvbmF2X3BsYXlfY2lyY2xlOltbMCwxLDIwXV0sYXV0b3BsYXk6W1swLDIsMjRdXSxjcmVhdG9yX3N0dWRpb19yZWRfbG9nbzpbWzAsMiwyNF1dLGVxdWFsaXplcjpbWzAsMSwyNF1dLGZ1bGxzY3JlZW46W1sxLDEsMjRdXSxmdWxsc2NyZWVuX2V4aXQ6W1sxLDEsMjRdXSxmdWxsc2NyZWVuX2ZwOltbMSwyLDI0XV0sZ29vZ2xlOltbMCwxLDI0XV0sZ29vZ2xlX2xvZ286W1swLDIsMjRdXSxpbmNvZ25pdG9fY2lyY2xlOltbMCwxLDI0XV0sa2lkc19yZWRfbG9nbzpbWzAsMiwyNF1dLGxvZ286W1swLDIsNjddXSxsb2dvX3dpdGhfdGV4dDpbWzAsMywyMF1dLGxvZ29fd2l0aF90ZXh0X21vbm9jaHJvbWU6W1swLDEsMjBdXSxtdXNpY19yZWRfbG9nbzpbWzAsMiwyNF1dLHBhdXNlX2NpcmNsZTpbWzAsMSwyNF1dLHBhdXNlX291dGxpbmVkOltbMCwKMSwyNF1dLHBpdm90X2xpYnJhcnk6W1swLDEsMjRdXSxwbGF5X2NpcmNsZV9zaG9ydHM6W1swLDIsMjRdXSxwbGF5ZXJfYXV0b3BsYXlfbmV4dDpbWzAsMiwyNF1dLHByZW1pdW06W1swLDIsMjRdXSxwcmVtaXVtX3N0YW5kYWxvbmU6W1swLDIsMjRdXSxwcmVtaXVtX3N0YW5kYWxvbmVfY2Fpcm86W1swLDEsMjRdXSxyaW5nb19sb2dvOltbMCwyLDI0XV0sc2NyZWVuX2xpZ2h0OltbMSwxLDI0XV0sInNob3J0cy1oZWFydCI6W1swLDEsMjRdLFsxLDEsMjRdXSwic2hvcnRzLWhlYXJ0LWdyYWRpZW50IjpbWzAsMSwyNF0sWzEsMSwyNF1dLHNob3J0c19jb21tZW50OltbMCwxLDMyXV0sc2hvcnRzX3NoYXJlOltbMCwxLDMyXV0sc2hvcnRzX3RleHRfbG9nbzpbWzAsMiw3Ml1dLHNob3J0c190aHVtYnNfZG93bjpbWzAsMSwzMl1dLHNob3J0c190aHVtYnNfdXA6W1swLDEsMzJdXSxzcGFyazpbWzAsMSwyNF0sWzEsMSwyNF1dLHNwYXJrX3NlYXJjaDpbWzAsMSwyNF1dLHN1YmRpcmVjdG9yeV9hcnJvd19yaWdodDpbWzEsCjEsMjRdXSx1bnBsdWdnZWRfcmVkX2xvZ286W1swLDIsMjRdXSx2aWRlb195b3V0dWJlOltbMCwxLDI0XV0sd2F0ZXJtYXJrOltbMCwyLDExMF1dLHlvdXR1YmU6W1swLDIsMjRdXSx5b3V0dWJlX2NyZWF0ZV9sb2dvOltbMCwxLDI0XV0seW91dHViZV9wcmVtaXVtX2xvZ29fc2hvcnQ6W1swLDIsMjBdXSx5b3V0dWJlX3ByZW1pdW1fbG9nb19zaG9ydF9tb25vY2hyb21lOltbMCwxLDIwXV0seW91dHViZV9zaG9ydHNfYnJhbmRfMjQ6W1swLDIsMjRdXSx5b3V0dWJlX3Nob3J0c19maWxsX25vX3RyaWFuZ2xlX3JlZF8xNjpbWzAsMSwxNl1dfTt2YXIgeVo9bmV3IE1hcChbWyJwbGF5X2NpcmNsZV9maWxsZWQiLCJhdXRvbmF2X3BsYXlfY2lyY2xlIl0sWyJzZWFyY2giLCJzZWFyY2hfY2Fpcm8iXSxbInRhYl9ob21lIiwiaG9tZV9jYWlybyJdLFsidGFiX3Nob3J0cyIsInlvdXR1YmVfc2hvcnRzX2NhaXJvIl0sWyJhY2NvdW50X2NpcmNsZSIsInBlcnNvbl9jaXJjbGVfY2Fpcm8iXSxbInByZW1pdW1fc3RhbmRhbG9uZSIsInByZW1pdW1fc3RhbmRhbG9uZV9jYWlybyJdXSksYXJhPW5ldyBTZXQoWyJhdWRpb19iYWRnZSIsInBhdXNlIiwicGxheV9hcnJvdyJdKSxZWT1jbGFzcyBleHRlbmRzIHZae2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpO3RoaXMubz1hfW1mKGEsYil7dmFyIGM9ey4uLmF9O2EuaWNvbk5hbWUudG9Mb3dlckNhc2UoKT09PSJzaG9ydHNfdGh1bWJzX3VwIiYmXy54KCJlbmFibGVfc2hvcnRzX2hlYXJ0X2ljb25faW5fc2hvcnRzX3dhdGNoX3BhZ2UiKSYmKGMuaWNvbk5hbWU9Xy54KCJ1c2Vfd2hpdGVfZmlsbGVkX2hlYXJ0X2ljb25faW5fc2hvcnRzX3dhdGNoX3BhZ2UiKT8KInNob3J0cy1oZWFydCI6InNob3J0cy1oZWFydC1ncmFkaWVudCIpO2FyYS5oYXMoYS5pY29uTmFtZSkmJihjLmljb25TdHlsZT0ieW91dHViZV9maWxsIik7eVouaGFzKGEuaWNvbk5hbWUpJiYhXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJihhLmljb25OYW1lPXlaLmdldChhLmljb25OYW1lKSk7YS5pY29uTmFtZT09PSJhY2NvdW50X2xpbmtlZCImJihjLmljb25OYW1lPSJjaXJjbGVzX292ZXJsYXBfY2hlY2siLGMuaWNvblN0eWxlPSJ5b3V0dWJlX2ZpbGwiKTthLmljb25OYW1lPT09ImFjY291bnRfdW5saW5rZWQiJiYoYy5pY29uTmFtZT0iY2lyY2xlc19vdmVybGFwIixjLmljb25TdHlsZT0ieW91dHViZV9vdXRsaW5lIik7Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJihhLmljb25OYW1lPT09InBsYXlsaXN0X2FkZCImJihjLmljb25OYW1lPSJib29rbWFyayIpLGEuaWNvbk5hbWU9PT0iY2lyY2xlc19vdmVybGFwX2NoZWNrInx8Yy5pY29uTmFtZT09PSJjaXJjbGVzX292ZXJsYXBfY2hlY2siKSYmCihjLmljb25OYW1lPSJhY2NvdW50X2xpbmsiLGMuaWNvblN0eWxlPSJ5b3V0dWJlX2ZpbGwiKTthPShhPXVZKGMuaWNvbk5hbWUpKT97Li4uYyxpY29uTmFtZTphfTpjO2E9Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJmEuaWNvbk5hbWU9PT0ieW91dHViZSI/dm9pZCAwOnJZKCRxYSxhLHRoaXMubz8uZUp8fG1xYSxiKTtyZXR1cm4gYT9hOnN1cGVyLm1mKGMsYil9fTtZWVtfLkxuXT1bXy5JbihfLm5PKV07dmFyIHJxYT1jbGFzcyBleHRlbmRzIFVxYXtpc1Zpc2libGUoYSl7dmFyIGI9UHJvbWlzZSxjPWIucmVzb2x2ZTt2YXIgZD1fLm9NKCkuZ2V0U3RhdGUoKS5lbmdhZ2VtZW50UGFuZWw/LnFzO3JldHVybiBjLmNhbGwoYixhPT09ZCl9fTt2YXIgYnJhPWNsYXNzIGV4dGVuZHMga1p7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMub2JzZXJ2ZXI9bmV3IF8uZkYoMCxhPT57dGhpcy5sb2dWaXNpYmlsaXR5KGEpfSl9b2JzZXJ2ZShhLGIsYyl7Yy5WYnx8Yy5zdGF0ZSE9PSJ2aXNpYmxlInx8KGMuVmI9ITApO3ZhciBkPXtlbGVtZW50OmEsb3B0aW9uOmN9O2lmKCFjLlZifHxjLnN0YXRlIT09InZpc2libGUiKXJldHVybiBkO2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIilyZXR1cm4gXy5XaShFcnJvcigiaGVgIit0eXBlb2YgYikpLGQ7YS5fX3Zpc2liaWxpdHlDYWxsYmFjaz1iO3RoaXMub2JzZXJ2ZXIub2JzZXJ2ZShhKTtyZXR1cm4gZH1sb2dWaXNpYmlsaXR5KGEpe2EuX192aXNpYmlsaXR5Q2FsbGJhY2smJnR5cGVvZiBhLl9fdmlzaWJpbGl0eUNhbGxiYWNrPT09ImZ1bmN0aW9uIiYmYS5fX3Zpc2liaWxpdHlDYWxsYmFjayhhLCJ2aXNpYmxlIil9cmYoYSl7ZGVsZXRlIGEuZWxlbWVudC5fX3Zpc2liaWxpdHlDYWxsYmFjazsKdGhpcy5vYnNlcnZlci51bm9ic2VydmUoYS5lbGVtZW50KX1kaXNwb3NlKCl7dGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCl9fTt2YXIgb3FhPSJJbnRlcnNlY3Rpb25PYnNlcnZlciJpbiB3aW5kb3c/bmV3IE1xYTpuZXcgYnJhO18udVA9Xy5iWjsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgibWVIOUViIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uQlA9ZnVuY3Rpb24oYSxiPSExKXt2YXIgYyxkPSgpPT57dmFyIGU9Xy5MQighMCk7Xy5ndisrO3RyeXtjPV8uYkMoYSgpKSxfLklBKCExKX1jYXRjaChmKXt0aHJvdyBfLklBKCEwKSxfLlV1KGYsNCk7fWZpbmFsbHl7Xy5MQihlKX19O2I9Ynx8Xy5adD9fLnV2KGQsYik6Xy5pdyhkKTtyZXR1cm5bYyxiXX07Xy5LQj1fLmxDOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgemlhLEFpYSxCaWEsRWlhLENpYSxEaWEsRmlhO3ppYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5BYShhKSYmYS5ub2RlVHlwZT09MT9hLmdldEF0dHJpYnV0ZSgianNuYW1lIik9PT0iY29GU3hlIjohMX07QWlhPWZ1bmN0aW9uKGEsYil7Yi5pZHx8KGIuaWQ9Im93IitfLmZ3KGIpKTthLnNldEF0dHJpYnV0ZSgianNvd25lciIsYi5pZCk7YS5fX293bmVyPWI7dmFyIGM9Xy5ndyhiLHppYSk7YyYmKF8uR0MuaGFzKGMpfHxfLkdDLnNldChjLFtdKSxfLkdDLmdldChjKS5wdXNoKGEpKTsoYz1fLkZDLmdldChiKSl8fF8uRkMuc2V0KGIsYz1bXSk7Yy5pbmNsdWRlcyhhKXx8Yy5wdXNoKGEpO2Iuc2V0QXR0cmlidXRlKCJfX0lTX09XTkVSIiwhMCl9O0JpYT1mdW5jdGlvbigpe3ZhciBhPV8uQ0EoMSk7YT1fLmN1KGEsXy5MQyk7aWYoIShfLmJ1KGEpfHxhW18uTXZdJiYhYS52bykpcmV0dXJuIGEudmFsdWV9OwpFaWE9ZnVuY3Rpb24oKXt2YXIgYT1fLkNBKDIpLGI9bmV3IFNldCxjPSgpPT57Yi5mb3JFYWNoKGQ9PnZvaWQgZCgpKTtiLmNsZWFyKCl9O18uWXUoYyk7cmV0dXJuWyhkLGUpPT57dmFyIGY9Xy4kdChhKTt0cnl7bGV0IGg9Q2lhKERpYShkKSxlKTtiLmFkZChoKTtyZXR1cm4oKT0+e2goKTtiLmRlbGV0ZShoKX19ZmluYWxseXtfLiR0KGYpfX0sY119O18uQ1A9ZnVuY3Rpb24oe2NoaWxkcmVuOmEscm9vdDpifSl7Xy5vRigoKT0+e3ZhciBbY109RWlhKCk7Yz1jKGIsYSk7Xy5ZdShjKX0pO3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIil9O0NpYT1mdW5jdGlvbihhLGIpe3ZhciBjPUZpYShhKTsoYT1CaWEoKSkmJkFpYShjLGEpO3ZhciBbZCxlXT1fLkJQKGIsITApO2ZvcihsZXQgZiBvZiBkKWMuYXBwZW5kQ2hpbGQoZik7Xy5WQi5sb2coYyk7cmV0dXJuKCk9PntlKCk7Yy5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZChjKX19OwpEaWE9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0ic3RyaW5nIil7YT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2lmKCEoMCxfLnByKShhKSl0aHJvdyBFcnJvcigicGBgIitTdHJpbmcoYSkpO3JldHVybiBhfWlmKF8uakIoYSkpcmV0dXJuIGE7aWYoIWEuQ2smJiFhLmx1KXt2YXIgYj1hLmp1O2I9RXJyb3IoIlVjYCIrKHR5cGVvZiBiPT09InN5bWJvbCI/Yi5kZXNjcmlwdGlvbjpiKSk7YS5rdT0hMDt0aHJvdyBiO31yZXR1cm4gYS52YWx1ZX07RmlhPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhhLm5hbWVzcGFjZVVSSSxhLm5hbWVzcGFjZVVSST09PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI/ImciOiJkaXYiKTtyZXR1cm4gYS5hcHBlbmRDaGlsZChiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uRFA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkNBKCksZD1lPT57Xy5vSChjLCgpPT57YihlKX0pfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihhLGQsdm9pZCAwKTtfLll1KCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxkLHZvaWQgMCl9KX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBJaWEsSFAsRlAsR1AsS2lhLE1pYSxMaWEsTFA7SWlhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywic3RyaW5nRW50aXR5IixiKX07CkhQPWZ1bmN0aW9uKGEsYixjKXtpZihhKXt2YXIgZD1hLmxpa2VTdGF0dXM7cmV0dXJuIGI/e3N0eWxlOntzdHlsZVR5cGU6IlNUWUxFX1RFWFQifSx0b2dnbGVkU3R5bGU6e3N0eWxlVHlwZToiU1RZTEVfREVGQVVMVF9BQ1RJVkUifSxpc1RvZ2dsZWQ6ZD09PSJMSUtFIixpc0Rpc2FibGVkOiFhLmxpa2VzQWxsb3dlZCxkZWZhdWx0SWNvbjp7aWNvblR5cGU6Y30sZGVmYXVsdFRleHQ6ZD09PSJMSUtFIj9hLmxpa2VDb3VudFdpdGhVbmxpa2VUZXh0OmEubGlrZUNvdW50VGV4dCx0b2dnbGVkVGV4dDpkPT09IkxJS0UiP2EubGlrZUNvdW50VGV4dDphLmxpa2VDb3VudFdpdGhMaWtlVGV4dCxkZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50OkZQKGEsIkxJS0UiKSxkZWZhdWx0U2VydmljZUVuZHBvaW50OkdQKGEsIkxJS0UiKSx0b2dnbGVkU2VydmljZUVuZHBvaW50OkdQKGEsIklORElGRkVSRU5UIiksZGVmYXVsdFRvb2x0aXA6Xy5hTihhLmxpa2VDb3VudFRvb2x0aXBUZXh0KSx0b2dnbGVkVG9vbHRpcDpfLmFOKGEubGlrZUNvdW50VG9vbHRpcFRleHQpLAp0YXJnZXRJZDphLnRhcmdldElkfTp7c3R5bGU6e3N0eWxlVHlwZToiU1RZTEVfVEVYVCJ9LHRvZ2dsZWRTdHlsZTp7c3R5bGVUeXBlOiJTVFlMRV9ERUZBVUxUX0FDVElWRSJ9LGlzVG9nZ2xlZDpkPT09IkRJU0xJS0UiLGlzRGlzYWJsZWQ6IWEubGlrZXNBbGxvd2VkLGRlZmF1bHRJY29uOntpY29uVHlwZTpjfSxkZWZhdWx0VGV4dDpkPT09IkRJU0xJS0UiP2EuZGlzbGlrZUNvdW50V2l0aFVuZGlzbGlrZVRleHQ6YS5kaXNsaWtlQ291bnRUZXh0LHRvZ2dsZWRUZXh0OmQ9PT0iRElTTElLRSI/YS5kaXNsaWtlQ291bnRUZXh0OmEuZGlzbGlrZUNvdW50V2l0aERpc2xpa2VUZXh0LGRlZmF1bHROYXZpZ2F0aW9uRW5kcG9pbnQ6RlAoYSwiRElTTElLRSIpLGRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQ6R1AoYSwiRElTTElLRSIpLHRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQ6R1AoYSwiSU5ESUZGRVJFTlQiKSxkZWZhdWx0VG9vbHRpcDpfLmFOKGEuZGlzbGlrZUNvdW50VG9vbHRpcFRleHQpLHRvZ2dsZWRUb29sdGlwOl8uYU4oYS5kaXNsaWtlQ291bnRUb29sdGlwVGV4dCl9fX07CkZQPWZ1bmN0aW9uKGEsYil7aWYoYj09PSJMSUtFIilyZXR1cm4gYS5saWtlQ29tbWFuZDtpZihiPT09IkRJU0xJS0UiKXJldHVybiBhLmRpc2xpa2VOYXZpZ2F0aW9uRW5kcG9pbnR9O0dQPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc2VydmljZUVuZHBvaW50cz8uZmluZChjPT5fLkIoYyxfLmRPKT8uc3RhdHVzPT09Yil9O18uSVA9ZnVuY3Rpb24oYSl7cmV0dXJue2NvbnRlbnQ6YX19OwpfLkpQPWZ1bmN0aW9uKGEsYixjKXtiPWN8fChiPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aD8/MCkqSmlhO2E9YS50aHVtYm5haWxzO2lmKCFhKXJldHVybiIiO2M9MDt2YXIgZD1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUixlPTAsZj0tTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7Zm9yKGxldCBrPTA7azxhLmxlbmd0aDtrKyspe2xldCBsPWFba10ud2lkdGgtYjtsPj0wJiZsPD1kPyhjPWssZD1sKTpsPDAmJmw+ZiYmKGU9ayxmPWwpfXZhciBoPVtdO2EuZm9yRWFjaChrPT57aC5wdXNoKGsudXJsKX0pO3JldHVybiBkPDEwMHx8ZDwtZj9hW2NdLnVybDphW2VdLnVybH07S2lhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihiPT57Xy5PRSgoKT0+e2IoYSl9KX0pfTtNaWE9ZnVuY3Rpb24oYSl7YT1hLm1hcChMaWEpO3JldHVybiBfLklmKGEpLnRoZW4oS2lhKX07CkxpYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5jb21wbGV0ZT9fLkt5KCJsb2FkIik6bmV3IF8uQmYoYj0+e2Z1bmN0aW9uIGMoZCl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixjKTthLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixjKTtiKGQudHlwZSl9YS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixjKTthLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixjKX0pfTtMUD1mdW5jdGlvbihhKXtLUHx8TWlhKFthXSkudGhlbigoKT0+e2lmKCFLUCl7dmFyIGI9KDAsXy5lbCkoKTtfLkFxKCJmdGwiLGIsdm9pZCAwKTtLUD0hMH19KX07Xy5NUD1uZXcgXy5JKCJzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbCIpO18uTlA9Xy5MKCgpPT57dmFyIGE9Xy53KCJQTEFZRVJfVkFSUyIpLGI9YS51c2VyX2Rpc3BsYXlfbmFtZSxjPWEudXNlcl9kaXNwbGF5X2ltYWdlLGQ9YS51c2VyX2Rpc3BsYXlfY2hhbm5lbF9oYW5kbGUsZT1kJiZfLklQKGQpLGY9KCk9Pl8uQih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOl8uSVAoYiksbGVhZGluZ0FjY2Vzc29yeTp7YXZhdGFyVmlld01vZGVsOntpbWFnZTp7c291cmNlczpbe3VybDpjfV19fX0sc3VidGl0bGU6ZX19LF8uWkMpO3JldHVybiBfLksoImFjY291bnQtaW5mby1tZW51LWl0ZW0iLHtjbGFzczoiYWNjb3VudEluZm9Ib3N0In0sXy5LKF8uQ0Qse2RhdGE6ZixJYTohMCxvblRhcDooKT0+e2QmJl8uQUooXy53TihgQCR7ZH1gKSxmKCksITEpfX0pKX0sInpiIik7Xy5OUC5pZG9tQ29tcGF0PSEwO3ZhciB7TWc6TmlhfT1fLnpHKGE9PmEudGFyZ2V0Py52aWRlb0lkKTt2YXIgT1A9Xy5MKGE9Pnt2YXIge2RhdGE6YixidXR0b25PdmVycmlkZXM6Y309Xy5EQyhhLHtidXR0b25PdmVycmlkZXM6e319KSxbZCxlXT1OaWEoYiksZj0oKT0+SFAoZCgpLCEwLCJTSE9SVFNfTElLRSIpLGg9KCk9PkhQKGQoKSwhMSwiU0hPUlRTX0RJU0xJS0UiKSxrPShsLG0pPT57bS5zdG9wUHJvcGFnYXRpb24oKTtmb3IobGV0IG4gb2YgbCkobD1fLkIobixfLmRPKSkmJmQmJmUoey4uLmQoKSxsaWtlU3RhdHVzOmwuc3RhdHVzfSl9O3JldHVybiBfLksoInl0bS1saWtlLWJ1dHRvbi1yZW5kZXJlciIsbnVsbCxfLksoXy5PLHtBOigpPT5kKCkubGlrZVN0YXR1cyYmISFmKCkmJiEhaCgpLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8ucU8se2RhdGE6ZixidXR0b25PdmVycmlkZXM6KCk9Pih7dHlwZTpkKCkubGlrZVN0YXR1cz09PSJMSUtFIj8iZmlsbGVkIjoidG9uYWwiLC4uLmMoKX0pLFJrOmt9KSxfLksoXy5PLHtBOigpPT4hZCgpLmhpZGVEaXNsaWtlQnV0dG9uLHRoZW46KCk9PgpfLksoXy5xTyx7ZGF0YTpoLGJ1dHRvbk92ZXJyaWRlczooKT0+KHt0eXBlOmQoKS5saWtlU3RhdHVzPT09IkRJU0xJS0UiPyJmaWxsZWQiOiJ0b25hbCIsLi4uYygpfSksUms6a30pfSkpfSkpfSwiQWIiKTtPUC5pZG9tQ29tcGF0PSEwO3ZhciBQUD1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJ5dG0tbWVudS1uYXZpZ2F0aW9uLWl0ZW0tcmVuZGVyZXIiLG51bGwsXy5LKF8ud08se29uY2xpY2s6Yj0+e3ZhciBjPWEoKTtfLnhOKCkmJl8uek4oKTtfLkFKKGMubmF2aWdhdGlvbkVuZHBvaW50LGMsITEpO18uQihjLm5hdmlnYXRpb25FbmRwb2ludD8uY29tbWFuZE1ldGFkYXRhLF8uencpPy5pZ25vcmVOYXZpZ2F0aW9ufHxiLnN0b3BQcm9wYWdhdGlvbigpfSxyb2xlOigpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50JiZfLkIoYSgpLm5hdmlnYXRpb25FbmRwb2ludCxfLlZEKT8ibGluayI6dm9pZCAwfSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmljb24/Lmljb25UeXBlfSksXy5LKF8uSUose2RhdGE6KCk9PmEoKS50ZXh0fSkpKSwiQmIiKTtQUC5pZG9tQ29tcGF0PSEwO3ZhciBRUD1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8ubUcoKTtyZXR1cm4gXy5LKCJ5dG0tbWVudS1zZXJ2aWNlLWl0ZW0tcmVuZGVyZXIiLG51bGwsXy5LKF8ud08se29uY2xpY2s6KCk9Pnt2YXIgYz1hKCksZD1jLnNlcnZpY2VFbmRwb2ludCxlPWMuY29tbWFuZDtkJiZfLkFKKGQsYywhMCx7QmQ6Yn0pO2UmJl8uQUooZSxjLCEwLHtCZDpifSl9fSxfLksoXy5PLHtBOigpPT5hKCkuaWNvbj8uaWNvblR5cGUsdGhlbjooKT0+Xy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uPy5pY29uVHlwZX0pfSksXy5LKF8uSUose2RhdGE6KCk9PmEoKS50ZXh0LG1hOiEwfSkpKX0sIkNiIik7UVAuaWRvbUNvbXBhdD0hMDt2YXIgUlA9Xy5MKCh7ZGF0YTphLEJkOmJ9KT0+e3ZhciBjPV8uREkoSWlhLCgpPT5hKCk/LnRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eUtleXx8IiIpLGQ9KCk9PmEoKT8udG9nZ2xlTWVudVNlcnZpY2VJdGVtRW50aXR5S2V5PyEhYygpPy52YWx1ZTphKCk/LmlzVG9nZ2xlZCxlPSgpPT5jKCk/e3J1bnM6W3t0ZXh0OmMoKT8udmFsdWV8fCIifV19OmEoKT8udG9nZ2xlZFNlY29uZGFyeVRleHQ7cmV0dXJuIF8uSygieXRtLXRvZ2dsZS1tZW51LXNlcnZpY2UtaXRlbS1yZW5kZXJlciIsbnVsbCxfLksoXy53Tyx7b25jbGljazooKT0+e3ZhciBmPWEoKSxoPWI/LigpLGs9Zi5pc1RvZ2dsZWQ/Zi50b2dnbGVkU2VydmljZUVuZHBvaW50OmYuZGVmYXVsdFNlcnZpY2VFbmRwb2ludDtrJiYoXy5BSihrLGYsITAse0JkOmh9KSxmLnRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eUtleXx8KGYuaXNUb2dnbGVkPSFmLmlzVG9nZ2xlZCkpfX0sXy5LKF8uTUQse2ljb246KCk9PmQoKT9hKCkudG9nZ2xlZEljb24/Lmljb25UeXBlPy50b1N0cmluZygpOgphKCkuZGVmYXVsdEljb24/Lmljb25UeXBlPy50b1N0cmluZygpLGFjdGl2ZTpkfSksXy5LKF8uSUose2RhdGE6KCk9PmQoKT9hKCkudG9nZ2xlZFRleHQ6YSgpLmRlZmF1bHRUZXh0fSksXy5LKF8uTyx7QTooKT0+YSgpLmRlZmF1bHRTZWNvbmRhcnlUZXh0fHxlKCksdGhlbjooKT0+Xy5LKF8uSUose2RhdGE6KCk9PmQoKT9lKCk6YSgpLmRlZmF1bHRTZWNvbmRhcnlUZXh0fSl9KSkpfSwiRGIiKTtSUC5pZG9tQ29tcGF0PSEwO3ZhciBPaWE7Cl8uU1A9Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLFRkOmMsRWg6ZCxGaDplLGRmOmYsSGE6aCx1bjprLHN0b3BQcm9wYWdhdGlvbjpsLHByZXZlbnREZWZhdWx0Om0sbGI6bixidXR0b25PdmVycmlkZXM6cH0pPT5fLksoInl0bS1tZW51LXJlbmRlcmVyIix7Y2xhc3M6Yn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnRvcExldmVsQnV0dG9uc30se2J1dHRvblJlbmRlcmVyOl8ucE8sbWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UVAsdG9nZ2xlQnV0dG9uUmVuZGVyZXI6Xy5xTyx0b2dnbGVNZW51U2VydmljZUl0ZW1SZW5kZXJlcjpSUCxsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5wTCx7ZGF0YTpyLElhOiEwfSksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uZkose2RhdGE6cn0pLG1lbnVOYXZpZ2F0aW9uSXRlbVJlbmRlcmVyOlBQLGxpa2VCdXR0b25SZW5kZXJlcjpPUH0pLF8uSyhPaWEse2RhdGE6YSxUZDpjLEVoOmQsRmg6ZSxkZjpmLApIYTpoLHVuOmssc3RvcFByb3BhZ2F0aW9uOmwscHJldmVudERlZmF1bHQ6bSxsYjpuLGJ1dHRvbk92ZXJyaWRlczpwfSx7bWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UVAsbWVudU5hdmlnYXRpb25JdGVtUmVuZGVyZXI6UFAsdG9nZ2xlTWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UlAsbGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8ucEwse2RhdGE6cixJYTohMH0pLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmZKLHtkYXRhOnJ9KSxsaWtlQnV0dG9uUmVuZGVyZXI6T1AsYnV0dG9uUmVuZGVyZXI6Xy5wTyxhY2NvdW50SW5mb01lbnVJdGVtOl8uTlB9KSksIkViIik7Xy5TUC5pZG9tQ29tcGF0PSEwOwpPaWE9Xy5MKCh7ZGF0YTphLGNoaWxkcmVuOmIsLi4uY30pPT5fLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT4oIWEoKS5pdGVtc3x8IWEoKS5pdGVtcy5sZW5ndGgpJiYhKGEoKS5pc0Rpc2FibGVkJiZhKCkuZGlzYWJsZWRDb21tYW5kKX0sKCk9Pm51bGwpLF8uSyhfLkNFLHt3aGVuOigpPT5jLnVuPy4oKX0sKCk9Pl8uSyhfLk1oYSx7aWNvblR5cGU6KCk9PmMuRWg/LigpPz8iTU9SRV9WRVJUIixsYWJlbDooKT0+Xy5XTChfLkRKKGEoKS5hY2Nlc3NpYmlsaXR5KT8/IiIpLGFyaWFMYWJlbDooKT0+Xy5ESihhKCkuYWNjZXNzaWJpbGl0eSl8fCIiLGNhbmNlbEJ1dHRvbkxhYmVsOl8uJE4uQ0FOQ0VMLFRkOigpPT5jLlRkPy4oKSxkZjooKT0+Yy5kZj8uKCksSGE6KCk9PmMuSGE/LigpLHN0b3BQcm9wYWdhdGlvbjooKT0+Yy5zdG9wUHJvcGFnYXRpb24/LigpLHByZXZlbnREZWZhdWx0OigpPT5jLnByZXZlbnREZWZhdWx0Py4oKSxidXR0b25PdmVycmlkZXM6KCk9PmMuYnV0dG9uT3ZlcnJpZGVzPy4oKSwKaXNEaXNhYmxlZDooKT0+YSgpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOigpPT5hKCkuZGlzYWJsZWRDb21tYW5kfSwoKT0+Xy5LKF8uVyx7ZGF0YTooKT0+YSgpLml0ZW1zfSxiKSkpLF8uSyhfLkRFLG51bGwsKCk9Pl8uSyhfLnpPLHtpY29uVHlwZTooKT0+Yy5FaD8uKCk/PyJNT1JFX1ZFUlQiLGxhYmVsOigpPT5fLkRKKGEoKS5hY2Nlc3NpYmlsaXR5KXx8IiIsY2FuY2VsQnV0dG9uTGFiZWw6Xy4kTi5DQU5DRUwsVGQ6KCk9PmMuVGQ/LigpLEZoOigpPT5jLkZoPy4oKSxkZjooKT0+Yy5kZj8uKCksSGE6KCk9PmMuSGE/LigpLHN0b3BQcm9wYWdhdGlvbjooKT0+Yy5zdG9wUHJvcGFnYXRpb24/LigpLHByZXZlbnREZWZhdWx0OigpPT5jLnByZXZlbnREZWZhdWx0Py4oKSxsYjooKT0+Yy5sYj8uKCksYnV0dG9uT3ZlcnJpZGVzOigpPT5jLmJ1dHRvbk92ZXJyaWRlcz8uKCksaXNEaXNhYmxlZDooKT0+YSgpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOigpPT5hKCkuZGlzYWJsZWRDb21tYW5kfSwKKCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5pdGVtc30sYikpKSksIkZiIik7Xy5UUD1fLkwoYT0+Xy5LKF8uTyx7QTooKT0+YS5kYXRhKCkuaXRlbXM/Lmxlbmd0aHx8YS5kYXRhKCkuaXNEaXNhYmxlZCYmYS5kYXRhKCkuZGlzYWJsZWRDb21tYW5kLHRoZW46KCk9Pl8uSyhQaWEsey4uLmF9KX0pLCJHYiIpO18uVFAuaWRvbUNvbXBhdD0hMDsKdmFyIFBpYT1fLkwoYT0+e3ZhciB7ZGF0YTpiLGNsYXNzTmFtZTpjLEVoOmQsc2hvd0ljb246ZSxidXR0b25TaXplOmYsYnV0dG9uT3ZlcnJpZGVzOmh9PV8uREMoYSx7c2hvd0ljb246ITEsYnV0dG9uT3ZlcnJpZGVzOnt9LGJ1dHRvblNpemU6IkwiLEVoOiJNT1JFX1ZFUlQifSksaz1fLlp0O3JldHVybiBfLksoInl0bS1ib3R0b20tc2hlZXQtcmVuZGVyZXIiLHtjbGFzczpjfSxfLksoXy5KSyx7ZGF0YTooKT0+e3ZhciBsPXtHYjooKT0+Xy5LKCJkaXYiLHtjbGFzczoiYm90dG9tLXNoZWV0LW1lZGlhLW1lbnUtaXRlbSJ9LF8uSyhfLlcse2RhdGE6KCk9PmIoKS5pdGVtc30se21lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlFQLG1lbnVOYXZpZ2F0aW9uSXRlbVJlbmRlcmVyOlBQLHRvZ2dsZU1lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlJQLGxpc3RJdGVtVmlld01vZGVsOih7ZGF0YTptfSk9Pl8uSyhfLnBMLHtkYXRhOm0sSWE6ITB9KSxzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6bX0pPT4KXy5LKF8uZkose2RhdGE6bX0pLGxpa2VCdXR0b25SZW5kZXJlcjpPUCxidXR0b25SZW5kZXJlcjpfLnBPLGFjY291bnRJbmZvTWVudUl0ZW06Xy5OUH0pKSxIYTplKCksaXNEaXNhYmxlZDpiKCkuaXNEaXNhYmxlZCxkaXNhYmxlZENvbW1hbmQ6YigpLmRpc2FibGVkQ29tbWFuZH07cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIixzaXplOmYoKSxpY29uUG9zaXRpb246Imljb24tb25seSIsYWNjZXNzaWJpbGl0eUxhYmVsOl8uREooYigpPy5hY2Nlc3NpYmlsaXR5KXx8IiIsb25UYXA6bT0+e3ZhciBuPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtfLnhKKF8uaHgoKSx7ZGF0YTpiKCl9KSxsLmZvY3VzT25DbG9zZT1tLmN1cnJlbnRUYXJnZXQsXy5XTSgpJiZtLnN0b3BQcm9wYWdhdGlvbigpLF8uVnoobixfLnZNKGspKSxfLnlOKGwpfWNhdGNoKHApe24uZXJyb3I9cCxuLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihuKX19LAouLi5oKCl9fSxpY29uTmFtZTooKT0+ZCgpfSkpfSwiSGIiKTt2YXIgSmlhPV8udS5kZXZpY2VQaXhlbFJhdGlvfHwyO3ZhciBLUD0hMTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLCgpPT57S1A9ITF9KTsKXy5VUD1fLkwoYT0+e3ZhciB7dGh1bWJuYWlsRGV0YWlsczpiLGNsYXNzTmFtZTpjLGFsdDpkLGFyaWFMYWJlbDplLE1kOmYsVGI6aCxoYzprLGFyaWFIaWRkZW46bCxZYTptLFRhOm59PV8uREMoYSx7VGI6ITAsdGh1bWJuYWlsRGV0YWlsczp2b2lkIDAsY2xhc3NOYW1lOnZvaWQgMCxhbHQ6dm9pZCAwLGFyaWFMYWJlbDp2b2lkIDAsTWQ6dm9pZCAwLGhjOnZvaWQgMCxhcmlhSGlkZGVuOnZvaWQgMCxZYTp2b2lkIDAsVGE6dm9pZCAwfSkscD1fLnZFKCJpbWciKSxbcix0XT1fLkFDKGIpO18uVUooKCk9Pnt2YXIgdj17Li4uYigpfTt0KHYpfSk7Xy5uRSgoKT0+e2lmKHAudmFsdWUpe2xldCB2PXAudmFsdWU7TFAodik7bGV0IHo9YigpO3omJih2LnNyYz1fLkpQKHosdixmKCkpKX19LCJuN2tjNGMiKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+YigpJiYoZCgpfHxlKCl8fGMoKXx8aygpfHxsKCkpLHRoZW46KCk9Pl8uSyhfLmpGLHtkYXRhOigpPT5yKCksY2xhc3NOYW1lOmMsYWx0OigpPT4KZCgpfHxlKCl8fCIiLGNvbnRlbnRNb2RlOiJDT05URU5UX01PREVfU0NBTEVfQVNQRUNUX0ZJTEwiLGhjOmssYXJpYUhpZGRlbjpsLGNhbGxiYWNrOkxQLFRiOmgsWWE6bSxUYTpufSksVzooKT0+Xy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhfLmhGLHtkYXRhOmIsY29uZmlnOigpPT4oe2NsYXNzTmFtZTpjKCksYWx0OmQoKXx8ZSgpfHwiIixoYzprKCksYXJpYUhpZGRlbjpsKCksWWE6bSgpLFRhOm4oKX0pLEdsOntTZzoodix6KT0+e0xQKHopO3JldHVybiB2P18uSlAodix6LGYoKSk6IiJ9fSxsYXp5OiEwfSksVzooKT0+Xy5LKCJpbWciLHtlbDpwLGFsdDpkLCJhcmlhLWxhYmVsIjplLGNsYXNzOmMsImRhdGEtZGlzYWJsZWQiOmssImFyaWEtaGlkZGVuIjpsfSl9KX0pfSwiS2IiKTtfLlVQLmlkb21Db21wYXQ9ITA7Xy5WUD1fLkwoYT0+Xy5LKCJ5dG0tdGh1bWJuYWlsLW92ZXJsYXktdGltZS1zdGF0dXMtcmVuZGVyZXIiLHtjbGFzczphLmNsYXNzTmFtZSwidGh1bWJuYWlsLXNpemUiOmEudGh1bWJuYWlsU2l6ZSwiZGF0YS1zdHlsZSI6KCk9PmEuZGF0YT8uKCkuc3R5bGUsImFyaWEtaGlkZGVuIjphLmFyaWFIaWRkZW4sImRhdGEtdHlwZSI6KCk9PmEuZGF0YT8uKCkudHlwZT8ucmVwbGFjZSgiVEhVTUJOQUlMX09WRVJMQVlfVElNRV9TVEFUVVNfVFlQRV8iLCIiKX0sXy5LKF8uVEMse2RhdGE6KCk9Pih7dHlwZTphLmRhdGEoKS5zdHlsZT09PSJMSVZFIj8xOToxOCx0ZXh0Ol8uQ0ooYS5kYXRhKCkudGV4dCksaWNvbjphLmRhdGEoKS5pY29uPy5pY29uVHlwZXx8YS5kYXRhKCkueXRJY29uLHFMOmEuZGF0YSgpLnN0eWxlPT09IlNIT1JUUyJ9KX0pKSwiTGIiKTt2YXIgUWlhO18uV1A9Xy5MKGE9Pnt2YXIge2RldGFpbHM6YixvdmVybGF5OmMsVGI6ZCxoajplLE1kOmZ9PV8uREMoYSx7ZGV0YWlsczp2b2lkIDAsVGI6ITAsaGo6ITF9KSxoPV8uUCgidmlkZW8tdGh1bWJuYWlsLWltZyIseyJjdXN0b20tdGh1bWJuYWlsIjplfSk7cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczpfLlAoInZpZGVvLXRodW1ibmFpbC1pbWciLCJ2aWRlby10aHVtYm5haWwtYmciKX0pLF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoUWlhLHtkZXRhaWxzOmIsY2xhc3NOYW1lOmgsVGI6ZCxNZDpmfSl9KSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczpiLGNsYXNzTmFtZTpoLFRiOmQsTWQ6ZixhbHQ6IiJ9KSxfLksoImRpdiIse2NsYXNzOiJ2aWRlby1wcmV2aWV3LXNoaW0ifSksYz8uKCkpfSwiTWIiKTsKUWlhPV8uTCgoe2RldGFpbHM6YSxjbGFzc05hbWU6YixUYjpjLE1kOmR9KT0+Xy5LKCJkaXYiLHtjbGFzczoiY3VzdG9tLXRodW1ibmFpbC1iYWNrZ3JvdW5kLWNvbnRhaW5lciIsc3R5bGU6KCk9PntpZihhPy4oKS5zYW1wbGVkVGh1bWJuYWlsQ29sb3Ipe3ZhciB7cmVkOmUsZ3JlZW46ZixibHVlOmh9PWEoKS5zYW1wbGVkVGh1bWJuYWlsQ29sb3I7cmV0dXJuYGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHtlfSwke2Z9LCR7aH0sMSk7YH19fSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczphLGNsYXNzTmFtZTpiLGFsdDoiIixNZDpkLFRiOmN9KSksIk5iIik7Xy5YUD1fLkwoYT0+e3ZhciB7dGh1bWJuYWlsRGV0YWlsczpiLG92ZXJsYXk6YyxNZDpkLGNsYXNzTmFtZTplLFRiOmYsaGo6aCxobTprfT1fLkRDKGEse1RiOiEwLGhqOiExLHRodW1ibmFpbERldGFpbHM6dm9pZCAwfSk7cmV0dXJuIF8uSygieXRtLWNvbXBhY3QtdGh1bWJuYWlsIix7Y2xhc3M6Xy5QKCJ2aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3QiLCJ2aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3Qtcm91bmRlZCIsZSx7Im9yaWdpbmFsLWFzcGVjdC1yYXRpbyI6KCk9PmIoKT8uaXNPcmlnaW5hbEFzcGVjdFJhdGlvLHN0YWNrZWQ6a30pfSxfLksoXy5XUCx7ZGV0YWlsczpiLG92ZXJsYXk6YyxNZDpkLFRiOmYsaGo6aH0pKX0sIk9iIik7Xy5YUC5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e292ZXJsYXk6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5aUD1mdW5jdGlvbihhKXtyZXR1cm4gYS5zaG9ydHMuVGp9O18uJFA9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2hvcnRzLnhqfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5iUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInBldnR2YyIpO3JldHVybiBfLnJEfTtfLmNRPV8uY0QoKCk9Pl8uYlEoKSwiZGlzbGlrZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJkaXNsaWtlQnV0dG9uVmlld01vZGVsIiwicGV2dHZjIixfLmJRKX0pO18uZFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJpemptUCIpO3JldHVybiBfLnFEfTtfLmVRPV8uY0QoKCk9Pl8uZFEoKSwibGlrZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJsaWtlQnV0dG9uVmlld01vZGVsIiwiaXpqbVAiLF8uZFEpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZlE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJBVDhMVGUiKTtyZXR1cm4gXy5wRH07Xy5nUT1fLmNEKCgpPT5fLmZRKCksIm92ZXJsYXlQcm9kdWN0U3RpY2tlciIpO18uWXQoXy5KRCxhPT57YS5KKCJvdmVybGF5UHJvZHVjdFN0aWNrZXIiLCJBVDhMVGUiLF8uZlEpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBTaWE7Xy5oUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlhlUlhCZCIpO3JldHVybiBfLmNGfTtTaWE9Xy5jRCgoKT0+Xy5oUSgpLCJyZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbCIsIlhlUlhCZCIsXy5oUSl9KTtfLmlRPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6Yn0pPT57dmFyIGM9Xy51RSgicGl2b3QtYnV0dG9uLXZpZXctbW9kZWwiKTtfLlVKKCgpPT57YSgpPy5iYWNrZ3JvdW5kQ29sb3ImJmMudmFsdWUuc2V0QXR0cmlidXRlKCJkYXRhLWJhY2tncm91bmQtY29sb3IiLFN0cmluZyhhKCkuYmFja2dyb3VuZENvbG9yKSl9KTtyZXR1cm4gXy5LKCJwaXZvdC1idXR0b24tdmlldy1tb2RlbCIse2VsOmMsY2xhc3M6Xy5QKCJ5dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3QiLGIpfSxfLksoXy5uSCx7Y29tbWFuZDooKT0+e3ZhciBkPWEoKTtkPWQub25DbGlja0NvbW1hbmQ/Xy5SRChkLm9uQ2xpY2tDb21tYW5kKTpkLmNvbnRlbnREZXNjcmlwdGlvbj9fLmFRKF8uV0woZC5jb250ZW50RGVzY3JpcHRpb24pKTp2b2lkIDA7cmV0dXJuIGR9LGFyaWFMYWJlbDooKT0+YSgpLmNvbnRlbnREZXNjcmlwdGlvbn0sXy5LKF8uTyx7QTooKT0+YSgpLnRodW1ibmFpbCx0aGVuOmQ9Pl8uSyhfLmpGLHtkYXRhOmQsCmFsdDoiIixjbGFzc05hbWU6Inl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEltYWdlIn0pLFc6KCk9Pl8uSyhfLk8se0E6KCk9PmEoKS5pY29uLHRoZW46ZD0+Xy5LKF8uTUQse2ljb246KCk9PmQoKS5pY29uVHlwZSxjbGFzc05hbWU6Inl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEljb24ifSl9KX0pKSl9LCJTYiIpO18ualE9Xy5MKCh7ZGF0YTphLEFmOmJ9KT0+e3ZhciBjPSgpPT4ieXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGVBY3Rpb25CdXR0b24iO3JldHVybiBfLksoInJlZWwtYWN0aW9uLWJhci12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdCIse3l0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlOigpPT4hMCx5dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdERlc2t0b3A6KCk9PiExfSl9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5idXR0b25WaWV3TW9kZWxzfSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLlVGLHtjbGFzc05hbWU6YyxkYXRhOmQsYnV0dG9uT3ZlcnJpZGVzOmJ9KSxsaWtlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLmVRLHtjbGFzc05hbWU6YyxkYXRhOmQsQWY6Yn0pLGRpc2xpa2VCdXR0b25WaWV3TW9kZWw6KHtkYXRhOmR9KT0+Xy5LKF8uY1Ese2NsYXNzTmFtZTpjLApkYXRhOmQsQWY6Yn0pLHRvZ2dsZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5aRix7Y2xhc3NOYW1lOmMsZGF0YTpkLHdpOmJ9KSxwaXZvdEJ1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5pUSx7Y2xhc3NOYW1lOmMsZGF0YTpkfSl9KSl9LCJUYiIpO3ZhciBUaWE7Xy5rUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInM2NDlqIik7cmV0dXJuIF8ubUh9O1RpYT1fLmNEKCgpPT5fLmtRKCksInBsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbCIsInM2NDlqIixfLmtRKX0pO3ZhciBVaWE7Xy5sUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInVTeGRuYiIpO3JldHVybiBfLmZIfTtVaWE9Xy5jRCgoKT0+Xy5sUSgpLCJyZWVsQ2Fyb3VzZWxWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbENhcm91c2VsVmlld01vZGVsIiwidVN4ZG5iIixfLmxRKX0pO3ZhciBWaWE7Xy5tUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIldmZjZCZCIpO3JldHVybiBfLmVIfTtWaWE9Xy5jRCgoKT0+Xy5tUSgpLCJyZWVsQ2hhbm5lbEJhclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyZWVsQ2hhbm5lbEJhclZpZXdNb2RlbCIsIldmZjZCZCIsXy5tUSl9KTt2YXIgV2lhO18ublE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJVM216c2QiKTtyZXR1cm4gXy5sSH07V2lhPV8uY0QoKCk9Pl8ublEoKSwicmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsIiwiVTNtenNkIixfLm5RKX0pO3ZhciBYaWE7Xy5vUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInlQMEpCZCIpO3JldHVybiBfLmJGfTtYaWE9Xy5jRCgoKT0+Xy5vUSgpLCJzaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbCIsInlQMEpCZCIsXy5vUSl9KTt2YXIgWWlhO18ucFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJScWFKc2QiKTtyZXR1cm4gXy5YSn07WWlhPV8uY0QoKCk9Pl8ucFEoKSwic2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbCIsIlJxYUpzZCIsXy5wUSl9KTt2YXIgWmlhO18ucVE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJFM0hlYmMiKTtyZXR1cm4gXy5hRn07WmlhPV8uY0QoKCk9Pl8ucVEoKSwic2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsIiwiRTNIZWJjIixfLnFRKX0pO18uclE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygieXQtcmVlbC1tZXRhcGFuZWwtdmlldy1tb2RlbCIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxIb3N0In0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1ldGFkYXRhSXRlbXN9LHtiYWRnZVZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKF8uYUcse2RhdGE6Yn0pKSxwbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoVGlhLHtkYXRhOmJ9KSkscHJvZHVjdFN0aWNrZXJWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhfLmdRLHtkYXRhOigpPT5iKCkuc3RpY2tlcn0pKSxyZWVsQ2Fyb3VzZWxWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Cl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoVWlhLHtkYXRhOmJ9KSkscmVlbENoYW5uZWxCYXJWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhWaWEse2RhdGE6Yn0pKSxyZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoV2lhLHtkYXRhOmJ9KSkscmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhTaWEse2RhdGE6Yn0pKSxzaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sCl8uSyhYaWEse2RhdGE6Yn0pKSxzaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhZaWEse2RhdGE6Yn0pKSxzaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoWmlhLHtkYXRhOmJ9KSksdG9nZ2xlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoXy5aRix7ZGF0YTpifSkpfSkpLCJVYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnNRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiZktFOHFkIik7cmV0dXJuIF8ub0R9O18uJGlhPV8uY0QoKCk9Pl8uc1EoKSwiZGlhbG9nVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImRpYWxvZ1ZpZXdNb2RlbCIsImZLRThxZCIsXy5zUSl9KTtfLnRRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiUlpla0oiKTtyZXR1cm4gXy5TQ307Xy5hamE9Xy5jRCgoKT0+Xy50USgpLCJzbWFydGltYXRpb25zIik7Xy5ZdChfLkpELGE9PnthLkooInNtYXJ0aW1hdGlvbnMiLCJSWmVrSiIsXy50USl9KTtfLnVRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgic0RPVEdlIik7cmV0dXJuIF8ubkR9O18uYmphPV8uY0QoKCk9Pl8udVEoKSwicmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWwiLCJzRE9UR2UiLF8udVEpfSk7Xy52UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImVjdVBBYyIpO3JldHVybiBfLm1EfTtfLmNqYT1fLmNEKCgpPT5fLnZRKCksInBsYXllck92ZXJsYXlJbnRlcmFjdGlvbiIpO18uWXQoXy5KRCxhPT57YS5KKCJwbGF5ZXJPdmVybGF5SW50ZXJhY3Rpb24iLCJlY3VQQWMiLF8udlEpfSk7Xy53UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIkZRZElKZSIpO3JldHVybiBfLmxEfTtfLmRqYT1fLmNEKCgpPT5fLndRKCksInN0aWNrZXJzTGF5ZXIiKTtfLll0KF8uSkQsYT0+e2EuSigic3RpY2tlcnNMYXllciIsIkZRZElKZSIsXy53USl9KTtfLnhRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgibjdlbzIiKTtyZXR1cm4gXy5rRH07Xy5lamE9Xy5jRCgoKT0+Xy54USgpLCJpbnRlcnN0aXRpYWxWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiaW50ZXJzdGl0aWFsVmlld01vZGVsIiwibjdlbzIiLF8ueFEpfSk7Xy55UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIk51aWx1ZSIpO3JldHVybiBfLmpEfTtfLmZqYT1fLmNEKCgpPT5fLnlRKCksInZpZGVvV2l0aENvbnRleHRSZW5kZXJlciIpO18uWXQoXy5KRCxhPT57YS5KKCJ2aWRlb1dpdGhDb250ZXh0UmVuZGVyZXIiLCJOdWlsdWUiLF8ueVEpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uQVE9Xy5MKCh7T286YSxScDpiLGNoaWxkcmVuOmMsUG46ZCxkaXNhYmxlQW5pbWF0aW9uOmV9KT0+e3ZhciBmPSgpPT4hZT8uKCk7cmV0dXJuIF8uSygieXQtYW5pbWF0ZWQtYWN0aW9uIix7Y2xhc3M6Xy5QKCJ5dEFuaW1hdGVkQWN0aW9uSG9zdCIsZCl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0QW5pbWF0ZWRBY3Rpb25Db250ZW50V2l0aEJhY2tncm91bmQifSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKHpRLHtQbjoieXRBbmltYXRlZEFjdGlvbkJhY2tncm91bmRDb250YWluZXIiLHl5OiJ5dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZCIsRWM6KCk9Pih7YW5pbWF0aW9uUmVmOmE/LigpLGFuaW1hdGlvbkNvbmZpZzp7bmFtZToiYW5pbWF0ZWQtYWN0aW9ucy1iYWNrZ3JvdW5kIixhdXRvcGxheTohMSxsb29wOiExLHBhdGg6YGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS9zdWJzY3JpYmVfYWN0aW9uL3N1YnNjcmliZV9hY3Rpb25fY29udGFpbmVyXyR7Xy55KCkucmVzb2x2ZShfLkluKF8ua0YpKT8uKCk/PwohMT8iZGFyayI6ImxpZ2h0In1fdjUuanNvbmB9fSl9KX0pLGMpLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoelEse0VjOigpPT4oe2FuaW1hdGlvblJlZjpiPy4oKSxhbmltYXRpb25Db25maWc6e25hbWU6ImFuaW1hdGVkLWFjdGlvbnMtZm9yZWdyb3VuZCIsYXV0b3BsYXk6ITEsbG9vcDohMSxwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvc3Vic2NyaWJlX2FjdGlvbi9zdWJzY3JpYmVfYWN0aW9uX3NwYXJrbGVzXyR7Xy55KCkucmVzb2x2ZShfLkluKF8ua0YpKT8uKCk/PyExPyJkYXJrIjoibGlnaHQifV92NC5qc29uYH19KX0pfSkpfSwiVmIiKTtfLkFRLmlkb21Db21wYXQ9ITA7CnZhciB6UT1fLkwoKHtQbjphLHl5OmIsRWM6Y30pPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRBbmltYXRlZEFjdGlvbkxvdHRpZSIsYSksImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLmNNLHtjbGFzc05hbWU6YixkYXRhOmMsYW5pbWF0aW9uTmFtZTooKT0+YygpLmFuaW1hdGlvbkNvbmZpZy5uYW1lfSkpLCJXYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkJRPWZ1bmN0aW9uKCl7cmV0dXJue2xvdHRpZUVsOnZvaWQgMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkNRPWZ1bmN0aW9uKGEsYil7Xy5uRSgoKT0+e3ZhciBjPWEoKTtfLkVBKCgpPT52b2lkIGIoYykpfSwiY0tSOXNmIil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZ2phLERRLEVRLEZRLGhqYSxpamEsamphLEdRLEhRLGtqYSxJUSxsamEsSlEsS1EsTFEsTVEsTlEsT1EsbWphLFBRLFFRLFJRLG5qYSxTUSxvamEsVFEsVVEscGphLFZRLFdRLFhRLFpRLHFqYSxyamEsJFEsYVIsc2phLHRqYSx1amEsYlIsY1IsdmphLHdqYSx4amEsaFIsZlIsbVIsblIsb1IscFIsZ1IsdFIsdVIsa1IsdlIsbFIsemphLEFqYSx6UixBUixCUixFamEsRFIsSFIsRmphLEdqYSxIamEsSWphLElSLEpSLEpqYSxMUixMamEsTWphLE1SLFFqYSxQamEsUmphLE9qYSxOUixOamEsUFIsT1IsVWphLFdqYSxSUixYamEsU1IsZFMsZVMsZlMsZ1MsZGthLGlrYSxpUyxra2EsalMsa1Msb2thLHBTLHFrYSxya2EscVMsc2thLHRrYSxyUyxzUyx0Uyx1Uyx3Uyx4Uyx2Uyx5Uyx6UyxBUyxCUyxFUyxGUyxDUyxHUyx6a2EsSlMsSFMsQ2thLExTLE1TLE5TLFBTLElTLEZrYSxTUyxHa2EsVVMsV1MsWFMsSGthLFlTLFpTLCRTLGNULGJULElrYSxkVCxKa2EsS2thLExrYSxNa2EsZ1QsCmZULGhULGtULGxULE5rYSxtVCxqVCxpVCxuVCxvVCxwVCxPa2EsclQsUGthLFFrYSx0VCxSa2EsdlQsU2thLFRrYSxzVCxVa2EsVmthLFdrYSxYa2EsWWthLHhULHVULHFULHdULHlULHpULEFULEJULENULERULCRrYSxFVCxIVCxJVCxGVCxjbGEsYmxhLEpULEtULE9ULFBULGVsYSxRVCxUVCxSVCxmbGEsaGxhLGdsYSxpbGEsV1QsWFQsamxhLFpULGtsYSxhVSxiVSxjVSxsbGEsaFUsbmxhLG9sYSxpVSxqVSxsVSxtVSxuVSxvVSxwVSxwbGEscVUscWxhLHJVLHJsYSxzVSx1VSxzbGEsdWxhLHdVLElVLHhVLEtVLEpVLHZsYSx3bGEseGxhLHpsYSxMVSx5bGEsT1UsTVUsQmxhLENsYSxEbGEsUFUsRWxhLEZsYSxHbGEsSGxhLElsYSxKbGEsS2xhLExsYSxNbGEsTmxhLFFVLFJVLFNVLFVVLFBsYSxYVSxZVSxRbGEsUmxhLFpVLFNsYSwkVSxVbGEsYVYsVGxhO2dqYT1mdW5jdGlvbigpe3JldHVybiEhXy5aTygpfTsKRFE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBNYXRoLm1pbihNYXRoLm1heChhLGIpLGMpfTtFUT1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybiBudWxsO3ZhciBjPWI/U3RyaW5nKGIpLnRvVXBwZXJDYXNlKCk6bnVsbDtyZXR1cm4gXy5ndyhhLGZ1bmN0aW9uKGQpe3JldHVybighY3x8ZC5ub2RlTmFtZT09YykmJiEwfSwhMCl9O0ZRPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMubGVmdD1hO3RoaXMudG9wPWI7dGhpcy53aWR0aD1jO3RoaXMuaGVpZ2h0PWR9O2hqYT1mdW5jdGlvbihhLGIpe2I/Xy5TdChhLCJ5dFBsYXllckNvbnRyb2xzQ29udGFpbmVyUmVuZGVyZWQiKTpfLlR0KGEsInl0UGxheWVyQ29udHJvbHNDb250YWluZXJSZW5kZXJlZCIpfTsKaWphPWZ1bmN0aW9uKCl7Xy5WaSgoKT0+e2lmKCFfLkJxKCJmdGwiKSl7dmFyIGE9Xy5wbygpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9PnthIT09Xy5wbygpfHxfLkJxKCJmdGwiKXx8Xy5BcSgiZnRsIix2b2lkIDAsdm9pZCAwKX0sMCl9KX19KSgpfTtqamE9ZnVuY3Rpb24oKXtpZihfLlh6KCkpe3ZhciBhPV8uR2goInBmcC1tYXctcGxheWVyIik7aWYoYSlyZXR1cm4gbmV3IF8ud00oYSl9fTtHUT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbCgoMCxfLlNhYSkoKSxhKX07CkhRPWZ1bmN0aW9uKCl7aWYoXy54KCJlbmFibGVfYXV0b21vdGl2ZV9mb3JtX2ZhY3Rvcl9jaGVjayIpKXJldHVybiBfLncoIklOTkVSVFVCRV9DT05URVhUIix7fSkuY2xpZW50Py5jbGllbnRGb3JtRmFjdG9yPT09IkFVVE9NT1RJVkVfRk9STV9GQUNUT1IiO3ZhciBhPV8udygiSU5ORVJUVUJFX0NPTlRFWFQiLHt9KTtyZXR1cm4gYS5jbGllbnQ/Lm9zTmFtZSYmYS5jbGllbnQub3NOYW1lPT09IkFuZHJvaWQgQXV0b21vdGl2ZSJ9O2tqYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImRpc21pc3NTdGF0ZSIsYil9O0lRPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVU0oKT09PSJoYXNodGFnIn07bGphPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywibG9nb0VudGl0eSIsYil9OwpKUT1mdW5jdGlvbigpe3JldHVybiBhPT57dmFyIGI9Xy5MQighMSk7dHJ5e2xldCBjPWEuY2hpbGRyZW47Xy5VQT9jP18uZ04oXy5LKF8uc08sYSxjKSk6Xy5nTihfLksoXy5zTyxhKSk6Xy5JcChuZXcgXy5Yaigia2V0b1RvQzMgY2FsbGVkIG91dHNpZGUgb2YgYSBwYXRjaCIse3RhZ05hbWU6Xy5zTy5aY30pKX1maW5hbGx5e18uTEIoYil9fX07CktRPWZ1bmN0aW9uKGEsYil7aWYoYS5yZXF1ZXN0RnVsbHNjcmVlbilhPWEucmVxdWVzdEZ1bGxzY3JlZW4oYik7ZWxzZSBpZihhLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKWE9YS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpO2Vsc2UgaWYoYS5tb3pSZXF1ZXN0RnVsbFNjcmVlbilhPWEubW96UmVxdWVzdEZ1bGxTY3JlZW4oKTtlbHNlIGlmKGEubXNSZXF1ZXN0RnVsbHNjcmVlbilhPWEubXNSZXF1ZXN0RnVsbHNjcmVlbigpO2Vsc2UgaWYoYS53ZWJraXRFbnRlckZ1bGxzY3JlZW4pYT1hLndlYmtpdEVudGVyRnVsbHNjcmVlbigpO2Vsc2UgcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJKZCIpKTtyZXR1cm4gYSBpbnN0YW5jZW9mIFByb21pc2U/YTpQcm9taXNlLnJlc29sdmUoKX07CkxRPWZ1bmN0aW9uKCl7cmV0dXJuISFfLklPKFsiZnVsbHNjcmVlbkVuYWJsZWQiLCJ3ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCIsIm1vekZ1bGxTY3JlZW5FbmFibGVkIiwibXNGdWxsc2NyZWVuRW5hYmxlZCJdLGRvY3VtZW50KX07TVE9ZnVuY3Rpb24oYSl7dmFyIGI7TFEoKT9fLlpPKCk9PWEmJihiPWRvY3VtZW50KTpiPWE7aWYoYiYmKGE9Xy5JTyhbImV4aXRGdWxsc2NyZWVuIiwid2Via2l0RXhpdEZ1bGxzY3JlZW4iLCJtb3pDYW5jZWxGdWxsU2NyZWVuIiwibXNFeGl0RnVsbHNjcmVlbiJdLGIpKSl7YS5jYWxsKGIpaW5zdGFuY2VvZiBQcm9taXNlfHxQcm9taXNlLnJlc29sdmUoKTtyZXR1cm59UHJvbWlzZS5yZXNvbHZlKCl9O05RPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpfTtPUT1mdW5jdGlvbihhKXtyZXR1cm4oYT1OUShhKSk/ISFhLmRpc3BsYXlOYW1lOiExfTsKbWphPWZ1bmN0aW9uKGEpe3JldHVybiBfLnZiKGEsYj0+Yi5sYW5ndWFnZUNvZGU9PT0iZW4iKX07UFE9ZnVuY3Rpb24oYSl7aWYoIWEuZ2V0T3B0aW9ucygiY2FwdGlvbnMiKSlyZXR1cm4iIjthPV8uJE8oYSk7aWYoIWEubGVuZ3RoKXJldHVybiIiO3ZhciBiPW1qYShhKTtyZXR1cm4gYj9iLmRpc3BsYXlOYW1lfHwiIjphWzBdLmRpc3BsYXlOYW1lfHwiIn07ClFRPWZ1bmN0aW9uKGEsYixjKXtpZihPUShhKSlfLngoIm13ZWJfZW5hYmxlX3BsYXllcl9jYXB0aW9uc19wZXJzaXN0ZW5jZV9zdGF0ZV9tYWNoaW5lIik/YS5zZXRPcHRpb24oImNhcHRpb25zIiwic3RpY2t5TG9hZGluZyIse3VzZXJJbml0aWF0ZWQ6Y30pOmEuc2V0T3B0aW9uKCJjYXB0aW9ucyIsInN0aWNreUxvYWRpbmciLHt9KSxhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIse30pO2Vsc2V7bGV0IGQ9Xy52YihfLiRPKGEpLGU9PmUuZGlzcGxheU5hbWU9PT1iKTthLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIsZCk7Xy54KCJtd2ViX2VuYWJsZV9wbGF5ZXJfY2FwdGlvbnNfcGVyc2lzdGVuY2Vfc3RhdGVfbWFjaGluZSIpJiZhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJzdGlja3lMb2FkaW5nIix7dXNlckluaXRpYXRlZDpjfSl9fTtSUT1mdW5jdGlvbigpe3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZnVsbHNjcmVlbnJlcXVlc3QiKSl9OwpuamE9ZnVuY3Rpb24oYSl7dmFyIFtiXT0oMCxfLnVpYSkoYSksW2NdPSgwLF8udmlhKShhKTtyZXR1cm5bXy5OKCgpPT57dmFyIGQ9ey4uLmIoKX07ZC5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uJiYoZC5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uPXsuLi5jKCkubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbn0pO3JldHVybiBkfSx2b2lkIDAsInV2Uzg3YiIpXX07U1E9ZnVuY3Rpb24oYSl7TVEoYXx8ZG9jdW1lbnQuYm9keSl9OwpvamE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbyIpO2EmJihSUSgpLEtRKGEpLmNhdGNoKGI9PntpZihiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBpcyBub3Qgc3VwcG9ydGVkIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJGdWxsc2NyZWVuIGVycm9yIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIikpXy5XaShiKTtlbHNlIHRocm93IGI7fSkpfTtUUT1mdW5jdGlvbihhLGIpe18uWk8oKT8oUlEoKSxTUShiKSk6TFEoKT8oUlEoKSxiPUtRKGJ8fGRvY3VtZW50LmJvZHkse25hdmlnYXRpb25VSToiaGlkZSJ9KSxhPy5kcyYmYj8uY2F0Y2goKCk9Pm51bGwpKTpvamEoKX07ClVRPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiAwO3ZhciBiPWEuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKSxjPWEuZ2V0VmlkZW9EYXRhKCk7cmV0dXJuIGMmJmMuaXNMaXZlPyhhPWEuZ2V0UHJvZ3Jlc3NTdGF0ZShiKSxhLnNlZWthYmxlRW5kLWEuc2Vla2FibGVTdGFydCk6YS5nZXREdXJhdGlvbihiKX07cGphPWZ1bmN0aW9uKGEsYixjKXthfHxfLk9FKCgpPT57Yj8ucHJldmlvdXNWaWRlbyhjKX0pfTtWUT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFBsYXllclN0YXRlKCk7aWYoYj09PTIpcmV0dXJuITA7aWYoYiE9PTMpcmV0dXJuITE7YT1hLmdldFBsYXllclN0YXRlT2JqZWN0KCk7cmV0dXJuIWEuaXNCdWZmZXJpbmcmJiFhLmlzVW5zdGFydGVkJiYhYS5pc1BsYXlpbmcmJmEuaXNQYXVzZWR9OwpXUT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFBsYXllclN0YXRlKCk7aWYoYj09PTEpcmV0dXJuIGEucGF1c2VWaWRlbygpLCJQTEFZRVJfUEFVU0UiO2lmKGI9PT0tMSlhLnBsYXlWaWRlbygpO2Vsc2UgaWYoYj09PTJ8fFZRKGEpKXJldHVybiBhLnBsYXlWaWRlbygpLCJQTEFZRVJfUExBWSJ9O1hRPWZ1bmN0aW9uKGEpe2E9YSYmYS5nZXRQbGF5bGlzdEluZGV4JiZhLmdldFBsYXlsaXN0SW5kZXgoKT49MDtyZXR1cm4hIV8uWmIod2luZG93LmxvY2F0aW9uLmhyZWYsImxpc3QiKXx8ISFhfTtaUT1mdW5jdGlvbihhKXtZUT1hfTtxamE9ZnVuY3Rpb24oYSl7dmFyIGI9WVE7Yj8oYT1hLnRpbWVTdGFtcCxiPWIudGltZVN0YW1wLGI9aXNOYU4oYSl8fGlzTmFOKGIpPyExOk1hdGguYWJzKGEtYik8PV8ueWlhKTpiPSExO3JldHVybiBifTsKcmphPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O2lmKGIpe3ZhciBjPSFiLnBhdXNlZDsocWphKGEpfHxjKSYmc2V0VGltZW91dCgoKT0+e2IucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGF1c2UiLFpRKTtkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0idmlzaWJsZSImJl8uVk0oKX0sXy54aWEpfX07JFE9ZnVuY3Rpb24oKXtfLngoIm13ZWJfbmV3X2Z1bGxzY3JlZW4iKT9TUShfLkVKKTpfLkVKJiYoTVEoXy5FSiksXy54KCJtd2ViX25ld19mdWxsc2NyZWVuX3Jlc2l6ZSIpfHxfLlhNKCJyZXNpemUiKSl9OwphUj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvIik7YSYmKF8uZnImJl8ueCgibXdlYl9pb3NfZnVsbHNjcmVlbl9wbGF5YmFja190cmFuc2l0aW9uIikmJihhLmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlIixaUSksXy5OTShhLCJ3ZWJraXRlbmRmdWxsc2NyZWVuIixyamEpKSxfLlhNKCJmdWxsc2NyZWVucmVxdWVzdCIpLEtRKGEpLmNhdGNoKGI9PntpZihiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBpcyBub3Qgc3VwcG9ydGVkIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJGdWxsc2NyZWVuIGVycm9yIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIikpXy5XaShiKTtlbHNlIHRocm93IGI7fSkpfTtzamE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuc2NyZWVuLm9yaWVudGF0aW9uO2lmKGE/LmxvY2smJiFfLk1FKCkmJiFfLlRFKCkpdHJ5e2EubG9jaygibGFuZHNjYXBlIikuY2F0Y2goKCk9Pnt9KX1jYXRjaChiKXt9fTsKdGphPWZ1bmN0aW9uKGEpe18uWE0oImZ1bGxzY3JlZW5yZXF1ZXN0Iik7dmFyIGI9S1EoXy5FSix7bmF2aWdhdGlvblVJOiJoaWRlIn0pO2F8fHNqYSgpO18ueCgibXdlYl9uZXdfZnVsbHNjcmVlbl9yZXNpemUiKXx8Xy5YTSgicmVzaXplIik7cmV0dXJuIGJ9Owp1amE9ZnVuY3Rpb24oYSl7ZG9jdW1lbnQuYm9keS5nZXRBdHRyaWJ1dGUoImZ1bGxzY3JlZW4tcmVqZWN0ZWQiKT09PSJ0cnVlIiYmZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoImZ1bGxzY3JlZW4tcmVqZWN0ZWQiKTtpZihfLngoIm13ZWJfbmV3X2Z1bGxzY3JlZW4iKSlUUShhLF8uRUopO2Vsc2V7dmFyIGI9Xy5yUCgpLGM7Xy5mcj9jPWFSKCk6TFEoKT9iPyRRKCk6Yz10amEoYT8uekkpOl8ueCgibXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkIik/Yz1hUigpOl8uWE0oInBsYXllci1mdWxsc2NyZWVuLXRvZ2dsZWQiLHtpc0N1cnJlbnRseUZ1bGxzY3JlZW46Yn0pO2M/LmNhdGNoKGQ9PntpZihkPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBpcyBub3Qgc3VwcG9ydGVkIil8fGQ/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJGdWxsc2NyZWVuIGVycm9yIil8fGQ/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIikpZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoImZ1bGxzY3JlZW4tcmVqZWN0ZWQiLAoidHJ1ZSIpLF8uWE0oInBsYXllci1mdWxsc2NyZWVuLXRvZ2dsZWQiLHtpc0N1cnJlbnRseUZ1bGxzY3JlZW46Yn0pfSk7YT8uZHMmJmM/LmNhdGNoKCgpPT5udWxsKX19O2JSPWZ1bmN0aW9uKGEpe3JldHVybntsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6YS50aXRsZSxzZWxlY3Rpb25UZXh0OmEuc2VsZWN0aW9uVGV4dCxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmEuaWNvblR5cGV9fV19LGlzRGlzYWJsZWQ6YS5pc0Rpc2FibGVkLGlzU2VsZWN0ZWQ6YS5pc1NlbGVjdGVkLHNlbGVjdGlvblN0eWxlOmEuc2VsZWN0aW9uU3R5bGV9fX07CmNSPWZ1bmN0aW9uKGEpe3JldHVybntzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6YS50aXRsZSxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmEuaWNvblR5cGV9fV19LHN3aXRjaGVkT25CeURlZmF1bHQ6YS5rbCxhMTF5TGFiZWxTd2l0Y2hlZE9uOmEuRWssYTExeUxhYmVsU3dpdGNoZWRPZmY6YS5Eayxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZH19fTt2amE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2hvcnRzLmlzRnVsbHNjcmVlbn07d2phPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNob3J0cy5tan07CnhqYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIubGVuZ3RoO3N3aXRjaChjKXtjYXNlIDA6cmV0dXJuIiI7Y2FzZSAxOnJldHVybiBTdHJpbmcoYlswXSk7Y2FzZSAyOnJldHVybiBhLkQucmVwbGFjZSgiezB9IixTdHJpbmcoYlswXSkpLnJlcGxhY2UoInsxfSIsU3RyaW5nKGJbMV0pKX12YXIgZD1hLkIucmVwbGFjZSgiezB9IixTdHJpbmcoYlswXSkpLnJlcGxhY2UoInsxfSIsU3RyaW5nKGJbMV0pKTtmb3IobGV0IGU9MjtlPGMtMTsrK2UpZD1hLnYucmVwbGFjZSgiezB9IixkKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiW2VdKSk7cmV0dXJuIGEuby5yZXBsYWNlKCJ7MH0iLGQpLnJlcGxhY2UoInsxfSIsU3RyaW5nKGJbYy0xXSkpfTsKaFI9ZnVuY3Rpb24oKXt0aGlzLks9bnVsbDt0aGlzLlZkPXRoaXMuTWE9dGhpcy5RYT0hMTt0aGlzLlo9NDA7dGhpcy5vPTE7dGhpcy5oYT0wO3RoaXMuaj0zO3RoaXMueWE9dGhpcy5CPTA7dGhpcy5FYj0hMTt0aGlzLmdhPXRoaXMuTT0iIjt0aGlzLkQ9ZFIuYW87dGhpcy5VPSIiO3RoaXMudj0xO3RoaXMuWT0hMTt0aGlzLkk9W107dGhpcy5GYT10aGlzLmZjPSExO3RoaXMub2E9MDtpZihlUilmUih0aGlzKTtlbHNle3RoaXMuSz1udWxsO3ZhciBhPWRSLmd0O2xldCBlPVswXTt0aGlzLk09Z1IodGhpcyxhLGUpO3ZhciBiPWVbMF07bGV0IGY9LTEsaD0wO3ZhciBjPTAsZD0wO2xldCBrPS0xLGw9YS5sZW5ndGg7Zm9yKGxldCBtPSEwO2VbMF08bCYmbTtlWzBdKyspc3dpdGNoKGEuY2hhckF0KGVbMF0pKXtjYXNlICIjIjpjPjA/ZCsrOmgrKztrPj0wJiZmPDAmJmsrKzticmVhaztjYXNlICIwIjppZihkPjApdGhyb3cgRXJyb3IoIlZkYCIrYSk7YysrO2s+PTAmJmY8MCYmaysrO2JyZWFrOwpjYXNlICIsIjprPjAmJnRoaXMuSS5wdXNoKGspO2s9MDticmVhaztjYXNlICIuIjppZihmPj0wKXRocm93IEVycm9yKCJXZGAiK2EpO2Y9aCtjK2Q7YnJlYWs7Y2FzZSAiRSI6aWYodGhpcy5GYSl0aHJvdyBFcnJvcigiWGRgIithKTt0aGlzLkZhPSEwO3RoaXMueWE9MDtlWzBdKzE8bCYmYS5jaGFyQXQoZVswXSsxKT09IisiJiYoZVswXSsrLHRoaXMuRWI9ITApO2Zvcig7ZVswXSsxPGwmJmEuY2hhckF0KGVbMF0rMSk9PSIwIjspZVswXSsrLHRoaXMueWErKztpZihoK2M8MXx8dGhpcy55YTwxKXRocm93IEVycm9yKCJZZGAiK2EpO209ITE7YnJlYWs7ZGVmYXVsdDplWzBdLS0sbT0hMX1jPT0wJiZoPjAmJmY+PTAmJihjPWYsYz09MCYmYysrLGQ9aC1jLGg9Yy0xLGM9MSk7aWYoZjwwJiZkPjB8fGY+PTAmJihmPGh8fGY+aCtjKXx8az09MCl0aHJvdyBFcnJvcigiWmRgIithKTtkPWgrYytkO3RoaXMuaj1mPj0wP2QtZjowO2Y+PTAmJih0aGlzLkI9aCtjLWYsdGhpcy5CPDAmJih0aGlzLkI9CjApKTt0aGlzLm89KGY+PTA/ZjpkKS1oO3RoaXMuRmEmJih0aGlzLlo9aCt0aGlzLm8sdGhpcy5qPT0wJiZ0aGlzLm89PTAmJih0aGlzLm89MSkpO3RoaXMuSS5wdXNoKE1hdGgubWF4KDAsaykpO3RoaXMuZmM9Zj09MHx8Zj09ZDtiPWVbMF0tYjt0aGlzLmdhPWdSKHRoaXMsYSxlKTtlWzBdPGEubGVuZ3RoJiZhLmNoYXJBdChlWzBdKT09IjsiPyhlWzBdKyssdGhpcy52IT0xJiYodGhpcy5ZPSEwKSx0aGlzLkQ9Z1IodGhpcyxhLGUpLGVbMF0rPWIsdGhpcy5VPWdSKHRoaXMsYSxlKSk6KHRoaXMuRCs9dGhpcy5NLHRoaXMuVSs9dGhpcy5nYSl9fTsKZlI9ZnVuY3Rpb24oYSl7dmFyIGI9e25vdGF0aW9uOiJzdGFuZGFyZCIsbWluaW11bUludGVnZXJEaWdpdHM6TWF0aC5taW4oMjEsTWF0aC5tYXgoMSxhLm8pKX07YS5FYiYmKGIuc2lnbkRpc3BsYXk9ImFsd2F5cyIpO2EuUWE/KGIubWluaW11bVNpZ25pZmljYW50RGlnaXRzPTEsYi5tYXhpbXVtU2lnbmlmaWNhbnREaWdpdHM9TWF0aC5tYXgoMSxNYXRoLm1pbigyMSxhLmhhKSkpOmEuTWEmJihiLm1pbmltdW1GcmFjdGlvbkRpZ2l0cz1NYXRoLm1heCgwLGEuQiksYi5tYXhpbXVtRnJhY3Rpb25EaWdpdHM9TWF0aC5taW4oMjAsTWF0aC5tYXgoMCxhLmopKSk7Yi5zdHlsZT0iZGVjaW1hbCI7dHJ5e2xldCBjOyhjPSJlbi1VUyIucmVwbGFjZSgiXyIsIi0iKSkmJmMgaW4gaVImJihiLm51bWJlcmluZ1N5c3RlbT1pUltjXSk7YS5LPW5ldyBJbnRsLk51bWJlckZvcm1hdChjLGIpfWNhdGNoKGMpe3Rocm93IGEuSz1udWxsLEVycm9yKCJSZGAiK2MpO31qUj1hLlZkPWEuUWE9YS5NYT0hMX07Cm1SPWZ1bmN0aW9uKGEsYil7dmFyIGM9a1IoYixhLmopO2EuaGE+MCYmKGM9bFIoYyxhLmhhLGEuaikpO2M9TWF0aC5yb3VuZChjKTtpZihpc0Zpbml0ZShjKSl7dmFyIGQ9TWF0aC5mbG9vcihrUihjLC1hLmopKTtjPU1hdGguZmxvb3IoYy1rUihkLGEuaikpO2lmKGM8MHx8Yz49a1IoMSxhLmopKWQ9TWF0aC5yb3VuZChiKSxjPTB9ZWxzZSBkPWIsYz0wO3JldHVybntpbnRWYWx1ZTpkLGh3OmN9fTsKblI9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5CPmEuail0aHJvdyBFcnJvcigiU2QiKTtkfHwoZD1bXSk7Yj1tUihhLGIpO3ZhciBlPWIuaW50VmFsdWUsZj1iLmh3LGg9YS5CPjB8fGY+MHx8ITE7Yj1hLkI7aCYmKGI9YS5CKTtmb3IodmFyIGs9IiIsbD1lO2w+MUUyMDspaz0iMCIrayxsPU1hdGgucm91bmQoa1IobCwtMSkpO2s9bCtrO3ZhciBtPWRSLlZuO2w9ZFIuQmsuY29kZVBvaW50QXQoMCk7dmFyIG49ay5sZW5ndGgscD0wO2lmKGU+MHx8Yz4wKXtmb3IoZT1uO2U8YztlKyspZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwpKTtpZihhLkkubGVuZ3RoPj0yKWZvcihjPTE7YzxhLkkubGVuZ3RoO2MrKylwKz1hLklbY107Yz1uLXA7aWYoYz4wKXtlPWEuSTtwPW49MDt2YXIgcj1kUi5yayx0PWsubGVuZ3RoO2ZvcihsZXQgej0wO3o8dDt6KyspaWYoZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwrTnVtYmVyKGsuY2hhckF0KHopKSkpLHQtej4xKXt2YXIgdj1lW3BdO2lmKHo8CmMpe2xldCBFPWMtejsodj09PTF8fHY+MCYmRSV2PT09MSkmJmQucHVzaChyKX1lbHNlIHA8ZS5sZW5ndGgmJih6PT09Yz9wKz0xOnY9PT16LWMtbisxJiYoZC5wdXNoKHIpLG4rPXYscCs9MSkpfX1lbHNle2M9aztrPWEuSTtlPWRSLnJrO3Y9Yy5sZW5ndGg7cj1bXTtmb3Iobj1rLmxlbmd0aC0xO24+PTAmJnY+MDtuLS0pe3A9a1tuXTtmb3IodD0wO3Q8cCYmdi10LTE+PTA7dCsrKXIucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsK051bWJlcihjLmNoYXJBdCh2LXQtMSkpKSk7di09cDt2PjAmJnIucHVzaChlKX1kLnB1c2guYXBwbHkoZCxyLnJldmVyc2UoKSl9fWVsc2UgaHx8ZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwpKTsoYS5mY3x8aCkmJmQucHVzaChtKTtmPVN0cmluZyhmKTtoPWYuc3BsaXQoImUrIik7aC5sZW5ndGg9PTImJihmPVN0cmluZyhsUihwYXJzZUZsb2F0KGhbMF0pLGEuaGEsMSkpLGY9Zi5yZXBsYWNlKCIuIiwiIiksZis9IjAiLnJlcGVhdChwYXJzZUludChoWzFdLAoxMCktZi5sZW5ndGgrMSkpO2EuaisxPmYubGVuZ3RoJiYoZj0iMSIrIjAiLnJlcGVhdChhLmotZi5sZW5ndGgpK2YpO2ZvcihhPWYubGVuZ3RoO2YuY2hhckF0KGEtMSk9PSIwIiYmYT5iKzE7KWEtLTtmb3IoYj0xO2I8YTtiKyspZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwrTnVtYmVyKGYuY2hhckF0KGIpKSkpfTtvUj1mdW5jdGlvbihhLGIsYyl7Yy5wdXNoKGRSLlluKTtiPDA/KGI9LWIsYy5wdXNoKGRSLmFvKSk6YS5FYiYmYy5wdXNoKGRSLld0KTtiPSIiK2I7dmFyIGQ9ZFIuQms7Zm9yKGxldCBlPWIubGVuZ3RoO2U8YS55YTtlKyspYy5wdXNoKGQpO2E9ZC5jb2RlUG9pbnRBdCgwKS15amE7Zm9yKGQ9MDtkPGIubGVuZ3RoO2QrKyljLnB1c2goU3RyaW5nLmZyb21Db2RlUG9pbnQoYStiLmNvZGVQb2ludEF0KGQpKSl9OwpwUj1mdW5jdGlvbihhKXthPWEuY29kZVBvaW50QXQoMCk7aWYoNDg8PWEmJmE8NTgpcmV0dXJuIGEtNDg7dmFyIGI9ZFIuQmsuY29kZVBvaW50QXQoMCk7cmV0dXJuIGI8PWEmJmE8YisxMD9hLWI6LTF9OwpnUj1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPSIiLGU9ITEsZj1iLmxlbmd0aDtjWzBdPGY7Y1swXSsrKXt2YXIgaD1iLmNoYXJBdChjWzBdKTtpZihoPT0iJyIpY1swXSsxPGYmJmIuY2hhckF0KGNbMF0rMSk9PSInIj8oY1swXSsrLGQrPSInIik6ZT0hZTtlbHNlIGlmKGUpZCs9aDtlbHNlIHN3aXRjaChoKXtjYXNlICIjIjpjYXNlICIwIjpjYXNlICIsIjpjYXNlICIuIjpjYXNlICI7IjpyZXR1cm4gZDtjYXNlICJcdTAwYTQiOmNbMF0rMTxmJiZiLmNoYXJBdChjWzBdKzEpPT0iXHUwMGE0Ij8oY1swXSsrLGQrPWRSLlduKTooaD1kUi5XbixkKz1oIGluIHFSP3FSW2hdWzFdOmgpO2JyZWFrO2Nhc2UgIiUiOmlmKCFhLlkmJmEudiE9MSl0aHJvdyBFcnJvcigiVGQiKTtpZihhLlkmJmEudiE9MTAwKXRocm93IEVycm9yKCJVZCIpO2Eudj0xMDA7YS5ZPSExO2QrPWRSLmpvO2JyZWFrO2Nhc2UgIlx1MjAzMCI6aWYoIWEuWSYmYS52IT0xKXRocm93IEVycm9yKCJUZCIpO2lmKGEuWSYmCmEudiE9MUUzKXRocm93IEVycm9yKCJVZCIpO2Eudj0xRTM7YS5ZPSExO2QrPWRSLmtvO2JyZWFrO2RlZmF1bHQ6ZCs9aH19cmV0dXJuIGR9O3RSPWZ1bmN0aW9uKGEsYil7YT1hLm9hPT0xP3JSLlNuOnJSLlZzO2E9PW51bGwmJihhPXJSLlNuKTtpZihiPDMpcmV0dXJuIHNSO2I9TWF0aC5taW4oMTQsYik7dmFyIGM9YVtrUigxLGIpXTtmb3IoLS1iOyFjJiZiPj0zOyljPWFba1IoMSxiKV0sYi0tO2lmKCFjKXJldHVybiBzUjtjPWMub3RoZXI7dmFyIGQ9YT0iIixlPWMuaW5kZXhPZigiOyIpO2U+PTAmJihjPWMuc3Vic3RyaW5nKDAsZSksZT1jLnN1YnN0cmluZyhlKzEpKSYmKGQ9LyhbXjBdKikoMCspKC4qKS8uZXhlYyhlKSxhPWRbMV0sZD1kWzNdKTtyZXR1cm4gYyYmYyE9IjAiPyhjPS8oW14wXSopKDArKSguKikvLmV4ZWMoYykpP3twbDpiKzEtKGNbMl0ubGVuZ3RoLTEpLHdtOmEseG06ZCxwcmVmaXg6Y1sxXSxzdWZmaXg6Y1szXX06c1I6c1J9Owp1Uj1mdW5jdGlvbihhKXtpZighaXNGaW5pdGUoYSkpcmV0dXJuIGE+MD9hOjA7Zm9yKHZhciBiPTA7KGEvPTEwKT49MTspYisrO3JldHVybiBifTtrUj1mdW5jdGlvbihhLGIpe2lmKCFhfHwhaXNGaW5pdGUoYSl8fGI9PTApcmV0dXJuIGE7YT1TdHJpbmcoYSkuc3BsaXQoImUiKTtyZXR1cm4gcGFyc2VGbG9hdChhWzBdKyJlIisocGFyc2VJbnQoYVsxXXx8MCwxMCkrYikpfTt2Uj1mdW5jdGlvbihhLGIpe3JldHVybiBhJiZpc0Zpbml0ZShhKT9rUihNYXRoLnJvdW5kKGtSKGEsYikpLC1iKTphfTtsUj1mdW5jdGlvbihhLGIsYyl7aWYoIWEpcmV0dXJuIGE7Yj1iLXVSKGEpLTE7cmV0dXJuIGI8LWM/dlIoYSwtYyk6dlIoYSxiKX07emphPWZ1bmN0aW9uKGEpe3JldHVybiBhJTEwPT0xJiZhJTEwMCE9MTE/Im9uZSI6YSUxMD09MiYmYSUxMDAhPTEyPyJ0d28iOmElMTA9PTMmJmElMTAwIT0xMz8iZmV3Ijoib3RoZXIifTsKQWphPWZ1bmN0aW9uKGEsYil7dmFyIGM9YXwwO2lmKHZvaWQgMD09PWIpe2I9TWF0aDt2YXIgZD1iLm1pbjtsZXQgZT1hKyIiLGY9ZS5pbmRleE9mKCIuIik7Yj1kLmNhbGwoYixmPT09LTE/MDplLmxlbmd0aC1mLTEsMyl9ZD1NYXRoLnBvdygxMCxiKTthPXtGQjpiLGY6KGEqZHwwKSVkfTtyZXR1cm4gYz09MSYmYS5GQj09MD8ib25lIjoib3RoZXIifTt6Uj1mdW5jdGlvbihhKXt0aGlzLnY9YTt0aGlzLm89dGhpcy5qPXRoaXMuRD1udWxsO2E9ZFI7dmFyIGI9clI7aWYod1IhPT1hfHx4UiE9PWIpd1I9YSx4Uj1iLHlSPW5ldyBoUjt0aGlzLks9eVJ9OwpBUj1mdW5jdGlvbihhLGIsYyxkLGUpe2ZvcihsZXQgcD0wO3A8Yi5sZW5ndGg7cCsrKXt2YXIgZj12b2lkIDA7c3dpdGNoKGJbcF0udHlwZSl7Y2FzZSA0OmUucHVzaChiW3BdLnZhbHVlKTticmVhaztjYXNlIDM6Zj1iW3BdLnZhbHVlO3ZhciBoPWEsaz1lLGw9Y1tmXTtsPT09dm9pZCAwP2sucHVzaCgiVW5kZWZpbmVkIHBhcmFtZXRlciAtICIrZik6KGguai5wdXNoKGwpLGsucHVzaChoLkIoaC5qKSkpO2JyZWFrO2Nhc2UgMjpmPWJbcF0udmFsdWU7aD1hO2s9YztsPWQ7dmFyIG09ZSxuPWYuc2k7a1tuXT09PXZvaWQgMD9tLnB1c2goIlVuZGVmaW5lZCBwYXJhbWV0ZXIgLSAiK24pOihuPWZba1tuXV0sbj09PXZvaWQgMCYmKG49Zi5vdGhlciksQVIoaCxuLGssbCxtKSk7YnJlYWs7Y2FzZSAwOmY9YltwXS52YWx1ZTtCUihhLGYsYyxDUixkLGUpO2JyZWFrO2Nhc2UgMTpmPWJbcF0udmFsdWUsQlIoYSxmLGMsQmphLGQsZSl9fX07CkJSPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgaD1iLnNpLGs9Yi5HbyxsPStjW2hdO2lzTmFOKGwpP2YucHVzaCgiVW5kZWZpbmVkIG9yIGludmFsaWQgcGFyYW1ldGVyIC0gIitoKTooaz1sLWssaD1iW2NbaF1dLGg9PT12b2lkIDAmJihkPWQoTWF0aC5hYnMoaykpLGg9YltkXSxoPT09dm9pZCAwJiYoaD1iLm90aGVyKSksYj1bXSxBUihhLGgsYyxlLGIpLGM9Yi5qb2luKCIiKSxlP2YucHVzaChjKTooYT1hLksuZm9ybWF0KGspLGYucHVzaChjLnJlcGxhY2UoLyMvZyxhKSkpKX07RWphPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5ELGQ9YS5CLmJpbmQoYSk7Yj1iLnJlcGxhY2UoQ2phLGZ1bmN0aW9uKCl7Yy5wdXNoKCInIik7cmV0dXJuIGQoYyl9KTtyZXR1cm4gYj1iLnJlcGxhY2UoRGphLGZ1bmN0aW9uKGUsZil7Yy5wdXNoKGYpO3JldHVybiBkKGMpfSl9OwpEUj1mdW5jdGlvbihhKXt2YXIgYj0wLGM9W10sZD1bXSxlPS9be31dL2c7ZS5sYXN0SW5kZXg9MDtmb3IodmFyIGY7Zj1lLmV4ZWMoYSk7KXtsZXQgaD1mLmluZGV4O2ZbMF09PSJ9Ij8oYy5wb3AoKSxjLmxlbmd0aD09MCYmKGY9e3R5cGU6MX0sZi52YWx1ZT1hLnN1YnN0cmluZyhiLGgpLGQucHVzaChmKSxiPWgrMSkpOihjLmxlbmd0aD09MCYmKGI9YS5zdWJzdHJpbmcoYixoKSxiIT0iIiYmZC5wdXNoKHt0eXBlOjAsdmFsdWU6Yn0pLGI9aCsxKSxjLnB1c2goInsiKSl9YT1hLnN1YnN0cmluZyhiKTthIT0iIiYmZC5wdXNoKHt0eXBlOjAsdmFsdWU6YX0pO3JldHVybiBkfTsKSFI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtiPURSKGIpO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7ZSsrKXtsZXQgZj17fTtpZigwPT1iW2VdLnR5cGUpZi50eXBlPTQsZi52YWx1ZT1iW2VdLnZhbHVlO2Vsc2UgaWYoMT09YltlXS50eXBlKXt2YXIgZD1iW2VdLnZhbHVlO3N3aXRjaChFUi50ZXN0KGQpPzA6RlIudGVzdChkKT8xOkdSLnRlc3QoZCk/MjovXlxzKlx3K1xzKi8udGVzdChkKT8zOjUpe2Nhc2UgMjpmLnR5cGU9MjtmLnZhbHVlPUZqYShhLGJbZV0udmFsdWUpO2JyZWFrO2Nhc2UgMDpmLnR5cGU9MDtmLnZhbHVlPUdqYShhLGJbZV0udmFsdWUpO2JyZWFrO2Nhc2UgMTpmLnR5cGU9MTtmLnZhbHVlPUhqYShhLGJbZV0udmFsdWUpO2JyZWFrO2Nhc2UgMzpmLnR5cGU9MyxmLnZhbHVlPWJbZV0udmFsdWV9fWMucHVzaChmKX1yZXR1cm4gY307CkZqYT1mdW5jdGlvbihhLGIpe3ZhciBjPSIiO2I9Yi5yZXBsYWNlKEdSLGZ1bmN0aW9uKGYsaCl7Yz1oO3JldHVybiIifSk7dmFyIGQ9e307ZC5zaT1jO2I9RFIoYik7Zm9yKHZhciBlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWJbZV0udmFsdWU7ZSsrO2xldCBoOzE9PWJbZV0udHlwZSYmKGg9SFIoYSxiW2VdLnZhbHVlKSk7ZFtmLnJlcGxhY2UoL1xzL2csIiIpXT1oO2UrK31yZXR1cm4gZH07R2phPWZ1bmN0aW9uKGEsYil7dmFyIGM9IiIsZD0wO2I9Yi5yZXBsYWNlKEVSLGZ1bmN0aW9uKGgsayxsKXtjPWs7bCYmKGQ9cGFyc2VJbnQobCwxMCkpO3JldHVybiIifSk7dmFyIGU9e307ZS5zaT1jO2UuR289ZDtiPURSKGIpO2Zvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7KXtsZXQgaD1iW2ZdLnZhbHVlO2YrKztsZXQgazsxPT1iW2ZdLnR5cGUmJihrPUhSKGEsYltmXS52YWx1ZSkpO2VbaC5yZXBsYWNlKC9ccyooPzo9KT8oXHcrKVxzKi8sIiQxIildPWs7ZisrfXJldHVybiBlfTsKSGphPWZ1bmN0aW9uKGEsYil7dmFyIGM9IiI7Yj1iLnJlcGxhY2UoRlIsZnVuY3Rpb24oZixoKXtjPWg7cmV0dXJuIiJ9KTt2YXIgZD17fTtkLnNpPWM7ZC5Hbz0wO2I9RFIoYik7Zm9yKHZhciBlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWJbZV0udmFsdWU7ZSsrO2xldCBoOzE9PWJbZV0udHlwZSYmKGg9SFIoYSxiW2VdLnZhbHVlKSk7ZFtmLnJlcGxhY2UoL1xzKig/Oj0pPyhcdyspXHMqLywiJDEiKV09aDtlKyt9cmV0dXJuIGR9O0lqYT1mdW5jdGlvbihhLGIpe3N3aXRjaChiKXtkZWZhdWx0OmNhc2UgInllYXJzIjpyZXR1cm4gYS5qLllFQVI7Y2FzZSAibW9udGhzIjpyZXR1cm4gYS5qLk1PTlRIO2Nhc2UgIndlZWtzIjpyZXR1cm4gYS5qLldFRUs7Y2FzZSAiZGF5cyI6cmV0dXJuIGEuai5EQVk7Y2FzZSAiaG91cnMiOnJldHVybiBhLmouSE9VUjtjYXNlICJtaW51dGVzIjpyZXR1cm4gYS5qLk1JTlVURTtjYXNlICJzZWNvbmRzIjpyZXR1cm4gYS5qLlNFQ09ORH19OwpJUj1mdW5jdGlvbihhLGIsYyl7YT1JamEoYSxjKTtyZXR1cm4oYT1hLkxPTkchPXZvaWQgMD9hLkxPTkc6YS5OQVJST1chPXZvaWQgMD9hLk5BUlJPVzphLlNIT1JUKT8obmV3IHpSKCJ7RFVSQVRJT05fVkFMVUUscGx1cmFsLCIrYSsifSIpKS5mb3JtYXQoe0RVUkFUSU9OX1ZBTFVFOmJ9KToiIn07SlI9ZnVuY3Rpb24oKXtfLkh6KCk7cmV0dXJuIV8uQ3ooMTQxKSYmXy53KCJBVVRPTkFWX09GRl9CWV9ERUZBVUxUIik/ITE6IV8uQ3ooMTQwKX07SmphPWZ1bmN0aW9uKCl7aWYoIUtSKXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGxheWVyLnNrZWxldG9uIik7YSYmKF8uRGQoYSksS1I9ITApfX07TFI9ZnVuY3Rpb24oYSxiLGMsZD0hMSl7Yj1uZXcgS2phKGJ8fGEsY3x8YSk7cmV0dXJue3g6YS54K0xqYShiLGQpKi4yLHk6YS55K01qYShiLGQpKi4yfX07TGphPWZ1bmN0aW9uKGEsYj0hMSl7cmV0dXJuIGI/YS5qKi0xOmEuan07Ck1qYT1mdW5jdGlvbihhLGI9ITEpe3JldHVybiBiP2EubyotMTphLm99O01SPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3ZhciBiPWEuZXJyb3JTY3JlZW4/LnBsYXllckxlZ2FjeURlc2t0b3BZcGNUcmFpbGVyUmVuZGVyZXI/P2EuZXJyb3JTY3JlZW4/LnlwY1RyYWlsZXJSZW5kZXJlcjtyZXR1cm4hKGEuc3RhdHVzIT09Ik9LIiYmYS5zdGF0dXMhPT0iTElWRV9TVFJFQU1fT0ZGTElORSIpfHwhIWJ9OwpRamE9ZnVuY3Rpb24oe3JlbmRlcmVyOmEsc3Vic2NyaWJlZDpiLGlzT3ZlcmxheTpjLHN0b3BQcm9wYWdhdGlvbjpkfSl7dmFyIGU9TmphKGEsYik7YyYmKGUuc3R5bGU9Im92ZXJsYXkiKTthOnN3aXRjaChhLnN0eWxlPy5zdHlsZVR5cGUpe2Nhc2UgIkNPTVBBQ1RfR1JBWSI6Y2FzZSAiQ09NUEFDVF9SRUQiOmM9e3NpemU6IlMifTticmVhayBhO2RlZmF1bHQ6Yz17c2l6ZToiTSJ9fWM9ey4uLmN9O3ZhciBmPU9qYShhLGIpO3ZhciBoPShoPWI/YS5zdWJzY3JpYmVkQnV0dG9uVGV4dDphLnVuc3Vic2NyaWJlZEJ1dHRvblRleHQpP18uQUYoaCk6dm9pZCAwO3JldHVybnsuLi5lLC4uLmMsZm9jdXNlZDohMSx0b2dnbGVkOmIsYWNjZXNzaWJpbGl0eUxhYmVsOmYsV2E6aCxvblRhcDpQamEoYSxiLGQpfX07ClBqYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1SamEoYSxiKTtpZihlKXtsZXQgZj17c3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI6YX07Xy5kSyhlLHtmb3JtOntjdXJyZW50RGF0YTpmLHNvdXJjZURhdGE6ZixldmVudDpkfX0pfWMmJmQuc3RvcFByb3BhZ2F0aW9uKCl9fTtSamE9ZnVuY3Rpb24oYSxiKXtpZihhLnNpZ25JbkVuZHBvaW50JiYhXy54KCJ3ZWJfc3Vic2NyaWJlX3NpZ25faW5fZW5kcG9pbnRfa2lsbHN3aXRjaCIpKXJldHVybiBhLnNpZ25JbkVuZHBvaW50O2lmKGIpe2lmKGEuc2VydmljZUVuZHBvaW50cylyZXR1cm4gYS5zZXJ2aWNlRW5kcG9pbnRzWzFdO2lmKGEub25VbnN1YnNjcmliZUVuZHBvaW50cylyZXR1cm4gYS5vblVuc3Vic2NyaWJlRW5kcG9pbnRzWzBdfWVsc2V7aWYoYS5zZXJ2aWNlRW5kcG9pbnRzKXJldHVybiBhLnNlcnZpY2VFbmRwb2ludHNbMF07aWYoYS5vblN1YnNjcmliZUVuZHBvaW50cylyZXR1cm4gYS5vblN1YnNjcmliZUVuZHBvaW50c1swXX19OwpPamE9ZnVuY3Rpb24oYSxiKXtiPWI/YS51bnN1YnNjcmliZUFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhPy5sYWJlbDphLnN1YnNjcmliZUFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhPy5sYWJlbDtyZXR1cm4gYS5sb25nU3Vic2NyaWJlckNvdW50VGV4dD9bYixfLmFOKGEubG9uZ1N1YnNjcmliZXJDb3VudFRleHQpXS5maWx0ZXIoYz0+Yykuam9pbigiICIpOmJ9O05SPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGJ8fGE/LmlzQ2hhbm5lbERlbGVnYXRlPyJkaXNhYmxlZCI6ImFjdGl2ZSJ9OwpOamE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYS5zdHlsZT8uc3R5bGVUeXBlKXtjYXNlICJDT01QQUNUX0dSQVkiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTtjYXNlICJNRURJVU1fR1JBWSI6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0b25hbCIsc3RhdGU6TlIoYSl9O2Nhc2UgIlZJU0lCTFlfRElTQUJMRUQiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6TlIoYSwhMCl9O2Nhc2UgIk9WRVJMQVkiOnJldHVybiBiP3tzdHlsZToib3ZlcmxheSIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTp7c3R5bGU6Im92ZXJsYXkiLHR5cGU6ImZpbGxlZCIsc3RhdGU6TlIoYSl9O2RlZmF1bHQ6cmV0dXJuIGI/e3N0eWxlOiJtb25vIix0eXBlOiJ0b25hbCIsc3RhdGU6TlIoYSl9OntzdHlsZToibW9ubyIsdHlwZToiZmlsbGVkIixzdGF0ZTpOUihhKX19fTsKUFI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5ob3Vyc3x8MDt2YXIgYz1hLm1pbnV0ZXN8fDAsZD1hLnNlY29uZHN8fDA7Yj1kK2MqNjArYiozNjAwKyhhLmRheXN8fDApKjg2NDAwKyhhLndlZWtzfHwwKSo2MDQ4MDArKGEubW9udGhzfHwwKSoyNjI5ODAwKyhhLnllYXJzfHwwKSozMTU1NzYwMDtiPD0wP2I9e2hvdXJzOjAsbWludXRlczowLHNlY29uZHM6MH06KGE9YixiPU1hdGguZmxvb3IoYS8zNjAwKSxhJT0zNjAwLGM9TWF0aC5mbG9vcihhLzYwKSxkPU1hdGguZmxvb3IoYSU2MCksYj17aG91cnM6YixtaW51dGVzOmMsc2Vjb25kczpkfSk7dmFyIHtob3VyczplPTAsbWludXRlczpmPTAsc2Vjb25kczpoPTB9PWI7Yj1bXTtpZihlPjApe2M9T1IoKS5mb3JtYXQoe2hvdXJzOmV9KTtpZighImJlIGJnIGVzIGV0IGh1IGl0IGthIGx2IHBsIHB0LVBUIHNsIHNxIi5zcGxpdCgiICIpLmluY2x1ZGVzKFopfHxlPjk5OTkpe2E9Yy5yZXBsYWNlO2Q9ZS50b1N0cmluZygpO3ZhciBrPShuZXcgSW50bC5OdW1iZXJGb3JtYXQoImVuLXUtbnUtbGF0biIpKS5mb3JtYXQoZSk7CnZhciBsPVsiZnIiXTtsZXQgbT0iYXogYnMgY2EgZGEgZGUgZWwgZXMgZXUgZ2wgaHIgaWQgaXMgaXQga20gbG8gbWsgbmwgcHQtQlIgcm8gc2wgc3Igc3ItTGF0biB0ciB2aSIuc3BsaXQoIiAiKTtrPSJhZiBiZSBiZyBjcyBldCBmaSBmci1DQSBodSBoeSBrYSBrayBreSBsdCBsdiBubyBwbCBwdC1QVCBydSBzayBzcSBzdiB1ayB1eiIuc3BsaXQoIiAiKS5pbmNsdWRlcyhaKT9rLnJlcGxhY2UoIiwiLCJcdTAwYTAiKTpsLmluY2x1ZGVzKFopP2sucmVwbGFjZSgiLCIsIlx1MjAyZiIpOm0uaW5jbHVkZXMoWik/ay5yZXBsYWNlKCIsIiwiLiIpOms7Yz1hLmNhbGwoYyxkLGspO1o9PT0ia20iJiYoYz1jLnJlcGxhY2UoIi4iLCIsIikpfWIucHVzaChjKX1mPjAmJmIucHVzaChPUigpLmZvcm1hdCh7bWludXRlczpmfSkpOyhoPjB8fGU9PT0wJiZmPT09MCkmJmIucHVzaChPUigpLmZvcm1hdCh7c2Vjb25kczpofSkpO2M9ImJlIGd1IGphIGtrIGttIGtvIG1uIHJ1IHRyIHV6IHpoLUhLIHpoLVRXIi5zcGxpdCgiICIpOwphPVo9PSJhbSI/InswfVx1MTM2MyAiOlo9PSJmYSI/InswfVx1MDYwY1x1MjAwZiAiOlo9PSJteSI/InswfSAtICI6Wj09InRoIj8iezB9ICI6Wj09InVyIj8iezB9XHUwNjBjICI6Wj09ImFyInx8Wj09ImFyLVhCIj8iezB9IFx1MDY0OCI6Wj09ImphInx8Wj09InpoLUNOInx8Wj09InpoLUhLInx8Wj09InpoLVRXIj8iezB9XHUzMDAxIjoiezB9LCAiO2Q9Wj09ImFtIj8iXHUxMzYzICI6Wj09ImZhIj8iXHUwNjBjXHUyMDBmICI6Wj09Im15Ij8iIC0gIjpaPT0idGgiPyIgIjpaPT0idXIiPyJcdTA2MGMgIjpaPT0iYXIifHxaPT0iYXItWEIiPyIgXHUwNjQ4IjpaPT0iamEifHxaPT0iemgtQ04ifHxaPT0iemgtSEsifHxaPT0iemgtVFciPyJcdTMwMDEiOiIsICI7az1aPT0iYW0iPyIgXHUxMmE1XHUxMjkzIHswfSI6Wj09ImFzIj8iIFx1MDk4Nlx1MDlmMFx1MDljMSB7MH0iOlo9PSJheiI/IiB2XHUwMjU5IHswfSI6Wj09ImJuIj8iIFx1MDk4Zlx1MDlhY1x1MDk4MiB7MH0iOlo9PSJjcyI/CiIgYVx1MDBhMHswfSI6Wj09ImRlIj8iIHVuZCB7MH0iOlo9PSJlbCI/IiBcdTAzYmFcdTAzYjFcdTAzYjkgezB9IjpaPT0iZXUiPyIgZXRhIHswfSI6Wj09ImZhIj8iXHUwNjBjIFx1MDY0OCB7MH0iOlo9PSJmaWwiPyIsIGF0IHswfSI6Wj09Imd1Ij8iIFx1MGE4NVx1MGFhOFx1MGFjNyB7MH0iOlo9PSJoaSI/IiwgXHUwOTE0XHUwOTMwIHswfSI6Wj09Imh1Ij8iIFx1MDBlOXMgezB9IjpaPT0iaHkiPyIgXHUwNTg3IHswfSI6Wj09ImlkIj8iLCBkYW4gezB9IjpaPT0iaXciPyIgXHUwNWQ1LXswfSI6Wj09ImphIj8iXHUzMDAxezB9IjpaPT0ia2EiPyIgXHUxMGQzXHUxMGQwIHswfSI6Wj09ImttIj8iIFx1MTc5M1x1MTdiN1x1MTc4NCB7MH0iOlo9PSJrbiI/IiwgXHUwY2FlXHUwY2E0XHUwY2NkXHUwY2E0XHUwY2MxIHswfSI6Wj09ImtvIj8iIFx1YmMwZiB7MH0iOlo9PSJreSI/IiBcdTA0MzZcdTA0MzBcdTA0M2RcdTA0MzAgezB9IjpaPT0ibHQiPyIgaXIgezB9IjpaPT0ibHYiPwoiIHVuIHswfSI6Wj09Im1yIj8iIFx1MDkwNlx1MDkyM1x1MDkzZiB7MH0iOlo9PSJtcyI/IiBkYW4gezB9IjpaPT0ibXkiPyJcdTEwMTRcdTEwM2VcdTEwMDRcdTEwMzdcdTEwM2EgezB9IjpaPT0ibmUiPyIgXHUwOTMwIHswfSI6Wj09Im9yIj8iLCBcdTBiMTMgezB9IjpaPT0icGEiPyIgXHUwYTA1XHUwYTI0XHUwYTQ3IHswfSI6Wj09InJvIj8iIFx1MDIxOWkgezB9IjpaPT0ic2kiPyIsIFx1MGRjM1x1MGRjNCB7MH0iOlo9PSJzayI/IiBhIHswfSI6Wj09InNsIj8iIGluIHswfSI6Wj09InNxIj8iIGRoZSB7MH0iOlo9PSJzdiI/IiBvY2ggezB9IjpaPT0ic3ciPyIgbmEgezB9IjpaPT0idGEiPyIgXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIHswfSI6Wj09InRlIj8iIFx1MGMyZVx1MGMzMFx1MGMzZlx1MGMyZlx1MGM0MSB7MH0iOlo9PSJ0aCI/IiBcdTBlNDFcdTBlMjVcdTBlMzB7MH0iOlo9PSJ0ciI/IiB2ZSB7MH0iOlo9PSJ1ciI/Ilx1MDYwYyBcdTA2MjdcdTA2NDhcdTA2MzEgezB9IjoKWj09InV6Ij8iIHZhIHswfSI6Wj09InZpIj8iIHZcdTAwZTAgezB9IjpaPT0iemgtSEsiPyJcdTUzY2F7MH0iOlo9PSJ6dSI/IiwgbmUtezB9IjpaPT0iYWYifHxaPT0ibmwiPyIgZW4gezB9IjpaPT0iYXIifHxaPT0iYXItWEIiPyIgXHUwNjQ4ezB9IjpaPT0iYmUifHxaPT0idWsiPyIgXHUwNDU2IHswfSI6Wj09ImVuLUdCInx8Wj09ImVuLUlOIj8iIGFuZCB7MH0iOlo9PSJlbiJ8fFo9PSJlbi1YQSI/IiwgYW5kIHswfSI6Wj09ImV0Inx8Wj09ImZpIj8iIGphIHswfSI6Wj09ImZyInx8Wj09ImZyLUNBIj8iIGV0IHswfSI6Wj09InpoLUNOInx8Wj09InpoLVRXIj8iXHU1NDhjezB9IjpaPT0iZGEifHxaPT0iaXMifHxaPT0ibm8iPyIgb2cgezB9IjpaPT0iZXMifHxaPT0iZXMtNDE5Inx8Wj09ImVzLVVTIj8iIHkgezB9IjpaPT0iYmcifHxaPT0ibWsifHxaPT0icnUifHxaPT0ic3IiPyIgXHUwNDM4IHswfSI6Wj09ImdsInx8Wj09Iml0Inx8Wj09InB0LUJSInx8Wj09InB0LVBUIj8iIGUgezB9IjoKWj09ImtrInx8Wj09ImxvInx8Wj09Im1sInx8Wj09Im1uIj8iLCB7MH0iOiIgaSB7MH0iO2w9Wj09ImFtIj8iezB9IFx1MTJhNVx1MTI5MyB7MX0iOlo9PSJhcyI/InswfSBcdTA5ODZcdTA5ZjBcdTA5YzEgezF9IjpaPT0iYXoiPyJ7MH0gdlx1MDI1OSB7MX0iOlo9PSJibiI/InswfSBcdTA5OGZcdTA5YWNcdTA5ODIgezF9IjpaPT0iZGUiPyJ7MH0gdW5kIHsxfSI6Wj09ImVsIj8iezB9IFx1MDNiYVx1MDNiMVx1MDNiOSB7MX0iOlo9PSJldSI/InswfSBldGEgezF9IjpaPT0iZmEiPyJ7MH0gXHUwNjQ4IHsxfSI6Wj09ImZpbCI/InswfSBhdCB7MX0iOlo9PSJndSI/InswfSBcdTBhODVcdTBhYThcdTBhYzcgezF9IjpaPT0iaGkiPyJ7MH0gXHUwOTE0XHUwOTMwIHsxfSI6Wj09Imh1Ij8iezB9IFx1MDBlOXMgezF9IjpaPT0iaHkiPyJ7MH0gXHUwNTg3IHsxfSI6Wj09Iml3Ij8iezB9IFx1MDVkNS17MX0iOlo9PSJqYSI/InswfVx1MzAwMXsxfSI6Wj09ImthIj8iezB9IFx1MTBkM1x1MTBkMCB7MX0iOgpaPT0ia2siPyJ7MH0gXHUwNDM2XHUwNGQ5XHUwNDNkXHUwNDM1IHsxfSI6Wj09ImttIj8iezB9IFx1MTc5M1x1MTdiN1x1MTc4NFx1MjAwYnsxfSI6Wj09ImtuIj8iezB9IFx1MGNhZVx1MGNhNFx1MGNjZFx1MGNhNFx1MGNjMSB7MX0iOlo9PSJrbyI/InswfSBcdWJjMGYgezF9IjpaPT0ia3kiPyJ7MH0gXHUwNDM2XHUwNDMwXHUwNDNkXHUwNDMwIHsxfSI6Wj09ImxvIj8iezB9IFx1MGVjMVx1MGVhNVx1MGViMCB7MX0iOlo9PSJsdCI/InswfSBpciB7MX0iOlo9PSJsdiI/InswfSB1biB7MX0iOlo9PSJtciI/InswfSBcdTA5MDZcdTA5MjNcdTA5M2YgezF9IjpaPT0ibXkiPyJ7MH1cdTEwMTRcdTEwM2VcdTEwMDRcdTEwMzdcdTEwM2EgezF9IjpaPT0ibmUiPyJ7MH0gXHUwOTMwIHsxfSI6Wj09Im9yIj8iezB9IFx1MGIxMyB7MX0iOlo9PSJwYSI/InswfSBcdTBhMDVcdTBhMjRcdTBhNDcgezF9IjpaPT0icm8iPyJ7MH0gXHUwMjE5aSB7MX0iOlo9PSJzaSI/InswfSBcdTBkYzNcdTBkYzQgezF9IjoKWj09InNsIj8iezB9IGluIHsxfSI6Wj09InNxIj8iezB9IGRoZSB7MX0iOlo9PSJzdiI/InswfSBvY2ggezF9IjpaPT0ic3ciPyJ7MH0gbmEgezF9IjpaPT0idGEiPyJ7MH0gXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIHsxfSI6Wj09InRlIj8iezB9IFx1MGMyZVx1MGMzMFx1MGMzZlx1MGMyZlx1MGM0MSB7MX0iOlo9PSJ0aCI/InswfVx1MGU0MVx1MGUyNVx1MGUzMHsxfSI6Wj09InRyIj8iezB9IHZlIHsxfSI6Wj09InVyIj8iezB9IFx1MDYyN1x1MDY0OFx1MDYzMSB7MX0iOlo9PSJ1eiI/InswfSB2YSB7MX0iOlo9PSJ2aSI/InswfSB2XHUwMGUwIHsxfSI6Wj09InpoLUhLIj8iezB9XHU1M2NhezF9IjpaPT0ienUiPyJ7MH0gbmUtezF9IjpaPT0iYWYifHxaPT0ibmwiPyJ7MH0gZW4gezF9IjpaPT0iYXIifHxaPT0iYXItWEIiPyJ7MH0gXHUwNjQ4ezF9IjpaPT0iYmUifHxaPT0idWsiPyJ7MH0gXHUwNDU2IHsxfSI6Wj09ImNzInx8Wj09InNrIj8iezB9IGFcdTAwYTB7MX0iOgpaPT0iZXQifHxaPT0iZmkiPyJ7MH0gamEgezF9IjpaPT0iZnIifHxaPT0iZnItQ0EiPyJ7MH0gZXQgezF9IjpaPT0iaWQifHxaPT0ibXMiPyJ7MH0gZGFuIHsxfSI6Wj09Im1sInx8Wj09Im1uIj8iezB9LCB7MX0iOlo9PSJ6aC1DTiJ8fFo9PSJ6aC1UVyI/InswfVx1NTQ4Y3sxfSI6Wj09ImRhInx8Wj09ImlzInx8Wj09Im5vIj8iezB9IG9nIHsxfSI6Wj09ImVzInx8Wj09ImVzLTQxOSJ8fFo9PSJlcy1VUyI/InswfSB5IHsxfSI6Wj09ImJnInx8Wj09Im1rInx8Wj09InJ1Inx8Wj09InNyIj8iezB9IFx1MDQzOCB7MX0iOlo9PSJlbiJ8fFo9PSJlbi1HQiJ8fFo9PSJlbi1JTiJ8fFo9PSJlbi1YQSI/InswfSBhbmQgezF9IjpaPT0iZ2wifHxaPT0iaXQifHxaPT0icHQtQlIifHxaPT0icHQtUFQiPyJ7MH0gZSB7MX0iOiJ7MH0gaSB7MX0iO1o9PT0ic3EiPyhrPWsucmVwbGFjZSgiZGhlIiwiZSIpLGw9bC5yZXBsYWNlKCJkaGUiLCJlIikpOlo9PT0idGgiPyhkPWQucmVwbGFjZSgiezB9IiwKIiB7MH0iKSxsPWwucmVwbGFjZSgiezB9IiwiezB9ICIpLGw9bC5yZXBsYWNlKCJ7MX0iLCIgezF9IikpOlo9PT0ibmUiP2Q9IiwiOlo9PT0iemgtQ04iP2Q9IiI6Yy5pbmNsdWRlcyhaKSYmKGQ9IiAiKTtyZXR1cm4gYi5sZW5ndGg8Mj9iLmpvaW4oIiIpOiJhbSBhciBiZyBicyBjYSBjcyBkYSBlcyBlcy00MTkgZXMtVVMgZXUgZmEgZmkgZnItQ0EgZnIgZ2wgZ3UgaGkgaHIgaHUgaHkgaXMgaXQgbHQgbHYgbWsgbXkgbm8gbmwgcGwgcHQtQlIgcHQtUFQgcm8gc2kgc2wgc3Egc3ItTGF0biBzciBzdyB0aCB1ayIuc3BsaXQoIiAiKS5pbmNsdWRlcyhaKT9iLmxlbmd0aD09PTI/bC5yZXBsYWNlKCJ7MH0iLGJbMF0pLnJlcGxhY2UoInsxfSIsYlsxXSk6YS5yZXBsYWNlKCJ7MH0iLGJbMF0pK2Iuc2xpY2UoMSwtMSkuam9pbihkKStrLnJlcGxhY2UoInswfSIsYltiLmxlbmd0aC0xXSk6Yi5qb2luKGQpfTtPUj1mdW5jdGlvbigpe1FSfHwoQ1I9U2phLFFSPW5ldyBUamEpO3JldHVybiBRUn07ClVqYT1mdW5jdGlvbigpe0pRKCkoe3RxOiEwfSk7SlEoKSh7dHE6ITF9KX07V2phPWZ1bmN0aW9uKGEpe3ZhciBiPV8uV0QoKCk9PmEuZ2V0RGVidWdUZXh0KCEwKSk7YiYmXy55KCkucmVzb2x2ZShfLnlQKS5vcGVuRGlhbG9nKHtVbjooKT0+Xy5LKFZqYSx7ZnY6Yn0pfSl9O1JSPWZ1bmN0aW9uKGEsYil7aWYoYilhPWEuZ2V0VmlkZW9VcmwoKTtlbHNle2E9YS5nZXRQbGF5ZXJSZXNwb25zZSgpLnZpZGVvRGV0YWlscz8udmlkZW9JZDtpZighYSlyZXR1cm47YT1gaHR0cHM6Ly95b3V0dS5iZS8ke2F9YH1hJiZ3aW5kb3cubmF2aWdhdG9yPy5jbGlwYm9hcmQmJndpbmRvdy5uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChhKX07ClhqYT1mdW5jdGlvbihhLGIsYyxkKXtfLnlOKHtHYjooKT0+Xy5LKF8uSUIsbnVsbCxTUihhLGIpLF8uSyhfLk8se0E6KCk9PmQmJmMsdGhlbjooKT0+Xy5LKFRSLHtIOmEsdGE6Y30pfSksXy5LKFVSLHtIOmF9KSxfLksoVlIse0g6YX0pLF8uSyhXUix7SDphfSksXy5LKFlSLHtIOmF9KSxfLksoWlIse0g6YX0pLF8uSygkUix7SDphfSksXy5LKGFTLHtIOmF9KSxfLksoYlMse0g6YX0pKSxIYTohMH0pfTtTUj1mdW5jdGlvbihhLGIpe3JldHVybiBfLksoXy5PLHtBOigpPT5fLnRQKCksdGhlbjooKT0+Xy5LKF8uTlAsbnVsbCksVzooKT0+Xy5LKF8uTyx7QTooKT0+IWIsdGhlbjooKT0+Xy5LKGNTLHtIOmF9KX0pfSl9O2RTPWZ1bmN0aW9uKGEsYil7Xy55Tih7R2I6YixIYTohMH0pO2Euc3RvcFByb3BhZ2F0aW9uKCl9O2VTPWZ1bmN0aW9uKGEpe2E9YS5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7cmV0dXJuIGFbYS5sZW5ndGgtMV0+Mn07ZlM9ZnVuY3Rpb24oYSl7cmV0dXJue2J1dHRvblZpZXdNb2RlbDp7YWNjZXNzaWJpbGl0eVRleHQ6YX19fTsKZ1M9ZnVuY3Rpb24oYSxiKXtiPWE9PT0xMDA/WWphOmE9PT1iP1pqYTp2b2lkIDA7cmV0dXJue3ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWw6e3BsYXliYWNrU3BlZWRCdXR0b246e2J1dHRvblZpZXdNb2RlbDp7dGl0bGU6YCR7YS8xMDB9eGAsc3R5bGU6IkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX01PTk8iLHR5cGU6IkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVE9OQUwiLGJ1dHRvblNpemU6IkJVVFRPTl9WSUVXX01PREVMX1NJWkVfQ09NUEFDVCIsaWNvblRyYWlsaW5nOiEwfX0sYnV0dG9uTGFiZWw6e2NvbnRlbnQ6Yn0scGxheWJhY2tTcGVlZEJ1dHRvbkNlbnRpVmFsdWU6YX19fTsKZGthPWZ1bmN0aW9uKGEpe2lmKGE/LmlzUmVhZHk/LigpKXt2YXIgYj1hLmdldFBsYXliYWNrUmF0ZSgpO2lmKGIpe2hTfHwoaFM9Xy54TSgpKTt2YXIgYz1lUyhhKT8kamE6YWthO2lmKCFoUz8uZ2V0KCJyZWNlbnQtY3VzdG9tLXNwZWVkIil8fGIhPT0xKXJldHVybiBjLm1hcChlPT5nUyhlKSk7dmFyIGQ9TnVtYmVyKGhTLmdldCgicmVjZW50LWN1c3RvbS1zcGVlZCIpKTtpZihjLmluY2x1ZGVzKGQpKXJldHVybiBjLm1hcChlPT5nUyhlLGQpKTthPWVTKGEpP2JrYS5zbGljZSgpOmNrYS5zbGljZSgpO2EucHVzaChkKTthLnNvcnQoKGUsZik9PmUtZik7cmV0dXJuIGEubWFwKGU9PmdTKGUsZCkpfX19Owppa2E9ZnVuY3Rpb24oYSl7aWYoYT8uaXNSZWFkeT8uKCkpe3ZhciBiPWEuZ2V0UGxheWJhY2tSYXRlKCksYz1hLmdldEF2YWlsYWJsZVBsYXliYWNrUmF0ZXMoKTtpZihiJiZjKXt2YXIgZD1jW2MubGVuZ3RoLTFdKjEwMDtjPWNbMF0qMTAwO2I9e2hvcml6b250YWxTbGlkZXJWaWV3TW9kZWw6e21heFZhbHVlOmQsbWluVmFsdWU6Yyxpbml0aWFsVmFsdWU6YioxMDAsc3RlcENvdW50OihkLWMpLzUsdmFsdWVEZW5vbWluYXRvcjoxMDAsaW5jcmVhc2VCdXR0b246ZlMoZWthKSxkZWNyZWFzZUJ1dHRvbjpmUyhma2EpLHJlbmRlcmVyQ29udGV4dDp7YWNjZXNzaWJpbGl0eUNvbnRleHQ6e2xhYmVsOmdrYX19fX07YT1ka2EoYSk7cmV0dXJue3ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsOntzbGlkZXI6YixwbGF5YmFja1NwZWVkQnV0dG9uczphLGJhZGdlOntiYWRnZVZpZXdNb2RlbDp7YmFkZ2VUZXh0OiJQIixiYWRnZVN0eWxlOiJCQURHRV9QUkVNSVVNIixhY2Nlc3NpYmlsaXR5TGFiZWw6aGthfX19fX19fTsKaVM9ZnVuY3Rpb24oYSl7aFN8fChoUz1fLnhNKCkpO2hTJiZoUy5zZXQoInJlY2VudC1jdXN0b20tc3BlZWQiLFN0cmluZyhhKjEwMCkpfTtra2E9ZnVuY3Rpb24oYSl7dmFyIGI9aWthKGEpLGM9Xy5CKGIsamthKTtjJiZfLnlOKHtIYTohMCxwZjohMCxHYjooKT0+Xy5LKF8ua08se2RhdGE6YyxwejpkPT57YS5zZXRQbGF5YmFja1JhdGUoZC50YXJnZXQudmFsdWVBc051bWJlcil9LG96OmQ9PntpUyhkLnRhcmdldC52YWx1ZUFzTnVtYmVyKX0scXo6ZD0+e2Euc2V0UGxheWJhY2tSYXRlKGQpO2QhPT0xJiZpUyhkKTtfLnpOKCl9fSl9KX07alM9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9bGthW2FdKT9gJHthfXBgOm1rYX07a1M9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLldEKCgpPT5hLmdldFBsYXliYWNrUXVhbGl0eSgpKSxkPV8uV0QoKCk9PmEuZ2V0UHJlZmVycmVkUXVhbGl0eSgpKSxlPWpTKGIpO2I9PT0iYXV0byImJmQ9PT0iYXV0byImJihlKz1gICgke2pTKGMpfSlgKTtyZXR1cm4gZX07Cm9rYT1mdW5jdGlvbihhKXtfLnlOKHtHYjooKT0+Xy5LKG5rYSx7SDphfSksSGE6ITB9KX07cFM9ZnVuY3Rpb24oYSxiLGMsZCxlKXtkUyhhLCgpPT5fLksoXy5JQixudWxsLF8uSyhsUyx7SDpifSksXy5LKG1TLHtIOmJ9KSxfLksocGthLHtIOmJ9KSxfLksoXy5PLHtBOigpPT5iLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk/Lmxlbmd0aCx0aGVuOigpPT5fLksoblMse0g6Yn0pfSksXy5LKG9TLHtIOmIsb2g6Yyx0YTpkLHRBOmV9KSkpfTtxa2E9ZnVuY3Rpb24oYSxiLGMpe2RTKGEsKCk9Pl8uSyhfLklCLG51bGwsU1IoYixjKSkpfTsKcmthPWZ1bmN0aW9uKGEpe18ublAoKTtpZihhLnhjKWlmKGEuY2FwdGlvbnNFbmFibGVkKXFTKF8uJE4uU3MpO2Vsc2V7dmFyIGI9YS5IO2lmKGIpe2lmKGE9UFEoYiksYj1OUShiKSliOntpZihiLnRyYW5zbGF0aW9uTGFuZ3VhZ2UmJihhPWIudHJhbnNsYXRpb25MYW5ndWFnZT9iLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8IiI6IiIpKWJyZWFrIGI7YT1iLmRpc3BsYXlOYW1lfX1lbHNlIGE9IiI7cVMoYT9fLiROLlVzLnJlcGxhY2UoImxhbmd1YWdlX3BsYWNlaG9sZGVyIixhKTpfLiROLlRzKX1lbHNlIHFTKF8uJE4uUnMpfTtxUz1mdW5jdGlvbihhKXtfLnBQKCgpPT5hKX07c2thPWZ1bmN0aW9uKGEsYil7dmFyIGM9clMoYSk7YT1hLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKTthPXsuLi5zUyhhKSxFZTohMH07cmV0dXJue3RhOmMsYmE6YSxUYzpkb2N1bWVudC5ib2R5LEdjOmJ9fTsKdGthPWZ1bmN0aW9uKGEsYil7dmFyIGM9amphKCksZD17Li4uclMoYSksU2o6Zj0+e3ZhciBoPSF0UygpLGs9YS5pc1JlYWR5Py4oKSYmISFhLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmF1dG9wbGF5O3BTKGYsYSxoLGQsayl9LGRlOigpPT57dmFyIGY9Yz8uZ2V0KCJhdXRvbmF2X2VuYWJsZWQiKTtyZXR1cm4gZj09PXZvaWQgMHx8Zj09PSJ0cnVlIn0sUmo6KGYsaCk9PntoJiZjPy5zZXQoImF1dG9uYXZfZW5hYmxlZCIsU3RyaW5nKGYpKX0sVWw6KCk9PmM/LmdldCgiYXV0b25hdl9lbmFibGVkIikhPT12b2lkIDB9LGU9YS5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7ZT17Li4uc1MoZSksdnY6MzUwLHp2OiEwLE1sOjRFMyxoaWRlVmlkZW9JbmZvOmUuaGlkZUluZm99O3JldHVybnt0YTpkLGJhOmUsVGM6ZG9jdW1lbnQuYm9keSxHYzpifX07CnJTPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpLGM9Z2phLGQ9VFEsZT1TUTtpZihiPy5lbWJlZHNIb3N0RmxhZ3M/LmFsbG93U2V0RmF1eEZ1bGxzY3JlZW4mJmI/LmV4dGVybmFsRnVsbHNjcmVlbil7bGV0IGY9bmV3IHVrYShhKTtjPSgpPT5mLmlzRnVsbHNjcmVlbigpO2Q9KCk9PntmLnRvZ2dsZUZ1bGxzY3JlZW4oKX07ZT0oKT0+e2YuZXhpdEZ1bGxzY3JlZW4oKX19cmV0dXJue1NqOmY9Pnt2YXIgaD0hdFMoKTthPy5nZXRTaXplKCk/LndpZHRoPDMyMD9xa2EoZixhLGgpOnBTKGYsYSxoKX0scUE6cmthLGlzRnVsbHNjcmVlbjpjLHRvZ2dsZUZ1bGxzY3JlZW46ZCxleGl0RnVsbHNjcmVlbjplLGRlOigpPT4hMSxSajooKT0+e30sVWw6KCk9PiExfX07CnNTPWZ1bmN0aW9uKGEpe3JldHVybntFZTohMCxNaTohMCxNbDpfLngoImVtYmVkc19lbmFibGVfZGVsYXlfY29udHJvbHNfaGlkZSIpPzRFMzp2b2lkIDAsaXE6YS5kaXNhYmxlRnVsbHNjcmVlbixuaDphLmNvbnRyb2xzVHlwZT09PTAsb2g6IXRTKCksaGlkZVZpZGVvSW5mbzphLmhpZGVJbmZvJiZhLmVtYmVkc0hvc3RGbGFncz8ub3B0T3V0QXBpRGVwcmVjYXRpb24sdWo6ITAsRHo6IV8ueCgiZW1iZWRzX2VtYzNkc19wcmVzZXJ2ZV9mdWxsc2NyZWVuX2tzIiksenI6ITAsckE6ITAsWmg6ITAsdm46ITAsWkE6IV8ueCgiZW1iZWRzX2VtYzNkc19mdGxfa3MiKSx2b2x1bWVDb250cm9sVHlwZTpfLngoImVtYmVkc19kZXNrdG9wX2VuYWJsZV92b2x1bWVfc2xpZGVyIikmJndpbmRvdy5tYXRjaE1lZGlhKCIoYW55LXBvaW50ZXI6IGZpbmUpIikubWF0Y2hlcz8idm9sdW1lLXNsaWRlciI6Im11dGUtYnV0dG9uIn19Owp0Uz1mdW5jdGlvbigpe3JldHVybiBfLnRQKCl8fF8ucXooKSYmIV8udygiUExBWUVSX1ZBUlMiKT8ucHJpdmVtYmVkJiYhKF8uZXImJl8uTWsoInZlcnNpb24vIikpJiYhXy5yeigpfTt1Uz1mdW5jdGlvbihhKXtyZXR1cm4gYS5wbGF5ZXJTdGF0ZT09PTB9O3dTPWZ1bmN0aW9uKGEpe3JldHVybiBhLnZpZGVvRHVyYXRpb24/dlMoYSk/RFEoYS5DYS9hLnZpZGVvRHVyYXRpb24sMCwxKTpEUSgoYS52YXx8MCkvYS52aWRlb0R1cmF0aW9uLDAsMSk6MH07eFM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEudmlkZW9EdXJhdGlvbj9hLmlzRHJhZ2dpbmd8fHZTKGEpP0RRKGEuQ2EvYS52aWRlb0R1cmF0aW9uLDAsMSk6RFEoKGEudmF8fDApL2EudmlkZW9EdXJhdGlvbiwwLDEpOjB9O3ZTPWZ1bmN0aW9uKGEpe3JldHVybiBhLktiPjEmJmEuSmQhPT0wfTsKeVM9ZnVuY3Rpb24oYSl7cmV0dXJuKF8ueCgid2ViX2VuYWJsZV9kaWJzX2ltcGxlbWVudGF0aW9uIil8fF8ueCgibXdlYl9lbmFibGVfZGlic19pbXBsZW1lbnRhdGlvbiIpKSYmYS5IPy5nZXRWaWRlb0RhdGEoYS5wbGF5ZXJUeXBlKT8uaXNTZWVrYWJsZXx8YS5wbGF5ZXJUeXBlPT09MT8hMTphLmJhPy5aaD8hYS5IPy5nZXRQbGF5ZXJTdGF0ZU9iamVjdChhLnBsYXllclR5cGUpLmlzRG9tUGF1c2VkOiEwfTt6Uz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKGE/LmF1dG9uYXZUb2dnbGUsdmthKX07QVM9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/LmNvbnRlbnRzPy5zaW5nbGVDb2x1bW5XYXRjaE5leHRSZXN1bHRzPy5hdXRvcGxheT8uYXV0b3BsYXl9O0JTPWZ1bmN0aW9uKGEpe3JldHVybiBhPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheT8ucGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXJ9OwpFUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKENTKGEpPy5wbGF5ZXJCYXIsRFMpfTtGUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKGE/Lm1hcmtlcnNNYXA/LmZpbmQoYj0+Yi5rZXk9PT0iSEVBVFNFRUtFUiIpPy52YWx1ZT8uaGVhdG1hcCx3a2EpfTtDUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKGE/LmRlY29yYXRlZFBsYXllckJhclJlbmRlcmVyLHhrYSl9O0dTPWZ1bmN0aW9uKGEpe3JldHVybiBfLkIoQ1MoYSk/LnBsYXloZWFkLHlrYSl9O3prYT1mdW5jdGlvbihhKXtyZXR1cm4hIWE/Lm1hcmtlcnNNYXA/LmZpbmQoYj0+WyJERVNDUklQVElPTl9DSEFQVEVSUyIsIkFVVE9fQ0hBUFRFUlMiXS5pbmNsdWRlcyhiLmtleSkpfTtKUz1mdW5jdGlvbihhLGIpe3JldHVybiBIUyhhLGIpfHxJUyhhKT8hMTohYS5pc0RyYWdnaW5nJiYhdlMoYSkmJiFhLnNiJiZhLkxmIT09Im9uIn07CkhTPWZ1bmN0aW9uKGEsYil7cmV0dXJuIWEuYXV0b25hdkVuYWJsZWR8fGEueGZ8fCFifHxhLnJjfHxhLmlzUGxheWxpc3QmJmI/LnNldHM/LlswXS5hdXRvcGxheVZpZGVvPyExOnVTKGEpfTtDa2E9ZnVuY3Rpb24oYSxiKXtiPWI/LmFjdGlvbkJhckJ1dHRvbnM7cmV0dXJuIF8uQihfLkIoYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZnVsbHNjcmVlbkVuZ2FnZW1lbnQsQWthKT8uYWN0aW9uQmFyLEJrYSk/LmFjdGlvbkJhckJ1dHRvbnN8fGJ8fFtdfTtMUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKF8uQihhPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5mdWxsc2NyZWVuUXVpY2tBY3Rpb25zQmFyLEtTKT8uZnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50LERrYSl9OwpNUz1mdW5jdGlvbihhKXtyZXR1cm4gYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZW5kU2NyZWVuPy53YXRjaE5leHRFbmRTY3JlZW5SZW5kZXJlcj8ucmVzdWx0c3x8W119O05TPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE/YS52aWRlb0RldGFpbHM/LmVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyOl8uQihiPy52aWRlb0RldGFpbHMsRWthKX07UFM9ZnVuY3Rpb24oYSxiKXtiPV8uQihiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcj8uaW5mb1BhbmVsLE9TKTtyZXR1cm4gXy5CKGE/LmluZm9QYW5lbCxPUyl8fGJ9O0lTPWZ1bmN0aW9uKGEpe3JldHVybiBhLk5hPyEwOmEuSmYhPT0wfTsKRmthPWZ1bmN0aW9uKHtlbGVtZW50OmEsdmVUeXBlOmIsTEE6Yz1udWxsLGVsZW1lbnRJbmRleDpkPTAsY2xpZW50WW91VHViZURhdGE6ZX0pe3ZhciBmPV8uaXEoKTtmIT09UVMmJihSUy5jbGVhcigpLFFTPWYpO2lmKGEudmlzdWFsRWxlbWVudCYmUlMuaGFzKGEudmlzdWFsRWxlbWVudCkpcmV0dXJuIG51bGw7aWYoYyYmUlMuaGFzKGMpKXJldHVybiBhLnZpc3VhbEVsZW1lbnQ9YyxudWxsO2I9Xy5FeChfLmh4KCkse3ZlVHlwZTpiLGVsZW1lbnRJbmRleDpkLGNsaWVudFlvdVR1YmVEYXRhOmV9KTtpZighYilyZXR1cm4gbnVsbDthLnZpc3VhbEVsZW1lbnQ9YjtSUy5hZGQoYik7cmV0dXJuIGJ9OwpTUz1mdW5jdGlvbihhLGIsYz1udWxsLGQ9Xy5OTixlPW51bGwsZixoKXt2YXIgaz0oKT0+e2lmKGIpe2MgaW5zdGFuY2VvZiBGdW5jdGlvbiYmKGM9YygpKTt2YXIgbD1Ga2Eoe2VsZW1lbnQ6Yix2ZVR5cGU6YSxMQTpjLGNsaWVudFlvdVR1YmVEYXRhOmZ9KTtsJiYoXy5KeChiLHtkYXRhOmUsb2JzZXJ2ZXI6Xy55KCkucmVzb2x2ZShfLkx4KSxOYzpfLm5GLGViOl8ubUYsbGF5ZXI6Yi5sYXllcn0pLGQobCkpfX07aD9rKCk6Xy5PRSgoKT0+e2soKX0pfTtHa2E9ZnVuY3Rpb24oYSl7U1MoMTEyMzk0LGEsKCk9PlRTLGI9PntUUz1ifSl9OwpVUz1mdW5jdGlvbihhKXt2YXIgYj1UUyxjPV8uaXEoMCk7aWYoYyYmYil7dmFyIGQ9TWF0aC5yb3VuZChhLnZhKjFFMyk7YT1NYXRoLnJvdW5kKGEuQ2EqMUUzKTtkPjIqKjMxLTF8fGE+MioqMzEtMXx8Xy5WaShfLmV4KSh2b2lkIDAsYyxiLCJJTlRFUkFDVElPTl9MT0dHSU5HX0dFU1RVUkVfVFlQRV9HRU5FUklDX0NMSUNLIix7c2Vla0RhdGE6e3N0YXJ0TWVkaWFUaW1lTXM6U3RyaW5nKGQpLGVuZE1lZGlhVGltZU1zOlN0cmluZyhhKSxzZWVrU291cmNlOiJTRUVLX1NPVVJDRV9TTElERV9PTl9TQ1JVQkJFUl9CQVIifX0sdm9pZCAwKX19O1dTPWZ1bmN0aW9uKGEsYixjKXtTUyhiLGEsKCk9PlZTW2JdLGQ9PntWU1tiXT1kO18uSk8oZCl9LHZvaWQgMCx2b2lkIDAsYyl9O1hTPWZ1bmN0aW9uKGEpeyhhPVZTW2FdKSYmXy53SihfLmh4KCksYSl9O0hrYT1mdW5jdGlvbihhKXt2YXIgYj1fLlZ3KDApLGM9Xy5pcSgwKTtjJiZiJiZhJiZfLlZpKF8uYngpKHZvaWQgMCxjLGIsYSl9OwpZUz1mdW5jdGlvbihhKXt2YXIgYj1fLmlxKDApO2ImJmEmJl8ueUooYixhKX07WlM9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5pcSgwKTtiJiZhJiZfLlZpKF8uQU8pKHZvaWQgMCxiLGEsdm9pZCAwLHZvaWQgMCx2b2lkIDApfTskUz1mdW5jdGlvbihhLGIpe2lmKCFhLmJhPy5aaHx8IWEuSClyZXR1cm4hMTthPWEuSC5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO3JldHVybiBhLmlzRXJyb3J8fGImJiFNUihiKT8hMTphLmlzQ3VlZHx8YS5pc0RvbVBhdXNlZH07Y1Q9ZnVuY3Rpb24oYSxiKXthVCYmIWI/LkljfHxhLnBsYXllclN0YXRlPT09Mnx8YS5wbGF5ZXJTdGF0ZT09PS0xfHx1UyhhKXx8YS5wbGF5ZXJTdGF0ZT09PTV8fChiPy5JYyYmYlQoKSxhVD1zZXRUaW1lb3V0KCgpPT57YS5TKHtlYTohMX0pfSxhLmJhPy5NbD8/MkUzKSl9O2JUPWZ1bmN0aW9uKCl7YVQmJihjbGVhclRpbWVvdXQoYVQpLGFUPXZvaWQgMCl9O0lrYT1mdW5jdGlvbihhKXthVD1hfTsKZFQ9ZnVuY3Rpb24oYSl7cmV0dXJue2lzTGl2ZTohMSxpc0xpdmVEdnJFbmFibGVkOiEwLGlzUGxheWxpc3Q6ITEscGxheWVyVHlwZToxLHlxOiExLHZpZGVvSWQ6dm9pZCAwLGNhcHRpb25zRW5hYmxlZDohMSx4YzohMSx2b2x1bWU6MCxyYzohMCxKZjowLFJ4OiExLHNiOiExLFdkOiExLE5hOiExLGlzRnVsbHNjcmVlbjohMSxLYjowLHloOjAsSmQ6MCx4ZjohMSxhdXRvbmF2RW5hYmxlZDohMSx6ZjohMSx5ZjowLFloOiExLGlzRHJhZ2dpbmc6ITEsQ2E6MCxRYzohMSxkajowLFFtOjAscGxheWVyU3RhdGU6YT8uZ2V0UGxheWVyU3RhdGUoKT8/LTEsdmlkZW9EdXJhdGlvbjowLHZhOjAsT246ITEsamU6dm9pZCAwLHBsYXliYWNrUmF0ZToxLGVhOiExLHliOiExLGdlOiExLExmOiJvZmYiLFpyOjAsTHA6MCxZdjowfX07SmthPWZ1bmN0aW9uKGEpe2FUJiZiVCgpO0lrYShzZXRUaW1lb3V0KCgpPT57YS5TKHtlYTohMSx5YjohMX0pfSwyRTMpKX07CktrYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIuSD8uZ2V0UGxheWVyU3RhdGUoKTshY3x8Yz09PWIucGxheWVyU3RhdGV8fGMhPT0xJiZjIT09Mnx8KGMmJihjPT09Mj9iLmVhPyhiLlMoe3liOiExfSksYlQoKSk6Yi5TKHtlYTohMCx5YjohMX0pOmM9PT0xJiZiLmVhJiYhYi5pc0RyYWdnaW5nJiYoYi55Yj9Ka2EoYik6Yi5TKHtlYTohMSx5YjohMX0pKSksYi5TKHtwbGF5ZXJTdGF0ZTpjfSkpfX07TGthPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9YSgpLGQ9Yy5ILGU9ZD8uZ2V0VmlkZW9EYXRhKCkudmlkZW9faWQ7ZSE9PWMudmlkZW9JZCYmYj8udHlwZT09PSJuZXdkYXRhIiYmKGI9ZD8uZ2V0RHVyYXRpb24oYj8ucGxheWVydHlwZSksYlQoKSxjLlMoe3ZpZGVvRHVyYXRpb246Yix2YTowLHZpZGVvSWQ6ZSxlYTohMSx5YjohMX0pKX19OwpNa2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1hKCksZD1jLkg7aWYoZCl7dmFyIGU9ZC5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpO18ueCgid2ViX3Nob3J0c191c2VfcHJvZ3Jlc3Nfc3RhdGVfZm9yX2dhcGxlc3MiKT8oZD1kLmdldFByb2dyZXNzU3RhdGUoZSksZD1kLnNlZWthYmxlRW5kLWQuc2Vla2FibGVTdGFydCk6ZD1kLmdldER1cmF0aW9uKGUpO2MuUyh7dmE6Yix2aWRlb0R1cmF0aW9uOmR9KX19fTtnVD1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybltdO2E9YS5tYXJrZXJzTWFwPy5maW5kKGM9PlsiREVTQ1JJUFRJT05fQ0hBUFRFUlMiLCJBVVRPX0NIQVBURVJTIl0uaW5jbHVkZXMoYy5rZXkpKT8udmFsdWU/LmNoYXB0ZXJzfHxbXTsoYS5sZW5ndGg9PT0wPzA6Xy5CKGFbMF0sZVQpPy50aW1lUmFuZ2VTdGFydE1pbGxpcyE9PTApJiYhYj8ubngmJihhPVtmVCgpLC4uLmFdKTtyZXR1cm4gYX07ZlQ9ZnVuY3Rpb24oKXtyZXR1cm57Y2hhcHRlclJlbmRlcmVyOnt0aW1lUmFuZ2VTdGFydE1pbGxpczowfX19OwpoVD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLnRpbWVSYW5nZVN0YXJ0TWlsbGlzfHwwOjB9O2tUPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGdUKGIpLmZpbmQoKGMsZCxlKT0+aVQoalQoYSksZSxkKS5MZD09PSJhY3RpdmUiKX07bFQ9ZnVuY3Rpb24oYSxiKXtpZihhLmlzRHJhZ2dpbmcmJmIpcmV0dXJuIGE9TmthKGEsYiksYT09PS0xP2ZUKCk6Z1QoYilbYV19O05rYT1mdW5jdGlvbihhLGIpe3JldHVybiBhLmlzRHJhZ2dpbmcmJmI/Z1QoYix7bng6ITB9KS5maW5kSW5kZXgoKGMsZCxlKT0+aVQoalQoYSksZSxkKS5CZyk6LTF9O21UPWZ1bmN0aW9uKGEpe2E9Xy5CKGEsZVQpO2E/Lm9uQWN0aXZlQ29tbWFuZCYmXy5hRShhLm9uQWN0aXZlQ29tbWFuZCl9O2pUPWZ1bmN0aW9uKGEpe3JldHVybnsuLi5hLHZpZGVvRHVyYXRpb246YS52aWRlb0R1cmF0aW9uKjFFMyx2YTphLnZhKjFFMyxDYTphLkNhKjFFM319OwppVD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aFQoXy5CKGJbY10sZVQpKTtiPWhUKF8uQihiW2MrMV0sZVQpKXx8YS52aWRlb0R1cmF0aW9uO2M9YS5pc0RyYWdnaW5nO3ZhciBlO2lmKGU9YS5pc0RyYWdnaW5nKWU9YS5DYSxlPWUhPT1udWxsJiZlPj1kJiZlPGI7dmFyIGY9YS52YTtyZXR1cm4gZiE9PW51bGwmJmY+PWQmJmY8Yj97TGQ6ImFjdGl2ZSIsYm06YyxCZzplfTphLnZhPGQ/e0xkOiJwZW5kaW5nIixibTpjLEJnOmV9OntMZDoic2VlbiIsYm06YyxCZzplfX07blQ9ZnVuY3Rpb24oYSxiLGMpe2lmKGlUKGEsYixjKS5MZCE9PSJhY3RpdmUiKXJldHVybiAwO3ZhciBkPWhUKF8uQihiW2NdLGVUKSk7cmV0dXJuKGEudmEtZCkvKChoVChfLkIoYltjKzFdLGVUKSl8fGEudmlkZW9EdXJhdGlvbiktZCl9O29UPWZ1bmN0aW9uKGEsYj0wKXtyZXR1cm4gYS5MZD09PSJzZWVuInx8Yj4wfTsKcFQ9ZnVuY3Rpb24oYSxiLGMpe2I9YS9iLlpyO2M9Z1QoYyk7aWYoIWMubGVuZ3RoKXJldHVybi1iKjcyO3ZhciBkPTA7Zm9yKGxldCBlIG9mIGMpaWYoaFQoXy5CKGUsZVQpKS8xRTM8YSlkKys7ZWxzZSBicmVhaztyZXR1cm4tKGIqNzIpLWQqNTZ9O09rYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7YS5CKCk7ZC5zdG9wUHJvcGFnYXRpb24oKTtkPXFUKGEsZSxkLmNsaWVudFgpKmUudmlkZW9EdXJhdGlvbjtlLlMoe3ZhOmR9KTtlLnBsYXllclN0YXRlPT09Mnx8Zi5Gbj8uKCk7YS5ELnYoZCxlLDcpfX07clQ9ZnVuY3Rpb24oYSl7YT1hLnRvdWNoZXNbMF07cmV0dXJue3g6YS5jbGllbnRYLHk6YS5jbGllbnRZfX07UGthPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1yVChjKSxlPWIoKTthLnN0YXJ0UG9zaXRpb258fChhLnN0YXJ0UG9zaXRpb249ZCxhLkIoKSxhLmo9ZS5lYSxjLnN0b3BQcm9wYWdhdGlvbigpKX19OwpRa2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPXt4OmMuY2xpZW50WCx5OmMuY2xpZW50WX0sZT1iKCk7YS5zdGFydFBvc2l0aW9ufHwoYS5zdGFydFBvc2l0aW9uPWQsYS5CKCksYS5qPWUuZWEsYy5zdG9wUHJvcGFnYXRpb24oKSl9fTsKdFQ9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2Euc3RhcnRQb3NpdGlvbiYmKGYmJmUuaWomJmEuc3RhcnRQb3NpdGlvbiYmIWEubyYmTWF0aC5hYnMoYy55LWEuc3RhcnRQb3NpdGlvbi55KT5NYXRoLmFicyhjLngtYS5zdGFydFBvc2l0aW9uLngpP3NUKGEsZCxlKTooYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCksZC52aWRlb0R1cmF0aW9uJiYoYS5zdGFydFBvc2l0aW9uJiYhYS5vJiYoYS5vPU1hdGguYWJzKGMueC1hLnN0YXJ0UG9zaXRpb24ueCk+PTEpLGUuS2YmJihhLnN0YXJ0UG9zaXRpb24mJihhLnY9LShjLnktYS5zdGFydFBvc2l0aW9uLnkpPj02MCksIWEuc3RhcnRQb3NpdGlvbnx8Yy55Pj1hLnN0YXJ0UG9zaXRpb24ueXx8KGQuUyh7TGY6ImRyYWdnaW5nIixMcDpwVChkLkNhLGQsZS5SYSl9KSxhLlUoZC5DYSksYS5aKGEuc3RhcnRQb3NpdGlvbi55LGMueSxkKSkpLGEubyYmKGI9cVQoYSxkLGMueCksYS52JiYoZC5IPy5wYXVzZVZpZGVvKCksZC5TKHtMZjoib24iLApZdjpkLkNhLExwOnBUKGIqZC52aWRlb0R1cmF0aW9uLGQsZS5SYSl9KSksZS5LZiYmKCFlLktmfHxhLksoZCk8NjgpfHwoZC5pc0RyYWdnaW5nfHxkLnRhLmt6Py4oKSxkLlMoe0NhOmIqZC52aWRlb0R1cmF0aW9uLGVhOiEwLGlzRHJhZ2dpbmc6ITAseWI6YS5qfSkpLGUuWW8/LigpKSkpKX07UmthPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e3ZhciBlPWIoKSxmPWMoKTt0VChhLGQsclQoZCksZSxmLCEwKTtpZihmLm9uVG91Y2hNb3ZlKWYub25Ub3VjaE1vdmUoZSl9fTt2VD1mdW5jdGlvbihhLGIsYyxkKXtpZihiLmJ1dHRvbnMhPT0xKXtpZihiLm1vdmVtZW50WHx8Yi5tb3ZlbWVudFkpYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCksYT1xVChhLGMsYi5jbGllbnRYKSxjLlFjfHxjLnRhLmt6Py4oKSxjLlMoe1FjOiEwLGRqOmEqYy52aWRlb0R1cmF0aW9ufSl9ZWxzZSB1VChjKSx0VChhLGIse3g6Yi5jbGllbnRYLHk6Yi5jbGllbnRZfSxjLGQsITEpfTsKU2thPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e3ZUKGEsZCxiKCksYygpKX19O1RrYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKTt1VChiKX19O3NUPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWMuS2YmJmIuTGYhPT0ib2ZmIjtiLmlzRHJhZ2dpbmd8fGU/KGQ9e2lzRHJhZ2dpbmc6ITEsdmE6Yi5DYSxlYTphLmp9LGMuS2YmJmIuTGYhPT0ib24iJiYoYS5NKCksZC5MZj0ib2ZmIiksVVMoYiksYi5TKGQpLGEuRC52KGIuQ2EsYiw3KSxjLkluJiZiLnJjJiZiLkg/LnVuTXV0ZSgpLHdUKGEpKTooXy54KCJtYXdwY190b3VjaF9lbmRfaGFuZGxlcl9idWdfZml4X2tpbGxzd2l0Y2giKT9iLlMoe2VhOiFiLmVhfSk6Yi5TKHtlYTohMH0pLGMuRm4/LigpLHdUKGEpLF8ueCgibWF3cGNfdG91Y2hfZW5kX2hhbmRsZXJfYnVnX2ZpeF9raWxsc3dpdGNoIil8fGQ/LnN0b3BQcm9wYWdhdGlvbigpKX07ClVrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7c1QoYSxlLGYsZCk7aWYoZi5vblRvdWNoRW5kKWYub25Ub3VjaEVuZChlKX19O1ZrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7c1QoYSxlLGYsZCk7aWYoZi5vblRvdWNoRW5kKWYub25Ub3VjaEVuZChlKX19O1drYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9PntzVChhLGIoKSxjKCksZCl9fTtYa2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PntiLmtleUNvZGU9PT0zOXx8Yi5rZXlDb2RlPT09Mzg/YSgpPy5IPy5zZWVrQnkoNSx2b2lkIDAsdm9pZCAwLDcyKTooYi5rZXlDb2RlPT09Mzd8fGIua2V5Q29kZT09PTQwKSYmYSgpPy5IPy5zZWVrQnkoLTUsdm9pZCAwLHZvaWQgMCw3MSl9fTtZa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57IWMoKS5kaXNhYmxlU2NydWJiaW5nJiZhLnN0YXJ0UG9zaXRpb24mJnZUKGEsZCxiKCksYygpKX19Owp4VD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9PntpZighYygpLmRpc2FibGVTY3J1YmJpbmcpaWYoYS5zdGFydFBvc2l0aW9uKXt2YXIgZT1iKCksZj1jKCk7c1QoYSxiKCksYygpLGQpO2lmKGYub25Ub3VjaEVuZClmLm9uVG91Y2hFbmQoZSl9ZWxzZSBiKCkuUyh7aXNEcmFnZ2luZzohMX0pfX07dVQ9ZnVuY3Rpb24oYSl7YS5RYyYmYS5TKHtRYzohMSxkajowfSl9O3FUPWZ1bmN0aW9uKGEsYixjKXthPWEuSShiKTtyZXR1cm4gRFEoMCwoYy1hLmxlZnQpL2Eud2lkdGgsMSl9O3dUPWZ1bmN0aW9uKGEpe2Euc3RhcnRQb3NpdGlvbj1udWxsO2Eubz0hMTthLnY9ITE7YS5qPSExfTt5VD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLndpZHRoL2EuY29sdW1uczowfTt6VD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLmhlaWdodC9hLnJvd3M6MH07QVQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuUWM/YS5kajphLkNhfTsKQlQ9ZnVuY3Rpb24oYSxiKXthPWEuQ2EqMUUzO3JldHVybiBhPj1iLnZpc2libGVUaW1lUmFuZ2VTdGFydE1pbGxpcyYmYTw9Yi52aXNpYmxlVGltZVJhbmdlRW5kTWlsbGlzfTtDVD1mdW5jdGlvbihhKXtpZihhPT09dm9pZCAwfHxOdW1iZXIuaXNOYU4oYSkpcmV0dXJuIi0tOi0tIjt2YXIgYj1NYXRoLmFicyhNYXRoLmZsb29yKGEpKSxjPU1hdGguZmxvb3IoYi84NjQwMCksZD1NYXRoLmZsb29yKGIlODY0MDAvMzYwMCksZT1NYXRoLmZsb29yKGIlMzYwMC82MCk7Yj1NYXRoLmZsb29yKGIlNjApO3ZhciBmPSIiO2M+MCYmKGYrPWAke2N9OmAsZDwxMCYmKGYrPSIwIikpO2lmKGM+MHx8ZD4wKWYrPWAke2R9OmAsZTwxMCYmKGYrPSIwIik7Zis9YCR7ZX06YDtiPDEwJiYoZis9IjAiKTtmKz1iO3JldHVybiBhPj0wP2Y6YC0ke2Z9YH07CkRUPWZ1bmN0aW9uKGEsYil7cmV0dXJuKCk9Pnt2YXIgYz1BVChhKCkpO3ZhciBkPWIoKTt2YXIgZT1hKCkuSDtpZihlJiZlLmdldE51bWJlck9mU3Rvcnlib2FyZExldmVscygpIT09MCl7dmFyIGY9ZS5nZXRTdG9yeWJvYXJkRnJhbWVJbmRleChjLDEpO2YhPT0tMT9kPWUuZ2V0U3Rvcnlib2FyZEZyYW1lKGYsMSk6KGM9ZS5nZXRTdG9yeWJvYXJkRnJhbWVJbmRleChjLDApLGU9ZS5nZXRTdG9yeWJvYXJkRnJhbWUoYywwKSxkJiZlJiYoZS5oZWlnaHQqPTMsZS53aWR0aCo9MyksZD1lKX1lbHNlIGQ9bnVsbDtpZighZClyZXR1cm4gbnVsbDtiKCkmJihkLndpZHRoPTkwKmQuY29sdW1ucyxkLmhlaWdodD0xNjAqZC5yb3dzKTtyZXR1cm4gZH19Owoka2E9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGEuTmF8fGEuaXNMaXZlP2Q6Yj4xP0VUKGQpOnNldFRpbWVvdXQoKCk9PntjKCk7bmF2aWdhdG9yPy52aWJyYXRlJiZuYXZpZ2F0b3IudmlicmF0ZShaa2EpfSxfLnNqKCJzcGVlZG1hc3Rlcl90b3VjaF9hY3RpdmF0aW9uX21zIiw1MDApKX07RVQ9ZnVuY3Rpb24oYSl7YSE9PXZvaWQgMCYmY2xlYXJUaW1lb3V0KGEpfTsKSFQ9ZnVuY3Rpb24oYSxiKXthLk5hfHxhLmlzTGl2ZXx8KGI+MSYmRlQoYSksZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCJwcmV2ZW50LWhpZ2hsaWdodHMiKSxHVD1zZXRUaW1lb3V0KCgpPT57YS5IPy5wbGF5VmlkZW8oKTtiVCgpO2EuUyh7c2I6ITAsZWE6ITB9KTt2YXIgYz1fLnNqKCJzcGVlZG1hc3Rlcl9wbGF5YmFja19yYXRlIiwyKSxkPWEuSDtkPy5zZXRQbGF5YmFja1JhdGU/LihjKTtfLngoIm13ZWJfbG9uZ19wcmVzc19zcGVlZHVwX3ZpYnJhdGlvbiIpJiZkPy5nZXRQbGF5YmFja1JhdGUoKT09PWMmJm5hdmlnYXRvcj8udmlicmF0ZSYmbmF2aWdhdG9yLnZpYnJhdGUoYWxhKX0sXy5zaigic3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tcyIsNTAwKSkpfTsKSVQ9ZnVuY3Rpb24oYSxiLGMpe2Muc2ImJmEucHJldmVudERlZmF1bHQoKTthPWIubGs7Yj1iLk9kO01hdGguc3FydChhKmErYipiKT5fLnNqKCJzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHAiLDEwKSYmIWMuc2ImJkZUKGMpfTtGVD1mdW5jdGlvbihhKXtkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoInByZXZlbnQtaGlnaGxpZ2h0cyIpO0dUJiZjbGVhclRpbWVvdXQoR1QpO2Euc2ImJihhLlMoe3NiOiExLGVhOnVTKGEpfSksYT1hLkgsdHlwZW9mIGE/LnNldFBsYXliYWNrUmF0ZT09PSJmdW5jdGlvbiI/YS5zZXRQbGF5YmFja1JhdGUoMSk6Xy5XaShFcnJvcigiJGQiKSkpfTsKY2xhPWZ1bmN0aW9uKGEsYixjKXtpZihiJiZhKXt2YXIgZD1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGI9YmxhKGIsZC53aWR0aCxkLmhlaWdodCkpYz8uWkEmJihjPW5ldyBJbWFnZSxjLm9ubG9hZD0oKT0+e2lqYSgpfSxjLnNyYz1iLF8uSXooImZ0ciIpKSxhLnN0eWxlLmJhY2tncm91bmRJbWFnZT1gdXJsKCR7Yn0pYH19O2JsYT1mdW5jdGlvbihhLGIsYyl7aWYoKGE9YS50aHVtYm5haWxzKSYmYS5sZW5ndGghPT0wKXt2YXIgZD13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbz4xP3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjE7Yio9ZDtjKj1kO2lmKGI+NjQwfHxjPjQ4MClyZXR1cm4gYS5hdCgtMSkudXJsO2lmKGI+MzIwfHxjPjE4MCl7dmFyIGU7ZD1iPWM9dm9pZCAwO2ZvcihlIG9mIGEpIWQmJmUud2lkdGg+PTMyMD9kPWUudXJsOiFiJiZlLndpZHRoPj00ODA/Yj1lLnVybDohYyYmZS53aWR0aD49NjQwJiYoYz1lLnVybCk7aWYoZT1jfHxifHxkKXJldHVybiBlfXJldHVybiBhWzBdLnVybH19OwpKVD1mdW5jdGlvbihhKXsoYT1hPy5oZWFkZXI/LnBsYXlsaXN0SGVhZGVyUmVuZGVyZXIpPyhhPV8uQihhLmNpbmVtYXRpY0NvbnRhaW5lcixkbGEpPy5iYWNrZ3JvdW5kSW1hZ2VDb25maWc/LnRodW1ibmFpbD8udGh1bWJuYWlscyxhPWE/Lmxlbmd0aD9hW2EubGVuZ3RoLTFdLnVybDp2b2lkIDAsYT0hYSk6YT0hMTtyZXR1cm4gYX07S1Q9ZnVuY3Rpb24oYSl7YT1hfHxfLlhEPy5yZXNwb25zZT8ucmVzcG9uc2U7cmV0dXJuIGE/LmhlYWRlcj8ucGFnZUhlYWRlclJlbmRlcmVyfTtPVD1mdW5jdGlvbigpe3ZhciBhPV8uWEQ/LnJlc3BvbnNlPy5yZXNwb25zZTtyZXR1cm4hIUtUKCk/LnRpdGxlQW5pbWF0aW9ufHxKVChhKX07ClBUPWZ1bmN0aW9uKCl7dmFyIGE9Xy5YRD8ucmVzcG9uc2U/LnJlc3BvbnNlLGI9S1QoYSk7aWYoYilhPWIudG9wQmFyQW5pbWF0aW9uPyEwOiExO2Vsc2V7aWYoYj1YUSgpJiYhXy5WTSgpKWI9Xy5aYih3aW5kb3cubG9jYXRpb24uaHJlZiwibGlzdCIpLGI9IShiPy5zdGFydHNXaXRoKCJFTCIpfHxiPy5zdGFydHNXaXRoKCJTQyIpKTthPWImJiFKVChhKX1yZXR1cm4gYX07CmVsYT1mdW5jdGlvbigpe2lmKF8udygiTVdFQl9TVElDS1lfUExBWUVSIiwhMSkmJlFUKCkmJndpbmRvdy5sb2NhdGlvbi5oYXNoIT09IiNzZWFyY2hpbmciJiZfLlVNKCkhPT0ic2VhcmNoIil7dmFyIGE9d2luZG93LnNjcm9sbFksYjsoYj1fLlZNKCkpfHwoYj1fLlVNKCk9PT0iY2xpcCIpO2lmKGIpIV8uVEUoKSYmIUhRKCl8fChfLkZlYS5vZmZzZXRIZWlnaHQ+d2luZG93LmlubmVySGVpZ2h0Ki42P18uVHQoXy5FSiwic3RpY2t5LXBsYXllciIpOl8uU3QoXy5FSiwic3RpY2t5LXBsYXllciIpKSxSVCgiaW4iKSxTVD1hO2Vsc2V7Yj1TVD5hO3ZhciBjPWE+PTQ4LGQ9YTwxMjY7U1Q9YTtiPyhjP1JUKCJmaWxsZWQiKTpSVCgiaW4iKSxJUSgpJiZkP1RUKCJmaWx0ZXItY2hpcC1iYXItc3RhdGljIik6VFQoImZpbHRlci1jaGlwLWJhci1pbiIpKTpjP1BUKCl8fE9UKCk/UlQoImZpbGxlZCIpOihSVCgib3V0IiksSVEoKSYmZD9UVCgiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpOlRUKCJmaWx0ZXItY2hpcC1iYXItb3V0IikpOgooUlQoImluIiksSVEoKT9UVCgiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpOlRUKCJmaWx0ZXItY2hpcC1iYXItaW4iKSl9fXZhciBlO18uVk0oKSYmKGU9UVQoKSkhPW51bGwmJihhPWUuc2V0QXR0cmlidXRlLGI9Xy5NRSgpPzE6MjQsXy5ETi5sZW5ndGg+MCYmIV8ueE4oKT8oYz1OdW1iZXIoZG9jdW1lbnQuYm9keS5zdHlsZS50b3AucmVwbGFjZSgvKHB4KXwtL2csIiIpKSxiPSFpc05hTihjKSYmYzxiKTpiPVNUPGIsYS5jYWxsKGUsImFtYmllbnQtdG9wYmFyIixiLnRvU3RyaW5nKCkpKX07UVQ9ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhlYWRlci1iYXIiLnRvU3RyaW5nKCkpfTsKVFQ9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5VTSgpPT09ImhvbWUifHxJUSgpP2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWx0ZXItY2hpcC1iYXIiLnRvU3RyaW5nKCkpOm51bGw7YiYmKF8uVHQoYiwiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpLF8uVHQoYiwiZmlsdGVyLWNoaXAtYmFyLWluIiksXy5UdChiLCJmaWx0ZXItY2hpcC1iYXItb3V0IiksXy5TdChiLGEpKX07ClJUPWZ1bmN0aW9uKGEpe3ZhciBiPVFUKCk7aWYoYil7bGV0IGM9Xy5hTCh7WyJzdGlja3ktcGxheWVyIl06Xy53KCJNV0VCX1NUSUNLWV9QTEFZRVIiLCExKSxbImlzLWF1dG9tb3RpdmUiXTpIUSgpfSk7Xy5XTSgpP2M9Xy5hTChjLCJ0b3BiYXItdHJhbnNwYXJlbnQtYmFja2dyb3VuZCIsInNob3J0cy10b3BiYXIiKTpQVCgpP2M9Xy5hTChjLCJ0b3BiYXItdHJhbnNwYXJlbnQtYmFja2dyb3VuZCIpOk9UKCkmJihjPV8uYUwoYywidG9wYmFyLXRyYW5zcGFyZW50LXRpdGxlIikpO2IuY2xhc3NOYW1lPV8uYUwoYSxjKX19O2ZsYT1mdW5jdGlvbigpe3JldHVybiBVVH07aGxhPWZ1bmN0aW9uKGEsYil7YiYmKFZUPSEwKTthPVVUPWE7Yj1KUigpO2EhPT1iJiYoYj1fLkh6KCksXy5EeigxNDEsITApLF8uRHooMTQwLCFhKSxiLnNhdmUoKSk7Z2xhKCl9O2dsYT1mdW5jdGlvbigpe3NldFRpbWVvdXQoKCk9PntfLlhNKCJwbGF5ZXItYXV0b25hdi1wYXVzZSIse3BhdXNlZDohMX0pfSl9OwppbGE9ZnVuY3Rpb24oKXtyZXR1cm4gVlR9O1dUPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTUUoKT9iJiZhPy52aWRlb0R1cmF0aW9uPjMwOmImJiFhLmVhfTtYVD1mdW5jdGlvbihhLGIpe3JldHVybiBiJiZhLmVhJiYhXy5NRSgpfTtqbGE9YXN5bmMgZnVuY3Rpb24oYSxiKXtpZihiPWI/P2F3YWl0IF8uTEgoKSliLnVuTXV0ZSghMCksYi5zZXRWb2x1bWUoYSwhMCl9O1pUPWZ1bmN0aW9uKGEsYil7YSYmKGEudmFsdWU9YCR7Yn1gLGEuc3R5bGUuc2V0UHJvcGVydHkoIi0tZ3JhZGllbnQtcGVyY2VudCIsYCR7Yn0lYCkpfTtrbGE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ueCgicGxheWVyX2NvbnRyb2xzX3VzZV9wbGF5ZXJfYXBpX2NvbnRleHQiKT9fLmtHKCRUKTphfTthVT1mdW5jdGlvbihhKXtyZXR1cm5gaHR0cHM6Ly9tLnlvdXR1YmUuY29tL3N0YXRpYy9sb3R0aWUvJHthfS5qc29uYH07CmJVPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJhbmltYXRlZF9saWtlX2ljb24iOnJldHVybntuYW1lOiJhbmltYXRlZF9saWtlX2ljb25fdjJfZGFyayIscGF0aDphVSgiYW5pbWF0ZWRfbGlrZV9pY29uX3YyX2RhcmsiKSxsb29wOiExLGF1dG9wbGF5OiExLHJlbmRlcmVyU2V0dGluZ3M6e3ZpZXdCb3hPbmx5OiEwLGNsYXNzTmFtZToiYW5pbWF0ZWQtbGlrZS1pY29uIn19O2Nhc2UgImxpa2VfMjQwZHBfYW5pbWF0aW9uX3YyIjpjYXNlICJsaWtlX3RhcF9mZWVkYmFja19zaG9ydHNfaGVhcnQiOmNhc2UgInBhdXNlXzk2ZHBfYW5pbWF0aW9uIjpjYXNlICJwbGF5Xzk2ZHBfYW5pbWF0aW9uIjpjYXNlICJzZWVrXzk2ZHBfYW5pbWF0aW9uIjpyZXR1cm57bmFtZTphLHBhdGg6YVUoYSksbG9vcDohMSxhdXRvcGxheTohMX07ZGVmYXVsdDpyZXR1cm57bmFtZToiIixwYXRoOiIifX19OwpjVT1mdW5jdGlvbihhKXtfLkxPKCkudGhlbihiPT57Yi5zdG9wKCJsaWtlXzI0MGRwX2FuaW1hdGlvbl92MiIpO2Iuc3RvcCgibGlrZV90YXBfZmVlZGJhY2tfc2hvcnRzX2hlYXJ0Iik7Yi5zdG9wKCJwbGF5Xzk2ZHBfYW5pbWF0aW9uIik7Yi5zdG9wKCJwYXVzZV85NmRwX2FuaW1hdGlvbiIpO2IucGxheShhKX0pfTsKbGxhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uSHooKTtIUSgpfHxhLnF2fHxhLnN1cHByZXNzQWZ0ZXJDbG9zaW5nJiZOdW1iZXIoYi5nZXQoInN1cHByZXNzX2FwcF91cHNlbGwiKSkmJiFfLngoIm13ZWJfYXBwX3Vwc2VsbF9idXR0b24iKXx8KGRVfHwoZFU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUoZFUsZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKSksXy5KTihkVSxudWxsLCEwKSxhIT09ZVUmJihmVT8uKCksZlU9Xy54RihkVSwoKT0+e18ub0YoKCk9PntfLk1PKCIuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIb3N0IC5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRlbnRzIil9KTtyZXR1cm4gXy5LKF8uSUIsbnVsbCxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclNjcmltQ29udGFpbmVyIn0sXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0V9KSksXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVyIn0sCl8uSyhnVSx7ZGF0YTphfSkpKX0sImRkIikpLGVVPWEpfTtoVT1mdW5jdGlvbigpe3JldHVybntzdHlsZToib3ZlcmxheS1kYXJrIixpY29uUG9zaXRpb246Imljb24td2l0aC1sYWJlbCIsc2l6ZToiTCIsc2l6ZToiUyIsdHlwZToidGV4dCIsc3R5bGU6Im92ZXJsYXkifX07bmxhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLnNob3BwaW5nVXBzZWxsLG1sYSk7YiYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2xsYShiKX0pfTtvbGE9ZnVuY3Rpb24oYSl7YT8ubG9nZ2luZ0RpcmVjdGl2ZXM/LnRyYWNraW5nUGFyYW1zJiZfLmx4KF8uaHgoKSxhLmxvZ2dpbmdEaXJlY3RpdmVzLnRyYWNraW5nUGFyYW1zKX07aVU9ZnVuY3Rpb24oYSl7cmV0dXJuIGF8fF8uVk0oKXx8Xy5VTSgpPT09ImhvbWUifTtqVT1mdW5jdGlvbihhLGIpe2lmKGIpe2lmKGEmJmIuZGFya1RoZW1lTG9nbz8uaWNvbj8uaWNvblR5cGUpcmV0dXJuIGIuZGFya1RoZW1lTG9nby5pY29uLmljb25UeXBlO2lmKGIubGlnaHRUaGVtZUxvZ28/Lmljb24/Lmljb25UeXBlKXJldHVybiBiLmxpZ2h0VGhlbWVMb2dvLmljb24uaWNvblR5cGV9fTsKbFU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5IO2ImJihrVT0oYT1rVSk/KChiPU5RKGIpKT9iLmRpc3BsYXlOYW1lfHwiIjpudWxsKXx8YTpQUShiKSk7cmV0dXJuIGtVfTttVT1mdW5jdGlvbihhLGIpe3JldHVybiBhKCkucGxheWVyU3RhdGU9PT0wJiYhIWImJiFhKCkueGYmJmEoKS5hdXRvbmF2RW5hYmxlZH07blU9ZnVuY3Rpb24oYSxiKXtiPU1TKGIpO3JldHVybiBhKCkucGxheWVyU3RhdGU9PT0wJiZiLmxlbmd0aD4wfTtvVT1mdW5jdGlvbihhKXtyZXR1cm4gYS5IPy5pc1JlYWR5Py4oKSYmYS5IPy5pc0F0TGl2ZUhlYWQoKX07cFU9ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsYXllci1jb250cm9sLW92ZXJsYXkiKX07cGxhPWZ1bmN0aW9uKGEpe2EhPT0tMSYmXy54KCJwbGF5ZXJfY29udHJvbHNfbG9nX2NyZWF0aW9uX2VuYWJsZWQiKSYmcFUoKSYmKF8uQXEoInBjdV9jcyIsYSksXy5BcSgicGN1X2NlIikpfTsKcVU9ZnVuY3Rpb24oYSl7aWYoIWF8fGEuZ2V0VmlkZW9EYXRhKXJldHVybiBhfTtxbGE9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgT2JqZWN0LmtleXMoYSkpaWYoYVtjXSE9PWJbY10pcmV0dXJuITE7cmV0dXJuITB9O3JVPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiTVdFQl9TVVBQT1JUU19ET1VCTEVfVEFQX1RPX1NFRUsiKX07cmxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yi8zPy0xOmE+MipiLzM/MTowfTtzVT1mdW5jdGlvbihhLGIsYyl7clUoKSYmdlMoey4uLmMsSmQ6YixLYjphfSkmJigoYT1jLkgpJiZhLnNlZWtCeShNYXRoLnNpZ24oYikqMTAsdm9pZCAwLHZvaWQgMCw0KSxjLnBsYXllclN0YXRlPT09Mnx8Yy5IPy5wYXVzZVZpZGVvKCksYj09PS0xP1hTKDI4MjM5KTpYUygyODI0MCkpfTsKdVU9ZnVuY3Rpb24oYSxiKXtyVSgpJiYoY2xlYXJUaW1lb3V0KHRVKSx0VT1zZXRUaW1lb3V0KCgpPT57dmFyIGM9e0tiOjAsSmQ6MCx5aDowfTtpZih2UyhhKSl7dmFyIGQ9dVMoYSl8fGEuQ2E+PWEudmlkZW9EdXJhdGlvbjtjLmVhPWEucGxheWVyU3RhdGU9PT0yfHxhLnBsYXllclN0YXRlPT09M3x8ZDtjLnZhPWEuQ2E7Yy55Yj0hMTthLkg/LmlzUmVhZHk/LigpJiYoYS5ILnNlZWtUbyhhLkNhKSxkPXsuLi5hLC4uLmN9LChkLmlzTGl2ZXx8ZC52YTxkLnZpZGVvRHVyYXRpb24pJiZkLk9uJiZkLkg/LmdldFBsYXllclN0YXRlKCkhPT0xJiZkLkg/LnBsYXlWaWRlbygpKX1lbHNlIGEuS2I9PT0xJiZiPy4oKTthLlMoYyk7Y2xlYXJUaW1lb3V0KHRVKX0sYS5iYT8udnY/PzYwMCkpfTtzbGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gclUoKSYmYiE9PTA/YS5KZCE9PWI/MTooMCxfLmVsKSgpLWEueWg+MzUwP2EuS2I6YS5LYisxOjB9Owp1bGE9YXN5bmMgZnVuY3Rpb24oKXt2YXIgYT1hd2FpdCB2VS5qYygpO2EmJihhPWF3YWl0IGEuZ2V0KCJhdXRvLXpvb20tZW5hYmxlZCIpLHRsYSh0eXBlb2YgYT09PSJib29sZWFuIj9hOiEwKSl9O3dVPWZ1bmN0aW9uKGEpe3ZhciBiPWEudG91Y2hlc1swXSxjPWEudG91Y2hlc1sxXTthPWIucGFnZVgtYy5wYWdlWDtiPWIucGFnZVktYy5wYWdlWTtyZXR1cm4gTWF0aC5zcXJ0KGEqYStiKmIpfTsKSVU9ZnVuY3Rpb24oYSxiKXt4VShhKSYmKGEuc3RvcFByb3BhZ2F0aW9uKCksYT15VS16VSxBVXx8KGE9MCksRlQoYiksXy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmKEJVPTAsQ1UoKSYmRFUoITEpKSxiLmJhPy5NaXx8KGIuTmF8fGIuV2R8fGIuc2J8fF8uVEUoKXx8Xy5NRSgpJiYhYi5pc0Z1bGxzY3JlZW58fChiLmlzRnVsbHNjcmVlbiYmKGEqPS0xKSwoYTwtMTAwfHxNYXRoLmFicyhhKT4xMDAmJmIuaXNGdWxsc2NyZWVuKSYmYi50YS50b2dnbGVGdWxsc2NyZWVuKHtkczohMH0pLEVVJiZPYmplY3QuYXNzaWduKEVVLnN0eWxlLHt0cmFuc2Zvcm06InNjYWxlKDEpIix0cmFuc2l0aW9uOiIwLjJzIGVhc2UifSkpLGIuV2QmJigoYT1NYXRoLmFicyhiLkpmKT41MD8hYi5OYTpiLk5hKXx8Y1QoYiksYi5TKHtXZDohMSxOYTphLEpmOjB9KSkpLEZVPSgwLF8uZWwpKCkseVU9R1U9elU9SFU9MCxBVT0hMSl9Owp4VT1mdW5jdGlvbihhKXt2YXIgYj1bYS50YXJnZXQ/LmdldEF0dHJpYnV0ZSgiaWQiKSwuLi4oYS50YXJnZXQ/LmNsYXNzTGlzdHx8W10pXTtyZXR1cm4hISJwbGF5ZXItY29udHJvbC1vdmVybGF5IHBsYXllci1jb250cm9scy1taWRkbGUgcGxheWVyLWNvbnRyb2xzLWJvdHRvbSBmdWxsc2NyZWVuLWNvbnRyb2xzIHBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kIHRvcC1mdWxsLXNjcmVlbi1jb250cm9scyIuc3BsaXQoIiAiKS5maW5kKGM9PmIuZmluZChkPT5kPT09YykpfTsKS1U9ZnVuY3Rpb24oYSxiKXtpZihiLk5hKUpVKGEpJiZiLlMoe05hOiExfSk7ZWxzZSBpZihiLnBsYXllclN0YXRlIT09LTEmJmIucGxheWVyU3RhdGUhPT01KWlmKEpVKGEpKXt2YXIgYz1XUShiLkgpO2IuUyh7ZWE6ITAseWI6ITAsamU6Y30pfWVsc2V7dmFyIGQ9cmxhKGEuY2xpZW50WCxiLlRjLm9mZnNldFdpZHRoKTtjPXNsYShiLGQpO3ZhciBlPWM+Yi5LYjtsZXQgZj1iLkNhO2UmJihmPWM8Mj9iLnZhOkRRKGIuQ2ErKGQ9PT0tMT8tMToxKSoxMCwwLGIudmlkZW9EdXJhdGlvbiksc1UoYyxkLGIpKTshYi5lYSYmYzw9MT9jVChiLHtJYzohMH0pOmJUKCk7YT1iLmJhPy56diYmYi5lYSYmIUpVKGEpO2Q9e2VhOnZsYSh7Li4uYixLYjpjfSl8fGEsWWg6ITEsSmQ6ZCxDYTpmLEtiOmMseWI6ITAseWg6KDAsXy5lbCkoKX07ZT91VSh7Li4uYixLYjpjLENhOmZ9LGE/KCk9PntpZihiLkg/LmlzUmVhZHk/LigpKXtsZXQgaD1XUShiLkgpO2IuUyh7amU6aH0pfX06dm9pZCAwKTphJiZiLkgmJgooZT1XUShiLkgpLGIuUyh7amU6ZX0pKTtjPT09MSYmKGQuT249Yi5wbGF5ZXJTdGF0ZT09PTF8fGIucGxheWVyU3RhdGU9PT0zKTtiLlMoZCl9fTtKVT1mdW5jdGlvbihhKXtyZXR1cm4hXy54KCJtd2ViX2lvc19kZXRlY3RfZmFrZV9jbGlja19raWxsc3dpdGNoIikmJl8uR0smJkZVPjAmJigwLF8uZWwpKCktRlU8MTAwPyExOnR5cGVvZiBQb2ludGVyRXZlbnQhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIFBvaW50ZXJFdmVudCYmYS5wb2ludGVyVHlwZT09PSJtb3VzZSJ9O3ZsYT1mdW5jdGlvbihhKXtyZXR1cm4gdVMoYSl8fGEucGxheWVyU3RhdGU9PT0zfHxhLktiPjE/ITA6IWEuZWF9O3dsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPXt2b2x1bWU6Yi5IPy5nZXRWb2x1bWUoKT8/MCxyYzohIWIuSD8uaXNNdXRlZCgpfTtiLlMoYyl9fTsKeGxhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpLGM9Yi5IO2lmKGMpe3ZhciBkPXt4YzohIWMuZ2V0T3B0aW9ucygiY2FwdGlvbnMiKX07ZC54YyYmKGQuY2FwdGlvbnNFbmFibGVkPU9RKGMpKTtiLlMoZCl9fX07CnpsYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEoKSxkPWMuSDtpZihkJiYhZC5pc0tleWJvYXJkRGlzYWJsZWQ/LigpJiYheWxhKGIudGFyZ2V0LGIpKXtzd2l0Y2goYi5jb2RlKXtjYXNlICJTcGFjZSI6Y2FzZSAiS2V5SyI6ZD1XUShkKTtjLlMoe2VhOiEwLGplOmR9KTticmVhaztjYXNlICJBcnJvd0xlZnQiOmNhc2UgIktleUoiOkxVKGMsLTEpO2JyZWFrO2Nhc2UgIkFycm93UmlnaHQiOmNhc2UgIktleUwiOkxVKGMsMSk7YnJlYWs7Y2FzZSAiS2V5TSI6Yy5yYz9kLnVuTXV0ZSgpOmQubXV0ZSgpO2MuUyh7ZWE6ITB9KTticmVhaztjYXNlICJLZXlGIjpSUSgpO2QudG9nZ2xlRnVsbHNjcmVlbigpO2MuUyh7ZWE6ITB9KTtiLnN0b3BQcm9wYWdhdGlvbigpO2JyZWFrO2Nhc2UgIktleUMiOmMueGMmJlFRKGQsbFUoYykpO2MuUyh7ZWE6ITB9KTticmVhaztkZWZhdWx0OnJldHVybn1iLnByZXZlbnREZWZhdWx0KCk7Yi5zdG9wUHJvcGFnYXRpb24oKX19fTsKTFU9ZnVuY3Rpb24oYSxiKXtpZihfLngoIm13ZWJfa2V5Ym9hcmRfc2Vla19vdmVybGF5X2tpbGxzd2l0Y2giKSlhLkg/LnNlZWtCeSgxMCooYj09PS0xPy0xOjEpKSxhLlMoe2VhOiEwfSk7ZWxzZXt2YXIgYz1hLktiLGQ9YS5KZCxlPSgwLF8uZWwpKCksZj1lLWEueWg7Yz1kIT09Ynx8Zj4zNTA/MjpjKzE7ZD1iPT09LTE/LTE6MTtkPWM9PT0yPyhhLnZhfHwwKStkKjEwOmEuQ2ErZCoxMDtkPURRKGQsMCxhLnZpZGVvRHVyYXRpb24pO2U9e2VhOiEwLFloOiExLEpkOmIsQ2E6ZCxLYjpjLHliOiEwLHloOmV9O2M9PT0yJiYoZS5Pbj1hLnBsYXllclN0YXRlPT09MXx8YS5wbGF5ZXJTdGF0ZT09PTMpO3NVKGMsYix7Li4uYSwuLi5lfSk7dVUoey4uLmEsLi4uZX0pO2EuUyhlKX19Owp5bGE9ZnVuY3Rpb24oYSxiKXtpZihiLmN0cmxLZXl8fGIuYWx0S2V5fHxiLm1ldGFLZXkpcmV0dXJuITA7dmFyIGM9YS50YWdOYW1lO3JldHVybiBjPT09IklOUFVUInx8Yz09PSJURVhUQVJFQSJ8fGM9PT0iU0VMRUNUInx8Yi5rZXk9PT0iVGFiInx8Yi5jb2RlPT09IlNwYWNlIiYmKGM9PT0iQlVUVE9OInx8Yz09PSJBInx8KGE9YS5nZXRBdHRyaWJ1dGUoInJvbGUiKSkmJihhPT09ImJ1dHRvbiJ8fGE9PT0ib3B0aW9uInx8YS5zdGFydHNXaXRoKCJtZW51aXRlbSIpKSk/ITA6ITF9OwpPVT1mdW5jdGlvbihhLGIpe3ZhciBjPXsuLi5hKCkscGxheWVyU3RhdGU6MH0sZD1BUyhiKCk/LndhdGNoTmV4dFJlc3BvbnNlKSxlPUJTKGIoKT8ud2F0Y2hOZXh0UmVzcG9uc2UpO0hTKGMsZCkmJihNVShhKSxjLlMoe3lmOiFlPy5jb3VudERvd25TZWNzfHxlLmNvdW50RG93blNlY3M8PTA/MTA6ZS5jb3VudERvd25TZWNzfSksYz13aW5kb3cuc2V0SW50ZXJ2YWwoKCk9Pnt2YXIgZj1hKCk7aWYoZi55ZiE9PTEpZi5TKHt5ZjpmLnlmLTF9KTtlbHNle01VKGEpO2Y9YigpPy53YXRjaE5leHRSZXNwb25zZTtmPUFTKGYpO2xldCBoPWY/LnNldHM/LlswXS5hdXRvcGxheVZpZGVvO2gmJl8uQUooaCxmLCExLHthdXRvbmF2OiIxIn0pfX0sMUUzKSxfLngoIm13ZWJfcGxheWVyX3VuaWZpY2F0aW9uX3N0YXRlX3JlZmFjdG9yX2tpbGxzd2l0Y2giKT9OVT1jOmEoKS5TKHtGazpjfSkpfTsKTVU9ZnVuY3Rpb24oYSl7IV8ueCgibXdlYl9wbGF5ZXJfdW5pZmljYXRpb25fc3RhdGVfcmVmYWN0b3Jfa2lsbHN3aXRjaCIpJiZhPyhhPWEoKSxhLkZrIT09dm9pZCAwJiYoY2xlYXJJbnRlcnZhbChhLkZrKSxhLlMoe0ZrOnZvaWQgMH0pKSk6TlUmJihjbGVhckludGVydmFsKE5VKSxOVT12b2lkIDApfTsKQmxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1hKCksZT17eGY6ITF9O2UucGxheWVyU3RhdGU9YztkLkgmJlZRKGQuSCkmJihlLnBsYXllclN0YXRlPTIpO2M9PT0xJiYoZC5IPy5sb2FkTW9kdWxlKCJjYXB0aW9ucyIpLF8ueCgibXdlYl9iZXR0ZXJfY2FwdGlvbnNfcGxhY2VtZW50IikmJmQuSD8uc2V0U3VidGl0bGVzVGFyZ2V0Q29udGFpbmVySWQoImNhcHRpb25zLWdhbG9yZS1jb250YWluZXIiKSk7Yz09PTAmJihkLkg/LnVubG9hZE1vZHVsZSgiY2FwdGlvbnMiKSxfLngoIm13ZWJfYmV0dGVyX2NhcHRpb25zX3BsYWNlbWVudCIpJiZkLkg/LmNsZWFyU3VidGl0bGVzVGFyZ2V0Q29udGFpbmVySWQoKSk7aWYoZS5wbGF5ZXJTdGF0ZT09PS0xKWUuZWE9ITA7ZWxzZSBpZihlLnBsYXllclN0YXRlPT09NSllLmVhPSEwO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTMpZS5lYT0hMCxiVCgpO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTEpZC5zYnx8ZC55cXx8KGQueWI/CmNUKHsuLi5kLC4uLmV9KTplLmVhPSExKTtlbHNlIGlmKGUucGxheWVyU3RhdGU9PT0yKWJUKCk7ZWxzZSBpZihlLnBsYXllclN0YXRlPT09MCl7ZS5lYT0hMDtiVCgpO2M9YSgpO3ZhciBmPWIoKT8ud2F0Y2hOZXh0UmVzcG9uc2U7aWYoZj1fLkIoZj8uY29udGVudHM/LnNpbmdsZUNvbHVtbldhdGNoTmV4dFJlc3VsdHM/LmF1dG9wbGF5Py5hdXRvcGxheT8uYXV0b3BsYXlFeHBsaWNpdENob2ljZURpYWxvZ1JlbmRlcmVyLEFsYSkpZi5kaXNhYmxlQnV0dG9uU3R5bGVPdmVycmlkZXM9ITA7IWMudGEuVWwoKSYmZiYmKGMudGEuZXhpdEZ1bGxzY3JlZW4oKSxfLkFKKHtvcGVuUG9wdXBBY3Rpb246e3BvcHVwOntjb25maXJtRGlhbG9nUmVuZGVyZXI6Zn0scG9wdXBUeXBlOiJESUFMT0cifX0se30sITEpKTtkLmF1dG9uYXZFbmFibGVkJiYoT1UoYSxiKSxfLk1PKCIjcGxheWVyLWVuZHNjcmVlbiAueXR3UGxheWVyRW5kc2NyZWVuVG9wUGFuZWwgYnV0dG9uIiw1LHtybDohMH0pKX1kLlMoZSl9fTsKQ2xhPWZ1bmN0aW9uKGEpe1BVKCgpPT5hKSgpfTtEbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLkg7YyYmVlEoYykmJmIuUyh7cGxheWVyU3RhdGU6Mn0pfX07ClBVPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9YSgpO3ZhciBkPWMuSDt2YXIgZT1kPy5nZXRWaWRlb0RhdGEoKSxmPWU/LmlzTGl2ZXx8ITEsaD1lPy52aWRlb19pZDtlPWU/LmFsbG93TGl2ZUR2cj8/ITA7Zj17dmlkZW9EdXJhdGlvbjpVUShkfHx2b2lkIDApLGlzTGl2ZTpmLHZpZGVvSWQ6aCxpc0xpdmVEdnJFbmFibGVkOmV9O2YudmlkZW9JZCE9PWMudmlkZW9JZCYmKGY9ey4uLmRUKGQpLC4uLmZ9KTtiPy5wbGF5ZXJ0eXBlJiYoZi5wbGF5ZXJUeXBlPWIucGxheWVydHlwZSk7ZCYmKGYueGM9ISFkLmdldE9wdGlvbnMoImNhcHRpb25zIiksYj1mLGg9KGg9ZC5nZXRTdG9yeWJvYXJkTGV2ZWwoZC5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMoKS0xKT8uaW50ZXJ2YWxNcyk/aC8xRTM6dm9pZCAwLGIuWnI9aCxmLnhjJiYoZi5jYXB0aW9uc0VuYWJsZWQ9T1EoZCkpKTtmLnJjPSEhZD8uaXNNdXRlZCgpO2Q9ZjtkLmF1dG9uYXZFbmFibGVkPWMudGEuZGUoKTtkLmlzUGxheWxpc3Q9ClhRKCk7Yy5iYT8uTWwhPT12b2lkIDAmJihkLnliPSEwKTtkLmlzRnVsbHNjcmVlbj1jLmlzRnVsbHNjcmVlbjtkLnBsYXllclN0YXRlPT09MyYmKGQuZWE9ITApO2QucGxheWVyU3RhdGU9PT0tMSYmKGQuZWE9ITApO2I9Yy5HYzt5Uyh7Li4uYywuLi5kfSk/YiYmKGIuc3R5bGUuZGlzcGxheT0ibm9uZSIpOmImJihiLnN0eWxlLmRpc3BsYXk9IiIpO01VKGEpO2MuUyhkKX19OwpFbGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPWEoKSxlPWIoKSxmPWQuSDtpZihmKXtkLnZpZGVvSWQ9PT12b2lkIDAmJkNsYShkKTtpZihlJiZjIT09dm9pZCAwKXt2YXIgaD17Li4uZCx2YTpjfTsoZT1FUyhlLnBsYXllck92ZXJsYXlSZW5kZXJlcikpJiYhaC5pc0RyYWdnaW5nJiYoaD1rVChoLGUpLG1UKGgpKX1oPWYuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKTtjPXt2YTpjfHwwLFFtOmYuZ2V0VmlkZW9Mb2FkZWRGcmFjdGlvbigpLHBsYXllclR5cGU6aH07dVMoZCkmJihjLnZhPWQudmlkZW9EdXJhdGlvbik7ZC5pc0xpdmUmJihoPWYuZ2V0UHJvZ3Jlc3NTdGF0ZShoKSxjLnZhLT1oLnNlZWthYmxlU3RhcnQsYy52aWRlb0R1cmF0aW9uPVVRKGYpKTt5UyhkKSYmZGVsZXRlIGMudmE7Zj1jO3lTKHsuLi5kLC4uLmZ9KSYmKGM9ZC5HYykmJihjLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTtkLlMoZil9fX07CkZsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e2EoKS5TKHtlYTohMSxyYzohMX0pfX07R2xhPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57YSgpLlMoe2lzRnVsbHNjcmVlbjpiLmZ1bGxzY3JlZW4sTmE6ITF9KX19O0hsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIuSDtiLlMoe2lzRnVsbHNjcmVlbjpiLnRhLmlzRnVsbHNjcmVlbigpLGNhcHRpb25zRW5hYmxlZDpjP09RKGMpOmIuY2FwdGlvbnNFbmFibGVkfSl9fTtJbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7Xy5WTSh7aHJlZjp3aW5kb3cubG9jYXRpb24uaHJlZn0pfHxiLlMoe2lzRnVsbHNjcmVlbjohMX0pfX07CkpsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKTtbOTAsMjcwXS5pbmNsdWRlcyhNYXRoLmFicyh3aW5kb3cub3JpZW50YXRpb24/d2luZG93Lm9yaWVudGF0aW9uOndpbmRvdy5zY3JlZW4/Lm9yaWVudGF0aW9uPy5hbmdsZT93aW5kb3cuc2NyZWVuLm9yaWVudGF0aW9uLmFuZ2xlOjApKT9kb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgibGFuZHNjYXBlIiwidHJ1ZSIpOmRvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKCJsYW5kc2NhcGUiKTtiLk5hJiZiLlMoe05hOiExfSl9fTtLbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7Yi50YS5leGl0RnVsbHNjcmVlbigpO2IuUyh7aXNGdWxsc2NyZWVuOiExfSl9fTtMbGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPWEoKTtjLmRldGFpbD8ucGF1c2VkPyhNVShhKSxkLnpmfHxkLlMoe3pmOiEwfSkpOih1UyhkKSYmT1UoYSxiKSxkLnpmJiZkLlMoe3pmOiExfSkpfX07Ck1sYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIudGEuZGUoKTtjfHxNVShhKTtiLlMoe2F1dG9uYXZFbmFibGVkOmN9KX19O05sYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e2EoKS5TKHtSeDohIWJ9KX19O1FVPWZ1bmN0aW9uKGEpe01VKGEucHJvcHMpO2EucHJvcHMoKS5TKHt4ZjohMH0pfTtSVT1mdW5jdGlvbihhKXt2YXIgYj1fLldEKCgpPT5hLnNldHNbMF0ucHJldmlvdXNCdXR0b25WaWRlbyksYz1fLldEKCgpPT5hLnNldHNbMF0ubmV4dEJ1dHRvblZpZGVvKTtyZXR1cm57VWE6YixuZXh0OmN9fTtTVT1mdW5jdGlvbihhLGIpe2I9YigpPy5ydW5zPy5bMF0ubmF2aWdhdGlvbkVuZHBvaW50O3ZhciBjPV8uQihiLF8uVkQpPy51cmw7YSgpLkg/LmlzRW1iZWRzU2hvcnRzTW9kZT8uKCkmJmMmJmMuaW5jbHVkZXMoIi93YXRjaD92PSIpJiYoXy5CKGIsXy5WRCkudXJsPWMucmVwbGFjZSgiL3dhdGNoP3Y9IiwiL3Nob3J0cy8iKSk7cmV0dXJuIGJ9OwpVVT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9IiIsZT0iIjtzd2l0Y2goYSl7Y2FzZSAtMTpjYXNlIDA6ZD1iPyJWT0xVTUVfT0ZGIjpjPyJWT0xVTUVfT0ZGX0RFTEhJX1BMQVlFUiI6IlZPTFVNRV9PRkZfRklMTEVEIjtlPU9sYTticmVhaztjYXNlIDE6ZD1iPyJWT0xVTUVfVVBfT1VUTElORSI6Yz8iVk9MVU1FX1VQX0RFTEhJX1BMQVlFUl9GSUxMRUQiOiJWT0xVTUVfVVBfRklMTEVEIjtlPVRVO2JyZWFrO2Nhc2UgMjpkPWI/IlZPTFVNRV9ET1dOX09VVExJTkUiOmM/IlZPTFVNRV9ET1dOX0RFTEhJX1BMQVlFUl9GSUxMRUQiOiJWT0xVTUVfRE9XTl9GSUxMRUQiO2U9VFU7YnJlYWs7ZGVmYXVsdDpfLmViKGEsdm9pZCAwKX1yZXR1cm57aWNvbk5hbWU6ZCxhcmlhTGFiZWw6ZX19OwpQbGE9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgVlU9PT0ibnVtYmVyIiYmY2xlYXJUaW1lb3V0KFZVKTtWVT1zZXRUaW1lb3V0KCgpPT57YS5TKHtZaDohMX0pO1ZVPXZvaWQgMH0sXy5CKGIuZW5hYmxlZEVkdUNvbW1hbmQsV1UpPy5kdXJhdGlvbk1zfHw0RTMpfTtYVT1mdW5jdGlvbihhLGIsYyl7YS5TKHthdXRvbmF2RW5hYmxlZDpiLFloOmN9KTthLnRhLlJqKGIsYyl9O1lVPWZ1bmN0aW9uKGEpe3JldHVybiBfLklFKHtkaXNwbGF5OigpPT5hKCk/IiI6Im5vbmUifSl9O1FsYT1mdW5jdGlvbihhKXtpZihfLngoImVuYWJsZV9jdXN0b21fc2NydWJiZXJfdjIiKSYmYSlyZXR1cm57cGxheWhlYWRJbWFnZTphLnBsYXloZWFkSW1hZ2UscGxheWhlYWRSZXdpbmRJbWFnZTphLnBsYXloZWFkUmV3aW5kSW1hZ2UscGxheWhlYWRGYXN0Rm9yd2FyZEltYWdlOmEucGxheWhlYWRGYXN0Rm9yd2FyZEltYWdlfX07ClJsYT1mdW5jdGlvbihhKXthPWE/LmdldFBsYXllclN0YXRlT2JqZWN0Py4oKTtyZXR1cm4oYT8uaXNDdWVkfHxhPy5pc1Vuc3RhcnRlZCkmJiFhPy5pc0Vycm9yfTtaVT1mdW5jdGlvbihhKXthLmZvckVhY2goYj0+e2IoKX0pO2EubGVuZ3RoPTB9O1NsYT1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmlkPSJwbGF5ZXItY29udHJvbHMiO2IuY2xhc3NMaXN0LmFkZCgieXRQbGF5ZXJDb250cm9sc0NvbnRhaW5lckhvc3QiKTt2YXIgW2MsZF09Xy5KKHt9LHZvaWQgMCwiYmpKSWxkIik7YS5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsKCk9PnskVShhLGIsYyxkKX0pO2EuYWRkRXZlbnRMaXN0ZW5lcigib25SZWFkeSIsKCk9PnskVShhLGIsYyxkKX0pO3JldHVybiBifTsKJFU9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9VGxhKGEpO2QoZSk7aGphKGIsIWEuZ2V0UGxheWVyU3RhdGVPYmplY3QoKT8uaXNFcnJvcnx8ISFhVihlKSk7Yi5oYXNDaGlsZE5vZGVzKCl8fF8ueEYoYiwoKT0+VWxhKGEsYixjKSwiJGUiKX07ClVsYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5OKCgpPT5hVihjKCkpLHZvaWQgMCwiZFc1OGJkIiksZT1fLnVGKGs9PntpZighXy54KCJlbWJlZHNfZW5hYmxlX2VtYzNkc19wZnAiKSlyZXR1cm4hMTt2YXIgbD1jKCk7cmV0dXJuKGw9bC5qYj8uZW1iZWRkZWRQbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyTW9kZT8/bC5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJNb2RlKT9sPT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGUCI6a30se2luaXRpYWw6ITF9KSxmPV8udUYoaz0+e2lmKCFfLngoImVtYmVkc19lbmFibGVfZW1jM2RzX3BmbCIpKXJldHVybiExO3ZhciBsPWMoKTtyZXR1cm4obD1sLmpiPy5lbWJlZGRlZFBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJNb2RlPz9sLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllck1vZGUpPwpsPT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCI6a30se2luaXRpYWw6ITF9KSxoPV8uTigoKT0+e2lmKCFfLngoImVtYmVkc19lbmFibGVfc2hvcnRzIil8fF8ueCgiZW1iZWRzX2VuYWJsZV9zaG9ydHNfY291bnRlcmZhY3R1YWwiKSlyZXR1cm4hMTt2YXIgaz1jKCkuUGg/LmVuZHBvaW50O3JldHVybiEoIWt8fCFfLkIoayxfLlREKSl9LHZvaWQgMCwiV3FnSnJiIik7Xy5uRSgoKT0+e18ueCgiZW1iZWRzX2VuYWJsZV9zaG9ydHMiKSYmKF8ueCgiZW1iZWRzX2VuYWJsZV9zaG9ydHNfY291bnRlcmZhY3R1YWwiKXx8KGUoKXx8ZigpfHwhaCgpP2Euc2V0TG9vcFZpZGVvKCExKTphLnNldExvb3BWaWRlbyghMCkpKX0sIlpnVXdnZSIpO3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5kKCl9LCgpPT5fLksoYlYse2RhdGE6KCk9PmQoKX0pKSxfLksoXy5DRSx7d2hlbjplfSwoKT0+Xy5LKFZsYSx7SDphLGNvbnRleHQ6dGthKGEsYiksZGF0YTpjfSkpLF8uSyhfLkNFLAp7d2hlbjpmfSwoKT0+e3ZhciBrPXJTKGEpLGw9YS5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7bD17Li4uc1MobCksWHc6ITAsWXc6ITB9O3JldHVybiBfLksoY1Yse2NvbnRleHQ6e3RhOmssYmE6bCxUYzpkb2N1bWVudC5ib2R5LEdjOmJ9LGRhdGE6Y30pfSksXy5LKF8uQ0Use3doZW46aH0sKCk9Pl8uSyhXbGEse3JlZWxJdGVtV2F0Y2hSZXNwb25zZTooKT0+YygpLnJlZWxJdGVtV2F0Y2hSZXNwb25zZSxqYjooKT0+YygpLmpiLFBoOigpPT5jKCkuUGgsSDooKT0+YSxjb250ZXh0OnNrYShhLGIpfSkpLF8uSyhfLkRFLG51bGwsKCk9Pnt2YXIgaz1yUyhhKSxsPXNTKGEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpKTtyZXR1cm4gXy5LKGNWLHtjb250ZXh0Ont0YTprLGJhOmwsVGM6ZG9jdW1lbnQuYm9keSxHYzpifSxkYXRhOmN9KX0pKX07CmFWPWZ1bmN0aW9uKGEpe3JldHVybiBhLmpiPy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXM/LmVycm9yU2NyZWVuPy5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlcnx8YS5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXM/LmVycm9yU2NyZWVuPy5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlcn07VGxhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0UGxheWVyUmVzcG9uc2UoKSxjPWEuZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKSxkPWEuZ2V0UmVlbEl0ZW1XYXRjaFJlc3BvbnNlKCksZT1hLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UoKSxmPWEuZ2V0UmVzb2x2ZVVybFJlc3BvbnNlKCk7cmV0dXJue3BsYXllck92ZXJsYXlSZW5kZXJlcjpjPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLHBsYXllclJlc3BvbnNlOmIsUGg6Zix3YXRjaE5leHRSZXNwb25zZTpjLHJlZWxJdGVtV2F0Y2hSZXNwb25zZTpkLGpiOmUsSDphfX07Cl8uZFY9ZnVuY3Rpb24oYSl7Xy5BcSgiZXBfaW5pdF9ycyIpO3ZhciBiPWRvY3VtZW50LmJvZHk7YT1TbGEoYSk7Yi5hcHBlbmRDaGlsZChhKTthPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuaWQ9ImJvdHRvbS1zaGVldC13cmFwcGVyIjsoMCxfLklDKShhLFVqYSk7Yi5hcHBlbmRDaGlsZChhKTtfLkFxKCJlcF9pbml0X3JlIil9O18uZz1GUS5wcm90b3R5cGU7Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBGUSh0aGlzLmxlZnQsdGhpcy50b3AsdGhpcy53aWR0aCx0aGlzLmhlaWdodCl9OwpfLmcuY29udGFpbnM9ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIF8uZVYmJmEgaW5zdGFuY2VvZiBfLmVWP2EueD49dGhpcy5sZWZ0JiZhLng8PXRoaXMubGVmdCt0aGlzLndpZHRoJiZhLnk+PXRoaXMudG9wJiZhLnk8PXRoaXMudG9wK3RoaXMuaGVpZ2h0OnRoaXMubGVmdDw9YS5sZWZ0JiZ0aGlzLmxlZnQrdGhpcy53aWR0aD49YS5sZWZ0K2Eud2lkdGgmJnRoaXMudG9wPD1hLnRvcCYmdGhpcy50b3ArdGhpcy5oZWlnaHQ+PWEudG9wK2EuaGVpZ2h0fTtfLmcuZ2V0U2l6ZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5uZCh0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KX07Xy5nLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKXy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguZmxvb3IodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLmZsb29yKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguZmxvb3IodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5mbG9vcih0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O18uZy5yb3VuZD1mdW5jdGlvbigpe3RoaXMubGVmdD1NYXRoLnJvdW5kKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5yb3VuZCh0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcudHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7ImZ1bmN0aW9uIj09dHlwZW9mIF8uZVYmJmEgaW5zdGFuY2VvZiBfLmVWPyh0aGlzLmxlZnQrPWEueCx0aGlzLnRvcCs9YS55KToodGhpcy5sZWZ0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9YikpO3JldHVybiB0aGlzfTsKXy5nLnNjYWxlPWZ1bmN0aW9uKGEsYil7Yj10eXBlb2YgYj09PSJudW1iZXIiP2I6YTt0aGlzLmxlZnQqPWE7dGhpcy53aWR0aCo9YTt0aGlzLnRvcCo9Yjt0aGlzLmhlaWdodCo9YjtyZXR1cm4gdGhpc307CnZhciB2VT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnRva2VuPWF9c3RhdGljIGFzeW5jIGpjKCl7cmV0dXJuIG5ldyBQcm9taXNlKGE9PntfLlBsKCkudGhlbihiPT57Yj8odlUuaW5zdGFuY2V8fCh2VS5pbnN0YW5jZT1uZXcgdlUoYikpLGEodlUuaW5zdGFuY2UpKTphKHZvaWQgMCl9KX0pfWFzeW5jIGdldChhKXtpZihhPWF3YWl0IChhd2FpdCBHUSh0aGlzLnRva2VuKSkuZ2V0KCJwcmVmcyIsYSkpe3ZhciBiPSgwLF8uZWwpKCk7cmV0dXJuIGEuZXhwaXJhdGlvblRpbWVzdGFtcE1zPD1iP3ZvaWQgMDphLnZhbHVlfX1hc3luYyBzZXQoYSxiLGM9MzE1MzZFMyl7dmFyIGQ9KDAsXy5lbCkoKTthPXtrZXk6YSx2YWx1ZTpiLGV4cGlyYXRpb25UaW1lc3RhbXBNczpkK2MqMUUzfTtiPWF3YWl0IEdRKHRoaXMudG9rZW4pO2F3YWl0IF8ubWwoYiwicHJlZnMiLGEpfWFzeW5jIHJlbW92ZShhKXthd2FpdCAoYXdhaXQgR1EodGhpcy50b2tlbikpLmRlbGV0ZSgicHJlZnMiLGEpfX0sWVE9Cm51bGwsZlY9e1NuOnsxRTM6e290aGVyOiIwSyJ9LDFFNDp7b3RoZXI6IjAwSyJ9LDFFNTp7b3RoZXI6IjAwMEsifSwxRTY6e290aGVyOiIwTSJ9LDFFNzp7b3RoZXI6IjAwTSJ9LDFFODp7b3RoZXI6IjAwME0ifSwxRTk6e290aGVyOiIwQiJ9LDFFMTA6e290aGVyOiIwMEIifSwxRTExOntvdGhlcjoiMDAwQiJ9LDFFMTI6e290aGVyOiIwVCJ9LDFFMTM6e290aGVyOiIwMFQifSwxRTE0OntvdGhlcjoiMDAwVCJ9fSxWczp7MUUzOntvdGhlcjoiMCB0aG91c2FuZCJ9LDFFNDp7b3RoZXI6IjAwIHRob3VzYW5kIn0sMUU1OntvdGhlcjoiMDAwIHRob3VzYW5kIn0sMUU2OntvdGhlcjoiMCBtaWxsaW9uIn0sMUU3OntvdGhlcjoiMDAgbWlsbGlvbiJ9LDFFODp7b3RoZXI6IjAwMCBtaWxsaW9uIn0sMUU5OntvdGhlcjoiMCBiaWxsaW9uIn0sMUUxMDp7b3RoZXI6IjAwIGJpbGxpb24ifSwxRTExOntvdGhlcjoiMDAwIGJpbGxpb24ifSwxRTEyOntvdGhlcjoiMCB0cmlsbGlvbiJ9LDFFMTM6e290aGVyOiIwMCB0cmlsbGlvbiJ9LAoxRTE0OntvdGhlcjoiMDAwIHRyaWxsaW9uIn19fSxyUj1mVjtyUj1mVjt2YXIgcVI9e0FFRDpbMiwiZGgiLCJcdTA2MmYuXHUwNjI1LiJdLEFMTDpbMCwiTGVrIiwiTGVrIl0sQVVEOlsyLCIkIiwiQVUkIl0sQkRUOlsyLCJcdTA5ZjMiLCJUayJdLEJHTjpbMiwibGV2IiwibGV2Il0sQlJMOlsyLCJSJCIsIlIkIl0sQ0FEOlsyLCIkIiwiQyQiXSxDREY6WzIsIkZyQ0QiLCJDREYiXSxDSEY6WzIsIkNIRiIsIkNIRiJdLENMUDpbMCwiJCIsIkNMJCJdLENOWTpbMiwiXHUwMGE1IiwiUk1CXHUwMGE1Il0sQ09QOlszMiwiJCIsIkNPTCQiXSxDUkM6WzAsIlx1MjBhMSIsIkNSXHUyMGExIl0sQ1pLOls1MCwiS1x1MDEwZCIsIktcdTAxMGQiXSxES0s6WzUwLCJrci4iLCJrci4iXSxET1A6WzIsIlJEJCIsIlJEJCJdLEVHUDpbMiwiXHUwMGEzIiwiTEUiXSxFVEI6WzIsIkJpcnIiLCJCaXJyIl0sRVVSOlsyLCJcdTIwYWMiLCJcdTIwYWMiXSxHQlA6WzIsIlx1MDBhMyIsIkdCXHUwMGEzIl0sSEtEOlsyLCIkIiwiSEskIl0sSFJLOlsyLCJrbiIsImtuIl0sSFVGOlszNCwKIkZ0IiwiRnQiXSxJRFI6WzAsIlJwIiwiUnAiXSxJTFM6WzM0LCJcdTIwYWEiLCJJTFx1MjBhYSJdLElOUjpbMiwiXHUyMGI5IiwiUnMiXSxJUlI6WzAsIlJpYWwiLCJJUlIiXSxJU0s6WzAsImtyIiwia3IiXSxKTUQ6WzIsIiQiLCJKQSQiXSxKUFk6WzAsIlx1MDBhNSIsIkpQXHUwMGE1Il0sS1JXOlswLCJcdTIwYTkiLCJLUlx1MjBhOSJdLExLUjpbMiwiUnMiLCJTTFJzIl0sTFRMOlsyLCJMdCIsIkx0Il0sTU5UOlswLCJcdTIwYWUiLCJNTlx1MjBhZSJdLE1WUjpbMiwiUmYiLCJNVlIiXSxNWE46WzIsIiQiLCJNZXgkIl0sTVlSOlsyLCJSTSIsIlJNIl0sTk9LOls1MCwia3IiLCJOT2tyIl0sUEFCOlsyLCJCLy4iLCJCLy4iXSxQRU46WzIsIlMvLiIsIlMvLiJdLFBIUDpbMiwiXHUyMGIxIiwiUEhQIl0sUEtSOlswLCJScyIsIlBLUnMuIl0sUExOOls1MCwielx1MDE0MiIsInpcdTAxNDIiXSxST046WzIsIlJPTiIsIlJPTiJdLFJTRDpbMCwiZGluIiwiUlNEIl0sUlVCOls1MCwiXHUyMGJkIiwKIlJVQiJdLFNBUjpbMiwiU0FSIiwiU0FSIl0sU0VLOls1MCwia3IiLCJrciJdLFNHRDpbMiwiJCIsIlMkIl0sVEhCOlsyLCJcdTBlM2YiLCJUSEIiXSxUUlk6WzIsIlx1MjBiYSIsIlRSWSJdLFRXRDpbMiwiJCIsIk5UJCJdLFRaUzpbMCwiVFNoIiwiVFNoIl0sVUFIOlsyLCJcdTA0MzNcdTA0NDBcdTA0M2QuIiwiVUFIIl0sVVNEOlsyLCIkIiwiVVMkIl0sVVlVOlsyLCIkIiwiJFUiXSxWTkQ6WzQ4LCJcdTIwYWIiLCJWTlx1MjBhYiJdLFlFUjpbMCwiUmlhbCIsIlJpYWwiXSxaQVI6WzIsIlIiLCJaQVIiXX07dmFyIGdWOwpnVj17REFZOntMT05HOiJvbmV7IyBkYXl9b3RoZXJ7IyBkYXlzfSIsU0hPUlQ6Im9uZXsjIGRheX1vdGhlcnsjIGRheXN9IixOQVJST1c6Im9uZXsjZH1vdGhlcnsjZH0ifSxIT1VSOntMT05HOiJvbmV7IyBob3VyfW90aGVyeyMgaG91cnN9IixTSE9SVDoib25leyMgaHJ9b3RoZXJ7IyBocn0iLE5BUlJPVzoib25leyNofW90aGVyeyNofSJ9LE1JTlVURTp7TE9ORzoib25leyMgbWludXRlfW90aGVyeyMgbWludXRlc30iLFNIT1JUOiJvbmV7IyBtaW59b3RoZXJ7IyBtaW59IixOQVJST1c6Im9uZXsjbX1vdGhlcnsjbX0ifSxNT05USDp7TE9ORzoib25leyMgbW9udGh9b3RoZXJ7IyBtb250aHN9IixTSE9SVDoib25leyMgbXRofW90aGVyeyMgbXRoc30iLE5BUlJPVzoib25leyNtfW90aGVyeyNtfSJ9LFNFQ09ORDp7TE9ORzoib25leyMgc2Vjb25kfW90aGVyeyMgc2Vjb25kc30iLFNIT1JUOiJvbmV7IyBzZWN9b3RoZXJ7IyBzZWN9IixOQVJST1c6Im9uZXsjc31vdGhlcnsjc30ifSxXRUVLOntMT05HOiJvbmV7IyB3ZWVrfW90aGVyeyMgd2Vla3N9IiwKU0hPUlQ6Im9uZXsjIHdrfW90aGVyeyMgd2tzfSIsTkFSUk9XOiJvbmV7I3d9b3RoZXJ7I3d9In0sWUVBUjp7TE9ORzoib25leyMgeWVhcn1vdGhlcnsjIHllYXJzfSIsU0hPUlQ6Im9uZXsjIHlyfW90aGVyeyMgeXJzfSIsTkFSUk9XOiJvbmV7I3l9b3RoZXJ7I3l9In19O3ZhciBoVj17Q2U6WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9LCB7MX0iXSxSbjpbInswfSBhbmQgezF9IiwiezB9ICYgezF9IiwiezB9LCB7MX0iXSxtazpbInswfSwgYW5kIHsxfSIsInswfSwgJiB7MX0iLCJ7MH0sIHsxfSJdLGlvOlsiezB9IG9yIHsxfSIsInswfSBvciB7MX0iLCJ7MH0gb3IgezF9Il0seGs6WyJ7MH0sIG9yIHsxfSIsInswfSwgb3IgezF9IiwiezB9LCBvciB7MX0iXSxybzpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il0scW86WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdLEFrOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXX07CmhWPXtDZTpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0sIHsxfSJdLFJuOlsiezB9IGFuZCB7MX0iLCJ7MH0gJiB7MX0iLCJ7MH0sIHsxfSJdLG1rOlsiezB9LCBhbmQgezF9IiwiezB9LCAmIHsxfSIsInswfSwgezF9Il0saW86WyJ7MH0gb3IgezF9IiwiezB9IG9yIHsxfSIsInswfSBvciB7MX0iXSx4azpbInswfSwgb3IgezF9IiwiezB9LCBvciB7MX0iLCJ7MH0sIG9yIHsxfSJdLHJvOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXSxxbzpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il0sQWs6WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdfTt2YXIgWGxhPWNsYXNze2NvbnN0cnVjdG9yKCl7dmFyIGE9e3R5cGU6InVuaXQiLHN0eWxlOiJuYXJyb3cifTt0aGlzLkk9YSYmYS50eXBlP2EudHlwZToiY29uanVuY3Rpb24iO3RoaXMuSz1hJiZhLnN0eWxlP2Euc3R5bGU6ImxvbmciO3RoaXMuaj1oVjthPTA7c3dpdGNoKHRoaXMuSyl7Y2FzZSAic2hvcnQiOmE9MTticmVhaztjYXNlICJuYXJyb3ciOmE9Mn1zd2l0Y2godGhpcy5JKXtjYXNlICJjb25qdW5jdGlvbiI6dGhpcy5CPXRoaXMuai5DZVthXTt0aGlzLkQ9KHRoaXMuai5Sbnx8dGhpcy5qLm1rKVthXTt0aGlzLnY9KHRoaXMuai5qQ3x8dGhpcy5qLkNlKVthXTt0aGlzLm89dGhpcy5qLm1rW2FdO2JyZWFrO2Nhc2UgImRpc2p1bmN0aW9uIjp0aGlzLkI9KHRoaXMuai5RRnx8dGhpcy5qLkNlKVthXTt0aGlzLkQ9KHRoaXMuai5pb3x8dGhpcy5qLnhrKVthXTt0aGlzLnY9KHRoaXMuai5QRnx8dGhpcy5qLkNlKVthXTt0aGlzLm89dGhpcy5qLnhrW2FdO2JyZWFrO2Nhc2UgInVuaXQiOnRoaXMuQj0KKHRoaXMuai5yb3x8dGhpcy5qLkNlKVthXSx0aGlzLkQ9KHRoaXMuai5BSHx8dGhpcy5qLkFrKVthXSx0aGlzLnY9KHRoaXMuai5xb3x8dGhpcy5qLkNlKVthXSx0aGlzLm89dGhpcy5qLkFrW2FdfX1mb3JtYXQoYSl7cmV0dXJuIHhqYSh0aGlzLGEpfX07dmFyIGlSPXthcjoibGF0biIsImFyLUVHIjoiYXJhYiIsYm46ImJlbmciLGZhOiJhcmFiZXh0IixtcjoiZGV2YSIsbXk6Im15bXIiLG5lOiJkZXZhIn07dmFyIGlWPXtWbjoiLiIscms6IiwiLGpvOiIlIixCazoiMCIsV3Q6IisiLGFvOiItIixZbjoiRSIsa286Ilx1MjAzMCIsc2s6Ilx1MjIxZSIsQnQ6Ik5hTiIsZ3Q6IiMsIyMwLiMjIyIsekc6IiNFMCIsU0Y6IiMsIyMwJSIsRkM6Ilx1MDBhNCMsIyMwLjAwIixXbjoiVVNEIn0sZFI9aVY7ZFI9aVY7dmFyIGVSPUludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihbImVuLVVTIi5yZXBsYWNlKCJfIiwiLSIpXSkubGVuZ3RoPjAsalI9ITE7CmhSLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbihhLGIpe2I9Ynx8WzBdO2lmKHRoaXMub2EhPT0wKXRocm93IEVycm9yKCJPZCIpO2E9YS5yZXBsYWNlKC8gfFx1MjAyZi9nLCJcdTAwYTAiKTt2YXIgYz1hLmluZGV4T2YodGhpcy5NLGJbMF0pPT1iWzBdLGQ9YS5pbmRleE9mKHRoaXMuRCxiWzBdKT09YlswXTtjJiZkJiYodGhpcy5NLmxlbmd0aD50aGlzLkQubGVuZ3RoP2Q9ITE6dGhpcy5NLmxlbmd0aDx0aGlzLkQubGVuZ3RoJiYoYz0hMSkpO2M/YlswXSs9dGhpcy5NLmxlbmd0aDpkJiYoYlswXSs9dGhpcy5ELmxlbmd0aCk7aWYoYS5pbmRleE9mKGRSLnNrLGJbMF0pPT1iWzBdKXtiWzBdKz1kUi5zay5sZW5ndGg7dmFyIGU9SW5maW5pdHl9ZWxzZXtlPWE7bGV0IGY9ITEsaD0hMSxrPSExLGw9LTEsbT0xLG49ZFIuVm4scD1kUi5yayxyPWRSLlluO2lmKHRoaXMub2EhPTApdGhyb3cgRXJyb3IoIlBkIik7cD1wLnJlcGxhY2UoL1x1MjAyZi9nLCJcdTAwYTAiKTtsZXQgdD0iIjtmb3IoO2JbMF08CmUubGVuZ3RoO2JbMF0rKyl7bGV0IHY9ZS5jaGFyQXQoYlswXSksej1wUih2KTtpZih6Pj0wJiZ6PD05KXQrPXosaz0hMDtlbHNlIGlmKHY9PW4uY2hhckF0KDApKXtpZihmfHxoKWJyZWFrO3QrPSIuIjtmPSEwfWVsc2UgaWYodj09cC5jaGFyQXQoMCkmJigiXHUwMGEwIiE9cC5jaGFyQXQoMCl8fGJbMF0rMTxlLmxlbmd0aCYmcFIoZS5jaGFyQXQoYlswXSsxKSk+PTApKXtpZihmfHxoKWJyZWFrfWVsc2UgaWYodj09ci5jaGFyQXQoMCkpe2lmKGgpYnJlYWs7dCs9IkUiO2g9ITA7bD1iWzBdfWVsc2UgaWYodj09IisifHx2PT0iLSIpe2lmKGsmJmwhPWJbMF0tMSlicmVhazt0Kz12fWVsc2UgaWYodGhpcy52PT0xJiZ2PT1kUi5qby5jaGFyQXQoMCkpe2lmKG0hPTEpYnJlYWs7bT0xMDA7aWYoayl7YlswXSsrO2JyZWFrfX1lbHNlIGlmKHRoaXMudj09MSYmdj09ZFIua28uY2hhckF0KDApKXtpZihtIT0xKWJyZWFrO209MUUzO2lmKGspe2JbMF0rKzticmVha319ZWxzZSBicmVha310aGlzLnYhPQoxJiYobT10aGlzLnYpO2U9cGFyc2VGbG9hdCh0KS9tfWlmKGMpe2lmKGEuaW5kZXhPZih0aGlzLmdhLGJbMF0pIT1iWzBdKXJldHVybiBOYU47YlswXSs9dGhpcy5nYS5sZW5ndGh9ZWxzZSBpZihkKXtpZihhLmluZGV4T2YodGhpcy5VLGJbMF0pIT1iWzBdKXJldHVybiBOYU47YlswXSs9dGhpcy5VLmxlbmd0aH1yZXR1cm4gZD8tZTplfTsKaFIucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbihhKXtpZih0aGlzLkI+dGhpcy5qKXRocm93IEVycm9yKCJTZCIpO2lmKGVSJiZ0aGlzLkspeyh0aGlzLksuZm9ybWF0PT1udWxsfHx0aGlzLlFhfHx0aGlzLk1hfHx0aGlzLlZkfHxqUikmJmZSKHRoaXMpO2lmKE1hdGguYWJzKGEpPDEmJnRoaXMuaGE+dGhpcy5qKXt2YXIgYj1NYXRoLnBvdygxMCx0aGlzLmopO2E9TWF0aC5yb3VuZChNYXRoLmFicyhhKSpiKSpNYXRoLnNpZ24oYSkvYn10aGlzLksucmVzb2x2ZWRPcHRpb25zKCk7cmV0dXJuIHRoaXMuSy5mb3JtYXQoYSl9aWYoaXNOYU4oYSkpcmV0dXJuIGRSLkJ0O2I9W107dmFyIGM9YTtpZih0aGlzLm9hPT0wKWM9c1I7ZWxzZXtjPU1hdGguYWJzKGMpO3ZhciBkPXRSKHRoaXMsYzw9MT8wOnVSKGMpKS5wbDtjPXRSKHRoaXMsZCt1UihtUih0aGlzLGtSKGMsLWQpKS5pbnRWYWx1ZSkpfWE9a1IoYSwtYy5wbCk7KGQ9YTwwfHxhPT0wJiYxL2E8MCk/Yy53bT9iLnB1c2goYy53bSk6CihiLnB1c2goYy5wcmVmaXgpLGIucHVzaCh0aGlzLkQpKTooYi5wdXNoKGMucHJlZml4KSxiLnB1c2godGhpcy5NKSk7aWYoaXNGaW5pdGUoYSkpaWYoYSo9ZD8tMToxLGEqPXRoaXMudix0aGlzLkZhKXt2YXIgZT1hO2lmKGU9PTApblIodGhpcyxlLHRoaXMubyxiKSxvUih0aGlzLDAsYik7ZWxzZXt2YXIgZj1NYXRoLmZsb29yKE1hdGgubG9nKGUpL01hdGgubG9nKDEwKSsyRS0xNSk7ZT1rUihlLC1mKTt2YXIgaD10aGlzLm87dGhpcy5aPjEmJnRoaXMuWj50aGlzLm8/KGg9ZiV0aGlzLlosaDwwJiYoaD10aGlzLloraCksZT1rUihlLGgpLGYtPWgsaD0xKTp0aGlzLm88MT8oZisrLGU9a1IoZSwtMSkpOihmLT10aGlzLm8tMSxlPWtSKGUsdGhpcy5vLTEpKTtuUih0aGlzLGUsaCxiKTtvUih0aGlzLGYsYil9fWVsc2UgblIodGhpcyxhLHRoaXMubyxiKTtlbHNlIGIucHVzaChkUi5zayk7ZD9jLnhtP2IucHVzaChjLnhtKTooaXNGaW5pdGUoYSkmJmIucHVzaChjLnN1ZmZpeCksYi5wdXNoKHRoaXMuVSkpOgooaXNGaW5pdGUoYSkmJmIucHVzaChjLnN1ZmZpeCksYi5wdXNoKHRoaXMuZ2EpKTtyZXR1cm4gYi5qb2luKCIiKX07dmFyIHlqYT0iMCIuY29kZVBvaW50QXQoMCksc1I9e3BsOjAsd206IiIseG06IiIscHJlZml4OiIiLHN1ZmZpeDoiIn07dmFyIGpWLEJqYT1qVj1qVj16amE7dmFyIGtWLENSPWtWPWtWPUFqYTt2YXIgd1I9bnVsbCx4Uj1udWxsLHlSPW51bGwsRGphPVJlZ0V4cCgiJyhbe30jXS4qPyknIiwiZyIpLENqYT1SZWdFeHAoIicnIiwiZyIpO3pSLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7aWYodGhpcy52KXt0aGlzLkQ9W107dmFyIGI9RWphKHRoaXMsdGhpcy52KTt0aGlzLm89SFIodGhpcyxiKTt0aGlzLnY9bnVsbH1pZih0aGlzLm8mJnRoaXMuby5sZW5ndGghPTApZm9yKHRoaXMuaj1fLnliKHRoaXMuRCksYj1bXSxBUih0aGlzLHRoaXMubyxhLCExLGIpLGE9Yi5qb2luKCIiKTt0aGlzLmoubGVuZ3RoPjA7KWE9YS5yZXBsYWNlKHRoaXMuQih0aGlzLmopLFN0cmluZyh0aGlzLmoucG9wKCkpLnJlcGxhY2UoIiQiLCIkJCQkIikpO2Vsc2UgYT0iIjtyZXR1cm4gYX07dmFyIEVSPS9eXHMqKFx3KylccyosXHMqcGx1cmFsXHMqLCg/OlxzKm9mZnNldDooXGQrKSk/LyxGUj0vXlxzKihcdyspXHMqLFxzKnNlbGVjdG9yZGluYWxccyosLyxHUj0vXlxzKihcdyspXHMqLFxzKnNlbGVjdFxzKiwvOwp6Ui5wcm90b3R5cGUuQj1mdW5jdGlvbihhKXtyZXR1cm4iXHVmZGRmXyIrKGEubGVuZ3RoLTEpLnRvU3RyaW5nKDEwKSsiXyJ9O3ZhciBUamE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9WWxhfHxnVn1mb3JtYXQoYSl7dmFyIGI9W10sYz1hLnllYXJzLGQ9YS5tb250aHMsZT1hLndlZWtzLGY9YS5kYXlzLGg9YS5ob3VycyxrPWEubWludXRlczthPWEuc2Vjb25kcztjIT1udWxsJiZiLnB1c2goSVIodGhpcyxjLCJ5ZWFycyIpKTtkIT1udWxsJiZiLnB1c2goSVIodGhpcyxkLCJtb250aHMiKSk7ZSE9bnVsbCYmYi5wdXNoKElSKHRoaXMsZSwid2Vla3MiKSk7ZiE9bnVsbCYmYi5wdXNoKElSKHRoaXMsZiwiZGF5cyIpKTtoIT1udWxsJiZiLnB1c2goSVIodGhpcyxoLCJob3VycyIpKTtrIT1udWxsJiZiLnB1c2goSVIodGhpcyxrLCJtaW51dGVzIikpO2EhPW51bGwmJmIucHVzaChJUih0aGlzLGEsInNlY29uZHMiKSk7cmV0dXJuKG5ldyBYbGEpLmZvcm1hdChiKX19Oy8qCgogTUlUIExpY2Vuc2UKCiBDb3B5cmlnaHQgKGMpIDIwMTcgQWxleGFuZGVyIFJlYXJkb24KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogU09GVFdBUkUKKi8KdmFyIFpsYT0oYSxiKT0+e2lmKGEubGVuZ3RoIT09Yi5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDsrK2MpaWYoYVtjXSE9PWJbY10pcmV0dXJuITE7cmV0dXJuITB9O3ZhciBsVj1uZXcgXy5JKCJ3YXRjaE9uWW91dHViZUJ1dHRvblZpZXdNb2RlbCIpO3ZhciBFa2E9bmV3IF8uSSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIiKSxtVj1uZXcgXy5JKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNDb2xsYXBzZWRSZW5kZXJlciIpLG5WPW5ldyBfLkkoImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXIiKTt2YXIgT1M9bmV3IF8uSSgiZW1iZWRzSW5mb1BhbmVsUmVuZGVyZXIiKTt2YXIgJGxhPW5ldyBfLkkoIm1vYmlsZVRvcGJhclJlbmRlcmVyIik7dmFyIGFtYT1uZXcgXy5JKCJjYWxsVG9BY3Rpb25CdXR0b25WaWV3TW9kZWwiKTt2YXIgYm1hPW5ldyBfLkkoImludGVyc3RpdGlhbFZpZXdNb2RlbCIpO3ZhciBkbGE9bmV3IF8uSSgiY2luZW1hdGljQ29udGFpbmVyUmVuZGVyZXIiKTt2YXIgamthPW5ldyBfLkkoInZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsIik7dmFyIERrYT1uZXcgXy5JKCJmdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWwiKTt2YXIgb1Y9bmV3IF8uSSgicGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlciIpLHBWPW5ldyBfLkkoInBsYXllck11dGVkQXV0b3BsYXlFbmRTY3JlZW5SZW5kZXJlciIpO3ZhciBLUz1uZXcgXy5JKCJxdWlja0FjdGlvbnNWaWV3TW9kZWwiKTt2YXIgY21hPW5ldyBfLkkoInJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsIik7dmFyIEFsYT1uZXcgXy5JKCJjb25maXJtRGlhbG9nUmVuZGVyZXIiKTt2YXIgbWxhPW5ldyBfLkkoImJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyIik7dmFyIGRtYT1uZXcgXy5JKCJkaWFsb2dIZWFkZXJWaWV3TW9kZWwiKTt2YXIgZW1hPW5ldyBfLkkoImRpYWxvZ1ZpZXdNb2RlbCIpO3ZhciBXVT1uZXcgXy5JKCJwbGF5ZXJUb2FzdENvbW1hbmQiKTt2YXIgdmthPW5ldyBfLkkoImF1dG9wbGF5U3dpdGNoQnV0dG9uUmVuZGVyZXIiKTt2YXIgeGthPW5ldyBfLkkoImRlY29yYXRlZFBsYXllckJhclJlbmRlcmVyIiksRFM9bmV3IF8uSSgibXVsdGlNYXJrZXJzUGxheWVyQmFyUmVuZGVyZXIiKSxlVD1uZXcgXy5JKCJjaGFwdGVyUmVuZGVyZXIiKTt2YXIgeWthPW5ldyBfLkkoImRlY29yYXRlZFBsYXloZWFkUmVuZGVyZXIiKTt2YXIgQWthPW5ldyBfLkkoImZ1bGxzY3JlZW5FbmdhZ2VtZW50T3ZlcmxheVJlbmRlcmVyIiksQmthPW5ldyBfLkkoImZ1bGxzY3JlZW5FbmdhZ2VtZW50QWN0aW9uQmFyUmVuZGVyZXIiKSxmbWE9bmV3IF8uSSgiZnVsbHNjcmVlbkVuZ2FnZW1lbnRBY3Rpb25CYXJTYXZlQnV0dG9uUmVuZGVyZXIiKTt2YXIgZ21hPW5ldyBfLkkoImhlYXRNYXJrZXJSZW5kZXJlciIpO3ZhciB3a2E9bmV3IF8uSSgiaGVhdG1hcFJlbmRlcmVyIik7dmFyIHFWPW5ldyBfLkkoInRpbWVkTWFya2VyRGVjb3JhdGlvblJlbmRlcmVyIik7dmFyIGhtYT1bImVuLUNBIiwiZW4iLCJlcy1NWCIsImZyLUNBIl07dmFyIHJWO3JWPXticm93c2VFbmRwb2ludDp7YnJvd3NlSWQ6IkZFd2hhdF90b193YXRjaCJ9LGNvbW1hbmRNZXRhZGF0YTp7d2ViQ29tbWFuZE1ldGFkYXRhOnt1cmw6Ii8iLHJvb3RWZTozODU0LHdlYlBhZ2VUeXBlOiJXRUJfUEFHRV9UWVBFX0JST1dTRSJ9fX07dmFyIEtSPSExO3ZhciBLamE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89dGhpcy5qPTA7dGhpcy5qPWIueC1hLng7dGhpcy5vPWIueS1hLnl9fTt2YXIgJFQ9Xy5ndSh2b2lkIDAsIkJERXFKYiIpO3ZhciBzVj13aW5kb3csWj1zVi5HSHx8ImVuLVVTIixTamE9c1YuSEh8fENSLFlsYT1zVi5GSHx8Z1Y7dmFyIFFSO3ZhciB1a2E9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5IPWF9dG9nZ2xlRnVsbHNjcmVlbigpe3RoaXMuSC50b2dnbGVGdWxsc2NyZWVuKCl9ZXhpdEZ1bGxzY3JlZW4oKXt0aGlzLmlzRnVsbHNjcmVlbigpJiZ0aGlzLnRvZ2dsZUZ1bGxzY3JlZW4oKX1pc0Z1bGxzY3JlZW4oKXtyZXR1cm4gdGhpcy5ILmlzRnVsbHNjcmVlbigpfX07dmFyIFRSPV8uTCgoe3RhOmF9KT0+Xy5LKF8uZkose2RhdGE6KCk9Pnt2YXIgYj1jUih7dGl0bGU6Xy5JUChfLiROLm5rKSxrbDphKCkuZGUoKSxpY29uVHlwZToiQVVUT1BMQVkiLEVrOl8uJE4ubmssRGs6Xy4kTi5ua30pO3JldHVybiBfLkIoYixfLk1QKX0sb25UYXA6ZnVuY3Rpb24oYil7dmFyIGM9IWEoKS5kZSgpO2EoKS5SaihjLCEwKTtiLnN0b3BQcm9wYWdhdGlvbigpO18uWE0oInBmcC1hdXRvbmF2LXVwZGF0ZSIse2F1dG9uYXZFbmFibGVkOmN9KX19KSwiWWIiKTtUUi5pZG9tQ29tcGF0PSEwO3ZhciBpbWE9Xy4kTi5hdSxjUz1fLkwoKCk9Pnt2YXIgYT0oKT0+Xy5CKGJSKHt0aXRsZTpfLklQKGltYSksaWNvblR5cGU6IlBFUlNPTl9DSVJDTEUifSksXy5aQyk7cmV0dXJuIF8uSyhfLkNELHtkYXRhOmEsSWE6ITAsb25UYXA6KCk9Pnt2YXIgYj1fLktPKCk/Xy5GTygiLy95b3V0dWJlLmNvbS9zaWduaW4iLCJuZXh0IiwiL3NpZ25pbj9hY3Rpb25fY2xvc2VfdGFiPXRydWUiKTpfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9FTUJFRERFRF9QTEFZRVIiP18uRk8oIi8veW91dHViZS5jb20vc2lnbmluIiwibmV4dCIsIi9wb3N0X2xvZ2luIik6Xy5GTygiLy95b3V0dWJlLmNvbS9zaWduaW4iLCJuZXh0Iixsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5zZWFyY2gpO18uQUooe3NpZ25JbkVuZHBvaW50Ont9LGNvbW1hbmRNZXRhZGF0YTp7d2ViQ29tbWFuZE1ldGFkYXRhOnt1cmw6Yn19fSxhKCksITEpfX0pfSwiWmIiKTtjUy5pZG9tQ29tcGF0PSEwO3ZhciBqbWE9Xy4kTi5XcyxrbWE9Xy4kTi5ZcyxsbWE9Xy4kTi5UbixWamE9Xy5MKCh7ZnY6YX0pPT57dmFyIGI9ImNvcHktZGVidWctaW5mby10ZXh0YXJlYSIrXy5PSCgpO3JldHVybiBfLksoXy5yRSx7UWc6KCk9Pl8uSyhfLkFQLG51bGwsbG1hKSxxazooKT0+Xy5LKCJ0ZXh0YXJlYSIse2NsYXNzOiJjb3B5RGVidWdJbmZvUGxheWVyRGVidWdJbmZvIixpZDpifSxhKSxFejooKT0+Xy5LKF8uelAsbnVsbCxfLksoXy5KSyx7ZGF0YTp7YnV0dG9uVGV4dDpqbWEsc3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUiLHNpemU6Ik0iLG9uVGFwOigpPT57Xy55KCkucmVzb2x2ZShfLnlQKS5sZCgpfX19KSksUHI6KCk9Pl8uSyhfLnpQLG51bGwsXy5LKF8uSksse2RhdGE6e2J1dHRvblRleHQ6a21hLHN0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIixzaXplOiJNIixvblRhcDooKT0+e18uc1AoYik7Xy55KCkucmVzb2x2ZShfLnlQKS5sZCgpfX19KSl9KX0sCiIkYiIpO3ZhciBtbWE9Xy4kTi5UbiwkUj1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChtbWEpLGljb25UeXBlOiJCVUdfUkVQT1JUIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57V2phKGEoKSl9fSksImFjIik7JFIuaWRvbUNvbXBhdD0hMDt2YXIgbm1hPV8uJE4uWnMsWlI9Xy5MKCh7SDphfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAobm1hKSxpY29uVHlwZToiQ09ERSJ9KSxfLlpDKSxJYTohMCxvblRhcDooKT0+e3ZhciBiPWEoKS5nZXRWaWRlb0VtYmVkQ29kZSgpO2ImJmImJndpbmRvdy5uYXZpZ2F0b3I/LmNsaXBib2FyZCYmd2luZG93Lm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGIpfX0pLCJiYyIpO1pSLmlkb21Db21wYXQ9ITA7dmFyIG9tYT1fLiROLmJ0LHBtYT1fLiROLmZ0LFdSPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKG9tYSksaWNvblR5cGU6IkxJTksifSksXy5aQyksSWE6ITAsb25UYXA6KCk9PntSUihhKCksITEpfX0pLCJjYyIpO1dSLmlkb21Db21wYXQ9ITA7dmFyIFlSPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKHBtYSksaWNvblR5cGU6IkxJTksifSksXy5aQyksSWE6ITAsb25UYXA6KCk9PntSUihhKCksITApfX0pLCJkYyIpO1lSLmlkb21Db21wYXQ9ITA7dmFyIHRWPV8uJE4udXQsVlI9Xy5MKCh7SDphfSk9Pl8uSyhfLmZKLHtkYXRhOigpPT57dmFyIGI9Y1Ioe3RpdGxlOl8uSVAodFYpLGtsOmEoKS5nZXRMb29wVmlkZW8oKSxFazp0VixEazp0VixpY29uVHlwZToiTE9PUCJ9KTtyZXR1cm4gXy5CKGIsXy5NUCl9LG9uVGFwOmI9PnthKCkuc2V0TG9vcFZpZGVvKCFhKCkuZ2V0TG9vcFZpZGVvKCkpO2Iuc3RvcFByb3BhZ2F0aW9uKCl9fSksImVjIik7VlIuaWRvbUNvbXBhdD0hMDt2YXIgVVI9Xy5MKCh7SDphfSk9Pl8uSygic3RhYmxlLXZvbHVtZS10b2dnbGUiLHtjbGFzczoic3RhYmxlVm9sdW1lVG9nZ2xlSG9zdCJ9LF8uSyhfLmZKLHtkYXRhOigpPT5fLkIoY1Ioe3RpdGxlOl8uSVAoXy4kTi55ayksa2w6YSgpLmhhc0RyY0F1ZGlvVHJhY2soKSYmYSgpLmdldERyY1VzZXJQcmVmZXJlbmNlKCk9PT0xLGljb25UeXBlOiJWT0xVTUVfU1RBQkxFIixFazpfLiROLnlrLERrOl8uJE4ueWssaXNEaXNhYmxlZDohYSgpLmhhc0RyY0F1ZGlvVHJhY2soKX0pLF8uTVApLG9uVGFwOmZ1bmN0aW9uKGIpe2EoKS5zZXREcmNVc2VyUHJlZmVyZW5jZShhKCkuaGFzRHJjQXVkaW9UcmFjaygpJiZhKCkuZ2V0RHJjVXNlclByZWZlcmVuY2UoKT09PTE/MDoxKTtiLnN0b3BQcm9wYWdhdGlvbigpfX0pKSwiZmMiKTtVUi5pZG9tQ29tcGF0PSEwO3ZhciBxbWE9Xy4kTi5idSxiUz1fLkwoKHtIOmF9KT0+e3ZhciBiPSgpPT5fLkIoYlIoe3RpdGxlOl8uSVAocW1hKSxpY29uVHlwZToiSU5GTyJ9KSxfLlpDKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+ISFhKCkuZ2V0VmlkZW9EYXRhLHRoZW46KCk9Pl8uSyhfLkNELHtkYXRhOmIsSWE6ITAsb25UYXA6KCk9Pnt2YXIgYz1hKCk7IWMuZ2V0VmlkZW9EYXRhfHwoYy5pc1ZpZGVvSW5mb1Zpc2libGUoKT9jLmhpZGVWaWRlb0luZm8oKTpjLnNob3dWaWRlb0luZm8oKSl9fSl9KX0sImdjIik7YlMuaWRvbUNvbXBhdD0hMDt2YXIgcm1hPV8uJE4uZHUsYVM9Xy5MKCh7SDphfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAocm1hKSxpY29uVHlwZToiUVVFU1RJT05fQ0lSQ0xFIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57YSgpLnJlcG9ydFBsYXliYWNrSXNzdWUmJihhKCkucmVwb3J0UGxheWJhY2tJc3N1ZSgpLF8ucVAoe2hyZWY6Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3lvdXR1YmUvP3A9cmVwb3J0X3BsYXliYWNrIn0pKX19KSwiaGMiKTthUy5pZG9tQ29tcGF0PSEwO3ZhciBzbWE9Xy4kTi53dCxvUz1fLkwoKHtIOmEsb2g6Yix0YTpjLHRBOmR9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChzbWEpLGljb25UeXBlOiJPVVRMSU5FX09WRVJGTE9XX0hPUklaT05UQUxfMzIifSksXy5aQyksSWE6ITAsb25UYXA6KCk9PntYamEoYSgpLGIoKSxjPy4oKSxkPy4oKSl9fSksImljIik7b1MuaWRvbUNvbXBhdD0hMDt2YXIgZ2thPV8uJE4ubW8sWWphPV8uJE4ubm8sWmphPV8uJE4uVHQsZmthPV8uJE4uUnQsZWthPV8uJE4uU3QsaGthPV8uJE4uWHQsYWthPVs1MCwxMDAsMTI1LDE1MCwxNzUsMjAwXSwkamE9WzEwMCwxMjUsMTUwLDE3NSwyMDAsMzAwXSxja2E9WzUwLDEwMCwxMjUsMTUwLDIwMF0sYmthPVsxMDAsMTI1LDE1MCwyMDAsMzAwXSxoUzt2YXIgdG1hPV8uJE4ubW8sdW1hPV8uJE4ubm8sbVM9Xy5MKCh7SDphfSk9Pnt2YXIgYj0oKT0+e3ZhciBkPWEoKT8uZ2V0UGxheWJhY2tSYXRlKCksZT1fLmFBKCJQTEFZQkFDS19TUEVFRF9YIix7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcjpgJHtkfWB9KTtyZXR1cm4gXy5CKGJSKHt0aXRsZTpfLklQKHRtYSksc2VsZWN0aW9uVGV4dDpfLklQKGQ9PT0xP3VtYTplKSxpY29uVHlwZToiUExBWV9BUlJPV19IQUxGX0NJUkNMRSJ9KSxfLlpDKX0sYz0oKT0+e2trYShhKCkpfTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+ISFhKCk/LmdldFBsYXliYWNrUmF0ZSgpLHRoZW46KCk9Pl8uSyhfLkNELHtkYXRhOmIsSWE6ITAsb25UYXA6Y30pfSl9LCJqYyIpO21TLmlkb21Db21wYXQ9ITA7dmFyIHZtYT1fLiROLk5zLG5TPV8uTCgoKT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOl8uSVAodm1hKSxsaXN0SXRlbUljb25BZnRlclNlbGVjdGlvblRleHQ6IkxJU1RfSVRFTV9JQ09OX0FGVEVSX1NFTEVDVElPTl9URVhUX0RFRkFVTFQiLGxlYWRpbmdJbWFnZTp7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6IlBFUlNPTl9SQURBUiJ9fV19LGVudGl0eUtleToiRWlvdmVXOTFkSFZpWlM5aGNIQXZjR3hoZVdWeVgyRjFaR2x2WDNSeVlXTnJYMlZ1ZEdsMGVWOXJaWGtnX2dJb0FRJTNEJTNEIixlbnRpdHlTZWxlY3RvclR5cGU6IkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0FVRElPX1RSQUNLX1NFTEVDVElPTl9URVhUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7Y29tbWFuZEV4ZWN1dG9yQ29tbWFuZDp7Y29tbWFuZHM6W3tzaG93QXVkaW9UcmFja1BpY2tlckFjdGlvbkNvbW1hbmQ6e319XX19fX19fX0sCl8uWkMpLElhOiEwfSksImtjIik7blMuaWRvbUNvbXBhdD0hMDt2YXIgd21hPV8uJE4uRXQseG1hPV8uJE4uRnQscGthPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+e3ZhciBiPWEoKT8uZ2V0T3B0aW9uKCJjYXB0aW9ucyIsInRyYWNrIiksYz10eXBlb2YgYj8udHJhbnNsYXRpb25MYW5ndWFnZT09PSJvYmplY3QiJiZiLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8Yj8uZGlzcGxheU5hbWV8fCIiO3JldHVybiBfLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTpfLklQKHdtYSksbGlzdEl0ZW1JY29uQWZ0ZXJTZWxlY3Rpb25UZXh0OiJMSVNUX0lURU1fSUNPTl9BRlRFUl9TRUxFQ1RJT05fVEVYVF9ERUZBVUxUIixzZWxlY3Rpb25UZXh0Ontjb250ZW50OmM/Yzp4bWF9LGxlYWRpbmdJbWFnZTp7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6Yz8iQ0xPU0VEX0NBUFRJT05fU0VMRUNURUQiOiJDTE9TRURfQ0FQVElPTiJ9fV19LGVudGl0eUtleToiRWk4dmVXOTFkSFZpWlM5aGNIQXZjR3hoZVdWeVgyTmhjSFJwYjI1ZmJHRnVaM1ZoWjJWZlpXNTBhWFI1WDJ0bGVTRC1BaWdCIiwKZW50aXR5U2VsZWN0b3JUeXBlOiJMSVNUX0lURU1fVklFV19NT0RFTF9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DQVBUSU9OX0xBTkdVQUdFX1NFTEVDVElPTl9URVhUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7Y29tbWFuZEV4ZWN1dG9yQ29tbWFuZDp7Y29tbWFuZHM6W3tzaG93Q2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDp7fX1dfX19fX0saXNEaXNhYmxlZDp0eXBlb2YgYj09PSJ1bmRlZmluZWQifX0sXy5aQyl9LElhOiEwfSksImxjIik7dmFyIGxrYT17YXV0bzowLHRpbnk6MTQ0LGxpZ2h0OjE0NCxzbWFsbDoyNDAsbWVkaXVtOjM2MCxsYXJnZTo0ODAsaGQ3MjA6NzIwLGhkMTA4MDoxMDgwLGhkMTQ0MDoxNDQwLGhkMjE2MDoyMTYwLGhkMjg4MDoyODgwLGhpZ2hyZXM6NDMyMH07dmFyIHltYT1fLiROLk50LG1rYT1fLiROLk90LGxTPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+e3ZhciBiPWJSKHt0aXRsZTpfLklQKHltYSksc2VsZWN0aW9uVGV4dDpfLklQKGtTKGEoKSxhKCkuZ2V0UGxheWJhY2tRdWFsaXR5KCkpKSxpY29uVHlwZToiT1VUTElORV9BREpVU1QifSk7cmV0dXJuIF8uQihiLF8uWkMpfSxJYTohMCxvblRhcDooKT0+e2EoKS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzKCkmJm9rYShhKCkpfX0pLCJtYyIpO2xTLmlkb21Db21wYXQ9ITA7CnZhciBua2E9Xy5MKCh7SDphfSk9Pl8uSyhfLmdHLHtwYTooKT0+YSgpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSx0YjoiSU5ERVgifSxiPT5fLksoXy5DRCx7ZGF0YTooKT0+e3ZhciBjPWIoKSxkPWEoKS5nZXRQcmVmZXJyZWRRdWFsaXR5KCk7Yz1iUih7dGl0bGU6Xy5JUChrUyhhKCksYykpLGljb25UeXBlOmM9PT1kPyJDSEVDSyI6dm9pZCAwfSk7cmV0dXJuIF8uQihjLF8uWkMpfSxJYTohMCxvblRhcDooKT0+e3ZhciBjPWIoKTthKCkuc2V0UGxheWJhY2tRdWFsaXR5UmFuZ2UoYyxjKX19KSksIm5jIik7dmFyIFJTPW5ldyBTZXQsUVM9bnVsbDt2YXIgVFM9bnVsbCxWUz17fTt2YXIgdVY9Xy5MKGE9Pnt2YXIgYj1fLnZFKCJidXR0b24iLGQ9PntkJiZXUyhkLDI4NTcyLCFfLngoImVtYmVkc19jdWVkX292ZXJsYXlfdmVfa3MiKSl9KSxjPSgpPT5hLkcoKS5IPy5pc0VtYmVkc1Nob3J0c01vZGU/LigpO3JldHVybiBfLksoImN1ZWQtb3ZlcmxheSIse2NsYXNzOl8uUCgieXRtQ3VlZE92ZXJsYXlIb3N0Iix7eXRtQ3VlZE92ZXJsYXlIaWRkZW46KCk9PiEkUyhhLkcoKSxhLnBsYXlhYmlsaXR5U3RhdHVzPy4oKSl9KSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2IudmFsdWUmJihYUygyODU3MiksYS5HKCkuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCxfLksudmlzdWFsRWxlbWVudCksYS5IPy4oKS5wbGF5VmlkZW8oKSk7ZC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6KCk9PiFhLkcoKS5iYT8uaGlkZVZpZGVvSW5mbyYmIXVTKGEuRygpKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1DdWVkT3ZlcmxheUdyYWRpZW50In0pfSksXy5LKCJidXR0b24iLAp7Y2xhc3M6Xy5QKCJ5dG1DdWVkT3ZlcmxheVBsYXlCdXR0b24iLHt5dG1DdWVkT3ZlcmxheVNob3J0czpjfSksZWw6YiwiYXJpYS1sYWJlbCI6Xy4kTi5QZyx0aXRsZTpfLiROLlBnfSxfLksoXy5NRCx7aWNvbjooKT0+YygpPyJZT1VUVUJFX1NIT1JUU19CUkFORF8yNCI6IkxPR08iLGNsYXNzTmFtZToieXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uSWNvbiJ9KSkpfSwib2MiKTt1Vi5pZG9tQ29tcGF0PSEwO3ZhciBhVDt2YXIgQW1hPV8uTCgoe0p6OmEsbXVsdGlNYXJrZXJzUGxheWVyQmFyUmVuZGVyZXI6Yixwcm9ncmVzc0JhcldpZHRoOmMscHJvZ3Jlc3NDb2xvcjpkfSk9Pnt2YXIgZT0oKT0+Z1QoYigpKSxmPSgpPT5qVChhKCkpLGg9KCk9PmMoKSooYSgpLnZhL2EoKS52aWRlb0R1cmF0aW9uKTtyZXR1cm4gXy5LKCJ5dC1jaGFwdGVyZWQtcHJvZ3Jlc3MtYmFyLWxpbmUiLHtjbGFzczoieXRDaGFwdGVyZWRQcm9ncmVzc0Jhckhvc3QifSxfLksoXy5nRyx7cGE6ZX0sKGssbCk9Pl8uSyh6bWEse055OmYsY2hhcHRlcnM6ZSxpbmRleDpsLEN6OmgscHJvZ3Jlc3NDb2xvcjpkLER1OigpPT57dmFyIG09alQoYSgpKSxuPWdUKGIoKSkscD1sKCkscj1oKCk7cmV0dXJuKG0udmEtaFQoXy5CKG5bcF0sZVQpKSkvbS52YSpyfX0pKSl9LCJwYyIpLHptYT1fLkwoKHtOeTphLGNoYXB0ZXJzOmIsaW5kZXg6YyxDejpkLER1OmUscHJvZ3Jlc3NDb2xvcjpmfSk9Pnt2YXIgaD1fLlAoInl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyIiwKe3l0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVySXNTY3J1YmJpbmc6KCk9PmsoKS5ibSx5dENoYXB0ZXJlZFByb2dyZXNzQmFySG92ZXJlZE1hY3JvTWFya2VyOigpPT5rKCkuQmcseXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJTZWVuOigpPT5rKCkuTGQ9PT0ic2VlbiJ9KSxrPSgpPT5pVChhKCksYigpLGMoKSksbD0oKT0+e3ZhciBtPWY/LigpO3JldHVybiBtIT09dm9pZCAwP18uSkUobSk6dm9pZCAwfTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpoLHN0eWxlOl8uSUUoe3dpZHRoOigpPT57dmFyIG09YSgpLG49YigpLHA9YygpLHI9Xy5CKG5bcF0sZVQpO249Xy5CKG5bcCsxXSxlVCk7cmV0dXJuYCR7KG4/aFQobiktaFQocik6bS52aWRlb0R1cmF0aW9uLWhUKHIpKS9tLnZpZGVvRHVyYXRpb24qMTAwfSVgfSwiYmFja2dyb3VuZC1jb2xvciI6KCk9PnthOnt2YXIgbT1rKCk7c3dpdGNoKG0uTGQpe2Nhc2UgInBlbmRpbmciOm09Cm0uQmc/IndoaXRlIjoicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSI7YnJlYWsgYTtjYXNlICJhY3RpdmUiOm09bS5CZz8id2hpdGUiOiJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpIjticmVhayBhO2RlZmF1bHQ6bT0iIn19cmV0dXJuYCR7bX1gfSwiYmFja2dyb3VuZC1zaXplIjooKT0+YCR7b1QoaygpKT9kKCk6IiJ9cHhgLCJiYWNrZ3JvdW5kLXBvc2l0aW9uLXgiOigpPT5gJHtvVChrKCkpP2UoKToiIn1weGAsYmFja2dyb3VuZDooKT0+aygpLkxkPT09InNlZW4iP2woKTp2b2lkIDB9KX0sXy5LKCJkaXYiLHtjbGFzczoieXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckxvYWRlZCIsc3R5bGU6KCk9Pnt2YXIgbT1hKCksbj1iKCkscD1jKCk7aWYoaVQobSxuLHApLkxkPT09InNlZW4iKXZhciByPTA7ZWxzZSByPWhUKF8uQihuW3BdLGVUKSksbj1oVChfLkIobltwKzFdLGVUKSl8fG0udmlkZW9EdXJhdGlvbixtPW0udmlkZW9EdXJhdGlvbiptLlFtLHI9bjw9Cm0/MTpyPj1tPzA6KG0tcikvKG4tcik7cmV0dXJuYHdpZHRoOiAke3IqMTAwfSVgfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJGaWxsIixzdHlsZTpfLklFKHt3aWR0aDooKT0+YCR7blQoYSgpLGIoKSxjKCkpKjEwMH0lYCwiYmFja2dyb3VuZC1zaXplIjooKT0+YCR7b1QoaygpLG5UKGEoKSxiKCksYygpKSk/ZCgpOiIifXB4YCwiYmFja2dyb3VuZC1wb3NpdGlvbi14IjooKT0+YCR7b1QoaygpLG5UKGEoKSxiKCksYygpKSk/ZSgpOiIifXB4YCxiYWNrZ3JvdW5kOmx9KX0pKX0sInFjIik7dmFyIHZWPV8uTCgoe0xiOmEsY29uZmlnOmJ9KT0+e3ZhciBjPSgpPT57dmFyIGQ9KGIoKS5TaT8uTXU/PzApKjEwMCxlPShiKCkuU2k/Lkx1Pz8wKSoxMDAsZj1lLWQ7cmV0dXJuIGY+MCYmZjwxMD8oZj0oMTAtZikvMixkLWY+PTAmJmUrZjwxMDA/W2QtZixlK2ZdOmQtZjwwP1swLDEwXTpbOTAsMTAwXSk6W2QsZV19O3JldHVybiBfLksoInl0LWZvY3VzZWQtY2hhcHRlci1wcm9ncmVzcy1iYXItbGluZSIse2NsYXNzOiJ5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lSG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lIix7eXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZVJvdW5kZWQ6KCk9PmIoKS5Yeix5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lQm90dG9tSW5zZXQ6KCk9PmIoKS5wb3NpdGlvbj09PTJ9KX0sXy5LKCJkaXYiLAp7Y2xhc3M6Inl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmQiLHN0eWxlOigpPT5gd2lkdGg6ICR7YygpWzFdLWMoKVswXX0lOyBsZWZ0OiAke2MoKVswXX0lYH0sXy5LKCJkaXYiLHtjbGFzczoieXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVkIixzdHlsZTooKT0+e3ZhciBkPWIoKS5TaT8uTXU/PzAsZT1iKCkuU2k/Lkx1Pz8wLGY9d1MoYSgpKTtyZXR1cm5gd2lkdGg6ICR7ZjxkPzA6Zj5lfHxlPT09ZD8xMDA6KGYtZCkvKGUtZCkqMTAwfSU7YH19KSkpKX0sInJjIik7dlYuaWRvbUNvbXBhdD0hMDt2YXIgQm1hPSgoYSxiPVpsYSk9Pnt2YXIgYyxkPVtdLGUsZj0hMTtyZXR1cm4gZnVuY3Rpb24oLi4uaCl7aWYoZiYmYz09PXRoaXMmJmIoaCxkKSlyZXR1cm4gZTtlPWEuYXBwbHkodGhpcyxoKTtmPSEwO2M9dGhpcztkPWg7cmV0dXJuIGV9fSkoYT0+e3ZhciB7bWluSGVpZ2h0RHA6Yj0wLG1heEhlaWdodERwOmM9NjAsaGVhdE1hcmtlcnM6ZH09YSxlPTFFMy9kLmxlbmd0aDthPVtdO2EucHVzaCh7eDowLHk6MTAwfSk7Zm9yKHZhciBmPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBoPShmKy41KSplLGs9MTAwLURRKChfLkIoZFtmXSxnbWEpPy5oZWF0TWFya2VySW50ZW5zaXR5U2NvcmVOb3JtYWxpemVkfHwwKSoxMDAsYi8zMjEqMTAwLGMvMzIxKjEwMCk7ZiE9PTB8fGEucHVzaCh7eDowLHk6a30pO2EucHVzaCh7eDpoLHk6a30pO2Y9PT1kLmxlbmd0aC0xJiZhLnB1c2goe3g6MUUzLHk6a30pfWEucHVzaCh7eDoxRTMseToxMDB9KTtlPSIiO2ZvcihmPTA7ZjxhLmxlbmd0aDtmKyspe2g9CmFbZl07aWYoZj09PTApaD1gTSAke2gueC50b0ZpeGVkKDEpfSwke2gueS50b0ZpeGVkKDEpfWA7ZWxzZXtrPUxSKGFbZi0xXSxhW2YtMl0saCk7bGV0IGw9TFIoaCxhW2YtMV0sYVtmKzFdLCEwKTtoPWAgJHtgQyAke2sueC50b0ZpeGVkKDEpfSwke2sueS50b0ZpeGVkKDEpfSAke2wueC50b0ZpeGVkKDEpfSwke2wueS50b0ZpeGVkKDEpfSAke2gueC50b0ZpeGVkKDEpfSwke2gueS50b0ZpeGVkKDEpfWB9YH1lKz1ofXJldHVybiBlfSk7dmFyIENtYT1fLkwoKHtMYjphLGNvbmZpZzpiLGhpZ2hDb250cmFzdDpjfSk9PntjPV8uUCgieXRIZWF0U2Vla2VySG9zdCIse3l0SGVhdFNlZWtlckhpZ2hDb250cmFzdDpjfSk7cmV0dXJuIF8uSygieXQtcHJvZ3Jlc3MtYmFyLWhlYXRzZWVrZXIiLHtjbGFzczpjLHN0eWxlOigpPT5gaGVpZ2h0OiAzMjBweDsgZGlzcGxheTogJHthKCkuaXNEcmFnZ2luZyYmRlMoYigpLlJhKT8uaGVhdE1hcmtlcnM/ImJsb2NrIjoibm9uZSJ9YH0sXy5LKF8uTyx7QTooKT0+RlMoYigpLlJhKSx0aGVuOmQ9Pl8uSyhfLk8se0E6KCk9PmQoKS5oZWF0TWFya2Vycyx0aGVuOigpPT5fLksoInN2ZyIse3dpZHRoOiIxMDAlIixoZWlnaHQ6IjMyMHB4Iix2aWV3Qm94OiIwIDAgMTAwMCAxMDAiLHByZXNlcnZlQXNwZWN0UmF0aW86Im5vbmUifSxfLksoInBhdGgiLHtkOigpPT5CbWEoZCgpKX0pKSxkZWJ1Z0luc3RhbmNlOiJHamkwU2UifSksZGVidWdJbnN0YW5jZToiaVZUWHdmIn0pKX0sInNjIik7dmFyIHdWPV8uTCgoe0xiOmEsY29uZmlnOmJ9KT0+e3ZhciBjPV8uUCgieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmUiLHt5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZVJvdW5kZWQ6KCk9PmIoKS5Yeix5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0OigpPT5iKCkucG9zaXRpb249PT0yfSk7cmV0dXJuIF8uSygieXQtcHJvZ3Jlc3MtYmFyLWxpbmUiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVIb3N0In0sXy5LKCJkaXYiLHtjbGFzczpjfSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyQmFja2dyb3VuZCJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTG9hZGVkIixzdHlsZTooKT0+YHdpZHRoOiAke2EoKS5RbSoxMDB9JWB9KSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFySG92ZXJlZCIsc3R5bGU6KCk9Pnt2YXIgZD0KYSgpO3JldHVybmB3aWR0aDogJHsoZC52aWRlb0R1cmF0aW9uP0RRKGQuZGovZC52aWRlb0R1cmF0aW9uLDAsMSk6MCkqMTAwfSVgfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJQbGF5ZWQiLHN0eWxlOl8uSUUoe3dpZHRoOigpPT5gJHt3UyhhKCkpKjEwMH0lYCxiYWNrZ3JvdW5kOigpPT5iKCkucHJvZ3Jlc3NDb2xvciE9PXZvaWQgMD9fLkpFKGIoKS5wcm9ncmVzc0NvbG9yKTp2b2lkIDB9KX0pKSl9LCJ0YyIpO3dWLmlkb21Db21wYXQ9ITA7dmFyIHhWPV8uTCgoe0xiOmEsaGY6YixCeDpjLFd3OmR9KT0+e3ZhciBlPV8uUCgieXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZERvdCIse3l0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RMYXJnZTooKT0+YSgpLmlzRHJhZ2dpbmcseXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZERvdEhpZGU6KCk9PiFhKCkuaXNEcmFnZ2luZyYmZCgpfSk7cmV0dXJuIF8uSygieXQtcHJvZ3Jlc3MtYmFyLXBsYXloZWFkIix7Y2xhc3M6Inl0UHJvZ3Jlc3NCYXJQbGF5aGVhZEhvc3QiLHN0eWxlOl8uSUUoeyJtYXJnaW4tbGVmdCI6KCk9PmAke3hTKGEoKSkqMTAwfSVgLHRyYW5zZm9ybTooKT0+Yj8uKCk/LnBsYXloZWFkSW1hZ2U/YHRyYW5zbGF0ZVgoLSR7YygpP3hTKGEoKSkqMjA6MTB9cHgpYDpgdHJhbnNsYXRlWCgtJHtjKCk/eFMoYSgpKSoxMjo2fXB4KWB9KX0sXy5LKF8uTyx7QTooKT0+Yj8uKCk/LnBsYXloZWFkSW1hZ2UsCnRoZW46Zj0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b20iLHt5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tTGFyZ2U6KCk9PmEoKS5pc0RyYWdnaW5nLHl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b21IaWRlOigpPT4hYSgpLmlzRHJhZ2dpbmcmJmQoKX0pLHN0eWxlOl8uSUUoeyJ0cmFuc2Zvcm0tb3JpZ2luIjooKT0+YCR7YygpP3hTKGEoKSkqMjA6MTB9cHggY2VudGVyYH0pfSxfLksoXy5qRix7ZGF0YTpmLGFsdDoiIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixUYjohMX0pKSxXOigpPT5fLksoImRpdiIse2NsYXNzOmUsc3R5bGU6Xy5JRSh7InRyYW5zZm9ybS1vcmlnaW4iOigpPT5gJHtjKCk/eFMoYSgpKSoxMjo2fXB4IGNlbnRlcmB9KX0pfSkpfSwidWMiKTt4Vi5pZG9tQ29tcGF0PSEwO3ZhciBEbWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlLGYpe3RoaXMuST1hO3RoaXMuQj1iO3RoaXMuSz1jO3RoaXMuVT1kO3RoaXMuWj1lO3RoaXMuTT1mO3RoaXMuc3RhcnRQb3NpdGlvbj1udWxsO3RoaXMuaj10aGlzLnY9dGhpcy5vPSExO3RoaXMuRD1uZXcgXy5XdCh0aGlzLlksMTAwLHRoaXMpfVkoYSxiLGMpe2lmKGI9Yi5IKXtpZihiLmdldFZpZGVvRGF0YSgpPy5pc0xpdmUpe2xldCBkPXRoaXMuZ2V0UHJvZ3Jlc3NTdGF0ZShiKTthKz1kPy5zZWVrYWJsZVN0YXJ0fHwwfWIuc2Vla1RvKGEsdm9pZCAwLHZvaWQgMCx2b2lkIDAsYyl9fWdldFByb2dyZXNzU3RhdGUoYSl7dmFyIGI9YT8uZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKTtyZXR1cm4gYT8uZ2V0UHJvZ3Jlc3NTdGF0ZShiKX19O3ZhciBGbWE9Xy5MKCh7TGI6YSxjb25maWc6YixabTpjLFJhOmR9KT0+e3ZhciBlPURUKGEsKCk9PmIoKS5JYiksZj0oKT0+IWEoKS5RYyYmIWIoKS5JYixoPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkSG9zdCIsInl0UGxheWVyU3Rvcnlib2FyZEhvc3RCaWdib2FyZCIse3l0UGxheWVyU3Rvcnlib2FyZEhvc3RNd2ViU2hvcnRzOigpPT5iKCkuSWImJiEwfSk7cmV0dXJuIF8uSygieXQtcGxheWVyLXN0b3J5Ym9hcmQiLG51bGwsXy5LKF8uTyx7QTooKT0+YSgpLmlzRHJhZ2dpbmd8fGEoKS5RYyx0aGVuOigpPT5fLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6aCwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKHlWLHtwcm9wczphLGNvbmZpZzpiLGVlOiEwLFJhOmR9KSksVzooKT0+Xy5LKEVtYSx7cHJvcHM6YSxmcmFtZTplLGNvbmZpZzpiLFptOmMsUmE6ZH0pfSl9KX0pKX0sInZjIiksR21hPV8uTCgoe0xiOmEsSWI6Yn0pPT4Ke3ZhciBjPURUKGEsYik7cmV0dXJuIF8uSygieXQtcGxheWVyLWJpZy1zdG9yeWJvYXJkIix7Y2xhc3M6Inl0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkV3JhcHBlciJ9LF8uSyhfLk8se0E6KCk9PmEoKS5pc0RyYWdnaW5nfHxhKCkuUWMsdGhlbjooKT0+Xy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSyh6Vix7ZnJhbWU6Yyxwcm9wczphLGVlOiEwfSl9KX0pKX0sIndjIiksRW1hPV8uTCgoe3Byb3BzOmEsZnJhbWU6Yixjb25maWc6YyxabTpkLFJhOmV9KT0+e3ZhciBmPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkSG9zdCIse3l0UGxheWVyU3Rvcnlib2FyZEhvc3RNd2ViU2hvcnRzOigpPT5jKCkuSWImJiEwLHl0UGxheWVyU3Rvcnlib2FyZEhvc3RJbmxpbmVQbGF5ZXI6KCk9PmMoKS54cSx5dFBsYXllclN0b3J5Ym9hcmRIb3N0RmFkZUluOigpPT5jKCkudXNlRmFkZUluQW5pbWF0aW9ufSksaD0oKT0+e2lmKCFfLngoImVuYWJsZV93ZWJfd2F0Y2hfbmV4dF9pbXBfY2xpZW50Iil8fCFjKCkueHEpcmV0dXJuIDE7CnZhciBrPWEoKS5IPy5nZXRTaXplKCk/LmhlaWdodD8/MDtyZXR1cm4gaz4wJiZrPDE2MD9rLzE2MDoxfTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpmLCJhcmlhLWhpZGRlbiI6InRydWUiLHN0eWxlOl8uSUUoKCk9Pnt2YXIgaz1hKCksbD15VChiKCkpKmgoKSxtPWQoKTtrPUFUKGspL2sudmlkZW9EdXJhdGlvbjt2YXIgbj1tKmsscD1sLzIrNjtsPW0tKGwvMis2KTtyZXR1cm57bGVmdDpgJHtuPD1wP3AvbSoxMDA6bj49bD9sL20qMTAwOmsqMTAwfSVgLCItLXN0b3J5Ym9hcmQtc2NhbGUiOmAke2goKX1gfX0pfSxfLksoXy5PLHtBOigpPT57dmFyIGs9YSgpO3JldHVybiEoYygpLkliJiZrLnZpZGVvRHVyYXRpb248MTUpfSx0aGVuOigpPT5fLksoelYse2ZyYW1lOmIscHJvcHM6YSxlZTohMSx6QTpofSl9KSxfLksoeVYse3Byb3BzOmEsY29uZmlnOmMsZWU6ITEsUmE6ZX0pKX0sInhjIikselY9Xy5MKCh7ZnJhbWU6YSxwcm9wczpiLGVlOmMsekE6ZH0pPT57dmFyIGU9KCk9PmIoKS5IPy5nZXRWaWRlb0NvbnRlbnRSZWN0KCk/Pwp7d2lkdGg6MCxoZWlnaHQ6MH0sZj1fLlAoe3l0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkSW1hZ2VXcmFwcGVyOmMseXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlV3JhcHBlcjooKT0+IWMoKX0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmYsc3R5bGU6Xy5JRSgoKT0+KHt3aWR0aDpgJHtjKCk/ZSgpLndpZHRoOnlUKGEoKSkqKGQ/LigpPz8xKX1weGAsaGVpZ2h0OmAke2MoKT9lKCkuaGVpZ2h0OnpUKGEoKSkqKGQ/LigpPz8xKX1weGB9KSl9LF8uSyhIbWEse2ZyYW1lOmEsUEE6KCk9PnlUKGEoKSksTkE6KCk9PnpUKGEoKSksT0E6KCk9Pnt2YXIgaD15VChhKCkpO3JldHVybiBoPjA/KGMoKT9lKCkud2lkdGg6eVQoYSgpKSooZD8uKCk/PzEpKS9oOjF9fSkpfSwieWMiKSxIbWE9Xy5MKCh7ZnJhbWU6YSxQQTpiLE5BOmMsT0E6ZH0pPT5fLksoImltZyIse3NyYzooKT0+YSgpPy51cmw/PyIiLGNsYXNzOiJ5dFBsYXllclN0b3J5Ym9hcmRTdG9yeWJvYXJkSW1hZ2UiLGFsdDoicHJldmlldy1pbWFnZSIsCnN0eWxlOl8uSUUoKCk9Pnt2YXIgZT1hKCk/P3tyb3c6MCxjb2x1bW46MCx3aWR0aDowLGhlaWdodDowfSxmPWIoKSxoPWMoKSxrPWQoKSx7bGVmdDpsLHRvcDptfT17bGVmdDotZS5jb2x1bW4qZiprLHRvcDotZS5yb3cqaCprfTtyZXR1cm57bGVmdDpgJHtsfXB4YCx0b3A6YCR7bX1weGAsd2lkdGg6YCR7ZS53aWR0aCprfXB4YCxoZWlnaHQ6YCR7ZS5oZWlnaHQqa31weGB9fSl9KSwiemMiKSx5Vj1fLkwoKHtwcm9wczphLGNvbmZpZzpiLGVlOmMsUmE6ZH0pPT57dmFyIGU9Xy5QKCJ5dFBsYXllclN0b3J5Ym9hcmRNZXRhZGF0YSIse3l0UGxheWVyU3Rvcnlib2FyZE1ldGFkYXRhQmlnYm9hcmQ6Y30pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmV9LF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhBVix7cHJvcHM6YSxjb25maWc6Yn0pLF8uSyhfLk8se0E6KCk9PnthOnt2YXIgZj1hKCk7dmFyIGg9YigpLGs9ZCgpO2lmKGg/LlJnJiZfLkIoaD8uUmcsZVQpPy50aXRsZSlmPQohMDtlbHNle2ZvcihsZXQgbCBvZiBGUyhrKT8uaGVhdE1hcmtlcnNEZWNvcmF0aW9ucz8/W10pe2Y9KGg9Xy5CKGwscVYpKSYmQlQoZixoKTticmVhayBhfWY9ITF9fXJldHVybiBmfSx0aGVuOigpPT5fLksoQlYse3Byb3BzOmEsY29uZmlnOmIsZWU6ITAsUmE6ZH0pfSkpLFc6KCk9Pl8uSyhfLklCLG51bGwsXy5LKEJWLHtwcm9wczphLGNvbmZpZzpiLGVlOiEwLFJhOmR9KSxfLksoQVYse3Byb3BzOmEsY29uZmlnOmJ9KSl9KSl9LCJBYyIpLEFWPV8uTCgoe3Byb3BzOmEsY29uZmlnOmJ9KT0+e3ZhciBjPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkVGltZXN0YW1wIix7eXRQbGF5ZXJTdG9yeWJvYXJkVGltZXN0YW1wU2hvcnRzOigpPT5iKCkuSWIseXRQbGF5ZXJTdG9yeWJvYXJkVGltZXN0YW1wSXNIb3ZlcmluZzooKT0+YSgpLlFjfHxiKCkuSWImJiExfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKF8uSUIsbnVsbCwoKT0+Q1QoQVQoYSgpKSkpKX0sIkJjIiksQlY9Xy5MKCh7cHJvcHM6YSwKY29uZmlnOmIsZWU6YyxSYTpkfSk9PntjPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkVGl0bGUiLHt5dFBsYXllclN0b3J5Ym9hcmRUaXRsZUJpZ2JvYXJkOmN9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpjfSxfLksoXy5PLHtBOigpPT4hYigpLkliLHRoZW46KCk9Pl8uSyhJbWEse3Byb3BzOmEsUmc6KCk9PmIoKS5SZyxSYTpkfSl9KSl9LCJDYyIpLEltYT1fLkwoKHtwcm9wczphLFJnOmIsUmE6Y30pPT5fLksoXy5JQixudWxsLF8uSyhfLmdHLHtwYTooKT0+e3ZhciBkPWMoKTtyZXR1cm4gRlMoZCk/LmhlYXRNYXJrZXJzRGVjb3JhdGlvbnM/P1tdfSx0YjoiSU5ERVgifSxkPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6KCk9Pl8uQihkKCkscVYpJiZCVChhKCksXy5CKGQoKSxxVikpLHRoZW46KCk9Pl8uSyhKbWEse2NCOigpPT5fLkIoZCgpLHFWKX0pfSkpKSxfLksoXy5PLHtBOigpPT5iKCkmJl8uQihiKCksZVQpPy50aXRsZSx0aGVuOmQ9Pl8uSyhfLlYse3RleHQ6ZCxyZzohMH0pfSkpLAoiRGMiKSxKbWE9Xy5MKCh7Y0I6YX0pPT5fLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGxheWVyU3Rvcnlib2FyZFRpbWVkTWFya2VySWNvbldyYXBwZXIifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmljb24sY2xhc3NOYW1lOiJ5dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb24ifSkpLF8uSyhfLlYse3RleHQ6KCk9PmEoKS5sYWJlbCxyZzohMH0pKSwiRWMiKTt2YXIgQ1Y9Xy5MKCh7TGI6YSxoZjpiLGNvbmZpZzpjfSk9Pnt2YXIgZD1fLnVFKCJ5dC1wcm9ncmVzcy1iYXIiKSxlPV8udUUoImRpdiIpLGY9Xy51RSgiZGl2IiksW2gsa109Xy5KKHt3aWR0aDowLGxlZnQ6MH0sdm9pZCAwLCJkMWJzYmYiKSxsPSgpPT57Zi52YWx1ZSYmayhmLnZhbHVlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKX0sbT0oKT0+e2goKS53aWR0aDw9MCYmbCgpO3JldHVybiBoKCl9O18uRFAoInJlc2l6ZSIsbCk7dmFyIG49bmV3IERtYShtLCgpPT57fSwoKT0+MCwoKT0+e30sKCk9Pnt9LCgpPT57fSkscD0oKT0+YSgpLFtyLHRdPV8uSighMSx2b2lkIDAsImNWc1RLIik7Xy5EUCgibW91c2Vtb3ZlIixZa2EobixwLGMpKTtfLkRQKCJtb3VzZXVwIix4VChuLHAsYykpO3ZhciB2O18uVUooKCk9PntHa2EoZS52YWx1ZSk7dCghMSk7bCgpO3hUKG4scCxjKSgpO2MoKS5paiYmKHY9bmV3IFJlc2l6ZU9ic2VydmVyKGwpLHYub2JzZXJ2ZShmLnZhbHVlKSk7Xy5ZdSgoKT0+Cnt2Py5kaXNjb25uZWN0KCl9KX0pO3ZhciB6PV8uUCgieXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3QiLCgpPT5jKCkuY2xhc3NOYW1lLHt5dFBsYXllclByb2dyZXNzQmFySG9zdFJlYWRPbmx5OigpPT5jKCkuZGlzYWJsZVNjcnViYmluZyx5dFBsYXllclByb2dyZXNzQmFySG9zdEhpZGRlbjooKT0+YygpLmtKJiYhcigpLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0TG93ZXJQbGF5ZXI6KCk9PmMoKS5wb3NpdGlvbj09PTAseXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RCb3R0b21FZGdlOigpPT5jKCkucG9zaXRpb249PT0xLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0Qm90dG9tSW5zZXQ6KCk9PmMoKS5wb3NpdGlvbj09PTIseXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RDdXN0b206KCk9PmMoKS5wb3NpdGlvbj09PTN9KSxFPV8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmQiLHt5dFBsYXllclByb2dyZXNzQmFyQmFja2dyb3VuZEhpZGU6KCk9PmMoKS5wb3NpdGlvbj09PTImJiFyKCkmJgohYSgpLmlzRHJhZ2dpbmd9KSxBPV8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXIiLHt5dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lckJvdHRvbUVkZ2U6KCk9PmMoKS5wb3NpdGlvbj09PTF9KSxGPV8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFyIix7eXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXQ6KCk9PmMoKS5wb3NpdGlvbj09PTIseXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXRNaW5pbWl6ZWQ6KCk9PmMoKS5wb3NpdGlvbj09PTImJiFyKCkmJiFhKCkuaXNEcmFnZ2luZ30pLEM9KCk9Pk1hdGguZmxvb3Iod1MoYSgpKSoxMDApO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhciIse2VsOmQsY2xhc3M6en0sXy5LKF8uTyx7QTooKT0+YygpLnBvc2l0aW9uPT09Mix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOkV9KX0pLF8uSygiZGl2Iix7ZWw6ZSwib246Y2xpY2siOmZ1bmN0aW9uKEcpeyhjKCkuREl8fHR5cGVvZiBQb2ludGVyRXZlbnQhPT0KInVuZGVmaW5lZCImJkcgaW5zdGFuY2VvZiBQb2ludGVyRXZlbnQmJkcucG9pbnRlclR5cGU9PT0ibW91c2UiKSYmT2thKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246dG91Y2hzdGFydCI6ZnVuY3Rpb24oRyl7UGthKG4scCkoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNobW92ZSI6ZnVuY3Rpb24oRyl7UmthKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2VlbnRlciI6ZnVuY3Rpb24oKXt0KCEwKTtjKCkucG9zaXRpb249PT0yP3NldFRpbWVvdXQoKCk9PntsKCl9LDEwMCk6bCgpfSwib246bW91c2Vkb3duIjpmdW5jdGlvbihHKXtRa2EobixwKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2VsZWF2ZSI6ZnVuY3Rpb24oKXt0KCExKTtUa2EocCkoKX0sIm9uOm1vdXNlbW92ZSI6ZnVuY3Rpb24oRyl7U2thKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2V1cCI6ZnVuY3Rpb24oRyl7VmthKG4sCnAsYykoRyk7cigpJiZhKCkuUyh7UWM6ITB9KTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246dG91Y2hlbmQiOmZ1bmN0aW9uKEcpe1VrYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoY2FuY2VsIjpmdW5jdGlvbihHKXtXa2EobixwLGMpKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjprZXlkb3duIjpmdW5jdGlvbihHKXtYa2EocCkoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sY2xhc3M6QSxyb2xlOiJzbGlkZXIiLCJhcmlhLXZhbHVlbm93IjpDLCJhcmlhLXZhbHVldGV4dCI6KCk9PmAke0MoKX0lYCwiYXJpYS12YWx1ZW1pbiI6KCk9PjAsImFyaWEtdmFsdWVtYXgiOigpPT4xMDAsZHJhZ2dhYmxlOiJmYWxzZSIsdGFiaW5kZXg6MCwiYXJpYS1sYWJlbCI6Xy5hQSgiU0VFS19TTElERVIiKX0sXy5LKCJkaXYiLHtlbDpmLGNsYXNzOkZ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBsYXllclByb2dyZXNzQmFySGVhdHNlZWtlckNvbnRhaW5lciIse3l0UGxheWVyUHJvZ3Jlc3NCYXJIZWF0c2Vla2VyQ29udGFpbmVySW5zZXQ6KCk9PgpjKCkucG9zaXRpb249PT0yfSl9LF8uSyhDbWEse0xiOmEsY29uZmlnOmMsaGlnaENvbnRyYXN0OigpPT4hIWMoKS5paiYmYygpLnBvc2l0aW9uIT09Mn0pKSxfLksoXy5PLHtBOigpPT5jKCkuUmEmJnprYShjKCkuUmEpLHRoZW46KCk9Pl8uSyhBbWEse0p6OmEsbXVsdGlNYXJrZXJzUGxheWVyQmFyUmVuZGVyZXI6KCk9PmMoKS5SYSxwcm9ncmVzc0JhcldpZHRoOigpPT5oKCkud2lkdGgscHJvZ3Jlc3NDb2xvcjooKT0+YygpLnByb2dyZXNzQ29sb3J9KSxXOigpPT5fLksoXy5PLHtBOigpPT5jKCkuU2ksdGhlbjooKT0+Xy5LKHZWLHtMYjphLGNvbmZpZzpjfSksVzooKT0+Xy5LKHdWLHtMYjphLGNvbmZpZzpjfSl9KX0pLF8uSyh4Vix7TGI6YSxoZjooKT0+Xy54KCJlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyIik/YygpLmhmOmI/LigpLEJ4OigpPT5jKCkucG9zaXRpb24hPT0yLFd3OigpPT5jKCkueHI9PT0xJiYhcigpfHxjKCkueHI9PT0yfSkpKSxfLksoRm1hLHtMYjphLGNvbmZpZzooKT0+Cih7Umc6bFQoYSgpLGMoKS5SYSksZEo6KCk9Pm0oKS53aWR0aCxJYjohIWMoKS5JYix4cTohIWMoKS5paix1c2VGYWRlSW5BbmltYXRpb246ISFjKCkuaWp9KSxabTooKT0+aCgpLndpZHRoLFJhOigpPT5jKCkuUmF9KSl9LCJGYyIpO0NWLmlkb21Db21wYXQ9ITA7dmFyIERWPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgZD1hLnBsYXllck92ZXJsYXlSZW5kZXJlcj8uKCk7aWYoZClyZXR1cm4gelMoZCl9LGM9KCk9Pnt2YXIgZD1iKCk7aWYoZCl7dmFyIGU9YS5KbygpLmF1dG9uYXZFbmFibGVkO3JldHVybiBfLmFOKGU/Xy5CKGQuZW5hYmxlZEVkdUNvbW1hbmQsV1UpPy50ZXh0Ol8uQihkLmRpc2FibGVkRWR1Q29tbWFuZCxXVSk/LnRleHQpfX07cmV0dXJuIF8uSyhfLk8se0E6KCk9PmEuSm8oKS5ZaCYmISFiKCksdGhlbjooKT0+Xy5LKCJhdXRvbmF2LXRvb2x0aXAiLHtjbGFzczoieXR3QXV0b25hdlRvb2x0aXBIb3N0Iixyb2xlOiJhbGVydCJ9LF8uSygic3BhbiIseyJhcmlhLWxhYmVsIjpjLHJvbGU6InRleHQifSxjKSl9KX0sIkdjIik7RFYuaWRvbUNvbXBhdD0hMDt2YXIgRVY9Xy5MKGE9Pnt2YXIgYj1fLnZFKCJzcGVlZG1hc3Rlci10b29sdGlwIiksYz1fLk4oKCk9PmEuRygpLnNiLHZvaWQgMCwiRXNUUmxjIik7Xy5uRSgoKT0+e2lmKGMoKSYmYi52YWx1ZSl7bGV0IGQ9bnVsbDtTUygxNzMwNDAsYi52YWx1ZSxkLGU9PntkPWV9KX19LCJBdnBHSWYiKTtyZXR1cm4gXy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSygic3BlZWRtYXN0ZXItdG9vbHRpcCIse2VsOmIsY2xhc3M6Inl0d1NwZWVkbWFzdGVyVG9vbHRpcEhvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dHdTcGVlZG1hc3RlclRvb2x0aXBMYWJlbCJ9LF8uJE4uR3QpLF8uSyhfLk1ELHtpY29uOiJGQVNUX0ZPUldBUkQiLGFjdGl2ZTohMCxjbGFzc05hbWU6Inl0d1NwZWVkbWFzdGVyVG9vbHRpcEljb24ifSkpfSl9LCJJYyIpO0VWLmlkb21Db21wYXQ9ITA7dmFyIEZWPV8uTChhPT5fLksoInBsYXllci11c2VyLWVkdS10b29sdGlwIix7Y2xhc3M6Inl0d1BsYXllclVzZXJFZHVUb29sdGlwSG9zdCJ9LF8uSyhEVix7Sm86YS5HLHBsYXllck92ZXJsYXlSZW5kZXJlcjphLnBsYXllck92ZXJsYXlSZW5kZXJlcn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclVzZXJFZHVUb29sdGlwVG9vbHRpcENvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclVzZXJFZHVUb29sdGlwVG9vbHRpcFdyYXBwZXIifSxfLksoRVYse0c6YS5HfSkpKSksIkpjIik7RlYuaWRvbUNvbXBhdD0hMDt2YXIgWmthPVswLDEsMjAsMjFdO3ZhciBhbGE9WzAsMSwyMCwyMV0sR1Q9dm9pZCAwO3ZhciBLbWE9Xy5MKCh7dWQ6YSxFcjpifSk9PntmdW5jdGlvbiBjKHApe3AudG91Y2hlcz8uWzBdJiYocD1wLnRvdWNoZXNbMF0sayh7eDpwLnBhZ2VYLHk6cC5wYWdlWX0pKX1mdW5jdGlvbiBkKHApe3ZhciByPWgoKTtpZighcnx8IXAudG91Y2hlcz8uWzBdKXJldHVybiBudWxsO3A9cC50b3VjaGVzWzBdO3JldHVybntsazpwLnBhZ2VYLXIueCxPZDpwLnBhZ2VZLXIueX19dmFyIFtlLGZdPV8uSihudWxsLHZvaWQgMCwiQWgzMGciKSxoPWUsaz1mLFtsLG1dPV8uSih2b2lkIDAsdm9pZCAwLCJRbzc2aGQiKTtfLll1KCgpPT57RlQoYSgpKTttKEVUKGwoKSkpfSk7dmFyIG49e0diOigpPT5fLksoImRpdiIsbnVsbCxfLksoXy5XLHtkYXRhOigpPT5iPy4oKT8ubWVudVJlbmRlcmVyPy5pdGVtc3x8W119LHtsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6cH0pPT5fLksoXy5wTCx7ZGF0YTpwLElhOiEwfSksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6Xy5mSn0pKSxIYTohMH07cmV0dXJuIF8uSygieXRtLXNob3J0cy1nZXN0dXJlLW92ZXJsYXktY29udHJvbHMiLAp7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlT3ZlcmxheSJ9LF8uSyhGVix7RzphfSksXy5LKCJkaXYiLHtjbGFzczoieXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc0dlc3R1cmVDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzU3BlZWRtYXN0ZXJHZXN0dXJlQXJlYSIsIm9uOnRvdWNoc3RhcnQiOnA9PntjKHApO0hUKGEoKSxwLnRvdWNoZXMubGVuZ3RoKX0sIm9uOnRvdWNobW92ZSI6cD0+e3ZhciByPWQocCk7ciYmSVQocCxyLGEoKSl9LCJvbjp0b3VjaGVuZCI6KCk9PntGVChhKCkpO2sobnVsbCl9LCJvbjp0b3VjaGNhbmNlbCI6KCk9PntGVChhKCkpO2sobnVsbCl9fSksXy5LKCJkaXYiLHtjbGFzczoieXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc01lbnVHZXN0dXJlQXJlYSIsIm9uOnRvdWNoc3RhcnQiOnA9PntjKHApO20oJGthKGEoKSxwLnRvdWNoZXMubGVuZ3RoLAooKT0+e18ueU4obil9LGwoKSkpfSwib246dG91Y2htb3ZlIjpwPT57dmFyIHI9ZChwKTtpZihyKXtwPWwoKTt2YXIgdD1yLmxrO3I9ci5PZDtwPU1hdGguc3FydCh0KnQrcipyKT5fLnNqKCJzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHAiLDEwKT9FVChwKTpwO20ocCl9fSwib246dG91Y2hlbmQiOigpPT57bShFVChsKCkpKTtrKG51bGwpfSwib246dG91Y2hjYW5jZWwiOigpPT57bShFVChsKCkpKTtrKG51bGwpfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNTcGVlZG1hc3Rlckdlc3R1cmVBcmVhIiwib246dG91Y2hzdGFydCI6cD0+e2MocCk7SFQoYSgpLHAudG91Y2hlcy5sZW5ndGgpfSwib246dG91Y2htb3ZlIjpwPT57dmFyIHI9ZChwKTtyJiZJVChwLHIsYSgpKX0sIm9uOnRvdWNoZW5kIjooKT0+e0ZUKGEoKSk7ayhudWxsKX0sIm9uOnRvdWNoY2FuY2VsIjooKT0+e0ZUKGEoKSk7ayhudWxsKX19KSkpfSwiS2MiKTt2YXIgR1Y9Xy5MKGE9Pnt2YXIgYj1fLnVFKCJkaXYiKSxjPV8uTigoKT0+YS50aHVtYm5haWxEZXRhaWxzPy4oKSx2b2lkIDAsIkU4OFVHZCIpLGQ9Xy5OKCgpPT5hLkcoKS5iYSx2b2lkIDAsIlh0R0FtZSIpO18ubkUoKCk9PntjbGEoYi52YWx1ZSxjKCksZCgpKX0sInlBa2lpYyIpO3JldHVybiBfLksoInZpZGVvLWNvdmVyIix7Y2xhc3M6Xy5QKCJ5dG1WaWRlb0NvdmVySG9zdCIse2VuZGVkOigpPT51UyhhLkcoKSksaGlkZGVuOigpPT57dmFyIGU9YS5HKCk7cmV0dXJuISgkUyhlKXx8dVMoZSkpfX0pfSxfLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0NvdmVyVGh1bWJuYWlsIixlbDpifSkpfSwiTWMiKTtHVi5pZG9tQ29tcGF0PSEwO25ldyBfLld0KGVsYSwyMDApO3ZhciBTVD0wO3ZhciBVVD1KUigpLFZUPSExO25ldyBfLkN0KCJwbGF5ZXJTZXR0aW5nc01lbnUiLCJOeGQzdWYiKTt2YXIgTG1hPV8uTCgoe2dmOmEsRXg6YixyZWVsUGxheWVyU2NydWJiZXJSZW5kZXJlcjpjfSk9Pnt2YXIgZD1fLlAoInl0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdCIse3l0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdElzU2NydWJiYWJsZU1vZGU6KCk9PlhUKGEoKSxiKCkpfSx7eXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0SGlkZVByb2dyZXNzQmFyOigpPT5XVChhKCksYigpKSYmYSgpLnZpZGVvRHVyYXRpb248PTMwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6ZH0sXy5LKENWLHtMYjphLGNvbmZpZzooKT0+e3ZhciBlPXtJYjohMCxwb3NpdGlvbjozLGRpc2FibGVTY3J1YmJpbmc6IVhUKGEoKSxiKCkpLEluOiExLHhyOlhUKGEoKSxiKCkpPzA6MSxvblRvdWNoTW92ZTooKT0+e2EoKS5nZXx8KGEoKS5TKHtnZTohMH0pLHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXBkYXRlLXNob3J0cy1vdmVybGF5LXZpc2liaWxpdHkiLHtidWJibGVzOiEwLApkZXRhaWw6e2dlOiEwfX0pKSl9LG9uVG91Y2hFbmQ6aD0+e1VTKGgpO2EoKS5TKHtnZTohMX0pO3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXBkYXRlLXNob3J0cy1vdmVybGF5LXZpc2liaWxpdHkiLHtidWJibGVzOiEwLGRldGFpbDp7Z2U6ITF9fSkpfX0sZj1jPy4oKTtyZXR1cm4gZj8ucGxheWhlYWRJbWFnZT97Li4uZSxoZjp7cGxheWhlYWRJbWFnZTpmLnBsYXloZWFkSW1hZ2V9fTplfX0pKX0sIlFjIiksTW1hPV8uTCgoe0g6YSxjb250ZXh0OmIscmVlbFBsYXllclNjcnViYmVyUmVuZGVyZXI6YyxFcjpkfSk9Pnt2YXIgW2UsZl09Xy5KKCExLHZvaWQgMCwiUWNaU2dkIiksW2gsa109Xy5KKCExLHZvaWQgMCwiY250enJmIiksW2wsbV09Xy5KKCExLHZvaWQgMCwiU1RJYWViIiksW24scF09Xy5KKCExLHZvaWQgMCwiQ3dYZmJjIiksW3IsdF09Xy5KKDAsdm9pZCAwLCJzNUtMTWIiKSxbdix6XT1fLkooMCx2b2lkIDAsImdqbHFOYyIpLFtFLEFdPV8uSigwLAp2b2lkIDAsIkdVY2laZSIpLFtGLENdPV8uSigiIix2b2lkIDAsInhHSWU4IiksW0csRF09Xy5KKCExLHZvaWQgMCwiRnA1RDRiIiksSD1fLk4oKCk9Pnt2YXIgcGE9e2VhOmUoKSxnZTpoKCkseWI6bCgpLGlzRHJhZ2dpbmc6bigpLHZpZGVvRHVyYXRpb246digpLHZhOkUoKSx2aWRlb0lkOkYoKSxDYTpyKCksc2I6RygpfTtyZXR1cm57Li4uZFQoKSwuLi5wYSwuLi4oYj8uKCk/P3t9KSxTOm9hPT57b2EuZWEhPT12b2lkIDAmJmYob2EuZWEpO29hLmdlIT09dm9pZCAwJiZrKG9hLmdlKTtvYS55YiE9PXZvaWQgMCYmbShvYS55Yik7b2EuaXNEcmFnZ2luZyE9PXZvaWQgMCYmcChvYS5pc0RyYWdnaW5nKTtvYS5DYSE9PXZvaWQgMCYmdChvYS5DYSk7b2EudmlkZW9EdXJhdGlvbiE9PXZvaWQgMCYmeihvYS52aWRlb0R1cmF0aW9uKTtvYS52YSE9PXZvaWQgMCYmQShvYS52YSk7b2EudmlkZW9JZCE9PXZvaWQgMCYmQyhvYS52aWRlb0lkKTtvYS5zYiE9PXZvaWQgMCYmRChvYS5zYil9LHRhOntpc0Z1bGxzY3JlZW46Xy5yUCwKdG9nZ2xlRnVsbHNjcmVlbjp1amEsZXhpdEZ1bGxzY3JlZW46JFEsZGU6ZmxhLFJqOmhsYSxVbDppbGF9LEg6YSgpfX0sdm9pZCAwLCJVeWNNU2IiKSxSPU1rYShIKSxNPUxrYShIKSxTPUtrYShIKSxZPSgpPT57fTtfLm9GKCgpPT57dmFyIHBhPWEoKTtwYSYmKHBhLmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9Qcm9ncmVzcyIsUikscGEuYWRkRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLE0pLHBhLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLFMpKX0pO18uWXUoKCk9Pnt2YXIgcGE9YSgpO3BhJiZwYT8uaXNSZWFkeT8uKCkmJihwYS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvUHJvZ3Jlc3MiLFIpLHBhLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIixNKSxwYS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIixTKSl9KTtyZXR1cm4gXy5LKCJ5dC1td2ViLXNob3J0cy1wbGF5ZXItY29udHJvbHMiLHtjbGFzczpfLlAoe1Byb2dyZXNzQmFyU2hvd2luZzooKT0+ClhUKEgoKSwhMCl9KX0sXy5LKF8uTyx7QTooKT0+SCgpLmJhPy5aaCx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhHVix7RzpILHRodW1ibmFpbERldGFpbHM6WX0pLF8uSyh1Vix7RzpILEg6YX0pKX0pLF8uSyhfLk8se0E6KCk9Pnt2YXIgcGE9SCgpO3JldHVybiBYVChwYSwhMCl8fFdUKHBhLCEwKX0sdGhlbjooKT0+Xy5LKExtYSx7Z2Y6SCxFeDooKT0+ITAscmVlbFBsYXllclNjcnViYmVyUmVuZGVyZXI6Y30pfSksXy5LKF8uTyx7QTooKT0+Xy54KCJtd2ViX3Nob3J0c19lbmFibGVfbG9uZ19wcmVzc19zcGVlZHVwIiksdGhlbjooKT0+Xy5LKF8uQ1Ase3Jvb3Q6IiNnZXN0dXJlLWxheWVyIn0sKCk9Pl8uSyhLbWEse3VkOkgsRXI6ZH0pKX0pKX0sIlNjIik7dmFyIEhWPV8uTChhPT57ZnVuY3Rpb24gYihVKXtVIT09MHx8cigpP1U+NTAmJihyKCl8fCFFKCkpPyh0KCExKSxBKCEwKSk6VTw9NTAmJihyKCl8fEUoKSkmJih0KCExKSxBKCExKSk6dCghMCl9YXN5bmMgZnVuY3Rpb24gYyhVLGhhKXsoVT1lKCk/P2F3YWl0IF8uTEgoKSkmJihoYT9VLnVuTXV0ZSghMCk6VS5tdXRlKCEwKSl9YXN5bmMgZnVuY3Rpb24gZChVKXt2YXIgaGE9ZSgpPz9hd2FpdCBfLkxIKCksbWE9NTA7aGEmJihtYT1oYS5nZXRWb2x1bWUoKSxoYS5pc011dGVkKCk/WlQoVSwwKTpaVChVLG1hKSk7RyhtYSl9dmFyIGU9a2xhKGEuSCksZj1fLnVFKCJ2b2x1bWUtY29udHJvbHMiKSxoPV8udUUoImJ1dHRvbiIpLGs9Xy52RSgiaW5wdXQiKSxbbCxtXT1fLkooITEsdm9pZCAwLCJzTWNMbGIiKSxbbixwXT1fLkooITEsdm9pZCAwLCJnb05wdiIpLHI9bix0PXAsW3Ysel09Xy5KKCEwLHZvaWQgMCwia0FUOTUiKSxFPXYsQT16LFtGLENdPV8uSig1MCx2b2lkIDAsInE1cUQyYyIpLApHPUMsRD1fLk4oKCk9Pnt2YXIgVT1yKCk7cmV0dXJuIF8ueCgid2ViX3Nob3J0c19rZXlib2FyZF9lbmFibGVfbXV0ZV9zaG9ydGN1dCIpP1U/Xy5hQSgiUExBWUVSX0xBQkVMX1VOTVVURSIsdm9pZCAwLCJVbm11dGUgKG0pIik6Xy5hQSgiUExBWUVSX0xBQkVMX01VVEUiLHZvaWQgMCwiTXV0ZSAobSkiKTpVP18uYUEoIlVOTVVURV9WT0xVTUUiLHZvaWQgMCwiVW5tdXRlIik6Xy5hQSgiTVVURV9WT0xVTUUiLHZvaWQgMCwiTXV0ZSIpfSx2b2lkIDAsImxSMXNHYyIpLEg9Xy5OKCgpPT57dmFyIFU9cigpLGhhPUUoKTtyZXR1cm57c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6VT8iVk9MVU1FX09GRl9GSUxMRUQiOmhhPyJWT0xVTUVfVVBfRklMTEVEIjoiVk9MVU1FX0RPV05fRklMTEVEIn19XX19LHZvaWQgMCwiU0lxa2VjIiksUj1fLk4oKCk9Pnt2YXIgVT1GKCk7cmV0dXJuIHIoKT9gJHtVfSUgdm9sdW1lIG11dGVkYDpgJHtVfSUgdm9sdW1lYH0sdm9pZCAwLCJUZkhQMGQiKSwKTT1fLk4oKCk9PmEub3JpZW50YXRpb24oKT09PSJ2ZXJ0aWNhbF9kb3duIix2b2lkIDAsIlo3RjN1YiIpLFM9Xy5OKCgpPT5NKCk/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCIsdm9pZCAwLCJzVjJNcGIiKSxZPV8uTigoKT0+YS5Edj8uKCk/PyExLHZvaWQgMCwiem92VUxlIikscGE9Xy5OKCgpPT5hLkNwPy4oKT8/ITEsdm9pZCAwLCJwRVVocWUiKTtfLlVKKCgpPT57ZnVuY3Rpb24gVSgpe20oITApfWZ1bmN0aW9uIGhhKCl7bSghMSl9ayYmay52YWx1ZSYmKGsudmFsdWUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFUpLGsudmFsdWUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGhhKSxkKGsudmFsdWUpLnRoZW4oKCk9PntiKE51bWJlcihrLnZhbHVlPy52YWx1ZT8/MCkpfSkpO2gmJmgudmFsdWUmJihXUyhoLnZhbHVlLDI4NjYyKSxoLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixVKSxoLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixoYSkpO18uWXUoKCk9Pgp7az8udmFsdWU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixVKTtrPy52YWx1ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGhhKTtoPy52YWx1ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFUpO2g/LnZhbHVlPy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1c291dCIsaGEpfSl9KTt2YXIgb2E9VT0+e1U9VS5tdXRlZD8wOlUudm9sdW1lO0coVSk7YihVKTtrLnZhbHVlJiZaVChrLnZhbHVlLFUpfTtfLm5FKCgpPT57dmFyIFU9ZSgpO1UmJihVLmFkZEV2ZW50TGlzdGVuZXIoIm9uVm9sdW1lQ2hhbmdlIixvYSksXy5ZdSgoKT0+e1UucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25Wb2x1bWVDaGFuZ2UiLG9hKX0pKX0sInhoM0daYyIpO3JldHVybiBfLksoInZvbHVtZS1jb250cm9scyIse2NsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNIb3N0Iix7eXRkVm9sdW1lQ29udHJvbHNEaXNhYmxlU2xpZGVyOnBhfSxhLmNsYXNzTmFtZSksZWw6Zn0sXy5LKCJkaXYiLAp7Im9uOnBvaW50ZXJsZWF2ZSI6ZnVuY3Rpb24oKXttKCExKX0sY2xhc3M6Xy5QKCJ5dGRWb2x1bWVDb250cm9sc1ZvbHVtZUNvbnRyb2xzQ29udGFpbmVyIix7eXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lclZlcnRpY2FsOk0seXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lckV4cGFuZGVkOigpPT5sKCl9KX0sXy5LKF8uTyx7QTooKT0+IWEuYmo/LigpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbSIse3l0ZFZvbHVtZUNvbnRyb2xzQmFja2dyb3VuZFNjcmltRXhwYW5kZWQ6bCx5dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbUV4cGFuZGVkSG92ZXJTdGF0ZTooKT0+bCgpJiZZKCl9KX0pfSksXy5LKCJkaXYiLHtjbGFzczpfLlAoe3l0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b25Db250YWluZXI6TX0pfSxfLksoImJ1dHRvbiIseyJhcmlhLWxhYmVsIjpELAp0aXRsZTpELGVsOmgsIm9uOmNsaWNrIjpmdW5jdGlvbihVKXtYUygyODY2Mik7ayYmay52YWx1ZSYmYyhrLnZhbHVlLHIoKSk7VS5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnBvaW50ZXJlbnRlciI6ZnVuY3Rpb24oKXttKCEwKX0sY2xhc3M6Inl0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b24ifSxIP18uSyhfLmpGLHtkYXRhOkgsYWx0OkQsY2xhc3NOYW1lOiJ5dGRWb2x1bWVDb250cm9sc011dGVJY29uIn0pOm51bGwpKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXIiLHt5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckV4cGFuZGVkOmwseXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbDpNLHl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWxEb3duOk0seXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbEV4cGFuZGVkOigpPT5sKCkmJk0oKSx5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckRpc2FibGVTbGlkZXI6cGEsCnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyV2l0aFNjcmltOigpPT4hYS5iaj8uKCl9KSwib246Y2xpY2siOmZ1bmN0aW9uKFUpe1Uuc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoImlucHV0Iix7ZGlyOiJsdHIiLCJhcmlhLWxhYmVsIjpfLmFBKCJWT0xVTUUiKSx0aXRsZTpfLmFBKCJWT0xVTUUiKSxlbDprLCJvbjppbnB1dCI6ZnVuY3Rpb24oVSl7ayYmay52YWx1ZSYmamxhKE51bWJlcihrLnZhbHVlPy52YWx1ZT8/MCksZSgpKTtVLnN0b3BQcm9wYWdhdGlvbigpfSx0eXBlOiJyYW5nZSIsY2xhc3M6Inl0ZFZvbHVtZUNvbnRyb2xzTmF0aXZlU2xpZGVyIixpZDoidm9sdW1lLWlucHV0Iixyb2xlOiJzbGlkZXIiLCJhcmlhLXZhbHVlbm93IjpGLCJhcmlhLXZhbHVldGV4dCI6UiwiYXJpYS12YWx1ZW1pbiI6MCwiYXJpYS12YWx1ZW1heCI6MTAwLCJhcmlhLW9yaWVudGF0aW9uIjpTfSkpKSl9LCJVYyIpO3ZhciBObWE9Xy5MKGE9Pnt2YXIgYj0oKT0+e3ZhciBjPWEuRygpLGQ9Yy5IPy5nZXRTaXplPy4oKT8ud2lkdGg7cmV0dXJuKGMuYmE/LkVlfHxfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpKSYmISFkJiZkPDQyMH07cmV0dXJuIF8uSygieXRtLWZ1bGxzY3JlZW4tcmVsYXRlZC12aWRlb3MtZW50cnktcG9pbnQtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsSG9zdCIse3l0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFRpdGxlSGlkZGVuOmJ9KX0sXy5LKCJidXR0b24iLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEJ1dHRvbiIse3l0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNpbmdsZVRodW1ibmFpbDpfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfSksCiJvbjpjbGljayI6ZnVuY3Rpb24oYyl7YS5HKCkuUyh7TmE6ITB9KTtfLk1PKCIuZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbiAubWVkaWEtaXRlbS1pbmZvIGEiKTtiVCgpO2Muc3RvcFByb3BhZ2F0aW9uKCl9LCJhcmlhLWxhYmVsIjooKT0+YS5kYXRhKCkudGl0bGU/LmNvbnRlbnQ/PyIifSxfLksoXy5PLHtBOigpPT4hYigpLHRoZW46KCk9Pl8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnRpdGxlfSl9KSxfLksoXy5PLHtBOigpPT5hLmRhdGEoKS5pbWFnZUZyb250LHRoZW46Yz0+Xy5LKCJkaXYiLHtjbGFzczoieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsU3RhY2sifSxfLksoXy5PLHtBOigpPT4hXy54KCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiKXx8ISFhLmRhdGEoKS5pbWFnZUJhY2ssdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlsIiwKInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNtYWxsRmFkZWRUaHVtYm5haWwiKX0pfSksXy5LKF8uTyx7QTooKT0+IV8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil8fCEhYS5kYXRhKCkuaW1hZ2VNaWRkbGUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlsIiwieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsTGFyZ2VGYWRlZFRodW1ibmFpbCIpfSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxDb250YWluZXIifSxfLksoXy5qRix7ZGF0YTpjLGFsdDoiIixjbGFzc05hbWU6Inl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFRodW1ibmFpbCIsYXJpYUhpZGRlbjohMCwKWWE6ITB9KSkpfSkpKX0sIlZjIik7dmFyIElWPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixidXR0b25PdmVycmlkZXM6Y30pPT5fLksoInl0bS1zbGltLW1ldGFkYXRhLWJ1dHRvbi1yZW5kZXJlciIse2NsYXNzOiJ5dG1TbGltTWV0YWRhdGFCdXR0b25SZW5kZXJlckhvc3QifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9ufSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8ucE8se2RhdGE6ZCxjbGFzc05hbWU6YixidXR0b25PdmVycmlkZXM6Y30pfSkpLCJXYyIpO0lWLmlkb21Db21wYXQ9ITA7dmFyIEpWPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixidXR0b25PdmVycmlkZXM6YyxIYzpkfSk9Pnt2YXIgZT1fLkRJKF8uUkwsKCk9PmEoKS5saWtlU3RhdHVzRW50aXR5S2V5fHwiIiksZj0oKT0+Xy50UCgpJiZhKCkuaXNMaWtlJiZhKCkuYnV0dG9uPy50b2dnbGVCdXR0b25SZW5kZXJlcj97c3R5bGU6Im1vbm8ifTpjPy4oKSxoPSgpPT5fLnRQKCkmJmEoKS5pc0xpa2UmJmEoKS5idXR0b24/LnRvZ2dsZUJ1dHRvblJlbmRlcmVyP3thbmltYXRlSWNvbjoidHJ1ZSJ9OnZvaWQgMDtyZXR1cm4gXy5LKCJ5dG0tc2xpbS1tZXRhZGF0YS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyIix7Y2xhc3M6Yn0sXy5LKF8uTyx7QTooKT0+e3ZhciBrPWEoKS5idXR0b24/LnRvZ2dsZUJ1dHRvblJlbmRlcmVyO2lmKGsmJmEoKS5saWtlU3RhdHVzRW50aXR5S2V5KXtsZXQgbD1hKCkuaXNMaWtlP2UoKT8ubGlrZVN0YXR1cz09PSJMSUtFIjplKCk/Lmxpa2VTdGF0dXM9PT0iRElTTElLRSI7cmV0dXJuey4uLmssCmlzVG9nZ2xlZDpsfX1yZXR1cm4ga30sdGhlbjprPT5fLksoXy5xTyx7ZGF0YTprLHN0eWxlOmgsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmYsSGM6ZH0pfSkpfSwiWGMiKTtKVi5pZG9tQ29tcGF0PSEwO3ZhciBLVj1fLkwoYT0+e2Z1bmN0aW9uIGIocil7dmFyIHQ9YygpO3QuYmE/LkR6fHxfLnRQKCl8fHQuaXNGdWxsc2NyZWVuJiZ0LnRhLnRvZ2dsZUZ1bGxzY3JlZW4oKTtyLnN0b3BQcm9wYWdhdGlvbigpfXZhciBjPWEuRyxkPSgpPT5hLkcoKS5IPy5nZXRTaXplPy4oKT8ud2lkdGgsZT1fLk4oKCk9PiEhYS5HKCkuSD8uaXNFbWJlZHNTaG9ydHNNb2RlPy4oKSx2b2lkIDAsIndzSERaIiksZj1fLlAoeyJwbGF5ZXItY29udHJvbHMtaGlkZSI6KCk9PiEoIUlTKGEuRygpKXx8YS5HKCkuYmE/LkVlJiYhYS5HKCkuTmEpfSksaD1hLndhdGNoTmV4dFJlc3BvbnNlLGs9YS50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIsbD1hLnBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIsbT0oKT0+e3ZhciByPUNrYShoPy4oKSxrPy4oKSk7cmV0dXJuIGUoKXx8YS5HKCkuYmE/Lm9oP3IuZmlsdGVyKHQ9Pl8uQih0LGZtYSk/ITE6Xy5CKHQsXy5WTCk/Lmljb24/Lmljb25UeXBlIT09IkFERF9UT19XQVRDSF9MQVRFUiIpOgpyfSxuPSgpPT57dmFyIHI9aD8uKCksdD1rPy4oKSx2PWw/LigpLHo9JFMoYS5HKCkpO3ZhciBFPWUoKTtpZih2KUU9dj8ueW91dHViZVdhdGVybWFyaztlbHNlIGlmKHQ9Xy5CKHQ/LnF1aWNrQWN0aW9uc0JhcixLUyk/LndhdGNoT25Zb3V0dWJlQnV0dG9uLHY9Xy5CKHI/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmZ1bGxzY3JlZW5RdWlja0FjdGlvbnNCYXIsS1MpPy53YXRjaE9uWW91dHViZUJ1dHRvbixyPV8uQih0fHx2LGxWKT8ud2F0Y2hPbll0TGFiZWxCdXR0b24sdD1fLkIodHx8dixsVik/Lnl0TG9nb09ubHlCdXR0b24seilFPXI7ZWxzZXtpZihFKXRyeXtsZXQgQT10LmJ1dHRvblZpZXdNb2RlbCxGPUEudGl0bGVGb3JtYXR0ZWQuYXR0YWNobWVudFJ1bnNbMF0uZWxlbWVudDtGLnR5cGUuaW1hZ2VUeXBlLmltYWdlLnNvdXJjZXNbMF0uY2xpZW50UmVzb3VyY2UuaW1hZ2VOYW1lPSJzaG9ydHNfdGV4dF9sb2dvIjtGLnByb3BlcnRpZXMubGF5b3V0UHJvcGVydGllcy5oZWlnaHQudmFsdWU9CjI0O0YucHJvcGVydGllcy5sYXlvdXRQcm9wZXJ0aWVzLndpZHRoLnZhbHVlPTcyO3o9QT8ub25UYXA/LmlubmVydHViZUNvbW1hbmQ/LnVybEVuZHBvaW50Py51cmw7aWYoRSYmeiYmei5pbmNsdWRlcygiL3dhdGNoP3Y9Iikpe2xldCBDPXoucmVwbGFjZSgiL3dhdGNoP3Y9IiwiL3Nob3J0cy8iKTtBLm9uVGFwLmlubmVydHViZUNvbW1hbmQudXJsRW5kcG9pbnQudXJsPUN9fWNhdGNoKEEpe31FPXR9cmV0dXJuIEV9LHA9e2NsYXNzTmFtZToiY2lyY2xlLWJ1dHRvbnMiLGJ1dHRvbk92ZXJyaWRlczp7c3R5bGU6Im92ZXJsYXkifX07cmV0dXJuIF8uSygicGxheWVyLWZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlbkFjdGlvbk1lbnVIb3N0In0sXy5LKCJkaXYiLHtjbGFzczpmfSxfLksoImRpdiIse2NsYXNzOiJmdWxsc2NyZWVuLWFjdGlvbi1tZW51Iiwib246Y2xpY2siOmZ1bmN0aW9uKHIpe3ZhciB0PWMoKTtjVCh0LHtJYzohMH0pO3Iuc3RvcFByb3BhZ2F0aW9uKCk7CnIuc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT4hKGEuRygpLmJhPy5oaWRlVmlkZW9JbmZvfHxhLkcoKS5iYT8uWXd8fGQoKSYmZCgpPDMyMCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoImFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIiwibm8tbGFiZWwtZXhwIiksIm9uOmNsaWNrIjpifSxfLksoXy5XLHtkYXRhOm19LHtidXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT5fLksoXy5wTyx7ZGF0YTpyLC4uLnB9KSxzbGltTWV0YWRhdGFUb2dnbGVCdXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT5fLksoSlYse2RhdGE6cixjbGFzc05hbWU6Xy5QKHAuY2xhc3NOYW1lLHsibGlrZS1idXR0b24tbm8tbGFiZWwtZXhwIjooKT0+cigpLmlzTGlrZX0pLEhjOigpPT5yKCkuaXNMaWtlP3tBczohMH06dm9pZCAwLGJ1dHRvbk92ZXJyaWRlczooKT0+cigpLmlzTGlrZT92b2lkIDA6cC5idXR0b25PdmVycmlkZXN9KSxzbGltTWV0YWRhdGFCdXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT4KXy5LKElWLHtkYXRhOnIsLi4ucH0pLGZ1bGxzY3JlZW5FbmdhZ2VtZW50QWN0aW9uQmFyU2F2ZUJ1dHRvblJlbmRlcmVyOih7ZGF0YTpyfSk9Pl8uSyhJVix7ZGF0YTpyLC4uLnB9KSxidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uSEQse2RhdGE6cixjbGFzc05hbWU6Inl0d1BsYXllckZ1bGxzY3JlZW5BY3Rpb25NZW51Q2lyY2xlQnV0dG9ucyIsYnV0dG9uT3ZlcnJpZGVzOntpY29uUG9zaXRpb246Imljb24tb25seS00MCJ9fSksdG9nZ2xlQnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Xy5LKF8ucU8se2RhdGE6ciwuLi5wfSl9KSl9KSxfLksoImRpdiIse2NsYXNzOiJxdWljay1hY3Rpb25zLXdyYXBwZXIifSxfLksoXy5PLHtBOigpPT4hYS5HKCkuYmE/Llh3JiYhJFMoYS5HKCkpJiYhKGQoKSYmZCgpPDMyMCkmJiFlKCkmJkxTKGEud2F0Y2hOZXh0UmVzcG9uc2U/LigpKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJmdWxsc2NyZWVuLXdhdGNoLW5leHQtZW50cnlwb2ludC13cmFwcGVyIn0sCl8uSyhObWEse2RhdGE6KCk9PkxTKGEud2F0Y2hOZXh0UmVzcG9uc2U/LigpKSxHOmN9KSl9KSxfLksoXy5PLHtBOigpPT4kUyhhLkcoKSkmJihlKCl8fGQoKSYmZCgpPDMyMCk/ITE6ITAsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoid2F0Y2gtb24teW91dHViZS1idXR0b24td3JhcHBlciJ9LF8uSyhfLlcse2RhdGE6bn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5IRCx7ZGF0YTpyLGNsYXNzTmFtZToid2F0Y2gtb24teW91dHViZS1idXR0b24iLGJ1dHRvbk92ZXJyaWRlczooKT0+e3ZhciB0PXIoKTtyZXR1cm57c2l6ZToiTCIsZGlzYWJsZWQ6IV8uQihfLkIodD8ub25UYXAsXy5PRCksXy5WRCl9fX0pLGJ1dHRvblJlbmRlcmVyOl8ucE8sdG9nZ2xlQnV0dG9uUmVuZGVyZXI6Xy5xT30pKX0pKSkpKX0sIlljIik7S1YuaWRvbUNvbXBhdD0hMDt2YXIgTFY9Xy5MKGE9Pnt2YXIgYj0oKT0+e3ZhciBtPWEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcj8uKCk7cmV0dXJuIF8uQihtPy5lbmRTY3JlZW4scFYpPy5jb250aW51ZVdhdGNoaW5nfSxjPSgpPT57dmFyIG09YS5wbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyPy4oKTtyZXR1cm4gXy5CKG0/LmVuZFNjcmVlbixwVik/LmJyYW5kaW5nSWNvbn0sW2QsZV09Xy5KKCExLHZvaWQgMCwiRWVYWEJjIiksZixoPSgpPT57Y2xlYXJUaW1lb3V0KGYpO2UoITEpO2Y9c2V0VGltZW91dCgoKT0+e2UoITApfSw0RTMpfSxrPSgpPT57dmFyIG09YS5HKCkuSD8uZ2V0VmlkZW9EYXRhKCk/LnZpZGVvX2lkO20mJmEuRygpLkg/LmN1ZVZpZGVvQnlJZChtKX0sbD0oKT0+e3ZhciBtPV8uVXcoYS5wbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyPy4oKS50cmFja2luZ1BhcmFtcyk7bSYmXy5KTyhtKX07Xy5VSigoKT0+e2goKTthLkcoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbk11dGVkQXV0b3BsYXlTdGFydHMiLApoKTthLkcoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbkF1dG9wbGF5QmxvY2tlZCIsayk7YS5HKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLGwpfSk7Xy5ZdSgoKT0+e2NsZWFyVGltZW91dChmKTthLkcoKS5IPy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbk11dGVkQXV0b3BsYXlTdGFydHMiLGgpO2EuRygpLkg/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQXV0b3BsYXlCbG9ja2VkIixrKTthLkcoKS5IPy5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsbCl9KTtyZXR1cm4gXy5LKCJ5dG0tbXV0ZWQtYXV0b3BsYXktb3ZlcmxheSIse2NsYXNzOiJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUhvc3QiLCJvbjpjbGljayI6ZnVuY3Rpb24obSl7dmFyIG49YS5HPy4oKS5ILHA9bj8uZ2V0VmlkZW9EYXRhKCk/LnZpZGVvX2lkLHI9bj8uZ2V0Q3VycmVudFRpbWUoKTtwJiZyJiYobj8udW5NdXRlKCksbj8ubG9hZFZpZGVvQnlJZChwLHIpKTsKbS5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6KCk9PnVTKGEuRygpKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUJhY2tncm91bmQifSxfLksoImRpdiIsbnVsbCxfLksoXy5XLHtkYXRhOmJ9LHtidXR0b25WaWV3TW9kZWw6Xy5IRH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUJyYW5kaW5nSWNvbiJ9LF8uSyhfLk8se0E6Yyx0aGVuOm09Pl8uSyhfLmpGLHtkYXRhOm0sYWx0OiJZb3VUdWJlIExvZ28ifSl9KSkpLFc6KCk9Pl8uSygiZGl2IixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUFjdGlvbk1lbnUiLHt5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUhpZGVBY3Rpb25NZW51OmR9KX0sXy5LKEtWLHtHOmEuRyxwbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyOmEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcn0pKSxfLksoImRpdiIsCntjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXIifSxfLksoXy5NRCx7aWNvbjoiZXF1YWxpemVyIn0pKSl9KSl9LCJaYyIpO0xWLmlkb21Db21wYXQ9ITA7dmFyIE9tYT1fLkwoKHtGeDphLGFuaW1hdGlvbjpifSk9Pnt2YXIgYz1fLnVFKCJkaXYiKSxbZCxlXT1fLkooITEsdm9pZCAwLCJ0aTAybyIpLGY9MCxoPV8ueCgibXdlYl9lbmFibGVfc2hvcnRzX2hlYXJ0X25ld19kb3VibGVfdGFwIik/Imxpa2VfdGFwX2ZlZWRiYWNrX3Nob3J0c19oZWFydCI6Imxpa2VfMjQwZHBfYW5pbWF0aW9uX3YyIjtfLm5FKCgpPT57ZSghMCk7Xy5qZi5BYShmKTtmPV8uWWooKCk9PntlKCExKX0sMkUzKTt2YXIgaz1iPy4oKT8ubmFtZTtpZihrPT09aCl7Y1UoaCk7az1iPy4oKT8ueDt2YXIgbD1iPy4oKT8ueTtsZXQgbT1jLnZhbHVlO20mJihrIT09dm9pZCAwJiZsIT09dm9pZCAwPyhtLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsbS5zdHlsZS5sZWZ0PWAke2t9cHhgLG0uc3R5bGUudG9wPWAke2x9cHhgLG0uc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkiKToobS5zdHlsZS5wb3NpdGlvbj0iIixtLnN0eWxlLmxlZnQ9IiIsbS5zdHlsZS50b3A9CiIiLG0uc3R5bGUudHJhbnNmb3JtPSIiKSl9ZWxzZXtpZihsPWMudmFsdWUpbC5zdHlsZS5wb3NpdGlvbj0iIixsLnN0eWxlLmxlZnQ9IiIsbC5zdHlsZS50b3A9IiIsbC5zdHlsZS50cmFuc2Zvcm09IiI7az09PSJwbGF5Xzk2ZHBfYW5pbWF0aW9uIj9jVSgicGxheV85NmRwX2FuaW1hdGlvbiIpOms9PT0icGF1c2VfOTZkcF9hbmltYXRpb24iJiZjVSgicGF1c2VfOTZkcF9hbmltYXRpb24iKX19LCJFQ0pVZGQiKTtyZXR1cm4gXy5LKCJzaG9ydHMtdG91Y2gtZmVlZGJhY2siLHtjbGFzczpfLlAoInl0U2hvcnRzVG91Y2hGZWVkYmFja0hvc3QiLHt5dFNob3J0c1RvdWNoRmVlZGJhY2tIaWRkZW46KCk9PiFkKCl9KX0sXy5LKF8uTyx7QTphLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2hvcnRzVG91Y2hGZWVkYmFja1RvdWNoRmVlZGJhY2sifSxfLksoImRpdiIse2VsOmMsY2xhc3M6Inl0U2hvcnRzVG91Y2hGZWVkYmFja0xpa2VBbmltYXRpb25XcmFwcGVyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sCl8uSyhfLmNNLHthbmltYXRpb25OYW1lOigpPT5oLGRhdGE6e2FuaW1hdGlvbkNvbmZpZzpiVShoKX0sY2xhc3NOYW1lOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uIn0pKSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNrIn0sXy5LKF8uY00se2FuaW1hdGlvbk5hbWU6KCk9PiJwbGF5Xzk2ZHBfYW5pbWF0aW9uIixkYXRhOnthbmltYXRpb25Db25maWc6YlUoInBsYXlfOTZkcF9hbmltYXRpb24iKX0sY2xhc3NOYW1lOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tQbGF5UGF1c2VBbmltYXRpb24ifSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2hvcnRzVG91Y2hGZWVkYmFja1RvdWNoRmVlZGJhY2sifSxfLksoXy5jTSx7YW5pbWF0aW9uTmFtZTooKT0+InBhdXNlXzk2ZHBfYW5pbWF0aW9uIixkYXRhOnthbmltYXRpb25Db25maWc6YlUoInBhdXNlXzk2ZHBfYW5pbWF0aW9uIil9LGNsYXNzTmFtZToieXRTaG9ydHNUb3VjaEZlZWRiYWNrUGxheVBhdXNlQW5pbWF0aW9uIn0pKSl9LAoiYWQiKTt2YXIgZFU9dm9pZCAwLGVVPXZvaWQgMCxmVSxnVT1fLkwoKHtkYXRhOmF9KT0+e3ZhciBbYixjXT1fLkooMCx2b2lkIDAsIlZmdjU4IiksW2QsZV09Xy5KKDAsdm9pZCAwLCJnR0NOOWQiKSxbZixoXT1fLkooITEsdm9pZCAwLCJuU2FMaCIpO3JldHVybiBfLksoInl0bS1ib3R0b20tc2hlZXQtb3ZlcmxheS1yZW5kZXJlciIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckhvc3QifSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRhaW5lciIsc3R5bGU6KCk9Pnt2YXIgaz1iKCksbD1kKCksbT1mKCk7az1gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR7TWF0aC5tYXgoMCxNYXRoLnJvdW5kKGwtaykpfXB4KTtgO20mJihrKz0idHJhbnNpdGlvbjogMC4yczsiKTtyZXR1cm4ga30sIm9uOnRvdWNoc3RhcnQiOmZ1bmN0aW9uKGspe2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSJub25lIjtjKGsudG91Y2hlc1swXS5jbGllbnRZKTsKay5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNobW92ZSI6ZnVuY3Rpb24oayl7ZShrLnRvdWNoZXNbMF0uY2xpZW50WSk7ay5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoZW5kIjpmdW5jdGlvbihrKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0iIjt3aW5kb3cuc2NyZWVuLmF2YWlsSGVpZ2h0LWQoKTw9MzAwPyhoKCEwKSxlKHdpbmRvdy5zY3JlZW4uYXZhaWxIZWlnaHQpLHNldFRpbWVvdXQoKCk9PntpZihkVSE9bnVsbCl7dmFyIGw9Xy5IeigpO2wuc2V0KCJzdXBwcmVzc19hcHBfdXBzZWxsIiwxKTtsLnNhdmUoKTtlVSYmKGVVLnF2PSEwLGVVPXZvaWQgMCk7Xy5LTihkVSk7ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkVSk7ZFU9dm9pZCAwO2ZVPy4oKTtmVT12b2lkIDA7Xy55KCkucmVzb2x2ZShfLnlQKS5RdSgpfX0sMjUwKSk6KGgoITApLGUoMCkpO2suc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckhlYWRlciIsCnN0eWxlOigpPT5hKCkuYmFja2dyb3VuZEltYWdlP2BiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHthKCkuYmFja2dyb3VuZEltYWdlfSk7YDp2b2lkIDB9LF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyRHJhZ0hhbmRsZSJ9KSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmNlbnRyYWxJY29uPy5pY29uVHlwZSxjbGFzc05hbWU6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2VudHJhbEljb24ifSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmNsb3NlQnV0dG9ufSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmt9KT0+Xy5LKF8ucE8se2RhdGE6ayxjbGFzc05hbWU6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2xvc2UiLHByZXZlbnREZWZhdWx0OiEwLFFmOiEwfSl9KSksXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50cyJ9LF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGUifSwKXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclN1YnRpdGxlIn0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS5zdWJ0aXRsZX0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9uc30se2J1dHRvblJlbmRlcmVyOl8ucE99KSkpKX0sImJkIik7Z1UuaWRvbUNvbXBhdD0hMDt2YXIgTVY9Xy5MKCh7ZGF0YTphLHN0b3BQcm9wYWdhdGlvbjpifSk9Pl8uSygieXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UtcmVuZGVyZXIiLG51bGwsXy5LKF8udk8se2ljb25UeXBlOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJhdWRpb19zbGFzaCI6ImF1ZGlvX29mZiIsYXJpYUxhYmVsOigpPT5fLmFOKGEoKS5mb3JjZWRNdXRlTWVzc2FnZVRleHQpLG9uY2xpY2s6Yz0+e2I/LigpJiZjLnN0b3BQcm9wYWdhdGlvbigpO2M9YSgpO18uQihjLmhlbHBCdXR0b24sXy5WTCk/Lm5hdmlnYXRpb25FbmRwb2ludCYmXy5BSihfLkIoYy5oZWxwQnV0dG9uLF8uVkwpPy5uYXZpZ2F0aW9uRW5kcG9pbnQsYywhMCl9LExtOiJ5dG0tZm9yY2VkLW11dGUtbWVzc2FnZSJ9KSksImVkIik7TVYuaWRvbUNvbXBhdD0hMDt2YXIgTlY9Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLEdKOmN9KT0+e3ZhciBkPV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpO3JldHVybiBfLksoInl0bS1pbmZvLXBhbmVsLWNvbnRlbnQtcmVuZGVyZXIiLHtjbGFzczpfLlAoYiwieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdCIse3l0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RJc1dhdGNoSW5mb1BhbmVsOmMseXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdENpbmVtYXRpY0JhY2tncm91bmQ6KCk9PmQmJmM/LigpfSksInl0bS1pbmZvLXBhbmVsLWNvbnRlbnQtdHJ1bmNhdGUtcGFyYWdyYXBocyI6KCk9PiEhYSgpLnRydW5jYXRlUGFyYWdyYXBoc3x8dm9pZCAwLCJ5dG0taW5mby1wYW5lbC1jb250ZW50LWhhcy1tZW51IjooKT0+ISFhKCkubWVudXx8dm9pZCAwLCJkYXRhLWJhY2tncm91bmQiOigpPT5hKCkuYmFja2dyb3VuZH0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEoKS5zb3VyY2VFbmRwb2ludCwKY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJFbmRwb2ludCJ9LF8uSyhQbWEse2RhdGE6YX0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCkubWVudX0se21lbnVSZW5kZXJlcjooe2RhdGE6ZX0pPT5fLksoXy5TUCx7ZGF0YTplLGNsYXNzTmFtZToieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWVudSJ9KX0pKX0sImZkIiksUG1hPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJXcmFwcGVyIiwiZGF0YS1oYXMtaWNvbiI6KCk9PiEhYSgpLmljb259LF8uSyhfLk8se0E6KCk9PmEoKS5zb3VyY2VBdFRvcCYmYSgpLnNvdXJjZSx0aGVuOigpPT5fLksoT1Yse2RhdGE6YX0pfSksXy5LKF8uTyx7QTooKT0+YSgpLnRpdGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclRpdGxlQ29udGFpbmVyIn0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pLF8uSyhfLk1ELAp7aWNvbjooKT0+YSgpLmlubGluZUxpbmtJY29uPy5pY29uVHlwZSxjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckxpbmtJY29uIn0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckJvZHkifSxfLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUZXh0In0sXy5LKF8uTyx7QTooKT0+IWEoKS5zb3VyY2VBdFRvcCYmYSgpLnNvdXJjZSx0aGVuOigpPT5fLksoT1Yse2RhdGE6YX0pfSksXy5LKF8uZ0cse3BhOigpPT5hKCkucGFyYWdyYXBoc3x8W119LChiLGMpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJQYXJhZ3JhcGgifSxfLksoXy5JSix7ZGF0YTpifSksXy5LKF8uTyx7QTooKT0+YygpPT09YSgpLnBhcmFncmFwaHMubGVuZ3RoLTEmJmEoKS5pbmxpbmVTb3VyY2UsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySW5saW5lU291cmNlIn0sCl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZVRleHQifSxfLksoXy5JSix7ZGF0YTooKT0+YSgpLmlubGluZVNvdXJjZX0pKSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmlubGluZUxpbmtJY29uPy5pY29uVHlwZSxjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckxpbmtJY29uIn0pKX0pKSkpLF8uSyhfLk8se0E6KCk9PmEoKS5pY29uLHRoZW46Yj0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVyUmlnaHRJdGVtcyJ9LF8uSyhfLk1ELHtpY29uOigpPT5iKCkuaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIZWFkZXJJY29uIn0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSl9KSxfLksoXy5PLHtBOigpPT5hKCkudGh1bWJuYWlsLHRoZW46Yj0+Xy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6YixjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclRodW1ibmFpbCIsCmFsdDoiIixZYTpfLngoImMzX3ByZXNlcnZlX2RpbWVuc2lvbnNfa3MiKT92b2lkIDA6ITAsVGE6Xy54KCJjM19wcmVzZXJ2ZV9kaW1lbnNpb25zX2tzIik/dm9pZCAwOiEwfSl9KSkpLCJnZCIpLE9WPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJNZXRhZGF0YSJ9LF8uSyhfLk8se0E6KCk9PmEoKS5zb3VyY2UsdGhlbjpiPT5fLksoXy5JSix7ZGF0YTpifSl9KSxfLksoXy5PLHtBOigpPT5hKCkucHVibGlzaGVkVGltZVRleHQsdGhlbjpiPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJQdWJsaXNoVGltZSJ9LCJcdTIwMjIgIixfLksoXy5JSix7ZGF0YTpifSkpfSkpLCJoZCIpO05WLmlkb21Db21wYXQ9ITA7dmFyIFBWPV8uTCgoe2RhdGE6YX0pPT5fLksoInl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlciIse2JhY2tncm91bmQ6KCk9PmEoKS5iYWNrZ3JvdW5kfSxfLksoXy5PLHtBOigpPT5hKCkudGl0bGUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXItbGVmdC1pdGVtcyJ9LF8uSyhfLk1ELHtpY29uOigpPT5hKCkuaWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG0taW5mby1wYW5lbC1jb250YWluZXItaGVhZGVyLWljb24ifSksXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCkubWVudX0se21lbnVSZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoXy5TUCx7ZGF0YTpiLGNsYXNzTmFtZToieXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1tZW51In0pfSkpfSksXy5LKF8uVyx7ZGF0YTooKT0+CmEoKS5jb250ZW50fSx7aW5mb1BhbmVsQ29udGVudFJlbmRlcmVyOk5WfSkpLCJpZCIpO1BWLmlkb21Db21wYXQ9ITA7dmFyIFJWPV8uTCgoe2RhdGE6YSxpc0FjdGl2ZTpiLEhKOmMsY2xhc3NOYW1lOmR9KT0+e3ZhciBlPV8uY0koXy5aUCksZj1fLmNJKHdqYSksaD1fLmNJKHZqYSksaztfLm5FKCgpPT57Yj8uKCkmJmEoKT8udHJhY2tpbmdQYXJhbXMmJmEoKS50cmFja2luZ1BhcmFtcyE9PWsmJl8uaXEoKSE9PWsmJihfLmx4KF8uaHgoKSxhKCkudHJhY2tpbmdQYXJhbXMpLGs9Xy5pcSgpKX0sIkxSZVNsYiIpO18uVUooKCk9PntubGEoYSgpKX0pO3JldHVybiBfLksoInl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyIix7Y2xhc3M6ZCwiZGF0YS1pcy1hY3RpdmUiOmJ8fHZvaWQgMCwiZGF0YS1oYXMtaW5mby1wYW5lbCI6KCk9Pnt2YXIgbD1hKCksbT1fLkIobC5wbGF5ZXJPdmVybGF5LGNtYSk7cmV0dXJuISFsLmluZm9QYW5lbHx8ISFtPy5pbmZvUGFuZWx8fHZvaWQgMH0sImV4dHJhY3Qtb3ZlcmxheSI6KCk9PmUoKT09PTF8fHZvaWQgMCwiZXh0cmFjdC1hY3Rpb24tYmFyIjooKT0+Xy5hTShlKCkpfHwKdm9pZCAwLCJzbWFsbGVyLXNjcmVlbi1zcXVlZXplYmFjayI6KCk9PmYoKXx8dm9pZCAwLCJpcy1mdWxsc2NyZWVuIjooKT0+aCgpfHx2b2lkIDAsImlzLXdlYiI6KCk9PmM/LigpfHx2b2lkIDB9LF8uSyhfLk8se0E6KCk9PmEoKS5wbGF5ZXJPdmVybGF5LHRoZW46bD0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT4hMCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LXRvcC1iYXIifSxfLksoUVYse2RhdGE6YX0pKX0pLF8uSyhfLlcse2RhdGE6bH0se3JlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsOl8uYmphfSkpLFc6KCk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczoicmVlbC1wbGF5ZXItb3ZlcmxheS1tYWluLWNvbnRlbnQifSxfLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhIn0sXy5LKFFtYSx7ZGF0YTphfSkpLG51bGwsXy5LKFJtYSx7ZGF0YTphfSkpLF8uSyhTbWEse2RhdGE6YX0pKX0pLApfLksoVG1hLHtkYXRhOmF9KSl9LCJrZCIpO1JWLmlkb21Db21wYXQ9ITA7CnZhciBRbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZXRhcGFuZWx9LHtyZWVsTWV0YXBhbmVsVmlld01vZGVsOl8uclF9KSwibGQiKSxTbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6InJlZWwtcGxheWVyLW92ZXJsYXktaW5mby1wYW5lbCJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5pbmZvUGFuZWx9LHtpbmZvUGFuZWxDb250YWluZXJSZW5kZXJlcjpQVn0pKSwibWQiKSxSbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6InJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyJ9LF8uSyhRVix7ZGF0YTphfSksXy5LKFVtYSx7ZGF0YTphfSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnBpdm90QnV0dG9ufSx7cGl2b3RCdXR0b25WaWV3TW9kZWw6Xy5pUX0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5mb3JjZWRNdXRlTWVzc2FnZVJlbmRlcmVyfSx7Zm9yY2VkTXV0ZU1lc3NhZ2VSZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoTVYse2RhdGE6YiwKc3RvcFByb3BhZ2F0aW9uOiEwfSl9KSksIm5kIiksUVY9Xy5MKCh7ZGF0YTphfSk9Pl8uSyhfLk8se0E6KCk9PiFfLlRFKCksdGhlbjooKT0+Xy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1lbnV9LHttZW51UmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKF8uVFAse2RhdGE6YixzaG93SWNvbjohMCxidXR0b25PdmVycmlkZXM6aFUoKX0pfSksVzooKT0+Xy5LKF8uTyx7QTooKT0+Xy5URSgpLHRoZW46KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZW51fSx7bWVudVJlbmRlcmVyOih7ZGF0YTpifSk9Pl8uSyhfLlNQLHtkYXRhOmIsZGY6InJlZWwtcGxheWVyLW92ZXJsYXktb3ZlcmZsb3ctbWVudSIsSGE6ITEsdW46ITEsc3RvcFByb3BhZ2F0aW9uOiEwLGJ1dHRvbk92ZXJyaWRlczpoVSgpfSl9KX0pfSksInFkIiksVW1hPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9uQmFyfSx7cmVlbEFjdGlvbkJhclZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoXy5qUSx7ZGF0YTpiLApBZjp7aWNvblBvc2l0aW9uOiJpY29uLXdpdGgtbGFiZWwiLHNpemU6IlMiLHR5cGU6InRleHQiLHN0eWxlOiJvdmVybGF5In19KX0pLCJyZCIpLFRtYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoic3RpY2tlci1sYXllciJ9LF8uSyhfLk8se0E6KCk9PiEhYSgpLnZpZGVvSW50ZXJhY3Rpb25zJiZfLngoIm13ZWJfZW5hYmxlX3Nob3J0c19zdGlja2VycyIpLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uZ0cse3BhOigpPT5hKCkudmlkZW9JbnRlcmFjdGlvbnM/LmludGVyYWN0aW9uc3x8W119LGI9Pl8uSyhfLmNqYSx7ZGF0YTpifSkpLF8uSyhfLlcse2RhdGE6KCk9PmEoKT8udmlkZW9JbnRlcmFjdGlvbnM/LmVsZW1lbnRzSW50ZXJhY3Rpb25zTGF5ZXJ9LHtzdGlja2Vyc0xheWVyUmVuZGVyZXI6Xy5kamF9KSl9KSksInNkIik7dmFyIFNWPV8uTCgoe2RhdGE6YSxZZjpiLGNqOmMsdkI6ZCxJcjplLGVoOmZ9KT0+e2Z1bmN0aW9uIGgocCl7bi5sb3R0aWVFbCYmbi5sb3R0aWVFbC5pc1BhdXNlZCYmbi5sb3R0aWVFbC5nb1RvQW5kUGxheSgwKTtwLnN0b3BQcm9wYWdhdGlvbigpfV8uVUooKCk9Pnt2YXIgcD1vbGEuYmluZCh2b2lkIDAsYSgpKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLHApO18uWXUoKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLHApfSl9KTt2YXIgaz0oKT0+e3ZhciBwPWEoKTtyZXR1cm4gZD8uKCk/cC5kYXJrVGhlbWVMb2dvPy5sb3R0aWVBbmltYXRpb24/LnVybDpwLmxpZ2h0VGhlbWVMb2dvPy5sb3R0aWVBbmltYXRpb24/LnVybH0sbD0oKT0+YSgpLmFjY2Vzc2liaWxpdHlEYXRhPy5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWx8fF8uYU4oYSgpLnRvb2x0aXBUZXh0KXx8IiIsbT0oKT0+ZD8uKCk/ImxvZ28tZW50aXR5LWxvdHRpZS1hbmltYXRpb24tZGFyayI6CiJsb2dvLWVudGl0eS1sb3R0aWUtYW5pbWF0aW9uLWxpZ2h0IixuPXt9O3JldHVybiBfLksoInl0bS1sb2dvLWVudGl0eSIse2NsYXNzOiJ5dG1Mb2dvRW50aXR5SG9zdCJ9LGU/LigpLF8uSyhfLk8se0E6KCk9PiFlJiZiPy4oKSE9PXZvaWQgMCYmYz8uKCkhPT12b2lkIDAmJmQ/LigpIT09dm9pZCAwLHRoZW46KCk9Pl8uSyhfLk8se0E6ayx0aGVuOigpPT5fLksoImRpdiIse2lkOmMsY2xhc3M6Inl0bUxvZ29FbnRpdHlDb250YWluZXIiLCJvbjpjbGljayI6aH0sXy5LKF8uY00se2NsYXNzTmFtZTpfLlAoYiwieXRtTG9nb0VudGl0eUxvZ28iKSxkYXRhOigpPT4oe2FuaW1hdGlvbkNvbmZpZzp7cGF0aDprKCksYXV0b3BsYXk6ITAsbG9vcDohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMH19LGxpc3RlbmVyczp7ZGF0YV9mYWlsZWQ6ZixlcnJvcjpmfX0pLGFuaW1hdGlvblJlZjpuLGFuaW1hdGlvbk5hbWU6bX0pKSxXOigpPT5fLksoVm1hLHtjbGFzc05hbWU6Inl0bUxvZ29FbnRpdHlDb250YWluZXIiLApZZjpiLGlkOigpPT5jPy4oKT8/IiIsREE6cD0+e3ZhciByPWEoKSx0PSEhZD8uKCk7cmV0dXJuIHQmJnIuZGFya1RoZW1lTG9nbz8udGh1bWJuYWlsP18uSlAoci5kYXJrVGhlbWVMb2dvLnRodW1ibmFpbCxwfHx2b2lkIDApOiF0JiZyLmxpZ2h0VGhlbWVMb2dvPy50aHVtYm5haWw/Xy5KUChyLmxpZ2h0VGhlbWVMb2dvLnRodW1ibmFpbCxwfHx2b2lkIDApOiIifSxhbHRUZXh0OmwsZWg6Zn0pfSl9KSl9LCJ0ZCIpO1NWLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7SXI6ITAsZWg6ITB9fTsKdmFyIFZtYT1fLkwoKHtjbGFzc05hbWU6YSxZZjpiLGlkOmMsREE6ZCxhbHRUZXh0OmUsZWg6Zn0pPT57dmFyIGg9Xy51RSgiZGl2Iiksaz1fLnVFKCJpbWciKTtfLlVKKCgpPT57ay52YWx1ZS5zcmM9ZChoLnZhbHVlKX0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmEsZWw6aH0sXy5LKCJpbWciLHtlbDprLCJvbjplcnJvciI6ZnVuY3Rpb24obCl7Zj8uKCk7bC5zdG9wUHJvcGFnYXRpb24oKX0saWQ6YyxjbGFzczpfLlAoYiwieXRtTG9nb0VudGl0eUxvZ28iKSxhbHQ6ZX0pKX0sInVkIik7dmFyIFVWPV8uTCgoe3RvcGJhckxvZ29SZW5kZXJlcjphLFZqOmIsV2o6YyxYajpkLHVtOmUsaWNvbk92ZXJyaWRlOmYsaHo6aCxhazprfSk9PntmdW5jdGlvbiBsKCl7dCghMCl9dmFyIG09Xy5ESShsamEsKCk9PmE/LigpPy5vdmVycmlkZUVudGl0eUtleXx8Xy5WTSgpPyJFZ1owYjNCaVlYSWc5UUVvQVElM0QlM0QiOiIiKSxuPSgpPT5hPy4oKT8uaWNvbkltYWdlPy5pY29uVHlwZSxbcCxyXT1fLkooITEsdm9pZCAwLCJaYVBQbGIiKSx0PXIsdj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpLHo9KF8uVk0oKXx8dj8uKCkpPz8hMSxFPW51bGwsQT1fLnVFKCJidXR0b24iKTtfLlVKKGZ1bmN0aW9uKCl7KG0/LigpPz92b2lkIDApfHxTUygxMjA4MSxBLnZhbHVlLEUsRj0+e0U9Rn0sbnVsbCl9KTtyZXR1cm4gXy5LKCJ5dG0taG9tZS1sb2dvIixudWxsLF8uSygiYnV0dG9uIix7ZWw6QSwiYXJpYS1sYWJlbCI6KCk9Pl8uQ0ooYT8uKCk/LnRvb2x0aXBUZXh0KT9fLkNKKGE/LigpPy50b29sdGlwVGV4dCk6CiJZb3VUdWJlIixyb2xlOiJsaW5rIixjbGFzczpfLlAoeyJsb2dvLWluLXBsYXllci1lbmRwb2ludCI6YywibW9iaWxlLXRvcGJhci1oZWFkZXItZW5kcG9pbnQiOigpPT4hYygpfSksa2V5OigpPT5tPy4oKT8/dm9pZCAwPyJ5b29kbGUiOiJsb2dvIiwib246Y2xpY2siOmZ1bmN0aW9uKEYpe3ZhciBDPWE/LigpPy5lbmRwb2ludD8/clYsRz1tPy4oKT8/dm9pZCAwLEQ9Ii8iO0c/KEM9Ry5vblRhcENvbW1hbmR8fEMsRD1fLkIoRy5vblRhcENvbW1hbmQ/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8udXJsfHxEKTpEPV8uQihDPy5jb21tYW5kTWV0YWRhdGEsXy56dyk/LnVybHx8RDt2YXIgSD1rPy4oKT8/Mzg1NCxSPUYuY3VycmVudFRhcmdldDtHJiYoUi5kYXRhPUcpO2g/LihGKTtfLnFQKHtocmVmOkQsYWs6SCxlbGVtZW50OlIscHVzaFN0YXRlOiEwLGVuZHBvaW50OkN9KTtGLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTooKT0+IXAoKSYmKG0/LigpPz92b2lkIDApJiZpVShiKCkpJiYKalUoeixtPy4oKT8/dm9pZCAwKSx0aGVuOigpPT5fLksoU1Yse2RhdGE6KCk9Pm0/LigpPz92b2lkIDAsSXI6KCk9Pl8uSyhUVix7Vmo6YixXajpjLFhqOmQsWWY6Im1vYmlsZS10b3BiYXItbG9nbyIsY2o6ImhvbWUtaWNvbiIsdW06ZSxpY29uT3ZlcnJpZGU6ZixyczpufSksZWg6bH0pfSksXy5LKF8uTyx7QTooKT0+IXAoKSYmKG0/LigpPz92b2lkIDApJiZpVShiKCkpJiYhalUoeixtPy4oKT8/dm9pZCAwKSx0aGVuOigpPT5fLksoU1Yse2RhdGE6KCk9Pm0/LigpPz92b2lkIDAsWWY6Im1vYmlsZS10b3BiYXItbG9nbyIsY2o6ImhvbWUtaWNvbiIsdkI6eixlaDpsfSl9KSxfLksoXy5PLHtBOigpPT4hKCFwKCkmJihtPy4oKT8/dm9pZCAwKSYmaVUoYigpKSksdGhlbjooKT0+Xy5LKFRWLHtWajpiLFdqOmMsWGo6ZCxZZjoibW9iaWxlLXRvcGJhci1sb2dvIixjajoiaG9tZS1pY29uIix1bTplLGljb25PdmVycmlkZTpmLHJzOm59KX0pKSl9LCJ2ZCIpO1VWLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7aHo6ITB9fTsKdmFyIFRWPV8uTCgoe1ZqOmEsV2o6YixYajpjLFlmOmQsY2o6ZSx1bTpmLGljb25PdmVycmlkZTpoLHJzOmt9KT0+e3ZhciBsPSgpPT5hKCk/aD8uKCl8fCJMT0dPX1dJVEhfVEVYVCI6Yz8uKCk/az8uKCk6IkxPR08iO3JldHVybiBfLksoXy5NRCx7aWNvbjooKT0+e3ZhciBtPWwoKTtmPy4oKSYmYT8uKCkmJihtKz0iX01PTk9DSFJPTUUiKTtyZXR1cm4gbX0sY2xhc3NOYW1lOl8uUCgoKT0+YigpPyJsb2dvLWluLXBsYXllciI6ZCgpLHsiZnVsbC1sb2dvIjphLCJmdWxsLWxvZ28tcmVkIjooKT0+YSgpJiZsKCk9PT0iWU9VVFVCRV9QUkVNSVVNX0xPR09fU0hPUlQiLCJzaG9ydHMtbG9nbyI6Yyxtb25vY2hyb21hdGljOmZ9KSxpZDplfSl9LCJ3ZCIpO3ZhciBXbWE9Xy5MKGE9Pl8uSyhfLklCLG51bGwsXy5LKE9tYSx7Rng6ITEsYW5pbWF0aW9uOmEuYW5pbWF0aW9ufSksXy5LKCJkaXYiLHtjbGFzczoieXRTaG9ydHNFbWJlZHNUb3BiYXJDb250YWluZXIifSxfLksoVVYse3RvcGJhckxvZ29SZW5kZXJlcjphLnh5LFZqOiExLFdqOiEwLFhqOiEwLGFrOjEzNDg0MH0pLF8uSyhfLk8se0E6YS5yZWVsSXRlbVdhdGNoUmVzcG9uc2UsdGhlbjooKT0+Xy5LKEhWLHtvcmllbnRhdGlvbjoidmVydGljYWxfZG93biIsSDphLkgsQ3A6ITAsY2xhc3NOYW1lOiJ5dFNob3J0c0VtYmVkc1ZvbHVtZUNvbnRyb2xzIixiajohMH0pfSkpLF8uSyhfLk8se0E6YS5vdmVybGF5LHRoZW46Yj0+Xy5LKFJWLHtkYXRhOigpPT57dmFyIGM9YigpO2lmKF8udFAoKSl7dmFyIGQ9Yy5tZW51Py5tZW51UmVuZGVyZXI7Yz1kPy5pdGVtcz97Li4uYyxtZW51OnsuLi5jLm1lbnUsbWVudVJlbmRlcmVyOnsuLi5kLGl0ZW1zOlt7YWNjb3VudEluZm9NZW51SXRlbTohMH0sCi4uLmQuaXRlbXNdfX19OmN9cmV0dXJuIGN9LGNsYXNzTmFtZToieXRTaG9ydHNFbWJlZHNSZWVsUGxheWVyT3ZlcmxheVJlbmRlcmVyIn0pfSksXy5LKE1tYSx7SDphLkgsY29udGV4dDphLmNvbnRleHR9KSksInhkIiksV2xhPV8uTChhPT57dmFyIHtIOmIscmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmMsamI6ZCxQaDplLGNvbnRleHQ6Zn09Xy5EQyhhLHtIOnZvaWQgMCxyZWVsSXRlbVdhdGNoUmVzcG9uc2U6dm9pZCAwLGpiOnZvaWQgMCxQaDp2b2lkIDB9KSxbaCxrXT1fLkoodm9pZCAwLHZvaWQgMCwiQ1BTekllIiksW2wsbV09Xy5KKHZvaWQgMCx2b2lkIDAsIklJNEhDZCIpO18ub0YoKCk9Pnt2YXIgQT1iPy4oKTtBPy5pc1JlYWR5KCkmJm0oQS5nZXRQbGF5ZXJTdGF0ZSgpKX0pO3ZhciBuPUE9PntiPy4oKSYmbShBKX07Xy5uRSgoKT0+e3ZhciBBPWI/LigpO0EmJihBLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLG4pLF8uWXUoKCk9PntBLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLApuKX0pKX0sIkM3RDU5ZCIpO18ubkUoKCk9Pnt2YXIgQT1jKCk7aWYoQSl7bGV0IEY9Xy55KCkucmVzb2x2ZShfLmJMKTtmb3IobGV0IEMgb2YgQS5lbmdhZ2VtZW50UGFuZWxzfHxbXSkoQT1DLmVuZ2FnZW1lbnRQYW5lbFNlY3Rpb25MaXN0UmVuZGVyZXIpJiZGLk96KEEuaWRlbnRpZmllcj8udGFnfHxBLnRhcmdldElkfHxBLnBhbmVsSWRlbnRpZmllcixDKX19LCJRZFNlVGIiKTtfLm5FKCgpPT57ZnVuY3Rpb24gQSgpe2lmKEMpe2xldCBHPUMuZ2V0T3B0aW9ucz8uKCJjYXB0aW9ucyIpO0cmJkcubGVuZ3RoPjAmJkM/LnVwZGF0ZVN1YnRpdGxlc1VzZXJTZXR0aW5ncz8uKHtmb250U2l6ZUluY3JlbWVudDoyfSwhMSl9fXZhciBGPWI/LigpO2lmKEYpe3ZhciBDPUY7QSgpO0MuYWRkRXZlbnRMaXN0ZW5lcigib25DYXB0aW9uc01vZHVsZUF2YWlsYWJsZSIsQSk7Xy5ZdSgoKT0+e0MucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DYXB0aW9uc01vZHVsZUF2YWlsYWJsZSIsQSl9KX19LCJsOFcxdmIiKTsKdmFyIHA9Xy5OKCgpPT5jKCk/Lm92ZXJsYXk/LnJlZWxQbGF5ZXJPdmVybGF5UmVuZGVyZXJ8fGQoKT8uZW1iZWRQcmV2aWV3Py5yZWVsUGxheWVyT3ZlcmxheVJlbmRlcmVyLHZvaWQgMCwiemVoWVliIikscj1fLk4oKCk9Pnt2YXIgQTsoQT1fLkIoYygpPy50b3BiYXIsJGxhKT8udG9wYmFyTG9nbz8udG9wYmFyTG9nb1JlbmRlcmVyKXx8KEE9ZSgpPy5lbmRwb2ludCxBPShBPShBJiZfLkIoQSxfLlREKSk/LnZpZGVvSWQpP2BodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvJHtBfWA6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cyIsQT17aWNvbkltYWdlOntpY29uVHlwZToiWU9VVFVCRV9TSE9SVFNfT1VUTElORV9XSVRIX1RFWFRfMjQifSx0b29sdGlwVGV4dDp7cnVuczpbe3RleHQ6IllvdVR1YmUgU2hvcnRzIn1dfSxlbmRwb2ludDp7Y29tbWFuZE1ldGFkYXRhOnt3ZWJDb21tYW5kTWV0YWRhdGE6e3VybDpBLHdlYlBhZ2VUeXBlOiJXRUJfUEFHRV9UWVBFX1NIT1JUUyIsCnJvb3RWZTozODMyfX0sdXJsRW5kcG9pbnQ6e3VybDpBLHRhcmdldDoiVEFSR0VUX05FV19XSU5ET1cifX19KTtyZXR1cm4gQX0sdm9pZCAwLCJOTjI3MmMiKTthPV8uTigoKT0+e2lmKGwoKT09PTUpe3ZhciBBPWUoKT8uZW5kcG9pbnQ7aWYoQSYmKEE9Xy5CKEEsXy5URCk/LnRodW1ibmFpbD8udGh1bWJuYWlscz8uWzBdPy51cmwpKXJldHVybiBfLklFKHsiYmFja2dyb3VuZC1zaXplIjoiY292ZXIiLCJiYWNrZ3JvdW5kLXBvc2l0aW9uIjoiY2VudGVyIiwiYmFja2dyb3VuZC1yZXBlYXQiOiJuby1yZXBlYXQiLCJiYWNrZ3JvdW5kLWltYWdlIjpgJHsibGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjQpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDE2MHB4KSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC40KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA5NnB4KSJ9LCB1cmwoJHtBfSlgfSkoKX19LHZvaWQgMCwiaTE2RkRlIik7CnZhciB0PV8uTigoKT0+YigpPz92b2lkIDAsdm9pZCAwLCJVZll0RmYiKSx2PV8uTigoKT0+dCgpPy5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5Py4oKSx2b2lkIDAsImxLY0FtZCIpLHo9Xy5OKCgpPT4oe3RhOmYoKS50YSxUYzpmKCkuVGMsR2M6ZigpLkdjLGJhOmYoKS5iYSxIOnQoKSxwbGF5ZXJTdGF0ZTpsKCk/Py0xLFM6KCk9Pnt9fSksdm9pZCAwLCJlNmxTaWUiKSxFPV8uTigoKT0+e3ZhciBBPXQoKT8uZ2V0UGxheWVyUmVzcG9uc2U/LigpO3JldHVybiBBP18uQihBPy5vdmVybGF5Py5wbGF5ZXJDb250cm9sc092ZXJsYXlSZW5kZXJlcj8ubXV0ZWRBdXRvcGxheSxvVik6dm9pZCAwfSx2b2lkIDAsIkRHVFNuZCIpO3JldHVybiBfLksoXy5uRyx7RWY6W18ub0coJFQsdCldfSxfLksoInNob3J0cy1lbWJlZHMiLHtjbGFzczoieXRTaG9ydHNFbWJlZHNIb3N0Iiwib246Y2xpY2siOmZ1bmN0aW9uKEEpe0Euc3RvcFByb3BhZ2F0aW9uKCk7aWYoIUVRKEEudGFyZ2V0LCJBIikmJgohRVEoQS50YXJnZXQsIkJVVFRPTiIpJiYoQT1iKCkpJiZBLmlzUmVhZHkoKSlpZihBLmlzTXV0ZWRCeUVtYmVkc011dGVkQXV0b3BsYXkoKSl7dmFyIEY9QS5nZXRWaWRlb0RhdGEoKT8udmlkZW9faWQsQz1BLmdldEN1cnJlbnRUaW1lKCk7RiYmKEEudW5NdXRlKCksQS5sb2FkVmlkZW9CeUlkKEYsQykpfWVsc2UgRj1BLmdldFBsYXllclN0YXRlKCk9PT0xLEM9QS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCksRiYmQz9BLnVuTXV0ZSgpOihGPUEuZ2V0UGxheWVyU3RhdGUoKT09PTEsQz1BLmlzTXV0ZWRCeU11dGVkQXV0b3BsYXkoKSxGJiYhQz8oQS5wYXVzZVZpZGVvKCksayh7bmFtZToicGF1c2VfOTZkcF9hbmltYXRpb24ifSkpOkZ8fChDJiZBLnVuTXV0ZSgpLEEucGxheVZpZGVvKCksayh7bmFtZToicGxheV85NmRwX2FuaW1hdGlvbiJ9KSkpfSxzdHlsZTphfSxfLksoXy5PLHtBOigpPT52KCksdGhlbjooKT0+Xy5LKExWLHtHOnoscGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcjpFfSksClc6KCk9Pl8uSyhXbWEse2FuaW1hdGlvbjpoLHh5OnIscmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmMsSDp0LG92ZXJsYXk6cCxjb250ZXh0OmZ9KX0pKSl9LCJDZCIpO3ZhciBiVj1fLkwoKHtkYXRhOmF9KT0+e0pqYSgpO3JldHVybiBfLksoInl0LXBsYXllci1pbnRlcnN0aXRpYWwtcmVuZGVyZXIiLHtjbGFzczoicGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJIb3N0Iixyb2xlOiJkaWFsb2ciLCJhcmlhLWxhYmVsIjooKT0+e3ZhciBiO2E6e2lmKGI9YSgpLmNvbnRlbnQpe3ZhciBjPV8uQihiLGJtYSk7aWYoYz8udGl0bGU/LmNvbnRlbnQpe2I9Yy50aXRsZS5jb250ZW50O2JyZWFrIGF9Yj1fLkIoYixlbWEpO2I9Yj8uaGVhZGVyJiZfLkIoYi5oZWFkZXIsZG1hKTtpZihiPy5oZWFkbGluZT8uY29udGVudCl7Yj1iLmhlYWRsaW5lLmNvbnRlbnQ7YnJlYWsgYX19Yj12b2lkIDB9cmV0dXJuIGJ9LHRhYmluZGV4Oi0xLGVsOl8uckYoYj0+dm9pZCBiPy5mb2N1cygpKX0sXy5LKCJkaXYiLHtjbGFzczoicGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJTY3JpbSJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5jb250ZW50fSx7aW50ZXJzdGl0aWFsVmlld01vZGVsOl8uZWphLApkaWFsb2dWaWV3TW9kZWw6Xy4kaWF9KSkpfSwiRGQiKTtiVi5pZG9tQ29tcGF0PSEwO3ZhciBWVj1fLkwoKHtnZjphLEliOmJ9KT0+Xy5LKCJ5dC1iaWdib2FyZCIsbnVsbCxfLksoXy5PLHtBOigpPT5hKCkuaXNEcmFnZ2luZyx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dEJpZ2JvYXJkU3Rvcnlib2FyZEhvc3QifSxfLksoR21hLHtMYjphLEliOmJ9KSl9KSksIkVkIik7VlYuaWRvbUNvbXBhdD0hMDt2YXIgV1Y9Xy5MKGE9Pnt2YXIgYj1hLkc7YT1fLk4oKCk9PmIoKS5lYT9fLiROLm10Ol8uJE4uWnQsdm9pZCAwLCJ4aWR6dWQiKTtyZXR1cm4gXy5LKCJidXR0b24iLHsib246Y2xpY2siOmZ1bmN0aW9uKGMpe3ZhciBkPXtlYTohYigpLmVhLHlxOiEwfTtiKCkuUyhkKTtjLnN0b3BQcm9wYWdhdGlvbigpfSxpZDoicGxheWVyLWNvbnRyb2xzLWExMXktdG9nZ2xlIixjbGFzczoieXRtQTExeVN0eWxlc0hpZGRlbkJ1dHRvbiIsImFyaWEtbGFiZWwiOmF9KX0sIkZkIik7dmFyIFhWPV8uTChhPT57ZnVuY3Rpb24gYihoKXtYUyhhLkZkKCk9PT0tMT8xNDE5MDI6MTQxOTAzKTt2YXIgaz1jPy4oKSxsPWEuRmQoKTtrPy5zZWVrQnkobCoxMCx2b2lkIDAsdm9pZCAwLGw9PT0tMT84Mzo4Mik7aC5zdG9wUHJvcGFnYXRpb24oKX12YXIgYz1fLmtHKCRUKSxkPSgpPT5hLkZkKCk9PT0tMT9fLiROLlF0LnJlcGxhY2UoIiRzZWNvbmRzX3BsYWNlaG9sZGVyIiwoMTApLnRvU3RyaW5nKCkpOl8uJE4uSXQucmVwbGFjZSgiJHNlY29uZHNfcGxhY2Vob2xkZXIiLCgxMCkudG9TdHJpbmcoKSksZT1fLk4oKCk9Pnt2YXIgaD1hLkcoKTtyZXR1cm4gXy54KCJtd2ViX3BjX2xpdmVfZHZyX2tzIik/ITA6IShoLmlzTGl2ZSYmIWguaXNMaXZlRHZyRW5hYmxlZCl9LHZvaWQgMCwiS2FySUtjIiksZj1fLnVFKCJidXR0b24iLGg9PntXUyhoLGEuRmQoKT09PS0xPzE0MTkwMjoxNDE5MDMpfSk7cmV0dXJuIF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoImJ1dHRvbiIseyJhcmlhLWxhYmVsIjpkLApjbGFzczpfLlAoYS5jbGFzc05hbWUsInl0bUExMXlTdHlsZXNIaWRkZW5CdXR0b24iLCJwbGF5ZXItY29udHJvbC1zZWVrLWljb24tYTExeSIpLHN0eWxlOl8uSUUoe2xlZnQ6KCk9PmEuRmQoKT09PS0xPyIwIjoidW5zZXQiLHJpZ2h0OigpPT5hLkZkKCk9PT0xPyIwIjoidW5zZXQifSksZWw6Ziwib246Y2xpY2siOmJ9KX0pfSwiR2QiKTt2YXIgWVY9Xy5MKGE9Pnt2YXIge1VkOmIsb25jbGljazpjLC4uLmR9PWE7YT1fLnVFKCJkaXYiLGU9PntXUyhlLGIoKSl9KTtyZXR1cm4gXy5LKCJkaXYiLHtlbDphfSxfLksoXy50Tyx7Li4uZCxvbmNsaWNrOmU9PntYUyhiKCkpO2M/LihlKX19KSl9LCJIZCIpO3ZhciBaVj1fLkwoYT0+e3ZhciBiPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJwbGF5ZXJfZnVsbF9lbnRlcl9hbHQiOiJGVUxMU0NSRUVOIixjPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJwbGF5ZXJfZnVsbF9leGl0X2FsdCI6IkZVTExTQ1JFRU5fRVhJVCIsZD0oKT0+YS5HKCkuaXNGdWxsc2NyZWVuP2M6YjtyZXR1cm4gXy5LKFlWLHtuYW1lOmQsYXJpYUxhYmVsOigpPT5hLkcoKS5pc0Z1bGxzY3JlZW4/Xy4kTi5IdDpfLiROLkp0LGNvbnRlbnQ6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYSJ9LF8uSyhfLk1ELHtpY29uOmR9KSksY2xhc3NOYW1lOiJmdWxsc2NyZWVuLWljb24iLFVkOjEzOTExNyxvbmNsaWNrOmU9PnthLkcoKS50YS50b2dnbGVGdWxsc2NyZWVuKCk7ZS5zdG9wUHJvcGFnYXRpb24oKX19KX0sIklkIik7dmFyICRWPV8uTChhPT57dmFyIGI9Xy5rRygkVCk7cmV0dXJuIF8uSyhZVix7bmFtZTooKT0+YS5HKCkucGxheWVyU3RhdGU9PT0xfHxhLnlzJiZhLkcoKS5wbGF5ZXJTdGF0ZT09PTM/IlBBVVNFX0ZJTExFRCI6IlBMQVlfQVJST1dfRklMTEVEIixhcmlhTGFiZWw6KCk9PmEuRygpLnBsYXllclN0YXRlPT09MXx8YS55cyYmYS5HKCkucGxheWVyU3RhdGU9PT0zP18uJE4uTHQ6Xy4kTi5QZyxjbGFzc05hbWU6InBsYXllci1jb250cm9sLXBsYXktcGF1c2UtaWNvbiIsVWQ6MzY4NDIsb25jbGljazpjPT57dmFyIGQ9YS5HKCksZT1iPy4oKTtlJiYoZT1XUShlKSxkLlMoe2plOmV9KSk7Yy5zdG9wUHJvcGFnYXRpb24oKX19KX0sIkpkIik7dmFyIGFXPV8uTChhPT57dmFyIGI9Xy5rRygkVCk7cmV0dXJuIF8uSyhZVix7bmFtZToiUExBWUVSX1JFUExBWSIsYXJpYUxhYmVsOl8uJE4uUHQsY2xhc3NOYW1lOiJlbmRzY3JlZW4tcmVwbGF5LWJ1dHRvbiIsVWQ6NTYzODYsb25jbGljazpjPT57dmFyIGQ9YS5HKCksZT1iPy4oKTtlJiYoZC5yYyYmZT8udW5NdXRlKCksZS5wbGF5VmlkZW8oKSk7Yy5zdG9wUHJvcGFnYXRpb24oKX19KX0sIktkIik7dmFyIGJXPV8uTChhPT5fLksoWVYse25hbWU6IkdFQVIiLGFyaWFMYWJlbDpfLiROLnZ0LGNsYXNzTmFtZTpfLlAoInBsYXllci1zZXR0aW5ncy1pY29uIixhLmNsYXNzTmFtZSksVWQ6Mjg2NjMsb25jbGljazpiPT57YS5HKCkudGEuU2ooYil9fSksIkxkIik7dmFyIGNXPV8uTChhPT57dmFyIHtLdTpiLG9uQ2xpY2s6YyxhcmlhTGFiZWw6ZCxhcmlhUHJlc3NlZDplLGlzT3ZlcmxheTpmfT1fLkRDKGEse2lzT3ZlcmxheTohMX0pO2E9Xy51RSgiYnV0dG9uIixoPT57V1MoaCwxMjcyOTkpfSk7cmV0dXJuIF8uSygieXRtLWNsb3NlZC1jYXB0aW9uaW5nLWJ1dHRvbiIse2NsYXNzOl8uUCgieXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkhvc3QiLHt5dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uSWNvbkRpc2FibGVkT3ZlcmxheTooKT0+YigpPT09LTEmJmYoKSx5dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uSWNvbkRpc2FibGVkOigpPT5iKCk9PT0tMSYmIWYoKX0pfSxfLksoImJ1dHRvbiIse2VsOmEsY2xhc3M6Inl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25CdXR0b24iLHRpdGxlOmQsImFyaWEtbGFiZWwiOmQsImFyaWEtcHJlc3NlZCI6ZSwiYXJpYS1kaXNhYmxlZCI6KCk9PmIoKT09PS0xPyJ0cnVlIjp2b2lkIDAsIm9uOmNsaWNrIjpmdW5jdGlvbihoKXtYUygxMjcyOTkpOwpjPy4oaCk7aC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk1ELHtpY29uOigpPT57dmFyIGg9IiI7aWYoXy54KCJtd2ViX2xvY2FsaXplZF9jY19pY29uIikpe3ZhciBrPV8uSHooKS5nZXQoImhsIik7az0ha3x8aG1hLmluY2x1ZGVzKGspPyJDTE9TRURfQ0FQVElPTiI6IlNVQlRJVExFUyJ9ZWxzZSBrPSJDTE9TRURfQ0FQVElPTiI7dmFyIGw9YigpO3N3aXRjaChsKXtjYXNlIC0xOmNhc2UgMDpoPWs7YnJlYWs7Y2FzZSAxOmg9aysiX0ZJTExFRCI7YnJlYWs7ZGVmYXVsdDpfLmViKGwsdm9pZCAwKX1yZXR1cm4gaH0sY2xhc3NOYW1lOl8uUCh7eXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbll0SWNvbk92ZXJsYXk6Zn0pfSkpKX0sIk1kIik7Y1cuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkNsaWNrOiEwfX07dmFyIGtVPSIiO3ZhciBkVz1fLkwoYT0+e3ZhciBiPWEuZ2YsYz1hLnNMLGQ9YS5XcSxlPWEuY2xhc3NOYW1lLGY9YS5WcixoPXA9Pnt2YXIgcj1iKCksdD1jPy4oKSx2PWYoKTtyLnhjJiYodD9yLkg/LnRvZ2dsZVN1YnRpdGxlcyh2KToodD1yLkgpJiZRUSh0LGxVKHIpLHYpKTtfLngoIndlYl9kZWxldGVfc25hY2tiYXJzIil8fHIudGEucUE/LihyKTtkPy4ocCl9LGs9Xy5OKCgpPT57dmFyIHA9YigpLHI9LTE7cC54YyYmKHI9cC5jYXB0aW9uc0VuYWJsZWQ/MTowKTtyZXR1cm4gcn0sdm9pZCAwLCJITW8ycmMiKSxsPV8uTigoKT0+e3ZhciBwPWIoKTtyZXR1cm4gcC54Yz9fLmFBKHAuY2FwdGlvbnNFbmFibGVkPyJDTE9TRURfQ0FQVElPTlNfT04iOiJDTE9TRURfQ0FQVElPTlNfT0ZGIik6Xy5hQSgiQ0xPU0VEX0NBUFRJT05TX0RJU0FCTEVEIil9LHZvaWQgMCwiV1E1MVllIiksbT1fLk4oKCk9Pnt2YXIgcD1iKCk7cD1wLnhjP3AuY2FwdGlvbnNFbmFibGVkOnZvaWQgMDtyZXR1cm4gcH0sdm9pZCAwLAoiSTBMVHViIiksbj1fLk4oKCk9PmIoKS54Yyx2b2lkIDAsIkx2ZU9XZSIpO3JldHVybiBfLksoXy5PLHtBOigpPT5fLngoIm13ZWJfcGxheWVyX2hpZGVfdW5hdmFpbGFibGVfc3VidGl0bGVzX2J1dHRvbiIpP24oKTohMCx0aGVuOigpPT5fLksoInl0LWNsb3NlZC1jYXB0aW9ucy10b2dnbGUtYnV0dG9uIix7Y2xhc3M6ZX0sXy5LKGNXLHtLdTprLGFyaWFMYWJlbDpsLGFyaWFQcmVzc2VkOm0sb25DbGljazpoLGlzT3ZlcmxheTohMH0pKX0pfSwiTmQiKTt2YXIgZVc9Xy5MKCh7SUE6YSxkYXRhOmIsY2hpbGRyZW46Y30pPT57ZnVuY3Rpb24gZCgpe2E/LigpfHxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntmLnZhbHVlJiYoaC52YWx1ZS5zdHlsZS53aWR0aD1gJHtmLnZhbHVlLm9mZnNldFdpZHRofXB4YCl9KX12YXIgZT12b2lkIDAsZj1fLnVFKCJkaXYiKSxoPV8udUUoImRpdiIpLGs9Xy5CUSgpLGw9Xy5CUSgpO18ubkUoKCk9PntkKCk7IWUmJmIoKS5zdWJzY3JpYmVkJiYoay5sb3R0aWVFbD8uZ29Ub0FuZFBsYXkoMCksbC5sb3R0aWVFbD8uZ29Ub0FuZFBsYXkoMCkpO2U9ISFiKCkuc3Vic2NyaWJlZH0sIk1NMGpBZiIpO3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkhvc3QifSxfLksoXy5BUSx7T286ayxScDpsfSxfLksoImRpdiIse2VsOmgsY2xhc3M6Xy5QKCJ5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkNvbnRlbnRDb250YWluZXIiLHt5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvblN0YXRpY1dpZHRoOmEsCnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uQ2FuQW5pbWF0ZTooKT0+YigpLnN1YnNjcmliZWR9KX0sXy5LKCJkaXYiLHtlbDpmLGNsYXNzOiJ5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkZsZXhDb250YWluZXIifSxjKSkpKX0sIlBkIik7ZVcuaWRvbUNvbXBhdD0hMDt2YXIgZlc9Xy5MKCh7ZGF0YTphLGJ1dHRvbk92ZXJyaWRlczpifSk9Pnt2YXIgW2NdPW5qYShhKTtyZXR1cm4gXy5LKCJ5dG0tc3Vic2NyaWJlLWJ1dHRvbi1yZW5kZXJlciIse2NsYXNzOl8uUCh7ImlzLXN1YnNjcmliZWQiOigpPT5jKCkuc3Vic2NyaWJlZCwiaXMtbm90LXN1YnNjcmliZWQiOigpPT4hYygpLnN1YnNjcmliZWQsZGlzYWJsZWQ6KCk9Pnt2YXIgZDtpZihkPSEhYygpLnRoZW1lKXtkPSEhYygpLnN1YnNjcmliZWQ7dmFyIGU9YygpLnRoZW1lO2Q9ZD8hIWUuc3Vic2NyaWJlZENvbG9yUGFsZXR0ZSYmXy51TihlLnN1YnNjcmliZWRDb2xvclBhbGV0dGUpOiEhZS51bnN1YnNjcmliZWRDb2xvclBhbGV0dGUmJl8udU4oZS51bnN1YnNjcmliZWRDb2xvclBhbGV0dGUpfXJldHVybiBkfX0pfSxfLksoXy5hamEse3NldHRpbmdzOigpPT4oe3VuaXF1ZUlkOiJzdWJzY3JpYmUiLGZrOmMoKS50aW1lZEFuaW1hdGlvbkRhdGE/LmFuaW1hdGlvblRpbWluZ3x8W10sWGQ6KGMoKS50aW1lZEFuaW1hdGlvbkRhdGE/LmFuaW1hdGlvblRpbWluZ3x8CltdKS5sZW5ndGg+MCxlbmFibGVkOiFjKCkuc3Vic2NyaWJlZCYmKGMoKS50aW1lZEFuaW1hdGlvbkRhdGE/LmFuaW1hdGlvblRpbWluZ3x8W10pLmxlbmd0aD4wfSl9LF8uSyhYbWEse2RhdGE6YyxidXR0b25PdmVycmlkZXM6Yn0pKSl9LCJRZCIpO2ZXLmlkb21Db21wYXQ9ITA7CnZhciBYbWE9Xy5MKCh7ZGF0YTphLGJ1dHRvbk92ZXJyaWRlczpifSk9Pnt2YXIgYz0oKT0+ISghYSgpLnN1YnNjcmliZWR8fCFhKCkubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiksZD1fLk4oKCk9Pih7Li4uUWphKHtyZW5kZXJlcjphKCksc3Vic2NyaWJlZDohIWEoKS5zdWJzY3JpYmVkLGlzT3ZlcmxheTpfLldNKCk/ITA6ITEsc3RvcFByb3BhZ2F0aW9uOiEwfSksZGlzYWJsZWQ6IWEoKS5lbmFibGVkLC4uLihiPy4oKXx8e30pfSksdm9pZCAwLCJ5b0NkY2UiKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoibW9kZXJuLXN1YnNjcmliZS1idXR0b24tY29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczpfLlAoIm5vdGlmaWNhdGlvbi1iZWxsLWNvbnRhaW5lciIse2hpZGRlbjooKT0+IWMoKX0pfSxfLksoXy5XLHtkYXRhOigpPT5hKCkubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbn0se3RvZ2dsZUJ1dHRvblJlbmRlcmVyOih7ZGF0YTplfSk9Pl8uSyhfLnFPLAp7ZGF0YTplLGJ1dHRvbk92ZXJyaWRlczp7c3R5bGU6Im92ZXJsYXkifSxjbGFzc05hbWU6Xy5QKCJub3RpZmljYXRpb24tYmVsbCIse2hpZGRlbjooKT0+IWMoKX0pfSl9KSksXy5LKCJkaXYiLHtjbGFzczpfLlAoIm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIix7IndpdGgtbm90aWZpY2F0aW9uLWJlbGwiOmN9KX0sXy5LKF8uTyx7QTooKT0+IV8uV00oKSx0aGVuOigpPT57dmFyIGU9Xy5VTSgpPT09ImNoYW5uZWwiO3JldHVybiBfLksoZVcse2RhdGE6YSxJQTplfSxfLksoXy5KSyx7ZGF0YTpkfSkpfSxXOigpPT5fLksoXy5KSyx7ZGF0YTpkfSl9KSxfLksoImRpdiIse2NsYXNzOiJzdWJzY3JpYmUtYnV0dG9uLWNvdW50In0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS5zdWJzY3JpYmVyQ291bnRUZXh0fSkpKSl9LCJSZCIpO3ZhciBnVz1fLkwoKHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpiLFhoOmN9KT0+e2Z1bmN0aW9uIGQoKXtfLkFKKGEoKS5lbmRwb2ludCxhKCksITApfXZhciBlPSgpPT5hKCkuc3R5bGU9PT0iQ0hBTk5FTCIsZj1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWwiLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50Um91bmQ6ZX0pLGg9KCk9Pk51bWJlcihhKCkubGVmdCkrTnVtYmVyKGEoKS53aWR0aC8yKTwuNSxrPV8uUCgieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXkiLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0OmgseXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0OigpPT4haCgpLHl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5UmlnaHRBY3RpdmU6KCk9PmIoKSYmaCgpLHl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdEFjdGl2ZTooKT0+CmIoKSYmIWgoKX0pLGw9KCk9PmEoKS50aXRsZSxtPSgpPT5hKCkuaG92ZXJjYXJkQnV0dG9uLG49KCk9PmEoKS5tZXRhZGF0YSxwPSgpPT5hKCkuY2FsbFRvQWN0aW9uLHI9Xy5QKHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZTooKT0+IWUoKSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbDplfSk7Yz1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRTY3JpbSIse3l0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRTY3JpbUNoYW5uZWw6ZSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmU6Y30pO3ZhciB0PV8uUCgieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3QiLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZTpifSk7cmV0dXJuIF8uSygiZXhwYW5kaW5nLWVuZHNjcmVlbi1lbGVtZW50Iix7Y2xhc3M6dH0sXy5LKCJkaXYiLHtjbGFzczpjfSksCl8uSygiZGl2Iix7Y2xhc3M6a30sXy5LKCJkaXYiLHtjbGFzczoieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50In0sXy5LKF8uTyx7QTpsLHRoZW46KCk9Pl8uSyhfLlYse3RleHQ6bCxjbGFzc05hbWU6Inl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGUifSl9KSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlCdXR0b24ifSxfLksoXy5XLHtkYXRhOm19LHtzdWJzY3JpYmVCdXR0b25SZW5kZXJlcjpmV30pKX0pLF8uSyhfLk8se0E6bix0aGVuOigpPT5fLksoXy5WLHtjbGFzc05hbWU6cix0ZXh0Om59KX0pLF8uSyhfLk8se0E6KCk9PiFlKCkmJmEoKS5jYWxsVG9BY3Rpb24sdGhlbjooKT0+Xy5LKCJkaXYiLHsib246Y2xpY2siOmQsc3R5bGU6ImRpc3BsYXk6IGNvbnRlbnRzIn0sXy5LKF8uVix7Y2xhc3NOYW1lOiJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNhbGxUb0FjdGlvbiIsCnRleHQ6cH0pKX0pKSksXy5LKCJkaXYiLHsib246Y2xpY2siOmR9LF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOigpPT5hKCkuaW1hZ2UsY2xhc3NOYW1lOmZ9KSkpfSwiU2QiKTtnVy5pZG9tQ29tcGF0PSEwO3ZhciBoVz1fLkwoKHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpiLFhoOmN9KT0+e3ZhciBkPSgpPT5hKCkudGl0bGUsZT0oKT0+YSgpLnRodW1ibmFpbE92ZXJsYXlzLGY9KCk9PmEoKS5wbGF5bGlzdExlbmd0aDtiPV8uUCgieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3QiLHt5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZTpifSk7Yz1fLlAoInl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRTY3JpbSIse3l0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRTY3JpbUFjdGl2ZTpjfSk7cmV0dXJuIF8uSygidGh1bWJuYWlsLWVuZHNjcmVlbi1lbGVtZW50Iix7Y2xhc3M6Yiwib246Y2xpY2siOmZ1bmN0aW9uKCl7Xy5BSihhKCkuZW5kcG9pbnQsYSgpLCEwKX19LF8uSygiZGl2Iix7Y2xhc3M6Y30pLF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VG9wT3ZlcmxheSJ9LApfLksoImRpdiIse2NsYXNzOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VG9wR3JhZGllbnQifSksXy5LKF8uVix7dGV4dDpkLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxlIix1YjohMCxtYTohMH0pKX0pLF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOigpPT5hKCkuaW1hZ2UsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsIn0pLF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoXy5XLHtkYXRhOmV9LHt0aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyOih7ZGF0YTpofSk9Pl8uSyhfLlZQLHtkYXRhOmgsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyJ9KX0pfSksXy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aE92ZXJsYXkifSxfLksoXy5NRCwKe2ljb246IlBMQVlMSVNUU19DQUlSTyIsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29uIn0pLF8uSyhfLlYse3RleHQ6ZixjbGFzc05hbWU6Inl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aCIsdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpfSkpfSwiVGQiKTtoVy5pZG9tQ29tcGF0PSEwO3ZhciBpVz1bMzQ2LDQyNiw0NzAsNTA2LDU3MCw2NDAsODUzLDEyODAsMTkyMF0salc9WyJ5dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdTbWFsbCIsInl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ01lZGl1bSIsInl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ0xhcmdlIl0sbFc9Xy5MKCh7ZW5kc2NyZWVuUmVuZGVyZXI6YSxHOmJ9KT0+e3ZhciBbYyxkXT1fLkoobmV3IEZRKDAsMCwwLDApLHZvaWQgMCwidXV1TUtjIiksW2UsZl09Xy5KKG5ldyBfLm5kKDAsMCksdm9pZCAwLCJweWFpamIiKSxbaCxrXT1fLkooIiIsdm9pZCAwLCJNSzNpQWYiKSxbbCxtXT1fLkooITEsdm9pZCAwLCJlTU9maWIiKSxuPV8uTigoKT0+YigpLkgsdm9pZCAwLCJwRjY4NGIiKSxwPV8uTigoKT0+Xy5VdyhhKCkudHJhY2tpbmdQYXJhbXMpLHZvaWQgMCwiamJvUEZmIikscj0oKT0+e3ZhciBBPW4oKT8uZ2V0VmlkZW9Db250ZW50UmVjdCgpO0EmJkEud2lkdGg+MCYmQS5oZWlnaHQ+MCYmZChuZXcgRlEoQS5sZWZ0LApBLnRvcCxBLndpZHRoLEEuaGVpZ2h0KSk7KEE9bigpPy5nZXRTaXplKCkpJiZBLndpZHRoPjAmJkEuaGVpZ2h0PjAmJmYobmV3IF8ubmQoQS53aWR0aCxBLmhlaWdodCkpfSx0PUE9PntBPT09Inl0bS1jZS1pbi1lbmRzY3JlZW4iJiYobSghMCksWlMocCgpKSl9LHY9QT0+e0E9PT0ieXRtLWNlLWluLWVuZHNjcmVlbiImJm0oITEpfTtfLlVKKCgpPT57cigpO0hrYShwKCkpO24oKT8uYWRkRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIix0KTtuKCk/LmFkZEV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFeGl0Iix2KTtuKCk/LmFkZEN1ZVJhbmdlKCJ5dG0tY2UtaW4tZW5kc2NyZWVuIixOdW1iZXIoYSgpLnN0YXJ0TXMpLzFFMyxOdW1iZXIoMHg3ZmZmZmZmZmZmZmZmKS8xRTMpO18uWXUoKCk9PntiKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIix0KTtiKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIix2KTtuKCk/LnJlbW92ZUN1ZVJhbmdlKCJ5dG0tY2UtaW4tZW5kc2NyZWVuIil9KX0pOwpfLkRQKCJyZXNpemUiLHIpO3ZhciB6PV8uUCgieXRtQ3JlYXRvckVuZHNjcmVlbkhvc3QiLCgpPT57dmFyIEE9YygpLndpZHRoLEY9MCxDPS0xO2ZvcihsZXQgRz0wO0c8aVcubGVuZ3RoO0crKyl7bGV0IEQ9TWF0aC5hYnMoQS1pV1tHXSk7aWYoQz09PS0xfHxGPj1EKUM9RyxGPUR9cmV0dXJuYHl0bUNyZWF0b3JFbmRzY3JlZW5TaXplJHtpV1tDXX1gfSx7eXRtQ3JlYXRvckVuZHNjcmVlbkluQ3VlUmFuZ2U6bH0pLEU9Xy5QKCJ5dG1DcmVhdG9yRW5kc2NyZWVuU2NyaW0iLHt5dG1DcmVhdG9yRW5kc2NyZWVuU2NyaW1WaXNpYmxlOigpPT5oKCl9KTtyZXR1cm4gXy5LKCJjcmVhdG9yLWVuZHNjcmVlbiIse2NsYXNzOnp9LF8uSygiZGl2Iix7Y2xhc3M6RSxzdHlsZTpfLklFKHt3aWR0aDooMCxfLlpLKSgoKT0+ZSgpLndpZHRoKSxoZWlnaHQ6KDAsXy5aSykoKCk9PmUoKS5oZWlnaHQpfSl9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkuZWxlbWVudHN9LHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6KHtkYXRhOkF9KT0+Cl8uSyhrVyx7ZGF0YTpBLEdCOmMsaXNBY3RpdmU6KCk9PmgoKT09PUEoKS5pZCxYaDooKT0+ISFoKCkmJmgoKSE9PUEoKS5pZCxlQTprLEg6bn0pfSkpfSwiVWQiKTtsVy5pZG9tQ29tcGF0PSEwOwp2YXIga1c9Xy5MKCh7ZGF0YTphLEdCOmIsaXNBY3RpdmU6YyxYaDpkLGVBOmUsSDpmfSk9Pnt2YXIgW2gsa109Xy5KKCExLHZvaWQgMCwiS1dZSkllIiksbD1fLk4oKCk9Pl8uVXcoYSgpLnRyYWNraW5nUGFyYW1zKSx2b2lkIDAsIlV4cHlVYiIpLG09dD0+e3Quc3Vic3RyaW5nKDE1KT09PWEoKS5pZCYmKGsoITApLFpTKGwoKSkpfSxuPXQ9Pnt0LnN1YnN0cmluZygxNSk9PT1hKCkuaWQmJmsoITEpfTtfLlVKKCgpPT57Zj8uKCkuYWRkRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIixtKTtmPy4oKS5hZGRFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRXhpdCIsbik7dmFyIHQ9YHl0bS1jZS1lbGVtZW50LSR7YSgpLmlkfWA7Zj8uKCkuYWRkQ3VlUmFuZ2UodCxOdW1iZXIoYSgpLnN0YXJ0TXMpLzFFMyxOdW1iZXIoYSgpLmVuZE1zKS8xRTMpO18uWXUoKCk9PntmPy4oKS5yZW1vdmVFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRW50ZXIiLG0pO2Y/LigpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsCm4pO2Y/LigpLnJlbW92ZUN1ZVJhbmdlKHQpfSl9KTt2YXIgcD0oKT0+YigpLmNsb25lKCkuc2NhbGUoYSgpLndpZHRoLGEoKS53aWR0aCpiKCkuZ2V0U2l6ZSgpLmFzcGVjdFJhdGlvKCkvYSgpLmFzcGVjdFJhdGlvKS50cmFuc2xhdGUoYSgpLmxlZnQqYigpLndpZHRoLWIoKS5sZWZ0KihhKCkud2lkdGgtMSksYSgpLnRvcCpiKCkuaGVpZ2h0LWIoKS50b3AqKGEoKS53aWR0aCpiKCkuZ2V0U2l6ZSgpLmFzcGVjdFJhdGlvKCkvYSgpLmFzcGVjdFJhdGlvLTEpKSxyPV8uUCgieXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnQiLHt5dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudFZpc2libGU6KCk9PmgoKX0sKCk9PnAoKS53aWR0aD4yNTZ8fHAoKS5oZWlnaHQ+MjU2P2pXWzJdOnAoKS53aWR0aD45Nnx8cCgpLmhlaWdodD45Nj9qV1sxXTpqV1swXSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6cixzdHlsZTpfLklFKHt3aWR0aDooMCxfLlpLKSgoKT0+cCgpLndpZHRoKSxoZWlnaHQ6KDAsXy5aSykoKCk9PgpwKCkuaGVpZ2h0KSx0b3A6KDAsXy5aSykoKCk9PnAoKS50b3ApLGxlZnQ6Xy55KCkucmVzb2x2ZShfLmxGKT09PSJsdHIiPygwLF8uWkspKCgpPT5wKCkubGVmdCk6ImF1dG8iLHJpZ2h0Ol8ueSgpLnJlc29sdmUoXy5sRik9PT0icnRsIj8oMCxfLlpLKSgoKT0+KGY/LigpLmdldFNpemUoKT8ud2lkdGg/PzApLXAoKS5sZWZ0LXAoKS53aWR0aCk6ImF1dG8ifSksIm9uOm1vdXNlb3ZlciI6ZnVuY3Rpb24odCl7ZShhKCkuaWQpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjptb3VzZW91dCI6ZnVuY3Rpb24odCl7ZSgiIik7dC5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOmZvY3VzaW4iOmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQoKCk9PntlKGEoKS5pZCl9LDApO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpmb2N1c291dCI6ZnVuY3Rpb24odCl7ZSgiIik7dC5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoc3RhcnQiOmZ1bmN0aW9uKHQpe2UoYSgpLmlkKTtZUyhsKCkpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LAoib246Y2xpY2siOmZ1bmN0aW9uKHQpe1lTKGwoKSk7dC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmEoKS5zdHlsZT09PSJWSURFTyJ8fGEoKS5zdHlsZT09PSJQTEFZTElTVCJ9LCgpPT5fLksoaFcse2VuZHNjcmVlbkVsZW1lbnRSZW5kZXJlcjphLGlzQWN0aXZlOmMsWGg6ZH0pKSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLnN0eWxlPT09IkNIQU5ORUwifHxhKCkuc3R5bGU9PT0iV0VCU0lURSJ9LCgpPT5fLksoZ1cse2VuZHNjcmVlbkVsZW1lbnRSZW5kZXJlcjphLGlzQWN0aXZlOmMsWGg6ZH0pKSkpfSwiVmQiKTtrVy5pZG9tQ29tcGF0PSEwO3ZhciBZbWE9Xy5MKGE9PntmdW5jdGlvbiBiKHope3ZhciBFPWYoKT8ubmV4dEJ1dHRvbj8uYnV0dG9uUmVuZGVyZXI/Lm5hdmlnYXRpb25FbmRwb2ludCxBPWYoKT8udmlkZW9JZDtFJiYhej9fLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKEUpOkEmJmEuSCgpPy5sb2FkVmlkZW9CeVBsYXllclZhcnMoe3ZpZGVvSWQ6QSxhdXRvbmF2OnosYXV0b3BsYXk6en0pfWZ1bmN0aW9uIGMoeil7WFMoMTE1MTMwKTtiKCExKTt6LnN0b3BQcm9wYWdhdGlvbigpfXZhciBbZCxlXT1fLkooMCx2b2lkIDAsIlliRE1mYiIpLGY9Xy5OKCgpPT5CUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksdm9pZCAwLCJIYUZLTWIiKSxoPWEuRyxrPV8uTigoKT0+aCgpLnlmLHZvaWQgMCwic1lnbnplIiksbD1fLk4oKCk9PmgoKS56Zix2b2lkIDAsImR5Q3ZLZiIpLG09Xy5OKCgpPT5tVShhLkcsZigpKSx2b2lkIDAsIkNaRm9NYiIpLG49Xy52RSgiYnV0dG9uIix6PT57eiYmV1MoeiwxMTUxMzApfSksCnA9Xy52RSgiZGl2Iix6PT57eiYmV1MoeiwxMTUxMjkpfSk7Xy5uRSgoKT0+e3ZhciB6PW0oKSxFPWwoKSxBPWsoKSxGPWEuSCgpLEM9ZigpO2lmKHope3o9Qz8uY291bnREb3duU2Vjc3x8MTA7dmFyIEc9eioxRTM7aWYoRSYmQT4wKWUoTWF0aC5tYXgoMCwoei1BKS96KSk7ZWxzZXt2YXIgRD0oMCxfLmVsKSgpLEg9KCk9Pnt2YXIgTT0oMCxfLmVsKSgpLUQ7TT1NYXRoLm1pbihNL0csMSk7ZShNKTtNPj0xPyh3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoUiksRj8uaXNSZWFkeT8uKCkmJmIoITApKTpSPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoSCl9O3ZhciBSPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoSCk7Xy5ZdSgoKT0+e3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShSKX0pfX1lbHNlIGUoMCl9LCJHU090d2IiKTt2YXIgcj0oKT0+e1hTKDExNTEyOSk7YS5HKCkuUyh7eGY6ITB9KX0sdD1fLk4oKCk9PmAkey0yMTEqKGQoKSsxKX1gLHZvaWQgMCwiVjVzbXdkIiksCnY9KCk9PmYoKT8uYmFja2dyb3VuZDtyZXR1cm4gXy5LKCJwZnAtYXV0b25hdiIse2NsYXNzOl8uUCgieXRQZnBBdXRvbmF2SG9zdCIsYS5jbGFzc05hbWUse3l0UGZwQXV0b25hdlZpc2libGU6bX0pLCJvbjpjbGljayI6ZnVuY3Rpb24oeil7ei5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6bSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhHVix7RzphLkcsdGh1bWJuYWlsRGV0YWlsczp2fSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBBdXRvbmF2U2NyaW0ifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZIZWFkZXIifSxfLksoXy5WLHt0ZXh0OigpPT5mKCk/LnRpdGxlLG1hOiEwfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQXV0b25hdlRpdGxlIn0sXy5LKF8uVix7dGV4dDooKT0+ZigpPy52aWRlb1RpdGxlLG1hOiEwfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQXV0b25hdkJ5bGluZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmYoKT8uYnlsaW5lLG1hOiEwfSkpLApfLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZQbGF5QnV0dG9uIiwib246Y2xpY2siOmMsZWw6biwiYXJpYS1sYWJlbCI6KCk9PmYoKT8ubmV4dEJ1dHRvbj8uYnV0dG9uUmVuZGVyZXI/LmFjY2Vzc2liaWxpdHk/LmxhYmVsfSxfLksoInN2ZyIse2NsYXNzOiJ5dFBmcEF1dG9uYXZSaW5nIix2aWV3Qm94OiIwIDAgNzIgNzIifSxfLksoImNpcmNsZSIse2N4OiIzNiIsY3k6IjM2IixyOiIzMS41IixmaWxsOiJ3aGl0ZSIsImZpbGwtb3BhY2l0eSI6IjAuMyJ9KSxfLksoImNpcmNsZSIse2N4OiItMzYiLGN5OiIzNiIscjoiMzMuNSIsc3Ryb2tlOiJ3aGl0ZSIsInN0cm9rZS13aWR0aCI6IjQiLGZpbGw6Im5vbmUiLHRyYW5zZm9ybToicm90YXRlKC05MCkiLCJzdHJva2UtZGFzaGFycmF5IjoiMjExIixzdHlsZTpfLklFKHsic3Ryb2tlLWRhc2hvZmZzZXQiOnR9KX0pKSxfLksoXy5NRCx7aWNvbjoiUExBWUVSX1BMQVkiLGNsYXNzTmFtZToieXRQZnBBdXRvbmF2UGxheUljb24ifSkpLApfLksoXy5XLHtkYXRhOigpPT5mKCk/LmNhbmNlbEJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTp6fSk9Pl8uSygiZGl2Iix7ZWw6cCxjbGFzczoieXRQZnBBdXRvbmF2Q2FuY2VsQnV0dG9uIn0sXy5LKF8ucE8se2RhdGE6eix0ZzpyLHN0b3BQcm9wYWdhdGlvbjohMCxidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In19KSl9KSkpfSkpfSwiWGQiKTt2YXIgbVc9Xy5MKGE9Pl8uSygicGZwLWVuZHNjcmVlbi12aWRlby1yZW5kZXJlciIse2NsYXNzOl8uUCgieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVySG9zdCIsYS5jbGFzc05hbWUpfSxfLksoXy5uSCx7Y29tbWFuZDooKT0+YS5kYXRhKCkubmF2aWdhdGlvbkVuZHBvaW50LGFyaWFMYWJlbDooKT0+Xy5hTihhLmRhdGEoKS50aXRsZSl9LF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOigpPT5hLmRhdGEoKS50aHVtYm5haWwsY2xhc3NOYW1lOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJUaHVtYm5haWwifSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheSJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXlUaXRsZUJ5bGluZSJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlclRpdGxlIn0sXy5LKF8uVix7dGV4dDooKT0+YS5kYXRhKCkudGl0bGUsCm1hOiEwLHljOiEwfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckJ5bGluZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnNob3J0QnlsaW5lVGV4dCxtYTohMCx5YzohMH0pLF8uSyhfLk8se0E6KCk9PmEuZGF0YSgpLnNob3J0Vmlld0NvdW50VGV4dCx0aGVuOigpPT5fLksoXy5JQixudWxsLCIgXHUyMDIyICIsXy5LKF8uVix7dGV4dDooKT0+YS5kYXRhKCkuc2hvcnRWaWV3Q291bnRUZXh0LG1hOiEwfSkpfSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJEdXJhdGlvbiJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLmxlbmd0aFRleHQsbWE6ITB9KSkpKSksIllkIik7dmFyIFptYT1fLkwoYT0+e2Z1bmN0aW9uIGIoRCl7RC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBjKEQpe3QoITEpO0Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZChEKXt0KCEwKTtEPy5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBlKCl7RygpfWZ1bmN0aW9uIGYoRCl7dmFyIEg9Ri52YWx1ZTtIJiYoSC5zY3JvbGxUbyh7bGVmdDpILnNjcm9sbExlZnQtSC5jbGllbnRXaWR0aCouOCxiZWhhdmlvcjoic21vb3RoIn0pLEQuc3RvcFByb3BhZ2F0aW9uKCkpfWZ1bmN0aW9uIGgoRCl7dmFyIEg9Ri52YWx1ZTtIJiYoSC5zY3JvbGxUbyh7bGVmdDpILnNjcm9sbExlZnQrSC5jbGllbnRXaWR0aCouOCxiZWhhdmlvcjoic21vb3RoIn0pLEQuc3RvcFByb3BhZ2F0aW9uKCkpfXZhciBrPV8uTigoKT0+YS5VYygpLndhdGNoTmV4dFJlc3BvbnNlLHZvaWQgMCwiV1g2UkJlIiksbD1fLk4oKCk9Pk1TKGsoKSkuZmlsdGVyKEQ9PkQuZW5kU2NyZWVuVmlkZW9SZW5kZXJlciksdm9pZCAwLAoiVlZVZHJjIiksbT1fLk4oKCk9Pnt2YXIgRD1hLlVjKCkucGxheWVyUmVzcG9uc2U/LmVuZHNjcmVlbj8uZW5kc2NyZWVuUmVuZGVyZXI/LnN0YXJ0TXM7RD1EPytEOnZvaWQgMDtyZXR1cm4gYS5HKCkucGxheWVyU3RhdGU9PT0yJiZsPy4oKT8ubGVuZ3RoPjAmJighRHx8YS5HKCkudmEqMUUzPEQpfSx2b2lkIDAsInBRU1FLYiIpLG49Xy5OKCgpPT5hLlVjKCkucGxheWVyUmVzcG9uc2U/LnZpZGVvRGV0YWlscz8udmlkZW9JZCx2b2lkIDAsInlRYk4xZSIpLFtwLHJdPV8uQUMoKCk9PntuKCk7cmV0dXJuITF9KSx0PXIsW3Ysel09Xy5KKCExLHZvaWQgMCwicVFSNzNiIiksW0UsQV09Xy5KKCExLHZvaWQgMCwidmNhM0lkIiksRj1fLnZFKCJkaXYiKSxDPV8uTigoKT0+YS5VYygpLnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LmF1dGhvcj8/IiIsdm9pZCAwLCJvSkUwc2QiKSxHPSgpPT57dmFyIEQ9Ri52YWx1ZTtEJiYoeihELnNjcm9sbExlZnQ+MSksQShELnNjcm9sbExlZnQ8CkQuc2Nyb2xsV2lkdGgtRC5jbGllbnRXaWR0aC0xKSl9O18ubkUoKCk9PntwKCk7bSgpJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntHKCl9KX0sInRBMTE3ZCIpO3JldHVybiBfLksoInBmcC1tb3JlLXZpZGVvcyIse2NsYXNzOl8uUCgieXRQZnBNb3JlVmlkZW9zSG9zdCIsYS5jbGFzc05hbWUpfSxfLksoXy5PLHtBOigpPT5tKCkmJiFwKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zT3ZlcmxheSIsIm9uOmNsaWNrIjpifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NIZWFkZXIifSxfLksoImgzIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1RpdGxlIn0sKCk9Pl8uJE4uenQucmVwbGFjZSgiJGNoYW5uZWxfbmFtZV9wbGFjZWhvbGRlciIsQygpKSksXy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zQ2xvc2VCdXR0b24iLCJvbjpjbGljayI6ZCwiYXJpYS1sYWJlbCI6Xy4kTi54dH0sXy5LKF8uTUQse2ljb246IkNMT1NFIiwKY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NDbG9zZUljb24ifSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3RDb250YWluZXIifSxfLksoXy5PLHtBOnYsdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zUGFkZGxlTGVmdCIsIm9uOmNsaWNrIjpmLCJhcmlhLWxhYmVsIjpfLiROLmZvfSxfLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9MRUZUIixjbGFzc05hbWU6Inl0UGZwTW9yZVZpZGVvc1BhZGRsZUljb24ifSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0IixlbDpGLCJvbjpzY3JvbGwiOmV9LF8uSyhfLlcse2RhdGE6bCxIazohMH0se2VuZFNjcmVlblZpZGVvUmVuZGVyZXI6KHtkYXRhOkR9KT0+Xy5LKG1XLHtkYXRhOkQsY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW0ifSl9KSksXy5LKF8uTyx7QTpFLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1BhZGRsZVJpZ2h0IiwKIm9uOmNsaWNrIjpoLCJhcmlhLWxhYmVsIjpfLiROLmVvfSxfLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9SSUdIVCIsY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NQYWRkbGVJY29uIn0pKX0pKSl9KSxfLksoXy5PLHtBOigpPT5tKCkmJnAoKSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NNb3JlVmlkZW9zQnV0dG9uIiwib246Y2xpY2siOmMsImFyaWEtbGFiZWwiOl8uJE4uYm99LF8uJE4uYm8pfSkpfSwiJGQiKTt2YXIgJG1hPV8uTChhPT5fLksoInBmcC1lbmRzY3JlZW4tcGxheWxpc3QtcmVuZGVyZXIiLHtjbGFzczpfLlAoInl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEuZGF0YSgpLm5hdmlnYXRpb25FbmRwb2ludCxhcmlhTGFiZWw6KCk9Pl8uYU4oYS5kYXRhKCkudGl0bGUpfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YS5kYXRhKCkudGh1bWJuYWlsLGNsYXNzTmFtZToieXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGh1bWJuYWlsIn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXkifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5VGl0bGUifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJUaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnRpdGxlLAptYTohMH0pKSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckJvdHRvbU92ZXJsYXkifSxfLksoXy5NRCx7aWNvbjoiUExBWUxJU1RTIixjbGFzc05hbWU6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckljb24ifSksXy5LKF8uVix7dGV4dDooKT0+YS5kYXRhKCkudmlkZW9Db3VudFRleHQseWM6ITB9KSkpKSwiYWUiKTt2YXIgYW5hPV8uTChhPT57ZnVuY3Rpb24gYihGKXtGLnN0b3BQcm9wYWdhdGlvbigpO0Y9eigpLmxlbmd0aDttKChsKCktcigpK0YqcigpKSVGKX1mdW5jdGlvbiBjKEYpe0Yuc3RvcFByb3BhZ2F0aW9uKCk7Rj16KCkubGVuZ3RoO20oKGwoKStyKCkpJUYpfXZhciBkPV8udkUoImRpdiIpLFtlLGZdPV8uSihbXSx2b2lkIDAsIkVyVVFJZSIpLFtoLGtdPV8uSigwLHZvaWQgMCwiV01lWW9kIiksbD1oLG09ayxbbixwXT1fLkooMCx2b2lkIDAsIk96UFNrZSIpLHI9bixbdCwsdl09Xy5KKDAsdm9pZCAwLCJsQ1RtcGUiKTtfLkRQKCJyZXNpemUiLCgpPT57dihGPT5GKzEpfSk7dmFyIHo9Xy5OKCgpPT5NUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksdm9pZCAwLCJyeTJEVCIpLEU9Xy5OKCgpPT5uVShhLkcsYS53YXRjaE5leHRSZXNwb25zZT8uKCkpLHZvaWQgMCwiRmhVWnIiKSxBPV8uTigoKT0+cigpJiZ6KCkubGVuZ3RoPnIoKSx2b2lkIDAsIlV3RWM1YiIpO18ubkUoKCk9Pnt0KCk7CnZhciBGPXooKSxDPWwoKTtpZihFKCkmJmQudmFsdWUpaWYoRi5sZW5ndGgpe3ZhciBHPWQudmFsdWUsRD1HLmNsaWVudFdpZHRoO0c9Ry5jbGllbnRIZWlnaHQ7bGV0IFQ9Ri5sZW5ndGg7Zm9yKHZhciBIPTIsUj0yLE09TWF0aC5tYXgoRC85NiwyKSxTPU1hdGgubWF4KEcvNTQsMiksWT0oVC0xKSo0O1k+MCYmKEg8TXx8UjxTKTspe3ZhciBwYT1ILzIsb2E9Ui8yLFU9SDw9TS0yJiZZPj1vYSo0LGhhPVI8PVMtMiYmWT49cGEqNDtpZigocGErMSkvb2EqblcvKEQvRyk+RC9HLyhwYS8ob2ErMSkqblcpJiZoYSlZLT1wYSo0LFIrPTI7ZWxzZSBpZihVKVktPW9hKjQsSCs9MjtlbHNlIGlmKGhhKVktPXBhKjQsUis9MjtlbHNlIGJyZWFrfWxldCB7Y29sdW1uQ291bnQ6YmEsWXo6YWEsUno6T2F9PXtjb2x1bW5Db3VudDpILFl6OlIsUno6WX07SD0hMTtPYT49MTImJlQqNC1PYTw9NiYmKGFhPj00fHxiYT49NCkmJihIPSEwKTtSPWJhKjk2O009YWEqNTQ7Uz1NYXRoLm1pbihSL008RC9HPwpHL006RC9SLDIpO1I9TWF0aC5mbG9vcihNYXRoLm1pbihELFIqUykpO009TWF0aC5mbG9vcihNYXRoLm1pbihHLE0qUykpO2xldCB7U0E6SmIsUkE6emF9PXtTQTpSLFJBOk19O1I9SmIrNDtNPXphKzQ7Uz0wO1k9W107Zm9yKHBhPTA7cGE8YmE7cGErKylmb3Iob2E9MDtvYTxhYTtvYSsrKWlmKFU9MCxIJiZwYT49YmEtMiYmb2E+PWFhLTI/VT0xOm9hJTI9PT0wJiZwYSUyPT09MCYmKFU9MiksaGE9UyVULFUhPT0wKXtsZXQgTGI9TWF0aC5mbG9vcihNKm9hL2FhKSxjYz1NYXRoLmZsb29yKFIqcGEvYmEpO1kucHVzaCh7ZGF0YTpGWyhoYStDKSVUXSxsZWZ0OmNjKyhELUpiKS8yLHRvcDpMYisoRy16YSkvMix3aWR0aDpNYXRoLmZsb29yKFIqKHBhK1UpL2JhKS1jYy00LGhlaWdodDpNYXRoLmZsb29yKE0qKG9hK1UpL2FhKS1MYi00fSk7UysrfXZhciB7U3k6bWEsaW5kZXg6dGF9PXtTeTpZLGluZGV4OlN9O2YobWEpO3AodGEpfWVsc2UgZihbXSl9LCJ3ZVk0QiIpO3JldHVybiBfLksoInBmcC12aWRlby13YWxsLWVuZHNjcmVlbiIsCntjbGFzczpfLlAoInl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSG9zdCIsYS5jbGFzc05hbWUse3l0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlzaWJsZTpFLHl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSXNPYnNjdXJlZDphLlV4fSksIm9uOmNsaWNrIjpmdW5jdGlvbihGKXtGLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTpFLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9MaXN0Q29udGFpbmVyIn0sXy5LKF8uTyx7QSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUxlZnQiLCJvbjpjbGljayI6YiwiYXJpYS1sYWJlbCI6Xy4kTi5mb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fTEVGVCIsY2xhc3NOYW1lOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUljb24ifSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0xpc3QiLAplbDpkfSxfLksoXy5nRyx7cGE6ZX0sRj0+Xy5LKCJkaXYiLHtjbGFzczoieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0l0ZW0iLHN0eWxlOl8uSUUoe3RvcDooMCxfLlpLKSgoKT0+Ri50b3ApLGxlZnQ6KDAsXy5aSykoKCk9PkYubGVmdCksd2lkdGg6KDAsXy5aSykoKCk9PkYud2lkdGgpLGhlaWdodDooMCxfLlpLKSgoKT0+Ri5oZWlnaHQpfSl9LF8uSyhfLlcse2RhdGE6KCk9PkYuZGF0YX0se2VuZFNjcmVlblZpZGVvUmVuZGVyZXI6bVcsZW5kU2NyZWVuUGxheWxpc3RSZW5kZXJlcjokbWF9KSkpKSxfLksoXy5PLHtBLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlUmlnaHQiLCJvbjpjbGljayI6YywiYXJpYS1sYWJlbCI6Xy4kTi5lb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fUklHSFQiLGNsYXNzTmFtZToieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVJY29uIn0pKX0pKX0pKX0sImNlIiksblc9OTYvNTQ7dmFyIG9XPV8uTCgoe2plOmF9KT0+e3ZhciBiPV8uTigoKT0+YSgpLHZvaWQgMCwiRVRnZTdkIiksW2MsLGRdPV8uSigwLHZvaWQgMCwiWkNCSXMiKTtfLm5FKCgpPT57YigpJiZkKGU9PmUrMSl9LCJLc1gzcmYiKTtyZXR1cm4gXy5LKCJwbGF5ZXItYWN0aW9uLWluZGljYXRvciIse2NsYXNzOiJ5dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySG9zdCJ9LF8uSyhfLmdHLHtwYTooKT0+YigpP1tjKCldOltdfSwoKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckFjdGlvbiJ9LF8uSyhfLk1ELHtpY29uOmIsY2xhc3NOYW1lOiJ5dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySWNvbiJ9KSkpKX0sImVlIik7b1cuaWRvbUNvbXBhdD0hMDt2YXIgcFc9Xy5MKCh7RzphLFNtOmIscGxheWVyT3ZlcmxheVJlbmRlcmVyOmMsVnc6ZCxjbGFzc05hbWU6ZX0pPT57dmFyIGY9KCk9Pl8uQihiPy4oKT8ucGxheWVyQmFyQWN0aW9uQnV0dG9uLF8uVkwpO3JldHVybiBfLksoInBsYXllci10aW1lLWRpc3BsYXkiLHtjbGFzczpfLlAoInl0d1BsYXllclRpbWVEaXNwbGF5SG9zdCIsZSl9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVDaHVua3MiLHt5dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGw6KCk9PiFkPy4oKSx5dHdQbGF5ZXJUaW1lRGlzcGxheUxpdmVEb3Q6KCk9PmEoKS5pc0xpdmUseXR3UGxheWVyVGltZURpc3BsYXlMaXZlSGVhZDooKT0+b1UoYSgpKX0pLCJvbjpjbGljayI6ZnVuY3Rpb24oaCl7aWYoYSgpLmlzTGl2ZSYmIW9VKGEoKSkpe2EoKS5IPy5zZWVrVG8oSW5maW5pdHkpO3ZhciBrPVVRKGEoKS5IKTtrJiZhKCkuUyh7dmlkZW9EdXJhdGlvbjprfSl9aC5zdG9wUHJvcGFnYXRpb24oKX19LApfLksoImRpdiIse2RpcjoibHRyIn0sXy5LKGJuYSx7RzphLHBsYXllck92ZXJsYXlSZW5kZXJlcjpjfSksXy5LKF8uTyx7QTooKT0+IW9VKGEoKSksdGhlbjooKT0+Xy5LKGNuYSx7RzphfSl9KSkpLF8uSyhfLk8se0E6KCk9Pnt2YXIgaD1fLkIoYj8uKCk/LnBsYXllckJhcixEUyk/Xy5CKGtUKGEoKSxfLkIoYj8uKCk/LnBsYXllckJhcixEUykpLGVUKT8udGl0bGU6dm9pZCAwLGs9ZigpPy50ZXh0O3JldHVybiBoPz9rfSx0aGVuOmg9Pl8uSyhkbmEse3RpdGxlOmgsYnV0dG9uOmYsRzphfSl9KSl9LCJmZSIpLGJuYT1fLkwoKHtHOmEscGxheWVyT3ZlcmxheVJlbmRlcmVyOmJ9KT0+e3ZhciBjPSgpPT5hKCkuaXNMaXZlP18uJE4ubG86Q1QoYSgpLnZhKTtyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5VGltZUVsYXBzZWQifSxfLksoInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uTyx7QTooKT0+Yj8uKCk/LmxpdmVJbmRpY2F0b3JUZXh0LAp0aGVuOmQ9Pl8uSyhfLlYse3RleHQ6ZH0pLFc6KCk9Pl8uSyhfLklCLG51bGwsYyl9KSksXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5U2NyZWVuUmVhZGVyT25seSJ9LCgpPT57aWYoYSgpLmlzTGl2ZSlyZXR1cm4gXy4kTi5sbzt2YXIgZD1QUih7c2Vjb25kczphKCkudmF9KTtyZXR1cm5gJHtfLiROLlZ0fSAke2R9YH0pKX0sImdlIiksY25hPV8uTCgoe0c6YX0pPT57dmFyIGI9KCk9PntpZihvVShhKCkpKXZhciBjPTA7ZWxzZXtjPU1hdGg7dmFyIGQ9Yy5yb3VuZCxlPWEoKTtjPWQuY2FsbChjLGUuaXNEcmFnZ2luZz9lLkNhOmUudmEpLU1hdGgucm91bmQoVVEoYSgpLkgpKX1yZXR1cm4gY307cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5VGltZVNlY29uZCJ9KSxfLksoInNwYW4iLHtjbGFzczoieXR3UGxheWVyVGltZURpc3BsYXlUaW1lRGVsaW1pdGVyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sCiIvIiksXy5LKCJzcGFuIix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVTZWNvbmQiLCJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVEdXJhdGlvbiIpfSxfLksoInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sKCk9PmEoKS5pc0xpdmU/Q1QoYigpKTpDVChhKCkudmlkZW9EdXJhdGlvbikpLF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVNjcmVlblJlYWRlck9ubHkifSwoKT0+e2lmKGEoKS5pc0xpdmUpcmV0dXJuIENUKGIoKSk7dmFyIGM9UFIoe3NlY29uZHM6YSgpLnZpZGVvRHVyYXRpb259KTtyZXR1cm5gJHtfLiROLlV0fSAke2N9YH0pKSl9LCJoZSIpLGRuYT1fLkwoKHt0aXRsZTphLGJ1dHRvbjpiLEc6Y30pPT57ZnVuY3Rpb24gZChmKXtiPy4oKT8uY29tbWFuZCYmKF8uQUooYigpLmNvbW1hbmQse30sITEpLGYuc3RvcFByb3BhZ2F0aW9uKCkpfXZhciBlPV8uTigoKT0+YygpLmJhPy5FZSx2b2lkIDAsImpnMk9NYyIpO3JldHVybiBfLksoXy5PLAp7QTpiLHRoZW46Zj0+Xy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJBY3Rpb25Db250YWluZXIifSxfLksoImJ1dHRvbiIse2NsYXNzOl8uUCgieXR3UGxheWVyVGltZURpc3BsYXlQaWxsIiwieXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJCdXR0b24iKSwib246Y2xpY2siOmQsImFyaWEtbGFiZWwiOigpPT5fLmFOKGYoKS50ZXh0KX0sXy5LKF8uVix7dGV4dDphLHljOiEwfSksXy5LKF8uTyx7QTooKT0+IShfLngoIm13ZWJfdXNlX29ubHlfY2hhcHRlcl90aXRsZV9pbl9mdWxsc2NyZWVuIikmJmMoKS5pc0Z1bGxzY3JlZW4pLHRoZW46KCk9Pl8uSyhfLk1ELHtpY29uOiJDSEVWUk9OX1JJR0hUX0NBSVJPIixjbGFzc05hbWU6Inl0d1BsYXllclRpbWVEaXNwbGF5Q2hldnJvbiJ9KX0pKSksVzooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclRpbWVEaXNwbGF5Q2hhcHRlclRleHQiLHt5dHdQbGF5ZXJUaW1lRGlzcGxheUZ1bGxzY3JlZW5Db250cm9sc0Fsd2F5c09uOmV9KX0sCl8uSyhfLlYse3RleHQ6YSx5YzohMH0pKX0pfSwiaWUiKTt2YXIgcVc9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCl7dGhpcy5nbj1hO3RoaXMubGlzdGVuZXJzPVtdO3RoaXMuY29udGV4dD1iO3RoaXMubz1kO3RoaXMudj1xVSh0aGlzLlVjPy5IKTt0aGlzLkQ9dGhpcy5TLmJpbmQodGhpcyk7dGhpcy5zdGF0ZT17Li4uZFQoKSwuLi5jfTthPXRoaXMudWQoKTtbdGhpcy5CLHRoaXMual09Xy5KKGEsdm9pZCAwLCJwM053cSIpfVMoYSl7aWYoIXFsYShhLHRoaXMuc3RhdGUpKXt0aGlzLnN0YXRlPXsuLi50aGlzLnN0YXRlLC4uLmF9O2E9Xy54KCJwbGF5ZXJfY29udHJvbHNfbG9nX2NyZWF0aW9uX2VuYWJsZWQiKTt2YXIgYj0tMTthJiYhcFUoKSYmKGI9KDAsXy5lbCkoKSk7YSYmXy5BcSgicGN1X3MiKTt0aGlzLmomJnRoaXMuaih0aGlzLnVkKCkpO2EmJihfLkFxKCJwY3Vfc2UiKSxfLkFxKCJwY3VfcnMiKSk7dGhpcy5nbih0aGlzLnVkKCkpO2EmJihfLkFxKCJwY3VfcmUiKSxwbGEoYiksXy5qZi5HYSgoKT0+e18uQXEoInBjdV9hcCIpfSwKOCkpfX11ZCgpe3ZhciBhPXRoaXMubz9xVSh0aGlzLm8oKSk6cVUodGhpcy5VYz8uSCk7cmV0dXJuey4uLnRoaXMuc3RhdGUsUzp0aGlzLkQsSDphLHRhOnRoaXMuY29udGV4dC50YSxUYzp0aGlzLmNvbnRleHQuVGMsR2M6dGhpcy5jb250ZXh0LkdjLGJhOnRoaXMuY29udGV4dC5iYX19Z2V0RGF0YSgpe3JldHVybiB0aGlzLlVjfX07dmFyIHJXPV8uTChhPT57ZnVuY3Rpb24gYihZKXtNPUguYW5pbWF0ZShbe29mZnNldDowLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMjAsIDAuMDAsIDAuNjAsIDEuMDApIixvcGFjaXR5Oll9LHtvZmZzZXQ6MSxvcGFjaXR5OjF9XSx7ZHVyYXRpb246MjAwLGZpbGw6ImZvcndhcmRzIn0pO00uYWRkRXZlbnRMaXN0ZW5lcigiZmluaXNoIiwoKT0+e009dm9pZCAwO2UoKTtGPSJsaW5nZXJpbmcifSl9ZnVuY3Rpb24gYyhZLHBhPSExLG9hPSExKXt2YXIgVT1bXTtVLnB1c2goe29mZnNldDowLHRyYW5zZm9ybTpgdHJhbnNsYXRlWCgke0M9PT0tMT8yMDotMjB9cHgpYCxvcGFjaXR5OnBhPyIwIjoiMSJ9KTtwYSYmVS5wdXNoKHtvZmZzZXQ6LjUsb3BhY2l0eToiMSJ9KTtVLnB1c2goe29mZnNldDoxLHRyYW5zZm9ybToidHJhbnNsYXRlWCgwKSIsb3BhY2l0eToiMSJ9KTtwYT1ZLmFuaW1hdGUoVSx7ZHVyYXRpb246NDAwLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMDUsIDAuMDAsIDAuMDAsIDEuMDApIn0pOwpZPVkucXVlcnlTZWxlY3RvcigicGF0aCIpO1U9W107dmFyIGhhPXtvZmZzZXQ6MCxkOkM9PT0tMT8ncGF0aCgiTSAxOCA0IEwgMTggMTYgTCAxOCAyOCIpJzoncGF0aCgiTSA0IDQgTCA0IDE2IEwgNCAyOCIpJ307b2EmJihoYS5maWx0ZXI9ImRyb3Atc2hhZG93KDAgMCAwLjVweCByZ2JhKDAsIDAsIDAsIDAuOCkpIik7VS5wdXNoKGhhKTtvYSYmVS5wdXNoKHtvZmZzZXQ6LjgsZmlsdGVyOiJkcm9wLXNoYWRvdygwIDAgMC41cHggcmdiYSgwLCAwLCAwLCAwLjgpKSJ9KTtoYT17b2Zmc2V0OjEsZDpDPT09LTE/J3BhdGgoIk0gMTggNCBMIDYgMTYgTCAxOCAyOCIpJzoncGF0aCgiTSA0IDQgTCAxNiAxNiBMIDQgMjgiKSd9O29hJiYoaGEuZmlsdGVyPSJkcm9wLXNoYWRvdygwIDAgMC41cHggcmdiYSgwLCAwLCAwLCAwKSkiKTtVLnB1c2goaGEpO1kuYW5pbWF0ZShVLHtkdXJhdGlvbjozMzMsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4wNSwgMC4wMCwgMC4wMCwgMS4wMCkiLGZpbGw6ImZvcndhcmRzIn0pOwpyZXR1cm4gcGF9ZnVuY3Rpb24gZCgpe3ZhciBZPUgucXVlcnlTZWxlY3RvcigiLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50IikuY2xvbmVOb2RlKCEwKTtZLmNsYXNzTGlzdC5hZGQoInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dBZGRpdGlvbmFsIik7WS5jbGFzc0xpc3QucmVtb3ZlKCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpO0guYXBwZW5kQ2hpbGQoWSk7YyhZLCEwLCEwKS5hZGRFdmVudExpc3RlbmVyKCJmaW5pc2giLCgpPT57WS5yZW1vdmUoKX0pfWZ1bmN0aW9uIGUoKXtjbGVhclRpbWVvdXQoUik7Uj1zZXRUaW1lb3V0KCgpPT57ZigpfSxfLnNqKCJ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9saW5nZXJfZHVyYXRpb24iLDMwMCkpfWZ1bmN0aW9uIGYoWT0xLHBhPSEwKXtNPUguYW5pbWF0ZShbe29mZnNldDowLG9wYWNpdHk6WX0se29mZnNldDoxLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjoyMDAsZmlsbDoiZm9yd2FyZHMiLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMjAsIDAuMDAsIDAuNjAsIDEuMDApIn0pOwpwYSYmKE0uYWRkRXZlbnRMaXN0ZW5lcigiZmluaXNoIiwoKT0+e1M/LigpO009dm9pZCAwO2soKTtBKCExKX0pLEY9ImZhZGluZy1vdXQiKX1mdW5jdGlvbiBoKCl7aWYoIU0pcmV0dXJuIDA7dmFyIFk9TnVtYmVyKGdldENvbXB1dGVkU3R5bGUoSCkub3BhY2l0eSk7TS5jYW5jZWwoKTtNPXZvaWQgMDtyZXR1cm4gWX1mdW5jdGlvbiBrKCl7Rj0iaGlkZGVuIjtIPUM9dm9pZCAwO2NsZWFyVGltZW91dChSKX12YXIgbD1fLk4oKCk9PmEuRygpLkpkLHZvaWQgMCwicGRsbVliIiksbT1fLk4oKCk9PmEuRygpLktiLHZvaWQgMCwiYVBTOUoiKSxuPV8uTigoKT0+YS5HKCkuSCx2b2lkIDAsInh2QnJsZiIpLFtwLHJdPV8uSigiIix2b2lkIDAsIlZKdWd6ZCIpLFt0LHZdPV8uSigiIix2b2lkIDAsIllTS1NPZCIpLFt6LEVdPV8uSighMSx2b2lkIDAsIk9zbWluYyIpLEE9RSxGPSJoaWRkZW4iLEMsRyxELEgsUj0wLE0sUztfLm5FKCgpPT57aWYoRWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZSl7dmFyIFk9CmwoKTtpZighKG0oKTw9MXx8WT09PTApKXtBKCEwKTtpZihDJiZZIT09Qyl7bGV0IHBhPTE7TSYmKHBhPWgoKSk7ZihwYSwhMSk7aygpfUM9WTtIPUM9PT0tMT9HOkQ7aWYoRyYmRClpZihZPW4oKSxZPVk/LmlzUmVhZHk/LigpP1kuZ2V0Q3VycmVudFRpbWUoKTowLFk9Qz09PS0xJiZZPD0xMD8xMDoobSgpLTEpKjEwLFk9YCR7Qz09PS0xPyJcdTIyMTIiOiIrIn0gJHtZfWAsQz09PS0xP3IoWSk6dihZKSxGPT09ImhpZGRlbiJ8fEY9PT0iZmFkaW5nLW91dCIpWT0wLEY9PT0iZmFkaW5nLW91dCImJihZPWgoKSxkKCkpLGIoWSksRiE9PSJmYWRpbmctb3V0IiYmYyhILnF1ZXJ5U2VsZWN0b3IoIi55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpKSxGPSJmYWRpbmctaW4iO2Vsc2UgaWYoRj09PSJmYWRpbmctaW4ifHxGPT09ImxpbmdlcmluZyIpSC5xdWVyeVNlbGVjdG9yKCIueXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbiIpLmFuaW1hdGUoW3tvZmZzZXQ6MCxlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSIsCnRyYW5zZm9ybToic2NhbGUoMSkifSx7b2Zmc2V0Oi42NCxlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSIsdHJhbnNmb3JtOmBzY2FsZSgke18uc2ooIndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2R1cmF0aW9uX2J1bXBfc2NhbGUiKXx8Ljl9KWB9LHtvZmZzZXQ6MSx0cmFuc2Zvcm06InNjYWxlKDEpIn1dLHtkdXJhdGlvbjoxODR9KSxkKCksRj09PSJsaW5nZXJpbmciJiZlKCl9fX0sImh6bnlEIik7Xy5ZdSgoKT0+e2goKTtrKCl9KTtyZXR1cm4gXy5LKCJ5dHctcGxheWVyLXNlZWstb3ZlcmxheSIse2NsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUhvc3QiLHN0eWxlOl8uSUUoe2Rpc3BsYXk6KCk9PnooKT8iYmxvY2siOiJub25lIn0pfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb24iLCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkJhY2siKSxlbDpfLnJGKFk9PntHPVl9KX0sXy5LKCJkaXYiLAp7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93IiwieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BlcnNpc3RlbnQiKX0sXy5LKCJzdmciLHt2aWV3Qm94OiIwIDAgMjIgMzIiLHdpZHRoOiIyMiIsaGVpZ2h0OiIyNCIsY2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dTdmcifSxfLksoInBhdGgiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BhdGgiLGQ6Ik0gMTggNCBMIDYgMTYgTCAxOCAyOCIsc3Ryb2tlOiJ3aGl0ZSIsInN0cm9rZS13aWR0aCI6IjQiLCJzdHJva2UtbGluZWNhcCI6InJvdW5kIixmaWxsOiJub25lIn0pKSksXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbiJ9LHApKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb24iLCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkZvcndhcmQiKSxlbDpfLnJGKFk9PntEPVl9KX0sXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbiJ9LAp0KSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvdyIsInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50Iil9LF8uSygic3ZnIix7dmlld0JveDoiMCAwIDIyIDMyIix3aWR0aDoiMjIiLGhlaWdodDoiMjQiLGNsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93U3ZnIn0sXy5LKCJwYXRoIix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQYXRoIixkOiJNIDQgNCBMIDE2IDE2IEwgNCAyOCIsc3Ryb2tlOiJ3aGl0ZSIsInN0cm9rZS13aWR0aCI6IjQiLCJzdHJva2UtbGluZWNhcCI6InJvdW5kIixmaWxsOiJub25lIn0pKSkpKX0sImtlIik7dmFyIHRVO3ZhciBbZW5hLHNXXT1fLkooITEsdm9pZCAwLCJHTlczUyIpLFtDVSxEVV09Xy5KKCExLHZvaWQgMCwiR0FFa0oiKSxbdFcsdGxhXT1fLkoodm9pZCAwLHZvaWQgMCwiT1ZQMWVlIik7dmFyIEJVPTA7dmFyIEVVPXZvaWQgMDt2YXIgelU9MCxIVT0wLEdVPTAseVU9MCxBVT0hMSxGVT0wO3ZhciBOVTt2YXIgdVc9W3tyZWdpc3RlcjphPT57dmFyIGI9d2xhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvblZvbHVtZUNoYW5nZSIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj14bGEoYSk7YT1hKCkuSDthPy5hZGRFdmVudExpc3RlbmVyKCJjYXB0aW9uc2NoYW5nZWQiLGIpO2E/LmFkZEV2ZW50TGlzdGVuZXIoImNhcHRpb25zc2V0dGluZ3NjaGFuZ2VkIixiKTthPy5hZGRFdmVudExpc3RlbmVyKCJvbkNhcHRpb25zVHJhY2tMaXN0Q2hhbmdlZCIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOihhLGIpPT57Yj1CbGEoYSxiKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25TdGF0ZUNoYW5nZSIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1EbGEoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIlNFRUtfQ09NUExFVEUiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9UFUoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIiwKYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOihhLGIpPT57Yj1FbGEoYSxiKTthKCk/Lkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9Qcm9ncmVzcyIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1GbGEoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uTXV0ZWRBdXRvcGxheUNoYW5nZSIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1IbGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGIpfX19LHtyZWdpc3RlcjphPT57dmFyIGI9SWxhKGEpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsYik7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpfX19LHtyZWdpc3RlcjphPT57dmFyIGI9R2xhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbkZ1bGxzY3JlZW5DaGFuZ2UiLApiKTtyZXR1cm4oKT0+e319fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUpsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUtsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmVycm9yIixiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVuZXJyb3IiLGIpfX19LHtyZWdpc3RlcjooYSxiKT0+e3ZhciBjPUxsYShhLGIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwbGF5ZXItYXV0b25hdi1wYXVzZSIsYyk7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGxheWVyLWF1dG9uYXYtcGF1c2UiLGMpfX19LHtyZWdpc3RlcjphPT57dmFyIGI9TWxhKGEpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJhdXRvbmF2LXRvZ2dsZS1jbGljayIsCmIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImF1dG9uYXYtdG9nZ2xlLWNsaWNrIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPU5sYShhKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25Mb29wUmFuZ2VDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57aWYoIV8ueCgiZW5hYmxlX213ZWJfa2V5Ym9hcmRfc2hvcnRjdXRzIikpcmV0dXJuKCk9Pnt9O3ZhciBiPXpsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYik7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYil9fX1dO3ZhciBWbGE9Xy5MKGE9Pnt2YXIgYj1fLk4oKCk9PmEuSCgpLHZvaWQgMCwicThXc0tmIiksYz1fLk4oKCk9PmEuZGF0YSgpLHZvaWQgMCwiazZVZVYiKSxkPV8uTigoKT0+e3ZhciBDPWEuY29udGV4dCgpO3JldHVybiBuZXcgcVcoKCk9Pnt9LEMse2F1dG9uYXZFbmFibGVkOkMudGEuZGUoKSxlYTohMH0sYil9LHZvaWQgMCwiT0F4SUpiIiksZT1fLk4oKCk9PigwLGQoKS5CKSgpLHZvaWQgMCwiVXUxUmkiKSxmPV8uTigoKT0+e3ZhciBDPWUoKTtyZXR1cm4gXy54KCJtd2ViX3BjX2xpdmVfZHZyX2tzIik/ITE6Qy5pc0xpdmUmJiFDLmlzTGl2ZUR2ckVuYWJsZWR9LHZvaWQgMCwiY3RVZzNkIiksaD1fLk4oKCk9Pnt2YXIgQz1mKCk7cmV0dXJuIHJVKCkmJiFDfSx2b2lkIDAsIm5KZGswYyIpLGs9Xy5OKCgpPT5jKCkucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzfHxjKCkuamI/LnByZXZpZXdQbGF5YWJpbGl0eVN0YXR1cyx2b2lkIDAsIkJWWEM5IiksbD1fLk4oKCk9PgplKCkuYmE/LlpoJiYkUyhlKCksaygpKSx2b2lkIDAsIk1Idkh3ZiIpLG09Xy5OKCgpPT5uVShlLGMoKS53YXRjaE5leHRSZXNwb25zZSksdm9pZCAwLCJjdHhVcyIpLG49Xy5OKCgpPT5tVShlLEJTKGMoKS53YXRjaE5leHRSZXNwb25zZSkpLHZvaWQgMCwiR0xrQlUiKSxwPV8uTigoKT0+e3ZhciBDPWwoKSxHPW0oKSxEPW4oKSxIPWUoKS5wbGF5ZXJTdGF0ZTtyZXR1cm4gQz8hMDpHfHxEPyExOkg9PT0wfSx2b2lkIDAsIlhFRXZCIikscj1fLnZFKCJidXR0b24iLEM9PntDJiZXUyhDLDI4NTcyLCFfLngoImVtYmVkc19jdWVkX292ZXJsYXlfdmVfa3MiKSl9KSx0PV8uTigoKT0+e3ZhciBDPWMoKTtyZXR1cm4oQz1fLkIoTlMoQy53YXRjaE5leHRSZXNwb25zZT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcixDLmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcik/LmNvbGxhcHNlZFJlbmRlcmVyLG1WKT8udGl0bGUpP18uYU4oQyk6dm9pZCAwfSwKdm9pZCAwLCJnc0dXeSIpLHY9Xy51RihDPT57dmFyIEc9ZSgpLEQ9YygpLEg9dCgpO3JldHVybiBHLmJhPy5oaWRlVmlkZW9JbmZvPyExOkQud2F0Y2hOZXh0UmVzcG9uc2V8fEQuamI/SCE9PXZvaWQgMDpDfSx7aW5pdGlhbDohMH0pLHo9Xy5OKCgpPT5lKCkuZWEsdm9pZCAwLCJUUjlLR2QiKSxFPV8udUYoQz0+e3ZhciBHPWMoKTtyZXR1cm4oRy5wbGF5ZXJSZXNwb25zZT8ub3ZlcmxheT8ucGxheWVyQ29udHJvbHNPdmVybGF5UmVuZGVyZXJ8fEcuamI/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyKT8uY29udHJvbEJnSHRtbD8/Q30se2luaXRpYWw6dm9pZCAwfSksQT1bXTtfLm5FKCgpPT57UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e0EuZm9yRWFjaChDPT52b2lkIEMoKSk7QS5sZW5ndGg9MDt1Vy5mb3JFYWNoKEM9PntBLnB1c2goQy5yZWdpc3RlcigoKT0+ZCgpLnVkKCksKCk9PmMoKSkpfSl9KX0sIlkycVk3YiIpO18ubkUoKCk9Pnt2YXIgQz1kKCksCkc9YygpO0MuVWM9Rzt2YXIgRD1DLnY9PT1HLkg7Qy52PXFVKEcuSCk7RHx8Qy5qJiZDLmooQy51ZCgpKX0sImExNzhSZCIpO3ZhciBGPUM9PntDPUMuZGV0YWlsLmF1dG9uYXZFbmFibGVkO3ZhciBHPXthdXRvbmF2RW5hYmxlZDpDfTtDJiYoRy54Zj0hMCk7ZSgpLlMoRyl9O18ub0YoKCk9Pnt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGZwLWF1dG9uYXYtdXBkYXRlIixGKX0pO18uWXUoKCk9PntBLmZvckVhY2goQz0+dm9pZCBDKCkpO0EubGVuZ3RoPTA7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBmcC1hdXRvbmF2LXVwZGF0ZSIsRil9KTtyZXR1cm4gXy5LKF8ubkcse0VmOltfLm9HKCRULGIpXX0sXy5LKCJwZnAtY29udHJvbHMiLHtjbGFzczoieXRQZnBDb250cm9sc0hvc3QiLCJvbjpjb250ZXh0bWVudSI6ZnVuY3Rpb24oQyl7YS5jb250ZXh0KCkudGEuU2o/LihDKTtDLnByZXZlbnREZWZhdWx0KCl9fSxfLksoR1Yse0c6ZSx0aHVtYm5haWxEZXRhaWxzOigpPT57dmFyIEM9CmMoKTtyZXR1cm4gQy5qYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LmRlZmF1bHRUaHVtYm5haWx8fEMucGxheWVyUmVzcG9uc2U/LnZpZGVvRGV0YWlscz8udGh1bWJuYWlsfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNDcmVhdG9yRW5kc2NyZWVuQ29udGFpbmVyIiwib246Y2xpY2siOmZ1bmN0aW9uKEMpe0Muc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT5jKCkucGxheWVyUmVzcG9uc2U/LmVuZHNjcmVlbj8uZW5kc2NyZWVuUmVuZGVyZXIsdGhlbjooKT0+Xy5LKGxXLHtlbmRzY3JlZW5SZW5kZXJlcjooKT0+YygpLnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyLEc6ZX0pfSkpLF8uSygiZGl2Iix7aWQ6InBsYXllci1jb250cm9sLW92ZXJsYXkiLGNsYXNzOl8uUCgieXRQZnBDb250cm9sc092ZXJsYXkiLHt5dFBmcENvbnRyb2xzRmFkZUluOnp9KSwib246Y2xpY2siOmZ1bmN0aW9uKEMpe3AoKT8KKFhTKDI4NTcyKSxlKCkuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCxDLmN1cnJlbnRUYXJnZXQudmlzdWFsRWxlbWVudCksYigpLnBsYXlWaWRlbygpKTpLVShDLGUoKSl9LCJvbjpwb2ludGVybW92ZSI6ZnVuY3Rpb24oQyl7Qy5wb2ludGVyVHlwZT09PSJtb3VzZSImJihlKCkuUyh7ZWE6ITB9KSxjVChlKCkse0ljOiEwfSkpfX0sXy5LKF8uTyx7QTp2LHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNHcmFkaWVudFRvcCJ9LF8uSyhfLk8se0E6dCx0aGVuOigpPT5fLksoImgyIix7Y2xhc3M6Inl0UGZwQ29udHJvbHNWaWRlb1RpdGxlIn0sdCl9KSl9KSxfLksob1cse2plOigpPT5lKCkuamV9KSxfLksoXy5PLHtBOnAsdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbiIsZWw6ciwiYXJpYS1sYWJlbCI6Xy4kTi5QZyx0aXRsZTpfLiROLlBnfSxfLksoInN2ZyIse2hlaWdodDoiMTAwJSIsdmVyc2lvbjoiMS4xIiwKdmlld0JveDoiMCAwIDYwIDYwIix3aWR0aDoiMTAwJSJ9LF8uSygicGF0aCIse2NsYXNzOiJ5dFBmcENvbnRyb2xzTGFyZ2VQbGF5QnV0dG9uSWNvbkJnIixkOiJNMzAsMEEzMCwzMCwwLDEsMCw2MCwzMCwzMCwzMCwwLDAsMCwzMCwwWiIsZmlsbDooKT0+RSgpPz8iIzFmMWYxZiJ9KSxfLksoInBhdGgiLHtkOiJNMjEsNDEuNjVWMThMNDMuNywyOS44NVoiLGZpbGw6IiNmZmYifSkpKX0pLF8uSyhabWEse0c6ZSxVYzpjfSksXy5LKGFuYSx7RzplLHdhdGNoTmV4dFJlc3BvbnNlOigpPT5jKCkud2F0Y2hOZXh0UmVzcG9uc2UsVXg6bixjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNWaWRlb1dhbGxFbmRzY3JlZW4ifSksXy5LKFltYSx7SDpiLEc6ZSx3YXRjaE5leHRSZXNwb25zZTooKT0+YygpLndhdGNoTmV4dFJlc3BvbnNlLGNsYXNzTmFtZToieXRQZnBDb250cm9sc0F1dG9uYXYifSksXy5LKF8uTyx7QTooKT0+IWwoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhXVix7RzplfSksCl8uSyhWVix7Z2Y6ZSxJYjohMX0pLF8uSyhYVix7RzplLEZkOi0xLGNsYXNzTmFtZToieXRQZnBDb250cm9sc0hpZGRlblNlZWtCdXR0b24ifSksXy5LKFhWLHtHOmUsRmQ6MSxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNIaWRkZW5TZWVrQnV0dG9uIn0pLF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoclcse0c6ZX0pfSksXy5LKGZuYSx7SDpiLEc6ZSxVYzpjLEZ6OkUsZGlzYWJsZVNjcnViYmluZzpmfSkpfSkpKSl9LCJvZSIpLGZuYT1fLkwoKHtIOmEsRzpiLFVjOmMsRno6ZCxkaXNhYmxlU2NydWJiaW5nOmV9KT0+e2Z1bmN0aW9uIGYocil7ci5zdG9wUHJvcGFnYXRpb24oKX12YXIgaD1fLk4oKCk9PiFiKCkuYmE/Lm5oLHZvaWQgMCwicEZ0RFhiIiksaz1fLk4oKCk9PiFiKCkuYmE/LmlxLHZvaWQgMCwidjRYNXNlIiksbD1fLk4oKCk9PmMoKS5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsdm9pZCAwLCJqTGhoV2MiKSxtPV8uTigoKT0+R1MobCgpKSx2b2lkIDAsInM2N3hTYiIpLG49Xy5OKCgpPT4KRVMobCgpKSx2b2lkIDAsInBDaWF1IikscD1fLk4oKCk9PiFiKCkuYmE/LnpyLHZvaWQgMCwic3Z1eEIiKTtyZXR1cm4gXy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczoieXRQZnBDb250cm9sc1Byb2dyZXNzQmFyQ29udGFpbmVyIn0sXy5LKENWLHtMYjpiLGhmOm0sY29uZmlnOigpPT4oe3Bvc2l0aW9uOjEsS2Y6ITEsSW46cCgpLFJhOm4oKSxkaXNhYmxlU2NydWJiaW5nOmUoKSxZbzooKT0+e2JUKCl9LEZuOigpPT57Y1QoYigpLHtJYzohMH0pfX0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNCb3R0b21CYXIiLHN0eWxlOl8uSUUoeyJiYWNrZ3JvdW5kLWNvbG9yIjpkfSksIm9uOmNsaWNrIjpmfSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzTGVmdENvbnRyb2xzIn0sXy5LKF8uTyx7QTooKT0+YigpLnBsYXllclN0YXRlPT09MCx0aGVuOigpPT5fLksoYVcse0c6Yn0pLFc6KCk9Pl8uSygkVix7RzpiLHlzOiEwfSl9KSwKXy5LKEhWLHtvcmllbnRhdGlvbjoiaG9yaXpvbnRhbF9yaWdodCIsSDphLER2OiEwLENwOl8uQkt8fF8uR0ssYmo6ITAsY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHMifSksXy5LKHBXLHtHOmIscGxheWVyT3ZlcmxheVJlbmRlcmVyOmwsVnc6ITAsY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzVGltZURpc3BsYXkifSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNSaWdodENvbnRyb2xzIn0sXy5LKGRXLHtnZjpiLFZyOiEwLGNsYXNzTmFtZToieXRQZnBDb250cm9sc0NhcHRpb25zQnV0dG9uIn0pLF8uSyhiVyx7RzpiLGNsYXNzTmFtZToieXRQZnBDb250cm9sc1NldHRpbmdzQnV0dG9uIn0pLF8uSyhfLk8se0E6ayx0aGVuOigpPT5fLksoWlYse0c6Yn0pfSkpKSl9KX0sInBlIik7dmFyIGduYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJ5dC1lbWJlZHMtaW5mby1wYW5lbC1kZXRhaWxzLXZpZXctbW9kZWwiLHtjbGFzczoieXRFbWJlZHNJbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsSG9zdCJ9LF8uSyhfLlYse2NsYXNzTmFtZToieXRFbWJlZHNJbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsQm9keVRleHQiLHRleHQ6KCk9PmEoKS5ib2R5VGV4dH0pLF8uSyhfLmdHLHtwYTooKT0+YSgpLmN0YUJ1dHRvbnN8fFtdfSxiPT4oYj0oYj1fLkIoYixhbWEpKT9fLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTp7Y29udGVudDpiLmJvZHlUZXh0Py5jb250ZW50fSxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmI/Lmljb24/Lmljb25UeXBlfX1dfSxyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDpiPy5vblRhcH19fX0sXy5aQyk6dm9pZCAwKT9fLksoXy5DRCx7ZGF0YTpifSk6bnVsbCkpLCJxZSIpO3ZhciBobmE9Xy5MKCh7ZGF0YTphLG9uQ2xpY2s6Yn0pPT5fLksoInl0LWVtYmVkcy1pbmZvLXBhbmVsLW92ZXJ2aWV3LXZpZXctbW9kZWwiLG51bGwsXy5LKCJidXR0b24iLHsib246Y2xpY2siOmIsY2xhc3M6Inl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVyQnV0dG9uIn0sXy5LKF8uTyx7QTooKT0+YSgpLmhlYWRlckljb24/Lmljb25UeXBlLHRoZW46KCk9Pl8uSygic3BhbiIsbnVsbCxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmhlYWRlckljb24/Lmljb25UeXBlfSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0In0sXy5LKF8uVix7dGV4dDooKT0+YSgpLnRpdGxlfSksXy5LKF8uVix7dGV4dDooKT0+KHtjb250ZW50OmEoKS50aXRsZSYmYSgpLmJvZHlUZXh0PyIgXHUyMDIyICI6IiJ9KX0pLF8uSyhfLlYse3RleHQ6KCk9PmEoKS5ib2R5VGV4dH0pKSkpLCJyZSIpO3ZhciB2Vz1fLkwoKHtkYXRhOmEscHJvcHM6Yn0pPT57ZnVuY3Rpb24gYyhkKXt2YXIgZT1hKCkuaW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbDtpZihlKXt2YXIgZj17fTtlLnRpdGxlPy5jb250ZW50JiYoZi5oZWFkZXJUaXRsZT1lLnRpdGxlLmNvbnRlbnQpO18ueU4oey4uLmYsR2I6KCk9Pl8uSyhnbmEse2RhdGE6ZX0pLEhhOiEwfSl9ZC5zdG9wUHJvcGFnYXRpb24oKX1yZXR1cm4gXy5LKCJ5dG0tZW1iZWRzLWluZm8tcGFuZWwtcmVuZGVyZXIiLHtjbGFzczpfLlAoInl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdCIse3l0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdEF1dG9oaWRlOigpPT5iKCkucGxheWVyU3RhdGU9PT0xLHl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdFRvcENvbnRyb2xzU3RhY2tlZEluUG9ydHJhaXQ6KCk9PiEkUyhiKCkpJiYhYigpLmJhPy5oaWRlVmlkZW9JbmZvJiYhYigpLmJhPy5uaH0pLHN0eWxlOl8uSUUoeyJhbmltYXRpb24tZGVsYXkiOigpPT4KYCR7YSgpLmR1cmF0aW9uTXN8fDFFNH1tc2B9KX0sXy5LKF8uTyx7QTooKT0+YSgpLmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsLHRoZW46ZD0+Xy5LKGhuYSx7ZGF0YTpkLG9uQ2xpY2s6Y30pfSkpfSwic2UiKTt2Vy5pZG9tQ29tcGF0PSEwO3ZhciB3Vz1fLkwoKHtHOmF9KT0+e3ZhciBbYixjXT1fLkooImhpZGRlbiIsdm9pZCAwLCJTQmhiSGUiKSxkLGUsW2YsaF09Xy5KKCExLHZvaWQgMCwiSGc3eG5mIiksW2ssbF09Xy5KKCExLHZvaWQgMCwibktIbFplIik7Xy5VSigoKT0+e3RXKCk9PT12b2lkIDAmJnVsYSgpO2U9c2V0VGltZW91dCgoKT0+e3RXKCkmJm0oITApO2woITApfSwyRTMpfSk7Xy5ZdSgoKT0+e20oITEpO2NsZWFyVGltZW91dChlKTtjbGVhclRpbWVvdXQoZCl9KTtfLm5FKCgpPT57Q1UoKSYmZigpJiYobSghMSksc1coITApKTshdFcoKSYmZigpJiZtKCExKTt0VygpJiYhZW5hKCkmJiFmKCkmJmsoKSYmbSghMCl9LCJWQ0ZCSWIiKTt2YXIgbT1uPT57aChuKTthKCkuSD8uc2V0QXV0b2Nyb3BFbmFibGVkKG4pO2NsZWFyVGltZW91dChkKTtuPyhjKCJ2aXNpYmxlIiksZD1zZXRUaW1lb3V0KCgpPT57YygiIil9LDNFMykpOihjKCIiKSxkPXNldFRpbWVvdXQoKCk9PntjKCJoaWRkZW4iKX0sM0UzKSl9O3JldHVybiBfLksoImRpdiIsCntjbGFzczpfLlAoInl0QXV0b2Nyb3BCdXR0b25Ib3N0Iix7eXRBdXRvY3JvcEJ1dHRvblZpc2libGU6KCk9PmIoKT09PSJ2aXNpYmxlIix5dEF1dG9jcm9wQnV0dG9uSGlkZGVuOigpPT5iKCk9PT0iaGlkZGVuIn0pfSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKF8ucE8se2RhdGE6e3N0eWxlOiJTVFlMRV9MSUdIVF9URVhUIixzaXplOiJTSVpFX0RFRkFVTFQiLHRleHQ6e3J1bnM6W3t0ZXh0Ol8uJE4uUHN9XX19LGNsYXNzTmFtZToieXRBdXRvY3JvcEJ1dHRvbkF1dG9Dcm9wQnV0dG9uIixwcmV2ZW50RGVmYXVsdDohMCxzdG9wUHJvcGFnYXRpb246ITAsdGc6KCk9PnttKCFmKCkpO3NXKCFmKCkpfX0pLFc6KCk9Pl8uSyhfLnBPLHtkYXRhOntzdHlsZToiU1RZTEVfTElHSFRfVEVYVCIsc2l6ZToiU0laRV9ERUZBVUxUIix0ZXh0OntydW5zOlt7dGV4dDoiMTAwJSJ9XX19LGNsYXNzTmFtZToieXRBdXRvY3JvcEJ1dHRvbkF1dG9Dcm9wQnV0dG9uIixwcmV2ZW50RGVmYXVsdDohMCwKc3RvcFByb3BhZ2F0aW9uOiEwLHRnOigpPT57bSghZigpKTtzVyghZigpKX19KX0pKX0sInVlIik7d1cuaWRvbUNvbXBhdD0hMDt2YXIgeFc9Xy5MKCh7ZGF0YTphLEZlOmJ9KT0+Xy5LKCJ5dG0tZW5kc2NyZWVuLXZpZGVvLXJlbmRlcmVyIixudWxsLF8uSyhfLmZqYSx7ZGF0YTooKT0+KHt0aHVtYm5haWw6YSgpLnRodW1ibmFpbCx0aHVtYm5haWxPdmVybGF5czphKCkudGh1bWJuYWlsT3ZlcmxheXMsdmlkZW9JZDphKCkudmlkZW9JZCxsZW5ndGhUZXh0OmEoKS5sZW5ndGhUZXh0LHB1Ymxpc2hlZFRpbWVUZXh0OmEoKS5wdWJsaXNoZWRUaW1lVGV4dCxuYXZpZ2F0aW9uRW5kcG9pbnQ6YSgpLm5hdmlnYXRpb25FbmRwb2ludCxoZWFkbGluZTphKCkudGl0bGV9KSxGZTpifSkpLCJ2ZSIpO3hXLmlkb21Db21wYXQ9ITA7dmFyIHpXPV8uTCgoe3dhdGNoTmV4dFJlc3BvbnNlOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0IixpZG9tS2V5OiJmdWxsc2NyZWVuLXJlY29tbWVuZGF0aW9ucy13cmFwcGVyIn0sXy5LKF8uZ0cse3BhOigpPT5NUyhhPy4oKSl9LGI9Pl8uSyh5Vyx7dmlkZW86Yn0pKSksIndlIik7elcuaWRvbUNvbXBhdD0hMDt2YXIgeVc9Xy5MKCh7dmlkZW86YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc1JlY29tbWVuZGF0aW9uIn0sXy5LKF8uVyx7ZGF0YTphfSx7ZW5kU2NyZWVuVmlkZW9SZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoeFcse2RhdGE6YixGZTohMH0pfSkpLCJ4ZSIpO3lXLmlkb21Db21wYXQ9ITA7dmFyIEJXPV8uTChhPT5fLksoInBsYXllci1mdWxsc2NyZWVuLXRvcC1jb250cm9scyIse2NsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNIb3N0IixzdHlsZTpfLklFKHt2aXNpYmlsaXR5OigpPT5hLkcoKS5OYT8idmlzaWJsZSI6ImhpZGRlbiJ9KX0sXy5LKCJoMiIse2NsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ29udHJvbHNWaWRlb1RpdGxlIn0sXy5LKF8uTyx7QTooKT0+YS53YXRjaE5leHRSZXNwb25zZT8uKCk/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LnZpZGVvRGV0YWlscz8ucGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyPy50aXRsZSx0aGVuOmI9Pl8uSyhfLlYse3RleHQ6Yn0pfSkpLF8uSyhBVyx7RzphLkd9KSksInllIik7QlcuaWRvbUNvbXBhdD0hMDsKdmFyIEFXPV8uTCgoe0c6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ2xvc2VCdXR0b25XcmFwcGVyIn0sXy5LKF8ucE8se2RhdGE6e3N0eWxlOiJTVFlMRV9MSUdIVF9URVhUIixzaXplOiJTSVpFX0RFRkFVTFQiLGljb246e2ljb25UeXBlOiJDTE9TRSJ9LGFjY2Vzc2liaWxpdHk6e2xhYmVsOiJDbG9zZSJ9LGFjY2Vzc2liaWxpdHlEYXRhOnthY2Nlc3NpYmlsaXR5RGF0YTp7bGFiZWw6IkNsb3NlIn19fSxwcmV2ZW50RGVmYXVsdDohMCxzdG9wUHJvcGFnYXRpb246ITAsdGc6KCk9PnthKCkuUyh7TmE6ITF9KTtfLk1PKCIuZnVsbHNjcmVlbi1tb3JlLXZpZGVvcy1lbmRwb2ludCIpO2NUKGEoKSl9fSkpLCJ6ZSIpO0FXLmlkb21Db21wYXQ9ITA7dmFyIENXPV8uTChhPT57dmFyIGI9KCk9PmEuRygpLmlzRnVsbHNjcmVlbnx8YS5HKCkuYmE/LkVlLGM9KCk9Pnt2YXIgZj1hLkcoKTtyZXR1cm4gXy5hTCgiZnVsbHNjcmVlbi1jb250cm9scyIse2V4cGFuZGVkOmYuTmEsInN0eWxlLXJlY29tbWVuZGF0aW9ucy1pbi1wb3J0cmFpdCI6Zi5iYT8uRWV8fF8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil9KX0sZD0oKT0+e3ZhciBmPWEuRygpO3JldHVybmAKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR7Zi5KZn1weCk7CiAgICAgIHRyYW5zaXRpb246ICR7Zi5XZD8ibm9uZSI6InRyYW5zZm9ybSAwLjJzIGVhc2UsIGJvdHRvbSAwLjJzIGVhc2UifTsKICAgICAgdmlzaWJpbGl0eTogJHtmLkpmfHxmLk5hPyJ2aXNpYmxlIjoiaW5oZXJpdCJ9OwogICAgICBwb2ludGVyLWV2ZW50czogICR7Zi5OYT8iYWxsIjoibm9uZSJ9OwogICAgYH0sZT0oKT0+Xy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmYS5hdXRvY3JvcENvbmZpZz8uKCk7cmV0dXJuIF8uSygicGxheWVyLWZ1bGxzY3JlZW4tY29udHJvbHMiLHtoaWRkZW46IWIsY2xhc3M6Inl0d1BsYXllckZ1bGxzY3JlZW5Db250cm9sc0hvc3QifSxfLksoXy5PLHtBOmIsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoQlcse0c6YS5HLHdhdGNoTmV4dFJlc3BvbnNlOmEud2F0Y2hOZXh0UmVzcG9uc2V9KSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKHdXLHtHOmEuR30pfSksXy5LKEtWLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlLHRodW1ibmFpbFByZXZpZXdSZW5kZXJlcjphLnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcn0pLF8uSygiZGl2Iix7Y2xhc3M6YyxzdHlsZTpkfSxfLksoelcse3dhdGNoTmV4dFJlc3BvbnNlOmEud2F0Y2hOZXh0UmVzcG9uc2V9KSkpfSkpfSwiQWUiKTtDVy5pZG9tQ29tcGF0PSEwO3ZhciBEVz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8udUUoInl0bS1wYWlkLWNvbnRlbnQtb3ZlcmxheS1yZW5kZXJlciIpO3JldHVybiBfLksoInl0bS1wYWlkLWNvbnRlbnQtb3ZlcmxheS1yZW5kZXJlciIse2NsYXNzOiJ5dG1QYWlkQ29udGVudE92ZXJsYXlIb3N0IixlbDpiLCJvbjphbmltYXRpb25lbmQiOmZ1bmN0aW9uKGMpe2IudmFsdWUuY2xhc3NMaXN0LmFkZCgieXRtUGFpZENvbnRlbnRPdmVybGF5SGlkZGVuIik7Yy5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLm5ILHtjb21tYW5kOigpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50LGNsYXNzTmFtZToieXRtUGFpZENvbnRlbnRPdmVybGF5TGluayJ9LF8uSyhfLk8se0E6KCk9PmEoKS5pY29uPy5pY29uVHlwZSx0aGVuOigpPT5fLksoInNwYW4iLG51bGwsXy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uPy5pY29uVHlwZX0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVBhaWRDb250ZW50T3ZlcmxheVRleHQifSxfLksoXy5WLAp7dGV4dDooKT0+YSgpLnRleHR9KSksXy5LKF8uTyx7QTooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCx0aGVuOigpPT5fLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9SSUdIVCJ9KX0pKSl9LCJCZSIpO0RXLmlkb21Db21wYXQ9ITA7dmFyIEVXPV8uTChhPT57dmFyIGI9KCk9PmEuRygpLkg/LmdldFNpemU/LigpPy53aWR0aDtyZXR1cm4gXy5LKCJwbGF5ZXItYm90dG9tLWNvbnRyb2xzIix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJCb3R0b21Db250cm9sc0hvc3QiLHsiZGVsaGktcGxheWVyIjpfLngoIm13ZWJfd2F0Y2hfZGVsaGlfcGxheWVyIil9KX0sXy5LKCJkaXYiLHtjbGFzczoicGxheWVyLWNvbnRyb2xzLWJvdHRvbSBwbGF5ZXItY29udHJvbHMtYm90dG9tLWxlZnQifSxfLksoXy5PLHtBOigpPT4hKGIoKSYmYigpPDMyMCksdGhlbjooKT0+Xy5LKHBXLHtHOmEuRyxTbTphLlNtLHBsYXllck92ZXJsYXlSZW5kZXJlcjphLnBsYXllck92ZXJsYXlSZW5kZXJlcn0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJwbGF5ZXItY29udHJvbHMtYm90dG9tIiwicGxheWVyLWNvbnRyb2xzLWJvdHRvbS1yaWdodCIpfSxfLksoXy5PLHtBOigpPT4hKGEuRygpLmJhPy5pcXx8YigpJiZiKCk8MjQwKSx0aGVuOigpPT5fLksoImRpdiIsCntjbGFzczoieXR3UGxheWVyQm90dG9tQ29udHJvbHNGdWxsc2NyZWVuQnV0dG9uV3JhcHBlciJ9LF8uSyhaVix7RzphLkd9KSl9KSkpfSwiQ2UiKTtFVy5pZG9tQ29tcGF0PSEwO3ZhciBGVz1fLkwoYT0+e3ZhciB7RzpiLHdhdGNoTmV4dFJlc3BvbnNlOmN9PV8uREMoYSx7d2F0Y2hOZXh0UmVzcG9uc2U6dm9pZCAwfSk7cmV0dXJuIF8uSyhfLk8se0E6KCk9PkhTKGIoKSxBUyhjKCkpKSx0aGVuOigpPT5fLksoInBsYXllci1lbmRzY3JlZW4iLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuSG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkNvbnRhaW5lciJ9LF8uSygiZGl2Iix7aWQ6InBsYXllci1lbmRzY3JlZW4iLGNsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5QbGF5ZXJFbmRzY3JlZW4iLCJkYXRhLWhhcy10aW1lci1jb3VudGRvd24iOiEwfSxfLksoaW5hLHtwcm9wczpiLHBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOigpPT5CUyhjKCkpfSksXy5LKGpuYSx7cHJvcHM6YixwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjooKT0+QlMoYygpKX0pLF8uSyhrbmEse3Byb3BzOmIscGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6KCk9PgpCUyhjKCkpfSkpKSl9KX0sIkRlIik7RlcuaWRvbUNvbXBhdD0hMDsKdmFyIGluYT1fLkwoYT0+Xy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuVG9wUGFuZWwifSxfLksobG5hLHsuLi5hfSksXy5LKG1uYSx7Li4uYX0pKSwiRWUiKSxsbmE9Xy5MKGE9Pnt2YXIge3Byb3BzOmIscGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Y309Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KSxbZCxlXT1fLiROLk9zLnNwbGl0KCJzZWNvbmRzX3BsYWNlaG9sZGVyIik7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkhlYWRlciIscm9sZToidGV4dCJ9LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmIoKS56ZiYmYygpfSwoKT0+Xy5LKF8uVix7dGV4dDooKT0+YygpPy5wYXVzZVRleHR9KSksXy5LKF8uREUsbnVsbCwoKT0+Xy5LKCJzcGFuIix7aWQ6InVwbmV4dC1pbi1tZXNzYWdlIn0sZCxfLksobm5hLHsuLi5hfSksZSkpKSl9LCJGZSIpLG5uYT1fLkwoYT0+e3ZhciBiPQphLnByb3BzO3JldHVybiBfLksoInNwYW4iLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duTnVtYmVyIiwiYXJpYS1oaWRkZW4iOiEwfSwoKT0+YigpLnlmKX0sIkdlIiksbW5hPV8uTChhPT57dmFyIHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjpifT1fLkRDKGEse3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOnZvaWQgMH0pO3JldHVybiBfLksoXy5PLHtBOigpPT5iKCk/LmNsb3NlQnV0dG9uLHRoZW46Yz0+Xy5LKF8uVyx7ZGF0YTpjfSx7dGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcjooe2RhdGE6ZH0pPT5fLksoXy5WUCx7ZGF0YTpkfSksYnV0dG9uUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8ucE8se2RhdGE6ZCx0ZzooKT0+e1FVKGEpfSxidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In19KX0pfSl9LCJIZSIpLGpuYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTsKcmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bkNvbnRhaW5lciJ9LF8uSyhfLm5ILHtjb21tYW5kOigpPT5iKCk/Lm5leHRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5DdWVkVmlkZW9Db250YWluZXIiLGFyaWFMYWJlbDooKT0+Xy5ESihiKCk/LnZpZGVvVGl0bGU/LmFjY2Vzc2liaWxpdHkpfSxfLksob25hLHsuLi5hfSksXy5LKHBuYSx7Li4uYX0pKSl9LCJJZSIpLG9uYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXkifSxfLksoXy5YUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YigpPy5iYWNrZ3JvdW5kLE1kOnZvaWQgMCxUYjohMSwKY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5UaHVtYm5haWxDb250YWluZXIifSksXy5LKF8uVyx7ZGF0YTooKT0+YigpPy50aHVtYm5haWxPdmVybGF5c30se3RodW1ibmFpbE92ZXJsYXlUaW1lU3RhdHVzUmVuZGVyZXI6KHtkYXRhOmN9KT0+Xy5LKF8uVlAse2RhdGE6YyxjbGFzc05hbWU6Inl0d1BsYXllckVuZHNjcmVlblRodW1ibmFpbE92ZXJsYXlzIixhcmlhSGlkZGVuOiEwfSl9KSl9LCJKZSIpLHBuYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuVmlkZW9JbmZvIiwiYXJpYS1oaWRkZW4iOiEwfSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxlIn0sXy5LKF8uVix7dGV4dDooKT0+YigpPy52aWRlb1RpdGxlfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlblZpZGVvQXV0aG9yIn0sCl8uSyhfLlYse3RleHQ6KCk9PmIoKT8uYnlsaW5lLG1hOiEwfSkpKX0sIktlIiksa25hPV8uTChhPT57dmFyIHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjpifT1fLkRDKGEse3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOnZvaWQgMH0pLGM9e3N0eWxlOiJvdmVybGF5In07cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmIoKT8uY2FuY2VsQnV0dG9ufSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8ucE8se2RhdGE6ZCxjbGFzc05hbWU6Inl0d1BsYXllckVuZHNjcmVlbkFjdGlvbkJ1dHRvbiIsdGc6KCk9PntRVShhKX0sYnV0dG9uT3ZlcnJpZGVzOmN9KX0pLF8uSyhfLlcse2RhdGE6KCk9PmIoKT8ubmV4dEJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b24iLApidXR0b25PdmVycmlkZXM6Y30pfSkpfSwiTGUiKTt2YXIgR1c9Xy5MKGE9Pnt2YXIgYj1fLmtHKCRUKSxjPV8uUCgieXR3UGxheWVyTWlkZGxlQ29udHJvbHNIb3N0IiwicGxheWVyLWNvbnRyb2xzLW1pZGRsZSIseyJwcmV2ZW50LWNvbnRyb2xzLWNvbGxpc2lvbiI6KCk9Pnt2YXIgaD1iPy4oKTtpZighaD8uaXNSZWFkeT8uKCkpcmV0dXJuITE7aD1oPy5nZXRTaXplKCk/LmhlaWdodDtoPSEhaCYmaDwyNzU7dmFyIGs9YS5HKCkuYmE/LnZvbHVtZUNvbnRyb2xUeXBlPT09InZvbHVtZS1zbGlkZXIiO3JldHVybiBofHxrfX0pLGQ9KCk9Pnt2YXIgaD1hLkcoKTtyZXR1cm4gaC5wbGF5ZXJTdGF0ZT09PTN8fGgucGxheWVyU3RhdGU9PT0tMX0sZT0oKT0+e3ZhciBoPWEuRygpO3ZhciBrPWI/LigpO1hRKGspfHwhaz8uaXNSZWFkeT8uKCk/az0hMTpoPy5iYT8udm4/az0hMDooaD1rLmdldFZpZGVvRGF0YSgpLGs9IWguaXNMaXN0ZWR8fGgueXBjUHJldmlld3x8aC5pc0xpdmV8fHR5cGVvZiBrLmdldExvb3BSYW5nZT09PSJmdW5jdGlvbiImJgprLmdldExvb3BSYW5nZSgpPyEwOiExKTtyZXR1cm4ha30sZj1fLlAoInBsYXllci1jb250cm9scy1taWRkbGUtY29yZS1idXR0b25zIix7InNjcmVlbnJlYWRlci1zYWZlLWhpZGUtbWlkZGxlLWJ1dHRvbnMiOmR9KTtyZXR1cm4gXy5LKCJwbGF5ZXItbWlkZGxlLWNvbnRyb2xzIix7Y2xhc3M6Y30sXy5LKF8uTyx7QTpkLHRoZW46KCk9Pl8uSyhxbmEsbnVsbCl9KSxfLksoImRpdiIse2NsYXNzOmZ9LF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksocm5hLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSl9KSxfLksoWFYse0ZkOi0xLEc6YS5HLGNsYXNzTmFtZToieXR3UGxheWVyTWlkZGxlQ29udHJvbHNBMTF5U2Vla0J1dHRvbiJ9KSxfLksoXy5PLHtBOigpPT57dmFyIGg9YS5HKCk7cmV0dXJuIXVTKGgpfSx0aGVuOigpPT5fLksoJFYse0c6YS5HfSksVzooKT0+Xy5LKGFXLHtHOmEuR30pfSksXy5LKFhWLHtGZDoxLEc6YS5HLGNsYXNzTmFtZToieXR3UGxheWVyTWlkZGxlQ29udHJvbHNBMTF5U2Vla0J1dHRvbiJ9KSwKXy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyhzbmEse0c6YS5HLHdhdGNoTmV4dFJlc3BvbnNlOmEud2F0Y2hOZXh0UmVzcG9uc2V9KX0pKSl9LCJNZSIpO0dXLmlkb21Db21wYXQ9ITA7CnZhciBxbmE9Xy5MKCgpPT5fLksoImRpdiIse2NsYXNzOiJwbGF5ZXItY29udHJvbHMtc3Bpbm5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6InNwaW5uZXIifSkpLCJOZSIpLHJuYT1fLkwoYT0+e3ZhciBiPV8ua0coJFQpLGM9KCk9PiFhLkcoKS5iYT8udm47cmV0dXJuIF8uSyhZVix7bmFtZToiUExBWUVSX1BSRVZJT1VTIixhcmlhTGFiZWw6Xy4kTi5NdCxhcmlhRGlzYWJsZWQ6YyxjbGFzc05hbWU6Xy5QKCJwbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24iLHsiaWNvbi1kaXNhYmxlIjpjfSksVWQ6MzY4NDAsY29udGVudDooKT0+Xy5LKCJkaXYiLHtjbGFzczoicGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtdmlzaWJsZS1hcmVhIn0sXy5LKF8uTUQse2ljb246IlBMQVlFUl9QUkVWSU9VUyJ9KSksb25jbGljazooKT0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZC5yYyYmZT8udW5NdXRlKCk7dmFyIGY9YS53YXRjaE5leHRSZXNwb25zZT8uKCksaD1BUyhmKTsKaWYoWFEoZSkmJmYmJmgpe2lmKGQ9UlUoaCkuVWEpXy4kRChkKSxfLkFKKGQse30sITEpfWVsc2UgZj1hLkcoKS5iYT8udm4scGphKGMoKSxlLGYpLGQuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCl9fSl9LCJPZSIpLHNuYT1fLkwoYT0+e3ZhciBiPV8ua0coJFQpLGM9KCk9Pnt2YXIgZD1iPy4oKTtpZighZD8uaXNSZWFkeT8uKCkpcmV0dXJuITA7dmFyIGU9ZD8uZ2V0UGxheWxpc3QoKTtkPWQ/LmdldFBsYXlsaXN0SW5kZXgoKTt2YXIgZj0hMTtlJiZkIT09dm9pZCAwJiYoZj1kPj1lLmxlbmd0aC0xKTtyZXR1cm4gZn07cmV0dXJuIF8uSyhZVix7bmFtZToiUExBWUVSX05FWFQiLGFyaWFMYWJlbDpfLiROLkt0LGFyaWFEaXNhYmxlZDpjLFVkOjM2ODQxLGNvbnRlbnQ6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSJ9LF8uSyhfLk1ELHtpY29uOiJQTEFZRVJfTkVYVCJ9KSksY2xhc3NOYW1lOl8uUCgicGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIiwKeyJpY29uLWRpc2FibGUiOmN9KSxvbmNsaWNrOigpPT57dmFyIGQ9YS5HKCksZT1iPy4oKTtkLnJjJiZlPy51bk11dGUoKTt2YXIgZj1hLndhdGNoTmV4dFJlc3BvbnNlPy4oKSxoPUFTKGYpO2lmKFhRKGUpJiZmJiZoKXtpZihkPVJVKGgpLm5leHQpXy4kRChkKSxfLkFKKGQse30sITEpfWVsc2UgYygpfHwoZT8ubmV4dFZpZGVvKCksZC5iYT8udWomJl8uRE8oXy5oeCgpLDI3MjQwKSl9fSl9LCJQZSIpO3ZhciBIVz1fLkwoKHt2aWRlb0RldGFpbHM6YSxHOmJ9KT0+e2Z1bmN0aW9uIGMoVCl7QygpO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZChUKXtHKCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBlKFQpe0MoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGYoVCl7RT8udmFsdWU/LmNvbnRhaW5zKFQudGFyZ2V0KXx8RygpO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gaChUKXtULnByZXZlbnREZWZhdWx0KCk7WFMoMjM4NTEpO3ZhciBiYT1TVShiLEQpO2lmKGJhKXt2YXIgYWE9YigpPy5IPy5nZXRDdXJyZW50VGltZSgpO18uQUooYmEse3BhcmFtczp7dGltZXN0YW1wOmFhP01hdGguZmxvb3IoYWEpLnRvU3RyaW5nKCk6dm9pZCAwfX0sITEse2V2ZW50OlR9KX1ULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGsoVCl7VShUKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGwoVCl7VC5wcmV2ZW50RGVmYXVsdCgpO3ooKXx8RigpJiZGKCk8MzIwPwpVKFQpOkMoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIG0oVCl7VC5wcmV2ZW50RGVmYXVsdCgpO0coMjUwMCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBuKFQpe0coMjUwMCk7VC5zdG9wUHJvcGFnYXRpb24oKX12YXIgW3Ascl09Xy5KKCExLHZvaWQgMCwiaVpNUW1mIiksW3Qsdl09Xy5KKCExLHZvaWQgMCwiQ2hoSDBiIiksej10LEU9Xy52RSgiZGl2IiksQSxGPSgpPT5iKCkuSD8uZ2V0U2l6ZT8uKCk/LndpZHRoLEM9KCk9PntGKCkmJkYoKTwzMjB8fChyKCEwKSxBJiZjbGVhclRpbWVvdXQoQSkseigpfHwoYlQoKSx2KCEwKSkpfSxHPShUPTUwMCk9PntGKCkmJkYoKTwzMjB8fChyKCExKSxBPXNldFRpbWVvdXQoKCk9PnshcCgpJiZ6KCkmJih2KCExKSxjVChiKCkse0ljOiEwfSkpfSxUKSl9LEQ9KCk9Pl8uQihhPy4oKS5jb2xsYXBzZWRSZW5kZXJlcixtVik/LnRpdGxlLEg9KCk9PmE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCxSPSgpPT5hPy4oKS5jaGFubmVsVGh1bWJuYWlsLApNPSgpPT5fLkIoYT8uKCkuZXhwYW5kZWRSZW5kZXJlcixuVik/LnRpdGxlPz8oXy54KCJlbWJlZHNfdmlkX2RldGFpbHNfZmFsbGJhY2tfY2hhbm5lbF9uYW1lX2tzIik/dm9pZCAwOl8uQihhPy4oKS5jb2xsYXBzZWRSZW5kZXJlcixtVik/LnN1YnRpdGxlKSxTPSgpPT5fLkIoYT8uKCkuZXhwYW5kZWRSZW5kZXJlcixuVik/LnN1YnRpdGxlLFk9KCk9Pl8uQihhPy4oKS5leHBhbmRlZFJlbmRlcmVyLG5WKT8uc3Vic2NyaWJlQnV0dG9uLHBhPV8uTigoKT0+Xy5CKFNVKGIsRCksXy5WRCk/LnVybCx2b2lkIDAsInlUSE5qIiksb2E9Xy5OKCgpPT5fLkIoYT8uKCkuY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50LF8uVkQpPy51cmwsdm9pZCAwLCJwd2wzSWMiKSxVPVQ9PntULnByZXZlbnREZWZhdWx0KCk7aWYoYT8uKCkuY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50JiZhPy4oKSl7dmFyIGJhPWE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludDtYUygzNjkyNSk7Xy5BSihiYSx7fSwhMSwKe2V2ZW50OlR9KX19LGhhPV8uUCgieXRtVmlkZW9JbmZvVmlkZW9UaXRsZUNvbnRhaW5lciIse3l0bVZpZGVvSW5mb0xvZ29FbmFibGVkOigpPT4hIWE/LigpLmNoYW5uZWxUaHVtYm5haWx9KSxtYT1fLlAoInl0bVZpZGVvSW5mb092ZXJsYXkiLHt5dG1WaWRlb0luZm9FeHBhbmRlZDooKT0+eigpfSksdGE9KCk9PiEhXy5CKGE/LigpLmV4cGFuZGVkUmVuZGVyZXIsblYpPy5zdWJzY3JpYmVCdXR0b24mJiFiKCkuYmE/Lm9oO3JldHVybiBfLksoImVtYmVkZGVkLXBsYXllci12aWRlby1kZXRhaWxzIix7Y2xhc3M6Inl0bVZpZGVvSW5mb0hvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0luZm9WaWRlb0RldGFpbHNDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOmhhfSxfLksoXy5PLHtBOkQsdGhlbjooKT0+Xy5LKF8uTyx7QTpwYSx0aGVuOigpPT5fLksoImEiLHsib246Y2xpY2siOmgsY2xhc3M6Inl0bVZpZGVvSW5mb1ZpZGVvVGl0bGUiLGVsOl8uckYoVD0+e1dTKFQsCjIzODUxKX0pLGhyZWY6cGF9LF8uSyhfLlYse3RleHQ6RCxjbGFzc05hbWU6Xy5QKCJ5dG1WaWRlb0luZm9MaW5rIiksdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpLFc6KCk9Pl8uSygic3BhbiIse2NsYXNzOiJ5dG1WaWRlb0luZm9WaWRlb1RpdGxlIn0sXy5LKF8uVix7dGV4dDpELHViOiEwLG5vV3JhcDohMCxtYTohMH0pKX0pfSksXy5LKF8uTyx7QTpfLngoImVtYmVkc192aWRfZGV0YWlsc19mYWxsYmFja19jaGFubmVsX25hbWVfa3MiKT9IOk0sdGhlbjooKT0+Xy5LKF8uTyx7QTpvYSx0aGVuOigpPT5fLksoImEiLHsib246Y2xpY2siOmssY2xhc3M6Inl0bVZpZGVvSW5mb0NoYW5uZWxUaXRsZSIsaHJlZjpvYX0sXy5LKF8uVix7dGV4dDpNLGNsYXNzTmFtZTpfLlAoInl0bVZpZGVvSW5mb0xpbmsiKSx5YzohMCx1YjohMCxub1dyYXA6ITAsbWE6ITB9KSksVzooKT0+Xy5LKCJzcGFuIix7Y2xhc3M6Inl0bVZpZGVvSW5mb0NoYW5uZWxUaXRsZSJ9LF8uSyhfLlYse3RleHQ6TSx5YzohMCwKdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpfSl9KSksXy5LKF8uTyx7QTpSLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bVZpZGVvSW5mb0NoYW5uZWxDb250YWluZXIiLGVsOkUsIm9uOmZvY3VzaW4iOmUsIm9uOmZvY3Vzb3V0IjpmLCJvbjptb3VzZW92ZXIiOmMsIm9uOm1vdXNlb3V0IjpkfSxfLksoImJ1dHRvbiIseyJvbjp0b3VjaHN0YXJ0IjpsLCJvbjp0b3VjaGVuZCI6bSwib246Y2xpY2siOmssY2xhc3M6Xy5QKCJ5dG1WaWRlb0luZm9MaW5rIiwieXRtVmlkZW9JbmZvQ2hhbm5lbEF2YXRhciIpLGVsOl8uckYoVD0+e1dTKFQsMzY5MjUpfSl9LF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOlIsY2xhc3NOYW1lOiJ5dG1WaWRlb0luZm9DaGFubmVsTG9nbyIsYWx0OiJ0aHVtYm5haWwtaW1hZ2UifSkpLF8uSygiZGl2Iix7Y2xhc3M6bWEsIm9uOnRvdWNoc3RhcnQiOkMsIm9uOnRvdWNoZW5kIjpufSxfLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsSW5mbyIsCnJvbGU6InRleHQifSxfLksoXy5WLHt0ZXh0Ok0sY2xhc3NOYW1lOiJ5dG1WaWRlb0luZm9GbHlvdXRDaGFubmVsVGl0bGUiLHljOiEwLHViOiEwLG5vV3JhcDohMCxtYTohMH0pLF8uSyhfLlYse3RleHQ6UyxjbGFzc05hbWU6Inl0bVZpZGVvSW5mb0ZseW91dENoYW5uZWxTdWJ0aXRsZSIseWM6ITAsdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpLF8uSyhfLk8se0E6dGEsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9JbmZvU3Vic2NyaWJlQnV0dG9uIn0sXy5LKF8uVyx7ZGF0YTpZfSx7c3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI6Zld9KSl9KSkpfSkpKX0sIlFlIik7SFcuaWRvbUNvbXBhdD0hMDt2YXIgVFU9Xy4kTi5BdCxPbGE9Xy4kTi5ndSx0bmE9Xy5MKCh7UXk6YSxvbkNsaWNrOmIsSm46YyxCczpkfSk9Pnt2YXIgZT1fLnVFKCJidXR0b24iLGg9PntXUyhoLDI4NjYyKX0pLGY9KCk9PlVVKGEoKSxjPy4oKSxkPy4oKSkuYXJpYUxhYmVsO3JldHVybiBfLksoInl0bS1tdXRlLWJ1dHRvbiIse2NsYXNzOiJ5dG1NdXRlQnV0dG9uSG9zdCJ9LF8uSygiYnV0dG9uIix7ZWw6ZSxjbGFzczoieXRtTXV0ZUJ1dHRvbkJ1dHRvbiIsdGl0bGU6ZiwiYXJpYS1sYWJlbCI6Ziwib246Y2xpY2siOmZ1bmN0aW9uKGgpe1hTKDI4NjYyKTtiPy4oaCk7aC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSygic3BhbiIsbnVsbCxfLksoXy5NRCx7aWNvbjooKT0+VVUoYSgpLGM/LigpLGQ/LigpKS5pY29uTmFtZX0pKSkpfSwiUmUiKTt2YXIgSVc9Xy5MKCh7SEI6YSxXcTpiLEpuOmMsQnM6ZCxjbGFzc05hbWU6ZX0pPT5fLksoInl0LW11dGUtdG9nZ2xlLWJ1dHRvbiIse2NsYXNzOmV9LF8uSyh0bmEse1F5OigpPT57dmFyIGY9YSgpO3JldHVybiBmLnJjfHxmLnZvbHVtZT09PTA/MDpmLnZvbHVtZT41MD8xOjJ9LG9uQ2xpY2s6Zj0+e3ZhciBoPWEoKS5IO2gmJihoLmlzTXV0ZWQoKT9oLnVuTXV0ZSgpOmgubXV0ZSghMSkpO2I/LihmKX0sSm46KCk9PiEhYz8uKCksQnM6KCk9PiEhZD8uKCl9KSksIlNlIik7SVcuaWRvbUNvbXBhdD0hMDt2YXIgVlU7dmFyIHVuYT1fLkwoKHtlbmFibGVkOmEsYXJpYUxhYmVsOmIsb25DbGljazpjfSk9Pl8uSygiYnV0dG9uIix7ImFyaWEtbGFiZWwiOmIsImFyaWEtcHJlc3NlZCI6YSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2M/LihkKTtkLnN0b3BQcm9wYWdhdGlvbigpfSxjbGFzczoieXR3QXV0b25hdlRvZ2dsZUJ1dHRvbkhvc3QifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpPyJBVVRPTkFWX09OX1RPR0dMRV9TUEFOTkVSIjoiQVVUT05BVl9PRkZfVE9HR0xFX1NQQU5ORVIiLGNsYXNzTmFtZTooKT0+YSgpPyJ5dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PbiI6Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25TcGFubmVySWNvbk9mZiJ9KSxfLksoXy5NRCx7aWNvbjooKT0+YSgpPyJQTEFZX0NJUkNMRV9GSUxMRUQiOiJQQVVTRV9DSVJDTEVfRklMTEVEIixjbGFzc05hbWU6KCk9PmEoKT8ieXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29uIjoieXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBhdXNlSWNvbiJ9KSksCiJUZSIpO3ZhciBKVz1fLkwoKHtHOmEsQ3U6Yn0pPT57Xy5DUShiLGU9PntlJiZlLmVuYWJsZWQhPT12b2lkIDAmJmUuZW5hYmxlZCE9PWEoKS5hdXRvbmF2RW5hYmxlZCYmWFUoYSgpLGUuZW5hYmxlZCwhMSl9KTt2YXIgYz1fLk4oKCk9PmEoKS5hdXRvbmF2RW5hYmxlZD9fLkRKKGIoKS5lbmFibGVkQWNjZXNzaWJpbGl0eURhdGEpOl8uREooYigpLmRpc2FibGVkQWNjZXNzaWJpbGl0eURhdGEpLHZvaWQgMCwiUTlndnpjIiksZD1fLk4oKCk9PmEoKS5hdXRvbmF2RW5hYmxlZCx2b2lkIDAsIklRQ1prZiIpO3JldHVybiBfLksoInBsYXllci1hdXRvbmF2LXRvZ2dsZSIse2NsYXNzOiJ5dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdCJ9LF8uSyh1bmEse2VuYWJsZWQ6ZCxhcmlhTGFiZWw6YyxvbkNsaWNrOmU9Pnt2YXIgZj1hKCksaD1mLmF1dG9uYXZFbmFibGVkO1hVKGYsIWYuYXV0b25hdkVuYWJsZWQsITApO3ZhciBrPWIoKTshaCYmay5vbkVuYWJsZWRDb21tYW5kP18uQUooay5vbkVuYWJsZWRDb21tYW5kLAprLCEwKTpoJiZrLm9uRGlzYWJsZWRDb21tYW5kJiZfLkFKKGsub25EaXNhYmxlZENvbW1hbmQsaywhMCk7UGxhKGYsYigpKTt1UyhmKXx8Y1QoZix7SWM6ITB9KTtlLnN0b3BQcm9wYWdhdGlvbigpfX0pKX0sIlVlIik7SlcuaWRvbUNvbXBhdD0hMDt2YXIgTFc9Xy5MKGE9Pnt2YXIgYj0oKT0+TlMoYS5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LigpLGEudGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy4oKSksYz0oKT0+YigpJiYhYS5HKCkuYmE/LmhpZGVWaWRlb0luZm87cmV0dXJuIF8uSygicGxheWVyLXRvcC1jb250cm9scyIse2NsYXNzOiJ5dHdQbGF5ZXJUb3BDb250cm9sc0hvc3QifSxfLksoImRpdiIse2NsYXNzOl8uUCgicGxheWVyLWNvbnRyb2xzLXRvcCIse3l0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzOmN9KSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2Quc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKEhXLHt2aWRlb0RldGFpbHM6YixHOmEuR30pfSksXy5LKF8uTyx7QTooKT0+IWEuRygpLmJhPy5uaCYmISRTKGEuRygpKSx0aGVuOigpPT5fLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclRvcENvbnRyb2xzUGxheWVyQ29udHJvbHNUb3BSaWdodCIsCiJwbGF5ZXItY29udHJvbHMtdG9wLXJpZ2h0Iix7eXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHNQbGF5ZXJDb250cm9sc1RvcFJpZ2h0OmN9KX0sXy5LKEtXLHtHOmEuRyxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KSksVzooKT0+Xy5LKEtXLHtHOmEuRyxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KX0pfSkpKX0sIlZlIik7TFcuaWRvbUNvbXBhdD0hMDsKdmFyIHZuYT0oYSxiKT0+Xy5LKGRXLHtnZjphLFZyOiEwLFdxOmJ9KSxLVz1fLkwoKHtHOmEscGxheWVyT3ZlcmxheVJlbmRlcmVyOmJ9KT0+e3ZhciBjPSgpPT5hKCkuSDtyZXR1cm4gXy5LKF8uSUIsbnVsbCxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuYmE/LnZvbHVtZUNvbnRyb2xUeXBlPT09InZvbHVtZS1zbGlkZXIifSwoKT0+Xy5LKEhWLHtvcmllbnRhdGlvbjoidmVydGljYWxfZG93biIsYmo6ITAsSDpjfSkpLF8uSyhfLkNFLHt3aGVuOigpPT57dmFyIGQ9YSgpLkg/LmdldFNpemUoKSxlPWQ/LndpZHRoJiZkLndpZHRoPj0yNTA7ZD1kPy5oZWlnaHQmJmQuaGVpZ2h0Pj0yMDA7cmV0dXJuIGEoKS5iYT8udm9sdW1lQ29udHJvbFR5cGU9PT0ibXV0ZS1idXR0b24iJiZlJiZkfX0sKCk9Pl8uSyhJVyx7SEI6YSxKbjohMH0pKSxfLksoXy5ERSxudWxsLCgpPT5fLksoXy5JQixudWxsKSkpLF8uSyhfLk8se0E6KCk9PiEhelMoYj8uKCkpLHRoZW46KCk9Pl8uSyhKVywKe0c6YSxDdTooKT0+elMoYj8uKCkpfSl9KSx2bmEoYSxmdW5jdGlvbigpe2NUKGEoKSx7SWM6ITB9KX0pLF8uSyhfLk8se0E6KCk9Pnt2YXIgZD1hKCkuSD8uZ2V0U2l6ZSgpO2Q9ZD8ud2lkdGgmJmQud2lkdGg+PTMyMHx8IWEoKS5iYT8ub2g7cmV0dXJuISFhKCkudGEuU2omJmR9LHRoZW46KCk9Pl8uSyhiVyx7RzphfSl9KSl9LCJXZSIpO0tXLmlkb21Db21wYXQ9ITA7dmFyIE1XPV8uTChhPT57ZnVuY3Rpb24gYihUKXtULnBvaW50ZXJUeXBlPT09Im1vdXNlIiYmKGwoKS5TKHtlYTohMH0pLGNUKGwoKSx7SWM6ITB9KSl9ZnVuY3Rpb24gYyhUKXtLVShULGwoKSl9ZnVuY3Rpb24gZChUKXt2YXIgYmE9bCgpO2lmKHhVKFQpKXtULnN0b3BQcm9wYWdhdGlvbigpO3ZhciBhYT1ULnRvdWNoZXNbMF07SFU9YWEucGFnZVg7elU9YWEucGFnZVk7Xy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmVC50b3VjaGVzLmxlbmd0aD09PTImJihCVT13VShUKSk7SFQoYmEsVC50b3VjaGVzLmxlbmd0aCk7YmEuYmE/Lk1pfHxiYS5OYXx8YmEuV2R8fGJhLnNifHxfLlRFKCl8fChFVT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW92aWVfcGxheWVyIikpJiZPYmplY3QuYXNzaWduKEVVLnN0eWxlLHt0cmFuc2l0aW9uOiIiLHRyYW5zZm9ybU9yaWdpbjoiIn0pfX1mdW5jdGlvbiBlKFQpe3ZhciBiYT1sKCk7aWYoeFUoVCkpe1Quc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGFhPQpULnRvdWNoZXNbMF07QVU9ITA7R1U9YWEucGFnZVg7eVU9YWEucGFnZVk7YWE9e2xrOkdVLUhVLE9kOnlVLXpVfTthYS5PZD09PTAmJmFhLmxrPT09MHx8Xy5NRSgpJiYhYmEuaXNGdWxsc2NyZWVufHxiYS5iYT8uTWl8fFQucHJldmVudERlZmF1bHQoKTtJVChULGFhLGJhKTtfLngoIndlYl9lbmFibGVfc21hcnRfem9vbSIpJiZULnRvdWNoZXMubGVuZ3RoPT09MiYmQlUhPT0wJiZNYXRoLmFicyh3VShUKS1CVSk+MTAmJkRVKCEwKTshYmEuYmE/Lk1pJiYoYmEuTmF8fGJhLldkfHxiYS5zYnx8Xy5URSgpfHxfLk1FKCkmJiFiYS5pc0Z1bGxzY3JlZW58fChiYS5TKHtlYTohMX0pLFQ9YWEuT2QsYmEuaXNGdWxsc2NyZWVuJiYoVCo9LTEpLCFiYS5pc0Z1bGxzY3JlZW4mJlQ+MCYmKFQ9MCksVDwtMTAwJiYoVD0tMTAwKSxiYS5pc0Z1bGxzY3JlZW4/RVUmJk9iamVjdC5hc3NpZ24oRVUuc3R5bGUse3RyYW5zZm9ybTpgc2NhbGUoJHsxLS4wNSpNYXRoLm1pbig0Kk1hdGguYWJzKFQvLTEwMCksCjEpfSkgdHJhbnNsYXRlWSgkey1UfXB4KWB9KTpFVSYmT2JqZWN0LmFzc2lnbihFVS5zdHlsZSx7dHJhbnNmb3JtOmBzY2FsZSgkezErLjI1Kk1hdGguYWJzKFQvLTEwMCl9KWAsdHJhbnNmb3JtT3JpZ2luOiJib3R0b20gY2VudGVyIn0pKSwhYmEuaXNGdWxsc2NyZWVufHxiYS5pc0RyYWdnaW5nfHxiYS5zYnx8IV8uTUUoKSYmIV8uVEUoKT8wOmJhLldkfHwoYmEuTmE/RFEoYWEuT2QsMCwyMTUpOkRRKGFhLk9kLC0yMTUsMCkpIT09MCkmJihiVCgpLGJhLlMoe1dkOiEwLGVhOiEwLEpmOmJhLk5hP0RRKGFhLk9kLDAsMjE1KTpEUShhYS5PZCwtMjE1LDApfSkpfX1mdW5jdGlvbiBmKFQpe0lVKFQsbCgpLG0oKSl9ZnVuY3Rpb24gaChUKXtJVShULGwoKSxtKCkpfWZ1bmN0aW9uIGsoVCl7VC5zdG9wUHJvcGFnYXRpb24oKX12YXIge0c6bCxkYXRhOm19PV8uREMoYSx7ZGF0YTp2b2lkIDB9KSxuPV8uTigoKT0+bCgpLkgsdm9pZCAwLCJaN0g5cmUiKTthPV8uTigoKT0+bCgpLmVhLHZvaWQgMCwKImRyaHE3ZCIpO3ZhciBwPV8uTigoKT0+bCgpLnNiLHZvaWQgMCwidnN0WUVlIikscj1fLk4oKCk9PmwoKS5iYT8uRWUsdm9pZCAwLCJMYkZ3SmIiKSx0PV8uTigoKT0+bCgpLktiPihfLngoIm13ZWJfcGxheWVyX3RhcHBpbmdfdGhyZXNob2xkX2tpbGxzd2l0Y2giKT84OjApLHZvaWQgMCwiZTRqcU1kIiksdj1fLk4oKCk9PmwoKS5KZCE9PTAsdm9pZCAwLCJwcWdENWUiKSx6PV8uTigoKT0+bCgpLmJhPy5aaCx2b2lkIDAsInRtUWRnIiksRT0oKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXMsQT1fLk4oKCk9PiRTKGwoKSxtKCk/LnBsYXllclJlc3BvbnNlPy5wbGF5YWJpbGl0eVN0YXR1cyksdm9pZCAwLCJYYTlxeGYiKSxGPV8uTigoKT0+IWwoKS5iYT8uenIsdm9pZCAwLCJtRk9sdCIpLEM9Xy5OKCgpPT57dmFyIFQ9bCgpO3JldHVybiBfLngoIm13ZWJfcGNfbGl2ZV9kdnJfa3MiKT8hMTpULmlzTGl2ZSYmIVQuaXNMaXZlRHZyRW5hYmxlZH0sdm9pZCAwLAoiRDFpNjciKSxHPV8uTigoKT0+e3ZhciBUPUMoKTtyZXR1cm4gclUoKSYmIVR9LHZvaWQgMCwidlF6aW1lIiksRD1fLk4oKCk9PnQoKSYmdigpLHZvaWQgMCwiQmVHcDciKSxIPV8uUCgibmV3LWNvbnRyb2xzIiwiYmlnYmFyIiwibWVkaXVtLW1vZGlmaWNhdGlvbiIsImFuaW1hdGlvbi1lbmFibGVkIiwiZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMiLCJmcy13YXRjaC1zeXN0ZW0iLHtmYWRlaW46YSwiYmFja2dyb3VuZC1oaWRkZW4iOnAsImZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIjpyLCJlbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQiOl8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil9KSxSPSgpPT5tPy4oKT8ud2F0Y2hOZXh0UmVzcG9uc2UsTT0oKT0+bT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcixTPSgpPT5tKCk/LmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcixZPSgpPT4KR1MobT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcikscGE9KCk9Pm0oKT8uamI/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5kZWZhdWx0VGh1bWJuYWlsfHxtKCk/LnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LnRodW1ibmFpbCxvYT0oKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5hdXRvY3JvcENvbmZpZyxVPSgpPT5tKCk/LnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyJiZuKCksaGE9KCk9Pnt2YXIgVDtpZihUPVBTKG0oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLG0oKT8uamIpKXtUPWwoKTt2YXIgYmE9bigpLGFhPVBTKG0oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLG0oKT8uamIpO2lmKGFhJiZhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbCYmKGFhLmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsLnRpdGxlfHxhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbC5ib2R5VGV4dCkmJgpiYSYmYmEuZ2V0UGxheWVyU3RhdGVPYmplY3QmJmJhLmdldFBsYXllclNpemUmJiFfLkRJKGtqYSxhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbC5kaXNtaXNzU3RhdGVFbnRpdHlLZXkpKCk/LmlzRGlzbWlzc2VkKXthYT1iYS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpPy5pc0Vycm9yO2lmKGFhPSF1UyhUKSYmIWFhKWFhPWJhLmdldFBsYXllclNpemUoKSxiYT1hYS53aWR0aDwzNjAsYWE9YWEuaGVpZ2h0PDMyMCxhYT0hKChULnBsYXllclN0YXRlPT09LTF8fFQucGxheWVyU3RhdGU9PT01KSYmYmEmJmFhKTtUPWFhfWVsc2UgVD0hMX1yZXR1cm4gVH0sbWE9KCk9Pnt2YXIgVD1tKCk/LnBsYXllclJlc3BvbnNlO3JldHVybiBfLkIoVD8ub3ZlcmxheT8ucGxheWVyQ29udHJvbHNPdmVybGF5UmVuZGVyZXI/Lm11dGVkQXV0b3BsYXksb1YpfSx0YT0oKT0+bSgpPy5IPy5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5Py4oKTtyZXR1cm4gXy5LKCJ5dG0td2F0Y2gtcGxheWVyLWNvbnRyb2xzIiwKe2NsYXNzOiJ5dG1XYXRjaFBsYXllckNvbnRyb2xzSG9zdCJ9LF8uSyhfLk8se0E6KCk9Pnt2YXIgVD1sKCksYmE9bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXM7cmV0dXJuIF8ueCgibXdlYl9oaWRlX2NvbnRyb2xzX2Zvcl91bnBsYXlhYmxlX3ZpZGVvX2tzIil8fCFiYXx8TVIoYmEpfHxULmlzRnVsbHNjcmVlbj8oeVMoVCl8fFQucGxheWVyU3RhdGU9PT0tMXx8VC5wbGF5ZXJTdGF0ZT09PTV8fFQucmMmJiFULmJhPy5yQT8hMTp1UyhUKT8hMDpULnBsYXllclN0YXRlPT09MXx8VC5wbGF5ZXJTdGF0ZT09PTN8fFQucGxheWVyU3RhdGU9PT0yKXx8VC5yYyYmdVMoVCl8fCRTKFQsYmEpOiExfSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6eix0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhHVix7RzpsLHRodW1ibmFpbERldGFpbHM6cGF9KSxfLksodVYse0c6bCxIOm4scGxheWFiaWxpdHlTdGF0dXM6RX0pKX0pLF8uSyhfLk8se0E6aGEsdGhlbjooKT0+Cl8uSyh2Vyx7ZGF0YTooKT0+UFMobSgpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsbSgpPy5qYikscHJvcHM6bH0pfSksXy5LKF8uTyx7QTp0YSx0aGVuOigpPT5fLksoTFYse0c6bCxwbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyOm1hfSl9KSxfLksoXy5PLHtBOigpPT4hdGEoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhXVix7RzpsfSksXy5LKF8uTyx7QTooKT0+Xy54KCJtd2ViX2JldHRlcl9jYXB0aW9uc19wbGFjZW1lbnQiKSx0aGVuOigpPT5fLksoImRpdiIse2lkOiJjYXB0aW9ucy1nYWxvcmUtY29udGFpbmVyIn0pfSksXy5LKCJkaXYiLHtpZDoicGxheWVyLWNvbnRyb2wtb3ZlcmxheSIsY2xhc3M6SCwib246Y2xpY2siOmMsIm9uOnBvaW50ZXJtb3ZlIjpiLCJvbjp0b3VjaHN0YXJ0IjpkLCJvbjp0b3VjaG1vdmUiOmUsIm9uOnRvdWNoZW5kIjpmLCJvbjp0b3VjaGNhbmNlbCI6aH0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInBsYXllci1jb250cm9scy1jb250ZW50IiwKeyJwb2ludGVyLWV2ZW50cy1vZmYiOkR9KX0sXy5LKCJkaXYiLHtjbGFzczoicGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQtY29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kIix7ImZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZCI6KCk9PklTKGwoKSl9KSwib246dG91Y2hzdGFydCI6ZCwib246dG91Y2htb3ZlIjplLCJvbjp0b3VjaGVuZCI6Ziwib246dG91Y2hjYW5jZWwiOmh9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1XYXRjaFBsYXllckNvbnRyb2xzQmFja2dyb3VuZEFjdGlvbkl0ZW1zIiwib246Y2xpY2siOmt9LF8uSyhfLk8se0E6KCk9Pnt2YXIgVDtpZihUPSFBKCkpVD1tKCk/LnBsYXllclJlc3BvbnNlPy5wYWlkQ29udGVudE92ZXJsYXk/LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyO3JldHVybiBUfSx0aGVuOigpPT5fLksoRFcse2RhdGE6KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LnBhaWRDb250ZW50T3ZlcmxheT8ucGFpZENvbnRlbnRPdmVybGF5UmVuZGVyZXJ9KX0pLApfLksoXy5PLHtBOlUsdGhlbjooKT0+Xy5LKGxXLHtlbmRzY3JlZW5SZW5kZXJlcjooKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8uZW5kc2NyZWVuPy5lbmRzY3JlZW5SZW5kZXJlcixHOmx9KX0pKSksXy5LKF8uTyx7QTooKT0+IUEoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6Ryx0aGVuOigpPT5fLksoclcse0c6bH0pfSksXy5LKEZWLHtHOmwscGxheWVyT3ZlcmxheVJlbmRlcmVyOk19KSxfLksoVlYse2dmOmwsSWI6ITF9KSl9KSxfLksoImRpdiIse3N0eWxlOllVKCgpPT5KUyhsKCksQVMobT8uKCk/LndhdGNoTmV4dFJlc3BvbnNlKSkpfSxfLksoTFcse0c6bCxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6TSx0aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI6U30pLF8uSyhfLk8se0E6KCk9PiFBKCksdGhlbjooKT0+Xy5LKEdXLHtHOmwsd2F0Y2hOZXh0UmVzcG9uc2U6Un0pfSkpLF8uSyhfLk8se0E6KCk9PiFBKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoImRpdiIsCntzdHlsZTpZVSgoKT0+e3ZhciBUPWwoKSxiYT1BUyhtPy4oKT8ud2F0Y2hOZXh0UmVzcG9uc2UpO3JldHVybiBIUyhULGJhKXx8VC5iYT8ubmg/ITE6VC5pc0xpdmV8fEpTKFQpfSl9LF8uSyhFVyx7RzpsLFNtOigpPT5DUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKSxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6TX0pKSxfLksoImRpdiIse3N0eWxlOllVKCgpPT57dmFyIFQ9bCgpO3JldHVybiBULmJhPy5uaD8hMTohSVMoVCl9KX0sXy5LKENWLHtMYjpsLGhmOlksY29uZmlnOigpPT4oe2NsYXNzTmFtZToid2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXIiLHBvc2l0aW9uOjAsSW46RigpLFJhOkVTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpLEtmOiExLGRpc2FibGVTY3J1YmJpbmc6QygpLG9uVG91Y2hNb3ZlOigpPT57dmFyIFQ9bCgpLGJhPUVTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpO2JhJiYoVD1sVChULGJhKSxtVChUKSl9LFlvOigpPT57YlQoKX0sRm46KCk9Pgp7Y1QobCgpLHtJYzohMH0pfSxwcm9ncmVzc0NvbG9yOl8ueCgiZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92MiIpP0NTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpPy5wcm9ncmVzc0NvbG9yOnZvaWQgMCxoZjpRbGEoR1MobT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcikpfSl9KSksXy5LKEZXLHtHOmwsd2F0Y2hOZXh0UmVzcG9uc2U6Un0pKX0pLF8uSyhDVyx7RzpsLHdhdGNoTmV4dFJlc3BvbnNlOlIsdGh1bWJuYWlsUHJldmlld1JlbmRlcmVyOlMsYXV0b2Nyb3BDb25maWc6b2F9KSkpKX0pKX0pKX0sIlhlIik7TVcuaWRvbUNvbXBhdD0hMDt2YXIgY1Y9Xy5MKGE9Pnt2YXIgYj1fLk4oKCk9PmEuZGF0YSgpLkgsdm9pZCAwLCJEdWZtTSIpLGM9Xy5OKCgpPT5uZXcgcVcoKCk9Pnt9LHt0YTphLmNvbnRleHQoKS50YSxUYzphLmNvbnRleHQoKS5UYyxHYzphLmNvbnRleHQoKS5HYyxiYTphLmNvbnRleHQoKS5iYX0se2F1dG9uYXZFbmFibGVkOmEuY29udGV4dCgpLnRhLmRlKCksZWE6UmxhKGIoKSl9LGIpLHZvaWQgMCwialB4OGRlIiksZD1bXTtfLm5FKCgpPT57YigpJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57WlUoZCk7dVcuZm9yRWFjaChlPT57ZC5wdXNoKGUucmVnaXN0ZXIoKCk9PmMoKS51ZCgpLCgpPT5hLmRhdGEoKSkpfSl9KX0sIkh1WU1KYiIpO18uWXUoKCk9PntNVSgoKT0+YygpLnVkKCkpO2JUKCk7YS5jb250ZXh0KCkudGEuZXhpdEZ1bGxzY3JlZW4/LigpO1pVKGQpfSk7cmV0dXJuIF8uSyhfLm5HLHtFZjpbXy5vRygkVCxiKV19LF8uSygieXRtLWN1c3RvbS1jb250cm9sIix7Y2xhc3M6Inl0bUN1c3RvbUNvbnRyb2xIb3N0In0sCl8uSyhNVyx7RzooKT0+KDAsYygpLkIpKCksZGF0YTphLmRhdGF9KSkpfSwiWmUiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy56Wj1mdW5jdGlvbihhKXtfLmJaKGEpO18uZFYoYSl9O18uenk9Xy56WjsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgicjc4RHJiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp9KS5jYWxsKHRoaXMsdGhpcy5kZWZhdWx0X2Jhc2UpOwovLyBHb29nbGUgSW5jLgo="}},"time_used":20,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.270Z","timestamp":1785129292270,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 3967\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:44 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:44 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 09 Apr 2026 01:12:55 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 403448\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":20284,"size_decoded":4819,"mime_type":"text/css; charset=UTF-8","magic":"ASCII text, with very long lines (20284), with no line terminators","md5":"fde4f72b90fe807270db3c332dd058df","sha1":"7ef4d70af01c38a7f80a7650be25f63aff4ba751","sha256":"ab31c9be358d2107fc1158434c7aeaaf15f82e3e405ed67ab236b5ac232ed159","sha512":"9bef39350af557afeb10cb71068426ab28befaf5295359954787be06a5ce0993d69e8f5018a5a17c44311d294dd1a87a6f82edd0f5743df0149b8e4e53061695","ssdeep":"192:nvqx/EhZINcrXsfg0SgG8CqA3uku9SJFzvQVMbnUIfIxIVVpTrecfzPtcmt4v78l:gMF8Sb3i0JFzourUqWMVpTrdfzPtcBG","tlshash":"c492872057aed01967efa82364d36dff71d444db90123eeaaf5a7352cd821f231ea214","first_seen":"2026-04-13T20:43:22.641436Z","last_seen":"2026-07-27T08:08:22.715626Z","times_seen":16983,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"time_used":68,"timings":{"blocked":-1,"dns":2,"connect":17,"send":0,"wait":17,"receive":0,"ssl":32},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"i.ytimg.com/vi_webp/dk9uNWPP7EA/hqdefault.webp","fqdn":"i.ytimg.com","domain":"ytimg.com","tld":"com"},"ip":{"addr":"142.250.178.118","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:54.334Z","timestamp":1785129294334,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"edgestatic.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:24 GMT","end":"Mon, 21 Sep 2026 08:37:23 GMT"},"fingerprint":{"sha1":"99:EB:44:FC:A9:EB:62:72:A5:7C:E5:77:BF:06:63:47:1B:54:C7:D7","sha256":"CD:4A:F6:7A:9F:60:AA:84:9F:37:94:1B:BE:E7:AB:41:46:38:9E:68:4A:4F:36:B3:D0:84:EC:FA:44:D7:A9:DD"}}},"request":{"raw":"GET /vi_webp/dk9uNWPP7EA/hqdefault.webp HTTP/1.1\r\nHost: i.ytimg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube-nocookie.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 7138\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 27 Jul 2026 03:48:51 GMT\r\nexpires: Mon, 27 Jul 2026 05:48:51 GMT\r\ncache-control: public, max-age=7200\r\nage: 5163\r\netag: \"0\"\r\ncontent-type: image/webp\r\nvary: Origin\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":7138,"size_decoded":7759,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image, VP8 encoding, 480x360, Scaling: [none]x[none], YUV color, decoders should clamp","md5":"604ef65e92e20f4bb6f8612abeef015d","sha1":"8f298705311deea21aef7c4a41165c80ce405fcb","sha256":"95f60dc94ad73f0a0d0a0cf5ce82c8b6ae82baf4e4a5f3247db4fed2b59d96af","sha512":"6054fb7af0eb9031d2a4f4b44e6d8de435725bd277aedc7e44dd26fd910ed8f4975a6e42b354a4dbc30a1620fe36bafce0cab73815b77bb1faa3cc35934a925c","ssdeep":"192:FdJwzcGpiDMd3pjReI7FL8H8hIcPp7ctlju8:FdJdDM7Y0R8cVtqu","tlshash":"62e19f0146a15d18f90391f8bf355f2ca9b06ca027df70474664e0d327ba96d2ad7bd0","first_seen":"2025-09-22T10:43:48.57878Z","last_seen":"2026-07-27T05:48:43.356279Z","times_seen":22,"resource_available":false,"data":"UklGRtobAABXRUJQVlA4IM4bAADw+gCdASrgAWgBPqlMoUqmJCOkq1Iq2MAVCWdu1Qz6xcBmP3BSceilNzjK1lwM7/1Ns4nz/DHKjeShnsydvLlrr7z/LHtW8JpRN6aGEsR6j3aqLBBdn8Xz7bQ631BLs/i+fbaHW+oJdn8Xz7bQ631BLs/i+MD73FKUPgCDtD3lwTiUzN9NUFKHsfLaTCk9wnyaqF5yKO7UFhJrpp7hPdNS93UY8uwLo6h2JOPLaswZy1OJWZ7dKCfbbVJT0qspyoeSY8qOEfr7cxBbcDWDeufGz/TmLKiNHvtpfI8tGpH/6ZnI5v22KjTf2lj/lTCaSHWjDV/rfXwO7OkzS7RiqVHzoKcEmKEAU4QPxp8cfdHWAE/84MnhmAKG2xvHbmzkDddvy12daZ4HLdwkBjS8megYe1Pt81aOh/bly463wWGUxXg9hMPQf+satJrMnw6yOtB5dAM/Yx/o7mZs8A0yk96jPYQ190daHII0GhKMAlJYypxV7THMkEVPDA2tAoPORvzGn9fiQSaQXk9WXPG51E3zt42DyCLbRDk7kfqjMfJtI6GTeJWku4Zv+mzlZmrj7FgpGnFIQVkEBPVhI9zszSo4O9V2gTit8ZtjVGYal+Kt76OZJF2tdB6Q+sYdZdjQ6MjWG9tJUao96Jp+kfPaBRVEqWizQdx3EDjfGhp24FYKk8He8UA3R8z4WtnbFOO7uRMu9uCiwhfFGiAS7ePRFNHqPkLcx+HjBZQvkiPizp4SzJi8rAQh/HLipptWDHd2v+KMDZiDdQnNylrWIgEPJunXJ1M5ktuVlE8eQ4d6Ko69itkgbI2Xbwb7OkiCAtboCgZ1DV8odMRxV+ywoVpM/H7kKGOjh+nbcz5clQQEVSKmo0EndeT/KULbaHW7PWDImYv/XrMPQNrMS+iFMX2i6SlRfBaRwZdCR/zKi3JTMGVhxNMWfVRhuiZkZ3r2ZnMeDFT/qskx9LV6GBei3mS37OdPcTyRPW48HuFz9ClVzHHVYKlBJ5f31bhxNtQ/QP/9+UwoxR4hlK52c3b6+pnBFct71xt1stmupbJthnS2CZhvltT5uJ00GlOuaEnz154+DOsD8cZ9XEQEEcQ19/xzy/fGzv59LYCaAVY6F/Xp/01YZtZPbpxJ6YOYqhdd/DIrCU5zc+S0znJlYGcXuY0451Ir1tplW+hObe1SRNZQauGmQslxj2LUpsXF5s9CWpO3bUpakjKWGEbz5AYeMD5AEmbZSK/apPGBs/nUjFMIVCVk7Atc4jx3d92NlehNO/9Qe6aITofO2S59pXx+KqR/HpbXe9ZiyNhXSxqyHelL1fucRjjfbZQ3DDqOKOaWWKgWPVW6B4vuYor87belaaUInRkQPltcTZ88B8RJNZARztKd4ZFX5Dt7Z3ukaOJ9CLXZ7P1lPPZlFnWe8vzX7hmNzZHEY0+ztzV4qoakcNC0WabJA1y09xL3ZRp27P0X7UKgwehoddikv6qIEye3xtIa+t3Q1LiMenJpj9vHnMJhMpuuNrlqIa0IK67vUgrw98mJ6R5+dsweSW1Aexx/RAhiKOwgvFR9Zf36PjZ+h4lVY5iswry7XKsILdl5GRdZtDifh7B0kHVrRb/DaqLi7w8J0QXckhT6kb/Ns0H2KIXcp7aZsxqgAjAMakF4ZmwrDf02S2oF4bStATZdQsUdt8SxNMA23DDpmPIMWRKFR+kOs5zrIIZIC9j0PJZ3PsSGjDN6Lcawzz2/7uWdHHmXowAVH7MoRWC8SIft6F4qfW/j1QKellHvvSrc77Xks9v6AgMR10mNbVVlhPJaAogLT9XlA4mkbH5LjE4wSHS5R85/+m57LNrg40eEE1gHKRiDjvnAQ+Sb8QE/72+i7ZW1sovgC5AeEvuGdbONU/HHzTP4w0lYd2rGosWDFvH9Hswf8jYkL2t/d21hah/FjeJ9TelEgTn+nieRw+AFIlK1ieBfhtQS9iybi++/GkDdhfiC/KtJB11Own4zlDk6HK0q7cIpBljd2O8W+sDTfz5qq4kQ7L7xOYxB/5cM8sfdlQxjZc3Ee6mxaYGEohpgqNg/fszf8o4SGyDnlpgmB8fhEVvUJyPgBbmWDc/2zNfi2quffFEPKS41qe2066314R17FfIBxNVAxrxJNbWTMPP7KDara26j769rrnKYt9YA5CUQbkfJB/u8RqtDcS8ezWP1MRJcBy11XUOANbLvmkCsH5h9Ahs0N2JlxiPQ4ghQbqYtHPZSgEl4Q+0ElpMT25C96I5vjJVg0Ls01JE+ox21OuE957IsjM0O1BWenbLG9nS3bmmMdVv4ULUY5XttdaxndcVkarO2MmG4c6hF9auAJiyIyc/IWViNFSTOxfRDj+00hH/n1KP9sq3EZWy+rhvnuB62ndzNJgS5oJf+dFMMg661B9KBFGbFLx8hEs6B8dusW+AZVVNbjD4e+BzX2nO/ezV3/RtqdAkkoN/noiOBbpttbPQgPvwIXzi5frg9iKW1OPa66HMnRFTk5v4zmS0pfIa9Ua+4gcK9+TA1OKyyeRbFW2ZsidRWy3w6a5MzNQ9jlmA+SqjrjX3oyRfEJArSFUsynDpb96ejhGT4iw5tj8jy/To7LunfQ+8R7hnz4KIxKShZ7vQ93oWXcBTptPz7ccKut9QS7P4vn22h1vqCXZ/F8+20Ot9QS7P4vn22h1vqCXZ/FaAA/v31yAAAAAAAAAAAAErkpnN7fTzVUBjhkSLnwbUL+3YF+fS4ZxPuTY7fSlYFZNuVdXjg00VfUH6wEtCWbBTXl63ke+xsuF2qIlSHvCVMaoMl5CB3CsIIS9LS+mtPj+J+J5ydC4gtMcpFBw4DB4Tqjq6bzlVXyKdtHZ+INSSpkpXy49Q5E6jkrejwfk6mCBCNwXG1mXLkEEDMrsoddDGxxVhTxMsQoKJ+Tly0KmlbqLtLsg1awyjRV3aaAHei1VcS/nsQzOSIFXatcmZp6zmxtz8Q2GgNYA294FQI2Av8NSt4XhoW+Wv2C6Caan4fFbgKu02nH2wvFHtclJc9E9Aca9pZtMsQrX92tFIVzFB0cYQwEdqFCuz253P3a8m6LJQQGM1XGdQmz+6bKphdxg0uwt4MwJD2M4Ti+NQgRYyEHC6AdBgCZFsPiovhN0yOLlqTAGorqX9kxBRsVrZFwaAa3bpcXCNgTNke/FuChXjz0TwdO45WG8jHvQt97ztKVw7EHcBW5yFZbKKPeB0Vo+fUSUZOQpIladyOgoc8jfQRXxLXn9zkKN80uLBQZF0TYBu6pwMEdGZF1Djmt4r0dgD+dOWmCh4VUA1sl1oXAizNNIatkKaTE6nTe+5exA41EdEmJB4PSc0NlwnMlPyGCqM5jcI3Ubhzg7wxBR5eNtTM5my7GGdsvSUesSG1hAHErAoY9BTYJ86Bht3I1dY5uYTx2QDPgQ1o1u3opZLd88oCLUupXOM957g1QkhdeKbUyOGTe+uLTSj9CbMwuJGlWaRyxZgGDvsrW7g64neiaLLtQNpHYaezdOykwMYXOnmPQLSm0Pr1lrLvWU2aru/KPQyz1Scd6HruK9hJgY0d9l1JfkcnmtHW9zKGKow2YQIUePm9Ra5R7mGVBwxucQww/rqdKLymHCUDICAzY0P/kpghQv4VsuMjoZYqfYnSWUN7HoiHkDCnrOciShyqqRZaoMK+wprgRR4nRKLEFVfwMNqHq942+r8HnleJwg6yQsUwx082LDFFJswseMrH4HwL9ccARhLa6IlLZ46EZjcK7MkGSeqdzpKEgaiwoInn86U9myOPNJmpnjAr3I66TsLOSZQNhWI5Fwg59JF6sC2glgVXxIV6jxpoVBU0JugFL4116prgivdW1eMeH/pLlpumdnt7hLTJ0fAJQRItEV9Kb5JY4howYxdXPc/Jl+c7HufJOXG1hE64396PeqLW8hxhJeD6lt3ZEj0mV5eKObvAteZboguDUuJuS98kOc9hbIBPUG8bFyjjxoEvyeb0w9uDkGVDegG3NP6o4mkKksXrjBFHyd8oEY6CBbtfvxVxpge0uDgcuq7jy2U00UFr1GVM6wZpJaA/MKkQC+WSLjD2grvuVJ7/4LoGhD9qDO2P/ZAaIi5+iOPQBnujdYXz/Haqymj7dqLIzy0yULFXNupoi/mwIHgpKX3CwpfcgIS1QVZw57Tqun6tGS6aZNTBcY7J8m2gPx0r5jzrHYg7qEIAxlGQkJ6m2eK0glvgl0Q6/B41OthA5y201O+2HVbGcY23Rhi7AaYvmhBU3axTpN9zbUS6BzMRLYfqUo4g/gLzfYC3Jg5Sg+Y+9hxbNRZPZzLYCvbJ7WcRNza60J5APqTloyvpAe7XLITfwBbsT8FKCDeM6dxoGJUk8SV3FJqNf8UjC8LoyVtI6MsGlW5dXCNZKDirFTbIS4JeQj9qIeqhHftuVg8N6hC8UzlyuD95P8vl9VSLQ0kgiNvnglrdPRUa77iDiCcBTB/tI/Jwij9HewouNCMkbx4yy0ELQTHO4YkW3zF4sGQjwhcF0TSzmBWykjUQ8z86dcjDJp1QqeMjQTJU7rrY5zsR6rw61AchfVujjSsZyW9ZymX2gXeksvcl3ir+ShHgc0R4Fs4U/CYFRObo1eUZ5OtVwrh08Z5QTALfVGy5F0LfSZDuEPPsQw8JHUAzw+6tcOCSRDWiSZMzRFegQ4bMeFTOpQRERrMUIWerNz1wrjRrfToqnQTj1wlQNi2vsOW9dQgdpyN3bGSlqCBgTE3A3V3gEf4zHERp+D5ZRAkwk5hkc9JAwer+ikBsmd/Lc3FB/ByoneSOikHuvptt2cjACWmx7ThwzjZne0FAwQqrzI0IH7r2COQwVN3M3iBnccYhCdgGfE/XuR/wk+ae7ZG1DdVl5Jm79UGzcTH9+7OUns0CUPHUPYs6CD3shueWnqKd8XRhZpqYxI/dvzcJ+cozQADNtFU4K9KWwQt9FcIVbLmLtLfcXQQb8BGFW6GNJcedq3HkFa8eG6gys9T69gl5PPVq6Ihl5zWOeIZEQtirZzm4xYwxyvRNO68gVLBnPGXqKXeaTp2t9wys4AhKBr7wES2+olcEuM3rJv2bd0/saVZvzeJN78hy6rBiayvxYjalWytKaLO6kWaijVo34aBEhD7XPs2DQNoh5TwTFijSecJhM4MiDp5CGonvEYcT0Yfnf8DWOkQh9CF6+JcglaLgYtC+Jri6CPeasnQMQZNOPXQRapCNy40TTV2EVASvD5cBLZTpMo+6qlC1MgHcC2IU7UbS23/BOeQetLVoFaA8I0WppvSfaVog2pgweHrHYX0VKchAN6TUjMDoXWdihfUyZXDFTYWgYb4Mg5g3f7c2B/GO5Qq2Dlb/hxt1SkpOXCny9H9gX7o1wXy7XLufSL2BhNJvfa+cpsQs7TxAFPDDAHbqpWFYHPLFVQz8go2adA3SPb8Q05bdv0wbkmnjVt6nfJ8EFjiQto+MbqbL3+kupcHZFGbrbx9JK8/KQk2pLxZZmQlcovqy9GgqBCvUxJwqYkgSmh538ushLTvyixqq9jeQ3KpIr0NFMOw4BstbassxhV5WRBnz/Ha4C/4cfqnNc1rl3MA/B0dtoYpufTvfBfHGc2TnxdLWBg/IIImlX76ZbENSfYyaxOwt4LYrMNeKGfR4Itlwasrm1X8ABMplhrnkVmKroytaWdHQNzbFJ5SOM1zf+QspGZaTlY477v5zHLfR3zghAtgh+c9U3lfMwO6wAdYelIxx78v5VlnaS+LR1t2/48dOaWai3Ms1DcR2WjZf1xO89iZXf9l7IBUUvcM3n5PGxTjWN4Fz8gwYRdMG57x/PLWxdPgxmXhhXBSrYww54VcKs3WBArLKwQHpspLHa1bShTR2xDu9V1kJ2xtcRI7RvQYFCmn6CUuTG0XYIADGsDLaiN7u/V3LxbIq3c3kMCeWaiWP8gXuDb+qdAHUD1/QoPdp4TKxMnmtda9A2sdB//j17LRd66aGB1NykXhAHwsuuF9FddYaxj3Inwc9sj/kRXmQeD448ADwB3IbywdNuLpfB9hmxQ9SBI24VcBTYyaJaQdFJOKyl2C6hQ6SUDKMy1jx4g4AV0HK5t4bVBoLzxTOZAWIqAnw8XKVz5c29RIFM+hAkpeHwwE3b1u6OaXrjle3KyCUqhkr4dJtai4u0N9BxPMSyPPbqL/vtc2EPRI61pe0dRvjlkRFZ3eCZpOfUIL4wa3ExRO0WT7wZS9IDFVRT4JkrS7cNI81FWns0PdGtxIzJnfa+ti8SCUxdyza7rxhmTSwuQiVE4oi2sUSToU0MXjeibISMos1/A39nwvGT0LxXMT1/UGi9e+zitvEsOVi3Ejs1Y8slpbSm9SRoXzA+qlNqjwmXtEIgphm+ouiyAcQ2yHYiZLZx1gQTh/2aAG2JoACB0vae0Lz+P3LsU5qkf1UK7kbEfOhVrFvyBHvc9ixio/5LzJhIMwugMykp8gEC5lUtIsMrwkeplbuGvxJ/AEG4XI5uqMcTXRmG1tdCZqXydwgplc7DQWtEqhmtDDHeqRI5zRkQA3cKq5VDsmvdhu6o1x1snEzYnC1JV1Pcv0cFxb1QEpyEHb4vJ5gYiXbJ60+3CXFSmIAAa+6OqCGac+XAYYGRMRqXMj0aAAi1XWq1odhKwUO6RGrprrghDNQWpI8lANb3YSNR8QSK6JZMOUONFnDd8pL0J2qAQM8e8j/nKoo2nfFPWXIiNutMw3QJ9KRh8+Vi3ZMLkJj3MHIj2e29+AuvwLXf1OKYpxrzKhA/iiV42yjVhtUtioRzTmMFeUSoAKCin4SrZeuCbfmQu1rU269IKrAd5ZFFBBfYMxHubDulhvOAFx4vY5VYTvI0ftYjz6o6cwTGN7WWfZCAELRyspkE8LWoWK1NWSOWaTanXBeQFEhBpUZD0AyMhZyMBVjV6nm4BVDH/j/2kSa/fwUqlVpyVc/02FAOrBMBPt0P1+Iel90Naw+4dRSprT+fk0il60okcqKiFAWyyC6QXi+eiVnGAJtnIHwJbqUysVObKb/rLYe+LNC34POsyALTes7usS2NXKR3++3p0VITrNBhkRxlSm6DXTV+xpJCaQIkRVx86Nn99t0CdnxCz0EIWYYnaCYqRrZbnUGmFMhPi0gWH4BPWVDhYa5FVXoFvVYxKQn4TLFxT27poQeT4qIXA7ookvvMIKna406xkAnnpPr/lDTEa30FN2ifwzjzB9p0SaMI4APAj75iDydf8rjgD04YjwReH834v1CDuveXDOKarbar84U1+G/k7FV7JQD+HIKSFNyGFvb2RXwjftXxkAzE84hguKbjbzdWw9ckb2FJs5UfX2gngcUpC/sUvvVCdf6Cged/hGr5T21i0S6EkC+WcRkFR4TT0K2lsoG4enCr1APLAlnuy2t647P5hT5fTndmmabduHN2KnGHjDUBv/hgTAW2aIBBp+ge+sWwrKnnqxAyD2z3gdA1Gjv8DvvdZ8qKB8b+YcOlr0eyha3NZVmrXDdGHse0sijYlCMM8HyUGXNBtDCHilhTMeb6t4ZkJQ/EPR4XEJDiNfN95Z6de2LpZMIfF8jo8VZBD8O1BmDv0+ZLT16DSDyloEDzohZAeovlmL6yoyE/rHKylUUAO1QP7+FUbZCck8CLXBO0KnUzFOM4iQHFHAkm5O6rI78h1CUw+gZSJmExgdHzocYOgPnHVRwGHLI6Ppj1QcVKncmjldjdfdbDI1fTVtmfIlcMuhu4yScq2ohtTrmHLOOpd9s9BJIwvcP2pdQ0k48h94GuEXGWE/eNZFEhOkipzrZ3v9ZhVzyjAKM4phtmNj2Hh4N2EqWE/rgxAjYZHz6huMqiTDatLjAVQIn3qS2Q6z8E2uIj5KSwA6MhUj9zJVcMSufDll+nSQ3f07yJ+qFEyNuywr9dZV/yueCwos1ygBpLxsN1HCH+2vgKaShIR08nx7FuyxHqsLPvIauFl+AzemN5CnwwCVFCY8CvGO77UxLJklNtmOKtEyLzTKx6FTqe4j3mVna7s1D9aGVThKsds723wRxeD4EkLliOEVY93uv57b+bRgDznRPI0aAbwHhgUF9dn14ZE/4LujlEpOc3gQMBINFX9EePKDqsX9Q7Y2+Ss2SlVMwj7idBtQPYIXp+US1PThE7XRzGLY2vToexlMWaQeTyRKyV8i415yDGgXLksR+Y01bKWsNcu8ZUqlruA0enA+OIiubajE2sCJNbZh9OBYf6yf1dJkuyRzo5usY7M1aOSEx9SQVvZEanhsdJAYw346iqFPEdEo8pJjxwOwzY8BPd8qXeieXFfYOzmpBJONv3eDNTfSZj91HUyhvUsxXRXxBCdyZzkYIWyQ55C4z0dIUhutmK+30Q3DtnU8DKd1hWwckrfNODcY1i+1k72tR7PPZfu/U01d2Pc47KwNhaW9m+FB1U/HpHI8zQIIcfmae7FqQtHYcx8KVnonW2r469o54g5b3MECLE6COTI8hcRDRLMW1Lq0Q2WJeWUgLR4F+5P4uDa4w/K1mxlMEV04EdMl+xdJqifxJvMIUXcvI5KV7TrtAh4Zx0DZPqCW4Kjg4JdekNKoFoOIASAy/6l7q9XvkX7ZJAbSUuNYsWKwcsTpoT1f0ChFGNCgdfm2FtlVOGfXR5PBR4bOtCWuk3hkEqPC+zKhTo0hCCyUiAGv/dFUpuAOZD1NO42aggSZMrQKWDpLNZoKLvsKfYAdrTzhJycX0hxvo0ixu+JIFcULzmrzzHtBQuwPZT7DyQCLogVvHPMgnxb++wzHxyL5zMMvT7X3ts07/l6wRnzSqSNxeXdQ7grO7cTRiEM5Tbo8nrgqM1dp1kwU6SD9HDLQT5tSgnFyKKV/BHS9gLCkJs0frFn6Fk55EsTBOxRyp0LHkQ1mFn5wedO1qrlvtGtbvTG4S2A+Au5h1XuQSmAYTfOiuT65Afx29kpNbylJp2igL+kGBGwsmazC2RgwkeXm5jdHgYOQCY78vJKR2Ci6JhlWQF8dyZZtSbyp8gj+z3xE+AXLTVwcbeMxnWZY+4MFOW9AgaboomLMRY0l0cMeXxEPDVkC0ABOnxz2+lalizPB5Yb1ZlFCqKwVX5acTcyWHKu+Kq1Mtbico92BT/ur/saKwSLc08zZRW61/IE1YfEL3w3Y9IVUsJvlwRDNbfIr4vxmeb0hESsEU/QYkDagqlwz9sr7dRgNRXfqO5nM/svOIsoexTeFrV/TzGyzkMeDXo06AVHo7QQgH8mMZlhfCgHFgViFGDM0fsMRLJehi60BBdghL0pbwia0M8eIBFzZGOv5Zypayvxfe9eI7VMh1Lr1QSgBdOA1eUAYgipMq92ufzzDwNfO8AOD92ypJbHNc3YTdoqClafHejTK7Gk0a5hC0EqQW8xzqu5K8dp+z8UzbItK4DnvvevYp0QdMzqYDSKmw+0lces97zXEQ0ykknZW9uVDiMV1/MiMfhTgEh5aH/yow2sfukAADP9PW5iwA4zlT4E9cAA6iAAAAAAAAAAAAAAAAAA=="}},"time_used":67,"timings":{"blocked":0,"dns":2,"connect":15,"send":0,"wait":16,"receive":2,"ssl":32},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/fonts/line-awesomeeb4f.woff?v=1.1.","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.565Z","timestamp":1785129292565,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /fonts/line-awesomeeb4f.woff?v=1.1. HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/css/plugin.min.css\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:52 GMT\r\ncontent-type: font/woff\r\nlast-modified: Wed, 04 May 2022 08:53:40 GMT\r\naccept-ranges: bytes\r\ncontent-length: 57436\r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":57436,"size_decoded":57702,"mime_type":"font/woff","magic":"Web Open Font Format, TrueType, length 57436, version 0.0","md5":"8b1290595e57e1d49d95ff3fa1129ecc","sha1":"73bcfdd23e73617a7eaaeb66bdcd98ad6b901562","sha256":"20fe49b8a923c1a329ca44142e98f1cc162b7bf1d98983389b01a44630dfa85b","sha512":"5eacd2a3987a65efc4fd7dc13be105e374a35db406d52f9186415a99adf5679ce521a53fbfca7b45e8fdab3cf2fc5dad676988d7cdad6b15387af85452933a21","ssdeep":"1536:zfd6/ZNlNZH0czwxEBAW+yyKRdaUoMBhRV:zdyzlNBn175ToShH","tlshash":"124302f5f7ed3cfae9fe24aaba114cf423e8c5459da79867303310f5449b54aa122c42","first_seen":"2023-10-13T23:11:53Z","last_seen":"2026-07-27T05:48:43.299219Z","times_seen":49,"resource_available":false,"data":"d09GRgABAAAAAOBcAA0AAAABuFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAADgQAAAABoAAAAcdZMGbE9TLzIAAAGgAAAASgAAAGBQXGEMY21hcAAABCgAAABKAAABSuSBFf9jdnQgAAAEdAAAAAQAAAAEABEBRGdhc3AAAOA4AAAACAAAAAj//wADZ2x5ZgAACaAAAMSIAAGKvKlyLddoZWFkAAABMAAAAC4AAAA2CoSkN2hoZWEAAAFgAAAAIAAAACQEIQG0aG10eAAAAewAAAI5AAAFLlv+VMBsb2NhAAAEeAAABSYAAAUmrVhI5m1heHAAAAGAAAAAIAAAACAC7gIYbmFtZQAAzigAAAD4AAAB3ZBJsjJwb3N0AADPIAAAERUAAB43A4K0tnjaY2BkYGAA4n4Zy3fx/DZfGbiZGEDgyqqN5xD0/31MAowPgFwOBrA0AEwCDDUAAHjaY2BkYGB88H8fgx4TAwPD/w9MAgxAERTACgB/BQTXAAEAAAKSAecAGgAAAAAAAgAAAAEAAQAAAEAALgAAAAB42mNgYfzP+IWBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGNmgAFGAQYECEhzTWE4wKDwuZfxwP8DDHqMDxicQGqQlCgwMAIAiUQNDgAAeNptVD1rVEEUPYppRCEpIxYDboqwgo+4uj5c8bkEAhp1glUkxYpfTZAnMVjYPBAEBWGL/IAHdv4CwcbS0p/gT/HcM3cmG8kc3uzMnblf595Z/MQKbHzn9xs4CyyjISrHe8q3ENFiggf4wPkqDvGD85MT9zL2cY/SfZ2dwTvsYIoh1hZuhFO0kjzS9zLniAFho9Ku09xjzH1LVJQ0QpDmfXqIJ2DSIWp8xq8iq93LMbY135GlgU4XM1rFS8a/6p4Sor49pHGAC7rf4wZuudfso6LFNbfXeM4PdSdgU1aisgv4iNu01VPW8rsuH4a/HkvEXcyIt/ijOKNrnyfWPbdOuhUu/8fD6WjcQlskvUvMT2b8mn4bRTziynI0zXWiUY4pN/P8iX0x4W6JaxQvmYkKz2Q/76Kvg+cTVNVFdOyunr/BWepVc1uPaf8bozyQLXgXBN28yDibkmE6qRckm5qfc3ekLj1iheykZpWjZzL3yE2382xsZwwPPBrjpZP/JZ7P/TydfCHgla3wGhu0XmNXvBrL26y2RbFBJD5af3GNvKc4s5/UP2OvxDG2+GpX8KgwYBlYP57DFTE8l/ac6Jz5kQDv8YRWHXCT38Qrb1lD0SUOdksUloWtbUzEZKrkDJccuQ+rUv9WmlN/GVPFYZasa4fOb4On0jB7O0TqjT1ptOU/wCy9IB4rAsva+P5KdKXakTWtSmf3bqlWRnZ75P7zO06vPnMx48sLhfFXhOkfan5DZlWRf1UXrsEAAAB42mNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYFD73/v8P5Ct8ZPj///9jfhaoeiBgZGOAcxiZgAQTAypghFgxnAEAY6oJdQAAABEBRAAAACoAKgAqACoAtgDQAPwBJAFKAXABmAIoApQC6ANsBHwEngTABOIFBAUYBSwFQAVUBgAGPgaIBrYG5AcSB0AHbgecB8oH+AgQCCgIQAhYCIwIwAjkCQgJJgmECfgKKAqGCq4K/As8C3wLqgvEC+QMCgwwDFYMfAycDMIM6A0ODTQNpg5qDtAPNg+AD8oQKBCGEQARlBIyEuQTlhPaFAIUVhR4FNgVGhU+FWIVnBXgFkYWvhc2F4QX2hgsGGYY3hk+GagZ6BogGooayhsQG2AbuhwuHEgcYhx8HKYc0Bz6HSQdPh2QHeYeNh6aHvAfqiBIILohOiIOIpAjTCO0JBIkKCRcJJAktCTYJQQlLiVYJYIlriXaJgYmMiakJvYnFCcyJ1oneCeyJ9ooBCgeKHgo3Ck+KWApiinOKhoqZCsgK7or3iwaLFYskizOLQgtQi2ILawuUC6aLsgvBC9QL6AvyDAOMGgwmjEGMVgxpjIaMmYykDK8MugzDDNqM6Y0LjR2NJ40vDUiNZA2LjZmNoY2rjbWN9Q3/DgkOF44ojjcORY5QDlqOZI5uDnWOkY6aDqUOwA7ijv0PC48aDyiPMI84j1SPdA+Tj54Prg+8D86P6g/9kAwQFpBCkFYQaZB3kIWQk5ChkLAQw5DTkN8Q9REAESOROpFfkWUReBGCkYsRohGykcIRzZHZEekR+RH/EhySMRI8kkmSWZJ5kpqSrZK8EusTEZMZEymTOhNKk2KTeROPk6cTwhPZk+aT/ZQYFDSUURSGlJuUqRS9lMiU0xTplQOVFpUplTyVUBVoFZ4VuRXPlgSWKRZBFk4WXJZrlnQWhRablqiWtRbQFuyW+5cNlyCXMhdDl1aXZZd3l36Xjhebl6cXtxfGF9CX6pf8GAYYERgiGDWYWhhymIMYq5i0GMyY4hj+GRIZLJk6mU+ZZJl9GZgZqxnJGdCZ2Jn2GhOaMRpOmmyagRqbGq8awxrzmwYbFZsxG0ObTBtXG10bYxtpG28bkBufm6ibsZu9m+Wb8xwFHBKcHhwpHDQcT5xdnGuceZyBHJScohyyHMCcz5zfnPQc950AnQmdEp0hnTCdSB2InZ2dwJ3NHd8d5Z3ungieHB4uHkCeUx5jnm8eiR8tHzgfVp9sH3SffR+NH5afqJ+tn+0gDSAgoC6gPKBZoHaghqCWoKMgxqEPISchPyFXIW4hdKGAoYyhnCGhIawhtyHCIc0h4KH6IiUiTiJooniihiKUIrgixCLoIvqjJSNPo12jbSOBo4gjkaOao6ajrqO3I8Mj56QEJCCkK6RAJFSkX6RqpHWkviTNpOIk66T2JQKlHaU1JT4lWaV1JX4lhyWSpZ4lryXYJe+mAqYMphcmHaYwJkcmYKaFpqCmsqbRpuIm7ScBJxUnIycxJzenPidTJ2gnqCe+p9cn6KgFKAwoGCgsqDwoQihGqFQoZSh8KJMomyijKL+oyajTqNso9Cj6qQupHKk2qU8pYCl0qY6poCmvKdMp3qnvKgAqHiomqjYqQ6pLqlMqaKpzqoGqlKqmqriqyqrcquyq8yr/KwsrHSsvqzgrQytbq2orfquQq6KrvKvFK+ssFSwtLDisXax6rJesoyytrL8s0KzrrPQs/C0PrSctN61ILVAtYi1urYctnK3fLfWuCi4VLi4uTK5WrmIucK5/Lo2uti7CrtCu4y7srxEvPi9ir3+vl6+kr7qvxq/ar/iwELAvsE6wWTBjsGswdbCAMKUwrbD3sQ2xV4AAHja7L0LmFzXWSB4z32/6tatus9636rqrupndXVXV1Wru9VdkiVZkmW5LcuyJDt2RX57bNOOnYcdxykSI5zYQOM44CQm9ICBeNcQJROGJGtIs4Qhs8suWgKzfEs+6N3NMszswqflFT6Gae3/n3urX2onziaEMEx33fe5557n//7/w7BMgmGYj5FbGY6RmNpnCDMx/1mJZ/5s6jOi8LX5z3IsnDKf4fC2gLc/K4nk7+c/S/B+I9FIVBuJcuK5d993H7l1479NkAbkxjEms0SukDpznLmDeYRhBqdcxxbLpRqZLBkcHps2PbLNhu02plrTlXJJjJNyu+GUpfoCaUzlufoCB/upBU6arLHw2NlH7Dw8WSDt6Roplwwi7SN5Ft4mPztYHRpwhz0ix61c3C0bvJ7ImqlyXBy3zYTnJrUExw0573ubLDuJmKsrvKDFU/msHZfhFTt7gdcLMSvOJ2Kxgv6yYMIhxnGwS5p/OVUoNPyUGjdUz+VZNR5TEmlL1Nxs0Vd4/smBaUVRdF3RjLimxQ0Nj6f4mJPWpbjpxPhwjzcYhmU6DEPWSA9aOsYwySnXFkuV6XZJhEb4zCcfe+yTj60dvPPOg6T3GF7cfOezdzL8tnfijMuktt4bwPeg7apeuVqWym0pyoOwz94Jr64+lPaX/fRDtTu25Xfns4WfrlTec4gRmDpTJ5fJEu13DfK2GMYqOkUPNmnbsU5WN7odEmysd3aekaWg/wd9/qb57f6n+V2zfSd5QYF2HN9aXnvWs4eZ9Hae7cyPZ97NdFiJrDEt5hBzC3MP9M6UlxezJIfD03MlURKrlaoBI7TSnG4v8O3mdBWHtySWq5X2AvFEB8d8u7WfjLDelAsPKu1WRSrBXmh59JEr4fvVSotc184KksCzhMi8IoqJtCjFE141N1ibU+xUPC9IipNIcazcVFn5yPx1yXjKUFlR+ElPNUyOJ0mtxhEusfEay55/+ORxQRSCsyOP38IRspblZV00hSTnkjO6K2qqYHgCH/O9xNjIgRQv8ixHpLwaT5qqyCrjQz/HNyzHTw7rP6jVYyzLjhpQLl0mpFlgFc5Pn2B5bG/4I+tkhSkxDWaRuZ65CW5MuTkyRwpsjh0lBilVqmW6HyXNRHOONKclp7FAplwv2jerUsMBUOCUm+VmQ4zGeSs6Ei5tdWS+y5slsTRWEp+l+5Jprl9ObruRPPtyUK/D75a0ZaWtP6N7smLFTHGZF1dNJ5NxcDOJaZqx/Vf61x++j74V9Cz6Bv3h3L2eMckXYB7WmRk6BwGiSbSQrXarXW17VehIyZGqzQp0v9T2JNdzPSx/E8DdZuH/ZLqScer1qWIiluqY6bg3vGiai8NePG12UrFEcapedzI3hmXtVdIuVCzo8fm4p+cOxzL2IA+lJfygnYkdzulePM/3AkjipsWonBKzdPUKWSEfYiaZNm3/G6AH7oUxP0emJqcKpDXlQXnh1LHjBLrFlhyEJvtJOTrCb7pdhbEL35YaNRJBm1Z0hJ4pD8JWdRrw8tR+do4Nj43my4QQnvNTsymf5YlM/DHTD+i/OeaTp2bHhFeEZUNRDOUY3V8KAgKz6jK0fwc28hxfMowSR2SOLZXaq3F1wvR9c2gI9xNqfLVdKrGc2BrIZm2FZkB/1dXV1d6KOSPLM2a4X6HzfhnG4Q9Cf+1nbmbuZl5j1qANpjyX/mOXwT+eOzZ0W54XJ+EIUw77Ch5VaIIpD/tymiadIQ5MXHx3juDdSrXklcrY56JEM4RpXpdKcGV7NuTbiLKGf8cuEIm+IdJvVKptl85zmo9Es8VZ35xnawRgheiIXp4UiOtNO1MAMejXKv+TJKmaYQgCTzRDhdltiLwoaYoqAHBoBWP1IFM2lLjIspYMmEkRFMILMUlgZSWmJYis6zFBID9GiCDgSwlDEUT2PE5yeJ9la1pMUVSOk8WkLAp4U0+acVXLQjKe40TBs0VOGEsNl/whwnKJHxcJx0kcF4/zAAbYmCvLHOnBF5NlTY/zRdsQ8alqOOVgQIwZMVW9fdA1Ys2hTFxmzZijC4R4VsmJa4bIFVlesbKFgp7N5eMSx3JSPJ/NcXwhGyRE4UdZTuB5KBJrcHqMYwVJ4uWEJmYEVdQk1ojJiSS0BqeKeQGSGjO2bmaPs6ogi5zPi7Iq6DynOVApVhBKjsKyMJ/nGY18GegexKuM5bW9OJmARg+Pp19/3f+8rn/ej47k1l/8Re/zmvb5c9ERwRwLc0snP0Se6OchedIEaQ9Gxw3vp37K+5SmEb9/8oT/yiv+p3T9U9GR5vFeyOOXN/MokDipAjiJji/Ca5+C1384OpIntr2Ox7Ac88wo1OWdYR5QCakqQRYsPRBmqxr0SN6pfd7DatwbHSnIZsaYYfJ7xIY8Nlvj0Btv+F/R9a8Q+1d/1f+Kqn4F072T4clR8jSmI1FNSd3/uZ/zL6kqedp/9VX/EtSMMJ+HdM+H6fq1ugxJLkFS8jQkuQRJw+8+DN+9jeYXlRyK/BUfv03OqF/x8duAvW+B558mq8xhZgnajCEwwaT6pANkYL3VAMAGKHOyLpbFcD7Btdj/xylXLkVTDwAbJIf51ai0my1PlOqOKLXajZZUCuc3nYqQAulSmPkLZJK+hEChnwk5abBsllVIXGjllRhMBwKo2dJiOgwxjlXVeNzxTNtUddOJW55tVjr1hMeyRMjkXFNVeVMh6jvK40Ujbshy3LUSblxWU7oiEzYuZlNE9jzTzcqqnySr8aECAYKDHzcA1cLQt1IZSxMFg4Wa2Qk/ZimSpCTN9PyRmRsVAmQDKQ1KGtESoq4dadfmp92YJqqq6NpGEmaZlB0azLKAqFRVovRMB/DaGlkGPsAB6nIceqtRbOTYco6Ui2VAC/uJ5xSbAmxSvTFLJhuICEZJidI3rY5JugC7N9ZMMyCdjcsk+A3AAl1JUaQuIaKqkGUA7ldM+HXMIOisrwcItSVRQT4hpG3fD3RthZmC85yA3xQKZBFnYpydIDgMHY9eOniOW44UyZq5sWpax24XxPPHxZYonr9dkPYvnJOk2w61JPnseUmeJR3y/uIdpeCSaS4H/lGbj+/nSHx2fEQgeKYfSM3zXK41MiJyOTjz5C7lXeqAPy8D/YJzKb0Htd1wwsnR9v6b15966vWnSOrF++9/8f61oOOe1/XzboesPIUPzt+P96uvdny87XfeSt4eYlc6pXbk/YbfeTXMZ0feObcTfvS/6HKHsAPoqOqOvF8NSwf578w7rEvQeYt5S1UgMgHk7Mj7UpiFe35H1sPR9/zz/4TLTZiHGUJeArpIxZme6I+JK8HD/nO6/pz/MOltfOkR/zlVfc5/BNMfYMZgjp6m6T3KMWE//57/CDkQJSSn/YfD1zF9B9J/KUxPwjYoNotVMhbmuPElcuARcjr8VPAwLQ8D5Xl/lF6qJsqJEAU8F+ZKntl8z3+O5h/yw1VK08KwgzaeA5gAzeE1gSYFpqKB/MMo2U9gzGM7dczeuQ996FzPDD70oWD7OentvhOdfw+/AxiQXIX2SoTt20f9YTO/BM38gX5vbDyz2dz9zopaHdv9iav/O3mB/DTmE7Zjv2uj5uz599zj9/ToSD6p9vx7N37tXr+n4hk5CGc0n5sBH/wi4AODYYCSQXSMzE0DOBqSubty9uzg3S8ZL6p1eSV26WL6+efTFysjjZ/92cYo0iEHGZb8OrRZC84YAuyw7diTKPmpwoaMBSJWaDyWSn32EyR3kdb13LYnVvGqBVwH8BMuPgVO78QPsPuqedsN8iMjeTcZWLHMIHtH5/gFXblh+nDT7pxauF0z3nVXyfNKHumRR04Qjh2aSaVG8vX8iK4frcsxazAjLN5OyGMnpo6L6miqoclnF84994NeApAy7rD9RGaUCcjvky4cG8wslP84cwpnyJSLNKHk2Tk2SyYdRH0obcHazJNJKGQT2wf5+lKcFIHQiBOnUWxW+Wv4plBM8/JlMyW4BbWgKlJd/CuxLilwXnCFlKnzNvFtXt9Q68RUN/7UNgzb2KD71Z5dkk/LJdK14se1vFYCYniZEENSTFMBygcuWFKCB8fjVqAfOqQvl9/2trJp0Jfpr1Q3TQpbBqF/L0H/moDvs4hzAdk6CQfR6gS7SGDQFEhV8gBDmhfT6YtpwOxrH7+YTF5c/ehHyXJw5m4r2FgPrLvPBNZKLLYyfsEwLqwvL5+xdZu2Yx3a8TLkPwHt2GL2Af91ACGYBxiiwEY85iJbDpln4I4r1R33m42pkj0VJ4221BDcqXYDtj8+qD/u8h124uAE2+GPyU5ntePIxzbvuI/vD4KVgaNfGzi6cUk7qH0KNihqIC/zfHFiosjzy7IjfzUIvgqHbfeCoN7pdPqinV1w19suoZM84O8oq4bkYQh0Ly9O/s3I/b8zcv+xxck+wB36u8kDx+5fwN0QI0NbMJDfB5g8U4R2HwbqapJpQpswkSzEAYDCIsnDzpEmABJsf6koOI1mY9eG9BdhxDXVxL+NHj2oa+JPkLGN/21TQLWxRrrkA9ySAMkumdDjdTiYqrBUXAgubf4Bw037CcvWozKxDFOAcT8Bd+ZYGAujbDPhJRoJYesKiuDNYZlZpAcbTbJkAt3XNYMOlCU6q/dPSA+pM6QMoUCdjnmVgQvGXF/vmHB71ez1vg++HzB1sr5DLuhRjFjea4O27XS7Pdh3Ol3YBwFZ2linIsddGxPStXXAHf28d8guoXAbvc1tKejCP+Xh6kwH2qMTSSiRBge00qfCkQSvY4WCAKsGpDbpmJ1uxzTXzbW1cOxue9/bOwcBLnfmsrHe2ZFT0PtO8ur1vnt5ra///8wLZbm78iLMVWZXbt+b9n5rZfm+aO/v5jjYo+8EmG8mzLcuzPVpZoE5ypzHeYGCYTec1UUgqViUPQJX6SER0ICTOTKFAjdMBpeVshA9qJQbm2fhPSDCaOHwTpd07CwCv411BIJZW1KCrN1JGkYSHgSKdJWRlK4ideh+4wpiUSgxYFLSzdoPx50QvJo9J/4wTd817ayuZ20TGNslRTJN5G9x31GkZUy5LCnISy9FNOM4cw+zwrxMJY5I8sCG0sC6DQXEuiAVQUkJShS1I5lEC0kIqisA+gcwAaCaRRaFiA7SQ6hG2E9vUnVZmBL3VCbh2NBKSJLsJ4CvmniLqiMoYkU9BGmX4CaATkg1Xf4D31FJPJGIpysm1A1qlrXX7CxJVNJCws06mqorSsyy0qqG0jxR9IHKsIHcsNNJuB3TVfjTOUkVY61kQlTNNZMQVVQtlhClWCsqBP5YkvwiynV7SVZVK2kPHlrQDdCi+MXLHJf00xXRDRIxGcXX8CmV5Y2sn3VF1TBU0c2kXFGGJ7KqyiwnGffo7H9vmmMsxz7JCmyM5Vm4n1W9YtFTs5zBkqBrdhC3mUBTXwGaGkdtnuohjlBaLo/NiTuDGyU4kAehPZrTZWHKlco2CnwaIlVLTiM9B3QVtH2jUq0IYTLz+WDEFIY0aNV0KSn9GDny6KMb/+lgdYyw0zX2R1HGU3euj2UHfGNyABpQZdmzrKZu/NLheo2cjmes2IjFGSXfKycUluhp/shAKXdkYiopXydZ40V7dHiYF3RZEm1dHTs1NELpqf9y6sJFuokVpgz1aIdalLqTR9UZclibgxWJQGQW2tOT056Bj6UGThTUGCWBOvw/09ZIyzQf57JDWe5x02wPpyoN7t9wrSrH24CaV6wYrx0df8EMZBmHmiwH5srYYY2PjXPtyooMfy8MzREgY78vy8QzA1e/Tr5GXgHefxBg5UHkDFEWCZ9uISAJi+dC+TyJeCjj9ADsVYFKhSEBfMaOQiMj5UIB5++URL8Is2m4DbBr3t/o/n45JUifblekpwNuJQiikksKnJNX7lJEX+ZxrhNOv378BUlJzflkdZpNCeqn3wklPV14H9RhszKKtCL91j/tsqPu0mQZwFEh73KUOYMUKdWAlZtT06OEAvKofNU4QWVmGXk8AN6LkHACoG8Z6oCyS+J65RCU41SEyiATIVVDWD5dIXXzKOq1ZHlqTNNG9+8/s39aPSnKNX5uGK5GTWNMkD9ospeAzj070rno+/qAU0UuODvE3XTxs0QuZIvFkfmREdJFFZt5gYUs9o/O5/3HpaEZOOf3SxWO44P6XXeZpWQ2gLSDmaBOjunH3QpkNI9TMtTXQp2XmQpgrzuZ+5iHEGtRVSzU1XM9xwuNNypVsdRXay8SFIxTVl0S4wRbxWtNefiKV52uN2vQFNCr+Byo92kJFV9Ov+pBJMUSoWMvuUWxIhahrfip5KBysDa8KMYrcXFxuHZQLyUafHkwmzSGDN1LlWdixrQRmymnPF3KJY1kNgnAvutXFSIBGzhBAtgdnLgMA2AZNbl5LzZK7nO82sHWkGEMtQ7W0t5dtZiXD4AOYPlKUasWXLdQ1UuEmC7LAnGQNEzTeCZtE5KIFzEz+iNBxNciv/I6k2DGmOuY65m7mSdQA+KGSsRwTLQAa6OMKET3EZVUoXQM0CdtgziiZLCTFJ3XUdxRBaYSuBkpbBK0htm5B0wfovciReki/ggTU2RJEGHIi4KUiAVmNzNoUo5nMAN0GCEyi2jYUFCvJ5NEsApVyyaDbVvSuGLlRJV0VDFnWbPwI69bOpqwKDgnFDjLPGnWBzN+8j7TvC/pZwbr5inA6DGREzikfuAgxgj7GDBDND9ja8smj7vswYOsC3+hbGUJaL8VGGNDABHOMxdglD1FZQKh/tU2CEVPW9oa+K9xzVDr4qJOtSS5DUg8hUrZdqVcqUpA3Ez1tTXtVqOJZkFteB3ediO2HSGH5Hr1rWSTkKRc+vxyLRWzWUkVWI0TWTammIXhkXxciXEkHo+zdiz1iYeGLRVaj6jW8Nbpv2NNkbCCnJ2ezkoiUDgSG5fV2nJNvWMoC90BbOF9HMcCuBkcTCkSK5amG2RZl6RYQhBIcTqlzccKRkyVUB8jKTHpxNKNRBASMUmyNQFKIgpadGxotwWcKCSTgkQIX9HJDRyn61whix/ig5OWzvG8LPM8y+YS/7WNvydtzDG9TVphFLgYoMJC6Qyd7fmQokebFdhGyX5+jsDcDudweBwla0EQyAPTeSc1PeDDOYpogueQgH3uZdxDF9br9emBobQ+nBqYhvO62TNXzGAZiOoV3IV0VCTD06hNGOXLnIQD0AblJsWE1EBU016iTM3GGoCE4HJvfLzTGSfLVFUH91FaEcw+PTv79LaxE2McJsfUoG6zANvKiQayHZUqlX01Keor948crTRCPpTPNBvIWUzTik6XCbNyqVTL+U7txWUEJ8sruA8mDshDByYuAcRYMs0l4JtQhlIrpYdlP1eq9brQ7nRHggMTtluanjiA9iHdIOiF8jnCrMLuIeCvklT3jILyTfk7qqFr3tufSBo/dGzZDN71eMIgPfe+I1r82cBcPvauw2o8RHXtq98g/wf5GeBH51EOx8XZatmNExQ/T3AwKxbZltesLhIH8q9WALuJIYxfJAuhgcAES94lKAuBOy/KvFx9cOBoPJAlhZMJN3AfV50hwnyB49NOPfFgmiWi786mH0gCAZ21CiM6S34mWFAEd14gM/AqR2BwcUqmfHTgfrYK2YnztYKVVRUl+UB61vVhKqQfTNSdNM8VRFYPeXKGylddqMFIn8N0CygpK8PMhCHQbAMnKSWQKklUGptnqziavAZwVp9TB2Cbmh4cHalURsZ/qjyOx1GybFmqKAjqxtd80/TJgCo4wNRvGAZhzf6RtiHa1uB40fuyEypAjhMcfqirTSyjvC39rnelg/tU9T466gLr3DkrwJF35UZJupGY37V8hEjmvBLpsFHWinQ8oOL+rGjOkRYAuYaEiLQvkYfz/zhWEj8QylM/IJ4Ykmd+m3R/hRoWrZIuWck4KEIwSWA6ghmsrHSpxdH1S0vfN7Cgr79/gRkHmnUOKBOkt6c8an+GO6C4gTcUKe1ZQm1OBYZIYxoJ2DYQ5lVoFQD5VMbgNSsA3Z0FIN1eHwDID6UaSFaBEK23RLVu10afGq3ZdVVs1YUxo5ocCF7ploZOD33OmBka/anq6NAMeaECjL6fz9StrOvbihRkrYF0udUqpwesbCAptu9mrXomP1ADKiGotJekL3HJJPclaaldAdqb6UCbrkGbWkwB2rVKZcLIlc0B13tdZMt2C3Pb5lhBgVGZ0pgoL95P0BatkUCRVDvapG/jPLRlgAamjQzE5TKKxbr0t/ZNT+BHVugogj4yqfgZe5N0g2/y98+uvnwkA1yBY42ZAg4LtU8uEspIjozChB9lgYfigOUC9mIxJFcchL77uSKSyV6jitMmHdRuP9BKC05H5wPzhevO21VFEfPpu44duzOT31jtnnfzLlkJHtcP6o8HlufX7rD1ZZbtmTXVF6Vh25iE2T0Zc04jB9HtwXyWdul+CtAbE5E8YIfufaCv14uuK29yHSnmg9Xl5dXljQ1qkv37D91ww0M3fGppZmZp5r2twcHWYGTpGWqPHlrGxEvUTHvhBkw7OoNp/UFMK0QWnmjj2ded5CKtErblbKitjOSz2/SUqFMLZapOEcWlmxqlOdLsD52V9XQlCFAj+XuokQyCSjpmkcCKXWV6QW9jvX5l40rY7b1Keqm+aoaKR3O1vgQvWrGY1VmGv5VuN1KmccxxgMm/Arx0kikhPLbmWM/yRqlJzyjbtjyu0R4li+wcWyANDhD5v9J6Ov92yb1D55N38uJ5V7orfXrhpglXHOV0XucWZ29reGOkq22sO/qhE7xDAucq07E/qul/SphTJ7d0uD3acwvMEeYkcvBWw3vrWlyA029Nj3u5q9beVJNbq70VXW4v+M6UubFN2VVfh3YtDLmWNtyuRXsr0GIJ0R+iwYAw66H+LOitUB1Yh5Jmu04iwECBAgAENO1Fy69rQQOWn9KxvW8C//p4dQcqR8xdjpArnr9Z0XdfrwSriGWRAq5T0+NVtEBe65d882T7OaG6gIhohlfwCq3Y9gJwTF8HgLR5WKfRt1iDyFZj7xKe8Lu6XvcHyPKeZRnwu6pa9wf3+n71rbfg3t9eX119k89SveU/hz6ceMs12PRZ2LuUq0GnA783ac8AnwXfwfeR3ossdvb+/htjY/74uE/3b1KIsf5z2DOR/wzS1l1alggnWgi0d5QFbY2A3i0CrTtBxF0gs48aPy/3ZMHqhuR213IsQT5Lumfh3pcoyf3ANsRIumK6r7dPp9Pi+rqYrocm/9tw4vbyeXTsNdDa5NryIcaLytgA6rhBy4kmKSMkLBttzE053o6SAvgKy/q27KPZt2FxZ4LgVlrKK6R7ioXysNuLa9ICd+r1DhQ5oOXUej1FGpqZGUI14T8bWyOW2cfsI79FGEamVhCAidCkF+o4WyGdSnpV11cbTz5JmOyqqq7yTz5J3/kQo5AOeXf4DrVMYheBZvBIJ7uiqiv8gw+Sd1U21ivpFV1faTz4IL6zBu+8u/+OVWDj1GSkvUbfyAbwBk2drpCg+rsPMtfIULw98GRkA79diPL106cREnd3SlHuuPVWBMDdt5JnaC+/Pc8n/PD1nXkO+OGn3kKekW399jxfx+JAvrvyxKJDvm8pTwpGtue5Qt/1d9X9IP2O36V9vQx93Y76rYBmTWjN1CCMvpqubKxhfz/5F6Slrmazq+UnI5m6Sd4gS4wPHMFQhDeiedBoN2CsjXKlykSoY+kP8j6BDcigIVUbqEVowdYZ0BLsyFcqpRE2odkr9GpAUhRiUbHhE3TfRYOvOkA7VBMtxbRPrbysxeAAUGWdSv3C398vdTqXQmSwu4zTzAzKjb6NMm65sX17BaVOaN+ypDTV5b5vYsAcoDYW2K/lsC2pLf+mscaUJ/WVUm1P7OuurrkXmAQIvQ1UJvSuMlnXNkIjAcN2s8WJiV+/5g6aWsEL5h/9UZBMaVA0LZWcODix/ZyhNlcBLR9SqxMA+fZTXXYxNIkoF0MTUa8EV40itVMQGl6z4SHeb0rlqhM6uuINCSAc3JEabdrCDZgApIsl2lil5aKs7cav+4WC6+aSftKviBXR/oOjSdcvFl3XPfK65n52aGjETqLJxzq+A7vAXEebldOnT8/Pn+10Dh607bPp9NhYNnskn40nE2k/1GdsrwfixCZQO9+0HlLfawIa1+1bcTs11Cfn4RVpj8KvBYgwcHddyCrq8XgFNn2PAgcUJ85EyOaEYKdtge4YfUdZ20CN3cLcwXSZ+5nHmfczP8S88C3aPxwc1DGG2vG2XbQe6HvROJVSZBLp0IGz0PcWrFI5GFQ4JNuwwyj15kRbuzHl2NiHMDnaVGYcmSXs1YvfUCWRF2QlTjRFl2VellVDnZNF0dQ0RRJR9J+YSCUSqcQrZixhmOa0qv5LPW7qKbEc2JZlB1XTjiUNeF/jNG3j33COs0cjXpAkXuQ5UZc1XZRlQRBUSeV1UVNkTYzxST9BYCAlfdPUFWtmZqZSmZ1VYkpcnTFjnO+69WSSDCYthlF3tHkFIMgccyNzO/MQ8w7UyXzz8U5bDW/PhTJEqjwM+Xk4pYpCIGc2py4VOaJ8vhwKFamqtlpGR/kWzHnaDUj0hMNvr9b93QVHX7Te39/HFqy3afG4Vovr6NeuJkbmBUUWBUkWr2iSyeqsEzNSn7F4QbFsThA4e4+mrL8/Zp+sm8lnYvb7zOS5QXqoJ9yEyseSMV5tKwL0pyYHIvSkEdcCUeCxJ0VqJ7bVduPMYebmbzGzpiKlfGRkTgUdduhd2Wi1ywiEK9Vyq42ScNeWQvupPRriSjmXK9cOHqz1j2glnPdUocyTMZYdI3xZUL0LjuX7lkNB3jXVNm374B0H6S4AiGejERMAbFGNx2wtfzKvUTAIdTwBGPLzgH9TgFHaQP+dDf1zQ0UDohQqJFmEY9vypDmCxgXojQYkn0TTSY5BEwB+hftNfOCJTvgiAJut9D8auzicjgv5ZFpVrx8fM1njpM2rszY/n50eJ3A5U56WZCuRWYpVvJguikVn0BbMrJKQLZblOOldbPgekWr91KZMlrOmJ7lBvTZzY8wes4lpXzmpDw0OWDBLEi5xsvZxe8RUiCTwhsxiqgCfF22kf7UdfVwGyuE25gHmGYBFK8xLzE9/8/7ekt4DSHHsCPSgaVx5kZW2wJUT+vNuwavQqS+67UiAVkKrPKccqi49mg3OMYRr5ZKE1uleC5mEVklqVOEG1XBWp/cYPL8EcEmXjyX4mMTzsgjwQ+NkbtzQOV2RdE+R4gmdi+my7sny/w1PVSUuCmmPKDeZiVHC86Ku8mrSUlTrxziWYxV8xnvp9CsJYp3hBY4XOZ7sMeLasibLGu/ZRYW1WV4yBpOsnRRtked5JRGTRNGGucvLCV2SVMXxNYWkhB+QVc+Cm5BrEgrq2h4hPhGaN6sauflAIi5WWFHSHaDktvcT8ikoUTsLkOxbzEj0vqTdQKclEEdhL6AtWkuCbqsin0MxQsinVKkCq0aqgtTYo3GfkmI8L2iKPVxMqCbHCVrC0k3df6QwFvipOHskn8x/puCmuUExd3VMlAlRhYE4GTP9PVrsCEdYX9Z5t+hxLPFFVVBEU49b7KPnYiXtpkcffTQef1TkuCk7L6ZHgKbaf/UK+Q2ywkwBxuwxz6NEuMA20Lel7hSIK5XRYWKUOiaKVdyPwnSdIJU2zMLJBdKeXCRuKc7XJ0WpPhnnxAJPsWmjwLmLPAyoJkaCWORaEzy6QkxwniiV6pAptSiqwnRHlSMpV/7ffCyTJ3GPFZO2RZL8lJmbSOomBlAx9eREzpyOHvCuWciUdD7L86UYJxDWlmUb5i/LSaTM82ldhScDRORYdush0fBZ9h5VJ6QglVRey/51KqvxakksEIOsqEmeBX6I5NOZQiZ/IjWSTZ1QlBOp7EjqpkwmU/AD0+X5pMtDZgIXK219h+NEsvUdGMUcRz8FjzlugOj04RWZFYXplFqpqKmGyLObvqE9GIMDgAUYgnM1TvpzepFEVrAizHhqkIQ8Szuc/3FCMQDchLTRW2EicsfwXN7LjViJtCBkbd8eyuYAoAtpCe6yfs+X93wyQt8ivbnhkZyXl9LE9q19Q7bvl9IJC289Aa+e3uN++EKkpwvrk2JykQ8IgCMsm1Rt0dqUNs9RilMgIq0G1gJgE5wD0IuqCbXI5fOeX+I9Ewo6Y/smF/ApL/evO37nht03b4Gy+78DT0gvn7sl56X4gIMUM1BO0+NLvpcfgIf37r45h0nvgicMgR5Ika+RO0Kfb4IsrEe+7G+sozfZE+QOOEMnsneGfgyRHgV1KFjHiLmgBsztUMIy3RIieSdhbp1zp44eQ+9FIa2hGoSo/pquL/mHyMqcN4UejMdsO50bPIP6lEP+mqou+Ye/h9/Bfvtt6DeFeugVpWKi2Gw7RRLl3CHvCzZ+g3SCjR55op9jL9hY+9XgP5MT/Wy+a/m8qY9SXz8lRHKLHY6hG3/fl1xsdwx1+oIL5i3kW41kFzvyfakvvNiebXlLdvGt8oxkFzvy/O2+8GJHnluyi2+dJ5Vd7HKMjYQX2/MUtmQXKSZD/j25LZKGUPdzNs5SdzjJQ0vP6qP6xYu6tqiql3X9sqouatUvfKF6UdfJGfWHfxiv9cuadhlSlKtf/GL1oqbRuXDv1f9AXiA/GeaLeaJH7Ga+E/AdMq/v07T3vlfT9uk6dPKa/tpr5ffq+nvJT6izOj7QZ/GuvlaGB0/p+lOY7xOQ7yf6+Vr9smJ+oVWM1/5ymNlW5jTT8muQ7Rr9UD/zMs20/Botb4oZhna4d6u8oQd+WF7qhE+YsPpbzUGb4WKV3Eurr242R4k2w8XqFuxbYYpwdhSl29aUNzXdaDWckhR5KUg0IhDliAFpVsouBgQDhhn5HdbLAzkbErXI5FQru0XMa9M2IbGUzE8cUEtOXD37xFk17jhx5YaGXnjswlGBNVi0WoSDcHTr0mDFN6jM8hm6JyuDrBXw+pG6VjBdYd+JE/sEN3CFxnExWT9YN4CWN+oHo5PJxW0ST6Dpt+J0JZksMwIwfqf/IFCfjRoJDS3aQOu0JYqa6lOUf6tuwq5KFAnsWH2fP5RMPGzf+Ln08Rk7W+X+9KRYaonswTuRNhrKOno/sNfMTCAP1Y8NTcye007yw5l5Nx4fTt1558GMg1IiO23Ioe3T9lhi18ycHdHDdsQM+w7f7ftSP0NHFbWNobEj2sCwRK4tlSoJDt8Or91+uH0M3jvWJu/T/sX1Nz322E3X/wst0M7tw8Bo+85pb70eCp35UVneTmd8JPdlqM7UgtE4Ti0k57gtTQE3RY2WgWNuIsMtJYqJcuiY9NXZWAW9idAgqG5WJg3FDHqBuUKYwFw1yUpgblxCkzZUiweBKXkblwlaR9S30TJvBrNQTAif29GKl4KlrrmjKReWA3On7DrU+qK+A/3Sy05oDbfDUXLJvGIGl4O6uRRG4Qguk2UTRYbmlSgux+XLtI/uYLLkVXIPlaBv0yQ98cIL/o/8iE/35J7+GeyxHximTm3HfWpLF/k5UXPxYiSfaFFthRhnDbLp2wR8AnQ54JJm5MhUI4SZAxp5aKY+M7SxhnIvosRy8v5qfpwnWszmOFOSMoODGdLJDFY1djCjajFRq5DlaX5mKNcYQukXyemVqaCa0zjOMuIci8KwzEhC0ITMIM/rth+2XWjjvwz9MIP6cQw4FoEgLHQzhD+00NCmYcmdrTJDkUdZKLC0FU6DMEOL8ZF5thSWvVqQAlc8Mjk0YybSPKu5+bDYaXGiKGi8MjUZDPgdXe+gPnd8gJ0fyQ9TSd+U7GT4+sFgZsh0TI3lyj7WOLAEuTih5ytLDw76HVXthHperEcA9eh9p/XYCiXx7dajiFXAupDet1GN81iDB7EuMOYeh3H8I9SWEa00gCXsiwipxBy3xyv331959MDS0lIA2wGy/PM/j5L5paVNn20d8vgryIODkWthXCCuzPUjMUX0BbUiPZC+9970w5JEHoXdw3BBljdWyXH74kUbtUS4wXko3+3HxOn7BRdCPfo2LUk/JA5ys+HXFqNoF9XQrCryhVwjnVUo6nh6eDhdl6T/AbY6nG9pUcKYOKsft1stG7sXNzjHcshA6/wZ0Dofiewac8ALhRr20H8csf7+UDm2SByvjXi/6rQHJQ9+zbbkQJcqa5K0ptC99JEDp4JTB372yJEjfzNJJiYnN/78wEfeceoj5EWxxyvPKHxP7J+M3DPaPnu2PWrWarXiwSL8GaP3nG23z94T6oRXmQ5rknXq31xghpkGtntfV0/dMHd5OaJeCQWXMPjQl5s69lTKADpRPb+KWlPqExhQL8RAgcIqQYAYmqx3KBDN2nU7u4RpiGmi+yY8YjpLilSnKlWgMZpAF/6PANfbzA8w72beH2mBXY/ScmhlRkkv4KpYNEKqVEO6BpAzdB0kRNeNOCvilMY5IdqFsF09t8A1FtnWYsiHt1vT2NVIElYmOHGXhvursU6MU1xrIiYGojIA/K0CJ7EJy1W4N3+Uk1kl48jysBXIHPzJgTUswyxSWLmy9Qj49x2Ppql7yj1UEURWYhOKafLajKYUkkayoMAZb5rKROzNHlgjCqdYImsEWVGN5WOqmA2AHLLg7sg3edSlLjFxqnwK233m6t+SPyAvUz3I7RhpEEZCaHrqbRqeoiytsml82gpNT91NjmW7vaodvrDNXBV3fWtVr08mVcjZwErEPVPnXZfXTd9IWHDD9JP0hma6CdMeniqVpkobf60bKUPL6148q2c5DnZxT89rcFPPaZ6R03McBzvD064LxsYXx8fJy5ilF4csbTPhmhr9RtI36TcMHz5aKGHe+8PsDH/v7HJbHx6HfMcADlyre7Z2618b9H9L99oLejuVrrhFthnAB6Dtg7lp/bVpKUpCURRmiCIkJJ6poWhfA1NHCy3zQ6O6Pvoh+IYoDgzA9Eff7XU0+ekinTOmqmNo/XWV4QcHecLUQxOZ//rd7813OSa4+kdkncZqyQCUjbS5+Mn9hBJ6GD+EfrLpNRJlp4oSVcSbAbXZ+/CJdN0Eyq/Fi71Ot3PfS0PvmaXWR+vmvFuqo3O+mR/h14KrzKlTQa0WxjX43n+T38bTo+3++DbOyUBKqwyETbPhAD0D0ANYJyQPgPjahCAhr/9ri2fFeFw8vxgsno9OyOPzz83XI96Osv7ndjynJzc+N/9cxMUhTdv3X1UB56KXSd/DRIiCP1XbZfJl/yc+fMmEOsDuJTgnr/gvBealD5+B7Sf8lyAfF21eyR+S9wHutoGCwHFTori7HlnHLQDVdpQ5AbAALbxvZ+5iLoQ4i6UYiqUIpyF5VWxtlEJIcHDw6HhVuAYEj0f6bNBBgr2Bz3DnYfCctoBtRomqagOSAcH6ovoVlb+Hh1//ZMw/Xn+kfGf+EzfNHPjLWGx2xJ+7O50uVysDfzdfedf87Pydtja48ef6T8wptwuf948qb8+y6T9nRXbjPyVMMuPu+/CMOyOrJiHvkz8ty79Ef5/20+nqwHF2SMucmj1Uc3k+vpCad1U2axw6ODg30Bm6e//+xdo92qKR1tVFJT3mTShOltV13s7nZ9l5+NPrLNvn9TygxR6E8TiFozEK0uihRDcx3Soix5FAIgNIColGFe/HeEQlQ+X82BQvm2p2XgXwmTwEe7Uych8RNc9MpbTkQDKeEoT7DPLA8EHfmVoYycc1kkX958bXtfh4K+WxshWPVUdvLHuphCK7VYbZxs/t4r8SlItLeDuC2HRQP78GvFwv0tXDiybOdZww9b5/yVWghq+Vww3uwSsCnb/NXiNyQN4h7fpsrqbnEsNIdg8ncnotV923b4fkyyukYmhSMBhLFYBxYnbIp6W+7cjuLwOx45SnUdEz1WyE8ZqoS/fuezu42L8ayiIsA3rhlc2zHUwti1qeIAxCEYQ6n82ryKbFpPAoBdBogtreUN1TY7sCqrxbC1VsFpvTZeR/0SctJETpgyUCH6HZb6xHJ7T9kVkHthiDhVzBa7Lcj4nRPwYAuUzg8s0ObksYYMRc2RYnLh3G00NPbw/pHanoRM4/MDQaveC1j31hzp8PXiNKJ7hsoiX9xjdeC+b9uS987LWg0zEvB8wu+Xlo95mndooAByEzgH2QF8BB503g4hUEacViBNvoydRRMQjEo1PB5glZ2ZEATwo7EuAJLcuNVzfI56Dty8xiiAkkLs4BaGLnWEocUwN+gnb8BNXUALgIHgSEXmWETc/GSNzmJ1n5I6L4jMpqbKxmcfzBW7T/2eZl1vg98XcsTs6xv2PxKmv8Phy5BJEvyNItKsvq4kM/NEaWrY0/k/n9HD8v6vtjSXugcjBZi+WsmmUkF2Ix+3aFG+f5mqDpA9Otv0Xb2av/GWirpzZ5pp28EspdBafPHYmrqrwqw09dFd/73vdu/HVvtdcjT/FHefVXFOEcz58TlF9R+aNBa2Eh/dKRj3c6Hz+C9h11aJfQ/6K4wwODxjvA7wHszm1KT/G7+0n4bSn6Nm0+ZNiwMINwA0A3MnEY5KurnlHlriydOyfBAS664vT09LPoe3Npdnb24lBydnbjX3dIQD0yMNwVW+W1boXXHlH5Fs+PjfFwUB/R+EpX46tFx7a947mTqdTJXDaVy6USci7n3zBwUxDcNHAsvxScPBksMdFcC6IYPYipomgYQJG3G0Jfo9IAWj00tGiXRMmOfPoLpFyVtl0fma7w3Vc7G2/wlelKJe0lbzmddNOVjp7g0I3lN3+p86Ofjc5Jt5LWtJk7v6hp6QqkNusT8cq0aOgsRnBIWz9y96nS5gWMyUMMT+fbMFOj+FmkbAMNXIfuj1SgQbk4YMVRY1ZgKfsgovD6Pu+Ypt7qnta04+5RNlY1SNZ60b+Y1TXraf999zqOrr/HzsZil5TEB5Kk5x7XtNPurap2zIPUsaz14/4P5zTNep//9D0uIDT1PU7WGIqJvvlsEtpP2SXnK8C4aDL7mcPMjddC076JYJ+FDH31+k3cvzuwK1Vf3r0Dxv4CNYu+OaaqMeUL3vUEWzXG8z9Gb5PQaPp/oU9/LaYoMXUH/D1Jn+cUfC541/NhO5P4tgjrN6v0Nbrv28ebVIaKvj2hHxeivM2ARq05DN6Lwvsw1AcwbFUKr1FRHoFqjOH2HpE1J4qraGjz8hxXEaRPIrhdtbOXujFLT1d6GMKjiw4l65gGEs5PVnmaAnZW7JyWhecxK+h2t+z2V6KYctY1lq2RzAa37U4tiHpx24oat7S0HHqFhfafW+tHqIwBdXa3IroNOtXBaxakqAMyWV3auERP6EV/FYnVJTPyMmC3yXBzfc+trQYMA2CFgpJyc3UNq093dnalCxtZjq5hF2Tt7gpuIf4I6PoL3R31R3k2DbZIyROof2jgubYE/2jjCXW+ytCihXHyMJ8PQj7vo/PsBtq/AM8IhisEVkAYpTANAxbOkUXei/M0lCHKWZzGIk9jGSIKaJKK1DHZ9rBp3s9mUfu/8zKZZzmFF+4YlXlR5BeH8yyrbl1Cf3R4/iHzrEla6K6/4yozw3EiOyOKivKesf65rL5njPrHzV39G/Kb0AZhb6WYLKW++9R1qM9qAN/SAEiBJDaVPbZfltdkfkmWMTi5LC/ZrcOj86OHW2dLhz77UKU4OlKqPES6AJ1VpONUtZvuwJ8xFVy8+NGPouQQlSzDLENuY3T45hgzzRxjbmbuYx6FL8Osbjds6i3vTC9AM4Xn1W330dKPdZrlEhI37c1EZalMnzSpoSTSOu1d95Ha9aL3XuZYMs4Rdpzj6OFgdP1B2JbyYl78YZZ7Fu59kGXJzWcmC4D5f+CD/ednOHIK05AljiNpkeNKcCSfIhz3H+Hk/4Ibr3HcB++U7nwW7/8xXJOA4zy8M7h5FSUJ/fWBlulS25mQkkEqebrSD7Qe6v0oWYMMFo2UgwqwKEp7+0pQqqFJqxWrjCQKtRK9zKQrljE4asI1WSkJrbJpZgYrad9U4wnDHyq3hNL2u1o8EaN3d9Dtb6KHEfeCrp8LJWzbYWYyFH/1/dd7FC5sj6aMYZKvBKf9ZV1f9k/TtWSQ3LvVX1bVZf/W2wIowVZZEozPDES4YrvOMFynooJxO6baFS9aacKb8iqSWIUmhGdemKqCj9DkMdIdWolieiQji7VeaUK64Vj6ZySpMC7zabeUJR+75Zbq/pPCrXHHUVp69p5D82OtYk7uV5Afr5spWR6Km7ODdo2XxUIiKXNEbBQ8ws6Nn3aVgG21KgckKXlzUZ8N/VEbV/+W/DZ5ctMDbCqMANzXpFPJeI5qvvdTLfVERA1VQ58lurUWSbXvdAFsazNOqm+oswuy+oCdbDaT9qz0qKI8Ks061sxM0n7o5drJ0T88WTuRPnr0xtzJsSzhxv6udnIkO6coiTvvNGWVvEeempLFg7oxNh7XymOKcFQUjwnyeEmPj4wYscPFwVqpPlWuO7Va3ZosJgjJFEvjRasmiWpiYX9SFSWKU2AMXyIvARw5CHz6I6gdc708qqQ39ZhNFB6LUjnUZ6JFplgt1aitUqUNk7Pltqda1OKZqjorXoOaeuJCQbikQJWuNuJNOa5ksGV62ZhqUGPDP3VFmddkMr8EjNuhliyLjm6TsZnT80OHkpomVhKHk64eJ0XP3Scrk5Ir6gemkmlJFXiexbUwdBo6T1AkvoLLfCgJecTkeY7FkG25OCEvBaoqKALR37547P77j83ekSBcwhpMScS4oT5/ericIFUygkaCBTJEilkjnslN36Tyv89xKs8SQZYljhdkjh1g4VKUeAM+rKqE2THfDJhtRboOkB1ny3Ho/Sa1imPRREtoSOXIFubpoUzsk7ww4/E6/8khXfiEmP2Epm383FeDjxAGo9v2skPGJ+GhNyPwn0wKn8iK8DwTXGU+EnyVfq8D37uN+qDEd3ihYChOwqALUOg69ODvbvyvNALrGXUlm10pP9gN6PurZI1Z78OH1m5HtugYrij0r7bt17ctFtRfMgjyWwd6OgA8tAveuLuOf7n7ZSCK6fGRbXvEL/329JghoB+6zDuYDzAvMq8yzKBr0/A+JRpEm4Z7bOEiF9Wy41LJOvwoXHWnqUi9AvuSBGMWRe2iHSXBSBDVFgraJ6ArPXoG102EPO1KKIaHO7jwBK5tVImyoisduW36hOYnOdECOwjMJTeU6osS+YIkxY5NpqZSk8cMUTSi058jVkIYzBi6Kqmx4lgyYOcUd1SLm/EANm3UVebYa299JgbJdSMzKJiJZGKsI8m8xcNPlmRBFIWfTJjb8ky8tJk6kbSSYx2aRt585y92lymGJT0qE8FSIZM4b8YCXfisKZl5b1Tj53j4aaNeHm5cc+u5mMnH4VOqhWsg8fq/5+MJIVlJCgnIJumOucmH4fa2fPn65hsCvCHoN5hJp+Ykza0Xw7gvAY3FqsFscnZStsDaIFELEDOUNm/0zMPPP78BFNAvKArZjH98xx3G7/7usiBEcqbvan7CDp1GhslTn/9dfmVC3zABPoBhz+AD213MIFsMNm6OX3fdR1avV5SdWo966Hs+Npa/cKEuhPh88epVun6IBd8bQR14gbhinEyKpQnSROaviVFfHMQu08iLi57dgJFab7ZJzYl3DRL/YnwEjsYb8VxCOPXem0Wh+8FbdJ3cpcdPkWeMLjz9omF0SXzE+CIxijy5+aklyRS6D5wCoHsXJLyZ0jnAfpAfC9cK6FsiongmS8lu9MUIHatQeFOhkQ0XCAkO1FIDUyOH9A+vrHxYPzQyNZCqHZg5ExssElIcjJ0hvZY9sjgZiLYYTC6O2K1TC0GcjQcLp5h/pG+yzGPMAGDzr0Wy8a3VHaSthSHIz3Y1resd3vg0ufnwp73D5OaNTx/24B75GrXhOxQc+gruqIUg4tfLkFN9WxxwKk3dNF/htl9c7gcT6PRPSCRUXVuDwRPd2yXLtN7E4oZqZ3ZZ3ASY4zZCL08jT/FAnZnka+RHIryCVgae5cGwxjAWxX5ehDHWjOxGLwuHV8nRz9HcXvA3Puf75MTQxtcvdc0A+q0/TxLU5wMp4s0gVqS8DhNh4xsfw+mgfAzG/9rHNr4RwJ4okV3CVr2GmX3MYebWPerWQlYSOEnUsUuUBw8vWtI1XCaNckqt9l1KlUdhhIFM2bmWZGFUjItZK5mCw/D8L4tAiPyyKEkKz4sse4dr6KIh6juarkNG85YoOlaaZCw4sfIjD0jCA0AwwE7S+Qsse4E3DC0u+aLoS3FtO0+sMjaNvNlXuKCZBfQ/kghBzwy+7P/mucuXg5V1pKuXzd653/S/HATrK8HlXbrV9F7xLzZz3Q571nqoyfnoud0wp3fuo1SfI0CZOuRvAF7mgLoNfbah5fPAUEoGTxEvN8G2FzigyBvUxm8KaLj6JAZT2jJXrCIFDyTjIErVgGz/w+MnZsZ0TVV5o1a/vizbcvlIYxiuVd6cbL5jYoqY+4Ab5pTRfebkdZQRuaOYGRhxSZZ3RwYypOOXS3oMSDijks8AT8ali4EGNJ9gDhckL10Y7QhCZ7SQcQPKssTczIBfGjETCXOk5A9kcEypV78O9XoF6NsqlVTdyryNxpDCNVjpKlowrUUvtGCkwkDKo0l0GcsCmWq00TxdoqHHajwaSLR3VbIarZ4w//D4aOXEdD0hqOrk4fv8R3JT7Un/nq/li0V0JtXG84n6bw5z+0aJprGSmLGTROd1Ujg8WU+KqlpcLGcGhi2ouTVczr3O8Q6rkFceNv1CNSlqWr18r/9ofrI95V+4Ry1q6JpaK2LNjeGYProoYEDqDMYTZNO5QVPQtCpxM4FfrJjJpFkp+oU8yzo8J9F1qYapvhdje43hnKN0K0GDuCh+Ikp12xGNA2xLG9iWEgpzW9MVNOIP/73NBOTR2SG7Zrrmy76pm4qk27oOdLcj8SwrKt7LpmeO1+Pa2PSY7j7ysgXUNCdylu4ImqlKMedlsjK8zx6HVC97isQRXnRUNdAhF0mLawl43zVrug6va3nv5Mt2TFJNDRgFixM4lpfsl5md8qahUIeCAjtqKpYASJCg1laRV2eZSp9wyiWWSYBCuI113H9iZKSUTWvpmDohDt9Clvv3MQ1MxYfrA/kSO6bphfrDJPjn9M3eZvxEk0o6Flkat8ApW5LXC6TLqdRlKbjy6qtk+VPCSiK/sZ5PrAifIqV3vIOJ4ukBndV/nzQS5SZGMGgW2KrTxqBaYQ6XX0WTNZoDCTCHh75O39eYztV1aq+G/HffR73DHKL65Vsj/WQou4sWWglXXsXoYU2PxoJqhA7ika2r92ZxgZxwZZ7yGlBiddO8AlDFDLFu7yoD6I7awprXxAS6rBiKSVeCWzf7OjeGvri0VF+/bAZrazT+yLZALJ0wxn4o10UffNS32HQ92duwjdC0y0VLXeSyR+mqnVRC0uiv1hcu3tds2P1Ji0InXGWT3mnQgGPV3XJ1UlL5+HR51vxwOptNf9hcmnn7bWMHuds4rqQqpjla0RUpKFnDVV3m+GzuZC4blHhyhqsXhlX+bVRe/mAodu/JabF28nWs1m8t7Suy4wd/iRPqMzb6WPKcyKt61VQ4mKG8oNSGRkaqEzOTIvnJxRH55W2id6g7rtHzJ1D3IeYU1PyOyK6tMQWIByrV9xQth4cJQh9WC9TIrezlCHUGBaKN+oTWkS8EiFxjJ8MAKB4Oftg9kwxE8flzCd9SVVnzE+eeF8UgyRpGRpCHbN40eXtIFjKGUTLY5JAiZDRd1zKCMgRpJEjbFTWOhT9Og1Px+ds6OAigQ0mPf8FOaJoi2y/wyWeGJevGGy1p+BnjmaQ0vJ/j9g9LyWdegPbg0C0MDvwLJvWkZXbEizfCla+p/HY7Mg8NUhpL5hoUgY/k+UtmMExWeCgH1a3TOFSMueQNR7GIN2NmWdQuoxrGaNpJJaDm1tmy4tkMDIPhbrfrDpaj0ZoNlds7Y1/RNgjMsl7EIV/Uc0FfntSP2YXzde/oG1uqoKa965s9uyOPUbt+Wd79yRO8GegPU/cA7pblYHt9wzbMhfY1b9aSe9mzXtu6D2KN/ULBH1KUVdiG4HzPFu+sfdyuVOy6qtZxg/OIV9xsA9SSHQmj36DdaLlZhJb3tiI8oN0Ktapoo/NuebpvQh6tKA9zvUFXz6Wm5BUkcQGKNWjk7VDJEyBcCsxQuQH7JQy0+Z6krgboqCgIHK4BZmlqQIgo06tvUDAGNYGm7S4thav+4NYNzGVdi8MwF0TBS5i+rpocYWVO8EreKqQ0zW11C9u7yEy+eWtv+jKHC15u6i2vbfE8Vb9d0AdsGggM9gPTfmfPNl+igCOhDjo0KBjsB5u4iiNzTdn6cfn2HgmoKcGzPUrzMX/J85b8oLRnAQ4ZdQN+2W52yP4Hn8Nx5jRzgXmYxlW4JgpyKGW1RbShAIK81QhjYTsoY0VB2QiNiW2L0ZrtFYoxGtRsvlmJpLLwFDJoN1pTjRoa00+iXLZZkeqlSXgLEGWrPd3aPj0/TGQJoDqRMLSvxVp8QhJ5opi6wUosawpCnNM5TZcglSoLJu+zRGE5IUZ4DsaVBTQ80KgyS8R9BANns9w7WYXDlbUldudcPyMIsmaJPsvFeMiFk/CPmIRorEbgfULS8C34k4DNUjiZS0hSmi2Kpi4JwrvhOcsjOSznYB4QkhJxHWlWJvw/qTH8/VQ2bse4HNhzRIaBKlAXG1oBjJLtY+dSB422EEzRmPqdnR3eHWwNqrPLNMJ+pO/+R8YlxW8KQbZZwV7b4l9YpX97o41QSf69/t4/LnzEPpzZU14BVdq2hma4Cimlw9lGuNQ1kuTbe7Vr1gMvweq6m/AA2wG2CgCOEE7Y2cHLwdGEJ/te4mhgnkVUOBQAVyrxAA/Ofj/QSv+QdpbqZt7aHnErd1vk95dhTPTjLTq7mCNpz9DK6ANEw1CGu/W9ftvXKkRmAUVSGLRxV1hKLooJ2Yt6IrLLDtWq++nKMxiPTHLaTSrW4p8WO+mn+YEn6k+8QuNfivwrD8lC3Qo+/govmubKyqVl/+x2mFVibmTuDuP0hmgSF3ooi+URMjlCwtAo7QWu7RlcyEp5lWZlka5/0l6gfEcUvQaQJgqIvBCnYvB8DOfcatBwNP9Oh3E2NHRzoXwCUJTKEw6Q0A1DpY6UNwzWEUzdF2bTgsyZE3Fd1UVBAY7CZWU+lvRkVZNF73ghycfstK57kjbBsqIqsClVVzmYasHkPbctlKuA+MYqMydv0yq2L2eBmSlKN103mhMkmZ3t2K7NE1GdGrVFY2hyeArYnvTUDbdX/2XWdGVeH8+hmlRw/AkTcU1fvz9A41WH1n241E8OmCuMSx2KppHbbAJZCuRpi8aZp+vRsdOe5HjYinRVOtSEUSFxIXYqmTypqlnglLOqCuxwMFG09CFDCbqdzodV2e7ZsopG8728wVkdi4sJkpLLoGokk1OkIZgeEzRWM2sEkqrxWkNSrNilS7gS/FJAdQNLTA7GytuZB1Az6NgGS+NftDFSRrvSdr0WGg2IUp7FQAmSwU26EnQVxreJhHxATKNlcZkqs6FPq/AC3Voe0E1TXqXcyrPeNNyCZmiRX+SSlaP1k3fJKrGJxctiRXDSHs9p8RjHEhmIHdbQNMtRoGZJkeX4eCbJ89lKsmIQIS1B/XRF5I+pMdY1iej5lbmCyQmaBNTI3yjx4uL84ANzriOzXCJdTzoqsM3Ak/okJhEgkAjGjorHeMLqOU0XgKjR9UzK1RLZWT6ZHWWVoRzP8jGBQP9mPF2340niFVQqK6K6/eVolU4KactNGvQ4WF0NLq+skOX11dVL6+H6KuH807ZBis34ek4Z3doo/NtaszV0YdwBMuD+ZHSMpM+XgR/Z+4/qNtD1Z/eDbv9kk+YIY8WmNmEklfVgrPiwXPtZL8eiK/CquULXPw0ipyJq0xxggN9VjOUO2+p3aZ2Nvj/8GvXpiOKyMlvWjLSxtnmrLhJsrmmEaA0EZn3SLU7EbV6rkTFj1VCWzQvGYOYqkxk0Lph1fuSNEb5Kn71rQEwahDGS4gBZo8mrihQ81Us4SFo5id5TgVTtiXyLeqjQBD85Lmu4dJEmj0e2jX3f6jB+824ZYgmuoERwXt4tP+oRBvHXVWZLyPXHtWKxVvwM3aNVefgM0wV9RerZIn1Kf5v2lZfoGtwlZgTtXHGcbSdD+rH/m9VQYEeHG40DjN1MGFHs8FSzgT1MVacojFuCnuY7okg/ixoO6PDef6gfM80l5HAvLaMXbTdakyAB4ylPvxza/oU8NWL85gQdCl672cXS100+G6H4LA/YHhD7iihm/m2E27+QEcXek6b55D9w3ktXfw/aDP36S8zYdvw4Sle2biYis2xcKhRGm5Dw9uNiA2GAV/jKkr2mv1jSs3yHz26sr2b56FtfMH2bH+JiMEkAgHwIvvjcJbj9JL/xmaJt/iBcPxvNw3/M76MMmhpyUitV+LpFI2tZUuNKsByUni4FvcZ9pLux1u2S5Iu79fUF5hDw0XvwKyghRFfMMq4C35BgIsSBNUZVcyg497KUImtTWFdZ4IAftgu47gkGtZreGT33tKhZvCmJrkuAAmHt475HBojGS6QuDxXvtG0HMK/mXr9PUI6bPG/tVMXlHSnhC7ou+AlJSSqKKKsix2Uzt/KElzk2yZ3JuKwQ15TOo4ABkkmO8Cd4Vgj5pAnqU/HjjEIj7k1RLA6cPxpvAX1i8ID9Fng848IzUfKqIlIyhHHdM70S/9Rvpy134obFg7aftDqLN0x0Vb55WzunZtKSU5s5f53o5u8pD3v7ppEOefaM6595aiDpi9b4/L0LVnru7rkJ65ZU1j14/bTPq17t+rnZu4YG7oNKNdv1LZ/QP9xal90K+QtcC6dZIE30Dqi2c3z7Cl2QPY1Ls/cuJpPpj5Jlug67RVdmJwFdmX0dF2XHFdnPLEdjI0mepjrnILQ1jhOMFYgUWqgVaaPJdhmVxHBcfSNucwU2qc3co8R0K3ZKkDr6BVl+QCfLXnxVi79H5YUYGUNlyN9eEDuyKXe2w/zetjU03tTGsrWJCzypUpKqO/TNf0Fd9j5J9499oJrOXcild3oNbYu9cqqVHBoK7e+3fKdiMAfDCPShj92OWCzUXhKxGtKmBeJOoRdLi8bjQb/wKi4KNdoP01MZFNHzzkO3nlZbcr0oXNFl3cxm40tDGZdX93HuUY1znRHL5fWjLjercG6mug8XyT2q8lleO6/BXj3681pO2PjvYkL2xZZ9yB7QM87fO6nN6EmsbbOGGRzSpJHRsnpY4I9o5ZFRST1cMEeATBVbon6rpt2qw0nJyXt+zhErnc7zZcMhdqyIdpih/8YSjPIJuhYQRnu9nda9wLtAiVaqZQPDbSxyuHoj4NY8VLvZBtrdydPlrYRtAYtbb+J70L/+6vluKq0Qlx8pBQ3paakRlEZ4lyha+f/53CmbTY0WOdZ4yWC54miKtTe+HnIy/5ZiaY/uj207x8ApMqe+WmoL/GChMMgL7dKrKsdrRvbjblFIOaJhiE5KKLoft8OcKO72tilLwnOc79NX/4r8CfmFiLMbi2IveVthnWhok83IRqENKipwCaPWdZ0/z+t4XFZ12IulN/xfK4n0fFk/nz4n7Tu3ryrcmj5Hfl6d1HT+HCq0NX1Z0+q6JpR+zX+jJNLzx0rn0+erkFqE1OeBrupFer5KZLODjFSDBqCUGii1Bq62sYCL4aDRDlqWtkjGsvXBA8aFszwbz74/MK/MeLLCCa0RtV2VybKcj49X4tXA4Bcn6h0z8JspQw8K3v/H3ruASXJVZ4Jx4/2OyMh45DsjH5WZ9c6qrMys7np0dnWrW90tqVOt1hNJJKj1sGjjAgQWAkTCyoxgMFNgj8DAyGXGO8B82G4znjUMrCg/ZgzYXvfYn8djlpnpz/Z41xjj/uxvvdjjrd5zbkRWZXVLhvkGbGtMdWc8b0TcuHEf55x7zv83VgXyPVyE7+EivJxwEf5HMKa4PcwWA3q/6X2E0jFPJzp1jTJ7Eb1jKfZieR5r+iYGhcL9QGSH+9l/mpRvOiYnLfm85Ep3yYh2624iFNUmyuybiES1aZ+QTxyXTFc6L0GSpBTlf5KZJL9D7gYZsE693yX0aK93Y9C3KPiEdKnfO51h29HDlPt93zd5U6qvqj1dH6rq8L10qR84Q+5Sw5QHu8dTfV3v0fPD0XL8zN+LPIzkgE0a1dAFze8URXxzg047ti+gglqJ+XErGEVERbGyu0LQf7lVlkxWai0iyC/VpKfJaGsnzPE8Eshzx2L6EvsYh6rWBNLNvw5Ue/ibsK9uhVvbqSepllsnokjqaOG2e5GDac9G6ucwJDybTrOEIyHG9Ia9S6DrRzFU167AOLoN+u8qxXsl+5XlCO0Rx7yhxhih922flFcVC/7PM8ovKPCfrt7H8rN+NccJRpIcGkXaLdiwBDE390M7O2R7lBRX7+PZ2WAiRzCY79Aoqm/hbaqDviiO+qzqCFzumZ0d5mWaZ4ydVmh7PxpHmoKI0l5FjznqNtep19AQJc1Rz13qVBcZFcsm2h0LfDfHei6IM+2lS9ubpw4bRr2ZVDR7IkinAzsrCJqSbNZVdiKpuiwvqIZMWNVIWcbhU2S42T9yIcnppGqnNKGxWPD9nJASRU0lJOf7hcWGIDt2mASVRBADIuiiKEiWwupc8sKR/ogXAnk4s7C1DG9yAlG9kTkbJ1rW2ZYv7ZUsHcqhi65gUIgkjiKdajfiGNbLLlT7Fl2+wlkMqvCygjMfJK3ao7/5aEMW2T9XW6bdTOeU/O2nX3FTxrd+iYrBL9Dlh2VZ/JfwA53AV2TB9GZnJ4/dcfLkHUenzLSVEX6CY4kkZ0rdRm01mBCFybGYA8GEv5f1N9nnE/XoXBiapGmEWRT7iHnqBnHpo0N0rf6M+gcqb5/u9Hf6ndN2Rj06P3VEeOELrEQ21epi95z4qjB8lXiuu1j185X5o93JMOcexEqYoV9/X7uIqFNQlkTNmYIQ1ypS/QiLHS6M1XWqewSIelmv1GPEvx2jojSNnNqbtlZ7dkLjq6W0xpZCUDAy6lSFMx3ebPTchP4Evzo7myyMBj/CVVVHnCqUw2avSOx+Tkg3Pd52Ta2kSyFJE1ZitxduNZfDcqRjvgvy/RbI9yxzGGOSJ9wCG1mHKTR3MMdR7maoruvQJUuV6GydQndXypFXK9TbOQ69MEw46ZNpL+MbuXalMOspd7SIyPOCLNdnlKBVvVAsCnrCTtrlaVHPOCm3FkwWRUv1iCDlJxNi90uK51R9s1hw7ZSvTs4QVpZ03SQLBS1X9h1OK7te0UpqLTVbCqpOpfvlalJxLMUkxPQSchjhKq/GuLpTMNIci/j+Rjn36PtFb4RvB9+/HL9eEBNX4KsFY0qPFL0X1hB8z/Kv7b2Fn/aPbBxq0pfk+PgleXirzBS83gsRYctn4MWk5eJkkcim5hKBDKPXCM2kquLbltabKXxTRYTaaywU9GzZtycS1c6imisFA0rncs7wEkqYH73sP4h3RIyl/5t8hjwLbeuVzJuZ/4V5LkLIjgH7a/WlJg5Q7U494i+fizzZRmAv0PfUax2K8V8gC35Qo3sBCBIkKLAg/HmuBxfGLOVQIiBmSPQsfcKB4/UaPUgDK+vlOFa1024utdFzjgxKdn3CqqL/G2ENDXok6Hp1DTSo+aLg5tygIsuyAe+VSFqEnahIkmZ4uimKsihwqs1neEnhRVssJ3Veel6SZE7I5QVBESRTqrg6z7LSSZkYqsyaX7EVrlBzeTuUXY08mz/5yKvvKAl6noKos7X6dDEnazMuMRuhxzmum/MEKeHOGojinlnMmO6MJoWckFTE4KaqCJIOe2ZFSfKsecv9U/2sooc8aC8zh1Y6SlLg9PUz5Q1fYlnx5nJJ171ypdKo2qLEeumCl2RJzhVkLupH4GuR/0bO0/n4TqxdxzOGWHxrZFysqI9QN2hBUo54tGvV4aN/cXZ21tGD2bfOBroTUqEiM/tF4bnnntv9mqDa9Sfqtiq8RRDIefaYZVnnHFORLUtWTOecOhzJFO+VrWPh4uLi5EmWlwXDEGSePTnJstfF+5Zv1CikRT+e8EIScKxIB3SM/2gV3aKVCCRyzz1ECg4aoLLZIKGr5OGHVSMRRHicTWp7aeyNCKM61KYwOZQVukKjn0fL6FycmdH6nv5yYyKZnGgsw0apjtQ+9FcvNSJqvM9FBHlwdiHvlMtOfgFxNxfy9toEbuBvYs2GoxFH3kTMlHc97lz2xey9VMqm81XjltsryN45CK+LjejDqNm/8b6pF7Ujd1uo6x68KXQDvetvev78Jr1p5Me9TQZMATmiHIotSwXXOIBlHjSFI5QoBxt/GdSJ9lI5z1fa1ERBQSfgZJlGnNPlf1gydT0DPze3MXe+VaolWKucc3V9GY1JsqzWgonzOLMKesHAF30x527NbdSmk63kjNp0QeWPfFqbtng4oalZbTo7X9qyKVxR2Dyov5Yp6yX104gsrREDrQ8ZR8s5nTQGoRyDBuhcMXqcoQ0SejWMzQGZvbNCEa8rXVi3/+uv2mVRqPiPyK/1KwLLJ61Hgnl7aGt3BnNZ8y5xYHjQywjyRZZL6K9VHVbGJHqCY99rP6PTEL6i5nvZMOvJVjpvtm37fX7y/Y0w9X7NfLppcLwnK6KMBGOhlTY0eYQz3ASdYht0ihwTxryPWPrWyItcol1xjc5nBDSeDwUeAdGgEB8CPsC2fcX2Ek/lGjldgL4xkeYvhjtfvkAkRxd5seqG+rM6JNq1s1z2EM6LfYoTeSublISLp+1ms/+IKssCDCTeL9j2CYPLccbzFKOO2jm3IF+UMQ69wSP39j0mthUSDw0o8BUFOONSs9dKlFNi0ifc8GDrxueFTbLFX7z+PcoHXuHLKmo04/lainx5aLuHAov5l5Dah0V1FyGiWtTsvLg0zR7hqNME6rh/LCWzFi9yn8I8HYLMIa/a6Yv2I8/T3Jyw7V/wRIUVOEHegYylE9ArCzrk66mEB3m8WLjwZchP6FZFHgRkR/p+yNj4d1yK+6Y8DIvxJDGCAdNGVIQNbEnzXI0Gpget9hJG7HOQr8/vPYGPn9nbfwiJHgqq4Hiehb1X4fczrY5eZHeHzl+zNG+XIG9VbDNOpD9B9g40dVSQiqPG3tlr7RycEQ829lGbvxpmeBWUfFT0N+ZOT5UvmrmGaeZcWeUPUyckPdBem8qdjlv8tmvzOTfJ5dyduQ1I3MiZpr7t5nhbt8MhToy36rkpLdAvpuZL0F/1etCRDbdhJHwV5P8nIP/TzBpzjnmU+XBcvjizhD83z7qjoDuMSqWBCfXaOhmVNwH9YA56iSLp4jQ4dgpNz60sBkudhW4bmhEKJGVoa023IomBjwwh7QWMwRIrMIxS79UiKZCoFFAX8zGxFYNBY/FR7pNuZ458tZFLJi3FcbIcdIITq5ou8WKWk6bEZK0isr3QdEJWN0R2coO3WyqfIrYJGiOIKCJ3iGdFjtiSJeqcQ1TuNYQ8AqqYZHKcoMtTWeg8/YIqsbLikhWeUyVFMFn9NhiNOQ1rxjoopjb0swVC/56f25ipNIjvl22W+0fJip5MiimoKs8I3y+JnC6+R1blqcfvU1dZohGSINCAdI746BQ7ZYusIM2wvMaTc8RA51jZtexGujhfOhfovGwZlkQsmedFVcnwvM650Lp1Keqj4Xv9Iq1vd4y+VDyyHBheWFrnWPxCIrr7jFe0GsWIZ9vRRmW0hjPQTGTZMU0nkeFA083f2s3OVMkzRrZh8mrXVHKTmq+9I1fKTh1WDYUtsIqp4ERGiAV0jAOpy4Jq+LbOrVnyTrORNXjtf3d5Rfr9Or1w6B2aehuGxYQ9XPbi5ab08hwvhRjb73aQmVaZ1zHvYP4ptROiuN3tFMh+v4kVOuJFi8y5R0gLBs+KFCxiJMzSNGnXu3TepIzDbQQ6hQ0NG0Nznkh7/D+tRRo3hGnb84TqD+XABTlwAdpVtzNPmgjIgf/8qFDgGFf73yTpQCXN7VVmIWPF9dj+Gs++R1aUqcftqAoT/g8N5VtWSTKqvtztUMtXoYqL1ip6xkFbwzoOcr7KixbreRzpk7Gmmhu1ZNOOW7JQmoJGG7VgUSPct2qT4l77/cfQyANo4paYOkoIK0YN3BKJLLN7tsWfgTYzg/MYaOPykIW4AFJ8J8Cld10/HSlfOH/lQ7/Gjvq3gx02hx2SiCEmuJY8jGDCDvLfJTJCyuZLdZ/nZDkZ8NZYB47sWbLq2bxqikTKhzlWMyQy3p3bMMqqrB3miWRoJMfrUNYNAh18gjxwSzKQS67DsnwpecvmfkfPvitZFgix0zwpcppUGEpvlyTYeA9h2/vd/iZLzooaJ4vnxQ9IGidJ5Fld/zEiMv8TjGP8Ho92hJtYin2O4JuhkZ5DTKM6gkKMLJYXdILQFejD28w1yD2N3V8jg240lTvQd1h2YNsDlt1xt7d34Bnx1GzcT21Ru2mEb1mJPOU89OqlHnORuS5Rae15OY0oOPpDG9177XjVDGEZ4oJshgNQUXavhHSNeEubtr1JQlyO6ScViiFKe30WIbdQFIt775H8iH6bGAVPiTXXyM9/4NGci73Y+SfPN21EqQ9pfBrZfPRUr+fm7E07XD1/fjWEjZzb6516N8Y02r3Ivh1e+wbFLk3G/GWUBIPa2vD7k8cWT3iG8NnPCoZ3YrHdapHNE4vOlC185jOCPeUsnpibo20vuodHvYpijg0QwrHSRBIumnmKbJeygCLRAzzhQ4fn5g4vnnBV9VO6/ilVdU8sVpdM+2MfKyxVvTlD13UhsUA25+dPLriTqvLTuv7TilnILpwMl6oJP/mxj5XS1aVA10xTsDJMjAu9n4+Vbz8nMW+QV6Hz7eTbylhxxdSMdq6fq1maefO3m831I0lTX4KrGq5p3HpAH8thNEbMTTuKvIjwMiKvxnUSxGFmhDmLFoAQlfyNmVPe4YEdZu4s7XOxnN1A08D0RGgPOo25HlKysPTuXyUfZHy0O9NIk6jCxvUWDb+St+ezhxxKKdfGcNhN201d1rf6UKH75Dn1csr7JPpm2/YnvdTlytZnYWvrs1GM74i3RhvzUz/GnITe5ixKMskxA18FPVnHWk97hVBH+ThDoJS/VHzv2PaVyMtiy+41+xio24SOAj1GN+3+DfG9extkK7pq9zKO8qQZkeKgGEAoZcd1Xu37MgBiji4x68zNzH2judvYu7oU68vd9ggWkVLiQvWDhU93axUhPlGrtPa2omPweSkhBR4ZEGyxNg0GaCLUr6SE0GhRXutR2gkklhiASEWXu1eR8R4NFoqERJIXLW9o07+hZ12k6Qe2m9P1nGsPJKWvSHYUswzLniJtYsrNCE9g5Ee+51FKQzokBMRrYQADvlIXUfAqrTjCWoxfA/qwsJBKFWisAN3oUU+D+W0yDHuFlmW1Clj08VYPMSF7l+DXK0GffvC5rW/ryVIrstz5f2MOtoYTnYlX/c3ZCEN0ud2MMkNt9aP84PhSR4asg/kpvWh2kBgsygy1o41nCTr8vRy9761ieaZ878a8DTmz/4Zs9b1s9gysMXM0Ywe/T+u/6/t04ir4kt/pW+UGvxUtp/DvXV5eHt/rH3J7Gl77AzIkH4USERmVMSB3ntQOut4CrBYkGGiG+Ec++iOnPnDq1Ac+cBrWtPzuuHaN/BTF5UuOcLokDgVwMs9yQTLoJiWc/wtaOGS3MHpympxPkE6C5LW38/xQJblSZnMz8ycPPcR9iN/Sbj8nNLiZGb55Dxk6u7+ss9Uq6PyrJgpkJGw2Gk/5fq+k6y0aW2CTAcgRlFuC9uIxDgeWpE/36kh2HmPfYsc9TbbDRirVCEH8ajZBHju4RzCyDPrxcOBGEPPuIIT+fAxXw4oiI+h4UaE3TFQS3RYC46JC2aIPppJceHTeDq+Go02yeX51c3P+6O4O6eNQFu2NjVto8/ZB5y7fyBB1hERhp+39WAav1EWrWoS+uwuixQVdv39V18/fSifhL20SLr+40d+3if8fowT/OaST9PduVp9YOOaO29wTlIHpBml9hcT1b4VQub1C+RVfj6ERbEhN8IXsA3TG5YHs7i4J7xBLMyWRbJqXCaGyM7nsXLJxhsW+dLmPbdBj9vCQr9yAh4xfD/GQA2kPDxnJTy5fphxYg35/dztiw9rdgWNUFOj3B5EUoO69S/ZFZJsIW9qbFtfYIyxyYeRJtx1EYW9ISiJ5KzxlXOm+hCCDPyjKPio7/bBvy/3UcqoZRqte2O81rzEj+aVHI/X2tuMPsaMITVC5yvDL3Wz3xvY+QcLtG4QansbP9OJ5p/o4l8Jokkcai9JhKV5yzKzCxtSDa+Q/LCEaelQxNkE+RLmDSh8hLgYYAYHY6ksirRgP2Fso0iDNXxPlDpuyExzkVvkWWGgHOCR2ohDNcdIIEPOYMR/WAp0PQOdVSk8wTYJKvR17VsyByDZs2jubvnRHnz82GfzU4k/2sgv81nuVWd9uQoP1suFUZ+vZRiUf+pkDMS+YyyzFqLg+7gYKRhzlOaZzqOxNM45H3vxB82E67XUZQ0g64nJ/WTwYedNsNnt0WkygmII2zplFmCMy1G8Gyuud8H4jbP+FmK8ZeQQo0DVGfFVG3426EJeEsbiv0Q+bHWHEHZV+tt3o66k74nNkZvcre/UFmwd5J9cXINml6BuCyKwK/dJ6eGnv7zJkj2O68C1/hbyfOcW8gnkEclRfZ+cIEqUWeKmSIwW2hZNGLZOv1GnMX4SD0zZ5aZWss9116I3W2dZhUiAuNwdqm8khaeA6NKpVQl08LEI+xxKeF7z6vGkIbrOS4b4uqulEMsvxbyFittKrz0r+SjpdYAmZeZo3apU5RzZDv3Sz68EJj1N94xtBI5XgeMIrAhHVcphXfkBUAzuTJ4S0WE7LeQlHkYmQqZ6c5WQ/YbiqItiTYYYVzHSpZhH+o3eKrOhnZzO8Xi3VzaTO8YKVkhON3d8QnGRCEFjJc9NwlaIJv8LKjqlnDXPEi4j458jNsAI9CLVWjayIkZ9EPZ4g2tNYR+cRNBFjV+PzSPIYncD9q4ceDBZRvK+Jrzs7vr3xoPRHuP0V79TM2PZbt3EDF2S4vqiYSjo4+7q9jfDBjYwP2xPTextbkRs71Vv/ObSFB/ZsJCvsiFgDuosbCTda3ZiG4/PWMEE4YiVMi67H94qwQWxcDPa2yGaiae3AL1ol7MQVy6YLbI8DJiQ/QfWyLuiXPxBhmKNZC9XbGrTDIifNszUQdoIjbCdYJ5E1QPKpRQ/pzLkIIxmLXESXU2y481y3yPoWJ9Ypcw1KSxhFLFGmc26QduwUW8+xcG/flsWwVCwXpbxuJR8ohWKhwaVsJ+3beoENOdn2JUjwvO2lHSvFTRYOXCTmT8AVuTofWE46aar5/StI20l7lpJjQ1a2fFmE1PHNj+NaxxtCLibzHCTwLUxwK4sPdk18cHQRPKRUlHIEH6KYSchCwNdz+1dE9p//cX5Ldo+TI2BuYpiJqET3CD7R1RALXoosGiYZOXlSFxl2RBNUj/2D0DuGJdu56nLjGtNYzvhsNSNI9rHJ5bO3Z+v1bKJicL6bMV3XdBaS0K3jwWohcAM8lIRD5a+oC0XsLjOzeqZCqrO3/SKMQpbGBW7SMJIziYQD+/nRnpM4wGmUo8iJURwoZDCKjaM/SigQeUN4NMSAmktI/GPRPWefM4MIb7rzzhUKGBDCgMc/zb5w/wZHxKeb9IjD8+n83MYDEZLy1p1vutOOktoDUXybLa20N+ZkRxbffio6zJob9zsxxrK958dhxZH2N6IDRJLJnod5REGE41Opfb0cMvoJ3+JYSLYp/NyAwsxt7w7HhJDo/+4OAhCN9nu93SuwT22rpJ80KDwdLMIrV8K/4Y+huPMhgSGHMiLUaHTpArNE6ydlRIgqKf3RCEIMTMBfV2pJ0dk6pkJOmKDbC/OvSIWpV+TDfL6mNg/XaO5qh5tqLf/PZfud6rIcyk34LatXXGfouGRA/yArqJiMZ613Av7GMU6TTArydYg5jZ6KEToUNWNRn/GIx6LVbUvU7CVKHsJjtBe7ER5UQKUQtLm1JQy7rFDLVyUi4Wn1UCzoI40oLMNTH9wKmwlO183clK3nQluUTe5s8+MfvDKwMJ4OfhYvkyGkxbjZPmXI+CBWnbxXYJ2QTWY1heesXNj84KkrhdkBx9omy5o2yw268Zg0asNYoyqjtzkY/UxrD/oGY2TxKHKyqgfW7nutQK+iTft3JliRPCGyE2Rgf2lCt60gsGx94ks2iAdVFjkz2Gpsd2aOwfPW0E7bjYP/I0I0HOLw7nFnQFGDsb1BVio4PT1HKrHTIMgRf8jrM5nO4ZXlpUN2Qq1XO5XK6lLjnNjiJhJuvnT8NWtrpq0VipmJcsYpS/IrOcVaW1k7NrnYKpazgSKb7Xr5qFg0jUCS7MMn5qeWSqXJmYlpS5JeXvnsX3uBxv4fwXj4kUviHNvuIrBU5DhYN8kIZDCgiKhi4PrSPJ2GHEESrpMu2RIztcJ8aUJ2NFtMy/kg9Ap+7k2p+SBT1azZe1PPFhSMSGBZTTYtY6GS6+SeyYJafd9b75uuZARTIVneFd1U5daL57S8nEjn52sZWTw18N9/b8bnHYlP5UCmlpRKd7VWcJWiHtVBg/HJn0MdLEEvdnLPfl/kkkE9NtZHq24y9kyKJ5D3T0s0cKYbRB7g3c6/mJ+enk93bVsiBS59bC3R0A1Znp3I9pxkmisQ6VC31sqsdmfhr7uaadWcSU1TlMZkWPX9bNadWWpO1ZtugwyyWUuWeGX3/8uBHCdJgpA1JVHPEU7hC2HqCiqfV1KGJIpiJuVbls1/mksH+s/Yf39j/ZQD2DXzVINYY47CGH4mkkkpYD86tkLF8MsUUX8RAfO7UKl9dKXsgFS1NM9SuA2p3pGCSqfrBwiFXOu2RKmO6N71y+ffbHqeufnA2nSjMf34faVyuYSLFCGNBhFvtYmkqhIR597j2OXQboTL/A8l+eXHlkvJC8u8uwxjogPq3CuO2DP20XsPL390+XA4O//s/CwuPELgAJFKd8g87/K8HK5o+i23atVbZgrF6fB0cXomXLpV0+M2whDyeYpZACNjy9vjQklU+tBjUrzvQer4VVSp/8tNqYGqDlI3kQQzhk37/dD7U8QJKh+NI/kR5ublcPkx7I5RISfff+v2tn3lytVIZ1MP+Hn6FONwjulAeR/HmIx93VvyOotBGzHfWtBteKAYzJGRRolfAGMuu1j6LfgQApLr1epQ1EiwJ3nweUD9jBxE/52uqrram1jWWonqoJpY0pejsMM/JWSBJf+JZRcI2f2ivjxRTXw5UZ1Y1j+p4iV7jvsLkELUuzW4dAnPr1EjZAITiYqkjm6vw0l694n1Bbzz9971e+/68n9XhQlBH7hCPkxtiPW9nvEUlfSgs5vAyMTIdZKGCU4jsx+aWhC1kXKbwPiK4y2MtRg1i/PNKE1PoFQdXY9MuO3vL/llshaU/dev3DkXsrarVlXXFoJcVpBOLMiyAF2poDRD4YRYJhMbu3/WbJKtZnP3i34pIIvloPSBHvlwGXaCkp+6c2VtPl/lqHnN7tn5ZOp4beGEQIqE8J3a6mR2bqZIqs25DbRGv9qHq0tBuRFxvR1iBPLr5PGI05PQjnH06wYjO7EEo+uLnOqSn0v1ZK21rJqdjij35OXDqrrYkY32irG0mOoZsFSMTkdWemZ3WVVbXfK421fF9HlTnZwUWDs0pyWpdk4TM+92bl13+wlY6gqc4sNcdkqS6scPcPWETBU1TVr+FkVX7tIwJqpgYtCXFLlSoRmgG4lmcNSN0tS7o6uiROT+yZVCkJ9KJjKCkHNTbiMHBZcSMhIcZVPDlPyiZ6boVWS4MjmVDwpShrip5KGGm0qVM4kkHnoCLj3/IsejCw7wkUQ4PtSC9+0g+QTxHEGFut+AdoGQspUniW2nUvbuVVzKMoHf133b9u1PlYL5dG5+lhjPQuXZHCXB5KG8e5UmzdmYdHmicv50o37mQ16a/9DLIH+jeOoq6LtvYN7O/HDsLQlf2qMKb91FQIlat0anb1xUv9B7KYikxghBji4j7LhYCEZZJxKSW3uBEdCj7W0vBjGAHKarLNXHZSMpkvcpr8k8eeGZB5NGpjbDCbZsyn6qfaaWMZKbBccpVBK6SYhdDe8JqzYhpp5YArlfJkQjomIqbKKcQM9LET1LZVmCc6G8enPKdVO4uGClNVfg7aBk5USJbD64MQTNupYZHq6JnMBJliGfaQ8ztTBpDDfYVKrg5fNJQhJeyXMcWCQISeZBOQxNw3NUlhUlTTVNVZB4XhJwS5NEllUdzzAhhWecM/WcbuJCUXiWA9mX45mYT3Q/riIZS7gj5LFxYhScNZO+5YE91pTe1avDl9imIO10Z59kZWwLJLTjND70IsVMS1KUF9RoY2GPzr28xPZPpno0onx4+fItL7pJLqZ6NJQ8HR5/ka0928AWnXVCu/xtFDk6QoWk9Q8qR8kriVFID/XuYY+we266eI6GnlvUFhxNMi7VIuNTBc8ORNUOLY1XOe4uAm3l3nKgs2auZwuTCPocbuLBzabNiqkg0WggaKZss7xPjyNe9M1yKHDsVNgLEqbKmqHNSXyDpelAVYOS5ARepbiccDu4khft8O/rt2aZhxie/DPyZsidFXHe4MDUhSEaBybCmEOr8tRTFWtoPvSAKD5A3lzZvVw25uaMMmnOfb3CspUxfMlkhOFJ+5DxKRQ0+dGJcQnk/V+8fyPCC7XD92/Mb18mDNnamGtGiJ7NufJ8qdksvW5nB/SNHwV94yLlXhxnXrwajjQNMtz9AiUeGgQ4nIGEcR7qzgxNv09X9FPBTeRonJDM7BMTYRz0efKFKP0Y0xG5I6Y3+gI5ehOZGVEa0fwwkJ+3x+mleqKSgAGSMFGC1IA8vXddMID+deLafyW/Qz7IlKk98Q7mlfQ6jBmK2BKnR3IAG/EloikU3xLNpSP9FlcrlFsakcSmEX4l6EpjnmDjYZ/kNj3XsAuanrcbOV1LfU7TpjTtcylNy9pTWc0F/Y73zTVNb+j6qh4IYkH0fKEAOvc3k//vTEgnHqMZ25B8UCvQm2Sn7KwW3UrV4Vb4hHzZg0uFwFjT6a1Mnw9l3vVFsSB0v+l888PUAzwmwt2f9wtiK2vknUldvrDdRlud61xcRtNtP/+BR+2BjSwUA/vrT55HTwq0jG730D8T5/YoUzCsT508v9rvoxtFv7/6qcgWSmib+xXoy9y9bxxZzL04hIisIsJF6uHfxQvnNjbmfvdhchERL1IX4Enhxv0bF6jue4iOlfQ+ULcilOd2BO9Ma9kvwy3wcrzN7z6cgptCX3cBLg8RqiY1pFRY0N7S1KcA+9YcvVOE0PFid/zJ1BvfiPe5nHr4S6M7f2l05yeeSEWZPPiEfX7kIjNgHqPeLCMejRjwNQ7gpEP1iFIjz9IRuxXhuy5GlDYtiseIUkCtHmGIlsWKKEVRjfhvEcbwG9g1bJU3ql7ODlXVVMsXypqhaKE9PXP2RLEky6bOqpouZk5kRF1TWd2UZU/WiM7LkiaYpKyZoWtajSxPpHsPUG0oaT5VOmraTt4oBiWtWtXDZMXIO7Z56+RUiS0Ue67KC4pFtEI2K9H/BY1YCnTFbjutCBJJaBzPsoTlhUQyKwoc4TnRevc4EQcTxf1L8J3fvDczwKBBOqJ5byfaCJdECd4plzsSzO+om6L41ON+tPoKckpf7ffJk6ndqyrf5Ni5WTWFhUI3J75R/Ual/A36D32crv0B7TfdiLEhiidFtQdNcXFw2x6TLi3z9h401y8/ed63c2ZJUQyjFIJ894UHjzpWPg1/ect5Wzwxcn4116zPp5cMI5mcX56vN3OrS0fnvenSwvTExPRCadqbt0Zcln+7774Fd9+kWD4esmPHOBSUKXg/YLbuRUG0v3n/RncynOy+n2qvfRTVyObG3NQR4QMfEI5MwaCBJ4ohCoux38xvw72dEY5yxFw9Go9gFOpSpN6r4VDmm4rS5OXdy7a9NSSpSuVD6BMSiqBmLYvoDdtvNIbbB2M/XcrYErOMjVG6dysjNZ0gHOdbsmceP3OmPV15y5sb/eXl/jIZ2ttvfktlun0GTmTfMlzGo9C3jObObosjSsfvDNVgsbXY9enUao1GrtSjIPguCDeSH5QrZalGZ2ujhovteS8/V3BOI7zL37i/5MmiqOqiHmBRBbLoJGW3NFct3D0Z3qWLL3Lufuhz4PS9IPP07eG9dxeqcxslL8NaWgqKOyVpMp92S/5dp+5OJK47CJ2SfxfzIv7Z8Zuh8j5ebkivdbDsTk2kqtlR+WVh59R4GZ6qpiayo3LMws6puCxxLrVH/i/Si55HPQNwFKHgSNj34zhpRvGjIxCu7eYpsRSeGhksT4Ul8VQTbv1A9Lze0flmcyRxNJvzR+GZYfQ0irt47QoZko/H70ex+HE4HqcOxnlgkBNGz4vkhfhO8c2Xomf9iwMZaO9l7Kuj5xE6t/dVMkBpDXVJi1S6FSn69cnhxqI802/2mtGPDNbqX72KfyO/CZz3tJkCyNXre755sbY5TcoH1p3SflhL3YOGQyG22BGZYLOJPtVNDJbAKVn45cjSAMfigSyHCNeE/ks2uk5vorMZ/eHpHgI7gXxNwyyaKIjGtuUe9IU9ynUZaZvUURCn0HGGMooYiULzUKjHeUqyZYDIzRlvSJHl6WUCn4iXZV5/ss7WnyQZmftxTqrVPv7rv/7xWk2CHbn2oz864poKKa5PQPXy+SiKF6nV/UhmJSgZtCN3JAlKowS6+LjIdaVnJOFV0d8HXjdp9HYQ3P1ShJ2BXGJwGMVZSAJdFb7l5cs2PRm+KIZm5VtjaErXM1mO42cOt7dfEjrz9bGPQVRPt5lS5ElIoeRaFLAghs+JHRZo99utjSrrJYrlny1PHp3v9cJeb/7oZDn7ZFRbqeRVSVtHalBRF5BBZwEqbu2IlZ4d1dd9P17UePZKeoyfEos4cs7Ej9uiOluM5oMWpst0ujxa7IQT2UF2IlxuhCD+hQ3oC5LGDp6CRbizM4z8h3sNGr643KDfugpj7FfJR+m3XmAOo8wVBRdgNqQgeiZ0SKBWBaOcBAfz0IVMBrix+gTNiujbYfrh1O7gU5ClWubWoszHGeqFRjhrJMlH33iIZkuTAyfV61VzF1Jku3rv4LPDXqZWJFH2ZiFx0ojq/iVyiUFmS6YLWkufDHa3L4fMAb+KyLfvhnoiXO/Vt3t1Z+eAU9+h8Ab8huSL4kIcxIPY3j4I2zAMme/ofdDRcEjrRTHyq43sYlgvIruYCLu0VsBurcLG730pEvdxMXK+ku6OZcScu3uFuv+FNHJj9wqeJKGk7F4dCXh/V88VYv+AJ2ArCTo/IrfiLFhdAr2eRADz0MXG4dx1L4ZxK8WT4+3I2tq9HnSTfEEvCf/6BcdOkWept/FZEiQixitCyvvbnx4HzHzieLFIA9y+mLLp2VfvJ4w27QNIl+JeHZxmHmHezXyI+ZfMZ6j1uIjMSq7vBXSeEycy0VBMkcFApVlcQFe7hToVSWi7pvBS+D6LPs5s0EJuIrBoewk6A1xVcN4/PjINQnDXpw5miEqN5eEi3gp2WCaR1gliY84RabEl1RDeR6ITB1IgYlh8NxART6jSrnWKBAGCCD1S60Bre6PC6jyvs8ob+2pKZ4kC0o+itdamZJ2VFFHrdqYa8DWLzYahZeFJXMIWZJ4D1YEvEIVlVY7AP5DEBF4WUq6l275KiKMWuaRBWNI+Jeu6fPppnhdN0GNE1XFFPtPTkeGJFXUzJxHRuCvJcxxncEl7QtMksvV9Z3WeCLxAeP3s9/HEEBRREbIXVo53NVGRWF2eCvkscXNzi83bA7lA9KRIONCaFjaIJSgC5I2VeY2oksSLklRP2A6bQj4qojm6pognujIxkqD9EP1s2ygYnbP1kLPggqJQdiz3BwtISSVxBdEwCDGz82nImsBxGU2yEtWXER4QxjLbLAPy0UnmUYrHWhmHQqTQcNSPrlleoGCrGIAONTMWCVEWpa4QpI7bLTQQIGqrhN4R0wSk7cqInI66Hx1hUSsjjzUyBUlo4KDYUNE5rpZhnbAsCPmKQxR3WehU0J/OsMykpack0cyXw1wnM3NIOL4hdO20wItyx0krlWQ1A9fC2Lv+nMuK2byhkEHzVQRH08ZCvuxkMugwviq/VpYm7KpTnoMzfE4WODZnUj+3gQ5fpOzkQkiW9cK6yKoTjo3j/9a1vyI/TT7I2FQjwq8XgQKjahckYojfI2Qr97VU6faCaC5YYuloJuxYSsUracHN5LnM1wNePWyJGdk6CsIz6dd3/3JOd46rPY+TY7kK+TOeobpjnc6DYdc6IqaS9gV+aOwTUH26I5GfH/Vnl2jhJawr8dogjHHlSoRfuPsnkVL7jHuNoeWgvGnqX0UbXzLZZmUqnPopmjIfabQ439UEOSuKY9BoJM/evx4Z7g73fv1wAP9iHPVofEC99CW00l9FsT2cP/qJWCGhgvo73oFC+3Qs+Gh72JEJ0AwazMx1jK173m4j70L8CBTSYI07YOgN4hAP4SVYiJrIeNS3J7K7V0Aycsw/Uq7Y1OE9HA6cnLO70+9vHvxPMNJgGyUlgv5xpoOp+2Hklg6/LeTJ2ELb3eh3YK4N7dZosz4SxaO2Y3dXSk0B4lJ3RJACwuR4BASJObUwrIPGP/R7V9AKTRd0NLoM2WradEGxWnsYoxInsmO+Jzg3sOmCBrWHI062GIu2CCPUyni+rs/djXkM4tOj/T4IcnBfeOhoTaMHmnZvgGuap5CejNZ2VNr9QQ9Nnts2zc97oKzuopwzFrYCJq43bizPS80AOyQErSgjcitOea8T2k8WEDyUMKHvh/4t7fYt7U5Lsnx5cVH2LamVSyuC7iu5jZzi64KSJit+0feLr+mcabfPDFvoGg0pbV+Ci0QvKYiJhCgkPdH6e5onhnGpLbTA1JABJVEgrcNcgceAc1AN2ktzfLkyR/zrVKHGY+fN+XAmX/FdJcg/eJeZzTeKDeXuH+jnXDfnXqJLcrFWggFSVAUjm7ldetCAgZ2H8Xfqd1x6nv6PMB12Ke+wjcyVJCFF+o9nYmxVkECYEgT0rJNm757HLtyyeOT4Wn91uiQ/VU4Xoev4aEGG1n9GbShLYXVJJit3KxnnvqxjSSNbbMQn5DOz0PKjGfcRkGM5GoxA0pEWx/i4KEsljeqgiECiJ+6NoZRiqkaYMw9fuOWWCxduOXr29redu/1IyjEUXZVNp+2YkkY02UxkdFkRVKIIipKOiDRkEFRfc8fZNzxx2x2vCe+6+dgrX3ns5rsE20hX11YqWSuZtLLl1dVqykyEsmIXu8sFR1UUJVnsHirYCjpJpkCGxe/1XugbP8n8LPNLzL9n/gvzJ8xfEIZoJAOjO1qLX0/eSf4p+QnyU+Qz5N9CyX6V/GEsK0YD6zqLb9taZ2OcaOhd0SiNEmFr5BlK0S692DnRoyJjntBVLP9RorxReAEi7GHSbrxaip0a27SYKSKM79GBHaHXlhbmYjCsAgmaiwudrrTOdlHo3DMIQWYwkq691I5AfOsw/kN9aK5z8KiaUPakguAtzREBg0KLJHpKeUKs+J6EnqAIbQNfdR4ToLcvZg0x3v3WYdJa7C616zWpErm2IuBuu0uhKTvtOqambrFNOF6X/AVsCGj7LbAtapKvtZuIIz9FKtSVdp6IoyV1/6fs2Ggphie0u3UE+qfoDQi9EkFd1qTyPjZxaWxbiGsmFo2ITGGS38L03cXIHxeOY5IgTlMaHe4Q088SNphQkiCzianEaydkQQI51pBtr2gixqhCBE3kBBGkT0lL6YIggWiJRLwsx/NIKU1qU+qDk3N3Ca7g1ZDuix7nBBmvAilaT6mCwKucqPEmD+I3zxfdhKwjlQyr6lXeahflQJIyDy5WKovlw4kUCcqBqEuaLv0EGojgTgLI3md5lgeRnWVleffnPJY1BIEV4TFkRRBV4grsosKqRGR5UNskGaR8aTsFl3mcKEggFE/NIh6cQjbgPQRV+7E8UVWkV60mCYcA456vV1Jcsy4VOJGIAsvCM3lT4UXodQqSBq9VCgRWkt2vpO2ku54hmqgLhPumANUEMgWy+NR0Rrc37GLZ0FyHrBmOqxnl4u7HJSkvOYVfT5pSsJI/vvRkzjQeUgsOHN29zHHE4vUkmRaSOm8R8t6UruWxaBW7ep4gjHIil0hlQPBXkDAWQb5AdzHVhJsQiaBwPCvwvERYeEneKic5VlHKFsijiCLN8wLLcxjgBalVg+V0AelqodjYdJDIOxJHVJHjrRx8I8LKdgXLX/Kg+7d5XtEkg0eYvYTMw4fkOIXg94R3FUjCE1y5IMJjocO1eciBbTu8XiRBlogWaE08ZEhXPVBGSZM4sizxkg2lmbQgX5zMpxQ1W9JBmeINZL6Ej4iVBhFTXUdxVaMk5jh4M7hCdaDqyLClK5ptpnRT9ZzAKfNYDvAMjgj4CVm27Pgp01SNataUUpamVquqZqUkMyvpgpo01EDmieaBzpYQRT1QjaQq6OgFIKuyYFkCrNQ4bvbyDXGzscQ54dUnxgTQJtneHZDm7mWy3d+9RDfoDhykobPb/Xj6lCFUk/kxGEeQvwmHRwkpGDHSz/VRFcbWGvWcrslhV+DROIlmZ0GsYAjgOkunj0TkQ4622xQ7989Y2UuAwsdrrtEwDdY0jVlPEu3qtBNCkZt2xlzI8q2H7p0nfh6+t47k7yVjLWGLQS5f5XmzppdddlLgJAFkZk63MmY2XSrUsJlA+ypCibLsZHVeg08ku5bhKuR++zw0MtN1JYkVVVZqV6ZEUajnoB2KRtNPBxNOWcaxExmcfoHG4VdBfl6KkIJdSlMC+hqMhkvQHaMDNfqxB0g8iSuxRqc4O+hKRH7Ysy3r12TOIK3TBcTcZuGrm0n1V21PlrZy7zdN6YVUIXUyK4O2rc4UVBgibWva/qLsmqSVztTYhKQrvMWpX7RD8Z/k/4lpiZ8K8qk0jKtlP5CLSlam8t4hxiP/J3kNozA6tcsHQiAJ0hFSL5KWRbqHc2RQre5u58QwrPm/93v+N8nj2pZlbWmF977XfyR85JHvyD0Icy+U0sehzBoREg5yA6AsF4feERqxR6LtIJbzOqRfbaWfs6YL1ruDd4uaLT5nh7P2c9n26eyF4EL14Zurz6XJsHUzpClMm+/x3yPamvBcYja0n8ucaWcu+BeqNz9ceS6DstRgLxY/iOLFE/Rfm+rWlL9khbR3aNxxDxViaq4lm2EUNL6NELgTnYlhzHt8hXKtZeBtliO+g2CFG9cn2on2CrtIcfqigOr2kkQRcUg7BuVBfeO3Dhu1yKFzB0Ome7UFU0GmPHtrYG+FILEPtslWGDHKIoQNyDoIZiMFu5cv2ZuoFG3t7MC7bTMhGZABbdvojVLB33aIseHIuYYvEPupRz51Go0DmqcRquj58UMgMeE7+JG33FLXBxlvb3fMA64zti2Opa+ObYtjaaoH0xfYwKVc6LEpEW8diUnQZbDdRSQpQOoN+D/iKaD5iCQdRL+O/v/MYsI0E7h4dbSCxZojQV+Mi+/b2/qjvXSktLf5n/ZOE2Vv8+eW0VOKVROSJemlwMhn0cIRlHTZlBIKIdYMygQi1HrT4WCQN1Upm3fyWUmFAUHlHAvGYRh+YHTdDNzDboCL2+J1ENyrajVNPbg4sZduf6G8SDo/I+gyweFQhq49KMnwVwqSpibBYMNmRF5kTV0UocsSeOjrTTwPuRMwRlkWRN0AgYUFHRn0epB6NykDXZfZYO6JECli1lyT+vtMs4i0gQ5WKyQygWLfhVZgSCd5Jk2A7iAgxeGJQPSiC0Hl30//PuNdkxlLKDgZVT05O2Oz5m0urx52+dXc0iyB3eXKkiQnE9m+UQsMyHvJm3AFO6ck5CQUISe9iY2uI9LcKLWNLDg2CKphc275VsOdcYntXr1Nb0xUk04qkfCJl3NPu1O2QkCMMmUWU4V4vuQq1Eawcu2/0Xktn85pTVELEO21SWAJR4Sge7CzrktFrks3yD/GrppVtb/khXsC3iHcX2kqsT1JIjkYlqRuqhk88ImCyoof/xMJFJSon2YV7a844vDBPQL/lxoCAopsjkAn7QXNFPm4yKqFT/xomJDK477PJrTLUhSfarEVC3GNjyBRGoIZ14WWVEmU2l2vRN7ayBrP88JywOv88w1d+IiY+4im7f6vvxX+COjC0OCHuYb5PJwMlgX+eUf4SE6E89nwGvMj4W/9rT+PZRav/Rn599Bf1qNYgiIvYbljzYMHLRZZ3KuIkVtJtw3/kBwu0i0DH5LMkxp6nVD7O81bZZ48ndYI6RGiqWEil5soErWgkp6qLpB08eLpflVLL5I0xy6ofOmW4w+b2gLLbrBsQ1ZnJjgnJ4qc1ECjd49sQevaIETJq2E9m00UiaKwPbjZoq9On7r94dAnLUJS7AKRjQdvOd4Q1CbHHuW4hiQ4Zc6eNg1VaoCecPQfzHv+XWPP/F0/fxzTxAMZoDDGv0JNMzBqzUcQTK05jIjvRpOgLxx7xaOnjjbfxpPSj4v3NV5VFuK50HulC8dPPdp4qyj+zI8fue+zr5pcBnl989pfk49AG62AfLnB3MxcYB6nPiOe640MNZUIhWYp3kASSezDQOLorpE4ZF2KYt0hPyz0cB4eCsoVcf8w6t9jyWmK/zh5qLF8uMGBMHwoKeDCXvTthMHz5Yyv69l6fdIvFmFLxtkkw3gEtDESHzGMURLYJMO1KV5Zm5xe4yZMVufdjxEyYeDG79lqKLNfEGZSKj+5OqlX5suioJxReDlcMgPrZpWtzFUkQe7J/JYwnVKEqZXJmSXLtzCG3L72l+Qq+SQzzXyY+QTzc8znmF9ifgP6NJOTUL4QpTkJOePReAL/m37XW4c3LggBDFCgkogesoeb8ASujuYSaoWA8izPkYVau0NDgVEfQQ5yaK0YQdvpLq4T6ueGgyWIJ3CrJUTS7KLeQuAqBPE1iVSu1XEUpHIOUrwuoKESclTvSC3X90SpFizCfn2p1l5nye9Lk525JAsqKI/aHvxDJbSaYTWPFzWDTyjpmTBIqsZvKpoKIz1otTLLqopcXswt5uTZEptwpGxa5AxeRq2StTxJlXiO5EC9r9laQzAJWV3nJI41H7JB72UlXuQLoDawCkn4At+0SrqpcZyG0g9fYFXO5ghonTyRbd0g+KVY6QnCJiuskZFAvuFOE5+ttQXWqpBPVg8VLBiwFUEkRAJlFToaVVJUjlct3gPd2AmSGTP4INxNE5ICD4ouy8ukPLvhi67pnFiZB9VY4zXV0eS0TO0gtpMyeTN1WNFZ0yCyynlUQSeiKILCLEPeeGJNTjoKGibwgUrCZIU5GbZkRPUukqTPsjK7RNgh1GxBFwhvQLYMbloAGaLCsqIy4v6KxsDjceuFT945MsJgqcV0Q353iYo0UVx41OqgSu0lKKL5OYjZpjb7+VwSnpg2pw/dtLhy3E+IWJSs1axXZ8oZ0+FZWdB10+NYkuQEvnOcDDe3N5WCO6caJxbne8ebwYzMCiTBc2wiW16YrtQWPVPOeZJuZV3J4rjbrWTVf9Vq/3v5/zvOP+K4f53GgtBoNRpVUCQI1O5FK4siM7XjFeU1gDHoCA3+8LorJECmcRZGKOyCv97IvUt1np6UkrfempQmn3bUd/VC9V1PO9LkGsetTUrO0+9SyVbOfdMqrzYd1ixkBbnh8rbNuw1ZyBZM1mmq/Oqb4NAQ1i7sLytCVtORJUhZhitcuHJI51oZhzxPXsvIdNYRPU9xwOxupa74/pVU+GnyWnvLNLfsAgnzf/iGkd/xvk9YCudob8Dwitii4T4H/MCupLZS8D8cHPAAmzHPmfA/95PZ13b/Nu7PQh3jya+QfwS6D+LjxlH4Ul2ic0r1bh2NDXUMbqBY9ItHCBn4Rw71/CMTKf2cOWkV3pR6sgD31FPV9DlBuF2whXPkXX7v0BG/V8UkZuHJ1JsK1iQmmfDOwfnbBeFc7Ds48kk6gJF7NdzeDtH/CJfhdb5U2RdFSdu79jqkNIrdcxArDY+E3zbnzui+475R2yF1qTvoH0UPfVfvu++Ty8Xe0ZV6NN8VMRa2931Xr4Zhc7oNX7w9fegkfP6TZLjzrytOv4kEqc2+U3EfWkfW1PWHDvg15kHjWaAxv1HkFnWsjDGA6EQw9a8ceVfugSYvVfhRBCSc2rJ3EIubEnr2bESE3EZI3x3E9v0j6nnV2wY9cJBzY1i8LTc3sPv9TXuIu0M7AiS/ezCIsduvUnvSJHN3NK8fo4GjUYqCvtFXxsxRHwU0I9GQlCjfo3TRjD3OyGNcE01Jr1n6fzoTfdu2ce4cVv0J3EXzlt2/LecgEk10pm87uItn4Itt4fnoSJQYEet6dlbApD16oje6sgmn4L1MfJcuQ8jPkncytzFvhRIvg0iGjAiiFDRNjvbYi7SbL5JyLCtjNEdk4aE+UkcIpYwDJWhpHd21QBkS6ouB66GZwo/n2KI5JSp/TRMaLRJBza1zhMlNpSyQDECWAgnEEHnCigbHSQkB2c9KRTfH82Y95ZUci+d0AYQKw5YlFg3ysBBE250INtMq7Ofy3Hw9M5maKk4lRJA0ZH8GE/FcIjxEXu2kCp7CKSzHy0ZCcXxdQXFJFJIplmM1RbMknjd0TdJFlnUVxS9aE7pGeAXkOpYjqWTOMcM3E2ImZGWmOmfISrqgm4ZvS7IkGPVWg+UUWZW9ej2F7cIZi9cdYXn0mfPMPcz9zIC5yGwyTzBPQokPmWeYZ0cRe+iiTF0bWlAjRgcqkdfBHvRjq03huhfgFCIpLkSN1kPQ7nbLQ/cSdCaSENYbt8eadX2EMzhy+4jcZSmwVJ/6QoS2PRxQ7EgEZqJb/V64EwVxoSdFCEngF4FebkcxXsPedm/3KoWnvdqDc8SmQJgDtHwOKBLlIJp9GNuMIJwGIzDwkJo+mzZFqqLBhJdwZWO818iHpgI9wi04Cz6KbIk5Vbr78b/XBX9RU2Qcp9SitQ2tuuMOMb/22C1zaYI8v3OuoEigXEuw/Yn+cug5i45ny74vFQVZSCUSW6M4RzI8Or9U8wgCd0/XE6KmgwogCgIWxnxpvmTbvglCix+4qpP0DUVIWrkgvDy6/IbxEzG1bhg9ahFSPn5/tKu3YwK44HrH7X8D2mFSDEE8B5UXP8yBgbVQyyDfueumJFb00Nst81QYPb8Hz+8xdoxZySQxNmZkDV/qlA7ujsiUt7MTm4gqukzk0dY3B8MB6YXQ3UAfudVY3t8aInDXiz4rYgXD8DRa27vX7Y+e1sP7N/BBV/a2dujjDj4o2qJPGy9bhTnG3I5RkpHfFQ5B8ZgEHVNEREZVxbooRX1RHWfVi6RG1xHYDiWNxG6vi9Niok/dUJEnBoRYkHybLSSG+dQnLkKZP/3Mgyc7a6oQ+BznBCzn6qajQzcFAm2pRPsqSXcMw+XYwOE4PxDUtc7JhyWcyFYkgnOePyhKOkug/5MU6MyGbzyDg+GZP35w49A9emUjv8CTvJVNJxQQbCVRgV6qWkXtyLAkV0mkc2ae8Av5jYp+z6GNNyiiKNk5VhPMvKiYpqCxOTvmHO/B2LVD48TyVLZqV9AC0W510TmRxoei2QWP18lmv995L68O7ur17np8/TCv9i7Mdfr90zNkq9/vfVMONzfDzcfkS/0e7J5lvlf+37L8OeYkjAufJe9gTCZEH0dk3u56KNOit3NX8urSghjBWte6+FWEwEMeQEjiwaA7T37/sLUYnE4tip44l52dS00ppnXPPaXQIQ2XtBp2WLzvttvuMw2pQYapvnHnlNlXlNP26cfPm8f1VHg4S47pVo/kDmEESWD00D6TgDrxp/DNDoFu1GdewTzEvIZ5Y2Rvjz1e6ddCZK/YdyZowTfMkRFcwyppw7dqdWLXmQMIVRNliZpMO91aqUw9Sjr1do2/zhEroA44dZAlyJRRCnwthbgThiukc1k5s7Ho5PIOcdTMkbVPrB3JqA5JFHLO4kb50HNLCwtLuNj9DVNWOVYwsjK5T5WzhsByqrz7+9Rc+K/osirPFfLzcrjUIUNdJl4qTFk6q6iZDp9PuKm1BOifFBlrDTYSayk3kec7QWWrUrqnVMFFUiZ6QpVyAc8HOUlN6EQOxzixb0qFETzx98r0u1CmLMY0kk9DmTowamJJIt4X9l2UnKWOTgy02/AqKHF7FWqcIMzdh0D0ONI82+onCt6rLsNv9a7DcKgXHKu1+mS4sQhSSW95Tu8c/yv40d18Zfk6LGwa63SDlrcSeeFJAYaVYdCFR82yB8NorqKQnkpmw0wHJBwUwQ9qfxNZL5SOo+QzsHsgqFPcdIZpsgzpg96fYDJ0BmwBx2l4Fg0E9AOoDHOkDb0hHussdWlswxwN44T6Q1PA6s3NevmmC0uVSqXevLvcXqhVLizdVK43/8JYDk+Hy38crUj//uZtTqPdvl1RJhuPN5yzzclJBY9NPvYK5fZ2G4/c26k6TrVDl0yMAfTf7xM9Gn80Oq+P44zXguJLrLCJCu3k2pXulX4f5FB7uD0YbtNNOt4gjVK4e6VHN19GcfTsHkYsfku4P7xxUILXLMGb1+F94YUuh7tXe1vExpe7TPr9S+Hl/mVYfadwgTmozSH5azKg5R7r/wFkpVTpJgOOQrlylaDSlVpB5R6dLOv8adHfXfLF07mNF0iNvLDxTtAC2ZCtkoG+e8XFAKVrTK9HmGaz34f6Wrn2+zGXbYdZZ04wdzIPxHgBEVCAFPgWO89TJCiE5Np3SsVzEQhApz1FRjNAEk7rwmgvBeiCEyDSJF4B0gDO+ZLnHYsQTkq7FzSFZTMNT9DW2plEyS3lOFE4E6Rv8iTVXna8M/bconZy4CcEllXvy7huJvnjtprwiCdO+bKaVnxo7QHPCfq2nONdA4Z+YuXCE2n3VkXMwv0SmfaaxvuNDAgTqvCQnxGhFISEP/DXFpTOaS9xyPOWXbzxgBgun5PvCOQMKJAJTeZThlXiRHhWQrXHYp84qAfTzDJzHPUZajMJMCSk3l2BDr8dYN/lx5y5rT1TCn7sQKrAvzokgkoQSJ7F1pHyUwpA8ZPqR9h266ptl2UdgYqQKNAgQ3vz8GnobELoaqYnwp92ZKIQzhcgRSPFg+STExVSAB27QOcRtsJ0ETbyRCBiuP7qu5566i7bPvXoo6fmbk2f38wKMpfiiVx1eaKw6GihkUUTFoZisAZhmJd6R4ydoZGPK9CMpsk8F8VumyPSidYo2qcyEbQwnVSHDrVe5DxodWwb/ZY85AVs19uEsW14ZvR28Gj9a5t2ODENrxfCa54+TOZkOCr4HLynvAH5FHMg0vGHcY6EK/A8viIHr5eHXd/ePJ++dQ7fz7bxXV+9bosy4VOcLFg83EZJSKxC+DJL4P0UA44wkU02JFsUY3vEEzKKNN1vke3RUHDJ3kT/pMGI0GpAwyUG6KCEVjSkzEIyl/G4CI1GFM5TDuXr7XRU+61ENnep3Qmu2x85uI/b8C5vPMiV+DPthGUlGstiRcFoGJuLImAO8mk/uIGJ2mf4EtdbbuB2pqZUxN4I1+HlkMfv1vf5bt33u8WRkbkOIxJnvuugcxyieOR3MPczF5jHmNczTzHvZN7FvIf5EeYjzI8zn2AuMZ9hPv9iFu2ghc0S2maRwFgYIJsw9EQU1x97MFKZB3kkkOA/AgtBNyV1MTVtzzB2YhIPrxCCPCqedbTpCx50XnUQnKQ8HWHbcO88Gvml6DkYrY+PY+GuC9DFETxewUP1duUI7U1oYsgadqBQYAcMJB8CPY3nuYwg8ydkTbpbQz9qgTwDjd8BLY99fxI6PdEkXzCTQorvPSD4opW445UZIf1nhMuDOvi1HCHIQGyxJGT/KgQRs2Dbof51BLT665BlC+S32QL7tRyf+zzcLsMR9tcCjvcI6yYk+yI+TWT1++GxRJT5VZwxhq0ZnPwct9TcRkJSKJJQ4ApcFoZZeLLGEi4Nl/lwTwXGOtW1RU948CgfCAn9TaeSomOyIrqwCwa8gsrDeIYu2jgpLfM2bMqsSJdQAJAoKeOexrKyJiu2lIDDSZyP9XkuYFkb8k+4HEcceBk2hDeBX+4A3pIJIzuiv0fMQex+e98zucckhmi7wfaAdhxEPxfFHk8beYhG+CYNJwPJZJts8j1RRIx02rCRp/OPmqfQ4giN49LmJkosMQ56lmI9dUe2P5CAhAOIHyLlLgEdwI1DMoukUpfG9k8s1fjBT/Z2P8/TWMDAueO842dqPT3BYa/xb3+6975Px9tkUMto2vKD/0bTaDyg3Zy3akuiqbO8gZ3RDz90rry3A30C4knjeDeK8aPGbqiStf0Yv28gOeShmbenhtXffhxhRsgWfPXqMPX2mUMb64hL8ngko43fK/1Sd0Ph74Y77gyHN950IrzunqWXuuf4bNUN996KsShuuL8WoVCIcZws+lePRSWiZpQjC2MMFN2lKFhmnQQ0LHaE0h65jpYWo0AXGu+CL1kf+5Fw9XxldmNu98rcRnO+ZNqJE9O1FU10DMvNEVadnC+RsDRfz9scOWqNUzINz68SQTs8gdJ6tyKQ0rxYa4azFd9Qci4vaGIwj0J8YZbnLEmeP7q5tbk5gE4b/W9HHLdazDJUpDxu8zTm/joPpojLoRr3mcK32G9Cf08pfqi/L3y7CDcKhre/YZcMKNIdCW1qI6cHT77o5ncOq2yE6zmkcXWre+jCNJLeG03tlGPCkG7EMjKqqCDe0fbqL9K61gIhViyPwnRHVe8Pl6rsdDusZUx99vWzupmphe1p9gwd+O8p1TM1o3xX2ahl6iXnlsj1Kw7dHVYzTr/JCcmJTE2swf9MNak0+06Gp4LAtLU+Uct4iUwm4WVqE+tWeXPMqsD8T/5u3zmsuu/Mfb6b3Hrf3Xv3r12jcZd+NE8ToG3W3YNVW8MgvKBMyRxGwGrUqvefjzcnJ+zzyWldF8WZqfN2rXHOyGh2dZI/iXavk/xklXBVMsz49j8b+CUM8nIWBh+10TauJIVnz9Vsu3buWSFJCPWhRJyEL0M/vgzS2w8wb2B+MMYii6aRI1p1nI0N4snW0Q97VD9o12udIyN6HJSwpmOvFpxxsZBtHYZwuDxizhlbBYgW2YEXWnTLHfhdhRG8aZueo2VwYtRNlTO+nxn9rLwkuQq8p+OZkKwZ2s2LPH8Rtp6TBD7H4iUqKN9qkhf216A85nhB+osoAGILsQfOcsJkcrrPCixJuSb9UwUhJfL96eSkwN9GASHt5VRq2Q5fFxJNgMZyHlPLsi5y3Ggp8ucFrimA+NVsNqM237+2S7+nSRHdiigjxz050j/EXbkXdPdcUbsRah7UKoxSjECF61i3yvUlivFA1Rj1Y6L4vEqpxN/3gZ+lECl3eGlRyXN+yjM1Lx34JEjyLpexTN2B3n/3DzT+OMcf4zWSs5vN/qdXVz8dRlgpjqWIimiotukausnjRpT3VajnnyF9kOQjWWwxwpwB7bhbqZcwKIDD701DZEbG4BEJkl92Fzvwu6WqJdipzxS+IhN9ik1o7paLB6rIPMZRUJcn6BLGzi34Gn1D+8Rm+CHNgDWMLVcojkv0n9/jnBrEeoYWx6hV2qVEqd3ySmiV8ypU+sdpwmsMdT//jD/5uc9N+jdpGhlube7ubG4R258Kp/zj1CAX3e/nx+5Xp/dDz/a4B2q36mP3I+IJVT3hT37kI5NkOAx7uzu9cEhsuNtxvO1+XP8l6qdCbZXIc83BjwoX/cFgSP9TY6W9e3V7O57LiuybaYqp2N7D9toHfTrA5hRHCl0fYz7oGclh0uhRxiYKMUVgqN62dVqOH42AdPpJw7ZjVqY9aibQNO4ZK/ADPKLjXN4re0yD4ySRFe8ldmhY0whDQRpjINzBKXrQS0MKuIaBTQfWGOMU9q70BvAvmuGPMBSiqf7xNaK4Ia7ClR79w3GEYSZB9bmb2vAXC6yHUYZRcHZ5jhux86yThUWkva/EcdUFbs+9kIYKt5eQpAyN/O2ldULyRrmWJpatZoruaql6ZH5urTLZbNfC5aI6sRF2Tt3catzUnOsWQZVJyRnQxZRkI+MW///2vgU4kuM8b3rer92Z3Z2dmX3PvhevxQKL3QVwuMMejrw3j+DpjrqTeCeYOtJnimJAUqbIyFZQJEWJskhBUopmUTaNOCyLrtjyWaXEsVOlgp2X48gJVeWHnFJSqFiR7URVuTwqtpMULv/fPbtY4O5kJSWn5JKB3Z6e2Z6Znpme7v//+/+/Ly5o8UnyoO41CzFRjVX9qebYoUNjs8H4tO+rWpAjy73ZY43FxbFi0i9pEcFV9Uw+aVmamEyOxGNk4Bk8OcJtP+LrEsaSh4yB6AUexkfNtvcCpDpzndAoUsLoKi90mQzZiih9kRySHFGuxgHF0Y1kKmGdfVw0V5p7ueK0ToTLy7EoEjLGnf2ri9lZU9UiyYQdDxqdifNToAWaWtKOOc7cbItsmOLjZ61EKtlc2csF00UnjuGz0djyZYHoB1Zns44KPVPEiCqa2cyWg4SqGxHTNmwpEhkvFML4in8FYxZ6v3DERTqgPJFp1A5bulEC/ZUyWMpN0kUCnnBZO0L3wfDSLjoBkrSnWGORlA7Hz45HYRkdh+4xk5KiD0QRm0G8y6/nLaiSqjyQeYBs8u53t88dfpWEz2ceyIzMcQ943qinYHcWrTYgL5bvmi/HoQPGjliGbz942lwxP/c5SJ7+Q0jKZUj+kCZ0NXgnCNapqw3ZYCak/ki6SlqQ6wdDrBzEnZgGzes899CAa45iHFBQfXxjkGW6Tr1KSvTtWia4QGwDCsaIblywQ4HgmwWtGZpqh9IIMC9e1pvRdk2pUz2iHspqkXJKiniBoxupcgQkmOwhlXhZxw6ykYKoSTVeV8VCJBvYv11JpeLx1KfZAmHOXopokXE9lY1VS3wydlxfjSUJKVVjkbSi6OPw40sI6vhalFdyFq+YfPQ1e9WLxTyvRD+x2B2wD8e+C+xDENg9ym18VwTEF7JPZDP2oeOH7LsCIT7catm5cjkH9/7yrT8nXyAfp/65Ds5pgSgFOiGdPlJAsEBcJGTl4MyNdO0WV0tvmJe/dKtGaM7caF++TF7SN7LZjfLltSyK0uLlywzvQ6Wxnx6M9VVqZT3EF6i3Moi29bKSpPR0nWWyB2ZehzMyuPoQyp6UXzBEQwgsEshzckCsYIeNsjAuvhPNnlu3xYuXaULW9QfJmCAwB0FBGIPecfd36Rh9rzv2X2rQq8vyhYCmHDdaP8QkmmP123/q6kjF7lj1Htyh1ZEq2MO6/dsDtbajWQTLGdYg2KvaB26rd6vGMd5CldqthDB2Pk0jj+hsy0jNqoOZtJFvn/qwDeqye7PfB9lgY2trexuZw/dO/Z8O8CT+P58PDjx6vq2tDRBF+pRP+m7nQ46YddDLeswvfKTNQUPbStd2t2vpLfO5/0q6+lY2u1V+jmP7LMA+XOhLvtc4F2ukj+XNrfZzzxEuu6XrW+Jzz4VyE3vOEc4fcAuE7AnL/MgTbodeefj4B+R1FHiPhGQK3U+auh0kM3FT+4PhxX7d9op5rXRq3dblqFAxrYhhG5GgCE9781E3iCXMkSdd9PIJOQaNQVcUPqHoJgqlquoV99WzBJLaoRCL8TtX6BAZbaDDqyKfuEul/vOw2r83vBSyftdajdQ8vBioJwryD/AcmYY2UqHx3BdA2n2Me4Z7nvsU9xq3xf1CiIc4dBIpo3zZ6yqzbcRIRDkIatyhWzyESwxDsw+DZMA2Q6/vKU6pU+/NeSyPgWO9bjnM4w/uLB4Ls8pIidG8PDxKjZXFjcNtd9oLj0sWJ/qCGUlXq+kvEllO1BDNBOOBFMiAhktTEcEyBEHgjyJgiC6KPkZUyRLheVIV4U8ShGUDdzMEYVXCdYwjiuFPNDcmY9iVmBCJJBERtjQUCelSFhF5ktCyvIg4KCKZXpyQqnNVIv8mMrHw4qtzspxOv4IwKybhhedbooBojKRNNnjYZkkf6kpS90MiLz3ZkaXuk6K0jhvWJV7+YEeWOx8k4vWeKPaui454ATMXxDw/3xXF7jwRuh1B6HSJMNcThN6cyDenBGGqCVedzfL4xX4TX0SB+rUzr2BqrygI9NlavIwKxHAmCdpksp3jkSoJKVW7PVTuQPepUZ9d/Ab2wuFJ/p6No1VJqh7dOD5xZIHSJcB3bKY0deqJj9dzufrH1k9NlWaIB73JDooTk/yKKXU1rSuZ90zaq6211qrdb6G3b6kZGEKpJBhBs7QZ9FuM43yJE8mXQz8YL8Tjo6htg9F2MMqKB5aVA+vdA+W/TTWb83RIJwIzet7MJ5P5JHnINk3b3P0f1Kj1Z3TcfcS3bd8mm1QZylBBgJlGLyRxH8nEXS5TG5hBh+mcjXvsxZR8hdpxGqEXFnVMqNeoKZy6IlIXK+pa6Lk9GsdUJ0/puhfNalqxUM+kvuJvJwgfBE0zHlPKaZeQhue7aVmJKRFoP1I0224GAU8S2/5XUpl6oajxAS+nXd9r4EROuWSrwkHM5ir0Ag/cYbYNX2653KpT7WCAuuDNDqEYyntYDB4rWwrLzrCtGGG1tU6El65ceenKrz24pPO21j5XC4gsyLpZnjrVQfuI1Fwp+qIoq0alutBUeF2QGu1MlpclRQ9ovNX61uoVPEasJBk2n1d5XYnyxlIg6rLKZ2VekwxRW8xIisZ7ClFEnVdR3xvYzi3am42qyvCqlZrN0i0OU7LWLG1hBhIWWzHcr3AHzmQG5o1zBTSOFkRRNDveoimFzeVoujZd3MJNkAQh0u4WQrRR+883qB3AC/2RF0dxpC2qwJdHTlZE/Yya7+mXBW4w7ITDZHMHITaVQ5LC2xuYjSRIkIjc4tAMhN9EZNOuSUoUtm/U0lD6iGzP0UzA9P3VVgs/kLPzYxJso7LL2q2b5HPkc6GtwgpnHtBbl86ZDr9Ub2eUlzjpisIEWbycvjz+bPLZzKvWK9HPK2/cAzIfMhGvvMm/+TM/Qz77QvyFxnX/evNk7uRkNV/RNze3bPtjWqAlA2rvTd/6E/It8iancVxVAZGyh/ir5D88V3r11dJzP3vs2J9+cOuBB7Y+GHvtNW5YnoPyEkW86yGFDRYkb+7+NBajzzR961twzDe4BM5wk4KAeKEYckeZangvWaCMNdM84aJzG5Xs1bQaPPFEoKavZisbc1H1ksurZx7RRPJG8Iwp+g/+eDne78fLP/6gL5rPNG+Ksw/r8j06UcNzsfonKPr7bedC7IsCXWUnrZfrdz7rmKhdO63y7iWVnv/0NTj/m8UfjYj+xY+W8Pylj170xciPTl3RjGOK9vCsCPXQlGOGNpCP2bxphs4ZYfQS2rC8IQsxBiMwFDsMNj6AxawM/EMZXfA06VIc7xlSzaSrZC6YnC4GTb6UTxz+Ku1BD9NechNNR2acT/OiIcpWGqST3a1XkwqfqVbSJb4ZFKcngzmSSq/RHtSkPeUVRM01DaJbsiH/la03T30oNqmcalOpexmnqKf5ZDmheBuB8k4q9Y4S3HzrLbL+trQZy+/u5GOb0tuk9NRT3L45BLo/Wgc7GGnZKfD1ZI+sBeER3nkL60aPQAI8wmPfDPdnfk8b0JdfpHH/zBAEajXq0WyGmgEF5iheTuj4xBiK9sCOGfcYc/1CUAks0etyJWd2HW8SSKT183VZp5ZCR7UdUbRbfrVbrc3VKLg+3JT51Xm/aRiiY6vkAo72sC0iqS/X6y+rUgRW4mLa3oSe384KJRo8hj2XYNL+s2gKeOhV9FwpCWnDFOVNOy3Gb3HBSAxhFEbRVIg7y1v8BD/wAyAdJdmj9nBxTZZ37GDbXu2PgTS/I8trIpvoX7W3d8bG9sUkfm+Oh7zAzD/HoKhXB7ySVnHmFGdQA+ivhlOpt6hpcsSmg+2+zZ0a+Bq4qNMyuy7lLxqdNZfxWaFW26b67JySpJiLFIix3hk81G/N1ZyK5tl929MqDpvmMxtZD7pcb6tVP/ues/XW6tNvPI0jRNrxx/u6aHZtu2uKen/cd9Jpmbb3+7IObmq18GfnfMmK6UjDqMeskjtZnZioTrL+eD28BxazxI86J62TYIM6iG5Ag94INuDD7ePyVGis5R577Cw0xdmQWIs4JRgZw2brdSAH63KpTrcwW8qNgLZBTDbghYkraNhmJhSCgFg2ZfRA6ZRm1lBKRbkV1r6/6rFC69GnTNynQ8sLjPkU53qCBosjsBIGOZM2DiRtHEnKqEp6jAa15JSZ3kmDt8ol5B1ayfdVUD1ktZ+3jx2z961NLEjSQqYUjZYyw9yfOVmnRMj8qu2XZBspUfpqo6H616/74VLFsamXTPYGy82s40d9PrCzti+qeJ0sFmGVxqtuwDvGZJ6QM2Ag96D3egn0YuR9aZJQ9FGKTVIeTA5IQ1KNg/a0re3idCHVqAWStCVJQa2RKkwX7ZREslLKvgktbHenmtnKVJmB7Ss0JRvTxe3ctNkIgoY5nYMjBMj/0scYro0WdkmtYMTYFnJXULlwk17BzN5MDNRuPwkqDYNsDwhXYsPJjRgSrbSCgM7CbGEaBK1EpP8OjVwkmyiP2Si70QkaSG07JFy5xSHrDe0m0Cdk6N/KGC0zIffiBGMkSVIHOWQUrh0YGweMw8qAcZiSRgXPLnjzpObOez/+0MrKQyuMlQp6tVWyurr6LW/BJeK8u/A+rOJqfh7W3QVPX8GyjKgqFgTBsgdFFtz59Oqg/fapj32a62L7JXdvlNJ337TJ5sEGufvP/i+bNLm9ga7+RW0a7/l+nhDv4D0f9cPZm8yS7pLf8zpdDfrBKtzqkcWeq+kq/VtnE1hrbA3v7cAnbcD58RdoKAPNF+Qg7Gx2h6wfZA3T3Z8PXXuyDqX92KGsH5T0A5L1IZecQbmatuG8kREN/Bj148TYIjZaWagK4LRShc46Iele7YDGfVADB71h6EgnH9DaD+4DveukiCzA4iSazYu7xS/Q2vdo+jJNf46mf2K/BwetiKr+JLs+5sH0LZr+UXjJT95/L1pU7r3/gasrc5OTcyvnaCl1hEavxjLZuWgcjieaIz/19rHtCdzCrT8PZQl8Jzn0SeRxRp+xRwxn8wknv2GLv2qYr+v6ryTefv5tVnl47m/I0q/o+uum8atZ2Px8MMLjNwY6xTvUZyBBpWI24zpydI/avnlKXdspD+75fwTZSbxhmpu6fiOx9dxWK7DFnzfMvOu8bv9wyPcCkph8Q9c3TfNGFoo8Z2M9vqDrARR63h7WQT6A31DYa/shzZRHI7uHq9L+VW+04a/tQBLmCdffW7mxucfxunZbhtVjAtrh79K5ph6N8zjHPUijUqgfAuJ0ODk+S2YoR0sdRhR8LZbIDLwMHUrNdgT9T0oWKdZr0K0k28VOXbyNnwrDqZTyO2t6E4YSt6AXdE1pyf9dbika5AsujC3Npik6xHdEc1dvEVvf/WM6XOzSdGvDKakX1BLZCBLWaSNvlAhP1gmJKppta0qUwApPSvDDaSsRmPfcY66Xr1wp2yOjTqll23vv++ooR9HwnjKnvj2IMgKj3Ta6EFGGge3tm0O+rJtki2zB+Ds2gp7TYxBe9FWlUV3uQGuAnhnlzN959sKFJehQtXiiiWODHFFjPwYakBM1HwzeL5CtC89e0K2IjKNBMxaP2UFlyQRZRz3/c3//IU12Rnzc1kd8GG/3XISvwjwr6jhX2UcGMnt3Cy6oj2ik30b+Qn9q6tra2l7/GAT9nZ3JedOc9ycnz4axXXCvfhP6KIXGORUZZmsV451onFMfpNNgnazON1C9aIAQilYS9/jW8eNbdP/33Poz8nOj+9OYlyQLR07WN+j+wfbx49vHYeedna+zA81z0Cvu99XcP0YMeJHvMlIcHCHutL7nsdln/7tbBzOj/pnhsHFbhrsthiKxF491sG7SbSMWlacg2XsMG/C3hQmbg2JjxP578B2PLQ2j7QfPfDV4Z3d7kOy/prVhsqfzIidxChlHSYFX5LriyigsKOVOD+cGvB7GbuWot5zidakJxu2Rk+azul5oLqgx3zCPfcz92L2mCU1c8CxDPK1otfoLOUtUVxQt4ZGfNJ41zby8GPR9k5U1jGnzaD1ddWKydFrmjcwLjaYGpQUxwuSfB6i8uwb1Yj5SDJ7FCiH+u8uYQUsGou/JLgg/AoWvhb4bb8XP7tr24uOSkshYoiw85OWkspCxI0KJaOqTSVnjJUFS9UcRqxfe8sfFVCzrSJJZcbdiycDcUk2nIotEMuMKufZb29vfh/VBPfmXQD4M60PCuTILM+gMyNyEoDNP4tRDtwYioUBhNlAfIMaBmtDq2Y9+8UCNboDEOloVrFv+2m/tq9AHoTrfd/VB3k8Wr1kYGWMZ4nTIrcZ44KkHVR4VKOhAm2ipCeEqGcoOjAgsFyQzmSTZoOnqEKRnmGnLxcmi3A4XqMM/xGXJW+QanaUdYF9B3/yhT33Kf+UVn6bk2iAHKfdd4FGNHGdfcPK3l5b8w4d9mu4LSzYGWyH9/3B8xu348oC/mDCQ1YFhrNtjvq0hznSIL11DjEb0RCacWQzylnvxmYuulUciYzOfTMfiMDLGY+nkE0HWKU6Tl6369FRhMnvo4sVD2cnCVHLCMCrVQq1Uc9Bx2YFM4e+AAD4d8pvS+GuMPQn1TUZfimw29U5tOKfco9ryINKk7ToKi//a3FmC4XvHTUpqbkKXZV40p/OyakUn+tLRq0ePTnS7L00fPTpNVmEYZ7+C4hAWJ7wQLI5LChS4enTikxOQsjhiWieDSSJhjdDZM3wK4TkhIWeu4q704PAJ8IxX2fzKKjzHPjzHHNNXcYztDdRAnAXH/hs2tnBcg0FGk1ZWJBCbgpVodAUkguCddwL1scdUe+c3HnPdx35jZ+BXyzCxCnC3Otwyd4Jxwt7VxEDBTxkaFpoaEMqnrAzmWPaZGnb6uYh7ByuDG8mhU2JoawBN/QZOuVBrw0+HlNXBdPHGnqHhRnEaTT1oa7BtUOnWma3BDr3meW791g7IaZss1n+UOfk2UtP9BM0tkP2Ou70xGicz1ltpVvMnFql2Pk027bXFE/nq+LI0i9Eys0gxveIeX6U/j+CnsZgSDP2lb1IXT9D5DlXo0VcNNgyYZvpwotmsn0s6LefqItToSqSSpTXKViJJ+GEm+B3ma7oRzOT8bDISuRLAPlcdPzcplbByJWky5ztJ+HF2cW1j4HMqc9egjm/RObMMtR9NjVhgQMgbMF5i1QZ2lwHt5YBbDL/f7Efja3bW2Xay9lo82t/UlG1F294L1cG+8habweMC6DuZ9YVqy1zrBv5x34f1Ebj7oe3/Mvk414C3ayWUhBSc0GcJPKRSq0yJ31BjnGZzUaA5Uo/InsW7KHwzGGIEwoHe7Krt2N4J24mrC1aicS9O6Re6puFYC2nHPlF37KtmP2HncnainzgV0fLuYuvkqelFN69FTpGX9DVbl6QTli4Ji7aeUGZbrVkhIkm6vajq1gldt9fKywr6SSixxCmJl51DsdghR+alU38hL+udZNI9cXRnZ3OT2cnQ35cj7+bSXAVG9Xlo5yfhuJe4Ne5H6Px7Wx54yyJDUOgwW28jJgCM/kgbLA9JrbrDXOWAiaJ2IOJm3+9lqu9fO3ExKaXOzB2uZ1WnfnjuTEpKPnDi+on5zumTcwuvX1xaurj0j2m6+7fmKpW5Cqm2q9V25ZcrqVQl9UfldLqc2v0XccOIm8SMm6amGeTB6VS6NNY53azb/vTpzlgpnZpOpk535k6T1MzSxMTSyNeBY1XoESvtWIoeLoUfwYxFIjHTxA/le2E+nMvcfdx7uevc49xTNN6kPUQxw2h5aE8YXsJQE/KEQaCxkJO5OqWapE5OODYiRWWJipE4ksKGYomxmTC8NBquQmfp4B/fCqWktGvlS634V+OtRNJWvFhMln1kvBH5uKNoqbK9ZZdTmurEJV7VfUGQYzFPsZMTpq5rciKpRolKfFUllu4kZE3X/6eYs+O2oUOSF5+ArtfSn9It1KPsRM5Nak7MsyVV8SQ1EomI02ld5asp205VecXINEnUNCMeL6mS7cUcLenmEraqw0Y1FjcWW6LYWorEY6ppRnXVvv9Mw3ddb+zsudYqCGA4Gw33c4fGdo1xczS6i4uFPIkF6i5PnUDLNJ2gvJXtI+h21abGEpbt1A9GdNmEs1fp3FNJLk2W5BdpWrKDOM2cD5fxd397XziX3cL5q00bRUD82qRl797E3E6r/w4un3v39mgIF6G4d5vUTwhH6V5SoV8qBVH2h8NE6fQ68L0RoN28ez6qB3riiXvtFvyRjXeVA/r/9+Rjc1W1tnLB/lI8oP+cGvJJbsA4twj91WnuPPce7mHEK4/TCcohpXaNwuoxvl1m3uy5JYoP2T5MJZ/ZAgPbhBZ5wIbTvYsNcbD88uun0wENipCU/Nm8ItF8kP53n7nXSvRVPR5cCrJqP2H9L3pLnh5Jf/G2LWTDVcczU2i5H+d5TeP5ccxPZcZV3ZHS9tScLsoyCIWiPjdlp6WfGrnV7HPfbVtQHngF7tPT0A/Ow/0Z4XWn9wffK/SR9rqem+MdJXTCY74jvUUyE75pXSq0OgqNzgj3YWX5MArjmw3VnEFg9hle0Jw40TVDKRydd424akYQuszQ0kZMypmm5NpapDybTMSzpmx3OjZZN9UlQ2up5jlRUgxCZEk207YmZ2ZTuQuGVo7IPA/CV141g0bKkAlv2dfcRCEWU0GZvmr7dv8H5zr/Mt+pAT/jOqdxMRa9nSgmEa2lU471QHTrtXudgexxnZxcO9lqXer3W2utG0Gwip6+O2twCi7YgTPd6FMwQ4y9LINseAWj7glVMSjSPd5aButFRWno26GrpynDCoNOnmzbXr737rmVnqb3JtINVVENPVuJJcrG8vv5ZrHkZTwt5ZGeH5OkxrmVRpmUCj4vyBNZohF/PJk4J2lasZmSollL4L6/6rI3T1yjoyU+yzzxnGSZwYDevlwiHdDUQFDGoCMY9hANdJZFa8I6BpsPwXZmOzeDE48KgRqtRNVAt5qWHuaFR0+sXLsQs+xMUpCIIrpLrixLQjJjW7HX2IQz2SjK15YFQRRVFZ1V91IikuVrcuHQmGjyosQbBrL8mOLYxQ2ULnFOmvkvsPYZSl37wXGUYrK4HiB8yJnHzjDL7MY22j+3tztnznS2Ajb/fzTExIoPMLEGobA0Cu+r/iNfo5E9X9uDw2qurxcHWFVqKIc8D+NmcShbI4ItFw6byaERhL3WdAqkeNBcykyLxQ7h5G2dzrnvbtCFvi2/RiZ3/83Qlx0uY408L6yCcGrfYODLN6CYtFo8EtwY/r0DN2jPRyMFbzCrE2MEQk+kISUZyzP4EHlAUUYRpEIKsy6Ch5CHxnL5vOeXRM/2nca849tCIKa83D/o+/0zBze+6xAU/dfwC9nI596V81JiIECJ+QaU8MSS7+Ur8OMjBzcewqLvg19CDrJN0C0tOgs/FWLQj3j+UNjaLobjyHuxKyD4gd4ABX7joZXW1Revtj6zMl27UMtQYIZX0glQe8nmSrM5fQxRtI9NN5slUIzhr3iUQjQkkeF8bk6PR6hcH9YhrEFirwaMVXtuAKTn3qEGN5u0BldXxmvTxdS4lo8sXL5jNV68CqefzvtmcWzzYCX40M7zccppiBHlSj1WjoEqK0DzBsVn3b8QXPDXX6QelC/p6/7F3T8l2kV/ffct5p+4BbrWGlzDbPjes+ZdGsi5exzbLN57QEVGBeJu72ZQaiIvXCJSG48VmiW6mknXEtHqhA3rZLMkdcu2nanW0r6tW7Go3yh3pdLoVsOKRejW0OeI+Z1RTKCQ4zsPWnwI2dvtjbJ9w1PMeJNd+gZ3J70Mm+0n6yvN7KyVuH8GX+SZ+xPWbLbJZvdH5wsQB2UM2v1hZDBIHMLgbBcNKMM2NMHCurwor9CoM7zqUVx390BM1Me1HSS8T9nneTgZf95ORUxfijrknL/qn+MTmv4Me0cr1G4QzpSuyYnyiSu2oqGDrabYhz7o+74ePNgKgvPdlMX2WGcRwiNzqAG0vR2yxQVUS14a3qtBoANTAMt3uGnuHUBKPos3MqqBDoYtMJsNOqM39FlKpr4e4pZs0bsrSz42xs5U2T5wjz9DedZ9BmZC7QvYs/xz6Gd63Pu4j3Jvcr/A/Rp9W1BbaocUbENoaaq8FwiNv6H6+0D76u4DuYPSLZwIa8/ODPSudoj/qdCYT2ba3M/PTPW8MqVxLpBwt2VSksuMuWZCoKGy9VLNa8llinONhgXcDyvFjl/6mp5XtGhcTtigpxmZWNqJJglf8LVIRzfTt7i0qXciml/gSTLqpGMZLGU5kqwqmsEjSQtRLa/VduDZg0aoyhIfjUeMZPR+S9dVIznz6kzSUA3Nkkwj6c/NppOGWeFV381mXV/lBV3g7YgRJ0jES+JGxIZNv06IntbNWVE2ZpL/zXFmDFmci+pInUU2YLi0DddtqIbtJixDkeVYMapVkHKvokWLUAfFsBKubaiNpGvagazGnDEiCgzsnZeWTFuVceB9SpIVUZA12bYhEURVkgxZxnoo8n16I5NOZxq6YNgEQ3aIbQgeaeYwTFYpekYkWVQioDJkp8j3qv2OmMi/m/b7YqXiV6s+Tb/LRuwMykPKbNh0HgNrPD/0aETU2A4qYrAy0lMN+qsRB8fB8tLqfKOaSFQbcJJGsU6FEPzWi42PdKvQnf4jmuLM7kwuXirFczMomMzk7MNVNkML+x+2YSv6qg4+e3PjG9CfJ1EqD+/pQWtrWI1/+diZo9OUe2L66Nv0FpHNM53WKfkoAqodlU+1OhP0NtD4g3C+4vTgumt1hqNOo7CR4gkkGWZJdT05tN7DuwjF2vtqwVD4w6p85LEztqUqeJaGl9QibhaE+P6+TYVy5wxs6zOWjFYf61jKGXYs0cAqGxEjKqwclU/O7N+YgAd6kl4JvZaTMx12fwb4TQ2M9B+xSaMtZ25wSZSyCqm2Q0SsMlp3mHEtbHA9r8f6JOptwC4XegfoaMjamh103aIs8LwObclPZCSNF7PJItqxuwsPh7lM4AaBj5/0wcJo5F7o5qtN2G76UQw+n17xHMHSiaAmiw+tuN1rbJlmR4BDZcLiprmvfIi58qd0vAu9gr02gzylX4Qpx2+B9K6V7330eGX8yNnoe66fPvnopciZI2eqNbK2tbUGQ9DbbyPo3qVL1IejD+9Bf9T/AYM4kPeHRk9QX47DoqckvQCtmKc871SIS7jW78OGWsVMb6fNSo36ddT0Nb2WDs4GTC9KgUz6wxjrSVhn3aTIVkqd9f6Mj73XhS2wQraFs+e6JXgCYswR0/E8iB5TuiFFLLPFi/mIlV09RFLzP/TokeQ560jcS/tFXlw5ETt01inKVwQywPb5QTinMMKhUeCeHo3T2edrx2aL4OVVkLHWoYMo6vTdHs4xuUpUygseBZ2fIHK9yaP9ihE7IltJbZmfxbE1j2QmdSYr9rqf/UamXs/QJOo40W9g8hSOIXSQ0RWT8GJJ4/mEoMA2nofhR4wqOLTkZFUyNVXkZTOfMjOKQnglL8CwBKOpyGPcowL3j6yHR4ckCI8PyQXEtJUtKSEQ3jTSiN2nZARNRM5zQRQEZF8lvCxENUEXkX6eT0cmLQtqAPUxTRvGa1tR4SdCJGHgU62RPvlw6DfIJTAqAk0dOKFuMX0OXiXXgec4V7+ZPbNg2wtnxDlZbrVkee6S73uWRZ6p7e7U0mftDftsuyOuiZ2fz57M+vHJ+N45vhyeo3zXc4wMf7ed50OTk/7UlE/T28/2i4OfIGU+TRq0xQ9TTLsc9YXcf04vvByFLalX650v9ItHjrhzc97EhFcqPXH3i+aPfumoO//6vNf8aNOrPlxNHLwJIleBtvoN8gqNrab6O9mDVy7Ww1BvwkW3o9ndjSws3iInv4yiMvmUv/tl3ydnG7vfvAFdMfXjkanPVha0nEXuHu4CxeoMxzGK843BSyGAPMYy1cI5EhbZBI0dIRy8EffPPfQGl42AUKpT7x0sAcs3X7zK5ytxUcwmCsH4Ma1caKRF2f+9x08nRSIkZTVVkO5tGibZxnnU6HPxCEhJ0fXT7Xa14KsKkaIfj+p61HgvSIeWRtbvXzAMc6aQTmcDW7ebZcGK6SC0VBamj4wX0pKS0uDNERodXpbHs1F6TPxo2sMTC+O2BPKbHHdyro4HZR8ujO+vkK+QhziHm6EYw1e4RxGLhb7JSpQgdUS9RpFEel3skRS5PdtBqw/ySDBQwjB6kkaC4kuP5SnYiIJG7jyhfEawLz0gJaNAWd5zsSBksAA8APK+iWxCV3nDkPlINjsm6/AKmx9O6FEYReX8tKbrvCA5mWunlx9emPulZDShwqsqiroWNQU0ZD4e1af7ysn3LQvC/Ippekldb/leTLc7kiAqiqrw+agiiVZMExWRPCQUkt2UJIuG3MgXNKKYOs9PEs0qSCQCyhzSXqedxvGFqfZCRyB2MmsIohnFSpiSRviLRGwv1/R2IVPNE0GuJ92kqjScoCBBJxPliWYqlixHLYEf3Oe/bovfuS1C/3drl/w69Q/OIYYgh9c3A7IXgwaMDbw8C0SBrqnH6E0UuT5UFNsICpTnWUTyTMgvzEZVsrq+fv/MxCOZ1Pr9K1euvHjFF+0lufqCCs+Od1U7apljYwkb9hNUgagYQy/wigRajZFRBBNVHbKx/ua6l3n/VPv+9d2fhUNcWWnW5UVLcD8s8lJMjRJBEuVYL+25cVkVEhEiijIPypITMSKCGJEl1hYkisv1CeoDZHBNaomgXNQDeDGlWyCIQ+cyZ2AQ1YYARsvUu7QLI4CL8O1Dz4nJAdbYdV1P2xE5EdfyRpx3g2SSX3lopTfmVxuZhmqdcq2oLZle6FMR4o+ZRLLUUqxtOVHjh9SHdRndeMaXpWPiYftIhA+WeXnSVC6GlhSRa3OT5LdBH2Jx7Fk636XUUIQJl+7Isv6Jmxe9M793xnvmi4fdub895159vObmzufcE+NWpUJWH/Tuu8+Tl71u14s13HzebdiVCpOVAq4I8uYy2mmIMwFPCnkL5VJdKJdAUAF5JYebvV79wPq+VWVvPUl2pMzfJDK/eIQo5CNZSXq/JCUvTs5HJOmUJEWKNV+STkqSPd+8BD++WyJT0u7/FoSnnxYEIkpQKiL903c9xTInTrDlo1f/CWaYfSkCctbTo/6oBMbTerV+mO9V0Uu7DtoQSMedNnzJjfjudjRK+tHNzRvr8BdskqdgU5yfItE/jpKpkvPYI9aDwYPWI485Hx31Sy2A9FijyHUz3NxAst8n3VO/74GI31PaCvsVsad7iPvr9fpB7r1+4L83F+RyNb21WKO+GrXFll7L/V3Vfl6fVwO1Bd95fceJb8Qdskb/YKRFN9lg5K9/HP7Q3jMajz9P2ZvvHJHfKs0wQ6NDWzMMF+V6TXYpMAdbn0AvTlcB7RH7M4lSnRZIy6Hh+SHikPn6Bz7w+gd+pT/Nm5YdidhLjkyUdHwChEdR01KVpYRClEzM8E79WpJMVmcju18/Nz77hXYq57thGNv1D+AxLo3HTTPtTwS9X+ZJBKVQkDbJ8ce/RNfK9YuViamzyc8Usrr0+85qqzL7EzxR5WGs6iY8Z7zyWeypPeyqQ38MZiYfopfhz6BiJt3ZEBcSmf+gq0dfllaNrAaZhH1P6l5Lt850ePMT/krLf5mc6TTmQZb9dDRq1a1PyzDkNeahgocNo2WaSxbZhOL3pu6xE5mgc4a87LdW/E+YfOdMMN8wRVX+tFWzSDT6aUUg8w1BUfkl02wZxmGJ9rePgqz1BoxJPe44d5n5iyqlpIL9J/XQQ5Q07ErpSm92pldv1WvLJImofdi1zmAnBL1rawZ5Dg/B+NWuIbI4RX1VnKTSbrW7vXpthjw4HY3I5OHDiqJEmgaMwivEFkXVaEYU6FinMgTkccWc1lVJLBByL/xkvts4TLLzIICLV//A5/nxHKloGULWkyb5xb9hmjqM+M/xfE4RZd2InJsmpk6IoQhKVxA+AhuDn0o8eZ3X5C8sN0DXEJDA6uSx6DT5Qb7uUX8k/07cpciJkix3RgkFvh40GsF8cIC49J57KLTzX8oxCeV3+gno50AsSLhtUHhc7LVAMe39aET3rlzRI96zIuREsiYIn/+8IPzWa6L4kxz3V+caJe4JuMbP0jnKEkgAJyna3GybSixUogEt2utSCBXG7VKnnu3KLCWCobztWIrKNtSkHYpC0HRDOZ2Z1VEyQsja7rckQeUliaTM+3leURY/KQpGgPTl90QUHZqnXZW+LvbjBlqUDwkqkoIKkvQPQTM+JIA0VNFVWazooJQfliQT1GvV7IKgJExGBLIhKP5HXDXxYyBlK/EnCS9NRzSRxAReMHTVbQv9tCpGTEFNKGLErivKcULUhABtvSkKEr8Y03UF7dpG5ggITMQB6VGQO5b4PeLsMYbzwSqXghFzBXScJ7lXuS9yX+P+PfftwXGR5ZPaRQauGajTtEO3jS6GEJQ74SxCp04tJuwXKAiD1yxGLNO3Xy5jGZDWKFJ7t410ug6CHUPngTDHUL7cZttmDw8mI6jdBSc4OnNlRM8ZPTr0QgMoA7p3vUQjI2cpZRUcBO4BK0NJu1p4fESywStxUJ3osOl5NoHd/ZRnRb20e59pKWrUVOFv0YHHCc9KcBwJOhdFEJvwVAT4wt+9PzabyPB8JjG3dLjNch6UFFze4fnTPKaCJOuSZMBX4PmrWU1T1aitqvCToIgV/qu8CtclijwaYxJQmofTXeBRwBaQflY4CYsotKLFxQtLC3OWOR9RoFaRnqkqwgNoFOLF1cdMBSok6icFcRE6NR4XhH+Kz8YxPp3VK1MMcBXO+2EePlCzV/AcBLQQcxEVMb7Bl0CvaVmarqkxFV4DEM7VGJ+1LP6SZkBfKfP8j/D8/YIIp8QDiF1UBGB8JgQqrmko5lGcSBYj5XETDLOP+nuhtSRK5VO06M31qKsEvoN7k1FoFVOGnN6/+uoZJ49uDXnn7KfODrK//8lTLubcU4PMV/x1Hz4YGWUIWad5velkBWMvm9RFd+LhCVfUB5l0tB+FT3Yje7Ly1+3/r9v/97L9/x84vxIPeNqNjjFuwjAYhZ9DiFSlQp1Yuljq0CmRbalCQiwsTNCRE2AhD9hSAuISnIWpx+AAPUunviQ/UocO2LLf5/9/ev4BTHCFwn1lwgolXoUzFPgQHuEdF+GcnpvwGC/4ES5Qqjc6Vf4kqQMrTEkDZ3hm0sAjfGIhnNPzJTyGxrdwgakqu6g1AiI8ljjzbpFwoGIdol+efZsOfGxY2dF3Yg8bvwsn6orWiGOvDfa0aDjUMNQ5z//BQ89xV7A8jn6LGeNSPK5Ss/fa1UbP9Z8B+HKuspUzdvbYwFtWGvZCP6PmH90vda/dfNj6pg0pamNsbYzRD8X+ArxTRYd42m1YBbzsRtW/58y63PusLQUKdUpLoEqRetEqBSq0BZpNZnfzNpvJm0nu3n2FQlu0LQ7F3d3d3d3d3d3p959Jsnff+333d/ec/5mZTEaOZoVX3N9NH1jZf+X/+eMng9AKrwhiElSjOjWoSS1qU4e61KM+rdIabaGttI220w7aZ+VLtC/tRzej/enmdAu6JR1At6Jb04F0EB1Mh9ChdBgdTrdZ6a8cQkfQbelIOopuRx7dnu5AR9MxdCwdR8fTCXRHOpHuRHemu9Bd6SQ6mU6hU+k0Op3OoDPpbnR3ugfdk+5F96az6Gw6h86l8+h8ug9dQPel+9H96UK6iC6mS+gBdCldRpfTA+lB9GC6gnwaUEAhSRrSiMYU0U6aUExTSkhRSrtIk6GMclqnGW3QnHbTlfQQeihdRQ+jh9PVdA1dS4+gR9Kj6NH0GHosXUfX0w30OHo8PYGeSE+iJ9NT6Kn0NLqRnk7PoGfSs+jZ9Bx6Lj2Pnk8voBfSi+jF9BJ6Kb1s5Xp6Ob2CXkmvolfTa+i19Dp6Pb2B3khvojfTW+it9DZ6O71jpUnvpHfRu+k99F56H72fPkAfpA/Rh+kj9FH6GH2cPkGfpE/Rp+kz9Fn6HH2evkBfpC/Rl+kr9FX6Gn2dvkHfpG/Rt+k79F36Hn2ffkA/pB/Rj+kn9FP6Gf2cfkG/pF/Rr+k39Fv6Hf2e/kB/pD/Rn+kv9Ff6G/2d/kH/pH/Rv+k/9F/6H93EK0zMLLjGdW5wk1vc5g53ucd9XuU13sJbeRtv5x28D+/L+/HNeH++Od+Cb8kH8K341nwgH8QH8yF8KB/Gh/Nt+Ai+LR/JR/Ht2OPb8x34aD6Gj+Xj+Hg+ge/IJ/Kd+M58F74rn8Qn8yl8Kp/Gp/MZfCbfje/O9+B78r343nwWn83n8Ll8Hp/P9+EL+L58P74/X8gX8cV8CT+AL+XL+HJ+ID+IH8xXsM8DDjhkyUMe8Zgj3skTjnnKCStOeRdrNpxxzus84w2e826+kh/CD+Wr+GH8cL6ar+Fr+RH8SH4UP5ofw4/l61Z+z9fzDfw4fjw/gZ/IT+In81P4qfw0vpGfzs/gZ/Kz+Nn8HH4uP4+fzy/gF/KL+MX8En4pv2zlMfxyfgW/kl/Fr+bX8Gv5dfx6fgO/kd/Eb+a38Fv5bfx2fge/k9/F7+b3rKzye/l9/H7+AH+QP8Qf5o+sHMwf5Y/xx/kT/En+FH+aP8Of5c+tXMef5y/wF/lL/GX+Cn+Vv8Zf52/wN/lb/G3+Dn+Xv8ff5x/wD/lH/GP+Cf+Uf8Y/51/wL/lX/Gv+Df+Wf8e/5z/wH/lP/Gf+C/+V/8Z/53/wP/lf/G/+D/+X/8c3CbgEwUKImqiLhmiKlmiLjuiKnuiLVbEmtoitYpvYLnaIfcS+Yj9xM7G/uLm4hbilOEDcStxaHCgOEgeLQ8Sh4jBxuLiNOELcVhwpjhK3E564vbiDOFocI44Vx4njxQnijuJEcSdxZ3EXcVdxkjhZnCJOXblBnCZOF2eIM8XdxN3FPcQ9xb3EvcVZ4mxxjjhXnCfOF/cRF4j7ivuJ+4sLxUXiYnGJeIC4VFwmLhcPFA8SDxZXCF8MRCBCIcVQjMRYRGKnmIhYTEUilEjFLqGFEZnIxbqYiQ0xF7vFleIh4qHiKvEw8fCVG8XV4hpxbf2Eo49ONxp+uDM3mfDDpOfH0SjxAplkUvcLwfZFw3mnkGI5zLoF1NFonDX8qb9bJW1/OshjPwlkA2SsdNNPQq2isO0nIxnHkcm2AsXSC1U+cGyW7NliZ962R4t7wdoeTXnaqeRZUsJiSQ66J1oFztOmr4NxtC47vpa+F4x9jUVorWZeEOlgsYjlFjvX9j1alBu1d5sdt2OvNvfyrXs15um2PVrKPS032T05udiTg8WeHCz35HCeNhwwxTDj+XHZZbxxBdY7fp6pqRpEsWwN/GAy83XYH/juejwT+LEUAz+p4TdpD3xdnEx3gTzVBA5UKDFEGwzJoA1z7+gFOmaBjl2g4xbo+H6F5DTN5r1KGuZxvBDGfjxcq4RdOV4r9b6VnI21lFWrEQMZ1gZS6uZAju0eVkvuGTsEq4SCNSzxVMcxE/tm3NuEdkdRMMdhdwZRogJoqjb9QaSzcejPvcCfyPYgygZ5MJHZlgUq58ezWaCipD2IcZheFuGNKg4tyUCmAxA1aVky9fWkUwFPtQc6ksPANzjwLBCDfNQa5FEcRsmoUwFPoS2OYTKJA0bOMTo3GDA32IEfGhH4gw6uza47U7plbzAJfb2lArg3iZWpzYZplOQGx7FoUGsLmMa2a3NsFk0lGhqBP5Xa7xXM0zLTCm/WmAO4UM4COuUsoFPO7QUuTqsymL3anMHs1VYYzF6NedoqWvIUS4Y2btpG28l2+RwEzSDwsNKNVXCcI/TEC+J80HWiCdS61A3gncGgDzb1DVQJz4dtSKk/T/3YIpPpKJV2rvXI+N1Aavi6KPAzWYctREnPUW+g1UQmdXfMveKwC+NdXRY8VfYVm1ldFjy1HeK6Vsmy89m7rTilPdvKU9qzMU97VYudZyHYCfqV4J7sVFKeYv3QuUYw1moqG8VMrWrpqwuXlagsGHdLMRtD8YM4SgcKh9cMYmUVrQ6eSEuNo3m46qhbTKz8sFeIeWoFESTzmvUnbUu8odKTpkWpTBqBGg6lFIEaYcTIoD3Op4nl0ymiULvkVpULBJPpbUJYTymYagBU2T6d+sbYvlRLY1YDlSQyyEK5LmOV4q1J5iu8MZ1vCRAcMkQJzz6vEtNFQxhlnlWWWqBV2gExBnqgTS0w5rhakA+waxBYZp418YvhtdohPI07pZZFth8g8wcw/0YoQ7ubUMZREKncNENpJhnmxooiH4vRWTOMfLw/rIXRaNQLVbbQqlZ1qq1QR4MB4mATsRU3stEIdQ5NrtkF1+VO7LBjg21qIsSDTbjegCeOtGzJxO1fdioAv7CAhaI2YPxGaiFzXcNPteQGbABBvAsQI9pnkUq2LeFymTuWm2BVLgg35EaKRKAHZpcoQ2PivtyAKSZ+7MVRMtmxh1SuQcAHtvErvHcHyO43lbo19ANp/evWCnjQHxypH68tWoo5+kOYvFeFv56ToHlWEEN/ozGUUzjA7tDaiNTeTpnVhgiYq5Z4ZeIAgy7EPIyUp7pOcDpcdmDPMq6EaOqPFj1TtR5BaDhBdRxLw2HVnY5VhhmLt6VRkOXWRWwtRDWTOkXAyarRRuVJiHDihAwn1l2gash6FMrFEmdKh9VLd0cpDMJCGIbd4tSuCVsG1nKrJdiGtaU8MmMEWdsyVBu1YeyPVi0poouEVTScqOpDey2OTtAUBRNcDFQondsNIzTai3LMLqgEMPb+ErZrgRG2LYlgjgZP6HyKMN8sb6kzVLkuI/AQIQCPtIZ5hqiL/Yzg+lM/rI98KK8YDdLaSPq6bonpjBDXpMaGLUTAUDaY82jUHo1KZa2NomEmRlHWwa9SfMBxPugUzGZW/RIW/fUR9mtA1QBjlYJ6dwvmQtK2JVypYNk08+NYZqsj7Yd5aTJ+2oKYRYhE9ZFWCHrj8qHu2LeH7SVyZoBx7xg48FTf4Tja7du7LXqKUFth6/t7JXauv10KCBYOpX5qT78UJOwFGlgIVtvcdTlROye/5rAJImMUomv5nEldZzHQwIVBH8YhXtMYSx/H3rEM6p1IUweEX3MU2uv4AM62OUY5oPS8NkYc6oyVSaMMDgDzqEzG7THu3Z11d4G8Y5bwsUv4uP4mxq2vbko2wVwaiN0ssLHuFi/Ld++uj7NpfEIr8gLomtIiik3d2XE9Sqx/jRLrt1tgqIKw4igZqq4lpSKJKNHtKMGMuKVp16Ioy+0db3UnmkD/4PxipWFZkdrAZrOG3W0UNHYqNY19sTOdt3aaYRSGmG4i5x38XBjxlJjoWQtp+yjHihqxn+K4wUw2nPYLVqXAsfSHTZAkzQf1WI78GBKiCbxAbGOeU5RWAfO0HUdD6Q1UPi9RrkqkbWrqkIFl6W5s9Qhp6cBOhCyrqBBq1le3LIFXT9YqUBkK5HyjZmu+liXWlJoOqLjgebyKPKIwBZfe1WxasYacYrSU7i3LVre3LMlOv/tLDchucG04VVAcem/qR3Hl7ztO0DKN56ubEMuKazYGiKmfYkjq2aRd6rqFqmlpitzHcoNy12CsNl1LymK0wFAL5Ib9JeyN95DWsaSNIExaU3s9fjZuTHFY+dSyCcL2VNr6BDk3VHDemUY25bDms2UTlgVNkdQXilcKZaa5LMASi9qvVzDPTVGHMsg5eqxOoEfDBjynZp0pQpF21VF/itREVt6gPs1NFDQTf9066EYiczR2rV+qHIka2JTDcw5stRTyxIl9FSZqYs0tiSbRjj2kcqEtGwdsSt+wIArrYNrvqxTByLOZGF7XVHnmMqcUFmAV0HRT30bGgc7NuFssJIWJyP4ShrNxks1b66lN/UGxM5H6s0aR/Dfsu6O4X7ByRWt7SHBI7uh65R0Uyu0id3sRsoFKo+gAwZOinNCrm9AqP8bY85Qm6y6Ql27ZxNXUdu010HnXkvKm+0sYURPxZdR1QaZo6i4HnCVsl2YTCZsg1VPYddZL4fBcuiEDybt2NXa5In9tV441bCZynV053HBR5BXQGRtrv6Hh89W0riVK66aWTmcayAuQ2vULVpXMSCGwszE6E/xDREaCggyGB/9fd/bXXlghurOZlJnQqKU18tyGdiG7q1Xml0vplbj46KSdAQqNCK9NtWOh4fu07QBNpWwYf+jrqGY9WasKYw0jbXLXK1hRJ3dLwZ5ew9bcZg6m4f/qSPu1bDtqb3LLApXv7BUNpRkuCzBDpFMTGVu2y7FIxmENLMVTkc4MQkweT/pmjNTJ1jLWFprW13hR0nIc2t+wwI+7JpriuOxXAzsmQ/aatsxk7mewqjpAKuvGfp9omhipILIgx92KmmbqstAaDiBbtQQ7SMe+55tgbUnE8EqGI4CRoX/LsmwHtIoGE7QdsE3FmCSHD4sC27V1jwY7pONSWFcU9uE+7LebcZ6hbmoi+KM0w0mncE2QlP3Y2Cg9RHWUqwiwyDqqUqQUbY2PvHNWswG9bUkR9RfI3oHFqg4X4E97jla2AiHdrA+cVMYLTCAzRGqUhxIY+e3cFsX2kQW2p4lojG4NzUX6LWd9+zEBaovyOh+N0YN0NpZ5inJpCZdW1jb5wAQ6SnHB+WDmz1smjzL7qahuclx810CFdTGijiIShuZo1sHWbd4E1yGQddTwMxhgJgZwI+ogg0JJaWDP/QzezNbOMxkNVAsPQNuhSa5sGEv3ccDhWRRmY87GrWzsxb4eyaYFCNQdpL/TgWcPu+ugcYG5X+Iy/VxISCxKnKcNe1QSS7cfl3rFJ6byk8mygGOEt8eL1MhmyvBV7Qom9UzD1XdBE1Ok9GtL2BqhHWHGTUftTLiKBkgcq679ruOHOAil0YQwOsfgPJgIZHEiy+YNdyO6X7DKmuHTJ6iCsHl4u2yGC8HsYDi71ZJXwQvP2Tf57dwVGwhNNSDVyRMUjhoWOm/kic2MLIM76xTMLrtRfhbJTVhDVNJNS7xp2HbceqGuQ0YG8Iwdh92h1S009XUJp9VztExFOoVg047meuTbr5W9oiIsvubV1/G46jlapYzrWDKvT7rr9otL+UG9xPYaSpinTZhEAvfUmElYX1Z32gQh2oCXmqHF+GnamY2ljO3HMl2bRcOoO0OctzW/782aM6TPambETCVtW5q6TzKNGQJDMK5hllHXkuoO5vZDzACaiqxk+7JQhcm5P1aK50F7HlR7mcs4bc7hLfMBJii4TQXmq5VQDPw/6GFJgwAAAAAAAAH//wACeNpjYGBgZACCM7aLzoPoK6s2noPRAFSzCHYAAA=="}},"time_used":37,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":33,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_ticker_tape_widget.965c90dc6d41319f132d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.639Z","timestamp":1785129292639,"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_ticker_tape_widget.965c90dc6d41319f132d.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-4e48\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:49\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0e47f4c435721f48d680477c9bc543a5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20040,"size_decoded":8357,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3067)","md5":"8194369d30f2aef481ad9b0e75ee118e","sha1":"37a70e62467216b914515bcbdac9df29330d6ae5","sha256":"44ece61da7dd37300e68e5b567453707c97eafcbaccfab2e1cf62f6b05966071","sha512":"4371d06b7b2b3c3742f8395c8c142405ef02bdfae5eb8f48ebb626a5ef89ccac5e87891a1a1806d59bd827f4c45bd0043bcb15e4858bc5264022119f93954367","ssdeep":"384:sN6NujCBUjpEQ4aa20p3kHYB022b2jfMwttlhp4XYzNn0+fo1r7K/A5akkVC8WGq:sMsjCBmEQ4aa26y22b2jfMwt1p4XYhDS","tlshash":"7492e9133394247b80ea44eb91fd4647b6224888f6828818b96ccdce276ddd935b7f7d","first_seen":"2026-07-23T13:38:20.453766Z","last_seen":"2026-07-27T08:06:56.416222Z","times_seen":554,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0NzY3M10sezc1ODA1OShlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtdGlja2VyLWl0ZW0tdGFwZS1wYWRkaW5nIjoiMTZweCIsImNzcy12YWx1ZS10aWNrZXItaXRlbS10YXBlLWhlaWdodC1ub3JtYWwiOiI0NHB4IiwiY3NzLXZhbHVlLXRpY2tlci1pdGVtLXRhcGUtaGVpZ2h0LWNvbXBhY3QiOiI3MnB4IiwiY3NzLXZhbHVlLXRpY2tlci1pdGVtLXRhcGUtc2tlbGV0b24td2lkdGgtbm9ybWFsIjoiMzQ2cHgiLCJjc3MtdmFsdWUtdGlja2VyLWl0ZW0tdGFwZS1za2VsZXRvbi13aWR0aC1jb21wYWN0IjoiMTI1cHgifX0sMzE5MDk2KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS10aWNrZXItaXRlbS10YXBlLWhlaWdodC1ub3JtYWwiOiI0NHB4IiwiY3NzLXZhbHVlLXRpY2tlci1pdGVtLXRhcGUtaGVpZ2h0LWNvbXBhY3QiOiI3MnB4IiwiY3NzLXZhbHVlLXRpY2tlci1pdGVtLXRhcGUtc2tlbGV0b24td2lkdGgtbm9ybWFsIjoiMzQ2cHgiLCJjc3MtdmFsdWUtdGlja2VyLWl0ZW0tdGFwZS1za2VsZXRvbi13aWR0aC1jb21wYWN0IjoiMTI1cHgiLCJjc3MtdmFsdWUtdGlja2VyLWl0ZW0tdGFwZS1wYWRkaW5nIjoiMTZweCJ9fSwzOTkwOTIoZSl7ZS5leHBvcnRzPXsiY3NzLXZhbHVlLWNvcHlyaWdodC10cmFuc2l0aW9uLXBhcmFtcyI6Ii42cyAwcyBjdWJpYy1iZXppZXIoLjQsIC4wMSwgLjIyLCAxKSIsImNzcy12YWx1ZS1jb3B5cmlnaHQtdHJhbnNpdGlvbi1wYXJhbXMtaGFsZi10aW1lIjoiLjNzIDBzIGN1YmljLWJlemllciguNCwgLjAxLCAuMjIsIDEpIixsYWJlbDoibGFiZWwtZHpiZDdseVYiLGxvZ29XcmFwOiJsb2dvV3JhcC1kemJkN2x5ViIsZXhwYW5kZWRXaXRoVHJhbnNpdGlvbjoiZXhwYW5kZWRXaXRoVHJhbnNpdGlvbi1kemJkN2x5ViIsZXhwYW5kZWRCeUNsaWNrOiJleHBhbmRlZEJ5Q2xpY2stZHpiZDdseVYiLHN0YXJ0OiJzdGFydC1kemJkN2x5ViIsZW5kOiJlbmQtZHpiZDdseVYiLHNuYXA6InNuYXAtZHpiZDdseVYiLHRvcDoidG9wLWR6YmQ3bHlWIixib3R0b206ImJvdHRvbS1kemJkN2x5ViIsbGFyZ2U6ImxhcmdlLWR6YmQ3bHlWIixleHBhbmRlZDoiZXhwYW5kZWQtZHpiZDdseVYiLGxhYmVsX19saW5rOiJsYWJlbF9fbGluay1kemJkN2x5ViJ9fSw4NjcwNTEoZSl7ZS5leHBvcnRzPXt0aWNrZXJUYXBlOiJ0aWNrZXJUYXBlLU5fa3lwanQ5Iixub0F1dG9TY3JvbGw6Im5vQXV0b1Njcm9sbC1OX2t5cGp0OSIsdGFwZToidGFwZS1OX2t5cGp0OSIsaGVhZDoiaGVhZC1OX2t5cGp0OSIsdGFpbDoidGFpbC1OX2t5cGp0OSIsc2tlbGV0b246InNrZWxldG9uLU5fa3lwanQ5In19LDE1MDE1MChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtndWlkOigpPT5uLHJhbmRvbUhhc2g6KCk9PmEscmFuZG9tSGFzaE46KCk9Pm99KTtjb25zdCBzPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7ZnVuY3Rpb24gbigpe3JldHVybiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZywoZT0+e2NvbnN0IHQ9MTYqTWF0aC5yYW5kb20oKXwwO3JldHVybigieCI9PT1lP3Q6MyZ0fDgpLnRvU3RyaW5nKDE2KX0pKX1mdW5jdGlvbiBhKCl7cmV0dXJuIG8oMTIpfWZ1bmN0aW9uIG8oZSl7bGV0IHQ9IiI7Zm9yKGxldCBpPTA7aTxlOysraSl7Y29uc3QgZT1NYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpO3QrPXNbZV19cmV0dXJuIHR9fSwxMzY5OTEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q29weXJpZ2h0UG9zaXRpb246KCk9PnMsY29weXJpZ2h0TGFiZWw6KCk9PmR9KTt2YXIgcyxuPWkoMTg1MjcxKSxhPWkoOTE0NDg3KSxvPWkubihhKSxyPWkoNjAxODQxKSxsPWkoMzg3MjMxKSxjPWkoMzk5MDkyKTtmdW5jdGlvbiBkKHtzdmdUZXh0OmUsaWNvbjp0LHRoZW1lOmEsdXJsOmQsbW9kZTpoLHZlcnRpY2FsUG9zaXRpb246bT1zLlZlcnRpY2FsLkJvdHRvbSxob3Jpem9udGFsUG9zaXRpb246cD1zLkhvcml6b250YWwuRW5kLHNuYXBUb0VkZ2U6dT0hMCxpc0V4cGFuZGVkOmc9ITEsY2xhc3NOYW1lOl99KXtsZXQgdjtzd2l0Y2goaCl7Y2FzZSJuZXciOmNhc2Uid2l0aF9ib3JkZXIiOmNhc2UibGFyZ2VfdHJhZGUiOnY9KDAsci5jbG9uZSkoYSk7YnJlYWs7ZGVmYXVsdDp2PSgwLGwubWVyZ2VUaGVtZXMpKCgwLHIuY2xvbmUpKGMpLGEpfWNvbnN0IHk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2xldCBiO2QmJihiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSxiLmNsYXNzTGlzdC5hZGQoLi4udi5sYWJlbF9fbGluay5zcGxpdCgvXHMvKSksYi5ocmVmPWQsYi50YXJnZXQ9Il9ibGFuayIsYi5yZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiLGIuc2V0QXR0cmlidXRlKCJkYXRhLXRhcmdldC10eXBlIiwiY29weXJpZ2h0IiksYi5hcmlhTGFiZWw9bi50KG51bGwsdm9pZCAwLGkoNTE3ODU5KSkseS5hcHBlbmQoYikpLHkuY2xhc3NOYW1lPW8oKSh2LmxhYmVsLHA9PT1zLkhvcml6b250YWwuU3RhcnQmJnYuc3RhcnQscD09PXMuSG9yaXpvbnRhbC5FbmQmJnYuZW5kLG09PT1zLlZlcnRpY2FsLlRvcCYmdi50b3AsbT09PXMuVmVydGljYWwuQm90dG9tJiZ2LmJvdHRvbSx1JiYibGFyZ2VfdHJhZGUiIT09aCYmdi5zbmFwLCJsYXJnZV9vbGQiPT09aCYmdi5sYXJnZSwoZ3x8ImxhcmdlX3RyYWRlIj09PWgpJiZ2LmV4cGFuZGVkLF8sImpzLWNvcHlyaWdodC1sYWJlbCIpLHkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgoKT0+e2Z1bmN0aW9uIGUoKXt5LmNsYXNzTGlzdC5yZW1vdmUodi5leHBhbmRlZEJ5Q2xpY2spLHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsZSl9CnkuY2xhc3NMaXN0LmNvbnRhaW5zKHYuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbil8fHkuY2xhc3NMaXN0LmNvbnRhaW5zKHYuZXhwYW5kZWQpfHwoeS5jbGFzc0xpc3QuY29udGFpbnModi5leHBhbmRlZEJ5Q2xpY2spP2R8fGUoKTooeS5jbGFzc0xpc3QuYWRkKHYuZXhwYW5kZWRCeUNsaWNrKSx5LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpKSl9KSk7Y29uc3Qgaz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7ay5jbGFzc05hbWU9di5sb2dvV3JhcCxrLmlubmVySFRNTD10O2NvbnN0IGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiBmLmNsYXNzTmFtZT12LnN2Z1RleHRXcmFwLGYuaW5uZXJIVE1MPWUseS5hcHBlbmQoayxmKSxbeSx2XX0hZnVuY3Rpb24oZSl7bGV0IHQsaTshZnVuY3Rpb24oZSl7ZVtlLkJvdHRvbT0wXT0iQm90dG9tIixlW2UuVG9wPTFdPSJUb3AifSh0PWUuVmVydGljYWx8fChlLlZlcnRpY2FsPXt9KSksZnVuY3Rpb24oZSl7ZVtlLlN0YXJ0PTBdPSJTdGFydCIsZVtlLkVuZD0xXT0iRW5kIn0oaT1lLkhvcml6b250YWx8fChlLkhvcml6b250YWw9e30pKX0oc3x8KHM9e30pKX0sNjUzODE3KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5hLkNvcHlyaWdodFBvc2l0aW9uLGNyZWF0ZUNvcHlyaWdodExhYmVsOigpPT5yfSk7dmFyIHM9aSg5MTQ0ODcpLG49aS5uKHMpLGE9aSgxMzY5OTEpLG89aSg1Mjg4NjQpO2Z1bmN0aW9uIHIoe3NoZXJpZmZPcHRpb25zOmUsLi4udH0pe2NvbnN0W2ksc109KDAsYS5jb3B5cmlnaHRMYWJlbCkodCkscj1lJiZlLmluY2x1ZGVzKG8uS25vd25BY3Rpb24uRXhwYW5kKSxsPWUmJmUuaW5jbHVkZXMoby5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbyk7cmV0dXJuIGkuY2xhc3NOYW1lPW4oKShpLmNsYXNzTmFtZSwocnx8bCkmJnMuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbiksaX19LDUyODg2NChlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtLbm93bkFjdGlvbjooKT0+cyx3aWRnZXRTaGVyaWZmQWN0aW9uczooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuRXhwYW5kPSJleHBhbmQtbG9nbyIsZS5MYXJnZVRyYWRlTG9nbz0ibGFyZ2UtdHJhZGUtbG9nbyJ9KHN8fChzPXt9KSk7Y29uc3Qgbj1uZXcgU2V0KFtzLkV4cGFuZCxzLkxhcmdlVHJhZGVMb2dvXSl9LDExMjU0MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRDU1NQcm9wZXJ0eTooKT0+cixnZXRDU1NQcm9wZXJ0eU51bWVyaWNWYWx1ZTooKT0+bCxnZXRDb250ZW50V2lkdGg6KCk9PmEsZ2V0U2Nyb2xsYmFyV2lkdGg6KCk9PnMsbWF0Y2hNZWRpYU1pbk1heDooKT0+bixzZXRTdHlsZTooKT0+b30pO2NvbnN0IHM9KCgpPT57bGV0IGU7cmV0dXJuKCk9PntpZih2b2lkIDA9PT1lKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGk9dC5zdHlsZTtpLnZpc2liaWxpdHk9ImhpZGRlbiIsaS53aWR0aD0iMTAwcHgiLGkubXNPdmVyZmxvd1N0eWxlPSJzY3JvbGxiYXIiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7Y29uc3Qgcz10Lm9mZnNldFdpZHRoO3Quc3R5bGUub3ZlcmZsb3c9InNjcm9sbCI7Y29uc3Qgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtuLnN0eWxlLndpZHRoPSIxMDAlIix0LmFwcGVuZENoaWxkKG4pO2NvbnN0IGE9bi5vZmZzZXRXaWR0aDt0LnBhcmVudE5vZGU/LnJlbW92ZUNoaWxkKHQpLGU9cy1hfXJldHVybiBlfX0pKCk7ZnVuY3Rpb24gbihlLHQpe3JldHVybiB0PT09MS8wP3dpbmRvdy5tYXRjaE1lZGlhKGAobWluLXdpZHRoOiAke2V9cHgpYCk6d2luZG93Lm1hdGNoTWVkaWEoYChtaW4td2lkdGg6ICR7ZX1weCkgYW5kIChtYXgtd2lkdGg6ICR7dH1weClgKX1mdW5jdGlvbiBhKGUpe3JldHVybiBsKGUsIndpZHRoIiktbChlLCJwYWRkaW5nLWxlZnQiKS1sKGUsInBhZGRpbmctcmlnaHQiKX1mdW5jdGlvbiBvKGUsdCxpKXtudWxsIT09ZSYmZS5zdHlsZS5zZXRQcm9wZXJ0eSh0LGkpfWZ1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpLmdldFByb3BlcnR5VmFsdWUodCl9ZnVuY3Rpb24gbChlLHQpe3JldHVybiBwYXJzZUludChyKGUsdCkpfX0sMzE4OTc0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NoZWNrTW9iaWxlOigpPT5jLGlzRGVza3RvcEFwcDooKT0+cixpc01hYzooKT0+byxpc1N5bXBob255RW1iZWQ6KCk9Pmwsb25XaWRnZXQ6KCk9Pm4ub25XaWRnZXQsc3VwcG9ydFRvdWNoOigpPT5kfSk7dmFyIHM9aSg3Mzg0NTgpLG49aSgzNzcyMjYpO2NvbnN0IGE9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307ZnVuY3Rpb24gbygpe3JldHVybiBzLmlzTWFjfWZ1bmN0aW9uIHIoKXtyZXR1cm4vVFZEZXNrdG9wL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KX1mdW5jdGlvbiBsKCl7cmV0dXJuIGEuaXNTeW1waG9ueXx8ITF9Y29uc3QgYz17QW5kcm9pZDooKT0+cy5pc0FuZHJvaWQsQmxhY2tCZXJyeTooKT0+cy5pc0JsYWNrQmVycnksaU9TOigpPT5zLmlzSU9TLE9wZXJhOigpPT5zLmlzT3BlcmFNaW5pLGlzSVBhZDooKT0+cy5pc0lQYWQsYW55OigpPT5zLmlzQW55TW9iaWxlfTtmdW5jdGlvbiBkKCl7cmV0dXJuIHMubW9iaWxldG91Y2h8fHMudG91Y2h8fHMuaXNBbnlNb2JpbGV9YS5pc01vYmlsZT1jLGEub25XaWRnZXQ9bi5vbldpZGdldDtzLmlzQ2hyb21lLHMuaXNGRixzLmlzRWRnZSxzLmlzU2FmYXJpfSw5NDY2NzEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpKDc5NTM4MyksaSg3MjI1NzEpO3ZhciBzPWkoMTg1MjcxKSxuPWkoNTQ3ODUxKSxhPShpKDMxOTA5NiksaSg4NDU1MTApKSxvPWkoODM3ODIyKSxyPWkoOTg2Mjc1KSxsPWkoNDQzNTU3KSxjPWkoNjQxNTkzKSxkPWkoOTE0NDg3KSxoPWkubihkKTtjbGFzcyBtIGV4dGVuZHMgYS5UaWNrZXJJdGVtQWJzdHJhY3R7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsdCxpKSx0aGlzLl9vcHRpb25zPWl8fHt9fXNldFdpZHRoKGUpe3RoaXMuX2VsLnN0eWxlLnNldFByb3BlcnR5KCJ3aWR0aCIsZSsicHgiKX0KZ2V0V2lkdGgoKXtpZighZG9jdW1lbnQuYm9keS5jb250YWlucyh0aGlzLl9lbCkpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgZ2V0IHRpY2tlciBpdGVtIHdpZHRoLCBiZWNhdXNlIHRoZSBlbGVtZW50IGlzIG5vdCBhdHRhY2hlZCB0byBET00iKTtyZXR1cm4gdGhpcy5fZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGh9cmVzZXRXaWR0aCgpe3RoaXMuX2VsLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ3aWR0aCIpfXRvZ2dsZUNvbXBhY3RNb2RlKGUpe3RoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoYCR7dGhpcy5fZ2V0Q2xhc3MoKX0tLWNvbXBhY3RgLGUpfXRvZ2dsZVRyYW5zcGFyZW5jeShlKXt0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKGAke3RoaXMuX2dldENsYXNzKCl9LS10cmFuc3BhcmVudGAsZSl9c2V0VmlldyhlLHQsaSl7dGhpcy5zZXRXaWR0aChlKSx0aGlzLnRvZ2dsZUNvbXBhY3RNb2RlKHQpLHRoaXMudG9nZ2xlVHJhbnNwYXJlbmN5KGkpfXN0YXRpYyBnZXRTa2VsZXRvbkVsZW1lbnQoZSx0KXtjb25zdCBpPWA8ZGl2IGNsYXNzPSIke2goKSgidHYtdGlja2VyLWl0ZW0tdGFwZSIsInR2LXRpY2tlci1pdGVtLXRhcGUtLXNrZWxldG9uIix7InR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QiOmUsInR2LXRpY2tlci1pdGVtLXRhcGUtLXRyYW5zcGFyZW50Ijp0fSl9Ij48ZGl2IGNsYXNzPSJ0di10aWNrZXItaXRlbS10YXBlX19ib3JkZXItd3JhcHBlciI+PGRpdiBjbGFzcz0idHYtdGlja2VyLWl0ZW0tdGFwZV9faW5uZXItd3JhcHBlciI+PGRpdiBjbGFzcz0idHYtdGlja2VyLWl0ZW0tdGFwZV9fc2hvcnQtbmFtZS13cmFwcGVyIj48L2Rpdj48ZGl2IGNsYXNzPSJ0di10aWNrZXItaXRlbS10YXBlX19sYXN0LXdyYXBwZXIiPjwvZGl2PjxkaXYgY2xhc3M9InR2LXRpY2tlci1pdGVtLXRhcGVfX2NoYW5nZS13cmFwcGVyIj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj5gO3JldHVybigwLGwucGFyc2VIdG1sRWxlbWVudCkoaSl9X2dldENsYXNzKCl7cmV0dXJuInR2LXRpY2tlci1pdGVtLXRhcGUifV9nZXRWaWV3KCl7Y29uc3QgZT17Ym9yZGVyV3JhcHBlcjp0aGlzLl9nZXRFbGVtZW50Q2xhc3MoImJvcmRlci13cmFwcGVyIiksaW5uZXJXcmFwcGVyOnRoaXMuX2dldEVsZW1lbnRDbGFzcygiaW5uZXItd3JhcHBlciIpLHN5bWJvbDp0aGlzLl9nZXRFbGVtZW50Q2xhc3MoInN5bWJvbCIpLGljb25XcmFwcGVyOnRoaXMuX2dldEVsZW1lbnRDbGFzcygiaWNvbi13cmFwcGVyIiksc2hvcnROYW1lV3JhcHBlcjp0aGlzLl9nZXRFbGVtZW50Q2xhc3MoInNob3J0LW5hbWUtd3JhcHBlciIpLHNob3J0TmFtZTp0aGlzLl9nZXRFbGVtZW50Q2xhc3MoInNob3J0LW5hbWUiKSxsYXN0V3JhcHBlcjp0aGlzLl9nZXRFbGVtZW50Q2xhc3MoImxhc3Qtd3JhcHBlciIpLGxhc3Q6dGhpcy5fZ2V0RWxlbWVudENsYXNzKCJsYXN0IiksY2hhbmdlV3JhcHBlcjp0aGlzLl9nZXRFbGVtZW50Q2xhc3MoImNoYW5nZS13cmFwcGVyIiksY2hhbmdlQWJzOnRoaXMuX2dldEVsZW1lbnRDbGFzcygiY2hhbmdlLWFicyIpLGNoYW5nZVB0OnRoaXMuX2dldEVsZW1lbnRDbGFzcygiY2hhbmdlLXB0Iil9LHQ9dGhpcy5fc3ltYm9sRGF0YS50aXRsZXx8dGhpcy5fc3ltYm9sRGF0YS5kZXNjcmlwdGlvbixpPXRoaXMuX29wdGlvbnMuc2hvd1N5bWJvbExvZ287cmV0dXJuYDxkaXYgY2xhc3M9IiR7ZS5ib3JkZXJXcmFwcGVyfSI+PGRpdiBjbGFzcz0iJHtlLmlubmVyV3JhcHBlcn0iPjxkaXYgY2xhc3M9JHtlLnN5bWJvbH0+PGRpdiBjbGFzcz0iJHtlLmljb25XcmFwcGVyfSBqcy1oZWFkZXItaWNvbiI+XG5cdFx0XHRcdFx0XHRcdCR7aT8oMCxvLmdldENpcmNsZUxvZ29BbnlIdG1sKSh7bG9nb1VybHM6W10sc2l6ZTp0aGlzLl9vcHRpb25zLmlzQ29tcGFjdE1vZGU/Inh4eHNtYWxsIjoieHNtYWxsIixjbGFzc05hbWU6dGhpcy5fZ2V0RWxlbWVudENsYXNzKCJpY29uIil9KToiIn1cblx0XHRcdFx0XHRcdDwvZGl2PjxkaXYgY2xhc3M9IiR7ZS5zaG9ydE5hbWVXcmFwcGVyfSI+PHNwYW4gY2xhc3M9IiR7aCgpKGUuc2hvcnROYW1lLCF0JiYianMtc3ltYm9sLXNob3J0LW5hbWUiKX0iPiR7KDAsYy5odG1sRXNjYXBlKSh0fHwiIil9PC9zcGFuPjxzcGFuIGNsYXNzPSJqcy1zeW1ib2wtc2Vzc2lvbi1zdGF0dXMiPjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSIke2UubGFzdFdyYXBwZXJ9Ij48c3BhbiBjbGFzcz0iJHtlLmxhc3R9IGpzLXN5bWJvbC1sYXN0Ij48L3NwYW4+PHNwYW4gY2xhc3M9ImpzLWRhdGEtbW9kZSI+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9IiR7ZS5jaGFuZ2VXcmFwcGVyfSBqcy1zeW1ib2wtY2hhbmdlLWRpcmVjdGlvbiI+PHNwYW4gY2xhc3M9IiR7ZS5jaGFuZ2VBYnN9IGpzLXN5bWJvbC1jaGFuZ2UiPjwvc3Bhbj4mbmJzcDxzcGFuIGNsYXNzPSIke2UuY2hhbmdlUHR9IGpzLXN5bWJvbC1jaGFuZ2UtcHQiPjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj5gfV9nZXRUaWNrZXJPcHRpb25zKCl7cmV0dXJue2RvbnREeWVQcmljZTohMCxzaWduUG9zaXRpdmU6ITAsc2lnbk5lZ2F0aXZlOiEwLGNoYW5nZUluQnJhY2tldHM6ITEsY2hhbmdlUGVyY2VudEluQnJhY2tldHM6ITAsY2hhbmdlRGlyZWN0aW9uVXBDbGFzczpgJHt0aGlzLl9nZXRFbGVtZW50Q2xhc3MoImNoYW5nZS13cmFwcGVyIil9LS11cGAsY2hhbmdlRGlyZWN0aW9uRG93bkNsYXNzOmAke3RoaXMuX2dldEVsZW1lbnRDbGFzcygiY2hhbmdlLXdyYXBwZXIiKX0tLWRvd25gLGxhc3RHcm93aW5nQ2xhc3M6YCR7dGhpcy5fZ2V0RWxlbWVudENsYXNzKCJsYXN0Iil9LS1ncm93aW5nYCxsYXN0RmFsbGluZ0NsYXNzOmAke3RoaXMuX2dldEVsZW1lbnRDbGFzcygibGFzdCIpfS0tZmFsbGluZ2Asc2Vzc2lvblN0YXR1c0NsYXNzU3VmZml4OiItLWZvci10aWNrZXItdGFwZSIsZGF0YU1vZGVDbGFzc1N1ZmZpeDoiLS1mb3ItdGlja2VyLXRhcGUiLHNob3dJbnZhbGlkU3ltYm9sU3RhdHVzOiEwLGluZGljYXRvcnNUb29sdGlwVHlwZToiYnJvd3NlciIsc2V0U3RhdGVIb29rOnRoaXMuX29wdGlvbnMuc2hvd1N5bWJvbExvZ28/KDAsCnIuZ2V0TG9nb1VybHNIb29rKSgoZT0+e2NvbnN0IHQ9dGhpcy5fb3B0aW9ucy5pc0NvbXBhY3RNb2RlPyJ4eHhzbWFsbCI6InhzbWFsbCI7dGhpcy5fcmVuZGVyU3ltYm9sTG9nbyhlLHQpfSkpOnZvaWQgMH19fXZhciBwPWkoNTI3MzIzKSx1PWkubihwKSxnPWkoNzQ5NjQ4KTtjb25zdCBfPXtkZXNrdG9wOjEvMCxkZXNrdG9wSGQ6MTkxOSxwaG9uZTo3NjcsInBob25lLXZlcnRpY2FsIjo0NzksdGFibGV0OjEwMTl9O3ZhciB2PWkoMTEyNTQyKTtjbGFzcyB5IGV4dGVuZHModSgpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy53aWR0aD0wLHRoaXMuaGVpZ2h0PTAsdGhpcy5kZXZpY2U9bnVsbCx0aGlzLmJyZWFrcG9pbnRzPV8sdGhpcy5fY2hlY2tEZXZpY2UoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9jaGVja0RldmljZSksT2JqZWN0LmVudHJpZXMoXykuc29ydCgoKFtlLHRdLFtpLHNdKT0+dC1zKSkuZm9yRWFjaCgoKFtlLHRdLGkscyk9PntsZXQgbjtpZigwIT09aSl7Y29uc3RbLGVdPXNbaS0xXTtuPWUrMX1lbHNlIG49MDtjb25zdCBhPSgwLHYubWF0Y2hNZWRpYU1pbk1heCkobix0KTthLm1hdGNoZXMmJnRoaXMuX3NldE5ld0RldmljZShlKSxhLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHQ9Pnt0Lm1hdGNoZXMmJih0aGlzLl9jaGVja0RldmljZSgpLHRoaXMuX3NldE5ld0RldmljZShlKSl9KSl9KSksKDAsZy53aGVuRG9jdW1lbnRSZWFkeSkodGhpcy5fY2hlY2tEZXZpY2UuYmluZCh0aGlzKSksdGhpcy5pc1Bob25lU2l6ZURldmljZS5iaW5kKHRoaXMpfWlzUGhvbmVTaXplRGV2aWNlKCl7cmV0dXJuInBob25lIj09PXRoaXMuZGV2aWNlfHwicGhvbmUtdmVydGljYWwiPT09dGhpcy5kZXZpY2V9X2NoZWNrRGV2aWNlKCl7dGhpcy53aWR0aD13aW5kb3cuaW5uZXJXaWR0aCx0aGlzLmhlaWdodD13aW5kb3cuaW5uZXJIZWlnaHR9X3NldE5ld0RldmljZShlKXtjb25zdCB0PXRoaXMuZGV2aWNlO3RoaXMuZGV2aWNlPWUsdGhpcy50cmlnZ2VyKCJjaGFuZ2VEZXZpY2UiLFtlLHRdKX19Y29uc3QgYj1uZXcgeTt2YXIgayxmLHcsRSxDPWkoMTUwMTUwKSx4PWkoOTY5MTY4KTshZnVuY3Rpb24oZSl7ZS5BZGFwdGl2ZT0iYWRhcHRpdmUiLGUuUmVndWxhcj0icmVndWxhciIsZS5Db21wYWN0PSJjb21wYWN0In0oa3x8KGs9e30pKSxmdW5jdGlvbihlKXtlLkFsbFN5bWJvbHM9ImFsbF9zeW1ib2xzIixlLk1hcmtldD0ibWFya2V0IixlLlN5bWJvbD0ic3ltYm9sIn0oZnx8KGY9e30pKSxmdW5jdGlvbihlKXtlLkNyeXB0b2N1cnJlbmNpZXM9ImNyeXB0byIsZS5DdXJyZW5jaWVzPSJmb3JleCIsZS5TdG9ja3M9InN0b2NrIixlLkluZGljZXM9ImluZGV4IixlLkZ1dHVyZXM9ImZ1dHVyZXMiLGUuQm9uZHM9ImNmZCJ9KHd8fCh3PXt9KSksZnVuY3Rpb24oZSl7ZS5IVE1MPSJodG1sIixlLlJlYWN0PSJyZWFjdCJ9KEV8fChFPXt9KSk7dmFyIFQ9aSgyMzIzNjQpLEw9aSg5NDgzODApO3ZhciBTOyFmdW5jdGlvbihlKXtlW2UuVGlja2VySXRlbUhlaWdodE5vcm1hbD00NF09IlRpY2tlckl0ZW1IZWlnaHROb3JtYWwiLGVbZS5UaWNrZXJJdGVtSGVpZ2h0Q29tcGFjdD03Ml09IlRpY2tlckl0ZW1IZWlnaHRDb21wYWN0In0oU3x8KFM9e30pKTtjb25zdCBXPV8ucGhvbmU7ZnVuY3Rpb24gTSgpe3JldHVybiB3aW5kb3cuaW5uZXJXaWR0aDw9V31mdW5jdGlvbiBJKGUpe3JldHVybiBlPzcyOjQ0fWNsYXNzIE4gZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCJDYW5jZWxUb2tlbiIpfX12YXIgVj1pKDc1ODA1OSksRD1pKDg2NzA1MSk7Y29uc3QgQT1zLnQobnVsbCx2b2lkIDAsaSg3ODg0NDQpKTt2YXIgejshZnVuY3Rpb24oZSl7ZS5BbmltYXRpb25OYW1lPSJ0aWNrZXItdGFwZS1zY3JvbGwiLGVbZS5MYXN0UmVzb2x2ZVRpbWVvdXQ9MmUzXT0iTGFzdFJlc29sdmVUaW1lb3V0IixlW2UuUmVzaXplRGVib3VuY2U9MzAwXT0iUmVzaXplRGVib3VuY2UifSh6fHwoej17fSkpO2NvbnN0IFA9cGFyc2VJbnQoVlsiY3NzLXZhbHVlLXRpY2tlci1pdGVtLXRhcGUtc2tlbGV0b24td2lkdGgtbm9ybWFsIl0pLCQ9cGFyc2VJbnQoVlsiY3NzLXZhbHVlLXRpY2tlci1pdGVtLXRhcGUtc2tlbGV0b24td2lkdGgtY29tcGFjdCJdKSxCPXBhcnNlSW50KFZbImNzcy12YWx1ZS10aWNrZXItaXRlbS10YXBlLXBhZGRpbmciXSk7ZnVuY3Rpb24gSChlKXtjb25zdCB0PWUuZ2V0RWxlbWVudCgpO2lmKHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgianMtZXhjbGFtYXRpb25lZC1zeW1ib2wiKS5sZW5ndGgpcmV0dXJuO2NvbnN0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2kuY2xhc3NMaXN0LmFkZCgidHYtdGlja2VyLWl0ZW0tdGFwZV9fc3ltYm9sLWV4Y2xhbWF0aW9uLW1hcmsiLCJqcy1leGNsYW1hdGlvbmVkLXN5bWJvbCIpLGkuc2V0QXR0cmlidXRlKCJ0aXRsZSIsQSk7Y29uc3Qgcz10LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInR2LXRpY2tlci1pdGVtLXRhcGVfX3Nob3J0LW5hbWUtd3JhcHBlciIpLml0ZW0oMCk7cyYmcy5hcHBlbmRDaGlsZChpKX1mdW5jdGlvbiBSKGUpe2NvbnN0IHQ9bmV3IFByb21pc2UoKHQ9Pntjb25zdCBpPSgpPT50KCEwKTtlLm9uSW5pdC5zdWJzY3JpYmUobnVsbCwoZT0+e3ZhciB0O2U/aSgpOih0PTJlMyxuZXcgUHJvbWlzZSgoZT0+e3NldFRpbWVvdXQoZSx0KX0pKSkudGhlbihpKX0pLCEwKX0pKSxpPW5ldyBQcm9taXNlKCh0PT57ZS5vbkVycm9yLnN1YnNjcmliZShudWxsLCgoKT0+e0goZSksdCghMSl9KSwhMCl9KSk7cmV0dXJuIFByb21pc2UucmFjZShbdCxpXSl9dmFyIE89aSg3NTE1NTcpLGo9aSg2MDE1ODcpLEY9aSg0MDMzNzApO3ZhciBLLFUscT1pKDY3MzgyOSksWD1pKDIwMDY2Nik7ZnVuY3Rpb24gRyhlLHQsaSl7Y29uc3Qgcz17bmFtZTplLGZyYW1lRWxlbWVudElkOnQsZGF0YTppfTt3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKHMsIioiKX0hZnVuY3Rpb24oZSl7bGV0IHQ7IWZ1bmN0aW9uKGUpe2UuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIixlLlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwiCn0odD1lLk5hbWVzfHwoZS5OYW1lcz17fSkpfShLfHwoSz17fSkpLGZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLlN5bWJvbENsaWNrPSJ0di13aWRnZXQtc3ltYm9sLWNsaWNrIixlLldpZGdldExvYWQ9InR2LXdpZGdldC1sb2FkIixlLldpZGdldFJlYWR5PSJ0di13aWRnZXQtcmVhZHkiLGUuUmVzaXplSWZyYW1lPSJ0di13aWRnZXQtcmVzaXplLWlmcmFtZSIsZS5Ob0RhdGE9InR2LXdpZGdldC1uby1kYXRhIn0odD1lLk5hbWVzfHwoZS5OYW1lcz17fSkpfShVfHwoVT17fSkpO2NvbnN0IEo9d2luZG93LmluaXREYXRhLmhhc2hTZXR0aW5nc3x8e30sUT0ic3RyaW5nIj09dHlwZW9mIEouZnJhbWVFbGVtZW50SWQ/Si5mcmFtZUVsZW1lbnRJZDpudWxsO3ZhciBZPWkoNjUzODE3KSxaPWkoMzg5Mjk4KTtjb25zdCBlZT1mdW5jdGlvbigpe2NvbnN0IGU9d2luZG93O3JldHVybnsuLi5lLmluaXREYXRhLndpZGdldERlZmF1bHRzLC4uLmUuaW5pdERhdGEuaGFzaFNldHRpbmdzLC4uLmUuaW5pdERhdGEucXVlcnlTZXR0aW5nc319KCksdGU9KDAsai5maWx0ZXJVdG1JbmZvKShlZSk7bGV0IGllPWVlLnN5bWJvbHM7QXJyYXkuaXNBcnJheShpZSkmJmllLmV2ZXJ5KHEudmFsaWRhdGVTeW1ib2xEYXRhKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc3ltYm9scyBkYXRhLCBmYWxsIGJhY2sgdG8gZGVmYXVsdHMiKSxpZT13aW5kb3cuaW5pdERhdGEuZGVmYXVsdFNldHRpbmdzLnN5bWJvbHMpO2NvbnN0IHNlPWVlLm5vTGlua3M7ZWUubm9MaW5rc3x8aWUuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnByb05hbWV8fGUuc2hvcnROYW1lO2UubGlua1BhZ2U9KDAsRi5tYWtlV2lkZ2V0U3ltYm9sTGluaykoe3N5bWJvbDp0LGN1c3RvbVVybDplZS5sYXJnZUNoYXJ0VXJsLHV0bUluZm86dGV9KX0pKTtjb25zdCBuZT1lZS5pc1RyYW5zcGFyZW50LGFlPWVlLnNob3dTeW1ib2xMb2dvLG9lPWVlLmRpc3BsYXlNb2RlLHJlPWVlLmNvbG9yVGhlbWU7cmUmJigwLFguc2V0VGhlbWUpKHJlKTt0cnl7KDAsWi50cmFja1dpZGdldExvYWRNZXRhSW5mbykoe3dpZGdldF9pZDoidGlja2VyLXRhcGUiLHN5bWJvbHM6SlNPTi5zdHJpbmdpZnkoZWUuc3ltYm9scy5tYXAoKGU9PmUucHJvTmFtZXx8IiIpKSksY3VzdG9tZXI6ZWUuY3VzdG9tZXJ9KX1jYXRjaHt9Y29uc3QgbGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3dpZGdldC10aWNrZXItdGFwZS1jb250YWluZXIiKTsoMCxPLmNyZWF0ZUVtYmVkV2lkZ2V0V3JhcHBlcikobGUsInRpY2tlci10YXBlIix0ZSx7aXNXaGl0ZUxhYmVsOmVlLndoaXRlbGFiZWwsbG9jYWxlOmVlLmxvY2FsZSxjb3B5cmlnaHRPcHRpb25zOnt2ZXJ0aWNhbFBvc2l0aW9uOlkuQ29weXJpZ2h0UG9zaXRpb24uVmVydGljYWwuVG9wLG1vZGU6InNtYWxsX29sZCJ9fSk7Y29uc3QgY2U9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuaGVpZ2h0PW5ldyBULldhdGNoZWRWYWx1ZSgwKSx0aGlzLm9uQWxsVGlja2Vyc0ZhdWx0eT1uZXcgTC5EZWxlZ2F0ZSx0aGlzLl9zdHlsZUVsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSx0aGlzLl9jb250YWluZXJFbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3RhcGVFbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2hlYWRFbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3RhaWxFbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2hlYWRUaWNrZXJJdGVtcz1bXSx0aGlzLl90YWlsVGlja2VySXRlbXM9W10sdGhpcy5fdGlja2VySXRlbVdpZHRocz1bXSx0aGlzLl9pc0NvbXBhY3RNb2RlPW5ldyBULldhdGNoZWRWYWx1ZSx0aGlzLl90dXJuS2V5Ym9hcmRGb2N1c09uPWU9PntlLnRhcmdldC5tYXRjaGVzKCI6Zm9jdXMtdmlzaWJsZSIpJiYodGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QuYWRkKEQubm9BdXRvU2Nyb2xsKSx0aGlzLl9jb250YWluZXJFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLHRoaXMuX3R1cm5LZXlib2FyZEZvY3VzT24pLHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLHRoaXMuX3R1cm5LZXlib2FyZEZvY3VzT2ZmKSl9LHRoaXMuX3R1cm5LZXlib2FyZEZvY3VzT2ZmPWU9Pntjb25zdCB0PWUucmVsYXRlZFRhcmdldDtudWxsIT09dCYmdGhpcy5fY29udGFpbmVyRWxlbWVudC5jb250YWlucyh0KXx8KHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuc2Nyb2xsTGVmdD0wLHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShELm5vQXV0b1Njcm9sbCksdGhpcy5fY29udGFpbmVyRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1c291dCIsdGhpcy5fdHVybktleWJvYXJkRm9jdXNPZmYpLHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsdGhpcy5fdHVybktleWJvYXJkRm9jdXNPbikpfSx0aGlzLl9jYW5jZWxEZWJvdW5jZWRSZXNpemU9KCk9Pnt9LHRoaXMuX29uQ29tcGFjdE1vZGVDaGFuZ2VkPSgpPT57dGhpcy5fdXBkYXRlVGlja2VyVmlld3NBbmRTdHlsZXMoKX0sdGhpcy5fb25WaXNpYmlsaXR5U3RhdGVDaGFuZ2VkPSgpPT57InZpc2libGUiPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlJiZ0aGlzLl91cGRhdGVUaWNrZXJWaWV3c0FuZFN0eWxlcygpfSx0aGlzLl91cGRhdGVUaWNrZXJWaWV3c0FuZFN0eWxlcz0oKT0+e3RoaXMuX3VwZGF0ZVRpY2tlclZpZXdzKCksdGhpcy5fdXBkYXRlU3R5bGVzKCl9LHRoaXMuX29uRGV2aWNlQ2hhbmdlZD0oKT0+e3RoaXMuX2lzQ29tcGFjdE1vZGUuc2V0VmFsdWUoTSgpKX0sdGhpcy5fZW5zdXJlU3VmZmljaWVudFRhaWxXaWR0aD0oKT0+e2lmKDA9PT10aGlzLl9zeW1ib2xzLmxlbmd0aClyZXR1cm4KO2NvbnN0IGU9dGhpcy5fY29udGFpbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCx0PXRoaXMuX3RhaWxFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoLGk9dGhpcy5faGVhZFRpY2tlckl0ZW1zLmxlbmd0aDtsZXQgcz1lLXQ7Zm9yKGxldCBlPXRoaXMuX3RhaWxUaWNrZXJJdGVtcy5sZW5ndGglaTtzPjA7ZT0rK2UlaSl7Y29uc3QgdD10aGlzLl90aWNrZXJJdGVtV2lkdGhzW2VdO3MtPXQ7Y29uc3QgaT10aGlzLl9jcmVhdGVUaWNrZXJJdGVtVGFwZSh0aGlzLl9zeW1ib2xzW2VdKTt0aGlzLl90YWlsVGlja2VySXRlbXMucHVzaChpKSx0aGlzLl90YWlsRWxlbWVudC5hcHBlbmRDaGlsZChpLmdldEVsZW1lbnQoKSksaS5zZXRWaWV3KHQsdGhpcy5faXNDb21wYWN0TW9kZS52YWx1ZSgpLHRoaXMuX2lzVHJhbnNwYXJlbnQpfX0sdGhpcy5fdXBkYXRlSGVpZ2h0VmFsdWU9ZT0+e3RoaXMuaGVpZ2h0LnNldFZhbHVlKEkoZSkpfSx0aGlzLl9zeW1ib2xzPWUuc3ltYm9scyx0aGlzLl9zcGVlZD1lLnNwZWVkLHRoaXMuX2lzVHJhbnNwYXJlbnQ9ISFlLmlzVHJhbnNwYXJlbnQsdGhpcy5fZGlzcGxheU1vZGU9ZS5kaXNwbGF5TW9kZSx0aGlzLl9pc0VtYmVkV2lkZ2V0PSEhZS5pc0VtYmVkV2lkZ2V0LHRoaXMuX3Nob3dTeW1ib2xMb2dvPSEhZS5zaG93U3ltYm9sTG9nbyx0aGlzLl9ub0xpbmtzPSEhZS5ub0xpbmtzLHRoaXMuX2lzQ29tcGFjdE1vZGUuc2V0VmFsdWUodGhpcy5fZGlzcGxheU1vZGU9PT1rLkFkYXB0aXZlP00oKTp0aGlzLl9kaXNwbGF5TW9kZT09PWsuQ29tcGFjdCksdGhpcy5faXNDb21wYWN0TW9kZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGVpZ2h0VmFsdWUse2NhbGxXaXRoTGFzdDohMH0pLGUuY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuX2NvbnRhaW5lckVsZW1lbnQpLHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0LmFkZChELnRpY2tlclRhcGUpLHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShELm5vQXV0b1Njcm9sbCwhdGhpcy5fc3BlZWQpLHRoaXMuX3NwZWVkJiZ0aGlzLl9jb250YWluZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLHRoaXMuX3R1cm5LZXlib2FyZEZvY3VzT24pLHRoaXMuX3RhcGVFbGVtZW50LmNsYXNzTGlzdC5hZGQoRC50YXBlKSx0aGlzLl9oZWFkRWxlbWVudC5jbGFzc0xpc3QuYWRkKEQuaGVhZCksdGhpcy5fdGFpbEVsZW1lbnQuY2xhc3NMaXN0LmFkZChELnRhaWwpO2NvbnN0IHQ9ZnVuY3Rpb24oZSx0LGkpe2NvbnN0IHM9dD8kOlAsbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtuLmNsYXNzTGlzdC5hZGQoRC5za2VsZXRvbik7Y29uc3QgYT1NYXRoLmNlaWwoZS9zKTtmb3IobGV0IGU9MDtlPGE7ZSsrKW4uYXBwZW5kQ2hpbGQobS5nZXRTa2VsZXRvbkVsZW1lbnQodCxpKSk7cmV0dXJuIG59KHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsdGhpcy5faXNDb21wYWN0TW9kZS52YWx1ZSgpLHRoaXMuX2lzVHJhbnNwYXJlbnQpO3RoaXMuX3RhcGVFbGVtZW50LmFwcGVuZENoaWxkKHQpO2NvbnN0IGk9W107Zm9yKGNvbnN0IGUgb2YgdGhpcy5fc3ltYm9scyl7Y29uc3QgdD10aGlzLl9jcmVhdGVUaWNrZXJJdGVtVGFwZShlKTt0LnRvZ2dsZVRyYW5zcGFyZW5jeSh0aGlzLl9pc1RyYW5zcGFyZW50KSx0aGlzLl9oZWFkVGlja2VySXRlbXMucHVzaCh0KSx0aGlzLl9oZWFkRWxlbWVudC5hcHBlbmRDaGlsZCh0LmdldEVsZW1lbnQoKSksaS5wdXNoKFIodCkpfXRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc3R5bGVFbGVtZW50KSx0aGlzLl9jb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3RhcGVFbGVtZW50KSx0aGlzLl93YWl0Rm9yVGlja2Vyc0NhbmNlbGFibGU9ZnVuY3Rpb24oZSl7bGV0IHQ9ITE7cmV0dXJue3Byb21pc2U6bmV3IFByb21pc2UoKChpLHMpPT57ZS50aGVuKChlPT50P3MobmV3IE4pOmkoZSkpKSxlLmNhdGNoKChlPT5zKHQ/bmV3IE46ZSkpKX0pKSxjYW5jZWwoKXt0PSEwfX19KFByb21pc2UuYWxsKGkpKSx0aGlzLl93YWl0Rm9yVGlja2Vyc0NhbmNlbGFibGUucHJvbWlzZS50aGVuKChlPT57ZS5ldmVyeSgoZT0+IWUpKSYmdGhpcy5vbkFsbFRpY2tlcnNGYXVsdHkuZmlyZSgpLHRoaXMuX3RhcGVFbGVtZW50LnJlbW92ZUNoaWxkKHQpLHRoaXMuX3RhcGVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2hlYWRFbGVtZW50KSx0aGlzLl90YXBlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl90YWlsRWxlbWVudCksdGhpcy5faW5pdCgpfSksKGU9PntpZighKGUgaW5zdGFuY2VvZiBOKSl0aHJvdyBlfSkpfWRlc3Ryb3koKXt0aGlzLl9jb250YWluZXJFbGVtZW50LnJlbW92ZSgpLHRoaXMuX3dhaXRGb3JUaWNrZXJzQ2FuY2VsYWJsZS5jYW5jZWwoKSxiLm9mZigiY2hhbmdlRGV2aWNlIix0aGlzLl9vbkRldmljZUNoYW5nZWQpLHRoaXMuX2NhbmNlbERlYm91bmNlZFJlc2l6ZSgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX29uVmlzaWJpbGl0eVN0YXRlQ2hhbmdlZCksdGhpcy5faGVhZFRpY2tlckl0ZW1zLmZvckVhY2goKGU9PntlLnN0b3AoKX0pKSx0aGlzLl90YWlsVGlja2VySXRlbXMuZm9yRWFjaCgoZT0+e2Uuc3RvcCgpfSkpfV9jcmVhdGVUaWNrZXJJdGVtVGFwZShlKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGhpcy5fbm9MaW5rcz8ic3BhbiI6ImEiKTtyZXR1cm4gbmV3IG0oZSx0LHtpc0VtYmVkV2lkZ2V0OnRoaXMuX2lzRW1iZWRXaWRnZXQsc2hvd1N5bWJvbExvZ286dGhpcy5fc2hvd1N5bWJvbExvZ28saXNDb21wYWN0TW9kZTp0aGlzLl9pc0NvbXBhY3RNb2RlLnZhbHVlKCl9KX1faW5pdCgpe3RoaXMuX2lzQ29tcGFjdE1vZGUuc3Vic2NyaWJlKHRoaXMuX29uQ29tcGFjdE1vZGVDaGFuZ2VkLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9lbnN1cmVTdWZmaWNpZW50VGFpbFdpZHRoKCksCnRoaXMuX2Rpc3BsYXlNb2RlPT09ay5BZGFwdGl2ZSYmYi5vbigiY2hhbmdlRGV2aWNlIix0aGlzLl9vbkRldmljZUNoYW5nZWQpLHRoaXMuX2NhbmNlbERlYm91bmNlZFJlc2l6ZT1mdW5jdGlvbihlKXtjb25zdCB0PSgwLG4uZGVmYXVsdCkoZSwzMDApO3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0KSwoKT0+e3QuY2FuY2VsKCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdCl9fSh0aGlzLl9lbnN1cmVTdWZmaWNpZW50VGFpbFdpZHRoKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9vblZpc2liaWxpdHlTdGF0ZUNoYW5nZWQpO2NvbnN0IGU9KDAsbi5kZWZhdWx0KSh0aGlzLl91cGRhdGVUaWNrZXJWaWV3c0FuZFN0eWxlcy5iaW5kKHRoaXMpLDApO3RoaXMuX3RhaWxUaWNrZXJJdGVtcy5mb3JFYWNoKCh0PT57dC5vbkluaXQuc3Vic2NyaWJlKG51bGwsZSwhMCksdC5vbkNvbXBsZXRlLnN1YnNjcmliZShudWxsLGUsITApLHQub25FcnJvci5zdWJzY3JpYmUobnVsbCwoKCk9PkgodCkpLCEwKX0pKX1fdXBkYXRlVGlja2VyVmlld3MoKXtjb25zdCBlPXRoaXMuX2hlYWRUaWNrZXJJdGVtcy5sZW5ndGg7dGhpcy5faGVhZFRpY2tlckl0ZW1zLmZvckVhY2goKChlLHQpPT57ZS5yZXNldFdpZHRoKCksZS50b2dnbGVDb21wYWN0TW9kZSh0aGlzLl9pc0NvbXBhY3RNb2RlLnZhbHVlKCkpO2NvbnN0IGk9ZS5nZXRXaWR0aCgpK0I7ZS5zZXRXaWR0aChpKSx0aGlzLl90aWNrZXJJdGVtV2lkdGhzW3RdPWl9KSksdGhpcy5fdGFpbFRpY2tlckl0ZW1zLmZvckVhY2goKCh0LGkpPT57dC50b2dnbGVDb21wYWN0TW9kZSh0aGlzLl9pc0NvbXBhY3RNb2RlLnZhbHVlKCkpLHQuc2V0V2lkdGgodGhpcy5fdGlja2VySXRlbVdpZHRoc1tpJWVdKX0pKX1fdXBkYXRlU3R5bGVzKCl7Y29uc3QgZT10aGlzLl9zdHlsZUVsZW1lbnQuc2hlZXQ7aWYoIWV8fCF0aGlzLl9zcGVlZClyZXR1cm47Y29uc3QgdD10aGlzLl9oZWFkRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCxpPSJ0aWNrZXItdGFwZS1zY3JvbGwiKyItLSIrKDAsQy5yYW5kb21IYXNoTikoNCk7Zm9yKDtlLmNzc1J1bGVzLmxlbmd0aD4wOyllLmRlbGV0ZVJ1bGUoMCk7Y29uc3Qgcz1bYEBrZXlmcmFtZXMgJHtpfSB7XG5cdFx0XHRcdGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblx0XHRcdFx0dG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHsoMCx4LmlzUnRsKSgpPyIiOiItIn0ke3R9cHgpOyB9XG5cdFx0XHR9YCxgLiR7RC50YXBlfSB7XG5cdFx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogJHt0L3RoaXMuX3NwZWVkfXM7XG5cdFx0XHRcdGFuaW1hdGlvbi1uYW1lOiAke2l9O1xuXHRcdFx0fWBdO2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7dCsrKWUuaW5zZXJ0UnVsZShzW3RdLHQpfX0oe2NvbnRhaW5lcjpsZSxzeW1ib2xzOmllLGlzVHJhbnNwYXJlbnQ6bmUsc2hvd1N5bWJvbExvZ286YWUsZGlzcGxheU1vZGU6b2Usbm9MaW5rczpzZSxzcGVlZDo0MCxpc0VtYmVkV2lkZ2V0OiEwfSk7Y2UuaGVpZ2h0LnN1YnNjcmliZSgoZnVuY3Rpb24oZSl7bmV8fChlKz0yKTtHKFUuTmFtZXMuUmVzaXplSWZyYW1lLG51bGwse2hlaWdodDplfSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksY2Uub25BbGxUaWNrZXJzRmF1bHR5LnN1YnNjcmliZShudWxsLCgoKT0+e0coVS5OYW1lcy5Ob0RhdGEsUSx2b2lkIDApfSksITApfX0sZT0+e2UuTygwLFs1ODY2Nyw1NzI5MSw0NjkwNywzMjgxNiw0MzMyNSwzOTA1LDE1OTMyLDUxNTA4LDg0MDgsODAwOTcsMTMxNDgsNDkyNjUsODA3MDYsNjkzNTIsNjU4NjIsNTEwMzEsOTQ3MDgsMzU1Miw4MDU5NCw3OTIwNyw3Mjc4LDIwMDYxLDg3OTI2XSwoKCk9PntyZXR1cm4gdD05NDY2NzEsZShlLnM9dCk7dmFyIHR9KSk7ZS5PKCl9XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/translate_static/img/te_ctrl3.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:53.179Z","timestamp":1785129293179,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /translate_static/img/te_ctrl3.gif HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1412\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:32:24 GMT\r\nexpires: Fri, 23 Jul 2027 02:32:24 GMT\r\ncache-control: public, max-age=31536000\r\nage: 355349\r\nlast-modified: Thu, 03 Oct 2019 10:15:00 GMT\r\ncontent-type: image/gif\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1412,"size_decoded":2072,"mime_type":"image/gif","magic":"GIF image data, version 89a, 84 x 19","md5":"9afe50090c0bc612953d081295eab5b1","sha1":"71a4da2a622879c29176ecfa5afe1bbe3e8cfa40","sha256":"d228d0256370863119c043f1e5ca8f3930f6999bd9f250434b6d8935f45dc171","sha512":"d7290b951cec51994f3480c32b70de0faeca433b5d99209b044e1d4c12327768de8c344b6bded806d993251e0ee6f98f0dd64f4480e999fbc06abfe3dd8056fa","ssdeep":"","tlshash":"042182b5cc99114a5be1bd27a334899da8b12c56c38d74595436bdb43470f098422812","first_seen":"2023-04-05T08:27:37Z","last_seen":"2026-07-27T08:08:22.829666Z","times_seen":14819,"resource_available":false,"data":"R0lGODlhVAATAOePAAAAyxZBmhdFrBhHrhpMyB1Uxh1Vzh5X0R9ZzR9awSFf1SNk2CYW0SZq2yZs4Cka2yt45TB9ITJ11TODHjODIDWKGzdgrDmUGjuaRTybGT1svj6hGUClGEF1tEGnFkGpGUKrFUNnrkWjYUWoUkZtskdww0dxy0l/EkmP5EqlLUtLS0uxFFCmLlGY6lON3la4E1e0GFhYD1uxRlu5EVyyU1+vLGW8FGef5mmTx22p7W6PEW+d32+e4XKa2Hp6en6p5H9lE4eHh4i06YurxYyqyYyufoy8iI29ho7AhpCz55DEhJW55ZaT15jClqGm9afE2KgeFavK7LDN47rV7b7J4cTa9cXi0MjX8Mrd9c0lGs3l/9QmGtbW1tfq/9jl9djl+NmcANns0dnt4NonG9otM9yGft4pG9/x4OCrIuG3I+Hv/+Lfz+Px4eRWTOSaAeSyNuUpHOWIgOalAOby/+c5P+egD+exAefJcOhYXuqjAOq3Tuq9YOtqbuvHG+vz++xYTOy8AO2sAe6xAO7x9+/Ecu/SaPDYaPD2//D47/KzAPS7APfpy/ng3fzp7P347f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAP8ALAAAAABUABMAAAj+AP+pGEiw4MB//4goXMhQ4b8gECNKnIiwosWLGBE+2sjxkaNGIB115KjCB5eTKFP6UEEkypyXMGNGIRJkpM2NQSwO2bkzI8aRjOL8oUP0TxxGI1WkXIqSZcynMGnetJnz386OanpWxNGhKw6NHOMQHUs2jsiNSpkudQr1qVScI2vitLpRTZe7XdRoGYKQ65K/Hb5yxEO2MJ0/HdNyYQCgMQAGTYnAfOAYwIOociNy1Pwo55BHXZZ07XC3Ct9/HZZUFP1vo9ixfNYsWsOHDp6kKJlUZhIZppPKTjBvhtiZOM7PdlN34Xp3Ct/Uqzu0XjT2z5qRaxrhRsn4cUq2Lyn+W475FqfEjkE+4+0yhXkXKUNGy+/6yFAdotc7HrqpmItuALz15ltjwQmHnnGbqddcV3jBl9pfEIrmSB+KKILYVNtxB9l3ksX0wGXkyWUeZ8eBdheDDcY332iOVKiIIR0tgcKMNKKQwyP9+ReggL4VaGBxNZGYnl3r4TXFE/FFCGEHLVa4SEdR1EhjDofkqBZ4bb30lpDGeUYkiu89t2JXTb4Yo5Qz3mglU1hmWZ6IcM01hBZVrDeFFEiipiRgE1ZYREdzaCGoFi3MKASOJql10kotZfnSTHBiWNVOd0qBp1Zj0mdIGiOMYMVNVdAYxSMCGWQqQg2lSsRDGKKnE09jp/lU0SNhdDqCCJ929EWhKLTQBamyBuvTRMRKJKywGxlh6whGWOGsESLQeCiwx1Zr7bWyckTDstxi0MENHGEr7rjWdqQst7Ya0RG57LZ70UhWQGurCM2O5O697N6EyL773hQQADs="}},"time_used":17,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=localhost:3010;\u0026controls=0\u0026playsinline=1","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:53.359Z","timestamp":1785129293359,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1 HTTP/1.1\r\nHost: www.youtube-nocookie.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://crystal-exploits.org/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/html; charset=utf-8\r\nx-content-type-options: nosniff\r\ncontent-security-policy: script-src 'unsafe-eval' 'self' 'unsafe-inline' https://www.google.com https://apis.google.com https://ssl.gstatic.com https://www.gstatic.com https://www.googletagmanager.com https://www.google-analytics.com https://*.youtube.com https://*.google.com https://*.gstatic.com https://youtube.com https://www.youtube.com https://google.com https://*.doubleclick.net https://*.googleapis.com https://www.googleadservices.com https://tpc.googlesyndication.com https://www.youtubekids.com https://www.youtube-nocookie.com https://www.youtubeeducation.com https://www-onepick-opensocial.googleusercontent.com;report-uri https://csp.withgoogle.com/csp/youtube_other/allowlist, require-trusted-types-for 'script', base-uri 'self';object-src 'none';script-src 'nonce-9dEsDAuD8Zw1AFZ2M60xbQ' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';report-uri https://csp.withgoogle.com/csp/youtube_other/strict\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 05:14:53 GMT\r\nstrict-transport-security: max-age=31536000\r\nreport-to: {\"group\":\"youtube_other\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube_other\"}]},{\"group\":\"youtube_other-connectionallowlist\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/youtube_other/connectionallowlist\"}]}\r\norigin-trial: AsnbWYr3bqK88n/C2BgXPMpBC+msV4jf6vsgnAir+gFnHw3zXZEKmz271E4vhxTja+7SD2q3dr2BxZlHzvj9HA0AAACBeyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUtbm9jb29raWUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-embedder-policy-report-only: require-corp; report-to=\"youtube_other\"\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube_other\"\r\ncontent-encoding: br\r\nserver: ESF\r\nx-xss-protection: 0\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":141142,"size_decoded":58252,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (52140)","md5":"2d8a8e454a082fcba96bc0ac74f1aef6","sha1":"61da3736d67ca99ac584c267c2693fb19628b460","sha256":"bf0032ded99d49b7f3ab429d5ece43cdbb9ea2ce7408a06ae34777cf518b8761","sha512":"5d699b5ba8d564ac5b82957d1da5e8abd42399c0c940e1ab47e6217812e438826688487fe2e4862cc7a85efc1ae4eeabe54dd0a59e58d3bfc9dc1f6854bffc30","ssdeep":"1536:bMQr/jMUpzYVM6bB3zcL+3o43UEwgSJzan23m/vCjh3P7AyzASMHwJrhZns:jbjxYL30EwgUM23m3Whf8EAHw/S","tlshash":"cfd30a250858a876c9939447eebaff3e9cf8023947c9956dbcbb935c01dc6520eaf413","first_seen":"2026-07-27T05:15:36.971607Z","last_seen":"2026-07-27T05:15:36.971607Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIiBkYXRhLWNhc3QtYXBpLWVuYWJsZWQ9InRydWUiPjxoZWFkPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+PHNjcmlwdCBub25jZT0iOWRFc0RBdUQ4WncxQUZaMk02MHhiUSI+aWYgKCd1bmRlZmluZWQnID09IHR5cGVvZiBTeW1ib2wgfHwgJ3VuZGVmaW5lZCcgPT0gdHlwZW9mIFN5bWJvbC5pdGVyYXRvcikge2RlbGV0ZSBBcnJheS5wcm90b3R5cGUuZW50cmllczt9PC9zY3JpcHQ+PHN0eWxlIG5hbWU9Ind3dy1yb2JvdG8iIG5vbmNlPSJ5R29aYkM1cFEtVGhPdktJTzFUdFRBIj5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswNDYwLTA1MkYsVSsxQzgwLTFDOEEsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAxLFUrMDQwMC0wNDVGLFUrMDQ5MC0wNDkxLFUrMDRCMC0wNEIxLFUrMjExNjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMUYwMC0xRkZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzcwLTAzNzcsVSswMzdBLTAzN0YsVSswMzg0LTAzOEEsVSswMzhDLFUrMDM4RS0wM0ExLFUrMDNBMy0wM0ZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAyLTAzMDMsVSswMzA1LFUrMDMwNy0wMzA4LFUrMDMxMCxVKzAzMTIsVSswMzE1LFUrMDMxQSxVKzAzMjYtMDMyNyxVKzAzMkMsVSswMzJGLTAzMzAsVSswMzMyLTAzMzMsVSswMzM4LFUrMDMzQSxVKzAzNDYsVSswMzRELFUrMDM5MS0wM0ExLFUrMDNBMy0wM0E5LFUrMDNCMS0wM0M5LFUrMDNEMSxVKzAzRDUtMDNENixVKzAzRjAtMDNGMSxVKzAzRjQtMDNGNSxVKzIwMTYtMjAxNyxVKzIwMzQtMjAzOCxVKzIwM0MsVSsyMDQwLFUrMjA0MyxVKzIwNDcsVSsyMDUwLFUrMjA1NyxVKzIwNUYsVSsyMDcwLTIwNzEsVSsyMDc0LTIwOEUsVSsyMDkwLTIwOUMsVSsyMEQwLTIwREMsVSsyMEUxLFUrMjBFNS0yMEVGLFUrMjEwMC0yMTEyLFUrMjExNC0yMTE1LFUrMjExNy0yMTIxLFUrMjEyMy0yMTRGLFUrMjE5MCxVKzIxOTIsVSsyMTk0LTIxQUUsVSsyMUIwLTIxRTUsVSsyMUYxLTIxRjIsVSsyMUY0LTIyMTEsVSsyMjEzLTIyMTQsVSsyMjE2LTIyRkYsVSsyMzA4LTIzMEIsVSsyMzEwLFUrMjMxOSxVKzIzMUMtMjMyMSxVKzIzMzYtMjM3QSxVKzIzN0MsVSsyMzk1LFUrMjM5Qi0yM0I3LFUrMjNEMCxVKzIzREMtMjNFMSxVKzI0NzQtMjQ3NSxVKzI1QUYsVSsyNUIzLFUrMjVCNyxVKzI1QkQsVSsyNUMxLFUrMjVDQSxVKzI1Q0MsVSsyNUZCLFUrMjY2RC0yNjZGLFUrMjdDMC0yN0ZGLFUrMjkwMC0yQUZGLFUrMkIwRS0yQjExLFUrMkIzMC0yQjRDLFUrMkJGRSxVKzMwMzAsVStGRjVCLFUrRkY1RCxVKzFENDAwLTFEN0ZGLFUrMUVFMDAtMUVFRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDEtMDAwQyxVKzAwMEUtMDAxRixVKzAwN0YtMDA5RixVKzIwREQtMjBFMCxVKzIwRTItMjBFNCxVKzIxNTAtMjE4RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMTk5LFUrMjFBRixVKzIxRTYtMjFGMCxVKzIxRjMsVSsyMjE4LTIyMTksVSsyMjk5LFUrMjJDNC0yMkM2LFUrMjMwMC0yNDNGLFUrMjQ0MC0yNDRBLFUrMjQ2MC0yNEZGLFUrMjVBMC0yN0JGLFUrMjgwMC0yOEZGLFUrMjkyMS0yOTIyLFUrMjk4MSxVKzI5QkYsVSsyOUVCLFUrMkIwMC0yQkZGLFUrNERDMC00REZGLFUrRkZGOS1GRkZCLFUrMTAxNDAtMTAxOEUsVSsxMDE5MC0xMDE5QyxVKzEwMUEwLFUrMTAxRDAtMTAxRkQsVSsxMDJFMC0xMDJGQixVKzEwRTYwLTEwRTdFLFUrMUQyQzAtMUQyRDMsVSsxRDJFMC0xRDM3RixVKzFGMDAwLTFGMEZGLFUrMUYxMDAtMUYxQUQsVSsxRjFFNi0xRjFGRixVKzFGMzBELTFGMzBGLFUrMUYzMTUsVSsxRjMxQyxVKzFGMzFFLFUrMUYzMjAtMUYzMkMsVSsxRjMzNixVKzFGMzc4LFUrMUYzN0QsVSsxRjM4MixVKzFGMzkzLTFGMzlGLFUrMUYzQTctMUYzQTgsVSsxRjNBQy0xRjNBRixVKzFGM0MyLFUrMUYzQzQtMUYzQzYsVSsxRjNDQS0xRjNDRSxVKzFGM0Q0LTFGM0UwLFUrMUYzRUQsVSsxRjNGMS0xRjNGMyxVKzFGM0Y1LTFGM0Y3LFUrMUY0MDgsVSsxRjQxNSxVKzFGNDFGLFUrMUY0MjYsVSsxRjQzRixVKzFGNDQxLTFGNDQyLFUrMUY0NDQsVSsxRjQ0Ni0xRjQ0OSxVKzFGNDRDLTFGNDRFLFUrMUY0NTMsVSsxRjQ2QSxVKzFGNDdELFUrMUY0QTMsVSsxRjRCMCxVKzFGNEIzLFUrMUY0QjksVSsxRjRCQixVKzFGNEJGLFUrMUY0QzgtMUY0Q0IsVSsxRjRENixVKzFGNERBLFUrMUY0REYsVSsxRjRFMy0xRjRFNixVKzFGNEVBLTFGNEVELFUrMUY0RjcsVSsxRjRGOS0xRjRGQixVKzFGNEZELTFGNEZFLFUrMUY1MDMsVSsxRjUwNy0xRjUwQixVKzFGNTBELFUrMUY1MTItMUY1MTMsVSsxRjUzRS0xRjU0QSxVKzFGNTRGLTFGNUZBLFUrMUY2MTAsVSsxRjY1MC0xRjY3RixVKzFGNjg3LFUrMUY2OEQsVSsxRjY5MSxVKzFGNjk0LFUrMUY2OTgsVSsxRjZBRCxVKzFGNkIyLFUrMUY2QjktMUY2QkEsVSsxRjZCQyxVKzFGNkM2LTFGNkNGLFUrMUY2RDMtMUY2RDcsVSsxRjZFMC0xRjZFQSxVKzFGNkYwLTFGNkYzLFUrMUY2RjctMUY2RkMsVSsxRjcwMC0xRjdGRixVKzFGODAwLTFGODBCLFUrMUY4MTAtMUY4NDcsVSsxRjg1MC0xRjg1OSxVKzFGODYwLTFGODg3LFUrMUY4OTAtMUY4QUQsVSsxRjhCMC0xRjhCQixVKzFGOEMwLTFGOEMxLFUrMUY5MDAtMUY5MEIsVSsxRjkzQixVKzFGOTQ2LFUrMUY5ODQsVSsxRjk5NixVKzFGOUU5LFUrMUZBMDAtMUZBNkYsVSsxRkE3MC0xRkE3QyxVKzFGQTgwLTFGQTg5LFUrMUZBOEYtMUZBQzYsVSsxRkFDRS0xRkFEQyxVKzFGQURGLTFGQUU5LFUrMUZBRjAtMUZBRjgsVSsxRkIwMC0xRkJGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMi0wMTAzLFUrMDExMC0wMTExLFUrMDEyOC0wMTI5LFUrMDE2OC0wMTY5LFUrMDFBMC0wMUExLFUrMDFBRi0wMUIwLFUrMDMwMC0wMzAxLFUrMDMwMy0wMzA0LFUrMDMwOC0wMzA5LFUrMDMyMyxVKzAzMjksVSsxRUEwLTFFRjksVSsyMEFCO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMTAwLTAyQkEsVSswMkJELTAyQzUsVSswMkM3LTAyQ0MsVSswMkNFLTAyRDcsVSswMkRELTAyRkYsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDAtMDBGRixVKzAxMzEsVSswMTUyLTAxNTMsVSswMkJCLTAyQkMsVSswMkM2LFUrMDJEQSxVKzAyREMsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsyMDAwLTIwNkYsVSsyMEFDLFUrMjEyMixVKzIxOTEsVSsyMTkzLFUrMjIxMixVKzIyMTUsVStGRUZGLFUrRkZGRDt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDQ2MC0wNTJGLFUrMUM4MC0xQzhBLFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMSxVKzA0MDAtMDQ1RixVKzA0OTAtMDQ5MSxVKzA0QjAtMDRCMSxVKzIxMTY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzFGMDAtMUZGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDM3MC0wMzc3LFUrMDM3QS0wMzdGLFUrMDM4NC0wMzhBLFUrMDM4QyxVKzAzOEUtMDNBMSxVKzAzQTMtMDNGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMi0wMzAzLFUrMDMwNSxVKzAzMDctMDMwOCxVKzAzMTAsVSswMzEyLFUrMDMxNSxVKzAzMUEsVSswMzI2LTAzMjcsVSswMzJDLFUrMDMyRi0wMzMwLFUrMDMzMi0wMzMzLFUrMDMzOCxVKzAzM0EsVSswMzQ2LFUrMDM0RCxVKzAzOTEtMDNBMSxVKzAzQTMtMDNBOSxVKzAzQjEtMDNDOSxVKzAzRDEsVSswM0Q1LTAzRDYsVSswM0YwLTAzRjEsVSswM0Y0LTAzRjUsVSsyMDE2LTIwMTcsVSsyMDM0LTIwMzgsVSsyMDNDLFUrMjA0MCxVKzIwNDMsVSsyMDQ3LFUrMjA1MCxVKzIwNTcsVSsyMDVGLFUrMjA3MC0yMDcxLFUrMjA3NC0yMDhFLFUrMjA5MC0yMDlDLFUrMjBEMC0yMERDLFUrMjBFMSxVKzIwRTUtMjBFRixVKzIxMDAtMjExMixVKzIxMTQtMjExNSxVKzIxMTctMjEyMSxVKzIxMjMtMjE0RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMUFFLFUrMjFCMC0yMUU1LFUrMjFGMS0yMUYyLFUrMjFGNC0yMjExLFUrMjIxMy0yMjE0LFUrMjIxNi0yMkZGLFUrMjMwOC0yMzBCLFUrMjMxMCxVKzIzMTksVSsyMzFDLTIzMjEsVSsyMzM2LTIzN0EsVSsyMzdDLFUrMjM5NSxVKzIzOUItMjNCNyxVKzIzRDAsVSsyM0RDLTIzRTEsVSsyNDc0LTI0NzUsVSsyNUFGLFUrMjVCMyxVKzI1QjcsVSsyNUJELFUrMjVDMSxVKzI1Q0EsVSsyNUNDLFUrMjVGQixVKzI2NkQtMjY2RixVKzI3QzAtMjdGRixVKzI5MDAtMkFGRixVKzJCMEUtMkIxMSxVKzJCMzAtMkI0QyxVKzJCRkUsVSszMDMwLFUrRkY1QixVK0ZGNUQsVSsxRDQwMC0xRDdGRixVKzFFRTAwLTFFRUZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAxLTAwMEMsVSswMDBFLTAwMUYsVSswMDdGLTAwOUYsVSsyMERELTIwRTAsVSsyMEUyLTIwRTQsVSsyMTUwLTIxOEYsVSsyMTkwLFUrMjE5MixVKzIxOTQtMjE5OSxVKzIxQUYsVSsyMUU2LTIxRjAsVSsyMUYzLFUrMjIxOC0yMjE5LFUrMjI5OSxVKzIyQzQtMjJDNixVKzIzMDAtMjQzRixVKzI0NDAtMjQ0QSxVKzI0NjAtMjRGRixVKzI1QTAtMjdCRixVKzI4MDAtMjhGRixVKzI5MjEtMjkyMixVKzI5ODEsVSsyOUJGLFUrMjlFQixVKzJCMDAtMkJGRixVKzREQzAtNERGRixVK0ZGRjktRkZGQixVKzEwMTQwLTEwMThFLFUrMTAxOTAtMTAxOUMsVSsxMDFBMCxVKzEwMUQwLTEwMUZELFUrMTAyRTAtMTAyRkIsVSsxMEU2MC0xMEU3RSxVKzFEMkMwLTFEMkQzLFUrMUQyRTAtMUQzN0YsVSsxRjAwMC0xRjBGRixVKzFGMTAwLTFGMUFELFUrMUYxRTYtMUYxRkYsVSsxRjMwRC0xRjMwRixVKzFGMzE1LFUrMUYzMUMsVSsxRjMxRSxVKzFGMzIwLTFGMzJDLFUrMUYzMzYsVSsxRjM3OCxVKzFGMzdELFUrMUYzODIsVSsxRjM5My0xRjM5RixVKzFGM0E3LTFGM0E4LFUrMUYzQUMtMUYzQUYsVSsxRjNDMixVKzFGM0M0LTFGM0M2LFUrMUYzQ0EtMUYzQ0UsVSsxRjNENC0xRjNFMCxVKzFGM0VELFUrMUYzRjEtMUYzRjMsVSsxRjNGNS0xRjNGNyxVKzFGNDA4LFUrMUY0MTUsVSsxRjQxRixVKzFGNDI2LFUrMUY0M0YsVSsxRjQ0MS0xRjQ0MixVKzFGNDQ0LFUrMUY0NDYtMUY0NDksVSsxRjQ0Qy0xRjQ0RSxVKzFGNDUzLFUrMUY0NkEsVSsxRjQ3RCxVKzFGNEEzLFUrMUY0QjAsVSsxRjRCMyxVKzFGNEI5LFUrMUY0QkIsVSsxRjRCRixVKzFGNEM4LTFGNENCLFUrMUY0RDYsVSsxRjREQSxVKzFGNERGLFUrMUY0RTMtMUY0RTYsVSsxRjRFQS0xRjRFRCxVKzFGNEY3LFUrMUY0RjktMUY0RkIsVSsxRjRGRC0xRjRGRSxVKzFGNTAzLFUrMUY1MDctMUY1MEIsVSsxRjUwRCxVKzFGNTEyLTFGNTEzLFUrMUY1M0UtMUY1NEEsVSsxRjU0Ri0xRjVGQSxVKzFGNjEwLFUrMUY2NTAtMUY2N0YsVSsxRjY4NyxVKzFGNjhELFUrMUY2OTEsVSsxRjY5NCxVKzFGNjk4LFUrMUY2QUQsVSsxRjZCMixVKzFGNkI5LTFGNkJBLFUrMUY2QkMsVSsxRjZDNi0xRjZDRixVKzFGNkQzLTFGNkQ3LFUrMUY2RTAtMUY2RUEsVSsxRjZGMC0xRjZGMyxVKzFGNkY3LTFGNkZDLFUrMUY3MDAtMUY3RkYsVSsxRjgwMC0xRjgwQixVKzFGODEwLTFGODQ3LFUrMUY4NTAtMUY4NTksVSsxRjg2MC0xRjg4NyxVKzFGODkwLTFGOEFELFUrMUY4QjAtMUY4QkIsVSsxRjhDMC0xRjhDMSxVKzFGOTAwLTFGOTBCLFUrMUY5M0IsVSsxRjk0NixVKzFGOTg0LFUrMUY5OTYsVSsxRjlFOSxVKzFGQTAwLTFGQTZGLFUrMUZBNzAtMUZBN0MsVSsxRkE4MC0xRkE4OSxVKzFGQThGLTFGQUM2LFUrMUZBQ0UtMUZBREMsVSsxRkFERi0xRkFFOSxVKzFGQUYwLTFGQUY4LFUrMUZCMDAtMUZCRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAxMDItMDEwMyxVKzAxMTAtMDExMSxVKzAxMjgtMDEyOSxVKzAxNjgtMDE2OSxVKzAxQTAtMDFBMSxVKzAxQUYtMDFCMCxVKzAzMDAtMDMwMSxVKzAzMDMtMDMwNCxVKzAzMDgtMDMwOSxVKzAzMjMsVSswMzI5LFUrMUVBMC0xRUY5LFUrMjBBQjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMC0wMkJBLFUrMDJCRC0wMkM1LFUrMDJDNy0wMkNDLFUrMDJDRS0wMkQ3LFUrMDJERC0wMkZGLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMUQwMC0xREJGLFUrMUUwMC0xRTlGLFUrMUVGMi0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDMCxVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAwLTAwRkYsVSswMTMxLFUrMDE1Mi0wMTUzLFUrMDJCQi0wMkJDLFUrMDJDNixVKzAyREEsVSswMkRDLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMjAwMC0yMDZGLFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkQ7fTwvc3R5bGU+PHNjcmlwdCBuYW1lPSJ3d3ctcm9ib3RvIiBub25jZT0iOWRFc0RBdUQ4WncxQUZaMk02MHhiUSI+aWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLmxvYWQpIHtkb2N1bWVudC5mb250cy5sb2FkKCI0MDAgMTBwdCBSb2JvdG8iLCAiRSIpOyBkb2N1bWVudC5mb250cy5sb2FkKCI1MDAgMTBwdCBSb2JvdG8iLCAiRSIpO308L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zL3BsYXllci83YTc5NjljMi93d3ctcGxheWVyLmNzcyIgbmFtZT0id3d3LXBsYXllciIgbm9uY2U9InlHb1piQzVwUS1UaE92S0lPMVR0VEEiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3MvXy95dGVtYmVkcy9fL3NzL2s9eXRlbWJlZHMuYmFzZS5OeG5pdXVaRVRady5MLkY0Lk8vYW09QUFBQWdBL2Q9MC9icj0xL3JzPUFHS015d0d4NHR4aEZKaGNydXRLWXNmUG1TNG1GYzZvSlEiIG5hbWU9ImVtYmVkLXVpIiBub25jZT0ieUdvWmJDNXBRLVRoT3ZLSU8xVHRUQSI+PHN0eWxlIG5vbmNlPSJ5R29aYkM1cFEtVGhPdktJTzFUdFRBIj5odG1sIHtvdmVyZmxvdzogaGlkZGVuO31ib2R5IHtmb250OiAxMnB4IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGNvbG9yOiAjZmZmOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IG1hcmdpbjogMDsgcGFkZGluZzogMDt9I3BsYXllciB7d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTt9aDEge3RleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNmZmY7fWgzIHttYXJnaW4tdG9wOiA2cHg7IG1hcmdpbi1ib3R0b206IDNweDt9LnBsYXllci11bmF2YWlsYWJsZSB7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IHBhZGRpbmc6IDI1cHg7IGZvbnQtc2l6ZTogMTNweDsgYmFja2dyb3VuZDogdXJsKC9pbWcvbWVoNy5wbmcpIDUwJSA2NSUgbm8tcmVwZWF0O30ucGxheWVyLXVuYXZhaWxhYmxlIC5tZXNzYWdlIHt0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW46IDAgLTVweCAxNXB4OyBwYWRkaW5nOiAwIDVweCAxNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg4ODsgZm9udC1zaXplOiAxOXB4OyBmb250LXdlaWdodDogbm9ybWFsO30ucGxheWVyLXVuYXZhaWxhYmxlIGEge2NvbG9yOiAjMTY3YWM2OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7fTwvc3R5bGU+PHNjcmlwdCBub25jZT0iOWRFc0RBdUQ4WncxQUZaMk02MHhiUSI+dmFyIHl0Y3NpPXtndDpmdW5jdGlvbihuKXtuPShufHwiIikrImRhdGFfIjtyZXR1cm4geXRjc2lbbl18fCh5dGNzaVtuXT17dGljazp7fSxpbmZvOnt9LGdlbDp7cHJlTG9nZ2VkR2VsSW5mb3M6W119fSl9LG5vdzp3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3cmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0P2Z1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX0sdGljazpmdW5jdGlvbihsLHQsbil7dmFyIHRpY2tzPXl0Y3NpLmd0KG4pLnRpY2s7dmFyIHY9dHx8eXRjc2kubm93KCk7aWYodGlja3NbbF0pe3RpY2tzWyJfIitsXT10aWNrc1siXyIrbF18fFt0aWNrc1tsXV07dGlja3NbIl8iK2xdLnB1c2godil9dGlja3NbbF09CnZ9LGluZm86ZnVuY3Rpb24oayx2LG4pe3l0Y3NpLmd0KG4pLmluZm9ba109dn0saW5mb0dlbDpmdW5jdGlvbihwLG4pe3l0Y3NpLmd0KG4pLmdlbC5wcmVMb2dnZWRHZWxJbmZvcy5wdXNoKHApfSxzZXRTdGFydDpmdW5jdGlvbih0LG4pe3l0Y3NpLnRpY2soIl9zdGFydCIsdCxuKX19OwooZnVuY3Rpb24odyxkKXtmdW5jdGlvbiBpc0dlY2tvKCl7aWYoIXcubmF2aWdhdG9yKXJldHVybiBmYWxzZTt0cnl7aWYody5uYXZpZ2F0b3IudXNlckFnZW50RGF0YSYmdy5uYXZpZ2F0b3IudXNlckFnZW50RGF0YS5icmFuZHMmJncubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuYnJhbmRzLmxlbmd0aCl7dmFyIGJyYW5kcz13Lm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kczt2YXIgaT0wO2Zvcig7aTxicmFuZHMubGVuZ3RoO2krKylpZihicmFuZHNbaV0mJmJyYW5kc1tpXS5icmFuZD09PSJGaXJlZm94IilyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9fWNhdGNoKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlO30pfWlmKCF3Lm5hdmlnYXRvci51c2VyQWdlbnQpcmV0dXJuIGZhbHNlO3ZhciB1YT13Lm5hdmlnYXRvci51c2VyQWdlbnQ7cmV0dXJuIHVhLmluZGV4T2YoIkdlY2tvIik+MCYmdWEudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKTwwJiZ1YS5pbmRleE9mKCJFZGdlIik8CjAmJnVhLmluZGV4T2YoIlRyaWRlbnQiKTwwJiZ1YS5pbmRleE9mKCJNU0lFIik8MH15dGNzaS5zZXRTdGFydCh3LnBlcmZvcm1hbmNlP3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQ6bnVsbCk7dmFyIGlzUHJlcmVuZGVyPShkLnZpc2liaWxpdHlTdGF0ZXx8ZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpPT0icHJlcmVuZGVyIjt2YXIgdk5hbWU9IWQudmlzaWJpbGl0eVN0YXRlJiZkLndlYmtpdFZpc2liaWxpdHlTdGF0ZT8id2Via2l0dmlzaWJpbGl0eWNoYW5nZSI6InZpc2liaWxpdHljaGFuZ2UiO2lmKGlzUHJlcmVuZGVyKXt2YXIgc3RhcnRUaWNrPWZ1bmN0aW9uKCl7eXRjc2kuc2V0U3RhcnQoKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsc3RhcnRUaWNrKX07ZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLHN0YXJ0VGljayxmYWxzZSl9aWYoZC5hZGRFdmVudExpc3RlbmVyKWQuYWRkRXZlbnRMaXN0ZW5lcih2TmFtZSxmdW5jdGlvbigpe3l0Y3NpLnRpY2soInZjIil9LApmYWxzZSk7aWYoaXNHZWNrbygpKXt2YXIgaXNIaWRkZW49KGQudmlzaWJpbGl0eVN0YXRlfHxkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSk9PSJoaWRkZW4iO2lmKGlzSGlkZGVuKXl0Y3NpLnRpY2soInZjIil9dmFyIHNsdD1mdW5jdGlvbihlbCx0KXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIG49eXRjc2kubm93KCk7ZWwubG9hZFRpbWU9bjtpZihlbC5zbHQpZWwuc2x0KCl9LHQpfTt3Ll9feXRSSUw9ZnVuY3Rpb24oZWwpe2lmKCFlbC5nZXRBdHRyaWJ1dGUoImRhdGEtdGh1bWIiKSlpZih3LnJlcXVlc3RBbmltYXRpb25GcmFtZSl3LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3NsdChlbCwwKX0pO2Vsc2Ugc2x0KGVsLDE2KX19KSh3aW5kb3csZG9jdW1lbnQpOwo8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSI5ZEVzREF1RDhadzFBRloyTTYweGJRIj52YXIgeXRjZmc9e2Q6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93Lnl0JiZ5dC5jb25maWdffHx5dGNmZy5kYXRhX3x8KHl0Y2ZnLmRhdGFfPXt9KX0sZ2V0OmZ1bmN0aW9uKGssbyl7cmV0dXJuIGsgaW4geXRjZmcuZCgpP3l0Y2ZnLmQoKVtrXTpvfSxzZXQ6ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7aWYoYS5sZW5ndGg+MSl5dGNmZy5kKClbYVswXV09YVsxXTtlbHNle3ZhciBrO2ZvcihrIGluIGFbMF0peXRjZmcuZCgpW2tdPWFbMF1ba119fX07Cnl0Y2ZnLnNldCh7IkNMSUVOVF9DQU5BUllfU1RBVEUiOiJub25lIiwiREVWSUNFIjoiY2JyXHUwMDNkRmlyZWZveFx1MDAyNmNicnZlclx1MDAzZDEzNC4wXHUwMDI2Y2VuZ1x1MDAzZEdlY2tvXHUwMDI2Y2VuZ3Zlclx1MDAzZDEzNC4wXHUwMDI2Y29zXHUwMDNkV2luZG93c1x1MDAyNmNvc3Zlclx1MDAzZDEwLjBcdTAwMjZjcGxhdGZvcm1cdTAwM2RERVNLVE9QIiwiRVZFTlRfSUQiOiJUZWxtYXMyWkc4LVM4UE1Qay16Q3lROCIsIkVYUEVSSU1FTlRfRkxBR1MiOnsiYWJfZGV0X2FwYl9iIjp0cnVlLCJhYl9kZXRfYXBtIjp0cnVlLCJhYl9kZXRfZWxfaCI6dHJ1ZSwiYWN0aW9uX2NvbXBhbmlvbl9jZW50ZXJfYWxpZ25fZGVzY3JpcHRpb24iOnRydWUsImFsbG93X3NraXBfbmV0d29ya2xlc3MiOnRydWUsImFsd2F5c19zZW5kX2FuZF93cml0ZSI6dHJ1ZSwiYXR0X3dlYl9yZWNvcmRfbWV0cmljcyI6dHJ1ZSwiYXR0bXVzaSI6dHJ1ZSwiYzNfZW5hYmxlX2J1dHRvbl9pbXByZXNzaW9uX2xvZ2dpbmciOnRydWUsImMzX3dhdGNoX3BhZ2VfY29tcG9uZW50Ijp0cnVlLCJjYW5jZWxfcGVuZGluZ19uYXZzIjp0cnVlLCJjbGllbnRfdWlfZW5hYmxlX211bHRpX3RyYWNrX2F1ZGlvX29uX3dlYl9lbWJlZGRlZF9wbGF5ZXIiOnRydWUsImNvbmZpZ19hZ2VfcmVwb3J0X2tpbGxzd2l0Y2giOnRydWUsImNvd19vcHRpbWl6ZV9pZG9tX2NvbXBhdCI6dHJ1ZSwiY3NpX29uX2dlbCI6dHJ1ZSwiZGVkdXBwaW5nX3NlcnZlcl92ZSI6dHJ1ZSwiZGVsaGlfbXdlYl9jb2xvcmZ1bF9zZCI6dHJ1ZSwiZGVsaGlfbXdlYl9jb2xvcmZ1bF9zZF92MiI6dHJ1ZSwiZGVwcmVjYXRlX3BhaXJfc2VydmxldF9lbmFibGVkIjp0cnVlLCJkZXNrdG9wX3NwYXJrbGVzX2xpZ2h0X2N0YV9idXR0b24iOnRydWUsImRpc2FibGVfY2hpbGRfbm9kZV9hdXRvX2Zvcm1hdHRlZF9zdHJpbmdzIjp0cnVlLCJkaXNhYmxlX2xvZ190b192aXNpdG9yX2xheWVyIjp0cnVlLCJkaXNhYmxlX21pbmlfYXBwX2NvbnRhaW5lcl93ZWJfdmlld19pbnNldHMiOnRydWUsImRpc2FibGVfcGFjZl9sb2dnaW5nX2Zvcl9tZW1vcnlfbGltaXRlZF90diI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b2ZmX25vbm1vYmlsZV9lbGlnaWJsZSI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b2ZmX25vbm1vYmlsZV9lbmFibGVkIjp0cnVlLCJlbWJlZHNfZGVza3RvZmZfc2F2ZV91c2VyX3ZvbHVtZSI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b3BfZW5hYmxlX3ZvbHVtZV9zbGlkZXIiOnRydWUsImVtYmVkc19lbmFibGVfY2hhbm5lbF9zdWJzY3JpYmVfZGVwcmVjYXRpb24iOnRydWUsImVtYmVkc19lbmFibGVfZGVsYXlfY29udHJvbHNfaGlkZSI6dHJ1ZSwiZW1iZWRzX2VuYWJsZV9laWRfZW5mb3JjZW1lbnRfZm9yX3lvdXR1YmUiOnRydWUsImVtYmVkc19lbmFibGVfZW1jM2RzX3BmcCI6dHJ1ZSwiZW1iZWRzX211dGVkX2F1dG9wbGF5X3NvdW5kX2ZpeCI6dHJ1ZSwiZW1iZWRzX3NlcnZlX2VzNl9jbGllbnQiOnRydWUsImVtYmVkc193ZWJfdXBkYXRlZF9zaG9ydHNfZGVmaW5pdGlvbl9maXgiOnRydWUsImVuYWJsZV9hMTF5X2ZvY3VzX2ZpeF9mb3JfbWFjX3BhbmVsX29uX2Rlc2t0b3AiOnRydWUsImVuYWJsZV9hY2Nlc3NfY29kZV9zZXJ2aWNlX3JwYyI6dHJ1ZSwiZW5hYmxlX2FjdGl2ZV92aWV3X2Rpc3BsYXlfYWRfcmVuZGVyZXJfd2ViX2hvbWUiOnRydWUsImVuYWJsZV9haV9zZWFyY2hfaW5uZXJ0dWJlX20wX2ZpeGVzIjp0cnVlLCJlbmFibGVfYW5kcm9pZF93ZWJfdmlld190b3BfaW5zZXRzX2J1Z2ZpeCI6dHJ1ZSwiZW5hYmxlX2F0dGVudGlvbl9sb2dnaW5nX21lYXN1cmVfb25fc2hvd24iOnRydWUsImVuYWJsZV9hdV91MTZfdmVyaWZ5X2FnZV9wYWdlIjp0cnVlLCJlbmFibGVfYXV0b21vdGl2ZV9mb3JtX2ZhY3Rvcl9jaGVjayI6dHJ1ZSwiZW5hYmxlX2NsaWVudF9zbGlfbG9nZ2luZyI6dHJ1ZSwiZW5hYmxlX2NsaWVudF9zdHJlYW16X3dlYiI6dHJ1ZSwiZW5hYmxlX2NsaWVudF92ZV9zcGVjIjp0cnVlLCJlbmFibGVfY2xvdWRfc2F2ZV9lcnJvcl9wb3B1cF9hZnRlcl9yZXRyeSI6dHJ1ZSwiZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92MiI6dHJ1ZSwiZW5hYmxlX2RhaV9zZGZfaDVfcHJlcm9sbCI6dHJ1ZSwiZW5hYmxlX2RhdGFzeW5jX2lkX2hlYWRlcl9pbl93ZWJfdnNzX3BpbmdzIjp0cnVlLCJlbmFibGVfZGVmYXVsdF9tb25vX2N0YV9taWdyYXRpb25fd2ViX2NsaWVudCI6dHJ1ZSwiZW5hYmxlX2RvY2tlZF9jaGF0X21lc3NhZ2VzIjp0cnVlLCJlbmFibGVfZHJvcF9zaGFkb3dfZXhwZXJpbWVudCI6dHJ1ZSwiZW5hYmxlX2VtYmVkc19uZXdfY2FwdGlvbl9sYW5ndWFnZV9waWNrZXIiOnRydWUsImVuYWJsZV9lbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2g1Ijp0cnVlLCJlbmFibGVfZW50aXR5X3N0b3JlX2Zyb21fZGVwZW5kZW5jeV9pbmplY3Rpb24iOnRydWUsImVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGMiOnRydWUsImVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaF9mb3JfdmRjYiI6dHJ1ZSwiZW5hYmxlX2xvZ2dpbmdfZmlyc3RfdXNlcl9hY3Rpb25fYWZ0ZXJfZ2FtZV9yZWFkeSI6dHJ1ZSwiZW5hYmxlX2x0Y19wYXJhbV9mZXRjaF9mcm9tX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX20wX2xvZ2dpbmdfZml4ZXMiOnRydWUsImVuYWJsZV9tZW51X3JlbmRlcmVyX2J1dHRvbl9pbl9td2ViX2hjbHIiOnRydWUsImVuYWJsZV9taW5pX2FwcF9jb21tYW5kX2hhbmRsZXJfbXdlYl9maXgiOnRydWUsImVuYWJsZV9taW5pX2d1aWRlX2Rvd25sb2Fkc19pdGVtIjp0cnVlLCJlbmFibGVfbWl4ZWRfZGlyZWN0aW9uX2Zvcm1hdHRlZF9zdHJpbmdzIjp0cnVlLCJlbmFibGVfbXdlYl9hdWRpb190cmFja19waWNrZXIiOnRydWUsImVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0cyI6dHJ1ZSwiZW5hYmxlX25hbWVzX2hhbmRsZXNfYWNjb3VudF9zd2l0Y2hlciI6dHJ1ZSwiZW5hYmxlX25hdGl2ZV9icmlkZ2Vfdmlld19zYXZlZF9wbGF5YWJsZXMiOnRydWUsImVuYWJsZV9uZXR3b3JrX3JlcXVlc3RfbG9nZ2luZ19vbl9nYW1lX2V2ZW50cyI6dHJ1ZSwiZW5hYmxlX25ld19wYWlkX3Byb2R1Y3RfcGxhY2VtZW50Ijp0cnVlLCJlbmFibGVfb3Blbl9pbl9uZXdfdGFiX2ljb25fZm9yX3Nob3J0X2RyX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX29wZW5feXRfY29udGVudCI6dHJ1ZSwiZW5hYmxlX29yaWdpbl9xdWVyeV9wYXJhbWV0ZXJfYnVnZml4Ijp0cnVlLCJlbmFibGVfcGF1c2VfYWRzX29uX3l0dl9odG1sNSI6dHJ1ZSwiZW5hYmxlX3BheW1lbnRzX3B1cmNoYXNlX21hbmFnZXIiOnRydWUsImVuYWJsZV9wZHBfaWNvbl9wcmVmZXRjaCI6dHJ1ZSwiZW5hYmxlX3BsYWNlX3Bpdm90X3VybCI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2NvbnRhaW5lcl9zYXZlX2J1dHRvbiI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2VudGl0eV9zYXZlX21lbnVfaXRlbSI6dHJ1ZSwiZW5hYmxlX3B0Y19ob21lX2xvY2F0aW9uX29uX3dlYiI6dHJ1ZSwiZW5hYmxlX3B2X3NjcmVlbl9tb2Rlcm5fdGV4dCI6dHJ1ZSwiZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJlbmFibGVfc2NyZWVuX21hbmFnZXJfbGF5ZXJfc2VwYXJhdGlvbiI6dHJ1ZSwiZW5hYmxlX3NkZl9jb21wYW5pb25faDUiOnRydWUsImVuYWJsZV9zZGZfZGFpX2g1X21pZHJvbGwiOnRydWUsImVuYWJsZV9zZGZfaDVfZW5kZW1pY19taWRfcG9zdF9yb2xsIjp0cnVlLCJlbmFibGVfc2RmX29uX2g1X3VucGx1Z2dlZF92b2RfbWlkcm9sbCI6dHJ1ZSwiZW5hYmxlX3NkZl9zaG9ydHNfcGxheWVyX2J5dGVzX2g1Ijp0cnVlLCJlbmFibGVfc2VuZGluZ191bndyYXBwZWRfZ2FtZV9hdWRpb19hc19zZXJpYWxpemVkX21ldGFkYXRhIjp0cnVlLCJlbmFibGVfc2V0X3ZpZGVvX2lkX2luX3Nob3J0c19sb2NrdXBfdmlld19tb2RlbCI6dHJ1ZSwiZW5hYmxlX3Nmdl9lZmZlY3RfcGl2b3RfdXJsIjp0cnVlLCJlbmFibGVfc2hvcnRzX25ld19jYXJvdXNlbCI6dHJ1ZSwiZW5hYmxlX3NraXBfYWRfZ3VpZGFuY2VfcHJvbXB0Ijp0cnVlLCJlbmFibGVfc2tpcHBhYmxlX2Fkc19mb3JfdW5wbHVnZ2VkX2FkX3BvZCI6dHJ1ZSwiZW5hYmxlX3NtZWFyaW5nX2V4cGFuc2lvbl9kYWkiOnRydWUsImVuYWJsZV9zdXBleF9td2ViX2RlbW9fd2ViZmUiOnRydWUsImVuYWJsZV90aW1lX291dF9tZXNzYWdlcyI6dHJ1ZSwiZW5hYmxlX3RpbWVsaW5lX3ZpZXdfbW9kZXJuX3RyYW5zY3JpcHRfZmUiOnRydWUsImVuYWJsZV92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uX2dyb3VwX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyI6dHJ1ZSwiZW5hYmxlX3dlYl9ob21lX3RvcF9sYW5kc2NhcGVfaW1hZ2VfbGF5b3V0X2xldmVsX2NsaWNrIjp0cnVlLCJlbmFibGVfd2ViX3Nob3J0c19hdWRpb190cmFjayI6dHJ1ZSwiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIjp0cnVlLCJlbmFibGVfd2luZG93X2NvbnN0cmFpbmVkX2J1eV9mbG93X2RpYWxvZyI6dHJ1ZSwiZW5hYmxlX3dpel9xdWV1ZV9lZmZlY3RfYW5kX29uX2luaXRfaW5pdGlhbF9ydW5zIjp0cnVlLCJlbmFibGVfeXBjX3NwaW5uZXJzIjp0cnVlLCJlbmFibGVfeXRfYXRhX2lmcmFtZV9hdXRodXNlciI6dHJ1ZSwiZXhwb3J0X25ldHdvcmtsZXNzX29wdGlvbnMiOnRydWUsImV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZyI6dHJ1ZSwiZmlsbF9zaW5nbGVfdmlkZW9fd2l0aF9ub3RpZnlfdG9fbGFzciI6dHJ1ZSwiZml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViIjp0cnVlLCJoNV9jb21wYW5pb25fZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3MiOnRydWUsImg1X2lucGxheWVyX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzIjp0cnVlLCJoNV9yZXNldF9jYWNoZV9hbmRfZmlsdGVyX2JlZm9yZV91cGRhdGVfbWFzdGhlYWQiOnRydWUsImhpZGVfY2hhbm5lbF9jcmVhdGlvbl90aXRsZV9mb3JfbXdlYiI6dHJ1ZSwiaGlnaF9jY3ZfY2xpZW50X3NpZGVfY2FjaGluZ19oNSI6dHJ1ZSwiaHRtbDVfbG9nX3RyaWdnZXJfZXZlbnRzX3dpdGhfZGVidWdfZGF0YSI6dHJ1ZSwiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiOnRydWUsImlkYl9pbW1lZGlhdGVfY29tbWl0Ijp0cnVlLCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiOnRydWUsImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCI6dHJ1ZSwiaXNfYnJvd3Nlcl9zdXBwb3J0X2Zvcl93ZWJjYW1fc3RyZWFtaW5nIjp0cnVlLCJqc29uX2NvbmRlbnNlZF9yZXNwb25zZSI6dHJ1ZSwia2V2bGFyX2ZpbHRlcl91bmtub3duX3NvdXJjZSI6dHJ1ZSwia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIjp0cnVlLCJrZXZsYXJfdHJpbV9wbGF5ZXJfYmVoYXZpb3IiOnRydWUsImtldmxhcl93YXRjaF9jaW5lbWF0aWNzIjp0cnVlLCJsaW1pdF95dGNzaV9kZWJ1Z19hcnJheV9zaXplIjp0cnVlLCJsaXZlX2NoYXRfZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJsb2dfY2xpY2tfd2l0aF9sYXllcl9mcm9tX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyIjp0cnVlLCJtYXdfZW5hYmxlX25ldHdvcmtfbWFjaGluZSI6dHJ1ZSwibWR4X2VuYWJsZV9wcml2YWN5X2Rpc2Nsb3N1cmVfdWkiOnRydWUsIm1keF9sb2FkX2Nhc3RfYXBpX2Jvb3RzdHJhcF9zY3JpcHQiOnRydWUsIm1lZGl1bV9wcm9ncmVzc19iYXJfbW9kaWZpY2F0aW9uIjp0cnVlLCJtb2JpbGVfYWNjb3VudF9tZW51X3JlZnJlc2giOnRydWUsIm13ZWJfYWNjb3VudF9saW5raW5nX25vYXBwIjp0cnVlLCJtd2ViX2FsbG93X21vZGVybl9zZWFyY2hfc3VnZ2VzdF9iZWhhdmlvciI6dHJ1ZSwibXdlYl9hbmltYXRlZF9hY3Rpb25zIjp0cnVlLCJtd2ViX2FwcF91cHNlbGxfYnV0dG9uX2RpcmVjdF90b19hcHAiOnRydWUsIm13ZWJfYmFkZ2Vfc2hhcGVfZGVmcmFnIjp0cnVlLCJtd2ViX2MzX2FwcF9wcm9tb19lbmFibGVfcmVmZXJyaW5nX2FwcCI6dHJ1ZSwibXdlYl9jM19lbmFibGVfYWRhcHRpdmVfc2lnbmFscyI6dHJ1ZSwibXdlYl9jM19saWJyYXJ5X3BhZ2VfZW5hYmxlX3JlY2VudF9zaGVsZiI6dHJ1ZSwibXdlYl9jM19tZW51X3NpZ25hbHNfcmVuZGVyIjp0cnVlLCJtd2ViX2MzX3JlbW92ZV93ZWJfbmF2aWdhdGlvbl9lbmRwb2ludF9kYXRhIjp0cnVlLCJtd2ViX2MzX3RvYXN0X3VzZV93aXpfcmVhY3RpdmVfcmVuZGVyIjp0cnVlLCJtd2ViX2MzX3VzZV9jYW5vbmljYWxfZnJvbV9wbGF5ZXJfcmVzcG9uc2UiOnRydWUsIm13ZWJfY2FydmVfb3V0X2lvc19hcHBfc3RvcmVfcmVkaXJlY3QiOnRydWUsIm13ZWJfY2FydmVfb3V0X3Rlcm1zX3BhZ2VzIjp0cnVlLCJtd2ViX2NpbmVtYXRpY193YXRjaCI6dHJ1ZSwibXdlYl9jb21tYW5kX2hhbmRsZXIiOnRydWUsIm13ZWJfZGVidWdfc3RpY2t5X3NldHRpbmdzIjp0cnVlLCJtd2ViX2RlbGF5X3dhdGNoX2luaXRpYWxfZGF0YSI6dHJ1ZSwibXdlYl9kaXNhYmxlX3NlYXJjaGJhcl9zY3JvbGwiOnRydWUsIm13ZWJfZW5hYmxlX2NsaWNrX3RvX3BsYXlfcGF1c2UiOnRydWUsIm13ZWJfZW5hYmxlX2NvbG9yZnVsX2FpX3N1bW1hcnkiOnRydWUsIm13ZWJfZW5hYmxlX2R5bmFtaWNfZG91YmxlX3RhcF90b19saWtlIjp0cnVlLCJtd2ViX2VuYWJsZV9maW5lX3NjcnViYmluZ19mb3JfcmVjcyI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19iYXRjaF9wbGF5ZXJfZnVsbHNjcmVlbiI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19iYXRjaF9wbGF5ZXJfcHJvZ3Jlc3NfYmFyIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2JhdGNoX3BsYXllcl90b29sdGlwcyI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19jb250ZW50Ijp0cnVlLCJtd2ViX2VuYWJsZV9sb2NrdXBfdmlld19tb2RlbF9mb3JfdWNwIjp0cnVlLCJtd2ViX2VuYWJsZV9taXhfcGFuZWxfdGl0bGVfbWV0YWRhdGEiOnRydWUsIm13ZWJfZW5hYmxlX21vcmVfY2h1bmtzIjp0cnVlLCJtd2ViX2VuYWJsZV9tb3JlX2RyYXdlciI6dHJ1ZSwibXdlYl9lbmFibGVfb3B0aW9uYWxfZnVsbHNjcmVlbl9sYW5kc2NhcGVfbG9ja2luZyI6dHJ1ZSwibXdlYl9lbmFibGVfb3ZlcmxheV90b3VjaF9tYW5hZ2VyIjp0cnVlLCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiOnRydWUsIm13ZWJfZW5hYmxlX3ByZW1pdW1fY2FydmVfb3V0X2ZpeCI6dHJ1ZSwibXdlYl9lbmFibGVfcmVmcmVzaF9kZXRlY3Rpb24iOnRydWUsIm13ZWJfZW5hYmxlX3NlYXJjaF9pbXAiOnRydWUsIm13ZWJfZW5hYmxlX3Nob3J0c192aWRlb19wcmVsb2FkIjp0cnVlLCJtd2ViX2VuYWJsZV90d29fbGluZV90aXRsZV9vbl9zaG9ydHMiOnRydWUsIm13ZWJfZW5hYmxlX3ZhcmlzcGVlZF9jb250cm9sbGVyIjp0cnVlLCJtd2ViX2VuYWJsZV92aWRlb19sb29wX3RvZ2dsZSI6dHJ1ZSwibXdlYl9lbmFibGVfd2F0Y2hfZmVlZF9pbmZpbml0ZV9zY3JvbGwiOnRydWUsIm13ZWJfZml4X2NvbGRfbG9hZF9yZXNwb25zZV9hY3Rpb25zIjp0cnVlLCJtd2ViX2ZpeF9tb25pdG9yX3Zpc2liaWxpdHlfYWZ0ZXJfcmVuZGVyIjp0cnVlLCJtd2ViX2ZvcmNlX2lvc19mYWxsYmFja190b19uYXRpdmVfY29udHJvbCI6dHJ1ZSwibXdlYl9mcF9hdXRvX2Z1bGxzY3JlZW4iOnRydWUsIm13ZWJfZnBfZW5hYmxlX3Nob3J0c19zd2lwZV9sb2dnaW5nIjp0cnVlLCJtd2ViX2Z1bGxzY3JlZW5fY29udHJvbHMiOnRydWUsIm13ZWJfZnVsbHNjcmVlbl9jb250cm9sc19hY3Rpb25fYnV0dG9ucyI6dHJ1ZSwibXdlYl9mdWxsc2NyZWVuX3dhdGNoX3N5c3RlbSI6dHJ1ZSwibXdlYl9mdWxseV9yZWFjdGl2ZV9jYiI6dHJ1ZSwibXdlYl9ob21lX3JlYWN0aXZlX3Nob3J0cyI6dHJ1ZSwibXdlYl9pbm5lcnR1YmVfc2VhcmNoX2NvbW1hbmQiOnRydWUsIm13ZWJfa2Fpb3NfZW5hYmxlX2F1dG9wbGF5X3N3aXRjaF92aWV3X21vZGVsIjp0cnVlLCJtd2ViX2xhbmdfaW5faHRtbCI6dHJ1ZSwibXdlYl9saWtlX2J1dHRvbl9zeW5jZWRfd2l0aF9lbnRpdGllcyI6dHJ1ZSwibXdlYl9sb2dvX3VzZV9ob21lX3BhZ2VfdmUiOnRydWUsIm13ZWJfbG9uZ19wcmVzc19zcGVlZHVwX3ZpYnJhdGlvbiI6dHJ1ZSwibXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkIjp0cnVlLCJtd2ViX3BsYXllcl9jb250cm9sX29uX2hvdmVyIjp0cnVlLCJtd2ViX3BsYXllcl9kZWxoaV9kdHRzIjp0cnVlLCJtd2ViX3BsYXllcl9zaG93X3ByZXZpb3VzX25leHRfYnV0dG9uc19pbl9wbGF5bGlzdCI6dHJ1ZSwibXdlYl9wbGF5ZXJfc2tpcF9ub19vcF9zdGF0ZV9jaGFuZ2VzIjp0cnVlLCJtd2ViX3BsYXllcl91c2VyX3NlbGVjdF9ub25lIjp0cnVlLCJtd2ViX3BsYXlsaXN0X2VuZ2FnZW1lbnRfcGFuZWwiOnRydWUsIm13ZWJfcHJvZ3Jlc3NfYmFyX3NlZWtfb25fbW91c2VfY2xpY2siOnRydWUsIm13ZWJfcHJvcGFnYXRlX3BsYXllcl9saW5rX2NsaWNrcyI6dHJ1ZSwibXdlYl9wdWxsXzJfZnVsbCI6dHJ1ZSwibXdlYl9wdWxsXzJfZnVsbF9lbmFibGVfdG91Y2hfaGFuZGxlcnMiOnRydWUsIm13ZWJfc2NoZWR1bGVfd2FybV93YXRjaF9yZXNwb25zZSI6dHJ1ZSwibXdlYl9zZWFyY2hfbWF4X3dpZHRoX2xpbWl0Ijp0cnVlLCJtd2ViX3NlYXJjaGJveF9sZWdhY3lfbmF2aWdhdGlvbiI6dHJ1ZSwibXdlYl9zZWVfZmV3ZXJfc2hvcnRzIjp0cnVlLCJtd2ViX3Nob3J0c19jb21tZW50c19wYW5lbF9pZF9jaGFuZ2UiOnRydWUsIm13ZWJfc2hvcnRzX2Vhcmx5X2NvbnRpbnVhdGlvbiI6dHJ1ZSwibXdlYl9zaG9ydHNfZW5hYmxlX2xvbmdfcHJlc3Nfc3BlZWR1cCI6dHJ1ZSwibXdlYl9zaG9ydHNfb3ZlcmxheV9kZXByZWNhdGVfa2Fpb3NfbGF5b3V0Ijp0cnVlLCJtd2ViX3Nob3dfc2lnbl9pbl9idXR0b25fZnJvbV9oZWFkZXIiOnRydWUsIm13ZWJfdXNlX21pY3JvZm9ybWF0X3RpdGxlX2Zvcl9wb3N0cyI6dHJ1ZSwibXdlYl91c2Vfc2VydmVyX3VybF9vbl9zdGFydHVwIjp0cnVlLCJtd2ViX3dhdGNoX2NhcHRpb25zX2VuYWJsZV9hdXRvX3RyYW5zbGF0ZSI6dHJ1ZSwibXdlYl93YXRjaF9jYXB0aW9uc19zZXRfZGVmYXVsdF9zaXplIjp0cnVlLCJtd2ViX3dhdGNoX2RlbGhpX3BsYXllciI6dHJ1ZSwibXdlYl93YXRjaF9zdG9wX3NjaGVkdWxlcl9vbl9wbGF5ZXJfcmVzcG9uc2UiOnRydWUsIm13ZWJfd2F0Y2hmZWVkX2JpZ190aHVtYm5haWxzIjp0cnVlLCJtd2ViX3l0X3NlYXJjaGJveCI6dHJ1ZSwibmV0d29ya2xlc3NfbG9nZ2luZyI6dHJ1ZSwibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iOnRydWUsInBhZ2VpZF9hc19oZWFkZXJfd2ViIjp0cnVlLCJwbGF5ZXJfY29udHJvbHNfYXV0b25hdl9maXgiOnRydWUsInBsYXllcl9jb250cm9sc19za2lwX2RvdWJsZV9zaWduYWxfdXBkYXRlIjp0cnVlLCJwbGF5ZXJfY29udHJvbHNfdXNlX3BsYXllcl9hcGlfY29udGV4dCI6dHJ1ZSwicGxheWVyX2NvbnRyb2xzX3ZvbHVtZV9jb250cm9sc191c2VfcGxheWVyX3Byb3BzIjp0cnVlLCJwb2x5bWVyX2JhZF9idWlsZF9sYWJlbHMiOnRydWUsInBvbHltZXJfdmVyaWZpeV9hcHBfc3RhdGUiOnRydWUsInFvZV9zZW5kX2FuZF93cml0ZSI6dHJ1ZSwicmVtb3ZlX2NoZXZyb25fZnJvbV9hZF9kaXNjbG9zdXJlX2Jhbm5lcl9oNSI6dHJ1ZSwicmVtb3ZlX21hc3RoZWFkX2NoYW5uZWxfYmFubmVyX29uX3JlZnJlc2giOnRydWUsInJlbW92ZV9zbG90X2lkX2V4aXRlZF90cmlnZ2VyX2Zvcl9kYWlfaW5fcGxheWVyX3Nsb3RfZXhwaXJlIjp0cnVlLCJyb3NjYXMiOnRydWUsInNlcnZpY2Vfd29ya2VyX2VuYWJsZWQiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfZW5hYmxlZCI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9ob21lX3BhZ2VfcHJvbXB0Ijp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3dhdGNoX3BhZ2VfcHJvbXB0Ijp0cnVlLCJzaGVsbF9sb2FkX2djZiI6dHJ1ZSwic2hvcnRlbl9pbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0Ijp0cnVlLCJzaG9ydHNfZW5hYmxlX3JlZWxfY2Fyb3VzZWwiOnRydWUsInNob3VsZF91c2VfeXRfdm9pY2VfZW5kcG9pbnRfaW5fa2Fpb3MiOnRydWUsInNtYXJ0ZXJfdmVfZGVkdXBwaW5nIjp0cnVlLCJzdG9wX2hhbmRsaW5nX2NsaWNrX2Zvcl9ub25fcmVuZGVyaW5nX292ZXJsYXlfbGF5b3V0Ijp0cnVlLCJzdXBwcmVzc19lcnJvcl8yMDRfbG9nZ2luZyI6dHJ1ZSwic3luY2VkX3BhbmVsX3Njcm9sbGluZ19jb250cm9sbGVyIjp0cnVlLCJ0b29sdGlwX3JlZmFjdG9yX2Zvcl9ob3RrZXkiOnRydWUsInVzZV9ldmVudF90aW1lX21zX2hlYWRlciI6dHJ1ZSwidXNlX2ZpZm9fZm9yX25ldHdvcmtsZXNzIjp0cnVlLCJ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlciI6dHJ1ZSwidXNlX3Nlc3Npb25fYmFzZWRfc2FtcGxpbmciOnRydWUsInVzZV90aHVtYm5haWxfb3ZlcmxheV90aW1lX3N0YXR1c19yZW5kZXJlcl9mb3JfbGl2ZV9iYWRnZSI6dHJ1ZSwidnNzX2ZpbmFsX3Bpbmdfc2VuZF9hbmRfd3JpdGUiOnRydWUsInZzc19wbGF5YmFja191c2Vfc2VuZF9hbmRfd3JpdGUiOnRydWUsIndhdGNoX3B1YnN1Yl9yZWZhY3RvciI6dHJ1ZSwid2ViX2FkYXB0aXZlX3JlcGVhdF9hc2UiOnRydWUsIndlYl9hbHdheXNfbG9hZF9jaGF0X3N1cHBvcnQiOnRydWUsIndlYl9hcGlfdXJsIjp0cnVlLCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCI6dHJ1ZSwid2ViX2F0dGVudGlvbl9sb2dnaW5nX2V4cG9ydF90b19nZWwiOnRydWUsIndlYl9hdHRyaWJ1dGVkX3N0cmluZ19kZWVwX2VxdWFsX2J1Z2ZpeCI6dHJ1ZSwid2ViX2F1dG9uYXZfYWxsb3dfb2ZmX2J5X2RlZmF1bHQiOnRydWUsIndlYl9idXR0b25fb3JfYW5jaG9yX2xpc3RfaXRlbSI6dHJ1ZSwid2ViX2J1dHRvbl92aWV3X21vZGVsX25vbl9udWxsaXNoX2RhdGEiOnRydWUsIndlYl9idXR0b25fdm1fcmVmYWN0b3JfZGlzYWJsZWQiOnRydWUsIndlYl9jM19sb2dfYXBwX2luaXRfZmluaXNoIjp0cnVlLCJ3ZWJfY29tbWVudF9wYW5lbF9lYXN5X2V4cGFuZCI6dHJ1ZSwid2ViX2NzaV9hY3Rpb25fc2FtcGxpbmdfZW5hYmxlZCI6dHJ1ZSwid2ViX2RlZHVwZV92ZV9ncmFmdGluZyI6dHJ1ZSwid2ViX2Rpc2FibGVfYmFja2Ryb3BfZmlsdGVyIjp0cnVlLCJ3ZWJfZGlzYWJsZV9jaGlwX3ZpZXdfbW9kZWxfbXV0YXRpb24iOnRydWUsIndlYl9lbmFibGVfYWJfcnNwX2NsIjp0cnVlLCJ3ZWJfZW5hYmxlX2FkX2J1dHRvbl9zdHlsZV9vdmVycmlkZSI6dHJ1ZSwid2ViX2VuYWJsZV9hc2tfZGlzY2xhaW1lcl91cGRhdGUiOnRydWUsIndlYl9lbmFibGVfY2Fub25pY2FsX3VybF9tYW5hZ2VyIjp0cnVlLCJ3ZWJfZW5hYmxlX2NvdXJzZV9pY29uX3VwZGF0ZSI6dHJ1ZSwid2ViX2VuYWJsZV9lbnRpdHlfdXBzZXJ0X29uX3VwZGF0ZSI6dHJ1ZSwid2ViX2VuYWJsZV9lcnJvcl8yMDQiOnRydWUsIndlYl9lbmFibGVfbm9fZW5kcG9pbnRzX29uX2FkX21ldGFkYXRhIjp0cnVlLCJ3ZWJfZW5hYmxlX3RodW1ibmFpbF9vdmVybGF5X2FsaWdubWVudCI6dHJ1ZSwid2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlIjp0cnVlLCJ3ZWJfZ2VsX3RpbWVvdXRfY2FwIjp0cnVlLCJ3ZWJfaGlkZV95b3VyX2RhdGFfb25fYXV0b21vdGl2ZSI6dHJ1ZSwid2ViX2ltcF9lbmFibGVfY3NpX3N0YXJ0X3RpY2siOnRydWUsIndlYl9tb25vbWVyX3dlYl9jb21wb25lbnRfd3JhcHBlcl9oYW5kbGVfZXJyb3JzIjp0cnVlLCJ3ZWJfbm9uX25hdmlnYXRpbmdfYXRhZyI6dHJ1ZSwid2ViX3BhcmVudF90YXJnZXRfZm9yX3NoZWV0cyI6dHJ1ZSwid2ViX3BlcnNpc3Rfc2VydmVyX2F1dG9uYXZfc3RhdGVfb25fY2xpZW50Ijp0cnVlLCJ3ZWJfcGxheWJhY2tfYXNzb2NpYXRlZF92ZSI6dHJ1ZSwid2ViX3BsYXllcl91cGRhdGVkX2VudHJ5cG9pbnQiOnRydWUsIndlYl9wcmVmZXRjaF9wcmVsb2FkX3ZpZGVvIjp0cnVlLCJ3ZWJfcHJvZ3Jlc3NfYmFyX2RyYWdnYWJsZSI6dHJ1ZSwid2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlIjp0cnVlLCJ3ZWJfcmVtb3ZlX3NuYWNrYmFyX2FjdGlvbnMiOnRydWUsIndlYl9zZWN0aW9uX2xpc3RfcmVuZGVyZXJfd3JhcHBlZF9jb250ZW50cyI6dHJ1ZSwid2ViX3Nob3J0c19hdWRpb190cmFja19waWNrZXIiOnRydWUsIndlYl9zaG9ydHNfZW5hYmxlX3JlbW92ZV9zZWFyY2hfcGl2b3RfYmFja19idXR0b24iOnRydWUsIndlYl9zaG9ydHNfd25fc2hlbGZfaGVhZGVyX3R1bmluZyI6dHJ1ZSwid2ViX3VuaWZpZWRfZmV0Y2giOnRydWUsIndlYl91cGRhdGVfcGFuZWxfdmlzaWJpbGl0eV9sb2dnaW5nX2ZpeCI6dHJ1ZSwid2ViX3dhdGNoX2NvbnRyb2xzX3N0YXRlX3NpZ25hbHMiOnRydWUsIndlYmZlX213ZWJfd2F0Y2hfbWljcm9kYXRhIjp0cnVlLCJ3ZWJmZV93YXRjaF9zaG9ydHNfY2Fub25pY2FsX3VybF9maXgiOnRydWUsIndlYnBvX2V4aXRfb25fbmV0X2VyciI6dHJ1ZSwid2l6X2RpZmZfb3ZlcndyaXRhYmxlIjp0cnVlLCJ3aXpfd3JhcHBlcl9jYWxsYmFja19wcm9wc19maXgiOnRydWUsInd1Z19uZXR3b3JraW5nX2d6aXBfcmVxdWVzdCI6dHJ1ZSwiSDVfYXN5bmNfbG9nZ2luZ19kZWxheV9tcyI6MzAwMDAuMCwiYXV0b3BsYXlfcGF1c2VfYnlfbGFjdF9zYW1wbGluZ19mcmFjdGlvbiI6MC4wLCJjaW5lbWF0aWNfd2F0Y2hfZWZmZWN0X29wYWNpdHkiOjAuNCwibG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uIjowLjEsInNwZWVkbWFzdGVyX3BsYXliYWNrX3JhdGUiOjIuMCwid2ViX2F0dGVudGlvbl9sb2dnaW5nX3Njcm9sbF90aHJvdHRsZSI6NTAwLjAsIndlYl9kZWFkX2NvZGVfZGV0ZWN0b3Jfc2FtcGxpbmdfcmF0ZSI6MC4wLCJ3ZWJfbG9hZF9wcmVkaWN0aW9uX3RocmVzaG9sZCI6MC4zLCJ3ZWJfbmF2aWdhdGlvbl9wcmVkaWN0aW9uX3RocmVzaG9sZCI6MC4xLCJ3ZWJfcGJqX2xvZ193YXJuaW5nX3JhdGUiOjAuMCwid2ViX3N5c3RlbV9oZWFsdGhfZnJhY3Rpb24iOjAuMDEsInl0aWRiX3RyYW5zYWN0aW9uX2VuZGVkX2V2ZW50X3JhdGVfbGltaXQiOjAuMDIsImF0dF9pbml0X2RlbGF5Ijo1MDAsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2VjIjowLCJib3RndWFyZF9hc3luY19zbmFwc2hvdF90aW1lb3V0X21zIjozMDAwLCJjaGVja19uYXZpZ2F0b3JfYWNjdXJhY3lfdGltZW91dF9tcyI6MCwiY2luZW1hdGljX3dhdGNoX2Nzc19maWx0ZXJfYmx1cl9zdHJlbmd0aCI6NDAsImNpbmVtYXRpY193YXRjaF9mYWRlX291dF9kdXJhdGlvbiI6NTAwLCJjbG9zZV93ZWJ2aWV3X2RlbGF5X21zIjoxMDAsImNsb3VkX3NhdmVfZ2FtZV9kYXRhX3JhdGVfbGltaXRfbXMiOjMwMDAsImNvbXByZXNzaW9uX2Rpc2FibGVfcG9pbnQiOjEwLCJjdXN0b21fYWN0aXZlX3ZpZXdfdG9zX3RpbWVvdXRfbXMiOjM2MDAwMDAsImVtYmVkc193aWRnZXRfcG9sbF9pbnRlcnZhbF9tcyI6MCwiZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19tYXhfd2luZG93X3NlY29uZHMiOjYwLCJnZWxfbWluX2JhdGNoX3NpemUiOjMsImdlbF9xdWV1ZV90aW1lb3V0X21heF9tcyI6NjAwMDAsImdldF9hc3luY190aW1lb3V0X21zIjo2MDAwMCwiaHRtbDVfYnl0ZXJhdGVfc29mdF9jYXAiOjAsImluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiOjIwMDAsIm1heF9ib2R5X3NpemVfdG9fY29tcHJlc3MiOjUwMDAwMCwibWF4X3ByZWZldGNoX3dpbmRvd19zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uIjoxMCwibWluX3ByZWZldGNoX29mZnNldF9zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uIjoyMCwibWluaV9hcHBfY29udGFpbmVyX2lmcmFtZV9zcmNfdXBkYXRlX2RlbGF5X21zIjowLCJtdWx0aXBsZV9wcmV2aWV3X25ld3NfZHVyYXRpb25fdGltZSI6MTEwMDAsIm13ZWJfYzNfdG9hc3RfZHVyYXRpb25fbXMiOjUwMDAsIm13ZWJfZGVlcF9saW5rX2ZhbGxiYWNrX3RpbWVvdXRfbXMiOjEwMDAwLCJtd2ViX2RlbGF5X3Jlc3BvbnNlX3JlY2VpdmVkX2FjdGlvbnMiOjEwMCwibXdlYl9kd2VsbF9kZWxheV9tcyI6NTAwLCJtd2ViX2ZwX2RwYWRfcmF0ZV9saW1pdF9tcyI6MCwibXdlYl9mcF9kcGFkX3dhdGNoX3RpdGxlX2NsYW1wX2xpbmVzIjowLCJtd2ViX2hpc3RvcnlfbWFuYWdlcl9jYWNoZV9zaXplIjoxMDAsIm13ZWJfaW9zX2Z1bGxzY3JlZW5fcGxheWJhY2tfdHJhbnNpdGlvbl9kZWxheV9tcyI6NTAwLCJtd2ViX2lvc19mdWxsc2NyZWVuX3N5c3RlbV9wYXVzZV9lcGlsc29uX21zIjowLCJtd2ViX292ZXJyaWRlX3Jlc3BvbnNlX3N0b3JlX2V4cGlyYXRpb25fbXMiOjAsIm13ZWJfc2hvcnRzX2Vhcmx5X2NvbnRpbnVhdGlvbl90cmlnZ2VyX3RocmVzaG9sZCI6NCwibXdlYl9zaG9ydHNfbnVtYmVyX29mX3RodW1ibmFpbHNfc2hvd24iOjIsIm13ZWJfdzJ3X21heF9hZ2Vfc2Vjb25kcyI6MCwibXdlYl93YXRjaF9jYXB0aW9uc19kZWZhdWx0X3NpemUiOjIsIm5lb25fZGFya19sYXVuY2hfZ3JhZGllbnRfY291bnQiOjAsIm5ldHdvcmtfcG9sbGluZ19pbnRlcnZhbCI6MzAwMDAsInBsYXlfcGluZ19pbnRlcnZhbF9tcyI6MTAwMDAsInNlbmRfY29uZmlnX2hhc2hfdGltZXIiOjAsInNlcnZpY2Vfd29ya2VyX3B1c2hfbG9nZ2VkX291dF9wcm9tcHRfd2F0Y2hlcyI6LTEsInNlcnZpY2Vfd29ya2VyX3B1c2hfcHJvbXB0X2NhcCI6LTEsInNlcnZpY2Vfd29ya2VyX3B1c2hfcHJvbXB0X2RlbGF5X21pY3Jvc2Vjb25kcyI6Mzg4ODAwMDAwMDAwMCwic2hvd19taW5pX2FwcF9hZF93ZWJfcmVndWxhcl9mcmVxdWVuY3lfY2FwX21zIjoyNDAwMDAsInNob3dfbWluaV9hcHBfYWRfd2ViX3Jld2FyZGVkX2ZyZXF1ZW5jeV9jYXBfbXMiOjAsInNsb3dfY29tcHJlc3Npb25zX2JlZm9yZV9hYmFuZG9uX2NvdW50Ijo0LCJzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHAiOjEwLCJzcGVlZG1hc3Rlcl90b3VjaF9hY3RpdmF0aW9uX21zIjo1MDAsIndlYl9haV9zZWFyY2hfcm9sbG91dF92ZXJzaW9uIjoxLCJ3ZWJfZm9yZWdyb3VuZF9oZWFydGJlYXRfaW50ZXJ2YWxfbXMiOjI4MDAwLCJ3ZWJfZ2VsX2RlYm91bmNlX21zIjoxMDAwMCwid2ViX2xvZ2dpbmdfbWF4X2JhdGNoIjoxMDAsIndlYl9tYXhfdHJhY2luZ19ldmVudHMiOjUwLCJ3ZWJfc2Vzc2lvbl9yZXBsYXlfbW91c2Vtb3ZlX2ludGVydmFsIjowLCJ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2Nyb2xsX2ludGVydmFsIjowLCJ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2VuZF9hZnRlcl90aW1lb3V0IjowLCJ3ZWJfdHJhY2luZ19zZXNzaW9uX3JlcGxheSI6MCwid2lsX2ljb25fbWF4X2NvbmN1cnJlbnRfZmV0Y2hlcyI6OTk5OSwieXRjc2lfZGVidWdfbWF4X3NpemUiOjEwMCwieXRpZGJfcmVtYWtlX2RiX3JldHJpZXMiOjEsInl0aWRiX3Jlb3Blbl9kYl9yZXRyaWVzIjowLCJXZWJDbGllbnRSZWxlYXNlUHJvY2Vzc0NyaXRpY2FsX195b3V0dWJlX2VtYmVkc19jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsIldlYkNsaWVudFJlbGVhc2VQcm9jZXNzQ3JpdGljYWxfX3lvdXR1YmVfZW1iZWRzX3dlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsImRlYnVnX2ZvcmNlZF9pbnRlcm5hbGNvdW50cnljb2RlIjoiIiwiZW5hYmxlX3dlYl9tZWRpYV9zZXJ2aWNlIjoiRElTQUJMRUQiLCJpbF9wYXlsb2FkX3NjcmFwaW5nIjoiIiwibGl2ZV9jaGF0X3VuaWNvZGVfZW1vamlfanNvbl91cmwiOiJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9lbW9qaXMvZW1vamlzLXN2Zy05Lmpzb24iLCJtd2ViX2RlZXBfbGlua19mZWF0dXJlX3RhZ19zdWZmaXgiOiI1MTgzMTYxNSIsIm13ZWJfZW5hYmxlX3Nob3J0c19pbm5lcnR1YmVfcGxheWVyX3ByZWZldGNoX3RyaWdnZXIiOiJOT05FIiwibXdlYl9mcF9kcGFkIjoiaG9tZSxzZWFyY2gsYnJvd3NlLGNoYW5uZWwsY3JlYXRlX2NoYW5uZWwsZXhwZXJpbWVudHMsc2V0dGluZ3MsdHJlbmRpbmcsb29wcyw0MDQscGFpZF9tZW1iZXJzaGlwcyxzcG9uc29yc2hpcCxwcmVtaXVtLHNob3J0cyIsIm13ZWJfZnBfZHBhZF9saW5lYXJfbmF2aWdhdGlvbiI6IiIsIm13ZWJfZnBfZHBhZF9saW5lYXJfbmF2aWdhdGlvbl92aXNpdG9yIjoiIiwibXdlYl9mcF9kcGFkX3Zpc2l0b3IiOiIiLCJtd2ViX3ByZWxvYWRfdmlkZW9fYnlfcGxheWVyX3ZhcnMiOiIiLCJwbGFjZV9waXZvdF90cmlnZ2VyaW5nX2NvbnRhaW5lcl9hbHRlcm5hdGUiOiIiLCJwbGFjZV9waXZvdF90cmlnZ2VyaW5nX2NvdW50ZXJmYWN0dWFsX2NvbnRhaW5lcl9hbHRlcm5hdGUiOiIiLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2ZvcmNlX25vdGlmaWNhdGlvbl9wcm9tcHRfdGFnIjoiMSIsInNlcnZpY2Vfd29ya2VyX3Njb3BlIjoiLyIsInN1Z2dlc3RfZXhwX3N0ciI6IiIsIndlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsImVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfYWxsb3dlZF92aWRlb19pZHMiOlsiT0psd0lkb0Z6OUEiLCJBcktiQXgxSy0yVSIsIm1fZGhNU3ZVQ0ljIiwiQzFEaHBKMDdadUUiLCJOcTJ3WWxXRnVjZyIsIkpDN2YzRVVEYXF3IiwidnIzWHlWQ1I0VDAiLCJnQ05lRFdDSTB2byIsImtCVHVkbTRnZU1zIiwiRnhzZlZYNkIxTWsiLCJ5bFlKU0JVZ2FNQSIsIlZXaFE2eHNwblNjIiwiUkhVYXVNY1lsWDAiLCJjYjEyS21NTURKQSIsIldKeEVqX2hycFNnIiwiZXVoWS10bWc5eDgiLCJUbElWSTJFVzdSMCIsIk1JTmZ2T1g0QnpJIiwieUhtUFd6a2hjWjgiLCJwM3cxdk85WHYyNCIsIlZsYUNucDFmeEk4IiwiLU9mQTA0QkQ0R0EiLCIxb2RZM0lZc05ubyIsIndpVFRyVnFSVkR3IiwiRGZtMnJCLW5ROVkiLCJRbTFGdHo4bFZuSSIsIjlpdEF4cV9TR0RNIiwieUZJM3dwWHk0ekEiLCJQeTVKWVpYSnZ6byIsImI0dEU1YUtodGxnIiwiNUpEeGpzQVZhR2siLCJlVW1mR1BhenVFTSIsIlc4blRocTYyVmI0IiwiVkxqdlMzdWZsWGMiLCJCZmRMS3ZKQk1fYyIsIndlTFhkd1ZqU3hzIiwiMkphLXVQT2t6N0kiLCJBOVFCVkZFWXhPUSIsImstWkZRa2tIVWZjIiwid3V1MEQyMEFacUkiLCJfSHZpU3lDN3pTVSIsIl9feE96X1EzcVI0IiwidzJzQjg3akxFMUkiLCI4clRURU1kTWg4USIsIi1rNm1wZ214ZXJVIiwiOTdja25ySnlMV2ciLCIyRkl0Vnl4TE5OYyIsIm90bnhmY3NHRS1ZIiwiczl4TDFEcEJzZlEiLCJ3ZkFHQlZnVXJybyIsIm5YSDZUeFEtc2k4IiwiV2lJMVhnX25FdTgiLCIzZmxhc0dWVXJDQSIsImVEWV9IZTkybGNVIiwiYTQ3Y2tYS1pqeEkiLCJJNldSWGVLWks2NCIsIlQ5SjVEcVAyREt3IiwiS3RrX0kwcFVwRzgiLCJlUTJjekdxT0NQZyIsImhMbVU0OWhtWjRjIiwiN2Y3TWdhTUU3U2MiLCJRQjVCTmRCRnVqRSIsIkFHaHRNVV9maTcwIiwicDJSYVFVUlJBd0EiLCJtel9fRU1ZcFdQdyIsIjZqaEx1U1FWSXhVIiwickM4M3ZfdXVJcW8iLCI2RGFHZEpSX2VMZyIsImNtNDN1WGpmdlpZIiwiWTFKc1BwbTJibVEiLCJ6MDk3alB5S2VlbyIsIlRZVlpXVVRqa3gwIiwiVkhhQXZlbmZURGsiLCJ0djlPVV81UTBwUSIsIjZvS0N2em02SG1nIiwiQkVGVUVSaFQwbjAiLCJ1VE4tZXUwLU9YRSIsImhiYXByaFI3elRvIiwiMkNWMFYtb01ORk0iLCJ1OGRTT0tvTkpwMCIsIkg4TXFxd21Gc3hZIiwiSXNra21OUEpkVWsiLCJYOUhfRXpwREdYUSJdLCJrZXZsYXJfY29tbWFuZF9oYW5kbGVyX2NvbW1hbmRfYmFubGlzdCI6W10sIm1pbmlfYXBwX2lkc193aXRob3V0X2dhbWVfcmVhZHkiOlsiVWdreEhIdHNhazFTQzhtUkdITVpld2M0SHplQVkzeWhQUG1KIiwiVWdreDdPZ3pGcUU2el81TXRmNFlzb3RHZlFOSUkxREZfUkJtIl0sIndlYl9vcF9zaWduYWxfdHlwZV9iYW5saXN0IjpbXSwid2ViX3RyYWNpbmdfZW5hYmxlZF9zcGFucyI6WyJldmVudCIsImNvbW1hbmQiXX0sIkdBUElfSElOVF9QQVJBTVMiOiJtOy9fL3Njcy9hYmMtc3RhdGljL18vanMva1x1MDAzZGdhcGkuZ2FwaS5lbi41NF9IRHZlT3RrUS5PL2RcdTAwM2QxL3JzXHUwMDNkQUhwT29vOVF1Zk9kUFlUUmtiVEphZFRXNnNtc3hsV0xNdy9tXHUwMDNkX19mZWF0dXJlc19fIiwiR0FQSV9IT1NUIjoiaHR0cHM6Ly9hcGlzLmdvb2dsZS5jb20iLCJHQVBJX0xPQ0FMRSI6ImVuX1VTIiwiR0wiOiJOTyIsIkhMIjoiZW4iLCJIVE1MX0RJUiI6Imx0ciIsIkhUTUxfTEFORyI6ImVuIiwiSU5ORVJUVUJFX0FQSV9LRVkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJJTk5FUlRVQkVfQVBJX1ZFUlNJT04iOiJ2MSIsIklOTkVSVFVCRV9DTElFTlRfTkFNRSI6IldFQl9FTUJFRERFRF9QTEFZRVIiLCJJTk5FUlRVQkVfQ0xJRU5UX1ZFUlNJT04iOiIyLjIwMjYwNzI0LjAxLjAwIiwiSU5ORVJUVUJFX0NPTlRFWFQiOnsiY2xpZW50Ijp7ImhsIjoiZW4iLCJnbCI6Ik5PIiwicmVtb3RlSG9zdCI6IjE5NS42NC4xMTguMTUyIiwiZGV2aWNlTWFrZSI6IiIsImRldmljZU1vZGVsIjoiIiwidmlzaXRvckRhdGEiOiJDZ3RIWlU5TmFIVXlkekZwWnlqTjBwdlRCaklvQ2dKT1R4SWlFaDRTSEFzTURnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJeVFsSmljZ0dHTGZBZ3JjQWpJd0xsbFVQVlZUWXpONFkybHdRekZmTTNsQmNIQXlXaTFQVEdkNGRsTnVjekpFV0ZJd1kyTnZWV3RVTmtORVVFWjFSMHd0WXpObVNESlFOREpIWjNGT1FVNVpPRjlyU1ZWWFRIazRTVUZNWjJKV1pUWk9kbGRVWDNSUWJFOWlibVppVWpWTmVrZzFXVVJ0UzBzeVExbEZPRVZuYTJaamVYTjVlWEZSV0ZOQk5IRklSakI1ZG05ek4yUm9Ra1puYUhCd1pFZERiV05zTldOdmIxUTNNRVp5UmpKUFVqVmFXa0pSVG5GcVJVZFNYMHMwTkc5R1VFTkhUVVl6WldkWE5UVmZWVFIwVGxsVE1WQktSRTFxWWtOUlZERTNjbWw0YmkxaU9UWTJTMDVqYjJ0dWVEaDJXamRDYjFWeE5YVTNRVWhmWldoQldDMU5NMmhsTTBscVJVczNjWHBRZG5kV2NVZGtTR2RtUzJWTVNVaE5RM0pYWVd3elNFaEJWbXBYWDFZeWFrZ3dSMHBQU1VwWWVFNDVkbm90UVRGMVZrRlVlWFZFU25rNWRtWmFlVFJoVW5CaVdUVlpha2REZVVkM1J6Tk1XVkI0Y0RRMFkyeGtVUSUzRCUzRCIsInVzZXJBZ2VudCI6Ik1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQ7IHJ2OjEzNC4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzEzNC4wLGd6aXAoZ2ZlKSIsImNsaWVudE5hbWUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiY2xpZW50VmVyc2lvbiI6IjIuMjAyNjA3MjQuMDEuMDAiLCJvc05hbWUiOiJXaW5kb3dzIiwib3NWZXJzaW9uIjoiMTAuMCIsIm9yaWdpbmFsVXJsIjoiaHR0cHM6Ly93d3cueW91dHViZS1ub2Nvb2tpZS5jb20vZW1iZWQvZGs5dU5XUFA3RUE/dmVyc2lvblx1MDAzZDNcdTAwMjZlbmFibGVqc2FwaVx1MDAzZDFcdTAwMjZodG1sNVx1MDAzZDFcdTAwMjZoZFx1MDAzZDFcdTAwMjZ3bW9kZVx1MDAzZG9wYXF1ZVx1MDAyNnNob3dpbmZvXHUwMDNkMFx1MDAyNnJlbFx1MDAzZDAlM0IlM0JvcmlnaW4lM0RodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBMzAxMCUzQlx1MDAyNmNvbnRyb2xzXHUwMDNkMFx1MDAyNnBsYXlzaW5saW5lXHUwMDNkMSIsInBsYXRmb3JtIjoiREVTS1RPUCIsImNsaWVudEZvcm1GYWN0b3IiOiJVTktOT1dOX0ZPUk1fRkFDVE9SIiwiY29uZmlnSW5mbyI6eyJhcHBJbnN0YWxsRGF0YSI6IkNNM1NtOU1HRVBhcnNBVVFBQkQ1OHRFY0VPRHEwUndReDQzU0hCQzltYkFGRUk2UTBSd1FtWTJ4QlJESjlvQVRFTjY4emh3UXJ0YlBIQkNJa05FY0VMVzFnQk1RNElLQUV4Q0toN2dpRVB5eXpod1FpYkRPSEJDOHBOQWNFSW5rMFJ3UW5ZYTRJaENMOTg4Y0VMbncwUndRZzRlNEloQ0hyTTRjRU9uNDBSd1E0TGZSSEJDQnpjNGNFTDZLc0FVUWh1R0FFeEN2aHM4Y0VMamt6aHdROXZmUkhCRE0zNjRGRUw2RTBSd1FsZV9SSEJDa3FkRWNFTGI0Z0JNUXl2dUFFeERhOTg0Y0VQRGUwUndRd1lfUUhCQ2Z6NEFURUwyMnJnVVF0dHZSSEJESF9JQVRFSjNRc0FVUThiVFFIQkQwNmRFY0ttaERRVTFUVTFKV1F5MWFjUzFFVFdWVlJYQlZRMjVCTnpWR1dFdHFRblZGVjNGT1ZWQjVRVTFOTTNjelkwSjBaMGMzWjFReWRtVnJURTF4UTNOQ1FVOVJjbWRRTjBweVltdENkVk5HUmpsRVRVSnpVMU5DWTNNNWVGTm1XakZSV0dOTVQxcEhTRkZqUFRBQSJ9LCJicm93c2VyTmFtZSI6IkZpcmVmb3giLCJicm93c2VyVmVyc2lvbiI6IjEzNC4wIiwiYWNjZXB0SGVhZGVyIjoidGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cVx1MDAzZDAuOSwqLyo7cVx1MDAzZDAuOCIsImRldmljZUV4cGVyaW1lbnRJZCI6IkNoeE9lbGt5VG5wQk0wMVVhM3BPUkZGNlRVUnJNVTFVUVRST2R6MDlFTTNTbTlNR0dNM1NtOU1HIiwicm9sbG91dFRva2VuIjoiQ012SnU4bUZ0NF9jLUFFUTFQLW42NHp5bFFNWTFQLW42NHp5bFFNJTNEIn0sInVzZXIiOnsibG9ja2VkU2FmZXR5TW9kZSI6ZmFsc2V9LCJyZXF1ZXN0Ijp7InVzZVNzbCI6dHJ1ZX0sImNsaWNrVHJhY2tpbmciOnsiY2xpY2tUcmFja2luZ1BhcmFtcyI6IkloTUlqZlNuNjR6eWxRTVZUd2w4Q0IwVHRqRDUifSwidGhpcmRQYXJ0eSI6eyJlbWJlZGRlZFBsYXllckNvbnRleHQiOnsiZW1iZWRkZWRQbGF5ZXJFbmNyeXB0ZWRDb250ZXh0IjoiQUNtYmxCVTBhQlhRaTIwby1Fa2U3UmFLVG1wakdlbjN6S2VzSEh5QUFteS1OT3l3OWRzSV9naGJMaEZabjFKaFphX1FiTVZsbXpwVWs4Rk9GYVpreU9lUmpBUGtzamNhNmdtblU3U0JQaXp0M2FiVlJ3WVZ5aVZsM2RfYlVSRFhuSjJTZ0o0YVlnIiwiYW5jZXN0b3JPcmlnaW5zU3VwcG9ydGVkIjpmYWxzZX19fSwiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiOjU2LCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiI6IjIuMjAyNjA3MjQuMDEuMDAiLCJJTk5FUlRVQkVfQ09OVEVYVF9HTCI6Ik5PIiwiSU5ORVJUVUJFX0NPTlRFWFRfSEwiOiJlbiIsIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyI6eyJjbGllbnQubmFtZSI6IldFQl9FTUJFRERFRF9QTEFZRVIiLCJjbGllbnQuanNmZWF0IjoiMjAyMSJ9LCJMT0dHRURfSU4iOmZhbHNlLCJQQUdFX0JVSUxEX0xBQkVMIjoieW91dHViZS5lbWJlZHMud2ViXzIwMjYwNzI0XzAxX1JDMDAiLCJQQUdFX0NMIjo5NTMyMDYwMTAsIlNFUlZFUl9OQU1FIjoiV2ViRkUiLCJWSVNJVE9SX0RBVEEiOiJDZ3RIWlU5TmFIVXlkekZwWnlqTjBwdlRCaklvQ2dKT1R4SWlFaDRTSEFzTURnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJeVFsSmljZ0dHTGZBZ3JjQWpJd0xsbFVQVlZUWXpONFkybHdRekZmTTNsQmNIQXlXaTFQVEdkNGRsTnVjekpFV0ZJd1kyTnZWV3RVTmtORVVFWjFSMHd0WXpObVNESlFOREpIWjNGT1FVNVpPRjlyU1ZWWFRIazRTVUZNWjJKV1pUWk9kbGRVWDNSUWJFOWlibVppVWpWTmVrZzFXVVJ0UzBzeVExbEZPRVZuYTJaamVYTjVlWEZSV0ZOQk5IRklSakI1ZG05ek4yUm9Ra1puYUhCd1pFZERiV05zTldOdmIxUTNNRVp5UmpKUFVqVmFXa0pSVG5GcVJVZFNYMHMwTkc5R1VFTkhUVVl6WldkWE5UVmZWVFIwVGxsVE1WQktSRTFxWWtOUlZERTNjbWw0YmkxaU9UWTJTMDVqYjJ0dWVEaDJXamRDYjFWeE5YVTNRVWhmWldoQldDMU5NMmhsTTBscVJVczNjWHBRZG5kV2NVZGtTR2RtUzJWTVNVaE5RM0pYWVd3elNFaEJWbXBYWDFZeWFrZ3dSMHBQU1VwWWVFNDVkbm90UVRGMVZrRlVlWFZFU25rNWRtWmFlVFJoVW5CaVdUVlpha2REZVVkM1J6Tk1XVkI0Y0RRMFkyeGtVUSUzRCUzRCIsIldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdTIjp7IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfRU1CRURERURfUExBWUVSIjp7InJvb3RFbGVtZW50SWQiOiJtb3ZpZV9wbGF5ZXIiLCJqc1VybCI6Ii9zL3BsYXllci83YTc5NjljMi9wbGF5ZXJfZW1iZWRfZXM2LnZmbHNldC9lbl9VUy9iYXNlLmpzIiwiY3NzVXJsIjoiL3MvcGxheWVyLzdhNzk2OWMyL3d3dy1wbGF5ZXIuY3NzIiwiY29udGV4dElkIjoiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9FTUJFRERFRF9QTEFZRVIiLCJldmVudExhYmVsIjoiZW1iZWRkZWQiLCJjb250ZW50UmVnaW9uIjoiTk8iLCJobCI6ImVuX1VTIiwiaG9zdExhbmd1YWdlIjoiZW4iLCJpbm5lcnR1YmVBcGlLZXkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJpbm5lcnR1YmVBcGlWZXJzaW9uIjoidjEiLCJpbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbiI6IjIuMjAyNjA3MjQuMDEuMDAiLCJjb250cm9sc1R5cGUiOjAsImRpc2FibGVSZWxhdGVkVmlkZW9zIjp0cnVlLCJkZXZpY2UiOnsiYnJhbmQiOiIiLCJtb2RlbCI6IiIsImJyb3dzZXIiOiJGaXJlZm94IiwiYnJvd3NlclZlcnNpb24iOiIxMzQuMCIsIm9zIjoiV2luZG93cyIsIm9zVmVyc2lvbiI6IjEwLjAiLCJwbGF0Zm9ybSI6IkRFU0tUT1AiLCJpbnRlcmZhY2VOYW1lIjoiV0VCX0VNQkVEREVEX1BMQVlFUiIsImludGVyZmFjZVZlcnNpb24iOiIyLjIwMjYwNzI0LjAxLjAwIn0sInNlcmlhbGl6ZWRFeHBlcmltZW50SWRzIjoiMjQwMDQ2NDQsNTEwNjM2NDMsNTEwOTgyOTksNTEyMjI5NzMsNTEzNDA2NjIsNTEzNDk5MTQsNTEzNTMzOTMsNTEzNjY0MjMsNTEzNzI2ODEsNTEzODk2MjksNTE0NTgxNzYsNTE0NTk0MjQsNTE0OTAzMzEsNTE0OTMyMDgsNTE1MDU0MzYsNTE1MzA0OTUsNTE1MzQ2NjksNTE1NjUxMTYsNTE1ODM4MjEsNTE2MDUyNTgsNTE2MDk4MjksNTE2MjI4NDUsNTE2Mzg5MzIsNTE2NDgzMzYsNTE2NzIxNjIsNTE2ODE2NjIsNTE2ODM1MDIsNTE3MDE2MTUsNTE3MTMxNzYsNTE3MjkyMTcsNTE3NDIzNzcsNTE3NDI4MjksNTE3NzgzMzksNTE3OTg5MjgsNTE4MDMxMjgsNTE4MDM1ODUsNTE4MzMyNDEsNTE4NDI0MjIsNTE4NTc4MzgsNTE4NTc5MjAsNTE4ODc4ODAsNTE4OTU0MDUsNTE4OTU3NzEsNTE5MDE0MzcsNTE5MDI2MDUsNTE5MDI5NzcsNTE5MTA3MzUsNTE5MjcxODgsNTE5MjczNjAsNTE5MzYyMjgsNTE5Mzk3MDMsNTE5Mzk3MzAsNTE5NDUwNTYsNTE5NTQ5MjIsNTE5NTY1MTgsNTE5NTc0NDYsNTE5NTk2OTQsNTE5NTk4MDksNTE5NTk4ODAsNTE5NTk5NjcsNTE5NjgwODQsNTE5NzE3NzYsNTE5NzM4MTksNTE5ODMzNjYsNTE5ODQ3MTcsNTE5ODQ4MjcsNTE5ODU1ODAsNTIwMDI4MDYsNTIwMTI1MjMsNTIwMTM5MjgsNTIwMTM5MzcsNTIwMTYxMzYsNTIwMjAwMzIsNTIwMjI0ODcsNTIwMjMzMzIsNTIwMjQyMTcsNTIwMjYxOTQsNTIwMjY4MTMsNTIwMjcwOTgsNTIwMjc3NTEsNTIwMjc3NTMsNTIwMzU2NDQsNTIwMzY5MzksNTIwNDAzODIsNTIwNDMyMjcsNTIwNDY1MTksNTIwNDcxNDcsNTIwNDc2ODQsNTIwNDc2ODcsNTIwNDc2OTEsNTIwNDg0MzQsNTIwNTY1MDMsNTIwNjM2NzgsNTIwNjQxMzUsNTIwNjU1ODksNTIwNjk5MDIsNTIwNzM5NjMsNTIwNzU5MjIsNTIwNzY3MDUsNTIwOTY1MDYsNTIwOTg2ODQiLCJzZXJpYWxpemVkRXhwZXJpbWVudEZsYWdzIjoiSDVfYXN5bmNfbG9nZ2luZ19kZWxheV9tc1x1MDAzZDMwMDAwLjBcdTAwMjZhMTF5X2g1X2Fzc29jaWF0ZV9zdXJ2ZXlfcXVlc3Rpb25cdTAwM2R0cnVlXHUwMDI2YWJfZGV0X2FwYl9iXHUwMDNkdHJ1ZVx1MDAyNmFiX2RldF9hcG1cdTAwM2R0cnVlXHUwMDI2YWJfZGV0X2VsX2hcdTAwM2R0cnVlXHUwMDI2YWN0aW9uX2NvbXBhbmlvbl9jZW50ZXJfYWxpZ25fZGVzY3JpcHRpb25cdTAwM2R0cnVlXHUwMDI2YWRfcG9kX2Rpc2FibGVfY29tcGFuaW9uX3BlcnNpc3RfYWRzX3F1YWxpdHlcdTAwM2R0cnVlXHUwMDI2YWxsb3dfYXV0b2hpZGVfb25fcGF1c2VkX3ZpZGVvc1x1MDAzZHRydWVcdTAwMjZhbGxvd19kcm1fb3ZlcnJpZGVcdTAwM2R0cnVlXHUwMDI2YWxsb3dfbGl2ZV9hdXRvcGxheVx1MDAzZHRydWVcdTAwMjZhbGxvd19wb2x0ZXJndXN0X2F1dG9wbGF5XHUwMDNkdHJ1ZVx1MDAyNmFsbG93X3NraXBfbmV0d29ya2xlc3NcdTAwM2R0cnVlXHUwMDI2YWxsb3dfdnA5XzEwODBwX21xX2VuY1x1MDAzZHRydWVcdTAwMjZhbHdheXNfY2FjaGVfcmVkaXJlY3RfZW5kcG9pbnRcdTAwM2R0cnVlXHUwMDI2YWx3YXlzX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNmFubm90YXRpb25fbW9kdWxlX3Zhc3RfY2FyZHNfbG9hZF9sb2dnaW5nX2ZyYWN0aW9uXHUwMDNkMC4wXHUwMDI2YXNzaWduX2RybV9mYW1pbHlfYnlfZm9ybWF0XHUwMDNkdHJ1ZVx1MDAyNmF0dF93ZWJfcmVjb3JkX21ldHJpY3NcdTAwM2R0cnVlXHUwMDI2YXR0YWNoX2V4cGVyaW1lbnRfcHJvcGFnYXRpb25fY29udGV4dF90b19jb25maWdcdTAwM2R0cnVlXHUwMDI2YXR0bXVzaVx1MDAzZHRydWVcdTAwMjZhdXRvcGxheV90aW1lXHUwMDNkMTAwMDBcdTAwMjZhdXRvcGxheV90aW1lX2Zvcl9mdWxsc2NyZWVuXHUwMDNkLTFcdTAwMjZhdXRvcGxheV90aW1lX2Zvcl9tdXNpY19jb250ZW50XHUwMDNkLTFcdTAwMjZiZ192bV9yZWluaXRfdGhyZXNob2xkXHUwMDNkNzIwMDAwMFx1MDAyNmJsb2NrX3R2aHRtbDVfc2ltcGx5X2VtYmVkZGVkXHUwMDNkdHJ1ZVx1MDAyNmJsb2NrZWRfcGFja2FnZXNfZm9yX3Nwc1x1MDAzZFtdXHUwMDI2Ym90Z3VhcmRfYXN5bmNfc25hcHNob3RfdGltZW91dF9tc1x1MDAzZDMwMDBcdTAwMjZieXBhc3NfbGljZW5zZV9jaGVja19mb3JfaW5saW5lX211dGVkXHUwMDNkdHJ1ZVx1MDAyNmNhcHRpb25zX3VybF9hZGRfZWlcdTAwM2R0cnVlXHUwMDI2Y2hlY2tfbmF2aWdhdG9yX2FjY3VyYWN5X3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2Y2hlY2tfcGxheWFiaWxpdHlfc3RhdHVzX2luX2ZpbGxlcnNcdTAwM2R0cnVlXHUwMDI2Y2xpZW50X3VpX2VuYWJsZV9tdWx0aV90cmFja19hdWRpb19vbl93ZWJfZW1iZWRkZWRfcGxheWVyXHUwMDNkdHJ1ZVx1MDAyNmNvbXByZXNzaW9uX2Rpc2FibGVfcG9pbnRcdTAwM2QxMFx1MDAyNmNvd19vcHRpbWl6ZV9pZG9tX2NvbXBhdFx1MDAzZHRydWVcdTAwMjZjc2lfb25fZ2VsXHUwMDNkdHJ1ZVx1MDAyNmN1c3RvbV9hY3RpdmVfdmlld190b3NfdGltZW91dF9tc1x1MDAzZDM2MDAwMDBcdTAwMjZkYXNoX21hbmlmZXN0X3ZlcnNpb25cdTAwM2Q1XHUwMDI2ZGVidWdfYmFuZGFpZF9ob3N0bmFtZVx1MDAzZFx1MDAyNmRlYnVnX2JhbmRhaWRfcG9ydFx1MDAzZDBcdTAwMjZkZWJ1Z19zaGVybG9nX3VzZXJuYW1lXHUwMDNkXHUwMDI2ZGVkdXBwaW5nX3NlcnZlcl92ZVx1MDAzZHRydWVcdTAwMjZkZWxoaV9mYXN0X2ZvbGxvd19hdXRvbmF2X3RvZ2dsZVx1MDAzZHRydWVcdTAwMjZkZWxoaV9tb2Rlcm5fcGxheWVyX2RlZmF1bHRfdGh1bWJuYWlsX3BlcmNlbnRhZ2VcdTAwM2QwLjBcdTAwMjZkZWxoaV9tb2Rlcm5fcGxheWVyX2Zhc3Rlcl9hdXRvaGlkZV9kZWxheV9tc1x1MDAzZDIwMDBcdTAwMjZkZWxoaV9tb2Rlcm5fcGxheWVyX3BhdXNlX3RodW1ibmFpbF9wZXJjZW50YWdlXHUwMDNkMC42XHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfYmxlbmRpbmdfbW9kZVx1MDAzZFx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2Rpc2FibGVfZnJvc3RlZF9nbGFzc1x1MDAzZHRydWVcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9ob3Jpem9udGFsX3ZvbHVtZV9jb250cm9sc1x1MDAzZHRydWVcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9saHNfdm9sdW1lX2NvbnRyb2xzXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX3Jlc3BvbnNpdmVfY29tcGFjdF9jb250cm9sc190aHJlc2hvbGRcdTAwM2QwXHUwMDI2ZGVwcmVjYXRlX2NhcHRpb25zX3RyYWNrX2NvdW50X2Rpc3BsYXlcdTAwM2R0cnVlXHUwMDI2ZGVwcmVjYXRlX2RlbGF5X3BpbmdcdTAwM2R0cnVlXHUwMDI2ZGVwcmVjYXRlX3BhaXJfc2VydmxldF9lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNmRlc2t0b3Bfc3BhcmtsZXNfbGlnaHRfY3RhX2J1dHRvblx1MDAzZHRydWVcdTAwMjZkaXNhYmxlX2F2MV9zZXR0aW5nXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfY2hpbGRfbm9kZV9hdXRvX2Zvcm1hdHRlZF9zdHJpbmdzXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfbGlmYV9pbl8ya180a1x1MDAzZHRydWVcdTAwMjZkaXNhYmxlX2xvZ190b192aXNpdG9yX2xheWVyXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfcGFjZl9sb2dnaW5nX2Zvcl9tZW1vcnlfbGltaXRlZF90dlx1MDAzZHRydWVcdTAwMjZkaXNhYmxlX3JlZHVjZWRfZnVsbHNjcmVlbl9hdXRvcGxheV9jb3VudGRvd25fZm9yX21pbm9yc1x1MDAzZHRydWVcdTAwMjZkaXNhYmxlX3JlZWxfaXRlbV93YXRjaF9mb3JtYXRfZmlsdGVyaW5nXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfdG91Y2hfZXZlbnRzX29uX3NraXBfYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNmR1cmF0aW9uX2JlZm9yZV9wYXVzZV9hZF9icmVha19tc19mb3Jfc3lzdGVtX3BhdXNlXHUwMDNkNTAwMFx1MDAyNmVkZ2VfZW5jcnlwdGlvbl9maWxsX3ByaW1hcnlfa2V5X3ZlcnNpb25cdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2Rlc2t0b2ZmX2VuYWJsZV9hZHNfdG9wX2Jhclx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZGVza3RvcF9lbmFibGVfdm9sdW1lX3NsaWRlclx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZW5hYmxlX2NoYW5uZWxfc3Vic2NyaWJlX2RlcHJlY2F0aW9uXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfZW1iZWRfY29uZmlnX2Zvcl9tdXRlZF9hdXRvcGxheVx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZW5hYmxlX2lubmVydHViZV9zdG9yZVx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZW5hYmxlX21vdmVfc2V0X2NlbnRlcl9jcm9wX3RvX3B1YmxpY1x1MDAzZHRydWVcdTAwMjZlbWJlZHNfZW5hYmxlX3Blcl92aWRlb19lbWJlZF9jb25maWdcdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX3dlYl9saXRlX21vZGVcdTAwM2QxXHUwMDI2ZW5hYmxlX2ExMXlfZm9jdXNfZml4X2Zvcl9tYWNfcGFuZWxfb25fZGVza3RvcFx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWJhbmRvbl9waW5nX2Zvcl9zc2RhaVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWNjZXNzX2NvZGVfc2VydmljZV9ycGNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FjaV9vbl9scl9mZWVkc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWN0aXZlX3ZpZXdfZGlzcGxheV9hZF9yZW5kZXJlcl93ZWJfaG9tZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWN0aXZlX3ZpZXdfbHJfc2hvcnRzX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY3RpdmVfdmlld193ZWJfc2hvcnRzX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hZF9jcG5fbWFjcm9fc3Vic3RpdHV0aW9uX2Zvcl9jbGlja19waW5nc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWRfZGlzY2xvc3VyZV9iYW5uZXJfYTExeV9maXhcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FudGlzY3JhcGluZ193ZWJfcGxheWVyX2V4cGlyZWRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FwcF9wcm9tb19lbmRjYXBfZW1sX29uX3RhYmxldFx1MDAzZHRydWVcdTAwMjZlbmFibGVfYXR0ZW50aW9uX2xvZ2dpbmdfbWVhc3VyZV9vbl9zaG93blx1MDAzZHRydWVcdTAwMjZlbmFibGVfYXVfdTE2X3ZlcmlmeV9hZ2VfcGFnZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYXV0b21vdGl2ZV9mb3JtX2ZhY3Rvcl9jaGVja1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYmF0Y2hlZF9jcm9zc19kZXZpY2VfcGluZ3NfaW5fZ2VsX2Zhbm91dFx1MDAzZHRydWVcdTAwMjZlbmFibGVfY2FwYWJpbGl0eV9mb3JtYXRfZmlsdGVyX2luX3dhdGNoX3NlcnZlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfY2FzdF9mb3Jfd2ViX3VucGx1Z2dlZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfY2VudGVyZWRfY2FwdGlvbl9mb3JfdHZmaWxtX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jaXBoZXJfZm9yX21hbmlmZXN0X3VybHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NsZWFudXBfbWFzdGhlYWRfYXV0b3BsYXlfaGFja19maXhcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NsaWVudF9wYWdlX2lkX2hlYWRlcl9mb3JfZmlyc3RfcGFydHlfcGluZ3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NsaWVudF9zbGlfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xpZW50X3ZlX3NwZWNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2N0YV9iYW5uZXJfb25fdW5wbHVnZ2VkX2xyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jdXN0b21fcGxheWhlYWRfcGFyc2luZ1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kYWlfc2RmX2g1X3ByZXJvbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RhdGFzeW5jX2lkX2hlYWRlcl9pbl93ZWJfdnNzX3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kZWZhdWx0X21vbm9fY3RhX21pZ3JhdGlvbl93ZWJfY2xpZW50XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kc2FfYWRfYmFkZ2VfZm9yX2FjdGlvbl9lbmRjYXBfb25fYW5kcm9pZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfZHNhX2FkX2JhZGdlX2Zvcl9hY3Rpb25fZW5kY2FwX29uX2lvc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19oNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfZW50aXR5X3N0b3JlX2Zyb21fZGVwZW5kZW5jeV9pbmplY3Rpb25cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2Vycm9yX2NvcnJlY3Rpb25zX2luZm9jYXJkX3dlYl9jbGllbnRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2Vycm9yX2NvcnJlY3Rpb25zX2luZm9jYXJkc19pY29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfZ2V0X3JlbWluZGVyX2J1dHRvbl9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaF9mb3JfdmRjXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaF9mb3JfdmRjYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfbHRjX3BhcmFtX2ZldGNoX2Zyb21faW5uZXJ0dWJlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9taXhlZF9kaXJlY3Rpb25fZm9ybWF0dGVkX3N0cmluZ3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX21vZGVybl9za2lwX2J1dHRvbl9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX213ZWJfYXVkaW9fdHJhY2tfcGlja2VyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0c1x1MDAzZHRydWVcdTAwMjZlbmFibGVfbmV3X3BhaWRfcHJvZHVjdF9wbGFjZW1lbnRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX29wZW5faW5fbmV3X3RhYl9pY29uX2Zvcl9zaG9ydF9kcl9mb3JfZGVza3RvcF9zZWFyY2hcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX291dF9vZl9zdG9ja190ZXh0X2FsbF9zdXJmYWNlc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wYXVzZV9hZHNfb25feXR2X2h0bWw1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wbGF5ZXJfY2FwdGlvbnNfcGVyc2lzdGVuY2Vfc3RhdGVfbWFjaGluZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfcG9fZGVjb3JhdGlvbl9vZl9mb3JjZWRfdHJhY2tzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wb2xpY3lfYmFzZWRfaHFhX2ZpbHRlcl9pbl93YXRjaF9zZXJ2ZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Byb2dyZXNfY29tbWFuZHNfbHJfZmVlZHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Byb2dyZXNzX2NvbW1hbmRzX2VsX2RhaVx1MDAzZHRydWVcdTAwMjZlbmFibGVfcHJvZ3Jlc3NfY29tbWFuZHNfbHJfc2hvcnRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wdWJsaXNoaW5nX3JlZ2lvbl9wYXJhbV9pbl9zdXNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3B2X3NjcmVlbl9tb2Rlcm5fdGV4dFx1MDAzZHRydWVcdTAwMjZlbmFibGVfcnByX3Rva2VuX29uX2x0bF9sb29rdXBcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NjcmVlbl9tYW5hZ2VyX2xheWVyX3NlcGFyYXRpb25cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9jb21wYW5pb25faDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9kYWlfaDVfbWlkcm9sbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX2g1X2VuZGVtaWNfbWlkX3Bvc3Rfcm9sbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX29uX2g1X3VucGx1Z2dlZF92b2RfbWlkcm9sbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX3Nob3J0c19wbGF5ZXJfYnl0ZXNfaDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NlcnZlcl9kcml2ZW5fYWJyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZXJ2ZXJfZHJpdmVuX2Ficl9mb3JfYmFja2dyb3VuZGFibGVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NlcnZlcl9kcml2ZW5fYWJyX3VybF9nZW5lcmF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZXJ2ZXJfZHJpdmVuX3JlYWRhaGVhZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2tpcF9hZF9ndWlkYW5jZV9wcm9tcHRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NraXBfdG9fbmV4dF9tZXNzYWdpbmdcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NraXBwYWJsZV9hZHNfZm9yX3VucGx1Z2dlZF9hZF9wb2RcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NtYXJ0X3NraXBfcGxheWVyX2NvbnRyb2xzX3Nob3duX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfc21hcnRfc2tpcF9wbGF5ZXJfY29udHJvbHNfc2hvd25fb25fd2ViX2luY3JlYXNlZF90cmlnZ2VyaW5nX3NlbnNpdGl2aXR5XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zbWFydF9za2lwX3NwZWVkbWFzdGVyX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfc21lYXJpbmdfZXhwYW5zaW9uX2RhaVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc3BsaXRfc2NyZWVuX2FkX2Jhc2VsaW5lX2V4cGVyaWVuY2VfZW5kZW1pY19saXZlX2g1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zdWJmcmFnbWVudGVkX2NhcHRpb25fZmlsdGVyaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zdXBleF9td2ViX2RlbW9fd2ViZmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3RvX2NhbGxfcGxheXJlYWR5X2JhY2tlbmRfZGlyZWN0bHlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3VuaWZpZWRfYWN0aW9uX2VuZGNhcF9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Zlbm9tX25vdGlmaWNhdGlvbl9jYWNoZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdmlkZW9fZGlzcGxheV9jb21wYWN0X2J1dHRvbl9ncm91cF9mb3JfZGVza3RvcF9zZWFyY2hcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3ZvaWNlX2Jvb3N0X2ZlYXR1cmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3ZwOV9hcHBsZXR2NV9vbl9zZXJ2ZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9kZWxoaV9pY29uc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX2hvbWVfdG9wX2xhbmRzY2FwZV9pbWFnZV9sYXlvdXRfbGV2ZWxfY2xpY2tcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9tZWRpYV9zZXNzaW9uX21ldGFkYXRhX2ZpeFx1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX3ByZW1pdW1fdmFyaXNwZWVkX3Vwc2VsbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX3Nob3J0c19hdWRpb190cmFja1x1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX3RpZXJlZF9nZWxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dpel9xdWV1ZV9lZmZlY3RfYW5kX29uX2luaXRfaW5pdGlhbF9ydW5zXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV95dF9hdGFfaWZyYW1lX2F1dGh1c2VyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV95dHZfY3NkYWlfdnA5XHUwMDNkdHJ1ZVx1MDAyNmVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfYWxsb3dlZF92aWRlb19pZHNcdTAwM2RbT0psd0lkb0Z6OUEsIEFyS2JBeDFLLTJVLCBtX2RoTVN2VUNJYywgQzFEaHBKMDdadUUsIE5xMndZbFdGdWNnLCBKQzdmM0VVRGFxdywgdnIzWHlWQ1I0VDAsIGdDTmVEV0NJMHZvLCBrQlR1ZG00Z2VNcywgRnhzZlZYNkIxTWssIHlsWUpTQlVnYU1BLCBWV2hRNnhzcG5TYywgUkhVYXVNY1lsWDAsIGNiMTJLbU1NREpBLCBXSnhFal9ocnBTZywgZXVoWS10bWc5eDgsIFRsSVZJMkVXN1IwLCBNSU5mdk9YNEJ6SSwgeUhtUFd6a2hjWjgsIHAzdzF2TzlYdjI0LCBWbGFDbnAxZnhJOCwgLU9mQTA0QkQ0R0EsIDFvZFkzSVlzTm5vLCB3aVRUclZxUlZEdywgRGZtMnJCLW5ROVksIFFtMUZ0ejhsVm5JLCA5aXRBeHFfU0dETSwgeUZJM3dwWHk0ekEsIFB5NUpZWlhKdnpvLCBiNHRFNWFLaHRsZywgNUpEeGpzQVZhR2ssIGVVbWZHUGF6dUVNLCBXOG5UaHE2MlZiNCwgVkxqdlMzdWZsWGMsIEJmZExLdkpCTV9jLCB3ZUxYZHdWalN4cywgMkphLXVQT2t6N0ksIEE5UUJWRkVZeE9RLCBrLVpGUWtrSFVmYywgd3V1MEQyMEFacUksIF9IdmlTeUM3elNVLCBfX3hPel9RM3FSNCwgdzJzQjg3akxFMUksIDhyVFRFTWRNaDhRLCAtazZtcGdteGVyVSwgOTdja25ySnlMV2csIDJGSXRWeXhMTk5jLCBvdG54ZmNzR0UtWSwgczl4TDFEcEJzZlEsIHdmQUdCVmdVcnJvLCBuWEg2VHhRLXNpOCwgV2lJMVhnX25FdTgsIDNmbGFzR1ZVckNBLCBlRFlfSGU5MmxjVSwgYTQ3Y2tYS1pqeEksIEk2V1JYZUtaSzY0LCBUOUo1RHFQMkRLdywgS3RrX0kwcFVwRzgsIGVRMmN6R3FPQ1BnLCBoTG1VNDlobVo0YywgN2Y3TWdhTUU3U2MsIFFCNUJOZEJGdWpFLCBBR2h0TVVfZmk3MCwgcDJSYVFVUlJBd0EsIG16X19FTVlwV1B3LCA2amhMdVNRVkl4VSwgckM4M3ZfdXVJcW8sIDZEYUdkSlJfZUxnLCBjbTQzdVhqZnZaWSwgWTFKc1BwbTJibVEsIHowOTdqUHlLZWVvLCBUWVZaV1VUamt4MCwgVkhhQXZlbmZURGssIHR2OU9VXzVRMHBRLCA2b0tDdnptNkhtZywgQkVGVUVSaFQwbjAsIHVUTi1ldTAtT1hFLCBoYmFwcmhSN3pUbywgMkNWMFYtb01ORk0sIHU4ZFNPS29OSnAwLCBIOE1xcXdtRnN4WSwgSXNra21OUEpkVWssIFg5SF9FenBER1hRXVx1MDAyNmVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfbWF4X3dpbmRvd19zZWNvbmRzXHUwMDNkNjBcdTAwMjZleHBhbmRfbWVkaWF0ZWtfZGVueWxpc3RfdG9fYWxsX2xpdmVfdnA5X2luX2JhY2tlbmRfZXhwZXJpbWVudFx1MDAzZFtdXHUwMDI2ZXhwb3J0X25ldHdvcmtsZXNzX29wdGlvbnNcdTAwM2R0cnVlXHUwMDI2ZXhwb3J0X3BsYXllcl92ZXJzaW9uX3RvX3l0Y29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmZpbGxfYWRzX3VzdHJlYW1lcl9jb25maWdcdTAwM2R0cnVlXHUwMDI2ZmlsbF9saXZlX3JlcXVlc3RfY29uZmlnX2luX3VzdHJlYW1lcl9jb25maWdcdTAwM2R0cnVlXHUwMDI2ZmlsbF9zaW5nbGVfdmlkZW9fd2l0aF9ub3RpZnlfdG9fbGFzclx1MDAzZHRydWVcdTAwMjZmaWx0ZXJfdmJfd2l0aG91dF9ub25fdmJfZXF1aXZhbGVudHNcdTAwM2R0cnVlXHUwMDI2ZmlsdGVyX3ZwOV9mb3JfbGl2ZV9kYWlcdTAwM2R0cnVlXHUwMDI2Zml4X2FkX21pbmlwbGF5ZXJfY29udHJvbHNfcmVuZGVyaW5nXHUwMDNkdHJ1ZVx1MDAyNmZpeF9hZHNfdHJhY2tpbmdfZm9yX3N3Zl9jb25maWdfZGVwcmVjYXRpb25fbXdlYlx1MDAzZHRydWVcdTAwMjZmaXhfaDVfdG9nZ2xlX2J1dHRvbl9hMTF5XHUwMDNkdHJ1ZVx1MDAyNmZpeF9zdXJ2ZXlfY29sb3JfY29udHJhc3Rfb25fZGVzdG9wXHUwMDNkdHJ1ZVx1MDAyNmZyZXNjYV9wb2xsaW5nX2RlbGF5X292ZXJyaWRlXHUwMDNkMFx1MDAyNmdhYl9yZXR1cm5fc2Ficl9zc2RhaV9jb25maWdcdTAwM2R0cnVlXHUwMDI2Z2VsX21pbl9iYXRjaF9zaXplXHUwMDNkM1x1MDAyNmdlbF9xdWV1ZV90aW1lb3V0X21heF9tc1x1MDAzZDYwMDAwXHUwMDI2Z3ZpX2NoYW5uZWxfY2xpZW50X3NjcmVlblx1MDAzZHRydWVcdTAwMjZoNV9jb21wYW5pb25fZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3NcdTAwM2R0cnVlXHUwMDI2aDVfZW5hYmxlX2FkX21ic1x1MDAzZHRydWVcdTAwMjZoNV9pbnBsYXllcl9lbmFibGVfYWRjcG5fbWFjcm9fc3Vic3RpdHV0aW9uX2Zvcl9jbGlja19waW5nc1x1MDAzZHRydWVcdTAwMjZoNV9yZXNldF9jYWNoZV9hbmRfZmlsdGVyX2JlZm9yZV91cGRhdGVfbWFzdGhlYWRcdTAwM2R0cnVlXHUwMDI2aDVfemVyb19kdXJhdGlvbl9jdWVfcmFuZ2VfZm9yX2RpYnNcdTAwM2R0cnVlXHUwMDI2aGZyX2Ryb3BwZWRfZnJhbWVyYXRlX2ZhbGxiYWNrX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZoaWdoX2Njdl9jbGllbnRfc2lkZV9jYWNoaW5nX2g1XHUwMDNkdHJ1ZVx1MDAyNmhsc191c2VfbmV3X2NvZGVjc19zdHJpbmdfYXBpXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FkX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfYWRhcHRhdGlvbl9zdGVwX2NvdW50XHUwMDNkMFx1MDAyNmh0bWw1X2Fkc19wcmVyb2xsX2xvY2tfdGltZW91dF9kZWxheV9tc1x1MDAzZDE1MDAwXHUwMDI2aHRtbDVfYWxsb3dfbXVsdGl2aWV3X3RpbGVfcHJlbG9hZFx1MDAzZHRydWVcdTAwMjZodG1sNV9hbGxvd19wcmVsb2FkaW5nX3dpdGhfaWRsZV9vbmx5X25ldHdvcmtfZm9yX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYWxsb3dfdmlkZW9fa2V5ZnJhbWVfd2l0aG91dF9hdWRpb1x1MDAzZHRydWVcdTAwMjZodG1sNV9hcHBseV9jb25zdHJhaW50c19pbl9jbGllbnRfZm9yX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXBwbHlfbWluX2ZhaWx1cmVzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FwcGx5X3N0YXJ0X3RpbWVfd2l0aGluX2Fkc19mb3Jfc3NkYWlfdHJhbnNpdGlvbnNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXRyX2Rpc2FibGVfZm9yY2VfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXR0X3BsYXliYWNrX3RpbWVvdXRfbXNcdTAwM2QzMDAwMFx1MDAyNmh0bWw1X2F0dGFjaF9udW1fcmFuZG9tX2J5dGVzX3RvX2JhbmRhaWRcdTAwM2QwXHUwMDI2aHRtbDVfYXR0YWNoX3BvX3Rva2VuX3RvX2JhbmRhaWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXV0b25hdl9jYXBfaWRsZV9zZWNzXHUwMDNkMFx1MDAyNmh0bWw1X2F1dG9uYXZfcXVhbGl0eV9jYXBcdTAwM2Q3MjBcdTAwMjZodG1sNV9hdXRvcGxheV9kZWZhdWx0X3F1YWxpdHlfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2F1eGlsaWFyeV9lc3RpbWF0ZV93ZWlnaHRcdTAwM2QwLjBcdTAwMjZodG1sNV9hdjFfb3JkaW5hbF9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfYmFuZGFpZF9hdHRhY2hfY29udGVudF9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9ibG9ja19waXBfc2FmYXJpX2RlbGF5XHUwMDNkMFx1MDAyNmh0bWw1X2J5cGFzc19jb250ZW50aW9uX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9ieXRlcmF0ZV9zb2Z0X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9jaGVja19mb3JfaWRsZV9uZXR3b3JrX2ludGVydmFsX21zXHUwMDNkMTAwMFx1MDAyNmh0bWw1X2NoaXBzZXRfc29mdF9jYXBcdTAwM2Q4MTkyXHUwMDI2aHRtbDVfY2xhbXBfaW52YWxpZF9zZWVrX3RvX21pbl9zZWVrYWJsZV90aW1lXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2NvbnN1bWVfYWxsX2J1ZmZlcmVkX2J5dGVzX29uZV9wb2xsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2NvbnRpbnVvdXNfZ29vZHB1dF9wcm9iZV9pbnRlcnZhbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9kNmRlNF9jbG91ZF9wcm9qZWN0X251bWJlclx1MDAzZDg2ODYxODY3Njk1Mlx1MDAyNmh0bWw1X2RlYnVnX2RhdGFfbG9nX3Byb2JhYmlsaXR5XHUwMDNkMC4wXHUwMDI2aHRtbDVfZGVjb2RlX3RvX3RleHR1cmVfY2FwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RlZmF1bHRfYWRfZ2Fpblx1MDAzZDAuNVx1MDAyNmh0bWw1X2RlZmF1bHRfYXYxX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZodG1sNV9kZWZhdWx0X3F1YWxpdHlfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2RlZmVyX2ZldGNoX2F0dF9tc1x1MDAzZDBcdTAwMjZodG1sNV9kZWxheWVkX3JldHJ5X2NvdW50XHUwMDNkMVx1MDAyNmh0bWw1X2RlbGF5ZWRfcmV0cnlfZGVsYXlfbXNcdTAwM2Q1MDAwXHUwMDI2aHRtbDVfZGVwcmVjYXRlX2FkYXB0aXZlX2Zvcm1hdHNfc3RyaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RlcHJlY2F0ZV9hZHNlcnZpY2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVwcmVjYXRlX21hbmlmZXN0ZnVsX2ZhbGxiYWNrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RlcHJlY2F0ZV92aWRlb190YWdfcG9vbFx1MDAzZHRydWVcdTAwMjZodG1sNV9kZXNrdG9wX3ZyMTgwX2FsbG93X3Bhbm5pbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGZfZG93bmdyYWRlX3RocmVzaFx1MDAzZDAuNlx1MDAyNmh0bWw1X2Rpc2FibGVfYmFuZHdpZHRoX2NvZmFjdG9yc19mb3Jfc2Ficl9saXZlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfY2xpZW50X2F1dG9uYXZfY2FwX2Zvcl9vbmVzaWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfbm9uX2NvbnRpZ3VvdXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9wZWFrX3NoYXZlX2Zvcl9vbmVzaWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV91c3RyZWFtZXJfY29uc3RyYWludF9mb3Jfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3dlYl9zYWZhcmlfZGFpXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc3BsYXllZF9mcmFtZV9yYXRlX2Rvd25ncmFkZV90aHJlc2hvbGRcdTAwM2Q0NVx1MDAyNmh0bWw1X2RybV9ieXRlcmF0ZV9zb2Z0X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9kcm1fY2hlY2tfYWxsX2tleV9lcnJvcl9zdGF0ZXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZHJtX2NwaV9saWNlbnNlX2tleVx1MDAzZHRydWVcdTAwMjZodG1sNV9kcm1fbGl2ZV9ieXRlcmF0ZV9zb2Z0X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9lYXJseV9tZWRpYV9mb3Jfc2hhcnBlcl9zaG9ydHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2FjM1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfYXVkaW9fdHJhY2tfc3RpY2tpbmVzc1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfYXVkaW9fdHJhY2tfc3RpY2tpbmVzc19waGFzZV90d29cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2NhcHRpb25fY2hhbmdlc19mb3JfbW9zYWljXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9jb21wb3NpdGVfZW1iYXJnb1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZDZkZTRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2Q2ZGU0X2NvbGRfc3RhcnRfYW5kX2Vycm9yXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kNmRlNF9pZGxlX3ByaW9yaXR5X2pvYlx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZHJjXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kcmNfdG9nZ2xlX2FwaVx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZWFjM1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZW1iZWRkZWRfcGxheWVyX3Zpc2liaWxpdHlfc2lnbmFsc1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfb2R1Y1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2Ficl9mb3JtYXRfc2VsZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX2Zyb21fd2F0Y2hfc2VydmVyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX2hvc3RfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfb25feXRfZW1iZWRzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX3ZvZF9zdHJlYW1pbmdfeGhyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zZXJ2ZXJfZHJpdmVuX3JlcXVlc3RfY2FuY2VsbGF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zcHNfcmV0cnlfYmFja29mZl9tZXRhZGF0YV9yZXF1ZXN0c1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc3NkYWlfdHJhbnNpdGlvbl93aXRoX29ubHlfZW50ZXJfY3VlcmFuZ2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3RyaWdnZXJpbmdfY3VlcG9pbnRfZm9yX3Nsb3RcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3R2b3NfZGFzaFx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHZvc19lbmNyeXB0ZWRfdnA5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuY291cmFnZV9hcnJheV9jb2FsZXNjaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2ZpbGxfZGVmYXVsdF9tb3NhaWNfYXVkaW9fdHJhY2tfaWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZml4ZWRfbWVkaWFfZHVyYXRpb25fZm9yX3JlcXVlc3RcdTAwM2QwXHUwMDI2aHRtbDVfZmx1c2hfaW5kZXhfb25fdXBkYXRlZF90aW1lc3RhbXBfb2Zmc2V0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2ZvcmNlX3NhYnJfZnJvbV93YXRjaF9zZXJ2ZXJfZm9yX2Rmc3NcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZm9yd2FyZF9jbGlja190cmFja2luZ19wYXJhbXNfb25fcmVsb2FkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfYWRfYXV0b3BsYXlfb25fdmlkZW9fdG9fYWRfb25seVx1MDAzZHRydWVcdTAwMjZodG1sNV9nYXBsZXNzX2VuZGVkX3RyYW5zaXRpb25fYnVmZmVyX21zXHUwMDNkMjAwXHUwMDI2aHRtbDVfZ2FwbGVzc19oYW5kb2ZmX2Nsb3NlX2VuZF9sb25nX3JlYnVmZmVyX2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9nYXBsZXNzX2hhbmRvZmZfY2xvc2VfZW5kX2xvbmdfcmVidWZmZXJfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfZ2FwbGVzc19sb29wX3NlZWtfb2Zmc2V0X2luX21pbGxpXHUwMDNkMFx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zZWVrX2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9nYXBsZXNzX3Nsb3dfc2Vla19kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nYXBsZXNzX3Nsb3dfc3RhcnRfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfZ2VuZXJhdGVfY29udGVudF9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9nZW5lcmF0ZV9zZXNzaW9uX3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dsX2Zwc190aHJlc2hvbGRcdTAwM2QwXHUwMDI2aHRtbDVfaGFyZF9jYXBfbWF4X3ZlcnRpY2FsX3Jlc29sdXRpb25fZm9yX3Nob3J0c1x1MDAzZDBcdTAwMjZodG1sNV9oZGNwX3Byb2Jpbmdfc3RyZWFtX3VybFx1MDAzZFx1MDAyNmh0bWw1X2hlYWRfbWlzc19zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfaGZyX3F1YWxpdHlfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2hpZ2hfcmVzX2xvZ2dpbmdfcGVyY2VudFx1MDAzZDAuMDFcdTAwMjZodG1sNV9oaWdoX3Jlc19zZWVrX2xvZ2dpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaG9wZWxlc3Nfc2Vjc1x1MDAzZDBcdTAwMjZodG1sNV9odWxpX3NzZGFpX3VzZV9wbGF5YmFja19zdGF0ZVx1MDAzZHRydWVcdTAwMjZodG1sNV9pZGxlX3JhdGVfbGltaXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfaWdub3JlX3BhcnRpYWxfc2VnbWVudF9mcm9tX2xpdmVfcmVhZGFoZWFkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lnbm9yZV9zYWJyc2Vla19kdXJpbmdfYWRza2lwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lubmVydHViZV9oZWFydGJlYXRzX2Zvcl9mYWlycGxheVx1MDAzZHRydWVcdTAwMjZodG1sNV9pbm5lcnR1YmVfaGVhcnRiZWF0c19mb3Jfd2lkZXZpbmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfanVtYm9fbW9iaWxlX3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RhcmdldFx1MDAzZDMuMFx1MDAyNmh0bWw1X2p1bWJvX3VsbF9ub25zdHJlYW1pbmdfbWZmYV9tc1x1MDAzZDQwMDBcdTAwMjZodG1sNV9qdW1ib191bGxfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0XHUwMDNkMS4zXHUwMDI2aHRtbDVfa2FidWtpX2RybV9saXZlXzUxX2RlZmF1bHRfb2ZmXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xpY2Vuc2VfY29uc3RyYWludF9kZWxheVx1MDAzZDUwMDBcdTAwMjZodG1sNV9saXZlX2Ficl9oZWFkX21pc3NfZnJhY3Rpb25cdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlX2Ficl9yZXByZWRpY3RfZnJhY3Rpb25cdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlX2NodW5rX3JlYWRhaGVhZF9wcm94aW1hX292ZXJyaWRlXHUwMDNkMFx1MDAyNmh0bWw1X2xpdmVfbG93X2xhdGVuY3lfYmFuZHdpZHRoX3dpbmRvd1x1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfbm9ybWFsX2xhdGVuY3lfYmFuZHdpZHRoX3dpbmRvd1x1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfbGl2ZV91bHRyYV9sb3dfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93XHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZW5lc3NfZHJpZnRfY2h1bmtfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2aHRtbDVfbGl2ZW5lc3NfZHJpZnRfcHJveGltYV9vdmVycmlkZVx1MDAzZDBcdTAwMjZodG1sNV9sb2dfYXVkaW9fYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xvZ19leHBlcmltZW50X2lkX2Zyb21fcGxheWVyX3Jlc3BvbnNlX3RvX2N0bXBcdTAwM2RcdTAwMjZodG1sNV9sb2dfZmlyc3Rfc3NkYWlfcmVxdWVzdHNfa2lsbHN3aXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9sb2dfcmVidWZmZXJfZXZlbnRzXHUwMDNkNVx1MDAyNmh0bWw1X2xvZ19zYWJyX21hbGZvcm1lZF9jb25maWdfcHJvdG9fc2hhcmVkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xvZ190cmlnZ2VyX2V2ZW50c193aXRoX2RlYnVnX2RhdGFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX3Zzc19leHRyYV9scl9jcGFyYW1zX2ZyZXFcdTAwM2RcdTAwMjZodG1sNV9sb25nX3JlYnVmZmVyX2ppZ2dsZV9jbXRfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfbG9uZ19yZWJ1ZmZlcl90aHJlc2hvbGRfbXNcdTAwM2QzMDAwMFx1MDAyNmh0bWw1X21hbmlmZXN0bGVzc192cDlfb3RmXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X21heF9idWZmZXJfaGVhbHRoX2Zvcl9kb3duZ3JhZGVfcHJvcFx1MDAzZDAuMFx1MDAyNmh0bWw1X21heF9idWZmZXJfaGVhbHRoX2Zvcl9kb3duZ3JhZGVfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21heF9ieXRlcmF0ZVx1MDAzZDBcdTAwMjZodG1sNV9tYXhfZGlzY29udGludWl0eV9yZXdyaXRlX2NvdW50XHUwMDNkMFx1MDAyNmh0bWw1X21heF9kcmlmdF9wZXJfdHJhY2tfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21heF9oZWFkbV9mb3Jfc3RyZWFtaW5nX3hoclx1MDAzZDBcdTAwMjZodG1sNV9tYXhfbGl2ZV9kdnJfd2luZG93X3BsdXNfbWFyZ2luX3NlY3NcdTAwM2Q0NjgwMC4wXHUwMDI2aHRtbDVfbWF4X3F1YWxpdHlfc2VsX3VwZ3JhZGVcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X3JlZGlyZWN0X3Jlc3BvbnNlX2xlbmd0aFx1MDAzZDgxOTJcdTAwMjZodG1sNV9tYXhfc2VsZWN0YWJsZV9xdWFsaXR5X29yZGluYWxcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X3ZlcnRpY2FsX3Jlc29sdXRpb25cdTAwM2QwXHUwMDI2aHRtbDVfbWF4aW11bV9yZWFkYWhlYWRfc2Vjb25kc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21lZGlhX2Z1bGxzY3JlZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfbWVkaWFfdGltZV93ZWlnaHRfcHJvcFx1MDAzZDAuMFx1MDAyNmh0bWw1X21mY19tYXhfcXVldWVfbGVuZ3RoXHUwMDNkMVx1MDAyNmh0bWw1X21mY19taW5fYnVmZmVyX2hlYWx0aFx1MDAzZDBcdTAwMjZodG1sNV9tZmNfc2Vjc19sZWZ0X3RvX3N0YXJ0X3ByZWxvYWRcdTAwM2QwXHUwMDI2aHRtbDVfbWluX2ZhaWx1cmVzX3RvX2RlbGF5X3JldHJ5XHUwMDNkM1x1MDAyNmh0bWw1X21pbl9tZWRpYV9kdXJhdGlvbl9mb3JfYXBwZW5kX3Byb3BcdTAwM2QwLjBcdTAwMjZodG1sNV9taW5fbWVkaWFfZHVyYXRpb25fZm9yX2NhYnJfc2xpY2VcdTAwM2QwLjAxXHUwMDI2aHRtbDVfbWluX3BsYXliYWNrX2FkdmFuY2VfZm9yX3N0ZWFkeV9zdGF0ZV9zZWNzXHUwMDNkMFx1MDAyNmh0bWw1X21pbl9xdWFsaXR5X29yZGluYWxcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3JlYWRiZWhpbmRfY2FwX3NlY3NcdTAwM2Q2MFx1MDAyNmh0bWw1X21pbl9yZWFkYmVoaW5kX3NlY3NcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3NlY29uZHNfYmV0d2Vlbl9mb3JtYXRfc2VsZWN0aW9uc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21pbl9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9mb3JfbGl2ZV9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluX3N0YXJ0dXBfYnVmZmVyZWRfbWVkaWFfZHVyYXRpb25fc2Vjc1x1MDAzZDEuMlx1MDAyNmh0bWw1X21pbl9zdGFydHVwX2R1cmF0aW9uX2xpdmVfc2Vjc1x1MDAzZDAuMjVcdTAwMjZodG1sNV9taW5fdW5kZXJydW5fYnVmZmVyZWRfcHJlX3N0ZWFkeV9zdGF0ZV9tc1x1MDAzZDBcdTAwMjZodG1sNV9taW5fdXBncmFkZV9oZWFsdGhfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21pbmltdW1fcmVhZGFoZWFkX3NlY29uZHNcdTAwM2QwLjBcdTAwMjZodG1sNV9tb2NrX2NvbnRlbnRfYmluZGluZ19mb3Jfc2Vzc2lvbl90b2tlblx1MDAzZFx1MDAyNmh0bWw1X21vdmVfZGlzYWJsZV9haXJwbGF5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X25vX3BsYWNlaG9sZGVyX3JvbGxiYWNrc1x1MDAzZHRydWVcdTAwMjZodG1sNV9ub25fb25lc2llX2F0dGFjaF9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9vZmZsaW5lX2Rvd25sb2FkX3RpbWVvdXRfcmV0cnlfbGltaXRcdTAwM2Q0XHUwMDI2aHRtbDVfb2ZmbGluZV9mYWlsdXJlX3JldHJ5X2xpbWl0XHUwMDNkMlx1MDAyNmh0bWw1X29mZmxpbmVfcGxheWJhY2tfcG9zaXRpb25fc3luY1x1MDAzZHRydWVcdTAwMjZodG1sNV9vZmZsaW5lX3ByZXZlbnRfcmVkb3dubG9hZF9kb3dubG9hZGVkX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29uZXNpZV9hdWRpb19vbmx5X3BsYXliYWNrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29uZXNpZV9jaGVja190aW1lb3V0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29uZXNpZV9kZWZlcl9jb250ZW50X2xvYWRlcl9tc1x1MDAzZDBcdTAwMjZodG1sNV9vbmVzaWVfbGl2ZV90dGxfc2Vjc1x1MDAzZDhcdTAwMjZodG1sNV9vbmVzaWVfcHJld2FybV9pbnRlcnZhbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9vbmVzaWVfcHJld2FybV9tYXhfbGFjdF9tc1x1MDAzZDBcdTAwMjZodG1sNV9vbmVzaWVfcmVkaXJlY3Rvcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9zZW5kX3N0cmVhbWVyX2NvbnRleHRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb3ZlcnJpZGVfbWljcm9fZGlzY29udGludWl0aWVzX3RocmVzaG9sZF9tc1x1MDAzZC0xXHUwMDI2aHRtbDVfcGFjZWRfcG9sbF9taW5faGVhbHRoX21zXHUwMDNkMFx1MDAyNmh0bWw1X3BhY2VkX3BvbGxfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcGF1c2Vfb25fbm9uZm9yZWdyb3VuZF9wbGF0Zm9ybV9lcnJvcnNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGVha19zaGF2ZVx1MDAzZHRydWVcdTAwMjZodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3lcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGVyZm9ybWFuY2VfY2FwX2Zsb29yXHUwMDNkMzYwXHUwMDI2aHRtbDVfcGVyc2VydmVfYXYxX3BlcmZfY2FwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BpY3R1cmVfaW5fcGljdHVyZV9sb2dnaW5nX29ucmVzaXplX3JhdGlvXHUwMDNkMC4wXHUwMDI2aHRtbDVfcGxhdGZvcm1fbWF4X2J1ZmZlcl9oZWFsdGhfb3ZlcnNlbmRfZHVyYXRpb25fc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X3BsYXRmb3JtX21pbmltdW1fcmVhZGFoZWFkX3NlY29uZHNcdTAwM2QwLjBcdTAwMjZodG1sNV9wbGF0Zm9ybV93aGl0ZWxpc3RlZF9mb3JfZnJhbWVfYWNjdXJhdGVfc2Vla3NcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGxheWVyX2F0dF9pbml0aWFsX2RlbGF5X21zXHUwMDNkMzAwMFx1MDAyNmh0bWw1X3BsYXllcl9hdHRfcmV0cnlfZGVsYXlfbXNcdTAwM2QxNTAwXHUwMDI2aHRtbDVfcGxheWVyX2F1dG9uYXZfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9wbGF5ZXJfZXM2XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BsYXllcl9taW5fYnVpbGRfY2xcdTAwM2QtMVx1MDAyNmh0bWw1X3BsYXllcl9wcmVsb2FkX2FkX2ZpeFx1MDAzZHRydWVcdTAwMjZodG1sNV9wb3N0X2ludGVycnVwdF9yZWFkYWhlYWRcdTAwM2QyMFx1MDAyNmh0bWw1X3ByZWZlcl9sYW5ndWFnZV9vdmVyX2NvZGVjXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ByZWZlcl9zZXJ2ZXJfYndlM1x1MDAzZHRydWVcdTAwMjZodG1sNV9wcmVsb2FkX2JlZm9yZV9pbml0aWFsX3NlZWtfd2l0aF9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ByZWxvYWRfd2FpdF90aW1lX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9wcmV2ZW50X21vYmlsZV9iYWNrZ3JvdW5kX3BsYXlfb25fZXZlbnRfc2hhcmVkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Byb2JlX3ByaW1hcnlfZGVsYXlfYmFzZV9tc1x1MDAzZDBcdTAwMjZodG1sNV9wcm9jZXNzX2FsbF9lbmNyeXB0ZWRfZXZlbnRzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3FvZV9wcm90b19tb2NrX2xlbmd0aFx1MDAzZDBcdTAwMjZodG1sNV9xdWVyeV9zd19zZWN1cmVfY3J5cHRvX2Zvcl9hbmRyb2lkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JhbmRvbV9wbGF5YmFja19jYXBcdTAwM2QwXHUwMDI2aHRtbDVfcmVjb3JkX2lzX29mZmxpbmVfb25fcGxheWJhY2tfYXR0ZW1wdF9zdGFydFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZWNvcmRfdW1wX3RpbWluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZWxvYWRfYnlfa2FidWtpX2FwcFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZW1vdmVfY29tbWFuZF90cmlnZ2VyZWRfY29tcGFuaW9uc1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZW1vdmVfbm90X3NlcnZhYmxlX2NoZWNrX2tpbGxzd2l0Y2hcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVwb3J0X2ZhdGFsX2RybV9yZXN0cmljdGVkX2Vycm9yX2tpbGxzd2l0Y2hcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVwb3J0X3Nsb3dfYWRzX2FzX2Vycm9yXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlcHJlZGljdF9pbnRlcnZhbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9yZXF1ZXN0X29ubHlfaGRyX29yX3Nkcl9rZXlzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlcXVlc3Rfc2l6ZV9tYXhfa2JcdTAwM2QwXHUwMDI2aHRtbDVfcmVxdWVzdF9zaXplX21pbl9rYlx1MDAzZDBcdTAwMjZodG1sNV9yZXNlZWtfYWZ0ZXJfdGltZV9qdW1wX2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXNlZWtfYWZ0ZXJfdGltZV9qdW1wX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Jlc2V0X2JhY2tvZmZfb25fdXNlcl9zZWVrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Jlc291cmNlX2JhZF9zdGF0dXNfZGVsYXlfc2NhbGluZ1x1MDAzZDEuNVx1MDAyNmh0bWw1X3Jlc3RyaWN0X3N0cmVhbWluZ194aHJfb25fc3FsZXNzX3JlcXVlc3RzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X2Rvd25sb2Fkc19mb3JfZXhwaXJhdGlvblx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXRyeV9vbl9kcm1fa2V5X2Vycm9yXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X29uX2RybV91bmF2YWlsYWJsZVx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXRyeV9xdW90YV9leGNlZWRlZF92aWFfc2Vla1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZXR1cm5fcGxheWJhY2tfaWZfYWxyZWFkeV9wcmVsb2FkZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9lbmFibGVfc2VydmVyX3h0YWdfc2VsZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfZmV0Y2hfb25faWRsZV9uZXR3b3JrX3ByZWxvYWRlZF9wbGF5ZXJzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfZm9yY2VfbWF4X25ldHdvcmtfaW50ZXJydXB0aW9uX2R1cmF0aW9uX21zXHUwMDNkMFx1MDAyNmh0bWw1X3NhYnJfbGl2ZV9sb3dfbGF0ZW5jeV9zdHJlYW1pbmdfeGhyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbGl2ZV9ub3JtYWxfbGF0ZW5jeV9zdHJlYW1pbmdfeGhyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbGl2ZV90aW1pbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9saXZlX3VsdHJhX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9sb2dfc2VydmVyX3h0YWdfc2VsZWN0aW9uX29uZXNpZV9taXNtYXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX21pbl9tZWRpYV9ieXRlc19mYWN0b3JfdG9fYXBwZW5kX2Zvcl9zdHJlYW1cdTAwM2QwLjBcdTAwMjZodG1sNV9zYWJyX25vbl9zdHJlYW1pbmdfeGhyX3JlcXVlc3RfY2FuY2VsbGF0aW9uX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl90aW1lb3V0X3JldHJ5X2xpbWl0XHUwMDNkMFx1MDAyNmh0bWw1X3NhYnJfcmVwb3J0X3BhcnRpYWxfc2VnbWVudF9lc3RpbWF0ZWRfZHVyYXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9yZXBvcnRfcmVxdWVzdF9jYW5jZWxsYXRpb25faW5mb1x1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3JlcXVlc3RfbGltaXRfcGVyX3BlcmlvZFx1MDAzZDIwXHUwMDI2aHRtbDVfc2Ficl9yZXF1ZXN0X29uX2NvbnN0cmFpbnRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9zZWVrX25vX3NoaWZ0X3RvbGVyYW5jZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3NraXBfY2xpZW50X2F1ZGlvX2luaXRfc2VsZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfc3VjY2Vzc2Z1bF9wcm9iZV90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X3NhYnJfdWdjX3ZvZF93ZWJfZW1iZWRkZWRfY2xpZW50X2RlZmF1bHRfYmFuZHdpZHRoX29uX2lwaG9uZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3VudXNlZF9ibG9hdF9zaXplX2J5dGVzXHUwMDNkMFx1MDAyNmh0bWw1X3NhbXN1bmdfa2FudF9saW1pdF9tYXhfYml0cmF0ZVx1MDAzZDBcdTAwMjZodG1sNV9zZWVrX2ppZ2dsZV9jbXRfZGVsYXlfbXNcdTAwM2Q4MDAwXHUwMDI2aHRtbDVfc2Vla19uZXdfZWxlbV9kZWxheV9tc1x1MDAzZDEyMDAwXHUwMDI2aHRtbDVfc2Vla19uZXdfZWxlbV9zaG9ydHNfZGVsYXlfbXNcdTAwM2QyMDAwXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfZWxlbWVudF9zaG9ydHNfcmV1c2VfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlZWtfbmV3X21lZGlhX2VsZW1lbnRfc2hvcnRzX3JldXNlX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3NlZWtfbmV3X21lZGlhX3NvdXJjZV9zaG9ydHNfcmV1c2VfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlZWtfbmV3X21lZGlhX3NvdXJjZV9zaG9ydHNfcmV1c2VfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Vla19zZXRfY210X2RlbGF5X21zXHUwMDNkMjAwMFx1MDAyNmh0bWw1X3NlZWtfdGltZW91dF9kZWxheV9tc1x1MDAzZDIwMDAwXHUwMDI2aHRtbDVfc2VuZF9jdWVwb2ludF9pZF9pbl9hZF9icmVha19yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlbmRfc2VyaWFsaXplZF9vbmVfdGltZV9xb2VfY29udGV4dF9kYXRhXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlcnZlX3N0YXJ0X3NlY29uZHNfc2Vla19mb3JfcG9zdF9saXZlX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2VydmVyX3N0aXRjaGVkX2RhaV9kZWNvcmF0ZWRfdXJsX3JldHJ5X2xpbWl0XHUwMDNkNVx1MDAyNmh0bWw1X3Nlc3Npb25fcG9fdG9rZW5faW50ZXJ2YWxfdGltZV9tc1x1MDAzZDkwMDAwMFx1MDAyNmh0bWw1X3NldF92aWRlb19pZF9hc19leHBlY3RlZF9jb250ZW50X2JpbmRpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3NfYWRfc2xvd19zdGFydF9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3NfYWRfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19uZXh0X2J1ZmZlcl9pbl9zZWNvbmRzXHUwMDNkMFx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX25vX2dsbGF0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX3Nsb3dfc3RhcnRfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2hvd19kcmNfdG9nZ2xlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NpbXBsaWZpZWRfYmFja3VwX3RpbWVvdXRfc2Ficl9saXZlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NraXBfZW1wdHlfcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2tpcF9zbG93X2FkX2RlbGF5X21zXHUwMDNkMTUwMDBcdTAwMjZodG1sNV9zbG93X3N0YXJ0X25vX21lZGlhX3NvdXJjZV9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zbG93X3N0YXJ0X3RpbWVvdXRfZGVsYXlfbXNcdTAwM2QyMDAwMFx1MDAyNmh0bWw1X3NzZGFpX2VuYWJsZV9tZWRpYV9lbmRfY3VlX3JhbmdlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NzZGFpX2ZhaWx1cmVfcmV0cnlfbGltaXRcdTAwM2QwXHUwMDI2aHRtbDVfc3NkYWlfbG9nX21pc3NpbmdfYWRfY29uZmlnX3JlYXNvblx1MDAzZHRydWVcdTAwMjZodG1sNV9zdGFsbF9mYWN0b3JcdTAwM2QwLjBcdTAwMjZodG1sNV9zdGF0ZWZ1bF9hdWRpb19ub3JtYWxpemF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3N0aWNreV9kdXJhdGlvbl9tb3NcdTAwM2QwXHUwMDI2aHRtbDVfc3RvcmVfeGhyX2hlYWRlcnNfcmVhZGFibGVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3RyZWFtaW5nX3Jlc2lsaWVuY2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3RyZWFtaW5nX3hocl90aW1lX2Jhc2VkX2NvbnNvbGlkYXRpb25fbXNcdTAwM2QtMVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX2xvYWRfc3BlZWRfY2hlY2tfaW50ZXJ2YWxcdTAwM2QwLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9taW5fYnVmZmVyX2hlYWx0aF9zZWNzXHUwMDNkMC4yNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9idWZmZXJfaGVhbHRoX3NlY3Nfb25fdGltZW91dFx1MDAzZDAuMVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9sb2FkX3NwZWVkXHUwMDNkMS41XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfc2Vla19sYXRlbmN5X2Z1ZGdlXHUwMDNkMC41XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0X2J1ZmZlcl9oZWFsdGhfc2Vjc1x1MDAzZDAuNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RpbWVvdXRfc2Vjc1x1MDAzZDIuMFx1MDAyNmh0bWw1X3RyYWNrX292ZXJzaG9vdFx1MDAzZHRydWVcdTAwMjZodG1sNV90cmFuc2Zlcl9wcm9jZXNzaW5nX2xvZ3NfaW50ZXJ2YWxcdTAwM2QxMDAwXHUwMDI2aHRtbDVfdHJpZ2dlcl9sb2FkZXJfd2hlbl9pZGxlX25ldHdvcmtcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdWdjX2xpdmVfYXVkaW9fNTFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdWdjX3ZvZF9hdWRpb181MVx1MDAzZHRydWVcdTAwMjZodG1sNV91bnJlcG9ydGVkX3NlZWtfcmVzZWVrX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3VwZGF0ZV90aW1lX29uX3NlZWtlZFx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfZGF0ZV9ub3dfZm9yX2xvY2FsX3N0b3JhZ2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX2luaXRfc2VsZWN0ZWRfYXVkaW9cdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX25vbl9hY3RpdmVfYnJvYWRjYXN0X2Zvcl9wb3N0X2xpdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3Bvc3RfZm9yX21lZGlhXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV9zaGFyZWRfb3dsX2luc3RhbmNlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV91bXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3VtcF9yZXF1ZXN0X3NsaWNlclx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdW1wX3RpbWluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdmlkZW9fcXVhbGl0eV9jYXBfZm9yX3VzdHJlYW1lcl9jb25zdHJhaW50XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV92aWRlb190cmFuc2l0aW9uX2VuZHBvaW50X2hlYXJ0YmVhdFx1MDAzZHRydWVcdTAwMjZodG1sNV92aWRlb190YmRfbWluX2tiXHUwMDNkMFx1MDAyNmh0bWw1X3ZpZXdwb3J0X3VuZGVyc2VuZF9tYXhpbXVtXHUwMDNkMC4wXHUwMDI2aHRtbDVfdm9sdW1lX3NsaWRlcl90b29sdGlwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkc1x1MDAzZFtdXHUwMDI2aHRtbDVfd2ViX3BvX3JlcXVlc3Rfa2V5XHUwMDNkXHUwMDI2aHRtbDVfd2ViX3BvX3Rva2VuX2Rpc2FibGVfY2FjaGluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV93ZWJwb19pZGxlX3ByaW9yaXR5X2pvYlx1MDAzZHRydWVcdTAwMjZodG1sNV93ZWJwb19rYWlvc19kZWZlcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X3dvZmZsZV9yZXN1bWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfd29ya2Fyb3VuZF9kZWxheV90cmlnZ2VyXHUwMDNkdHJ1ZVx1MDAyNmlkYl9pbW1lZGlhdGVfY29tbWl0XHUwMDNkdHJ1ZVx1MDAyNmlnbm9yZV9vdmVybGFwcGluZ19jdWVfcG9pbnRzX29uX2VuZGVtaWNfbGl2ZV9odG1sNVx1MDAzZHRydWVcdTAwMjZpbF9hdHRhY2hfY2FjaGVfbGltaXRcdTAwM2R0cnVlXHUwMDI2aWxfcGF5bG9hZF9zY3JhcGluZ1x1MDAzZFx1MDAyNmlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dFx1MDAzZHRydWVcdTAwMjZpbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0XHUwMDNkMjAwMFx1MDAyNmluamVjdGVkX2xpY2Vuc2VfaGFuZGxlcl9lcnJvcl9jb2RlXHUwMDNkMFx1MDAyNmluamVjdGVkX2xpY2Vuc2VfaGFuZGxlcl9saWNlbnNlX3N0YXR1c1x1MDAzZDBcdTAwMjZpb3NfYW5kX2FuZHJvaWRfZnJlc2NhX3BvbGxpbmdfZGVsYXlfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2aXRkcm1fYWx3YXlzX3VzZV93aWRldmluZV9zZGtcdTAwM2R0cnVlXHUwMDI2aXRkcm1fZGlzYWJsZV9leHRlcm5hbF9rZXlfcm90YXRpb25fc3lzdGVtX2lkc1x1MDAzZFtdXHUwMDI2aXRkcm1fZW5hYmxlX3Jldm9jYXRpb25fcmVwb3J0aW5nXHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX2luamVjdGVkX2xpY2Vuc2Vfc2VydmljZV9lcnJvcl9jb2RlXHUwMDNkMFx1MDAyNml0ZHJtX3NldF9zYWJyX2xpY2Vuc2VfY29uc3RyYWludFx1MDAzZHRydWVcdTAwMjZpdGRybV91c2VfZmFpcnBsYXlfc2RrXHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX3VzZV93aWRldmluZV9zZGtfZm9yX3ByZW1pdW1fY29udGVudFx1MDAzZHRydWVcdTAwMjZpdGRybV93aWRldmluZV9oYXJkZW5lZF92bXBfbW9kZVx1MDAzZGxvZ1x1MDAyNmpzb25fY29uZGVuc2VkX3Jlc3BvbnNlXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9jb21tYW5kX2hhbmRsZXJfY29tbWFuZF9iYW5saXN0XHUwMDNkW11cdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5faWRlYWxfdGlsZV93aWR0aF9wZXJjZW50YWdlXHUwMDNkMC4yN1x1MDAyNmtldmxhcl9kZWxoaV9tb2Rlcm5fd2ViX2VuZHNjcmVlbl9tYXhfcm93c1x1MDAzZDJcdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5fbWF4X3dpZHRoXHUwMDNkNTAwXHUwMDI2a2V2bGFyX2RlbGhpX21vZGVybl93ZWJfZW5kc2NyZWVuX21pbl93aWR0aFx1MDAzZDIwMFx1MDAyNmtldmxhcl9nZWxfZXJyb3Jfcm91dGluZ1x1MDAzZHRydWVcdTAwMjZrZXZsYXJfbWluaXBsYXllcl9leHBhbmRfdG9wXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9taW5pcGxheWVyX3BsYXlfcGF1c2Vfb25fc2NyaW1cdTAwM2R0cnVlXHUwMDI2a2V2bGFyX3BsYXliYWNrX2Fzc29jaWF0ZWRfcXVldWVcdTAwM2R0cnVlXHUwMDI2bGF1bmNoX2xpY2Vuc2Vfc2VydmljZV9hbGxfb3R0X3ZpZGVvc19hdXRvbWF0aWNfZmFpbF9vcGVuXHUwMDNkdHJ1ZVx1MDAyNmxpbWl0X3l0Y3NpX2RlYnVnX2FycmF5X3NpemVcdTAwM2R0cnVlXHUwMDI2bGl2ZV9jaGF0X2VuYWJsZV9ydGFfbWFuYWdlclx1MDAzZHRydWVcdTAwMjZsaXZlX2NodW5rX3JlYWRhaGVhZFx1MDAzZDNcdTAwMjZsb2dfY2xpY2tfd2l0aF9sYXllcl9mcm9tX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyXHUwMDNkdHJ1ZVx1MDAyNmxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvblx1MDAzZDAuMVx1MDAyNm1hbmlmZXN0bGVzc19wb3N0X2xpdmVcdTAwM2R0cnVlXHUwMDI2bWFuaWZlc3RsZXNzX3Bvc3RfbGl2ZV91ZnBoXHUwMDNkdHJ1ZVx1MDAyNm1heF9ib2R5X3NpemVfdG9fY29tcHJlc3NcdTAwM2Q1MDAwMDBcdTAwMjZtYXhfY2RmZV9xdWFsaXR5X29yZGluYWxcdTAwM2QwXHUwMDI2bWF4X3ByZWZldGNoX3dpbmRvd19zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uXHUwMDNkMTBcdTAwMjZtYXhfcmVzb2x1dGlvbl9mb3Jfd2hpdGVfbm9pc2VcdTAwM2QzNjBcdTAwMjZtZHhfZW5hYmxlX3ByaXZhY3lfZGlzY2xvc3VyZV91aVx1MDAzZHRydWVcdTAwMjZtZHhfbG9hZF9jYXN0X2FwaV9ib290c3RyYXBfc2NyaXB0XHUwMDNkdHJ1ZVx1MDAyNm1pbl9wcmVmZXRjaF9vZmZzZXRfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvblx1MDAzZDIwXHUwMDI2bXRhX2RyY19tdXR1YWxfZXhjbHVzaW9uX3JlbW92YWxcdTAwM2R0cnVlXHUwMDI2bXVzaWNfZW5hYmxlX3NoYXJlZF9hdWRpb190aWVyX2xvZ2ljXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfYWNjb3VudF9saW5raW5nX25vYXBwXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfZGVidWdfc3RpY2t5X3NldHRpbmdzXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfZW5hYmxlX2NsaWNrX3RvX3BsYXlfcGF1c2VcdTAwM2R0cnVlXHUwMDI2bXdlYl9lbmFibGVfZmluZV9zY3J1YmJpbmdfZm9yX3JlY3NcdTAwM2R0cnVlXHUwMDI2bXdlYl9lbmFibGVfbW9yZV9jaHVua3NcdTAwM2R0cnVlXHUwMDI2bXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfcGxheWVyX2NvbnRyb2xfb25faG92ZXJcdTAwM2R0cnVlXHUwMDI2bXdlYl9wcm9ncmVzc19iYXJfc2Vla19vbl9tb3VzZV9jbGlja1x1MDAzZHRydWVcdTAwMjZtd2ViX3Nob3J0c19jb21tZW50c19wYW5lbF9pZF9jaGFuZ2VcdTAwM2R0cnVlXHUwMDI2bXdlYl91c2VfbWljcm9mb3JtYXRfdGl0bGVfZm9yX3Bvc3RzXHUwMDNkdHJ1ZVx1MDAyNm5ldHdvcmtfcG9sbGluZ19pbnRlcnZhbFx1MDAzZDMwMDAwXHUwMDI2bmV0d29ya2xlc3NfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZuZXdfY29kZWNzX3N0cmluZ19hcGlfdXNlc19sZWdhY3lfc3R5bGVcdTAwM2R0cnVlXHUwMDI2bm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd25cdTAwM2R0cnVlXHUwMDI2bm9fZmlsbGVyX3ZpZGVvX2Zvcl9zc2FfcGxheWJhY2tzXHUwMDNkdHJ1ZVx1MDAyNm92ZXJyaWRlX2RybV9yZXF1aXJlZF9wbGF5YmFja19wb2xpY3lfY2hhbm5lbHNcdTAwM2RbXVx1MDAyNnBhZ2VpZF9hc19oZWFkZXJfd2ViXHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9hZHNfc2V0X2FkZm9ybWF0X29uX2NsaWVudFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfYm9vdHN0cmFwX21ldGhvZFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfY29udHJvbHNfdXNlX3BsYXllcl9hcGlfY29udGV4dFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfY29udHJvbHNfdm9sdW1lX2NvbnRyb2xzX3VzZV9wbGF5ZXJfcHJvcHNcdTAwM2R0cnVlXHUwMDI2cGxheWVyX2Rlc3Ryb3lfb2xkX3ZlcnNpb25cdTAwM2R0cnVlXHUwMDI2cGxheWVyX2VuYWJsZV9wbGF5YmFja19wbGF5bGlzdF9jaGFuZ2VcdTAwM2R0cnVlXHUwMDI2cGxheWVyX25ld19pbmZvX2NhcmRfZm9ybWF0XHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl91bmRlcmxheV9taW5fcGxheWVyX3dpZHRoXHUwMDNkNzY4LjBcdTAwMjZwbGF5ZXJfdW5kZXJsYXlfdmlkZW9fd2lkdGhfZnJhY3Rpb25cdTAwM2QwLjZcdTAwMjZwbGF5ZXJfd2ViX2NhbmFyeV9zdGFnZVx1MDAzZDBcdTAwMjZwbGF5cmVhZHlfZmlyc3RfcGxheV9leHBpcmF0aW9uXHUwMDNkLTFcdTAwMjZwb2RjYXN0c192aWRlb3N0YXRzX2RlZmF1bHRfZmx1c2hfaW50ZXJ2YWxfc2Vjb25kc1x1MDAzZDBcdTAwMjZwb2x5bWVyX2JhZF9idWlsZF9sYWJlbHNcdTAwM2R0cnVlXHUwMDI2cG9seW1lcl92ZXJpZml5X2FwcF9zdGF0ZVx1MDAzZHRydWVcdTAwMjZwb3B1bGF0ZV9mb3JtYXRfc2V0X2luZm9faW5fY2RmZV9mb3JtYXRzXHUwMDNkdHJ1ZVx1MDAyNnByZXNraXBfYnV0dG9uX3N0eWxlX2Fkc19iYWNrZW5kXHUwMDNkXHUwMDI2cHJveGltYV9hdXRvX3RocmVzaG9sZF9tYXhfbmV0d29ya19pbnRlcnJ1cHRpb25fZHVyYXRpb25fbXNcdTAwM2QwXHUwMDI2cHJveGltYV9hdXRvX3RocmVzaG9sZF9taW5fYmFuZHdpZHRoX2VzdGltYXRlX2J5dGVzX3Blcl9zZWNcdTAwM2QwXHUwMDI2cW9lX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnF1YWxpdHlfY2FwX2Zvcl9pbmxpbmVfbm9uX2FwcF9hZHNcdTAwM2QwXHUwMDI2cXVhbGl0eV9jYXBfZm9yX2lubGluZV9wbGF5YmFja1x1MDAzZDBcdTAwMjZxdWFsaXR5X2NhcF9mb3JfaW5saW5lX3BsYXliYWNrX2Fkc1x1MDAzZDBcdTAwMjZyZWFkX2FoZWFkX21vZGVsX25hbWVcdTAwM2RcdTAwMjZyZWplY3RfaGlkZGVuX2xpdmVfZm9ybWF0c1x1MDAzZHRydWVcdTAwMjZyZWplY3RfbGl2ZV92cDlfbXFfY2xlYXJfd2l0aF9ub19hYnJfbGFkZGVyXHUwMDNkdHJ1ZVx1MDAyNnJlbGF4X2JnX25vdGlmaWNhdGlvbl90aHJvdHRsaW5nXHUwMDNkdHJ1ZVx1MDAyNnJlbW92ZV9jaGV2cm9uX2Zyb21fYWRfZGlzY2xvc3VyZV9iYW5uZXJfaDVcdTAwM2R0cnVlXHUwMDI2cmVtb3ZlX21hc3RoZWFkX2NoYW5uZWxfYmFubmVyX29uX3JlZnJlc2hcdTAwM2R0cnVlXHUwMDI2cmVtb3ZlX3Nsb3RfaWRfZXhpdGVkX3RyaWdnZXJfZm9yX2RhaV9pbl9wbGF5ZXJfc2xvdF9leHBpcmVcdTAwM2R0cnVlXHUwMDI2cmVwbGFjZV9wbGF5YWJpbGl0eV9yZXRyaWV2ZXJfaW5fd2F0Y2hcdTAwM2R0cnVlXHUwMDI2cm9zY2FzXHUwMDNkdHJ1ZVx1MDAyNnNhYnJfZW5hYmxlX2hvc3RfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2c2VsZl9wb2RkaW5nX2hlYWRlcl9zdHJpbmdfdGVtcGxhdGVcdTAwM2RzZWxmX3BvZGRpbmdfaW50ZXJzdGl0aWFsX21lc3NhZ2VcdTAwMjZzZWxmX3BvZGRpbmdfbWlkcm9sbF9jaG9pY2Vfc3RyaW5nX3RlbXBsYXRlXHUwMDNkc2VsZl9wb2RkaW5nX21pZHJvbGxfY2hvaWNlXHUwMDI2c2VuZF9jb25maWdfaGFzaF90aW1lclx1MDAzZDBcdTAwMjZzZXJ2ZV9hZGFwdGl2ZV9mbXRzX2Zvcl9saXZlX3N0cmVhbXNcdTAwM2R0cnVlXHUwMDI2c2V0X21vY2tfaWRfYXNfZXhwZWN0ZWRfY29udGVudF9iaW5kaW5nXHUwMDNkXHUwMDI2c2hlbGxfbG9hZF9nY2ZcdTAwM2R0cnVlXHUwMDI2c2hvcnRlbl9pbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0XHUwMDNkdHJ1ZVx1MDAyNnNob3J0c19tb2RlX3RvX3BsYXllcl9hcGlcdTAwM2R0cnVlXHUwMDI2c2hvdWxkX2F0dHJpYnV0ZV90b193YXRjaF93aXRoX3NvdXJjZVx1MDAzZFtdXHUwMDI2c2hvdWxkX2F0dHJpYnV0ZV92aWV3c190b193YXRjaF93aXRoX3NvdXJjZVx1MDAzZHRydWVcdTAwMjZzaW1wbHlfZW1iZWRkZWRfZW5hYmxlX2JvdGd1YXJkXHUwMDNkdHJ1ZVx1MDAyNnNsb3dfY29tcHJlc3Npb25zX2JlZm9yZV9hYmFuZG9uX2NvdW50XHUwMDNkNFx1MDAyNnNtYWxsX2F2YXRhcnNfZm9yX2NvbW1lbnRzXHUwMDNkdHJ1ZVx1MDAyNnNtYXJ0X3NraXBfd2ViX3BsYXllcl9iYXJfbWluX2hvdmVyX2xlbmd0aF9taWxsaXNlY29uZHNcdTAwM2QxMDAwXHUwMDI2c21hcnRlcl92ZV9kZWR1cHBpbmdcdTAwM2R0cnVlXHUwMDI2c3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwXHUwMDNkMTBcdTAwMjZzcGVlZG1hc3Rlcl9wbGF5YmFja19yYXRlXHUwMDNkMi4wXHUwMDI2c3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tc1x1MDAzZDUwMFx1MDAyNnN0b3BfaGFuZGxpbmdfY2xpY2tfZm9yX25vbl9yZW5kZXJpbmdfb3ZlcmxheV9sYXlvdXRcdTAwM2R0cnVlXHUwMDI2c3RyZWFtaW5nX2RhdGFfZW1lcmdlbmN5X2l0YWdfYmxhY2tsaXN0XHUwMDNkW11cdTAwMjZzdWJzdGl0dXRlX2FkX2Nwbl9tYWNyb19pbl9zc2RhaVx1MDAzZHRydWVcdTAwMjZzdXBwcmVzc19lcnJvcl8yMDRfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZ0cmltX2FkYXB0aXZlX2Zvcm1hdHNfc2lnbmF0dXJlX2NpcGhlcl9mb3Jfc2Ficl9jb250ZW50XHUwMDNkdHJ1ZVx1MDAyNnR2aHRtbDVfdW5wbHVnZ2VkX3ByZWxvYWRfY2FjaGVfc2l6ZVx1MDAzZDVcdTAwMjZ1c2VfY3VlX3JhbmdlX21hcmtlcl9wb3NpdGlvblx1MDAzZHRydWVcdTAwMjZ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXJcdTAwM2R0cnVlXHUwMDI2dXNlX2V4dHJhX3JlYWRhaGVhZF9ub3JtYWxfbGF0ZW5jeV9mcmFtZV9sZXZlbF9zdHJlYW1pbmdfaW5fYmFja2VuZF9leHBlcmltZW50XHUwMDNkWzQ1Nzk3MTQ5XVx1MDAyNnVzZV9maWZvX2Zvcl9uZXR3b3JrbGVzc1x1MDAzZHRydWVcdTAwMjZ1c2VfZ2VuZXJhdGVkX21lZGlhX2tleXNfaW5fZmFpcnBsYXlfcmVxdWVzdHNcdTAwM2R0cnVlXHUwMDI2dXNlX2lubGluZWRfcGxheWVyX3JwY1x1MDAzZHRydWVcdTAwMjZ1c2VfbmV3X2NvZGVjc19zdHJpbmdfYXBpXHUwMDNkdHJ1ZVx1MDAyNnVzZV9wbGF5YWJpbGl0eV9yZXN1bHRfZm9yX2Nhbl9wbGF5X3N0YXR1c1x1MDAzZHRydWVcdTAwMjZ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlclx1MDAzZHRydWVcdTAwMjZ1c2VfcnRhX2Zvcl9wbGF5ZXJcdTAwM2R0cnVlXHUwMDI2dXNlX3Nlc3Npb25fYmFzZWRfc2FtcGxpbmdcdTAwM2R0cnVlXHUwMDI2dXNlX3RodW1ibmFpbF9vdmVybGF5X3RpbWVfc3RhdHVzX3JlbmRlcmVyX2Zvcl9saXZlX2JhZGdlXHUwMDNkdHJ1ZVx1MDAyNnZhcmlhYmxlX2J1ZmZlcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNnZwOV9kcm1fbGl2ZVx1MDAzZHRydWVcdTAwMjZ2c3NfZmluYWxfcGluZ19zZW5kX2FuZF93cml0ZVx1MDAzZHRydWVcdTAwMjZ2c3NfcGxheWJhY2tfdXNlX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnZzc191c2VfcG9zdF9yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNndlYl9hcGlfdXJsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19leHBvcnRfdG9fZ2VsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19zY3JvbGxfdGhyb3R0bGVcdTAwM2Q1MDAuMFx1MDAyNndlYl9idXR0b25fdmlld19tb2RlbF9ub25fbnVsbGlzaF9kYXRhXHUwMDNkdHJ1ZVx1MDAyNndlYl9idXR0b25fdm1fcmVmYWN0b3JfZGlzYWJsZWRcdTAwM2R0cnVlXHUwMDI2d2ViX2NsaWVudF92ZXJzaW9uX292ZXJyaWRlXHUwMDNkXHUwMDI2d2ViX2NvbGxlY3Rfb2ZmbGluZV9zdGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9kZWR1cGVfdmVfZ3JhZnRpbmdcdTAwM2R0cnVlXHUwMDI2d2ViX2Rpc2FibGVfY2FwdGlvbl9vcGFjaXR5X2tleWJvYXJkX3Nob3J0Y3V0c1x1MDAzZHRydWVcdTAwMjZ3ZWJfZGlzYWJsZV9jaGlwX3ZpZXdfbW9kZWxfbXV0YXRpb25cdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9hYl9yc3BfY2xcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9jYXB0aW9uX2xhbmd1YWdlX3ByZWZlcmVuY2Vfc3RpY2tpbmVzc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2NvdXJzZV9pY29uX3VwZGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfZXJyb3JfMjA0XHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfa2V5Ym9hcmRfc2hvcnRjdXRfZm9yX3RpbWVseV9hY3Rpb25zXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfc2hvcHBpbmdfdGltZWx5X3NoZWxmX2NsaWVudFx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX3NtYWxsX3NwZWVkbWFzdGVyXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfdGltZWx5X2FjdGlvbnNcdTAwM2R0cnVlXHUwMDI2d2ViX2ZpeF9maW5lX3NjcnViYmluZ19mYWxzZV9wbGF5XHUwMDNkdHJ1ZVx1MDAyNndlYl9mb3JlZ3JvdW5kX2hlYXJ0YmVhdF9pbnRlcnZhbF9tc1x1MDAzZDI4MDAwXHUwMDI2d2ViX2Z1bGxzY3JlZW5fc2hvcnRzXHUwMDNkdHJ1ZVx1MDAyNndlYl9mdWxsc2NyZWVuX3Nob3J0c19tZW51X2l0ZW1cdTAwM2R0cnVlXHUwMDI2d2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlXHUwMDNkdHJ1ZVx1MDAyNndlYl9nZWxfZGVib3VuY2VfbXNcdTAwM2QxMDAwMFx1MDAyNndlYl9nZWxfdGltZW91dF9jYXBcdTAwM2R0cnVlXHUwMDI2d2ViX2hpZGVfbmV4dF9idXR0b25cdTAwM2R0cnVlXHUwMDI2d2ViX2hpZGVfd2F0Y2hfaW5mb19lbXB0eVx1MDAzZHRydWVcdTAwMjZ3ZWJfaGlkZV95b3VyX2RhdGFfb25fYXV0b21vdGl2ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfbG9hZF9wcmVkaWN0aW9uX3RocmVzaG9sZFx1MDAzZDAuM1x1MDAyNndlYl9sb2dnaW5nX21heF9iYXRjaFx1MDAzZDEwMFx1MDAyNndlYl9tYXhfdHJhY2luZ19ldmVudHNcdTAwM2Q1MFx1MDAyNndlYl9tb25vbWVyX3dlYl9jb21wb25lbnRfd3JhcHBlcl9oYW5kbGVfZXJyb3JzXHUwMDNkdHJ1ZVx1MDAyNndlYl9uYXZpZ2F0aW9uX3ByZWRpY3Rpb25fdGhyZXNob2xkXHUwMDNkMC4xXHUwMDI2d2ViX25vbl9uYXZpZ2F0aW5nX2F0YWdcdTAwM2R0cnVlXHUwMDI2d2ViX29wX3NpZ25hbF90eXBlX2Jhbmxpc3RcdTAwM2RbXVx1MDAyNndlYl9wbGF5YmFja19hc3NvY2lhdGVkX3ZlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfYXBpX2xvZ2dpbmdfZnJhY3Rpb25cdTAwM2QwLjAxXHUwMDI2d2ViX3BsYXllcl9iaWdfbW9kZV9zY3JlZW5fd2lkdGhfY3V0b2ZmXHUwMDNkNDAwMVx1MDAyNndlYl9wbGF5ZXJfZGVmYXVsdF9wZWVraW5nX3B4XHUwMDNkMzZcdTAwMjZ3ZWJfcGxheWVyX2Rpc2FibGVfZ3JpZF9vbl9vZmZsaW5lX3NsYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfZW5hYmxlX2ZlYXR1cmVkX3Byb2R1Y3RfYmFubmVyX2V4Y2x1c2l2ZXNfb25fZGVza3RvcFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2VuYWJsZV9mZWF0dXJlZF9wcm9kdWN0X2Jhbm5lcl9wcm9tb3Rpb25fdGV4dF9vbl9kZXNrdG9wXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfZnJvc3RlZF9nbGFzc19ibHVyX3JhZGl1c1x1MDAzZDE2XHUwMDI2d2ViX3BsYXllcl9mcm9zdGVkX2dsYXNzX2JsdXJfcmFkaXVzX2Zsb2F0XHUwMDNkMTYuMFx1MDAyNndlYl9wbGF5ZXJfaW5uZXJ0dWJlX3BsYXlsaXN0X3VwZGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2ludmlzaWJsZV9mdWxsc2NyZWVuX2J1dHRvblx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2lwcF9jYW5hcnlfdHlwZV9mb3JfbG9nZ2luZ1x1MDAzZFx1MDAyNndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbWluaXBsYXllcl9pbl9jb250ZXh0X21lbnVcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9tb3VzZV9pZGxlX3dhaXRfdGltZV9tc1x1MDAzZDMwMDBcdTAwMjZ3ZWJfcGxheWVyX211c2ljX3Zpc3VhbGl6ZXJfdHJlYXRtZW50XHUwMDNkZmFrZVx1MDAyNndlYl9wbGF5ZXJfb2ZmbGluZV9wbGF5bGlzdF9hdXRvX3JlZnJlc2hcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9wbGF5YWJsZV9zZXF1ZW5jZXNfcmVmYWN0b3JcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9xdWlja19oaWRlX3RpbWVvdXRfbXNcdTAwM2QyNTBcdTAwMjZ3ZWJfcGxheWVyX3NlZWtfY2hhcHRlcnNfYnlfc2hvcnRjdXRcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9zZWVrX292ZXJsYXlfYWRkaXRpb25hbF9hcnJvd190aHJlc2hvbGRcdTAwM2QyMDBcdTAwMjZ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9kdXJhdGlvbl9idW1wX3NjYWxlXHUwMDNkMC45XHUwMDI2d2ViX3BsYXllcl9zZWVrX292ZXJsYXlfbGluZ2VyX2R1cmF0aW9uXHUwMDNkMTAwMFx1MDAyNndlYl9wbGF5ZXJfc2VudGluZWxfaXNfdW5pcGxheWVyXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfc2hvd19tdXNpY19pbl90aGlzX3ZpZGVvX2dyYXBoaWNcdTAwM2R2aWRlb190aHVtYm5haWxcdTAwMjZ3ZWJfcGxheWVyX3NzX2RhaV9hZF9mZXRjaGluZ190aW1lb3V0X21zXHUwMDNkMTUwMDBcdTAwMjZ3ZWJfcGxheWVyX3RvdWNoX2lkbGVfd2FpdF90aW1lX21zXHUwMDNkNDAwMFx1MDAyNndlYl9wbGF5ZXJfdHJhbnNmZXJfdGltZW91dF90aHJlc2hvbGRfbXNcdTAwM2QxMDgwMDAwMFx1MDAyNndlYl9wbGF5ZXJfdXBkYXRlZF9lbnRyeXBvaW50XHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfdXNlX2NpbmVtYXRpY19sYWJlbF8yXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfdXNlX25ld19hcGlfZm9yX3F1YWxpdHlfcHVsbGJhY2tcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl91c2Vfc2NyZWVuX3dpZHRoX2Zvcl9iaWdfbW9kZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcHJlZmV0Y2hfcHJlbG9hZF92aWRlb1x1MDAzZHRydWVcdTAwMjZ3ZWJfcHJvZ3Jlc3NfYmFyX2RyYWdnYWJsZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcHJvcGFnYXRlX3Zpc2liaWxpdHlfdG9fYXBwbGljYXRpb25fc3RhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX3JlbWl4X2FsbG93X3VwX3RvXzN4X3BsYXliYWNrX3JhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX3JlbW92ZV9icm9rZW5fc3Vic2NyaWJlX2VuZHNjcmVlblx1MDAzZHRydWVcdTAwMjZ3ZWJfc2Vzc2lvbl9yZXBsYXlfbW91c2Vtb3ZlX2ludGVydmFsXHUwMDNkMFx1MDAyNndlYl9zZXNzaW9uX3JlcGxheV9zY3JvbGxfaW50ZXJ2YWxcdTAwM2QwXHUwMDI2d2ViX3Nlc3Npb25fcmVwbGF5X3NlbmRfYWZ0ZXJfdGltZW91dFx1MDAzZDBcdTAwMjZ3ZWJfc2V0dGluZ3NfbWVudV9zdXJmYWNlX2N1c3RvbV9wbGF5YmFja1x1MDAzZHRydWVcdTAwMjZ3ZWJfc2V0dGluZ3NfdXNlX2lucHV0X3NsaWRlclx1MDAzZHRydWVcdTAwMjZ3ZWJfc2hvcnRzX2F1ZGlvX3RyYWNrX3BpY2tlclx1MDAzZHRydWVcdTAwMjZ3ZWJfdHJhY2luZ19lbmFibGVkX3NwYW5zXHUwMDNkW2V2ZW50LCBjb21tYW5kXVx1MDAyNndlYl90cmFjaW5nX3Nlc3Npb25fcmVwbGF5XHUwMDNkMFx1MDAyNndlYl91bmlmaWVkX2ZldGNoXHUwMDNkdHJ1ZVx1MDAyNndlYl93YXRjaF9kaXNhYmxlX2FjY291bnRfbGV2ZWxfY2FwdGlvbnNfc2V0dGluZ3NcdTAwM2R0cnVlXHUwMDI2d2VicG9fZXhpdF9vbl9uZXRfZXJyXHUwMDNkdHJ1ZVx1MDAyNndpbF9pY29uX21heF9jb25jdXJyZW50X2ZldGNoZXNcdTAwM2Q5OTk5XHUwMDI2d2l6X2RpZmZfb3ZlcndyaXRhYmxlXHUwMDNkdHJ1ZVx1MDAyNndpel93cmFwcGVyX2NhbGxiYWNrX3Byb3BzX2ZpeFx1MDAzZHRydWVcdTAwMjZ3b2ZmbGVfZW5hYmxlX2Rvd25sb2FkX3N0YXR1c1x1MDAzZHRydWVcdTAwMjZ3cml0ZV9yZWxvYWRfcGxheWVyX3Jlc3BvbnNlX3Rva2VuX3RvX3VzdHJlYW1lcl9jb25maWdfZm9yX3ZvZFx1MDAzZHRydWVcdTAwMjZ3c19hdjFfbWF4X2hlaWdodF9mbG9vclx1MDAzZDBcdTAwMjZ3c19hdjFfbWF4X3dpZHRoX2Zsb29yXHUwMDNkMFx1MDAyNndzX3VzZV9jZW50cmFsaXplZF9ocWFfZmlsdGVyXHUwMDNkdHJ1ZVx1MDAyNnd1Z19uZXR3b3JraW5nX2d6aXBfcmVxdWVzdFx1MDAzZHRydWVcdTAwMjZ5dGNzaV9kZWJ1Z19tYXhfc2l6ZVx1MDAzZDEwMFx1MDAyNnl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzXHUwMDNkMVx1MDAyNnl0aWRiX3Jlb3Blbl9kYl9yZXRyaWVzXHUwMDNkMFx1MDAyNnl0aWRiX3RyYW5zYWN0aW9uX2VuZGVkX2V2ZW50X3JhdGVfbGltaXRcdTAwM2QwLjAyIiwiaGlkZUluZm8iOnRydWUsInN0YXJ0TXV0ZWQiOmZhbHNlLCJtb2JpbGVJcGhvbmVTdXBwb3J0c0lubGluZVBsYXliYWNrIjp0cnVlLCJpc01vYmlsZURldmljZSI6ZmFsc2UsImNzcE5vbmNlIjoiOWRFc0RBdUQ4WncxQUZaMk02MHhiUSIsImNhbmFyeVN0YXRlIjoibm9uZSIsImVuYWJsZUNzaUxvZ2dpbmciOnRydWUsImxvYWRlclVybCI6Imh0dHBzOi8vY3J5c3RhbC1leHBsb2l0cy5vcmcvIiwiZGlzYWJsZUF1dG9uYXYiOmZhbHNlLCJlbmFibGVDb250ZW50T3duZXJSZWxhdGVkVmlkZW9zIjp0cnVlLCJpc0VtYmVkIjp0cnVlLCJkaXNhYmxlQ2FzdEFwaSI6ZmFsc2UsInNlcmlhbGl6ZWRFbWJlZENvbmZpZyI6IntcImhpZGVJbmZvQmFyXCI6dHJ1ZSxcImRpc2FibGVSZWxhdGVkVmlkZW9zXCI6dHJ1ZX0iLCJkaXNhYmxlTWR4Q2FzdCI6ZmFsc2UsImRhdGFzeW5jSWQiOiJWYjg3ZWFlNDJ8fCIsInN0b3JlVXNlclZvbHVtZSI6dHJ1ZSwiZGlzYWJsZVBhaWRDb250ZW50T3ZlcmxheSI6dHJ1ZSwiZW5jcnlwdGVkSG9zdEZsYWdzIjoiQUNtYmxCV2dLM0pEbFNhc3lKd2hUbDRfY1dyMUdUVjNja201SnJhQ0lsVjF6ZmlZWHFNRHZHZWNnOU1yOEFIRTBCNHBOaTVuVWk0Z2tLWkNBQjhFUlVpSGFjSlR5dThhVVpFSHRFbDVLTTQtSVdGX0IwVTVnWkFBVkdIU05QR3NXOVZDIiwiY2FuYXJ5U3RhZ2UiOiIiLCJ0cnVzdGVkSnNVcmwiOnsicHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlVHJ1c3RlZFJlc291cmNlVXJsV3JhcHBlZFZhbHVlIjoiL3MvcGxheWVyLzdhNzk2OWMyL3BsYXllcl9lbWJlZF9lczYudmZsc2V0L2VuX1VTL2Jhc2UuanMifSwidHJ1c3RlZENzc1VybCI6eyJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUiOiIvcy9wbGF5ZXIvN2E3OTY5YzIvd3d3LXBsYXllci5jc3MifSwiaG91c2VCcmFuZFVzZXJTdGF0dXMiOiJub3RfcHJlc2VudCIsImVtYmVkc0VuYWJsZUVtYzNkcyI6dHJ1ZSwiZGlzYWJsZU9yZ2FuaWNVaSI6dHJ1ZSwiZW5hYmxlU2Fick9uRW1iZWQiOmZhbHNlLCJzZXJpYWxpemVkQ2xpZW50RXhwZXJpbWVudEZsYWdzIjoiNDU3MTgxNzVcdTAwM2QwLjBcdTAwMjY0NTcxODE3Nlx1MDAzZDAuMDFcdTAwMjY0NTcyNTUzOFx1MDAzZDAuMFx1MDAyNjQ1NzI1NTM5XHUwMDNkMC4wXHUwMDI2NDU3MjU1NDBcdTAwM2QwLjBcdTAwMjY0NTcyNTU0MVx1MDAzZDAuMFx1MDAyNjQ1NzI1NTQyXHUwMDNkMC4wXHUwMDI2NDU3MjU1NDNcdTAwM2QwLjBcdTAwMjY0NTcyODU1M1x1MDAzZHRydWVcdTAwMjY0NTcyODU3Mlx1MDAzZHRydWVcdTAwMjY0NTcyOTIxNVx1MDAzZHRydWVcdTAwMjY0NTczMjcwNFx1MDAzZHRydWVcdTAwMjY0NTczMjc5MVx1MDAzZHRydWVcdTAwMjY0NTczNTQyOFx1MDAzZDQwMDAuMFx1MDAyNjQ1NzM3NDg4XHUwMDNkMC4wXHUwMDI2NDU3Mzc0ODlcdTAwM2QwLjBcdTAwMjY0NTczOTAyM1x1MDAzZDAuMFx1MDAyNjQ1NzQxMzM5XHUwMDNkMC4wXHUwMDI2NDU3NDE3NzNcdTAwM2QwLjBcdTAwMjY0NTc0MzIyOFx1MDAzZDAuMFx1MDAyNjQ1NzQ1NjEwXHUwMDNkdHJ1ZVx1MDAyNjQ1NzQ2OTY2XHUwMDNkMC4wXHUwMDI2NDU3NDY5NjdcdTAwM2QwLjBcdTAwMjY0NTc0NzA1M1x1MDAzZDAuMFx1MDAyNjQ1NzUwOTQ3XHUwMDNkMTAyNDBcdTAwMjY0NTc1NjIwMVx1MDAzZHRydWVcdTAwMjY0NTc1Njg3Mlx1MDAzZDAuMFx1MDAyNjQ1NzU3NDI2XHUwMDNkMC4wXHUwMDI2NDU3NTc0MjdcdTAwM2QwLjBcdTAwMjY0NTc1Nzc1MFx1MDAzZDAuMFx1MDAyNjQ1NzU3OTU3XHUwMDNkMC4wXHUwMDI2NDU3NTg0NjdcdTAwM2QwLjBcdTAwMjY0NTc2MDAxOFx1MDAzZHRydWVcdTAwMjY0NTc2MTc2MFx1MDAzZDIwMFx1MDAyNjQ1NzYyODM4XHUwMDNkMFx1MDAyNjQ1NzY0MjE3XHUwMDNkMC4wXHUwMDI2NDU3NjQyNTJcdTAwM2QwLjBcdTAwMjY0NTc2NDUyM1x1MDAzZDAuMFx1MDAyNjQ1NzY0NTI0XHUwMDNkMC4wXHUwMDI2NDU3NjQ1OTNcdTAwM2QwLjBcdTAwMjY0NTc2NTA3N1x1MDAzZHRydWVcdTAwMjY0NTc2NTU2OFx1MDAzZDAuMFx1MDAyNjQ1NzY1NjAyXHUwMDNkMC4wXHUwMDI2NDU3NjU2ODBcdTAwM2R0cnVlXHUwMDI2NDU3NjY1MTFcdTAwM2R0cnVlXHUwMDI2NDU3Njc3NjNcdTAwM2QwLjBcdTAwMjY0NTc2Nzk0M1x1MDAzZDAuMFx1MDAyNjQ1NzY4MzQwXHUwMDNkMC4wXHUwMDI2NDU3Njg0MzBcdTAwM2QwLjBcdTAwMjY0NTc2OTExOVx1MDAzZHRydWVcdTAwMjY0NTc2OTIxNFx1MDAzZDAuMFx1MDAyNjQ1NzcwMDAxXHUwMDNkMC4wXHUwMDI2NDU3NzAwMDJcdTAwM2QwLjBcdTAwMjY0NTc3MDEzNVx1MDAzZHRydWVcdTAwMjY0NTc3MTI4OFx1MDAzZHRydWVcdTAwMjY0NTc3MTg5MFx1MDAzZDAuMFx1MDAyNjQ1NzczNjAzXHUwMDNkMC4wXHUwMDI2NDU3NzM2MDRcdTAwM2QwLjBcdTAwMjY0NTc3NTc1N1x1MDAzZHRydWVcdTAwMjY0NTc3NTc5MVx1MDAzZDAuMFx1MDAyNjQ1Nzc1NzkyXHUwMDNkMC4wXHUwMDI2NDU3NzYxOTBcdTAwM2QwLjBcdTAwMjY0NTc3ODY2M1x1MDAzZDAuMFx1MDAyNjQ1Nzc4NjcxXHUwMDNkMC4wXHUwMDI2NDU3ODM4NzVcdTAwM2R0cnVlXHUwMDI2NDU3ODQ0MzlcdTAwM2QwXHUwMDI2NDU3ODY0NDNcdTAwM2QwLjBcdTAwMjY0NTc4Nzk0OFx1MDAzZHRydWVcdTAwMjY0NTc4OTQ3NFx1MDAzZHRydWVcdTAwMjY0NTc5MTExN1x1MDAzZDAuMFx1MDAyNjQ1NzkxMTE4XHUwMDNkMC4wXHUwMDI2NDU3OTExMTlcdTAwM2QwLjBcdTAwMjY0NTc5MTMyNlx1MDAzZHRydWVcdTAwMjY0NTc5MzcxMFx1MDAzZDAuMFx1MDAyNjQ1Nzk0NDQxXHUwMDNkMC4wXHUwMDI2NDU3OTQ4NjdcdTAwM2R0cnVlXHUwMDI2NDU3OTQ4NjhcdTAwM2R0cnVlXHUwMDI2NDU3OTc3MjFcdTAwM2R0cnVlXHUwMDI2NDU3OTc5NjNcdTAwM2QwLjBcdTAwMjY0NTgwMjEyM1x1MDAzZDAuMFx1MDAyNjQ1ODAzNzU0XHUwMDNkMC4wXHUwMDI2NDU4MDQ3NzFcdTAwM2QwLjBcdTAwMjY0NTgwNTY5NVx1MDAzZDAuMFx1MDAyNjQ1ODA2NTU1XHUwMDNkMlx1MDAyNjQ1ODA3NDMyXHUwMDNkMC4wXHUwMDI2NDU4MDc0ODRcdTAwM2RcdTAwMjY0NTgwNzc3MVx1MDAzZDAuMFx1MDAyNjQ1ODA3NzcyXHUwMDNkMC4wXHUwMDI2NDU4MDc3NzNcdTAwM2QwLjBcdTAwMjY0NTgwODc2Mlx1MDAzZDBcdTAwMjY0NTgxNDQ4MFx1MDAzZHRydWVcdTAwMjY0NTgxNTAxMVx1MDAzZDAuMFx1MDAyNjQ1ODE1NjMwXHUwMDNkMFx1MDAyNjQ1ODE2ODg4XHUwMDNkMC4wXHUwMDI2NDU4MTgxMjhcdTAwM2QwLjAifX0sIlhTUkZfRklFTERfTkFNRSI6InNlc3Npb25fdG9rZW4iLCJYU1JGX1RPS0VOIjoiUVVNNFptOXJVekpRVm1kNmJERkNWMEpvU0dsa1dsUk9XbGx0VW54QlIzSmlTMkZ0ZERoRlQyZDFaMUk0U1ZSSVptMUhjblJMTkZOVlVsaHVWSE5ZZWtGU2IzTjFhMGszWHpjM1REaHJZMFpZYWtvNGRsVnFTalIxTUZWRFJpMTNkME5ZVTJOclJHUlpPRGxXT0RVMlVXMVVSSEJaTVVOV1FsQnJjRkJEYWtVXHUwMDNkIiwiU0VSVkVSX1ZFUlNJT04iOiJwcm9kIiwiREFUQVNZTkNfSUQiOiJWYjg3ZWFlNDJ8fCIsIlNFUklBTElaRURfQ0xJRU5UX0NPTkZJR19EQVRBIjoiQ00zU205TUdFUGFyc0FVUUFCRDU4dEVjRU9EcTBSd1F4NDNTSEJDOW1iQUZFSTZRMFJ3UW1ZMnhCUkRKOW9BVEVONjh6aHdRcnRiUEhCQ0lrTkVjRUxXMWdCTVE0SUtBRXhDS2g3Z2lFUHl5emh3UWliRE9IQkM4cE5BY0VJbmswUndRbllhNEloQ0w5ODhjRUxudzBSd1FnNGU0SWhDSHJNNGNFT240MFJ3UTRMZlJIQkNCemM0Y0VMNktzQVVRaHVHQUV4Q3ZoczhjRUxqa3pod1E5dmZSSEJETTM2NEZFTDZFMFJ3UWxlX1JIQkNrcWRFY0VMYjRnQk1ReXZ1QUV4RGE5ODRjRVBEZTBSd1F3WV9RSEJDZno0QVRFTDIycmdVUXR0dlJIQkRIX0lBVEVKM1FzQVVROGJUUUhCRDA2ZEVjS21oRFFVMVRVMUpXUXkxYWNTMUVUV1ZWUlhCVlEyNUJOelZHV0V0cVFuVkZWM0ZPVlZCNVFVMU5NM2N6WTBKMFowYzNaMVF5ZG1WclRFMXhRM05DUVU5UmNtZFFOMHB5WW10Q2RWTkdSamxFVFVKelUxTkNZM001ZUZObVdqRlJXR05NVDFwSFNGRmpQVEFBIiwiUk9PVF9WRV9UWVBFIjoxNjYyMywiQ0xJRU5UX1BST1RPQ09MIjoiaDMiLCJDTElFTlRfVFJBTlNQT1JUIjoicXVpYyIsIlBMQVlFUl9DTElFTlRfVkVSU0lPTiI6IjEuMjAyNjA3MjEuMDguMDAiLCJUSU1FX0NSRUFURURfTVMiOjE3ODUxMjkyOTM0NTksIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyI6WyJ5b3V0dS5iZSIsInlvdXR1YmUuY29tIiwid3d3LnlvdXR1YmUuY29tIiwid2ViLWdyZWVuLXFhLnlvdXR1YmUuY29tIiwid2ViLXJlbGVhc2UtcWEueW91dHViZS5jb20iLCJ3ZWItaW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iLCJtLnlvdXR1YmUuY29tIiwibXdlYi1ncmVlbi1xYS55b3V0dWJlLmNvbSIsIm13ZWItcmVsZWFzZS1xYS55b3V0dWJlLmNvbSIsIm13ZWItaW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iLCJzdHVkaW8ueW91dHViZS5jb20iLCJzdHVkaW8tZ3JlZW4tcWEueW91dHViZS5jb20iLCJzdHVkaW8taW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iXSwiTE9UVElFX1VSTCI6eyJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUiOiIvcy9lbWJlZHMvMzJkMmFjODMvbG90dGllLWxpZ2h0LnZmbHNldC9sb3R0aWUtbGlnaHQuanMifSwiSURFTlRJVFlfTUVNRU5UTyI6eyJ2aXNpdG9yX2RhdGEiOiJDZ3RIWlU5TmFIVXlkekZwWnlqTjBwdlRCaklvQ2dKT1R4SWlFaDRTSEFzTURnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJeVFsSmljZ0dHTGZBZ3JjQWpJd0xsbFVQVlZUWXpONFkybHdRekZmTTNsQmNIQXlXaTFQVEdkNGRsTnVjekpFV0ZJd1kyTnZWV3RVTmtORVVFWjFSMHd0WXpObVNESlFOREpIWjNGT1FVNVpPRjlyU1ZWWFRIazRTVUZNWjJKV1pUWk9kbGRVWDNSUWJFOWlibVppVWpWTmVrZzFXVVJ0UzBzeVExbEZPRVZuYTJaamVYTjVlWEZSV0ZOQk5IRklSakI1ZG05ek4yUm9Ra1puYUhCd1pFZERiV05zTldOdmIxUTNNRVp5UmpKUFVqVmFXa0pSVG5GcVJVZFNYMHMwTkc5R1VFTkhUVVl6WldkWE5UVmZWVFIwVGxsVE1WQktSRTFxWWtOUlZERTNjbWw0YmkxaU9UWTJTMDVqYjJ0dWVEaDJXamRDYjFWeE5YVTNRVWhmWldoQldDMU5NMmhsTTBscVJVczNjWHBRZG5kV2NVZGtTR2RtUzJWTVNVaE5RM0pYWVd3elNFaEJWbXBYWDFZeWFrZ3dSMHBQU1VwWWVFNDVkbm90UVRGMVZrRlVlWFZFU25rNWRtWmFlVFJoVW5CaVdUVlpha2REZVVkM1J6Tk1XVkI0Y0RRMFkyeGtVUSUzRCUzRCJ9LCJNV0VCX1NVUFBPUlRTX0RPVUJMRV9UQVBfVE9fU0VFSyI6dHJ1ZSwiRU5BQkxFX0pTX0FQSSI6dHJ1ZSwiUExBWUVSX1ZBUlMiOnsiZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlIjoie1wicmVzcG9uc2VDb250ZXh0XCI6e1wic2VydmljZVRyYWNraW5nUGFyYW1zXCI6W3tcInNlcnZpY2VcIjpcIkNTSVwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwiY1wiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn0se1wia2V5XCI6XCJjdmVyXCIsXCJ2YWx1ZVwiOlwiMi4yMDI2MDcyNC4wMS4wMFwifSx7XCJrZXlcIjpcInl0X2xpXCIsXCJ2YWx1ZVwiOlwiMFwifSx7XCJrZXlcIjpcIkdldEVtYmVkZGVkUGxheWVyX3JpZFwiLFwidmFsdWVcIjpcIjB4NmVlZTlkZDZmNGFjZGRhMVwifV19LHtcInNlcnZpY2VcIjpcIkdGRUVEQkFDS1wiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkdVSURFRF9IRUxQXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJsb2dnZWRfaW5cIixcInZhbHVlXCI6XCIwXCJ9XX0se1wic2VydmljZVwiOlwiRUNBVENIRVJcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImNsaWVudC52ZXJzaW9uXCIsXCJ2YWx1ZVwiOlwiMi4yMDI2MDcyNFwifSx7XCJrZXlcIjpcImNsaWVudC5uYW1lXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifV19XSxcInJlc3BvbnNlSWRcIjpcIkloTUkxZHVvNjR6eWxRTVZJdEI3QUIwR0t3alJcIixcIndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGFcIjp7XCJoYXNEZWNvcmF0ZWRcIjp0cnVlfX0sXCJlbWJlZFByZXZpZXdcIjp7XCJ0aHVtYm5haWxQcmV2aWV3UmVuZGVyZXJcIjp7XCJ0aXRsZVwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiQ29mZmVlIFNob3AgdGFibGV0XCJ9XX0sXCJkZWZhdWx0VGh1bWJuYWlsXCI6e1widGh1bWJuYWlsc1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmlfd2VicC9kazl1TldQUDdFQS9kZWZhdWx0LndlYnBcIixcIndpZHRoXCI6MTIwLFwiaGVpZ2h0XCI6OTB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9kazl1TldQUDdFQS9ocWRlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0VlQ0tnQkVGNUlWZktyaXFrREVRZ0JGUUFBaUVJWUFYQUJ3QUVHdUFJWlxcdTAwMjZyc1x1MDAzZEFPbjRDTEI0SmdTb1lwcjRRYVN3TzhYOE5MaThWQkpmaHdcIixcIndpZHRoXCI6MTY4LFwiaGVpZ2h0XCI6OTR9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9kazl1TldQUDdFQS9ocWRlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0VlQ01RQkVHNUlWZktyaXFrREVRZ0JGUUFBaUVJWUFYQUJ3QUVHdUFJWlxcdTAwMjZyc1x1MDAzZEFPbjRDTEJxdXB5dDFYaVdYX1VLdVYwZ01BQjhuUFY0V2dcIixcIndpZHRoXCI6MTk2LFwiaGVpZ2h0XCI6MTEwfSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvZGs5dU5XUFA3RUEvaHFkZWZhdWx0LmpwZz9zcXBcdTAwM2Qtb2F5bXdFZkNQWUJFSW9CU0ZYeXE0cXBBeEVJQVJVQUFJaENHQUZ3QWNBQkJyZ0NHUVx1MDAzZFx1MDAzZFxcdTAwMjZyc1x1MDAzZEFPbjRDTENJd2JQZkhvdWhmRVpSLWczY0ktS29SYU44ZndcIixcIndpZHRoXCI6MjQ2LFwiaGVpZ2h0XCI6MTM4fSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmlfd2VicC9kazl1TldQUDdFQS9tcWRlZmF1bHQud2VicFwiLFwid2lkdGhcIjozMjAsXCJoZWlnaHRcIjoxODB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9kazl1TldQUDdFQS9ocWRlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0VmQ05BQ0VMd0JTRlh5cTRxcEF4RUlBUlVBQUloQ0dBRndBY0FCQnJnQ0dRXHUwMDNkXHUwMDNkXFx1MDAyNnJzXHUwMDNkQU9uNENMQWJwSHZDdHM3OGZmem1FVDZPSlpTS2pSX0cxd1wiLFwid2lkdGhcIjozMzYsXCJoZWlnaHRcIjoxODh9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aV93ZWJwL2RrOXVOV1BQN0VBL2hxZGVmYXVsdC53ZWJwXCIsXCJ3aWR0aFwiOjQ4MCxcImhlaWdodFwiOjM2MH1dfSxcInBsYXlCdXR0b25cIjp7XCJidXR0b25SZW5kZXJlclwiOntcInN0eWxlXCI6XCJTVFlMRV9ERUZBVUxUXCIsXCJzaXplXCI6XCJTSVpFX0RFRkFVTFRcIixcImlzRGlzYWJsZWRcIjpmYWxzZSxcIm5hdmlnYXRpb25FbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBZ1E4RnNpRXdqVjI2anJqUEtWQXhVaTBIc0FIUVlyQ05IS0FRUW1IaFBZXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcIi93YXRjaD92XHUwMDNkZGs5dU5XUFA3RUFcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1dBVENIXCIsXCJyb290VmVcIjozODMyfX0sXCJ3YXRjaEVuZHBvaW50XCI6e1widmlkZW9JZFwiOlwiZGs5dU5XUFA3RUFcIn19LFwiYWNjZXNzaWJpbGl0eVwiOntcImxhYmVsXCI6XCJQbGF5IENvZmZlZSBTaG9wIHRhYmxldFwifSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQWdROEZzaUV3alYyNmpyalBLVkF4VWkwSHNBSFFZckNORVx1MDAzZFwifX0sXCJ2aWRlb0RldGFpbHNcIjp7XCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlclwiOntcImNoYW5uZWxUaHVtYm5haWxcIjp7XCJ0aHVtYm5haWxzXCI6W3tcInVybFwiOlwiaHR0cHM6Ly95dDMuZ2dwaHQuY29tL3l0Yy9BSWRyb19tcGRGQS11c0g2bnJoYlBfWVhGd1BtUkpvNFJRQm5HcWFELXJCckNZRVx1MDAzZHM2OC1jLWstYzB4MDBmZmZmZmYtbm8tcmpcIixcIndpZHRoXCI6NjgsXCJoZWlnaHRcIjo2OH1dfSxcImNvbGxhcHNlZFJlbmRlcmVyXCI6e1wiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzQ29sbGFwc2VkUmVuZGVyZXJcIjp7XCJ0aXRsZVwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiQ29mZmVlIFNob3AgdGFibGV0XCIsXCJuYXZpZ2F0aW9uRW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQWNRNDZJQ0loTUkxZHVvNjR6eWxRTVZJdEI3QUIwR0t3alJ5Z0VFSmg0VDJBXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2Rkazl1TldQUDdFQVwiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkZGs5dU5XUFA3RUFcIixcInRhcmdldFwiOlwiVEFSR0VUX05FV19XSU5ET1dcIn19fV19LFwic3VidGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIjM0MEsgdmlld3Mg4oCiIDE3IGNvbW1lbnRzXCJ9XX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FjUTQ2SUNJaE1JMWR1bzY0enlsUU1WSXRCN0FCMEdLd2pSXCJ9fSxcImV4cGFuZGVkUmVuZGVyZXJcIjp7XCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNFeHBhbmRlZFJlbmRlcmVyXCI6e1widGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIldheW5lIEppbW1lcnNvblwifV19LFwic3VidGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIjE2NSBzdWJzY3JpYmVyc1wifV19LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBWVE1S0lDSWhNSTFkdW82NHp5bFFNVkl0QjdBQjBHS3dqUlwifX0sXCJjaGFubmVsVGh1bWJuYWlsRW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUkxZHVvNjR6eWxRTVZJdEI3QUIwR0t3alJ5Z0VFSmg0VDJBXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcIi9jaGFubmVsL1VDWDktVFRYWlUtQklzNnQzaDV1SVBCd1wiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCIvY2hhbm5lbC9VQ1g5LVRUWFpVLUJJczZ0M2g1dUlQQndcIixcInRhcmdldFwiOlwiVEFSR0VUX05FV19XSU5ET1dcIn19fX0sXCJ2aWRlb0R1cmF0aW9uU2Vjb25kc1wiOlwiMTlcIixcIndlYlBsYXllckFjdGlvbnNQb3J0aW5nXCI6e1wic3Vic2NyaWJlQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSTFkdW82NHp5bFFNVkl0QjdBQjBHS3dqUnlnRUVKaDRUMkFcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInNlbmRQb3N0XCI6dHJ1ZSxcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL3N1YnNjcmlwdGlvbi9zdWJzY3JpYmVcIn19LFwic3Vic2NyaWJlRW5kcG9pbnRcIjp7XCJjaGFubmVsSWRzXCI6W1wiVUNYOS1UVFhaVS1CSXM2dDNoNXVJUEJ3XCJdLFwicGFyYW1zXCI6XCJFZ0lJQnhnQlwifX0sXCJ1bnN1YnNjcmliZUNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUkxZHVvNjR6eWxRTVZJdEI3QUIwR0t3alJ5Z0VFSmg0VDJBXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJzZW5kUG9zdFwiOnRydWUsXCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9zdWJzY3JpcHRpb24vdW5zdWJzY3JpYmVcIn19LFwidW5zdWJzY3JpYmVFbmRwb2ludFwiOntcImNoYW5uZWxJZHNcIjpbXCJVQ1g5LVRUWFpVLUJJczZ0M2g1dUlQQndcIl0sXCJwYXJhbXNcIjpcIkNnSUlCeGdCXCJ9fX0sXCJhY3Rpb25CYXJCdXR0b25zXCI6W3tcImJ1dHRvblJlbmRlcmVyXCI6e1wic3R5bGVcIjpcIlNUWUxFX09QQUNJVFlcIixcInNpemVcIjpcIlNJWkVfREVGQVVMVFwiLFwiaXNEaXNhYmxlZFwiOmZhbHNlLFwiaWNvblwiOntcImljb25UeXBlXCI6XCJMSU5LXCJ9LFwibmF2aWdhdGlvbkVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FNUThGc1lBQ0lUQ05YYnFPdU04cFVERlNMUWV3QWRCaXNJMGNvQkJDWWVFOWdcdTAwM2RcIixcImNvcHlUZXh0RW5kcG9pbnRcIjp7XCJ0ZXh0XCI6XCJodHRwczovL3lvdXR1LmJlL2RrOXVOV1BQN0VBXCIsXCJzdWNjZXNzQWN0aW9uc1wiOlt7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQU1ROEZzWUFDSVRDTlhicU91TThwVURGU0xRZXdBZEJpc0kwY29CQkNZZUU5Z1x1MDAzZFwiLFwib3BlblBvcHVwQWN0aW9uXCI6e1wicG9wdXBcIjp7XCJub3RpZmljYXRpb25BY3Rpb25SZW5kZXJlclwiOntcInJlc3BvbnNlVGV4dFwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiTGluayBjb3BpZWQgdG8gY2xpcGJvYXJkXCJ9XX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FVUXVXb2lFd2pWMjZqcmpQS1ZBeFVpMEhzQUhRWXJDTkVcdTAwM2RcIn19LFwicG9wdXBUeXBlXCI6XCJUT0FTVFwifX1dLFwiZmFpbHVyZUFjdGlvbnNcIjpbe1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FNUThGc1lBQ0lUQ05YYnFPdU04cFVERlNMUWV3QWRCaXNJMGNvQkJDWWVFOWdcdTAwM2RcIixcIm9wZW5Qb3B1cEFjdGlvblwiOntcInBvcHVwXCI6e1wibm90aWZpY2F0aW9uQWN0aW9uUmVuZGVyZXJcIjp7XCJyZXNwb25zZVRleHRcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIlVuYWJsZSB0byBjb3B5IGxpbmsgdG8gY2xpcGJvYXJkXCJ9XX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FRUXVXb2lFd2pWMjZqcmpQS1ZBeFVpMEhzQUhRWXJDTkVcdTAwM2RcIn19LFwicG9wdXBUeXBlXCI6XCJUT0FTVFwifX1dfX0sXCJhY2Nlc3NpYmlsaXR5XCI6e1wibGFiZWxcIjpcIkNvcHkgbGlua1wifSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQU1ROEZzWUFDSVRDTlhicU91TThwVURGU0xRZXdBZEJpc0kwUVx1MDAzZFx1MDAzZFwifX1dLFwicXVpY2tBY3Rpb25zQmFyXCI6e1wicXVpY2tBY3Rpb25zVmlld01vZGVsXCI6e1wid2F0Y2hPbllvdXR1YmVCdXR0b25cIjp7XCJ3YXRjaE9uWW91dHViZUJ1dHRvblZpZXdNb2RlbFwiOntcIndhdGNoT25ZdExhYmVsQnV0dG9uXCI6e1wiYnV0dG9uVmlld01vZGVsXCI6e1wib25UYXBcIjp7XCJpbm5lcnR1YmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FJUXl2TUZJaE1JMWR1bzY0enlsUU1WSXRCN0FCMEdLd2pSeWdFRUpoNFQyQVx1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkZGs5dU5XUFA3RUFcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZGRrOXVOV1BQN0VBXCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX0sXCJhY2Nlc3NpYmlsaXR5VGV4dFwiOlwiV2F0Y2ggb24gWW91VHViZVwiLFwic3R5bGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX09WRVJMQVlfREFSS1wiLFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBSVF5dk1GSWhNSTFkdW82NHp5bFFNVkl0QjdBQjBHS3dqUlwiLFwidHlwZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9URVhUXCIsXCJidXR0b25TaXplXCI6XCJCVVRUT05fVklFV19NT0RFTF9TSVpFX0xBUkdFXCIsXCJ0aXRsZUZvcm1hdHRlZFwiOntcImNvbnRlbnRcIjpcIldhdGNoIG9uXCIsXCJzdHlsZVJ1bnNcIjpbe1wid2VpZ2h0TGFiZWxcIjpcIkZPTlRfV0VJR0hUX1RISU5cIn1dLFwiYXR0YWNobWVudFJ1bnNcIjpbe1wic3RhcnRJbmRleFwiOjgsXCJsZW5ndGhcIjowLFwiZWxlbWVudFwiOntcInR5cGVcIjp7XCJpbWFnZVR5cGVcIjp7XCJpbWFnZVwiOntcInNvdXJjZXNcIjpbe1wiY2xpZW50UmVzb3VyY2VcIjp7XCJpbWFnZU5hbWVcIjpcIndhdGVybWFya1wifX1dfX19LFwicHJvcGVydGllc1wiOntcImxheW91dFByb3BlcnRpZXNcIjp7XCJoZWlnaHRcIjp7XCJ2YWx1ZVwiOjIwLFwidW5pdFwiOlwiRElNRU5TSU9OX1VOSVRfUE9JTlRcIn0sXCJ3aWR0aFwiOntcInZhbHVlXCI6OTAsXCJ1bml0XCI6XCJESU1FTlNJT05fVU5JVF9QT0lOVFwifSxcIm1hcmdpblwiOntcImxlZnRcIjp7XCJ2YWx1ZVwiOjV9fX19fSxcImFsaWdubWVudFwiOlwiQUxJR05NRU5UX1ZFUlRJQ0FMX0NFTlRFUlwifV19fX0sXCJ5dExvZ29Pbmx5QnV0dG9uXCI6e1wiYnV0dG9uVmlld01vZGVsXCI6e1wib25UYXBcIjp7XCJpbm5lcnR1YmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FFUTF0Y0VJaE1JMWR1bzY0enlsUU1WSXRCN0FCMEdLd2pSeWdFRUpoNFQyQVx1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkZGs5dU5XUFA3RUFcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZGRrOXVOV1BQN0VBXCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX0sXCJhY2Nlc3NpYmlsaXR5VGV4dFwiOlwiV2F0Y2ggb24gWW91VHViZVwiLFwic3R5bGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX01PTk9cIixcInRyYWNraW5nUGFyYW1zXCI6XCJDQUVRMXRjRUloTUkxZHVvNjR6eWxRTVZJdEI3QUIwR0t3alJcIixcInR5cGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVEVYVFwiLFwiYnV0dG9uU2l6ZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9DT01QQUNUXCIsXCJ0aXRsZUZvcm1hdHRlZFwiOntcImNvbnRlbnRcIjpcIiBcIixcImF0dGFjaG1lbnRSdW5zXCI6W3tcInN0YXJ0SW5kZXhcIjowLFwibGVuZ3RoXCI6MCxcImVsZW1lbnRcIjp7XCJ0eXBlXCI6e1wiaW1hZ2VUeXBlXCI6e1wiaW1hZ2VcIjp7XCJzb3VyY2VzXCI6W3tcImNsaWVudFJlc291cmNlXCI6e1wiaW1hZ2VOYW1lXCI6XCJ3YXRlcm1hcmtcIn19XX19fSxcInByb3BlcnRpZXNcIjp7XCJsYXlvdXRQcm9wZXJ0aWVzXCI6e1wiaGVpZ2h0XCI6e1widmFsdWVcIjoyMCxcInVuaXRcIjpcIkRJTUVOU0lPTl9VTklUX1BPSU5UXCJ9LFwid2lkdGhcIjp7XCJ2YWx1ZVwiOjkwLFwidW5pdFwiOlwiRElNRU5TSU9OX1VOSVRfUE9JTlRcIn0sXCJtYXJnaW5cIjp7XCJsZWZ0XCI6e1widmFsdWVcIjo1fX19fX0sXCJhbGlnbm1lbnRcIjpcIkFMSUdOTUVOVF9WRVJUSUNBTF9DRU5URVJcIn1dfX19fX19fX19LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSTFkdW82NHp5bFFNVkl0QjdBQjBHS3dqUnlnRUVKaDRUMkFcdTAwM2RcdTAwM2RcIixcInBlcm1pc3Npb25zXCI6e1wiYWxsb3dJbWFNb25ldGl6YXRpb25cIjpmYWxzZSxcImFsbG93UGZwVW5icmFuZGVkXCI6ZmFsc2V9LFwidmlkZW9GbGFnc1wiOntcInBsYXlhYmxlSW5FbWJlZFwiOnRydWUsXCJpc0NyYXdsYWJsZVwiOnRydWV9LFwicHJldmlld1BsYXlhYmlsaXR5U3RhdHVzXCI6e1wic3RhdHVzXCI6XCJPS1wiLFwicGxheWFibGVJbkVtYmVkXCI6dHJ1ZSxcImNvbnRleHRQYXJhbXNcIjpcIlEwRkZVMEZuWjBFXHUwMDNkXCJ9LFwiZW1iZWRkZWRQbGF5ZXJNb2RlXCI6XCJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUXCIsXCJlbWJlZGRlZFBsYXllckNvbmZpZ1wiOntcImVtYmVkZGVkUGxheWVyTW9kZVwiOlwiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVFwiLFwiZW1iZWRkZWRQbGF5ZXJGbGFnc1wiOnt9fSxcImVtYmVkZGVkUGxheWVyQ29udGV4dFwiOntcImVtYmVkZGVkUGxheWVyRW5jcnlwdGVkQ29udGV4dFwiOlwiQUNtYmxCVTBhQlhRaTIwby1Fa2U3UmFLVG1wakdlbjN6S2VzSEh5QUFteS1OT3l3OWRzSV9naGJMaEZabjFKaFphX1FiTVZsbXpwVWs4Rk9GYVpreU9lUmpBUGtzamNhNmdtblU3U0JQaXp0M2FiVlJ3WVZ5aVZsM2RfYlVSRFhuSjJTZ0o0YVlnXCIsXCJhbmNlc3Rvck9yaWdpbnNTdXBwb3J0ZWRcIjpmYWxzZX19IiwiY29udHJvbHMiOiJISURFIiwicGxheXNpbmxpbmUiOnRydWUsInJlbCI6IkhJREVfT1JfU0NPUEVEIiwic2hvd2luZm8iOmZhbHNlLCJ2aWRlb19pZCI6ImRrOXVOV1BQN0VBIiwicHJpdmVtYmVkIjp0cnVlLCJyZXNvbHZlX3VybF9yZXNwb25zZSI6IntcInJlc3BvbnNlQ29udGV4dFwiOntcInNlcnZpY2VUcmFja2luZ1BhcmFtc1wiOlt7XCJzZXJ2aWNlXCI6XCJDU0lcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImNcIixcInZhbHVlXCI6XCJXRUJfRU1CRURERURfUExBWUVSXCJ9LHtcImtleVwiOlwiY3ZlclwiLFwidmFsdWVcIjpcIjIuMjAyNjA3MjQuMDEuMDBcIn0se1wia2V5XCI6XCJ5dF9saVwiLFwidmFsdWVcIjpcIjBcIn0se1wia2V5XCI6XCJSZXNvbHZlVXJsX3JpZFwiLFwidmFsdWVcIjpcIjB4NmVlZTlkZDZmNGFjZGRhMVwifV19LHtcInNlcnZpY2VcIjpcIkdGRUVEQkFDS1wiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkdVSURFRF9IRUxQXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJsb2dnZWRfaW5cIixcInZhbHVlXCI6XCIwXCJ9XX0se1wic2VydmljZVwiOlwiRUNBVENIRVJcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImNsaWVudC52ZXJzaW9uXCIsXCJ2YWx1ZVwiOlwiMi4yMDI2MDcyNFwifSx7XCJrZXlcIjpcImNsaWVudC5uYW1lXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifV19XSxcInJlc3BvbnNlSWRcIjpcIkloTUk0TGlvNjR6eWxRTVZndE43QUIzUGV5X2FcIixcIndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGFcIjp7XCJoYXNEZWNvcmF0ZWRcIjp0cnVlfX0sXCJlbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkloTUk0TGlvNjR6eWxRTVZndE43QUIzUGV5X2FNZ2hsZUhSbGNtNWhiTW9CQkNZZUU5Z1x1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e319fSJ9LCJQT1NUX01FU1NBR0VfT1JJR0lOIjoiKiIsIlZJREVPX0lEIjoiZGs5dU5XUFA3RUEiLCJET01BSU5fQURNSU5fU1RBVEUiOiIiLCJDT09LSUVMRVNTIjp0cnVlfSk7d2luZG93Lnl0Y2ZnLm9iZnVzY2F0ZWREYXRhXyA9IFtdOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IjlkRXNEQXVEOFp3MUFGWjJNNjB4YlEiPndpbmRvdy55dEF0UCA9IG5ldyBQcm9taXNlKHJlcyA9PiB3aW5kb3cueXRBdE4gPSByZXMpOyB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsICgpID0+IHt3aW5kb3cueXRBdE4oKTsgZGVsZXRlIHdpbmRvdy55dEF0Tjt9KTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSI5ZEVzREF1RDhadzFBRloyTTYweGJRIj53aW5kb3cueXRlcnI9d2luZG93Lnl0ZXJyfHx0cnVlO3dpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzPXt9Owp3aW5kb3cub25lcnJvcj1mdW5jdGlvbihtc2csdXJsLGxpbmUsb3B0X2NvbHVtbk51bWJlcixvcHRfZXJyb3Ipe3ZhciBlcnI7aWYob3B0X2Vycm9yKWVycj1vcHRfZXJyb3I7ZWxzZXtlcnI9bmV3IEVycm9yO2Vyci5tZXNzYWdlPW1zZztlcnIuZmlsZU5hbWU9dXJsO2Vyci5saW5lTnVtYmVyPWxpbmU7aWYoIWlzTmFOKG9wdF9jb2x1bW5OdW1iZXIpKWVyclsiY29sdW1uTnVtYmVyIl09b3B0X2NvbHVtbk51bWJlcn12YXIgbWVzc2FnZT1TdHJpbmcoZXJyLm1lc3NhZ2UpO2lmKCFlcnIubWVzc2FnZXx8bWVzc2FnZSBpbiB3aW5kb3cudW5oYW5kbGVkRXJyb3JNZXNzYWdlcylyZXR1cm47d2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXNbbWVzc2FnZV09dHJ1ZTt2YXIgaW1nPW5ldyBJbWFnZTt3aW5kb3cuZW1lcmdlbmN5VGltZW91dEltZz1pbWc7aW1nLm9ubG9hZD1pbWcub25lcnJvcj1mdW5jdGlvbigpe2RlbGV0ZSB3aW5kb3cuZW1lcmdlbmN5VGltZW91dEltZ307dmFyIHZhbHVlcz0KeyJjbGllbnQubmFtZSI6eXRjZmcuZ2V0KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIpLCJjbGllbnQudmVyc2lvbiI6eXRjZmcuZ2V0KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpLCJtc2ciOm1lc3NhZ2UsInR5cGUiOiJVbmhhbmRsZWRXaW5kb3ciK2Vyci5uYW1lLCJmaWxlIjplcnIuZmlsZU5hbWUsImxpbmUiOmVyci5saW5lTnVtYmVyLCJzdGFjayI6KGVyci5zdGFja3x8IiIpLnN1YnN0cigwLDUwMCl9O3ZhciBwYXJ0cz1beXRjZmcuZ2V0KCJFTUVSR0VOQ1lfQkFTRV9VUkwiLCIvZXJyb3JfMjA0P3Q9anNlcnJvciZsZXZlbD1FUlJPUiIpXTt2YXIga2V5O2ZvcihrZXkgaW4gdmFsdWVzKXt2YXIgdmFsdWU9dmFsdWVzW2tleV07aWYodmFsdWUpcGFydHMucHVzaChrZXkrIj0iK2VuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSkpfWltZy5zcmM9cGFydHMuam9pbigiJiIpfTsKPC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iOWRFc0RBdUQ4WncxQUZaMk02MHhiUSI+dmFyIHl0ZXJyID0geXRlcnIgfHwgdHJ1ZTs8L3NjcmlwdD48c2NyaXB0IGRhdGEtaWQ9Il9nZCIgbm9uY2U9IjlkRXNEQXVEOFp3MUFGWjJNNjB4YlEiPndpbmRvdy5XSVpfZ2xvYmFsX2RhdGEgPSB7IkFmWThIZiI6ZmFsc2UsIkZMMWFuIjpmYWxzZSwiSGlQc2JiIjowLCJNVUU2TmUiOiJ5b3V0dWJlX3dlYiIsIk11SldqZCI6ZmFsc2UsIlVVRmFXYyI6IiUuQC5udWxsLDEwMDAsMl0iLCJjZmIyaCI6InlvdXR1YmUud2ViLWZyb250LWVuZC1jcml0aWNhbF8yMDI2MDcyMi4wMV9wMCIsImZQRHh3ZCI6W10sImhzRkxUIjoiJS5ALm51bGwsMTAsM10iLCJpQ3poRmMiOmZhbHNlLCJuUXlBRSI6e30sIm94TjNuYiI6eyIxIjpmYWxzZSwiMCI6ZmFsc2UsIjYxMDQwMTMwMSI6ZmFsc2UsIjg5OTU4ODQzNyI6ZmFsc2UsIjc3MjY1Nzc2OCI6dHJ1ZSwiNTEzNjU5NTIzIjpmYWxzZSwiNTY4MzMzOTQ1Ijp0cnVlLCIxMzMxNzYxNDAzIjp0cnVlLCI2NTExNzU4MjgiOmZhbHNlLCI3MjI3NjQ1NDIiOmZhbHNlLCI3NDg0MDIxNDUiOmZhbHNlLCI3NDg0MDIxNDYiOmZhbHNlLCI3NDg0MDIxNDciOnRydWUsIjE2MDI2MTMxODUiOmZhbHNlLCI4NjEzNzc3MjMiOmZhbHNlLCI4NjEzNzc3MjQiOmZhbHNlLCI4NjkzMzY5MDMiOmZhbHNlLCI4ODI2NzQ1MDciOmZhbHNlLCI4NjkzMzY5MDQiOmZhbHNlLCI4NjkzMzY5MDUiOmZhbHNlLCIyODM5NTMxNTUiOmZhbHNlLCI5MTk0NDQ4MjQiOmZhbHNlLCI5MzE0NjgwNDciOmZhbHNlLCI5Mjg4NzUzOTgiOmZhbHNlLCI2ODM3NDkyMDEiOmZhbHNlfSwidTRnN3IiOiIlLkAubnVsbCwxLDNdIiwieG5JOVAiOmZhbHNlLCJ4d0FmRSI6dHJ1ZSwieUZueHJmIjoyNDg2fTs8L3NjcmlwdD48dGl0bGU+WW91VHViZTwvdGl0bGU+PGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZGs5dU5XUFA3RUEiPjwvaGVhZD48Ym9keSBjbGFzcz0iZGF0ZS0yMDI2MDcyNiBlbl9VUyBsdHIgIHNpdGUtY2VudGVyLWFsaWduZWQgc2l0ZS1hcy1naWFudC1jYXJkIGdlY2tvIGdlY2tvLTEzNCIgZGlyPSJsdHIiPjxkaXYgaWQ9InBsYXllciI+PC9kaXY+PHNjcmlwdCBub25jZT0iOWRFc0RBdUQ4WncxQUZaMk02MHhiUSI+dmFyIHNldE1lc3NhZ2U9ZnVuY3Rpb24obXNnKXtpZih3aW5kb3cueXQmJnl0LnNldE1zZyl5dC5zZXRNc2cobXNnKTtlbHNle3dpbmRvdy55dGNmZz13aW5kb3cueXRjZmd8fHt9O3l0Y2ZnLm1zZ3M9bXNnfX07CnNldE1lc3NhZ2UoeyJBQ0NPVU5UX0xBQkVMIjoiQWNjb3VudCIsIkFDVF9PTl9USElTX0NPTU1FTlQiOiJBY3Qgb24gdGhpcyBjb21tZW50IiwiQUREX1RPX0RST1BET1dOX0xBQkVMIjoiQWRkIHRvIHBsYXlsaXN0IiwiQURfQkFER0VfSElOVCI6IkFkdmVydGlzZW1lbnQiLCJBRF9CQURHRV9URVhUIjoiQUQiLCJBTExfQ0hBTk5FTFNfTEFCRUwiOiJBbGwgY2hhbm5lbHMiLCJBTUJJRU5UX01PREUiOiJBbWJpZW50IG1vZGUiLCJBTUJJRU5UX01PREVfT0ZGIjoiQW1iaWVudCBtb2RlIG9mZiIsIkFNQklFTlRfTU9ERV9PTiI6IkFtYmllbnQgbW9kZSBvbiIsIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9CT0RZIjoiUGxlYXNlIHVwZGF0ZSB5b3VyIGRldmljZSB0byBBbmRyb2lkIDQuMCBiZWZvcmUgT2N0IDIyLCAyMDIwIHRvIGtlZXAgdXNpbmcgWW91VHViZSB3aXRob3V0IGludGVycnVwdGlvbnMuIiwiQU5EUk9JRF9ERVBSRUNBVElPTl9NRVNTQUdFX0hFQURFUiI6IllvdVR1YmUgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIG9uIHlvdXIgZGV2aWNlIGFmdGVyIDIwMjAtMTAtMjIiLCJBUFBfVVBTRUxMX1NVQlRJVExFIjoiVXBsb2FkLCBzYXZlLCBhbmQgY29tbWVudCBvbiB2aWRlb3Mgd2l0aCB0aGUgWW91VHViZSBhcHAiLCJBUFBfVVBTRUxMX1RJVExFIjoiU3dpdGNoIHRvIHRoZSBhcHAgZm9yIGEgYmV0dGVyIHZpZXdpbmcgZXhwZXJpZW5jZSIsIkFVRElPX1RSQUNLIjoiQXVkaW8gVHJhY2siLCJBVVRPTkFWX1RPR0dMRSI6IkF1dG9wbGF5IiwiQVVUT1BMQVlfSU5fVEVOX1NFQ09ORFMiOiJOZXh0IHZpZGVvIHdpbGwgYmUgcGxheWVkIGluIHRlbiBzZWNvbmRzIiwiQVVUT1BMQVlfUEFVU0VEIjoiQXV0b3BsYXkgaXMgcGF1c2VkIiwiQVVUT1BMQVlfUExBWV9OT1ciOiJQbGF5IG5vdyIsIkFVVE9QTEFZX1VQX05FWFRfSU4iOiJVcCBuZXh0IGluIHNlY29uZHNfcGxhY2Vob2xkZXIiLCJBVVRPX1RSQU5TTEFURSI6IkF1dG8tdHJhbnNsYXRlIiwiQVVUT19aT09NIjoiQXV0byB6b29tIiwiQkFDSyI6IkJhY2siLCJCUkFOREVEX1NJR05fSU5fRElBTE9HX0RFU0NSSVBUSU9OIjoiQWNjZXNzIGFsbCBmZWF0dXJlcyBhbmQgZ2V0IGEgc2VhbWxlc3MgZXhwZXJpZW5jZSIsIkNBTkNFTCI6IkNhbmNlbCIsIkNIQU5ORUxfU1dJVENIRVJfTEFCRUwiOiJTd2l0Y2ggYWNjb3VudCIsIkNIQVJBQ1RFUl9MSU1JVCI6IlVzZSBmZXdlciB0aGFuICRudW1iZXIgY2hhcmFjdGVycyIsIkNMT1NFIjoiQ2xvc2UiLCJDTE9TRURfQ0FQVElPTlNfRElTQUJMRUQiOiJObyBjYXB0aW9ucyBhcmUgYXZhaWxhYmxlIGZvciB0aGlzIHZpZGVvIiwiQ0xPU0VEX0NBUFRJT05TX09GRiI6IlN1YnRpdGxlcy9DQyB0dXJuZWQgb2ZmIiwiQ0xPU0VEX0NBUFRJT05TX09OIjoiU3VidGl0bGVzL0NDIHR1cm5lZCBvbiIsIkNMT1NFRF9DQVBUSU9OU19PTl9MQU5HVUFHRSI6IlN1YnRpdGxlcy9DQyB0dXJuZWQgb24gKGxhbmd1YWdlX3BsYWNlaG9sZGVyKSIsIkNMT1NFX1NFQVJDSF9MQUJFTCI6IkNsb3NlIHNlYXJjaCIsIkNMT1NFX1NFVFRJTkdTX0xBQkVMIjoiQ2xvc2UgU2V0dGluZ3MiLCJDT01NRU5UQk9YX1BPU1QiOiJQb3N0IiwiQ09NTUVOVF9NT0RBTF9DT05URU5UIjoiUGxlYXNlIHNpZ24gaW4gdG8gYWN0IG9uIHRoaXMgY29tbWVudC4iLCJDT05GSVJNX09LIjoiT0siLCJDT05ORUNUX1RPX1RIRV9JTlRFUk5FVCI6IkNvbm5lY3QgdG8gdGhlIGludGVybmV0IiwiQ09QSUVEX1RPX0NMSVBCT0FSRCI6IkNvcGllZCB0byBjbGlwYm9hcmQiLCJDT1BZIjoiQ29weSIsIkNPUFlfREVCVUdfSU5GTyI6IkNvcHkgRGVidWcgSW5mbyIsIkNPUFlfRU1CRURfQ09ERSI6IkNvcHkgZW1iZWQgY29kZSIsIkNPUFlfTElOS19MQUJFTCI6IkNvcHkgbGluayIsIkNPUFlfVklERU9fVVJMIjoiQ29weSB2aWRlbyBVUkwiLCJDT1BZX1ZJREVPX1VSTF9BVF9DVVJSRU5UX1RJTUUiOiJDb3B5IHZpZGVvIFVSTCBhdCBjdXJyZW50IHRpbWUiLCJDUkVBVEVfQ0hBTk5FTF9USVRMRSI6IkNyZWF0ZSBjaGFubmVsIiwiREVMRVRFX0ZST01fRE9XTkxPQURTIjoiRGVsZXRlIGZyb20gZG93bmxvYWRzIiwiRElBTE9HIjoiRGlhbG9nIiwiRE1BX0NPTlNFTlRfQ09ORklSTUFUSU9OIjoiWW91ciBjaG9pY2Ugd2lsbCB0YWtlIGVmZmVjdCBvbiBNYXJjaCA2LCAyMDI0LiBZb3UgY2FuIGNoYW5nZSB5b3VyIGNob2ljZXMgYW55dGltZSBpbiB5b3VyIEdvb2dsZSBBY2NvdW50LiIsIkRNQV9DT05TRU5UX0NPTkZJUk1BVElPTjIiOiJZb3VyIGNob2ljZXMgaGF2ZSBiZWVuIHNhdmVkLiBZb3UgY2FuIGNoYW5nZSB5b3VyIGNob2ljZXMgYW55dGltZSBpbiB5b3VyIEdvb2dsZSBBY2NvdW50LiIsIkRNQV9DT05TRU5UX0dFTkVSQUxfRVJST1IiOiJTb21ldGhpbmcgd2VudCB3cm9uZyB3aGlsZSBsb2FkaW5nIiwiRE1BX0NPTlNFTlRfUkVDT1JEX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHlvdXIgY2hvaWNlcyB3ZXJlIG5vdCBzYXZlZCIsIkRPTkUiOiJEb25lIiwiRE9XTkxPQUQiOiJEb3dubG9hZCIsIkZBSUxFRF9DT1BZX0VSUk9SX01FU1NBR0UiOiJDb3B5IGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhlIGRldmljZSwgZmFpbGVkIHRvIGNvcHkuIiwiRkxBR19DT05GSVJNIjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGZsYWcgdGhpcyB2aWRlbz8iLCJGTEFHX0NPTlRFTlQiOiJTaWduIGluIHRvIGZsYWcgaXQuIiwiRkxBR19MQUJFTCI6IkZsYWcgYXMgaW5hcHByb3ByaWF0ZSIsIkZMQUdfVElUTEUiOiJJbmFwcHJvcHJpYXRlIHZpZGVvPyIsIkZVTExTQ1JFRU5fR0VORVJJQ19FUlJPUiI6IkZ1bGwgc2NyZWVuIGlzIHVuYXZhaWxhYmxlLiIsIkdPT0dMRV9DT01QQU5ZIjoiWW91VHViZSwgYSBHb29nbGUgY29tcGFueSIsIkhJREVfQUxFUlQiOiJIaWRlIHRoaXMgYWxlcnQiLCJISURFX1BMQVlFUl9DT05UUk9MUyI6IkhpZGUgcGxheWVyIGNvbnRyb2xzIiwiSElERV9QTEFZTElTVF9WSURFT1MiOiJIaWRlIHBsYXlsaXN0IHZpZGVvcyIsIkhJREVfU0VBUkNIX0ZJTFRFUlNfTEFCRUwiOiJIaWRlIHNlYXJjaCBmaWx0ZXJzIiwiSE9NRSI6IkhvbWUiLCJJTlZBTElEX1JFU1BPTlNFX1JFQ0VJVkVEIjoiSW52YWxpZCByZXNwb25zZSByZWNlaXZlZC4iLCJMRUFWRV9BX0NPTU1FTlRfVElUTEUiOiJMZWF2ZSBhIGNvbW1lbnQ/IiwiTElCUkFSWSI6IkxpYnJhcnkiLCJMSUtFX0NPVU5UX1RFWFQiOnsiY2FzZTAiOiJObyBsaWtlcyIsImNhc2UxIjoiMSBsaWtlIiwib3RoZXIiOiIjIGxpa2VzIn0sIkxJS0VfQ09VTlRfVEVYVF9MQUJFTCI6IntcImNhc2UwXCI6IFwiTm8gcGVvcGxlIGhhdmUgbGlrZWQgdGhpcyB2aWRlby5cIiwgXCJjYXNlMVwiOiBcIjEgcGVyc29uIGhhcyBsaWtlZCB0aGlzIHZpZGVvLlwiLCBcIm90aGVyXCI6IFwiIyBwZW9wbGUgaGF2ZSBsaWtlZCB0aGlzIHZpZGVvLlwifSIsIkxJU1RFTklORyI6Ikxpc3RlbmluZy4uLiIsIkxPQURJTkciOiJMb2FkaW5nLi4uIiwiTE9OR19QUkVTU19NSUNfVE9fU1BFQUsiOiJMb25nIHByZXNzIG1pY19pY29uX3BsYWNlaG9sZGVyIHRvIHNwZWFrIiwiTE9PUCI6Ikxvb3AiLCJNRU5VX0RFU0tUT1AiOiJEZXNrdG9wIiwiTUVOVV9FWElUIjoiRXhpdCIsIk1FTlVfRkVFREJBQ0siOiJGZWVkYmFjayIsIk1FTlVfSEVMUCI6IkhlbHAiLCJNRU5VX0lNUFJFU1NVTSI6IkltcHJpbnQiLCJNRU5VX1BMQVlFUl9TRVRUSU5HUyI6IlBsYXliYWNrIFNldHRpbmdzIiwiTUVOVV9SRVBPUlRfQV9QUk9CTEVNIjoiUmVwb3J0IGEgcHJvYmxlbSB3aXRoIFlvdVR1YmUiLCJNRU5VX1NFTkRfRkVFREJBQ0siOiJTZW5kIGZlZWRiYWNrIiwiTUVOVV9TRVRUSU5HUyI6IlNldHRpbmdzIiwiTUVOVV9TSUdOX0lOIjoiU2lnbiBJbiIsIk1FTlVfVEVSTVMiOiJQcml2YWN5IFx1MDAyNiBUZXJtcyIsIk1FTlVfVElUTEUiOiJNZW51IiwiTUVOVV9ZT1VSX0RBVEEiOiJZb3VyIGRhdGEgaW4gWW91VHViZSIsIk1FVEFEQVRBX1NVQlRJVExFX0NIQU5ORUxfTkFNRV9MQUJFTCI6IlVwbG9hZGVkIGJ5ICR7Y2hhbm5lbF9uYW1lX3BsYWNlaG9sZGVyfS4iLCJNTUdfQ09ORklSTUFUSU9OIjoiWW91ciBjaG9pY2UgaGFzIGJlZW4gc2F2ZWQuIFlvdSBjYW4gY2hhbmdlIHRoaXMgc2V0dGluZyBhbnl0aW1lIGluIE15IEFkIENlbnRlci4iLCJNTUdfQ09OU0VOVF9SRUNPUkRfRVJST1IiOiJTb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgeW91ciBjaG9pY2Ugd2FzIG5vdCBzYXZlZCIsIk1PUkUiOiJNb3JlIiwiTU9SRV9JTkZPIjoiTW9yZSBpbmZvIiwiTU9SRV9MT1dFUkNBU0UiOiJtb3JlIiwiTU9SRV9PUFRJT05TIjoiTW9yZSBvcHRpb25zIiwiTU9SRV9WSURFT1MiOiJNb3JlIHZpZGVvcyIsIk1PUkVfVklERU9TX0NMT1NFX0JVVFRPTl9BUklBX0xBQkVMIjoiSGlkZSBtb3JlIHZpZGVvcyIsIk1PUkVfVklERU9TX0ZST01fQ0hBTk5FTCI6Ik1vcmUgdmlkZW9zIGZyb20gJGNoYW5uZWxfbmFtZV9wbGFjZWhvbGRlciIsIk1PUkVfVklERU9TX05FWFRfQlVUVE9OX0FSSUFfTEFCRUwiOiJOZXh0IHZpZGVvcyIsIk1PUkVfVklERU9TX1BSRVZJT1VTX0JVVFRPTl9BUklBX0xBQkVMIjoiUHJldmlvdXMgdmlkZW9zIiwiTVVURV9WT0xVTUUiOiJNdXRlIiwiTkVXX1BMQVlMSVNUIjoiTmV3IHBsYXlsaXN0IiwiTkVYVF9WSURFTyI6Ik5leHQgdmlkZW8iLCJOT1RJRklDQVRJT05fRVJST1JfTUVTU0FHRSI6IlNvbWV0aGluZyB3ZW50IHdyb25nLCBwbGVhc2UgdHJ5IGFnYWluLiIsIk5PVF9GT1VORF9DVEEiOiJCcm93c2UgVmlkZW9zIiwiTk9UX0ZPVU5EX01FU1NBR0UiOiJQbGVhc2Ugc2VhcmNoIGZvciBzb21ldGhpbmcgZWxzZSwgb3IgYnJvd3NlIHlvdXIgSG9tZSBmZWVkLiIsIk5PVF9GT1VORF9USVRMRSI6IlRoaXMgcGFnZSBpc25cdTAwMjd0IGF2YWlsYWJsZSIsIk5PX0RPV05MT0FEUyI6Ik5vIGRvd25sb2FkcyIsIk5PX01JQ19JTlBVVCI6IkRpZG5cdTAwMjd0IGhlYXIgdGhhdC4gVHJ5IHNwZWFraW5nIGFnYWluLiIsIk9GRkxJTkVfQ0hFQ0tfQ09OTkVDVElPTiI6IllvdVx1MDAyN3JlIG9mZmxpbmUuIENoZWNrIHlvdXIgY29ubmVjdGlvbi4iLCJPT1BTX01FU1NBR0UiOiJPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZy4iLCJPUEVOX0FQUCI6Ik9wZW4gQXBwIiwiT1BFTl9ZT1VUVUJFIjoiT3BlbiB0aGUgYXBwIiwiT1BFTl9ZT1VUVUJFX0FQUCI6Ik9wZW4gWW91VHViZSBhcHAiLCJQQVVTRSI6IlBhdXNlIiwiUExBWSI6IlBsYXkiLCJQTEFZQkFDS19TUEVFRF9YIjoiJHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyfXgiLCJQTEFZRVJfQ0FQVElPTiI6IkNhcHRpb25zIiwiUExBWUVSX0NBUFRJT05fT0ZGIjoiT2ZmIiwiUExBWUVSX0NBUFRJT05fT04iOiJPbiIsIlBMQVlFUl9ET1VCTEVfU1BFRURfVVNFUl9FRFUiOiIyeCIsIlBMQVlFUl9ET1VCTEVfVEFQX1RPX1NFRUsiOiJEb3VibGUgdGFwIGxlZnQgb3IgcmlnaHQgdG8gc2tpcCAxMCBzZWNvbmRzIiwiUExBWUVSX0RPVUJMRV9UQVBfVE9fU0hPV19PUl9ISURFX1BMQVlFUl9DT05UUk9MUyI6IkRvdWJsZSB0YXAgdG8gc2hvdyBvciBoaWRlIHBsYXllciBjb250cm9scyIsIlBMQVlFUl9FWElUX0ZVTExTQ1JFRU4iOiJFeGl0IGZ1bGwgc2NyZWVuIiwiUExBWUVSX0ZBU1RGT1JXQVJEX1NFQ09ORFMiOiJGYXN0IGZvcndhcmQgJHNlY29uZHNfcGxhY2Vob2xkZXIgc2Vjb25kcyIsIlBMQVlFUl9GVUxMU0NSRUVOIjoiRW50ZXIgZnVsbCBzY3JlZW4iLCJQTEFZRVJfTElWRV9MQUJFTCI6IkxpdmUiLCJQTEFZRVJfTElWRV9OT1ciOiJMaXZlIG5vdyIsIlBMQVlFUl9NSU5JTUlaRSI6Ik1pbmltaXplIiwiUExBWUVSX05FWFQiOiJOZXh0IHZpZGVvIiwiUExBWUVSX1BBVVNFIjoiUGF1c2UgdmlkZW8iLCJQTEFZRVJfUExBWSI6IlBsYXkgdmlkZW8iLCJQTEFZRVJfUFJFTUlFUkVfTEFCRUwiOiJQcmVtaWVyZSIsIlBMQVlFUl9QUkVWSU9VUyI6IlByZXZpb3VzIHZpZGVvIiwiUExBWUVSX1BST0dSRVNTX0JBUiI6IlNlZWsgc2xpZGVyIiwiUExBWUVSX1FVQUxJVFkiOiJRdWFsaXR5IiwiUExBWUVSX1FVQUxJVFlfQVVUTyI6IkF1dG8iLCJQTEFZRVJfUkVQTEFZIjoiUmVwbGF5IFZpZGVvIiwiUExBWUVSX1JFV0lORF9TRUNPTkRTIjoiUmV3aW5kICRzZWNvbmRzX3BsYWNlaG9sZGVyIHNlY29uZHMiLCJQTEFZRVJfU0VDT05EUyI6IiRzZWNvbmRzX3BsYWNlaG9sZGVyIHNlY29uZHMiLCJQTEFZRVJfU1BFRUQiOiJTcGVlZCIsIlBMQVlFUl9TUEVFRFVQX1VTRVJfRURVIjoiUGxheWluZyBhdCBzcGVlZF9yYXRlX3BsYWNlaG9sZGVyeCBzcGVlZCIsIlBMQVlFUl9TUEVFRF9ERUNSRUFTRSI6IkRlY3JlYXNlIHBsYXliYWNrIHNwZWVkIiwiUExBWUVSX1NQRUVEX0lOQ1JFQVNFIjoiSW5jcmVhc2UgcGxheWJhY2sgc3BlZWQiLCJQTEFZRVJfU1BFRURfTk9STUFMIjoiTm9ybWFsIiwiUExBWUVSX1NQRUVEX1JFQ0VOVCI6IlJlY2VudCIsIlBMQVlFUl9USU1FX0RVUkFUSU9OIjoiVGltZSBkdXJhdGlvbiIsIlBMQVlFUl9USU1FX0VMQVBTRUQiOiJUaW1lIGVsYXBzZWQiLCJQTEFZRVJfVElNRV9GT1JNQVRURUQiOnsiY2FzZTAiOiIke21pbnV0ZXN9IG1pbnV0ZXMgYW5kICR7c2Vjb25kc30gc2Vjb25kcyIsImNhc2UxIjoiMSBob3VyLCAke21pbnV0ZXN9IG1pbnV0ZXMgYW5kICR7c2Vjb25kc30gc2Vjb25kcyIsIm90aGVyIjoiIyBob3VycywgJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMifSwiUExBWUxJU1RfQ1VSUkVOVF9WSURFT19JTkRFWCI6IiR7Y3VycmVudF92aWRlb19pbmRleH0gb2YgJHtsYXN0X2luZGV4fS4iLCJQTEFZTElTVF9ERVNDUklQVElPTl9JTlZBTElEX0NIQVJBQ1RFUlMiOiJQbGF5bGlzdCBkZXNjcmlwdGlvbiBjYW5cdTAwMjd0IHVzZSBcdTAwM2Mgb3IgXHUwMDNlIiwiUExBWUxJU1RfTUlYX0RFVEFJTEVEX0xPTkdfQllMSU5FIjoiTWl4ZXMgYXJlIHBsYXlsaXN0cyBZb3VUdWJlIG1ha2VzIGZvciB5b3UiLCJQTEFZTElTVF9OQU1FX0lOVkFMSURfQ0hBUkFDVEVSUyI6IlBsYXlsaXN0IHRpdGxlIGNhblx1MDAyN3QgdXNlIFx1MDAzYyBvciBcdTAwM2UiLCJQTEFZTElTVF9OQU1FX01JU1NJTkciOiJQbGF5bGlzdCB0aXRsZSByZXF1aXJlZC4iLCJQTEFZTElTVF9OQU1FX1RPT19MT05HIjoiUGxheWxpc3QgdGl0bGUgaXMgdG9vIGxvbmcuIiwiUExBWUxJU1RfUEFORUxfRU5EX09GX1BMQVlMSVNUIjoiRW5kIG9mIFBsYXlsaXN0IiwiUExBWUxJU1RfUEFORUxfTkVYVCI6Ik5leHQ6IiwiUExBWUxJU1RfUEFORUxfVU5MSVNURURfUExBWUxJU1QiOiJVbmxpc3RlZCBQbGF5bGlzdCIsIlBMQVlMSVNUX1RFWFRfSU5QVVRfQ0hBUl9DT1VOVCI6ImN1cnJlbnRfY291bnRfcGxhY2Vob2xkZXIgb2YgbWF4X2NvdW50X3BsYWNlaG9sZGVyIGNoYXJhY3RlcnMgdXNlZCIsIlBMQVlfQUxMIjoiUGxheSBhbGwiLCJQTEVBU0VfRklYX0VSUk9SUyI6IlBsZWFzZSBmaXggZXJyb3JzIGFuZCB0cnkgYWdhaW4uIiwiUFJFTUlVTV9CQURHRV9MQUJFTCI6IlByZW1pdW0iLCJQUkVWSU9VU19WSURFTyI6IlByZXZpb3VzIHZpZGVvIiwiUFJJVkFDWV9QT0xJQ1kiOiJQcml2YWN5IFBvbGljeSIsIlJFTE9BRCI6IlJlbG9hZCIsIlJFUExJRVNfU0hPV19NT1JFIjoiU2hvdyBtb3JlIHJlcGxpZXMiLCJSRVFVSVJFRF9MQUJFTCI6IlJlcXVpcmVkIiwiU0FWRV9QTEFZTElTVCI6IlNhdmUiLCJTQ1JVQl9TTElERV9VU0VSX0VEVSI6IlNsaWRlIGxlZnQgb3IgcmlnaHQgdG8gc2VlayIsIlNFQVJDSCI6IlNlYXJjaCIsIlNFQVJDSF9BUFBFTkRfTEFCRUwiOiJBcHBlbmQgc3VnZ2VzdGlvbiB0byBzZWFyY2ggZmllbGQiLCJTRUFSQ0hfQ0hBTk5FTCI6IlNlYXJjaCBjaGFubmVsIiwiU0VBUkNIX0NMRUFSX0xBQkVMIjoiQ2xlYXIgY3VycmVudCBzZWFyY2ggdGV4dCIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9BTEJVTSI6IkFsYnVtIGJ5ICR7YXJ0aXN0fSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9BTEJVTV9OT19BUlRJU1QiOiJBbGJ1bSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9NT1ZJRSI6Ik1vdmllIiwiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1NPTkciOiJTb25nIGJ5ICR7YXJ0aXN0fSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9TT05HX05PX0FSVElTVCI6IlNvbmciLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fVFZfU0hPVyI6IlRWIHNob3ciLCJTRUFSQ0hfRklMVEVSU19MQUJFTCI6IlNlYXJjaCBmaWx0ZXJzIiwiU0VBUkNIX0xBQkVMIjoiU2VhcmNoIFlvdVR1YmUiLCJTRUFSQ0hfUFBQX1BMQUNFSE9MREVSX1RFWFQiOiJTZWFyY2ggcGFpZCBwcm9kdWN0IHBsYWNlbWVudCB2aWRlb3MiLCJTRUVLX1NMSURFUiI6IlNlZWsgc2xpZGVyIiwiU0VUVElOR1NfTEFCRUwiOiJTZXR0aW5ncyIsIlNFVFRJTkdTX01JQ19QRVJNSVNTSU9OIjoiUGxlYXNlIGFsbG93IG1pY3JvcGhvbmUgcGVybWlzc2lvbiBpbiBkZXZpY2Ugc2V0dGluZ3MuIiwiU0VUX1BMQVlCQUNLX1NQRUVEX1giOiIke3NwZWVkX3JhdGVfcGxhY2Vob2xkZXJ9eCBzcGVlZCIsIlNIT1JUU19UQUJfTEFCRUwiOiJTaG9ydHMiLCJTSE9XX0xFU1MiOiJTaG93IGxlc3MiLCJTSE9XX01PUkUiOiJTaG93IG1vcmUiLCJTSE9XX1BMQVlFUl9DT05UUk9MUyI6IlNob3cgcGxheWVyIGNvbnRyb2xzIiwiU0hPV19QTEFZTElTVF9WSURFT1MiOiJTaG93IHBsYXlsaXN0IHZpZGVvcyIsIlNIT1dfU0VBUkNIX0ZJTFRFUlNfTEFCRUwiOiJTaG93IHNlYXJjaCBmaWx0ZXJzIiwiU0lHTl9JTl9MQUJFTCI6IlNpZ24gaW4iLCJTSUdOX0lOX09OX1dFQiI6IlNpZ24gaW4gb24gd2ViIiwiU1RBQkxFX1ZPTFVNRSI6IlN0YWJsZSB2b2x1bWUiLCJTVEFCTEVfVk9MVU1FX09GRiI6IlN0YWJsZSB2b2x1bWUgb2ZmIiwiU1RBQkxFX1ZPTFVNRV9PTiI6IlN0YWJsZSB2b2x1bWUgb24iLCJTVEFUU19GT1JfTkVSRFMiOiJTdGF0cyBGb3IgTmVyZHMiLCJTVUdHRVNUSU9OX0RJU01JU1NFRF9MQUJFTCI6IlN1Z2dlc3Rpb24gUmVtb3ZlZCIsIlNVR0dFU1RJT05fRElTTUlTU19JTl9TRVRUSU5HU19MQUJFTCI6IlJlbW92ZSBpbiBzZXR0aW5ncyIsIlNVR0dFU1RJT05fRElTTUlTU19MQUJFTCI6IlJlbW92ZSIsIlNVR0dFU1RJT05fTkVXX1ZJREVPU19URVhUIjoiTmV3IHZpZGVvcyIsIlNVR0dFU1RJT05fVEhVTUJOQUlMX0FUVFJJQlVUSU9OX0RJQUxPR19CVVRUT05fTEFCRUwiOiJWaXNpdCBzb3VyY2UiLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9ESUFMT0dfREVTQ1JJUFRJT04iOiJWaXNpdCBpbWFnZSBzb3VyY2Ugd2Vic2l0ZT8iLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9ESUFMT0dfVElUTEUiOiJJbWFnZSBzb3VyY2UiLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9MQUJFTCI6IlZpZXcgaW1hZ2Ugc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfTEFCRUwiOiJJbWFnZSBmb3Igc3VnZ2VzdGlvbiIsIlRFUk1TX09GX1NFUlZJQ0UiOiJUZXJtcyBvZiBTZXJ2aWNlIiwiVElNRVNUQU1QX01JTlVURVMiOiJ0aW1lc3RhbXAgbWludXRlcyByZXF1aXJlZCIsIlRJTUVTVEFNUF9TRUNPTkRTIjoidGltZXN0YW1wIHNlY29uZHMgcmVxdWlyZWQiLCJUT0dHTEVfT0ZGIjoiT2ZmIiwiVE9HR0xFX09OIjoiT24iLCJUUkVORElORyI6IlRyZW5kaW5nIiwiVFJPVUJMRVNIT09UX1BMQVlCQUNLX0lTU1VFIjoiVHJvdWJsZXNob290IHBsYXliYWNrIGlzc3VlIiwiVFJZX0FHQUlOX0xBVEVSIjoiU29tZXRoaW5nIHdlbnQgd3JvbmcuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuIiwiVFJZX0FHQUlOX01JQ19QRVJNSVNTSU9OIjoiUGxlYXNlIHRyeSBhZ2FpbiBhbmQgYWxsb3cgbWljcm9waG9uZSBwZXJtaXNzaW9uLiIsIlRVUk5fT0ZGX0FVVE9QTEFZX0NPTkZJUk1fQlVUVE9OX1RJVExFIjoiVHVybiBvZmYiLCJUVVJOX09GRl9BVVRPUExBWV9ESUFMT0dfREVTQ1JJUFRJT04iOiJXaGVuIGF1dG9wbGF5IGlzIG9mZiwgYSBzdWdnZXN0ZWQgdmlkZW8gd2lsbCBub3QgYXV0b21hdGljYWxseSBwbGF5IG5leHQiLCJUVVJOX09GRl9BVVRPUExBWV9ESUFMT0dfVElUTEUiOiJUdXJuIG9mZiBhdXRvcGxheT8iLCJVTk1VVEVfVk9MVU1FIjoiVW5tdXRlIiwiVklERU9TIjoie3ZpZGVvcyxwbHVyYWwsIFx1MDAzZDB7MCB2aWRlb3N9XHUwMDNkMXsxIHZpZGVvfW90aGVyeyMgdmlkZW9zfX0iLCJWSURFT19MSU5LX0xBQkVMIjoiVmlkZW8gbGluayIsIldBVENIRUQiOiJXYXRjaGVkIiwiX19sYW5nX18iOiJlbiJ9KTs8L3NjcmlwdD48c2NyaXB0IHNyYz0iL3MvXy95dGVtYmVkcy9fL2pzL2s9eXRlbWJlZHMuYmFzZS5lbl9VUy5fODhUd3l5SEtIcy4yMDIxLk8vYW09QUFBQWdBL2Q9MS9icj0xL3JzPUFHS015d0V1MlRRVXpkU0YwQWNzRkJNVXJGcXl1cktsdXcvbT1yb290LGJhc2UiIG5hbWU9ImVtYmVkX2NsaWVudCIgaWQ9ImJhc2UtanMiIG5vbmNlPSI5ZEVzREF1RDhadzFBRloyTTYweGJRIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3MvcGxheWVyLzdhNzk2OWMyL3BsYXllcl9lbWJlZF9lczYudmZsc2V0L2VuX1VTL2Jhc2UuanMiIG5hbWU9InBsYXllci9iYXNlIiBub25jZT0iOWRFc0RBdUQ4WncxQUZaMk02MHhiUSI+PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iOWRFc0RBdUQ4WncxQUZaMk02MHhiUSI+d3JpdGVFbWJlZCgpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IjlkRXNEQXVEOFp3MUFGWjJNNjB4YlEiPihmdW5jdGlvbigpIHtpZiAod2luZG93Lnl0QXROKSB7d2luZG93Lnl0QXROKHsnUic6ICdceDdiXHgyMnJlc3BvbnNlQ29udGV4dFx4MjI6XHg3Ylx4MjJzZXJ2aWNlVHJhY2tpbmdQYXJhbXNceDIyOlx4NWJceDdiXHgyMnNlcnZpY2VceDIyOlx4MjJDU0lceDIyLFx4MjJwYXJhbXNceDIyOlx4NWJceDdiXHgyMmtleVx4MjI6XHgyMmNceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMldFQl9FTUJFRERFRF9QTEFZRVJceDIyXHg3ZCxceDdiXHgyMmtleVx4MjI6XHgyMmN2ZXJceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjIuMjAyNjA3MjQuMDEuMDBceDIyXHg3ZCxceDdiXHgyMmtleVx4MjI6XHgyMnl0X2xpXHgyMixceDIydmFsdWVceDIyOlx4MjIwXHgyMlx4N2QsXHg3Ylx4MjJrZXlceDIyOlx4MjJHZXRBdHRlc3RhdGlvbkNoYWxsZW5nZV9yaWRceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjB4NmVlZTlkZDZmNGFjZGRhMVx4MjJceDdkXHg1ZFx4N2QsXHg3Ylx4MjJzZXJ2aWNlXHgyMjpceDIyR0ZFRURCQUNLXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJsb2dnZWRfaW5ceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjBceDIyXHg3ZFx4NWRceDdkLFx4N2JceDIyc2VydmljZVx4MjI6XHgyMkdVSURFRF9IRUxQXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJsb2dnZWRfaW5ceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjBceDIyXHg3ZFx4NWRceDdkLFx4N2JceDIyc2VydmljZVx4MjI6XHgyMkVDQVRDSEVSXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJjbGllbnQudmVyc2lvblx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMi4yMDI2MDcyNFx4MjJceDdkLFx4N2JceDIya2V5XHgyMjpceDIyY2xpZW50Lm5hbWVceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMldFQl9FTUJFRERFRF9QTEFZRVJceDIyXHg3ZFx4NWRceDdkXHg1ZCxceDIycmVzcG9uc2VJZFx4MjI6XHgyMkloTUktWUtwNjR6eWxRTVZpc0Y3QUIxSVhpamJceDIyLFx4MjJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhXHgyMjpceDdiXHgyMmhhc0RlY29yYXRlZFx4MjI6dHJ1ZVx4N2RceDdkLFx4MjJjaGFsbGVuZ2VceDIyOlx4MjJhXHgzZDZcXHUwMDI2YTJceDNkMTBcXHUwMDI2Y1x4M2QxNzg1MTI5MjkzXFx1MDAyNmRceDNkNTZcXHUwMDI2dFx4M2QyMTYwMFxcdTAwMjZjMWFceDNkMVxcdTAwMjZjNmFceDNkMVxcdTAwMjZjNmJceDNkMVxcdTAwMjZoaFx4M2RodmtTbld4VmRDWHQxdmZmQ183b0xPZHZjTmMyNGNpYnZTX241OHYxRmdZXHgyMixceDIyYmdDaGFsbGVuZ2VceDIyOlx4N2JceDIyaW50ZXJwcmV0ZXJVcmxceDIyOlx4N2JceDIycHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlVHJ1c3RlZFJlc291cmNlVXJsV3JhcHBlZFZhbHVlXHgyMjpceDIyXC9cL3d3dy5nb29nbGUuY29tXC9qc1wvdGhcL2I4cVhyRkF1OVBIVnJHcU1aaTJucUttOVRVTlBycnpFaDQwUEFsLTZvVm8uanNceDIyXHg3ZCxceDIyaW50ZXJwcmV0ZXJIYXNoXHgyMjpceDIyYjhxWHJGQXU5UEhWckdxTVppMm5xS205VFVOUHJyekVoNDBQQWwtNm9Wb1x4MjIsXHgyMnByb2dyYW1ceDIyOlx4MjJScnZ5TjVjY0pLMm53S3dqa0hOMDZETEtveXNFOFZocytlc3dCd0V4NVA0Y0N4Mk84a1A0M1k3M09odXFiMVhPb1pxTityK1BwN0NsdzdneVpYbllhaDY4NFFVQXo5WXFmc0dQQnppOTlMREs1MW93YmZwdVZieXpKSlkyV1hLMnhZbXZFU1R5Z2l0K0pFVTFYTWVpR2pcL3l4dTVEcEo1WHpwTCtjWU5iYVZCbFZLek1sWEZkMm9XcGR3VXBiMDFZUTlxUXk0eTNuVUhsSUV1NHloTzZPYkZrck41d1A5eDNYbFZFa3Zpa2Y0NVNoTmlFMmR1NmpcL0lwbllrMGVQTTBoMjQrVVJRdkNKOVRlVHZUc0hFYjVmZ3BcLzJ2SEkycXVUcTlsUVVqN05ZUjQxaDdTMFwvVmFheHpqOFN6YU9zeHRReTcyWnhVWnRtQktTZEJzdEZIRVF5ckRDYWtBaXdRNFwvbEZJRU9LQXJxWkw1S0dwcDZOWStRZlA1Uno2UDJUTXpRTmtXRHdKSUxzd3dZbVpwZ2JORUh1cFYzS2piamRmZmtyK0JyRUJEUVBXSDNTY1wvVlZia1VuMlh2TzJ2V1RyUkZFem1RTFE3Y3crcjhXRHpjUk50N0Z3QXFPcjF0akpXc1wvZTdZWEdPK0RCS3MzZmJybGJLYXlacGFwRCtPZ21KSjBsMXdOSm16ZUJINUE3Z2FlczR0R2lIb2VPNnU5ZWpXMUdUbnkyTWFkdXp3OHhmRUtiVk8rcVI1REVteFlrU3FGNmdZVmxpZG5XRmZ2NmRZejZ4UEtlWnE3QTdqK2VZMWpDdVZ4Qm5rallRWFwvR0hsUnNIMXh0c3k2T25zRWx4OWRab3RCaTc5bXN2eXJxWlpqa01aR2N6NGhOQmdTU2F4OXZtcE1hSmRlXC9TUXdVcFRPSzdnV0xlTU93T0dIeitLVFJLOXhreEJhTURMSnJ5c3dWV0huS2ZHUjNLMUNNQmFMenhqWFVhS09ob0ROelVLNFloMWVXVVhFK3hEY25XVjdHVml1amIzTjA1ZzRnRktGdDl5ZTlDNlwvMXR6K1wvODhVajdqZzNucitkOHFaNzh3QVJFbytDZmpocFVKUlF0bndUSTg4YXNUbnBnRlFaRGhaVTQ4czBxcWhkQjBZSllZbTFJTG9KbmpxT1VOQ3lQRzVtZExENHdFY1NMVXkrbWVmMm1UakNld1B5N1RJMkZoTWx4RFpDWnZtTWtrOFRoRnRpNDNqRmpsVThuZmczcVRqV1VLSDQyTmFUZmFpZlpJUG5nVVRPXC85TDhPS1k0dUhCSmJTcmxEc2N1dmNwK0tHZExzY0RUSnhicDlzdXFpZVRDUElpc1lRYmFuWUlQREJ2RkFcL2dsUmVNU1luSlVvZURqdzZTV1ByUkkrV2dxNVNJRnd1a0ZoaGZSa1EzUmpXa0FmMGs5bWs4YzhlV055TTV2SThETEpmVERkRnNkZ3lVb0cwZDNQWTZNdnBRMW9jMnNldWpkZ3krUnhUXC83aHpZdm5sWE5zQkVyNEpUXC9selU1ajh5Mmw0eVRBXC9USXU2eDdqd3VrVHVGMU9GcUc1RlwvdUVrTituZWVGUkRPTEp3ZGkySlwvYnJEaTFBWnpyVE15a1B5SXdEdnRIYU4rK0k4OFR6S1N3elpzTjQ0cFZFVnk0ZnlMTHQ3aTFoYlF1YzRXdVpScU42TGE3U2tnb0QyY29qYnNwZTB1Y2dhWnNVWXo3N3ZXS3Y4TDg3RnZOWGtUQTJZK0dacFwvZEZON0RZMThCSGhCZGxkM3I5TVBFa0ttZjhISkdTSnI3MWJQNThHREhGTURHS3kybjZXOFpxQWl2T1ErN0wzM3M4aU9rYVRid1BlZWFyZFhERVJGNjRBT3A2NW16VzdCVlJUSkdqNEhRMDkxU0prXC9xXC9VMjRxN0xKbjI1bERCNlZlM3l6U3NFTWtjOWtnd2FHWDFGNEZFYzM1VGRZOTFQNExyUGpBMFZGbzllM3Q4ZnlvY2tETzZqVDJBTlh5N3JwQytRaXBFOGExSFpkbzlKVGI0Q2FWR1BNTmx6Nlc5UE8rTkQ2aWl6djdEcHhzRUIzdFwvZVwvQ1wva0l0Tkx3SlBJWFhoM2RzbDJxeWpGZXppRzU2Skk3UlRVbGlLOE1GZFV5ZWExZU41ZEM2VUQrZlZLWDR1WlpRZ1l4UnFyU21MRkpzdURueHRvUVN2NCsraFVhUWZramtBT0RJVGs4M0NDWjVUdXhoRFRHXC90d3krczNJRkxDMnhMXC9zMnE0U3hUYWwwZkhUaEV2Z25YbGk4ZXRcL1c5elYrZU9DS0JqSmlwU0txSFBNaVBia2FxQWxYc0g2N0NWN3JyamlqY3pGQ2c0UW1TVnRjQ1BsTVVzZEFXdlNTYjlUTlAyNmhtdXg1TkEwOHNkZEd5N05jM2JFRDExMkNTWVlQekVhdEg0eG1iVXhLOXJXY3Q2Q0NxaVJEZkhRUDhxYXlTWUZcL3M2aVZpMVd5N3laenlEcUFQcWc4K0VoQVR6K2lnWlMzZUE2QjJIek9cL1wvN1NrM3F5eE9jQUVIYUxHS0RxcVdjSWpEZmRtRTg4dEFIZkYwamVydzNvdGNTODhGaE5MUXRQQ3luUWJWWmZ6SFVFbHo1aWlTVTFkM0lBNDNaK0s5QWVvOWJzamZwNWJFK0N3a1lFSGxVWFQ5MGJkaTd6RTZrUXduN0JPUUtaeDkyaFVySEtvRjRHVko3VE1aQ2hQcXc3QXcwQWRGVjhBSjVIZWthWjBWWVwvRTNhWkNnNmVFYlR1OUlhQU9RcVArRk1VMktBSVNyK1NGdjFwZklyczRzY3BBZ2crYU1RZnN4eDdcL2kzMVhpOFF3RXU4dWVQUmpcL3NGUEpCdzZZOWNXY25GV014R3gxTUI0UCt5RmhNWmxHdmNBYmlVWGxlbk82V3czNjNUamlxSm93RHlVMkFiMVVhRmtlbXBZSEtRM3lRcGlZd1gwSnJLeXRERFdmN0lUTDBLNU5UbmhpVmwwT0J0R2lEbktnYVZWODZSZmVUOFV0b3VKakRTbHAzS2pFOVJTNEd5T3N3TVNFOWpPMDBESEJvcFVKNHhKNWpKb2xQXC9JQmc2Uk1oMk93XC9lOU1WcHBKXC9LT1hTT3FvM2RVRzhrMkt5ZGhYSGNCbDBXSllQaWpldE9zUmNpSmEyZUtYZjFVNHpwQTVKZGY5WWdKd004dEh5QlRsZ3FHXC8zVnNFVzY3UVBlZHhCUWczSWJhRUlyNEc5Um9reUJGbUVwTUZQUEFmRGxMc3RoVkxpMTIwZWxyRnRoWFduSnB5cng3Vld2N1JWQjBXMDZGbXlWTHBkNlNXNm4yVm5rKzd1aHFqdnZsQ3pNS3dFR2w2ZFVWa1k3UmhuMnFsOWM1QVhQTTR5Z21zMmQ5RHRZbVwvTmJFUG02dzM5allSMzJvOFRnNkhsVW82NlVGUmJWM2RDRU9mYzFiYVNVUjZkeVpId2g3YTJpajVTUmFtZmpxM1VFQ1VJXC85SnFmbWtMank3M0p0emNLOWhzbXFJc0pzMm43aWZpUEtFMyszamx3VDJON08xWWhcL1wvbExHM2FWWnl1cjNRSGRjUXZNSWhSZk16SVB5VEsreEZ1Z0pqbFwvaVdRT3lLYkRKOXBRcHRqekliWEJMQWI2UldaSXZIMEZcL2NGaytVXC9oUVZiMUJYXC8rRlhMd1RLb1IxR1hEcFRsWGhOMGRDSzdYQmJibXloQktOeG40UTdVZm04NjcrRFJ2SlpkTk9tdEhOZm5cL0Z6ckJaeEdhc0VWK0V0UFlkRWlqNmtSblBvMUd1RzBybUNCSDZhYWZZTDNWREUzMjc2dWFzSnh1ZGFJN1hYRnhuekgwcEN3ejFub3dhZTJFeDdvNGd3NWJJN3EzbWYzNVJ4OThJU3Y0R05xb1RiNXVlT2tiaDU5Nk9Ia1BDV1IwMnZUUXVmUlwvSU5IUUhWNGZNYmxqYmRVTWpMSkhHZ2FWNkh1MjZxWGxrZG9ldVA4UmtsZU5wMHduam92TG83WVlcL3BaemtNTFp3SGVVOHVuT2ozYkJaOXlwckVwb0pneHJhZmxuQWZZWVFVOU9oVlJCVTF0THh2amRhK2ZqOHVTNHFSS0kyNCs4Qkt5TnZNSkI1SnB0NzhaN1g2bVdaRHVXWW9wV1pDQnl2SUlkZWd0aXZxaHYyaHY3eHhuQWNmYjV6NkJtMkVkNWwxZVZVT0lidWIyd1U2NXh5d3NPUUk2VDR6OStjWjJ3TFRIN0lUbVNpWkVVY1RPS1ltbG1rWDVNQ1wveCtnbXpHcTdcL01SQTFZcVRqYlMya2t1cVFkWW5LWnllTUVoMllsOStlV0FQWVp1dDhORm42RE5raCtJTTBLRTBzd2kxWGZ2RGh4NnAyNkErMW9uQUc5RkREWGJuSjJ3Z1J0azNjQ21INTIzeVU3Um1pemlqOTlOaW5nQkVIYVh5YjlPWEFxK2VQY3pGb0oxSlFaSThLQWxuUDNjMTZRZklJdCthaU9Rb3d5dmx1d3VFNlo4aHBGRHlTZHZ5R0VNUXJoT0lSSEdrc25zbEVCTG1XUXBpUHZTOXhpQmJDVEVGbEd2UkxHUitkcnladzNYK0F5SHUzajJ6NHhocjVOeWw2aTlxZnN4VUNYcXdpdlJYNFo0ZjlDR2hVc21rTGI3OEZXOWRQVGJXUlgwd1dzUXBJZDVHUk1lSkx5ZnRsK3ZTNGNjRzRqdTF2cEdoYStQTForbEVPcE5sTCtUbVoybmhcLzBBYWxLS1dnYWJMTnBWUDVXTkk4aXh3Q2NxTENaR3llYXUwSklOclFadVZDSHB2Z3UwRThMMjRNWlN4OE8rZ2VzQWc3ZmxBSjZ6bU40OE5vUk5TRmg5RVJtcnVZV1NXY3NKOHNTR2didzFzYVp2d2ROcytQVHZucUlLUk5ReU9xTzdXVzNNZnFWSUFJRWNERUJkK1ZIT3RrNTZxM21LSWYxbWpvYVwvN0ZcL2dCVUNNTEY0NGpxVWI4T0MwZTRpczV4M1FtRTQ2MDl0aTQ4OGxZR3NVWFBWcGsrUk5Ra1FPR0g5UjBTTEhHRytFcFwvU3RTcFUxaG9YQkpCQkw3THN2VGxvQXQ3ajMwOWVHK0hhRDBzYWxJbGw4UXJSNWRsWENsdTlpWmJTZGFxV3pwbmgxQmhsUmxERnYyUyszYnBGczBhd3gyTnlqR2NhTk9PWVVCVjdPMjMweFRlcTJrd3M5OFwvY1E5RU4walpzbEtITGxYRGFaR0NFblUrdXB0SWUwb2pDNXFLZjdtNE1CZ2FJUk81WU54MGJFdU5mZGc4ajJkcU54MEZIUkZubytDdWt1REt0VTZRUVZ3Q3U4VDE1ZG9CdFd4aG5VTVh2dXh5aTY4bkpkMGhZR3BEVTVSQnRCVk43T2tNd1lBRDRsMlhkcTAzZmdGNWxCdmw0YTROcmR3bFVUYzZhZFlYXC9xckMzZ0FQRWVZbXg1eUFSb1pvdDk2RjBqczE0U0REemFYRVU4RGZ6SFF6enF2c0lkaU9LNURyUkdFbHBPQTR3UVZPV0tIM05vSFVRZnVnZzRvd3crVDBPejJOUFE4RFBGdFkrNW5zbkl1MHlDMmtxamQydHliOW1iUjRaOHlrQVZtcGdIaGEzM2hFYWMxQWIwdVZCS0wxWlAzeWhVUDVXTlk1TWdCK2NiUWR0enZ5XC9ya0p4NFFRbEFpQXlLdzFqSmxRUUgwcXRyd1QxXC9xZjJ5U2htNU5EWEN0RFhLZXphVVdKZndCYzc5djkyemNrNXBmTjVsRGU0enNDQkpYNzQ5bnY4Rjhua0lzV3ByRVM4YzZtRWRidE45ZlFiRnRyZnptWlBmcnhCTnQwd09vWmFzMUpiOGtWTUFYUXRyd3o2dUVRV2FDazBLaDdQUHdzQkJjZzRCVDBacm5qOHVkNlI2bXlzdFRFc0dsakdEOEl3Um9JZm9qM1JTXC92enVXM3NONWIzcG9yRmhiTGROWVhuRCswNWxhVWJQYll4Z3hkVVpnVkJYREd5aTlIZUZuR28xRldqQTRcL1wvdHpwZ09OXC9IalEwbktHNTkzd3pxRzRPUlJ2RWw2Q1dDVGtDbXU4WDRzUGJLUktYeHFGaE1VWTN6Q3M5XC9XSjNnbXRkTFhwd0I5RW5NTlV4eGdwdEJ0dW5jcG02VENZQ0swRzZ1U2MzUXdzdjBUQ1l3ZkJNTDZxUEVjK2VYcG1xVVk0QUhCZlJPY2RwSFwva1Q3WElWZEFjTHFoYnFsRFFFOHliYXFnWWdHS3NzUEpzbkxnZjJ2RjRPOGd1eFpCd0hTTWU5XC9ZYVJYaDBFbDdNMllkZFlaRTVPNlpJa0xJNVVhZEhKTzRrblNDTG1XSFRxdGJWdTJ4Skd3cEwrOU9RZTkzSXZIRnE2bHBpeGo5dGRUc0k4N2kzamoyaCtQVkJLemt4YnJEdzh4bG9jMGtwUUZwYlh2aUFPbGxVczBcL0gxWDY3WE5cL3o3bk04a1RoRGxoSm9DeHJmc2xLdVZMdjNLMGNXQVo3SmlxdDlUQXg2UVVHaUd0c3pZbWlXXC9YVlwvblBHdFBCZ0lHaTU0TmUxWnBGMGwxZVNRM3VDTzh2N1A5MTI3ZXI5NEZcL2hHejlmZ2xBOVwvcGlHamZ6WHZwdU94ZEROUHdURUZzSGVOaUtRV0VPeGZ0NlpTdlBCRWVDXC9iaDFGNUYrTGVvXC9aY1FrWkVCejdBTkZPSjVYUmdmTXhHNVlsTVVMXC9VbmluZTZUVHZGYTNuVHVnWlQ2cmJFQjF2S2V0RzdDZkxsWjZqSXlSNWpYK21Bc2o0MlVDRFJJbHZGS2Vaa2dHbG1sZFwvOXppZkVNRVRBYnVOUEdPOEZkOThLUk1hMTNUQVdyck9CSVY2bjBzcTRVOG9ha1pmbmErK1o4Y3k5MlJlN05VQkdZT1kxelVMdzlLKzhaMXBqREVYS1V0QlR5OHNKZkhlaXd0WWFKdUJcL09USitINTN2alwvOFVlT0t6Y0Y5ZlN2Z1E1RTY4VUZOYThHRDRRcFVBekVaMDdaMjZGUmh0QzgzcCt5cVlaWmdWdVFaejlhYm9md2NLemExVmZIM20yeUdRaVNhMDh5QVJWU29Kc3htSFFzNjE3cVU3VjRkZm1FbG41c2RKR01pWHRycWJWbFwvMlNZU3FDM1NabHlWS2loZldNalJMcmgyclM1T0krUFBMUHA2N2hzY284Zk9Ed09zR0RoUUVsdmMzQkNPZW1TTWlKYXRVNys1MEtMWVhaelJcL3JLRkFGV1dtM3NJbHQrc25UQXoyOU9qSWFwUUdtVkh2MklqXC9naTVjdGNXczY0NHVmbU9KV0xUNWg2Z0VHYllQNU90WHZIN3R3Rmx3S0NscEYrb3hrc1hYYzZRUFU0T2U3bjN4NWdyZUhYTVp6RHVpWEx0U3JvRG9NQjZnQlFPem9sYWhRc0RJT0o5cVwvaVRTb0NIT0V5N2psY0Z6TEpORENcL3NEMURuclYrXC85ZVVrd0xxeUdwOFNLeUNDVmZVdk9XNXZEclNtWGtLTTFyTzhEdU1kTmc5Tkpkd1dwQ080Y0FCTzVWenNtVTRRMzBPZE5tb280SG5xajBtQmpwREp1YXhseDA4NlBYcnFIVHVvSFVBNDd2YUJGOHlwekQ3MDdNUXNaRzNpcHRkTHpKbU5KKzRydlNXSDVRb0lNRHNEQm0zcW5QYys5blFsZVFodnRTSWg4NEMwRVlVd3dtV2dPTUZSTk5WUjVUS0RoNTZpUERQaWk0V05WeUlpb01PcVBMcFR2TTRlRWVcL1lPZlk0V0RwYkZLd21JU01nWVZQbGZlTXJTUjc0OWhlMVlHZkRpMCtXcU01RXBMT3hFVloxQWgzZUpaVDVPTmNQbjV0TktESGtUR0llTUZuTmM2UkVPbU1hOW9aV3ltczA2cEhjWkhIdW9rbFFZczVDUTcyTXcyWXU0djM4ZGJXb1NnZ0draDFzV29BTDNSNUlaSlhpOTRCNFhPSmhNdnBuSzVXSDBHam9BQ2dVOGFsSENTWnJIU1Z4RyttamVPNGJCNXlwY0tZVlhUVVhqaENuK3ZVQnp4ZW9BZDArelZEWHJzUmU3anJRUlF6MzNGUnNmVGZzQjFYZ1Q0cXBMWUJEZmcwMFE0VFJyRjBqME9LdDM3MFF2ZGdcL1JsMnFpbmJJNjI5WkQ5U09OQ3ZRV0IwMlwvZVc0MmR5elFVendKSUxLSHVUTkFUaittVzNIc1d1blg0U2lRbm1kRmltbmtYa0JmTnNBdk0rZ2UwRUlXM2VxQzdRTFdWSHNNQzREZTFPXC90SUpjUnBiSVwvaUhwT0FhWkZQSEJVYUJNUDk4dXdtM3JzeFFcL3VvaHBzV0N1UmM0bTNKcFRFTVlJdkhoMUZjOVZJQlZsdTdXa28weThoU25kQ3lCeUJuY1NoTGJkRDd2ZzlCWjFjZ08yMzNMcHRhYk9iQ2lxcHgxbkxSQjFFZ2tHMUt3dzZNdWVOTVpacmI4ME1OdDQrSW5BVlB6WFhGTHdFR2xRYXZRTkNmdFdcL3RaeE1wdlBoaEk0bkpqd0dtTEVoVVpyZ2hPS091d2pKSVE0Rk9MK1wvbTdhbTRcL3R3MEo2RjRTQUo3NFdoRlJ6Q2pSTWdKdE9WQnc2bDRHZXNcL3hSekNpQVVFd1kwR2ZXQVEzcmhOTld0WFwvcVBHa1llbU5OWG5XcStkSExGXC91Z053XC9wb1lad1wvZ1dRQnFSTFlnVVwvOHVQbUd3eXV4elJoQXpVdStaU1RCQ0pRUmtHNWorOWlNN3BndTBsQ0pxZEJkRDlaOHROc1NMYStOamZNYUhXdytVamVTYUFVQytJalpXV0ZsWXZDVjhvYUdFRTNMQkp1VDZwa0VpT3JPcE5tMTdsNXpOVjN4RzlzMnExYnBaRnNwSHpMaytYaXZ2QnR3d0E1d3pVS0trV1dRZm02cnhQeW5GMmNVSVFSbnRLa1RwNVRxNUFpZGJ6TGdwVVwvd080aFN0Y0R4QUsyWkVpdEtGY1RwNklzaVY1ZHRCSHNtMUZZaW1DdkpXWjJHT3VEMDF0SzV5TzRXYkZ6Q0F3VnJLbzNpR1NEUzhCUHB1blJLbFJIOFF6SGZidXpCVHNQNzk0aElUMGg1RFllTnJHeU9hclppQXNKZHA5SEIzTThjWkdGQ2pLeWtaVHdwRnFIZldYbkcybkJkQjJaOWZ5Q29kM1Q4dExlRGpzTFBjM04rYUdqNGpWaUx2VnJkYXRFZDhuN0lDYjNrYzhqNHhwSlBTQmpWSHAyZ1lZdzZxWTBRT05PXC9VT3JKMUF0SG1TVWhHRVhDVzkyYVJwTlUxeFdVWGVRcDE2RGxPSlhodThSRnA3K1FKZUYreXlQa2JJK21pS3RkMklGR1UwSHlcL3J2RUllOU8xODJHejV3QWZuTVU3SDNLZkZWN0FWNkdCMmhGaDlBSWdRSWhPaUNcL0JlT3g4NXdXQm1wMGZ1M282QlIrRGN6NTV1czFsajFZOFd6bTNqOWVXQXI5OGJBcmU2RE9wTHZlaGI5T2lCTmh4UlFWSnZaSWNGN2hKbDIyYWVKWTRFZ205bU9CbzE1NHJ1TDdZeERlYVVtV1hPTVEwTFpGdVM0MHNkU1Z1OUpXbSsrY2ZFdlBEQ01CNHZTNndSYmlSUG80bGNcLzVVVllGQmJ4UFl0VXVPYmNBZU14NW9XdWxTbVRNTDZSTEFqcWsxc0tyVVwvV0JLaHNneFV4ZEdNVU14TnNJT29MbGlNR3BDYkt0b0ZwNVdDa3VsOWpISVpkR2p6aklSK2o5N1Jpa2Y1QXA5VEM1SE1saEp0OWRMN0tra1VhOWN5enVRZzRFb3VSTlhqWEl3am1qeFQxNHVRVjMzR2ZBbGdTMkRsbTM3RjNEVUtSQmtwc3pwV0xKeG1tSEtvejFodmVTdEt2cWZRT2pFZjRYZVEzRTJCOFpoUG0rcnVnK0g1MVZcL0U0VHVvaEtBQXhoTU5mUHp4M3krNDY2R3dmbStwZUpQWUNxSnY5WUZnQkVBVmw5OVo4VExUeDZIa1pxb1dYN1wvQWk1VnFVZHhHMThzMXRtNlwvYWI0T3hZMURuN1ZCck12K1Vhd1lLYzlDQ0dRMkJpNGRqUm5manB0eitPNzlZUTZLS213Wlc0d2F3RHZkSjBIXC95SmpBYUFsM2N0UkJTNExvNzdNWk43eWlVaHRsaFNZb2d6M3VZUVwvQllhdjZyZXI5WmlOTW9nTExXXC83R0FwRFhnUzBCOU1nb2tVTDNCa0lcL0pEMWtKTDBcL0lXS3hZUUJWMUlvNzA5VWpKZWpmUnlreWIzYkhrMmFzdXNUMUVFTU1WcnlHbldPbE80XC9BRSt2dmxYSm1LU0JJUU1ESmNQYU52aE9RNzdINURaV3VZUWMxMGdxVnE4VzZNSHdRQ0R1SEpaTWxRMmM5UG5sTTNPZUhtS2xsdTYyQXlwNXdTSUFydnNvc1FcL3BzMTZMM0FpbUc1ZFdOeCtkREJNZ2xYQkhaYnB6ZllFNm1aNkNtNkZjS2E3MmZjYWJjd0p4OTc4VjUwWUVpOGRqMkdIQ3NOd2pnQzZtZnlBMWxhM2NkM1dOVGd0TzRVU1A0OVNIekFjeDM2VjJmWTVTenJQZXFBOVhhXC9nbTZna0pMOWFYeVVMOGJ0d1V5TG5rRG01TnlReUYyS21WSHJkeVdGUU5YU292allTKzZRWEtHZXVJUUxLM0tMVVIrR2d4MERtZEI5WmY1SzlIaCtxRDR1NG5uczlmd1Jmak11YnlFZVpITUNKOXg2dGFFMkNCckhCR21MR3V2akxGUllpcThlMVlDKzZrQTBDZVlFelNQd09rYk5uMVVEWE5IRzFsM25RTmlISzlJZjBoN3pYd0JXNHo1eW03cHJjWUhmYjREMUZVQTNhSTI1V0NWSjdmeWdlbjM2cUJsRW9zWHpyRDZzeGFWNGZoVlJcL0dnQm5vMUcyY2xlRVU3c2NiWkZreUZZSkNSaW9nbHgweEJPRzV1Z1wvVVJoU0Rsd0xUdDNiMFVBeDBsakFpT1wvbWFvbkhiSDRFRkdScE0yYmx2U012N2tmSzlrUE9GSlNzK3djeGRcL3pIZE1YOW1NN2RQUGRhRngzb21KekNxUG9JTWwxbzRla3BJSk51Tk1zT2VWaUswUUlsOUxod2llOGtCRURCN00rb1Y4V3VNaVNlcVkyRThLQUhPYTBLVWE2dUJkcWV5ejdmK25SakZCcEM0UkhoM0hnbGdXXC91UngwcWVDOTl1M2dndTZwYmJaOXZIMndhaUJya1M4MEtKTmo0OGxOUkVaWVI2djk1a1c4VG1iT2VjcjVFWDBsVkNUTkhWK1JHTVFLUTNiemp0Z212RUJ0QXd0RGo1UmVOTTh0TXlzNmJiN05VVU9uTWNRbTFaczdBTXhcL1dldUdRWUdUUEwzb2kzb3N5VnFPVzJZYjZlelVMOVFkXC9zQmZWOTk3ZDk4cXdndUh3YWM3ZW1keVJEYzFSK1FkUXY1TEwwa0JNZ2dORXZvNFBVUVkweVwvbnV5M1h0ODExaVpTYzFGWnZkOVFBb0Y3MksrRlwvWU5hQlZrSXZcL3VKdlpVUEx5ZDhiZkFHXC8wXC9FN3UyVkphUEgwdVcxaGJEcE9JZmt6UmxqdmdDTWtHZEYxcFVrM0R4YU81WTZNWnExMSthalgrWXBVcVJwenBMT0pkZzBJMTlcL0tDVXIxNUpMbE1SbFpoTURhYXRPNnBMNk9hYWJOTEVxUlRkdUduOUI1RmduNmdNeVdCcXVIbWdCTEMzN0FcLzZZZGI0MGswdk9YOXdBXC9pMk81WUJTcEIwMWR4ZVMzTkpBaVZBWEd5ZnFsamVEdHRPK2t1aitaSXhRMzJ6THVqMXJMUnJqUmVJVnJsdXFnQndkbVlacUV2dTdKY3puNjZ1NkpOXC9mTmZUbm5KNnFcLzBXeGFxT3FUUTF2RGhpcTQ1ODRiU0RCM2lXc3NVQUdZQXB0UWxRSVJ2bFNkVDM1UkJyNGVSRitEc0dlNXJZU1h4OXJSZ1c1WG84SjRoNnBtRGJnV0J4dzRxa2Jsb2NQWEtHSWsxNlFiSmQ3WUVENnRjcVdSRXZJV1RQOEdCXC95S3RlYk1EYzhLbFdaTE0yZjNOd1VNNWpPOG55aDkwRVBqRDk3Mkx3em4zSUJUTGtMblI5c2JTQmJUSzcrUmx0dXFLcDlKaXBNaHNDSWtmK2lKRTNuMm1LYWt3bHhIMm9DNHpnaGU3TWNvXC90cEk5RFdYM0FCWDhqTFFZTGVIZXVxb1BiOStxZFpXZXN4cUpyRFdENkNCRjFLTGZGVnQ5V2RmOFc3VXc1QUFaKzJpb2thSjRTTDBpRlI4a25KRUg5a1liMkJLV0RDenVyXC9sS3E5eDhQMXYzK1NrbUZ6YUZDOVphRXVkWm5TYnRhMFBMTjlXUk5lMVBNY09McFpWTDV4Ujc2Q29PcFZBSU9CSXQzM2RPb1prTmd1ZGRMNWFUTEZ3ME11XC93cHkzVEJocGhVWDI5YW5la1JKbklSOGY1T0hCaHhLZkRiNURNR1hKNTBxajZDZUFSWnBhMUtKTDVqWERjME51eHFlckcrMmhQXC9tbDVZb3Z6TWNKaGpsV1lwaXBJVTNEc1poN2pKajNTRmp6K1pQV2Y3QlNMbUxOemxwT2FjQzhcL0xHZ0xySzNlT3JUVkMyQWZ6ZjV3ZlMrKzFpOGRcL1RtYUZVV0ZyYWE5SHRsWkVVTkVPV1ZPSVwvSjNTR3VUeVFFTnRQa3Fpa0Zsdm9uRHY3ZzUzUytcL0xPNXNTRnpkSHFTWnNrenA3OFlEY1pldWVKWGdYOEdyenJ4QUM0VnFiVUJIeFNxd044T0xmXC9KcXV0OE12UVpqazBpMEplQUVqMGFOclVDOXNHU2ZRZWp6d2lyZ0ZTRktVTVh3Nll0aGhwR1R1QkJcLytwSUxkK1wvemdHaVIxUHpXZFR3MUgxcDExMFNUMDBZYms4WXBneVl5bklOeFwvU3l4TkxwSlBLNXllRmU5dEh4S252Y2trYkc2K1RLVVBXWE5EaTVcL1ZPQ2lpaDdldjA4azJ5akVnZzhZV1EwMVdXVEJzZzVFWFBENTdoa1RGS2NpMHZyMmFTMTNcL3BqQVNNSG13WFoyaWIxQXZIek51akpLZ0FIWUhkbEQxc0FkejJUR3VjUkxhR1hMMVBVV2FnTDBFZG5HV1JsalpHZ3gxMVo0a1h3cjVCTHZiSCtlOGRSTE9mYkcySE5CRTN6a2JkYmp3VWJ5K0xYOGRIM3NXYjVyK1ZvUnpOQXJ5MDNHQjVuMlBzMDA1WGhIcUpWQ285U3hyc1VmNm01UUVoUTF2UFYxK1pZWWVpc2N6d0lJZHJLYVRhUFJFREd3dXQ2Y2E3R0VhcjZ0MkRjejZcLzNkV1dDNnNpTG1GNm85cElUU1ZRcDM0NW9OamZPT2pQSGtIKzUzN3BrTGxsWXRQT3haWHFJMlVkZUJOMVhhcnREbG53azJCRE51V0U5cTJXbWJ4cThkWXkyUFwvXC9NVFwvYnZOUCtoNGZ5czlrdExhZXZsVDZBUE1HTG1CVDBNeXRXNWptRmRlczF5TEhxR2ZHR3BTdW5TMjNycmVVYVVJcEkyXC9zV2RZWVpqSmFrR1lKR0kyemxqYTdwdU9UTEFBUmdpTUlxMHdTZGxxZ1RJRk5Wamo3VjhKbDdtRnFGanhkVE9DcER0b1UzYUlHbG50MFdQTHg0OHhIOTVRTjJWelNhQXZCQ0VEN29CbHRRaytETXZzQ05kZHFZT21JdXVcL1BIUXZZT3h1WGxHRzdtanV3a25CbEhmWmRlbzczTldaNHZrVzI5cFZMdXQzM0hjVEEwTFRpM1dUZk11TGlmOGVnRlZOdVVGaFBET0lvTzY4Slp6aWpsdlNBXC96RndsTlZvN0V3ZXMxQzR6MmhBRFhScUtta2w5ZWlxQmYxYXdCQ2loT0xJc2tDa1NmeDJVWEdpMzFuN1FmaTBncHJmODlmU0VSZElMSUxpN1VRejFrWGlFaHNkWlwvaGJlN3N6VHUzOVlwbEJkWWZSbnVFYUZVMGRtNHo5bEJsc29YUmkzY3lkNlI2Z1pxV081YUcwVzZUczk4Z29WZEdwMGdTZHBpSHhqQm55NW5cL2pEZmlweSttWXZkNUJ4NFpnS293VmkyRjRnblNZUlduOXBPYkt6QlB5ZnZhcWJSam1sZklFZDZveHAyWFVaUHpQZTFtcW0rUUhxMW5IbUJWVlc1WVFGXC8rdVd6ekI5aTBmeTFoUnZ6YmJEUCtBVnVPZkJMeDBmUklkajNRbFwvMkJraEZsdVpjQVwvbkxpZlVPK3RvTU5rbG1VYkJteEFoVHNMQjZ6SjZlcXFPVGlSTXAxVjRzTERtTmxkV2FZWVJYZSthcUw4WVAwZU9mWklTRUx5Sm5HVTdZeU5rZnVXN1d2SzdmS0VZbFgyT0p4SGcwUXJMQWVoSnJDRHlzdmZTcGpMbHpDc242Z01LQ29lUWNPZDV6UWxjYVwvS3RZYklGWFFQVDB5K2VQSVdudHFxRDE3ejhLdHFhOFFjOE9nazZwK29hTFVhRW9KXC9JVDZaV2t3OEZEbWhJWGVaUmg4RlJIclc3WU9oQVNJeUR5S1d4SmVQcENOSWJyaWw4enBIcUp3clc4WjhzQkNyT0lvcHJDMlk4TmtIYWdjNEpGZUxTcTRMY05JMTcycVg2WVNwNkxCY1I2TytKbWh5XC9CTERsdGJyN3llS20zd0IySzRXeXBhTmR1RG5JUnAyZnE2QUxXZjJ4cHJVeU9kVGRkZGE3Y3IybmI5ZDhlbjBHVlBDbE5WcVNBRmdCRUNsRzI4YVVhTWhYK0JSUnNpRTVSaDh5TEkrcmNLVmRoeDNkU3JQa1J4YVE0TWlhY3czYitpeklzUWpPNjF5eUJDXC9DXC9PSnBjbWx2amxLdWRPS0V4MlBVUXh6VTNhU0cxbU1tdFJJR3lMZnFZQjJJdGdoT2RpOWhyUm5paFpnVXgxZEk1MkllMmhTaFA0Vm8wWHBOWGw2eWFxVTFuaEFFazRyTytMTUVvSXRORFlvTzYzcmh2ek03UUZkYnp0RUhibnB1UDRqbXZsdEtaK1VJT3VBTUtLRjlKOFB1U1JnZE1KRlpYbG45a3lWSHFqWlIyXC8zTTBjZHBkeWlFNVp4RjIxNUhNOEVtMEFXd0x1OXgwN3JyUDFrSVNrWjRXXC83ZzF6SnhHTGJDakJBbzBJSWVKcFI0WHpYa0R4bkZmWkZcL2h4WmVORkNidWRxMjllN0ZNZ1Z4WkVoamltcDFTbEhkWEcxMThvNVNFZzFqYTJLSU5pWkltV2dNZEhXNmo3N3FaSDZlVlhrMlN1c21xeGpjVEt6SDJDdHJRSWd0QUN3czZpWnlWN2lROFhER0FLS2xOQ0JHSlJqYUQrQmt4Mk1LWTg4YzlhaU5penZ2bEpQWFdGZzlJcmdpXC9zZHdEMkdpSmlSU2FGM005ODRleVdkNkh2R1wvN2VwU240UmRVRFwvVGZjU2FScGtPWnlmdkl6V1JaM1FWUE1HR0pGZHNLYzBcL0NGQ21MS2xDRG8wTitVSm1YK2p4M2c0dHZwcFNwb1JYQnlHTnNnNVF1OXBDTmZyZk9udUQrQUZ3Y050OFg5ZUxKanRGQTRHVjRrSnB2QzhJTlhTUHdHRmZWZDB5RUk2VXl4eXUzWjRObEIwZjJmWkMzeENmemdEbWI5aVwvSzFUOUZDZEswcHc2MGFNS2RJRDNKQWp3dmFTdkR3dCtCSlBkSkdFaWlcL0lLa0FtWTg0SllMaUNLWW5uc0ZiaVRUQU5lR1phK09WK0MwMHYwbFNKak1SNDVKUytnZzFCSSsxb2VqT1laMHBcL3poNktBbFpFYW9DOFwvMTBFMGhKVkFudndPbzNvWDNKZlJMbGl0THNiaWpxb2NQc3YwUWZta3FTR1F4U3pCcmdYYlNkb09RMnBvK1R3bUJSRVVoY01hQUFkYlV1WXRkZmdhOEhzK0R3RGJtalhYdHFMd0VDQUxcL3dsMFJcL2x6b0RHaVJKWUo2ZFhGbXJxdFRVZXhYR1lvZWVvcmxqQ0xaSDR0XC9kR2s5c2UzZlVvTk9INFNNYU9OVFZ2QkpLTm56Q2Y2aEVLYTE2OW1lTzFvd1ZCZmlLTVhNUE1xUlJGZVwvNFptMmM3TXBMRVVIVGlWV1ZqYzQxTkJZbFhxNEFlU3RjeWlGRVAxQXQ3OVlEbEhcL1ZhQlFnYVhMWGlKNVVWemxUN3lheHdsZGFBbnRNSkYzSElSUUpTMnEyOTBOZVJ5UTZjcXdmYVV4SlFuTWFrWUVWQUR3UE1JZlg2RGxtNlBxdFlzaSswRmpcLzBsRnRRd05YUHhJR0JuWUFDcUdmcGt4TlplZUg2anZJQW55a3VpeGt1M1pqY290SHFZN2RrWFpObzZiMXFHYlZFMklFTlU1SmZDMzl1ellyK2NRZXg5U0tJV3RLRVZyZnUrekphb3ZrWGdDdnBUSGNTWG9IUlV6SHJoRzFLRnNnMjFTeCtTeFVHUDJ2YzY1ajczUCs2N2xQZ1hJK3BSVTB5eEpiTmFOUmlQTkVMYjgrNmJkczI1Unl3SjBBY3B0Y1lyVGk1RTJORXlXZnpkejdvaklmYTl6Ymt4U29FZGVvUXljZmV0YVdVSjNJS0lMUVdmaEMrUGpWbnNCeDRDVjd4bVVrclB5Wjl4bWRJKys0aU5lNHBFK1k1QUxsOENHUk9YT2NvR1BrZmpUTkhNOXVwblRuWDNMa0ZrdzBHb0ljK3FkQVRcL1VKaDhGVTduSHI1aFpZbUVGaUlERE5JaklNMTlqNXhkME1xOEhHWVhPNHBIMFpcL0oxcXJqSWVDaFdPamhCNEFhOUlEYWplakQzVjN4blVIWFNKa0dKbGdhRkpiNFV4bUtCaklOZFFhZGVlZEdBNDNIenR5NVhVYStlUkNjRzhPQzk3WVlETHFSMnVjVDRuZk04cEpOcGx2WjRWZ3d2S1BzM3JLQzhsS3FINm0rWnNsUlZrZzNcL0d3XC9DNktBTHJkRWpDc0x1SWR0MTg2SldRamllczZSdWp2Mks0amNJelcwXC8zeTZkNWd5dEFxOFwvSlZuZEtuekZVNVFtOHhGcG42TlJ4Snh0OW1BRlpiNjBpRFhBM0R2NnlXbllLZWpUc3hNM3NEMm1IWThRekVwZDU0cWl6TXZvWXc2MVllK2Y3SlpmT2luMlVzaFZVZ1FXYUJtWlhKMUZpOSsyN05EbllSSGF0MGNnbnR5RFwvT2c4Z2F4aFhsNTk3akdmbnR5b2c4NmVQekFSMERESGJvbGFSSGR1UkJOWGFZTjcrQVBhMFh3M0NjOU5FdG1RRXVDd2NMdjE1UkxMVFdyTkhvT21BVXJJbmZNMDRQVXBscmo4S1J6c1VRUU9KMXpNaXdrYjVLWjVyWWZHaU9rYit4d1RTdjhLS09pamNsemVRV2c4XC9jWGl4XC9xR0wxak9TS1wvRkVSSEYwMHNPb2xkdVA4MlhyZnVsVitRZ0pcL0Z2SXdMT0NNalpzRG8wSldaSVwvSm9TSERISDJwSmgrdmZpYldrVEJ1Z0cwajNlMldJZSs5Sm5qNXZXc01nN3ZRZ0ZTOVRXbStLcE5HQjd2YmF0TDlXRUpzM1JaYVUxVFBXS1FKbFZPakhHUnNMcFJuVUZOQWROazFMbCtoXC94eWdCa3FRc1ZuVkRGbVNWTXJpNWlGRTNId2cxXC9xR0h2OXQ4VFwvckR4S2VMSW9Rejk4OHdHN3V0cTNIcmM0aHpHOExHYWdod1BnaFwvU1NmaHM0THcyb2hiVHp6b25mQms2TWI0NWhMZW10azY4TzVhN1pxV3VcL3R3SEJPR1hvRXdJNUl5Mmt6Tnc4a3dabzR3SERpMTVzQlZaYWVxMjNSWFpmdjl1aEVOc1ViOHBRa00wWmJVK2FOWk5IWGhTdE5saGFhUVE3STJjZHg5N0hRcW9UMWowNmFkV2piS1RzSzJvWGI2VnNtSkExZWd0QlRHU043WG1kcVgyN3UwdDdZUDFZNmFpUHZZemhUejJvS1Y3TVRtZkg2dm9vXC9DMXZONERxRU10ZWxzXC9iOHRhWlp0TTdXWHlPK2F1RXlHMmk0REx2eGlRTjVnMEg5ajZWRlwvSEhCNjFqcFZUdm9hakNxQ1FDNGQwckdhV05XU29VaEZCQ0FtUHpEMmxQc1ZZVW9GRU1MeFArNFhJdDVhTnU2TDlrUHdYVHZ1dFRtRDNXTUtnYlFiRE0rRytCWElXT2dVeG42SFF5RFRkMWowOStzOUpvKzRub2c3WERMOVRlcTkzQzdBbm5mYlowK1Z0OTViXC9KNGlFQlBsdEl4QVVlVFo1WFBEZSszUjdHeUlaZW1sWGh1anZvaVQ5K0VCNTVnQjJHQ003SEdFcVwvS0NjeWZjVkxhYjF3VVhxNDFmRmdIWFpJTmpkWUYrRU8wZFVBeFY4cTFiSUk5V2JsY2RCUXg1aHF3Uzh0UWdIZWltQ2N1M1wvbnpvZzg5R2N4VnVOMlwvUWRiRURqOHo3cUZ3XC9ndFBjZzhjbWlqMDdIampQQVpQdEwyNkZpMnUyTkNRMVwvd0tDNU81VGNKOVhBcDVocHhFTXUwT0xmZVBrS2xiQ3RRczdXbG1CbEcraWNaRmJ3VjlQZnRkQ042V3JVRTg2MFVmREtWdjJpa3k4bURJQVU2V0JpQW9NZStCQUNFR1FoUENyWHhuSFkyTm9FTUFxNzlFR3dvZ0JKOGNpdlU4ZTdEanFiRktBaWhldGl6RUdMbFNGUXdPNndFSSt1RHlsb1hrWFkwaTFwcjlvTU8xXC96bkttTmZZQWZVNGZLR24yaERKU2tUWXR5WHBPQTVtQm5hbVVSSVwvVkhoMnJIVWlzQ0RrYmtKV3NEMDBKb01rT0VRTVZndXBiazVjY0Jrcno5cjRPMXhtZ3ZPaFhHRlQ3MFdpQmJITlVnb1ZMaFZuR0lyc1ZhYURnQXBDVTlGbDhmQ1haUk5RN2VpYzBobGJ6ODh1and1U05oeUE3TUdcL3lnQXFRazdpbWJMbnVIcTltZVhvMG9VeE9JRFRNbExkZktxVDdibnFUMEFIbHE3Z1NKT2VOQWVpelM2TVZobWNUekE1WTFxYldxWDZrQVpDZm50MDZlMXhRcEhab3ZPU3BPNWxVK1wvOHN2QUdEbENZXC9MemY2WmU0ZVh3bmFJSE5lZk5lU3ZlYUR3SjJUMUQ5enpHNmZQQ0NRN3dLUllJT1loa05ZZFZzd0pJQ0hZQXUySmxhMW9mdnd0b0FETzB0VUFVRmpvM1RlMjVHU1oyVEwwOWpUNTZFcEhkMkxMTjdcL2xVb3Fza3hhbUFjSUJOcVJyXC9FSjdpTndadjZ2Q1Y4ZWUrVGdZVlp5TGtJSVJCcG5mYjkwK25LYWtGaWNkUXYzTDBwRXJFNUdKZjJCb1RUYnpKMXhkeUlFWE1lTm9Zdm5JeGRwYUlqSFRiaE5OckZXekhIN3pvbzV1cFhkVUE4b3RQbmFKSWZoeHpjb0xzcTRtYlJ3QzI3bzVyZGhNc3FyY0hTVjhLZEFKMlRtQ2Mwc1dMN05MWkZScFRPcEVTak1aTitPbVVxSVJXRTNcL2I2VDdESmxlM0JKTk5tbUFORitrQ3JhYnp6cDVycmw5cExuQVRhZ29naG9jM2JaZGZtUFhXM0JIRWs4dWZSOWxpQ2pxaE5zaURFNzhmZ09FcWtvWExidFBxaHdqeDhPblZnUDA5SkZxdFRJN1hlYktWeENaWGlhN096cnFwZkpHQURTTjN0Tm84VTRQc1F0c2NqaDNlcVZNQ1lSVGQrVGhZWXZkV3NMYzlHTE5VYkhnTU8zUWx0WGZxazVmNndcLzVQU2FvWjUxcWdobnFQXC9mRlZETmw4N0ZuRnh6SnVkalpxVFkrcWptaElmN29xaUE5emVKMWdkUER2azJcL0Y5ekNYNU5zcUpYS3Q4MW8xbWZtOHArZDd2d2NUZTI0ektBXC96YkduQ0o1bHBZdkk0NnV1NnR3OURJTExhZUduZkhhdlZqb3VcL0lRZExYYUl4Zis3MWJrR3ZwaFNKNnFYTEdrUWxGcUo4VWd4SCszeWhyc0hRczQzY1J6VVlDTXpSWlZaU3NxQm1JQUpkVUU3M0MwRTNSRUVtK2VYNDB5UDQyVGtsR3N1eTBJcTZYQWJnYXp4NjhPTXlzbXFmbnNLamxGV3BRVWJqSHU5MGoyRXVQYmZvNWx5bCt2Y2JkaFhvbm0xSSs3MnM3czRDanB0RUZqWkw4QVZxWmdxSmlvdDNHZTNRekJlQVVDbWt0RmE5cXFjbGtDZUxQOW5zUFBiUDI0SGVTOTM2RUhDaVd1QkNadTBpcmNcL3FFVGU5Z2RoYUtTWG5vcnhTTlwvQ1VGd2libTV4ckdGaDFVOVZhMk9TYXpuZEVLXC91UkFvdWQ1RWg1Sk5GUjRhYmNLbHN5RGJkaDQ3UW5ENUkzS0dhRVpcL2FsMkhXNEI3djdRR0pVNk5TSFRQQ3dcL3I2R05Eb2R6ZUMrSDJ4cWVFM1NqTG84SUFFWis3blB6OXFxYjlHTjF2bERVbVwvUERkenI2MEJkZGJTZ2M1NVAydEtVNW93RnVsNVRaZG15UWJTMGpIS1JDVGtldjBiK2xUc3pMWlBZenRYWUMzdmpYMTcxZUJLTUJ5dXJjSW5yVGVnZjBlN3plNFFVSEp4eGYwT1ZETklEMW9qN0Zzd1FGUEthSE5jcWxVWHV5THZ1VHJKZERjSDdNN2RuZ3J1NWkzWStEXC9seWxzbGFMZjk2bXpuY0gzUk9Bb0NhNEsxVXRXZk5JOGhEK0lqSW1yU0JTR0hRUE9EVnVuK1wvbmxKR1R1UUxvWEtaOFUrOFB4Z2UzR2NOR2g3QnIrUkdvT3E1RWRqUUxteGdoNmVtNkhsRHNRZFV3a2ZkK25yNnJrNGlqYXBUR29QWGNLTytUVFhmNlF0ZjNjTTZPUXNZMFpxYnVtdDJ1T3MyVUF4UjdpN29xV3hkZ2pvRUtodVl5YnViQ3NGdk1KNE5iZlBNQzhcL1RWcnpOZW1GNUV3UVBxQXVhcW5kenBqRUtiNGdFQUFQSnlmd0gzcXNINENtUzJCUFFtK05jeFBUVFFJZDdxNHVHK2dpeDQ4N1UxekdzUXFpc3hJTnkyQ25RSTZNR2tJTGJzMGZjcnoranR0NFZFVUNkeDBsVThEdWNmQUpvdkxUdUxlYUpWMWZMSHVmZmJRVzdyOWFua0VIYXh6VWd6YnpmZTUzYnpEcmplZUZ5Rk14YzBQR0NCeTRaeEJJc0xlTGhGYUpBREljRHU3OVpBZWV3a3NBU0h6MmJVT01mU0w0YUtUTzFSSXBNV3Bwd2VVQUJKWUcxcm04R0M1alU2anluM0JRSmVVTWZSSmVQbXI1WjJ6WmlyNUFlRjhxUHh1YWxLMjl0QWxRbkJGUFdVTU5PelJBU3k3akU4bVl0ZFwvN09BSCtHMkwrTytUQm4yTHd4ZnpOQ2FVT0JYdU9aZ0haNVNnR1huU0hNSXZ1Y0hpUHB2NHRFTjQ1U1Z0VEw0R1lDajhLN2JqZDBSNGczMDRhZXBcLzlwdjdcL2dlcUdSbjBQbTluYU1cLzdVWndaZ0lIOFRBVzhzcjRWM0RjMWdzY3B2aGtpb2grdElQdDMrcUtzSmJnY21pSHFzMnZsSUp3dmJqWkQwQXNhdTBOSVFueUZRdGVtMXB1a0RRQ1liSDk3aEF1WkRicU9HTlNZQXZCR2lWblpkaHZ5Q0JDTWdpRjAwb1wvQWVjUVpKTVBCSkRXRmdEa1Bvck5KMXZ6aHIwc1F3a05pMU82aHB5Wng5c3JHME1uS0NseXhrSVY5ZkFCWTVCS3hzV3FIK2huWFp0alwvNU1mR1FZWkZ2dHErdUtlajhrVFpLVDVSQ2RGems1dXg2ZVwvV3V2UG01WEtFR3RRSFVqMjBqR21KMjdZRXhCa0tYZmw3VVFNdnE4ZTJRdGI5KzVPQXhYMDdvZzBcLzBiRmhhbjZBNGVySVwvWlwvUDkyd0pPTGxOcWN6VmRPeHdZN0VaNFhrOTJXNWhXVUh4Z3RKQU5lNnVsSk9RSFRyRW40V2M2V1JOQjRMZllra0NHRW4zQ1BjQjZ6NTNseVUzVHBOd1VsdTJ2SFh6T0wzMlVYNGR6VGhzdVVlbG05c2ZOWFlYbWVXVVpZUVpuK2VVY3luYjhZVTR2WEJXZXB2T1ZXcHloUzJ2UVwvNXZGY2RoTldnc3hPNHRpckNtV2dOekphUXNXOGZHTm9TZzVqRHFOdjdDanh2NGoxVldMRDRzSU5EMnZCUmdBa0hZSnZLVFMrR2JOS1dpQ09NWDZuUE5xcFR3cmU0VzJrZ2tPaGJybFhWdHliSXNqa2dpNDJ3eGlqeFJKWGdoMzgzNHhFTmNDd2NKMXBNd1I3ZzdCWlBtand1YlBQTmpNTnJwejZQaHcrYzlqXC9wdUZ1ZzFMdGlPWnJOQ2Y0aGFQSGJSbGtvSUNiWFJBRlpFNXduY1VoMFwvMTB3OVExcStFcjV6UEhHTHRWMnpvNVdSVStaaHhtTFY4allCeGlzOFlRRG8xNmVcL0k3djVzRDJybDBDNnd3ZjVKOStXT1VBTnV2V3p1Z2pFcHlIQ1NIYlhobnRrZXFheGdtN25CanZOUkFmaExkV01zckp2bU1VMVwvS3Jaa0RmTmkwdmhcL2F2RXZ6NWpubTVvcEdvN0tOY01HY1lTT3dpMnBcL3VHS1BGNnJ3ZEFTUFhLeWZONnRaN29vQmgwZDJ3RUhUZ0xpMStuNmV0K29cL3BqdUZJMHBLeDRoNFFjblJcL0Zhbys5T2t5Y1VmK1wvRzNpdG1Ybk1zcHVxajJyRWpmSFJaY2RNTFdCVllQNnh6eUdPaTJ5WjU3WE1kaVlpR3F3MWxLSmhRR3NYaENwTnZBakd0NmNYNVV6dUROejhuYWNMOU44SmgzeThKMzhxRmU2TmNIM2xDXC8zVTBHVDg3dGxZNmNlSHNOUU8yN3dxVEZYNDB2dktKSXBmMFM2T29Id3ZJUnE2REZraWpcLzRWNlwvNEthS3ZXRHgzVlFldEhLRStneWtSbVdRSlBTakl3YzZcL3dZa3JycnZqZmpJaVRaSWtYZ0pZd1p3N2lVa0ZpUklBOW1yWUxrTGxndnBkeXQ0ZDRJaFNcL0s0Z0trSnBySjF3Z0djWjBDcVVqR2psS1RERU1lOWtvUWI4VnJkanJJQTJ4N2ZQNkZFQmt5S2FcL2g1K3pcL01sNGxHSzlwb2E3XC9TTjJ4bk10V0o3UnBwR3JWR2pucEdPd05tY1JHZ3hDbWpUOHN6ZU04UkpWeXZicEpqaWpUQXZKODl3dGlQR2FNZU4zYTV2UTZHZ0oyRXF2ditTY2RsWmhYNWpuQjJRODhXSlhYQVlqSDRhaW5xa0p5THQ4aldQRjVMaGJZbW5LbXdIbm5rcTJnZDRvUFo3bXk0azRCRTVYcGhYY0RmM3prY0dnZkZiNUQ0cG5wSUgzM2o1bDNFNTNNayt3OEloaldxQjhnS0JXVGMydWgrd3d6QnNrRGQzWkdHU1I1ZWlVY0FDdUN6eTlQampqWUtVVkZ2K2NzM2t4SUd6KzZBR3NsYVptZ292SCt6VXUxVkowTlZcL2lGam5RRll6b2hiMGpVUnMwUXpVc1Z0eDM3VlBoaVNNQ08yODJzXC9uZ2VGbjBMVzdoZnpcL3ZaaWtRZkQ2K01IZ2g3NDd1MFwvM29sdmlYU1hOR1U5MnVod2h5cmdSVGZjSGFFUHlNMGRNU2JQbFwvWlZid1wvVjE0WjNvNjVUeWhXeVwvcjY2N281K2NKSHduQ1Z0V2dSWXkzd3pwdjlvQXJhMmVQU0RVTjJyZHpqbHU2MUhpbVB6ZVBqZll2M2hsXC9JeVVPOXVoU0lrSGxIZ2JmM1lUT0o5ZEFLa0dwdWxQV0xuZlo4VTBxY3pPS1FYaXBOcVlcL3oyTFRMMUl0WWFxTjFxSU9ONFlJTm1NaFRsT2xNVVEycjZFMWtTd1ZRdmI2MHdXTnNwRk1OSDZKanhjamw0UjBkb21XWEl4cWR1dTM2eE1VdGNjeTU1Tm40bTk2SzY5akpFd0h6UkRHU3VBdUpQUGNSVGhlbVVJSkR2aVlVMCtJc0ZLc2RtZGRFKzB0T0h2WmhJUUVKWlFDZk1GZVorOXFVd0lzamhQWldQd2xsT1RXSGlFYTJiWnBuajNRTWJRZGdcLzh0WEIyS0FTRlRQdWpNNjZGYjNJK1k0cUNmTVwvMWM0RUx6TWxJY2ZNR1NoVU5KQVpnTTI0WUtNTUJOelgxZEZCNzgyNWFidThNUXJRaWVwMkx1b2ticzQ4cVRqNUZORVBOMU9jemRHU1E0WE5uT3RUSHZ0SzJxTisxTUFDdzByN1o0MmxzZGlKeUVMMWZ4bEdjbnZHUzkyYjY1K0hYZTJXNkoxMEF5djE4amgrdEwyejg3ejNnYWdiSkFrU0VZM3dJT0tycitiNFFCbHR2VUlRcE8zbUNBNXp5a1hoVkZBSnNSZmd1aDVZVTMySktwTGxlTFhqU0lTd2lGS0tUSFZ0dUNZZ01sSndkejc1emQyRlVVTDk2QlZEVDlYbFNkVXJ3Y2J5MEVrZzZqOTdQTExCSm1zVlpPUWhJOXRxXC84WmJJMllEY3VlWm9UWmNVUThoVlJJWHpVUmRSRlwvOEo3ZmNKeW93Z21OMnVJY1djNmNjOGJQVTZWVjIyWVNcL0ZCejNHeGRPZmJlRVNFXC9oSTFLaDdBZEFKTVloQ2NxUGx1RFJJcjJKNHZZeEZSMWRHc0lTaXdNYzJcLzRjQUNjTnFcL01wc05acU40cXpnc3h3QXpWTTBoOHJuY0VZRit3TlFycThaZU42dm9UM0tQbFFDN2E2eVpKWUYxcWo1bHdRS2lWSWZ5ajhjdmtaR2lCUFNBXC95akJycjdyNFhjaG5QbGJua0tJZk9oNVZtdzFSMjZqc3NGQW94eFRrY2NId2JYXC9ucitISnBvMys0ZGdycjZcL3dcL1B0RHY0SlFqY2J4eHJmOUJmR1lnZzl2Z0hwb29rdVRnckJQRG5ZNVVpdDJaQmYybkM5aXAzajBBSjFuZDV1MWVWejdNK1RjSFMxVjVkMGphT3BFaHNoU2FXZzk3UXA5a2RoVkFwMThzVVcwQXc2d2Fsbm9GRHRYcE8wYUFiZ1RuV0plR1E1TjNzNjJcL2lxelhvYTBaU2wyZzJmQjl0XC9pN3FDb3IrVERuU0d4UE4zQXU5RFFDbmdrSjZhb0JyaDN4bHNjc3B6YVNsR1lDSm1pV3lTTUxlRnRaOWZHc3ZLWUhxbG5ONWZQWG1cL01zZmdIRWl3SUhcL1d4cXZHTHpFOWtkYkNwVjhkTmFUM1o2RVdUbkRQYzJpYlh2RzdjVXhnbXhaQUsxWWNLV0x5ZmcrRVg2WVwvSE1MeU1udjVJK1NQTUJ3R3NmUFh4azF3TjhORVUzT0JoYjdTQ0ZOSThUdEw4RE5EODNLVnpNbHQ3dGtCSlh3VEhkaTlpdVk1a1dsam1kc2hmTkxJUThJa3I0RnNzQ09rd3Jja202M1FheUhZSFhYeE81aU1uWGFMcktTV3VwZDhVaUFNVzZcL3hyajZLYk5YWDdiSXJHTVJtWkF4V3J6SkhuYlhTQkFsT0gyN3poUEZMajdPREYySUZINEQxck9SQ3E3Mkd4RFhqUmhmNVwvOENZV04wdGR2TE45NWtTanhkenl3MXQ0SFwvOXFZbmwrVGJVc1wvajR6anFzMmRiamxsZ0NBMHRnV0srN0ROazB0WkUxVnRQNEJoQkpuUjdrVEhRd1dTdDAzdnRzdzlRUXZHVlwvMzZISEhMcWNUYXA2OGdlRFJzbmowRWorUVZRZFEyMWFRaHRwN3VNYmo4S1RGdHk0MWtiOWRjUWR4RUQ5WmszcVU2eG1kUVwvRnVNKzl4VjVlYWN4ZVZXUUNTUU1JTUV6em4rTHBWaXd1NEM0K1RxV3RMMW9GKzFDNHQxa1pKM3BWY1FsV2pCTnpCME4rOGk3MVZncTBKTFQzRnRsbjV5UDR6a25NSHFwXC9lZ2hqUGFHNUVkSWQyTFg3RmU3WHVXSTRPcEFYRFBDcWdycW5GSWhuYkkyUDFvaEVvZGFhWkJaUTA1STdOQVFUWXRKVGtzWEIxZSswZ1pBUXRIZTdaa0N5blpNXC9vZXN5Rkc3XC9CUlNSMkdDVnUzckdGd20yUXBNU0ZyOElOUzMwK2Zqa2lVSXFxMlwvQkJleFQ1dWVOd2pENDdmUlBOOWxsSjFNV0I1QkxmTXVvdERXd1R4MjFNVzRmZzJoUnhGNnJJUXBPK0dQdWFzXC9LaXRvZitlcWJYQXQ2cXlSTDNwN1hqSTZ3eU52aCtJQ08yT01TbDc5bzVjaFpaY3ZOZ2huMTNZOE5xYzJsNmlpNTRoMjV6ZGozTjRzYTF5clk1QThpcEpLU2JMdWR6U2FlV1kweHNLRnl0WUp0SUZwUEg0TGdtd2l1RmJzdW1Qbk8wNjRsUnp2bkRvb3NPYzNUOU1VRE1DRk1xdEFjbFZIV1F6Nk5sTXhHd2NjTG0zemNhK1RWTmt5ckVUemhqcTh2ME1pMU5sR0JKWFZLR3FORDJuTDZvT2lxellnTDY0aXArM1QzVXVyM2VcLzVwTFRuQVcyek55M2lQdGd2eHpFcnp4UW8rNmp5UndVWTNXaXJxMU1memk5NGN4UWwrdm04OFVaeU9FK2l1bnhxbTdCSFhQRWpIVDJjS0E1cWFoSTlOZGlxNGlKclhQb2dCQm1pUmxSN3hTR2szSWNcL05GdXpWY1hlVFgzZ0RPbG05XC82QkozZWdnbmlaOXRNMlU2T1RNM3lyMWd2QllGdUg2MmJhWHVHRXNsaVVCREV0N01cL0g2M3FJM2dcL21kYTBzc2VqeVBvdUFcLyswYUNuajZlRmtCMzVMUVdyWkU0eTczQ2x0VnBuSG5xVzJVNzVxQStta0VWWlRvblE4RWZpNHRHZTNseEk0YTdwZUtNZUV6MmhDZ0ZjQWhxRERHVnJmQ0lxVnRpd1ZDUmF2dCtha0xMWkhjNlhmc2Y5aGJteTlNK1R5UmhtdnQzcGt5T0xWY1FVVXNEUFZ5dU1Ed013aDBheVV0bHVDRGJFR1phRjd3bkoycm1DamJhaWYzRXRJTTUxeXh1dUFHT2R1NEc2VUZ5aEZjVGZcL0hnSzQ1Y29sTGlhRmpyNTdQRFI2WjRCWTlUMGdEYVNDdUd4SFBNSHJJeEFVOG1VV1ZkSXhyVTZpd25qVTFHaE1BSkxreDhsVjI5TGtRbjRCNmpGNlFLMmRrcW81ZUVwcDFmbzVzZGJwQ3lqUTNVbU84N1RPUzNBR1ZcL3pkYWJaTnFEbmxicnE5ZTRtc0N1MXJTNjFhdnpHOWVTNHJocGxKdTF5QVQ5MnZqY093a21QbWRXdGJNTTErT0NqXC9MQTlHeklHNFljb3dlbGhHMWtsdWVVQWtqOFZ5YnBVR3R6S2t6Rzd1TnJmanYzNTBFcnZmNGVtWmNBclJIaElGVmdoUmo2TElUK0doUG94QjRKVUp0TlBWdFAxZFc0eGpcL3RJb3dPbENUdVN3SDkwYzZJWmdiaDVtSFVhWGYxOG96SmcwcGpzaUhHQ3JGUnBnUnhvK1VcL3k2RlRMQ1NJQXlhWGxxUm8wTEF0SFwvaW9DY1h2ZnFGV3RmRWRNUk8yNDZCajVCWTIxNVlDTlVSMXlnUm5DaUhvRVlVREYrdUpxcUdOcjZTN1pVa2t1XC92ZjNNbVwvNkhHVXFLUldRVUlWYzBjSnRLb1JXditpeWdUZlhuTzIwQXlHdytMZWY2aGdEQVQ1RlNcL2wweFcxaEJkT3I2VTZMelhZcVhyMUo5XC9Nbk9GTFlZSHJldW5vY0JxYzV2aUJwaENMTlVmdlkwMjNHK2pyTzVOWFk2dzhFVVQ1aGRMOHNUQk84K3VcL0puZFlHSEptV0VYUjVEa25OdGhURDREUkRlaERPTllweEp6ZlR5bURPKzBEQW1JMldUcVBJanBYd3NhalJwbndSc0dwUW1FdGp6RDV0cDArUDFuSGRaamdpV0RHSXozemQ4SzBoeGhvV1haU3lJanNaVkpLXC9DTThIUDE5MkVKWW5CT3FTU3VLMmJFd1wvNEt6b2NnMUsyYXBMYllkMmcrQzQyYTl4bVFiVmc4RDRURmttU3g5NjlBd3FSTkoyNnVYU1RwbGQzRXFlR3l4Tk54clg3WWJYcmpvc3hSdjNhV0h2S1ViN1BWbXMzS0thK0R1cXpyTUVFVE9yQktaTW1uSDgzK1hCN2FlVW8rdDZsZlpTVm45Z2x1R2FyeStRMmxCak5rZ1lzQ2pwaThkV285UEQ3SFdFSGxrUUF2UGNFZjNOcTRQUVkxQzI4bUJBWFpjbE51ZUJvbm9Jdm5IaTY0QmEzVUg0d1dkblNPOXpXenBnWGtqOEFXZUZtZUZ2UUUzbmczMWtORFUwTk9IQWdBTjJjeENVVlF3bHNsdm9UZkNzRHZlV3VKc1dkOE1SbEdJMWswbVBUd1JrUmM5YWxjTGpKdXdkUVY0djRoUzlYUzBTMlVBSXMzTGRHWmJ0Yk42QkVCYm1qWE41MExcL21YZUltZWtnOWR2dUZBUW1sRkdTQkRoUlhjTVd4dlJzOXFsY2V5eGlzMU5iQVJJdGZtR1ZaWWxcL3h4bGh4bnAybTI5cGdWSmx4VGRoRThIUE45b0pYUjE1WHo3N1c2QjcrM0MyN20yV3BGY0VERGZRbVVhd2FlSjJWUXI0NnNlZG5KcWJUUyt4MzNEXC92NnV1YkdyYVFBY1VHbVBBOHRPQWU1T1dpOHhVRmVmMm93azZKOG5yZjQzd0ZHUEZnTThZUDNHYUpYVDJmV2NJTk5yRDJqaExcL0hiSlwvVnBLSHVpYTZwbyt5bXh1NFwvY0QzeEJsaWVnRENlZW5TUXlxK3poVm00cHZMYnR6dkFpNlN1QkN5bjRYMXA4Mmh3N1h5Rkd0K0RcL2QxZWo2TzZVQ3NcL0t1VGxxUjZ1NWZEYytHZmZoZHVYVWx3WjdETWIySE5tXC9xXC9kV3lYbWxucWVYWml2UnFrN0ZNNzl1UHRibWxjbUQxbGI1YVRHaFwvYzFLbDhGaEZiSkVZd2paWW81MEZcL3BwN1YyWFc4UVduRWI4bTdaVERqWVJkcGczbkNRbkdmV01OakZnNjArWmxVYmNhY0JaYmUrUVlWcndtOWpIWFRoXC9mUlJ5T0hKaERER1JWV1p6eERxcWRcL29Tdm4wcmpRUEd0dDU4NUpsSUwybXloY3JjZmQ0MWVlS3dmZGVoVU14aU54dmZhWmNhRmNNOWt3eTloZHBnNitnZDFtaXlnb3VKZ09PY2VaajJEcWJYcTBhRnpkeThjbUxNOGJvOStEc0dpR0JiSHEyMWpcL09wajBHZlwvVUhBRG9WRE1zdWpHZEZHcURmUVRhMVpHUjFIdGRzNjJXYXF3M1pad2ZHdXRaT2dcL0hrd21JU1J6MUN3UzJzUmNGdXFoNVRhamVLdk5kT2t6ZjhqS2Y4RzZ0T2wxRU12b3Zza1BaTm9cL1wveDJHVG1yVTNoRU5ZY1lDTlZXa1BnQXBYTWNObVRNU2UxdEd6RkMzZ2R5RVwvZHpObEZxbE1NQmJLNnVTMmMxN2xramoxbXExVDNBXC9iRENRaEp6OFJkVnpFbjJOYTVvZ3NmUnRWSFNqYU56Z2g1dDBnV0FEODBtV1lMXC8zMHVxQzllZXVBTUJIWXd4bzJsckFOdFpnaDc2OUdsMDFKN1djK0ZIKzU0dUJrY0dOZUpxOGVoNHEwdUljamY0eVlvcWlUZ0h3eEZqUG41VlorZllCYytGaUkyQWk3bm5cL0I0d21YNkJ4b290NTJ1R2FNWENjT1NibXJPS1VSWkFvelFKdE9oTXFkWGdOZWRwZmtkYmZrZ1AxRTJOYm1mRTAyd1cxZUdCVkgwejlMVmZCMnU0XC90T3dcL2FXKzU0Q3pYa2VSbjdWRW9EbStGWW83RmhybDRLbytBUW1HOXB0Q0xhd3BxVk1ReTYwMFJqY2FjaHEyZE1hVXBLY3dQQU82elFSdG1hWERwdjNTUnhNODJXcG9IWHBaNDNPMjYybE12ZEliOHNQWjd1STFkZ1dQTVwvXC90VDZVT2t5djJ2Y3Zhalh5YjRJZVQ3aVE1TlVHZFdaa3o1bUlXODZpWURTVElSTjdoUzVCQzlZY1RXeFVQd2liVnA0MG1hVnBacEF3NDBLeG9NWk1ORWd3c3VMTHlyUFNjZUlaVDNIYVA5QnFjVjVDMU9Bb1Naa3VzMGFpR3JZSnB2WmhzczhKcFBWcmJNaGIrUzdtRDZYQ0Y5Q0VqQ1djM2N0K0tTZitSKzE4T2djUGlGWHFpUWsxQzBObm9uWVU0d2tVVHorME14aUk3TU9UUGtoeHMySmZxT01NSGdFTXc2K2JvU2dxQ203MVVQWU42U3dcL1FUXC9XSkFPS2hqanlLK1RxczA5REh3ZEtkdW04VmdPanFyY3ZGNjVTeHRxb09vZW84N3RNRWlTbUJlYkJBcmlRZmhQUzhsTCtWV1JxTFZMWmlVUmU1aXRYbnkzdU93Vm12Um0xMURJTzF5d3ZndzhwRFZrSllGMUdLQUZQQmtcL01uZkZXXC9kV1pwZFhVRWx4RlwvN2g4SEhrVTJCSEYydXpYSXN0SGJCKzIydE12SlZOQnVkXC9NKzZacWJNSTFBXC82Y0pYd1dnZURPcm0wWWNZektleksxVzdldFRHXC9sbk1aZTBcL1pIQUJGV2JqNHg1ZjQyakFqdDdRV0ZHZ09MdDFCaWI4Y1RlZG5uaExXUUxcL053VFdsZmFHZThZZUNYdVhsa09KcTFidVhcL2lwMk50UFZJZHljR25aakpuNmgrcE5QSnJxSFdNNEN1SE1VamRGd3hTSTNUV0Y0RWdTa0o5S0lUZUxnXC9ZdDh2WGdWREljN0xnOG5rM21mdnhDWmVrUk1nem1ZWGVJbDVGQUxiYUVDTUJcLytTUnc5MHdnSUZcL3lcL1wvNldnRFRpS3Q4RGtjUUtjTUpKb1N5d0VDWlhGZ1VkZmdzQTI5VjFrUFd1eUEwMXlJTVR2WHpXK0ZkNEJHQlZ3S0pQV0dUYk9LYk1HVUtzVzIraTZTdnhVa2xHSlhQdnlOOFp6Wmt6RE9YQTFiMnpNdEVRZWpRRzN4NXhzV21RaElYR05RQThqZXgwc3RQMStWQ2J2bEw1RUh1TlVuM2pvV3Fza0hoSVg2a0ZnV3pVNEFucXVYNDFOK1MybVhlcmx2dzR0Q0ZReUs1TWVmTXlFSHBWK1VIenV5N2NHXC94ZTVQNU11clJXWnZwY0ZSTW16Z1drSDgzWTRFeCs2dUZONXFGQVdLdnQ4SlFOR2hNYmQwRjFEcVVFMkEzMWMyd0c0OW04dXhcL1I3VDArSk9RTHVCVjl5SnduaUZSUzBhcEpxc3ZxNExUamorQ3lHaUsrb1A0Y0tvTm1aZ1wvWXNRVlVQWXl5MGNJZUtIZytEQ0NPS2lINXRnZFlLWmgrWTN6d2ppTjAzK3RDNGZUVlpEWXJIbWpZcnJLTDFPb2poS0ppbnlJNXdCUVlcL24zSjdIXC90WDBqclNtN3RcL2hTRFhoZHdXSmRVYkZxTFlNRlwvNGJBYUM2c2dDRzJ3amt1OEwwQjhKM3R0TW1GNHFnd0RmbkNqMGNHRk9xRnkwNnNucWJxSGxETVhXNmVjb1d2VjY4NzM4THREeEhFbDFYZUpDcnFIeVpnKzZDQmpCTVNaSCtXQ0JvZWIxK3plY0M3VFdhZ3IyR1liZEh4b011ZFh2M1grM1lpaFwvV25abG5PcEVHYlRNa0R6WlZyR3g5eFM2TjB0ZFdteDFDR3R0dXB0aTh5cThvdnBFVGp5WnJHODAwSCtud0dQMmJUSEhha05nK3lIeGh3d3ZEcTdPdlIxNlFFQUF1Wm1YNjhORWFcLzk3S29FTEJGRzJCYUN1amVPYUxyOVNVMk9iSVgwakhET3dTZG54cXo1eE9UenN5YU9HZjdqbzRIOWZ1c3Y5SlNxNHNBRlY1MU1EZm0zWnR2Y05rUnBtS3Y0dXNZYjJhMndtWVBPV1V5bExDZXd1WWI1N1p0YlJPMjJoTjdneDZRNVFtd3BvY2dSdXgxOEcxYldBbjFPZnN3OXZLemFjeThZcGh4QUVXVmR3NjZ2b3NQSGMzUGU0WVZPMjFseHo3dUVUXC9xajd5TmpGemV1b2dRMExqS1lQR3pIaTNKUHZvREdmand1bzNNMHhWbDJkQ0ppZnJvZ1BWVEF5ZVhCVmpZdjhWcERcL0t0Nmh6K24zMlhJRUtxendsRlFQRGRMd0JDbnloZUM3Z01oWmgyaTlmOUxVZUdTdWJNb1wvbDErZUVTemZzZGhHRDRBMGluRHdLaEhwallNRWpyZitrdXd4TU9Md1pGZlRqZ0YwUkFcL0VwUGhwaHVoQm42VWZhR0FXZXoxaTBQQnFFOVpheVk0M041YjArVnVJZTB0RHFlK1d4NDhzUXVcL2JQc29YT3E4dk1NMzhEOGJvVFZJMzZldWhDVW0yWEpcL2hMN1pVMk9BaHo1WVZWdWE2eVBVZk9Mb0VkN0J0OGFjNEdjRFpNQXY5K0xHMGo0RVN6K2JoTjJ0YklhaER3eUZFdUdtMFpTOUJSMUNVdVBmRUt4dmtrNXh0ZTBNcFh1blwvdVwvVm5rdWVuRHdadDE2ZWVFWEZcL1d2XC9HRitsdVdKVjlEcU91WGRLcFwvb3JHRmVsSU5cL3UrNTduOU5TekxZemFVaXRYaWl3ejRLNEV4QzdHeE5KNzJCUnlsZzl2SERtbXp3Mit0djlyaEcycWZTM3pHeE1mNkJ6OHFSck1ucnM2dFdvNGJZbnlGUVZiYWxieTRodnVcL1wvXC9XcytzNXlkdjc0aFEyajhkbEF6VVgrbFJ0UmtKY1d0SkhhT0ZJZVM5WnZsVzZUeU5ucHNzV1ozYm9lcGNJTzdxTUNiR2crM2VsbVNYZFhiZFlXZHVyNEN0Nzhtc1pEQUp1V1BjeGNyZisxWElWdG16aXBSdHk0UnlVbzJqSjJXRFh6eTJSNUQ3cUJkTTRodFR3ZktqRkJ2OURya0dQN1VRamlUbVwvcWRZTFl2YkpkRTBCeUFhcUhpUit2dkxFXC95K0ZxZ25LNDZGanA2a0syRDFoMGhjczFIWjZwdXZxVld5RWZBMFYwbW41QXBMcXFTWEFpQUVzVTc5aHJcL25wdjlwcFJyd1wvcHNMMHBXNzFqcTZQV1BvMFpQbFNCTWFvN3NvNWtlb2U2aHNNNEwySkl0NEtveHlIYXNIZHNOa3VITlBURVBZSHdMZlcrXC9CMlIwWk1XRnl6SUJzV0s5RjlvVHNlS0kxRElNVlErbDVVQkp1N05jc3pvNzJoaWVCY0Z3TlpIYjhtQnJCazlWZ0wxTlhhc3FNQXJCdjJJWnVvK1BiMWhzNktYaHB6bU5hbGRhUjg4R1wvYTVXVVdSNHBXdmxSeGlNTkFObjBaYUZLRzJBQ3YwOGNSYTJadHJYYWh3MFVSRVA2MzF2TkJFVUphWHIxZmxRajZRZDZraTE5YkdLKzZLUXY4YkdIb045UldPa0FFVGE1WFVIeXpWeTdzXC8yXC95NElRZDhJdmxORjAyS3p1b3JGWk9pTWRHc2s2YmxnZXd0WTF6MXFORk9sV3FkZkIrbjdRNDBRWVNQQWs0Y2ZHZkJ6M2hyRGd2aFF4Y0JKUHozT3V5RTRpenRPYlNraTZvc3BuRDE5OThtelROZ1k0UzhBQlVaYXVTZFNpTDVLUUwyNUpYeCs0ZDBidjd6MFl4STFwbjBOVFg2cWRuNUUwN1ZremE0ek0zUUJoVkE2RVBQV2JmZUdyVFhrbjZ0aDJlZXRyMWsxclhta29nVHdjdXpXcTVTeTM3WXg5UnBaVnJIR1hoN2huTVR6UWxCZHVXcGh6cHFQVEM1RnF3Qm5wMEhWeUlSaXFJN2lzb29KUHk0UGVYOGFXaUxYN1JPbkp1cElJVkhwWHVEalJjSlNScUhtNW42ZldCSCt1UW5cLzlEbzROOUhmMk5HS2l1WldPV3JLNEZVaWRocFNKRHN5Qzc3WkxTYU9yYkNcL2dzUUdTYUhITTk3QzhIampQeFNuNUQ0bkJVUHZCUXQxM1wvKzVvQld0Nlh0N0FCUmFaNXhJanA4dEJ4NVhCZkpHMWhRclFrYzBTXC85VGQyZ1hubUJHcXlzWStOS201UUFrVFg5b2Q2eDZxbEJOM1wvY3FwT3J1TFhYQjg0K2Uxa2ZKM0d0Q2pkc2RXS09yN05KelAzdm9OMjE3UFpoSlgwZHFHOFZiT1JGOFwvTncreWJcL25LalhhdXJpbUwwNEs3aUVoZUpLXC9BYUVPRllFWmV2ZEl4Qm1icWs1Q2Q3amZMYVBVMllpckVmeVVzVGYrbmtpSENWU0lWR2RXTU9ET2NKd1cxNXlvc1lpa0ZnMnpRTk5YV0R5Q3duMzhuWTRITm9zZkMyRUJsQ2NLY3M0THVJc0NVWlNtb2pZc1wvUm9CWmc0bG1hWkU2THljRmVNXC9Bd2s2MWp4VEJDWDJIZ2xRU3I5WmxDTWlnYXZXNlEzeEg2ZnFsTEtJVXRiRVNraXc4U3lqZk4xZmgyT2ZXeDdCVUQ0TzBLVFlzXC9sblBTTFdEeGx1U0NwS2plUnJJbzFIYVVpVHBiblVLVlRLb1FOakxhUEJmVm4zK0FqR2x1UmdqK2g4djk2ckR4a2loZm5tN3Z4Z3hGYWllc3ZQNXhJMlJTazlNY0oxeENPSGhvaENYVkg4TVBweVhpbjJJQWhPcUJqYWJpN2JCeWx1Um96Q21vMGlhZkJjZXl4Y0FjN2lNcUttbzdFQWpSMDhLeVwvU0szbUJhUWpyMDVRK3h1MTRpNFNyV1wvcFBqODdCVFJEQW40R3NHaFB2cUREZGtsWVZaQ0hWSDcweStQNTJNQWFwQmpqUFdzbWpjMU1BMDA2bXZkWENIMDBENG5hQ2d3MjVDNWxDRjdvSTkydWZsWlgyMGdZMXJmZFwvNW9kOCt2VGRMUHJyNjFuZDR3dkZnSUgyV1lwdWd3a255NnB5MWNEQUVZdVNWZ3BaNWloWk5WNFVEM0ZhUTdiQjEzNW0rYlhwWE5cL3RjXC9rcjdYdHdYQUNCdmYrSGdPSkdZcWl0NEhlRjJwSVdqb3RKdnFQT1YxOWtuWGs0QUZtWmlDRjRCU0JLeHR5REkrZVp5TWdybUN4cFBzaFo3YWtFR1NyVjVBa0NuVURHaUVDVVFSNWdyeDFrdXpwaVwvXC9CMTI0RmhwZHpcL3NwZWloN1I3MXN1ZEdRS05WYVAxUlwvejRxR25GNDg3cGNPKzZzTUttbTNPakR0TXJLTkdORjFxeGF4TnhidFR6U3AyMWh6V0ZpWmYxUzA2bWtqVEFnSVJBc1Z0WHJ3cWJwTTJzbVh6VXJBNkVuT3puSWprQUgzaFFXaUJEYVwvXC9lWDJxUkZvWGE0Z3JTVmtTaGlyaThlNjFVSVVUTit6NXhYKzFKNk9lbWkwWVlvSXBNeTlVa01DSWN6U3AwQjB2RHRcL2MyQWFwazg1YlhzdEhDWlV3RFwvZUJMT3E3Zk5zWTJaOWoyeVM1eW9IY0tqWHpJS1RPY21obWxWM0VjYVNGQVRaejRXZHJzVVJsVGZYOHhaempZNHlxTlhhc016TTlQWlo5aFgrNUpaQVV0M3hkdnE0cWx5bjFWN21nR2oxVDR6NnhNVXRqRXJwUysyMk5WMGl6SmJmSzdVbk8wZHNITW9LOXZMY0xVeGlmNzViQjFqWW9cL3hNUXo5dGFpcVhxQndwK2h6MTNiSjhJTDNNdGZMRTA5c2hId251aENBVGwyZVRWSDdDQlwvRnA1ZlFHMzI0UkFIT1hXUnpIM05hd1NcL3RJZFJaeENQZmM2VFJ5Z01wTjJoTFBXXC90alVmaUYzR2lrV0tCbjZYQzRkczFhK3BcL2pyXC9MazlIY2xOcWNQUmpvNFlqMnlBbHVYeUFVK0VhemZvcG53b1lFOEtnSlMzbzQ0Q29aRE5TdXNtamZFQng3OHV1dVJDbUtLMTZuNDNqVTIyQTdRQkRDdld5aCtwS3pMMDBEZmhTQUg3dGtOOWlubHE2Sk1DeXlcL0dIdnNKZksrTXMrd0d4cjVBOGVCYVRNNkpCd01RaituSHpBbVQyblwvU0VxTWhWTTg2c2xmMHJYT0xqeFkwYTBkSmtkRzFTRnpOQkNnVTZzeHlKZmhCbDlIcEE2M094SlZraXd5VlwvKzFIbkpDc051REJzclZ1TlhUNUw3aThKYkpHNnlpdUJ2KytGVTlPUFQwdm5COWprY0cxOTJNeUtxNVRcL2E2MTBaUkxMNUNrc1BWNXhFU2laRXJueWRkdlVFemZMdUdXNWdaY3ZZQ2JTSXZwUWZVWXN5YitUd3FJb08yVVJ3SWVUOVwva0ZXemZ1NURwaWJDNVwveXVqVjlCUk85T3FrUHZlUzF0N1dtcWs1MVwvcUdnQ1NEblNlWXFMVUplNVR6U2UrbzhMT0lrYmhuSzJtT21vM3VxMFlpQVBEc0JZRmZXb3RUQTc0T1ZmeGRTV0dvVVg0cnRJNjc2QlVSdDc2aHE0aTM4UDdMQWpSVDRZTzRSMDNoVm1WYWZaYVFHUFlcL2NIR01sVEFEd050TXZKQXJicmJRSGdFeDNMYkoya3lscWROYmFXZ0wzQTNMOURtemZyazJJS3pRSUY2V0szelRtNlZDVnhjRlZTeThvVWtBUWJQWVQ1aDVRdWYzUXFsMm5UYnV0YjFPQ29hc1ByeFpZaTN3XC9XbkFvc0M3ZnVQSjRCb3dqRGVxbjliWkdscmN3c2xjWWtmUE9EenliZEVIcEVKTXByNitkVU1DeTUreU4ySHpzTDFYMzVNbGMyS2daOVYyRG1qQ3NBXC9CbFdUNjNUSk1JUXlDaDlDZkNnaXo3N2REV3JJdndcL1ljVHVnWXR6RkloUDN4Zm5la0F5S1pBMmpTc1wvWUN5REZtaVJRS2xPNGRHM3BDdVlEZ1JWZXgweXBHXC9LMVBkTmZPMHA5RVdnOEo3eEhcL1lCWHJKaTlFMWFoWndRMjhXQW1cL3JaUjJBQW5EQjlodzNLcXlTYkhlT0RDK2xGME11KzJkSEF2NXRWbkIxdVBKb1BmckRsZHZtdG9SbDIwQytvbjVST04weW4xQVwvSUlpY1Uyb3l5RjR6WTZoY1FpWXFKMlwvTVB6WTJublhqcENyem1WRVZSQjZtZGFRdDl4dXZEMHFmVWJ4VWIrSDJTNU53Y09QdGJHejlicHhMaWppNTJiejFQNitNZlZZR3kyRzErMmgyazUxd25XdmZLc010XC9BNUVjemlMUkprODUzY3BYSnFNY0twYkMzTTBrZjgzZjBlc05HRjVCUlwvVTFKSnBmemRmQis3SFpueW5SVW9OaWU5MEN1a1wvY3E2UG9XWWZcLytNQlNqS3MxZE54bUhWSVVOV01VN09nMzdzbjl4OHdyOXh1ZTh1M3g3UE1jSmZRVmR6TWF5T2lQMm51NnlXYjBFem9RVGZXOURDdXloYm1PZmtZMFdQSGhLUm4xNlhzTVdHUEdhWVlKN0N1NUowMklTQVRrd0VrUUMyQUo3V1VMM1NhNm1vREhLY2VuWDJzWkt2d2lCT3hDS213NmVvbFJnRm1qclR5aWUxZ3hjemt1NEVheWtka2lLcFpRU0hrOWU4SDZlMHVWUVlqVEFGTjZ3Q0tiVjdlVU9JWG01UGltSjNGbGtnSVJEelwvVUtCcVlkTUh0UDh0ZzNYazZvODZ3TnJJa2JvWlwvZUVJbmRPN1pXMFlmZ1ZUMTVWYXY4ck1JYzR2MkJzMDFzUGRYd3JCXC9Pa3B2R29lK2NKUDU5YkdlVno4Q1dRdmg5bVRVTDQ3ZW9IaU0xU1VIYzRibk5rbnU2MTBkZ29hMkF4blBHXC9FWUdpdjd4MUJRQVVZQzM2Z1FINXVYb0VIeTRQOGN3aDA5SGZFXC9hQU4rZk9qTEdtMjl1c3BQMHJjVkpFMlwvQUFXS2t1VWlEZnlha0MxamJ4U0VcL2JQaVwvY1wvR1ViS2twdHZ5REU1c2pLMlRKa0tKcFBOM3NwQnF5V1FsZUhNM0Qrb25QeGRnTW5wWFJkUGY2TUhrMElWSzZQRHJPS2dRMWJTbFB3Szd5R3htc3VCUGFzZVFBNldQREkxV1RJSDVIdUliZDlcL0ZiSVFpb3NDSHo4dDNrYmpNRlhSbmpaUDNHUWNnNlJsMGVkS2FVM2xWMnNCVEJrSUxDYzJSbHc2aFl4NHpcL1pCWFA2WlNEc0ZWUlFhdlY2ZGt2b2dUYkNPRExNTjd4b2FjM1lRc1dmRGRLeFpLYndzeGhZR000K3lMcGk5bTg5dDFCRDN1Tzc0a2c2bFwveHgxRjl0ZWVSQWdtVG1oVzkxaDBocWdkT0thbHhGdUhyelwvS0lTZU9qbWpGZFZSVXZkbk5QU2JUVVRMUlpSUSt1cEQrcTJcL05WQzB4WEtUS29qWjh1TkpvdDZ5TWZZUnJsWlJOcFNrZ21BM3VzZUpGWU1JXC9QWFBJbzdGbG5MU0RtT1docFlaa3J5OFhOUXpEOWh4OXVPMHQ0b0ZreGR3bXJzT25UWGtjVlB1Y0s0S0hVNTFvaG5wb0NXbWJqWWV6ZU14eHBVKzJwUnRmOGdxYVdhYVI5NkJsMnNXNVNZTVUrVFwvNSsreFJHMUNXK1E0bEZHSU5YZmcyaklIc1R4UFdJM2RBS2hUVEdcL203cWFldko3SUlvOTAwWlJPUlVhVEYrVjZBelVoaFJidENXK0JBbmpIeDdXY0tESm55K1RxQWVUVlJJSDV0cUc5XC9yemFuK3Nha2ZKZ1kxSTFwQVwvd1ZTNlNRTjJUYnVTanFLdFNUdHR6YVdEdkxYRzRcL2pwYlJveGhWSVBpY2YrNmpEek9UQzNDNHJjd1d1WVwvcEJxdWFKbEs4aEcrUHRZcHluQk9WZHF6NndBZWE1VGRwK25LdzhKMkdqTkJndUFKV1VneVpsZWVYcjB1NkgyUFdoeHY0cEo2WEl3RHU1TzU4aVFjUnlkdTlyeEVvMDNVRkFYRjFiemhYanI0M1U5QTJDK2hhRkFBNmdMajNPV1wveTZYR3g1ejBJRVhpdXh3U3lqM2ZVVVJYbFMrU1R1K25zcitqN0NNdlhjVnl1b0NDbHI5TGxZRWEwV3ZcL1VLSHI1M0x1K3RTRG1vbVFcL2NRSUhwZ3Rwdyt3d1VFRTVab1h6cDhVbnpjQitcL1krQjFMMFBKTG54aHVYbHJXXC91dCthNXhHSmxmcUF0M3dUVUdMR1M0dTVGWHdIMzhcL1FDc2hGY1JuT3FSUnFHOCs3T0VPWTNYZmxzdUNZenZLT2dDbjJLZGxJR2ZOUVBsUzVmcGxITFZsa2lRdnkyWEVNOUE5V3pRSW5RUjZ0S3RqZ2FUa0lmRCt1NEF1ZnR2T2lPQjVGOG1jK0ZSdFFZbkl3ckJUNTJkNnRUU1hQT2RTbkV0eG1ZTG1PXC9NdW0rYW1ncUV0SFhxRVFTdmd5aFBOTjRIV0Jac0JpamtsWGxtd29jcVdrVWlybnJuR1d3ZUoyaG1FT2ZRd096ZXBHWDdjaG4rXC9OdUxIbWhtT1wvNEVcL1wvUEdhNWtUQlJEc05ITGt0K0VMdFwvZnFyQXNCaDhKQlNcL1hYUkNGaWxFV0NFZStzekpCRHcwQ0ZNSkNWSGlqbE1xUTR6QlRQSFNWRFJhSUdCRUpVVlFtdGlEXC9IdlM1ampkcHQzMkJoK2YzQzNoZEhWbWhRWEpXMndFUUZGa0V3WWJoanY2MDQ5bHJGakZsV2FEMWtaSk9BektMcVdnUmVpbE53cHEzZUhlWFZjMWNQTmpUb2JhUjRFbUNGdExQOHZrZU8zU3E4RHRURlYwT0xHTGMyNHhxNHgwWEtUbzl6dDJhVmZuS1FkKzNnZEpkMVA2UlN6SE5FNDNqMlRQcFdwY1wvWTIycGg1OXZuRFEwTzc4bWk4Q0dZRmV5U2N6MjFyODBPMzJnbkRuM2lSMlQ2V2p1TlQ4dThEYjJaNFdHQnJsdXk5OTd3RW5IT085clFqVjNsREEwMnFTV3d5NlVmcVM0M1kwQjJSeEtiaUh3Nzd5RWs2VmQreEQ2WGF2R0FBbkRybm5hMGxMeXRUYkN0R1wvbHM2TFlpZ3N1VVA2XC9zNXVtemJMZFg1S1JVYzdNMFY1Nlp5ME1tM1dja29JUjhXRHF4am9NcFdsYkxOTnZNSUxpem9Kck5FQWZtclpvODE0UUdFMXdEQ3czcFZJVEtKQzVBNmcwdW5vb0tJRFN3Zmw1Uys3YUJVZkNjM3k3VFFtWFpySWEyRkhLdjZ3N3loQmY3dERLcmNyclNuT3ZRRVNVT25HODdMVm9zWm5cLzg2dW0yVjRwdkdlaUc1NjFXMVRuNjE3ZDBWOHoxZDBNWlU1ZytUZ2h6U0Ntb09UTm9vblRxZ0Z1RitpQjg4SjhWZmRrcTNWbUlYSjFnZjRrMFlZSEx0T05oZVpPbkxHUFNqMnkyWnFPcG9rR29oNVh1ckFZTTFPdzVzT1FoSlRjVDBoTjBsRXYycmt6VXBqTE1paHpKaGdTdkg1VVd5bTRGZmY3emtoZzBsMDRoWXg4SzJhOVlnQ1FyNWp4Tm1RQ2RKSFM1dXg5ZEdEZit1SWhmamF2SGRxOUVrSkx5VU5yNlwvN3psbTAxSVZVR3pOaEt6R25sSlgzWVdIK3ZhZFhCWmdXMGJlXC9renFQYmVuUCtPaDc1YUtlVmxNMU5ZdndmNmtXM3VTQTdDQ3VETmFaQmk4MG8wUFV1WXJXaHhldmJnejdCcmpJRGVYMktsVFdhaDRxRWhSWkN6OUlXUTBsY0lDaUQyVHA1SEdoOXNzUkdVVjFRcnpNMEo2elZoNDlGdmdnaEVRcE50aVh2N1A4WTV1U2E4VGR2WkxvU3JNWitjY3E3SDJLVUt2Qzl1WkNib1B3NDBmcFZ4bXZ4MWJlVHRxemU0dFBRT01YYk1mMmJmeFVETWNzeWhGQTI1MjloR3NYdkJEVEF6Z214RVlGMDE3XC9ZRUtNWXNyMitKQlNVaTRvdEpuRmU0UTN5RnhLQ3BLUVZiTVhFaVJXZzRCTEpmbFZlc3dEanRjcmJzaHM3MlcxeFljRTljZGpScmNuY0xYTHBKbGY4VWk0YUNvTlN1czhkRTJ1YUNtcnhjZmdtemo4eForZ3RlUE5VN2ZyTU5tQzJvVkxJaHVlR0pPaTJFd014SUk1S2dLdTV4Sk9tRlwveGtRUnFIRWRLQkhuK01cL1JWazJoT3RVRnJFdGRmTU9xTGY0eFBNdE5tQ3BZZFFjbjB5eFhLYXkyaUhUV1czVm1PQ0RuV2ZFTVwvd0JtQjMyeDJLVHBmd1VGUjJPUGt6Mk1nTysxV3FERDhpREgxQXNLbjcyVkNDNHRjc1wvbktNdFBrbndoM1lLdjhZRkdKTWtEU0dtS2dVSkJEWHBzUmVyc2lIVTUycVwvZ245MFJQcGlwa0VEQnduWmxRVkVMbTlKS3REOHZpbFk5N28wdVdSR2dGWXJmWlZqNWlMcGJWSGFhNGZ6eU01VThjSlJBdnJBdVQ2S2gyTlRFUnV4WHZHQkdiaDQrQm83UE9NZHBGaVNNUFVoTUJxbUhpMm1JREFrWVlVVVdKdjRSNFVSTEh0ZElzUzBDTnRyWWFNUkV4ekl6SGpKQzFTdjdHalJ3WTFGQkZDUm5ZSE15Y2k3UTVvSTY3Y2NjQkdZUnVkekQ1djR6ajF0bXdGa1pIeVRiaU8rc2JZRk11NXdZOTdHc00rRXpHS1JKOFVaQ3dnTWF3QUdaZFFibFRBRGQ0XC9yVjB2Nyt1aTZCWEdXQVNmRXBLdENHVDNYWTZOc015V083cGRkMm1LZmFjTFJ4bmFNZWhpa0UzdTJzWjlWM1o5SmlBWDZUUXl6SlpaS0hENHZ0dXk1NjIza0xUTU1lUUVncTB6UFJzNThsRjhqMHR2WlZ2VVFYblhUMHREbWFLaThWcTlcL2VFS1wvVkI0b3E3dzZ1TmpDZUhcL1ZoanVpWXFFZDdFOEZTYXpcL0w1SUFuTXZMTTdIOEI1enlpMlpGSm9ySEFpZGQ3TDU2cWs1dThValV2NmhidVY1TkVLTk1Hc0RnR1VLKzZpRTRyN2U1b3pjSjYzczZDbzNyajdvdlMrUmtnck5xdkZ6V3ZGZTJwXC80R3o4VHRqMEhobU9aOGNreDUyWWVuKzhjTXR2aXFwT2Z0OVY0K0d0ZVRcL0cycjVRcmJ5ZTlBZkI3S0g4bGpnZmtTUXBPMjlzc2hWWllndnFVKzJCOFJOVlQwdXJrUDVHOFM0aUs3ZnN0Vlp0SXVTbHJOYUxidXE1Q2l1RHpmcXZ2YktIZUZCaG8xV1k2emlHNGwwN3FyWlhPMnN0VVwvYklaMG0zTEg4SHB6R2RvVzVTZEdPa1BPNGxtRWdtSnRpRmpzd0J5Z0EwNmFPcFV1c0VBdGNXQ0daVHM2dExMTTlMeFFGSlY2em5kOWJINkxKYnNLN2pBWENzYkxIVDBvQWdvcm0wSThpN0NmVWRkak90Q0lBWFJVS2hjclFwS0V3c0NJbDhxS1ZlaDZvYjlTMFUzRk1reUhqczhBQUFrc0JtZXFWQURyclU2U1I3RVpXdFkxa3hIQTBBczhVRXFcLzJoc1BlcVpRTVwvOFEyZ1YxMEVVN1J0WituNURKUHlHdkVQeXpxRU9cLytpXC9SM3U2N3FJRFwvQ21XTm40UEQySnJOTVFnaElpQnh4WE9IYkZkYThQcytENWljbndzczJCbWozeVwvUTNTSmdTcG9NT1M0SHRCb2hIU2trU25aYjRmaGNpa1Ewc2F4SUNPK0ZHcDl1SVhleFNkQU0zUSsrMnR3Q1Q1dUlDUk1jekxyT2hXTFF6b3ByVERTNkNCeWFJQWlGdExhQTVPeTE3YzVnZEVRR1BPQ3prNDdxQlRXMTNDY1RaMVIydXYxcktnNE90TzY0VW1jZzJYcUt4YTZVcTdpNG1palVHRFhuM0hBelNLWHgrSzFXWEhyOThpVmJuUzVCR1oySFZLOFIwN1lmOGVORUtIMW1JRnlmTWFTWiszNnIwcnJmV2tLMTdqaWVLclR5cG5SM3E5XC9ZZExuaTRObGlucU5ObkJ3ZTJoT3VQXC9tUklcL3hSWEdCZ0duRTlpdXFqN2Z2QzFOaklpNnRvKzJmUThvaU8zaTNOc0N1eXlZNDloeTlJVUlweWhzSXkwazNjcFF3akRhRFBvcnlBeWVJclRocGpUeW9sU1dMalwvd1UybklvQzN2K1BlVmRwQ25CcFNlbGpNYzhzWURnOVpvZGFcL095Y3QrXC9ZNWVcL0l2b3ZSQnF1SEgxYXE1alRwXC9uenEyalhBV2dNSW9BZEJIOGZYeUZHSG0zUXM5VzQ2dmZCbG5yQ3hPbFhwaXl2UW1OKzZJY3lQaHhaVDZ4akt2bkpUNEUyeGJWRFZKMWQzUWsydlFcL3pkaVJsS3Q2eEJTMXZLZlBOUUwxNVAxcHF4RWZobEVPcVA0T0ZHMkFCbW1NbXJsbk5ub1g4ZkZyU2J0RmVlUGRsZWFwd29MNjNucFwvRkdSMFJWdDRmRkg3Q01iUHloR0pWYXMzSUpnTStJMlQrblEwTWtDNFo0U1BWV0dXS1Ara1wvMUF2MWR3RHBRZjMwVHFaVTFwMTNtYllLemczcCtWQTM2ZWQ1Wk5yOHVVVStRK3FmSjFMXC83dGJkZUlPR2RWanR4QU16UklIZGJldTNNRmRkbGVyQ2duNUZOQldFVlZRQnpmZjNSWGt4YTZFSlBoVUQzOE5GTzFjRlJZUTBRK01cL0JnTm1lZ3VHMXQzdVJKR21KSWFveUFtZE0zclFIakhueDBCTUFnMzRJcUxSOUM4MStxRWMwZ3ZZRnh0SXAyVXl2U1ZpditKeG5tWEpZcXo2bDVUNnU5d2NqanVvcERFMmtUU3pZeXRFNmdMZlZEa1BzZWtKb1BqWWxDYTEwYTB0UDNhZitXdCtlZDVid0Nsdk9YQXhqVEZEd0l4MFRNbWZmTE0xZDE2cGlzKzJnR1pJME4xa1ZZQzZocVBkVm9aMkpMWGMwTWdcLzhIS3JRRm16WVYrSWUyY1NrMlwvOFY3WVNmaVdET0pWU1o3MVVjVUhFQUhzQ3JON1ZCeXVhN2Qrak9teFlYRWVYNlFJWG93bGJNdW9xTGM0WG9CSFpRZzEyMmRnckJITE54Q0xqVTk3elhMNkFBa0RVSURLRnBLdmRsYkNpdzdXTDFqZGhpVHE3aEJmSkdnTE14anRCUDBKXC9hdkJZM0NjT3VaS09YTzIwUU9pYnNhNWpQWDB6d1NlcDJyRTMwempKempVbWNxcXdMV3pwcytBRklESlo5WFhjK0tiTFNlMzh1ZW8rYmFLRHlWTnNPTzNlR0RKcngwT3VwREtNc2tcL0pKRTJFdEI2K1JXZ1ZvTlRETDBYNUI4SjJlU29ySzBKR0xvQmFma1RvZDcrK2ZBYklNRGxIYzBObzZUZHVUTGNjbFA5YVwvQ3g5eDBLVWh2V2wyUUJsZGZtR2M0VjVjUGp6TDV0a2JLb090U3d6TFhqTVRjZStpWjd3YWtDeENXNHZoeGlaeVMrZzRyVWlWb2VGbXJTaW5aQ296U1wvMzVrdWpJZnptZ3JnZUM3VjV1OExkRDJVTERRNUc4ck9mQU9xQ0FESXJWRzk4dzczSFphSzk1QmNsN2RTT3hFWTJ2cTdQbklTMEJIbVp0Tyt0WEh6N3dLWFQ5OHlCdnhuWWJsTFwvdFdTOWZpUkNpT3M0SWJSdVg4cmE2b09XZEtnN0JidmtXZWlONDFkd3M5SHZIRDlya1ZxdzY1WEpDTkh5MHFLbnFoZ1hGdDVUS28xN3JnWGdza2tDcXE4bjBleWpFdExSbSsrRjhXSk5JMXUraExkNUFEdHRnSWdQM3Z5U3ZzZzRneXFGMUZNRUNSXC9EWEZMcFVJVkJ1TE13UTd6aEp4WHp3blp1bFVXWEtENDJ5NTZZNFo4cnJZSDAwa0pVQWtkRzVkcVVhN1c1bGl4UDVLS1M2bU5lQzJwTlJ3XC9RUng0V09LVlBDc3lJTTBpUU14YXVUenZOZVJNN1wvVVNYTzRmeElyZXlOdHh3RXJwVDB1a21YM2dmTENJVGVXUWYrRzZEMjdQZXV2QUpoM3RmRDR5bm1NZ0ZJUm5SQ2ZCQVdGU2JhTTNJb0FSQ0NBUzFOc0ZsekpZdlpYRkF1NjlJN1VscGtSSGlVdnZcLzdpZyttcllRM3VTWHc1T0licjB5dmxEaDVIdnZPUmJiQmlsd0lsUnhwRGhJbEx3TWdreWFQUGcwSlg0ellTK2dYQ1hVYTNoMEZudU4zK0ZNM2Z5czJ4RmI4Z3B4VHdHN1BLMnlkVkR4UzVtM29DVFJBUHJOd0dSSm1Xd2Fyd242dXZjb1lzZ0JEQ0JtYkJKa0xGNldXS3NmaG1kSVVZekNxbDhNWFRnUjRLSWNEVFYrUTV5ZVpZY1VHR0I3ZndsV2dcL3BpRFwvT0h5VGxUaGZ6OXFnRnFObFh1d1wvZWpLNHlkTDNSbjNpYTI3bkxzcXNSb3YyWUREbUpJNDR0YXlcL1pGYVkwWmxCdkY1K1NYZllOZmJocklcLzhnUkhid2FpUG5zQUc5TUxiZmpXYjZHQU0zOHZMWVwvTFwvUTB1V2VaVndLaUp1dWh6a3ZKanJyUUJLXC9UUk10UWIyejRoTVN5S3NURWxtSVwveVlhdVNWamlQM3R3cXZsdU1iUVdVdGZuR2k5bFpjTlhTd29LRGE0VEdtNHhVZlRscUhFcFdCSFBiMzZcL1lUVHczODVrR3BCeVJmdVRWV0M1WVwvNnFHb0tEKzZONDNcL2lPazdxZ3hmOFNLY2FuUFExM1J1K2IxT3llU2I3RXdha1dwcnpGTWRlYUV4Njdic2VJWGxBcTdJMkFteDRpbUw5TDBceDIyLFx4MjJnbG9iYWxOYW1lXHgyMjpceDIydHJheXJpZGVceDIyLFx4MjJjbGllbnRFeHBlcmltZW50c1N0YXRlQmxvYlx4MjI6XHgyMlx4NWJudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFx4NWJceDVkLFx4NWJceDVkXHg1ZFx4MjJceDdkXHg3ZCcsJ1QnOiAnQVNBRkFVSVBhQTBsci1WVHkyd3RPNjRXSExTYlpQZXNvYWVPbUpwaVphc1VIWHRmNGxrWll6SUtNZWZ3c21SN2dHZnF2QnFBcHZZSTdPeUFhUWJLUHJOMFgySVx4M2QnLH0pO319KSgpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IjlkRXNEQXVEOFp3MUFGWjJNNjB4YlEiPmlmICh3aW5kb3cueXRjc2kpIHt5dGNzaS5pbmZvR2VsKHtzZXJ2ZXJUaW1lTXM6ICA1NS4wIH0sICcnKTt9PC9zY3JpcHQ+PG5vc2NyaXB0PjxkaXYgY2xhc3M9InBsYXllci11bmF2YWlsYWJsZSI+PGgxIGNsYXNzPSJtZXNzYWdlIj5BbiBlcnJvciBvY2N1cnJlZC48L2gxPjxkaXYgY2xhc3M9InN1Ym1lc3NhZ2UiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZGs5dU5XUFA3RUEiIHRhcmdldD0iX2JsYW5rIj5Ucnkgd2F0Y2hpbmcgdGhpcyB2aWRlbyBvbiB3d3cueW91dHViZS5jb208L2E+LCBvciBlbmFibGUgSmF2YVNjcmlwdCBpZiBpdCBpcyBkaXNhYmxlZCBpbiB5b3VyIGJyb3dzZXIuPC9kaXY+PC9kaXY+PC9ub3NjcmlwdD48L2JvZHk+PC9odG1sPg=="}},"time_used":188,"timings":{"blocked":0,"dns":2,"connect":16,"send":0,"wait":156,"receive":30,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/www-widgetapi.vflset/www-widgetapi.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.153.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.896Z","timestamp":1785129292896,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/player/7a7969c2/www-widgetapi.vflset/www-widgetapi.js HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: __Secure-YNID=20.YT=hjOA7pSQzTRfPs9ZPNusdWwFFahcuN_xEhkBrC_Jf9QM3PQhMXElKIFdqzWO0sdfj4eMqPSVWP6aO4040qpNJaY0HkLQ3ensBqcAL-wMdXrPxePvXRdmuyd4a5C-IU1OZufH75ElBw83Hd79_UXbJAEzJyNjoEhbndvJL73I9DoE5UWKQNqEEII5duMjZq9W17XHGZCtPYWYzViWW111O7JX_M2gVwa40p5MC3wdIXt1sssDSXEhjYkQI38YhLIcLTdgnp5ZzIR8TJ0IAZmEBHN3DN2x5uV7-phIiLwN5H692lLhIekOqzjnZNslo4wAdmJ1hseA_vNQDvAHC8hJQQ; YSC=8VUaBCNR1Wc; VISITOR_INFO1_LIVE=BeK5USrKJdw; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgSQ%3D%3D; __Secure-ROLLOUT_TOKEN=CLzr3M2ai_exgQEQgZT_6ozylQMYgZT_6ozylQM%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 8842\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Sat, 25 Jul 2026 20:06:28 GMT\r\nexpires: Sun, 25 Jul 2027 20:06:28 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 119305\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":26769,"size_decoded":9528,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (570)","md5":"f169a9e94953731cb0dd5faef429318c","sha1":"f45e6b6193cd71c1eb183c51bc65c84a8aeb6719","sha256":"3aeb791f41afb9d7500326010b8852214536360b695c2d0328f4fd265badb21f","sha512":"cd7412530b69607b86d4dff17990a998e2e471f38eda724d55e2886738a75ade824cfdf11e37f976ac63ac431297869dacf364df631987a52e23ef79e5b1ba70","ssdeep":"384:lavCc95Hmr6jQumbwoPtjJTfgX+pnB4yeCzwCzUB1lzh9nYi0PC0nX1IXwK:lrS5U9io1jhfayRSnnYi6FGgK","tlshash":"3dc2e9cd7bb1b471437366b5802f100fb23e58aeb408c698b288d8e16db55690677f7e","first_seen":"2026-06-15T12:26:58.098489Z","last_seen":"2026-07-27T08:07:32.45215Z","times_seen":8675,"resource_available":true,"data":"KGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnO3ZhciBuLGFhPXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe30KYi5wcm90b3R5cGU9YTtyZXR1cm4gbmV3IGJ9LHA9dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzPT0iZnVuY3Rpb24iP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbihhLGIsYyl7aWYoYT09QXJyYXkucHJvdG90eXBlfHxhPT1PYmplY3QucHJvdG90eXBlKXJldHVybiBhOwphW2JdPWMudmFsdWU7cmV0dXJuIGF9OwpmdW5jdGlvbiBiYShhKXthPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXTtpZihjJiZjLk1hdGg9PU1hdGgpcmV0dXJuIGN9dGhyb3cgRXJyb3IoIkNhbm5vdCBmaW5kIGdsb2JhbCBvYmplY3QiKTt9CnZhciBxPWJhKHRoaXMpO2Z1bmN0aW9uIHIoYSxiKXtpZihiKWE6e3ZhciBjPXE7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aC0xO2QrKyl7dmFyIGg9YVtkXTtpZighKGggaW4gYykpYnJlYWsgYTtjPWNbaF19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmcChjLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9fQp2YXIgdDtpZih0eXBlb2YgT2JqZWN0LnNldFByb3RvdHlwZU9mPT0iZnVuY3Rpb24iKXQ9T2JqZWN0LnNldFByb3RvdHlwZU9mO2Vsc2V7dmFyIHY7YTp7dmFyIGNhPXthOiEwfSxkYT17fTt0cnl7ZGEuX19wcm90b19fPWNhO3Y9ZGEuYTticmVhayBhfWNhdGNoKGEpe312PSExfXQ9dj9mdW5jdGlvbihhLGIpe2EuX19wcm90b19fPWI7aWYoYS5fX3Byb3RvX18hPT1iKXRocm93IG5ldyBUeXBlRXJyb3IoYSsiIGlzIG5vdCBleHRlbnNpYmxlIik7cmV0dXJuIGF9Om51bGx9dmFyIGVhPXQ7CmZ1bmN0aW9uIGZhKGEpe3ZhciBiPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGI8YS5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YVtiKytdfTp7ZG9uZTohMH19fQpmdW5jdGlvbiB4KGEpe3ZhciBiPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJmFbU3ltYm9sLml0ZXJhdG9yXTtpZihiKXJldHVybiBiLmNhbGwoYSk7aWYodHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDpmYShhKX07dGhyb3cgRXJyb3IoU3RyaW5nKGEpKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO30KcigiU3ltYm9sIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGspe2lmKHRoaXMgaW5zdGFuY2VvZiBiKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciIpO3JldHVybiBuZXcgYyhkKyhrfHwiIikrIl8iK2grKyxrKX0KZnVuY3Rpb24gYyhrLGYpe3RoaXMuZz1rO3AodGhpcywiZGVzY3JpcHRpb24iLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Zn0pfQppZihhKXJldHVybiBhO2MucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ307CnZhciBkPSJqc2NvbXBfc3ltYm9sXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCkrIl8iLGg9MDtyZXR1cm4gYn0pOwpyKCJTeW1ib2wuaXRlcmF0b3IiLGZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIGE7YT1TeW1ib2woIlN5bWJvbC5pdGVyYXRvciIpO3AoQXJyYXkucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBoYShmYSh0aGlzKSl9fSk7CnJldHVybiBhfSk7CmZ1bmN0aW9uIGhhKGEpe2E9e25leHQ6YX07YVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9OwpyZXR1cm4gYX0KcigiUHJvbWlzZSIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihmKXt0aGlzLmg9MDt0aGlzLmk9dm9pZCAwO3RoaXMuZz1bXTt0aGlzLnY9ITE7dmFyIGU9dGhpcy5qKCk7dHJ5e2YoZS5yZXNvbHZlLGUucmVqZWN0KX1jYXRjaChnKXtlLnJlamVjdChnKX19CmZ1bmN0aW9uIGMoKXt0aGlzLmc9bnVsbH0KZnVuY3Rpb24gZChmKXtyZXR1cm4gZiBpbnN0YW5jZW9mIGI/ZjpuZXcgYihmdW5jdGlvbihlKXtlKGYpfSl9CmlmKGEpcmV0dXJuIGE7Yy5wcm90b3R5cGUuaD1mdW5jdGlvbihmKXtpZih0aGlzLmc9PW51bGwpe3RoaXMuZz1bXTt2YXIgZT10aGlzO3RoaXMuaShmdW5jdGlvbigpe2UubCgpfSl9dGhpcy5nLnB1c2goZil9Owp2YXIgaD1xLnNldFRpbWVvdXQ7Yy5wcm90b3R5cGUuaT1mdW5jdGlvbihmKXtoKGYsMCl9OwpjLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmcmJnRoaXMuZy5sZW5ndGg7KXt2YXIgZj10aGlzLmc7dGhpcy5nPVtdO2Zvcih2YXIgZT0wO2U8Zi5sZW5ndGg7KytlKXt2YXIgZz1mW2VdO2ZbZV09bnVsbDt0cnl7ZygpfWNhdGNoKGwpe3RoaXMuaihsKX19fXRoaXMuZz1udWxsfTsKYy5wcm90b3R5cGUuaj1mdW5jdGlvbihmKXt0aGlzLmkoZnVuY3Rpb24oKXt0aHJvdyBmO30pfTsKYi5wcm90b3R5cGUuaj1mdW5jdGlvbigpe2Z1bmN0aW9uIGYobCl7cmV0dXJuIGZ1bmN0aW9uKG0pe2d8fChnPSEwLGwuY2FsbChlLG0pKX19CnZhciBlPXRoaXMsZz0hMTtyZXR1cm57cmVzb2x2ZTpmKHRoaXMuSykscmVqZWN0OmYodGhpcy5sKX19OwpiLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGYpe2lmKGY9PT10aGlzKXRoaXMubChuZXcgVHlwZUVycm9yKCJBIFByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmIikpO2Vsc2UgaWYoZiBpbnN0YW5jZW9mIGIpdGhpcy5NKGYpO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGYpe2Nhc2UgIm9iamVjdCI6dmFyIGU9ZiE9bnVsbDticmVhayBhO2Nhc2UgImZ1bmN0aW9uIjplPSEwO2JyZWFrIGE7ZGVmYXVsdDplPSExfWU/dGhpcy5KKGYpOnRoaXMubyhmKX19OwpiLnByb3RvdHlwZS5KPWZ1bmN0aW9uKGYpe3ZhciBlPXZvaWQgMDt0cnl7ZT1mLnRoZW59Y2F0Y2goZyl7dGhpcy5sKGcpO3JldHVybn10eXBlb2YgZT09ImZ1bmN0aW9uIj90aGlzLk4oZSxmKTp0aGlzLm8oZil9OwpiLnByb3RvdHlwZS5sPWZ1bmN0aW9uKGYpe3RoaXMuQSgyLGYpfTsKYi5wcm90b3R5cGUubz1mdW5jdGlvbihmKXt0aGlzLkEoMSxmKX07CmIucHJvdG90eXBlLkE9ZnVuY3Rpb24oZixlKXtpZih0aGlzLmghPTApdGhyb3cgRXJyb3IoIkNhbm5vdCBzZXR0bGUoIitmKyIsICIrZSsiKTogUHJvbWlzZSBhbHJlYWR5IHNldHRsZWQgaW4gc3RhdGUiK3RoaXMuaCk7dGhpcy5oPWY7dGhpcy5pPWU7dGhpcy5oPT09MiYmdGhpcy5MKCk7dGhpcy5DKCl9OwpiLnByb3RvdHlwZS5MPWZ1bmN0aW9uKCl7dmFyIGY9dGhpcztoKGZ1bmN0aW9uKCl7aWYoZi5JKCkpe3ZhciBlPXEuY29uc29sZTt0eXBlb2YgZSE9PSJ1bmRlZmluZWQiJiZlLmVycm9yKGYuaSl9fSwxKX07CmIucHJvdG90eXBlLkk9ZnVuY3Rpb24oKXtpZih0aGlzLnYpcmV0dXJuITE7dmFyIGY9cS5DdXN0b21FdmVudCxlPXEuRXZlbnQsZz1xLmRpc3BhdGNoRXZlbnQ7aWYodHlwZW9mIGc9PT0idW5kZWZpbmVkIilyZXR1cm4hMDt0eXBlb2YgZj09PSJmdW5jdGlvbiI/Zj1uZXcgZigidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOnR5cGVvZiBlPT09ImZ1bmN0aW9uIj9mPW5ldyBlKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6KGY9cS5kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSxmLmluaXRDdXN0b21FdmVudCgidW5oYW5kbGVkcmVqZWN0aW9uIiwhMSwhMCxmKSk7Zi5wcm9taXNlPXRoaXM7Zi5yZWFzb249dGhpcy5pO3JldHVybiBnKGYpfTsKYi5wcm90b3R5cGUuQz1mdW5jdGlvbigpe2lmKHRoaXMuZyE9bnVsbCl7Zm9yKHZhciBmPTA7Zjx0aGlzLmcubGVuZ3RoOysrZilrLmgodGhpcy5nW2ZdKTt0aGlzLmc9bnVsbH19Owp2YXIgaz1uZXcgYztiLnByb3RvdHlwZS5NPWZ1bmN0aW9uKGYpe3ZhciBlPXRoaXMuaigpO2YuQihlLnJlc29sdmUsZS5yZWplY3QpfTsKYi5wcm90b3R5cGUuTj1mdW5jdGlvbihmLGUpe3ZhciBnPXRoaXMuaigpO3RyeXtmLmNhbGwoZSxnLnJlc29sdmUsZy5yZWplY3QpfWNhdGNoKGwpe2cucmVqZWN0KGwpfX07CmIucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oZixlKXtmdW5jdGlvbiBnKHcseil7cmV0dXJuIHR5cGVvZiB3PT0iZnVuY3Rpb24iP2Z1bmN0aW9uKFApe3RyeXtsKHcoUCkpfWNhdGNoKFEpe20oUSl9fTp6fQp2YXIgbCxtLHU9bmV3IGIoZnVuY3Rpb24odyx6KXtsPXc7bT16fSk7CnRoaXMuQihnKGYsbCksZyhlLG0pKTtyZXR1cm4gdX07CmIucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKGYpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGYpfTsKYi5wcm90b3R5cGUuQj1mdW5jdGlvbihmLGUpe2Z1bmN0aW9uIGcoKXtzd2l0Y2gobC5oKXtjYXNlIDE6ZihsLmkpO2JyZWFrO2Nhc2UgMjplKGwuaSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5leHBlY3RlZCBzdGF0ZTogIitsLmgpO319CnZhciBsPXRoaXM7dGhpcy5nPT1udWxsP2suaChnKTp0aGlzLmcucHVzaChnKTt0aGlzLnY9ITB9OwpiLnJlc29sdmU9ZDtiLnJlamVjdD1mdW5jdGlvbihmKXtyZXR1cm4gbmV3IGIoZnVuY3Rpb24oZSxnKXtnKGYpfSl9OwpiLnJhY2U9ZnVuY3Rpb24oZil7cmV0dXJuIG5ldyBiKGZ1bmN0aW9uKGUsZyl7Zm9yKHZhciBsPXgoZiksbT1sLm5leHQoKTshbS5kb25lO209bC5uZXh0KCkpZChtLnZhbHVlKS5CKGUsZyl9KX07CmIuYWxsPWZ1bmN0aW9uKGYpe3ZhciBlPXgoZiksZz1lLm5leHQoKTtyZXR1cm4gZy5kb25lP2QoW10pOm5ldyBiKGZ1bmN0aW9uKGwsbSl7ZnVuY3Rpb24gdShQKXtyZXR1cm4gZnVuY3Rpb24oUSl7d1tQXT1RO3otLTt6PT0wJiZsKHcpfX0KdmFyIHc9W10sej0wO2RvIHcucHVzaCh2b2lkIDApLHorKyxkKGcudmFsdWUpLkIodSh3Lmxlbmd0aC0xKSxtKSxnPWUubmV4dCgpO3doaWxlKCFnLmRvbmUpfSl9OwpyZXR1cm4gYn0pOwpmdW5jdGlvbiB5KGEsYil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpfQp2YXIgaWE9dHlwZW9mIE9iamVjdC5hc3NpZ249PSJmdW5jdGlvbiI/T2JqZWN0LmFzc2lnbjpmdW5jdGlvbihhLGIpe2lmKGE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiTm8gbnVsbGlzaCBhcmciKTthPU9iamVjdChhKTtmb3IodmFyIGM9MTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKXt2YXIgZD1hcmd1bWVudHNbY107aWYoZClmb3IodmFyIGggaW4gZCl5KGQsaCkmJihhW2hdPWRbaF0pfXJldHVybiBhfTsKcigiT2JqZWN0LmFzc2lnbiIsZnVuY3Rpb24oYSl7cmV0dXJuIGF8fGlhfSk7CnIoIlN5bWJvbC5kaXNwb3NlIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOlN5bWJvbCgiU3ltYm9sLmRpc3Bvc2UiKX0pOwpyKCJXZWFrTWFwIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGcpe3RoaXMuZz0oZSs9TWF0aC5yYW5kb20oKSsxKS50b1N0cmluZygpO2lmKGcpe2c9eChnKTtmb3IodmFyIGw7IShsPWcubmV4dCgpKS5kb25lOylsPWwudmFsdWUsdGhpcy5zZXQobFswXSxsWzFdKX19CmZ1bmN0aW9uIGMoKXt9CmZ1bmN0aW9uIGQoZyl7dmFyIGw9dHlwZW9mIGc7cmV0dXJuIGw9PT0ib2JqZWN0IiYmZyE9PW51bGx8fGw9PT0iZnVuY3Rpb24ifQpmdW5jdGlvbiBoKGcpe2lmKCF5KGcsZikpe3ZhciBsPW5ldyBjO3AoZyxmLHt2YWx1ZTpsfSl9fQpmdW5jdGlvbiBrKGcpe3ZhciBsPU9iamVjdFtnXTtsJiYoT2JqZWN0W2ddPWZ1bmN0aW9uKG0pe2lmKG0gaW5zdGFuY2VvZiBjKXJldHVybiBtO09iamVjdC5pc0V4dGVuc2libGUobSkmJmgobSk7cmV0dXJuIGwobSl9KX0KaWYoZnVuY3Rpb24oKXtpZighYXx8IU9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgZz1PYmplY3Quc2VhbCh7fSksbD1PYmplY3Quc2VhbCh7fSksbT1uZXcgYShbW2csMl0sW2wsM11dKTtpZihtLmdldChnKSE9Mnx8bS5nZXQobCkhPTMpcmV0dXJuITE7bS5kZWxldGUoZyk7bS5zZXQobCw0KTtyZXR1cm4hbS5oYXMoZykmJm0uZ2V0KGwpPT00fWNhdGNoKHUpe3JldHVybiExfX0oKSlyZXR1cm4gYTsKdmFyIGY9IiRqc2NvbXBfaGlkZGVuXyIrTWF0aC5yYW5kb20oKTtrKCJmcmVlemUiKTtrKCJwcmV2ZW50RXh0ZW5zaW9ucyIpO2soInNlYWwiKTt2YXIgZT0wO2IucHJvdG90eXBlLnNldD1mdW5jdGlvbihnLGwpe2lmKCFkKGcpKXRocm93IEVycm9yKCJJbnZhbGlkIFdlYWtNYXAga2V5Iik7aChnKTtpZigheShnLGYpKXRocm93IEVycm9yKCJXZWFrTWFwIGtleSBmYWlsOiAiK2cpO2dbZl1bdGhpcy5nXT1sO3JldHVybiB0aGlzfTsKYi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGcpe3JldHVybiBkKGcpJiZ5KGcsZik/Z1tmXVt0aGlzLmddOnZvaWQgMH07CmIucHJvdG90eXBlLmhhcz1mdW5jdGlvbihnKXtyZXR1cm4gZChnKSYmeShnLGYpJiZ5KGdbZl0sdGhpcy5nKX07CmIucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihnKXtyZXR1cm4gZChnKSYmeShnLGYpJiZ5KGdbZl0sdGhpcy5nKT9kZWxldGUgZ1tmXVt0aGlzLmddOiExfTsKcmV0dXJuIGJ9KTsKcigiTWFwIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7dmFyIGU9e307cmV0dXJuIGUucHJldmlvdXM9ZS5uZXh0PWUuaGVhZD1lfQpmdW5jdGlvbiBjKGUsZyl7dmFyIGw9ZVsxXTtyZXR1cm4gaGEoZnVuY3Rpb24oKXtpZihsKXtmb3IoO2wuaGVhZCE9ZVsxXTspbD1sLnByZXZpb3VzO2Zvcig7bC5uZXh0IT1sLmhlYWQ7KXJldHVybiBsPWwubmV4dCx7ZG9uZTohMSx2YWx1ZTpnKGwpfTtsPW51bGx9cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX0pfQpmdW5jdGlvbiBkKGUsZyl7dmFyIGw9ZyYmdHlwZW9mIGc7bD09Im9iamVjdCJ8fGw9PSJmdW5jdGlvbiI/ay5oYXMoZyk/bD1rLmdldChnKToobD0iIisgKytmLGsuc2V0KGcsbCkpOmw9InBfIitnO3ZhciBtPWVbMF1bbF07aWYobSYmeShlWzBdLGwpKWZvcihlPTA7ZTxtLmxlbmd0aDtlKyspe3ZhciB1PW1bZV07aWYoZyE9PWcmJnUua2V5IT09dS5rZXl8fGc9PT11LmtleSlyZXR1cm57aWQ6bCxsaXN0Om0saW5kZXg6ZSxlbnRyeTp1fX1yZXR1cm57aWQ6bCxsaXN0Om0saW5kZXg6LTEsZW50cnk6dm9pZCAwfX0KZnVuY3Rpb24gaChlKXt0aGlzWzBdPXt9O3RoaXNbMV09YigpO3RoaXMuc2l6ZT0wO2lmKGUpe2U9eChlKTtmb3IodmFyIGc7IShnPWUubmV4dCgpKS5kb25lOylnPWcudmFsdWUsdGhpcy5zZXQoZ1swXSxnWzFdKX19CmlmKGZ1bmN0aW9uKCl7aWYoIWF8fHR5cGVvZiBhIT0iZnVuY3Rpb24ifHwhYS5wcm90b3R5cGUuZW50cmllc3x8dHlwZW9mIE9iamVjdC5zZWFsIT0iZnVuY3Rpb24iKXJldHVybiExO3RyeXt2YXIgZT1PYmplY3Quc2VhbCh7eDo0fSksZz1uZXcgYSh4KFtbZSwicyJdXSkpO2lmKGcuZ2V0KGUpIT0icyJ8fGcuc2l6ZSE9MXx8Zy5nZXQoe3g6NH0pfHxnLnNldCh7eDo0fSwidCIpIT1nfHxnLnNpemUhPTIpcmV0dXJuITE7dmFyIGw9Zy5lbnRyaWVzKCksbT1sLm5leHQoKTtpZihtLmRvbmV8fG0udmFsdWVbMF0hPWV8fG0udmFsdWVbMV0hPSJzIilyZXR1cm4hMTttPWwubmV4dCgpO3JldHVybiBtLmRvbmV8fG0udmFsdWVbMF0ueCE9NHx8bS52YWx1ZVsxXSE9InQifHwhbC5uZXh0KCkuZG9uZT8hMTohMH1jYXRjaCh1KXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7CnZhciBrPW5ldyBXZWFrTWFwO2gucHJvdG90eXBlLnNldD1mdW5jdGlvbihlLGcpe2U9ZT09PTA/MDplO3ZhciBsPWQodGhpcyxlKTtsLmxpc3R8fChsLmxpc3Q9dGhpc1swXVtsLmlkXT1bXSk7bC5lbnRyeT9sLmVudHJ5LnZhbHVlPWc6KGwuZW50cnk9e25leHQ6dGhpc1sxXSxwcmV2aW91czp0aGlzWzFdLnByZXZpb3VzLGhlYWQ6dGhpc1sxXSxrZXk6ZSx2YWx1ZTpnfSxsLmxpc3QucHVzaChsLmVudHJ5KSx0aGlzWzFdLnByZXZpb3VzLm5leHQ9bC5lbnRyeSx0aGlzWzFdLnByZXZpb3VzPWwuZW50cnksdGhpcy5zaXplKyspO3JldHVybiB0aGlzfTsKaC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGUpe2U9ZCh0aGlzLGUpO3JldHVybiBlLmVudHJ5JiZlLmxpc3Q/KGUubGlzdC5zcGxpY2UoZS5pbmRleCwxKSxlLmxpc3QubGVuZ3RofHxkZWxldGUgdGhpc1swXVtlLmlkXSxlLmVudHJ5LnByZXZpb3VzLm5leHQ9ZS5lbnRyeS5uZXh0LGUuZW50cnkubmV4dC5wcmV2aW91cz1lLmVudHJ5LnByZXZpb3VzLGUuZW50cnkuaGVhZD1udWxsLHRoaXMuc2l6ZS0tLCEwKTohMX07CmgucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpc1swXT17fTt0aGlzWzFdPXRoaXNbMV0ucHJldmlvdXM9YigpO3RoaXMuc2l6ZT0wfTsKaC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGUpe3JldHVybiEhZCh0aGlzLGUpLmVudHJ5fTsKaC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGUpe3JldHVybihlPWQodGhpcyxlKS5lbnRyeSkmJmUudmFsdWV9OwpoLnByb3RvdHlwZS5lbnRyaWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGModGhpcyxmdW5jdGlvbihlKXtyZXR1cm5bZS5rZXksZS52YWx1ZV19KX07CmgucHJvdG90eXBlLmtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gYyh0aGlzLGZ1bmN0aW9uKGUpe3JldHVybiBlLmtleX0pfTsKaC5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGModGhpcyxmdW5jdGlvbihlKXtyZXR1cm4gZS52YWx1ZX0pfTsKaC5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihlLGcpe2Zvcih2YXIgbD10aGlzLmVudHJpZXMoKSxtOyEobT1sLm5leHQoKSkuZG9uZTspbT1tLnZhbHVlLGUuY2FsbChnLG1bMV0sbVswXSx0aGlzKX07CmgucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09aC5wcm90b3R5cGUuZW50cmllczt2YXIgZj0wO3JldHVybiBofSk7CnIoIlNldCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjKXt0aGlzLmc9bmV3IE1hcDtpZihjKXtjPXgoYyk7Zm9yKHZhciBkOyEoZD1jLm5leHQoKSkuZG9uZTspdGhpcy5hZGQoZC52YWx1ZSl9dGhpcy5zaXplPXRoaXMuZy5zaXplfQppZihmdW5jdGlvbigpe2lmKCFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9ImZ1bmN0aW9uIilyZXR1cm4hMTt0cnl7dmFyIGM9T2JqZWN0LnNlYWwoe3g6NH0pLGQ9bmV3IGEoeChbY10pKTtpZighZC5oYXMoYyl8fGQuc2l6ZSE9MXx8ZC5hZGQoYykhPWR8fGQuc2l6ZSE9MXx8ZC5hZGQoe3g6NH0pIT1kfHxkLnNpemUhPTIpcmV0dXJuITE7dmFyIGg9ZC5lbnRyaWVzKCksaz1oLm5leHQoKTtpZihrLmRvbmV8fGsudmFsdWVbMF0hPWN8fGsudmFsdWVbMV0hPWMpcmV0dXJuITE7az1oLm5leHQoKTtyZXR1cm4gay5kb25lfHxrLnZhbHVlWzBdPT1jfHxrLnZhbHVlWzBdLnghPTR8fGsudmFsdWVbMV0hPWsudmFsdWVbMF0/ITE6aC5uZXh0KCkuZG9uZX1jYXRjaChmKXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7CmIucHJvdG90eXBlLmFkZD1mdW5jdGlvbihjKXtjPWM9PT0wPzA6Yzt0aGlzLmcuc2V0KGMsYyk7dGhpcy5zaXplPXRoaXMuZy5zaXplO3JldHVybiB0aGlzfTsKYi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGMpe2M9dGhpcy5nLmRlbGV0ZShjKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGN9OwpiLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuZy5jbGVhcigpO3RoaXMuc2l6ZT0wfTsKYi5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLmcuaGFzKGMpfTsKYi5wcm90b3R5cGUuZW50cmllcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuZW50cmllcygpfTsKYi5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy52YWx1ZXMoKX07CmIucHJvdG90eXBlLmtleXM9Yi5wcm90b3R5cGUudmFsdWVzO2IucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09Yi5wcm90b3R5cGUudmFsdWVzO2IucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oYyxkKXt2YXIgaD10aGlzO3RoaXMuZy5mb3JFYWNoKGZ1bmN0aW9uKGspe3JldHVybiBjLmNhbGwoZCxrLGssaCl9KX07CnJldHVybiBifSk7CnIoIkFycmF5LnByb3RvdHlwZS5maW5kIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7YTp7dmFyIGQ9dGhpcztkIGluc3RhbmNlb2YgU3RyaW5nJiYoZD1TdHJpbmcoZCkpO2Zvcih2YXIgaD1kLmxlbmd0aCxrPTA7azxoO2srKyl7dmFyIGY9ZFtrXTtpZihiLmNhbGwoYyxmLGssZCkpe2I9ZjticmVhayBhfX1iPXZvaWQgMH1yZXR1cm4gYn19KTsKcigiQXJyYXkuZnJvbSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMsZCl7Yz1jIT1udWxsP2M6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9Owp2YXIgaD1bXSxrPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJmJbU3ltYm9sLml0ZXJhdG9yXTtpZih0eXBlb2Ygaz09ImZ1bmN0aW9uIil7Yj1rLmNhbGwoYik7Zm9yKHZhciBmPTA7IShrPWIubmV4dCgpKS5kb25lOyloLnB1c2goYy5jYWxsKGQsay52YWx1ZSxmKyspKX1lbHNlIGZvcihrPWIubGVuZ3RoLGY9MDtmPGs7ZisrKWgucHVzaChjLmNhbGwoZCxiW2ZdLGYpKTtyZXR1cm4gaH19KTsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgQT10aGlzfHxzZWxmO2Z1bmN0aW9uIEIoYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifQpmdW5jdGlvbiBqYShhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsQykmJmFbQ118fChhW0NdPSsra2EpfQp2YXIgQz0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSxrYT0wO2Z1bmN0aW9uIEQoYSxiKXthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGM9QSxkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn0KZnVuY3Rpb24gbGEoYSxiKXtmdW5jdGlvbiBjKCl7fQpjLnByb3RvdHlwZT1iLnByb3RvdHlwZTthLkg9Yi5wcm90b3R5cGU7YS5wcm90b3R5cGU9bmV3IGM7YS5wcm90b3R5cGUuY29uc3RydWN0b3I9YTthLlc9ZnVuY3Rpb24oZCxoLGspe2Zvcih2YXIgZj1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGU9MjtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKWZbZS0yXT1hcmd1bWVudHNbZV07cmV0dXJuIGIucHJvdG90eXBlW2hdLmFwcGx5KGQsZil9fQo7dmFyIG1hPUFycmF5LnByb3RvdHlwZS5pbmRleE9mP2Z1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYSxiLHZvaWQgMCl9OmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gdHlwZW9mIGIhPT0ic3RyaW5nInx8Yi5sZW5ndGghPTE/LTE6YS5pbmRleE9mKGIsMCk7CmZvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGMgaW4gYSYmYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEU9QXJyYXkucHJvdG90eXBlLmZvckVhY2g/ZnVuY3Rpb24oYSxiLGMpe0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYSxiLGMpfTpmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWEubGVuZ3RoLGg9dHlwZW9mIGE9PT0ic3RyaW5nIj9hLnNwbGl0KCIiKTphLGs9MDtrPGQ7aysrKWsgaW4gaCYmYi5jYWxsKGMsaFtrXSxrLGEpfTsKZnVuY3Rpb24gbmEoYSxiKXtiPW1hKGEsYik7Yj49MCYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGEsYiwxKX0KZnVuY3Rpb24gb2EoYSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sYXJndW1lbnRzKX0KZnVuY3Rpb24gcGEoYSl7dmFyIGI9YS5sZW5ndGg7aWYoYj4wKXtmb3IodmFyIGM9QXJyYXkoYiksZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfQo7ZnVuY3Rpb24gcWEoYSxiKXt0aGlzLmk9YTt0aGlzLmo9Yjt0aGlzLmg9MDt0aGlzLmc9bnVsbH0KcWEucHJvdG90eXBlLmdldD1mdW5jdGlvbigpe2lmKHRoaXMuaD4wKXt0aGlzLmgtLTt2YXIgYT10aGlzLmc7dGhpcy5nPWEubmV4dDthLm5leHQ9bnVsbH1lbHNlIGE9dGhpcy5pKCk7cmV0dXJuIGF9O2Z1bmN0aW9uIHJhKGEpe0Euc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGE7fSwwKX0KO2Z1bmN0aW9uIEYoKXt0aGlzLmg9dGhpcy5nPW51bGx9CkYucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhLGIpe3ZhciBjPXNhLmdldCgpO2Muc2V0KGEsYik7dGhpcy5oP3RoaXMuaC5uZXh0PWM6dGhpcy5nPWM7dGhpcy5oPWN9OwpGLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt2YXIgYT1udWxsO3RoaXMuZyYmKGE9dGhpcy5nLHRoaXMuZz10aGlzLmcubmV4dCx0aGlzLmd8fCh0aGlzLmg9bnVsbCksYS5uZXh0PW51bGwpO3JldHVybiBhfTsKdmFyIHNhPW5ldyBxYShmdW5jdGlvbigpe3JldHVybiBuZXcgR30sZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVzZXQoKX0pOwpmdW5jdGlvbiBHKCl7dGhpcy5uZXh0PXRoaXMuc2NvcGU9dGhpcy5nPW51bGx9CkcucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMuc2NvcGU9Yjt0aGlzLm5leHQ9bnVsbH07CkcucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuc2NvcGU9dGhpcy5nPW51bGx9O3ZhciBILEk9ITEsdGE9bmV3IEY7ZnVuY3Rpb24gdWEoYSl7SHx8dmEoKTtJfHwoSCgpLEk9ITApO3RhLmFkZChhLHZvaWQgMCl9CmZ1bmN0aW9uIHZhKCl7dmFyIGE9UHJvbWlzZS5yZXNvbHZlKHZvaWQgMCk7SD1mdW5jdGlvbigpe2EudGhlbih3YSl9fQpmdW5jdGlvbiB3YSgpe2Zvcih2YXIgYTthPXRhLnJlbW92ZSgpOyl7dHJ5e2EuZy5jYWxsKGEuc2NvcGUpfWNhdGNoKGMpe3JhKGMpfXZhciBiPXNhO2IuaihhKTtiLmg8MTAwJiYoYi5oKyssYS5uZXh0PWIuZyxiLmc9YSl9ST0hMX0KO2Z1bmN0aW9uIEooKXt0aGlzLmk9dGhpcy5pO3RoaXMuaj10aGlzLmp9CkoucHJvdG90eXBlLmk9ITE7Si5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuaXx8KHRoaXMuaT0hMCx0aGlzLkQoKSl9OwpKLnByb3RvdHlwZVtTeW1ib2wuZGlzcG9zZV09ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKX07CkoucHJvdG90eXBlLmFkZE9uRGlzcG9zZUNhbGxiYWNrPWZ1bmN0aW9uKGEsYil7dGhpcy5pP2IhPT12b2lkIDA/YS5jYWxsKGIpOmEoKToodGhpcy5qfHwodGhpcy5qPVtdKSxiJiYoYT1hLmJpbmQoYikpLHRoaXMuai5wdXNoKGEpKX07CkoucHJvdG90eXBlLkQ9ZnVuY3Rpb24oKXtpZih0aGlzLmopZm9yKDt0aGlzLmoubGVuZ3RoOyl0aGlzLmouc2hpZnQoKSgpfTtmdW5jdGlvbiB4YShhKXt2YXIgYj17fSxjO2ZvcihjIGluIGEpYltjXT1hW2NdO3JldHVybiBifQo7dmFyIHlhPS8mL2csemE9LzwvZyxBYT0vPi9nLEJhPS8iL2csQ2E9LycvZyxEYT0vXHgwMC9nLEVhPS9bXHgwMCY8PiInXS87LyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KZnVuY3Rpb24gSyhhKXt0aGlzLmc9YX0KSy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTsKdmFyIEZhPW5ldyBLKCJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO2Z1bmN0aW9uIEwoYSl7dGhpcy5QPWF9CmZ1bmN0aW9uIE0oYSl7cmV0dXJuIG5ldyBMKGZ1bmN0aW9uKGIpe3JldHVybiBiLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6In0pfQp2YXIgR2E9W00oImRhdGEiKSxNKCJodHRwIiksTSgiaHR0cHMiKSxNKCJtYWlsdG8iKSxNKCJmdHAiKSxuZXcgTChmdW5jdGlvbihhKXtyZXR1cm4vXlteOl0qKFsvPyNdfCQpLy50ZXN0KGEpfSldLEhhPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7dmFyIElhPXtWOjAsVDoxLFU6MiwwOiJGT1JNQVRURURfSFRNTF9DT05URU5UIiwxOiJFTUJFRERFRF9JTlRFUk5BTF9DT05URU5UIiwyOiJFTUJFRERFRF9UUlVTVEVEX0VYVEVSTkFMX0NPTlRFTlQifTtmdW5jdGlvbiBOKGEsYil7Yj1FcnJvci5jYWxsKHRoaXMsYSsiIGNhbm5vdCBiZSB1c2VkIHdpdGggaW50ZW50ICIrSWFbYl0pO3RoaXMubWVzc2FnZT1iLm1lc3NhZ2U7InN0YWNrImluIGImJih0aGlzLnN0YWNrPWIuc3RhY2spO3RoaXMudHlwZT1hO3RoaXMubmFtZT0iVHlwZUNhbm5vdEJlVXNlZFdpdGhJZnJhbWVJbnRlbnRFcnJvciJ9CnZhciBPPUVycm9yO04ucHJvdG90eXBlPWFhKE8ucHJvdG90eXBlKTtOLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1OO2lmKGVhKWVhKE4sTyk7ZWxzZSBmb3IodmFyIFIgaW4gTylpZihSIT0icHJvdG90eXBlIilpZihPYmplY3QuZGVmaW5lUHJvcGVydGllcyl7dmFyIEphPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTyxSKTtKYSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KE4sUixKYSl9ZWxzZSBOW1JdPU9bUl07Ti5IPU8ucHJvdG90eXBlO2Z1bmN0aW9uIEthKGEpe0VhLnRlc3QoYSkmJihhLmluZGV4T2YoIiYiKSE9LTEmJihhPWEucmVwbGFjZSh5YSwiJmFtcDsiKSksYS5pbmRleE9mKCI8IikhPS0xJiYoYT1hLnJlcGxhY2UoemEsIiZsdDsiKSksYS5pbmRleE9mKCI+IikhPS0xJiYoYT1hLnJlcGxhY2UoQWEsIiZndDsiKSksYS5pbmRleE9mKCciJykhPS0xJiYoYT1hLnJlcGxhY2UoQmEsIiZxdW90OyIpKSxhLmluZGV4T2YoIiciKSE9LTEmJihhPWEucmVwbGFjZShDYSwiJiMzOTsiKSksYS5pbmRleE9mKCJceDAwIikhPS0xJiYoYT1hLnJlcGxhY2UoRGEsIiYjMDsiKSkpO3JldHVybiBhfQo7ZnVuY3Rpb24gUyhhKXtKLmNhbGwodGhpcyk7dGhpcy52PTE7dGhpcy5sPVtdO3RoaXMubz0wO3RoaXMuZz1bXTt0aGlzLmg9e307dGhpcy5BPSEhYX0KbGEoUyxKKTtuPVMucHJvdG90eXBlO24uc3Vic2NyaWJlPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmhbYV07ZHx8KGQ9dGhpcy5oW2FdPVtdKTt2YXIgaD10aGlzLnY7dGhpcy5nW2hdPWE7dGhpcy5nW2grMV09Yjt0aGlzLmdbaCsyXT1jO3RoaXMudj1oKzM7ZC5wdXNoKGgpO3JldHVybiBofTsKbi51bnN1YnNjcmliZT1mdW5jdGlvbihhLGIsYyl7aWYoYT10aGlzLmhbYV0pe3ZhciBkPXRoaXMuZztpZihhPWEuZmluZChmdW5jdGlvbihoKXtyZXR1cm4gZFtoKzFdPT1iJiZkW2grMl09PWN9KSlyZXR1cm4gdGhpcy5GKGEpfXJldHVybiExfTsKbi5GPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuZ1thXTtpZihiKXt2YXIgYz10aGlzLmhbYl07dGhpcy5vIT0wPyh0aGlzLmwucHVzaChhKSx0aGlzLmdbYSsxXT1mdW5jdGlvbigpe30pOihjJiZuYShjLGEpLGRlbGV0ZSB0aGlzLmdbYV0sZGVsZXRlIHRoaXMuZ1thKzFdLGRlbGV0ZSB0aGlzLmdbYSsyXSl9cmV0dXJuISFifTsKbi5HPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5oW2FdO2lmKGMpe3ZhciBkPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSksaD1hcmd1bWVudHMubGVuZ3RoLGs7Zm9yKGs9MTtrPGg7aysrKWRbay0xXT1hcmd1bWVudHNba107aWYodGhpcy5BKWZvcihrPTA7azxjLmxlbmd0aDtrKyspaD1jW2tdLExhKHRoaXMuZ1toKzFdLHRoaXMuZ1toKzJdLGQpO2Vsc2V7dGhpcy5vKys7dHJ5e2ZvcihrPTAsaD1jLmxlbmd0aDtrPGgmJiF0aGlzLmk7aysrKXt2YXIgZj1jW2tdO3RoaXMuZ1tmKzFdLmFwcGx5KHRoaXMuZ1tmKzJdLGQpfX1maW5hbGx5e2lmKHRoaXMuby0tLHRoaXMubC5sZW5ndGg+MCYmdGhpcy5vPT0wKWZvcig7Yz10aGlzLmwucG9wKCk7KXRoaXMuRihjKX19cmV0dXJuIGshPTB9cmV0dXJuITF9OwpmdW5jdGlvbiBMYShhLGIsYyl7dWEoZnVuY3Rpb24oKXthLmFwcGx5KGIsYyl9KX0Kbi5jbGVhcj1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj10aGlzLmhbYV07YiYmKGIuZm9yRWFjaCh0aGlzLkYsdGhpcyksZGVsZXRlIHRoaXMuaFthXSl9ZWxzZSB0aGlzLmcubGVuZ3RoPTAsdGhpcy5oPXt9fTsKbi5EPWZ1bmN0aW9uKCl7Uy5ILkQuY2FsbCh0aGlzKTt0aGlzLmNsZWFyKCk7dGhpcy5sLmxlbmd0aD0wfTt2YXIgTWE9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtmdW5jdGlvbiBOYShhKXt2YXIgYj1hLm1hdGNoKE1hKTthPWJbMV07dmFyIGM9YlsyXSxkPWJbM107Yj1iWzRdO3ZhciBoPSIiO2EmJihoKz1hKyI6Iik7ZCYmKGgrPSIvLyIsYyYmKGgrPWMrIkAiKSxoKz1kLGImJihoKz0iOiIrYikpO3JldHVybiBofQpmdW5jdGlvbiBPYShhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShiKSlmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKylPYShhLFN0cmluZyhiW2RdKSxjKTtlbHNlIGIhPW51bGwmJmMucHVzaChhKyhiPT09IiI/IiI6Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYikpKSl9CnZhciBQYT0vI3wkLzt2YXIgVD17fSxRYT1bXSxVPW5ldyBTLFY9e307ZnVuY3Rpb24gUmEoKXtmb3IodmFyIGE9eChRYSksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpYj1iLnZhbHVlLGIoKX0KZnVuY3Rpb24gVyhhLGIpe3JldHVybiBhLnRhZ05hbWUudG9Mb3dlckNhc2UoKS5zdWJzdHJpbmcoMCwzKT09PSJ5dDoiP2EuZ2V0QXR0cmlidXRlKGIpOmEuZGF0YXNldD9hLmRhdGFzZXRbYl06YS5nZXRBdHRyaWJ1dGUoImRhdGEtIitiKX0KZnVuY3Rpb24gU2EoYSl7VS5HLmFwcGx5KFUsYXJndW1lbnRzKX0KO2Z1bmN0aW9uIFRhKGEpe3JldHVybihhLnNlYXJjaCgiY3VlIik9PT0wfHxhLnNlYXJjaCgibG9hZCIpPT09MCkmJmEhPT0ibG9hZE1vZHVsZSJ9CmZ1bmN0aW9uIFVhKGEpe3JldHVybiBhLnNlYXJjaCgiZ2V0Iik9PT0wfHxhLnNlYXJjaCgiaXMiKT09PTB9Cjt2YXIgVmE9d2luZG93OwpmdW5jdGlvbiBYKGEsYil7dGhpcy51PXt9O3RoaXMucGxheWVySW5mbz17fTt0aGlzLnZpZGVvVGl0bGU9IiI7dGhpcy5qPXRoaXMuZz1udWxsO3RoaXMuaD0wO3RoaXMubz0hMTt0aGlzLmw9W107dGhpcy5pPW51bGw7dGhpcy5DPXt9O3RoaXMub3B0aW9ucz1udWxsO3RoaXMuQT10aGlzLlIuYmluZCh0aGlzKTtpZighYSl0aHJvdyBFcnJvcigiWW91VHViZSBwbGF5ZXIgZWxlbWVudCBJRCByZXF1aXJlZC4iKTt0aGlzLmlkPWphKHRoaXMpO2I9T2JqZWN0LmFzc2lnbih7dGl0bGU6InZpZGVvIHBsYXllciIsdmlkZW9JZDoiIix3aWR0aDo2NDAsaGVpZ2h0OjM2MH0sYnx8e30pO3ZhciBjPWRvY3VtZW50O2lmKGE9dHlwZW9mIGE9PT0ic3RyaW5nIj9jLmdldEVsZW1lbnRCeUlkKGEpOmEpe2M9YS50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT0iaWZyYW1lIjtiLmhvc3R8fChiLmhvc3Q9Yz9OYShhLnNyYyk6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIik7dGhpcy5vcHRpb25zPWJ8fHt9OwpiPVt0aGlzLm9wdGlvbnMsd2luZG93LllUQ29uZmlnfHx7fV07Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspYltkXS5ob3N0JiYoYltkXS5ob3N0PWJbZF0uaG9zdC50b1N0cmluZygpLnJlcGxhY2UoImh0dHA6Ly8iLCJodHRwczovLyIpKTtpZighYyl7Yj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtjPWEuYXR0cmlidXRlcztkPTA7Zm9yKHZhciBoPWMubGVuZ3RoO2Q8aDtkKyspe3ZhciBrPWNbZF0udmFsdWU7ayE9bnVsbCYmayE9PSIiJiZrIT09Im51bGwiJiZiLnNldEF0dHJpYnV0ZShjW2RdLm5hbWUsayl9Yi5zZXRBdHRyaWJ1dGUoImZyYW1lQm9yZGVyIiwiMCIpO2Iuc2V0QXR0cmlidXRlKCJhbGxvd2Z1bGxzY3JlZW4iLCIiKTtiLnNldEF0dHJpYnV0ZSgiYWxsb3ciLCJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlOyB3ZWItc2hhcmUiKTtiLnNldEF0dHJpYnV0ZSgicmVmZXJyZXJQb2xpY3kiLAoic3RyaWN0LW9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiIpO2Iuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIllvdVR1YmUgIitZKHRoaXMsInRpdGxlIikpOyhjPVkodGhpcywid2lkdGgiKSkmJmIuc2V0QXR0cmlidXRlKCJ3aWR0aCIsYy50b1N0cmluZygpKTsoYz1ZKHRoaXMsImhlaWdodCIpKSYmYi5zZXRBdHRyaWJ1dGUoImhlaWdodCIsYy50b1N0cmluZygpKTt0aGlzLmo9YTsoYz1hLnBhcmVudE5vZGUpJiZjLnJlcGxhY2VDaGlsZChiLGEpO2E9V2EodGhpcyxiKTtjPSIiK1kodGhpcywiaG9zdCIpK1hhKHRoaXMpKyI/IjtkPVtdO2Zvcih2YXIgZiBpbiBhKU9hKGYsYVtmXSxkKTtmPWMrZC5qb2luKCImIik7aWYoVmEueXRfZW1iZWRzRW5hYmxlSWZyYW1lU3JjV2l0aEludGVudCl7dmFyIGU9ZT09PXZvaWQgMD9HYTplO2E6aWYoZT1lPT09dm9pZCAwP0dhOmUsZiBpbnN0YW5jZW9mIEspZT1mO2Vsc2V7Zm9yKGE9MDthPGUubGVuZ3RoOysrYSlpZihjPWVbYV0sYyBpbnN0YW5jZW9mCkwmJmMuUChmKSl7ZT1uZXcgSyhmKTticmVhayBhfWU9dm9pZCAwfWU9ZXx8RmE7Yi5yZW1vdmVBdHRyaWJ1dGUoInNyY2RvYyIpO2Y9ImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctZm9ybXMgYWxsb3ctcG9wdXBzIGFsbG93LXBvcHVwcy10by1lc2NhcGUtc2FuZGJveCBhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24iLnNwbGl0KCIgIik7Yi5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCIiKTtmb3IoYT0wO2E8Zi5sZW5ndGg7YSsrKWIuc2FuZGJveC5zdXBwb3J0cyYmIWIuc2FuZGJveC5zdXBwb3J0cyhmW2FdKXx8Yi5zYW5kYm94LmFkZChmW2FdKTtpZihlIGluc3RhbmNlb2YgSylpZihlIGluc3RhbmNlb2YgSyllPWUuZztlbHNlIHRocm93IEVycm9yKCIiKTtlbHNlIGU9SGEudGVzdChlKT9lOnZvaWQgMDtlIT09dm9pZCAwJiYoYi5zcmM9ZSk7Yi5zYW5kYm94LmFkZCgiYWxsb3ctcHJlc2VudGF0aW9uIiwiYWxsb3ctdG9wLW5hdmlnYXRpb24iKX1lbHNlIGIuc3JjPQpmO2E9Yn10aGlzLmc9YTt0aGlzLmcuaWR8fCh0aGlzLmcuaWQ9IndpZGdldCIramEodGhpcy5nKSk7VFt0aGlzLmcuaWRdPXRoaXM7aWYod2luZG93LnBvc3RNZXNzYWdlKXt0aGlzLmk9bmV3IFM7WWEodGhpcyk7Yj1ZKHRoaXMsImV2ZW50cyIpO2Zvcih2YXIgZyBpbiBiKWIuaGFzT3duUHJvcGVydHkoZykmJnRoaXMuYWRkRXZlbnRMaXN0ZW5lcihnLGJbZ10pO2Zvcih2YXIgbCBpbiBWKVYuaGFzT3duUHJvcGVydHkobCkmJlphKHRoaXMsbCl9fX0Kbj1YLnByb3RvdHlwZTtuLnNldFNpemU9ZnVuY3Rpb24oYSxiKXt0aGlzLmcud2lkdGg9YS50b1N0cmluZygpO3RoaXMuZy5oZWlnaHQ9Yi50b1N0cmluZygpO3JldHVybiB0aGlzfTsKbi5nZXRJZnJhbWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTsKbi5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yjt0eXBlb2YgYj09PSJzdHJpbmciJiYoYz1mdW5jdGlvbigpe3dpbmRvd1tiXS5hcHBseSh3aW5kb3csYXJndW1lbnRzKX0pOwppZighYylyZXR1cm4gdGhpczt0aGlzLmkuc3Vic2NyaWJlKGEsYyk7JGEodGhpcyxhKTtyZXR1cm4gdGhpc307CmZ1bmN0aW9uIFphKGEsYil7Yj1iLnNwbGl0KCIuIik7aWYoYi5sZW5ndGg9PT0yKXt2YXIgYz1iWzFdOyJwbGF5ZXIiPT09YlswXSYmJGEoYSxjKX19Cm4uZGVzdHJveT1mdW5jdGlvbigpe3RoaXMuZyYmdGhpcy5nLmlkJiYoVFt0aGlzLmcuaWRdPW51bGwpO3ZhciBhPXRoaXMuaTthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKTtpZih0aGlzLmope2E9dGhpcy5qO3ZhciBiPXRoaXMuZyxjPWIucGFyZW50Tm9kZTtjJiZjLnJlcGxhY2VDaGlsZChhLGIpfWVsc2UoYT10aGlzLmcpJiZhLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTtaJiYoWlt0aGlzLmlkXT1udWxsKTt0aGlzLm9wdGlvbnM9bnVsbDt0aGlzLmcmJnRoaXMudiYmdGhpcy5nLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLHRoaXMudik7dGhpcy5qPXRoaXMuZz1udWxsfTsKZnVuY3Rpb24gYWIoYSxiLGMpe2M9Y3x8W107Yz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjKTtiPXtldmVudDoiY29tbWFuZCIsZnVuYzpiLGFyZ3M6Y307YS5vP2Euc2VuZE1lc3NhZ2UoYik6YS5sLnB1c2goYil9Cm4uUj1mdW5jdGlvbigpe2JiKHRoaXMpfHxjbGVhckludGVydmFsKHRoaXMuaCl9OwpmdW5jdGlvbiBiYihhKXtpZighYS5nfHwhYS5nLmNvbnRlbnRXaW5kb3cpcmV0dXJuITE7YS5zZW5kTWVzc2FnZSh7ZXZlbnQ6Imxpc3RlbmluZyJ9KTtyZXR1cm4hMH0KZnVuY3Rpb24gWWEoYSl7Y2IoYSxhLmlkLFN0cmluZyhZKGEsImhvc3QiKSkpO3ZhciBiPU51bWJlcihWYS55dF9lbWJlZHNXaWRnZXRQb2xsSW50ZXJ2YWxNcyl8fDI1MDthLmg9c2V0SW50ZXJ2YWwoYS5BLGIpO2EuZyYmKGEudj1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoYS5oKTthLmg9c2V0SW50ZXJ2YWwoYS5BLGIpfSxhLmcuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYS52KSl9CmZ1bmN0aW9uIGRiKGEpe3ZhciBiPWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7YT1NYXRoLm1heCgwLE1hdGgubWluKGIuYm90dG9tLHdpbmRvdy5pbm5lckhlaWdodHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCktTWF0aC5tYXgoYi50b3AsMCkpKk1hdGgubWF4KDAsTWF0aC5taW4oYi5yaWdodCx3aW5kb3cuaW5uZXJXaWR0aHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKS1NYXRoLm1heChiLmxlZnQsMCkpO2E9KGI9Yi5oZWlnaHQqYi53aWR0aCk/YS9iOjA7cmV0dXJuIGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4ifHxhPC41PzE6YTwuNzU/MjphPC44NT8zOmE8Ljk1PzQ6YTwxPzU6Nn0KZnVuY3Rpb24gJGEoYSxiKXthLkNbYl18fChhLkNbYl09ITAsYWIoYSwiYWRkRXZlbnRMaXN0ZW5lciIsW2JdKSl9Cm4uc2VuZE1lc3NhZ2U9ZnVuY3Rpb24oYSl7YS5pZD10aGlzLmlkO2EuY2hhbm5lbD0id2lkZ2V0IjthPUpTT04uc3RyaW5naWZ5KGEpO3ZhciBiPU5hKHRoaXMuZy5zcmN8fCIiKS5yZXBsYWNlKCJodHRwOiIsImh0dHBzOiIpO2lmKHRoaXMuZy5jb250ZW50V2luZG93KXRyeXt0aGlzLmcuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZShhLGIpfWNhdGNoKGMpe2lmKGMubmFtZSYmYy5uYW1lPT09IlN5bnRheEVycm9yIiljLm1lc3NhZ2UmJmMubWVzc2FnZS5pbmRleE9mKCJ0YXJnZXQgb3JpZ2luICcnIik+MHx8Y29uc29sZSYmY29uc29sZS53YXJuJiZjb25zb2xlLndhcm4oYyk7ZWxzZSB0aHJvdyBjO31lbHNlIGNvbnNvbGUmJmNvbnNvbGUud2FybiYmY29uc29sZS53YXJuKCJUaGUgWW91VHViZSBwbGF5ZXIgaXMgbm90IGF0dGFjaGVkIHRvIHRoZSBET00uIEFQSSBjYWxscyBzaG91bGQgYmUgbWFkZSBhZnRlciB0aGUgb25SZWFkeSBldmVudC4gU2VlIG1vcmU6IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3lvdXR1YmUvaWZyYW1lX2FwaV9yZWZlcmVuY2UjRXZlbnRzIil9OwpmdW5jdGlvbiBYYShhKXtpZigoYT1TdHJpbmcoWShhLCJ2aWRlb0lkIikpKSYmKGEubGVuZ3RoIT09MTF8fCFhLm1hdGNoKC9eW2EtekEtWjAtOVwtX10rJC8pKSl0aHJvdyBFcnJvcigiSW52YWxpZCB2aWRlbyBpZCIpO3JldHVybiIvZW1iZWQvIithfQpmdW5jdGlvbiBXYShhLGIpe3ZhciBjPVkoYSwicGxheWVyVmFycyIpO2M/Yz14YShjKTpjPXt9O3dpbmRvdyE9PXdpbmRvdy50b3AmJmRvY3VtZW50LnJlZmVycmVyJiYoYy53aWRnZXRfcmVmZXJyZXI9ZG9jdW1lbnQucmVmZXJyZXIuc3Vic3RyaW5nKDAsMjU2KSk7dmFyIGQ9WShhLCJlbWJlZENvbmZpZyIpO2lmKGQpe2lmKEIoZCkpdHJ5e2Q9SlNPTi5zdHJpbmdpZnkoZCl9Y2F0Y2goaCl7Y29uc29sZS5lcnJvcigiSW52YWxpZCBlbWJlZCBjb25maWcgSlNPTiIsaCl9Yy5lbWJlZF9jb25maWc9ZH1jLmVuYWJsZWpzYXBpPXdpbmRvdy5wb3N0TWVzc2FnZT8xOjA7d2luZG93LmxvY2F0aW9uLmhvc3QmJihjLm9yaWdpbj13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrIi8vIit3aW5kb3cubG9jYXRpb24uaG9zdCk7Yy53aWRnZXRpZD1hLmlkO3dpbmRvdy5sb2NhdGlvbi5ocmVmJiZFKFsiZGVidWdqcyIsImRlYnVnY3NzIl0sZnVuY3Rpb24oaCl7dmFyIGs9d2luZG93LmxvY2F0aW9uLmhyZWY7CnZhciBmPWsuc2VhcmNoKFBhKTtiOnt2YXIgZT0wO2Zvcih2YXIgZz1oLmxlbmd0aDsoZT1rLmluZGV4T2YoaCxlKSk+PTAmJmU8Zjspe3ZhciBsPWsuY2hhckNvZGVBdChlLTEpO2lmKGw9PTM4fHxsPT02MylpZihsPWsuY2hhckNvZGVBdChlK2cpLCFsfHxsPT02MXx8bD09Mzh8fGw9PTM1KWJyZWFrIGI7ZSs9ZysxfWU9LTF9aWYoZTwwKWs9bnVsbDtlbHNle2c9ay5pbmRleE9mKCImIixlKTtpZihnPDB8fGc+ZilnPWY7ZSs9aC5sZW5ndGgrMTtrPWRlY29kZVVSSUNvbXBvbmVudChrLnNsaWNlKGUsZyE9PS0xP2c6MCkucmVwbGFjZSgvXCsvZywiICIpKX1rIT09bnVsbCYmKGNbaF09ayl9KTsKd2luZG93LmxvY2F0aW9uLmhyZWYmJihjLmZvcmlnaW49d2luZG93LmxvY2F0aW9uLmhyZWYpO2E9d2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucztjLmFvcmlnaW5zdXA9YT09PXZvaWQgMD8wOjE7YSYmYS5sZW5ndGg+MCYmKGMuYW9yaWdpbnM9QXJyYXkuZnJvbShhKS5qb2luKCIsIikpO3dpbmRvdy5kb2N1bWVudC5yZWZlcnJlciYmKGMuZ3BvcmlnaW49d2luZG93LmRvY3VtZW50LnJlZmVycmVyKTtiJiYoYy52Zj1kYihiKSk7cmV0dXJuIGN9CmZ1bmN0aW9uIGViKGEsYil7aWYoQihiKSl7Zm9yKHZhciBjIGluIGIpYi5oYXNPd25Qcm9wZXJ0eShjKSYmKGEucGxheWVySW5mb1tjXT1iW2NdKTthLnBsYXllckluZm8uaGFzT3duUHJvcGVydHkoInZpZGVvRGF0YSIpJiYoYj1hLnBsYXllckluZm8udmlkZW9EYXRhLGIuaGFzT3duUHJvcGVydHkoInRpdGxlIikmJmIudGl0bGU/KGI9Yi50aXRsZSxiIT09YS52aWRlb1RpdGxlJiYoYS52aWRlb1RpdGxlPWIsYS5nLnNldEF0dHJpYnV0ZSgidGl0bGUiLGIpKSk6KGEudmlkZW9UaXRsZT0iIixhLmcuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIllvdVR1YmUgIitZKGEsInRpdGxlIikpKSl9fQpmdW5jdGlvbiBmYihhLGIpe2I9eChiKTtmb3IodmFyIGM9Yi5uZXh0KCksZD17fTshYy5kb25lO2Q9e206dm9pZCAwfSxjPWIubmV4dCgpKWQubT1jLnZhbHVlLGFbZC5tXXx8KGQubT09PSJnZXRDdXJyZW50VGltZSI/YVtkLm1dPWZ1bmN0aW9uKCl7dmFyIGg9dGhpcy5wbGF5ZXJJbmZvLmN1cnJlbnRUaW1lO2lmKHRoaXMucGxheWVySW5mby5wbGF5ZXJTdGF0ZT09PTEpe3ZhciBrPShEYXRlLm5vdygpLzFFMy10aGlzLnBsYXllckluZm8uY3VycmVudFRpbWVMYXN0VXBkYXRlZF8pKnRoaXMucGxheWVySW5mby5wbGF5YmFja1JhdGU7az4wJiYoaCs9TWF0aC5taW4oaywxKSl9cmV0dXJuIGh9OlRhKGQubSk/YVtkLm1dPWZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucGxheWVySW5mbz17fTsKdGhpcy51PXt9O2FiKHRoaXMsaC5tLGFyZ3VtZW50cyk7cmV0dXJuIHRoaXN9fShkKTpVYShkLm0pP2FbZC5tXT1mdW5jdGlvbihoKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgaz1oLm0sZj0wOwprLnNlYXJjaCgiZ2V0Iik9PT0wP2Y9MzprLnNlYXJjaCgiaXMiKT09PTAmJihmPTIpO3JldHVybiB0aGlzLnBsYXllckluZm9bay5jaGFyQXQoZikudG9Mb3dlckNhc2UoKStrLnN1YnN0cmluZyhmKzEpXX19KGQpOmFbZC5tXT1mdW5jdGlvbihoKXtyZXR1cm4gZnVuY3Rpb24oKXthYih0aGlzLGgubSxhcmd1bWVudHMpOwpyZXR1cm4gdGhpc319KGQpKX0Kbi5nZXRWaWRlb0VtYmVkQ29kZT1mdW5jdGlvbigpe3ZhciBhPSIiK1kodGhpcywiaG9zdCIpK1hhKHRoaXMpLGI9TnVtYmVyKFkodGhpcywid2lkdGgiKSksYz1OdW1iZXIoWSh0aGlzLCJoZWlnaHQiKSk7aWYoaXNOYU4oYil8fGlzTmFOKGMpKXRocm93IEVycm9yKCJJbnZhbGlkIHdpZHRoIG9yIGhlaWdodCBwcm9wZXJ0eSIpO2I9TWF0aC5mbG9vcihiKTtjPU1hdGguZmxvb3IoYyk7dmFyIGQ9dGhpcy52aWRlb1RpdGxlO2E9S2EoYSk7ZD1LYShkIT1udWxsP2Q6IllvdVR1YmUgdmlkZW8gcGxheWVyIik7cmV0dXJuJzxpZnJhbWUgd2lkdGg9IicrYisnIiBoZWlnaHQ9IicrYysnIiBzcmM9IicrYSsnIiB0aXRsZT0iJysoZCsnIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmU7IHdlYi1zaGFyZSIgcmVmZXJyZXJwb2xpY3k9InN0cmljdC1vcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4iIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4nKX07Cm4uZ2V0T3B0aW9ucz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy51Lm5hbWVzcGFjZXM/YT90aGlzLnVbYV0/dGhpcy51W2FdLm9wdGlvbnN8fFtdOltdOnRoaXMudS5uYW1lc3BhY2VzfHxbXTpbXX07Cm4uZ2V0T3B0aW9uPWZ1bmN0aW9uKGEsYil7aWYodGhpcy51Lm5hbWVzcGFjZXMmJmEmJmImJnRoaXMudVthXSlyZXR1cm4gdGhpcy51W2FdW2JdfTsKZnVuY3Rpb24gWShhLGIpe2E9W2Eub3B0aW9ucyx3aW5kb3cuWVRDb25maWd8fHt9XTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGQ9YVtjXVtiXTtpZihkIT09dm9pZCAwKXJldHVybiBkfXJldHVybiBudWxsfQp2YXIgWj1udWxsLGdiPW51bGw7ZnVuY3Rpb24gaGIoYSl7aWYoYS50YWdOYW1lLnRvTG93ZXJDYXNlKCkhPT0iaWZyYW1lIil7dmFyIGI9VyhhLCJ2aWRlb2lkIik7YiYmKGI9e3ZpZGVvSWQ6Yix3aWR0aDpXKGEsIndpZHRoIiksaGVpZ2h0OlcoYSwiaGVpZ2h0Iil9LG5ldyBYKGEsYikpfX0KZnVuY3Rpb24gY2IoYSxiLGMpe1p8fChaPXt9LGdiPW5ldyBTZXQsaWIuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsZnVuY3Rpb24oZCl7YTppZihnYi5oYXMoZC5vcmlnaW4pKXt0cnl7dmFyIGg9SlNPTi5wYXJzZShkLmRhdGEpfWNhdGNoKGUpe2JyZWFrIGF9dmFyIGs9WltoLmlkXTtpZihrJiZkLm9yaWdpbj09PWsuTylzd2l0Y2goZD1rLlMsZC5vPSEwLGQubyYmKEUoZC5sLGQuc2VuZE1lc3NhZ2UsZCksZC5sLmxlbmd0aD0wKSxrPWguZXZlbnQsaD1oLmluZm8sayl7Y2FzZSAiYXBpSW5mb0RlbGl2ZXJ5IjppZihCKGgpKWZvcih2YXIgZiBpbiBoKWguaGFzT3duUHJvcGVydHkoZikmJihkLnVbZl09aFtmXSk7YnJlYWs7Y2FzZSAiaW5mb0RlbGl2ZXJ5IjplYihkLGgpO2JyZWFrO2Nhc2UgImluaXRpYWxEZWxpdmVyeSI6QihoKSYmKGNsZWFySW50ZXJ2YWwoZC5oKSxkLnBsYXllckluZm89e30sZC51PXt9LGZiKGQsaC5hcGlJbnRlcmZhY2UpLGViKGQsaCkpO2JyZWFrO2Nhc2UgImFscmVhZHlJbml0aWFsaXplZCI6Y2xlYXJJbnRlcnZhbChkLmgpOwpicmVhaztjYXNlICJyZWFkeVRvTGlzdGVuIjpiYihkKTticmVhaztkZWZhdWx0OmQuaS5pfHwoZj17dGFyZ2V0OmQsZGF0YTpofSxkLmkuRyhrLGYpLFNhKCJwbGF5ZXIuIitrLGYpKX19fSkpOwpaW2JdPXtTOmEsTzpjfTtnYi5hZGQoYyl9CnZhciBpYj13aW5kb3c7RCgiWVQuUGxheWVyU3RhdGUuVU5TVEFSVEVEIiwtMSk7RCgiWVQuUGxheWVyU3RhdGUuRU5ERUQiLDApO0QoIllULlBsYXllclN0YXRlLlBMQVlJTkciLDEpO0QoIllULlBsYXllclN0YXRlLlBBVVNFRCIsMik7RCgiWVQuUGxheWVyU3RhdGUuQlVGRkVSSU5HIiwzKTtEKCJZVC5QbGF5ZXJTdGF0ZS5DVUVEIiw1KTtEKCJZVC5nZXQiLGZ1bmN0aW9uKGEpe3JldHVybiBUW2FdfSk7CkQoIllULnNjYW4iLFJhKTtEKCJZVC5zdWJzY3JpYmUiLGZ1bmN0aW9uKGEsYixjKXtVLnN1YnNjcmliZShhLGIsYyk7VlthXT0hMDtmb3IodmFyIGQgaW4gVClULmhhc093blByb3BlcnR5KGQpJiZaYShUW2RdLGEpfSk7CkQoIllULnVuc3Vic2NyaWJlIixmdW5jdGlvbihhLGIsYyl7VS51bnN1YnNjcmliZShhLGIsYyl9KTsKRCgiWVQuUGxheWVyIixYKTtYLnByb3RvdHlwZS5kZXN0cm95PVgucHJvdG90eXBlLmRlc3Ryb3k7WC5wcm90b3R5cGUuc2V0U2l6ZT1YLnByb3RvdHlwZS5zZXRTaXplO1gucHJvdG90eXBlLmdldElmcmFtZT1YLnByb3RvdHlwZS5nZXRJZnJhbWU7WC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1YLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyO1gucHJvdG90eXBlLmdldFZpZGVvRW1iZWRDb2RlPVgucHJvdG90eXBlLmdldFZpZGVvRW1iZWRDb2RlO1gucHJvdG90eXBlLmdldE9wdGlvbnM9WC5wcm90b3R5cGUuZ2V0T3B0aW9ucztYLnByb3RvdHlwZS5nZXRPcHRpb249WC5wcm90b3R5cGUuZ2V0T3B0aW9uO1FhLnB1c2goZnVuY3Rpb24oYSl7dmFyIGI9YTtifHwoYj1kb2N1bWVudCk7YT1wYShiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ5dDpwbGF5ZXIiKSk7Yj1wYSgoYnx8ZG9jdW1lbnQpLnF1ZXJ5U2VsZWN0b3JBbGwoIi55dC1wbGF5ZXIiKSk7RShvYShhLGIpLGhiKX0pOwp0eXBlb2YgWVRDb25maWchPT0idW5kZWZpbmVkIiYmWVRDb25maWcucGFyc2V0YWdzJiZZVENvbmZpZy5wYXJzZXRhZ3MhPT0ib25sb2FkInx8UmEoKTt2YXIgamI9QS5vbllUUmVhZHk7amImJmpiKCk7dmFyIGtiPUEub25Zb3VUdWJlSWZyYW1lQVBJUmVhZHk7a2ImJmtiKCk7dmFyIGxiPUEub25Zb3VUdWJlUGxheWVyQVBJUmVhZHk7bGImJmxiKCk7fSkuY2FsbCh0aGlzKTsK"}},"time_used":9,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCETH.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.910Z","timestamp":1785129292910,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /crypto/XTVCETH.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"6c8b94d554caad39b40a6f7147fdc6a5\"\r\nlast-modified: Wed, 26 Feb 2025 20:02:22 GMT\r\ncdn-cachedat: 08/09/2025 14:29:13\r\nx-amz-id-2: cjxB+0rsJO+G+g9GS4iIDBwPWU8gDfAMJoEjErDTv2wKdTYX9BsP2jwaadSiv0iWhu6SXJksiTE=\r\nx-amz-request-id: WYQ4X71VWYX7W99T\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: 6c8b94d554caad39b40a6f7147fdc6a5\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f1be689757b63f4f7998c974ea69519b\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":1163,"size_decoded":1548,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (1163), with no line terminators","md5":"6c8b94d554caad39b40a6f7147fdc6a5","sha1":"66d27f915603d3286cf7257c467fa70e1422a462","sha256":"de92a8cf9812de5a645ec6e45df7843458c106187045b6f94f431bbc2d1a703b","sha512":"ec6c9900e3c43c736df89e4140184f5bcc7d328843ddcabd17bcce25f1d5c4e0841c503f5d6927419340be7336574244f7675f9d90158284bc8348f0d3161ea4","ssdeep":"","tlshash":"2f212ea8e25db92b884783fccb2d54633a5460ee578443e6b056d63a3490bdbec00bc0","first_seen":"2025-04-10T12:22:36.097854Z","last_seen":"2026-07-27T08:08:22.749617Z","times_seen":5460,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9InVybCgjYSkiIGQ9Ik0wIDBoMTh2MThIMHoiLz48cGF0aCBkPSJNOC45NyAzLjE0VjcuMkw1LjExIDkuMWwzLjg2LTUuOTZaIiBmaWxsPSIjRTdGMEZGIi8+PHBhdGggZD0ibTUuMSA5LjEtLjAxLjA0IDMuODkgMi4yMVY3LjJMNS4xIDkuMVoiIGZpbGw9IiNBNUI5RUUiLz48cGF0aCBkPSJNOC45NyAzLjE0VjcuMmwzLjk0IDEuOTVMOSAzLjFsLS4wMi4wM1oiIGZpbGw9IiNBNUI4RjAiLz48cGF0aCBkPSJNMTIuOSA5LjE0IDkgMTEuMzZoLS4wM1Y3LjE4bDMuOTQgMS45NVoiIGZpbGw9IiM2ODdGQ0IiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im05IDMgNCA2LjE1LTQgMi4yOC00LTIuMjhMOSAzWm0tLjA3LjMyTDUuMjYgOC45OGwzLjY3LTEuODRWMy4zMlptMCAzLjk0TDUuMjEgOS4xNGwzLjcyIDIuMTJ2LTRabS4xMyA0di00bDMuNzMgMS44OC0zLjczIDIuMTJabTMuNjgtMi4yN0w5LjA2IDcuMTRWMy4zMkwxMi43NCA5WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik05IDE0LjkgNS4wNSA5Ljc2IDkgMTEuOTJsMy45NS0yLjE2TDkgMTQuOVoiIGZpbGw9IiNBOEI5RUYiLz48cGF0aCBkPSJNOSAxMS45MiA1LjA1IDkuNzYgOSAxNC45di0yLjk4WiIgZmlsbD0iI0U4RjFGRiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0ibTUgOS44LjA5LS4wOEw5IDExLjg2bDMuOTEtMi4xNC4wOS4wOEw5IDE1IDUgOS44Wm0zLjk0IDIuMTUtMy42Ny0yIDMuNjcgNC43N3YtMi43N1ptLjEyIDIuNzd2LTIuNzdsMy42Ny0yLTMuNjcgNC43N1oiIGZpbGw9IiNmZmYiLz48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSI5IiB5MT0iMCIgeDI9IjkiIHkyPSIxOCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM0NjUxOTEiLz48c3RvcCBvZmZzZXQ9Ii4zNiIgc3RvcC1jb2xvcj0iIzMyNDk4RiIvPjxzdG9wIG9mZnNldD0iLjciIHN0b3AtY29sb3I9IiM1NTVFOTkiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM0RjU3OTUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4="}},"time_used":52,"timings":{"blocked":-1,"dns":19,"connect":21,"send":0,"wait":1,"receive":-1,"ssl":9},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/s/player/7a7969c2/www-player.css","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:53.603Z","timestamp":1785129293603,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /s/player/7a7969c2/www-player.css HTTP/1.1\r\nHost: www.youtube-nocookie.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 57346\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:11:03 GMT\r\nexpires: Thu, 22 Jul 2027 13:11:03 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/css\r\nvary: Accept-Encoding, Origin\r\nage: 403430\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":525369,"size_decoded":58026,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (65534), with no line terminators","md5":"839a152020ccf30ae48724d0b0c7b838","sha1":"dc9e04d667f3ebd589549aaa4cfc8a8e887505e1","sha256":"921b6856085a224b1ca2e5db139b1788c01d4dd1e70daca7006b6a7b381bdae1","sha512":"efc3700ca9d21022fb13b33c526a2f9f6c73c6c063957504b3b8ed58ef9512fa815c7f915f522af2f3fa73dd7cbfd6634566ad1dc6c86f11f4ed0a4b74f824ce","ssdeep":"6144:s8d5Fe/qoMOg7USBfUIoImM5Kia68Oi4u7:3YxMOg7USiIoIr5Kia6Tg","tlshash":"8eb4d972f0a1233cb2278d59a7d9d54d7339d983e2e12aeff11166dacbc77811326206","first_seen":"2026-07-14T08:36:18.809394Z","last_seen":"2026-07-27T08:08:01.2543Z","times_seen":4750,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsuaHRtbDUtdmlkZW8tcGxheWVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MDtvdXRsaW5lOjA7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtjb2xvcjojZWVlO3RleHQtYWxpZ246bGVmdDtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259Lmh0bWw1LXZpZGVvLXBsYXllciwueXRwLWNvbnRleHRtZW51ey1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdDpub25lO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlLC5odG1sNS12aWRlby1wbGF5ZXIudW5zdGFydGVkLW1vZGUsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10cmFuc3BhcmVudCl7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dGQtdmlkZW8tbWFzdGhlYWQtYWQtcHJpbWFyeS12aWRlby1yZW5kZXJlciAuaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmcsLnl0ZC12aWRlby1tYXN0aGVhZC1hZC1wcmltYXJ5LXZpZGVvLXJlbmRlcmVyIC5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSwueXRkLXZpZGVvLW1hc3RoZWFkLWFkLXByaW1hcnktdmlkZW8tcmVuZGVyZXIgLmh0bWw1LXZpZGVvLXBsYXllci51bnN0YXJ0ZWQtbW9kZSwueXRkLXZpZGVvLW1hc3RoZWFkLWFkLXByaW1hcnktdmlkZW8tcmVuZGVyZXIgLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10cmFuc3BhcmVudCl7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWJpZy1tb2Rle2ZvbnQtc2l6ZToxN3B4fS55dHAtYXV0b2hpZGV7Y3Vyc29yOm5vbmV9Lmh0bWw1LXZpZGVvLXBsYXllciBhe2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Y29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7b3V0bGluZTowfS5odG1sNS12aWRlby1wbGF5ZXIgYTpob3Zlcntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgYTpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0uaHRtbDUtdmlkZW8tcGxheWVyIGgxLC5odG1sNS12aWRlby1wbGF5ZXIgaDJ7bWFyZ2luOjB9Lmh0bWw1LXZpZGVvLXBsYXllciBzdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6MTBweDtiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDJ9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC10b3VjaC1tb2RlKSA6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE1cHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10b3VjaC1tb2RlKSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mn0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojOGU4ZThlO2JvcmRlcjoxcHggc29saWQgIzQyNDI0Mjtib3JkZXItcmFkaXVzOjVweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7Ym9yZGVyLXJhZGl1czo4cHh9Lmh0bWw1LXZpZGVvLWNvbnRhaW5lcnt6LWluZGV4OjEwO3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtZW1iZWQtZXJyb3IgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lmh0bWw1LW1haW4tdmlkZW97cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3V0bGluZTowfS55dHAtZml0LWNvdmVyLXZpZGVvIC5odG1sNS1tYWluLXZpZGVvey1vLW9iamVjdC1maXQ6Y292ZXI7b2JqZWN0LWZpdDpjb3Zlcn0uaHRtbDUtbWFpbi12aWRlb1tkYXRhLW5vLWZ1bGxzY3JlZW49dHJ1ZV06Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b257ZGlzcGxheTpub25lfS5odG1sNS1tYWluLXZpZGVvOm5vdChbY29udHJvbHNdKTo6LXdlYmtpdC1tZWRpYS1jb250cm9scywuaHRtbDUtbWFpbi12aWRlbzpub3QoW2NvbnRyb2xzXSk6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9ue2Rpc3BsYXk6bm9uZX0uaHRtbDUtbWFpbi12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZXtkaXNwbGF5OmlubGluZX0udW5zdGFydGVkLW1vZGUgLmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9ue2Rpc3BsYXk6bm9uZX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjMyNXB4KXsuaHRtbDUtbWFpbi12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy13aXJlbGVzcy1wbGF5YmFjay1waWNrZXItYnV0dG9ue2Rpc3BsYXk6bm9uZX19Lmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksLmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZS1yZW1haW5pbmctZGlzcGxheXtkaXNwbGF5Oi13ZWJraXQtZmxleH0ueXRwLXBsYXllci1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDo0OHB4O2JvdHRvbTo2MXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKTpub3QoLmFkLXNob3dpbmcpIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KX0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKS55dHAtaGFzLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgOTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpOm5vdCguYWQtc2hvd2luZykueXRwLWhhcy1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA5NHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKTpub3QoLmFkLXNob3dpbmcpLnl0cC1iaWctbW9kZS55dHAtaGFzLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgOTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpOm5vdCguYWQtc2hvd2luZykueXRwLWJpZy1tb2RlLnl0cC1oYXMtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgOTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjQ5cHh9Lnl0cC1lbWJlZCAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTo1M3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXBsYXllci1jb250ZW50Om5vdCgueXRwLXVwbmV4dCl7dG9wOjYwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXBsYXllci1jb250ZW50e3RvcDo2OXB4O2JvdHRvbTo3MHB4fS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1wbGF5ZXItY29udGVudDpub3QoLnl0cC11cG5leHQpe3RvcDo4OXB4fS55dHAtcGxheWVyLWNvbnRlbnQueXRwLWl2LXBsYXllci1jb250ZW50LC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnR7bGVmdDoxMnB4O3JpZ2h0OjEycHh9Lnl0cC1icmFuZGluZy1zaG93biAueXRwLXBsYXllci1jb250ZW50Lnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e3JpZ2h0OmNhbGMoMjJweCArIHZhcigtLWJyYW5kaW5nLWltYWdlLXdpZHRoKSl9Lnl0cC1iaWctbW9kZSAueXRwLXBsYXllci1jb250ZW50Lnl0cC1pdi1wbGF5ZXItY29udGVudCwueXRwLWJpZy1tb2RlIC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnR7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Lnl0cC1icmFuZGluZy1zaG93bi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5ZXItY29udGVudC55dHAtdGltZWx5LWFjdGlvbnMtY29udGVudHtyaWdodDpjYWxjKDIycHggKyB2YXIoLS1icmFuZGluZy1pbWFnZS13aWR0aCkpfS55dHAtYXV0b2hpZGUgLnl0cC1wbGF5ZXItY29udGVudDpub3QoLmh0bWw1LWVuZHNjcmVlbiksLnl0cC1hdXRvaGlkZSAueXRwLXBsYXllci1jb250ZW50Om5vdCgueXRwLXVwbmV4dCksLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtcGxheWVyLWNvbnRlbnR7dG9wOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx0b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUgLnl0cC15cGMtcGxheWVyLWNvbnRlbnQsLnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjB9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtaXYtcGxheWVyLWNvbnRlbnQsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtdGltZWx5LWFjdGlvbnMtY29udGVudCwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1pdi1wbGF5ZXItY29udGVudCwueXRwLWhpZGUtY29udHJvbHMgLnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e2JvdHRvbToxMnB4fS55dHAtdGltZWx5LWFjdGlvbnMtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtyaWdodDowO3otaW5kZXg6MzU7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouMzNzO3RyYW5zaXRpb24tZGVsYXk6LjMzc30ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktYm90dG9tLXJpZ2h0IC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnQsLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1vdmVybGF5LWJvdHRvbS1yaWdodCAueXRwLXRpbWVseS1hY3Rpb25zLW92ZXJsYXl7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MH0ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAueXRwLXRpbWVseS1hY3Rpb25zLW92ZXJsYXl7ZGlzcGxheTpub25lfS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjE1MXB4fS55dHAtc21hbGwtbW9kZS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjEzOXB4fS55dHAtZW1iZWQueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbToxNDNweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtaXYtcGxheWVyLWNvbnRlbnQsLnl0cC1iaWctbW9kZS55dHAtYXV0b2hpZGU6bm90KC55dHAtYWQtb3ZlcmxheS1vcGVuKSAueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnQsLnl0cC1iaWctbW9kZS55dHAtaGlkZS1jb250cm9scyAueXRwLWl2LXBsYXllci1jb250ZW50LC55dHAtYmlnLW1vZGUueXRwLWhpZGUtY29udHJvbHMgLnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e2JvdHRvbToyNHB4fS55dHAtYmlnLW1vZGUueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbToxNjBweH0ueXRwLWJ1dHRvbntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MDtjb2xvcjppbmhlcml0O3RleHQtYWxpZ246aW5oZXJpdDtmb250LXNpemU6MTAwJTtmb250LWZhbWlseTppbmhlcml0O2N1cnNvcjpkZWZhdWx0O2xpbmUtaGVpZ2h0OmluaGVyaXR9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDEycHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzpjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkgLSAyNHB4KS8yKX0ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtbXV0ZS1idXR0b24ueXRwLXN0YW5kYWxvbmUtbXV0ZS1idXR0b24gc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzo5cHh9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b246bm90KC55dHAtZXhwYW5kLXJpZ2h0LWJvdHRvbS1zZWN0aW9uLWJ1dHRvbikgc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzo3cHh9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9uLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6MH0ueXRwLWJ1dHRvbiwueXRwLWJ1dHRvbjpmb2N1c3tvdXRsaW5lOjB9Lnl0cC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7cGFkZGluZzowO2JvcmRlcjowfS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSwuaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYnV0dG9uW2Rpc2FibGVkXXtvcGFjaXR5Oi41fS55dHAtYnV0dG9uOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1idXR0b246Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCl9Lnl0cC1jaHJvbWUtYm90dG9tLC55dHAtY2hyb21lLXRvcHtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpfS55dHAtZG5pIC55dHAtY2hyb21lLWJvdHRvbXt0ZXh0LXNoYWRvdzpub25lfS55dHAtY2hyb21lLXRvcHtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bGVmdDoxMnB4O3JpZ2h0OjEycHg7dG9wOjA7ei1pbmRleDo1OH0ueXRwLXNob3J0cy1tb2RlIC55dHAtY2hyb21lLXRvcHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cmlnaHQ6MH0ueXRwLWd2biAueXRwLWNocm9tZS10b3AsLnl0cC1ndm4ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcHt0b3A6MjBweH0ueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOjA7aGVpZ2h0OjQ4cHg7d2lkdGg6MTAwJTt6LWluZGV4OjU5O3BhZGRpbmctdG9wOjNweDt0ZXh0LWFsaWduOmxlZnQ7ZGlyZWN0aW9uOmx0cn0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1ib3R0b217aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsNzJweCl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtYm90dG9tLnl0cC12b2x1bWUtcG9wb3Zlci1zaG93aW5ne3otaW5kZXg6MTAwMH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDozNnB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDo0MHB4fS55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZSAueXRwLWNocm9tZS1ib3R0b20sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNocm9tZS1jb250cm9scywueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9tLC55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OjQ4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1ib3R0b217aGVpZ2h0OjU0cHg7cGFkZGluZy10b3A6NHB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDk2cHgpO3BhZGRpbmctdG9wOjB9Lnl0cC1jaHJvbWUtdG9wIC55dHAtYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbiwueXRwLXNtYWxsLW1vZGUgLnl0cC1yZXBsYXktYnV0dG9ue29wYWNpdHk6Ljk7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MzZweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLC55dHAtcmVwbGF5LWJ1dHRvbntvcGFjaXR5Oi45O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjQ4cHg7cGFkZGluZzowIDJweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1tdXRlLWJ1dHRvbntwYWRkaW5nOjZweH0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbmV4dC1idXR0b257cGFkZGluZzowfS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1taW5pcGxheWVyLWJ1dHRvbiwueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcmVtb3RlLWJ1dHRvbntwYWRkaW5nOjAgNHB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24sLnl0cC1lbWJlZCAueXRwLXJlcGxheS1idXR0b257d2lkdGg6NDBweDtwYWRkaW5nOjB9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbWluaXBsYXllci1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbXV0ZS1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbmV4dC1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcmVtb3RlLWJ1dHRvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1yaWdodC1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsNDhweCk7Ym9yZGVyLXJhZGl1czoyOHB4O3BhZGRpbmc6MCAxNnB4Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdCwueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtcmlnaHR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246ZW5kOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1lbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmR9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b257b3BhY2l0eTp1bnNldDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWRdOmFmdGVye2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW11dGUtYnV0dG9ue292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbiAueXRwLXZvbHVtZS1pY29ue292ZXJmbG93OnZpc2libGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJlcGxheS1idXR0b257b3BhY2l0eTp1bnNldH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWxlZnQtY29udHJvbHN7bWluLXdpZHRoOjA7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze3BhZGRpbmc6MCA0cHg7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9ue3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7dG9wOjUwJTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtib3JkZXItcmFkaXVzOjQwcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO3dpZHRoOjQ4cHg7aGVpZ2h0OmNhbGModmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsIDQ4cHgpIC0gOHB4KX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDtwYWRkaW5nOjAgNHB4IDAgMDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTttYXJnaW4tbGVmdDo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+KikueXRwLXBsYXlsaXN0LXVpe21hcmdpbi1sZWZ0OjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4O2luc2V0OjRweCA0cHggNHB4IDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4xKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6YWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyLHJnYmEoMjU1LDI1NSwyNTUsLjIpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b257aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1yaWdodC1jb250cm9scyAueXRwLWJ1dHRvbjpiZWZvcmV7aGVpZ2h0OmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsIDU2cHgpIC0gOHB4KTt3aWR0aDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3twYWRkaW5nOmNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LCA1NnB4KSAtIDI0cHgpLzIpfS55dHAtZGVsaGktbW9kZXJuLXdpdGgtbHVtaW5vc2l0eS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmx1bWlub3NpdHk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWRpZmZlcmVuY2UueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpleGNsdXNpb247LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KX0ueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b246bm90KC55dHAteW91dHViZS1idXR0b24pIHN2ZywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbjpub3QoLnl0cC15b3V0dWJlLWJ1dHRvbikgc3Zne3dpZHRoOjQwcHg7cGFkZGluZy1sZWZ0OjRweH0ueXRwLWNocm9tZS10b3AgLnl0cC1idXR0b257cGFkZGluZy10b3A6NnB4O2hlaWdodDo0MnB4O3ZlcnRpY2FsLWFsaWduOnRvcH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLWJ1dHRvbntwYWRkaW5nLXRvcDo5cHg7aGVpZ2h0OjYzcHh9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b257aGVpZ2h0OjEwMCV9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbiwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLWJ1dHRvbnt3aWR0aDo1NHB4fS55dHAtcGxheS1idXR0b246bm90KC55dHAtcGxheS1idXR0b24tcGxheWxpc3QpOmJlZm9yZSwueXRwLXByZXYtYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O2JvdHRvbTowO2xlZnQ6LTEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4O2JvcmRlci1yYWRpdXM6MjdweH0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjphZnRlcntib3JkZXItcmFkaXVzOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkvMil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXktYnV0dG9uOmFjdGl2ZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5LWJ1dHRvbjphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUtY29uc2lzdGVudC1waWxsLWhlaWdodC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO21hcmdpbi1ib3R0b206Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDtwYWRkaW5nOjAgMCAwIDRweDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTttYXJnaW4tbGVmdDo4cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjI4cHg7aW5zZXQ6NHB4IDAgNHB4IDRweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXByZXYtYnV0dG9uOm5vdCh5dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wcmV2LWJ1dHRvbjpub3QoeXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKSBzdmd7cGFkZGluZzpjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkgLSAyNHB4KS8yKX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWx1bWlub3NpdHkueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZGlmZmVyZW5jZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtZGVsaGktbW9kZXJuLXdpdGgtZXhjbHVzaW9uLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZXhjbHVzaW9uOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O2JvdHRvbTowO2xlZnQ6MTAwJX0ueXRwLWJpZy1tb2RlIC55dHAtcGxheS1idXR0b246bm90KC55dHAtcGxheS1idXR0b24tcGxheWxpc3QpOmJlZm9yZSwueXRwLWJpZy1tb2RlIC55dHAtcHJldi1idXR0b246YmVmb3Jle3dpZHRoOjI0cHg7bGVmdDotMjRweH0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOm5vdChbZGlzYWJsZWRdKTpob3ZlciwueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdLC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXSwueXRwLWNocm9tZS10b3AgLnl0cC1idXR0b246aG92ZXIsLnl0cC1yZXBsYXktYnV0dG9uOmhvdmVye29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zdmctZmlsbHtmaWxsOiNmZmZ9Lnl0cC1zdmctc2hhZG93e3N0cm9rZTojMDAwO3N0cm9rZS1vcGFjaXR5Oi4xNTtzdHJva2Utd2lkdGg6MnB4O2ZpbGw6bm9uZX0ueXRwLWRuaSAueXRwLXN2Zy1zaGFkb3d7ZGlzcGxheTpub25lfS55dHAtc3ZnLXNoYWRvdy1maWxse2ZpbGw6IzAwMDtmaWxsLW9wYWNpdHk6LjE1O3N0cm9rZTpub25lfS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF17cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6M3B4O2JvcmRlci1yYWRpdXM6M3B4O2xlZnQ6MjRweDtib3R0b206OXB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpOy13ZWJraXQtdHJhbnNpdGlvbjpsZWZ0IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHdpZHRoIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246bGVmdCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF06YWZ0ZXJ7aGVpZ2h0OjJweDtib3JkZXItcmFkaXVzOjJweDtsZWZ0OjIwcHg7Ym90dG9tOjhweH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF06YWZ0ZXJ7aGVpZ2h0OjNweDtib3JkZXItcmFkaXVzOjNweDtsZWZ0OjI3cHg7Ym90dG9tOjEwcHh9Lnl0cC1kbmkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjI0cHg7bGVmdDoxMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjpsZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSx3aWR0aCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpsZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSx3aWR0aCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlciwueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlcnt3aWR0aDoxOHB4O2xlZnQ6OXB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjIwcHg7bGVmdDoxMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjI3cHg7bGVmdDoxNHB4fS55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlciwueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV06YWZ0ZXJ7bGVmdDoxNXB4fS55dHAtY29sb3Itd2hpdGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNkZGR9Lnl0cC1jb2xvci1wYXJ0eSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWRdOmFmdGVyey13ZWJraXQtYW5pbWF0aW9uOnl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXIgaW5maW5pdGV9Lnl0cC1jaHJvbWUtdG9wLWJ1dHRvbnN7d2hpdGUtc3BhY2U6bm93cmFwfS55dHAtY2hyb21lLXRvcC1idXR0b25zIC55dHAtYnV0dG9ue3RleHQtc2hhZG93OmluaGVyaXR9W2Rpcj1ydGxdIC55dHAtc2hvcnRzLW1vZGUgLnl0cC1jaHJvbWUtdG9wLWJ1dHRvbnN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0OHB4fS55dHAtY29weWxpbmstYnV0dG9uOm5vdCgueXRwLWNvcHlsaW5rLWJ1dHRvbi12aXNpYmxlKSwueXRwLW92ZXJmbG93LWJ1dHRvbjpub3QoLnl0cC1vdmVyZmxvdy1idXR0b24tdmlzaWJsZSksLnl0cC1zaGFyZS1idXR0b246bm90KC55dHAtc2hhcmUtYnV0dG9uLXZpc2libGUpe2Rpc3BsYXk6bm9uZX0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtY2hyb21lLWNvbnRyb2xze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjEwOSU7dGV4dC1hbGlnbjpsZWZ0O2RpcmVjdGlvbjpsdHJ9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsNzJweCk7bGluZS1oZWlnaHQ6dmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCw3MnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDk2cHgpO2xpbmUtaGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsOTZweCl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDozNnB4O2xpbmUtaGVpZ2h0OjM2cHh9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9sc3toZWlnaHQ6NDBweDtsaW5lLWhlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTRweH06bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtbGVmdC1jb250cm9sc3tmbG9hdDpsZWZ0fS55dHAtbGVmdC1jb250cm9sc3toZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMueXRwLWxlZnQtY29udHJvbHMtd2l0aC12b2x1bWV7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtbGVmdC1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtcmlnaHQtY29udHJvbHN7ZmxvYXQ6cmlnaHR9Lnl0cC1yaWdodC1jb250cm9sc3toZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbnstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MDttaW4td2lkdGg6MDttYXJnaW46dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDAgdmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDEycHg7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uIC55dHAtYnV0dG9ue3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue3BhZGRpbmc6MCA0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uIHN2Z3twYWRkaW5nOjEwcHggNnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtbXV0ZS1idXR0b24gLnl0cC12b2x1bWUtaWNvbntwYWRkaW5nOjRweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTttYXJnaW46Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpIDAgY2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpIDEycHg7cGFkZGluZzowfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1yaWdodC1jb250cm9sc3toZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCk7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdHtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtcmlnaHR7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1yaWdodC1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzLWxlZnQ6YWZ0ZXJ7aGVpZ2h0OjI4cHg7bWFyZ2luOjEwcHggMTRweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDp2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LXhzbWFsbC13aWR0aC1tb2RlLDY0cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYnV0dG9uLnl0cC1saXZlLWJhZGdle3dpZHRoOmF1dG99Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWJ1dHRvbjpub3QoLnl0cC1saXZlLWJhZGdlKTpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQteHNtYWxsLXdpZHRoLW1vZGUsNjRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW5leHQtYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1wcmV2LWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue2hlaWdodDo0MHB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLXJpZ2h0LWNvbnRyb2xze2hlaWdodDo0MHB4O2xpbmUtaGVpZ2h0OjQwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b257ZGlzcGxheTpub25lO21hcmdpbjo0cHggMnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdDphZnRlcntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXNldHRpbmdzLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1yaWdodC1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtZXhwYW5kLXJpZ2h0LWJvdHRvbS1zZWN0aW9uLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20ueXRwLXhzbWFsbC13aWR0aC1yaWdodC1jb250cm9scy1leHBhbmRlZCAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20ueXRwLXhzbWFsbC13aWR0aC1yaWdodC1jb250cm9scy1leHBhbmRlZCAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWJvdHRvbS55dHAteHNtYWxsLXdpZHRoLXJpZ2h0LWNvbnRyb2xzLWV4cGFuZGVkIC55dHAtbGVmdC1jb250cm9scyAueXRwLXRpbWUtZGlzcGxheXt2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtdm9sdW1lLWFyZWF7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWF7bWFyZ2luOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAwIHZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAxMnB4O2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYXtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC12b2x1bWUtaWNvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC12b2x1bWUtaWNvbiBzdmd7cGFkZGluZzp2YXIoLS15dC1kZWxoaS1waWxsLXRvcC1oZWlnaHQsMTJweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWE6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo0cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1yYWRpdXM6MjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC1jaHJvbWUtYm90dG9tLnl0cC12b2x1bWUtc2xpZGVyLWFjdGl2ZSAueXRwLXZvbHVtZS1hcmVhe3BhZGRpbmctcmlnaHQ6MTZweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXZvbHVtZS1hcmVhe21hcmdpbjp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCkgMCAwIDEycHg7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYXttYXJnaW46dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDAgdmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDhweDtoZWlnaHQ6NDBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC1idXR0b257aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1hcmVhIHN2Z3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O3BhZGRpbmc6MTFweH0ueXRwLWF1dG9oaWRlLWZhZGUtdHJhbnNpdGlvbiwueXRwLWNocm9tZS1ib3R0b206bm90KC55dHAtZnJvc3RlZC1nbGFzcy1vcGFjaXR5LWFuaW1hdGlvbiksLnl0cC1jaHJvbWUtdG9wey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYXV0b2hpZGUtZmFkZS10cmFuc2l0aW9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtYm90dG9tOm5vdCgueXRwLWZyb3N0ZWQtZ2xhc3Mtb3BhY2l0eS1hbmltYXRpb24pLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1idXR0b24sLnl0cC1hdXRvaGlkZSAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbCwueXRwLWF1dG9oaWRlIC55dHAtdGl0bGUsLnl0cC1hdXRvaGlkZSAueXRwLXRpdGxlLWNoYW5uZWwsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1jYXJkcy10ZWFzZXItc2hvd24pIC55dHAtY2FyZHMtYnV0dG9uLC55dHAtY2hyb21lLWJvdHRvbVthcmlhLWhpZGRlbj10cnVlXSwueXRwLWNocm9tZS10b3BbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci1idXR0b24sLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpIC55dHAtb3ZlcmZsb3ctYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXRpdGxlLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXRpdGxlLWNoYW5uZWwsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpOm5vdCgueXRwLWNhcmRzLXRlYXNlci1zaG93bikgLnl0cC1jYXJkcy1idXR0b257ZGlzcGxheTpub25lfS55dHAtc2hvcnRzLW1vZGUgLnl0cC10aXRsZS1jaGFubmVse3BhZGRpbmctcmlnaHQ6OHB4fS55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZ3JhZGllbnQtdG9we3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQURHQ0FZQUFBQVQrT3FGQUFBQWRrbEVRVlFvejQyUVFRN0FJQWdFRi9UL0Qra2JxL1JXQWxuUXl5YXpBNGFvQUI0RnNCU0EvYkZqdUYxRU9MN1ZicklyQnV1c21ydDRaWk9SZmI2ZWhiV2RuUkhFSWlJVGFFVUthNUVKcVVha1JTYUVZQkpTQ1kyZEVzdFFZN0F1eGFod1hGcnZabVdsMnJoNEpaMDd6OWRMdGVzZk5qNXEwRlUzQTVPYmJ3QUFBQUJKUlU1RXJrSmdnZz09KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nKTpub3QoLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlKSAueXRwLWdyYWRpZW50LWJvdHRvbXtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWdyYWRpZW50LWJvdHRvbSwueXRwLWJpZy1tb2RlIC55dHAtZ3JhZGllbnQtdG9we2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFFbUNBWUFBQUNqeS9xekFBQUFoa2xFUVZRNHk1MlJVUTZBTUF4Q0tkNy9KSjdSNmFlSkFkcjUwN1RqUVpxT0FFNENXQVJ3eDdKRTk0NHJjaC9rNnFPV1M3YnE1Ymg3MnpHRjgrTFRhNmdvSmVSUGdYRFlOeFdGZmtTMFFYQ0luTElOMUd4VFhBMGR0UzBvdFdKbnVYSlIxWTlXWVA5R0YxVUNZUlFZSFJTbFhNQVJiVk80dGgzc2Q3WTNPUDVkWTNCbitTa1BzR0oxK0hHR1Z0Y0FBQUFBU1VWT1JLNUNZSUk9KX0ueXRwLWF1dG9oaWRlIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtYXV0b2hpZGU6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUpIC55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZ3JhZGllbnQtYm90dG9tW2FyaWEtaGlkZGVuPXRydWVdLC55dHAtZ3JhZGllbnQtdG9wW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZyk6bm90KC55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSkgLnl0cC1ncmFkaWVudC1ib3R0b217ZGlzcGxheTpub25lfS55dHAtZ3JhZGllbnQtdG9we2hlaWdodDo0OHB4O3BhZGRpbmctYm90dG9tOjUwcHg7dG9wOjA7ei1pbmRleDoyNTtiYWNrZ3JvdW5kLXBvc2l0aW9uOnRvcH0ueXRwLWVtYmVkLXBmbC55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NzBweDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLC43NSksdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCgwLHJnYmEoMCwwLDAsLjc1KSksdG8odHJhbnNwYXJlbnQpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwuNzUpIDAsdHJhbnNwYXJlbnQpO3BhZGRpbmctYm90dG9tOjB9Lnl0cC1zaG9ydHMtbW9kZS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1ncmFkaWVudC10b3AsLnl0cC1zaG9ydHMtbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmF1dG8gMjAwJTtiYWNrZ3JvdW5kLXNpemU6YXV0byAyMDAlfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NDlweH0ueXRwLWJpZy1tb2RlIC55dHAtZ3JhZGllbnQtdG9we2hlaWdodDo2OXB4O3BhZGRpbmctYm90dG9tOjc3cHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6ODlweDtwYWRkaW5nLWJvdHRvbTo1N3B4fS55dHAtZ3JhZGllbnQtYm90dG9te2hlaWdodDo2MXB4O3BhZGRpbmctdG9wOjM3cHg7Ym90dG9tOjA7ei1pbmRleDoyNDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmJvdHRvbX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1ncmFkaWVudC1ib3R0b217aGVpZ2h0OjQ5cHg7cGFkZGluZy10b3A6NDlweH0ueXRwLWVtYmVkIC55dHAtZ3JhZGllbnQtYm90dG9te2hlaWdodDo1M3B4O3BhZGRpbmctdG9wOjQ1cHh9Lnl0cC1iaWctbW9kZSAueXRwLWdyYWRpZW50LWJvdHRvbXtoZWlnaHQ6NzBweDtwYWRkaW5nLXRvcDo3NnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWRpc2FibGUtYm90dG9tLWdyYWRpZW50KSAueXRwLWdyYWRpZW50LWJvdHRvbXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1kaXNhYmxlLWJvdHRvbS1ncmFkaWVudC55dHAtZ3JpZC1zY3JvbGxpbmcgLnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nOm5vdCgueXRwLWRpc2FibGUtYm90dG9tLWdyYWRpZW50KSAueXRwLWdyYWRpZW50LWJvdHRvbXtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcChyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44NSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAscmdiYSgwLDAsMCwwKSBjYWxjKDcwJSAtIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSAtIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKSxyZ2JhKDAsMCwwLC44NSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCxyZ2JhKDAsMCwwLDApIGNhbGMoNzAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpLHJnYmEoMCwwLDAsLjg1KSAxMDAlKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWdyYWRpZW50LWJvdHRvbXtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcChyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44NSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAscmdiYSgwLDAsMCwwKSBjYWxjKDIwJSArIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKSxyZ2JhKDAsMCwwLC44NSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCxyZ2JhKDAsMCwwLDApIGNhbGMoMjAlICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpLHJnYmEoMCwwLDAsLjg1KSAxMDAlKX0ueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9we2hlaWdodDowfS55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC1vdmVyZmxvdy1idXR0b24sLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtY2hyb21lLXRvcCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC1zaGFyZS1idXR0b24sLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZSwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9wIC55dHAtdGl0bGUtY2hhbm5lbCwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9uLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWdyYWRpZW50LXRvcCwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLW92ZXJmbG93LWJ1dHRvbiwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLXNoYXJlLWJ1dHRvbiwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLXdhdGNoLWxhdGVyLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUueXRwLWZ1bGwtYmxlZWQtcGxheWVyOm5vdCgueXRwLWdyaWQtc2Nyb2xsYWJsZSkgLnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1kaXNhYmxlLWJvdHRvbS1ncmFkaWVudC55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIgLnl0cC1ncmFkaWVudC1ib3R0b217ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsLWJsZWVkLXBsYXllci55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZTpub3QoLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlKSAueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOmNhbGMoNzAlIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpO29wYWNpdHk6dmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIueXRwLWRlbGhpLW1vZGVybi55dHAtYXV0b2hpZGUueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtY2hyb21lLWJvdHRvbSwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1mdWxsLWJsZWVkLXBsYXllci55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWF1dG9oaWRlKSAueXRwLWNocm9tZS1ib3R0b217b3BhY2l0eTpjYWxjKDEgLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMyl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOmNhbGModmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWZ1bGwtYmxlZWQtcGxheWVyLnl0cC1ncmlkLXNjcm9sbGluZyAueXRwLWNocm9tZS1ib3R0b217cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZTpub3QoLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlKTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1jaHJvbWUtYm90dG9te2Rpc3BsYXk6bm9uZX0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1jaHJvbWUtYm90dG9tLC55dHAtaGlkZS1jb250cm9scyAueXRwLWdyYWRpZW50LWJvdHRvbXtkaXNwbGF5Om5vbmV9QG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSl7Lnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1ncmFkaWVudC10b3B7YmFja2dyb3VuZDojMDAwO3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy10b3A6MH19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yezAle2JhY2tncm91bmQtY29sb3I6I2YwMH0yMCV7YmFja2dyb3VuZC1jb2xvcjojMGYwfTQwJXtiYWNrZ3JvdW5kLWNvbG9yOiMwMGZ9NjAle2JhY2tncm91bmQtY29sb3I6I2YwZn04MCV7YmFja2dyb3VuZC1jb2xvcjojZmYwfXRve2JhY2tncm91bmQtY29sb3I6IzBmZn19QGtleWZyYW1lcyB5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvcnswJXtiYWNrZ3JvdW5kLWNvbG9yOiNmMDB9MjAle2JhY2tncm91bmQtY29sb3I6IzBmMH00MCV7YmFja2dyb3VuZC1jb2xvcjojMDBmfTYwJXtiYWNrZ3JvdW5kLWNvbG9yOiNmMGZ9ODAle2JhY2tncm91bmQtY29sb3I6I2ZmMH10b3tiYWNrZ3JvdW5kLWNvbG9yOiMwZmZ9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtcGFydHktY29sb3J7MCV7Y29sb3I6I2YwMH0yMCV7Y29sb3I6IzBmMH00MCV7Y29sb3I6IzAwZn02MCV7Y29sb3I6I2YwZn04MCV7Y29sb3I6I2ZmMH10b3tjb2xvcjojMGZmfX1Aa2V5ZnJhbWVzIHl0cC1wYXJ0eS1jb2xvcnswJXtjb2xvcjojZjAwfTIwJXtjb2xvcjojMGYwfTQwJXtjb2xvcjojMDBmfTYwJXtjb2xvcjojZjBmfTgwJXtjb2xvcjojZmYwfXRve2NvbG9yOiMwZmZ9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtcGFydHktZmlsbHswJXtmaWxsOiNmMDB9MjAle2ZpbGw6IzBmMH00MCV7ZmlsbDojMDBmfTYwJXtmaWxsOiNmMGZ9ODAle2ZpbGw6I2ZmMH10b3tmaWxsOiMwZmZ9fUBrZXlmcmFtZXMgeXRwLXBhcnR5LWZpbGx7MCV7ZmlsbDojZjAwfTIwJXtmaWxsOiMwZjB9NDAle2ZpbGw6IzAwZn02MCV7ZmlsbDojZjBmfTgwJXtmaWxsOiNmZjB9dG97ZmlsbDojMGZmfX0ueXRwLW1lbnUtc2hvd24gLnZpZGVvLWFkc3tkaXNwbGF5Om5vbmV9Lnl0cC1hZC1kaXNwbGF5LW92ZXJyaWRlIC52aWRlby1hZHN7ZGlzcGxheTppbmhlcml0fS55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLXN0YXRpYy1icmFuZC1yZWQsI2YwMyl9Lnl0cC1kbmkgLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6I2RkZH0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3Itc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6I2FhYX0ueXRwLWNvbG9yLXBhcnR5IC55dHAtcGxheS1wcm9ncmVzcy55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3IsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9yLC55dHAtY29sb3ItcGFydHkgLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvci1zZWNvbmRhcnl7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTtiYWNrZ3JvdW5kOm5vbmV9Lnl0cC1zd2F0Y2gtY29sb3J7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdGF0aWMtYnJhbmQtcmVkLCNmMDMpfS55dHAtc3dhdGNoLWNvbG9yLXdoaXRle2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSl9Lnl0cC1wcmVtaXVtLWxhYmVse2ZvbnQtc2l6ZTo4My4zMzMzJTtjb2xvcjojY2NjfS55dHAtZG5pIC55dHAtc3dhdGNoLWNvbG9ye2NvbG9yOiNmZmZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXN3YXRjaC1jb2xvcntjb2xvcjojZGRkfS55dHAtY29sb3ItcGFydHkgLnl0cC1zd2F0Y2gtY29sb3J7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWNvbG9yIC4xNXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp5dHAtcGFydHktY29sb3IgLjE1cyBsaW5lYXIgaW5maW5pdGV9QG1lZGlhIHByaW50ey5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtbXdlYi1wbGF5ZXIpICp7dmlzaWJpbGl0eTpoaWRkZW59Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1td2ViLXBsYXllcil7Ym9yZGVyOjFweCBzb2xpZCAjMDAwOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtY2hyb21lLXRvcCw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheSw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtbGFyZ2UtcGxheS1idXR0b257b3BhY2l0eToxIWltcG9ydGFudDtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbiAqLDpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC10aXRsZSw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtdGl0bGUgKntjb2xvcjojMDAwIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fX0ueXRwLXBsYXllci1pbi1iYXItZGlzYWJsZS11aT46bm90KC5odG1sNS12aWRlby1jb250YWluZXIpe2Rpc3BsYXk6bm9uZTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtY29tcG9zaXRlLXZpZGVvLW92ZXJsYXktcmVuZGVyZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7ei1pbmRleDoxMH0ueXRwLWFkLW1vZHVsZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWluaXBsYXllci1hbHRlcm5hdGUtdWkgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEycHgpO3RvcDowfS52aWRlby1hZC1zdGF0dXMtYmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3otaW5kZXg6ODUwO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjojMDAwO29wYWNpdHk6Ljc7ZGlzcGxheTpub25lfS55dHAtZW1iZWQgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjUzcHh9Lnl0cC1iaWctbW9kZSAudmlkZW8tYWQtc3RhdHVzLWJhcntib3R0b206NzBweH0ueXRwLWhpZGUtY29udHJvbHMgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjB9LmFkLXNob3dpbmcgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7ZGlzcGxheTpibG9ja30uYWQtc2hvd2luZy55dHAtYXV0b2hpZGUgLnZpZGVvLWFkLXN0YXR1cy1iYXIsLmFkLXNob3dpbmcueXRwLWhpZGUtY29udHJvbHMgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjB9LnZpZGVvLWFkLWxhYmVse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo1cHh9LmFkLXNob3dpbmcgLmFkLXZpZGVve3Bvc2l0aW9uOmFic29sdXRlfS5hZC1zaG93aW5nIC5hZC12aWRlb3t0b3A6MH0uaHRtbDUtdmlkZW8tcGxheWVyIC52aWRlby1jbGljay10cmFja2luZywuaHRtbDUtdmlkZW8tcGxheWVyIC52aWRlby1zdHJlYW17ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLWNvbnRhaW5lci1zaW5nbGUtbWVkaWEtZWxlbWVudC1hbm5vdGF0aW9uc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Ojg1MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1jb250YWluZXItc2luZ2xlLW1lZGlhLWVsZW1lbnQtYW5ub3RhdGlvbnMtd29ya2Fyb3VuZHt6LWluZGV4Ojg1MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQuaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1vdmVybGF5e2JvdHRvbTo1M3B4fS55dHAtYWQtb3ZlcmxheS1jbG9zZWQgLmFkLW92ZXJsYXksLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hZC1vdmVybGF5LWNsb3NlZCAuYWQtb3ZlcmxheXtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAuYWQtb3ZlcmxheXtib3R0b206NzBweH0ueXRwLWF1dG9oaWRlLnl0cC1hZC1vdmVybGF5LWNsb3NlZCAuYWQtb3ZlcmxheXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lmh0bWw1LXZpZGVvLXBsYXllciAuYWQtb3ZlcmxheSAudmlkZW8tY2xpY2stdHJhY2tpbmd7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLW92ZXJsYXk+Om5vdCguaW1hLWNvbnRhaW5lcil7ei1pbmRleDo4NzB9Lmh0bWw1LXZpZGVvLXBsYXllciAuYWQtb3ZlcmxheT4uaW1hLWNvbnRhaW5lcnt6LWluZGV4OmF1dG8haW1wb3J0YW50fS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLW92ZXJsYXk+LmltYS1jb250YWluZXI+Knt6LWluZGV4Ojg3MCFpbXBvcnRhbnQ7cG9zaXRpb246cmVsYXRpdmV9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpIC5hZC1jb250YWluZXIsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCgueXRwLWFkLW92ZXJsYXktb3BlbikgLnZpZGVvLWFkc3tkaXNwbGF5Om5vbmV9Lml2LWVuZGNhcC1iYWNrZ3JvdW5ke3otaW5kZXg6ODIxfS5odG1sNS12aWRlby1wbGF5ZXIgLmF0dHJpYnV0aW9uLWJ1dHRvbnt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgMCA4cHgscmdiYSgwLDAsMCwuOSkgMCAwIDRweH0ueXRwLWFkLWJ1dHRvbi1pY29uLC55dHAtYWQtYnV0dG9uLXRleHQsLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLC55dHAtYWQtc2tpcC1idXR0b24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLXNraXAtYnV0dG9uLXRleHQtY2VudGVyZWR7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdXBkYXRlZC1mb2N1cy1zdHlsZS55dHAtYWQtcGxheWVyLW92ZXJsYXkgLnl0cC1hZC1idXR0b24sLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS11cGRhdGVkLWZvY3VzLXN0eWxlLnl0cC1hZC1wbGF5ZXItb3ZlcmxheSBidXR0b257b3V0bGluZTowfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS11cGRhdGVkLWZvY3VzLXN0eWxlLnl0cC1hZC1wbGF5ZXItb3ZlcmxheSAueXRwLWFkLWJ1dHRvbjpmb2N1cywueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtYWQtcGxheWVyLW92ZXJsYXktdXBkYXRlZC1mb2N1cy1zdHlsZS55dHAtYWQtcGxheWVyLW92ZXJsYXkgYnV0dG9uOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtYWQtYnV0dG9uLWljb257aGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtYWQtYnV0dG9uLWxpbmt7cGFkZGluZzowO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ueXRwLWFkLWJ1dHRvbi1saW5rOmFjdGl2ZSwueXRwLWFkLWJ1dHRvbi1saW5rOmhvdmVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWJpZy1tb2RlIC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm97bGVmdDoyNHB4O2JvdHRvbTo3MHB4fS55dHAtYXV0b2hpZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1hdXRvaGlkZSAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWF1dG9oaWRlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkLnl0cC1hdXRvaGlkZSAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1lbWJlZC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1lbWJlZC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZve2JvdHRvbTo2cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1hZC1zdXJ2ZXktcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mb3tib3R0b206NjFweDtjdXJzb3I6ZGVmYXVsdDtsZWZ0OjE4cHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KTt6LWluZGV4Ojg1MDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1lbWJlZCAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWVtYmVkIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkIC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm97Ym90dG9tOjUzcHh9Lnl0cC1hZC1jbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1hZC1kaXNjbG9zdXJlLWJhbm5lcntib3JkZXItcmFkaXVzOjA7Ym90dG9tOmF1dG87Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OmF1dG87bGVmdDoxMnB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjI0cHg7ei1pbmRleDo4NTB9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWFkLWRpc2Nsb3N1cmUtYmFubmVye2xlZnQ6MjRweH0ueXRwLWFkLXBsYXllci1vdmVybGF5LWZseW91dC1jdGF7Ym90dG9tOjg2cHg7bGVmdDoxMnB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo4NTB9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3RhLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtZW1iZWQgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3Rhe2JvdHRvbTo3OHB4fS55dHAtZmx5b3V0LWN0YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246bGVmdDtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1mbHlvdXQtY3RhLWxhcmdle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7cGFkZGluZzo4cHg7bWluLXdpZHRoOjIwMHB4fS55dHAtZmx5b3V0LWN0YTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHAtZmx5b3V0LWN0YS1sYXJnZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjkpO2JvcmRlci1yYWRpdXM6MnB4O21heC13aWR0aDo0MDBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3dpZHRoOjEwMCU7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuNXMsbWF4LXdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keS1sYXJnZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9Lnl0cC1mbHlvdXQtY3RhOmhvdmVyIC55dHAtZmx5b3V0LWN0YS1ib2R5e2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWZseW91dC1jdGE6aG92ZXIgLnl0cC1mbHlvdXQtY3RhLWJvZHktbGFyZ2V7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLXRleHQtY29udGFpbmVye21heC13aWR0aDoyNTBweDtwYWRkaW5nLWxlZnQ6NThweDtwYWRkaW5nLXJpZ2h0OjIwcHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtdGV4dC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1yaWdodDoxMHB4fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaGVhZGxpbmUtY29udGFpbmVye2NvbG9yOiMzMzM7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxNHB4O21hcmdpbi10b3A6MTBweH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5lLWNvbnRhaW5lci1kYXJrLWJhY2tncm91bmR7Y29sb3I6I2RkZH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9uLWNvbnRhaW5lcntjb2xvcjojNzY3Njc2O2ZvbnQtc2l6ZToxM3B4O21hcmdpbi10b3A6M3B4O21hcmdpbi1ib3R0b206MTBweH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9uLWNvbnRhaW5lci1kYXJrLWJhY2tncm91bmR7Y29sb3I6I2RkZH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9ue292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24tY29udGFpbmVye2RpcmVjdGlvbjpsdHI7bGluZS1oZWlnaHQ6NTZweDttYXgtd2lkdGg6MTUwcHg7cG9zaXRpb246c3RhdGljOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci1sYXJnZXtsaW5lLWhlaWdodDppbmhlcml0O21hcmdpbjo4cHg7bWluLXdpZHRoOjEwMCV9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9ue2JhY2tncm91bmQ6IzE2N2FjNjtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjojMTY3YWM2O2JvcmRlci1yYWRpdXM6MnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjA1KTtib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMDUpO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDoyOHB4O21hcmdpbjowIDhweCAwIDA7bWF4LXdpZHRoOjE0MHB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgMTBweDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6aW5oZXJpdH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24tbGFyZ2V7bWluLXdpZHRoOjEwMCU7Y29sb3I6IzBmMGYwZn0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojMTI2ZGIzfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZDojMDk1Yjk5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDAsMCwwLC41KX0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24ueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi1yb3VuZGVke2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjAgMTJweDtib3JkZXI6bm9uZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7Zm9udC1zaXplOjE0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7YmFja2dyb3VuZDojMDY1ZmQ0fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9uLXJvdW5kZWQtbGFyZ2V7YmFja2dyb3VuZC1jb2xvcjojM2VhNmZmfS55dHAtZmx5b3V0LWN0YSwueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWJvZHksLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1ib2R5PmRpdntkaXJlY3Rpb246bHRyO2hlaWdodDphdXRvfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXJ7aGVpZ2h0OjEwMCU7bGVmdDo0cHg7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDo0OHB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXItbGFyZ2V7bGVmdDo4cHg7dG9wOi0yNnB4fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi55dHAtZmx5b3V0LWN0YS1pY29uLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1pY29ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9Lnl0cC1mbHlvdXQtY3RhLnl0cC1mbHlvdXQtY3RhLWluYWN0aXZley13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKX0ueXRwLWZseW91dC1jdGEueXRwLWZseW91dC1jdGEtaW5hY3RpdmUgLnl0cC1mbHlvdXQtY3RhLWljb24tY29udGFpbmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpfS55dHAtZmx5b3V0LWN0YS55dHAtZmx5b3V0LWN0YS1pbmFjdGl2ZSAueXRwLWZseW91dC1jdGEtYm9keXttYXgtd2lkdGg6MDt3aWR0aDowfS55dHAtYmlnLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3Rhe2JvdHRvbTo5NXB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEsLnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keSwueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1ib2R5PmRpdntoZWlnaHQ6YXV0bzttaW4taGVpZ2h0OjQwcHg7bWF4LXdpZHRoOjE5MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWljb24tY29udGFpbmVye2hlaWdodDoxMDAlO3dpZHRoOjQwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLXRleHQtY29udGFpbmVye21hcmdpbi1sZWZ0OjZweDtwYWRkaW5nOjRweCAyMHB4IDRweCA0MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5lLWNvbnRhaW5lcntmb250LXNpemU6MTJweDttYXJnaW4tdG9wOjJweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1kZXNjcmlwdGlvbi1jb250YWluZXJ7Zm9udC1zaXplOjExcHg7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1pY29uLWNvbnRhaW5lcntsZWZ0OjA7dG9wOjB9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXItbGFyZ2V7bGVmdDo0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbiwueXRwLWFkLWluZm8taWNvbi1idXR0b24sLnl0cC1hZC1zaW1wbGUtYWQtYmFkZ2UsLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbntjb2xvcjojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MDtsaW5lLWhlaWdodDoyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYWQtc2ltcGxlLWFkLWJhZGdle21hcmdpbi1sZWZ0OjVweDtvcGFjaXR5Oi43NX0ueXRwLWFkLXNpbXBsZS1hZC1iYWRnZS0tY2xlYW4tcGxheWVye21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO2xlZnQ6MDtsaW5lLWhlaWdodDoyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYWQtc2ltcGxlLWFkLWJhZGdlLS1zdXJ2ZXl7Zm9udC13ZWlnaHQ6NTAwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLXNpbXBsZS1hZC1iYWRnZXttYXJnaW4tbGVmdDowfS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5ne21hcmdpbi1sZWZ0OjNweDtvcGFjaXR5Oi43NX0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tY2xlYW4tcGxheWVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMTZweCByZ2JhKDAsMCwwLC41KTtsZWZ0OjA7bGluZS1oZWlnaHQ6MjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tY2xlYW4tcGxheWVyOmJlZm9yZXtjb250ZW50OiLigKIiO3BhZGRpbmctaW5saW5lOjRweH0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tbXdlYntmb250LXdlaWdodDo2MDA7bWFyZ2luLWxlZnQ6M3B4fS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLS1td2ViLWlvc3tsZXR0ZXItc3BhY2luZzotLjJweH0ueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI4cHg7bGluZS1oZWlnaHQ6aW5oZXJpdDttYXJnaW46MCA1cHg7bWFyZ2luLXJpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b24gLnl0cC1hZC1ob3Zlci10ZXh0LWNvbnRhaW5lcntiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JvcmRlci1yYWRpdXM6NHB4O2JvdHRvbTozMHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojMzMzO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MTJweDtsZWZ0Oi0xOXB4O2xpbmUtaGVpZ2h0Om5vcm1hbDtvcGFjaXR5Oi45O3BhZGRpbmc6N3B4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dGV4dC1zaGFkb3c6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LXNob3J0e3doaXRlLXNwYWNlOm5vd3JhcH0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyIGF7Y29sb3I6IzE2N2FjNn0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyIGE6aG92ZXJ7Y29sb3I6IzE2N2FjNjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbjpob3ZlciAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyLC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXI6aG92ZXIgLnl0cC1hZC1ob3Zlci10ZXh0LWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLWhvdmVyLXRleHQtY2FsbG91dHtib3JkZXItbGVmdDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjVweCBzb2xpZCAjZmZmOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MDtsZWZ0OjIwcHg7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6MTAwJTt3aWR0aDowfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbiwueXRwLWFkLWluZm8taWNvbi1idXR0b257LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDJweCAjMDAwKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDJweCAjMDAwKTtoZWlnaHQ6aW5oZXJpdDtvcGFjaXR5Oi43NTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTt3aWR0aDoxM3B4fS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtYnV0dG9uLS1jbGVhbi1wbGF5ZXJ7b3BhY2l0eToxOy13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCA3cHggcmdiYSgwLDAsMCwuOSkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgN3B4IHJnYmEoMCwwLDAsLjkpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b24gLnl0cC1hZC1idXR0b257LXdlYmtpdC1maWx0ZXI6dW5zZXQ7ZmlsdGVyOnVuc2V0fS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbjpob3ZlciwueXRwLWFkLWluZm8taWNvbi1idXR0b246aG92ZXJ7b3BhY2l0eToxfS55dHAtYWQtY29uZmlybS1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1iYWNrZ3JvdW5kLC55dHAtYWQtaW5mby1kaWFsb2ctYmFja2dyb3VuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO2Rpc3BsYXk6dGFibGU7aGVpZ2h0OjEwMCU7bGVmdDowO21hcmdpbjphdXRvO3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjIyMDF9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtY29uZmlybS1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1pbmZvLWRpYWxvZy1iYWNrZ3JvdW5ke2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteTpzY3JvbGw7b3ZlcmZsb3cteDpoaWRkZW59Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jbG9zZS1vdmVybGF5LWJ1dHRvbiwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jbG9zZS1idXR0b24sLnl0cC1hZC1pbmZvLWRpYWxvZy1jbG9zZS1idXR0b257aGVpZ2h0OjI0cHg7b3BhY2l0eTouNzU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTRweDt0b3A6MTRweDt3aWR0aDoyNHB4fS55dHAtYWQtY29uZmlybS1kaWFsb2ctY2xvc2Utb3ZlcmxheS1idXR0b246aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVyLC55dHAtYWQtaW5mby1kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVye29wYWNpdHk6MX0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLWNvbnRhaW5lciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb250YWluZXIsLnl0cC1hZC1pbmZvLWRpYWxvZy1jb250YWluZXJ7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLC55dHAtYWQtZmVlZGJhY2stZGlhbG9nLWZvcm0sLnl0cC1hZC1pbmZvLWRpYWxvZy1mb3Jte2JhY2tncm91bmQ6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCBibGFjaztjb2xvcjojNzY3Njc2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtc2hhZG93Om5vbmU7Zm9udC1zaXplOjE0cHg7bWluLXdpZHRoOjE4MHB4O21heC13aWR0aDo1MCU7cGFkZGluZzoxNHB4O3RleHQtYWxpZ246bGVmdH0ueXRwLWFkLWluZm8tZGlhbG9nLXJlbGF0aXZlLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjcyfS55dHAtYWQtaW5mby1kaWFsb2ctcmVsYXRpdmUtY29udGFpbmVyIC55dHAtYWQtaW5mby1kaWFsb2ctZm9ybXstd2Via2l0LWJveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMTgpO2JveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMTgpO2JvcmRlci1jb2xvcjojZTJlMmUyO21heC13aWR0aDpub25lfS55dHAtYWQtZmVlZGJhY2stZGlhbG9nLWZvcm0gYSwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1mb3JtIGE6aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdW5kby1tdXRlLWJ1dHRvbiwueXRwLWFkLWluZm8tZGlhbG9nLWZvcm0gYSwueXRwLWFkLWluZm8tZGlhbG9nLWZvcm0gYTpob3ZlciwueXRwLWFkLWluZm8tZGlhbG9nLW11dGUtYnV0dG9ue2NvbG9yOiMxNjdhYzY7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdGl0bGUsLnl0cC1hZC1pbmZvLWRpYWxvZy10aXRsZXtjb2xvcjojMzMzO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdGl0bGUgYSwueXRwLWFkLWluZm8tZGlhbG9nLXRpdGxlIGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX11bC55dHAtYWQtaW5mby1kaWFsb2ctYWQtcmVhc29uc3twYWRkaW5nOjA7bWFyZ2luOjA7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0cC1hZC1pbmZvLWRpYWxvZy1hZC1yZWFzb25zIGxpe2xpc3Qtc3R5bGU6ZGlzYztsaXN0LXN0eWxlLXBvc2l0aW9uOm91dHNpZGU7bWFyZ2luLWxlZnQ6MjBweH0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2VzLC55dHAtYWQtaW5mby1kaWFsb2ctZmVlZGJhY2stb3B0aW9uc3ttYXJnaW4tbGVmdDo4cHh9bGFiZWwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1yZWFzb24tbGFiZWx7ZGlzcGxheTpibG9jazttYXJnaW46OHB4IDB9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jb25maXJtLWNvbnRhaW5lciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWNvbnRhaW5lciwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tY29udGFpbmVye21hcmdpbi10b3A6OHB4O3RleHQtYWxpZ246cmlnaHR9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnV0dG9uLC55dHAtYWQtY29uZmlybS1kaWFsb2ctY29uZmlybS1idXR0b24sLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2FuY2VsLWJ1dHRvbiwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWJ1dHRvbiwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tYnV0dG9ue2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7bWFyZ2luOjRweCAwIDAgMTJweDtwYWRkaW5nOjEwcHg7Y29sb3I6IzE2N2FjNjtjdXJzb3I6cG9pbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnV0dG9uOmhvdmVyLC55dHAtYWQtY29uZmlybS1kaWFsb2ctY29uZmlybS1idXR0b246aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2FuY2VsLWJ1dHRvbjpob3ZlciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWJ1dHRvbjpob3ZlciwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tYnV0dG9uOmhvdmVye2NvbG9yOiMxNjdhYzY7Y3Vyc29yOnBvaW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtYWQtaW5mby1kaWFsb2ctbXV0ZS1jb250YWluZXJ7bWFyZ2luLXRvcDo4cHh9Lnl0cC1hZC1pbmZvLWRpYWxvZy1tdXRlLWJ1dHRvbntmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZn0ueXRwLWFkLWluZm8tZGlhbG9nLW11dGUtYnV0dG9uIC55dHAtYWQtYnV0dG9uLWljb257aGVpZ2h0OjE2cHg7bWFyZ2luLXJpZ2h0OjVweDt3aWR0aDoxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy11bmRvLW11dGUtYnV0dG9ue2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tbGVmdDo1cHh9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdW5kby1tdXRlLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi10ZXh0e3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbntsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO21hcmdpbi1sZWZ0OjVweDt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLWFkLXZpc2l0LWFkdmVydGlzZXItYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTJweDtyaWdodDotMnB4O3RvcDotN3B4O2JvdHRvbTotOHB4fS55dHAtYWQtdmlzaXQtYWR2ZXJ0aXNlci1idXR0b24gLnl0cC1hZC1idXR0b24tdGV4dHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEycHg7bWFyZ2luOi00cHggM3B4IC0ycHggMDtwYWRkaW5nOjVweCAwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dHAtYWQtdmlzaXQtYWR2ZXJ0aXNlci1idXR0b246aG92ZXIgLnl0cC1hZC1idXR0b24tdGV4dHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi1pY29ue2N1cnNvcjpwb2ludGVyOy13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggIzAwMCk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggIzAwMCk7aGVpZ2h0OjEwcHg7b3BhY2l0eTouNzU7d2lkdGg6MTBweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0ueXRwLWFkLXZpc2l0LWFkdmVydGlzZXItYnV0dG9uOmhvdmVyIC55dHAtYWQtYnV0dG9uLWljb257b3BhY2l0eToxfS55dHAtYmlnLW1vZGUgLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLWJpZy1tb2RlIC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVye2JvdHRvbTo5NXB4fS55dHAtYmlnLW1vZGUgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjE1NnB4fS55dHAtZW1iZWQueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLWVtYmVkLnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXByZXZpZXctY29udGFpbmVyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntib3R0b206MjVweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjg2cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0tdXNlci1zZW50aW1lbnQgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjcwcHh9Lnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciwueXRwLXNldHRpbmdzLXNob3duIC55dHAtYWQtcHJldmlldy1jb250YWluZXIsLnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntvcGFjaXR5Oi40O3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDo4NTB9Lnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciAueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWFkLW1lc3NhZ2Utb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvdHRvbTowO2xlZnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6ODUwfS55dHAtYWQtbWVzc2FnZS1zbG90LC55dHAtYWQtcHJldmlldy1zbG90LC55dHAtYWQtc2tpcC1hZC1zbG90e3RleHQtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNzUpO3BvaW50ZXItZXZlbnRzOmF1dG87ei1pbmRleDo4NTB9Lnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lciwueXRwLWFkLXByZXZpZXctY29udGFpbmVyLC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVye2JvdHRvbTo4NnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDoxMDAwfS55dHAtZW1iZWQgLnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lciwueXRwLWVtYmVkIC55dHAtYWQtcHJldmlldy1jb250YWluZXIsLnl0cC1lbWJlZCAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntib3R0b206NzhweH0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVye2JvdHRvbTo4NnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eToxO3JpZ2h0OjA7ei1pbmRleDoxMDAwfS55dHAtZW1iZWQgLnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lcntib3R0b206NzhweH0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVyLC55dHAtYWQtcHJldmlldy1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNCk7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lci1kZXRhY2hlZHttYXJnaW4tcmlnaHQ6MTJweDtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtoZWlnaHQ6MzZweH0ueXRwLWFkLXByZXZpZXctY29udGFpbmVyLWRldGFjaGVkOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eTouNztwb2ludGVyLWV2ZW50czphdXRvfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyLWRldGFjaGVke21hcmdpbi1yaWdodDoxMnB4O29wYWNpdHk6MX0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVyW2FyaWEtaGlkZGVuPXRydWVdLC55dHAtYWQtcHJldmlldy1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV0sLnl0cC1hZC1za2lwLWJ1dHRvbi1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWFkLXByZXZpZXctdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTJweDtoZWlnaHQ6MzBweDtsZXR0ZXItc3BhY2luZzouMXB4O21pbi13aWR0aDo4MnB4O3BhZGRpbmc6MTFweCAxMHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpwcmU7d2lkdGg6YXV0b30ueXRwLWFkLXByZXZpZXctdGV4dC1tb2Rlcm57ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6LjFweDtwYWRkaW5nOjAgOHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpwcmU7d2lkdGg6YXV0b30ueXRwLWFkLW1lc3NhZ2UtdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTZweDtoZWlnaHQ6NTJweDtsaW5lLWhlaWdodDo1MnB4O2xldHRlci1zcGFjaW5nOi4xcHg7bWluLXdpZHRoOjgwcHg7cGFkZGluZzowIDIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOnByZTt3aWR0aDphdXRvfS55dHAtYWQtcHJldmlldy1pbWFnZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1hZC1wcmV2aWV3LWltYWdlPi55dHAtYWQtaW1hZ2V7ZGlzcGxheTpibG9jazt3aWR0aDo5MnB4O2hlaWdodDo1MnB4fS55dHAtYWQtcHJldmlldy1pbWFnZS1tb2Rlcm57ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtcHJldmlldy1pbWFnZS1tb2Rlcm4+Lnl0cC1hZC1pbWFnZXtkaXNwbGF5OmJsb2NrO2hlaWdodDozNnB4O3dpZHRoOjY1cHh9LmNvdW50ZG93bi1uZXh0LXRvLXRodW1ibmFpbCAueXRwLWFkLXByZXZpZXctdGV4dHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjA7cGFkZGluZzowIDhweH0uY291bnRkb3duLW5leHQtdG8tdGh1bWJuYWlsIC55dHAtYWQtaW1hZ2V7aGVpZ2h0OjQxcHg7d2lkdGg6NzNweH0ubW9kZXJuLWNvdW50ZG93bi1uZXh0LXRvLXRodW1ibmFpbCAueXRwLWFkLXByZXZpZXctdGV4dC1tb2Rlcm57Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2hlaWdodDphdXRvO21pbi13aWR0aDowO3BhZGRpbmc6MCA4cHh9Lm1vZGVybi1jb3VudGRvd24tbmV4dC10by10aHVtYm5haWwgLnl0cC1hZC1wcmV2aWV3LXRleHQtbW9kZXJuLXBvc3Ryb2xse3BhZGRpbmc6MCAxNHB4fS5tb2Rlcm4tY291bnRkb3duLW5leHQtdG8tdGh1bWJuYWlsIC55dHAtYWQtaW1hZ2V7aGVpZ2h0OjM2cHg7d2lkdGg6NjVweH0ueXRwLWFkLXNraXAtYnV0dG9ue2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC41KTtib3JkZXItcmlnaHQ6MDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtjb2xvcjojZmZmO2RpcmVjdGlvbjpsdHI7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6bm9ybWFsO21pbi13aWR0aDowO3BhZGRpbmc6MTBweCA2cHggOHB4IDEwcHg7d2lkdGg6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLXNraXAtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOSk7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yaWdodDowfS55dHAtYWQtc2tpcC1idXR0b24taWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46LTE0cHggLTZweCAtMTJweCAtNHB4fS55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJue2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7Y29sb3I6I2ZmZjtkaXJlY3Rpb246bHRyO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDpub3JtYWw7bWluLXdpZHRoOjA7cGFkZGluZzowIDZweCAwIDE2cHg7d2lkdGg6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjE4cHg7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm46aG92ZXJ7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKHJnYmEoMjU1LDI1NSwyNTUsLjIpKSx0byhyZ2JhKDI1NSwyNTUsMjU1LC4yKSkpLC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiKDE1LDE1LDE1KSksdG8ocmdiKDE1LDE1LDE1KSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMikscmdiYSgyNTUsMjU1LDI1NSwuMikpLC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJnYigxNSwxNSwxNSkscmdiKDE1LDE1LDE1KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMikscmdiYSgyNTUsMjU1LDI1NSwuMikpLGxpbmVhci1ncmFkaWVudChyZ2IoMTUsMTUsMTUpLHJnYigxNSwxNSwxNSkpfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyIC55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuOmZvY3Vze2JhY2tncm91bmQ6cmdiKDE1LDE1LDE1KTtvdXRsaW5lOm5vbmU7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyIC55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggIzBmMGYwZjtib3gtc2hhZG93OjAgMCAwIDJweCAjMGYwZjBmO2NvbG9yOiMwZjBmMGZ9Lnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW1vZGVybntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLXNraXAtYnV0dG9uLWljb24tZGVsaGkgLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW1vZGVybiBzdmd7cGFkZGluZzo2cHh9Lnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW13ZWItZGVsaGkgLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLWRlbGhpIC55dHAtYWQtc2tpcC1idXR0b24taWNvbi1tb2Rlcm4gc3Zne2hlaWdodDoxNnB4O3dpZHRoOjE2cHg7cGFkZGluZzo0cHh9Lnl0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm46Zm9jdXMtdmlzaWJsZSAueXRwLWFkLXNraXAtYnV0dG9uLWljb24tbW9kZXJuIHN2ZyBwYXRoe2ZpbGw6IzBmMGYwZn0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtb3ZlcmxheS1zbG90e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6ODUwfS55dHAtZW1iZWQuaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtb3ZlcmxheS1zbG90e2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLnl0cC1hZC1vdmVybGF5LXNsb3R7Ym90dG9tOjcwcHh9Lnl0cC1hdXRvaGlkZS55dHAtYWQtb3ZlcmxheS1jbG9zZWQgLnl0cC1hZC1vdmVybGF5LXNsb3R7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtb3ZlcmxheS1jb250YWluZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0cC1hZC1vdmVybGF5LWNvbnRhaW5lciAueXRwLWFkLWVuaGFuY2VkLW92ZXJsYXksLnl0cC1hZC1vdmVybGF5LWNvbnRhaW5lciAueXRwLWFkLW92ZXJsYXktaW1hZ2UgaW1nLC55dHAtYWQtb3ZlcmxheS1jb250YWluZXIgLnl0cC1hZC10ZXh0LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1hZC10ZXh0LW92ZXJsYXl7aGVpZ2h0OjYzcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjYpO21pbi13aWR0aDozMjBweDttYXJnaW46YXV0bzttYXgtd2lkdGg6NDQwcHg7cGFkZGluZy1sZWZ0OjEwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0fS55dHAtYWQtdGV4dC1vdmVybGF5OmhvdmVye2JvcmRlcjoxcHggc29saWQgcmdiKDU4LDU4LDU4KX0ueXRwLWFkLW92ZXJsYXktdGl0bGV7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6I2ZmZjtkaXNwbGF5OmJsb2NrO2ZvbnQ6NzAwIDE0cHggYXJpYWwsc2Fucy1zZXJpZjttYXJnaW46N3B4IDIycHggMCAwO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWJvdHRvbTo0cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgLTFweCAwO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLXRleHQtb3ZlcmxheTpob3ZlciAueXRwLWFkLW92ZXJsYXktdGl0bGV7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWFkLW92ZXJsYXktZGVzY3tjb2xvcjojZmZmO2ZvbnQ6MTJweCBhcmlhbCxzYW5zLXNlcmlmO21hcmdpbi1ib3R0b206MnB4O21hcmdpbi10b3A6LTNweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1hZC1pbWFnZS1vdmVybGF5e21pbi13aWR0aDozMjBweDttYXJnaW46YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLW92ZXJsYXktaW1hZ2V7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRwLWFkLWltYWdlLW92ZXJsYXk6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWFkLW92ZXJsYXktbGlua3tjdXJzb3I6cG9pbnRlcjtib3R0b206OXB4O2NvbG9yOiNlYWRlOTA7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246c3RhdGljO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93OnJnYigwLDAsMCkgMCAtMXB4IDB9Lnl0cC1hZC1vdmVybGF5LWxpbmsueXRwLWFkLW92ZXJsYXktbGluay1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1hZC1vdmVybGF5LWFkLWluZm8tYnV0dG9uLWNvbnRhaW5lcntjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO2hlaWdodDoxNXB4O3BhZGRpbmc6NnB4IDFweCAxMHB4IDIwcHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMXB4O3RvcDowO3dpZHRoOjE1cHh9Lnl0cC1hZC1vdmVybGF5LWFkLWluZm8tYnV0dG9uLWNvbnRhaW5lciAueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b257aGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdDttYXJnaW46MDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRwLWFkLW92ZXJsYXktYWQtaW5mby1idXR0b24tY29udGFpbmVyIC55dHAtYWQtaG92ZXItdGV4dC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjYpO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6MX0ueXRwLWFkLW92ZXJsYXktYWQtaW5mby1idXR0b24tY29udGFpbmVyIC55dHAtYWQtYnV0dG9ue2N1cnNvcjpwb2ludGVyO2ZpbGwtb3BhY2l0eTouODtoZWlnaHQ6aW5oZXJpdDtvcGFjaXR5Oi45O3dpZHRoOmluaGVyaXQ7LXdlYmtpdC1maWx0ZXI6bm9uZTtmaWx0ZXI6bm9uZTtsaW5lLWhlaWdodDpub3JtYWw7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7dmVydGljYWwtYWxpZ246dG9wfS55dHAtYWQtb3ZlcmxheS1jbG9zZS1jb250YWluZXJ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjE1cHg7bWFyZ2luOjA7cGFkZGluZzo2cHggNnB4IDEwcHggMXB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MTVweH0ueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9ue2JvcmRlcjowO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDtmaWxsLW9wYWNpdHk6Ljg7ZmxvYXQ6cmlnaHQ7aGVpZ2h0OmluaGVyaXQ7b3BhY2l0eTouOTt3aWR0aDppbmhlcml0fS55dHAtYWQtdGV4dC1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXIgLnl0cC1hZC1idXR0b24gc3ZnLC55dHAtYWQtdGV4dC1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1jbG9zZS1idXR0b24gc3Zne2JhY2tncm91bmQ6IzAwMDtmaWxsOiNmZmZ9Lnl0cC1hZC1pbWFnZS1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXIgLnl0cC1hZC1idXR0b24gc3ZnLC55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9uIHN2Z3tiYWNrZ3JvdW5kOiNmZmY7ZmlsbDojNzU3NTc1fS55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9uIHBhdGh7ZmlsbDppbmhlcml0fS55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXI6aG92ZXIgLnl0cC1hZC1idXR0b24sLnl0cC1hZC1vdmVybGF5LWNsb3NlLWNvbnRhaW5lcjpob3ZlciAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9ue2ZpbGwtb3BhY2l0eToxfS55dHAtYWQtb3ZlcmxheS1hdHRyaWJ1dGlvbntib3R0b206OHB4O2NvbG9yOiM4ODg7Y3Vyc29yOnBvaW50ZXI7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MXB4O3BhZGRpbmc6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtb3ZlcmxheS1hdHRyaWJ1dGlvbjpob3Zlcntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktYXR0cmlidXRpb257Y29sb3I6aW5oZXJpdDt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgMCA4cHgscmdiYSgwLDAsMCwuOSkgMCAwIDRweH0ueXRwLWFkLW92ZXJsYXktdGV4dC1pbWFnZXtmbG9hdDpsZWZ0fS55dHAtYWQtb3ZlcmxheS10ZXh0LWltYWdlIGltZ3std2Via2l0LWJveC1zaGFkb3c6MCAzcHggNXB4IHJnYmEoMCwwLDAsLjQ5ODAzOSk7Ym94LXNoYWRvdzowIDNweCA1cHggcmdiYSgwLDAsMCwuNDk4MDM5KTtoZWlnaHQ6NTdweDttYXJnaW46MnB4IDEwcHggMCAwO3dpZHRoOmF1dG87bWluLXdpZHRoOjU3cHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFse2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6NjR9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWJhY2tncm91bmQtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo2NTtib3JkZXI6bm9uZX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6bm9uZTtkaXNwbGF5OmJsb2NrfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1zbG90e3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt6LWluZGV4OjY1fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2Rpc3BsYXk6YmxvY2s7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTE0MHB4O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDo1MCU7d2lkdGg6MjgwcHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJke21hcmdpbi1sZWZ0Oi05MHB4O3dpZHRoOjE4MHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWNhcmQtdW5pZmllZHttYXJnaW4tbGVmdDotMjE1cHg7d2lkdGg6NDMwcHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtY2FyZC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkLXVuaWZpZWR7bWFyZ2luLWxlZnQ6MDtsZWZ0OjA7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjI0NXB4O3BhZGRpbmc6MCAwIDAgMTZweDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtY29udGFpbmVye2N1cnNvcjpwb2ludGVyO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWhlYWRsaW5lLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1oZWFkbGluZS1jb250YWluZXItdW5pZmllZHt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjI4cHggMCAxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWhlYWRsaW5lLWNvbnRhaW5lci11bmlmaWVke3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttYXJnaW46MCBhdXRvIDAgMDtwYWRkaW5nOjEwcHggMH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmV7Y29sb3I6IzMzMztkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MjBweDttYXgtaGVpZ2h0OjIuMmVtO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLXRvcDoxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmV7Zm9udC1zaXplOjE2cHg7bWF4LWhlaWdodDoyLjJlbTtwYWRkaW5nLXRvcDo4cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1oZWFkbGluZXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo0cHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWNvbnRhaW5lcntjdXJzb3I6cG9pbnRlcjtwb2ludGVyLWV2ZW50czphdXRvO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtZGVzY3JpcHRpb24tY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWNvbnRhaW5lci11bmlmaWVke3doaXRlLXNwYWNlOm5vcm1hbDt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjZweCAwIDIycHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1kZXNjcmlwdGlvbi1jb250YWluZXIueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtZGVzY3JpcHRpb24tY29udGFpbmVyLXVuaWZpZWR7ZGlzcGxheTpub25lfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1kZXNjcmlwdGlvbntjb2xvcjojNzY3Njc2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjUwMDttYXgtaGVpZ2h0OjEuMWVtO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9ue2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmctYm90dG9tOjhweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9ue3BhZGRpbmctYm90dG9tOjB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci11bmlmaWVke3BhZGRpbmc6NnB4IDB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOiMxNjdhYzY7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIzcHg7aGVpZ2h0OjQ2cHg7bGluZS1oZWlnaHQ6NDZweDttaW4td2lkdGg6MTY0cHg7cGFkZGluZzowIDIwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9ue2ZvbnQtc2l6ZToxNXB4O2hlaWdodDozNnB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7bWluLXdpZHRoOjEyMHB4fS55dHAtYWRzLXRpbnktbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbntoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O21pbi13aWR0aDowfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tcm91bmRlZHtib3JkZXItcmFkaXVzOjI4cHg7aGVpZ2h0OjU2cHg7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjI4cHg7cGFkZGluZzowIDI0cHg7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXJvdW5kZWR7Zm9udC1zaXplOjE1cHg7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzZweDtwYWRkaW5nOjAgMTZweDtib3JkZXItcmFkaXVzOjE4cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tcm91bmRlZHtoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVye2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87bWF4LXdpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo1MCU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjpub25lO2hlaWdodDoxMjhweDt3aWR0aDoxMjhweH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2V7cG9pbnRlci1ldmVudHM6YXV0bzttYXgtd2lkdGg6MTAwJX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLXVuaWZpZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXJ7aGVpZ2h0OjYwcHg7d2lkdGg6NjBweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lcntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXIueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVyLXVuaWZpZWR7aGVpZ2h0OjY0cHg7d2lkdGg6NjRweDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lci11bmlmaWVke21hcmdpbi1sZWZ0Oi02cHg7cGFkZGluZzo2cHg7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXItdW5pZmllZHtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1iYWNrZ3JvdW5kLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1iYWNrZ3JvdW5kLWNvbnRhaW5lci11bmlmaWVkey13ZWJraXQtZmlsdGVyOmJsdXIoNzBweCk7ZmlsdGVyOmJsdXIoNzBweCl9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLXNsb3QueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtc2xvdC1kYXJrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUwLDUwLDUwLC44KX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtc2xvdC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1zbG90LXVuaWZpZWR7aW5zZXQ6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDUwJSxyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtbGlnaHR7Y29sb3I6I2ZmZn0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyOHB4O2ZvbnQtd2VpZ2h0OjkwMDtsaW5lLWhlaWdodDozNHB4O21heC1oZWlnaHQ6bm9uZTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy10b3A6MDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjkwMDtsaW5lLWhlaWdodDoyNHB4O21heC1oZWlnaHQ6bm9uZTtwYWRkaW5nLXRvcDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoxfS55dHAtYWRzLXRpbnktbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtmb250LXNpemU6MTZweDtwYWRkaW5nLXRvcDoxMnB4O3BhZGRpbmctYm90dG9tOjB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWxpZ2h0e2NvbG9yOiNmZmZ9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLXVuaWZpZWR7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNjIsMTY2LDI1NSk7Y29sb3I6cmdiKDE1LDE1LDE1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjIwcHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi1tb25vLWRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2NvbG9yOnJnYigxNSwxNSwxNSk7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToyMHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tbW9iaWxlLWNvbXBhbmlvbi1zaXple21pbi13aWR0aDowO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmc6MCAxNnB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tdW5pZmllZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYig2MiwxNjYsMjU1KTtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6cmdiKDE1LDE1LDE1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MThweDttaW4td2lkdGg6MDttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzowIDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi02cHggMDtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXVuaWZpZWQgLnl0cC1hZC1idXR0b24tdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVke2JhY2tncm91bmQtY29sb3I6cmdiKDYyLDE2NiwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoxNTBweDtwYWRkaW5nOjAgMTZweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVke2hlaWdodDoyMnB4O2xpbmUtaGVpZ2h0OjEycHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoyMDBweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXVuaWZpZWQtbW9ubzpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDotNnB4IDA7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm8gLnl0cC1hZC1idXR0b24tdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoxNTBweDtwYWRkaW5nOjAgMTZweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97aGVpZ2h0OjIycHg7bGluZS1oZWlnaHQ6MTJweH0ueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVye2JvdHRvbTo0cHg7ZGlzcGxheTpibG9jaztsZWZ0OjZweDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjY1fS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1jb250YWluZXIueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVyLXVwcGVyLXJpZ2h0e2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NHB4O3JpZ2h0OjZweH1zdmcueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd257YmFja2dyb3VuZDpub25lO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoyMHB4O29wYWNpdHk6LjQ7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7d2lkdGg6MjBweH1jaXJjbGUueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tYmFja2dyb3VuZHtmaWxsOm5vbmU7c3Ryb2tlOm5vbmV9Y2lyY2xlLnl0cC1hZC10aW1lZC1waWUtY291bnRkb3duLWlubmVye2ZpbGw6bm9uZTtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6MTBweH1jaXJjbGUueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tb3V0ZXJ7ZmlsbDpub25lO3N0cm9rZTojMDAwO3N0cm9rZS13aWR0aDoxfWNpcmNsZS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1pbm5lci55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1pbm5lci1saWdodHtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfWNpcmNsZS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1vdXRlci55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1vdXRlci1saWdodHtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfS55dHAtYWQtc3VydmV5e3dpZHRoOmF1dG87aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtwYWRkaW5nOjAgMzJweDttYXJnaW46MDtsaW5lLWhlaWdodDpub3JtYWw7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dHAtYWQtc3VydmV5LnJlbGF0aXZlLXBvc2l0aW9uaW5nLXN1cnZleXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojg1MH0ueXRwLWFkLXN1cnZleS1xdWVzdGlvbnN7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1mbGV4LWdyb3c6MTstd2Via2l0LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MCBhdXRvO2hlaWdodDoxMDAlfS55dHAtYWQtc3VydmV5LXF1ZXN0aW9ue2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3BhZGRpbmctdG9wOjA7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWZ9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtcG9zaXRpb246NTAlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjF9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tZm9yZWdyb3VuZHt6LWluZGV4OjJ9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tdGV4dHtjb2xvcjojMTMxMzEzO2ZvbnQtc2l6ZToyMHB4O3RleHQtYWxpZ246bGVmdDt3aWR0aDozMDJweDttYXJnaW4tcmlnaHQ6NDhweDtsaW5lLWhlaWdodDoyOHB4fS55dHAtYWQtc3VydmV5LWFuc3dlcnN7cmlnaHQ6MDt0b3A6MzVweDt3aWR0aDozMDhweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zley13ZWJraXQtZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCV9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmV7Zm9udC1zaXplOjEzLjdweDtoZWlnaHQ6MzVweDtwYWRkaW5nLXRvcDo0JX0ueXRwLWFkLXN1cnZleS1hbnN3ZXJzIC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zle3BhZGRpbmctdG9wOjA7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweDstd2Via2l0LWZsZXg6MCAwIDIwcHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDIwcHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0cC1hZC10b2dnbGUtYnV0dG9uLWlucHV0e2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoyOHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6MDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLWJ1dHRvbjpob3ZlciwueXRwLWFkLXN1cnZleS1hbnN3ZXItdG9nZ2xlLWJ1dHRvbjpob3Zlcntmb250LXdlaWdodDo1MDB9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLWJ1dHRvbnttYXJnaW4tbGVmdDoyNHB4fS55dHAtYWQtc3VydmV5LWFuc3dlciAueXRwLWFkLXRvZ2dsZS1idXR0b24tdG9nZ2xlZHtmb250LXdlaWdodDo1MDB9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLXVudG9nZ2xlZC1pY29uIHN2ZyBwYXRoOmZpcnN0LW9mLXR5cGV7ZmlsbDojNjA2MDYwfS55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9uIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b2dnbGVkLWljb24gc3ZnIHBhdGg6bGFzdC1vZi10eXBle2ZpbGw6IzA0NWVkZH0ueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LXdlYmtpdC1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czphdXRvO2N1cnNvcjpwb2ludGVyfS55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LXN1Ym1pdHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTJweDtyaWdodDowO2hlaWdodDo1MnB4O3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntiYWNrZ3JvdW5kOiMxYjdmY2M7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjEzLjdweDtoZWlnaHQ6MzVweDttYXJnaW4tcmlnaHQ6NnB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6NTZweH0ueXRwLWFkLXN1cnZleS1zdWJtaXQtYnV0dG9uLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbi1yb3VuZGVke2JhY2tncm91bmQ6IzA2NWZkNDtib3JkZXItcmFkaXVzOjE4cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDozNnB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweH0ueXRwLWFkLXBsYXllci1vdmVybGF5LC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LC55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLXBsYXllci1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1za2lwLW9yLXByZXZpZXcsLnl0cC1hZC1zdXJ2ZXktcGxheWVyLW92ZXJsYXktc2tpcC1vci1wcmV2aWV3e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cmlnaHQ6MH0ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWx7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTt6LWluZGV4OjUwMDA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1jb250ZW50c3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbCAueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtY29udGVudHN7aGVpZ2h0OmF1dG99Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLXRleHR7bWFyZ2luLWxlZnQ6MzJweDttYXJnaW4tdG9wOjI1cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiMxMzEzMTM7d2lkdGg6MjcycHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ297YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTstbW96LWJhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlO2hlaWdodDoyNXB4O21hcmdpbi1sZWZ0OjMycHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTA1cHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ28taW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjA7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0O2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjE0cHg7bWluLXdpZHRoOjE2MXB4O3BhZGRpbmc6MTBweDttYXJnaW4tbGVmdDozMnB4O21hcmdpbi10b3A6MjVweDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Ym9yZGVyOjB9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi1yb3VuZGVke2JhY2tncm91bmQtY29sb3I6IzA2NWZkNDtib3JkZXItcmFkaXVzOjE4cHg7aGVpZ2h0OjM2cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO21pbi13aWR0aDowO3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweDt0ZXh0LXRyYW5zZm9ybTpub25lfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjU2cHgpey55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1sb2dve21hcmdpbi1sZWZ0OjQ4cHg7bWFyZ2luLXRvcDoxNXB4fS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC10ZXh0e2ZvbnQtc2l6ZToyMHB4O21hcmdpbi1sZWZ0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257Zm9udC1zaXplOjE4cHg7bWFyZ2luLWxlZnQ6NDhweH0ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXJvdW5kZWR7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWxlZnQ6NDhweH0ueXRwLWFkLXN1cnZleXtwYWRkaW5nOjAgMzJweDt3aWR0aDphdXRvfS55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLXRleHR7Zm9udC1zaXplOjIwcHg7bWFyZ2luLXJpZ2h0OjMycHg7bGluZS1oZWlnaHQ6MjhweDt3aWR0aDphdXRvfS55dHAtYWQtc3VydmV5LWFuc3dlcnN7dG9wOjI0cHg7d2lkdGg6YXV0b30ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmUsLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntoZWlnaHQ6MjJweDtmb250LXNpemU6MTBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjI4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDstd2Via2l0LWZsZXg6MCAwIDIwcHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDIwcHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VycyAueXRwLWFkLXN1cnZleS1ub25lLW9mLXRoZS1hYm92ZXtoZWlnaHQ6NDhweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1zdWJtaXR7Ym90dG9tOjB9Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbnttYXJnaW4tcmlnaHQ6NHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6NDBweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS11c2VyLXNlbnRpbWVudHtkaXNwbGF5Om5vbmV9W2Rpcj1ydGxdIC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXByZXZpZXctY29udGFpbmVye2JvdHRvbTo0MHB4fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyOTRweCkgYW5kIChtaW4taGVpZ2h0OjYzMHB4KXsueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbiwueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtbG9nbywueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtdGV4dHttYXJnaW4tbGVmdDo2NHB4fS55dHAtYWQtc3VydmV5e3dpZHRoOmF1dG87cGFkZGluZzowIDYwcHh9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tdGV4dHtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbi1yaWdodDo0OHB4O3dpZHRoOjM1NHB4fS55dHAtYWQtc3VydmV5LWFuc3dlcnN7dG9wOjM4cHg7d2lkdGg6MzkwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2Vye2hlaWdodDo2MHB4fS55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3ZlLC55dHAtYWQtc3VydmV5LXN1Ym1pdC1idXR0b257aGVpZ2h0OjQ0cHg7Zm9udC1zaXplOjE4LjJweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjMycHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweDstd2Via2l0LWZsZXg6MCAwIDMycHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDMycHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VycyAueXRwLWFkLXN1cnZleS1ub25lLW9mLXRoZS1hYm92ZXtoZWlnaHQ6NjBweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1zdWJtaXR7Ym90dG9tOjI1cHh9Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbnttYXJnaW4tcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6NzBweH19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNzIwcHgpIGFuZCAobWluLWhlaWdodDo5ODBweCl7Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24sLnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ28sLnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLXRleHR7bWFyZ2luLWxlZnQ6OTZweH0ueXRwLWFkLXN1cnZleXt3aWR0aDoxMDAlO3BhZGRpbmc6MH0ueXRwLWFkLXN1cnZleS1xdWVzdGlvbi10ZXh0e2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjQzcHg7bWFyZ2luLXJpZ2h0OjgwcHg7d2lkdGg6NDUwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2Vyc3t0b3A6NTdweDt3aWR0aDo1MDBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0Ojc2cHh9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmUsLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntoZWlnaHQ6NjdweDtmb250LXNpemU6MjcuNHB4fS55dHAtYWQtc3VydmV5LWFuc3dlci1idXR0b24sLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b257Zm9udC1zaXplOjMycHg7bGluZS1oZWlnaHQ6NDNweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItdG9nZ2xlLWJ1dHRvbiAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntoZWlnaHQ6MzJweDt3aWR0aDozMnB4Oy13ZWJraXQtZmxleDowIDAgMzJweDstd2Via2l0LWJveC1mbGV4OjA7ZmxleDowIDAgMzJweDttYXJnaW4tcmlnaHQ6MjBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJzIC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zle2hlaWdodDo3NnB4fS55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LXN1Ym1pdHtib3R0b206NDVweH0ueXRwLWFkLXN1cnZleS1zdWJtaXQtYnV0dG9ue21hcmdpbi1yaWdodDoxMnB4O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MTEwcHh9fS55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXRvZ2dsZS1idXR0b246aG92ZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uLXRvb2x0aXB7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowfS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjcpO2JvdHRvbToxNDdweDtkaXNwbGF5OmlubGluZS1ibG9jaztwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDo4NTB9Lnl0cC1lbWJlZCAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lcntib3R0b206MTM5cHh9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LXNlbGVjdGVkey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtiYWNrZ3JvdW5kOiM0NzgwZWV9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1kaXNsaWtlLWJ1dHRvbiwueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWxpa2UtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjJweDtvcGFjaXR5Oi44O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyMnB4fS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi1sYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWxpa2UtYnV0dG9uIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi1sYWJlbHtwYWRkaW5nOjEycHggMTBweCAxMnB4IDIwcHh9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1kaXNsaWtlLWJ1dHRvbiAueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7cGFkZGluZzoxMnB4IDIwcHggMTJweCAxMHB4fS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbjpob3ZlciAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntvcGFjaXR5OjF9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uLnl0cC1hZC10b2dnbGUtYnV0dG9uLXRvZ2dsZWQgLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257b3BhY2l0eToxfS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2JhY2tncm91bmQ6cmdiYSgzMSwzMSwzMSwuNSk7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjE4cHg7bGV0dGVyLXNwYWNpbmc6MDttYXJnaW46OXB4IDA7cGFkZGluZzo4cHggMTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uOmhvdmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2JvdHRvbTo0NnB4O3JpZ2h0OjIwcHh9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS10b3AtYmFyLWdyYWRpZW50c3tiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLC43NSkgNDAlLHJnYmEoMCwwLDAsMCkgOTklKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoNDAlLHJnYmEoMCwwLDAsLjc1KSksY29sb3Itc3RvcCg5OSUscmdiYSgwLDAsMCwwKSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC43NSkgNDAlLHJnYmEoMCwwLDAsMCkgOTklKTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtib3JkZXItYm90dG9tOm5vbmU7aGVpZ2h0OjQwcHg7d2lkdGg6MTAwJTtvcGFjaXR5Oi44O3RvcDowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbjpiZWZvcmV7Y29udGVudDpub25lfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbnttYXJnaW46YXV0byAxMXB4IGF1dG8gYXV0bztwb2ludGVyLWV2ZW50czphdXRvO3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi10ZXh0e2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDpub3JtYWw7bWFyZ2luOmF1dG8gMDtwYWRkaW5nOjAgNHB4IDVweDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO3RleHQtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjc1KTtjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXBsYXllci1vdmVybGF5LXRvcC1iYXItZ3JhZGllbnRzIC55dHAtdmlkZW8tYWQtdG9wLWJhci10aXRsZXstd2Via2l0LWZsZXg6MTstd2Via2l0LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjc1KTt0ZXh0LWRlY29yYXRpb246bm9uZTtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTRweDttYXgtd2lkdGg6NTAlO2hlaWdodDoxNnB4O2xpbmUtaGVpZ2h0Om5vcm1hbDttYXJnaW46MTBweCA1cHggNXB4IDEwcHg7ei1pbmRleDo4NTA7b3BhY2l0eTouOX0ueXRwLWFkLWNsaWNrYWJsZS1lbGVtZW50OmhvdmVye2N1cnNvcjpwb2ludGVyfS55dHAtYWQtdW5kZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEzMXB4O2xlZnQ6MDtoZWlnaHQ6Y2FsYygxMDAlIC0gMjYycHgpO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dHAtYmlnLW1vZGUgLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMjgwcHgpO3RvcDoxNDBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMjIycHgpO3RvcDoxMTFweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMTUwcHgpO3RvcDo3NXB4fS55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXVuZGVybGF5e2hlaWdodDpjYWxjKDEwMCUgLSAxMjJweCk7dG9wOjYxcHh9Lnl0cC1hZC11bmRlcmxheS1jb21wYW5pb257aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXRwLWFkLXVuZGVybGF5LXNpZGUtY29udGFpbmVye2hlaWdodDoxMDAlO21heC1oZWlnaHQ6MTAwJTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmctdG9wOjEyNXB4O3BhZGRpbmctYm90dG9tOjEyNXB4fS55dHAtYWQtdW5kZXJsYXktbGVmdC1jb250YWluZXJ7bWFyZ2luLWxlZnQ6MiU7cGFkZGluZy1yaWdodDoyJX0ueXRwLWFkLXVuZGVybGF5LXJpZ2h0LWNvbnRhaW5lcnttYXJnaW4tbGVmdDo1Mi41JX0ueXRwLWFkLXVuZGVybGF5LWltYWdlLWNvbnRhaW5lcntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpO2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDo3MnB4O21pbi13aWR0aDo3MnB4O2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi1ib3R0b206MTZweDttYXgtd2lkdGg6MTQ0cHg7bWF4LWhlaWdodDoxNDRweDstd2Via2l0LWZsZXgtc2hyaW5rOjI7ZmxleC1zaHJpbms6MjtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLXVuZGVybGF5LWltYWdle3BvaW50ZXItZXZlbnRzOmF1dG87bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6NTAlfS55dHAtYWQtdW5kZXJsYXktaGVhZGxpbmUtY29udGFpbmVye3dpZHRoOjEwMCU7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWJvdHRvbTo0OHB4fS55dHAtYWQtdW5kZXJsYXktaGVhZGxpbmV7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtc2l6ZToyLjV2dztmb250LXdlaWdodDo3MDA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3dvcmQtd3JhcDpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTYwMHB4KXsueXRwLWFkLXVuZGVybGF5LWhlYWRsaW5le2ZvbnQtc2l6ZTo0MHB4fX0ueXRwLWFkLXVuZGVybGF5LWRlc2NyaXB0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNzUpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxNnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3BhZGRpbmctYm90dG9tOjQwcHh9Lnl0cC1hZC11bmRlcmxheS1kZXNjcmlwdGlvbi1jb250YWluZXJ7LXdlYmtpdC1mbGV4LXNocmluazoxO2ZsZXgtc2hyaW5rOjF9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLXVuZGVybGF5LWNsaWNrYWJsZXt6LWluZGV4Ojg1MH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMwMzAzMDM7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxOHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6MTJweDtoZWlnaHQ6MzZweH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tbWVkaXVte2JvcmRlci1yYWRpdXM6MjRweDtmb250LXNpemU6MThweDtwYWRkaW5nLWxlZnQ6MTZweDtwYWRkaW5nLXJpZ2h0OjE2cHg7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLWxhcmdle2JvcmRlci1yYWRpdXM6MzJweDtmb250LXNpemU6MjJweDtwYWRkaW5nLWxlZnQ6MjRweDtwYWRkaW5nLXJpZ2h0OjI0cHg7aGVpZ2h0OjY0cHh9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U5ZTllOX0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7Y29sb3I6IzAzMDMwMztib3JkZXItcmFkaXVzOjJweH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NmI4ZmZ9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b246Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoycHggc29saWQgI2ZmZjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmZ9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZTpmb2N1c3tvdXRsaW5lOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjM2VhNmZmO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6IzNlYTZmZn0uaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmd7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIDEuNXMsaGVpZ2h0IDEuNXMsbGVmdCAxLjVzLHRvcCAxLjVzO3RyYW5zaXRpb246d2lkdGggMS41cyxoZWlnaHQgMS41cyxsZWZ0IDEuNXMsdG9wIDEuNXN9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLXRyYW5zaXRpb257ei1pbmRleDotMX0uY29sb3ItY29udHJhc3QtZml4Lnl0cC1hZC1zdXJ2ZXl7YmFja2dyb3VuZC1jb2xvcjpibGFja30uY29sb3ItY29udHJhc3QtZml4IC55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLWJhY2tncm91bmR7b3BhY2l0eTo2MCV9LmNvbG9yLWNvbnRyYXN0LWZpeCAueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC5jb2xvci1jb250cmFzdC1maXggLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24sLmNvbG9yLWNvbnRyYXN0LWZpeCAueXRwLWFkLXN1cnZleS1xdWVzdGlvbi10ZXh0e2NvbG9yOndoaXRlfS5jb2xvci1jb250cmFzdC1maXggLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLXVudG9nZ2xlZC1pY29uIHN2ZyBwYXRoOmZpcnN0LW9mLXR5cGV7ZmlsbDp3aGl0ZX0ueXRwLWFkLWJhZGdle2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IsK3IjtwYWRkaW5nLWlubGluZTo0cHh9Lnl0cC1hZC1iYWRnZV9fcG9kLWluZGV4OmJlZm9yZXtjb250ZW50OiLCtyI7cGFkZGluZy1pbmxpbmU6NHB4IDNweH0ueXRwLWFkLWJhZGdlLS1zdGFya3tjb2xvcjojZmZmO29wYWNpdHk6Ljc1O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjI4cHh9Lnl0cC1hZC1iYWRnZS0tc3RhcmsgLnl0cC1hZC1iYWRnZV9fdGV4dHtmb250LXdlaWdodDo3MDB9Lnl0cC1hZC1iYWRnZS0tY2xlYW4tcGxheWVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWJhZGdlLS1zdGFyay1jbGVhbi1wbGF5ZXJ7Y29sb3I6I2ZmZjtvcGFjaXR5OjE7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjhweDt0ZXh0LXNoYWRvdzowIDAgOHB4IHJnYmEoMCwwLDAsLjUpO2xldHRlci1zcGFjaW5nOi4zNXB4fS55dHAtYWQtYmFkZ2UtLXN0YXJrLWNsZWFuLXBsYXllciAueXRwLWFkLWJhZGdlX190ZXh0LS1jbGVhbi1wbGF5ZXJ7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMTZweCByZ2JhKDAsMCwwLC41KX0ueXRwLWFkLWJhZGdlLS1zdGFyay1jbGVhbi1wbGF5ZXItaW9ze2xldHRlci1zcGFjaW5nOi4xcHh9Lnl0cC1hZC1ncmlkLWNhcmQtY29sbGVjdGlvbntkaXNwbGF5OmdyaWQ7Z2FwOjhweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsbWlubWF4KDAsMWZyKSl9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dHttYXgtd2lkdGg6NTAwcHg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjE7LXdlYmtpdC1hbGlnbi1zZWxmOnN0cmV0Y2g7YWxpZ24tc2VsZjpzdHJldGNoOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fYnV0dG9ue21hcmdpbjoxMnB4IDE2cHggMTJweCAxMnB4fS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTtmbGV4LWdyb3c6MTttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi10b3A6MTJweDttYXJnaW4tYm90dG9tOjEycHg7bWluLXdpZHRoOjB9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2hlYWRsaW5le2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47bWF4LWhlaWdodDoxLjhyZW07LXdlYmtpdC1saW5lLWNsYW1wOjE7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2Rlc2NyaXB0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhX19kZXNjcmlwdGlvbiA6Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjFweDt3aWR0aDotd2Via2l0LW1heC1jb250ZW50O3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnR9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2Rlc2NyaXB0aW9uIDpub3QoOmZpcnN0LWNoaWxkKXstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxfS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhX19kZXNjcmlwdGlvbl9fbGluZXtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0ueXRwLWFkLXBvZC1pbmRleHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTppbmxpbmUtZmxleDtsZWZ0OjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1hZC1wb2QtaW5kZXg6YmVmb3Jle2NvbnRlbnQ6IuKAoiI7cGFkZGluZy1pbmxpbmU6NHB4IDNweH0ueXRwLWFkLXBvZC1pbmRleC0tc3Rhcmt7Y29sb3I6I2ZmZjtvcGFjaXR5OjE7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0OjI4cHg7dGV4dC1zaGFkb3c6MCAwIDE2cHggcmdiYSgwLDAsMCwuNSk7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWFkLXBvZC1pbmRleC0tbXdlYntmb250LXdlaWdodDo2MDB9Lnl0cC1hZC1wb2QtaW5kZXgtLW13ZWItaW9ze2xldHRlci1zcGFjaW5nOi0uMnB4fS55dHAtYXV0b2hpZGUgLnl0cC1hZC1wb2QtaW5kZXgtLWF1dG9oaWRle2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0cC1hZC1idXR0b24tdm17ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Zm9udC13ZWlnaHQ6NTAwO2JvcmRlcjpub25lOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtYWQtYnV0dG9uLXZtX190ZXh0e3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWFkLWJ1dHRvbi12bV9faWNvbnstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0e2hlaWdodDozMnB4O2xpbmUtaGVpZ2h0OjMycHg7Ym9yZGVyLXJhZGl1czoxNnB4O2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmc6MCAxMnB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWNvbXBhY3QgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0IC55dHAtYWQtYnV0dG9uLXZtX19pY29uLS10cmFpbGluZ3std2Via2l0LW1hcmdpbi1zdGFydDo0cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7LXdlYmtpdC1tYXJnaW4tZW5kOi00cHg7bWFyZ2luLWlubGluZS1lbmQ6LTRweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0IC55dHAtYWQtYnV0dG9uLXZtX19pY29uLS1sZWFkaW5ney13ZWJraXQtbWFyZ2luLXN0YXJ0Oi00cHg7bWFyZ2luLWlubGluZS1zdGFydDotNHB4Oy13ZWJraXQtbWFyZ2luLWVuZDo0cHg7bWFyZ2luLWlubGluZS1lbmQ6NHB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHR7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjE4cHg7Zm9udC1zaXplOjE0cHg7cGFkZGluZzowIDE2cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtZGVmYXVsdCAueXRwLWFkLWJ1dHRvbi12bV9faWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHQgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLXRyYWlsaW5ney13ZWJraXQtbWFyZ2luLXN0YXJ0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjZweDstd2Via2l0LW1hcmdpbi1lbmQ6LTZweDttYXJnaW4taW5saW5lLWVuZDotNnB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHQgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLWxlYWRpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6LTZweDttYXJnaW4taW5saW5lLXN0YXJ0Oi02cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjZweDttYXJnaW4taW5saW5lLWVuZDo2cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2V7aGVpZ2h0OjQ4cHg7bGluZS1oZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjI0cHg7Zm9udC1zaXplOjE4cHg7cGFkZGluZzowIDI0cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2UgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1sYXJnZSAueXRwLWFkLWJ1dHRvbi12bV9faWNvbi0tdHJhaWxpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6OHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6OHB4Oy13ZWJraXQtbWFyZ2luLWVuZDotOHB4O21hcmdpbi1pbmxpbmUtZW5kOi04cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2UgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLWxlYWRpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6LThweDttYXJnaW4taW5saW5lLXN0YXJ0Oi04cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLXRyYW5zcGFyZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtdHJhbnNwYXJlbnQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yKX0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtZmlsbGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDU1NmJmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQtd2hpdGV7Y29sb3I6IzBmMGYwZjtiYWNrZ3JvdW5kLWNvbG9yOiNmMWYxZjF9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLWZpbGxlZC13aGl0ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkOWQ5ZDl9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLWZpbGxlZC13aGl0ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZDlkOWQ5fS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQtZGFya3tiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7Y29sb3I6cmdiKDE1LDE1LDE1KX0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtZmlsbGVkLWRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNjViOGZmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1tb25vLWZpbGxlZHtjb2xvcjojZjFmMWYxO2JhY2tncm91bmQtY29sb3I6IzBmMGYwZn0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtbW9uby1maWxsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojM2YzZjNmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1tb25vLWZpbGxlZDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojM2YzZjNmfS55dHAtYWQtYnV0dG9uLXZtLS1pY29uLW9ubHl7cGFkZGluZzowfS55dHAtYWQtYnV0dG9uLXZtLS1pY29uLW9ubHkgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtwYWRkaW5nOjAgNnB4fS55dHAtYWQtZGlzY2xvc3VyZS1iYW5uZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjZmJjMDJkO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweH0ueXRwLWFkLWRpc2Nsb3N1cmUtYmFubmVyX190ZXh0e2JhY2tncm91bmQ6bm9uZTtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxZW07cGFkZGluZzo4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtZGlzY2xvc3VyZS1iYW5uZXJfX2NoZXZyb257LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWFkLW5vdGlmaWNhdGlvbi1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC40KTtib3R0b206ODZweDtjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNnB4O2hlaWdodDo1MnB4O2xpbmUtaGVpZ2h0OjUycHg7bWluLXdpZHRoOjgwcHg7b3BhY2l0eToxO3BhZGRpbmc6MCAyMHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3otaW5kZXg6NDV9Lnl0cC1lbWJlZCAueXRwLWFkLW5vdGlmaWNhdGlvbi1jb250YWluZXJ7Ym90dG9tOjc4cHh9Lnl0cC1hZC1ub3RpZmljYXRpb24tY29udGFpbmVyW2FyaWEtaGlkZGVuPXRydWVdey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO29wYWNpdHk6MH0ueXRwLWJpZy1tb2RlIC55dHAtYWQtbm90aWZpY2F0aW9uLWNvbnRhaW5lcntib3R0b206OTVweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1ub3RpZmljYXRpb24tY29udGFpbmVye2JvdHRvbToyNXB4fS55dHAtcHJldmlldy1hZHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIycHg7Ym90dG9tOjk1cHg7ei1pbmRleDoxMDAwOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtjdXJzb3I6ZGVmYXVsdDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtcHJldmlldy1hZFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcHJldmlldy1hZF9fdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouMXB4O3BhZGRpbmc6MCA4cHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOnByZTt3aWR0aDphdXRvfS55dHAtcHJldmlldy1hZF9fdGV4dC0tZm9udC0tc21hbGx7Zm9udC1zaXplOjEycHg7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjB9Lnl0cC1wcmV2aWV3LWFkX190ZXh0LS1wYWRkaW5nLS13aWRle3BhZGRpbmc6MCAxNHB4fS55dHAtcHJldmlldy1hZF9faW1hZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjY1cHg7aGVpZ2h0OjM2cHg7LW8tb2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtZml0OmNvdmVyfS55dHAtYmlnLW1vZGUgLnl0cC1wcmV2aWV3LWFke3JpZ2h0OjQwcHg7Ym90dG9tOjEwNHB4fS55dHAtc21hbGwtbW9kZSAueXRwLXByZXZpZXctYWR7cmlnaHQ6MTJweDtib3R0b206NzVweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1wcmV2aWV3LWFke3JpZ2h0OjE2cHg7Ym90dG9tOjM5cHh9Lnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtcHJldmlldy1hZHtib3R0b206MjVweH0ueXRwLWF1dG9oaWRlIC55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLWF1dG9oaWRle2Rpc3BsYXk6bm9uZX0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRze2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJ7aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDoxMDAlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otanVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZy1sZWZ0OjY0cHg7cGFkZGluZy1yaWdodDo2NHB4O21hcmdpbi1sZWZ0OmNhbGMoNjAlICsgMTZweCl9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2hlYWRlcntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otanVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4O21hcmdpbi1ib3R0b206MjRweH0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRzX19jb250ZW50X2NvbnRhaW5lcl9faGVhZGVyX19hZF9hdmF0YXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tcmlnaHQ6MTZweH0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRzX19jb250ZW50X2NvbnRhaW5lcl9faGVhZGVyX19oZWFkbGluZXtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MjRweDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjE7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2FkX2J1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjI0cHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6NTAwcHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2FkX2dyaWRfY2FyZF9jb2xsZWN0aW9ue3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4O292ZXJmbG93OmhpZGRlbiBhdXRvfS55dHAtZGlzcGxheS11bmRlcmxheS10ZXh0LWdyaWQtY2FyZHNfX2NvbnRlbnRfY29udGFpbmVyX19hZF9idXR0b24+YnV0dG9ue3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtZGlzcGxheS11bmRlcmxheS10ZXh0LWdyaWQtY2FyZHMgLnl0cC1hZC1hdmF0YXItLXNpemUtcmVzcG9uc2l2ZXt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dHAtaW1hZ2UtYmFja2dyb3VuZC0tZ3JhZGllbnQtdmVydGljYWx7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDUwJSxyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjEycHg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjk1KTtjdXJzb3I6cG9pbnRlcjttYXgtd2lkdGg6NDAwcHg7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuNXMsbWF4LXdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZC0tbGFyZ2V7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7bWluLXdpZHRoOjIwMHB4fS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1sYXJnZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1pbmFjdGl2ZXstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7d2lkdGg6MDttYXgtd2lkdGg6MH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fYXZhdGFyX2FuZF90ZXh0X2NvbnRhaW5lci0tbGFyZ2V7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1hbGlnbi1zZWxmOnN0YXJ0O2FsaWduLXNlbGY6c3RhcnR9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2FkX2F2YXRhci0tbGFyZ2V7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcn0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fdGV4dF9jb250YWluZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MCAyMHB4IDAgOHB4O21heC13aWR0aDoxOTJweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2hlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7Y29sb3I6IzBmMGYwZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMHB4O2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWw7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19oZWFkbGluZS0tbGFyZ2V7Y29sb3I6I2RkZH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb257Y29sb3I6IzYwNjA2MDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24tLWxhcmdle2NvbG9yOiNkZGR9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQgLnl0cC1hZC1idXR0b24tdm17bWF4LXdpZHRoOjE0MHB4fS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19idXR0b24tLWxhcmdle21hcmdpbi10b3A6OHB4O21pbi13aWR0aDoxMDAlOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiMwZjBmMGY7YmFja2dyb3VuZC1jb2xvcjojM2VhNmZmfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19idXR0b24tLWxhcmdlOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzY1YjhmZn0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJke29wYWNpdHk6Ljg2O3BhZGRpbmc6OHB4O21pbi1oZWlnaHQ6NDBweDttYXgtd2lkdGg6MTkwcHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1sYXJnZSwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQtLWxhcmdle21pbi13aWR0aDphdXRvfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZC0taW5hY3RpdmUsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1pbmFjdGl2ZXt3aWR0aDowO21heC13aWR0aDowfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZCAueXRwLWFkLWJ1dHRvbi12bSwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQgLnl0cC1hZC1idXR0b24tdm17ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9faGVhZGxpbmUsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19oZWFkbGluZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24sLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19kZXNjcmlwdGlvbntmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24tLWhpZGRlbi0taW4tLXNtYWxsLS1wbGF5ZXIsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19kZXNjcmlwdGlvbi0taGlkZGVuLS1pbi0tc21hbGwtLXBsYXllcntkaXNwbGF5Om5vbmV9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX190ZXh0X2NvbnRhaW5lciwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX3RleHRfY29udGFpbmVye3BhZGRpbmc6MCA0cHggMCA2cHg7bWF4LXdpZHRoOjE0NnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSk7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2hlYWRsaW5le2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXByaW1hcnksI2ZmZil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2Rlc2NyaXB0aW9ue2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC43KSl9Lnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0zcHg7d2lkdGg6MTAwJTtoZWlnaHQ6M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMik7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3otaW5kZXg6Mzh9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1wcm9ncmVzcy1iYXIgLnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXIsLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBlcnNpc3RlbnQtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntvcGFjaXR5OjE7Ym90dG9tOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYWQtcGxheWVyLW92ZXJsYXktcHJvZ3Jlc3MtYmFyIC55dHAtYWQtcGVyc2lzdGVudC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6IzIyMjtoZWlnaHQ6NHB4fS55dHAtYWQtcGxheWVyLW92ZXJsYXktcHJvZ3Jlc3MtYmFyIC55dHAtYWQtcGVyc2lzdGVudC1wcm9ncmVzcy1iYXItY29udGFpbmVyLS1jbGVhbi1wbGF5ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjIyO2hlaWdodDozcHh9Lnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjA7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmMwfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWluaXBsYXllci1hbHRlcm5hdGUtdWkgLnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7bGVmdDoxMnB4O2JvdHRvbToxMnB4fS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTo2NXB4O2N1cnNvcjpkZWZhdWx0O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNzUpO3otaW5kZXg6ODUwOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC1hZC1kdXJhdGlvbi1yZW1haW5pbmd7bWFyZ2luLWxlZnQ6MH0ueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTo5NXB4O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6ODUwO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX3NraXAtb3ItcHJldmlldy1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czowO2JvdHRvbTphdXRvO2N1cnNvcjpkZWZhdWx0O2hlaWdodDphdXRvO2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0MnB4O3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0IC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7ei1pbmRleDoyN30ueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lcntib3R0b206NzRweDtsZWZ0OjQwcHh9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2xlZnQ6NDBweDtib3R0b206MTA0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtZGlzY2xvc3VyZS1iYW5uZXItY29udGFpbmVye2xlZnQ6NDBweDt0b3A6NjRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2xlZnQ6MTJweDtib3R0b206NDVweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX3BsYXllci1jYXJkLWNvbnRhaW5lcntsZWZ0OjEycHg7Ym90dG9tOjc1cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7bGVmdDoxMnB4O3RvcDoxMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lcntib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAuYWQtc2ltcGxlLWF0dHJpYnV0ZWQtc3RyaW5nLC55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLXBvZC1pbmRleCwueXRwLWRlbGhpLW1vZGVybiAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmtfX3RleHR7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLWJ1dHRvbnstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA1MHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyA1MHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAuYWQtc2ltcGxlLWF0dHJpYnV0ZWQtc3RyaW5nLC55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC1hZC1wb2QtaW5kZXgsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLXZpc2l0LWFkdmVydGlzZXItbGlua19fdGV4dHt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLWJ1dHRvbnstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNTBweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyA1MHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2xlZnQ6MTZweDtib3R0b206OXB4fS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWVudS1zaG93biAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2xlZnQ6MTZweDtib3R0b206MzlweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWRpc2Nsb3N1cmUtYmFubmVyLWNvbnRhaW5lcntsZWZ0OjE2cHg7dG9wOjE2cHh9Lnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVyLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbToxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTo0NXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOjNweHZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpMjRweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc21hbGwtbW9kZS55dHAtYXV0b2hpZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVyLC55dHAtc21hbGwtbW9kZS55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIsLnl0cC1zbWFsbC1tb2RlLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXJ7Ym90dG9tOjdweH0ueXRwLXNtYWxsLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOjM3cHh9Lnl0cC1hZC1hdmF0YXItLXNpemUteHhze3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0cC1hZC1hdmF0YXItLXNpemUteHN7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLWFkLWF2YXRhci0tc2l6ZS1ze3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9Lnl0cC1hZC1hdmF0YXItLXNpemUtbXt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtYWQtYXZhdGFyLS1zaXplLWx7d2lkdGg6NTZweDtoZWlnaHQ6NTZweH0ueXRwLWFkLWF2YXRhci0tc2l6ZS14bHt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtYWQtYXZhdGFyLS1jaXJjdWxhcntib3JkZXItcmFkaXVzOjUwJX0ueXRwLWFkLWF2YXRhci0tcm91bmRlZC1jb3JuZXJ7Ym9yZGVyLXJhZGl1czoyMCV9Lnl0cC1hZC1kZXRhaWxzLWxpbmV7ZGlzcGxheTpibG9ja30ueXRwLWFkLWRldGFpbHMtbGluZV9fdGV4dC0tc3R5bGUtc3RhbmRhcmR7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXR7ei1pbmRleDo2NDtiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3Zlcn0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2JhY2tncm91bmQtaW1hZ2UtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo2NTtib3JkZXI6bm9uZX0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXQgLnl0cC1pbWFnZS1iYWNrZ3JvdW5kLWltYWdle2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjpub25lO2Rpc3BsYXk6YmxvY2t9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50e3otaW5kZXg6NjU7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjB9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXB7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTpibG9jaztsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6NTAlO21hcmdpbi1sZWZ0Oi0yMTVweDt3aWR0aDo0MzBweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2FkLWF2YXRhci1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmUtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG99Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2hlYWRsaW5le3BhZGRpbmc6MjhweCAwIDEwcHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjhweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MzRweDttYXgtaGVpZ2h0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjJ9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2RldGFpbHMtbGluZS1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG99Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2FkLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzo2cHggMDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2luc3RyZWFtLWluZm8tY29udGFpbmVye2JvdHRvbTo2cHg7Y3Vyc29yOmRlZmF1bHQ7bGVmdDoxOHB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSk7ei1pbmRleDo4NTA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dCAueXRwLWFkLWJhZGdlOmFmdGVye3BhZGRpbmctcmlnaHQ6dW5zZXR9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYmFkZ2V7bWFyZ2luLWxlZnQ6NXB4fS55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dCAueXRwLWFkLWRldGFpbHMtbGluZXtwYWRkaW5nOjZweCAwIDIycHh9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYnV0dG9uLXZtOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi02cHggMDtjdXJzb3I6cG9pbnRlcn0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX3RpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVye2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NHB4O3JpZ2h0OjZweDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NjV9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYXZhdGFyLS1zaXplLXJlc3BvbnNpdmV7d2lkdGg6NjRweDtoZWlnaHQ6NjRweH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXQgLnl0cC1hZC1kZXRhaWxzLWxpbmVfX3RleHQtLXN0eWxlLXJlc3BvbnNpdmV7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLXNtYWxsLW1vZGUgLnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXB7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTpibG9jazt0b3A6NTAlO3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi1sZWZ0OjA7bGVmdDowO3RleHQtYWxpZ246bGVmdDt3aWR0aDoyNDVweDtwYWRkaW5nOjAgMCAwIDE2cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9Lnl0cC1zbWFsbC1tb2RlIC55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dF9fY29udGVudF9fbG9ja3VwX19hZC1hdmF0YXItY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOjAgYXV0byAwIC02cHg7cGFkZGluZzo2cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6LXdlYmtpdC1tYXgtY29udGVudDt3aWR0aDotbW96LW1heC1jb250ZW50O3dpZHRoOm1heC1jb250ZW50fS55dHAtc21hbGwtbW9kZSAueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmUtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG8gMCAwfS55dHAtc21hbGwtbW9kZSAueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmV7cGFkZGluZzoxMHB4IDA7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MjRweDttYXgtaGVpZ2h0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjF9Lnl0cC1zbWFsbC1tb2RlIC55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dF9fY29udGVudF9fbG9ja3VwX19kZXRhaWxzLWxpbmUtY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLXNtYWxsLW1vZGUgLnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYXZhdGFyLS1zaXplLXJlc3BvbnNpdmV7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLXNraXAtYWR7ei1pbmRleDo4NTB9Lnl0cC1za2lwLWFkLWJ1dHRvbntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztib3JkZXI6bm9uZTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2NvbG9yOiNmZmY7ZGlyZWN0aW9uOmx0cjttaW4td2lkdGg6MDtwYWRkaW5nOjAgNnB4IDAgMTZweDt3aWR0aDphdXRvO3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIycHg7Ym90dG9tOjk1cHg7ei1pbmRleDoxMDAwOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLXNraXAtYWQtYnV0dG9uW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1za2lwLWFkLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgyNTUsMjU1LDI1NSwuMikpLHRvKHJnYmEoMjU1LDI1NSwyNTUsLjIpKSksLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2IoMTUsMTUsMTUpKSx0byhyZ2IoMTUsMTUsMTUpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4yKSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSksLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiKDE1LDE1LDE1KSxyZ2IoMTUsMTUsMTUpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4yKSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSksbGluZWFyLWdyYWRpZW50KHJnYigxNSwxNSwxNSkscmdiKDE1LDE1LDE1KSl9Lnl0cC1za2lwLWFkLWJ1dHRvbjpmb2N1c3tiYWNrZ3JvdW5kOnJnYigxNSwxNSwxNSk7b3V0bGluZTpub25lOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ueXRwLXNraXAtYWQtYnV0dG9uOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggIzBmMGYwZjtib3gtc2hhZG93OjAgMCAwIDJweCAjMGYwZjBmO2NvbG9yOiMwZjBmMGZ9Lnl0cC1za2lwLWFkLWJ1dHRvbjpmb2N1cy12aXNpYmxlIC55dHAtc2tpcC1hZC1idXR0b25fX2ljb24gc3ZnIHBhdGh7ZmlsbDojMGYwZjBmfS55dHAtc2tpcC1hZC1idXR0b25fX3RleHR7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0Om5vcm1hbDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1za2lwLWFkLWJ1dHRvbl9faWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9ue2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9uOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2tpcC1hZC1idXR0b246YWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyLHJnYmEoMjU1LDI1NSwyNTUsLjIpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1za2lwLWFkLWJ1dHRvbntib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHggKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1za2lwLWFkLWJ1dHRvbiBzdmd7cGFkZGluZzo2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNraXAtYWQtYnV0dG9ue3JpZ2h0OjQwcHg7Ym90dG9tOjEwNHB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9ue2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtc2tpcC1hZC1idXR0b257Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KXZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtc2tpcC1hZC1idXR0b257Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1za2lwLWFkLWJ1dHRvbntyaWdodDoxMnB4O2JvdHRvbTo3NXB4fS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWVudS1zaG93biAueXRwLXNraXAtYWQtYnV0dG9ue3JpZ2h0OjE2cHg7Ym90dG9tOjM5cHh9c3ZnLnl0cC10aW1lZC1waWUtY291bnRkb3due2JhY2tncm91bmQ6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6MjBweDtvcGFjaXR5Oi40Oy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3dpZHRoOjIwcHh9Y2lyY2xlLnl0cC10aW1lZC1waWUtY291bnRkb3duX19iYWNrZ3JvdW5ke3N0cm9rZTpub25lO2ZpbGw6bm9uZX1jaXJjbGUueXRwLXRpbWVkLXBpZS1jb3VudGRvd25fX2lubmVye2ZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTBweDtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfWNpcmNsZS55dHAtdGltZWQtcGllLWNvdW50ZG93bl9fb3V0ZXJ7ZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZTpyZ2JhKDI1NSwyNTUsMjU1LC43NSl9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmt7Y29sb3I6I2ZmZjtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4tbGVmdDoxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LWFsaWduOmJhc2VsaW5lOy13ZWJraXQtYWxpZ24taXRlbXM6YmFzZWxpbmU7YWxpZ24taXRlbXM6YmFzZWxpbmV9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbms6YmVmb3Jle2NvbnRlbnQ6IiI7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6LThweH0ueXRwLXZpc2l0LWFkdmVydGlzZXItbGluazpob3ZlciAueXRwLXZpc2l0LWFkdmVydGlzZXItbGlua19fdGV4dHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmtfX3RleHR7Y29sb3I6I2ZmZjtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eToxO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93OjAgMCAxNnB4IHJnYmEoMCwwLDAsLjUpO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dHAtaXYtdmlkZW8tY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLWl2LXZpZGVvLWNvbnRlbnQgLnZpZGVvLWFubm90YXRpb25ze2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyMDt3aWR0aDoxMDAlfS5hbm5vdGF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiMwMDA7cGFkZGluZzo1cHg7dGV4dC1hbGlnbjpsZWZ0O3dvcmQtd3JhcDpicmVhay13b3JkO3otaW5kZXg6MDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnZpZGVvLWxlZ2FjeS1hbm5vdGF0aW9ucyAuYW5ub3RhdGlvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCk7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0uYW5ub3RhdGlvbi1jbG9zZS1idXR0b257LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MTZweDtsZWZ0OjA7b3BhY2l0eTouODU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTZweH0uYW5ub3RhdGlvbi1jbG9zZS1idXR0b246aG92ZXJ7b3BhY2l0eToxfS5hbm5vdGF0aW9uLWxpbmstaWNvbnstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb250YWluO2JhY2tncm91bmQtc2l6ZTpjb250YWluO3Bvc2l0aW9uOmFic29sdXRlfS5hbm5vdGF0aW9uLXR5cGUtY3VzdG9te3BhZGRpbmc6MDtjdXJzb3I6ZGVmYXVsdH0uYW5ub3RhdGlvbi10eXBlLWN1c3RvbT5kaXZ7ZmxvYXQ6bGVmdDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5pdi1jbGljay10YXJnZXR7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1vdmVybGF5LW9wZW4gLml2LWJyYW5kaW5nLC55dHAtYWQtb3ZlcmxheS1vcGVuIC5pdi1wcm9tb3tkaXNwbGF5Om5vbmV9Lml2LWJyYW5kaW5ne2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDozMDtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi4zM3M7dHJhbnNpdGlvbi1kZWxheTouMzNzfS55dHAtaXYtZHJhd2VyLW9wZW4gLml2LWJyYW5kaW5ne29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1jb250ZXh0LWNvbnRhaW5lci1vdXRlcntib3R0b206MDtmbG9hdDpsZWZ0O3BhZGRpbmctcmlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtYnJhbmRpbmcgLmJyYW5kaW5nLWNvbnRleHQtY29udGFpbmVyLWlubmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7Ym90dG9tOjA7Y29sb3I6I2VlZTttYXgtd2lkdGg6MjQ2cHg7b3BhY2l0eTowO3JpZ2h0OjA7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci1yYWRpdXM6OHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0uaXYtYnJhbmRpbmctYWN0aXZlIC5icmFuZGluZy1jb250ZXh0LWNvbnRhaW5lci1pbm5lcntvcGFjaXR5OjE7Ym9yZGVyLXJhZGl1czo4cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1pbWctY29udGFpbmVyIGltZ3tkaXNwbGF5OmJsb2NrO29wYWNpdHk6Ljc7cG9zaXRpb246cmVsYXRpdmV9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1pbWctY29udGFpbmVye2Zsb2F0OnJpZ2h0fS5pdi1icmFuZGluZyBpbWcuaXYtY2xpY2stdGFyZ2V0OmhvdmVye29wYWNpdHk6MX0uaXYtYnJhbmRpbmcgLml2LWJyYW5kaW5nLWNvbnRleHQtbmFtZXttYXgtd2lkdGg6MjE1cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDEwcHggNXB4fS5pdi1icmFuZGluZyAuaXYtYnJhbmRpbmctY29udGV4dC1zdWJzY3JpYmV7cGFkZGluZzowIDEwcHggMTBweDtmb250LXNpemU6MTFweDtjb2xvcjojYWFhfS5pdi1icmFuZGluZyAuaXYtYnJhbmRpbmctY29udGV4dC1zdWJzY3JpYmUtY2FyZXR7ZGlzcGxheTpub25lfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tcmlnaHQgLml2LWJyYW5kaW5ne3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lml2LXByb21vLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucywuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzLC5pdi1wcm9tbyAuaXYtcHJvbW8tY29udGVudHM+YSwuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzPmRpdiwuaXYtcHJvbW8gLml2LXByb21vLWltZywuaXYtcHJvbW8gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQwcHh9Lml2LXByb21ve2JvdHRvbTo2MXB4O2xlZnQ6MDt6LWluZGV4OjMxO21heC13aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2NjYztmb250LXNpemU6MTFweDt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZW1iZWQgLml2LXByb21ve2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLml2LXByb21ve2JvdHRvbTo3MHB4fS5odG1sNS12aWRlby1wbGF5ZXIuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjg2cHh9Lnl0cC1lbWJlZC5odG1sNS12aWRlby1wbGF5ZXIuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjc4cHh9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtYmlnLW1vZGUuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjk1cHh9Lml2LXByb21vOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOSl9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cz5hLC5pdi1wcm9tbyAuaXYtcHJvbW8tY29udGVudHM+ZGl2LC5pdi1wcm9tbz5kaXZ7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZSFpbXBvcnRhbnQ7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzPmF7Y29sb3I6I2NjY30uaXYtcHJvbW8uaXYtcHJvbW8taW5hY3RpdmV7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1ne2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtcHJvbW8gLml2LXByb21vLWltZywuaXYtcHJvbW8gLml2LXByb21vLWltZyBpbWd7ei1pbmRleDoxO3dpZHRoOjQwcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHAsLml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHN0cm9uZywuaXYtcHJvbW8gLml2LXByb21vLWltZyAuaXYtcHJvbW8tcGxheWxpc3QtbGVuZ3RoLC5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby12aWRlby1kdXJhdGlvbntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby1iYWRnZS1saXZle21hcmdpbjo0cHggOHB4IDA7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JhY2tncm91bmQtY29sb3I6I2U2MjExNztjb2xvcjojZmZmfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby1wbGF5bGlzdC1sZW5ndGgsLml2LXByb21vIC5pdi1wcm9tby1pbWcgLml2LXByb21vLXZpZGVvLWR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby1wbGF5bGlzdC1sZW5ndGh7dG9wOjA7cmlnaHQ6MDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMjUpO3dpZHRoOjMwcHg7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDo0MHB4fS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby12aWRlby1kdXJhdGlvbntib3R0b206MnB4O3JpZ2h0OjJweDtwYWRkaW5nOjNweCAycHg7bWF4LXdpZHRoOjMycHg7YmFja2dyb3VuZC1jb2xvcjojMDAwO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEwcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50c3twYWRkaW5nLXJpZ2h0OjMxcHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6MzExcHg7LXdlYmtpdC10cmFuc2l0aW9uOm1heC13aWR0aCAuMnMgZWFzZS1vdXQscGFkZGluZy1yaWdodCAuMnMgZWFzZS1vdXQ7dHJhbnNpdGlvbjptYXgtd2lkdGggLjJzIGVhc2Utb3V0LHBhZGRpbmctcmlnaHQgLjJzIGVhc2Utb3V0fS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nKy5pdi1wcm9tby1jb250ZW50c3twYWRkaW5nLWxlZnQ6NDBweDttYXgtd2lkdGg6MzUxcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tYnV0dG9uLWNvbnRhaW5lciwuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7ZGlyZWN0aW9uOmx0cjttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgcHttYXJnaW46M3B4IDhweCAtNHB4O2xpbmUtaGVpZ2h0OjE4cHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHN0cm9uZ3tjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMnB4fS5pdi1wcm9tby10eHQgcCBzcGFuLC5pdi1wcm9tby10eHQgcCBzdHJvbmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjI2NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5pdi1wcm9tby13aXRoLWJ1dHRvbiAuaXYtcHJvbW8tdHh0IHAgc3BhbiwuaXYtcHJvbW8td2l0aC1idXR0b24gLml2LXByb21vLXR4dCBwIHN0cm9uZ3ttYXgtd2lkdGg6MTg0cHh9Lml2LXByb21vLXR4dCBwOmZpcnN0LWNoaWxkIHNwYW4sLml2LXByb21vLXR4dCBwOmZpcnN0LWNoaWxkIHN0cm9uZ3ttYXJnaW4tYm90dG9tOi02cHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6MjBweDttYXgtd2lkdGg6MjQ0cHg7Y29sb3I6I2ZmZDEwMH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbms6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDtyaWdodDowO29wYWNpdHk6LjU7Y29udGVudDoiIn0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQ6aG92ZXIgLml2LXByb21vLWxpbms6YWZ0ZXJ7b3BhY2l0eToxfS5pdi1wcm9tby1idXR0b24tY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjMxcHh9Lml2LWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjhweDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O3BhZGRpbmc6MCAxMHB4O291dGxpbmU6MDtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxMXB4O3RleHQtZGVjb3JhdGlvbjpub25lO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO2xpbmUtaGVpZ2h0Om5vcm1hbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Y3Vyc29yOnBvaW50ZXI7Km92ZXJmbG93OnZpc2libGU7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMDUpO2JveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLC4wNSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5pdi1idXR0b246aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lml2LWJ1dHRvbjpmb2N1cywuaXYtYnV0dG9uOmZvY3VzOmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC40KTtib3gtc2hhZG93OjAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjQpfS5uby1mb2N1cy1vdXRsaW5lIC55dC11aXgtYnV0dG9uOmZvY3VzLC5uby1mb2N1cy1vdXRsaW5lIC55dC11aXgtYnV0dG9uOmZvY3VzOmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0uaXYtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MH0uaXYtYnV0dG9uW2Rpc2FibGVkXSwuaXYtYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsLml2LWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsLml2LWJ1dHRvbltkaXNhYmxlZF06aG92ZXJ7b3BhY2l0eTouNTtjdXJzb3I6YXV0bzstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lml2LWJ1dHRvbiwuaXYtYnV0dG9uW2Rpc2FibGVkXSwuaXYtYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsLml2LWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsLml2LWJ1dHRvbltkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOiMxNjdhYzY7YmFja2dyb3VuZDojMTY3YWM2O2NvbG9yOiNmZmZ9Lml2LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOiMxMjZkYjN9Lml2LWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZDojMDk1Yjk5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDAsMCwwLC41KX0uaXYtYnV0dG9uIC5pdi1idXR0b24tY29udGVudHtkaXNwbGF5OmlubGluZTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc31hLml2LWJ1dHRvbjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6MTAwJX0uaXYtcHJvbW8tYnV0dG9ue3dpZHRoOjY0cHg7bWFyZ2luOjZweCA4cHh9Lml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2UsLml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zIC5pdi1wcm9tby1leHBhbmR7dG9wOjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnN7d2lkdGg6MzFweH0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWNsb3NlLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tZXhwYW5ke2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLW91dDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2Utb3V0fS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2U6YWZ0ZXIsLml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zIC5pdi1wcm9tby1leHBhbmQ6YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2V7b3BhY2l0eToxfS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2U6YWZ0ZXJ7bWFyZ2luOjE2cHggMTBweCAxNXB4IDEycHg7b3BhY2l0eTouNX0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWV4cGFuZDphZnRlcnttYXJnaW46MTZweCAxMnB4IDE1cHh9Lml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcsLml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcgaW1ne3dpZHRoOjcxcHh9Lml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcrLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctbGVmdDo3MXB4O21heC13aWR0aDozODJweH0uaXYtcHJvbW8uaXYtcHJvbW8td2l0aC1idXR0b24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7cGFkZGluZy1yaWdodDo4MHB4fS5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWNsb3NlLC5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWV4cGFuZCwuaXYtcHJvbW8uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1jb250ZW50c3std2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LjVzO3RyYW5zaXRpb24tZGVsYXk6LjVzfS5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctcmlnaHQ6MjhweDttYXgtd2lkdGg6MCFpbXBvcnRhbnR9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aXtsZWZ0OjE2cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHtwYWRkaW5nLWxlZnQ6NjBweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1idXR0b24tY29udGFpbmVye2xpbmUtaGVpZ2h0OjY0cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSwueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cywueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cz5hLC55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWNvbnRlbnRzPmRpdntoZWlnaHQ6NjRweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1idXR0b257bWluLXdpZHRoOjExMHB4O2hlaWdodDozNnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWltZ3t0b3A6NnB4O2xlZnQ6NnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWltZywueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1pbWcgaW1ne2hlaWdodDo1MnB4O3dpZHRoOjUycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBzdHJvbmd7Zm9udC1zaXplOjE2cHg7cGFkZGluZy10b3A6NHB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWJ1dHRvbntmb250LXNpemU6MTVweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjEycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHttaW4td2lkdGg6MjIwcHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257dG9wOjM4cHg7bGVmdDo0MnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWJ1dHRvbnttYXJnaW46MCAxMnB4IDAgMH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbnt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtsZWZ0OjEycHh9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8taW1nKy5pdi1wcm9tby1jb250ZW50c3ttYXgtd2lkdGg6NDAwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjVzLG1heC13aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1pbWcrLml2LXByb21vLWNvbnRlbnRzey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouNXM7dHJhbnNpdGlvbi1kZWxheTouNXN9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ246aG92ZXIgLml2LXByb21vLWNvbnRlbnRze2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KX0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctcmlnaHQ6MH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHttYXgtd2lkdGg6MjUwcHg7cGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWxlZnQ6NTJweH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBwe2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLXRvcDowfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1idXR0b24tY29udGFpbmVye2RpcmVjdGlvbjpsdHI7bWF4LXdpZHRoOjE1MHB4O2xpbmUtaGVpZ2h0OjU2cHg7cG9zaXRpb246c3RhdGljfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1idXR0b257bWF4LXdpZHRoOjE0MHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbjowIDhweCAwIDB9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWFjdGlvbnMsLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbms6YWZ0ZXJ7ZGlzcGxheTpub25lfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduLC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1jb250ZW50cywuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+YSwuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+ZGl2e2RpcmVjdGlvbjpsdHI7aGVpZ2h0OjU2cHh9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZ3toZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3RvcDo0cHg7bGVmdDo0cHg7b3ZlcmZsb3c6dmlzaWJsZTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLXJvdW5kLWV4cGFuZC1pY29ue29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjlzO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjlzfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1yb3VuZC1leHBhbmQtaWNvbntwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nLWxlZnQ6MDt6LWluZGV4Ojg1MDtoZWlnaHQ6MThweDt3aWR0aDoxOHB4O2JvcmRlci1yYWRpdXM6NTAlO3RvcDozNHB4O2xlZnQ6MzhweDtiYWNrZ3JvdW5kLWNvbG9yOiM0Njg4ZjE7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAycHggMCByZ2JhKDAsMCwwLC4xMiksMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMjQpO2JveC1zaGFkb3c6MCAwIDJweCAwIHJnYmEoMCwwLDAsLjEyKSwwIDJweCAycHggMCByZ2JhKDAsMCwwLC4yNCk7b3BhY2l0eTowfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1yb3VuZC1leHBhbmQtaWNvbjphZnRlcntkaXNwbGF5OmJsb2NrO2NvbnRlbnQ6IiJ9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgc3Ryb25ne2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjJweDtjb2xvcjojMzMzfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re3BhZGRpbmc6OHB4IDIwcHggMCAwO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOiM3Njc2NzZ9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUgLml2LXByb21vLWNvbnRlbnRze3dpZHRoOjB9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUsLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUgLml2LXByb21vLWltZ3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKX0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1pbmFjdGl2ZSAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257ZGlzcGxheTpub25lfS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiwueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzLC55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+YSwueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzPmRpdntoZWlnaHQ6NDBweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZywueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7cGFkZGluZzo0cHggNHB4IDRweCA0MHB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBzdHJvbmd7cGFkZGluZy10b3A6MDtmb250LXNpemU6MTJweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbmt7cGFkZGluZy10b3A6NHB4O2ZvbnQtc2l6ZToxMXB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257dG9wOjI2cHg7bGVmdDozMHB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8taW1ne3RvcDowO2xlZnQ6MH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b2hpZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1pbWd7b3BhY2l0eTouODstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSkgLjhzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSkgLjhzfS5pdi1kcmF3ZXIsLml2LWRyYXdlci1jb250ZW50LC5pdi1kcmF3ZXItaGVhZGVye3Bvc2l0aW9uOmFic29sdXRlfS5pdi1kcmF3ZXJ7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDt6LWluZGV4OjMzO3dpZHRoOjE3N3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMik7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0uaXYtZHJhd2VyLXNtYWxsLml2LWRyYXdlcnt3aWR0aDoxMzNweH0uaXYtZHJhd2VyLWJpZy5pdi1kcmF3ZXJ7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MjRweDt3aWR0aDoyOTVweH1bZGlyPWx0cl0gLml2LWRyYXdlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE3N3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTc3cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDE3N3B4KX1bZGlyPXJ0bF0gLml2LWRyYXdlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNzdweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNzdweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE3N3B4KX0ueXRwLWF1dG9oaWRlLnl0cC1lbWJlZC1vdmVybGF5cy1hdXRvaGlkZSAuaXYtZHJhd2Vye29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpLnl0cC1lbWJlZC1vdmVybGF5cy1hdXRvaGlkZSAuaXYtZHJhd2Vye2Rpc3BsYXk6bm9uZX0uaXYtZHJhd2VyLWNvbnRlbnQgKnt0ZXh0LWFsaWduOmxlZnR9Lnl0cC1pdi1kcmF3ZXItb3BlbiAuaXYtZHJhd2Vyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0uaXYtZHJhd2VyLWhlYWRlcnt0b3A6MDtwYWRkaW5nOjE2cHggMzJweCAwIDE2cHg7d2lkdGg6MTc3cHg7aGVpZ2h0OjQxcHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtZHJhd2VyLWhlYWRlcntwYWRkaW5nOjlweCAyNHB4IDAgMTJweDtoZWlnaHQ6MjhweDt3aWR0aDoxMzNweH0uaXYtZHJhd2VyLWJpZyAuaXYtZHJhd2VyLWhlYWRlcntwYWRkaW5nOjIwcHggNDhweCAwIDMycHg7aGVpZ2h0OjY0cHg7d2lkdGg6Mjk1cHh9Lml2LWRyYXdlci1oZWFkZXItdGV4dHtmb250LXdlaWdodDo1MDA7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaHRtbDUtdmlkZW8tcGxheWVyIC5pdi1kcmF3ZXItaGVhZGVyey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaXYtZHJhd2VyLWNvbnRlbnR7dG9wOjQxcHg7Ym90dG9tOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgdHJhbnNwYXJlbnQ7cGFkZGluZzowIDE2cHg7d2lkdGg6MTQ1cHg7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2RpcmVjdGlvbjpsdHI7dGV4dC1hbGlnbjpsZWZ0fS5pdi1kcmF3ZXItc21hbGwgLml2LWRyYXdlci1jb250ZW50e3BhZGRpbmc6MCAxMnB4O3RvcDoyOHB4O3dpZHRoOjEwOXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1kcmF3ZXItY29udGVudHtwYWRkaW5nOjAgMzJweDt0b3A6NjRweDt3aWR0aDoyMzFweH0uaXYtZHJhd2VyLXNjcm9sbGVkIC5pdi1kcmF3ZXItY29udGVudHtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNCl9Lml2LWRyYXdlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3dpZHRoOjE2cHh9Lml2LWRyYXdlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTAyLDEwMiwxMDIsLjUpfS5pdi1kcmF3ZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWF1dG9oaWRlIC5pdi1kcmF3ZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXYtZHJhd2VyLWNvbnRlbnQ6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY29sb3I6IzY2NiFpbXBvcnRhbnR9Lml2LWRyYXdlci1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtwYWRkaW5nOjE2cHg7b3BhY2l0eTouNzU7Y3Vyc29yOnBvaW50ZXJ9Lml2LWRyYXdlci1zbWFsbCAuaXYtZHJhd2VyLWNsb3NlLWJ1dHRvbntwYWRkaW5nOjhweH0uaXYtZHJhd2VyLWJpZyAuaXYtZHJhd2VyLWNsb3NlLWJ1dHRvbntwYWRkaW5nOjI0cHh9Lml2LWRyYXdlci1jbG9zZS1idXR0b246YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5pdi1kcmF3ZXItY2xvc2UtYnV0dG9uOmhvdmVye29wYWNpdHk6MX0uaXYtY2FyZCwuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldCwuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldDpmb2N1cywuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldDpob3ZlcntkaXNwbGF5OmJsb2NrO2NvbG9yOiM3Njc2NzY7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lml2LWNhcmR7bWFyZ2luLWJvdHRvbToxNnB4O3dpZHRoOjE0NXB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7d29yZC13cmFwOmJyZWFrLXdvcmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXJhZGl1czo4cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZHt3aWR0aDoxMDlweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZHt3aWR0aDoyMzFweH0uaXYtY2FyZDpob3ZlciAuaXYtY2FyZC1wcmltYXJ5LWxpbmt7Y29sb3I6IzE2N2FjNiFpbXBvcnRhbnR9Lml2LWNhcmQgaDIsLml2LWNhcmQtYWN0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53ZWJraXQgLml2LWNhcmQgaDI6YWZ0ZXIsLndlYmtpdCAuaXYtY2FyZC1hY3Rpb246YWZ0ZXJ7Y29udGVudDoi4oCMIjtwb3NpdGlvbjpzdGF0aWM7dmlzaWJpbGl0eTpoaWRkZW59Lml2LWNhcmQgaDJ7bWFyZ2luOjAgMCA4cHg7LXdlYmtpdC1saW5lLWNsYW1wOjY7bWF4LWhlaWdodDo5MHB4O2NvbG9yOiMzMzM7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE1cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZCBoMntmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6NzJweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZCBoMntmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoyNHB4O21heC1oZWlnaHQ6MTQ0cHh9Lml2LWNhcmQgLml2LWNhcmQtYWN0aW9uLC5pdi1jYXJkIC5pdi1jYXJkLW1ldGEtaW5mbywuaXYtY2FyZCBwe21hcmdpbjotNnB4IDAgMnB4fS5pdi1jYXJkLW1ldGEtaW5mb3tsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowfS5pdi1jYXJkLWltYWdle3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlMmUyZTI7d2lkdGg6MTQ1cHg7aGVpZ2h0OjE0NXB4O2JhY2tncm91bmQ6I2YxZjFmMSBuby1yZXBlYXQgNTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtjb2xvcjojZmZmfS5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtaW1hZ2V7d2lkdGg6MTA5cHg7aGVpZ2h0OjEwOXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLWltYWdle3dpZHRoOjIzMXB4O2hlaWdodDoyMzFweH0uaXYtY2FyZC1pbWFnZS10ZXh0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3BhZGRpbmc6MjBweCAxMHB4IDhweDt3aWR0aDoxMDAlO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHRyYW5zcGFyZW50LHJnYmEoMCwwLDAsLjYpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCx0cmFuc3BhcmVudCksdG8ocmdiYSgwLDAsMCwuNikpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQgMCxyZ2JhKDAsMCwwLC42KSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtaW1hZ2UtdGV4dHtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O3BhZGRpbmc6NnB4IDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1pbWFnZS10ZXh0e2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIwcHg7cGFkZGluZzoxMnB4IDE2cHh9Lml2LWNhcmQtaW1hZ2UtdGV4dCAueXQtYmFkZ2V7bWFyZ2luLXJpZ2h0OjVweH0uaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6OHB4IDEwcHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6NnB4IDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6MTJweCAxNnB4fS5pdi1jYXJkLWNvbnRlbnQ+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uaXYtY2FyZC1jb250ZW50PjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uaXYtY2FyZC1hY3Rpb24sLml2LWNhcmQtbWVzc2FnZXtmb250LXdlaWdodDo1MDB9Lml2LWNhcmQtbWVzc2FnZXttYXJnaW4tYm90dG9tOjhweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTJlMmUyO3BhZGRpbmctYm90dG9tOjhweH0uaXYtY2FyZC1hY3Rpb257LXdlYmtpdC1saW5lLWNsYW1wOjQ7bWF4LWhlaWdodDo1MnB4O3doaXRlLXNwYWNlOm5vd3JhcH0uaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLWFjdGlvbntmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6NDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1hY3Rpb257Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0OjgwcHh9Lml2LWNhcmQtYWN0aW9uIHNwYW57d2hpdGUtc3BhY2U6bm9ybWFsfS5pdi1jYXJkLWFjdGlvbi1pY29ue3BhZGRpbmc6MCAwIDAgMzBweDttaW4taGVpZ2h0OjE0cHg7YmFja2dyb3VuZC1wb3NpdGlvbjowO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToyNHB4IGF1dG87YmFja2dyb3VuZC1zaXplOjI0cHggYXV0b30uaXYtY2FyZC1saW5rLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2t9Lml2LWNhcmQtZXBpc29kZSBoMiwuaXYtY2FyZC1tb3ZpZSBoMiwuaXYtY2FyZC1wbGF5bGlzdCBoMiwuaXYtY2FyZC12aWRlbyBoMnstd2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0OjQ1cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1lcGlzb2RlIGgyLC5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtbW92aWUgaDIsLml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wbGF5bGlzdCBoMiwuaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLXZpZGVvIGgye21heC1oZWlnaHQ6MzZweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1lcGlzb2RlIGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLW1vdmllIGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBsYXlsaXN0IGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXZpZGVvIGgye21heC1oZWlnaHQ6NzJweH0uaXYtY2FyZC1jaGFubmVsIGgyey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6MzBweH0uaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLWNoYW5uZWwgaDJ7bWF4LWhlaWdodDoyNHB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLWNoYW5uZWwgaDJ7bWF4LWhlaWdodDo0OHB4fS5pdi1jYXJkLWVwaXNvZGUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtbW92aWUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtdmlkZW8gLml2LWNhcmQtaW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5pdi1jYXJkLWVwaXNvZGUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtdmlkZW8gLml2LWNhcmQtaW1hZ2V7aGVpZ2h0OjgycHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1lcGlzb2RlIC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC12aWRlbyAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6NjFweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1lcGlzb2RlIC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBsYXlsaXN0IC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXZpZGVvIC5pdi1jYXJkLWltYWdle2hlaWdodDoxMjlweH0uaXYtY2FyZC1tb3ZpZSAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6MjA5cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1tb3ZpZSAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6MTU3cHh9Lml2LWRyYXdlci1iaWcgLml2LWNhcmQtbW92aWUgLml2LWNhcmQtaW1hZ2V7aGVpZ2h0OjMzNXB4fS5pdi1jYXJkLXZpZGVvLWR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo1cHg7cmlnaHQ6NXB4O3BhZGRpbmc6MnB4IDRweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2Utb3ZlcmxheXtkaXNwbGF5OnRhYmxlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NjNweDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpO2NvbG9yOiNjZmNmY2Y7Zm9udC1zaXplOjIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xpbmUtaGVpZ2h0OjIxcHh9Lml2LWNhcmQtcGxheWxpc3QtdmlkZW8tY291bnR7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uaXYtY2FyZC1wbGF5bGlzdC12aWRlby1jb3VudDphZnRlcntkaXNwbGF5OmJsb2NrO21hcmdpbjphdXRvO29wYWNpdHk6LjU7Y29udGVudDoiIn0uaXYtY2FyZC1wb2xse3Bvc2l0aW9uOnJlbGF0aXZlfS5pdi1jYXJkLXBvbGwgdWx7bWF4LXdpZHRoOjEyNXB4O2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wb2xsIHVse21heC13aWR0aDo4OXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBvbGwgdWx7bWF4LXdpZHRoOjIxMXB4fS5pdi1jYXJkLXBvbGwgZmllbGRzZXR7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowfS5pdi1jYXJkLXBvbGwgbGFiZWx7ZGlzcGxheTpibG9jaztjdXJzb3I6cG9pbnRlcjtwYWRkaW5nLWJvdHRvbTo1cHg7bWluLWhlaWdodDoxNHB4O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCAwIHRvcCA1cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE55SWdhR1ZwWjJoMFBTSXhOeUkrUEdOcGNtTnNaU0JqZUQwaU9DNDFJaUJqZVQwaU9DNDFJaUJ5UFNJM0xqWWlJR1pwYkd3OUltNXZibVVpSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlpNDFOQ0lnYzNSeWIydGxMWGRwWkhSb1BTSXhMamdpTHo0OEwzTjJaejQ9KTtjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7LXdlYmtpdC10cmFuc2l0aW9uOmNvbG9yIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Y29sb3IgLjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAuaXYtY2FyZC1wb2xsIGxhYmVsLml2LWNhcmQtcG9sbC1jaG9pY2UtZm9jdXNlZHstd2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuNCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC40KX0uaXYtY2FyZC1wb2xsLml2LWNhcmQtcG9sbC12b3RlZCBsYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lml2LWNhcmQtcG9sbC5pdi1jYXJkLXBvbGwtdm90ZWQgbGFiZWwuaXYtY2FyZC1wb2xsLWNob2ljZS1jaGVja2Vke2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE55SWdhR1ZwWjJoMFBTSXhOeUkrUEdOcGNtTnNaU0JqZUQwaU9DNDFJaUJqZVQwaU9DNDFJaUJ5UFNJM0xqWWlJR1pwYkd3OUltNXZibVVpSUhOMGNtOXJaVDBpSXpFMk4yRmpOaUlnYzNSeWIydGxMWGRwWkhSb1BTSXhMamdpTHo0OFkybHlZMnhsSUdONFBTSTRMalVpSUdONVBTSTRMalVpSUhJOUlqUXVNak1pSUdacGJHdzlJaU14TmpkaFl6WWlMejQ4TDNOMlp6ND0pO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0uaXYtY2FyZC1wb2xsIGlucHV0W3R5cGU9Y2hlY2tib3hde29wYWNpdHk6MDt3aWR0aDoxN3B4O2hlaWdodDoxN3B4O21hcmdpbjo1cHggMCAwO2Zsb2F0OmxlZnR9Lml2LWNhcmQtcG9sbCAuaXYtY2FyZC1wb2xsLWNob2ljZS10ZXh0e2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6MjVweDtwYWRkaW5nLXRvcDo4cHh9Lml2LWRyYXdlci1iaWcgLml2LWNhcmQtcG9sbCAuaXYtY2FyZC1wb2xsLWNob2ljZS10ZXh0e3BhZGRpbmctdG9wOjJweH0uaXYtY2FyZC1wb2xsIGxpK2xpe21hcmdpbi10b3A6OHB4fS5pdi1jYXJkLXBvbGwgLml2LWNhcmQtcG9sbC1yZXN1bHR7d2lkdGg6MTAwJTtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6I2RmZGZkZjt2aXNpYmlsaXR5OmhpZGRlbn0uaXYtY2FyZC1wb2xsIC5pdi1jYXJkLXBvbGwtcmVzdWx0IC5pdi1jYXJkLXBvbGwtcmVzdWx0LWJhcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzE2N2FjNjstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LW1zLXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS5pdi1jYXJkLXBvbGwuaXYtY2FyZC1wb2xsLWV4cGFuZGVkIC5pdi1jYXJkLXBvbGwtcmVzdWx0e3Zpc2liaWxpdHk6dmlzaWJsZX0uaXYtY2FyZC1wb2xsIC5pdi1jYXJkLXBvbGwtY2hvaWNlLXBlcmNlbnR7ZGlzcGxheTpub25lO2Zsb2F0OnJpZ2h0O21hcmdpbi1sZWZ0OjVweH0uaXYtY2FyZC1wb2xsLml2LWNhcmQtcG9sbC1leHBhbmRlZCAuaXYtY2FyZC1wb2xsLWNob2ljZS1wZXJjZW50e2Rpc3BsYXk6YmxvY2t9Lml2LWNhcmQtc2lnbi1pbnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cGFkZGluZzo4cHggMTBweH0uaXYtY2FyZC1zaWduLWluIHB7bWFyZ2luOjAgMCA4cHh9Lml2LWNhcmQtc2lnbi1pbiBhe2NvbG9yOiNmZmZ9Lml2LWNhcmQtdW5hdmFpbGFibGU6aG92ZXIgLml2LWNhcmQtY29udGVudCwuaXYtY2FyZC11bmF2YWlsYWJsZTpob3ZlciAuaXYtY2xpY2stdGFyZ2V0e3Zpc2liaWxpdHk6aGlkZGVufS5pdi1jYXJkLXVuYXZhaWxhYmxlOmhvdmVyIC5pdi1jYXJkLXNpZ24taW57dmlzaWJpbGl0eTp2aXNpYmxlfS5pdi1hZC1pbmZvLWljb24tY29udGFpbmVyLC5pdi1jYXJkLXNwb25zb3JlZHtwb3NpdGlvbjpyZWxhdGl2ZX0uaXYtY2FyZC1zcG9uc29yZWR7bWFyZ2luOjAgMCA4cHg7Y29sb3I6Izk5OX0uaXYtYWQtaW5mby1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NnB4fS5pdi1hZC1pbmZvLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweH0uaXYtYWQtaW5mb3tib3R0b206MjFweDtsZWZ0OjA7cmlnaHQ6MDtib3JkZXI6MXB4IHNvbGlkICMwMDA7cGFkZGluZzo3cHg7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMwMDA7Zm9udC1zaXplOjEycHh9Lml2LWFkLWluZm8tY29udGFpbmVyIC5pdi1hZC1pbmZvIGEsLml2LWFkLWluZm8tY29udGFpbmVyIC5pdi1hZC1pbmZvIGE6aG92ZXJ7Y29sb3I6IzE2N2FjNn0uaXYtYWQtaW5mby1jb250YWluZXIgLml2LWFkLWluZm8gYTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5pdi1hZC1pbmZvLWNhbGxvdXQsLml2LWFkLWluZm8taWNvbi1jb250YWluZXI6YWZ0ZXJ7bGVmdDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO3dpZHRoOjA7aGVpZ2h0OjB9Lml2LWFkLWluZm8tY2FsbG91dHtib3R0b206MTZweDtib3JkZXItdG9wLWNvbG9yOiMwMDB9Lml2LWFkLWluZm8taWNvbi1jb250YWluZXI6YWZ0ZXJ7Y29udGVudDoiIjtib3R0b206MTdweDtib3JkZXItdG9wLWNvbG9yOiNmZmZ9Lml2LWFkLWluZm8sLml2LWFkLWluZm8tY2FsbG91dCwuaXYtYWQtaW5mby1pY29uLWNvbnRhaW5lcjphZnRlcnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyAuMXM7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIC4xc30uaXYtYWQtaW5mby1jb250YWluZXI6aG92ZXIgLml2LWFkLWluZm8sLml2LWFkLWluZm8tY29udGFpbmVyOmhvdmVyIC5pdi1hZC1pbmZvLWNhbGxvdXQsLml2LWFkLWluZm8tY29udGFpbmVyOmhvdmVyIC5pdi1hZC1pbmZvLWljb24tY29udGFpbmVyOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30uaXYtY2FyZC1wcm9kdWN0LWxpc3RpbmcgaDJ7LXdlYmtpdC1saW5lLWNsYW1wOjM7bWF4LWhlaWdodDo0NXB4O2NvbG9yOiM2NjZ9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wcm9kdWN0LWxpc3RpbmcgaDJ7bWF4LWhlaWdodDozNnB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXByb2R1Y3QtbGlzdGluZyBoMnttYXgtaGVpZ2h0OjcycHh9Lml2LWNhcmQtb2ZmZXItcHJpY2V7bWFyZ2luLWJvdHRvbToycHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE1cHg7Y29sb3I6IzMzM30uaXYtY2FyZC1vZmZlci1tZXJjaGFudHtjb2xvcjojMDk3YTQxfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDozNjBweDtoZWlnaHQ6Y2FsYygxMDAlIC0gMzlweCk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjAgYXV0bzt6LWluZGV4OjM3fS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlKSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5e3dpZHRoOjEwMCV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheXstLXcydy1zdGFydC1iYWNrZ3JvdW5kLWNvbG9yOiMwMDA7LS13MnctZW5kLWJhY2tncm91bmQtY29sb3I6IzAwMDtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJ7d2lkdGg6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWxpbmstY29udGFpbmVye21hcmdpbi10b3A6MTBweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjF9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjI0cHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVyLWNvdW50ZG93bi1udW1iZXJ7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXItb25seSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KTtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LW5vLWFsdGVybmF0aXZlLWhlYWRlciAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlci1vbmx5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoyNHB4O21hcmdpbi10b3A6MH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWwsLnl0cC1hdXRvbmF2LXRodW1ibmFpbC1zbWFsbHtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjoxcHggc29saWQgIzRjNGM0Yzstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlse3dpZHRoOjM2MHB4O2hlaWdodDoyMDJweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlsOmhvdmVyLC55dHAtYXV0b25hdi10aHVtYm5haWwtc21hbGw6aG92ZXJ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjgpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRwLWF1dG9uYXYtbGl2ZS1zdGFtcCwueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi11cGNvbWluZy1zdGFtcHtib3R0b206NHB4O3JpZ2h0OjRweDtwYWRkaW5nOjAgNHB4O2JvcmRlci1yYWRpdXM6MnB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtjb2xvcjojZmZmO3Bvc2l0aW9uOmFic29sdXRlO2xldHRlci1zcGFjaW5nOi41cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWF1dG9uYXYtbGlzdC1vdmVybGF5e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbG9hdDpyaWdodDt3aWR0aDo0MCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC44KX0ueXRwLWF1dG9uYXYtbWl4LXRleHR7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MThweDtmb250LXdlaWdodDo1MDA7bWFyZ2luLXRvcDozMCV9Lnl0cC1hdXRvbmF2LW1peC1pY29ue3dpZHRoOjQyJTtoZWlnaHQ6MzAlO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIaHRiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlCMmFXVjNRbTk0UFNJd0lEQWdNellnTXpZaVBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkzbDBjQzF6ZG1jdGJXbDRJaUJ6ZEhKdmEyVTlJaU13TURBaUlITjBjbTlyWlMxdmNHRmphWFI1UFNJdU1UVWlJSE4wY205clpTMTNhV1IwYUQwaU1pSXZQanh3WVhSb0lHbGtQU0o1ZEhBdGMzWm5MVzFwZUNJZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRJMUxqWTFJREU0WXkwdU1ESWdNaTR6TVMwdU9EY2dOQzQwTVMweUxqSTFJRFl1TURac0xqa3VPVFJqTVM0Mk9TMHhMamdnTWk0M0xUUXVNamNnTWk0M0xUZHpMVEV1TURFdE5TNHlNUzB5TGpjdE4yd3RMamt1T1ROQk9TNDFOQ0E1TGpVMElEQWdNQ0F4SURJMUxqWTFJREU0YlMweE5TNHpJREJqTGpBeExUSXVNekl1T0RZdE5DNDBNaUF5TGpJMUxUWXVNRGRzTFM0NUxTNDVNME14TUNBeE1pNDNPU0E1SURFMUxqSTNJRGtnTVRoek1TQTFMaklnTWk0M0lEZHNMamt0TGprMFl5MHhMak01TFRFdU5qVXRNaTR5TkMwekxqYzFMVEl1TWpVdE5pNHdObTB5TGpjZ01HTXRMakEwTFRFdU56TXVORGt0TXk0d09TQXhMak0xTFRRdU1td3RMamt0TGprMFl5MHhMakV6SURFdU1qWXRNUzQ0SURJdU9Ua3RNUzQ0SURVdU1UUWdNQ0F4TGpZM0xqWTNJRE11TkNBeExqZ2dOQzQyTm13dU9TMHVPVE5qTFM0NE5pMHhMakV5TFRFdU16a3RNaTQwTnkweExqTTFMVE11TnpOdE9TMDFMakUwTFM0NUxqazBZeTQ0TlNBeExqRXhJREV1TXpnZ01pNDBOeUF4TGpNMUlEUXVNaTR3TXlBeExqSTJMUzQxSURJdU5qRXRNUzR6TlNBekxqY3piQzQ1TGprell6RXVNVEl0TVM0eU5pQXhMamd0TWk0NU9TQXhMamd0TkM0Mk5pQXdMVEl1TVRVdExqWTRMVE11T0RndE1TNDRMVFV1TVRSdExUVXVOVFVnTWk0NElETXVOaUF4TGpnM0xUTXVOaUF5TGpNemVpSXZQand2YzNablBnPT0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjttYXJnaW46MCBhdXRvfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdmlkZW8taW5mb3ttYXJnaW4tdG9wOjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1wcmVtaXVtLWJhZGdle21hcmdpbi1ib3R0b206NnB4O21hcmdpbi1sZWZ0Oi0ycHg7d2lkdGg6NzRweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTNNQ0lnYUdWcFoyaDBQU0l4TmlJZ1ptbHNiRDBpYm05dVpTSStQSEpsWTNRZ2QybGtkR2c5SWpjd0lpQm9aV2xuYUhROUlqRTJJaUJtYVd4c1BTSWpabVptSWlCdmNHRmphWFI1UFNJdU1TSWdjbmc5SWpJaUx6NDhjR0YwYUNCbWFXeHNQU0lqWVdGaElpQmtQU0pOTWpBdU16VWdPQzQ0TTFZeE1tZ3RNUzQwT0ZZekxqUTNhRE11TWpaakxqazFJREFnTVM0M01TNHlOU0F5TGpJM0xqYzBMalUyTGpVdU9EUWdNUzR4Tmk0NE5DQXhMamszSURBZ0xqZzBMUzR5TnlBeExqUTVMUzQ0TWlBeExqazFMUzQxTlM0ME55MHhMak15TGpjdE1pNHpMamQ2YlRBdE1TNHhPV2d4TGpjNFl5NDFNeUF3SUM0NU15MHVNVElnTVM0eUxTNHpOeTR5T1MwdU1qVXVOREl0TGpZdU5ESXRNUzR3T0NBd0xTNDBOaTB1TVRRdExqZ3lMUzQwTWkweExqRmhNUzQyTWlBeExqWXlJREFnTUNBd0xURXVNVFl0TGpRemFDMHhMamd5ZW0wNUxqTTNMUzQyT0dFekxqVWdNeTQxSURBZ01DQXdMUzQxT0MwdU1EVmpMUzQyTlNBd0xURXVNRGt1TWpVdE1TNHpNUzQzTlZZeE1rZ3lOaTQwVmpVdU5qWm9NUzR6Tm13dU1EUXVOMkV4TGpZZ01TNDJJREFnTUNBeElERXVORE10TGpneVl5NHlJREFnTGpNM0xqQXpMalV1TURoMk1TNHpOSHB0TXk0MU9DQTFMakUyWXkwdU9TQXdMVEV1TmpRdExqSTVMVEl1TWkwdU9EVmhNeTR4SURNdU1TQXdJREFnTVMwdU9EUXRNaTR5T0hZdExqRTNZekF0TGpZekxqRXlMVEV1TWk0ek55MHhMamRoTWk0M01pQXlMamN5SURBZ01DQXhJREl1TlMweExqVTRZeTQ0TnlBd0lERXVOVE11TWpnZ01pQXVPRE11TkRndU5UVXVOekVnTVM0ek15NDNNU0F5TGpNMGRpNDFOMGd6TVM0M1l5NHdOQzQxTWk0eU1pNDVOQzQxTWlBeExqSTBjeTQzTGpRMklERXVNVFl1TkRaakxqWTFJREFnTVM0eE9DMHVNallnTVM0MkxTNDNPV3d1TnpZdU56TmpMUzR5TlM0ek9DMHVOaTQyT0MweExqQXlMamc1TFM0ME1pNHlMUzQ1TGpNdE1TNDBNaTR6ZW0wdExqRTNMVFV1TkROakxTNDBJREF0TGpjdU1UTXRMamsxTGpRdExqSTBMakk0TFM0MExqWTJMUzQwTmlBeExqRTFhREl1TnpKMkxTNHhZVEV1TnpJZ01TNDNNaUF3SURBZ01DMHVNemt0TVM0d09TQXhMaklnTVM0eUlEQWdNQ0F3TFM0NU1pMHVNelp0TlM0eE5pMHhMakF6TGpBMExqWTJZVEl1TWpnZ01pNHlPQ0F3SURBZ01TQXhMamd6TFM0M09HTXVPRFVnTUNBeExqUXpMak16SURFdU56UXVPVGd1TkRZdExqWTFJREV1TVRFdExqazRJREV1T1RVdExqazRMamNnTUNBeExqSXhMaklnTVM0MU5TNDFPQzR6TlM0ek9TNDFNaTQ1Tmk0MU15QXhMamN4VmpFeWFDMHhMalF5VmpjdU9EZGpNQzB1TkMwdU1Ea3RMamN0TGpJM0xTNDRPQzB1TVRjdExqRTVMUzQwTmkwdU1qZ3RMamczTFM0eU9DMHVNeklnTUMwdU5Ua3VNRGt0TGpndU1qWXRMakl1TVRjdExqTTBMalF0TGpReUxqWTRWakV5YUMweExqUXlWamN1T0ROakxTNHdNaTB1TnpVdExqUXRNUzR4TWkweExqRTBMVEV1TVRJdExqVTNJREF0TGprNExqSXpMVEV1TWpJdU4xWXhNbWd0TVM0ME1sWTFMalkyZWswME9DNDVNU0F4TW1ndE1TNDBNMVkxTGpZMmFERXVORE42VFRRM0xqUWdOQzR3TVdNd0xTNHlNaTR3TmkwdU5DNHlMUzQxTkM0eE5DMHVNVFV1TXpRdExqSXlMall0TGpJeWN5NDBOaTR3Tnk0MkxqSXlZeTR4TkM0eE5DNHlMak15TGpJdU5UUnpMUzR3Tmk0MExTNHlMalUwTFM0ek5DNHlNUzB1Tmk0eU1TMHVORFl0TGpBM0xTNDJMUzR5WVM0M05TNDNOU0F3SURBZ01TMHVNaTB1TlRWdE5pNDVJRGN1TXpkaE1pNHlJREl1TWlBd0lEQWdNUzB4TGpjNExqYzBjUzB4TGpBeUlEQXRNUzQxTmkwdU5tTXRMak0xTFM0MExTNDFNeTB4TFM0MU15MHhMamMxVmpVdU5qWm9NUzQwTTNZMExqQTVZekFnTGpndU16TWdNUzR5SURFZ01TNHlMalk1SURBZ01TNHhOaTB1TWpRZ01TNDBMUzQzTkZZMUxqWTJhREV1TkRKV01USm9MVEV1TXpSNmJUUXVNVGN0TlM0M01pNHdOQzQyTm1FeUxqSTRJREl1TWpnZ01DQXdJREVnTVM0NE15MHVOemhqTGpnMUlEQWdNUzQwTXk0ek15QXhMamMwTGprNExqUTJMUzQyTlNBeExqRXhMUzQ1T0NBeExqazFMUzQ1T0M0M0lEQWdNUzR5TVM0eUlERXVOVFV1TlRndU16VXVNemt1TlRJdU9UWXVOVE1nTVM0M01WWXhNa2cyTkM0M1ZqY3VPRGRqTUMwdU5DMHVNRGt0TGpjdExqSTNMUzQ0T0MwdU1UY3RMakU1TFM0ME5pMHVNamd0TGpnM0xTNHlPQzB1TXpJZ01DMHVOVGt1TURrdExqZ3VNall0TGpJdU1UY3RMak0wTGpRdExqUXlMalk0VmpFeWFDMHhMalF5VmpjdU9ETmpMUzR3TWkwdU56VXRMalF0TVM0eE1pMHhMakUwTFRFdU1USXRMalUzSURBdExqazRMakl6TFRFdU1qSXVOMVl4TW1ndE1TNDBNbFkxTGpZMmFERXVNelI2SWk4K1BIQmhkR2dnWm1sc2JEMGljbVZrSWlCa1BTSk5NU0F5WVRFZ01TQXdJREFnTVNBeExURm9NVE4yTVRSSU1tRXhJREVnTUNBd0lERXRNUzB4ZWlJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazAyTGpVeUlEbDJNMGcwTGpjMlZqTXVORGRJT0M0eFl5NDJOQ0F3SURFdU1pNHhNaUF4TGpZNUxqTTFjeTQ0Tmk0MU55QXhMakV5SURFZ0xqUXVPVEl1TkNBeExqUTNZekFnTGpnMExTNHpJREV1TlMwdU9EY2dNUzQ1T0hFdExqZzFOUzQzTWkweUxqTTNMamN5U0RZdU5USjZiVEF0TVM0ME0yZ3hMalUzWXk0ME5pQXdJQzQ0TWkwdU1TQXhMakEyTFM0ek15NHlOUzB1TWpJdU16Y3RMalV6TGpNM0xTNDVOSE10TGpFeUxTNDNOUzB1TXpjdE1XTXRMakkxTFM0eU55MHVOVGt0TGpRdE1TNHdNaTB1TkVnMkxqVXllaUl2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXJ9LmF1dG9uYXYtZW5kc2NyZWVue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC5hdXRvbmF2LWVuZHNjcmVlbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtc3VnZ2VzdGlvbnMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXRpdGxle2NvbG9yOiNmZmY7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MThweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjRweDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfS55dHAtYXV0b25hdi1hdXRob3ItYW5kLXZpZXcsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYXV0aG9yLC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6NHB4O2NvbG9yOiNhYWE7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMXB4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVye3dpZHRoOjEwMCU7bWFyZ2luLXRvcDoxMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWJ1dHRvbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7d2lkdGg6MTc2cHg7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzRweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjB9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9uLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9uLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNhbmNlbC1idXR0b257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xKTtmbG9hdDpsZWZ0fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXBsYXktYnV0dG9ue2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7ZmxvYXQ6cmlnaHR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyOm5vdCgueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWlzLXByZW1pdW0pIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tcHJlbWl1bS1iYWRnZXtkaXNwbGF5Om5vbmV9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjB9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtbWluaXBsYXllci1yZXBsYXktYnV0dG9uLC5jb3VudGRvd24tcnVubmluZyAueXRwLXByZXZpZXd7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLXN1Z2dlc3Rpb24tcGFuZWx7bWFyZ2luOjQwcHggYXV0byBhdXRvIDIwcHg7d2lkdGg6MzYwcHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLW92ZXJsYXl7bWFyZ2luOjQwcHggMjBweCBhdXRvIGF1dG99Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10aHVtYm5haWwtc21hbGx7d2lkdGg6MzYwcHg7aGVpZ2h0OjIwMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdGl0bGUtY2FyZHttYXJnaW4tdG9wOjEycHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJkLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIxcHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7bWFyZ2luLXRvcDowfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJke3dpZHRoOjM2MHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWx7d2lkdGg6MzYwcHg7aGVpZ2h0OjIwMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtbWl4LXRleHR7Zm9udC1zaXplOjIyLjVweDtsaW5lLWhlaWdodDoyN3B4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDozNzRweH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjEzcHg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWwsLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlse3dpZHRoOjE4M3B4O2hlaWdodDoxMDRweDtib3JkZXItcmFkaXVzOjhweH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwuY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXRpdGxlLC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aXRsZXtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxOHB4O2ZvbnQtd2VpZ2h0OjUwMH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdmlkZW8taW5mbywueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXZpZGVvLWluZm97bWFyZ2luLXRvcDowO3dpZHRoOjE4M3B4fS5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVyLC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjEzcHh9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1idXR0b24sLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9ue3dpZHRoOjE4M3B4O2hlaWdodDozNHB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSA1OC41cHgpfS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjE1cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXJ7Zm9udC1zaXplOjIyLjVweDtsaW5lLWhlaWdodDozNnB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYWx0ZXJuYXRpdmUtaGVhZGVye2ZvbnQtc2l6ZToxOS41cHg7bGluZS1oZWlnaHQ6MjdweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlci1vbmx5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntmb250LXNpemU6MjIuNXB4O2xpbmUtaGVpZ2h0OjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWx7d2lkdGg6NTQwcHg7aGVpZ2h0OjMwM3B4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1wcmVtaXVtLWJhZGdle21hcmdpbi1ib3R0b206OXB4O21hcmdpbi1sZWZ0Oi0zcHg7d2lkdGg6MTExcHg7aGVpZ2h0OjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXZpZGVvLWluZm97bWFyZ2luLXRvcDoxOHB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGl0bGV7Zm9udC1zaXplOjI3cHg7bGluZS1oZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWF1dGhvciwueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjMxLjVweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6MH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjE4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1idXR0b257Zm9udC1zaXplOjIxcHg7d2lkdGg6MjY0cHg7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTJweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWJ1dHRvbi5tb2Rlcm4tYnV0dG9uc3tib3JkZXItcmFkaXVzOjI3cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtbGl2ZS1zdGFtcCwueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10aW1lc3RhbXAsLnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDo1NDBweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5e21hcmdpbjphdXRvO21hcmdpbi1yaWdodDozMHB4O2hlaWdodDo0NDRweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVse21hcmdpbjphdXRvO21hcmdpbi1sZWZ0OjMwcHg7d2lkdGg6NDMycHg7aGVpZ2h0OjQ0NHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtc3VnZ2VzdGlvbi1jYXJkLXdpdGgtbWFyZ2lue21hcmdpbi1sZWZ0OjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LXRodW1ibmFpbC1zbWFsbHttYXJnaW4tdG9wOjA7d2lkdGg6MjEwcHg7aGVpZ2h0OjExOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmR7bWFyZ2luLXRvcDoxMHB4O3dpZHRoOjIxMHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMil7bWFyZ2luLXRvcDoyMHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi10aXRsZS1jYXJke21hcmdpbi10b3A6MTBweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxNnB4O2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtYXV0aG9yLWNhcmR7bWFyZ2luLXRvcDo0cHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJkLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MThweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZSwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6MH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1tb3JlLXZpZGVvc3t2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1zdWdnZXN0aW9ucy1jb250YWluZXIgLnl0cC1zdWdnZXN0aW9uLXNldDpub3QoOmZpcnN0LWNoaWxkKXtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVsLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtdGlueS1tb2RlIC55dHAtc3VnZ2VzdGlvbi1wYW5lbHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheSwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXRpbnktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5ey13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2hlaWdodDpjYWxjKDEwMCUgLSAzOXB4KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lciwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXRpbnktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5LC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtdGlueS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLW92ZXJsYXl7bWFyZ2luLXJpZ2h0OmF1dG99Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheXttYXJnaW4tdG9wOjB9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjMwcHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtc3VnZ2VzdGlvbi1wYW5lbCwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLXN1Z2dlc3Rpb24tcGFuZWx7ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZC5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye3dpZHRoOjM3NHB4O2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRwLXBsYXllci1taW5pbWl6ZWQuY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtY29udGFpbmVyLC55dHAtcGxheWVyLW1pbmltaXplZC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNvbnRhaW5lcnttYXJnaW4tdG9wOjE2cHh9Lnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlcntkaXNwbGF5Oi13ZWJraXQtYm94fS55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXIsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXJ7bWFyZ2luLXRvcDo1cHh9Lnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWxpbmstY29udGFpbmVye21hcmdpbi10b3A6OHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle2Rpc3BsYXk6LXdlYmtpdC1ib3h9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye21hcmdpbjphdXRvO21hcmdpbi1yaWdodDo0NXB4O3dpZHRoOjU0MHB4O2hlaWdodDo2NjZweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVye2ZvbnQtc2l6ZToyMi41cHg7bGluZS1oZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVse21hcmdpbjphdXRvO21hcmdpbi1sZWZ0OjQ1cHg7d2lkdGg6NjQ4cHg7aGVpZ2h0OjY2NnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLXN1Z2dlc3Rpb24tY2FyZC13aXRoLW1hcmdpbnttYXJnaW4tbGVmdDoxOHB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdGh1bWJuYWlsLXNtYWxse3dpZHRoOjMxNXB4O2hlaWdodDoxNzdweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZHttYXJnaW4tdG9wOjE1cHg7d2lkdGg6MzE1cHh9Lnl0cC1iaWctbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMil7bWFyZ2luLXRvcDozMHB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdGl0bGUtY2FyZHttYXJnaW4tdG9wOjE1cHg7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJke21hcmdpbi10b3A6NnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtYXV0aG9yLWNhcmQsLnl0cC1iaWctbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7Zm9udC1zaXplOjE5LjVweDtsaW5lLWhlaWdodDoyN3B4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6MH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LW1peC10ZXh0e2ZvbnQtc2l6ZToyMi41cHg7bGluZS1oZWlnaHQ6MjdweH0ueXRwLWF1dG9uYXYtYXV0aG9yLWFuZC12aWV3e2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZS55dHAtcGxheWVyLWNvbnRlbnQsLnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206MH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LW92ZXJsYXl7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xfS5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZXtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZFtkYXRhLWlzLWxpc3Q9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtbGl2ZT10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmRbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1hdXRvbmF2LWxpdmUtc3RhbXB7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojYzAwfS55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bm90KFtkYXRhLWlzLWxpdmU9dHJ1ZV0pIC55dHAtYXV0b25hdi1saXZlLXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0gLnl0cC1hdXRvbmF2LXVwY29taW5nLXN0YW1we3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCl9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZDpub3QoW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0pIC55dHAtYXV0b25hdi11cGNvbWluZy1zdGFtcHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtY29udGFpbmVyW2RhdGEtaXMtbGlzdD10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNvbnRhaW5lcltkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy11cGNvbWluZz10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy1saXZlPXRydWVdIC55dHAtYXV0b25hdi1saXZlLXN0YW1we3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2MwMH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXI6bm90KFtkYXRhLWlzLWxpdmU9dHJ1ZV0pIC55dHAtYXV0b25hdi1saXZlLXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy11cGNvbWluZz10cnVlXSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXI6bm90KFtkYXRhLWlzLXVwY29taW5nPXRydWVdKSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bm90KFtkYXRhLWlzLW1peD10cnVlXSkgLnl0cC1hdXRvbmF2LWxpc3Qtb3ZlcmxheXtkaXNwbGF5Om5vbmV9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlLmVuZGVkLW1vZGV7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dHAtYWQtb3ZlcmxheS1vcGVuLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYWQtb3ZlcmxheS1jb250YWluZXJ7b3BhY2l0eTouM30ueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSAxNDNweCl9Lnl0cC1iaWctbW9kZS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcntoZWlnaHQ6Y2FsYygxMDAlIC0gMTYwcHgpfS55dHAtYXV0b25hdi1vdmVybGF5LWNhbmNlbGxlZC1zdGF0ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXItY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZTt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRFNUlEWXVOREVnTVRjdU5Ua2dOU0F4TWlBeE1DNDFPU0EyTGpReElEVWdOU0EyTGpReElERXdMalU1SURFeUlEVWdNVGN1TlRrZ05pNDBNU0F4T1NBeE1pQXhNeTQwTVNBeE55NDFPU0F4T1NBeE9TQXhOeTQxT1NBeE15NDBNU0F4TW5vaUx6NDhMM04yWno0PSk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MjRweCAyNHB4O2JhY2tncm91bmQtc2l6ZToyNHB4O2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC11cGRhdGVkIC55dHAtcGxheWVyLWNvbnRlbnR7cG9zaXRpb246dW5zZXR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1jb250YWluZXJ7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC11cGRhdGVkIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdG9wYmFyLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmp1c3RpZnk7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVyLWNsb3NlLWJ1dHRvbntkaXNwbGF5OmJsb2NrfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXJ7bWFyZ2luLXRvcDowOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi12aWRlby1pbmZve21hcmdpbi10b3A6MTJweDt3aWR0aDoxMDAlfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlsey13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWxpdmUtc3RhbXAsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LXVwY29taW5nLXN0YW1we2JvdHRvbTo4cHg7cmlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6MTBweDtsaW5lLWhlaWdodDoxNnB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzp1bnNldDtwYWRkaW5nOjAgOHB4fS55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uLWNvbnRhaW5lcnt2ZXJ0aWNhbC1hbGlnbjp0b3B9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b24sLnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxNC40cHg7d2lkdGg6MzZweDtib3JkZXItcmFkaXVzOjE0LjRweDt0b3A6NTAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek1DSWdhR1ZwWjJoMFBTSXhNaUlnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTWpJdU55QXhNV015TGprMUlEQWdOUzR6TFRJdU1qRWdOUzR6TFRWekxUSXVNelV0TlMwMUxqTXROVWczTGpORE5DNHpOU0F4SURJZ015NHlNU0F5SURaek1pNHpOU0ExSURVdU15QTFlaUlnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWlCdmNHRmphWFI1UFNJdU5TSXZQanh3WVhSb0lHWnBiR3c5SWlNd01EQWlJR1pwYkd3dGIzQmhZMmwwZVQwaUxqTWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUY3VNeUF4UXpRdU16VWdNU0F5SURNdU1qRWdNaUEyY3pJdU16VWdOU0ExTGpNZ05XZ3hOUzQwUVRVdU1UWWdOUzR4TmlBd0lEQWdNQ0F5T0NBMmJDMHVNRE10TGpVMFFUVXVNVFlnTlM0eE5pQXdJREFnTUNBeU1pNDNJREY2YlRFMUxqUWdNVEZqTXk0ME5TQXdJRFl1TXkweUxqWWdOaTR6TFRaekxUSXVPRFV0TmkwMkxqTXROa2czTGpORE15NDROU0F3SURFZ01pNDJJREVnTm5NeUxqZzFJRFlnTmk0eklEWjZJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpSUc5d1lXTnBkSGs5SWk0MUlpOCtQQzl6ZG1jKyk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxOHB4O3dpZHRoOjMwcHg7YmFja2dyb3VuZC1pbWFnZTp1bnNldDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpO2JvcmRlci1yYWRpdXM6OXB4O21hcmdpbjowIDlweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC5kZWxoaS1mYXN0LWZvbGxvdy1hdXRvbmF2LXRvZ2dsZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdGV4dC1wcmltYXJ5LCNmZmYpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLmRlbGhpLWZhc3QtZm9sbG93LWF1dG9uYXYtdG9nZ2xlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD1mYWxzZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4xKSl9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257bWFyZ2luOjAgY2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsIDU2cHgpIC0gMzBweCkvMil9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257aGVpZ2h0OjEzLjVweDt3aWR0aDoyMi41cHg7Ym9yZGVyLXJhZGl1czo2Ljc1cHg7bWFyZ2luOjAgNXB4fS55dHAtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbiwueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxMC44cHg7d2lkdGg6MjdweDtib3JkZXItcmFkaXVzOjEwLjhweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxOHB4O3dpZHRoOjQ1cHg7Ym9yZGVyLXJhZGl1czoxOHB4fS55dHAtZW1iZWQgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257aGVpZ2h0OjEycHg7d2lkdGg6MzBweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b25bYXJpYS1jaGVja2VkPXRydWVde2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek1DSWdhR1ZwWjJoMFBTSXhNaUlnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTWpJdU55QXhNV015TGprMUlEQWdOUzR6TFRJdU1qRWdOUzR6TFRWekxUSXVNelV0TlMwMUxqTXROVWczTGpORE5DNHpOU0F4SURJZ015NHlNU0F5SURaek1pNHpOU0ExSURVdU15QTFlbTB0TWk0M0xTNDNOWFl0T0M0MWJEWXVOeUEwTGpJMmVpSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaUJ2Y0dGamFYUjVQU0l1TlNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpNaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRjdU15QXhRelF1TXpVZ01TQXlJRE11TWpFZ01pQTJjekl1TXpVZ05TQTFMak1nTldneE5TNDBRVFV1TVRZZ05TNHhOaUF3SURBZ01DQXlPQ0EyYkMwdU1ETXRMalUwUVRVdU1UWWdOUzR4TmlBd0lEQWdNQ0F5TWk0M0lERjZiVEUxTGpRZ01URmpNeTQwTlNBd0lEWXVNeTB5TGpZZ05pNHpMVFp6TFRJdU9EVXROaTAyTGpNdE5rZzNMak5ETXk0NE5TQXdJREVnTWk0MklERWdObk15TGpnMUlEWWdOaTR6SURaNklpQmpiR2x3TFhKMWJHVTlJbVYyWlc1dlpHUWlJRzl3WVdOcGRIazlJaTQxSWk4K1BDOXpkbWMrKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjIwLjRweDt3aWR0aDoyMC40cHg7Ym9yZGVyLXJhZGl1czoyMC40cHg7bWFyZ2luLXRvcDotM3B4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBeE55QXhOeUkrUEhCaGRHZ2dabWxzYkQwaUl6Y3hOekUzTVNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOT0M0MUlERTJZVGN1TlNBM0xqVWdNQ0F4SURBZ01DMHhOU0EzTGpVZ055NDFJREFnTUNBd0lEQWdNVFVpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpFMUlpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR1E5SWsweE55QTRMalZoT0M0MUlEZ3VOU0F3SURFZ01TMHhOeUF3SURndU5TQTRMalVnTUNBd0lERWdNVGNnTUcwdE1TQXdZVGN1TlNBM0xqVWdNQ0F4SURFdE1UVWdNQ0EzTGpVZ055NDFJREFnTUNBeElERTFJREFpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazAxTGpVZ01USm9NbFkxYUMweWVtMDBMVGQyTjJneVZqVjZJaTgrUEM5emRtYyspOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LXRyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1pY29ucyAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntoZWlnaHQ6MTRweDt3aWR0aDoxNHB4O2JvcmRlci1yYWRpdXM6N3B4O21hcmdpbjoycHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TmlJZ2FHVnBaMmgwUFNJek5pSWdabWxzYkQwaWJtOXVaU0lnZG1sbGQwSnZlRDBpTUNBd0lETTJJRE0ySWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NVEl1TnpVZ05DNDFhQzB6WXkwdU5pQXdMVEV1TVRjdU1qTXRNUzQyTGpZMUxTNDBNaTQwTXkwdU5qVWdNUzB1TmpVZ01TNDJkakl5TGpWak1DQXVOVGt1TWpNZ01TNHhOaTQyTlNBeExqVTVMalF6TGpReUlERWdMalkySURFdU5pNDJObWd6WXk0MU9TQXdJREV1TVRZdExqSTBJREV1TlRrdExqWTJMalF5TFM0ME15NDJOaTB4SUM0Mk5pMHhMalU1VmpZdU56VmpNQzB1TmkwdU1qUXRNUzR4TnkwdU5qWXRNUzQyTFM0ME15MHVOREl0TVMwdU5qVXRNUzQxT1MwdU5qVnRNVE11TlNBd2FDMHpZeTB1TmlBd0xURXVNVGN1TWpNdE1TNDJMalkxTFM0ME1pNDBNeTB1TmpVZ01TMHVOalVnTVM0MmRqSXlMalZqTUNBdU5Ua3VNak1nTVM0eE5pNDJOU0F4TGpVNUxqUXpMalF5SURFZ0xqWTJJREV1Tmk0Mk5tZ3pZeTQxT1NBd0lERXVNVFl0TGpJMElERXVOVGt0TGpZMkxqUXlMUzQwTXk0Mk5pMHhJQzQyTmkweExqVTVWall1TnpWak1DMHVOaTB1TWpRdE1TNHhOeTB1TmpZdE1TNDJMUzQwTXkwdU5ESXRNUzB1TmpVdE1TNDFPUzB1TmpVaUx6NDhMM04yWno0PSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5cHggOXB4O2JhY2tncm91bmQtc2l6ZTo5cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC5kZWxoaS1mYXN0LWZvbGxvdy1hdXRvbmF2LXRvZ2dsZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKTk1USXVOelVnTkM0MWFDMHpZeTB1TmlBd0xURXVNVGN1TWpNdE1TNDJMalkxTFM0ME1pNDBNeTB1TmpVZ01TMHVOalVnTVM0MmRqSXlMalZqTUNBdU5Ua3VNak1nTVM0eE5pNDJOU0F4TGpVNUxqUXpMalF5SURFZ0xqWTJJREV1Tmk0Mk5tZ3pZeTQxT1NBd0lERXVNVFl0TGpJMElERXVOVGt0TGpZMkxqUXlMUzQwTXk0Mk5pMHhJQzQyTmkweExqVTVWall1TnpWak1DMHVOaTB1TWpRdE1TNHhOeTB1TmpZdE1TNDJMUzQwTXkwdU5ESXRNUzB1TmpVdE1TNDFPUzB1TmpWdE1UTXVOU0F3YUMwell5MHVOaUF3TFRFdU1UY3VNak10TVM0MkxqWTFMUzQwTWk0ME15MHVOalVnTVMwdU5qVWdNUzQyZGpJeUxqVmpNQ0F1TlRrdU1qTWdNUzR4Tmk0Mk5TQXhMalU1TGpRekxqUXlJREVnTGpZMklERXVOaTQyTm1nell5NDFPU0F3SURFdU1UWXRMakkwSURFdU5Ua3RMalkyTGpReUxTNDBNeTQyTmkweElDNDJOaTB4TGpVNVZqWXVOelZqTUMwdU5pMHVNalF0TVM0eE55MHVOall0TVM0MkxTNDBNeTB1TkRJdE1TMHVOalV0TVM0MU9TMHVOalVpTHo0OEwzTjJaejQ9KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXByaW1hcnksI2ZmZil9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7aGVpZ2h0OjEwLjVweDt3aWR0aDoxMC41cHg7Ym9yZGVyLXJhZGl1czo1LjI1cHg7bWFyZ2luOjFweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7bGVmdDotMnB4O2hlaWdodDoxNS4zcHg7d2lkdGg6MTUuM3B4O2JvcmRlci1yYWRpdXM6MTUuM3B4O21hcmdpbi10b3A6LTIuMjVweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uOmFmdGVye2xlZnQ6MDtoZWlnaHQ6MjUuNXB4O3dpZHRoOjI1LjVweDtib3JkZXItcmFkaXVzOjI1LjVweDttYXJnaW4tdG9wOi0zLjc1cHh9Lnl0cC1lbWJlZCAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntsZWZ0OjA7aGVpZ2h0OjE3cHg7d2lkdGg6MTdweDtib3JkZXItcmFkaXVzOjE3cHg7bWFyZ2luLXRvcDotMi41cHh9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b25bYXJpYS1jaGVja2VkPXRydWVdOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBeE55QXhOeUkrUEhCaGRHZ2dabWxzYkQwaUl6QXdNQ0lnWm1sc2JDMXZjR0ZqYVhSNVBTSXVNVFVpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEUzSURndU5XRTRMalVnT0M0MUlEQWdNU0F4TFRFM0lEQWdPQzQxSURndU5TQXdJREFnTVNBeE55QXdiUzAxSURCTU5pNDFJRFYyTjNwdExURXVPRFlnTUV3M0xqVWdOaTQ0TW5ZekxqTTJlazA0TGpVZ01UWmhOeTQxSURjdU5TQXdJREVnTUNBd0xURTFJRGN1TlNBM0xqVWdNQ0F3SURBZ01DQXhOU0lnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWk4K1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTVRZZ09DNDFZVGN1TlNBM0xqVWdNQ0F4SURFdE1UVWdNQ0EzTGpVZ055NDFJREFnTUNBeElERTFJREJ0TFRRZ01FdzJMalVnTVRKV05Yb2lJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0l2UGp3dmMzWm5QZz09KTtsZWZ0OjFweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1LjZweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1LjZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTUuNnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKdE1UY2dPQzQyTFRZdU1URXRNeTQyTVdNdE1TNDFMUzQ0T0MwekxqTTVMakl0TXk0ek9TQXhMamswZGpJeUxqRXpZekFnTVM0M05DQXhMamc1SURJdU9ESWdNeTR6T1NBeExqazBUREUzSURJM0xqUjZiVEFnTUhZeE9DNDRURE16SURFNGVpSXZQand2YzNablBnPT0pO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5cHggOXB4O2JhY2tncm91bmQtc2l6ZTo5cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEycHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLmRlbGhpLWZhc3QtZm9sbG93LWF1dG9uYXYtdG9nZ2xlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKdE1UY2dPQzQyTFRZdU1URXRNeTQyTVdNdE1TNDFMUzQ0T0MwekxqTTVMakl0TXk0ek9TQXhMamswZGpJeUxqRXpZekFnTVM0M05DQXhMamc1SURJdU9ESWdNeTR6T1NBeExqazBUREUzSURJM0xqUjZiVEFnTUhZeE9DNDRURE16SURFNGVpSXZQand2YzNablBnPT0pO2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtc29saWQsIzBmMGYwZil9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExLjdweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExLjdweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTEuN3B4KX0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE5LjVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE5LjVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTkuNXB4KX0ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWRlbGhpLW1vZGVybiAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV06YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDhweCl9Lnl0cC1lbWJlZCAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV06YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxM3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTNweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTNweCl9Lnl0cC1iZXplbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3dpZHRoOjUycHg7aGVpZ2h0OjUycHg7ei1pbmRleDoxOTttYXJnaW4tbGVmdDotMjZweDttYXJnaW4tdG9wOi0yNnB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7Ym9yZGVyLXJhZGl1czoyNnB4Oy13ZWJraXQtYW5pbWF0aW9uOnl0cC1iZXplbC1mYWRlb3V0IC41cyBsaW5lYXIgMSBub3JtYWwgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC1iZXplbC1mYWRlb3V0IC41cyBsaW5lYXIgMSBub3JtYWwgZm9yd2FyZHM7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVse2xlZnQ6NTAlO3RvcDo1MCU7d2lkdGg6NzhweDtoZWlnaHQ6NzhweDttYXJnaW4tbGVmdDotMzlweDttYXJnaW4tdG9wOi0zOXB4O2JvcmRlci1yYWRpdXM6MzlweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpOy13ZWJraXQtYW5pbWF0aW9uOnl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtZmFkZW91dCAxcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAxIG5vcm1hbCBmb3J3YXJkczthbmltYXRpb246eXRwLWRlbGhpLW1vZGVybi1iZXplbC1mYWRlb3V0IDFzIGN1YmljLWJlemllciguMDUsMCwwLDEpIDEgbm9ybWFsIGZvcndhcmRzfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYmV6ZWwtaWNvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWJpZy1tb2RlIC55dHAtYmV6ZWx7d2lkdGg6NzhweDtoZWlnaHQ6NzhweDttYXJnaW4tbGVmdDotMzlweDttYXJnaW4tdG9wOi0zOXB4O2JvcmRlci1yYWRpdXM6MzlweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1iZXplbHt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O21hcmdpbi1sZWZ0Oi0zMnB4O21hcmdpbi10b3A6LTMycHg7Ym9yZGVyLXJhZGl1czozMnB4fS55dHAtYmV6ZWwtaWNvbnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21hcmdpbjo2cHh9Lnl0cC1wbGF5ZXItY29udGVudCAueXRwLWJlemVsLWljb257d2lkdGg6NDhweDtoZWlnaHQ6NDhweDttYXJnaW46MnB4fS55dHAtYmlnLW1vZGUgLnl0cC1iZXplbC1pY29uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtYmV6ZWwtaWNvbnt3aWR0aDo1NHB4O2hlaWdodDo1NHB4O21hcmdpbjoxMnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWJlemVsLWljb257d2lkdGg6NDhweDtoZWlnaHQ6NDhweDttYXJnaW46OHB4fS55dHAtYmV6ZWwtdGV4dC13cmFwcGVye3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDoxMCU7ei1pbmRleDoxOX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVsLXRleHQtd3JhcHBlcnstd2Via2l0LWFuaW1hdGlvbjp5dHAtZGVsaGktbW9kZXJuLWJlemVsLXRleHQtZmFkZW91dCAxcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAxIG5vcm1hbCBmb3J3YXJkczthbmltYXRpb246eXRwLWRlbGhpLW1vZGVybi1iZXplbC10ZXh0LWZhZGVvdXQgMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHN9Lnl0cC1iZXplbC10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MTBweCAyMHB4O2ZvbnQtc2l6ZToxNzUlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjNweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVsLXRleHR7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKX0ueXRwLWJlemVsLXRleHQtaGlkZSAueXRwLWJlemVsLXRleHR7ZGlzcGxheTpub25lfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX19QGtleWZyYW1lcyB5dHAtYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjB9MjUlLDc1JXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zMyk7dHJhbnNmb3JtOnNjYWxlKDEuMzMpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgeXRwLWRlbGhpLW1vZGVybi1iZXplbC1mYWRlb3V0ezAle29wYWNpdHk6MH0yNSUsNzUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMzKTt0cmFuc2Zvcm06c2NhbGUoMS4zMyl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtdGV4dC1mYWRlb3V0ezAle29wYWNpdHk6MH0yNSUsNzUle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgeXRwLWRlbGhpLW1vZGVybi1iZXplbC10ZXh0LWZhZGVvdXR7MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjYyfS55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvblthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLWNhcmRzLWJ1dHRvbi1pY29ue3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKTtib3JkZXItcmFkaXVzOjE4cHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9ue21heC13aWR0aDo4MHB4O3dpZHRoOjM2cHh9Lnl0cC1zaG93LWNhcmRzLXRpdGxlIC55dHAtY2FyZHMtYnV0dG9ue21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKS55dHAtc21hbGwtbW9kZSAueXRwLWNhcmRzLWJ1dHRvbntwYWRkaW5nLXRvcDoxNnB4fS55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtkaXNwbGF5OmJsb2NrfS55dHAtY2FyZHMtYnV0dG9uLWljb24tc2hvcHBpbmcsLnl0cC1zbWFsbC1tb2RlIC55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtkaXNwbGF5Om5vbmV9Lnl0cC1jYXJkcy1zaG9wcGluZy1hY3RpdmUgLnl0cC1jYXJkcy1idXR0b24taWNvbi1zaG9wcGluZ3tkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWNhcmRzLXNob3BwaW5nLWFjdGl2ZSAueXRwLWNhcmRzLWJ1dHRvbi1pY29uLWRlZmF1bHR7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uLC55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvfS55dHAtY2FyZHMtYnV0dG9uLWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtYnV0dG9uLWljb257d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0ueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1jYXJkcy1idXR0b24tdGl0bGV7Zm9udC1zaXplOjIwcHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uLXRpdGxle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2FyZHMtYnV0dG9uIC55dHAtc3ZnLXNoYWRvd3std2Via2l0LXRyYW5zaXRpb246c3Ryb2tlLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpzdHJva2Utb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3d7c3Ryb2tlLW9wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246c3Ryb2tlLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjI1czt0cmFuc2l0aW9uOnN0cm9rZS1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC4yNXN9Lnl0cC1jYXJkcy1idXR0b24gLnl0cC1zdmctc2hhZG93LWZpbGx7LXdlYmtpdC10cmFuc2l0aW9uOmZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3ctZmlsbHtmaWxsLW9wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246ZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC4yNXM7dHJhbnNpdGlvbjpmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjI1c30ueXRwLWNhcmRzLXNob3BwaW5nLWFjdGl2ZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtYnV0dG9uIC55dHAtc3ZnLWZpbGx7ZmlsbDojMjc5M2U2fS55dHAtY2FyZHMtc2hvcHBpbmctYWN0aXZlLnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy1idXR0b24gLnl0cC1zdmctc2hhZG93e3N0cm9rZTojZmZmO3N0cm9rZS1vcGFjaXR5OjF9Lnl0cC1jYXJkcy1zaG9wcGluZy1hY3RpdmUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3ctZmlsbHtmaWxsOiNmZmY7ZmlsbC1vcGFjaXR5OjF9Lnl0cC1jYXJkcy10ZWFzZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjguNXB4O3JpZ2h0OjA7bWF4LXdpZHRoOjkwJTtvcGFjaXR5Oi43NTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjYxOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2Vye3RvcDoxM3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKS55dHAtc21hbGwtbW9kZSAueXRwLWNhcmRzLXRlYXNlcnt0b3A6MTZweH0uaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmc6bm90KC52aWRlb0FkVWlSZWRlc2lnbikgLnl0cC1jYXJkcy10ZWFzZXJ7dG9wOjQwcHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXIsLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlcntvcGFjaXR5OjF9Lnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXJ7b3BhY2l0eTouOX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlcjpob3ZlcntvcGFjaXR5OjF9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1jYXJkcy10ZWFzZXItc2hvd24pIC55dHAtY2FyZHMtdGVhc2VyLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1jYXJkcy10ZWFzZXJ7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4zM3M7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4zM3N9Lnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWNhcmRzLXRlYXNlcnstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30ueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3gsLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHtoZWlnaHQ6MzFweH0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveCwueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7aGVpZ2h0OjQ2cHh9Lnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItYm94e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czoycHg7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllciguNCwwLDEsMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMCkgdHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IDA7LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgMDt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IDB9Lnl0cC1iaWctbW9kZSAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7cmlnaHQ6MjdweH0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDE4cHgpOy1tcy10cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMThweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDE4cHgpfS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMjdweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgyN3B4KTt0cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMjdweCl9W2Rpcj1ydGxdIC55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMThweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMThweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKC0xOHB4KX1bZGlyPXJ0bF0gLnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMjdweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMjdweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKC0yN3B4KX0ueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MCAzNnB4IDAgMTBweDttYXgtd2lkdGg6MDtvcGFjaXR5OjA7Y29sb3I6IzAwMDtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjEwOS4wOTA5MDklO2xpbmUtaGVpZ2h0OjMxcHg7dGV4dC1zaGFkb3c6bm9uZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjE2NXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXgtd2lkdGggMHMgZWFzZSAuMTY1czt0cmFuc2l0aW9uOm9wYWNpdHkgLjE2NXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXgtd2lkdGggMHMgZWFzZSAuMTY1c30ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7cGFkZGluZzowIDY2cHggMCAxMnB4O2xpbmUtaGVpZ2h0OjQ2cHh9Lnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHttYXgtd2lkdGg6NDE1cHg7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjQxNXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjQxNXN9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7bWF4LXdpZHRoOjYzNXB4fS55dHAtY2FyZHMtdGVhc2VyLWNoYW5uZWwtYXZhdGFye2Rpc3BsYXk6bm9uZX0ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3dpZHRoOjMwcHg7bGVmdDpjYWxjKDEwMCUgLSAzMHB4KTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOndpZHRoIC4zM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eToxOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSk7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6MThweH0ueXRwLWJpZy1tb2RlLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHtib3JkZXItcmFkaXVzOjIycHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2hhbm5lbC1hdmF0YXJ7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDttYXJnaW46NHB4O2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpwb2ludGVyO2Zsb2F0OmxlZnR9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWNoYW5uZWwtYXZhdGFye21hcmdpbjoxMnB4fS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlLnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHt3aWR0aDoxMDAlO2xlZnQ6MDstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMnMsbGVmdCAuMzNzIGN1YmljLWJlemllciguMDUsMCwwLDEpIC4yczt0cmFuc2l0aW9uOndpZHRoIC4zM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgLjJzLGxlZnQgLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMnN9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItaW5mby1pY29ue2hlaWdodDozMHB4O3dpZHRoOjMwcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6bGVmdH0ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci1jbG9zZS1idXR0b257aGVpZ2h0OjMwcHg7d2lkdGg6MjBweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MCA1cHg7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6cmlnaHR9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2xvc2UtYnV0dG9uIHBhdGh7ZmlsbDojNzE3MTcxfS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWxhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6MzBweDttYXgtd2lkdGg6MzUwcHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItYm94e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTpub25lfS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci1pbmZvLWljb257aGVpZ2h0OjQ1cHg7d2lkdGg6NDVweH0ueXRwLWJpZy1tb2RlLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2xvc2UtYnV0dG9ue2hlaWdodDo0NXB4O3dpZHRoOjMwcHg7bWFyZ2luOjAgNy41cHh9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWxhYmVse2xpbmUtaGVpZ2h0OjQ1cHg7bWF4LXdpZHRoOjUyNXB4fS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3BhZGRpbmc6MH0ueXRwLWVtYmVkLnl0cC1jYXJkcy10ZWFzZXItc2hvd24ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNocm9tZS10b3AtYnV0dG9ucz46bm90KC55dHAtY2FyZHMtdGVhc2VyKXt2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC10aXRsZXttaW4taGVpZ2h0OjUycHh9Lnl0cC1iaWctbW9kZS55dHAtdGl0bGUtZW5hYmxlLWNoYW5uZWwtbG9nbyAueXRwLXRpdGxle21pbi1oZWlnaHQ6NzVweH0ueXRwLXNob3J0cy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC55dHAtdGl0bGV7bWluLWhlaWdodDo0MnB4fTpub3QoLnl0cC1zaG9ydHMtbW9kZSkueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC10aXRsZS10ZXh0e3BhZGRpbmctbGVmdDo1MHB4fTpub3QoLnl0cC1zaG9ydHMtbW9kZSkueXRwLWJpZy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLWxlZnQ6NzVweH0ueXRwLXRpdGxlLWxpbmt7ZGlzcGxheTpibG9jazt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRwLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowO21hcmdpbjo1cHg7LXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtiYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtmbG9hdDpsZWZ0O2JvcmRlci1yYWRpdXM6NTAlfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1jaGFubmVsLWxvZ297d2lkdGg6NjBweDtoZWlnaHQ6NjBweH0ueXRwLWVtYmVkLW1vYmlsZSAueXRwLXRpdGxlLWNoYW5uZWwtbG9nbywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo0OHB4O2hlaWdodDo0OHB4O21hcmdpbjowfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluezAle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOjEwJX0yNSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KX03NSV7bWF4LXdpZHRoOjEwMCV9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1pbnswJXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O21heC13aWR0aDoxMCV9MjUle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSl9NzUle21heC13aWR0aDoxMDAlfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1vdXR7MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MDBweH03NSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MHB4fX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1jaGFubmVsLWZhZGUtb3V0ezAle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSk7d2lkdGg6NTAwcHh9NzUle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSk7d2lkdGg6NTBweH19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC10aXRsZS1jaGFubmVsLWZhZGUtaW4tYmlnLW1vZGV7MCV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDttYXgtd2lkdGg6MTUlfTI1JXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpfTc1JXttYXgtd2lkdGg6MTAwJX19QGtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluLWJpZy1tb2RlezAle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOjE1JX0yNSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KX03NSV7bWF4LXdpZHRoOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLW91dC1iaWctbW9kZXswJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjUwMHB4fTc1JXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjcwcHh9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1vdXQtYmlnLW1vZGV7MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MDBweH03NSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo3MHB4fX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1leHBhbmRlZC1mYWRlLWluezAle29wYWNpdHk6MH0yNSV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC10aXRsZS1leHBhbmRlZC1mYWRlLW91dHswJXtvcGFjaXR5OjF9MjUle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtb3V0ezAle29wYWNpdHk6MX0yNSV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lnl0cC10aXRsZS1jaGFubmVse2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoyNXB4O2Rpc3BsYXk6bm9uZTtoZWlnaHQ6NTBweDttYXJnaW4tbGVmdDotNXB4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6N3B4O2xlZnQ6MDt3aWR0aDo1MHB4fS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1jaGFubmVse3dpZHRoOjcwcHg7aGVpZ2h0OjcwcHg7bWFyZ2luLXRvcDoxMHB4fS55dHAtdGl0bGUtZW5hYmxlLWNoYW5uZWwtbG9nbyAueXRwLXRpdGxlLWNoYW5uZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9Lnl0cC10aXRsZS1jaGFubmVsLnl0cC10aXRsZS1zaG93LWV4cGFuZGVkey13ZWJraXQtYW5pbWF0aW9uOnl0cC10aXRsZS1jaGFubmVsLWZhZGUtaW4gLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtY2hhbm5lbC55dHAtdGl0bGUtc2hvdy1leHBhbmRlZHstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluLWJpZy1tb2RlIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTthbmltYXRpb246eXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1pbi1iaWctbW9kZSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC10aXRsZS1jaGFubmVsLnl0cC10aXRsZS1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO2JvcmRlci1yYWRpdXM6MjVweDttYXgtd2lkdGg6MTAwJTt6LWluZGV4OjE7d2lkdGg6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtY2hhbm5lbC55dHAtdGl0bGUtZXhwYW5kZWR7Ym9yZGVyLXJhZGl1czozNXB4fS55dHAtdGl0bGUtZXhwYW5kZWQtb3ZlcmxheXtkaXNwbGF5OmNvbnRlbnRzO21heC13aWR0aDoxMDAlO29wYWNpdHk6MDtwYWRkaW5nLXJpZ2h0OjhweDt3aWR0aDphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e21heC13aWR0aDoxMDAlfS55dHAtdGl0bGUtZXhwYW5kZWQgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e29wYWNpdHk6MX0ueXRwLXRpdGxlLXNob3ctZXhwYW5kZWQgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e29wYWNpdHk6MTstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtZXhwYW5kZWQtZmFkZS1pbiAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC10aXRsZS1leHBhbmRlZC1mYWRlLWluIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtc2hvdy1leHBhbmRlZCAueXRwLXRpdGxlLWV4cGFuZGVkLW92ZXJsYXl7LXdlYmtpdC1hbmltYXRpb246eXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtaW4tYmlnLW1vZGUgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtdGl0bGUtZXhwYW5kZWQtZmFkZS1pbi1iaWctbW9kZSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC10aXRsZS1leHBhbmRlZC1oZWFkaW5ne21hcmdpbjo1cHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC10aXRsZS1leHBhbmRlZC10aXRsZXtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bWFyZ2luOjB9Lnl0cC1iaWctbW9kZSAueXRwLXRpdGxlLWV4cGFuZGVkLXRpdGxle2ZvbnQtc2l6ZToyMnB4fS55dHAtdGl0bGUtZXhwYW5kZWQtdGl0bGUgYXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtdGl0bGUtZXhwYW5kZWQtc3VidGl0bGV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1leHBhbmRlZC1zdWJ0aXRsZXtmb250LXNpemU6MTZweH0ueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZS1jaGFubmVsIC55dHAtc2J7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjttYXJnaW46NXB4O2hlaWdodDphdXRvO3dpZHRoOmF1dG87cGFkZGluZzowO3BhZGRpbmctbGVmdDoxNnB4O3RleHQtc2hhZG93Om5vbmU7bWFyZ2luLXJpZ2h0OjdweH0ueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJlLGEueXRwLXNiLXN1YnNjcmliZXttYXJnaW4tbGVmdDo2NXB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtdGl0bGUtY2hhbm5lbCAueXRwLXNiLXN1YnNjcmliZSwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLXRpdGxlLWNoYW5uZWwgLnl0cC1zYi11bnN1YnNjcmliZXtmb250LXNpemU6MTZweDtwYWRkaW5nOjE0cHggMjBweDttYXJnaW4tcmlnaHQ6N3B4fS55dHAtdGl0bGUtZXhwYW5kZWQgLnl0cC10aXRsZS1iZWFjb24sLnl0cC10aXRsZS1leHBhbmRlZCAueXRwLXRpdGxlLXN1YnRleHQsLnl0cC10aXRsZS1leHBhbmRlZCAueXRwLXRpdGxlLXRleHR7ZGlzcGxheTpub25lfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtYmVhY29uLXB1bHNlezAle2JhY2tncm91bmQ6YmxhY2s7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtsZWZ0OjVweDt0b3A6NXB4fTUwJXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7bGVmdDowO3RvcDowfX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1iZWFjb24tcHVsc2V7MCV7YmFja2dyb3VuZDpibGFjazt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2xlZnQ6NXB4O3RvcDo1cHh9NTAle2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtsZWZ0OjA7dG9wOjB9fS55dHAtdGl0bGUtYmVhY29ue2JvcmRlci1yYWRpdXM6MjVweDtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtYmVhY29uLXB1bHNlIDJzIDU7YW5pbWF0aW9uOnl0cC10aXRsZS1iZWFjb24tcHVsc2UgMnMgNX0udW5zdGFydGVkLW1vZGUgLnl0cC10aXRsZS1iZWFjb257ZGlzcGxheTpibG9ja30ueXRwLWJpZy1tb2RlIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLnl0cC1jaGFwdGVyLWNvbnRhaW5lci1kaXNhYmxlZCwueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbi55dHAtY2hhcHRlci1jb250YWluZXItZGlzYWJsZWR7b3BhY2l0eTouOX0ueXRwLWJpZy1tb2RlIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttYXgtd2lkdGg6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbnstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9ue2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbntoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1jaGFwdGVyLWNvbnRhaW5lci1kaXNhYmxlZCAueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbiwueXRwLWVtYmVkIC55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9uLC55dHAtcHJvZmlsZS1wYWdlIC55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9ue2Rpc3BsYXk6bm9uZX0ueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbnstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCAyMHB4O2ZsZXg6MCAwIDIwcHg7d2lkdGg6MjBweDtwb3NpdGlvbjpyZWxhdGl2ZTtib3R0b206MXB4fS55dHAtY2hhcHRlci10aXRsZS1jb250ZW50ey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAxIGF1dG87ZmxleDowIDEgYXV0bzt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaGFwdGVyLXRpdGxlLWNvbnRlbnR7bGluZS1oZWlnaHQ6MjRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1iaWctbW9kZSAueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbnt3aWR0aDoyOHB4fS55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1jaGFwdGVyLXRpdGxlLXByZWZpeHtwYWRkaW5nLXJpZ2h0OjVweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUtcHJlZml4LC55dHAtbGl2ZSAueXRwLWNoYXB0ZXItdGl0bGV7ZGlzcGxheTpub25lfS55dHAtZW1iZWQgLnl0cC1jaGFwdGVyLWNvbnRhaW5lciAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hhcHRlci1jb250YWluZXIgLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257Y3Vyc29yOnRleHQ7d2lkdGg6MTAwJX0ueXRwLWNoYXB0ZXItY29udGFpbmVyIC55dHAtcHJvZmlsZS1wYWdlLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257Y3Vyc29yOnRleHR9Lnl0cC1leHAtYm90dG9tLWNvbnRyb2wtZmxleGJveCAueXRwLWNoYXB0ZXItY29udGFpbmVyey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAxIDEwMCU7ZmxleDowIDEgMTAwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtY2hhcHRlci1jb250YWluZXJ7ZmxvYXQ6bGVmdH0ueXRwLWNoYXB0ZXItY29udGFpbmVye2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxMDklO3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW46MCA1cHggMCAwO3doaXRlLXNwYWNlOm5vd3JhcDtsaW5lLWhlaWdodDo0N3B4fS55dHAtZW1iZWQgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntsaW5lLWhlaWdodDozOXB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntsaW5lLWhlaWdodDo1M3B4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy10b3A6dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDEwMCBhdXRvO2ZsZXg6MCAxMDAgYXV0b30ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntwYWRkaW5nLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNoYXB0ZXItY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLWNvbnRleHRtZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjIzMDA7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO3RleHQtYWxpZ246bGVmdDtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO3dpbGwtY2hhbmdlOndpZHRoLGhlaWdodDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1wb3B1cC55dHAtZGVsaGktbW9kZXJuLWNvbnRleHRtZW51e2JvcmRlci1yYWRpdXM6MTJweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtY29udGV4dG1lbnUgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MjBweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjEycHg7d2lkdGg6MjBweH0ueXRwLWNvbnRleHRtZW51IC55dHAtY29sbGFwc2U6aG92ZXJ7b3BhY2l0eToxfS55dHAtZG5pLnl0cC1jb250ZXh0bWVudXt0ZXh0LXNoYWRvdzpub25lfS55dHAtYmlnLW1vZGUueXRwLWNvbnRleHRtZW51e2ZvbnQtc2l6ZToxN3B4fS55dHAtYXV0b2hpZGUueXRwLWVtYmVkLW92ZXJsYXlzLWF1dG9oaWRlLnl0cC1jb250ZXh0bWVudXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUueXRwLWNvbnRleHRtZW51e2Rpc3BsYXk6bm9uZX0ueXRwLWNvbnRleHRtZW51IGEsLnl0cC1jb250ZXh0bWVudSBhOmZvY3VzLC55dHAtY29udGV4dG1lbnUgYTpob3Zlcntjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lfS55dHAtY29weXRleHR7bWFyZ2luOjAgMTBweDttYXgtd2lkdGg6MjAwcHg7b3V0bGluZTpub25lO3RleHQtc2hhZG93Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LW1vei11c2VyLXNlbGVjdDp0ZXh0Oy1tcy11c2VyLXNlbGVjdDp0ZXh0Oy13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dH0ueXRwLWNvcHl0ZXh0OjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2NvbG9yOmJsYWNrfS55dHAtaHRtbDUtY2xpcGJvYXJke3RvcDowO2xlZnQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTstbW96LXVzZXItc2VsZWN0OnRleHQ7LW1zLXVzZXItc2VsZWN0OnRleHQ7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0fS55dHAtc2hvdy1jb3B5bGluay10aXRsZS55dHAtY29weWxpbmstYnV0dG9ue21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9Lnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLXNob3ctY29weWxpbmstdGl0bGUueXRwLWNvcHlsaW5rLWJ1dHRvbnttYXJnaW4tbGVmdDoyMHB4O21hcmdpbi1yaWdodDoyMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstYnV0dG9uLC55dHAtY2hyb21lLXRvcCAueXRwLWNvcHlsaW5rLWJ1dHRvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYmlnLW1vZGUpIC55dHAtY2hyb21lLXRvcCAueXRwLWNvcHlsaW5rLWJ1dHRvbnttaW4td2lkdGg6NDhweDttYXgtd2lkdGg6ODBweH0ueXRwLWNvcHlsaW5rLWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtY29weWxpbmstaWNvbnt3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS55dHAtb3ZlcmZsb3ctcGFuZWwgLnl0cC1jb3B5bGluay1pY29ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS55dHAtY29weWxpbmstdGl0bGV7Zm9udC13ZWlnaHQ6NTAwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxNHB4O2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY29weWxpbmstdGl0bGUsLnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLWNvcHlsaW5rLXRpdGxle2ZvbnQtc2l6ZToyMHB4fS55dHAtc2hvdy1jb3B5bGluay10aXRsZSAueXRwLWNvcHlsaW5rLXRpdGxle2Rpc3BsYXk6YmxvY2t9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstdGl0bGV7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW59Lnl0cC1jb3VudGRvd24tdGltZXJ7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3otaW5kZXg6Mzk7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuNik7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLC42KTtib3JkZXItcmFkaXVzOjE4cHh9Lnl0cC1icmFuZGluZy1zaG93biAueXRwLWNvdW50ZG93bi10aW1lcntib3R0b206NTJweH0ueXRwLWNvdW50ZG93bi10aW1lci10aW1le2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiNGRkY7bGluZS1oZWlnaHQ6MzZweDt3aWR0aDozNnB4O2ZvbnQtd2VpZ2h0OjUwMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2IoMCwwLDApfS55dHAtZnJlZS1wcmV2aWV3LWNvdW50ZG93bi10aW1lcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6NXB4O2xlZnQ6MjBweDtoZWlnaHQ6MjRweDtib3R0b206MjBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6IzAwMDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO3dpZHRoOmF1dG87ei1pbmRleDo4Mjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1mcmVlLXByZXZpZXctY291bnRkb3duLXRpbWVyLXNlcGFyYXRvcntwYWRkaW5nOjAgM3B4fS55dC11aS1lbGxpcHNpc3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC13cmFwOmJyZWFrLXdvcmR9Lnl0LXVpLWVsbGlwc2lzLW5vd3JhcC1zaW5nbGUtbGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOmJyZWFrLXdvcmQ7bWF4LWhlaWdodDoxLjNlbX0ueXQtdWktZWxsaXBzaXM6YWZ0ZXIsLnl0LXVpLWVsbGlwc2lzOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGV9Lnl0LXVpLWVsbGlwc2lzOmJlZm9yZXtjb250ZW50OiLigKYiO3JpZ2h0OjB9Lnl0LXVpLWVsbGlwc2lzOmFmdGVye2NvbnRlbnQ6IiI7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXQtdWktZWxsaXBzaXMtMjpiZWZvcmV7dG9wOjEuM2VtfS55dC11aS1lbGxpcHNpcy0zOmJlZm9yZXt0b3A6Mi42ZW19Lnl0LXVpLWVsbGlwc2lzLTQ6YmVmb3Jle3RvcDozLjllbX0ueXQtdWktZWxsaXBzaXMtNjpiZWZvcmV7dG9wOjYuNWVtfS55dC11aS1lbGxpcHNpcy0xMDpiZWZvcmV7dG9wOjExLjdlbX0ueXQtdWktZWxsaXBzaXMtMnttYXgtaGVpZ2h0OjIuNmVtfS55dC11aS1lbGxpcHNpcy0ze21heC1oZWlnaHQ6My45ZW19Lnl0LXVpLWVsbGlwc2lzLTR7bWF4LWhlaWdodDo1LjJlbX0ueXQtdWktZWxsaXBzaXMtNnttYXgtaGVpZ2h0OjcuOGVtfS55dC11aS1lbGxpcHNpcy0xMHttYXgtaGVpZ2h0OjEzZW19LndlYmtpdCAueXQtdWktZWxsaXBzaXN7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWx9LndlYmtpdCAueXQtdWktZWxsaXBzaXMtMnstd2Via2l0LWxpbmUtY2xhbXA6Mn0ud2Via2l0IC55dC11aS1lbGxpcHNpcy0zey13ZWJraXQtbGluZS1jbGFtcDozfS53ZWJraXQgLnl0LXVpLWVsbGlwc2lzLTR7LXdlYmtpdC1saW5lLWNsYW1wOjR9LndlYmtpdCAueXQtdWktZWxsaXBzaXMtNnstd2Via2l0LWxpbmUtY2xhbXA6Nn0ud2Via2l0IC55dC11aS1lbGxpcHNpcy0xMHstd2Via2l0LWxpbmUtY2xhbXA6MTB9LndlYmtpdCAueXQtdWktZWxsaXBzaXM6YmVmb3Jle2NvbnRlbnQ6bm9ybWFsfS53ZWJraXQgLnl0LXVpLWVsbGlwc2lzOmFmdGVye2NvbnRlbnQ6IuKAjCI7cG9zaXRpb246c3RhdGljO3Zpc2liaWxpdHk6aGlkZGVufS55dC11aS1lbGxpcHNpc1tkaXI9cnRsXTpiZWZvcmV7bGVmdDowO3JpZ2h0OmF1dG99YS55dHAtY2UtbGlua3tkaXNwbGF5OmJsb2NrfWEueXRwLWNlLWxpbmssYS55dHAtY2UtbGluazpob3ZlcixhLnl0cC1jZS1saW5rOnZpc2l0ZWR7Y29sb3I6IzE2N2FjNn1hLnl0cC1jZS1saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1jZS1zaGFkb3d7b3BhY2l0eTowO291dGxpbmU6c29saWQgIzAwMDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDoxMn0ueXRwLWNlLXNoYWRvdzpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtvcGFjaXR5Oi4yNTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jZS1lbGVtZW50e2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNCk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNSk7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjUpO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MS4zZW07bWFyZ2luOi0xcHg7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC1mb250LXNtb290aGluZzphdXRvO3otaW5kZXg6MTI7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dmlzaWJpbGl0eTpoaWRkZW59Lnl0cC1jZS1oaWRlLWJ1dHRvbi1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjEycHg7cmlnaHQ6MTJweDt6LWluZGV4OjEzO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3Zpc2liaWxpdHk6aGlkZGVufS55dHAtY2UtaGlkZS1idXR0b24tY29udGFpbmVyLnl0cC1jZS1oaWRlLWJ1dHRvbi1sb3dlcnttYXJnaW4tdG9wOjQ4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNlLWhpZGUtYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjcycHh9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtY2UtZWxlbWVudCwuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1jZS1oaWRlLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtY2UtZWxlbWVudC55dHAtY2UtcGxhY2Vob2xkZXIgYS55dHAtY2UtY292ZXJpbmctb3ZlcmxheXtjdXJzb3I6ZGVmYXVsdH0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWVsZW1lbnQtc2hvdywueXRwLWNlLWhpZGUtYnV0dG9uLWNvbnRhaW5lci55dHAtY2UtZWxlbWVudC1zaG93e29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAwcyxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGJvcmRlci1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZm9yY2UtZXhwYW5ke2JvcmRlcjoxcHggc29saWQgI2ZmZjtvdXRsaW5lOm5vbmU7ei1pbmRleDoxMztvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIDBzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dmlzaWJpbGl0eTp2aXNpYmxlfS55dHAtY2UtZWxlbWVudC55dHAtY2UtZWxlbWVudC1zaG93OmZvY3VzLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZWxlbWVudC1zaG93OmhvdmVye291dGxpbmU6bm9uZX0ueXRwLWNlLWVsZW1lbnQtc2hhZG93e2JhY2tncm91bmQtY29sb3I6IzAwMDtib3R0b206LTFweDtsZWZ0Oi0xcHg7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi0xcHg7dG9wOi0xcHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6MTJ9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWVsZW1lbnQtc2hhZG93LXNob3cgLnl0cC1jZS1lbGVtZW50LXNoYWRvd3tvcGFjaXR5Oi4yNTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jZS1jb3ZlcmluZy1pbWFnZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO2JvdHRvbTotMnB4O2xlZnQ6LTFweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMXB4O3RvcDotMXB4fS55dHAtY2UtY292ZXJpbmctc2hhZG93LXRvcHtoZWlnaHQ6MzMlO29wYWNpdHk6Ljg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjMDAwLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCwjMDAwKSx0byh0cmFuc3BhcmVudCkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjMDAwIDAsdHJhbnNwYXJlbnQpfS55dHAtY2UtY292ZXJpbmctb3ZlcmxheXtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3otaW5kZXg6MTJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtY2Utc2hhZG93e2Rpc3BsYXk6bm9uZX0ueXRwLWNlLXBsYXlsaXN0LC55dHAtY2UtdmlkZW97b3ZlcmZsb3c6aGlkZGVufS55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS12aWRlby10aXRsZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luOjZweCA4cHg7bWF4LWhlaWdodDoyOHB4O3RleHQtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuNCl9Lnl0cC1jZS1wbGF5bGlzdC10aXRsZS55dHAtd2Via2l0LWVsbGlwc2lzLC55dHAtY2UtdmlkZW8tdGl0bGUueXRwLXdlYmtpdC1lbGxpcHNpc3tkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWNlLXZpZGVvLWR1cmF0aW9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7bWFyZ2luOjAgNHB4IDRweCAwO3BhZGRpbmc6NHB4IDZweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowfS55dHAtY2UtbGl2ZS12aWRlby1kdXJhdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMCwwKTtib3JkZXItcmFkaXVzOjJweDtib3R0b206MDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44KTttYXJnaW46MCA0cHggNHB4IDA7cGFkZGluZzo0cHggNnB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9Lnl0cC1jZS1wbGF5bGlzdC1jb3VudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjc1KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ueXRwLWNlLXBsYXlsaXN0LWljb257bGVmdDo4cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweH0ueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4tbGVmdDozMnB4fS55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dmlzaWJpbGl0eTpoaWRkZW59Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1jb250ZW50e2Rpc3BsYXk6dGFibGV9Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5e2Rpc3BsYXk6dGFibGUtY2VsbDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXksLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1mb3JjZS1leHBhbmQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheXt6LWluZGV4OjEzO29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAwcyxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGJvcmRlci1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyIC55dHAtY2UtZXhwYW5kaW5nLWltYWdlLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZm9yY2UtZXhwYW5kIC55dHAtY2UtZXhwYW5kaW5nLWltYWdle3otaW5kZXg6MTN9Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDRweCAjMDAwO2JveC1zaGFkb3c6MCAwIDRweCAjMDAwO2hlaWdodDoxMDAlO2xlZnQ6MDttYXJnaW46LThweDtwYWRkaW5nOjhweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS55dHAtY2UtZXhwYW5kaW5nLWltYWdle2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS55dHAtY2UtZXhwYW5kaW5nLWljb257YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToyMHB4IDIwcHg7YmFja2dyb3VuZC1zaXplOjIwcHggMjBweDtib3JkZXItcmFkaXVzOjJweDtib3R0b206MnB4O2hlaWdodDoyNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjJweDt3aWR0aDoyNHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWVsZW1lbnQtaG92ZXIgLnl0cC1jZS1leHBhbmRpbmctaWNvbiwueXRwLWNlLWVsZW1lbnQueXRwLWNlLWZvcmNlLWV4cGFuZCAueXRwLWNlLWV4cGFuZGluZy1pY29ue29wYWNpdHk6MH0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheXtsZWZ0OjA7cGFkZGluZy1sZWZ0OjEwMCU7dG9wOjB9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5e3BhZGRpbmctcmlnaHQ6MTAwJTtyaWdodDowO3RvcDowfS55dHAtY2UtZWxlbWVudC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5e2JvdHRvbTowO2xlZnQ6MDtwYWRkaW5nLWxlZnQ6MTAwJX0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXl7Ym90dG9tOjA7cGFkZGluZy1yaWdodDoxMDAlO3JpZ2h0OjB9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3csLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWVsZW1lbnQtaG92ZXIsLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWZvcmNlLWV4cGFuZCwueXRwLWNlLWVsZW1lbnQueXRwLWNlLW1lcmNoYW5kaXNlLnl0cC1jZS1lbGVtZW50LXNob3csLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1tZXJjaGFuZGlzZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2UtbWVyY2hhbmRpc2UueXRwLWNlLWVsZW1lbnQtc2hvdy55dHAtY2UtZm9yY2UtZXhwYW5kLC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93LC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1mb3JjZS1leHBhbmR7Ym9yZGVyOjA7bWFyZ2luOjB9Lnl0cC1jZS1jaGFubmVsLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWNlLWNoYW5uZWwtc3Vic2NyaWJle2NvbG9yOiM3Njc2NzY7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDo0cHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy1tcy10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnR9Lnl0cC1jZS1jaGFubmVsLXN1YnNjcmliZXJzLXRleHR7Y29sb3I6Izc2NzY3NjtkaXNwbGF5Om5vbmU7bWFyZ2luLWJvdHRvbToyNHB4O21hcmdpbi10b3A6NnB4fS55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtjb2xvcjojNzY3Njc2fS55dHAtY2UtY2hhbm5lbC10aGlzIC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6bm9uZX0ueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tdG9wOjRweDttYXgtaGVpZ2h0OjQycHh9Lnl0cC1jZS1jaGFubmVsLC55dHAtY2UtY2hhbm5lbCAueXRwLWNlLWVsZW1lbnQtc2hhZG93LC55dHAtY2UtY2hhbm5lbCAueXRwLWNlLWV4cGFuZGluZy1pbWFnZXtib3JkZXItcmFkaXVzOjUwJX0ueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utd2Vic2l0ZS10aXRsZXtjb2xvcjojMzMzO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tYm90dG9tOjJweH0ueXRwLWNlLW1lcmNoYW5kaXNlLW1ldGFkYXRhLC55dHAtY2UtbWVyY2hhbmRpc2UtcHJpY2UtY29udGFpbmVyLC55dHAtY2Utd2Vic2l0ZS1tZXRhZGF0YXtjb2xvcjojNzY3Njc2O21hcmdpbi10b3A6NHB4fS55dHAtY2UtbWVyY2hhbmRpc2UgLnl0cC1jZS1leHBhbmRpbmctaW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lnl0cC1jZS13ZWJzaXRlLWdvdG97ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi10b3A6NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxMDAlfS55dHAtY2UtbWVyY2hhbmRpc2UgLnl0cC1jZS1leHBhbmRpbmctaW1hZ2UsLnl0cC1jZS13ZWJzaXRlIC55dHAtY2UtZXhwYW5kaW5nLWltYWdle2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRwLWNlLW1lcmNoYW5kaXNlLXByaWNle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM2NDY0NjQ7Zm9udC13ZWlnaHQ6ODAwO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tcmlnaHQ6NnB4fS55dHAtY2UtbWVyY2hhbmRpc2UtYWRkaXRpb25hbC1mZWVze2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM3Njc2NzY7bWFyZ2luLXRvcDoycHg7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlcjoxcHggIzAwMDtvcGFjaXR5Oi44O3BhZGRpbmc6MTBweCAwO3dpZHRoOjEwMCU7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YXtjb2xvcjojZmZmO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWNlLXNpemUtMzQ2IC55dHAtY2UtbWVyY2hhbmRpc2UtaW52aWRlby1jdGEtY29udGFpbmVyLC55dHAtY2Utc2l6ZS00MjYgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXIsLnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWludmlkZW8tY3RhLWNvbnRhaW5lcntwYWRkaW5nOjJweCAwfS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXIsLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWludmlkZW8tY3RhLWNvbnRhaW5lciwueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtbWVyY2hhbmRpc2UtaW52aWRlby1jdGEtY29udGFpbmVyLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXJ7cGFkZGluZzo1cHggMH0ueXRwLWNlLWxhcmdlLXJvdW5kIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYmFja2dyb3VuZCwueXRwLWNlLXBsYXlsaXN0Lnl0cC1jZS1sYXJnZS1yb3VuZCwueXRwLWNlLXZpZGVvLnl0cC1jZS1sYXJnZS1yb3VuZHtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1jZS1tZWRpdW0tcm91bmQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5kLC55dHAtY2UtcGxheWxpc3QueXRwLWNlLW1lZGl1bS1yb3VuZCwueXRwLWNlLXZpZGVvLnl0cC1jZS1tZWRpdW0tcm91bmR7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1jZS1wbGF5bGlzdC55dHAtY2Utc21hbGwtcm91bmQsLnl0cC1jZS1zbWFsbC1yb3VuZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJhY2tncm91bmQsLnl0cC1jZS12aWRlby55dHAtY2Utc21hbGwtcm91bmR7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0cC1jZS1tZXJjaGFuZGlzZS1nb3Rve2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0ueXRwLWNlLXNpemUtMzQ2e2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1jb3ZlcmluZy1pY29ue2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjExNXB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjExNXB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTM0Ni55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAwIDAgOHB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDhweCAwIDB9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJhY2tncm91bmR7bWFyZ2luOi04cHg7cGFkZGluZzo4cHh9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLWV4cGFuZGluZy1pY29ue2JvdHRvbToycHg7cmlnaHQ6MnB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7bWFyZ2luLXRvcDowfS55dHAtY2Utc2l6ZS00MjZ7Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWNvdmVyaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MTE1cHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZz46bm90KC55dHAtY2Utc3Vic2NyaWJlLWNvbnRhaW5lcil7d2lkdGg6MTE1cHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNDI2Lnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDRweCAwIDEycHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTQyNi55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgMTJweCAwIDRweH0ueXRwLWNlLXNpemUtNDI2IC55dHAtY2UtZXhwYW5kaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtY2hhbm5lbC10aGF0IC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXttYXJnaW4tdG9wOjB9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLXBsYXlsaXN0LXRpdGxlLC55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS12aWRlby10aXRsZSwueXRwLWNlLXNpemUtNDI2IC55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLXZpZGVvLXRpdGxlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZXtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWF4LXdpZHRoOjg1JX0ueXRwLWNlLXNpemUtNDcwe2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtNDcwIC55dHAtY2Utd2Vic2l0ZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4fS55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS13ZWJzaXRlLWdvdG97Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MTM2cHh9Lnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZz46bm90KC55dHAtY2Utc3Vic2NyaWJlLWNvbnRhaW5lcil7d2lkdGg6MTM2cHh9Lnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNDcwLnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDRweCAwIDEycHh9Lnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgMTJweCAwIDRweH0ueXRwLWNlLXNpemUtNDcwIC55dHAtY2UtZXhwYW5kaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTUwNntmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtY2hhbm5lbC10aXRsZSwueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtbWVyY2hhbmRpc2UtdGl0bGUsLnl0cC1jZS1zaXplLTUwNiAueXRwLWNlLXdlYnNpdGUtdGl0bGV7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtbWVyY2hhbmRpc2UtZ290bywueXRwLWNlLXNpemUtNTA2IC55dHAtY2Utd2Vic2l0ZS1nb3Rve2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjEzNnB4fS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjEzNnB4fS55dHAtY2Utc2l6ZS01MDYueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTUwNi55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCA0cHggMCAxMnB4fS55dHAtY2Utc2l6ZS01MDYueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS01MDYueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDEycHggMCA0cHh9Lnl0cC1jZS1zaXplLTUwNiAueXRwLWNlLWV4cGFuZGluZy1pY29ue2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS55dHAtY2Utc2l6ZS01NzB7Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utc2l6ZS01NzAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE0cHh9Lnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLXdlYnNpdGUtZ290b3tmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNTcwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21pbi13aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNTcwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNTcwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS01NzAueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgNHB4IDAgMTJweH0ueXRwLWNlLXNpemUtNTcwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNTcwLnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxMnB4IDAgNHB4fS55dHAtY2Utc2l6ZS01NzAgLnl0cC1jZS1leHBhbmRpbmctaWNvbntib3R0b206NHB4O3JpZ2h0OjRweH0ueXRwLWNlLXNpemUtNjQwe2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtdmlkZW8tdGl0bGV7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MTVweDttYXgtaGVpZ2h0OjMwcHh9Lnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE1cHh9Lnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLXdlYnNpdGUtZ290b3tmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21pbi13aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNjQwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS02NDAueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgOHB4IDAgMTZweH0ueXRwLWNlLXNpemUtNjQwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNjQwLnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxNnB4IDAgOHB4fS55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS1leHBhbmRpbmctaWNvbntib3R0b206OHB4O3JpZ2h0OjhweH0ueXRwLWNlLXNpemUtODUze2ZvbnQtc2l6ZToxNHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtODUzIC55dHAtY2UtdmlkZW8tdGl0bGV7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MThweDttYXJnaW46MTBweCAxMnB4O21heC1oZWlnaHQ6MzZweH0ueXRwLWNlLXNpemUtODUzIC55dHAtY2UtdmlkZW8tZHVyYXRpb257bWFyZ2luOjAgNnB4IDZweCAwfS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtODUzIC55dHAtY2Utd2Vic2l0ZS10aXRsZXtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxOHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS13ZWJzaXRlLWdvdG97Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTg1My55dHAtY2UtY2hhbm5lbC10aGlzIC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4O21hcmdpbi10b3A6OHB4O3BhZGRpbmctdG9wOjhweDttYXgtaGVpZ2h0OjQycHg7ZGlzcGxheTpibG9ja30ueXRwLWNlLXNpemUtODUzLnl0cC1jZS1jaGFubmVsLXRoYXQgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjE4cHg7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDo1NHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjE3NnB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjE3NnB4fS55dHAtY2Utc2l6ZS04NTMueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTg1My55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCA4cHggMCAxNnB4fS55dHAtY2Utc2l6ZS04NTMueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS04NTMueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDE2cHggMCA4cHh9Lnl0cC1jZS1zaXplLTg1MyAueXRwLWNlLWV4cGFuZGluZy1pY29uey13ZWJraXQtYmFja2dyb3VuZC1zaXplOjI0cHggMjRweDtiYWNrZ3JvdW5kLXNpemU6MjRweCAyNHB4O2JvdHRvbTo4cHg7aGVpZ2h0OjMycHg7cmlnaHQ6OHB4O3dpZHRoOjMycHh9Lnl0cC1jZS1zaXplLTg1MyAueXRwLWNlLXBsYXlsaXN0LWljb257bGVmdDo4cHg7dG9wOjRweH0ueXRwLWNlLXNpemUtODUzIC55dHAtY2UtcGxheWxpc3QtY291bnQtdGV4dHtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbi1sZWZ0OjQwcHh9Lnl0cC1jZS1zaXplLTEyODB7Zm9udC1zaXplOjE4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXZpZGVvLXRpdGxle2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luOjE4cHggMjBweDttYXgtaGVpZ2h0OjQ4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS12aWRlby1kdXJhdGlvbnttYXJnaW46MCAxMnB4IDEycHggMH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtdGl0bGV7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1tZXJjaGFuZGlzZS1tZXRhZGF0YSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLW1lcmNoYW5kaXNlLXByaWNlLWNvbnRhaW5lciwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtZ290bywueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtbWV0YWRhdGF7Zm9udC1zaXplOjE4cHg7bWFyZ2luLXRvcDo4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIxcHg7bWF4LWhlaWdodDo2M3B4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmV7aGVpZ2h0OjMycHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMyl9Lnl0cC1jZS1zaXplLTEyODAueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtc3Vic2NyaWJlcnMtdGV4dHtkaXNwbGF5OmJsb2NrfS55dHAtY2Utc2l6ZS0xMjgwLnl0cC1jZS1jaGFubmVsLXRoaXMgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe21hcmdpbi10b3A6MTJweDtwYWRkaW5nLXRvcDoxMnB4O2Rpc3BsYXk6YmxvY2t9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjI2NHB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoyNjRweH0ueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxNnB4IDAgMzJweH0ueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTEyODAueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDMycHggMCAxNnB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYmFja2dyb3VuZHttYXJnaW46LTE2cHg7cGFkZGluZzoxNnB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLWljb257LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O2JhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7Ym90dG9tOjEwcHg7aGVpZ2h0OjQwcHg7cmlnaHQ6MTBweDt3aWR0aDo0MHB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtcGxheWxpc3QtaWNvbntsZWZ0OjEwcHg7dG9wOjhweH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6NDBweDttYXJnaW4tbGVmdDo0NnB4fS55dHAtY2Utc2l6ZS0xOTIwe2ZvbnQtc2l6ZToyOHB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS12aWRlby10aXRsZXtmb250LXNpemU6MzJweDtsaW5lLWhlaWdodDozOHB4O21hcmdpbjoxOHB4IDIwcHg7bWF4LWhlaWdodDo3NnB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtdmlkZW8tZHVyYXRpb257bWFyZ2luOjAgMjBweCAyMHB4IDB9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtbWVyY2hhbmRpc2UtdGl0bGUsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjM4cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtbWVyY2hhbmRpc2UtbWV0YWRhdGEsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1tZXJjaGFuZGlzZS1wcmljZS1jb250YWluZXIsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLWdvdG8sLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLW1ldGFkYXRhe2ZvbnQtc2l6ZToyOHB4O21hcmdpbi10b3A6MTJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzRweDttYXgtaGVpZ2h0OjEwMnB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmV7aGVpZ2h0OjgwcHg7bWFyZ2luLXRvcDotMTZweDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgyLjUpOy1tcy10cmFuc2Zvcm06c2NhbGUoMi41KTt0cmFuc2Zvcm06c2NhbGUoMi41KX0ueXRwLWNlLXNpemUtMTkyMC55dHAtY2UtY2hhbm5lbC10aGF0IC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmVycy10ZXh0e2Rpc3BsYXk6YmxvY2t9Lnl0cC1jZS1zaXplLTE5MjAueXRwLWNlLWNoYW5uZWwtdGhpcyAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjE4cHg7cGFkZGluZy10b3A6MThweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MzkycHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjM5MnB4fS55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDI0cHggMCA0OHB4fS55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtMTkyMC55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgNDhweCAwIDI0cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5ke21hcmdpbjotMjRweDtwYWRkaW5nOjI0cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctaWNvbnstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo1NnB4IDU2cHg7YmFja2dyb3VuZC1zaXplOjU2cHggNTZweDtib3R0b206MjBweDtoZWlnaHQ6NjJweDtyaWdodDoyMHB4O3dpZHRoOjYycHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1wbGF5bGlzdC1pY29ue2xlZnQ6MTJweDt0b3A6MTJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLXBsYXlsaXN0LWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7aGVpZ2h0OjU2cHg7bGluZS1oZWlnaHQ6NTZweDttYXJnaW4tbGVmdDo1NnB4fS55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmUueXRwLWNlLXN1YnNjcmliZS1idXR0b257aGVpZ2h0OmF1dG87bWFyZ2luLXRvcDowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTM0NiAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS00MjYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTQyNiAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTQ3MCAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS01MDYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTUwNiAueXRwLXNiLXVuc3Vic2NyaWJle2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6OHB4fS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS55dHAtZXhwLWNvbnRhaW4tdGh1bWJuYWlse2JhY2tncm91bmQtc2l6ZTpjb250YWluOy1tb3otYmFja2dyb3VuZC1zaXplOmNvbnRhaW47LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbn0ueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXlbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGV9Lnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Lnl0cC1leHAtZnJhbWUwIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXt6LWluZGV4OjEwfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS55dHAtZXhwLWNvbnRhaW4tdGh1bWJuYWlsIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjstbW96LWJhY2tncm91bmQtc2l6ZTpjb250YWluOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW59LmVuZGVkLW1vZGUgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Om5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pLC51bnN0YXJ0ZWQtbW9kZTpub3QoLnBsYXlpbmctbW9kZSkgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Om5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtY2hhcHRlci1zZWVrLXRleHR7ZGlzcGxheTpub25lO3dpZHRoOjgwJTttYXJnaW4tbGVmdDoxMCU7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWNoYXB0ZXItc2VlayAueXRwLWNoYXB0ZXItc2Vlay10ZXh0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9ja31ALXdlYmtpdC1rZXlmcmFtZXMgYXJyb3ctZmFkZS1vdXQtMXswJXtvcGFjaXR5OjB9MTcle29wYWNpdHk6Ljl9MzMle29wYWNpdHk6LjZ9NTAle29wYWNpdHk6LjN9Njcle29wYWNpdHk6LjN9ODMle29wYWNpdHk6LjN9dG97b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGFycm93LWZhZGUtb3V0LTF7MCV7b3BhY2l0eTowfTE3JXtvcGFjaXR5Oi45fTMzJXtvcGFjaXR5Oi42fTUwJXtvcGFjaXR5Oi4zfTY3JXtvcGFjaXR5Oi4zfTgzJXtvcGFjaXR5Oi4zfXRve29wYWNpdHk6MH19QC13ZWJraXQta2V5ZnJhbWVzIGFycm93LWZhZGUtb3V0LTJ7MCV7b3BhY2l0eTowfTE3JXtvcGFjaXR5Oi4zfTMzJXtvcGFjaXR5Oi45fTUwJXtvcGFjaXR5Oi42fTY3JXtvcGFjaXR5Oi4zfTgzJXtvcGFjaXR5Oi4zfXRve29wYWNpdHk6MH19QGtleWZyYW1lcyBhcnJvdy1mYWRlLW91dC0yezAle29wYWNpdHk6MH0xNyV7b3BhY2l0eTouM30zMyV7b3BhY2l0eTouOX01MCV7b3BhY2l0eTouNn02NyV7b3BhY2l0eTouM304MyV7b3BhY2l0eTouM310b3tvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBhcnJvdy1mYWRlLW91dC0zezAle29wYWNpdHk6MH0xNyV7b3BhY2l0eTouM30zMyV7b3BhY2l0eTouM301MCV7b3BhY2l0eTouOX02NyV7b3BhY2l0eTouNn04MyV7b3BhY2l0eTouM310b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgYXJyb3ctZmFkZS1vdXQtM3swJXtvcGFjaXR5OjB9MTcle29wYWNpdHk6LjN9MzMle29wYWNpdHk6LjN9NTAle29wYWNpdHk6Ljl9Njcle29wYWNpdHk6LjZ9ODMle29wYWNpdHk6LjN9dG97b3BhY2l0eTowfX0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3l7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNkZGQ7ei1pbmRleDoxOX0ueXRwLWRvdWJsZXRhcC1mYXN0LWZvcndhcmQtdmUsLnl0cC1kb3VibGV0YXAtcmV3aW5kLXZle29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZG91YmxldGFwLW92ZXJsYXktYTExeXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi4yO3otaW5kZXg6LTF9Lnl0cC1kb3VibGV0YXAtc3RhdGljLWNpcmNsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtZG91YmxldGFwLXJpcHBsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjIxLDIyMSwyMjEsLjE1KTstd2Via2l0LWFuaW1hdGlvbjpncm93LWNpcmNsZSAuOXMgMTthbmltYXRpb246Z3Jvdy1jaXJjbGUgLjlzIDE7dmVydGljYWwtYWxpZ246bWlkZGxlfUAtd2Via2l0LWtleWZyYW1lcyBncm93LWNpcmNsZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKX19QGtleWZyYW1lcyBncm93LWNpcmNsZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKX19Lnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NTAlfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeS55dHAtdGltZS1zZWVraW5nIC55dHAtZG91YmxldGFwLW92ZXJsYXktYTExeXtkaXNwbGF5Om5vbmV9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5Lnl0cC1jaGFwdGVyLXNlZWsgLnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcnt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWJhY2tdOm5vdCgueXRwLWNoYXB0ZXItc2VlaykgLnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcntsZWZ0OjEwJTt0ZXh0LWFsaWduOmxlZnR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1mb3J3YXJkXTpub3QoLnl0cC1jaGFwdGVyLXNlZWspIC55dHAtZG91YmxldGFwLXNlZWstaW5mby1jb250YWluZXJ7bGVmdDo4MCU7dGV4dC1hbGlnbjpsZWZ0fS55dHAtZG91YmxldGFwLXRvb2x0aXB7cGFkZGluZy10b3A6OHB4O2NvbG9yOiNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC10b29sdGlwe21hcmdpbi1sZWZ0OjhweH0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLXRvb2x0aXB7bWFyZ2luLWxlZnQ6LTVweH0ueXRwLWRvdWJsZXRhcC10b29sdGlwLWxhYmVse3RleHQtYWxpZ246bGVmdDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lnl0cC1zZWVrLWljb24tdGV4dC1jb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWxlZnQ6MTAlO3dpZHRoOjgwJX0ueXRwLXNlZWstaWNvbnttYXJnaW4tcmlnaHQ6NXB4fS55dHAtY2hhcHRlci1zZWVrLXRleHQtbGVnYWN5e2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MThweDtmb250LXdlaWdodDo3MDA7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtY2hhcHRlci1zZWVrIC55dHAtY2hhcHRlci1zZWVrLXRleHQtbGVnYWN5e2Rpc3BsYXk6YmxvY2t9Lnl0cC1kb3VibGV0YXAtYXJyb3dzLWNvbnRhaW5lcnt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvd3t3aWR0aDowO2hlaWdodDowO2JvcmRlcjoxMHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206N3B4IHNvbGlkIHRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxLjJzO2FuaW1hdGlvbi1kdXJhdGlvbjoxLjJzOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeVtkYXRhLXNpZGU9Zm9yd2FyZF0gLnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvd3tib3JkZXItbGVmdDoxMXB4IHNvbGlkICNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93e2JvcmRlci1yaWdodDoxMXB4IHNvbGlkICNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93Om50aC1jaGlsZCgzKSwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6Zmlyc3QtY2hpbGR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0xO2FuaW1hdGlvbi1uYW1lOmFycm93LWZhZGUtb3V0LTF9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93Om50aC1jaGlsZCgyKSwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6bnRoLWNoaWxkKDIpey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXJyb3ctZmFkZS1vdXQtMjthbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0yfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeVtkYXRhLXNpZGU9YmFja10gLnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvdzpmaXJzdC1jaGlsZCwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6bnRoLWNoaWxkKDMpey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXJyb3ctZmFkZS1vdXQtMzthbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0zfS55dHAtc2Vlay1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3otaW5kZXg6MTA7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lO2RpcmVjdGlvbjpsdHJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtc2Vlay1vdmVybGF5e2Rpc3BsYXk6bm9uZX0ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO29wYWNpdHk6MH0ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb24ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb24tYmFja3tsZWZ0OjQ4cHh9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWZvcndhcmR7cmlnaHQ6NDhweH0ueXRwLXNlZWstb3ZlcmxheS1kdXJhdGlvbntjb2xvcjp3aGl0ZTtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDoyNHB4O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsLjgpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dHAtc2Vlay1vdmVybGF5LWFuaW1hdGlvbi1iYWNrIC55dHAtc2Vlay1vdmVybGF5LWFycm93e21hcmdpbi1yaWdodDoyMHB4fS55dHAtc2Vlay1vdmVybGF5LWFuaW1hdGlvbi1mb3J3YXJkIC55dHAtc2Vlay1vdmVybGF5LWFycm93e21hcmdpbi1sZWZ0OjIwcHh9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3cgc3Zne2Rpc3BsYXk6YmxvY2t9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3cgc3ZnIHBhdGh7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIC41cHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgLjVweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctcGVyc2lzdGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zbGF0ZTowIC01MCV9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWJhY2sgLnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtsZWZ0OjB9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWZvcndhcmQgLnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtyaWdodDowfS55dHAtc2Vlay1vdmVybGF5LW1lc3NhZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDE4MHB4KX0ueXRwLXNlZWstb3ZlcmxheS1tZXNzYWdlLWljb246bm90KDplbXB0eSl7bWFyZ2luLXJpZ2h0OjVweH0ueXRwLXNlZWstb3ZlcmxheS1tZXNzYWdlLXRleHR7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO3RleHQtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwuOCk7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtbW9yZS12aWRlb3Mtdmlld3tvdmVyZmxvdzpoaWRkZW59Lnl0cC1tb3JlLXZpZGVvcy12aWV3IGEueXRwLXN1Z2dlc3Rpb24tbGluazpmb2N1czphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDt3aWR0aDppbmhlcml0O2hlaWdodDppbmhlcml0Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1tb3JlLXZpZGVvcy12aWV3Lnl0cC1zY3JvbGwtbWF4IC55dHAtbmV4dCwueXRwLW1vcmUtdmlkZW9zLXZpZXcueXRwLXNjcm9sbC1taW4gLnl0cC1wcmV2aW91cywueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQsLnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91cywueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtbmV4dCwueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtcHJldmlvdXN7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3e2JvdHRvbTo3MHB4O21hcmdpbjoyNHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1ib3R0b206MTJweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MjBweH0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWJvdHRvbToyNHB4O2ZvbnQtc2l6ZToyOHB4O2xpbmUtaGVpZ2h0OjMycHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3W2FyaWEtaGlkZGVuPXRydWVdIGEueXRwLXN1Z2dlc3Rpb24tbGlua3tvcGFjaXR5OjB9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7b3ZlcmZsb3cteDphdXRvfS55dHAtdG91Y2gtbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7aGVpZ2h0OjE4MHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24taW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3JkZXItcmFkaXVzOjhweDtoZWlnaHQ6MTA4cHg7d2lkdGg6MTkycHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtbmV4dCwueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91c3tiYWNrZ3JvdW5kOiMzMzM7Ym9yZGVyLXJhZGl1czo1MCU7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDVweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDVweCByZ2JhKDAsMCwwLC4yKTtoZWlnaHQ6MzJweDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNTAlKTt3aWR0aDozMnB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQ6aG92ZXIsLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtcHJldmlvdXM6aG92ZXJ7LXdlYmtpdC1ib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4yKX0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQsLnl0cC1iaWctbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91c3toZWlnaHQ6NjRweDt3aWR0aDo2NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHR7cmlnaHQ6NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXByZXZpb3Vze2xlZnQ6NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyBhLnl0cC1zdWdnZXN0aW9uLWxpbmt7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDo0cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtib3R0b206MDtmb250LXNpemU6MTJweDtsZWZ0OjA7cGFkZGluZzo4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXNob3J0cy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLHJnYmEoMTIsMTIsMTIsLjgpLHRyYW5zcGFyZW50IDEwMHB4KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMTIsMTIsMTIsLjgpIDAsdHJhbnNwYXJlbnQgMTAwcHgpfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtc2hvcnRzLW1vZGUpIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtvcGFjaXR5OjA7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgxMiwxMiwxMiwuOCksdHJhbnNwYXJlbnQgMTAwcHgpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDEyLDEyLDEyLC44KSAwLHRyYW5zcGFyZW50IDEwMHB4KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtmb250LXNpemU6MjBweH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgYS55dHAtc3VnZ2VzdGlvbi1saW5rOmZvY3VzIC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5LC5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtc2hvcnRzLW1vZGUpIC55dHAtbW9yZS12aWRlb3MtdmlldyBhLnl0cC1zdWdnZXN0aW9uLWxpbms6aG92ZXIgLnl0cC1zdWdnZXN0aW9uLW92ZXJsYXl7b3BhY2l0eToxfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb257YmFja2dyb3VuZDojMDAwO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbTo0cHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouNzU7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweH0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb257Zm9udC1zaXplOjE3cHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi1saW5rIC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbltkYXRhLWlzLWxpdmU9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1icmFuZCxyZ2JhKDIyNSwwLDQ1LC45KSk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb246ZW1wdHksLnl0cC1zaG9ydHMtbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLWxpbmsgLnl0cC1zdWdnZXN0aW9uLWR1cmF0aW9ue2Rpc3BsYXk6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxlLC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tYXV0aG9ye292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi10aXRsZXtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi1hdXRob3J7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTZweH0ueXRwLXNob3J0cy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tdGl0bGV7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH0ueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxle21heC1oZWlnaHQ6MzBweH0ueXRwLWltcHJlc3Npb24tbGlua3tiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjgpO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjJweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czoycHg7Ym90dG9tOjVweDtoZWlnaHQ6NDdweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLWltcHJlc3Npb24tbGluay10ZXh0e2NvbG9yOndoaXRlO2Zsb2F0OmxlZnQ7Zm9udDo1MDAgMTZweC8xNnB4IFlvdVR1YmUgTm90byxSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tdG9wOjE2cHh9Lnl0cC1pbXByZXNzaW9uLWxpbmstbG9nb3tmbG9hdDpyaWdodDtoZWlnaHQ6MTZweDttYXJnaW4tbGVmdDo5cHg7bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLXRvcDoxNnB4O3dpZHRoOjcycHh9Lnl0cC1tdXNpYy1pbXByZXNzaW9uLWxpbmsgLnl0cC1pbXByZXNzaW9uLWxpbmstbG9nb3ttYXJnaW4tdG9wOjE0cHg7bWFyZ2luLWxlZnQ6MDtoZWlnaHQ6MTlweH0ueXRwLW1vYmlsZS1hMTF5LWhpZGRlbi1zZWVrLWJ1dHRvbi1mb3J3YXJkLC55dHAtbW9iaWxlLWExMXktaGlkZGVuLXNlZWstYnV0dG9uLXJld2luZHt3aWR0aDoxcHg7aGVpZ2h0OjFweH0ueXRwLW11dGVkLWF1dG9wbGF5LWVuZHNjcmVlbi1vdmVybGF5LC55dHAtbXV0ZWQtYXV0b3BsYXktb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwMDE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtbXV0ZWQtYXV0b3BsYXktZW5kc2NyZWVuLW92ZXJsYXlbYXJpYS1oaWRkZW49dHJ1ZV0sLnl0cC1tdXRlZC1hdXRvcGxheS1vdmVybGF5W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25ze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjExcHg7Ym90dG9tOjB9Lnl0cC1tdXRlZC1hdXRvcGxheS1ib3R0b20tYnV0dG9ucyAueXRwLWJ1dHRvbiwueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25zIC55dHAtd2F0ZXJtYXJre2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OnVuc2V0O21hcmdpbjowIDRweH0ueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25zIC55dHAtd2F0ZXJtYXJre3JpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC13YXRlcm1hcmsueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFya3tvcGFjaXR5OjF9Lnl0cC13YXRlcm1hcmsueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFya1thcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXV0ZWQtYXV0b3BsYXktZXF1YWxpemVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87Ym90dG9tOjhweH0ueXRwLWVtYmVkLW1vYmlsZSAueXRwLW11dGVkLWF1dG9wbGF5LWVxdWFsaXplcntib3R0b206MTBweH0ueXRwLW11dGVkLWF1dG9wbGF5LWVxdWFsaXplci1pY29ue21hcmdpbjphdXRvO3RvcDozcHg7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1tdXRlZC1hdXRvcGxheS1lcXVhbGl6ZXItaWNvbnt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dHAtbXV0ZWQtYXV0b3BsYXktZW5kLXBhbmVse3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luOjAgMTAlO2Rpc3BsYXk6bm9uZX0ueXRwLW11dGVkLWF1dG9wbGF5LXNob3ctZW5kLXBhbmVsLnl0cC1tdXRlZC1hdXRvcGxheS1lbmRzY3JlZW4tb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjQpfS55dHAtbXV0ZWQtYXV0b3BsYXktc2hvdy1lbmQtcGFuZWwgLnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtcGFuZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtdGV4dHtwb3NpdGlvbjphYnNvbHV0ZTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7bWFyZ2luLXRvcDo0MHB4fS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtdGV4dHttYXJnaW4tdG9wOjkwcHh9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjUpO3RyYW5zZm9ybTpzY2FsZVkoLjUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfX1Aa2V5ZnJhbWVzIHl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjUpO3RyYW5zZm9ybTpzY2FsZVkoLjUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRwLWVxdWFsaXplci1iYXItbGVmdCwueXRwLWVxdWFsaXplci1iYXItbWlkZGxlLC55dHAtZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDstbXMtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uO2FuaW1hdGlvbi1uYW1lOnl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dHAtZXF1YWxpemVyLWJhci1sZWZ0ey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi41czthbmltYXRpb24tZHVyYXRpb246LjVzfS55dHAtZXF1YWxpemVyLWJhci1taWRkbGV7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MS4zczthbmltYXRpb24tZHVyYXRpb246MS4zc30ueXRwLWVxdWFsaXplci1iYXItcmlnaHR7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjdzO2FuaW1hdGlvbi1kdXJhdGlvbjouN3N9Lnl0cC1wYXVzZS1vdmVybGF5e2JvcmRlci1yYWRpdXM6OHB4O2JvdHRvbTo0OXB4O2RpcmVjdGlvbjpsdHI7bGVmdDowO21hcmdpbjoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NDI7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wYXVzZS1vdmVybGF5W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1wYXVzZS1vdmVybGF5LWNvbnRyb2xzLWhpZGRlbiAueXRwLXBhdXNlLW92ZXJsYXl7Ym90dG9tOjB9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSAuYWQtb3ZlcmxheSwueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5IC5jYXB0aW9uLXdpbmRvd3tkaXNwbGF5Om5vbmV9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOmluaGVyaXQ7aGVpZ2h0OmluaGVyaXQ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5IC55dHAtcGF1c2Utb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjkpO3BhZGRpbmc6MTJweCAxNnB4IDE2cHg7cmlnaHQ6MH0ueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXl7Ym90dG9tOmF1dG99Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheS55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtcGF1c2Utb3ZlcmxheXtvcGFjaXR5Oi4yfS55dHAtY2Utc2hvd24gLnl0cC1wYXVzZS1vdmVybGF5LC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1wYXVzZS1vdmVybGF5LC55dHAtbWVudS1zaG93biAueXRwLXBhdXNlLW92ZXJsYXksLnl0cC1zZXR0aW5ncy1zaG93biAueXRwLXBhdXNlLW92ZXJsYXl7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZXhwYW5kLXBhdXNlLW92ZXJsYXkpIC55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWNvbGxhcHNlLC5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZXhwYW5kLXBhdXNlLW92ZXJsYXkpIC55dHAtcGF1c2Utb3ZlcmxheSAueXRwLW5leHQsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSkgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtcHJldmlvdXMsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSkgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZSwuaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5KSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3tkaXNwbGF5Om5vbmV9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheS55dHAtYmlnLW1vZGUgLnl0cC1wYXVzZS1vdmVybGF5e3BhZGRpbmc6MjRweCAzMnB4IDMycHh9Lnl0cC1wYXVzZS1vdmVybGF5IC55dHAtY29sbGFwc2V7aGVpZ2h0OjIwcHg7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMHB4O3RvcDoxMnB4O3dpZHRoOjIwcHh9Lnl0cC1tb2JpbGUueXRwLWVtYmVkLW1vYmlsZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6NDhweDtyaWdodDowO3RvcDowO3dpZHRoOjQ4cHh9Lnl0cC1tb2JpbGUueXRwLWVtYmVkLW1vYmlsZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZS1pY29ue21hcmdpbjphdXRvO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MzJweDtyaWdodDozNnB4O3RvcDoyNHB4O3dpZHRoOjMycHh9Lnl0cC1wYXVzZS1vdmVybGF5IC55dHAtY29sbGFwc2U6aG92ZXJ7b3BhY2l0eToxfS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjMycHg7cGFkZGluZzowIDEwcHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9iaWxlLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtZXhwYW5ke2hlaWdodDo0OHB4fS55dHAtYmlnLW1vZGUgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtZXhwYW5ke2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToyNHB4O3BhZGRpbmc6MTBweCAxNXB4fS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZDpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpfS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZCBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI0cHg7bWFyZ2luLWJvdHRvbToycHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1leHBhbmQgc3Zne3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZHtkaXNwbGF5Om5vbmV9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktYmFja2Ryb3B7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjI0Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktYmFja2Ryb3BbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheXtib3JkZXItcmFkaXVzOjJweDtib3R0b206OHB4O2xlZnQ6OHB4O3JpZ2h0OjhweDttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwYWRkaW5nOjE2cHggMjRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXl7cGFkZGluZzoxMnB4IDI0cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5e2JvdHRvbTozMnB4O2xlZnQ6MjhweDtyaWdodDoyOHB4fS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1wcmV2aW91cywueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheS55dHAtc2Nyb2xsLW1heCAueXRwLW5leHQsLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkueXRwLXNjcm9sbC1taW4gLnl0cC1wcmV2aW91cywueXRwLXRvdWNoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtdG91Y2gtbW9kZSAueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2Rpc3BsYXk6bm9uZX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1yZWxhdGVkLXRpdGxle21hcmdpbi1sZWZ0OjhweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZXttYXJnaW4tYm90dG9tOjI0cHg7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzJweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb25ze2RpcmVjdGlvbjpsdHI7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tdG9wOjhweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3ttYXJnaW4tdG9wOjZweH0ueXRwLXRvdWNoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3tvdmVyZmxvdy14OmF1dG99Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWltYWdle2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwOHB4O3dpZHRoOjE5MnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dCwueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2JhY2tncm91bmQ6IzMzMztib3JkZXItcmFkaXVzOjUwJTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggNXB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCAxcHggNXB4IHJnYmEoMCwwLDAsLjIpO2hlaWdodDozMnB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7Ym90dG9tOjUwJX0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dCwueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcHJldmlvdXN7aGVpZ2h0OjY0cHg7d2lkdGg6NjRweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLW5leHR7cmlnaHQ6MjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0e3JpZ2h0OjMycHh9W2Rpcj1ydGxdIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2xlZnQ6MjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1wcmV2aW91c3tsZWZ0OmFkZCgyNHB4LDhweCl9W2Rpcj1ydGxdIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcHJldmlvdXN7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdDt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5re21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6OHB4fS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5e2JvdHRvbTowO2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MDtvcGFjaXR5OjA7cGFkZGluZzo4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDEyLDEyLDEyLC44KSx0cmFuc3BhcmVudCAxMDBweCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMTIsMTIsMTIsLjgpIDAsdHJhbnNwYXJlbnQgMTAwcHgpOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLW92ZXJsYXl7Zm9udC1zaXplOjIwcHh9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5rOmZvY3VzIC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5LC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IGEueXRwLXN1Z2dlc3Rpb24tbGluazpob3ZlciAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtvcGFjaXR5OjF9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWxpbmsgLnl0cC1zdWdnZXN0aW9uLWR1cmF0aW9ue2JhY2tncm91bmQ6IzAwMDtib3JkZXItcmFkaXVzOjJweDtib3R0b206NHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxO29wYWNpdHk6Ljk7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1saW5rIC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbntmb250LXNpemU6MTdweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb25bZGF0YS1pcy1saXZlPXRydWVde2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1lcnJvci1pbmRpY2F0b3IsI2UxMDAyZCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWF1dGhvciwueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjhweDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxOHB4O21heC1oZWlnaHQ6MzBweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tYXV0aG9ye29wYWNpdHk6Ljc7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MTZweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtc21hbGwtbW9kZSAueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZXttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLXRpdGxle21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1hdXRob3J7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTJweH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJre3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjExMHB4O2hlaWdodDoyNnB4O2JvdHRvbTozOHB4O3otaW5kZXg6Mjg7b3BhY2l0eTouOTtwYWRkaW5nLXRvcDoxMXB4O3BhZGRpbmctYm90dG9tOjExcHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXdhdGVybWFyazpub3QoLnl0cC1tdXRlZC1hdXRvcGxheS13YXRlcm1hcmspe3JpZ2h0OjE2cHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXdhdGVybWFyay55dHAtd2F0ZXJtYXJrLXNtYWxse3dpZHRoOjg1cHg7aGVpZ2h0OjIwcHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJre2JvdHRvbTo1OXB4fS55dHAtaGlkZS1jb250cm9sczpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7Ym90dG9tOjVweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW5hdGl2ZS1jb250cm9sczpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7Ym90dG9tOjUwcHg7bGVmdDoxNnB4fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcms6bm90KC55dHAtbm8taG92ZXIpOm5vdCgueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFyayk6aG92ZXJ7b3BhY2l0eToxfTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1tdXRlZC1hdXRvcGxheS1vdmVybGF5IC55dHAtd2F0ZXJtYXJre3Bvc2l0aW9uOnJlbGF0aXZlO2JvdHRvbTowfS55dHAtYXV0b2hpZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJrOm5vdCgueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFyayl7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXV0ZWQtYXV0b3BsYXkgLnl0cC13YXRlcm1hcms6bm90KC55dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrKXtkaXNwbGF5Om5vbmV9Om5vdCgueXRwLW13ZWItcGxheWVyKSAuaHRtbDUtZW5kc2NyZWVue2N1cnNvcjpkZWZhdWx0O292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjM2fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1lbmRzY3JlZW4tdGFrZW92ZXIuaHRtbDUtZW5kc2NyZWVue2Rpc3BsYXk6bm9uZX0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ286bm90KC55dHAtbXdlYi1wbGF5ZXIpIC5odG1sNS1lbmRzY3JlZW46bm90KC55dHAtc2hvcnRzLWJyYW5kZWQtdWkpe21hcmdpbi10b3A6MTZweH0ueXRwLWJpZy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvOm5vdCgueXRwLW13ZWItcGxheWVyKSAuaHRtbDUtZW5kc2NyZWVuOm5vdCgueXRwLXNob3J0cy1icmFuZGVkLXVpKXttYXJnaW4tdG9wOjMycHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCV9Lnl0cC1lbmRzY3JlZW4tdGFrZW92ZXI6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLWNvbnRlbnR7ZGlzcGxheTpub25lfTpub3QoLnl0cC1td2ViLXBsYXllcikgLmh0bWw1LWVuZHNjcmVlbi55dHAtZW5kc2NyZWVuLXBhZ2luYXRle2xlZnQ6MzJweDtvdmVyZmxvdzp2aXNpYmxlO3JpZ2h0OjMycHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1td2ViLXBsYXllcikgLmh0bWw1LWVuZHNjcmVlbi55dHAtZW5kc2NyZWVuLXBhZ2luYXRle2xlZnQ6NDhweDtyaWdodDo0OHB4fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1lbmRzY3JlZW4tbmV4dHtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMzJweDt3aWR0aDozMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1uZXh0e3JpZ2h0Oi00OHB4O3dpZHRoOjQ4cHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wYWdpbmF0ZSAueXRwLWVuZHNjcmVlbi1uZXh0e2Rpc3BsYXk6YmxvY2t9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1uZXh0OmhvdmVye29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wcmV2aW91c3tkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7bGVmdDotMzJweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLXByZXZpb3Vze2xlZnQ6LTQ4cHg7d2lkdGg6NDhweH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLXBhZ2luYXRlIC55dHAtZW5kc2NyZWVuLXByZXZpb3Vze2Rpc3BsYXk6YmxvY2t9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wcmV2aW91czpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXdlYi1wbGF5ZXIuaHRtbDUtZW5kc2NyZWVue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y3Vyc29yOmRlZmF1bHQ7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MzZ9Lmh0bWw1LWVuZHNjcmVlbi5tb2Rlcm4tdmlkZW93YWxsLWVuZHNjcmVlbntjdXJzb3I6ZGVmYXVsdDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDozNjstd2Via2l0LWFsaWduLWNvbnRlbnQ6Y2VudGVyO2FsaWduLWNvbnRlbnQ6Y2VudGVyfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e2ZvbnQtc2l6ZToxMXB4fS55dHAtbW9kZXJuLWVuZHNjcmVlbi1zaW5nbGUtaXRlbSAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudCAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGx7bWFyZ2luLWJvdHRvbTowOy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O3BhZGRpbmctYm90dG9tOnVuc2V0O2hlaWdodDoxMDAlfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1zaW5nbGUtaXRlbSAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudCAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWltYWdle21hcmdpbi1yaWdodDoxMnB4fS55dHAtZW5kc2NyZWVuLXRha2VvdmVyIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50LC55dHAtZW5kc2NyZWVuLXRha2VvdmVyLmh0bWw1LWVuZHNjcmVlbntkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC5odG1sNS1lbmRzY3JlZW46bm90KC55dHAtc2hvcnRzLWJyYW5kZWQtdWkpe21hcmdpbi10b3A6MTZweH0ueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpbGwsbWlubWF4KDMxMHB4LDFmcikpO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maWxsLG1pbm1heChjbGFtcCgyNTBweCwyNyUsNDUwcHgpLDFmcikpO2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMSwxZnIpOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dyaWQtYXV0by1yb3dzOjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtY29sdW1uLWdhcDoxNnB4Oy1tb3otY29sdW1uLWdhcDoxNnB4O2NvbHVtbi1nYXA6MTZweDt3aWR0aDoxMDAlOy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7cGFkZGluZzozMnB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXgtaGVpZ2h0OjEwMCV9Lnl0cC1tb2Rlcm4tZW5kc2NyZWVuLXJvdy0wIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e3BhZGRpbmctdG9wOjE2cHg7cGFkZGluZy1ib3R0b206MTZweH0ueXRwLW1vZGVybi1lbmRzY3JlZW4tbGltaXQtcm93cy0xIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMSwxZnIpfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1saW1pdC1yb3dzLTIgLnl0cC1tb2Rlcm4tZW5kc2NyZWVuLWNvbnRlbnR7Z3JpZC10ZW1wbGF0ZS1yb3dzOnJlcGVhdCgyLDFmcil9Lnl0cC1tb2Rlcm4tZW5kc2NyZWVuLWxpbWl0LXJvd3MtMyAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudHtncmlkLXRlbXBsYXRlLXJvd3M6cmVwZWF0KDMsMWZyKX0ueXRwLWVuZHNjcmVlbi1wcmV2aW91czpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtvcGFjaXR5OjE7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtbWFpbi1jb250ZW50e29wYWNpdHk6MTtzY3JvbGxiYXItd2lkdGg6bm9uZTtvdmVyZmxvdzpzY3JvbGx9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3RvcDowfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS55dHAtZ3JpZC1zY3JvbGxhYmxlIC55dHAtZnVsbHNjcmVlbi1ncmlke3RvcDpjYWxjKDMwJSArIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKTtib3R0b206MH0uaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtZXhwYW5kLWJ1dHRvbiwuaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nKTpub3QoLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1idXR0b25zLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0b3A6MDttYXJnaW4tdG9wOmNhbGModmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpLzIqLTEgKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0KS8yKi0xKTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3otaW5kZXg6NzI7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlkLWJ1dHRvbnMtY29udGFpbmVye21hcmdpbi10b3A6Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCkvMiotMSArIHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQpLzIqLTEpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b257b3BhY2l0eToxOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpO2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OnZpc2libGU7c2Nyb2xsYmFyLXdpZHRoOm5vbmU7ei1pbmRleDo3Mjtwb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b24gc3Zne3BhZGRpbmc6Y2FsYygodmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpIC0gdmFyKC0teXQtZGVsaGktaWNvbi1zaXplLCAyNHB4KSkvMik7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWljb24tc2l6ZSwyNHB4KTt3aWR0aDp2YXIoLS15dC1kZWxoaS1pY29uLXNpemUsMjRweCl9Lnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uIHN2Z3twYWRkaW5nOmNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0KSAtIHZhcigtLXl0LWRlbGhpLWljb24tc2l6ZSwgMjRweCkpLzIpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3dpZHRoOmNhbGMoMTAwJSAtIDhweCk7aGVpZ2h0OmNhbGMoMTAwJSAtIDhweCk7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aW9uLWJ1dHRvbntkaXNwbGF5Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aW9uLWJ1dHRvbntkaXNwbGF5OmJsb2NrO3BvaW50ZXItZXZlbnRzOmFsbH06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246aG92ZXI6YmVmb3JlLDpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTpob3ZlciAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uOmJlZm9yZSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6aG92ZXIgLnl0cC1tb3JlLXZpZGVvcy1idXR0b246YWZ0ZXIsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKX06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YWN0aXZlOmJlZm9yZSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6YWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YmVmb3JlLDpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTphY3RpdmUgLnl0cC1tb3JlLXZpZGVvcy1idXR0b246YWZ0ZXIsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtvcGFjaXR5OjE7b3ZlcmZsb3c6aGlkZGVuO3RvcDpjYWxjKDEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkgLSB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSAtIDZweCAtIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHt0b3A6Y2FsYygxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSA2cHggLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMTAwJSl9Lnl0cC1ncmlkLXNjcm9sbGFibGUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaGVhZGVye2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1ncmlkLXNjcm9sbGFibGUgLnl0cC1mdWxsc2NyZWVuLWdyaWR7ZGlzcGxheTpibG9jaztvdmVyZmxvdzp2aXNpYmxlO3RvcDpjYWxjKDEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkgLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMTAwJSl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZ3JpZC1zY3JvbGxhYmxlLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHt0b3A6Y2FsYygxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWdyaWQtc2Nyb2xsYWJsZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnR7b3BhY2l0eTouNX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1ncmlkLXNjcm9sbGFibGUueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtvcGFjaXR5OjF9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5e2Rpc3BsYXk6YmxvY2s7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDoxMnB4O2JvcmRlci1yYWRpdXM6MTZweDt6LWluZGV4OjcyO3BvaW50ZXItZXZlbnRzOmFsbDtjdXJzb3I6cG9pbnRlcn0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmU6bm90KC5lbmRlZC1tb2RlKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnR7bWFyZ2luLXRvcDoxMnB4fS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5LC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXl7ZGlzcGxheTpub25lfTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5OmhhcygueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uOmhvdmVyKSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5KX06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTphY3RpdmUsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6aGFzKC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YWN0aXZlKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3Zlcil9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlOm5vdCguZW5kZWQtbW9kZSkgLnl0cC1mdWxsc2NyZWVuLWdyaWQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjc1KSAxMDBweCxyZ2JhKDAsMCwwLC44NSkpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjc1KSAxMDBweCxyZ2JhKDAsMCwwLC44NSkpfS55dHAtZ3JpZC1yZXBsYXktYnV0dG9ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7Ym9yZGVyLXJhZGl1czoxOHB4O21hcmdpbi1yaWdodDoxNnB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtkaXNwbGF5Om5vbmV9Lnl0cC1mdWxsLWJsZWVkLXBsYXllciAueXRwLWdyaWQtcmVwbGF5LWJ1dHRvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2JvcmRlci1yYWRpdXM6MzBweH0ueXRwLWdyaWQtcmVwbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2Rpc3BsYXk6Z3JpZDtwYWRkaW5nOjAgMjRweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxNnB4Oy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLXN0aWxscy1jb250YWluZXIsLnl0cC1ncmlkLXNjcm9sbGluZy55dHAtZ3JpZC1zY3JvbGxhYmxlIC55dHAtZnVsbHNjcmVlbi1ncmlkLXN0aWxscy1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0b30ueXRwLWZ1bGxzY3JlZW4tZ3JpZHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MTAwJTt3aWR0aDoxMDAlO3otaW5kZXg6NzI7cG9pbnRlci1ldmVudHM6bm9uZTttYXgtaGVpZ2h0OjEwMCU7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O29wYWNpdHk6MDt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcpOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUpIC55dHAtZnVsbHNjcmVlbi1ncmlke2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWR7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7b3BhY2l0eTowfS55dHAtbW9yZS12aWRlb3MtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzt6LWluZGV4OjcyO3BvaW50ZXItZXZlbnRzOmFsbDtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAxMnB4Oy13ZWJraXQtY29sdW1uLWdhcDo4cHg7LW1vei1jb2x1bW4tZ2FwOjhweDtjb2x1bW4tZ2FwOjhweDtib3JkZXItcmFkaXVzOjI4cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0cHg7bGVmdDo0cHg7d2lkdGg6Y2FsYygxMDAlIC0gOHB4KTtoZWlnaHQ6Y2FsYygxMDAlIC0gOHB4KTtib3JkZXItcmFkaXVzOjI4cHh9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gLnl0cC1tb3JlLXZpZGVvcy1idXR0b24tdGh1bWJuYWlse3dpZHRoOjQwcHg7YXNwZWN0LXJhdGlvOjE2Lzk7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gLnl0cC1tb3JlLXZpZGVvcy1idXR0b24tdGl0bGV7Y29sb3I6dmFyKC0tT3ZlcmxheS1PdmVybGF5LVRleHQtUHJpbWFyeSwjZmZmKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDA7Zm9udC1mYW1pbHk6dmFyKC0tVHlwb2dyYXBoeS1Gb250LUZhbWlseSxSb2JvdG8pO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoyMHB4O2xldHRlci1zcGFjaW5nOi4xNnB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChtaW4td2lkdGg6MjIwMHB4KXsueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpfX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLmh0bWw1LWVuZHNjcmVlbntkaXNwbGF5Om5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlke3RvcDowO2JvdHRvbTp2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDcycHgpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye3dpZHRoOjEwMCU7cGFkZGluZzowIDI0cHh9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZTpub3QoLnl0cC1lbmFibGUtaG9yaXpvbnRhbC1lbmRzY3JlZW4tc2hlbGYpIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDpudGgtY2hpbGQobis0KXtkaXNwbGF5Om5vbmV9QG1lZGlhIChtaW4td2lkdGg6MjIwMHB4KXsueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGU6bm90KC55dHAtZW5hYmxlLWhvcml6b250YWwtZW5kc2NyZWVuLXNoZWxmKSAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGw6bnRoLWNoaWxkKDQpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUueXRwLWVuYWJsZS1ob3Jpem9udGFsLWVuZHNjcmVlbi1zaGVsZiAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93LXg6YXV0bzstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlLnl0cC1lbmFibGUtaG9yaXpvbnRhbC1lbmRzY3JlZW4tc2hlbGYgLnl0cC1mdWxsc2NyZWVuLWdyaWQtbWFpbi1jb250ZW50ey13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUueXRwLWVuYWJsZS1ob3Jpem9udGFsLWVuZHNjcmVlbi1zaGVsZiAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGx7bWluLXdpZHRoOjMxJX0uaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy1idXR0b24ueXRwLWJ1dHRvbiwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLmh0bWw1LWVuZHNjcmVlbiwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVyLC55dHAtZ3JpZC1zY3JvbGxpbmcgLmh0bWw1LWVuZHNjcmVlbiwueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0LC55dHAtZ3JpZC1zY3JvbGxpbmcgLnl0cC1jYXB0aW9uLXdpbmRvdy1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmc6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmc6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtbW9yZS12aWRlb3MtYnV0dG9uLnl0cC1idXR0b24sLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtZnVsbHNjcmVlbi1ncmlkLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbi55dHAtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWVycm9ye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjQ0O2xpbmUtaGVpZ2h0OjIyMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNDAsNDAsNDApfS55dHAtZW1iZWQtZXJyb3IgLnl0cC1lcnJvcntkaXNwbGF5OmJsb2NrfS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGV7bGluZS1oZWlnaHQ6MTYwJX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvci5yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXktdmlzaWJsZXtsaW5lLWhlaWdodDoyMjAlfS55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6ODUlOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXh9Lnl0cC1lbWJlZC1lcnJvciAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHttYXJnaW46MCBhdXRvfS55dHAtZXJyb3IgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lcntoZWlnaHQ6NjRweDt3aWR0aDo2NHB4O21pbi13aWR0aDo2NHB4O21pbi1oZWlnaHQ6NjRweDtmbG9hdDpsZWZ0fS55dHAtZXJyb3IgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lciBzdmd7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS55dHAtZXJyb3IgLnl0cC1zbWFsbC1yZWRpcmVjdHtkaXNwbGF5OmlubGluZTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4cHg7cmlnaHQ6OHB4O29wYWNpdHk6Ljd9Lnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0Lm5vLWxpbmt7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWVycm9yLnJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheS12aXNpYmxlIC55dHAtc21hbGwtcmVkaXJlY3QsLnl0cC1mdWxsc2NyZWVuIC55dHAtZXJyb3IgLnl0cC1zbWFsbC1yZWRpcmVjdHtkaXNwbGF5Om5vbmV9Lnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0IGF7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJX0ueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWNvbnRlbnQtd3JhcHttYXJnaW4tdG9wOmF1dG87bWFyZ2luLWJvdHRvbTphdXRvO21hcmdpbi1sZWZ0OjE2cHg7aGVpZ2h0OjEwMCV9Lnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lcntoZWlnaHQ6OTZweDt3aWR0aDo5NnB4O21pbi13aWR0aDo5NnB4O21pbi1oZWlnaHQ6OTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0e2hlaWdodDo2MHB4O3dpZHRoOjYwcHh9Lnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToyMnB4fS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGUgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXJlYXNvbntmb250LXNpemU6MTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvci5yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXktdmlzaWJsZSAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToyMnB4fS55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MThweDtwYWRkaW5nLXRvcDoxMHB4fS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGUgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDoycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MThweDtwYWRkaW5nLXRvcDoxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHtsaW5lLWhlaWdodDoxNTAlfS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWljb24tY29udGFpbmVye2hlaWdodDozMnB4O3dpZHRoOjMycHg7bWluLXdpZHRoOjMycHg7bWluLWhlaWdodDozMnB4fS55dHAtdGlueS1tb2RlIC55dHAtZXJyb3ItaWNvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWNvbnRlbnQtd3JhcC1yZWFzb257Zm9udC1zaXplOjE0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9Lnl0cC10aW55LW1vZGUgLnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToxMnB4fS55dHAtdGlueS1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0e2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWZ1bGxlcnNjcmVlbi1lZHUtYnV0dG9uLnl0cC1idXR0b257d2lkdGg6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtZnVsbGVyc2NyZWVuLWVkdS1idXR0b24ueXRwLWJ1dHRvblthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZnVsbGVyc2NyZWVuLWVkdS1jaGV2cm9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjI0cHh9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbjpub3QoLnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbi1zdWJ0bGUpIC55dHAtZnVsbGVyc2NyZWVuLWVkdS1jaGV2cm9ue2hlaWdodDo1MCV9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LXRleHR7aGVpZ2h0OjUwJTttYXJnaW4tdG9wOi04cHh9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbi1zdWJ0bGUgLnl0cC1mdWxsZXJzY3JlZW4tZWR1LXRleHR7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjphZnRlcnt3aWR0aDoyNHB4fS55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTAsLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMSwueXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0yLC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTN7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMC1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTFweCwtMXB4KX19QGtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTAtYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTFweCwtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsLTFweCl9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTEtYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpfX1Aa2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMS1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCl9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX19QGtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMy1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LDFweCl9fUBrZXlmcmFtZXMgeXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0zLWFuaW1hdGlvbns1MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsMXB4KX19Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVyIC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTB7LXdlYmtpdC1hbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0wLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMC1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZnVsbHNjcmVlbi1idXR0b246bm90KFthcmlhLWRpc2FibGVkPXRydWVdKTpob3ZlciAueXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0xey13ZWJraXQtYW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMS1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTEtYW5pbWF0aW9uIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWZ1bGxzY3JlZW4tYnV0dG9uOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6aG92ZXIgLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMnstd2Via2l0LWFuaW1hdGlvbjp5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTthbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0yLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVyIC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTN7LXdlYmtpdC1hbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0zLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMy1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4NnB4O3JpZ2h0OjI0cHg7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDMwcHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDMwcHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDMwcHggKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7cG9zaXRpb246YWJzb2x1dGU7bWF4LXdpZHRoOjMzJTt0b3A6MjRweDtsZWZ0OjI0cHg7ei1pbmRleDo1OX0ueXRwLW92ZXJsYXktdG9wLWxlZnQgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe21heC13aWR0aDo2MCV9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbSAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7dG9wOnVuc2V0O2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMzBweCl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtZmVhdHVyZWQtcHJvZHVjdC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoMTQycHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtc2hvcHBpbmctcGlsbC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoODZweCArIHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZmVhdHVyZWQtcHJvZHVjdC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoMTQycHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLXNob3BwaW5nLXBpbGwtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDg2cHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMzBweCl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUueXRwLWZlYXR1cmVkLXByb2R1Y3Qtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDE0MnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1zaG9wcGluZy1waWxsLXNob3duIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YXtib3R0b206Y2FsYyg4NnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1iaWctbW9kZS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWZlYXR1cmVkLXByb2R1Y3Qtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDE0MnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtc2hvcHBpbmctcGlsbC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoODZweCArIHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLWNocm9tZS10b3AtYnV0dG9uc3t3aWR0aDoxMDAlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6ZW5kOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEsLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MDt6LWluZGV4OjU5Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtY2hyb21lLXRvcC1idXR0b25ze3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjA7ei1pbmRleDo1OH0qIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YSwqIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLW92ZXJsYXlzLWNvbnRhaW5lcntvcGFjaXR5Om1heCgxIC0gMyAqIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSwwKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7b3BhY2l0eTowO2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9oaWRlIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YSwueXRwLWF1dG9oaWRlIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze29wYWNpdHk6MH0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3toZWlnaHQ6MDttYXJnaW46MH0uYWQtc2hvd2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEsLmFkLXNob3dpbmcgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLmVuZGVkLW1vZGUgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLnNlZWtpbmctbW9kZSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucywueXRwLW1lbnUtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtbWVudS1zaG93biAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucywueXRwLXNldHRpbmdzLXNob3duIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLC55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7ZGlzcGxheTpub25lfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5e3otaW5kZXg6ODI7b3ZlcmZsb3c6aGlkZGVufS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJhY2tncm91bmR7YmFja2dyb3VuZDpuby1yZXBlYXQgNTAlL2NvdmVyO2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjgyfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJhY2tncm91bmQtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjMpO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7bGVmdDowO3otaW5kZXg6ODJ9Lnl0cC1nYXRlZC1hY3Rpb25zLW92ZXJsYXktbWluaXBsYXllci1jbG9zZS1idXR0b257ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtwYWRkaW5nOjhweDt6LWluZGV4OjgyfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1taW5pcGxheWVyLWNsb3NlLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1iYXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgNnB4O2xlZnQ6MjBweDtoZWlnaHQ6NTZweDtib3R0b206MjBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6I2ZmZjt3aWR0aDozODBweDt6LWluZGV4OjgyfS55dHAtYmlnLW1vZGUgLnl0cC1nYXRlZC1hY3Rpb25zLW92ZXJsYXktYmFye3BhZGRpbmc6MCA5cHg7aGVpZ2h0Ojg0cHg7Ym90dG9tOjMwcHg7bGVmdDozMHB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnN7bWFyZ2luOjEycHggNnB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnttaW4td2lkdGg6ODBweDtoZWlnaHQ6MzJweDtwYWRkaW5nOjAgOHB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSk7Ym9yZGVyLXJhZGl1czoyNHB4O2JvcmRlci13aWR0aDowO2N1cnNvcjpwb2ludGVyfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbi10aXRsZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luOjAgOHB4O2xpbmUtaGVpZ2h0OjMycHg7Zm9udC1zaXplOjExMCU7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiNmZmZ9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1idXR0b25ze21hcmdpbjoxOHB4IDlweH0ueXRwLWJpZy1tb2RlIC55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnttaW4td2lkdGg6MTIwcHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDEycHg7Ym9yZGVyLXJhZGl1czozcHh9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1idXR0b24tdGl0bGV7bWFyZ2luOjAgMTJweDtsaW5lLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxMzAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS10ZXh0LWNvbnRhaW5lcnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21pbi13aWR0aDoxODBweDttYXJnaW46MCA2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS10ZXh0LWNvbnRhaW5lcnttaW4td2lkdGg6MjcwcHg7bWFyZ2luOjAgOXB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXN1YnRpdGxlLC55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXRpdGxle3RleHQtdHJhbnNmb3JtOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXRpdGxle2ZvbnQtc2l6ZToxNTAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1zdWJ0aXRsZXtmb250LXNpemU6MTEwJTtmb250LXdlaWdodDo0MDA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Lnl0cC1oZWF0LW1hcC55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXIsLnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXJ7ZGlzcGxheTpibG9jaztvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2hlaWdodDo0MHB4O2JvdHRvbTo1cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWhlYXQtbWFwLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MH0ueXRwLWRlbGhpLW1vZGVybi55dHAtaGVhdC1tYXAueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZTpub3QoLmFkLXNob3dpbmcpIC55dHAtaGVhdC1tYXAtY29udGFpbmVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpIC4xcyxtYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMXMsbWFyZ2luLWJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgLjFzO21hcmdpbi1ib3R0b206OHB4fS55dHAtaGVhdC1tYXAueXRwLXByb2dyZXNzLWJhci1ob3Zlcjpub3QoLmFkLXNob3dpbmcpIC55dHAtdGltZWQtbWFya2Vycy1lbmFibGVkIC55dHAtaGVhdC1tYXAtY29udGFpbmVye2JvdHRvbTo3cHh9Lnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtaGVhdC1tYXAtY2hhcHRlciBzdmd7aGVpZ2h0OjQwcHh9Lnl0cC1iaWctbW9kZS55dHAtaGVhdC1tYXAueXRwLXByb2dyZXNzLWJhci1ob3ZlciAueXRwLWhlYXQtbWFwLWNoYXB0ZXIgc3Zne2hlaWdodDo2MHB4fS55dHAtaGVhdC1tYXAtY29udGFpbmVye29wYWNpdHk6MDtkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDowO2JvdHRvbTo1cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWhlYXQtbWFwLnl0cC1iaWctbW9kZS55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtaGVhdC1tYXAtY29udGFpbmVye2hlaWdodDo2MHB4O2JvdHRvbTo4cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWhlYXQtbWFwLWNoYXB0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWhlYXQtbWFwLWNoYXB0ZXIueXRwLWhlYXRtYXAtaG92ZXJ7Ym90dG9tOjJweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtaGVhdC1tYXAtY2hhcHRlci55dHAtaGVhdG1hcC1ob3Zlcnstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1iaWctbW9kZSAueXRwLWhlYXQtbWFwLWNoYXB0ZXIueXRwLWhlYXRtYXAtaG92ZXJ7Ym90dG9tOjNweH0ueXRwLWhlYXQtbWFwLXBsYXllZF9iYXIgLnl0cC1oZWF0LW1hcC1ob3ZlcntoZWlnaHQ6MTAwJTtmaWxsOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS55dHAtaGVhdC1tYXAtaG92ZXIsLnl0cC1oZWF0LW1hcC1wbGF5e2hlaWdodDowfS55dHAtaGVhdC1tYXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWNvbnRhaW5lcnt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2hlaWdodDowfS55dHAtZmluZS1zY3J1YmJpbmctdGh1bWJuYWlse2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MSAwIGF1dG87ZmxleDoxIDAgYXV0b30ueXRwLWZpbmUtc2NydWJiaW5nLWRyYWdnYWJsZSwueXRwLWZpbmUtc2NydWJiaW5nLXRodW1ibmFpbHN7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO21pbi13aWR0aDoxNjBweDtoZWlnaHQ6MTAwJX0ueXRwLWZpbmUtc2NydWJiaW5nLWN1cnNvcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtoZWlnaHQ6MTAwJTt3aWR0aDozcHg7YmFja2dyb3VuZDojZWVlfS55dHAtZmluZS1zY3J1YmJpbmctc2Vlay10aW1le3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMTAlO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAueXRwLWZpbmUtc2NydWJiaW5nLWRpc21pc3MsLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1maW5lLXNjcnViYmluZy1wbGF5LC55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlIC55dHAtZmluZS1zY3J1YmJpbmctc2Vlay10aW1le2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlIC55dHAtY2hyb21lLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLXBsYXl7ZGlzcGxheTpub25lO2hlaWdodDozNXB4O3dpZHRoOjM1cHg7Ym90dG9tOjExMCU7cG9zaXRpb246YWJzb2x1dGV9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1maW5lLXNjcnViYmluZy1wbGF5e2JvdHRvbToxMjAlfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtZmluZS1zY3J1YmJpbmctcGxheSBzdmd7cGFkZGluZzo4cHh9Lnl0cC1maW5lLXNjcnViYmluZy1kaXNtaXNze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMTUlO3JpZ2h0OjEwcHg7aGVpZ2h0OjI1cHg7d2lkdGg6MjVweDtkaXNwbGF5Om5vbmV9Lnl0cC1maW5lLXNjcnViYmluZy1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dvcmQtd3JhcDpicmVhay13b3JkOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1maW5lLXNjcnViYmluZy1jaGFwdGVyLXRpdGxlLWNvbnRlbnR7cGFkZGluZzoxNXB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtZmluZS1zY3J1YmJpbmctY2hhcHRlci10aXRsZXt3aWR0aDoyNDBweDtoZWlnaHQ6MTM1cHh9Lnl0cC1maW5lLXNjcnViYmluZy1lZHV7ZGlzcGxheTpub25lfS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWFkLW92ZXJsYXktc2xvdHtib3R0b206MTA3cHh9Lnl0cC1iaWctbW9kZS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWFkLW92ZXJsYXktc2xvdHtib3R0b206MTUxcHh9Lnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVte2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjE2cHggMCAwIDE2cHg7d2lkdGg6YXV0bztkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0cC1iaWctbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW17bWFyZ2luOjI0cHggMCAwIDI0cHg7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW17bWFyZ2luOjhweCAxMnB4IDAgMCAwIDhweCAxMnB4IDA7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1kaXNjbGFpbWVye2N1cnNvcjpub25lO2ZvbnQtc2l6ZToxNHB4O292ZXJmbG93OmF1dG87bWFyZ2luLWJvdHRvbToxNnB4fS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1idXR0b257d2lkdGg6MTAwJTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1pY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1pY29ue3dpZHRoOjcycHg7aGVpZ2h0OjU0cHh9Lnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVtLWxhYmVse21hcmdpbi1sZWZ0OjEycHg7Zm9udC1zaXplOjE0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtvdmVyZmxvdzphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVtLWxhYmVsLC55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW0tbGFiZWx7bWFyZ2luLWxlZnQ6MTJweDtmb250LXNpemU6MTRweDtvdmVyZmxvdzphdXRvfS55dHAtaW5mby1wYW5lbC1kZXRhaWwtc2tyaW17cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zKTt6LWluZGV4OjcxfS55dHAtaW5mby1wYW5lbC1kZXRhaWx7cG9zaXRpb246YWJzb2x1dGU7bGVmdDphdXRvO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7d2lkdGg6NjAlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7b3ZlcmZsb3c6YXV0bztkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbCwueXRwLXNtYWxsLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbHt3aWR0aDo2MCV9W2Rpcj1sdHJdIC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9bHRyXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9W2Rpcj1ydGxdIC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9cnRsXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC1oZWFkZXJ7bWFyZ2luOjE2cHg7bGluZS1oZWlnaHQ6MjRweDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbC1oZWFkZXJ7bWFyZ2luOjI0cHh9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC10aXRsZXttYXJnaW4tcmlnaHQ6MTRweDstd2Via2l0LWZsZXgtZ3JvdzoyOy13ZWJraXQtYm94LWZsZXg6MjtmbGV4LWdyb3c6Mn0ueXRwLWluZm8tcGFuZWwtZGV0YWlsLWNsb3Nle3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1kZXRhaWwtY2xvc2V7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWluZm8tcGFuZWwtZGV0YWlsLWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtaW5mby1wYW5lbC1kZXRhaWwtY2xvc2U6aG92ZXIgcGF0aHtmaWxsOiNmZmZ9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC1ib2R5e2xpbmUtaGVpZ2h0OjI0cHg7bWluLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO21hcmdpbjowIDE2cHg7b3ZlcmZsb3c6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1kZXRhaWwtYm9keXttYXJnaW46MCAyNHB4fS55dHAtaW5mby1wYW5lbC1kZXRhaWwtaXRlbXN7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzowIDE2cHggMTZweCAwfS55dHAtbXV0ZWQtYXV0b3BsYXkgLnl0cC1pbmZvLXBhbmVsLWRldGFpbC1za3JpbXt6LWluZGV4OjEwMDJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e2Rpc3BsYXk6bm9uZX0ueXRwLWluZm8tcGFuZWwtcHJldmlld3toZWlnaHQ6YXV0bztib3R0b206YXV0bztsZWZ0OjEycHg7cmlnaHQ6YXV0bztvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtjdXJzb3I6cG9pbnRlcjt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3otaW5kZXg6MjY7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2JvcmRlcjppbmhlcml0O2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6MDtmb250OmluaGVyaXQ7bWF4LXdpZHRoOm1pbig1MCUgLSA2NHB4LDI3MnB4KTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWluZm8tcGFuZWwtcHJldmlld1thcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZW1iZWQgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXd7dG9wOjYwcHh9Lnl0cC1lbWJlZC55dHAtc2hvcnRzLW1vZGUgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXd7dG9wOjEyMnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3LC55dHAtYmlnLW1vZGUueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXcsLnl0cC1lbWJlZC55dHAtYXV0b2hpZGUgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXcsLnl0cC1lbWJlZC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWluZm8tcGFuZWwtcHJldmlld3t0b3A6MTJweH0ueXRwLW11dGVkLWF1dG9wbGF5IC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e3otaW5kZXg6MTAwMjt0b3A6MTJweH0ueXRwLWxhcmdlci10YXAtYnV0dG9ucyAueXRwLWluZm8tcGFuZWwtcHJldmlld3t0b3A6ODFweH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e3RvcDo4MXB4O2JvdHRvbTphdXRvO2xlZnQ6MjRweDtoZWlnaHQ6YXV0bztsaW5lLWhlaWdodDphdXRvfS55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtcHJldmlld3ttaW4td2lkdGg6MTMwcHg7bWF4LXdpZHRoOm1pbig1MCUgLSA2NHB4LDIwOHB4KX0ueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e2Rpc3BsYXk6bm9uZTstd2Via2l0LXRyYW5zaXRpb246ZGlzcGxheSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmRpc3BsYXkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctY2hldnJvbnt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OjBweDtwb2ludGVyLWV2ZW50czpub25lO2NvbG9yOnJnYigyNTUsMjU1LDI1NSk7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctY2hldnJvbjplbXB0eSwueXRwLWluZm8tcGFuZWwtcHJldmlldy1pY29uOmVtcHR5e2hlaWdodDowO3dpZHRoOjB9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctdGV4dHtiYWNrZ3JvdW5kOm5vbmU7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHg7cG9pbnRlci1ldmVudHM6bm9uZTttYXJnaW46OHB4O2NvbG9yOnJnYigyNTUsMjU1LDI1NSk7b3BhY2l0eToxO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3doaXRlLXNwYWNlOm5vcm1hbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWluZm8tcGFuZWwtcHJldmlldy10ZXh0W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9I2lubGluZS1wcmV2aWV3LXBsYXllciAuY2FwdGlvbi13aW5kb3csI2lubGluZS1wcmV2aWV3LXBsYXllciAueXRwLWNhcHRpb24td2luZG93LWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lfS55dHAtbW9kZXJuLWNhcHRpb24jaW5saW5lLXByZXZpZXctcGxheWVyIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVyLC55dHAtbW9kZXJuLWNhcHRpb24ueXRwLW13ZWItcGxheWVyIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVye3dpZHRoOmNhbGMoMTAwJSAtIDQ4cHgpfS55dHAtbW9kZXJuLWNhcHRpb24jaW5saW5lLXByZXZpZXctcGxheWVyIC5jYXB0aW9uLXdpbmRvdywueXRwLW1vZGVybi1jYXB0aW9uLnl0cC1td2ViLXBsYXllciAuY2FwdGlvbi13aW5kb3d7Ym9yZGVyOjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1tb2Rlcm4tY2FwdGlvbiNpbmxpbmUtcHJldmlldy1wbGF5ZXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1tb2Rlcm4tY2FwdGlvbi55dHAtbXdlYi1wbGF5ZXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNnB4fS55dHAtaW5wdXQtc2xpZGVyLXNlY3Rpb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1pbnB1dC1zbGlkZXJ7LS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudDowOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtsZWZ0OjA7cmlnaHQ6MDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtd3JpdGluZy1tb2RlOmhvcml6b250YWwtdGI7LW1zLXdyaXRpbmctbW9kZTpsci10Yjt3cml0aW5nLW1vZGU6aG9yaXpvbnRhbC10YjtkaXJlY3Rpb246bHRyfS55dHAtaW5wdXQtc2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxmcm9tKCNmZmYpLGNvbG9yLXN0b3AoI2ZmZiksY29sb3Itc3RvcCgjNjY2KSx0bygjNjY2KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtaW5wdXQtc2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwuMikgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiNmZmY7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweDttYXJnaW4tdG9wOi02cHh9Lnl0cC1pbnB1dC1zbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtaW5wdXQtc2xpZGVyOjotbXMtdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtdmFyaXNwZWVkLWlucHV0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsZnJvbSgjZmZmKSxjb2xvci1zdG9wKCNmZmYpLGNvbG9yLXN0b3AoIzkwOTA5MCksdG8oIzkwOTA5MCkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwjZmZmIDAsI2ZmZiB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKX1Ac3VwcG9ydHMgKCgtd2Via2l0LXdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkgb3IgKHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkpey55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVyey13ZWJraXQtd3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsOy1tcy13cml0aW5nLW1vZGU6YnQtcmw7d3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsO2RpcmVjdGlvbjpydGw7aGVpZ2h0OmluaGVyaXQ7d2lkdGg6MjRweH0ueXRwLXZlcnRpY2FsLXNsaWRlciAueXRwLWlucHV0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKCNmZmYpLGNvbG9yLXN0b3AoI2ZmZiksY29sb3Itc3RvcCgjNjY2KSx0bygjNjY2KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sI2ZmZiAwLCNmZmYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM2NjYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM2NjYgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO3dpZHRoOjRweH0ueXRwLXZlcnRpY2FsLXNsaWRlciAueXRwLWlucHV0LXNsaWRlcjo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AsI2ZmZiAwLCNmZmYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMjU1LDI1NSwyNTUsLjIpIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSAxMDAlKTt3aWR0aDo0cHg7aGVpZ2h0OjEwMCV9Lnl0cC12ZXJ0aWNhbC1zbGlkZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1ie21hcmdpbi1yaWdodDotNnB4fS55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVyOjotbW96LXJhbmdlLXRodW1ie21hcmdpbi1yaWdodDowfX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9ue3dpZHRoOjQ2cHg7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3BhZGRpbmc6OXB4O2Rpc3BsYXk6bm9uZX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9uLnl0cC1qdW1wLWJ1dHRvbi1lbmFibGVke2Rpc3BsYXk6YmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9ue3BhZGRpbmctdG9wOjEycHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtanVtcC1idXR0b257cGFkZGluZy10b3A6N3B4fS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9uLnl0cC1qdW1wLWJ1dHRvbi1lbmFibGVkLC55dHAtdGlueS1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtanVtcC1idXR0b24ueXRwLWp1bXAtYnV0dG9uLWVuYWJsZWR7ZGlzcGxheTpub25lfS55dHAtanVtcC1idXR0b24tdGV4dHtmaWxsOiNmZmY7Zm9udC1zaXplOjlweDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Zm9udC13ZWlnaHQ6OTAwfS55dHAtanVtcC1zcGluIC55dHAtY2lyY2xlLWFycm93ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3BpbjthbmltYXRpb24tbmFtZTp5dHAtanVtcC1zcGluOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4yNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi4yNXM7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjstbXMtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9Lnl0cC1qdW1wLXNwaW4uYmFja3dhcmRzIC55dHAtY2lyY2xlLWFycm93ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3Bpbi1iYWNrd2FyZHM7YW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3Bpbi1iYWNrd2FyZHN9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1qdW1wLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB5dHAtanVtcC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtanVtcC1zcGluLWJhY2t3YXJkc3swJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1qdW1wLXNwaW4tYmFja3dhcmRzezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fS55dHAtbGFyZ2UtcGxheS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTt3aWR0aDo2OHB4O2hlaWdodDo0OHB4O21hcmdpbi1sZWZ0Oi0zNHB4O21hcmdpbi10b3A6LTI0cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDo2M30ueXRwLWxhcmdlLXBsYXktYnV0dG9uLnl0cC1zaG9ydHMtbW9kZXt3aWR0aDo2OHB4O2hlaWdodDo5MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi55dHAtc2hvcnRzLW1vZGV7d2lkdGg6MTAycHg7aGVpZ2h0OjEzNXB4fS55dHAtZG5pIC55dHAtbGFyZ2UtcGxheS1idXR0b24sLnl0cC1kbmkueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b24sLnl0cC1kbmkueXRwLXNtYWxsLW1vZGUgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbnt3aWR0aDo3NXB4O2hlaWdodDo3NXB4O21hcmdpbi1sZWZ0Oi0zNy41cHg7bWFyZ2luLXRvcDotMzcuNXB4fS5ob3VzZS1icmFuZCAueXRwLWxhcmdlLXBsYXktYnV0dG9ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXRvcDotMzBweH0ueXRwLWxhcmdlLXBsYXktYnV0dG9uIHN2Z3toZWlnaHQ6MTAwJTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ueXRwLWRuaSAueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXkgLnl0cC1kbmktbGFyZ2UtcGxheS1idXR0b24tYmd7LXdlYmtpdC10cmFuc2l0aW9uOmZpbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7ZmlsbC1vcGFjaXR5Oi44fS55dHAtZG5pIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheTpob3ZlciAueXRwLWRuaS1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtmaWxsLW9wYWNpdHk6MX0ueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b257d2lkdGg6MTAycHg7aGVpZ2h0OjcycHg7bWFyZ2luLWxlZnQ6LTUxcHg7bWFyZ2luLXRvcDotMzZweH0uaG91c2UtYnJhbmQueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b257d2lkdGg6OTBweDtoZWlnaHQ6OTBweDttYXJnaW4tbGVmdDotNDVweDttYXJnaW4tdG9wOi00NXB4fS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheVthcmlhLWhpZGRlbj10cnVlXSAueXRwLWxhcmdlLXBsYXktYnV0dG9uLC55dHAtbWVudS1zaG93biAueXRwLWxhcmdlLXBsYXktYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW11dGVkLWF1dG9wbGF5LWVuZC1wYW5lbCAueXRwLWxhcmdlLXBsYXktYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtmaWxsOiMyMTIxMjE7ZmlsbC1vcGFjaXR5Oi44fS55dHAtbGFyZ2UtcGxheS1idXR0b24tcmVkLWJnIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmd7ZmlsbDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLXN0YXRpYy1icmFuZC1yZWQsI2YwMyk7ZmlsbC1vcGFjaXR5OjF9Lnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi55dHAtdG91Y2gtZGV2aWNlIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1tdXRlZC1hdXRvcGxheS1lbmRzY3JlZW4tb3ZlcmxheTpob3ZlciAueXRwLWxhcmdlLXBsYXktYnV0dG9uLWJney13ZWJraXQtdHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmZpbGwgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2ZpbGw6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdGF0aWMtYnJhbmQtcmVkLCNmMDMpO2ZpbGwtb3BhY2l0eToxfS55dHAtY29sb3ItcGFydHkgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1jb2xvci1wYXJ0eSAueXRwLWxhcmdlLXBsYXktYnV0dG9uLnl0cC10b3VjaC1kZXZpY2UgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZywueXRwLWNvbG9yLXBhcnR5IC55dHAtbXV0ZWQtYXV0b3BsYXktZW5kc2NyZWVuLW92ZXJsYXk6aG92ZXIgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktZmlsbCAuMTVzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWZpbGwgLjE1cyBsaW5lYXIgaW5maW5pdGV9LmhvdXNlLWJyYW5kIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheTpob3ZlciAueXRwLWxhcmdlLXBsYXktYnV0dG9uLWJnLC5ob3VzZS1icmFuZCAueXRwLW11dGVkLWF1dG9wbGF5LWVuZHNjcmVlbi1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmd7ZmlsbDojMDAwfS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwe3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NzI7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6d2hpdGU7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7Y29sb3I6cmdiYSgxNywxNywxNywuOCk7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtkaXNwbGF5OmJsb2NrO3dpZHRoOjQwMHB4O292ZXJmbG93LXk6YXV0b31odG1sW2RhcmtdIC55dHAtbGlua2VkLWFjY291bnQtcG9wdXB7YmFja2dyb3VuZDpyZ2JhKDMzLDMzLDMzLC45NSk7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwLWJ1dHRvbnN7cGFkZGluZzo4cHggOHB4IDhweCAyNHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYigyMzgsMjM4LDIzOCk7LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtYnV0dG9ue2ZvbnQtd2VpZ2h0OjUwMDtsZXR0ZXItc3BhY2luZzouMDA3cHg7bGluZS1oZWlnaHQ6MjBweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MTBweCAxNnB4fWh0bWxbZGFya10gLnl0cC1saW5rZWQtYWNjb3VudC1wb3B1cC1idXR0b257Y29sb3I6IzNlYTZmZn0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwLXRpdGxle2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI4cHg7bWFyZ2luOjE2cHggMjRweDtjb2xvcjpyZ2IoMywzLDMpfWh0bWxbZGFya10gLnl0cC1saW5rZWQtYWNjb3VudC1wb3B1cC10aXRsZXtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpfS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtZGVzY3JpcHRpb257cGFkZGluZzowIDI0cHg7bWFyZ2luOjRweCAwIDI0cHh9Lnl0cC1tZHgtcHJpdmFjeS1wb3B1cC1jb25maXJte2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzY2Njt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1tZHgtcHJpdmFjeS1wb3B1cC1jYW5jZWx7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxNHB4O21hcmdpbjoxMnB4IDA7cGFkZGluZzoxMHB4IDIwcHg7Ym9yZGVyLXJhZGl1czoycHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbWR4LXBvcHVwLWRpYWxvZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojc1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1tZHgtcG9wdXAtZGlhbG9nLWlubmVyLWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTttYXJnaW4tdG9wOi03MHB4O2xlZnQ6MDtyaWdodDowO3BhZGRpbmc6MCAyMCV9Lnl0cC1tZHgtcG9wdXAtdGl0bGV7Zm9udC1zaXplOjIwcHg7cGFkZGluZy1ib3R0b206MTZweH0ueXRwLW1keC1wb3B1cC1kZXNjcmlwdGlvbntmb250LXNpemU6MTRweH0ueXRwLW1keC1wcml2YWN5LXBvcHVwLWJ1dHRvbnN7bWFyZ2luLXRvcDoyMHB4O2hlaWdodDo0NHB4fS55dHAtYmlnLW1vZGUgLm1keC1wcml2YWN5LXBvcHVwLWJ1dHRvbnN7bWFyZ2luLXRvcDozMHB4O2hlaWdodDo2N3B4fS5odG1sNS12aWRlby1wbGF5ZXIueXRwLXBsYXllci1taW5pbWl6ZWQ6bm90KC5lbmRlZC1tb2RlKTpub3QoLmN1ZWQtbW9kZSk6bm90KC51bnN0YXJ0ZWQtbW9kZSl7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC15cGMtcGxheWVyLWNvbnRlbnR7ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci11aXtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3otaW5kZXg6Njd9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXt6LWluZGV4OjY4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KX0ueXRwLW1pbmlwbGF5ZXItc2NyaW17d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpOy13ZWJraXQtdHJhbnNpdGlvbjouMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgLjFzO3RyYW5zaXRpb246LjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpIC4xcztvcGFjaXR5OjA7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1taW5pcGxheWVyLXNjcmltOmZvY3VzLXdpdGhpbntvcGFjaXR5OjF9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtcGxheWVyLW1pbmltaXplZC51bnN0YXJ0ZWQtbW9kZSAueXRwLW1pbmlwbGF5ZXItc2NyaW17b3BhY2l0eToxfS55dHAtbWluaXBsYXllci1zY3JpbTpob3ZlcntvcGFjaXR5OjF9Lnl0cC1taW5pcGxheWVyLWJ1dHRvbnN7ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZC5lbmRlZC1tb2RlIC55dHAtbWluaXBsYXllci1idXR0b25ze2Rpc3BsYXk6YmxvY2t9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmFkLXNob3dpbmcgLnl0cC1taW5pcGxheWVyLWJ1dHRvbnN7ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O3otaW5kZXg6Njd9Lnl0cC1taW5pcGxheWVyLWV4cGFuZC13YXRjaC1wYWdlLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O3otaW5kZXg6Njd9Lnl0cC1taW5pcGxheWVyLWV4cGFuZC13YXRjaC1wYWdlLWJ1dHRvbi55dHAtbWluaXBsYXllci1idXR0b24tYm90dG9tLXJpZ2h0e2JvdHRvbTo0cHg7cmlnaHQ6MH0ueXRwLW1pbmlwbGF5ZXItZXhwYW5kLXdhdGNoLXBhZ2UtYnV0dG9uLnl0cC1taW5pcGxheWVyLWJ1dHRvbi10b3AtbGVmdHt0b3A6MDtsZWZ0OjB9Lnl0cC1taW5pcGxheWVyLXJlcGxheS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo4cHg7Ym90dG9tOjhweDt3aWR0aDozMnB4O2hlaWdodDozMnB4O3otaW5kZXg6Njd9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmFkLXNob3dpbmcgLnl0cC1taW5pcGxheWVyLXJlcGxheS1idXR0b257ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci1jb250cm9sc3tkaXJlY3Rpb246bHRyO2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjI2NHB4Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcnttaW4td2lkdGg6NjRweH0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtbWluaXBsYXllci11aSAueXRwLW5leHQtYnV0dG9uLC55dHAtbWluaXBsYXllci11aSAueXRwLXByZXYtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjY0cHg7aGVpZ2h0OjY0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtbmV4dC1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtcHJldi1idXR0b257d2lkdGg6MzJweDtoZWlnaHQ6MzJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXJ7bWluLXdpZHRoOjMycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtcGxheS1idXR0b257d2lkdGg6NDJweDtoZWlnaHQ6NDJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1taW5pcGxheWVyLWNvbnRyb2xzIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHAtbWluaXBsYXllci11aSAueXRwLXRpbWUtZGlzcGxheXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjdweDtib3R0b206MH0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC10aW1lLWRpc3BsYXkgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6bm9uZTt3aWR0aDphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC10aW1lLWRpc3BsYXkueXRwLWxpdmUgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aXtkaXNwbGF5OmJsb2NrfS55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLW5leHQtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLXByZXYtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLXRpbWUtZGlzcGxheXtkaXNwbGF5Om5vbmV9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRpdGxle3dpZHRoOjIwMCU7dGV4dC1hbGlnbjpjZW50ZXI7cmlnaHQ6NDhweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1kcmFnIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC1leHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6aG92ZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLWV4cC1jaGFwdGVyLWhvdmVyLWVmZmVjdHtib3R0b206MXB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjQpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuNCk7dHJhbnNmb3JtOnNjYWxlWSgxLjQpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyLC55dHAtc21hbGwtbW9kZS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0xcHg7ei1pbmRleDo2OH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC10aW1lLWRpc3BsYXl7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXBsYXllci1taW5pbWl6ZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXJ7Ym90dG9tOjB9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC52aWRlby1hZHMsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC52aWRlby1hZHN7ZGlzcGxheTpibG9ja30ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheXtvdmVyZmxvdzpoaWRkZW59Lnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC55dHAtYWQtcGxheWVyLW92ZXJsYXktZmx5b3V0LWN0YSwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1za2lwLWJ1dHRvbi1jb250YWluZXJ7Ym90dG9tOjMycHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mb3tib3R0b206M3B4O2xlZnQ6NnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsIC55dHAtdG9vbHRpcC10aXRsZXt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO2ZvbnQtc2l6ZToxMnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3e21heC13aWR0aDpjYWxjKDEwMCUgLSAyNHB4KTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZTstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHAtcGxheWVyLW1pbmltaXplZCAuaHRtbDUtbWFpbi12aWRlbywueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1taW5pcGxheWVyLXNjcmlte2JvcmRlci1yYWRpdXM6MTJweCAxMnB4IDAgMH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLmh0bWw1LW1haW4tdmlkZW97Ym9yZGVyLXJhZGl1czowfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtcGxheWVyLWRvY3VtZW50LXBpY3R1cmUtaW4tcGljdHVyZSAueXRwLW1pbmlwbGF5ZXItY2xvc2UtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC55dHAtcGxheWVyLWRvY3VtZW50LXBpY3R1cmUtaW4tcGljdHVyZSAueXRwLW1pbmlwbGF5ZXItZXhwYW5kLXdhdGNoLXBhZ2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLXBsYXllci1kb2N1bWVudC1waWN0dXJlLWluLXBpY3R1cmUgLmh0bWw1LW1haW4tdmlkZW8sLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1wbGF5ZXItZG9jdW1lbnQtcGljdHVyZS1pbi1waWN0dXJlIC55dHAtbWluaXBsYXllci1zY3JpbSwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLXBsYXllci1kb2N1bWVudC1waWN0dXJlLWluLXBpY3R1cmUuaHRtbDUtdmlkZW8tcGxheWVye2JvcmRlci1yYWRpdXM6MH0ueXRwLXRpdGxlLW5vdGlmaWNhdGlvbnN7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjttYXJnaW4tcmlnaHQ6NXB4O3RleHQtYWxpZ246Y2VudGVyfWJ1dHRvbi55dHAtYnV0dG9uLnl0cC10aXRsZS1ub3RpZmljYXRpb25ze21hcmdpbi1sZWZ0OjhweDt3aWR0aDo0OHB4fS55dHAtdGl0bGUtbm90aWZpY2F0aW9uczpub3QoLnl0cC1ub3RpZmljYXRpb25zLWVuYWJsZWQpIC55dHAtdGl0bGUtbm90aWZpY2F0aW9ucy1vbntkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1ub3RpZmljYXRpb25zLnl0cC1ub3RpZmljYXRpb25zLWVuYWJsZWQgLnl0cC10aXRsZS1ub3RpZmljYXRpb25zLW9mZntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRle3otaW5kZXg6MjE7b3ZlcmZsb3c6aGlkZGVufS55dHAtb2ZmbGluZS1zbGF0ZS1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bm8tcmVwZWF0IDUwJS9jb3Zlcjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjIyfS55dHAtb2ZmbGluZS1zbGF0ZS55dHAtb2ZmbGluZS1zbGF0ZS1oaWRlLWJhY2tncm91bmQgLnl0cC1vZmZsaW5lLXNsYXRlLWJhY2tncm91bmR7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUueXRwLW9mZmxpbmUtc2xhdGUtaGlkZS1iYWNrZ3JvdW5kIC55dHAtb2ZmbGluZS1zbGF0ZS1iYWNrZ3JvdW5ke2Rpc3BsYXk6YmxvY2t9Lnl0cC1vZmZsaW5lLXNsYXRlOm5vdCgueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlcikgLnl0cC1vZmZsaW5lLXNsYXRlLWJhci1mYWRlLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MCA2cHg7bGVmdDoxMnB4O2hlaWdodDo1NnB4O2JvdHRvbTo2MHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2ZmZjstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDo0Njtib3JkZXItcmFkaXVzOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwuNik7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtb2ZmbGluZS1zbGF0ZS1iYXIueXRwLW9mZmxpbmUtc2xhdGUtYmFyLWhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0cC1lbWJlZCAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JvdHRvbTo1MnB4fS55dHAtYmlnLW1vZGUgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwYWRkaW5nOjAgOXB4O2hlaWdodDo4NHB4O2JvdHRvbTo5MHB4O2xlZnQ6MThweH0ueXRwLWVtYmVkLnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JvdHRvbTo5MHB4fS55dHAtYXV0b2hpZGUgLnl0cC1vZmZsaW5lLXNsYXRlLWJhciwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntib3R0b206MTJweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUgLnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYmFyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1iYXJ7Ym90dG9tOjE4cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWljb257bWFyZ2luOjAgMTRweDt3aWR0aDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1pY29ue3dpZHRoOjM2cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbnN7bWFyZ2luOjEycHggNnB4fS55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b257bWluLXdpZHRoOjgwcHg7aGVpZ2h0OjMycHg7cGFkZGluZzowIDhweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjI1KTtib3JkZXItcmFkaXVzOjJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9ue2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6IzI4MjgyOH0ueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9uLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2hlaWdodDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24taWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24taWNvbiBzdmd7ZmlsbDojMjgyODI4O2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbi10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46MCA4cHg7bGluZS1oZWlnaHQ6MzJweDtmb250LXNpemU6MTEwJTtmb250LXdlaWdodDo1MDB9Lnl0cC1yZW1pbmRlci1tZW51e2JhY2tncm91bmQ6cmdiYSgyOCwyOCwyOCwuOSk7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjU1cHg7b3V0bGluZTpub25lO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0ueXRwLXJlbWluZGVyLW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXJlbWluZGVyLW1lbnUtY29udGVudHN7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNlZWU7ZGlzcGxheTp0YWJsZTtwYWRkaW5nOjhweCAwO3dpZHRoOjEwMCV9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW17Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTp0YWJsZS1yb3c7aGVpZ2h0OjQwcHg7b3V0bGluZTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1pbmRlci1tZW51LWl0ZW17aGVpZ2h0OjQ5cHh9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW06bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtjdXJzb3I6cG9pbnRlcn0ueXRwLXJlbWluZGVyLW1lbnUtaXRlbTpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW0taWNvbiwueXRwLXJlbWluZGVyLW1lbnUtaXRlbS1sYWJlbHtkaXNwbGF5OnRhYmxlLWNlbGw7cGFkZGluZzowIDE1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWxhYmVse2ZvbnQtc2l6ZToxMTglO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LXRyYW5zZm9ybTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1pbmRlci1tZW51LWl0ZW0tbGFiZWx7cGFkZGluZzowIDE1cHggMCAwfS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb257cGFkZGluZzowIDEwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlbWluZGVyLW1lbnUtaXRlbS1pY29ue3BhZGRpbmc6MCAxNXB4fS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb24gc3Zne2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9uc3ttYXJnaW46MThweCA5cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9ue21pbi13aWR0aDoxMjBweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTJweDtib3JkZXItcmFkaXVzOjNweH0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24tdGV4dHttYXJnaW46MCAxMnB4O2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjEzMCU7Zm9udC13ZWlnaHQ6NTAwfS55dHAtb2ZmbGluZS1zbGF0ZS1tZXNzYWdlc3std2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21pbi13aWR0aDoxODBweDttYXJnaW46MCA2cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtbWVzc2FnZXN7bWluLXdpZHRoOjI3MHB4O21hcmdpbjowIDlweH0ueXRwLW9mZmxpbmUtc2xhdGUtbWFpbi10ZXh0LC55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e3RleHQtdHJhbnNmb3JtOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtb2ZmbGluZS1zbGF0ZS1tYWluLXRleHR7Zm9udC1zaXplOjE0MCU7Zm9udC13ZWlnaHQ6NDAwfS55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e2ZvbnQtc2l6ZToxMTAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9uLC55dHAtb2ZmbGluZS1zbGF0ZS1vcGVuLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dG9wOjA7Ym90dG9tOjA7bGVmdDphdXRvO3JpZ2h0OjA7cGFkZGluZzoyNXB4O3BhZGRpbmctdG9wOjQ4cHg7bWluLXdpZHRoOmF1dG87d2lkdGg6MzAwcHg7aGVpZ2h0OmF1dG87Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtdHJhbnNpdGlvbjpyaWdodCAuMjVzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246cmlnaHQgLjI1cyBlYXNlLWluLW91dDt6LWluZGV4OjIzfS55dHAtYmlnLW1vZGUgLnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwYWRkaW5nLXRvcDo2OXB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtYmFyLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLW9wZW4tYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntyaWdodDotMTAwJX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtaWNvbntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWNsb3NlLWJ1dHRvbiwueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtb3Blbi1idXR0b257cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDt0b3A6NTAlO3JpZ2h0OjA7bWFyZ2luLXRvcDotMjVweDt6LWluZGV4OjIzfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1jbG9zZS1idXR0b257ZGlzcGxheTpibG9ja30ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtb3Blbi1idXR0b246YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyOHB4O2xlZnQ6MTVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt3aWR0aDoyMHB4fS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1vcGVuLWJ1dHRvbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyLnl0cC1vZmZsaW5lLXNsYXRlLWNvbGxhcHNlZCAueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLW9wZW4tYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLW1lc3NhZ2Vzey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6bm9uZTtmbGV4Om5vbmU7bWFyZ2luOjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLW1haW4tdGV4dHtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OmF1dG99Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtbWFpbi10ZXh0e21hcmdpbi10b3A6MH0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtc3VidGl0bGUtdGV4dHtjb2xvcjojYWFhO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuM2VtO21hcmdpbjo1cHggMCAyMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e21hcmdpbi1sZWZ0OjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWRlc2NyaXB0aW9ue2Rpc3BsYXk6YmxvY2s7dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LXNpemU6MTNweDttYXJnaW46MjBweCAwO21heC1oZWlnaHQ6MzAwcHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b25ze21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbnMgLnl0cC1yZW1pbmRlci1tZW51e2JvdHRvbTphdXRvfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4zKTtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxNHB4O2hlaWdodDphdXRvO3BhZGRpbmc6NHB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbiBzdmd7ZmlsbDojZmZmfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24tdGV4dHtmb250LXNpemU6MTEwJTtsaW5lLWhlaWdodDozMnB4O21hcmdpbjowIDhweH0ueXRwLWNocm9tZS10b3AgLnl0cC1vdmVyZmxvdy1idXR0b257d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzttaW4td2lkdGg6NDhweH0ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykueXRwLXNtYWxsLW1vZGUgLnl0cC1vdmVyZmxvdy1idXR0b257cGFkZGluZy10b3A6MTZweH0ueXRwLW92ZXJmbG93LWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1vdmVyZmxvdy1wYW5lbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojc0O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1vdmVyZmxvdy1wYW5lbFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1wYW5lbHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1wYW5lbHtkaXNwbGF5Om5vbmV9Lnl0cC1vdmVyZmxvdy1wYW5lbC1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luLXRvcDotNDhweH0ueXRwLW92ZXJmbG93LXBhbmVsLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7cmlnaHQ6MTJweDtwYWRkaW5nOjA7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLW1vYmlsZS55dHAtZW1iZWQtbW9iaWxlIC55dHAtb3ZlcmZsb3ctcGFuZWwtY2xvc2V7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRwLW92ZXJmbG93LXBhbmVsLWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtb3ZlcmZsb3ctcGFuZWwtY2xvc2U6aG92ZXIgcGF0aHtmaWxsOiNmZmZ9Lnl0cC1vdmVyZmxvdy1wYW5lbC1hY3Rpb24tYnV0dG9uc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo4cHggMTJweCA3MnB4O3otaW5kZXg6NTk7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLWxlZnR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLWxlZnQ+Kntwb2ludGVyLWV2ZW50czphdXRvO21hcmdpbi1ib3R0b206MTJweH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7cmlnaHQ6MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0Pip7cG9pbnRlci1ldmVudHM6YXV0bzttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6YXV0b30ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0IC55dHAtY2hyb21lLXRvcC1idXR0b25ze21hcmdpbi1ib3R0b206MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0IC55dHAtY2hyb21lLXRvcC1idXR0b25zPip7bWFyZ2luLWJvdHRvbToxMnB4fS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2JvdHRvbTowfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdD4qe3BvaW50ZXItZXZlbnRzOmF1dG87bWFyZ2luLXRvcDoxMnB4fS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tcmlnaHR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtib3R0b206MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktYm90dG9tLXJpZ2h0Pip7cG9pbnRlci1ldmVudHM6YXV0bzttYXJnaW4tdG9wOjEycHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktaW5saW5lLWNvbnRhaW5lcnt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7Z2FwOjEycHh9Lnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXI+Kntwb2ludGVyLWV2ZW50czphdXRvfS55dHAtb3ZlcmxheXMtY29udGFpbmVyey13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzO3RyYW5zaXRpb246Ym90dG9tIC4xczstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWZ1bGwtYmxlZWQtcGxheWVyLnl0cC1ncmlkLXNjcm9sbGluZyAueXRwLW92ZXJsYXlzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIDBzO3RyYW5zaXRpb246Ym90dG9tIDBzfS55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7aW5zZXQ6OHB4IDI0cHggNzhweH0ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7dG9wOjYwcHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1kZWxoaS1tb2Rlcm4pIC55dHAtb3ZlcmxheXMtY29udGFpbmVye3RvcDo2OXB4O2JvdHRvbTo3OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMjRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMjRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSArIDEwMCUqdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAyNHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMjRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSArIDEwMCUqdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKX0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1vdmVybGF5cy1jb250YWluZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7Ym90dG9tOjI0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1vdmVybGF5cy1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTozNnB4fS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZGVsaGktbW9kZXJuLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257ZGlzcGxheTpub25lfS55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjUzcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwOS4wOTA5MDkwOTA5JTtoZWlnaHQ6MzBweDtsZWZ0OjI1cHg7bGluZS1oZWlnaHQ6MzBweDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3otaW5kZXg6Mjd9Lnl0cC1iaWctbW9kZSAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MH0ueXRwLWV4cC1wcHAtdXBkYXRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czowO2JvdHRvbTphdXRvO2ZvbnQtd2VpZ2h0OjQwMDtoZWlnaHQ6YXV0bztwb2ludGVyLWV2ZW50czphdXRvO3RvcDoxNnB4O2xlZnQ6MTZweDtyaWdodDphdXRvfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1saW5rey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXItbGVmdDo0cHggc29saWQgIzNlYTZmZjtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MzEycHg7cGFkZGluZzo4cHggMCA4cHggOHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1saW5rW2hyZWY9IiMiXXtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHR7YmFja2dyb3VuZDpub25lOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6MWVtO3BhZGRpbmc6OHB4fS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1jaGV2cm9ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWNoZXZyb246ZW1wdHksLnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWljb246ZW1wdHl7aGVpZ2h0OjA7d2lkdGg6MH0ueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e2JvdHRvbTphdXRvO2hlaWdodDphdXRvO2xlZnQ6MTZweDtsaW5lLWhlaWdodDppbmhlcml0fS55dHAtZXhwLXBwcC11cGRhdGUueXRwLWJpZy1tb2RlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1leHAtcHBwLXVwZGF0ZS55dHAtZW1iZWQgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXt0b3A6NjRweH0ueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZS55dHAtYXV0b2hpZGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheSwueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZS55dHAtaGlkZS1pbmZvLWJhciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWVtYmVkLnl0cC1hdXRvaGlkZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWVtYmVkLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7dG9wOjE2cHh9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWluZGljYXRvcntkaXNwbGF5Om5vbmV9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWJpZy1tb2RlIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1leHAtcHBwLXVwZGF0ZS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWV4cC1wcHAtdXBkYXRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXktbGlua3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpO3BhZGRpbmc6NXB4O2JvcmRlci1sZWZ0OnVuc2V0fS55dHAtZGVsaGktbW9kZXJuLnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWluZGljYXRvcntkaXNwbGF5OmJsb2NrO3dpZHRoOjRweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7bWFyZ2luOjAgOHB4fS55dHAtZW1iZWQgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXtib3R0b206NDVweH0ueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MzJweDtvcGFjaXR5OjE7cGFkZGluZzowIDE0cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e2JvdHRvbTo2MnB4O2hlaWdodDo0MnB4O2xlZnQ6NDRweDtsaW5lLWhlaWdodDo0MnB4fS55dHAtYXV0b2hpZGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheSwueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym90dG9tOjZweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYmlnLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1iaWctbW9kZS55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXtib3R0b206MTJweH0ueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHRbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW1lbnVpdGVte2Rpc3BsYXk6dGFibGUtcm93O2N1cnNvcjpkZWZhdWx0O291dGxpbmU6bm9uZX0ueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVyKXtoZWlnaHQ6NDBweH0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW06bm90KC55dHAtbWVudWl0ZW0td2l0aC1mb290ZXIpe2hlaWdodDo0OXB4fS55dHAtbWVudWl0ZW06bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtjdXJzb3I6cG9pbnRlcn0ueXRwLW1lbnVpdGVtOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRwLW1lbnVpdGVtLWNvbnRlbnQsLnl0cC1tZW51aXRlbS1pY29uLC55dHAtbWVudWl0ZW0tbGFiZWwsLnl0cC1tZW51aXRlbS1zZWNvbmRhcnktaWNvbntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlO3BhZGRpbmc6MCAxNXB4fS55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZy1sZWZ0OjB9Lnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmc6MCAxMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmc6MCAxNXB4fS55dHAtbWVudWl0ZW0taWNvbiBzdmd7ZGlzcGxheTpibG9jazt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS55dHAtbWVudWl0ZW0tc2Vjb25kYXJ5LWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLWRlbGhpLW1vZGVybikgLnl0cC1tZW51aXRlbS1pY29uIHN2Z3t3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtbWVudWl0ZW0tbGFiZWx7Zm9udC1zaXplOjExOCU7Zm9udC13ZWlnaHQ6NTAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbWVudWl0ZW0tbGFiZWx7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6dW5zZXR9Lnl0cC1tZW51aXRlbS1sYWJlbC13cmFwcGVye2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1tZW51aXRlbS1rZXlib2FyZC1zaG9ydGN1dHtmb250LXNpemU6MTE1JTtwYWRkaW5nLWxlZnQ6M3B4O2NvbG9yOiNjY2N9Lnl0cC1xdWFsaXR5LW1lbnUgLnl0cC1tZW51aXRlbXt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1xdWFsaXR5LW1lbnUgLnl0cC1wYW5lbC1tZW51e21hcmdpbi1yaWdodDoxMHB4fS55dHAtcXVhbGl0eS1tZW51IC55dHAtbWVudWl0ZW0tbGFiZWwgc3Vwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjB9Lnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtLWNvbnRlbnQsLnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtLWxhYmVse3BhZGRpbmc6MCAxNXB4IDAgMH0ueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb10gLnl0cC1tZW51aXRlbS1jb250ZW50e2Rpc3BsYXk6bm9uZX0ueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb10gLnl0cC1tZW51aXRlbS1sYWJlbHtwYWRkaW5nLWxlZnQ6MzVweDtwYWRkaW5nLXJpZ2h0OjIwcHg7Ym9yZGVyLWJvdHRvbTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbVtyb2xlPW1lbnVpdGVtcmFkaW9dIC55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZy1sZWZ0OjUycHg7cGFkZGluZy1yaWdodDozNXB4fS55dHAtbWVudWl0ZW1bcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC1tZW51aXRlbS1sYWJlbHtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRUa2dNVFl1TWlBMExqZ2dNVEpzTFRFdU5DQXhMalJNT1NBeE9TQXlNU0EzYkMweExqUXRNUzQwZWlJdlBqd3ZjM1puUGc9PSk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCAxMHB4IGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6MThweCAxOHB4Oy1tb3otYmFja2dyb3VuZC1zaXplOjE4cHggMThweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToxOHB4IDE4cHh9Lnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb11bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tbGFiZWx7YmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IDE1cHggY2VudGVyO2JhY2tncm91bmQtc2l6ZToyN3B4IDI3cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6MjdweCAyN3B4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjI3cHggMjdweH0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1pY29uey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAycHggMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAwIC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1sYWJlbHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgLTJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1sYWJlbDpmaXJzdC1jaGlsZHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDJweCAycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgLTJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCl9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLW1lbnVpdGVtOmZvY3VzIC55dHAtbWVudWl0ZW0tY29udGVudHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgLTJweCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAwIDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAtMnB4IC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW1bcm9sZT1tZW51aXRlbXJhZGlvXTpmb2N1cyAueXRwLW1lbnVpdGVtLWxhYmVsey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAycHggMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAtMnB4IC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgLTJweCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLW1lbnVpdGVtLWNvbnRlbnR7Zm9udC1zaXplOjEwOSU7dGV4dC1hbGlnbjpyaWdodH0ueXRwLW1lbnVpdGVtLXN1YmxhYmVse2Zsb2F0OmxlZnR9Lnl0cC1tZW51LWxhYmVsLXNlY29uZGFyeSwueXRwLW1lbnVpdGVtLXN1YmxhYmVse2ZvbnQtc2l6ZTo5MSU7Y29sb3I6I2NjY30ueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDlweCBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjMycHggMzJweDstbW96LWJhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O3BhZGRpbmctcmlnaHQ6MzhweH0ueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFeUxqVTVJREl3TGpNMElEUXVOVGd0TkM0MU9TMDBMalU0TFRRdU5UbE1NVFFnT1M0M05XdzJJRFl0TmlBMmVpSXZQand2YzNablBnPT0pfVtkaXI9cnRsXSAueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFNUxqUXhJREl3TGpBNUxUUXVOVGd0TkM0MU9TQTBMalU0TFRRdU5UbE1NVGdnT1M0MWJDMDJJRFlnTmlBMmVpSXZQand2YzNablBnPT0pfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbVthcmlhLWhhc3BvcHVwPXRydWVdIC55dHAtbWVudWl0ZW0tY29udGVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEzcHggY2VudGVyO2JhY2tncm91bmQtc2l6ZTo0OHB4IDQ4cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6NDhweCA0OHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjQ4cHggNDhweDtwYWRkaW5nLXJpZ2h0OjU3cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbS1jb250ZW50e2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC43KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbVthcmlhLWhhc3BvcHVwPXRydWVdIC55dHAtbWVudWl0ZW0tY29udGVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEycHggY2VudGVyO2JhY2tncm91bmQtc2l6ZToxOHB4IDE4cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6MThweCAxOHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjE4cHggMThweDtwYWRkaW5nLXJpZ2h0OjMycHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xXOXdZV05wZEhrOUlpNDNJaUJrUFNKdE9TNDBJREU0TGpRdExqY3RMamNnTlM0MkxUVXVOaTAxTGpjdE5TNDNMamN0TGpjZ05pNDBJRFl1TkhvaUx6NDhMM04yWno0PSl9Lnl0cC1kZWxoaS1tb2Rlcm4gW2Rpcj1ydGxdIC55dHAtbWVudWl0ZW1bYXJpYS1oYXNwb3B1cD10cnVlXSAueXRwLW1lbnVpdGVtLWNvbnRlbnR7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xXOXdZV05wZEhrOUlpNDNJaUJrUFNKTk1UUXVPVFlnTVRndU9UWWdPQ0F4TW13MkxqazJMVFl1T1RZdU56RXVOekZNT1M0ME1TQXhNbXcyTGpJMUlEWXVNalY2SWk4K1BDOXpkbWMrKX0ueXRwLW1lbnVpdGVtIHN1cHtsaW5lLWhlaWdodDowO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLW1lbnVpdGVtLWxhYmVsLWNvdW50e2NvbG9yOiNjY2N9Lnl0cC1tZW51aXRlbXRpdGxle3BhZGRpbmc6MCAxNXB4O21heC13aWR0aDoyMDBweDt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW10aXRsZXtwYWRkaW5nOjAgMjJweDttYXgtd2lkdGg6MzAwcHh9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNle21hcmdpbi1sZWZ0Oi44ZW07ZGlzcGxheTppbmxpbmUtYmxvY2s7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNlOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNlIHN2Z3toZWlnaHQ6MjBweDt3aWR0aDoyMHB4O21hcmdpbi1ib3R0b206LTRweH0ueXRwLW1lbnVpdGVtLWhpZ2hsaWdodGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdWdnZXN0ZWQtYWN0aW9uKX0ueXRwLW1lbnVpdGVtLWhpZ2hsaWdodC10cmFuc2l0aW9uLWVuYWJsZWQueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLWhpZ2hsaWdodGVkKXstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAzcyBsaW5lYXIgMXM7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDNzIGxpbmVhciAxc30ueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLXRvcDoxNXB4fS55dHAtbWVudWl0ZW0tZm9vdGVye3BhZGRpbmctdG9wOjVweH0ueXRwLW1lbnVpdGVtLXNlY3Rpb24taGVhZGVyIC55dHAtbWVudWl0ZW0tbGFiZWx7Y29sb3I6I2VlZTtwYWRkaW5nOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtLXNlY3Rpb24taGVhZGVyIC55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZzowfS55dHAtcGFuZWx7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59Lnl0cC1wYW5lbHttaW4td2lkdGg6MjUwcHh9Lnl0cC1wYW5lbC1oZWFkZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4yKTtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtc2l6ZToxMDklO2NvbG9yOiNlZWU7cGFkZGluZzo4cHggMDtoZWlnaHQ6NDBweDt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1wYW5lbC1mb290ZXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMik7bGluZS1oZWlnaHQ6aW5oZXJpdDtmb250LXNpemU6MTE4JTtmb250LXdlaWdodDo1MDA7Y29sb3I6I2VlZTtwYWRkaW5nOjE2cHggMDttaW4taGVpZ2h0OjQwcHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI1MHB4fS55dHAtcGFuZWwtZm9vdGVyLWNvbnRlbnR7bWFyZ2luOjAgMTBweH0ueXRwLXBhbmVsLWZvb3Rlci55dHAtcGFuZWwtaGlkZS1mb290ZXJ7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1wYW5lbC1mb290ZXItY29udGVudC1saW5re2NvbG9yOiMxNjdhYzZ9Lnl0cC10b3VjaC1tb2RlIC55dHAtcGFuZWwtaGVhZGVye2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1wYW5lbC1oZWFkZXJ7aGVpZ2h0OjQ5cHh9Lnl0cC1wYW5lbC1iYWNrLWJ1dHRvbi1jb250YWluZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDhweDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDo0OHB4fS55dHAtcGFuZWwtYmFjay1idXR0b257YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXpNaUF6TWlJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGliVEU1TGpReElESXdMakE1TFRRdU5UZ3ROQzQxT1NBMExqVTRMVFF1TlRsTU1UZ2dPUzQxYkMwMklEWWdOaUEyZWlJdlBqd3ZjM1puUGc9PSk7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLXBhbmVsLXRpdGxlOmhvdmVye2N1cnNvcjpwb2ludGVyfS55dHAtcGFuZWwtb3B0aW9uc3ttYXJnaW4tbGVmdDphdXRvfS55dHAtcGFuZWwtdGl0bGV7Zm9udC13ZWlnaHQ6NTAwfVtkaXI9cnRsXSAueXRwLXBhbmVsLXRpdGxle2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFeUxqVTVJREl3TGpNMElEUXVOVGd0TkM0MU9TMDBMalU0TFRRdU5UbE1NVFFnT1M0M05XdzJJRFl0TmlBMmVpSXZQand2YzNablBnPT0pfS55dHAtYmlnLW1vZGUgLnl0cC1wYW5lbC10aXRsZXtiYWNrZ3JvdW5kLXNpemU6NDhweCA0OHB4Oy1tb3otYmFja2dyb3VuZC1zaXplOjQ4cHggNDhweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo0OHB4IDQ4cHg7cGFkZGluZzowIDE1cHggMCA1MnB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLXBhbmVsLXRpdGxle3BhZGRpbmc6MCAxNXB4IDAgMH0ueXRwLXBhbmVsLW9wdGlvbnN7aGVpZ2h0OjEwMCU7cGFkZGluZzowIDEwcHg7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWJpZy1tb2RlIC55dHAtcGFuZWwtb3B0aW9uc3twYWRkaW5nOjAgMTVweH0ueXRwLXBhbmVsLW1lbnV7cGFkZGluZzo4cHggMDtkaXNwbGF5OnRhYmxlO3dpZHRoOjEwMCU7Y29sb3I6I2VlZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiwueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257d2lkdGg6NDZweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDo4cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257cGFkZGluZzowfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zne3BhZGRpbmc6MTBweH0ueXRwLWRlbGhpLW1vZGVybi1pY29ucy55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7cGFkZGluZzoxOHB4fS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1iaWctbW9kZS55dHAtYmlnLW1vZGUtY29uc2lzdGVudC1waWxsLWhlaWdodCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uIHN2Z3twYWRkaW5nOjEwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257d2lkdGg6NTJweDtoZWlnaHQ6NTJweDttYXJnaW4tdG9wOjZweH0ueXRwLWRlbGhpLW1vZGVybi1pY29ucy55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjE0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWJpZy1tb2RlLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uIHN2Z3twYWRkaW5nOjEycHggMTBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWNvbXBhY3QtY29udHJvbHMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsNDhweCk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1waWxsLXRvcC1oZWlnaHQsMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWNvbXBhY3QtY29udHJvbHMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zne3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7cGFkZGluZzo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9ue2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDo2OXB4fS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24tcGxheWxpc3R7d2lkdGg6NDBweH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24tcGxheWxpc3R7d2lkdGg6NjBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uLXBsYXlsaXN0e21hcmdpbi10b3A6MTJweDt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcHJldi1idXR0b24sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1uZXh0LWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXByZXYtYnV0dG9uLC55dHAtZW1iZWQueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLW5leHQtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW5leHQtYnV0dG9uLC55dHAtcGxheS1idXR0b24sLnl0cC1wcmV2LWJ1dHRvbnstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCBhdXRvO2ZsZXg6MCAwIGF1dG99Lnl0cC1wbGF5bGlzdC1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtib3R0b206MDt3aWR0aDo0MDBweDttYXgtd2lkdGg6MTAwJTt6LWluZGV4OjczO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51e2xlZnQ6YXV0bztyaWdodDowfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51e3dpZHRoOjYwMHB4fVtkaXI9bHRyXSAueXRwLXBsYXlsaXN0LW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9bHRyXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtcGxheWxpc3QtbWVudVthcmlhLWhpZGRlbj10cnVlXXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX1bZGlyPXJ0bF0gLnl0cC1wbGF5bGlzdC1tZW51W2FyaWEtaGlkZGVuPXRydWVdey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX1bZGlyPXJ0bF0gLnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0cC1wbGF5bGlzdC1tZW51LWhlYWRlcntwYWRkaW5nOjE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzQ0NH0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1oZWFkZXJ7cGFkZGluZzoyM3B4fS55dHAtcGxheWxpc3QtbWVudS10aXRsZXtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3BhZGRpbmctcmlnaHQ6MTVweDtmb250LXNpemU6MTM2JTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS10aXRsZXtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4O3BhZGRpbmctcmlnaHQ6MjNweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXBsYXlsaXN0LW1lbnUtc3VidGl0bGV7Y29sb3I6I2I4YjhiODtsaW5lLWhlaWdodDoxN3B4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LXN1YnRpdGxle2xpbmUtaGVpZ2h0OjI2cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNXB4O3JpZ2h0OjE1cHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1jbG9zZXt0b3A6MjNweDtyaWdodDoyM3B4O3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtcGxheWxpc3QtbWVudS1jbG9zZTpob3ZlciBwYXRoe2ZpbGw6I2ZmZn0ueXRwLXBsYXlsaXN0LW1lbnUtaXRlbXN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjY4cHg7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1pdGVtc3t0b3A6MTAzcHh9Lnl0cC1jaHJvbWUtdG9wIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24sLnl0cC1lbWJlZC1wbGF5bGlzdC55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257d2lkdGg6YXV0bztoZWlnaHQ6YXV0b30ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykueXRwLXNtYWxsLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbntwYWRkaW5nLXRvcDoxNnB4fS55dHAtcGxheWxpc3QtbWVudS1idXR0b24taWNvbnt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi1pY29ue21hcmdpbjphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e3BhZGRpbmctcmlnaHQ6NnB4O2xpbmUtaGVpZ2h0OjM2cHg7b3BhY2l0eToxfS55dHAtZW1iZWQtcGxheWxpc3Q6bm90KC55dHAtc21hbGwtbW9kZSkgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbnttYXJnaW4tbGVmdDoxMHB4O21hcmdpbi1yaWdodDoxMHB4fS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e3BhZGRpbmc6MDtsaW5lLWhlaWdodDppbmhlcml0O29wYWNpdHk6MTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHh9Lnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLWljb24sLnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRleHR7ZGlzcGxheTpibG9ja30ueXRwLWVtYmVkLXBsYXlsaXN0Lnl0cC1zbWFsbC1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dCwueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRpbnkgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e2Rpc3BsYXk6Tm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dHtsaW5lLWhlaWdodDo1NHB4fS55dHAtZW1iZWQtcGxheWxpc3QueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dHtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtc2l6ZToyMHB4fS55dHAtcGxheWxpc3QtbWVudS1idXR0b24taWNvbiwueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRleHR7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtcGxheWxpc3QtbWVudS1idXR0b257bWluLXdpZHRoOjQ4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257bWFyZ2luLXRvcDo5cHg7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzttaW4td2lkdGg6MzZweDttaW4taGVpZ2h0OjM2cHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjlweDtib3JkZXItcmFkaXVzOjI3cHg7bWF4LXdpZHRoOjQwMHB4Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLWljb257LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDpub25lO2ZsZXg6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dCwueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGl0bGV7ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDp1bnNldDt6LWluZGV4OjU4fS55dHAtaGlkZS1pbmZvLWJhciAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLXNjcnViYmVyLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDtsZWZ0Oi02LjVweDt6LWluZGV4OjQzfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItY29udGFpbmVye3RvcDotM3B4O2xlZnQ6LTZweH0ueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi05LjVweDtsZWZ0Oi0xMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lcnt0b3A6LTlweDtsZWZ0Oi0xMnB4fS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi02cHg7bGVmdDotMTBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi04cHg7bGVmdDotMTBweH0ueXRwLXNjcnViYmVyLWJ1dHRvbntoZWlnaHQ6MTNweDt3aWR0aDoxM3B4O2JvcmRlci1yYWRpdXM6Ni41cHg7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItYnV0dG9ue2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0qIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1oaWRlLXNjcnViYmVyLWJ1dHRvbiwueXRwLWRlbGhpLW1vZGVybiAueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLWhpZGUtc2NydWJiZXItYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1oaWRlLXNjcnViYmVyLWJ1dHRvbnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTstbXMtdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKX0ueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3ZlciwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbi55dHAtc2NydWJiZXItYnV0dG9uLWhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNTQpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS41NCk7dHJhbnNmb3JtOnNjYWxlKDEuNTQpfS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1idXR0b257aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtib3JkZXItcmFkaXVzOjEwcHg7Ym90dG9tOjIwcHg7bGVmdDoxMHB4fS55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbntkaXNwbGF5Om5vbmU7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9ue2Rpc3BsYXk6YmxvY2t9LnlwYy1sb2FkZWQgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IzI3OTNlNn0uYWQtaW50ZXJydXB0aW5nIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNmYzB9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLXByb2dyZXNzLWJhcjpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNjcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS42Nyk7dHJhbnNmb3JtOnNjYWxlKDEuNjcpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRyYWcgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9uLC55dHAtZHJhZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3ZlciwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1zY3J1YmJlci1idXR0b24taG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMTY2NjY2NjY2Nyk7dHJhbnNmb3JtOnNjYWxlKDEuMTY2NjY2NjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZHJhZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1kcmFnIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbi55dHAtc2NydWJiZXItYnV0dG9uLWhvdmVyLC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbiwueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjE2NjY2NjY2NjcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTt0cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQyO2JvdHRvbToxNi45cHg7bGVmdDo2LjVweDstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ueXRwLXNjcnViYmVyLXB1bGwtaW5kaWNhdG9yOmFmdGVyLC55dHAtc2NydWJiZXItcHVsbC1pbmRpY2F0b3I6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjt0b3A6MDtsZWZ0OjA7b3BhY2l0eTowO3dpZHRoOjYuNXB4O2hlaWdodDo2LjVweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweCAwIDAgMnB4O2JvcmRlci1jb2xvcjojZWFlYWVhfS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2NydWJiZXItcHVsbC1pbmRpY2F0b3I6YmVmb3Jle3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHh9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjphZnRlcnstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xczt0cmFuc2l0aW9uOmFsbCAuMXN9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjpiZWZvcmV7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbjphbGwgLjJzfS55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXIsLnl0cC1jaGFwdGVycy1jb250YWluZXJ7ei1pbmRleDozMjtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7aGVpZ2h0OjEwMCV9Lnl0cC1jaGFwdGVycy1jb250YWluZXJ7d2lkdGg6MTAwJX0ueXRwLWNoYXB0ZXItaG92ZXItY29udGFpbmVye2Zsb2F0OmxlZnR9Lnl0cC1wcm9ncmVzcy1saXN0e3otaW5kZXg6Mzk7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4yKTtoZWlnaHQ6MTAwJTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjYpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC42KTt0cmFuc2Zvcm06c2NhbGVZKC42KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1saXN0e292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsLjYpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7LW1zLXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSguNjY3KX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWx1bWlub3NpdHkueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWxpc3R7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6bHVtaW5vc2l0eX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWRpZmZlcmVuY2UueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWxpc3R7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZGlmZmVyZW5jZX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWV4Y2x1c2lvbi55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtbGlzdHtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpleGNsdXNpb259Lnl0cC1iaWctbW9kZSAueXRwLXByb2dyZXNzLWxpc3R7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjVweCkgc2NhbGVZKC42MjUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjVweCkgc2NhbGVZKC42MjUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0uNXB4KSBzY2FsZVkoLjYyNSl9Lnl0cC1kcmFnIC55dHAtcHJvZ3Jlc3MtbGlzdCwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWxpc3QsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtcHJvZ3Jlc3MtbGlzdHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1wcm9ncmVzcy1saXN0LC55dHAtZGVsaGktbW9kZXJuIC55dHAtdG91Y2gtbW9kZSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWxpc3QsLnl0cC1kcmFnIC55dHAtcHJvZ3Jlc3MtbGlzdHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kcmFnIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZXhwLWNoYXB0ZXItaG92ZXItY29udGFpbmVyOmhvdmVyLC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLnl0cC10aW1lZC1tYXJrZXJzLWVuYWJsZWQgLnl0cC1wcm9ncmVzcy1saXN0ey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjgpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuOCk7dHJhbnNmb3JtOnNjYWxlWSgxLjgpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtZHJhZyAueXRwLWV4cC1jaGFwdGVyLWhvdmVyLWVmZmVjdCwueXRwLWRlbGhpLW1vZGVybi55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZGVsaGktbW9kZXJuLnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkueXRwLXRpbWVkLW1hcmtlcnMtZW5hYmxlZCAueXRwLXByb2dyZXNzLWxpc3R7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEuNjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItY29udGFpbmVyOmhvdmVyLC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLnl0cC10aW1lZC1tYXJrZXJzLWVuYWJsZWQgLnl0cC1wcm9ncmVzcy1saXN0ey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSB1bnNldDt0cmFuc2l0aW9uOnRyYW5zZm9ybSB1bnNldCwtd2Via2l0LXRyYW5zZm9ybSB1bnNldH0ueXRwLXJlcGVhdGluZy1jaGFwdGVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjgpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuOCk7dHJhbnNmb3JtOnNjYWxlWSgxLjgpfS55dHAtYm91bmQtdGltZS1sZWZ0LC55dHAtYm91bmQtdGltZS1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Om5vbmU7dG9wOi0yOXB4O3otaW5kZXg6Mjk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KTt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZTNlM2UzO3BhZGRpbmc6NXB4IDlweDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGVhc2UtaW47dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBlYXNlLWlufS55dHAtYmlnLW1vZGUgLnl0cC1ib3VuZC10aW1lLWxlZnQsLnl0cC1iaWctbW9kZSAueXRwLWJvdW5kLXRpbWUtcmlnaHR7dG9wOi0zNnB4fS55dHAtYm91bmQtdGltZS1sZWZ0e2xlZnQ6MH0ueXRwLWJvdW5kLXRpbWUtcmlnaHR7cmlnaHQ6MH0ueXRwLWJvdW5kLXRpbWUtbGVmdDphZnRlciwueXRwLWJvdW5kLXRpbWUtcmlnaHQ6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtib3R0b206LTVweDt3aWR0aDowO2hlaWdodDowO2JvcmRlci1zdHlsZTpzb2xpZH0ueXRwLWJvdW5kLXRpbWUtbGVmdDphZnRlcntsZWZ0OjA7Ym9yZGVyLXdpZHRoOjVweCA1cHggMCAwO2JvcmRlci1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0ueXRwLWJvdW5kLXRpbWUtcmlnaHQ6YWZ0ZXJ7cmlnaHQ6MDtib3JkZXItd2lkdGg6MCA1cHggNXB4IDA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHJnYmEoMjgsMjgsMjgsLjkpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50fS55dHAtMTVtLXByb2dyZXNzLC55dHAtMW0tcHJvZ3Jlc3MsLnl0cC0zMG0tcHJvZ3Jlc3MsLnl0cC02MG0tcHJvZ3Jlc3MsLnl0cC1hZC1wcm9ncmVzcywueXRwLWNsaXAtZW5kLWV4Y2x1ZGUsLnl0cC1jbGlwLXN0YXJ0LWV4Y2x1ZGUsLnl0cC1ob3Zlci1wcm9ncmVzcywueXRwLWxvYWQtcHJvZ3Jlc3MsLnl0cC1wbGF5LXByb2dyZXNzLC55dHAtcHJvZ3Jlc3MtbGluZWFyLWxpdmUtYnVmZmVyLC55dHAtdGltZWQtbWFya2Vycy1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgMDstbXMtdHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNmb3JtLW9yaWdpbjowIDB9Lnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjYpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC42KTt0cmFuc2Zvcm06c2NhbGVZKC42KTt0b3A6MXB4O3otaW5kZXg6NDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7LW1zLXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSguNjY3KX0ueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMS44KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjgpO3RyYW5zZm9ybTpzY2FsZVkoMS44KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dG9wOi0ycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyIC55dHAtdGltZWQtbWFya2Vycy1jb250YWluZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEuNjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLXRpbWVkLW1hcmtlci55dHAtdGltZWQtbWFya2VyLWhvdmVyLC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtdGltZWQtbWFya2VyLnl0cC10aW1lZC1tYXJrZXItaG92ZXJ7d2lkdGg6OXB4O2hlaWdodDozcHg7Ym90dG9tOjFweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC10aW1lZC1tYXJrZXIueXRwLXRpbWVkLW1hcmtlci1ob3ZlciwueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1ob3ZlciAueXRwLXRpbWVkLW1hcmtlci55dHAtdGltZWQtbWFya2VyLWhvdmVye3dpZHRoOjEycHg7aGVpZ2h0OjQuOHB4O2JvdHRvbTouNnB4fS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLXRpbWVkLW1hcmtlcnt3aWR0aDo1cHg7aGVpZ2h0OjEuNjdweDtib3R0b206MS41cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyIC55dHAtdGltZWQtbWFya2Vye3dpZHRoOjZweDtoZWlnaHQ6Mi40cHg7Ym90dG9tOjJweH0ueXRwLXByb2dyZXNzLWJhci1zdGFydHtib3JkZXItcmFkaXVzOjNweCAwIDAgM3B4fS55dHAtcHJvZ3Jlc3MtYmFyLWVuZHtib3JkZXItcmFkaXVzOjAgM3B4IDNweCAwfS55dHAtcHJvZ3Jlc3MtYmFyLXN0YXJ0Lnl0cC1wcm9ncmVzcy1iYXItZW5ke2JvcmRlci1yYWRpdXM6M3B4fS55dHAtdGltZWQtbWFya2Vye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO3dpZHRoOjNweDtoZWlnaHQ6M3B4O2JvdHRvbToxcHg7Ym9yZGVyLXJhZGl1czo1MCU7b3BhY2l0eToxfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZWQtbWFya2Vye2JvdHRvbToycHh9Lnl0cC1jbGlwLWVuZC1leGNsdWRlLC55dHAtY2xpcC1zdGFydC1leGNsdWRle2Rpc3BsYXk6bm9uZTt6LWluZGV4OjM3O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jbGlwLWVuZC1lbmFibGVkIC55dHAtY2xpcC1lbmQtZXhjbHVkZSwueXRwLWNsaXAtc3RhcnQtZW5hYmxlZCAueXRwLWNsaXAtc3RhcnQtZXhjbHVkZXtkaXNwbGF5OmJsb2NrfS55dHAtbG9vcC1yYW5nZS1lbmFibGVkIC55dHAtY2xpcC1lbmQsLnl0cC1sb29wLXJhbmdlLWVuYWJsZWQgLnl0cC1jbGlwLXN0YXJ0e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1jbGlwLWhvdmVyIC55dHAtY2xpcC1lbmQtZXhjbHVkZSwueXRwLWNsaXAtaG92ZXIgLnl0cC1jbGlwLXN0YXJ0LWV4Y2x1ZGV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9ncmVzcy1saW5lYXItbGl2ZS1idWZmZXJ7ei1pbmRleDo0NTtiYWNrZ3JvdW5kOiNjMDA7b3BhY2l0eTowfS55dHAtZW5hYmxlLWxpdmUtYnVmZmVyIC55dHAtcHJvZ3Jlc3MtbGluZWFyLWxpdmUtYnVmZmVye29wYWNpdHk6LjZ9Lnl0cC1hZC1wcm9ncmVzc3t6LWluZGV4OjM2O2JhY2tncm91bmQ6I2ZjMH0ueXRwLWxvYWQtcHJvZ3Jlc3N7ei1pbmRleDozMztiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS55dHAtbG9hZC1wcm9ncmVzcy55dHAtZmFzdC1sb2Fke2JhY2tncm91bmQ6IzAwODM4Zn0ueXRwLXBsYXktcHJvZ3Jlc3N7ei1pbmRleDozNDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxjb2xvci1zdG9wKDgwJSwjZjAzKSx0bygjZmYyNzkxKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCNmMDMgODAlLCNmZjI3OTEpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55cGMtbG9hZGVkIC55dHAtcGxheS1wcm9ncmVzcy55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZDojMjc5M2U2fS5hZC1pbnRlcnJ1cHRpbmcgLnl0cC1wbGF5LXByb2dyZXNzLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kOiNmYzB9Lnl0cC1ob3Zlci1wcm9ncmVzc3t6LWluZGV4OjM1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTI1KTtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1ob3Zlci1wcm9ncmVzc3tvcGFjaXR5OjF9Lnl0cC1kZWxoaS1tb2Rlcm4uYWQtaW50ZXJydXB0aW5nIC55dHAtbG9hZC1wcm9ncmVzcywueXRwLWVuYWJsZS1saXZlLWJ1ZmZlciAueXRwLWhvdmVyLXByb2dyZXNzLC55dHAtZW5hYmxlLWxpdmUtYnVmZmVyIC55dHAtbG9hZC1wcm9ncmVzc3tvcGFjaXR5OjB9Lnl0cC1ob3Zlci1wcm9ncmVzcy1saWdodHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS55dHAtMTVtLXByb2dyZXNzLC55dHAtMW0tcHJvZ3Jlc3MsLnl0cC0zMG0tcHJvZ3Jlc3MsLnl0cC02MG0tcHJvZ3Jlc3N7d2lkdGg6MXB4O2JhY2tncm91bmQ6IzAwMDt6LWluZGV4OjM2fS55dHAtMW0tcHJvZ3Jlc3N7aGVpZ2h0OjMwJX0ueXRwLTE1bS1wcm9ncmVzc3toZWlnaHQ6NTAlfS55dHAtMzBtLXByb2dyZXNze2hlaWdodDo1NSV9Lnl0cC02MG0tcHJvZ3Jlc3N7aGVpZ2h0OjYwJX0ueXRwLWNsaXAtZW5kLC55dHAtY2xpcC1zdGFydHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtib3R0b206LTQuNXB4O21hcmdpbi1sZWZ0Oi03cHg7ei1pbmRleDo0NDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjIxNDI4NTcxNDMpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC4yMTQyODU3MTQzKTt0cmFuc2Zvcm06c2NhbGVZKC4yMTQyODU3MTQzKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1iaWctbW9kZSAueXRwLWNsaXAtZW5kLC55dHAtYmlnLW1vZGUgLnl0cC1jbGlwLXN0YXJ0e3dpZHRoOjIxcHg7aGVpZ2h0OjIxcHg7Ym90dG9tOi02LjVweDttYXJnaW4tbGVmdDotMTAuNXB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSguMjM4MDk1MjM4KTstbXMtdHJhbnNmb3JtOnNjYWxlWSguMjM4MDk1MjM4KTt0cmFuc2Zvcm06c2NhbGVZKC4yMzgwOTUyMzgpfS55dHAtZHJhZyAueXRwLWNsaXAtZW5kLC55dHAtZHJhZyAueXRwLWNsaXAtc3RhcnQsLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1jbGlwLWVuZCwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWNsaXAtc3RhcnQsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtY2xpcC1lbmQsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtY2xpcC1zdGFydHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1jbGlwLWVuZCBzdmcsLnl0cC1jbGlwLXN0YXJ0IHN2Z3tkaXNwbGF5OmJsb2NrfS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7Ym90dG9tOjQ3cHg7aGVpZ2h0OjVweH0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC1wbGF5ZXItbWluaW1pemVkKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7ei1pbmRleDo2MDtib3R0b206dmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCw3MnB4KTtoZWlnaHQ6NnB4fS55dHAteHNtYWxsLXdpZHRoLW1vZGUueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC1wbGF5ZXItbWluaW1pemVkKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7Ym90dG9tOnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQteHNtYWxsLXdpZHRoLW1vZGUsNjRweCl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntib3R0b206MzZweDtoZWlnaHQ6NXB4fS55dHAtZW1iZWQgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JvdHRvbTozOXB4fS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtYmlnLW1vZGUgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JvdHRvbTo1Mi41cHg7aGVpZ2h0OjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntib3R0b206dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCw5NnB4KX0ueXRwLXByb2dyZXNzLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjMxO291dGxpbmU6bm9uZX0ueXRwLWhlYXQtbWFwLXBsYXllZF9iYXIueXRwLWhlYXQtbWFwLnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1wcm9ncmVzcy1iYXJ7b3BhY2l0eTowfS55dHAtbW9iaWxlIC55dHAtcHJvZ3Jlc3MtYmFye3BhZGRpbmctYm90dG9tOjEwcHh9Lnl0cC1wcm9ncmVzcy1iYXItcGFkZGluZ3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxNnB4O2JvdHRvbTowO3otaW5kZXg6Mjh9Lnl0cC1iaWctbW9kZSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDoyNHB4fS55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDoyMnB4O2JvdHRvbTotNnB4fS55dHAtYmlnLW1vZGU6bm90KC55dHAtdG91Y2gtbW9kZSkgLnl0cC1jaGFwdGVyLWhvdmVyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtcHJvZ3Jlc3MtYmFyLXBhZGRpbmd7aGVpZ2h0OjMzcHg7Ym90dG9tOi05cHh9Lnl0cC10b3VjaC1tb2RlIC55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDo0MHB4O2JvdHRvbTotMTFweH1AcHJvcGVydHkgLS1zZWVrLXNjcnViYmVyLXdpZHRoe3N5bnRheDoiPGxlbmd0aD4iO2luaXRpYWwtdmFsdWU6MDtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS1zY3J1YmJlci1jb250YWluZXIteHtzeW50YXg6IjxsZW5ndGg+Ijtpbml0aWFsLXZhbHVlOjA7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tcHJvZ3Jlc3Mtd2lkdGh7c3ludGF4OiI8bGVuZ3RoPiI7aW5pdGlhbC12YWx1ZTowO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXByb2dyZXNzLWxlZnQtYnVmZmVye3N5bnRheDoiPGxlbmd0aD4iO2luaXRpYWwtdmFsdWU6MDtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS1wcm9ncmVzcy1yaWdodC1idWZmZXJ7c3ludGF4OiI8bGVuZ3RoPiI7aW5pdGlhbC12YWx1ZTowO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXVuaWZpZWQtc2Vlay1vZmZzZXQteHtzeW50YXg6IjxsZW5ndGg+Ijtpbml0aWFsLXZhbHVlOjA7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxle3N5bnRheDoiPG51bWJlcj4iO2luaXRpYWwtdmFsdWU6MTtpbmhlcml0czpmYWxzZX0ueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVyey0tcHJvZ3Jlc3Mtd2lkdGg6MHB4Oy0tcHJvZ3Jlc3MtbGVmdC1idWZmZXI6MHB4Oy0tcHJvZ3Jlc3MtcmlnaHQtYnVmZmVyOjBweDstLXNlZWstc2NydWJiZXItd2lkdGg6MHB4Oy0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlOjE7LS1zY3J1YmJlci1jb250YWluZXIteDowcHg7LS1oYWxmLXdpZHRoOmNhbGModmFyKC0tc2Vlay1zY3J1YmJlci13aWR0aCwgMHB4KSowLjUpOy0taGFsZi1oZWlnaHQ6bWluKHZhcigtLWhhbGYtd2lkdGgpLDIwcHgpOy0tdW5pZmllZC1zZWVrLW9mZnNldC14OmNhbGMobWF4KDBweCwKICAgICAgICAodmFyKC0taGFsZi13aWR0aCkgKiB2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKSAtIHZhcigKICAgICAgICAgICAgLS1zY3J1YmJlci1jb250YWluZXIteAogICAgICAgICAgKSAtIHZhcigtLXByb2dyZXNzLWxlZnQtYnVmZmVyKSkgKyBtaW4oMHB4LAogICAgICAgIHZhcigtLXByb2dyZXNzLXdpZHRoKSArIHZhcigtLXByb2dyZXNzLXJpZ2h0LWJ1ZmZlcikgLSB2YXIoLS1zY3J1YmJlci1jb250YWluZXIteCkgLSAodmFyKC0taGFsZi13aWR0aCkgKiB2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKSkpfS55dHAtdW5pZmllZC1zZWVrLWFjdGl2ZSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9uLC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXJ7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbiwueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX19Lnl0cC11bmlmaWVkLXNlZWstY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MCAxNnB4O2hlaWdodDoxMDAlfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9fS55dHAtdW5pZmllZC1zZWVrLWFjdGl2ZSAueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVye29wYWNpdHk6MTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQ2O21hcmdpbjowO3dpZHRoOi13ZWJraXQtbWF4LWNvbnRlbnQ7d2lkdGg6LW1vei1tYXgtY29udGVudDt3aWR0aDptYXgtY29udGVudDtoZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOjIwcHg7b3ZlcmZsb3c6aGlkZGVuO3RvcDo1MCU7bGVmdDo1MCU7LXdlYmtpdC1jbGlwLXBhdGg6aW5zZXQoY2FsYyg1MCUgLSBtaW4odmFyKC0taGFsZi13aWR0aCksIHZhcigtLWhhbGYtaGVpZ2h0KSkpIGNhbGMoNTAlIC0gdmFyKC0taGFsZi13aWR0aCkpIHJvdW5kIG1pbih2YXIoLS1oYWxmLXdpZHRoKSx2YXIoLS1oYWxmLWhlaWdodCkpKTtjbGlwLXBhdGg6aW5zZXQoY2FsYyg1MCUgLSBtaW4odmFyKC0taGFsZi13aWR0aCksIHZhcigtLWhhbGYtaGVpZ2h0KSkpIGNhbGMoNTAlIC0gdmFyKC0taGFsZi13aWR0aCkpIHJvdW5kIG1pbih2YXIoLS1oYWxmLXdpZHRoKSx2YXIoLS1oYWxmLWhlaWdodCkpKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tdW5pZmllZC1zZWVrLW9mZnNldC14KSksLTUwJSkgc2NhbGUodmFyKC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlKSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tdW5pZmllZC1zZWVrLW9mZnNldC14KSksLTUwJSkgc2NhbGUodmFyKC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlKSk7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKC01MCUgKyB2YXIoLS11bmlmaWVkLXNlZWstb2Zmc2V0LXgpKSwtNTAlKSBzY2FsZSh2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKTtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjI2cHg7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsY29sb3Itc3RvcCg4MCUsI2YwMyksdG8oI2ZmMjc5MSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwjZjAzIDgwJSwjZmYyNzkxKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLWxlZnQtd3JhcHBlcjpub3QoOmVtcHR5KT4ueXRwLXVuaWZpZWQtc2Vlay1pY29ue21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWxlZnQ6LTZweH0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLXJpZ2h0LXdyYXBwZXI6bm90KDplbXB0eSk+Lnl0cC11bmlmaWVkLXNlZWstaWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0cC11bmlmaWVkLXNlZWstYWN0aXZlIC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXIgLnl0cC11bmlmaWVkLXNlZWstaWNvbi1yaWdodC13cmFwcGVyOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7aGVpZ2h0OjEwMCU7d2lkdGg6MjRweH0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLWxlZnQtd3JhcHBlcjplbXB0eSwueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLXJpZ2h0LXdyYXBwZXI6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtdW5pZmllZC1zZWVrLXNocmlua2luZyAueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVye29wYWNpdHk6MH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0cC11bmlmaWVkLXNlZWstc2hyaW5raW5nIC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfX0ueXRwLXVuaWZpZWQtc2Vlay1zaHJpbmtpbmcgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbntvcGFjaXR5OjF9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2Upey55dHAtdW5pZmllZC1zZWVrLXNocmlua2luZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX19Lnl0cC1wcm9tb3Rvb2x0aXAtd3JhcHBlcnttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt3aWR0aDozMDBweDtoZWlnaHQ6MTQwcHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAzfS55dHAtZnVsbHNjcmVlbiAueXRwLXByb21vdG9vbHRpcC13cmFwcGVye3dpZHRoOjQ1MHB4O2hlaWdodDoyMTBweH0ueXRwLXByb21vdG9vbHRpcC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0O2NvbG9yOiNmZmY7Zm9udC1zaXplOjExMCU7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7dGV4dC10cmFuc2Zvcm06bm9uZTtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1wcm9tb3Rvb2x0aXAtY29udGVudHtwYWRkaW5nOjE2cHggMTZweCA0cHh9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWNvbnRlbnR7cGFkZGluZzoyNHB4IDI0cHggNnB4fS55dHAtcHJvbW90b29sdGlwLXRpdGxle21hcmdpbi1ib3R0b206OHB4O2ZvbnQtc2l6ZToxMjAlO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNnB4fS55dHAtZnVsbHNjcmVlbiAueXRwLXByb21vdG9vbHRpcC10aXRsZXttYXJnaW4tYm90dG9tOjEycHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLXByb21vdG9vbHRpcC1idXR0b25ze3BhZGRpbmc6OHB4IDRweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWJ1dHRvbnN7cGFkZGluZzoxMnB4IDZweH0ueXRwLXByb21vdG9vbHRpcC1hY2NlcHQtYnV0dG9uLC55dHAtcHJvbW90b29sdGlwLWRpc21pc3MtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZToxMjAlO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjEwcHggMTZweDtjdXJzb3I6cG9pbnRlcn0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtYWNjZXB0LWJ1dHRvbiwueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtZGlzbWlzcy1idXR0b257cGFkZGluZzoxNXB4IDI0cHh9Lnl0cC1wcm9tb3Rvb2x0aXAtcG9pbnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1zdHlsZTpzb2xpZDt0b3A6MTAwJTtib3JkZXItd2lkdGg6MTJweDtib3JkZXItY29sb3I6IzA2NWZkNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtcG9pbnRlcntib3JkZXItd2lkdGg6MThweH0ueXRwLXByb21vdG9vbHRpcC1kZXRhaWxzLWljb257d2lkdGg6MThweH0ueXRwLXByb21vdG9vbHRpcC1kZXRhaWxzLWljb24gc3Zne2hlaWdodDoyMnB4O3dpZHRoOjIycHg7bWFyZ2luOi03cHggLTVweH0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtZGV0YWlscy1pY29ue3dpZHRoOjIycHh9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWRldGFpbHMtaWNvbiBzdmd7aGVpZ2h0OjMwcHg7d2lkdGg6MzBweDttYXJnaW46LTlweCAtN3B4fS55dHAtcmVtb3Rle2xlZnQ6MDtib3R0b206NjFweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWVtYmVkIC55dHAtcmVtb3Rle2JvdHRvbTo1M3B4fS55dHAtcmVtb3RlW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXJlbW90ZXtib3R0b206NzBweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1yZW1vdGV7Ym90dG9tOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVze3otaW5kZXg6MTU7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMnB4O2JvdHRvbTo2MXB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7cGFkZGluZy1yaWdodDo1cHg7Ym9yZGVyLXJhZGl1czo1cHg7b3BhY2l0eTouODV9Lnl0cC1lbWJlZCAueXRwLXJlbW90ZS1kaXNwbGF5LXN0YXR1c3tib3R0b206NTNweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVze2JvdHRvbTo3MHB4fS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVzLWljb257ZmxvYXQ6bGVmdDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1yZW1vdGUtZGlzcGxheS1zdGF0dXMtaWNvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4fS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVzLXRleHR7dGV4dC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC41KTtwYWRkaW5nLXRvcDoxMHB4O3BhZGRpbmctbGVmdDo1cHg7Zm9udC1zaXplOjEzMCU7Zm9udC13ZWlnaHQ6NTAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1vdGUtZGlzcGxheS1zdGF0dXMtdGV4dHtwYWRkaW5nLXRvcDoxNXB4O2xlZnQ6MTA1cHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlbW90ZS1kaXNwbGF5LXN0YXR1cy10ZXh0e3RvcDozMHB4fS55dHAtcmVwbGF5LWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtib3R0b206MDttYXJnaW4tbGVmdDotMjRweDt6LWluZGV4OjU5fS55dHAtZW1iZWQgLnl0cC1yZXBsYXktYnV0dG9ue2JvdHRvbTo0cHg7bWFyZ2luLWxlZnQ6LTIwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjcuNXB4O21hcmdpbi1sZWZ0Oi0yN3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjEwcHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjI0LjVweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXBsYXktYnV0dG9ue21hcmdpbi1sZWZ0OjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWJ1dHRvbi55dHAtYXV0b25hdi10b2dnbGV7cGFkZGluZy1sZWZ0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC12b2x1bWUtYXJlYXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtdm9sdW1lLWFyZWE6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXRpbWUtd3JhcHBlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BhZGRpbmc6MCA0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b246aG92ZXI6YmVmb3Jle2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b217cGFkZGluZzowOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIDAgcmdiYSgyMjcsMjI3LDIyNywuNSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIDAgcmdiYSgyMjcsMjI3LDIyNywuNSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDE5LDE5LDE5KSxyZ2IoNTIsNTIsNTIpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7aGVpZ2h0OjhweDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoNTAlLHJnYmEoMCwwLDAsMCkpLHRvKHJnYigxOSwxOSwxOSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2IoMTksMTksMTkpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwwKSA1MCUscmdiKDE5LDE5LDE5KSl9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1wcm9ncmVzcy1saXN0e2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2IoNjgsNjgsNjgpKSx0byhyZ2IoOTUsOTUsOTUpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiKDY4LDY4LDY4KSxyZ2IoOTUsOTUsOTUpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiKDY4LDY4LDY4KSxyZ2IoOTUsOTUsOTUpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXBsYXktcHJvZ3Jlc3N7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOTQsMCwwKSksdG8ocmdiKDIzMCw2LDYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20scmdiKDE5NCwwLDApLHJnYigyMzAsNiw2KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTk0LDAsMCkscmdiKDIzMCw2LDYpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXNjcnViYmVyLWJ1dHRvbntoZWlnaHQ6OHB4O3dpZHRoOjhweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6NHB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxMzcsMTM3LDEzNykpLHRvKHJnYigxODYsMTg2LDE4NikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTM3LDEzNywxMzcpLHJnYigxODYsMTg2LDE4NikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDEzNywxMzcsMTM3KSxyZ2IoMTg2LDE4NiwxODYpKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYnV0dG9uOm5vdCgueXRwLWNoYXB0ZXItdGl0bGUpe2JvcmRlci1yaWdodDoxcHggc29saWQgYmxhY2s7LXdlYmtpdC1ib3gtc2hhZG93OjFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpO2JveC1zaGFkb3c6MXB4IDAgcmdiYSgyMjcsMjI3LDIyNywuMik7b3BhY2l0eTouOX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b24ueXRwLWF1dG9uYXYtdG9nZ2xle2JvcmRlci1sZWZ0OjFweCBzb2xpZCBibGFjaztwYWRkaW5nLWxlZnQ6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzoxcHggMCByZ2JhKDIyNywyMjcsMjI3LC4yKSxpbnNldCAxcHggMCByZ2JhKDIyNywyMjcsMjI3LC4yKTtib3gtc2hhZG93OjFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpLGluc2V0IDFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpfS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXRpbWUtZGlzcGxheXtwYWRkaW5nLWxlZnQ6MTBweH0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b246YWN0aXZlOmZvY3VzLC55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtc3VidGl0bGVzLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV17YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpfS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtdm9sdW1lLXBhbmVsLnl0cC12b2x1bWUtY29udHJvbC1ob3ZlcnttYXJnaW4tbGVmdDo4cHh9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOTQsMCwwKSksdG8ocmdiKDIzMCw2LDYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20scmdiKDE5NCwwLDApLHJnYigyMzAsNiw2KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTk0LDAsMCkscmdiKDIzMCw2LDYpKTttYXJnaW4tbGVmdDotNnB4fS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtYmV6ZWx7Ym9yZGVyLXJhZGl1czp1bnNldDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgYm90dG9tLGxlZnQgdG9wLGZyb20ocmdiKDE5LDE5LDE5KSksdG8ocmdiKDUyLDUyLDUyKSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLHJnYigxOSwxOSwxOSkscmdiKDUyLDUyLDUyKSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpOy13ZWJraXQtYW5pbWF0aW9uOmJlemVsLWZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHM7YW5pbWF0aW9uOmJlemVsLWZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHN9QC13ZWJraXQta2V5ZnJhbWVzIGJlemVsLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIGJlemVsLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXRvb2x0aXAtYmcsLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtib3JkZXItcmFkaXVzOjB9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMXB4IDFweCByZ2JhKDIyNywyMjcsMjI3LC4yKTtib3gtc2hhZG93Omluc2V0IDFweCAxcHggcmdiYSgyMjcsMjI3LDIyNywuMik7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDE5LDE5LDE5KSxyZ2IoNTIsNTIsNTIpKX0ueXRwLXNldHRpbmdzLWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLXNldHRpbmdzLWJ1dHRvbiBzdmd7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc2V0dGluZ3MtYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gc3Zney13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzMGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzBkZWcpfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHg7aGVpZ2h0OjlweDt3aWR0aDoxM3B4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpO2JvcmRlci1yYWRpdXM6MXB4O2xpbmUtaGVpZ2h0Om5vcm1hbH0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NjZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtY29sb3I6I2RkZH0ueXRwLWNvbG9yLXBhcnR5IC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTRrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXBhcnR5IC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZX0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE15QTVJajQ4Y0dGMGFDQm1hV3hzTFc5d1lXTnBkSGs5SWk0Mk5EY2lJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUVWdOMmd4ZGpGSU5YcHROUzAwZGpGSU9GWXplazB6SURaV05XZ3lkakY2VFRJZ04yZ3hkakZJTW5wdE5TQXdhRE4yTVVnM2VtMHpMVEZvTVhZeGFDMHhlaUl2UGp4d1lYUm9JR1pwYkd3OUlpTm1abVlpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVFVnTjFZMVNETjJNa2d5VmpKb01YWXlhREpXTW1neGRqVjZiVFl0TVdndE1YWXhTRGRXTW1nemRqRm9NWHB0TFRFdE1sWXpTRGgyTTJneWVpSXZQand2YzNablBnPT0pfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZHItcXVhbGl0eS1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE5DQTJJajQ4Y0dGMGFDQm1hV3hzTFc5d1lXTnBkSGs5SWk0Mk5EY2lJR1E5SWsweklEVm9NWFl4U0RONmJUVXROSFl4U0RaV01YcE5NU0EwVmpOb01uWXhlazB3SURWb01YWXhTREI2YlRVZ01HZ3pkakZJTlhwdE15MHhhREYyTVVnNGVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1E5SWsweklEVldNMGd4ZGpKSU1GWXdhREYyTW1neVZqQm9NWFkxZW0wMkxURklPSFl4U0RWV01HZ3pkakZvTVhwTk9DQXlWakZJTm5ZemFESjZJaTgrUEhCaGRHZ2dabWxzYkMxdmNHRmphWFI1UFNJdU5qUTNJaUJrUFNKTk1UTWdNbWd4ZGpGb0xURjZiVEFnTTJneGRqRm9MVEY2YlMweUxUSm9Nbll4YUMweWVtMHRNU0F5YURGMk1XZ3RNWHB0TVMwMGFESjJNV2d0TW5vaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTVRRZ00zWXlhQzB4VmpONmJTMHpMVE5vTW5ZeGFDMHlkakZvTW5ZeGFDMHlkakpvTFRGV01IcHRNaUF3YURGMk1tZ3RNWG9pTHo0OEwzTjJaejQ9KTtoZWlnaHQ6NnB4O3dpZHRoOjE0cHg7cmlnaHQ6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2UxMDAyZDtib3JkZXItd2lkdGg6MXB4fS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMVzl3WVdOcGRIazlJaTQyTkRjaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFd0lEUm9NWFl4YUMweGVtMHdJRE5vTVhZeGFDMHhlazA0SURWb01uWXhTRGg2VFRjZ04yZ3hkakZJTjNwTk5TQTJhREYyTVVnMWVrMDBJRGRvTVhZeFNEUjZUVElnTm1neWRqRklNbnB0TVMweWFERjJNVWd6ZWlJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFeElEVjJNbWd0TVZZMWVtMHRNU0F3U0RoMk1rZzNWakpvTVhZeWFESjZUVFFnTkVnemRqRm9NWHB0TUNBelZqWklNbFkwYURGV00yZ3hWakpvTVhZemFERjJNVWcxZGpGNmJUWXROV2d4ZGpKb0xURjZJaTgrUEM5emRtYyspfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC01ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMVzl3WVdOcGRIazlJaTQyTkRjaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFd0lEUm9NWFl4YUMweGVtMHdJRE5vTVhZeGFDMHhlazA0SURWb01uWXhTRGg2VFRjZ04yZ3hkakZJTjNwTk5TQTJhREYyTVVnMWVrMHlJRGRvTTNZeFNESjZiVEF0TW1nemRqRklNbm9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVtMHdMVE5vTVhZeWFDMHhlazB5SURab00zWXhTREp0TXkweWFERjJNVWcxYlRBdE1rZ3pWak5vTTFZeVNESjJNMmd6ZWlJdlBqd3ZjM1puUGc9PSl9Lnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLThrLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c0xXOXdZV05wZEhrOUlpNDJORGNpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEV3SURSb01YWXhhQzB4ZW0wd0lETm9NWFl4YUMweGVrMDRJRFZvTW5ZeFNEaDZUVGNnTjJneGRqRklOM3BOTlNBMmFERjJNVWcxZWsweklEVm9Nbll4U0RONmJUQXRNbWd5ZGpGSU0zcHRNaUF4YURGMk1VZzFlazB5SURSb01YWXhTREo2YlRBZ01tZ3hkakZJTW5wdE1TQXhhREoyTVVnemVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRURXhJRFYyTW1ndE1WWTFlbTB0TVNBd1NEaDJNa2czVmpKb01YWXlhREo2YlRBdE0yZ3hkakpvTFRGNlRUTWdObWd5ZGpGSU0yMHdMVFZvTW5ZeFNETjZiVElnTTJneGRqRklOWHBOTXlBMGFESjJNVWd6ZW0weUxURm9NWFl4U0RWNlRUSWdOV2d4ZGpGSU1ucHRNQzB5YURGMk1VZ3llaUl2UGp3dmMzWm5QZz09KX0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NaUF5YURSMk5VZ3lWalpvTTFZMVNESldOR2d6VmpOSU1ucHROU0F3YUROMk1VZzRkak5vTW5ZeFNEZDZiVE1nTVdneGRqTm9MVEY2SWk4K1BIQmhkR2dnWm1sc2JDMXZjR0ZqYVhSNVBTSXVOalEzSWlCa1BTSk5NaUF6YUROMk1VZ3llbTAySURCb01uWXhTRGg2VFRJZ05XZ3pkakZJTW5wdE9DQXhhREYyTVdndE1YcE5NaUEzYURSMk1VZ3llbTAxSURCb00zWXhTRGQ2SWk4K1BDOXpkbWMrKX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazAxSURkV05VZ3pkakpJTWxZeWFERjJNbWd5VmpKb01YWTFlbTAyTFRGb0xURjJNVWczVmpKb00zWXhhREY2YlMweExUSldNMGc0ZGpOb01ub2lMejQ4TDNOMlp6ND0pfS55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TkNBMUlqNDhjR0YwYUNCa1BTSk5NeUExVmpOSU1YWXlTREJXTUdneGRqSm9NbFl3YURGMk5YcHROaTB4U0RoMk1VZzFWakJvTTNZeGFERjZUVGdnTWxZeFNEWjJNMmd5ZWsweE5DQXpkakpvTFRGV00zcHRMVEVnTUdndE1uWXlhQzB4VmpCb01YWXlhREo2YlRBdE1tZ3RNMVl3YURSMk1tZ3RNWG9pTHo0OEwzTjJaejQ9KX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVrMDBJRFJJTTNZeGFERjZiVEFnTTFZMlNESldOR2d4VmpOb01WWXlhREYyTTJneGRqRklOWFl4ZW0wMkxUVm9NWFl5YUMweGVpSXZQand2YzNablBnPT0pfS55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMHhNU0ExZGpKb0xURldOWHB0TFRFZ01FZzRkakpJTjFZeWFERjJNbWd5ZW0wd0xUTm9NWFl5YUMweGVrMHlJRFpvTTNZeFNESnRNeTB5YURGMk1VZzFiVEF0TWtnelZqTm9NMVl5U0RKMk0yZ3plaUl2UGp3dmMzWm5QZz09KX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVtMHdMVE5vTVhZeWFDMHhlazB6SURab01uWXhTRE50TUMwMWFESjJNVWd6ZW0weUlETm9NWFl4U0RWNlRUTWdOR2d5ZGpGSU0zcHRNaTB4YURGMk1VZzFlazB5SURWb01YWXhTREo2YlRBdE1tZ3hkakZJTW5vaUx6NDhMM04yWno0PSl9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE15QTVJajQ4Y0dGMGFDQmtQU0pOTWlBeWFEUjJOVWd5Vmpab00xWTFTREpXTkdnelZqTklNbnB0TlNBd2FETjJNVWc0ZGpOb01uWXhTRGQ2YlRNZ01XZ3hkak5vTFRGNklpOCtQQzl6ZG1jKyl9Lnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye3RvcDoxNXB4O3JpZ2h0OjZweDtwYWRkaW5nOjJweDtmb250LWZhbWlseTpWZXJkYW5hLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAycHggMCByZ2JhKDAsMCwwLC42KTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLXJhZGl1czoxLjVweDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye3RvcDo0cHg7cmlnaHQ6NHB4fS55dHAtY29sb3Itd2hpdGUueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtY29sb3Itd2hpdGUueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29sb3I6IzAwMDt0ZXh0LXNoYWRvdzpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiSEQifS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IkhEUiI7Zm9udC1zaXplOjhweH0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjRLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC01ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjVLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjhLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IjNEIn0ueXRwLWdlbmVyaWMtcG9wdXB7dG9wOjA7bGVmdDowO3BhZGRpbmc6NXB4IDlweDttYXgtd2lkdGg6MTQ0cHg7ei1pbmRleDo3Mn0ueXRwLWJpZy1tb2RlIC55dHAtZ2VuZXJpYy1wb3B1cHttYXgtd2lkdGg6MjE2cHh9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWdlbmVyaWMtcG9wdXAgYXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS55dHAtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6cmdiYSgyOCwyOCwyOCwuOSk7dGV4dC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC41KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBvcHVwey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kbmkgLnl0cC1wb3B1cHt0ZXh0LXNoYWRvdzpub25lfS55dHAtcG9wdXBbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXBvcHVwLWFuaW1hdGluZ3std2Via2l0LXRyYW5zaXRpb246YWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtcG9wdXAtYW5pbWF0aW5nIC55dHAtcGFuZWx7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC1wYW5lbC1hbmltYXRlLWJhY2ssLnl0cC1wYW5lbC1hbmltYXRlLWZvcndhcmR7b3BhY2l0eTowfVtkaXI9bHRyXSAueXRwLXBhbmVsLWFuaW1hdGUtYmFja3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX1bZGlyPWx0cl0gLnl0cC1wYW5lbC1hbmltYXRlLWZvcndhcmR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9W2Rpcj1ydGxdIC55dHAtcGFuZWwtYW5pbWF0ZS1iYWNrey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpfVtkaXI9cnRsXSAueXRwLXBhbmVsLWFuaW1hdGUtZm9yd2FyZHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX0ueXRwLXNldHRpbmdzLW1lbnV7cmlnaHQ6MTJweDtib3R0b206NjFweDt6LWluZGV4OjcwO3dpbGwtY2hhbmdlOndpZHRoLGhlaWdodDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpO29wYWNpdHk6Y2FsYygxIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjMpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1tZW51e29wYWNpdHk6Y2FsYygxIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjMpO2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgNnB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZW1iZWQgLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1tZW51e3JpZ2h0OjI0cHg7Ym90dG9tOjcwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtbWVudXtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCl9Lnl0cC1zZXR0aW5ncy1tZW51IC55dHAtbWVudWl0ZW0tY29udGVudHttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51e3otaW5kZXg6MjMwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1wYW5lbC1tZW51e3BhZGRpbmc6OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2V0dGluZ3MtbWVudSAueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVyKXtoZWlnaHQ6NDhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1tZW51aXRlbT46Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo4cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51IC55dHAtbWVudWl0ZW0+Omxhc3QtY2hpbGR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6OHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2V0dGluZ3MtbWVudSAueXRwLW1lbnVpdGVtLWNvbnRlbnR7cGFkZGluZy1yaWdodDo4cHh9Lnl0cC1zcGVlZHNsaWRlci1jb21wb25lbnR7aGVpZ2h0Ojk1cHg7b3V0bGluZTpub25lfS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50IC55dHAtc2xpZGVye2hlaWdodDo0MHB4fS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50e3RleHQtYWxpZ246Y2VudGVyfS55dHAtc3BlZWRzbGlkZXItaW5kaWNhdG9yLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50IC55dHAtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLXNwZWVkc2xpZGVyLWNvbXBvbmVudCAueXRwLXNsaWRlci1oYW5kbGU6YmVmb3Jle2hlaWdodDo1cHh9Lnl0cC1zcGVlZHNsaWRlci10ZXh0e2ZvbnQtc2l6ZToxNTAlO3RleHQtYWxpZ246Y2VudGVyfS55dHAtc3BlZWRzbGlkZXItcHJlbWl1bS1iYWRnZXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTFRJZ0xUSWdNalFnTWpRaVBqeHdZWFJvSUdacGJHdzlJaU5qTURBaUlHUTlJazB3SURFdU5ETkRNQ0F1TmpRdU5qUWdNQ0F4TGpReklEQm9NVGN1TVRORE1Ua3VNelVnTUNBeU1DQXVOalFnTWpBZ01TNDBNM1l4Tnk0eE0yTXdJQzQzT1MwdU5qVWdNUzQwTkMweExqUTBJREV1TkRSSU1TNDBNME11TmpRZ01qQWdNQ0F4T1M0ek5TQXdJREU0TGpVMldtMHdJREFpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5OeTQ0T0NBeE1TNDBNblkwTGpJNVNEVXVNemRXTXk0MU1tZzBMamMxWXk0NU1pQXdJREV1TnpJdU1UY2dNaTQwTWk0MUxqWTVMak0wSURFdU1qSXVPREVnTVM0MklERXVORE11TXpjdU5qSXVOVFlnTVM0ek1pNDFOaUF5TGpFeElEQWdNUzR4T1MwdU5ERWdNaTR4TXkweExqSXlJREl1T0RJdExqZ3lMalk1TFRFdU9UVWdNUzR3TkMwekxqUWdNUzR3TkZwdE1DMHlMakEwYURJdU1qUmpMalkzSURBZ01TNHhPQzB1TVRVZ01TNDFNaTB1TkRjdU16VXRMak14TGpVekxTNDNOUzQxTXkweExqTTBjeTB1TVRndE1TNHdOeTB1TlRNdE1TNDBOV010TGpNMUxTNHpOaTB1T0RRdExqVTFMVEV1TkRZdExqVTJhQzB5TGpOYWJUQWdNQ0l2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXJpZ2h0OjhweDtyaWdodDoxMDAlfS55dHAtbWVudWl0ZW0tcHJlbWl1bS1iYWRnZXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTFRJZ0xUSWdNalFnTWpRaVBqeHdZWFJvSUdacGJHdzlJaU5qTURBaUlHUTlJazB3SURFdU5ETkRNQ0F1TmpRdU5qUWdNQ0F4TGpReklEQm9NVGN1TVRORE1Ua3VNelVnTUNBeU1DQXVOalFnTWpBZ01TNDBNM1l4Tnk0eE0yTXdJQzQzT1MwdU5qVWdNUzQwTkMweExqUTBJREV1TkRSSU1TNDBNME11TmpRZ01qQWdNQ0F4T1M0ek5TQXdJREU0TGpVMldtMHdJREFpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5OeTQ0T0NBeE1TNDBNblkwTGpJNVNEVXVNemRXTXk0MU1tZzBMamMxWXk0NU1pQXdJREV1TnpJdU1UY2dNaTQwTWk0MUxqWTVMak0wSURFdU1qSXVPREVnTVM0MklERXVORE11TXpjdU5qSXVOVFlnTVM0ek1pNDFOaUF5TGpFeElEQWdNUzR4T1MwdU5ERWdNaTR4TXkweExqSXlJREl1T0RJdExqZ3lMalk1TFRFdU9UVWdNUzR3TkMwekxqUWdNUzR3TkZwdE1DMHlMakEwYURJdU1qUmpMalkzSURBZ01TNHhPQzB1TVRVZ01TNDFNaTB1TkRjdU16VXRMak14TGpVekxTNDNOUzQxTXkweExqTTBjeTB1TVRndE1TNHdOeTB1TlRNdE1TNDBOV010TGpNMUxTNHpOaTB1T0RRdExqVTFMVEV1TkRZdExqVTJhQzB5TGpOYWJUQWdNQ0l2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7bWFyZ2luLWxlZnQ6OHB4fS55dHAtbWVudWl0ZW0tY29udGFpbmVyLXdpdGgtYmFkZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLXNwZWVkLXNsaWRlci1tZW51LWZvb3RlcntwYWRkaW5nOjE2cHh9Lnl0cC1zaG93LXNoYXJlLXRpdGxlLnl0cC1zaGFyZS1idXR0b257bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hvdy1zaGFyZS10aXRsZS55dHAtc2hhcmUtYnV0dG9ue21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1zaG9ydHMtbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLDpub3QoLnl0cC1zaG9ydHMtbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9ue3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXNoYXJlLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3BhZGRpbmctdG9wOjRweH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWJpZy1tb2RlKSAueXRwLWNocm9tZS10b3AgLnl0cC1zaGFyZS1idXR0b257bWluLXdpZHRoOjQ4cHg7bWF4LXdpZHRoOjgwcHh9Lnl0cC1zaGFyZS1pY29ue21hcmdpbjphdXRvO3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLWljb257d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hhcmUtaWNvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O21hcmdpbi1ib3R0b206MTBweH0ueXRwLXNoYXJlLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTRweDtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXRpdGxlLC55dHAtb3ZlcmZsb3ctcGFuZWwgLnl0cC1zaGFyZS10aXRsZXtmb250LXNpemU6MjBweH0ueXRwLXNob3ctc2hhcmUtdGl0bGUgLnl0cC1zaGFyZS10aXRsZXtkaXNwbGF5OmJsb2NrfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYmlnLW1vZGUpIC55dHAtY2hyb21lLXRvcCAueXRwLXNoYXJlLXRpdGxle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dHAtc2hhcmUtcGFuZWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo3NTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO3RleHQtYWxpZ246Y2VudGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtc2hhcmUtcGFuZWxbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc2hhcmUtcGFuZWwtaW5uZXItY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO21hcmdpbi10b3A6LTY1cHg7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzowIDEwJX0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtaW5uZXItY29udGVudHttYXJnaW4tdG9wOi05OHB4fS55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye2Rpc3BsYXk6bm9uZTttYXJnaW46MjBweCBhdXRvIDA7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye21hcmdpbi10b3A6MzBweH0ueXRwLXNoYXJlLXBhbmVsLnl0cC1zaGFyZS1wYW5lbC1sb2FkaW5nIC55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye2Rpc3BsYXk6YmxvY2t9Lnl0cC1zaGFyZS1wYW5lbC1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NnB4O3JpZ2h0OjEycHg7cGFkZGluZzo2cHg7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtY2xvc2V7dG9wOjlweDtyaWdodDoyNHB4O3BhZGRpbmc6OXB4O3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1zaGFyZS1wYW5lbC1jbG9zZSBwYXRoe2ZpbGw6I2FhYX0ueXRwLXNoYXJlLXBhbmVsLWNsb3NlOmhvdmVyIHBhdGh7ZmlsbDojZmZmfS55dHAtc2hhcmUtcGFuZWwtdGl0bGV7Zm9udC1zaXplOjE1NSU7bGluZS1oZWlnaHQ6MjBweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtdGl0bGV7bGluZS1oZWlnaHQ6MzBweH0ueXRwLXNoYXJlLXBhbmVsLWxpbmt7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjhweDttYXJnaW4tdG9wOjE4cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXNpemU6MjE4JTtmb250LXdlaWdodDo1MDA7bGV0dGVyLXNwYWNpbmc6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47b3V0bGluZTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zaGFyZS1wYW5lbC1saW5re2hlaWdodDo0MnB4O21hcmdpbi10b3A6MjdweH0ueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3R7ZGlzcGxheTpub25lO2xpbmUtaGVpZ2h0OjE1cHg7bWFyZ2luLXRvcDoxMnB4O2ZvbnQtc2l6ZToxMTglO2NvbG9yOiM5OTl9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3R7bGluZS1oZWlnaHQ6MjIuNXB4O21hcmdpbi10b3A6MThweH0ueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3QgaW5wdXRbdHlwZT1jaGVja2JveF17bWFyZ2luOjAgOHB4IDAgMH0ueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9uc3ttYXJnaW4tdG9wOjIwcHg7aGVpZ2h0OjQ0cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9uc3ttYXJnaW4tdG9wOjMwcHg7aGVpZ2h0OjY3cHh9Lnl0cC1zaGFyZS1wYW5lbC55dHAtc2hhcmUtcGFuZWwtZmFpbCAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ucywueXRwLXNoYXJlLXBhbmVsLnl0cC1zaGFyZS1wYW5lbC1sb2FkaW5nIC55dHAtc2hhcmUtcGFuZWwtc2VydmljZS1idXR0b25ze2Rpc3BsYXk6bm9uZX0ueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ue3BhZGRpbmc6M3B4O3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ue3BhZGRpbmc6NXB4O3dpZHRoOjU3cHg7aGVpZ2h0OjU3cHh9Lnl0cC1zaGFyZS1wYW5lbC1lcnJvcntkaXNwbGF5Om5vbmU7bWFyZ2luLXRvcDoyMHB4O2ZvbnQtc2l6ZToxMDklfS55dHAtYmlnLW1vZGUgLnl0cC1zaGFyZS1wYW5lbC1lcnJvcnttYXJnaW4tdG9wOjMwcHh9Lnl0cC1zaGFyZS1wYW5lbC1mYWlsIC55dHAtc2hhcmUtcGFuZWwtZXJyb3J7ZGlzcGxheTpibG9ja30ueXRwLXNob3BwaW5nLXByb2R1Y3QtbWVudXt6LWluZGV4OjcyO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjt0ZXh0LWFsaWduOmxlZnQ7ZGlyZWN0aW9uOmx0cjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxLjM7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDt3aWxsLWNoYW5nZTp3aWR0aCxoZWlnaHQ7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtc2hvcHBpbmctcHJvZHVjdC1tZW51IC55dHAtbWVudWl0ZW0tY29udGVudHttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbC1sb2dve3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjVweDstd2Via2l0LWJhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2JhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2Zsb2F0OmxlZnQ7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRwLWJpZy1tb2RlIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo1MHB4O2hlaWdodDo1MHB4fS55dHAtZW1iZWQtbW9iaWxlIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwtbG9nbywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLWxvZ297d2lkdGg6MjRweDtoZWlnaHQ6MjRweDttYXJnaW46MH0ueXRwLXNob3J0cy10aXRsZS1leHBhbmRlZC1oZWFkaW5ne21hcmdpbjozcHg7LXdlYmtpdC1ib3gtZmxleDppbml0aWFsOy13ZWJraXQtZmxleDppbml0aWFsO2ZsZXg6aW5pdGlhbDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGV7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowfS55dHAtYmlnLW1vZGUgLnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGV7Zm9udC1zaXplOjIycHh9Lnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGUgYXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLXRpdGxlLWV4cGFuZGVkLXRpdGxle3dvcmQtYnJlYWs6YnJlYWstd29yZDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hvcnRzLXRpdGxlLWV4cGFuZGVkLXRpdGxle2ZvbnQtc2l6ZToxOHB4fS55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWx7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjA7ZGlzcGxheTpub25lO2hlaWdodDphdXRvO21hcmdpbi1sZWZ0OjA7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnN0YXRpYzt0b3A6N3B4O2xlZnQ6OHB4O3dpZHRoOmF1dG99Lnl0cC1iaWctbW9kZSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVse21hcmdpbi10b3A6MTBweH0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLWNocm9tZS10b3AgLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbCAueXRwLXNiey13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7bWFyZ2luOjVweDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvO3BhZGRpbmc6MDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LXNoYWRvdzpub25lOy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowfS55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJle21hcmdpbi1sZWZ0OjB9Lnl0cC1zaG9ydHMtbW9kZSBhLnl0cC1zYi1zdWJzY3JpYmV7bWFyZ2luLWxlZnQ6MH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJlLC55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwgLnl0cC1zYi11bnN1YnNjcmliZXtmb250LXNpemU6MTZweDtwYWRkaW5nOjE0cHggMjBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWx7bWFyZ2luLXRvcDo3cHh9Lnl0cC1za2lwLWludHJvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjkwMTk2MDc4NDMpO2JvdHRvbTo1OHB4O2hlaWdodDo0OHB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweDtyaWdodDoxMHB4O3otaW5kZXg6MTB9Lnl0cC1lbWJlZCAueXRwLXNraXAtaW50cm8tYnV0dG9ue2JvdHRvbTo1MHB4O2hlaWdodDo0MHB4fS55dHAtc2tpcC1pbnRyby1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojMDAwfS55dHAtYmlnLW1vZGUgLnl0cC1za2lwLWludHJvLWJ1dHRvbntib3R0b206NzlweDtyaWdodDo0MHB4fS55dHAtc2tpcC1pbnRyby1idXR0b24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bWF4LXdpZHRoOjIwMHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwfS55dHAtc2xpZGVyLXNlY3Rpb257ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTUwcHg7aGVpZ2h0OjEwMCU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTowfS55dHAtc2xpZGVye2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtvdXRsaW5lOjB9Lnl0cC1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjEwcHg7bWFyZ2luLXRvcDotMTBweDtiYWNrZ3JvdW5kOiNmZmY7b3V0bGluZTowfS55dHAtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLXNsaWRlci1oYW5kbGU6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt0b3A6NTAlO2xlZnQ6MDtoZWlnaHQ6M3B4O21hcmdpbi10b3A6LTJweDt3aWR0aDoxNzBweDtvdXRsaW5lOjB9Lnl0cC1zbGlkZXItaGFuZGxlOmJlZm9yZXtsZWZ0Oi0xNjBweDtiYWNrZ3JvdW5kOiNmZmZ9Lnl0cC1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6MTBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1zbGlkZXItc2VjdGlvbjpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLW92ZXJsYXl7ei1pbmRleDoxMDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RvcDowO2xlZnQ6MH0ueXRwLXNwZWVkbWFzdGVyLW92ZXJsYXl7dGV4dC1hbGlnbjpjZW50ZXI7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXNwZWVkbWFzdGVyLXVzZXItZWR1ey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOjE4cHg7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDoyMHB4O3BhZGRpbmc6NnB4IDE2cHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zcGVlZG1hc3Rlci11c2VyLWVkdXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtc3BlZWRtYXN0ZXItdXNlci1lZHUueXRwLXNwZWVkbWFzdGVyLWhhcy1pY29uey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1zcGVlZG1hc3Rlci1pY29uLC55dHAtc3BlZWRtYXN0ZXItbGFiZWx7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6aW5saW5lLWZsZXh9Lnl0cC1zcGVlZG1hc3Rlci1pY29ue21hcmdpbi1sZWZ0OjRweH0ueXRwLXNwZWVkbWFzdGVyLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9se3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0OHB4O2xlZnQ6MTJweDtvcGFjaXR5Oi42O2N1cnNvcjpwb2ludGVyO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6NDM7b3V0bGluZTpub25lfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9se3RvcDo2MHB4fS55dHAtYmlnLW1vZGUgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHt0b3A6NjlweDt3aWR0aDo3NXB4O2hlaWdodDo3NXB4fS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHt0b3A6NjBweH0ueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9sLnl0cC1kcmFnZ2luZywueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9sOmhvdmVye29wYWNpdHk6MX0ueXRwLWF1dG9oaWRlIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2wsLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2x7dG9wOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC13ZWJnbC1zcGhlcmljYWw6bm90KC55dHAtbWVudS1zaG93bikgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcntjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFifS55dHAtd2ViZ2wtc3BoZXJpY2FsLnl0cC1kcmFnZ2luZzpub3QoLnl0cC1tZW51LXNob3duKSAuaHRtbDUtdmlkZW8tY29udGFpbmVye2N1cnNvcjptb3ZlO2N1cnNvcjotd2Via2l0LWdyYWJiaW5nO2N1cnNvcjpncmFiYmluZ30ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2w6Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCl9LmVuZGVkLW1vZGUgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbCwueXRwLW1lbnUtc2hvd24gLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHtwb3NpdGlvbjpyZWxhdGl2ZTtpbnNldDowfS55dHAtc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3dpZHRoOjY0cHg7bWFyZ2luLWxlZnQ6LTMycHg7ei1pbmRleDoxODtwb2ludGVyLWV2ZW50czpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zcGlubmVye3dpZHRoOjEyOHB4O21hcmdpbi1sZWZ0Oi02NHB4fS55dHAtc3Bpbm5lci1tZXNzYWdle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi10b3A6NTAlO3dpZHRoOjMwMHB4O2ZvbnQtc2l6ZToxMjclO2xpbmUtaGVpZ2h0OjE4MiU7bWFyZ2luLWxlZnQ6LTE1MHB4O2Rpc3BsYXk6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO29wYWNpdHk6LjV9Lnl0cC1zcGlubmVyLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTAwJTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi10b3A6LTUwJTttYXJnaW4tbGVmdDotNTAlO2FuaW1hdGlvbjp5dHAtc3Bpbm5lci1saW5zcGluIDEuNTY4MjM1Mjk0MTE3NnMgbGluZWFyIGluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uOnl0cC1zcGlubmVyLWxpbnNwaW4gMS41NjgyMzUyOTQxMTc2cyBsaW5lYXIgaW5maW5pdGV9Lnl0cC1zcGlubmVyLXJvdGF0b3J7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstd2Via2l0LWFuaW1hdGlvbjp5dHAtc3Bpbm5lci1lYXNlc3BpbiA1MzMybXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXNwaW5uZXItZWFzZXNwaW4gNTMzMm1zIGN1YmljLWJlemllciguNCwwLC4yLDEpIGluZmluaXRlIGJvdGh9Lnl0cC1zcGlubmVyLWxlZnQsLnl0cC1zcGlubmVyLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO292ZXJmbG93OmhpZGRlbn0ueXRwLXNwaW5uZXItbGVmdHtyaWdodDo0OSV9Lnl0cC1zcGlubmVyLXJpZ2h0e2xlZnQ6NDklfS55dHAtc3Bpbm5lci1jaXJjbGV7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjIwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojZGRkICNkZGQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXdpZHRoOjZweH0ueXRwLWJpZy1tb2RlIC55dHAtc3Bpbm5lci1jaXJjbGV7Ym9yZGVyLXdpZHRoOjEycHh9Lnl0cC1zcGlubmVyLWxlZnQgLnl0cC1zcGlubmVyLWNpcmNsZXtsZWZ0OjA7cmlnaHQ6LTEwMCU7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYW5pbWF0aW9uOnl0cC1zcGlubmVyLWxlZnQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXNwaW5uZXItbGVmdC1zcGluIDEzMzNtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSBpbmZpbml0ZSBib3RofS55dHAtc3Bpbm5lci1yaWdodCAueXRwLXNwaW5uZXItY2lyY2xle2xlZnQ6LTEwMCU7cmlnaHQ6MDtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWFuaW1hdGlvbjp5dHAtcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXJpZ2h0LXNwaW4gMTMzM21zIGN1YmljLWJlemllciguNCwwLC4yLDEpIGluZmluaXRlIGJvdGh9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1zcGlubmVyLWxpbnNwaW57dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB5dHAtc3Bpbm5lci1saW5zcGlue3Rvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtc3Bpbm5lci1lYXNlc3BpbnsxMi41JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9MzcuNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQwNWRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpfTc1JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoODEwZGVnKX04Ny41JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1Aa2V5ZnJhbWVzIHl0cC1zcGlubmVyLWVhc2VzcGluezEyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfTM3LjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0MDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNDA1ZGVnKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDU0MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNjc1ZGVnKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDgxMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg4MTBkZWcpfTg3LjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5NDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM3R1cm4pO3RyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXNwaW5uZXItbGVmdC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTVkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1zcGlubmVyLWxlZnQtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTMwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDEzMGRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDEzMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXJpZ2h0LXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1yaWdodC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEzMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKX19Lnl0cC1zZm57YmFja2dyb3VuZDpyZ2JhKDI4LDI4LDI4LC44KTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO2xlZnQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt6LWluZGV4OjY0O21pbi13aWR0aDoyNmVtfS55dHAtc2ZuLWNsb3Nle2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjVweDt0b3A6NXB4O3BhZGRpbmc6NXB4fS55dHAtc2ZuLWNvbnRlbnR7cGFkZGluZzo1cHh9Lnl0cC1zZm4tY29udGVudD5kaXY+ZGl2e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgLjVlbTt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEwZW19Lnl0cC1zZm4tY3Bue2ZvbnQtZmFtaWx5OkNvbnNvbGFzLE1vbmFjbyxtb25vc3BhY2U7Zm9udC1zaXplOjEycHh9Lnl0cC1ob3Jpem9uY2hhcnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lnl0cC1ob3Jpem9uY2hhcnQ+c3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjE2O2JhY2tncm91bmQ6IzAwMDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlld3tjdXJzb3I6cG9pbnRlcn0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy1pbWd7b3BhY2l0eTouNH0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3LXRpbWVzdGFtcHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Y29sb3I6I2RkZDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMpO2JvcmRlci1yYWRpdXM6MThweDtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtib3R0b206MzZweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo0cHggMTBweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy1pbWd7b3BhY2l0eToxfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3LXRpbWVzdGFtcHtkaXNwbGF5OmluaXRpYWx9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtc3Rvcnlib2FyZC1mcmFtZXByZXZpZXctaW1ne29wYWNpdHk6MX0ueXRwLWlubGluZS1wcmV2aWV3LW1vZGUgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy10aW1lc3RhbXB7ZGlzcGxheTppbml0aWFsfS55dHAtc2J7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZX0ueXRwLXNiIC55dHAtc2ItdW5zdWJzY3JpYmUsLnl0cC1zYi55dHAtc2Itc3Vic2NyaWJlZCAueXRwLXNiLXN1YnNjcmliZXtkaXNwbGF5Om5vbmV9Lnl0cC1zYi55dHAtc2Itc3Vic2NyaWJlZCAueXRwLXNiLXVuc3Vic2NyaWJle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtc2Itc3Vic2NyaWJlLC55dHAtc2ItdW5zdWJzY3JpYmV7Ym9yZGVyLXJhZGl1czoxOHB4O2JvcmRlcjpub25lO2RpcmVjdGlvbjpsdHI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xldHRlci1zcGFjaW5nOi4wMDdweDtsaW5lLWhlaWdodDoxNnB4O3BhZGRpbmc6MTBweCAxNnB4O3doaXRlLXNwYWNlOm5vd3JhcDstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zaG9ydHMtbW9kZSAueXRwLXNiLXVuc3Vic2NyaWJle2JvcmRlci1yYWRpdXM6M3B4O3BhZGRpbmc6M3B4IDZweDtmb250LXdlaWdodDo1MDB9Lnl0cC1zYi1zdWJzY3JpYmUsYS55dHAtc2Itc3Vic2NyaWJle2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMDMwMzAzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zaG9ydHMtbW9kZSBhLnl0cC1zYi1zdWJzY3JpYmV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItY291bnR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCl9Lnl0cC1zYi11bnN1YnNjcmliZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpO2NvbG9yOiNmZmZ9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXNiLXVuc3Vic2NyaWJle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2NjYzt0ZXh0LXRyYW5zZm9ybTpub25lfS55dHAtc2Itc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZCwueXRwLXNiLXVuc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDMsMTQ0LDEzOSk7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1zYi1zdWJzY3JpYmU6Zm9jdXMsLnl0cC1zYi11bnN1YnNjcmliZTpmb2N1c3tvdXRsaW5lOm5vbmV9Lnl0cC1zYi55dHAtc2ItY2xhc3NpY3tiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6MnB4O21hcmdpbjo0cHggMH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUueXRwLXNiLWRpc2FibGVkLC55dHAtc2ItY2xhc3NpYyAueXRwLXNiLXVuc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZHtvcGFjaXR5Oi41O2N1cnNvcjpkZWZhdWx0fS55dHAtc2ItdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLXNiLWNvdW50e21hcmdpbi1sZWZ0OjRweH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItdW5zdWJzY3JpYmV7Ym9yZGVyLXJhZGl1czoycHg7Zm9udC1zaXplOjEycHghaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjQwMDtwYWRkaW5nOjAhaW1wb3J0YW50O3RleHQtdHJhbnNmb3JtOm5vbmV9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJle2JvcmRlcjoxcHggc29saWQgI2U2MjExN30ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZXtib3JkZXI6MXB4IHNvbGlkICNjY2N9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItY291bnQsLnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItdGV4dHtwYWRkaW5nOjNweCA2cHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItY291bnR7bWFyZ2luOi0xcHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjJweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoycHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItY291bnR7Ym9yZGVyLWxlZnQ6MH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUgLnl0cC1zYi1jb3VudCwueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTAsMjUwLDI1MCl9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItdGV4dHtjb2xvcjojZmVmZWZlO2JhY2tncm91bmQtY29sb3I6I2U2MjExN30ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1jb3VudCwueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZSAueXRwLXNiLXRleHR7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2NvbG9yOiM3MzczNzN9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItaWNvbntoZWlnaHQ6MTJweDttYXJnaW4tcmlnaHQ6NnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHg7d2lkdGg6MTZweH0ueXRwLWJpZy1tb2RlIC55dHAtc2Itc3Vic2NyaWJlLC55dHAtYmlnLW1vZGUgLnl0cC1zYi11bnN1YnNjcmliZXtib3JkZXItcmFkaXVzOjIycHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItaWNvbntiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQU1DQVlBQUFCcjV6MkJBQUFBblVsRVFWUTRUMlA4Ly8rL0p3TUR3MXdHQmdaSkJ0TEFjd1lHaG1URy8vLy9QeU5ETTh5cTV5QUQvcE5tTWFwcW5BWThrNUpnRUZteGxJSE56aG12K1RnTmVNckp5Y0Fvd01rZ05ITTZBNGRmT0U1RGNCcnduSk9UNGYvdkh3eU1iQXdNWEduSkRQd1Q1bUExaEVnRGtoajRKNEFpQ2hNUTlzS01hUXdjL2hHa2U0SGlRQ1EyYWlsTlNDOUFCbmhCazdJRXNiWkMxVDFsWUdCSUF3QlMxVXhCRTkvMmlBQUFBQUJKUlU1RXJrSmdnZz09KX0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZSAueXRwLXNiLWljb257YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFNQ0FZQUFBQnI1ejJCQUFBQS9VbEVRVlE0VDZXU01Vb0VRUkJGNjA4aWFMcVo0QW5FMERPSVlHWXVHTmpkTTRqUmlMa1lqU0lzTEYwdGdwa2dFM2dBY2NEVUc1aDZBQ01OcDc1TW9NeXV5bzVzcDlYMWZ0WC9CVm53WWNGKytSY2dwYlJHY2lJaVkrLzlReWMrR0JCajNNeXk3RnBFUm1ZMkNTR2NEUWFvNmk2QTgwNlE1TEgzL3U1cjlha0pxcXBhS2N2eW8rY0xWUFVFd0tHSXZKblpmZ2podWUvYk4wQlZqMFRrd016eVBNK2ZVa3JMSk1jQXRrbStBTmh6enIzT210NEg3QUM0RkpFbEVia2d1UVZnZytSajI3YWhLSXIzM3hLYldpSEd1QTdnQnNCcTk5bk1ycHFtT2EzcnV2MHI3aDhwcEpSR0pDT0FlK2ZjN2J3N0dSemo0QW5tS2M3V1B3RldSRjBOYzlSUXh3QUFBQUJKUlU1RXJrSmdnZz09KX0uY2FwdGlvbi13aW5kb3d7cG9zaXRpb246YWJzb2x1dGU7bGluZS1oZWlnaHQ6bm9ybWFsO3otaW5kZXg6NDE7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFiOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0cC1jYXB0aW9uLXdpbmRvdy1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lfS55dHAtbmF0aXZlLWNvbnRyb2xzIC5jYXB0aW9uLXdpbmRvd3t6LWluZGV4OjIxNDc0ODM2NDd9LmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy10b3B7bWFyZ2luLXRvcDo0OHB4Oy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxtYXJnaW4tdG9wIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG1hcmdpbi10b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjYwcHh9Lnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjY5cHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjg5cHh9Lnl0cC1hdXRvaGlkZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcCwueXRwLWhpZGUtaW5mby1iYXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy10b3B7bWFyZ2luLXRvcDowOy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG1hcmdpbi10b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG1hcmdpbi10b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlLWFjdGl2ZSAuY2FwdGlvbi13aW5kb3d7cG9pbnRlci1ldmVudHM6bm9uZX15dGQtcmVlbC12aWRlby1yZW5kZXJlciAuc2hvcnQtdmlkZW8tY29udGFpbmVyIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctdG9we21hcmdpbi10b3A6NjlweH0uY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOjYxcHg7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG1hcmdpbi10b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksbWFyZ2luLXRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOjExMHB4fS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToyMDBweH0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNTVweH0ueXRwLWVtYmVkIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NTNweH0ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NzBweH0ueXRwLWF1dG9oaWRlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtaGlkZS1jb250cm9scyAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLW11dGVkLWF1dG9wbGF5IC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206MDstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXJnaW4tdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXJnaW4tdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWF1dG9oaWRlLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtYXV0b2hpZGUueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1hdXRvaGlkZS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1oaWRlLWNvbnRyb2xzLnl0cC1kZWxoaS1tb2Rlcm4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1oaWRlLWNvbnRyb2xzLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtaGlkZS1jb250cm9scy55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWhpZGUtY29udHJvbHMueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtbXV0ZWQtYXV0b3BsYXkueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLW11dGVkLWF1dG9wbGF5Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtbXV0ZWQtYXV0b3BsYXkueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1tdXRlZC1hdXRvcGxheS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTowfS55dHAtbmF0aXZlLWNvbnRyb2xzIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NDVweDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9Lnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNTFweH0ueXRwLWVtYmVkLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNDNweH0ueXRwLWJpZy1tb2RlLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNjBweH0ueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE1NHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDE1NHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE1NHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217ZGlzcGxheTpub25lO29wYWNpdHk6MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci55dHAtYWQtb3ZlcmxheS1vcGVuIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci55dHAtZGVsaGktbW9kZXJuIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmd7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmU7Y3Vyc29yOm1vdmU7Y3Vyc29yOi13ZWJraXQtZ3JhYmJpbmc7Y3Vyc29yOmdyYWJiaW5nfS55dHAtY2FwdGlvbi13aW5kb3ctcm9sbHVwLnl0cC1yb2xsdXAtbW9kZXtvdmVyZmxvdzpoaWRkZW59LmNhcHRpb24td2luZG93IC55dHAtaWNvbiwuY2FwdGlvbi13aW5kb3cgc3Zne3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7dmVydGljYWwtYWxpZ246Ym90dG9tO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxZW07bWF4LWhlaWdodDoxZW19Lnl0cC1lbWJlZCAuY2FwdGlvbi13aW5kb3cgLnl0cC1pY29uLC55dHAtZW1iZWQgLmNhcHRpb24td2luZG93IHN2Z3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93IHN2Z3t3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS55dHAtY2FwdGlvbi13aW5kb3ctcm9sbHVwLnl0cC1yb2xsdXAtbW9kZSAuY2FwdGlvbnMtdGV4dHstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjQzM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNDMzcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC40MzNzIGN1YmljLWJlemllcigwLDAsLjIsMSl9LmNhcHRpb24tZWRpdHtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO2JhY2tncm91bmQ6cmdiYSg4LDgsOCwuNzUpO2JvcmRlcjpub25lO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcn0uY2FwdGlvbi1lZGl0IHN2Z3ttYXgtaGVpZ2h0OjYwJTttYXgtd2lkdGg6NjAlfS5jYXB0aW9uLWVkaXQ6Zm9jdXMsLmNhcHRpb24td2luZG93OmZvY3VzIC5jYXB0aW9uLWVkaXQsLnl0cC1jYXB0aW9uLXdpbmRvdy1yb2xsdXAgLmNhcHRpb24tZWRpdDpob3ZlciwueXRwLWNhcHRpb24td2luZG93LXJvbGx1cDpob3ZlciAuY2FwdGlvbi1lZGl0e29wYWNpdHk6MX0uaHRtbDUtdmlkZW8tcGxheWVyIC5jYXB0aW9uLXZpc3VhbC1saW5lIC55dHAtY2FwdGlvbi1zZWdtZW50OmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDouMjVlbTtwYWRkaW5nLXRvcDowfS5odG1sNS12aWRlby1wbGF5ZXIgLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0Oi4yNWVtO3BhZGRpbmctYm90dG9tOjB9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLXZlcnRpY2FsLWNhcHRpb24gLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6Zmlyc3QtY2hpbGR7cGFkZGluZy10b3A6LjI1ZW07cGFkZGluZy1sZWZ0OjB9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLXZlcnRpY2FsLWNhcHRpb24gLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbTouMjVlbTtwYWRkaW5nLXJpZ2h0OjB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9ue2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otanVzdGlmeS1jb250ZW50OmxlZnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6bGVmdDstd2Via2l0LWJveC1wYWNrOmxlZnQ7anVzdGlmeS1jb250ZW50OmxlZnR9Lnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdle2JvdHRvbTo2MHB4O2xlZnQ6NjBweH0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdle2JvdHRvbTo5MHB4O2xlZnQ6OTBweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7ei1pbmRleDo2MDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTZweDtsZWZ0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpO2JvcmRlci1yYWRpdXM6MzRweDtoZWlnaHQ6MzRweDt3aWR0aDozNHB4O3BhZGRpbmc6N3B4O2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXRpbWVseS1zaGVsZi1wcmVzZW50e2Rpc3BsYXk6bm9uZX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTp1bnNldH0uYWQtc2hvd2luZyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTpub25lfXl0ZC13YXRjaC1mbGV4eVt0aGVhdGVyXSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXRpbWVseS1zaGVsZi1wcmVzZW50e2Rpc3BsYXk6dW5zZXR9eXRkLXdhdGNoLWZsZXh5W3RoZWF0ZXJdIC5hZC1zaG93aW5nIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTpub25lfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7cG9zaXRpb246cmVsYXRpdmU7Ym90dG9tOjA7bGVmdDowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpO2JvcmRlcjpub25lO2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7Ym9yZGVyLXJhZGl1czo0MHB4O3BhZGRpbmc6MTJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2U6bm90KC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCl7cGFkZGluZzowIDhweH0uYWQtc2hvd2luZyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7ZGlzcGxheTpub25lfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZVthcmlhLWhpZGRlbj10cnVlXXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtvcGFjaXR5OjB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlOmhvdmVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JhY2tncm91bmQtY29sb3I6cmdiYSgzMywzMywzMywuOTUpfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU5cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTlweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU5cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygodmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA2cHgpKi0xKSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KSotMSkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KSotMSkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgNnB4KSotMSkpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCkqLTEpKTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCkqLTEpKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTgwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtODBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTgwcHgpfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2U6aXMoLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWV4cGFuZGVkLC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1jb250ZW50LWZvcndhcmQpe3dpZHRoOmF1dG99Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TmlJZ2FHVnBaMmgwUFNJek5pSWdabWxzYkQwaUkyWm1aaUlnZG1sbGQwSnZlRDBpTUNBd0lESTBJREkwSWo0OGNHRjBhQ0JtYVd4c1BTSnViMjVsSWlCa1BTSk5NQ0F3YURJMGRqSTBTREI2SWk4K1BIQmhkR2dnWkQwaVRURTRJRFpvTFRKak1DMHlMakl4TFRFdU56a3ROQzAwTFRSVE9DQXpMamM1SURnZ05rZzJZeTB4TGpFZ01DMHlJQzQ1TFRJZ01uWXhNbU13SURFdU1TNDVJRElnTWlBeWFERXlZekV1TVNBd0lESXRMamtnTWkweVZqaGpNQzB4TGpFdExqa3RNaTB5TFRKdExUWXRNbU14TGpFZ01DQXlJQzQ1SURJZ01tZ3ROR013TFRFdU1TNDVMVElnTWkweWJUWWdNVFpJTmxZNGFESjJNbU13SUM0MU5TNDBOU0F4SURFZ01YTXhMUzQwTlNBeExURldPR2cwZGpKak1DQXVOVFV1TkRVZ01TQXhJREZ6TVMwdU5EVWdNUzB4Vmpob01ub2lMejQ4TDNOMlp6ND0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb24ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtaWNvbi1jdXN0b20taWNvbiwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtaWNvbi55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29uLWN1c3RvbS1pY29ue2JhY2tncm91bmQtaW1hZ2U6bm9uZTt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxle2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmO21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6NnB4O2N1cnNvcjpwb2ludGVyfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS10aXRsZXtmb250LXdlaWdodDo1MDB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtib3JkZXItcmFkaXVzOjhweDt3aWR0aDoyOThweDtoZWlnaHQ6NjRweDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjI5MHB4O3BhZGRpbmc6NHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1kZXRhaWxze2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOjEycHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTtwYWRkaW5nOjAgOHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tZGV0YWlscyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjE0cHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWRldGFpbHMgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLXN1YnRpdGxle292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO29wYWNpdHk6Ljc7Zm9udC13ZWlnaHQ6NDAwfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1kZXRhaWxzIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1tZXRhZGF0YS10ZXh0e29wYWNpdHk6Ljc7Zm9udC13ZWlnaHQ6NTAwfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pbWd7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo0cHg7YmFja2dyb3VuZDojZmZmO2hlaWdodDo1NnB4O3dpZHRoOjU2cHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pbWc+aW1ne3dpZHRoOmluaGVyaXQ7aGVpZ2h0OmluaGVyaXQ7LW8tb2JqZWN0LWZpdDpjb250YWluO29iamVjdC1maXQ6Y29udGFpbn06aXMoOmlzKC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWNvbGxhcHNlZCwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCksLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWNvbnRlbnQtZm9yd2FyZC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCkgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb257ZGlzcGxheTpub25lfTppcygueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1jb2xsYXBzZWQsLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXByZXZpZXctZXhwYW5kZWQpIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZC1jb250ZW50LWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWNvbnRlbnQtZm9yd2FyZC1jb250YWluZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3dpZHRoOjA7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LW1hcmdpbi1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LW1hcmdpbi1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjptYXJnaW4taW5saW5lLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246d2lkdGggLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDoxOHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWlubGluZS1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246bWFyZ2luLWlubGluZS1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC1tYXJnaW4tc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbHtoZWlnaHQ6MjRweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O29wYWNpdHk6MTt3aWR0aDoxOHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWV4cGFuZGVkIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LW1hcmdpbi1zdGFydDowO21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7d2lkdGg6MjRweH06aXMoLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXByZXZpZXctY29sbGFwc2VkLC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1jb250ZW50LWZvcndhcmQueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQpIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LW1hcmdpbi1zdGFydDoycHg7bWFyZ2luLWlubGluZS1zdGFydDoycHg7b3BhY2l0eToxO3dpZHRoOjE4cHg7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4gOmlzKC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWNvbGxhcHNlZCwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtY29udGVudC1mb3J3YXJkLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWV4cGFuZGVkKSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWw6Zmlyc3QtY2hpbGR7d2lkdGg6MjRweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tbW9yZS1wcm9kdWN0cy1pY29ue2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MTJweDt3aWR0aDoycHg7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zMjstd2Via2l0LW1hcmdpbi1zdGFydDoycHg7bWFyZ2luLWlubGluZS1zdGFydDoycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLW1vcmUtcHJvZHVjdHMtaWNvbntoZWlnaHQ6MThweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWNvbnRlbnQtZm9yd2FyZC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tbW9yZS1wcm9kdWN0cy1pY29ue2Rpc3BsYXk6dW5zZXR9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ1ptbHNiRDBpSTJabVppSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQmtQU0pOTVRZdU1qUWdPUzR4TnlBeE15NDBNU0F4TW13eUxqZ3pJREl1T0RNdE1TNDBNU0F4TGpReFRERXlJREV6TGpReGJDMHlMamd6SURJdU9ETXRNUzQwTVMweExqUXhUREV3TGpVNUlERXlJRGN1TnpZZ09TNHhOMnd4TGpReExURXVOREZNTVRJZ01UQXVOVGxzTWk0NE15MHlMamd6ZWswMExqa3pJRFF1T1ROakxUTXVPVEVnTXk0NU1TMHpMamt4SURFd0xqSTBJREFnTVRRdU1UUWdNeTQ1TVNBekxqa3hJREV3TGpJMElETXVPVEVnTVRRdU1UUWdNQ0F6TGpreExUTXVPVEVnTXk0NU1TMHhNQzR5TkNBd0xURTBMakUwTFRNdU9TMHpMamt4TFRFd0xqSTBMVE11T1RFdE1UUXVNVFFnTUcweE15NDBNeTQzTVdNekxqVXhJRE11TlRFZ015NDFNU0E1TGpJeUlEQWdNVEl1TnpOekxUa3VNaklnTXk0MU1TMHhNaTQzTXlBd0xUTXVOVEV0T1M0eU1pQXdMVEV5TGpjell6TXVOVEl0TXk0MU1TQTVMakl5TFRNdU5URWdNVEl1TnpNZ01DSXZQand2YzNablBnPT0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47b3BhY2l0eTouNjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRURTVJRFl1TkRFZ01UY3VOVGtnTlNBeE1pQXhNQzQxT1NBMkxqUXhJRFVnTlNBMkxqUXhJREV3TGpVNUlERXlJRFVnTVRjdU5Ua2dOaTQwTVNBeE9TQXhNaUF4TXk0ME1TQXhOeTQxT1NBeE9TQXhPU0F4Tnk0MU9TQXhNeTQwTVNBeE1ub2lMejQ4TDNOMlp6ND0pO29wYWNpdHk6MX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZGlzbWlzcy1idXR0b24taWNvbjpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZC1jb250ZW50LWNvbnRhaW5lcntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO29wYWNpdHk6MX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQtY29udGVudC1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO29wYWNpdHk6MH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1vZmZsaW5lLXNsYXRle2JvdHRvbTozMnB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6OHB4O3dpZHRoOjI4MHB4O2hlaWdodDo2NHB4O3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZmVhdHVyZWQtcHJvZHVjdC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtZmVhdHVyZWQtcHJvZHVjdD4ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQtY29udGVudC1jb250YWluZXI+Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxle2Rpc3BsYXk6bm9uZX0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjI3MnB4O3BhZGRpbmc6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXI+Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEU1SURZdU5ERWdNVGN1TlRrZ05TQXhNaUF4TUM0MU9TQTJMalF4SURVZ05TQTJMalF4SURFd0xqVTVJREV5SURVZ01UY3VOVGtnTmk0ME1TQXhPU0F4TWlBeE15NDBNU0F4Tnk0MU9TQXhPU0F4T1NBeE55NDFPU0F4TXk0ME1TQXhNbm9pTHo0OEwzTjJaejQ9KTtvcGFjaXR5Oi44O2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YXNwZWN0LXJhdGlvOjF9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRodW1ibmFpbHtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kOiNmZmY7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtvdmVyZmxvdzpoaWRkZW59Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRodW1ibmFpbD5pbWd7d2lkdGg6aW5oZXJpdDtoZWlnaHQ6aW5oZXJpdDstby1vYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LWZpdDpjb250YWlufS55dHAtZmVhdHVyZWQtcHJvZHVjdC1vcGVuLWluLW5ld3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NHB4O3JpZ2h0OjRweDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SWlObVptWWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2cwT0hZME9FZ3dlaUl2UGp4d1lYUm9JR1E5SWswek9DQXpPRWd4TUZZeE1HZ3hORlkyU0RFd1l5MHlMakl4SURBdE5DQXhMamM1TFRRZ05IWXlPR013SURJdU1qRWdNUzQzT1NBMElEUWdOR2d5T0dNeUxqSXhJREFnTkMweExqYzVJRFF0TkZZeU5HZ3ROSHBOTWpnZ05uWTBhRGN1TVRkTU1UVXVOVEVnTWprdU5qWnNNaTQ0TXlBeUxqZ3pURE00SURFeUxqZ3pWakl3YURSV05ub2lMejQ4TDNOMlp6ND0pO3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxze2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOjEycHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTtwYWRkaW5nOjAgOHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjE0cHh9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWRldGFpbHMgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LWNvdW50ZG93bntmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtYWZmaWxpYXRlLWRpc2NsYWltZXJ7Zm9udC13ZWlnaHQ6NTAwfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1hZmZpbGlhdGUtZGlzY2xhaW1lci13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWR7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi1yaWdodDo0cHg7b3BhY2l0eTouN30ueXRwLWZlYXR1cmVkLXByb2R1Y3QtaW5mby1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SWlObVptWWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2cwT0hZME9FZ3dlaUl2UGp4d1lYUm9JR1E5SWsweU1pQXpOR2cwVmpJeWFDMDBlbTB5TFRNd1F6RXlMamsxSURRZ05DQXhNaTQ1TlNBMElESTBjemd1T1RVZ01qQWdNakFnTWpBZ01qQXRPQzQ1TlNBeU1DMHlNRk16TlM0d05TQTBJREkwSURSdE1DQXpObU10T0M0NE1pQXdMVEUyTFRjdU1UZ3RNVFl0TVRaVE1UVXVNVGdnT0NBeU5DQTRjekUySURjdU1UZ2dNVFlnTVRZdE55NHhPQ0F4TmkweE5pQXhObTB0TWkweU1tZzBkaTAwYUMwMGVpSXZQand2YzNablBnPT0pO2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7bWFyZ2luLXJpZ2h0OjhweDtvcGFjaXR5Oi44O2FzcGVjdC1yYXRpbzoxfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1vdmVyZmxvdy1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlpMDFJQzAxSURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKTk1USWdPR014TGpFZ01DQXlMUzQ1SURJdE1uTXRMamt0TWkweUxUSXRNaUF1T1MweUlESWdMamtnTWlBeUlESnRNQ0F5WXkweExqRWdNQzB5SUM0NUxUSWdNbk11T1NBeUlESWdNaUF5TFM0NUlESXRNaTB1T1MweUxUSXRNbTB3SURaakxURXVNU0F3TFRJZ0xqa3RNaUF5Y3k0NUlESWdNaUF5SURJdExqa2dNaTB5TFM0NUxUSXRNaTB5SWk4K1BDOXpkbWMrKTtoZWlnaHQ6MjBweDt3aWR0aDoyMHB4O29wYWNpdHk6Ljg7YXNwZWN0LXJhdGlvOjF9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWRldGFpbHMgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXZlbmRvcntvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtdmVuZG9yLXdoZW4tcHJvbW90aW9uLXRleHQtZW5hYmxlZHtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvcGFjaXR5Oi43O2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3Qtd2hlbi1wcm9tb3Rpb24tdGV4dC1lbmFibGVke2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWQgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRyZW5kaW5ne292ZXJmbG93OmhpZGRlbn0ueXRwLWZlYXR1cmVkLXByb2R1Y3Qtd2hlbi1wcm9tb3Rpb24tdGV4dC1lbmFibGVkIC55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZy10ZXh0e29wYWNpdHk6Ljc7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRyZW5kaW5nPi55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZy1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdMVGsyTUNBNU5qQWdPVFl3SWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSnRNVEl6TFRJME1DMDBNeTAwTXlBeU9USXRNamt4SURFMk55QXhOamNnTWpReExUSTBNVWcyTlROMkxUWXdhREl5TjNZeU1qZG9MVFU1ZGkweE1qTk1OVE00TFRNeU1TQXpOekV0TkRnNGVpSXZQand2YzNablBnPT0pO2hlaWdodDoxMnB4O3dpZHRoOjEycHg7bWFyZ2luLXRvcDoycHg7bWFyZ2luLXJpZ2h0OjRweDtvcGFjaXR5Oi44O2FzcGVjdC1yYXRpbzoxfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZ3tkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtY29udGFpbmVye292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXByaWNlLXdoZW4tcHJvbW90aW9uLXRleHQtZW5hYmxlZHtvcGFjaXR5Oi43O2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtY29udGFpbmVyIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1wcm9tb3Rpb24tdGV4dHtmb250LXdlaWdodDo1MDA7bWFyZ2luLWxlZnQ6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1zYWxlcy1vcmlnaW5hbC1wcmljZXt0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoO21hcmdpbi1sZWZ0OjRweH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtZHJvcC1yZWZlcmVuY2UtcHJpY2V7bWFyZ2luLWxlZnQ6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1zYWxlcy1vcmlnaW5hbC1wcmljZTplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXByb21vdGlvbi10ZXh0OmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtZHJvcC1yZWZlcmVuY2UtcHJpY2U6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1hZmZpbGlhdGUtZGlzY2xhaW1lci13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWQ6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtYmFkZ2UtY29udGFpbmVyLC55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWV4Y2x1c2l2ZS1iYWRnZXtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AscmlnaHQgdG9wLGZyb20oIzdmMGU3ZiksY29sb3Itc3RvcCgjZGIxZGRiKSx0bygjZWQ1NThmKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCM3ZjBlN2YsI2RiMWRkYiwjZWQ1NThmKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmLCNkYjFkZGIsI2VkNTU4Zik7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoycHggNHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtYmFkZ2UtdGV4dHtsaW5lLWhlaWdodDoxMDAlO2ZvbnQtd2VpZ2h0OjcwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtZXhjbHVzaXZlLWNvdW50ZG93bnttYXJnaW4tbGVmdDo0cHg7bGluZS1oZWlnaHQ6MTAwJX0ueXRwLXRpbWUtZGlzcGxheXtmb250LXNpemU6MTA5JTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzowIDVweDt3aGl0ZS1zcGFjZTpub3dyYXA7bGluZS1oZWlnaHQ6NDdweH0ueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC10aW1lLWRpc3BsYXksLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtdGltZS1kaXNwbGF5e2xpbmUtaGVpZ2h0OjUxcHh9Lnl0cC1lbWJlZCAueXRwLXRpbWUtZGlzcGxheSwueXRwLXNtYWxsLW1vZGUgLnl0cC10aW1lLWRpc3BsYXl7bGluZS1oZWlnaHQ6MzlweH0ueXRwLWJpZy1tb2RlIC55dHAtdGltZS1kaXNwbGF5e2xpbmUtaGVpZ2h0OjUzcHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLWRpc3BsYXk6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtmb250LXNpemU6MTRweDttaW4td2lkdGg6MDtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSA4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXRpbWUtZGlzcGxheXtsaW5lLWhlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTtmb250LXNpemU6MTZweDtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtdG9wLWhlaWdodCwyMHB4KSAxMnB4fS55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC10aW1lLWRpc3BsYXktYWxsb3ctYXV0b2hpZGV7ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKil7bWluLXdpZHRoOjA7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKil7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6NDBweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjI4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXRpbWUtd3JhcHBlcntoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICope2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtdGltZS1jdXJyZW50LC55dHAtdGltZS1kdXJhdGlvbiwueXRwLXRpbWUtc2VwYXJhdG9ye2NvbG9yOiNkZGR9Lnl0cC10aW1lLXdyYXBwZXItZGVsaGl7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLWN1cnJlbnR7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtcHJpbWFyeSwjZmZmKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtZHVyYXRpb24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXNlcGFyYXRvcntjb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdGV4dC1wcmltYXJ5LCNmZmYpO2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWxpdmUgLnl0cC10aW1lLWNvbnRlbnRze2Rpc3BsYXk6bm9uZX0qIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6bm9uZTt3aWR0aDphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlLWJhZGdlLC55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLXNtYWxsLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWxpdmUtYmFkZ2V7dGV4dC10cmFuc2Zvcm06bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZSAueXRwLWxpdmUtYmFkZ2UsLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlIC55dHAtbGl2ZS1iYWRnZXtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWxpdmUtYmFkZ2U6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjZweDtoZWlnaHQ6NnB4O3ZlcnRpY2FsLWFsaWduOjQlO21hcmdpbi1yaWdodDo1cHg7YmFja2dyb3VuZDojNzU3NTc1O2NvbnRlbnQ6IiI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWxpdmUtYmFkZ2U6YmVmb3Jle3dpZHRoOjlweDtoZWlnaHQ6OXB4O2JvcmRlci1yYWRpdXM6OXB4fS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1saXZlLWJhZGdlW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWxpdmUtYmFkZ2VbZGlzYWJsZWRde29wYWNpdHk6MX0ueXRwLWxpdmViYWRnZS1jb2xvciAueXRwLWxpdmUtYmFkZ2UueXRwLWxpdmUtYmFkZ2UtaXMtbGl2ZWhlYWQ6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtYnJhbmQscmdiYSgyMjUsMCw0NSwuOSkpfS55dHAtdGltZS1kaXNwbGF5Lnl0cC1jbGlwe292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24sLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLXNlcGFyYXRvciwueXRwLXRpbWUtY2xpcC1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLC55dHAtY2xpcCAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9yLC55dHAtY2xpcCAueXRwLXRpbWUtY2xpcC1pY29ue2Rpc3BsYXk6aW5saW5lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2xpcCAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctdG9wOjEycHg7bWFyZ2luLWxlZnQ6OHB4O2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtdGltZS1jbGlwLWljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6NXB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZS1jbGlwLWljb257bWFyZ2luLWxlZnQ6MH0ueXRwLXRpbWUtY2xpcC1pY29uIHN2Z3t3aWR0aDoxNnB4O2hlaWdodDoxNnB4O21hcmdpbi1ib3R0b206LTNweDtmaWxsOiNkZGR9Lnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLXNlcGFyYXRvcnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjhweDtmb250LXdlaWdodDo3MDB9Lnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZSAueXRwLWxpdmUtYmFkZ2V7d2lkdGg6YXV0b30ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtY29udGVudHN7b3ZlcmZsb3c6aGlkZGVufS55dHAtbm8tbGluayxzcGFuLnl0cC10aXRsZS1jaGFubmVsLW5hbWV7Y3Vyc29yOmRlZmF1bHQ7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXRpdGxle292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC10aXRsZSAueXRwLXRpdGxlLXRleHQsLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLXRvcCAueXRwLXRpdGxlIC55dHAtdGl0bGUtdGV4dCwueXRwLWhpZGUtZnVsbHNjcmVlbi10aXRsZSAueXRwLXRpdGxlIC55dHAtdGl0bGUtdGV4dHtkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS10ZXh0e3ZlcnRpY2FsLWFsaWduOnRvcDttYXgtd2lkdGg6MTAwJTtwYWRkaW5nLXRvcDoxMnB4O2ZvbnQtc2l6ZToxOHB4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTtmbGV4OjE7cGFkZGluZy1sZWZ0OjRweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoxOHB4O2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmctbGVmdDo2cHh9Lnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoyMXB4fS55dHAtc2hvcnRzLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC10aXRsZS10ZXh0e2ZvbnQtc2l6ZToxNnB4O3doaXRlLXNwYWNlOm5vcm1hbDtwYWRkaW5nLXRvcDoxNHB4O3BhZGRpbmctcmlnaHQ6NTNweH0ueXRwLWJpZy1tb2RlLnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDozNnB4fS55dHAtYmlnLW1vZGUueXRwLXNob3J0cy1tb2RlLnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoxN3B4O2ZvbnQtc2l6ZToyM3B4O3BhZGRpbmctcmlnaHQ6NjRweH0ueXRwLXRpdGxlLXRleHQtbGFyZ2VyLWxpbmUtaGVpZ2h0IC55dHAtdGl0bGUtdGV4dHtsaW5lLWhlaWdodDoxLjM1fS55dHAtc2hvcnRzLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC10aXRsZS1saW5re292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC10aXRsZS1zdWJ0ZXh0e2ZvbnQtc2l6ZToxNHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtdGl0bGUtY2hhbm5lbC1uYW1le21hcmdpbi10b3A6LjI1cmVtO2Rpc3BsYXk6YmxvY2s7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5KX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtc3VidGV4dHtmb250LXNpemU6MjBweH0ueXRwLXRpdGxlLXN1YnRleHQgYTplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1mdWxsZXJzY3JlZW4tbGlua3tjdXJzb3I6ZGVmYXVsdH0ueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtoZWlnaHQ6MTRweDt3aWR0aDozNnB4O2Zsb2F0OnJpZ2h0O3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjMpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDoyMXB4O3dpZHRoOjU0cHg7Ym9yZGVyLXJhZGl1czoyMXB4fS55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtvcGFjaXR5Oi4zfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXXtjb2xvcjojOTA5MDkwfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSBwYXRoe2ZpbGw6IzkwOTA5MH0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JvcmRlci1yYWRpdXM6MDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtY29udGV4dG1lbnUueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1jb250ZXh0bWVudSAueXRwLW1lbnVpdGVtIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6bm9uZX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRrZ01UWXVNaUEwTGpnZ01USnNMVEV1TkNBeExqUk1PU0F4T1NBeU1TQTNiQzB4TGpRdE1TNDBlaUl2UGp3dmMzWm5QZz09KX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2NvbnRlbnQ6bm9uZX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY29udGV4dG1lbnUgLnl0cC1tZW51aXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfS55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7Ym9yZGVyLXJhZGl1czoyMHB4O21hcmdpbi10b3A6LTNweDtiYWNrZ3JvdW5kLWNvbG9yOiNiZGJkYmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjYpO2JveC1zaGFkb3c6MCAxcHggNXB4IDAgcmdiYSgwLDAsMCwuNik7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXJ7bGVmdDowO2hlaWdodDozMHB4O3dpZHRoOjMwcHg7Ym9yZGVyLXJhZGl1czozMHB4O21hcmdpbi10b3A6ZGl2aWRlKHN1YigyMXB4LDMwcHgpLDIpfS55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KX0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjRweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDI0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDI0cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94LC55dHAtZGVsaGktbW9kZXJuLmJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDoyNHB4O3dpZHRoOjQwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveCwueXRwLWRlbGhpLW1vZGVybi5iaWctbW9kZSAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tcHJpbWFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4zKSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbVthcmlhLWRpc2FibGVkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94LC55dHAtZGVsaGktbW9kZXJuLmJpZy1tb2RlIC55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4uYmlnLW1vZGUgLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXJ7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXRvcDoycHg7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjcpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveDphZnRlciwueXRwLWRlbGhpLW1vZGVybi5iaWctbW9kZSAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveDphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KX0ueXRwLXRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAzO2ZvbnQtc2l6ZToxMTglO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtdG9vbHRpcDpub3QoLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbil7b3BhY2l0eTowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcDpub3QoLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbil7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUgLnl0cC10b29sdGlwe2xpbmUtaGVpZ2h0OjIycHh9Lnl0cC10b29sdGlwOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3e3BhZGRpbmc6MnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7Ym9yZGVyLXJhZGl1czoycHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlld3tib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlld3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldy55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb257b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3Lnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbjpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtvcGFjaXR5OjF9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtdGl0bGV7cGFkZGluZzowIDlweDt0ZXh0LWFsaWduOnN0YXJ0O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10aXRsZXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6NXB4IDlweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1iZ3ttYXJnaW46NHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLXRpdGxlIC55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dHttYXJnaW4tbGVmdDo4cHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtdGV4dHtwYWRkaW5nOjAgOXB4O3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6bm9uZX0ueXRwLXRvb2x0aXA6bm90KC55dHAtcHJldmlldykgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JvcmRlci1yYWRpdXM6NHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcDpub3QoLnl0cC1wcmV2aWV3KSAueXRwLXRvb2x0aXAtYm90dG9tLXRleHR7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC10b29sdGlwLWJnLC55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtwYWRkaW5nOjFweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCwueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlIC55dHAtdG9vbHRpcC10aXRsZXtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXByZXZpZXcpIC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItcGlsbHtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzo4cHggMTZweDtib3JkZXItcmFkaXVzOjE4cHg7dG9wOjQ1cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGUgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLXRpdGxle21hcmdpbi1sZWZ0OjhweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlOm5vdCgueXRwLXByZXZpZXcpIC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItcGlsbHt0b3A6LTE2cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi10b3A6MTBweDt0b3A6dW5zZXQ7bWF4LXdpZHRoOnVuc2V0O2hlaWdodDotd2Via2l0LWZpdC1jb250ZW50O2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGU6bm90KC55dHAtcHJldmlldykgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntib3R0b206OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGU6bm90KFthcmlhLWhpZGRlbj10cnVlXSkgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntvcGFjaXR5OjF9Lnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxse2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGx7dG9wOjY3cHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtYmd7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxMnB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MTJweH0ueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVye2JvcmRlci1yYWRpdXM6M3B4fS55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtd3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NXB4O2xlZnQ6MDt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyO3otaW5kZXg6MX0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXJ7bWFyZ2luOjRweCAwO292ZXJmbG93OmhpZGRlbjttYXgtaGVpZ2h0OjQ2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXJ7bWFyZ2luOjZweCAwO21heC1oZWlnaHQ6NjlweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXIueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue29wYWNpdHk6MDtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXIueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9uIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVyLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXRleHQtZGV0YWlsKTpub3QoW2FyaWEtaGlkZGVuPXRydWVdKSAueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVyLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntvcGFjaXR5OjF9Lnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nOjVweCA5cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb24pIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb24pIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtdG9vbHRpcC1vcGFxdWUgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JhY2tncm91bmQtY29sb3I6cmdiKDI4LDI4LDI4KX0ueXRwLXRvb2x0aXAueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6aW5saW5lO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS55dHAtdG9vbHRpcC1pbWFnZS1lbmFibGVkIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtwYWRkaW5nLWxlZnQ6MzRweH0ueXRwLWJpZy1tb2RlIC55dHAtdG9vbHRpcC1pbWFnZS1lbmFibGVkIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtwYWRkaW5nLWxlZnQ6NDVweH0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MH0ueXRwLXRvb2x0aXAtYmd7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmV9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKS55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb246aXMoW2FyaWEtaGlkZGVuPXRydWVdKXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHAtcHJvZ3Jlc3MtYmFyLXNuYXAgLnl0cC10b29sdGlwLWJne291dGxpbmU6MXB4IHNvbGlkICNmZmY7b3V0bGluZS1vZmZzZXQ6LTFweH0ueXRwLXRvb2x0aXAueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJne2Rpc3BsYXk6YmxvY2t9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtYmd7ZmxvYXQ6bGVmdH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAtYmcueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pIC55dHAtdG9vbHRpcC1iZy55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb257b3BhY2l0eToxfS55dHAtdG9vbHRpcC1kdXJhdGlvbntkaXNwbGF5Om5vbmV9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldy55dHAtaGFzLWR1cmF0aW9uIC55dHAtdG9vbHRpcC1kdXJhdGlvbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjNweDtib3R0b206M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7cGFkZGluZzoycHggNHB4O2JvcmRlci1yYWRpdXM6MnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcueXRwLWhhcy1kdXJhdGlvbiAueXRwLXRvb2x0aXAtZHVyYXRpb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXItcmFkaXVzOiNmZmZ9Lnl0cC10b29sdGlwLXRpdGxle2Rpc3BsYXk6bm9uZX0ueXRwLXRvb2x0aXAtdGl0bGUgc3Zne2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1leHAgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2ZvbnQtc2l6ZToxOHB4fS55dHAtYmlnLW1vZGUueXRwLWZpbmUtc2NydWJiaW5nLWV4cCAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1lZHUgc3Zne2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0cC1maW5lLXNjcnViYmluZy1leHAgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAzJTtoZWlnaHQ6YXV0bztmb250LXNpemU6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWV4cCAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1lZHUgc3ZnLC55dHAtcHJvZ3Jlc3MtYmFyLWRlY29yYXRpb24gLnl0cC10b29sdGlwLXRpdGxlIHN2Z3tkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O21hcmdpbi1yaWdodDozcHg7ZmlsbDp3aGl0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10aXRsZXt3aWR0aDoyMDAlO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjgwcHg7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7aGVpZ2h0OjE2cHg7Ym9yZGVyOjA7dG9wOjQ1cHg7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10aXRsZXt3aWR0aDoyMDAlO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjEyMHB4O3RvcDo2MXB4O2hlaWdodDoyNHB4fS55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JhY2tncm91bmQ6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NDVweDt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLWJpZy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e3RvcDo2NXB4fS55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dHtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLWtleWJvYXJkLXNob3J0Y3V0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zMDE5NjA3ODQzKTttaW4td2lkdGg6MTFweDtib3JkZXItcmFkaXVzOjRweDttYXJnaW4tbGVmdDo0cHg7Y29sb3I6I2ZmZjtwYWRkaW5nOjAgMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dDplbXB0eXtkaXNwbGF5Om5vbmU7d2lkdGg6MH0ueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LW5vLXRpdGxle3RvcDozM3B4fS55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGUueXRwLW1vZGVybi10b29sdGlwLXRleHR7dG9wOjI1cHh9Lnl0cC1iaWctbW9kZSAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LW5vLXRpdGxle3RvcDo0MXB4fS55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwgLnl0cC10b29sdGlwLXRpdGxle2Rpc3BsYXk6YmxvY2s7Y29sb3I6I2FhYTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC10b29sdGlwLWltYWdle3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTt0b3A6MnB4O2xlZnQ6N3B4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAtaW1hZ2V7d2lkdGg6MjVweDtoZWlnaHQ6MjVweDtib3JkZXItcmFkaXVzOjEyLjVweDt0b3A6M3B4O2xlZnQ6MTBweH0ueXRwLXRvb2x0aXAtaW1hZ2UtZW5hYmxlZCAueXRwLXRvb2x0aXAtaW1hZ2V7ZGlzcGxheTppbmhlcml0fS55dHAtaW5saW5lLXByZXZpZXctbW9kZSAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtYm90dG9tLXRleHR7dG9wOi00cHh9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGUsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGV7dG9wOi00cHh9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWVkdSwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLXVubXV0ZS55dHAtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7dG9wOnN1Yig0OHB4LDEycHgpO2xlZnQ6MDt6LWluZGV4OjEwMDE7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiMwMDA7Zm9udC1zaXplOjEyNyU7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nOjEycHh9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS55dHAtcG9wdXB7dG9wOnN1Yig0OHB4LDE4cHgpO3BhZGRpbmc6MThweH0ueXRwLWF1dG9oaWRlIC55dHAtdW5tdXRlLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLXVubXV0ZXt0b3A6MH0ueXRwLXVubXV0ZS1pbm5lcntwYWRkaW5nLWxlZnQ6M3B4O3BhZGRpbmctcmlnaHQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMTt0ZXh0LXNoYWRvdzpub25lO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS1pbm5lcntwYWRkaW5nLWxlZnQ6NXB4O3BhZGRpbmctcmlnaHQ6MThweH0ueXRwLXVubXV0ZS1pY29ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRwLWVtYmVkIC55dHAtdW5tdXRlLWljb257d2lkdGg6NDBweDtoZWlnaHQ6NDBweH0ueXRwLXVubXV0ZS1pY29uIC55dHAtc3ZnLWZpbGx7ZmlsbDojMDAwfS55dHAtdW5tdXRlLXRleHR7bWF4LXdpZHRoOjIwMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC11bm11dGUueXRwLXBvcHVwLnl0cC11bm11dGUtYW5pbWF0ZWQgLnl0cC11bm11dGUtaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOm5vbmU7cGFkZGluZzowfS55dHAtdW5tdXRlLWFuaW1hdGVkIC55dHAtdW5tdXRlLWljb257cGFkZGluZy1sZWZ0OjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjEwO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtib3JkZXItcmFkaXVzOjJweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjFmMWYxfS55dHAtdW5tdXRlLWFuaW1hdGVkIC55dHAtdW5tdXRlLWJveHtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMX0ueXRwLXVubXV0ZS1hbmltYXRlZCAueXRwLXVubXV0ZS10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTA7cGFkZGluZy10b3A6MXB4O3BhZGRpbmctcmlnaHQ6MTBweH0ueXRwLXVubXV0ZS1leHBhbmQgLnl0cC11bm11dGUtYm94e3dpZHRoOjA7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIDMuNXMgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtd2lkdGgtYW5pbSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAzLjVzIGZvcndhcmRzfS55dHAtdW5tdXRlLWV4cGFuZCAueXRwLXVubXV0ZS10ZXh0e29wYWNpdHk6MDstd2Via2l0LWFuaW1hdGlvbjp5dHAtdW5tdXRlLWFscGhhLWFuaW0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIDMuOHMgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtYWxwaGEtYW5pbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgMy44cyBmb3J3YXJkc30ueXRwLXVubXV0ZS1zaHJpbmsgLnl0cC11bm11dGUtYm94e3dpZHRoOjEwMCU7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIDUuNXMgcmV2ZXJzZSBmb3J3YXJkczthbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIDUuNXMgcmV2ZXJzZSBmb3J3YXJkc30ueXRwLXVubXV0ZS1zaHJpbmsgLnl0cC11bm11dGUtdGV4dHtvcGFjaXR5OjE7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS1hbHBoYS1hbmltIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSA1LjRzIHJldmVyc2UgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtYWxwaGEtYW5pbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSkgNS40cyByZXZlcnNlIGZvcndhcmRzfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdW5tdXRlLXdpZHRoLWFuaW17MCV7d2lkdGg6MH10b3t3aWR0aDoxMDAlfX1Aa2V5ZnJhbWVzIHl0cC11bm11dGUtd2lkdGgtYW5pbXswJXt3aWR0aDowfXRve3dpZHRoOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdW5tdXRlLWFscGhhLWFuaW17MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyB5dHAtdW5tdXRlLWFscGhhLWFuaW17MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0cC11cG5leHR7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7b3BhY2l0eToxO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjphbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7ei1pbmRleDozOX0ueXRwLXVwbmV4dC10b3B7d2lkdGg6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO2JvdHRvbTo1MCU7bWFyZ2luLWJvdHRvbTo0OHB4fS55dHAtc21hbGwtbW9kZSAueXRwLXVwbmV4dC10b3B7bWFyZ2luLWJvdHRvbToyNnB4fS55dHAtc21hbGwtbW9kZS55dHAtZW1iZWQgLnl0cC11cG5leHQtbW9iaWxlIC55dHAtdXBuZXh0LXRvcHttYXJnaW4tYm90dG9tOjB9Lnl0cC11cG5leHQtYm90dG9te3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt0b3A6NTAlO21hcmdpbi10b3A6NDhweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtYm90dG9te21hcmdpbi10b3A6MjZweH0ueXRwLXNtYWxsLW1vZGUueXRwLWVtYmVkIC55dHAtdXBuZXh0LW1vYmlsZSAueXRwLXVwbmV4dC1ib3R0b217bWFyZ2luLXRvcDo0OHB4fS55dHAtdXBuZXh0LXRpdGxle2Rpc3BsYXk6YmxvY2s7cGFkZGluZzowIDEwcHggMnB4O21hcmdpbi1sZWZ0OjMycHg7bWFyZ2luLXJpZ2h0OjMycHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjIwMCU7Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc21hbGwtbW9kZSAueXRwLXVwbmV4dC10aXRsZXtmb250LXNpemU6MTUwJX0ueXRwLXVwbmV4dC1hdXRob3J7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDEwcHggMTBweDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMzAlfS55dHAtdXBuZXh0LWhlYWRlcntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNDAlO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmctYm90dG9tOjhweDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtaGVhZGVye3BhZGRpbmctYm90dG9tOjB9Lnl0cC11cG5leHQtY2FuY2Vse2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLXVwbmV4dC1jYW5jZWwtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0Om5vbmU7cGFkZGluZzoxMHB4IDIwcHg7Zm9udC1zaXplOjE0MCU7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLXVwbmV4dC1jYW5jZWwtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpO2JvcmRlci1yYWRpdXM6MnB4fS55dHAtdXBuZXh0LWF1dG9wbGF5LWljb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O21hcmdpbjotMzJweCAwIDAgLTMycHg7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtYXV0b3BsYXktaWNvbnt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O21hcmdpbjotMjVweCAwIDAgLTI1cHh9Lnl0cC1zbWFsbC1tb2RlLnl0cC1lbWJlZCAueXRwLXVwbmV4dC1tb2JpbGUgLnl0cC11cG5leHQtYXV0b3BsYXktaWNvbnttYXJnaW4tdG9wOjB9Lnl0cC1lbWJlZCAueXRwLWVuZHNjcmVlbi10YWtlb3Zlcn4ueXRwLXJlcGxheS1idXR0b257ZGlzcGxheTpub25lfS55dHAtdXBuZXh0LXBhdXNlZHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxMjAlO2ZvbnQtc3R5bGU6aXRhbGljO29wYWNpdHk6MH0ueXRwLXVwbmV4dC1hdXRvcGxheS1wYXVzZWQgLnl0cC11cG5leHQtcGF1c2Vke29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtdXBuZXh0IC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtvcGFjaXR5Oi40fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXktaW1hZ2V7b3BhY2l0eTouNjR9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdXBuZXh0IC55dHAtdXBuZXh0LXRvcHt0b3A6MDttYXJnaW46MTJweCAwIDAgMTJweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtYXV0aG9yLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1oZWFkZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdXBuZXh0IC55dHAtdXBuZXh0LXRpdGxle3RleHQtYWxpZ246bGVmdDttYXJnaW4tYm90dG9tOjRweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtYXV0aG9yLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1oZWFkZXJ7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO3BhZGRpbmc6MH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtdGl0bGV7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiNmZmY7cGFkZGluZzowIDc1cHggMCAwfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1hdXRvcGxheS1pY29ue3dpZHRoOjYycHg7aGVpZ2h0OjYycHg7bWFyZ2luOi0zMXB4IDAgMCAtMzFweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtY2FuY2VsLWJ1dHRvbiwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtcGF1c2Vke2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtY2FuY2VsLWJ1dHRvbntwYWRkaW5nOjhweDttYXJnaW4tdG9wOjhweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXVwbmV4dC1hdXRvcGxheS1pY29ue3dpZHRoOjE0NnB4O2hlaWdodDoxNDZweDttYXJnaW46LTczcHggMCAwIC03M3B4fS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtdXBuZXh0LWJvdHRvbXttYXJnaW4tdG9wOjc2cHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC11cG5leHQtdG9we21hcmdpbi1ib3R0b206NzZweH0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LXRvcHttYXJnaW4tYm90dG9tOjA7Ym90dG9tOjUwJX0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LWF1dG9wbGF5LWljb257dG9wOjYwJX0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LWJvdHRvbXttYXJnaW4tdG9wOjA7dG9wOjcwJX0ueXRwLXVzZXItaW5mby1wYW5lbHtiYWNrZ3JvdW5kOnJnYmEoMjgsMjgsMjgsLjgpO2NvbG9yOiNmZmY7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoyOTJweDtoZWlnaHQ6NzRweDtib3R0b206MDt6LWluZGV4OjgwO21pbi13aWR0aDoyNmVtO2Rpc3BsYXk6dGFibGV9Lnl0cC11c2VyLWluZm8tcGFuZWwgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MjBweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjEycHg7d2lkdGg6MjBweH0ueXRwLXVzZXItaW5mby1wYW5lbCAueXRwLWNvbGxhcHNlOmhvdmVye29wYWNpdHk6MX0ueXRwLXVzZXItaW5mby1wYW5lbC1jb250ZW50e2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZzoxNHB4IDA7Zm9udC1zaXplOjE2cHh9Lnl0cC11c2VyLWluZm8tcGFuZWwtY29udGVudD5kaXY+ZGl2e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgLjVlbTt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEwZW19Lnl0cC11c2VyLWluZm8tcGFuZWwtaWNvbntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI0cHg7cGFkZGluZzowIDE0cHh9Lnl0cC11c2VyLWluZm8tcGFuZWwtbG9naW57Y29sb3I6IzNlYTZmZjtjdXJzb3I6cG9pbnRlcn0ueXRwLXVzZXItaW5mby1wYW5lbC1pbmZve21heC13aWR0aDoyMDBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC12aWRlby1tZW51LWl0ZW17ZGlzcGxheTpibG9jaztoZWlnaHQ6NDRweDtwYWRkaW5nOjEwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXZpZGVvLW1lbnUtaXRlbXtoZWlnaHQ6NjZweDtwYWRkaW5nOjE1cHh9Lnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVde2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC12aWRlby1tZW51LWl0ZW06aG92ZXIsLnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpfS55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4LC55dHAtdmlkZW8tbWVudS1pdGVtLW5vdy1wbGF5aW5ne3BhZGRpbmctcmlnaHQ6OXB4O21pbi13aWR0aDoxMHB4O2hlaWdodDo0NHB4O2xpbmUtaGVpZ2h0OjQ0cHg7ZmxvYXQ6bGVmdH0ueXRwLWJpZy1tb2RlIC55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4LC55dHAtYmlnLW1vZGUgLnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7cGFkZGluZy1yaWdodDoxM3B4O2hlaWdodDo2NnB4O2xpbmUtaGVpZ2h0OjY2cHh9Lnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7ZGlzcGxheTpub25lO2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tc3RhdGljLWJyYW5kLXJlZCwjZjAzKX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtdmlkZW8tbWVudS1pdGVtLW5vdy1wbGF5aW5ne2NvbG9yOiNkZGR9Lnl0cC1jb2xvci1wYXJ0eSAueXRwLXZpZGVvLW1lbnUtaXRlbS1ub3ctcGxheWluZ3std2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktY29sb3IgLjE1cyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnl0cC1wYXJ0eS1jb2xvciAuMTVzIGxpbmVhciBpbmZpbml0ZX0ueXRwLXZpZGVvLW1lbnUtaXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7ZGlzcGxheTppbmxpbmV9Lnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4e2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvLW1lbnUtaXRlbS10aXRsZXtwYWRkaW5nLWxlZnQ6OXB4O2ZvbnQtc2l6ZToxMjAlO21heC1oZWlnaHQ6Mi42ZW07b3ZlcmZsb3c6aGlkZGVufS55dHAtdmlkZW8tbWVudS1pdGVtLWF1dGhvcntwYWRkaW5nLWxlZnQ6OXB4O2NvbG9yOiNiOGI4Yjg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse2Zsb2F0OmxlZnQ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDttYXJnaW46NHB4O2JvcmRlcjowIHNvbGlkIHZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tc3RhdGljLWJyYW5kLXJlZCwjZjAzKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTZweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo2NHB4IDQ4cHg7YmFja2dyb3VuZC1zaXplOjY0cHggNDhweH0ueXRwLWNvbG9yLXdoaXRlIC55dHAtdmlkZW8tbWVudS1pdGVtLXRodW1ibmFpbHtib3JkZXItY29sb3I6I2RkZH0ueXRwLWNvbG9yLXBhcnR5IC55dHAtdmlkZW8tbWVudS1pdGVtLXRodW1ibmFpbHstd2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyIGluZmluaXRlfS55dHAtYmlnLW1vZGUgLnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse3dpZHRoOjk2cHg7aGVpZ2h0OjU0cHg7bWFyZ2luOjZweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTlweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5NnB4IDcycHg7YmFja2dyb3VuZC1zaXplOjk2cHggNzJweH0ueXRwLXZpZGVvLW1lbnUtaXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse21hcmdpbjoycHg7Ym9yZGVyLXdpZHRoOjJweH0ueXRwLWJpZy1tb2RlIC55dHAtdmlkZW8tbWVudS1pdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLXZpZGVvLW1lbnUtaXRlbS10aHVtYm5haWx7bWFyZ2luOjRweH0ueXRwLXZpZGVvd2FsbC1zdGlsbHtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOnRvcDtvcGFjaXR5OjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKTstbXMtdHJhbnNmb3JtOnNjYWxlKC4xKTt0cmFuc2Zvcm06c2NhbGUoLjEpfS55dHAtc2hvdy10aWxlcyAueXRwLXZpZGVvd2FsbC1zdGlsbHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1hdXRob3IsLnl0cC12aWRlb3dhbGwtc3RpbGwtbWluaSAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWR1cmF0aW9uLC55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1saXZle2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvd2FsbC1zdGlsbFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntkaXNwbGF5Om5vbmV9Lnl0cC12aWRlb3dhbGwtc3RpbGxbZGF0YS1pcy1saXZlPXRydWVdIC55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtkaXNwbGF5OmJsb2NrfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgsLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7ZGlzcGxheTpub25lO2hlaWdodDoyLjE1ZW07cGFkZGluZy1yaWdodDoxMHB4O2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLW1peCwueXRwLXZpZGVvd2FsbC1zdGlsbC1taW5pIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1yZWd1bGFye2ZvbnQtc2l6ZToxMDAlfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTXpZZ016WWlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM2wwY0MxemRtY3RjR3hoZVd4cGMzUWlJSE4wY205clpUMGlJekF3TUNJZ2MzUnliMnRsTFc5d1lXTnBkSGs5SWk0eE5TSWdjM1J5YjJ0bExYZHBaSFJvUFNJeUlpOCtQSEJoZEdnZ2FXUTlJbmwwY0MxemRtY3RjR3hoZVd4cGMzUWlJR1pwYkd3OUlpTm1abVlpSUdROUlrMHlNaTQxTXlBeU1TNDBNblkyTGpnMWJEVXVOall0TXk0ME1pMDFMalkyTFRNdU5ESjZiUzB4TVM0ek15QXdhRGt1TURaMk1pNHlPRWd4TVM0eWVtMHdMVGt1TVRSb01UTXVObll5TGpJNFNERXhMako2YlRBZ05DNDFOMmd4TXk0MmRqSXVNamhJTVRFdU1ub2lMejQ4TDNOMlp6ND0pO3dpZHRoOjIuMTVlbTtoZWlnaHQ6Mi4xNWVtfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyYVdWM1FtOTRQU0l3SURBZ016WWdNellpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNsMGNDMXpkbWN0YldsNElpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzF2Y0dGamFYUjVQU0l1TVRVaUlITjBjbTlyWlMxM2FXUjBhRDBpTWlJdlBqeHdZWFJvSUdsa1BTSjVkSEF0YzNabkxXMXBlQ0lnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEkxTGpZMUlERTRZeTB1TURJZ01pNHpNUzB1T0RjZ05DNDBNUzB5TGpJMUlEWXVNRFpzTGprdU9UUmpNUzQyT1MweExqZ2dNaTQzTFRRdU1qY2dNaTQzTFRkekxURXVNREV0TlM0eU1TMHlMamN0TjJ3dExqa3VPVE5CT1M0MU5DQTVMalUwSURBZ01DQXhJREkxTGpZMUlERTRiUzB4TlM0eklEQmpMakF4TFRJdU16SXVPRFl0TkM0ME1pQXlMakkxTFRZdU1EZHNMUzQ1TFM0NU0wTXhNQ0F4TWk0M09TQTVJREUxTGpJM0lEa2dNVGh6TVNBMUxqSWdNaTQzSURkc0xqa3RMamswWXkweExqTTVMVEV1TmpVdE1pNHlOQzB6TGpjMUxUSXVNalV0Tmk0d05tMHlMamNnTUdNdExqQTBMVEV1TnpNdU5Ea3RNeTR3T1NBeExqTTFMVFF1TW13dExqa3RMamswWXkweExqRXpJREV1TWpZdE1TNDRJREl1T1RrdE1TNDRJRFV1TVRRZ01DQXhMalkzTGpZM0lETXVOQ0F4TGpnZ05DNDJObXd1T1MwdU9UTmpMUzQ0TmkweExqRXlMVEV1TXprdE1pNDBOeTB4TGpNMUxUTXVOek50T1MwMUxqRTBMUzQ1TGprMFl5NDROU0F4TGpFeElERXVNemdnTWk0ME55QXhMak0xSURRdU1pNHdNeUF4TGpJMkxTNDFJREl1TmpFdE1TNHpOU0F6TGpjemJDNDVMamt6WXpFdU1USXRNUzR5TmlBeExqZ3RNaTQ1T1NBeExqZ3ROQzQyTmlBd0xUSXVNVFV0TGpZNExUTXVPRGd0TVM0NExUVXVNVFJ0TFRVdU5UVWdNaTQ0SURNdU5pQXhMamczTFRNdU5pQXlMak16ZWlJdlBqd3ZjM1puUGc9PSk7d2lkdGg6Mi4xNWVtO2hlaWdodDoyLjE1ZW19Lnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLWxlbmd0aHtmb250LXdlaWdodDo0MDB9Lnl0cC12aWRlb3dhbGwtc3RpbGwtbWluaSAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbGVuZ3Roe2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvd2FsbC1zdGlsbDpmb2N1cyAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbWl4LC55dHAtdmlkZW93YWxsLXN0aWxsOmZvY3VzIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1yZWd1bGFyLC55dHAtdmlkZW93YWxsLXN0aWxsOmhvdmVyIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgsLnl0cC12aWRlb3dhbGwtc3RpbGw6aG92ZXIgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApfS55dHAtdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbGlzdD10cnVlXTpub3QoW2RhdGEtaXMtbWl4PXRydWVdKSAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtcmVndWxhcntkaXNwbGF5OmJsb2NrfS55dHAtdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbWl4PXRydWVdIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXh7ZGlzcGxheTpibG9ja30ueXRwLXZpZGVvd2FsbC1zdGlsbC1pbWFnZXstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbC1yb3VuZC1sYXJnZSAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbWFnZXtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtcm91bmQtbWVkaXVtIC55dHAtdmlkZW93YWxsLXN0aWxsLWltYWdle2JvcmRlci1yYWRpdXM6OHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLXJvdW5kLWxhcmdlIC55dHAtdmlkZW93YWxsLXN0aWxsLWltYWdle2JvcmRlci1yYWRpdXM6NHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tYXV0aG9ye2Zsb2F0OmxlZnQ7bWFyZ2luLXRvcDoycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMTIsMTIsMTIsLjgpLHRyYW5zcGFyZW50IDEwMHB4KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgxMiwxMiwxMiwuOCkgMCx0cmFuc3BhcmVudCAxMDBweCk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO2JvdHRvbTowO2NvbG9yOiNmZmY7bGVmdDowO29wYWNpdHk6MDtwYWRkaW5nOjEwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbC55dHAtdmlkZW93YWxsLXNob3ctdGV4dCAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWNvbnRlbnQsLnl0cC12aWRlb3dhbGwtc3RpbGw6Zm9jdXMgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1jb250ZW50LC55dHAtdmlkZW93YWxsLXN0aWxsOmhvdmVyIC55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tY29udGVudHtvcGFjaXR5OjF9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjJweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtwYWRkaW5nOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1saXZle2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtYnJhbmQscmdiYSgyMjUsMCw0NSwuOSkpO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbToycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouOTtwYWRkaW5nOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHg7ZGlzcGxheTpub25lO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLXRpdGxle2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjExOCU7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEuMjttYXgtaGVpZ2h0OjMwcHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtYmlnLW1vZGUgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby10aXRsZXtmb250LXdlaWdodDo0MDA7bWF4LWhlaWdodDo0OHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjg2KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbDpmb2N1cyAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwsLnl0cC12aWRlb3dhbGwtc3RpbGw6aG92ZXIgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVse2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuODYpfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOnRvcDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbi1ib3R0b206MTZweDstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOi13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtmb250LXNpemU6MTFweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mb3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1zaG93LXRpbGVzIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb257ZGlzcGxheTpub25lfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbWl4LC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtcmVndWxhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjIuMTVlbTtwYWRkaW5nLXJpZ2h0OjEwcHg7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo1MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyYVdWM1FtOTRQU0l3SURBZ016WWdNellpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNsMGNDMXpkbWN0Y0d4aGVXeHBjM1FpSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlpNHhOU0lnYzNSeWIydGxMWGRwWkhSb1BTSXlJaTgrUEhCaGRHZ2dhV1E5SW5sMGNDMXpkbWN0Y0d4aGVXeHBjM1FpSUdacGJHdzlJaU5tWm1ZaUlHUTlJazB5TWk0MU15QXlNUzQwTW5ZMkxqZzFiRFV1TmpZdE15NDBNaTAxTGpZMkxUTXVOREo2YlMweE1TNHpNeUF3YURrdU1EWjJNaTR5T0VneE1TNHllbTB3TFRrdU1UUm9NVE11Tm5ZeUxqSTRTREV4TGpKNmJUQWdOQzQxTjJneE15NDJkakl1TWpoSU1URXVNbm9pTHo0OEwzTjJaejQ9KTt3aWR0aDoyLjE1ZW07aGVpZ2h0OjIuMTVlbX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLW1peC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTXpZZ016WWlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM2wwY0MxemRtY3RiV2w0SWlCemRISnZhMlU5SWlNd01EQWlJSE4wY205clpTMXZjR0ZqYVhSNVBTSXVNVFVpSUhOMGNtOXJaUzEzYVdSMGFEMGlNaUl2UGp4d1lYUm9JR2xrUFNKNWRIQXRjM1puTFcxcGVDSWdabWxzYkQwaUkyWm1aaUlnWkQwaVRUSTFMalkxSURFNFl5MHVNRElnTWk0ek1TMHVPRGNnTkM0ME1TMHlMakkxSURZdU1EWnNMamt1T1RSak1TNDJPUzB4TGpnZ01pNDNMVFF1TWpjZ01pNDNMVGR6TFRFdU1ERXROUzR5TVMweUxqY3ROMnd0TGprdU9UTkJPUzQxTkNBNUxqVTBJREFnTUNBeElESTFMalkxSURFNGJTMHhOUzR6SURCakxqQXhMVEl1TXpJdU9EWXROQzQwTWlBeUxqSTFMVFl1TURkc0xTNDVMUzQ1TTBNeE1DQXhNaTQzT1NBNUlERTFMakkzSURrZ01UaHpNU0ExTGpJZ01pNDNJRGRzTGprdExqazBZeTB4TGpNNUxURXVOalV0TWk0eU5DMHpMamMxTFRJdU1qVXROaTR3Tm0weUxqY2dNR010TGpBMExURXVOek11TkRrdE15NHdPU0F4TGpNMUxUUXVNbXd0TGprdExqazBZeTB4TGpFeklERXVNall0TVM0NElESXVPVGt0TVM0NElEVXVNVFFnTUNBeExqWTNMalkzSURNdU5DQXhMamdnTkM0Mk5td3VPUzB1T1ROakxTNDROaTB4TGpFeUxURXVNemt0TWk0ME55MHhMak0xTFRNdU56TnRPUzAxTGpFMExTNDVMamswWXk0NE5TQXhMakV4SURFdU16Z2dNaTQwTnlBeExqTTFJRFF1TWk0d015QXhMakkyTFM0MUlESXVOakV0TVM0ek5TQXpMamN6YkM0NUxqa3pZekV1TVRJdE1TNHlOaUF4TGpndE1pNDVPU0F4TGpndE5DNDJOaUF3TFRJdU1UVXRMalk0TFRNdU9EZ3RNUzQ0TFRVdU1UUnRMVFV1TlRVZ01pNDRJRE11TmlBeExqZzNMVE11TmlBeUxqTXplaUl2UGp3dmMzWm5QZz09KTt3aWR0aDoyLjE1ZW07aGVpZ2h0OjIuMTVlbX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLWxlbmd0aHtmb250LXdlaWdodDo0MDB9Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbGlzdD10cnVlXTpub3QoW2RhdGEtaXMtbWl4PXRydWVdKSAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7ZGlzcGxheTpibG9ja30ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGxbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXh7ZGlzcGxheTpibG9ja30ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW1hZ2V7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjhweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAwIDhweCB2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSk7Ym94LXNoYWRvdzowIDAgMCA4cHggdmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkpO2JvcmRlci1yYWRpdXM6OHB4fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIpOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCA4cHggdmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyKTtib3gtc2hhZG93OjAgMCAwIDhweCB2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIpO2JvcmRlci1yYWRpdXM6OHB4fUBzdXBwb3J0cyAoYXNwZWN0LXJhdGlvOjEvMSl7Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWltYWdle2FzcGVjdC1yYXRpbzoxNi85fX1Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86MS8xKXsueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW1hZ2V7aGVpZ2h0OjA7cGFkZGluZy1ib3R0b206NTYuMjUlfX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mb3ttYXJnaW4tdG9wOjhweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby1hdXRob3I6bm90KDplbXB0eSl7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjEzMCU7bWF4LWhlaWdodDoyMHB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtdmlldy1jb3VudC1hbmQtZGF0ZS1pbmZvOm5vdCg6ZW1wdHkpe2ZvbnQtc2l6ZToxMzAlO21heC1oZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWF1dGhvciwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWF1dGhvcnttYXgtaGVpZ2h0OnVuc2V0fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWNvbnRlbnR7Y29sb3I6I2ZmZjt3aWR0aDoxMDAlO29wYWNpdHk6MTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb24sLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtib3JkZXItcmFkaXVzOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206OHB4O3JpZ2h0OjhweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtwYWRkaW5nOjJweDtmb250LXNpemU6MTIwJX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntiYWNrZ3JvdW5kOiMwMDA7Zm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6Ljc1fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWxpdmV7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1icmFuZCxyZ2JhKDIyNSwwLDQ1LC45KSk7b3BhY2l0eTouOTtkaXNwbGF5Om5vbmU7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDpub3QoW2RhdGEtaXMtbGl2ZT10cnVlXSkgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtkaXNwbGF5Om5vbmV9Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb246ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLXRpdGxlOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2ZvbnQtc2l6ZToxNTAlO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjI7bWF4LWhlaWdodDo0MHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tdGl0bGUsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby10aXRsZXttYXgtaGVpZ2h0OnVuc2V0fS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4IDE2cHggMTZweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1jb250ZW50IC55dHAtaW5wdXQtc2xpZGVyLXNlY3Rpb257LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjF9Lnl0cC1zcGVlZC1kaXNwbGF5LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOjI0cHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1kaXNwbGF5e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6OTAwO2xpbmUtaGVpZ2h0OjIycHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1zbGlkZXItY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2dhcDoxNnB4O21hcmdpbi1ib3R0b206MjRweH0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLXNsaWRlci1jb250YWluZXIgLnl0cC1pbnB1dC1zbGlkZXJ7d2lkdGg6MTAwJX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLWNoaXBze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1idXR0b257Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKTtjb2xvcjojZmZmO2hlaWdodDozMnB4O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtY2hpcHMgLnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1idXR0b257Zm9udC1zaXplOjEycHg7d2lkdGg6NTNweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo0cHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1zbGlkZXItY29udGFpbmVyIC55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtYnV0dG9ue2ZvbnQtc2l6ZToyNHB4O3dpZHRoOjMycHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1jb250ZW50IC55dHAtc3BlZWRzbGlkZXItaW5kaWNhdG9yLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1wcmVzZXQtYnV0dG9uLXdyYXBwZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1wcmVzZXQtYnV0dG9uLWxhYmVsLXRleHR7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tdG9wOjRweDtmb250LXdlaWdodDo0MDA7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjcpKX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLXByZW1pdW0tdXBzZWxsLWljb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ2RtbGxkMEp2ZUQwaUxUSWdMVElnTWpRZ01qUWlQanh3WVhSb0lHWnBiR3c5SWlOak1EQWlJR1E5SWswd0lERXVORE5ETUNBdU5qUXVOalFnTUNBeExqUXpJREJvTVRjdU1UTkRNVGt1TXpVZ01DQXlNQ0F1TmpRZ01qQWdNUzQwTTNZeE55NHhNMk13SUM0M09TMHVOalVnTVM0ME5DMHhMalEwSURFdU5EUklNUzQwTTBNdU5qUWdNakFnTUNBeE9TNHpOU0F3SURFNExqVTJXbTB3SURBaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTnk0NE9DQXhNUzQwTW5ZMExqSTVTRFV1TXpkV015NDFNbWcwTGpjMVl5NDVNaUF3SURFdU56SXVNVGNnTWk0ME1pNDFMalk1TGpNMElERXVNakl1T0RFZ01TNDJJREV1TkRNdU16Y3VOakl1TlRZZ01TNHpNaTQxTmlBeUxqRXhJREFnTVM0eE9TMHVOREVnTWk0eE15MHhMakl5SURJdU9ESXRMamd5TGpZNUxURXVPVFVnTVM0d05DMHpMalFnTVM0d05GcHRNQzB5TGpBMGFESXVNalJqTGpZM0lEQWdNUzR4T0MwdU1UVWdNUzQxTWkwdU5EY3VNelV0TGpNeExqVXpMUzQzTlM0MU15MHhMak0wY3kwdU1UZ3RNUzR3TnkwdU5UTXRNUzQwTldNdExqTTFMUzR6TmkwdU9EUXRMalUxTFRFdU5EWXRMalUyYUMweUxqTmFiVEFnTUNJdlBqd3ZjM1puUGc9PSk7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtcHJlbWl1bS1iYWRnZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMDAlO21hcmdpbi1yaWdodDo4cHg7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MjRweDtoZWlnaHQ6MjJweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ2RtbGxkMEp2ZUQwaUxUSWdMVElnTWpRZ01qUWlQanh3WVhSb0lHWnBiR3c5SWlOak1EQWlJR1E5SWswd0lERXVORE5ETUNBdU5qUXVOalFnTUNBeExqUXpJREJvTVRjdU1UTkRNVGt1TXpVZ01DQXlNQ0F1TmpRZ01qQWdNUzQwTTNZeE55NHhNMk13SUM0M09TMHVOalVnTVM0ME5DMHhMalEwSURFdU5EUklNUzQwTTBNdU5qUWdNakFnTUNBeE9TNHpOU0F3SURFNExqVTJXbTB3SURBaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTnk0NE9DQXhNUzQwTW5ZMExqSTVTRFV1TXpkV015NDFNbWcwTGpjMVl5NDVNaUF3SURFdU56SXVNVGNnTWk0ME1pNDFMalk1TGpNMElERXVNakl1T0RFZ01TNDJJREV1TkRNdU16Y3VOakl1TlRZZ01TNHpNaTQxTmlBeUxqRXhJREFnTVM0eE9TMHVOREVnTWk0eE15MHhMakl5SURJdU9ESXRMamd5TGpZNUxURXVPVFVnTVM0d05DMHpMalFnTVM0d05GcHRNQzB5TGpBMGFESXVNalJqTGpZM0lEQWdNUzR4T0MwdU1UVWdNUzQxTWkwdU5EY3VNelV0TGpNeExqVXpMUzQzTlM0MU15MHhMak0wY3kwdU1UZ3RNUzR3TnkwdU5UTXRNUzQwTldNdExqTTFMUzR6TmkwdU9EUXRMalUxTFRFdU5EWXRMalUyYUMweUxqTmFiVEFnTUNJdlBqd3ZjM1puUGc9PSk7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGxpbmVhcix2aXNpYmlsaXR5IDBzIGxpbmVhciAuMXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBsaW5lYXIsdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjFzfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtcHJlbWl1bS1iYWRnZS12aXNpYmxle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OjBzO3RyYW5zaXRpb24tZGVsYXk6MHN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC12b2x1bWUtcG9wb3Zlcnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjIycHg7cGFkZGluZzoxMnB4IDEwcHg7bWFyZ2luLWJvdHRvbTowOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXZvbHVtZS1wb3BvdmVyey13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO2JvdHRvbTp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KX1Ac3VwcG9ydHMgKCgtd2Via2l0LXdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkgb3IgKHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkpey55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXItc2VjdGlvbi55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVye2hlaWdodDo5NnB4fX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXZvbHVtZS1wb3BvdmVyIC55dHAtaW5wdXQtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuOCk7Ym94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuOCk7bWFyZ2luLXJpZ2h0Oi01cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC12b2x1bWUtcG9wb3ZlciAueXRwLWlucHV0LXNsaWRlcjo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi1tcy10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre3dpZHRoOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpO2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7d2lkdGg6MnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC5zZWVraW5nLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIueXRwLXZvbHVtZS1wb3BvdmVyLWhvdmVyaW5ne3Zpc2liaWxpdHk6dmlzaWJsZTttYXJnaW4tYm90dG9tOjhweDstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC12b2x1bWUtcG9wb3ZlcntsZWZ0Oi00cHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuOm5vdCguc2Vla2luZy1tb2RlKSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXN0YW5kYWxvbmUtbXV0ZS1idXR0b24gLnl0cC12b2x1bWUtcG9wb3ZlcntsZWZ0OjRweH0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm46bm90KC5zZWVraW5nLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXJ7Ym90dG9tOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtdm9sdW1lLXBhbmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOjB9Lnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scy55dHAtdm9sdW1lLXBhbmVsey13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC12b2x1bWUtcGFuZWx7d2lkdGg6NTJweDttYXJnaW4tcmlnaHQ6M3B4Oy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scy55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC12b2x1bWUtcGFuZWx7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246bWFyZ2luIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItYWN0aXZlIC55dHAtdm9sdW1lLXBhbmVse3dpZHRoOjc4cHg7bWFyZ2luLXJpZ2h0OjVweH0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtdm9sdW1lLXBhbmVsOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtYmlnLW1vZGUgLnl0cC12b2x1bWUtc2xpZGVye21pbi1oZWlnaHQ6NTRweH0ueXRwLXZvbHVtZS1zbGlkZXJ7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDozNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0ueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtib3JkZXItcmFkaXVzOjZweDttYXJnaW4tdG9wOi02cHg7YmFja2dyb3VuZDojZmZmfS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZXstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxle3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czo5cHg7bWFyZ2luLXRvcDotOXB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGV7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDttYXJnaW4tdG9wOi02cHg7Ym9yZGVyLXJhZGl1czo2cHg7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3RvcDo1MCU7bGVmdDowO2hlaWdodDozcHg7bWFyZ2luLXRvcDotMnB4O3dpZHRoOjY0cHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZSwueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZXtoZWlnaHQ6MnB4O21hcmdpbi10b3A6LTFweH0ueXRwLWJpZy1tb2RlIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZXtoZWlnaHQ6NHB4O21hcmdpbi10b3A6LTJweDt3aWR0aDo5NnB4fS55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YmVmb3Jle2xlZnQ6LTU4cHg7YmFja2dyb3VuZDojZmZmfS55dHAtYmlnLW1vZGUgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7bGVmdDotODdweH0ueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6NnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6OXB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9Lnl0cC13YXRjaC1vbi15b3V0dWJlLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MWVtfS55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b257Ym9yZGVyLXJhZGl1czoyOHB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Zm9udDo1MDAgMTZweC8xNnB4IFlvdVR1YmUgTm90byxSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC40cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjRzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtY29udGludWUtd2F0Y2hpbmctYnV0dG9uLnl0cC13YXRjaC1vbi15b3V0dWJlLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzBmMGYwZn0ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1jb250aW51ZS13YXRjaGluZy1idXR0b24ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U1ZTVlNTtjb2xvcjojMGYwZjBmfS55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b246Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZX0ueXRwLWNvbnRpbnVlLXdhdGNoaW5nLWJ1dHRvbi55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b246Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzBmMGYwZn0ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmFjdGl2ZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguOTQpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjk0KTt0cmFuc2Zvcm06c2NhbGUoLjk0KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9LndhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS53YXRjaC1hZ2Fpbi1vbi15b3V0dWJlLWVuZHNjcmVlbnstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRwLXdhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVuLW1vcmUtdmlkZW9zLWNvbnRhaW5lcnt3aWR0aDoxMDAlfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1hZ2Fpbi1vbi15b3V0dWJlLWVuZHNjcmVlbi1tb3JlLXZpZGVvcy1jb250YWluZXIgLnl0cC1tb3JlLXZpZGVvcy12aWV3e2JvdHRvbTp1bnNldH0ueXRwLXdhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVuLW1vcmUtdmlkZW9zLWNvbnRhaW5lciAueXRwLW1vcmUtdmlkZW9zLXZpZXd7Ym9yZGVyLXJhZGl1czoycHg7ZGlyZWN0aW9uOmx0cjttYXJnaW46MTJweDtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjkpO3BhZGRpbmc6MTJweCAxNnB4IDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1zaG93LXdhdGNoLWxhdGVyLXRpdGxlLnl0cC13YXRjaC1sYXRlci1idXR0b257bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hvdy13YXRjaC1sYXRlci10aXRsZS55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci1idXR0b24sLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue21pbi13aWR0aDo0OHB4O21heC13aWR0aDo4MHB4fS55dHAtd2F0Y2gtbGF0ZXItaWNvbnttYXJnaW46YXV0bzt3aWR0aDozNnB4O2hlaWdodDozNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLXdhdGNoLWxhdGVyLWljb257d2lkdGg6NjBweDtoZWlnaHQ6NjBweDttYXJnaW4tYm90dG9tOjEwcHh9Lnl0cC13YXRjaC1sYXRlci10aXRsZXtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci10aXRsZSwueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtd2F0Y2gtbGF0ZXItdGl0bGV7Zm9udC1zaXplOjIwcHh9Lnl0cC1zaG93LXdhdGNoLWxhdGVyLXRpdGxlIC55dHAtd2F0Y2gtbGF0ZXItdGl0bGV7ZGlzcGxheTpibG9ja30uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWJpZy1tb2RlKSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci10aXRsZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRwLXdhdGNoLWxhdGVyLWljb24gLnl0cC1zcGlubmVyLWNvbnRhaW5lcnt3aWR0aDoyMHB4O3BhZGRpbmctYm90dG9tOjIwcHg7bWFyZ2luLXRvcDotMTBweDttYXJnaW4tbGVmdDotMTBweH0ueXRwLWJpZy1tb2RlIC55dHAtd2F0Y2gtbGF0ZXItaWNvbiAueXRwLXNwaW5uZXItY29udGFpbmVye3dpZHRoOjM1cHg7cGFkZGluZy1ib3R0b206MzVweDttYXJnaW4tdG9wOi0xNy41cHg7bWFyZ2luLWxlZnQ6LTE3LjVweH0ueXRwLXdhdGNoLWxhdGVyLWljb24gLnl0cC1zcGlubmVyLWNpcmNsZXtib3JkZXItd2lkdGg6M3B4fS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci1pY29uIC55dHAtc3Bpbm5lci1jaXJjbGV7Ym9yZGVyLXdpZHRoOjVweH0ud2ViZ2x7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjExO3dpZHRoOjEwMCV9LmVuZGVkLW1vZGUgLndlYmdse2Rpc3BsYXk6bm9uZX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24sLnl0cC1kbmkueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9ue3dpZHRoOjY3cHh9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24ueXRwLXlvdXR1YmUtbXVzaWMtYnV0dG9ue3dpZHRoOjEyMHB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9uLnl0cC15b3V0dWJlLW11c2ljLWJ1dHRvbiBzdmd7bWFyZ2luLWxlZnQ6LTI1cHg7aGVpZ2h0OjI0cHh9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9uLm5vLWxpbmssLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbi5uby1saW5re2N1cnNvcjpkZWZhdWx0O3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24sLnl0cC1kbmkueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbnt3aWR0aDoxMDBweH0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAteW91dHViZS1idXR0b24ueXRwLXlvdXR1YmUtbXVzaWMtYnV0dG9ue2hlaWdodDoyNXB4O21hcmdpbi1ib3R0b206N3B4fS55dHAtZHJhd2Vye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7d2lkdGg6MzUwcHg7dGV4dC1hbGlnbjpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6NDc7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOndpZHRoIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2Vye3dpZHRoOjQyNXB4fS55dHAtZHJhd2VyLWNsb3NlZHt3aWR0aDoyNXB4fS55dHAtYmlnLW1vZGUgLnl0cC1kcmF3ZXItY2xvc2Vke3dpZHRoOjM4cHh9Lnl0cC1kcmF3ZXItY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MzUwcHg7aGVpZ2h0OjEwMCU7cGFkZGluZzo0OHB4IDI1cHggMjVweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2VyLWNvbnRlbnR7d2lkdGg6NDI1cHg7cGFkZGluZzo3MHB4IDE1cHggMTVweH0ueXRwLWRyYXdlci1jbG9zZWQgLnl0cC1kcmF3ZXItY29udGVudHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kcmF3ZXItY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjVweDtmaWxsOndoaXRlfS55dHAtYmlnLW1vZGUgLnl0cC1kcmF3ZXItY2xvc2UtYnV0dG9ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7cGFkZGluZzo3cHh9Lnl0cC1kcmF3ZXItY2xvc2VkIC55dHAtZHJhd2VyLWNsb3NlLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kcmF3ZXItb3Blbi1idXR0b257ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3dpZHRoOjE1cHg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDotMTZweDtwYWRkaW5nOjEwcHggNXB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyl9Lnl0cC1iaWctbW9kZSAueXRwLWRyYXdlci1vcGVuLWJ1dHRvbnt3aWR0aDoyM3B4O2hlaWdodDo0OHB4O21hcmdpbi10b3A6LTI0cHg7cGFkZGluZzoxNXB4IDhweH0ueXRwLWRyYXdlci1jbG9zZWQgLnl0cC1kcmF3ZXItb3Blbi1idXR0b257ZGlzcGxheTpibG9ja30ueXRwLWRyYXdlci1vcGVuLWJ1dHRvbjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXI6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjojYWFhO2JvcmRlci1sZWZ0Om5vbmU7Y29udGVudDoiIn0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2VyLW9wZW4tYnV0dG9uOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6OHB4O2JvcmRlci1yaWdodC13aWR0aDo4cHg7Ym9yZGVyLXRvcC13aWR0aDo4cHh9Lmh0bWw1LXlwYy1tb2R1bGV7bGluZS1oZWlnaHQ6MS4yO3RleHQtYWxpZ246bGVmdH0uaHRtbDUteXBjLWFjdGlvbi1oZWFkaW5ne21hcmdpbi1ib3R0b206NXB4O2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiM5OTl9Lnl0cC1zbWFsbC1tb2RlIC5odG1sNS15cGMtYWN0aW9uLWhlYWRpbmd7ZGlzcGxheTpub25lfS5odG1sNS15cGMtdGl0bGV7Zm9udC1zaXplOjIwcHh9Lmh0bWw1LXlwYy10aHVtYm5haWx7ZmxvYXQ6bGVmdH0uaHRtbDUteXBjLXRodW1ibmFpbCBpbWd7d2lkdGg6MTAwcHg7bWFyZ2luOjAgMTBweCAxMHB4IDB9Lmh0bWw1LXlwYy10aHVtYm5haWwgaW1nLmF2YXRhcntib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lmh0bWw1LXlwYy10aHVtYm5haWwgaW1nLmxhbmRzY2FwZXt3aWR0aDoxNjBweH0ueXRwLXNtYWxsLW1vZGUgLmh0bWw1LXlwYy10aHVtYm5haWwgaW1ne3dpZHRoOjUwcHh9Lnl0cC1zbWFsbC1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZy5sYW5kc2NhcGV7d2lkdGg6ODBweH0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZ3t3aWR0aDoxNTBweDttYXJnaW46MCAxNXB4IDE4cHggMH0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZy5sYW5kc2NhcGV7d2lkdGg6MjQwcHh9Lmh0bWw1LXlwYy1kZXNjcmlwdGlvbntmb250LXNpemU6MTRweH0ueXRwLXNtYWxsLW1vZGUgLmh0bWw1LXlwYy1kZXNjcmlwdGlvbnttYXJnaW4tdG9wOjEwcHh9Lnl0cC1iaWctbW9kZSAuaHRtbDUteXBjLWRlc2NyaXB0aW9ue21hcmdpbi10b3A6MzhweH0uaHRtbDUteXBjLXB1cmNoYXNle2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzI3OTNlNn0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtcHVyY2hhc2V7bWFyZ2luOjE4cHggMDtwYWRkaW5nOjE1cHggMjBweDtib3JkZXItcmFkaXVzOjNweH0uaHRtbDUteXBjLXB1cmNoYXNlOmhvdmVye2JhY2tncm91bmQ6IzEyNmRiM30uaHRtbDUteXBjLXB1cmNoYXNlLmh0bWw1LXlwYy1yb3VuZGVke2JvcmRlci1yYWRpdXM6MThweH0uaHRtbDUteXBjLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTJweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDo2Njtwb2ludGVyLWV2ZW50czpub25lO3RleHQtc2hhZG93OjAgMCAycHggcmdiYSgwLDAsMCwuNSl9Lnl0cC1iaWctbW9kZSAuaHRtbDUteXBjLW92ZXJsYXl7cGFkZGluZzo4cHg7bWFyZ2luLWxlZnQ6MjRweH0uaHRtbDUteXBjLWVuZHNjcmVlbntkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7cGFkZGluZzo1MXB4IDIxcHggMjFweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjc1KTt6LWluZGV4OjM2fS55dHAtc21hbGwtbW9kZSAuaHRtbDUteXBjLWVuZHNjcmVlbntwYWRkaW5nLXRvcDoyMXB4fS55dHAteXBjLWNsaWNrd3JhcC1vdmVybGF5e3BhZGRpbmc6MjVweCAyMHB4IDA7ei1pbmRleDo2OX0ueXRwLXlwYy1jbGlja3dyYXAtaGVhZGVye2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM4ODg7cGFkZGluZzowIDAgMTVweCA1cHg7Zm9udC1zaXplOjE4MiU7Zm9udC13ZWlnaHQ6NDAwfS55dHAteXBjLWNsaWNrd3JhcC1kZXNjcmlwdGlvbnttYXJnaW46MTVweCAwIDAgNXB4O2ZvbnQtc2l6ZToxMjclfS55dHAteXBjLWNsaWNrd3JhcC1jb25maXJte21hcmdpbjoyMHB4IDAgMCA1cHg7cGFkZGluZzo3cHggMTBweDtiYWNrZ3JvdW5kLWNvbG9yOiMzN2Q7Ym9yZGVyLXJhZGl1czoycHh9Lnl0cC15cGMtY2xpY2t3cmFwLWNvbmZpcm06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjZjfS55dHAteXRvLXByZXJvbGwtbWVzc2FnZXtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTJweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDo2NTtwb2ludGVyLWV2ZW50czpub25lO3RleHQtc2hhZG93OjAgMCAycHggcmdiYSgwLDAsMCwuNSl9Lnl0cC15dG8tcHJlcm9sbCAueXRwLXl0by1wcmVyb2xsLW1lc3NhZ2V7ZGlzcGxheTpibG9ja31zZW50aW5lbHt9"}},"time_used":47,"timings":{"blocked":-1,"dns":2,"connect":16,"send":0,"wait":17,"receive":27,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/youtubei/v1/next?prettyPrint=false","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:54.543Z","timestamp":1785129294543,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"POST /youtubei/v1/next?prettyPrint=false HTTP/1.1\r\nHost: www.youtube-nocookie.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: application/json\r\nX-Goog-Visitor-Id: CgtHZU9NaHUydzFpZyjN0pvTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgGGLfAgrcAjIwLllUPVVTYzN4Y2lwQzFfM3lBcHAyWi1PTGd4dlNuczJEWFIwY2NvVWtUNkNEUEZ1R0wtYzNmSDJQNDJHZ3FOQU5ZOF9rSVVXTHk4SUFMZ2JWZTZOdldUX3RQbE9ibmZiUjVNekg1WURtS0syQ1lFOEVna2ZjeXN5eXFRWFNBNHFIRjB5dm9zN2RoQkZnaHBwZEdDbWNsNWNvb1Q3MEZyRjJPUjVaWkJRTnFqRUdSX0s0NG9GUENHTUYzZWdXNTVfVTR0TllTMVBKRE1qYkNRVDE3cml4bi1iOTY2S05jb2tueDh2WjdCb1VxNXU3QUhfZWhBWC1NM2hlM0lqRUs3cXpQdndWcUdkSGdmS2VMSUhNQ3JXYWwzSEhBVmpXX1YyakgwR0pPSUpYeE45dnotQTF1VkFUeXVESnk5dmZaeTRhUnBiWTVZakdDeUd3RzNMWVB4cDQ0Y2xkUQ%3D%3D\r\nX-Youtube-Bootstrap-Logged-In: false\r\nX-Youtube-Client-Name: 56\r\nX-Youtube-Client-Version: 2.20260724.01.00\r\nContent-Length: 3994\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube-nocookie.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1\r\nSec-Fetch-Dest: empty\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":"POST","post_data":{"size":3994,"data":"{\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"NO\",\"remoteHost\":\"195.64.118.152\",\"deviceMake\":\"\",\"deviceModel\":\"\",\"visitorData\":\"CgtHZU9NaHUydzFpZyjN0pvTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgGGLfAgrcAjIwLllUPVVTYzN4Y2lwQzFfM3lBcHAyWi1PTGd4dlNuczJEWFIwY2NvVWtUNkNEUEZ1R0wtYzNmSDJQNDJHZ3FOQU5ZOF9rSVVXTHk4SUFMZ2JWZTZOdldUX3RQbE9ibmZiUjVNekg1WURtS0syQ1lFOEVna2ZjeXN5eXFRWFNBNHFIRjB5dm9zN2RoQkZnaHBwZEdDbWNsNWNvb1Q3MEZyRjJPUjVaWkJRTnFqRUdSX0s0NG9GUENHTUYzZWdXNTVfVTR0TllTMVBKRE1qYkNRVDE3cml4bi1iOTY2S05jb2tueDh2WjdCb1VxNXU3QUhfZWhBWC1NM2hlM0lqRUs3cXpQdndWcUdkSGdmS2VMSUhNQ3JXYWwzSEhBVmpXX1YyakgwR0pPSUpYeE45dnotQTF1VkFUeXVESnk5dmZaeTRhUnBiWTVZakdDeUd3RzNMWVB4cDQ0Y2xkUQ%3D%3D\",\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0,gzip(gfe)\",\"clientName\":\"WEB_EMBEDDED_PLAYER\",\"clientVersion\":\"2.20260724.01.00\",\"osName\":\"Windows\",\"osVersion\":\"10.0\",\"originalUrl\":\"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0%3B%3Borigin%3Dhttp%3A%2F%2Flocalhost%3A3010%3B\u0026controls=0\u0026playsinline=1\",\"platform\":\"DESKTOP\",\"clientFormFactor\":\"UNKNOWN_FORM_FACTOR\",\"configInfo\":{\"appInstallData\":\"CM3Sm9MGEParsAUQABD58tEcEODq0RwQx43SHBC9mbAFEI6Q0RwQmY2xBRDJ9oATEN68zhwQrtbPHBCIkNEcELW1gBMQ4IKAExCKh7giEPyyzhwQibDOHBC8pNAcEInk0RwQnYa4IhCL988cELnw0RwQg4e4IhCHrM4cEOn40RwQ4LfRHBCBzc4cEL6KsAUQhuGAExCvhs8cELjkzhwQ9vfRHBDM364FEL6E0RwQle_RHBCkqdEcELb4gBMQyvuAExDa984cEPDe0RwQwY_QHBCfz4ATEL22rgUQttvRHBDH_IATEJ3QsAUQ8bTQHBD06dEcKmhDQU1TU1JWQy1acS1ETWVVRXBVQ25BNzVGWEtqQnVFV3FOVVB5QU1NM3czY0J0Z0c3Z1QydmVrTE1xQ3NCQU9RcmdQN0pyYmtCdVNGRjlETUJzU1NCY3M5eFNmWjFRWGNMT1pHSFFjPTAA\"},\"browserName\":\"Firefox\",\"browserVersion\":\"134.0\",\"acceptHeader\":\"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\",\"deviceExperimentId\":\"ChxOelkyTnpBM01Ua3pORFF6TURrMU1UQTROdz09EM3Sm9MGGM3Sm9MG\",\"rolloutToken\":\"CMvJu8mFt4_c-AEQ1P-n64zylQMY1P-n64zylQM%3D\",\"screenWidthPoints\":1276,\"screenHeightPoints\":716,\"screenPixelDensity\":1,\"screenDensityFloat\":1,\"utcOffsetMinutes\":0,\"userInterfaceTheme\":\"USER_INTERFACE_THEME_LIGHT\",\"applicationState\":\"ACTIVE\",\"timeZone\":\"UTC\",\"playerType\":\"UNIPLAYER\",\"tvAppInfo\":{\"livingRoomAppMode\":\"LIVING_ROOM_APP_MODE_UNSPECIFIED\"},\"clientScreen\":\"EMBED\"},\"user\":{\"lockedSafetyMode\":false},\"request\":{\"useSsl\":true,\"internalExperimentFlags\":[],\"consistencyTokenJars\":[]},\"thirdParty\":{\"embeddedPlayerContext\":{\"embeddedPlayerEncryptedContext\":\"ACmblBU0aBXQi20o-Eke7RaKTmpjGen3zKesHHyAAmy-NOyw9dsI_ghbLhFZn1JhZa_QbMVlmzpUk8FOFaZkyOeRjAPksjca6gmnU7SBPizt3abVRwYVyiVl3d_bURDXnJ2SgJ4aYg\",\"ancestorOriginsSupported\":false,\"ancestorOrigins\":[\"https://crystal-exploits.org\"],\"autoplayBrowserPolicy\":\"AUTOPLAY_BROWSER_POLICY_ALLOWED_MUTED\",\"autoplayIntended\":true,\"autoplayStatus\":\"AUTOPLAY_STATUS_UNAVAILABLE\"},\"embedUrl\":\"https://crystal-exploits.org/\"},\"clientScreenNonce\":\"1IOQ2NGxg4PFnzNe\",\"adSignalsInfo\":{\"params\":[{\"key\":\"dt\",\"value\":\"1785129294013\"},{\"key\":\"flash\",\"value\":\"0\"},{\"key\":\"frm\",\"value\":\"2\"},{\"key\":\"u_tz\",\"value\":\"0\"},{\"key\":\"u_his\",\"value\":\"2\"},{\"key\":\"u_h\",\"value\":\"1024\"},{\"key\":\"u_w\",\"value\":\"1280\"},{\"key\":\"u_ah\",\"value\":\"1024\"},{\"key\":\"u_aw\",\"value\":\"1280\"},{\"key\":\"u_cd\",\"value\":\"24\"},{\"key\":\"bc\",\"value\":\"31\"},{\"key\":\"bih\",\"value\":\"-12245933\"},{\"key\":\"biw\",\"value\":\"-12245933\"},{\"key\":\"brdim\",\"value\":\"0,0,0,0,1280,0,1280,1024,1276,716\"},{\"key\":\"vis\",\"value\":\"1\"},{\"key\":\"wgl\",\"value\":\"true\"},{\"key\":\"ca_type\",\"value\":\"image\"}]},\"clickTracking\":{\"clickTrackingParams\":\"CAAQu2kiEwijw-brjPKVAxXjt_QHHbgyGUXKAQQmHhPY\"},\"activePlayers\":[{\"playerContextParams\":\"Q0FFU0FnZ0M=\"}]},\"videoId\":\"dk9uNWPP7EA\",\"racyCheckOk\":false,\"contentCheckOk\":false,\"autonavState\":\"STATE_NONE\",\"serializedThirdPartyEmbedConfig\":\"{\\\"hideInfoBar\\\":true,\\\"disableRelatedVideos\\\":true}\",\"showContentOwnerOnly\":true,\"playbackContext\":{\"encryptedHostFlags\":\"ACmblBWgK3JDlSasyJwhTl4_cWr1GTV3ckm5JraCIlV1zfiYXqMDvGecg9Mr8AHE0B4pNi5nUi4gkKZCAB8ERUiHacJTyu8aUZEHtEl5KM4-IWF_B0U5gZAAVGHSNPGsW9VC\"}}"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: br\r\ndate: Mon, 27 Jul 2026 05:14:54 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 1694\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\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":7243,"size_decoded":2046,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"aafd72c06412086026eaf5708cca3fe0","sha1":"962658e4ecac12ebd524bcdee2a558dd271649f2","sha256":"baf016618824f1ff22989ad168ff355b9e1f6767c987815214c4b3220ef8bae0","sha512":"6cb488e64f69ceb9de875ae35e64e1977b3f43c08765db7d647ac864162a521acc72be6fcf59c1762e72e36b00cdc3e702f595c35edfd9dc3d6fe8efbfa9837d","ssdeep":"192:80UdKsdEV+1EDMsRMs1wEde0hwhU1QgQsRMs1cxvx7qsRMs1wvx7H:dKMYWLLJht6grcxvxVwvxD","tlshash":"71e187697144faff0788e182e04fdc3b3979721593c858a59ac97ed847efe2c68190c6","first_seen":"2026-07-27T05:15:36.97434Z","last_seen":"2026-07-27T05:15:36.97434Z","times_seen":1,"resource_available":false,"data":"eyJyZXNwb25zZUNvbnRleHQiOnsic2VydmljZVRyYWNraW5nUGFyYW1zIjpbeyJzZXJ2aWNlIjoiQ1NJIiwicGFyYW1zIjpbeyJrZXkiOiJjIiwidmFsdWUiOiJXRUJfRU1CRURERURfUExBWUVSIn0seyJrZXkiOiJjdmVyIiwidmFsdWUiOiIyLjIwMjYwNzI0LjAxLjAwIn0seyJrZXkiOiJ5dF9saSIsInZhbHVlIjoiMCJ9LHsia2V5IjoiR2V0V2F0Y2hQYWdlX3JpZCIsInZhbHVlIjoiMHgwMTIxYWVkOTkzZDQyYTkwIn1dfSx7InNlcnZpY2UiOiJHRkVFREJBQ0siLCJwYXJhbXMiOlt7ImtleSI6ImxvZ2dlZF9pbiIsInZhbHVlIjoiMCJ9XX0seyJzZXJ2aWNlIjoiR1VJREVEX0hFTFAiLCJwYXJhbXMiOlt7ImtleSI6ImxvZ2dlZF9pbiIsInZhbHVlIjoiMCJ9XX0seyJzZXJ2aWNlIjoiRUNBVENIRVIiLCJwYXJhbXMiOlt7ImtleSI6ImNsaWVudC52ZXJzaW9uIiwidmFsdWUiOiIyLjIwMjYwNzI0In0seyJrZXkiOiJjbGllbnQubmFtZSIsInZhbHVlIjoiV0VCX0VNQkVEREVEX1BMQVlFUiJ9XX1dLCJyZXNwb25zZUlkIjoiSWhNSXZaTHM2NHp5bFFNVlRWR1JCUjB5VVRwaCIsIndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGEiOnsiaGFzRGVjb3JhdGVkIjp0cnVlfX0sImN1cnJlbnRWaWRlb0VuZHBvaW50Ijp7ImNsaWNrVHJhY2tpbmdQYXJhbXMiOiJDQUFRZzJjaUV3aTlrdXpyalBLVkF4Vk5VWkVGSFRKUk9tSEtBUVFtSGhQWSIsImNvbW1hbmRNZXRhZGF0YSI6eyJ3ZWJDb21tYW5kTWV0YWRhdGEiOnsidXJsIjoiL3dhdGNoP3Y9ZGs5dU5XUFA3RUEiLCJ3ZWJQYWdlVHlwZSI6IldFQl9QQUdFX1RZUEVfV0FUQ0giLCJyb290VmUiOjM4MzJ9fSwid2F0Y2hFbmRwb2ludCI6eyJ2aWRlb0lkIjoiZGs5dU5XUFA3RUEifX0sInRyYWNraW5nUGFyYW1zIjoiQ0FBUWcyY2lFd2k5a3V6cmpQS1ZBeFZOVVpFRkhUSlJPbUhLQVFRbUhoUFkiLCJwbGF5ZXJPdmVybGF5cyI6eyJwbGF5ZXJPdmVybGF5UmVuZGVyZXIiOnsiZW5kU2NyZWVuIjp7IndhdGNoTmV4dEVuZFNjcmVlblJlbmRlcmVyIjp7InRpdGxlIjp7InJ1bnMiOlt7InRleHQiOiJZb3UgbWF5IGFsc28gbGlrZS4uLiJ9XX0sInRyYWNraW5nUGFyYW1zIjoiQ0E0US1sd2lFd2k5a3V6cmpQS1ZBeFZOVVpFRkhUSlJPbUU9In19LCJzaGFyZUJ1dHRvbiI6eyJidXR0b25SZW5kZXJlciI6eyJzdHlsZSI6IlNUWUxFX09QQUNJVFkiLCJzaXplIjoiU0laRV9ERUZBVUxUIiwiaXNEaXNhYmxlZCI6ZmFsc2UsImljb24iOnsiaWNvblR5cGUiOiJMSU5LIn0sIm5hdmlnYXRpb25FbmRwb2ludCI6eyJjbGlja1RyYWNraW5nUGFyYW1zIjoiQ0FzUThGc2lFd2k5a3V6cmpQS1ZBeFZOVVpFRkhUSlJPbUhLQVFRbUhoUFkiLCJjb3B5VGV4dEVuZHBvaW50Ijp7InRleHQiOiJodHRwczovL3lvdXR1LmJlL2RrOXVOV1BQN0VBIiwic3VjY2Vzc0FjdGlvbnMiOlt7ImNsaWNrVHJhY2tpbmdQYXJhbXMiOiJDQXNROEZzaUV3aTlrdXpyalBLVkF4Vk5VWkVGSFRKUk9tSEtBUVFtSGhQWSIsIm9wZW5Qb3B1cEFjdGlvbiI6eyJwb3B1cCI6eyJub3RpZmljYXRpb25BY3Rpb25SZW5kZXJlciI6eyJyZXNwb25zZVRleHQiOnsicnVucyI6W3sidGV4dCI6IkxpbmsgY29waWVkIHRvIGNsaXBib2FyZCJ9XX0sInRyYWNraW5nUGFyYW1zIjoiQ0EwUXVXb2lFd2k5a3V6cmpQS1ZBeFZOVVpFRkhUSlJPbUU9In19LCJwb3B1cFR5cGUiOiJUT0FTVCJ9fV0sImZhaWx1cmVBY3Rpb25zIjpbeyJjbGlja1RyYWNraW5nUGFyYW1zIjoiQ0FzUThGc2lFd2k5a3V6cmpQS1ZBeFZOVVpFRkhUSlJPbUhLQVFRbUhoUFkiLCJvcGVuUG9wdXBBY3Rpb24iOnsicG9wdXAiOnsibm90aWZpY2F0aW9uQWN0aW9uUmVuZGVyZXIiOnsicmVzcG9uc2VUZXh0Ijp7InJ1bnMiOlt7InRleHQiOiJVbmFibGUgdG8gY29weSBsaW5rIHRvIGNsaXBib2FyZCJ9XX0sInRyYWNraW5nUGFyYW1zIjoiQ0F3UXVXb2lFd2k5a3V6cmpQS1ZBeFZOVVpFRkhUSlJPbUU9In19LCJwb3B1cFR5cGUiOiJUT0FTVCJ9fV19fSwiYWNjZXNzaWJpbGl0eSI6eyJsYWJlbCI6IkNvcHkgbGluayJ9LCJ0cmFja2luZ1BhcmFtcyI6IkNBc1E4RnNpRXdpOWt1enJqUEtWQXhWTlVaRUZIVEpST21FPSJ9fSwidmlkZW9EZXRhaWxzIjp7ImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyIjp7ImNoYW5uZWxUaHVtYm5haWwiOnsidGh1bWJuYWlscyI6W3sidXJsIjoiaHR0cHM6Ly95dDMuZ2dwaHQuY29tL3l0Yy9BSWRyb19tcGRGQS11c0g2bnJoYlBfWVhGd1BtUkpvNFJRQm5HcWFELXJCckNZRT1zODgtYy1rLWMweDAwZmZmZmZmLW5vLXJqIiwid2lkdGgiOjY4LCJoZWlnaHQiOjY4fV19LCJjb2xsYXBzZWRSZW5kZXJlciI6eyJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNDb2xsYXBzZWRSZW5kZXJlciI6eyJ0aXRsZSI6eyJydW5zIjpbeyJ0ZXh0IjoiQ29mZmVlIFNob3AgdGFibGV0IiwibmF2aWdhdGlvbkVuZHBvaW50Ijp7ImNsaWNrVHJhY2tpbmdQYXJhbXMiOiJDQW9RNDZJQ0loTUl2WkxzNjR6eWxRTVZUVkdSQlIweVVUcGh5Z0VFSmg0VDJBPT0iLCJjb21tYW5kTWV0YWRhdGEiOnsid2ViQ29tbWFuZE1ldGFkYXRhIjp7InVybCI6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZGs5dU5XUFA3RUEiLCJ3ZWJQYWdlVHlwZSI6IldFQl9QQUdFX1RZUEVfVU5LTk9XTiIsInJvb3RWZSI6ODM3Njl9fSwidXJsRW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1kazl1TldQUDdFQSIsInRhcmdldCI6IlRBUkdFVF9ORVdfV0lORE9XIn19fV19LCJzdWJ0aXRsZSI6eyJydW5zIjpbeyJ0ZXh0IjoiMzQwSyB2aWV3cyDigKIgMTcgY29tbWVudHMifV19LCJ0cmFja2luZ1BhcmFtcyI6IkNBb1E0NklDSWhNSXZaTHM2NHp5bFFNVlRWR1JCUjB5VVRwaCJ9fSwiZXhwYW5kZWRSZW5kZXJlciI6eyJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNFeHBhbmRlZFJlbmRlcmVyIjp7InRpdGxlIjp7InJ1bnMiOlt7InRleHQiOiJXYXluZSBKaW1tZXJzb24ifV19LCJzdWJ0aXRsZSI6eyJydW5zIjpbeyJ0ZXh0IjoiMTY1IHN1YnNjcmliZXJzIn1dfSwidHJhY2tpbmdQYXJhbXMiOiJDQWtRNUtJQ0loTUl2WkxzNjR6eWxRTVZUVkdSQlIweVVUcGgifX0sImNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCI6eyJjbGlja1RyYWNraW5nUGFyYW1zIjoiQ0FBUWcyY2lFd2k5a3V6cmpQS1ZBeFZOVVpFRkhUSlJPbUhLQVFRbUhoUFkiLCJjb21tYW5kTWV0YWRhdGEiOnsid2ViQ29tbWFuZE1ldGFkYXRhIjp7InVybCI6Ii9jaGFubmVsL1VDWDktVFRYWlUtQklzNnQzaDV1SVBCdyIsIndlYlBhZ2VUeXBlIjoiV0VCX1BBR0VfVFlQRV9VTktOT1dOIiwicm9vdFZlIjo4Mzc2OX19LCJ1cmxFbmRwb2ludCI6eyJ1cmwiOiIvY2hhbm5lbC9VQ1g5LVRUWFpVLUJJczZ0M2g1dUlQQnciLCJ0YXJnZXQiOiJUQVJHRVRfTkVXX1dJTkRPVyJ9fX19LCJzaG93U2hhcmVCdXR0b25TbWFsbHNjcmVlbiI6dHJ1ZSwic2hvd1NoYXJlQnV0dG9uRnVsbHNjcmVlbiI6dHJ1ZSwiZnVsbHNjcmVlbkVuZ2FnZW1lbnQiOnsiZnVsbHNjcmVlbkVuZ2FnZW1lbnRPdmVybGF5UmVuZGVyZXIiOnsidGl0bGUiOnsicnVucyI6W3sidGV4dCI6IkNvZmZlZSBTaG9wIHRhYmxldCJ9XX0sInRyYWNraW5nUGFyYW1zIjoiQ0FRUW5aWURJaE1JdlpMczY0enlsUU1WVFZHUkJSMHlVVHBoIiwiYWN0aW9uQmFyIjp7ImZ1bGxzY3JlZW5FbmdhZ2VtZW50QWN0aW9uQmFyUmVuZGVyZXIiOnsiYWN0aW9uQmFyQnV0dG9ucyI6W3sic2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXIiOnsiYnV0dG9uIjp7ImJ1dHRvblJlbmRlcmVyIjp7InN0eWxlIjoiU1RZTEVfT1BBQ0lUWSIsInNpemUiOiJTSVpFX0RFRkFVTFQiLCJpc0Rpc2FibGVkIjpmYWxzZSwiaWNvbiI6eyJpY29uVHlwZSI6IkxJTksifSwibmF2aWdhdGlvbkVuZHBvaW50Ijp7ImNsaWNrVHJhY2tpbmdQYXJhbXMiOiJDQVlROEZzaUV3aTlrdXpyalBLVkF4Vk5VWkVGSFRKUk9tSEtBUVFtSGhQWSIsImNvcHlUZXh0RW5kcG9pbnQiOnsidGV4dCI6Imh0dHBzOi8veW91dHUuYmUvZGs5dU5XUFA3RUEiLCJzdWNjZXNzQWN0aW9ucyI6W3siY2xpY2tUcmFja2luZ1BhcmFtcyI6IkNBWVE4RnNpRXdpOWt1enJqUEtWQXhWTlVaRUZIVEpST21IS0FRUW1IaFBZIiwib3BlblBvcHVwQWN0aW9uIjp7InBvcHVwIjp7Im5vdGlmaWNhdGlvbkFjdGlvblJlbmRlcmVyIjp7InJlc3BvbnNlVGV4dCI6eyJydW5zIjpbeyJ0ZXh0IjoiTGluayBjb3BpZWQgdG8gY2xpcGJvYXJkIn1dfSwidHJhY2tpbmdQYXJhbXMiOiJDQWdRdVdvaUV3aTlrdXpyalBLVkF4Vk5VWkVGSFRKUk9tRT0ifX0sInBvcHVwVHlwZSI6IlRPQVNUIn19XSwiZmFpbHVyZUFjdGlvbnMiOlt7ImNsaWNrVHJhY2tpbmdQYXJhbXMiOiJDQVlROEZzaUV3aTlrdXpyalBLVkF4Vk5VWkVGSFRKUk9tSEtBUVFtSGhQWSIsIm9wZW5Qb3B1cEFjdGlvbiI6eyJwb3B1cCI6eyJub3RpZmljYXRpb25BY3Rpb25SZW5kZXJlciI6eyJyZXNwb25zZVRleHQiOnsicnVucyI6W3sidGV4dCI6IlVuYWJsZSB0byBjb3B5IGxpbmsgdG8gY2xpcGJvYXJkIn1dfSwidHJhY2tpbmdQYXJhbXMiOiJDQWNRdVdvaUV3aTlrdXpyalBLVkF4Vk5VWkVGSFRKUk9tRT0ifX0sInBvcHVwVHlwZSI6IlRPQVNUIn19XX19LCJhY2Nlc3NpYmlsaXR5Ijp7ImxhYmVsIjoiQ29weSBsaW5rIn0sInRyYWNraW5nUGFyYW1zIjoiQ0FZUThGc2lFd2k5a3V6cmpQS1ZBeFZOVVpFRkhUSlJPbUU9In19fX1dLCJ0cmFja2luZ1BhcmFtcyI6IkNBVVF2OW9ESWhNSXZaTHM2NHp5bFFNVlRWR1JCUjB5VVRwaCJ9fX19LCJmdWxsc2NyZWVuUXVpY2tBY3Rpb25zQmFyIjp7InF1aWNrQWN0aW9uc1ZpZXdNb2RlbCI6eyJxdWlja0FjdGlvbnNCYXJCdXR0b25zIjpbeyJidXR0b25WaWV3TW9kZWwiOnsiaWNvbk5hbWUiOiJQTEFZTElTVFMiLCJhY2Nlc3NpYmlsaXR5VGV4dCI6IlNob3cgcGxheWxpc3QgdmlkZW9zIiwic3R5bGUiOiJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9NT05PIiwidHJhY2tpbmdQYXJhbXMiOiJDQU1ReUtVRUdBQWlFd2k5a3V6cmpQS1ZBeFZOVVpFRkhUSlJPbUU9Iiwic3RhdGUiOiJCVVRUT05fVklFV19NT0RFTF9TVEFURV9ESVNBQkxFRCJ9fV0sIndhdGNoT25Zb3V0dWJlQnV0dG9uIjp7IndhdGNoT25Zb3V0dWJlQnV0dG9uVmlld01vZGVsIjp7IndhdGNoT25ZdExhYmVsQnV0dG9uIjp7ImJ1dHRvblZpZXdNb2RlbCI6eyJvblRhcCI6eyJpbm5lcnR1YmVDb21tYW5kIjp7ImNsaWNrVHJhY2tpbmdQYXJhbXMiOiJDQUlReXZNRkloTUl2WkxzNjR6eWxRTVZUVkdSQlIweVVUcGh5Z0VFSmg0VDJBPT0iLCJjb21tYW5kTWV0YWRhdGEiOnsid2ViQ29tbWFuZE1ldGFkYXRhIjp7InVybCI6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZGs5dU5XUFA3RUEiLCJ3ZWJQYWdlVHlwZSI6IldFQl9QQUdFX1RZUEVfVU5LTk9XTiIsInJvb3RWZSI6ODM3Njl9fSwidXJsRW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1kazl1TldQUDdFQSIsInRhcmdldCI6IlRBUkdFVF9ORVdfV0lORE9XIn19fSwiYWNjZXNzaWJpbGl0eVRleHQiOiJXYXRjaCBvbiBZb3VUdWJlIiwic3R5bGUiOiJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9PVkVSTEFZX0RBUksiLCJ0cmFja2luZ1BhcmFtcyI6IkNBSVF5dk1GSWhNSXZaTHM2NHp5bFFNVlRWR1JCUjB5VVRwaCIsInR5cGUiOiJCVVRUT05fVklFV19NT0RFTF9UWVBFX1RFWFQiLCJidXR0b25TaXplIjoiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9MQVJHRSIsInRpdGxlRm9ybWF0dGVkIjp7ImNvbnRlbnQiOiJXYXRjaCBvbiIsInN0eWxlUnVucyI6W3sid2VpZ2h0TGFiZWwiOiJGT05UX1dFSUdIVF9USElOIn1dLCJhdHRhY2htZW50UnVucyI6W3sic3RhcnRJbmRleCI6OCwibGVuZ3RoIjowLCJlbGVtZW50Ijp7InR5cGUiOnsiaW1hZ2VUeXBlIjp7ImltYWdlIjp7InNvdXJjZXMiOlt7ImNsaWVudFJlc291cmNlIjp7ImltYWdlTmFtZSI6IndhdGVybWFyayJ9fV19fX0sInByb3BlcnRpZXMiOnsibGF5b3V0UHJvcGVydGllcyI6eyJoZWlnaHQiOnsidmFsdWUiOjIwLCJ1bml0IjoiRElNRU5TSU9OX1VOSVRfUE9JTlQifSwid2lkdGgiOnsidmFsdWUiOjkwLCJ1bml0IjoiRElNRU5TSU9OX1VOSVRfUE9JTlQifSwibWFyZ2luIjp7ImxlZnQiOnsidmFsdWUiOjV9fX19fSwiYWxpZ25tZW50IjoiQUxJR05NRU5UX1ZFUlRJQ0FMX0NFTlRFUiJ9XX19fSwieXRMb2dvT25seUJ1dHRvbiI6eyJidXR0b25WaWV3TW9kZWwiOnsib25UYXAiOnsiaW5uZXJ0dWJlQ29tbWFuZCI6eyJjbGlja1RyYWNraW5nUGFyYW1zIjoiQ0FFUTF0Y0VJaE1JdlpMczY0enlsUU1WVFZHUkJSMHlVVHBoeWdFRUpoNFQyQT09IiwiY29tbWFuZE1ldGFkYXRhIjp7IndlYkNvbW1hbmRNZXRhZGF0YSI6eyJ1cmwiOiJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWRrOXVOV1BQN0VBIiwid2ViUGFnZVR5cGUiOiJXRUJfUEFHRV9UWVBFX1VOS05PV04iLCJyb290VmUiOjgzNzY5fX0sInVybEVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZGs5dU5XUFA3RUEiLCJ0YXJnZXQiOiJUQVJHRVRfTkVXX1dJTkRPVyJ9fX0sImFjY2Vzc2liaWxpdHlUZXh0IjoiV2F0Y2ggb24gWW91VHViZSIsInN0eWxlIjoiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfTU9OTyIsInRyYWNraW5nUGFyYW1zIjoiQ0FFUTF0Y0VJaE1JdlpMczY0enlsUU1WVFZHUkJSMHlVVHBoIiwidHlwZSI6IkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVEVYVCIsImJ1dHRvblNpemUiOiJCVVRUT05fVklFV19NT0RFTF9TSVpFX0NPTVBBQ1QiLCJ0aXRsZUZvcm1hdHRlZCI6eyJjb250ZW50IjoiICIsImF0dGFjaG1lbnRSdW5zIjpbeyJzdGFydEluZGV4IjowLCJsZW5ndGgiOjAsImVsZW1lbnQiOnsidHlwZSI6eyJpbWFnZVR5cGUiOnsiaW1hZ2UiOnsic291cmNlcyI6W3siY2xpZW50UmVzb3VyY2UiOnsiaW1hZ2VOYW1lIjoid2F0ZXJtYXJrIn19XX19fSwicHJvcGVydGllcyI6eyJsYXlvdXRQcm9wZXJ0aWVzIjp7ImhlaWdodCI6eyJ2YWx1ZSI6MjAsInVuaXQiOiJESU1FTlNJT05fVU5JVF9QT0lOVCJ9LCJ3aWR0aCI6eyJ2YWx1ZSI6OTAsInVuaXQiOiJESU1FTlNJT05fVU5JVF9QT0lOVCJ9LCJtYXJnaW4iOnsibGVmdCI6eyJ2YWx1ZSI6NX19fX19LCJhbGlnbm1lbnQiOiJBTElHTk1FTlRfVkVSVElDQUxfQ0VOVEVSIn1dfX19fX19fX19fQ=="}},"time_used":219,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":219,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css?family=Poppins:400,500,600,700,900|Mirza:400,700\u0026subset=arabic","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.925Z","timestamp":1785129291925,"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=Poppins:400,500,600,700,900|Mirza:400,700\u0026subset=arabic 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://crystal-exploits.org/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\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 05:14:52 GMT\r\ndate: Mon, 27 Jul 2026 05:14:52 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":8917,"size_decoded":1574,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (649)","md5":"33fc09f481ccb91aa47920ea0d3bfadf","sha1":"aa38049f7ded26b6845074817c38c3ac22ac1f2e","sha256":"1da2b145a8c1fbc51bb7e7316d39734f1127c6c2f123d4afd8faf83ec2b432e6","sha512":"9111f2ae33d1247f2f1946806bf24a5b00d7840686b53916b29891f1ea36ea91e3fb0fa8c899dc14d186edd720f1cfac312629891364b7805181d62784b7e941","ssdeep":"192:PqCl3RkPUCl+qp+CKSe1rV3HwwVzzbKoaBk:rlAlm","tlshash":"9902cce1087e90447b831cc223ce7c37de0ea29574449438abfe0d8dada7c26636176d","first_seen":"2025-09-22T10:43:48.524829Z","last_seen":"2026-07-27T05:48:43.283337Z","times_seen":23,"resource_available":false,"data":"LyogYXJhYmljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTWlyemEnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9taXJ6YS92MTkvY28zSW1XbGlraU41RXRyZklzYUFzZy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDYwMC0wNkZGLCBVKzA3NTAtMDc3RiwgVSswODcwLTA4OEUsIFUrMDg5MC0wODkxLCBVKzA4OTctMDhFMSwgVSswOEUzLTA4RkYsIFUrMjAwQy0yMDBFLCBVKzIwMTAtMjAxMSwgVSsyMDRGLCBVKzJFNDEsIFUrRkI1MC1GREZGLCBVK0ZFNzAtRkU3NCwgVStGRTc2LUZFRkMsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMTBFQzItMTBFQzQsIFUrMTBFRkMtMTBFRkYsIFUrMUVFMDAtMUVFMDMsIFUrMUVFMDUtMUVFMUYsIFUrMUVFMjEtMUVFMjIsIFUrMUVFMjQsIFUrMUVFMjcsIFUrMUVFMjktMUVFMzIsIFUrMUVFMzQtMUVFMzcsIFUrMUVFMzksIFUrMUVFM0IsIFUrMUVFNDIsIFUrMUVFNDcsIFUrMUVFNDksIFUrMUVFNEIsIFUrMUVFNEQtMUVFNEYsIFUrMUVFNTEtMUVFNTIsIFUrMUVFNTQsIFUrMUVFNTcsIFUrMUVFNTksIFUrMUVFNUIsIFUrMUVFNUQsIFUrMUVFNUYsIFUrMUVFNjEtMUVFNjIsIFUrMUVFNjQsIFUrMUVFNjctMUVFNkEsIFUrMUVFNkMtMUVFNzIsIFUrMUVFNzQtMUVFNzcsIFUrMUVFNzktMUVFN0MsIFUrMUVFN0UsIFUrMUVFODAtMUVFODksIFUrMUVFOEItMUVFOUIsIFUrMUVFQTEtMUVFQTMsIFUrMUVFQTUtMUVFQTksIFUrMUVFQUItMUVFQkIsIFUrMUVFRjAtMUVFRjE7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTWlyemEnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9taXJ6YS92MTkvY28zSW1XbGlraU41RXRyVUlzYUFzZy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTWlyemEnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9taXJ6YS92MTkvY28zSW1XbGlraU41RXRyYUlzWS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGFyYWJpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01pcnphJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbWlyemEvdjE5L2NvM0ZtV2xpa2lONUV0SmhCOU82azZieG9nLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNjAwLTA2RkYsIFUrMDc1MC0wNzdGLCBVKzA4NzAtMDg4RSwgVSswODkwLTA4OTEsIFUrMDg5Ny0wOEUxLCBVKzA4RTMtMDhGRiwgVSsyMDBDLTIwMEUsIFUrMjAxMC0yMDExLCBVKzIwNEYsIFUrMkU0MSwgVStGQjUwLUZERkYsIFUrRkU3MC1GRTc0LCBVK0ZFNzYtRkVGQywgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxMEVDMi0xMEVDNCwgVSsxMEVGQy0xMEVGRiwgVSsxRUUwMC0xRUUwMywgVSsxRUUwNS0xRUUxRiwgVSsxRUUyMS0xRUUyMiwgVSsxRUUyNCwgVSsxRUUyNywgVSsxRUUyOS0xRUUzMiwgVSsxRUUzNC0xRUUzNywgVSsxRUUzOSwgVSsxRUUzQiwgVSsxRUU0MiwgVSsxRUU0NywgVSsxRUU0OSwgVSsxRUU0QiwgVSsxRUU0RC0xRUU0RiwgVSsxRUU1MS0xRUU1MiwgVSsxRUU1NCwgVSsxRUU1NywgVSsxRUU1OSwgVSsxRUU1QiwgVSsxRUU1RCwgVSsxRUU1RiwgVSsxRUU2MS0xRUU2MiwgVSsxRUU2NCwgVSsxRUU2Ny0xRUU2QSwgVSsxRUU2Qy0xRUU3MiwgVSsxRUU3NC0xRUU3NywgVSsxRUU3OS0xRUU3QywgVSsxRUU3RSwgVSsxRUU4MC0xRUU4OSwgVSsxRUU4Qi0xRUU5QiwgVSsxRUVBMS0xRUVBMywgVSsxRUVBNS0xRUVBOSwgVSsxRUVBQi0xRUVCQiwgVSsxRUVGMC0xRUVGMTsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNaXJ6YSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21pcnphL3YxOS9jbzNGbVdsaWtpTjVFdEpoQjlPeGs2YnhvZy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTWlyemEnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9taXJ6YS92MTkvY28zRm1XbGlraU41RXRKaEI5T19rNlkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBkZXZhbmFnYXJpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUV5cDhrdjhKSGdGVnJKSmJlY21ORS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDkwMC0wOTdGLCBVKzFDRDAtMUNGOSwgVSsyMDBDLTIwMEQsIFUrMjBBOCwgVSsyMEI5LCBVKzIwRjAsIFUrMjVDQywgVStBODMwLUE4MzksIFUrQThFMC1BOEZGLCBVKzExQjAwLTExQjA5Owp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlFeXA4a3Y4SkhnRlZySkpuZWNtTkUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlFeXA4a3Y4SkhnRlZySkpmZWNnLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEdUOVoxMWxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMR1Q5WjFKbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEdUOVoxeGxGUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGRldmFuYWdhcmkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxFajZaMTFsRmMtSy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDkwMC0wOTdGLCBVKzFDRDAtMUNGOSwgVSsyMDBDLTIwMEQsIFUrMjBBOCwgVSsyMEI5LCBVKzIwRjAsIFUrMjVDQywgVStBODMwLUE4MzksIFUrQThFMC1BOEZGLCBVKzExQjAwLTExQjA5Owp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEVqNloxSmxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxFajZaMXhsRlEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBkZXZhbmFnYXJpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMQ3o3WjExbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5MDAtMDk3RiwgVSsxQ0QwLTFDRjksIFUrMjAwQy0yMDBELCBVKzIwQTgsIFUrMjBCOSwgVSsyMEYwLCBVKzI1Q0MsIFUrQTgzMC1BODM5LCBVK0E4RTAtQThGRiwgVSsxMUIwMC0xMUIwOTsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxDejdaMUpsRmMtSy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMQ3o3WjF4bEZRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEJUNVoxMWxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMQlQ1WjFKbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEJUNVoxeGxGUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Cg=="}},"time_used":93,"timings":{"blocked":-1,"dns":2,"connect":17,"send":0,"wait":35,"receive":0,"ssl":38},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/js/script.min.js","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.944Z","timestamp":1785129291944,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /js/script.min.js HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Wed, 04 May 2022 16:05:14 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 4520\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":53227,"size_decoded":4757,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"32edc421c412f712b3fc52e9feadf901","sha1":"57dc8f361e4a4bb9b00d364847588fde311218cf","sha256":"3c1d996eef14611bcb5d3c41592a982c85b6afee8cb232f3a5003aac02c013f4","sha512":"0e5743642d5ce9e384fce9ef5e196ff3850e4c33eb62b1b5f100c74d6201af83bf6fa18e4665fe5afa54b3eeae323790105b0ae9ac80ef251b6b404af4036a6d","ssdeep":"1536:rSO+VRNyFnTyFYaRNyFBMyFVTyFR7NyaRnyFJVTyFNCshRny01AfCEhtnmQqyFsl:wJV7VroDq","tlshash":"0f33ff0e64b01062465ba5764e1a4f01e671854f9e9abc30bf8d1b946f0f00f66f7bee","first_seen":"2025-09-22T10:43:48.593757Z","last_seen":"2026-07-27T05:48:43.297624Z","times_seen":21,"resource_available":true,"data":"ISBmdW5jdGlvbihsKSB7CiAgICAidXNlIHN0cmljdCI7CiAgICB2YXIgcywgYSwgZSA9IGwod2luZG93KS53aWR0aCgpOwogICAgbCgiLmJnX2ltYWdlX2hvbGRlciIpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGUgPSBsKHRoaXMpLAogICAgICAgICAgICBzID0gZS5jaGlsZHJlbigpLmF0dHIoInNyYyIpOwogICAgICAgIGUuY3NzKHsKICAgICAgICAgICAgImJhY2tncm91bmQtaW1hZ2UiOiAidXJsKCIgKyBzICsgIikiLAogICAgICAgICAgICBvcGFjaXR5OiAiMSIKICAgICAgICB9KS5jaGlsZHJlbigpLmF0dHIoImFsdCIsIHMpCiAgICB9KSwgZSA8IDk5MiAmJiAocyA9ICIubmF2LWl0ZW0uZHJvcGRvd24gLm5hdi1saW5rIiwgbCgiLm5hdmJhciAiICsgKGEgPSAiLm1lZ2EtbWVudSwuZHJvcGRvd24tbWVudSIpKS5zbGlkZVVwKCksIGwocykucmVtb3ZlQXR0cigiZGF0YS10b2dnbGUiKSwgbCgiLm5hdmJhciAiICsgcykub24oImNsaWNrIiwgZnVuY3Rpb24oZSkgewogICAgICAgIGUucHJldmVudERlZmF1bHQoKSwgbCh0aGlzKS50b2dnbGVDbGFzcygiYWN0aXZlIikuc2libGluZ3MoYSkuc2xpZGVUb2dnbGUoKS5wYXJlbnQoKS5zaWJsaW5ncygiLmRyb3Bkb3duIikuY2hpbGRyZW4oYSkuc2xpZGVVcCgpLnNpYmxpbmdzKHMpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKQogICAgfSkpLCBsKCJpbWcuc3ZnIikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgYSA9IGwodGhpcyksCiAgICAgICAgICAgIHQgPSBhLmF0dHIoImlkIiksCiAgICAgICAgICAgIGkgPSBhLmF0dHIoImNsYXNzIiksCiAgICAgICAgICAgIGUgPSBhLmF0dHIoInNyYyIpOwogICAgICAgIGwuZ2V0KGUsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgdmFyIHMgPSBqUXVlcnkoZSkuZmluZCgic3ZnIik7CiAgICAgICAgICAgIHZvaWQgMCAhPT0gdCAmJiAocyA9IHMuYXR0cigiaWQiLCB0KSksIHZvaWQgMCAhPT0gaSAmJiAocyA9IHMuYXR0cigiY2xhc3MiLCBpICsgIiByZXBsYWNlZC1zdmciKSksIHMgPSBzLnJlbW92ZUF0dHIoInhtbG5zOmEiKSwgYS5yZXBsYWNlV2l0aChzKQogICAgICAgIH0sICJ4bWwiKQogICAgfSksIGwoIi5jYXJvdXNlbC1vbmUiKS5vd2xDYXJvdXNlbCh7CiAgICAgICAgaXRlbXM6IDMsCiAgICAgICAgbWFyZ2luOiAzMCwKICAgICAgICBuYXY6ICExLAogICAgICAgIGRvdHM6ICEwLAogICAgICAgIGRvdHNDbGFzczogIm93bC1kb3RzIGRvdC1jaXJjbGUiLAogICAgICAgIHJlc3BvbnNpdmU6IHsKICAgICAgICAgICAgMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgNjAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMgogICAgICAgICAgICB9LAogICAgICAgICAgICAxZTM6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAzCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgbCgiLmNhcm91c2VsLXR3byIpLm93bENhcm91c2VsKHsKICAgICAgICBpdGVtczogMywKICAgICAgICBtYXJnaW46IDMwLAogICAgICAgIG5hdjogITEsCiAgICAgICAgZG90czogITAsCiAgICAgICAgZG90c0NsYXNzOiAib3dsLWRvdHMgZG90LWNpcmNsZSIsCiAgICAgICAgcmVzcG9uc2l2ZTogewogICAgICAgICAgICAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9LAogICAgICAgICAgICA2MDA6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAyCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDFlMzogewogICAgICAgICAgICAgICAgaXRlbXM6IDMKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pLCBsKCIuY2Fyb3VzZWwtdGhyZWUiKS5vd2xDYXJvdXNlbCh7CiAgICAgICAgaXRlbXM6IDEsCiAgICAgICAgbmF2OiAhMCwKICAgICAgICBuYXZUZXh0OiBbJzxpIGNsYXNzPSJsYSBsYS1hbmdsZS1sZWZ0Ij48L2k+JywgJzxpIGNsYXNzPSJsYSBsYS1hbmdsZS1yaWdodCI+PC9pPiddLAogICAgICAgIG5hdkNvbnRhaW5lckNsYXNzOiAibmF2LWNpcmNsZSIsCiAgICAgICAgZG90czogITEsCiAgICAgICAgcmVzcG9uc2l2ZTogewogICAgICAgICAgICAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9LAogICAgICAgICAgICA2MDA6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDFlMzogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pLCBsKCIuY2Fyb3VzZWwtZm91ciIpLm93bENhcm91c2VsKHsKICAgICAgICBpdGVtczogMSwKICAgICAgICBuYXY6ICExLAogICAgICAgIGRvdHM6ICEwLAogICAgICAgIGRvdHNDbGFzczogIm93bC1kb3RzIGRvdC1jaXJjbGUiLAogICAgICAgIHJlc3BvbnNpdmU6IHsKICAgICAgICAgICAgMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgNjAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9LAogICAgICAgICAgICAxZTM6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgbCgiLnBvcnRmb2xpby1jYXJvdXNlbCIpLm93bENhcm91c2VsKHsKICAgICAgICBpdGVtczogNCwKICAgICAgICBuYXY6ICExLAogICAgICAgIGRvdHM6ICEwLAogICAgICAgIGRvdHNDbGFzczogIm93bC1kb3RzIGRvdC1jaXJjbGUiLAogICAgICAgIHJlc3BvbnNpdmU6IHsKICAgICAgICAgICAgMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgNTUwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMgogICAgICAgICAgICB9LAogICAgICAgICAgICA3Njg6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAzCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDFlMzogewogICAgICAgICAgICAgICAgaXRlbXM6IDQKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pLCBsKCIuaW1hZ2UtY2Fyb3VzZWwtb25lIikub3dsQ2Fyb3VzZWwoewogICAgICAgIGl0ZW1zOiAxLAogICAgICAgIG5hdjogITAsCiAgICAgICAgbmF2VGV4dDogWyc8aSBjbGFzcz0ibGEgbGEtYW5nbGUtbGVmdCI+PC9pPicsICc8aSBjbGFzcz0ibGEgbGEtYW5nbGUtcmlnaHQiPjwvaT4nXSwKICAgICAgICBuYXZDb250YWluZXJDbGFzczogIm5hdi1jaXJjbGUiLAogICAgICAgIGRvdHM6ICExLAogICAgICAgIHJlc3BvbnNpdmU6IHsKICAgICAgICAgICAgMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgNjAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9LAogICAgICAgICAgICAxZTM6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgbCgiLmltYWdlLWNhcm91c2VsLXR3byIpLm93bENhcm91c2VsKHsKICAgICAgICBpdGVtczogMSwKICAgICAgICBuYXY6ICExLAogICAgICAgIGRvdHM6ICEwLAogICAgICAgIHJlc3BvbnNpdmU6IHsKICAgICAgICAgICAgMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgNjAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9LAogICAgICAgICAgICAxZTM6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgbCgiLnRlc3RpbW9uaWFsLWNhcm91c2VsLW9uZSIpLm93bENhcm91c2VsKHsKICAgICAgICBpdGVtczogMSwKICAgICAgICBuYXY6ICExLAogICAgICAgIGRvdHM6ICEwLAogICAgICAgIGRvdHNDbGFzczogIm93bC1kb3RzIGRvdC1jaXJjbGUiLAogICAgICAgIHJlc3BvbnNpdmU6IHsKICAgICAgICAgICAgMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgNjAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9LAogICAgICAgICAgICAxZTM6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgbCgiLnRlc3RpbW9uaWFsLWNhcm91c2VsLXR3byIpLm93bENhcm91c2VsKHsKICAgICAgICBpdGVtczogMiwKICAgICAgICBtYXJnaW46IDMwLAogICAgICAgIG5hdjogITEsCiAgICAgICAgZG90czogITAsCiAgICAgICAgZG90c0NsYXNzOiAib3dsLWRvdHMgZG90LWNpcmNsZSBkb3QtbGlnaHQiLAogICAgICAgIHJlc3BvbnNpdmU6IHsKICAgICAgICAgICAgMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgNzY4OiB7CiAgICAgICAgICAgICAgICBpdGVtczogMgogICAgICAgICAgICB9LAogICAgICAgICAgICAxZTM6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAyCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgbCgiLnRlc3RpbW9uaWFsLWNhcm91c2VsLXRocmVlIikub3dsQ2Fyb3VzZWwoewogICAgICAgIGl0ZW1zOiAzLAogICAgICAgIG5hdjogITAsCiAgICAgICAgbmF2VGV4dDogWyc8aSBjbGFzcz0ibGEgbGEtYW5nbGUtbGVmdCI+PC9pPicsICc8aSBjbGFzcz0ibGEgbGEtYW5nbGUtcmlnaHQiPjwvaT4nXSwKICAgICAgICBuYXZDb250YWluZXJDbGFzczogIm5hdi1jaXJjbGUiLAogICAgICAgIGRvdHM6ICExLAogICAgICAgIHJlc3BvbnNpdmU6IHsKICAgICAgICAgICAgMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgNjAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9LAogICAgICAgICAgICA5OTI6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAzCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgbCgiLnRlc3RpbW9uaWFsLWNhcm91c2VsLWZvdXIiKS5vd2xDYXJvdXNlbCh7CiAgICAgICAgaXRlbXM6IDEsCiAgICAgICAgbmF2OiAhMCwKICAgICAgICBuYXZUZXh0OiBbJzxpIGNsYXNzPSJsYSBsYS1hbmdsZS1sZWZ0Ij48L2k+JywgJzxpIGNsYXNzPSJsYSBsYS1hbmdsZS1yaWdodCI+PC9pPiddLAogICAgICAgIG5hdkNvbnRhaW5lckNsYXNzOiAibmF2LWNpcmNsZSBuYXYtY2lyY2xlLS1saWdodCIsCiAgICAgICAgZG90czogITEsCiAgICAgICAgcmVzcG9uc2l2ZTogewogICAgICAgICAgICAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9LAogICAgICAgICAgICA2MDA6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDFlMzogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pLCBsKCIudGVzdGltb25pYWwtY2Fyb3VzZWwtZml2ZSIpLm93bENhcm91c2VsKHsKICAgICAgICBpdGVtczogMiwKICAgICAgICBuYXY6ICExLAogICAgICAgIGxvb3A6ICExLAogICAgICAgIGRvdHM6ICExLAogICAgICAgIGF1dG9wbGF5OiAhMSwKICAgICAgICByZXNwb25zaXZlOiB7CiAgICAgICAgICAgIDA6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDk5MjogewogICAgICAgICAgICAgICAgaXRlbXM6IDIKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pLCBsKCIudGVzdGltb25pYWwtY2Fyb3VzZWwtc2l4Iikub3dsQ2Fyb3VzZWwoewogICAgICAgIGl0ZW1zOiAxLAogICAgICAgIG5hdjogITEsCiAgICAgICAgZG90czogITAsCiAgICAgICAgZG90c0NsYXNzOiAib3dsLWRvdHMgZG90LWNpcmNsZSBkb3Qtc2Vjb25kYXJ5IiwKICAgICAgICByZXNwb25zaXZlOiB7CiAgICAgICAgICAgIDA6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDYwMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgMWUzOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSksIGwoIi50ZWFtLWNhcm91c2VsLW9uZSIpLm93bENhcm91c2VsKHsKICAgICAgICBpdGVtczogMywKICAgICAgICBuYXY6ICEwLAogICAgICAgIG5hdlRleHQ6IFsnPGkgY2xhc3M9ImxhIGxhLWFuZ2xlLWxlZnQiPjwvaT4nLCAnPGkgY2xhc3M9ImxhIGxhLWFuZ2xlLXJpZ2h0Ij48L2k+J10sCiAgICAgICAgbmF2Q29udGFpbmVyQ2xhc3M6ICJuYXYtc3F1YXJlIG5hdi1zcXVhcmUtZGFyayIsCiAgICAgICAgZG90czogITEsCiAgICAgICAgcmVzcG9uc2l2ZTogewogICAgICAgICAgICAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9LAogICAgICAgICAgICA3Njg6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAyCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDFlMzogewogICAgICAgICAgICAgICAgaXRlbXM6IDMKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pLCBsKCIudGVhbS1jYXJvdXNlbC10d28iKS5vd2xDYXJvdXNlbCh7CiAgICAgICAgaXRlbXM6IDQsCiAgICAgICAgbWFyZ2luOiAzMCwKICAgICAgICBuYXY6ICExLAogICAgICAgIGRvdHM6ICEwLAogICAgICAgIGRvdHNDbGFzczogIm93bC1kb3RzIGRvdC1jaXJjbGUiLAogICAgICAgIHJlc3BvbnNpdmU6IHsKICAgICAgICAgICAgMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgNjAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMgogICAgICAgICAgICB9LAogICAgICAgICAgICA5OTI6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiA0CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgbCgiLnRlYW0tY2Fyb3VzZWwtdGhyZWUiKS5vd2xDYXJvdXNlbCh7CiAgICAgICAgaXRlbXM6IDEsCiAgICAgICAgbmF2OiAhMCwKICAgICAgICBuYXZUZXh0OiBbJzxpIGNsYXNzPSJsYSBsYS1hbmdsZS1sZWZ0Ij48L2k+JywgJzxpIGNsYXNzPSJsYSBsYS1hbmdsZS1yaWdodCI+PC9pPiddLAogICAgICAgIG5hdkNvbnRhaW5lckNsYXNzOiAibmF2LWNpcmNsZSBuYXYtY2lyY2xlLS1saWdodCIsCiAgICAgICAgZG90czogITEsCiAgICAgICAgcmVzcG9uc2l2ZTogewogICAgICAgICAgICAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9LAogICAgICAgICAgICA2MDA6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDk5MjogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pLCBsKCIubG9nby1jYXJvdXNlbC1vbmUiKS5vd2xDYXJvdXNlbCh7CiAgICAgICAgaXRlbXM6IDUsCiAgICAgICAgYXV0b3BsYXk6ICEwLAogICAgICAgIGxvb3A6ICEwLAogICAgICAgIG1hcmdpbjogMzAsCiAgICAgICAgbmF2OiAhMSwKICAgICAgICBkb3RzOiAhMSwKICAgICAgICByZXNwb25zaXZlOiB7CiAgICAgICAgICAgIDA6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDQ4MDogewogICAgICAgICAgICAgICAgaXRlbXM6IDIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgNzY4OiB7CiAgICAgICAgICAgICAgICBpdGVtczogMwogICAgICAgICAgICB9LAogICAgICAgICAgICA5OTI6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiA1CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgbCgiLmxvZ28tY2Fyb3VzZWwtdHdvIikub3dsQ2Fyb3VzZWwoewogICAgICAgIGl0ZW1zOiAyLAogICAgICAgIG1hcmdpbjogMzAsCiAgICAgICAgbmF2OiAhMSwKICAgICAgICBkb3RzOiAhMCwKICAgICAgICBkb3RzQ2xhc3M6ICJvd2wtZG90cyBkb3QtY2lyY2xlIiwKICAgICAgICByZXNwb25zaXZlOiB7CiAgICAgICAgICAgIDA6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDYwMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgMWUzOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMgogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSksIGwoIi5sb2dvLWNhcm91c2VsLXRocmVlIikub3dsQ2Fyb3VzZWwoewogICAgICAgIGl0ZW1zOiA1LAogICAgICAgIG1hcmdpbjogMzAsCiAgICAgICAgbmF2OiAhMCwKICAgICAgICBuYXZUZXh0OiBbJzxpIGNsYXNzPSJsYSBsYS1hbmdsZS1sZWZ0Ij48L2k+JywgJzxpIGNsYXNzPSJsYSBsYS1hbmdsZS1yaWdodCI+PC9pPiddLAogICAgICAgIG5hdkNvbnRhaW5lckNsYXNzOiAibmF2LXNxdWFyZSBuYXYtc3F1YXJlLWRhcmsiLAogICAgICAgIGRvdHM6ICExLAogICAgICAgIHJlc3BvbnNpdmU6IHsKICAgICAgICAgICAgMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgNjAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMwogICAgICAgICAgICB9LAogICAgICAgICAgICA5OTI6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiA1CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgbCgiLmxvZ28tY2Fyb3VzZWwtZm91ciIpLm93bENhcm91c2VsKHsKICAgICAgICBpdGVtczogNSwKICAgICAgICBhdXRvcGxheTogITAsCiAgICAgICAgbG9vcDogITAsCiAgICAgICAgbmF2OiAhMSwKICAgICAgICBkb3RzOiAhMSwKICAgICAgICByZXNwb25zaXZlOiB7CiAgICAgICAgICAgIDA6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDQ4MDogewogICAgICAgICAgICAgICAgaXRlbXM6IDMKICAgICAgICAgICAgfSwKICAgICAgICAgICAgNzY4OiB7CiAgICAgICAgICAgICAgICBpdGVtczogNAogICAgICAgICAgICB9LAogICAgICAgICAgICA5OTI6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiA1CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgbCgiLmxvZ28tY2Fyb3VzZWwtZGFyayIpLm93bENhcm91c2VsKHsKICAgICAgICBpdGVtczogNCwKICAgICAgICBuYXY6ICExLAogICAgICAgIGRvdHM6ICExLAogICAgICAgIGF1dG9wbGF5OiAhMCwKICAgICAgICByZXNwb25zaXZlOiB7CiAgICAgICAgICAgIDA6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDYwMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDMKICAgICAgICAgICAgfSwKICAgICAgICAgICAgMWUzOiB7CiAgICAgICAgICAgICAgICBpdGVtczogNAogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSksIGwoIi5ibG9nLWNhcm91c2VsLW9uZSIpLm93bENhcm91c2VsKHsKICAgICAgICBpdGVtczogMywKICAgICAgICBtYXJnaW46IDMwLAogICAgICAgIG5hdjogITEsCiAgICAgICAgZG90czogITAsCiAgICAgICAgZG90c0NsYXNzOiAib3dsLWRvdHMgZG90LWNpcmNsZSIsCiAgICAgICAgcmVzcG9uc2l2ZTogewogICAgICAgICAgICAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9LAogICAgICAgICAgICA2MDA6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAyCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDFlMzogewogICAgICAgICAgICAgICAgaXRlbXM6IDMKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pLCBsKCIuYmxvZy1jYXJvdXNlbC10d28iKS5vd2xDYXJvdXNlbCh7CiAgICAgICAgaXRlbXM6IDMsCiAgICAgICAgYXV0b3BsYXk6ICEwLAogICAgICAgIG1hcmdpbjogMzAsCiAgICAgICAgbmF2OiAhMSwKICAgICAgICBkb3RzOiAhMSwKICAgICAgICByZXNwb25zaXZlOiB7CiAgICAgICAgICAgIDA6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDc2ODogewogICAgICAgICAgICAgICAgaXRlbXM6IDIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgOTkyOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSksIGwoIi50d2l0dGVyLWZlZWRzLWNhcm91c2VsIikub3dsQ2Fyb3VzZWwoewogICAgICAgIGl0ZW1zOiAxLAogICAgICAgIGF1dG9wbGF5OiAhMCwKICAgICAgICBsb29wOiAhMCwKICAgICAgICBuYXY6ICEwLAogICAgICAgIG5hdlRleHQ6IFsnPGkgY2xhc3M9ImxhIGxhLWFuZ2xlLWxlZnQiPjwvaT4nLCAnPGkgY2xhc3M9ImxhIGxhLWFuZ2xlLXJpZ2h0Ij48L2k+J10sCiAgICAgICAgbmF2Q29udGFpbmVyQ2xhc3M6ICJuYXYtY2lyY2xlIG5hdi1jaXJjbGUtLWxpZ2h0ZW4iLAogICAgICAgIGRvdHM6ICExLAogICAgICAgIHJlc3BvbnNpdmU6IHsKICAgICAgICAgICAgMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgNjAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9LAogICAgICAgICAgICAxZTM6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgbCgiLnR3aXR0ZXItZmVlZHMtY2Fyb3VzZWwyIikub3dsQ2Fyb3VzZWwoewogICAgICAgIGl0ZW1zOiAxLAogICAgICAgIGF1dG9wbGF5OiAhMCwKICAgICAgICBsb29wOiAhMCwKICAgICAgICBuYXY6ICExLAogICAgICAgIGRvdHM6ICEwLAogICAgICAgIGRvdHNDbGFzczogIm93bC1kb3RzIGRvdC1jaXJjbGUiLAogICAgICAgIHJlc3BvbnNpdmU6IHsKICAgICAgICAgICAgMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgNjAwOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9LAogICAgICAgICAgICAxZTM6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KSwgbCgiLmltYWdlLXZpZXctY2Fyb3VzZWwiKS5vd2xDYXJvdXNlbCh7CiAgICAgICAgaXRlbXM6IDEsCiAgICAgICAgY2VudGVyOiAhMCwKICAgICAgICBsb29wOiAhMSwKICAgICAgICBuYXY6ICExLAogICAgICAgIGRvdHM6ICExLAogICAgICAgIFVSTGhhc2hMaXN0ZW5lcjogITAsCiAgICAgICAgc3RhcnRQb3NpdGlvbjogIiNpbWFnZTEiCiAgICB9KSwgbCgiLmFkZHJlc3Nlc19jYXJvdXNlbCIpLm93bENhcm91c2VsKHsKICAgICAgICBpdGVtczogNCwKICAgICAgICBkb3RzOiAhMCwKICAgICAgICByZXNwb25zaXZlOiB7CiAgICAgICAgICAgIDA6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDYwMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgMWUzOiB7CiAgICAgICAgICAgICAgICBpdGVtczogNAogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSksIGwoIi5pbnRyb19hcmVhOS1jYXJvdXNlbCIpLm93bENhcm91c2VsKHsKICAgICAgICBpdGVtczogMSwKICAgICAgICBkb3RzOiAhMCwKICAgICAgICBhbmltYXRlSW46ICJmYWRlSW4iLAogICAgICAgIGFuaW1hdGVPdXQ6ICJmYWRlT3V0IiwKICAgICAgICByZXNwb25zaXZlOiB7CiAgICAgICAgICAgIDA6IHsKICAgICAgICAgICAgICAgIGl0ZW1zOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIDYwMDogewogICAgICAgICAgICAgICAgaXRlbXM6IDEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgMWUzOiB7CiAgICAgICAgICAgICAgICBpdGVtczogMQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSksIGwoJ1tkYXRhLXRvZ2dsZT0idG9vbHRpcCJdJykudG9vbHRpcCgpOwogICAgdmFyIHQgPSBsKCIjbnVtYmVySW5wdXQiKTsKICAgIGwoIi5wY291bnQiKS5vbigiY2xpY2siLCBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZSA9IHBhcnNlSW50KHQudmFsKCkpOwogICAgICAgICJwbHVzIiA9PT0gbCh0aGlzKS5kYXRhKCJvcGVyYXRpb24iKSA/IGlzTmFOKGUpID8gdC52YWwoMSkgOiB0LnZhbChlICsgMSkgOiAwIDwgZSAmJiB0LnZhbChlIC0gMSkKICAgIH0pLCBsKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgICAgICBsKCIuc2VsZWN0Ml9kZWZhdWx0Iikuc2VsZWN0Mih7CiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAiTXVsdGlwbGUgU2VsZWN0IiwKICAgICAgICAgICAgd2lkdGg6ICIxMDAlIiwKICAgICAgICAgICAgY29udGFpbmVyQ3NzQ2xhc3M6ICJmb3JtLWNvbnRyb2wiCiAgICAgICAgfSksIGwoIi5zZWxlY3QyX3RhZ2dlZCIpLnNlbGVjdDIoewogICAgICAgICAgICBtdWx0aXBsZTogITAsCiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAiU2VsZWN0IG9wdGlvbnMiLAogICAgICAgICAgICBjb250YWluZXJDc3NDbGFzczogImZvcm0tY29udHJvbCIKICAgICAgICB9KSwgbCgiLnNlbGVjdGlvbl93aXRoX2ljb24iKS5zZWxlY3QyKHsKICAgICAgICAgICAgdGVtcGxhdGVSZXN1bHQ6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBlLmlkID8gbCgiPHNwYW4+PHNwYW4gY2xhc3M9J2xhIGxhLSIgKyBlLmVsZW1lbnQudmFsdWUgKyAiJz48L3NwYW4+IiArIGUudGV4dCArICI8L3NwYW4+IikgOiBlLnRleHQKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29udGFpbmVyQ3NzQ2xhc3M6ICJmb3JtLWNvbnRyb2wiLAogICAgICAgICAgICBkcm9wZG93bkNzc0NsYXNzOiAiY3VzdG9tX3NlbGVjdF93aXRoX2ljb24iCiAgICAgICAgfSkKICAgIH0pLCBsKCIuY291bnRfdXAiKS5jb3VudGVyVXAoKSwgbCgiLmdpdmVfcmF0aW5nIikuYmFycmF0aW5nKHsKICAgICAgICB0aGVtZTogImZvbnRhd2Vzb21lLXN0YXJzIgogICAgfSksIGwoIiNiZ25kVmlkZW8iKS5ZVFBsYXllcigpLCBsKCIjc2xpZGVyLXJhbmdlMSIpLnNsaWRlcih7CiAgICAgICAgcmFuZ2U6ICEwLAogICAgICAgIG1pbjogMCwKICAgICAgICBtYXg6IDUwMCwKICAgICAgICB2YWx1ZXM6IFs3NSwgMzAwXSwKICAgICAgICBzbGlkZTogZnVuY3Rpb24oZSwgcykgewogICAgICAgICAgICBsKCIjYW1vdW50MSIpLnZhbCgiJCIgKyBzLnZhbHVlc1swXSArICIgLSAkIiArIHMudmFsdWVzWzFdKQogICAgICAgIH0KICAgIH0pLCBsKCIjYW1vdW50MSIpLnZhbCgiJCIgKyBsKCIjc2xpZGVyLXJhbmdlMSIpLnNsaWRlcigidmFsdWVzIiwgMCkgKyAiIC0gJCIgKyBsKCIjc2xpZGVyLXJhbmdlMSIpLnNsaWRlcigidmFsdWVzIiwgMSkpLCBsKCIjc2xpZGVyLXJhbmdlMiIpLnNsaWRlcih7CiAgICAgICAgcmFuZ2U6ICEwLAogICAgICAgIG1pbjogMCwKICAgICAgICBtYXg6IDUwMCwKICAgICAgICB2YWx1ZXM6IFs3NSwgMzAwXSwKICAgICAgICBzbGlkZTogZnVuY3Rpb24oZSwgcykgewogICAgICAgICAgICBsKCIjYW1vdW50MiIpLnZhbCgiJCIgKyBzLnZhbHVlc1swXSArICIgLSAkIiArIHMudmFsdWVzWzFdKQogICAgICAgIH0KICAgIH0pLCBsKCIjYW1vdW50MiIpLnZhbCgiJCIgKyBsKCIjc2xpZGVyLXJhbmdlMiIpLnNsaWRlcigidmFsdWVzIiwgMCkgKyAiIC0gJCIgKyBsKCIjc2xpZGVyLXJhbmdlMiIpLnNsaWRlcigidmFsdWVzIiwgMSkpLCBsKCIjdGV4dC1lZGl0b3IiKS50cnVtYm93eWcoKSwgbCgiLmNvdW50ZG93biIpLmNvdW50ZG93bigiMjAxOS8xMS8yNSIsIGZ1bmN0aW9uKGUpIHsKICAgICAgICBsKHRoaXMpLmh0bWwoZS5zdHJmdGltZSgiPGxpPjxzcGFuPiVEPC9zcGFuPiA8c3Bhbj5EYXlzPC9zcGFuPjwvbGk+ICA8bGk+PHNwYW4+JUg8L3NwYW4+IDxzcGFuPkhvdXJzPC9zcGFuPjwvbGk+ICA8bGk+PHNwYW4+JU08L3NwYW4+IDxzcGFuPk1pbnV0ZXM8L3NwYW4+PC9saT4gIDxsaT48c3Bhbj4lUzwvc3Bhbj4gPHNwYW4+U2Vjb25kczwvc3Bhbj48L2xpPiAiKSkKICAgIH0pLCBsKCIuc2VhcmNoX3RyaWdnZXIiKS5vbigiY2xpY2siLCBmdW5jdGlvbigpIHsKICAgICAgICBsKHRoaXMpLnRvZ2dsZUNsYXNzKCJsYS1zZWFyY2ggbGEtY2xvc2UiKSwgbCh0aGlzKS5wYXJlbnQoIi5zZWFyY2hfbW9kdWxlIikuY2hpbGRyZW4oIi5zZWFyY2hfYXJlYSIpLnRvZ2dsZUNsYXNzKCJhY3RpdmUiKQogICAgfSksIGwoIi52aWRlby1pZnJhbWUiKS5tYWduaWZpY1BvcHVwKHsKICAgICAgICB0eXBlOiAiaWZyYW1lIiwKICAgICAgICBpZnJhbWU6IHsKICAgICAgICAgICAgbWFya3VwOiAnPGRpdiBjbGFzcz0ibWZwLWlmcmFtZS1zY2FsZXIiPjxkaXYgY2xhc3M9Im1mcC1jbG9zZSI+PC9kaXY+PGlmcmFtZSBjbGFzcz0ibWZwLWlmcmFtZSIgZnJhbWVib3JkZXI9IjAiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT48L2Rpdj4nLAogICAgICAgICAgICBwYXR0ZXJuczogewogICAgICAgICAgICAgICAgeW91dHViZTogewogICAgICAgICAgICAgICAgICAgIGluZGV4OiAieW91dHViZS5jb20vIiwKICAgICAgICAgICAgICAgICAgICBpZDogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgcyA9IGUubWF0Y2goL1tcXD9cXCZddj0oW15cXD9cXCZdKykvKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHMgJiYgc1sxXSA/IHNbMV0gOiBudWxsCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBzcmM6ICIvL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8laWQlP3JlbD0wJmF1dG9wbGF5PTEiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgdmltZW86IHsKICAgICAgICAgICAgICAgICAgICBpbmRleDogInZpbWVvLmNvbS8iLAogICAgICAgICAgICAgICAgICAgIGlkOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzID0gZS5tYXRjaCgvKGh0dHBzPzpcL1wvKT8od3d3Lik/KHBsYXllci4pP3ZpbWVvLmNvbVwvKFthLXpdKlwvKSooWzAtOV17NiwxMX0pWz9dPy4qLyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzICYmIHNbNV0gPyBzWzVdIDogbnVsbAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgc3JjOiAiLy9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLyVpZCU/YXV0b3BsYXk9MSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgc3JjQWN0aW9uOiAiaWZyYW1lX3NyYyIKICAgICAgICB9CiAgICB9KSwgbCgiLmZpbHRlci1zb3J0IHVsIGxpIikub24oImNsaWNrIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgbCgiLmZpbHRlci1zb3J0IHVsIGxpIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLCBsKHRoaXMpLmFkZENsYXNzKCJhY3RpdmUiKQogICAgfSksIGwoIi5maWx0ZXItc29ydDIgdWwgbGkiKS5vbigiY2xpY2siLCBmdW5jdGlvbigpIHsKICAgICAgICBsKCIuZmlsdGVyLXNvcnQyIHVsIGxpIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLCBsKHRoaXMpLmFkZENsYXNzKCJhY3RpdmUiKQogICAgfSk7CiAgICB2YXIgaSA9IGwoIi5nb190b3AiKTsKICAgIGwod2luZG93KS5vbigic2Nyb2xsIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgMTE3IDwgbChkb2N1bWVudCkuc2Nyb2xsVG9wKCkgPyBpLmZhZGVJbig0MDApIDogaS5mYWRlT3V0KDQwMCkKICAgIH0pLCBpLm9uKCJjbGljayIsIGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiBsKCJodG1sLCBib2R5IikuYW5pbWF0ZSh7CiAgICAgICAgICAgIHNjcm9sbFRvcDogMAogICAgICAgIH0sIDgwMCksICExCiAgICB9KSwgbCgiLmN1c3RvbS11cGxvYWQiKS5jaGFuZ2UoZnVuY3Rpb24oKSB7CiAgICAgICAgbCgiLmZpbGUtbmFtZSIpLnRleHQodGhpcy5maWxlc1swXS5uYW1lKQogICAgfSkKfShqUXVlcnkpOwohIGZ1bmN0aW9uKCkgewogICAgInVzZSBzdHJpY3QiOwoKICAgIGZ1bmN0aW9uIGUoZSwgdCwgbCwgcikgewogICAgICAgIHZhciBzID0gbmV3IGdvb2dsZS5tYXBzLkxhdExuZyh0LCBsKSwKICAgICAgICAgICAgbyA9IHsKICAgICAgICAgICAgICAgIGNlbnRlcjogcywKICAgICAgICAgICAgICAgIHpvb206IDEzLAogICAgICAgICAgICAgICAgc2Nyb2xsd2hlZWw6ICExLAogICAgICAgICAgICAgICAgc3R5bGVzOiByIHx8IFt7CiAgICAgICAgICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICJ3YXRlciIsCiAgICAgICAgICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJnZW9tZXRyeSIsCiAgICAgICAgICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjZTllOWU5IgogICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRuZXNzOiAxNwogICAgICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICJsYW5kc2NhcGUiLAogICAgICAgICAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAiZ2VvbWV0cnkiLAogICAgICAgICAgICAgICAgICAgIHN0eWxlcnM6IFt7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAiI2Y1ZjVmNSIKICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0bmVzczogMjAKICAgICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAicm9hZC5oaWdod2F5IiwKICAgICAgICAgICAgICAgICAgICBlbGVtZW50VHlwZTogImdlb21ldHJ5LmZpbGwiLAogICAgICAgICAgICAgICAgICAgIHN0eWxlcnM6IFt7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAiI2ZmZmZmZiIKICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0bmVzczogMTcKICAgICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAicm9hZC5oaWdod2F5IiwKICAgICAgICAgICAgICAgICAgICBlbGVtZW50VHlwZTogImdlb21ldHJ5LnN0cm9rZSIsCiAgICAgICAgICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRuZXNzOiAyOQogICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAuMgogICAgICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICJyb2FkLmFydGVyaWFsIiwKICAgICAgICAgICAgICAgICAgICBlbGVtZW50VHlwZTogImdlb21ldHJ5IiwKICAgICAgICAgICAgICAgICAgICBzdHlsZXJzOiBbewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiNmZmZmZmYiCiAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICBsaWdodG5lc3M6IDE4CiAgICAgICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlVHlwZTogInJvYWQubG9jYWwiLAogICAgICAgICAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAiZ2VvbWV0cnkiLAogICAgICAgICAgICAgICAgICAgIHN0eWxlcnM6IFt7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAiI2ZmZmZmZiIKICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0bmVzczogMTYKICAgICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAicG9pIiwKICAgICAgICAgICAgICAgICAgICBlbGVtZW50VHlwZTogImdlb21ldHJ5IiwKICAgICAgICAgICAgICAgICAgICBzdHlsZXJzOiBbewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiNmNWY1ZjUiCiAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICBsaWdodG5lc3M6IDIxCiAgICAgICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlVHlwZTogInBvaS5wYXJrIiwKICAgICAgICAgICAgICAgICAgICBlbGVtZW50VHlwZTogImdlb21ldHJ5IiwKICAgICAgICAgICAgICAgICAgICBzdHlsZXJzOiBbewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiNkZWRlZGUiCiAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICBsaWdodG5lc3M6IDIxCiAgICAgICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBlbGVtZW50VHlwZTogImxhYmVscy50ZXh0LnN0cm9rZSIsCiAgICAgICAgICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogIm9uIgogICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjZmZmZmZmIgogICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRuZXNzOiAxNgogICAgICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJsYWJlbHMudGV4dC5maWxsIiwKICAgICAgICAgICAgICAgICAgICBzdHlsZXJzOiBbewogICAgICAgICAgICAgICAgICAgICAgICBzYXR1cmF0aW9uOiAzNgogICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjMzMzMzMzIgogICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRuZXNzOiA0MAogICAgICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJsYWJlbHMuaWNvbiIsCiAgICAgICAgICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogIm9mZiIKICAgICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAidHJhbnNpdCIsCiAgICAgICAgICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJnZW9tZXRyeSIsCiAgICAgICAgICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjZjJmMmYyIgogICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRuZXNzOiAxOQogICAgICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICJhZG1pbmlzdHJhdGl2ZSIsCiAgICAgICAgICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJnZW9tZXRyeS5maWxsIiwKICAgICAgICAgICAgICAgICAgICBzdHlsZXJzOiBbewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIiNmZWZlZmUiCiAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICBsaWdodG5lc3M6IDIwCiAgICAgICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlVHlwZTogImFkbWluaXN0cmF0aXZlIiwKICAgICAgICAgICAgICAgICAgICBlbGVtZW50VHlwZTogImdlb21ldHJ5LnN0cm9rZSIsCiAgICAgICAgICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICIjZmVmZWZlIgogICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRuZXNzOiAxNwogICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAxLjIKICAgICAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgeSA9IG5ldyBnb29nbGUubWFwcy5NYXAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZSksIG8pLAogICAgICAgICAgICBmID0gbmV3IGdvb2dsZS5tYXBzLk1hcmtlcih7CiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcywKICAgICAgICAgICAgICAgIGljb246ICJpbWcvbXBjLnBuZyIKICAgICAgICAgICAgfSk7CiAgICAgICAgbmV3IGdvb2dsZS5tYXBzLkluZm9XaW5kb3coewogICAgICAgICAgICBjb250ZW50OiAidW5pdGVkLXN0YXRlcyIKICAgICAgICB9KTsKICAgICAgICBmLnNldE1hcCh5KQogICAgfQogICAgJCgiLm1hcCIpLmxlbmd0aCAmJiBnb29nbGUubWFwcy5ldmVudC5hZGREb21MaXN0ZW5lcih3aW5kb3csICJsb2FkIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgJCgiI21hcDEiKS5sZW5ndGggJiYgZSgibWFwMSIsIDUwLjc5Nzg5NywgLTEuMDc3NjQxKTsKICAgICAgICAkKCIjbWFwMiIpLmxlbmd0aCAmJiBlKCJtYXAyIiwgNTAuNzk3ODk3LCAtMS4wNzc2NDEsIFt7CiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAiYWxsIiwKICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJsYWJlbHMudGV4dC5maWxsIiwKICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgIHNhdHVyYXRpb246IDM2CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIGNvbG9yOiAiIzMzMzMzMyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbGlnaHRuZXNzOiA0MAogICAgICAgICAgICB9XQogICAgICAgIH0sIHsKICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICJhbGwiLAogICAgICAgICAgICBlbGVtZW50VHlwZTogImxhYmVscy50ZXh0LnN0cm9rZSIsCiAgICAgICAgICAgIHN0eWxlcnM6IFt7CiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAib24iCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIGNvbG9yOiAiI2ZmZmZmZiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbGlnaHRuZXNzOiAxNgogICAgICAgICAgICB9XQogICAgICAgIH0sIHsKICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICJhbGwiLAogICAgICAgICAgICBlbGVtZW50VHlwZTogImxhYmVscy5pY29uIiwKICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICJvZmYiCiAgICAgICAgICAgIH1dCiAgICAgICAgfSwgewogICAgICAgICAgICBmZWF0dXJlVHlwZTogImFkbWluaXN0cmF0aXZlIiwKICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJnZW9tZXRyeS5maWxsIiwKICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgIGNvbG9yOiAiI2ZlZmVmZSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbGlnaHRuZXNzOiAyMAogICAgICAgICAgICB9XQogICAgICAgIH0sIHsKICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICJhZG1pbmlzdHJhdGl2ZSIsCiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAiZ2VvbWV0cnkuc3Ryb2tlIiwKICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgIGNvbG9yOiAiI2ZlZmVmZSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbGlnaHRuZXNzOiAxNwogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEuMgogICAgICAgICAgICB9XQogICAgICAgIH0sIHsKICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICJsYW5kc2NhcGUiLAogICAgICAgICAgICBlbGVtZW50VHlwZTogImdlb21ldHJ5IiwKICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgIGNvbG9yOiAiI2RjZTFkYyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbGlnaHRuZXNzOiAyMAogICAgICAgICAgICB9XQogICAgICAgIH0sIHsKICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICJwb2kiLAogICAgICAgICAgICBlbGVtZW50VHlwZTogImdlb21ldHJ5IiwKICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgIGNvbG9yOiAiI2Y1ZjVmNSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbGlnaHRuZXNzOiAyMQogICAgICAgICAgICB9XQogICAgICAgIH0sIHsKICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICJwb2kucGFyayIsCiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAiZ2VvbWV0cnkiLAogICAgICAgICAgICBzdHlsZXJzOiBbewogICAgICAgICAgICAgICAgY29sb3I6ICIjZGVkZWRlIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBsaWdodG5lc3M6IDIxCiAgICAgICAgICAgIH1dCiAgICAgICAgfSwgewogICAgICAgICAgICBmZWF0dXJlVHlwZTogInJvYWQuaGlnaHdheSIsCiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAiZ2VvbWV0cnkuZmlsbCIsCiAgICAgICAgICAgIHN0eWxlcnM6IFt7CiAgICAgICAgICAgICAgICBjb2xvcjogIiNmZmZmZmYiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIGxpZ2h0bmVzczogMTcKICAgICAgICAgICAgfV0KICAgICAgICB9LCB7CiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAicm9hZC5oaWdod2F5IiwKICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJnZW9tZXRyeS5zdHJva2UiLAogICAgICAgICAgICBzdHlsZXJzOiBbewogICAgICAgICAgICAgICAgY29sb3I6ICIjZmZmZmZmIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBsaWdodG5lc3M6IDI5CiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIHdlaWdodDogLjIKICAgICAgICAgICAgfV0KICAgICAgICB9LCB7CiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAicm9hZC5oaWdod2F5LmNvbnRyb2xsZWRfYWNjZXNzIiwKICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJnZW9tZXRyeSIsCiAgICAgICAgICAgIHN0eWxlcnM6IFt7CiAgICAgICAgICAgICAgICBjb2xvcjogIiNjZGNkY2QiCiAgICAgICAgICAgIH1dCiAgICAgICAgfSwgewogICAgICAgICAgICBmZWF0dXJlVHlwZTogInJvYWQuYXJ0ZXJpYWwiLAogICAgICAgICAgICBlbGVtZW50VHlwZTogImdlb21ldHJ5IiwKICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgIGNvbG9yOiAiI2ZmZmZmZiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbGlnaHRuZXNzOiAxOAogICAgICAgICAgICB9XQogICAgICAgIH0sIHsKICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICJyb2FkLmxvY2FsIiwKICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJnZW9tZXRyeSIsCiAgICAgICAgICAgIHN0eWxlcnM6IFt7CiAgICAgICAgICAgICAgICBjb2xvcjogIiNkYWRhZGEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIGxpZ2h0bmVzczogMTYKICAgICAgICAgICAgfV0KICAgICAgICB9LCB7CiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAidHJhbnNpdCIsCiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAiZ2VvbWV0cnkiLAogICAgICAgICAgICBzdHlsZXJzOiBbewogICAgICAgICAgICAgICAgY29sb3I6ICIjZjJmMmYyIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBsaWdodG5lc3M6IDE5CiAgICAgICAgICAgIH1dCiAgICAgICAgfSwgewogICAgICAgICAgICBmZWF0dXJlVHlwZTogIndhdGVyIiwKICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJnZW9tZXRyeSIsCiAgICAgICAgICAgIHN0eWxlcnM6IFt7CiAgICAgICAgICAgICAgICBjb2xvcjogIiNkMWQxZDEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIGxpZ2h0bmVzczogMTcKICAgICAgICAgICAgfV0KICAgICAgICB9XSk7CiAgICAgICAgJCgiI21hcDMiKS5sZW5ndGggJiYgZSgibWFwMyIsIDQwLjcxMjgsIC03My45MzUyNDIsIFt7CiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAiYWxsIiwKICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJsYWJlbHMudGV4dC5maWxsIiwKICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgIGNvbG9yOiAiI2ZmZmZmZiIKICAgICAgICAgICAgfV0KICAgICAgICB9LCB7CiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAiYWxsIiwKICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJsYWJlbHMudGV4dC5zdHJva2UiLAogICAgICAgICAgICBzdHlsZXJzOiBbewogICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogIm9uIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBjb2xvcjogIiM0MjRiNWIiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIHdlaWdodDogMgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBnYW1tYTogIjEiCiAgICAgICAgICAgIH1dCiAgICAgICAgfSwgewogICAgICAgICAgICBmZWF0dXJlVHlwZTogImFsbCIsCiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAibGFiZWxzLmljb24iLAogICAgICAgICAgICBzdHlsZXJzOiBbewogICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogIm9mZiIKICAgICAgICAgICAgfV0KICAgICAgICB9LCB7CiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAiYWRtaW5pc3RyYXRpdmUiLAogICAgICAgICAgICBlbGVtZW50VHlwZTogImdlb21ldHJ5IiwKICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgIHdlaWdodDogLjYKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgY29sb3I6ICIjNTQ1YjZiIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBnYW1tYTogIjAiCiAgICAgICAgICAgIH1dCiAgICAgICAgfSwgewogICAgICAgICAgICBmZWF0dXJlVHlwZTogImxhbmRzY2FwZSIsCiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAiZ2VvbWV0cnkiLAogICAgICAgICAgICBzdHlsZXJzOiBbewogICAgICAgICAgICAgICAgY29sb3I6ICIjNTQ1YjZiIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBnYW1tYTogIjEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIHdlaWdodDogIjEwIgogICAgICAgICAgICB9XQogICAgICAgIH0sIHsKICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICJwb2kiLAogICAgICAgICAgICBlbGVtZW50VHlwZTogImdlb21ldHJ5IiwKICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgIGNvbG9yOiAiIzY2NmM3YiIKICAgICAgICAgICAgfV0KICAgICAgICB9LCB7CiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAicG9pLnBhcmsiLAogICAgICAgICAgICBlbGVtZW50VHlwZTogImdlb21ldHJ5IiwKICAgICAgICAgICAgc3R5bGVyczogW3sKICAgICAgICAgICAgICAgIGNvbG9yOiAiIzU0NWI2YiIKICAgICAgICAgICAgfV0KICAgICAgICB9LCB7CiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAicm9hZCIsCiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAiZ2VvbWV0cnkiLAogICAgICAgICAgICBzdHlsZXJzOiBbewogICAgICAgICAgICAgICAgY29sb3I6ICIjNDI0YTViIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBsaWdodG5lc3M6ICIwIgogICAgICAgICAgICB9XQogICAgICAgIH0sIHsKICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICJ0cmFuc2l0IiwKICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJnZW9tZXRyeSIsCiAgICAgICAgICAgIHN0eWxlcnM6IFt7CiAgICAgICAgICAgICAgICBjb2xvcjogIiM2NjZjN2IiCiAgICAgICAgICAgIH1dCiAgICAgICAgfSwgewogICAgICAgICAgICBmZWF0dXJlVHlwZTogIndhdGVyIiwKICAgICAgICAgICAgZWxlbWVudFR5cGU6ICJnZW9tZXRyeSIsCiAgICAgICAgICAgIHN0eWxlcnM6IFt7CiAgICAgICAgICAgICAgICBjb2xvcjogIiMyZTM1NDYiCiAgICAgICAgICAgIH1dCiAgICAgICAgfV0pLCAkKCIjbWFwNCIpLmxlbmd0aCAmJiBlKCJtYXA0IiwgNTAuNzk3ODk3LCAtMS4wNzc2NDEpCiAgICB9KQp9KCk7CiEgZnVuY3Rpb24oZSkgewogICAgInVzZSBzdHJpY3QiOwogICAgdmFyIGk7CiAgICAhIGZ1bmN0aW9uKCkgewogICAgICAgIGZ1bmN0aW9uIGUoKSB7CiAgICAgICAgICAgIHZvaWQgMCA9PT0gaSAmJiAoaSA9IGpRdWVyeSksIG51bGwgPT0gaSgiI3Jldl9zbGlkZXJfMTVfMiIpLnJldm9sdXRpb24gPyByZXZzbGlkZXJfc2hvd0RvdWJsZUpxdWVyeUVycm9yKCIjcmV2X3NsaWRlcl8xNV8yIikgOiBpKCIjcmV2X3NsaWRlcl8xNV8yIikuc2hvdygpLnJldm9sdXRpb24oewogICAgICAgICAgICAgICAgc2xpZGVyVHlwZTogInN0YW5kYXJkIiwKICAgICAgICAgICAgICAgIHNsaWRlckxheW91dDogImZ1bGx3aWR0aCIsCiAgICAgICAgICAgICAgICBkb3R0ZWRPdmVybGF5OiAibm9uZSIsCiAgICAgICAgICAgICAgICBkZWxheTogNzUwMCwKICAgICAgICAgICAgICAgIG5hdmlnYXRpb246IHsKICAgICAgICAgICAgICAgICAgICBrZXlib2FyZE5hdmlnYXRpb246ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIGtleWJvYXJkX2RpcmVjdGlvbjogImhvcml6b250YWwiLAogICAgICAgICAgICAgICAgICAgIG1vdXNlU2Nyb2xsTmF2aWdhdGlvbjogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgbW91c2VTY3JvbGxSZXZlcnNlOiAiZGVmYXVsdCIsCiAgICAgICAgICAgICAgICAgICAgb25Ib3ZlclN0b3A6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIGJ1bGxldHM6IHsKICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlOiAhMCwKICAgICAgICAgICAgICAgICAgICAgICAgaGlkZV9vbm1vYmlsZTogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiAiZXJpbnllbiIsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfb25sZWF2ZTogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogImhvcml6b250YWwiLAogICAgICAgICAgICAgICAgICAgICAgICBoX2FsaWduOiAiY2VudGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgdl9hbGlnbjogImJvdHRvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGhfb2Zmc2V0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICB2X29mZnNldDogNDAsCiAgICAgICAgICAgICAgICAgICAgICAgIHNwYWNlOiA1LAogICAgICAgICAgICAgICAgICAgICAgICB0bXA6ICIiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHZpc2liaWxpdHlMZXZlbHM6IFsxMjAwLCAxMTk5LCA5OTIsIDc2OCwgNTc2XSwKICAgICAgICAgICAgICAgIHJlc3BvbnNpdmVMZXZlbHM6IFsxMjAwLCAxMTk5LCA5OTIsIDc2OCwgNTc2XSwKICAgICAgICAgICAgICAgIGdyaWR3aWR0aDogWzExNDAsIDk2MCwgNzIwLCA1NDBdLAogICAgICAgICAgICAgICAgZ3JpZGhlaWdodDogWzcwMCwgNjUwLCA2MDAsIDQwMF0sCiAgICAgICAgICAgICAgICBsYXp5VHlwZTogIm5vbmUiLAogICAgICAgICAgICAgICAgcGFyYWxsYXg6IHsKICAgICAgICAgICAgICAgICAgICB0eXBlOiAibW91c2UiLAogICAgICAgICAgICAgICAgICAgIG9yaWdvOiAiZW50ZXJwb2ludCIsCiAgICAgICAgICAgICAgICAgICAgc3BlZWQ6IDQwMCwKICAgICAgICAgICAgICAgICAgICBzcGVlZGJnOiAwLAogICAgICAgICAgICAgICAgICAgIHNwZWVkbHM6IDAsCiAgICAgICAgICAgICAgICAgICAgbGV2ZWxzOiBbNSwgMTAsIDE1LCAyMCwgMjUsIDMwLCAzNSwgNDAsIDQ1LCA0NiwgNDcsIDQ4LCA0OSwgNTAsIDUxLCA1NV0sCiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9vbm1vYmlsZTogIm9uIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHNoYWRvdzogMCwKICAgICAgICAgICAgICAgIHNwaW5uZXI6ICJzcGlubmVyMCIsCiAgICAgICAgICAgICAgICBzdG9wTG9vcDogIm9mZiIsCiAgICAgICAgICAgICAgICBzdG9wQWZ0ZXJMb29wczogLTEsCiAgICAgICAgICAgICAgICBzdG9wQXRTbGlkZTogLTEsCiAgICAgICAgICAgICAgICBzaHVmZmxlOiAib2ZmIiwKICAgICAgICAgICAgICAgIGF1dG9IZWlnaHQ6ICJvZmYiLAogICAgICAgICAgICAgICAgZGlzYWJsZVByb2dyZXNzQmFyOiAib24iLAogICAgICAgICAgICAgICAgaGlkZVRodW1ic09uTW9iaWxlOiAib2ZmIiwKICAgICAgICAgICAgICAgIGhpZGVTbGlkZXJBdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUNhcHRpb25BdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUFsbENhcHRpb25BdExpbG1pdDogMCwKICAgICAgICAgICAgICAgIGRlYnVnTW9kZTogITEsCiAgICAgICAgICAgICAgICBmYWxsYmFja3M6IHsKICAgICAgICAgICAgICAgICAgICBzaW1wbGlmeUFsbDogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgbmV4dFNsaWRlT25XaW5kb3dGb2N1czogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZUZvY3VzTGlzdGVuZXI6ICExCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLCBudWxsID09IGkoIiNyZXZfc2xpZGVyXzE3XzEiKS5yZXZvbHV0aW9uID8gcmV2c2xpZGVyX3Nob3dEb3VibGVKcXVlcnlFcnJvcigiI3Jldl9zbGlkZXJfMTdfMSIpIDogaSgiI3Jldl9zbGlkZXJfMTdfMSIpLnNob3coKS5yZXZvbHV0aW9uKHsKICAgICAgICAgICAgICAgIHNsaWRlclR5cGU6ICJzdGFuZGFyZCIsCiAgICAgICAgICAgICAgICBzbGlkZXJMYXlvdXQ6ICJmdWxsd2lkdGgiLAogICAgICAgICAgICAgICAgZG90dGVkT3ZlcmxheTogIm5vbmUiLAogICAgICAgICAgICAgICAgZGVsYXk6IDllMywKICAgICAgICAgICAgICAgIG5hdmlnYXRpb246IHsKICAgICAgICAgICAgICAgICAgICBrZXlib2FyZE5hdmlnYXRpb246ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIGtleWJvYXJkX2RpcmVjdGlvbjogImhvcml6b250YWwiLAogICAgICAgICAgICAgICAgICAgIG1vdXNlU2Nyb2xsTmF2aWdhdGlvbjogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgbW91c2VTY3JvbGxSZXZlcnNlOiAiZGVmYXVsdCIsCiAgICAgICAgICAgICAgICAgICAgb25Ib3ZlclN0b3A6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIGJ1bGxldHM6IHsKICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlOiAhMQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5TGV2ZWxzOiBbMTIwMCwgMTE5OSwgOTkyLCA3NjhdLAogICAgICAgICAgICAgICAgcmVzcG9uc2l2ZUxldmVsczogWzEyMDAsIDExOTksIDk5MiwgNzY4XSwKICAgICAgICAgICAgICAgIGdyaWR3aWR0aDogWzExNDAsIDk2MCwgNzIwLCA1NDBdLAogICAgICAgICAgICAgICAgZ3JpZGhlaWdodDogWzcwMCwgNjUwLCA2MDAsIDQwMF0sCiAgICAgICAgICAgICAgICBsYXp5VHlwZTogIm5vbmUiLAogICAgICAgICAgICAgICAgcGFyYWxsYXg6IHsKICAgICAgICAgICAgICAgICAgICB0eXBlOiAibW91c2UiLAogICAgICAgICAgICAgICAgICAgIG9yaWdvOiAiZW50ZXJwb2ludCIsCiAgICAgICAgICAgICAgICAgICAgc3BlZWQ6IDQwMCwKICAgICAgICAgICAgICAgICAgICBzcGVlZGJnOiAwLAogICAgICAgICAgICAgICAgICAgIHNwZWVkbHM6IDAsCiAgICAgICAgICAgICAgICAgICAgbGV2ZWxzOiBbNSwgMTAsIDE1LCAyMCwgMjUsIDMwLCAzNSwgNDAsIDQ1LCA0NiwgNDcsIDQ4LCA0OSwgNTAsIDUxLCA1NV0sCiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9vbm1vYmlsZTogIm9uIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHNoYWRvdzogMCwKICAgICAgICAgICAgICAgIHNwaW5uZXI6ICJzcGlubmVyMCIsCiAgICAgICAgICAgICAgICBzdG9wTG9vcDogIm9mZiIsCiAgICAgICAgICAgICAgICBzdG9wQWZ0ZXJMb29wczogLTEsCiAgICAgICAgICAgICAgICBzdG9wQXRTbGlkZTogLTEsCiAgICAgICAgICAgICAgICBzaHVmZmxlOiAib2ZmIiwKICAgICAgICAgICAgICAgIGF1dG9IZWlnaHQ6ICJvZmYiLAogICAgICAgICAgICAgICAgZGlzYWJsZVByb2dyZXNzQmFyOiAib24iLAogICAgICAgICAgICAgICAgaGlkZVRodW1ic09uTW9iaWxlOiAib2ZmIiwKICAgICAgICAgICAgICAgIGhpZGVTbGlkZXJBdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUNhcHRpb25BdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUFsbENhcHRpb25BdExpbG1pdDogMCwKICAgICAgICAgICAgICAgIGRlYnVnTW9kZTogITEsCiAgICAgICAgICAgICAgICBmYWxsYmFja3M6IHsKICAgICAgICAgICAgICAgICAgICBzaW1wbGlmeUFsbDogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgbmV4dFNsaWRlT25XaW5kb3dGb2N1czogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZUZvY3VzTGlzdGVuZXI6ICExCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLCBudWxsID09IGkoIiNyZXZfc2xpZGVyXzI0XzEiKS5yZXZvbHV0aW9uID8gcmV2c2xpZGVyX3Nob3dEb3VibGVKcXVlcnlFcnJvcigiI3Jldl9zbGlkZXJfMjRfMSIpIDogaSgiI3Jldl9zbGlkZXJfMjRfMSIpLnNob3coKS5yZXZvbHV0aW9uKHsKICAgICAgICAgICAgICAgIHNsaWRlclR5cGU6ICJzdGFuZGFyZCIsCiAgICAgICAgICAgICAgICBzbGlkZXJMYXlvdXQ6ICJmdWxsd2lkdGgiLAogICAgICAgICAgICAgICAgZG90dGVkT3ZlcmxheTogIm5vbmUiLAogICAgICAgICAgICAgICAgZGVsYXk6IDllMywKICAgICAgICAgICAgICAgIG5hdmlnYXRpb246IHsKICAgICAgICAgICAgICAgICAgICBrZXlib2FyZE5hdmlnYXRpb246ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIGtleWJvYXJkX2RpcmVjdGlvbjogImhvcml6b250YWwiLAogICAgICAgICAgICAgICAgICAgIG1vdXNlU2Nyb2xsTmF2aWdhdGlvbjogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgbW91c2VTY3JvbGxSZXZlcnNlOiAiZGVmYXVsdCIsCiAgICAgICAgICAgICAgICAgICAgb25Ib3ZlclN0b3A6ICJvbiIsCiAgICAgICAgICAgICAgICAgICAgYXJyb3dzOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiAiemV1cyIsCiAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZTogITAsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfb25tb2JpbGU6ICExLAogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX29ubGVhdmU6ICExLAogICAgICAgICAgICAgICAgICAgICAgICB0bXA6ICc8ZGl2IGNsYXNzPSJ0cC10aXRsZS13cmFwIj4gIFx0PGRpdiBjbGFzcz0idHAtYXJyLWltZ2hvbGRlciI+PC9kaXY+IDwvZGl2PicsCiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhfYWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZfYWxpZ246ICJjZW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaF9vZmZzZXQ6IDIwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdl9vZmZzZXQ6IDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhfYWxpZ246ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2X2FsaWduOiAiY2VudGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhfb2Zmc2V0OiAyMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZfb2Zmc2V0OiAwCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgdmlzaWJpbGl0eUxldmVsczogWzEyNDAsIDEwMjQsIDc3OCwgNDgwXSwKICAgICAgICAgICAgICAgIHJlc3BvbnNpdmVMZXZlbHM6IFsxMjAwLCAxMTk5LCA5OTIsIDc2OCwgNTc2XSwKICAgICAgICAgICAgICAgIGdyaWR3aWR0aDogWzExNDAsIDk2MCwgNzIwLCA1NDBdLAogICAgICAgICAgICAgICAgZ3JpZGhlaWdodDogWzcwMCwgNjUwLCA2MDAsIDQwMF0sCiAgICAgICAgICAgICAgICBsYXp5VHlwZTogIm5vbmUiLAogICAgICAgICAgICAgICAgc2hhZG93OiAwLAogICAgICAgICAgICAgICAgc3Bpbm5lcjogInNwaW5uZXIwIiwKICAgICAgICAgICAgICAgIHN0b3BMb29wOiAib2ZmIiwKICAgICAgICAgICAgICAgIHN0b3BBZnRlckxvb3BzOiAtMSwKICAgICAgICAgICAgICAgIHN0b3BBdFNsaWRlOiAtMSwKICAgICAgICAgICAgICAgIHNodWZmbGU6ICJvZmYiLAogICAgICAgICAgICAgICAgYXV0b0hlaWdodDogIm9mZiIsCiAgICAgICAgICAgICAgICBkaXNhYmxlUHJvZ3Jlc3NCYXI6ICJvbiIsCiAgICAgICAgICAgICAgICBoaWRlVGh1bWJzT25Nb2JpbGU6ICJvZmYiLAogICAgICAgICAgICAgICAgaGlkZVNsaWRlckF0TGltaXQ6IDAsCiAgICAgICAgICAgICAgICBoaWRlQ2FwdGlvbkF0TGltaXQ6IDAsCiAgICAgICAgICAgICAgICBoaWRlQWxsQ2FwdGlvbkF0TGlsbWl0OiAwLAogICAgICAgICAgICAgICAgZGVidWdNb2RlOiAhMSwKICAgICAgICAgICAgICAgIGZhbGxiYWNrczogewogICAgICAgICAgICAgICAgICAgIHNpbXBsaWZ5QWxsOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBuZXh0U2xpZGVPbldpbmRvd0ZvY3VzOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBkaXNhYmxlRm9jdXNMaXN0ZW5lcjogITEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSksIG51bGwgPT0gaSgiI3Jldl9zbGlkZXJfMjZfMSIpLnJldm9sdXRpb24gPyByZXZzbGlkZXJfc2hvd0RvdWJsZUpxdWVyeUVycm9yKCIjcmV2X3NsaWRlcl8yNl8xIikgOiBpKCIjcmV2X3NsaWRlcl8yNl8xIikuc2hvdygpLnJldm9sdXRpb24oewogICAgICAgICAgICAgICAgc2xpZGVyVHlwZTogInN0YW5kYXJkIiwKICAgICAgICAgICAgICAgIHNsaWRlckxheW91dDogImZ1bGx3aWR0aCIsCiAgICAgICAgICAgICAgICBkb3R0ZWRPdmVybGF5OiAibm9uZSIsCiAgICAgICAgICAgICAgICBkZWxheTogOWUzLAogICAgICAgICAgICAgICAgbmF2aWdhdGlvbjogewogICAgICAgICAgICAgICAgICAgIG9uSG92ZXJTdG9wOiAib2ZmIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHZpc2liaWxpdHlMZXZlbHM6IFsxMjQwLCAxMDI0LCA3NzgsIDQ4MF0sCiAgICAgICAgICAgICAgICByZXNwb25zaXZlTGV2ZWxzOiBbMTIwMCwgMTE5OSwgOTkyLCA3NjgsIDU3Nl0sCiAgICAgICAgICAgICAgICBncmlkd2lkdGg6IFsxMTQwLCA5NjAsIDcyMCwgNTQwXSwKICAgICAgICAgICAgICAgIGdyaWRoZWlnaHQ6IFs3MDAsIDY1MCwgNjAwLCA0MDBdLAogICAgICAgICAgICAgICAgbGF6eVR5cGU6ICJub25lIiwKICAgICAgICAgICAgICAgIHNoYWRvdzogMCwKICAgICAgICAgICAgICAgIHNwaW5uZXI6ICJzcGlubmVyMCIsCiAgICAgICAgICAgICAgICBzdG9wTG9vcDogIm9uIiwKICAgICAgICAgICAgICAgIHN0b3BBZnRlckxvb3BzOiAwLAogICAgICAgICAgICAgICAgc3RvcEF0U2xpZGU6IC0xLAogICAgICAgICAgICAgICAgc2h1ZmZsZTogIm9mZiIsCiAgICAgICAgICAgICAgICBhdXRvSGVpZ2h0OiAib2ZmIiwKICAgICAgICAgICAgICAgIGRpc2FibGVQcm9ncmVzc0JhcjogIm9uIiwKICAgICAgICAgICAgICAgIGhpZGVUaHVtYnNPbk1vYmlsZTogIm9mZiIsCiAgICAgICAgICAgICAgICBoaWRlU2xpZGVyQXRMaW1pdDogMCwKICAgICAgICAgICAgICAgIGhpZGVDYXB0aW9uQXRMaW1pdDogMCwKICAgICAgICAgICAgICAgIGhpZGVBbGxDYXB0aW9uQXRMaWxtaXQ6IDAsCiAgICAgICAgICAgICAgICBkZWJ1Z01vZGU6ICExLAogICAgICAgICAgICAgICAgZmFsbGJhY2tzOiB7CiAgICAgICAgICAgICAgICAgICAgc2ltcGxpZnlBbGw6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIG5leHRTbGlkZU9uV2luZG93Rm9jdXM6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIGRpc2FibGVGb2N1c0xpc3RlbmVyOiAhMQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSwgbnVsbCA9PSBpKCIjcmV2X3NsaWRlcl8yN18xIikucmV2b2x1dGlvbiA/IHJldnNsaWRlcl9zaG93RG91YmxlSnF1ZXJ5RXJyb3IoIiNyZXZfc2xpZGVyXzI3XzEiKSA6IGkoIiNyZXZfc2xpZGVyXzI3XzEiKS5zaG93KCkucmV2b2x1dGlvbih7CiAgICAgICAgICAgICAgICBzbGlkZXJUeXBlOiAiaGVybyIsCiAgICAgICAgICAgICAgICBzbGlkZXJMYXlvdXQ6ICJmdWxsd2lkdGgiLAogICAgICAgICAgICAgICAgZG90dGVkT3ZlcmxheTogIm5vbmUiLAogICAgICAgICAgICAgICAgZGVsYXk6IDllMywKICAgICAgICAgICAgICAgIG5hdmlnYXRpb246IHt9LAogICAgICAgICAgICAgICAgdmlzaWJpbGl0eUxldmVsczogWzEyNDAsIDEwMjQsIDc3OCwgNDgwXSwKICAgICAgICAgICAgICAgIHJlc3BvbnNpdmVMZXZlbHM6IFsxMjAwLCAxMTk5LCA5OTIsIDc2OCwgNTc2XSwKICAgICAgICAgICAgICAgIGdyaWR3aWR0aDogWzExNDAsIDk2MCwgNzIwLCA1NDBdLAogICAgICAgICAgICAgICAgZ3JpZGhlaWdodDogWzcwMCwgNjUwLCA2MDAsIDQwMF0sCiAgICAgICAgICAgICAgICBsYXp5VHlwZTogIm5vbmUiLAogICAgICAgICAgICAgICAgc2hhZG93OiAwLAogICAgICAgICAgICAgICAgc3Bpbm5lcjogInNwaW5uZXIwIiwKICAgICAgICAgICAgICAgIGF1dG9IZWlnaHQ6ICJvZmYiLAogICAgICAgICAgICAgICAgZGlzYWJsZVByb2dyZXNzQmFyOiAib24iLAogICAgICAgICAgICAgICAgaGlkZVRodW1ic09uTW9iaWxlOiAib2ZmIiwKICAgICAgICAgICAgICAgIGhpZGVTbGlkZXJBdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUNhcHRpb25BdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUFsbENhcHRpb25BdExpbG1pdDogMCwKICAgICAgICAgICAgICAgIGRlYnVnTW9kZTogITEsCiAgICAgICAgICAgICAgICBmYWxsYmFja3M6IHsKICAgICAgICAgICAgICAgICAgICBzaW1wbGlmeUFsbDogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZUZvY3VzTGlzdGVuZXI6ICExCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLCBudWxsID09IGkoIiNyZXZfc2xpZGVyXzMwXzEiKS5yZXZvbHV0aW9uID8gcmV2c2xpZGVyX3Nob3dEb3VibGVKcXVlcnlFcnJvcigiI3Jldl9zbGlkZXJfMzBfMSIpIDogaSgiI3Jldl9zbGlkZXJfMzBfMSIpLnNob3coKS5yZXZvbHV0aW9uKHsKICAgICAgICAgICAgICAgIHNsaWRlclR5cGU6ICJoZXJvIiwKICAgICAgICAgICAgICAgIHNsaWRlckxheW91dDogImZ1bGx3aWR0aCIsCiAgICAgICAgICAgICAgICBkb3R0ZWRPdmVybGF5OiAibm9uZSIsCiAgICAgICAgICAgICAgICBkZWxheTogOWUzLAogICAgICAgICAgICAgICAgbmF2aWdhdGlvbjoge30sCiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5TGV2ZWxzOiBbMTI0MCwgMTAyNCwgNzc4LCA0ODBdLAogICAgICAgICAgICAgICAgcmVzcG9uc2l2ZUxldmVsczogWzEyMDAsIDExOTksIDk5MiwgNzY4LCA1NzZdLAogICAgICAgICAgICAgICAgZ3JpZHdpZHRoOiBbMTE0MCwgOTYwLCA3MjAsIDU0MF0sCiAgICAgICAgICAgICAgICBncmlkaGVpZ2h0OiBbNzAwLCA2NTAsIDYwMCwgNDAwXSwKICAgICAgICAgICAgICAgIGxhenlUeXBlOiAibm9uZSIsCiAgICAgICAgICAgICAgICBzaGFkb3c6IDAsCiAgICAgICAgICAgICAgICBzcGlubmVyOiAic3Bpbm5lcjAiLAogICAgICAgICAgICAgICAgYXV0b0hlaWdodDogIm9mZiIsCiAgICAgICAgICAgICAgICBkaXNhYmxlUHJvZ3Jlc3NCYXI6ICJvbiIsCiAgICAgICAgICAgICAgICBoaWRlVGh1bWJzT25Nb2JpbGU6ICJvZmYiLAogICAgICAgICAgICAgICAgaGlkZVNsaWRlckF0TGltaXQ6IDAsCiAgICAgICAgICAgICAgICBoaWRlQ2FwdGlvbkF0TGltaXQ6IDAsCiAgICAgICAgICAgICAgICBoaWRlQWxsQ2FwdGlvbkF0TGlsbWl0OiAwLAogICAgICAgICAgICAgICAgZGVidWdNb2RlOiAhMSwKICAgICAgICAgICAgICAgIGZhbGxiYWNrczogewogICAgICAgICAgICAgICAgICAgIHNpbXBsaWZ5QWxsOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBkaXNhYmxlRm9jdXNMaXN0ZW5lcjogITEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSksIG51bGwgPT0gaSgiI3Jldl9zbGlkZXJfMzFfMSIpLnJldm9sdXRpb24gPyByZXZzbGlkZXJfc2hvd0RvdWJsZUpxdWVyeUVycm9yKCIjcmV2X3NsaWRlcl8zMV8xIikgOiBpKCIjcmV2X3NsaWRlcl8zMV8xIikuc2hvdygpLnJldm9sdXRpb24oewogICAgICAgICAgICAgICAgc2xpZGVyVHlwZTogInN0YW5kYXJkIiwKICAgICAgICAgICAgICAgIHNsaWRlckxheW91dDogImZ1bGx3aWR0aCIsCiAgICAgICAgICAgICAgICBkb3R0ZWRPdmVybGF5OiAibm9uZSIsCiAgICAgICAgICAgICAgICBkZWxheTogOWUzLAogICAgICAgICAgICAgICAgbmF2aWdhdGlvbjogewogICAgICAgICAgICAgICAgICAgIGtleWJvYXJkTmF2aWdhdGlvbjogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAga2V5Ym9hcmRfZGlyZWN0aW9uOiAiaG9yaXpvbnRhbCIsCiAgICAgICAgICAgICAgICAgICAgbW91c2VTY3JvbGxOYXZpZ2F0aW9uOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBtb3VzZVNjcm9sbFJldmVyc2U6ICJkZWZhdWx0IiwKICAgICAgICAgICAgICAgICAgICBvbkhvdmVyU3RvcDogIm9uIiwKICAgICAgICAgICAgICAgICAgICB0aHVtYm5haWxzOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiAiaGFkZXMiLAogICAgICAgICAgICAgICAgICAgICAgICBlbmFibGU6ICEwLAogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjAsCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjAsCiAgICAgICAgICAgICAgICAgICAgICAgIG1pbl93aWR0aDogMTAwLAogICAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVyX3BhZGRpbmc6IDUsCiAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJfY29sb3I6ICJ0cmFuc3BhcmVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRtcDogJzxzcGFuIGNsYXNzPSJ0cC10aHVtYi1pbWctd3JhcCI+ICA8c3BhbiBjbGFzcz0idHAtdGh1bWItaW1hZ2UiPjwvc3Bhbj48L3NwYW4+JywKICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZUFtb3VudDogNSwKICAgICAgICAgICAgICAgICAgICAgICAgaGlkZV9vbm1vYmlsZTogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfb25sZWF2ZTogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogImhvcml6b250YWwiLAogICAgICAgICAgICAgICAgICAgICAgICBzcGFuOiAhMSwKICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJpbm5lciIsCiAgICAgICAgICAgICAgICAgICAgICAgIHNwYWNlOiA1LAogICAgICAgICAgICAgICAgICAgICAgICBoX2FsaWduOiAiY2VudGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgdl9hbGlnbjogImJvdHRvbSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGhfb2Zmc2V0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICB2X29mZnNldDogNDAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgdmlzaWJpbGl0eUxldmVsczogWzEyNDAsIDEwMjQsIDc3OCwgNDgwXSwKICAgICAgICAgICAgICAgIHJlc3BvbnNpdmVMZXZlbHM6IFsxMjAwLCAxMTk5LCA5OTIsIDc2OCwgNTc2XSwKICAgICAgICAgICAgICAgIGdyaWR3aWR0aDogWzExNDAsIDk2MCwgNzIwLCA1NDBdLAogICAgICAgICAgICAgICAgZ3JpZGhlaWdodDogWzcwMCwgNjUwLCA2MDAsIDQwMF0sCiAgICAgICAgICAgICAgICBsYXp5VHlwZTogIm5vbmUiLAogICAgICAgICAgICAgICAgc2hhZG93OiAwLAogICAgICAgICAgICAgICAgc3Bpbm5lcjogInNwaW5uZXIwIiwKICAgICAgICAgICAgICAgIHN0b3BMb29wOiAib2ZmIiwKICAgICAgICAgICAgICAgIHN0b3BBZnRlckxvb3BzOiAtMSwKICAgICAgICAgICAgICAgIHN0b3BBdFNsaWRlOiAtMSwKICAgICAgICAgICAgICAgIHNodWZmbGU6ICJvZmYiLAogICAgICAgICAgICAgICAgYXV0b0hlaWdodDogIm9mZiIsCiAgICAgICAgICAgICAgICBkaXNhYmxlUHJvZ3Jlc3NCYXI6ICJvbiIsCiAgICAgICAgICAgICAgICBoaWRlVGh1bWJzT25Nb2JpbGU6ICJvZmYiLAogICAgICAgICAgICAgICAgaGlkZVNsaWRlckF0TGltaXQ6IDAsCiAgICAgICAgICAgICAgICBoaWRlQ2FwdGlvbkF0TGltaXQ6IDAsCiAgICAgICAgICAgICAgICBoaWRlQWxsQ2FwdGlvbkF0TGlsbWl0OiAwLAogICAgICAgICAgICAgICAgZGVidWdNb2RlOiAhMSwKICAgICAgICAgICAgICAgIGZhbGxiYWNrczogewogICAgICAgICAgICAgICAgICAgIHNpbXBsaWZ5QWxsOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBuZXh0U2xpZGVPbldpbmRvd0ZvY3VzOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBkaXNhYmxlRm9jdXNMaXN0ZW5lcjogITEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSksIG51bGwgPT0gaSgiI3Jldl9zbGlkZXJfMzJfMSIpLnJldm9sdXRpb24gPyByZXZzbGlkZXJfc2hvd0RvdWJsZUpxdWVyeUVycm9yKCIjcmV2X3NsaWRlcl8zMl8xIikgOiBpKCIjcmV2X3NsaWRlcl8zMl8xIikuc2hvdygpLnJldm9sdXRpb24oewogICAgICAgICAgICAgICAgc2xpZGVyVHlwZTogInN0YW5kYXJkIiwKICAgICAgICAgICAgICAgIHNsaWRlckxheW91dDogImZ1bGx3aWR0aCIsCiAgICAgICAgICAgICAgICBkb3R0ZWRPdmVybGF5OiAibm9uZSIsCiAgICAgICAgICAgICAgICBkZWxheTogOWUzLAogICAgICAgICAgICAgICAgbmF2aWdhdGlvbjogewogICAgICAgICAgICAgICAgICAgIG9uSG92ZXJTdG9wOiAib2ZmIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHZpc2liaWxpdHlMZXZlbHM6IFsxMjAwLCAxMTk5LCA5OTIsIDc2OCwgNTc2XSwKICAgICAgICAgICAgICAgIHJlc3BvbnNpdmVMZXZlbHM6IFsxMjAwLCAxMTk5LCA5OTIsIDc2OCwgNTc2XSwKICAgICAgICAgICAgICAgIGdyaWR3aWR0aDogWzExNDAsIDk2MCwgNzIwLCA1NDBdLAogICAgICAgICAgICAgICAgZ3JpZGhlaWdodDogWzcwMCwgNjUwLCA2MDAsIDQwMF0sCiAgICAgICAgICAgICAgICBsYXp5VHlwZTogIm5vbmUiLAogICAgICAgICAgICAgICAgcGFyYWxsYXg6IHsKICAgICAgICAgICAgICAgICAgICB0eXBlOiAibW91c2UiLAogICAgICAgICAgICAgICAgICAgIG9yaWdvOiAiZW50ZXJwb2ludCIsCiAgICAgICAgICAgICAgICAgICAgc3BlZWQ6IDQwMCwKICAgICAgICAgICAgICAgICAgICBzcGVlZGJnOiAwLAogICAgICAgICAgICAgICAgICAgIHNwZWVkbHM6IDAsCiAgICAgICAgICAgICAgICAgICAgbGV2ZWxzOiBbNSwgMTAsIDE1LCAyMCwgMjUsIDMwLCAzNSwgNDAsIDQ1LCA0NiwgNDcsIDQ4LCA0OSwgNTAsIDUxLCA1NV0sCiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9vbm1vYmlsZTogIm9uIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHNoYWRvdzogMCwKICAgICAgICAgICAgICAgIHNwaW5uZXI6ICJzcGlubmVyMCIsCiAgICAgICAgICAgICAgICBzdG9wTG9vcDogIm9mZiIsCiAgICAgICAgICAgICAgICBzdG9wQWZ0ZXJMb29wczogLTEsCiAgICAgICAgICAgICAgICBzdG9wQXRTbGlkZTogLTEsCiAgICAgICAgICAgICAgICBzaHVmZmxlOiAib2ZmIiwKICAgICAgICAgICAgICAgIGF1dG9IZWlnaHQ6ICJvZmYiLAogICAgICAgICAgICAgICAgZGlzYWJsZVByb2dyZXNzQmFyOiAib24iLAogICAgICAgICAgICAgICAgaGlkZVRodW1ic09uTW9iaWxlOiAib2ZmIiwKICAgICAgICAgICAgICAgIGhpZGVTbGlkZXJBdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUNhcHRpb25BdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUFsbENhcHRpb25BdExpbG1pdDogMCwKICAgICAgICAgICAgICAgIGRlYnVnTW9kZTogITEsCiAgICAgICAgICAgICAgICBmYWxsYmFja3M6IHsKICAgICAgICAgICAgICAgICAgICBzaW1wbGlmeUFsbDogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgbmV4dFNsaWRlT25XaW5kb3dGb2N1czogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZUZvY3VzTGlzdGVuZXI6ICExCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLCBudWxsID09IGkoIiNyZXZfc2xpZGVyXzMzXzEiKS5yZXZvbHV0aW9uID8gcmV2c2xpZGVyX3Nob3dEb3VibGVKcXVlcnlFcnJvcigiI3Jldl9zbGlkZXJfMzNfMSIpIDogaSgiI3Jldl9zbGlkZXJfMzNfMSIpLnNob3coKS5yZXZvbHV0aW9uKHsKICAgICAgICAgICAgICAgIHNsaWRlclR5cGU6ICJzdGFuZGFyZCIsCiAgICAgICAgICAgICAgICBzbGlkZXJMYXlvdXQ6ICJmdWxsd2lkdGgiLAogICAgICAgICAgICAgICAgZG90dGVkT3ZlcmxheTogIm5vbmUiLAogICAgICAgICAgICAgICAgZGVsYXk6IDllMywKICAgICAgICAgICAgICAgIG5hdmlnYXRpb246IHsKICAgICAgICAgICAgICAgICAgICBvbkhvdmVyU3RvcDogIm9mZiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5TGV2ZWxzOiBbMTI0MCwgMTAyNCwgNzc4LCA0ODBdLAogICAgICAgICAgICAgICAgcmVzcG9uc2l2ZUxldmVsczogWzEyMDAsIDExOTksIDk5MiwgNzY4LCA1NzZdLAogICAgICAgICAgICAgICAgZ3JpZHdpZHRoOiBbMTE0MCwgOTYwLCA3MjAsIDU0MF0sCiAgICAgICAgICAgICAgICBncmlkaGVpZ2h0OiBbNzAwLCA2NTAsIDYwMCwgNDAwXSwKICAgICAgICAgICAgICAgIGxhenlUeXBlOiAibm9uZSIsCiAgICAgICAgICAgICAgICBzaGFkb3c6IDAsCiAgICAgICAgICAgICAgICBzcGlubmVyOiAic3Bpbm5lcjAiLAogICAgICAgICAgICAgICAgc3RvcExvb3A6ICJvZmYiLAogICAgICAgICAgICAgICAgc3RvcEFmdGVyTG9vcHM6IC0xLAogICAgICAgICAgICAgICAgc3RvcEF0U2xpZGU6IC0xLAogICAgICAgICAgICAgICAgc2h1ZmZsZTogIm9mZiIsCiAgICAgICAgICAgICAgICBhdXRvSGVpZ2h0OiAib2ZmIiwKICAgICAgICAgICAgICAgIGRpc2FibGVQcm9ncmVzc0JhcjogIm9uIiwKICAgICAgICAgICAgICAgIGhpZGVUaHVtYnNPbk1vYmlsZTogIm9mZiIsCiAgICAgICAgICAgICAgICBoaWRlU2xpZGVyQXRMaW1pdDogMCwKICAgICAgICAgICAgICAgIGhpZGVDYXB0aW9uQXRMaW1pdDogMCwKICAgICAgICAgICAgICAgIGhpZGVBbGxDYXB0aW9uQXRMaWxtaXQ6IDAsCiAgICAgICAgICAgICAgICBkZWJ1Z01vZGU6ICExLAogICAgICAgICAgICAgICAgZmFsbGJhY2tzOiB7CiAgICAgICAgICAgICAgICAgICAgc2ltcGxpZnlBbGw6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIG5leHRTbGlkZU9uV2luZG93Rm9jdXM6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIGRpc2FibGVGb2N1c0xpc3RlbmVyOiAhMQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSwgbnVsbCA9PSBpKCIjcmV2X3NsaWRlcl8zNF8xIikucmV2b2x1dGlvbiA/IHJldnNsaWRlcl9zaG93RG91YmxlSnF1ZXJ5RXJyb3IoIiNyZXZfc2xpZGVyXzM0XzEiKSA6IGkoIiNyZXZfc2xpZGVyXzM0XzEiKS5zaG93KCkucmV2b2x1dGlvbih7CiAgICAgICAgICAgICAgICBzbGlkZXJUeXBlOiAic3RhbmRhcmQiLAogICAgICAgICAgICAgICAgc2xpZGVyTGF5b3V0OiAiZnVsbHdpZHRoIiwKICAgICAgICAgICAgICAgIGRvdHRlZE92ZXJsYXk6ICJub25lIiwKICAgICAgICAgICAgICAgIGRlbGF5OiA5ZTMsCiAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uOiB7CiAgICAgICAgICAgICAgICAgICAga2V5Ym9hcmROYXZpZ2F0aW9uOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBrZXlib2FyZF9kaXJlY3Rpb246ICJob3Jpem9udGFsIiwKICAgICAgICAgICAgICAgICAgICBtb3VzZVNjcm9sbE5hdmlnYXRpb246ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIG1vdXNlU2Nyb2xsUmV2ZXJzZTogImRlZmF1bHQiLAogICAgICAgICAgICAgICAgICAgIG9uSG92ZXJTdG9wOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBhcnJvd3M6IHsKICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6ICJoZXBoYWlzdG9zIiwKICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlOiAhMCwKICAgICAgICAgICAgICAgICAgICAgICAgaGlkZV9vbm1vYmlsZTogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfb25sZWF2ZTogITEsCiAgICAgICAgICAgICAgICAgICAgICAgIHRtcDogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhfYWxpZ246ICJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZfYWxpZ246ICJjZW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaF9vZmZzZXQ6IDIwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdl9vZmZzZXQ6IDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhfYWxpZ246ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2X2FsaWduOiAiY2VudGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhfb2Zmc2V0OiAyMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZfb2Zmc2V0OiAwCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgdmlzaWJpbGl0eUxldmVsczogWzEyNDAsIDEwMjQsIDc3OCwgNDgwXSwKICAgICAgICAgICAgICAgIHJlc3BvbnNpdmVMZXZlbHM6IFsxMjAwLCAxMTk5LCA5OTIsIDc2OCwgNTc2XSwKICAgICAgICAgICAgICAgIGdyaWR3aWR0aDogWzExNDAsIDk2MCwgNzIwLCA1NDBdLAogICAgICAgICAgICAgICAgZ3JpZGhlaWdodDogWzcwMCwgNjUwLCA2MDAsIDQwMF0sCiAgICAgICAgICAgICAgICBsYXp5VHlwZTogIm5vbmUiLAogICAgICAgICAgICAgICAgc2hhZG93OiAwLAogICAgICAgICAgICAgICAgc3Bpbm5lcjogInNwaW5uZXIwIiwKICAgICAgICAgICAgICAgIHN0b3BMb29wOiAib2ZmIiwKICAgICAgICAgICAgICAgIHN0b3BBZnRlckxvb3BzOiAtMSwKICAgICAgICAgICAgICAgIHN0b3BBdFNsaWRlOiAtMSwKICAgICAgICAgICAgICAgIHNodWZmbGU6ICJvZmYiLAogICAgICAgICAgICAgICAgYXV0b0hlaWdodDogIm9mZiIsCiAgICAgICAgICAgICAgICBkaXNhYmxlUHJvZ3Jlc3NCYXI6ICJvbiIsCiAgICAgICAgICAgICAgICBoaWRlVGh1bWJzT25Nb2JpbGU6ICJvZmYiLAogICAgICAgICAgICAgICAgaGlkZVNsaWRlckF0TGltaXQ6IDAsCiAgICAgICAgICAgICAgICBoaWRlQ2FwdGlvbkF0TGltaXQ6IDAsCiAgICAgICAgICAgICAgICBoaWRlQWxsQ2FwdGlvbkF0TGlsbWl0OiAwLAogICAgICAgICAgICAgICAgZGVidWdNb2RlOiAhMSwKICAgICAgICAgICAgICAgIGZhbGxiYWNrczogewogICAgICAgICAgICAgICAgICAgIHNpbXBsaWZ5QWxsOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBuZXh0U2xpZGVPbldpbmRvd0ZvY3VzOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBkaXNhYmxlRm9jdXNMaXN0ZW5lcjogITEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSksIG51bGwgPT0gaSgiI3Jldl9zbGlkZXJfMzVfMSIpLnJldm9sdXRpb24gPyByZXZzbGlkZXJfc2hvd0RvdWJsZUpxdWVyeUVycm9yKCIjcmV2X3NsaWRlcl8zNV8xIikgOiBpKCIjcmV2X3NsaWRlcl8zNV8xIikuc2hvdygpLnJldm9sdXRpb24oewogICAgICAgICAgICAgICAgc2xpZGVyVHlwZTogInN0YW5kYXJkIiwKICAgICAgICAgICAgICAgIHNsaWRlckxheW91dDogImZ1bGx3aWR0aCIsCiAgICAgICAgICAgICAgICBkb3R0ZWRPdmVybGF5OiAibm9uZSIsCiAgICAgICAgICAgICAgICBkZWxheTogOWUzLAogICAgICAgICAgICAgICAgbmF2aWdhdGlvbjogewogICAgICAgICAgICAgICAgICAgIG9uSG92ZXJTdG9wOiAib2ZmIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHZpc2liaWxpdHlMZXZlbHM6IFsxMjAwLCAxMTk5LCA5OTIsIDc2OCwgNTc2XSwKICAgICAgICAgICAgICAgIHJlc3BvbnNpdmVMZXZlbHM6IFsxMjAwLCAxMTk5LCA5OTIsIDc2OCwgNTc2XSwKICAgICAgICAgICAgICAgIGdyaWR3aWR0aDogWzExMTAsIDk2MCwgNzIwLCA1NDBdLAogICAgICAgICAgICAgICAgZ3JpZGhlaWdodDogWzg1MCwgNjUwLCA2MDAsIDQwMF0sCiAgICAgICAgICAgICAgICBsYXp5VHlwZTogIm5vbmUiLAogICAgICAgICAgICAgICAgcGFyYWxsYXg6IHsKICAgICAgICAgICAgICAgICAgICB0eXBlOiAibW91c2UiLAogICAgICAgICAgICAgICAgICAgIG9yaWdvOiAiZW50ZXJwb2ludCIsCiAgICAgICAgICAgICAgICAgICAgc3BlZWQ6IDcwMCwKICAgICAgICAgICAgICAgICAgICBzcGVlZGJnOiAwLAogICAgICAgICAgICAgICAgICAgIHNwZWVkbHM6IDAsCiAgICAgICAgICAgICAgICAgICAgbGV2ZWxzOiBbNSwgMTAsIDE1LCAyMCwgMjUsIDMwLCAzNSwgNDAsIDQ1LCA0NiwgNDcsIDQ4LCA0OSwgNTAsIDUxLCA1NV0sCiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZV9vbm1vYmlsZTogIm9uIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHNoYWRvdzogMCwKICAgICAgICAgICAgICAgIHNwaW5uZXI6ICJzcGlubmVyMCIsCiAgICAgICAgICAgICAgICBzdG9wTG9vcDogIm9mZiIsCiAgICAgICAgICAgICAgICBzdG9wQWZ0ZXJMb29wczogLTEsCiAgICAgICAgICAgICAgICBzdG9wQXRTbGlkZTogLTEsCiAgICAgICAgICAgICAgICBzaHVmZmxlOiAib2ZmIiwKICAgICAgICAgICAgICAgIGF1dG9IZWlnaHQ6ICJvZmYiLAogICAgICAgICAgICAgICAgZGlzYWJsZVByb2dyZXNzQmFyOiAib24iLAogICAgICAgICAgICAgICAgaGlkZVRodW1ic09uTW9iaWxlOiAib2ZmIiwKICAgICAgICAgICAgICAgIGhpZGVTbGlkZXJBdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUNhcHRpb25BdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUFsbENhcHRpb25BdExpbG1pdDogMCwKICAgICAgICAgICAgICAgIGRlYnVnTW9kZTogITEsCiAgICAgICAgICAgICAgICBmYWxsYmFja3M6IHsKICAgICAgICAgICAgICAgICAgICBzaW1wbGlmeUFsbDogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgbmV4dFNsaWRlT25XaW5kb3dGb2N1czogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZUZvY3VzTGlzdGVuZXI6ICExCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLCBudWxsID09IGkoIiNyZXZfc2xpZGVyXzM2XzEiKS5yZXZvbHV0aW9uID8gcmV2c2xpZGVyX3Nob3dEb3VibGVKcXVlcnlFcnJvcigiI3Jldl9zbGlkZXJfMzZfMSIpIDogaSgiI3Jldl9zbGlkZXJfMzZfMSIpLnNob3coKS5yZXZvbHV0aW9uKHsKICAgICAgICAgICAgICAgIHNsaWRlclR5cGU6ICJzdGFuZGFyZCIsCiAgICAgICAgICAgICAgICBzbGlkZXJMYXlvdXQ6ICJmdWxsd2lkdGgiLAogICAgICAgICAgICAgICAgZG90dGVkT3ZlcmxheTogIm5vbmUiLAogICAgICAgICAgICAgICAgZGVsYXk6IDllMywKICAgICAgICAgICAgICAgIG5hdmlnYXRpb246IHsKICAgICAgICAgICAgICAgICAgICBvbkhvdmVyU3RvcDogIm9mZiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5TGV2ZWxzOiBbMTIwMCwgMTE5OSwgOTkyLCA3NjgsIDU3Nl0sCiAgICAgICAgICAgICAgICByZXNwb25zaXZlTGV2ZWxzOiBbMTIwMCwgMTE5OSwgOTkyLCA3NjgsIDU3Nl0sCiAgICAgICAgICAgICAgICBncmlkd2lkdGg6IFsxMTEwLCA5NjAsIDcyMCwgNTQwXSwKICAgICAgICAgICAgICAgIGdyaWRoZWlnaHQ6IFs3MDAsIDY1MCwgNjAwLCA0MDBdLAogICAgICAgICAgICAgICAgbGF6eVR5cGU6ICJub25lIiwKICAgICAgICAgICAgICAgIHBhcmFsbGF4OiB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogIm1vdXNlIiwKICAgICAgICAgICAgICAgICAgICBvcmlnbzogImVudGVycG9pbnQiLAogICAgICAgICAgICAgICAgICAgIHNwZWVkOiA3MDAsCiAgICAgICAgICAgICAgICAgICAgc3BlZWRiZzogMCwKICAgICAgICAgICAgICAgICAgICBzcGVlZGxzOiAwLAogICAgICAgICAgICAgICAgICAgIGxldmVsczogWzUsIDEwLCAxNSwgMjAsIDI1LCAzMCwgMzUsIDQwLCA0NSwgNDYsIDQ3LCA0OCwgNDksIDUwLCA1MSwgNTVdLAogICAgICAgICAgICAgICAgICAgIGRpc2FibGVfb25tb2JpbGU6ICJvbiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBzaGFkb3c6IDAsCiAgICAgICAgICAgICAgICBzcGlubmVyOiAic3Bpbm5lcjAiLAogICAgICAgICAgICAgICAgc3RvcExvb3A6ICJvZmYiLAogICAgICAgICAgICAgICAgc3RvcEFmdGVyTG9vcHM6IC0xLAogICAgICAgICAgICAgICAgc3RvcEF0U2xpZGU6IC0xLAogICAgICAgICAgICAgICAgc2h1ZmZsZTogIm9mZiIsCiAgICAgICAgICAgICAgICBhdXRvSGVpZ2h0OiAib2ZmIiwKICAgICAgICAgICAgICAgIGRpc2FibGVQcm9ncmVzc0JhcjogIm9uIiwKICAgICAgICAgICAgICAgIGhpZGVUaHVtYnNPbk1vYmlsZTogIm9mZiIsCiAgICAgICAgICAgICAgICBoaWRlU2xpZGVyQXRMaW1pdDogMCwKICAgICAgICAgICAgICAgIGhpZGVDYXB0aW9uQXRMaW1pdDogMCwKICAgICAgICAgICAgICAgIGhpZGVBbGxDYXB0aW9uQXRMaWxtaXQ6IDAsCiAgICAgICAgICAgICAgICBkZWJ1Z01vZGU6ICExLAogICAgICAgICAgICAgICAgZmFsbGJhY2tzOiB7CiAgICAgICAgICAgICAgICAgICAgc2ltcGxpZnlBbGw6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIG5leHRTbGlkZU9uV2luZG93Rm9jdXM6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIGRpc2FibGVGb2N1c0xpc3RlbmVyOiAhMQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KSwgbnVsbCA9PSBpKCIjcmV2X3NsaWRlcl83XzEiKS5yZXZvbHV0aW9uID8gcmV2c2xpZGVyX3Nob3dEb3VibGVKcXVlcnlFcnJvcigiI3Jldl9zbGlkZXJfN18xIikgOiBpKCIjcmV2X3NsaWRlcl83XzEiKS5zaG93KCkucmV2b2x1dGlvbih7CiAgICAgICAgICAgICAgICBzbGlkZXJUeXBlOiAic3RhbmRhcmQiLAogICAgICAgICAgICAgICAgc2xpZGVyTGF5b3V0OiAiZnVsbHdpZHRoIiwKICAgICAgICAgICAgICAgIGRvdHRlZE92ZXJsYXk6ICJub25lIiwKICAgICAgICAgICAgICAgIGRlbGF5OiA5ZTMsCiAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uOiB7CiAgICAgICAgICAgICAgICAgICAgb25Ib3ZlclN0b3A6ICJvZmYiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgdmlzaWJpbGl0eUxldmVsczogWzEyMDAsIDExOTksIDk5MiwgNzY4LCA1NzZdLAogICAgICAgICAgICAgICAgcmVzcG9uc2l2ZUxldmVsczogWzEyMDAsIDExOTksIDk5MiwgNzY4LCA1NzZdLAogICAgICAgICAgICAgICAgZ3JpZHdpZHRoOiBbMTExMCwgOTYwLCA3MjAsIDU0MF0sCiAgICAgICAgICAgICAgICBncmlkaGVpZ2h0OiBbNzAwLCA2NTAsIDYwMCwgNDAwXSwKICAgICAgICAgICAgICAgIGxhenlUeXBlOiAibm9uZSIsCiAgICAgICAgICAgICAgICBwYXJhbGxheDogewogICAgICAgICAgICAgICAgICAgIHR5cGU6ICJtb3VzZSIsCiAgICAgICAgICAgICAgICAgICAgb3JpZ286ICJlbnRlcnBvaW50IiwKICAgICAgICAgICAgICAgICAgICBzcGVlZDogNzAwLAogICAgICAgICAgICAgICAgICAgIHNwZWVkYmc6IDAsCiAgICAgICAgICAgICAgICAgICAgc3BlZWRsczogMCwKICAgICAgICAgICAgICAgICAgICBsZXZlbHM6IFs1LCAxMCwgMTUsIDIwLCAyNSwgMzAsIDM1LCA0MCwgNDUsIDQ2LCA0NywgNDgsIDQ5LCA1MCwgNTEsIDU1XSwKICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX29ubW9iaWxlOiAib24iCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgc2hhZG93OiAwLAogICAgICAgICAgICAgICAgc3Bpbm5lcjogInNwaW5uZXIwIiwKICAgICAgICAgICAgICAgIHN0b3BMb29wOiAib2ZmIiwKICAgICAgICAgICAgICAgIHN0b3BBZnRlckxvb3BzOiAtMSwKICAgICAgICAgICAgICAgIHN0b3BBdFNsaWRlOiAtMSwKICAgICAgICAgICAgICAgIHNodWZmbGU6ICJvZmYiLAogICAgICAgICAgICAgICAgYXV0b0hlaWdodDogIm9mZiIsCiAgICAgICAgICAgICAgICBkaXNhYmxlUHJvZ3Jlc3NCYXI6ICJvbiIsCiAgICAgICAgICAgICAgICBoaWRlVGh1bWJzT25Nb2JpbGU6ICJvZmYiLAogICAgICAgICAgICAgICAgaGlkZVNsaWRlckF0TGltaXQ6IDAsCiAgICAgICAgICAgICAgICBoaWRlQ2FwdGlvbkF0TGltaXQ6IDAsCiAgICAgICAgICAgICAgICBoaWRlQWxsQ2FwdGlvbkF0TGlsbWl0OiAwLAogICAgICAgICAgICAgICAgZGVidWdNb2RlOiAhMSwKICAgICAgICAgICAgICAgIGZhbGxiYWNrczogewogICAgICAgICAgICAgICAgICAgIHNpbXBsaWZ5QWxsOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBuZXh0U2xpZGVPbldpbmRvd0ZvY3VzOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBkaXNhYmxlRm9jdXNMaXN0ZW5lcjogITEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSksIG51bGwgPT0gaSgiI3Jldl9zbGlkZXJfOF8xIikucmV2b2x1dGlvbiA/IHJldnNsaWRlcl9zaG93RG91YmxlSnF1ZXJ5RXJyb3IoIiNyZXZfc2xpZGVyXzhfMSIpIDogaSgiI3Jldl9zbGlkZXJfOF8xIikuc2hvdygpLnJldm9sdXRpb24oewogICAgICAgICAgICAgICAgc2xpZGVyTGF5b3V0OiAiZnVsbHdpZHRoIiwKICAgICAgICAgICAgICAgIGRvdHRlZE92ZXJsYXk6ICJub25lIiwKICAgICAgICAgICAgICAgIGRlbGF5OiA5ZTMsCiAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uOiB7fSwKICAgICAgICAgICAgICAgIHJlc3BvbnNpdmVMZXZlbHM6IFsxMjQwLCAxMDI0LCA3NzgsIDQ4MF0sCiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5TGV2ZWxzOiBbMTI0MCwgMTAyNCwgNzc4LCA0ODBdLAogICAgICAgICAgICAgICAgZ3JpZHdpZHRoOiBbMTkyMCwgMTAyNCwgNzc4LCA0ODBdLAogICAgICAgICAgICAgICAgZ3JpZGhlaWdodDogWzc4NywgNTAwLCA0MDAsIDM1MF0sCiAgICAgICAgICAgICAgICBsYXp5VHlwZTogIm5vbmUiLAogICAgICAgICAgICAgICAgc2hhZG93OiAwLAogICAgICAgICAgICAgICAgc3Bpbm5lcjogInNwaW5uZXIwIiwKICAgICAgICAgICAgICAgIGF1dG9IZWlnaHQ6ICJvZmYiLAogICAgICAgICAgICAgICAgZGlzYWJsZVByb2dyZXNzQmFyOiAib24iLAogICAgICAgICAgICAgICAgaGlkZVRodW1ic09uTW9iaWxlOiAib2ZmIiwKICAgICAgICAgICAgICAgIGhpZGVTbGlkZXJBdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUNhcHRpb25BdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUFsbENhcHRpb25BdExpbG1pdDogMCwKICAgICAgICAgICAgICAgIGRlYnVnTW9kZTogITEsCiAgICAgICAgICAgICAgICBmYWxsYmFja3M6IHsKICAgICAgICAgICAgICAgICAgICBzaW1wbGlmeUFsbDogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZUZvY3VzTGlzdGVuZXI6ICExCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLCBudWxsID09IGkoIiNyZXZfc2xpZGVyXzlfMSIpLnJldm9sdXRpb24gPyByZXZzbGlkZXJfc2hvd0RvdWJsZUpxdWVyeUVycm9yKCIjcmV2X3NsaWRlcl85XzEiKSA6IGkoIiNyZXZfc2xpZGVyXzlfMSIpLnNob3coKS5yZXZvbHV0aW9uKHsKICAgICAgICAgICAgICAgIHNsaWRlckxheW91dDogImF1dG8iLAogICAgICAgICAgICAgICAgZG90dGVkT3ZlcmxheTogIm5vbmUiLAogICAgICAgICAgICAgICAgZGVsYXk6IDllMywKICAgICAgICAgICAgICAgIG5hdmlnYXRpb246IHsKICAgICAgICAgICAgICAgICAgICBvbkhvdmVyU3RvcDogIm9mZiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICByZXNwb25zaXZlTGV2ZWxzOiBbMTI0MCwgMTAyNCwgNzc4LCA0ODBdLAogICAgICAgICAgICAgICAgdmlzaWJpbGl0eUxldmVsczogWzEyNDAsIDEwMjQsIDc3OCwgNDgwXSwKICAgICAgICAgICAgICAgIGdyaWR3aWR0aDogWzE5MjAsIDEwMjQsIDc3OCwgNDgwXSwKICAgICAgICAgICAgICAgIGdyaWRoZWlnaHQ6IFs3MDAsIDFlMywgMWUzLCA4MDBdLAogICAgICAgICAgICAgICAgbGF6eVR5cGU6ICJub25lIiwKICAgICAgICAgICAgICAgIHNoYWRvdzogMCwKICAgICAgICAgICAgICAgIHNwaW5uZXI6ICJzcGlubmVyMCIsCiAgICAgICAgICAgICAgICBzdG9wTG9vcDogIm9mZiIsCiAgICAgICAgICAgICAgICBzdG9wQWZ0ZXJMb29wczogLTEsCiAgICAgICAgICAgICAgICBzdG9wQXRTbGlkZTogLTEsCiAgICAgICAgICAgICAgICBzaHVmZmxlOiAib2ZmIiwKICAgICAgICAgICAgICAgIGF1dG9IZWlnaHQ6ICJvZmYiLAogICAgICAgICAgICAgICAgZGlzYWJsZVByb2dyZXNzQmFyOiAib24iLAogICAgICAgICAgICAgICAgaGlkZVRodW1ic09uTW9iaWxlOiAib2ZmIiwKICAgICAgICAgICAgICAgIGhpZGVTbGlkZXJBdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUNhcHRpb25BdExpbWl0OiAwLAogICAgICAgICAgICAgICAgaGlkZUFsbENhcHRpb25BdExpbG1pdDogMCwKICAgICAgICAgICAgICAgIGRlYnVnTW9kZTogITEsCiAgICAgICAgICAgICAgICBmYWxsYmFja3M6IHsKICAgICAgICAgICAgICAgICAgICBzaW1wbGlmeUFsbDogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgbmV4dFNsaWRlT25XaW5kb3dGb2N1czogIm9mZiIsCiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZUZvY3VzTGlzdGVuZXI6ICExCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLCBudWxsID09IGkoIiNyZXZfc2xpZGVyXzE1XzEiKS5yZXZvbHV0aW9uID8gcmV2c2xpZGVyX3Nob3dEb3VibGVKcXVlcnlFcnJvcigiI3Jldl9zbGlkZXJfMTVfMSIpIDogaSgiI3Jldl9zbGlkZXJfMTVfMSIpLnNob3coKS5yZXZvbHV0aW9uKHsKICAgICAgICAgICAgICAgIHNsaWRlclR5cGU6ICJzdGFuZGFyZCIsCiAgICAgICAgICAgICAgICBzbGlkZXJMYXlvdXQ6ICJmdWxsd2lkdGgiLAogICAgICAgICAgICAgICAgZG90dGVkT3ZlcmxheTogIm5vbmUiLAogICAgICAgICAgICAgICAgZGVsYXk6IDc1MDAsCiAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uOiB7CiAgICAgICAgICAgICAgICAgICAga2V5Ym9hcmROYXZpZ2F0aW9uOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBrZXlib2FyZF9kaXJlY3Rpb246ICJob3Jpem9udGFsIiwKICAgICAgICAgICAgICAgICAgICBtb3VzZVNjcm9sbE5hdmlnYXRpb246ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIG1vdXNlU2Nyb2xsUmV2ZXJzZTogImRlZmF1bHQiLAogICAgICAgICAgICAgICAgICAgIG9uSG92ZXJTdG9wOiAib2ZmIiwKICAgICAgICAgICAgICAgICAgICBidWxsZXRzOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZTogITAsCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfb25tb2JpbGU6ICExLAogICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogImVyaW55ZW4iLAogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX29ubGVhdmU6ICExLAogICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246ICJob3Jpem9udGFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgaF9hbGlnbjogImNlbnRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgIHZfYWxpZ246ICJib3R0b20iLAogICAgICAgICAgICAgICAgICAgICAgICBoX29mZnNldDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgdl9vZmZzZXQ6IDQwLAogICAgICAgICAgICAgICAgICAgICAgICBzcGFjZTogNSwKICAgICAgICAgICAgICAgICAgICAgICAgdG1wOiAiIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5TGV2ZWxzOiBbMTIwMCwgMTE5OSwgOTkyLCA3NjgsIDU3Nl0sCiAgICAgICAgICAgICAgICByZXNwb25zaXZlTGV2ZWxzOiBbMTIwMCwgMTE5OSwgOTkyLCA3NjgsIDU3Nl0sCiAgICAgICAgICAgICAgICBncmlkd2lkdGg6IFsxMTQwLCA5NjAsIDcyMCwgNTQwXSwKICAgICAgICAgICAgICAgIGdyaWRoZWlnaHQ6IFs3MDAsIDY1MCwgNjAwLCA0MDBdLAogICAgICAgICAgICAgICAgbGF6eVR5cGU6ICJub25lIiwKICAgICAgICAgICAgICAgIHBhcmFsbGF4OiB7CiAgICAgICAgICAgICAgICAgICAgdHlwZTogIm1vdXNlIiwKICAgICAgICAgICAgICAgICAgICBvcmlnbzogImVudGVycG9pbnQiLAogICAgICAgICAgICAgICAgICAgIHNwZWVkOiA0MDAsCiAgICAgICAgICAgICAgICAgICAgc3BlZWRiZzogMCwKICAgICAgICAgICAgICAgICAgICBzcGVlZGxzOiAwLAogICAgICAgICAgICAgICAgICAgIGxldmVsczogWzUsIDEwLCAxNSwgMjAsIDI1LCAzMCwgMzUsIDQwLCA0NSwgNDYsIDQ3LCA0OCwgNDksIDUwLCA1MSwgNTVdLAogICAgICAgICAgICAgICAgICAgIGRpc2FibGVfb25tb2JpbGU6ICJvbiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBzaGFkb3c6IDAsCiAgICAgICAgICAgICAgICBzcGlubmVyOiAic3Bpbm5lcjAiLAogICAgICAgICAgICAgICAgc3RvcExvb3A6ICJvZmYiLAogICAgICAgICAgICAgICAgc3RvcEFmdGVyTG9vcHM6IC0xLAogICAgICAgICAgICAgICAgc3RvcEF0U2xpZGU6IC0xLAogICAgICAgICAgICAgICAgc2h1ZmZsZTogIm9mZiIsCiAgICAgICAgICAgICAgICBhdXRvSGVpZ2h0OiAib2ZmIiwKICAgICAgICAgICAgICAgIGRpc2FibGVQcm9ncmVzc0JhcjogIm9uIiwKICAgICAgICAgICAgICAgIGhpZGVUaHVtYnNPbk1vYmlsZTogIm9mZiIsCiAgICAgICAgICAgICAgICBoaWRlU2xpZGVyQXRMaW1pdDogMCwKICAgICAgICAgICAgICAgIGhpZGVDYXB0aW9uQXRMaW1pdDogMCwKICAgICAgICAgICAgICAgIGhpZGVBbGxDYXB0aW9uQXRMaWxtaXQ6IDAsCiAgICAgICAgICAgICAgICBkZWJ1Z01vZGU6ICExLAogICAgICAgICAgICAgICAgZmFsbGJhY2tzOiB7CiAgICAgICAgICAgICAgICAgICAgc2ltcGxpZnlBbGw6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIG5leHRTbGlkZU9uV2luZG93Rm9jdXM6ICJvZmYiLAogICAgICAgICAgICAgICAgICAgIGRpc2FibGVGb2N1c0xpc3RlbmVyOiAhMQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQogICAgICAgIH0KICAgICAgICAvbG9hZGVkfGludGVyYWN0aXZlfGNvbXBsZXRlLy50ZXN0KGRvY3VtZW50LnJlYWR5U3RhdGUpID8gZSgpIDogZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGUpCiAgICB9KCkKfShqUXVlcnkpOw=="}},"time_used":162,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":133,"receive":29,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69352.33011f244b92ea0b642c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.620Z","timestamp":1785129292620,"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/69352.33011f244b92ea0b642c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-1251\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c9c64d84d36afa61c679d36626592625\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4689,"size_decoded":2599,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3069)","md5":"5892ca5b3227e78df9d2ab92c3248724","sha1":"60544e547f80c21daf35460e9a75d3e817a58acd","sha256":"69236d01bc831a7a43ff776d09a39734ce30f2be4ecd83b55272b4c1d798c182","sha512":"1a6f2ba628e22166c5e1285ea8771085d4fb4bc18728dd29dcc612bfff921b3cde7047233fac48e47050cb6922013824b1166676d4d77219f87ed820d7333524","ssdeep":"48:fGoeBtt/RMHZr15WY7bq5+EGbplkGbDlZ6JGbHwa+EPyZT1k0SL6tGbdnRyeqg5v:RZ15FbqYtZ6UyEeT1hUAeJ4hZ72cYtOO","tlshash":"6ea165cd33c5f46523e2aad7a4bf510be13e198d601c6814b399e8e178579ce8132f78","first_seen":"2026-07-23T13:38:20.554349Z","last_seen":"2026-07-27T08:06:56.378634Z","times_seen":565,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2OTM1Ml0sezkxNDQ4NyhlLHQpe3ZhciBuOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBpKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07aWYobil7dmFyIHM9dHlwZW9mIG47aWYoInN0cmluZyI9PT1zfHwibnVtYmVyIj09PXMpZS5wdXNoKG4pO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShuKSYmbi5sZW5ndGgpe3ZhciBvPWkuYXBwbHkobnVsbCxuKTtvJiZlLnB1c2gobyl9ZWxzZSBpZigib2JqZWN0Ij09PXMpZm9yKHZhciB1IGluIG4pci5jYWxsKG4sdSkmJm5bdV0mJmUucHVzaCh1KX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oaS5kZWZhdWx0PWksZS5leHBvcnRzPWkpOnZvaWQgMD09PShuPWZ1bmN0aW9uKCl7cmV0dXJuIGl9LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1uKX0oKX0sODI5MTgwKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9big2MDE4NDEpO2NvbnN0IGk9L3soXHcrKX0vZyxzPS97KFxkKyl9L2c7U3RyaW5nLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oLi4uZSl7Y29uc3QgdD0oMCxyLmlzT2JqZWN0KShlWzBdKSxuPXQ/aTpzLG89dD8odCxuKT0+e2NvbnN0IHI9ZVswXTtyZXR1cm4gdm9pZCAwIT09cltuXT9yW25dOnR9Oih0LG4pPT57Y29uc3Qgcj1wYXJzZUludChuLDEwKSxpPWVbcl07cmV0dXJuIHZvaWQgMCE9PWk/aTp0fTtyZXR1cm4gdGhpcy5yZXBsYWNlKG4sbyl9fSwzNjMyNjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bW9iaWxldG91Y2g6KCk9Pmksc2V0Q2xhc3NlczooKT0+c30pO3ZhciByPW4oNzM4NDU4KTtjb25zdCBpPXIubW9iaWxldG91Y2g7ci50b3VjaDtmdW5jdGlvbiBzKCl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoci50b3VjaD8iZmVhdHVyZS10b3VjaCI6ImZlYXR1cmUtbm8tdG91Y2giLHIubW9iaWxldG91Y2g/ImZlYXR1cmUtbW9iaWxldG91Y2giOiJmZWF0dXJlLW5vLW1vYmlsZXRvdWNoIil9fSwxODUyNzEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dDooKT0+ci50fSk7big4MjkxODApO3ZhciByPW4oNzgzMjU0KX0sNTI3MzIzKGUsdCxuKXt2YXIgcjshZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoKXt9dmFyIHM9aS5wcm90b3R5cGUsbz10LkV2ZW50RW1pdHRlcjtmdW5jdGlvbiB1KGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoO24tLTspaWYoZVtuXS5saXN0ZW5lcj09PXQpcmV0dXJuIG47cmV0dXJuLTF9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tlXS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGEoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV8fGUgaW5zdGFuY2VvZiBSZWdFeHB8fCEoIWV8fCJvYmplY3QiIT10eXBlb2YgZSkmJmEoZS5saXN0ZW5lcil9cy5nZXRMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7dmFyIHQsbixyPXRoaXMuX2dldEV2ZW50cygpO2lmKGUgaW5zdGFuY2VvZiBSZWdFeHApZm9yKG4gaW4gdD17fSxyKXIuaGFzT3duUHJvcGVydHkobikmJmUudGVzdChuKSYmKHRbbl09cltuXSk7ZWxzZSB0PXJbZV18fChyW2VdPVtdKTtyZXR1cm4gdH0scy5mbGF0dGVuTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0LG49W107Zm9yKHQ9MDt0PGUubGVuZ3RoO3QrPTEpbi5wdXNoKGVbdF0ubGlzdGVuZXIpO3JldHVybiBufSxzLmdldExpc3RlbmVyc0FzT2JqZWN0PWZ1bmN0aW9uKGUpe3ZhciB0LG49dGhpcy5nZXRMaXN0ZW5lcnMoZSk7cmV0dXJuIG4gaW5zdGFuY2VvZiBBcnJheSYmKCh0PXt9KVtlXT1uKSx0fHxufSxzLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYoIWEodCkpdGhyb3cgbmV3IFR5cGVFcnJvcigibGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIik7dmFyIG4scj10aGlzLmdldExpc3RlbmVyc0FzT2JqZWN0KGUpLGk9Im9iamVjdCI9PXR5cGVvZiB0O2ZvcihuIGluIHIpci5oYXNPd25Qcm9wZXJ0eShuKSYmLTE9PT11KHJbbl0sdCkmJnJbbl0ucHVzaChpP3Q6e2xpc3RlbmVyOnQsb25jZTohMX0pO3JldHVybiB0aGlzfSxzLm9uPWMoImFkZExpc3RlbmVyIikscy5hZGRPbmNlTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5hZGRMaXN0ZW5lcihlLHtsaXN0ZW5lcjp0LG9uY2U6ITB9KX0scy5vbmNlPWMoImFkZE9uY2VMaXN0ZW5lciIpLHMuZGVmaW5lRXZlbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZ2V0TGlzdGVuZXJzKGUpLHRoaXN9LHMuZGVmaW5lRXZlbnRzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCs9MSl0aGlzLmRlZmluZUV2ZW50KGVbdF0pO3JldHVybiB0aGlzfSxzLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpPXRoaXMuZ2V0TGlzdGVuZXJzQXNPYmplY3QoZSk7Zm9yKHIgaW4gaSlpLmhhc093blByb3BlcnR5KHIpJiYtMSE9PShuPXUoaVtyXSx0KSkmJmlbcl0uc3BsaWNlKG4sMSk7cmV0dXJuIHRoaXN9LHMub2ZmPWMoInJlbW92ZUxpc3RlbmVyIikscy5hZGRMaXN0ZW5lcnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tYW5pcHVsYXRlTGlzdGVuZXJzKCExLGUsdCl9LHMucmVtb3ZlTGlzdGVuZXJzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubWFuaXB1bGF0ZUxpc3RlbmVycyghMCxlLHQpfSxzLm1hbmlwdWxhdGVMaXN0ZW5lcnM9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGkscz1lP3RoaXMucmVtb3ZlTGlzdGVuZXI6dGhpcy5hZGRMaXN0ZW5lcixvPWU/dGhpcy5yZW1vdmVMaXN0ZW5lcnM6dGhpcy5hZGRMaXN0ZW5lcnM7aWYoIm9iamVjdCIhPXR5cGVvZiB0fHx0IGluc3RhbmNlb2YgUmVnRXhwKWZvcihyPW4ubGVuZ3RoO3ItLTspcy5jYWxsKHRoaXMsdCxuW3JdKTtlbHNlIGZvcihyIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShyKSYmKGk9dFtyXSkmJigiZnVuY3Rpb24iPT10eXBlb2YgaT9zLmNhbGwodGhpcyxyLGkpOm8uY2FsbCh0aGlzLHIsaSkpCjtyZXR1cm4gdGhpc30scy5yZW1vdmVFdmVudD1mdW5jdGlvbihlKXt2YXIgdCxuPXR5cGVvZiBlLHI9dGhpcy5fZ2V0RXZlbnRzKCk7aWYoInN0cmluZyI9PT1uKWRlbGV0ZSByW2VdO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIFJlZ0V4cClmb3IodCBpbiByKXIuaGFzT3duUHJvcGVydHkodCkmJmUudGVzdCh0KSYmZGVsZXRlIHJbdF07ZWxzZSBkZWxldGUgdGhpcy5fZXZlbnRzO3JldHVybiB0aGlzfSxzLnJlbW92ZUFsbExpc3RlbmVycz1jKCJyZW1vdmVFdmVudCIpLHMuZW1pdEV2ZW50PWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLHMsbz10aGlzLmdldExpc3RlbmVyc0FzT2JqZWN0KGUpO2ZvcihzIGluIG8paWYoby5oYXNPd25Qcm9wZXJ0eShzKSlmb3Iobj1vW3NdLnNsaWNlKDApLGk9MDtpPG4ubGVuZ3RoO2krKykhMD09PShyPW5baV0pLm9uY2UmJnRoaXMucmVtb3ZlTGlzdGVuZXIoZSxyLmxpc3RlbmVyKSxyLmxpc3RlbmVyLmFwcGx5KHRoaXMsdHx8W10pPT09dGhpcy5fZ2V0T25jZVJldHVyblZhbHVlKCkmJnRoaXMucmVtb3ZlTGlzdGVuZXIoZSxyLmxpc3RlbmVyKTtyZXR1cm4gdGhpc30scy50cmlnZ2VyPWMoImVtaXRFdmVudCIpLHMuZW1pdD1mdW5jdGlvbihlKXt2YXIgdD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIHRoaXMuZW1pdEV2ZW50KGUsdCl9LHMuc2V0T25jZVJldHVyblZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9vbmNlUmV0dXJuVmFsdWU9ZSx0aGlzfSxzLl9nZXRPbmNlUmV0dXJuVmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5oYXNPd25Qcm9wZXJ0eSgiX29uY2VSZXR1cm5WYWx1ZSIpfHx0aGlzLl9vbmNlUmV0dXJuVmFsdWV9LHMuX2dldEV2ZW50cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9ldmVudHN8fCh0aGlzLl9ldmVudHM9e30pfSxpLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5FdmVudEVtaXR0ZXI9byxpfSx2b2lkIDA9PT0ocj1mdW5jdGlvbigpe3JldHVybiBpfS5jYWxsKHQsbix0LGUpKXx8KGUuZXhwb3J0cz1yKX0odGhpc3x8e30pfSw4MTczNTAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+c30pO3ZhciByPW4oMTc4NDk3KSxpPW4oMzYwNjIwKTtjb25zdCBzPWZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZXx8ITE9PT1lfHwoMCxpLmRlZmF1bHQpKGUpJiYiW29iamVjdCBCb29sZWFuXSI9PSgwLHIuZGVmYXVsdCkoZSl9fSwyMDY2NzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+c30pO3ZhciByPW4oMTc4NDk3KSxpPW4oMzYwNjIwKTtjb25zdCBzPWZ1bmN0aW9uKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZXx8KDAsaS5kZWZhdWx0KShlKSYmIltvYmplY3QgTnVtYmVyXSI9PSgwLHIuZGVmYXVsdCkoZSl9fSwzMDQyMjEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+b30pO3ZhciByPW4oMTc4NDk3KSxpPW4oMjk1NjM1KSxzPW4oMzYwNjIwKTtjb25zdCBvPWZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZXx8ISgwLGkuZGVmYXVsdCkoZSkmJigwLHMuZGVmYXVsdCkoZSkmJiJbb2JqZWN0IFN0cmluZ10iPT0oMCxyLmRlZmF1bHQpKGUpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:53.610Z","timestamp":1785129293610,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js HTTP/1.1\r\nHost: www.youtube-nocookie.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 475313\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 07:41:04 GMT\r\nexpires: Thu, 22 Jul 2027 07:41:04 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 423229\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1597230,"size_decoded":476001,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (787)","md5":"ef473a4d0528fc7651d726fa43900068","sha1":"3b0d807a63c3244fc3fedeac020c2e81106185e1","sha256":"360a9b05bfc89caf69f220ef2473c20d1657318e21c4e0ffdab81e238b42dc61","sha512":"590afd923ebf8ce8da8def22bdf6149595740d96360cbf541954f52366a31fd5e3d3e6d8dd973044383f2cbad84c18f9f67ff69bf04c3dc6891b35b3eb29bb90","ssdeep":"24576:JddEUuuYnFCL4xFUnYNmJYqJNI5Dt/yV2hD4kf:fdhuuYnFCL4MVJBJO5DtKV2hdf","tlshash":"7e255b9977f2b46343a3f0e0286f018ab17f591454ccd46cb9a9e5f42da090e917bfac","first_seen":"2026-07-22T15:37:53.752532Z","last_seen":"2026-07-27T08:08:01.174134Z","times_seen":1534,"resource_available":false,"data":"dmFyIF95dF9wbGF5ZXI9e307KGZ1bmN0aW9uKGcpe3ZhciB3aW5kb3c9dGhpczsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIENvcHlyaWdodCBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwovKgoKIENvcHlyaWdodCAyMDE1LXByZXNlbnQgRGFuIEFicmFtb3YKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKi8KJ3VzZSBzdHJpY3QnO3ZhciBJPSd0b1N0cmluZztOO2Ntbz10ZDtzcGxpY2U7MTk3MC0wMS0wMVQxMTo0NTo0MS4wMDArMTE6NDU7bGVuZ3RoO21hdGNoOy87Y2xvbmU7WDtjYWxsO3Rocm93O2Ntbztqb2luO2Fzc2lnbjsvdmlkZW9wbGF5YmFjaztodHRwOi8vbG9jYWw7SjtpbmRleE9mO3d3dy55b3V0dWJlLmNvbTtzcDs7cHVzaDtzbGljZTtHRztyZXZlcnNlO3NjaGVtZTtcXC5nb29nbGV2aWRlb1xcLmNvbSQ7cGF0aDt1cmw7L2luaXRwbGF5YmFjaztuO3BsYXllcmZhbGxiYWNrO2dldDtzZXQ7c3RhcnRzV2l0aDtzcGxpdDs9O2ZhbGxiYWNrX2NvdW50O1c7MTtWO3k3O3Vuc2hpZnQ7cnI7dW5kZWZpbmVkO3BvcDssO2luZGV4Lm0zdTg7Jjtmcm9tQ2hhckNvZGU7V3NsWmtDWm96bFlyNkVCME43LV93OF87cnI/WzEtOV0uKlxcLmNcXC55b3V0dWJlXFwuY29tJDsxOTcwLTAxLTAxVDAyOjMwOjMxLjAwMCswMjozMDslM0Q7RWw7XFwuYTFcXC5nb29nbGV2aWRlb1xcLmNvbSQ7bGV0O0VJO3M7Zm9yRWFjaDt5SXkxUGEyOzE5NjktMTItMzFUMTc6MDA6MzcuMDAwLTA3OjAwO2xvY2FsO2Zvcjt5b3V0dWJlLnBsYXllci53ZWJfMjAyNjA3MjFfMDhfUkMwMDsvZmlsZS9pbmRleC5tM3U4OywiIns7Oi8vO1VudHJ1c3RlZCBVUkw7ZnZpcDthMS5nb29nbGV2aWRlby5jb207V0Q7aHR0cHM6Ly9sb2NhbDttbjsvLztmaWxlO3NpZ25hdHVyZUNpcGhlcjsvYXBpL21hbmlmZXN0O2Ntbz1wZjtyO3JlcGxhY2U7cmVkaXJlY3Rvci5nb29nbGV2aWRlby5jb207LCx9L1wnO3hpJy5zcGxpdCgiOyIpLApXWixuMncsaGksazIsdjJDLGVVLE5pLHB0LEFpLGhNaSxFdyx1eCxkcix4aU0semIsbHgsTFMxLFZqLGVNcixENCxrMyx4MyxneixxVSxKRixTaixtYyxLYixPTSxxd3QsR2JpLFYyLERlLGFNLHRVaCx2NCxucCwkaXgsaEEscmliLHhsLGUxLFhNLHFoLEc1LHNULHBwLEkxaSxTd2gsSkEsUzEsQUEsbVcsS3AsUDQsWmUseUcsVDUsS1MxLFJQLE90aSxadFosbjAsVWl3LFcyLERYLGJwLGtLLGg0LHlpdCx4SyxMMCwkSyxzQSxOeCxwMCxZSyxTdSx1aGgsemgsbHAsbzIsVUEsek0yLEMwLE14LFFsLFZsLFIyLGMyLG41LFc5LHY5LGtVLGhfLEw1LFhELHEzLE4zLHA1LEg5LGY1LFlVLEkwLFNYLG0wLEs1LE9fLFpCLFVfLEVfLHU0LEM1LEI5LG8wLHo5LEZELGpDaCxDeE0sYTAsbkcsRlMyLFdILGJXLGh2LHh2LGVXLGdnLHdaQyxHeix0dixWVVMscmcsTkUsWXYscEcsbjMyLFNXLEp2LFdjcixiYlosT0ssbV8sUEgsWlIsVUsseWcsS0csaVcsRUssb3osdVcsQ0csZGcsbFcsRkYsTUUsUnosClFnLGNILEQyLGJhLHZXLGF6LFdXLG5uLGhTLHg5LGVFLGdlLHFILFhfLFZHLHRTLCQ5LHJlLHNWLGpXLE5ILGFQLHBuLFk5LEhXLEpTLElZLEFTLEtuLFBXLHkxLHVhLG9ZLGs0MixaMixpYSx6JCxsYSxDbixqRSxGXyx3ZSxNSCxRMSxhWSxEOSxiRyxrbSx4bSxMaCx4VWosWHQsWW0sSHksSjMsSXgsU0MsQTMsbTQsS2gsT3MseW0sRXMsaUcsUHksdUcsb3gsZEcsVFMsQ2gsd0csTWYsUngsakMsVm0sYXgsbjgsWE1pLGczVSxiNixrbixoOSxMOCxxTU0sZTYsWGYsc2YsTlkscDgsSjksSV8sSzgsdGpVLHU2LG9fLHNNMixkUSxOenIsenYsbDYsVHYsajYsQzgsQk8sd1EsUl8sY08sV3gsdngsa3ksaEsscWMsWFp4LEFLLG9oLHVrLE1jLHdtLGZULHBNeCxZTXgsbkssdkwsREQsSGJTLEpGWixMSyxJNFMsZWcsZ0QsQUZaLG1VdyxTTVMsS2NoLFBfaSxaYmgsVVViLHJGdCxQTywkVU0sRzcseUZaLGVYLFhULEUzdCxpYlUsJEUsckQsTjUsbzNiLEhMLGZLLEpILElXLEFILEtLLGRVcixTZywKeTcsRTIsWkQsekJ0LE8yLG1oLGRELGw0aixUenIsak1oLHE4LCRHLHBxLFlHLFNPLGdwLEJ6aSxKJCxISixmcSxLcSxDXzEsRXUsdWUsbzUsRmNiLGRwLHozLHdNUyxsZSxUMyxqTyxSQmIsQkosRjEsd3AsUU1VLFY4LFI1LG5WLFE4LGE1LFczLERvLFZqdCx2MyxubDEsV1dyLGJwTSxibixMVix2bHIsZyQsazVaLHRxLFg2LGhIUyx4aGIsTFcyLGVIaCxnbGgsc2wsSDMsRzVoLHJBYixzUDIsTlR0LHA0aSwkaGgsdDFVLEpxLG1JLElpLFlUVSxPbCxQMyxabyx5aSxFbCxmZWIsSkF3LElldyxtaHcsU1RyLG9pLGQkLGxuLHpILEtXVSxCMyxQZjIsam0sT3BpLE12LHckLHlBMSxFbGksaXByLHVNWixSaSxuVyx6SGksVFRyLHZZLGtxLHhxLFhtLHF0LHQxLE50LHNqLENmMSxGV1osdzRyLFlxLEoxLElzLEhZLGZXLFYxVSxBMSxTUyxtRyxLVyxPaixaYSxQWSxjQVUsYWVoLG5LaSx5TixFaixpcix1cixscixvcyx6TixiMHgsZGgsVE4sQ1csalMsV3hoLHZLYixCWSxGbSx3aCxNdCxScyxRTiwKVk4sY1ksYXMsbl8sV0ssaEN4LERpLGJILHZLLGt0LHh4aixMeGksZUNVLGdLdCxYZCxZWSxoYSx4dCxMXyxxdyxzMncsclgsTldoLFl0LEhLLElGLFNBLEFhLG1hLHlLLHAyaix1SCxZQTEsbEgsVEssSDBpLGpBLENfLEJLLEo0cix3WCxNdyxSRixRSyxWSyxJWDEsY0ssYUYsbmUsV1MsRFEsYkMsa2oseGosTGUsZXYsdGsscjcscyQsTjYscGUsWWosSFMsZmUsSmssSVMsU3YsVSQsRSQsaUMsdUMsQTR4LG9TLGQ3LGxDLFRCLGp2LHc3LE02LFJTLFF0LGFTLG53LFdWLG14aixLeFUsREUsTzBpLFBwMSx2VixYJCxxTixVeGoseTQyLCRmLE5OLHB3LGZ3LFlmLEpyLG15LGkwYixQVixPdCxaRSx5Rix1dyxkMixDdyxVdCxUVzIsYUUsY1YsVzAsRHIsdjAsa1QsYmIsaHkseFQsQ3BNLGc4LEJXaixYbixxWCx3MjIsdHksTXVDLFJDVSxRMmksajJaLGFYQyxuVXcsSUssQXksSyQsZ1osWnIsVXoseUgsRXosaWIsb0sselEsbGIsVFEsQyQsQjAsRm4sUkssVkgsYzAsbnksV0IsREksYk8sdkIsCmtSLEx5LGhPLGI1dCxnSixlXyxHMSx0TywkUixOMCx2VTEsc1AscHksazlpLEFPLG1ZLEt5LFVQLHl4LGlPLGhxaCxkSix6MSxUMSxqXyxCQix3SixSOSxNMCxhOSxiUSxrdSxMRixlRixnMCxYcSwkdSxlcTEsZ1VyLHBGLFl1LE5MLEhOLFg5VSxKYyxJZyxTRixBYyxPUixaeSxVUixLRix5YyxFUix1USx0WFUsJDN4LHMwcixkMCxyX2osRzl3LHpuLE5aaSxpUSxvZyxINXgsbFEsVG4sakYsQ0YsRnEsdzAsZkJVLEpfMixJQmksY04sYWcsV3osRG0sU19aLEFfcixtM3csSzByLGI5LHZ6LFA0TSxrTyxoNyx4TyxMUCxlOSxnMyxVM3QscUIsaTVoLHVEeCwkTyxyMyx0Nyx5X3Isc0osTkIscFAsWU8sR28sRVVTLEh6LGZQLEo3LEk3LEE3LG1ULEtQLE9KLFB6LFRaaixabSxvNyxkMyxsOSxqMHgsRjBNLEJaaCx6byxGMyxWZCxNWFMsdzMsY3osbm0sYTcsRDUsYk0sV1UsUnEyLFEwUyxWWDIsY19aLGtRLGFCUyxudjIsV19DLERFeCxiR0MsdnZpLGt6aSxoSSx4USx4RXcsTF9pLGd2dyxldywKTG0sJFEscUt3LHNjLHBtLFlRLHRXdywkRXQsZm0sT2MsUFUsWjUseUosRWMsU3csVWMsaU0scnZoLHN6Uyx1TSx6VCxqdyxUVCxCVSxsTSxDbSxNYixhSSxuWCxOZ3csY1UsVkosZ0UsZVosdHAsJG8sckUsWUtqLGZSMixTS0MsSnZaLHM5LElSMSxOaixISSxwWCxJYixBcCxLWCxaQSxQSSxPOSxVOSxpeSx1eSxkRSxLXzIsT0d4LFBXMSxRUixNaixjSSxDWCxuVSxxMSxiUix2cyxrQSxUcCxzeSxwVSxpR2osS1UsRXZDLGpaLG1yLER2LGc0LE4xLGFiLEY0LEJJLHdFLFZSLHI0LHVSLG92LEV5LFRVLGp5LENVLENXaSxCcyxGUix3NCxNMSxCZ3Isd0hDLE1XdyxRNCxjcyxuNCxhdixXYSxRejEsVld4LGhQLGtCLG45dyx4QixnSyxMNCxlaSxXTlUsREh0LGhUUyxLNCxPYSxnOWksdWcsaWcsWFdqLFRxLHFWWixqaSxHJGosenEsQzR3LG9VLGxnLGRLLFBhLEZqLHRFeCwkSHQsd0ssTWcsUTUsTmUyLGFVLG5CLGtWLGhtLHBXTSxMQixnYixYQSxxUSxHdyx0bSwkVixZVlMscmIsZUwsc0gsCnBCLEhiLGZCLFlWLElMLEhucixmMmosT0gsWk0sRUgseXYsaSQsSlNyLHp3LGRiLEkyWix1JCxTVjEsakwsQ0IsQVN4LG1IMSxLTnQsQmIsRkEsb0wsVHcsUGF4LGNiLFdQLFZ2LGtELHhELGVrLHlTaCxFOWIsaW53LGRIaix1X3QsR1cscGwsSFAsZmwsSmUselRqLElqLEFlLG1FLFNrLEtsLFRlYixPbyxQUCxqWTEsWlksRk54LEJlUyxDYVUsTUV3LFVvLFZFMixsMmoseXEsRW8sY1MyLHFyLHRlLER3LHZHLGtNLGhSLHhNLExSLGU1LGdkLFhhLHFELEc2LHRSLCRNLHJkLHN4LGEyMixwUixKUixJdyxtayxLUixPeCxQRyxadyxVeCx5QSxFeCxpaCx1aCxvdyxkZCxUNixqNSxDUixCRyx3ZCxNRCxRQSxjRyxuZixXZSxERyxiQixubWgsVzRVLERmUyxrJCxYOCx0RSxiaDEsJCQsc2UsTmEscGYsa1NqLHhmUyxIZSxMNFosZWFVLGdtMixKRSxJOCxxc1UsQUUsR1N3LCRmaSxLZixyM1osT2UsbUwsc3hyLHRDaCxTWSxQZSxaRyxweXQsWXNNLEhodyxVZSxJOTIseVcsRWUsdUIsU3NaLGROLApuYyxXUSx5M3IsYjAsRW14LHg1LExjLGV0LG9tTSx0aixYeSxkZjIsRzAsJDUsemFpLGw5aSxUR2gscWUsdXQyLHJhLHNoLEhRLEJHTSxGNGIsZmMsSmosUmFTLGE5cixxNCxubjEsdFgsck0scGksWXosZmksSWYsbVUsUzIsaGp0LEFYLHhZYixLaSxPMyxlancsWnEsZ25aLFAkLExEWixpWixYT2IscWZTLHQ2QyxyOVMsR3ZVLHNfMixOUWksajIsQiQsSDhyLFFyLEo5YixmOEMsTTQsVnIsUmYsYyQsSThqLEE5UyxTZmosRkcsbVl3LFA2Uyx3TSx1Zk0sb25yLGRZTSxpOFUsRW4yLHk5dCx6ajEsYWYscE9pLGw4dCxZZmksVFFNLGpfVSxuNyxGRGIsQzZVLFduLEJRdyx3T1osUmpVLFFfMSxNNlUsbnl3LFdCaixhODIsa0Z3LGhzdyxWNnIsYzlNLExCVSx4Y2Isa2QsZXNqLGhzLGd5MSxHRkMsWHh0LHRwYixxMGIsJGN4LHhkLEw3LGVJLHJLcixzaFosZ1AsTm10LFhOLHB4aSxZMFUscUcsR0UsSFRaLGZsaixKS2osSWxqLHRzLFMwdyxBS3IsbWNyLEtCTSxPVGIsUGtDLFpUVSxVY2kseUtDLApFeTIsaVR4LHVMMixveWgsZGN0LHpzMSxsbHIsVG1yLGpoTSxDa3gsQm1qLHd4WixNcEMsclAsc24scDcsWWQsUnN4LEhuLGY3LFFodyxKcyxWcEMsSU8sQXMsbTUsSzcsWlUsVW4seXcsaUosYWx4LG9PLHpFLFRFLGdYLEM3LGhBaSxCbixlQSxGTixlQVosTUcsUk8sVncsZ0V3LERjLHZBLGtKLFhMUyx4SixlSixnRixYcCxxZCxOZCxJRGgsUzJiLFlKLEhLaSwkNXIsSlQsc1diLElyLHJGLCRKLHRnaCxHN1UscTJDLHRULGZnLHNELEhBLFBBLFpjLFVELHlMLEVELGkzLHUzLG9yLGRGLHpfLFRfLGpKLENnLEJBLEZwLHdGLFFMLFd3LFZMLGNBLHZ3LGt4LGFyLEtoMixMcyxnQSxHaixQSUMsWktaLFl4LHBzLFU1WiwkeCxyQSxzWSxOayxIdyxmcyxKWSxJQixTUCxtdCxBWSx5SHIsS3MsUHcsRUVaLE9ZLFpfLGlLVSxVWSx5ZixvRWksemosbEwsalAsVGosQncsRjUsd0EsTWssUWYsY3csbnosV18sREosZDV3LGJULHZfLGtOLHpBMixoSix4TixMeixleCxnayxYeCxsRHgsVEQxLEdQLHRKLAokTixPdixQXyxaSixVdix5cyxkayx6UCx3TFUsbFQsVFAsangsQ3osTWdNLFJBUyxRV00sVmdpLGNIaixhRFUsRngsTUksbkdTLERPLHZSLGhNLHhYLExNLGVHLFhaLHEkLEdpLHRNLCRYLHJ5LHNOLE4kLFlYLGZNLEpNLElkLFNHLFFQLE9OLG1GLEtnLE0zLFpPLFVOLHZHVSx5VCxrM3IsaTgsdTgsZHksaGdTLHppLGw4LFRpLGpHLHJrLENNLEJSLHg4aixGWixNJCxSZCxRVCxWVCxjUixhZCxuNixXRix2RixMS1UsTDYsZWcxLGU0LFhKaSxxeixxdWosRzNDLHRPWix0WixzNVUsTnBqLHBKYixJbyxZdWgsSHFoLGZ0WixHXyxmRHcsJGcsUzQsSzYsT2ssUEYsSiRVLEl0aSxaSCx5QyxBWixFayxBJGksaUEsdUEsb28sbTh0LHp4LFR4LGo0LEM2LEJGLEtLdCxGdixwNixWQyxPcXgsVThaLERLLHJIaSxKSHIsdlgsaHoseGgsTE4sZVQsZzEsRUdDLCRoLG9HdyxkOGksaXF0LHR6LHUxcixsdGIsTlYsemcyLHBOLFRwYixIWCxORFMsWTJTLE9ELFNKLENlVSxmTixKeix3SngsajVpLFNULG1WLApLTixBeixPZCxQWCxSZ1UsRWQsVk9yLGF0dCxpbyxuWUMsb24sekwsWHYsVEwsalQsQlgsRlYsUU0sY1gsbG8sYzksV0UsYmksdkUsaHUsTEUsdHUsWnFTLHZZaixmRSxKdSxTTSxBdSxWUCxLRSxMSUMsZUVpLE9tLFBFLGdZWix0bU0sWmYsWDNTLEdIdCxxbGgscnFaLHNpcixpaSx1aSxvQSxUbCxDRSx3YyxGQyxNRixSQSxZbHcsUW4sSFZ4LGZvaSxKcVosQXExLG12aixhQSxuTCxQbjEsWlZpLHlxMSxFWTEsaVYyLHU2UyxvWU0sekViLGxvaixrTCx4TCxMTCxlJCxnNix0eCxCJHgsdzNpLEdmLFJFaSwkTCxyNixRaTIsVm10LHNVLFZuLFdqLEhqLGZMLG1mLEVVLGlqLHVqLGQ2LHpmLG9RLGdxWixsaixYWWgscWpoLEdOaCxDTCxCaixGZSxKeCx3NixQMCxNcyxBSixSUSxReixOSSxWeixVdE0sY2oseTFoLEk0LGFRLG5BLGJGLFRmLGokLFN4LGhELEVxaCx4cCxLeixpV1MsdW10LG9xMSx6a1UsTEEsZTcsZ2wsWDIsZHQxLEdlLHRELCRwLHJsLEF4LE51LFlwLElULEFELGlULHB6LEtBLApPUyxQVCxUaGksY3F4LHBMLFpQLFVTLHlVLEVTLGlGLHVGLGxGLHplLGo3LGRsLE1TTSxDQSxCVCxGMix3bCxNdSxhVCxjVCxRc1MsbjIsVzcsVlNoLGtGLGhmLGMxQyx4RixMMixlQixiX0MsZ3YsWHoscXAsdGYsdnRDLGh4dyxmMixKZixJeSx4dzIsU0IsQWYsbVAsWiQsVUYseUUsRUYsaTUsenUsVHUsakIsQzIsQjcsTGF4LEZ6LHd2LE1wLFJ5LFFFLFZFLGM3LGF5LG52LGJZLFd1LERiLEdLdCxxSXcsdEFDLCR3aixyYVUsc0ZNLHZ1LGtzLE5YaCxlbixnVixZSTEsSF9VLHFXLFhyLHRCLGZpeCxyVixzYixOVyxwdixmdixZcyxKQixJNixKYWksSHUsWmIsVWIsRWIsbzYsU0laLHVZLEFhMixURCxsWSxtd3Isam4sQ3YsRnIsd1YsTVcsUWssVmssY3UsQ25pLEZJMSxhNixXcCxEeCxidSx2cCxrWixoVSx4WixMMyxlVixnQyxVd2IseWFqLGlfYixYdSx6eFMsakZNLFNWLENIaCxGYU0sd0tqLE1BTSxSeGosUUZ3LFZBUyxjYXQsYWlNLG5qMSxtZSxXJGosRDZ4LEszLE9HLGJlcixQcCwKdmp3LGg3Mix4NncsVUcsWngsTCQyLHlCLGl1LGU3YixnajEsWFNoLG9xLEdCYixya2osekkscSQyLCQ2aCxsdSxqVixzU3csTjdTLHBTUyxGdSxIZVUsd0MsUnEsSVExLFMkaCxtNncsSyRqLFZCLGNwLFBDMixhcSxaZXcsTXEsVTZDLGZRaCxPZWksQWtNLFc2LHlrcixFalosaWVpLHU5VSxvancsRGQsVDdiLGQ2cix6N1UsalNaLGJTLENDTSxsUWgsdjYseEMsTHIsZXEsa0MsQjdiLHdTVSxndSxGJHgsTXZTLFI3VSxWdnQsY2tqLFgwLGFRUyxuZngsRE4xLGJ3QyxxMixHWix0MCwkQyxRRXcsVkh4LGNyaCxEWDIsdmZ0LGtkVSxuVHcsV2paLGFFdyx2VFosSDYsSjQsZnIseWssbWksS3YsUHUsaVksS3IsSSQsaFpyLE80LHhYQyxMalUsUDYsQTAsbWQsWmQsZ1RDLFU0LEowLGc3LHlvLEU0LGlTLFNxLGtRdyxlWnQsdVMsWDB0LHF6aCxHUWIsdGRqLCRYMSxyeUMsTjhaLGR1LEprQyx6WixsUyxSNixLYTIscDBiLGpxLFZvLElyYixZemksZnJDLENyLEYwLG1YYixLamksTyRpLFokaSxQYlUsClVYWixhJCx5eXgsbkQsV2wsaSRTLEVUaixvVGosRGssdW5VLHZsLHpaaixscjIsVDhoLENidCxCOGksdzBiLGhnLGt3LEZqaixSWmgsTEQsVmR0LGVSLFFLeCx4dyxnaixYQixXWWgsblJ0LCR3LHFQLFl3LHZSdyxlU2osaFMxLExZMix4MEMsZkQsWEJ3LHFQaSxHMVMsdF9oLCQwYixyT2gsczlDLE5KaSxJayxwQngsWVBNLEh5VSxKT3csZkl0LElJYixKZyxBT00sU1IsY3laLFBsLFp5UyxpeWksdWtoLG9SdCxQT3QsRXEsdTEseXUsZDBiLFVxLGxJYixvayxaayxVMFosaTEseU9aLG0wTSxtdixqOUMsT3laLENPaixCSnQsVEpiLEZZQyx3QngsemMsTV93LFE5YixWXzIsUlNDLGNPdyxhSVosV1hoLERMYixrbnIsYkZqLHZ1TSxUYyxoUXgseEx0LExYcixndUMsalIsQ0QsWE5pLEJsLHFScixHbncsdEZ4LCRMQyxyYzIsc2d3LE4wUyxwTnQsWVJ3LEhGWixmeVUsSmNiLEl5dyxTUnQsQWNaLG1MMixLWFosT0ZDLFBRcixaRnQsVUwyLHljMixFdXQsaUZVLHVxdCxvdTIsZExpLHpRUyxseTIsClQwVSxqZ2gsQ1FDLEIwaixGWDIsTUZ4LFJRVSxWRlMsTVAsUXUsVnUsY2wsbk9NLG5DLFdUaCxEQmksYlBTLGFrLHZPMixheVosYm0saEQxLHhCaCxMVGIsdnIsa29yLE9iLGRWLFlDLFN6TSxjNixIJGgsUW8sQjYsd3UsUiQsZGoselMyLEVSUyxYemgscUoyLHQ5aCxrYywkQmkscjdoLGgyLGVEYixYYixIUGIsZm14LEo3aSxJbWkscW0sZ09DLEE3eCxzN3IsTjNDLHhjLExDLHB6aCxaUGosS1RpLE9QMixyUyxOMiwkYyxTSloseTdpLEVPaCxpUFMsbUJiLHUzeCxvT3gsZEJoLFQzaCxqN2osQzl4LHBDLEIzeCx3enIsRlR0LFJEaixRNzIsYzdyLFdnMixoOE0seGJqLEhyLG5RdyxKMixmQyxMZ3csZTh3LGJtaCxWOWksTTliLGdRdyxYVVMscWNVLEdUUyx0d00sckkxLFMwLCRiWixOb0Msc0lNLFljMSxwVWosbW4sQTIsSG1TLGY1eCxKSWIsSTUyLEtDLEFJTSxtYk0sS2d4LE9YLE9tMixQTWosUHIsWm1oLHlJcixpbXIsWlYsVVgseTMsaW0sdW0sRVgsRVFNLHVpaixvUTIsZGJTLHo4MiwKbDVVLGJBLG91LFRvaSxqSWosQ014LEJvdCxkUyxGZ2IselgsTXdoLGwxLFRYLGowLENDLEJyLEZiLHdTLFFJUyxWd00sY0lqLGE1cixSdSxXM1osRGoyLGJYdCxrcGksaHlpLGJKLHZ5TSx4amosTDN4LGV5aixYSVosYXUsV2QscTkxLG51LEQ3LGJWLHRaTSwkalosdmQscnB0LGNjWixNbSxWMyxoQyxIWDIsZkF0LEpwVSxJQWgsUzliLEFwaixtanQsSzNVLE9YMixlaCxncyxYSixQeUMscTksUjhDLFVqdyx0QyxHWSwkMCxFb2ksaVhTLHJzLHNCLHlwYixwdSx1NGIsWTAsb294LGZ1LFRFMixqYjIsSkMsRjNiLFNoLG1vLGRqcixNWjEsSGQsUnlpLFFidyxsQXQsVlppLHp5MSxhQXcsbkF4LGNwdCxQZCxaNyxMcjEsdkFqLHlhLGVwWixrVWksRDF0LGdBaSxXcmgsR1UxLFhzaSxVQix0eTIsYlVVLHI2dyx4MVUscHNyLEVCLEhVaSxmdmksWXlpLEl2aCxTeXIsU1BNLEdYLG9jLFA5VSxtMVUsSWMsbFYselksamgsQmQsRkosS3JiLHdzLFUxaSx5NlosRUFDLE05LFBSYixSYyxpVXQsQ3UsCmNkLG9BdCxRYSxWYSx1VixUWSx3c2ksTXl4LE9VaCxkcyxScFUsYnYsQTZqLGQxMixhdlosbkJDLFcxaSxiNHQsRGdDLHZCMixCNFUsUXZpLGhMWixMMWIseGdaLGVMaCxnQnIsWGFTLGtQLGg1LHFhVSxHcU0senBpLHRpUywkZ0MsTGEsclBoLHNVUyxlbCx4UCxwYU0sZzksWFksSDR0LGZwaSxKUE0sSXBDLFNhTSxZYVUsQVAyLG1naCxPNEMscVQsSzFVLEdHLFBneCxaNHgseVBqLEVCQyxVZzIsb0JyLGRndyxpNFUsdWp4LHpMWixscDIsalVVLFRLdyxSTHQsUVVaLENndCxCS0MsRjF3LHdhUyxNaWksVmliLHI5LHNyLCRQLE5ULGFweCxuVnIsV3F4LEpKLHBhLGJCeCx2VjIsa3d3LFlQLGZhLEg4LHhRdyxoYmosZ1ZoLEo1LFIwLFhiaCxJRyxxSDEsR3dVLHRMeCwkUXgscm1NLHNMYixOYmIsSEJ3LFlIaSxBNSxtQSxKbXgsS2EsU2wsZk0xLE9yLEtxcixQJEMsWkJqLFVRaSx5bWksRVZiLGlCUyxaVCxpdix1QXQsdXYsemJyLG9WMixEJCxURyxqbCxDYSxHdSxCOCxGWSxqTGosQyR3LAp3OSxSRyxRWSxGcU0sTVQsQmJoLFJieCxjbWIsVlksYU1VLG5EaixhRyxEclosVkxNLFdjLGJsWixuTyx2RDEsa1cxLGJzLHZjLHhydCxrSSxlMEMsZ0R4LExFcixYUGkscW8yLGhoLEdXYix0azEsTE8sZXMsZ2YsJHJNLHJlUyxzalMsTl9oLFlvQyx0aCxIbEMsJEksQWV0LHJmLG1yaixLRWgsUGRaLE9sTSxOSyxwTyxabGksRURqLEhjLFlJLHU3dCxkck0samp4LENkaixKaCxJZSxCX0Msc0YsZk8sRkVaLFNzLHdQMSxNa00sbVIsY2ViLHlSMSxHRCwkcyxlMCx6RCx5UyxCdSxFZyxpcyxUWixVZyxpUlosdXMsdWFVLG9NaCxkRGIselVoLHR2aSxNMixqd2osRncsQ2gxLE1LLGlwLGpzLEZraixjYyxDTyxuSixjUmIsVjVoLGx3WixXZixkZixUZGosbHMsbiRNLFdMcixEYXIsTTVpLHYkaCxodnIsZXZ0LGckUyxrcix2ZixYZWosYmwsREwseHIsTEwyLHFlaSwkYXIsdVJyLHJFUyxzOHIsWWVpLFhTLHBlVSx0YixOTncscTcsZkdTLEpFYixJR3csU2UxLEFFaSxyNSxaZncsc1osT2Z0LHlFMiwKRSRNLGlmQyxLTFosdThiLFlyLG8kVSx2NyxmSixKYixBYixQZixWUyx6djIsVVosbEd3LGo4MixDQlMseVosaWwsVWFoLHdlVSxNWU0sUnZaLFE4eCxWWXgsYUcxLFcydyxEZWIsb1gsY0VyLFZaLGswaix6QSxFWixoZDEsbngsTDJNLHhlcixXcSxERixiVSx2cSxlZFMsYVgsT1osQ0osbGwsVEEsQmYsbjVqLEZTLEtKLHVsLGRhdCxYUXgsRzBqLFNhLFFaLHR0dywkZVUseGkscmpqLHNhaSxoVixOYWIsa2ksZW8sWWhpLEhjdCxmNmg7V1o9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG50W25dLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19OwpnLkQxPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG50W25dPVd9OwpuMnc9ZnVuY3Rpb24obixXKXtpZihXKWZvcih2YXIgRD0wO0Q8dloubGVuZ3RoO0QrKylrMih2WltEXSsiQXJyYXkucHJvdG90eXBlLiIrbixXKX07CmhpPWZ1bmN0aW9uKG4sVyl7VyYmazIobixXKX07CmsyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9eDI7bj1uLnNwbGl0KCIuIik7Zm9yKHZhciBiPTA7YjxuLmxlbmd0aC0xO2IrKyl7dmFyIHY9bltiXTtpZighKHYgaW4gRCkpcmV0dXJuO0Q9RFt2XX1uPW5bbi5sZW5ndGgtMV07Yj1EW25dO1c9VyhiKTtXIT1iJiZXIT1udWxsJiZXU0MoRCxuLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6V30pfTsKdjJDPWZ1bmN0aW9uKG4sVyl7bi5wcm90b3R5cGU9RGl4KFcucHJvdG90eXBlKTtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO2J0UyhuLFcpO24uVEI9Vy5wcm90b3R5cGV9OwplVT1mdW5jdGlvbihuKXtuPU1hdGgudHJ1bmMobil8fDA7bjwwJiYobis9dGhpcy5sZW5ndGgpO2lmKCEobjwwfHxuPj10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXNbbl19OwpnLkdiPWZ1bmN0aW9uKG4sVyxEKXtuPW4uc3BsaXQoIi4iKTtEPUR8fGcucWk7Zm9yKHZhciBiO24ubGVuZ3RoJiYoYj1uLnNoaWZ0KCkpOyluLmxlbmd0aHx8Vz09PXZvaWQgMD9EW2JdJiZEW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXT9EPURbYl06RD1EW2JdPXt9OkRbYl09V307Ck5pPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigiQ0xPU1VSRV9GTEFHUyIpO249RCYmRFtuXTtyZXR1cm4gbiE9bnVsbD9uOld9OwpnLnJyPWZ1bmN0aW9uKG4sVyl7bj1uLnNwbGl0KCIuIik7Vz1XfHxnLnFpO2Zvcih2YXIgRD0wO0Q8bi5sZW5ndGg7RCsrKWlmKFc9V1tuW0RdXSxXPT1udWxsKXJldHVybiBudWxsO3JldHVybiBXfTsKcHQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFchPSJvYmplY3QiP1c6bj9BcnJheS5pc0FycmF5KG4pPyJhcnJheSI6VzoibnVsbCJ9OwpnLlkyPWZ1bmN0aW9uKG4pe3ZhciBXPXB0KG4pO3JldHVybiBXPT0iYXJyYXkifHxXPT0ib2JqZWN0IiYmdHlwZW9mIG4ubGVuZ3RoPT0ibnVtYmVyIn07CmcuZnQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFc9PSJvYmplY3QiJiZuIT1udWxsfHxXPT0iZnVuY3Rpb24ifTsKQWk9ZnVuY3Rpb24obil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLFNVKSYmbltTVV18fChuW1NVXT0rK2tidCl9OwpoTWk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLmNhbGwuYXBwbHkobi5iaW5kLGFyZ3VtZW50cyl9OwpnLkt0PWZ1bmN0aW9uKG4sVyxEKXtnLkt0PWhNaTtyZXR1cm4gZy5LdC5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpnLlBaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBiPUQuc2xpY2UoKTtiLnB1c2guYXBwbHkoYixhcmd1bWVudHMpO3JldHVybiBuLmFwcGx5KHRoaXMsYil9fTsKZy5Vdz1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTsKZy55aj1mdW5jdGlvbihuKXtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXJSdW4iLG4pfTsKRXc9ZnVuY3Rpb24obil7cmV0dXJuIG59OwpnLml4PWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRCgpe30KRC5wcm90b3R5cGU9Vy5wcm90b3R5cGU7bi5UQj1XLnByb3RvdHlwZTtuLnByb3RvdHlwZT1uZXcgRDtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO24uQU89ZnVuY3Rpb24oYix2LGspe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLHg9Mjt4PGFyZ3VtZW50cy5sZW5ndGg7eCsrKWhbeC0yXT1hcmd1bWVudHNbeF07cmV0dXJuIFcucHJvdG90eXBlW3ZdLmFwcGx5KGIsaCl9fTsKdXg9ZnVuY3Rpb24obiwuLi5XKXtXPVcuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighVylyZXR1cm4gbjt2YXIgRD1uLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIEQ/bi5zbGljZSgwLEQuaW5kZXgrMSkrVysiJiIrbi5zbGljZShELmluZGV4KzEpOm4rKG4uaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrV307CmRyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/IiYiK24rIj0iK2VuY29kZVVSSUNvbXBvbmVudChXKToiIn07CnhpTT1mdW5jdGlvbihuKXtuPW4uWDtpZighbilyZXR1cm4iIjt2YXIgVz1kcigidWFwIixuLnBsYXRmb3JtKStkcigidWFwdiIsbi5wbGF0Zm9ybVZlcnNpb24pK2RyKCJ1YWZ2IixuLnVhRnVsbFZlcnNpb24pK2RyKCJ1YWEiLG4uYXJjaGl0ZWN0dXJlKStkcigidWFtIixuLm1vZGVsKStkcigidWFiIixuLmJpdG5lc3MpO24uZnVsbFZlcnNpb25MaXN0JiYoVys9IiZ1YWZ2bD0iK2VuY29kZVVSSUNvbXBvbmVudChuLmZ1bGxWZXJzaW9uTGlzdC5tYXAoRD0+ZW5jb2RlVVJJQ29tcG9uZW50KEQuYnJhbmQpKyI7IitlbmNvZGVVUklDb21wb25lbnQoRC52ZXJzaW9uKSkuam9pbigifCIpKSk7Cm4ud293NjQhPW51bGwmJihXKz0iJnVhdz0iK051bWJlcihuLndvdzY0KSk7cmV0dXJuIFcuc2xpY2UoMSl9Owp6Yj1mdW5jdGlvbihuLFcpe2lmKFchPT1udWxsJiZXIT09dm9pZCAwKXtpZih0eXBlb2YgVyE9PSJvYmplY3QiJiZ0eXBlb2YgVyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkLiIpO2lmKEQ9PT12b2lkIDApe2lmKCFTeW1ib2wuZGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuZGlzcG9zZSBpcyBub3QgZGVmaW5lZC4iKTt2YXIgRD1XW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgRCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IG5vdCBkaXNwb3NhYmxlLiIpO24uc3RhY2sucHVzaCh7dmFsdWU6VyxkaXNwb3NlOkQsYXN5bmM6ITF9KX1yZXR1cm4gV307Cmx4PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoayl7bi5lcnJvcj1uLmhhc0Vycm9yP25ldyBTdXBwcmVzc2VkRXJyb3IoayxuLmVycm9yLCJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuIik6aztuLmhhc0Vycm9yPSEwfQpmdW5jdGlvbiBEKCl7Zm9yKDtiPW4uc3RhY2sucG9wKCk7KXRyeXtpZighYi5hc3luYyYmdj09PTEpcmV0dXJuIHY9MCxuLnN0YWNrLnB1c2goYiksUHJvbWlzZS5yZXNvbHZlKCkudGhlbihEKTtpZihiLmRpc3Bvc2Upe3ZhciBrPWIuZGlzcG9zZS5jYWxsKGIudmFsdWUpO2lmKGIuYXN5bmMpcmV0dXJuIHZ8PTIsUHJvbWlzZS5yZXNvbHZlKGspLnRoZW4oRCxmdW5jdGlvbihoKXtXKGgpO3JldHVybiBEKCl9KX1lbHNlIHZ8PTF9Y2F0Y2goaCl7VyhoKX1pZih2PT09MSlyZXR1cm4gbi5oYXNFcnJvcj9Qcm9taXNlLnJlamVjdChuLmVycm9yKTpQcm9taXNlLnJlc29sdmUoKTsKaWYobi5oYXNFcnJvcil0aHJvdyBuLmVycm9yO30KdmFyIGIsdj0wO0QoKX07CmcuVGI9ZnVuY3Rpb24obixXKXtpZihFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLGcuVGIpO2Vsc2V7bGV0IEQ9RXJyb3IoKS5zdGFjaztEJiYodGhpcy5zdGFjaz1EKX1uJiYodGhpcy5tZXNzYWdlPVN0cmluZyhuKSk7VyE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Vyl9OwpMUzE9ZnVuY3Rpb24oKXt9OwpnLmpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ubGFzdEluZGV4T2YoVywwKT09MH07CmcuQlo9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmxlbmd0aC1XLmxlbmd0aDtyZXR1cm4gRD49MCYmbi5pbmRleE9mKFcsRCk9PUR9OwpnLkZoPWZ1bmN0aW9uKG4pe3JldHVybi9eW1xzXHhhMF0qJC8udGVzdChuKX07Cmcud3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoVy50b0xvd2VyQ2FzZSgpKSE9LTF9OwpnLmNaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtuPVN0cmluZyhuKS50cmltKCkuc3BsaXQoIi4iKTtXPVN0cmluZyhXKS50cmltKCkuc3BsaXQoIi4iKTt2YXIgYj1NYXRoLm1heChuLmxlbmd0aCxXLmxlbmd0aCk7Zm9yKGxldCBoPTA7RD09MCYmaDxiO2grKyl7dmFyIHY9bltoXXx8IiIsaz1XW2hdfHwiIjtkb3t2PS8oXGQqKShcRCopKC4qKS8uZXhlYyh2KXx8WyIiLCIiLCIiLCIiXTtrPS8oXGQqKShcRCopKC4qKS8uZXhlYyhrKXx8WyIiLCIiLCIiLCIiXTtpZih2WzBdLmxlbmd0aD09MCYma1swXS5sZW5ndGg9PTApYnJlYWs7RD1Waih2WzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KHZbMV0sMTApLGtbMV0ubGVuZ3RoPT0wPzA6cGFyc2VJbnQoa1sxXSwxMCkpfHxWaih2WzJdLmxlbmd0aD09MCxrWzJdLmxlbmd0aD09MCl8fFZqKHZbMl0sa1syXSk7dj12WzNdO2s9a1szXX13aGlsZShEPT0wKX1yZXR1cm4gRH07ClZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG48Vz8tMTpuPlc/MTowfTsKZU1yPWZ1bmN0aW9uKCl7dmFyIG49bnVsbDtpZighbmIpcmV0dXJuIG47dHJ5e2xldCBXPUQ9PkQ7Cm49bmIuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOlcsY3JlYXRlU2NyaXB0OlcsY3JlYXRlU2NyaXB0VVJMOld9KX1jYXRjaChXKXt9cmV0dXJuIG59OwpEND1mdW5jdGlvbigpe1dNPT09dm9pZCAwJiYoV009ZU1yKCkpO3JldHVybiBXTX07CmszPWZ1bmN0aW9uKG4pe3ZhciBXPUQ0KCk7bj1XP1cuY3JlYXRlU2NyaXB0VVJMKG4pOm47cmV0dXJuIG5ldyBiXyhuKX07CngzPWZ1bmN0aW9uKG4pe2lmKG4gaW5zdGFuY2VvZiBiXylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9Owpnej1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5lailyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpxVT1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFhJKFc9Plcuc3Vic3RyKDAsbi5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PW4rIjoiKX07CmcudEY9ZnVuY3Rpb24obixXPWcuRzQpe2lmKG4gaW5zdGFuY2VvZiBnLmVqKXJldHVybiBuO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7KytEKXtsZXQgYj1XW0RdO2lmKGIgaW5zdGFuY2VvZiBYSSYmYi5PVihuKSlyZXR1cm4gbmV3IGcuZWoobil9fTsKZy5yej1mdW5jdGlvbihuKXtpZihnMmoudGVzdChuKSlyZXR1cm4gbn07Cmcuc009ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLmVqP2d6KG4pOmcucnoobil9OwpnLk5VPWZ1bmN0aW9uKG4sVyl7Vz1nLnNNKFcpO1chPT12b2lkIDAmJihuLmhyZWY9Vyl9OwpnLnBiPWZ1bmN0aW9uKG4sVz1gdW5leHBlY3RlZCB2YWx1ZSAke259IWApe3Rocm93IEVycm9yKFcpO307CmcuSE09ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVIVE1MKG4pOm47cmV0dXJuIG5ldyBnLlkzKG4pfTsKZy5mYj1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5ZMylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpKRj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9d2luZG93O249Zy5zTShuKTtyZXR1cm4gbiE9PXZvaWQgMD9iLm9wZW4obixXLEQpOm51bGx9OwpTaj1mdW5jdGlvbihuPWRvY3VtZW50KXtuPW4ucXVlcnlTZWxlY3Rvcj8uKCJzY3JpcHRbbm9uY2VdIik7cmV0dXJuIG49PW51bGw/IiI6bi5ub25jZXx8bi5nZXRBdHRyaWJ1dGUoIm5vbmNlIil8fCIifTsKbWM9ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVTY3JpcHQobik6bjtyZXR1cm4gbmV3IEFGKG4pfTsKS2I9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIEFGKXJldHVybiBuLk47dGhyb3cgRXJyb3IoIiIpO307Ck9NPWZ1bmN0aW9uKG4pe3ZhciBXPVNqKG4ub3duZXJEb2N1bWVudCk7VyYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixXKX07CmcuUE09ZnVuY3Rpb24obixXKXtuLnNyYz14MyhXKTtPTShuKX07CnF3dD1mdW5jdGlvbihuKXt2YXIgVz0idHJ1ZSIudG9TdHJpbmcoKSxEPVtYWnhgZGF0YS1gXTtpZihELmxlbmd0aD09PTApdGhyb3cgRXJyb3IoIiIpO2lmKEQubWFwKGI9PntpZihiIGluc3RhbmNlb2YgWjQpYj1iLk47ZWxzZSB0aHJvdyBFcnJvcigiIik7cmV0dXJuIGJ9KS5ldmVyeShiPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoYikhPT0wKSl0aHJvdyBFcnJvcignQXR0cmlidXRlICJkYXRhLWxvYWRlZCIgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBhbGxvd2VkIHByZWZpeGVzLicpOwpuLnNldEF0dHJpYnV0ZSgiZGF0YS1sb2FkZWQiLFcpfTsKZy5VTT1mdW5jdGlvbihuKXtyZXR1cm4gbltuLmxlbmd0aC0xXX07CmcueTI9ZnVuY3Rpb24obixXKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG4sVyx2b2lkIDApfTsKZy5FTT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChuLFcsRCl9OwpnLmlfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChuLFcsdm9pZCAwKX07CmcudV89ZnVuY3Rpb24obixXLEQpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwobixXLEQpfTsKZy5vTT1mdW5jdGlvbihuLFcpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG4sVyx2b2lkIDApfTsKZy5kej1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG4sVyxEKX07CmcubF89ZnVuY3Rpb24obixXKXtXPWcuejQobixXKTtyZXR1cm4gVzwwP251bGw6dHlwZW9mIG49PT0ic3RyaW5nIj9uLmNoYXJBdChXKTpuW1ddfTsKZy56ND1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5sZW5ndGgsdj10eXBlb2Ygbj09PSJzdHJpbmciP24uc3BsaXQoIiIpOm47Zm9yKGxldCBrPTA7azxiO2srKylpZihrIGluIHYmJlcuY2FsbChELHZba10sayxuKSlyZXR1cm4gaztyZXR1cm4tMX07CmcuVDQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubGVuZ3RoLHY9dHlwZW9mIG49PT0ic3RyaW5nIj9uLnNwbGl0KCIiKTpuO2ZvcigtLWI7Yj49MDtiLS0paWYoYiBpbiB2JiZXLmNhbGwoRCx2W2JdLGIsbikpcmV0dXJuIGI7cmV0dXJuLTF9OwpnLmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwobixXLHZvaWQgMCk+PTB9OwpnLkNiPWZ1bmN0aW9uKG4pe2lmKCFBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKWRlbGV0ZSBuW1ddO24ubGVuZ3RoPTB9OwpnLkZJPWZ1bmN0aW9uKG4sVyl7Vz1BcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG4sVyx2b2lkIDApO3ZhciBEOyhEPVc+PTApJiZnLkJNKG4sVyk7cmV0dXJuIER9OwpnLkJNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChuLFcsMSkubGVuZ3RoPT0xfTsKR2JpPWZ1bmN0aW9uKG4sVyl7Vz1nLno0KG4sVyk7Vz49MCYmZy5CTShuLFcpfTsKZy53ej1mdW5jdGlvbihuKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhcmd1bWVudHMpfTsKZy5STT1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aDtpZihXPjApe2xldCBEPUFycmF5KFcpO2ZvcihsZXQgYj0wO2I8VztiKyspRFtiXT1uW2JdO3JldHVybiBEfXJldHVybltdfTsKZy5RMj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0xO0Q8YXJndW1lbnRzLmxlbmd0aDtEKyspe2xldCBiPWFyZ3VtZW50c1tEXTtpZihnLlkyKGIpKXtsZXQgdj1uLmxlbmd0aHx8MCxrPWIubGVuZ3RofHwwO24ubGVuZ3RoPXYraztmb3IobGV0IGg9MDtoPGs7aCsrKW5bditoXT1iW2hdfWVsc2Ugbi5wdXNoKGIpfX07CmcuY009ZnVuY3Rpb24obixXLEQsYil7QXJyYXkucHJvdG90eXBlLnNwbGljZS5hcHBseShuLFYyKGFyZ3VtZW50cywxKSl9OwpWMj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobixXKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuLFcsRCl9OwpnLlc0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gYU0obixEfHxucCwhMSxXKX07CkRlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGFNKG4sVywhMCl9OwphTT1mdW5jdGlvbihuLFcsRCxiKXtmb3IodmFyIHY9MCxrPW4ubGVuZ3RoLGg7djxrOyl7bGV0IHg9disoay12Pj4+MSksTDtEP0w9Vy5jYWxsKHZvaWQgMCxuW3hdLHgsbik6TD1XKGIsblt4XSk7TD4wP3Y9eCsxOihrPXgsaD0hTCl9cmV0dXJuIGg/djotdi0xfTsKZy5iZj1mdW5jdGlvbihuLFcpe24uc29ydChXfHxucCl9Owp0VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1ucDtnLmJmKG4sZnVuY3Rpb24oYix2KXtyZXR1cm4gRChXKGIpLFcodikpfSl9Owp2ND1mdW5jdGlvbihuLFcsRCl7aWYoIWcuWTIobil8fCFnLlkyKFcpfHxuLmxlbmd0aCE9Vy5sZW5ndGgpcmV0dXJuITE7dmFyIGI9bi5sZW5ndGg7RD1EfHwkaXg7Zm9yKGxldCB2PTA7djxiO3YrKylpZighRChuW3ZdLFdbdl0pKXJldHVybiExO3JldHVybiEwfTsKbnA9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj5XPzE6bjxXPy0xOjB9OwokaXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PVd9OwpnLmtsPWZ1bmN0aW9uKG4sVyxEKXtEPWcuVzQobixXLEQpO0Q8MCYmZy5jTShuLC0oRCsxKSwwLFcpfTsKaEE9ZnVuY3Rpb24obixXKXtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mnx8KG4uX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyPXt9KTtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mi5zZXZlcml0eT1XfTsKcmliPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7bj09bnVsbCYmKG49J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTpuLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOlcsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgRD0hMTt0cnl7dmFyIGI9bi5saW5lTnVtYmVyfHxuLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChrKXtiPSJOb3QgYXZhaWxhYmxlIixEPSEwfXRyeXt2YXIgdj1uLmZpbGVOYW1lfHxuLmZpbGVuYW1lfHxuLnNvdXJjZVVSTHx8Zy5xaS4kZ29vZ0RlYnVnRm5hbWV8fFd9Y2F0Y2goayl7dj0iTm90IGF2YWlsYWJsZSIsRD0hMH1XPXhsKG4pO2lmKCEoIUQmJm4ubGluZU51bWJlciYmbi5maWxlTmFtZSYmbi5zdGFjayYmbi5tZXNzYWdlJiZuLm5hbWUpKXtEPW4ubWVzc2FnZTsKaWYoRD09bnVsbCl7aWYobi5jb25zdHJ1Y3RvciYmbi5jb25zdHJ1Y3RvciBpbnN0YW5jZW9mIEZ1bmN0aW9uKXtpZihuLmNvbnN0cnVjdG9yLm5hbWUpRD1uLmNvbnN0cnVjdG9yLm5hbWU7ZWxzZSBpZihEPW4uY29uc3RydWN0b3IsTHBbRF0pRD1McFtEXTtlbHNle0Q9U3RyaW5nKEQpO2lmKCFMcFtEXSl7bGV0IGs9L2Z1bmN0aW9uXHMrKFteXChdKykvbS5leGVjKEQpO0xwW0RdPWs/a1sxXToiW0Fub255bW91c10ifUQ9THBbRF19RD0nVW5rbm93biBFcnJvciBvZiB0eXBlICInK0QrJyInfWVsc2UgRD0iVW5rbm93biBFcnJvciBvZiB1bmtub3duIHR5cGUiO3R5cGVvZiBuLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyE9PW4udG9TdHJpbmcmJihEKz0iOiAiK24udG9TdHJpbmcoKSl9cmV0dXJue21lc3NhZ2U6RCxuYW1lOm4ubmFtZXx8IlVua25vd25FcnJvciIsbGluZU51bWJlcjpiLGZpbGVOYW1lOnYsc3RhY2s6V3x8Ik5vdCBhdmFpbGFibGUifX1yZXR1cm57bWVzc2FnZTpuLm1lc3NhZ2UsCm5hbWU6bi5uYW1lLGxpbmVOdW1iZXI6bi5saW5lTnVtYmVyLGZpbGVOYW1lOm4uZmlsZU5hbWUsc3RhY2s6V319Owp4bD1mdW5jdGlvbihuLFcpe1d8fChXPXt9KTtXW2UxKG4pXT0hMDt2YXIgRD1uLnN0YWNrfHwiIixiPW4uY2F1c2U7YiYmIVdbZTEoYildJiYoRCs9IlxuQ2F1c2VkIGJ5OiAiLGIuc3RhY2smJmIuc3RhY2suaW5kZXhPZihiLnRvU3RyaW5nKCkpPT0wfHwoRCs9dHlwZW9mIGI9PT0ic3RyaW5nIj9iOmIubWVzc2FnZSsiXG4iKSxEKz14bChiLFcpKTtuPW4uZXJyb3JzO2lmKEFycmF5LmlzQXJyYXkobikpe2I9MTtsZXQgdjtmb3Iodj0wO3Y8bi5sZW5ndGgmJiEoYj40KTt2KyspV1tlMShuW3ZdKV18fChEKz0iXG5Jbm5lciBlcnJvciAiK2IrKyArIjogIixuW3ZdLnN0YWNrJiZuW3ZdLnN0YWNrLmluZGV4T2Yoblt2XS50b1N0cmluZygpKT09MHx8KEQrPXR5cGVvZiBuW3ZdPT09InN0cmluZyI/blt2XTpuW3ZdLm1lc3NhZ2UrIlxuIiksRCs9eGwoblt2XSxXKSk7djxuLmxlbmd0aCYmKEQrPSJcbi4uLiAiKyhuLmxlbmd0aC12KSsiIG1vcmUgaW5uZXIgZXJyb3JzIil9cmV0dXJuIER9OwplMT1mdW5jdGlvbihuKXt2YXIgVz0iIjt0eXBlb2Ygbi50b1N0cmluZz09PSJmdW5jdGlvbiImJihXPSIiK24pO3JldHVybiBXK24uc3RhY2t9OwpnLmdUPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wYXJzZUZyb21TdHJpbmcoZy5mYihXKSxEKX07ClhNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBXb3JrZXIoeDMobiksVyl9OwpxaD1mdW5jdGlvbihuKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhuKSl9OwpHNT1mdW5jdGlvbihuKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KG4ucmVwbGFjZSgvXCsvZywiICIpKX07CmcudEE9ZnVuY3Rpb24obil7c0NoLnRlc3QobikmJihuLmluZGV4T2YoIiYiKSE9LTEmJihuPW4ucmVwbGFjZShOcmgsIiZhbXA7IikpLG4uaW5kZXhPZigiPCIpIT0tMSYmKG49bi5yZXBsYWNlKHBadywiJmx0OyIpKSxuLmluZGV4T2YoIj4iKSE9LTEmJihuPW4ucmVwbGFjZShZd2ksIiZndDsiKSksbi5pbmRleE9mKCciJykhPS0xJiYobj1uLnJlcGxhY2UoSHRVLCImcXVvdDsiKSksbi5pbmRleE9mKCInIikhPS0xJiYobj1uLnJlcGxhY2UoZjFTLCImIzM5OyIpKSxuLmluZGV4T2YoIlx4MDAiKSE9LTEmJihuPW4ucmVwbGFjZShKaVosIiYjMDsiKSkpO3JldHVybiBufTsKZy5yVD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD8iIjpTdHJpbmcobil9OwpzVD1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKVc9MzEqVytuLmNoYXJDb2RlQXQoRCk+Pj4wO3JldHVybiBXfTsKZy5OaD1mdW5jdGlvbihuKXt2YXIgVz1OdW1iZXIobik7cmV0dXJuIFc9PTAmJmcuRmgobik/TmFOOld9OwpwcD1mdW5jdGlvbihuKXtyZXR1cm4gU3RyaW5nKG4pLnJlcGxhY2UoL1wtKFthLXpdKS9nLGZ1bmN0aW9uKFcsRCl7cmV0dXJuIEQudG9VcHBlckNhc2UoKX0pfTsKSTFpPWZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcGxhY2UoUmVnRXhwKCIoXnxbXFxzXSspKFthLXpdKSIsImciKSxmdW5jdGlvbihXLEQsYil7cmV0dXJuIEQrYi50b1VwcGVyQ2FzZSgpfSl9OwpTd2g9ZnVuY3Rpb24obil7dmFyIFc9MTtuPW4uc3BsaXQoIjoiKTtmb3IodmFyIEQ9W107Vz4wJiZuLmxlbmd0aDspRC5wdXNoKG4uc2hpZnQoKSksVy0tO24ubGVuZ3RoJiZELnB1c2gobi5qb2luKCI6IikpO3JldHVybiBEfTsKZy5IND1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD0iIjtuJiYoeCs9bisiOiIpO0QmJih4Kz0iLy8iLFcmJih4Kz1XKyJAIikseCs9RCxiJiYoeCs9IjoiK2IpKTt2JiYoeCs9dik7ayYmKHgrPSI/IitrKTtoJiYoeCs9IiMiK2gpO3JldHVybiB4fTsKZy5mcD1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXRjaChBaXIpfTsKSkE9ZnVuY3Rpb24obil7cmV0dXJuIG4/ZGVjb2RlVVJJKG4pOm59OwpnLklQPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzNdfHxudWxsKX07ClMxPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzVdfHxudWxsKX07CkFBPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChuWzFdLG5bMl0sblszXSxuWzRdKX07Cm1XPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChudWxsLG51bGwsbnVsbCxudWxsLG5bNV0sbls2XSxuWzddKX07CktwPWZ1bmN0aW9uKG4pe3ZhciBXPW4uaW5kZXhPZigiIyIpO3JldHVybiBXPDA/bjpuLnNsaWNlKDAsVyl9OwpnLk9UPWZ1bmN0aW9uKG4sVyl7aWYobil7bj1uLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe2xldCBiPW5bRF0uaW5kZXhPZigiPSIpLHYsaz1udWxsO2I+PTA/KHY9bltEXS5zdWJzdHJpbmcoMCxiKSxrPW5bRF0uc3Vic3RyaW5nKGIrMSkpOnY9bltEXTtXKHYsaz9HNShrKToiIil9fX07ClA0PWZ1bmN0aW9uKG4sVyl7aWYoIVcpcmV0dXJuIG47dmFyIEQ9bi5pbmRleE9mKCIjIik7RDwwJiYoRD1uLmxlbmd0aCk7dmFyIGI9bi5pbmRleE9mKCI/Iik7aWYoYjwwfHxiPkQpe2I9RDt2YXIgdj0iIn1lbHNlIHY9bi5zdWJzdHJpbmcoYisxLEQpO249W24uc2xpY2UoMCxiKSx2LG4uc2xpY2UoRCldO0Q9blsxXTtuWzFdPVc/RD9EKyImIitXOlc6RDtyZXR1cm4gblswXSsoblsxXT8iPyIrblsxXToiIikrblsyXX07ClplPWZ1bmN0aW9uKG4sVyxEKXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKVplKG4sU3RyaW5nKFdbYl0pLEQpO2Vsc2UgVyE9bnVsbCYmRC5wdXNoKG4rKFc9PT0iIj8iIjoiPSIrcWgoVykpKX07CnlHPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKVplKEQsbltEXSxXKTtyZXR1cm4gVy5qb2luKCImIil9OwpnLkVUPWZ1bmN0aW9uKG4sVyl7Vz15RyhXKTtyZXR1cm4gUDQobixXKX07CmcudWY9ZnVuY3Rpb24obixXLEQpe0Q9RCE9bnVsbD8iPSIrcWgoRCk6IiI7cmV0dXJuIFA0KG4sVytEKX07CmcuZFQ9ZnVuY3Rpb24obixXLEQsYil7Zm9yKHZhciB2PUQubGVuZ3RoOyhXPW4uaW5kZXhPZihELFcpKT49MCYmVzxiOyl7dmFyIGs9bi5jaGFyQ29kZUF0KFctMSk7aWYoaz09Mzh8fGs9PTYzKWlmKGs9bi5jaGFyQ29kZUF0KFcrdiksIWt8fGs9PTYxfHxrPT0zOHx8az09MzUpcmV0dXJuIFc7Vys9disxfXJldHVybi0xfTsKZy5sZj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VhcmNoKGcuejUpLGI9Zy5kVChuLDAsVyxEKTtpZihiPDApcmV0dXJuIG51bGw7dmFyIHY9bi5pbmRleE9mKCImIixiKTtpZih2PDB8fHY+RCl2PUQ7Yis9Vy5sZW5ndGgrMTtyZXR1cm4gRzUobi5zbGljZShiLHYhPT0tMT92OjApKX07ClQ1PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPW4uc2VhcmNoKGcuejUpLGI9MCx2LGs9W107KHY9Zy5kVChuLGIsVyxEKSk+PTA7KWsucHVzaChuLnN1YnN0cmluZyhiLHYpKSxiPU1hdGgubWluKG4uaW5kZXhPZigiJiIsdikrMXx8RCxEKTtrLnB1c2gobi5zbGljZShiKSk7cmV0dXJuIGsuam9pbigiIikucmVwbGFjZShtaTEsIiQxIil9OwpLUzE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLnVmKFQ1KG4sVyksVyxEKX07CmcuQ3A9ZnVuY3Rpb24obil7biYmdHlwZW9mIG4uZGlzcG9zZT09ImZ1bmN0aW9uIiYmbi5kaXNwb3NlKCl9OwpnLkI0PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wLEQ9YXJndW1lbnRzLmxlbmd0aDtXPEQ7KytXKXtsZXQgYj1hcmd1bWVudHNbV107Zy5ZMihiKT9nLkI0LmFwcGx5KG51bGwsYik6Zy5DcChiKX19OwpnLkZNPWZ1bmN0aW9uKCl7dGhpcy5IRD10aGlzLkhEO3RoaXMuQlY9dGhpcy5CVn07CmcudT1mdW5jdGlvbihuLFcpe24uYWRkT25EaXNwb3NlQ2FsbGJhY2soZy5QWihnLkNwLFcpKX07CmcuTWg9ZnVuY3Rpb24obj0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoVz0+e2lmKHdpbmRvdz09PXdpbmRvdy50b3ApdmFyIEQ9d2luZG93O2Vsc2V7dHJ5e0Q9ISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2godil7RD0hMH1EPUQ/d2luZG93OndpbmRvdy50b3B9dmFyIGI9RFtuXTtiPy5iZXZhc3JzP1cobmV3IHdUKGIuYmV2YXNycykpOihifHwoYj17bnFmYmVsOltdfSxEW25dPWIpLGIubnFmYmVsLnB1c2godj0+e1cobmV3IHdUKHYpKX0pKX0pfTsKUlA9ZnVuY3Rpb24obil7dmFyIFc9e2M6bi53XyxlOm4ueEMsbWM6bi5HcixtZTpuLkVSfTtuLmhHJiYoVy5jbz17YzpuLmhHLmFtLGE6bi5oRy5BQixzOm4uaEcucjN9KTtyZXR1cm4gV307Ck90aT1mdW5jdGlvbihuKXtuLkohPT12b2lkIDAmJihuLlcuZm9yRWFjaChXPT57bi5KPy5yZW1vdmVFdmVudExpc3RlbmVyKFcsbi5YKX0pLG4uSj12b2lkIDApfTsKWnRaPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLk8xLndwYyl0aHJvdyBuZXcgUUcoMzAsIk5XQSIpO2lmKG4uTilyZXR1cm4gbi5OO3ZhciBXPWF3YWl0IG4uTzEud3BjKCk7bi5OPW5ldyBQeFMoVyk7cmV0dXJuIG4uTn07Cm4wPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO1ZHKG4sYzQsNikuZm9yRWFjaChEPT57YVAoRCwyKTw9NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClVpdz1mdW5jdGlvbihuKXt2YXIgVz1bXTtWRyhuLGM0LDYpLmZvckVhY2goRD0+e2FQKEQsMik+NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClcyPWZ1bmN0aW9uKG4pe24udGhlbigoKT0+e30sKCk9Pnt9KX07CkRYPWZ1bmN0aW9uKG4pe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6bn19OwpicD1mdW5jdGlvbihuKXtyZXR1cm57ZmllbGRUeXBlOjMsZmllbGROYW1lOm59fTsKa0s9ZnVuY3Rpb24obil7cmV0dXJuKHYyfHwodjI9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKG4pfTsKaDQ9ZnVuY3Rpb24obil7Zy5xaS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgbjt9LDApfTsKeWl0PWZ1bmN0aW9uKG4pe3JldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwobixmdW5jdGlvbihXKXtXPVcudG9TdHJpbmcoMTYpO3JldHVybiBXLmxlbmd0aD4xP1c6IjAiK1d9KS5qb2luKCIiKX07CnhLPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCs9MilXLnB1c2gocGFyc2VJbnQobi5zdWJzdHJpbmcoRCxEKzIpLDE2KSk7cmV0dXJuIFd9OwpMMD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT01NTI5NiYmYisxPG4ubGVuZ3RoJiYobi5jaGFyQ29kZUF0KGIrMSkmNjQ1MTIpPT01NjMyMD8odj02NTUzNisoKHYmMTAyMyk8PDEwKSsobi5jaGFyQ29kZUF0KCsrYikmMTAyMyksV1tEKytdPXY+PjE4fDI0MCxXW0QrK109dj4+MTImNjN8MTI4KTpXW0QrK109dj4+MTJ8MjI0LFdbRCsrXT12Pj42JjYzfDEyOCksV1tEKytdPXYmNjN8MTI4KX1yZXR1cm4gV307CmcuWFE9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbiYmKG49bi51c2VyQWdlbnQpP246IiJ9OwokSz1mdW5jdGlvbihuKXtpZighZy5xeCYmIWcuR2h8fCFnLnQ0KXJldHVybiExO2ZvcihsZXQgVz0wO1c8Zy50NC5icmFuZHMubGVuZ3RoO1crKyl7bGV0IHticmFuZDpEfT1nLnQ0LmJyYW5kc1tXXTtpZihEJiZELmluZGV4T2YobikhPS0xKXJldHVybiEwfXJldHVybiExfTsKZy5yVz1mdW5jdGlvbihuKXtyZXR1cm4gZy5YUSgpLmluZGV4T2YobikhPS0xfTsKc0E9ZnVuY3Rpb24oKXtyZXR1cm4gZy5xeHx8Zy5HaD8hIWcudDQmJmcudDQuYnJhbmRzLmxlbmd0aD4wOiExfTsKTng9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8hMTpnLnJXKCJPcGVyYSIpfTsKcDA9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiRmlyZWZveCIpfHxnLnJXKCJGeGlPUyIpfTsKZy5IMj1mdW5jdGlvbigpe3JldHVybiBnLnJXKCJTYWZhcmkiKSYmIShZSygpfHwoc0EoKT8wOmcuclcoIkNvYXN0IikpfHxOeCgpfHwoc0EoKT8wOmcuclcoIkVkZ2UiKSl8fChzQSgpPyRLKCJNaWNyb3NvZnQgRWRnZSIpOmcuclcoIkVkZy8iKSl8fChzQSgpPyRLKCJPcGVyYSIpOmcuclcoIk9QUiIpKXx8cDAoKXx8Zy5yVygiU2lsayIpfHxnLnJXKCJBbmRyb2lkIikpfTsKWUs9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8kSygiQ2hyb21pdW0iKTooZy5yVygiQ2hyb21lIil8fGcuclcoIkNyaU9TIikpJiYhKHNBKCk/MDpnLnJXKCJFZGdlIikpfHxnLnJXKCJTaWxrIil9OwpnLmYwPWZ1bmN0aW9uKCl7cmV0dXJuIGcucXh8fGcuR2g/ISFnLnQ0JiYhIWcudDQucGxhdGZvcm06ITF9Owp2YXIgRTJVPWZ1bmN0aW9uKG4sVyxELGIsdil7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDI1LDE4NjYsbixXLEQsYix2KX07CmcuSTI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5mMCgpP2cudDQucGxhdGZvcm09PT0iQW5kcm9pZCI6Zy5yVygiQW5kcm9pZCIpfTsKU3U9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiaVBob25lIikmJiFnLnJXKCJpUG9kIikmJiFnLnJXKCJpUGFkIil9OwpnLkE0PWZ1bmN0aW9uKCl7cmV0dXJuIFN1KCl8fGcuclcoImlQYWQiKXx8Zy5yVygiaVBvZCIpfTsKZy5teD1mdW5jdGlvbigpe3JldHVybiBnLmYwKCk/Zy50NC5wbGF0Zm9ybT09PSJtYWNPUyI6Zy5yVygiTWFjaW50b3NoIil9OwpnLkswPWZ1bmN0aW9uKCl7cmV0dXJuIGcuZjAoKT9nLnQ0LnBsYXRmb3JtPT09IldpbmRvd3MiOmcuclcoIldpbmRvd3MiKX07CmcuT0E9ZnVuY3Rpb24obil7Zy5PQVsiICJdKG4pO3JldHVybiBufTsKdWhoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9aXR4O3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxuKT9EW25dOkRbbl09VyhuKX07CmcuWlg9ZnVuY3Rpb24obil7cmV0dXJuIHVoaChuLGZ1bmN0aW9uKCl7cmV0dXJuIGcuY1ooUDIsbik+PTB9KX07CmcuRUE9ZnVuY3Rpb24obixXKXtXPT09dm9pZCAwJiYoVz0wKTtVQSgpO1c9eWxbV107Zm9yKHZhciBEPUFycmF5KE1hdGguZmxvb3Iobi5sZW5ndGgvMykpLGI9V1s2NF18fCIiLHY9MCxrPTA7djxuLmxlbmd0aC0yO3YrPTMpe3ZhciBoPW5bdl0seD1uW3YrMV0sTD1uW3YrMl0sZT1XW2g+PjJdO2g9V1soaCYzKTw8NHx4Pj40XTt4PVdbKHgmMTUpPDwyfEw+PjZdO0w9V1tMJjYzXTtEW2srK109IiIrZStoK3grTH1lPTA7TD1iO3N3aXRjaChuLmxlbmd0aC12KXtjYXNlIDI6ZT1uW3YrMV0sTD1XWyhlJjE1KTw8Ml18fGI7Y2FzZSAxOm49blt2XSxEW2tdPSIiK1dbbj4+Ml0rV1sobiYzKTw8NHxlPj40XStMK2J9cmV0dXJuIEQuam9pbigiIil9Owp2YXIgbzJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlwW0lbMTBdXSh0aGlzLDEsMTcwOCxuLFcpfTsKZy51cD1mdW5jdGlvbihuLFcsRCl7aWYoVyl7bGV0IGI9W10sdj0wO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKXtsZXQgaD1uLmNoYXJDb2RlQXQoayk7aWYoaD4yNTUpe2xldCB4PUVycm9yKCJnby91bmljb2RlLXRvLWJ5dGUtZXJyb3IiKTtpZihEKXRocm93IHg7Ylt2KytdPWgmMjU1O2g+Pj04fWJbdisrXT1ofW49Zy5FQShiLFcpfWVsc2Ugbj1nLnFpLmJ0b2Eobik7cmV0dXJuIG59Owp6aD1mdW5jdGlvbihuKXt2YXIgVz1bXTtvMihuLGZ1bmN0aW9uKEQpe1cucHVzaChEKX0pOwpyZXR1cm4gV307CmxwPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubGVuZ3RoLEQ9VyozLzQ7RCUzP0Q9TWF0aC5mbG9vcihEKToiPS4iLmluZGV4T2YobltXLTFdKSE9LTEmJihEPSI9LiIuaW5kZXhPZihuW1ctMl0pIT0tMT9ELTI6RC0xKTt2YXIgYj1uZXcgVWludDhBcnJheShEKSx2PTA7bzIobixmdW5jdGlvbihrKXtiW3YrK109a30pOwpyZXR1cm4gdiE9PUQ/Yi5zdWJhcnJheSgwLHYpOmJ9OwpvMj1mdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQodil7Zm9yKDtiPG4ubGVuZ3RoOyl7bGV0IGs9bi5jaGFyQXQoYisrKSxoPVRoW2tdO2lmKGghPW51bGwpcmV0dXJuIGg7aWYoIWcuRmgoaykpdGhyb3cgRXJyb3IoIlVua25vd24gYmFzZTY0IGVuY29kaW5nIGF0IGNoYXI6ICIrayk7fXJldHVybiB2fQpVQSgpO2Zvcih2YXIgYj0wOzspe2xldCB2PUQoLTEpLGs9RCgwKSxoPUQoNjQpLHg9RCg2NCk7aWYoeD09PTY0JiZ2PT09LTEpYnJlYWs7Vyh2PDwyfGs+PjQpO2ghPTY0JiYoVyhrPDw0JjI0MHxoPj4yKSx4IT02NCYmVyhoPDw2JjE5Mnx4KSl9fTsKVUE9ZnVuY3Rpb24oKXtpZighVGgpe1RoPXt9O3ZhciBuPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLFc9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl07Zm9yKGxldCBEPTA7RDw1O0QrKyl7bGV0IGI9bi5jb25jYXQoV1tEXS5zcGxpdCgiIikpO3lsW0RdPWI7Zm9yKGxldCB2PTA7djxiLmxlbmd0aDt2Kyspe2xldCBrPWJbdl07VGhba109PT12b2lkIDAmJihUaFtrXT12KX19fX07CnpNMj1mdW5jdGlvbihuKXtyZXR1cm4gZGlVW25dfHwiIn07CkMwPWZ1bmN0aW9uKG4pe249anUudGVzdChuKT9uLnJlcGxhY2UoanUsek0yKTpuO249YXRvYihuKTt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpNeD1mdW5jdGlvbigpe3JldHVybiBCMnx8KEIyPW5ldyBGUShudWxsLHdXKSl9OwpRbD1mdW5jdGlvbihuKXtSMih3Vyk7dmFyIFc9bi5OO1c9Vz09bnVsbHx8VyE9bnVsbCYmVyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Vzp0eXBlb2YgVz09PSJzdHJpbmciP0MwKFcpOm51bGw7cmV0dXJuIFc9PW51bGw/VzpuLk49V307ClZsPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVWludDhBcnJheShRbChuKXx8MCl9OwpSMj1mdW5jdGlvbihuKXtpZihuIT09d1cpdGhyb3cgRXJyb3IoImlsbGVnYWwgZXh0ZXJuYWwgY2FsbGVyIik7fTsKYzI9ZnVuY3Rpb24obil7bj1FcnJvcihuKTtoQShuLCJ3YXJuaW5nIik7cmV0dXJuIG59OwpuNT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpe3ZhciBEPWEyPz8oYTI9e30pO3ZhciBiPURbbl18fDA7Yj49V3x8KERbbl09YisxLG49RXJyb3IoKSxoQShuLCJpbmNpZGVudCIpLGg0KG4pKX19OwpXOT1mdW5jdGlvbihuLFc9ITEpe3JldHVybiBXJiZTeW1ib2wuZm9yJiZuP1N5bWJvbC5mb3Iobik6biE9bnVsbD9TeW1ib2wobik6U3ltYm9sKCl9Owp2OT1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwP24uTiE9PURCJiYhISgyJihuLmw5W2I0XXwwKSk6ISEoMiZXKSYmbi5OIT09REJ9OwprVT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpaWYodHlwZW9mIG49PT0ic3RyaW5nIiluPW4/bmV3IEZRKG4sd1cpOk14KCk7ZWxzZSBpZihuLmNvbnN0cnVjdG9yIT09RlEpaWYobiE9bnVsbCYmbiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpbj1uLmxlbmd0aD9uZXcgRlEobmV3IFVpbnQ4QXJyYXkobiksd1cpOk14KCk7ZWxzZXtpZighVyl0aHJvdyBFcnJvcigpO249dm9pZCAwfXJldHVybiBufTsKaF89ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcmMTI4PzA6LTEsdj1uLmxlbmd0aCxrO2lmKGs9ISF2KWs9blt2LTFdLGs9ayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdDt2YXIgaD12KyhrPy0xOjApO2ZvcihXPVcmMTI4PzE6MDtXPGg7VysrKUQoVy1iLG5bV10pO2lmKGspe249blt2LTFdO2ZvcihsZXQgeCBpbiBuKSFpc05hTih4KSYmRCgreCxuW3hdKX19OwpMNT1mdW5jdGlvbihuKXtyZXR1cm4gbiYxMjg/eFU6dm9pZCAwfTsKWEQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVdebjtpZihuLTY+PjM9PTIpeyhEW2JeNTE4XT49LShiXjU1MSl8fCgoMCxEW2JeNTE1XSkoRFtiXjUyMV0sRFtiXjYwOV0pLDApKSYmKDAsRFtiXjU2M10pKERbYl42MDldKTsoMCxEWzZdKSgpOygoMCxEW2JeNTMzXSkoRFtiXjU3NF0sRFtiXjU3Ml0pLERbYl41MzNdKShEW2JeNTM4XSxEW2JeNTcyXSk7dmFyIHY9W119aWYoKG4mMTIwKT09bil0aHJvdyBEO2lmKG4tNzw8MjxuJiYobi00fDMxKT49bil7Zm9yKHZhciBrPWJeMzE1NCxoPVtdOysray1oW0lbNV1dLShiXjMxMjIpOylzd2l0Y2goayl7Y2FzZSBiXjMxMzI6az1iXjMxNDk7ZGVmYXVsdDpoW0lbYl4zMDc2XV0oU3RyaW5nW0lbYl4zMTA0XV0oaykpO2Nhc2UgYl4zMTQ4OmNhc2UgYl4zMTQ5OmNhc2UgYl4zMTg2OmJyZWFrO2Nhc2UgYl4zMTc3OmstPWJeMzE2NjtjYXNlIGJeMzE1MDpjYXNlIGJeMzE1MTpjb250aW51ZTtjYXNlIGJeMzExMjprPWJeMzEzNDtjYXNlIGJeMzE0NTp9dj0KaH0obnw1Nik9PW4mJihlWChiXjQ1MDksYl4zNTE4LEQpLChrPURbSVsxXV1bSVtiXjQ0OTRdXXx8bnVsbCkmJihrPWdaKDIsYl4yMjE3LGssRCkpLHY9W10pO3JldHVybiB2fTsKcTM9ZnVuY3Rpb24obil7bi5URj0hMDtyZXR1cm4gbn07CmcuJFU9ZnVuY3Rpb24obil7aWYoKDAsZy5HOSkobikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChuKSl0aHJvdyBFcnJvcihTdHJpbmcobikpO31lbHNlIGlmKCgwLGcudF8pKG4pJiYhTnVtYmVyLmlzU2FmZUludGVnZXIobikpdGhyb3cgRXJyb3IoU3RyaW5nKG4pKTtyZXR1cm4gQmlnSW50KG4pfTsKTjM9ZnVuY3Rpb24obil7dmFyIFc9bj4+PjA7clo9VztzXz0obi1XKS80Mjk0OTY3Mjk2Pj4+MH07CnA1PWZ1bmN0aW9uKG4pe2lmKG48MCl7TjMoMC1uKTtuPXJaO3ZhciBXPXNfO1c9flc7bj9uPX5uKzE6Vys9MTtsZXQgW0QsYl09W24sV107clo9RD4+PjA7c189Yj4+PjB9ZWxzZSBOMyhuKX07Ckg5PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vyo0Mjk0OTY3Mjk2KyhuPj4+MCk7cmV0dXJuIE51bWJlci5pc1NhZmVJbnRlZ2VyKEQpP0Q6WVUobixXKX07CmY1PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuJFUoQmlnSW50LmFzVWludE4oNjQsKEJpZ0ludChXPj4+MCk8PEJpZ0ludCgzMikpK0JpZ0ludChuPj4+MCkpKX07CmcuSl89ZnVuY3Rpb24obixXKXtyZXR1cm4gZy4kVShCaWdJbnQuYXNJbnROKDY0LChCaWdJbnQuYXNVaW50TigzMixCaWdJbnQoVykpPDxCaWdJbnQoMzIpKStCaWdJbnQuYXNVaW50TigzMixCaWdJbnQobikpKSl9OwpZVT1mdW5jdGlvbihuLFcpe1c+Pj49MDtuPj4+PTA7dmFyIEQ7Vzw9MjA5NzE1MT9EPSIiKyg0Mjk0OTY3Mjk2Klcrbik6RD0iIisoQmlnSW50KFcpPDxCaWdJbnQoMzIpfEJpZ0ludChuKSk7cmV0dXJuIER9OwpJMD1mdW5jdGlvbigpe3ZhciBuPXJaLFc9c18sRDtXJjIxNDc0ODM2NDg/RD0iIisoQmlnSW50KFd8MCk8PEJpZ0ludCgzMil8QmlnSW50KG4+Pj4wKSk6RD1ZVShuLFcpO3JldHVybiBEfTsKU1g9ZnVuY3Rpb24obil7bi5sZW5ndGg8MTY/cDUoTnVtYmVyKG4pKToobj1CaWdJbnQobiksclo9TnVtYmVyKG4mQmlnSW50KDQyOTQ5NjcyOTUpKT4+PjAsc189TnVtYmVyKG4+PkJpZ0ludCgzMikmQmlnSW50KDQyOTQ5NjcyOTUpKSl9OwpnLkFfPWZ1bmN0aW9uKG4pe2lmKG4hPW51bGwmJnR5cGVvZiBuIT09Im51bWJlciIpdGhyb3cgRXJyb3IoYFZhbHVlIG9mIGZsb2F0L2RvdWJsZSBmaWVsZCBtdXN0IGJlIGEgbnVtYmVyLCBmb3VuZCAke3R5cGVvZiBufTogJHtufWApO3JldHVybiBufTsKbTA9ZnVuY3Rpb24obil7aWYobj09bnVsbHx8dHlwZW9mIG49PT0ibnVtYmVyIilyZXR1cm4gbjtpZihuPT09Ik5hTiJ8fG49PT0iSW5maW5pdHkifHxuPT09Ii1JbmZpbml0eSIpcmV0dXJuIE51bWJlcihuKX07Cks1PWZ1bmN0aW9uKG4pe3JldHVybiBuLmRpc3BsYXlOYW1lfHxuLm5hbWV8fCJ1bmtub3duIHR5cGUgbmFtZSJ9OwpPXz1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJib29sZWFuIil0aHJvdyBFcnJvcihgRXhwZWN0ZWQgYm9vbGVhbiBidXQgZ290ICR7cHQobil9OiAke259YCk7cmV0dXJuIG59OwpaQj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4gUDkobik7Y2FzZSAic3RyaW5nIjpyZXR1cm4gbDEyLnRlc3Qobik7ZGVmYXVsdDpyZXR1cm4hMX19OwpVXz1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJudW1iZXIiKXRocm93IGMyKCJpbnQzMiIpO2lmKCFQOShuKSl0aHJvdyBjMigiaW50MzIiKTtyZXR1cm4gbnwwfTsKZy55UD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD9uOlVfKG4pfTsKRV89ZnVuY3Rpb24obil7aWYobj09bnVsbClyZXR1cm4gbjtpZih0eXBlb2Ygbj09PSJzdHJpbmciJiZuKW49K247ZWxzZSBpZih0eXBlb2YgbiE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4gUDkobik/bnwwOnZvaWQgMH07CnU0PWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47aWYodHlwZW9mIG49PT0ic3RyaW5nIiYmbiluPStuO2Vsc2UgaWYodHlwZW9mIG4hPT0ibnVtYmVyIilyZXR1cm47cmV0dXJuIFA5KG4pP24+Pj4wOnZvaWQgMH07CmcubDQ9ZnVuY3Rpb24obil7aWYobiE9bnVsbClhOntpZighWkIobikpdGhyb3cgYzIoImludDY0Iik7c3dpdGNoKHR5cGVvZiBuKXtjYXNlICJzdHJpbmciOm49bzAobik7YnJlYWsgYTtjYXNlICJiaWdpbnQiOm49Zy4kVShkWig2NCxuKSk7YnJlYWsgYTtkZWZhdWx0Om49ejkobil9fXJldHVybiBufTsKQzU9ZnVuY3Rpb24obil7WkIobik7bj1UOShuKTtpZighalgobikpe3A1KG4pO3ZhciBXPXJaLEQ9c187aWYobj1EJjIxNDc0ODM2NDgpVz1+VysxPj4+MCxEPX5EPj4+MCxXPT0wJiYoRD1EKzE+Pj4wKTtXPUg5KFcsRCk7bj10eXBlb2YgVz09PSJudW1iZXIiP24/LVc6VzpuPyItIitXOld9cmV0dXJuIG59OwpCOT1mdW5jdGlvbihuKXtaQihuKTt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBTdHJpbmcoVyk7Vz1uLmluZGV4T2YoIi4iKTtXIT09LTEmJihuPW4uc3Vic3RyaW5nKDAsVykpO1c9bi5sZW5ndGg7KG5bMF09PT0iLSI/VzwyMHx8Vz09PTIwJiZuPD0iLTkyMjMzNzIwMzY4NTQ3NzU4MDgiOlc8MTl8fFc9PT0xOSYmbjw9IjkyMjMzNzIwMzY4NTQ3NzU4MDciKXx8KFNYKG4pLG49STAoKSk7cmV0dXJuIG59OwpvMD1mdW5jdGlvbihuKXt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBnLiRVKFcpO1c9bi5pbmRleE9mKCIuIik7VyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKTtyZXR1cm4gZy4kVShkWig2NCxCaWdJbnQobikpKX07Cno5PWZ1bmN0aW9uKG4pe2pYKG4pP249Zy4kVShDNShuKSk6KFpCKG4pLG49VDkobiksalgobik/bj1TdHJpbmcobik6KHA1KG4pLG49STAoKSksbj1nLiRVKG4pKTtyZXR1cm4gbn07CkZEPWZ1bmN0aW9uKG4pe3ZhciBXPXR5cGVvZiBuO2lmKG49PW51bGwpcmV0dXJuIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBnLiRVKGRaKDY0LG4pKTtpZihaQihuKSlyZXR1cm4gVz09PSJzdHJpbmciP28wKG4pOno5KG4pfTsKakNoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgeCBvZiBEKXtpZigheC51cmwpY29udGludWU7RD1uZXcgZy53Wih4LnVybCwhMCk7aWYoeC5zKXt2YXIgaz1ELGg9eC5zcDtsZXQgTD1lWCg4Myw2NTU4LE0zKDE3LDQyNjMseC5zKSk7a1tJWzM0XV0oaCxSMCgyOSw4NzMyLEwpKX1mb3IobGV0IEwgb2YgT2JqZWN0LmtleXMoYikpRC5zZXQoTCxiW0xdKTtrPVFQKHgudHlwZSx4LnF1YWxpdHkseC5pdGFnLHgud2lkdGgseC5oZWlnaHQpO3YucHVzaChuZXcgVHJ3KGssRCkpfXJldHVybiBWUChuLlcsdixjOShuLFcpLCExKX07CkN4TT1mdW5jdGlvbihuKXtpZihuPT1udWxsKXJldHVybiBuO3ZhciBXPXR5cGVvZiBuO2lmKFc9PT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKGRaKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBCOShuKTtpZihXPT09Im51bWJlciIpcmV0dXJuIEM1KG4pfX07CmEwPWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47dmFyIFc9dHlwZW9mIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoQnJoKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBaQihuKSxXPVQ5KE51bWJlcihuKSksalgoVykmJlc+PTA/bj1TdHJpbmcoVyk6KFc9bi5pbmRleE9mKCIuIiksVyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKSxuWzBdPT09Ii0iP1c9ITE6KFc9bi5sZW5ndGgsVz1XPDIwPyEwOlc9PT0yMCYmbjw9IjE4NDQ2NzQ0MDczNzA5NTUxNjE1IiksV3x8KFNYKG4pLG49WVUoclosc18pKSksbjtpZihXPT09Im51bWJlciIpcmV0dXJuIFpCKG4pLG49VDkobiksbj49MCYmalgobil8fChwNShuKSxuPUg5KHJaLHNfKSksbn19OwpuRz1mdW5jdGlvbihuKXtpZihuPT1udWxsfHx0eXBlb2Ygbj09InN0cmluZyJ8fG4gaW5zdGFuY2VvZiBGUSlyZXR1cm4gbn07CkZTMj1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpXSD1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpnLkRSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT1udWxsfHx0eXBlb2Ygbj09PSJzdHJpbmciP246dm9pZCAwfTsKYlc9ZnVuY3Rpb24obixXKXtpZighKG4gaW5zdGFuY2VvZiBXKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWQgaW5zdGFuY2VvZiAke0s1KFcpfSBidXQgZ290ICR7biYmSzUobi5jb25zdHJ1Y3Rvcil9YCk7cmV0dXJuIG59Owpodj1mdW5jdGlvbihuLFcsRCl7aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gbjtpZihBcnJheS5pc0FycmF5KG4pKXt2YXIgYj1uW2I0XXwwO0Q9YnxEJjMyfEQmMjtEIT09YiYmKG5bYjRdPUQpO3JldHVybiBuZXcgVyhuKX19Owp4dj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CmVXPWZ1bmN0aW9uKG4pe3ZhciBXPUV3KExHKTtyZXR1cm4gVz9uW1ddOnZvaWQgMH07CmdnPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4pIWlzTmFOKEQpJiZXKG4sK0QsbltEXSl9Owp3WkM9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFhGO2dnKG4sKEQsYix2KT0+e1dbYl09Wy4uLnZdfSk7Clcuajc9bi5qNztyZXR1cm4gV307Ckd6PWZ1bmN0aW9uKG4sVyl7aWYoRXcocUUpJiZFdyhMRykmJnZvaWQgMD09PXFFKXtuPW4ubDk7dmFyIEQ9bltMR107aWYoRCYmKEQ9RC5qNykpdHJ5e0QobixXLE1VaSl9Y2F0Y2goYil7aDQoYil9fX07CnR2PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RXcoTEcpO0QmJm5bRF0/LltXXSE9bnVsbCYmbjUoUk1iLDMpfTsKVlVTPWZ1bmN0aW9uKG4sVyl7VzwxMDB8fG41KFFDaSwxKX07CnJnPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWIhPT12b2lkIDA7Yj0hIWI7dmFyIGs9RXcoTEcpLGg7IXYmJmsmJihoPW5ba10pJiZnZyhoLFZVUyk7az1bXTt2YXIgeD1uLmxlbmd0aDtoPTQyOTQ5NjcyOTU7dmFyIEw9ITEsZT0hIShXJjY0KSxHPWU/VyYxMjg/MDotMTp2b2lkIDA7aWYoIShXJjEpKXt2YXIgcj14JiZuW3gtMV07ciE9bnVsbCYmdHlwZW9mIHI9PT0ib2JqZWN0IiYmci5jb25zdHJ1Y3Rvcj09PU9iamVjdD8oeC0tLGg9eCk6cj12b2lkIDA7IWV8fFcmMTI4fHx2fHwoTD0hMCxoPSgkdj8/eHYpKGgtRyxHLG4scix2b2lkIDApK0cpfVc9dm9pZCAwO2Zvcih2YXIgTj0wO048eDtOKyspe2xldCBIPW5bTl07aWYoSCE9bnVsbCYmKEg9RChILGIpKSE9bnVsbClpZihlJiZOPj1oKXtsZXQgQT1OLUc7KFc/PyhXPXt9KSlbQV09SH1lbHNlIGtbTl09SH1pZihyKWZvcihsZXQgSCBpbiByKXt4PXJbSF07aWYoeD09bnVsbHx8KHg9RCh4LGIpKT09bnVsbCljb250aW51ZTtOPQorSDtsZXQgQTtlJiYhTnVtYmVyLmlzTmFOKE4pJiYoQT1OK0cpPGg/a1tBXT14OihXPz8oVz17fSkpW0hdPXh9VyYmKEw/ay5wdXNoKFcpOmtbaF09Vyk7diYmRXcoTEcpJiYobj1lVyhuKSkmJm4gaW5zdGFuY2VvZiBYRiYmKGtbTEddPXdaQyhuKSk7cmV0dXJuIGt9OwpORT1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShuKT9uOiIiK247Y2FzZSAiYmlnaW50IjpyZXR1cm4gc0sobik/TnVtYmVyKG4pOiIiK247Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIG4/MTowO2Nhc2UgIm9iamVjdCI6aWYoQXJyYXkuaXNBcnJheShuKSl7dmFyIFc9bltiNF18MDtyZXR1cm4gbi5sZW5ndGg9PT0wJiZXJjE/dm9pZCAwOnJnKG4sVyxORSl9aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gcEcobik7aWYobiBpbnN0YW5jZW9mIEZRKXtXPW4uTjtpZihXPT1udWxsKW49IiI7ZWxzZSBpZih0eXBlb2YgVz09PSJzdHJpbmciKW49VztlbHNle2xldCBEPSIiLGI9MCx2PVcubGVuZ3RoLTEwMjQwO2Zvcig7Yjx2OylEKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsVy5zdWJhcnJheShiLGIrPTEwMjQwKSk7RCs9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGI/Vy5zdWJhcnJheShiKToKVyk7Vz1idG9hKEQpO249bi5OPVd9cmV0dXJuIG59cmV0dXJufXJldHVybiBufTsKWXY9ZnVuY3Rpb24obixXKXtpZihXKXskdj1XPT1udWxsfHxXPT09eHZ8fFdbY2lVXSE9PWExVT94djpXO3RyeXtyZXR1cm4gcEcobil9ZmluYWxseXskdj12b2lkIDB9fXJldHVybiBwRyhuKX07CnBHPWZ1bmN0aW9uKG4pe249bi5sOTtyZXR1cm4gcmcobixuW2I0XXwwLE5FKX07Cm4zMj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJvb2xlYW4iOnJldHVybiBISHx8KEhIPVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIG4+MD92b2lkIDA6bj09PTA/Zkd8fChmRz1bMCx2b2lkIDBdKTpbLW4sdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLG5dO2Nhc2UgIm9iamVjdCI6cmV0dXJuIG59fTsKU1c9ZnVuY3Rpb24obixXKXtyZXR1cm4gSnYobixXWzBdLFdbMV0pfTsKSnY9ZnVuY3Rpb24obixXLEQsYj0wKXtpZihuPT1udWxsKXt2YXIgdj0zMjtEPyhuPVtEXSx2fD0xMjgpOm49W107VyYmKHY9diYtMTY3NjA4MzN8KFcmMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KG4pKXRocm93IEVycm9yKCJuYXJyIik7dj1uW2I0XXwwO2lmKEF2JiYxJnYpdGhyb3cgRXJyb3IoInJmYXJyIik7MjA0OCZ2JiYhKDImdikmJldjcigpO2lmKHYmMjU2KXRocm93IEVycm9yKCJmYXJyIik7aWYodiY2NClyZXR1cm4odnxiKSE9PXYmJihuW2I0XT12fGIpLG47aWYoRCYmKHZ8PTEyOCxEIT09blswXSkpdGhyb3cgRXJyb3IoIm1pZCIpO2E6e0Q9bjt2fD02NDt2YXIgaz1ELmxlbmd0aDtpZihrKXt2YXIgaD1rLTE7bGV0IEw9RFtoXTtpZihMIT1udWxsJiZ0eXBlb2YgTD09PSJvYmplY3QiJiZMLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtXPXYmMTI4PzA6LTE7aC09VztpZihoPj0xMDI0KXRocm93IEVycm9yKCJwdnRsbXQiKTtmb3IodmFyIHggaW4gTClpZihrPQoreCxrPGgpRFtrK1ddPUxbeF0sZGVsZXRlIExbeF07ZWxzZSBicmVhazt2PXYmLTE2NzYwODMzfChoJjEwMjMpPDwxNDticmVhayBhfX1pZihXKXt4PU1hdGgubWF4KFcsay0odiYxMjg/MDotMSkpO2lmKHg+MTAyNCl0aHJvdyBFcnJvcigic3B2dCIpO3Y9diYtMTY3NjA4MzN8KHgmMTAyMyk8PDE0fX19bltiNF09dnw2NHxiO3JldHVybiBufTsKV2NyPWZ1bmN0aW9uKCl7aWYoQXYpdGhyb3cgRXJyb3IoImNhcnIiKTtuNShEVWksNSl9OwpiYlo9ZnVuY3Rpb24obixXKXtpZih0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKEFycmF5LmlzQXJyYXkobikpe3ZhciBEPW5bYjRdfDA7bi5sZW5ndGg9PT0wJiZEJjE/bj12b2lkIDA6RCYyfHwoIVd8fDQwOTYmRHx8MTYmRD9uPW1fKG4sRCwhMSxXJiYhKEQmMTYpKToobltiNF18PTM0LEQmNCYmT2JqZWN0LmZyZWV6ZShuKSkpO3JldHVybiBufWlmKG4hPW51bGwmJm5bdkhdPT09a3YpcmV0dXJuIFc9bi5sOSxEPVdbYjRdfDAsdjkobixEKT9uOktHKG4sVyxEKT9PSyhuLFcpOm1fKFcsRCk7aWYobiBpbnN0YW5jZW9mIEZRKXJldHVybiBufTsKT0s9ZnVuY3Rpb24obixXLEQpe249bmV3IG4uY29uc3RydWN0b3IoVyk7RCYmKG4uTj1EQik7bi5YPURCO3JldHVybiBufTsKbV89ZnVuY3Rpb24obixXLEQsYil7Yj8/KGI9ISEoMzQmVykpO249cmcobixXLGJiWixiKTtiPTMyO0QmJihifD0yKTtXPVcmMTY3NjkyMTd8YjtuW2I0XT1XO3JldHVybiBufTsKUEg9ZnVuY3Rpb24obil7dmFyIFc9bi5sOSxEPVdbYjRdfDA7cmV0dXJuIHY5KG4sRCk/S0cobixXLEQpP09LKG4sVywhMCk6bmV3IG4uY29uc3RydWN0b3IobV8oVyxELCExKSk6bn07ClpSPWZ1bmN0aW9uKG4pe2lmKG4uTiE9PURCKXJldHVybiExO3ZhciBXPW4ubDk7Vz1tXyhXLFdbYjRdfDApO1dbYjRdfD0yMDQ4O24ubDk9VztuLk49dm9pZCAwO24uWD12b2lkIDA7cmV0dXJuITB9OwpVSz1mdW5jdGlvbihuKXtpZighWlIobikmJnY5KG4sbi5sOVtiNF18MCkpdGhyb3cgRXJyb3IoKTt9Owp5Zz1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDAmJihXPW5bYjRdfDApO1cmMzImJiEoVyY0MDk2KSYmKG5bYjRdPVd8NDA5Nil9OwpLRz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQmMj8hMDpEJjMyJiYhKEQmNDA5Nik/KFdbYjRdPUR8MixuLk49REIsITApOiExfTsKaVc9ZnVuY3Rpb24obixXLEQsYix2KXtPYmplY3QuaXNFeHRlbnNpYmxlKG4pO1c9RUsobi5sOSxXLEQsdik7aWYoVyE9PW51bGx8fGImJm4uWCE9PURCKXJldHVybiBXfTsKRUs9ZnVuY3Rpb24obixXLEQsYil7aWYoVz09PS0xKXJldHVybiBudWxsO3ZhciB2PVcrKEQ/MDotMSksaz1uLmxlbmd0aC0xO2lmKCEoazwxKyhEPzA6LTEpKSl7aWYodj49ayl7dmFyIGg9bltrXTtpZihoIT1udWxsJiZ0eXBlb2YgaD09PSJvYmplY3QiJiZoLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtEPWhbV107dmFyIHg9ITB9ZWxzZSBpZih2PT09aylEPWg7ZWxzZSByZXR1cm59ZWxzZSBEPW5bdl07aWYoYiYmRCE9bnVsbCl7Yj1iKEQpO2lmKGI9PW51bGwpcmV0dXJuIGI7aWYoIU9iamVjdC5pcyhiLEQpKXJldHVybiB4P2hbV109YjpuW3ZdPWIsYn1yZXR1cm4gRH19Owpvej1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5O3VXKHYsdltiNF18MCxXLEQsYik7cmV0dXJuIG59Owp1Vz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPUQrKHY/MDotMSksaD1uLmxlbmd0aC0xO2lmKGg+PTErKHY/MDotMSkmJms+PWgpe2xldCB4PW5baF07aWYoeCE9bnVsbCYmdHlwZW9mIHg9PT0ib2JqZWN0IiYmeC5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4geFtEXT1iLFd9aWYoazw9aClyZXR1cm4gbltrXT1iLFc7YiE9PXZvaWQgMCYmKGg9KFc/PyhXPW5bYjRdfDApKT4+MTQmMTAyM3x8NTM2ODcwOTEyLEQ+PWg/YiE9bnVsbCYmKG5baCsodj8wOi0xKV09e1tEXTpifSk6bltrXT1iKTtyZXR1cm4gV307CmcuQkg9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLmw5LGg9a1tiNF18MDtiPXY5KG4saCk/MTpiO3Y9ISF2fHxiPT09MztiPT09MiYmWlIobikmJihrPW4ubDksaD1rW2I0XXwwKTtuPWRnKGssVyk7dmFyIHg9bj09PXp6Pzc6bltiNF18MCxMPWxXKHgsaCk7dmFyIGU9NCZMPyExOiEwO2lmKGUpezQmTCYmKG49Wy4uLm5dLHg9MCxMPWpXKEwsaCksaD11VyhrLGgsVyxuKSk7bGV0IEc9MCxyPTA7Zm9yKDtHPG4ubGVuZ3RoO0crKyl7bGV0IE49RChuW0ddKTtOIT1udWxsJiYobltyKytdPU4pfXI8RyYmKG4ubGVuZ3RoPXIpO0Q9KEx8NCkmLTUxMztMPUQmPS0xMDI1O0wmPS00MDk3fUwhPT14JiYobltiNF09TCwyJkwmJk9iamVjdC5mcmVlemUobikpO3JldHVybiBuPUNHKG4sTCxrLGgsVyx2b2lkIDAsYixlLHYpfTsKQ0c9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPVc7aD09PTF8fChoIT09ND8wOjImV3x8ISgxNiZXKSYmMzImYik/RkYoVyl8fChXfD0hbi5sZW5ndGh8fHgmJiEoNDA5NiZXKXx8MzImYiYmISg0MDk2Jld8fDE2JlcpPzI6MjU2LFchPT1lJiYobltiNF09VyksT2JqZWN0LmZyZWV6ZShuKSk6KGg9PT0yJiZGRihXKSYmKG49Wy4uLm5dLGU9MCxXPWpXKFcsYiksYj11VyhELGIsdixuLGspKSxGRihXKXx8KEx8fChXfD0xNiksVyE9PWUmJihuW2I0XT1XKSkpOzImV3x8ISg0MDk2Jld8fDE2JlcpfHx5ZyhELGIpO3JldHVybiBufTsKZGc9ZnVuY3Rpb24obixXLEQpe249RUsobixXLEQpO3JldHVybiBBcnJheS5pc0FycmF5KG4pP246enp9OwpsVz1mdW5jdGlvbihuLFcpezImVyYmKG58PTIpO3JldHVybiBufDF9OwpGRj1mdW5jdGlvbihuKXtyZXR1cm4hISgyJm4pJiYhISg0Jm4pfHwhISgyNTYmbil9OwpNRT1mdW5jdGlvbihuKXtyZXR1cm4ga1UobiwhMCl9OwpSej1mdW5jdGlvbihuLFcpe249aVcobixXLHZvaWQgMCx2b2lkIDAsTUUpO3JldHVybiBuPT1udWxsP014KCk6bn07ClFnPWZ1bmN0aW9uKG4sVyxEKXtVSyhuKTt2YXIgYj1uLmw5LHY9YltiNF18MDtpZihXPT1udWxsKXJldHVybiB1VyhiLHYsMyksbjtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBjMigpO3ZhciBrPVc9PT16ej83OldbYjRdfDAsaD1rLHg9RkYoayksTD14fHxPYmplY3QuaXNGcm96ZW4oVyk7eHx8KGs9MCk7THx8KFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSk7a3w9NTt4PSg0Jms/NTEyJms/NTEyOjEwMjQmaz8xMDI0OjA6dm9pZCAwKT8/MTAyNDtrfD14O2ZvcihsZXQgZT0wO2U8Vy5sZW5ndGg7ZSsrKXtsZXQgRz1XW2VdLHI9RChHLHgpO09iamVjdC5pcyhHLHIpfHwoTCYmKFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSksV1tlXT1yKX1rIT09aCYmKEwmJihXPVsuLi5XXSxrPWpXKGssdikpLFdbYjRdPWspO3VXKGIsdiwzLFcpO3JldHVybiBufTsKZy5WZz1mdW5jdGlvbihuLFcsRCxiLHYpe1VLKG4pO3ZhciBrPW4ubDk7dVcoayxrW2I0XXwwLFcsKGI9PT0iMCI/TnVtYmVyKEQpPT09MDpEPT09Yik/dm9pZCAwOkQsdik7cmV0dXJuIG59OwpjSD1mdW5jdGlvbihuLFcsRCl7aWYoVyYyKXRocm93IEVycm9yKCk7dmFyIGI9TDUoVyksdj1kZyhuLEQsYiksaz12PT09eno/Nzp2W2I0XXwwLGg9bFcoayxXKTtpZigyJmh8fEZGKGgpfHwxNiZoKWg9PT1rfHxGRihoKXx8KHZbYjRdPWgpLHY9Wy4uLnZdLGs9MCxoPWpXKGgsVyksdVcobixXLEQsdixiKTtoJj0tMTM7aCE9PWsmJih2W2I0XT1oKTtyZXR1cm4gdn07CkQyPWZ1bmN0aW9uKG4sVyxELGIpe1VLKG4pO3ZhciB2PW4ubDksaz12W2I0XXwwO2lmKGI9PW51bGwpe2xldCBoPWF6KHYpO2lmKG5uKGgsdixrLEQpPT09VyloLnNldChELDApO2Vsc2UgcmV0dXJuIG59ZWxzZSBrPVdXKHYsayxELFcpO3VXKHYsayxXLGIpO3JldHVybiBufTsKYmE9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bltiNF18MCxrPUw1KHYpO3Y9V1cobix2LEQsVyxrKTt1VyhuLHYsVyxiLGspfTsKdlc9ZnVuY3Rpb24obixXLEQpe249bi5sOTtyZXR1cm4gbm4oYXoobiksbix2b2lkIDAsVyk9PT1EP0Q6LTF9Owphej1mdW5jdGlvbihuKXtyZXR1cm4gbltrOV0/PyhuW2s5XT1uZXcgTWFwKX07CldXPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj09PTB8fEQuaW5jbHVkZXMoYik7dmFyIGs9YXoobiksaD1ubihrLG4sVyxELHYpO2ghPT1iJiYoaCYmKFc9dVcobixXLGgsdm9pZCAwLHYpKSxrLnNldChELGIpKTtyZXR1cm4gV307Cm5uPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5nZXQoYik7aWYoayE9bnVsbClyZXR1cm4gaztrPTA7Zm9yKGxldCBoPTA7aDxiLmxlbmd0aDtoKyspe2xldCB4PWJbaF07RUsoVyx4LHYpIT1udWxsJiYoayE9PTAmJihEPXVXKFcsRCxrLHZvaWQgMCx2KSksaz14KX1uLnNldChiLGspO3JldHVybiBrfTsKaFM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5bYjRdfDAsdj1MNShiKSxrPUVLKG4sRCx2KTtpZihrIT1udWxsJiZrW3ZIXT09PWt2KXtpZighdjkoaykpcmV0dXJuIFpSKGspLGsubDk7dmFyIGg9ay5sOX1lbHNlIEFycmF5LmlzQXJyYXkoaykmJihoPWspO2lmKGgpe2xldCB4PWhbYjRdfDA7eCYyJiYoaD1tXyhoLHgpKX1oPVNXKGgsVyk7aCE9PWsmJnVXKG4sYixELGgsdik7cmV0dXJuIGh9Owp4OT1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSExO2I9RUsobixiLHYsaD0+e3ZhciB4PWh2KGgsRCxXKTtrPXghPT1oJiZ4IT1udWxsO3JldHVybiB4fSk7CmlmKGIhPW51bGwpcmV0dXJuIGsmJiF2OShiKSYmeWcobixXKSxifTsKZUU9ZnVuY3Rpb24obixXLEQsYil7bj1uLmw5OyhEPXg5KG4sbltiNF18MCxXLEQsYikpfHwoRD1XW0xuXSl8fChiPW5ldyBXLEQ9Yi5sOSxEW2I0XXw9MzQsRD1XW0xuXT1iKTtyZXR1cm4gRH07CmdlPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4ubDksaz12W2I0XXwwO1c9eDkodixrLFcsRCxiKTtpZihXPT1udWxsKXJldHVybiBXO2s9dltiNF18MDtpZighdjkobixrKSl7bGV0IGg9UEgoVyk7aCE9PVcmJihaUihuKSYmKHY9bi5sOSxrPXZbYjRdfDApLFc9aCxrPXVXKHYsayxELFcsYikseWcodixrKSl9cmV0dXJuIFd9OwpxSD1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLmw5O3JldHVybiBYXyhuLHYsdltiNF18MCxXLEQsMSxiKX07ClhfPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCxMKXt2YXIgZT12OShuLEQpO2s9ZT8xOms7eD0hIXh8fGs9PT0zO2U9TCYmIWU7KGs9PT0yfHxlKSYmWlIobikmJihXPW4ubDksRD1XW2I0XXwwKTtuPWRnKFcsdixoKTt2YXIgRz1uPT09eno/NzpuW2I0XXwwLHI9bFcoRyxEKTtpZihMPSEoNCZyKSl7dmFyIE49bixIPUQ7bGV0IEE9ISEoMiZyKTtBJiYoSHw9Mik7bGV0IHk9IUEsVD0hMCx6PTAsQz0wO2Zvcig7ejxOLmxlbmd0aDt6Kyspe2xldCBRPWh2KE5bel0sYixIKTtpZihRIGluc3RhbmNlb2YgYil7aWYoIUEpe2xldCBWPXY5KFEpO3kmJih5PSFWKTtUJiYoVD1WKX1OW0MrK109UX19Qzx6JiYoTi5sZW5ndGg9Qyk7cnw9NDtyPVQ/ciYtNDA5NzpyfDQwOTY7cj15P3J8ODpyJi05fXIhPT1HJiYobltiNF09ciwyJnImJk9iamVjdC5mcmVlemUobikpO2lmKGUmJiEoOCZyfHwhbi5sZW5ndGgmJihrPT09MXx8KGshPT00PzA6MiZyfHwhKDE2JnIpJiYzMiZEKSkpKXtGRihyKSYmKG49ClsuLi5uXSxyPWpXKHIsRCksRD11VyhXLEQsdixuLGgpKTtiPW47ZT1yO2ZvcihHPTA7RzxiLmxlbmd0aDtHKyspTj1iW0ddLHI9UEgoTiksTiE9PXImJihiW0ddPXIpO2V8PTg7cj1lPWIubGVuZ3RoP2V8NDA5NjplJi00MDk3O25bYjRdPXJ9cmV0dXJuIG49Q0cobixyLFcsRCx2LGgsayxMLHgpfTsKVkc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubDk7cmV0dXJuIFhfKG4sYixiW2I0XXwwLFcsRCx2b2lkIDA9PT1HJD8yOjQsdm9pZCAwLCExLCEwKX07CnRTPWZ1bmN0aW9uKG4sVyl7biE9bnVsbD9iVyhuLFcpOm49dm9pZCAwO3JldHVybiBufTsKJDk9ZnVuY3Rpb24obixXLEQsYix2KXtiPXRTKGIsVyk7b3oobixELGIsdik7YiYmIXY5KGIpJiZ5ZyhuLmw5KTtyZXR1cm4gbn07CnJlPWZ1bmN0aW9uKG4sVyxELGIsdil7dj10Uyh2LFcpO0QyKG4sRCxiLHYpO3YmJiF2OSh2KSYmeWcobi5sOSk7cmV0dXJuIG59OwpzVj1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5LGs9dltiNF18MDtpZihiPT1udWxsKXJldHVybiB1Vyh2LGssRCksbjtpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBjMigpO3ZhciBoPWI9PT16ej83OmJbYjRdfDAseD1oLEw9RkYoaCksZT1MfHxPYmplY3QuaXNGcm96ZW4oYiksRz0hMCxyPSEwO2ZvcihsZXQgSD0wO0g8Yi5sZW5ndGg7SCsrKXt2YXIgTj1iW0hdO2JXKE4sVyk7THx8KE49djkoTiksRyYmKEc9IU4pLHImJihyPU4pKX1MfHwoaD1HPzEzOjUsaD1yP2gmLTQwOTc6aHw0MDk2KTtlJiZoPT09eHx8KGI9Wy4uLmJdLHg9MCxoPWpXKGgsaykpO2ghPT14JiYoYltiNF09aCk7az11Vyh2LGssRCxiKTsyJmh8fCEoNDA5NiZofHwxNiZoKXx8eWcodixrKTtyZXR1cm4gbn07CmpXPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49KDImVz9ufDI6biYtMykmLTI3M307Ck5IPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWI7VUsobik7Yj1uLmw5O249WF8obixiLGJbYjRdfDAsRCxXLDIsdm9pZCAwLCEwKTt2PXYhPW51bGw/YlcodixEKTpuZXcgRDtuLnB1c2godik7Vz1EPW49PT16ej83Om5bYjRdfDA7KHY9djkodikpPyhEJj0tOSxuLmxlbmd0aD09PTEmJihEJj0tNDA5NykpOkR8PTQwOTY7RCE9PVcmJihuW2I0XT1EKTt2fHx5ZyhiKX07CmFQPWZ1bmN0aW9uKG4sVyxEPTApe3JldHVybiBFXyhpVyhuLFcpKT8/RH07CnBuPWZ1bmN0aW9uKG4sVyxEPXYzaSl7cmV0dXJuIGlXKG4sVyx2b2lkIDAsdm9pZCAwLEZEKT8/RH07Clk5PWZ1bmN0aW9uKG4sVyxEPSIiLGIpe3JldHVybiBnLkRSKGlXKG4sVyxiKSk/P0R9OwpIVz1mdW5jdGlvbihuLFcpe249aVcobixXKTtyZXR1cm4obj09bnVsbD9uOlA5KG4pP258MDp2b2lkIDApPz8wfTsKSlM9ZnVuY3Rpb24obixXKXtyZXR1cm4gZy5EUihpVyhuLFcsdm9pZCAwLGZuKSl9OwpJWT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG96KG4sVyxnLmw0KEQpKX07CmcuU0U9ZnVuY3Rpb24obixXLEQpe3JldHVybiBveihuLFcsV0goRCkpfTsKQVM9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIGcuVmcobixXLFdIKEQpLCIiLGIpfTsKS249ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpe2lmKCFQOShEKSl0aHJvdyBjMigiZW51bSIpO0R8PTB9cmV0dXJuIG96KG4sVyxEKX07ClBXPWZ1bmN0aW9uKG4sVyl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbmV3IE9WKEMwKG4pLFcpO2lmKEFycmF5LmlzQXJyYXkobikpcmV0dXJuIG5ldyBPVihuZXcgVWludDhBcnJheShuKSxXKTtpZihuLmNvbnN0cnVjdG9yPT09VWludDhBcnJheSlyZXR1cm4gbmV3IE9WKG4sITEpO2lmKG4uY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcilyZXR1cm4gbj1uZXcgVWludDhBcnJheShuKSxuZXcgT1YobiwhMSk7aWYobi5jb25zdHJ1Y3Rvcj09PUZRKXJldHVybiBXPVFsKG4pfHxuZXcgVWludDhBcnJheSgwKSxuZXcgT1YoVywhMCxuKTtpZihuIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gbj1uLmNvbnN0cnVjdG9yPT09VWludDhBcnJheT9uOm5ldyBVaW50OEFycmF5KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpLG5ldyBPVihuLCExKTt0aHJvdyBFcnJvcigpO307CmcuVVY9ZnVuY3Rpb24obixXKXt2YXIgRD0wLGI9MCx2PTAsaz1uLkosaD1uLk47ZG97dmFyIHg9a1toKytdO0R8PSh4JjEyNyk8PHY7dis9N313aGlsZSh2PDMyJiZ4JjEyOCk7aWYodj4zMilmb3IoYnw9KHgmMTI3KT4+NCx2PTM7djwzMiYmeCYxMjg7dis9Nyl4PWtbaCsrXSxifD0oeCYxMjcpPDx2O1oyKG4saCk7aWYoISh4JjEyOCkpcmV0dXJuIFcoRD4+PjAsYj4+PjApO3Rocm93IEVycm9yKCk7fTsKeTE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTAsRD1uLk4sYj1EKzEwLHY9bi5KO0Q8Yjspe2xldCBrPXZbRCsrXTtXfD1rO2lmKChrJjEyOCk9PT0wKXJldHVybiBaMihuLEQpLCEhKFcmMTI3KX10aHJvdyBFcnJvcigpO307CmcuRVY9ZnVuY3Rpb24obil7dmFyIFc9bi5KLEQ9bi5OLGI9V1tEKytdLHY9YiYxMjc7aWYoYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDw3LGImMTI4JiYoYj1XW0QrK10sdnw9KGImMTI3KTw8MTQsYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDwyMSxiJjEyOCYmKGI9V1tEKytdLHZ8PWI8PDI4LGImMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4KSkpKSl0aHJvdyBFcnJvcigpO1oyKG4sRCk7cmV0dXJuIHZ9Owp1YT1mdW5jdGlvbihuKXt2YXIgVz1uLkosRD1uLk4sYj1XW0QrMF0sdj1XW0QrMV0saz1XW0QrMl07Vz1XW0QrM107aWEobiw0KTtyZXR1cm4oYjw8MHx2PDw4fGs8PDE2fFc8PDI0KT4+PjB9OwpvWT1mdW5jdGlvbihuKXt2YXIgVz11YShuKTtuPXVhKG4pO3JldHVybiBmNShXLG4pfTsKZy5kZT1mdW5jdGlvbihuKXt2YXIgVz1uLmo7V3x8KFc9bi5KLFc9bi5qPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSk7Vz1XLmdldEZsb2F0NjQobi5OLCEwKTtpYShuLDgpO3JldHVybiBXfTsKazQyPWZ1bmN0aW9uKG4pe3JldHVybiBnLkVWKG4pfTsKWjI9ZnVuY3Rpb24obixXKXtuLk49VztpZihXPm4uVyl0aHJvdyBFcnJvcigpO307CmlhPWZ1bmN0aW9uKG4sVyl7WjIobixuLk4rVyl9Owp6JD1mdW5jdGlvbihuLFcpe2lmKFc8MCl0aHJvdyBFcnJvcigpO3ZhciBEPW4uTjtXPUQrVztpZihXPm4uVyl0aHJvdyBFcnJvcigpO24uTj1XO3JldHVybiBEfTsKbGE9ZnVuY3Rpb24obixXKXtpZihXPT0wKXJldHVybiBNeCgpO3ZhciBEPXokKG4sVyk7bi5uXyYmbi5WP0Q9bi5KLnN1YmFycmF5KEQsRCtXKToobj1uLkosVz1EK1csRD1EPT09Vz9uZXcgVWludDhBcnJheSgwKTpuLnNsaWNlKEQsVykpO3JldHVybiBELmxlbmd0aD09MD9NeCgpOm5ldyBGUShELHdXKX07CkNuPWZ1bmN0aW9uKG4sVyxELGIpe2lmKFQkLmxlbmd0aCl7bGV0IHY9VCQucG9wKCk7akUodixiKTt2Lk4uaW5pdChuLFcsRCxiKTtyZXR1cm4gdn1yZXR1cm4gbmV3IGhCUyhuLFcsRCxiKX07CmpFPWZ1bmN0aW9uKG4se0diOlc9ITF9PXt9KXtuLkdiPVd9OwpGXz1mdW5jdGlvbihuKXt2YXIgVz1uLk47aWYoVy5OPT1XLlcpcmV0dXJuITE7bi5YPW4uTi5OO3ZhciBEPWcuRVYobi5OKT4+PjA7Vz1EPj4+MztEJj03O2lmKCEoRD49MCYmRDw9NSkpdGhyb3cgRXJyb3IoKTtpZihXPDEpdGhyb3cgRXJyb3IoKTtuLlc9VztuLko9RDtyZXR1cm4hMH07CndlPWZ1bmN0aW9uKG4pe3RyeXtzd2l0Y2gobi5KKXtjYXNlIDA6bi5KIT0wP3dlKG4pOnkxKG4uTik7YnJlYWs7Y2FzZSAxOmlhKG4uTiw4KTticmVhaztjYXNlIDI6aWYobi5KIT0yKXdlKG4pO2Vsc2V7dmFyIFc9Zy5FVihuLk4pPj4+MDtpYShuLk4sVyl9YnJlYWs7Y2FzZSA1OmlhKG4uTiw0KTticmVhaztjYXNlIDM6TUgoKTtsZXQgRD1uLlc7dHJ5e2Rve2lmKCFGXyhuKSl0aHJvdyBFcnJvcigpO2lmKG4uSj09NCl7aWYobi5XIT1EKXRocm93IEVycm9yKCk7YnJlYWt9d2Uobil9d2hpbGUoMSl9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhyb3cgbmV3IFN5bnRheEVycm9yO3Rocm93IGI7fWZpbmFsbHl7Ulk+MCYmUlktLX1icmVhaztkZWZhdWx0OnRocm93IEVycm9yKCk7fX1jYXRjaChEKXtpZihEIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgRDt9fTsKTUg9ZnVuY3Rpb24oKXtpZihSWT49MTAwKXRocm93IG5ldyBTeW50YXhFcnJvcjtSWSsrfTsKUTE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5XLHY9Zy5FVihuLk4pPj4+MDt2PW4uTi5OK3Y7dmFyIGs9di1iO2s8PTAmJihuLk4uVz12LEQoVyxuLHZvaWQgMCx2b2lkIDAsdm9pZCAwKSxrPXYtbi5OLk4pO2lmKGspdGhyb3cgRXJyb3IoKTtuLk4uTj12O24uTi5XPWJ9OwphWT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wLEQ9bi5OO249eiQoRCxXKTt2YXIgYj1ELko7KEQ9VjEpfHwoRD1WMT1uZXcgVGV4dERlY29kZXIoInV0Zi04Iix7ZmF0YWw6ITB9KSk7Vz1uK1c7Yj1uPT09MCYmVz09PWIubGVuZ3RoP2I6Yi5zdWJhcnJheShuLFcpO3RyeXt2YXIgdj1ELmRlY29kZShiKX1jYXRjaChrKXtpZihjVz09PXZvaWQgMCl7dHJ5e0QuZGVjb2RlKG5ldyBVaW50OEFycmF5KFsxMjhdKSl9Y2F0Y2goaCl7fXRyeXtELmRlY29kZShuZXcgVWludDhBcnJheShbOTddKSksY1c9ITB9Y2F0Y2goaCl7Y1c9ITF9fSFjVyYmKFYxPXZvaWQgMCk7dGhyb3cgazt9cmV0dXJuIHZ9OwpEOT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wO3JldHVybiBsYShuLk4sVyl9OwpiRz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5FVihuLk4pPj4+MDtmb3IoYj1uLk4uTitiO24uTi5OPGI7KUQucHVzaChXKG4uTikpfTsKa209ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB2eShuJjQyOTQ5NjcyOTUsTWF0aC5mbG9vcihuLzQyOTQ5NjcyOTYpKX07CnhtPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBoM3x8KGgzPW5ldyB2eSgwLDApKTtpZighL15cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgdnkoclosc18pfTsKTGg9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj09PTA/bmV3IHZ5KDAsMSt+bi5OKTpuZXcgdnkofm4uSisxLH5uLk4pfTsKeFVqPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgZUMobiY0Mjk0OTY3Mjk1LE1hdGguZmxvb3Iobi80Mjk0OTY3Mjk2KSl9OwpYdD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gZ0d8fChnRz1uZXcgZUMoMCwwKSk7aWYoIS9eLT9cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgZUMoclosc18pfTsKWW09ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBCaWdJbnQ2NEFycmF5IT09InVuZGVmaW5lZCIpcmV0dXJuIHFmfHwocWY9bmV3IEJpZ0ludDY0QXJyYXkoMSksR1M9bmV3IFVpbnQzMkFycmF5KHFmLmJ1ZmZlcikscWZbMF09QmlnSW50KDEpLHQzPUdTWzBdPT09MSkscWZbMF09bixuPXQzPzA6MSxuZXcgVyhHU1tuXSxHU1sxLW5dKTskbXx8KHJHPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksTmY9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSxwaD1CaWdJbnQoNDI5NDk2NzI5NSksJG09QmlnSW50KDMyKSk7aWYobj49ckcmJm48PU5mKXJldHVybiBEKE51bWJlcihuKSk7bj1CaWdJbnQuYXNVaW50Tig2NCxuKTtyZXR1cm4gbmV3IFcoTnVtYmVyKG4mcGgpLE51bWJlcihuPj4kbSkpfTsKSHk9ZnVuY3Rpb24obixXLEQpe2Zvcig7RD4wfHxXPjEyNzspbi5OLnB1c2goVyYxMjd8MTI4KSxXPShXPj4+N3xEPDwyNSk+Pj4wLEQ+Pj49NztuLk4ucHVzaChXKX07CkozPWZ1bmN0aW9uKG4sVyl7bi5OLnB1c2goVz4+PjAmMjU1KTtuLk4ucHVzaChXPj4+OCYyNTUpO24uTi5wdXNoKFc+Pj4xNiYyNTUpO24uTi5wdXNoKFc+Pj4yNCYyNTUpfTsKSXg9ZnVuY3Rpb24obixXKXtmb3IoO1c+MTI3OyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj49NztuLk4ucHVzaChXKX07ClNDPWZ1bmN0aW9uKG4sVyl7aWYoVz49MClJeChuLFcpO2Vsc2V7Zm9yKGxldCBEPTA7RDw5O0QrKyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj03O24uTi5wdXNoKDEpfX07CkEzPWZ1bmN0aW9uKG4sVyl7Vy5sZW5ndGghPT0wJiYobi5XLnB1c2goVyksbi5KKz1XLmxlbmd0aCl9OwptND1mdW5jdGlvbihuLFcsRCl7SXgobi5OLFcqOCtEKX07CktoPWZ1bmN0aW9uKG4sVyl7bTQobixXLDIpO1c9bi5OLmVuZCgpO0EzKG4sVyk7Vy5wdXNoKG4uSik7cmV0dXJuIFd9OwpPcz1mdW5jdGlvbihuLFcpe3ZhciBEPVcucG9wKCk7Zm9yKEQ9bi5KK24uTi5sZW5ndGgoKS1EO0Q+MTI3OylXLnB1c2goRCYxMjd8MTI4KSxEPj4+PTcsbi5KKys7Vy5wdXNoKEQpO24uSisrfTsKeW09ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpc3dpdGNoKFB5KEQpLG00KG4sVywxKSx0eXBlb2YgRCl7Y2FzZSAibnVtYmVyIjpuPW4uTjtOMyhEKTtKMyhuLHJaKTtKMyhuLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oRCx2eSxrbSk7bj1uLk47Vz1ELk47SjMobixELkopO0ozKG4sVyk7YnJlYWs7ZGVmYXVsdDpEPXhtKEQpLG49bi5OLFc9RC5OLEozKG4sRC5KKSxKMyhuLFcpfX07CkVzPWZ1bmN0aW9uKG4sVyxEKXtEIT1udWxsJiYoRD1wYXJzZUludChELDEwKSxtNChuLFcsMCksU0Mobi5OLEQpKX07CmlHPWZ1bmN0aW9uKG4sVyxEKXttNChuLFcsMik7SXgobi5OLEQubGVuZ3RoKTtBMyhuLG4uTi5lbmQoKSk7QTMobixEKX07ClB5PWZ1bmN0aW9uKG4pe3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSAic3RyaW5nIjp4bShuKX19Owp1Rz1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgInN0cmluZyI6bi5sZW5ndGgmJm5bMF09PT0iLSI/eG0obi5zdWJzdHJpbmcoMSkpOnhtKG4pfX07Cm94PWZ1bmN0aW9uKCl7dmFyIG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aHJvdyBFcnJvcigpO319O09iamVjdC5zZXRQcm90b3R5cGVPZihuLG4ucHJvdG90eXBlKTtyZXR1cm4gbn07CmRHPWZ1bmN0aW9uKG4sVyl7aWYoVz09bnVsbHx8Vz09IiIpcmV0dXJuIG5ldyBuO1c9SlNPTi5wYXJzZShXKTtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBFcnJvcigiZG5hcnIiKTtXW2I0XXw9MzI7cmV0dXJuIG5ldyBuKFcpfTsKVFM9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHpTKG4sVyxsRyl9OwpDaD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9akMoVyxiKTtXIT1udWxsJiYoRD1LaChuLEQpLHYoVyxuKSxPcyhuLEQpKX07CndHPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWJbbl07aWYodilyZXR1cm4gdjt2PXt9O3Yud2s9Yjt2LlJyPW4zMihiWzBdKTt2YXIgaz1iWzFdLGg9MTtrJiZrLmNvbnN0cnVjdG9yPT09T2JqZWN0JiYodi5leHRlbnNpb25zPWssaz1iWysraF0sdHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYodi5kJD0hMCxCeT8/KEJ5PWspLEZ0Pz8oRnQ9YltoKzFdKSxrPWJbaCs9Ml0pKTtmb3IodmFyIHg9e307ayYmQXJyYXkuaXNBcnJheShrKSYmay5sZW5ndGgmJnR5cGVvZiBrWzBdPT09Im51bWJlciImJmtbMF0+MDspe2Zvcih2YXIgTD0wO0w8ay5sZW5ndGg7TCsrKXhba1tMXV09aztrPWJbKytoXX1mb3IoTD0xO2shPT12b2lkIDA7KXt0eXBlb2Ygaz09PSJudW1iZXIiJiYoTCs9ayxrPWJbKytoXSk7bGV0IHI7dmFyIGU9dm9pZCAwO2sgaW5zdGFuY2VvZiB6Uz9yPWs6KHI9TGN0LGgtLSk7aWYocj8uTil7az1iWysraF07ZT1iO3ZhciBHPWg7dHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYoaz1rKCksCmVbR109ayk7ZT1rfWs9YlsrK2hdO0c9TCsxO3R5cGVvZiBrPT09Im51bWJlciImJms8MCYmKEctPWssaz1iWysraF0pO2Zvcig7TDxHO0wrKyl7bGV0IE49eFtMXTtlP0QodixMLHIsZSxOKTpXKHYsTCxyLE4pfX1yZXR1cm4gYltuXT12fTsKTWY9ZnVuY3Rpb24obil7cmV0dXJuIEFycmF5LmlzQXJyYXkobik/blswXWluc3RhbmNlb2YgelM/bjpbZUJ0LG5dOltuLHZvaWQgMF19OwpSeD1mdW5jdGlvbihuLFc9IiIsRD0iIil7bj1uZXcgZy53WihuLCEwKTtuLnNldCgiYWxyIiwieWVzIik7RCYmKEQ9ZVgoODQsNjU1MyxNMygxOCw0MjYwLEQpKSxuW0lbMzRdXShXLFIwKDEzLDg3MTYsRCkpKTtyZXR1cm4gbn07CmpDPWZ1bmN0aW9uKG4sVyl7aWYobiBpbnN0YW5jZW9mIGcuUW0pcmV0dXJuIG4ubDk7aWYoQXJyYXkuaXNBcnJheShuKSlyZXR1cm4gU1cobixXKX07ClZtPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuY2o7bltXXT1iPyhrLGgseCk9PnYoayxoLHgsYik6dn07CmF4PWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9RC5jaixoLHg7bltXXT0oTCxlLEcpPT5rKEwsZSxHLHh8fCh4PXdHKGN5LFZtLGF4LGIpLlJyKSxofHwoaD1uOChiKSksdil9OwpuOD1mdW5jdGlvbihuKXt2YXIgVz1uW1dPXTtpZihXIT1udWxsKXJldHVybiBXO3ZhciBEPXdHKGN5LFZtLGF4LG4pO1c9RC5kJD8oYix2KT0+QnkoYix2LEQpOihiLHYpPT57YTp7TUgoKTsKdHJ5e2Zvcig7Rl8odikmJnYuSiE9NDspe2xldCBOPXYuVyxIPURbTl07aWYoSD09bnVsbCl7bGV0IEE9RC5leHRlbnNpb25zO2lmKEEpe2xldCB5PUFbTl07aWYoeSl7bGV0IFQ9ZzNVKHkpO1QhPW51bGwmJihIPURbTl09VCl9fX1pZihIPT1udWxsfHwhSCh2LGIsTikpe3ZhciBrPXY7bGV0IEE9ay5YO3dlKGspO2lmKGsuR2IpdmFyIGg9dm9pZCAwO2Vsc2V7bGV0IHk9ay5OLk4tQTtrLk4uTj1BO2g9bGEoay5OLHkpfWs9dm9pZCAwO3ZhciB4PWIsTD1OLGU9aDtlJiYoKGs9eFtMR10/Pyh4W0xHXT1uZXcgWEYpKVtMXT8/KGtbTF09W10pKS5wdXNoKGUpfX1sZXQgcj1lVyhiKTtyJiYoci5qNz1ELndrW0Q4XSk7dmFyIEc9ITA7YnJlYWsgYX1jYXRjaChyKXtpZihyIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgcjt9ZmluYWxseXtSWT4wJiZSWS0tfUc9dm9pZCAwfXJldHVybiBHfTsKbltXT109VztuW0Q4XT1YTWkuYmluZChuKTtyZXR1cm4gV307ClhNaT1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj10aGlzW2N5XSxrPXRoaXNbV09dLGg9U1codm9pZCAwLHYuUnIpLHg9ZVcobik7aWYoeCl7dmFyIEw9ITEsZT12LmV4dGVuc2lvbnM7aWYoZSl7dj0oRyxyLE4pPT57aWYoTi5sZW5ndGghPT0wKWlmKGVbcl0pZm9yKGxldCBIIG9mIE4pe0c9Q24oSCk7dHJ5e0w9ITAsayhoLEcpfWZpbmFsbHl7Ry5mcmVlKCl9fWVsc2UgYj8uKG4scixOKX07CmlmKFc9PW51bGwpZ2coeCx2KTtlbHNlIGlmKHghPW51bGwpe2xldCBHPXhbV107RyYmdih4LFcsRyl9aWYoTCl7bGV0IEc9bltiNF18MDtpZihHJjImJkcmMjA0OCYmIUQ/LkpTKXRocm93IEVycm9yKCk7bGV0IHI9TDUoRyksTj0oSCxBKT0+e2lmKEVLKG4sSCxyKSE9bnVsbClzd2l0Y2goRD8uaDQpe2Nhc2UgMTpyZXR1cm47ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31BIT1udWxsJiYoRz11VyhuLEcsSCxBLHIpKTtkZWxldGUgeFtIXX07Clc9PW51bGw/aF8oaCxoW2I0XXwwLChILEEpPT57TihILEEpfSk6TihXLEVLKGgsVyxyKSl9fX19OwpnM1U9ZnVuY3Rpb24obil7bj1NZihuKTt2YXIgVz1uWzBdLmNqO2lmKG49blsxXSl7bGV0IEQ9bjgobiksYj13RyhjeSxWbSxheCxuKS5ScjtyZXR1cm4odixrLGgpPT5XKHYsayxoLGIsRCl9cmV0dXJuIFd9OwpiNj1mdW5jdGlvbihuLFcsRCl7bltXXT1ELlBqfTsKa249ZnVuY3Rpb24obixXLEQsYil7dmFyIHYsayxoPUQuUGo7bltXXT0oeCxMLGUpPT5oKHgsTCxlLGt8fChrPXdHKHZPLGI2LGtuLGIpLlJyKSx2fHwodj1oOShiKSkpfTsKaDk9ZnVuY3Rpb24obil7dmFyIFc9blt4bl07aWYoIVcpe2xldCBEPXdHKHZPLGI2LGtuLG4pO1c9KGIsdik9Pkw4KGIsdixEKTsKblt4bl09V31yZXR1cm4gV307Ckw4PWZ1bmN0aW9uKG4sVyxEKXtoXyhuLG5bYjRdfDAsKGIsdik9PntpZih2IT1udWxsKXt2YXIgaz1xTU0oRCxiKTtrP2soVyx2LGIpOmI8NTAwfHxuNShHNFMsMyl9fSk7CihuPWVXKG4pKSYmZ2cobiwoYix2LGspPT57QTMoVyxXLk4uZW5kKCkpO2ZvcihiPTA7YjxrLmxlbmd0aDtiKyspQTMoVyxRbChrW2JdKXx8bmV3IFVpbnQ4QXJyYXkoMCkpfSl9OwpxTU09ZnVuY3Rpb24obixXKXt2YXIgRD1uW1ddO2lmKEQpcmV0dXJuIEQ7aWYoRD1uLmV4dGVuc2lvbnMpaWYoRD1EW1ddKXtEPU1mKEQpO3ZhciBiPURbMF0uUGo7aWYoRD1EWzFdKXtsZXQgdj1oOShEKSxrPXdHKHZPLGI2LGtuLEQpLlJyO0Q9bi5kJD9GdChrLHYpOihoLHgsTCk9PmIoaCx4LEwsayx2KX1lbHNlIEQ9YjsKcmV0dXJuIG5bV109RH19OwplNj1mdW5jdGlvbihuLFcsRCl7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9V1tiNF18MDtpZihiJjQpcmV0dXJuIFc7Zm9yKHZhciB2PTAsaz0wO3Y8Vy5sZW5ndGg7disrKXtsZXQgaD1uKFdbdl0pO2ghPW51bGwmJihXW2srK109aCl9azx2JiYoVy5sZW5ndGg9ayk7bj1ifDE7RCYmKG49KG58NCkmLTE1MzcpO24hPT1iJiYoV1tiNF09bik7RCYmbiYyJiZPYmplY3QuZnJlZXplKFcpO3JldHVybiBXfX07CmcuZ1E9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKWGY9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKZy5xWT1mdW5jdGlvbihuLFcsRCl7dVcobixuW2I0XXwwLFcsRCxMNShuW2I0XXwwKSl9OwpnLnQ5PWZ1bmN0aW9uKG4sVyxEKXtXPW0wKFcpO1chPW51bGwmJihtNChuLEQsMSksbj1uLk4sRD1Hdnx8KEd2PW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxELnNldEZsb2F0NjQoMCwrVywhMCksclo9RC5nZXRVaW50MzIoMCwhMCksc189RC5nZXRVaW50MzIoNCwhMCksSjMobixyWiksSjMobixzXykpfTsKZy4kbj1mdW5jdGlvbihuLFcsRCl7Vz1DeE0oVyk7aWYoVyE9bnVsbCl7c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOlh0KFcpfWlmKFchPW51bGwpc3dpdGNoKG00KG4sRCwwKSx0eXBlb2YgVyl7Y2FzZSAibnVtYmVyIjpuPW4uTjtwNShXKTtIeShuLHJaLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oVyxlQyx4VWopO0h5KG4uTixELkosRC5OKTticmVhaztkZWZhdWx0OkQ9WHQoVyksSHkobi5OLEQuSixELk4pfX19OwpnLnJRPWZ1bmN0aW9uKG4sVyxEKXtXPUVfKFcpO1chPW51bGwmJlchPW51bGwmJihtNChuLEQsMCksU0Mobi5OLFcpKX07CnNmPWZ1bmN0aW9uKG4sVyxEKXtXPVc9PW51bGx8fHR5cGVvZiBXPT09ImJvb2xlYW4iP1c6dHlwZW9mIFc9PT0ibnVtYmVyIj8hIVc6dm9pZCAwO1chPW51bGwmJihtNChuLEQsMCksbi5OLk4ucHVzaChXPzE6MCkpfTsKTlk9ZnVuY3Rpb24obixXLEQpe1c9Zy5EUihXKTtXIT1udWxsJiZpRyhuLEQsa0soVykpfTsKcDg9ZnVuY3Rpb24obixXLEQsYix2KXtXPWpDKFcsYik7VyE9bnVsbCYmKEQ9S2gobixEKSx2KFcsbiksT3MobixEKSl9OwpKOT1mdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxvWShuLk4pKTtyZXR1cm4hMH07CklfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKEQsYik9PnthOntsZXQgaz17aEI6ITB9O2ImJk9iamVjdC5hc3NpZ24oayxiKTtEPUNuKEQsdm9pZCAwLHZvaWQgMCxrKTt0cnl7bGV0IGg9bmV3IG4seD1oLmw5O244KFcpKHgsRCk7dmFyIHY9aDticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBSYW5nZUVycm9yKXRocm93IG5ldyBTeW50YXhFcnJvcjt0aHJvdyBoO31maW5hbGx5e0QuZnJlZSgpfXY9dm9pZCAwfXJldHVybiB2fX07CmcuQTk9ZnVuY3Rpb24obil7cmV0dXJuIFc9PlM2KFcsbil9OwpnLm1EPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBTNih0aGlzLG4pfX07Cks4PWZ1bmN0aW9uKG4pe3JldHVybiBXPT5kRyhuLFcpfTsKdGpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFFnKG4sVyxVXyl9Owp1Nj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZy5PZjtXPWcuU0UoVywxLG4uSik7dmFyIEQ9JFVNKG4pO1c9UWcoVyxELEZTMik7RD1bXTt2YXIgYj1bXTtmb3IodmFyIHYgb2Ygbi5OLmtleXMoKSliLnB1c2godi5zcGxpdCgiLCIpKTtmb3Iodj0wO3Y8Yi5sZW5ndGg7disrKXtsZXQgcj1iW3ZdO3ZhciBrPW4uVyxoPVBPKG4sLi4ucil8fFtdO2xldCBOPVtdO2Zvcih2YXIgeD0wO3g8aC5sZW5ndGg7eCsrKXt2YXIgTD1oW3hdLGU9TCYmTC5OO0w9bmV3IFo4O3N3aXRjaChrKXtjYXNlIDM6ZT1OdW1iZXIoZSk7TnVtYmVyLmlzRmluaXRlKGUpJiZEMihMLDEsVWYsZy5sNChlKSk7YnJlYWs7Y2FzZSAyOkQyKEwsMixVZixnLkFfKE51bWJlcihlKSkpfU4ucHVzaChMKX1mb3Ioaz0wO2s8Ti5sZW5ndGg7aysrKXt4PU5ba107aD1uZXcgeWU7aD0kOShoLFo4LDIseCk7eD1bXTtMPXJGdChuKTtmb3IoZT0wO2U8TC5sZW5ndGg7ZSsrKXt2YXIgRz1MW2VdO2xldCBIPXJbZV0sQT1uZXcgRWY7CnN3aXRjaChHKXtjYXNlIDM6RDIoQSwxLGk2LFdIKFN0cmluZyhIKSkpO2JyZWFrO2Nhc2UgMjpHPU51bWJlcihIKTtOdW1iZXIuaXNGaW5pdGUoRykmJkQyKEEsMixpNixnLnlQKEcpKTticmVhaztjYXNlIDE6RDIoQSwzLGk2LE9fKEg9PT0idHJ1ZSIpKX14LnB1c2goQSl9c1YoaCxFZiwxLHgpO0QucHVzaChoKX19c1YoVyx5ZSw0LEQpO3JldHVybiBXfTsKb189ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChuKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7bi5pbmRleE9mKCJibG9iOiIpPT09MCYmKG49bi5zdWJzdHJpbmcoNSkpO249bi5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07bj1uLnRvTG93ZXJDYXNlKCk7bi5pbmRleE9mKCIvLyIpPT0wJiYobj13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrbik7L15bXHdcLV0qOlwvXC8vLnRlc3Qobil8fChuPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgVz1uLnN1YnN0cmluZyhuLmluZGV4T2YoIjovLyIpKzMpLEQ9Vy5pbmRleE9mKCIvIik7RCE9LTEmJihXPVcuc3Vic3RyaW5nKDAsRCkpO0Q9bi5zdWJzdHJpbmcoMCxuLmluZGV4T2YoIjovLyIpKTtpZighRCl0aHJvdyBFcnJvcigiVVJJIGlzIG1pc3NpbmcgcHJvdG9jb2w6ICIrbik7aWYoRCE9PSJodHRwIiYmRCE9PSJodHRwcyImJkQhPT0iY2hyb21lLWV4dGVuc2lvbiImJgpEIT09Im1vei1leHRlbnNpb24iJiZEIT09ImZpbGUiJiZEIT09ImFuZHJvaWQtYXBwIiYmRCE9PSJjaHJvbWUtc2VhcmNoIiYmRCE9PSJjaHJvbWUtdW50cnVzdGVkIiYmRCE9PSJjaHJvbWUiJiZEIT09ImFwcCImJkQhPT0iZGV2dG9vbHMiKXRocm93IEVycm9yKCJJbnZhbGlkIFVSSSBzY2hlbWUgaW4gb3JpZ2luOiAiK0QpO249IiI7dmFyIGI9Vy5pbmRleE9mKCI6Iik7aWYoYiE9LTEpe3ZhciB2PVcuc3Vic3RyaW5nKGIrMSk7Vz1XLnN1YnN0cmluZygwLGIpO2lmKEQ9PT0iaHR0cCImJnYhPT0iODAifHxEPT09Imh0dHBzIiYmdiE9PSI0NDMiKW49IjoiK3Z9cmV0dXJuIEQrIjovLyIrVytufTsKc00yPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe3ZbMF09MTczMjU4NDE5Mzt2WzFdPTQwMjMyMzM0MTc7dlsyXT0yNTYyMzgzMTAyO3ZbM109MjcxNzMzODc4O3ZbNF09MzI4NTM3NzUyMDtHPWU9MH0KZnVuY3Rpb24gVyhyKXtmb3IodmFyIE49aCxIPTA7SDw2NDtIKz00KU5bSC80XT1yW0hdPDwyNHxyW0grMV08PDE2fHJbSCsyXTw8OHxyW0grM107Zm9yKEg9MTY7SDw4MDtIKyspcj1OW0gtM11eTltILThdXk5bSC0xNF1eTltILTE2XSxOW0hdPShyPDwxfHI+Pj4zMSkmNDI5NDk2NzI5NTtyPXZbMF07dmFyIEE9dlsxXSx5PXZbMl0sVD12WzNdLHo9dls0XTtmb3IoSD0wO0g8ODA7SCsrKXtpZihIPDQwKWlmKEg8MjApe3ZhciBDPVReQSYoeV5UKTt2YXIgUT0xNTE4NTAwMjQ5fWVsc2UgQz1BXnleVCxRPTE4NTk3NzUzOTM7ZWxzZSBIPDYwPyhDPUEmeXxUJihBfHkpLFE9MjQwMDk1OTcwOCk6KEM9QV55XlQsUT0zMzk1NDY5NzgyKTtDPSgocjw8NXxyPj4+MjcpJjQyOTQ5NjcyOTUpK0MreitRK05bSF0mNDI5NDk2NzI5NTt6PVQ7VD15O3k9KEE8PDMwfEE+Pj4yKSY0Mjk0OTY3Mjk1O0E9cjtyPUN9dlswXT12WzBdK3ImNDI5NDk2NzI5NTt2WzFdPXZbMV0rQSY0Mjk0OTY3Mjk1O3ZbMl09CnZbMl0reSY0Mjk0OTY3Mjk1O3ZbM109dlszXStUJjQyOTQ5NjcyOTU7dls0XT12WzRdK3omNDI5NDk2NzI5NX0KZnVuY3Rpb24gRChyLE4pe2lmKHR5cGVvZiByPT09InN0cmluZyIpe3I9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHIpKTtmb3IodmFyIEg9W10sQT0wLHk9ci5sZW5ndGg7QTx5OysrQSlILnB1c2goci5jaGFyQ29kZUF0KEEpKTtyPUh9Tnx8KE49ci5sZW5ndGgpO0g9MDtpZihlPT0wKWZvcig7SCs2NDxOOylXKHIuc2xpY2UoSCxIKzY0KSksSCs9NjQsRys9NjQ7Zm9yKDtIPE47KWlmKGtbZSsrXT1yW0grK10sRysrLGU9PTY0KWZvcihlPTAsVyhrKTtIKzY0PE47KVcoci5zbGljZShILEgrNjQpKSxIKz02NCxHKz02NH0KZnVuY3Rpb24gYigpe3ZhciByPVtdLE49Ryo4O2U8NTY/RCh4LDU2LWUpOkQoeCw2NC0oZS01NikpO2Zvcih2YXIgSD02MztIPj01NjtILS0pa1tIXT1OJjI1NSxOPj4+PTg7VyhrKTtmb3IoSD1OPTA7SDw1O0grKylmb3IodmFyIEE9MjQ7QT49MDtBLT04KXJbTisrXT12W0hdPj5BJjI1NTtyZXR1cm4gcn0KZm9yKHZhciB2PVtdLGs9W10saD1bXSx4PVsxMjhdLEw9MTtMPDY0OysrTCl4W0xdPTA7dmFyIGUsRztuKCk7cmV0dXJue3Jlc2V0Om4sdXBkYXRlOkQsZGlnZXN0OmIsSFU6ZnVuY3Rpb24oKXtmb3IodmFyIHI9YigpLE49IiIsSD0wO0g8ci5sZW5ndGg7SCsrKU4rPSIwMTIzNDU2Nzg5QUJDREVGIi5jaGFyQXQoTWF0aC5mbG9vcihyW0hdLzE2KSkrIjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChyW0hdJTE2KTtyZXR1cm4gTn19fTsKZFE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVN0cmluZyhnLnFpLmxvY2F0aW9uLmhyZWYpO3JldHVybiBiJiZuJiZXP1tXLE56cihvXyhiKSxuLER8fG51bGwpXS5qb2luKCIgIik6bnVsbH07Ck56cj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1bXTtpZigoQXJyYXkuaXNBcnJheShEKT8yOjEpPT0xKXJldHVybiB2PVtXLG5dLGcueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KSx6dih2LmpvaW4oIiAiKSk7CnZhciBrPVtdLGg9W107Zy55MihELGZ1bmN0aW9uKHgpe2gucHVzaCh4LmtleSk7ay5wdXNoKHgudmFsdWUpfSk7CkQ9TWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWUoKS8xRTMpO3Y9ay5sZW5ndGg9PTA/W0QsVyxuXTpbay5qb2luKCI6IiksRCxXLG5dO2cueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KTsKbj16dih2LmpvaW4oIiAiKSk7bj1bRCxuXTtoLmxlbmd0aD09MHx8bi5wdXNoKGguam9pbigiIikpO3JldHVybiBuLmpvaW4oIl8iKX07Cnp2PWZ1bmN0aW9uKG4pe3ZhciBXPXNNMigpO1cudXBkYXRlKG4pO3JldHVybiBXLkhVKCkudG9Mb3dlckNhc2UoKX07Cmw2PWZ1bmN0aW9uKG4pe3RoaXMuTj1ufHx7Y29va2llOiIifX07ClR2PWZ1bmN0aW9uKG4pe249KG4uTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO3ZhciBXPVtdLEQ9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspe3ZhciBiPW5ba10udHJpbSgpO3ZhciB2PWIuaW5kZXhPZigiPSIpO3Y9PS0xPyhXLnB1c2goIiIpLEQucHVzaChiKSk6KFcucHVzaChiLnN1YnN0cmluZygwLHYpKSxELnB1c2goYi5zdWJzdHJpbmcodisxKSkpfXJldHVybntrZXlzOlcsdmFsdWVzOkR9fTsKajY9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLl9fU0FQSVNJRHx8Zy5xaS5fX0FQSVNJRHx8Zy5xaS5fXzNQU0FQSVNJRHx8Zy5xaS5fXzFQU0FQSVNJRHx8Zy5xaS5fX09WRVJSSURFX1NJRDtpZihuKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYobj1uZXcgbDYoZG9jdW1lbnQpLG49bi5nZXQoIlNBUElTSUQiKXx8bi5nZXQoIkFQSVNJRCIpfHxuLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8bi5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhbn07CkM4PWZ1bmN0aW9uKG4sVyxELGIpeyhuPWcucWlbbl0pfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KG49KG5ldyBsNihkb2N1bWVudCkpLmdldChXKSk7cmV0dXJuIG4/ZFEobixELGIpOm51bGx9OwpCTz1mdW5jdGlvbihuKXt2YXIgVz1vXyhnLnFpPy5sb2NhdGlvbi5ocmVmKSxEPVtdO2lmKGo2KCkpe1c9Vy5pbmRleE9mKCJodHRwczoiKT09MHx8Vy5pbmRleE9mKCJjaHJvbWUtZXh0ZW5zaW9uOiIpPT0wfHxXLmluZGV4T2YoImNocm9tZS11bnRydXN0ZWQ6Ly9uZXctdGFiLXBhZ2UiKT09MHx8Vy5pbmRleE9mKCJtb3otZXh0ZW5zaW9uOiIpPT0wO3ZhciBiLHY9KGI9Vyk/Zy5xaS5fX1NBUElTSUQ6Zy5xaS5fX0FQSVNJRDt2fHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KHY9bmV3IGw2KGRvY3VtZW50KSx2PXYuZ2V0KGI/IlNBUElTSUQiOiJBUElTSUQiKXx8di5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhiPXY/ZFEodixiPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLG4pOm51bGwpJiZELnB1c2goYik7VyYmKChXPUM4KCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsbikpJiZELnB1c2goVyksKG49QzgoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsbikpJiZELnB1c2gobikpfXJldHVybiBELmxlbmd0aD09MD9udWxsOkQuam9pbigiICIpfTsKZy5GZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KG4sVyksRCl9Owp3UT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4rRCooVy1uKX07CmcuTVk9ZnVuY3Rpb24obixXKXt0aGlzLng9biE9PXZvaWQgMD9uOjA7dGhpcy55PVchPT12b2lkIDA/VzowfTsKUl89ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ueD09Vy54JiZuLnk9PVcueTohMX07CmcuUWU9ZnVuY3Rpb24obixXKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9V307CmcuVmU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ud2lkdGg9PVcud2lkdGgmJm4uaGVpZ2h0PT1XLmhlaWdodDohMX07CmNPPWZ1bmN0aW9uKG4pe3JldHVybiBuLndpZHRoKm4uaGVpZ2h0fTsKZy5hXz1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4pVy5jYWxsKEQsbltiXSxiLG4pfTsKZy5uVD1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBpbiBuKVcuY2FsbCh2b2lkIDAsbltiXSxiLG4pJiYoRFtiXT1uW2JdKTtyZXR1cm4gRH07Cld4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCBiIGluIG4pRFtiXT1XLmNhbGwodm9pZCAwLG5bYl0sYixuKTtyZXR1cm4gRH07CmcuRGw9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBuKWlmKFcuY2FsbChELG5bYl0sYixuKSlyZXR1cm4hMDtyZXR1cm4hMX07CmcuYms9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZighVy5jYWxsKHZvaWQgMCxuW0RdLEQsbikpcmV0dXJuITE7cmV0dXJuITB9Owp2eD1mdW5jdGlvbihuKXtmb3IobGV0IFcgaW4gbilyZXR1cm4gV307Cmt5PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKXJldHVybiBuW1ddfTsKaEs9ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO2ZvcihsZXQgYiBpbiBuKVdbRCsrXT1uW2JdO3JldHVybiBXfTsKZy5MVD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiIGluIG4pV1tEKytdPWI7cmV0dXJuIFd9OwpnLmVwPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG59OwpnLmdtPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4paWYobltEXT09VylyZXR1cm4hMDtyZXR1cm4hMX07CmcuWEw9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZihXLmNhbGwodm9pZCAwLG5bRF0sRCxuKSlyZXR1cm4gRH07CnFjPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFc9Zy5YTChuLFcpKSYmbltXXX07CmcuR0Y9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4pcmV0dXJuITE7cmV0dXJuITB9OwpnLnRLPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKWRlbGV0ZSBuW1ddfTsKZy4keT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG4/bltXXTpEfTsKZy5ybT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBuKWlmKCEoRCBpbiBXKXx8bltEXSE9PVdbRF0pcmV0dXJuITE7Zm9yKGxldCBEIGluIFcpaWYoIShEIGluIG4pKXJldHVybiExO3JldHVybiEwfTsKZy5zMD1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQgaW4gbilXW0RdPW5bRF07cmV0dXJuIFd9OwpnLk5jPWZ1bmN0aW9uKG4pe2lmKCFufHx0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKHR5cGVvZiBuLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gbi5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChuKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQobik7aWYobiBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKG4uZ2V0VGltZSgpKTt2YXIgVz1BcnJheS5pc0FycmF5KG4pP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KG4pfHxuIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IG4uY29uc3RydWN0b3Iobi5sZW5ndGgpO2ZvcihsZXQgRCBpbiBuKVdbRF09Zy5OYyhuW0RdKTtyZXR1cm4gV307CmcuWXk9ZnVuY3Rpb24obixXKXtmb3IobGV0IHY9MTt2PGFyZ3VtZW50cy5sZW5ndGg7disrKXt2YXIgRD1hcmd1bWVudHNbdl07Zm9yKGIgaW4gRCluW2JdPURbYl07Zm9yKGxldCBrPTA7azxwVC5sZW5ndGg7aysrKXt2YXIgYj1wVFtrXTtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxiKSYmKG5bYl09RFtiXSl9fX07ClhaeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFo0KG5bMF0udG9Mb3dlckNhc2UoKSl9OwpnLkh4PWZ1bmN0aW9uKG4sLi4uVyl7aWYoVy5sZW5ndGg9PT0wKXJldHVybiBrMyhuWzBdKTt2YXIgRD1uWzBdO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKUQrPWVuY29kZVVSSUNvbXBvbmVudChXW2JdKStuW2IrMV07cmV0dXJuIGszKEQpfTsKZy5TcD1mdW5jdGlvbihuKXtyZXR1cm4gbj9uZXcgZlQoZy5KSyhuKSk6SWh8fChJaD1uZXcgZlQpfTsKQUs9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIFc9PT0ic3RyaW5nIj9uLmdldEVsZW1lbnRCeUlkKFcpOld9OwpnLktUPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8ZG9jdW1lbnQ7RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lP249RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG4pWzBdOihEPWRvY3VtZW50LG49bj8oV3x8RCkucXVlcnlTZWxlY3RvcihuPyIuIituOiIiKTpnLm1CKEQsIioiLG4sVylbMF18fG51bGwpO3JldHVybiBufHxudWxsfTsKZy5tQj1mdW5jdGlvbihuLFcsRCxiKXtuPWJ8fG47cmV0dXJuKFc9VyYmVyE9IioiP1N0cmluZyhXKS50b1VwcGVyQ2FzZSgpOiIiKXx8RD9uLnF1ZXJ5U2VsZWN0b3JBbGwoVysoRD8iLiIrRDoiIikpOm4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKX07CmcuUHg9ZnVuY3Rpb24obixXKXtnLmFfKFcsZnVuY3Rpb24oRCxiKXtiPT0ic3R5bGUiP24uc3R5bGUuY3NzVGV4dD1EOmI9PSJjbGFzcyI/bi5jbGFzc05hbWU9RDpiPT0iZm9yIj9uLmh0bWxGb3I9RDpPMC5oYXNPd25Qcm9wZXJ0eShiKT9uLnNldEF0dHJpYnV0ZShPMFtiXSxEKTpnLmpVKGIsImFyaWEtIil8fGcualUoYiwiZGF0YS0iKT9uLnNldEF0dHJpYnV0ZShiLEQpOm5bYl09RH0pfTsKZy5FMD1mdW5jdGlvbihuKXt2YXIgVz1uLnNjcm9sbGluZ0VsZW1lbnQ/bi5zY3JvbGxpbmdFbGVtZW50OmcuWmx8fG4uY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP24uYm9keXx8bi5kb2N1bWVudEVsZW1lbnQ6bi5kb2N1bWVudEVsZW1lbnQ7bj1uLmRlZmF1bHRWaWV3O3JldHVybiBuZXcgZy5NWShuPy5wYWdlWE9mZnNldHx8Vy5zY3JvbGxMZWZ0LG4/LnBhZ2VZT2Zmc2V0fHxXLnNjcm9sbFRvcCl9OwpnLmlrPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGVmYXVsdFZpZXc6d2luZG93fTsKZy5kbT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9YXJndW1lbnRzLHY9ZG9jdW1lbnQsaz1iWzFdLGg9dWsodixTdHJpbmcoYlswXSkpO2smJih0eXBlb2Ygaz09PSJzdHJpbmciP2guY2xhc3NOYW1lPWs6QXJyYXkuaXNBcnJheShrKT9oLmNsYXNzTmFtZT1rLmpvaW4oIiAiKTpnLlB4KGgsaykpO2IubGVuZ3RoPjImJm9oKHYsaCxiLDIpO3JldHVybiBofTsKb2g9ZnVuY3Rpb24obixXLEQsYil7ZnVuY3Rpb24gdihrKXtrJiZXLmFwcGVuZENoaWxkKHR5cGVvZiBrPT09InN0cmluZyI/bi5jcmVhdGVUZXh0Tm9kZShrKTprKX0KZm9yKDtiPEQubGVuZ3RoO2IrKyl7bGV0IGs9RFtiXTshZy5ZMihrKXx8Zy5mdChrKSYmay5ub2RlVHlwZT4wP3Yoayk6Zy55MihrJiZ0eXBlb2Ygay5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2Ygay5pdGVtPT0iZnVuY3Rpb24iP2cuUk0oayk6ayx2KX19OwpnLnpGPWZ1bmN0aW9uKG4pe3JldHVybiB1ayhkb2N1bWVudCxuKX07CnVrPWZ1bmN0aW9uKG4sVyl7Vz1TdHJpbmcoVyk7bi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoVz1XLnRvTG93ZXJDYXNlKCkpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoVyl9OwpnLmxrPWZ1bmN0aW9uKG4pe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcobikpfTsKZy5URj1mdW5jdGlvbihuKXtmb3IodmFyIFc7Vz1uLmZpcnN0Q2hpbGQ7KW4ucmVtb3ZlQ2hpbGQoVyl9OwpnLmpwPWZ1bmN0aW9uKG4sVyxEKXtuLmluc2VydEJlZm9yZShXLG4uY2hpbGROb2Rlc1tEXXx8bnVsbCl9OwpnLkNUPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLnBhcmVudE5vZGU/bi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pOm51bGx9OwpnLkJ4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4mJlc/bj09V3x8bi5jb250YWlucyhXKTohMX07CmcuSks9ZnVuY3Rpb24obil7cmV0dXJuIG4ubm9kZVR5cGU9PTk/bjpuLm93bmVyRG9jdW1lbnR8fG4uZG9jdW1lbnR9OwpnLkZMPWZ1bmN0aW9uKG4sVyl7aWYoInRleHRDb250ZW50ImluIG4pbi50ZXh0Q29udGVudD1XO2Vsc2UgaWYobi5ub2RlVHlwZT09MyluLmRhdGE9U3RyaW5nKFcpO2Vsc2UgaWYobi5maXJzdENoaWxkJiZuLmZpcnN0Q2hpbGQubm9kZVR5cGU9PTMpe2Zvcig7bi5sYXN0Q2hpbGQhPW4uZmlyc3RDaGlsZDspbi5yZW1vdmVDaGlsZChuLmxhc3RDaGlsZCk7bi5maXJzdENoaWxkLmRhdGE9U3RyaW5nKFcpfWVsc2UgZy5URihuKSxuLmFwcGVuZENoaWxkKGcuSksobikuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKFcpKSl9OwpNYz1mdW5jdGlvbihuKXtyZXR1cm4gbi50YWdOYW1lPT0iQSImJm4uaGFzQXR0cmlidXRlKCJocmVmIil8fG4udGFnTmFtZT09IklOUFVUInx8bi50YWdOYW1lPT0iVEVYVEFSRUEifHxuLnRhZ05hbWU9PSJTRUxFQ1QifHxuLnRhZ05hbWU9PSJCVVRUT04iPyFuLmRpc2FibGVkJiYoIW4uaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHx3bShuKSk6bi5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJndtKG4pfTsKd209ZnVuY3Rpb24obil7bj1uLnRhYkluZGV4O3JldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiJiZuPj0wJiZuPDMyNzY4fTsKZy5SaD1mdW5jdGlvbihuLFcsRCl7biYmIUQmJihuPW4ucGFyZW50Tm9kZSk7Zm9yKEQ9MDtuOyl7aWYoVyhuKSlyZXR1cm4gbjtuPW4ucGFyZW50Tm9kZTtEKyt9cmV0dXJuIG51bGx9OwpmVD1mdW5jdGlvbihuKXt0aGlzLk49bnx8Zy5xaS5kb2N1bWVudHx8ZG9jdW1lbnR9OwpwTXg9ZnVuY3Rpb24obil7c1YoUVEsVlEsMSxuKX07CllNeD1mdW5jdGlvbihuLFc9Y3gpe2lmKCFhaCl7bj1uLm5hdmlnYXRvcj8udXNlckFnZW50RGF0YTtpZighbnx8dHlwZW9mIG4uZ2V0SGlnaEVudHJvcHlWYWx1ZXMhPT0iZnVuY3Rpb24ifHxuLmJyYW5kcyYmdHlwZW9mIG4uYnJhbmRzLm1hcCE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJVQUNIIHVuYXZhaWxhYmxlIikpO3BNeCgobi5icmFuZHN8fFtdKS5tYXAoYj0+e3ZhciB2PW5ldyBWUTt2PWcuU0UodiwxLGIuYnJhbmQpO3JldHVybiBnLlNFKHYsMixiLnZlcnNpb24pfSkpOwp0eXBlb2Ygbi5tb2JpbGU9PT0iYm9vbGVhbiImJm96KFFRLDIsT18obi5tb2JpbGUpKTthaD1uLmdldEhpZ2hFbnRyb3B5VmFsdWVzKFcpfXZhciBEPW5ldyBTZXQoVyk7cmV0dXJuIGFoLnRoZW4oYj0+e3ZhciB2PVFRLmNsb25lKCk7RC5oYXMoInBsYXRmb3JtIikmJmcuU0UodiwzLGIucGxhdGZvcm0pO0QuaGFzKCJwbGF0Zm9ybVZlcnNpb24iKSYmZy5TRSh2LDQsYi5wbGF0Zm9ybVZlcnNpb24pO0QuaGFzKCJhcmNoaXRlY3R1cmUiKSYmZy5TRSh2LDUsYi5hcmNoaXRlY3R1cmUpO0QuaGFzKCJtb2RlbCIpJiZnLlNFKHYsNixiLm1vZGVsKTtELmhhcygidWFGdWxsVmVyc2lvbiIpJiZnLlNFKHYsNyxiLnVhRnVsbFZlcnNpb24pO3JldHVybiB2LmJZKCl9KS5jYXRjaCgoKT0+UVEuYlkoKSl9OwpuSz1mdW5jdGlvbihuKXtyZXR1cm4gS24obiwxLDEpfTsKdkw9ZnVuY3Rpb24obixXKXskOShuLk4sV0wsMSxXKTtIVyhXLDEpfHxuSyhXKTtuLmdSfHwoVz1ERChuKSxZOShXLDUpfHxnLlNFKFcsNSxuLmxvY2FsZSkpO24udWFjaCYmKFc9REQobiksZ2UoVyxiSSw5KXx8JDkoVyxiSSw5LG4udWFjaCkpfTsKREQ9ZnVuY3Rpb24obil7dmFyIFc9Z2Uobi5OLFdMLDEpO1d8fChXPW5ldyBXTCx2TChuLFcpKTtuPVc7Vz1nZShuLGtFLDExKTtXfHwoVz1uZXcga0UsJDkobixrRSwxMSxXKSk7cmV0dXJuIFd9OwpIYlM9ZnVuY3Rpb24obixXKXtuLko9V307CkpGWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdSP3ZvaWQgMDpnLmlrKCk7Vz9ZTXgoVyxjeCkudGhlbihEPT57bi51YWNoPWY0MihEPz8iW10iKTtEPUREKG4pOyQ5KEQsYkksOSxuLnVhY2gpO3JldHVybiEwfSkuY2F0Y2goKCk9PiExKTpQcm9taXNlLnJlc29sdmUoITEpfTsKZy5oSD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLlg9bjt0aGlzLmo9Vzt0aGlzLk49dGhpcy5XPW47dGhpcy5WPUR8fDA7dGhpcy5LPWJ8fDJ9OwpnLnhFPWZ1bmN0aW9uKG4pe24uTj1NYXRoLm1pbihuLmosbi5OKm4uSyk7bi5XPU1hdGgubWluKG4uaixuLk4rKG4uVj9NYXRoLnJvdW5kKG4uViooTWF0aC5yYW5kb20oKS0uNSkqMipuLk4pOjApKTtuLkorK307CkxLPWZ1bmN0aW9uKCl7cmV0dXJuImh0dHBzOi8vcGxheS5nb29nbGUuY29tL2xvZz9mb3JtYXQ9anNvbiZoYXNmYXN0PXRydWUifTsKSTRTPWZ1bmN0aW9uKG4sVyl7aWYoIW4uUyQpcmV0dXJuKCk9Pnt9Owp2YXIgRD0oKT0+e24uZmx1c2goKX07CnJldHVybiBXPygpPT57VygpLnRoZW4oRCl9OkR9OwplZz1mdW5jdGlvbihuKXtuLlcuaXNGaW5hbD0hMDtuLmZsdXNoKCk7bi5XLmlzRmluYWw9ITF9OwpnRD1mdW5jdGlvbihuKXtuLll8fChuLlk9TEsoKSk7dHJ5e3JldHVybihuZXcgVVJMKG4uWSkpLnRvU3RyaW5nKCl9Y2F0Y2goVyl7cmV0dXJuKG5ldyBVUkwobi5ZLGcuaWsoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07CkFGWj1mdW5jdGlvbihuKXtTTVMobiwoVyxEKT0+e1c9bmV3IFVSTChXKTtXLnNlYXJjaFBhcmFtcy5zZXQoImZvcm1hdCIsImpzb24iKTt2YXIgYj0hMTt0cnl7Yj1nLmlrKCkubmF2aWdhdG9yLnNlbmRCZWFjb24oVy50b1N0cmluZygpLEQuYlkoKSl9Y2F0Y2h7fWJ8fChuLkQ9ITEpO3JldHVybiBifSl9OwptVXc9ZnVuY3Rpb24obixXLEQ9bnVsbCxiPW4ud2l0aENyZWRlbnRpYWxzKXt2YXIgdj17fSxrPW5ldyBVUkwoZ0QobikpO0QmJih2LkF1dGhvcml6YXRpb249RCk7bi5zZXNzaW9uSW5kZXgmJih2WyJYLUdvb2ctQXV0aFVzZXIiXT1uLnNlc3Npb25JbmRleCxrLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixuLnNlc3Npb25JbmRleCkpO24ucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHYsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTpuLnBhZ2VJZH0pLGsuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixuLnBhZ2VJZCkpO3JldHVybnt1cmw6ay50b1N0cmluZygpLGJvZHk6VyxvJDoxLFpKOnYscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpiLHRpbWVvdXRNaWxsaXM6bi50aW1lb3V0TWlsbGlzfX07ClNNUz1mdW5jdGlvbihuLFcpe2lmKG4uTi5sZW5ndGghPT0wKXt2YXIgRD1uZXcgVVJMKGdEKG4pKTtELnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBiPW4ubjEoKTtiJiZELnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGIpO0Quc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLG4uc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihiPTA7YjwxMCYmbi5OLmxlbmd0aDsrK2Ipe2xldCB2PW4uTi5zbGljZSgwLDMyKSxrPW4uVy5idWlsZCh2LG4uWCxuLlYsbi5QZyxuLmNKLG4uTyk7aWYoIVcoRC50b1N0cmluZygpLGspKXsrK24uVjticmVha31uLlg9MDtuLlY9MDtuLmNKPTA7bi5PPTA7bi5OPW4uTi5zbGljZSh2Lmxlbmd0aCl9bi5KLmVuYWJsZWQmJm4uSi5zdG9wKCl9fTsKS2NoPWZ1bmN0aW9uKG4sVyl7bi5idWlsZExhYmVsPVc7cmV0dXJuIG59OwpQX2k9ZnVuY3Rpb24obil7bi5uZXR3b3JrPW5ldyBPYjE7cmV0dXJuIG59OwpaYmg9ZnVuY3Rpb24obixXKXtuLk49V307ClVVYj1mdW5jdGlvbihuKXtuLko9ITA7cmV0dXJuIG59OwpyRnQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkVHlwZSl9OwpQTz1mdW5jdGlvbihuLC4uLlcpe1c9WFQoLi4uVyk7cmV0dXJuIG4uTi5oYXMoVyk/bi5OLmdldChXKTp2b2lkIDB9OwokVU09ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkTmFtZSl9OwpHNz1mdW5jdGlvbihuLFcsLi4uRCl7RD1YVCguLi5EKTtuLk4uc2V0KEQsW25ldyBxNShXKV0pfTsKeUZaPWZ1bmN0aW9uKG4sVywuLi5EKXt2YXIgYj1QTyhuLC4uLkQpO2I/Yi5wdXNoKG5ldyBxNShXKSk6RzcobixXLC4uLkQpfTsKZVg9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9V15uO2lmKChuPj4xJjE2KTw1JiYobi0zJjExKT49OSYmRFtJWzE3XV0pdmFyIGs9UjAoOCw3NTQxLEQpO2lmKG4tMj4+ND09NCl7az12XjQ4NTA7Zm9yKHZhciBoPVtdOysray1oW0lbNV1dLSh2XjQ3NTQpOylzd2l0Y2goayl7Y2FzZSB2XjQ3NDQ6az12XjQ4MTg7Y29udGludWU7Y2FzZSB2XjQ4NDE6az12XjQ3NjY7YnJlYWs7Y2FzZSB2XjQ4NTE6az12XjQ3NjU7Y29udGludWU7Y2FzZSB2XjQ3NjQ6az12XjQ2NTE7Y2FzZSB2XjQ4MDk6ay09dl40NzQ0O2RlZmF1bHQ6aFtJW3ZeNDc3Ml1dKFN0cmluZ1tJW3ZeNDczNl1dKGspKX12YXIgeD1ofShuXjcwKT4+Mz09MiYmKGs9RFtJW3ZeNjYzM11dKElbdl42NjE2XSksdEhbSVt2XjY2NDddXShrLHZeNjYyMSksdEhbSVt2XjY2NDddXShrLDIpLHRIW0lbdl42NjEzXV0oayx2XjY2MzEpLHg9a1tJW3ZeNjU5Ml1dKElbdl42NjE2XSkpO248PDImMjd8fChlWCh2XjEzMzYsdl42NDI3LEQpLAprPU0zKHZeMTM4Nix2XjU1OTYsRFtJW3ZeMTM0OF1dKElbdl4xMzI3XSl8fElbdl4xMzkyXSlbSVt2XjEzNDVdXShJW3ZeMTM1NF0pLHg9RFtJW3ZeMTQwMV1dPT09SVt2XjEzODZdJiZrW0lbNV1dPjEmJiEha1sxXSk7KG48PDEmMTUpPT00JiZiW0lbNV1dIT0wJiYoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgwLDEsYltJWzNdXShELDEsYlswXSlbMF0pKTtuLTM+PjM9PTImJih4PUQhPT1udWxsKTtyZXR1cm4geH07ClhUPWZ1bmN0aW9uKC4uLm4pe3JldHVybiBuP24uam9pbigiLCIpOiJrZXkifTsKRTN0PWZ1bmN0aW9uKG4sLi4uVyl7cmV0dXJuKG49UE8obiwuLi5XKSkmJm4ubGVuZ3RoP25bMF06dm9pZCAwfTsKaWJVPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9MCxiPUUzdChuLC4uLlcpO2ImJihEPWIuTik7RzcobixEKzEsLi4uVyl9OwokRT1mdW5jdGlvbihuLFcpe3RoaXMudHlwZT1uO3RoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1XO3RoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLko9ITF9OwpyRD1mdW5jdGlvbihuLFcpeyRFLmNhbGwodGhpcyxuP24udHlwZToiIik7dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1udWxsO3RoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMuY2xpZW50WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy5OPW51bGw7biYmdGhpcy5pbml0KG4sVyl9OwpONT1mdW5jdGlvbihuKXtyZXR1cm4hKCFufHwhbltzMl0pfTsKbzNiPWZ1bmN0aW9uKG4sVyxELGIsdil7dGhpcy5saXN0ZW5lcj1uO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1XO3RoaXMudHlwZT1EO3RoaXMuY2FwdHVyZT0hIWI7dGhpcy5oYW5kbGVyPXY7dGhpcy5rZXk9Kyt1SWg7dGhpcy51Nz10aGlzLnFfPSExfTsKSEw9ZnVuY3Rpb24obil7bi51Nz0hMDtuLmxpc3RlbmVyPW51bGw7bi5wcm94eT1udWxsO24uc3JjPW51bGw7bi5oYW5kbGVyPW51bGx9OwpmSz1mdW5jdGlvbihuKXt0aGlzLnNyYz1uO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuTj0wfTsKSkg9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnR5cGU7RCBpbiBuLmxpc3RlbmVycyYmZy5GSShuLmxpc3RlbmVyc1tEXSxXKSYmKEhMKFcpLG4ubGlzdGVuZXJzW0RdLmxlbmd0aD09MCYmKGRlbGV0ZSBuLmxpc3RlbmVyc1tEXSxuLk4tLSkpfTsKSVc9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoIWsudTcmJmsubGlzdGVuZXI9PVcmJmsuY2FwdHVyZT09ISFEJiZrLmhhbmRsZXI9PWIpcmV0dXJuIHZ9cmV0dXJuLTF9OwpBSD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGImJmIub25jZSlyZXR1cm4gU2cobixXLEQsYix2KTtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylBSChuLFdba10sRCxiLHYpO3JldHVybiBudWxsfUQ9bWgoRCk7cmV0dXJuIE41KG4pP24uU18oVyxELGcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLHYpOktLKG4sVyxELCExLGIsdil9OwpLSz1mdW5jdGlvbihuLFcsRCxiLHYsayl7aWYoIVcpdGhyb3cgRXJyb3IoIkludmFsaWQgZXZlbnQgdHlwZSIpO3ZhciBoPWcuZnQodik/ISF2LmNhcHR1cmU6ISF2LHg9TzIobik7eHx8KG5bUExdPXg9bmV3IGZLKG4pKTtEPXguYWRkKFcsRCxiLGgsayk7aWYoRC5wcm94eSlyZXR1cm4gRDtiPWRVcigpO0QucHJveHk9YjtiLnNyYz1uO2IubGlzdGVuZXI9RDtpZihuLmFkZEV2ZW50TGlzdGVuZXIpdj09PXZvaWQgMCYmKHY9ITEpLG4uYWRkRXZlbnRMaXN0ZW5lcihXLnRvU3RyaW5nKCksYix2KTtlbHNlIGlmKG4uYXR0YWNoRXZlbnQpbi5hdHRhY2hFdmVudChaRChXLnRvU3RyaW5nKCkpLGIpO2Vsc2UgaWYobi5hZGRMaXN0ZW5lciYmbi5yZW1vdmVMaXN0ZW5lciluLmFkZExpc3RlbmVyKGIpO2Vsc2UgdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtVMisrO3JldHVybiBEfTsKZFVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbihEKXtyZXR1cm4gVy5jYWxsKG4uc3JjLG4ubGlzdGVuZXIsRCl9CnZhciBXPXpCdDtyZXR1cm4gbn07ClNnPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSl7Zm9yKGxldCBrPTA7azxXLmxlbmd0aDtrKyspU2cobixXW2tdLEQsYix2KTtyZXR1cm4gbnVsbH1EPW1oKEQpO3JldHVybiBONShuKT9uLmVGKFcsRCxnLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2KTpLSyhuLFcsRCwhMCxiLHYpfTsKeTc9ZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgaz0wO2s8Vy5sZW5ndGg7aysrKXk3KG4sV1trXSxELGIsdik7ZWxzZSBiPWcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLEQ9bWgoRCksTjUobik/bi53SChXLEQsYix2KTpuJiYobj1PMihuKSkmJihXPW4uc2MoVyxELGIsdikpJiZFMihXKX07CkUyPWZ1bmN0aW9uKG4pe2lmKHR5cGVvZiBuIT09Im51bWJlciImJm4mJiFuLnU3KXt2YXIgVz1uLnNyYztpZihONShXKSlKSChXLmRfLG4pO2Vsc2V7dmFyIEQ9bi50eXBlLGI9bi5wcm94eTtXLnJlbW92ZUV2ZW50TGlzdGVuZXI/Vy5yZW1vdmVFdmVudExpc3RlbmVyKEQsYixuLmNhcHR1cmUpOlcuZGV0YWNoRXZlbnQ/Vy5kZXRhY2hFdmVudChaRChEKSxiKTpXLmFkZExpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyKGIpO1UyLS07KEQ9TzIoVykpPyhKSChELG4pLEQuTj09MCYmKEQuc3JjPW51bGwsV1tQTF09bnVsbCkpOkhMKG4pfX19OwpaRD1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbiBpST9pSVtuXTppSVtuXT0ib24iK259Owp6QnQ9ZnVuY3Rpb24obixXKXtpZihuLnU3KW49ITA7ZWxzZXtXPW5ldyByRChXLHRoaXMpO2xldCBEPW4ubGlzdGVuZXIsYj1uLmhhbmRsZXJ8fG4uc3JjO24ucV8mJkUyKG4pO249RC5jYWxsKGIsVyl9cmV0dXJuIG59OwpPMj1mdW5jdGlvbihuKXtuPW5bUExdO3JldHVybiBuIGluc3RhbmNlb2YgZks/bjpudWxsfTsKbWg9ZnVuY3Rpb24obil7aWYodHlwZW9mIG49PT0iZnVuY3Rpb24iKXJldHVybiBuO25bdUldfHwoblt1SV09ZnVuY3Rpb24oVyl7cmV0dXJuIG4uaGFuZGxlRXZlbnQoVyl9KTsKcmV0dXJuIG5bdUldfTsKZy5vVz1mdW5jdGlvbigpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLmRfPW5ldyBmSyh0aGlzKTt0aGlzLkhkPXRoaXM7dGhpcy5sWj1udWxsfTsKZEQ9ZnVuY3Rpb24obixXLEQsYil7Vz1uLmRfLmxpc3RlbmVyc1tTdHJpbmcoVyldO2lmKCFXKXJldHVybiEwO1c9Vy5jb25jYXQoKTt2YXIgdj0hMDtmb3IobGV0IGs9MDtrPFcubGVuZ3RoOysrayl7bGV0IGg9V1trXTtpZihoJiYhaC51NyYmaC5jYXB0dXJlPT1EKXtsZXQgeD1oLmxpc3RlbmVyLEw9aC5oYW5kbGVyfHxoLnNyYztoLnFfJiZKSChuLmRfLGgpO3Y9eC5jYWxsKEwsYikhPT0hMSYmdn19cmV0dXJuIHYmJiFiLmRlZmF1bHRQcmV2ZW50ZWR9OwpnLlQ3PWZ1bmN0aW9uKG4pe249KDAsZy56Nykobik7bEl8fChsST1sNGooKSk7bEkobil9OwpsNGo9ZnVuY3Rpb24oKXtpZih0eXBlb2YgTWVzc2FnZUNoYW5uZWwhPT0idW5kZWZpbmVkIil7bGV0IG49bmV3IE1lc3NhZ2VDaGFubmVsLFc9e30sRD1XO24ucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKCl7aWYoVy5uZXh0IT09dm9pZCAwKXtXPVcubmV4dDtsZXQgYj1XLmtBO1cua0E9bnVsbDtiKCl9fTsKcmV0dXJuIGZ1bmN0aW9uKGIpe0QubmV4dD17a0E6Yn07RD1ELm5leHQ7bi5wb3J0Mi5wb3N0TWVzc2FnZSgwKX19cmV0dXJuIGZ1bmN0aW9uKG4pe2cucWkuc2V0VGltZW91dChuLDApfX07ClR6cj1mdW5jdGlvbigpe2Zvcih2YXIgbjtuPWpnLnJlbW92ZSgpOyl7dHJ5e24uTi5jYWxsKG4uc2NvcGUpfWNhdGNoKFcpe2g0KFcpfUNLLnB1dChuKX1CTD0hMX07CmcuRlQ9ZnVuY3Rpb24oKXt9OwpqTWg9ZnVuY3Rpb24obil7dmFyIFc9V3x8MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseSh0aGlzLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwLFcpKX19OwpnLndEPWZ1bmN0aW9uKG4pe3ZhciBXPSExLEQ7cmV0dXJuIGZ1bmN0aW9uKCl7V3x8KEQ9bigpLFc9ITApO3JldHVybiBEfX07CmcuWDE9ZnVuY3Rpb24obixXKXt0aGlzLk49MDt0aGlzLks9dm9pZCAwO3RoaXMuWD10aGlzLko9dGhpcy5XPW51bGw7dGhpcy5qPXRoaXMuVj0hMTtpZihuIT1nLkZUKXRyeXtsZXQgRD10aGlzO24uY2FsbChXLGZ1bmN0aW9uKGIpe2dwKEQsMixiKX0sZnVuY3Rpb24oYil7Z3AoRCwzLGIpfSl9Y2F0Y2goRCl7Z3AodGhpcywzLEQpfX07CnE4PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuY29udGV4dD10aGlzLko9dGhpcy5XPXRoaXMuTj1udWxsO3RoaXMuWD0hMX07CmcudCQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUczLmdldCgpO2IuVz1uO2IuSj1XO2IuY29udGV4dD1EO3JldHVybiBifTsKJEc9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIG47dmFyIFc9bmV3IGcuWDEoZy5GVCk7Z3AoVywyLG4pO3JldHVybiBXfTsKZy5ycD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IGcuWDEoZnVuY3Rpb24oVyxEKXtEKG4pfSl9OwpwcT1mdW5jdGlvbihuLFcsRCxiKXtnLk44KG4sZy50JChXfHxnLkZULER8fG51bGwsYikpfTsKWUc9ZnVuY3Rpb24obixXKXtpZihuLk49PTApaWYobi5XKXt2YXIgRD1uLlc7aWYoRC5KKXt2YXIgYj0wLHY9bnVsbCxrPW51bGw7Zm9yKGxldCBoPUQuSjtoJiYoaC5YfHwoYisrLGguTj09biYmKHY9aCksISh2JiZiPjEpKSk7aD1oLm5leHQpdnx8KGs9aCk7diYmKEQuTj09MCYmYj09MT9ZRyhELFcpOihrPyhiPWssYi5uZXh0PT1ELlgmJihELlg9YiksYi5uZXh0PWIubmV4dC5uZXh0KTpISihEKSxmcShELHYsMyxXKSkpfW4uVz1udWxsfWVsc2UgZ3AobiwzLFcpfTsKZy5OOD1mdW5jdGlvbihuLFcpe24uSnx8bi5OIT0yJiZuLk4hPTN8fEokKG4pO24uWD9uLlgubmV4dD1XOm4uSj1XO24uWD1XfTsKU089ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9Zy50JChudWxsLG51bGwsbnVsbCk7di5OPW5ldyBnLlgxKGZ1bmN0aW9uKGssaCl7di5XPVc/ZnVuY3Rpb24oeCl7dHJ5e2xldCBMPVcuY2FsbChiLHgpO2soTCl9Y2F0Y2goTCl7aChMKX19Oms7CnYuSj1EP2Z1bmN0aW9uKHgpe3RyeXtsZXQgTD1ELmNhbGwoYix4KTtMPT09dm9pZCAwJiZ4IGluc3RhbmNlb2YgZy5JNT9oKHgpOmsoTCl9Y2F0Y2goTCl7aChMKX19Omh9KTsKdi5OLlc9bjtnLk44KG4sdik7cmV0dXJuIHYuTn07CmdwPWZ1bmN0aW9uKG4sVyxEKXtuLk49PTAmJihuPT09RCYmKFc9MyxEPW5ldyBUeXBlRXJyb3IoIlByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmIikpLG4uTj0xLGcuQSQoRCxuLklRLG4uQVMsbil8fChuLks9RCxuLk49VyxuLlc9bnVsbCxKJChuKSxXIT0zfHxEIGluc3RhbmNlb2YgZy5JNXx8Q18xKG4sRCkpKX07CmcuQSQ9ZnVuY3Rpb24obixXLEQsYil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIHBxKG4sVyxELGIpLCEwO2lmKG4pdHJ5e3ZhciB2PSEhbi4kZ29vZ19UaGVuYWJsZX1jYXRjaChrKXt2PSExfWVsc2Ugdj0hMTtpZih2KXJldHVybiBuLnRoZW4oVyxELGIpLCEwO2lmKGcuZnQobikpdHJ5e2xldCBrPW4udGhlbjtpZih0eXBlb2Ygaz09PSJmdW5jdGlvbiIpcmV0dXJuIEJ6aShuLGssVyxELGIpLCEwfWNhdGNoKGspe3JldHVybiBELmNhbGwoYixrKSwhMH1yZXR1cm4hMX07CkJ6aT1mdW5jdGlvbihuLFcsRCxiLHYpe2Z1bmN0aW9uIGsoTCl7eHx8KHg9ITAsYi5jYWxsKHYsTCkpfQpmdW5jdGlvbiBoKEwpe3h8fCh4PSEwLEQuY2FsbCh2LEwpKX0KdmFyIHg9ITE7dHJ5e1cuY2FsbChuLGgsayl9Y2F0Y2goTCl7ayhMKX19OwpKJD1mdW5jdGlvbihuKXtuLlZ8fChuLlY9ITAsZy5tSyhuLnlzLG4pKX07CkhKPWZ1bmN0aW9uKG4pe3ZhciBXPW51bGw7bi5KJiYoVz1uLkosbi5KPVcubmV4dCxXLm5leHQ9bnVsbCk7bi5KfHwobi5YPW51bGwpO3JldHVybiBXfTsKZnE9ZnVuY3Rpb24obixXLEQsYil7aWYoRD09MyYmVy5KJiYhVy5YKWZvcig7biYmbi5qO249bi5XKW4uaj0hMTtpZihXLk4pVy5OLlc9bnVsbCxLcShXLEQsYik7ZWxzZSB0cnl7Vy5YP1cuVy5jYWxsKFcuY29udGV4dCk6S3EoVyxELGIpfWNhdGNoKHYpe091LmNhbGwobnVsbCx2KX1HMy5wdXQoVyl9OwpLcT1mdW5jdGlvbihuLFcsRCl7Vz09Mj9uLlcuY2FsbChuLmNvbnRleHQsRCk6bi5KJiZuLkouY2FsbChuLmNvbnRleHQsRCl9OwpDXzE9ZnVuY3Rpb24obixXKXtuLmo9ITA7Zy5tSyhmdW5jdGlvbigpe24uaiYmT3UuY2FsbChudWxsLFcpfSl9OwpnLkk1PWZ1bmN0aW9uKG4pe2cuVGIuY2FsbCh0aGlzLG4pfTsKZy5QSj1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLmd0PW58fDE7dGhpcy5WNz1XfHxnLnFpO3RoaXMuaEU9KDAsZy5LdCkodGhpcy5SUSx0aGlzKTt0aGlzLmpiPWcuVXcoKX07CmcuWnQ9ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBuPT09ImZ1bmN0aW9uIilEJiYobj0oMCxnLkt0KShuLEQpKTtlbHNlIGlmKG4mJnR5cGVvZiBuLmhhbmRsZUV2ZW50PT0iZnVuY3Rpb24iKW49KDAsZy5LdCkobi5oYW5kbGVFdmVudCxuKTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIGxpc3RlbmVyIGFyZ3VtZW50Iik7cmV0dXJuIE51bWJlcihXKT4yMTQ3NDgzNjQ3Py0xOmcucWkuc2V0VGltZW91dChuLFd8fDApfTsKZy5VdT1mdW5jdGlvbihuLFcpe3ZhciBEPW51bGw7cmV0dXJuKG5ldyBnLlgxKGZ1bmN0aW9uKGIsdil7RD1nLlp0KGZ1bmN0aW9uKCl7YihXKX0sbik7CkQ9PS0xJiZ2KEVycm9yKCJGYWlsZWQgdG8gc2NoZWR1bGUgdGltZXIuIikpfSkpLnNQKGZ1bmN0aW9uKGIpe2cucWkuY2xlYXJUaW1lb3V0KEQpOwp0aHJvdyBiO30pfTsKRXU9ZnVuY3Rpb24obixXLC4uLkQpe24uVy5oYXMoVyl8fG4uVy5zZXQoVyxuZXcgeTgoVyxEKSl9Owp1ZT1mdW5jdGlvbihuLFcsLi4uRCl7bi5XLmhhcyhXKXx8bi5XLnNldChXLG5ldyBpZShXLEQpKX07Cm81PWZ1bmN0aW9uKG4pe24uSi5lbmFibGVkfHxuLkouc3RhcnQoKTtuLlYrKztuLlY+PW4uWCYmbi5qKCl9OwpGY2I9ZnVuY3Rpb24obil7Zm9yKGxldCBXPTA7VzxuLmxlbmd0aDtXKyspbltXXS5jbGVhcigpfTsKZHA9ZnVuY3Rpb24obixXLC4uLkQpeyhXPW4uTihXKSkmJlcgaW5zdGFuY2VvZiBpZSYmKGliVShXLC4uLkQpLG81KG4pKX07CnozPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19Owp3TVM9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTsKbGU9ZnVuY3Rpb24oKXt9OwpUMz1mdW5jdGlvbihuLFcsRCl7aWYoVz09bnVsbClELnB1c2goIm51bGwiKTtlbHNle2lmKHR5cGVvZiBXPT0ib2JqZWN0Iil7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9VztXPWIubGVuZ3RoO0QucHVzaCgiWyIpO3ZhciB2PSIiO2Zvcih2YXIgaz0wO2s8VztrKyspRC5wdXNoKHYpLFQzKG4sYltrXSxEKSx2PSIsIjtELnB1c2goIl0iKTtyZXR1cm59aWYoVyBpbnN0YW5jZW9mIFN0cmluZ3x8VyBpbnN0YW5jZW9mIE51bWJlcnx8VyBpbnN0YW5jZW9mIEJvb2xlYW4pVz1XLnZhbHVlT2YoKTtlbHNle0QucHVzaCgieyIpO3Y9IiI7Zm9yKGIgaW4gVylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoVyxiKSYmKGs9V1tiXSx0eXBlb2YgayE9ImZ1bmN0aW9uIiYmKEQucHVzaCh2KSxqTyhiLEQpLEQucHVzaCgiOiIpLFQzKG4sayxEKSx2PSIsIikpO0QucHVzaCgifSIpO3JldHVybn19c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOmpPKFcsRCk7YnJlYWs7CmNhc2UgIm51bWJlciI6RC5wdXNoKGlzRmluaXRlKFcpJiYhaXNOYU4oVyk/U3RyaW5nKFcpOiJudWxsIik7YnJlYWs7Y2FzZSAiYm9vbGVhbiI6RC5wdXNoKFN0cmluZyhXKSk7YnJlYWs7Y2FzZSAiZnVuY3Rpb24iOkQucHVzaCgibnVsbCIpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gdHlwZTogIit0eXBlb2YgVyk7fX19OwpqTz1mdW5jdGlvbihuLFcpe1cucHVzaCgnIicsbi5yZXBsYWNlKE1qWixmdW5jdGlvbihEKXt2YXIgYj1DcVtEXTtifHwoYj0iXFx1IisoRC5jaGFyQ29kZUF0KDApfDY1NTM2KS50b1N0cmluZygxNikuc2xpY2UoMSksQ3FbRF09Yik7cmV0dXJuIGJ9KSwnIicpfTsKUkJiPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDA6cmV0dXJuIk5vIEVycm9yIjtjYXNlIDE6cmV0dXJuIkFjY2VzcyBkZW5pZWQgdG8gY29udGVudCBkb2N1bWVudCI7Y2FzZSAyOnJldHVybiJGaWxlIG5vdCBmb3VuZCI7Y2FzZSAzOnJldHVybiJGaXJlZm94IHNpbGVudGx5IGVycm9yZWQiO2Nhc2UgNDpyZXR1cm4iQXBwbGljYXRpb24gY3VzdG9tIGVycm9yIjtjYXNlIDU6cmV0dXJuIkFuIGV4Y2VwdGlvbiBvY2N1cnJlZCI7Y2FzZSA2OnJldHVybiJIdHRwIHJlc3BvbnNlIGF0IDQwMCBvciA1MDAgbGV2ZWwiO2Nhc2UgNzpyZXR1cm4iUmVxdWVzdCB3YXMgYWJvcnRlZCI7Y2FzZSA4OnJldHVybiJSZXF1ZXN0IHRpbWVkIG91dCI7Y2FzZSA5OnJldHVybiJUaGUgcmVzb3VyY2UgaXMgbm90IGF2YWlsYWJsZSBvZmZsaW5lIjtkZWZhdWx0OnJldHVybiJVbnJlY29nbml6ZWQgZXJyb3IgY29kZSJ9fTsKQko9ZnVuY3Rpb24oKXt9OwpGMT1mdW5jdGlvbigpe307CndwPWZ1bmN0aW9uKG4pe2cub1cuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLlRDPW58fG51bGw7dGhpcy5KPSExO3RoaXMuTj1udWxsO3RoaXMuSz0iIjt0aGlzLlc9MDt0aGlzLmo9IiI7dGhpcy5YPXRoaXMudHc9dGhpcy5ZPXRoaXMuY0o9ITE7dGhpcy5EPTA7dGhpcy5WPW51bGw7dGhpcy5iZD0iIjt0aGlzLk89ITF9OwpRTVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9bmV3IHdwO004LnB1c2goeCk7VyYmeC5TXygiY29tcGxldGUiLFcpO3guZUYoInJlYWR5Iix4LldVKTtrJiYoeC5EPU1hdGgubWF4KDAsaykpO2gmJih4Lk89aCk7eC5zZW5kKG4sRCxiLHYpfTsKVjg9ZnVuY3Rpb24obixXKXtuLko9ITE7bi5OJiYobi5YPSEwLG4uTi5hYm9ydCgpLG4uWD0hMSk7bi5qPVc7bi5XPTU7UjUobik7UTgobil9OwpSNT1mdW5jdGlvbihuKXtuLmNKfHwobi5jSj0hMCxuLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksbi5kaXNwYXRjaEV2ZW50KCJlcnJvciIpKX07Cm5WPWZ1bmN0aW9uKG4pe2lmKG4uSiYmdHlwZW9mIGNKIT0idW5kZWZpbmVkIilpZihuLlkmJmE1KG4pPT00KXNldFRpbWVvdXQobi5OOC5iaW5kKG4pLDApO2Vsc2UgaWYobi5kaXNwYXRjaEV2ZW50KCJyZWFkeXN0YXRlY2hhbmdlIiksbi5pc0NvbXBsZXRlKCkpe24uZ2V0U3RhdHVzKCk7bi5KPSExO3RyeXtpZihuLmlzU3VjY2VzcygpKW4uZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxuLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle24uVz02O3RyeXt2YXIgVz1hNShuKT4yP24uTi5zdGF0dXNUZXh0OiIifWNhdGNoKEQpe1c9IiJ9bi5qPVcrIiBbIituLmdldFN0YXR1cygpKyJdIjtSNShuKX19ZmluYWxseXtROChuKX19fTsKUTg9ZnVuY3Rpb24obixXKXtpZihuLk4pe24uViYmKGNsZWFyVGltZW91dChuLlYpLG4uVj1udWxsKTtsZXQgRD1uLk47bi5OPW51bGw7V3x8bi5kaXNwYXRjaEV2ZW50KCJyZWFkeSIpO3RyeXtELm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsfWNhdGNoKGIpe319fTsKYTU9ZnVuY3Rpb24obil7cmV0dXJuIG4uTj9uLk4ucmVhZHlTdGF0ZTowfTsKVzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBuLk4/bi5OLnJlc3BvbnNlVGV4dDoiIn1jYXRjaChXKXtyZXR1cm4iIn19OwpEbz1mdW5jdGlvbihuKXt0cnl7aWYoIW4uTilyZXR1cm4gbnVsbDtpZigicmVzcG9uc2UiaW4gbi5OKXJldHVybiBuLk4ucmVzcG9uc2U7c3dpdGNoKG4uYmQpe2Nhc2UgIiI6Y2FzZSAidGV4dCI6cmV0dXJuIG4uTi5yZXNwb25zZVRleHQ7Y2FzZSAiYXJyYXlidWZmZXIiOmlmKCJtb3pSZXNwb25zZUFycmF5QnVmZmVyImluIG4uTilyZXR1cm4gbi5OLm1velJlc3BvbnNlQXJyYXlCdWZmZXJ9cmV0dXJuIG51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKVmp0PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249KG4uTiYmYTUobik+PTI/bi5OLmdldEFsbFJlc3BvbnNlSGVhZGVycygpfHwiIjoiIikuc3BsaXQoIlxyXG4iKTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7aWYoZy5GaChuW2JdKSljb250aW51ZTt2YXIgRD1Td2gobltiXSk7bGV0IHY9RFswXTtEPURbMV07aWYodHlwZW9mIEQhPT0ic3RyaW5nIiljb250aW51ZTtEPUQudHJpbSgpO2xldCBrPVdbdl18fFtdO1dbdl09aztrLnB1c2goRCl9cmV0dXJuIFd4KFcsZnVuY3Rpb24oYil7cmV0dXJuIGIuam9pbigiLCAiKX0pfTsKdjM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPWJuKCk7Vz1XKCk7bi5YKEQsYm4oKS1iKTtyZXR1cm4gV307Cm5sMT1mdW5jdGlvbihuLFcsRCxiKXtuPVVVYihQX2koS2NoKG5ldyBrWSxuKSkpLmtDKCk7Vy5sZW5ndGgmJlpiaChuLHRqVShuZXcgY0ZaLFcpKTtiIT09dm9pZCAwJiYobi5Saj1iKTt2YXIgdj1uZXcgYTRqKG4uYnVpbGQoKSk7Zy51KHYsbik7dmFyIGs9bmV3IGhxKHtmbHVzaChoKXt0cnl7di5mbHVzaChoKX1jYXRjaCh4KXtEKHgpfX19KTtrLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtrLmooKX1maW5hbGx5e3YuZGlzcG9zZSgpfX0pfSk7CmsuWD0xRTU7ay5mbHVzaEludGVydmFsPTNFNDtrLkouc2V0SW50ZXJ2YWwoM0U0KTtyZXR1cm4ga307CldXcj1mdW5jdGlvbihuKXtpZihuLnRpbWVyPT09dm9pZCAwKXtsZXQgVz1NYXRoLm1heCgwLG4uTituLkotYm4oKSk7bi50aW1lcj1zZXRUaW1lb3V0KCgpPT57dHJ5e24uY2FsbGJhY2soKX1maW5hbGx5e24uTj1ibigpLG4udGltZXI9dm9pZCAwfX0sVyl9fTsKYnBNPWZ1bmN0aW9uKG4sVz1bXSl7cmV0dXJuIG5ldyBEaHgobixXKX07CmJuPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9OwpMVj1mdW5jdGlvbihuLFcpe2lmKG4uZGlzYWJsZSlyZXR1cm4gbmV3IHhZO1c9Vz9uMChXKTpbXTtyZXR1cm4gYnBNKHtWajpuLlZqLFJoOm4uSnAsTFQ6bi5SaSxSajpuLlJqLHREOm4udEQscm86bi5yb30sVyl9Owp2bHI9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIG51bGw7bj1KUyhuLDQpO3JldHVybiBuPT09bnVsbHx8bj09PXZvaWQgMD9udWxsOmszKG4pfTsKZyQ9ZnVuY3Rpb24oKXtlbS5pbnN0YW5jZXx8KGVtLmluc3RhbmNlPW5ldyBlbSk7cmV0dXJuIGVtLmluc3RhbmNlfTsKazVaPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFXJiYhRClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7aWYoIWIpcmV0dXJuIFg2KFcsRCk7dmFyIHY7KHY9bi5KKVtiXXx8KHZbYl09bmV3IFByb21pc2UoKGssaCk9PntYNihXLEQpLnRoZW4oKCk9PntuLk49YjtrKCl9LHg9PntkZWxldGUgbi5KW2JdOwpoKHgpfSl9KSk7CnJldHVybiBuLkpbYl19Owp0cT1mdW5jdGlvbihuLFcpe3JldHVybiBrNVoobixnZShXLHF2LDEseFUpLGdlKFcsR0gsMix4VSksWTkoVywzLHZvaWQgMCx4VSkpfTsKWDY9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz9oSFMoVyk6bj94aGIobik6UHJvbWlzZS5yZXNvbHZlKCl9OwpoSFM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBQcm9taXNlKChXLEQpPT57dmFyIGI9Zy56RigiU0NSSVBUIiksdj12bHIobik7Zy5QTShiLHYpO2Iub25sb2FkPSgpPT57Zy5DVChiKTtXKCl9OwpiLm9uZXJyb3I9KCk9PntnLkNUKGIpO0QoRXJyb3IoIkVXTFMiKSl9OwooZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChiKX0pfTsKeGhiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57dmFyIEQ9Zy56RigiU0NSSVBUIik7aWYobil7dmFyIGI9SlMobiw2KTtiPWI9PT1udWxsfHxiPT09dm9pZCAwP251bGw6bWMoYil9ZWxzZSBiPW51bGw7RC50ZXh0Q29udGVudD1LYihiKTtPTShEKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChEKTtnLkNUKEQpO1coKX0pfTsKTFcyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFTKG4sMSxXKX07CmVIaD1mdW5jdGlvbihuLFcpe3JldHVybiBBUyhuLDIsVyl9OwpnbGg9ZnVuY3Rpb24obixXKXtyZXR1cm4gQVMobiwzLFcpfTsKc2w9YXN5bmMgZnVuY3Rpb24obixXLEQsYix2KXtXPWdsaChlSGgoTFcyKG5ldyAkWSxuLnJlcXVlc3RLZXkpLFcpLEQpO0Q9bi5OKCk7bj1hd2FpdCBiLlYoImMiLG4ucmVxdWVzdEtleSx2LG4uY2xpZW50LmNyZWF0ZShXLEQpKTt2YXIgaz1WbChSeihuLDIpKTtpZihrLmxlbmd0aClyZXR1cm4gdjMoYiwoKT0+e3ZhciBoPW5ldyBVaW50OEFycmF5KGsubGVuZ3RoKTtmb3IodmFyIHg9MDt4PGsubGVuZ3RoO3grKyloW3hdPWtbeF0rOTc7aWYoZy5xaS5UZXh0RGVjb2RlciloPShuZXcgVGV4dERlY29kZXIpLmRlY29kZShoKTtlbHNlIGlmKGgubGVuZ3RoPD04MTkyKWg9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGgpO2Vsc2V7eD0iIjtmb3IobGV0IEw9MDtMPGgubGVuZ3RoO0wrPTgxOTIpe2xldCBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGgsTCxMKzgxOTIpO3grPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxlKX1oPXh9cmV0dXJuIFg0WihoKX0sCiJVIik7CmI9Z2UobixyJCwxKTtpZighYil0aHJvdyBFcnJvcigiTWlzc2luZyBmaWVsZCIpO3JldHVybiBifTsKSDM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bi5OKCk7dmFyIGs9bmV3IE52O2s9QVMoaywxLG4ucmVxdWVzdEtleSk7dmFyIGg9QVMoaywyLFcpO1c9RC5WO2s9bi5yZXF1ZXN0S2V5O249bi5jbGllbnQ7dj1ZWShuLk4sbi5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixoLHZ8fHt9LHFUUyk7cmV0dXJuIFcuY2FsbChELCJnIixrLGIsdil9OwpHNWg9ZnVuY3Rpb24obixXLEQsYix2KXtyZXR1cm4gbiBpbnN0YW5jZW9mIGZWP3NsKG4sYix2LFcsRCk6c2wobixiLHYsbmV3IHhZLDApfTsKckFiPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGI9ZyQoKSx2PVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGspe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCB4PW51bGw7aWYoaCl7SnEobiw3KTt0cnl7eD1hd2FpdCBJaShoLnNuYXBzaG90KHt9KSxrLmpkLCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKEcpe3g9IkU6VUNFIn19bGV0IEwsZT1uZXcgZy5oSChoP2sudzg6ay5DcSxrLm96LGsuZDgsay5BaSk7CmZvcihsZXQgRz0xO0c8PWsubWF4QXR0ZW1wdHM7RysrKXtpZihHIT09MSl7SnEobiwwKTtuLk49bmV3IFNtKGUuZ2V0VmFsdWUoKSxrLnVtLGsubmIpO2xldCByPWF3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7cj09PTE/KEc9MSxlLnJlc2V0KCkpOmcueEUoZSl9dHJ5e2xldCByO0Q/cj1EOihKcShuLDUpLHI9YXdhaXQgSWkoRzVoKFcsbi5sb2dnZXIsRyxiLk4seCksay5ocCwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoIlJHRjpGZXRjaCB0aW1lZCBvdXQiKSkpKTsKSnEobiwzKTthd2FpdCBJaSh0cShiLHIpLGsuUVgsKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJEVFo6U2NyaXB0IHRpbWVkIG91dCIpKSk7CkpxKG4sOCk7YXdhaXQgdjtsZXQgTj1uZXcgQXEoe2NoYWxsZW5nZTpyLHgzOm4ub3B0aW9ucy54Myx3MzpuLm9wdGlvbnMudzN9KTthd2FpdCBJaShOLk92LGsucUssKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJRRUc6U2V0dXAgdGltZWQgb3V0IikpKTsKTD1OO2JyZWFrfWNhdGNoKHIpe24uaGFuZGxlRXJyb3IociksbUkobil9fWlmKG4ucU4oKSlicmVhaztMJiYoRD12b2lkIDAsdDFVKG4saCksaD1MLCRoaChuLEwpLG1JKG4pKTtKcShuLDIpO24uTj1uZXcgU20oay5GWixrLnVtLGsubmIpO24uaXNQYXVzZWQmJm4uTi5wYXVzZSgpO2F3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7aWYobi5xTigpKWJyZWFrfWg/LmRpc3Bvc2UoKX07CnNQMj1mdW5jdGlvbihuKXtuLks9RXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIik7bi5qLnJlc29sdmUoKTtXMihuLlYucHJvbWlzZSk7bi5WLnJlamVjdChFcnJvcigiQ2FuY2VsbGVkIGJ5IGRpc3Bvc2UiKSk7bi5sb2dnZXIuZGlzcG9zZSgpO1Byb21pc2UuYWxsKG4uWCkudGhlbihhc3luYygpPT57bi5XPy5kaXNwb3NlKCk7bi5XPXZvaWQgMH0pOwpuLlg9W107bi5OPy5KKCk7VzIobi5KLnByb21pc2UpO24uSi5yZWplY3QoRXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIikpfTsKTlR0PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4ucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO24uTj8uSigpO2F3YWl0IG4uSi5wcm9taXNlfTsKcDRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5xSjtuLnFKPSgpPT57RCgpO1coKX19OwokaGg9ZnVuY3Rpb24obixXKXtuLnFOKCl8fChuLlc9VyxuLmxvZ2dlci51cGRhdGUoVy5RRCgpKSxuLmoucmVzb2x2ZSgpLG4uVi5yZXNvbHZlKHZvaWQgMCksbi5xSigpKX07CnQxVT1mdW5jdGlvbihuLFcpe1cmJihQcm9taXNlLmFsbChuLlgpLnRoZW4oKCk9PnZvaWQgVy5kaXNwb3NlKCkpLG4uWD1bXSl9OwpKcT1mdW5jdGlvbihuLFcpe24uWT1XO24ub3B0aW9ucy5mUD8uKFcpfTsKbUk9ZnVuY3Rpb24obil7bi5xTigpfHwobi5KLnJlc29sdmUoKSxuLko9bmV3IGcuS1YpfTsKSWk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO0Q9KG5ldyBQcm9taXNlKHY9PntiPXNldFRpbWVvdXQodixXKX0pKS50aGVuKEQpOwpXMihEKTtyZXR1cm4gUHJvbWlzZS5yYWNlKFtuLmZpbmFsbHkoKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGIpKSwKRF0pfTsKWVRVPWZ1bmN0aW9uKG4sVyl7bi5lbmRUaW1lTXM9RGF0ZS5ub3coKStXO24udGljaygpfTsKT2w9ZnVuY3Rpb24obil7bi5OJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUDM9ZnVuY3Rpb24obixXKXt0cnl7cmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShuLFcpLCEwfWNhdGNoKEQpe3JldHVybiExfX07ClpvPWZ1bmN0aW9uKG4sVz0wLEQ9bi5sZW5ndGgsYil7dmFyIHY9MDtmb3IoYiYmKHY9Wm8oYikpO1c8RDtXKyspdj1IcGkoMzEsdikrKHR5cGVvZiBuPT09InN0cmluZyI/bi5jaGFyQ29kZUF0KFcpOm5bV10pfDA7cmV0dXJuIHZ9Owp5aT1mdW5jdGlvbihuKXt2YXIgW1csRF09W1pvKG4sMCxuLmxlbmd0aD4+MSxVbCksWm8obixuLmxlbmd0aD4+MSldO3JldHVybiBXLnRvU3RyaW5nKDE2KStELnRvU3RyaW5nKDE2KX07CkVsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W1pvKFcsMCxXLmxlbmd0aD4+MSx2b2lkIDApLFpvKFcsVy5sZW5ndGg+PjEpXTtuPW5ldyBVaW50MzJBcnJheShuLmJ1ZmZlcik7Vz1uWzBdO3ZhciBbYix2XT1EO2ZvcihEPTE7RDxuLmxlbmd0aDtEKz0yKXt2YXIgaz1XLGg9RCx4PWIsTD12O2ZvcihsZXQgZT0wO2U8MjI7ZSsrKWg9aD4+Pjh8aDw8MjQsaCs9a3wwLGhePXgrMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1oLEw9TD4+Pjh8TDw8MjQsTCs9eHwwLExePWUrMzgyOTMseD14PDwzfHg+Pj4yOSx4Xj1MO2s9W2ssaF07bltEXV49a1swXTtEKzE8bi5sZW5ndGgmJihuW0QrMV1ePWtbMV0pfX07CmZlYj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSg0LShVbC5sZW5ndGgrRC5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2srVWwubGVuZ3RoKzQrRC5sZW5ndGgpLHg9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxMPTA7eC5zZXRVaW50MzIoTCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO0w9TCs0K2s7aC5zZXQoVWwsTCk7TCs9VWwubGVuZ3RoO3guc2V0VWludDMyKEwsdik7aC5zZXQoRCxMKzQpO0VsKGgsYik7cmV0dXJuIG4ucXAoVyxlPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShlKSk/UDMoVyxnLkVBKGgpKT8icyI6InQiOiJpIn07CkpBdz1mdW5jdGlvbihuLFcpe3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShuKTtpZighRClyZXR1cm5bIm0iXTt0cnl7dmFyIGI9bHAoRCk7RWwoYixXKX1jYXRjaCh2KXtyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiYyJdfWZvcihXPTQ7Vzw3JiZiW1ddPT09MDspVysrO2ZvcihEPTA7RDxVbC5sZW5ndGg7RCsrKWlmKGJbVysrXSE9PVVsW0RdKXJldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0obiksWyJkIl07RD0obmV3IERhdGFWaWV3KGIuYnVmZmVyKSkuZ2V0VWludDMyKFcpO3JldHVybiBNYXRoLmZsb29yKERhdGUubm93KCkvMUUzKT49RD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiZSJdKTpbImEiLG5ldyBVaW50OEFycmF5KGIuYnVmZmVyLFcrNCldfTsKSWV3PWZ1bmN0aW9uKG4pe3ZhciBXPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgiaVU1cS0hTzlAJCIpO2lmKCFXKXJldHVybiBuZXcgdW4obik7dmFyIEQ9Vy5zcGxpdCgiLCIpO2lmKEQubGVuZ3RoPDIpcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgiaVU1cS0hTzlAJCIpLG5ldyB1bihuKTtXPUQuc2xpY2UoMSk7Vy5sZW5ndGg9PT0xJiZXWzBdPT09IiImJihXPVtdKTtEPU51bWJlcihEWzBdKTtyZXR1cm4gaXNOYU4oRCl8fEQ8MHx8RD5XLmxlbmd0aD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IHVuKG4pKTpuZXcgdW4obixELFcpfTsKbWh3PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoKXtELT1iO0QtPXY7RF49dj4+PjEzO2ItPXY7Yi09RDtiXj1EPDw4O3YtPUQ7di09Yjt2Xj1iPj4+MTM7RC09YjtELT12O0RePXY+Pj4xMjtiLT12O2ItPUQ7Yl49RDw8MTY7di09RDt2LT1iO3ZePWI+Pj41O0QtPWI7RC09djtEXj12Pj4+MztiLT12O2ItPUQ7Yl49RDw8MTA7di09RDt2LT1iO3ZePWI+Pj4xNX0Kbj1TVHIobik7Zm9yKHZhciBEPTI2NTQ0MzU3NjksYj0yNjU0NDM1NzY5LHY9MzE0MTU5MjY1LGs9bi5sZW5ndGgsaD1rLHg9MDtoPj0xMjtoLT0xMix4Kz0xMilEKz1vaShuLHgpLGIrPW9pKG4seCs0KSx2Kz1vaShuLHgrOCksVygpO3YrPWs7c3dpdGNoKGgpe2Nhc2UgMTE6dis9blt4KzEwXTw8MjQ7Y2FzZSAxMDp2Kz1uW3grOV08PDE2O2Nhc2UgOTp2Kz1uW3grOF08PDg7Y2FzZSA4OmIrPW5beCs3XTw8MjQ7Y2FzZSA3OmIrPW5beCs2XTw8MTY7Y2FzZSA2OmIrPW5beCs1XTw8ODtjYXNlIDU6Yis9blt4KzRdO2Nhc2UgNDpEKz1uW3grM108PDI0O2Nhc2UgMzpEKz1uW3grMl08PDE2O2Nhc2UgMjpEKz1uW3grMV08PDg7Y2FzZSAxOkQrPW5beCswXX1XKCk7cmV0dXJuIEFBUy50b1N0cmluZyh2KX07ClNUcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2gobi5jaGFyQ29kZUF0KEQpKTtyZXR1cm4gV307Cm9pPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5bVyswXSsobltXKzFdPDw4KSsobltXKzJdPDwxNikrKG5bVyszXTw8MjQpfTsKZCQ9ZnVuY3Rpb24obixXKXt2YXIgRD1zZXRUaW1lb3V0KCgpPT57bi5YLnJlc29sdmUoKX0sVyk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KEQpKX07CmxuPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9YCR7VyhuLmVycm9yLm1lc3NhZ2UpfToke1cobi5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtXPUQubGVuZ3RoKzE7RD16SChEKTt2YXIgYj1uZXcgVWludDhBcnJheSg0K0QubGVuZ3RoKTtiLnNldChbNDIsVyYxMjd8MTI4LFc+Pjcsbi5lcnJvci5jb2RlXSk7Yi5zZXQoRCw0KTtyZXR1cm4gYn07CnpIPWZ1bmN0aW9uKG4pe3JldHVybiBnbG9iYWxUaGlzLlRleHRFbmNvZGVyPyhuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKTpMMChuKX07CktXVT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4gaW5zdGFuY2VvZiBmVj9IMyhuLEQsVywxKTpuLlpqKEQpfTsKQjM9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9dm9pZCAwO24uaisrO3ZhciBEPW5ldyBnLktWO24uTzEgaW5zdGFuY2VvZiBUSCYmbi5PMS5YLnB1c2goRC5wcm9taXNlKTtpZihuLlhsKXtsZXQgaz1uZXcgZy5LVjtzZXRUaW1lb3V0KCgpPT52b2lkIGsucmVzb2x2ZSgpKTsKYXdhaXQgay5wcm9taXNlfXZhciBiPW4ubG9nZ2VyLnNoYXJlKCk7dHJ5e24uc3RhdGU9NTtsZXQgaz1bXSxoPWF3YWl0IElpKG4uTzEuc25hcHNob3Qoe3dfOnt9LHRMOmt9KSxuLmtkLnJTLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTUsIk1EQTpUaW1lb3V0IikpKTsKam0obiwiTURBOkRpc3Bvc2VkIik7bGV0IHg9a1swXTtuLnN0YXRlPTY7bGV0IEw9YXdhaXQgSWkoS1dVKG4uVWcsYixoKSxuLmtkLlhVLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTAsIkJXQjpUaW1lb3V0IikpKTsKam0obiwiQldCOkRpc3Bvc2VkIik7bi5zdGF0ZT03O1c9djMoYiwoKT0+e3ZhciBlPU9waShuLEwsRCx4KTtlLlgucHJvbWlzZS50aGVuKCgpPT52b2lkIG4uVigpKTsKcmV0dXJuIGV9LCJpIil9Y2F0Y2goayl7Vz8uZGlzcG9zZSgpOwppZighbi5KKXtsZXQgaD1QZjIobixrKTtELnJlc29sdmUoKTt2YXIgdjtpZih2PW4uTzEgaW5zdGFuY2VvZiBUSCYmbi5qPDIpYTppZihrIGluc3RhbmNlb2YgUUcpdj1rLmNvZGUhPT0zMiYmay5jb2RlIT09MjAmJmsuY29kZSE9PTEwO2Vsc2V7aWYoayBpbnN0YW5jZW9mIENWKXN3aXRjaChrLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6dj0hMTticmVhayBhfXY9ITB9aWYodil7bGV0IHg9c2V0VGltZW91dCgoKT0+dm9pZCBuLlYoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKG4uTj82RTQ6MUUzKSk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHgpKTsKcmV0dXJufW4uSj1ofWIuSihuLk4/MTM6MTQpO24uWC5yZWplY3Qobi5KKTtyZXR1cm59ZmluYWxseXtiLmRpc3Bvc2UoKX1uLnN0YXRlPTg7bi5qPTA7bi5OPy5kaXNwb3NlKCk7bi5OPVc7bi5YLnJlc29sdmUoKX07ClBmMj1mdW5jdGlvbihuLFcpe2lmKCEoVyBpbnN0YW5jZW9mIFFHKSlpZihXIGluc3RhbmNlb2YgQ1Ype2xldCBEPUVycm9yKFcudG9TdHJpbmcoKSk7RC5zdGFjaz1XLnN0YWNrO1c9bmV3IFFHKDExLCJFQkg6RXJyb3IiLEQpfWVsc2UgVz1uZXcgUUcoMTIsIkJTTzpVbmtub3duIixXKTtyZXR1cm4gbi5yZXBvcnRFcnJvcihXKX07CmptPWZ1bmN0aW9uKG4sVyl7aWYobi5xTigpKXRocm93IG5ldyBRRyhuLk4/MjA6MzIsVyk7fTsKT3BpPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSh1NChpVyhXLDIpKT8/MCkqMUUzO2lmKHY8PTApdGhyb3cgbmV3IFFHKDMxLCJUVE06SW52YWxpZCIpO2lmKFk5KFcsNCkpcmV0dXJuIG5ldyBacHQobi5sb2dnZXIsWTkoVyw0KSx2KTtpZighKHU0KGlXKFcsMykpPz8wKSlyZXR1cm4gbmV3IFVoaihuLmxvZ2dlcixWbChSeihXLDEpKSx2KTtpZighYil0aHJvdyBuZXcgUUcoNCwiUE1EOlVuZGVmaW5lZCIpO2I9YihWbChSeihXLDEpKSk7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iKXRocm93IG5ldyBRRygxNiwiQVBGOkZhaWxlZCIpO24uSz1NYXRoLmZsb29yKChEYXRlLm5vdygpK3YpLzFFMyk7bj1uZXcgRjYobi5sb2dnZXIsYix1NChpVyhXLDMpKT8/MCx2KTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIEQucmVzb2x2ZSgpKTsKcmV0dXJuIG59OwpNdj1mdW5jdGlvbihuLFcsRCl7dHJ5e2lmKG4ucU4oKSl0aHJvdyBuZXcgUUcoMjEsIkJOVDpkaXNwb3NlZCIpO2lmKCFuLk4mJm4uSil0aHJvdyBuLko7cmV0dXJuIHlBMShuLFcsRCk/P0VsaShuLFcsRCk/P2lwcihuLFcsRCl9Y2F0Y2goYil7aWYoIVcuRVIpdGhyb3cgdyQobixiKTtyZXR1cm4gdU1aKG4sRCxiKX19Owp3JD1mdW5jdGlvbihuLFcpe1c9VyBpbnN0YW5jZW9mIFFHP1c6bmV3IFFHKDUsIlRWRDplcnJvciIsVyk7cmV0dXJuIG4ucmVwb3J0RXJyb3IoVyl9Owp5QTE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLk4/LkZwKCgpPT5SaShuLFcpLEQsYj0+e2lmKG4uTiBpbnN0YW5jZW9mIEY2JiZXLmhHPy5yMyl0cnl7bi5jYWNoZT8uTihSaShuLFcpLGIsVy5oRy5hbSxuLkstMTIwKX1jYXRjaCh2KXtuLnJlcG9ydEVycm9yKG5ldyBRRygyNCwiRUxYOndyaXRlIix2KSl9fSl9OwpFbGk9ZnVuY3Rpb24obixXLEQpe2lmKFcuaEc/LkFCKXRyeXtsZXQgYj1uLmNhY2hlPy5KKFJpKG4sVyksVy5oRy5hbSk7cmV0dXJuIGI/RD92MyhuLmxvZ2dlciwoKT0+Zy5FQShiLDIpLCJhIik6Yjp2b2lkIDB9Y2F0Y2goYil7bi5yZXBvcnRFcnJvcihuZXcgUUcoMjMsIlJYTzpyZWFkIixiKSl9fTsKaXByPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7aWYoIVcuR3IpdGhyb3cgbmV3IFFHKDI5LCJTREY6bm90cmVhZHkiKTtyZXR1cm4gemIoYixuZXcgUWkobi5sb2dnZXIsMCxuLnN0YXRlKSkuRnAoKCk9PlJpKG4sVyksRCl9Y2F0Y2godil7Yi5lcnJvcj12LGIuaGFzRXJyb3I9ITB9ZmluYWxseXtseChiKX19Owp1TVo9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgdj13JChuLEQpO3JldHVybiB6YihiLG5ldyBvbHcobi5sb2dnZXIsdikpLkZwKCgpPT5bXSxXKX1jYXRjaCh2KXtiLmVycm9yPXYsYi5oYXNFcnJvcj0hMH1maW5hbGx5e2x4KGIpfX07ClJpPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcueEM/Vy54QzpXLndfP3YzKG4ubG9nZ2VyLCgpPT5XLnhDPXpIKFcud18pLCJjIik6W119OwpuVz1mdW5jdGlvbigpe3ZhciBuPTAsVztyZXR1cm4gRD0+e1d8fChXPW5ldyB4WSk7dmFyIGI9bmV3IFFpKFcsbiwxKSx2PWIuRnAoKCk9PnpIKEQpLCEwKTsKYi5kaXNwb3NlKCk7bisrO3JldHVybiB2fX07CmcuV1k9ZnVuY3Rpb24obixXKXtpZihuKWZvcihsZXQgRCBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLEQpJiZXKG5bRF0sRCxuKX07CnpIaT1mdW5jdGlvbigpe3ZhciBuPVtdO2cuV1koZGhaLFc9PntuLnB1c2goVyl9KTsKcmV0dXJuIG59OwpUVHI9ZnVuY3Rpb24oKXt2YXIgbj1nLkRhKCJJRlJBTUUiKSxXPXt9O2cueTIobGVTKCksRD0+e24uc2FuZGJveCYmbi5zYW5kYm94LnN1cHBvcnRzJiZuLnNhbmRib3guc3VwcG9ydHMoRCkmJihXW0RdPSEwKX0pOwpyZXR1cm4gV307CmcuRGE9ZnVuY3Rpb24obixXPWRvY3VtZW50KXtyZXR1cm4gVy5jcmVhdGVFbGVtZW50KFN0cmluZyhuKS50b0xvd2VyQ2FzZSgpKX07CmcuYnI9ZnVuY3Rpb24obixXLEQsYil7dGhpcy5sZWZ0PW47dGhpcy50b3A9Vzt0aGlzLndpZHRoPUQ7dGhpcy5oZWlnaHQ9Yn07CnZZPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49PVc/ITA6biYmVz9uLmxlZnQ9PVcubGVmdCYmbi53aWR0aD09Vy53aWR0aCYmbi50b3A9PVcudG9wJiZuLmhlaWdodD09Vy5oZWlnaHQ6ITF9OwpnLmgxPWZ1bmN0aW9uKG4sVyxEKXtpZih0eXBlb2YgVz09PSJzdHJpbmciKWtxKG4sRCxXKTtlbHNlIGZvcihsZXQgYiBpbiBXKWtxKG4sV1tiXSxiKX07CmtxPWZ1bmN0aW9uKG4sVyxEKXsoRD14cShuLEQpKSYmKGpQQy50ZXN0KEQpP24uc3R5bGUuc2V0UHJvcGVydHkoRCxXKTpuLnN0eWxlW0RdPVcpfTsKeHE9ZnVuY3Rpb24obixXKXt2YXIgRD1MV1tXXTtpZighRCl7dmFyIGI9cHAoVyk7RD1iO24uc3R5bGVbYl09PT12b2lkIDAmJihiPShnLlpsPyJXZWJraXQiOmcuZVM/Ik1veiI6bnVsbCkrSTFpKGIpLG4uc3R5bGVbYl0hPT12b2lkIDAmJihEPWIpKTtMV1tXXT1EfXJldHVybiBEfTsKZy5naD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc3R5bGVbcHAoVyldO3JldHVybiB0eXBlb2YgRCE9PSJ1bmRlZmluZWQiP0Q6bi5zdHlsZVt4cShuLFcpXXx8IiJ9OwpYbT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuSksobik7cmV0dXJuIEQuZGVmYXVsdFZpZXcmJkQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSYmKG49RC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKG4sbnVsbCkpP25bV118fG4uZ2V0UHJvcGVydHlWYWx1ZShXKXx8IiI6IiJ9OwpxdD1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goVyl7cmV0dXJue2xlZnQ6MCx0b3A6MCxyaWdodDowLGJvdHRvbTowfX19OwpnLkdOPWZ1bmN0aW9uKG4pe3ZhciBXPWcuSksobiksRD1uZXcgZy5NWSgwLDApO2lmKG49PShXP2cuSksoVyk6ZG9jdW1lbnQpLmRvY3VtZW50RWxlbWVudClyZXR1cm4gRDtuPXF0KG4pO1c9Zy5TcChXKTtXPWcuRTAoVy5OKTtELng9bi5sZWZ0K1cueDtELnk9bi50b3ArVy55O3JldHVybiBEfTsKZy4kcT1mdW5jdGlvbihuLFcpe249dDEobik7Vz10MShXKTtyZXR1cm4gbmV3IGcuTVkobi54LVcueCxuLnktVy55KX07Cmcucmg9ZnVuY3Rpb24obil7bj1xdChuKTtyZXR1cm4gbmV3IGcuTVkobi5sZWZ0LG4udG9wKX07CnQxPWZ1bmN0aW9uKG4pe2lmKG4ubm9kZVR5cGU9PTEpcmV0dXJuIGcucmgobik7bj1uLmNoYW5nZWRUb3VjaGVzP24uY2hhbmdlZFRvdWNoZXNbMF06bjtyZXR1cm4gbmV3IGcuTVkobi5jbGllbnRYLG4uY2xpZW50WSl9OwpOdD1mdW5jdGlvbihuLFcpe2lmKFcgaW5zdGFuY2VvZiBnLlFlKXt2YXIgRD1XLmhlaWdodDtXPVcud2lkdGh9ZWxzZSB0aHJvdyBFcnJvcigibWlzc2luZyBoZWlnaHQgYXJndW1lbnQiKTtuLnN0eWxlLndpZHRoPXNqKFcsITApO24uc3R5bGUuaGVpZ2h0PXNqKEQsITApfTsKc2o9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09Im51bWJlciImJihuPShXP01hdGgucm91bmQobik6bikrInB4Iik7cmV0dXJuIG59OwpnLnBXPWZ1bmN0aW9uKG4pe3ZhciBXPUNmMSxEOyhEPVhtKG4sImRpc3BsYXkiKSl8fChEPW4uY3VycmVudFN0eWxlP24uY3VycmVudFN0eWxlLmRpc3BsYXk6bnVsbCk7aWYoKER8fG4uc3R5bGUmJm4uc3R5bGUuZGlzcGxheSkhPSJub25lIilyZXR1cm4gVyhuKTtEPW4uc3R5bGU7dmFyIGI9RC5kaXNwbGF5LHY9RC52aXNpYmlsaXR5LGs9RC5wb3NpdGlvbjtELnZpc2liaWxpdHk9ImhpZGRlbiI7RC5wb3NpdGlvbj0iYWJzb2x1dGUiO0QuZGlzcGxheT0iaW5saW5lIjtuPVcobik7RC5kaXNwbGF5PWI7RC5wb3NpdGlvbj1rO0QudmlzaWJpbGl0eT12O3JldHVybiBufTsKQ2YxPWZ1bmN0aW9uKG4pe3ZhciBXPW4ub2Zmc2V0V2lkdGgsRD1uLm9mZnNldEhlaWdodCxiPWcuWmwmJiFXJiYhRDtyZXR1cm4oVz09PXZvaWQgMHx8YikmJm4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0PyhuPXF0KG4pLG5ldyBnLlFlKG4ucmlnaHQtbi5sZWZ0LG4uYm90dG9tLW4udG9wKSk6bmV3IGcuUWUoVyxEKX07CkZXWj1mdW5jdGlvbihuLFc9e30pe3JldHVybiBuZXcgQlR0KG4sVyl9Owp3NHI9ZnVuY3Rpb24obil7bi5WLnhWKCJkYXRhIixXPT57aWYoIjEiaW4gVyl7dmFyIEQ9V1siMSJdO2xldCBiO3RyeXtiPW4uSyhEKX1jYXRjaCh2KXtZcShuLG5ldyBDVigxMyxgRXJyb3Igd2hlbiBkZXNlcmlhbGl6aW5nIHJlc3BvbnNlIGRhdGE7IGVycm9yOiAke3Z9LCByZXNwb25zZTogJHtEfWApKX1iJiZIWShuLGIpfWlmKCIyImluIFcpZm9yKFc9ZlcobixXWyIyIl0pLEQ9MDtEPG4uai5sZW5ndGg7RCsrKW4ualtEXShXKX0pOwpuLlYueFYoImVuZCIsKCk9PntKMShuLElzKG4pKTtmb3IobGV0IFc9MDtXPG4uVy5sZW5ndGg7VysrKW4uV1tXXSgpfSk7Cm4uVi54VigiZXJyb3IiLCgpPT57aWYobi5OLmxlbmd0aCE9PTApe3ZhciBXPW4ueGhyLlc7VyE9PTB8fG4ueGhyLmlzU3VjY2VzcygpfHwoVz02KTt2YXIgRD0tMTtzd2l0Y2goVyl7Y2FzZSAwOnZhciBiPTI7YnJlYWs7Y2FzZSA3OmI9MTA7YnJlYWs7Y2FzZSA4OmI9NDticmVhaztjYXNlIDY6RD1uLnhoci5nZXRTdGF0dXMoKTtiPXozKEQpO2JyZWFrO2RlZmF1bHQ6Yj0xNH1KMShuLElzKG4pKTtXPVJCYihXKSsiLCBlcnJvcjogIituLnhoci5nZXRMYXN0RXJyb3IoKTtEIT09LTEmJihXKz1gLCBodHRwIHN0YXR1cyBjb2RlOiAke0R9YCk7WXEobixuZXcgQ1YoYixXKSl9fSl9OwpZcT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5OLmxlbmd0aDtEKyspbi5OW0RdKFcpfTsKSjE9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQ9MDtEPG4uWC5sZW5ndGg7RCsrKW4uWFtEXShXKX07CklzPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9Vmp0KG4ueGhyKTtPYmplY3Qua2V5cyhEKS5mb3JFYWNoKGI9PntXW2JdPURbYl19KTsKcmV0dXJuIFd9OwpIWT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5KLmxlbmd0aDtEKyspbi5KW0RdKFcpfTsKZlc9ZnVuY3Rpb24obixXKXt2YXIgRD0yLGI9e307dHJ5e2xldCBrO2s9TTFiKFcpO0Q9YVAoaywxKTt2YXIgdj1rLmdldE1lc3NhZ2UoKTtWRyhrLFJIaSwzKS5sZW5ndGgmJihiWyJncnBjLXdlYi1zdGF0dXMtZGV0YWlscy1iaW4iXT1XKX1jYXRjaChrKXtuLnhociYmbi54aHIuZ2V0U3RhdHVzKCk9PT00MDQ/KEQ9NSx2PSJOb3QgRm91bmQ6ICIrU3RyaW5nKG4ueGhyLkspKTooRD0xNCx2PWBVbmFibGUgdG8gcGFyc2UgUnBjU3RhdHVzOiAke2t9YCl9cmV0dXJue2NvZGU6RCxkZXRhaWxzOnYsbWV0YWRhdGE6Yn19OwpWMVU9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgUVBTO0FIKG4ueGhyLCJjb21wbGV0ZSIsKCk9PntpZihuLnhoci5pc1N1Y2Nlc3MoKSl7dmFyIGI9VzMobi54aHIpO2lmKFcmJm4ueGhyLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKT09PSJ0ZXh0L3BsYWluIil7aWYoIWF0b2IpdGhyb3cgRXJyb3IoIkNhbm5vdCBkZWNvZGUgQmFzZTY0IHJlc3BvbnNlIik7Yj1hdG9iKGIpfXRyeXt2YXIgdj1uLksoYil9Y2F0Y2goaCl7WXEobixTUyhuZXcgQ1YoMTMsYEVycm9yIHdoZW4gZGVzZXJpYWxpemluZyByZXNwb25zZSBkYXRhOyBlcnJvcjogJHtofSwgcmVzcG9uc2U6ICR7Yn1gKSxEKSk7cmV0dXJufWI9ejMobi54aHIuZ2V0U3RhdHVzKCkpO0oxKG4sSXMobikpO2I9PT0wP0hZKG4sdik6WXEobixTUyhuZXcgQ1YoYiwiWGhyIHN1Y2NlZWRlZCBidXQgdGhlIHN0YXR1cyBjb2RlIGlzIG5vdCAyMDAiKSxEKSl9ZWxzZXtiPVczKG4ueGhyKTtsZXQgaDt2PUlzKG4pO2lmKGIpe3ZhciBrPQpmVyhuLGIpO2I9ay5jb2RlO2g9ay5kZXRhaWxzO2s9ay5tZXRhZGF0YX1lbHNlIGI9MixoPWBScGMgZmFpbGVkIGR1ZSB0byB4aHIgZXJyb3IuIHVyaTogJHtTdHJpbmcobi54aHIuSyl9LCBlcnJvciBjb2RlOiAke24ueGhyLld9LCBlcnJvcjogJHtuLnhoci5nZXRMYXN0RXJyb3IoKX1gLGs9djtKMShuLHYpO1lxKG4sU1MobmV3IENWKGIsaCxrKSxEKSl9fSl9OwpBMT1mdW5jdGlvbihuLFcpe1c9bi5pbmRleE9mKFcpO1c+LTEmJm4uc3BsaWNlKFcsMSl9OwpTUz1mdW5jdGlvbihuLFcpe1cuc3RhY2smJihuLnN0YWNrKz0iXG4iK1cuc3RhY2spO3JldHVybiBufTsKbUc9ZnVuY3Rpb24obil7dGhpcy5YPW4uWTZ8fG51bGw7dGhpcy5XPW4uWUJ8fCExO3RoaXMuSj12b2lkIDB9OwpLVz1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLnR3PW47dGhpcy5WPVc7dGhpcy5qPXZvaWQgMDt0aGlzLnN0YXR1cz10aGlzLnJlYWR5U3RhdGU9MDt0aGlzLnJlc3BvbnNlVHlwZT10aGlzLnJlc3BvbnNlVGV4dD10aGlzLnJlc3BvbnNlPXRoaXMuc3RhdHVzVGV4dD0iIjt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLko9bnVsbDt0aGlzLmNKPSJHRVQiO3RoaXMuTz0iIjt0aGlzLk49ITE7dGhpcy5LPXRoaXMuVz10aGlzLlg9bnVsbDt0aGlzLlk9bmV3IEFib3J0Q29udHJvbGxlcn07Ck9qPWZ1bmN0aW9uKG4pe24uVy5yZWFkKCkudGhlbihuLmxFLmJpbmQobikpLmNhdGNoKG4uRFAuYmluZChuKSl9OwpaYT1mdW5jdGlvbihuKXtuLnJlYWR5U3RhdGU9NDtuLlg9bnVsbDtuLlc9bnVsbDtuLks9bnVsbDtQWShuKX07ClBZPWZ1bmN0aW9uKG4pe24ub25yZWFkeXN0YXRlY2hhbmdlJiZuLm9ucmVhZHlzdGF0ZWNoYW5nZS5jYWxsKG4pfTsKY0FVPWZ1bmN0aW9uKG4pe2lmKG4uejcmJnR5cGVvZiBuLno3PT0iZnVuY3Rpb24iKXJldHVybiBuLno3KCk7aWYodHlwZW9mIE1hcCE9PSJ1bmRlZmluZWQiJiZuIGluc3RhbmNlb2YgTWFwfHx0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20obi52YWx1ZXMoKSk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbi5zcGxpdCgiIik7aWYoZy5ZMihuKSl7bGV0IFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdKTtyZXR1cm4gV31yZXR1cm4gaEsobil9OwphZWg9ZnVuY3Rpb24obil7aWYobi51QiYmdHlwZW9mIG4udUI9PSJmdW5jdGlvbiIpcmV0dXJuIG4udUIoKTtpZighbi56N3x8dHlwZW9mIG4uejchPSJmdW5jdGlvbiIpe2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gQXJyYXkuZnJvbShuLmtleXMoKSk7aWYoISh0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpKXtpZihnLlkyKG4pfHx0eXBlb2Ygbj09PSJzdHJpbmciKXtsZXQgVz1bXTtuPW4ubGVuZ3RoO2ZvcihsZXQgRD0wO0Q8bjtEKyspVy5wdXNoKEQpO3JldHVybiBXfXJldHVybiBnLkxUKG4pfX19OwpuS2k9ZnVuY3Rpb24obixXLEQpe2lmKG4uZm9yRWFjaCYmdHlwZW9mIG4uZm9yRWFjaD09ImZ1bmN0aW9uIiluLmZvckVhY2goVyxEKTtlbHNlIGlmKGcuWTIobil8fHR5cGVvZiBuPT09InN0cmluZyIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChuLFcsRCk7ZWxzZXtsZXQgYj1hZWgobiksdj1jQVUobiksaz12Lmxlbmd0aDtmb3IobGV0IGg9MDtoPGs7aCsrKVcuY2FsbChELHZbaF0sYiYmYltoXSxuKX19OwpnLlVqPWZ1bmN0aW9uKG4pe3RoaXMuTj10aGlzLlk9dGhpcy5YPSIiO3RoaXMuVj1udWxsO3RoaXMuaj10aGlzLko9IiI7dGhpcy5LPSExO3ZhciBXO24gaW5zdGFuY2VvZiBnLlVqPyh0aGlzLks9bi5LLHlOKHRoaXMsbi5YKSx0aGlzLlk9bi5ZLEVqKHRoaXMsbi5OKSxpcih0aGlzLG4uViksdGhpcy5KPW4uSix1cih0aGlzLG4uVy5jbG9uZSgpKSx0aGlzLmo9bi5qKTpuJiYoVz1nLmZwKFN0cmluZyhuKSkpPyh0aGlzLks9ITEseU4odGhpcyxXWzFdfHwiIiwhMCksdGhpcy5ZPW9zKFdbMl18fCIiKSxFaih0aGlzLFdbM118fCIiLCEwKSxpcih0aGlzLFdbNF0pLHRoaXMuSj1vcyhXWzVdfHwiIiwhMCksdXIodGhpcyxXWzZdfHwiIiwhMCksdGhpcy5qPW9zKFdbN118fCIiKSk6KHRoaXMuSz0hMSx0aGlzLlc9bmV3IGRoKG51bGwsdGhpcy5LKSl9Owp5Tj1mdW5jdGlvbihuLFcsRCl7bi5YPUQ/b3MoVywhMCk6VztuLlgmJihuLlg9bi5YLnJlcGxhY2UoLzokLywiIikpfTsKRWo9ZnVuY3Rpb24obixXLEQpe24uTj1EP29zKFcsITApOld9Owppcj1mdW5jdGlvbihuLFcpe2lmKFcpe1c9TnVtYmVyKFcpO2lmKGlzTmFOKFcpfHxXPDApdGhyb3cgRXJyb3IoIkJhZCBwb3J0IG51bWJlciAiK1cpO24uVj1XfWVsc2Ugbi5WPW51bGx9Owp1cj1mdW5jdGlvbihuLFcsRCl7VyBpbnN0YW5jZW9mIGRoPyhuLlc9VyxXeGgobi5XLG4uSykpOihEfHwoVz16TihXLER4UykpLG4uVz1uZXcgZGgoVyxuLkspKX07CmxyPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5Vaj9uLmNsb25lKCk6bmV3IGcuVWoobil9Owpvcz1mdW5jdGlvbihuLFcpe3JldHVybiBuP1c/ZGVjb2RlVVJJKG4ucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChuKToiIn07CnpOPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIj8obj1lbmNvZGVVUkkobikucmVwbGFjZShXLGIweCksRCYmKG49bi5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxuKTpudWxsfTsKYjB4PWZ1bmN0aW9uKG4pe249bi5jaGFyQ29kZUF0KDApO3JldHVybiIlIisobj4+NCYxNSkudG9TdHJpbmcoMTYpKyhuJjE1KS50b1N0cmluZygxNil9OwpkaD1mdW5jdGlvbihuLFcpe3RoaXMuSj10aGlzLk49bnVsbDt0aGlzLlc9bnx8bnVsbDt0aGlzLlg9ISFXfTsKVE49ZnVuY3Rpb24obil7bi5OfHwobi5OPW5ldyBNYXAsbi5KPTAsbi5XJiZnLk9UKG4uVyxmdW5jdGlvbihXLEQpe24uYWRkKEc1KFcpLEQpfSkpfTsKQ1c9ZnVuY3Rpb24obixXKXtUTihuKTtXPWpTKG4sVyk7cmV0dXJuIG4uTi5oYXMoVyl9OwpqUz1mdW5jdGlvbihuLFcpe1c9U3RyaW5nKFcpO24uWCYmKFc9Vy50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gV307Cld4aD1mdW5jdGlvbihuLFcpe1cmJiFuLlgmJihUTihuKSxuLlc9bnVsbCxuLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe3ZhciB2PWIudG9Mb3dlckNhc2UoKTtiIT12JiYodGhpcy5yZW1vdmUoYiksdGhpcy5yZW1vdmUodiksRC5sZW5ndGg+MCYmKHRoaXMuVz1udWxsLHRoaXMuTi5zZXQoalModGhpcyx2KSxnLlJNKEQpKSx0aGlzLko9dGhpcy5KK0QubGVuZ3RoKSl9LG4pKTsKbi5YPVd9Owp2S2I9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zy5hXyhuLGZ1bmN0aW9uKEQsYil7Vys9YjtXKz0iOiI7Vys9RDtXKz0iXHJcbiJ9KTsKcmV0dXJuIFd9OwpCWT1mdW5jdGlvbihuKXtnLkZNLmNhbGwodGhpcyk7dGhpcy5KPW47dGhpcy5OPXt9fTsKRm09ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKEFycmF5LmlzQXJyYXkoRCkpZm9yKGxldCBoPTA7aDxELmxlbmd0aDtoKyspRm0obixXLERbaF0sYix2LGspO2Vsc2V7Vz1TZyhXLEQsYnx8bi5oYW5kbGVFdmVudCx2LGt8fG4uSnx8bik7aWYoIVcpcmV0dXJuIG47bi5OW1cua2V5XT1XfXJldHVybiBufTsKd2g9ZnVuY3Rpb24obixXLEQpe24uVz0hMTt0aHJvdyBFcnJvcigiVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVyk7fTsKTXQ9ZnVuY3Rpb24oKXt0aGlzLlY9bnVsbDt0aGlzLks9W107dGhpcy5YPXRoaXMuSj10aGlzLlc9dGhpcy5OPXRoaXMuRD0wO3RoaXMuaj1udWxsO3RoaXMuWT0wfTsKUnM9ZnVuY3Rpb24obixXLEQsYil7bi5OPTM7bi5WPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIituLkQrIi8iK0QrIi4gRXJyb3I6ICIrYisiLiBXaXRoIGlucHV0OlxuIitXO3Rocm93IEVycm9yKG4uVik7fTsKUU49ZnVuY3Rpb24oKXt0aGlzLk49bnVsbDt0aGlzLko9MDt0aGlzLlc9bmV3IGtoUzt0aGlzLlg9bmV3IE10fTsKVk49ZnVuY3Rpb24obixXLEQpe24uTj0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVzt0aHJvdyBFcnJvcihuLk4pO307CmNZPWZ1bmN0aW9uKG4pe3JldHVybiBuPT0iXHIifHxuPT0iXG4ifHxuPT0iICJ8fG49PSJcdCJ9Owphcz1mdW5jdGlvbihuKXt0aGlzLkQ9bnVsbDt0aGlzLlY9W107dGhpcy5YPSIiO3RoaXMuY0o9W107dGhpcy5XPXRoaXMuSj0wO3RoaXMuSz0hMTt0aGlzLlk9MDt0aGlzLnR3PS9bXFwiXS9nO3RoaXMuTj10aGlzLmo9MDt0aGlzLk89ISghbnx8IW4uWkgpfTsKbl89ZnVuY3Rpb24obixXLEQpe24uaj0zO24uRD0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5XKyIvIitEKyIuIFdpdGggaW5wdXQ6XG4iK1c7dGhyb3cgRXJyb3Iobi5EKTt9OwpXSz1mdW5jdGlvbigpe3RoaXMuaj10aGlzLlc9bnVsbDt0aGlzLko9dGhpcy5OPTA7dGhpcy5YPVtdO3RoaXMuVj0hMX07CmhDeD1mdW5jdGlvbihuKXt2YXIgVz1uLk4/bi5OLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKTpudWxsO2lmKCFXKXJldHVybiBudWxsO1c9Vy50b0xvd2VyQ2FzZSgpO3JldHVybiBXLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24iKT9XLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiKT9uZXcgV0s6bmV3IGFzOlcuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24veC1wcm90b2J1ZiIpPyhuPW4uTj9uLk4uZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmciKTpudWxsKT9uLnRvTG93ZXJDYXNlKCk9PSJiYXNlNjQiP25ldyBRTjpudWxsOm5ldyBNdDpudWxsfTsKRGk9ZnVuY3Rpb24obixXKXtuLmohPVcmJihuLmo9VyxuLksmJm4uSygpKX07CmJIPWZ1bmN0aW9uKG4pe24uWS5UaSgpO2lmKG4uTil7bGV0IFc9bi5OO24uTj1udWxsO1cuYWJvcnQoKTtXLmRpc3Bvc2UoKX19Owp2Sz1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXtsZXQgYj1uW0RdO1cuZm9yRWFjaChmdW5jdGlvbih2KXt0cnl7dihiKX1jYXRjaChrKXt9fSl9fTsKa3Q9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkpbV107RCYmRC5mb3JFYWNoKGZ1bmN0aW9uKGIpe3RyeXtiKCl9Y2F0Y2godil7fX0pOwooRD1uLk5bV10pJiZELmZvckVhY2goZnVuY3Rpb24oYil7YigpfSk7Cm4uTltXXT1bXX07Cnh4aj1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07Ckx4aT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07CmVDVT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5sMCx2PVcuZ2V0TWV0YWRhdGEoKSxrPWhhKG4sITApO249eHQobix2LGssRCtiLmdldE5hbWUoKSk7RD1MXyhrLGIuVywhMSk7VjFVKEQsdlsiWC1Hb29nLUVuY29kZS1SZXNwb25zZS1JZi1FeGVjdXRhYmxlIl09PT0iYmFzZTY0Iik7Vz1iLk4oVy5mdik7ay5zZW5kKG4sIlBPU1QiLFcpO3JldHVybiBEfTsKZ0t0PWZ1bmN0aW9uKG4sVyxELGIsdixrPXt9KXt2YXIgaD1XLnN1YnN0cmluZygwLFcubGVuZ3RoLXYubmFtZS5sZW5ndGgpLHg9az8uc2lnbmFsO3JldHVybiBMeGkoTD0+bmV3IFByb21pc2UoKGUsRyk9PntpZih4Py5hYm9ydGVkKXtsZXQgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX1lbHNle3ZhciByPXt9LE49ZUNVKG4sTCxoKTtOLnhWKCJlcnJvciIsSD0+dm9pZCBHKEgpKTsKTi54VigibWV0YWRhdGEiLEg9PntyPUh9KTsKTi54VigiZGF0YSIsSD0+e2UoRldaKEgscikpfSk7CngmJnguYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57Ti5jYW5jZWwoKTt2YXIgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX0pfX0pLG4uRk4pLmNhbGwobix2LkooRCxiKSkudGhlbihMPT5MLlB6KX07ClhkPWZ1bmN0aW9uKG4sVz0hMSl7ZVgoMjgsNzIzMSxuKTtpZihuW0lbMjhdXSE9PUlbMTVdKXt2YXIgRD1uW0lbOF1dKCk7RFtJWzM0XV0oSVszMl0sSVs0MF0pO3JldHVybiBEfXZhciBiPW5bSVs3Ml1dKCk7RD1uZXcgZy5VaihiKTt2YXIgdj1uW0lbMzNdXShJWzcwXSksaz1NMygxNiw0MjYyLG5bSVszM11dKElbNzRdKXx8SVsyMV0pW0lbMzZdXShJWzQ3XSk7aWYodiYmayYma1tJWzVdXT4xJiZrWzFdKXJldHVybiBiPUQuTixuPWJbSVs4MV1dKC9eW14uXSovLElbMjFdKSxFaihELGAke2JbSVsxOF1dKElbNDRdKT09PTA/SVs0NF06SVs4MF19JHt2fS0tLSR7a1sxXX0ke259YCksRD1uZXcgZy53WihEW0lbMF1dKCkpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO2lmKFcpcmV0dXJuIEQ9bltJWzhdXSgpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO3Y9RC5OW0lbNl1dKElbNTZdKTtELk5bSVs2XV0oSVsyN10pPyhFaihELElbODJdKSxiPURbSVswXV0oKSk6RC5OW0lbNl1dKElbNTJdKT8KKEVqKEQsSVsxOV0pLGI9RFtJWzBdXSgpKTooRD1lQShiKSxnWChEKSYmKGI9RCkpO0Q9bmV3IGcud1ooYik7RFtJWzM0XV0oSVs3OV0sSVs0MF0pO3YmJkRbSVszNF1dKElbMl0sSVs3MV0pO3JldHVybiBEfTsKWVk9ZnVuY3Rpb24obixXLEQsYix2LGs9e30pe3JldHVybiBnS3QobixXLEQsYix2LGspfTsKaGE9ZnVuY3Rpb24obixXKXtXPW4uTiYmIVc7cmV0dXJuIG4uU258fFc/bmV3IHdwKG5ldyBtRyh7WTY6bi5TbixZQjpXfSkpOm5ldyB3cH07Cnh0PWZ1bmN0aW9uKG4sVyxELGIpe1dbIkNvbnRlbnQtVHlwZSJdPSJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmIjtXWyJYLVVzZXItQWdlbnQiXT0iZ3JwYy13ZWItamF2YXNjcmlwdC8wLjEiO3ZhciB2PVcuQXV0aG9yaXphdGlvbjtpZih2JiZYMnIuaGFzKHYuc3BsaXQoIiAiKVswXSl8fG4ud2l0aENyZWRlbnRpYWxzKUQuTz0hMDtpZihuLllPKW49YixnLkdGKFcpP2I9bjooVz12S2IoVyksdHlwZW9mIG49PT0ic3RyaW5nIj9iPWcudWYobixxaCgiJGh0dHBIZWFkZXJzIiksVyk6KG4uVy5zZXQoIiRodHRwSGVhZGVycyIsVyksYj1uKSk7ZWxzZSBmb3IobGV0IGsgb2YgT2JqZWN0LmtleXMoVykpRC5oZWFkZXJzLnNldChrLFdba10pO3JldHVybiBifTsKTF89ZnVuY3Rpb24obixXLEQpe2lmKEQpe24uaXNBY3RpdmUoKTtEPW5ldyBxQXQobik7dmFyIGI9bmV3IEdoaShEKX1yZXR1cm4gbmV3IHR1MSh7eGhyOm4sTUU6Yn0sVyl9Owpxdz1mdW5jdGlvbigpe3RoaXMuTj1uZXcgJHhoO3RoaXMuSj0iaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20iLnJlcGxhY2UoL1wvKyQvLCIiKX07CmcuR0s9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5yZXBsYWNlKHI0MixmdW5jdGlvbihELGIpe3RyeXtsZXQgdj1nLiR5KFcsYik7aWYodj09bnVsbHx8di50b1N0cmluZygpPT1udWxsKXJldHVybiBEO3Y9di50b1N0cmluZygpO2lmKHY9PSIifHwhZy5GaChnLnJUKHYpKSlyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHYpLnJlcGxhY2UoLyUyQy9nLCIsIil9Y2F0Y2godil7fXJldHVybiBEfSl9OwpzMnc9ZnVuY3Rpb24oKXt2YXIgbj10YTskdC5pbnN0YW5jZXx8KCR0Lmluc3RhbmNlPW5ldyAkdChuKSk7cmV0dXJuICR0Lmluc3RhbmNlfTsKclg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5XP24uVzpuLlc9bmV3IFByb21pc2UoYXN5bmMgRD0+e3ZhciBiPXdpbmRvdy5BYm9ydENvbnRyb2xsZXI/bmV3IHdpbmRvdy5BYm9ydENvbnRyb2xsZXI6dm9pZCAwLHY9Yj8uc2lnbmFsLGs9ITE7dHJ5e2ImJihuLk49bi5BJC5MUygoKT0+e2IuYWJvcnQoKX0sV3x8MkU0KSksYXdhaXQgZmV0Y2goIi9nZW5lcmF0ZV8yMDQiLHttZXRob2Q6IkhFQUQiLApzaWduYWw6dn0pLGs9ITB9Y2F0Y2h7az0hMX1maW5hbGx5e24uVz12b2lkIDAsbi5OJiYobi5BJC5zTyhuLk4pLG4uTj0wKSxrIT09bi5pc09ubGluZSYmKG4uaXNPbmxpbmU9ayxuLmlzT25saW5lP24uZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTpuLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxEKGspfX0pfTsKTldoPWZ1bmN0aW9uKG4pe24uTj09PS0xJiYobi5OPW4uZGF0YS5yZWR1Y2UoKFcsRCxiKT0+VysoRD8yKipiOjApLDApKTsKcmV0dXJuIG4uTn07Cmcuc0k9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4mJlchPT1udWxsJiZXIT1XLnRvcCl7aWYoIVcudG9wKXJldHVybiBuZXcgZy5RZSgtMTIyNDU5MzMsLTEyMjQ1OTMzKTtXPVcudG9wfXRyeXtpZihEKXZhciBiPShuZXcgZy5RZShXLmlubmVyV2lkdGgsVy5pbm5lckhlaWdodCkpLnJvdW5kKCk7ZWxzZXtsZXQgdj0oV3x8d2luZG93KS5kb2N1bWVudCxrPXYuY29tcGF0TW9kZT09IkNTUzFDb21wYXQiP3YuZG9jdW1lbnRFbGVtZW50OnYuYm9keTtiPShuZXcgZy5RZShrLmNsaWVudFdpZHRoLGsuY2xpZW50SGVpZ2h0KSkucm91bmQoKX1yZXR1cm4gYn1jYXRjaCh2KXtyZXR1cm4gbmV3IGcuUWUoLTEyMjQ1OTMzLC0xMjI0NTkzMyl9fTsKZy5Odz1mdW5jdGlvbihuKXtyZXR1cm4gbi5wcmVyZW5kZXJpbmc/Mzp7dmlzaWJsZToxLGhpZGRlbjoyLHByZXJlbmRlcjozLHByZXZpZXc6NCx1bmxvYWRlZDo1LCIiOjB9W24udmlzaWJpbGl0eVN0YXRlfHxuLndlYmtpdFZpc2liaWxpdHlTdGF0ZXx8bi5tb3pWaXNpYmlsaXR5U3RhdGV8fCIiXT8/MH07CmcucF89ZnVuY3Rpb24obixXLEQpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLk49bnVsbDt0aGlzLlg9ITE7dGhpcy5WPW47dGhpcy5qPUQ7dGhpcy5KPVd8fHdpbmRvdzt0aGlzLlc9KDAsZy5LdCkodGhpcy5PdCx0aGlzKX07Cll0PWZ1bmN0aW9uKG4pe249bi5KO3JldHVybiBuLnJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG51bGx9OwpISz1mdW5jdGlvbihuKXtuPW4uSjtyZXR1cm4gbi5jYW5jZWxBbmltYXRpb25GcmFtZXx8bi5jYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ud2Via2l0Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1vekNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi5vQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1zQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxudWxsfTsKZy5mXz1mdW5jdGlvbihuLFcsRCl7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuTj1uO3RoaXMuZ3Q9V3x8MDt0aGlzLko9RDt0aGlzLlc9KDAsZy5LdCkodGhpcy5pJCx0aGlzKX07CmcuSmE9ZnVuY3Rpb24obixXKXtuLmlzQWN0aXZlKCl8fG4uc3RhcnQoVyl9OwpJRj1mdW5jdGlvbihuKXtuLlo2PWcuWnQoKCk9PntuLlo2PW51bGw7bi5OJiYhbi5KJiYobi5OPSExLElGKG4pKX0sbi5ndCk7CnZhciBXPW4uVztuLlc9bnVsbDtuLlguYXBwbHkobnVsbCxXKX07ClNBPWZ1bmN0aW9uKG4pe3JldHVybiB0eXBlb2Ygbi5jbGFzc05hbWU9PSJzdHJpbmciP24uY2xhc3NOYW1lOm4uZ2V0QXR0cmlidXRlJiZuLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9OwpBYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3Q6U0EobikubWF0Y2goL1xTKy9nKXx8W119OwptYT1mdW5jdGlvbihuLFcpe3R5cGVvZiBuLmNsYXNzTmFtZT09InN0cmluZyI/bi5jbGFzc05hbWU9VzpuLnNldEF0dHJpYnV0ZSYmbi5zZXRBdHRyaWJ1dGUoImNsYXNzIixXKX07CmcuS189ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QuY29udGFpbnMoVyk6Zy5qaihBYShuKSxXKX07CmcuVUk9ZnVuY3Rpb24obixXKXtpZihuLmNsYXNzTGlzdCluLmNsYXNzTGlzdC5hZGQoVyk7ZWxzZSBpZighZy5LXyhuLFcpKXtsZXQgRD1TQShuKTttYShuLEQrKEQubGVuZ3RoPjA/IiAiK1c6VykpfX07CnlLPWZ1bmN0aW9uKG4sVyl7aWYobi5jbGFzc0xpc3QpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChXLGZ1bmN0aW9uKGIpe2cuVUkobixiKX0pOwplbHNle3ZhciBEPXt9O0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoQWEobiksZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpXPSIiO2ZvcihsZXQgYiBpbiBEKVcrPVcubGVuZ3RoPjA/IiAiK2I6YjttYShuLFcpfX07CmcuRUk9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5yZW1vdmUoVyk6Zy5LXyhuLFcpJiZtYShuLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChBYShuKSxmdW5jdGlvbihEKXtyZXR1cm4gRCE9V30pLmpvaW4oIiAiKSl9OwpwMmo9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9BcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oRCl7Zy5FSShuLEQpfSk6bWEobixBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoQWEobiksZnVuY3Rpb24oRCl7cmV0dXJuIWcuamooVyxEKX0pLmpvaW4oIiAiKSl9OwpnLmlIPWZ1bmN0aW9uKG4sVyxEKXtEP2cuVUkobixXKTpnLkVJKG4sVyl9Owp1SD1mdW5jdGlvbigpe307CllBMT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2Ygb0Z8fG4gaW5zdGFuY2VvZiBkWHx8biBpbnN0YW5jZW9mIHpLKXJldHVybiBuO2lmKHR5cGVvZiBuLm5leHQ9PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bik7CmlmKHR5cGVvZiBuW1N5bWJvbC5pdGVyYXRvcl09PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bltTeW1ib2wuaXRlcmF0b3JdKCkpOwppZih0eXBlb2Ygbi5ncT09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IG9GKCgpPT5uLmdxKCkpOwp0aHJvdyBFcnJvcigiTm90IGFuIGl0ZXJhdG9yIG9yIGl0ZXJhYmxlLiIpO307CmxIPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dGhpcy5OPW47dGhpcy5LPVc7dGhpcy5XPUQ7dGhpcy5qPWI7dGhpcy5YPXY7dGhpcy5WPWs7dGhpcy5KPWg7dGhpcy5ZPXh9OwpUSz1mdW5jdGlvbihuLFcpe2lmKFc9PTApcmV0dXJuIG4uTjtpZihXPT0xKXJldHVybiBuLko7dmFyIEQ9d1Eobi5OLG4uVyxXKSxiPXdRKG4uVyxuLlgsVyk7bj13UShuLlgsbi5KLFcpO0Q9d1EoRCxiLFcpO2I9d1EoYixuLFcpO3JldHVybiB3UShELGIsVyl9OwpIMGk9ZnVuY3Rpb24obixXKXt2YXIgRD0oVy1uLk4pLyhuLkotbi5OKTtpZihEPD0wKXJldHVybiAwO2lmKEQ+PTEpcmV0dXJuIDE7dmFyIGI9MCx2PTEsaz0wO2Zvcih2YXIgaD0wO2g8ODtoKyspe2s9VEsobixEKTtsZXQgeD0oVEsobixEKzFFLTYpLWspLzFFLTY7aWYoTWF0aC5hYnMoay1XKTwxRS02KXJldHVybiBEO2lmKE1hdGguYWJzKHgpPDFFLTYpYnJlYWs7ZWxzZSBrPFc/Yj1EOnY9RCxELT0oay1XKS94fWZvcihoPTA7TWF0aC5hYnMoay1XKT4xRS02JiZoPDg7aCsrKWs8Vz8oYj1ELEQ9KEQrdikvMik6KHY9RCxEPShEK2IpLzIpLGs9VEsobixEKTtyZXR1cm4gRH07CmpBPWZ1bmN0aW9uKG4pe3JldHVybihuPW4uZXhlYyhnLlhRKCkpKT9uWzFdOiIifTsKQ189ZnVuY3Rpb24obil7cmV0dXJuIGcuY1ooZlgyLG4pPj0wfTsKQks9ZnVuY3Rpb24obil7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuVj0xO3RoaXMuVz1bXTt0aGlzLlg9MDt0aGlzLk49W107dGhpcy5KPXt9O3RoaXMuSz0hIW59OwpKNHI9ZnVuY3Rpb24obixXLEQpe2cubUsoZnVuY3Rpb24oKXtuLmFwcGx5KFcsRCl9KX07CmcuRmQ9ZnVuY3Rpb24obil7dGhpcy5OPW59Owp3WD1mdW5jdGlvbihuKXt0aGlzLk49bn07Ck13PWZ1bmN0aW9uKG4pe3RoaXMuZGF0YT1ufTsKUkY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT12b2lkIDB8fG4gaW5zdGFuY2VvZiBNdz9uOm5ldyBNdyhuKX07ClFLPWZ1bmN0aW9uKG4pe3RoaXMuTj1ufTsKVks9ZnVuY3Rpb24obil7dGhpcy5OPW59OwpJWDE9ZnVuY3Rpb24oKXt9OwpjSz1mdW5jdGlvbigpe307CmFGPWZ1bmN0aW9uKG4pe3RoaXMuTj1uO3RoaXMuSj1udWxsfTsKbmU9ZnVuY3Rpb24obil7aWYobi5OPT1udWxsKXRocm93IEVycm9yKCJTdG9yYWdlIG1lY2hhbmlzbTogU3RvcmFnZSB1bmF2YWlsYWJsZSIpO24uaXNBdmFpbGFibGUoKXx8aDQoRXJyb3IoIlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIHVuYXZhaWxhYmxlIikpfTsKV1M9ZnVuY3Rpb24oKXt2YXIgbj1udWxsO3RyeXtuPWcucWkubG9jYWxTdG9yYWdlfHxudWxsfWNhdGNoKFcpe31hRi5jYWxsKHRoaXMsbil9OwpEUT1mdW5jdGlvbigpe3ZhciBuPW51bGw7dHJ5e249Zy5xaS5zZXNzaW9uU3RvcmFnZXx8bnVsbH1jYXRjaChXKXt9YUYuY2FsbCh0aGlzLG4pfTsKYkM9ZnVuY3Rpb24obixXKXt0aGlzLko9bjt0aGlzLk49VysiOjoifTsKZy52Uz1mdW5jdGlvbihuKXt2YXIgVz1uZXcgV1M7cmV0dXJuIFcuaXNBdmFpbGFibGUoKT9uP25ldyBiQyhXLG4pOlc6bnVsbH07CmtqPWZ1bmN0aW9uKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9Owp4aj1mdW5jdGlvbihuKXt2YXIgVyxELGI9bi5sZW5ndGgsdj0wO2ZvcihXPTA7VzxiO1crKyl7dmFyIGs9bi5jaGFyQ29kZUF0KFcpO2lmKChrJjY0NTEyKT09PTU1Mjk2JiZXKzE8Yil7dmFyIGg9bi5jaGFyQ29kZUF0KFcrMSk7KGgmNjQ1MTIpPT09NTYzMjAmJihrPTY1NTM2KyhrLTU1Mjk2PDwxMCkrKGgtNTYzMjApLFcrKyl9dis9azwxMjg/MTprPDIwNDg/MjprPDY1NTM2PzM6NH12YXIgeD1uZXcgaGsuT20odik7Zm9yKFc9RD0wO0Q8djtXKyspaz1uLmNoYXJDb2RlQXQoVyksKGsmNjQ1MTIpPT09NTUyOTYmJlcrMTxiJiYoaD1uLmNoYXJDb2RlQXQoVysxKSwoaCY2NDUxMik9PT01NjMyMCYmKGs9NjU1MzYrKGstNTUyOTY8PDEwKSsoaC01NjMyMCksVysrKSksazwxMjg/eFtEKytdPWs6KGs8MjA0OD94W0QrK109MTkyfGs+Pj42OihrPDY1NTM2P3hbRCsrXT0yMjR8az4+PjEyOih4W0QrK109MjQwfGs+Pj4xOCx4W0QrK109MTI4fGs+Pj4xMiY2MykseFtEKytdPTEyOHxrPj4+CjYmNjMpLHhbRCsrXT0xMjh8ayY2Myk7cmV0dXJuIHh9OwpMZT1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5sZW5ndGg7LS1XPj0wOyluW1ddPTB9Owpldj1mdW5jdGlvbihuLFcsRCxiLHYpe3RoaXMua089bjt0aGlzLmJFPVc7dGhpcy50cD1EO3RoaXMuYXo9Yjt0aGlzLnVIPXY7dGhpcy5aZD1uJiZuLmxlbmd0aH07CnZhciBTQTE9ZnVuY3Rpb24obil7cmV0dXJuIGc3W0lbMTBdXSh0aGlzLDI1LDYzMjIsbil9Owp0az1mdW5jdGlvbihuLFcpe3RoaXMuTTA9bjt0aGlzLnJPPTA7dGhpcy5BWj1XfTsKcjc9ZnVuY3Rpb24obixXKXtuLkZCW24ucGVuZGluZysrXT1XJjI1NTtuLkZCW24ucGVuZGluZysrXT1XPj4+OCYyNTV9OwpzJD1mdW5jdGlvbihuLFcsRCl7bi5ZSD4xNi1EPyhuLlJKfD1XPDxuLllIJjY1NTM1LHI3KG4sbi5SSiksbi5SSj1XPj4xNi1uLllILG4uWUgrPUQtMTYpOihuLlJKfD1XPDxuLllIJjY1NTM1LG4uWUgrPUQpfTsKTjY9ZnVuY3Rpb24obixXLEQpe3MkKG4sRFtXKjJdLERbVyoyKzFdKX07CnBlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtkbyBEfD1uJjEsbj4+Pj0xLEQ8PD0xO3doaWxlKC0tVz4wKTtyZXR1cm4gRD4+PjF9OwpZaj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9QXJyYXkoMTYpLHY9MCxrO2ZvcihrPTE7azw9MTU7aysrKWJba109dj12K0Rbay0xXTw8MTtmb3IoRD0wO0Q8PVc7RCsrKXY9bltEKjIrMV0sdiE9PTAmJihuW0QqMl09cGUoYlt2XSsrLHYpKX07CkhTPWZ1bmN0aW9uKG4pe3ZhciBXO2ZvcihXPTA7VzwyODY7VysrKW4ua0dbVyoyXT0wO2ZvcihXPTA7VzwzMDtXKyspbi5sZltXKjJdPTA7Zm9yKFc9MDtXPDE5O1crKyluLndoW1cqMl09MDtuLmtHWzUxMl09MTtuLlhSPW4uVHY9MDtuLndYPW4ubWF0Y2hlcz0wfTsKZmU9ZnVuY3Rpb24obil7bi5ZSD44P3I3KG4sbi5SSik6bi5ZSD4wJiYobi5GQltuLnBlbmRpbmcrK109bi5SSik7bi5SSj0wO24uWUg9MH07CkprPWZ1bmN0aW9uKG4sVyxEKXtmZShuKTtyNyhuLEQpO3I3KG4sfkQpO2hrLlA3KG4uRkIsbi53aW5kb3csVyxELG4ucGVuZGluZyk7bi5wZW5kaW5nKz1EfTsKSVM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9VyoyLGs9RCoyO3JldHVybiBuW3ZdPG5ba118fG5bdl09PT1uW2tdJiZiW1ddPD1iW0RdfTsKU3Y9ZnVuY3Rpb24obixXLEQpe2Zvcih2YXIgYj1uLmhlYXBbRF0sdj1EPDwxO3Y8PW4uVW47KXt2PG4uVW4mJklTKFcsbi5oZWFwW3YrMV0sbi5oZWFwW3ZdLG4uZGVwdGgpJiZ2Kys7aWYoSVMoVyxiLG4uaGVhcFt2XSxuLmRlcHRoKSlicmVhaztuLmhlYXBbRF09bi5oZWFwW3ZdO0Q9djt2PDw9MX1uLmhlYXBbRF09Yn07ClUkPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0wO2lmKG4ud1ghPT0wKXtkb3t2YXIgdj1uLkZCW24uQTgrYioyXTw8OHxuLkZCW24uQTgrYioyKzFdO3ZhciBrPW4uRkJbbi50YStiXTtiKys7aWYodj09PTApTjYobixrLFcpO2Vsc2V7dmFyIGg9QWtba107TjYobixoKzI1NisxLFcpO3ZhciB4PW0kW2hdO3ghPT0wJiYoay09S2VbaF0scyQobixrLHgpKTt2LS07aD12PDI1Nj9PJFt2XTpPJFsyNTYrKHY+Pj43KV07TjYobixoLEQpO3g9UFNbaF07eCE9PTAmJih2LT1aUVtoXSxzJChuLHYseCkpfX13aGlsZShiPG4ud1gpfU42KG4sMjU2LFcpfTsKRSQ9ZnVuY3Rpb24obixXKXt2YXIgRD1XLk0wLGI9Vy5BWi5rTyx2PVcuQVouWmQsaz1XLkFaLmF6LGgseD0tMTtuLlVuPTA7bi5PND01NzM7Zm9yKGg9MDtoPGs7aCsrKURbaCoyXSE9PTA/KG4uaGVhcFsrK24uVW5dPXg9aCxuLmRlcHRoW2hdPTApOkRbaCoyKzFdPTA7Zm9yKDtuLlVuPDI7KXt2YXIgTD1uLmhlYXBbKytuLlVuXT14PDI/Kyt4OjA7RFtMKjJdPTE7bi5kZXB0aFtMXT0wO24uWFItLTt2JiYobi5Udi09YltMKjIrMV0pfVcuck89eDtmb3IoaD1uLlVuPj4xO2g+PTE7aC0tKVN2KG4sRCxoKTtMPWs7ZG8gaD1uLmhlYXBbMV0sbi5oZWFwWzFdPW4uaGVhcFtuLlVuLS1dLFN2KG4sRCwxKSxiPW4uaGVhcFsxXSxuLmhlYXBbLS1uLk80XT1oLG4uaGVhcFstLW4uTzRdPWIsRFtMKjJdPURbaCoyXStEW2IqMl0sbi5kZXB0aFtMXT0obi5kZXB0aFtoXT49bi5kZXB0aFtiXT9uLmRlcHRoW2hdOm4uZGVwdGhbYl0pKzEsRFtoKjIrMV09RFtiKjIrMV09TCxuLmhlYXBbMV09TCsrLApTdihuLEQsMSk7d2hpbGUobi5Vbj49Mik7bi5oZWFwWy0tbi5PNF09bi5oZWFwWzFdO2g9Vy5NMDtMPVcuck87Yj1XLkFaLmtPO3Y9Vy5BWi5aZDtrPVcuQVouYkU7dmFyIGU9Vy5BWi50cCxHPVcuQVoudUgscixOPTA7Zm9yKHI9MDtyPD0xNTtyKyspbi5WbltyXT0wO2hbbi5oZWFwW24uTzRdKjIrMV09MDtmb3IoVz1uLk80KzE7Vzw1NzM7VysrKXt2YXIgSD1uLmhlYXBbV107cj1oW2hbSCoyKzFdKjIrMV0rMTtyPkcmJihyPUcsTisrKTtoW0gqMisxXT1yO2lmKCEoSD5MKSl7bi5WbltyXSsrO3ZhciBBPTA7SD49ZSYmKEE9a1tILWVdKTt2YXIgeT1oW0gqMl07bi5YUis9eSoocitBKTt2JiYobi5Udis9eSooYltIKjIrMV0rQSkpfX1pZihOIT09MCl7ZG97Zm9yKHI9Ry0xO24uVm5bcl09PT0wOylyLS07bi5WbltyXS0tO24uVm5bcisxXSs9MjtuLlZuW0ddLS07Ti09Mn13aGlsZShOPjApO2ZvcihyPUc7ciE9PTA7ci0tKWZvcihIPW4uVm5bcl07SCE9PTA7KWI9bi5oZWFwWy0tV10sCmI+THx8KGhbYioyKzFdIT09ciYmKG4uWFIrPShyLWhbYioyKzFdKSpoW2IqMl0saFtiKjIrMV09ciksSC0tKX1ZaihELHgsbi5Wbil9OwppQz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO1dbKEQrMSkqMisxXT02NTUzNTtmb3IoYj0wO2I8PUQ7YisrKXt2YXIgZT1rO2s9V1soYisxKSoyKzFdOysraDx4JiZlPT09a3x8KGg8TD9uLndoW2UqMl0rPWg6ZSE9PTA/KGUhPT12JiZuLndoW2UqMl0rKyxuLndoWzMyXSsrKTpoPD0xMD9uLndoWzM0XSsrOm4ud2hbMzZdKyssaD0wLHY9ZSxrPT09MD8oeD0xMzgsTD0zKTplPT09az8oeD02LEw9Myk6KHg9NyxMPTQpKX19Owp1Qz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO2ZvcihiPTA7Yjw9RDtiKyspe3ZhciBlPWs7az1XWyhiKzEpKjIrMV07aWYoISgrK2g8eCYmZT09PWspKXtpZihoPEwpe2RvIE42KG4sZSxuLndoKTt3aGlsZSgtLWghPT0wKX1lbHNlIGUhPT0wPyhlIT09diYmKE42KG4sZSxuLndoKSxoLS0pLE42KG4sMTYsbi53aCkscyQobixoLTMsMikpOmg8PTEwPyhONihuLDE3LG4ud2gpLHMkKG4saC0zLDMpKTooTjYobiwxOCxuLndoKSxzJChuLGgtMTEsNykpO2g9MDt2PWU7az09PTA/KHg9MTM4LEw9Myk6ZT09PWs/KHg9NixMPTMpOih4PTcsTD00KX19fTsKQTR4PWZ1bmN0aW9uKG4pe3ZhciBXPTQwOTM2MjQ0NDcsRDtmb3IoRD0wO0Q8PTMxO0QrKyxXPj4+PTEpaWYoVyYxJiZuLmtHW0QqMl0hPT0wKXJldHVybiAwO2lmKG4ua0dbMThdIT09MHx8bi5rR1syMF0hPT0wfHxuLmtHWzI2XSE9PTApcmV0dXJuIDE7Zm9yKEQ9MzI7RDwyNTY7RCsrKWlmKG4ua0dbRCoyXSE9PTApcmV0dXJuIDE7cmV0dXJuIDB9OwpvUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47aWYoIShuKzQmNykpe0Q9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO3ZhciBrPWJbMF07YlswXT1iW0RdO2JbRF09azt2YXIgaD1bRF19KG4rOSY1KT09MSYmYltJWzNdXShiW0lbNV1dLDAsRCk7cmV0dXJuIGh9OwpkNz1mdW5jdGlvbihuLFcsRCl7bi5GQltuLkE4K24ud1gqMl09Vz4+PjgmMjU1O24uRkJbbi5BOCtuLndYKjIrMV09VyYyNTU7bi5GQltuLnRhK24ud1hdPUQmMjU1O24ud1grKztXPT09MD9uLmtHW0QqMl0rKzoobi5tYXRjaGVzKyssVy0tLG4ua0dbKEFrW0RdKzI1NisxKSoyXSsrLG4ubGZbKFc8MjU2P08kW1ddOk8kWzI1NisoVz4+PjcpXSkqMl0rKyk7cmV0dXJuIG4ud1g9PT1uLktYLTF9OwpsQz1mdW5jdGlvbihuLFcpe24ubXNnPXpCW1ddO3JldHVybiBXfTsKVEI9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW4ubGVuZ3RoOy0tVz49MDspbltXXT0wfTsKanY9ZnVuY3Rpb24obil7dmFyIFc9bi5zdGF0ZSxEPVcucGVuZGluZztEPm4udVImJihEPW4udVIpO0QhPT0wJiYoaGsuUDcobi5vdXRwdXQsVy5GQixXLmhSLEQsbi51Zyksbi51Zys9RCxXLmhSKz1ELG4udEIrPUQsbi51Ui09RCxXLnBlbmRpbmctPUQsVy5wZW5kaW5nPT09MCYmKFcuaFI9MCkpfTsKdzc9ZnVuY3Rpb24obixXKXt2YXIgRD1uLk9LPj0wP24uT0s6LTEsYj1uLnFzLW4uT0ssdj0wO2lmKG4ubGV2ZWw+MCl7bi5UUi5xUz09PTImJihuLlRSLnFTPUE0eChuKSk7RSQobixuLlFmKTtFJChuLG4uYVMpO2lDKG4sbi5rRyxuLlFmLnJPKTtpQyhuLG4ubGYsbi5hUy5yTyk7RSQobixuLm1NKTtmb3Iodj0xODt2Pj0zJiZuLndoW0NlW3ZdKjIrMV09PT0wO3YtLSk7bi5YUis9MyoodisxKSs1KzUrNDt2YXIgaz1uLlhSKzMrNz4+PjM7dmFyIGg9bi5UdiszKzc+Pj4zO2g8PWsmJihrPWgpfWVsc2Ugaz1oPWIrNTtpZihiKzQ8PWsmJkQhPT0tMSlzJChuLFc/MTowLDMpLEprKG4sRCxiKTtlbHNlIGlmKG4uc3RyYXRlZ3k9PT00fHxoPT09aylzJChuLDIrKFc/MTowKSwzKSxVJChuLEJTLEY5KTtlbHNle3MkKG4sNCsoVz8xOjApLDMpO0Q9bi5RZi5yTysxO2I9bi5hUy5yTysxO3YrPTE7cyQobixELTI1Nyw1KTtzJChuLGItMSw1KTtzJChuLHYtNCw0KTtmb3Ioaz0wO2s8djtrKyspcyQobiwKbi53aFtDZVtrXSoyKzFdLDMpO3VDKG4sbi5rRyxELTEpO3VDKG4sbi5sZixiLTEpO1UkKG4sbi5rRyxuLmxmKX1IUyhuKTtXJiZmZShuKTtuLk9LPW4ucXM7anYobi5UUil9OwpNNj1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVd9OwpSUz1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVc+Pj44JjI1NTtuLkZCW24ucGVuZGluZysrXT1XJjI1NX07ClF0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5lYixiPW4ucXMsdj1uLlRhLGs9bi5PUixoPW4ucXM+bi54ci0yNjI/bi5xcy0obi54ci0yNjIpOjAseD1uLndpbmRvdyxMPW4ueWUsZT1uLlJULEc9bi5xcysyNTgscj14W2Irdi0xXSxOPXhbYit2XTtuLlRhPj1uLnIkJiYoRD4+PTIpO2s+bi5HVyYmKGs9bi5HVyk7ZG97dmFyIEg9VztpZih4W0grdl09PT1OJiZ4W0grdi0xXT09PXImJnhbSF09PT14W2JdJiZ4WysrSF09PT14W2IrMV0pe2IrPTI7Zm9yKEgrKzt4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmYjxHOyk7SD0yNTgtKEctYik7Yj1HLTI1ODtpZihIPnYpe24uUVo9Vzt2PUg7aWYoSD49aylicmVhaztyPXhbYit2LTFdO049eFtiK3ZdfX19d2hpbGUoKFc9ZVtXJkxdKT5oJiYtLUQhPT0KMCk7cmV0dXJuIHY8PW4uR1c/djpuLkdXfTsKYVM9ZnVuY3Rpb24obil7dmFyIFc9bi54cixEO2Rve3ZhciBiPW4uYlgtbi5HVy1uLnFzO2lmKG4ucXM+PVcrKFctMjYyKSl7aGsuUDcobi53aW5kb3csbi53aW5kb3csVyxXLDApO24uUVotPVc7bi5xcy09VztuLk9LLT1XO3ZhciB2PUQ9bi5BeTtkb3t2YXIgaz1uLmhlYWRbLS12XTtuLmhlYWRbdl09az49Vz9rLVc6MH13aGlsZSgtLUQpO3Y9RD1XO2RvIGs9bi5SVFstLXZdLG4uUlRbdl09az49Vz9rLVc6MDt3aGlsZSgtLUQpO2IrPVd9aWYobi5UUi5CQT09PTApYnJlYWs7dj1uLlRSO0Q9bi53aW5kb3c7az1uLnFzK24uR1c7dmFyIGg9di5CQTtoPmImJihoPWIpO2g9PT0wP0Q9MDoodi5CQS09aCxoay5QNyhELHYuaW5wdXQsdi5VWixoLGspLHYuc3RhdGUud3JhcD09PTE/di5nST1WdCh2LmdJLEQsaCxrKTp2LnN0YXRlLndyYXA9PT0yJiYodi5nST1jUyh2LmdJLEQsaCxrKSksdi5VWis9aCx2LkVtKz1oLEQ9aCk7bi5HVys9RDtpZihuLkdXK24ucXA+PTMpZm9yKGI9bi5xcy1uLnFwLApuLnBBPW4ud2luZG93W2JdLG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYisxXSkmbi5sQjtuLnFwJiYhKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYiszLTFdKSZuLmxCLG4uUlRbYiZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPWIsYisrLG4ucXAtLSxuLkdXK24ucXA8Myk7KTt9d2hpbGUobi5HVzwyNjImJm4uVFIuQkEhPT0wKX07Cm53PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO0QhPT0wJiZuLnFzLUQ8PW4ueHItMjYyJiYobi5mQT1RdChuLEQpKTtpZihuLmZBPj0zKWlmKEQ9ZDcobixuLnFzLW4uUVosbi5mQS0zKSxuLkdXLT1uLmZBLG4uZkE8PW4uUmImJm4uR1c+PTMpe24uZkEtLTtkbyBuLnFzKyssbi5wQT0obi5wQTw8bi5IY15uLndpbmRvd1tuLnFzKzMtMV0pJm4ubEIsbi5SVFtuLnFzJm4ueWVdPW4uaGVhZFtuLnBBXSxuLmhlYWRbbi5wQV09bi5xczt3aGlsZSgtLW4uZkEhPT0wKTtuLnFzKyt9ZWxzZSBuLnFzKz1uLmZBLG4uZkE9MCxuLnBBPW4ud2luZG93W24ucXNdLG4ucEE9KG4ucEE8PG4uSGNeCm4ud2luZG93W24ucXMrMV0pJm4ubEI7ZWxzZSBEPWQ3KG4sMCxuLndpbmRvd1tuLnFzXSksbi5HVy0tLG4ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9bi5xczwyP24ucXM6MjtyZXR1cm4gVz09PTQ/KHc3KG4sITApLG4uVFIudVI9PT0wPzM6NCk6bi53WCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKT8xOjJ9OwpXVj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRCxiOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO24uVGE9bi5mQTtuLkx2PW4uUVo7bi5mQT0yO0QhPT0wJiZuLlRhPG4uUmImJm4ucXMtRDw9bi54ci0yNjImJihuLmZBPVF0KG4sRCksbi5mQTw9NSYmKG4uc3RyYXRlZ3k9PT0xfHxuLmZBPT09MyYmbi5xcy1uLlFaPjQwOTYpJiYobi5mQT0yKSk7aWYobi5UYT49MyYmbi5mQTw9bi5UYSl7Yj1uLnFzK24uR1ctMztEPWQ3KG4sbi5xcy0xLW4uTHYsbi5UYS0zKTtuLkdXLT1uLlRhLTE7bi5UYS09Mjtkbysrbi5xczw9YiYmKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbbi5xcyszLTFdKSZuLmxCLG4uUlRbbi5xcyZuLnllXT0Kbi5oZWFkW24ucEFdLG4uaGVhZFtuLnBBXT1uLnFzKTt3aGlsZSgtLW4uVGEhPT0wKTtuLlJGPTA7bi5mQT0yO24ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfWVsc2UgaWYobi5SRil7aWYoKEQ9ZDcobiwwLG4ud2luZG93W24ucXMtMV0pKSYmdzcobiwhMSksbi5xcysrLG4uR1ctLSxuLlRSLnVSPT09MClyZXR1cm4gMX1lbHNlIG4uUkY9MSxuLnFzKyssbi5HVy0tfW4uUkYmJihkNyhuLDAsbi53aW5kb3dbbi5xcy0xXSksbi5SRj0wKTtuLnFwPW4ucXM8Mj9uLnFzOjI7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKbXhqPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBELGIsdixrPW4ud2luZG93Ozspe2lmKG4uR1c8PTI1OCl7YVMobik7aWYobi5HVzw9MjU4JiZXPT09MClyZXR1cm4gMTtpZihuLkdXPT09MClicmVha31uLmZBPTA7aWYobi5HVz49MyYmbi5xcz4wJiYoYj1uLnFzLTEsRD1rW2JdLEQ9PT1rWysrYl0mJkQ9PT1rWysrYl0mJkQ9PT1rWysrYl0pKXtmb3Iodj1uLnFzKzI1ODtEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZiPHY7KTtuLmZBPTI1OC0odi1iKTtuLmZBPm4uR1cmJihuLmZBPW4uR1cpfW4uZkE+PTM/KEQ9ZDcobiwxLG4uZkEtMyksbi5HVy09bi5mQSxuLnFzKz1uLmZBLG4uZkE9MCk6KEQ9ZDcobiwwLG4ud2luZG93W24ucXNdKSxuLkdXLS0sbi5xcysrKTtpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9MDtyZXR1cm4gVz09PQo0Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKS3hVPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c9PT0wJiYoYVMobiksbi5HVz09PTApKXtpZihXPT09MClyZXR1cm4gMTticmVha31uLmZBPTA7RD1kNyhuLDAsbi53aW5kb3dbbi5xc10pO24uR1ctLTtuLnFzKys7aWYoRCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKREU9ZnVuY3Rpb24obixXLEQsYix2KXt0aGlzLm5rPW47dGhpcy5ZOD1XO3RoaXMuRWs9RDt0aGlzLlNSPWI7dGhpcy5mdW5jPXZ9OwpPMGk9ZnVuY3Rpb24oKXt0aGlzLlRSPW51bGw7dGhpcy5zdGF0dXM9MDt0aGlzLkZCPW51bGw7dGhpcy53cmFwPXRoaXMucGVuZGluZz10aGlzLmhSPXRoaXMueXY9MDt0aGlzLkZRPW51bGw7dGhpcy5HST0wO3RoaXMubWV0aG9kPTg7dGhpcy5obz0tMTt0aGlzLnllPXRoaXMuclo9dGhpcy54cj0wO3RoaXMud2luZG93PW51bGw7dGhpcy5iWD0wO3RoaXMuaGVhZD10aGlzLlJUPW51bGw7dGhpcy5PUj10aGlzLnIkPXRoaXMuc3RyYXRlZ3k9dGhpcy5sZXZlbD10aGlzLlJiPXRoaXMuZWI9dGhpcy5UYT10aGlzLkdXPXRoaXMuUVo9dGhpcy5xcz10aGlzLlJGPXRoaXMuTHY9dGhpcy5mQT10aGlzLk9LPXRoaXMuSGM9dGhpcy5sQj10aGlzLll2PXRoaXMuQXk9dGhpcy5wQT0wO3RoaXMua0c9bmV3IGhrLm1LKDExNDYpO3RoaXMubGY9bmV3IGhrLm1LKDEyMik7dGhpcy53aD1uZXcgaGsubUsoNzgpO1RCKHRoaXMua0cpO1RCKHRoaXMubGYpO1RCKHRoaXMud2gpO3RoaXMubU09dGhpcy5hUz0KdGhpcy5RZj1udWxsO3RoaXMuVm49bmV3IGhrLm1LKDE2KTt0aGlzLmhlYXA9bmV3IGhrLm1LKDU3Myk7VEIodGhpcy5oZWFwKTt0aGlzLk80PXRoaXMuVW49MDt0aGlzLmRlcHRoPW5ldyBoay5tSyg1NzMpO1RCKHRoaXMuZGVwdGgpO3RoaXMuWUg9dGhpcy5SSj10aGlzLnFwPXRoaXMubWF0Y2hlcz10aGlzLlR2PXRoaXMuWFI9dGhpcy5BOD10aGlzLndYPXRoaXMuS1g9dGhpcy50YT0wfTsKUHAxPWZ1bmN0aW9uKG4sVyl7aWYoIW58fCFuLnN0YXRlfHxXPjV8fFc8MClyZXR1cm4gbj9sQyhuLC0yKTotMjt2YXIgRD1uLnN0YXRlO2lmKCFuLm91dHB1dHx8IW4uaW5wdXQmJm4uQkEhPT0wfHxELnN0YXR1cz09PTY2NiYmVyE9PTQpcmV0dXJuIGxDKG4sbi51Uj09PTA/LTU6LTIpO0QuVFI9bjt2YXIgYj1ELmhvO0QuaG89VztpZihELnN0YXR1cz09PTQyKWlmKEQud3JhcD09PTIpbi5nST0wLE02KEQsMzEpLE02KEQsMTM5KSxNNihELDgpLEQuRlE/KE02KEQsKEQuRlEudGV4dD8xOjApKyhELkZRLnZMPzI6MCkrKEQuRlEuZXh0cmE/NDowKSsoRC5GUS5uYW1lPzg6MCkrKEQuRlEuY29tbWVudD8xNjowKSksTTYoRCxELkZRLnRpbWUmMjU1KSxNNihELEQuRlEudGltZT4+OCYyNTUpLE02KEQsRC5GUS50aW1lPj4xNiYyNTUpLE02KEQsRC5GUS50aW1lPj4yNCYyNTUpLE02KEQsRC5sZXZlbD09PTk/MjpELnN0cmF0ZWd5Pj0yfHxELmxldmVsPDI/NDowKSxNNihELEQuRlEub3MmCjI1NSksRC5GUS5leHRyYSYmRC5GUS5leHRyYS5sZW5ndGgmJihNNihELEQuRlEuZXh0cmEubGVuZ3RoJjI1NSksTTYoRCxELkZRLmV4dHJhLmxlbmd0aD4+OCYyNTUpKSxELkZRLnZMJiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLDApKSxELkdJPTAsRC5zdGF0dXM9NjkpOihNNihELDApLE02KEQsMCksTTYoRCwwKSxNNihELDApLE02KEQsMCksTTYoRCxELmxldmVsPT09OT8yOkQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj80OjApLE02KEQsMyksRC5zdGF0dXM9MTEzKTtlbHNle3ZhciB2PTgrKEQuclotODw8NCk8PDg7dnw9KEQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj8wOkQubGV2ZWw8Nj8xOkQubGV2ZWw9PT02PzI6Myk8PDY7RC5xcyE9PTAmJih2fD0zMik7RC5zdGF0dXM9MTEzO1JTKEQsdisoMzEtdiUzMSkpO0QucXMhPT0wJiYoUlMoRCxuLmdJPj4+MTYpLFJTKEQsbi5nSSY2NTUzNSkpO24uZ0k9MX1pZihELnN0YXR1cz09PTY5KWlmKEQuRlEuZXh0cmEpe2Zvcih2PQpELnBlbmRpbmc7RC5HSTwoRC5GUS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoRC5wZW5kaW5nIT09RC55dnx8KEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZyE9PUQueXYpKTspTTYoRCxELkZRLmV4dHJhW0QuR0ldJjI1NSksRC5HSSsrO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO0QuR0k9PT1ELkZRLmV4dHJhLmxlbmd0aCYmKEQuR0k9MCxELnN0YXR1cz03Myl9ZWxzZSBELnN0YXR1cz03MztpZihELnN0YXR1cz09PTczKWlmKEQuRlEubmFtZSl7dj1ELnBlbmRpbmc7ZG97aWYoRC5wZW5kaW5nPT09RC55diYmKEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZz09PUQueXYpKXt2YXIgaz0xO2JyZWFrfWs9RC5HSTxELkZRLm5hbWUubGVuZ3RoPwpELkZRLm5hbWUuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5HST0wLEQuc3RhdHVzPTkxKX1lbHNlIEQuc3RhdHVzPTkxO2lmKEQuc3RhdHVzPT09OTEpaWYoRC5GUS5jb21tZW50KXt2PUQucGVuZGluZztkb3tpZihELnBlbmRpbmc9PT1ELnl2JiYoRC5GUS52TCYmRC5wZW5kaW5nPnYmJihuLmdJPWNTKG4uZ0ksRC5GQixELnBlbmRpbmctdix2KSksanYobiksdj1ELnBlbmRpbmcsRC5wZW5kaW5nPT09RC55dikpe2s9MTticmVha31rPUQuR0k8RC5GUS5jb21tZW50Lmxlbmd0aD9ELkZRLmNvbW1lbnQuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5zdGF0dXM9MTAzKX1lbHNlIEQuc3RhdHVzPQoxMDM7RC5zdGF0dXM9PT0xMDMmJihELkZRLnZMPyhELnBlbmRpbmcrMj5ELnl2JiZqdihuKSxELnBlbmRpbmcrMjw9RC55diYmKE02KEQsbi5nSSYyNTUpLE02KEQsbi5nST4+OCYyNTUpLG4uZ0k9MCxELnN0YXR1cz0xMTMpKTpELnN0YXR1cz0xMTMpO2lmKEQucGVuZGluZyE9PTApe2lmKGp2KG4pLG4udVI9PT0wKXJldHVybiBELmhvPS0xLDB9ZWxzZSBpZihuLkJBPT09MCYmKFc8PDEpLShXPjQ/OTowKTw9KGI8PDEpLShiPjQ/OTowKSYmVyE9PTQpcmV0dXJuIGxDKG4sLTUpO2lmKEQuc3RhdHVzPT09NjY2JiZuLkJBIT09MClyZXR1cm4gbEMobiwtNSk7aWYobi5CQSE9PTB8fEQuR1chPT0wfHxXIT09MCYmRC5zdGF0dXMhPT02NjYpe2I9RC5zdHJhdGVneT09PTI/S3hVKEQsVyk6RC5zdHJhdGVneT09PTM/bXhqKEQsVyk6YndbRC5sZXZlbF0uZnVuYyhELFcpO2lmKGI9PT0zfHxiPT09NClELnN0YXR1cz02NjY7aWYoYj09PTF8fGI9PT0zKXJldHVybiBuLnVSPT09MCYmKEQuaG89Ci0xKSwwO2lmKGI9PT0yJiYoVz09PTE/KHMkKEQsMiwzKSxONihELDI1NixCUyksRC5ZSD09PTE2PyhyNyhELEQuUkopLEQuUko9MCxELllIPTApOkQuWUg+PTgmJihELkZCW0QucGVuZGluZysrXT1ELlJKJjI1NSxELlJKPj49OCxELllILT04KSk6VyE9PTUmJihzJChELDAsMyksSmsoRCwwLDApLFc9PT0zJiYoVEIoRC5oZWFkKSxELkdXPT09MCYmKEQucXM9MCxELk9LPTAsRC5xcD0wKSkpLGp2KG4pLG4udVI9PT0wKSlyZXR1cm4gRC5obz0tMSwwfWlmKFchPT00KXJldHVybiAwO2lmKEQud3JhcDw9MClyZXR1cm4gMTtELndyYXA9PT0yPyhNNihELG4uZ0kmMjU1KSxNNihELG4uZ0k+PjgmMjU1KSxNNihELG4uZ0k+PjE2JjI1NSksTTYoRCxuLmdJPj4yNCYyNTUpLE02KEQsbi5FbSYyNTUpLE02KEQsbi5FbT4+OCYyNTUpLE02KEQsbi5FbT4+MTYmMjU1KSxNNihELG4uRW0+PjI0JjI1NSkpOihSUyhELG4uZ0k+Pj4xNiksUlMoRCxuLmdJJjY1NTM1KSk7anYobik7RC53cmFwPjAmJgooRC53cmFwPS1ELndyYXApO3JldHVybiBELnBlbmRpbmchPT0wPzA6MX07CnZWPWZ1bmN0aW9uKG4pe2lmKCEodGhpcyBpbnN0YW5jZW9mIHZWKSlyZXR1cm4gbmV3IHZWKG4pO249dGhpcy5vcHRpb25zPWhrLmFzc2lnbih7bGV2ZWw6LTEsbWV0aG9kOjgsY2h1bmtTaXplOjE2Mzg0LHRnOjE1LEJrOjgsc3RyYXRlZ3k6MCx0bzoiIn0sbnx8e30pO24ucmF3JiZuLnRnPjA/bi50Zz0tbi50ZzpuLkJUJiZuLnRnPjAmJm4udGc8MTYmJihuLnRnKz0xNik7dGhpcy5lcnI9MDt0aGlzLm1zZz0iIjt0aGlzLmVuZGVkPSExO3RoaXMuY2h1bmtzPVtdO3RoaXMuVFI9bmV3IGtmO3RoaXMuVFIudVI9MDt2YXIgVz10aGlzLlRSO3ZhciBEPW4ubGV2ZWwsYj1uLm1ldGhvZCx2PW4udGcsaz1uLkJrLGg9bi5zdHJhdGVneTtpZihXKXt2YXIgeD0xO0Q9PT0tMSYmKEQ9Nik7djwwPyh4PTAsdj0tdik6dj4xNSYmKHg9Mix2LT0xNik7aWYoazwxfHxrPjl8fGIhPT04fHx2PDh8fHY+MTV8fEQ8MHx8RD45fHxoPDB8fGg+NClXPWxDKFcsLTIpO2Vsc2V7dj09PTgmJih2PTkpO3ZhciBMPQpuZXcgTzBpO1cuc3RhdGU9TDtMLlRSPVc7TC53cmFwPXg7TC5GUT1udWxsO0wuclo9djtMLnhyPTE8PEwuclo7TC55ZT1MLnhyLTE7TC5Zdj1rKzc7TC5BeT0xPDxMLll2O0wubEI9TC5BeS0xO0wuSGM9fn4oKEwuWXYrMy0xKS8zKTtMLndpbmRvdz1uZXcgaGsuT20oTC54cioyKTtMLmhlYWQ9bmV3IGhrLm1LKEwuQXkpO0wuUlQ9bmV3IGhrLm1LKEwueHIpO0wuS1g9MTw8ays2O0wueXY9TC5LWCo0O0wuRkI9bmV3IGhrLk9tKEwueXYpO0wuQTg9MSpMLktYO0wudGE9MypMLktYO0wubGV2ZWw9RDtMLnN0cmF0ZWd5PWg7TC5tZXRob2Q9YjtpZihXJiZXLnN0YXRlKXtXLkVtPVcudEI9MDtXLnFTPTI7RD1XLnN0YXRlO0QucGVuZGluZz0wO0QuaFI9MDtELndyYXA8MCYmKEQud3JhcD0tRC53cmFwKTtELnN0YXR1cz1ELndyYXA/NDI6MTEzO1cuZ0k9RC53cmFwPT09Mj8wOjE7RC5obz0wO2lmKCFocil7Yj1BcnJheSgxNik7Zm9yKGs9aD0wO2s8Mjg7aysrKWZvcihLZVtrXT1oLHY9MDt2PAoxPDxtJFtrXTt2KyspQWtbaCsrXT1rO0FrW2gtMV09aztmb3Ioaz1oPTA7azwxNjtrKyspZm9yKFpRW2tdPWgsdj0wO3Y8MTw8UFNba107disrKU8kW2grK109aztmb3IoaD4+PTc7azwzMDtrKyspZm9yKFpRW2tdPWg8PDcsdj0wO3Y8MTw8UFNba10tNzt2KyspTyRbMjU2K2grK109aztmb3Iodj0wO3Y8PTE1O3YrKyliW3ZdPTA7Zm9yKHY9MDt2PD0xNDM7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7Zm9yKDt2PD0yNTU7KUJTW3YqMisxXT05LHYrKyxiWzldKys7Zm9yKDt2PD0yNzk7KUJTW3YqMisxXT03LHYrKyxiWzddKys7Zm9yKDt2PD0yODc7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7WWooQlMsMjg3LGIpO2Zvcih2PTA7djwzMDt2KyspRjlbdioyKzFdPTUsRjlbdioyXT1wZSh2LDUpO3hmPW5ldyBldihCUyxtJCwyNTcsMjg2LDE1KTtMdz1uZXcgZXYoRjksUFMsMCwzMCwxNSk7ZUg9bmV3IGV2KFtdLFowdywwLDE5LDcpO2hyPSEwfUQuUWY9bmV3IHRrKEQua0cseGYpO0QuYVM9Cm5ldyB0ayhELmxmLEx3KTtELm1NPW5ldyB0ayhELndoLGVIKTtELlJKPTA7RC5ZSD0wO0hTKEQpO0Q9MH1lbHNlIEQ9bEMoVywtMik7RD09PTAmJihXPVcuc3RhdGUsVy5iWD0yKlcueHIsVEIoVy5oZWFkKSxXLlJiPWJ3W1cubGV2ZWxdLlk4LFcuciQ9YndbVy5sZXZlbF0ubmssVy5PUj1id1tXLmxldmVsXS5FayxXLmViPWJ3W1cubGV2ZWxdLlNSLFcucXM9MCxXLk9LPTAsVy5HVz0wLFcucXA9MCxXLmZBPVcuVGE9MixXLlJGPTAsVy5wQT0wKTtXPUR9fWVsc2UgVz0tMjtpZihXIT09MCl0aHJvdyBFcnJvcih6QltXXSk7bi5oZWFkZXImJihXPXRoaXMuVFIpJiZXLnN0YXRlJiZXLnN0YXRlLndyYXA9PT0yJiYoVy5zdGF0ZS5GUT1uLmhlYWRlcik7aWYobi5Dbyl7dmFyIGU7dHlwZW9mIG4uQ289PT0ic3RyaW5nIj9lPXhqKG4uQ28pOmcyLmNhbGwobi5Dbyk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2U9bmV3IFVpbnQ4QXJyYXkobi5Dbyk6ZT1uLkNvO249dGhpcy5UUjtrPWU7aD0Kay5sZW5ndGg7aWYobiYmbi5zdGF0ZSlpZihlPW4uc3RhdGUsVz1lLndyYXAsVz09PTJ8fFc9PT0xJiZlLnN0YXR1cyE9PTQyfHxlLkdXKVc9LTI7ZWxzZXtXPT09MSYmKG4uZ0k9VnQobi5nSSxrLGgsMCkpO2Uud3JhcD0wO2g+PWUueHImJihXPT09MCYmKFRCKGUuaGVhZCksZS5xcz0wLGUuT0s9MCxlLnFwPTApLEQ9bmV3IGhrLk9tKGUueHIpLGhrLlA3KEQsayxoLWUueHIsZS54ciwwKSxrPUQsaD1lLnhyKTtEPW4uQkE7Yj1uLlVaO3Y9bi5pbnB1dDtuLkJBPWg7bi5VWj0wO24uaW5wdXQ9aztmb3IoYVMoZSk7ZS5HVz49Mzspe2s9ZS5xcztoPWUuR1ctMjtkbyBlLnBBPShlLnBBPDxlLkhjXmUud2luZG93W2srMy0xXSkmZS5sQixlLlJUW2smZS55ZV09ZS5oZWFkW2UucEFdLGUuaGVhZFtlLnBBXT1rLGsrKzt3aGlsZSgtLWgpO2UucXM9aztlLkdXPTI7YVMoZSl9ZS5xcys9ZS5HVztlLk9LPWUucXM7ZS5xcD1lLkdXO2UuR1c9MDtlLmZBPWUuVGE9MjtlLlJGPTA7bi5VWj1iO24uaW5wdXQ9CnY7bi5CQT1EO2Uud3JhcD1XO1c9MH1lbHNlIFc9LTI7aWYoVyE9PTApdGhyb3cgRXJyb3IoekJbV10pO3RoaXMuWGg9ITB9fTsKWCQ9ZnVuY3Rpb24obil7dmFyIFc9V3x8e307Vy5CVD0hMDtXPW5ldyB2VihXKTtXLnB1c2gobiwhMCk7aWYoVy5lcnIpdGhyb3cgVy5tc2d8fHpCW1cuZXJyXTtyZXR1cm4gVy5yZXN1bHR9OwpxTj1mdW5jdGlvbiguLi5uKXtyZXR1cm4gbi5sZW5ndGg9PT0wP1c9Plc6bi5sZW5ndGg9PT0xP25bMF06bi5yZWR1Y2UoKFcsRCk9PiguLi5iKT0+VyhEKC4uLmIpKSl9OwpVeGo9ZnVuY3Rpb24oKXt2YXIgbj1bXTtyZXR1cm4gVz0+KEQsYik9PntEPVcoRCxiKTt2YXIgdj0oKT0+e3Rocm93IEVycm9yKCJEaXNwYXRjaGluZyB3aGlsZSBjb25zdHJ1Y3RpbmcgeW91ciBtaWRkbGV3YXJlIGlzIG5vdCBhbGxvd2VkLiBPdGhlciBtaWRkbGV3YXJlIHdvdWxkIG5vdCBiZSBhcHBsaWVkIHRvIHRoaXMgZGlzcGF0Y2guIik7fSxrPXtnZXRTdGF0ZTpELmdldFN0YXRlLApkaXNwYXRjaDooaCwuLi54KT0+dihoLC4uLngpfTsKYj1uLm1hcChoPT5oKGspKTsKdj1xTiguLi5iKShELmRpc3BhdGNoKTtyZXR1cm57Li4uRCxkaXNwYXRjaDp2fX19Owp5NDI9ZnVuY3Rpb24obil7T2JqZWN0LmtleXMobikuZm9yRWFjaChXPT57dmFyIEQ9bltXXTtpZih0eXBlb2YgRCh2b2lkIDAse3R5cGU6R2R9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKGBUaGUgc2xpY2UgcmVkdWNlciBmb3Iga2V5ICIke1d9IiByZXR1cm5lZCB1bmRlZmluZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLiBJZiB0aGUgc3RhdGUgcGFzc2VkIHRvIHRoZSByZWR1Y2VyIGlzIHVuZGVmaW5lZCwgeW91IG11c3QgZXhwbGljaXRseSByZXR1cm4gdGhlIGluaXRpYWwgc3RhdGUuIFRoZSBpbml0aWFsIHN0YXRlIG1heSBub3QgYmUgdW5kZWZpbmVkLiBJZiB5b3UgZG9uJ3Qgd2FudCB0byBzZXQgYSB2YWx1ZSBmb3IgdGhpcyByZWR1Y2VyLCB5b3UgY2FuIHVzZSBudWxsIGluc3RlYWQgb2YgdW5kZWZpbmVkLmApO2lmKHR5cGVvZiBEKHZvaWQgMCx7dHlwZTpgQEByZWR1eC9QUk9CRV9VTktOT1dOX0FDVElPTiR7dHIoKX1gfSk9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcihgVGhlIHNsaWNlIHJlZHVjZXIgZm9yIGtleSAiJHtXfSIgcmV0dXJuZWQgdW5kZWZpbmVkIHdoZW4gcHJvYmVkIHdpdGggYSByYW5kb20gdHlwZS4gRG9uJ3QgdHJ5IHRvIGhhbmRsZSAnJHtHZH0nIG9yIG90aGVyIGFjdGlvbnMgaW4gInJlZHV4LyoiIG5hbWVzcGFjZS4gVGhleSBhcmUgY29uc2lkZXJlZCBwcml2YXRlLiBJbnN0ZWFkLCB5b3UgbXVzdCByZXR1cm4gdGhlIGN1cnJlbnQgc3RhdGUgZm9yIGFueSB1bmtub3duIGFjdGlvbnMsIHVubGVzcyBpdCBpcyB1bmRlZmluZWQsIGluIHdoaWNoIGNhc2UgeW91IG11c3QgcmV0dXJuIHRoZSBpbml0aWFsIHN0YXRlLCByZWdhcmRsZXNzIG9mIHRoZSBhY3Rpb24gdHlwZS4gVGhlIGluaXRpYWwgc3RhdGUgbWF5IG5vdCBiZSB1bmRlZmluZWQsIGJ1dCBjYW4gYmUgbnVsbC5gKTsKfSl9OwokZj1mdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuZ2V0U3RhdGUoKSB3aGlsZSB0aGUgcmVkdWNlciBpcyBleGVjdXRpbmcuIFRoZSByZWR1Y2VyIGhhcyBhbHJlYWR5IHJlY2VpdmVkIHRoZSBzdGF0ZSBhcyBhbiBhcmd1bWVudC4gUGFzcyBpdCBkb3duIGZyb20gdGhlIHRvcCByZWR1Y2VyIGluc3RlYWQgb2YgcmVhZGluZyBpdCBmcm9tIHRoZSBzdG9yZS4iKTtyZXR1cm4geH0KZnVuY3Rpb24gdihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBsaXN0ZW5lciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59J2ApO2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuc3Vic2NyaWJlKCkgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBJZiB5b3Ugd291bGQgbGlrZSB0byBiZSBub3RpZmllZCBhZnRlciB0aGUgc3RvcmUgaGFzIGJlZW4gdXBkYXRlZCwgc3Vic2NyaWJlIGZyb20gYSBjb21wb25lbnQgYW5kIGludm9rZSBzdG9yZS5nZXRTdGF0ZSgpIGluIHRoZSBjYWxsYmFjayB0byBhY2Nlc3MgdGhlIGxhdGVzdCBzdGF0ZS4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL2FwaS9zdG9yZSNzdWJzY3JpYmVsaXN0ZW5lciBmb3IgbW9yZSBkZXRhaWxzLiIpO3ZhciBIPSEwO2U9PT1MJiYoZT1MLnNsaWNlKCkpO2UucHVzaChOKTtyZXR1cm4gZnVuY3Rpb24oKXtpZihIKXtpZihHKXRocm93IEVycm9yKCJZb3UgbWF5IG5vdCB1bnN1YnNjcmliZSBmcm9tIGEgc3RvcmUgbGlzdGVuZXIgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBTZWUgaHR0cHM6Ly9yZWR1eC5qcy5vcmcvYXBpL3N0b3JlI3N1YnNjcmliZWxpc3RlbmVyIGZvciBtb3JlIGRldGFpbHMuIik7Ckg9ITE7ZT09PUwmJihlPUwuc2xpY2UoKSk7ZS5zcGxpY2UoZS5pbmRleE9mKE4pLDEpO0w9bnVsbH19fQpmdW5jdGlvbiBrKE4pe2lmKHR5cGVvZiBOIT09Im9iamVjdCJ8fE49PT1udWxsKXZhciBIPSExO2Vsc2V7Zm9yKEg9TjtPYmplY3QuZ2V0UHJvdG90eXBlT2YoSCkhPT1udWxsOylIPU9iamVjdC5nZXRQcm90b3R5cGVPZihIKTtIPU9iamVjdC5nZXRQcm90b3R5cGVPZihOKT09PUh9aWYoIUgpdGhyb3cgRXJyb3IoYEFjdGlvbnMgbXVzdCBiZSBwbGFpbiBvYmplY3RzLiBJbnN0ZWFkLCB0aGUgYWN0dWFsIHR5cGUgd2FzOiAnJHt0eXBlb2YgTn0nLiBZb3UgbWF5IG5lZWQgdG8gYWRkIG1pZGRsZXdhcmUgdG8geW91ciBzdG9yZSBzZXR1cCB0byBoYW5kbGUgZGlzcGF0Y2hpbmcgb3RoZXIgdmFsdWVzLCBzdWNoIGFzICdyZWR1eC10aHVuaycgdG8gaGFuZGxlIGRpc3BhdGNoaW5nIGZ1bmN0aW9ucy4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC00LXN0b3JlI21pZGRsZXdhcmUgYW5kIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC02LWFzeW5jLWxvZ2ljI3VzaW5nLXRoZS1yZWR1eC10aHVuay1taWRkbGV3YXJlIGZvciBleGFtcGxlcy5gKTsKaWYodHlwZW9mIE4udHlwZT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCdBY3Rpb25zIG1heSBub3QgaGF2ZSBhbiB1bmRlZmluZWQgInR5cGUiIHByb3BlcnR5LiBZb3UgbWF5IGhhdmUgbWlzc3BlbGxlZCBhbiBhY3Rpb24gdHlwZSBzdHJpbmcgY29uc3RhbnQuJyk7aWYoRyl0aHJvdyBFcnJvcigiUmVkdWNlcnMgbWF5IG5vdCBkaXNwYXRjaCBhY3Rpb25zLiIpO3RyeXtHPSEwLHg9aCh4LE4pfWZpbmFsbHl7Rz0hMX1IPUw9ZTtmb3IobGV0IEE9MDtBPEgubGVuZ3RoO0ErKykoMCxIW0FdKSgpO3JldHVybiBOfQppZih0eXBlb2YgVz09PSJmdW5jdGlvbiImJnR5cGVvZiBEPT09ImZ1bmN0aW9uInx8dHlwZW9mIEQ9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgYXJndW1lbnRzWzNdPT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSXQgbG9va3MgbGlrZSB5b3UgYXJlIHBhc3Npbmcgc2V2ZXJhbCBzdG9yZSBlbmhhbmNlcnMgdG8gY3JlYXRlU3RvcmUoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiBJbnN0ZWFkLCBjb21wb3NlIHRoZW0gdG9nZXRoZXIgdG8gYSBzaW5nbGUgZnVuY3Rpb24uIFNlZSBodHRwczovL3JlZHV4LmpzLm9yZy90dXRvcmlhbHMvZnVuZGFtZW50YWxzL3BhcnQtNC1zdG9yZSNjcmVhdGluZy1hLXN0b3JlLXdpdGgtZW5oYW5jZXJzIGZvciBhbiBleGFtcGxlLiIpO3R5cGVvZiBXPT09ImZ1bmN0aW9uIiYmdHlwZW9mIEQ9PT0idW5kZWZpbmVkIiYmKEQ9VyxXPXZvaWQgMCk7aWYodHlwZW9mIEQhPT0idW5kZWZpbmVkIil7aWYodHlwZW9mIEQhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgZW5oYW5jZXIgdG8gYmUgYSBmdW5jdGlvbi4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBEfSdgKTsKcmV0dXJuIEQoJGYpKG4sVyl9aWYodHlwZW9mIG4hPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgcm9vdCByZWR1Y2VyIHRvIGJlIGEgZnVuY3Rpb24uIEluc3RlYWQsIHJlY2VpdmVkOiAnJHt0eXBlb2Ygbn0nYCk7dmFyIGg9bix4PVcsTD1bXSxlPUwsRz0hMTtrKHt0eXBlOkdkfSk7dmFyIHI9e2Rpc3BhdGNoOmssc3Vic2NyaWJlOnYsZ2V0U3RhdGU6YixyZXBsYWNlUmVkdWNlcjpmdW5jdGlvbihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBuZXh0UmVkdWNlciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59YCk7aD1OO2soe3R5cGU6RUtDfSk7cmV0dXJuIHJ9LApbcjJdOmZ1bmN0aW9uKCl7cmV0dXJue3N1YnNjcmliZShOKXtmdW5jdGlvbiBIKCl7Ti5uZXh0JiZOLm5leHQoYigpKX0KaWYodHlwZW9mIE4hPT0ib2JqZWN0Inx8Tj09PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgdGhlIG9ic2VydmVyIHRvIGJlIGFuIG9iamVjdC4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBOfSdgKTtIKCk7cmV0dXJue3Vuc3Vic2NyaWJlOnYoSCl9fSxbcjJdKCl7cmV0dXJuIHRoaXN9fX19OwpyZXR1cm4gcn07Ck5OPWZ1bmN0aW9uKG4pe3JldHVybiBuPyhuPW4ucHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlU2FmZVNjcmlwdFdyYXBwZWRWYWx1ZSk/bWMobik6bnVsbDpudWxsfTsKcHc9ZnVuY3Rpb24obil7cmV0dXJuIG4/KG49bi5wcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUpP2szKG4pOm51bGw6bnVsbH07CmcuSFY9ZnVuY3Rpb24obil7bj1ZZihuKTtyZXR1cm4gZy5ITShuKX07CmZ3PWZ1bmN0aW9uKG4pe249WWYobik7cmV0dXJuIGszKG4pfTsKWWY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT1udWxsPyJudWxsIjpuPT09dm9pZCAwPyJ1bmRlZmluZWQiOm59OwpKcj1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIn07CmcuU0g9ZnVuY3Rpb24oLi4ubil7bj1hcmd1bWVudHM7dmFyIFc9SUU7bi5sZW5ndGg+MT9XW25bMF1dPW5bMV06bi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKFcsblswXSl9OwpnLkFyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4gaW4gSUU/SUVbbl06V307Cm15PWZ1bmN0aW9uKG4pe3ZhciBXPUlFLkVYUEVSSU1FTlRfRkxBR1M7cmV0dXJuIFc/V1tuXTp2b2lkIDB9OwppMGI9ZnVuY3Rpb24obil7S3cuZm9yRWFjaChXPT5XKG4pKX07ClBWPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZ3aW5kb3cueXRlcnI/ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG4uYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKFcpe090KFcpfX06bn07Ck90PWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO1c/VyhuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCk6KFc9Zy5BcigiRVJST1JTIixbXSksVy5wdXNoKFtuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMF0pLGcuU0goIkVSUk9SUyIsVykpO2kwYihuKX07ClpFPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9Zy5ycigieXQubG9nZ2luZy5lcnJvcnMubG9nIik7az9rKG4sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2KTooaz1nLkFyKCJFUlJPUlMiLFtdKSxrLnB1c2goW24sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2XSksZy5TSCgiRVJST1JTIixrKSl9Owp5Rj1mdW5jdGlvbihuLFcpe1c9bi5zcGxpdChXKTt2YXIgRD17fTtmb3IobGV0IGs9MCxoPVcubGVuZ3RoO2s8aDtrKyspe2xldCB4PVdba10uc3BsaXQoIj0iKTtpZih4Lmxlbmd0aD09PTEmJnhbMF18fHgubGVuZ3RoPT09Mil0cnl7bGV0IEw9VXQoeFswXXx8IiIpLGU9VXQoeFsxXXx8IiIpO2lmKEwgaW4gRCl7bGV0IEc9RFtMXTtBcnJheS5pc0FycmF5KEcpP2cuUTIoRyxlKTpEW0xdPVtHLGVdfWVsc2UgRFtMXT1lfWNhdGNoKEwpe3ZhciBiPUwsdj14WzBdO2xldCBlPVN0cmluZyh5Rik7Yi5hcmdzPVt7a2V5OnYsdmFsdWU6eFsxXSxxdWVyeTpuLG1ldGhvZDp1UWg9PT1lPyJ1bmNoYW5nZWQiOmV9XTtvS2kuaGFzT3duUHJvcGVydHkodil8fFpFKGIpfX1yZXR1cm4gRH07CmcuRXQ9ZnVuY3Rpb24obil7dmFyIFc9W107Zy5hXyhuLChELGIpPT57dmFyIHY9cWgoYik7Zy55MihBcnJheS5pc0FycmF5KEQpP0Q6W0RdLGs9PntrPT0iIj9XLnB1c2godik6Vy5wdXNoKGAke3Z9PSR7cWgoayl9YCl9KX0pOwpyZXR1cm4gVy5qb2luKCImIil9OwpnLml3PWZ1bmN0aW9uKG4pe24uY2hhckF0KDApPT09Ij8iJiYobj1uLnN1YnN0cmluZygxKSk7cmV0dXJuIHlGKG4sIiYiKX07CnV3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNwbGl0KCIsIikubWFwKFc9PmcuaXcoVykpfTsKZy5vRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCI/IikhPT0tMT8obj0obnx8IiIpLnNwbGl0KCIjIilbMF0sbj1uLnNwbGl0KCI/IiwyKSxnLml3KG4ubGVuZ3RoPjE/blsxXTpuWzBdKSk6e319OwpnLnpkPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGQyKG4sV3x8e30sITApfTsKZy5sdz1mdW5jdGlvbihuLFcpe3JldHVybiBkMihuLFd8fHt9LCExKX07CmQyPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLnNwbGl0KCIjIiwyKTtuPWJbMF07Yj1iLmxlbmd0aD4xPyIjIitiWzFdOiIiO3ZhciB2PW4uc3BsaXQoIj8iLDIpO249dlswXTt2PWcuaXcodlsxXXx8IiIpO2ZvcihsZXQgayBpbiBXKWlmKER8fCFnLmVwKHYsaykpdltrXT1XW2tdO3JldHVybiBnLkVUKG4sdikrYn07CmcuVGQ9ZnVuY3Rpb24obil7aWYoIVcpdmFyIFc9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIEQ9Zy5mcChuKVsxXXx8bnVsbCxiPWcuSVAobik7RCYmYj8obj1nLmZwKG4pLFc9Zy5mcChXKSxuPW5bM109PVdbM10mJm5bMV09PVdbMV0mJm5bNF09PVdbNF0pOm49Yj9nLklQKFcpPT09YiYmKE51bWJlcihnLmZwKFcpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKGcuZnAobilbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gbn07Cmcuakg9ZnVuY3Rpb24obil7bnx8KG49ZG9jdW1lbnQubG9jYXRpb24uaHJlZik7bj1nLmZwKG4pWzFdfHxudWxsO3JldHVybiBuIT09bnVsbCYmbj09PSJodHRwcyJ9OwpnLkJWPWZ1bmN0aW9uKG4pe249Q3cobik7cmV0dXJuIG49PT1udWxsPyExOm5bMF09PT0iY29tIiYmblsxXS5tYXRjaCgvXnlvdXR1YmUoPzpraWRzfC1ub2Nvb2tpZSk/JC8pPyEwOiExfTsKZy5GJD1mdW5jdGlvbihuKXtuPUN3KG4pO3JldHVybiBuPT09bnVsbD8hMTpuWzFdPT09Imdvb2dsZSI/ITA6blsyXT09PSJnb29nbGUiP25bMF09PT0iYXUiJiZuWzFdPT09ImNvbSI/ITA6blswXT09PSJ1ayImJm5bMV09PT0iY28iPyEwOiExOiExfTsKQ3c9ZnVuY3Rpb24obil7bj1nLklQKG4pO3JldHVybiBuIT09bnVsbD9uLnNwbGl0KCIuIikucmV2ZXJzZSgpOm51bGx9OwpVdD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmbi5tYXRjaChkeGkpP246RzUobil9OwpnLk1OPWZ1bmN0aW9uKG4pe2E6e2xldCBEO3RyeXtEPW4uTi50b3AubG9jYXRpb24uaHJlZn1jYXRjaChiKXtuPTI7YnJlYWsgYX1uPUQ/RD09PW4uSi5sb2NhdGlvbi5ocmVmPzA6MToyfW49e2R0OnpDdyxmbGFzaDoiMCIsZnJtOm59O3RyeXtuLnVfdHo9LShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKTt0cnl7dmFyIFc9Zy53Mi5oaXN0b3J5Lmxlbmd0aH1jYXRjaChEKXtXPTB9bi51X2hpcz1XO24udV9oPWcudzIuc2NyZWVuPy5oZWlnaHQ7bi51X3c9Zy53Mi5zY3JlZW4/LndpZHRoO24udV9haD1nLncyLnNjcmVlbj8uYXZhaWxIZWlnaHQ7bi51X2F3PWcudzIuc2NyZWVuPy5hdmFpbFdpZHRoO24udV9jZD1nLncyLnNjcmVlbj8uY29sb3JEZXB0aH1jYXRjaChEKXt9cmV0dXJuIG59OwpnLlFGPWZ1bmN0aW9uKG49SnIoKSl7dmFyIFc9Zy5SRSxEPU9iamVjdCxiPUQuYXNzaWduLHY9Zy5NTihXKTt2YXIgaz1XLk47dHJ5e3ZhciBoPWsuc2NyZWVuWDt2YXIgeD1rLnNjcmVlbll9Y2F0Y2goVCl7fXRyeXt2YXIgTD1rLm91dGVyV2lkdGg7dmFyIGU9ay5vdXRlckhlaWdodH1jYXRjaChUKXt9dHJ5e3ZhciBHPWsuaW5uZXJXaWR0aDt2YXIgcj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIE49ay5zY3JlZW5MZWZ0O3ZhciBIPWsuc2NyZWVuVG9wfWNhdGNoKFQpe310cnl7Rz1rLmlubmVyV2lkdGgscj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIEE9ay5zY3JlZW4uYXZhaWxXaWR0aDt2YXIgeT1rLnNjcmVlbi5hdmFpbFRvcH1jYXRjaChUKXt9az1bTixILGgseCxBLHksTCxlLEcscl07aD1nLnNJKCExLFcuTi50b3ApO3g9bmV3IGxYcjsiU1ZHRWxlbWVudCJpbiBnLnFpJiYiY3JlYXRlRWxlbWVudE5TImluIGcucWkuZG9jdW1lbnQmJnguc2V0KDApOwpMPVRUcigpO0xbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZ4LnNldCgxKTtMWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmeC5zZXQoMik7Zy5xaS5jcnlwdG8mJmcucWkuY3J5cHRvLnN1YnRsZSYmeC5zZXQoMyk7IlRleHREZWNvZGVyImluIGcucWkmJiJUZXh0RW5jb2RlciJpbiBnLnFpJiZ4LnNldCg0KTtXPXtiYzpOV2goeCksYmloOmguaGVpZ2h0LGJpdzpoLndpZHRoLGJyZGltOmsuam9pbigpLHZpczpnLk53KFcuSiksd2dsOiEhZy53Mi5XZWJHTFJlbmRlcmluZ0NvbnRleHR9O0Q9Yi5jYWxsKEQsdixXKTtELmNhX3R5cGU9ImltYWdlIjtuJiYoRC5iaWQ9bik7cmV0dXJuIER9OwpUVzI9ZnVuY3Rpb24oKXtpZighVkYpcmV0dXJuIG51bGw7dmFyIG49VkYoKTtyZXR1cm4ib3BlbiJpbiBuP246bnVsbH07CmFFPWZ1bmN0aW9uKG4pe3N3aXRjaChjVihuKSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDM6Y2FzZSAyMDQ6Y2FzZSAyMDU6Y2FzZSAyMDY6Y2FzZSAzMDQ6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19OwpjVj1mdW5jdGlvbihuKXtyZXR1cm4gbiYmInN0YXR1cyJpbiBuP24uc3RhdHVzOi0xfTsKZy5uJD1mdW5jdGlvbihuLFcpe3R5cGVvZiBuPT09ImZ1bmN0aW9uIiYmKG49UFYobikpO3JldHVybiB3aW5kb3cuc2V0VGltZW91dChuLFcpfTsKVzA9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09PSJmdW5jdGlvbiImJihuPVBWKG4pKTtyZXR1cm4gd2luZG93LnNldEludGVydmFsKG4sVyl9OwpEcj1mdW5jdGlvbihuKXt3aW5kb3cuY2xlYXJJbnRlcnZhbChuKX07CmcubD1mdW5jdGlvbihuLFcpe249YmIobixXKTtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIiYmbj09PSJmYWxzZSI/ITE6ISFufTsKdjA9ZnVuY3Rpb24obixXKXtyZXR1cm4gTnVtYmVyKGJiKG4sVyl8fDApfTsKa1Q9ZnVuY3Rpb24oKXtyZXR1cm4gZy5BcigiRVhQRVJJTUVOVFNfVE9LRU4iLCIiKX07CmJiPWZ1bmN0aW9uKG4sVyl7bj1nLkFyKCJFWFBFUklNRU5UX0ZMQUdTIix7fSlbbl07cmV0dXJuIG4hPT12b2lkIDA/bjpXfTsKaHk9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPWcuQXIoIkVYUEVSSU1FTlRTX0ZPUkNFRF9GTEFHUyIse30pO2Zvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhXKSluLnB1c2goe2tleTpELHZhbHVlOlN0cmluZyhXW0RdKX0pO0Q9Zy5BcigiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhEKSliLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZXW2JdPT09dm9pZCAwJiZuLnB1c2goe2tleTpiLHZhbHVlOlN0cmluZyhEW2JdKX0pO3JldHVybiBufTsKeFQ9ZnVuY3Rpb24obixXLEQ9IkdFVCIsYj0iIix2LGssaCx4PSExLEwpe3ZhciBlPVRXMigpO2lmKCFlKXJldHVybiBudWxsO3ZhciBHPSgpPT57KGUmJiJyZWFkeVN0YXRlImluIGU/ZS5yZWFkeVN0YXRlOjApPT09NCYmVyYmUFYoVykoZSl9Owoib25sb2FkZW5kImluIGU/ZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixHLCExKTplLm9ucmVhZHlzdGF0ZWNoYW5nZT1HO2cubCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYobj1qMloobikpO2Uub3BlbihELG4sITApO2smJihlLnJlc3BvbnNlVHlwZT1rKTtoJiYoZS53aXRoQ3JlZGVudGlhbHM9ITApO0Q9RD09PSJQT1NUIiYmKHdpbmRvdy5Gb3JtRGF0YT09PXZvaWQgMHx8IShiIGluc3RhbmNlb2YgRm9ybURhdGEpKTtpZih2PUNwTShuLHYpKWZvcihsZXQgciBpbiB2KWUuc2V0UmVxdWVzdEhlYWRlcihyLHZbcl0pLCJjb250ZW50LXR5cGUiPT09ci50b0xvd2VyQ2FzZSgpJiYoRD0hMSk7RCYmZS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKTtMJiYib25wcm9ncmVzcyJpbiBlJiYoZS5vbnByb2dyZXNzPSgpPT57TChlLnJlc3BvbnNlVGV4dCl9KTsKaWYoeCYmInNldEF0dHJpYnV0aW9uUmVwb3J0aW5nImluIFhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZSl7bj17ZXZlbnRTb3VyY2VFbGlnaWJsZTohMCx0cmlnZ2VyRWxpZ2libGU6ITF9O3RyeXtlLnNldEF0dHJpYnV0aW9uUmVwb3J0aW5nKG4pfWNhdGNoKHIpe1pFKHIpfX1lLnNlbmQoYik7cmV0dXJuIGV9OwpDcE09ZnVuY3Rpb24obixXPXt9KXt2YXIgRD1nLlRkKG4pLGI9Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIiksdj1nLmwoIndlYl9hamF4X2lnbm9yZV9nbG9iYWxfaGVhZGVyc19pZl9zZXQiKTtmb3IobGV0IHggaW4gTCQpe2xldCBMPWcuQXIoTCRbeF0pLGU9eD09PSJYLUdvb2ctQXV0aFVzZXIifHx4PT09IlgtR29vZy1QYWdlSWQiO3ghPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxMfHwoTD1nLkFyKCJWSVNJVE9SX0RBVEEiKSk7dmFyIGs7aWYoIShrPSFMKSl7aWYoIShrPUR8fChnLklQKG4pPyExOiEwKSkpe2s9bjt2YXIgaDtpZihoPWcubCgiYWRkX2F1dGhfaGVhZGVyc190b19yZW1hcmtldGluZ19nb29nbGVfZG90X2NvbV9waW5nIikmJng9PT0iQXV0aG9yaXphdGlvbiImJihiPT09IlRWSFRNTDUifHxiPT09IlRWSFRNTDVfVU5QTFVHR0VEInx8Yj09PSJUVkhUTUw1X1NJTVBMWSIpJiZnLkYkKGspKWs9UzEoayl8fCIiLGs9ay5zcGxpdCgiLyIpLGs9Ii8iKyhrLmxlbmd0aD4KMT9rWzFdOiIiKSxoPWs9PT0iL3BhZ2VhZCI7az1oPyEwOiExfWs9IWt9a3x8diYmV1t4XSE9PXZvaWQgMHx8Yj09PSJUVkhUTUw1X1VOUExVR0dFRCImJmV8fChXW3hdPUwpfSJYLUdvb2ctRU9NLVZpc2l0b3ItSWQiaW4gVyYmIlgtR29vZy1WaXNpdG9yLUlkImluIFcmJmRlbGV0ZSBXWyJYLUdvb2ctVmlzaXRvci1JZCJdO2lmKER8fCFnLklQKG4pKVdbIlgtWW91VHViZS1VdGMtT2Zmc2V0Il09U3RyaW5nKC0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO2lmKER8fCFnLklQKG4pKXtsZXQgeDt0cnl7eD0obmV3IEludGwuRGF0ZVRpbWVGb3JtYXQpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lfWNhdGNoe314JiYoV1siWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPXgpfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhRCYmZy5JUChuKXx8KFdbIlgtWW91VHViZS1BZC1TaWduYWxzIl09Zy5FdChnLlFGKCkpKTtyZXR1cm4gV307Cmc4PWZ1bmN0aW9uKG4sVyl7Vy5tZXRob2Q9IlBPU1QiO1cucG9zdFBhcmFtc3x8KFcucG9zdFBhcmFtcz17fSk7cmV0dXJuIGcuZWQobixXKX07CkJXaj1mdW5jdGlvbihuLFcpe2lmKHdpbmRvdy5mZXRjaCYmVy5mb3JtYXQhPT0iWE1MIil7dmFyIEQ9e21ldGhvZDpXLm1ldGhvZHx8IkdFVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn07Vy5oZWFkZXJzJiYoRC5oZWFkZXJzPVcuaGVhZGVycyk7Vy5wcmlvcml0eSYmKEQucHJpb3JpdHk9Vy5wcmlvcml0eSk7bj1YbihuLFcpO3ZhciBiPXFYKG4sVyk7YiYmKEQuYm9keT1iKTtXLndpdGhDcmVkZW50aWFscyYmKEQuY3JlZGVudGlhbHM9ImluY2x1ZGUiKTt2YXIgdj1XLmNvbnRleHR8fGcucWksaz0hMSxoO2ZldGNoKG4sRCkudGhlbih4PT57aWYoIWspe2s9ITA7aCYmd2luZG93LmNsZWFyVGltZW91dChoKTt2YXIgTD14Lm9rLGU9Rz0+e0c9R3x8e307TD9XLm9uU3VjY2VzcyYmVy5vblN1Y2Nlc3MuY2FsbCh2LEcseCk6Vy5vbkVycm9yJiZXLm9uRXJyb3IuY2FsbCh2LEcseCk7Vy5vbkZpbmlzaCYmVy5vbkZpbmlzaC5jYWxsKHYsRyx4KX07CihXLmZvcm1hdHx8IkpTT04iKT09PSJKU09OIiYmKEx8fHguc3RhdHVzPj00MDAmJnguc3RhdHVzPDUwMCk/eC5qc29uKCkudGhlbihlLCgpPT57ZShudWxsKX0pOmUobnVsbCl9fSkuY2F0Y2goKCk9PntXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKHYse30se30pfSk7Cm49Vy50aW1lb3V0fHwwO1cub25GZXRjaFRpbWVvdXQmJm4+MCYmKGg9Zy5uJCgoKT0+e2t8fChrPSEwLHdpbmRvdy5jbGVhclRpbWVvdXQoaCksVy5vbkZldGNoVGltZW91dC5jYWxsKFcuY29udGV4dHx8Zy5xaSkpfSxuKSl9ZWxzZSBnLmVkKG4sVyl9OwpnLmVkPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5mb3JtYXR8fCJKU09OIjtuPVhuKG4sVyk7dmFyIGI9cVgobixXKSx2PSExLGs9RngxKG4seD0+e2lmKCF2KXt2PSEwO2gmJndpbmRvdy5jbGVhclRpbWVvdXQoaCk7dmFyIEw9YUUoeCksZT1udWxsLEc9NDAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NTAwLHI9NTAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NjAwO2lmKEx8fEd8fHIpZT13MjIobixELHgsVy5jb252ZXJ0VG9TYWZlSHRtbCk7TCYmKEw9TXVDKEQseCxlKSk7ZT1lfHx7fTtHPVcuY29udGV4dHx8Zy5xaTtMP1cub25TdWNjZXNzJiZXLm9uU3VjY2Vzcy5jYWxsKEcseCxlKTpXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKEcseCxlKTtXLm9uRmluaXNoJiZXLm9uRmluaXNoLmNhbGwoRyx4LGUpfX0sVy5tZXRob2QsYixXLmhlYWRlcnMsVy5yZXNwb25zZVR5cGUsVy53aXRoQ3JlZGVudGlhbHMsITEsVy5vblByb2dyZXNzKTsKYj1XLnRpbWVvdXR8fDA7aWYoVy5vblRpbWVvdXQmJmI+MCl7bGV0IHg9Vy5vblRpbWVvdXQ7dmFyIGg9Zy5uJCgoKT0+e3Z8fCh2PSEwLGsuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLHguY2FsbChXLmNvbnRleHR8fGcucWksaykpfSxiKX1yZXR1cm4ga307ClhuPWZ1bmN0aW9uKG4sVyl7Vy5pbmNsdWRlRG9tYWluJiYobj1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKyhkb2N1bWVudC5sb2NhdGlvbi5wb3J0PyI6Iitkb2N1bWVudC5sb2NhdGlvbi5wb3J0OiIiKStuKTt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKTtpZihXPVcudXJsUGFyYW1zKVdbRF0mJmRlbGV0ZSBXW0RdLG49Zy56ZChuLFcpO3JldHVybiBufTsKcVg9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKSxiPWcuQXIoIlhTUkZfVE9LRU4iKSx2PVcucG9zdEJvZHl8fCIiLGs9Vy5wb3N0UGFyYW1zLGg9Zy5BcigiWFNSRl9GSUVMRF9OQU1FIikseDtXLmhlYWRlcnMmJih4PVcuaGVhZGVyc1siQ29udGVudC1UeXBlIl0pO1cuZXhjbHVkZVhzcmZ8fGcuSVAobikmJiFXLndpdGhDcmVkZW50aWFscyYmZy5JUChuKSE9PWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfHxXLm1ldGhvZCE9PSJQT1NUInx8eCYmeCE9PSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifHxXLnBvc3RQYXJhbXMmJlcucG9zdFBhcmFtc1toXXx8KGt8fChrPXt9KSxrW0RdPWIpO2smJnR5cGVvZiB2PT09InN0cmluZyImJih2PWcuaXcodiksZy5ZeSh2LGspLHY9Vy5wb3N0Qm9keUZvcm1hdCYmVy5wb3N0Qm9keUZvcm1hdD09PSJKU09OIj9KU09OLnN0cmluZ2lmeSh2KTp5Ryh2KSk7az12fHxrJiYhZy5HRihrKTshR1EmJgprJiZXLm1ldGhvZCE9PSJQT1NUIiYmKEdRPSEwLE90KEVycm9yKCJBSkFYIHJlcXVlc3Qgd2l0aCBwb3N0RGF0YSBzaG91bGQgdXNlIFBPU1QiKSkpO3JldHVybiB2fTsKdzIyPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW51bGw7c3dpdGNoKFcpe2Nhc2UgIkpTT04iOmxldCBrO3RyeXtrPUQucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGI9RXJyb3IoIkVycm9yIHJlYWRpbmcgcmVzcG9uc2VUZXh0IiksYi5wYXJhbXM9bixaRShiKSxoO31uPUQuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpfHwiIjtpZihrJiZuLmluZGV4T2YoImpzb24iKT49MCl7ay5zdWJzdHJpbmcoMCw1KT09PSIpXX0nXG4iJiYoaz1rLnN1YnN0cmluZyg1KSk7dHJ5e3Y9SlNPTi5wYXJzZShrKX1jYXRjaChoKXt9fWJyZWFrO2Nhc2UgIlhNTCI6aWYobj0obj1ELnJlc3BvbnNlWE1MKT9SQ1Uobik6bnVsbCl2PXt9LGcueTIobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLGg9Pnt2W2gudGFnTmFtZV09UTJpKGgpfSl9YiYmdHkodik7CnJldHVybiB2fTsKdHk9ZnVuY3Rpb24obil7aWYoZy5mdChuKSlmb3IobGV0IFcgaW4gbilXPT09Imh0bWxfY29udGVudCJ8fGcuQlooVywiX2h0bWwiKT9uW1ddPWcuSE0obltXXSk6dHkobltXXSl9OwpNdUM9ZnVuY3Rpb24obixXLEQpe2lmKFcmJlcuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChuKXtjYXNlICJKU09OIjpyZXR1cm4hIUQ7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKEQmJkQucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFEfX07ClJDVT1mdW5jdGlvbihuKXtyZXR1cm4gbj8obj0oInJlc3BvbnNlWE1MImluIG4/bi5yZXNwb25zZVhNTDpuKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgicm9vdCIpKSYmbi5sZW5ndGg+MD9uWzBdOm51bGw6bnVsbH07ClEyaT1mdW5jdGlvbihuKXt2YXIgVz0iIjtnLnkyKG4uY2hpbGROb2RlcyxEPT57Vys9RC5ub2RlVmFsdWV9KTsKcmV0dXJuIFd9OwpqMlo9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxEPWcuSVAobik7Zy5sKCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IUQmJmcuVGQobikmJihEPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgYj1TMShuKTtiPShEPUQmJihELmVuZHNXaXRoKCJ5b3V0dWJlLmNvbSIpfHxELmVuZHNXaXRoKCJ5b3V0dWJlLW5vY29va2llLmNvbSIpKSkmJmImJmIuc3RhcnRzV2l0aCgiL2FwaS8iKTtpZighRHx8YilyZXR1cm4gbjt2YXIgdj1nLml3KFcpLGs9e307Zy55MihWdWIsaD0+e3ZbaF0mJihrW2hdPXZbaF0pfSk7CnJldHVybiBnLmx3KG4sayl9OwpnLnI4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5zMChXKSxiO3JldHVybihuZXcgZy5YMSgodixrKT0+e0Qub25TdWNjZXNzPWg9PnthRShoKT92KG5ldyBjNFUoaCkpOmsobmV3IGcuJFQoYFJlcXVlc3QgZmFpbGVkLCBzdGF0dXM9JHtjVihoKX1gLCJuZXQuYmFkc3RhdHVzIixoKSl9OwpELm9uRXJyb3I9aD0+e2sobmV3IGcuJFQoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIixoKSl9OwpELm9uVGltZW91dD1oPT57ayhuZXcgZy4kVCgiUmVxdWVzdCB0aW1lZCBvdXQiLCJuZXQudGltZW91dCIsaCkpfTsKYj1nLmVkKG4sRCl9KSkuc1Aodj0+e3YgaW5zdGFuY2VvZiBnLkk1JiZiPy5hYm9ydCgpOwpyZXR1cm4gZy5ycCh2KX0pfTsKZy5zej1mdW5jdGlvbihuLFcsRCxiLHY9LTEsayl7dmFyIGg9TD0+bmV3IGcuWDEoZT0+e3NldFRpbWVvdXQoZSxMKX0pLHg9KEwsZSxHKT0+TC5zUChyPT57aWYoZTw9MHx8Y1Yoci54aHIpPT09NDAzKXJldHVybiBnLnJwKG5ldyBnLiRUKCJSZXF1ZXN0IHJldHJpZWQgdG9vIG1hbnkgdGltZXMiLCJuZXQucmV0cnlleGhhdXN0ZWQiLHIueGhyKSk7CnZhciBOPU1hdGgucG93KDIsRC1lKzEpKkcsSD12PjA/TWF0aC5taW4odixOKTpOO3JldHVybiBoKEcpLnRoZW4oKCk9PntrJiZrKHIsZS0xKTtyZXR1cm4geChnLnI4KG4sVyksZS0xLEgpfSl9KTsKcmV0dXJuIHgoZy5yOChuLFcpLEQtMSxiKX07CmFYQz1mdW5jdGlvbihuLFc9bnVsbCl7bi5XPTI7bi5KPVd9OwpuVXc9ZnVuY3Rpb24obixXPW51bGwpe24uVz0xO24uSj1XfTsKZy5wJD1mdW5jdGlvbihuPW51bGwpe3ZhciBXPW5ldyBOWDthWEMoVyxuKTtyZXR1cm4gV307CmcuSDA9ZnVuY3Rpb24obj1udWxsKXt2YXIgVz1uZXcgTlg7blV3KFcsbik7cmV0dXJuIFd9OwpJSz1mdW5jdGlvbihuLFcsRCxiPSJ5b3V0dWJlLmNvbSIsdj0hMSl7ZiR8fEp5LnNldCgiIituLFcse256OkQscGF0aDoiLyIsZG9tYWluOmIsc2VjdXJlOnZ9KX07CmcuU2Q9ZnVuY3Rpb24obil7aWYoIWYkKXJldHVybiBKeS5nZXQoIiIrbix2b2lkIDApfTsKQXk9ZnVuY3Rpb24obixXPSIvIixEPSJ5b3V0dWJlLmNvbSIpe2YkfHxKeS5yZW1vdmUoIiIrbixXLEQpfTsKZy5taj1mdW5jdGlvbigpe2lmKCFKeS5pc0VuYWJsZWQoKSlyZXR1cm4hMTtpZighSnkuaXNFbXB0eSgpKXJldHVybiEwO0p5LnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse256OjYwfSk7aWYoSnkuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTtKeS5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKZy53PWZ1bmN0aW9uKG4sVyl7aWYobilyZXR1cm4gbltXLm5hbWVdfTsKSyQ9ZnVuY3Rpb24obil7dmFyIFc9Zy5BcigiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiKTtXJiYobj1TdHJpbmcoVykrU3RyaW5nKG1XKG4pKSk7cmV0dXJuIG59OwpnWj1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47dmFyIGs7KG4tNSYxMyk9PTEmJihrPURbSVsxN11dP0RbSVsxN11dW0lbMzVdXShJWzYzXSk6RFtJWzI2XV09PT1JWzYzXSk7aWYoKG4+PjEmNyk9PTEpe3ZhciBoPVAwKHZeNjQ0MCx2XjEzODcsRCk7YltJW3ZeNjQyNF1dKElbdl42NDM3XSxoKTtrPVtdfShuJjEzKT09biYmYltJWzVdXSE9MCYmKGg9b1MoNCw3NjI0LEQsYiksRD1oWzBdKTtyZXR1cm4ga307ClpyPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2cubCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKFcucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIG49Zy5sdyhuLFcpfTsKVXo9ZnVuY3Rpb24obixXPSJQT1NUIil7bj17bWV0aG9kOlcsbW9kZTpnLlRkKG4pPyJzYW1lLW9yaWdpbiI6ImNvcnMiLGNyZWRlbnRpYWxzOmcuVGQobik/InNhbWUtb3JpZ2luIjoiaW5jbHVkZSJ9O1c9e307dmFyIEQ9e307Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKFcpKVdbYl0mJihEW2JdPVdbYl0pO09iamVjdC5rZXlzKEQpLmxlbmd0aD4wJiYobi5oZWFkZXJzPUQpO3JldHVybiBufTsKeUg9ZnVuY3Rpb24obixXPXt9KXtyZXR1cm5gc2VydmljZToke259LyR7T2JqZWN0LmtleXMoVykuc29ydCgpLm1hcChEPT5EKyI6IitXW0RdKS5qb2luKCIvIil9YH07CkV6PWZ1bmN0aW9uKCl7dmFyIG49L0Nocm9tZVwvKFxkKykvLmV4ZWMoZy5YUSgpKTtyZXR1cm4gbj9wYXJzZUZsb2F0KG5bMV0pOk5hTn07CmliPWZ1bmN0aW9uKCl7dmFyIG49L1xzQ29iYWx0XC8oXFMrKVxzLy5leGVjKGcuWFEoKSk7aWYoIW4pcmV0dXJuIE5hTjt2YXIgVz1bXTtmb3IobGV0IEQgb2YgblsxXS5zcGxpdCgiLiIpKW49cGFyc2VJbnQoRCwxMCksbj49MCYmVy5wdXNoKG4pO3JldHVybiBwYXJzZUZsb2F0KFcuam9pbigiLiIpKX07Cm9LPWZ1bmN0aW9uKCl7cmV0dXJuIGcudWIoImFuZHJvaWQiKSYmZy51YigiY2hyb21lIikmJiEoZy51YigidHJpZGVudC8iKXx8Zy51YigiZWRnZS8iKSkmJiFnLnViKCJjb2JhbHQiKX07CmcuZDg9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiY29iYWx0Iil9Owp6UT1mdW5jdGlvbigpe3JldHVybiBnLnViKCJjb2JhbHQiKSYmZy51YigiYXBwbGV0diIpfTsKbGI9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiKHBzMzsgbGVhbmJhY2sgc2hlbGwpIil8fGcudWIoInBzMyIpJiZnLmQ4KCl9OwpUUT1mdW5jdGlvbigpe3JldHVybiBnLnViKCIocHM0OyBsZWFuYmFjayBzaGVsbCkiKXx8Zy51YigicHM0IikmJmcuZDgoKX07CmcuamQ9ZnVuY3Rpb24oKXtyZXR1cm4gZy5kOCgpJiYoZy51YigicHM0IHZyIil8fGcudWIoInBzNCBwcm8gdnIiKSl9OwpDJD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMCl9OwpCMD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMil9OwpGbj1mdW5jdGlvbigpe3JldHVybiBnLnViKCJpZW1vYmlsZSIpfHxnLnViKCJ3aW5kb3dzIHBob25lIikmJmcudWIoImVkZ2UiKX07ClJLPWZ1bmN0aW9uKCl7cmV0dXJuKHc4fHxNWCkmJmcudWIoImFwcGxld2Via2l0IikmJiFnLnViKCJ2ZXJzaW9uIikmJighZy51Yigic2FmYXJpIil8fGcudWIoImdzYS8iKSl9OwpWSD1mdW5jdGlvbigpe3JldHVybiBnLlFIJiZnLnViKCJ2ZXJzaW9uLyIpfTsKYzA9ZnVuY3Rpb24oKXtyZXR1cm4gZy51Yigic21hcnQtdHYiKSYmZy51Yigic2Ftc3VuZyIpfTsKZy51Yj1mdW5jdGlvbihuKXt2YXIgVz1nLlhRKCk7cmV0dXJuIFc/Vy50b0xvd2VyQ2FzZSgpLmluZGV4T2Yobik+PTA6ITF9OwpnLmFLPWZ1bmN0aW9uKCl7cmV0dXJuIGo2KCl8fFJLKCl8fFZIKCk/ITA6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpPyExOiEwfTsKbnk9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz09PXZvaWQgMHx8Vz09PW51bGw/bjpXPT09IjEifHxXPT09ITB8fFc9PT0xfHxXPT09IlRydWUiPyEwOiExfTsKV0I9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBEKWlmKERbYl09PVcpcmV0dXJuIERbYl07cmV0dXJuIG59OwpEST1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwfHxXPT09bnVsbD9uOk51bWJlcihXKX07CmJPPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc9PT12b2lkIDB8fFc9PT1udWxsP246Vy50b1N0cmluZygpfTsKdkI9ZnVuY3Rpb24obixXKXtpZihXKXtpZihuPT09ImZ1bGx3aWR0aCIpcmV0dXJuIEluZmluaXR5O2lmKG49PT0iZnVsbGhlaWdodCIpcmV0dXJuIDB9cmV0dXJuIG4mJihXPW4ubWF0Y2goVzAxKSkmJihuPU51bWJlcihXWzJdKSxXPU51bWJlcihXWzFdKSwhaXNOYU4obikmJiFpc05hTihXKSYmbj4wKT9XL246TmFOfTsKa1I9ZnVuY3Rpb24obil7dmFyIFc9bi5kb2NpZHx8bi52aWRlb19pZHx8bi52aWRlb0lkfHxuLmlkO2lmKFcpcmV0dXJuIFc7Vz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7V3x8KG49bi5wbGF5ZXJfcmVzcG9uc2UpJiYoVz1KU09OLnBhcnNlKG4pKTtyZXR1cm4gVyYmVy52aWRlb0RldGFpbHMmJlcudmlkZW9EZXRhaWxzLnZpZGVvSWR8fG51bGx9OwpnLnhSPWZ1bmN0aW9uKG4pe3JldHVybiBoTyhuLCExKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwifTsKTHk9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9GSVhFRF9QTEFZQkFDS19MSU1JVCJ8fG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIj8hMDohMX07CmhPPWZ1bmN0aW9uKG4sVz0hMSl7Vz1XPyJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIjoiRU1CRURERURfUExBWUVSX01PREVfVU5LTk9XTiI7d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLmluY2x1ZGVzKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpJiYoVz0iRU1CRURERURfUExBWUVSX01PREVfUEZMIik7dmFyIEQ9bi5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFEJiYobj1uLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZSkpdHJ5e0Q9SlNPTi5wYXJzZShuKX1jYXRjaChiKXtyZXR1cm4gV31yZXR1cm4gRD9XQihXLEQuZW1iZWRkZWRQbGF5ZXJNb2RlLEQzMSk6V307CmI1dD1mdW5jdGlvbihuKXtuJiYobi5kYXRhc2V0P24uZGF0YXNldFtlXygpXT0idHJ1ZSI6cXd0KG4pKX07CmdKPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGF0YXNldD9uLmRhdGFzZXRbZV8oKV06bi5nZXRBdHRyaWJ1dGUoImRhdGEtbG9hZGVkIik6bnVsbH07CmVfPWZ1bmN0aW9uKCl7cmV0dXJuIFhrLmxvYWRlZHx8KFhrLmxvYWRlZD0ibG9hZGVkIi5yZXBsYWNlKC9cLShbYS16XSkvZywobixXKT0+Vy50b1VwcGVyQ2FzZSgpKSl9OwpHMT1mdW5jdGlvbigpe3ZhciBuPWRvY3VtZW50O2lmKCJ2aXNpYmlsaXR5U3RhdGUiaW4gbilyZXR1cm4gbi52aXNpYmlsaXR5U3RhdGU7dmFyIFc9cTArIlZpc2liaWxpdHlTdGF0ZSI7aWYoVyBpbiBuKXJldHVybiBuW1ddfTsKdE89ZnVuY3Rpb24obixXKXt2YXIgRDtnLm9NKG4sYj0+e0Q9V1tiXTtyZXR1cm4hIUR9KTsKcmV0dXJuIER9OwokUj1mdW5jdGlvbihuKXtpZihuLnJlcXVlc3RGdWxsc2NyZWVuKW49bi5yZXF1ZXN0RnVsbHNjcmVlbih2b2lkIDApO2Vsc2UgaWYobi53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbiluPW4ud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ubW96UmVxdWVzdEZ1bGxTY3JlZW4pbj1uLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7ZWxzZSBpZihuLm1zUmVxdWVzdEZ1bGxzY3JlZW4pbj1uLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ud2Via2l0RW50ZXJGdWxsc2NyZWVuKW49bi53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTtlbHNlIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiRnVsbHNjcmVlbiBBUEkgdW5hdmFpbGFibGUiKSk7cmV0dXJuIG4gaW5zdGFuY2VvZiBQcm9taXNlP246UHJvbWlzZS5yZXNvbHZlKCl9OwpOMD1mdW5jdGlvbihuKXt2YXIgVztnLnJKKCk/c1AoKT09biYmKFc9ZG9jdW1lbnQpOlc9bjtyZXR1cm4gVyYmKG49dE8oWyJleGl0RnVsbHNjcmVlbiIsIndlYmtpdEV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1zRXhpdEZ1bGxzY3JlZW4iXSxXKSk/KFc9bi5jYWxsKFcpLFcgaW5zdGFuY2VvZiBQcm9taXNlP1c6UHJvbWlzZS5yZXNvbHZlKCkpOlByb21pc2UucmVzb2x2ZSgpfTsKdlUxPWZ1bmN0aW9uKG4pe3JldHVybiBnLmxfKFsiZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtb3pmdWxsc2NyZWVuY2hhbmdlIiwiTVNGdWxsc2NyZWVuQ2hhbmdlIl0sVz0+YG9uJHtXLnRvTG93ZXJDYXNlKCl9YGluIG4pfTsKZy5ySj1mdW5jdGlvbigpe3JldHVybiEhdE8oWyJmdWxsc2NyZWVuRW5hYmxlZCIsIndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkIiwibW96RnVsbFNjcmVlbkVuYWJsZWQiLCJtc0Z1bGxzY3JlZW5FbmFibGVkIl0sZG9jdW1lbnQpfTsKc1A9ZnVuY3Rpb24obj0hMSl7dmFyIFc9dE8oWyJmdWxsc2NyZWVuRWxlbWVudCIsIndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IiwibW96RnVsbFNjcmVlbkVsZW1lbnQiLCJtc0Z1bGxzY3JlZW5FbGVtZW50Il0sZG9jdW1lbnQpO2lmKG4pZm9yKDtXJiZXLnNoYWRvd1Jvb3Q7KVc9Vy5zaGFkb3dSb290LmZ1bGxzY3JlZW5FbGVtZW50O3JldHVybiBXP1c6bnVsbH07CnB5PWZ1bmN0aW9uKG4pe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IFc9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtuLk49bi5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO24uSj1uLmNsaWVudFkrV319OwprOWk9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5hZGRFdmVudExpc3RlbmVyJiYoVyE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P1chPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9XPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoVz0iTW96TW91c2VQaXhlbFNjcm9sbCIpOlc9Im1vdXNlb3V0IjpXPSJtb3VzZW92ZXIiKTtyZXR1cm4gZy5YTChnLllSLHY9Pnt2YXIgaz10eXBlb2Ygdls0XT09PSJib29sZWFuIiYmdls0XT09ISFiLGg9Zy5mdCh2WzRdKSYmZy5mdChiKSYmZy5ybSh2WzRdLGIpO3JldHVybiEhdi5sZW5ndGgmJnZbMF09PW4mJnZbMV09PVcmJnZbMl09PUQmJihrfHxoKX0pfTsKZy5JOT1mdW5jdGlvbihuLFcsRCxiPXt9KXtpZighbnx8IW4uYWRkRXZlbnRMaXN0ZW5lciYmIW4uYXR0YWNoRXZlbnQpcmV0dXJuIiI7dmFyIHY9azlpKG4sVyxELGIpO2lmKHYpcmV0dXJuIHY7dj0rK0hCLmNvdW50KyIiO3ZhciBrPSEoVyE9Im1vdXNlZW50ZXIiJiZXIT0ibW91c2VsZWF2ZSJ8fCFuLmFkZEV2ZW50TGlzdGVuZXJ8fCJvbm1vdXNlZW50ZXIiaW4gZG9jdW1lbnQpO3ZhciBoPWs/eD0+e3g9bmV3IGZ5KHgpO2lmKCFnLlJoKHgucmVsYXRlZFRhcmdldCxMPT5MPT1uLCEwKSlyZXR1cm4geC5jdXJyZW50VGFyZ2V0PW4seC50eXBlPVcsRC5jYWxsKG4seCl9Ong9Pnt4PW5ldyBmeSh4KTsKeC5jdXJyZW50VGFyZ2V0PW47cmV0dXJuIEQuY2FsbChuLHgpfTsKaD1QVihoKTtuLmFkZEV2ZW50TGlzdGVuZXI/KFc9PSJtb3VzZWVudGVyIiYmaz9XPSJtb3VzZW92ZXIiOlc9PSJtb3VzZWxlYXZlIiYmaz9XPSJtb3VzZW91dCI6Vz09Im1vdXNld2hlZWwiJiYiTW96Qm94U2l6aW5nImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmKFc9Ik1vek1vdXNlUGl4ZWxTY3JvbGwiKSxKTygpfHx0eXBlb2YgYj09PSJib29sZWFuIj9uLmFkZEV2ZW50TGlzdGVuZXIoVyxoLGIpOm4uYWRkRXZlbnRMaXN0ZW5lcihXLGgsISFiLmNhcHR1cmUpKTpuLmF0dGFjaEV2ZW50KGBvbiR7V31gLGgpO2cuWVJbdl09W24sVyxELGgsYl07cmV0dXJuIHZ9OwpnLlNfPWZ1bmN0aW9uKG4pe24mJih0eXBlb2Ygbj09InN0cmluZyImJihuPVtuXSksZy55MihuLFc9PntpZihXIGluIGcuWVIpe3ZhciBEPWcuWVJbV107bGV0IGI9RFswXSx2PURbMV0saz1EWzNdO0Q9RFs0XTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Sk8oKXx8dHlwZW9mIEQ9PT0iYm9vbGVhbiI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKHYsayxEKTpiLnJlbW92ZUV2ZW50TGlzdGVuZXIodixrLCEhRC5jYXB0dXJlKTpiLmRldGFjaEV2ZW50JiZiLmRldGFjaEV2ZW50KGBvbiR7dn1gLGspO2RlbGV0ZSBnLllSW1ddfX0pKX07CkFPPWZ1bmN0aW9uKG4pe249bnx8d2luZG93LmV2ZW50O3ZhciBXO24uY29tcG9zZWRQYXRoJiZ0eXBlb2Ygbi5jb21wb3NlZFBhdGg9PT0iZnVuY3Rpb24iP1c9bi5jb21wb3NlZFBhdGgoKTpXPW4ucGF0aDtXJiZXLmxlbmd0aD9uPVdbMF06KG49bnx8d2luZG93LmV2ZW50LG49bi50YXJnZXR8fG4uc3JjRWxlbWVudCxuLm5vZGVUeXBlPT0zJiYobj1uLnBhcmVudE5vZGUpKTtyZXR1cm4gbn07Cm1ZPWZ1bmN0aW9uKG4pe3RoaXMuSz1uO3RoaXMuTj1udWxsO3RoaXMuWD0wO3RoaXMuVj1udWxsO3RoaXMuaj0wO3RoaXMuSj1bXTtmb3Iobj0wO248NDtuKyspdGhpcy5KLnB1c2goMCk7dGhpcy5XPTA7dGhpcy5jSj1nLkk5KHdpbmRvdywibW91c2Vtb3ZlIiwoMCxnLkt0KSh0aGlzLkQsdGhpcykpO3RoaXMuWT1XMCgoMCxnLkt0KSh0aGlzLk8sdGhpcyksMjUpfTsKS3k9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxELmxlbmd0aDt2Kyspbi5OTihXLERbdl0sYil9OwpnLlBCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1EJiZEPjA/RDowO0Q9Yj9EYXRlLm5vdygpK2IqMUUzOjA7aWYoKGI9Yj9PUC5CcCgpOk9QLnFiKCkpJiZ3aW5kb3cuSlNPTil7dHlwZW9mIFchPT0ic3RyaW5nIiYmKFc9SlNPTi5zdHJpbmdpZnkoVyx2b2lkIDApKTt0cnl7Yi5zZXQobixXLEQpfWNhdGNoKHYpe2IucmVtb3ZlKG4pfX19OwpnLlpJPWZ1bmN0aW9uKG4pe3ZhciBXPU9QLnFiKCksRD1PUC5CcCgpO2lmKCFXJiYhRHx8IXdpbmRvdy5KU09OKXJldHVybiBudWxsO3RyeXt2YXIgYj1XLmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIil0cnl7Yj1ELmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIilyZXR1cm4gbnVsbDt0cnl7Yj1KU09OLnBhcnNlKGIsdm9pZCAwKX1jYXRjaCh2KXt9cmV0dXJuIGJ9OwpVUD1mdW5jdGlvbigpe3ZhciBuPU9QLkJwKCk7aWYobiYmKG49bi5NRCgieXQtcGxheWVyLXF1YWxpdHkiKSkpcmV0dXJuIG4uY3JlYXRpb259Owp5eD1mdW5jdGlvbigpe2lmKCFnLnFpLm1hdGNoTWVkaWEpcmV0dXJuIldFQl9ESVNQTEFZX01PREVfVU5LTk9XTiI7dHJ5e3JldHVybiBnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IG1pbmltYWwtdWkpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGZ1bGxzY3JlZW4pIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChuKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwppTz1mdW5jdGlvbigpe0VQLmluc3RhbmNlfHwoRVAuaW5zdGFuY2U9bmV3IEVQKTtyZXR1cm4gRVAuaW5zdGFuY2V9OwpocWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFU0tUT1AiOnJldHVybiAxO2Nhc2UgIlVOS05PV05fUExBVEZPUk0iOnJldHVybiAwO2Nhc2UgIlRWIjpyZXR1cm4gMjtjYXNlICJHQU1FX0NPTlNPTEUiOnJldHVybiAzO2Nhc2UgIk1PQklMRSI6cmV0dXJuIDQ7Y2FzZSAiVEFCTEVUIjpyZXR1cm4gNX19OwpnLm85PWZ1bmN0aW9uKCl7dU98fCh1Tz1uZXcgeDNiKTtyZXR1cm4gdU99OwpkSj1mdW5jdGlvbihuKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1hdGNoOiAke259YCk7fTsKejE9ZnVuY3Rpb24obil7aWYoIS9eXHcrJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1pc21hdGNoOiAke259YCk7fTsKVDE9ZnVuY3Rpb24obil7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChuKT9wYXJzZUludChuLDE2KTpudWxsfTsKal89ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbj9uLmNvbm5lY3Rpb246dm9pZCAwfTsKQkI9ZnVuY3Rpb24oKXt2YXIgbj1qXygpO2lmKG4pe3ZhciBXPUN5W24udHlwZXx8InVua25vd24iXXx8IkNPTk5fVU5LTk9XTiI7bj1DeVtuLmVmZmVjdGl2ZVR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO1c9PT0iQ09OTl9DRUxMVUxBUl9VTktOT1dOIiYmbiE9PSJDT05OX1VOS05PV04iJiYoVz1uKTtpZihXIT09IkNPTk5fVU5LTk9XTiIpcmV0dXJuIFc7aWYobiE9PSJDT05OX1VOS05PV04iKXJldHVybiBufX07CndKPWZ1bmN0aW9uKCl7dmFyIG49al8oKTtpZihuPy5lZmZlY3RpdmVUeXBlKXJldHVybiBGay5oYXNPd25Qcm9wZXJ0eShuLmVmZmVjdGl2ZVR5cGUpP0ZrW24uZWZmZWN0aXZlVHlwZV06IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfVU5LTk9XTiJ9OwpSOT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gTTAoKSwhMH1jYXRjaChuKXtyZXR1cm4hMX19OwpNMD1mdW5jdGlvbigpe2lmKGcuQXIoIkRBVEFTWU5DX0lEIikhPT12b2lkIDApcmV0dXJuIGcuQXIoIkRBVEFTWU5DX0lEIik7dGhyb3cgbmV3IGcuUXgoIkRhdGFzeW5jIElEIG5vdCBzZXQiLCJ1bmtub3duIik7fTsKZy5jQj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGcuVngoMCxXLDAsRCl9OwphOT1mdW5jdGlvbihuKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSW1tZWRpYXRlSm9iIik7Vz9XKG4pOm4oKX07CmcuRHk9ZnVuY3Rpb24oKXtXTi5pbnN0YW5jZXx8KFdOLmluc3RhbmNlPW5ldyBXTik7cmV0dXJuIFdOLmluc3RhbmNlfTsKZy5WeD1mdW5jdGlvbihuLFcsRCxiKXtiIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGIpKSYmKGI9dm9pZCAwKTtyZXR1cm4obj1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIikpP24oVyxELGIpOmI9PT12b2lkIDA/KFcoKSxOYU4pOmcubiQoVyxifHwwKX07CmJRPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpO1cmJlcobil9OwprdT1mdW5jdGlvbigpe3JldHVybiB2TigpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTsKTEY9ZnVuY3Rpb24obil7aGN8fCh4dS5wdXNoKHt0eXBlOiJFUlJPUiIscGF5bG9hZDpufSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmVGPWZ1bmN0aW9uKG4sVyl7aGN8fCh4dS5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOm4scGF5bG9hZDpXfSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmcwPWZ1bmN0aW9uKG4pe2lmKG4uaW5kZXhPZigiOiIpPj0wKXRocm93IEVycm9yKCJEYXRhYmFzZSBuYW1lIGNhbm5vdCBjb250YWluICc6JyIpO307ClhxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnN1YnN0cigwLG4uaW5kZXhPZigiOiIpKXx8bn07CiR1PWZ1bmN0aW9uKG4sVyxELGIpe1c9WHEoVyk7dmFyIHY9biBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYFVuZXhwZWN0ZWQgZXJyb3I6ICR7bn1gKTtpZih2IGluc3RhbmNlb2YgcUwpcmV0dXJuIHY7bj17b2JqZWN0U3RvcmVOYW1lczpELGRiTmFtZTpXLGRiVmVyc2lvbjpifTtpZih2Lm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yIilyZXR1cm4gbmV3IHFMKCJRVU9UQV9FWENFRURFRCIsbik7aWYoZy5HbiYmdi5uYW1lPT09IlVua25vd25FcnJvciIpcmV0dXJuIG5ldyBxTCgiUVVPVEFfTUFZQkVfRVhDRUVERUQiLG4pO2lmKHYgaW5zdGFuY2VvZiB0YylyZXR1cm4gbmV3IHFMKCJNSVNTSU5HX0lOREVYIix7Li4ubixvYmplY3RTdG9yZTp2Lm9iamVjdFN0b3JlLGluZGV4OnYuaW5kZXh9KTtpZih2Lm5hbWU9PT0iSW52YWxpZFN0YXRlRXJyb3IiJiZMMGkuc29tZShrPT52Lm1lc3NhZ2UuaW5jbHVkZXMoaykpKXJldHVybiBuZXcgcUwoIkVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCIiwKbik7CmlmKHYubmFtZT09PSJBYm9ydEVycm9yIilyZXR1cm4gbmV3IHFMKCJVTktOT1dOX0FCT1JUIixuLHYubWVzc2FnZSk7di5hcmdzPVt7Li4ubixuYW1lOiJJZGJFcnJvciIsYTc6di5uYW1lfV07di5sZXZlbD0iV0FSTklORyI7cmV0dXJuIHZ9OwpnLnIwPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1rdSgpO3JldHVybiBuZXcgcUwoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOm4scHVibGljTmFtZTpXLHZlcnNpb246RCxoYXNTdWNjZWVkZWRPbmNlOmI/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9OwplcTE9ZnVuY3Rpb24obil7aWYoIW4pdGhyb3cgRXJyb3IoKTt0aHJvdyBuO307CmdVcj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CnBGPWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IkZVTEZJTExFRCIpdGhyb3cgRXJyb3IoImNhbGxpbmcgaGFuZGxlUmVzb2x2ZSBiZWZvcmUgdGhlIHByb21pc2UgaXMgZnVsZmlsbGVkLiIpO2xldCBrPUQobi5zdGF0ZS52YWx1ZSk7ayBpbnN0YW5jZW9mIHNSP05MKG4sVyxrLGIsdik6YihrKX1jYXRjaChrKXt2KGspfX07Cll1PWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IlJFSkVDVEVEIil0aHJvdyBFcnJvcigiY2FsbGluZyBoYW5kbGVSZWplY3QgYmVmb3JlIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLiIpO2xldCBrPUQobi5zdGF0ZS5yZWFzb24pO2sgaW5zdGFuY2VvZiBzUj9OTChuLFcsayxiLHYpOmIoayl9Y2F0Y2goayl7dihrKX19OwpOTD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9PT1EP3YobmV3IFR5cGVFcnJvcigiQ2lyY3VsYXIgcHJvbWlzZSBjaGFpbiBkZXRlY3RlZC4iKSk6RC50aGVuKGs9PntrIGluc3RhbmNlb2Ygc1I/TkwobixXLGssYix2KTpiKGspfSxrPT57dihrKX0pfTsKSE49ZnVuY3Rpb24obixXLEQpe3ZhciBiPSgpPT57dHJ5e24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsdiksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsayl9Y2F0Y2h7fX0sdj0oKT0+e1cobi5yZXN1bHQpOwpiKCl9LGs9KCk9PntEKG4uZXJyb3IpOwpiKCl9OwpuLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLHYpO24uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGspfTsKWDlVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZSgoVyxEKT0+e0hOKG4sVyxEKX0pfTsKSmM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntITihuLFcsRCl9KSl9OwpJZz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgc1IobmV3IGZGKChELGIpPT57dmFyIHY9KCk9Pnt2YXIgaz1uP1cobik6bnVsbDtrP2sudGhlbihoPT57bj1oO3YoKX0sYik6RCgpfTsKdigpfSkpfTsKU0Y9ZnVuY3Rpb24obil7cmV0dXJuIEpjKG4pLnRoZW4oVz0+Vz9uZXcgcV8yKG4sVyk6bnVsbCl9OwpBYz1mdW5jdGlvbigpe3JldHVybiBnLmwoImlkYl9pbW1lZGlhdGVfY29tbWl0Iil9OwpPUj1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj17bW9kZToicmVhZG9ubHkiLEdROiExLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIn07dHlwZW9mIEQ9PT0ic3RyaW5nIj92Lm1vZGU9RDpPYmplY3QuYXNzaWduKHYsRCk7bi50cmFuc2FjdGlvbkNvdW50Kys7RD12LkdRPzM6MTtmb3IodmFyIGs9MCxoOyFoOyl7aysrO2xldCBHPU1hdGgucm91bmQoKDAsZy5SKSgpKTt0cnl7dmFyIHg9bi5OLnRyYW5zYWN0aW9uKFcsdi5tb2RlKSxMPWIsZT0hIXYuY29tbWl0O2xldCByPW5ldyBtWCh4KSxOPWF3YWl0IEc5dyhyLEwsZSksSD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7S0YobixHLEgsayx2b2lkIDAsVy5qb2luKCksdik7cmV0dXJuIE59Y2F0Y2gocil7TD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7bGV0IE49JHUocixuLk4ubmFtZSxXLmpvaW4oKSxuLk4udmVyc2lvbik7aWYoTiBpbnN0YW5jZW9mIHFMJiYhTi5OfHxrPj1EKUtGKG4sRyxMLGssTixXLmpvaW4oKSwKdiksaD1OfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9OwpaeT1mdW5jdGlvbihuLFcsRCl7bj1uLk4uY3JlYXRlT2JqZWN0U3RvcmUoVyxEKTtyZXR1cm4gbmV3IFBOKG4pfTsKVVI9ZnVuY3Rpb24obixXKXtuLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhXKSYmbi5OLmRlbGV0ZU9iamVjdFN0b3JlKFcpfTsKS0Y9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7Vz1ELVc7dj8odiBpbnN0YW5jZW9mIHFMJiYodi50eXBlPT09IlFVT1RBX0VYQ0VFREVEInx8di50eXBlPT09IlFVT1RBX01BWUJFX0VYQ0VFREVEIikmJmVGKCJRVU9UQV9FWENFRURFRCIse2RiTmFtZTpYcShuLk4ubmFtZSksb2JqZWN0U3RvcmVOYW1lczprLHRyYW5zYWN0aW9uQ291bnQ6bi50cmFuc2FjdGlvbkNvdW50LHRyYW5zYWN0aW9uTW9kZTpoLm1vZGV9KSx2IGluc3RhbmNlb2YgcUwmJnYudHlwZT09PSJVTktOT1dOX0FCT1JUIiYmKEQtPW4uVyxEPDAmJkQ+PTIxNDc0ODM2NDgmJihEPTApLGVGKCJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCIse29iamVjdFN0b3JlTmFtZXM6ayx0cmFuc2FjdGlvbkR1cmF0aW9uOlcsdHJhbnNhY3Rpb25Db3VudDpuLnRyYW5zYWN0aW9uQ291bnQsZGJEdXJhdGlvbjpEfSksbi5KPSEwKSx5YyhuLCExLGIsayxXLGgudGFnKSxMRih2KSk6eWMobiwhMCxiLGssVyxoLnRhZyl9Owp5Yz1mdW5jdGlvbihuLFcsRCxiLHYsaz0iSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIil7ZUYoIlRSQU5TQUNUSU9OX0VOREVEIix7b2JqZWN0U3RvcmVOYW1lczpiLGNvbm5lY3Rpb25IYXNVbmtub3duQWJvcnRlZFRyYW5zYWN0aW9uOm4uSixkdXJhdGlvbjp2LGlzU3VjY2Vzc2Z1bDpXLHRyeUNvdW50OkQsdGFnOmt9KX07CkVSPWZ1bmN0aW9uKG4sVyxEKXtuLk4uY3JlYXRlSW5kZXgoVyxELHt1bmlxdWU6ITF9KX07CnVRPWZ1bmN0aW9uKG4sVyxEKXtuPW4uTi5vcGVuQ3Vyc29yKFcucXVlcnksVy5kaXJlY3Rpb24pO3JldHVybiBpUShuKS50aGVuKGI9PklnKGIsRCkpfTsKdFhVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIHVRKG4se3F1ZXJ5Old9LEQ9PkQuZGVsZXRlKCkudGhlbigoKT0+b2coRCkpKS50aGVuKCgpPT57fSl9OwokM3g9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB1UShuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwpzMHI9ZnVuY3Rpb24obil7dmFyIFc9W107cmV0dXJuIHJfaihuLEQ9PntXLnB1c2goRC5jdXJzb3IucHJpbWFyeUtleSk7RC5jdXJzb3IuY29udGludWUodm9pZCAwKTtyZXR1cm4gU0YoRC5yZXF1ZXN0KX0pLnRoZW4oKCk9PlcpfTsKZDA9ZnVuY3Rpb24obil7cmV0dXJuImdldEFsbEtleXMiaW4gSURCT2JqZWN0U3RvcmUucHJvdG90eXBlP0pjKG4uTi5nZXRBbGxLZXlzKHZvaWQgMCx2b2lkIDApKTpzMHIobil9OwpyX2o9ZnVuY3Rpb24obixXKXt2YXIgRD17cXVlcnk6dm9pZCAwfSxiPUQucXVlcnk7RD1ELmRpcmVjdGlvbjtuPSJvcGVuS2V5Q3Vyc29yImluIElEQk9iamVjdFN0b3JlLnByb3RvdHlwZT9uLk4ub3BlbktleUN1cnNvcihiLEQpOm4uTi5vcGVuQ3Vyc29yKGIsRCk7cmV0dXJuIFNGKG4pLnRoZW4odj0+SWcodixXKSl9OwpHOXc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyBQcm9taXNlKCh2LGspPT57dHJ5e2xldCBoPVcobik7RCYmbi5jb21taXQoKTtoLnRoZW4oeD0+e3YoeCl9KS5jYXRjaChrKX1jYXRjaChoKXtrKGgpLG4uYWJvcnQoKX19KTsKcmV0dXJuIFByb21pc2UuYWxsKFtiLG4uZG9uZV0pLnRoZW4oKFt2XSk9PnYpfTsKem49ZnVuY3Rpb24obixXLEQpe3ZhciB7cXVlcnk6Yj1udWxsLGRpcmVjdGlvbjp2PSJuZXh0In09VztuPW4uTi5vcGVuQ3Vyc29yKGIsdik7cmV0dXJuIGlRKG4pLnRoZW4oaz0+SWcoayxEKSl9OwpOWmk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB6bihuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwppUT1mdW5jdGlvbihuKXtyZXR1cm4gSmMobikudGhlbihXPT5XP25ldyBwOXgobixXKTpudWxsKX07Cm9nPWZ1bmN0aW9uKG4pe24uY3Vyc29yLmNvbnRpbnVlKHZvaWQgMCk7cmV0dXJuIGlRKG4ucmVxdWVzdCl9OwpINXg9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgUHJvbWlzZSgoYix2KT0+e3ZhciBrPVchPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihuLFcpOnNlbGYuaW5kZXhlZERCLm9wZW4obik7dmFyIGg9RC5ibG9ja2VkLHg9RC5ibG9ja2luZyxMPUQuQnosZT1ELnVwZ3JhZGUsRz1ELmNsb3NlZCxyLE49KCk9PntyfHwocj1uZXcgWV9yKGsucmVzdWx0LHtjbG9zZWQ6R30pKTtyZXR1cm4gcn07CmsuYWRkRXZlbnRMaXN0ZW5lcigidXBncmFkZW5lZWRlZCIsSD0+e3RyeXtpZihILm5ld1ZlcnNpb249PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IG5ld1ZlcnNpb24gb24gSURiVmVyc2lvbkNoYW5nZUV2ZW50IGlzIG51bGwiKTtpZihrLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigiSW52YXJpYW50OiB0cmFuc2FjdGlvbiBvbiBJRGJPcGVuRGJSZXF1ZXN0IGlzIG51bGwiKTtILmRhdGFMb3NzJiZILmRhdGFMb3NzIT09Im5vbmUiJiZlRigiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOkguZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpYcShuKX0pO2xldCBBPU4oKSx5PW5ldyBtWChrLnRyYW5zYWN0aW9uKTtlJiZlKEEsVD0+SC5vbGRWZXJzaW9uPFQmJkgubmV3VmVyc2lvbj49VCx5KTsKeS5kb25lLmNhdGNoKFQ9Pnt2KFQpfSl9Y2F0Y2goQSl7dihBKX19KTsKay5hZGRFdmVudExpc3RlbmVyKCJzdWNjZXNzIiwoKT0+e3ZhciBIPWsucmVzdWx0O3gmJkguYWRkRXZlbnRMaXN0ZW5lcigidmVyc2lvbmNoYW5nZSIsKCk9Pnt4KE4oKSl9KTsKSC5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCk9PntlRigiSURCX1VORVhQRUNURURMWV9DTE9TRUQiLHtkYk5hbWU6WHEobiksZGJWZXJzaW9uOkgudmVyc2lvbn0pO0wmJkwoKX0pOwpiKE4oKSl9KTsKay5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pnt2KGsuZXJyb3IpfSk7CmgmJmsuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntoKCl9KX0pfTsKbFE9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBINXgobixXLEQpfTsKVG49YXN5bmMgZnVuY3Rpb24obixXPXt9KXt0cnl7bGV0IEQ9c2VsZi5pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UobiksYj1XLmJsb2NrZWQ7YiYmRC5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIiwoKT0+e2IoKX0pOwphd2FpdCBYOVUoRCl9Y2F0Y2goRCl7dGhyb3cgJHUoRCxuLCIiLC0xKTt9fTsKakY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHFMKCJJTkNPTVBBVElCTEVfREJfVkVSU0lPTiIse2RiTmFtZTpuLm5hbWUsb2xkVmVyc2lvbjpuLm9wdGlvbnMudmVyc2lvbixuZXdWZXJzaW9uOld9KX07CkNGPWZ1bmN0aW9uKG4sVyl7aWYoIVcpdGhyb3cgZy5yMCgib3BlbldpdGhUb2tlbiIsWHEobi5uYW1lKSk7cmV0dXJuIG4ub3BlbigpfTsKRnE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gT1IoYXdhaXQgQ0YoQk4sVyksWyJkYXRhYmFzZXMiXSx7R1E6ITAsbW9kZToicmVhZHdyaXRlIn0sRD0+e3ZhciBiPUQub2JqZWN0U3RvcmUoImRhdGFiYXNlcyIpO3JldHVybiBiLmdldChuLmFjdHVhbE5hbWUpLnRoZW4odj0+e2lmKHY/bi5hY3R1YWxOYW1lIT09di5hY3R1YWxOYW1lfHxuLnB1YmxpY05hbWUhPT12LnB1YmxpY05hbWV8fG4udXNlcklkZW50aWZpZXIhPT12LnVzZXJJZGVudGlmaWVyOjEpcmV0dXJuIGIucHV0KG4pLnRoZW4oKCk9Pnt9KX0pfSl9Owp3MD1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBuPyhhd2FpdCBDRihCTixXKSkuZGVsZXRlKCJkYXRhYmFzZXMiLG4pOnZvaWQgMH07CmZCVT1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPVtdO1c9YXdhaXQgQ0YoQk4sVyk7YXdhaXQgT1IoVyxbImRhdGFiYXNlcyJdLHtHUTohMCxtb2RlOiJyZWFkb25seSJ9LGI9PntELmxlbmd0aD0wO3JldHVybiB1UShiLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKSx7fSx2PT57bih2LmdldFZhbHVlKCkpJiZELnB1c2godi5nZXRWYWx1ZSgpKTtyZXR1cm4gb2codil9KX0pOwpyZXR1cm4gRH07CkpfMj1mdW5jdGlvbihuLFcpe3JldHVybiBmQlUoRD0+RC5wdWJsaWNOYW1lPT09biYmRC51c2VySWRlbnRpZmllciE9PXZvaWQgMCxXKX07CklCaT1hc3luYyBmdW5jdGlvbigpe2lmKGt1KCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIG47aWYoIShuPWcuTUwmJkMkKCkmJiFCMCgpfHxnLlJnKSl7dHJ5e249c2VsZjt2YXIgVz0hIShuLmluZGV4ZWREQiYmbi5JREJJbmRleCYmbi5JREJLZXlSYW5nZSYmbi5JREJPYmplY3RTdG9yZSl9Y2F0Y2goRCl7Vz0hMX1uPSFXfWlmKG58fCEoIklEQlRyYW5zYWN0aW9uImluIHNlbGYmJiJvYmplY3RTdG9yZU5hbWVzImluIElEQlRyYW5zYWN0aW9uLnByb3RvdHlwZSkpcmV0dXJuITE7dHJ5e3JldHVybiBhd2FpdCBGcSh7YWN0dWFsTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIscHVibGljTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIsdXNlcklkZW50aWZpZXI6dm9pZCAwfSxRYyksYXdhaXQgdzAoInl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLFFjKSwhMH1jYXRjaChEKXtyZXR1cm4hMX19OwpjTj1mdW5jdGlvbigpe2lmKFZjIT09dm9pZCAwKXJldHVybiBWYztoYz0hMDtyZXR1cm4gVmM9SUJpKCkudGhlbihuPT57aGM9ITE7aWYodk4oKT8uSigpKXt2YXIgVz17aGFzU3VjY2VlZGVkT25jZTprdSgpPy5oYXNTdWNjZWVkZWRPbmNlfHxufTt2TigpPy5zZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsVywyNTkyRTMsITApfXJldHVybiBufSl9OwphZz1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dGdsb2JhbC5pZGJUb2tlbl8iKXx8dm9pZCAwfTsKZy5uUD1mdW5jdGlvbigpe3ZhciBuPWFnKCk7cmV0dXJuIG4/UHJvbWlzZS5yZXNvbHZlKG4pOmNOKCkudGhlbihXPT57Vz8oZy5HYigieXRnbG9iYWwuaWRiVG9rZW5fIixRYyksVz1RYyk6Vz12b2lkIDA7cmV0dXJuIFd9KX07Cld6PWZ1bmN0aW9uKG4pe2lmKCFSOSgpKXRocm93IG49bmV3IHFMKCJBVVRIX0lOVkFMSUQiLHtkYk5hbWU6bn0pLExGKG4pLG47dmFyIFc9TTAoKTtyZXR1cm57YWN0dWFsTmFtZTpgJHtufToke1d9YCxwdWJsaWNOYW1lOm4sdXNlcklkZW50aWZpZXI6V319OwpEbT1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1FcnJvcigpLnN0YWNrPz8iIixrPWF3YWl0IGcublAoKTtpZighayl0aHJvdyBXPWcucjAoIm9wZW5EYkltcGwiLG4sVyksZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIil8fChXLnN0YWNrPWAke1cuc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKSxMRihXKSxXO2cwKG4pO3Y9RD97YWN0dWFsTmFtZTpuLHB1YmxpY05hbWU6bix1c2VySWRlbnRpZmllcjp2b2lkIDB9Old6KG4pO3RyeXtyZXR1cm4gYXdhaXQgRnEodixrKSxhd2FpdCBsUSh2LmFjdHVhbE5hbWUsVyxiKX1jYXRjaChoKXt0cnl7YXdhaXQgdzAodi5hY3R1YWxOYW1lLGspfWNhdGNoe310aHJvdyBoO319OwpTX1o9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITEsRCl9OwpBX3I9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITAsRCl9OwptM3c9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLG49V3oobiksYXdhaXQgVG4obi5hY3R1YWxOYW1lLFcpLGF3YWl0IHcwKG4uYWN0dWFsTmFtZSxEKSl9OwpLMHI9ZnVuY3Rpb24obixXLEQpe249bi5tYXAoYXN5bmMgYj0+e2F3YWl0IFRuKGIuYWN0dWFsTmFtZSxXKTthd2FpdCB3MChiLmFjdHVhbE5hbWUsRCl9KTsKcmV0dXJuIFByb21pc2UuYWxsKG4pLnRoZW4oKCk9Pnt9KX07CmI5PWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9YXdhaXQgZy5uUCgpO0QmJihnMChuKSxuPWF3YWl0IEpfMihuLEQpLGF3YWl0IEswcihuLFcsRCkpfTsKdno9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLGF3YWl0IFRuKG4sVyksYXdhaXQgdzAobixEKSl9OwpQNE09ZnVuY3Rpb24obixXKXt2YXIgRDtyZXR1cm4oKT0+e0R8fChEPW5ldyBPNXQobixXKSk7cmV0dXJuIER9fTsKa089ZnVuY3Rpb24obixXKXtyZXR1cm4gUDRNKG4sVyl9OwpoNz1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoWjVDKCksbil9Owp4Tz1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXtuPXtjb25maWc6bixoYXNoRGF0YTpXLHRpbWVzdGFtcDpiIT09dm9pZCAwP2I6KDAsZy5SKSgpfTtEPWF3YWl0IGg3KEQpO2F3YWl0IEQuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IEQucHV0KCJob3RDb25maWdTdG9yZSIsbil9OwpMUD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYpe249e2NvbmZpZzpuLGhhc2hEYXRhOlcsY29uZmlnRGF0YTpELHRpbWVzdGFtcDp2IT09dm9pZCAwP3Y6KDAsZy5SKSgpfTtiPWF3YWl0IGg3KGIpO2F3YWl0IGIuY2xlYXIoImNvbGRDb25maWdTdG9yZSIpO3JldHVybiBhd2FpdCBiLnB1dCgiY29sZENvbmZpZ1N0b3JlIixuKX07CmU5PWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQgaDcobik7dmFyIFc9dm9pZCAwO2F3YWl0IE9SKG4sWyJjb2xkQ29uZmlnU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+em4oRC5vYmplY3RTdG9yZSgiY29sZENvbmZpZ1N0b3JlIikuaW5kZXgoImNvbGRUaW1lc3RhbXBJbmRleCIpLHtkaXJlY3Rpb246InByZXYifSxiPT57Vz1iLmdldFZhbHVlKCl9KSk7CnJldHVybiBXfTsKZzM9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCBoNyhuKTt2YXIgVz12b2lkIDA7YXdhaXQgT1IobixbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnpuKEQub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGI9PntXPWIuZ2V0VmFsdWUoKX0pKTsKcmV0dXJuIFd9OwpVM3Q9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgieXRHY2ZDb25maWciKX07CnFCPWZ1bmN0aW9uKCl7aWYoIWcuWDMuaW5zdGFuY2Upe2xldCBuPW5ldyBnLlgzO2cuWDMuaW5zdGFuY2U9bn1yZXR1cm4gZy5YMy5pbnN0YW5jZX07Cmk1aD1mdW5jdGlvbihuKXtpZighbi5KfHwhbi5OKXtpZighYWcoKSl7bGV0IFc9Zy5yMCgic2NoZWR1bGVHZXRDb25maWdzIik7WkUoVyl9bi5YfHwobi5YPXRhLkxTKGFzeW5jKCk9Pnt0cnl7YXdhaXQgeV9yKG4pfWNhdGNoe310cnl7YXdhaXQgRVVTKG4pfWNhdGNoe31uLlgmJihuLlg9MCl9LDEwMCkpfX07CnVEeD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmwoInN0YXJ0X2NsaWVudF9nY2YiKXx8Zy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpKWcubCgic3RhcnRfY2xpZW50X2djZiIpJiYoYXdhaXQgZy5uUCgpJiZSOSgpJiYhZy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpPyhuLlY9ITAsaTVoKG4pKTooR28obiksdDcobikpKSxnLmwoImRlbGV0ZV9nY2ZfY29uZmlnX2RiIikmJmF3YWl0IFUzdCgpfTsKJE89ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpfTsKdmFyIG9Vaj1mdW5jdGlvbihuLFcpe3JldHVybiBlWFtJWzEwXV0odGhpcywxMCw3MTI2LG4sVyl9OwpyMz1mdW5jdGlvbihuLFcpe24uSj1XO2cuR2IoInl0LmdjZi5jb25maWcuaG90Q29uZmlnR3JvdXAiLG4uSnx8bnVsbCl9Owp0Nz1mdW5jdGlvbihuKXtyMyhuLGcuQXIoIlJBV19IT1RfQ09ORklHX0dST1VQIikpO24uVyhnLkFyKCJTRVJJQUxJWkVEX0hPVF9IQVNIX0RBVEEiKSl9Owp5X3I9YXN5bmMgZnVuY3Rpb24obil7aWYobi5KKXJldHVybiAkTygpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0SG90Q29uZmlnIElEQiBub3QgaW5pdGlhbGl6ZWQiKSxaRShuKSxQcm9taXNlLnJlamVjdChuKTt2YXIgVz1hZygpLEQ9Zy5BcigiVElNRV9DUkVBVEVEX01TIik7aWYoVyl7dmFyIGI9YXdhaXQgZzMoVyk7aWYoYiYmYi50aW1lc3RhbXA+RClyZXR1cm4gcjMobixiLmNvbmZpZyksbi5XKGIuaGFzaERhdGEpLCRPKCl9ZWxzZSBiPWcucjAoImdldEhvdENvbmZpZyB0b2tlbiBlcnJvciIpLFpFKGIpO3Q3KG4pO1cmJm4uSiYmbi5ob3RIYXNoRGF0YSYmYXdhaXQgeE8obi5KLG4uaG90SGFzaERhdGEsVyxEKTtyZXR1cm4gbi5KPyRPKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKc0o9ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiKX07Ck5CPWZ1bmN0aW9uKG4sVyl7bi5OPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiLG4uTnx8bnVsbCl9OwpwUD1mdW5jdGlvbihuLFcpe24uY29uZmlnRGF0YT1XO2cuR2IoInl0LmdjZi5jb25maWcuY29sZENvbmZpZ0RhdGEiLG4uY29uZmlnRGF0YXx8bnVsbCl9OwpZTz1mdW5jdGlvbihuLFcpe24uY29sZEhhc2hEYXRhPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiLG4uY29sZEhhc2hEYXRhfHxudWxsKX07CkdvPWZ1bmN0aW9uKG4pe05CKG4sZy5BcigiUkFXX0NPTERfQ09ORklHX0dST1VQIikpO1lPKG4sZy5BcigiU0VSSUFMSVpFRF9DT0xEX0hBU0hfREFUQSIpKTtwUChuLG4uTj8uY29uZmlnRGF0YSl9OwpFVVM9YXN5bmMgZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBzSigpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0Q29sZENvbmZpZyBJREIgbm90IGluaXRpYWxpemVkIiksWkUobiksUHJvbWlzZS5yZWplY3Qobik7dmFyIFc9YWcoKSxEPWcuQXIoIlRJTUVfQ1JFQVRFRF9NUyIpO2lmKFcpe3ZhciBiPWF3YWl0IGU5KFcpO2lmKGImJmIudGltZXN0YW1wPkQpcmV0dXJuIE5CKG4sYi5jb25maWcpLHBQKG4sYi5jb25maWdEYXRhKSxZTyhuLGIuaGFzaERhdGEpLHNKKCl9ZWxzZSBiPWcucjAoImdldENvbGRDb25maWciKSxaRShiKTtHbyhuKTtXJiZuLk4mJm4uY29sZEhhc2hEYXRhJiZuLmNvbmZpZ0RhdGEmJmF3YWl0IExQKG4uTixuLmNvbGRIYXNoRGF0YSxuLmNvbmZpZ0RhdGEsVyxEKTtyZXR1cm4gbi5OP3NKKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKSHo9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKGcubCgic3RhcnRfY2xpZW50X2djZiIpKXtEJiZyMyhuLEQpO24uVyhXKTtsZXQgYj1hZygpO2ImJihEfHwoRD0oYXdhaXQgZzMoYikpPy5jb25maWcpLGF3YWl0IHhPKEQsVyxiKSk7aWYoRCl7bj1uLks7Zm9yKGxldCB2IG9mIG4uTil2KEQpfX19OwpmUD1hc3luYyBmdW5jdGlvbihuLFcsRCl7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJihZTyhuLFcpLG49YWcoKSkmJihEfHwoRD0oYXdhaXQgZTkobikpPy5jb25maWcpLEQmJmF3YWl0IExQKEQsVyxELmNvbmZpZ0RhdGEsbikpfTsKSjc9ZnVuY3Rpb24oKXt2YXIgbj1xQigpLFc9KDAsZy5SKSgpLW4uajtpZighKG4uaiE9PTAmJlc8djAoInNlbmRfY29uZmlnX2hhc2hfdGltZXIiKSkpe1c9Zy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnRGF0YSIpO3ZhciBEPWcucnIoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiKSxiPWcucnIoInl0LmdjZi5jb25maWcuY29sZEhhc2hEYXRhIik7VyYmRCYmYiYmKG4uaj0oMCxnLlIpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpXLGhvdEhhc2hEYXRhOkQsY29sZEhhc2hEYXRhOmJ9fX07Ckk3PWZ1bmN0aW9uKCl7cmV0dXJuIklOTkVSVFVCRV9BUElfS0VZImluIElFJiYiSU5ORVJUVUJFX0FQSV9WRVJTSU9OImluIElFfTsKZy5TOT1mdW5jdGlvbigpe3JldHVybntpbm5lcnR1YmVBcGlLZXk6Zy5BcigiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9BUElfVkVSU0lPTiIpLGNSOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9DT05GSUdfSU5GTyIpLEcwOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIiksRmQ6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpLGlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiksTWI6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSxFRTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9HTCIpLHY2OmcuQXIoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIil8fCIiLE9zOiEhZy5BcigiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSksT0Q6ISFnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIsCiExKSxhcHBJbnN0YWxsRGF0YTpnLkFyKCJTRVJJQUxJWkVEX0NMSUVOVF9DT05GSUdfREFUQSIpfX07CmcuVUo9ZnVuY3Rpb24obil7dmFyIFc9e2NsaWVudDp7aGw6bi5NYixnbDpuLkVFLGNsaWVudE5hbWU6bi5HMCxjbGllbnRWZXJzaW9uOm4uaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24sY29uZmlnSW5mbzpuLmNSfX07bmF2aWdhdG9yLnVzZXJBZ2VudCYmKFcuY2xpZW50LnVzZXJBZ2VudD1TdHJpbmcobmF2aWdhdG9yLnVzZXJBZ2VudCkpO3ZhciBEPWcucWkuZGV2aWNlUGl4ZWxSYXRpbztEJiZEIT0xJiYoVy5jbGllbnQuc2NyZWVuRGVuc2l0eUZsb2F0PVN0cmluZyhEKSk7RD1rVCgpO0QhPT0iIiYmKFcuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49RCk7RD1oeSgpO0QubGVuZ3RoPjAmJihXLnJlcXVlc3Q9e2ludGVybmFsRXhwZXJpbWVudEZsYWdzOkR9KTtBNyhuLHZvaWQgMCxXKTttVCh2b2lkIDAsVyk7S1Aodm9pZCAwLFcpO09KKG4sdm9pZCAwLFcpO1B6KHZvaWQgMCxXKTtnLmwoInN0YXJ0X2NsaWVudF9nY2YiKSYmWm0odm9pZCAwLFcpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJgohZy5sKCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoVy51c2VyPXtvbkJlaGFsZk9mVXNlcjpnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpfSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoVy51c2VyPXsuLi5XLnVzZXIsc2VyaWFsaXplZERlbGVnYXRpb25Db250ZXh0Om59KTtuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7Zy5sKCJlbmFibGVfcGVyc2lzdGVudF9kZXZpY2VfdG9rZW4iKSYmbj8uY2xpZW50Py5yb2xsb3V0VG9rZW4mJihXLmNsaWVudC5yb2xsb3V0VG9rZW49bj8uY2xpZW50Py5yb2xsb3V0VG9rZW4pO249T2JqZWN0O0Q9bi5hc3NpZ247dmFyIGI9Vy5jbGllbnQsdj1nLkFyKCJERVZJQ0UiLCIiKSxrPXt9O2ZvcihsZXQgW2gseF1vZiBPYmplY3QuZW50cmllcyhnLml3KHYpKSl2PWgsdj09PSJjYnJhbmQiPwprLmRldmljZU1ha2U9eDp2PT09ImNtb2RlbCI/ay5kZXZpY2VNb2RlbD14OnY9PT0iY2JyIj9rLmJyb3dzZXJOYW1lPXg6dj09PSJjYnJ2ZXIiP2suYnJvd3NlclZlcnNpb249eDp2PT09ImNvcyI/ay5vc05hbWU9eDp2PT09ImNvc3ZlciI/ay5vc1ZlcnNpb249eDp2PT09ImNwbGF0Zm9ybSImJihrLnBsYXRmb3JtPXgpO1cuY2xpZW50PUQuY2FsbChuLGIsayk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoVy5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsVy5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIFd9OwpBNz1mdW5jdGlvbihuLFcsRCl7bj1uLkcwO2lmKG49PT0iV0VCInx8bj09PSJNV0VCInx8bj09PTF8fG49PT0yKVc/KEQ9Z2UoVyx5ZCw5Nil8fG5ldyB5ZCxuPXl4KCksbj1PYmplY3Qua2V5cyhkM2opLmluZGV4T2Yobiksbj1uPT09LTE/bnVsbDpuLG4hPT1udWxsJiZLbihELDMsbiksJDkoVyx5ZCw5NixEKSk6RCYmKEQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPUQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPz97fSxELmNsaWVudC5tYWluQXBwV2ViSW5mby53ZWJEaXNwbGF5TW9kZT15eCgpKX07Cm1UPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpO0QmJihuPyhXPWdlKG4sRUosNyl8fG5ldyBFSixnLlNFKFcsNCxEKSwkOShuLEVKLDcsVykpOlcmJihXLnRoaXJkUGFydHk9e2VtYmVkVXJsOkR9KSl9OwpLUD1mdW5jdGlvbihuLFcpe2lmKGcubCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJmcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkpe2xldCBEPWcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnk7bj9veihuLDk1LGcubDQoRCoxRTYpKTpXJiYoVy5jbGllbnQubWVtb3J5VG90YWxLYnl0ZXM9YCR7RCoxRTZ9YCl9fTsKT0o9ZnVuY3Rpb24obixXLEQpe24uYXBwSW5zdGFsbERhdGEmJihXPyhEPWdlKFcsaTksNjIpPz9uZXcgaTksZy5TRShELDYsbi5hcHBJbnN0YWxsRGF0YSksJDkoVyxpOSw2MixEKSk6RCYmKEQuY2xpZW50LmNvbmZpZ0luZm89RC5jbGllbnQuY29uZmlnSW5mb3x8e30sRC5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1uLmFwcEluc3RhbGxEYXRhKSl9OwpQej1mdW5jdGlvbihuLFcpe3ZhciBEPUJCKCk7RCYmKG4/S24obiw2MSx6cXdbRF0pOlcmJihXLmNsaWVudC5jb25uZWN0aW9uVHlwZT1EKSk7Zy5sKCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKEQ9d0ooKSkmJihuP0tuKG4sOTQsbEJyW0RdKTpXJiYoVy5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9RCkpfTsKVFpqPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj17fTtnLkFyKCJFT01fVklTSVRPUl9EQVRBIik/Yj17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpfTpiPXsiWC1Hb29nLVZpc2l0b3ItSWQiOkQudmlzaXRvckRhdGF8fGcuQXIoIlZJU0lUT1JfREFUQSIsIiIpfTtpZihXJiZXLmluY2x1ZGVzKCJ3d3cueW91dHViZS1ub2Nvb2tpZS5jb20iKSlyZXR1cm4gYjtXPUQuUDF8fGcuQXIoIkFVVEhPUklaQVRJT04iKTtXfHwobj9XPWBCZWFyZXIgJHtnLnJyKCJnYXBpLmF1dGguZ2V0VG9rZW4iKSgpLmFjY2Vzc190b2tlbn1gOihuPWlPKCkuYWoodTkpLGcubCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIG5bIlgtR29vZy1QYWdlSWQiXSxiPXsuLi5iLC4uLm59KSk7VyYmKGIuQXV0aG9yaXphdGlvbj1XKTtyZXR1cm4gYn07ClptPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9SjcoKTtpZihEKXt2YXIgYj1ELmNvbGRDb25maWdEYXRhLHY9RC5jb2xkSGFzaERhdGE7RD1ELmhvdEhhc2hEYXRhO24/KFc9Z2UobixpOSw2Mik/P25ldyBpOSxiPWcuU0UoVywxLGIpLGcuU0UoYiwzLHYpLlcoRCksJDkobixpOSw2MixXKSk6VyYmKFcuY2xpZW50LmNvbmZpZ0luZm89Vy5jbGllbnQuY29uZmlnSW5mb3x8e30sYiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YiksdiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPXYpLEQmJihXLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPUQpKX19OwpvNz1mdW5jdGlvbihuKXt0aGlzLnZlcnNpb249MTt0aGlzLmFyZ3M9bn07CmQzPWZ1bmN0aW9uKG4sVyl7dGhpcy50b3BpYz1uO3RoaXMuTj1XfTsKbDk9ZnVuY3Rpb24obixXKXt2YXIgRD16bygpO0QmJkQucHVibGlzaC5jYWxsKEQsbi50b1N0cmluZygpLG4sVyl9OwpqMHg9ZnVuY3Rpb24obil7dmFyIFc9VG8sRD16bygpO2lmKCFEKXJldHVybiAwO3ZhciBiPUQuc3Vic2NyaWJlKFcudG9TdHJpbmcoKSwodixrKT0+e3ZhciBoPWcucnIoInl0UHVic3ViMlB1YnN1YjJTa2lwU3ViS2V5Iik7aCYmaD09Ynx8KGg9KCk9PntpZihqOVtiXSl0cnl7aWYoayYmVyBpbnN0YW5jZW9mIGQzJiZXIT12KXRyeXt7dmFyIHg9Vy5OLEw9aztpZighTC5hcmdzfHwhTC52ZXJzaW9uKXRocm93IEVycm9yKCJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogc2VyaWFsaXplZERhdGEgaXMgaW5jb21wbGV0ZS4iKTtsZXQgZTt0cnl7aWYoIXguQ2Ipe2xldCBHPW5ldyB4O3guQ2I9Ry52ZXJzaW9ufWU9eC5DYn1jYXRjaChHKXt9aWYoIWV8fEwudmVyc2lvbiE9ZSl0aHJvdyBFcnJvcigieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6IHNlcmlhbGl6ZWREYXRhIHZlcnNpb24gaXMgaW5jb21wYXRpYmxlLiIpO3RyeXtrPVJlZmxlY3QuY29uc3RydWN0KHgsZy5STShMLmFyZ3MpKX1jYXRjaChHKXt0aHJvdyBHLm1lc3NhZ2U9CiJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogIitHLm1lc3NhZ2UsRzt9fX1jYXRjaChlKXt0aHJvdyBlLm1lc3NhZ2U9Inl0LnB1YnN1YjIucHVic3ViMiBjcm9zcy1iaW5hcnkgY29udmVyc2lvbiBlcnJvciBmb3IgIitXLnRvU3RyaW5nKCkrIjogIitlLm1lc3NhZ2UsZTt9bi5jYWxsKHdpbmRvdyxrKX1jYXRjaChlKXtPdChlKX19LENQW1cudG9TdHJpbmcoKV0/Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/dGEuTFMoaCk6Zy5uJChoLDApOmgoKSl9KTsKajlbYl09ITA7QnpbVy50b1N0cmluZygpXXx8KEJ6W1cudG9TdHJpbmcoKV09W10pO0J6W1cudG9TdHJpbmcoKV0ucHVzaChiKTtyZXR1cm4gYn07CkYwTT1mdW5jdGlvbigpe3ZhciBuPUM0dyxXPWoweChmdW5jdGlvbihEKXtuLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpO0JaaChXKX0pOwpyZXR1cm4gV307CkJaaD1mdW5jdGlvbihuKXt2YXIgVz16bygpO1cmJih0eXBlb2Ygbj09PSJudW1iZXIiJiYobj1bbl0pLGcueTIobixEPT57Vy51bnN1YnNjcmliZUJ5S2V5KEQpO2RlbGV0ZSBqOVtEXX0pKX07CnpvPWZ1bmN0aW9uKCl7cmV0dXJuIGcucnIoInl0UHVic3ViMlB1YnN1YjJJbnN0YW5jZSIpfTsKRjM9ZnVuY3Rpb24obixXLEQ9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixELnNhbXBsZVJhdGUvMTAwKSYmbDkoIm1ldGFfbG9nZ2luZ19jc2lfZXZlbnQiLHt0aW1lck5hbWU6bix0aW1lbGluZURhdGE6V30pfTsKVmQ9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9e3N0YXJ0VGltZTooMCxnLlIpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD13MyhXKTtpZihoPT1udWxsfHwhKGg+TUJ8fGg8UjcpKXt2YXIgaz1YJChRZChXKSk7bGV0IHg9KDAsZy5SKSgpO3YudGlja3MuZ2VsYz14O3c5aisrO2cubCgiZ2VsX2NvbXByZXNzaW9uX2NzaV9raWxsc3dpdGNoIil8fCFnLmwoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeSIpJiYhZy5sKCJsb2dfZ2VsX2NvbXByZXNzaW9uX2xhdGVuY3lfbHIiKXx8RjMoImdlbF9jb21wcmVzc2lvbiIsdix7c2FtcGxlUmF0ZTouMX0pO0QuaGVhZGVyc3x8KEQuaGVhZGVycz17fSk7RC5oZWFkZXJzWyJDb250ZW50LUVuY29kaW5nIl09Imd6aXAiO0QucG9zdEJvZHk9aztELnBvc3RQYXJhbXM9dm9pZCAwfWIobixEKX1jYXRjaChoKXtaRShoKSxiKG4sRCl9fTsKTVhTPWZ1bmN0aW9uKG4peygwLGcuUikoKTtpZighbi5ib2R5KXJldHVybiBuO3RyeXtsZXQgVz10eXBlb2Ygbi5ib2R5PT09InN0cmluZyI/bi5ib2R5OkpTT04uc3RyaW5naWZ5KG4uYm9keSksRD1XO2lmKHR5cGVvZiBXPT09InN0cmluZyIpe2xldCBiPXczKFcpO2lmKGIhPW51bGwmJihiPk1CfHxiPFI3KSlyZXR1cm4gbjtEPVgkKFFkKFcpKTsoMCxnLlIpKCl9bi5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihuLmhlYWRlcnN8fHt9KX07bi5ib2R5PUQ7cmV0dXJuIG59Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG59fTsKdzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybihuZXcgQmxvYihuLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG51bGx9fTsKY3o9ZnVuY3Rpb24obil7cmV0dXJuISFuLllXfHxuLld2fTsKbm09ZnVuY3Rpb24obil7Y3oobikmJiFuLk5oJiYobi5OPSEwLG4uQ3ImJk1hdGgucmFuZG9tKCk8PW4uS3ImJm4uZ0UudGkobi5ZVyksYTcobiksbi55Ry5XRygpJiZuLlcoKSxuLnlHLlNfKG4udVosbi5XLmJpbmQobikpLG4ueUcuU18obi5OQSxuLlguYmluZChuKSkpfTsKYTc9ZnVuY3Rpb24obil7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogcmV0cnlRdWV1ZWRSZXF1ZXN0cyIpO24uZ0UuaTQoIlFVRVVFRCIsbi5ZVykudGhlbihXPT57VyYmIVdVKG4sVyxuLlo0KT9uLkEkLkxTKGFzeW5jKCk9PntXLmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVyk7YTcobil9KTpuLnlHLldHKCkmJm4uVygpfSl9OwpENT1hc3luYyBmdW5jdGlvbihuLFcpe2lmKCFjeihuKSl0aHJvdyBFcnJvcigiSW5kZXhlZERCIGlzIG5vdCBzdXBwb3J0ZWQ6IGltbWVkaWF0ZVNlbmQiKTtXLmlkIT09dm9pZCAwJiYoYXdhaXQgbi5nRS5LNihXLmlkLG4uWVcpfHxuLkYyKEVycm9yKCJUaGUgcmVxdWVzdCBjYW5ub3QgYmUgZm91bmQgaW4gdGhlIGRhdGFiYXNlLiIpKSk7V1UobixXLG4uR3kpPyhXLnNraXBSZXRyeXx8KFc9UnEyKG4sVykpLFcmJihXLnNraXBSZXRyeSYmVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpLG4uTG0oVy51cmwsVy5vcHRpb25zLCEhVy5za2lwUmV0cnkpKSk6KG4uRjIoRXJyb3IoIk5ldHdvcmtsZXNzIExvZ2dpbmc6IFN0b3JlZCBsb2dzIHJlcXVlc3QgZXhwaXJlZCBhZ2UgbGltaXQiKSksVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpKX07CmJNPWZ1bmN0aW9uKG4sVyl7bi5oTCYmIW4ueUcuV0coKT9uLmhMKFcpOm4uaGFuZGxlRXJyb3IoVyl9OwpXVT1mdW5jdGlvbihuLFcsRCl7Vz1XLnRpbWVzdGFtcDtyZXR1cm4gbi5ub3coKS1XPj1EPyExOiEwfTsKUnEyPWZ1bmN0aW9uKG4sVyl7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogdXBkYXRlUmVxdWVzdEhhbmRsZXJzIik7dmFyIEQ9Vy5vcHRpb25zLm9uRXJyb3I/Vy5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9OwpXLm9wdGlvbnMub25FcnJvcj1hc3luYyh2LGspPT57dmFyIGg9UTBTKGspLHg9VlgyKGspO3gmJm4uRXEmJm4uRXEoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJm4uaGFuZGxlRXJyb3IoRXJyb3IoIlJlcXVlc3QgZmFpbGVkIGR1ZSB0byBjb21wcmVzc2lvbiIpLFcudXJsLGspO2lmKG4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmh8fG4uRXEmJiFuLkVxKCJud2xfY29uc2lkZXJfZXJyb3JfY29kZSIpJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcjw9bi5IRilpZihuLnlHLmhKJiZhd2FpdCBuLnlHLmhKKCksIW4ueUcuV0coKSl7RCh2LGspO24uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJlc/LmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMSk7cmV0dXJufW4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJiFoJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5uLkhGfHwobi5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKywKVz8uaWQhPT12b2lkIDAmJihXLnNlbmRDb3VudDxuLkExPyhhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMCx4PyExOnZvaWQgMCksbi5BJC5MUygoKT0+e24ueUcuV0coKSYmbi5XKCl9LG4uSVApKTphd2FpdCBuLmdFLlRNKFcuaWQsbi5ZVykpLEQodixrKSl9Owp2YXIgYj1XLm9wdGlvbnMub25TdWNjZXNzP1cub3B0aW9ucy5vblN1Y2Nlc3M6KCk9Pnt9OwpXLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKHYsayk9PntXPy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpO24ueUcubGMmJm4uRXEmJm4uRXEoInZzc19uZXR3b3JrX2hpbnQiKSYmbi55Ry5sYyghMCk7Yih2LGspfTsKcmV0dXJuIFd9OwpRMFM9ZnVuY3Rpb24obil7cmV0dXJuKG49bj8uZXJyb3I/LmNvZGUpJiZuPj00MDAmJm48PTU5OT8hMTohMH07ClZYMj1mdW5jdGlvbihuKXtuPW4/LmVycm9yPy5jb2RlO3JldHVybiEobiE9PTQwMCYmbiE9PTQxNSl9OwpjX1o9ZnVuY3Rpb24oKXtpZih2VSlyZXR1cm4gdlUoKTt2VT1rTygiTG9nc0RhdGFiYXNlVjIiLHtLYzp7TG9nc1JlcXVlc3RzU3RvcmU6e3Z4OjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcsRCl7VygyKSYmWnkobiwiTG9nc1JlcXVlc3RzU3RvcmUiLHtrZXlQYXRoOiJpZCIsYXV0b0luY3JlbWVudDohMH0pO1coMyk7Vyg1KSYmKEQ9RC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSxELk4uaW5kZXhOYW1lcy5jb250YWlucygibmV3UmVxdWVzdCIpJiZELk4uZGVsZXRlSW5kZXgoIm5ld1JlcXVlc3QiKSxFUihELCJuZXdSZXF1ZXN0VjIiLFsic3RhdHVzIiwiaW50ZXJmYWNlIiwidGltZXN0YW1wIl0pKTtXKDcpJiZVUihuLCJzYXBpc2lkIik7Vyg5KSYmVVIobiwiU1dIZWFsdGhMb2ciKX0sdmVyc2lvbjo5fSk7cmV0dXJuIHZVKCl9OwprUT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoY19aKCksbil9OwphQlM9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD17c3RhcnRUaW1lOigwLGcuUikoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtXPWF3YWl0IGtRKFcpO249ey4uLm4sb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG4ub3B0aW9ucykpLGludGVyZmFjZTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCl9O249YXdhaXQgVy5wdXQoIkxvZ3NSZXF1ZXN0c1N0b3JlIixuKTtELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4gbn07Cm52Mj1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPXtzdGFydFRpbWU6KDAsZy5SKSgpLGluZm9zOnt0cmFuc2FjdGlvblR5cGU6IllUX0lEQl9UUkFOU0FDVElPTl9UWVBFX1JFQUQifSx0aWNrczp7fX07Vz1hd2FpdCBrUShXKTt2YXIgYj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksdj1bbixiLDBdO2I9W24sYiwoMCxnLlIpKCldO3ZhciBrPUlEQktleVJhbmdlLmJvdW5kKHYsYiksaD0icHJldiI7Zy5sKCJ1c2VfZmlmb19mb3JfbmV0d29ya2xlc3MiKSYmKGg9Im5leHQiKTt2YXIgeD12b2lkIDA7dj1uPT09Ik5FVyI/InJlYWR3cml0ZSI6InJlYWRvbmx5IjtnLmwoInVzZV9yZWFkb25seV9mb3JfZ2V0X21vc3RfcmVjZW50X2J5X3N0YXR1c19raWxsc3dpdGNoIikmJih2PSJyZWFkd3JpdGUiKTthd2FpdCBPUihXLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTp2LEdROiEwfSxMPT56bihMLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmssZGlyZWN0aW9uOmh9LGU9PntlLmdldFZhbHVlKCkmJih4PWUuZ2V0VmFsdWUoKSxuPT09Ik5FVyImJih4LnN0YXR1cz0iUVVFVUVEIixlLnVwZGF0ZSh4KSkpfSkpOwpELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4geH07CldfQz1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBPUihhd2FpdCBrUShXKSxbIkxvZ3NSZXF1ZXN0c1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pnt2YXIgYj1ELm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpO3JldHVybiBiLmdldChuKS50aGVuKHY9PntpZih2KXJldHVybiB2LnN0YXR1cz0iUVVFVUVEIixiLnB1dCh2KS50aGVuKCgpPT52KX0pfSl9OwpERXg9YXN5bmMgZnVuY3Rpb24obixXLEQ9ITAsYil7cmV0dXJuIE9SKGF3YWl0IGtRKFcpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sdj0+e3ZhciBrPXYub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGsuZ2V0KG4pLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsRCYmKGguc2VuZENvdW50Kz0xKSxiIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWIpLGsucHV0KGgpLnRoZW4oKCk9PmgpKTpzUi5yZXNvbHZlKHZvaWQgMCkpfSl9OwpiR0M9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4oYXdhaXQga1EoVykpLmRlbGV0ZSgiTG9nc1JlcXVlc3RzU3RvcmUiLG4pfTsKdnZpPWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQga1Eobik7dmFyIFc9KDAsZy5SKSgpLTI1OTJFNjthd2FpdCBPUihuLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+dVEoRC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxiPT57aWYoYi5nZXRWYWx1ZSgpLnRpbWVzdGFtcDw9VylyZXR1cm4gYi5kZWxldGUoKS50aGVuKCgpPT5vZyhiKSl9KSl9Owpremk9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgiTG9nc0RhdGFiYXNlVjIiKX07CmhJPWZ1bmN0aW9uKG4pe2cubCgibndsX2NzaV9raWxsc3dpdGNoIil8fEYzKCJuZXR3b3JrbGVzc19wZXJmb3JtYW5jZSIsbix7c2FtcGxlUmF0ZToxfSl9Owp4UT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoaF94KCksbil9Owp4RXc9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCB4UShuKTt2YXIgVz0oMCxnLlIpKCktMjU5MkU2O2F3YWl0IE9SKG4sWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwfSxEPT51UShELm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGI9PntpZihiLmdldFZhbHVlKCkudGltZXN0YW1wPD1XKXJldHVybiBiLmRlbGV0ZSgpLnRoZW4oKCk9Pm9nKGIpKX0pKX07CkxfaT1hc3luYyBmdW5jdGlvbihuKXthd2FpdCAoYXdhaXQgeFEobikpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKZy5nbz1mdW5jdGlvbihuLFcsRCxiLHY9IiIsaz0hMSxoPSExKXtpZihuKWlmKEQmJiFnLmQ4KCkpWkUobmV3IGcuUXgoIkxlZ2FjeSByZWZlcnJlci1zY3J1YmJlZCBwaW5nIGRldGVjdGVkIikpLG4mJkxtKG4sdm9pZCAwLHtzY3J1YlJlZmVycmVyOiEwfSk7ZWxzZSBpZih2KXhUKG4sVywiUE9TVCIsdixiKTtlbHNlIGlmKGcuQXIoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8Ynx8aCl4VChuLFcsIkdFVCIsIiIsYix2b2lkIDAsayxoKTtlbHNle2I6e3RyeXtjOnt2YXIgeD1uZXcgZV93KHt1cmw6bn0pO2lmKHguTi5kc2g9PT0iMSIpdmFyIEw9bnVsbDtlbHNle3ZhciBlPXguTi5hZTtpZihlPT09IjEiKXtsZXQgcj14Lk4uYWR1cmw7aWYocil0cnl7TD17dmVyc2lvbjozLFViOmRlY29kZVVSSUNvbXBvbmVudChyKSxERzp1eCh4LkosImFjdD0xIiwicmk9MSIseGlNKHgpKX07YnJlYWsgY31jYXRjaChOKXt9fUw9ZT09PSIyIj97dmVyc2lvbjo0LFViOnV4KHguSiwKImRjdD0xIiwic3VpZD0iK3guVywicmk9MSIpLERHOnV4KHguSiwiYWN0PTEiLCJyaT0xIiwic3VpZD0iK3guVyl9Om51bGx9fWlmKEwpe2xldCByPVMxKG4pO3ZhciBHPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxnLmxmKG4sInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31HPSExfUc/ZXcobik/KFcmJlcoKSxEPSEwKTpEPSExOkQ9ITE7RHx8TG0obixXKX19Owpndnc9ZnVuY3Rpb24obixXPSIiKXtldyhuLFcpfHxnLmdvKG4sdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyl9Owpldz1mdW5jdGlvbihuLFc9IiIpe3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihuLFcpKXJldHVybiEwfWNhdGNoKEQpe31yZXR1cm4hMX07CkxtPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj1uZXcgSW1hZ2Usdj0iIitYSHcrKztYaVt2XT1iO2Iub25sb2FkPWIub25lcnJvcj0oKT0+e1cmJlhpW3ZdJiZXKCk7ZGVsZXRlIFhpW3ZdfTsKRC5zY3J1YlJlZmVycmVyJiYoYi5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtiLnNyYz1ufTsKZy5xYj1mdW5jdGlvbihuKXtyZXR1cm4gZG9jdW1lbnQuZmVhdHVyZVBvbGljeT8uYWxsb3dlZEZlYXR1cmVzKCkuaW5jbHVkZXMoImF0dHJpYnV0aW9uLXJlcG9ydGluZyIpP24rIiZuaXM9NiI6bisiJm5pcz01In07CiRRPWZ1bmN0aW9uKCl7R1R8fChHVD1uZXcgdEkoInl0Lm9mZmxpbmUiKSk7cmV0dXJuIEdUfTsKcUt3PWZ1bmN0aW9uKG4pe2lmKGcubCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgVz0kUSgpLmdldCgiZXJyb3JzIiwhMCl8fHt9O1dbbi5tZXNzYWdlXT17bmFtZTpuLm5hbWUsc3RhY2s6bi5zdGFja307bi5sZXZlbCYmKFdbbi5tZXNzYWdlXS5sZXZlbD1uLmxldmVsKTskUSgpLnNldCgiZXJyb3JzIixXLDI1OTJFMywhMCl9fTsKc2M9ZnVuY3Rpb24oKXtpZighcm8uaW5zdGFuY2Upe2xldCBuPWcucnIoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIpfHxuZXcgcm87Zy5HYigieXQubmV0d29ya1JlcXVlc3RNb25pdG9yLmluc3RhbmNlIixuKTtyby5pbnN0YW5jZT1ufXJldHVybiByby5pbnN0YW5jZX07CnBtPWZ1bmN0aW9uKCl7aWYoIU5iLmluc3RhbmNlKXtsZXQgbj1nLnJyKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcgTmI7Zy5HYigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLG4pO05iLmluc3RhbmNlPW59cmV0dXJuIE5iLmluc3RhbmNlfTsKWVE9ZnVuY3Rpb24obixXKXtuLnJhdGVMaW1pdD9uLk4/KHRhLnNPKG4uWCksbi5YPXRhLkxTKCgpPT57bi5XIT09VyYmKG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKX0sbi5yYXRlTGltaXQtKCgwLGcuUikoKS1uLk4pKSk6KG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKTpuLmRpc3BhdGNoRXZlbnQoVyl9OwpnLkhVPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIpO258fChuPW5ldyBHemgsZy5HYigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsbiksZy5sKCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJmcublAoKS50aGVuKFc9PntuLllXPVc7bm0obik7bi5qLnJlc29sdmUoKTtuLkNyJiZNYXRoLnJhbmRvbSgpPD1uLktyJiZuLllXJiZ4RXcobi5ZVyk7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX3N3X2hlYWx0aF9zdG9yZSIpJiZ0V3cobil9KSk7CnJldHVybiBufTsKdFd3PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLllXKXRocm93IGcucjAoImNsZWFyU1dIZWFsdGhMb2dzRGIiKTtMX2kobi5ZVykuY2F0Y2goVz0+e24uaGFuZGxlRXJyb3IoVyl9KX07CiRFdD1mdW5jdGlvbihuLFcsRCl7Vz1nLmwoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sVyk6VztnLmwoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Vy5oZWFkZXJzJiZnLlRkKG4pJiYoVy5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxnLlIpKCkpKSk6Vy5wb3N0UGFyYW1zPy5yZXF1ZXN0VGltZU1zJiYoVy5wb3N0UGFyYW1zLnJlcXVlc3RUaW1lTXM9TWF0aC5yb3VuZCgoMCxnLlIpKCkpKTtEJiZPYmplY3Qua2V5cyhXKS5sZW5ndGg9PT0wP2cuZ28obik6Vy5jb21wcmVzcz9XLnBvc3RCb2R5Pyh0eXBlb2YgVy5wb3N0Qm9keSE9PSJzdHJpbmciJiYoVy5wb3N0Qm9keT1KU09OLnN0cmluZ2lmeShXLnBvc3RCb2R5KSksVmQobixXLnBvc3RCb2R5LFcsZy5lZCkpOlZkKG4sSlNPTi5zdHJpbmdpZnkoVy5wb3N0UGFyYW1zKSxXLGc4KTpnLmVkKG4sVyl9OwpmbT1mdW5jdGlvbihuLFcpe2cubCgidXNlX2V2ZW50X3RpbWVfbXNfaGVhZGVyIikmJmcuVGQobikmJihXLmhlYWRlcnN8fChXLmhlYWRlcnM9e30pLFcuaGVhZGVyc1siWC1Hb29nLUV2ZW50LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gV307CmcuSUk9ZnVuY3Rpb24obixXLEQsYil7IWcuQXIoIlZJU0lUT1JfREFUQSIpJiZXIT09InZpc2l0b3JfaWQiJiZNYXRoLnJhbmRvbSgpPC4wMSYmWkUobmV3IGcuUXgoIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLFcsRCxiKSk7aWYoIW4uaXNSZWFkeSgpKXRocm93IG49bmV3IGcuUXgoImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixXLEQsYiksT3Qobiksbjt2YXIgdj17aGVhZGVyczpiLmhlYWRlcnN8fHt9LG1ldGhvZDoiUE9TVCIscG9zdFBhcmFtczpELHBvc3RCb2R5OmIucG9zdEJvZHkscG9zdEJvZHlGb3JtYXQ6Yi5wb3N0Qm9keUZvcm1hdHx8IkpTT04iLG9uVGltZW91dDooKT0+e2Iub25UaW1lb3V0KCl9LApvbkZldGNoVGltZW91dDpiLm9uVGltZW91dCxvblN1Y2Nlc3M6KGUsRyk9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhHKX0sCm9uRmV0Y2hTdWNjZXNzOmU9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhlKX0sCm9uUHJvZ3Jlc3M6ZT0+e2lmKGIub25Qcm9ncmVzcyliLm9uUHJvZ3Jlc3MoZSl9LApvbkVycm9yOihlLEcpPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihHKX0sCm9uRmV0Y2hFcnJvcjplPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihlKX0sCnRpbWVvdXQ6Yi50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpiLmNvbXByZXNzfTt2LmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwodi5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO0Q9IiI7dmFyIGs9bi5jb25maWdfLnY2O2smJihEPWspO2s9bi5jb25maWdfLk9zfHwhMTt2YXIgaD1UWmooayxELGIpO09iamVjdC5hc3NpZ24odi5oZWFkZXJzLGgpO3YuaGVhZGVycy5BdXRob3JpemF0aW9uJiYhRCYmayYmKHYuaGVhZGVyc1sieC1vcmlnaW4iXT13aW5kb3cubG9jYXRpb24ub3JpZ2luKTt2YXIgeD1nLnpkKGAke0R9JHtgL3lvdXR1YmVpLyR7bi5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7V31gfWAse2FsdDoianNvbiJ9KSxMPShlPSExKT0+e3RyeXtpZihlJiZiLnJldHJ5JiYhYi5uZXR3b3JrbGVzc09wdGlvbnMuYnlwYXNzTmV0d29ya2xlc3Mpdi5tZXRob2Q9IlBPU1QiLGIubmV0d29ya2xlc3NPcHRpb25zLndyaXRlVGhlblNlbmQ/CmcuSFUoKS53cml0ZVRoZW5TZW5kKHgsdik6Zy5IVSgpLnNlbmRBbmRXcml0ZSh4LHYpO2Vsc2UgaWYoYi5jb21wcmVzcylpZih2LnBvc3RCb2R5KXtsZXQgRz12LnBvc3RCb2R5O3R5cGVvZiBHIT09InN0cmluZyImJihHPUpTT04uc3RyaW5naWZ5KHYucG9zdEJvZHkpKTtWZCh4LEcsdixnLmVkKX1lbHNlIFZkKHgsSlNPTi5zdHJpbmdpZnkodi5wb3N0UGFyYW1zKSx2LGc4KTtlbHNlIGc4KHgsdil9Y2F0Y2goRyl7aWYoRy5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpWkUoRXJyb3IoIkFuIGV4dGVuc2lvbiBpcyBibG9ja2luZyBuZXR3b3JrIHJlcXVlc3QuIikpO2Vsc2UgdGhyb3cgRzt9fTsKZy5ycigieXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnMiKSYmSkkuaXNOd2xJbml0aWFsaXplZD9jTigpLnRoZW4oZT0+e0woZSl9KTpMKCExKX07Ck9jPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1TdygpO2lmKGImJlcpe2xldCB2PWIuc3Vic2NyaWJlKG4sZnVuY3Rpb24oKXt2YXIgaz1hcmd1bWVudHMsaD0oKT0+e0FJW3ZdJiZXLmFwcGx5JiZ0eXBlb2YgVy5hcHBseT09ImZ1bmN0aW9uIiYmVy5hcHBseShEfHx3aW5kb3csayl9Owp0cnl7bWdbbl0/aCgpOmcubiQoaCwwKX1jYXRjaCh4KXtPdCh4KX19LEQpOwpBSVt2XT0hMDtLbVtuXXx8KEttW25dPVtdKTtLbVtuXS5wdXNoKHYpO3JldHVybiB2fXJldHVybiAwfTsKUFU9ZnVuY3Rpb24obil7dmFyIFc9U3coKTtXJiYodHlwZW9mIG49PT0ibnVtYmVyIj9uPVtuXTp0eXBlb2Ygbj09PSJzdHJpbmciJiYobj1bcGFyc2VJbnQobiwxMCldKSxnLnkyKG4sRD0+e1cudW5zdWJzY3JpYmVCeUtleShEKTtkZWxldGUgQUlbRF19KSl9OwpaNT1mdW5jdGlvbihuLFcpe3ZhciBEPVN3KCk7cmV0dXJuIEQ/RC5wdWJsaXNoLmFwcGx5KEQsYXJndW1lbnRzKTohMX07CnlKPWZ1bmN0aW9uKG4pe3ZhciBXPVN3KCk7aWYoVylpZihXLmNsZWFyKG4pLG4pVWMobik7ZWxzZSBmb3IobGV0IEQgaW4gS20pVWMoRCl9OwpFYz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPVdebjtpZighKG4tNj4+Mykpe2VYKGteMjk5MCxrXjYwMjksRCk7dmFyIGg9RFtJW2teMjk4Nl1dKyhEW0lba14yOTg2XV0/SVtrXjMwNjBdOklba14zMDY3XSkrRFtJW2teMjk2N11dK0RbSVtrXjI5ODhdXTtpZihQMChrXjMwNDUsa140NjE4LEQpKXtsZXQgTD1bXTtnLmFfKERbSVsxXV0sKEcscik9PntHIT09bnVsbCYmTFtJW2teMjk4Ml1dKGAke3J9PSR7R31gKX0pOwpsZXQgZT1MW0lba14zMDA1XV0oSVtrXjI5NDVdKTtoKz1gPyR7ZX1gfXZhciB4PWh9KG4rMl43KTxuJiYobi01fDIzKT49biYmKGI9PT1JW2teNjU4OV0mJigoaD12W0lba142NTYzXV0oSVtrXjY1NDhdKSk+PTA/KGI9YGNtbz0ke3ZbSVtrXjY1NjZdXSgwLGgpfWAsdj12W0lba142NTY2XV0oaCsxKSk6KGg9dltJW2teNjU2M11dKElba142NTM1XSkpPj0wJiYoYj1gY21vPSR7dltJW2teNjU2Nl1dKDAsaCl9YCx2PXZbSVtrXjY1NjZdXShoKzMpKSksRFtiXT12KTtyZXR1cm4geH07ClN3PWZ1bmN0aW9uKCl7cmV0dXJuIGcucWkueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07ClVjPWZ1bmN0aW9uKG4pe0ttW25dJiYobj1LbVtuXSxnLnkyKG4sVz0+e0FJW1ddJiZkZWxldGUgQUlbV119KSxuLmxlbmd0aD0wKX07CmlNPWZ1bmN0aW9uKG4sVyxEPW51bGwpe3J2aChuLFcsRCl9Owpydmg9ZnVuY3Rpb24obixXLEQ9bnVsbCl7dmFyIGI9dU0odHlwZW9mIG49PT0ic3RyaW5nIj9uOm4udG9TdHJpbmcoKSksdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxrPXYmJmdKKHYpLGg9diYmIWs7az9XJiZXKCk6KFcmJihrPU9jKGIsVyksVz1gJHtBaShXKX1gLG9JW1ddPWspLGh8fCh2PXN6UyhuLGIsKCk9PntnSih2KXx8KGI1dCh2KSxaNShiKSxnLm4kKCgpPT57eUooYil9LDApKX0sRCkpKX07CnN6Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwpe3ZhciB2PWcuekYoIlNDUklQVCIpO3YuaWQ9Vzt2Lm9ubG9hZD0oKT0+e0QmJnNldFRpbWVvdXQoRCwwKX07CnYub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57c3dpdGNoKHYucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6di5vbmxvYWQoKX19OwpiJiZ2LnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpO2cuUE0odix0eXBlb2Ygbj09PSJzdHJpbmciP2Z3KG4pOm4pO249ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTtuLmluc2VydEJlZm9yZSh2LG4uZmlyc3RDaGlsZCk7cmV0dXJuIHZ9Owp1TT1mdW5jdGlvbihuKXt2YXIgVz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Zy5OVShXLG4pO249Vy5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIik7cmV0dXJuYGpzLSR7c1Qobil9YH07CnpUPWZ1bmN0aW9uKG4sVyl7aWYobj09PVcpbj0hMDtlbHNlIGlmKEFycmF5LmlzQXJyYXkobikmJkFycmF5LmlzQXJyYXkoVykpbj12NChuLFcselQpO2Vsc2UgaWYoZy5mdChuKSYmZy5mdChXKSlhOmlmKGcuTFQobikubGVuZ3RoIT1nLkxUKFcpLmxlbmd0aCluPSExO2Vsc2V7Zm9yKGxldCBEIGluIG4paWYoIXpUKG5bRF0sV1tEXSkpe249ITE7YnJlYWsgYX1uPSEwfWVsc2Ugbj0hMTtyZXR1cm4gbn07Cmp3PWZ1bmN0aW9uKG4sLi4uVyl7aWYoIWxNKG4pfHxXLnNvbWUoRD0+IWxNKEQpKSl0aHJvdyBFcnJvcigiT25seSBvYmplY3RzIG1heSBiZSBtZXJnZWQuIik7CmZvcihsZXQgRCBvZiBXKVRUKG4sRCl9OwpUVD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBXKWlmKGxNKFdbRF0pKXtpZihEIGluIG4mJiFsTShuW0RdKSl0aHJvdyBFcnJvcigiQ2Fubm90IG1lcmdlIGFuIG9iamVjdCBpbnRvIGEgbm9uLW9iamVjdC4iKTtEIGluIG58fChuW0RdPXt9KTtUVChuW0RdLFdbRF0pfWVsc2UgaWYoQ20oV1tEXSkpe2lmKEQgaW4gbiYmIUNtKG5bRF0pKXRocm93IEVycm9yKCJDYW5ub3QgbWVyZ2UgYW4gYXJyYXkgaW50byBhIG5vbi1hcnJheS4iKTtEIGluIG58fChuW0RdPVtdKTtCVShuW0RdLFdbRF0pfWVsc2UgbltEXT1XW0RdO3JldHVybiBufTsKQlU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgVylsTShEKT9uLnB1c2goVFQoe30sRCkpOkNtKEQpP24ucHVzaChCVShbXSxEKSk6bi5wdXNoKEQpO3JldHVybiBufTsKbE09ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KG4pfTsKQ209ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJkFycmF5LmlzQXJyYXkobil9OwpnLkZpPWZ1bmN0aW9uKG49ITEpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLlkkPW5ldyBCSyhuKTtnLnUodGhpcyx0aGlzLlkkKX07Ck1iPWZ1bmN0aW9uKG4pe2lmKHdpbmRvdy5jcnlwdG8mJndpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKXRyeXt2YXIgVz1BcnJheShuKSxEPW5ldyBVaW50OEFycmF5KG4pO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKEQpO2Zvcih2YXIgYj0wO2I8Vy5sZW5ndGg7YisrKVdbYl09RFtiXTtyZXR1cm4gV31jYXRjaCh2KXt9Vz1BcnJheShuKTtmb3IoRD0wO0Q8bjtEKyspe2I9RGF0ZS5ub3coKTtmb3IobGV0IHY9MDt2PGIlMjM7disrKVdbRF09TWF0aC5yYW5kb20oKTtXW0RdPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyNTYpfWlmKHdvKWZvcihEPTEsYj0wO2I8d28ubGVuZ3RoO2IrKylXW0Qlbl1ePVdbKEQtMSklbl0vNF53by5jaGFyQ29kZUF0KGIpLEQrKztyZXR1cm4gV307CmcuUkk9ZnVuY3Rpb24obil7bj1NYihuKTt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLmNoYXJBdChuW0RdJjYzKSk7cmV0dXJuIFcuam9pbigiIil9OwpnLlFKPWZ1bmN0aW9uKCl7cmV0dXJuIGcuaV8oTWIoMTYpLG49PihuJjE1KS50b1N0cmluZygxNikpLmpvaW4oIiIpfTsKYUk9ZnVuY3Rpb24oKXsoe0NQOlc9ITEsTTY6bj0hMH09e30pO3ZhciBuLFc7aWYoZy5ycigiX2xhY3QiLHdpbmRvdyk9PW51bGwpe3ZhciBEPXBhcnNlSW50KGcuQXIoIkxBQ1QiKSwxMCk7RD1pc0Zpbml0ZShEKT9EYXRlLm5vdygpLU1hdGgubWF4KEQsMCk6LTE7Zy5HYigiX2xhY3QiLEQsd2luZG93KTtnLkdiKCJfZmFjdCIsRCx3aW5kb3cpO0Q9PS0xJiZWSigpO05ndyhXLG4pO25ldyBtWSgoKT0+e2NVKCJtb3VzZSIsMTAwKX0pfX07Cm5YPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IGcud1ooVyk7KFc9RC5nZXQoInJlcV9pZCIpKSYmbi5zZXQoInJlcV9pZCIsVyk7Zy5hXyhuLk4sKGIsdik9PntEWyJzZXQiXSh2LG51bGwpfSk7CnJldHVybiBEfTsKTmd3PWZ1bmN0aW9uKG49ITEsVz0hMCl7dmFyIEQ9d2luZG93O2cuSTkoRC5kb2N1bWVudCwia2V5ZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwia2V5dXAiLFZKKTtnLkk5KEQuZG9jdW1lbnQsIm1vdXNlZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwibW91c2V1cCIsVkopO24/Zy5JOShELCJ0b3VjaG1vdmUiLCgpPT57Y1UoInRvdWNobW92ZSIsMjAwKX0se3Bhc3NpdmU6ITB9KTooZy5JOShELCJyZXNpemUiLCgpPT57Y1UoInJlc2l6ZSIsMjAwKX0pLFcmJmcuSTkoRCwic2Nyb2xsIiwoKT0+e2NVKCJzY3JvbGwiLDIwMCl9KSk7CmcuSTkoRC5kb2N1bWVudCwidG91Y2hzdGFydCIsVkose3Bhc3NpdmU6ITB9KTtnLkk5KEQuZG9jdW1lbnQsInRvdWNoZW5kIixWSix7cGFzc2l2ZTohMH0pfTsKY1U9ZnVuY3Rpb24obixXKXtieVtuXXx8KGJ5W25dPSEwLHRhLkxTKCgpPT57VkooKTtieVtuXT0hMX0sVykpfTsKVko9ZnVuY3Rpb24oKXtnLnJyKCJfbGFjdCIsd2luZG93KT09bnVsbCYmKGFJKCksZy5ycigiX2xhY3QiLHdpbmRvdykpO3ZhciBuPURhdGUubm93KCk7Zy5HYigiX2xhY3QiLG4sd2luZG93KTtnLnJyKCJfZmFjdCIsd2luZG93KT09LTEmJmcuR2IoIl9mYWN0IixuLHdpbmRvdyk7KG49Zy5ycigieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJm4oKX07Cmcudkk9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJfbGFjdCIsd2luZG93KTtyZXR1cm4gbj09bnVsbD8tMTpNYXRoLm1heChEYXRlLm5vdygpLW4sMCl9OwpnLmhwPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcga28obil9OwpnLnhvPWZ1bmN0aW9uKG4sVyl7bi5KLnNldChXLk5ILFcpO3ZhciBEPW4uVy5nZXQoVy5OSCk7aWYoRCl0cnl7RC5RNChuLnJlc29sdmUoVy5OSCkpfWNhdGNoKGIpe0QuSlkoYil9fTsKZ0U9ZnVuY3Rpb24obixXLEQsYj0hMSl7aWYoRC5pbmRleE9mKFcpPi0xKXRocm93IEVycm9yKGBEZXBzIGN5Y2xlIGZvcjogJHtXfWApO2lmKG4uTi5oYXMoVykpcmV0dXJuIG4uTi5nZXQoVyk7aWYoIW4uSi5oYXMoVykpe2lmKGIpcmV0dXJuO3Rocm93IEVycm9yKGBObyBwcm92aWRlciBmb3I6ICR7V31gKTt9Yj1uLkouZ2V0KFcpO0QucHVzaChXKTtpZihiLlBmIT09dm9pZCAwKXZhciB2PWIuUGY7ZWxzZSBpZihiLlJjKXY9YltnLkxYXT9lWihuLGJbZy5MWF0sRCk6W10sdj1iLlJjKC4uLnYpO2Vsc2UgaWYoYi5ZTCl7dj1iLllMO2xldCBrPXZbZy5MWF0/ZVoobix2W2cuTFhdLEQpOltdO3Y9bmV3IHYoLi4uayl9ZWxzZSB0aHJvdyBFcnJvcihgQ291bGQgbm90IHJlc29sdmUgcHJvdmlkZXJzIGZvcjogJHtXfWApO0QucG9wKCk7Yi5wbnx8bi5OLnNldChXLHYpO3JldHVybiB2fTsKZVo9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXP1cubWFwKGI9PmIgaW5zdGFuY2VvZiBrbz9nRShuLGIua2V5LEQsITApOmdFKG4sYixEKSk6W119OwpnLnFqPWZ1bmN0aW9uKCl7WDR8fChYND1uZXcgcEhyKTtyZXR1cm4gWDR9Owp0cD1mdW5jdGlvbigpe3JldHVybiJoNXZjYyJpbiBHcCYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VCZWdpbiYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VFbmQ/MToicGVyZm9ybWFuY2UiaW4gR3AmJkdwLnBlcmZvcm1hbmNlLm1hcmsmJkdwLnBlcmZvcm1hbmNlLm1lYXN1cmU/MjowfTsKJG89ZnVuY3Rpb24obil7dmFyIFc9dHAoKTtzd2l0Y2goVyl7Y2FzZSAxOkdwLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsbik7YnJlYWs7Y2FzZSAyOkdwLnBlcmZvcm1hbmNlLm1hcmsoYCR7bn0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpnLnBiKFcsInVua25vd24gdHJhY2UgdHlwZSIpfX07CnJFPWZ1bmN0aW9uKG4pe3ZhciBXPXRwKCk7c3dpdGNoKFcpe2Nhc2UgMTpHcC5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixuKTticmVhaztjYXNlIDI6Vz1gJHtufS1zdGFydGA7bGV0IEQ9YCR7bn0tZW5kYDtHcC5wZXJmb3JtYW5jZS5tYXJrKEQpO0dwLnBlcmZvcm1hbmNlLm1lYXN1cmUobixXLEQpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0OmcucGIoVywidW5rbm93biB0cmFjZSB0eXBlIil9fTsKWUtqPWZ1bmN0aW9uKG4pe3ZhciBXPUFycmF5LmZyb20obi5OLmtleXMoKSkuc29ydCgoRCxiKT0+KG4uTltiXS5wcmlvcml0eT8/MCktKG4uTltEXS5wcmlvcml0eT8/MCkpOwpmb3IobGV0IEQgb2YgVylXPW4uTltEXSxXLmpvYklkPT09dm9pZCAwfHxXLk1KfHwobi5zY2hlZHVsZXIuc08oVy5qb2JJZCksZy5WeCgwLFcuSmEsMTApKX07CmZSMj1mdW5jdGlvbihuLFcsRCl7SEd0JiZjb25zb2xlLmdyb3VwQ29sbGFwc2VkJiZjb25zb2xlLmdyb3VwRW5kJiYoY29uc29sZS5ncm91cENvbGxhcHNlZChgWyR7bi5jb25zdHJ1Y3Rvci5uYW1lfV0gJyR7bi5zdGF0ZX0nIHRvICcke1d9J2ApLGNvbnNvbGUubG9nKCJ3aXRoIG1lc3NhZ2U6ICIsRCksY29uc29sZS5ncm91cEVuZCgpKX07ClNLQz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuZmlsdGVyKHY9PihuLko/P3YucHJpb3JpdHk/PzApPT09MTApLGI9Vy5maWx0ZXIodj0+KG4uSj8/di5wcmlvcml0eT8/MCkhPT0xMCk7CnJldHVybiBuLlguS0c/YXN5bmMoLi4udik9Pnthd2FpdCBKdlooRCwuLi52KTtzOShuLGIsLi4udil9OiguLi52KT0+e0lSMShELC4uLnYpOwpzOShuLGIsLi4udil9fTsKSnZaPWFzeW5jIGZ1bmN0aW9uKG4sLi4uVyl7Zy5EeSgpO2ZvcihsZXQgRCBvZiBuKXtsZXQgYjthOSgoKT0+e05qKEQubmFtZSk7dmFyIHY9cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpZbyh2KT9iPWcubCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIik/di50aGVuKCgpPT57SEkoRC5uYW1lKX0pOnYudGhlbigoKT0+e0hJKEQubmFtZSl9LGs9Pnt3aW5kb3cub25lcnJvcj8uKGsubWVzc2FnZSwiIiwwLDAsayk7CkhJKEQubmFtZSl9KTpISShELm5hbWUpfSk7CmImJmF3YWl0IGJ9fTsKczk9ZnVuY3Rpb24obixXLC4uLkQpe1c9Vy5tYXAoYj0+KHtKYTooKT0+e05qKGIubmFtZSk7cFgoKCk9PmIuY2FsbGJhY2soLi4uRCkpOwpISShiLm5hbWUpfSwKcHJpb3JpdHk6bi5KPz9iLnByaW9yaXR5Pz8wfSkpOwpXLmxlbmd0aCYmKG4uVz1uZXcgQXZqKFcpKX07CklSMT1mdW5jdGlvbihuLC4uLlcpe2cuRHkoKTtmb3IobGV0IEQgb2YgbilhOSgoKT0+e05qKEQubmFtZSk7cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpISShELm5hbWUpfSl9OwpOaj1mdW5jdGlvbihuKXtmWCYmbiYmJG8obil9OwpIST1mdW5jdGlvbihuKXtmWCYmbiYmckUobil9OwpwWD1mdW5jdGlvbihuKXtpZihnLmwoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpKXJldHVybiBuKCk7dHJ5e3JldHVybiBuKCl9Y2F0Y2goVyl7d2luZG93Lm9uZXJyb3I/LihXLm1lc3NhZ2UsIiIsMCwwLFcpfX07CkliPWZ1bmN0aW9uKCl7SnB8fChKcD1uZXcgbUV3KTtyZXR1cm4gSnB9OwpBcD1mdW5jdGlvbigpe1NafHwoU1o9cHcoZy5BcigiV09SS0VSX1NFUklBTElaQVRJT05fVVJMIikpKTtyZXR1cm4gU1p8fHZvaWQgMH07CktYPWZ1bmN0aW9uKCl7dmFyIG49QXAoKTttM3x8bj09PXZvaWQgMHx8KG0zPVhNKG4pKTtyZXR1cm4gbTN9OwpaQT1mdW5jdGlvbihuLFcpe3ZhciBEPU85KFcpO2lmKG4uTltEXSlyZXR1cm4gbi5OW0RdO3ZhciBiPU9iamVjdC5rZXlzKG4uc3RvcmUpfHxbXTtpZihiLmxlbmd0aDw9MSYmTzkoVyk9PT1iWzBdKXJldHVybiBiO3ZhciB2PVtdO2ZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXtsZXQgeD1iW2hdLnNwbGl0KCIvIik7aWYoUEkoVy5hdXRoLHhbMF0pKXt2YXIgaz1XLmlzSnNwYjtQSShrPT09dm9pZCAwPyJ1bmRlZmluZWQiOms/InRydWUiOiJmYWxzZSIseFsxXSkmJlBJKFcuY3R0QXV0aEluZm8seFsyXSkmJihrPVcudGllcixrPWs9PT12b2lkIDA/InVuZGVmaW5lZCI6SlNPTi5zdHJpbmdpZnkoayksUEkoayx4WzNdKSYmdi5wdXNoKGJbaF0pKX19cmV0dXJuIG4uTltEXT12fTsKUEk9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PXZvaWQgMHx8bj09PSJ1bmRlZmluZWQiPyEwOm49PT1XfTsKTzk9ZnVuY3Rpb24obil7cmV0dXJuW24uYXV0aD09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmF1dGgsbi5pc0pzcGI9PT12b2lkIDA/InVuZGVmaW5lZCI6bi5pc0pzcGIsbi5jdHRBdXRoSW5mbz09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmN0dEF1dGhJbmZvLG4udGllcj09PXZvaWQgMD8idW5kZWZpbmVkIjpuLnRpZXJdLmpvaW4oIi8iKX07ClU5PWZ1bmN0aW9uKCl7cmV0dXJuIGcubCgiaHRtbDVfc2VuZF9xb2Vfb25fZ2VsIil8fGcubCgid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIil9OwppeT1mdW5jdGlvbihuKXt5Uj1uO1U5KCkmJihnLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1uKTtFOT1uZXcgbn07CnV5PWZ1bmN0aW9uKG4pe3JldHVybiBuP246VTkoKT95Unx8Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRSZWdpc3RlcmVkQ2xpZW50Q3Rvcl98fG51bGw6bnVsbH07CmRFPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubG9nZ2luZy5pbXMiKTtufHwobj1uZXcgb2IsZy5HYigieXQubG9nZ2luZy5pbXMiLG4pKTtyZXR1cm4gbn07CktfMj1mdW5jdGlvbigpe2lmKHR5cGVvZiBXb3JrZXI9PT0iZnVuY3Rpb24iJiZBcCgpJiYhenApe3ZhciBuPUQ9PntEPUQuZGF0YTtpZihELm9wPT09InNlcmlhbGl6ZWRHZWxCYXRjaCIpe3ZhciBiPWx5LmdldChELmtleSk7YiYmKFRwKEQuc2VyaWFsaXplZEJhdGNoLGIuY2xpZW50LGIucmVzb2x2ZSxiLm5ldHdvcmtsZXNzT3B0aW9ucyxiLmlzSXNvbGF0ZWQsYi51c2VWU1NFbmRwb2ludCxiLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24sYi5yZXF1ZXN0c091dHN0YW5kaW5nKSxseS5kZWxldGUoRC5rZXkpKX19LFc9S1goKTsKVyYmKFcuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbiksVy5vbmVycm9yPSgpPT57bHkuY2xlYXIoKX0pOwp6cD0hMH19OwpPR3g9ZnVuY3Rpb24obixXKXtpZihuLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKG4pO3ZhciBEPUNYKG4pLGI9Qkkobi5wYXlsb2FkKXx8IiIsdj1GNChiKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe01qKG4sVyk7cmV0dXJufX1SYltEXT0hMDtEPXtjdHRBdXRoSW5mbzpELGlzSnNwYjohMSx0aWVyOmt9O2RFKCkuc3RvcmVQYXlsb2FkKEQsbi5wYXlsb2FkKTtRUihXLCExLEQsVlIoYikpfX07ClBXMT1mdW5jdGlvbihuLFcsRCl7aWYoVy5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtqWih2b2lkIDAsVyk7dmFyIGI9Q1goVywhMCksdj1GNChuKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe2NJKG4sVyxEKTtyZXR1cm59fVJiW2JdPSEwO2I9e2N0dEF1dGhJbmZvOmIsaXNKc3BiOiEwLHRpZXI6a307ZEUoKS5zdG9yZVBheWxvYWQoYixZdihXLnBheWxvYWQpKTtRUihELCEwLGIsVlIobikpfX07ClFSPWZ1bmN0aW9uKG4sVz0hMSxELGI9ITEpe24mJml5KG4pO249djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2giKXx8djAoIndlYl9sb2dnaW5nX21heF9iYXRjaCIpfHwxMDA7dmFyIHY9KDAsZy5SKSgpLGs9YWIoVyxELnRpZXIpLGg9ay5YO2ImJihrLk49ITApO2I9MDtEJiYoYj1kRSgpLmdldFNlcXVlbmNlQ291bnQoRCkpO2I+PTFFMz9uVSh7d3JpdGVUaGVuU2VuZDohMH0sVyxELnRpZXIpOmI+PW4/V3N8fChXcz1EdigoKT0+e25VKHt3cml0ZVRoZW5TZW5kOiEwfSxXLEQudGllcik7V3M9dm9pZCAwfSwwKSk6di1oPj0xMCYmKGJSKFcsRC50aWVyKSxrLlg9dil9OwpNaj1mdW5jdGlvbihuLFcpe2lmKG4uZW5kcG9pbnQ9PT0ibG9nX2V2ZW50Iil7Zy5sKCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmZEUoKS5zdG9yZVBheWxvYWQoe2lzSnNwYjohMX0sbi5wYXlsb2FkKTtqWihuKTt2YXIgRD1DWChuKSxiPW5ldyBNYXA7Yi5zZXQoRCxbbi5wYXlsb2FkXSk7dmFyIHY9Qkkobi5wYXlsb2FkKXx8IiI7KG49dXkoVykpJiZpeShuKTtyZXR1cm4gbmV3IGcuWDEoKGssaCk9PntFOSYmRTkuaXNSZWFkeSgpP3ZzKGIsRTksayxoLHtieXBhc3NOZXR3b3JrbGVzczohMH0sITAsVlIodikpOmsoKX0pfX07CmNJPWZ1bmN0aW9uKG4sVyxEKXtpZihXLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKHZvaWQgMCxXKTt2YXIgYj1DWChXLCEwKSx2PW5ldyBNYXA7di5zZXQoYixbWXYoVy5wYXlsb2FkKV0pOyhXPXV5KEQpKSYmaXkoVyk7cmV0dXJuIG5ldyBnLlgxKGs9PntFOSYmRTkuaXNSZWFkeSgpP2tBKHYsRTksayx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFZSKG4pKTprKCl9KX19OwpDWD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPSIiO2lmKG4uZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbilEPSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtlbHNlIGlmKG4uY3R0QXV0aEluZm8pe2lmKFcpe1c9bi5jdHRBdXRoSW5mby50b2tlbjtEPW4uY3R0QXV0aEluZm87bGV0IGI9bmV3IGg2O0QudmlkZW9JZD9iLnNldFZpZGVvSWQoRC52aWRlb0lkKTpELnBsYXlsaXN0SWQmJkQyKGIsMix4QSxXSChELnBsYXlsaXN0SWQpKTtMVVtXXT1ifWVsc2UgVz1uLmN0dEF1dGhJbmZvLEQ9e30sVy52aWRlb0lkP0QudmlkZW9JZD1XLnZpZGVvSWQ6Vy5wbGF5bGlzdElkJiYoRC5wbGF5bGlzdElkPVcucGxheWxpc3RJZCksZXlbbi5jdHRBdXRoSW5mby50b2tlbl09RDtEPW4uY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIER9OwpuVT1mdW5jdGlvbihuPXt9LFc9ITEsRCl7bmV3IGcuWDEoKGIsdik9Pnt2YXIgaz1hYihXLEQpLGg9ay5OO2suTj0hMTtpZihnLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpJiZnLmwoIndlYl92c3Nfcm91dGluZ19jaGVja19hbGxfdGllcl9wb2xpY2llcyIpKXtsZXQgeD1hYihXLDMwMCksTD1hYihXLDIwMCk7aD1ofHx4Lk58fEwuTjt4Lk49ITE7TC5OPSExfWc0KGsuVyk7ZzQoay5KKTtrLko9MDtFOSYmRTkuaXNSZWFkeSgpP0Q9PT12b2lkIDAmJmcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/cTEoYix2LG4sVywzMDAsaCk6cTEoYix2LG4sVyxELGgpOihiUihXLEQpLGIoKSl9KX07CnExPWZ1bmN0aW9uKG4sVyxEPXt9LGI9ITEsdj0yMDAsaz0hMSl7dmFyIGg9RTkseD1uZXcgTWFwLEw9bmV3IE1hcCxlPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDAsdGllcjp2fSxHPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDB9O2lmKGIpe2ZvcihsZXQgciBvZiBPYmplY3Qua2V5cyhSYikpVz1nLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2RFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOltlLEddLHNpemVMaW1pdDoxRTN9KTpkRSgpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMCxjdHRBdXRoSW5mbzpyfSksVy5sZW5ndGg+MCYmeC5zZXQocixXKSwoZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSYmRC53cml0ZVRoZW5TZW5kfHwhZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSkmJmRlbGV0ZSBSYltyXTtrQSh4LGgsbixELCExLGspfWVsc2V7Zm9yKGxldCByIG9mIE9iamVjdC5rZXlzKFJiKSl4PWcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/CmRFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOlt7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnIsdGllcjp2fSx7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnJ9XSxzaXplTGltaXQ6MUUzfSk6ZEUoKS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtpc0pzcGI6ITEsY3R0QXV0aEluZm86cn0pLHgubGVuZ3RoPjAmJkwuc2V0KHIseCksKGcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJkQud3JpdGVUaGVuU2VuZHx8IWcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgUmJbcl07dnMoTCxoLG4sVyxELCExLGspfX07CmJSPWZ1bmN0aW9uKG49ITEsVz0yMDApe3ZhciBEPSgpPT57blUoe3dyaXRlVGhlblNlbmQ6ITB9LG4sVyl9LGI9YWIobixXKSx2PWI9PT1HVXx8Yj09PXQ2PzVFMzpaR1o7CmcubCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhYi5KJiYodj1EdigoKT0+e0QoKX0sdiksYi5KPXYpOwpnNChiLlcpO3Y9Zy5BcigiTE9HR0lOR19CQVRDSF9USU1FT1VUIix2MCgid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Zy5sKCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmJEEmJih2PVVFdyk7dj1EdigoKT0+e3YwKCJnZWxfbWluX2JhdGNoX3NpemUiKT4wP2RFKCkuZ2V0U2VxdWVuY2VDb3VudCh7Y3R0QXV0aEluZm86dm9pZCAwLGlzSnNwYjpuLHRpZXI6V30pPj15dlMmJkQoKTpEKCl9LHYpOwpiLlc9dn07CnZzPWZ1bmN0aW9uKG4sVyxELGIsdj17fSxrLGgpe3ZhciB4PU1hdGgucm91bmQoKDAsZy5SKSgpKSxMPW4uc2l6ZSxlPXI0KGgpO2ZvcihsZXQgW0cscl1vZiBuKXtuPUc7aD1yO2xldCBOPWcuTmMoe2NvbnRleHQ6Zy5VSihXLmNvbmZpZ198fGcuUzkoKSl9KTtpZighZy5ZMihoKSYmIWcubCgidGhyb3dfZXJyX3doZW5fbG9nZXZlbnRfbWFsZm9ybWVkX2tpbGxzd2l0Y2giKSl7YigpO2JyZWFrfU4uZXZlbnRzPWg7KGg9ZXlbbl0pJiZFdkMoTixuLGgpO2RlbGV0ZSBleVtuXTtsZXQgSD1uPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO2lHaihOLHgsSCk7c3kodik7bGV0IEE9ej0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoeil9KTsKTC0tO0x8fEQoKX0seT0wLFQ9KCk9Pnt5Kys7CmlmKHYuYnlwYXNzTmV0d29ya2xlc3MmJnk9PT0xKXRyeXtnLklJKFcsZSxOLHBVKHt3cml0ZVRoZW5TZW5kOiEwfSxILEEsVCxrKSksJEE9ITF9Y2F0Y2goeil7T3QoeiksYigpfUwtLTtMfHxEKCl9Owp0cnl7Zy5JSShXLGUsTixwVSh2LEgsQSxULGspKSwkQT0hMX1jYXRjaCh6KXtPdCh6KSxiKCl9fX07CmtBPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrKXt2YXIgaD1NYXRoLnJvdW5kKCgwLGcuUikoKSkseD17dmFsdWU6bi5zaXplfSxMPW5ldyBNYXAoWy4uLm5dKTtmb3IobGV0IFtUXW9mIEwpe3ZhciBlPVQsRz1uLmdldChlKTtMPW5ldyB1RjI7dmFyIHI9Vy5jb25maWdffHxnLlM5KCksTj1uZXcgWUEsSD1uZXcgSHM7Zy5TRShILDEsci5NYik7Zy5TRShILDIsci5FRSk7S24oSCwxNixyLkZkKTtnLlNFKEgsMTcsci5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbik7aWYoci5jUil7dmFyIEE9ci5jUix5PW5ldyBpOTtBLmNvbGRDb25maWdEYXRhJiZnLlNFKHksMSxBLmNvbGRDb25maWdEYXRhKTtBLmFwcEluc3RhbGxEYXRhJiZnLlNFKHksNixBLmFwcEluc3RhbGxEYXRhKTtBLmNvbGRIYXNoRGF0YSYmZy5TRSh5LDMsQS5jb2xkSGFzaERhdGEpO0EuaG90SGFzaERhdGEmJnkuVyhBLmhvdEhhc2hEYXRhKTskOShILGk5LDYyLHkpfShBPWcucWkuZGV2aWNlUGl4ZWxSYXRpbykmJgpBIT0xJiZveihILDY1LGcuQV8oQSkpO0E9a1QoKTtBIT09IiImJmcuU0UoSCw1NCxBKTtBPWh5KCk7aWYoQS5sZW5ndGg+MCl7eT1uZXcgZlU7Zm9yKGxldCB6PTA7ejxBLmxlbmd0aDt6Kyspe2xldCBDPW5ldyBKNjtnLlNFKEMsMSxBW3pdLmtleSk7RDIoQywyLEl2LFdIKEFbel0udmFsdWUpKTtOSCh5LDE1LEo2LEMpfSQ5KE4sZlUsNSx5KX1BNyhyLEgpO21UKE4pO0tQKEgpO09KKHIsSCk7UHooSCk7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJlptKEgpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJiFnLmwoInBhZ2VpZF9hc19oZWFkZXJfd2ViIikmJihyPW5ldyBTeSxnLlNFKHIsMyxnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpKSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihBPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoeT1nZShOLFN5LDMpfHxuZXcgU3ksCnI9TixBPWcuU0UoeSwxOCxBKSwkOShyLFN5LDMsQSkpO3I9SDtBPWcuQXIoIkRFVklDRSIsIiIpO2ZvcihsZXQgW3osQ11vZiBPYmplY3QuZW50cmllcyhnLml3KEEpKSlBPXosQT09PSJjYnJhbmQiP2cuU0UociwxMixDKTpBPT09ImNtb2RlbCI/Zy5TRShyLDEzLEMpOkE9PT0iY2JyIj9nLlNFKHIsODcsQyk6QT09PSJjYnJ2ZXIiP2cuU0Uociw4OCxDKTpBPT09ImNvcyI/Zy5TRShyLDE4LEMpOkE9PT0iY29zdmVyIj9nLlNFKHIsMTksQyk6QT09PSJjcGxhdGZvcm0iJiZLbihyLDQyLGhxaChDKSk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYob3ooSCw1NSxnLnlQKHdpbmRvdy5pbm5lcldpZHRoKSksb3ooSCw1NixnLnlQKHdpbmRvdy5pbm5lckhlaWdodCkpKTtOLlcoSCk7JDkoTCxZQSwxLE4pO2lmKEg9TFVbZV0pYTp7aWYoSC5FMSgpKU49MTtlbHNlIGlmKEguZ2V0UGxheWxpc3RJZCgpKU49MjtlbHNlIGJyZWFrIGE7JDkoTCxoNiw0LEgpO0g9Z2UoTCwKWUEsMSl8fG5ldyBZQTtyPWdlKEgsU3ksMyl8fG5ldyBTeTtBPW5ldyBBNjtBLnNldFRva2VuKGUpO0tuKEEsMSxOKTtOSChyLDEyLEE2LEEpOyQ5KEgsU3ksMyxyKX1kZWxldGUgTFVbZV07ZT1lPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO21yKCl8fElZKEwsMixoKTshZSYmKE49Zy5BcigiRVZFTlRfSUQiKSkmJihIPUtVKCkscj1uZXcgT3ksZy5TRShyLDEsTiksSVkociwyLEgpLCQ5KEwsT3ksNSxyKSk7c3koYik7aWYoZy5sKCJqc3BiX3NlcmlhbGl6ZV93aXRoX3dvcmtlciIpJiYoTj1LWCgpKSYmYi53cml0ZVRoZW5TZW5kKXtseS5zZXQoUHMse2NsaWVudDpXLHJlc29sdmU6RCxuZXR3b3JrbGVzc09wdGlvbnM6Yixpc0lzb2xhdGVkOnYsdXNlVlNTRW5kcG9pbnQ6ayxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOmUscmVxdWVzdHNPdXRzdGFuZGluZzp4fSk7Ti5wb3N0TWVzc2FnZSh7b3A6ImdlbEJhdGNoVG9TZXJpYWxpemUiLGJhdGNoUmVxdWVzdDpZdihMKSxjbGllbnRFdmVudHM6RywKa2V5OlBzfSk7UHMrKzticmVha31pZihHKXtOPVtdO2ZvcihIPTA7SDxHLmxlbmd0aDtIKyspdHJ5e04ucHVzaChuZXcgWnYoR1tIXSkpfWNhdGNoe090KG5ldyBnLlF4KCJUcmFuc3BvcnQgZmFpbGVkIHRvIGRlc2VyaWFsaXplICIrU3RyaW5nKEdbSF0pKSl9Rz1OfWVsc2UgRz1bXTtmb3IobGV0IHogb2YgRylOSChMLDMsWnYseik7Rz17c3RhcnRUaW1lOigwLGcuUikoKSx0aWNrczp7fSxpbmZvczp7fX07TD1MLmJZKCk7Ry50aWNrcy5nZWxqc3BjPSgwLGcuUikoKTtnLmwoImxvZ19qc3BiX3NlcmlhbGl6ZV9sYXRlbmN5IikmJkYzKCJnZWxfanNwYl9zZXJpYWxpemUiLEcse3NhbXBsZVJhdGU6LjF9KTtUcChMLFcsRCxiLHYsayxlLHgpfX07ClRwPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrLGgseD17dmFsdWU6MH0pe2s9cjQoayk7Yj1wVShiLGgsTD0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoTCl9KTsKeC52YWx1ZS0tO3gudmFsdWV8fEQoKX0sKCk9Pnt4LnZhbHVlLS07CngudmFsdWV8fEQoKX0sdik7CmIuaGVhZGVyc1siQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiO2IucG9zdEJvZHlGb3JtYXQ9IkpTUEIiO2IucG9zdEJvZHk9bjtnLklJKFcsaywiIixiKTskQT0hMX07CnN5PWZ1bmN0aW9uKG4pe2cubCgiYWx3YXlzX3NlbmRfYW5kX3dyaXRlIikmJihuLndyaXRlVGhlblNlbmQ9ITEpfTsKcFU9ZnVuY3Rpb24obixXLEQsYix2KXtuPXtyZXRyeTohMCxvblN1Y2Nlc3M6RCxvbkVycm9yOmIsbmV0d29ya2xlc3NPcHRpb25zOm4sZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpXLFRVOiEhdixoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOmcubCgiY29tcHJlc3NfZ2VsIil8fGcubCgiY29tcHJlc3NfZ2VsX2xyIil9O21yKCkmJihuLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gbn07CmlHaj1mdW5jdGlvbihuLFcsRCl7bXIoKXx8KG4ucmVxdWVzdFRpbWVNcz1TdHJpbmcoVykpO2cubCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYobi51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFEJiYoVz1nLkFyKCJFVkVOVF9JRCIpKSYmKEQ9S1UoKSxuLnNlcmlhbGl6ZWRDbGllbnRFdmVudElkPXtzZXJpYWxpemVkRXZlbnRJZDpXLGNsaWVudENvdW50ZXI6U3RyaW5nKEQpfSl9OwpLVT1mdW5jdGlvbigpe3ZhciBuPWcuQXIoIkJBVENIX0NMSUVOVF9DT1VOVEVSIil8fDA7bnx8KG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKTtuKys7bj42NTUzNSYmKG49MSk7Zy5TSCgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLG4pO3JldHVybiBufTsKRXZDPWZ1bmN0aW9uKG4sVyxEKXtpZihELnZpZGVvSWQpdmFyIGI9IlZJREVPIjtlbHNlIGlmKEQucGxheWxpc3RJZCliPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47bi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPUQ7bi5jb250ZXh0PW4uY29udGV4dHx8e307bi5jb250ZXh0LnVzZXI9bi5jb250ZXh0LnVzZXJ8fHt9O24uY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOlcsc2NvcGU6Yn1dfTsKalo9ZnVuY3Rpb24obixXKXt2YXIgRD1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiKSxiPWJiKCJpbF9wYXlsb2FkX3NjcmFwaW5nIik7Yj0oYiE9PXZvaWQgMD9TdHJpbmcoYik6IiIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighRClpZihiKVV5PVtdLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmVuYWJsZVNjcmFwaW5nRm9yVGVzdCIsITApLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLFV5KSxnLkdiKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5wYXlsb2FkVG9TY3JhcGUiLCJ2aXN1YWxFbGVtZW50U2hvd24gdmlzdWFsRWxlbWVudEhpZGRlbiB2aXN1YWxFbGVtZW50QXR0YWNoZWQgc2NyZWVuQ3JlYXRlZCB2aXN1YWxFbGVtZW50R2VzdHVyZWQgdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIuc3BsaXQoIiAiKSksZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZFBheWxvYWRGcm9tQ2xpZW50RXZlbnRzRnVuY3Rpb24iKSwKZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuc2NyYXBlQ2xpZW50RXZlbnQiLCEwKTtlbHNlIHJldHVybjtEPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciKTtiPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnBheWxvYWRUb1NjcmFwZSIpO1cmJihXPVcucGF5bG9hZCwoVz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5nZXRTY3JhcGVkUGF5bG9hZEZyb21DbGllbnRFdmVudHNGdW5jdGlvbiIpLmJpbmQoVykoKSkmJkQucHVzaChXKSk7Vz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGImJmIubGVuZ3RoPj0xKWZvcihsZXQgdj0wO3Y8Yi5sZW5ndGg7disrKW4mJm4ucGF5bG9hZFtiW3ZdXSYmKFc/RC5wdXNoKG4ucGF5bG9hZCk6RC5wdXNoKChuPy5wYXlsb2FkKVtiW3ZdXSkpO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLEQpfTsKbXI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5sKCJ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlciIpfHxnLmwoImxyX3VzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil9OwpEdj1mdW5jdGlvbihuLFcpe3JldHVybiBnLmwoInRyYW5zcG9ydF91c2Vfc2NoZWR1bGVyIik9PT0hMT9nLm4kKG4sVyk6Zy5sKCJsb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIil8fGcubCgibHJfbG9nZ2luZ19hdm9pZF9ibG9ja2luZ19kdXJpbmdfbmF2aWdhdGlvbiIpP2cuY0IoMCwoKT0+e0liKCkuY3VycmVudFN0YXRlPT09Im5vbmUiP24oKTpJYigpLmluc3RhbGwoe25vbmU6e2NhbGxiYWNrOm59fSl9LFcpOmcuY0IoMCxuLFcpfTsKZzQ9ZnVuY3Rpb24obil7Zy5sKCJ0cmFuc3BvcnRfdXNlX3NjaGVkdWxlciIpP3RhLnNPKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9OwpOMT1hc3luYyBmdW5jdGlvbihuKXtuPW4/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIFc9Zy53KG4sb3Z0KSxEPW4/LmhvdEhhc2hEYXRhLGI9Zy53KG4sZEUyKSx2PW4/LmNvbGRIYXNoRGF0YSxrPWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpO2smJihEJiYoVz9hd2FpdCBIeihrLEQsVyk6YXdhaXQgSHooayxEKSksdiYmKGI/YXdhaXQgZlAoayx2LGIpOmF3YWl0IGZQKGssdikpKTtXPW4/LnJhd0ZpbmNoU3RhdGljQ29uZmlnR3JvdXA7KG49bj8uZmluY2hTdGF0aWNIYXNoRGF0YSk/KEQ9Zy5xaigpLnJlc29sdmUoZy5ocCh6X3QpKSk/YXdhaXQgRC5OVSh7Y29uZmlnOld8fHt9LFlVOm58fCIifSk6KFd8fG4pJiZaRShuZXcgZy5ReCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSBpcyBub3QgcHJlc2VudCwgYnV0IEZpbmNoIGNvbmZpZyBkYXRhIGlzIHByZXNlbnQuIikpOlcmJlpFKG5ldyBnLlF4KCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFiPWZ1bmN0aW9uKG4sVz0yMDApe3JldHVybiBuP1c9PT0zMDA/R1U6bFJDOlc9PT0zMDA/dDY6VGdpfTsKRjQ9ZnVuY3Rpb24obil7aWYoZy5sKCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7bj15NFtufHwiIl07dmFyIFc9Zy5xaigpLnJlc29sdmUoZy5ocChnLlgzKSk/LkxYKCk/LmxvZ2dpbmdIb3RDb25maWc/LmV2ZW50TG9nZ2luZ0NvbmZpZz8ucGF5bG9hZFBvbGljaWVzO2lmKFcpZm9yKGxldCBEPTA7RDxXLmxlbmd0aDtEKyspaWYoV1tEXS5wYXlsb2FkTnVtYmVyPT09bilyZXR1cm4gV1tEXX19OwpCST1mdW5jdGlvbihuKXtuPU9iamVjdC5rZXlzKG4pO2ZvcihsZXQgVyBvZiBuKWlmKHk0W1ddKXJldHVybiBXfTsKd0U9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07ClZSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09ImdlbERlYnVnZ2luZ0V2ZW50Inx8bj09PSJ3YXRjaFRpbWVTZWdtZW50In07CnI0PWZ1bmN0aW9uKG49ITEpe3JldHVybiBuJiZnLmwoInZzc190aHJvdWdoX2dlbF92aWRlb19zdGF0cyIpPyJ2aWRlb19zdGF0cyI6ImxvZ19ldmVudCJ9Owp1Uj1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj17fSxrPU1hdGgucm91bmQoYi50aW1lc3RhbXB8fCgwLGcuUikoKSk7di5ldmVudFRpbWVNcz1rPE51bWJlci5NQVhfU0FGRV9JTlRFR0VSP2s6MDt2W25dPVc7bj1nLnZJKCk7di5jb250ZXh0PXtsYXN0QWN0aXZpdHlNczpTdHJpbmcoYi50aW1lc3RhbXB8fCFpc0Zpbml0ZShuKT8tMTpuKX07Yi5zZXF1ZW5jZUdyb3VwJiYhZy5sKCJ3ZWJfZ2VsX3NlcXVlbmNlX2luZm9fa2lsbHN3aXRjaCIpJiYobj12LmNvbnRleHQsVz1iLnNlcXVlbmNlR3JvdXAsVz17aW5kZXg6RXkoVyksZ3JvdXBLZXk6V30sbi5zZXF1ZW5jZT1XLGIuZW5kT2ZTZXF1ZW5jZSYmZGVsZXRlIGlSW2Iuc2VxdWVuY2VHcm91cF0pO2cubCgid2ViX3RhZ19hdXRvbWF0ZWRfbG9nX2V2ZW50cyIpJiYodi5jb250ZXh0LmF1dG9tYXRlZExvZ0V2ZW50U291cmNlPWIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpOyhiLnNlbmRJc29sYXRlZFBheWxvYWQ/TWo6T0d4KSh7ZW5kcG9pbnQ6ImxvZ19ldmVudCIsCnBheWxvYWQ6dixjdHRBdXRoSW5mbzpiLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246Yi5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxEKX07Cm92PWZ1bmN0aW9uKG49ITEpe25VKHZvaWQgMCxuKX07CkV5PWZ1bmN0aW9uKG4pe2lSW25dPW4gaW4gaVI/aVJbbl0rMTowO3JldHVybiBpUltuXX07CmcuelU9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPWcuZDQ7Zy5BcigieXRMb2dnaW5nRXZlbnRzRGVmYXVsdERpc2FibGVkIiwhMSkmJmcuZDQ9PT1nLmQ0JiYoYj1udWxsKTt1UihuLFcsYixEKX07ClRVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgbFIoe3RyYWNraW5nUGFyYW1zOm59KX07Cmp5PWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD1qelorKztyZXR1cm4gbmV3IGxSKHt2ZVR5cGU6bix2ZUNvdW50ZXI6aCxlbGVtZW50SW5kZXg6RCxkYXRhRWxlbWVudDpXLHlvdXR1YmVEYXRhOmIsanNwYllvdXR1YmVEYXRhOnYsbG9nZ2luZ0RpcmVjdGl2ZXM6a30pfTsKQ1U9ZnVuY3Rpb24obj0wKXtyZXR1cm4gZy5BcigiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIse30pW25dfTsKQ1dpPWZ1bmN0aW9uKG4sVz0wKXt2YXIgRD1nLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7RHx8KEQ9e30sZy5TSCgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsRCkpO0RbV109bn07CkJzPWZ1bmN0aW9uKG49MCl7cmV0dXJuIG49PT0wPyJST09UX1ZFX1RZUEUiOmBST09UX1ZFX1RZUEUuJHtufWB9OwpGUj1mdW5jdGlvbihuPTApe3JldHVybiBnLkFyKEJzKG4pKX07Cnc0PWZ1bmN0aW9uKG49MCl7cmV0dXJuKG49RlIobikpP25ldyBsUih7dmVUeXBlOm4seW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTsKTTE9ZnVuY3Rpb24oKXt2YXIgbj1nLkFyKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIpO258fChuPXt9LGcuU0goImNzbi10by1jdHQtYXV0aC1pbmZvIixuKSk7cmV0dXJuIG59OwpCZ3I9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhnLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSkpLmZpbHRlcihuPT5uIT09dm9pZCAwKX07CmcuUnY9ZnVuY3Rpb24obj0wKXtuPUNVKG4pO2lmKCFuJiYhZy5BcigiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO258fChuPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIG4/bjpudWxsfTsKd0hDPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBPYmplY3QudmFsdWVzKEZfVSkpaWYoZy5SdihXKT09PW4pcmV0dXJuITA7cmV0dXJuITF9OwpNV3c9ZnVuY3Rpb24obixXLEQpe3ZhciBiPU0xKCk7KEQ9Zy5SdihEKSkmJmRlbGV0ZSBiW0RdO1cmJihiW25dPVcpfTsKUTQ9ZnVuY3Rpb24obil7cmV0dXJuIE0xKClbbl19Owpjcz1mdW5jdGlvbihuLFcsRD0wLGIpe2lmKG4hPT1DVShEKXx8VyE9PWcuQXIoQnMoRCkpKWlmKE1XdyhuLGIsRCksQ1dpKG4sRCksZy5TSChCcyhEKSxXKSxXPSgpPT57c2V0VGltZW91dCgoKT0+e24mJmcuelUoImZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkIix7Y2xpZW50RG9jdW1lbnROb25jZTpWNCxjbGllbnRTY3JlZW5Ob25jZTpufSl9LDApfSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lImluIHdpbmRvdyl0cnl7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShXKX1jYXRjaCh2KXtXKCl9ZWxzZSBXKCl9OwpuND1mdW5jdGlvbihuLFcpe3ZhciBEPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pLGI9Zy5JUCh3aW5kb3cubG9jYXRpb24uaHJlZik7YiYmRC5wdXNoKGIpO2I9Zy5JUChuKTtpZihnLmpqKEQsYil8fCFiJiZnLmpVKG4sIi8iKSlpZihEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSxnLk5VKEQsbiksbj1ELmhyZWYpaWYobj1tVyhuKSxuPUtwKG4pKWlmKCFXLmNzbiYmKFcuaXRjdHx8Vy52ZWQpJiYoVz1PYmplY3QuYXNzaWduKHtjc246Zy5SdigpfSxXKSksdil7dmFyIHY9cGFyc2VJbnQodiwxMCk7aXNGaW5pdGUodikmJnY+MCYmYXYobixXLHYpfWVsc2UgYXYobixXKX07CmF2PWZ1bmN0aW9uKG4sVyxEKXtuPVdhKG4pO1c9Vz95RyhXKToiIjtEPUR8fDU7Zy5hSygpJiZJSyhuLFcsRCl9OwpXYT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgUl9NKW49VDUobixXKTtyZXR1cm4iU1QtIitzVChuKS50b1N0cmluZygzNil9OwpnLkRwPWZ1bmN0aW9uKG4pe2lmKG4uc2ltcGxlVGV4dClyZXR1cm4gbi5zaW1wbGVUZXh0O2lmKG4ucnVucyl7bGV0IFc9W107Zm9yKGxldCBEIG9mIG4ucnVucylELnRleHQmJlcucHVzaChELnRleHQpO3JldHVybiBXLmpvaW4oIiIpfXJldHVybiIifTsKZy5iZz1mdW5jdGlvbihuKXtpZihuLnNpbXBsZVRleHQpcmV0dXJuIG49ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobi5zaW1wbGVUZXh0KSxuO3ZhciBXPVtdO2lmKG4ucnVucylmb3IobGV0IHg9MDt4PG4ucnVucy5sZW5ndGg7eCsrKXt2YXIgRD1uLnJ1bnNbeF07aWYoRC50ZXh0KXt2YXIgYj1XLHY9Yi5wdXNoLGs9bnVsbDt2YXIgaD1ELnRleHQ7RC5ib2xkJiYoaz1nLmRtKCJCIixudWxsLGt8fGgpKTtELml0YWxpY3MmJihrPWcuZG0oIkkiLG51bGwsa3x8aCkpO0Quc3RyaWtldGhyb3VnaCYmKGs9Zy5kbSgiU1RSSUtFIixudWxsLGt8fGgpKTtELm5hdmlnYXRpb25FbmRwb2ludCYmRC5uYXZpZ2F0aW9uRW5kcG9pbnQudXJsRW5kcG9pbnQmJihEPUQubmF2aWdhdGlvbkVuZHBvaW50LnVybEVuZHBvaW50LGs9Zy5kbSgiQSIsbnVsbCxrfHxoKSxnLk5VKGssRC51cmwpLEQudGFyZ2V0PT0iVEFSR0VUX05FV19XSU5ET1ciJiYoay50YXJnZXQ9Il9ibGFuayIpKTtoPWt8fGcuZG0oIlNQQU4iLApudWxsLGgpO3YuY2FsbChiLGgpfX1yZXR1cm4gVy5sZW5ndGg9PTE/V1swXTpnLmRtKCJTUEFOIixudWxsLFcpfTsKUXoxPWZ1bmN0aW9uKG4pe2lmKG4ubmFtZT09PSJKYXZhRXhjZXB0aW9uIilyZXR1cm4hMDtuPW4uc3RhY2s7cmV0dXJuIG4uaW5jbHVkZXMoImNocm9tZTovLyIpfHxuLmluY2x1ZGVzKCItZXh0ZW5zaW9uOi8vIil8fG4uaW5jbHVkZXMoIndlYmtpdC1tYXNrZWQtdXJsOi8vIil9OwpWV3g9ZnVuY3Rpb24obil7aWYoIW4uc3RhY2spcmV0dXJuITA7dmFyIFc9IW4uc3RhY2suaW5jbHVkZXMoIlxuIik7cmV0dXJuIFcmJm4uc3RhY2suaW5jbHVkZXMoIkVycm9yVHlwZTogIil8fFcmJm4uc3RhY2suaW5jbHVkZXMoIkFub255bW91cyBmdW5jdGlvbiAoVW5rbm93biBzY3JpcHQiKXx8bi5zdGFjay50b0xvd2VyQ2FzZSgpPT09Im5vdCBhdmFpbGFibGUifHxuLmZpbGVOYW1lPT09InVzZXItc2NyaXB0Inx8bi5maWxlTmFtZS5zdGFydHNXaXRoKCJ1c2VyLXNjcmlwdDoiKT8hMDohMX07CmhQPWZ1bmN0aW9uKCl7aWYoIXZhKXt2YXIgbj12YT1uZXcgY3ZoO24uTjkubGVuZ3RoPTA7bi5rby5sZW5ndGg9MDtrQihuLGFSUyl9cmV0dXJuIHZhfTsKa0I9ZnVuY3Rpb24obixXKXtXLk45JiZuLk45LnVuc2hpZnQuYXBwbHkobi5OOSxXLk45KTtXLmtvJiZuLmtvLnVuc2hpZnQuYXBwbHkobi5rbyxXLmtvKX07Cm45dz1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aCxEPTAsYj0oKT0+bi5jaGFyQ29kZUF0KEQrKyk7CmRve3ZhciB2PXhCKGIpO2lmKHY9PT1JbmZpbml0eSlicmVhaztsZXQgaz12Pj4zO3N3aXRjaCh2Jjcpe2Nhc2UgMDp2PXhCKGIpO2lmKGs9PT0yKXJldHVybiB2O2JyZWFrO2Nhc2UgMTppZihrPT09MilyZXR1cm47RCs9ODticmVhaztjYXNlIDI6dj14QihiKTtpZihrPT09MilyZXR1cm4gbi5zdWJzdHIoRCx2KTtEKz12O2JyZWFrO2Nhc2UgNTppZihrPT09MilyZXR1cm47RCs9NDticmVhaztkZWZhdWx0OnJldHVybn19d2hpbGUoRDxXKX07CnhCPWZ1bmN0aW9uKG4pe3ZhciBXPW4oKSxEPVcmMTI3O2lmKFc8MTI4KXJldHVybiBEO1c9bigpO0R8PShXJjEyNyk8PDc7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7RHw9KFcmMTI3KTw8MTQ7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7cmV0dXJuIFc8MTI4P0R8KFcmMTI3KTw8MjE6SW5maW5pdHl9OwpnSz1mdW5jdGlvbihuLFcsRCxiKXtpZihuKWlmKEFycmF5LmlzQXJyYXkobikpe3ZhciB2PWI7Zm9yKGI9MDtiPG4ubGVuZ3RoJiYhKG5bYl0mJih2Kz1MNChiLG5bYl0sVyxEKSx2PjUwMCkpO2IrKyk7Yj12fWVsc2UgaWYodHlwZW9mIG49PT0ib2JqZWN0Iilmb3IodiBpbiBuKXtpZihuW3ZdKXthOnt2YXIgaz12O3ZhciBoPW5bdl0seD1XLEw9RDtpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxrIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZrIT09InRyYWNraW5nUGFyYW1zIil7az0wO2JyZWFrIGF9az0oaD1uOXcoYXRvYihoLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSkpP0w0KGAke2t9LnZlYCxoLHgsTCk6MH1iKz1rO2IrPUw0KHYsblt2XSxXLEQpO2lmKGI+NTAwKWJyZWFrfX1lbHNlIERbV109ZWkobiksYis9RFtXXS5sZW5ndGg7ZWxzZSBEW1ddPWVpKG4pLGIrPURbV10ubGVuZ3RoO3JldHVybiBifTsKTDQ9ZnVuY3Rpb24obixXLEQsYil7RCs9YC4ke259YDtuPWVpKFcpO2JbRF09bjtyZXR1cm4gRC5sZW5ndGgrbi5sZW5ndGh9OwplaT1mdW5jdGlvbihuKXt0cnl7cmV0dXJuKHR5cGVvZiBuPT09InN0cmluZyI/bjpTdHJpbmcoSlNPTi5zdHJpbmdpZnkobikpKS5zdWJzdHIoMCw1MDApfWNhdGNoKFcpe3JldHVybmB1bmFibGUgdG8gc2VyaWFsaXplICR7dHlwZW9mIG59ICgke1cubWVzc2FnZX0pYH19OwpXTlU9ZnVuY3Rpb24obixXPXt9KXtpZihuPW4uelope2xldCBEPW4uSngsYj1uLmQ2O249W1siY29tcG9uZW50U3RhY2siLG4ubUldLFsid2l6VGFnTmFtZSIsbi50YWdOYW1lXSxbIndpek93bmVyVHJhY2UiLG4uRHU/LmpvaW4oIiA+ICIpXSxbImVycm9yU2V2ZXJpdHkiLEQ/LnRvU3RyaW5nKCldLFsid2l6RmVhdHVyZUZsYWdzIixiP09iamVjdC5lbnRyaWVzKGIpLmpvaW4oIlxuIik6dm9pZCAwXV07Zm9yKGxldCBbdixrXW9mIG4pbj1rLG4hPT12b2lkIDAmJihXW3ZdPW4pfXJldHVybiBXfTsKZy5xZz1mdW5jdGlvbihuKXtnLlhqKG4pfTsKZy5HcT1mdW5jdGlvbihuKXtnLlhqKG4sIldBUk5JTkciKX07CmcuWGo9ZnVuY3Rpb24obixXPSJFUlJPUiIpe3ZhciBEPXt9O0QubmFtZT1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSk7RC52ZXJzaW9uPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7REh0KG4sRCxXKX07CkRIdD1mdW5jdGlvbihuLFcsRD0iRVJST1IiKXtpZihuKXtuLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZuLmxldmVsJiYoRD1uLmxldmVsKTtpZihnLmwoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBiPVc7aWYoIWI/LmNvbXBvbmVudFN0YWNrKXt2YXIgdj1uLnpaPy5tSTt2JiYoYnx8KGI9e30pLGIuY29tcG9uZW50U3RhY2s9dil9Vz1ifHxXfWVsc2UgVz1XTlUobixXKSxiPW4uelo/Lkp4LGIhPT12b2lkIDAmJkQhPT0iSUdOT1JFRCImJihEPWI+PTM/IkVSUk9SIjoiV0FSTklORyIpO2lmKGcubCgiY29uc29sZV9sb2dfanNfZXhjZXB0aW9ucyIpfHxbInRlc3QiLCJkZXYiLCJhdXRvcHVzaCIsInN0YWdpbmciXS5pbmNsdWRlcyhnLkFyKCJTRVJWRVJfVkVSU0lPTiIpKSliPVtdLGIucHVzaChgTmFtZTogJHtuLm5hbWV9YCksYi5wdXNoKGBNZXNzYWdlOiAke24ubWVzc2FnZX1gKSxuLmhhc093blByb3BlcnR5KCJwYXJhbXMiKSYmYi5wdXNoKGBFcnJvciBQYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkobi5wYXJhbXMpfWApLApuLmhhc093blByb3BlcnR5KCJhcmdzIikmJmIucHVzaChgRXJyb3IgYXJnczogJHtKU09OLnN0cmluZ2lmeShuLmFyZ3MpfWApLGIucHVzaChgRmlsZSBuYW1lOiAke24uZmlsZU5hbWV9YCksYi5wdXNoKGBTdGFja3RyYWNlOiAke24uc3RhY2t9YCksYj1iLmpvaW4oIlxuIiksd2luZG93LmNvbnNvbGUubG9nKGIsbik7aWYoISh0UD49NSkpe2I9W107Zm9yKGsgb2YgYm4yKXRyeXtrKCkmJmIucHVzaChrKCkpfWNhdGNoKEEpe312YXIgaz1iO2s9Wy4uLnY5MiwuLi5rXTt2YXIgaD1yaWIobik7Yj1oLm1lc3NhZ2V8fCJVbmtub3duIEVycm9yIjt2PWgubmFtZXx8IlVua25vd25FcnJvciI7dmFyIHg9aC5zdGFja3x8bi5TdHx8Ik5vdCBhdmFpbGFibGUiO2lmKHguc3RhcnRzV2l0aChgJHt2fTogJHtifWApKXt2YXIgTD14LnNwbGl0KCJcbiIpO0wuc2hpZnQoKTt4PUwuam9pbigiXG4iKX1MPWgubGluZU51bWJlcnx8Ik5vdCBhdmFpbGFibGUiO2g9aC5maWxlTmFtZXx8Ik5vdCBhdmFpbGFibGUiOwpsZXQgSD0wO2lmKG4uaGFzT3duUHJvcGVydHkoImFyZ3MiKSYmbi5hcmdzJiZuLmFyZ3MubGVuZ3RoKWZvcih2YXIgZT0wO2U8bi5hcmdzLmxlbmd0aCYmIShIPWdLKG4uYXJnc1tlXSxgcGFyYW1zLiR7ZX1gLFcsSCksSD49NTAwKTtlKyspO2Vsc2UgaWYobi5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJm4ucGFyYW1zKXtsZXQgQT1uLnBhcmFtcztpZih0eXBlb2Ygbi5wYXJhbXM9PT0ib2JqZWN0Iilmb3IoZSBpbiBBKXtpZighQVtlXSljb250aW51ZTtsZXQgeT1gcGFyYW1zLiR7ZX1gLFQ9ZWkoQVtlXSk7V1t5XT1UO0grPXkubGVuZ3RoK1QubGVuZ3RoO2lmKEg+NTAwKWJyZWFrfWVsc2UgVy5wYXJhbXM9ZWkoQSl9aWYoay5sZW5ndGgpZm9yKGU9MDtlPGsubGVuZ3RoJiYhKEg9Z0soa1tlXSxgcGFyYW1zLmNvbnRleHQuJHtlfWAsVyxIKSxIPj01MDApO2UrKyk7bmF2aWdhdG9yLnZlbmRvciYmIVcuaGFzT3duUHJvcGVydHkoInZlbmRvciIpJiYoV1siZGV2aWNlLnZlbmRvciJdPQpuYXZpZ2F0b3IudmVuZG9yKTtlPXttZXNzYWdlOmIsbmFtZTp2LGxpbmVOdW1iZXI6TCxmaWxlTmFtZTpoLHN0YWNrOngscGFyYW1zOlcsc2FtcGxlV2VpZ2h0OjF9O1c9TnVtYmVyKG4uY29sdW1uTnVtYmVyKTtpc05hTihXKXx8KGUubGluZU51bWJlcj1gJHtlLmxpbmVOdW1iZXJ9OiR7V31gKTtpZihuLmxldmVsPT09IklHTk9SRUQiKXZhciBHPTA7ZWxzZSBhOntuPWhQKCk7Zm9yKEcgb2Ygbi5OOSlpZihlLm1lc3NhZ2UmJmUubWVzc2FnZS5tYXRjaChHLktSKSl7Rz1HLndlaWdodDticmVhayBhfWZvcih2YXIgciBvZiBuLmtvKWlmKHIuY2FsbGJhY2soZSkpe0c9ci53ZWlnaHQ7YnJlYWsgYX1HPTF9ZS5zYW1wbGVXZWlnaHQ9RztHPWU7Zm9yKHZhciBOIG9mIGskYil7aWYoIU4uWXpbRy5uYW1lXSljb250aW51ZTtyPU4uWXpbRy5uYW1lXTtmb3IobGV0IEEgb2Ygcil7cj1HLm1lc3NhZ2UubWF0Y2goQS53Yik7aWYoIXIpY29udGludWU7Ry5wYXJhbXNbInBhcmFtcy5lcnJvci5vcmlnaW5hbCJdPQpyWzBdO249QS5ncm91cHM7ZT17fTtmb3IoVz0wO1c8bi5sZW5ndGg7VysrKWVbbltXXV09cltXKzFdLEcucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHtuW1ddfWBdPXJbVysxXTtHLm1lc3NhZ2U9Ti5HMShlKTticmVha319Ry5wYXJhbXN8fChHLnBhcmFtcz17fSk7Tj1oUCgpO0cucGFyYW1zWyJwYXJhbXMuZXJyb3JTZXJ2aWNlU2lnbmF0dXJlIl09YG1zZz0ke04uTjkubGVuZ3RofSZjYj0ke04ua28ubGVuZ3RofWA7Ry5wYXJhbXNbInBhcmFtcy5zZXJ2aWNlV29ya2VyIl09ImZhbHNlIjtnLnFpLmRvY3VtZW50JiZnLnFpLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihHLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3ICRCKHJLLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT0kQiYmKEcucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09InRydWUiKTt3aW5kb3cueXRlcnImJgp0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKEcpO0cuc2FtcGxlV2VpZ2h0PT09MHx8SVUuaGFzKEcubWVzc2FnZSl8fGhUUyhHLEQpfX19OwpoVFM9ZnVuY3Rpb24obixXPSJFUlJPUiIpe2lmKFc9PT0iRVJST1IiKXtTaS5XSigiaGFuZGxlRXJyb3IiLG4pO2lmKGcubCgicmVjb3JkX2FwcF9jcmFzaGVkX3dlYiIpJiZBUD09PTAmJm4uc2FtcGxlV2VpZ2h0PT09MSl7QVArKzt2YXIgRD17YXBwQ3Jhc2hUeXBlOiJBUFBfQ1JBU0hfVFlQRV9CUkVBS1BBRCJ9O2cubCgicmVwb3J0X2NsaWVudF9lcnJvcl93aXRoX2FwcF9jcmFzaF9rcyIpfHwoRC5zeXN0ZW1IZWFsdGg9e2NyYXNoRGF0YTp7Y2xpZW50RXJyb3I6e2xvZ01lc3NhZ2U6e21lc3NhZ2U6bi5tZXNzYWdlfX19fSk7Zy56VSgiYXBwQ3Jhc2hlZCIsRCl9eEhNKyt9ZWxzZSBXPT09IldBUk5JTkciJiZTaS5XSigiaGFuZGxlV2FybmluZyIsbik7aWYoZy5sKCJrZXZsYXJfZ2VsX2Vycm9yX3JvdXRpbmciKSl7RD17fTtiOntmb3IoYiBvZiBMTkMpaWYoZy51YihiLnRvTG93ZXJDYXNlKCkpKXt2YXIgYj0hMDticmVhayBifWI9ITF9aWYoYilEPXZvaWQgMDtlbHNle3ZhciB2PQp7c3RhY2tUcmFjZTpuLnN0YWNrfTtuLmZpbGVOYW1lJiYodi5maWxlbmFtZT1uLmZpbGVOYW1lKTtiPW4ubGluZU51bWJlciYmbi5saW5lTnVtYmVyLnNwbGl0P24ubGluZU51bWJlci5zcGxpdCgiOiIpOltdO2IubGVuZ3RoIT09MCYmKGIubGVuZ3RoIT09MXx8aXNOYU4oTnVtYmVyKGJbMF0pKT9iLmxlbmd0aCE9PTJ8fGlzTmFOKE51bWJlcihiWzBdKSl8fGlzTmFOKE51bWJlcihiWzFdKSl8fCh2LmxpbmVOdW1iZXI9TnVtYmVyKGJbMF0pLHYuY29sdW1uTnVtYmVyPU51bWJlcihiWzFdKSk6di5saW5lTnVtYmVyPU51bWJlcihiWzBdKSk7Yj17bGV2ZWw6IkVSUk9SX0xFVkVMX1VOS05PV04iLG1lc3NhZ2U6bi5tZXNzYWdlLGVycm9yQ2xhc3NOYW1lOm4ubmFtZSxzYW1wbGVXZWlnaHQ6bi5zYW1wbGVXZWlnaHR9O1c9PT0iRVJST1IiP2IubGV2ZWw9IkVSUk9SX0xFVkVMX0VSUk9SIjpXPT09IldBUk5JTkciJiYoYi5sZXZlbD0iRVJST1JfTEVWRUxfV0FSTk5JTkciKTt2PXtpc09iZnVzY2F0ZWQ6ITAsCmJyb3dzZXJTdGFja0luZm86dn07RC5wYWdlVXJsPXdpbmRvdy5sb2NhdGlvbi5ocmVmO0Qua3ZQYWlycz1bXTtnLkFyKCJGRVhQX0VYUEVSSU1FTlRTIikmJihELmV4cGVyaW1lbnRJZHM9Zy5BcigiRkVYUF9FWFBFUklNRU5UUyIpKTt2YXIgaz1nLkFyKCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighbXkoIndlYl9kaXNhYmxlX2dlbF9zdHBfZWNhdGNoZXJfa2lsbHN3aXRjaCIpJiZrKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhrKSlELmt2UGFpcnMucHVzaCh7a2V5OmgsdmFsdWU6U3RyaW5nKGtbaF0pfSk7aWYoaD1uLnBhcmFtcylmb3IodmFyIHggb2YgT2JqZWN0LmtleXMoaCkpRC5rdlBhaXJzLnB1c2goe2tleTpgY2xpZW50LiR7eH1gLHZhbHVlOlN0cmluZyhoW3hdKX0pO2lmKHg9bi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZClELnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoeCk7eD1nLkFyKCJTRVJWRVJfTkFNRSIpO2g9Zy5BcigiU0VSVkVSX1ZFUlNJT04iKTsKeCYmaCYmKEQua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTp4fSksRC5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KHg9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiZELmt2UGFpcnMucHVzaCh7a2V5OiJjbGllbnQucGxheWVyLnZlcnNpb24iLHZhbHVlOnh9KTtEPXtlcnJvck1ldGFkYXRhOkQsc3RhY2tUcmFjZTp2LGxvZ01lc3NhZ2U6Yn19aWYoRCYmKGcuelUoImNsaWVudEVycm9yIixEKSxXPT09IkVSUk9SInx8Zy5sKCJlcnJvcnNfZmx1c2hfZ2VsX2Fsd2F5c19raWxsc3dpdGNoIikpKWE6e2lmKGcubCgid2ViX2ZwX3ZpYV9qc3BiIikpe0Q9bTE7bTE9W107aWYoRClmb3IodmFyIEwgb2YgRCl1UihMLnBheWxvYWROYW1lLEwucGF5bG9hZCxnLmQ0LEwub3B0aW9ucyk7b3YoITApO2lmKCFnLmwoIndlYl9mcF92aWFfanNwYl9hbmRfanNvbiIpKWJyZWFrIGF9b3YoKX19aWYoIWcubCgic3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmciKSl7TD0Kbi5wYXJhbXN8fHt9O1c9e3VybFBhcmFtczp7YToibG9nZXJyb3IiLHQ6ImpzZXJyb3IiLHR5cGU6bi5uYW1lLG1zZzpuLm1lc3NhZ2Uuc3Vic3RyKDAsMjUwKSxsaW5lOm4ubGluZU51bWJlcixsZXZlbDpXLCJjbGllbnQubmFtZSI6TC5uYW1lfSxwb3N0UGFyYW1zOnt1cmw6Zy5BcigiUEFHRV9OQU1FIix3aW5kb3cubG9jYXRpb24uaHJlZiksZmlsZTpuLmZpbGVOYW1lfSxtZXRob2Q6IlBPU1QifTtMLnZlcnNpb24mJihXWyJjbGllbnQudmVyc2lvbiJdPUwudmVyc2lvbik7aWYoVy5wb3N0UGFyYW1zKXtuLnN0YWNrJiYoVy5wb3N0UGFyYW1zLnN0YWNrPW4uc3RhY2spO2Zvcih2YXIgZSBvZiBPYmplY3Qua2V5cyhMKSlXLnBvc3RQYXJhbXNbYGNsaWVudC4ke2V9YF09TFtlXTtpZihlPWcuQXIoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgRyBvZiBPYmplY3Qua2V5cyhlKSlXLnBvc3RQYXJhbXNbR109ZVtHXTsoRz1nLkFyKCJMQVZBX1ZFUlNJT04iKSkmJgooVy5wb3N0UGFyYW1zWyJsYXZhLnZlcnNpb24iXT1HKTtHPWcuQXIoIlNFUlZFUl9OQU1FIik7ZT1nLkFyKCJTRVJWRVJfVkVSU0lPTiIpO0cmJmUmJihXLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09RyxXLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09ZSk7KEc9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiYoVy5wb3N0UGFyYW1zWyJjbGllbnQucGxheWVyLnZlcnNpb24iXT1HKX1nLmVkKGAke2cuQXIoIkVDQVRDSEVSX1JFUE9SVF9IT1NUIiwiIil9L2Vycm9yXzIwNGAsVyl9dHJ5e0lVLmFkZChuLm1lc3NhZ2UpfWNhdGNoKHIpe310UCsrfTsKSzQ9ZnVuY3Rpb24obiwuLi5XKXtuLmFyZ3N8fChuLmFyZ3M9W10pO0FycmF5LmlzQXJyYXkobi5hcmdzKSYmbi5hcmdzLnB1c2goLi4uVyl9OwpPYT1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVc9VyozMStuLmNoYXJDb2RlQXQoRCksRDxuLmxlbmd0aC0xJiYoVyU9MHg4MDAwMDAwMDAwMDApO3JldHVybiBXJTFFNX07Cmc5aT1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCl7dmFyIGU9ZVRoKCk7az1uZXcgbFIoe3ZlVHlwZTpXLHlvdXR1YmVEYXRhOmssanNwYllvdXR1YmVEYXRhOnZvaWQgMH0pO0w9UGEoe2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOkx9LGUpO3YmJihMLmN0dEF1dGhJbmZvPXYpO3Y9e2NzbjplLHBhZ2VWZTprLmdldEFzSnNvbigpfTtnLmwoImV4cGVjdGF0aW9uX2xvZ2dpbmciKSYmeCYmeC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyYmKHYuc2NyZWVuQ3JlYXRlZExvZ2dpbmdFeHBlY3RhdGlvbnM9eC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyk7RCYmRC52aXN1YWxFbGVtZW50Pyh2LmltcGxpY2l0R2VzdHVyZT17cGFyZW50Q3NuOkQuY2xpZW50U2NyZWVuTm9uY2UsZ2VzdHVyZWRWZTpELnZpc3VhbEVsZW1lbnQuZ2V0QXNKc29uKCl9LGgmJih2LmltcGxpY2l0R2VzdHVyZS5nZXN0dXJlVHlwZT1oKSk6RCYmZy5HcShuZXcgZy5ReCgibmV3U2NyZWVuKCkgcGFyZW50IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhIFZFIC0gcm9vdFZlIiwKVykpO2ImJih2LmNsb25lQ3NuPWIpO24/dVIoInNjcmVlbkNyZWF0ZWQiLHYsbixMKTpnLnpVKCJzY3JlZW5DcmVhdGVkIix2LEwpO2w5KFRvLG5ldyBacChlKSk7VWEuY2xlYXIoKTt5NS5jbGVhcigpO0VhLmNsZWFyKCk7cmV0dXJuIGV9Owp1Zz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7aWcobixXLEQsW2JdLHYsayl9OwppZz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7T2JqZWN0LmFzc2lnbihrLFBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwfSxXKSk7Zm9yKGxldCB4IG9mIGIpe3ZhciBoPXguZ2V0QXNKc29uKCk7KGcuR0YoaCl8fCFoLnRyYWNraW5nUGFyYW1zJiYhaC52ZVR5cGUpJiZnLkdxKEVycm9yKCJDaGlsZCBWRSBsb2dnZWQgd2l0aCBubyBkYXRhIikpO2lmKGcubCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7bGV0IEw9b1UoeCxXKTtpZihoLnZlVHlwZSYmIXk1LmhhcyhMKSYmIUVhLmhhcyhMKSYmIXYpe2lmKCFnLmwoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxVYS5zaXplPDFFMyl7VWEuc2V0KEwsW24sVyxELHhdKTtyZXR1cm59Zy5sKCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiKSYmVWEuc2l6ZT4xRTMmJmcuR3EobmV3IGcuUXgoIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPW9VKEQsVyk7VWEuaGFzKGgpP2RLKEQsVyk6RWEuc2V0KGgsCiEwKX19Yj1iLmZpbHRlcih4PT57eC5jc24hPT1XPyh4LmNzbj1XLHg9ITApOng9ITE7cmV0dXJuIHh9KTsKRD17Y3NuOlcscGFyZW50VmU6RC5nZXRBc0pzb24oKSxjaGlsZFZlczpnLmlfKGIseD0+eC5nZXRBc0pzb24oKSl9OwpXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGssRCk6bj91UigidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELG4sayk6Zy56VSgidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELGspfTsKWFdqPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe2xnKEQsVyk7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpofSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZToxfTt2JiYoRC5jbGllbnREYXRhPXYpO1c9PT0iVU5ERUZJTkVEX0NTTiI/enEoInZpc3VhbEVsZW1lbnRTaG93biIsYixEKTpuP3VSKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsYil9OwpUcT1mdW5jdGlvbihuLFcsRCxiPSExKXt2YXIgdj1iPzE2Ojg7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmIsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZTp2fTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRIaWRkZW4iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixELGIpfTsKcVZaPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtqaShuLFcsRCxiLGspfTsKamk9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12b2lkIDA7bGcoRCxXKTtrPWt8fCJJTlRFUkFDVElPTl9MT0dHSU5HX0dFU1RVUkVfVFlQRV9HRU5FUklDX0NMSUNLIjt2PVBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZ9LFcpO0Q9e2NzbjpXLHZlOkQuZ2V0QXNKc29uKCksZ2VzdHVyZVR5cGU6a307YiYmKEQuY2xpZW50RGF0YT1iKTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50R2VzdHVyZWQiLHYsRCk6bj91UigidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELG4sdik6Zy56VSgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELHYpfTsKRyRqPWZ1bmN0aW9uKCl7dmFyIG49TWIoMTYpO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVcucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KG5bRF0mNjMpKTtyZXR1cm4gVy5qb2luKCIiKX07CnpxPWZ1bmN0aW9uKG4sVyxEKXtDNC5wdXNoKHtwYXlsb2FkTmFtZTpuLHBheWxvYWQ6RCxwUDp2b2lkIDAsb3B0aW9uczpXfSk7QmF8fChCYT1GME0oKSl9OwpDNHc9ZnVuY3Rpb24obil7aWYoQzQpe2ZvcihsZXQgVyBvZiBDNClXLnBheWxvYWQmJihXLnBheWxvYWQuY3NuPW4uY3NuLGcuelUoVy5wYXlsb2FkTmFtZSxXLnBheWxvYWQsVy5vcHRpb25zKSk7QzQubGVuZ3RoPTB9QmE9MH07Cm9VPWZ1bmN0aW9uKG4sVyl7cmV0dXJuYCR7bi5nZXRBc0pzb24oKS52ZVR5cGV9JHtuLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke1d9YH07CmxnPWZ1bmN0aW9uKG4sVyl7aWYoZy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXt2YXIgRD1vVShuLFcpO3k1LnNldChELCEwKTtkSyhuLFcpfX07CmRLPWZ1bmN0aW9uKG4sVyl7bj1vVShuLFcpO1VhLmhhcyhuKSYmKFc9VWEuZ2V0KG4pfHxbXSx1ZyhXWzBdLFdbMV0sV1syXSxXWzNdLCEwKSxVYS5kZWxldGUobikpfTsKUGE9ZnVuY3Rpb24obixXKXtnLmwoImxvZ19zZXF1ZW5jZV9pbmZvX29uX2dlbF93ZWIiKSYmKG4uc2VxdWVuY2VHcm91cD1XKTtyZXR1cm4gbn07CkZqPWZ1bmN0aW9uKG4sVyxELGIpe1BWKFhXaikodm9pZCAwLG4sVyxELGIsdm9pZCAwKX07CnRFeD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntsZyhELG4pO3ZhciBiPVBhKHtjdHRBdXRoSW5mbzpRNChuKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZvaWQgMH0sbik7RD17Y3NuOm4sdmU6RC5nZXRBc0pzb24oKSxldmVudFR5cGU6NH07bj09PSJVTkRFRklORURfQ1NOIj96cSgidmlzdWFsRWxlbWVudFNob3duIixiLEQpOmcuelUoInZpc3VhbEVsZW1lbnRTaG93biIsRCxiKX0pfSkoKX07CiRIdD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntUcSh2b2lkIDAsbixEKX0pfSkoKX07CndLPWZ1bmN0aW9uKCl7dmFyIG49ITE7dHJ5e249ISF3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKX1jYXRjaHtuPSEwfXJldHVybihnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfQ1JFQVRPUiIpJiZufTsKTWc9ZnVuY3Rpb24oKXt0cnl7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInN0aWNraW5lc3NfcmVsb2FkIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInNlc3Npb25fbG9naW5pbmZvIik7Zy5TSCgiTE9HSU5fSU5GTyIsIiIpO3dpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJmcm9tX3N3aXRjaF9hY2NvdW50IiwiMSIpO3ZhciBuO2xldCBEPXJTaDtEfHwoRD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGVyc2lzdF9pZGVudGl0eSIpKTtpZihuPUQpe3ZhciBXPW4uc3JjPyhuZXcgVVJMKG4uc3JjKSkub3JpZ2luOiIqIjtuLmNvbnRlbnRXaW5kb3c/LnBvc3RNZXNzYWdlKHthY3Rpb246ImNsZWFyIn0sVyl9fWNhdGNoe319OwpnLlJVPWZ1bmN0aW9uKG4pe24mJihuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9BZGRTZXNzaW9uIik/TWcoKTpuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKT9NZygpOm4uc3RhcnRzV2l0aCgiaHR0cHM6Ly9teWFjY291bnQuZ29vZ2xlLmNvbSIpJiZscihuKS5KLmVuZHNXaXRoKCIveW91dHViZW9wdGlvbnMiKSYmTWcoKSk7aWYoZy5BcigiTE9HR0VEX0lOIiwhMCkmJndLKCkpe3ZhciBXPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBEPWcuSVAod2luZG93LmxvY2F0aW9uLmhyZWYpO0QmJlcucHVzaChEKTtEPWcuSVAobik7Zy5qaihXLEQpfHwhRCYmZy5qVShuLCIvIik/KFc9bVcobiksKFc9S3AoVykpPyhXPVdhKFcpLFc9KFc9Zy5TZChXKXx8bnVsbCk/Zy5pdyhXKTp7fSk6Vz1udWxsKTpXPW51bGw7Vz09bnVsbCYmKFc9e30pO0Q9Vzt2YXIgYj12b2lkIDA7CndLKCk/KGJ8fChiPWcuQXIoIkxPR0lOX0lORk8iKSksYj8oRC5zZXNzaW9uX2xvZ2luaW5mbz1iLEQ9ITApOkQ9ITEpOkQ9ITE7RCYmbjQobixXKX19OwpRNT1mdW5jdGlvbihuLFc9e30pe3ZhciBEPWcuQXIoIkVWRU5UX0lEIik7RCYmKFcuZWl8fChXLmVpPUQpKTtXJiZuNChuLFcpfTsKZy5jYT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe0QmJm40KG4sRCk7RD1nLnRGKG4sZy5HNCl8fGcuVjU7dmFyIGs9Z3ooRCk7biE9ayYmWkUoRXJyb3IoYFVuc2FmZSB3aW5kb3cub3BlbiBVUkw6ICR7bn1gKSk7bj1rO1c9V3x8c1QobikudG9TdHJpbmcoMzYpO3RyeXtpZih2KXJldHVybiB2PW4sdj1nLnFiKHYpLGcuUlUodiksSkYodixXLCJhdHRyaWJ1dGlvbnNyYyIpfWNhdGNoKGgpe090KGgpfWcuUlUobik7cmV0dXJuIEpGKEQsVyxiKX07Ck5lMj1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5ocmVmO2lmKGcubCgia2V2bGFyX2Rpc2FibGVfdGhlbWVfcGFyYW0iKSlyZXR1cm4gbnVsbDtTMShuKTt0cnl7bGV0IFc9Zy5vRShuKS50aGVtZTtyZXR1cm4gc1lVLmdldChXKXx8bnVsbH1jYXRjaChXKXt9cmV0dXJuIG51bGx9OwphVT1mdW5jdGlvbihuLFcpe2lmKFcuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPVcsdHlwZW9mIFcuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBEPU51bWJlcihXLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxEKjFFMyk7Cm4uSiYmSUsoIkNPTlNJU1RFTkNZIixXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHMsRCx2b2lkIDAsITApfX07Cm5CPWZ1bmN0aW9uKG4pe3JldHVybiBuLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgdEkoInl0LWNsaWVudC1sb2NhdGlvbiIpOm4ubG9jYWxTdG9yYWdlfTsKZy52Yj1mdW5jdGlvbihuLFc9ITEsRD0hMSxiLHYpe3ZhciBrPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7aWYoIWspcmV0dXJuIGcuWGooRXJyb3IoIkVycm9yOiBObyBJbm5lclR1YmVDb250ZXh0IHNoZWxsIHByb3ZpZGVkIGluIHl0Y29uZmlnLiIpKSx7fTtrPWcuTmMoayk7Zy5sKCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGsuY2xpY2tUcmFja2luZztrLmNsaWVudHx8KGsuY2xpZW50PXt9KTt2YXIgaD1rLmNsaWVudDtoLmNsaWVudE5hbWU9PT0iTVdFQiImJmguY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGguY2xpZW50Rm9ybUZhY3Rvcj1nLkFyKCJJU19UQUJMRVQiKT8iTEFSR0VfRk9STV9GQUNUT1IiOiJTTUFMTF9GT1JNX0ZBQ1RPUiIpO2guc2NyZWVuV2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGg7aC5zY3JlZW5IZWlnaHRQb2ludHM9d2luZG93LmlubmVySGVpZ2h0O2guc2NyZWVuUGl4ZWxEZW5zaXR5PQpNYXRoLnJvdW5kKHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxKTtoLnNjcmVlbkRlbnNpdHlGbG9hdD13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtoLnV0Y09mZnNldE1pbnV0ZXM9LU1hdGguZmxvb3IoKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKTt2YXIgeD1nLm85KCk7dmFyIEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjt4LlFRKDE2NSk/TD0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyI6eC5RUSgxNzQpP0w9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjohZy5sKCJrZXZsYXJfbGVnYWN5X2Jyb3dzZXJzIikmJndpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lKSIpLm1hdGNoZXMmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcyYmKEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiKTt4PU5lMigpfHxMO2gudXNlckludGVyZmFjZVRoZW1lPQp4O2cubCgid2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlIikmJmcucWkuZG9jdW1lbnQmJihoLmFwcGxpY2F0aW9uU3RhdGU9Zy5xaS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFXKXtpZih4PUJCKCkpaC5jb25uZWN0aW9uVHlwZT14O2cubCgid2ViX2xvZ19lZmZlY3RpdmVfY29ubmVjdGlvbl90eXBlIikmJih4PXdKKCkpJiYoay5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9eCl9Zy5sKCJ3ZWJfbG9nX21lbW9yeV90b3RhbF9rYnl0ZXMiKSYmZy5xaS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGsuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke2cucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkqMUU2fWApO1cmJmImJiFnLmwoIndlYl9pdF9jb250ZXh0X3NldF9vcmlnaW5hbF91cmxfa3MiKSYmKHg9YixMPWcucWkubG9jYXRpb24uaHJlZixMIGluc3RhbmNlb2YKZy5Vanx8KEw9bHIoTCkpLHggaW5zdGFuY2VvZiBnLlVqfHwoeD1scih4KSkseD1MLnJlc29sdmUoeCksaC5vcmlnaW5hbFVybD14LnRvU3RyaW5nKCkpO2lmKGcubCgid2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlIikpe3ZhciBlPUo3KCk7ZSYmKHg9ZS5jb2xkQ29uZmlnRGF0YSxMPWUuY29sZEhhc2hEYXRhLGU9ZS5ob3RIYXNoRGF0YSxrLmNsaWVudC5jb25maWdJbmZvPWsuY2xpZW50LmNvbmZpZ0luZm98fHt9LHgmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRDb25maWdEYXRhPXgpLEwmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRIYXNoRGF0YT1MKSxlJiYoay5jbGllbnQuY29uZmlnSW5mby5ob3RIYXNoRGF0YT1lKSl9eD1nLm9FKGcucWkubG9jYXRpb24uaHJlZik7IWcubCgid2ViX3BvcHVsYXRlX2ludGVybmFsX2dlb19raWxsc3dpdGNoIikmJnguaW50ZXJuYWxjb3VudHJ5Y29kZSYmKGguaW50ZXJuYWxHZW89eC5pbnRlcm5hbGNvdW50cnljb2RlKTshZy5sKCJ3ZWJfcG9wdWxhdGVfY2xpZW50X3NjcmVlbl9raWxsc3dpdGNoIikmJgp2JiYoaC5jbGllbnRTY3JlZW49dik7aC5jbGllbnROYW1lPT09Ik1XRUIifHxoLmNsaWVudE5hbWU9PT0iV0VCIj8oaC5tYWluQXBwV2ViSW5mb3x8KGgubWFpbkFwcFdlYkluZm89e30pLGgubWFpbkFwcFdlYkluZm8uZ3JhZnRVcmw9Ynx8Zy5xaS5sb2NhdGlvbi5ocmVmLGcubCgia2V2bGFyX3dvZmZsZSIpJiZXYi5pbnN0YW5jZSYmKGI9V2IuaW5zdGFuY2UsaC5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hYi5OJiZiLko/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfVU5LTk9XTiIpLGgubWFpbkFwcFdlYkluZm8ud2ViRGlzcGxheU1vZGU9eXgoKSxoLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmguY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFnLmwoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJgooYj1nLkFyKCJMSVZJTkdfUk9PTV9BUFBfUVVBTElUWSIpKSYmKGgudHZBcHBJbmZvPU9iamVjdC5hc3NpZ24oaC50dkFwcEluZm98fHt9LHthcHBRdWFsaXR5OmJ9KSksYj1nLkFyKCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoaC50dkFwcEluZm89T2JqZWN0LmFzc2lnbihoLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpifSkpO2lmKCFnLmwoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIEc9KG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTticmVhayBhfWNhdGNoe31HPXZvaWQgMH1HJiYoaC50aW1lWm9uZT1HKX0oRz1rVCgpKT9oLmV4cGVyaW1lbnRzVG9rZW49RzpkZWxldGUgaC5leHBlcmltZW50c1Rva2VuO2g9aHkoKTtETS5pbnN0YW5jZXx8KERNLmluc3RhbmNlPW5ldyBETSk7Rz1oSyhETS5pbnN0YW5jZS5OKTsKay5yZXF1ZXN0PXsuLi5rLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6aCxjb25zaXN0ZW5jeVRva2VuSmFyczpHfTshZy5sKCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihoPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1BSRVFVRVNUX0NPTlRFWFQiKSkmJihrLnJlcXVlc3QuZXh0ZXJuYWxQcmVxdWVzdENvbnRleHQ9aCk7Rz1nLm85KCk7aD1HLlFRKDU4KTtHPUcuZ2V0KCJnc21sIiwiIik7ay51c2VyPXsuLi5rLnVzZXJ9O2gmJihrLnVzZXIuZW5hYmxlU2FmZXR5TW9kZT1oKTtHJiYoay51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO2cubCgid2FybV9vcF9jc25fY2xlYW51cCIpP0QmJihXPWcuUnYoKSkmJihrLmNsaWVudFNjcmVlbk5vbmNlPVcpOiFXJiYoVz1nLlJ2KCkpJiYoay5jbGllbnRTY3JlZW5Ob25jZT1XKTtuJiYoay5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOm59KTtpZihuPWcucnIoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWsucmVtb3RlQ2xpZW50PQpuO2IkLmdldEluc3RhbmNlKCkuc2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQoayk7dHJ5e3ZhciByPWcuUUYoKSxOPXIuYmlkO2RlbGV0ZSByLmJpZDtrLmFkU2lnbmFsc0luZm89e3BhcmFtczpbXSxiaWQ6Tn07Zm9yKGxldCBbSCxBXW9mIE9iamVjdC5lbnRyaWVzKHIpKXI9SCxOPUEsay5hZFNpZ25hbHNJbmZvLnBhcmFtcz8ucHVzaCh7a2V5OnIsdmFsdWU6YCR7Tn1gfSk7aWYoay5jbGllbnQ/LmNsaWVudE5hbWU9PT0iVFZIVE1MNSJ8fGsuY2xpZW50Py5jbGllbnROYW1lPT09IlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IEg9Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFQiKTtILmFkU2lnbmFsc0luZm8mJihrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZD1ILmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZCxrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZFNpZ25hbFR5cGU9IkRFVklDRV9JRF9UWVBFX0NPTk5FQ1RFRF9UVl9JRkEiLGsuYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmc9CkguYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmcsSC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cyE9PXZvaWQgMCYmKGsuYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXM9SC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cykpfX1jYXRjaChIKXtnLlhqKEgpfXJldHVybiBrfTsKa1Y9ZnVuY3Rpb24obil7dmFyIFc9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP1dbIlgtR29vZy1FT00tVmlzaXRvci1JZCJdPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKTpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKFdbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO1dbIlgtWW91dHViZS1Cb290c3RyYXAtTG9nZ2VkLUluIl09Zy5BcigiTE9HR0VEX0lOIiwhMSk7Zy5BcigiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKFdbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1nLkFyKCJERUJVR19TRVRUSU5HU19NRVRBREFUQSIpKTtuIT09ImNvcnMiJiYoKG49Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiKSkmJihXWyJYLVlvdXR1YmUtQ2xpZW50LU5hbWUiXT1uKSwobj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKFdbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQpuKSwobj1nLkFyKCJDSFJPTUVfQ09OTkVDVEVEX0hFQURFUiIpKSYmKFdbIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIl09biksKG49Zy5BcigiRE9NQUlOX0FETUlOX1NUQVRFIikpJiYoV1siWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSJdPW4pLChuPWIkLmdldEluc3RhbmNlKCkuZ2V0WEdlb0hlYWRlcj8uKCkpJiYoV1siWC1HZW8iXT1uKSk7KG49Zy5BcigiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoV1siWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1uKTtyZXR1cm4gV307CmhtPWZ1bmN0aW9uKG4pe3JldHVybigpPT5uZXcgbn07CnBXTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTEpcmV0dXJuIG5bMF07dmFyIFc9eFYuVU5LTk9XTl9JTlRFUkZBQ0U7aWYoVyl7Vz1uZXcgUmVnRXhwKFcpO2Zvcih2YXIgRCBvZiBuKWlmKFcuZXhlYyhEKSlyZXR1cm4gRH12YXIgYj1bXTtPYmplY3QuZW50cmllcyh4VikuZm9yRWFjaCgoW3Ysa10pPT57IlVOS05PV05fSU5URVJGQUNFIiE9PXYmJmIucHVzaChrKX0pOwpEPW5ldyBSZWdFeHAoYi5qb2luKCJ8IikpO24uc29ydCgodixrKT0+di5sZW5ndGgtay5sZW5ndGgpOwpmb3IobGV0IHYgb2YgbilpZighRC5leGVjKHYpKXJldHVybiB2O3JldHVybiBuWzBdfTsKTEI9ZnVuY3Rpb24obil7cmV0dXJuYC95b3V0dWJlaS92MS8ke3BXTShuKX1gfTsKZ2I9ZnVuY3Rpb24obil7cmV0dXJuIGcucnIoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iKXx8ZUwobil9OwpYQT1mdW5jdGlvbigpe3ZhciBuPWdiKCk7bi5pbmZvfHwobi5pbmZvPXt9KTtyZXR1cm4gbi5pbmZvfTsKcVE9ZnVuY3Rpb24obil7bj1nYihuKTtuLm1ldGFkYXRhfHwobi5tZXRhZGF0YT17fSk7cmV0dXJuIG4ubWV0YWRhdGF9OwpHdz1mdW5jdGlvbihuKXtuPWdiKG4pO24udGlja3x8KG4udGljaz17fSk7cmV0dXJuIG4udGlja307CnRtPWZ1bmN0aW9uKG4pe249Z2Iobik7aWYobi5nZWwpe2xldCBXPW4uZ2VsO1cuZ2VsSW5mb3N8fChXLmdlbEluZm9zPXt9KTtXLmdlbFRpY2tzfHwoVy5nZWxUaWNrcz17fSl9ZWxzZSBuLmdlbD17Z2VsVGlja3M6e30sZ2VsSW5mb3M6e319O3JldHVybiBuLmdlbH07CiRWPWZ1bmN0aW9uKG4pe249dG0obik7bi5nZWxJbmZvc3x8KG4uZ2VsSW5mb3M9e30pO3JldHVybiBuLmdlbEluZm9zfTsKWVZTPWZ1bmN0aW9uKCl7dmFyIG49dG0oKTtuLnByZUxvZ2dlZEdlbEluZm9zfHwobi5wcmVMb2dnZWRHZWxJbmZvcz1bXSk7cmV0dXJuIG4ucHJlTG9nZ2VkR2VsSW5mb3N9OwpyYj1mdW5jdGlvbihuKXt2YXIgVz1nYihuKS5ub25jZTtXfHwoVz1nLlJJKDE2KSxnYihuKS5ub25jZT1XKTtyZXR1cm4gV307CmVMPWZ1bmN0aW9uKG4pe3ZhciBXPXt0aWNrOnt9LGluZm86e319O2cuR2IoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iLFcpO3JldHVybiBXfTsKc0g9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5kZWJ1ZyIpO258fChuPVtdLGcuR2IoInl0Y3NpLmRlYnVnIixuKSxnLkdiKCJ5dGNzaS5yZWZlcmVuY2UiLHt9KSk7cmV0dXJuIG59OwpwQj1mdW5jdGlvbihuKXt2YXIgVz1zSCgpO1cucHVzaChuKTtnLmwoImxpbWl0X3l0Y3NpX2RlYnVnX2FycmF5X3NpemUiKSYmVy5sZW5ndGg+TlEmJlcuc3BsaWNlKDAsVy5sZW5ndGgtTlEpfTsKSGI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO2lmKFdbbl0pcmV0dXJuIFdbbl07dmFyIEQ9e3RpbWVyTmFtZTpuLGluZm86e30sdGljazp7fSxzcGFuOnt9LGpzcGJJbmZvOltdfTtwQihEKTtyZXR1cm4gV1tuXT1EfTsKZkI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO1dbbl0mJmRlbGV0ZSBXW25dO3ZhciBEPXt0aW1lck5hbWU6bixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07cEIoRCk7V1tuXT1EfTsKWVY9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5yZWZlcmVuY2UiKTtpZihuKXJldHVybiBuO3NIKCk7cmV0dXJuIGcucnIoInl0Y3NpLnJlZmVyZW5jZSIpfTsKSUw9ZnVuY3Rpb24obil7cmV0dXJuIEptW25dfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9OwpIbnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPU1hdGgucm91bmQoRC50aW1lc3RhbXB8fCgwLGcuUikoKSk7SVkobiwxLGI8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/YjowKTtiPW5ldyBTTDtpZihELmxhY3QpSVkoYiwxLGlzRmluaXRlKEQubGFjdCk/RC5sYWN0Oi0xKTtlbHNlIGlmKEQudGltZXN0YW1wKUlZKGIsMSwtMSk7ZWxzZXt2YXIgdj1nLnZJKCk7SVkoYiwxLGlzRmluaXRlKHYpP3Y6LTEpfWlmKEQuc2VxdWVuY2VHcm91cCYmIWcubCgid2ViX2dlbF9zZXF1ZW5jZV9pbmZvX2tpbGxzd2l0Y2giKSl7dj1ELnNlcXVlbmNlR3JvdXA7bGV0IGs9RXkodiksaD1uZXcgQW07SVkoaCwyLGspO2cuU0UoaCwxLHYpOyQ5KGIsQW0sMyxoKTtELmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBtcVtELnNlcXVlbmNlR3JvdXBdfSQ5KG4sU0wsMzMsYik7KEQuc2VuZElzb2xhdGVkUGF5bG9hZD9jSTpQVzEpKCJsYXRlbmN5QWN0aW9uSW5mbyIse2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6biwKY3R0QXV0aEluZm86RC5jdHRBdXRoSW5mbyxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOkQuZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbn0sVyl9OwpmMmo9ZnVuY3Rpb24obixXPXt9KXt2YXIgRD0hMTtnLkFyKCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmKEQ9ITApO0hucihuLEQ/bnVsbDpnLmQ0LFcpfTsKT0g9ZnVuY3Rpb24oKXtLQi5pbnN0YW5jZXx8KEtCLmluc3RhbmNlPW5ldyBLQik7cmV0dXJuIEtCLmluc3RhbmNlfTsKWk09ZnVuY3Rpb24obixXKXtQYltXXT1QYltXXXx8e2NvdW50OjB9O3ZhciBEPVBiW1ddO0QuY291bnQrKztELnRpbWU9KDAsZy5SKSgpO24uTnx8KG4uTj1nLmNCKDAsKCk9Pnt2YXIgYj0oMCxnLlIpKCk7Zm9yKGxldCB2IGluIFBiKVBiW3ZdJiZiLVBiW3ZdLnRpbWU+NkU0JiZkZWxldGUgUGJbdl07biYmKG4uTj0wKX0sNUUzKSk7CnJldHVybiBELmNvdW50PjU/KEQuY291bnQ9PT02JiZNYXRoLnJhbmRvbSgpKjFFNTwxJiYoRD1uZXcgZy5ReCgiQ1NJIGRhdGEgZXhjZWVkZWQgbG9nZ2luZyBsaW1pdCB3aXRoIGtleSIsVy5zcGxpdCgiXyIpKSxXLmluZGV4T2YoInBsZXYiKT49MHx8Zy5HcShEKSksITApOiExfTsKRUg9ZnVuY3Rpb24oKXt2YXIgbjtnLmwoImNzaV91c2VfcGVyZm9ybWFuY2VfbmF2aWdhdGlvbl90aW1pbmciKT8obj1VSD8uZ2V0RW50cmllc0J5VHlwZT8uKCJuYXZpZ2F0aW9uIik/LlswXT8udG9KU09OPy4oKSk/KG4ucmVxdWVzdFN0YXJ0PXl2KG4ucmVxdWVzdFN0YXJ0KSxuLnJlc3BvbnNlRW5kPXl2KG4ucmVzcG9uc2VFbmQpLG4ucmVkaXJlY3RTdGFydD15dihuLnJlZGlyZWN0U3RhcnQpLG4ucmVkaXJlY3RFbmQ9eXYobi5yZWRpcmVjdEVuZCksbi5kb21haW5Mb29rdXBFbmQ9eXYobi5kb21haW5Mb29rdXBFbmQpLG4uY29ubmVjdFN0YXJ0PXl2KG4uY29ubmVjdFN0YXJ0KSxuLmNvbm5lY3RFbmQ9eXYobi5jb25uZWN0RW5kKSxuLnJlc3BvbnNlU3RhcnQ9eXYobi5yZXNwb25zZVN0YXJ0KSxuLnNlY3VyZUNvbm5lY3Rpb25TdGFydD15dihuLnNlY3VyZUNvbm5lY3Rpb25TdGFydCksbi5kb21haW5Mb29rdXBTdGFydD15dihuLmRvbWFpbkxvb2t1cFN0YXJ0KSxuLmlzUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nPQohMCk6bj1VSC50aW1pbmc6bj1nLmwoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShVSC50aW1pbmcpKTpVSC50aW1pbmc7cmV0dXJuIG59Owp5dj1mdW5jdGlvbihuKXtyZXR1cm4gTWF0aC5yb3VuZChpJCgpK24pfTsKaSQ9ZnVuY3Rpb24oKXtyZXR1cm4oZy5sKCJjc2lfdXNlX3RpbWVfb3JpZ2luIil8fGcubCgiY3NpX3VzZV90aW1lX29yaWdpbl90dmh0bWw1IikpJiZVSC50aW1lT3JpZ2luP01hdGguZmxvb3IoVUgudGltZU9yaWdpbik6VUgudGltaW5nLm5hdmlnYXRpb25TdGFydH07CkpTcj1mdW5jdGlvbigpe3ZhciBuPVlWUygpLFc9JFYoKSxEPXZvaWQgMDtmb3IodmFyIGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHg9bltiXTtpZih4LmxvYWRUeXBlKXtEPXgubG9hZFR5cGU7YnJlYWt9fWlmKHFRKCkubG9hZFR5cGU9PT0iY29sZCImJihXLmxvYWRUeXBlPT09ImNvbGQifHxEPT09ImNvbGQiKSl7RD1HdygpO2I9dG0oKTtiPWIuZ2VsVGlja3M/Yi5nZWxUaWNrczpiLmdlbFRpY2tzPXt9O2Zvcih2YXIgdiBpbiBEKXYgaW4gYnx8dHlwZW9mIERbdl09PT0ibnVtYmVyIiYmdSQodixvTCh2KSk7dmFyIGs9e30saD0hMTt2PXg9PntqdyhXLHgpO2p3KGsseCk7aD0hMH07CmZvcihsZXQgeCBvZiBuKXYoeCk7aCYmZGIoayl9fTsKenc9ZnVuY3Rpb24obixXKXt1JCgiX3N0YXJ0IixuLFcpfTsKZGI9ZnVuY3Rpb24obixXKXtpZighZy5sKCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFnYihXKS5hY3Rpb25EaXNhYmxlZCl7dmFyIEQ9SGIoV3x8IiIpO2p3KEQuaW5mbyxuKTtuLmxvYWRUeXBlJiYoRD1uLmxvYWRUeXBlLHFRKFcpLmxvYWRUeXBlPUQpO2p3KCRWKFcpLG4pO0Q9cmIoVyk7Vz1nYihXKS5jdHRBdXRoSW5mbztPSCgpLmluZm8obixELFcpfX07CkkyWj1mdW5jdGlvbigpe3JldHVybihnLnFqKCkucmVzb2x2ZShnLmhwKGcuWDMpKT8uTFgoKT8ubG9nZ2luZ0hvdENvbmZpZz8uY3NpQ29uZmlnPy5kZWJ1Z1RpY2tzPz9bXSkubWFwKG49Pk9iamVjdC52YWx1ZXMobilbMF0pfTsKdSQ9ZnVuY3Rpb24obixXLEQpe2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8IWdiKEQpLmFjdGlvbkRpc2FibGVkKXt2YXIgYj1yYihEKSx2O2lmKHY9Zy5sKCJ3ZWJfY3NpX2RlYnVnX3NhbXBsZV9lbmFibGVkIikmJmIpe2cucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpJiYhbCQmJihsJD0hMCx1JCgiZ2NmbCIsKDAsZy5SKSgpLEQpKTt2PWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnU2FtcGxlV2VpZ2h0fHwwO3ZhciBrO2lmKGs9diE9PTApYjp7az1JMlooKTtpZihrLmxlbmd0aD4wKWZvcih2YXIgaD0wO2g8ay5sZW5ndGg7aCsrKWlmKG49PT1rW2hdKXtrPSEwO2JyZWFrIGJ9az0hMX1rPyh2PU9hKGIpJXYhPT0wLGdiKEQpLmRlYnVnVGlja3NFeGNsdWRlZExvZ2dlZHx8KGs9e30say5kZWJ1Z1RpY2tzRXhjbHVkZWQ9dixkYihrLEQpKSxnYihEKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTp2PSExfWlmKCF2KXtpZihuWzBdIT09Il8iJiYodj1uLFVILm1hcmspKXt2LnN0YXJ0c1dpdGgoIm1hcmtfIil8fCh2PSJtYXJrXyIrdik7RCYmKHYrPWAgKCR7RH0pYCk7az12O2g9e307aWYoVyE9PXZvaWQgMCYmIWcubCgid2ViX2NzaV9kaXNhYmxlX2FsdF90aW1lX3BlcmZvcm1hbmNlX21hcmsiKSl7bGV0IEw9VztMPWcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP0wtVUgudGltZU9yaWdpbjpMLShVSC50aW1lT3JpZ2lufHxVSC50aW1pbmcubmF2aWdhdGlvblN0YXJ0KTtoLnN0YXJ0VGltZT1MfWcubCgiY3NpX2VuYWJsZV9jaHJvbWVfZGV2dG9vbHNfcGVyZm9ybWFuY2VfdGltZWxpbmVfaW50ZWdyYXRpb24iKSYmKGguZGV0YWlsPXtHVTp7ZGF0YVR5cGU6Im1hcmtlciIsY29sb3I6InByaW1hcnkiLHRvb2x0aXBUZXh0Omt9fSk7az1PYmplY3Qua2V5cyhoKS5sZW5ndGg+MD9oOnZvaWQgMDt0cnl7VUgubWFyayh2LGspfWNhdGNoKEwpe1VILm1hcmsodil9fXY9CkhiKER8fCIiKTt2LnRpY2tbbl09V3x8KDAsZy5SKSgpO2lmKHYuY2FsbGJhY2smJnYuY2FsbGJhY2tbbl0pZm9yKHZhciB4IG9mIHYuY2FsbGJhY2tbbl0peCgpO3g9dG0oRCk7eC5nZWxUaWNrcyYmKHguZ2VsVGlja3Nbbl09ITApO3Y9R3coRCk7eD1XfHwoMCxnLlIpKCk7dltuXT14O3Y9Z2IoRCkuY3R0QXV0aEluZm87bj09PSJfc3RhcnQiPyhuPU9IKCksWk0obixgYmFzZWxpbmVfJHtifWApfHxnLnpVKCJsYXRlbmN5QWN0aW9uQmFzZWxpbmVkIix7Y2xpZW50QWN0aW9uTm9uY2U6Yn0se3RpbWVzdGFtcDpXLGN0dEF1dGhJbmZvOnZ9KSk6T0goKS50aWNrKG4sYixXLHYpO1R3KEQpO3JldHVybiB4fX19OwpTVjE9ZnVuY3Rpb24oKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlPy4oIm1hcmsiKTtuJiZuLmZvckVhY2goVz0+e1cubmFtZS5zdGFydHNXaXRoKCJtYXJrXyIpJiZVSC5jbGVhck1hcmtzPy4oVy5uYW1lKX0pfTsKakw9ZnVuY3Rpb24oKXtzd2l0Y2goRzEoKSl7Y2FzZSAiaGlkZGVuIjpyZXR1cm4gMDtjYXNlICJ2aXNpYmxlIjpyZXR1cm4gMTtjYXNlICJwcmVyZW5kZXIiOnJldHVybiAyO2Nhc2UgInVubG9hZGVkIjpyZXR1cm4gMztkZWZhdWx0OnJldHVybi0xfX07CkNCPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9KGIsdixrKT0+e3Y9di5tYXRjaCgiX3JpZCIpP3Yuc3BsaXQoIl9yaWQiKVswXTp2O3R5cGVvZiBrPT09Im51bWJlciImJihrPUpTT04uc3RyaW5naWZ5KGspKTtiLnJlcXVlc3RJZHM/Yi5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OnYsaWQ6a30pOmIucmVxdWVzdElkcz1be2VuZHBvaW50OnYsaWQ6a31dfTsKZm9yKGxldCBbYix2XW9mIE9iamVjdC5lbnRyaWVzKG4pKXtuPWI7bGV0IGs9djtzd2l0Y2gobil7Y2FzZSAiR2V0QnJvd3NlX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0R3VpZGVfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRIb21lX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0UGxheWVyX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2VhcmNoX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2V0dGluZ3NfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRUcmVuZGluZ19yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgInl0X3JlZCI6Vy5pc1JlZFN1YnNjcmliZXI9ISFrO2JyZWFrO2Nhc2UgInl0X2FkIjpXLmlzTW9uZXRpemVkPSEha319cmV0dXJuIFd9OwpBU3g9ZnVuY3Rpb24obixXKXtuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Iobik7aWYoIW4pcmV0dXJuITE7dmFyIEQ9IiIsYj1uLm5vZGVOYW1lO2I9PT0iU0NSSVBUIj8oRD1uLnNyYyxEfHwoRD1uLmdldEF0dHJpYnV0ZSgiZGF0YS10aW1pbmctaHJlZiIpKSYmKEQ9d2luZG93LmxvY2F0aW9uLnByb3RvY29sK0QpKTpiPT09IkxJTksiJiYoRD1uLmhyZWYpO1NqKGRvY3VtZW50KSYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixTaihkb2N1bWVudCkpO3JldHVybiBEPyhuPVVILmdldEVudHJpZXNCeU5hbWUoRCkpJiZuWzBdJiYobj1uWzBdLEQ9aSQoKSx1JCgicnNmXyIrVyxEK01hdGgucm91bmQobi5mZXRjaFN0YXJ0KSksdSQoInJzZV8iK1csRCtNYXRoLnJvdW5kKG4ucmVzcG9uc2VFbmQpKSxuLnRyYW5zZmVyU2l6ZSE9PXZvaWQgMCYmbi50cmFuc2ZlclNpemU9PT0wKT8hMDohMTohMX07Cm1IMT1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxXPVVILmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIik7Vz1nLkVNKFcsRD0+RC5uYW1lLmluZGV4T2YoYCR7bn0vL2ZvbnRzLmdzdGF0aWMuY29tL3MvYCk9PT0wKTsKKFc9Zy51XyhXLChELGIpPT5iLmR1cmF0aW9uPkQuZHVyYXRpb24/YjpELHtkdXJhdGlvbjowfSkpJiZXLnN0YXJ0VGltZT4wJiZXLnJlc3BvbnNlRW5kPjAmJih1JCgid2ZmcyIseXYoVy5zdGFydFRpbWUpKSx1JCgid2ZmZSIseXYoVy5yZXNwb25zZUVuZCkpKX07CktOdD1mdW5jdGlvbihuLFcsRCl7VUgmJlVILm1lYXN1cmUmJihuLnN0YXJ0c1dpdGgoIm1lYXN1cmVfIil8fChuPSJtZWFzdXJlXyIrbiksRD9VSC5tZWFzdXJlKG4sVyxEKTpXP1VILm1lYXN1cmUobixXKTpVSC5tZWFzdXJlKG4pKX07CkJiPWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJhZnQiLG4pO2lmKFcpcmV0dXJuIFc7Vz1nLkFyKChufHwiIikrIlRJTUlOR19BRlRfS0VZUyIsWyJvbCJdKTt2YXIgRD1XLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKXtsZXQgdj1vTChXW2JdLG4pO2lmKHYpcmV0dXJuIHZ9cmV0dXJuIE5hTn07CkZBPWZ1bmN0aW9uKG4sVyl7Zy5HYigieXRnbG9iYWwudGltaW5nIisoV3x8IiIpKyJyZWFkeV8iLG4pfTsKb0w9ZnVuY3Rpb24obixXKXtpZihuPUd3KFcpW25dKXJldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiP246bltuLmxlbmd0aC0xXX07ClR3PWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJfc3RhcnQiLG4pLEQ9QmIobiksYj0hd2I7VyYmRCYmYiYmKGw5KE9udCxuZXcgTVEoTWF0aC5yb3VuZChELVcpLG4pKSx3Yj0hMCl9OwpQYXg9ZnVuY3Rpb24oKXtpZihVSC5nZXRFbnRyaWVzQnlUeXBlKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpO2lmKG49Zy5sXyhuLEQ9PkQubmFtZT09PSJmaXJzdC1wYWludCIpKXJldHVybiB5dihuLnN0YXJ0VGltZSl9dmFyIFc7CmcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP1c9VUguZ2V0RW50cmllc0J5VHlwZSgiZmlyc3QtcGFpbnQiKVswXS5zdGFydFRpbWU6Vz1VSC50aW1pbmcubDI7cmV0dXJuIFc/TWF0aC5tYXgoMCxXKTowfTsKZy5STD1mdW5jdGlvbihuKXtlTChuKTtabmkoKTtTVjEoKTtufHwoZy5BcigiVElNSU5HX0FDVElPTiIpJiZnLlNIKCJQUkVWSU9VU19BQ1RJT04iLGcuQXIoIlRJTUlOR19BQ1RJT04iKSksZy5TSCgiVElNSU5HX0FDVElPTiIsIiIpKX07CmNiPWZ1bmN0aW9uKG4sVyl7UFYoKCk9PntIYigiIikuaW5mby5hY3Rpb25UeXBlPW47VyYmZy5TSCgiVElNSU5HX0FGVF9LRVlTIixXKTtnLlNIKCJUSU1JTkdfQUNUSU9OIixuKTt2YXIgRD1DQihnLkFyKCJUSU1JTkdfSU5GTyIse30pKTtPYmplY3Qua2V5cyhEKS5sZW5ndGg+MCYmZGIoRCk7RD17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKX07dmFyIGI9Zy5BcigiUFJFVklPVVNfQUNUSU9OIik7YiYmKEQucHJldmlvdXNBY3Rpb249SUwoYikpO2lmKGI9Zy5BcigiQ0xJRU5UX1BST1RPQ09MIikpRC5odHRwUHJvdG9jb2w9YjtpZihiPWcuQXIoIkNMSUVOVF9UUkFOU1BPUlQiKSlELnRyYW5zcG9ydFByb3RvY29sPWI7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Yj1qTCgpO2lmKGI9PT0xfHxiPT09LTEpRC5pc1Zpc2libGU9ITA7Yj1xUSgpLmxvYWRUeXBlPT09ImNvbGQiOwp2YXIgdj1YQSgpO2J8fChiPXYueXRfbHQ9PT0iY29sZCIpO2lmKGIpe0QubG9hZFR5cGU9ImNvbGQiO2I9WEEoKTt2PUVIKCk7bGV0IHg9aSQoKSxMPWcuQXIoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtMPjAmJiFnLmwoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJih4PUwpO3gmJih1JCgic3J0Iix2LnJlc3BvbnNlU3RhcnQpLGIucHJlcmVuZGVyIT09MSYmencoeCkpO2I9UGF4KCk7Yj4wJiZ1JCgiZnB0IixiKTtiPUVIKCk7Yi5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmZGIoe3BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzohMH0sdm9pZCAwKTt1JCgibnJlcXMiLGIucmVxdWVzdFN0YXJ0LHZvaWQgMCk7dSQoIm5yZXNzIixiLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTt1JCgibnJlc2UiLGIucmVzcG9uc2VFbmQsdm9pZCAwKTtiLnJlZGlyZWN0RW5kLWIucmVkaXJlY3RTdGFydD4wJiYodSQoIm5ycyIsYi5yZWRpcmVjdFN0YXJ0LAp2b2lkIDApLHUkKCJucmUiLGIucmVkaXJlY3RFbmQsdm9pZCAwKSk7Yi5kb21haW5Mb29rdXBFbmQtYi5kb21haW5Mb29rdXBTdGFydD4wJiYodSQoIm5kbnNzIixiLmRvbWFpbkxvb2t1cFN0YXJ0LHZvaWQgMCksdSQoIm5kbnNlIixiLmRvbWFpbkxvb2t1cEVuZCx2b2lkIDApKTtiLmNvbm5lY3RFbmQtYi5jb25uZWN0U3RhcnQ+MCYmKHUkKCJudGNwcyIsYi5jb25uZWN0U3RhcnQsdm9pZCAwKSx1JCgibnRjcGUiLGIuY29ubmVjdEVuZCx2b2lkIDApKTtiLnNlY3VyZUNvbm5lY3Rpb25TdGFydD49aSQoKSYmYi5jb25uZWN0RW5kLWIuc2VjdXJlQ29ubmVjdGlvblN0YXJ0PjAmJih1JCgibnN0Y3BzIixiLnNlY3VyZUNvbm5lY3Rpb25TdGFydCx2b2lkIDApLHUkKCJudGNwZSIsYi5jb25uZWN0RW5kLHZvaWQgMCkpO1VIJiYiZ2V0RW50cmllc0J5VHlwZSJpbiBVSCYmbUgxKCk7Yj1bXTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yJiZVSCYmVUguZ2V0RW50cmllc0J5TmFtZSlmb3IoayBpbiBRdilRdi5oYXNPd25Qcm9wZXJ0eShrKSYmCih2PVF2W2tdLEFTeChrLHYpJiZiLnB1c2godikpO3ZhciBrPWI7aWYoay5sZW5ndGg+MCl7RC5yZXNvdXJjZUluZm89W107Zm9yKHZhciBoIG9mIGspRC5yZXNvdXJjZUluZm8ucHVzaCh7cmVzb3VyY2VDYWNoZTpofSl9fWRiKEQpO0pTcigpO0ZBKCEwKTtoPWcuQXIoIlRJTUlOR19BQ1RJT04iKTtnLnJyKCJ5dGdsb2JhbC50aW1pbmdyZWFkeV8iKSYmaCYmVnYoKSYmQmIoKSYmVHcoKX0pKCl9OwpXUD1mdW5jdGlvbigpe3ZhciBuPXt9O1BWKCgpPT57VnYoKSYmZy5hTCgiYWEiLHZvaWQgMCx2b2lkIDApO2ZCKCk7Zy5STCgpO0ZBKCExKTtuLmN0dEF1dGhJbmZvJiYoZ2IoKS5jdHRBdXRoSW5mbz1uLmN0dEF1dGhJbmZvKTtnLlNIKCJUSU1JTkdfQUZUX0tFWVMiLFtdKTtuLnJQP2cubmwoe2xvYWRUeXBlOiJob3QifSk6Zy5ubCh7bG9hZFR5cGU6Indhcm0ifSk7Zy5TSCgiVElNSU5HX0FDVElPTiIsIiIpO2RlbGV0ZSBnLkFyKCJUSU1JTkdfSU5GTyIse30pLnl0X2x0O1BWKHp3KShuLnN0YXJ0VGltZSx2b2lkIDApfSkoKX07CmcuYmQ9ZnVuY3Rpb24obixXPXt9KXtQVigoKT0+e2cuRFkobik7dmFyIEQ9Vy5zYW1wbGVSYXRlO2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8RD09PXZvaWQgMHx8RDw9MSlEPSExO2Vsc2V7dmFyIGI9cmIobik7RD1PYShiKSVEIT09MH1EJiYoZ2IobikuYWN0aW9uRGlzYWJsZWQ9ITApO0hiKG58fCIiKS5pbmZvLmFjdGlvblR5cGU9bjtXLmN0dEF1dGhJbmZvJiYoZ2IobikuY3R0QXV0aEluZm89Vy5jdHRBdXRoSW5mbyk7Zy5TSChuKyJUSU1JTkdfQUNUSU9OIixuKTtQVih6dykoVy5zdGFydFRpbWUsbik7RD17YWN0aW9uVHlwZTpJTChuKX07Vy5leiYmKEQucHJldmlvdXNBY3Rpb249SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKSk7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Zy5ubChELG4pO0ZBKCEwLG4pfSkoKX07CmcuRFk9ZnVuY3Rpb24obil7UFYoKCk9PntWdihuKSYmZy5hTCgiYWEiLHZvaWQgMCxuKTtmQihuKTtnLlJMKG4pfSkoKX07ClZ2PWZ1bmN0aW9uKG4pe3JldHVybiBQVigoKT0+Zy52UCgiX3N0YXJ0IixuKSkoKX07Cmcubmw9ZnVuY3Rpb24obixXLEQ9ITEpe1BWKGRiKShuLFcsRCl9OwpnLmFMPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYodSQpKG4sVyxEKX07CmtEPWZ1bmN0aW9uKG4pe1BWKEtOdCkoImFjdGlvbl9maW5pc2hlZCIsbix2b2lkIDApfTsKZy52UD1mdW5jdGlvbihuLFcpe3JldHVybiBQVigoKT0+e3ZhciBEPUd3KFcpO3JldHVybiBuIGluIER9KSgpfTsKeEQ9ZnVuY3Rpb24obil7aWYoIWcubCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuIiI7bj1TMShuKXx8IiI7dmFyIFc9T2JqZWN0LmtleXMoaGUpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtsZXQgYj1XW0RdO2lmKG4uaW5jbHVkZXMoYikpcmV0dXJuIGJ9cmV0dXJuIiJ9Owplaz1mdW5jdGlvbihuKXtpZighZy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4oKT0+e307CnZhciBXPWhlW25dO3JldHVybiBXPyhnLkxsKFcpLCgpPT57dmFyIEQ9Zy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oRD1VSE1bbl0pP2cuTGwoRCk6ITE6ITE7cmV0dXJuIER9KTooKT0+e319OwpnLkxsPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYoKCk9PntpZihnLnZQKG4sRCkpcmV0dXJuITE7Zy5hTChuLFcsRCk7cmV0dXJuITB9KSgpfTsKZy5nXz1mdW5jdGlvbihuLFcsRCl7UFYoKCk9PntpZighVnYoRCl8fGcudlAobixEKSlyZXR1cm4hMTtnLmFMKG4sVyxEKTtyZXR1cm4hMH0pKCl9Owp5U2g9ZnVuY3Rpb24oKXtQVigoKT0+e3ZhciBuPXJiKCk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57c2V0VGltZW91dCgoKT0+e249PT1yYigpJiZnLmFMKCJmdGwiLHZvaWQgMCx2b2lkIDApfSwwKX0pfSkoKX07CkU5Yj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFg3Lmluc3RhbmNlIT09dm9pZCAwKXtpZihiPVg3Lmluc3RhbmNlLG49W24hPT1iLmosVyE9PWIueUcsRCE9PWIuVyx2IT09Yi5KLCExLCExLCExXSxuLnNvbWUoaz0+aykpdGhyb3cgbmV3IGcuUXgoIklubmVyVHViZVRyYW5zcG9ydFNlcnZpY2UgaXMgYWxyZWFkeSBpbml0aWFsaXplZCIsbik7Cn1lbHNlIFg3Lmluc3RhbmNlPW5ldyBYNyhuLFcsRCxiLHYpfTsKaW53PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtuPWF3YWl0ICRHKG4uVy5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsuLi5rVihEKSwuLi5ufSl9OwpkSGo9YXN5bmMgZnVuY3Rpb24obixXLEQsYj0oKT0+e30pe3ZhciB2PVcuY29uZmlnPy5Ibj8uUkw7CmlmKHYmJm4uSiYmbi5KLmhhcyh2KSYmIVcuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz1hd2FpdCBuLkouZ2V0KHYpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGsuaXNQcm9jZXNzZWQoKXx8KEdXKG4sYixXKSxhd2FpdCB0ZShuLkosdikpLFByb21pc2UucmVzb2x2ZShiKX1hd2FpdCB1X3QoVyk7KHY9Vy5jb25maWc/LnJlcXVlc3RLZXkpJiZuLk4uaGFzKHYpP0Q9bi5OLmdldCh2KTooaz1KU09OLnN0cmluZ2lmeShXLmlubmVyVHViZVJlcXVlc3QpLFcuUGk9ey4uLlcuUGksaGVhZGVyczp7Li4uKFcuUGk/LmhlYWRlcnM/P3t9KSwuLi5EfX0sRD17Li4uVy5QaX0sVy5QaS5tZXRob2Q9PT0iUE9TVCImJihEPXsuLi5ELGJvZHk6a30pLFcuY29uZmlnPy5MYSYmZy5hTChXLmNvbmZpZy5MYSksRD1uLnlHLmZldGNoKFcuaW5wdXQsRCxXLmNvbmZpZyksdiYmbi5OLnNldCh2LEQpKTtpZigoRD1hd2FpdCBEKSYmImVycm9yImluIEQmJkQ/LmVycm9yPy5kZXRhaWxzKXtrPQpELmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGspKGs9aFsiQHR5cGUiXSkmJm85ai5pbmRleE9mKGspPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sRD1oKX12JiZuLk4uaGFzKHYpJiZuLk4uZGVsZXRlKHYpO1cuY29uZmlnPy5SViYmZy5hTChXLmNvbmZpZy5SVik7R1cobixELFcpO1cuY29uZmlnPy5HdCYmZy5hTChXLmNvbmZpZy5HdCk7YigpO3JldHVybiBEfHx2b2lkIDB9OwpnLnJfPWZ1bmN0aW9uKG4sVyxELGIsdj17Qkc6e2lkZW50aXR5OnU5fX0pe3ZhciBrPWcucWooKS5yZXNvbHZlKGcuaHAoJEQpKT8uKCk7aWYoKGcubCgibWF3X25ldHdvcmtfbWFjaGluZV9yYXdfcmVxdWVzdCIpfHxnLmwoImFsbF93ZWJfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0IikpJiZrKXJldHVybiB6VGoobDJqKGsse2lubmVyVHViZVJlcXVlc3Q6VyxhcGlQYXRoOkQsY2xpY2tUcmFja2luZ1BhcmFtczpiLGNvbmZpZzp2LGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbih4PT54LCgpPT57fSk7CnZhciBoPSgpPT57fTsKaD1layh4RChEKSk7Vy5jb250ZXh0fHwoVy5jb250ZXh0PWcudmIoYiwhMCkpO3JldHVybiBuZXcgZy5YMShhc3luYyB4PT57dmFyIEw9SyQoRCk7TD1nLlRkKEwpPyJzYW1lLW9yaWdpbiI6ImNvcnMiO2lmKG4uVy5zQil7dmFyIGU9bi5XLmFqKHY/LkJHPy5pZGVudGl0eXx8dTkse3Nlc3Npb25JbmRleDp2Py5CRz8uc2Vzc2lvbkluZGV4fSk7TD17Li4ua1YoTCksLi4uZX19ZWxzZSBMPWF3YWl0IGludyhuLHYsTCk7ZT1acihLJChEKSk7ZT17aW5wdXQ6ZSxQaTpVeihlKSxpbm5lclR1YmVSZXF1ZXN0OlcsY29uZmlnOnZ9O3goZEhqKG4sZSxMLGgpKX0pfTsKdV90PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe249bi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBXIG9mW10pYXdhaXQgVy5CcyhuKX19OwpHVz1mdW5jdGlvbihuLFcsRCl7aWYoVyYmIVc/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZuLlgpZm9yKGxldCBiIG9mIHNvKW4uWFtiXSYmbi5YW2JdLmhhbmRsZVJlc3BvbnNlKFcsRCl9OwpwbD1mdW5jdGlvbigpe3ZhciBuLFc7cmV0dXJue3JGOm5ldyBOcigoRCxiKT0+e249RDtXPWJ9KSwKcmVzb2x2ZTpuLHJlamVjdDpXfX07CkhQPWZ1bmN0aW9uKG4pe3JldHVybiBZRChuKT9uOllvKG4pP25ldyBOcigoVyxEKT0+e24udGhlbihXLEQpfSk6bmV3IE5yKFc9PntXKG4pfSl9OwpmbD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IE5yKChXLEQpPT57RChuKX0pfTsKSmU9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBIUChuKCkpfWNhdGNoKFcpe3JldHVybiBmbChXKX19Owp6VGo9ZnVuY3Rpb24obil7cmV0dXJuIElqKG4sZy5YMSl9OwpJaj1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgVygoRCxiKT0+e1NrKG4sRCxiKX0pfTsKQWU9YXN5bmMgZnVuY3Rpb24obil7cmV0dXJuIElqKG4sUHJvbWlzZSl9OwptRT1mdW5jdGlvbihuKXtpZihuLk49PT0iZnVsZmlsbGVkIil7dmFyIFc9bi5KO24uSj1bXTtuLlc9W107Zm9yKHZhciBEIG9mIFcpRChuLnJlc3VsdCl9ZWxzZSBpZihuLk49PT0icmVqZWN0ZWQiKXtEPW4uVztuLko9W107bi5XPVtdO2ZvcihXIG9mIEQpVyhuLmVycm9yKX19OwpTaz1mdW5jdGlvbihuLFcsRCl7dmFyIHtyRjpiLHJlc29sdmU6dixyZWplY3Q6a309cGwoKTtuLkoucHVzaChoPT57aWYoVyl0cnl7bGV0IHg9VyhoKTt2KHgpfWNhdGNoKHgpe2soeCl9ZWxzZSB2KGgpfSk7Cm4uVy5wdXNoKGg9PntpZihEKXRyeXtsZXQgeD1EKGgpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIGsoaCl9KTsKbUUobik7cmV0dXJuIGJ9OwpLbD1mdW5jdGlvbihuLFcpe3JldHVybiBTayhuLHZvaWQgMCxXKX07ClRlYj1mdW5jdGlvbihuLFcpe1NrKG4sRD0+U2soSFAoVygpKSwoKT0+RCksRD0+U2soSFAoVygpKSwoKT0+ZmwoRCkpKX07Ck9vPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGpZMShXLmNhbGwobikpfTsKUFA9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKigpe3JldHVybiB5aWVsZHtyRjpIUChuKX19KCl9OwpqWTE9ZnVuY3Rpb24obil7cmV0dXJuIEplKCgpPT5aWShuLG4ubmV4dCgpKSl9OwpaWT1mdW5jdGlvbihuLFcpe3JldHVybiBXLmRvbmU/SFAoVy52YWx1ZSk6S2woU2soVy52YWx1ZS5yRixEPT5aWShuLG4ubmV4dChEKSkpLEQ9PlpZKG4sbi50aHJvdyhEKSkpfTsKRk54PWZ1bmN0aW9uKG4pe3ZhciBXPUNhVShuKTtyZXR1cm4gU2soQmVTKFcpLCgpPT5XLm1hcChEPT5ELnN0YXRlKCkpKX07CkJlUz1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTApcmV0dXJuIEhQKE5hTik7dmFyIHtyRjpXLHJlc29sdmU6RH09cGwoKSxiPW4ubGVuZ3RoO2ZvcihsZXQgdj0wO3Y8bi5sZW5ndGg7disrKVRlYihuW3ZdLCgpPT57Vy5OPT09InBlbmRpbmciJiYod1dqKHZvaWQgMCkmJih2b2lkIDApKHYpJiZXLk49PT0icGVuZGluZyI/RCh2KTooLS1iLGI9PT0wJiZEKE5hTikpKX0pOwpyZXR1cm4gV307CkNhVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+SFAoVykpfTsKTUV3PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciB2PSRHKGIuTi5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTt2PXlpZWxkKlBQKEhQKHYpKTtyZXR1cm57Li4ua1YoRCksLi4udn19KCl9KX07ClVvPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09MXx8bj09PTJ9OwpWRTI9ZnVuY3Rpb24obixXLEQ9ITEpe3ZhciBiLHY9Zy53KFcsUlRoKT8ucmVxdWVzdDt2JiZuLk4uaVQmJihiPW4uTi5pVFt2XSk7Ynx8RHx8KHY9Zy53KFcsUVlNKT8uc2lnbmFsKSYmbi5OLndkJiYoYj1uLk4ud2Rbdl0pO2lmKCFiJiYobj1EP24uTi51STpuLk4uemcpKWZvcihsZXQgayBpbiBXKWlmKG5ba10pe2I9bltrXTticmVha31pZighYil7aWYoRCl0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHN0cmVhbWluZyByZXF1ZXN0IGJ1aWxkZXIgZm91bmQgZm9yIGNvbW1hbmQiKTt0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZC4iKTt9Vz1iKCk7cmV0dXJuIEhQKFcpfTsKbDJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ucnVuKCJSRVFVRVNUX0lOSVQiLFcpfTsKeXE9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5ydW4oIlBST0NFU1NfUkVTUE9OU0UiLFcsIlJlc3BvbnNlTWFjaGluZSAoQ2FjaGUpIil9OwpFbz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4ucnVuKCJJTklUIixXLEQhPT12b2lkIDA/YFJlc3BvbnNlTWFjaGluZSAoQ2h1bmsgJHtEfSlgOiJSZXNwb25zZU1hY2hpbmUiKX07CmNTMj1mdW5jdGlvbigpe3ZhciBuPWcucWooKTtnLnhvKG4se05IOmlkLFJjOigpPT5uZXcgTWFwfSk7CmcueG8obix7Tkg6dWQsWUw6dWQscG46ITB9KTtnLnhvKG4se05IOm9qLFlMOm9qLHBuOiEwfSk7Zy54byhuLHtOSDpkXyxZTDpkXyxwbjohMH0pO2cueG8obix7Tkg6elcsWUw6elcscG46ITB9KTtnLnhvKG4se05IOmxkLFlMOmxkLHBuOiEwfSk7Zy54byhuLHtOSDpUVyxZTDpUVyxwbjohMH0pO2cueG8obix7Tkg6amssWUw6amsscG46ITB9KTtnLnhvKG4se05IOkNsLFlMOkNsLHBuOiEwfSk7Zy54byhuLHtOSDpCUCxZTDpCUCxwbjohMH0pO2cueG8obix7Tkg6RjcsWUw6RjcscG46ITB9KTtnLnhvKG4se05IOndfLFJjOihXLEQsYix2LGssaCx4LEwsZSxHKT0+KHtDT01NQU5EX0lOSVQ6TCxSRVFVRVNUX0lOSVQ6ZSxDQUNIRTpELExPQ0FMX1JPVVRFUjp4LENPTlRFWFQ6YixBVVRIOlcsREVEVVBFOnYsRkVUQ0g6aCxSRVRSWTpHLEZBTExCQUNLOmt9KSwKW2cuTFhdOlt1ZCxvaixkXyx6VyxsZCxUVyxqayxDbCxCUCxGN10scG46ITB9KTtnLnhvKG4se05IOiRELFJjOlc9PigpPT5uZXcgZy5NcihXKSwKW2cuTFhdOlt3X10scG46ITB9KTtnLnhvKG4se05IOlJqLFlMOlJqLHBuOiEwfSk7Zy54byhuLHtOSDpRcSxZTDpRcSxwbjohMH0pO2cueG8obix7Tkg6VnEsWUw6VnEscG46ITB9KTtnLnhvKG4se05IOmNQLFlMOmNQLHBuOiEwfSk7Zy54byhuLHtOSDphaixSYzooVyxELGIsdik9Pih7SU5JVDp2LEVSUk9SX1VOUEFDS0VSOkQsUFJPQ0VTU19SRVNQT05TRTpiLENBTExCQUNLX0RJU1BBVENIRVI6V30pLApbZy5MWF06W1JqLFFxLFZxLGNQXSxwbjohMH0pO2cueG8obix7Tkg6blIsUmM6Vz0+KCk9Pm5ldyBXRyhXKSwKW2cuTFhdOlthal0scG46ITB9KX07CnFyPWZ1bmN0aW9uKG4pe3JldHVybnsuLi5uLmRhdGEuaW5uZXJ0dWJlUmVzcG9uc2UsY2FjaGVNZXRhZGF0YTp7aXNDYWNoZUhpdDohMH19fTsKdGU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihELmVudHJ5RGF0YS5pc1Byb2Nlc3NlZD0hMCxhd2FpdCBEdyhuLFcsRC5lbnRyeURhdGEpKX07CkR3PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLko7aWYoRC5leHBpcmVUaW1lc3RhbXBNcyl7Yj1OdW1iZXIoRC5leHBpcmVUaW1lc3RhbXBNcyktTWF0aC5yb3VuZCgoMCxnLlIpKCkpO2xldCB2PXYwKCJtd2ViX292ZXJyaWRlX3Jlc3BvbnNlX3N0b3JlX2V4cGlyYXRpb25fbXMiKTt2PjAmJnY8YiYmKGI9dil9Yj1zZXRUaW1lb3V0KCgpPT57bi5yZW1vdmUoVyl9LGIpOwpuLk4uc2V0KFcse2VudHJ5RGF0YTpELHRpbWVyOmJ9KX07CnZHPWZ1bmN0aW9uKG4sVyl7aWYobj1uLk4uZ2V0KFcpKXJldHVybiBuZXcgYmgobi5lbnRyeURhdGEpfTsKa009ZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihjbGVhclRpbWVvdXQoRC50aW1lciksbi5OLmRlbGV0ZShXKSl9OwpoUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9ey4uLm59O2ZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhXKSl7bGV0IGs9blt2XSxoPVdbdl07aWYoaD09PXZvaWQgMClkZWxldGUgYlt2XTtlbHNlIGlmKGs9PT12b2lkIDApYlt2XT1oO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShoKSYmQXJyYXkuaXNBcnJheShrKSliW3ZdPUQ/Wy4uLmssLi4uaF06aDtlbHNlIGlmKCFBcnJheS5pc0FycmF5KGgpJiZnLmZ0KGgpJiYhQXJyYXkuaXNBcnJheShrKSYmZy5mdChrKSliW3ZdPWhSKGssaCxEKTtlbHNlIGlmKHR5cGVvZiBoPT09dHlwZW9mIGspYlt2XT1oO2Vsc2UgcmV0dXJuIFc9bmV3IGcuUXgoIkF0dGVtcHRlZCB0byBtZXJnZSBmaWVsZHMgb2YgZGlmZmVyaW5nIHR5cGVzLiIse25hbWU6IkRlZXBNZXJnZUVycm9yIixrZXk6dixGVzprLHVwZGF0ZVZhbHVlOmh9KSxnLlhqKFcpLG59cmV0dXJuIGJ9Owp4TT1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ubGVuZ3RoPT09MD8hMToobj1uLk5bbi5OLmxlbmd0aC0xXSkmJm4uYnVmZmVyPT09Vy5idWZmZXImJm4uYnl0ZU9mZnNldCtuLmxlbmd0aD09PVcuYnl0ZU9mZnNldH07CkxSPWZ1bmN0aW9uKG4pe24uWD12b2lkIDA7bi5KPTA7bi5XPTB9OwplNT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXLk4pbi5hcHBlbmQoRCl9OwpnZD1mdW5jdGlvbihuLFcsRCl7dmFyIHtDczpiLFk5OnZ9PW4uc3BsaXQoVyk7KHtDczpifT12LnNwbGl0KEQpKTtyZXR1cm4gYn07ClhhPWZ1bmN0aW9uKG4sVyxEKXtuLmlzRm9jdXNlZChXKTtyZXR1cm4gVy1uLlcrRDw9bi5OW24uSl0ubGVuZ3RofTsKcUQ9ZnVuY3Rpb24obil7aWYoIW4uWCl7bGV0IFc9bi5OW24uSl07bi5YPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5sZW5ndGgpfXJldHVybiBuLlh9OwpHNj1mdW5jdGlvbihuLFc9MCxEPS0xKXtpZighbi50b3RhbExlbmd0aHx8IUQpcmV0dXJuIG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMCkpO0Q8MCYmKEQ9bi50b3RhbExlbmd0aC1XKTtuLmZvY3VzKFcpO2lmKCFYYShuLFcsRCkpe3ZhciBiPW4uSix2PW4uVztuLmZvY3VzKFcrRC0xKTt2PW5ldyBVaW50OEFycmF5KG4uVytuLk5bbi5KXS5sZW5ndGgtdik7bGV0IGs9MDtmb3IobGV0IGg9YjtoPD1uLko7aCsrKXYuc2V0KG4uTltoXSxrKSxrKz1uLk5baF0ubGVuZ3RoO24uTi5zcGxpY2UoYixuLkotYisxLHYpO0xSKG4pO24uZm9jdXMoVyl9Yj1uLk5bbi5KXTtyZXR1cm4gbmV3IERhdGFWaWV3KGIuYnVmZmVyLGIuYnl0ZU9mZnNldCtXLW4uVyxEKX07CnRSPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249RzYobixXLEQpO3JldHVybiBuZXcgVWludDhBcnJheShuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQsbi5ieXRlTGVuZ3RoKX07CiRNPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249dFIobixXLEQpO1c9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO3RyeXtXLnNldChuKX1jYXRjaChiKXtmb3IoRD0wO0Q8bi5sZW5ndGg7RCsrKVdbRF09bltEXX1yZXR1cm4gV307CnJkPWZ1bmN0aW9uKG4sVyl7bi5mb2N1cyhXKTtyZXR1cm4gbi5OW24uSl1bVy1uLlddfTsKc3g9ZnVuY3Rpb24obixXKXtuLmZvY3VzKFcpO3JldHVybiBYYShuLFcsNCk/cUQobikuZ2V0VWludDMyKFctbi5XKToyNTYqKDI1NiooMjU2KnJkKG4sVykrcmQobixXKzEpKStyZChuLFcrMikpK3JkKG4sVyszKX07CmEyMj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpwUj1mdW5jdGlvbihuKXtyZXR1cm4gbi5sZW5ndGg/TkQ/TkQuZGVjb2RlKG4pOlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuKToiIn07CmcuSEc9ZnVuY3Rpb24obil7aWYoIW4ubGVuZ3RoKXJldHVybiIiO3RyeXtpZihORClyZXR1cm4gTkQuZGVjb2RlKG4pO2lmKHR5cGVvZiBGZXRjaEludGVybmFsIT09InVuZGVmaW5lZCIpcmV0dXJuIEZldGNoSW50ZXJuYWwuZGVjb2RlRnJvbVVURjgobil9Y2F0Y2h7fWZvcih2YXIgVz0wLEQ9W10sYj1uLmxlbmd0aDtXPGI7KXtsZXQgaz0wO2Zvcig7azwxMDI0JiZXPGI7KXt2YXIgdj1uW1crK107aWYodjwxMjgpe1lNW2srK109djtjb250aW51ZX1pZih2PDIyNCl2PSh2JjMxKTw8NnxuW1crK10mNjM7ZWxzZSBpZih2PDI0MCl2PSh2JjE1KTw8MTJ8KG5bVysrXSY2Myk8PDZ8bltXKytdJjYzO2Vsc2V7aWYoaysxPT09MTAyNCl7LS1XO2JyZWFrfXY9KHYmNyk8PDE4fChuW1crK10mNjMpPDwxMnwobltXKytdJjYzKTw8NnxuW1crK10mNjM7di09NjU1MzY7WU1baysrXT01NTI5Nnx2Pj4xMDt2PTU2MzIwfHYmMTAyM31ZTVtrKytdPXZ9dj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZywKWU0pO2s8MTAyNCYmKHY9di5zdWJzdHJpbmcoMCxrKSk7RC5wdXNoKHYpfXJldHVybiBELmpvaW4oIiIpfTsKSlI9ZnVuY3Rpb24obixXKXtpZihmUj8uZW5jb2RlSW50byl7bGV0IHtyZWFkOmIsd3JpdHRlbjp2fT1mUi5lbmNvZGVJbnRvKG4sVyk7cmV0dXJuIGI8bi5sZW5ndGg/bi5sZW5ndGgqNDp2fXZhciBEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT09NTUyOTYmJmIrMTxuLmxlbmd0aCYmKG4uY2hhckNvZGVBdChiKzEpJjY0NTEyKT09PTU2MzIwPyh2PTY1NTM2KygodiYxMDIzKTw8MTApKyhuLmNoYXJDb2RlQXQoKytiKSYxMDIzKSxXW0QrK109dj4+MTh8MjQwLFdbRCsrXT12Pj4xMiY2M3wxMjgpOldbRCsrXT12Pj4xMnwyMjQsV1tEKytdPXY+PjYmNjN8MTI4KSxXW0QrK109diY2M3wxMjgpfXJldHVybiBEfTsKSXc9ZnVuY3Rpb24obil7aWYoZlIpcmV0dXJuIGZSLmVuY29kZShuKTt2YXIgVz1uZXcgVWludDhBcnJheShNYXRoLmNlaWwobi5sZW5ndGgqMS4yKSksRD1KUihuLFcpO1cubGVuZ3RoPEQmJihXPW5ldyBVaW50OEFycmF5KEQpLEQ9SlIobixXKSk7Vy5sZW5ndGg+RCYmKFc9Vy5zdWJhcnJheSgwLEQpKTtyZXR1cm4gV307Cm1rPWZ1bmN0aW9uKG4sVyl7bj1uIGluc3RhbmNlb2YgVWludDhBcnJheT9uZXcgUzUoW25dKTpuO3JldHVybiBXKG5ldyBBUihuKSl9OwpLUj1mdW5jdGlvbihuKXt2YXIgVz1yZChuLk4sbi5wb3MpOysrbi5wb3M7aWYoVzwxMjgpcmV0dXJuIFc7Zm9yKHZhciBEPVcmMTI3LGI9MTtXPj0xMjg7KVc9cmQobi5OLG4ucG9zKSwrK24ucG9zLGIqPTEyOCxEKz0oVyYxMjcpKmI7cmV0dXJuIER9OwpPeD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uSjtmb3Iobi5KPS0xO24ucG9zKzE8PW4uTi50b3RhbExlbmd0aDspe0Q8MCYmKEQ9S1IobikpO3ZhciBiPUQ+PjM7bGV0IHY9RCY3O2lmKGI9PT1XKXJldHVybiEwO2lmKGI+Vyl7bi5KPUQ7YnJlYWt9RD0tMTtzd2l0Y2godil7Y2FzZSAwOktSKG4pO2JyZWFrO2Nhc2UgMTpuLnBvcys9ODticmVhaztjYXNlIDI6Yj1LUihuKTtuLnBvcys9YjticmVhaztjYXNlIDU6bi5wb3MrPTR9fXJldHVybiExfTsKUEc9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXJldHVybiBLUihuKX07Clp3PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4gVz10UihuLk4sbi5wb3MsOCksbi5wb3MrPTgsKG5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSkuZ2V0RmxvYXQ2NCgwLCEwKX07ClV4PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4hIUtSKG4pfTsKeUE9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXtXPUtSKG4pO3ZhciBEPXRSKG4uTixuLnBvcyxXKTtuLnBvcys9VztyZXR1cm4gRH19OwpFeD1mdW5jdGlvbihuLFcpe2lmKG49eUEobixXKSlyZXR1cm4gZy5IRyhuKX07CmloPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXlBKG4sVykpcmV0dXJuIEQobmV3IEFSKG5ldyBTNShbbl0pKSl9Owp1aD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1bXTtPeChuLFcpOylELnB1c2goS1IobikpO3JldHVybiBELmxlbmd0aD9EOnZvaWQgMH07Cm93PWZ1bmN0aW9uKG4sVyxEKXtmb3IodmFyIGI9W10sdjt2PXlBKG4sVyk7KWIucHVzaChEKG5ldyBBUihuZXcgUzUoW3ZdKSkpKTtyZXR1cm4gYi5sZW5ndGg/Yjp2b2lkIDB9OwpkZD1mdW5jdGlvbihuLFcsRCl7aWYoVyYmRCYmRC5idWZmZXI9PT1XLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcil7bGV0IGI9Vy5tZW1vcnkucmVhbGxvYyhELmJ5dGVPZmZzZXQsbik7aWYoYilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsYixuKX1uPVc/bmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsVy5tZW1vcnkubWFsbG9jKG4pLG4pOm5ldyBVaW50OEFycmF5KG4pO0QmJm4uc2V0KEQpO3JldHVybiBufTsKZy5saD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyB6Nig0MDk2KTtXKEQsbik7cmV0dXJuIG5ldyBVaW50OEFycmF5KEQuTi5idWZmZXIsRC5OLmJ5dGVPZmZzZXQsRC5wb3MpfTsKVDY9ZnVuY3Rpb24obixXKXtXPW4ucG9zK1c7aWYoIShuLk4ubGVuZ3RoPj1XKSl7Zm9yKHZhciBEPW4uTi5sZW5ndGgqMjtEPFc7KUQqPTI7bi5OPWRkKEQsbi5XVixuLk4uc3ViYXJyYXkoMCxuLnBvcykpO24udmlldz1uZXcgRGF0YVZpZXcobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCxuLk4uYnl0ZUxlbmd0aCl9fTsKajU9ZnVuY3Rpb24obixXKXtpZihXPjI2ODQzNTQ1NSl7VDYobiw0KTtsZXQgRD1XJjEwNzM3NDE4MjM7Zm9yKGxldCBiPTA7Yjw0O2IrKyluLnZpZXcuc2V0VWludDgobi5wb3MsRCYxMjd8MTI4KSxEPj4+PTcsbi5wb3MrPTE7Vz1NYXRoLmZsb29yKFcvMjY4NDM1NDU2KX1mb3IoVDYobiw0KTtXPjEyNzspbi52aWV3LnNldFVpbnQ4KG4ucG9zLFcmMTI3fDEyOCksVz4+Pj03LG4ucG9zKz0xO24udmlldy5zZXRVaW50OChuLnBvcyxXKTtuLnBvcys9MX07CkNSPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgpLGo1KG4sRCkpfTsKQkc9ZnVuY3Rpb24obixXLEQpe0QhPT12b2lkIDAmJkNSKG4sVyxEPzE6MCl9OwpnLkZhPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgrMiksVz1ELmxlbmd0aCxqNShuLFcpLFQ2KG4sVyksbi5OLnNldChELG4ucG9zKSxuLnBvcys9Vyl9Owp3ZD1mdW5jdGlvbihuLFcsRD0yKXtqNShuLFcqOCsyKTtuLkoucHVzaChuLnBvcyk7bi5KLnB1c2goRCk7bi5wb3MrPUR9OwpNRD1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5KLnBvcCgpLEQ9bi5KLnBvcCgpLGI9bi5wb3MtRC1XO1ctLTspe2xldCB2PVc/MTI4OjA7bi52aWV3LnNldFVpbnQ4KEQrKyxiJjEyN3x2KTtiPj49N319OwpnLlJ3PWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYod2QobixXLE1hdGguY2VpbChNYXRoLmxvZzIoRC5sZW5ndGgqNCsyKS83KSksVDYobixELmxlbmd0aCoxLjIpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSxuLnBvcytXPm4uTi5sZW5ndGgmJihUNihuLFcpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSksbi5wb3MrPVcsTUQobikpfTsKUUE9ZnVuY3Rpb24obixXLEQsYix2PTMpe0QmJih3ZChuLFcsdiksYihuLEQpLE1EKG4pKX07CmNHPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBBUihuZXcgUzUoW2xwKGRlY29kZVVSSUNvbXBvbmVudChuKSldKSk7bj1FeChXLDIpO1c9UEcoVyw0KTt2YXIgRD1WQVtXXTtpZih0eXBlb2YgRD09PSJ1bmRlZmluZWQiKXRocm93IG49bmV3IGcuUXgoIkZhaWxlZCB0byByZWNvZ25pemUgZmllbGQgbnVtYmVyIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGZpZWxkTnVtYmVyOld9KSxnLlhqKG4pLG47cmV0dXJue0RYOlcsZW50aXR5VHlwZTpELGVudGl0eUlkOm59fTsKbmY9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgejY7Zy5GYShELDIsSXcobikpO249YXdbV107aWYodHlwZW9mIG49PT0idW5kZWZpbmVkIil0aHJvdyBXPW5ldyBnLlF4KCJGYWlsZWQgdG8gcmVjb2duaXplIGVudGl0eSB0eXBlIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGVudGl0eVR5cGU6V30pLGcuWGooVyksVztDUihELDQsbik7Q1IoRCw1LDEpO1c9bmV3IFVpbnQ4QXJyYXkoRC5OLmJ1ZmZlcixELk4uYnl0ZU9mZnNldCxELnBvcyk7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChnLkVBKFcsMCkpfTsKV2U9ZnVuY3Rpb24obil7bj1uLmtleXx8bi5pZDtpZighbil0aHJvdyBFcnJvcigiRW50aXR5IGtleSBpcyBtaXNzaW5nIik7cmV0dXJuIG59OwpERz1mdW5jdGlvbihuLFcsRCxiKXtpZihiPT09dm9pZCAwKXtsZXQge1tEXTp2LC4uLmt9PW5bV118fHt9O3JldHVybnsuLi5uLFtXXTprfX1yZXR1cm57Li4ubixbV106ey4uLm5bV10sW0RdOmJ9fX07CmJCPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bltXXXx8e30saD1rW0RdO2lmKCFoJiYhZy5sKCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIikpcmV0dXJuIG47Yj1oUihofHx7fSxiLHY9PT0iUkVQRUFURURfRklFTERTX01FUkdFX09QVElPTl9BUFBFTkQiKTtyZXR1cm57Li4ubixbV106ey4uLmssW0RdOmJ9fX07Cm5taD1mdW5jdGlvbihuPXt9LFcpe3N3aXRjaChXLnR5cGUpe2Nhc2UgIkVOVElUWV9MT0FERUQiOnJldHVybiBXLnBheWxvYWQucmVkdWNlKChELGIpPT57dmFyIHY9Yi5vcHRpb25zPy5wZXJzaXN0ZW5jZU9wdGlvbjtpZih2JiZ2IT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fVU5LTk9XTiImJnYhPT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9JTk1FTU9SWV9BTkRfUEVSU0lTVCIpcmV0dXJuIEQ7aWYoIWIuZW50aXR5S2V5KXJldHVybiBnLlhqKEVycm9yKCJNaXNzaW5nIGVudGl0eSBrZXkiKSksRDtpZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSIpe2lmKCFiLnBheWxvYWQpcmV0dXJuIGI9bmV3IGcuUXgoIlJFUExBQ0UgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmIuZW50aXR5S2V5fSksZy5YaihiKSxEO3ZhciBrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIERHKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10pfWlmKGIudHlwZT09PQoiRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIil7YTp7Yj1iLmVudGl0eUtleTt0cnl7bGV0IGg9Y0coYikuZW50aXR5VHlwZTtrPURHKEQsaCxiKTticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBFcnJvcil7Yj1uZXcgZy5ReCgiRmFpbGVkIHRvIGRlc2VyaWFsaXplIGVudGl0eSBrZXkiLHtlbnRpdHlLZXk6YixvcmlnaW5hbE1lc3NhZ2U6aC5tZXNzYWdlfSk7Zy5YaihiKTtrPUQ7YnJlYWsgYX10aHJvdyBoO31rPXZvaWQgMH1yZXR1cm4ga31pZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfVVBEQVRFIil7aWYoIWIucGF5bG9hZClyZXR1cm4gYj1uZXcgZy5ReCgiVVBEQVRFIGVudGl0eSBtdXRhdGlvbiBpcyBtaXNzaW5nIGEgcGF5bG9hZCIse2VudGl0eUtleTpiLmVudGl0eUtleX0pLGcuWGooYiksRDtrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIGJCKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10sYi5maWVsZE1hc2s/Lm1lcmdlT3B0aW9ucz8ucmVwZWF0ZWRGaWVsZHNNZXJnZU9wdGlvbil9cmV0dXJuIER9LApuKTsKY2FzZSAiUkVQTEFDRV9FTlRJVFkiOnJldHVybiBERyhuLFcucGF5bG9hZC5lbnRpdHlUeXBlLFcucGF5bG9hZC5rZXksVy5wYXlsb2FkLmc4KTtjYXNlICJSRVBMQUNFX0VOVElUSUVTIjpyZXR1cm4gT2JqZWN0LmtleXMoVy5wYXlsb2FkKS5yZWR1Y2UoKEQsYik9Pnt2YXIgdj1XLnBheWxvYWRbYl07cmV0dXJuIE9iamVjdC5rZXlzKHYpLnJlZHVjZSgoayxoKT0+REcoayxiLGgsdltoXSksRCl9LG4pOwpjYXNlICJVUERBVEVfRU5USVRZIjpyZXR1cm4gYkIobixXLnBheWxvYWQuZW50aXR5VHlwZSxXLnBheWxvYWQua2V5LFcucGF5bG9hZC5nOCxXLnBheWxvYWQublApO2RlZmF1bHQ6cmV0dXJuIG59fTsKVzRVPWZ1bmN0aW9uKCl7aWYodmUpcmV0dXJuIHZlKCk7dmU9a08oIlBlcnNpc3RlbnRFbnRpdHlTdG9yZURiIix7S2M6e0VudGl0eVN0b3JlOnt2eDoxfSxFbnRpdHlBc3NvY2lhdGlvblN0b3JlOnt2eDoyfX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDEpJiZFUihaeShuLCJFbnRpdHlTdG9yZSIse2tleVBhdGg6ImtleSJ9KSwiZW50aXR5VHlwZSIsImVudGl0eVR5cGUiKTtXKDIpJiYobj1aeShuLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIix7a2V5UGF0aDpbInBhcmVudEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5Il19KSxFUihuLCJieVBhcmVudEVudGl0eUtleSIsInBhcmVudEVudGl0eUtleSIpLEVSKG4sImJ5Q2hpbGRFbnRpdHlLZXkiLCJjaGlsZEVudGl0eUtleSIpKX0sdmVyc2lvbjozfSk7cmV0dXJuIHZlKCl9OwpEZlM9ZnVuY3Rpb24obil7cmV0dXJuIENGKFc0VSgpLG4pfTsKayQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KG4pOkFycmF5KG4pfTsKWDg9ZnVuY3Rpb24obil7dmFyIFc9bi5rZXksRD1uLmNvdW50ZXJbMF1eV1swXSxiPW4uY291bnRlclsxXV5XWzFdLHY9bi5jb3VudGVyWzJdXldbMl0saz1uLmNvdW50ZXJbM11eV1szXTtmb3IodmFyIGg9MztoPj0wJiYhKG4uY291bnRlcltoXT0tfm4uY291bnRlcltoXSk7aC0tKTtmb3IodmFyIHgsTCxlPTQ7ZTw0MDspaD1oRVtEPj4+MjRdXngkW2I+PjE2JjI1NV1eTGZbdj4+OCYyNTVdXmVZW2smMjU1XV5XW2UrK10seD1oRVtiPj4+MjRdXngkW3Y+PjE2JjI1NV1eTGZbaz4+OCYyNTVdXmVZW0QmMjU1XV5XW2UrK10sTD1oRVt2Pj4+MjRdXngkW2s+PjE2JjI1NV1eTGZbRD4+OCYyNTVdXmVZW2ImMjU1XV5XW2UrK10saz1oRVtrPj4+MjRdXngkW0Q+PjE2JjI1NV1eTGZbYj4+OCYyNTVdXmVZW3YmMjU1XV5XW2UrK10sRD1oLGI9eCx2PUw7bj1uLko7aD1XWzQwXTtuWzBdPWdOW0Q+Pj4yNF1eaD4+PjI0O25bMV09Z05bYj4+MTYmMjU1XV5oPj4xNiYyNTU7blsyXT1nTlt2Pj44JgoyNTVdXmg+PjgmMjU1O25bM109Z05bayYyNTVdXmgmMjU1O2g9V1s0MV07bls0XT1nTltiPj4+MjRdXmg+Pj4yNDtuWzVdPWdOW3Y+PjE2JjI1NV1eaD4+MTYmMjU1O25bNl09Z05baz4+OCYyNTVdXmg+PjgmMjU1O25bN109Z05bRCYyNTVdXmgmMjU1O2g9V1s0Ml07bls4XT1nTlt2Pj4+MjRdXmg+Pj4yNDtuWzldPWdOW2s+PjE2JjI1NV1eaD4+MTYmMjU1O25bMTBdPWdOW0Q+PjgmMjU1XV5oPj44JjI1NTtuWzExXT1nTltiJjI1NV1eaCYyNTU7aD1XWzQzXTtuWzEyXT1nTltrPj4+MjRdXmg+Pj4yNDtuWzEzXT1nTltEPj4xNiYyNTVdXmg+PjE2JjI1NTtuWzE0XT1nTltiPj44JjI1NV1eaD4+OCYyNTU7blsxNV09Z05bdiYyNTVdXmgmMjU1fTsKdEU9ZnVuY3Rpb24oKXtpZighcWEmJiFnLlJnKXtpZihHcilyZXR1cm4gR3I7R3I9d2luZG93LmNyeXB0bz8uc3VidGxlO2lmKEdyPy5pbXBvcnRLZXkmJkdyPy5zaWduJiZHcj8uZW5jcnlwdClyZXR1cm4gR3I7R3I9dm9pZCAwfX07CmJoMT1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJBRVMtQ1RSIn0sITEsWyJlbmNyeXB0Il0pKTtuPWF3YWl0IG4uSi5lbmNyeXB0KHtuYW1lOiJBRVMtQ1RSIixjb3VudGVyOkQsbGVuZ3RoOjEyOH0sbi5OLFcpO3JldHVybiBuZXcgVWludDhBcnJheShuKX07CiQkPWZ1bmN0aW9uKG4pe24uTj1bMTc3OTAzMzcwMywzMTQ0MTM0Mjc3LDEwMTM5MDQyNDIsMjc3MzQ4MDc2MiwxMzU5ODkzMTE5LDI2MDA4MjI5MjQsNTI4NzM0NjM1LDE1NDE0NTkyMjVdO24uSz1bXTtuLksubGVuZ3RoPTY0O24uWD0wO24uSj0wfTsKc2U9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSyx2PW4uTlswXSxrPW4uTlsxXSxoPW4uTlsyXSx4PW4uTlszXSxMPW4uTls0XSxlPW4uTls1XSxHPW4uTls2XSxyPW4uTls3XSxOO2ZvcihsZXQgeT0wO3k8NjQ7KXtpZih5PDE2KWJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NDtlbHNle3ZhciBIPWJbeS0yXTt2YXIgQT1iW3ktMTVdO049Ylt5LTddK2JbeS0xNl0rKChIPj4+MTd8SDw8MTUpXihIPj4+MTl8SDw8MTMpXkg+Pj4xMCkrKChBPj4+N3xBPDwyNSleKEE+Pj4xOHxBPDwxNCleQT4+PjMpO2JbeV09Tn1IPXIrck5beV0rTisoKEw+Pj42fEw8PDI2KV4oTD4+PjExfEw8PDIxKV4oTD4+PjI1fEw8PDcpKSsoTCZlXn5MJkcpO0E9KCh2Pj4+Mnx2PDwzMCleKHY+Pj4xM3x2PDwxOSleKHY+Pj4yMnx2PDwxMCkpKyh2JmtediZoXmsmaCk7cj1IK0E7eCs9SDt5Kys7eTwxNj8oYlt5XT1OPVdbRF08PDI0fFdbRCsxXTw8MTZ8V1tEKzJdPDw4fFdbRCsKM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9RytyTlt5XStOKygoeD4+PjZ8eDw8MjYpXih4Pj4+MTF8eDw8MjEpXih4Pj4+MjV8eDw8NykpKyh4JkxefngmZSk7QT0oKHI+Pj4yfHI8PDMwKV4ocj4+PjEzfHI8PDE5KV4ocj4+PjIyfHI8PDEwKSkrKHImdl5yJmtediZrKTtHPUgrQTtoKz1IO3krKzt5PDE2PyhiW3ldPU49V1tEXTw8MjR8V1tEKzFdPDwxNnxXW0QrMl08PDh8V1tEKzNdLEQrPTQpOihIPWJbeS0yXSxBPWJbeS0xNV0sTj1iW3ktN10rYlt5LTE2XSsoKEg+Pj4xN3xIPDwxNSleKEg+Pj4xOXxIPDwxMyleSD4+PjEwKSsoKEE+Pj43fEE8PDI1KV4oQT4+PjE4fEE8PDE0KV5BPj4+MyksYlt5XT1OKTtIPWUrck5beV0rTisoKGg+Pj42fGg8PDI2KV4oaD4+PjExfGg8PDIxKV4oaD4+PjI1fApoPDw3KSkrKGgmeF5+aCZMKTtBPSgoRz4+PjJ8Rzw8MzApXihHPj4+MTN8Rzw8MTkpXihHPj4+MjJ8Rzw8MTApKSsoRyZyXkcmdl5yJnYpO2U9SCtBO2srPUg7eSsrO3k8MTY/KGJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9TCtyTlt5XStOKygoaz4+PjZ8azw8MjYpXihrPj4+MTF8azw8MjEpXihrPj4+MjV8azw8NykpKyhrJmhefmsmeCk7QT0oKGU+Pj4yfGU8PDMwKV4oZT4+PjEzfGU8PDE5KV4oZT4+PjIyfGU8PDEwKSkrKGUmR15lJnJeRyZyKTtOPXI7cj14O3g9TjtOPUc7Rz1oO2g9TjtOPWU7ZT1rO2s9TjtMPXYrSDt2PUgrQTt5Kyt9bi5OWzBdPXYrbi5OWzBdfDA7bi5OWzFdPWsrbi5OWzFdfDA7bi5OWzJdPWgrbi5OWzJdfAowO24uTlszXT14K24uTlszXXwwO24uTls0XT1MK24uTls0XXwwO24uTls1XT1lK24uTls1XXwwO24uTls2XT1HK24uTls2XXwwO24uTls3XT1yK24uTls3XXwwfTsKTmE9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMzIpLEQ9NjQtbi5KO24uSj41NSYmKEQrPTY0KTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiWzBdPTEyODt2YXIgdj1uLlgqODtmb3IobGV0IGs9MTtrPDk7aysrKXtsZXQgaD12JTI1NjtiW0Qta109aDt2PSh2LWgpLzI1Nn1uLnVwZGF0ZShiKTtmb3IoRD0wO0Q8ODtEKyspV1tEKjRdPW4uTltEXT4+PjI0LFdbRCo0KzFdPW4uTltEXT4+PjE2JjI1NSxXW0QqNCsyXT1uLk5bRF0+Pj44JjI1NSxXW0QqNCszXT1uLk5bRF0mMjU1OyQkKG4pO3JldHVybiBXfTsKcGY9ZnVuY3Rpb24obixXLEQpe249bmV3IHZtaShuLk4pO24udXBkYXRlKFcpO24udXBkYXRlKEQpO1c9TmEobik7bi51cGRhdGUobi5qKTtuLnVwZGF0ZShXKTtXPU5hKG4pO24ucmVzZXQoKTtyZXR1cm4gV307CmtTaj1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJITUFDIixoYXNoOiJTSEEtMjU2In0sITEsWyJzaWduIl0pKTt2YXIgYj1uZXcgVWludDhBcnJheShXLmxlbmd0aCtELmxlbmd0aCk7Yi5zZXQoVyk7Yi5zZXQoRCxXLmxlbmd0aCk7bj1hd2FpdCBuLkouc2lnbih7bmFtZToiSE1BQyIsaGFzaDoiU0hBLTI1NiJ9LG4uTixiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobil9Owp4ZlM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7bi5KfHwobi5KPW5ldyBoYXcobi5OLGIpKTtyZXR1cm4ga1NqKG4uSixXLEQpfTsKSGU9ZnVuY3Rpb24obixXLEQpe24uV3x8KG4uVz1uZXcgWSQobi5OKSk7cmV0dXJuIHBmKG4uVyxXLEQpfTsKTDRaPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10RSgpO2lmKGIpdHJ5e3JldHVybiBhd2FpdCB4ZlMobixXLEQsYil9Y2F0Y2godil7cmV0dXJuIGcuR3EodikscWE9ITAsSGUobixXLEQpfWVsc2UgcmV0dXJuIEhlKG4sVyxEKX07CmVhVT1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIEVycm9yP25ldyBmZigiVU5LTk9XTl9FTkNPREVfRVJST1IiLHtvcmlnaW5hbE1lc3NhZ2U6bi5tZXNzYWdlfSk6bmV3IGZmKCJVTktOT1dOX0VOQ09ERV9FUlJPUiIpfTsKZ20yPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgRXJyb3I/bmV3IGZmKCJVTktOT1dOX0RFQ09ERV9FUlJPUiIse29yaWdpbmFsTWVzc2FnZTpuLm1lc3NhZ2V9KTpuZXcgZmYoIlVOS05PV05fREVDT0RFX0VSUk9SIil9OwpKRT1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIGZmP246VyhuKTtnLlhqKG4pO3Rocm93IG47fTsKSTg9ZnVuY3Rpb24obil7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUobikuc3ViYXJyYXkoMCwxNik7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMTYpO1cuc2V0KG4pO3JldHVybiBXfTsKcXNVPWZ1bmN0aW9uKCl7dmFyIG49WHlVLnZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTtpZihuKXJldHVybiBuO2cuR3EobmV3IGcuUXgoIkVudGl0eSBtb2RlbCBub3QgZm91bmQuIix7ZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5In0pKX07CkFFPWZ1bmN0aW9uKG4sVyl7YTp7bj1TWShuLlcsVy52ZXJzaW9uKTt0cnl7dmFyIEQ9bi5KKFcuZGF0YSxXLmtleSk7YnJlYWsgYX1jYXRjaChiKXtKRShiLGdtMil9RD12b2lkIDB9cmV0dXJuIER9OwpHU3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmluZGV4KCJlbnRpdHlUeXBlIikuZ2V0QWxsKElEQktleVJhbmdlLm9ubHkoVykpLnRoZW4oRD0+RC5tYXAoYj0+QUUobixiKSkpfTsKJGZpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V2UoVyk7cmV0dXJuIG1MKG4sRCkudGhlbigoKT0+dENoKG4sVykpfTsKS2Y9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSltEXTtifHwoYj1uZXcgU2V0LG4uSltEXT1iKTtiLmFkZChXKX07CnIzWj1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9U1kobi5XLDEpLHY9ey4uLld9O3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZ2V0KEQpLnRoZW4oaz0+e2lmKGspe2lmKGsuZW50aXR5VHlwZSE9PSJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKXRocm93IEVycm9yKCJJbmNvcnJlY3QgZW50aXR5IHR5cGUiKTt2LmVudGl0eU1ldGFkYXRhfHwoaz1BRShuLGspLHYuZW50aXR5TWV0YWRhdGE9ay5lbnRpdHlNZXRhZGF0YSl9fSkudGhlbigoKT0+e2E6e3RyeXt2YXIgaz1iLlcodixEKTsKYnJlYWsgYX1jYXRjaChoKXtKRShoLGVhVSl9az12b2lkIDB9az17a2V5OkQsZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IixkYXRhOmssdmVyc2lvbjoxfTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikucHV0KGspLCRmaShuLHYpXSl9KS50aGVuKCgpPT57S2YobixELCJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKTsKcmV0dXJuIER9KX07Ck9lPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Y0coVykuZW50aXR5VHlwZTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZGVsZXRlKFcpLG1MKG4sVyldKS50aGVuKCgpPT57S2YobixXLEQpfSl9OwptTD1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKS5pbmRleCgiYnlQYXJlbnRFbnRpdHlLZXkiKS5kZWxldGUoSURCS2V5UmFuZ2Uub25seShXKSl9OwpzeHI9ZnVuY3Rpb24obixXKXtXPVcubWFwKEQ9Pk9lKG4sRCkpOwpyZXR1cm4gc1IuYWxsKFcpLnRoZW4oKCk9Pnt9KX07CnRDaD1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9cXNVKCk7aWYoIWIpcmV0dXJuIHNSLnJlc29sdmUoW10pO1c9bmV3IGIoVyk7bj1uLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKTtiPVtdO2ZvcihsZXQgdiBvZiBXLkooKSliLnB1c2gobi5wdXQoe3BhcmVudEVudGl0eUtleTpELGNoaWxkRW50aXR5S2V5OnZ9KSk7cmV0dXJuIHNSLmFsbChiKS50aGVuKHY9PnYubWFwKGs9PmtbMV0pKX07ClNZPWZ1bmN0aW9uKG4sVz0wKXtuPW4uTltXXTtpZighbil0aHJvdyBXPW5ldyBmZigiSU5WQUxJRF9FTkNPREVSX1ZFUlNJT04iLHtPQTpXfSksZy5YaihXKSxXO3JldHVybiBufTsKUGU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5vYnNlcnZlcnMpRChXKX07ClpHPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1hd2FpdCBEZlMobi50b2tlbiksdjtXPWF3YWl0IE9SKGIsWyJFbnRpdHlTdG9yZSIsIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiXSxXLGs9Pnt2PW5ldyBOR3coayxuLk4pO3JldHVybiBEKHYpfSk7CnYmJihiPXYuSixPYmplY3Qua2V5cyhiKS5sZW5ndGg+MCYmKG4uY2hhbm5lbC5wb3N0TWVzc2FnZShiKSxQZShuLGIpKSk7cmV0dXJuIFd9OwpweXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gWkcobix7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+cjNaKEQsVykpfTsKWXNNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pk9lKEQsVykpfTsKSGh3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnN4cihELFcpKX07ClVlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWRvbmx5IixHUTohMH0sRD0+R1N3KEQsVykpfTsKSTkyPWFzeW5jIGZ1bmN0aW9uKCl7dHJ5e2xldCBXPWF3YWl0IGcublAoKTtpZihXJiZSOSgpJiZ0eXBlb2YgZy5xaS5Ccm9hZGNhc3RDaGFubmVsIT09InVuZGVmaW5lZCIpe3ZhciBuPW5ldyBmOWk7cmV0dXJuIG5ldyBKM2koVyxuKX19Y2F0Y2goVyl7VyBpbnN0YW5jZW9mIEVycm9yJiZnLlhqKFcpfX07CnlXPWZ1bmN0aW9uKCl7dmFyIG49WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLmZldGNoO3JldHVybiEhbiYmbi5sZW5ndGg9PT0zfTsKRWU9ZnVuY3Rpb24obixXKXtXPU51bWJlcihXKSoxRTM7dmFyIEQ9TWF0aC5yb3VuZCgoMCxnLlIpKCkpLGI9RC50b1N0cmluZygpO249e2lubmVydHViZVJlc3BvbnNlOm4sc2VydmVyRGF0ZVRpbWVzdGFtcE1zOmIsbGFzdE1vZGlmaWVkVGltZXN0YW1wTXM6YixleHBpcmVUaW1lc3RhbXBNczooRCtXKS50b1N0cmluZygpLGlzUHJvY2Vzc2VkOiEwfTtpZihXPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpbi5jbGllbnROYW1lPVc7cmV0dXJuIG59Owp1Qj1mdW5jdGlvbihuLFcsRCl7aWYoIWcubCgic3RhdGVfdGFnc19raWxsc3dpdGNoIikpe3ZhciBiPW5ldyBpQihXKTtpZigoYi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W10pLmxlbmd0aD4wKXt2YXIgdj1uLk4udUIoKTtmb3IobGV0IGggb2Ygdil7dmFyIGs9dkcobi5OLGgpO2lmKGspe2E6e3Y9Yi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W107az0obmV3IGlCKHFyKGspKSkuTj8ucmVsZXZhbnRTdGF0ZVRhZ3N8fFtdO2ZvcihsZXQgeCBvZiBrKWlmKHguc3RhdGVUYWchPW51bGwmJnYuaW5jbHVkZXMoeC5zdGF0ZVRhZykmJngub25TdGF0ZVRhZ01vZGlmaWVkPT09IlNUQVRFX1RBR19DQUNIRV9JTlNUUlVDVElPTl9FVklDVF9SRVNQT05TRSIpe3Y9ITA7YnJlYWsgYX12PSExfXYmJmtNKG4uTixoKX19fX1iPVcucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzO0QmJmImJk51bWJlcihiKT4wJiYoVz1FZShXLGIpLG4uTi5wdXQoRCxuZXcgYmgoVykpKX07ClNzWj1mdW5jdGlvbihuLFcsRCl7aWYobi5OKXtsZXQgYj1TMShUNShXLCJrZXkiKSl8fCIvVU5LTk9XTl9QQVRIIjtuLk4uc3RhcnQoYil9bj1EO2cubCgid3VnX25ldHdvcmtpbmdfZ3ppcF9yZXF1ZXN0IikmJihuPU1YUyhEKSk7cmV0dXJuIG5ldyB3aW5kb3cuUmVxdWVzdChXLG4pfTsKZE49YXN5bmMgZnVuY3Rpb24obixXLEQsYix2LGspe2lmKGs/LmFib3J0ZWQpcmV0dXJuIFcuY2FuY2VsKCksYjt2YXIge3ZhbHVlOmgsZG9uZTp4fT1hd2FpdCBXLnJlYWQoKTtpZih4KXJldHVybiBuLk4/LnN1Y2Nlc3MoKSxiO3RyeXt2YXIgTD1ELnBhcnNlKGgpfWNhdGNoKGUpe3Rocm93IG5ldyBvOCgiRmFpbGVkIHRvIHBhcnNlIHN0cmVhbWluZyByZXNwb25zZSIsaCk7fWlmKEwhPW51bGwpZm9yKGxldCBlIG9mIEwpYi5wdXNoKGUpLHY/LihlKTtyZXR1cm4gZE4obixXLEQsYix2LGspfTsKbmM9ZnVuY3Rpb24obixXLEQpe2lmKCF6cil7bGV0IGs9Zy5xaigpO2cueG8oayx7Tkg6bEIsWUw6VHJ9KTtpZihEPy5vUyl7Zy54byhrLHtOSDpqWSxQZjpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsRC5jbGllbnRJbnRlcmZhY2UpfSk7Zy54byhrLHtOSDpDZixQZjo1MTg0RTZ9KTtnLnhvKGsse05IOkJlLFlMOkEzaixbZy5MWF06W2pZLENmXX0pO2cueG8oayx7Tkg6RjgsWUw6d059KTt2YXIgYj1rLnJlc29sdmUoRjgpO2xldCBoPXdpbmRvdztpZihoLnl0SW5pdGlhbFZpZGVvSWQpe3ZhciB2PWgueXRJbml0aWFsVmlkZW9JZDtoLnl0SW5pdGlhbFBsYXllclJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsUGxheWVyUmVzcG9uc2UseUgoInBsYXllciIse3ZpZGVvSWQ6dn0pKTtoLnl0SW5pdGlhbFdhdGNoTmV4dFJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsV2F0Y2hOZXh0UmVzcG9uc2UseUgoIm5leHQiLHt2aWRlb0lkOnZ9KSk7aC55dEluaXRpYWxSZWVsSXRlbVdhdGNoUmVzcG9uc2UmJgp1QihiLGgueXRJbml0aWFsUmVlbEl0ZW1XYXRjaFJlc3BvbnNlLHlIKCJyZWVsX2l0ZW1fd2F0Y2giLHt2aWRlb0lkOnZ9KSl9fWcueG8oayx7Tkg6TWEsUGY6e3pnOntmZWVkYmFja0VuZHBvaW50OmhtKG1mUyksbW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludDpobShLNGkpLHBsYXlsaXN0RWRpdEVuZHBvaW50OmhtKE9ociksc2hhcmVFbnRpdHlFbmRwb2ludDpobShSOCksc3Vic2NyaWJlRW5kcG9pbnQ6aG0oUEd4KSx1bnN1YnNjcmliZUVuZHBvaW50OmhtKFpodCksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6aG0oVWZaKX19fSk7dj1iJC5nZXRJbnN0YW5jZSgpO2I9e307diYmKGIuY2xpZW50X2xvY2F0aW9uPXYpO0Q/Lm9TJiYodj1rLnJlc29sdmUoRjgpLGIuc3RvcmU9dixiLnJlc29sdmVfdXJsX3ByZWZldGNoPWsucmVzb2x2ZShRVykpO2cueG8oayx7Tkg6VlcsUGY6Yn0pO2cueG8oayx7Tkg6Y2UsUGY6biE9PXZvaWQgMD8KbjppTygpfSk7Vz09PXZvaWQgMCYmKFc9ay5yZXNvbHZlKGxCKSk7Zy5sKCJhbGxfd2ViX2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmY1MyKCk7RTliKGsucmVzb2x2ZShNYSksVyxrLnJlc29sdmUoY2UpLGsucmVzb2x2ZShWVyksRD8ub1M/ay5yZXNvbHZlKEJlKTp2b2lkIDApO2cueG8oayx7Tkg6YTgsUGY6WDcuaW5zdGFuY2V9KTt6cj1rLnJlc29sdmUoYTgpfXJldHVybiB6cn07CldRPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249bi5zcGxpdCgiJiIpO2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09MiYmKFdbblswXV09blsxXSk7cmV0dXJuIFd9Owp5M3I9YXN5bmMgZnVuY3Rpb24oKXt2YXIgbj13aW5kb3c7YXdhaXQgZy5NaChnLkQ2KCkpO3ZhciBXPW4uYmdldm1jO2lmKCFXKXRocm93IEVycm9yKCJCR0UgQ29udHJvbHMgbm90IGV4cG9zZWQiKTtyZXR1cm57cGF1c2U6KCk9PntXLnAoKX0sCnJlc3VtZTooKT0+e1cucigpfSwKY2hlY2tGb3JSZWZyZXNoOigpPT5XLmNyKCl9fTsKZy5ENj1mdW5jdGlvbigpe3JldHVybiBnLmwoImJnX3N0X2hyIik/ImhhdnVva21oaHMtMCI6YGhhdnVva21oaHMtJHtNYXRoLmZsb29yKGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/LnRpbWVPcmlnaW58fDApfWB9OwpiMD1mdW5jdGlvbihuKXt3aW5kb3cuYmdlbnM9bn07CkVteD1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShuPT57dmFyIFc9d2luZG93O1cubnRwZXZhc3JzIT09dm9pZCAwP24obmV3IHZRKFcubnRwZXZhc3JzKSk6KFcubnRwcWZiZWw9PT12b2lkIDAmJihXLm50cHFmYmVsPVtdKSxXLm50cHFmYmVsLnB1c2goRD0+e24obmV3IHZRKEQpKX0pKX0pfTsKeDU9ZnVuY3Rpb24oKXtpZihnLmFLKCkpe3ZhciBuPWcuQXIoIlBMQVlFUl9WQVJTIix7fSk7aWYoZy4keShuLCJwcml2ZW1iZWQiLCExKSE9IjEiJiYhZy54UihuKSl7dmFyIFc9KCk9PntrNT0hMDsiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3c/Zy5TSCgiRENMS1NUQVQiLDEpOmcuU0goIkRDTEtTVEFUIiwyKX07CnRyeXtsZXQgRD1Taihkb2N1bWVudCk7aU0oaGosVyxEKX1jYXRjaChEKXt9aWhDLnB1c2godGEuTFMoKCk9PntpZighKGs1fHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7aWYoaGoudG9TdHJpbmcoKSYmVyl7dmFyIEQ9YCR7QWkoVyl9YCxiPW9JW0RdO2ImJlBVKGIpfX1jYXRjaCh2KXt9azU9ITA7Zy5TSCgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07CkxjPWZ1bmN0aW9uKCl7dmFyIG49TnVtYmVyKGcuQXIoIkRDTEtTVEFUIiwwKSk7cmV0dXJuIGlzTmFOKG4pPzA6bn07CmV0PWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpvbU09YXN5bmMgZnVuY3Rpb24obil7aWYoZy5xaS55dEF0UCYmIWcubCgieXRhdHBfa3MiKSl7dmFyIFc9YXdhaXQgZy5xaS55dEF0UDtkZWxldGUgZy5xaS55dEF0UDt2YXIgRD1XPy5SO3ZhciBiPVc/LlQ7Vz11dDIoRCk7bGV0IGs9ISFiO24uSi5KKEQ/Vz9rPzc6MTA6az8xOjg6az8yOjksbi5XKyspO2lmKCFEfHxXKUQ9YXdhaXQgWHkobixxZShiLG51bGwpKSxEPUpTT04uc3RyaW5naWZ5KEQpO2cucWkueXRBdFJDP2cucWkueXRBdFJDKEQpOmcuR3EoRXJyb3IoInl0QXRSQyBub3QgZGVmaW5lZCBmb3IgeXRBdFAuIikpfWVsc2UgZy5xaS55dEF0UkM/Zy5WeCgwLGFzeW5jKCk9PntiPWcucWkueXRBdFQ7ZGVsZXRlIGcucWkueXRBdFQ7aWYoZy5xaS55dEF0UkMpe24uSi5KKDIsbi5XKyspO3ZhciBrPWF3YWl0IFh5KG4scWUoYixudWxsKSk7Zy5xaS55dEF0UkMmJmcucWkueXRBdFJDKEpTT04uc3RyaW5naWZ5KGspKX1lbHNlIG4uSi5KKDYsbi5XKyspfSwyLHYwKCJhdHRfaW5pdF9kZWxheSIsCjApKTooYj1nLnFpLnl0QXRULGRlbGV0ZSBnLnFpLnl0QXRULG4uSi5KKDEsbi5XKyspKTsKRD1hd2FpdCBFbXgoKTtELmJpbmRJbm5lcnR1YmVDaGFsbGVuZ2VGZXRjaGVyKGs9PntuLkouSigzLG4uVysrKTtyZXR1cm4gWHkobixxZShiLGspKX0pOwpELnJlZ2lzdGVyQ2hhbGxlbmdlRmV0Y2hlZENhbGxiYWNrKGs9PntrPWsuY2hhbGxlbmdlO2lmKCFrKXRocm93IEVycm9yKCJCR0VfTUFDUiIpO2s9e2NoYWxsZW5nZTprLFJSOldRKGspLE8xOnYsYmdDaGFsbGVuZ2U6bmV3IHIkfTtrPVByb21pc2UucmVzb2x2ZShrKTtuLk49a30pOwp2YXIgdj1hd2FpdCBnLk1oKGcuRDYoKSk7RD1ELmdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCkuY2hhbGxlbmdlO2lmKCFEKXRocm93IEVycm9yKCJCR0VfTUFDSUwiKTtyZXR1cm57Y2hhbGxlbmdlOkQsUlI6V1EoRCksTzE6dixiZ0NoYWxsZW5nZTpuZXcgciR9fTsKdGo9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9cWUodm9pZCAwLGckKCkuTik7dHJ5e3ZhciBEPWF3YWl0IGRmMihuLFcpfWNhdGNoKHgpe3JldHVybiBnLkdxKEVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggYXR0ZXN0YXRpb24gY2hhbGxlbmdlIGFmdGVyIDUgYXR0ZW1wdHM7IG5vdCByZXRyeWluZyBmb3IgMjRoLiIpKSxHMChuLDg2NEU1KSx7Y2hhbGxlbmdlOiIiLFJSOnt9LE8xOnZvaWQgMCxiZ0NoYWxsZW5nZTp2b2lkIDB9fVc9RC5RRjt2YXIgYj1ELlR0O0cwKG4sKE51bWJlcihiLnQpfHw3MjAwKSoxRTMpO249dm9pZCAwO2lmKCJjMWEiaW4gYiYmRC5iZ0NoYWxsZW5nZSl7RD1ELmJnQ2hhbGxlbmdlO3ZhciB2PW5ldyByJDtpZihELmludGVycHJldGVySmF2YXNjcmlwdCl7dmFyIGs9Tk4oRC5pbnRlcnByZXRlckphdmFzY3JpcHQpO2s9S2IoaykudG9TdHJpbmcoKTt2YXIgaD1uZXcgcXY7Zy5TRShoLDYsayk7JDkodixxdiwxLGgseFUpfWVsc2UgRC5pbnRlcnByZXRlclVybCYmCihrPXB3KEQuaW50ZXJwcmV0ZXJVcmwpLGs9eDMoaykudG9TdHJpbmcoKSxoPW5ldyBHSCxnLlNFKGgsNCxrKSwkOSh2LEdILDIsaCx4VSkpO0QuaW50ZXJwcmV0ZXJIYXNoJiZBUyh2LDMsRC5pbnRlcnByZXRlckhhc2gseFUpO0QucHJvZ3JhbSYmQVModiw0LEQucHJvZ3JhbSx4VSk7RC5nbG9iYWxOYW1lJiZBUyh2LDUsRC5nbG9iYWxOYW1lLHhVKTtELmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iJiZBUyh2LDcsRC5jbGllbnRFeHBlcmltZW50c1N0YXRlQmxvYix4VSk7dHJ5e2F3YWl0IHRxKGckKCksdil9Y2F0Y2goeCl7cmV0dXJuIGcuR3EoeCkse2NoYWxsZW5nZTpXLFJSOmIsTzE6bixiZ0NoYWxsZW5nZTp2fX10cnl7bj1uZXcgQXEoe2NoYWxsZW5nZTp2LHgzOntWajoiYUdJZiJ9fSksYXdhaXQgbi5Pdn1jYXRjaCh4KXtnLkdxKHgpLG49dm9pZCAwfX1yZXR1cm57Y2hhbGxlbmdlOlcsUlI6YixPMTpuLGJnQ2hhbGxlbmdlOnZ9fTsKWHk9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLlg7aWYoIUR8fEQuV0coKSlyZXR1cm4gJDUobixXKTtnLmdfKCJhdHRfcG5hIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBuZXcgUHJvbWlzZShiPT57RC5lRigicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PnskNShuLFcpLnRoZW4oYil9KX0pfTsKZGYyPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPXZvaWQgMCxiPTA7Yjw1Oyl7aWYoYj4wKXtsZXQgdj0xRTMqTWF0aC5wb3coMixiLTEpK01hdGgucmFuZG9tKCkqMUUzO2F3YWl0IG5ldyBQcm9taXNlKGs9PntnLmNCKDAsKCk9PntrKHZvaWQgMCl9LHYpfSl9dHJ5e24uSi5KKDQsbi5XKyspOwpsZXQgdj1hd2FpdCBYeShuLFcpO3JldHVybiB6YWkodil9Y2F0Y2godil7RD12LHYgaW5zdGFuY2VvZiBFcnJvciYmZy5HcSh2KX1iKyt9dGhyb3cgRDt9OwpHMD1mdW5jdGlvbihuLFcpe3ZhciBEPURhdGUubm93KCkrVyxiPWFzeW5jKCk9Pnt2YXIgdj1ELURhdGUubm93KCk7djwxRTM/YXdhaXQgbDlpKG4pOmcuY0IoMCxiLE1hdGgubWluKHYsNkU0KSl9OwpiKCl9OwokNT1hc3luYyBmdW5jdGlvbihuLFcpe2IwKDIpO3RyeXtsZXQgRD1hd2FpdCBYeShuLm5ldHdvcmssVyk7RD9ELmNoYWxsZW5nZSYmIUQuYmdDaGFsbGVuZ2U/YjAoMSk6YjAoNCk6YjAoMyk7cmV0dXJuIER9Y2F0Y2goRCl7YjAoMyl9fTsKemFpPWZ1bmN0aW9uKG4pe2lmKCFuKXRocm93IEVycm9yKCJGZXRjaGluZyBBdHRlc3RhdGlvbiBjaGFsbGVuZ2UgcmV0dXJuZWQgZmFsc3kiKTtpZighbi5jaGFsbGVuZ2UpdGhyb3cgRXJyb3IoIk1pc3NpbmcgQXR0ZXN0YXRpb24gY2hhbGxlbmdlIik7dmFyIFc9bi5jaGFsbGVuZ2UsRD1XUShXKTtpZigiYzFhImluIEQmJighbi5iZ0NoYWxsZW5nZXx8IW4uYmdDaGFsbGVuZ2UucHJvZ3JhbSkpdGhyb3cgRXJyb3IoIkV4cGVjdGVkIGJnIGNoYWxsZW5nZSBidXQgbWlzc2luZy4iKTtyZXR1cm57Li4ubixRRjpXLFR0OkR9fTsKbDlpPWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPWF3YWl0IFByb21pc2UucmFjZShbbi5OLG51bGxdKSxEPXRqKG4pO24uTj1EO1c/Lk8xPy5kaXNwb3NlKCl9OwpUR2g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IFByb21pc2UoRD0+e2cuY0IoMCwoKT0+e0QoVygpKX0sbil9KX07CnFlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e2VuZ2FnZW1lbnRUeXBlOiJFTkdBR0VNRU5UX1RZUEVfVU5CT1VORCJ9O24mJihELmVhY3JUb2tlbj1uKTtXJiYoRC5pbnRlcnByZXRlckhhc2g9Vyk7cmV0dXJuIER9Owp1dDI9ZnVuY3Rpb24obil7aWYoIW58fCFnLmwoInJvc2NhcyIpKXJldHVybiExO3RyeXt2YXIgVz1KU09OLnBhcnNlKG4pfWNhdGNoKEQpe3JldHVybiExfW49Vy5jaGFsbGVuZ2U7aWYoIW4pcmV0dXJuITE7Vz1XUShuKTtuPU51bWJlcihXLmMpfHx2b2lkIDA7Vz1OdW1iZXIoVy50KXx8NzIwMDtyZXR1cm4hIW4mJkRhdGUubm93KCk+KG4rVykqMUUzfTsKcmE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2Uobj0+e3ZhciBXPXdpbmRvdztXLmF0dG1wIT09dm9pZCAwP24oVy5hdHRtcCk6KFcuYXR0bXE9PT12b2lkIDAmJihXLmF0dG1xPVtdKSxXLmF0dG1xLnB1c2goRD0+e24oRCl9KSl9KX07CmcucGM9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKHNoKCkpe3ZhciBiPXdpbmRvdztyZXR1cm4gYi5hdHRtcCE9PXZvaWQgMD9iLmF0dG1wLnMobixXLEQpOihhd2FpdCByYSgpKS5zKG4sVyxEKX1yZXR1cm4oYj0oYj1nLnJyKCJ5dC5hYmEuYXR0IikpP2I6TmUuaW5zdGFuY2UhPT12b2lkIDA/TmUuaW5zdGFuY2UuZFEuYmluZChOZS5pbnN0YW5jZSk6bnVsbCk/YihuLFcsRCk6UHJvbWlzZS5yZXNvbHZlKHtlcnJvcjoiQVRURVNUQVRJT05fRVJST1JfQVBJX05PVF9SRUFEWSJ9KX07CmcuWTU9YXN5bmMgZnVuY3Rpb24oKXtpZihzaCgpKXJldHVybiB3aW5kb3cuYXR0bXA9PT12b2lkIDA/ITE6KGF3YWl0IHJhKCkpLmlyKCk7dmFyIG47cmV0dXJuKG49KG49Zy5ycigieXQuYWJhLmF0dDIiKSk/bjpOZS5pbnN0YW5jZSE9PXZvaWQgMD9OZS5pbnN0YW5jZS55Zi5iaW5kKE5lLmluc3RhbmNlKTpudWxsKT9uKCk6UHJvbWlzZS5yZXNvbHZlKCExKX07CnNoPWZ1bmN0aW9uKCl7cmV0dXJuKGcubCgiYXR0bXVzaSIpfHxnLmwoImF0dG11c2l3IikpJiZnLmwoImF0dG11c2lfdWUiKX07CkhRPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIik7RHx8KEQ9e30sZy5HYigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIixEKSk7aWYoZy5sKCJ3ZWJfZGRfaXUiKXx8anhTLmluY2x1ZGVzKG4pKURbbl09V307CkJHTT1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17Y29udGV4dDpnLnZiKCksc2V0dGluZ0l0ZW1JZDpXLG5ld1ZhbHVlOkR9O0Q9TEIoQ0diKTtuPWF3YWl0IGcucl8obixXLEQpO2lmKCFufHxuLmVycm9yTWV0YWRhdGEpbj9uLmVycm9yTWV0YWRhdGEmJmcuR3EobmV3IGcuUXgoYFNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAke24uZXJyb3JNZXRhZGF0YS5zdGF0dXN9YCkpOmcuR3EobmV3IGcuUXgoIlNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIGVtcHR5IHJlc3BvbnNlIikpfTsKRjRiPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtEPyhuLnZWKDIpLGlNKGZ3KEQpLCgpPT57aWYod2luZG93LnRyYXlyaWRlKWZjKG4sYix2KTtlbHNle24udlYoMyk7bGV0IGg9dU0oRCkseD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChoKTt4JiYoeUooaCkseC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHgpKTtnLkdxKG5ldyBnLlF4KCJCTDpVTEIiLGAke0R9YCkpfX0saykpOlc/KGs9Zy56RigiU0NSSVBUIiksVyBpbnN0YW5jZW9mIEFGPyhrLnRleHRDb250ZW50PUtiKFcpLE9NKGspKTprLnRleHRDb250ZW50PVcsay5ub25jZT1Taihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChrKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGspLHdpbmRvdy50cmF5cmlkZT9mYyhuLGIsdik6KG4udlYoNCksZy5HcShuZXcgZy5ReCgiQkw6VUxCSiIpKSkpOmcuR3EobmV3IGcuUXgoIkJMOlVMViIpKX07CmZjPWZ1bmN0aW9uKG4sVyxEKXtuLnZWKDUpO3ZhciBiPSEhbi5EYSYmd3loLmluY2x1ZGVzKGcuSVAobi5EYSl8fCIiKTt0cnl7bGV0IHY9bmV3IEFxKHtwcm9ncmFtOlcsZ2xvYmFsTmFtZToidHJheXJpZGUiLHgzOntkaXNhYmxlOiFnLmwoImF0dF93ZWJfcmVjb3JkX21ldHJpY3MiKXx8IWcubCgiYXR0X3NraXBfbWV0cmljc19mb3JfY29va2llbGVzc19kb21haW5zX2tzIikmJmIsVmo6ImFHSWYifX0pO3YuT3YudGhlbigoKT0+e24udlYoNik7RCYmRChXKX0pOwpuLk4odil9Y2F0Y2godil7bi52Vig3KSx2IGluc3RhbmNlb2YgRXJyb3ImJmcuR3Eodil9fTsKdmFyIE1DYj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDEsODEzOCxuLFcsRCl9OwpKaj1mdW5jdGlvbigpe3ZhciBuPWcucnIoInl0LmFidXNlLnBsYXllckF0dExvYWRlciIpO3JldHVybiBuJiZbImJndm1hIiwiYmd2bWIiLCJiZ3ZtYyJdLmV2ZXJ5KFc9PlcgaW4gbik/bjpudWxsfTsKUmFTPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDI6cmV0dXJuIDA7Y2FzZSAxOnJldHVybiAyO2Nhc2UgMDpyZXR1cm4gMztjYXNlIDQ6Y2FzZSAzOnJldHVybiAxO2RlZmF1bHQ6Zy5wYihuLCJ1bmtub3duIHJlc3VsdCB0eXBlIil9fTsKZy5JYT1mdW5jdGlvbihuKXtyZXR1cm4gbj8ubGF5b3V0SWQhPW51bGwmJm4/LmxheW91dFR5cGUhPW51bGx9OwpnLlo2PWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuU3QpfHxnLncobixnLkFqKXx8Zy53KG4sZy5tMil8fGcudyhuLGcuS2MpfHxnLncobixnLk9oKXx8Zy53KG4sZy5QUSk/ITA6ITF9OwpnLnUwPWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuVWgpfHxnLncobixnLnlWKXx8Zy53KG4sUXhNKXx8Zy53KG4sZy5FaCl8fGcudyhuLGcuaTApPyEwOiExfTsKZy56MD1mdW5jdGlvbihuKXtyZXR1cm4gZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpP2cudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5vYSl8fGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5kYSk/ITA6ITE6ITF9OwpnLmwwPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclZhcnMhPT12b2lkIDAmJm4ucGluZ3MhPT12b2lkIDAmJm4uZXh0ZXJuYWxWaWRlb0lkIT09dm9pZCAwfTsKZy5NZT1mdW5jdGlvbihuKXtpZighZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpKXJldHVybiExO249bi5yZW5kZXJpbmdDb250ZW50O3ZhciBXPWcudyhuLGcuVDApO3JldHVybiBXP2cuanQoVyk6KFc9Zy53KG4sZy5DYykpP2cubDAoVyk6KFc9Zy53KG4sZy5CUSkpP1cucGxheWVyVmFycyE9PXZvaWQgMDooVz1nLncobixnLlVoKSk/Vy5kdXJhdGlvbk1pbGxpc2Vjb25kcyE9PXZvaWQgMDpnLncobixnLkZ5KXx8Zy53KG4sZy53YSk/ITA6ITF9OwpnLmp0PWZ1bmN0aW9uKG4pe249KG4uc2VxdWVudGlhbExheW91dHN8fFtdKS5tYXAoVz0+Zy53KFcsZy5SYSkpOwpyZXR1cm4gbi5sZW5ndGg+MCYmbi5ldmVyeShnLk1lKX07CmcuVlY9ZnVuY3Rpb24obil7cmV0dXJuIGcuSWEobi5hZExheW91dE1ldGFkYXRhKT8obj1nLncobi5yZW5kZXJpbmdDb250ZW50LGcuUVYpKSYmbi5waW5ncz8hMDohMTohMX07CmcuRHE9ZnVuY3Rpb24obil7aWYoIWcuSWEobi5hZExheW91dE1ldGFkYXRhKSlyZXR1cm4hMTtpZihnLncobi5yZW5kZXJpbmdDb250ZW50LGcuY1EpfHxnLncobi5yZW5kZXJpbmdDb250ZW50LGcub2EpKXJldHVybiEwO3ZhciBXPWcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5hYSk7cmV0dXJuIGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5uaSl8fGcudyhXPy5zaWRlUGFuZWwsVkMyKXx8Zy53KFc/LnNpZGVQYW5lbCxnLlckKXx8Zy53KFc/LnNpZGVQYW5lbCxjM2gpPyEwOiExfTsKZy5nTT1mdW5jdGlvbihuKXt2YXIgVzsoVz0hbil8fChXPW4uYWRTbG90TWV0YWRhdGEsVz0hKFc/LnNsb3RJZCE9PXZvaWQgMCYmVz8uc2xvdFR5cGUhPT12b2lkIDApKTtpZihXfHwhKGcuYloobil8fG4uc2xvdEVudHJ5VHJpZ2dlciYmbi5zbG90RnVsZmlsbG1lbnRUcmlnZ2VycyYmbi5zbG90RXhwaXJhdGlvblRyaWdnZXJzKSlyZXR1cm4hMTtuPW4uZnVsZmlsbG1lbnRDb250ZW50Py5mdWxmaWxsZWRMYXlvdXQ7cmV0dXJuKFc9Zy53KG4sZy5SYSkpP2cuTWUoVyk6KFc9Zy53KG4sZy52JCkpP2cuRHEoVyk6KFc9Zy53KG4sZy5reikpP2cudTAoVyk6KFc9Zy53KG4sZy5oWCkpP2cuWjYoVyk6KFc9Zy53KG4sZy54eikpP2cuSWEoVy5hZExheW91dE1ldGFkYXRhKT9nLncoVy5yZW5kZXJpbmdDb250ZW50LGcuU3QpPyEwOiExOiExOihXPWcudyhuLGcuTGkpKT9nLlZWKFcpOihuPWcudyhuLGcuZTIpKT9nLnowKG4pOiExfTsKZy5iWj1mdW5jdGlvbihuKXtyZXR1cm4obj1nLncobi5mdWxmaWxsbWVudENvbnRlbnQ/LmZ1bGZpbGxlZExheW91dCxnLnYkKSkmJm4uYWRMYXlvdXRNZXRhZGF0YT8ubGF5b3V0VHlwZT09PSJMQVlPVVRfVFlQRV9QQU5FTF9RUl9DT0RFIiYmbi5sYXlvdXRFeGl0Tm9ybWFsVHJpZ2dlcnM9PT12b2lkIDB9OwphOXI9ZnVuY3Rpb24obil7Zm9yKGxldCBXIG9mIG58fFtdKXtuPWcudyhXLGcuWEcpO2lmKG49PT12b2lkIDB8fCFnLmdNKG4pKWJyZWFrO2lmKChuPWcudyhuLmZ1bGZpbGxtZW50Q29udGVudD8uZnVsZmlsbGVkTGF5b3V0LGcuTGkpKSYmZy5WVihuKSlyZXR1cm4hMH1yZXR1cm4hMX07CnE0PWZ1bmN0aW9uKG4pe2lmKCFufHwhbi5hZFBsYWNlbWVudHMmJiFuLmFkU2xvdHMpcmV0dXJuITE7Zm9yKGxldCBXIG9mIG4uYWRQbGFjZW1lbnRzfHxbXSl7aWYoIVcpY29udGludWU7bGV0IEQ9Vy5hZFBsYWNlbWVudFJlbmRlcmVyO2lmKEQhPW51bGwmJihELmNvbmZpZyYmRC5jb25maWcuYWRQbGFjZW1lbnRDb25maWcmJkQuY29uZmlnLmFkUGxhY2VtZW50Q29uZmlnLmtpbmQpPT09IkFEX1BMQUNFTUVOVF9LSU5EX1NUQVJUIilyZXR1cm4hMH1mb3IobGV0IFcgb2Ygbi5hZFNsb3RzfHxbXSlpZihnLncoVyxnLlhHKT8uYWRTbG90TWV0YWRhdGE/LnRyaWdnZXJFdmVudD09PSJTTE9UX1RSSUdHRVJfRVZFTlRfQkVGT1JFX0NPTlRFTlQiKXJldHVybiEwO3JldHVybiExfTsKbm4xPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Vz9XLmlzVHJ1c3RlZD09PSEwP0QucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRCIpOlcuaXNUcnVzdGVkPT09ITE/RC5wdXNoKCJCSVNDT1RUSV9CQVNFRF9ERVRFQ1RJT05fU1RBVEVfQVNfU0VFS19FVkVOVF9OT1RfVFJVU1RFRCIpOkQucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRF9QUk9QRVJUWV9VTkRFRklORUQiKTpELnB1c2goIkJJU0NPVFRJX0JBU0VEX0RFVEVDVElPTl9TVEFURV9BU19TRUVLX0VWRU5UX1VOREVGSU5FRCIpO2cuR0MoMCwiYS5zXyIse21ldGFkYXRhOm4sc3RhdGVzOkR9KTtnLlNIKCJBU0RTVEFUIiwwKX07CmcuR0M9ZnVuY3Rpb24obixXLEQpe1c9V0RDW1ddO3ZhciBiPXtkZXRlY3RlZDpuPT09MCxzb3VyY2U6YCR7Vy5KfSR7RC50cmlnZ2VyQ29udGV4dD8/IiJ9JHtELk0zPz8iIn1gLGRldGVjdGlvblN0YXRlczpELnN0YXRlcyxkdXJhdGlvbk1zOkQuRXd9O0QubWV0YWRhdGEmJihiLmNvbnRlbnRDcG49RC5tZXRhZGF0YS5jb250ZW50Q3BuLGIuYWRDcG49RC5tZXRhZGF0YS5hZENwbik7Zy56VSgiYmlzY290dGlCYXNlZERldGVjdGlvbiIsYik7Vy5OIT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpLFcuTiE9PXZvaWQgMD8oVz1XLk4sbj1SYVMobiksbj1EJn4oMzw8Vyl8bjw8Vyk6bj1ELGcuU0goIkNBVFNUQVQiLG4pKX07CnRYPWZ1bmN0aW9uKG4sVyl7bj1uLndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRBdXRob3JpemF0aW9uVG9rZW5Db25maWc/LnZpZGVvQXV0aG9yaXphdGlvblRva2VuPy5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnN8fFtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKWlmKG5bRF0uc2NvcGU9PT1XKXJldHVybiBuW0RdLnRva2VufHx2b2lkIDB9OwpnLk40PWZ1bmN0aW9uKG4pe3ZhciBXPWcudyhuLCR6KTtpZihXKXJldHVybiBXO2lmKChXPWcudyhuLERZcikpJiZXLmNvbW1hbmRzKXJldHVybiByTShXLmNvbW1hbmRzKTtpZigoVz1nLncobixiOGIpKSYmVy5jb21tYW5kcylyZXR1cm4gck0oVy5jb21tYW5kcyk7aWYoKG49Zy53KG4sdm5NKSkmJm4uaWRlbnRpZmllciYmbi5jb21tYW5kJiYoczN8fChzMz1bXSksIXMzLmluY2x1ZGVzKG4uaWRlbnRpZmllcikpKXJldHVybiBzMy5wdXNoKG4uaWRlbnRpZmllciksZy53KG4uY29tbWFuZCwkeil9OwpyTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aCE9PTApe3ZhciBXPVtdO2ZvcihsZXQgRCBvZiBuKShuPWcuTjQoRCkpJiZXLnB1c2gobik7cmV0dXJue2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOld9fX19OwpwaT1mdW5jdGlvbihuKXtpZihuJiZuLnNpbXBsZVRleHQpcmV0dXJuIG4uc2ltcGxlVGV4dDt2YXIgVz0iIjtpZihuJiZuLnJ1bnMpZm9yKGxldCBEPTA7RDxuLnJ1bnMubGVuZ3RoO0QrKyluLnJ1bnNbRF0udGV4dCYmKFcrPW4ucnVuc1tEXS50ZXh0KTtyZXR1cm4gV307Cll6PWZ1bmN0aW9uKG4pe3JldHVybiBuP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChXKXtnLlhqKFcpfX06bn07CmZpPWZ1bmN0aW9uKCl7SCQuaW5zdGFuY2V8fChIJC5pbnN0YW5jZT1uZXcgSCQpO3JldHVybiBIJC5pbnN0YW5jZX07CklmPWZ1bmN0aW9uKCl7SlguaW5zdGFuY2V8fChKWC5pbnN0YW5jZT1uZXcgSlgpO3JldHVybiBKWC5pbnN0YW5jZX07Cm1VPWZ1bmN0aW9uKG4sVyxELGI9e30pe1BWKCgpPT57a3ZNLmluY2x1ZGVzKFcpfHwoZy5HcShuZXcgZy5ReCgiY3JlYXRlQ2xpZW50U2NyZWVuKCkgY2FsbGVkIHdpdGggYSBub24tcGFnZSBWRSIsVykpLFc9ODM3NjkpO2lmKCFiLmlzSGlzdG9yeU5hdmlnYXRpb24pe2xldCB2PWIubGF5ZXJ8fDA7bi5UQy5zZXQodixbXSk7UzIobix2KS5wdXNoKHtyb290VmU6VyxrZXk6Yi5rZXl8fCIifSl9bi5EPVtdO24uTz1bXTtiLlVBP2hqdChuLFcsRCxiKTpBWChuLFcsRCxiKX0pKCl9OwpTMj1mdW5jdGlvbihuLFcpe24uSy5oYXMoVyl8fG4uSy5zZXQoVyxbXSk7cmV0dXJuIG4uSy5nZXQoVyl9OwpoanQ9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5OLmFkZChiLmxheWVyfHwwKTtuLmo9KCk9PntBWChuLFcsRCxiKTt2YXIgdj13NChiLmxheWVyKTtpZih2KXtsZXQgaz1nLlJ2KGIubGF5ZXIpO2ZvcihsZXQgaCBvZiBuLkQpe2xldCB4PWhbMF0sTD1oWzFdfHx2O2s/S2kobix4LEwsYi5sYXllcixrKTpPMyhuLHgsTCxiLmxheWVyKX1mb3IobGV0IGggb2Ygbi5PKVAkKG4saFswXSxoWzFdKX19OwpEfHxnLlJ2KGIubGF5ZXIpfHxuLmooKTtpZihiLlVBKWZvcihsZXQgdiBvZiBiLlVBKXhZYihuLHYsYi5sYXllcik7ZWxzZSBnLlhqKEVycm9yKCJEZWxheWVkIHNjcmVlbiBuZWVkcyBhIGRhdGEgcHJvbWlzZS4iKSl9OwpBWD1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj12b2lkIDA7Yi5sYXllcnx8KGIubGF5ZXI9MCk7dj1iLnBhcmVudExheWVyIT09dm9pZCAwP2IucGFyZW50TGF5ZXI6Yi5sYXllcjt2YXIgaz1nLlJ2KHYpO3Y9dzQodik7dmFyIGg9RHx8dix4O2gmJihiLnBhcmVudENzbiE9PXZvaWQgMD94PXtjbGllbnRTY3JlZW5Ob25jZTpiLnBhcmVudENzbix2aXN1YWxFbGVtZW50Omh9OmsmJmshPT0iVU5ERUZJTkVEX0NTTiImJih4PXtjbGllbnRTY3JlZW5Ob25jZTprLHZpc3VhbEVsZW1lbnQ6aH0pKTt2YXIgTCxlPWcuQXIoIkVWRU5UX0lEIik7az09PSJVTkRFRklORURfQ1NOIiYmZSYmKEw9e3NlcnZsZXREYXRhOntzZXJpYWxpemVkU2VydmxldEV2ZW50SWQ6ZX19KTtnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikmJmsmJlpxKG4sayk7Zy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpJiZoJiZrJiZkSyhoLGspO3RyeXt2YXIgRz1nOWkobi5jbGllbnQsVyx4LGIuTDgsCmIuY3R0QXV0aEluZm8sTCxiLmltcGxpY2l0R2VzdHVyZVR5cGUsYi5sb2dnaW5nRXhwZWN0YXRpb25zLGIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpfWNhdGNoKE4pe0s0KE4se2w3Olcscm9vdFZlOnYsSTc6RCxsQTprLGdQOngsTDg6Yi5MOH0pO2cuWGooTik7cmV0dXJufWNzKEcsVyxiLmxheWVyLGIuY3R0QXV0aEluZm8pO2smJmshPT0iVU5ERUZJTkVEX0NTTiImJnYmJiF3SEMoaykmJihUcShuLmNsaWVudCxrLHYsITApLG4uSi5kZWxldGUoaykpO1c9UzIobixiLmxheWVyfHwwKTtXLmxlbmd0aD4wJiYhV1tXLmxlbmd0aC0xXS5jc24mJihXW1cubGVuZ3RoLTFdLmNzbj1HfHwiIik7Zy5ubCh7Y2xpZW50U2NyZWVuTm9uY2U6R30pO1UzLmluc3RhbmNlfHwoVTMuaW5zdGFuY2U9bmV3IFUzKTtQVihmaSgpLk4pLmJpbmQoZmkoKSkoKTt2YXIgcj13NChiLmxheWVyKTtrJiZrIT09IlVOREVGSU5FRF9DU04iJiZyJiZnLmwoIm11c2ljX3dlYl9tYXJrX3Jvb3RfdmlzaWJsZSIpJiYKRmooRyxyKTtuLk4uZGVsZXRlKGIubGF5ZXJ8fDApO24uaj12b2lkIDA7bi5TJC5nZXQoYi5sYXllcik/LmZvckVhY2goKE4sSCk9PntOP08zKG4sSCxOLGIubGF5ZXIpOnImJk8zKG4sSCxyLGIubGF5ZXIpfSk7CkxEWihuKX07CnhZYj1mdW5jdGlvbihuLFcsRD0wKXtQVigoKT0+e1cudGhlbihiPT57bi5OLmhhcyhEKSYmbi5qJiZuLmooKTt2YXIgdj1nLlJ2KEQpLGs9dzQoRCk7aWYodiYmayl7dmFyIGg9e2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOjN9O2I/LnJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpO2I/LnBsYXllclJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucGxheWVyUmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpfX0pfSkoKX07CktpPWZ1bmN0aW9uKG4sVyxELGI9MCx2KXtuLkouaGFzKHYpfHxuLkouc2V0KHYsbmV3IFNldCk7dmFyIGs9RHx8dzQoYik7az1gJHtXLnRvU3RyaW5nKCl9fCR7az9rLnRvU3RyaW5nKCk6IiJ9YDtuLkouZ2V0KHYpLmhhcyhrKXx8KE8zKG4sVyxELGIpLG4uSi5nZXQodikuYWRkKGspKX07Ck8zPWZ1bmN0aW9uKG4sVyxELGI9MCl7cmV0dXJuIFBWKCgpPT57aWYobi5OLmhhcyhiKSlyZXR1cm4gbi5ELnB1c2goW1csRF0pLCEwO3ZhciB2PWcuUnYoYiksaz1EfHx3NChiKTtpZih2JiZrKXtpZihnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikpe2xldCBoPW4uWC5nZXQoay50b1N0cmluZygpKTtoP2gucHVzaChXKToobi5ZLnNldChrLnRvU3RyaW5nKCksayksbi5YLnNldChrLnRvU3RyaW5nKCksW1ddKSk7bi50d3x8KG4udHc9Zy5jQigwLCgpPT57WnEobix2KX0sMTIwMCkpfWVsc2UgdWcobi5jbGllbnQsdixrLFcpOwpyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpnLnlyPWZ1bmN0aW9uKG4pe3ZhciBXPUlmKCk7UFYoKCk9Pnt2YXIgRD1UVShuKSxiPWcuUnYoMCk7YiYmIVcuTi5oYXMoMCk/S2koVyxELHZvaWQgMCwwLGIpOk8zKFcsRCx2b2lkIDAsMCk7cmV0dXJuIER9KSgpfTsKZWp3PWZ1bmN0aW9uKG4pe3ZhciBXPXt2ZVR5cGU6MjUzMjQ2fTtyZXR1cm4gUFYoKCk9PntpZighVy52ZVR5cGUpcmV0dXJuIGcucWcobmV3IGcuUXgoIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihXLnZpc2liaWxpdHlUeXBlcyl7dmFyIEQ9Vy52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChiLHYpPT5ifHYpOwpEPXt2aXNpYmlsaXR5Ont0eXBlczpTdHJpbmcoRCl9fX1EPWp5KFcudmVUeXBlLFcudmlzdWFsRWxlbWVudCxXLmVsZW1lbnRJbmRleCxXLmNsaWVudFlvdVR1YmVEYXRhLHZvaWQgMCxEKTtyZXR1cm4gTzMobixEKT9EOm51bGx9KSgpfTsKWnE9ZnVuY3Rpb24obixXKXtpZihXPT09dm9pZCAwKXtsZXQgRD1CZ3IoKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKylEW2JdIT09dm9pZCAwJiZacShuLERbYl0pfWVsc2Ugbi5YLmZvckVhY2goKEQsYik9PnsoYj1uLlkuZ2V0KGIpKSYmaWcobi5jbGllbnQsVyxiLEQpfSksbi5YLmNsZWFyKCksbi5ZLmNsZWFyKCksbi50dz12b2lkIDB9Owpnblo9ZnVuY3Rpb24obixXLEQsYj0wKXtpZighVylyZXR1cm4hMTtiPWcuUnYoYik7aWYoIWIpcmV0dXJuITE7amkobi5jbGllbnQsYixUVShXKSxEKTtyZXR1cm4hMH07ClAkPWZ1bmN0aW9uKG4sVyxELGI9MCl7dmFyIHY9Zy5SdihiKTtXPVd8fHc0KGIpO3YmJlcmJihuPW4uY2xpZW50LGI9UGEoe2N0dEF1dGhJbmZvOlE0KHYpfHx2b2lkIDB9LHYpLEQ9e2Nzbjp2LHZlOlcuZ2V0QXNKc29uKCksY2xpZW50RGF0YTpEfSx2PT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixELGIpKX07CkxEWj1mdW5jdGlvbihuKXtmb3IodmFyIFc9MDtXPG4uVi5sZW5ndGg7VysrKXt2YXIgRD1uLlZbV107dHJ5e0QoKX1jYXRjaChiKXtnLlhqKGIpfX1uLlYubGVuZ3RoPTA7Zm9yKFc9MDtXPG4uY0oubGVuZ3RoO1crKyl7RD1uLmNKW1ddO3RyeXtEKCl9Y2F0Y2goYil7Zy5YaihiKX19fTsKaVo9ZnVuY3Rpb24oKXtFMy5pbnN0YW5jZXx8KEUzLmluc3RhbmNlPW5ldyBFMyk7cmV0dXJuIEUzLmluc3RhbmNlfTsKWE9iPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgWE1MSHR0cFJlcXVlc3Q7RD8ubGcmJihiLm9ucmVhZHlzdGF0ZWNoYW5nZT12PT57RC5sZyhiLHYpfSk7CmIub3BlbihXLm1ldGhvZD8/IkdFVCIsbiwhMCk7Yi5yZXNwb25zZVR5cGU9InRleHQiO2Iud2l0aENyZWRlbnRpYWxzPSEwO2lmKFcuaGVhZGVycylmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMoVy5oZWFkZXJzKSliLnNldFJlcXVlc3RIZWFkZXIodixrKTtyZXR1cm4gYn07CnFmUz1mdW5jdGlvbigpe3ZhciBuPW5hdmlnYXRvcjtyZXR1cm4gbmV3IFByb21pc2UoKFcsRCk9PntuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YT9uLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2UucXVlcnlVc2FnZUFuZFF1b3RhKChiLHYpPT57Vyh7dXNhZ2U6YixxdW90YTp2fSl9LGI9PntEKGIpfSk6RChFcnJvcigid2Via2l0VGVtcG9yYXJ5U3RvcmFnZSBpcyBub3Qgc3VwcG9ydGVkLiIpKX0pfTsKdDZDPWZ1bmN0aW9uKG4sVyl7R3ZVKG4ucHJvZ3JhbSxXLkQzKSYmKGcuZ18oImJnX2kiLHZvaWQgMCwicGxheWVyX2F0dCIpLGcudVouaW5pdGlhbGl6ZShuLCgpPT57Zy5nXygiYmdfbCIsdm9pZCAwLCJwbGF5ZXJfYXR0Iik7b2Y9KDAsZy5SKSgpfSxXLmNzcE5vbmNlLFcuRGEpKX07CnZhciAkWWo9ZnVuY3Rpb24oKXtyZXR1cm4gSjRbSVsxMF1dKHRoaXMsMTYsNDYyNil9OwpyOVM9ZnVuY3Rpb24obj17fSl7cmV0dXJuIGcudVouaW52b2tlKG4pfTsKR3ZVPWZ1bmN0aW9uKG4sVyl7aWYobil7dmFyIEQ7Zy51Wi5pc0xvYWRpbmcoKT9EPSExOkQ9IW9mfHwoMCxnLlIpKCktb2Y+VztuPUR9ZWxzZSBuPSExO3JldHVybiBufTsKc18yPWZ1bmN0aW9uKG4sVyl7aWYoVy5wYXJ0bmVySWQ9PT0zOCYmbi5wbGF5ZXJTdHlsZT09PSJib29rcyIpe3ZhciBEPVcudmlkZW9JZC5pbmRleE9mKCI6Iik7bj1XLnZpZGVvSWQuc2xpY2UoMCxEKTtEPVcudmlkZW9JZC5zbGljZShEKzEpO3JldHVybiBnLkVUKGAvL3BsYXkuZ29vZ2xlLmNvbS9ib29rcy92b2x1bWVzLyR7bn0vY29udGVudC9tZWRpYWAse2FpZDpELHNpZzpXLnlkfSl9aWYoVy5wYXJ0bmVySWQ9PT0zMCYmbi5wbGF5ZXJTdHlsZT09PSJkb2NzIilyZXR1cm4gZy5FVCgiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZ2V0X3ZpZGVvX2luZm8iLHtkb2NpZDpXLnZpZGVvSWQsYXV0aHVzZXI6Vy5rcCxhdXRoa2V5OlcudkYsZXVybDpuLlFyfSk7aWYoVy5wYXJ0bmVySWQ9PT0zMyYmbi5wbGF5ZXJTdHlsZT09PSJnb29nbGUtbGl2ZSIpcmV0dXJuIGcuRVQoIi8vZ29vZ2xlLWxpdmVwbGF5ZXIuYXBwc3BvdC5jb20vZ2V0X3ZpZGVvX2luZm8iLHtrZXk6Vy52aWRlb0lkfSk7CnRocm93IEVycm9yKCJnZXRWaWRlb0luZm9VcmwgZm9yIGludmFsaWQgbmFtZXNwYWNlOiAiK24uVik7fTsKTlFpPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O24uY0wmJihXLnl0cmV4dD1uLmNMKTtyZXR1cm4gZy5HRihXKT92b2lkIDA6V307CmcuekM9ZnVuY3Rpb24obixXKXt0NkMobix7RDM6Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIiksY3NwTm9uY2U6Vy5jc3BOb25jZSxEYTpXLkRhfHwiIn0pfTsKZy5sWj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YSYmbi52aWRlb0RhdGEucEspe2xldCBXPVtuLnZpZGVvRGF0YS5wS107Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uTikpaWYobi5SUltEXSYmbi5OW0RdKXtsZXQgYj1uLk5bRF0obi5SUik7YiYmVy5wdXNoKGIpfXJldHVybiBXLmpvaW4oIiYiKX1yZXR1cm4gbnVsbH07CmcuVEM9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobilmb3IobGV0IFtiLHZdb2YgT2JqZWN0LmVudHJpZXMobikpe249Yjt2YXIgRD12O2lmKEQ9PT12b2lkIDApY29udGludWU7RD10eXBlb2YgRD09PSJib29sZWFuIj9gJHsrRH1gOmAke0R9YC5yZXBsYWNlKC9bOiw9XS9nLCJfIik7Vy5wdXNoKGAke259LiR7RH1gKX1yZXR1cm4gVy5qb2luKCI7Iil9OwpqMj1mdW5jdGlvbihuKXtyZXR1cm4gbj09PTF8fG49PT0yfTsKQiQ9ZnVuY3Rpb24obixXPTApe2lmKG4gaW5zdGFuY2VvZiBnLkNpKXJldHVybiBuO249biYmbiBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYCR7bn1gKTtqMihXKT9nLlhqKG4pOmcuR3Eobik7cmV0dXJuIG5ldyBnLkNpKFc9PT0xPyJwbGF5ZXIuZmF0YWxleGNlcHRpb24iOiJwbGF5ZXIuZXhjZXB0aW9uIix7bmFtZTpgJHtuLm5hbWV9YCxtZXNzYWdlOmAke24ubWVzc2FnZX1gfSxXKX07Ckg4cj1mdW5jdGlvbihuLFcpe1FBKG4sMixXLkNuLEZHLDMpO1FBKG4sMyxXLmlubmVydHViZVJlcXVlc3QscE9pLDMpO2cuRmEobiw0LFcub25lc2llVXN0cmVhbWVyQ29uZmlnKTtnLkZhKG4sOSxXLkJ4KTtRQShuLDEwLFcubUgsd00sMyk7UUEobiwxNSxXLnJlbG9hZFBsYXliYWNrUGFyYW1zLFlmaSwzKTtnLlJ3KG4sMTgsVy5Vayl9OwpRcj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLmZvcm1hdElkLE00LDMpO0NSKG4sMixXLnN0YXJ0VGltZU1zKTtDUihuLDMsVy5kdXJhdGlvbk1zKTtDUihuLDQsVy5BQyk7Q1Iobiw1LFcuaTkpO1FBKG4sOSxXLmo2LGY4QywzKTtRQShuLDExLFcuQUYsUmYsMSk7UUEobiwxMixXLkVqLFJmLDEpfTsKSjliPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy52aWRlb0lkKTtDUihuLDIsVy5sbXQpfTsKZjhDPWZ1bmN0aW9uKG4sVyl7aWYoVy5Geilmb3IobGV0IEQ9MDtEPFcuRnoubGVuZ3RoO0QrKylRQShuLDEsVy5GeltEXSxKOWIsMyl9OwpNND1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLml0YWcpO0NSKG4sMixXLmxtdCk7Zy5SdyhuLDMsVy54dGFncyl9OwpWcj1mdW5jdGlvbihuKXtyZXR1cm57aXRhZzpQRyhuLDEpLGxtdDpQRyhuLDIpLHh0YWdzOkV4KG4sMyl9fTsKUmY9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5zdGFydFRpY2tzKTtDUihuLDIsVy5sOCk7Q1IobiwzLFcudGltZXNjYWxlKX07CmMkPWZ1bmN0aW9uKG4pe3JldHVybntzdGFydFRpY2tzOlBHKG4sMSksbDg6UEcobiwyKSx0aW1lc2NhbGU6UEcobiwzKX19OwpJOGo9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5kZWZhdWx0UG9saWN5KTtDUihuLDIsVy5zbW9vdGgpO0NSKG4sMyxXLnZpc2liaWxpdHkpO0NSKG4sNCxXLk9iKTtDUihuLDUsVy5wZXJmb3JtYW5jZSk7Q1Iobiw2LFcuc3BlZWQpfTsKQTlTPWZ1bmN0aW9uKG4sVyl7aWYoVy5hdXRob3JpemVkRm9ybWF0cylmb3IobGV0IEQ9MDtEPFcuYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoO0QrKylRQShuLDEsVy5hdXRob3JpemVkRm9ybWF0c1tEXSxTZmosMSk7Zy5GYShuLDIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpfTsKU2ZqPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudHJhY2tUeXBlKTtCRyhuLDIsVy5pc0hkcil9OwpGRz1mdW5jdGlvbihuLFcpe0NSKG4sMTMsVy50aW1lU2luY2VMYXN0TWFudWFsRm9ybWF0U2VsZWN0aW9uTXMpO3ZhciBEPVcubGFzdE1hbnVhbERpcmVjdGlvbjtEIT09dm9pZCAwJiYoajUobiwxMTIpLGo1KG4sRDw8MV5EPj4zMSkpO0NSKG4sMTYsVy5pSCk7Q1IobiwxNyxXLmRldGFpbGVkTmV0d29ya1R5cGUpO0NSKG4sMTgsVy5zQSk7Q1IobiwxOSxXLllBKTtDUihuLDIxLFcuVE4pO0NSKG4sMjMsVy5JJCk7Q1IobiwyOCxXLm5SKTtDUihuLDI5LFcubHEpO0NSKG4sMzQsVy52aXNpYmlsaXR5KTtEPVcucGxheWJhY2tSYXRlO2lmKEQhPT12b2lkIDApe3ZhciBiPW5ldyBBcnJheUJ1ZmZlcig0KTsobmV3IEZsb2F0MzJBcnJheShiKSlbMF09RDtEPShuZXcgVWludDMyQXJyYXkoYikpWzBdO2lmKEQhPT12b2lkIDApZm9yKGo1KG4sMjg1KSxUNihuLDQpLGI9MDtiPDQ7KW4udmlldy5zZXRVaW50OChuLnBvcyxEJjI1NSksRD4+PTgsbi5wb3MrPTEsYis9MX1DUihuLDM2LFcuZnEpOwpRQShuLDM4LFcubWVkaWFDYXBhYmlsaXRpZXMsbVl3LDMpO0NSKG4sMzksVy5aSSk7Q1Iobiw0MCxXLllmKTtDUihuLDQ0LFcucGxheWVyU3RhdGUpO0JHKG4sNDYsVy5FYik7Q1Iobiw0OCxXLmo0KTtDUihuLDUwLFcua0UpO0NSKG4sNTEsVy5VbSk7Q1Iobiw1NCxXLkc3KTtpZihXLnlLKWZvcihEPTA7RDxXLnlLLmxlbmd0aDtEKyspQ1Iobiw1NSxXLnlLW0RdKTtCRyhuLDU2LFcuWkMpO0NSKG4sNTcsVy5YRCk7Qkcobiw1OCxXLmJ2KTtDUihuLDU5LFcublMpO0NSKG4sNjAsVy5HRik7Qkcobiw2MSxXLmlzUHJlZmV0Y2gpO0NSKG4sNjIsVy5TZik7Zy5GYShuLDYzLFcuc2FickxpY2Vuc2VDb25zdHJhaW50KTtDUihuLDY0LFcuazgpO0NSKG4sNjYsVy5WWCk7Q1Iobiw2NyxXLkJaKTtDUihuLDY4LFcucDYpO2cuUncobiw2OSxXLmF1ZGlvVHJhY2tJZCk7Qkcobiw3MSxXLnIwKTtRQShuLDcyLFcuTk8sSThqLDEpO0NSKG4sNzMsVy5pQik7Q1Iobiw3NCxXLllzKTtDUihuLDc1LFcuZXEpOwpDUihuLDc2LFcucU0pO1FBKG4sNzksVy5rYyxBOVMsMyk7Q1Iobiw4MCxXLkokKTtCRyhuLDg1LFcudXEpfTsKbVl3PWZ1bmN0aW9uKG4sVyl7aWYoVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllcylmb3IodmFyIEQ9MDtEPFcudmlkZW9Gb3JtYXRDYXBhYmlsaXRpZXMubGVuZ3RoO0QrKylRQShuLDEsVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllc1tEXSxLRDEsMSk7aWYoVy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcylmb3IoRD0wO0Q8Vy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcy5sZW5ndGg7RCsrKVFBKG4sMixXLmF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzW0RdLE84TSwxKTtRQShuLDQsVy5wZXJQbGF5YmFja0F0dHJpYnV0ZXMsUDZTLDMpO0NSKG4sNSxXLmhkck1vZGVCaXRtYXNrKX07CnZhciBaODE9ZnVuY3Rpb24oKXtyZXR1cm4gZzdbSVsxMF1dKHRoaXMsNDEsODk3NSl9Owp2YXIgS0QxPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudmlkZW9Db2RlYyk7QkcobiwyLFcuZWZmaWNpZW50KTtDUihuLDMsVy5tYXhIZWlnaHQpO0NSKG4sNCxXLm1heFdpZHRoKTtDUihuLDExLFcubWF4RnJhbWVyYXRlKTtDUihuLDEyLFcubWF4Qml0cmF0ZUJwcyk7QkcobiwxNSxXLmlzMTBCaXRTdXBwb3J0ZWQpfSxPOE09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5hdWRpb0NvZGVjKTsKQ1IobiwyLFcubnVtQ2hhbm5lbHMpO0NSKG4sMyxXLm1heEJpdHJhdGVCcHMpO0NSKG4sNixXLnNwYXRpYWxDYXBhYmlsaXR5Qml0bWFzayl9Owp2YXIgVVloPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDUxLDIyNDksbixXKX07ClA2Uz1mdW5jdGlvbihuLFcpe2lmKFcuaXRhZ0RlbnlsaXN0KWZvcihsZXQgRD0wO0Q8Vy5pdGFnRGVueWxpc3QubGVuZ3RoO0QrKylDUihuLDEsVy5pdGFnRGVueWxpc3RbRF0pfTsKd009ZnVuY3Rpb24obixXKXtRQShuLDEsVy5jbGllbnRJbmZvLHk5dCwzKTtnLkZhKG4sMixXLmROKTtnLkZhKG4sMyxXLnBsYXliYWNrQ29va2llKTtnLkZhKG4sNCxXLkJ4KTtpZihXLnJxKWZvcih2YXIgRD0wO0Q8Vy5ycS5sZW5ndGg7RCsrKVFBKG4sNSxXLnJxW0RdLEVuMiwzKTtpZihXLnV0KWZvcihEPTA7RDxXLnV0Lmxlbmd0aDtEKyspQ1Iobiw2LFcudXRbRF0pO2cuUncobiw3LFcucEcpO1FBKG4sOCxXLnEkLGk4VSwzKX07CnVmTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLlN6KTtDUihuLDIsVy5SNyl9OwpvbnI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmNvZGU7RCE9PXZvaWQgMCYmKGo1KG4sOCksajUobixEPDwxXkQ+PjMxKSk7Zy5SdyhuLDIsVy5tZXNzYWdlKX07CmRZTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmNsaWVudFN0YXRlKTtRQShuLDIsVy5adSx1Zk0sMSl9OwppOFU9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLll0KTtRQShuLDIsVy5TaixvbnIsMyk7UUEobiwzLFcuY29sZFN0YXJ0SW5mbyxkWU0sMyl9OwpFbjI9ZnVuY3Rpb24obixXKXtDUihuLDEsVy50eXBlKTtnLkZhKG4sMixXLnZhbHVlKX07Cnk5dD1mdW5jdGlvbihuLFcpe2cuUncobiwxLFcuaGwpO2cuUncobiwxMixXLmRldmljZU1ha2UpO2cuUncobiwxMyxXLmRldmljZU1vZGVsKTtDUihuLDE2LFcuY2xpZW50TmFtZSk7Zy5SdyhuLDE3LFcuY2xpZW50VmVyc2lvbik7Zy5SdyhuLDE4LFcub3NOYW1lKTtnLlJ3KG4sMTksVy5vc1ZlcnNpb24pfTsKemoxPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5uYW1lKTtnLlJ3KG4sMixXLnZhbHVlKX07CmFmPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy51cmwpO2lmKFcuZTMpZm9yKGxldCBEPTA7RDxXLmUzLmxlbmd0aDtEKyspUUEobiwyLFcuZTNbRF0semoxLDMpO2cuRmEobiwzLFcucG9zdEJvZHkpO0JHKG4sNCxXLkVhKTtCRyhuLDYsVy5lOCl9OwpwT2k9ZnVuY3Rpb24obixXKXtnLkZhKG4sMixXLnZVKTtnLkZhKG4sNSxXLmVuY3J5cHRlZENsaWVudEtleSk7Zy5GYShuLDYsVy5pdik7Zy5GYShuLDcsVy5kZik7QkcobiwxMCxXLm13KTtCRyhuLDEzLFcuRkQpO0JHKG4sMTQsVy5EWSk7Zy5GYShuLDE2LFcud1MpO0JHKG4sMTcsVy55Sil9OwpsOHQ9ZnVuY3Rpb24obil7cmV0dXJue1dzOlBHKG4sMSksaHR0cFN0YXR1czpQRyhuLDIpLGJvZHk6eUEobiw0KX19OwpZZmk9ZnVuY3Rpb24obixXKXtnLlJ3KG4sMSxXLnRva2VuKX07ClRRTT1mdW5jdGlvbihuKXtyZXR1cm57dG9rZW46RXgobiwxKX19OwpqX1U9ZnVuY3Rpb24obil7Zm9yKHZhciBXPVtdLEQ7RD1FeChuLDEpOylXLnB1c2goRCk7cmV0dXJue3VybDpXLmxlbmd0aD9XOnZvaWQgMH19OwpuNz1mdW5jdGlvbihuKXtyZXR1cm57QWg6UEcobiwxKSx2eTpQRyhuLDIpfX07CkZEYj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2lmKFcuY0UpZm9yKHZhciBEPTA7RDxXLmNFLmxlbmd0aDtEKyspUUEobiwyLFcuY0VbRF0sTTQsMyk7aWYoVy5lVylmb3IoRD0wO0Q8Vy5lVy5sZW5ndGg7RCsrKVFBKG4sMyxXLmVXW0RdLFFyLDMpO2cuRmEobiw1LFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7aWYoVy5CaSlmb3IoRD0wO0Q8Vy5CaS5sZW5ndGg7RCsrKVFBKG4sNixXLkJpW0RdLEM2VSwzKTtpZihXLkdoKWZvcihEPTA7RDxXLkdoLmxlbmd0aDtEKyspUUEobiwxNixXLkdoW0RdLE00LDMpO2lmKFcuTSQpZm9yKEQ9MDtEPFcuTSQubGVuZ3RoO0QrKylRQShuLDE3LFcuTSRbRF0sTTQsMyk7aWYoVy5Fdilmb3IoRD0wO0Q8Vy5Fdi5sZW5ndGg7RCsrKVFBKG4sMTgsVy5FdltEXSxNNCwzKTtRQShuLDE5LFcubUgsd00sMyk7UUEobiwyMSxXLk15LFduLDMpO0NSKG4sMjIsVy51TSk7Q1IobiwyMyxXLnJHKTtpZihXLmJLKWZvcihEPTA7RDxXLmJLLmxlbmd0aDtEKyspUUEobiwKMjQsVy5iS1tEXSxXbiwzKTtnLkZhKG4sMjUsVy5kUyk7aWYoVy5qcilmb3IoRD0wO0Q8Vy5qci5sZW5ndGg7RCsrKVFBKG4sMUUzLFcuanJbRF0sQlF3LDMpfTsKQzZVPWZ1bmN0aW9uKG4sVyl7UUEobiwxLFcuZm9ybWF0SWQsTTQsMyk7Q1IobiwyLFcudkQpO0NSKG4sMyxXLnNlcXVlbmNlTnVtYmVyKTtRQShuLDQsVy5oeCxSZiwxKTtDUihuLDUsVy5TMCk7Q1Iobiw2LFcudTMpfTsKV249ZnVuY3Rpb24obixXKXtpZihXLmFEKWZvcihsZXQgRD0wO0Q8Vy5hRC5sZW5ndGg7RCsrKWcuUncobiwxLFcuYURbRF0pO2cuRmEobiwyLFcuYWRzQ29uZmlnKTtnLlJ3KG4sMyxXLkJmKTtDUihuLDQsVy5ESik7Q1Iobiw1LFcub3YpO2cuUncobiw2LFcuZDMpO2cuUncobiw3LFcuY3VlcG9pbnRJZCk7Q1Iobiw4LFcuczEpO2cuUncobiw5LFcudGlsZUNvbnRleHQpO0NSKG4sMTAsVy5zdGFydFRpbWVNcyk7Q1IobiwxMSxXLmR1cmF0aW9uTXMpfTsKQlF3PWZ1bmN0aW9uKG4sVyl7aWYoVy5jRSlmb3IodmFyIEQ9MDtEPFcuY0UubGVuZ3RoO0QrKylRQShuLDEsVy5jRVtEXSxNNCwzKTtpZihXLmVXKWZvcihEPTA7RDxXLmVXLmxlbmd0aDtEKyspUUEobiwyLFcuZVdbRF0sUXIsMyk7Zy5SdyhuLDMsVy5jbGlwSWQpfTsKZy5EVT1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2cuRmEobiwzLFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7UUEobiw1LFcubUgsd00sMyk7UUEobiw2LFcuTXksV24sMyl9Owp3T1o9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKX19OwpSalU9ZnVuY3Rpb24obixXKXtpZihXLk8zKWZvcihsZXQgRD0wO0Q8Vy5PMy5sZW5ndGg7RCsrKVFBKG4sMSxXLk8zW0RdLE02VSwzKX07ClFfMT1mdW5jdGlvbihuLFcpe1FBKG4sMTA0NyxXLmJMLFJqVSwzKX07Ck02VT1mdW5jdGlvbihuLFcpe2lmKFcualYpZm9yKHZhciBEPTA7RDxXLmpWLmxlbmd0aDtEKyspZy5GYShuLDEsVy5qVltEXSk7aWYoVy5yWClmb3IoRD0wO0Q8Vy5yWC5sZW5ndGg7RCsrKWcuRmEobiwyLFcuclhbRF0pfTsKbnl3PWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5jcG4pO0NSKG4sMixXLnNlcXVlbmNlTnVtYmVyKTtnLlJ3KG4sMyxXLnNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQpO2lmKFcuZGVjb2RlckluZm8pZm9yKHZhciBEPTA7RDxXLmRlY29kZXJJbmZvLmxlbmd0aDtEKyspUUEobiw2LFcuZGVjb2RlckluZm9bRF0sVjZyLDMpO2cuUncobiw5LFcucGxheWVyUmVzcG9uc2VDcG4pO0NSKG4sMTAsVy50cmFuc2l0aW9uU3RpdGNoVHlwZSk7Zy5SdyhuLDExLFcucW9lUGluZ1VybCk7Q1IobiwxMixXLnRpbWVzdGFtcE9mZnNldE1zZWNzKTtDUihuLDE1LFcucmVtb3RlQ29udHJvbE1vZGUpO2lmKFcucmVtb3RlQ29ubmVjdGVkRGV2aWNlcylmb3IoRD0wO0Q8Vy5yZW1vdGVDb25uZWN0ZWREZXZpY2VzLmxlbmd0aDtEKyspUUEobiwxNixXLnJlbW90ZUNvbm5lY3RlZERldmljZXNbRF0sYzlNLDMpO2cuRmEobiwxNyxXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0KTsKaWYoVy5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLmxlbmd0aDtEKyspZy5GYShuLDE5LFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhW0RdKTtpZihXLmRhaUN1ZVBvaW50RXZlbnRzKWZvcihEPTA7RDxXLmRhaUN1ZVBvaW50RXZlbnRzLmxlbmd0aDtEKyspUUEobiwyMCxXLmRhaUN1ZVBvaW50RXZlbnRzW0RdLGE4MiwzKTtpZihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YS5sZW5ndGg7RCsrKWcuRmEobiwyMSxXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGFbRF0pfTsKV0JqPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5pZGVudGlmaWVyKTtnLlJ3KG4sMixXLnRpbGVDb250ZXh0KX07Cmcudm49ZnVuY3Rpb24obil7dmFyIFc9e25zOm4uUmEsZWw6bi5ldmVudExhYmVsLGNwbjpuLmNsaWVudFBsYXliYWNrTm9uY2UsdmVyOjIsY210Om4uSihuLk4pLGZtdDpuLnZpZGVvRm9ybWF0LGZzOm4ualc/IjEiOiIwIixydDpuLkoobi53YSksYWRmb3JtYXQ6bi5hZEZvcm1hdCxjb250ZW50X3Y6bi5jb250ZW50VmlkZW9JZCxldXJpOm4uTWQsbGFjdDpuLk5kLGxpdmU6bi5UUSxjbDooOTUxNzc5MTA0KS50b1N0cmluZygpLG1vczpuLlJ0LHN0YXRlOm4ucGxheWVyU3RhdGUsdm9sdW1lOm4uZ1R9O24uc3Vic2NyaWJlZCYmKFcuc3Vic2NyaWJlZD0iMSIpO09iamVjdC5hc3NpZ24oVyxuLlkkKTtuLkQ9PT0iYWxsIj9PYmplY3QuYXNzaWduKFcsbi55RSk6bi5EPT09Im9uY2UiJiZuLlcmJk9iamVjdC5hc3NpZ24oVyxuLnlFKTtuLmF1dG9wbGF5JiYoVy5hdXRvcGxheT0iMSIpO24uTEImJihXLnNhdXRvcGxheT0iMSIpO24uQ3UmJihXLmRuaT0iMSIpOyFuLlgmJm4uSEomJihXLmVwbT0KRGMxW24uSEpdKTtuLmlzRmluYWwmJihXWyJmaW5hbCJdPSIxIik7bi5udSYmKFcuc3BsYXk9IjEiKTtuLm9EJiYoVy5kZWxheT1uLm9EKTtuLkR0JiYoVy5obD1uLkR0KTtuLnJlZ2lvbiYmKFcuY3I9bi5yZWdpb24pO24udXNlckdlbmRlckFnZSYmKFcudWdhPW4udXNlckdlbmRlckFnZSk7bi51c2VyQWdlIT09dm9pZCAwJiZuLkdDJiYoVy51Z2E9bi5HQytuLnVzZXJBZ2UpO24uZSQhPT12b2lkIDAmJihXLmxlbj1uLkoobi5lJCkpOyghbi5YfHxuLkJWKSYmbi5leHBlcmltZW50SWRzLmxlbmd0aD4wJiYoVy5mZXhwPW4uZXhwZXJpbWVudElkcy50b1N0cmluZygpKTtuLkshPT1udWxsJiYoVy5ydG49bi5KKG4uSykpO24uUzkmJihXLmZlYXR1cmU9bi5TOSk7bi5pNSYmKFcuY3RybD1uLmk1KTtuLlVLJiYoVy55dHI9bi5VSyk7bi52SiYmKFcuYWZtdD1uLnZKKTtuLm9mZmxpbmVEb3dubG9hZFVzZXJDaG9pY2UmJihXLk9EVUM9bi5vZmZsaW5lRG93bmxvYWRVc2VyQ2hvaWNlKTtuLlkmJgooVy5saW89bi5KKG4uWSkpO24uWD8oVy5pZHBqPW4uRTUsVy5sZHBqPW4uUXIsbi5kZWxheVRocmVzaG9sZE1ldCYmKFcuZHRtPSIxIiksbi5PIT1udWxsJiYoVy5ydGk9bi5KKG4uTykpLG4uRkwmJihXLmFsZD1uLkZMKSxuLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbiYmKFcuY2xpbz1uLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbikpOm4uYWRUeXBlIT09dm9pZCAwJiYoVy5hdD1uLmFkVHlwZSk7bi5mQiYmKG4uV3x8bi5YKSYmKFcuc2l6ZT1uLmZCKTtuLlcmJm4uVi5sZW5ndGgmJihXLnBic3R5bGU9bi5WLmpvaW4oIiwiKSk7bi5IRCE9bnVsbCYmKG4uV3x8bi5YKSYmKFcuaW52aWV3PW4uSihuLkhEKSk7bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4mJihXLmhiX2RhdGE9bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4pO24uWCYmKFcudm9sdW1lPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQudm9sdW1lKSksVy5zdD1iSihuLGcuaV8obi5zZWdtZW50cywKRD0+RC5zdGFydFRpbWUpKSxXLmV0PWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQuZW5kVGltZSkpLGcub00obi5zZWdtZW50cyxEPT5ELnBsYXliYWNrUmF0ZSE9PTEpJiYoVy5yYXRlPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQucGxheWJhY2tSYXRlKSkpLGcub00obi5zZWdtZW50cyxEPT5ELk4hPT0iLSIpJiYoVy5hbHM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuTikuam9pbigiLCIpKSxnLm9NKG4uc2VnbWVudHMsRD0+RC5wcmV2aW91c2x5RW5kZWQpJiYoVy5wZT1nLmlfKG4uc2VnbWVudHMsRD0+YCR7K0QucHJldmlvdXNseUVuZGVkfWApLmpvaW4oIiwiKSkpOwpXLm11dGVkPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQubXV0ZWQ/MTowKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELnZpc2liaWxpdHlTdGF0ZSE9PTApJiYoVy52aXM9YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC52aXNpYmlsaXR5U3RhdGUpKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELmNvbm5lY3Rpb25UeXBlIT09MCkmJihXLmNvbm49YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5jb25uZWN0aW9uVHlwZSkpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuVyE9PTApJiYoVy5ibG89YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5XKSkpOwpnLm9NKG4uc2VnbWVudHMsRD0+ISFELmopJiYoVy5ibG89Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuaikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW4pJiYoVy5jYnM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuY29tcG9zaXRlTGl2ZVN0YXR1c1Rva2VuKS5qb2luKCIsIikpOwpnLm9NKG4uc2VnbWVudHMsRD0+RC5KIT09Ii0iKSYmKFcuY2M9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuSikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuY2xpcElkIT09Ii0iKSYmKFcuY2xpcGlkPWcuaV8obi5zZWdtZW50cyxEPT5ELmNsaXBJZCkuam9pbigiLCIpKTsKaWYoZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5hdWRpb0lkKSl7bGV0IEQ9ImF1IjsKbi5XJiYoRD0iYXVfZCIpO1dbRF09Zy5pXyhuLnNlZ21lbnRzLGI9PmIuYXVkaW9JZCkuam9pbigiLCIpfWcuakgoKSYmbi50dyYmKFcuY3R0PW4udHcsVy5jdHR5cGU9bi5QWCxXLm1keF9lbnZpcm9ubWVudD1uLm1keEVudmlyb25tZW50KTsKbi55dyYmKFcuZXR5cGU9bi5iZCE9PXZvaWQgMD9uLmJkOjApO24uRkYmJihXLnVvbz1uLkZGKTtuLmxpdmluZ1Jvb21BcHBNb2RlJiZuLmxpdmluZ1Jvb21BcHBNb2RlIT09IkxJVklOR19ST09NX0FQUF9NT0RFX1VOU1BFQ0lGSUVEIiYmKFcuY2xyYW09YlR3W24ubGl2aW5nUm9vbUFwcE1vZGVdfHxuLmxpdmluZ1Jvb21BcHBNb2RlKTtuLmo/dnlNKG4sVyk6KFcuZG9jaWQ9bi52aWRlb0lkLFcucmVmZXJyZXI9bi5yZWZlcnJlcixXLmVpPW4uZXZlbnRJZCxXLm9mPW4uUkgsVy5vc2lkPW4ub3NpZCxXLnZtPW4udmlkZW9NZXRhZGF0YSxuLmFkUXVlcnlJZCYmKFcuYXFpPW4uYWRRdWVyeUlkKSxuLmF1dG9uYXYmJihXLmF1dG9uYXY9IjEiKSxuLnBsYXlsaXN0SWQmJihXLmxpc3Q9bi5wbGF5bGlzdElkKSxuLkFSJiYoVy5zc3J0PSIxIiksbi5IcSYmKFcudXB0PW4uSHEpKTtuLlcmJihuLmVtYmVkc1JjdCYmKFcucmN0PW4uZW1iZWRzUmN0KSxuLmVtYmVkc1JjdG4mJihXLnJjdG49Cm4uZW1iZWRzUmN0biksbi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4mJihXLmNsaW89bi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4pKTtuLmhvc3RDcG4mJihXLmhvc3RfY3BuPW4uaG9zdENwbik7cmV0dXJuIFd9OwphODI9ZnVuY3Rpb24obixXKXtRQShuLDEsVy5pZGVudGlmaWVyLFdCaiwzKTtpZihXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMpZm9yKHZhciBEPTA7RDxXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMubGVuZ3RoO0QrKylRQShuLDIsVy5yZWNlaXZlZEN1ZVBvaW50RXZlbnRzW0RdLGtGdywxKTtpZihXLnJlY2VpdmVkQWRFdmVudHMpZm9yKEQ9MDtEPFcucmVjZWl2ZWRBZEV2ZW50cy5sZW5ndGg7RCsrKVFBKG4sMyxXLnJlY2VpdmVkQWRFdmVudHNbRF0saHN3LDMpfTsKa0Z3PWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Q1IobiwyLFcuc2VnbWVudFN0YXJ0VGltZU1zKTtDUihuLDMsVy5jdWVwb2ludEV2ZW50KTtDUihuLDQsVy5hZEJyZWFrRnVsZmlsbG1lbnRTdGF0ZSk7Q1Iobiw1LFcudHJhY2tUeXBlKTtDUihuLDYsVy5zZWdtZW50TnVtYmVyKTtDUihuLDcsVy5ub0Fkc1N0aXRjaGVkUmVhc29uKX07Cmhzdz1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmVsYXBzZWRUaW1lTXMpO2cuUncobiwyLFcuYWRDcG4pO0NSKG4sMyxXLmFkQWRkZWRMYXRlbmN5VGltZU1zKTtnLlJ3KG4sNCxXLmFkVmlkZW9JZCk7Q1Iobiw1LFcuYWRTdGFydFRpbWVNcyk7Q1Iobiw2LFcuYWREdXJhdGlvbk1zKTtDUihuLDcsVy5hZFJlamVjdGlvblJlYXNvbik7Q1Iobiw4LFcudGltZUVsYXBzZWRTaW5jZUN1ZXBvaW50TXMpfTsKVjZyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Zy5SdyhuLDMsVy52aWRlb0RlY29kZXJOYW1lKX07CmM5TT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmRldmljZUludGVyZmFjZSk7Zy5SdyhuLDIsVy5kZXZpY2VWZXJzaW9uKTtCRyhuLDMsVy5pc1NsZWVwaW5nKX07CkxCVT1mdW5jdGlvbihuKXtyZXR1cm57ZmY6aWgobiwxLHhjYiksdHJhY2tUeXBlOlBHKG4sMiksUFA6UEcobiwzKSx0aW1lUmFuZ2U6aWgobiw0LGMkKSx0aWxlQ29udGV4dDpFeChuLDUpLGJ4OlBHKG4sNiksRzM6UEcobiw3KSxvcHBvcnR1bml0eUlkOkV4KG4sOCksc2VyaWFsaXplZFByZWZldGNoQ29udGV4dDp5QShuLDkpfX07CnhjYj1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLGV2ZW50OlBHKG4sMiksTUs6WncobiwzKSxUeTpadyhuLDQpLHVUOkV4KG4sNSksaWRlbnRpZmllcjpFeChuLDYpLEFDOlBHKG4sOSl9fTsKa2Q9ZnVuY3Rpb24obil7cmV0dXJue2ZpcnN0OlBHKG4sMSksSjc6UEcobiwyKX19Owplc2o9ZnVuY3Rpb24obil7cmV0dXJue2JpdHJhdGU6UEcobiw2KSx3aWR0aDpQRyhuLDcpLGhlaWdodDpQRyhuLDgpLGZwczpQRyhuLDI1KSxhdmVyYWdlQml0cmF0ZTpQRyhuLDMxKSxhdWRpb1NhbXBsZVJhdGU6UEcobiw0NSksYXVkaW9DaGFubmVsczpQRyhuLDQ2KSxxdWFsaXR5T3JkaW5hbDpQRyhuLDU2KX19Owpocz1mdW5jdGlvbihuKXtyZXR1cm57aXRhZ0RlbnlsaXN0OnVoKG4sMSl9fTsKZ3kxPWZ1bmN0aW9uKG4pe3JldHVybntZazpVeChuLDEpLFhXOlBHKG4sMiksc1E6VXgobiwzKSxOVDpadyhuLDQpLGNyeXB0b1BlcmlvZEluZGV4OlBHKG4sNSksWlg6UEcobiw2KSxMRzpQRyhuLDcpfX07CkdGQz1mdW5jdGlvbihuKXtyZXR1cm57SzU6UEcobiwxKSxpdGFnOkV4KG4sMyksUXQ6aWgobiw0LFh4dCksbG10OlBHKG4sNSksQ2U6UEcobiw3KSx4dGFnczpFeChuLDE1KSxuNjppaChuLDIzLHEwYiksWHQ6aWgobiwzNCxocyl9fTsKWHh0PWZ1bmN0aW9uKG4pe3JldHVybntpdjp5QShuLDUpLE5FOlV4KG4sNyl9fTsKdHBiPWZ1bmN0aW9uKG4pe3JldHVybntnazp1aChuLDIpLHZpZGVvSWQ6RXgobiwzKSxRbzpQRyhuLDQpfX07CnEwYj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDIpfX07CiRjeD1mdW5jdGlvbihuKXtyZXR1cm57d2Y6UEcobiwzKSx2NzpQRyhuLDQpLEtOOlBHKG4sNSksWjM6VXgobiw4KSxXWjpQRyhuLDEwKSxITzpQRyhuLDEyKSxVUjpQRyhuLDEzKSxzUjpQRyhuLDE0KSx1MDpQRyhuLDE1KSxMejpQRyhuLDE2KX19Owp4ZD1mdW5jdGlvbihuKXtyZXR1cm57dGFyZ2V0QXVkaW9SZWFkYWhlYWRNczpQRyhuLDEpLHRhcmdldFZpZGVvUmVhZGFoZWFkTXM6UEcobiwyKSxiYWNrb2ZmVGltZU1zOlBHKG4sNCkscGxheWJhY2tDb29raWU6eUEobiw3KSx2aWRlb0lkOkV4KG4sOCl9fTsKTDc9ZnVuY3Rpb24obil7cmV0dXJue21pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjOlBHKG4sMSksbWluUmVhZGFoZWFkTXM6UEcobiwyKX19OwplST1mdW5jdGlvbihuKXtyZXR1cm57c3RhcnRNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwxLEw3KSxyZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwyLEw3KX19OwpyS3I9ZnVuY3Rpb24obil7cmV0dXJue2xhYmVsOkV4KG4sMSksdGV4dDpFeChuLDIpfX07CnNoWj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDEpLGZvcm1hdElkOmloKG4sMixWciksZGVidWdJbmZvOm93KG4sMyxyS3IpfX07CmdQPWZ1bmN0aW9uKG4pe3JldHVybntKMDpvdyhuLDEsc2haKX19OwpObXQ9ZnVuY3Rpb24obil7cmV0dXJue0ZrOlBHKG4sMSksZno6UEcobiwyKSxtaW5SZWFkYWhlYWRNczpQRyhuLDMpfX07ClhOPWZ1bmN0aW9uKG4pe3JldHVybntwdjpQRyhuLDEpLGl0ZW1zOm93KG4sMixObXQpLFBuOlBHKG4sMyl9fTsKcHhpPWZ1bmN0aW9uKG4pe3JldHVybnt0b2tlbjpFeChuLDEpLHZpZGVvSWQ6RXgobiwyKX19OwpZMFU9ZnVuY3Rpb24obil7cmV0dXJue2V3OlBHKG4sMSl9fTsKcUc9ZnVuY3Rpb24obil7cmV0dXJue1FxOkV4KG4sMSksYWN0aW9uOlBHKG4sMiksQ3Y6aWgobiwzLFkwVSl9fTsKR0U9ZnVuY3Rpb24obil7cmV0dXJue0pKOlBHKG4sMSksUUI6UEcobiwyKSxzZWVrU291cmNlOlBHKG4sMyl9fTsKSFRaPWZ1bmN0aW9uKG4pe3JldHVybnt6SDpQRyhuLDEpLHg6UEcobiwyKSx5OlBHKG4sMyksd2lkdGg6UEcobiw0KSxoZWlnaHQ6UEcobiw1KX19OwpmbGo9ZnVuY3Rpb24obil7cmV0dXJue3JlZ2lvbjppaChuLDEsSFRaKSx1MTppaChuLDIsYyQpLGNwbjpFeChuLDUpLGxvZ2dpbmdNZXRhZGF0YTp5QShuLDYpLGJUOmloKG4sNyxjJCksTlI6UEcobiw4KSxxUjpVeChuLDkpfX07CkpLaj1mdW5jdGlvbihuKXtyZXR1cm57UjE6b3cobiwxLGZsail9fTsKSWxqPWZ1bmN0aW9uKG4pe3JldHVybnttZXRhZGF0YTpvdyhuLDEsSktqKSx0cmFja1R5cGU6UEcobiwyKX19Owp0cz1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLHNjb3BlOlBHKG4sMiksdmFsdWU6eUEobiwzKSxzZW5kQnlEZWZhdWx0OlV4KG4sNCksd3JpdGVQb2xpY3k6UEcobiw1KX19OwpTMHc9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Zy5SdyhuLDIsVy51cmwpfTsKQUtyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuaWQpO2cuUncobiwyLFcubmFtZSk7Q1IobiwzLFcucmVzb3VyY2VJZCk7Q1Iobiw0LFcubGluZSk7Q1Iobiw1LFcuY29sdW1uKX07Cm1jcj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmlkKTtDUihuLDIsVy50aW1lc3RhbXBNcyk7Q1IobiwzLFcuc3RhY2tJZCl9OwpLQk09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Q1IobiwyLFcuZnJhbWVJZCk7Q1IobiwzLFcucGFyZW50SWQpfTsKT1RiPWZ1bmN0aW9uKG4sVyl7aWYoVy5yZXNvdXJjZXMpZm9yKHZhciBEPTA7RDxXLnJlc291cmNlcy5sZW5ndGg7RCsrKVFBKG4sMSxXLnJlc291cmNlc1tEXSxTMHcsMyk7aWYoVy5mcmFtZXMpZm9yKEQ9MDtEPFcuZnJhbWVzLmxlbmd0aDtEKyspUUEobiwyLFcuZnJhbWVzW0RdLEFLciwzKTtpZihXLnNhbXBsZXMpZm9yKEQ9MDtEPFcuc2FtcGxlcy5sZW5ndGg7RCsrKVFBKG4sMyxXLnNhbXBsZXNbRF0sbWNyLDEpO2lmKFcuc3RhY2tzKWZvcihEPTA7RDxXLnN0YWNrcy5sZW5ndGg7RCsrKVFBKG4sNCxXLnN0YWNrc1tEXSxLQk0sMSl9OwpQa0M9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpfTsKWlRVPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKVWNpPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuTXcpfTsKeUtDPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKRXkyPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5CQil9OwppVHg9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpO0NSKG4sMixXLlM3KX07CnVMMj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLnR5cGUpO3ZhciBEPVcucUw7aWYoRCE9PXZvaWQgMCl7dmFyIGI9bmV3IEFycmF5QnVmZmVyKDgpOyhuZXcgRmxvYXQ2NEFycmF5KGIpKVswXT1EO0Q9bmV3IFVpbnQzMkFycmF5KGIpO2I9RFswXTtEPURbMV07aWYoYiE9PXZvaWQgMCYmRCE9PXZvaWQgMCl7ajUobiwxNyk7VDYobiw4KTtmb3IobGV0IHY9MDt2PDQ7disrKW4udmlldy5zZXRVaW50OChuLnBvcyxiJjI1NSksYj4+Pj04LG4ucG9zKz0xO2I9RDtmb3IoRD0wO0Q8NDtEKyspbi52aWV3LnNldFVpbnQ4KG4ucG9zLGImMjU1KSxiPj4+PTgsbi5wb3MrPTF9fVFBKG4sMyxXLmE5LFBrQywzKTtRQShuLDQsVy5seCxaVFUsMSk7UUEobiw1LFcucTAsVWNpLDEpO1FBKG4sNixXLmlzVHlwZVN1cHBvcnRlZCx5S0MsMSk7UUEobiw3LFcueTgsRXkyLDMpO1FBKG4sOCxXLkpMLGlUeCwzKX07Cm95aD1mdW5jdGlvbihuKXtyZXR1cm57ZGF0YTp5QShuLDEpfX07CmRjdD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19Owp6czE9ZnVuY3Rpb24obil7cmV0dXJue0hTOlp3KG4sMSl9fTsKbGxyPWZ1bmN0aW9uKG4pe3JldHVybntwbGFjZWhvbGRlcjpVeChuLDEpfX07ClRtcj1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpqaE09ZnVuY3Rpb24obil7cmV0dXJue2RhdGE6eUEobiwxKSxrazpQRyhuLDIpfX07CkNreD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpCbWo9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKSxxTDpadyhuLDIpLFFKOlp3KG4sMyksVG86Wncobiw0KSxpbml0OmloKG4sNSxDa3gpLGE5OmloKG4sNixveWgpLGx4OmloKG4sNyxkY3QpLHEwOmloKG4sOCx6czEpLGlzVHlwZVN1cHBvcnRlZDppaChuLDksbGxyKSx5ODppaChuLDEwLFRtciksSkw6aWgobiwxMSxqaE0pfX07Cnd4Wj1mdW5jdGlvbihuKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhGQlUpLmluY2x1ZGVzKG4pfTsKTXBDPWZ1bmN0aW9uKG4peyRkPTI1OTJFMyoobnx8MSl9OwpyUD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci12b2x1bWUiKXx8e30sVz1uLnZvbHVtZTtyZXR1cm57dm9sdW1lOmlzTmFOKFcpPzEwMDpnLkZmKE1hdGguZmxvb3IoVyksMCwxMDApLG11dGVkOiEhbi5tdXRlZH19Owpzbj1mdW5jdGlvbihuKXtnLlBCKCJ5dC1wbGF5ZXItYmFuZHdpZHRoIixuLDI1OTJFMyl9OwpwNz1mdW5jdGlvbihuPSRkKXtpZihuPjAmJiEoVVAoKT4oMCxnLlIpKCktbioxRTMpKXJldHVybiAwO249Zy5aSSgieXQtcGxheWVyLXF1YWxpdHkiKTtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXtpZihuPU5HW25dLG4+MClyZXR1cm4gbn1lbHNlIGlmKG4gaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIG4ucXVhbGl0eTtyZXR1cm4gMH07CllkPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLXByb3hpbWEtcHJlZiIpO3JldHVybiBuPT1udWxsP251bGw6bn07ClJzeD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci1xdWFsaXR5Iik7aWYobiBpbnN0YW5jZW9mIE9iamVjdCYmbi5xdWFsaXR5JiZuLnByZXZpb3VzUXVhbGl0eSl7aWYobi5xdWFsaXR5Pm4ucHJldmlvdXNRdWFsaXR5KXJldHVybiAxO2lmKG4ucXVhbGl0eTxuLnByZXZpb3VzUXVhbGl0eSlyZXR1cm4tMX1yZXR1cm4gMH07CkhuPWZ1bmN0aW9uKCl7dmFyIG49e3ZhbHVlczp7fSxGWTp7fX07dHJ5e2xldCBXPUpTT04ucGFyc2UoSlNPTi5wYXJzZSh3aW5kb3cubG9jYWxTdG9yYWdlWyJ5dC1wbGF5ZXItbWVtb3J5Il0pLmRhdGEpO24udmFsdWVzPVcudmFsdWVzO24uaGFsZkxpdmVzPVcuaGFsZkxpdmVzfWNhdGNoe31yZXR1cm4gbn07CmY3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiKXx8e319OwpRaHc9ZnVuY3Rpb24obj0hMSl7aWYobil7bj1mNygpO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSlXLmluZGV4T2YoIjEiKSE9PTAmJmRlbGV0ZSBuW1ddO2cuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLG4sMjU5MkUzKX1lbHNlIHRyeXtsZXQgVz1PUC5xYigpLEQ9T1AuQnAoKTtXJiZXLnJlbW92ZSgieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcCIpO0QmJkQucmVtb3ZlKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwIil9Y2F0Y2goVyl7fX07CkpzPWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAtYWN0aXZlLXNldCIpPz9bXX07ClZwQz1mdW5jdGlvbihuPSExKXtuPyhuPUpzKCkuZmlsdGVyKFc9Plcuc3RhcnRzV2l0aCgiMSIpKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLG4sMjU5MkUzKSk6Zy5QQigieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcC1hY3RpdmUtc2V0IixbXSwyNTkyRTMpfTsKSU89ZnVuY3Rpb24oKXtyZXR1cm4hIWcuWkkoInl0LXBsYXllci1oZWFkZXJzLXJlYWRhYmxlIil9OwpnLlNJPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLWNhcHRpb24tbGFuZ3VhZ2UtcHJlZmVyZW5jZXMiKTtyZXR1cm4gbj9uOltdfTsKQXM9ZnVuY3Rpb24oKXt2YXIgbj1nLlpJKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIpLFc9bmV3IE1hcDtpZihuKWZvcihsZXQgW0QsYl1vZiBPYmplY3QuZW50cmllcyhuKSlXLnNldChELGIpO3JldHVybiBXfTsKbTU9ZnVuY3Rpb24oKXtyZXR1cm4gZy5aSSgieXQtcGxheWVyLXZvaWNlLWJvb3N0Iik/P3ZvaWQgMH07Cks3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1hdWRpby1xdWFsaXR5LXNldHRpbmciKT8/Mn07ClpVPWZ1bmN0aW9uKCl7dHJ5e2xldCBuPXdpbmRvdy5uYXZpZ2F0b3I7aWYobi5nZXRBdXRvcGxheVBvbGljeSYmdHlwZW9mIG4uZ2V0QXV0b3BsYXlQb2xpY3k9PT0iZnVuY3Rpb24iKXtsZXQgVz1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGcuT24uV0MpLEQ7RD1XLmxlbmd0aD4wJiZXWzBdP24uZ2V0QXV0b3BsYXlQb2xpY3koV1swXSk6bi5nZXRBdXRvcGxheVBvbGljeSgibWVkaWFlbGVtZW50Iik7aWYoUG5bRF0pcmV0dXJuIFBuW0RdfX1jYXRjaChuKXt9cmV0dXJuIkFVVE9QTEFZX0JST1dTRVJfUE9MSUNZX1VOU1BFQ0lGSUVEIn07ClVuPWZ1bmN0aW9uKG4pe3JldHVybiBuLlBYfHxuLkd1fHxuLm11dGVkQXV0b3BsYXl9Owp5dz1mdW5jdGlvbihuLFcpe3JldHVybiBVbihuKT9XIT09MSYmVyE9PTImJlchPT0wPyJBVVRPUExBWV9TVEFUVVNfVU5BVkFJTEFCTEUiOm4uc1o/IkFVVE9QTEFZX1NUQVRVU19CTE9DS0VEIjoiQVVUT1BMQVlfU1RBVFVTX09DQ1VSUkVEIjoiQVVUT1BMQVlfU1RBVFVTX05PVF9BVFRFTVBURUQifTsKZy5Fbj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5HKCk7bi50aGlyZFBhcnR5fHwobi50aGlyZFBhcnR5PXt9KTtuLnRoaXJkUGFydHk9ey4uLm4udGhpcmRQYXJ0eSxlbWJlZFVybDpiLmxvYWRlclVybH07Yi5hbmNlc3Rvck9yaWdpbnMmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGFuY2VzdG9yT3JpZ2luczpiLmFuY2VzdG9yT3JpZ2luc30pO2IuZUshPW51bGwmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LHZpc2liaWxpdHlGcmFjdGlvbjpOdW1iZXIoYi5lSyl9KTtiLkxLJiYobi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dD17Li4ubi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dCx2aXNpYmlsaXR5RnJhY3Rpb25Tb3VyY2U6Yi5MS30pO24udGhpcmRQYXJ0eS5lbWJlZGRlZFBsYXllckNvbnRleHQ9CnsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGF1dG9wbGF5QnJvd3NlclBvbGljeTpaVSgpLGF1dG9wbGF5SW50ZW5kZWQ6VW4oVyksYXV0b3BsYXlTdGF0dXM6eXcoVyxEKX19OwppSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5zcGxpdCgiLCIpKXtpZighRCljb250aW51ZTsobj1ELnN0YXJ0c1dpdGgoIiEiKSkmJihEPUQuc3Vic3RyaW5nKDEpKTtsZXQgYj1ELnNwbGl0KCItIik7Yi5sZW5ndGg8M3x8Vy5wdXNoKHtoajpiWzBdLHBsYXRmb3JtOmJbMV0sZGV2aWNlVmVyc2lvbjpiWzJdLEVzOm59KX1yZXR1cm4gV307CmFseD1mdW5jdGlvbihuKXtyZXR1cm4gaUoobikubWFwKCh7aGo6VyxkZXZpY2VWZXJzaW9uOkQsRXM6Yn0pPT4oe2RldmljZUludGVyZmFjZTpjS01bdUpbV11dfHwwLGRldmljZVZlcnNpb246RHx8IiIsaXNTbGVlcGluZzpifSkpfTsKb089ZnVuY3Rpb24obixXLEQ9ITEsYj0iIil7IW4mJkQmJmcuR3EoRXJyb3IoYFBsYXllciBVUkwgdmFsaWRhdG9yIGRldGVjdHMgaW52YWxpZCB1cmwuICR7Yn06ICR7V31gKSk7cmV0dXJuIG59Owp6RT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcmJlcudGVzdChuKXx8ZFAmJkQmJkQudGVzdChuKT8hMDohMX07ClRFPWZ1bmN0aW9uKG4pe3JldHVybihuPWxKJiZsSi5leGVjKG4pKT9uWzBdOiIifTsKZ1g9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sbkV3LFdoWiksbiwhMSwiVHJ1c3RlZCBTdHJlYW0gVVJMIil9OwpnLmpJPWZ1bmN0aW9uKG4pe3JldHVybiBvTyh6RShuLEQ1VSxiS1opLG4sITEsIlRydXN0ZWQgSW1hZ2UgVVJMIil9OwpDNz1mdW5jdGlvbihuKXtyZXR1cm4gb08oekUobix2RWgsbnVsbCksbiwhMSwiVHJ1c3RlZCBQcm9tb3RlZCBWaWRlbyBEb21haW4gVVJMIil9OwpoQWk9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sazdyLG51bGwpLG4sITEsIkRybSBMaWNlbnNvciBVUkwiKX07CkJuPWZ1bmN0aW9uKG4sVz0hMSl7cmV0dXJuIG9PKHpFKG4seDVyLExodCksbixXLCJDYXB0aW9ucyBVUkwiKX07CmVBPWZ1bmN0aW9uKG4pe249bmV3IGcuVWoobik7eU4obixkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCk7RWoobixkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSk7ZG9jdW1lbnQubG9jYXRpb24ucG9ydCYmaXIobixkb2N1bWVudC5sb2NhdGlvbi5wb3J0KTtyZXR1cm4gbi50b1N0cmluZygpfTsKRk49ZnVuY3Rpb24obil7bj1uZXcgZy5VaihuKTt5TihuLGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKTtyZXR1cm4gbi50b1N0cmluZygpfTsKZUFaPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5uYW1lLFsyXTpuLmlkLFszXTpuLmlzRGVmYXVsdCxbNF06bi5pc0F1dG9EdWJiZWR9fTsKTUc9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB3UChuWzFdLG5bMl0sblszXSxuWzRdKX07ClJPPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5sYW5ndWFnZUNvZGUsWzJdOm4ubGFuZ3VhZ2VOYW1lLFszXTpuLmtpbmQsWzRdOm4ubmFtZSxbNV06bi5kaXNwbGF5TmFtZSxbNl06bi5pZCxbN106bi54dGFncyxbOF06bi5OLFs5XTpuLmlzVHJhbnNsYXRlYWJsZSxbMTBdOm4udXJsLFsxMV06bi52c3NJZCxbMTJdOm4uaXNEZWZhdWx0LFsxM106bi50cmFuc2xhdGlvbkxhbmd1YWdlLFsxNF06bi5jYXB0aW9uSWR9fTsKVnc9ZnVuY3Rpb24obil7dmFyIFc9bmV3IGcuUXcoe2xhbmd1YWdlQ29kZTpuWzFdLGxhbmd1YWdlTmFtZTpuWzJdLGtpbmQ6blszXSxuYW1lOm5bNF0saWQ6bls2XSxpc19zZXJ2YWJsZTpuWzhdLGlzX3RyYW5zbGF0ZWFibGU6bls5XSx1cmw6blsxMF0sdnNzX2lkOm5bMTFdLGlzX2RlZmF1bHQ6blsxMl0seHRhZ3M6bls3XSxjYXB0aW9uSWQ6blsxNF19KTtXLmRpc3BsYXlOYW1lPW5bNV07Vy50cmFuc2xhdGlvbkxhbmd1YWdlPW5bMTNdO3JldHVybiBXfTsKZy5jbj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRpc3BsYXlOYW1lKVcucHVzaChuLmRpc3BsYXlOYW1lKTtlbHNle2xldCBEPW4ubGFuZ3VhZ2VOYW1lfHwiIjtXLnB1c2goRCk7bi5raW5kPT09ImFzciImJkQuaW5kZXhPZigiKCIpPT09LTEmJlcucHVzaCgiIChBdXRvbWF0aWMgQ2FwdGlvbnMpIik7bi5uYW1lJiZXLnB1c2goYCAtICR7bi5uYW1lfWApfW4udHJhbnNsYXRpb25MYW5ndWFnZSYmVy5wdXNoKGAgPj4gJHtuLnRyYW5zbGF0aW9uTGFuZ3VhZ2UubGFuZ3VhZ2VOYW1lfWApO3JldHVybiBXLmpvaW4oIiIpfTsKZy5hTz1mdW5jdGlvbihuKXtyZXR1cm4gbi50cmFuc2xhdGlvbkxhbmd1YWdlP24udHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGU6bi5sYW5ndWFnZUNvZGV9OwpnLm5nPWZ1bmN0aW9uKG4pe3ZhciBXPW4udnNzSWQ7bi50cmFuc2xhdGlvbkxhbmd1YWdlJiZXJiYoVz1gdCR7V30uJHtnLmFPKG4pfWApO3JldHVybiBXfTsKZ0V3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uVyxEPW4uTixiPW4uWDtyZXR1cm57WzFdOm4uY2FwdGlvbnNJbml0aWFsU3RhdGUsWzJdOm4uSixbM106bi5jYXB0aW9uVHJhY2tzLm1hcCh2PT5STyh2KSksCls0XTpXP1JPKFcpOm51bGwsWzVdOkQ/Uk8oRCk6bnVsbCxbNl06bi5pZCxbN106bi5qLFs4XTpuLlYsWzldOmVBWihuLmtaKSxbMTBdOmI/Uk8oYik6bnVsbCxbMTFdOm4ueHRhZ3N9fTsKRGM9ZnVuY3Rpb24obil7dmFyIFc9bls0XSxEPW5bNV0sYj1uWzEwXSx2PW5ldyBXQShuWzZdLE1HKG5bOV0pKTt2LmNhcHRpb25zSW5pdGlhbFN0YXRlPW5bMV07di5jYXB0aW9uVHJhY2tzPW5bM10ubWFwKGs9PlZ3KGspKTsKdi5KPW5bMl07di5XPVc/VncoVyk6bnVsbDt2Lk49RD9WdyhEKTpudWxsO3Yuaj1uWzddO3YuVj1uWzhdO3YuWD1iP1Z3KGIpOm51bGw7di54dGFncz1uWzExXTtyZXR1cm4gdn07CnZBPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBuZXcgYjMoTkdbbl18fDAsTkdbV118fDAsRCxiKX07CmtKPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5KLFsyXTpuLk4sWzNdOm4uVyxbNF06bi5yZWFzb24sWzVdOm4uTnN9fTsKWExTPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgYjMoblsxXSxuWzJdLG5bM10sbls0XSxuWzVdKX07CnhKPWZ1bmN0aW9uKG4pe2lmKGhUJiZuLk5zKXJldHVybiExO3ZhciBXPU5HLmF1dG87cmV0dXJuIG4uSj09PVcmJm4uTj09PVd9OwplSj1mdW5jdGlvbihuKXtyZXR1cm4gTGdbbi5OfHxuLkpdfHwiYXV0byJ9OwpnRj1mdW5jdGlvbihuLFcpe1c9TkdbV107cmV0dXJuIG4uSjw9VyYmKCFuLk58fG4uTj49Vyl9OwpYcD1mdW5jdGlvbihuKXtyZXR1cm4hIW5bIjEiXT8ubGVuZ3RofHwhIW5bIjFoIl0/Lmxlbmd0aHx8ISFuWyIxZSJdPy5sZW5ndGh9OwpxZD1mdW5jdGlvbihuKXtyZXR1cm4gbj09PSIxInx8bj09PSIxaCJ8fG49PT0iMWUifTsKTmQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9ITE7aWYobi5KKXJldHVybiBuLko7dmFyIEw9e30sZT1uZXcgU2V0LEc9e307aWYoR18oYikpe2Zvcih2YXIgciBpbiBiLk4pe2lmKCFiLk4uaGFzT3duUHJvcGVydHkocikpY29udGludWU7bj1iLk5bcl07R1tuLmluZm8uSUJdPVtuLmluZm9dfXJldHVybiBHfXI9dFQoVyxiLEwpO2lmKFcuSil7KHg9WHAocikpfHwoVy5OLm5vQXYxUmVhc29uPSJub0Zvcm1hdCIpO3ZhciBOPUQuWT8iZGlzYWJsZUF2MUZvclNlc3Npb24iOiIiO04mJihXLk4ubm9BdjFSZWFzb249Tik7dih7bm9BdjFSZWFzb246Vy5OLm5vQXYxUmVhc29ufSl9ayYmdih7YWZ0c3J0OiRKKHIpfSk7Tj17fTt2YXIgSD0iIjtmb3IobGV0IEEgb2YgT2JqZWN0LmtleXMocikpe2xldCB5PUE7Zm9yKGxldCBUIG9mIHJbeV0pe2xldCB6PVQuaXRhZyxDPXJGKHksVCxXKTtpZihOLmhhc093blByb3BlcnR5KEMpKXtOW0NdPT09ITA/R1t5XS5wdXNoKFQpOkxbel09Ck5bQ107Y29udGludWV9bGV0IFE9c0QoVyxULEQsYi5pc0xpdmUsZSk7USE9PSEwPyhoLmFkZCh5KSxMW3pdPVEsVy5KJiZULk1XKCkmJihIKz1gOyR7en07JHtRfWApLFE9PT0iZGlzYWJsZXZwOWhmciImJihOW0NdPSJkaXNhYmxldnA5aGZyIikpOihHW3ldPUdbeV18fFtdLEdbeV0ucHVzaChUKSxOW0NdPSEwKX19Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj1ILHYoe25vQXYxUmVhc29uOlcuTi5ub0F2MVJlYXNvbn0pKTtrJiZ2KHtiZmZsdDokSihHKX0pO2ZvcihsZXQgQSBpbiBHKXtpZighRy5oYXNPd25Qcm9wZXJ0eShBKSljb250aW51ZTtiPUE7R1tiXSYmR1tiXVswXS5mWSgpJiYoaD1HW2JdLmxlbmd0aCxHW2JdPUdbYl0sVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9MCYmKGg9R1tiXS5sZW5ndGgsdih7bm9BdjFGbXQ6ImZpbHRlclZwOVVsdGxvdyIsY29kZWM6Yn0pKSxHW2JdPXEyQyhXLEdbYl0sTCksVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9CjAmJihoPUdbYl0ubGVuZ3RoLHYoe25vQXYxRm10OiJmaWx0ZXJRdWFsaXRpZXMiLGNvZGVjOmJ9KSksR1tiXT1HN1UoR1tiXSxMKSxXLkomJnFkKGIpJiZoPjAmJkdbYl0ubGVuZ3RoPD0wJiZ2KHtub0F2MUZtdDoiZmlsdGVySGZyIixjb2RlYzpifSkpfWsmJk9iamVjdC5rZXlzKEwpLmxlbmd0aD4wJiZ2KHtyanI6Zy5UQyhMKX0pO2ZvcihsZXQgQSBvZiBlLnZhbHVlcygpKShMPUQuVy5nZXQoQSkpJiYtLUwuZzE7ayYmdih7YWZ0Zmx0OiRKKEcpfSk7Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj0iZmlsdGVyIix2KHtub0F2MVJlYXNvbjpXLk4ubm9BdjFSZWFzb259KSk7bi5KPWcublQoRyxBPT4hIUEubGVuZ3RoKTsKcmV0dXJuIG4uSn07CklEaD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1XLld8fCEhdixMPXgmJlcuTEI/azp2b2lkIDAsZT1uZXcgU2V0LEc9TmQobixXLEQsYixrLHgsZSk7Yi5YKCkmJihHPXRnaChELEcsdix4LGssVykseCYmayh7ZW5mbHQ6JEooRyl9KSk7Vy55RT0kNXIoRyxXKTt2PUx0PT4hIUdbTHRdOwp2YXIgcj1ySGkoVyk7RD1bXTtmb3IodmFyIE4gb2YgT2JqZWN0LnZhbHVlcyhHKSlOPy5sZW5ndGgmJk5bMF0uZVMoKSYmRC5wdXNoKC4uLk4pO2lmKEdfKGIpKXJldHVybiBrPWcubF8oT2JqZWN0LnZhbHVlcyhHKSxMdD0+ISFMdC5sZW5ndGgmJiEhTHRbMF0uYXVkaW8pLHg9Zy5sXyhPYmplY3QudmFsdWVzKEcpLEx0PT4hIUx0Lmxlbmd0aCYmISFMdFswXS52aWRlbyksayYmeHx8Zy5wJCgpLGcuSDAobmV3IHBnKHgsayxMLEQpKTsKTj1HLmE7dmFyIEg9ITE7Vy5IaSYmclswXSE9PSJhIiYmc1diKE4pJiYoci51bnNoaWZ0KCJhIiksSD0hMCk7eCYmKGsoe2F1ZGlvUHJlZk9yZGVyOnIuam9pbigiXyIpfSksayh7cHJlZmVySGlnaFF1YWxpdHlBdWRpbzpXLkhpfSksayh7Zm9yY2VkQWFjRm9ySHFhOkh9KSk7Tj1bXTtpZihXLnZYKXtyPWcuRU0ocix2KTtIPW5ldyBTZXQ7Zm9yKHZhciBBIG9mIHIpe3ZhciB5PUdbQV07bGV0IEx0PW5ldyBTZXQ7Zm9yKHZhciBUIG9mIHkpaWYoeT1ULmtaPy5pZClILmhhcyh5KT9MdC5oYXMoeSkmJk4ucHVzaChUKTooTHQuYWRkKHkpLEguYWRkKHkpLE4ucHVzaChUKSl9aWYoTi5sZW5ndGg9PT0wKXtpZihyLmxlbmd0aD09PTApcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbclswXV19fWVsc2V7Tj1nLmxfKHIsdik7aWYoIU4pcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbTl19R1siOSJdJiZHLmgmJmIuelcmJiFXLkZGJiYoeCYmayh7ZGx0dnA5OjF9KSwKZGVsZXRlIEdbIjkiXSk7aWYoaCl7eCYmayh7YmZzZmx0OiRKKEcpLGJmc2ZsdGE6WUoobil9KTtXLkR0P24uTj1ORFMoZSxuLk4pOm4uTi5jbGVhcigpO3gmJmsoe2Jmc2ZsdGI6WUoobil9KTtmb3IodmFyIHogaW4gRyl7aWYoIUcuaGFzT3duUHJvcGVydHkoeikpY29udGludWU7aD16O2lmKCEoaD09PSJmInx8Vy54ZD09PTAmJnBMai5oYXMoaCkpKWZvcih2YXIgQyBvZiBHW2hdKVcuRHQ/WTJTKGgsQyxuLk4pOkhLaShuLGgsQyl9eCYmayh7YWZ0c2ZsdDpZSihuKX0pfXo9R1siMWgiXT8iMWgiOiIxIjtuPUdbIjloIl0/IjloIjoiOSI7aD1HW3pdO2U9R1siMiJdO0E9R1tuXTtoJiZoLmxlbmd0aCYmKFcuTi5oaWdoZXN0QXYxUmVzb2x1dGlvbj1oW2gubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtBJiZBLmxlbmd0aCYmKFcuTi5oaWdoZXN0VnA5UmVzb2x1dGlvbj1BW0EubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtDPVtdO1Q9W107aWYoVy55dyYmZSlDPQplLFQ9WyIyIl07ZWxzZSBpZihXLk1kJiZoKUM9aCxUPVt6XSxrKHtmb3JjZUF2MTp6fSk7ZWxzZSBpZihXLkQmJiFXLmJ2KXtUPWZEdyhiKT9HWyIxaCJdfHxHWyI5aCJdP1siMWgiLCI5aCJdOlsiOSIsImgiXTpbIjEiLCI5IiwiaCJdO3gmJmsoe25ld2h5YnByZWY6VC5qb2luKCIuIil9KTtmb3IodmFyIFEgb2YgVClDPUMuY29uY2F0KEdbUV0pLmZpbHRlcihMdD0+THQpfWVsc2UgVy5uUz4wJiZBJiZoJiYoVD1beiwKbl0sQz1oLmNvbmNhdChBKS5maWx0ZXIoTHQ9Pkx0KSk7CmlmKEMubGVuZ3RoJiYhVy5idil7SEEoQyxUKTtpZih4KXt4PVtdO2Zvcih2YXIgViBvZiBDKXgucHVzaChWLml0YWcpO2soe2hiZGZtdDp4LmpvaW4oIi4iKX0pfXJldHVybiBnLkgwKG5ldyBwZyhDLE4sTCxEKSl9Vj1KSHIoVyk7Vj1nLmxfKFYsdik7aWYoIVYpe2lmKEdbel0pcmV0dXJuIGs9R1t6XSxIQShrKSxnLkgwKG5ldyBwZyhrLE4sTCxEKSk7eCYmayh7bm92aWRlbzoxfSk7cmV0dXJuIGcucCQoKX1WIT09IjEiJiZWIT09IjFoInx8IUdbbl18fChRPWZnKEdbVl0pLHY9ZmcoR1tuXSksdj5RP1Y9bjooUT12PT09USx2PUpUKEdbbl0pLHo9SlQoR1tWXSksIVF8fCF2fHxXLllaJiZ6fHwoVj1uKSkpO1Y9PT0iOSImJkcuaCYmZmcoRy5oKT5mZyhHWyI5Il0pJiYoVj0iaCIpO1cuQlYmJmIuaXNMaXZlJiZWPT09IigiJiZHLkgmJmZnKEdbIigiXSk8MTQ0MCYmKFY9IkgiKTt4JiZrKHt2Zm1seTpJcihWKX0pO1c9R1tWXTtpZighVy5sZW5ndGgpcmV0dXJuIHgmJmsoe25vdmZtbHk6SXIoVil9KSwKZy5wJCgpO0hBKFcpO3JldHVybiBnLkgwKG5ldyBwZyhXLE4sTCxEKSl9OwpTMmI9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4PSExKXtpZihXLkU1JiZoJiZoLmxlbmd0aD4xJiYhKFcublM+MHx8Vy5EKSl7bGV0IHI9Vy5XfHwhIXYsTj1yJiZXLkxCP2s6dm9pZCAwLEg9dFQoVyxiKSxBPVtdLHk9W10sVD17fTtmb3IobGV0IHo9MDt6PGgubGVuZ3RoO3orKyl7dmFyIEw9aFt6XSxlPWIuSi5nZXQoTCk7aWYoZSYmZS5pbmZvKXt2YXIgRz1lLmluZm87ZT1HLklCO2lmKHNEKFcsRyxELGIuaXNMaXZlKSl7TD1HLmZZKCk/QTp5O0c9SFtlXTtmb3IobGV0IEMgb2YgRylHPXJGKGUsQyxXKSxULmhhc093blByb3BlcnR5KEcpP1RbR109PT0hMCYmTC5wdXNoKEMpOnNEKFcsQyxELGIuaXNMaXZlKSYmKEwucHVzaChDKSxUW0ddPSEwKX1lbHNlIHImJmsoe29wZnU6TH0pfX1pZihBLmxlbmd0aCYmeS5sZW5ndGgpcmV0dXJuIHImJmsoe29wZm06QVswXS5pdGFnKyIsIit5WzBdLml0YWd9KSxnLkgwKG5ldyBwZyhBLHksTikpfXJldHVybiBJRGgobixXLEQsYix2LGsseCl9OwpZSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5OLmtleXMoKSl7bGV0IGI9bi5OLmdldChEKTtXLnB1c2goYCR7RH1fJHtiLm1heFdpZHRofV8ke2IubWF4SGVpZ2h0fWApfXJldHVybiBXLmpvaW4oIi4iKX07CkhLaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9RC52aWRlbz8uZnBzfHwwLHY9YCR7V31fJHtifWAsaz0hIUQuYXVkaW8saD1uLk4uZ2V0KHYpLHg9bi5OLmdldCh2KSxMPSEhRC5hdWRpbzt4JiYoTHx8IUwmJkQudmlkZW8/LmhlaWdodCYmeC5tYXhIZWlnaHQmJngubWF4SGVpZ2h0Pj1ELnZpZGVvPy5oZWlnaHQpfHwoeD1ELml0YWcsVz1oP2g6e2l0YWc6eCxJQjpXLGVTOmt9LGs/Vy5udW1DaGFubmVscz1ELmF1ZGlvLm51bUNoYW5uZWxzOihrPUQudmlkZW8sVy5tYXhXaWR0aD1rPy53aWR0aCxXLm1heEhlaWdodD1rPy5oZWlnaHQsVy5tYXhGcmFtZXJhdGU9YixXLm1heEJpdHJhdGVCcHM9RC5Ocyo4LFcuejk9az8uaXNIZHIoKSksbi5OLnNldCh2LFcpKX07CiQ1cj1mdW5jdGlvbihuLFcpe3ZhciBEPSEoIW4ubSYmIW4uTSksYj0hKCFuLm1hYzMmJiFuLk1BQzMpLHY9ISghbi5tZWFjMyYmIW4uTUVBQzMpO249ISghbi5pJiYhbi5JKTtXLlFyPW47cmV0dXJuIER8fGJ8fHZ8fG59OwpKVD1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLml0YWcmJkFIUy5oYXMoVy5pdGFnKSlyZXR1cm4hMDtyZXR1cm4hMX07CnNXYj1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLmF1ZGlvLmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giKXJldHVybiEwO3JldHVybiExfTsKSXI9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIioiOnJldHVybiJ2OGUiO2Nhc2UgIigiOnJldHVybiJ2OWUiO2Nhc2UgIihoIjpyZXR1cm4idjloZSI7ZGVmYXVsdDpyZXR1cm4gbn19OwpyRj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQuVEM/YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59XyR7ISFXLnZpZGVvPy5YfWA6YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59YH07CiRKPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKXtpZighbi5oYXNPd25Qcm9wZXJ0eShEKSljb250aW51ZTtsZXQgYj1EO1cucHVzaChJcihiKSk7Zm9yKGxldCB2IG9mIG5bYl0pVy5wdXNoKHYuaXRhZyl9cmV0dXJuIFcuam9pbigiLiIpfTsKdGdoPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17fSx4PXt9O2cuYV8oVywoTCxlKT0+e0w9TC5maWx0ZXIoRz0+e3ZhciByPUcuaXRhZztpZighRy5jb250ZW50UHJvdGVjdGlvbilyZXR1cm4geFtyXT0ibm9lbmMiLCExO2lmKGsuSEQmJkcuSUI9PT0iKGgiJiZrLmJkKXJldHVybiB4W3JdPSJsaWNoZHIiLCExO2lmKCFuLlgmJkcuSUI9PT0iMWUiKXJldHVybiB4W3JdPSJub2F2MWVuYyIsITE7aWYoRy5JQj09PSIoInx8Ry5JQj09PSIoaCIpe2lmKG4uSiYmRCYmRC5mbGF2b3I9PT0id2lkZXZpbmUiKXt2YXIgTj1HLm1pbWVUeXBlKyI7IGV4cGVyaW1lbnRhbD1hbGxvd2VkIjsoTj0hIUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiYhIUQuSltOXSl8fCh4W3JdPUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdPyJ1bnNwdCI6Im5vZmx2Iik7cmV0dXJuIE59aWYoIVNKKG4sQVQuQ1JZUFRPQkxPQ0tGT1JNQVQpJiYhbi5UQ3x8bi50dylyZXR1cm4geFtyXT1uLnR3PwoiZGlzdnAiOiJ2cHN1YiIsITF9cmV0dXJuIEQmJkcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiZELkpbRy5taW1lVHlwZV0/ITA6KHhbcl09RD9HLmNvbnRlbnRQcm90ZWN0aW9uW0QuZmxhdm9yXT8idW5zcHQiOiJub2ZsdiI6Im5vc3lzIiwhMSl9KTsKTC5sZW5ndGgmJihoW2VdPUwpfSk7CmImJk9iamVjdC5lbnRyaWVzKHgpLmxlbmd0aCYmdih7cmpyOmcuVEMoeCl9KTtpZihrLkopZm9yKGxldCBMIG9mIE9iamVjdC52YWx1ZXMoVykpaWYoTClmb3IobGV0IGUgb2YgTClXPXhbZS5pdGFnXSxlLk1XKCkmJlchPT12b2lkIDAmJihrLk5bZS5pdGFnXT1XKTtyZXR1cm4gaH07Ckc3VT1mdW5jdGlvbihuLFcpe3ZhciBEPWcudV8obiwoYix2KT0+di52aWRlby5KKCk/TWF0aC5taW4oYix2LnZpZGVvLndpZHRoKTpiLEluZmluaXR5KTsKRDxJbmZpbml0eSYmKG49bi5maWx0ZXIoYj0+e2lmKGIudmlkZW8uSigpfHxiLnZpZGVvLndpZHRoPEQpcmV0dXJuITA7V1tiLml0YWddPSJoZnJmaXJzdCI7cmV0dXJuITF9KSk7CmxiKCkmJihuPW4uZmlsdGVyKGI9PntpZihiLml0YWchPT0iMjk5IilyZXR1cm4hMDtXW2IuaXRhZ109InBzM2hmcjEwODAiO3JldHVybiExfSkpOwpyZXR1cm4gbn07CnEyQz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFc9Vy5maWx0ZXIoYj0+e2lmKGIudmlkZW8ucXVhbGl0eU9yZGluYWw8PW4ud2EpcmV0dXJuITA7RFtiLml0YWddPSJtYXhxdWFsaXR5IjtyZXR1cm4hMX0pfTsKdFQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2ZvcihsZXQgdiBpbiBXLk4pe2lmKCFXLk4uaGFzT3duUHJvcGVydHkodikpY29udGludWU7bGV0IGs9Vy5OW3ZdLmluZm87aWYobi5ZJiZrLnZpZGVvJiZrLnZpZGVvLnF1YWxpdHlPcmRpbmFsPG4uWSl7RCYmKERbay5pdGFnXT1gbWluJHtuLll9YCk7Y29udGludWV9bGV0IGg9ay5JQjtiW2hdPWJbaF18fFtdO2JbaF0ucHVzaChrKX1mb3IobGV0IHYgb2YgT2JqZWN0LmtleXMoYikpSEEoYlt2XSk7cmV0dXJuIGJ9OwpmZz1mdW5jdGlvbihuKXtyZXR1cm4gZy51XyhuLChXLEQpPT5NYXRoLm1heChXLEQudmlkZW8ucXVhbGl0eU9yZGluYWwpLDApfTsKc0Q9ZnVuY3Rpb24obixXLEQsYj0hMSx2PW5ldyBTZXQpe2lmKFcuSUI9PT0iIilyZXR1cm4idW5rbiI7aWYoKFcuaXRhZz09PSIzMDQifHxXLml0YWc9PT0iMjY2IikmJm4udHcpcmV0dXJuImJsazJraGZyIjtpZihuLksmJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5LKXJldHVybmBtYXgke24uS31gO2lmKG4uQ3UmJlcuSUI9PT0iaCImJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MClyZXR1cm4iYmxraGlnaDI2NCI7aWYoVy5JQj09PSIoaCImJiFELkspcmV0dXJuImVuY2hkciI7aWYoYiYmbUYoVykmJiFuLm51KXJldHVybiJibGs1MWxpdmUiO2lmKChXLklCPT09Ik1BQzMifHxXLklCPT09Im1hYzMiKSYmIW4uailyZXR1cm4iYmxrYWMzIjtpZigoVy5JQj09PSJNRUFDMyJ8fFcuSUI9PT0ibWVhYzMiKSYmIW4uVilyZXR1cm4iYmxrZWFjMyI7aWYoVy5JQj09PSJNInx8Vy5JQj09PSJtIilyZXR1cm4iYmxrYWFjNTEiO2lmKChXLklCPT09InNvInx8ClcuSUI9PT0ic2EiKSYmIW4uY0opcmV0dXJuImJsa2FtYiI7aWYoIW4uSEQmJktnKFcpJiYoIUQuWHx8Vy5JQiE9PSIxZSIpKXJldHVybiJjYmMiO2lmKCFELlgmJktnKFcpJiZXLklCPT09IjFlIilyZXR1cm4iY2JjYXYxIjtpZigoVy5JQj09PSJpInx8Vy5JQj09PSJJIikmJiFuLlZRKXJldHVybiJibGtpYW1mIjtpZihuLlJhJiZXLmF1ZGlvPy5OPT09ITApcmV0dXJuImJsa3ZiY2FiciI7aWYobi5UQyYmVy52aWRlbz8uWD09PSExKXJldHVybiJibGttdHZjYWJyIjtpZihuLnZKJiYoVy5JQj09PSIxInx8Vy5JQj09PSIxaCJ8fEQuWCYmVy5JQj09PSIxZSIpJiZXLnZpZGVvPy5xdWFsaXR5T3JkaW5hbCYmVy52aWRlbz8ucXVhbGl0eU9yZGluYWw+bi52SilyZXR1cm4iYXYxY2FwIjtiPUQuVy5nZXQoVy5JQik7aWYoIW4ualcmJmImJmIuZzE+MClyZXR1cm4gdi5hZGQoVy5JQiksImJ5ZXJyIjtpZihXLnZpZGVvPy5KKCkpe2lmKCFELmJkJiYhU0ooRCxBVC5GUkFNRVJBVEUpKXJldHVybiJjYXBIZnIiOwppZihuLlBYJiZXLnZpZGVvLnF1YWxpdHlPcmRpbmFsPj00MzIwKXJldHVybiJibGs4a2hmciI7aWYoVy5YKCkmJm4uVTUmJlcuY29udGVudFByb3RlY3Rpb24mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+PTE0NDApcmV0dXJuImRpc2FibGV2cDloZnIifWlmKG4uTnMmJlcuTnM+bi5OcylyZXR1cm4icmF0ZWNhcCI7aWYobi5TJD4wJiZXLmZZKCkmJlcudmlkZW8uaGVpZ2h0Pm4uUyQpcmV0dXJuIm12aGNhcCI7bj1PRChELFcpO3JldHVybiBuIT09ITA/bjohMH07CkhBPWZ1bmN0aW9uKG4sVz1bXSl7Zy5iZihuLChELGIpPT57dmFyIHY9Yi5Ocy1ELk5zO2lmKCFELmZZKCl8fCFiLmZZKCkpcmV0dXJuIHY7dmFyIGs9Yi52aWRlby5oZWlnaHQqYi52aWRlby53aWR0aC1ELnZpZGVvLmhlaWdodCpELnZpZGVvLndpZHRoOyFrJiZXJiZXLmxlbmd0aD4wJiYoRD1XLmluZGV4T2YoRC5JQikrMSxiPVcuaW5kZXhPZihiLklCKSsxLGs9RD09PTB8fGI9PT0wP2J8fC0xOkQtYik7a3x8KGs9dik7cmV0dXJuIGt9KX07ClBBPWZ1bmN0aW9uKG4sVyl7aWYoVz5uLngkKCkpbi5zZWdtZW50cz1bXTtlbHNle3ZhciBEPWcuejQobi5zZWdtZW50cyxiPT5iLmokPj1XLG4pOwpEPjAmJm4uc2VnbWVudHMuc3BsaWNlKDAsRCl9fTsKWmM9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K24uTik7bi5OKz0xO3JldHVybiBXfTsKVUQ9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQxNihuLm9mZnNldCtuLk4pO24uTis9MjtyZXR1cm4gV307CnlMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRJbnQzMihuLm9mZnNldCtuLk4pO24uTis9NDtyZXR1cm4gV307CkVEPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50MzIobi5vZmZzZXQrbi5OKTtuLk4rPTQ7cmV0dXJuIFd9OwppMz1mdW5jdGlvbihuKXt2YXIgVz1uLmRhdGE7dmFyIEQ9bi5vZmZzZXQrbi5OO1c9Vy5nZXRVaW50MzIoRCkqNDI5NDk2NzI5NitXLmdldFVpbnQzMihEKzQpO24uTis9ODtyZXR1cm4gV307CnUzPWZ1bmN0aW9uKG4sVz1OYU4pe2lmKGlzTmFOKFcpKXZhciBEPW4uc2l6ZTtlbHNlIGZvcihEPW4uTjtEPG4uc2l6ZSYmbi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K0QpIT09VzspKytEO1c9bmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLk4rbi5kYXRhLmJ5dGVPZmZzZXQsRC1uLk4pO24uTj1NYXRoLm1pbihEKzEsbi5zaXplKTtyZXR1cm4gcFIoVyl9Owpvcj1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLmRhdGEuYnl0ZU9mZnNldCxuLnNpemUpfTsKZEY9ZnVuY3Rpb24obixXLEQsYil7KG5ldyBVaW50OEFycmF5KG4uZGF0YS5idWZmZXIsbi5vZmZzZXQsYikpLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixEK1cuYnl0ZU9mZnNldCxiKSk7bi5vZmZzZXQrPWJ9Owp6Xz1mdW5jdGlvbihuLFcpe3JldHVybiBOdW1iZXIobi5kYXRhW1ddKXx8MH07ClRfPWZ1bmN0aW9uKG4pe3JldHVybiBuLmRhdGFbIkN1ZXBvaW50LVR5cGUiXT9uZXcgZy5sMygtKE51bWJlcihuLmRhdGFbIkN1ZXBvaW50LVBsYXloZWFkLVRpbWUtU2VjIl0pfHwwKSxOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1Ub3RhbC1EdXJhdGlvbi1TZWMiXSl8fDAsbi5kYXRhWyJDdWVwb2ludC1Db250ZXh0Il0sbi5kYXRhWyJDdWVwb2ludC1JZGVudGlmaWVyIl18fCIiLG01altuLmRhdGFbIkN1ZXBvaW50LUV2ZW50Il18fCIiXXx8InVua25vd24iLChOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1QbGF5aGVhZC1UaW1lLVNlYyJdKXx8MCkqMUUzKTpudWxsfTsKako9ZnVuY3Rpb24obil7cmV0dXJuIE51bWJlcihuLmRhdGFbIlN0YXJ0LU1lZGlhLVRpbWUtVXMiXSkvMUU2fHwwfTsKQ2c9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tSWQiXT9uLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKTpbXX07CkJBPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXSlmb3IobGV0IEQgb2Ygbi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1EdXJhdGlvbi1VcyJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSkpVy5wdXNoKChOdW1iZXIoRCl8fDApLzFFNik7cmV0dXJuIFd9OwpGcD1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LUZyYW1lLUluZGV4Il0pZm9yKGxldCBEIG9mIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tU3RhcnQtRnJhbWUtSW5kZXgiXS5zcGxpdCgiLCIpLnNsaWNlKDAsLTEpKVcucHVzaChOdW1iZXIoRCl8fDApO3JldHVybiBXfTsKd0Y9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1UaW1lLVdpdGhpbi1BZC1VcyJdKWZvcihsZXQgRCBvZiBuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LVRpbWUtV2l0aGluLUFkLVVzIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKSlXLnB1c2goKE51bWJlcihEKXx8MCkvMUU2KTtyZXR1cm4gV307CmcuTWQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdP24uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdOiIifTsKZy5Scj1mdW5jdGlvbihuKXtzd2l0Y2gobi5kYXRhWyJJcy1BZC1CcmVhay1GaW5pc2hlZCJdKXtjYXNlICJ0cnVlIjpyZXR1cm4gMTtjYXNlICJmYWxzZSI6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19OwpRTD1mdW5jdGlvbihuKXt2YXIgVz17fTtuPW4uc3BsaXQoIlxyXG4iKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKyl7aWYobltEXS5sZW5ndGg9PT0wKXJldHVybiBXO2xldCBiPW5bRF0ubWF0Y2goLyhbXjpdKyk6XHMrKFtcU1xzXSspLyk7YiE9bnVsbCYmKFdbYlsxXV09YlsyXSl9cmV0dXJuIG51bGx9OwpnLm5zPWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vz1hcihiLnR5cGUpP1crODpXK2Iuc2l6ZX1yZXR1cm4gbnVsbH07Cld3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTk1Mjg2ODQ1Mik7bj1nLm5zKG4sMCwxOTUzNjU4MjIyKTtpZihEJiZuKXtELnNraXAoMSk7dmFyIGI9WmMoRCk8PDE2fFVEKEQpO0Quc2tpcCg0KTtiJjEmJkQuc2tpcCg4KTtiJjImJkQuc2tpcCg0KTtpZihiJjgpe2I9RC5OO3ZhciB2PUVEKEQpO0QuZGF0YS5zZXRVaW50MzIoRC5vZmZzZXQrYixXPjE/TWF0aC5jZWlsKHYqVyk6TWF0aC5mbG9vcih2KlcpKX1uLnNraXAoMSk7RD1aYyhuKTw8MTZ8VUQobik7aWYoRCYyNTYpe2I9RCYxO3Y9RCY0O3ZhciBrPUQmNTEyLGg9RCYxMDI0LHg9RCYyMDQ4O0Q9RUQobik7YiYmbi5za2lwKDQpO3YmJm4uc2tpcCg0KTtiPShrPzQ6MCkrKGg/NDowKSsoeD80OjApO2Zvcih2PTA7djxEO3YrKylrPW4uTixoPUVEKG4pLG4uZGF0YS5zZXRVaW50MzIobi5vZmZzZXQrayxXPjE/TWF0aC5jZWlsKGgqVyk6TWF0aC5mbG9vcihoKlcpKSxuLnNraXAoYil9fX07ClZMPWZ1bmN0aW9uKG4sVyl7aWYobi5ieXRlTGVuZ3RoLVc8OClyZXR1cm4hMTt2YXIgRD1uLmdldFVpbnQzMihXKTtpZihEPDh8fG4uYnl0ZUxlbmd0aC1XPEQpcmV0dXJuITE7Zm9yKEQ9NDtEPDg7RCsrKXtsZXQgYj1uLmdldEludDgoVytEKTtpZihiPDQ4fHxiPjEyMilyZXR1cm4hMX1yZXR1cm4hMH07CmNBPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRVaW50MzIoVyksYj1uLmdldFVpbnQzMihXKzQpO3JldHVybiBuZXcgRF8obixXLEQsYil9OwpnLmJMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50OChuLmRhdGFPZmZzZXQpPzIwOjEyO3JldHVybiBuLmRhdGEuZ2V0VWludDMyKG4uZGF0YU9mZnNldCtXKX07CnZ3PWZ1bmN0aW9uKG4pe249bmV3IERhdGFWaWV3KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpO3JldHVybihuPWcubnMobiwwLDE4MzY0NzY1MTYpKT9nLmJMKG4pOk5hTn07Cmt4PWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vys9Yi5zaXplfXJldHVybiBudWxsfTsKYXI9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0xNzAxMDgyMjI3fHxuPT09MTgzNjAxOTU1OHx8bj09PTE4MzYwMTk1NzR8fG49PT0xODM1Mjk3MTIxfHxuPT09MTgzNTYyNjA4Nnx8bj09PTE5MzcwMDcyMTJ8fG49PT0xOTUzNjUzMDk0fHxuPT09MTk1MzY1MzA5OXx8bj09PTE4MzY0NzU3Njh9OwpLaDI9ZnVuY3Rpb24obil7dmFyIFc9Zy5ucyhuLDAsMTkzNzAxMTU1Nik7aWYoIVcpcmV0dXJuIG51bGw7Vz1reChuLFcuZGF0YU9mZnNldCs4LDE2MzUxNDg1OTMpfHxreChuLFcuZGF0YU9mZnNldCs4LDE2MzUxMzU1MzcpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPWt4KG4sVy5kYXRhT2Zmc2V0Kzc4LDE5MzY5OTUxNzIpLGI9a3gobixXLmRhdGFPZmZzZXQrNzgsMTkzNzEyNjI0NCk7aWYoIWIpcmV0dXJuIG51bGw7Vz1udWxsO2lmKEQpc3dpdGNoKEQuc2tpcCg0KSxaYyhEKSl7ZGVmYXVsdDpXPTA7YnJlYWs7Y2FzZSAxOlc9MjticmVhaztjYXNlIDI6Vz0xO2JyZWFrO2Nhc2UgMzpXPTI1NX12YXIgdj1EPW51bGwsaz1udWxsO2lmKGI9a3gobixiLmRhdGFPZmZzZXQsMTg4NjU0NzgxOCkpe2xldCBoPWt4KG4sYi5kYXRhT2Zmc2V0LDE4ODY1NDYwMjApLHg9a3gobixiLmRhdGFPZmZzZXQsMjAzNzY3MzMyOCk7aWYoIXgmJih4PWt4KG4sYi5kYXRhT2Zmc2V0LDE4MzYyNzk5MjApLAoheCkpcmV0dXJuIG51bGw7aCYmKGguc2tpcCg0KSxEPXlMKGgpLzY1NTM2LGs9eUwoaCkvNjU1MzYsdj15TChoKS82NTUzNik7bj1vcih4KTtuPW5ldyBEYXRhVmlldyhuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQrOCxuLmJ5dGVMZW5ndGgtOCk7cmV0dXJuIG5ldyBoWShXLEQsayx2LG4pfXJldHVybiBudWxsfTsKZy54eD1mdW5jdGlvbihuKXtpZihuLmRhdGEuZ2V0VWludDgobi5kYXRhT2Zmc2V0KSl7dmFyIFc9bi5kYXRhO249bi5kYXRhT2Zmc2V0KzQ7Vz1XLmdldFVpbnQzMihuKSo0Mjk0OTY3Mjk2K1cuZ2V0VWludDMyKG4rNCl9ZWxzZSBXPW4uZGF0YS5nZXRVaW50MzIobi5kYXRhT2Zmc2V0KzQpO3JldHVybiBXfTsKTHM9ZnVuY3Rpb24obil7bj1uZXcgRF8obi5kYXRhLG4ub2Zmc2V0LG4uc2l6ZSxuLnR5cGUsbi5KKTt2YXIgVz1aYyhuKTtuLnNraXAoNyk7dmFyIEQ9RUQobik7aWYoVz09PTApe1c9RUQobik7dmFyIGI9RUQobil9ZWxzZSBXPWkzKG4pLGI9aTMobik7bi5za2lwKDIpO3ZhciB2PVVEKG4pLGs9W10saD1bXTtmb3IobGV0IHg9MDt4PHY7eCsrKXtsZXQgTD1FRChuKTtrLnB1c2goTCk7aC5wdXNoKEVEKG4pKTtuLnNraXAoNCl9cmV0dXJue3RpbWVzY2FsZTpELGY4OlcsTm86YixIczprLHFnOmh9fTsKZy5lUD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wLGI9W107VkwobixEKTspe2xldCB2PWNBKG4sRCk7di50eXBlPT09VyYmYi5wdXNoKHYpO0Q9YXIodi50eXBlKT9EKzg6RCt2LnNpemV9cmV0dXJuIGJ9OwpnQT1mdW5jdGlvbihuKXtuLnNraXAoNCk7cmV0dXJue1d6OnUzKG4sMCksdmFsdWU6dTMobiwwKSx0aW1lc2NhbGU6RUQobiksbzc6RUQobiksZXZlbnREdXJhdGlvbjpFRChuKSxpZDpFRChuKSxadzp1MyhuKSxvZmZzZXQ6bi5vZmZzZXR9fTsKZy5xaz1mdW5jdGlvbihuKXt2YXIgVz1reChuLDAsMTcwMTY3MTc4Myk7aWYoIVcpcmV0dXJuIG51bGw7dmFyIEQ9Z0EoVyksYj1ELld6O0Q9UUwoRC5adyk7aWYobj1reChuLFcub2Zmc2V0K1cuc2l6ZSwxNzAxNjcxNzgzKSlpZihuPWdBKG4pLG49UUwobi5adyksRCYmbilmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobikpRFt2XT1uW3ZdO3JldHVybiBEP25ldyBYNShELGIpOm51bGx9OwpHaj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1reChuLDAsVyk7RDspe3ZhciBiPUQ7Yi50eXBlPTE5MzY0MTkxODQ7Yi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpO0Q9a3gobixELm9mZnNldCtELnNpemUsVyl9fTsKUElDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTkzNzAxMTU1NiksYj1nLm5zKG4sMCwxOTUzNjU0MTM2KTtpZighRHx8IWJ8fG4uZ2V0VWludDMyKEQub2Zmc2V0KzEyKT49MilyZXR1cm4gbnVsbDt2YXIgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoKSxrPWcubnModiwwLDE5MzcwMTE1NTYpO2lmKCFrKXJldHVybiBudWxsO1c9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzgpO2I9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzEyKTtpZihiIT09MTcwMTczMzIxNyYmYiE9PTE3MDE3MzMyMzgpcmV0dXJuIG51bGw7Yj1uZXcgT0t0KG4uYnl0ZUxlbmd0aCtXKTtkRihiLG4sMCxELm9mZnNldCsxMik7Yi5kYXRhLnNldEludDMyKGIub2Zmc2V0LDIpO2Iub2Zmc2V0Kz00O2RGKGIsbixELm9mZnNldCsxNixELnNpemUtMTYpO2RGKGIsdix2LmJ5dGVPZmZzZXQray5kYXRhT2Zmc2V0KzgsVyk7ZEYoYixuLEQub2Zmc2V0K0Quc2l6ZSxuLmJ5dGVMZW5ndGgtCihELm9mZnNldCtELnNpemUpKTtEPVsxODM2MDE5NTc0LDE5NTM2NTMwOTksMTgzNTI5NzEyMSwxODM1NjI2MDg2LDE5MzcwMDcyMTIsMTkzNzAxMTU1Nl07Zm9yKGxldCBoIG9mIEQpRD1nLm5zKG4sMCxoKSxiLmRhdGEuc2V0VWludDMyKEQub2Zmc2V0LEQuc2l6ZStXKTtuPWcubnMoYi5kYXRhLDAsMTk1MzY1NDEzNik7Yi5kYXRhLnNldFVpbnQzMihuLm9mZnNldCsxNiwyKTtyZXR1cm4gYi5kYXRhfTsKWktaPWZ1bmN0aW9uKG4pe3ZhciBXPWcubnMobiwwLDE5MzcwMTE1NTYpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPW4uZ2V0VWludDMyKFcuZGF0YU9mZnNldCsxMik7aWYoRCE9PTE3MDE3MzMyMTcmJkQhPT0xNzAxNzMzMjM4KXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCsyNCsoRD09PTE3MDE3MzMyMTc/Mjg6NzgpLDE5MzYyODkzODIpO2lmKCFXKXJldHVybiBudWxsO0Q9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzcpO2lmKCFEfHxuLmdldFVpbnQzMihELm9mZnNldCsxMikhPT0xNjY3MzkyMzcxKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzMpO2lmKCFXKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5NTI4MDQ0NTEpO2lmKCFXKXJldHVybiBudWxsO0Q9bmV3IFVpbnQ4QXJyYXkoMTYpO2ZvcihsZXQgYj0wO2I8MTY7YisrKURbYl09bi5nZXRJbnQ4KFcub2Zmc2V0KzE2K2IpO3JldHVybiBEfTsKWXg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyB0WShEKTtpZighJHgoYixuKSlyZXR1cm4hMTtiPXJBKGIpO2lmKCFzWShiLFcpKXJldHVybiExO2ZvcihuPTA7VzspVz4+Pj04LG4rKztXPWIuc3RhcnQrYi5wb3M7dmFyIHY9TmsoYiwhMCk7Yj1uKyhiLnN0YXJ0K2IucG9zLVcpK3Y7Yj1iPjk/cHMoYi05LDgpOnBzKGItMiwxKTtuPVctbjtELnNldFVpbnQ4KG4rKywyMzYpO2ZvcihXPTA7VzxiLmxlbmd0aDtXKyspRC5zZXRVaW50OChuKyssYltXXSk7cmV0dXJuITB9Owpwcz1mdW5jdGlvbihuLFcpe1d8fChXPU1hdGguY2VpbChNYXRoLmxvZyhuKzIpL01hdGgubG9nKDIpLzcpKTtmb3IodmFyIEQ9MTw8OC1XLGI9W107Yi5sZW5ndGg8Vy0xOyliLnVuc2hpZnQobiUyNTYpLG49TWF0aC5mbG9vcihuLzI1Nik7Yi51bnNoaWZ0KG58RCk7cmV0dXJuIGJ9OwpVNVo9ZnVuY3Rpb24obil7dmFyIFc9bmV3IHRZKG4pO1cuT0ooKTtpZigkeChXLFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdKSlXPXJBKFcpO2Vsc2UgcmV0dXJuIG51bGw7Zm9yKHZhciBEPW49bnVsbDshSHcoVyk7KXt2YXIgYj1OayhXLCExKTtpZihiPT09MjE0MzIpc3dpdGNoKGZzKFcpKXtkZWZhdWx0Om49MDticmVhaztjYXNlIDE6bj0xO2JyZWFrO2Nhc2UgMzpuPTI7YnJlYWs7Y2FzZSAxNTpuPTI1NX1lbHNlIGI9PT0zMDMyMD9EPXJBKFcpOkpZKFcpfWlmKCFEKXJldHVybiBudWxsO2Zvcih2YXIgdixrPWI9Vz1udWxsOyFIdyhEKTspc3dpdGNoKE5rKEQsITEpKXtjYXNlIDMwMzIxOmlmKGZzKEQpIT09MylyZXR1cm4gbnVsbDticmVhaztjYXNlIDMwMzI0Olc9SUIoRCk7YnJlYWs7Y2FzZSAzMDMyMzprPUlCKEQpO2JyZWFrO2Nhc2UgMzAzMjU6Yj1JQihEKTticmVhaztjYXNlIDMwMzIyOnY9TmsoRCwhMCk7dj1TUChELHYpO3Y9bmV3IERhdGFWaWV3KHYuYnVmZmVyLAp2LmJ5dGVPZmZzZXQsdi5ieXRlTGVuZ3RoKTticmVhaztkZWZhdWx0OkpZKEQpfXJldHVybiB2P25ldyBoWShuLFcsayxiLHYpOm51bGx9OwokeD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtpZighc1kobixXW0RdKSlyZXR1cm4hMTtEIT09Vy5sZW5ndGgtMSYmTmsobiwhMCl9cmV0dXJuITB9OwpyQT1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPW4uTi5ieXRlT2Zmc2V0K24ucG9zO0Q9bmV3IERhdGFWaWV3KG4uTi5idWZmZXIsRCxNYXRoLm1pbihXLG4uTi5idWZmZXIuYnl0ZUxlbmd0aC1EKSk7RD1uZXcgdFkoRCxuLnN0YXJ0K24ucG9zKTtuLnBvcys9VztyZXR1cm4gRH07CnNZPWZ1bmN0aW9uKG4sVyxEPSExKXtpZihIdyhuKSlyZXR1cm4hMTtmb3IodmFyIGI9bi5wb3M7TmsobiwhMSkhPT1XOylpZihKWShuKSxiPW4ucG9zLEh3KG4pKXJldHVybiExO0QmJihuLnBvcz1iKTtyZXR1cm4hMH07Ck5rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QVkobik7aWYoRD09PTEpe0Q9MDtmb3IoVz0wO1c8NztXKyspRD1EKjI1NitBWShuKTtyZXR1cm4gRH12YXIgYj0xMjg7Zm9yKGxldCB2PTA7djw2JiZiPkQ7disrKUQ9RCoyNTYrQVkobiksYio9MTI4O3JldHVybiBXP0QtYjpEfTsKSHc9ZnVuY3Rpb24obil7cmV0dXJuIG4ucG9zPj1uLk4uYnl0ZUxlbmd0aH07CmZzPWZ1bmN0aW9uKG4pe3ZhciBXPU5rKG4sITApLEQ9QVkobik7Zm9yKGxldCBiPTE7YjxXO2IrKylEPUQqMjU2K0FZKG4pO3JldHVybiBEfTsKSlk9ZnVuY3Rpb24obil7dmFyIFc9TmsobiwhMCk7bi5wb3MrPVd9OwpJQj1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPTA7Vz09PTQ/RD1uLk4uZ2V0RmxvYXQzMihuLnBvcyk6Vz09PTgmJihEPW4uTi5nZXRGbG9hdDY0KG4ucG9zKSk7bi5wb3MrPVc7cmV0dXJuIER9OwpTUD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrbi5wb3MsVyk7bi5wb3MrPVc7cmV0dXJuIER9OwptdD1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKTtyZXR1cm4gcFIoU1AobixXKSl9OwpBWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmdldFVpbnQ4KG4ucG9zKyspfTsKeUhyPWZ1bmN0aW9uKG4pe2lmKCFzWShuLDQ0MDc4Njg1MSwhMCkpcmV0dXJuIG51bGw7dmFyIFc9bi5wb3M7TmsobiwhMSk7dmFyIEQ9TmsobiwhMCkrbi5wb3MtVztuLnBvcz1XK0Q7aWYoIXNZKG4sNDA4MTI1NTQzLCExKSlyZXR1cm4gbnVsbDtOayhuLCEwKTtpZighc1kobiwzNTcxNDkwMzAsITApKXJldHVybiBudWxsO3ZhciBiPW4ucG9zO05rKG4sITEpO3ZhciB2PU5rKG4sITApK24ucG9zLWI7bi5wb3M9Yit2O2lmKCFzWShuLDM3NDY0ODQyNywhMCkpcmV0dXJuIG51bGw7dmFyIGs9bi5wb3M7TmsobiwhMSk7dmFyIGg9TmsobiwhMCkrbi5wb3Mtayx4PW5ldyBVaW50OEFycmF5KEQrMTIrditoKSxMPW5ldyBEYXRhVmlldyh4LmJ1ZmZlcik7eC5zZXQobmV3IFVpbnQ4QXJyYXkobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCtXLEQpKTtMLnNldFVpbnQzMihELDQwODEyNTU0Myk7TC5zZXRVaW50MzIoRCs0LDMzNTU0NDMxKTtMLnNldFVpbnQzMihEKzgsNDI5NDk2NzI5NSk7Cnguc2V0KG5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrYix2KSxEKzEyKTt4LnNldChuZXcgVWludDhBcnJheShuLk4uYnVmZmVyLG4uTi5ieXRlT2Zmc2V0K2ssaCksRCsxMit2KTtyZXR1cm4geH07CktzPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9zO24ucG9zPTA7dmFyIEQ9MUU2OyR4KG4sWzQwODEyNTU0MywzNTcxNDkwMzAsMjgwNzcyOV0pJiYoRD1mcyhuKSk7bi5wb3M9VztyZXR1cm4gRH07ClB3PWZ1bmN0aW9uKG4pe2lmKCFPWShuKXx8IXNZKG4sNTI0NTMxMzE3KSlyZXR1cm4hMTtOayhuLCEwKTtyZXR1cm4hMH07CkVFWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucG9zO24ucG9zPTA7aWYobi5OLmdldFVpbnQ4KG4ucG9zKSE9PTE2MCYmIVB3KG4pfHwhc1kobiwxNjApKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTt2YXIgYj1uLnBvcztpZighc1kobiwxNjEpKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTtBWShuKTt2YXIgdj1BWShuKTw8OHxBWShuKTtuLnBvcz1iO2lmKCFzWShuLDE1NSkpcmV0dXJuIG4ucG9zPUQsTmFOO2I9ZnMobik7bi5wb3M9RDtyZXR1cm4oditiKSpXLzFFOX07Ck9ZPWZ1bmN0aW9uKG4pe2lmKG4uT0ooKSl7aWYoIXNZKG4sNDA4MTI1NTQzKSlyZXR1cm4hMTtOayhuLCEwKX1yZXR1cm4hMH07ClpfPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5pbmRleE9mKCI/Iik7aWYoRD4wKXtsZXQgYj1nNygxLDUwLFcuc3Vic3RyaW5nKEQrMSkpO2cuYV8oYixmdW5jdGlvbih2LGspe3RoaXMuc2V0KGssdil9LG4pOwpXPVcuc3Vic3RyaW5nKDAsRCl9Vz1pcCgxNSw4MjUsVyk7Zy5hXyhXLGZ1bmN0aW9uKGIsdil7dGhpcy5zZXQodixiKX0sbil9OwppS1U9ZnVuY3Rpb24obil7dmFyIFc9bi5BTy5XRCgpLEQ9W107Zy5hXyhuLk4sKHYsayk9PntELnB1c2goYCR7a309JHt2fWApfSk7CmlmKCFELmxlbmd0aClyZXR1cm4gVzt2YXIgYj1ELmpvaW4oIiYiKTtuPVAwKDgzLDY1ODgsbi5BTyk/IiYiOiI/IjtyZXR1cm4gVytuK2J9OwpVWT1mdW5jdGlvbihuLFcpe25bV118fChuW1ddPW5ldyB1VGkpO3JldHVybiBuW1ddfTsKeWY9ZnVuY3Rpb24obixXPSExKXtXJiYobi5KKz0xKTtuLk4rPTF9OwpvRWk9ZnVuY3Rpb24obixXPSExKXtuLnRpbWVkT3V0Kz0xO1cmJnlmKG4sITApfTsKemo9ZnVuY3Rpb24obixXPSExKXtXJiYobi5YPSgwLGcuUikoKSxuLko9MCk7bi5WPSgwLGcuUikoKTtuLnN0YXJ0ZWQ9MDtuLnRpbWVkT3V0PTA7bi5OPTB9OwpsTD1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRClyZXR1cm4gMTw8TWF0aC5taW4obi5KLDUpO0Q9bi5zdGFydGVkK24uTio0O1cmJihEKz1uLlcpO0Q9TWF0aC5tYXgoMCxELTMpO3JldHVybiAxLjYqKkR9OwpqUD1mdW5jdGlvbihuLFcsRCl7aWYoZ1ooMzgsMTIwMixuLk4pKXJldHVybiExO3ZhciBiPVVZKEQsUjAoMzUsMzUwNyxuLk4pKTtpZihiLnRpbWVkT3V0PDEmJmIuTjwxKXJldHVybiExO2I9Yi50aW1lZE91dCtiLk47bj1UaihuLFcpO0Q9VVkoRCxSMCgzMiwzNTA0LG4pKTtyZXR1cm4gRC50aW1lZE91dCtELk4rMDxifTsKVGo9ZnVuY3Rpb24obixXKXtXPVc/Vy5vTTohMTtuLlh8fChuLlg9WGQobi5XLFcpKTtyZXR1cm4gbi5YfTsKQnc9ZnVuY3Rpb24obixXLEQpe249Vz9UaihuLEQpOm4uTjtyZXR1cm4gbmV3IENzKG4pfTsKRjU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBSMCgzNSwzNTA3LFc/VGoobixEKTpuLk4pfTsKd0E9ZnVuY3Rpb24obixXLEQsYix2KXsrK24uSjtXJiYrK24uVjtSMCgzMiwzNTA0LEQuQU8pLnN0YXJ0c1dpdGgoInJlZGlyZWN0b3IuIikmJihuLk49bi5XLmNsb25lKCksZGVsZXRlIG4uWCxiLnBFJiZkZWxldGUgdltSMCg2NywzNTM5LG4uTildKX07Ck1rPWZ1bmN0aW9uKG4pe3JldHVybiBuP2Ake24uaXRhZ3x8IiJ9OyR7bi5sbXR8fDB9OyR7bi54dGFnc3x8IiJ9YDoiIn07ClFmPWZ1bmN0aW9uKG4sVyl7bi5pbmZvJiZuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIiYmIW4uTyYmKGcuUkIobi5pbmZvKT9uLk89S2gyKFcpOm4uaW5mby5xSCgpJiYobi5PPVU1WihXKSkpfTsKY3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWsoZy5WZihuLmluZm8sVykpfTsKbno9ZnVuY3Rpb24obil7bj1uLnNwbGl0KCItIik7dmFyIFc9TnVtYmVyKG5bMF0pLEQ9TnVtYmVyKG5bMV0pO2lmKCFpc05hTihXKSYmIWlzTmFOKEQpJiZuLmxlbmd0aD09PTImJihuPW5ldyBhQihXLEQpLCFpc05hTihuLnN0YXJ0KSYmIWlzTmFOKG4uZW5kKSYmIWlzTmFOKG4ubGVuZ3RoKSYmbi5sZW5ndGg+MCkpcmV0dXJuIG59OwpXXz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgYUIobixuK1ctMSl9OwpESj1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gbmV3IGFCKDAsMCk7dmFyIFc9TnVtYmVyKG4uc3RhcnQpO249TnVtYmVyKG4uZW5kKTtpZighaXNOYU4oVykmJiFpc05hTihuKSYmKFc9bmV3IGFCKFcsbiksVy5sZW5ndGg+MCkpcmV0dXJuIFd9OwpkNXc9ZnVuY3Rpb24obil7bi5sZW5ndGg9PT0xfHxnLmR6KG4sRD0+ISFELnJhbmdlKTsKZm9yKHZhciBXPTE7VzxuLmxlbmd0aDtXKyspO1c9bltuLmxlbmd0aC0xXTtyZXR1cm4gbmV3IGFCKG5bMF0ucmFuZ2Uuc3RhcnQrblswXS5OLFcucmFuZ2Uuc3RhcnQrVy5OK1cuSi0xKX07CmJUPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUEo9PT1XLlBKP24ucmFuZ2UmJlcucmFuZ2U/bi5yYW5nZS5zdGFydCtuLk4rbi5KPT09Vy5yYW5nZS5zdGFydCtXLk46bi5qJD09PVcuaiQ/bi5OK24uSj09PVcuTjpuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaOiExfTsKdl89ZnVuY3Rpb24obil7bi5YPW4uc2VnbWVudFN0YXJ0VGltZTtuLks9bi5XO24uaj1uLlgrbi5LfTsKa049ZnVuY3Rpb24obil7cmV0dXJuIG4ucmFuZ2U/bi5qOk1hdGgubWluKG4uc2VnbWVudFN0YXJ0VGltZStNYXRoLm1pbihuLk4vbi5QSi5pbmZvLk5zLG4uVykrKG4ucmFuZ2U/bi5LOk1hdGgubWluKG4uVyxuLkovbi5QSi5pbmZvLk5zKSksbi5zZWdtZW50U3RhcnRUaW1lK24uVyl9Owp6QTI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPSEoIVd8fFcuUEohPT1uLlBKfHxXLnR5cGUhPT1uLnR5cGV8fFcuaiQhPT1uLmokKTtyZXR1cm4gRD9iJiYhIVcmJihuLnJhbmdlJiZXLnJhbmdlP1cucmFuZ2UuZW5kPT09bi5yYW5nZS5lbmQ6Vy5yYW5nZT09PW4ucmFuZ2UpJiZXLk4rVy5KPT09bi5OK24uSjpifTsKaEo9ZnVuY3Rpb24obil7cmV0dXJuIG4udHlwZT09PTF8fG4udHlwZT09PTJ9Owp4Tj1mdW5jdGlvbihuKXtyZXR1cm4gbi50eXBlPT09M3x8bi50eXBlPT09Nn07Ckx6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGJUKG4sVyl8fE1hdGguYWJzKG4uai1XLlgpPD0xRS02fHxuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaPyEwOiExfTsKZXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5qJCE9PVcuaiQmJlcuaiQhPT1uLmokKzF8fG4udHlwZSE9PVcudHlwZT8hMTpiVChuLFcpPyEwOk1hdGguYWJzKG4uWC1XLlgpPD0xRS02JiZuLmokPT09Vy5qJD8hMTpMeihuLFcpfTsKZ2s9ZnVuY3Rpb24obil7cmV0dXJuIG4uaiQrKG4uYVo/MTowKX07Clh4PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O1cuaXRhZz1uLlBKLmluZm8uaXRhZztXLnR5cGU9YCR7bi50eXBlfWA7Vy5zcmM9YCR7bi5zb3VyY2V9YDtXLnNlZ3NyYz1uLlk7Vy5zZWc9U3RyaW5nKG4uaiQpO24ucmFuZ2UmJihXLnJhbmdlPWAke24ucmFuZ2Uuc3RhcnQrbi5OfS0ke24ucmFuZ2Uuc3RhcnQrbi5OK24uSi0xfWApO1cudGltZT1gJHtuLlgudG9GaXhlZCgxKX0tJHsobi5YK24uSykudG9GaXhlZCgxKX1gO1cub2ZmPVN0cmluZyhuLk4pO1cubGVuPVN0cmluZyhuLkopO24uYVomJihXLmVuZD0iMSIpO24uVigpJiYoVy5lb3M9IjEiKTtuLmNsaXBJZCYmKFcuY2lkPW4uY2xpcElkKTtyZXR1cm4gV307CmxEeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IHFJKG4udHlwZSxuLlBKLG4ucmFuZ2UsImdldEVtcHR5U3R1YkJlZm9yZSIrbi5ZLG4uaiQsbi5zZWdtZW50U3RhcnRUaW1lLDAsbi5OLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKVEQxPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgcUkobi50eXBlLG4uUEosbi5yYW5nZSwiZ2V0RW1wdHlTdHViQWZ0ZXIiK24uWSxuLmokLG4uc2VnbWVudFN0YXJ0VGltZStuLlcsMCxuLk4rbi5KLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKR1A9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIG5ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJyZXNsaWNlIituLlksbi5qJCxuLnNlZ21lbnRTdGFydFRpbWUsbi5XLFcsRCxiLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKdEo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5yYW5nZSYmVy5yYW5nZT9uLnJhbmdlLnN0YXJ0K24uTj49Vy5yYW5nZS5zdGFydCtXLk4mJm4ucmFuZ2Uuc3RhcnQrbi5OK24uSjw9Vy5yYW5nZS5zdGFydCtXLk4rVy5KOm4uaiQ9PT1XLmokJiZuLk4+PVcuTiYmKG4uTituLko8PVcuTitXLkp8fFcuYVopfTsKJE49ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5jSigpJiZXLnR5cGU9PT0zJiZuLlBKLk4oKT8obj1uLlBKLlZRKG4pLGcub00obixEPT4kTihELFcpKSk6bi5qJD09PVcuaiQmJiEhVy5KJiZXLk4rVy5KPm4uTiYmVy5OK1cuSjw9bi5OK24uSn07Ck92PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCksRD1uLmg1KCksYj1ELmVfKCksdj1uLkcoKSxrPW4uZDAoKSxoPWsuVDEqOC8xMDI0LHg9ay54WS8xMDI0LEw9ay5LVCxlPWsuU1UsRz1rLk1BLHI9RC5nZXRDdXJyZW50VGltZSgpLnRvRml4ZWQoMiksTj1yayhELkooKSwiLCIsMyk7dmFyIEg9IiI7aWYoVy5pc0RhaUVuYWJsZWQoKSl7SD1OSShXKT9IKyJNViI6Vy5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaT9IKyJTUyI6SCsiQ1MiO0g9Vy5ERigpP0grIkxJRkEsICI6SCsiREFJLCAiO1cuYlYmJihIKz0iREFJRkIsICIpO3ZhciBBPWsuZEM7QSYmKEgrPUEpfWVsc2UgVy5LZj9IKz0iQ1NEQUksICI6Vy5KbD9IKz0iRFNEQUksICI6Vy5qRiYmKEgrPSJVU0RBSSwgIik7cHooVykmJiFXLkRGKCkmJihIKz0iTElGQUUsICIpO2cuWU4oVykmJihIKz0iU0FCUiwgIik7aWYoVy5mZXRjaFR5cGUpe3N3aXRjaChXLmZldGNoVHlwZSl7Y2FzZSAib25lc2llIjpBPSJvIjticmVhazsKY2FzZSAiZ3AiOkE9ImdwIjticmVhaztkZWZhdWx0OkE9Imd2aSJ9SCs9YHZkOiR7QX0sIGB9KEE9di5qXygpKSYmKEg9QS5pc0FzbWpzP0grIndhLCAiOkgrIncsICIpO0grPWBzOiR7R30gdDoke3J9IGI6JHtOfSBgO0QuaXNTZWVraW5nKCkmJihIKz0iUyIpO0QuaXNQYXVzZWQoKSYmKEgrPSJQIik7RC5pc0VuZGVkKCkmJihIKz0iRSIpO24uaXNPcmNoZXN0cmF0aW9uTGVhZGVyKCkmJihIKz0iIEwiKTsoRD1rLmVJKSYmKEgrPWAgbDoke0QudG9GaXhlZCgpfWApO0Q9ay5jdXJyZW50VGltZTtHPVcueW47RCYmRD5HLnN0YXJ0JiZEPEcuZW5kJiYoSCs9IiBhcyIpO0Q9UFYob0wpKCJfc3RhcnQiLHZvaWQgMCk7Rz1bXTtmb3IoeSBvZlsicGxfaSIsInZpciIsIm9yX3AiLCJvcmZiIiwicGJzIl0pKHI9UFYob0wpKHksdm9pZCAwKSkmJkQmJihyLT1ELEcucHVzaChgJHt5fToke01hdGgucm91bmQocil9YCkpO3ZhciB5PUcuam9pbigiICIpO0Q9Zy5IXygpO0c9Zy5meihuKS52VDtyPQpXLlcmJiFXLlcuTigpPyJkaXNwbGF5Om5vbmUiOiIiO2lmKChOPVcuY2xpZW50UGxheWJhY2tOb25jZSkmJk4ubGVuZ3RoPT0xNil7Tis9IkFBQUEiO0E9MDt2YXIgVD0iIjtmb3IobGV0IEM9MDtDPDIwO0MrKylpZihBPShBPDw2KSsiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuaW5kZXhPZihOLmNoYXJBdChDKSksQyU1PT00KXtsZXQgUT0iIjtmb3IobGV0IFY9MDtWPDY7VisrKVE9IjAxMjM0NTY3ODlBQkNERUZHSEpLTU5QUVJTVFZXWFlaIi5jaGFyQXQoQSYzMSkrUSxBPj49NTtUKz1RfU49YCR7VC5zdWJzdHIoMCw0KX0gJHtULnN1YnN0cig0LDQpfSAke1Quc3Vic3RyKDgsNCl9ICR7VC5zdWJzdHIoMTIsNCl9ICR7VC5zdWJzdHIoMTYsNCl9YH1lbHNlIE49IiI7aD17dmlkZW9faWRfYW5kX2NwbjpTdHJpbmcoVy52aWRlb0lkKSsiIC8gIitOLGNvZGVjczoiIixkaW1zX2FuZF9mcmFtZXM6IiIsYmFuZHdpZHRoX2ticHM6YCR7aC50b0ZpeGVkKDApfSBLYnBzYCwKYnVmZmVyX2hlYWx0aF9zZWNvbmRzOmAke0wudG9GaXhlZCgyKX0gc2AsZGF0ZTpgJHsobmV3IERhdGUpLnRvU3RyaW5nKCl9YCxkcm1fc3R5bGU6ZT8iIjoiZGlzcGxheTpub25lIixkcm06ZSxkZWJ1Z19pbmZvOkgsZXh0cmFfZGVidWdfaW5mbzoiIixiYW5kd2lkdGhfc3R5bGU6cixuZXR3b3JrX2FjdGl2aXR5X3N0eWxlOnIsbmV0d29ya19hY3Rpdml0eV9ieXRlczpgJHt4LnRvRml4ZWQoMCl9IEtCYCxzaGFkZXJfaW5mbzpHLHNoYWRlcl9pbmZvX3N0eWxlOkc/IiI6ImRpc3BsYXk6bm9uZSIscGxheWJhY2tfY2F0ZWdvcmllczoiIn07eD1gJHtiLmNsaWVudFdpZHRofXgke2IuY2xpZW50SGVpZ2h0fWArKEQ+MT9gKiR7RC50b0ZpeGVkKDIpfWA6IiIpO0w9Ii0iO2sudG90YWxWaWRlb0ZyYW1lcyYmKEw9YCR7ay5kcm9wcGVkVmlkZW9GcmFtZXN8fDB9IGRyb3BwZWQgb2YgJHtrLnRvdGFsVmlkZW9GcmFtZXN9YCk7aC5kaW1zX2FuZF9mcmFtZXM9YCR7eH0gLyAke0x9YDtlPW4uZ2V0Vm9sdW1lKCk7Cm49Vy5oZzt4PW4uTjtMPU1hdGgucm91bmQoZSk7ZT1NYXRoLnJvdW5kKGUqKHg/LlpyPz8xKSk7SD0iIjtXLlg/LmF1ZGlvLk4/SD0iIFZCIjpXLlg/LmF1ZGlvLlcmJihIPSIgRFJDIik7RD0iIjt4Py5mZCE9bnVsbD9EKz1gY29udC4ke3guZmQudG9GaXhlZCgxKX1kQmA6bi5RTyE9bnVsbCYmKEQrPWBsaXZlLiR7bi5RTy50b0ZpeGVkKDEpfWRCYCk7eD8ucHkhPW51bGwmJihEKz1gIHRndC4ke3gucHkudG9GaXhlZCgxKX1kQmApO0QmJihEPWAgKCR7RH0pYCk7aC52b2x1bWU9YCR7TH0lLyR7ZX0lJHtIfSR7RH1gO2gucmVzb2x1dGlvbj1gJHtiLnZpZGVvV2lkdGh9eCR7Yi52aWRlb0hlaWdodH1gO2lmKGI9Vy5KKXtpZihuPWIudmlkZW8peD1uLmZwcyx4PjEmJihoLnJlc29sdXRpb24rPWBAJHt4fWApLCh4PWsuTHQpJiZ4LnZpZGVvJiYoaC5yZXNvbHV0aW9uKz1gIC8gJHt4LnZpZGVvLndpZHRofXgke3gudmlkZW8uaGVpZ2h0fWAseC52aWRlby5mcHM+MSYmKGgucmVzb2x1dGlvbis9CmBAJHt4LnZpZGVvLmZwc31gKSksaC5jb2RlY3M9SkooYiksIVcuWHx8Yi5hdWRpbyYmYi52aWRlbz9iLkFhJiYoaC5jb2RlY3MrPWAgLyAke2IuQWF9QWApOmguY29kZWNzKz1gIC8gJHtKSihXLlgpfWAsbi5OfHxuLnByaW1hcmllcz8oeD1uLk58fCJ1bmtub3duIix4PT09InNtcHRlMjA4NCI/eD1gJHt4fSAoUFEpYDp4PT09ImFyaWItc3RkLWI2NyImJih4PWAke3h9IChITEcpYCksaC5jb2xvcj1gJHt4fSAvICR7bi5wcmltYXJpZXN8fCJ1bmtub3duIn1gLGguY29sb3Jfc3R5bGU9IiIpOmguY29sb3Jfc3R5bGU9ImRpc3BsYXk6bm9uZSI7aWYoYi5kZWJ1Z0luZm8pe2guZm10X2RlYnVnX2luZm89IiI7Zm9yKHZhciB6IG9mIGIuZGVidWdJbmZvKWguZm10X2RlYnVnX2luZm8rPWAke3oubGFiZWx9OiR7ei50ZXh0fSBgfWguZm10X2RlYnVnX2luZm9fc3R5bGU9aC5mbXRfZGVidWdfaW5mbyYmaC5mbXRfZGVidWdfaW5mby5sZW5ndGg+MD8iIjoiZGlzcGxheTpub25lIn16PVcuaXNMaXZlUGxheWJhY2s7CmI9Vy5YZztoLmxpdmVfbW9kZV9zdHlsZT16fHxiPyIiOiJkaXNwbGF5Om5vbmUiO2gubGl2ZV9sYXRlbmN5X3N0eWxlPXo/IiI6ImRpc3BsYXk6bm9uZSI7aWYoYiloLmxpdmVfbW9kZT0iUG9zdC1MaXZlIisoSTQoVyk/IiBNYW5pZmVzdGxlc3MiOiIiKTtlbHNlIGlmKHope2I9ay5wVDtoLmxpdmVfbGF0ZW5jeV9zZWNzPWAke2IudG9GaXhlZCgyKX1zYDt6PUk0KFcpPyJNYW5pZmVzdGxlc3MsICI6IiI7Vy5SSSYmKHorPSJXaW5kb3dlZCwgIik7bj0iVW5jZXJ0YWluIjtpZihiPj0wJiZiPDEyMClpZihXLmxhdGVuY3lDbGFzcyYmVy5sYXRlbmN5Q2xhc3MhPT0iVU5LTk9XTiIpc3dpdGNoKFcubGF0ZW5jeUNsYXNzKXtjYXNlICJOT1JNQUwiOm49Ik9wdGltaXplZCBmb3IgTm9ybWFsIExhdGVuY3kiO2JyZWFrO2Nhc2UgIkxPVyI6bj0iT3B0aW1pemVkIGZvciBMb3cgTGF0ZW5jeSI7YnJlYWs7Y2FzZSAiVUxUUkFMT1ciOm49Ik9wdGltaXplZCBmb3IgVWx0cmEgTG93IExhdGVuY3kiOwpicmVhaztkZWZhdWx0Om49IlVua25vd24gTGF0ZW5jeSBTZXR0aW5nIn1lbHNlIG49U3goVyk/Ik9wdGltaXplZCBmb3IgTG93IExhdGVuY3kiOiJPcHRpbWl6ZWQgZm9yIFNtb290aCBTdHJlYW1pbmciO3orPW47KGI9ay5GSSkmJih6Kz1gLCBzZXEgJHtiLnNlcXVlbmNlfWApO2gubGl2ZV9tb2RlPXp9di5leHBlcmltZW50cy5adCgpLk4uUVEoaldTKT9rLmlzR2FwbGVzcyYmIWsuZFQmJihoLnBsYXliYWNrX2NhdGVnb3JpZXM9ay5Ibz9oLnBsYXliYWNrX2NhdGVnb3JpZXMrIkdhcGxlc3MgIjpoLnBsYXliYWNrX2NhdGVnb3JpZXMrIlF1ZXVlZCAiKTohay5pc0dhcGxlc3N8fEFKKFcpJiZrLmRUfHwoaC5wbGF5YmFja19jYXRlZ29yaWVzKz0iR2FwbGVzcyAiKTtoLnBsYXliYWNrX2NhdGVnb3JpZXNfc3R5bGU9aC5wbGF5YmFja19jYXRlZ29yaWVzPyIiOiJkaXNwbGF5Om5vbmUiO2guYmFuZHdpZHRoX3NhbXBsZXM9ay5VJDtoLm5ldHdvcmtfYWN0aXZpdHlfc2FtcGxlcz1rLmRjOwpoLmxpdmVfbGF0ZW5jeV9zYW1wbGVzPWsuc0k7aC5idWZmZXJfaGVhbHRoX3NhbXBsZXM9ay5qeDt2PWcubU0oVyk7aWYoVy5jb3RufHx2KWguY290bl9hbmRfbG9jYWxfbWVkaWE9YCR7Vy5jb3RuP1cuY290bjoibnVsbCJ9IC8gJHt2fWA7aC5jb3RuX2FuZF9sb2NhbF9tZWRpYV9zdHlsZT1oLmNvdG5fYW5kX2xvY2FsX21lZGlhPyIiOiJkaXNwbGF5Om5vbmUiO0t6KFcsIndlYl9wbGF5ZXJfcmVsZWFzZV9kZWJ1ZyIpPyhoLnJlbGVhc2VfbmFtZT1JWzY1XSxoLnJlbGVhc2Vfc3R5bGU9IiIpOmgucmVsZWFzZV9zdHlsZT0iZGlzcGxheTpub25lIjtoLmRlYnVnX2luZm8mJnkubGVuZ3RoPjAmJmguZGVidWdfaW5mby5sZW5ndGgreS5sZW5ndGg8PTYwP2guZGVidWdfaW5mbys9IiAiK3k6aC5leHRyYV9kZWJ1Z19pbmZvPXk7aC5leHRyYV9kZWJ1Z19pbmZvX3N0eWxlPWguZXh0cmFfZGVidWdfaW5mbyYmaC5leHRyYV9kZWJ1Z19pbmZvLmxlbmd0aD4wPyIiOiJkaXNwbGF5Om5vbmUiOwpyZXR1cm4gaH07ClBfPWZ1bmN0aW9uKG4sVyxEKXtuLkorPVcuSjtuLnJhbmdlJiYobi5LKz1XLkspO24uaj1XLmo7bi5hWj1XLmFaO0QmJlcuYVomJihuLlc9Vy5XLG4uc2VnbWVudFN0YXJ0VGltZT1XLnNlZ21lbnRTdGFydFRpbWUsbi5YPW4uc2VnbWVudFN0YXJ0VGltZSxuLnJhbmdlfHwobi5LPW4uVykpfTsKWko9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmokO24uWT0idXBkYXRlV2l0aFNlZ21lbnRJbmZvIjtuLmokPUQ7aWYobi5zZWdtZW50U3RhcnRUaW1lIT09Vy5zdGFydFRpbWV8fG4uVyE9PVcuZHVyYXRpb24pbi5zZWdtZW50U3RhcnRUaW1lPVcuc3RhcnRUaW1lLG4uVz1XLmR1cmF0aW9uLHZfKG4pfTsKVXY9ZnVuY3Rpb24obil7cmV0dXJuIWhKKG4uQXdbbi5Bdy5sZW5ndGgtMV0pfTsKeXM9ZnVuY3Rpb24obil7cmV0dXJuIG4uQXdbbi5Bdy5sZW5ndGgtMV0uY0ooKX07CmcuRXY9ZnVuY3Rpb24obixXLEQpe0Q9bi5wUz09PW51bGw/bi5YYi5wUyhXLEQsbi5Bd1swXS50eXBlKTpuLnBTO2lmKG4uTil7Vz1EP1hkKG4uTixXLm9NKTpuLk47dmFyIGI9bmV3IENzKFcpO2IuZ2V0KCJhbHIiKXx8Yi5zZXQoImFsciIsInllcyIpO24uSiYmWl8oYixuLkopfWVsc2UvaHR0cFtzXT86XC9cLy8udGVzdChuLkopP2I9bmV3IENzKG5ldyBnLndaKG4uSikpOihiPUJ3KG4uWGIsRCxXKSxuLkomJlpfKGIsbi5KKSk7KFc9bi5yYW5nZSk/Yi5zZXQoInJhbmdlIixXLnRvU3RyaW5nKCkpOm4uQXdbMF0uUEouRCgpJiZuLkF3Lmxlbmd0aD09PTEmJm4uQXdbMF0uTiYmYi5zZXQoInJhbmdlIixgJHtuLkF3WzBdLk59LWApO24ucmVxdWVzdElkJiZiLnNldCgicmVxX2lkIixuLnJlcXVlc3RJZCk7aXNOYU4obi5aQSl8fGIuc2V0KCJoZWFkbSIsbi5aQS50b1N0cmluZygpKTtpc05hTihuLmopfHxiLnNldCgibWZmYSIsYCR7bi5qfW1zYCk7bi51cmxQYXJhbXMmJmcuYV8obi51cmxQYXJhbXMsCih2LGspPT57Yi5zZXQoayx2KX0pOwpyZXR1cm4gYn07CmRrPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkcoKSx2PXtodG1sNVByZWZlcmVuY2U6IkhUTUw1X1BSRUZfV0FOVFMiLGxhY3RNaWxsaXNlY29uZHM6U3RyaW5nKGcudkkoKSkscmVmZXJlcjpkb2N1bWVudC5sb2NhdGlvbi50b1N0cmluZygpLHNpZ25hdHVyZVRpbWVzdGFtcDoyMDY1NX0saz1nLm85KCk7bi5pc0F1dG9uYXYmJih2LmF1dG9uYXY9ITApO2suUVEoMTQxKSYmKHYuYXV0b25hdlN0YXRlPWsuUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTt2LmF1dG9DYXB0aW9uc0RlZmF1bHRPbj1rLlFRKDY2KTtpVChuKSYmKHYuYXV0b3BsYXk9ITApO2IuSyYmbi5jeWNUb2tlbiYmKHYuY3ljVG9rZW49bi5jeWNUb2tlbik7Yi5lbmFibGVQcml2YWN5RmlsdGVyJiYodi5lbmFibGVQcml2YWN5RmlsdGVyPSEwKTtuLmlzRmxpbmcmJih2LmZsaW5nPSEwKTt2YXIgaD1uLmZvcmNlQWRzVXJsO2lmKGgpe2s9e307dmFyIHg9W107aD1oLnNwbGl0KCIsIik7Zm9yKHZhciBMIG9mIGgpe3ZhciBlPQpMLnNwbGl0KCJ8Iik7ZS5sZW5ndGghPT0zfHxMLmluY2x1ZGVzKCI9Iil8fChlWzBdPWBicmVha3R5cGU9JHtlWzBdfWAsZVsxXT1gb2Zmc2V0PSR7ZVsxXX1gLGVbMl09YHVybD0ke2VbMl19YCk7aD17YWR0eXBlOiJ2aWRlb19hZCJ9O2Zvcih2YXIgRyBvZiBlKXtsZXQgW3osLi4uQ109Ry5zcGxpdCgiPSIpO2hbel09Qy5qb2luKCI9Iil9ZT1oLnVybDtsZXQgSD1oLnByZXNldGFkLEE9aC52aXJhbHJlc3BvbnNldXJsLHk9TnVtYmVyKGguY2FtcGFpZ25pZCksVD1oLmJpYmxpb3RlY2FhZGlkO2lmKGguYWR0eXBlPT09ImluX2Rpc3BsYXlfYWQiKWUmJihrLnVybD1lKSxIJiYoay5wcmVzZXRBZD1IKSxBJiYoay52aXJhbEFkUmVzcG9uc2VVcmw9QSkseSYmKGsudmlyYWxDYW1wYWlnbklkPVN0cmluZyh5KSksVCYmKGsuYmlibGlvdGVjYUFkSWQ9VCk7ZWxzZSBpZihoLmFkdHlwZT09PSJ2aWRlb19hZCIpe2xldCB6PXtvZmZzZXQ6e2tpbmQ6Ik9GRlNFVF9NSUxMSVNFQ09ORFMiLHZhbHVlOlN0cmluZyhOdW1iZXIoaC5vZmZzZXQpfHwKMCl9fTtpZihoPUNJWltoLmJyZWFrdHlwZV0pei5icmVha1R5cGU9aDtlJiYoei51cmw9ZSk7SCYmKHoucHJlc2V0QWQ9SCk7QSYmKHoudmlyYWxBZFJlc3BvbnNlVXJsPUEpO3kmJih6LnZpcmFsQ2FtcGFpZ25JZD1TdHJpbmcoeSkpO1QmJih6LmJpYmxpb3RlY2FBZElkPVQpO3gucHVzaCh6KX19T2JqZWN0LmtleXMoaykubGVuZ3RoPjA/di5mb3JjZUFkUGFyYW1ldGVycz17dmlkZW9BZHM6eCxpbkRpc3BsYXlBZDprfTp2LmZvcmNlQWRQYXJhbWV0ZXJzPXt2aWRlb0Fkczp4fX1uLmlzSW5saW5lUGxheWJhY2tOb0FkJiYodi5pc0lubGluZVBsYXliYWNrTm9BZD0hMCk7bi5pc0xpdmluZ1Jvb21EZWVwbGluayYmKHYuaXNMaXZpbmdSb29tRGVlcGxpbms9ITApO0w9bi5zUztpZihMIT1udWxsKXtMPXtzdGFydFdhbGx0aW1lOlN0cmluZyhMKX07aWYoRz1uLnptKUwubWFuaWZlc3REdXJhdGlvbj1TdHJpbmcoR3x8MTQ0MDApO3YubGl2ZUNvbnRleHQ9TH1uLm11dGVkQXV0b3BsYXkmJgoodi5tdXRlZEF1dG9wbGF5PSEwLEw9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCksTD8uZW1iZWRzSG9zdEZsYWdzPy5hbGxvd011dGVkQXV0b3BsYXlEdXJhdGlvbk1vZGUmJkw/LmVtYmVkc0hvc3RGbGFncz8uYWxsb3dNdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlLmluY2x1ZGVzKHVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pJiYodi5tdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlPXVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pKTtpZihuLmZCPzA6bi5QWCl2LnNwbGF5PSEwO0w9bi52bmQ7TD09PTUmJih2LnZuZD1MKTtMPXt9O2lmKEc9bi5pc01keFBsYXliYWNrKUwudHJpZ2dlcmVkQnlNZHg9RztpZihHPW4uRmYpTC5za2lwcGFibGVBZHNTdXBwb3J0ZWQ9Ry5zcGxpdCgiLCIpLmluY2x1ZGVzKCJza2EiKTtpZih4PW4uVUspe0c9bi5jTDtrPVtdO2Zvcih2YXIgciBvZiBpSih4KSl7eD1yLnBsYXRmb3JtO3g9e2FwcGxpY2F0aW9uU3RhdGU6ci5Fcz8KIklOQUNUSVZFIjoiQUNUSVZFIixjbGllbnRGb3JtRmFjdG9yOkJEalt4XXx8IlVOS05PV05fRk9STV9GQUNUT1IiLGNsaWVudE5hbWU6dUpbci5oal18fCJVTktOT1dOX0lOVEVSRkFDRSIsY2xpZW50VmVyc2lvbjpyLmRldmljZVZlcnNpb258fCIiLHBsYXRmb3JtOkZoaVt4XXx8IlVOS05PV05fUExBVEZPUk0ifTtoPXt9O2lmKEcpe3ZhciBOPXZvaWQgMDt0cnl7Tj1KU09OLnBhcnNlKEcpfWNhdGNoKEgpe2cuR3EoSCl9TiYmKGg9e3BhcmFtczpbe2tleToibXMiLHZhbHVlOk4ubXN9XX0sTi5hZHZlcnRpc2luZ19pZCYmKGguYWR2ZXJ0aXNpbmdJZD1OLmFkdmVydGlzaW5nX2lkKSxOLmxpbWl0X2FkX3RyYWNraW5nIT09dm9pZCAwJiZOLmxpbWl0X2FkX3RyYWNraW5nIT09bnVsbCYmKGgubGltaXRBZFRyYWNraW5nPU4ubGltaXRfYWRfdHJhY2tpbmcpLHgub3NOYW1lPU4ub3NfbmFtZSx4LnVzZXJBZ2VudD1OLnVzZXJfYWdlbnQseC53aW5kb3dIZWlnaHRQb2ludHM9Ti53aW5kb3dfaGVpZ2h0X3BvaW50cywKeC53aW5kb3dXaWR0aFBvaW50cz1OLndpbmRvd193aWR0aF9wb2ludHMpfWsucHVzaCh7YWRTaWduYWxzSW5mbzpoLHJlbW90ZUNsaWVudDp4fSl9TC5yZW1vdGVDb250ZXh0cz1rfXI9bi5zb3VyY2VDb250YWluZXJQbGF5bGlzdElkO049bi5zZXJpYWxpemVkTWR4TWV0YWRhdGE7aWYocnx8TilHPXt9LHImJihHLm1keFBsYXliYWNrQ29udGFpbmVySW5mbz17c291cmNlQ29udGFpbmVyUGxheWxpc3RJZDpyfSksTiYmKEcuc2VyaWFsaXplZE1keE1ldGFkYXRhPU4pLEwubWR4UGxheWJhY2tTb3VyY2VDb250ZXh0PUc7di5tZHhDb250ZXh0PUw7cj1XLndpZHRoO3I+MCYmKHYucGxheWVyV2lkdGhQaXhlbHM9TWF0aC5yb3VuZChyKSk7aWYoVz1XLmhlaWdodCl2LnBsYXllckhlaWdodFBpeGVscz1NYXRoLnJvdW5kKFcpO0QhPT0wJiYodi52aXM9RCk7aWYoRD1iLndpZGdldFJlZmVycmVyKXYud2lkZ2V0UmVmZXJyZXI9RC5zdWJzdHJpbmcoMCwxMjgpO2cubzQoYikmJnYmJih2LmFuY2VzdG9yT3JpZ2lucz0KYi5hbmNlc3Rvck9yaWdpbnMpO24uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQmJih2LmNvbXBvc2l0ZVZpZGVvQ29udGV4dD17ZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ6bi5kZWZhdWx0QWN0aXZlU291cmNlVmlkZW9JZH0pO2lmKG49Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCkpdi5lbmNyeXB0ZWRIb3N0RmxhZ3M9bi5lbmNyeXB0ZWRIb3N0RmxhZ3M7cmV0dXJuIHZ9Owp6UD1mdW5jdGlvbihuKXtpZihuLnJhbmdlKXJldHVybiBuLlc7bj1uLkF3WzBdO3JldHVybiBNYXRoLnJvdW5kKG4uSypuLlBKLmluZm8uTnMpfTsKd0xVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE1hdGgubWF4KDAsbi5Bd1swXS5YLVcpfTsKbFQ9ZnVuY3Rpb24obixXLEQpe2Zvcig7bjtuPW4ucGFyZW50Tm9kZSl7aWYoIW4uYXR0cmlidXRlc3x8RCYmbi5ub2RlTmFtZSE9PUQpY29udGludWU7bGV0IGI9bi5nZXRBdHRyaWJ1dGUoVyk7aWYoYilyZXR1cm4gYn1yZXR1cm4iIn07ClRQPWZ1bmN0aW9uKG4sVyl7Zm9yKDtuO249bi5wYXJlbnROb2RlKXtsZXQgRD1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKFcpO2lmKEQubGVuZ3RoPjApcmV0dXJuIERbMF19cmV0dXJuIG51bGx9OwpqeD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gMDt2YXIgVz1uLm1hdGNoKC9QVCgoWzAtOV0qKUgpPygoWzAtOV0qKU0pPygoWzAtOS5dKilTKT8vKTtyZXR1cm4gVz8oTnVtYmVyKFdbMl0pfDApKjM2MDArKE51bWJlcihXWzRdKXwwKSo2MCsoTnVtYmVyKFdbNl0pfDApOk51bWJlcihuKXwwfTsKQ3o9ZnVuY3Rpb24obil7cmV0dXJuIG4ubWF0Y2goL14oXGR7NH0pLShcZHsyfSktKFxkezJ9KVQoXGR7Mn0pOihcZHsyfSk6KFxkezJ9KVwuKFxkezN9KSQvKT9gJHtufVpgOm59OwpNZ009ZnVuY3Rpb24obil7dmFyIFc9bi5XO24uVz1bXTtyZXR1cm4gV307ClJBUz1mdW5jdGlvbihuKXtuLk58fChuLk49bmV3IEJfKTtyZXR1cm4gbi5OfTsKUVdNPWZ1bmN0aW9uKG4sVyl7bi5KW1ddfHwobi5KW1ddPW5ldyBCXyk7cmV0dXJuIG4uSltXXX07ClZnaT1mdW5jdGlvbihuLFcpe24uV1tXXXx8KG4uV1tXXT1uZXcgQl8pO3JldHVybiBuLldbV119OwpjSGo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtXPUFycmF5LmZyb20oVy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikpO2ZvcihsZXQgYiBvZiBXKXtXPWIucGFyZW50Tm9kZS5wYXJlbnROb2RlO2xldCB2PW51bGw7Vy5ub2RlTmFtZT09PSJQZXJpb2QiP3Y9UkFTKG4pOlcubm9kZU5hbWU9PT0iQWRhcHRhdGlvblNldCI/KFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fFcuZ2V0QXR0cmlidXRlKCJtaW1ldHlwZSIpfHwiIix2PVFXTShuLFcpKTpXLm5vZGVOYW1lPT09IlJlcHJlc2VudGF0aW9uIiYmKFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fCIiLHY9VmdpKG4sVykpO2lmKHY9PW51bGwpcmV0dXJuO3YudXBkYXRlKGIpO2cuUTIoRCxNZ00odikpfWcuUTIobi5YLEQpO3RVaChuLlgsYj0+Yi5zdGFydFNlY3MqMUUzK2IuTil9OwphRFU9ZnVuY3Rpb24obil7bi5OJiYobi5OLk49W10pO2cuYV8obi5KLFc9PntXLk49W119KTsKZy5hXyhuLlcsVz0+e1cuTj1bXX0pfTsKRng9ZnVuY3Rpb24obixXKXtyZXR1cm4gRGUobi5zZWdtZW50cyxEPT5XLUQuaiQpfTsKTUk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uaW5kZXguVihXKSx2PW4uaW5kZXguZ2V0U3RhcnRUaW1lKFcpLGs9bi5pbmRleC5nZXREdXJhdGlvbihXKTtEP2s9RD0wOkQ9bi5pbmZvLk5zKms7cmV0dXJuIG5ldyB3ayhbbmV3IHFJKDMsbix2b2lkIDAsIm90ZkNyZWF0ZVJlcXVlc3RJbmZvRm9yU2VnbWVudCIsVyx2LGssMCxEKV0sYil9OwpuR1M9ZnVuY3Rpb24obixXKXtpZighbi5pbmRleC5pc0xvYWRlZCgpKXt2YXIgRD1bXSxiPVcuajtXPVcuSy5zcGxpdCgiLCIpLmZpbHRlcihlPT5lLmxlbmd0aD4wKTsKdmFyIHY9MCxrPTAsaD0wLHg9L14oXGQrKS8sTD0vcj0oXGQrKS87Zm9yKGxldCBlPTA7ZTxiO2UrKyl7aWYoaDw9MClpZihoPVcuc2hpZnQoKSxrPShrPXguZXhlYyhoKSk/K2tbMV0vMUUzOjApaD0oaD1MLmV4ZWMoaCkpPytoWzFdOjAsaCs9MTtlbHNlIHJldHVybjtELnB1c2gobmV3IFI0KGUsdixrLE5hTiwic3EvIisoZSsxKSkpO3YrPWs7aC0tfW4uaW5kZXguYXBwZW5kKEQpfX07CmcuY189ZnVuY3Rpb24obixXLC4uLkQpe2cuUXMoNSxuIGluc3RhbmNlb2YgZy5Wcz9uLnRhZzpuLFcsLi4uRCl9OwpnLlFzPWZ1bmN0aW9uKG4sVyxELC4uLmIpe3ZhciB2PW49PT02PyJFUlJPUiI6IldBUk5JTkciO0Q9YGIke0R9YDtnLlhqKG5ldyBnLlF4KEQsLi4uYiksdik7Yi51bnNoaWZ0KEQpO2I9Yi5qb2luKCIsICIpO3Y9YTQuZ2V0KFcpO2lmKCF2KXt2PWB5dHBsb2cuJHtXfWA7RD01O3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5sb2NhbFN0b3JhZ2Vbdl0pJiYoRD0rd2luZG93LmxvY2FsU3RvcmFnZVt2XSksd2luZG93LnNlc3Npb25TdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5zZXNzaW9uU3RvcmFnZVt2XSkmJihEPSt3aW5kb3cuc2Vzc2lvblN0b3JhZ2Vbdl0pfWNhdGNoe31hNC5zZXQoVyxEKTt2PUR9bjx2fHwobj1XS3csdj1uLk4uZ2V0KFcpLHZ8fCh2PW5ldyBEODIsbi5OLnNldChXLHYpKSxuPXYsdj1EYXRlLm5vdygpLEQ9TWF0aC5mbG9vcigodi1uLkopKi4wMSksRD4wJiYobi5OPU1hdGgubWluKG4uTitELDEwKSxuLko9diksbi5OPjA/KG4uTi0tLG49CiEwKTpuPSExLG4/KHR5cGVvZiBiPT09ImZ1bmN0aW9uIiYmKGI9YigpKSxjb25zb2xlLmxvZyhgcGx5ci4ke1d9YCxiKSk6KGI9KG5NLmdldChXKT8/MCkrMSxuTS5zZXQoVyxiKSxiJTEwMD09PTEmJmNvbnNvbGUud2FybigicGx5ciIsYHBseXIuJHtXfSBpcyBjaGF0dHksIGRyb3BwaW5nIGxvZ3MuYCkpKX07CkRPPWZ1bmN0aW9uKG4pe2lmKCFuLkspe2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPWt4KFcsMCwxODM2MDE5NTc0KTtpZihEKXtEPUQub2Zmc2V0K0Quc2l6ZTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsRCkpO1c9Yn1lbHNlIFc9bnVsbH1lbHNlIFc9eUhyKG5ldyB0WShnLldSKG4pKSk7VyYmKG4uaW5mby5QSi5KPVcsbi5LPSEwKX19OwpnLldSPWZ1bmN0aW9uKG4pe3JldHVybiBHNihuLkopfTsKdlI9ZnVuY3Rpb24obixXKXtXPU1hdGgubWluKFcsbi5pbmZvLkopO3ZhciB7Q3M6RCxZOTpifT1uLkouc3BsaXQoVyksdj1uZXcgYjgobmV3IHFJKG4uaW5mby50eXBlLG4uaW5mby5QSixuLmluZm8ucmFuZ2Usbi5pbmZvLlksbi5pbmZvLmokLG4uaW5mby5zZWdtZW50U3RhcnRUaW1lLG4uaW5mby5XLG4uaW5mby5OLFcsITEsbi5pbmZvLnZELG4uaW5mby5jbGlwSWQsbi5pbmZvLkQpLEQpO3YuWD1uLlg7di5XPW4uVztXPW5ldyBiOChuZXcgcUkobi5pbmZvLnR5cGUsbi5pbmZvLlBKLG4uaW5mby5yYW5nZSxuLmluZm8uWSxuLmluZm8uaiQsbi5pbmZvLnNlZ21lbnRTdGFydFRpbWUsbi5pbmZvLlcsbi5pbmZvLk4rVyxuLmluZm8uSi1XLG4uaW5mby5hWixuLmluZm8udkQsbi5pbmZvLmNsaXBJZCxuLmluZm8uRCksYik7Vy5YPW4uWDtXLlc9bi5XO3JldHVyblt2LFddfTsKZy5rWD1mdW5jdGlvbihuKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtpZihuLlchPT0tMSlyZXR1cm4gbi5XO2lmKG4uTiYmakoobi5OKSlyZXR1cm4gbi5XPWpKKG4uTiksbi5XO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPW4uaW5mby5QSi5KLGI9TmFOO2xldCB2PU5hTixrPTA7Zm9yKDtWTChXLGspOyl7bGV0IGg9Y0EoVyxrKTtoLnR5cGU9PT0xOTM2Mjg2ODQwP3Y9aC5kYXRhLmdldFVpbnQzMihoLmRhdGFPZmZzZXQrOCk6aC50eXBlPT09MTgzNjQ3NjUxNj92PWcuYkwoaCk6aC50eXBlPT09MTk1Mjg2NzQ0NCYmaXNOYU4oYikmJihiPWcueHgoaCkpO2s9YXIoaC50eXBlKT9rKzg6aytoLnNpemV9IXYmJkQmJih2PXZ3KEQpKTtXPWIvdn1lbHNlIFc9bmV3IHRZKGcuV1IobikpLEQ9bi5WP1c6bmV3IHRZKG5ldyBEYXRhVmlldyhuLmluZm8uUEouSi5idWZmZXIpKSxiPUtzKEQpLEQ9Vy5wb3MsVy5wb3M9MCxQdyhXKT8Kc1koVywyMzEpPyhiPWZzKFcpKmIvMUU5LFcucG9zPUQsVz1iKTooVy5wb3M9RCxXPU5hTik6KFcucG9zPUQsVz1OYU4pO24uVz1XfHxuLmluZm8uWDtyZXR1cm4gbi5XfTsKaE09ZnVuY3Rpb24obixXKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtuLlc9VztpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIEQ9Zy5XUihuKTtuPW4uaW5mby5QSi5KO3ZhciBiPU5hTix2PU5hTjtsZXQgTD0wO2Zvcig7VkwoRCxMKTspe2xldCBlPWNBKEQsTCk7aXNOYU4oYikmJihlLnR5cGU9PT0xOTM2Mjg2ODQwP2I9ZS5kYXRhLmdldFVpbnQzMihlLmRhdGFPZmZzZXQrOCk6ZS50eXBlPT09MTgzNjQ3NjUxNiYmKGI9Zy5iTChlKSkpO2lmKGUudHlwZT09PTE5NTI4Njc0NDQpeyFiJiZuJiYoYj12dyhuKSk7dmFyIGs9Zy54eChlKTtpc05hTih2KSYmKHY9TWF0aC5yb3VuZChXKmIpLWspO3ZhciBoPWU7ays9djtpZihoLmRhdGEuZ2V0VWludDgoaC5kYXRhT2Zmc2V0KSl7dmFyIHg9aC5kYXRhO2g9aC5kYXRhT2Zmc2V0KzQ7eC5zZXRVaW50MzIoaCxNYXRoLmZsb29yKGsvNDI5NDk2NzI5NikpO3guc2V0VWludDMyKGgrNCxrJjQyOTQ5NjcyOTUpfWVsc2UgaC5kYXRhLnNldFVpbnQzMihoLmRhdGFPZmZzZXQrCjQsayl9TD1hcihlLnR5cGUpP0wrODpMK2Uuc2l6ZX1yZXR1cm4hMH1EPW5ldyB0WShnLldSKG4pKTtuPW4uVj9EOm5ldyB0WShuZXcgRGF0YVZpZXcobi5pbmZvLlBKLkouYnVmZmVyKSk7Yj1LcyhuKTtuPUQucG9zO0QucG9zPTA7aWYoUHcoRCkmJnNZKEQsMjMxKSlpZih2PU5rKEQsITApLFc9TWF0aC5mbG9vcihXKjFFOS9iKSxNYXRoLmNlaWwoTWF0aC5sb2coVykvTWF0aC5sb2coMikvOCk+dilXPSExO2Vsc2V7Zm9yKGI9di0xO2I+PTA7Yi0tKUQuTi5zZXRVaW50OChELnBvcytiLFcmMjU1KSxXPj4+PTg7RC5wb3M9bjtXPSEwfWVsc2UgVz0hMTtyZXR1cm4gV307CnhYPWZ1bmN0aW9uKG4sVyl7bi50aW1lc3RhbXBPZmZzZXQ+MCYmKFctPW4udGltZXN0YW1wT2Zmc2V0KTt2YXIgRD1nLmtYKG4pK1c7aE0obixEKTtuLnRpbWVzdGFtcE9mZnNldD1XfTsKTE09ZnVuY3Rpb24obil7Zy5SQihuLmluZm8uUEouaW5mbyl8fG4uaW5mby5QSi5pbmZvLnFIKCk7aWYobi5OJiZuLmluZm8udHlwZT09PTYpcmV0dXJuIG4uTi5yYjtpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIFc9Zy5XUihuKTt2YXIgRD0wO1c9Zy5lUChXLDE5MzYyODY4NDApO2Zvcih2YXIgYiBvZiBXKVc9THMoYiksRCs9Vy5xZ1swXS9XLnRpbWVzY2FsZTtEPUR8fE5hTjtpZighKEQ+PTApKWE6e0Q9Zy5XUihuKTtiPW4uaW5mby5QSi5KO2xldCByPVc9MDtmb3IodmFyIHY9MDtWTChELFcpOyl7bGV0IE49Y0EoRCxXKTtpZihOLnR5cGU9PT0xODM2NDc2NTE2KXI9Zy5iTChOKTtlbHNlIGlmKE4udHlwZT09PTE4MzYwMTk1NTgpeyFyJiZiJiYocj12dyhiKSk7aWYoIXIpe0Q9TmFOO2JyZWFrIGF9dmFyIGs9a3goTi5kYXRhLE4uZGF0YU9mZnNldCwxOTUzNjUzMDk0KSxoPWs7az1yO3ZhciB4PWt4KGguZGF0YSxoLmRhdGFPZmZzZXQsMTk1Mjg2ODQ1Mik7aD1reChoLmRhdGEsCmguZGF0YU9mZnNldCwxOTUzNjU4MjIyKTt2YXIgTD15TCh4KTt5TCh4KTtMJjImJnlMKHgpO3g9TCY4P3lMKHgpOjA7dmFyIGU9eUwoaCksRz1lJjE7TD1lJjQ7bGV0IEg9ZSYyNTYsQT1lJjUxMix5PWUmMTAyNDtlJj0yMDQ4O2xldCBUPUVEKGgpO0cmJnlMKGgpO0wmJnlMKGgpO0c9MDtmb3IobGV0IHo9MDt6PFQ7eisrKXtsZXQgQz1IP3lMKGgpOng7QSYmeUwoaCk7TCYmej09PTB8fCF5fHx5TChoKTtlJiZ5TChoKTtHKz1DfXYrPUcva31XPWFyKE4udHlwZSk/Vys4OlcrTi5zaXplfUQ9dnx8TmFOfUR8fGcuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcGFyc2luZyBibWZmIixuLmluZm8uZ2EoKSkpfWVsc2UgRD1uZXcgdFkoZy5XUihuKSksbj1uLlY/RDpuZXcgdFkobmV3IERhdGFWaWV3KG4uaW5mby5QSi5KLmJ1ZmZlcikpLEQ9RUVaKEQsS3MobikpO3JldHVybiBEfTsKZUc9ZnVuY3Rpb24obixXPSExKXt2YXIgRD1MTShuKTtuPVc/MDpuLmluZm8uSztyZXR1cm4gRHx8bn07CmcuZ3k9ZnVuY3Rpb24obil7aWYobi5pbmZvLlBKLlcoKSlyZXR1cm4gbi5pbmZvLlc7bi5YPT09LTEmJihuLlg9TE0obikpO3JldHVybiBuLlh8fG4uaW5mby5XfTsKWFo9ZnVuY3Rpb24obil7dmFyIFc9Zy5XUihuKSxEPWcubnMoVywwLDE5MzYyODY4NDApO0Q9RD9ELmRhdGEuZ2V0VWludDMyKEQuZGF0YU9mZnNldCs4KTpOYU47aXNOYU4oRCkmJihuPW4uaW5mby5QSi5KLEQ9KFc9Zy5ucyhXLDAsMTgzNjQ3NjUxNikpP2cuYkwoVyk6bj92dyhuKTpOYU4pO3JldHVybiBEfTsKcSQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uaW5mby5QSi5pbmZvLnFIKCkmJnJkKG4uSiwwKT09PTE2MH07CkdpPWZ1bmN0aW9uKG4pe2lmKCFuLk4pe2cuUkIobi5pbmZvLlBKLmluZm8pfHxuLmluZm8uUEouaW5mby5xSCgpO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXZhciBXPWcucWsoZy5XUihuKSk7ZWxzZXtXPW5ldyB0WShnLldSKG4pKTtsZXQgYj1XLnBvcztXLnBvcz0wO2xldCB2PW51bGwsaz1udWxsO2lmKCR4KFcsWzQwODEyNTU0MywzMDc1NDQ5MzVdKSl7bGV0IGg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxoOyl7aWYoTmsoVywhMSkhPT0yOTU1NSl7SlkoVyk7Y29udGludWV9bGV0IHg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczx4Oyl7aWYoTmsoVywhMSkhPT0yNjU2OCl7SlkoVyk7Y29udGludWV9bGV0IEw9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxMOyl7dmFyIEQ9TmsoVywhMSk7aWYoRD09PTE3NTQzKXtpZihEPW10KFcpLEQ9UUwoRCkpaWYoaylmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoRCkpa1tlXT1EW2VdO2Vsc2Ugaz1EfWVsc2UgRD09PTE3ODI3PyhEPQptdChXKSx2fHwodj1EKSk6SlkoVyl9fX19Vy5wb3M9YjtXPWs/bmV3IFg1KGssdik6bnVsbH1uLk49V319Owp0TT1mdW5jdGlvbihuLFcpe3JldHVybiBXKzE8bi5jb3VudHx8bi5XP24ub2Zmc2V0c1tXKzFdLW4ub2Zmc2V0c1tXXTotMX07CiRYPWZ1bmN0aW9uKG4pe24ub2Zmc2V0cy5sZW5ndGg8bi5jb3VudCsxJiZuLnJlc2l6ZShuLm9mZnNldHMubGVuZ3RoKjIpfTsKcnk9ZnVuY3Rpb24obixXLEQpe24uY291bnQrKzskWChuKTtuLm9mZnNldHNbbi5jb3VudF09bi5vZmZzZXRzW24uY291bnQtMV0rVztuLnN0YXJ0VGlja3Nbbi5jb3VudF09bi5zdGFydFRpY2tzW24uY291bnQtMV0rRH07CnNOPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgaz1XO2s8PW4uaW5kZXgueCQoKTtrKyspe2xldCBoPVdfKG4uaW5kZXguTihrKSx0TShuLmluZGV4LGspKSx4PW4uaW5kZXguZ2V0U3RhcnRUaW1lKGspLEw9bi5pbmRleC5nZXREdXJhdGlvbihrKSxlPU1hdGgubWF4KDAsRC1oLnN0YXJ0KSxHPU1hdGgubWluKGguZW5kKzEsRCtiKS0oaC5zdGFydCtlKTt2LnB1c2gobmV3IHFJKDMsbixoLCJnZXRSZXF1ZXN0SW5mb0ZvclJhbmdlIixrLHgsTCxlLEcpKTtpZihoLnN0YXJ0K2UrRz49RCtiKWJyZWFrfXYubGVuZ3RofHwobj1uZXcgZy5ReCgiYjE4OTYxOTU5MyIsYCR7V31gLGAke0R9YCxgJHtifWApLGcuWGoobikpO3JldHVybiBuZXcgd2sodil9OwpOJD1mdW5jdGlvbihuKXtpZihuPW4uY29sb3JJbmZvKWlmKG49bi50cmFuc2ZlckNoYXJhY3RlcmlzdGljcylyZXR1cm4gYnFVW25dO3JldHVybiBudWxsfTsKWVg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1heChuLFcpO249TWF0aC5taW4obixXKTtXPXBNWzBdO2ZvcihsZXQgYj0wO2I8cE0ubGVuZ3RoO2IrKyl7bGV0IHY9cE1bYl0saz1OR1t2XTtpZihEPj1NYXRoLmZsb29yKGsqMTYvOSkqMS4zfHxuPj1rKjEuMylyZXR1cm4gVztXPXZ9cmV0dXJuInRpbnkifTsKZk09ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBIUihuWzFdLG5bMl0sblszXSxuWzRdLG5bNV0sbls2XSxuWzddLG5bOF0sbls5XSxuWzEwXSl9OwpKTT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCIvbXA0Iik+PTA/MTpuLmluZGV4T2YoIi93ZWJtIik+PTA/MjpuLmluZGV4T2YoIi94LWZsdiIpPj0wPzM6bi5pbmRleE9mKCIvdnR0Iik+PTA/NDowfTsKSWQ9ZnVuY3Rpb24obil7cmV0dXJuLyhvcHVzfG1wNGF8ZHRzZXxhYy0zfGVjLTN8aWFtZikvLnRlc3Qobil9OwpTRz1mdW5jdGlvbihuKXtyZXR1cm4vKHZwOXx2cDA5fHZwOHxhdmMxfGF2MDF8YXYwMikvLnRlc3Qobil9OwpRUD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1uZXcgQU07VyBpbiBOR3x8KFc9InNtYWxsIik7Vz09PSJsaWdodCImJihXPSJ0aW55Iik7YiYmdj8odj1OdW1iZXIodiksYj1OdW1iZXIoYikpOih2PU5HW1ddLGI9TWF0aC5yb3VuZCh2KjE2LzkpKTtrPW5ldyBIUihiLHYsMCxudWxsLHZvaWQgMCxXLGssaCk7bj11bmVzY2FwZShuLnJlcGxhY2UoLyZxdW90Oy9nLCciJykpO3JldHVybiBuZXcgbXUoRCxuLHthdWRpbzp4LHZpZGVvOmt9KX07Ck9OPWZ1bmN0aW9uKG4pe3ZhciBXPW5bN10sRD1uWzExXSxiPW5bOV0sdj1uWzhdO3JldHVybiBuZXcgbXUoblsxXSxuWzJdLHtYbjpuWzNdLE5zOm5bNF0sbGFzdE1vZGlmaWVkOm5bNV0sY29udGVudExlbmd0aDpuWzZdLGF1ZGlvOlc/bmV3IEFNKFdbMV0sV1syXSxXWzNdLFdbNF0sV1s1XSxXWzZdLFdbN10sV1s4XSk6dm9pZCAwLHZpZGVvOnY/Zk0odik6dm9pZCAwLGtaOmI/TUcoYik6dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOm5bMTBdLGNhcHRpb25UcmFjazpEP25ldyBLTShEWzFdLERbMl0sRFszXSxEWzRdLERbNV0sRFs2XSk6dm9pZCAwLHN0cmVhbVR5cGU6blsxMl0sQWE6blsxM10sYXBwcm94RHVyYXRpb25NczpuWzE0XX0pfTsKbUY9ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iTUFDMyJ8fG4uSUI9PT0iTUVBQzMifHxuLklCPT09Ik0ifHxuLklCPT09IkkifTsKS2c9ZnVuY3Rpb24obil7cmV0dXJuISFuLmNvbnRlbnRQcm90ZWN0aW9uJiYhIW4uY29udGVudFByb3RlY3Rpb24uZmFpcnBsYXkmJihuLklCPT09IigifHxuLklCPT09IihoInx8bi5JQj09PSJBInx8bi5JQj09PSJNRUFDMyIpfHxQUiYmISFuLmNvbnRlbnRQcm90ZWN0aW9uJiZuLklCPT09IjFlIn07CmcuUkI9ZnVuY3Rpb24obil7cmV0dXJuIG4uY29udGFpbmVyVHlwZT09PTF9OwpNMz1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlLEcscil7dmFyIE49V15uO3ZhciBIOyhuJjc2KT09biYmKEg9YihoLHgsTCxlLEcscikpOyhuPj4xJjE1KT09MSYmKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dLGJbSVszXV0oRCwxKSk7bis5Pj4zPT0zJiYoSD1kZWNvZGVVUklDb21wb25lbnQoRCkpO24tOTwyMyYmKG4+PjEmMTUpPj0xMyYmKERbTl41MjY0XTwoTl41MzQzKSYmKERbTl41MjcwXTw9LTEmJigoKDAsRFtOXjUzMjhdKShEW25ldyBEYXRlKElbTl41MzQ2XSkvKE5eNTk1MSldLERbTl41MjY4XSksRFtOXjUzNDVdKShEW05eNTM2MV0sRFtOXjUyNjhdKSwxKXx8KDAsRFtOXjUzNTFdKSgoMCxEW05eNTM0NF0pKERbTl41MzY2XSxEW05eNTMxOV0pLERbMV0sRFtOXjUzMjBdLERbTl41MzQ4XSkpLERbTl41MjY4XT49LTImJigoMCxEW05eNTM1MV0pKCgwLERbM10pKERbTl41MzcyXSwoMCxEW25ldyBEYXRlKElbNF0pLyhOXjU5NTEpXSkoKSxEW05eNTMxNV0pLApEW05eNTM1Nl0sRFtOXjUyNzFdLERbTl41MzY1XSksRFtOXjUzMjZdKShEW05eNTMyMV0sRFtOXjUzNTZdKSxEWzVdPD0tMiYmKERbTl41Mjc2XTwoTl41MzQxKXx8KCgoKDAsRFtOXjUzMjZdKShEW05eNTMxOV0sRFtOXjUzNzNdKSxEW05eNTI2OV0pKCgwLERbTl41MjY4XSkoRFtOXjUzNTNdLERbTl41MzQ3XSksRFtOXjUzMzZdLCgwLERbNF0pKCgwLERbTl41MzYyXSkoRFtOXjUzNDldLCgwLERbTl41Mjc2XSkoKSxEW05eNTM3NV0pLERbTl41MjY2XSxEW05eNTM1NV0sRFtOXjUzMjhdKSxEW05eNTM2MV0sRFswXSksRFtOXjUzMThdKShEW05eNTM3M10sRFtOXjUzNDBdKSxJW05eNTMxNF0pKSYmKCgwLERbTl41MzI2XSkoKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbbmV3IERhdGUoSVtOXjUzNTNdKS8oTl41OTUxKV0pKCksRFtOXjUzNzBdKSxEW05eNTMyN10pKERbTl41MzQyXSksRFtOXjUzMTNdLCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzI4XSkoKSwKRFtOXjUyNzBdKSxEW05eNTI3NF0sRFtOXjUzNDJdKSxEW05eNTMzNl0pKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzYyXSkoKSxEW05eNTM0OF0pLERbTl41MzI1XSxEW05eNTI2Nl0sRFtOXjUzNTldKSxIPVtdKTtyZXR1cm4gSH07CmcuVmY9ZnVuY3Rpb24obixXKXtyZXR1cm57aXRhZzorbi5pdGFnLGxtdDpXPzA6bi5sYXN0TW9kaWZpZWQseHRhZ3M6bi5KfHwiIn19OwpaTz1mdW5jdGlvbihuKXtyZXR1cm4gbi5JQj09PSI5aCJ8fG4uSUI9PT0iKGgifTsKVU49ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iKCJ8fG4uSUI9PT0iKGgifHxuLklCPT09IkgifHxQUiYmbi5JQj09PSIxZSJ9Owp2R1U9ZnVuY3Rpb24obixXPTEpe3ZhciBEPXt9O24udmlkZW8mJihuLnZpZGVvLndpZHRoJiYoRFtBVC5XSURUSC5uYW1lXT1uLnZpZGVvLndpZHRoKSxuLnZpZGVvLmhlaWdodCYmKERbQVQuSEVJR0hULm5hbWVdPW4udmlkZW8uaGVpZ2h0KSxuLnZpZGVvLmZwcyYmKERbQVQuRlJBTUVSQVRFLm5hbWVdPW4udmlkZW8uZnBzKlcpLG4udmlkZW8uTiYmKERbQVQuRU9URi5uYW1lXT1uLnZpZGVvLk4pLG4uTnMmJihEW0FULkJJVFJBVEUubmFtZV09bi5Ocyo4KlcpLG4uSUI9PT0iKCImJihEW0FULkNSWVBUT0JMT0NLRk9STUFULm5hbWVdPSJzdWJzYW1wbGUiKSxuLnZpZGVvLnByb2plY3Rpb25UeXBlPT09IkVRVUlSRUNUQU5HVUxBUiJ8fG4udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSX1RIUkVFRF9UT1BfQk9UVE9NInx8bi52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIikmJihEW0FULkRFQ09ERVRPVEVYVFVSRS5uYW1lXT0idHJ1ZSIpO24uYXVkaW8/Lm51bUNoYW5uZWxzJiYKbi5JQiE9PSJpIiYmbi5JQiE9PSJJIiYmKERbQVQuQ0hBTk5FTFMubmFtZV09bi5hdWRpby5udW1DaGFubmVscyk7cmV0dXJuIER9Owp5VD1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIEVycm9yP24ubWVzc2FnZTpTdHJpbmcobik7dmFyIEQ9IiI7dHJ5e0Q9SlNPTi5zdHJpbmdpZnkoVyl9Y2F0Y2goYil7RD0iZmFpbGVkIHRvIHN0cmluZ2lmeSBjb25maWcifWcuY18oImRhc2giLDUxOTE5NjY0OSxuLEQpfTsKazNyPWZ1bmN0aW9uKG4pe3ZhciBXPW5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcztpZighVz8uZGVjb2RpbmdJbmZvfHxuLklCPT09ImYiKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgRD17dHlwZTpuLmF1ZGlvJiZuLnZpZGVvPyJmaWxlIjoibWVkaWEtc291cmNlIn07bi52aWRlbyYmKEQudmlkZW89e2NvbnRlbnRUeXBlOm4ubWltZVR5cGUsd2lkdGg6bi52aWRlby53aWR0aHx8NjQwLGhlaWdodDpuLnZpZGVvLmhlaWdodHx8MzYwLGJpdHJhdGU6bi5Ocyo4fHwxRTYsZnJhbWVyYXRlOm4udmlkZW8uZnBzfHwzMH0pO24uYXVkaW8mJihELmF1ZGlvPXtjb250ZW50VHlwZTpuLm1pbWVUeXBlLGNoYW5uZWxzOmAke24uYXVkaW8ubnVtQ2hhbm5lbHN8fDJ9YCxiaXRyYXRlOm4uTnMqOHx8MTI4RTMsc2FtcGxlcmF0ZTpuLmF1ZGlvLnNhbXBsZVJhdGV8fDQ0MTAwfSk7aWYoRU4pdHJ5e3JldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pLmNhdGNoKGI9Pgp7eVQoYixEKX0pfWNhdGNoKGIpe3JldHVybiB5VChiLEQpLFByb21pc2UucmVzb2x2ZSgpfXJldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pfTsKaTg9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dC5wbGF5ZXIudXRpbHMudmlkZW9FbGVtZW50XyIpO258fChuPWcuekYoIlZJREVPIiksZy5HYigieXQucGxheWVyLnV0aWxzLnZpZGVvRWxlbWVudF8iLG4pKTtyZXR1cm4gbn07CnU4PWZ1bmN0aW9uKG4pe3ZhciBXPWk4KCk7cmV0dXJuISEoVyYmVy5jYW5QbGF5VHlwZSYmVy5jYW5QbGF5VHlwZShuKSl9OwpkeT1mdW5jdGlvbihuKXtpZigvb3B1cy8udGVzdChuKSYmZy5vZCYmIUNfKCIzOCIpJiYhZy5kOCgpKXJldHVybiExO2lmKHNlbGYuTWVkaWFTb3VyY2UmJnNlbGYuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZChuKTtpZihzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZSYmc2VsZi5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobik7aWYoL3dlYm0vLnRlc3QobikmJiFUUSgpKXJldHVybiExO249PT0nYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInJiYobj0ndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNGQ0MDFmIicpO3JldHVybiEhdTgobil9OwpoZ1M9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWR5KCd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MjAwMUUiJyl8fGR5KCd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInKTtyZXR1cm4oZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fGR5KCdhdWRpby93ZWJtOyBjb2RlY3M9Im9wdXMiJykpJiYoV3x8IW4pfHx1OCgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFLCBtcDRhLjQwLjIiJyk/bnVsbDoiZm10Lm5vbmVhdmFpbGFibGUifWNhdGNoe3JldHVybiJodG1sNS5taXNzaW5nYXBpIn19Owp6aT1mdW5jdGlvbigpe3ZhciBuPWk4KCk7cmV0dXJuISghbi53ZWJraXRTdXBwb3J0c1ByZXNlbnRhdGlvbk1vZGV8fHR5cGVvZiBuLndlYmtpdFNldFByZXNlbnRhdGlvbk1vZGUhPT0iZnVuY3Rpb24iKX07Cmw4PWZ1bmN0aW9uKCl7dmFyIG49aTgoKTt0cnl7bGV0IFc9bi5tdXRlZDtuLm11dGVkPSFXO3JldHVybiBuLm11dGVkIT09V31jYXRjaHt9cmV0dXJuITF9OwpUaT1mdW5jdGlvbihuLFcpe3JldHVybntzdGFydChEKXtyZXR1cm4gbltEXX0sZW5kKEQpe3JldHVybiBXW0RdfSxsZW5ndGg6bi5sZW5ndGh9fTsKakc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdLHY9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspYi5wdXNoKG4uc3RhcnQoaykpLHYucHVzaChuLmVuZChrKSk7Yi5wdXNoKFcpO3YucHVzaChEKTtiLnNvcnQoKGssaCk9PmstaCk7CnYuc29ydCgoayxoKT0+ay1oKTsKcmV0dXJuIFRpKGIsdil9Owpyaz1mdW5jdGlvbihuLFc9IiwiLEQ9bj9uLmxlbmd0aDowKXt2YXIgYj1bXTtpZihuKWZvcihEPU1hdGgubWF4KG4ubGVuZ3RoLUQsMCk7RDxuLmxlbmd0aDtEKyspYi5wdXNoKGAke24uc3RhcnQoRCkudG9GaXhlZCgzKX0tJHtuLmVuZChEKS50b0ZpeGVkKDMpfWApO3JldHVybiBiLmpvaW4oVyl9OwpDTT1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybi0xO3RyeXtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylpZihuLnN0YXJ0KEQpPD1XJiZuLmVuZChEKT49VylyZXR1cm4gRH1jYXRjaChEKXt9cmV0dXJuLTF9OwpCUj1mdW5jdGlvbihuLFcpe3JldHVybiBDTShuLFcpPj0wfTsKeDhqPWZ1bmN0aW9uKG4sVyl7aWYoIW4pcmV0dXJuIE5hTjtXPUNNKG4sVyk7cmV0dXJuIFc+PTA/bi5zdGFydChXKTpOYU59OwpGWj1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBOYU47Vz1DTShuLFcpO3JldHVybiBXPj0wP24uZW5kKFcpOk5hTn07Cmcud3k9ZnVuY3Rpb24obil7cmV0dXJuIG4mJm4ubGVuZ3RoP24uZW5kKG4ubGVuZ3RoLTEpOk5hTn07Ck0kPWZ1bmN0aW9uKG4pe3JldHVybiBnLnd5KG4pPjB9OwpSZD1mdW5jdGlvbihuLFcpe249RloobixXKTtyZXR1cm4gbj49MD9uLVc6MH07ClFUPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVtdO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKW4uZW5kKGspPFd8fG4uc3RhcnQoayk+RHx8KGIucHVzaChNYXRoLm1heChXLG4uc3RhcnQoaykpLVcpLHYucHVzaChNYXRoLm1pbihELG4uZW5kKGspKS1XKSk7cmV0dXJuIFRpKGIsdil9OwpWVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuU291cmNlQnVmZmVyPyEhU291cmNlQnVmZmVyLnByb3RvdHlwZS5jaGFuZ2VUeXBlOiExfTsKY1I9ZnVuY3Rpb24oKXtyZXR1cm4hISh3aW5kb3cuTWVkaWFTb3VyY2V8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V8fHdpbmRvdy5XZWJLaXRNZWRpYVNvdXJjZXx8d2luZG93LkhUTUxNZWRpYUVsZW1lbnQmJkhUTUxNZWRpYUVsZW1lbnQucHJvdG90eXBlLndlYmtpdFNvdXJjZUFkZElkKX07CmFkPWZ1bmN0aW9uKCl7cmV0dXJuISghd2luZG93Lk1lZGlhU291cmNlfHwhd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCl8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V9OwpuNj1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uVygpPT09Im9wZW4ifWNhdGNoKFcpe3JldHVybiExfX07CldGPWZ1bmN0aW9uKG4sVyl7bjYobik/Zy5tSygoKT0+e1cobil9KTpuLmNhbGxiYWNrPVd9Owp2Rj1mdW5jdGlvbihuLFcsRCl7REgmJihiQShuLm1lZGlhRWxlbWVudCx7bDoibXN3c3NiIixzcjpuLm1lZGlhRWxlbWVudC5ZYT8ucGcoKX0sITEpLFcuaCQobi5MTCxuKSxELmgkKG4uTEwsbikpO24uTj1XO24uSj1EO2cudShuLFcpO2cudShuLEQpfTsKTEtVPWZ1bmN0aW9uKG4sVyxELGI9IiIpe2I9Vy5taW1lVHlwZStiO3ZhciB2PUQubWltZVR5cGU7Vz1XLklCO0Q9RC5JQjtuLlZRPW4ubWVkaWFTb3VyY2U/LmFkZFNvdXJjZUJ1ZmZlcih2KTtuLmUkPWIuc3BsaXQoIjsiKVswXT09PSJmYWtlc2IiP3ZvaWQgMDpuLm1lZGlhU291cmNlPy5hZGRTb3VyY2VCdWZmZXIoYik7bi5FViYmKG4uRVYud2Via2l0U291cmNlQWRkSWQoIjAiLHYpLG4uRVYud2Via2l0U291cmNlQWRkSWQoIjEiLGIpKTtEPW5ldyBrZyhuLlZRLG4uRVYsIjAiLEpNKHYpLEQsITEpO2I9bmV3IGtnKG4uZSQsbi5FViwiMSIsSk0oYiksVywhMCk7dkYobixELGIpfTsKTDY9ZnVuY3Rpb24obixXLEQsYil7aWYoIW4uTnx8IW4uSilyZXR1cm4gbnVsbDt2YXIgdj1uLk4uaXNWaWV3KCk/bi5OLmskOm4uTixrPW4uSi5pc1ZpZXcoKT9uLkouayQ6bi5KLGg9bmV3IGhaKG4ubWVkaWFFbGVtZW50LG4ubWVkaWFTb3VyY2UsITApO2guaj1uLmo7dkYoaCxuZXcgeGcodixXLEQsYiksbmV3IHhnKGssVyxELGIpKTtuNihuKXx8bi5OLnlPKG4uTi5TVygpKTtyZXR1cm4gaH07CmVnMT1mdW5jdGlvbihuKXtyZXR1cm4gZTQoKFcsRCk9Pmcuc3ooVyxELDQsMUUzKSxuLHtmb3JtYXQ6IlJBVyIsCm1ldGhvZDoiR0VUIix3aXRoQ3JlZGVudGlhbHM6ITB9KX07CmcuZ3Q9ZnVuY3Rpb24obil7dmFyIFc7bi5yZXNwb25zZVR5cGUmJm4ucmVzcG9uc2VUeXBlIT09InRleHQiP24ucmVzcG9uc2VUeXBlPT09ImFycmF5YnVmZmVyIiYmKFc9cFIobmV3IFVpbnQ4QXJyYXkobi5yZXNwb25zZSkpKTpXPW4ucmVzcG9uc2VUZXh0O3JldHVybiFXfHxXLmxlbmd0aD4yMDQ4PyIiOlcuaW5kZXhPZigiaHR0cHM6Ly8iKT09PTA/VzoiIn07CmU0PWZ1bmN0aW9uKG4sVyxEKXtXLm1hdGNoKGdHcik7cmV0dXJuIG4oVyxEKS50aGVuKGI9Pnt2YXIgdj1nLmd0KGIueGhyKTtyZXR1cm4gdj9lNChuLHYsRCk6Yi54aHJ9KX07ClhKaT1mdW5jdGlvbihuLFcsRCl7aWYoIW4/LldjKCkpcmV0dXJuITE7dmFyIGI9Vy5zb21lKGg9PmgucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSInx8aC5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iKSx2PVcuc29tZShoPT5oLnByb2plY3Rpb25UeXBlPT09Ik1FU0giKSxrPVcuc29tZShoPT5oLnN0ZXJlb0xheW91dD09PTEpOwpXPVcuc29tZShoPT5oLmlzSGRyKCkpOwpuPSFEJiYhVyYmbi5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBifHx2fHxrfHxufTsKcXo9ZnVuY3Rpb24obixXLEQsYil7aWYoWEppKG4sVyxEKSlyZXR1cm4hMDtpZighbj8udE0oKXx8IVh2KG4sYikpcmV0dXJuITE7bj1XLnNvbWUodj0+di5pc0hkcigpKTsKcmV0dXJuIER8fG4/ITE6ITB9OwpxdWo9ZnVuY3Rpb24obil7cmV0dXJuIGcub00obixXPT4iRk9STUFUX1NUUkVBTV9UWVBFX09URiI9PT1XLnR5cGUpPyJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIjoiRk9STUFUX1NUUkVBTV9UWVBFX1VOS05PV04ifTsKRzNDPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uZXcgZy5HeCgiIixiLmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4pe249dFooaCxXLGsuZHVyYXRpb24sYix2KTtsZXQge0VsOngsczpMLHk3OmV9PVAwKDE1LDcwMCxoKTsoRD1SeCh4fHxoLnVybHx8IiIsZSxMKSkmJihuLnN0cmVhbVR5cGU9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/JGcoayxuZXcgcnQoRCxuKSk6JGcoayxuZXcgc2soRCxuLERKKGguaW5pdFJhbmdlKSxESihoLmluZGV4UmFuZ2UpKSkpfWsuaXNPdGY9ITA7cmV0dXJuIGt9Owp0T1o9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGIuZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj10WihoLFcsay5kdXJhdGlvbixiLHYpO0Q9REooaC5pbml0UmFuZ2UpO2xldCB4PURKKGguaW5kZXhSYW5nZSkse0VsOkwsczplLHk3Okd9PVAwKDEzLDcwMixoKSxyPVJ4KEx8fGgudXJsfHwiIixHLGUpO3ImJiRnKGssbmV3IHNrKHIsbixELHgpKX1yZXR1cm4ga307CnRaPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uLm1pbWVUeXBlfHwiIixoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO2g9aD9oLnRvU3RyaW5nKCk6IiI7eCYmKGgrPWA7JHt4fWApO3g9aDtpZihTRyhrKSl7dmFyIEw9bi53aWR0aHx8NjQwO2g9bi5oZWlnaHR8fDM2MDtsZXQgeT1uLmZwcyxUPW4ucXVhbGl0eUxhYmVsLHo9bi5xdWFsaXR5T3JkaW5hbCxDPW4uY29sb3JJbmZvLFE9bi5wcm9qZWN0aW9uVHlwZTt2YXIgZTtuLnN0ZXJlb0xheW91dCYmKGU9JDh4W24uc3RlcmVvTGF5b3V0XSk7bGV0IFY9TiQobil8fHZvaWQgMDt2YXIgRztDPy5wcmltYXJpZXMmJihHPXIkeFtDLnByaW1hcmllc118fHZvaWQgMCk7TD1uZXcgSFIoTCxoLHksUSxlLHZvaWQgMCxULHomJk56W3pdLFYsRywobi52aWRlb1RyYWNrPy5hc3NvY2lhdGVkQXVkaW9UcmFja0lkPy5sZW5ndGg/PzApPT09MCk7az1wNihrLEwsWWdbbi5pdGFnfHwiIl0pO0hGJiYoays9IjsgZW5hYmxlZmx1c2hkdXJpbmdzZWVrPXRydWUiKTsKZjYmJihrKz0iOyBlbmFibGVyZXNldGF1ZGlvZGVjb2Rlcj10cnVlIik7cXooYixbTF0sVyx2KSYmKGsrPSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUiKX12YXIgcjtpZihJZChrKSl7dmFyIE49bi5hdWRpb1NhbXBsZVJhdGU7Yj1uLmF1ZGlvVHJhY2s7Tj1uZXcgQU0oTj8rTjp2b2lkIDAsbi5hdWRpb0NoYW5uZWxzLG4uc3BhdGlhbEF1ZGlvVHlwZSxuLmlzRHJjLG4ubG91ZG5lc3NEYixuLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMsbi5hdWRpb1F1YWxpdHl8fCJBVURJT19RVUFMSVRZX1VOS05PV04iLG4uaXNWYik7YiYmKHY9Yi5kaXNwbGF5TmFtZSxlPWIuaWQsRz1iLmF1ZGlvSXNEZWZhdWx0LGI9Yi5pc0F1dG9EdWJiZWQsdiYmKHI9bmV3IHdQKHYsZXx8IiIsISFHLCEhYikpKX12YXIgSDtuLmNhcHRpb25UcmFjayYmKGI9bi5jYXB0aW9uVHJhY2suZGlzcGxheU5hbWUsdj1uLmNhcHRpb25UcmFjay52c3NJZCxlPW4uY2FwdGlvblRyYWNrLmxhbmd1YWdlQ29kZSxHPW4uY2FwdGlvblRyYWNrLmtpbmQsCmg9bi5jYXB0aW9uVHJhY2suaWQsYiYmdiYmZSYmKEg9bmV3IEtNKGIsdixlLEcsbi54dGFncyxoKSkpO2I9TnVtYmVyKG4uYml0cmF0ZSkvODt2PU51bWJlcihuLmNvbnRlbnRMZW5ndGgpO2U9TnVtYmVyKG4ubGFzdE1vZGlmaWVkKTtoPW4uZHJtRmFtaWxpZXM7Rz1uLnR5cGU7bj1OdW1iZXIobi5hcHByb3hEdXJhdGlvbk1zKTtpZihXJiZoKXt2YXIgQT17fTtmb3IobGV0IHkgb2YgaCkoaD1KWlt5XSkmJihBW2hdPVdbaF0pfXJldHVybiBuZXcgbXUoeCxrLHthdWRpbzpOLHZpZGVvOkwsa1o6cixjb250ZW50UHJvdGVjdGlvbjpBLE5zOmIsWG46RCYmdj92L0Q6MCxjb250ZW50TGVuZ3RoOnYsbGFzdE1vZGlmaWVkOmUsY2FwdGlvblRyYWNrOkgsc3RyZWFtVHlwZTpHLGFwcHJveER1cmF0aW9uTXM6bn0pfTsKczVVPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4sVz0+IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiPT09Vy5zdHJlYW1fdHlwZSk/IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiOiJGT1JNQVRfU1RSRUFNX1RZUEVfVU5LTk9XTiJ9OwpOcGo9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGI/LmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4paWYobj1JbyhoLFcsay5kdXJhdGlvbixiLHYpLEQ9UngoaC51cmwsaC5zcCxoLnMpKWlmKG4uc3RyZWFtVHlwZT09PSJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIikkZyhrLG5ldyBydChELG4pKTtlbHNle2xldCB4PW56KGguaW5pdCksTD1ueihoLmluZGV4KTskZyhrLG5ldyBzayhELG4seCxMKSl9ay5pc090Zj0hMDtyZXR1cm4ga307CnBKYj1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bmV3IGcuR3goIiIsYj8uZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj1JbyhoLFcsay5kdXJhdGlvbixiLHYpO0Q9bnooaC5pbml0KTtsZXQgeD1ueihoLmluZGV4KSxMPVJ4KGgudXJsLGguc3AsaC5zKTtMJiYkZyhrLG5ldyBzayhMLG4sRCx4KSl9cmV0dXJuIGt9OwpJbz1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bi50eXBlO3ZhciBoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO3gmJihoPW4uaXRhZysiOyIreCk7aWYoU0coaykpe3ZhciBMPShuLnNpemV8fCI2NDB4MzYwIikuc3BsaXQoIngiKTtMPW5ldyBIUigrTFswXSwrTFsxXSwrbi5mcHMsbi5wcm9qZWN0aW9uX3R5cGUsK24uc3RlcmVvX2xheW91dCx2b2lkIDAsbi5xdWFsaXR5X2xhYmVsLCtuLnF1YWxpdHlfb3JkaW5hbCxuLmVvdGYsbi5wcmltYXJpZXMsIW4udmlkZW9fdHJhY2tfYXNzb2NpYXRlZF9hdWRpb190cmFja19pZCk7az1wNihrLEwsWWdbbi5pdGFnXSk7SEYmJihrKz0iOyBlbmFibGVmbHVzaGR1cmluZ3NlZWs9dHJ1ZSIpO2Y2JiYoays9IjsgZW5hYmxlcmVzZXRhdWRpb2RlY29kZXI9dHJ1ZSIpO3F6KGIsW0xdLFcsdikmJihrKz0iOyBkZWNvZGUtdG8tdGV4dHVyZT10cnVlIil9dmFyIGU7aWYoSWQoaykpe3ZhciBHPW5ldyBBTSgrbi5hdWRpb19zYW1wbGVfcmF0ZXx8dm9pZCAwLAorbi5hdWRpb19jaGFubmVsc3x8MCxuLnNwYXRpYWxfYXVkaW9fdHlwZSwhIW4uZHJjKTtuLm5hbWUmJihlPW5ldyB3UChuLm5hbWUsbi5hdWRpb190cmFja19pZCxuLmlzRGVmYXVsdD09PSIxIixuLmlzQXV0b0R1YmJlZD09PSIxIikpfXZhciByO24uY2FwdGlvbl9kaXNwbGF5X25hbWUmJm4uY2FwdGlvbl92c3NfaWQmJm4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlJiYocj1uZXcgS00obi5jYXB0aW9uX2Rpc3BsYXlfbmFtZSxuLmNhcHRpb25fdnNzX2lkLG4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlLG4uY2FwdGlvbl9raW5kLG4ueHRhZ3Msbi5jYXB0aW9uX2lkKSk7Yj1OdW1iZXIobi5iaXRyYXRlKS84O3Y9TnVtYmVyKG4uY2xlbik7eD1OdW1iZXIobi5sbXQpO0Q9RCYmdj92L0Q6MDtpZihXJiZuLmRybV9mYW1pbGllcyl7dmFyIE49e307Zm9yKGxldCBIIG9mIG4uZHJtX2ZhbWlsaWVzLnNwbGl0KCIsIikpTltIXT1XW0hdfXJldHVybiBuZXcgbXUoaCxrLHthdWRpbzpHLHZpZGVvOkwsCmtaOmUsY29udGVudFByb3RlY3Rpb246TixOczpiLFhuOkQsY29udGVudExlbmd0aDp2LGxhc3RNb2RpZmllZDp4LGNhcHRpb25UcmFjazpyLHN0cmVhbVR5cGU6bi5zdHJlYW1fdHlwZSxhcHByb3hEdXJhdGlvbk1zOk51bWJlcihuLmFwcHJveF9kdXJhdGlvbl9tcyl9KX07Cll1aD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAiZXF1aXJlY3Rhbmd1bGFyIjpyZXR1cm4iRVFVSVJFQ1RBTkdVTEFSIjtjYXNlICJlcXVpcmVjdGFuZ3VsYXJfdGhyZWVkX3RvcF9ib3R0b20iOnJldHVybiJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iO2Nhc2UgIm1lc2giOnJldHVybiJNRVNIIjtjYXNlICJyZWN0YW5ndWxhciI6cmV0dXJuIlJFQ1RBTkdVTEFSIjtkZWZhdWx0OnJldHVybiJVTktOT1dOIn19OwpIcWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9hbWJpc29uaWNzXzVfMSI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTXzVfMSI7Y2FzZSAic3BhdGlhbF9hdWRpb190eXBlX2FtYmlzb25pY3NfcXVhZCI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTX1FVQUQiO2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9mb2Ffd2l0aF9ub25fZGllZ2V0aWMiOnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfRk9BX1dJVEhfTk9OX0RJRUdFVElDIjtkZWZhdWx0OnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSJ9fTsKZnRaPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUzQobmV3IGcuR3gobixXLEQpLG4pfTsKR189ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PmdaKDI0LDExNjQsVy5YYi5OKSl9OwpmRHc9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PiEhVy5pbmZvLnZpZGVvJiZXLmluZm8udmlkZW8uaXNIZHIoKSl9OwokZz1mdW5jdGlvbihuLFcpe24uTltXLmluZm8uaWRdPVc7bi5KLnNldChjdyhXLG4uelcpLFcpfTsKUzQ9ZnVuY3Rpb24obixXPSIiKXtuLnN0YXRlPTE7bi5TJD0oMCxnLlIpKCk7cmV0dXJuIGVnMShXfHxuLnNvdXJjZVVybCkudGhlbihEPT57aWYoIW4ucU4oKSl7bi5sTj1ELnN0YXR1cztEPUQucmVzcG9uc2VUZXh0O2xldCB2PW5ldyBET01QYXJzZXI7RD1nLmdUKHYsZy5IVihEKSwidGV4dC94bWwiKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiTVBEIilbMF07bi5jSj1qeChsVChELCJtaW5pbXVtVXBkYXRlUGVyaW9kIikpKjFFM3x8SW5maW5pdHk7Yjp7aWYoRC5hdHRyaWJ1dGVzKWZvcihiIG9mIEQuYXR0cmlidXRlcylpZihiLnZhbHVlPT09Imh0dHA6Ly95b3V0dWJlLmNvbS95dC8yMDEyLzEwLzEwIil7dmFyIGI9Yi5uYW1lLnNwbGl0KCI6IilbMV07YnJlYWsgYn1iPSIifW4uaj1iO24uaXNMaXZlPW4uY0o8SW5maW5pdHkmJm4uaXNMaXZlUGxheWJhY2s7bi5ISj1OdW1iZXIobFQoRCxuLmorIjplYXJsaWVzdE1lZGlhU2VxdWVuY2UiKSl8fDA7aWYoYj1EYXRlLnBhcnNlKEN6KGxUKEQsCm4uaisiOm1wZFJlc3BvbnNlVGltZSIpKSkpbi5lJD0oKDAsZy5SKSgpLWIpLzFFMztuLmlzTGl2ZSYmRC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikubGVuZ3RoPD0wfHxnLmR6KEQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlBlcmlvZCIpLG4ueUUsbik7bi5zdGF0ZT0yO24uV0ooImxvYWRlZCIpO0FaKG4pfXJldHVybiBufSkuc1AoRD0+e2lmKEQgaW5zdGFuY2VvZiBnLiRUKXt2YXIgYj1ELnhocjsKbi5sTj1iLnN0YXR1c31uLnN0YXRlPTM7bi5XSigibG9hZGVycm9yIik7cmV0dXJuIGcucnAoYil9KX07CmcubUg9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby5OKCkpfTsKSzY9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby52aWRlbz9XLmluZm8udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSIjohMSl9OwpPaz1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOiExKX07ClBGPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRsKG4uTixXPT5XLmluZm8udmlkZW8/Vy5pbmZvLnZpZGVvLnByb2plY3Rpb25UeXBlPT09Ik1FU0giOiExKX07CkokVT1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5zdGVyZW9MYXlvdXQ9PT0xOiExKX07Ckl0aT1mdW5jdGlvbihuKXtyZXR1cm4gZy5iayhuLk4sVz0+Vy5pbmZvLnZpZGVvP1cubnUoKTohMCl9OwpaSD1mdW5jdGlvbihuLFcsRCl7Vz1nLlZmKFcuaW5mbyxuLnpXKTtpZihEKXtsZXQgYj1Nayh7aXRhZzpXLml0YWcsbG10Om4uelc/MDpXLmxtdHx8MCx4dGFnczpXLnh0YWdzfSk7aWYobi52SltiXSlyZXR1cm47bi52SltiXT1EfW4uR0MucHVzaChXKX07CnlDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bFQoVywiaWQiKTtEPUQucmVwbGFjZSgiOiIsIjsiKTt2YXIgYj1sVChXLCJtaW1lVHlwZSIpLHY9bFQoVywiY29kZWNzIik7Yj12P2Ake2J9OyBjb2RlY3M9IiR7dn0iYDpiO3Y9TnVtYmVyKGxUKFcsImJhbmR3aWR0aCIpKS84O3ZhciBrPU51bWJlcihUUChXLCJCYXNlVVJMIikuZ2V0QXR0cmlidXRlKG4uaisiOmNvbnRlbnRMZW5ndGgiKSksaD1uLmR1cmF0aW9uJiZrP2svbi5kdXJhdGlvbjowO2lmKFNHKGIpKXt2YXIgeD1OdW1iZXIobFQoVywid2lkdGgiKSksTD1OdW1iZXIobFQoVywiaGVpZ2h0IikpLGU9TnVtYmVyKGxUKFcsImZyYW1lUmF0ZSIpKTtsZXQgQT1ZdWgobFQoVyxuLmorIjpwcm9qZWN0aW9uVHlwZSIpKTthOnN3aXRjaChsVChXLG4uaisiOnN0ZXJlb0xheW91dCIpKXtjYXNlICJsYXlvdXRfbGVmdF9yaWdodCI6dmFyIEc9MTticmVhayBhO2Nhc2UgImxheW91dF90b3BfYm90dG9tIjpHPTI7YnJlYWsgYTtkZWZhdWx0Okc9CjB9Rz1uZXcgSFIoeCxMLGUsQSxHKX1pZihJZChiKSl7dmFyIHI9TnVtYmVyKGxUKFcsImF1ZGlvU2FtcGxpbmdSYXRlIikpO3ZhciBOPU51bWJlcihsVChXLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJBdWRpb0NoYW5uZWxDb25maWd1cmF0aW9uIilbMF0sInZhbHVlIikpO3g9SHFoKGxUKFcsbi5qKyI6c3BhdGlhbEF1ZGlvVHlwZSIpKTtyPW5ldyBBTShyLE4seCk7YTp7TD1sVChXLCJsYW5nIil8fCJ1bmQiO2lmKE49VFAoVywiUm9sZSIpKWlmKGU9bFQoTiwidmFsdWUiKXx8IiIsZy5lcChVayxlKSl7Tj1gJHtMfS4ke1VrW2VdfWA7eD1lPT09Im1haW4iO249bFQoVyxuLmorIjpsYW5nTmFtZSIpfHxgJHtMfSAtICR7ZX1gO049bmV3IHdQKG4sTix4KTticmVhayBhfU49dm9pZCAwfX1pZihXPVRQKFcsIkNvbnRlbnRQcm90ZWN0aW9uIikpaWYoVy5nZXRBdHRyaWJ1dGUoInNjaGVtZUlkVXJpIik9PT0iaHR0cDovL3lvdXR1YmUuY29tL2RybS8yMDEyLzEwLzEwIil7dmFyIEg9e307Zm9yKFc9ClcuZmlyc3RDaGlsZDtXIT1udWxsO1c9Vy5uZXh0U2libGluZyl7aWYoIShXIGluc3RhbmNlb2YgRWxlbWVudCkpY29udGludWU7aWYoIS9TeXN0ZW1VUkwvLnRlc3QoVy5ub2RlTmFtZSkpY29udGludWU7bj1XLmdldEF0dHJpYnV0ZSgidHlwZSIpO3g9Vy50ZXh0Q29udGVudDtuJiZ4JiYoSFtuXT14LnRyaW0oKSl9fWVsc2UgSD12b2lkIDA7cmV0dXJuIG5ldyBtdShELGIse2F1ZGlvOnIsdmlkZW86RyxrWjpOLGNvbnRlbnRQcm90ZWN0aW9uOkgsTnM6dixYbjpoLGNvbnRlbnRMZW5ndGg6a30pfTsKQVo9ZnVuY3Rpb24obil7dmFyIFc9bi5jSjtpc0Zpbml0ZShXKSYmKEVrKG4pP24ucmVmcmVzaCgpOihXPU1hdGgubWF4KDAsbi5TJCtXLSgwLGcuUikoKSksbi5LfHwobi5LPW5ldyBnLmZfKG4ucmVmcmVzaCxXLG4pLGcudShuLG4uSykpLG4uSy5zdGFydChXKSkpfTsKdmFyIFN1eD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsNCwxNjk5LG4sVyxELGIsdixrLGgseCxMLGUpfTsKRWs9ZnVuY3Rpb24obil7cmV0dXJuIG4uaXNMaXZlJiYoMCxnLlIpKCktbi5TJD49bi5jSn07CkEkaT1mdW5jdGlvbihuKXtuPW4uTjtmb3IobGV0IFcgaW4gbil7bGV0IEQ9bltXXS5pbmRleDtpZihELmlzTG9hZGVkKCkpcmV0dXJuIEQueCQoKSsxfXJldHVybiAwfTsKaUE9ZnVuY3Rpb24obil7cmV0dXJuIG4ub1I/bi5vUi0obi5EfHxuLnRpbWVzdGFtcE9mZnNldCk6MH07CnVBPWZ1bmN0aW9uKG4pe3JldHVybiBuLkpVP24uSlUtKG4uRHx8bi50aW1lc3RhbXBPZmZzZXQpOjB9Owpvbz1mdW5jdGlvbihuKXtpZighaXNOYU4obi5UQykpcmV0dXJuIG4uVEM7dmFyIFc9bi5OO2Zvcih2YXIgRCBpbiBXKXt2YXIgYj1XW0RdLmluZGV4O2lmKGIuaXNMb2FkZWQoKSYmIVdbRF0uaW5mby5OKCkpe1c9MDtmb3IoRD1iLlpPKCk7RDw9Yi54JCgpO0QrKylXKz1iLmdldER1cmF0aW9uKEQpO1cvPWIuSDcoKTtXPU1hdGgucm91bmQoVy8uNSkqLjU7Yi5INygpPjEwJiYobi5UQz1XKTtyZXR1cm4gV31pZihuLmlzTGl2ZSYmKGI9V1tEXSxiLnJiKSlyZXR1cm4gYi5yYn1yZXR1cm4gTmFOfTsKbTh0PWZ1bmN0aW9uKG4sVyl7bj1xYyhuLk4sYj0+Yi5pbmRleC5pc0xvYWRlZCgpKTsKaWYoIW4pcmV0dXJuIE5hTjtuPW4uaW5kZXg7dmFyIEQ9bi5SMyhXKTtyZXR1cm4gbi5nZXRTdGFydFRpbWUoRCk9PT1XP1c6RDxuLngkKCk/bi5nZXRTdGFydFRpbWUoRCsxKTpOYU59Owp6eD1mdW5jdGlvbihuLFcpe2lmKCFuLk5bIjAiXSl7dmFyIEQ9bmV3IG11KCIwIiwiZmFrZXNiIix7dmlkZW86bmV3IEhSKDAsMCwwLHZvaWQgMCx2b2lkIDAsImF1dG8iKX0pO24uTlsiMCJdPVc/bmV3IGR0KG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELCJmYWtlIik6bmV3IHNrKG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELG5ldyBhQigwLDApLG5ldyBhQigwLDApKX19OwpnLmxBPWZ1bmN0aW9uKG4pe2lmKG4uaXNNYW5pZmVzdGxlc3MpZm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5kZXguc2VnbWVudHM9W119OwpUeD1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4uTil7bGV0IHY9bi5OW2JdLmluZm8uTigpfHxuLk5bYl0uaW5mby5mWSgpO0Q9PT12JiZuLk5bYl0uaW5kZXg/Lk8oVyl9fTsKajQ9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5mby5OKCl8fFBBKG4uTltXXS5pbmRleCxJbmZpbml0eSl9OwpDNj1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBoIGluIG4uTil7dmFyIGI9bi5OW2hdLmluZGV4LHY9VyxrPUQ7Yi5PVCYmKHYmJihiLnFxPU1hdGgubWF4KGIucXEsdikpLGsmJihiLkRuPU1hdGgubWF4KGIuRG58fDAsaykpKX1EJiYobi50dz1ELzFFMyl9OwpCRj1mdW5jdGlvbihuLFcsRCxiPSExKXtiJiZEPT09bi5QWHx8KG4uYmQucHVzaChXKSxuLlBYPUQsbi5XSigiY3VlcG9pbnRzYWRkZWQiLEQpKX07CktLdD1mdW5jdGlvbihuKXtuLkpVPTA7bi5vUj0wO24uSVQ9MH07CkZ2PWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRJiZuLmlzTWFuaWZlc3RsZXNzP24uaXNMaXZlSGVhZFBsYXlhYmxlOm4uaXNMaXZlfTsKcDY9ZnVuY3Rpb24obixXLEQpe3d0PT09bnVsbCYmKHd0PXdpbmRvdy5NZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMi41MS4xMC4wMS4wOS4xNi4wOS4wMCInKSYmIU1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAyLjUxLjEwLjAxLjA5Ljk5Ljk5LjAwIicpKTtpZihNeiYmd2luZG93Lk1lZGlhU291cmNlJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQhPT12b2lkIDApcmV0dXJuIHd0fHxEIT09IjkiJiZEIT09IigiP3d0fHxEIT09IjloIiYmRCE9PSIoaCJ8fChuPSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicpOm49J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicsbjtpZighd3QmJiFSb3x8biE9PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInJiZuIT09J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5LjIiJylyZXR1cm4gbjsKRD0iMDAiO3ZhciBiPSIwOCIsdj0iMDEiLGs9IjAxIixoPSIwMSI7bj09PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicmJihEPSIwMiIsYj0iMTAiLFcucHJpbWFyaWVzPT09ImJ0MjAyMCImJihoPXY9IjA5IiksVy5OPT09InNtcHRlMjA4NCImJihrPSIxNiIpLFcuTj09PSJhcmliLXN0ZC1iNjciJiYoaz0iMTgiKSk7cmV0dXJuYHZpZGVvL3dlYm07IGNvZGVjcz0iJHtbInZwMDkiLEQsIjUxIixiLCIwMSIsdixrLGgsIjAwIl0uam9pbigiLiIpfSJgfTsKVkM9ZnVuY3Rpb24obixXLEQpe249YCR7bn0ke1c+NDk/InA2MCI6Vz4zMj8icDQ4IjoiIn1gO1c9ZjcoKVtuXTtpZihXIT1udWxsJiZXPjApcmV0dXJuIFc7Vz1RQy5nZXQobik7aWYoVyE9bnVsbCYmVz4wKXJldHVybiBXO0Q9RD8uZ2V0KG4pO3JldHVybiBEIT1udWxsJiZEPjA/RDo4MTkyfTsKT3F4PWZ1bmN0aW9uKG4sVz0hMSl7UWh3KFcpO1ZwQyhXKTtpZihXKXtmb3IobGV0IEQgb2YgUUMua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxRQy5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIGNGLnZhbHVlcygpKUQuc3RhcnRzV2l0aCgiMSIpfHxjRi5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIG4ua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxuLmRlbGV0ZShEKX1lbHNlIFFDLmNsZWFyKCksY0YuY2xlYXIoKSxuLmNsZWFyKCl9OwpVOFo9ZnVuY3Rpb24obix7aXNPdGY6VyxtVjpELHlYOmIsSVI6dixPdzprLEhpOmgsbFU6eCxvTDpMLHhkOmUsZGlzYWJsZUF2MTpHLGRCOnJ9KXt2YXIgTj1uZXcgUGVNKG4pO2lmKG4uV1goKXx8bi5TKCJodG1sNV9sb2dnaW5nX2Zvcm1hdF9zZWxlY3Rpb24iKSlOLlc9ITA7Ti5HQz1rO04uSGk9aCYmbi5LO04ueGQ9ZTtnLnViKCJ3aW5kb3dzIG50IDUuMSIpJiYhZy5hbyYmKE4uYnY9ITApO2lmKGs9RClrPWcubk4obik/WnFTKG4pOiExO2smJihOLmNKPSEwKTt4JiYoTi5idj0hMCxOLk5kPSEwKTtXJiYhbi5TKCJodG1sNV9vdGZfcHJlZmVyX3ZwOSIpJiYoTi5idj0hMCk7bi5wbGF5ZXJTdHlsZT09PSJwaWNhc2F3ZWIiJiYoVyYmKE4uYnY9ITEpLE4udHc9ITEpO3YmJihOLmJ2PSEwKTtTSihuLlcsQVQuQ0hBTk5FTFMpJiYobi5TKCJodG1sNV9lbmFibGVfYWMzIikmJihOLmo9ITApLG4uUygiaHRtbDVfZW5hYmxlX2VhYzMiKSYmKE4uVj0hMCksbi5TKCJodG1sNV9lbmFibGVfYWMzX2dhcGxlc3MiKSYmCihOLkhKPSEwKSk7bi5TKCJodG1sNV9ibG9ja184a19oZnIiKSYmKE4uUFg9ITApO04uSz1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21heF9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO04uWT1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21pbl9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO2cuV1gmJihOLndhPTQ4MCk7aWYoYnx8RClOLnR3PSExO04uQ3U9ITE7Ti5kaXNhYmxlQXYxPUc7Ti5KPW4uUygiaHRtbDVfbG9nX25vX2F2MV9yZWFzb24iKTtXPURLKG4sTi5OLHZvaWQgMCxOLmRpc2FibGVBdjEpO1c+MCYmVzwyMTYwJiYoVlQoKXx8bi5TKCJodG1sNV9mb3JtYXRfaHlicmlkaXphdGlvbiIpKSYmKE4uTi5zdXBwb3J0c0NoYW5nZVR5cGU9K1ZUKCksTi5uUz1XKTtXPj0yMTYwJiYoTi5lJD0hMCk7Ti5vTD1MO04uRkY9Zy5SZ3x8YzAoKSYmIUw/ITE6ITA7Ti5EPW4uUygiaHRtbDVfZm9ybWF0X2h5YnJpZGl6YXRpb24iKTtOLkJWPW4uUygiaHRtbDVfZGlzYWJsZV9lbmNyeXB0ZWRfdnA5X2xpdmVfbm9uXzJrXzRrIik7Ck4ualc9cjtyZXR1cm4gTn07CkRLPWZ1bmN0aW9uKG4sVz17fSxELGI9ITEpe2lmKGIpcmV0dXJuIFcuZGlzYWJsZWQ9MSwwO2lmKFNKKG4uVyxBVC5BVjFfQ09ERUNTKSYmU0oobi5XLEFULkhFSUdIVCkmJlNKKG4uVyxBVC5CSVRSQVRFKSlyZXR1cm4gVy5pc0NhcGFiaWxpdHlVc2FibGU9MSw4MTkyO2I9MTA4MDt2YXIgdj1uYXZpZ2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeTt2PD0yJiYoYj00ODApO1cuY29yZUNvdW50PXY7aWYodj1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYXYxX3RocmVzaG9sZCIpKWI9V1siZGVmYXVsdCJdPXY7aWYodj1uLlcuY0opVy5tY2FwPXYsYj1NYXRoLm1heChiLHYpO2lmKEQpe2lmKHY9RC52aWRlb0luZm9zLmZpbmQoaD0+aC5NVygpKT8uaj8ucG93ZXJFZmZpY2llbnQpYj04MTkyLFcuaXNFZmZpY2llbnQ9MTsKRD1ELnZpZGVvSW5mb3NbMF0udmlkZW87bGV0IGs9TWF0aC5taW4oVkMoIjEiLEQuZnBzKSxWQygiMSIsMzApKTtXLnBlcmZDYXA9aztiPU1hdGgubWluKGIsayk7IUQuaXNIZHIoKXx8dnx8bi5adCgpLk4uUVEoeSRqKXx8KFcuaGRyPTEsYio9Ljc1KX1lbHNlIG49VkMoIjEiLDMwKSxXLnBlcmZDYXAzMD1uLGI9TWF0aC5taW4oYixuKSxuPVZDKCIxIiw2MCksVy5wZXJmQ2FwNjA9bixiPU1hdGgubWluKGIsbik7cmV0dXJuIFcuYXYxVGhyZXNob2xkPWJ9OwpySGk9ZnVuY3Rpb24obil7dmFyIFc9WyJvIiwiYSIsIkEiXTtpZihuLnhkPT09MSYmKG4uaiYmKFc9WyJtYWMzIiwiTUFDMyJdLmNvbmNhdChXKSksbi5WJiYoVz1bIm1lYWMzIiwiTUVBQzMiXS5jb25jYXQoVykpLG4uVlF8fG4uZkIpKXtsZXQgRD1bXTtuLlZRJiZELnB1c2goImkiKTtuLmZCJiZELnB1c2goIkkiKTtXPUQuY29uY2F0KFcpfW4uY0omJihXPVsic28iLCJzYSJdLmNvbmNhdChXKSk7IW4uTmR8fG4uSEp8fG4uWHx8bi5zNXx8Vy51bnNoaWZ0KCJhIik7bi5YJiYoVz0oYm9bbi5YXXx8W24uWF0pLmNvbmNhdChXKSk7cmV0dXJuIFd9OwpKSHI9ZnVuY3Rpb24obil7aWYobi5HQylyZXR1cm5bImYiXTtpZihnLnViKCJhcHBsZXR2NSIpKXJldHVybiJoIDloIDkgOCBIIChoICggKiIuc3BsaXQoIiAiKTt2YXIgVz1bIjloIiwiOSIsImgiLCI4Il07bi5ZJCYmVy5wdXNoKCIxZSIpO1c9Vy5jb25jYXQoWyIoaCIsIigiLCJIIiwiKiJdKTtuLmUkJiYoVy51bnNoaWZ0KCIxIiksVy51bnNoaWZ0KCIxaCIpKTtuLmJ2JiZXLnVuc2hpZnQoImgiKTtuLk8mJihXPShib1tuLk9dfHxbbi5PXSkuY29uY2F0KFcpKTtyZXR1cm4gV307CnZYPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93LFc9bi5NU01lZGlhS2V5cztDJCgpJiYhVyYmKFc9bi5XZWJLaXRNZWRpYUtleXMpO3JldHVybiBXJiZXLmlzVHlwZVN1cHBvcnRlZD9XOm51bGx9Owpoej1mdW5jdGlvbihuKXtyZXR1cm4gbmF2aWdhdG9yLnJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2Vzcz9nLm9kJiYhZy5kOCgpP0NfKCI0NSIpOmcuUmd8fGcua2g/bi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTpnLmFvP0NfKCI0NyIpOmcuR24mJm4uRXEoImh0bWw1X2VuYWJsZV9zYWZhcmlfZmFpcnBsYXkiKT8hMTohMDohMX07CnhoPWZ1bmN0aW9uKG4pe3JldHVybiBuLlg/ITE6IW4ua2V5U3lzdGVtQWNjZXNzJiYhIXZYKCkmJm4ua2V5U3lzdGVtPT09ImNvbS5taWNyb3NvZnQucGxheXJlYWR5In07CkxOPWZ1bmN0aW9uKG4pe3JldHVybiBuLmtleVN5c3RlbT09PSJjb20ubWljcm9zb2Z0LnBsYXlyZWFkeSJ9OwplVD1mdW5jdGlvbihuKXtyZXR1cm4hbi5rZXlTeXN0ZW1BY2Nlc3MmJiEhdlgoKSYmbi5rZXlTeXN0ZW09PT0iY29tLmFwcGxlLmZwcy4xXzAifTsKZzE9ZnVuY3Rpb24obil7cmV0dXJuIG4ua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5In07CmcuWFY9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmxhdm9yPT09ImZhaXJwbGF5In07CkVHQz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj16USgpLGs9KEQ9dnx8RCYmQyQoKSk/WyJjb20ueW91dHViZS5mYWlycGxheSJdOlsiY29tLndpZGV2aW5lLmFscGhhIl07VyYmay51bnNoaWZ0KCJjb20ueW91dHViZS53aWRldmluZS5sMyIpO3YmJmImJmsudW5zaGlmdCgiY29tLnlvdXR1YmUuZmFpcnBsYXkuc2JkbCIpO3JldHVybiBEP2s6bj9bLi4uaywuLi5xVi5wbGF5cmVhZHldOlsuLi5xVi5wbGF5cmVhZHksLi4ua119OwokaD1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uSi5sZW5ndGg9PT0wKW4uY2FsbGJhY2sobi5YKTtlbHNle3ZhciBXPW4uSlswXSxEPW4uV1tXXSxiPWlxdChuLEQpO0dMJiZHTC5rZXlTeXN0ZW09PT1XJiZHTC5JMT09PUpTT04uc3RyaW5naWZ5KGIpPyhuLlUoInJlbWtzYSIse3JlOiEwfSksdHoobixELEdMLmtleVN5c3RlbUFjY2VzcykpOihuLlUoInJlbWtzYSIse3JlOiExLG9rOkdMPy5rZXlTeXN0ZW0/PyIifSksR0w9dm9pZCAwLG5hdmlnYXRvci5yZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoVyxiKS50aGVuKFl6KHY9Pnt0eihuLEQsdixiKX0pLFl6KCgpPT57bi5qPSFuLmomJm4uV1tuLkpbMF1dLmZsYXZvcj09PSJ3aWRldmluZSI7Cm4uanx8bi5KLnNoaWZ0KCk7JGgobil9KSkpfX07Cm9Hdz1mdW5jdGlvbihuKXtpZih2WCgpJiYoZy5Hbnx8dzgpKW4uWC5wdXNoKG5ldyByMSgiZmFpcnBsYXkiLCJjb20uYXBwbGUuZnBzLjFfMCIsIiIsbi55US5leHBlcmltZW50cykpO2Vsc2V7dmFyIFc9dTFyKCksRD1nLmxfKG4uSixiPT57dmFyIHY9bi5XW2JdLGs9ITEsaD0hMTtmb3IobGV0IHggaW4gbi5OW3YuZmxhdm9yXSlXKHgsYikmJih2LkpbeF09ITAsaz1rfHx4LmluZGV4T2YoImF1ZGlvLyIpPT09MCxoPWh8fHguaW5kZXhPZigidmlkZW8vIik9PT0wKTtyZXR1cm4gayYmaH0pOwpEJiZuLlgucHVzaChuLldbRF0pO24uSj1bXX1uLmNhbGxiYWNrKG4uWCl9OwpkOGk9ZnVuY3Rpb24obixXKXtuLmNhbGxiYWNrPVc7bi5YPVtdO2h6KG4ueVEuZXhwZXJpbWVudHMpPyRoKG4pOm9HdyhuKX07CmlxdD1mdW5jdGlvbihuLFcpe3ZhciBEPXtpbml0RGF0YVR5cGVzOlsiY2VuYyIsIndlYm0iXSxhdWRpb0NhcGFiaWxpdGllczpbXSx2aWRlb0NhcGFiaWxpdGllczpbXX07aWYobi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikmJmcxKFcpKXJldHVybiBELmF1ZGlvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOidhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC41Iid9KSxELnZpZGVvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOid2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40ZDQwMGIiJ30pLFtEXTtMTihXKSYmKEQuaW5pdERhdGFUeXBlcz1bImtleWlkcyIsImNlbmMiXSk7Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKXt2YXIgYj12LmluZGV4T2YoImF1ZGlvLyIpPT09MDtsZXQgaz1iP0QuYXVkaW9DYXBhYmlsaXRpZXM6RC52aWRlb0NhcGFiaWxpdGllcztXLmZsYXZvciE9PSJ3aWRldmluZSJ8fG4uaj9rLnB1c2goe2NvbnRlbnRUeXBlOnZ9KToKYj9rLnB1c2goe2NvbnRlbnRUeXBlOnYscm9idXN0bmVzczoiU1dfU0VDVVJFX0NSWVBUTyJ9KTooZy5vZCYmZy51Yigid2luZG93cyBudCIpJiYhbi5TKCJodG1sNV9kcm1fZW5hYmxlX21vaG8iKXx8ay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IkhXX1NFQ1VSRV9BTEwifSksYj12LG4ueVEuVy5KJiZ2LmluY2x1ZGVzKCJ2cDA5IikmJihiPXYrIjsgZXhwZXJpbWVudGFsPWFsbG93ZWQiKSxrLnB1c2goe2NvbnRlbnRUeXBlOmIscm9idXN0bmVzczoiU1dfU0VDVVJFX0RFQ09ERSJ9KSxnLnNkKG4ueVEpJiYoVkgoKXx8b0soKSkmJihuLlUoInN3Y3J5cHRvIix7fSksay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IlNXX1NFQ1VSRV9DUllQVE8ifSkpKX1yZXR1cm5bRF19Owp0ej1mdW5jdGlvbihuLFcsRCxiKXtpZighbi5xTigpKXtiJiYoR0w9e2tleVN5c3RlbTpXLmtleVN5c3RlbSxrZXlTeXN0ZW1BY2Nlc3M6RCxJMTpKU09OLnN0cmluZ2lmeShiKX0pO1cua2V5U3lzdGVtQWNjZXNzPUQ7aWYoTE4oVykpe3ZhciB2PWk4KCk7Zm9yKHZhciBrIG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKVcuSltrXT0hIXYuY2FuUGxheVR5cGUoayl9ZWxzZXtrPVcua2V5U3lzdGVtQWNjZXNzLmdldENvbmZpZ3VyYXRpb24oKTtpZihrLmF1ZGlvQ2FwYWJpbGl0aWVzKWZvcih2IG9mIGsuYXVkaW9DYXBhYmlsaXRpZXMpVy5KW3YuY29udGVudFR5cGVdPSEwO2lmKGsudmlkZW9DYXBhYmlsaXRpZXMpZm9yKGxldCBoIG9mIGsudmlkZW9DYXBhYmlsaXRpZXMpVy5KW2guY29udGVudFR5cGVdPSEwfW4uWC5wdXNoKFcpO24udXNlQ29iYWx0V2lkZXZpbmV8fG4uUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZXLk4oKT8obi5KLnNoaWZ0KCksJGgobikpOm4uY2FsbGJhY2sobi5YKX19Owp1MXI9ZnVuY3Rpb24oKXt2YXIgbj12WCgpO2lmKG4pe2xldCBEPW4uaXNUeXBlU3VwcG9ydGVkO3JldHVybihiLHYpPT5EKHYsYil9dmFyIFc9aTgoKTsKcmV0dXJuIFcmJihXLmFkZEtleXx8Vy53ZWJraXRBZGRLZXkpPyhELGIpPT4hIVcuY2FuUGxheVR5cGUoRCxiKTooKT0+ITF9OwpsdGI9ZnVuY3Rpb24obixXKXtzd2l0Y2goVy5VMCl7Y2FzZSAiYm9vbCI6cmV0dXJuIG4uRXEoVy5ueCk7Y2FzZSAiaW50IjpyZXR1cm4gbj1OVihuLFcubngpLGcuJFUobik7Y2FzZSAiZG91YmxlIjpyZXR1cm4gTlYobixXLm54KTtjYXNlICJzdHJpbmciOnJldHVybiB6ZzIobixXLm54KTtjYXNlICJpbnQzMl9saXN0IjpyZXR1cm4gcE4obixXLm54KTtjYXNlICJpbnQ2NF9saXN0IjpyZXR1cm4gcE4obixXLm54KS5tYXAoRD0+Zy4kVShEKSk7CmNhc2UgInN0cmluZ19saXN0Ijp0aHJvdyBFcnJvcigiU3RyaW5nIGxpc3QgZmxhZ3MgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gV1BDQyIpO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gZmxhZyB0eXBlIik7fX07Ck5WPWZ1bmN0aW9uKG4sVyl7bj1uLmZsYWdzLmdldChgJHtXfWApO3JldHVybiBOdW1iZXIobil8fDB9Owp6ZzI9ZnVuY3Rpb24obixXKXtyZXR1cm4obj1uLmZsYWdzLmdldChgJHtXfWApKT9uLnRvU3RyaW5nKCk6IiJ9OwpwTj1mdW5jdGlvbihuLFcpe2lmKG49bi5mbGFncy5nZXQoYCR7V31gKSlpZihuPW4ucmVwbGFjZSgvXFsgKiguKj8pICpcXS8sIiQxIikpcmV0dXJuIG4uc3BsaXQoIiwiKS5tYXAoTnVtYmVyKTtyZXR1cm5bXX07CmcuZE09ZnVuY3Rpb24obixXLEQ9MCl7bj1uLlFRKFcpO0pTT04uc3RyaW5naWZ5KG4pO3JldHVybiBuPT09dm9pZCAwP0Q6TnVtYmVyKG4pfTsKZy5ZaD1mdW5jdGlvbihuLFcpe3JldHVybihuPW4uUVEoVykpP24udG9TdHJpbmcoKToiIn07ClRwYj1mdW5jdGlvbihuKXtpZihuPW4uUVEoImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpKWlmKG49bi5yZXBsYWNlKC9cWyAqKC4qPykgKlxdLywiJDEiKSlyZXR1cm4gbi5zcGxpdCgiLCIpLm1hcChOdW1iZXIpO3JldHVybltdfTsKSFg9ZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBuLk47aWYobi5leHBlcmltZW50SWRzLmxlbmd0aDw9MSlyZXR1cm4gbi5OPW4uZXhwZXJpbWVudElkcyxuLk47dmFyIFc9Wy4uLm4uZXhwZXJpbWVudElkc10ubWFwKEQ9Pk51bWJlcihEKSk7Clcuc29ydCgpO2ZvcihsZXQgRD1XLmxlbmd0aC0xO0Q+MDstLUQpV1tEXS09V1tELTFdO24uTj1XLm1hcChEPT5ELnRvU3RyaW5nKCkpOwpuLk4udW5zaGlmdCgidjEiKTtyZXR1cm4gbi5OfTsKTkRTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE1hcDtmb3IobGV0IGIgb2YgVy5rZXlzKCkpe2xldCB2PWIuc3BsaXQoIl8iKVswXTtuLmhhcyh2KXx8RC5zZXQoYixXLmdldChiKSl9cmV0dXJuIER9OwpZMlM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW8/LmZwc3x8MCx2PWAke259XyR7Yn1gLGs9ISFXLmF1ZGlvLGg9e2l0YWc6Vy5pdGFnLElCOm4sZVM6a307aWYoayloLm51bUNoYW5uZWxzPVcuYXVkaW8ubnVtQ2hhbm5lbHM7ZWxzZXt2YXIgeD1XLnZpZGVvO2gubWF4V2lkdGg9eD8ud2lkdGg7aC5tYXhIZWlnaHQ9eD8uaGVpZ2h0O2gubWF4RnJhbWVyYXRlPWI7aC5tYXhCaXRyYXRlQnBzPVcuTnMqODtoLno5PXg/LmlzSGRyKCl9eD1ELmdldCh2KTt4P2t8fChXPU1hdGgubWF4KHgubWF4V2lkdGh8fDAseC5tYXhIZWlnaHR8fDApPk1hdGgubWF4KGgubWF4V2lkdGh8fDAsaC5tYXhIZWlnaHR8fDApP3g6aCxuPXtpdGFnOlcuaXRhZyxJQjpuLGVTOmssbWF4V2lkdGg6TWF0aC5tYXgoeC5tYXhXaWR0aHx8MCxoLm1heFdpZHRofHwwKSxtYXhIZWlnaHQ6TWF0aC5tYXgoeC5tYXhIZWlnaHR8fDAsaC5tYXhIZWlnaHR8fDApLG1heEZyYW1lcmF0ZTpiLHo5Olcuejl9LG4ubWF4Qml0cmF0ZUJwcz0KVy5tYXhCaXRyYXRlQnBzLEQuc2V0KHYsbikpOkQuc2V0KHYsaCl9OwpPRD1mdW5jdGlvbihuLFcsRD0xKXt2YXIgYj1XLml0YWc7aWYoYj09PSIwIilyZXR1cm4hMDt2YXIgdj1XLm1pbWVUeXBlO2lmKFcuSUI9PT0iMWUiJiYhbi5YKXJldHVybiJkYXYxZW5jIjtpZihXLk1XKCkmJm4uWSlyZXR1cm4iZGF2MSI7aWYoVy52aWRlbyYmKFcudmlkZW8uaXNIZHIoKXx8Vy52aWRlby5wcmltYXJpZXM9PT0iYnQyMDIwIikmJiEoU0oobixBVC5FT1RGKXx8d2luZG93Lm1hdGNoTWVkaWEmJih3aW5kb3cubWF0Y2hNZWRpYSgiKGR5bmFtaWMtcmFuZ2U6IGhpZ2gpLCAodmlkZW8tZHluYW1pYy1yYW5nZTogaGlnaCkiKS5tYXRjaGVzfHx3aW5kb3cuc2NyZWVuLnBpeGVsRGVwdGg+MjQmJndpbmRvdy5tYXRjaE1lZGlhKCIoY29sb3ItZ2FtdXQ6IHAzKSIpLm1hdGNoZXMpKSlyZXR1cm4iZGhkciI7aWYoYj09PSIzMzgiJiYhKGcub2Q/Q18oNTMpOmcuYW8mJkNfKDY0KSkpcmV0dXJuImRvcHVzIjtEPXZHVShXLEQpO24uSiYmVy5YKCkmJihEW0FULkVYUEVSSU1FTlRBTC5uYW1lXT0KImFsbG93ZWQiKTtmb3IobGV0IHggb2YgT2JqZWN0LmtleXMoQVQpKXtsZXQgTD1BVFt4XTt2YXIgaztpZihrPURbTC5uYW1lXSlpZihrPSEoTD09PUFULkVPVEYmJlcubWltZVR5cGUuaW5kZXhPZigidnAwOS4wMiIpPjApKXtrPUw7dmFyIGg9VztrPSEobi5leHBlcmltZW50cy5FcSgiaHRtbDVfaWdub3JlX2gyNjRfZnJhbWVyYXRlX2NhcCIpJiZrPT09QVQuRlJBTUVSQVRFJiYoaC5JQj09PSJIInx8aC5JQj09PSJoIikpfWlmKGspaWYoU0oobixMKSlpZihuLmope2lmKG4ualtMLm5hbWVdPERbTC5uYW1lXSlyZXR1cm4gTC5uYW1lfWVsc2Ugdj1gJHt2fTsgJHtMLm5hbWV9PSR7RFtMLm5hbWVdfWA7ZWxzZSBpZihaTyhXKSYmTD09PUFULkVPVEYpcmV0dXJuImR2cDkyIn1uLk8mJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmVy5jb250ZW50UHJvdGVjdGlvbiYmKHYrPSI7IGhkY3A9Mi4yIik7cmV0dXJuIGI9PT0iMjI3Ij8iaHFjZW5jIjpiPT09IjU4NSJ8fApiPT09IjU4OCJ8fGI9PT0iNTgzInx8Yj09PSI1ODYifHxiPT09IjU4NCJ8fGI9PT0iNTg3Inx8Yj09PSI1OTEifHxiPT09IjU5MiI/Im5ld2h2YyI6elEoKSYmaWIoKT49MjEmJmcudWIoImFwcGxldHY1IikmJihiPT09IjQxMCJ8fGI9PT0iODQ1Iik/ITA6bi5pc1R5cGVTdXBwb3J0ZWQodik/ITA6InRwdXMifTsKU0o9ZnVuY3Rpb24obixXKXtXLm5hbWUgaW4gbi5EfHwobi5EW1cubmFtZV09ajVpKG4sVykpO3JldHVybiBuLkRbVy5uYW1lXX07CkNlVT1mdW5jdGlvbihuKXtuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyYmbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7dHlwZToibWVkaWEtc291cmNlIix2aWRlbzp7Y29udGVudFR5cGU6J3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTJNLjA4Iicsd2lkdGg6Mzg0MCxoZWlnaHQ6MjE2MCxiaXRyYXRlOjMyRTYsZnJhbWVyYXRlOjYwfX0pLnRoZW4oVz0+e1cuc21vb3RoJiZXLnBvd2VyRWZmaWNpZW50JiYobi5jSj0yMTYwKX0pfTsKZk49ZnVuY3Rpb24oKXt2YXIgbj1vSygpJiYhQ18oMjkpLFc9Zy51YigiZ29vZ2xlIHR2IikmJmcudWIoImNocm9tZSIpJiYhQ18oMzApO3JldHVybiBufHxXPyExOmNSKCl9OwpKej1mdW5jdGlvbihuLFcsRCl7dmFyIGI9NDgwLHY9MTA4MCxrO2lmKGs9bi5leHBlcmltZW50cy5adCgpLk4uUVEoQnB0KSluLlY9PT1udWxsJiYobi5WPSExLFNKKG4sQVQuV0lEVEgpJiZTSihuLEFULkhFSUdIVCkmJihuLlY9ZHkoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTdNLjA4Ijsgd2lkdGg9NzY4MDsgaGVpZ2h0PTQzMjAnKSkpLGs9bi5WO2smJih2PTIxNjApO2ZvcihsZXQgaCBvZiBXKVc9aC52aWRlby5xdWFsaXR5T3JkaW5hbCxXPD12JiZXPmImJk9EKG4saCxEKT09PSEwJiYoYj1XKTtyZXR1cm4gYn07CmcuSW49ZnVuY3Rpb24obixXPSExKXtyZXR1cm4gZk4oKSYmbi5pc1R5cGVTdXBwb3J0ZWQoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fCFXJiZuLmNhblBsYXlUeXBlKGk4KCksImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIpPyEwOiExfTsKd0p4PWZ1bmN0aW9uKG4pe0ZLQygoKT0+e2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhBVCkpU0oobixBVFtXXSl9KX07Cmo1aT1mdW5jdGlvbihuLFcpe2lmKG4uailyZXR1cm4hIW4ualtXLm5hbWVdO2lmKFc9PT1BVC5CSVRSQVRFJiZuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwJykmJiFuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwMCcpKXJldHVybiExO2lmKFc9PT1BVC5BVjFfQ09ERUNTKXJldHVybiBuLmlzVHlwZVN1cHBvcnRlZChgdmlkZW8vbXA0OyBjb2RlY3M9JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYHZpZGVvL21wNDsgY29kZWNzPSR7Vy52R31gKTtpZihXLnZpZGVvKXt2YXIgRD0ndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiJztuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjRkNDAxZSInKX1lbHNlIEQ9J2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLApuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyk7cmV0dXJuIG4uaXNUeXBlU3VwcG9ydGVkKGAke0R9OyAke1cubmFtZX09JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYCR7RH07ICR7Vy5uYW1lfT0ke1cudkd9YCl9OwpTVD1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bi5XLmhhcyhXKSYmKEQ9bi5XLmdldChXKS56RSk7bi5XLnNldChXLHt6RTpEKzEsZzE6MioqKEQrMSl9KTtuLk49ITB9OwptVj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFcmJnR5cGVvZiBXPT09Im9iamVjdCIpe2xldCBrPWg9PkF6KG4saCxELGIsdik7CmlmKFlvKFcpKXJldHVybiBXLnRoZW4oayk7aWYoWUQoVykpcmV0dXJuIFNrKFcsayl9cmV0dXJuIEF6KG4sVyxELGIsdil9OwpLTj1mdW5jdGlvbihuLFcsRCxiPTEpe0Q+PTAmJihXIGluIG4uTnx8KG4uTltXXT1uZXcgTU9pKSxuLk5bV10uZEUoRCxiKSl9OwpBej1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSgwLGcuUikoKTt2PXY/dihXKTp2b2lkIDA7dmFyIGg9dj8uVF8/PzE7aCE9PTAmJktOKG4sdj8ucHJvZmlsZT8/RCxrLWIsaCk7cmV0dXJuIFd9OwpPZD1mdW5jdGlvbihuKXt2YXIgVz13aW5kb3c7Vy55d2N8fChXLnl3Yz17fSk7dmFyIEQ9Vy55d2Nbbl07aWYoRClyZXR1cm4gRDtEPXt9O3JldHVybiBXLnl3Y1tuXT1EfTsKUFg9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93O1cueXdjJiZkZWxldGUgVy55d2Nbbl19OwpSZ1U9ZnVuY3Rpb24obil7dmFyIFc9T2Qobik7aWYoVy5iaW5QKXJldHVybiBXLmJpblA7Vy5iaW5QPVByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmZldGNoKG4pKS50aGVuKEQ9PntpZighRC5vayl0aHJvdyBFcnJvcihgSFRUUCR7RC5zdGF0dXNUZXh0fWApOwpyZXR1cm4gRC5hcnJheUJ1ZmZlcigpfSk7ClcuYmluUC50aGVuKEQ9PntXLmJpbj1EfSwoKT0+e1BYKG4pfSk7CnJldHVybiBXLmJpblB9OwpFZD1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1aSy50WCgpLHY9biYmVWQ7aWYoIXYmJiFXKXJldHVybiBEPy4oIndhc21ucyIse3A6bj8iMSI6IjAiLGE6Vz8iMSI6IjAiLHM6VWQ/IjEiOiIwIn0pLGZsKEVycm9yKCJ3YXNtLndtLm5zIikpO3ZhciBrPW5ldyBRNXI7aWYodil0cnl7bGV0IGg9eWllbGQqUFAoVk9yKGssbikpLHg9bmV3IHlNKGgsaywhMSk7WksuZVUoIndpbml0IixiKTtEPy4oIndhc21zdyIse30pO3JldHVybiB4fWNhdGNoKGgpe2lmKEQ/Ligid2FzbWVycnciLHtlOmAke2h9YH0pLCFXKXRocm93IEVycm9yKCJ3YXNtLndtLml3Iix7Y2F1c2U6aH0pO31pZighVyl0aHJvdyBFcnJvcigid2FzbS53bS54eCIpO3RyeXtsZXQgaD15aWVsZCpQUChXKGspKSx4PW5ldyB5TSh7ZXhwb3J0czpofSxrLCEwKTtaSy5lVSgid2luaXRqcyIsYik7RD8uKCJ3YXNtc2EiLHt9KTtyZXR1cm4geH1jYXRjaChoKXt0aHJvdyBEPy4oIndhc21lcnJhIiwKe2U6YCR7aH1gfSksRXJyb3IoYHdhc20ud20uaWE6ICR7aH1gKTt9fSgpfSl9OwpWT3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28oYyR0LGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7aWYoIUQuTil0aHJvdyJ3YXNtLnBzLm5zIjt2YXIgYj15aWVsZCpQUChhdHQoRCxXKSk7aWYoIWIpdGhyb3cid2FzbS5wcy51bSI7cmV0dXJuIHlpZWxkKlBQKFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGIsbikpfSgpfSl9OwphdHQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBEPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPVtdLHY9KCk9PiJ3YXNtLnBzLmM6IFsiK2IubWFwKHg9PmAiJHt4fSJgKS5qb2luKCIsICIpKyJdIixrPU9kKFcpOwppZihrLm1vZClyZXR1cm4gay5tb2Q7aWYoay5tb2RQKXRyeXtyZXR1cm4geWllbGQqUFAoay5tb2RQKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBjbSIpfXZhciBoPWsuYmluO2lmKCFoJiZrLmJpblApdHJ5e2g9eWllbGQqUFAoay5iaW5QKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBmYiIpfWlmKCFoKXRyeXtoPXlpZWxkKlBQKFJnVShXKSl9Y2F0Y2goeCl7dGhyb3cgRC5OPSExLGIudW5zaGlmdChgZmI6ICR7eH1gKSx2KCk7fXRyeXtyZXR1cm4geWllbGQqUFAoV2ViQXNzZW1ibHkuY29tcGlsZShoKSl9Y2F0Y2goeCl7UFgoVyksYi51bnNoaWZ0KGBjYTogJHt4fWApfXRocm93IHYoKTt9KCl9KX07CmlvPWZ1bmN0aW9uKG4sVyxELGIpe0Q9bi5XVi5tZW1vcnkuY29weUluKEQpO3ZhciB2PW4uTjt2LldWLmV4cG9ydHMuQUVTMTI4Q1RSQ2lwaGVyX3NldENvdW50ZXIodi5jaXBoZXIsRC5ieXRlT2Zmc2V0KTtXPW4uV1YubWVtb3J5LmNvcHlJbihXKTtuLk4uZW5jcnlwdChXKTt2PXZvaWQgMDtpZihiKXtiPW4uV1Y7dj1uLko7bGV0IGs9Yi5tZW1vcnkuYnVmZmVyKGIubWVtb3J5Lm1hbGxvYygzMiksMzIpO2IuZXhwb3J0cy5TaGEyNTZIbWFjKHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgsRC5ieXRlT2Zmc2V0LEQuYnl0ZUxlbmd0aCxXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoLGsuYnl0ZU9mZnNldCk7dj1uLldWLm1lbW9yeS5tb3ZlT3V0KGspfW4uV1YubWVtb3J5LmZyZWUoRC5ieXRlT2Zmc2V0KTtyZXR1cm57RzQ6bi5XVi5tZW1vcnkubW92ZU91dChXKSxzaWduYXR1cmU6dn19OwpuWUM9ZnVuY3Rpb24obil7bi5FaC5leHBvcnRzLlRyYWNrZWRQb2ludGVyX3JlbGVhc2Uobi5pZCl9Owpvbj1mdW5jdGlvbihuKXtuLlh8fChuLlg9bmV3IHVvKG4uSikpO3JldHVybiBuLlh9OwpnLmQxPWZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gbHAobil9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKekw9ZnVuY3Rpb24obil7dmFyIFc9SG4oKTtpZihXLnZhbHVlcyl7Vz1XLnZhbHVlcztsZXQgaD17fTtmb3IodmFyIEQgb2YgT2JqZWN0LmtleXMobi52YWx1ZXMpKXtXW0RdJiZuLkpbRF0mJihuLnZhbHVlc1tEXSs9V1tEXS1uLkpbRF0pO3ZhciBiPW4sdj1iO2lmKCF2LnZhbHVlc1tEXSl7dmFyIGs9SG4oKTt2LnZhbHVlcz1rLnZhbHVlc3x8e307di5GWT1rLmhhbGZMaXZlc3x8e307di5KPWsudmFsdWVzP09iamVjdC5hc3NpZ24oe30say52YWx1ZXMpOnt9fWhbRF09Yi52YWx1ZXNbRF0mJmIuRllbRF0/Yi52YWx1ZXNbRF0vMioqKGIuTi9iLkZZW0RdKTowfW4uSj1ofUQ9bi5GWTtXPXt9O1cudmFsdWVzPW4uSjtXLmhhbGZMaXZlcz1EO2cuUEIoInl0LXBsYXllci1tZW1vcnkiLFcsMjU5MkUzKX07Clh2PWZ1bmN0aW9uKG4sVyl7cmV0dXJuISFXJiYhIW4uWnQoKS5OLlFRKFdJTSkmJihXLnN0YXJ0c1dpdGgoImciKXx8Vy5zdGFydHNXaXRoKCJsIikpfTsKZy5zZD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iTVdFQiJ9OwpUTD1mdW5jdGlvbihuKXtuLmdUPT09bnVsbCYmKG4uZ1Q9d2luZG93Lk1lZGlhU291cmNlJiZ3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkP3dpbmRvdy5NZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUnKTohMSk7cmV0dXJuIG4uZ1R9OwpqVD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9TSU1QTFlfRU1CRURERURfUExBWUVSIn07CmcubzQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uSiYmZy5DTihuKSYmIUJYKG4pJiYhbi5YfTsKQlg9ZnVuY3Rpb24obil7cmV0dXJuIG4uWT09PSJhZHVuaXQifHxuLnBsYXllclN0eWxlPT09Imd2biJ9OwpGVj1mdW5jdGlvbihuKXtyZXR1cm4gbi5ZPT09ImRldGFpbHBhZ2UifTsKZy53MT1mdW5jdGlvbihuKXtyZXR1cm4gdzgmJiFuLnhofHxnLnViKCJuaW50ZW5kbyB3aWl1Iik/ITA6ITF9OwpnLkNOPWZ1bmN0aW9uKG4pe3JldHVybiBuLlk9PT0iZW1iZWRkZWQifTsKZy5NVj1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX1JFTUlYIn07ClFNPWZ1bmN0aW9uKG4pe2lmKCFuLndlYlBsYXllckNvbnRleHRDb25maWc/LmVtYmVkc0hvc3RGbGFncz8uZW5hYmxlTGl0ZVV4fHxuLnZKfHxuLlh8fG4uRHx8bi5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRlAiKXJldHVybiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX05PTkUiO249Zy5kTShuLmV4cGVyaW1lbnRzLCJlbWJlZHNfd2ViX2xpdGVfbW9kZSIpO3JldHVybiBuPT09dm9pZCAwPyJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04iOm4+PTAmJm48Um4ubGVuZ3RoP1JuW25dOiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04ifTsKY1g9ZnVuY3Rpb24obixXLEQ9ITEpe24uUyQ9Yk8obi5TJCxXLnZpZGVvX2lkKTtuLmZCPWJPKG4uZkIsVy5ldmVudGlkKTtuLmZCJiYod289bi5mQik7dmFyIGI9W107Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKFZNKSl7bGV0IGs9Vk1bdl0saD1XW2tdO2ghPW51bGwmJihoIT09bi5OW2tdJiZiLnB1c2goayksbi5OW2tdPWgpfSFEJiZiLmxlbmd0aD4wJiZuLm9NJiYoYi5zb3J0KCksZy5HcShuZXcgZy5ReCgiUGxheWVyIGNsaWVudCBwYXJhbWV0ZXJzIGNoYW5nZWQgYWZ0ZXIgc3RhcnR1cCIsYikpKTtuLnVzZXJBZ2U9REkobi51c2VyQWdlLFcudXNlcl9hZ2UpO24udXNlckRpc3BsYXlJbWFnZT1iTyhuLnVzZXJEaXNwbGF5SW1hZ2UsVy51c2VyX2Rpc3BsYXlfaW1hZ2UpO2cuakkobi51c2VyRGlzcGxheUltYWdlKXx8KG4udXNlckRpc3BsYXlJbWFnZT0iIik7bi51c2VyRGlzcGxheU5hbWU9Yk8obi51c2VyRGlzcGxheU5hbWUsVy51c2VyX2Rpc3BsYXlfbmFtZSk7bi55dz1iTyhuLnl3LApXLnVzZXJfZ2VuZGVyKTtuLmNzaVBhZ2VUeXBlPWJPKG4uY3NpUGFnZVR5cGUsVy5jc2lfcGFnZV90eXBlKTtuLmNzaVNlcnZpY2VOYW1lPWJPKG4uY3NpU2VydmljZU5hbWUsVy5jc2lfc2VydmljZV9uYW1lKTtuLmVWPW55KG4uZVYsVy5lbmFibGVjc2kpO24ucGFnZUlkPWJPKG4ucGFnZUlkLFcucGFnZWlkKTtpZihEPVcuZW5hYmxlZF9lbmdhZ2VfdHlwZXMpbi5lbmFibGVkRW5nYWdlVHlwZXM9bmV3IFNldChELnNwbGl0KCIsIikpO1cubGl2aW5nX3Jvb21fc2Vzc2lvbl9wb190b2tlbiYmKG4ualc9Vy5saXZpbmdfcm9vbV9zZXNzaW9uX3BvX3Rva2VuLnRvU3RyaW5nKCkpfTsKZy5hbj1mdW5jdGlvbihuKXtyZXR1cm4vd2ViL2kudGVzdChsbyhuKSl9Owpsbz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmN9OwpjOT1mdW5jdGlvbihuLFcpe3JldHVybiFuLlgmJm9LKCkmJkNfKDU1KSYmbi5jb250cm9sc1R5cGU9PT0iMyImJiFXfTsKV0U9ZnVuY3Rpb24obil7bj1nLm5FKG4uRGEpO3JldHVybiBuPT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSI/Ind3dy55b3V0dWJlLmNvbSI6bn07CmcuRGY9ZnVuY3Rpb24obil7cmV0dXJuIGxvKG4pPT09IldFQl9VTlBMVUdHRUQifTsKYmk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLnByb3RvY29sKyI6Ly9pMS55dGltZy5jb20vdmkvIitXKyIvIisoRHx8ImhxZGVmYXVsdC5qcGciKX07CnZFPWZ1bmN0aW9uKG4pe3JldHVybiBGVihuKSYmIWcuRGYobil9OwpnLms2PWZ1bmN0aW9uKG4pe3JldHVybi9eVFZIVE1MNS8udGVzdChsbyhuKSl9OwpodT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9DQVNUInx8bG8obik9PT0iVFZIVE1MNSImJihuLk4uY3Zlci5zdGFydHNXaXRoKCI2LjIwMTMwNzI1Iil8fG4uTi5jdmVyLnN0YXJ0c1dpdGgoIjYuMjAxMzA3MjYiKSl9OwpnLng2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1In07CkxFPWZ1bmN0aW9uKG4pe3JldHVybiBuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QgVUxUUkEvU1RFQUsifHxuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QvU1RFQUsifTsKZy5IXz1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbz4xP3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjF9OwpnLmVNPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKS50b1VwcGVyQ2FzZSgpPT09IldFQiJ9OwpnLlhDPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfS0lEUyJ9OwpnLnFGPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1X1VOUExVR0dFRCJ9OwpnLkdsPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRmKG4pfHxsbyhuKT09PSJUVl9VTlBMVUdHRURfQ0FTVCJ8fGcucUYobil9Owp0dT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX01VU0lDX0lOVEVHUkFUSU9OUyJ9OwpnLiQ2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfRU1CRURERURfUExBWUVSIn07Cmcubk49ZnVuY3Rpb24obil7cmV0dXJuKG4uZGV2aWNlSXNBdWRpb09ubHl8fCFnLm9kfHxnLk1MfHxuLmNvbnRyb2xzVHlwZT09PSIzIj8hMTpnLlFIP24uSiYmZy5aWCg1MSk6ITApfHwobi5kZXZpY2VJc0F1ZGlvT25seXx8IWcuYW98fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDQ4KTpnLlpYKDM4KSl8fChuLmRldmljZUlzQXVkaW9Pbmx5fHwhcmN8fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDM3KTpnLlpYKDI3KSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLnNtJiYhRm4oKSYmZy5aWCgxMSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLkduJiZnLlpYKCI2MDQuNCIpfHxuLldjKCl9OwpacVM9ZnVuY3Rpb24obil7aWYoZy5DTihuKSYmTkYpcmV0dXJuITE7aWYoZy5hbyl7aWYoIWcuWlgoNDcpfHwhZy5aWCg1MikmJmcuWlgoNTEpKXJldHVybiExfWVsc2UgaWYoZy5HbilyZXR1cm4hMTtyZXR1cm4gd2luZG93LkF1ZGlvQ29udGV4dHx8d2luZG93LndlYmtpdEF1ZGlvQ29udGV4dD8hMDohMX07CmcucEU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5lbmFibGVkRW5nYWdlVHlwZXMuaGFzKFcudG9TdHJpbmcoKSl8fER2aS5pbmNsdWRlcyhXKX07CnZZaj1mdW5jdGlvbihuKXt2YXIgVz1XRShuKTtiVmkuaW5jbHVkZXMoVykmJihXPSJ3d3cueW91dHViZS5jb20iKTtyZXR1cm4gbi5wcm90b2NvbCsiOi8vIitXfTsKZy5IRT1mdW5jdGlvbihuLFc9IiIpe2lmKG4uSFkpe2xldCBEPW5ldyBZNixiLHY9bi5IWSgpO3Yuc2lnbmVkT3V0P2I9IiI6di50b2tlbj9iPXYudG9rZW46di5wZW5kaW5nUmVzdWx0LnRoZW4oaz0+e3Yuc2lnbmVkT3V0P0QucmVzb2x2ZSgiIik6RC5yZXNvbHZlKGsudG9rZW4pfSxrPT57Zy5HcShuZXcgZy5ReCgiYjE4OTM0ODMyOF9vYXV0aF9jYWxsYmFja19mYWlsZWQiLHtlcnJvcjprfSkpOwpELnJlc29sdmUoVyl9KTsKcmV0dXJuIGIhPT12b2lkIDA/Zy5IMChiKTpuZXcgTlgoRCl9cmV0dXJuIGcuSDAoVyl9OwpmRT1mdW5jdGlvbihuLFc9IiIpe3JldHVybiBuLllyP0hQKCEwKTpLbChTayhIUChnLkhFKG4sVykpLEQ9PkhQKCEhRCkpLCgpPT5IUCghMSkpfTsKSnU9ZnVuY3Rpb24obixXKXtpZihuLldWPVcpbi5QWD8uTj8uVihXKSxXLmlzQXNtanM/bi5reS5wdXNoKCJhc21qcyIpOm4ua3kucHVzaCgid2FzbSIpfTsKZy5uRT1mdW5jdGlvbihuKXt2YXIgVz1nLklQKG4pO3JldHVybihuPU51bWJlcihnLmZwKG4pWzRdfHxudWxsKXx8bnVsbCk/YCR7V306JHtufWA6V307ClNNPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9WWdbbl0sYj1JQVtEXSx2PWtIcltuXTtpZighdnx8IWIpcmV0dXJuIG51bGw7Vz1uZXcgSFIoVz92LmhlaWdodDp2LndpZHRoLFc/di53aWR0aDp2LmhlaWdodCx2LmZwcyk7Yj1wNihiLFcsRCk7cmV0dXJuIG5ldyBtdShuLGIse3ZpZGVvOlcsTnM6di5iaXRyYXRlLzh9KX07CkF1PWZ1bmN0aW9uKG4pe3ZhciBXPUlBW1lnW25dXSxEPWhFU1tuXTtyZXR1cm4gRCYmVz9uZXcgbXUobixXLHthdWRpbzpuZXcgQU0oRC5hdWRpb1NhbXBsZVJhdGUsRC5udW1DaGFubmVscyl9KTpudWxsfTsKVlA9ZnVuY3Rpb24obixXLEQsYil7aWYoRClyZXR1cm4gZy5wJCgpO0Q9e307dmFyIHY9aTgoKTtmb3IobGV0IGsgb2YgVylpZihuLmNhblBsYXlUeXBlKHYsay5rTCgpLm1pbWVUeXBlKXx8YilpZihXPWsuTi52aWRlby5xdWFsaXR5LCFEW1ddfHxEW1ddLmtMKCkucUgoKSlEW1ddPWs7bj1bXTtELmF1dG8mJm4ucHVzaChELmF1dG8pO2ZvcihsZXQgayBvZiBwTSkoYj1EW2tdKSYmbi5wdXNoKGIpO3JldHVybiBuLmxlbmd0aD9nLkgwKG4pOmcucCQoKX07CktFPWZ1bmN0aW9uKG4sVz0hMSxEPSEwLGI9e30pe3ZhciB2PXt9O2ZvcihsZXQgaCBvZiBuKXtpZihXJiZNZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiYobj1oLnR5cGUsaC5hdWRpb19jaGFubmVscyYmKG49bisiOyBjaGFubmVscz0iK2guYXVkaW9fY2hhbm5lbHMpLCFNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobikpKXtiW2guaXRhZ109InRwdXMiO2NvbnRpbnVlfWlmKCFEJiZoLmRybV9mYW1pbGllcyYmKGguZW90Zj09PSJzbXB0ZTIwODQifHxoLmVvdGY9PT0iYXJpYi1zdGQtYjY3Iikpe2JbaC5pdGFnXT0iZW5jaGRyIjtjb250aW51ZX1uPXZvaWQgMDtsZXQgeD17YnQ3MDk6IlNEUiIsYnQyMDIwOiJTRFIiLHNtcHRlMjA4NDoiUFEiLCJhcmliLXN0ZC1iNjciOiJITEcifTt2YXIgaz1oLnR5cGUubWF0Y2goL2NvZGVjcz0iKFteIl0qKSIvKTtrPWs/a1sxXToiIjtoLmF1ZGlvX3RyYWNrX2lkJiYobj1uZXcgd1AoaC5uYW1lLGguYXVkaW9fdHJhY2tfaWQsCiEhaC5pc19kZWZhdWx0KSk7bGV0IEw9aC5lb3RmO249bmV3IG04KHtpdGFnOmguaXRhZyx1cmw6aC51cmwsY29kZWNzOmssd2lkdGg6TnVtYmVyKGgud2lkdGgpLGhlaWdodDpOdW1iZXIoaC5oZWlnaHQpLGZwczpOdW1iZXIoaC5mcHMpLGJpdHJhdGU6TnVtYmVyKGguYml0cmF0ZSksYXVkaW9JdGFnOmguYXVkaW9faXRhZyxVaDpMP3hbTF06dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOmguZHJtX2ZhbWlsaWVzLGtaOm4sYXVkaW9DaGFubmVsczpOdW1iZXIoaC5hdWRpb19jaGFubmVscyl9KTt2W24uaXRhZ109dltuLml0YWddfHxbXTt2W24uaXRhZ10ucHVzaChuKX1yZXR1cm4gdn07CnZhciB4dlU9ZnVuY3Rpb24obixXKXtyZXR1cm4gZ1pbSVsxMF1dKHRoaXMsMSw3ODUyLG4sVyl9OwpMSUM9ZnVuY3Rpb24obixXKXtuLlcuc29tZShEPT5ELmtaPy5nZXRJZCgpPT09Vyk7Cm4uTj1XfTsKZUVpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9W107Zm9yKGxldCBiIG9mIG4uSiliLmJpdHJhdGU8PW4uWD9XLnB1c2goYik6RC5wdXNoKGIpO1cuc29ydCgoYix2KT0+di5iaXRyYXRlLWIuYml0cmF0ZSk7CkQuc29ydCgoYix2KT0+Yi5iaXRyYXRlLXYuYml0cmF0ZSk7Cm4uSj1XLmNvbmNhdChEKX07Ck9tPWZ1bmN0aW9uKG4sVyxEKXtuLmNwbiYmKFc9Zy5FVChXLHtjcG46bi5jcG59KSk7RCYmKFc9Zy5FVChXLHt2WjpEfSkpO3JldHVybiBXfTsKUEU9ZnVuY3Rpb24obixXKXtuPW4uaXRhZy50b1N0cmluZygpO1chPT1udWxsJiYobis9Vy5pdGFnLnRvU3RyaW5nKCkpO3JldHVybiBufTsKZ1laPWZ1bmN0aW9uKG4sVyl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gbnVsbDtuPUtFKFcsbi5TKCJodG1sNV9maWx0ZXJfZm1wNF9pbl9obHMiKSk7aWYoIW4pcmV0dXJuIG51bGw7Vz1bXTt2YXIgRD17fTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobikpZm9yKGxldCB2IG9mIG5bYl0paWYodi5rWil7bGV0IGs9di5rWi5nZXRJZCgpO2lmKCFEW2tdKXtsZXQgaD1uZXcgV0Eoayx2LmtaKTtEW2tdPWg7Vy5wdXNoKGgpfX1yZXR1cm4gVy5sZW5ndGg+MD9XOm51bGx9Owp0bU09ZnVuY3Rpb24obixXLEQsYix2LGssaCl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gZy5wJCgpO3ZhciB4PXt9LEw9WDNTKEQpLGU9S0UoRCxuLlMoImh0bWw1X2ZpbHRlcl9mbXA0X2luX2hscyIpLG4uVy5LLHgpO2lmKCFlKXJldHVybiBoKHtub3Bsc3Q6MX0pLGcucCQoKTtxbGgoZSk7dmFyIEc9e2ZhaXJwbGF5OiJodHRwczovL3lvdXR1YmUuY29tL2FwaS9kcm0vZnBzP2VrPXVuaW5pdGlhbGl6ZWQifSxyO0Q9W107dmFyIE49W10sSD1bXSxBPW51bGwseT0iIjtiPWImJmIubWF0Y2goL2hsc190aW1lZHRleHRfcGxheWxpc3QvKT9uZXcgbTgoe2l0YWc6IjAiLHVybDpiLGNvZGVjczoidnR0Iix3aWR0aDowLGhlaWdodDowLGZwczowLGJpdHJhdGU6MCxrWjpuZXcgd1AoIkVuZ2xpc2giLCJlbiIsITEpfSk6bnVsbDtmb3IobGV0IFEgb2YgT2JqZWN0LmtleXMoZSkpaWYoIW4uUygiaHRtbDVfZGlzYWJsZV9kcm1faGZyXzEwODAiKXx8USE9PSIzODMiJiZRIT09IjM3MyIpZm9yKGxldCBWIG9mIGVbUV0paWYoVi53aWR0aCl7Zm9yKGxldCBIWiBvZiBWLkopaWYoZVtIWl0pe1YuTj0KSFo7YnJlYWt9Vi5OfHwoVi5OPUdIdChlLFYpKTtsZXQgTHQ9ZVtWLk5dO2lmKCFMdCljb250aW51ZTtELnB1c2goVik7Vi5jb250ZW50UHJvdGVjdGlvbj09PSJmYWlycGxheSImJihyPUcpO2xldCB0aT0iIjtWLlVoPT09IlBRIj90aT0ic21wdGUyMDg0IjpWLlVoPT09IkhMRyImJih0aT0iYXJpYi1zdGQtYjY3Iik7dGkmJih5PXRpKTtILnB1c2goWmYoTHQsW1ZdLGIsayxWLml0YWcsVi53aWR0aCxWLmhlaWdodCxWLmZwcyxMLHZvaWQgMCx2b2lkIDAscix0aSkpO2lmKCFBfHxWLndpZHRoKlYuaGVpZ2h0KlYuZnBzPkEud2lkdGgqQS5oZWlnaHQqQS5mcHMpQT1WfWVsc2UgTi5wdXNoKFYpO2Vsc2UgeFtRXT0iZGlzZHJtaGZyIjtILnJlZHVjZSgoUSxWKT0+Vi5rTCgpLmlzRW5jcnlwdGVkKCkmJlEsITApJiYocj1HKTsKdj1NYXRoLm1heCh2LDApO3ZhciB7ZnBzOlQ9MCx3aWR0aDp6PTAsaGVpZ2h0OkM9MH09QXx8e307QT1uLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKTtILnB1c2goWmYoTixELGIsaywiOTMiLHosQyxULEwsImF1dG8iLHYscix5LEEpKTtPYmplY3QuZW50cmllcyh4KS5sZW5ndGgmJmgoeCk7cmV0dXJuIFZQKG4uVyxILGM5KG4sVyksITEpfTsKWmY9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSxHLHIsTixIKXt2YXIgQT0wLHk9IiI7Zm9yKGxldCBUIG9mIG4peXx8KHk9VC5pdGFnKSxULmF1ZGlvQ2hhbm5lbHMmJlQuYXVkaW9DaGFubmVscz5BJiYoQT1ULmF1ZGlvQ2hhbm5lbHMseT1ULml0YWcpO3Y9bmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2F1ZGlvOm5ldyBBTSgwLEEpLHZpZGVvOm5ldyBIUihrLGgseCxudWxsLHZvaWQgMCxlLHZvaWQgMCx2b2lkIDAsTiksY29udGVudFByb3RlY3Rpb246cixBYTp5fSk7bj1uZXcgJHYxKG4sVyxEP1tEXTpbXSxiLCEhSCk7bi5YPUc/RzoxMzY5ODQzO3JldHVybiBuZXcgVW0odixuLEwpfTsKWDNTPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuKWlmKFcudXJsJiYobj1XLnVybC5zcGxpdCgiZXhwaXJlLyIpLCEobi5sZW5ndGg8PTEpKSlyZXR1cm4rblsxXS5zcGxpdCgiLyIpWzBdO3JldHVybiBOYU59OwpHSHQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgT2JqZWN0LmtleXMobikpe2xldCBiPW5bRF1bMF07aWYoIWIud2lkdGgmJmIuY29udGVudFByb3RlY3Rpb249PT1XLmNvbnRlbnRQcm90ZWN0aW9uJiYhYi5hdWRpb0NoYW5uZWxzKXJldHVybiBEfXJldHVybiIifTsKcWxoPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBTZXQ7Zm9yKHZhciBEIG9mIE9iamVjdC52YWx1ZXMobikpaWYoRC5sZW5ndGgpe3ZhciBiPURbMF07Yi5oZWlnaHQmJmIuY29kZWNzLnN0YXJ0c1dpdGgoInZwMDkiKSYmVy5hZGQoYi5oZWlnaHQpfUQ9W107aWYoVy5zaXplKWZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhuKSluW3ZdLmxlbmd0aCYmKGI9blt2XVswXSxiLmhlaWdodCYmVy5oYXMoYi5oZWlnaHQpJiYhYi5jb2RlY3Muc3RhcnRzV2l0aCgidnAwOSIpJiZELnB1c2godikpO2ZvcihsZXQgdiBvZiBEKWRlbGV0ZSBuW3ZdfTsKcnFaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHYgb2YgRCl7aWYoIXZ8fCF2LnVybCljb250aW51ZTtEPVFQKHYudHlwZSwibWVkaXVtIiwiMCIpO2IucHVzaChuZXcgeW4oRCx2LnVybCkpfXJldHVybiBWUChuLlcsYixjOShuLFcpLCExKX07CnNpcj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdLGI9UVAoVy50eXBlLCJhdXRvIixXLml0YWcpO0QucHVzaChuZXcgeW4oYixXLnVybCkpO3JldHVybiBWUChuLlcsRCwhMSwhMCl9OwppaT1mdW5jdGlvbihuKXtyZXR1cm4gbiYmRW1bbl0/RW1bbl06bnVsbH07CnVpPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJtdWx0aXZpZXcudXN0cmVhbWVyX2Rpc2FibGVkIjpjYXNlICJzYWJyLmludmFsaWRfaW5wdXRfc3RyZWFtIjpjYXNlICJzYWJyLmxpdmVfbm9fbWF4X3NxIjpjYXNlICJzYWJyLmxpdmVfdW5hdXRob3JpemVkX3JlcXVlc3QiOmNhc2UgInNhYnIubWFsZm9ybWVkX2NvbmZpZyI6Y2FzZSAic2Fici5tZWRpYV9zZXJ2aW5nX2VuZm9yY2VtZW50X2lkX2Vycm9yIjpjYXNlICJzYWJyLm1ldGFkYXRhX2ZldGNoZXJfZXJyb3IiOmNhc2UgInNhYnIubm9fYXVkaW9fc2VsZWN0ZWQiOmNhc2UgInNhYnIubm9fYXZhaWxhYmxlX2Zvcm1hdHMiOmNhc2UgInNhYnIubm9fcmVkaXJlY3RfdXJsIjpjYXNlICJzYWJyLm5vX3ZpZGVvX3NlbGVjdGVkIjpjYXNlICJzYWJyLm90Zl9ub3Rfc3VwcG9ydGVkIjpjYXNlICJzYWJyLnRvb19tYW55X2NodW5rX3JlYWRlcl9lcnJvcl9yZXRyaWVzIjpyZXR1cm4gbjtkZWZhdWx0OnJldHVybiJzYWJyLmNvbmZpZyJ9fTsKb0E9ZnVuY3Rpb24obixXKXtpZihXPVc/LndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRPbmVzaWVDb25maWc/Lmh0bWw1UGxheWJhY2tPbmVzaWVDb25maWcpbi5RYT1uZXcgTiR3KFcpfTsKVGw9ZnVuY3Rpb24obixXLEQsYil7bnx8KG49VyYmZGMuaGFzT3duUHJvcGVydHkoVykmJnpsLmhhc093blByb3BlcnR5KFcpP3psW1ddKyJfIitkY1tXXTp2b2lkIDApO1c9bjtpZighVylyZXR1cm4gbnVsbDtuPVcubWF0Y2gobGkpO2lmKCFufHxuLmxlbmd0aCE9PTUpcmV0dXJuIG51bGw7e2xldCBrPVcubWF0Y2gobGkpO2lmKGspe249TnVtYmVyKGtbM10pO3ZhciB2PVs3LDgsMTAsNSw2XTtuPSEoTnVtYmVyKGtbMV0pPT09MSYmbj09PTgpJiZ2LmluZGV4T2Yobik+PTB9ZWxzZSBuPSExfXJldHVybiBEfHxifHxuP1c6bnVsbH07CkNFPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKGpNKSl7dmFyIGI9Vz9XK3Y6djtiPW5bYisiX3dlYnAiXXx8bltiXTtnLmpJKGIpJiYoRFtqTVt2XV09Yil9cmV0dXJuIER9Owp3Yz1mdW5jdGlvbihuKXt2YXIgVz17fTtpZighbnx8IW4udGh1bWJuYWlscylyZXR1cm4gVztuPW4udGh1bWJuYWlscy5maWx0ZXIodj0+ISF2LnVybCk7Cm4uc29ydCgodixrKT0+di53aWR0aC1rLndpZHRofHx2LmhlaWdodC1rLmhlaWdodCk7CmZvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhCRSkpe3ZhciBiPU51bWJlcihEKTtsZXQgdj1CRVtiXTtmb3IobGV0IGsgb2YgbilpZihrLndpZHRoPj1iKXtiPUZDKGsudXJsKTtnLmpJKGIpJiYoV1t2XT1iKTticmVha319KEQ9bi5wb3AoKSkmJkQud2lkdGg+PTEyODAmJihEPUZDKEQudXJsKSxnLmpJKEQpJiYoV1sibWF4cmVzZGVmYXVsdC5qcGciXT1EKSk7cmV0dXJuIFd9OwpGQz1mdW5jdGlvbihuKXtyZXR1cm4gbi5zdGFydHNXaXRoKCIvLyIpPyJodHRwczoiK246bn07Ck1GPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLmJhc2VVcmx8fCIifTsKUkE9ZnVuY3Rpb24obil7bj1nLm9FKG4pO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSl7bGV0IEQ9bltXXTtuW1ddPUFycmF5LmlzQXJyYXkoRCk/RFswXTpEfXJldHVybiBufTsKWWx3PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEIG9mIFcpaWYoVz1ELnBsYXllckFubm90YXRpb25zVXJsc1JlbmRlcmVyKXtXLmFkc09ubHkmJihuLlJtPSEwKTtpZihEPVcubG9hZFBvbGljeSluLmFubm90YXRpb25zTG9hZFBvbGljeT1wM01bRF07aWYoRD1XLmludmlkZW9Vcmwpbi5lYT1GTihEKTtuLnk1PSEwO2JyZWFrfX07ClFuPWZ1bmN0aW9uKG4sVyl7bi5ib3RndWFyZERhdGE9Vy5wbGF5ZXJBdHRlc3RhdGlvblJlbmRlcmVyLmJvdGd1YXJkRGF0YTtXPVcucGxheWVyQXR0ZXN0YXRpb25SZW5kZXJlci5jaGFsbGVuZ2U7VyE9bnVsbCYmKG4ucEs9Vyl9OwpIVng9ZnVuY3Rpb24obixXKXtuLmNhcHRpb25UcmFja3M9W107aWYoVy5jYXB0aW9uVHJhY2tzKWZvcih2YXIgRCBvZiBXLmNhcHRpb25UcmFja3Mpe3ZhciBiPVZuKEQuYmFzZVVybCk7aWYoIWIpcmV0dXJuO2I9e2lzX3RyYW5zbGF0ZWFibGU6ISFELmlzVHJhbnNsYXRhYmxlLGxhbmd1YWdlQ29kZTpELmxhbmd1YWdlQ29kZSxsYW5ndWFnZU5hbWU6RC5uYW1lJiZnLkRwKEQubmFtZSksdXJsOmIsdnNzX2lkOkQudnNzSWQsa2luZDpELmtpbmR9O2IubmFtZT1ELnRyYWNrTmFtZTtiLmRpc3BsYXlOYW1lPUQubmFtZSYmZy5EcChELm5hbWUpO24uY2FwdGlvblRyYWNrcy5wdXNoKG5ldyBnLlF3KGIpKX1uLlR3PVcuYXVkaW9UcmFja3N8fFtdO24uTyQ9Vy5kZWZhdWx0QXVkaW9UcmFja0luZGV4fHwwO24ucnA9W107aWYoVy50cmFuc2xhdGlvbkxhbmd1YWdlcylmb3IobGV0IHYgb2YgVy50cmFuc2xhdGlvbkxhbmd1YWdlcyl7RD17fTtELmxhbmd1YWdlQ29kZT12Lmxhbmd1YWdlQ29kZTsKRC5sYW5ndWFnZU5hbWU9Zy5EcCh2Lmxhbmd1YWdlTmFtZSk7aWYodi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyl7RC50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcz1bXTtmb3IobGV0IGsgb2Ygdi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcylELnRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzLnB1c2goayl9aWYodi5leGNsdWRlQXVkaW9UcmFja0luZGljZXMpe0QuZXhjbHVkZUF1ZGlvVHJhY2tJbmRpY2VzPVtdO2ZvcihsZXQgayBvZiB2LmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcylELmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcy5wdXNoKGspfW4ucnAucHVzaChEKX1uLmc1PVtdO2lmKFcuZGVmYXVsdFRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzKWZvcihsZXQgdiBvZiBXLmRlZmF1bHRUcmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyluLmc1LnB1c2godil9Owpmb2k9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcuZXJyb3JTY3JlZW47aWYoIShiJiYoYi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcnx8Yi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjVHJhaWxlclJlbmRlcmVyfHxiLnlwY1RyYWlsZXJSZW5kZXJlcil8fEQmJkQuaXNVcGNvbWluZ3x8WyJPSyIsIkxJVkVfU1RSRUFNX09GRkxJTkUiLCJGVUxMU0NSRUVOX09OTFkiXS5pbmNsdWRlcyhXLnN0YXR1cykpKXtuLmVycm9yQ29kZT1paShXLmVycm9yQ29kZSl8fCJhdXRoIjtpZihEPWImJmIucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIpe24ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI9RDtsZXQgdj1ELnJlYXNvbjt2JiYobi5lcnJvclJlYXNvbj1nLkRwKHYpKTtpZihEPUQuc3VicmVhc29uKW4ud2k9Zy5EcChEKSxuLlRZPUR9ZWxzZSBuLmVycm9yUmVhc29uPVcucmVhc29ufHxudWxsO0Q9Vy5zdGF0dXM7RD09PSJMT0dJTl9SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0KIjEiOkQ9PT0iQ09OVEVOVF9DSEVDS19SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0iMiI6RD09PSJBR0VfQ0hFQ0tfUkVRVUlSRUQiPyhXPShXPVcuZXJyb3JTY3JlZW4pJiZXLnBsYXllckthdlJlbmRlcmVyLG4uZXJyb3JEZXRhaWw9VyYmVy5rYXZVcmw/IjQiOiIzIik6KGI9Yj8ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI/LnByb2NlZWRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5jb21tYW5kLG4uZXJyb3JEZXRhaWw9Vy5pc0Jsb2NrZWRJblJlc3RyaWN0ZWRNb2RlPyI1IjpnLncoYixnLmNFKT8uc2lnbmFsPT09IlJFTE9BRF9QQUdFIj8iNyI6IjAiKX19OwpKcVo9ZnVuY3Rpb24obixXKXtuLllpPSEwO3ZhciBEPVcuaGVhcnRiZWF0VG9rZW47bi5kcm1TZXNzaW9uSWQ9Vy5kcm1TZXNzaW9uSWR8fCIiO24uaGVhcnRiZWF0VG9rZW49RHx8IiI7bi5zRT1OdW1iZXIoVy5pbnRlcnZhbE1pbGxpc2Vjb25kcyk7bi5sND1OdW1iZXIoVy5tYXhSZXRyaWVzKTtuLkg2PSEhVy5zb2Z0RmFpbE9uRXJyb3I7bi5EZD0hIVcudXNlSW5uZXJ0dWJlSGVhcnRiZWF0c0ZvckRybTtuLmhlYXJ0YmVhdFNlcnZlckRhdGE9Vy5oZWFydGJlYXRTZXJ2ZXJEYXRhO24uUE09ISFXLmhlYXJ0YmVhdEF0dGVzdGF0aW9uQ29uZmlnPy5yZXF1aXJlc0F0dGVzdGF0aW9ufTsKQXExPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9RC5pbnRlcnN0aXRpYWxzLm1hcChiPT57dmFyIHY9Zy53KGIsSW9iKTtpZih2KXJldHVybntpc195dG9faW50ZXJzdGl0aWFsOiEwLHJhd19wbGF5ZXJfcmVzcG9uc2U6dn07aWYoYj1nLncoYixTbE0pKXJldHVybiBPYmplY3QuYXNzaWduKHtpc195dG9faW50ZXJzdGl0aWFsOiEwfSxnLml3KGIpKX0pOwpmb3IobGV0IGIgb2YgVylzd2l0Y2goRC5wb2RDb25maWcucGxheWJhY2tQbGFjZW1lbnQpe2Nhc2UgIklOVEVSU1RJVElBTF9QTEFZQkFDS19QTEFDRU1FTlRfUFJFIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZTowLHBsYXllclZhcnM6YixrcTo1fSk7YnJlYWs7Y2FzZSAiSU5URVJTVElUSUFMX1BMQVlCQUNLX1BMQUNFTUVOVF9QT1NUIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZToweDdmZmZmZmZmZmZmZmYscGxheWVyVmFyczpiLGtxOjZ9KTticmVhaztjYXNlICJJTlRFUlNUSVRJQUxfUExBWUJBQ0tfUExBQ0VNRU5UX0lOU0VSVF9BVF9WSURFT19USU1FIjpXPU51bWJlcihELnBvZENvbmZpZy50aW1lVG9JbnNlcnRBdE1pbGxpcyksbi5pbnRlcnN0aXRpYWxzPW4uaW50ZXJzdGl0aWFscy5jb25jYXQoe3RpbWU6VyxwbGF5ZXJWYXJzOmIsa3E6Vz09PTA/NTo3fSl9fX07Cm12aj1mdW5jdGlvbihuLFcpe2lmKFc9Vy5maW5kKEQ9PiEoIUR8fCFELnRvb2x0aXBSZW5kZXJlcikpKW4udG9vbHRpcFJlbmRlcmVyPVcudG9vbHRpcFJlbmRlcmVyfTsKYUE9ZnVuY3Rpb24obixXKXtXLnN1YnNjcmliZUNvbW1hbmQmJihuLnN1YnNjcmliZUNvbW1hbmQ9Vy5zdWJzY3JpYmVDb21tYW5kKTtXLnVuc3Vic2NyaWJlQ29tbWFuZCYmKG4udW5zdWJzY3JpYmVDb21tYW5kPVcudW5zdWJzY3JpYmVDb21tYW5kKTtXLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQmJihuLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQ9Vy5hZGRUb1dhdGNoTGF0ZXJDb21tYW5kKTtXLnJlbW92ZUZyb21XYXRjaExhdGVyQ29tbWFuZCYmKG4ucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kPVcucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kKTtXLmdldFNoYXJlUGFuZWxDb21tYW5kJiYobi5nZXRTaGFyZVBhbmVsQ29tbWFuZD1XLmdldFNoYXJlUGFuZWxDb21tYW5kKX07Cm5MPWZ1bmN0aW9uKG4sVyl7VyE9bnVsbD8obi5yUj1XLG4uaU49ITApOihuLnJSPSIiLG4uaU49ITEpfTsKUG4xPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKW5MKG4sVy5jb250cm9sQmdIdG1sKSxXLm11dGVkQXV0b3BsYXk/KFc9Zy53KFcubXV0ZWRBdXRvcGxheSxLSTEpKSYmVy5lbmRTY3JlZW4mJihXPWcudyhXLmVuZFNjcmVlbixPVngpKSYmVy50ZXh0JiYobi5NVj1nLkRwKFcudGV4dCkpOm4ubXV0ZWRBdXRvcGxheT0hMX07ClpWaT1mdW5jdGlvbihuLFcpe3ZhciBEPVcuYmFja2dyb3VuZGFiaWxpdHk7RCYmRC5iYWNrZ3JvdW5kYWJpbGl0eVJlbmRlcmVyLmJhY2tncm91bmRhYmxlJiYobi5iYWNrZ3JvdW5kYWJsZT0hMCk7Vy5vZmZsaW5lYWJpbGl0eT8ub2ZmbGluZWFiaWxpdHlSZW5kZXJlcj8ub2ZmbGluZWFibGUmJihuLm9mZmxpbmVhYmxlPSEwKTtpZihEPVcuY29udGV4dFBhcmFtcyluLmNvbnRleHRQYXJhbXM9RDsoRD1XLnBpY3R1cmVJblBpY3R1cmUpJiZELnBpY3R1cmVJblBpY3R1cmVSZW5kZXJlci5wbGF5YWJsZUluUGlwJiYobi5waXBhYmxlPSEwKTtXLnBsYXlhYmxlSW5FbWJlZCYmKG4uYWxsb3dFbWJlZD0hMCk7aWYoRD1XLnlwY0NsaWNrd3JhcClXPUQucGxheWVyTGVnYWN5RGVza3RvcFlwY0NsaWNrd3JhcFJlbmRlcmVyLEQ9RC55cGNSZW50YWxBY3RpdmF0aW9uUmVuZGVyZXIsVz8obi5Jaz1XLmR1cmF0aW9uTWVzc2FnZXx8IiIsbi5EbD0hMCk6RCYmKFc9RC5kdXJhdGlvbk1lc3NhZ2UsCm4uSWs9Vz9nLkRwKFcpOiIiLG4uRGw9ITApfTsKeXExPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1NRihXLmdvb2dsZVJlbWFya2V0aW5nVXJsKTtiJiYobi5nb29nbGVSZW1hcmtldGluZ1VybD1iKTtpZihiPU1GKFcueW91dHViZVJlbWFya2V0aW5nVXJsKSluLnlvdXR1YmVSZW1hcmtldGluZ1VybD1iO2lmKGI9Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW4pbi5oZWFydGJlYXRMb2dnaW5nVG9rZW49YjtiPXt9O3ZhciB2PU1GKFcucHRyYWNraW5nVXJsKTtpZih2KXt2PVJBKHYpO3ZhciBrPXYub2lkO2smJihuLlhvPWspO2lmKGs9di5wbHR5cGUpbi5xOD1rO2lmKGs9di5wdGNobiluLmgxPWs7aWYoaz12LnB0ayluLnh6PWVuY29kZVVSSUNvbXBvbmVudChrKTtpZih2PXYubSluLnk5PXZ9aWYodj1NRihXLnFvZVVybCkpe3Y9Zy5vRSh2KTtmb3IoaCBvZiBPYmplY3Qua2V5cyh2KSlrPXZbaF0sdltoXT1BcnJheS5pc0FycmF5KGspP2suam9pbigiLCIpOms7dmFyIGg9djtuLnpiPWg7aWYodj1oLmNhdCluLlMoImh0bWw1X2VuYWJsZV9xb2VfY2F0X2xpc3QiKT8Kbi5rSz1uLmtLLmNvbmNhdCh2LnNwbGl0KCIsIikpOm4ua3k9djtpZih2PWgubGl2ZSluLnVoPXY7aWYoaD1oLmRybV9wcm9kdWN0KW4uZHJtUHJvZHVjdD1ofWlmKGg9TUYoVy52aWRlb3N0YXRzUGxheWJhY2tVcmwpKXtoPVJBKGgpO2lmKHY9aC5hZGZvcm1hdClpZihELmFkZm9ybWF0PXYsaz1uLkcoKSxrPVRsKHYsbi5GdyxrLkosay5LKSluLmFkRm9ybWF0PWs7aWYoaz1oLmFxaSlELmFkX3F1ZXJ5X2lkPWs7aWYoRD1oLmF1dG9wbGF5KW4uR3U9RD09IjEiLG4uVlQ9RD09IjEiO2lmKEQ9aC5hdXRvbmF2KW4uaXNBdXRvbmF2PUQ9PSIxIjtpZihEPWguZGVsYXkpbi5vRD1nLk5oKEQpO2lmKEQ9aC5laSluLmV2ZW50SWQ9RDtpZihEPWcuZDEoaC5hZGNvbnRleHQpKXRyeXt2YXIgeD1VdjIoRCk7eCYmKG4uZk49eCl9Y2F0Y2goTCl7Zy5HcShFcnJvcigiTWFsZm9ybWVkIGFkQ29udGV4dCIpKX1pZihEfHx2KW4uR3U9ITA7aWYoeD1oLmZlYXR1cmUpbi5TOT14O2lmKHg9aC5saXN0KW4ucGxheWxpc3RJZD0KeDtpZih4PWgub2Ypbi5SSD14O2lmKHg9aC5vc2lkKW4ub3NpZD14O2lmKHg9aC5yZWZlcnJlciluLnJlZmVycmVyPXg7aWYoeD1oLnNkZXRhaWwpbi53dT14O2lmKHg9aC5zb3VyY2VpZCluLmJJPXg7aWYoeD1oLnNzcnQpbi5BUj14PT0iMSI7aWYoeD1oLnN1YnNjcmliZWQpbi5zdWJzY3JpYmVkPXg9PSIxIjtpZih4PWgudWdhKW4udXNlckdlbmRlckFnZT14O2lmKHg9aC51cHQpbi5IcT14O2lmKHg9aC52bSluLnZpZGVvTWV0YWRhdGE9eDtiLnBsYXliYWNrPWh9aWYoeD1NRihXLnZpZGVvc3RhdHNXYXRjaHRpbWVVcmwpKXt4PVJBKHgpO2lmKEQ9eC5hbGQpbi5GTD1EO2Iud2F0Y2h0aW1lPXh9aWYoeD1NRihXLmF0clVybCkpeD1SQSh4KSxiLmF0cj14O2lmKHg9TUYoVy5lbmdhZ2VVcmwpKXg9UkEoeCksYi5lbmdhZ2U9eDtuLlhUPWI7Vy5wcm9tb3RlZFBsYXliYWNrVHJhY2tpbmcmJihiPVcucHJvbW90ZWRQbGF5YmFja1RyYWNraW5nLGIuc3RhcnRVcmxzJiYobi5Gcj1iLnN0YXJ0VXJscyksCmIuZmlyc3RRdWFydGlsZVVybHMmJihuLndOPWIuZmlyc3RRdWFydGlsZVVybHMpLGIuc2Vjb25kUXVhcnRpbGVVcmxzJiYobi5DdD1iLnNlY29uZFF1YXJ0aWxlVXJscyksYi50aGlyZFF1YXJ0aWxlVXJscyYmKG4ub0g9Yi50aGlyZFF1YXJ0aWxlVXJscyksYi5jb21wbGV0ZVVybHMmJihuLkF0PWIuY29tcGxldGVVcmxzKSxiLmVuZ2FnZWRWaWV3VXJscyYmKGIuZW5nYWdlZFZpZXdVcmxzLmxlbmd0aD4xJiZnLkdxKG5ldyBnLlF4KCJUaGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBlbmdhZ2VkX3ZpZXdfdXJscy4iKSksbi5EeD1iLmVuZ2FnZWRWaWV3VXJsc1swXSkpO1cuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKG4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1XLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpO1cudnNzM0NvbmZpZz8uc2VyaWFsaXplZFdhdGNoVGltZUNvbnRleHREYXRhJiYobi5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGE9ClcudnNzM0NvbmZpZy5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGEpfTsKRVkxPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVylpZihiJiYoVz1iLnBsYXllckxlZ2FjeURlc2t0b3BXYXRjaEFkc1JlbmRlcmVyKSYmKFc9Vy5wbGF5ZXJBZFBhcmFtcykpe1cuYXV0b3BsYXk9PSIxIiYmKG4uR3U9ITAsbi5WVD0hMCk7bi5Jbz1XLmVuY29kZWRBZFNhZmV0eVJlYXNvbnx8bnVsbDtXLnNob3dDb250ZW50VGh1bWJuYWlsIT09dm9pZCAwJiYobi5xMj0hIVcuc2hvd0NvbnRlbnRUaHVtYm5haWwpO0QuZW5hYmxlZF9lbmdhZ2VfdHlwZXM9Vy5lbmFibGVkRW5nYWdlVHlwZXM7YnJlYWt9fTsKaVYyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5tYW5pZmVzdGxlc3NXaW5kb3dlZExpdmVDb25maWc7aWYoRCl7dmFyIGI9TnVtYmVyKEQubWluRHZyU2VxdWVuY2UpLHY9TnVtYmVyKEQubWF4RHZyU2VxdWVuY2UpLGs9TnVtYmVyKEQubWluRHZyTWVkaWFUaW1lTXMpLGg9TnVtYmVyKEQubWF4RHZyTWVkaWFUaW1lTXMpO0Q9TnVtYmVyKEQuc3RhcnRXYWxsdGltZU1zKTtiJiYobi5JdD1iKTtrJiYobi5KVT1rLzFFMyxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJmcuWU4obikmJihuLkgyPWsvMUUzKSk7diYmKG4uSFA9dik7aCYmKG4ub1I9aC8xRTMsbi5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpJiZnLllOKG4pJiYobi5XTT1oLzFFMykpO0QmJihuLklUPUQvMUUzKTsoYnx8aykmJih2fHxoKSYmKG4uUkk9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCxuLmFsbG93TGl2ZUR2cj0KITAsbi5YZz0hMSl9aWYoYj1XLmRhaUNvbmZpZyl7aWYoYi5lbmFibGVEYWkpe24uTFk9ITA7aWYodj1iLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpKW4uZW5hYmxlU2VydmVyU3RpdGNoZWREYWk9djtpZih2PWIuZW5hYmxlUHJlcm9sbCluLktkPXZ9aWYoYi5kYWlUeXBlPT09IkRBSV9UWVBFX1NTX0RJU0FCTEVEInx8Yi5kZWJ1Z0luZm8/LmlzRGlzYWJsZWRVbnBsdWdnZWRDaGFubmVsKW4uSmw9ITA7IW4uUygiaHRtbDVfdW1wX3N0aXRjaGVkX21ldGFkYXRhX3Vuc3BlY2lmaWVkX2hhbmRsaW5nIil8fGIuZGFpVHlwZSE9PSJEQUlfVFlQRV9VTlNQRUNJRklFRCImJmIuZGFpVHlwZSE9PXZvaWQgMHx8KG4uakY9ITApO2IuZGFpVHlwZT09PSJEQUlfVFlQRV9DTElFTlRfU1RJVENIRUQiJiYobi5DVT0hMCk7Yi5hbGxvd1VzdHJlYW1lclJlcXVlc3RBZGNvbmZpZyYmKG4uUTY9ITApO2Iuc2VuZFNzZGFpTWlzc2luZ0FkQnJlYWtSZWFzb25zJiYobi5LVj0hMCl9aWYoYj1XLmF1ZGlvQ29uZmlnKXt2PQpuLmhnO2IudHJhY2tBYnNvbHV0ZUxvdWRuZXNzTGtmcyE9bnVsbCYmKHYuSj1iLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMpO2IubG91ZG5lc3NUYXJnZXRMa2ZzIT1udWxsJiYodi5sb3VkbmVzc1RhcmdldExrZnM9Yi5sb3VkbmVzc1RhcmdldExrZnMpO2IubG91ZG5lc3NEYiE9bnVsbCYmKHYuVz1iLmxvdWRuZXNzRGIpO2lmKGs9Yi5sb3VkbmVzc05vcm1hbGl6YXRpb25Db25maWcpay5hcHBseVN0YXRlZnVsTm9ybWFsaXphdGlvbiYmKHYuYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb249ITApLGsucHJlc2VydmVTdGF0ZWZ1bExvdWRuZXNzVGFyZ2V0JiYodi5wcmVzZXJ2ZVN0YXRlZnVsTG91ZG5lc3NUYXJnZXQ9ITApLGsubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyE9bnVsbCYmKHYubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcz1rLm1pbmltdW1Mb3VkbmVzc1RhcmdldExrZnMpO3Y9Yi5sb3VkbmVzc0RiO3YhPW51bGwmJihuLllLPXYpO2IuYXVkaW9NdXRlZCYmKG4ueWw9CiEwKTtiLm11dGVPblN0YXJ0JiYobi5OMD0hMCk7Yi5wbGF5QXVkaW9Pbmx5JiYobi5KZz0hMCl9aWYodj1XLnBsYXliYWNrRW5kQ29uZmlnKWI9di5lbmRTZWNvbmRzLHY9di5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcyxuLm11dGVkQXV0b3BsYXkmJihiJiYobi5lbmRTZWNvbmRzPWIpLHYmJihuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPXYpKTtpZihiPVcuZmFpclBsYXlDb25maWcpe2lmKHY9Yi5jZXJ0aWZpY2F0ZSluLkNpPWcuZDEodik7dj1OdW1iZXIoYi5rZXlSb3RhdGlvblBlcmlvZE1zKTt2PjAmJihuLlY5PXYpO2I9TnVtYmVyKGIua2V5UHJlZmV0Y2hNYXJnaW5Ncyk7Yj4wJiYobi5qaT1iKX1pZigoYj1XLnBsYXliYWNrU3RhcnRDb25maWcpJiYhbi5OVil7bi52RT1OdW1iZXIoYi5zdGFydFNlY29uZHMpO2s9Yi5saXZlVXRjU3RhcnRTZWNvbmRzO3Y9ISFuLmxpdmVVdGNTdGFydFNlY29uZHMmJm4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz4wOwprJiYhdiYmKG4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz1OdW1iZXIoaykpO2lmKGs9Yi5zdGFydFBvc2l0aW9uKWlmKChoPWsudXRjVGltZU1pbGxpcykmJiF2JiYobi5saXZlVXRjU3RhcnRTZWNvbmRzPU51bWJlcihoKSouMDAxKSx2PWsuc3RyZWFtVGltZU1pbGxpcyluLlVyPU51bWJlcih2KSouMDAxO24ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPWIucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uO24ucHJvZ3Jlc3NCYXJFbmRQb3NpdGlvbj1iLnByb2dyZXNzQmFyRW5kUG9zaXRpb259ZWxzZSBpZihiPVcuc2tpcHBhYmxlU2VnbWVudHNDb25maWcpe2lmKHY9Yi5pbnRyb1NraXBEdXJhdGlvbk1zKW4uUEU9TnVtYmVyKHYpLzFFMztpZihiPWIub3V0cm9Ta2lwRHVyYXRpb25NcyluLm50PU51bWJlcihiKS8xRTN9aWYodj1XLnNraXBwYWJsZUludHJvQ29uZmlnKWI9TnVtYmVyKHYuc3RhcnRNcyksdj1OdW1iZXIodi5lbmRNcyksaXNOYU4oYil8fGlzTmFOKHYpfHwobi53Qj1iLG4uQXA9CnYpO2lmKGI9Vy5zdHJlYW1TZWxlY3Rpb25Db25maWcpbi5HZj1OdW1iZXIoYi5tYXhCaXRyYXRlKTtpZihiPVcudnJDb25maWcpbi5Kbz1iLnBhcnRpYWxTcGhlcmljYWw9PSIxIjtpZihiPVcud2ViRHJtQ29uZmlnKXtiLnNraXBXaWRldmluZSYmKG4uSmo9ITApO2lmKHY9Yi53aWRldmluZVNlcnZpY2VDZXJ0KW4uRmM9Zy5kMSh2KTtiLnVzZUNvYmFsdFdpZGV2aW5lJiYobi51c2VDb2JhbHRXaWRldmluZT0hMCk7Yi5zdGFydFdpdGhOb1F1YWxpdHlDb25zdHJhaW50JiYobi5aOT0hMCl9aWYoYj1XLm1lZGlhQ29tbW9uQ29uZmlnKXtpZih2PWIuZHluYW1pY1JlYWRhaGVhZENvbmZpZyl7bi5tYXhSZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1heFJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1pblJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5yZWFkQWhlYWRHcm93dGhSYXRlTXM9di5yZWFkQWhlYWRHcm93dGhSYXRlTXN8fE5hTjsKaWYodj1iPy5tZWRpYVVzdHJlYW1lclJlcXVlc3RDb25maWc/LnZpZGVvUGxheWJhY2tVc3RyZWFtZXJDb25maWcpbi5hST1nLmQxKHYpO2lmKCh2PWI/LnNhYnJDb250ZXh0VXBkYXRlcykmJnYubGVuZ3RoPjApZm9yKHZhciB4IG9mIHYpeC50eXBlJiZ4LnZhbHVlJiYodj17dHlwZTp4LnR5cGUsc2NvcGU6eC5zY29wZSx2YWx1ZTpnLmQxKHgudmFsdWUpfHx2b2lkIDAsc2VuZEJ5RGVmYXVsdDp4LnNlbmRCeURlZmF1bHR9LG4uc2FickNvbnRleHRVcGRhdGVzLnNldCh4LnR5cGUsdikpfWlmKHg9Yi5zZXJ2ZXJQbGF5YmFja1N0YXJ0Q29uZmlnKW4uc2VydmVyUGxheWJhY2tTdGFydENvbmZpZz14O2IudXNlU2VydmVyRHJpdmVuQWJyJiYobi5ERT0hMCk7aWYoeD1iLnJlcXVlc3RQaXBlbGluaW5nQ29uZmlnKW4ucmVxdWVzdFBpcGVsaW5pbmdDb25maWc9eH1pZih4PVcuaW5saW5lUGxheWJhY2tDb25maWcpbi52MT0hIXguc2hvd0F1ZGlvQ29udHJvbHM7aWYoeD1XLmVtYmVkZGVkUGxheWVyQ29uZmlnKXtuLmVtYmVkZGVkUGxheWVyQ29uZmlnPQp4O2lmKHY9eC5lbWJlZGRlZFBsYXllck1vZGUpYj1uLkcoKSxiLmNKPXYsYi5EPXY9PT0iRU1CRURERURfUExBWUVSX01PREVfUEZMIjtpZih4PXgucGVybWlzc2lvbnMpbi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hIXguYWxsb3dJbWFNb25ldGl6YXRpb259aWYoeD1XLndlYlBsYXllckNvbmZpZylpZih4LmdhdGV3YXlFeHBlcmltZW50R3JvdXAmJihuLmdhdGV3YXlFeHBlcmltZW50R3JvdXA9eC5nYXRld2F5RXhwZXJpbWVudEdyb3VwKSx4LmlzUHJveGltYUVsaWdpYmxlJiYobi5pc1Byb3hpbWFMYXRlbmN5RWxpZ2libGU9ITApLHg9eC5tdWx0aUFzcGVjdFN0cmVhbWluZ0NvbmZpZyluLldrPSEwLG4ucGxheWVyT3JpZW50YXRpb249eC5wbGF5ZXJPcmllbnRhdGlvbix4LnBsYXllck9yaWVudGF0aW9uPT09IlBMQVlFUl9PUklFTlRBVElPTl9IT1JJWk9OVEFMIj9uLkJqPXgudmVydGljYWxDb21tYW5kfHxudWxsOngucGxheWVyT3JpZW50YXRpb249PT0iUExBWUVSX09SSUVOVEFUSU9OX1ZFUlRJQ0FMIiYmCihuLkJqPXguaG9yaXpvbnRhbENvbW1hbmR8fG51bGwpO1c9Vy5wbGF5ZXJDb250cm9sc0NvbmZpZztXPy5pc1NlZWthYmxlIT09dm9pZCAwJiYobi5pc1NlZWthYmxlPSEhVy5pc1NlZWthYmxlKX07CnU2Uz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5mb3JtYXRzO2lmKGIpe3ZhciB2PVtdO2Zvcih2YXIgayBvZiBiKXYucHVzaChgJHtrLml0YWd9LyR7ay53aWR0aH14JHtrLmhlaWdodH1gKTtuLkdqPXYuam9pbigiLCIpO3Y9W107Zm9yKHZhciBoIG9mIGIpe2I9e2l0YWc6aC5pdGFnLHR5cGU6aC5taW1lVHlwZSxxdWFsaXR5OmgucXVhbGl0eX07KGs9aC51cmwpJiYoYi51cmw9ayk7bGV0IHt4aTpOLEVsOkgseTc6QSxzOnl9PVAwKDcsNjkyLGgpO04mJihiLnVybD1ILGIuc3A9QSxiLnM9eSk7di5wdXNoKHlHKGIpKX1uLmNmPXYuam9pbigiLCIpfWlmKGg9Vy5obHNGb3JtYXRzKXt2PXt9O2lmKEQmJihEPUQuYXVkaW9QYWlyaW5nQ29uZmlnKSYmRC5wYWlycylmb3IodmFyIHggb2YgRC5wYWlycylEPXgudmlkZW9JdGFnLHZbRF18fCh2W0RdPVtdKSx2W0RdLnB1c2goeC5hdWRpb0l0YWcpO3g9e307Zm9yKHZhciBMIG9mIGgpeFtMLml0YWddPUwuYml0cmF0ZTtMPVtdO2ZvcihHIG9mIGgpe0Q9CntpdGFnOkcuaXRhZyx0eXBlOkcubWltZVR5cGUsdXJsOkcudXJsLGJpdHJhdGU6Ry5iaXRyYXRlLHdpZHRoOkcud2lkdGgsaGVpZ2h0OkcuaGVpZ2h0LGZwczpHLmZwc307aWYoaD1HLmF1ZGlvVHJhY2spaWYoYj1oLmRpc3BsYXlOYW1lKUQubmFtZT1iLEQuYXVkaW9fdHJhY2tfaWQ9aC5pZCxoLmF1ZGlvSXNEZWZhdWx0JiYoRC5pc19kZWZhdWx0PSIxIik7aWYoRy5kcm1GYW1pbGllcyl7aD1bXTtmb3IodmFyIGUgb2YgRy5kcm1GYW1pbGllcyloLnB1c2goSlpbZV0pO0QuZHJtX2ZhbWlsaWVzPWguam9pbigiLCIpfShoPXZbRy5pdGFnXSkmJmgubGVuZ3RoJiYoRC5hdWRpb19pdGFnPWguam9pbigiLCIpLChoPXhbaFswXV0pJiYoRC5iaXRyYXRlKz1oKSk7KGg9TiQoRykpJiYoRC5lb3RmPWgpO0cuYXVkaW9DaGFubmVscyYmKEQuYXVkaW9fY2hhbm5lbHM9Ry5hdWRpb0NoYW5uZWxzKTtMLnB1c2goeUcoRCkpfXZhciBHPUwuam9pbigiLCIpO24uaGxzRm9ybWF0cz1HfWlmKChlPQpXLmxpY2Vuc2VJbmZvcykmJmUubGVuZ3RoPjApe0c9e307Zm9yKHZhciByIG9mIGUpZT1yLmRybUZhbWlseSx2PXIudXJsLGUmJnYmJihHW0paW2VdXT12KTtuLmNvbnRlbnRQcm90ZWN0aW9uPUd9aWYocj1XLmRybVBhcmFtcyluLmRybVBhcmFtcz1yO2lmKHI9Vy5kYXNoTWFuaWZlc3RVcmwpbi5UZj1nLkVUKHIse2NwbjpuLmNsaWVudFBsYXliYWNrTm9uY2V9KTtpZihyPVcuaGxzTWFuaWZlc3RVcmwpbi5obHN2cD1yO2lmKHI9Vy5wcm9iZVVybCluLnByb2JlVXJsPUZOKGcuRVQocix7Y3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pKTtpZihXPVcuc2VydmVyQWJyU3RyZWFtaW5nVXJsKW4ubEM9bmV3IGcud1ooVywhMCl9OwpvWU09ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW9JZDtiJiYobi52aWRlb0lkPWIsRC52aWRlb19pZHx8KEQudmlkZW9faWQ9YikpO2lmKGI9Vy50aXRsZSluLnRpdGxlPWIsRC50aXRsZXx8KEQudGl0bGU9Yik7aWYoYj1XLmxlbmd0aFNlY29uZHMpbi5sZW5ndGhTZWNvbmRzPU51bWJlcihiKSxELmxlbmd0aF9zZWNvbmRzfHwoRC5sZW5ndGhfc2Vjb25kcz1iKTtpZihiPVcua2V5d29yZHMpbi5rZXl3b3Jkcz1XaihiKTtpZihiPVcuY2hhbm5lbElkKW4uRjk9YixELnVjaWR8fChELnVjaWQ9Yik7aWYoYj1XLnZpZXdDb3VudCluLnJhd1ZpZXdDb3VudD1OdW1iZXIoYik7aWYoYj1XLmF1dGhvciluLmF1dGhvcj1iLEQuYXV0aG9yfHwoRC5hdXRob3I9Yik7aWYoRD1XLnNob3J0RGVzY3JpcHRpb24pbi5zaG9ydERlc2NyaXB0aW9uPUQ7aWYoRD1XLmlzQ3Jhd2xhYmxlKW4uaXNMaXN0ZWQ9RDtpZihEPVcubXVzaWNWaWRlb1R5cGUpbi5tdXNpY1ZpZGVvVHlwZT1EO0Q9Vy5pc0xpdmU7CkQhPW51bGwmJihuLmlzTGl2ZVBsYXliYWNrPUQpO2lmKER8fFcuaXNVcGNvbWluZyluLmlzUHJlbWllcmU9IVcuaXNMaXZlQ29udGVudDtpZihEPVcudGh1bWJuYWlsKW4udE89d2MoRCk7aWYoRD1XLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3Qpbi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0PUQ7KEQ9Vy5zdGF0aW9uVHlwZSkmJkQhPT0iU1RBVElPTl9UWVBFX1VOS05PV04iJiYobi56Mz0hMCk7RD1XLnZpZXdlckxpdmVzdHJlYW1Kb2luUG9zaXRpb247RD8udXRjVGltZU1pbGxpcyYmKG4uRHo9Zy5OaChELnV0Y1RpbWVNaWxsaXMpKTtuLkcoKS5leHBlcmltZW50cy5FcSgiZW5hYmxlX2NlbnRlcmVkX2NhcHRpb25fZm9yX3R2ZmlsbV92aWRlbyIpJiZXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmlzVHZmaWxtVmlkZW89Vy5pc1R2ZmlsbVZpZGVvKTtXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmNPPVcuaXNUdmZpbG1WaWRlbyYmbi5pc0xpdmVQbGF5YmFjayl9Owp6RWI9ZnVuY3Rpb24obixXKXtpZihXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNUcmFpbGVyUmVuZGVyZXIpe3ZhciBEPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlcjtuLk1nPUQudHJhaWxlclZpZGVvSWR8fCIiO3ZhciBiPShiPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlci55cGNUcmFpbGVyKSYmYi55cGNUcmFpbGVyUmVuZGVyZXJ9ZWxzZSBXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNPZmZlclJlbmRlcmVyP0Q9Vy5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcjpXLnlwY1RyYWlsZXJSZW5kZXJlciYmKGI9Vy55cGNUcmFpbGVyUmVuZGVyZXIsVz1iLmZ1bGxWaWRlb01lc3NhZ2Usbi5IQj1XP2cuRHAoVyk6IiIsbi5NZz1nLncoYixEeik/LnZpZGVvRGV0YWlscz8udmlkZW9JZHx8IiIpO0QmJihuLlU5PUQuaXRlbVRpdGxlfHwiIixELml0ZW1VcmwmJihuLndWPUQuaXRlbVVybCksRC5pdGVtQnV5VXJsJiYobi5nVj0KRC5pdGVtQnV5VXJsKSxuLkFKPUQuaXRlbVRodW1ibmFpbHx8IiIsbi5kVj1ELm9mZmVySGVhZGxpbmV8fCIiLG4uR249RC5vZmZlckRlc2NyaXB0aW9ufHwiIixuLk9oPUQub2ZmZXJJZHx8IiIsbi5Daj1ELm9mZmVyQnV0dG9uVGV4dHx8IiIsbi51Vz1ELm9mZmVyQnV0dG9uRm9ybWF0dGVkVGV4dHx8bnVsbCxuLkU5PUQub3ZlcmxheUR1cmF0aW9uTXNlY3x8TmFOLG4uSEI9RC5mdWxsVmlkZW9NZXNzYWdlfHwiIixuLnZNPSEwKTtiJiYoKEQ9Zy53KGIsRHopKT9uLkljPXtyYXdfcGxheWVyX3Jlc3BvbnNlOkR9OihEPWcudyhiLGR2aSksbi5JYz1EP2cuaXcoRCk6bnVsbCksbi52TT0hMCl9Owpsb2o9ZnVuY3Rpb24obixXLEQsYil7Vy5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0JiYobi5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0PSEwKTtXLmlzVXBjb21pbmcmJihuLmlzVXBjb21pbmc9ITApO2lmKFcuaXNQb3N0TGl2ZUR2cil7bi5YZz0hMDtpZihiPVcubGF0ZW5jeUNsYXNzKW4ubGF0ZW5jeUNsYXNzPWJqW2JdfHwiVU5LTk9XTiI7Vy5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtJiYobi5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtPSEwKX1lbHNle2xldCB2PSExO24uSVI/KG4uYWxsb3dMaXZlRHZyPWZOKCk/ITA6TVgmJnZqPDU/ITE6ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk6Vy5pc0xpdmU/KGIubGl2ZXN0cmVhbT0iMSIsbi5hbGxvd0xpdmVEdnI9Vy5pc0xpdmVEdnJFbmFibGVkP2ZOKCk/ITA6TVgmJnZqPDU/ITE6ITA6ITEsbi5wYXJ0bmVySWQ9Mjcsdj0hMCk6Vy5pc1VwY29taW5nJiYodj0hMCk7aWYoVy5pc0xpdmV8fG4uSVIpe1cuaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbSYmKG4uaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbT0KITApO2xldCBrPVcubGF0ZW5jeUNsYXNzO2smJihuLmxhdGVuY3lDbGFzcz1ialtrXXx8IlVOS05PV04iKTtpZihXPVcubGl2ZUNodW5rUmVhZGFoZWFkKW4ubGl2ZUNodW5rUmVhZGFoZWFkPVc7aWYoVz1EJiZELmxpdmVQbGF5ZXJDb25maWcpe1cuaGFzU3ViZnJhZ21lbnRlZEZtcDQmJihuLmhhc1N1YmZyYWdtZW50ZWRGbXA0PSEwKTtXLmhhc1N1YmZyYWdtZW50ZWRXZWJtJiYobi5JMj0hMCk7Vy5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzJiYobi5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzPSEwKTtpZihEPVcubGl2ZUV4cGVyaW1lbnRhbENvbnRlbnRJZCluLmxpdmVFeHBlcmltZW50YWxDb250ZW50SWQ9TnVtYmVyKEQpO1c9Vy5pc0xpdmVIZWFkUGxheWFibGU7bi5TKCJodG1sNV9saXZlX2hlYWRfcGxheWFibGUiKSYmVyE9bnVsbCYmKG4uaXNMaXZlSGVhZFBsYXlhYmxlPVcpfX12JiYobi5pc0xpdmVQbGF5YmFjaz0hMCxiLmFkZm9ybWF0JiZiLmFkZm9ybWF0LnNwbGl0KCJfIilbMV0hPT0KIjgifHxuLklKLnB1c2goImhlYXJ0YmVhdCIpKX19OwprTD1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk/LmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzOyhuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZW5kU2NyZWVuPy53YXRjaE5leHRFbmRTY3JlZW5SZW5kZXJlcj8ucmVzdWx0cyl8fChuPVc/LmVuZFNjcmVlbj8uZW5kU2NyZWVuPy5yZXN1bHRzKTtyZXR1cm4gbn07CnhMPWZ1bmN0aW9uKCl7aWYoaHg9PT12b2lkIDApe3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oInl0LXBsYXllci1sdiIpfWNhdGNoKFcpe31hOnt0cnl7dmFyIG49ISFzZWxmLmxvY2FsU3RvcmFnZX1jYXRjaHtuPSExfWlmKG4mJihuPWcudlMoYCR7TTAoKX06Onl0LXBsYXllcmApKSl7aHg9bmV3IFQkYihuKTticmVhayBhfWh4PXZvaWQgMH19cmV0dXJuIGh4fTsKTEw9ZnVuY3Rpb24oKXt2YXIgbj14TCgpO2lmKCFuKXJldHVybnt9O3RyeXtsZXQgVz1uLmdldCgieXQtcGxheWVyLWx2Iik7cmV0dXJuIEpTT04ucGFyc2UoV3x8Int9Iil9Y2F0Y2goVyl7cmV0dXJue319fTsKZSQ9ZnVuY3Rpb24obil7cmV0dXJuIExMKClbbl18fDB9OwpnNj1mdW5jdGlvbihuLFcpe3ZhciBEPUxMKCk7VyE9PURbbl0mJihXIT09MD9EW25dPVc6ZGVsZXRlIERbbl0sbj14TCgpKSYmKEQ9SlNPTi5zdHJpbmdpZnkoRCksbi5zZXQoInl0LXBsYXllci1sdiIsRCkpfTsKZy5YZT1hc3luYyBmdW5jdGlvbihuKXtyZXR1cm4gQ0YoamlVKCksbil9Owp0eD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2lmKGUkKG4pPT09NClyZXR1cm4gNDt2YXIgTD1hd2FpdCBnLm5QKCk7aWYoIUwpdGhyb3cgZy5yMCgid2lhYyIpO3gmJmghPT12b2lkIDAmJihoPWF3YWl0IENuaSh4LGgpKTt2YXIgZT1ELmxhc3RNb2RpZmllZHx8IjAiO3g9YXdhaXQgZy5YZShMKTt0cnl7cmV0dXJuIHFzKyssYXdhaXQgT1IoeCxbImluZGV4IiwibWVkaWEiXSx7bW9kZToicmVhZHdyaXRlIix0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfV0lBQyIsR1E6ITB9LEc9PntpZihrIT09dm9pZCAwJiZoIT09dm9pZCAwKXt2YXIgcj1gJHtufXwke1cuaWR9fCR7ZX18JHtTdHJpbmcoaykucGFkU3RhcnQoMTAsIjAiKX1gO3I9Ry5vYmplY3RTdG9yZSgibWVkaWEiKS5wdXQoaCxyKX1lbHNlIHI9c1IucmVzb2x2ZSh2b2lkIDApO3ZhciBOPUdmKG4sVy5mWSgpKSxIPUdmKG4sIVcuZlkoKSksQT17Zm10czpnLkV0KHtkbHQ6Yi5kb3dubG9hZGVkRW5kVGltZS50b1N0cmluZygpLApta2V0OmIubWF4S25vd25FbmRUaW1lLnRvU3RyaW5nKCksYXZicjpiLmF2ZXJhZ2VCeXRlUmF0ZS50b1N0cmluZygpfSksZm9ybWF0OkR8fHt9fTtOPUcub2JqZWN0U3RvcmUoImluZGV4IikucHV0KEEsTik7dmFyIHk9Yi5kb3dubG9hZGVkRW5kVGltZT09PS0xO0E9eT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLmdldChIKTpzUi5yZXNvbHZlKHZvaWQgMCk7dmFyIFQ9e2ZtdHM6Im11c2ljIixmb3JtYXQ6e319O0c9eSYmdiYmIVcuZlkoKT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLnB1dChULEgpOnNSLnJlc29sdmUodm9pZCAwKTtyZXR1cm4gc1IuYWxsKFtHLEEscixOXSkudGhlbigoWyx6XSk9Pntxcy0tO3ZhciBDPWUkKG4pLFE7IShRPUMhPT00JiZ5JiZ2KSYmKFE9eiE9PXZvaWQgMCkmJihRPSh6PXouZm10cyk/ej09PSJtdXNpYyI/ITA6ei5pbmNsdWRlcygiZGx0PS0xIil8fCF6LmluY2x1ZGVzKCJkbHQ9Iik6ITEpO1EmJihDPTEsZzYobixDKSk7cmV0dXJuIEN9KX0pfWNhdGNoKEcpe3FzLS07Cng9ZSQobik7aWYoeD09PTQpcmV0dXJuIHg7ZzYobiw0KTt0aHJvdyBHO319OwpCJHg9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9YXdhaXQgZy5uUCgpO2lmKCFXKXRocm93IGcucjAoInJpIik7cmV0dXJuIE9SKGF3YWl0IGcuWGUoVyksWyJpbmRleCJdLHttb2RlOiJyZWFkb25seSIsdGFnOiJJREJfVFJBTlNBQ1RJT05fVEFHX0xNUkkifSxEPT57dmFyIGI9SURCS2V5UmFuZ2UuYm91bmQobisifCIsbisifiIpO3JldHVybiBELm9iamVjdFN0b3JlKCJpbmRleCIpLmdldEFsbChiKS50aGVuKHY9PnYubWFwKGs9Pms/ay5mb3JtYXQ6e30pKX0pfTsKdzNpPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9YXdhaXQgZy5uUCgpO2lmKCFrKXRocm93IGcucjAoInJjIik7az1PUihhd2FpdCBnLlhlKGspLFsibWVkaWEiXSx7bW9kZToicmVhZG9ubHkiLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19MTVJNIn0saD0+e3ZhciB4PWAke259fCR7V318JHtEfXwke1N0cmluZyhiKS5wYWRTdGFydCgxMCwiMCIpfWA7cmV0dXJuIGgub2JqZWN0U3RvcmUoIm1lZGlhIikuZ2V0KHgpfSk7CnJldHVybiB2P2sudGhlbihoPT57aWYoaD09PXZvaWQgMCl0aHJvdyBFcnJvcigiTm8gZGF0YSBmcm9tIGluZGV4RGIiKTtyZXR1cm4gRkkxKHYsaCl9KS5jYXRjaChoPT57dGhyb3cgbmV3IGcuUXgoYEVycm9yIHdoaWxlIHJlYWRpbmcgY2h1bms6ICR7aC5uYW1lfSwgJHtoLm1lc3NhZ2V9YCk7Cn0pOmt9OwpHZj1mdW5jdGlvbihuLFcpe3JldHVybmAke259fCR7Vz8idiI6ImEifWB9OwpSRWk9ZnVuY3Rpb24obil7dmFyIFc9e30sRD17fTtmb3IobGV0IGsgb2Ygbil7dmFyIGI9ay5zcGxpdCgifCIpO2lmKCFrLm1hdGNoKE1tQykpe0Rba109Ij8iO2NvbnRpbnVlfW49TnVtYmVyKGIucG9wKCkpO2lmKGlzTmFOKG4pKXtEW2tdPSI/Ijtjb250aW51ZX12YXIgdj1iLmpvaW4oInwiKTsoYj1XW3ZdKT8odj1iW2IubGVuZ3RoLTFdLG49PT12LmVuZCsxP3YuZW5kPW46Yi5wdXNoKHtzdGFydDpuLGVuZDpufSkpOldbdl09W3tzdGFydDpuLGVuZDpufV19Zm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKFcpKURba109V1trXS5tYXAoaD0+YCR7aC5zdGFydH0tJHtoLmVuZH1gKS5qb2luKCIsIik7CnJldHVybiBEfTsKJEw9ZnVuY3Rpb24obixXKXt2YXIgRD1uLlYoKSxiPW4uWCgpLHY9MSxrPTAsaD1nLmRNKG4ueVEuZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYWRfZ2FpbiIpO2ghPW51bGwmJkQmJih2PWgpO2lmKGI/LkQoKSl7az1iLmF1ZGlvPy5KPz9uLko7aWYoaz09bnVsbHx8aXNOYU4oaykpaz12b2lkIDA7cmV0dXJue0R5OjAsWnI6MSx3RzoxLGZkOmsscHk6ayxSUzprLGZvcm1hdElkOmIuaWQsYUc6VyxJejpuLnlRLlZRLFFPOm4uUU99fUQ9Yj8uYXVkaW8/Lko/P24uSjtiIT1udWxsJiZiLmF1ZGlvPy5KPT1udWxsJiZuLlUoImFnYyIse25vX2FiOjF9KTtpZihEPT1udWxsfHxpc05hTihEKSlyZXR1cm4gVz1iPy5hdWRpbz8uWCE9bnVsbD9iLmF1ZGlvLlg6bi5XLGlzTmFOKFcpfHwoaz00KSxXPS1XLHtEeTpXLFpyOk1hdGgubWluKDEsMTAqKihXLzIwKSl8fHYsd0c6ayxmb3JtYXRJZDpiPy5pZCxRTzpuLlFPfTtrPTE7aD1uLmxvdWRuZXNzVGFyZ2V0TGtmczt2YXIgeD1uLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9zdGF0ZWZ1bF9hdWRpb19ub3JtYWxpemF0aW9uIik7CmlmKG4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24mJngpe2lmKFchPW51bGwpdmFyIEw9VztlbHNlIGlzRmluaXRlKG4ueVEuVlEpJiYoTD1uLnlRLlZRKTtMIT1udWxsJiYoaz0yLGg9Zy5GZihMLG4ubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyxuLmxvdWRuZXNzVGFyZ2V0TGtmcykpfXZhciBlPU1hdGgubWluKGgtRCwwKTt2YXIgRz1EK2U7dj1NYXRoLm1pbigxLDEwKiooZS8yMCkpfHx2O3gmJm4uVSgiYWdjIix7c3Rub3JtOm4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24saHN0OlcsZW52Om4ueVEuVlEsZm1sOkQsc3RndDpMLHRtaW46bi5taW5pbXVtTG91ZG5lc3NUYXJnZXRMa2ZzLHRtYXg6bi5sb3VkbmVzc1RhcmdldExrZnMsbmc6ZX0pO3JldHVybntEeTplLFpyOnYsd0c6ayxmZDpELHB5OmgsUlM6Ryxmb3JtYXRJZDpiPy5pZCxhRzpXLEl6Om4ueVEuVlEsUU86bi5RT319OwpyNj1mdW5jdGlvbihuLFcpe1c9JEwobixXKTtuLk49VztuLnByZXNlcnZlU3RhdGVmdWxMb3VkbmVzc1RhcmdldCYmVy5SUyE9bnVsbCYmKG4ueVEuVlE9Vy5SUyk7cmV0dXJuIFcuWnJ9OwpRaTI9ZnVuY3Rpb24obixXLEQpe1c9e2NwbjpXfTtuLmluZGV4T2YoIi9pYncvIik9PT0tMSYmKFcuaWJ3PUQ/U3RyaW5nKEQpOiIxMzY5ODQzIik7cmV0dXJue3VybDpnLkVUKG4sVyksdHlwZToiYXBwbGljYXRpb24veC1tcGVnVVJMIixxdWFsaXR5OiJhdXRvIixpdGFnOiI5MyJ9fTsKVm10PWZ1bmN0aW9uKG4pe3RyeXtsZXQgVz0obmV3IGcud1oobiwhMCkpLmdldCgibiIpO2lmKFcpe2xldCBEPW4ubWF0Y2goL1wvblwvKFteL10rKS8pO2lmKEQmJkRbMV0mJkRbMV0hPT1XKXJldHVybiBuLnJlcGxhY2UoYC9uLyR7RFsxXX1gLGAvbi8ke1d9YCl9fWNhdGNoKFcpe2cuR3EoVyl9cmV0dXJuIG59OwpzVT1mdW5jdGlvbihuKXtpZihuLmlzQWQoKSYmKG4uVlE/bi52aWRlb0lkIT09bi55US5TJDpuLnZpZGVvSWQhPW4ueVEuUyQpKXJldHVybiBuLnlRLlMkfTsKVm49ZnVuY3Rpb24obil7aWYobil7aWYoQm4obikpcmV0dXJuIG47bj1lQShuKTtpZihCbihuLCEwKSlyZXR1cm4gbn1yZXR1cm4iIn07CmcuWU49ZnVuY3Rpb24obil7aWYoZy4kNihuLnlRKSYmbi55US5WPT09Inl0IiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25feXRfZW1iZWRzIikpcmV0dXJuITE7aWYobi5abylyZXR1cm4gbi5ERSYmbi5VKCJmZHMiLHtmZHM6ITB9LCEwKSwhMTtpZihuLnlRLlYhPT0ieXQiJiYhY3F4KG4pKXJldHVybiBuLkRFJiZuLlUoImRzdm4iLHtuczpuLnlRLlZ9LCEwKSwhMTtpZihuLmNvdG58fCFuLk58fG4uTi5pc090ZiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpfHxuLlcmJiFuLlcuTigpfHxuLkNVJiYhbi5TKCJodG1sNV9lbmFibGVfc2Ficl9jc2RhaSIpKXJldHVybiExO2lmKG4uUygiaHRtbDVfdXNlX3NhYnJfcmVxdWVzdHNfZm9yX2RlYnVnZ2luZyIpKXJldHVybiEwO24uREUmJm4uVSgiZXNmdyIse3VzYmM6bi5ERSxoc3U6ISFuLmxDfSwhMCk7aWYobi5ERSYmbi5sQylyZXR1cm4hMDtpZihuLlMoImh0bWw1X3JlbW92ZV9jbGllbnRfc2Ficl9kZXRlcm1pbmF0aW9uIikpcmV0dXJuITE7CnZhciBXPSFuLk4uelcmJiFuLk1pKCksRD1XJiZOcyYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl92b2Rfc3RyZWFtaW5nX3hociIpO1c9VyYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3ZvZF9ub25fc3RyZWFtaW5nX3hociIpO3ZhciBiPXBMKG4pLHY9bi5TKCJodG1sNV9lbmFibGVfc2Ficl9kcm1fdm9kX3N0cmVhbWluZ194aHIiKSYmTnMmJm4uTWkoKSYmIW4uTi56VyYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCk7KEQ9RHx8V3x8Ynx8dikmJiFuLmxDJiZuLlUoInNhYnIiLHtsb2M6Im0ifSwhMCk7cmV0dXJuIEQmJiEhbi5sQ307CldqPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09Mj9XW25bMF1dPW5bMV06V1tEXT0hMDtyZXR1cm4gV307CkhqPWZ1bmN0aW9uKG4pe2lmKG4uUygiaHRtbDVfb25lc2llIikmJm4uZXJyb3JDb2RlKXJldHVybiExO3ZhciBXPWcuamoobi5JSiwieXBjIik7bi55cGNQcmV2aWV3JiYoVz0hMSk7cmV0dXJuIG4uT1YoKSYmIW4ubG9hZGluZyYmKGcuWUwobil8fGcuamoobi5JSiwiaGVhcnRiZWF0Iil8fFcpfTsKZkw9ZnVuY3Rpb24obil7bi5xTigpfHwobi5sb2FkaW5nPSExLG4uV0ooImRhdGFsb2FkZWQiKSl9OwptZj1mdW5jdGlvbihuLFcpe3ZhciBEPVcucmF3X2VtYmVkZGVkX3BsYXllcl9yZXNwb25zZTtpZighRCl7dmFyIGI9Vy5lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9RCYmKG4uTz1EKTtpZihuLk8pe24uZW1iZWRkZWRQbGF5ZXJDb25maWc9bi5PLmVtYmVkZGVkUGxheWVyQ29uZmlnfHxudWxsO2lmKEQ9bi5PLnZpZGVvRmxhZ3MpRC5wbGF5YWJsZUluRW1iZWQmJihuLmFsbG93RW1iZWQ9ITApLEQuaXNQcml2YXRlJiYobi5pc1ByaXZhdGU9ITApLEQudXNlckRpc3BsYXlOYW1lJiYoVy51c2VyX2Rpc3BsYXlfbmFtZT1ELnVzZXJEaXNwbGF5TmFtZSksRC51c2VyRGlzcGxheUltYWdlJiYoVy51c2VyX2Rpc3BsYXlfaW1hZ2U9RC51c2VyRGlzcGxheUltYWdlKTtpZigoRD1uLk8uZW1iZWRQcmV2aWV3KSYmRC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIpe0Q9RC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI7bkwobixELmNvbnRyb2xCZ0h0bWwpO2lmKGI9CkQuZGVmYXVsdFRodW1ibmFpbCluLnRPPXdjKGIpOyhiPWcudyhEPy52aWRlb0RldGFpbHMsYW9VKSkmJkp4KG4sVyxiKTtiPWcudyhEPy52aWRlb0RldGFpbHMsbnFNKTtuLkU1PSEhRC5hZGRUb1dhdGNoTGF0ZXJCdXR0b247bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO2I/Lm11c2ljVmlkZW9UeXBlJiYobi5tdXNpY1ZpZGVvVHlwZT1iLm11c2ljVmlkZW9UeXBlKTtpZihiPWcudyhuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UoKT8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LnBsYXlCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsZy5JUSkpb0EobixiKSxuLnZpZGVvSWQ9Yi52aWRlb0lkfHxuLnZpZGVvSWQ7RC52aWRlb0R1cmF0aW9uU2Vjb25kcyYmKG4ubGVuZ3RoU2Vjb25kcz1nLk5oKEQudmlkZW9EdXJhdGlvblNlY29uZHMpKTtELndlYlBsYXllckFjdGlvbnNQb3J0aW5nJiZhQShuLEQud2ViUGxheWVyQWN0aW9uc1BvcnRpbmcpOwppZihEPWcudyhEPy5wbGF5bGlzdCxXR2kpKXtuLk1kPSEwO2I9W107dmFyIHY9TnVtYmVyKEQuY3VycmVudEluZGV4KTtpZihELmNvbnRlbnRzKWZvcihsZXQgaz0wLGg9RC5jb250ZW50cy5sZW5ndGg7azxoO2srKyl7bGV0IHg9RC5jb250ZW50c1trXS5wbGF5bGlzdFBhbmVsVmlkZW9SZW5kZXJlcjtpZigheCljb250aW51ZTtsZXQgTD14LnNob3J0QnlsaW5lVGV4dD9nLkRwKHguc2hvcnRCeWxpbmVUZXh0KToiIixlPXgudGl0bGU/Zy5EcCh4LnRpdGxlKToiIjtiLnB1c2goe2F1dGhvcjpMLGVuY3J5cHRlZF9pZDp4LnZpZGVvSWQsdGl0bGU6ZSxjaGFubmVsX3BhdGg6az09PXY/Vy5jaGFubmVsX3BhdGg6IiIscHJvZmlsZV9waWN0dXJlOms9PT12P1cucHJvZmlsZV9waWN0dXJlOiIiLGlzX3ByaXZhdGU6az09PXY/bi5pc1ByaXZhdGU6ITAsaXNfZG5pOms9PT12P24uaU46ITEsZG5pX2NvbG9yOms9PT12P24uclI6IiJ9KX1XPXtpbmRleDpELmN1cnJlbnRJbmRleCxsaXN0OkQucGxheWxpc3RJZCwKcGxheWxpc3RfbGVuZ3RoOkQudG90YWxWaWRlb3MsdmlkZW86Yn07RC50aXRsZVRleHQmJihXLnRpdGxlPWcuRHAoRC50aXRsZVRleHQpKTtELnNob3J0QnlsaW5lVGV4dCYmKFcuYXV0aG9yPWcuRHAoRC5zaG9ydEJ5bGluZVRleHQpKTtuLlE3PVd9aWYoVz1nLncobi5nZXRFbWJlZGRlZFBsYXllclJlc3BvbnNlKCk/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKFc/LmR1cmF0aW9uTXMpfHxOYU4sVz8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPVc/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxXPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYobi5Saz1XPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsKX1pZihuLk8ucHJldmlld1BsYXlhYmlsaXR5U3RhdHVzKXtpZihuLmVCPW4uTy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXMsVz1uLmVCLCFbIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKFcuc3RhdHVzKSl7bi5lcnJvckNvZGU9CmlpKFcuZXJyb3JDb2RlKTtEPVcuZXJyb3JTY3JlZW47aWYoYj1EPy5wbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcil7bi5mbT1iO2lmKHY9Yi5yZWFzb24pbi5lcnJvclJlYXNvbj1nLkRwKHYpO2lmKGI9Yi5zdWJyZWFzb24pbi53aT1nLkRwKGIpfWVsc2Ugbi5lcnJvclJlYXNvbj1XLnJlYXNvbnx8bnVsbDtzd2l0Y2goVy5zdGF0dXMpe2Nhc2UgIkxPR0lOX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIxIjticmVhaztjYXNlICJDT05URU5UX0NIRUNLX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIyIjticmVhaztjYXNlICJBR0VfQ0hFQ0tfUkVRVUlSRUQiOm4uZXJyb3JEZXRhaWw9RD8ucGxheWVyS2F2UmVuZGVyZXI/LmthdlVybD8iNCI6IjMiO2JyZWFrO2RlZmF1bHQ6bi5lcnJvckRldGFpbD1XLmlzQmxvY2tlZEluUmVzdHJpY3RlZE1vZGU/IjUiOiIwIn19fWVsc2Ugbi5PLnBsYXlhYmlsaXR5U3RhdHVzJiYobi5SdD1uLk8ucGxheWFiaWxpdHlTdGF0dXMsQXgobikmJihuLmVycm9yRGV0YWlsPQoiMCIsbi5SdCYmKChXPW4uUnQuZW1iZWRkZWRQbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcik/bi5mbT1nLncoVyxEdEMpOm4uZXJyb3JSZWFzb249bi5SdC5yZWFzb258fG51bGwpKSk7KFc9bi5PLmF0dGVzdGF0aW9uKSYmUW4obixXKTsoVz1uLk8ucGVybWlzc2lvbnMpJiZXLmFsbG93SW1hTW9uZXRpemF0aW9uJiYobi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hMCl9fTsKRVU9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnJhd193YXRjaF9uZXh0X3Jlc3BvbnNlO2lmKCFEKXt2YXIgYj1XLndhdGNoX25leHRfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9aWYoRCl7bi53YXRjaE5leHRSZXNwb25zZT1EOyhEPW4ud2F0Y2hOZXh0UmVzcG9uc2UucGxheWVyQ3VlUmFuZ2VTZXQpJiZnLktMKG4sRCk7RD1uLndhdGNoTmV4dFJlc3BvbnNlLnBsYXllck92ZXJsYXlzO2lmKEQmJihEPUQucGxheWVyT3ZlcmxheVJlbmRlcmVyKSl7aWYoYj1ELmF1dG9uYXZUb2dnbGUpbi5hdXRvcGxheVN3aXRjaEJ1dHRvblJlbmRlcmVyPWcudyhiLGJXWiksbi5TKCJ3ZWJfcGxheWVyX2F1dG9uYXZfdXNlX3NlcnZlcl9wcm92aWRlZF9zdGF0ZSIpJiZuLkFWKCkmJihuLmF1dG9uYXZTdGF0ZT1uLmF1dG9wbGF5U3dpdGNoQnV0dG9uUmVuZGVyZXIuZW5hYmxlZD8yOjEpO2lmKGI9RC52aWRlb0RldGFpbHMpe3ZhciB2PWIuZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXI7CmlmKGI9Yi5wbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIpYi50aXRsZSYmKFcudGl0bGU9Zy5EcChiLnRpdGxlKSksYi5zdWJ0aXRsZSYmKFcuc3VidGl0bGU9Zy5EcChiLnN1YnRpdGxlKSl9Zy5DTihuLnlRKSYmKG4uRTU9ISFELmFkZFRvTWVudSk7bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO0Quc3RhcnRQb3NpdGlvbiYmRC5lbmRQb3NpdGlvbiYmKG4ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPUQuc3RhcnRQb3NpdGlvbixuLnByb2dyZXNzQmFyRW5kUG9zaXRpb249RC5lbmRQb3NpdGlvbik7aWYoYj1nLncobi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKGI/LmR1cmF0aW9uTXMpfHxOYU4sYj8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPWI/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxiPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYKKG4uUms9Yj8uaW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbCk7bi5zaG93U2Vla2luZ0NvbnRyb2xzPSEhRC5zaG93U2Vla2luZ0NvbnRyb2xzfWlmKEQ9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5jb250ZW50cz8udHdvQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cylpZihEPUQuZGVza3RvcE92ZXJsYXkmJmcudyhELmRlc2t0b3BPdmVybGF5LHZxdCkpRC5zdXBwcmVzc1NoYXJlQnV0dG9uJiYobi5zaG93U2hhcmVCdXR0b249ITEpLEQuc3VwcHJlc3NXYXRjaExhdGVyQnV0dG9uJiYobi5FNT0hMSk7diYmSngobixXLHYpO0Q9REkoMCxXLmF1dG9wbGF5X2NvdW50KTt2YXIgaz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk7Yj1rLmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzO3Y9ay5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheT8ucGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI7dmFyIGg9a0wobik7aWYoKGs9ay5jb250ZW50cz8uc2luZ2xlQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cykmJgprLmF1dG9wbGF5Py5hdXRvcGxheSYmIWsucGxheWxpc3Qpe2xldCB5PWsuYXV0b3BsYXkuYXV0b3BsYXkuc2V0cztrPXt9O3ZhciB4PW5ldyBPVShuLkcoKSksTD1udWxsLGU7aWYoeSl7Zm9yKHZhciBHIG9mIHkpaWYoKGU9Ry5hdXRvcGxheVZpZGVvUmVuZGVyZXIpJiZlLmNvbXBhY3RWaWRlb1JlbmRlcmVyKXtMPWUuY29tcGFjdFZpZGVvUmVuZGVyZXI7YnJlYWt9aWYoZT15WzBdLmF1dG9wbGF5VmlkZW8pKEc9ZS5jbGlja1RyYWNraW5nUGFyYW1zKSYmKGsuaXRjdD1HKSxrLmF1dG9uYXY9IjEiLGsucGxheW5leHQ9U3RyaW5nKEQpfWVsc2Ugay5mZWF0dXJlPSJyZWxhdGVkLWF1dG8iO2U9Zy53KGUsZy5JUSk7aWYoTCl7eC52aWRlb0lkPUwudmlkZW9JZDtpZihlPUwuc2hvcnRCeWxpbmVUZXh0KXguYXV0aG9yPWcuRHAoZSk7aWYoZT1MLnRpdGxlKXgudGl0bGU9Zy5EcChlKX1lbHNlIGUhPW51bGwmJmUudmlkZW9JZCYmKHgudmlkZW9JZD1lLnZpZGVvSWQpO3gueXo9aztuLnN1Z2dlc3Rpb25zPQpbXTtuLlU1PXh9aWYoaCl7ZT1bXTtmb3IodmFyIHIgb2YgaCl7aD12b2lkIDA7Rz1udWxsO2lmKHIuZW5kU2NyZWVuVmlkZW9SZW5kZXJlcil7az1yLmVuZFNjcmVlblZpZGVvUmVuZGVyZXI7eD1rLnRpdGxlO0c9bmV3IE9VKG4uRygpKTtHLnZpZGVvSWQ9ay52aWRlb0lkO0cubGVuZ3RoU2Vjb25kcz1rLmxlbmd0aEluU2Vjb25kc3x8MDtpZihMPWsucHVibGlzaGVkVGltZVRleHQpRy5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKEwpO2lmKEw9ay5zaG9ydEJ5bGluZVRleHQpRy5hdXRob3I9Zy5EcChMKTtpZihMPWsuc2hvcnRWaWV3Q291bnRUZXh0KUcuc2hvcnRWaWV3Q291bnQ9Zy5EcChMKTt4JiYoRy50aXRsZT1nLkRwKHgpLCh4PXguYWNjZXNzaWJpbGl0eSkmJih4PXguYWNjZXNzaWJpbGl0eURhdGEpJiZ4LmxhYmVsJiYoRy5hcmlhTGFiZWw9eC5sYWJlbCkpO2lmKEw9ay5uYXZpZ2F0aW9uRW5kcG9pbnQpaD1MLmNsaWNrVHJhY2tpbmdQYXJhbXMseD1nLncoTCxnLklRKSxMPWcudyhMLApnLlBqKSx4P0cuczA9eDpMIT1udWxsJiYoRy53YXRjaFVybD1MLnVybCk7aWYoeD1rLnRodW1ibmFpbE92ZXJsYXlzKWZvcih2YXIgTiBvZiB4KWlmKHg9Ti50aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyKWlmKHguc3R5bGU9PT0iTElWRSIpe0cuaXNMaXZlUGxheWJhY2s9ITA7YnJlYWt9ZWxzZSBpZih4LnN0eWxlPT09IlVQQ09NSU5HIil7Ry5pc1VwY29taW5nPSEwO2JyZWFrfUcudE89d2Moay50aHVtYm5haWwpfWVsc2UgaWYoci5lbmRTY3JlZW5QbGF5bGlzdFJlbmRlcmVyKXtrPXIuZW5kU2NyZWVuUGxheWxpc3RSZW5kZXJlcjtoPWsubmF2aWdhdGlvbkVuZHBvaW50O2lmKCFoKWNvbnRpbnVlO0c9Zy53KGgsZy5JUSk7aWYoIUcpY29udGludWU7eD1HLnZpZGVvSWQ7Rz1uZXcgWnoobi5HKCkpO0cucGxheWxpc3RJZD1rLnBsYXlsaXN0SWQ7Ry5wbGF5bGlzdExlbmd0aD1OdW1iZXIoay52aWRlb0NvdW50KXx8MDtHLk49eHx8bnVsbDtHLnZpZGVvSWQ9eDtpZih4PQprLnRpdGxlKUcudGl0bGU9Zy5EcCh4KTtpZih4PWsuc2hvcnRCeWxpbmVUZXh0KUcuYXV0aG9yPWcuRHAoeCk7aD1oLmNsaWNrVHJhY2tpbmdQYXJhbXM7Ry50Tz13YyhrLnRodW1ibmFpbCl9RyYmKGgmJihHLnNlc3Npb25EYXRhPXtpdGN0Omh9KSxlLnB1c2goRykpfW4uc3VnZ2VzdGlvbnM9ZX1pZih2KXtuLkozPSEhdi5wcmVmZXJJbW1lZGlhdGVSZWRpcmVjdDtuLkcoKS5adCgpLk4uUVEoa05qKSYmKG4uaDM9ISF2LnNob3dQYXVzZWRXaGVuRGlzYWJsZWQpO24uclc9bi5yV3x8ISF2LndlYlNob3dOZXdBdXRvbmF2Q291bnRkb3duO2lmKG4uclcpe049djtiPWJ8fG51bGw7cj1uZXcgT1Uobi5HKCkpO3IudmlkZW9JZD1OLnZpZGVvSWQ7aWYoZT1OLnZpZGVvVGl0bGUpci50aXRsZT1nLkRwKGUpLChlPWUuYWNjZXNzaWJpbGl0eSkmJihlPWUuYWNjZXNzaWJpbGl0eURhdGEpJiZlLmxhYmVsJiYoci5hcmlhTGFiZWw9ZS5sYWJlbCk7aWYoZT1OLmJ5bGluZSlyLmF1dGhvcj1nLkRwKGUpOwppZihlPU4ucHVibGlzaGVkVGltZVRleHQpci5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKGUpO2lmKGU9Ti5zaG9ydFZpZXdDb3VudFRleHQpci5zaG9ydFZpZXdDb3VudD1nLkRwKGUpO2lmKGU9Ti50aHVtYm5haWxPdmVybGF5cylmb3IodmFyIEggb2YgZSlpZihlPUgudGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcilpZihlLnN0eWxlPT09IkxJVkUiKXtyLmlzTGl2ZVBsYXliYWNrPSEwO2JyZWFrfWVsc2UgaWYoZS5zdHlsZT09PSJVUENPTUlORyIpe3IuaXNVcGNvbWluZz0hMDticmVha31lbHNlIGlmKGUuc3R5bGU9PT0iREVGQVVMVCImJmUudGV4dCl7ci5sZW5ndGhUZXh0PWcuRHAoZS50ZXh0KTsoSD1lLnRleHQuYWNjZXNzaWJpbGl0eSkmJihIPUguYWNjZXNzaWJpbGl0eURhdGEpJiZILmxhYmVsJiYoci5pZz1ILmxhYmVsfHwiIik7YnJlYWt9ci50Tz13YyhOLmJhY2tncm91bmQpO2lmKEg9Ti5uZXh0QnV0dG9uKWlmKEg9SC5idXR0b25SZW5kZXJlcilpZihIPUgubmF2aWdhdGlvbkVuZHBvaW50KWlmKEg9CmcudyhILGcuSVEpKXIuczA9SDtOLnRvcEJhZGdlcyYmKEg9Ti50b3BCYWRnZXNbMF0pJiYoSD1nLncoSCxoazIpKSYmSC5zdHlsZT09PSJCQURHRV9TVFlMRV9UWVBFX1BSRU1JVU0iJiYoci5OPSEwKTtpZihIPU4uYWx0ZXJuYXRpdmVUaXRsZSlyLko5PWcuRHAoSCk7SD1yO0Q9e2F1dG9uYXY6IjEiLHBsYXluZXh0OlN0cmluZyhEKX07SC5wbGF5bGlzdElkJiYoRC5hdXRvcGxheT0iMSIpO2lmKGIpe2lmKE49Yi5hdXRvcGxheT8uYXV0b3BsYXk/LnNldHM/LlswXT8uYXV0b3BsYXlWaWRlbylpZigoYj1OLmNsaWNrVHJhY2tpbmdQYXJhbXMpJiYoRC5pdGN0PWIpLE49Zy53KE4sZy5JUSkpSC50RT1OfWVsc2UgTiYmKE49Ti5uZXh0QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50Py5jbGlja1RyYWNraW5nUGFyYW1zKSYmKEQuaXRjdD1OKTtELml0Y3R8fChELmZlYXR1cmU9InJlbGF0ZWQtYXV0byIpO0gueXo9RDtuLnN1Z2dlc3Rpb25zfHwobi5zdWdnZXN0aW9ucz0KW10pO24uVTU9cn12LmNvdW50RG93blNlY3MhPW51bGwmJihuLk9OPXYuY291bnREb3duU2VjcyoxRTMpO3YuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4hPW51bGwmJihuLnMzPXYuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4+PTA/di5jb3VudERvd25TZWNzRm9yRnVsbHNjcmVlbioxRTM6LTEpfWlmKHY9a0wobikpdj12Py5bMF0/LmVuZFNjcmVlblZpZGVvUmVuZGVyZXI/Lm5hdmlnYXRpb25FbmRwb2ludD8uY2xpY2tUcmFja2luZ1BhcmFtcyxIPW4uVTV8fG4uc3VnZ2VzdGlvbnM/LlswXXx8bnVsbCx2JiZIJiYoSC5zZXNzaW9uRGF0YT17aXRjdDp2fSk7bi53YXRjaE5leHRSZXNwb25zZS5jdXJyZW50VmlkZW9UaHVtYm5haWwmJihuLnRPPXdjKG4ud2F0Y2hOZXh0UmVzcG9uc2UuY3VycmVudFZpZGVvVGh1bWJuYWlsKSk7KHY9bi53YXRjaE5leHRSZXNwb25zZT8uY29udGVudHM/LnR3b0NvbHVtbldhdGNoTmV4dFJlc3VsdHM/LnJlc3VsdHM/LnJlc3VsdHM/LmNvbnRlbnRzKSYmCnZbMF0mJihIPXZbMF0udmlkZW9QcmltYXJ5SW5mb1JlbmRlcmVyKSYmSCYmSC5zdWJ0aXRsZSYmKG4uWDQ9Zy5EcChILnN1YnRpdGxlKSk7diYmdlsxXSYmKHY9dlsxXS52aWRlb1NlY29uZGFyeUluZm9SZW5kZXJlcj8ub3duZXI/LnZpZGVvT3duZXJSZW5kZXJlcj8udGh1bWJuYWlsPy50aHVtYm5haWxzKSYmdi5sZW5ndGgmJihuLnByb2ZpbGVQaWN0dXJlPXZbdi5sZW5ndGgtMV0udXJsKTtXPWtSKFcpO2lmKHY9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5vblJlc3BvbnNlUmVjZWl2ZWRFbmRwb2ludHMpZm9yKHZhciBBIG9mIHYpZy53KEEsVVUpJiYobi5ScT1nLncoQSxVVSkpLHY9Zy53KEEseHRNKSx2Py5lbnRpdHlLZXlzJiYobi5MTj12LmVudGl0eUtleXN8fFtdLHYudmlzaWJsZU9uTG9hZEtleXMmJihuLnZpc2libGVPbkxvYWRLZXlzPXYudmlzaWJsZU9uTG9hZEtleXMpKTtuLlMoIndlYl9rZXlfbW9tZW50c19tYXJrZXJzIikmJihBPXl6LmdldFN0YXRlKCkuZW50aXRpZXMsCnY9bmYoInZpc2liaWxpdHlfb3ZlcnJpZGUiLCJtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5IiksQT1BLm1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk/QS5tYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5W3ZdfHxudWxsOm51bGwsbi5IeD1BPy52aWRlb0lkPT09KG4udmlkZW9JZHx8VykmJkE/LnZpc2liaWxpdHlPdmVycmlkZU1hcmtlcnNLZXk/QS52aXNpYmlsaXR5T3ZlcnJpZGVNYXJrZXJzS2V5Om4udmlzaWJsZU9uTG9hZEtleXMsbi52aXNpYmxlT25Mb2FkS2V5cz1bLi4ubi5IeF0pfX07CmlqPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnJhd19yZWVsX2l0ZW1fd2F0Y2hfcmVzcG9uc2Upbi5yZWVsSXRlbVdhdGNoUmVzcG9uc2U9V307CnVqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5yYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U7RHx8KFc9Vy5yZXNvbHZlX3VybF9yZXNwb25zZSkmJihEPUpTT04ucGFyc2UoVykpO0QmJihuLnBvPUQpfTsKZDY9ZnVuY3Rpb24obixXKXtuLmZmbGFncz1iTyhuLmZmbGFncyxXLmZmbGFncyk7dmFyIEQ9Vy5pdl9pbnZpZGVvX3VybDtEJiYobi5lYT1GTihEKSk7bi5SbT1ueShuLlJtLFcuaXZfYWRzX29ubHkpO2lmKEQ9Vy5jdGFfY29udmVyc2lvbl91cmxzKW4ubE09RDtuLmlzUGhhcm1hPW55KG4uaXNQaGFybWEsVy5pc19waGFybWEpO24uYXV0aG9yPWJPKG4uYXV0aG9yLFcuYXV0aG9yKTtuLndhPVZuKFcudHRzdXJsKXx8bi53YTtuLldjPW55KG4uV2MsVy5jY19hc3IpO2lmKEQ9Vy5wcm9maWxlX3BpY3R1cmUpbi5wcm9maWxlUGljdHVyZT1iTyhuLnByb2ZpbGVQaWN0dXJlLEQpO24udmlkZW9Db3VudFRleHQ9Yk8obi52aWRlb0NvdW50VGV4dCxXLnZpZGVvX2NvdW50X3RleHQpO24uYXV0b25hdlN0YXRlPVdCKG4uYXV0b25hdlN0YXRlLFcuYXV0b25hdl9zdGF0ZSxMRzEpO24uY2xpZW50UGxheWJhY2tOb25jZT1iTyhuLmNsaWVudFBsYXliYWNrTm9uY2UsVy5jcG4pO24uc3Vic2NyaWJlZD0Kbnkobi5zdWJzY3JpYmVkLFcuc3Vic2NyaWJlZCk7bi5yYXdWaWV3Q291bnQ9REkobi5yYXdWaWV3Q291bnQsVy52aWV3X2NvdW50KTtuLnNob3J0Vmlld0NvdW50PWJPKG4uc2hvcnRWaWV3Q291bnQsVy5zaG9ydF92aWV3X2NvdW50X3RleHQpO24ucHVibGlzaGVkVGltZVRleHQ9Yk8obi5wdWJsaXNoZWRUaW1lVGV4dHx8IiIsVy5wdWJsaXNoZWRUaW1lVGV4dCk7bi5sZW5ndGhUZXh0PWJPKG4ubGVuZ3RoVGV4dHx8IiIsVy5sZW5ndGhUZXh0KTtuLmlnPWJPKG4uaWd8fCIiLFcuaWcpO24uSjk9Yk8obi5KOXx8IiIsVy5KOSk7bi50aXRsZT1iTyhuLnRpdGxlLFcudGl0bGUpO24uc3VidGl0bGU9Yk8obi5zdWJ0aXRsZSxXLnN1YnRpdGxlKTtuLmV4cGFuZGVkVGl0bGU9Yk8obi5leHBhbmRlZFRpdGxlLFcuZXhwYW5kZWRfdGl0bGUpO24uZXhwYW5kZWRTdWJ0aXRsZT1iTyhuLmV4cGFuZGVkU3VidGl0bGUsVy5leHBhbmRlZF9zdWJ0aXRsZSk7bi55cGNQcmV2aWV3PWJPKG4ueXBjUHJldmlldywKVy55cGNfcHJldmlldyk7bi5EVD1iTyhuLkRULFcueXBjX29yaWdpbik7bi5MQj1ueShuLkxCLFcueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXIpO24uSWs9Yk8obi5JayxXLnlwY19jbGlja3dyYXBfbWVzc2FnZSk7bi5wYXlnYXRlZD1ueShuLnBheWdhdGVkLFcucGF5Z2F0ZWQpO24uS289bnkobi5LbyxXLnJlcXVpcmVzX3B1cmNoYXNlKTtuLnNob3dTaGFyZUJ1dHRvbj0hbnkoIW4uc2hvd1NoYXJlQnV0dG9uLFcuc3MpO24uRTU9bnkobi5FNSxXLnNob3d3YXRjaGxhdGVyKTtpZihEPVcuZWwpbi5ldmVudExhYmVsPUQ7aWYoRD1XLmtleXdvcmRzKW4ua2V5d29yZHM9V2ooRC5zcGxpdCgiLCIpKTtpZihEPVcucnZzKW4uc3VnZ2VzdGlvbnM9dXcoRCkubWFwKGI9PmIucGxheWxpc3R8fGIubGlzdHx8Yi5hcGk/bmV3IFp6KG4ueVEsYik6bmV3IE9VKG4ueVEsYikpOwpuLmNvbnRlbnRDaGVja09rPW55KG4uY29udGVudENoZWNrT2ssVy5jY28pO24ucmFjeUNoZWNrT2s9bnkobi5yYWN5Q2hlY2tPayxXLnJjbyk7bi5pc0xpdmluZ1Jvb21EZWVwbGluaz1ueShuLmlzTGl2aW5nUm9vbURlZXBsaW5rLFcuaXNfbGl2aW5nX3Jvb21fZGVlcGxpbmspO24ub2F1dGhUb2tlbj1iTyhuLm9hdXRoVG9rZW4sVy5vYXV0aF90b2tlbik7bi5ISj1iTyhuLkhKLFcua3B0KTtuLnZpc2l0b3JEYXRhPWJPKG4udmlzaXRvckRhdGEsVy52aXNpdG9yX2RhdGEpO2lmKEQ9Vy5zZXNzaW9uX2RhdGEpbi5zZXNzaW9uRGF0YT15RihELCImIik7bi5XSz1iTyhuLldLLFcudHJhY2tpbmdfbGlzdCk7bi5EdD1ueShuLkR0LFcucGF1c2VfYXRfc3RhcnQpO29RKG4sVyl9Owp6Zj1mdW5jdGlvbihuLFcsRCxiKXtXJiZXLmNwbiYmZy5HcShuZXcgZy5ReCgiQ1BOIHByb3ZpZGVkIGluIFZpZGVvRGF0YSB1cGRhdGUiLHtIWjpXLmNwbixLWTpuLmNsaWVudFBsYXliYWNrTm9uY2UsdEY6RH0pKTtiJiYobi5lcnJvckNvZGU9bnVsbCxuLmVycm9yRGV0YWlsPSIiLG4uZXJyb3JSZWFzb249bnVsbCxuLndpPW51bGwpO0Q/KGtSKFcpLG4uc2V0RGF0YShXKSxIaihuKSYmZkwobikpOihXPVd8fHt9LG1mKG4sVyksRVUobixXKSxpaihuLFcpLHVqKG4sVyksZDYobixXKSxuLldKKCJkYXRhdXBkYXRlZCIpKX07Cm9RPWZ1bmN0aW9uKG4sVyl7Vy5pbmxpbmVNZXRyaWNFbmFibGVkJiYobi5pbmxpbmVNZXRyaWNFbmFibGVkPSEwKTtXLnBsYXliYWNrX3Byb2dyZXNzXzBzX3VybCYmKG4uVEk9bmV3IGVrdChXKSk7aWYoVz1XLnZpZGVvX21hc3RoZWFkX2FkX3F1YXJ0aWxlX3VybHMpbi5OZj1XLnF1YXJ0aWxlXzBfdXJsLG4uYmU9Vy5xdWFydGlsZV8yNV91cmwsbi56ND1XLnF1YXJ0aWxlXzUwX3VybCxuLm1EPVcucXVhcnRpbGVfNzVfdXJsLG4uV0g9Vy5xdWFydGlsZV8xMDBfdXJsLG4uRnI9Vy5xdWFydGlsZV8wX3VybHMsbi53Tj1XLnF1YXJ0aWxlXzI1X3VybHMsbi5DdD1XLnF1YXJ0aWxlXzUwX3VybHMsbi5vSD1XLnF1YXJ0aWxlXzc1X3VybHMsbi5BdD1XLnF1YXJ0aWxlXzEwMF91cmxzfTsKZy5LTD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXKUQuY3VlUmFuZ2VTZXRJZGVudGlmaWVyJiZuLmJOLnNldChELmN1ZVJhbmdlU2V0SWRlbnRpZmllcixELnBsYXllckN1ZVJhbmdlcz8/W10pfTsKZ3FaPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBudWxsO2ZvcihsZXQgVyBvZiBuKWlmKG49Vy5hZFBsYWNlbWVudFJlbmRlcmVyPy5yZW5kZXJlcj8udmlkZW9BZFRyYWNraW5nUmVuZGVyZXIpcmV0dXJuIG47cmV0dXJuIG51bGx9Owpsaj1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5zb3VyY2VDb25maWdzO249bi5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5jb21wb3NpdGVWaWRlb0NvbmZpZz8uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ7aWYoIVd8fCFXLmxlbmd0aClyZXR1cm4iIjtufHwobj1XWzBdLnZpZGVvSWR8fCIiKTtmb3IobGV0IEQgb2YgVylpZihELnZpZGVvSWQ9PT1uJiZELmF1ZGlvVHJhY2tzKWZvcihsZXQgYiBvZiBELmF1ZGlvVHJhY2tzKWlmKGIuaXNEZWZhdWx0Rm9yU291cmNlKXJldHVybiBiLmlkfHwiIjtyZXR1cm4iIn07ClhZaD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgIkVNQkVEREVEX1BMQVlFUl9MSVRFX01PREVfRklYRURfUExBWUJBQ0tfTElNSVQiOkQ+MzA/bi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0zMDpEPDMwJiZEPjEwJiYobi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0xMCk7YnJlYWs7Y2FzZSAiRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIjpuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPUQqLjJ9fTsKcWpoPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFchPW51bGw/bnkobi5LLFcpOm4uSz9uLks6bi55US5wcmVmZXJHYXBsZXNzJiZuLnlRLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKR05oPWZ1bmN0aW9uKG4pe3JldHVybiEhbiYmaXNGaW5pdGUobikmJm4+MUU5fTsKQ0w9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCkmJlRmKG4pPyExOmokKG4pJiYoZy5HbChuLnlRKT8hbi5pc0xpdmVQbGF5YmFjazpuLmhsc3ZwKXx8IWZOKCl8fG4uVVQ/ITA6ITF9OwpCaj1mdW5jdGlvbihuKXtuPWcub0Uobik7cmV0dXJuIE51bWJlcihuLmV4cGlyZSl8fDB9OwpGZT1mdW5jdGlvbihuKXt2YXIgVz1uLkcoKTtyZXR1cm4gbi55US5WPT09ImhtInx8bi55US5WPT09ImdkInx8Vy5leHBlcmltZW50cy5adCgpLk4uUVEodFMyKSYmbi55US5YJiZuLnlRLlYhPT0iZ2wiPyEwOiExfTsKSng9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUQuY2hhbm5lbFRodW1ibmFpbDtiJiYoYj1iLnRodW1ibmFpbHMpJiYoYj1iWzBdKSYmKFcucHJvZmlsZV9waWN0dXJlPWIudXJsKTtpZihiPWcudyhnLncoRD8uY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50LCR0TSk/LnVybEVuZHBvaW50LGcuUGopKVcuY2hhbm5lbF9wYXRoPWIudXJsO2lmKGI9RC5jb2xsYXBzZWRSZW5kZXJlcilpZihiPWcudyhiLHIxcikpe2xldCB2PWIudGl0bGU7diYmKFcudGl0bGU9Zy5EcCh2KSk7aWYoYj1iLnN1YnRpdGxlKVcuc3VidGl0bGU9Zy5EcChiKX1pZihEPUQuZXhwYW5kZWRSZW5kZXJlcilpZihEPWcudyhELHNzQykpe2lmKGI9RC50aXRsZSlXLmV4cGFuZGVkX3RpdGxlPWcuRHAoYik7aWYoYj1ELnN1YnRpdGxlKVcuZXhwYW5kZWRfc3VidGl0bGU9Zy5EcChiKTtpZihEPUQuc3Vic2NyaWJlQnV0dG9uKW4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI9Zy53KEQsTmgxKSxuLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyJiYKKFcudWNpZD1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLmNoYW5uZWxJZCxXLnN1YnNjcmliZWQ9bi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5zdWJzY3JpYmVkLG4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiYmbi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uLnRvZ2dsZUJ1dHRvblJlbmRlcmVyJiYoVz1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24udG9nZ2xlQnV0dG9uUmVuZGVyZXIsVy5pc1RvZ2dsZWQ/KG4ubGU9Vy50b2dnbGVkU2VydmljZUVuZHBvaW50fHxudWxsLG4uWTA9Vy5kZWZhdWx0U2VydmljZUVuZHBvaW50fHxudWxsKToobi5sZT1XLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnR8fG51bGwsbi5ZMD1XLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnR8fG51bGwpKSl9fTsKdzY9ZnVuY3Rpb24obil7cmV0dXJuISFuLkR4fHwhIW4uTmZ8fCEhbi5Gcnx8ISFuLlRJfHxuLmZafTsKUDA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47aWYoKG4mMTA3KT09bil7dmFyIGg9YltJWzVdXTtEW0lba144MTgzXV0oZnVuY3Rpb24ocixOLEgpe3RoaXNbSVtrXjgxNTddXShIW05dPWJbKGJbSVtrXjgxNTNdXShyKS1iW0lba144MTUzXV0odGhpc1tOXSkrTitoLS0pJWJbSVs1XV1dKX0sdltJW2teODE3NV1dKElba144MTU4XSkpfWlmKChuXjcxKT49NiYmKG4tMiYxNik8MylhOnt2YXIgeD1nLncoRCxwWVopfHxEW0lba143NjZdXSxMPXt4aTohMSwKRWw6SVtrXjY3OF0seTc6SVtrXjY3OF0sczpJW2teNjc4XX07aWYoIXgpe3ZhciBlPUw7YnJlYWsgYX14PWcuaXcoeCk7TFtJW2teNzQzXV09ITA7TFtJW2teNjQ0XV09eFtJW2teNjg2XV07TFtJW2teNjY1XV09eFtJW2teNjc5XV07TFtJW2teNjQ4XV09eFtJW2teNjQ4XV07ZT1MfWlmKChuJjEyNik9PW4pYTp7TD1EW0lba143MjcxXV0oSVtrXjcyNTRdKTt4PVsvWy8sLTQsL11bfSxdXFsnLyxJW2teNzE4NF0sLShrXjE4MTg5Njc3MzgpLC0oa14zMzc1NjY4NzMpLGteOTg5NTU4NzU4LG51bGwsVVloLC0oa144MjEyMzQxMTApLGteODc1MzU2NTIyLC0oa145NDM2MTYyODUpLC0oa144MzYxOTg2MDIpLGteMTU5ODMxMjY5MixaODEsa143MDczMDE3OTAsa14xMTcyOTI1ODk4LG51bGwsa140MTk5NDUxMywtKGteMjc3NDM3NjUyKSxrXjE0MzEzMjI2NzcsRTJVLC0oa14xNDYyMzMwNzMxKSx4dlUsbnVsbCxrXjE2MDQ0MTY1LGteNDg4OTU0MTc0LGteODIyNTEwODUxLFlqWixMLEhXdCwKZmFpLG8yaiwtKGteMjAyOTQ4MDMyNyksa14xMjgxODQ0NjYsa142NjMwMjAxNDQsU0ExLC0oa14xMjYwMTUwODE1KSwtKGteMTM4NTgyODA1NiksLShrXjE2NjI1MTc4MzcpLGteMTQ3ODUyMTA0NCwkWWosa14xODcwOTA2Mjg1LGteODIyNTEwODUxLFN1eCwtKGteMTExOTIxMzExNCksLShrXjg3NDEwNjcxMCksa14yMDc2NDU3OTE4LGteMTc0Njc4MTY5NCxJW2teNzI0MF0sb1VqLGteMTM4NDIyNjkxNSxNQ2IsLShrXjE2MjA0NjE3NTYpLGteMTI3MjM0ODc2MCxJW2teNzI5NF0sLShrXjkxMjQ2MDk4MSksa14xODg3MTM4NTY5LEoxWixJW2teNzE3MV0sTCwtKGteMTg5NjQ1NTA0KSwtKGteMTM1NTU3MzkzMSksLShrXjE0MTE5OTc0MjkpLGteMTk0Mzk0NjQxMyxMLElhMixTalUsa14xODcwOTA2Mjg1LElba143MjkwXSxBMTEsa14xMDM5NzI3ODI1LGteOTQxOTgzMTg4LC0oa14xODUwNDM2ODczKSxJW2teNzE2OF0sa14yMTYzOTkwMjEsbXR4LC0oa140NjQ5MjEzOSldO3hbNV09Cng7eFtrXjcyNDRdPXg7eFtrXjcyNTNdPXg7aWYodHlwZW9mIEtHdD09PUlba143Mjc4XSl7ZT1EO2JyZWFrIGF9dHJ5e3RyeXt4W2teNzI1NV09PT0tMyYmKCgoMCx4W2teNzI1NF0pKHhba143MTczXSx4W2teNzI0NF0pLCgoMCx4W2teNzI4MV0pKHhba143MjU2XSwoMCx4W2teNzI5MV0pKCkseFtrXjcyOTBdKSx4W2teNzI4MV0pKHhba143Mjg5XSwoMCx4W2teNzI0N10pKCkseFtrXjcyOTBdKSx4W2teNzI2M10pKHhba143MjUzXSksMSl8fCgoMCx4W2teNzI1NF0pKHhba143MjUxXSx4W2teNzI1Nl0pLHhba143MjYxXSkoeFtrXjcyNzJdLHhba143MjkyXSk+PigoMCx4W2teNzI2M10pKHhba143MjU2XSl8KDAseFtrXjcxNzVdKSh4W2teNzI1Ml0seFs1XSkpfWNhdGNoKHIpeygwLHhba143MjU1XSkoeFtrXjcyODJdKX1maW5hbGx5e3ZhciBHPU0zKGteNzI1NyxrXjIxOTAseCl9dHJ5e0c9WEQoa143MjUzLGteNzgwMCx4KX1jYXRjaChyKXt4W2teNzE3OV0hPS0zJiYoKCgoMCx4W2teCjcyOTJdKSgoMCx4W2teNzI0N10pKHhba143MTc3XSx4W2teNzE3NF0pLHhba143MjgzXSx4W2teNzE2OF0pLCgwLHhba143MTY5XSkoeFs1XSx4W2teNzI0OV0pLHhba143MTgxXSkoeFtrXjcyNDBdLHhba143MjgyXSkseFszXSkoeFtrXjcyNzBdLHhba143MjY5XSkseFtrXjcyNzhdKSgoMCx4W2teNzI3N10pKHhba143MjYxXSx4W2teNzI1MF0pLHhba143MjQ4XSwoMCx4W2teNzI2NF0pKHhba143Mjg3XSx4W2teNzI0NF0pLHhba143MjgzXSx4W2teNzI3MV0pLHhba143MjYwXSE9PTAmJih4W2teNzE2OF08PS0zPygwLHhba143MjY0XSkoeFtrXjcyNjldLHhba143MTc3XSk6KDAseFtrXjcxNjldKSh4W2teNzI2OF0sKDAseFtrXjcyNThdKSgpLHhbNF0pKX1maW5hbGx5e3hba143MTczXSE9PTQmJih4W2teNzI0N108PS00PygwLHhba143Mjg5XSkoKCgwLHhba143Mjc5XSkoeFtrXjcxODNdLHhba143MjQ0XSkseFtrXjcyNjhdKSh4W2teNzE4M10seFtrXjcyNDVdKSx4W2teNzI0OV0sCigwLHhba143MjQzXSkoKDAseFtrXjcyNDhdKSh4W2teNzI1N10seFtrXjcyODJdKSx4W2teNzI2OF0seFtrXjcyNDJdLHhba143MTcyXSksKCgoKCgoMCx4W2teNzI5NF0pKHhba143MjgxXSx4W2teNzI0MF0pLHhba143Mjc1XSkoeFtrXjcxODddLHhba143MjYzXSkseFtrXjcyNTVdKSh4W2teNzE3N10sKDAseFtrXjcyNDJdKSgpLHhba143MjU2XSkseFtrXjcyNDldKSh4W2teNzI2Nl0seFtrXjcyOTNdKSx4W2teNzE3NV0pKCgwLHhba143MTgwXSkoeFtrXjcyNDhdLHhba143MjkzXSkseFtrXjcxNzNdLHhbMV0seFtrXjcyOTNdKSx4W2teNzI0OV0pKHhba143MTY4XSx4W2teNzI2M10pLCgwLHhba143Mjc1XSkoeFtrXjcyODhdLHhba143MjkzXSk8PSgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143Mjc5XSkoKSx4W2teNzI1MF0pLHhba143MTc2XSwoMCx4W2teNzE3Nl0pKHhba143MjUxXSx4W2teNzI2M10pLHhbMF0seFtrXjcxNzddKTooKCgwLHhba143MTgxXSkoKCgwLHhba14KNzE3Nl0pKHhba143MTY5XSx4W2teNzI2M10pLHhba143Mjc1XSkoeFtrXjcyOTFdLHhba143MjYzXSklKDAseFtrXjcxODJdKSh4W2teNzE3Ml0pLHhba143MjU1XSwoMCx4W2teNzE3Nl0pKHhbNF0seFtrXjcxNzJdKSx4W2teNzI5M10sKDAseFtrXjcyNzBdKSgpLHhba143MjU2XSksKDAseFtrXjcxODJdKSh4W2teNzI4MV0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pPT09KCgoMCx4W2teNzI1NV0pKHhba143MTc3XSwoMCx4W2teNzI1N10pKCkseFtrXjcyNTBdKSx4W2teNzI3NV0pKHhba143MjU5XSx4W2teNzE3MV0pLCgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143Mjc5XSkoKSx4W2teNzI1Nl0pXigwLHhba143Mjc1XSkoeFtrXjcyNzZdLHhba143MTcyXSksKDAseFtrXjcxNzVdKSgoMCx4W2teNzE3M10pKHhba143Mjc0XSx4W2teNzE3Ml0pLAp4W2teNzI1NV0seFtrXjcyOTNdLCgwLHhba143MjcwXSkoKSx4W2teNzI1MF0pLHhba143MTc2XSkoeFtrXjcyOTRdLHhba143MjYzXSkpfX1jYXRjaChyKXtlPUlba143MjgwXStEO2JyZWFrIGF9ZT1MW0lba143MjQ2XV0oSVtrXjcyNTRdKX0obl45MSk8MTYmJm4rMT4+Mz49MiYmKGVYKGteNjY0MixrXjE0ODksRCksZT1nLkRsKERbSVsxXV0sT1d0KSk7bis5Pj40Pj0zJiYobj4+MiYyNCk8MTImJmJbSVsyMl1dKEQpO3JldHVybiBlfTsKTXM9ZnVuY3Rpb24obil7cmV0dXJuISEobi5XJiZuLlcudmlkZW9JbmZvcyYmbi5XLnZpZGVvSW5mb3MubGVuZ3RoKX07CkFKPWZ1bmN0aW9uKG4pe3JldHVybiBuLk5QKCkmJm4uRygpLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKUlE9ZnVuY3Rpb24obil7dmFyIFc9WyJNVVNJQ19WSURFT19UWVBFX0FUViIsIk1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIl0sRD1sbyhuLnlRKT09PSJUVkhUTUw1X1NJTVBMWSImJm4ueVEuTi5jdGhlbWU9PT0iTVVTSUMiOyFuLkpnJiYoZy5NVihuLnlRKXx8dHUobi55USl8fEQpJiYoVy5pbmNsdWRlcyhuLm11c2ljVmlkZW9UeXBlKXx8bi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0KSYmKG4uSmc9ITApO2lmKFc9Zy5kOCgpKVc9L1N0YXJib2FyZFwvKFswLTldKykvLmV4ZWMoZy5YUSgpKSxXPShXP3BhcnNlSW50KFdbMV0sMTApOk5hTik8MTA7RD1odShuLnlRKSYmbi55US5OLmN0aGVtZT09PSJNVVNJQyI7dmFyIGI7aWYoYj0hbi5KZylEfHwoRD1uLnlRLEQ9bG8oRCk9PT0iVFZIVE1MNSImJkQuTi5jdmVyLnN0YXJ0c1dpdGgoIjciKSksYj1EO2ImJiFXJiYoVz1uLm11c2ljVmlkZW9UeXBlPT09Ik1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIiwKRD0obi5TKCJjYXN0X3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKXx8bi5TKCJrYWJ1a2lfcGFuZ2VhX3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKSkmJm4ubXVzaWNWaWRlb1R5cGU9PT0iTVVTSUNfVklERU9fVFlQRV9BVFYiLFd8fER8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCkmJihuLkpnPSEwKTtyZXR1cm4gbi55US5kZXZpY2VJc0F1ZGlvT25seXx8bi5KZyYmbi55US5LfTsKUXo9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuUygiaHRtbDVfZGlzYWJsZV9hdjEiKT8hMDohMX07Ck5JPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5jb21wb3NpdGVCcm9hZGNhc3RUeXBlPT09IkNPTVBPU0lURV9CUk9BRENBU1RfVFlQRV9DT01QUkVTU0VEX0RPTUFJTl9DT01QT1NJVEUifTsKVno9ZnVuY3Rpb24obil7dmFyIFc9bi5LO24uUygiaHRtbDVfZ2FwbGVzc191bmxpbWl0X2Zvcm1hdF9zZWxlY3Rpb24iKSYmQUoobikmJihXPSExKTt2YXIgRD0hIW4uTiYmbi5OLnpXO1c9VThaKG4ueVEse21WOm4ubVYoKSx5WDpELE93OlJRKG4pLEhpOm4uSGksbFU6Vyxpc090ZjpuLmlzT3RmKCksb0w6bi5vTCgpLElSOm4uSVIseGQ6bi5nZXRVc2VyQXVkaW81MVByZWZlcmVuY2UoKSxkaXNhYmxlQXYxOlF6KG4pLGRCOk5JKG4pfSk7Zy5ZTihuKSYmKFcudlg9ITApO3pRKCkmJm4ucGxheWVyUmVzcG9uc2UmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnJiZuLnBsYXllclJlc3BvbnNlLnBsYXllckNvbmZpZy53ZWJQbGF5ZXJDb25maWcmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnLndlYlBsYXllckNvbmZpZy51c2VDb2JhbHRUdm9zRG9nZm9vZEZlYXR1cmVzJiYoVy5qPSEwLFcuVj0hMCk7bi5LJiZuLmlzQWQoKSYmKG4uWXImJihXLk89bi5Zciksbi5TViYmCihXLlg9bi5TVikpO24uTlAoKSYmKFcuUyQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzIikpO1cubnU9bi5pc0xpdmVQbGF5YmFjayYmbi5NaSgpJiZuLnlRLlMoImh0bWw1X2RybV9saXZlX2F1ZGlvXzUxIik7Vy5iZD1uLkVUO24uUygiaHRtbDVfZGlzYWJsZV92cDlfaGRyX2ZhaXJwbGF5IikmJnpRKCkmJihXLmJkPSEwKTtXLlJhPSFnLllOKG4pO1cuVEM9IWcuWU4obikmJm4ueVEuZXhwZXJpbWVudHMuWnQoKS5OLlFRKFByaSk7cmV0dXJuIG4uZSQ9V307ClV0TT1mdW5jdGlvbihuKXtnLmFMKCJkcm1fcGJfcyIsdm9pZCAwLG4uelIpO24uQ2l8fG4uTiYmbi5OLlgoKTt2YXIgVz17fTtuLk4mJihXPU5kKG4ueXcsVnoobiksbi55US5XLG4uTixEPT5uLldKKCJjdG1wIiwiZm10Zmx0IixEKSwhMCxuZXcgU2V0KSk7Clc9bmV3IFpXUyhXLG4ueVEsbi5KaixuLnVzZUNvYmFsdFdpZGV2aW5lP3pRKCk/VGYobik6ITE6ITEsKEQsYik9PntuLlUoRCxiKX0pOwpnLnUobixXKTtuLlEkPSExO24ubG9hZGluZz0hMDtkOGkoVyxEPT57Zy5hTCgiZHJtX3BiX2YiLHZvaWQgMCxuLnpSKTtmb3IodmFyIGIgb2YgRClzd2l0Y2goYi5mbGF2b3Ipe2Nhc2UgImZhaXJwbGF5IjpiLkNpPW4uQ2k7Yi5WOT1uLlY5O2Iuamk9bi5qaTticmVhaztjYXNlICJ3aWRldmluZSI6Yi5GYz1uLkZjfW4uVFE9RDtpZihuLlRRLmxlbmd0aD4wJiYobi5qPW4uVFFbMF0sbi55US5XWCgpKSl7RD17fTtmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMobi5qLkopKXtiPWs7bGV0IGg9InVuayIseD12Lm1hdGNoKC8oLiopY29kZWNzPSIoLiopIi8pO3gmJihoPXhbMl0pO0RbaF09Yn1uLlUoImRybVByb2JlIixEKX1mTChuKX0pfTsKY2o9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz0hIW4uY290bilXPW4udmlkZW9JZCxXPSEhVyYmZSQoVyk9PT0xO3JldHVybiBXJiYhbi5XaX07CnkxaD1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5zdHJlYW1pbmdEYXRhPy5hZGFwdGl2ZUZvcm1hdHN8fFtdLEQ9bnVsbDtpZihXLmxlbmd0aD4wKUQ9YVEobixXKTtlbHNlIGlmKCFuLlMoImh0bWw1X2RlcHJlY2F0ZV9hZGFwdGl2ZV9mb3JtYXRzX3N0cmluZyIpKXtuLlUoInBhZm10c3RyIix7czpuLmFkYXB0aXZlRm9ybWF0cy5zdWJzdHJpbmcoMCw1MCl9KTtpZigoVz1uLmFkYXB0aXZlRm9ybWF0cykmJiFqJChuKSl7bi55US5XLkomJihSbz0hMCk7Vz1uQShXKTtEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9czVVKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaD8uZXhwZXJpbWVudHMsITApO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLlc9IWs7Yi5pc0xpdmU9IWs7Yi5YZz1rO2ZvcihHIG9mIFcpe3Y9SW8oRywKRCwwLGgseCk7TD1SeChHLnVybCxHLnNwLEcucyk7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aD8uZXhwZXJpbWVudHM/LkVxKCJodG1sNV9tYXhfa25vd25fZW5kX3RpbWVfcmViYXNlIik7bGV0IHI9TnVtYmVyKEcudGFyZ2V0X2R1cmF0aW9uX3NlYyl8fDUsTj1OdW1iZXIoRy5tYXhfZHZyX2R1cmF0aW9uX3NlYyl8fDE0NDAwLEg9TnVtYmVyKEwuZ2V0KCJtaW5kc3EiKXx8TC5nZXQoIm1pbl9zcSIpfHwiMCIpLEE9TnVtYmVyKEwuZ2V0KCJtYXhkc3EiKXx8TC5nZXQoIm1heF9zcSIpfHwiMCIpfHxJbmZpbml0eTtiLkl0PWIuSXR8fEg7Yi5IUD1iLkhQfHxBO2xldCB5PSF2Lk4oKTtMJiYkZyhiLG5ldyBXVChMLHYse3JiOnIsT1Q6eSx1YjpOLEl0OkgsSFA6QSx1azozMDAsWGc6ayxFMzplfSkpfXZhciBHPWJ9ZWxzZSBHPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/TnBqKFcsRCxiLGgseCk6cEpiKFcsRCxiLGgseCk7Vy5sZW5ndGg+CjAmJihXPVdbMF0sRmUobikmJlcudXJsJiYobi5SYT1uLlJhfHxCaihXLnVybCkpKTtXPW4uaXNMaXZlUGxheWJhY2smJiFuLlhnJiYhbi5SSSYmIW4uaXNQcmVtaWVyZTtuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiYoIWcuRFAobikmJlcmJm4uVSgibWlzc2luZ0xpdmVIZWFkUGxheWFibGUiLHt9KSxuLnlRLlY9PT0ieXQiJiYoRy5WUT0hMCkpO0Q9R31lbHNlIEQ9bnVsbDtuLlUoInBhZm10cyIse2lzTWFuaWZlc3RGaWxsZWQ6ISFEfSl9aWYoIUQpcmV0dXJuITE7YkYobixEKTtyZXR1cm4hMH07Ckk0PWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uTnx8IW4uTi5pc01hbmlmZXN0bGVzcyl9OwpnLkRQPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiZJNChuKSYmbi55US5WPT09Inl0Ij9uLmlzTGl2ZUhlYWRQbGF5YWJsZTpuLmlzTGl2ZVBsYXliYWNrfTsKYVE9ZnVuY3Rpb24obixXKXtpZihXLmxlbmd0aD09PTB8fGokKG4pKXJldHVybiBudWxsO24ueVEuVy5KJiYoUm89ITApO3ZhciBEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9cXVqKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaC5leHBlcmltZW50cywhMCk7Yi5XPSFrO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLmlzTGl2ZT0haztiLlhnPWs7Zm9yKGxldCBHIG9mIFcpe3Y9dFooRyxELDAsaCx4KTtsZXQge0VsOnIsczpOLHk3Okh9PVAwKDUsNjk0LEcpO0w9Ungocnx8Ry51cmx8fCIiLEgsTik7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aC5leHBlcmltZW50cz8uRXEoImh0bWw1X21heF9rbm93bl9lbmRfdGltZV9yZWJhc2UiKTtsZXQgQT1OdW1iZXIoRy50YXJnZXREdXJhdGlvblNlY3x8CjUpLHk9TnVtYmVyKEcubWF4RHZyRHVyYXRpb25TZWN8fDE0NDAwKSxUPU51bWJlcihMLmdldCgibWluZHNxIil8fEwuZ2V0KCJtaW5fc3EiKXx8IjAiKSx6PU51bWJlcihMLmdldCgibWF4ZHNxIil8fEwuZ2V0KCJtYXhfc3EiKXx8IjAiKXx8SW5maW5pdHk7Yi5JdD1iLkl0fHxUO2IuSFA9Yi5IUHx8ejtsZXQgQz0hdi5OKCk7TCYmJGcoYixuZXcgV1QoTCx2LHtyYjpBLE9UOkMsdWI6eSxJdDpULEhQOnosdWs6MzAwLFhnOmssRTM6ZX0pKX1EPWJ9ZWxzZSBEPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/RzNDKFcsRCxiLGgseCk6dE9aKFcsRCxiLGgseCk7Vy5sZW5ndGg+MCYmKFc9V1swXSxGZShuKSYmVy51cmwmJihuLlJhPW4uUmF8fEJqKFcudXJsKSkpO1c9bi5pc0xpdmVQbGF5YmFjayYmIW4uWGcmJiFuLlJJJiYhbi5pc1ByZW1pZXJlO24uUygiaHRtbDVfbGl2ZV9oZWFkX3BsYXlhYmxlIikmJighZy5EUChuKSYmVyYmbi5VKCJtaXNzaW5nTGl2ZUhlYWRQbGF5YWJsZSIsCnt9KSxuLnlRLlY9PT0ieXQiJiYoRC5WUT0hMCkpO3JldHVybiBEfTsKbkE9ZnVuY3Rpb24obixXKXtuPXV3KG4pO3ZhciBEPXt9O2lmKFcpZm9yKHZhciBiIG9mIFcuc3BsaXQoIiwiKSkoVz1iLm1hdGNoKC9eKFswLTldKylcLyhbMC05XSspeChbMC05XSspKFwvfCQpLykpJiYoRFtXWzFdXT17d2lkdGg6V1syXSxoZWlnaHQ6V1szXX0pO2ZvcihsZXQgdiBvZiBuKWlmKGI9RFt2Lml0YWddKXYud2lkdGg9Yi53aWR0aCx2LmhlaWdodD1iLmhlaWdodDtyZXR1cm4gbn07CmJGPWZ1bmN0aW9uKG4sVyxEPSExKXtuLmVWPXZvaWQgMDtuLk49VztnLnUobixXKTtXLkl0PW4uSXQ7Vy5IUD1uLkhQO1cuSlU9bi5KVTtXLm9SPW4ub1I7Vy5JVD1uLklUO24ubEMmJihXLlk9bmV3IHZUKG4ubEMpKTsobi5tVigpfHxnLmtwKG4pKSYmbi5JSi5wdXNoKCJ3ZWJnbCIpO24uTi5pc0xpdmV8fChuLmlzTGl2ZVBsYXliYWNrPSExKTt2YXIgYj1XLnNvdXJjZVVybC5zcGxpdCgiLyIpO2lmKG4uVlE/Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT09LTE6Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT0tMSluLnptPU51bWJlcihiW2IuaW5kZXhPZigibWFuaWZlc3RfZHVyYXRpb24iKSsxXSk7aWYoVy5XfHxXLmlzTWFuaWZlc3RsZXNzKVcuc3Vic2NyaWJlKCJjbGllbnR0ZW1wIixuLlUsbiksRD9XLnN1YnNjcmliZSgicmVmcmVzaCIsbi5QSCxuKTpXLnN1YnNjcmliZSgiY3VlcG9pbnRzYWRkZWQiLG4uRVosbik7Vy5YKCk/bi5RJD0hMDpHTD12b2lkIDA7Cm4uUkkmJihXLmlzV2luZG93ZWRMaXZlPW4uUkksVy5pc0xpdmU9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk7Vy5pc1ByZW1pZXJlPW4uaXNQcmVtaWVyZTtXLmlzTGl2ZUhlYWRQbGF5YWJsZT1uLmlzTGl2ZUhlYWRQbGF5YWJsZX07ClRmPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X3R2b3Nfc2tpcF9kYXNoX2F1ZGlvX2NoZWNrIil8fE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicpfTsKaiQ9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCk/IVRmKG4pOkMkKCk/bi5DaSYmbi5jTz8hMDohKCFuLkNpfHwhbi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJmZOKCkpOiExfTsKU3g9ZnVuY3Rpb24obil7cmV0dXJuIG4ubGF0ZW5jeUNsYXNzPT09IkxPVyJ8fG4ubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIn07CmhEPWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRP1N4KG4pJiZuLk4hPW51bGwmJm9vKG4uTik+PTU6U3gobikmJm4uTiE9dm9pZCAwJiZvbyhuLk4pPj01fTsKRXFoPWZ1bmN0aW9uKG4pe24ubG9hZGluZz0hMDtuLkN1PSExO2lmKGNqKG4pKUIkeChuLnZpZGVvSWQpLnRoZW4oYj0+e2lmKG4ucGxheWVyUmVzcG9uc2U/LnN0cmVhbWluZ0RhdGEpe3ZhciB2PVtdO2ZvcihsZXQgayBvZiBiKWI9T2JqZWN0LmFzc2lnbih7fSxrKSxiLnNpZ25hdHVyZUNpcGhlcj0iIix2LnB1c2goYik7di5sZW5ndGg8MiYmbi5VKCJvZmZtbGYiLHtsZW46di5sZW5ndGh9KTt2PWFRKG4sdik7UlEobikmJnp4KHYsITEpO2JGKG4sdik7bi5VKCJkbHIiLHt9KX1lbHNlIG4uVSgib2Zmc2RtIix7Y290bjpuLkNtP24uQ20uY290bjoiMCIsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pfSkudGhlbigoKT0+e2ZMKG4pfSk7CmVsc2V7Z1gobi5UZil8fGcuR3EobmV3IGcuUXgoIkRBU0ggTVBEIE9yaWdpbiBpbnZhbGlkOiAiLG4uVGYpKTt2YXIgVz1uLlRmLEQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJkYXNoX21hbmlmZXN0X3ZlcnNpb24iKXx8NDtXPWcuRVQoVyx7bXBkX3ZlcnNpb246RH0pO1N4KG4pJiZuLmxhdGVuY3lDbGFzcyE9PSJOT1JNQUwifHwoVz1nLkVUKFcse3BhY2luZzowfSkpO2Z0WihXLG4ueVEuZXhwZXJpbWVudHMsbi5pc0xpdmVQbGF5YmFjaykudGhlbihiPT57bi5xTigpfHwoYkYobixiLCEwKSxnLmFMKCJtcmMiLHZvaWQgMCxuLnpSKSxmTChuKSl9LGI9PntuLnFOKCl8fChuLmxvYWRpbmc9ITEsbi5XSigiZGF0YWxvYWRlcnJvciIsbmV3IGcuQ2koIm1hbmlmZXN0Lm5ldC5yZXRyeWV4aGF1c3RlZCIse2JhY2tlbmQ6Im1hbmlmZXN0IiwKcmM6Yi5zdGF0dXN9LDEpKSl9KTsKZy5hTCgibXJzIix2b2lkIDAsbi56Uil9fTsKeHA9ZnVuY3Rpb24obil7aWYoIW4uaXNQcm94aW1hTGF0ZW5jeUVsaWdpYmxlKXJldHVybiAwO3ZhciBXPVlkKCk7cmV0dXJuIG4ueVEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmFibGVQcm94aW1hTG93TGF0ZW5jeT8yOlc9PT0xPzE6bi5TKCJodG1sNV9lbmFibGVfcHJveGltYSIpPzI6MH07Ckt6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUyhXKT8hMDoobi5mZmxhZ3N8fCIiKS5pbmNsdWRlcyhXKyI9dHJ1ZSIpfTsKaVdTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8Q0wobil8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdDtpZighbi5OfHxEKXJldHVybiBuLlUoInNraXBEYXNoIix7ZG06ISFuLk4sYWlyOlcsZGQ6bi5VVCxtc3M6Zk4oKSwiM3BwIjpuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3R9KSxnLnAkKCk7UlEobikmJnp4KG4uTixuLmlzTGl2ZVBsYXliYWNrKTtyZXR1cm4gZy5IMCgpLnRoZW4oKCk9PlMyYihuLnl3LFZ6KG4pLG4ueVEuVyxuLk4sbi5qLGI9Pm4uV0ooImN0bXAiLCJmbXRmbHQiLGIpLG4ub00sTEEobikpLnRoZW4oYj0+e2U3KG4sYik7Cm4ueXcuSj1udWxsOy9eYXYvLnRlc3Qobi5jbGllbnRQbGF5YmFja05vbmNlKSYmbi5lJCYmbi5VKCJhdjEiLG4uZSQuTil9KSl9Owp1bXQ9ZnVuY3Rpb24obixXKXtpZihXJiZuLmhsc3ZwKXJldHVybiBnLnAkKCk7aWYobi5obHNGb3JtYXRzKXtpZihXPW5BKG4uaGxzRm9ybWF0cykpe2xldCBiPVtdO2Zvcih2YXIgRCBvZiBXKUQudXJsJiYoRC51cmw9Vm10KEQudXJsKSksbi5lJD8uVyYmYi5wdXNoKEQuaXRhZyk7bi5lJD8uVyYmYi5sZW5ndGg+MCYmbi5VKCJobHNmbXQiLHtpdGFnczpiLmpvaW4oIi4iKX0pfW4ueUU9Z1laKG4ueVEsVyk7bi55RSYmZ2wobixuLnlFKTtEPW4uY2xpZW50UGxheWJhY2tOb25jZTtyZXR1cm4gdG1NKG4ueVEsbi5pc0FkKCksVyxuLnBsYXllclJlc3BvbnNlPy5jYXB0aW9ucz8ucGxheWVyQ2FwdGlvbnNSZW5kZXJlcj8uYmFzZVVybD8/bnVsbCxuLkdmLEQsYj0+bi5XSigiY3RtcCIsImhsc2ZsdCIsYikpLnRoZW4oYj0+e3ZhciB2PTAsaz1bXTsKZm9yKGxldCBoIG9mIGIpay5wdXNoKGgua0woKT8uaXRhZyksaC5rTCgpPy5ZKCk/Lm51bUNoYW5uZWxzPnYmJih2PWgua0woKS5hdWRpby5udW1DaGFubmVscyk7dj4yJiZuLlUoImhsc2NobCIse21uOnZ9KTtuLmUkPy5XJiZuLlUoImhsc2ZtdGFmIix7aXRhZ3M6ay5qb2luKCIuIil9KTtpZihuLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5qPy5OKCkpe24uVSgiZHJtIix7c2JkbGZiazoxfSk7Zm9yKGxldCBoIG9mIG4uVFEpaWYoZzEoaCkpe24uaj1oO2JyZWFrfX1YMihuLGIpfSl9cmV0dXJuIGcucCQoKX07Cm9xMT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QmJm4uY2Ype2xldCBXPW5BKG4uY2YpO2lmKCFXWzBdKXJldHVybiBnLnAkKCk7bi5xdz1XWzBdO3JldHVybiBzaXIobi55USxXWzBdKS50aGVuKEQ9PntYMihuLEQpfSl9cmV0dXJuIG4uUXImJm4ub2M/cnFaKG4ueVEsbi5pc0FkKCksbi5RcikudGhlbihXPT57WDIobixXKX0pOmcucCQoKX07CnprVT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QpcmV0dXJuIGcucCQoKTt2YXIgVz1uQShuLmNmLG4uR2opO2lmKG4uaGxzdnApe2xldCBEPVFpMihuLmhsc3ZwLG4uY2xpZW50UGxheWJhY2tOb25jZSxuLkdmKTtXLnB1c2goRCl9cmV0dXJuIGpDaChuLnlRLG4uaXNBZCgpLFcsZHQxKG4pKS50aGVuKEQ9PntYMihuLEQpfSl9OwpMQT1mdW5jdGlvbihuKXt2YXIgVz1uLlMoImh0bWw1X2VuYWJsZV9zZXJ2ZXJfZm9ybWF0X2ZpbHRlciIpJiYhbi5NaSgpLEQ9bi5TKCJodG1sNV9lbmFibGVfc2VydmVyX2Zvcm1hdF9maWx0ZXJfZm9yX2RybSIpJiZuLk1pKCk7cmV0dXJuIGcuWU4obikmJihXfHxEKX07CmU3PWZ1bmN0aW9uKG4sVyl7bi5XPVc7Z2wobixuLlcuZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MoKSk7aWYobi5XKWZvcih2YXIgRCBvZiBuLlcudmlkZW9JbmZvcylXPUQuY29udGFpbmVyVHlwZSxXIT09MCYmKG4uYkJbV109RC5pZCk7RD1uLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7RD1ELmNvbmNhdChuLnZYKTtmb3IoVz0wO1c8bi5Udy5sZW5ndGg7VysrKXtsZXQgdj1uLlR3W1ddO2ZvcihsZXQgaz0wO2s8RC5sZW5ndGg7aysrKXtsZXQgaD1EW2tdO3ZhciBiPWgua1ouaWQ9PT12LmF1ZGlvVHJhY2tJZDtpZihoLmtaLmlzRGVmYXVsdCYmVz09PW4uTyR8fGIpe2lmKHYuY2FwdGlvblRyYWNrSW5kaWNlcylmb3IoYj0wO2I8di5jYXB0aW9uVHJhY2tJbmRpY2VzLmxlbmd0aDtiKyspaC5jYXB0aW9uVHJhY2tzW2JdPW4uY2FwdGlvblRyYWNrc1t2LmNhcHRpb25UcmFja0luZGljZXNbYl1dO3YuZGVmYXVsdENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5XPW4uY2FwdGlvblRyYWNrc1t2LmRlZmF1bHRDYXB0aW9uVHJhY2tJbmRleF0pOwp2LmZvcmNlZENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5OPW4uY2FwdGlvblRyYWNrc1t2LmZvcmNlZENhcHRpb25UcmFja0luZGV4XSk7aC5KPXYudmlzaWJpbGl0eXx8IlVOS05PV04iO2guY2FwdGlvbnNJbml0aWFsU3RhdGU9di5jYXB0aW9uc0luaXRpYWxTdGF0ZXx8IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiJ9fX1pZihuLmomJm4uVyYmbi5XLnZpZGVvSW5mb3MmJiEobi5XLnZpZGVvSW5mb3MubGVuZ3RoPD0wKSYmKEQ9bi5XLnZpZGVvSW5mb3NbMF0uVygpLG4uai5mbGF2b3I9PT0iZmFpcnBsYXkiIT09RCkpZm9yKGxldCB2IG9mIG4uVFEpaWYoRD09PSh2LmZsYXZvcj09PSJmYWlycGxheSIpKXtuLmo9djticmVha319OwpnbD1mdW5jdGlvbihuLFcpe1cuc29ydCgoRCxiKT0+RC50b1N0cmluZygpLmxvY2FsZUNvbXBhcmUoYi50b1N0cmluZygpLG4ueVEuaG9zdExhbmd1YWdlKSl9OwpYMj1mdW5jdGlvbihuLFcpe24ubnU9VztlNyhuLG5ldyBwZyhnLmlfKG4ubnUsRD0+RC5rTCgpKSkpfTsKZHQxPWZ1bmN0aW9uKG4pe3ZhciBXPXtjcG46bi5jbGllbnRQbGF5YmFja05vbmNlLGM6bi55US5OLmMsY3ZlcjpuLnlRLk4uY3Zlcn07bi54eiYmKFcucHRrPW4ueHosVy5vaWQ9bi5YbyxXLnB0Y2huPW4uaDEsVy5wbHR5cGU9bi5xOCxuLnk5JiYoVy5tPW4ueTkpKTtyZXR1cm4gV307CmcucXU9ZnVuY3Rpb24obil7cmV0dXJuIGokKG4pJiZuLkNpP3tmYWlycGxheToiaHR0cHM6Ly95b3V0dWJlLmNvbS9hcGkvZHJtL2Zwcz9laz11bmluaXRpYWxpemVkIn06bi5KJiZuLkouY29udGVudFByb3RlY3Rpb258fG51bGx9OwpHZT1mdW5jdGlvbihuKXtyZXR1cm4gbi5wbGF5ZXJSZXNwb25zZSYmbi5wbGF5ZXJSZXNwb25zZS5wYWlkQ29udGVudE92ZXJsYXkmJm4ucGxheWVyUmVzcG9uc2UucGFpZENvbnRlbnRPdmVybGF5LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyfHxnLncobi53YXRjaE5leHRSZXNwb25zZT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8ucGxheWVyRGlzY2xvc3VyZSxsYVMpfHxudWxsfTsKdEQ9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcudGV4dD9nLkRwKFcudGV4dCk6bi5wYWlkQ29udGVudE92ZXJsYXlUZXh0fTsKJHA9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcuZHVyYXRpb25Ncz9nLk5oKFcuZHVyYXRpb25Ncyk6bi5wYWlkQ29udGVudE92ZXJsYXlEdXJhdGlvbk1zfTsKcmw9ZnVuY3Rpb24obil7dmFyIFc9IiI7aWYobi51aClyZXR1cm4gbi51aDtuLmlzTGl2ZVBsYXliYWNrJiYoVz1uLmFsbG93TGl2ZUR2cj8iZHZyIjpuLmlzUHJlbWllcmU/ImxwIjpuLlJJPyJ3aW5kb3ciOiJsaXZlIik7bi5YZyYmKFc9InBvc3QiKTtyZXR1cm4gV307Cmcuc1M9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIG4ua2V5d29yZHNbV10hPT0ic3RyaW5nIj9udWxsOm4ua2V5d29yZHNbV119OwpnLllMPWZ1bmN0aW9uKG4pe3JldHVybiEhKG4uVGZ8fG4uY2Z8fG4uUXJ8fG4uaGxzdnB8fG4uSXAoKSl9OwpBeD1mdW5jdGlvbihuKXtyZXR1cm4obj1uLlJ0KSYmbi5zaG93RXJyb3I/bi5zaG93RXJyb3I6ITF9OwpOdT1mdW5jdGlvbihuKXtuLm11dGVkQXV0b3BsYXk9ITE7bi5lbmRTZWNvbmRzPU5hTjtuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPU5hTjt6ZihuKX07CmcucEE9ZnVuY3Rpb24obil7cmV0dXJuIGcuRFAobikmJiFuLmFsbG93TGl2ZUR2cn07CllwPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRQKG4pJiZuLmFsbG93TGl2ZUR2cn07CmcuSFQ9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJks2KG4uTil9OwpnLmZBPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZPayhuLk4pfTsKZy5rcD1mdW5jdGlvbihuKXtyZXR1cm4hIW4uTiYmSiRVKG4uTil9OwpnLkpEPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZQRihuLk4pfTsKSVQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uYWRGb3JtYXQmJihuLlZRP24uYWRGb3JtYXQhPT0iMV81IjpuLmFkRm9ybWF0IT0iMV81Iik/ImFkdW5pdCI6bi5ldmVudExhYmVsfHxuLnlRLll9OwpnLlM3PWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJzaG9ydHNwYWdlIn07CkFEPWZ1bmN0aW9uKG4pe3JldHVybiBuLkd1fHxJVChuKT09PSJkZXRhaWxwYWdlInx8SVQobik9PT0ic2hvcnRzcGFnZSJ8fG4ubXV0ZWRBdXRvcGxheX07CmlUPWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJhZHVuaXQiP24uVlQ6QUQobik/SVQobik9PT0iZGV0YWlscGFnZSJ8fElUKG4pPT09InNob3J0c3BhZ2UiP24uaXNBdXRvbmF2fHxuLlMkPjA6bi5mQj8hMTpuLnlRLlU1fHxuLnlRLk1kfHwhZy5vNChuLnlRKT8hMDohMToobi5mQj8wOm4uUFgpJiZnLm80KG4ueVEpPyEwOiExfTsKZy5tTz1mdW5jdGlvbihuKXtyZXR1cm4gbi56VygpJiZnLllOKG4pfTsKcHo9ZnVuY3Rpb24obil7cmV0dXJuISFuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/Lm1lZGlhQ29tbW9uQ29uZmlnPy5zcGxpdFNjcmVlbkVsaWdpYmxlfTsKS0E9ZnVuY3Rpb24obil7cmV0dXJuIGlzTmFOKG4pPzA6TWF0aC5tYXgoKERhdGUubm93KCktbikvMUUzLTMwLDApfTsKT1M9ZnVuY3Rpb24obil7cmV0dXJuISghbi5XaXx8IW4ueVEuSykmJm4uSXAoKX07ClBUPWZ1bmN0aW9uKG4pe3JldHVybiBuLktkJiZuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpfTsKVGhpPWZ1bmN0aW9uKG4pe3JldHVybiBuLkRFJiYhbi5sQ307CmNxeD1mdW5jdGlvbihuKXtzd2l0Y2gobi55US5WKXtjYXNlICJnZCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fZHJpdmUiKTtjYXNlICJncCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fcGxheV9zdG9yZSIpO2Nhc2UgImRkIjpyZXR1cm4hMDtjYXNlICJwdyI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpO2RlZmF1bHQ6cmV0dXJuITF9fTsKcEw9ZnVuY3Rpb24obil7dmFyIFc7aWYoIShXPU5zJiZuLnpXKCkmJm4uTWkoKSYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCkmJm4uUygiaHRtbDVfc2Ficl9saXZlX2RybV9zdHJlYW1pbmdfeGhyIikpKXtXPW4uelcoKSYmIW4uTWkoKSYmTnM7dmFyIEQ9bi56VygpJiZuLmxhdGVuY3lDbGFzcyE9PSJVTFRSQUxPVyImJiFTeChuKSYmbi5TKCJodG1sNV9zYWJyX2xpdmVfbm9ybWFsX2xhdGVuY3lfc3RyZWFtaW5nX3hociIpLGI9U3gobikmJm4uUygiaHRtbDVfc2Ficl9saXZlX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtsZXQgdj1uLmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyImJm4uUygiaHRtbDVfc2Ficl9saXZlX3VsdHJhX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtXPVcmJihEfHxifHx2KX1EPVc7Vz1uLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZEJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3NzZGFpX3N0cmVhbWluZ194aHIiKTtEPSFuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYKRDtiPW4uelcoKSYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX2xpdmVfbm9uX3N0cmVhbWluZ194aHIiKTtuPU5zJiYobi5ERigpfHxweihuKSYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl9mb3JfbGlmYV9lbGlnaWJsZV9zdHJlYW1zIikpO3JldHVybiBXfHxEfHxifHxufTsKZy5tTT1mdW5jdGlvbihuKXtpZighbi5OfHwhbi5KfHwhbi5YKXJldHVybiExO3ZhciBXPW4uTi5OLEQ9ISFXW24uSi5pZF0mJmdaKDU2LDExOTYsV1tuLkouaWRdLlhiLk4pO1c9ISFXW24uWC5pZF0mJmdaKDIyLDExNTQsV1tuLlguaWRdLlhiLk4pO3JldHVybihuLkouaXRhZz09PSIwInx8RCkmJld9OwpaUD1mdW5jdGlvbihuKXtyZXR1cm4gbi5lQj9bIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKG4uZUIuc3RhdHVzKTohMH07ClVTPWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uaXNMaXZlUGxheWJhY2t8fCFuLmhhc1Byb2dyZXNzQmFyQm91bmRhcmllcygpKX07CnlVPWZ1bmN0aW9uKG4pe3JldHVybiBuLnlRLmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqc1opJiZuLk5QKCl8fG4uUygiZW5hYmxlX3BsYXllcl9yZXNwb25zZV9jYWNoZV9mb3JfbGl2ZSIpfTsKRVM9ZnVuY3Rpb24obil7cmV0dXJuISFuLmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckZsYWdzPy5lbmFibGVNdXNpY1V4fTsKaUY9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuSiYmbi5pc1ByaXZhdGV9OwpnLm9UPWZ1bmN0aW9uKG4pe3ZhciBXPW4uRygpLEQ9dUYoVyksYj1XLlFyO2cuQ04oVykmJihiJiYoRC50aGlyZFBhcnR5PXsuLi5ELnRoaXJkUGFydHksZW1iZWRVcmw6Yn0pLGcuRW4oRCxuKSk7KGI9bi50dyk/RC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmJ9OmcuQ04obi5HKCkpJiZnLkFyKCJFVkVOVF9JRCIpJiYoRC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmcuQXIoIkVWRU5UX0lEIil9KTtiPUQuY2xpZW50fHx7fTt2YXIgdj0iRU1CRUQiLGs9SVQobik7az09PSJsZWFuYmFjayI/dj0iV0FUQ0giOlcuUygiZ3ZpX2NoYW5uZWxfY2xpZW50X3NjcmVlbiIpJiZrPT09InByb2ZpbGVwYWdlIj92PSJDSEFOTkVMIjpuLklSP3Y9IkxJVkVfTU9OSVRPUiI6az09PSJkZXRhaWxwYWdlIj92PSJXQVRDSF9GVUxMX1NDUkVFTiI6az09PSJhZHVuaXQiP3Y9IkFEVU5JVCI6az09PSJzcG9uc29yc2hpcHNvZmZlciImJih2PSJVTktOT1dOIik7Yi5jbGllbnRTY3JlZW49CnY7aWYodj1uLmtpZHNBcHBJbmZvKWIua2lkc0FwcEluZm89SlNPTi5wYXJzZSh2KTsoaz1uLkFtKSYmIXYmJihiLmtpZHNBcHBJbmZvPXtjb250ZW50U2V0dGluZ3M6e2FnZVVwTW9kZTpDcmJba119fSk7aWYodj1uLnRHKWIudW5wbHVnZ2VkQXBwSW5mbz17ZW5hYmxlRmlsdGVyTW9kZTohMH07KGs9bi51bnBsdWdnZWRGaWx0ZXJNb2RlVHlwZSkmJiF2JiYoYi51bnBsdWdnZWRBcHBJbmZvPXtmaWx0ZXJNb2RlVHlwZTpCaGhba119KTtpZih2PW4uWFkpYi51bnBsdWdnZWRMb2NhdGlvbkluZm89djtELmNsaWVudD1iO2I9RC5yZXF1ZXN0fHx7fTtuLllaJiYoYi5pc1ByZWZldGNoPSEwKTtpZih2PW4ubWR4RW52aXJvbm1lbnQpYi5tZHhFbnZpcm9ubWVudD12O2lmKHY9bi5tZHhDb250cm9sTW9kZSliLm1keENvbnRyb2xNb2RlPUZHeFt2XTtELnJlcXVlc3Q9YjtiPUQudXNlcnx8e307aWYodj1uLkQpYi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnM9W3t0b2tlbjp2LHNjb3BlOiJWSURFTyJ9XTsKaWYodj1uLkhKKWIuZGVsZWdhdGVQdXJjaGFzZXM9e29hdXRoVG9rZW46dn0sYi5raWRzUGFyZW50PXtvYXV0aFRva2VuOnZ9O3Y9Vy5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk/LnVzZXJDb250ZW50UmF0aW5nOyF2JiZXLlMoImVuYWJsZV9icmF6aWxfYWdlX2dhdGluZ193ZWIiKSYmKHY9Zy5vOSgpLmdldCgiYnJfYWdlX3JhdGluZyIpKTt2JiYoYi5zZXJpYWxpemVkVXNlckNvbnRlbnRSYXRpbmc9dik7RC51c2VyPWI7aWYoVz1uLmNvbnRleHRQYXJhbXMpRC5hY3RpdmVQbGF5ZXJzPVt7cGxheWVyQ29udGV4dFBhcmFtczpXfV07aWYobj1uLmNsaWVudFNjcmVlbk5vbmNlKUQuY2xpZW50U2NyZWVuTm9uY2U9bjtyZXR1cm4gRH07CnVGPWZ1bmN0aW9uKG4pe3ZhciBXPWcudmIoKSxEPVcuY2xpZW50fHx7fTtpZihuLmZvcmNlZEV4cGVyaW1lbnRzKXt2YXIgYj1uLmZvcmNlZEV4cGVyaW1lbnRzLnNwbGl0KCIsIik7bGV0IHY9W107Zm9yKGxldCBrIG9mIGIpdi5wdXNoKE51bWJlcihrKSk7RC5leHBlcmltZW50SWRzPXZ9aWYoYj1uLmhvbWVHcm91cEluZm8pRC5ob21lR3JvdXBJbmZvPUpTT04ucGFyc2UoYik7aWYoYj1uLmdldFBsYXllclR5cGUoKSlELnBsYXllclR5cGU9YjtpZihiPW4uTi5jdGhlbWUpRC50aGVtZT1iO2lmKGI9bi5saXZpbmdSb29tQXBwTW9kZSlELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sbGl2aW5nUm9vbUFwcE1vZGU6Yn07Yj1uLmRldmljZVllYXI7bi5TKCJodG1sNV9wcm9wYWdhdGVfZGV2aWNlX3llYXIiKSYmYiYmKEQudHZBcHBJbmZvPXsuLi5ELnR2QXBwSW5mbyxkZXZpY2VZZWFyOmJ9KTtpZihiPW4ubGl2aW5nUm9vbVBvVG9rZW5JZClELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sCmxpdmluZ1Jvb21Qb1Rva2VuSWQ6Yn07Vy5jbGllbnQ9RDtiPVcudXNlcnx8e307bi5lbmFibGVTYWZldHlNb2RlJiYoYj17Li4uYixlbmFibGVTYWZldHlNb2RlOiEwfSk7IUQudHZBcHBJbmZvPy51c2VQYWdlaWRBc0hlYWRlciYmbi5wYWdlSWQmJihiPXsuLi5iLG9uQmVoYWxmT2ZVc2VyOm4ucGFnZUlkfSk7Vy51c2VyPWI7cmV0dXJuIFd9OwpsRj1mdW5jdGlvbihuLFcsRCl7Vz17dmlkZW9JZDpuLnZpZGVvSWQsY29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhuLFcsRCl9fTtuLmdUJiYoVy5wbGF5YmFja0NvbnRleHQucmVsb2FkUGxheWJhY2tDb250ZXh0PXtyZWxvYWRQbGF5YmFja1BhcmFtczpuLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtc30pO24uY29udGVudENoZWNrT2smJihXLmNvbnRlbnRDaGVja09rPSEwKTtpZihEPW4uY2xpZW50UGxheWJhY2tOb25jZSlXLmNwbj1EO2lmKEQ9bi5wbGF5ZXJQYXJhbXMpVy5wYXJhbXM9RDtlbHNlIGlmKEQ9bi5nZXRSZXNvbHZlVXJsUmVzcG9uc2UoKSlpZihEPWRsKEQpKVcucGFyYW1zPUQ7aWYoRD1uLnBsYXlsaXN0SWQpVy5wbGF5bGlzdElkPUQ7bi5yYWN5Q2hlY2tPayYmKFcucmFjeUNoZWNrT2s9ITApO0Q9bi5HKCk7dmFyIGI9RC5lbWJlZENvbmZpZztuLk5kP1cuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz0Kbi5OZDpiJiYoVy5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWIpO1cuY2FwdGlvblBhcmFtcz17fTtiPWcubzkoKS5RUSg2NSk7bi5kZXZpY2VDYXB0aW9uc09uIT1udWxsP1cuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc09uPW4uZGV2aWNlQ2FwdGlvbnNPbjpnLmVNKEQpJiYoVy5jYXB0aW9uUGFyYW1zLmRldmljZUNhcHRpb25zT249YiE9bnVsbD8hYjohMSk7bi5LTCYmKFcuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc0xhbmdQcmVmPW4uS0wpO2I9bi5TKCJ3ZWJfZW5hYmxlX3BsYXllcl9yZXF1ZXN0X2NhcHRpb25zX2xhc3RfbGFuZ3VhZ2Vfb25seSIpO2lmKG4uRmUubGVuZ3RoKVcuY2FwdGlvblBhcmFtcy52aWV3ZXJTZWxlY3RlZENhcHRpb25MYW5ncz1iP1tuLkZlLmF0KC0xKV06bi5GZTtlbHNlIGlmKGcuZU0oRCkpe3ZhciB2PWcuU0koKTt2Py5sZW5ndGgmJihXLmNhcHRpb25QYXJhbXMudmlld2VyU2VsZWN0ZWRDYXB0aW9uTGFuZ3M9Yj9bdi5hdCgtMSldOgp2KX1iPW4uZmV0Y2hUeXBlPT09Im9uZXNpZSImJm4uUygiaHRtbDVfb25lc2llX2F0dGFjaF9wb190b2tlbiIpO3Y9bi5mZXRjaFR5cGUhPT0ib25lc2llIiYmbi5TKCJodG1sNV9ub25fb25lc2llX2F0dGFjaF9wb190b2tlbiIpO2lmKGJ8fHYpYj1uLkcoKSxiLmpXJiYoVy5zZXJ2aWNlSW50ZWdyaXR5RGltZW5zaW9ucz17fSxXLnNlcnZpY2VJbnRlZ3JpdHlEaW1lbnNpb25zLnBvVG9rZW49Yi5qVyk7RC5TKCJmZXRjaF9hdHRfaW5kZXBlbmRlbnRseSIpJiYoVy5hdHRlc3RhdGlvblJlcXVlc3Q9e29taXRCb3RndWFyZERhdGE6ITB9KTtXLnBsYXliYWNrQ29udGV4dHx8KFcucGxheWJhY2tDb250ZXh0PXt9KTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcz16ZShuKTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcy5zdXBwb3J0c1ZwOUVuY29kaW5nPT09ITEmJm4uVSgibm9WcDkiLHt9KTtyZXR1cm4gV307CnplPWZ1bmN0aW9uKG4pe3ZhciBXPSFuPy5vTCgpJiZuPy56VygpJiZjMCgpO3JldHVybntzdXBwb3J0c1ZwOUVuY29kaW5nOiEoIW4/LllqKCl8fFcpLHN1cHBvcnRYaHI6TnN9fTsKajc9ZnVuY3Rpb24obil7aWYobj1uPy5lbmRwb2ludClyZXR1cm4gZy53KG4sZy5JUSl8fGcudyhuLFRlKX07CmRsPWZ1bmN0aW9uKG4pe3JldHVybiBqNyhuKT8ucGxheWVyUGFyYW1zfTsKTVNNPWFzeW5jIGZ1bmN0aW9uKG4sVyl7bj17Y29udGV4dDp1RihuLkcoKSksZW5nYWdlbWVudFR5cGU6IkVOR0FHRU1FTlRfVFlQRV9QTEFZQkFDSyIsaWRzOlt7cGxheWJhY2tJZDp7dmlkZW9JZDpuLnZpZGVvSWQsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX19XX07dmFyIEQ9TEIod1laKTtyZXR1cm4gYXdhaXQgZy5yXyhXLG4sRCl9OwpDQT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIik7KCFvZnx8KDAsZy5SKSgpLW9mPmIpJiZNU00obixEKS50aGVuKHY9Pnt2JiYodj12LmJvdGd1YXJkRGF0YSkmJmcuekModixXKX0sdj0+e24ucU4oKXx8KHY9QiQodiksbi5VKCJhdHRmIix2LmRldGFpbHMpKX0pfTsKQlQ9ZnVuY3Rpb24obixXLEQpe24uc3RhdGUuTltXXT0oLi4uYik9PkQuYXBwbHkobixiKX07CkYyPWZ1bmN0aW9uKG4sVyxEKXtuLnN0YXRlLk4uaGFzT3duUHJvcGVydHkoVyl8fEJUKG4sVyxEKTtuLnN0YXRlLmpbV109KC4uLmIpPT5ELmFwcGx5KG4sYik7Cm4uc3RhdGUuSy5hZGQoVyl9Owp3bD1mdW5jdGlvbihuLFcsRCl7bi5zdGF0ZS5OLmhhc093blByb3BlcnR5KFcpfHxCVChuLFcsRCk7bi5hcHAuRygpLksmJihuLnN0YXRlLlZbV109KC4uLmIpPT5ELmFwcGx5KG4sYiksbi5zdGF0ZS5LLmFkZChXKSl9OwpNdT1mdW5jdGlvbihuLFcpe24uc3RhdGUuTi5hZGRFbWJlZHNDb252ZXJzaW9uVHJhY2tpbmdQYXJhbXMoLi4uVyl9OwpnLlJUPWZ1bmN0aW9uKG4sVywuLi5EKXtuLnN0YXRlLlcuV0ooVywuLi5EKTtuLnN0YXRlLkouV0ooVywuLi5EKX07CmcuUVU9ZnVuY3Rpb24obixXLC4uLkQpe24uc3RhdGUuVy5XSihXLC4uLkQpO24uc3RhdGUuSi5XSihXLC4uLkQpO24uc3RhdGUuWC5XSihXLC4uLkQpfTsKZy5WVT1mdW5jdGlvbihuLFcsLi4uRCl7bi5zdGF0ZS5XLldKKFcsLi4uRCk7bi5zdGF0ZS5KLldKKFcsLi4uRCk7bi5zdGF0ZS5YLldKKFcsLi4uRCk7bi5zdGF0ZS5ZLldKKFcsLi4uRCl9OwphVD1mdW5jdGlvbihuLFcsRCl7dHlwZW9mIG49PT0ic3RyaW5nIiYmKG49e21lZGlhQ29udGVudFVybDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH0pO2E6e2lmKChXPW4ubWVkaWFDb250ZW50VXJsKSYmKFc9L1wvKFt2ZV18ZW1iZWQpXC8oW14jP10rKS8uZXhlYyhXKSkmJldbMl0pe1c9V1syXTticmVhayBhfVc9bnVsbH1uLnZpZGVvSWQ9VztyZXR1cm4gY1Qobil9OwpjVD1mdW5jdGlvbihuLFcsRCl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57dmlkZW9JZDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH07Vz17fTtmb3IobGV0IGIgb2YgUmtaKW5bYl0mJihXW2JdPW5bYl0pOyhuPW4uZW1iZWRDb25maWd8fG4uZW1iZWRfY29uZmlnKSYmKFcuZW1iZWRfY29uZmlnPW4yKG4pKTtyZXR1cm4gV307ClFzUz1mdW5jdGlvbihuLFcsRCxiKXtpZihnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKSl7Vz0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtEPXt9O2ZvcihiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07blt2XSYmKERbdl09blt2XSl9cmV0dXJuIER9Vz17aW5kZXg6VyxzdGFydFNlY29uZHM6RCxzdWdnZXN0ZWRRdWFsaXR5OmJ9O3R5cGVvZiBuPT09InN0cmluZyImJm4ubGVuZ3RoPT09MTY/Vy5saXN0PSJQTCIrbjpXLnBsYXlsaXN0PW47cmV0dXJuIFd9OwpuMj1mdW5jdGlvbihuKXtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXJldHVybiBuO2lmKGcuZnQobikpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShuKX1jYXRjaChXKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLFcpfX07Clc3PWZ1bmN0aW9uKG4sVz0xKXt2YXIgRD17fTtXPW4uYXBwLlZFKHtwbGF5ZXJUeXBlOld9KS5nZXRWaWRlb0RhdGEoKTtpZihpRihXKSlyZXR1cm57fTtELnZpZGVvX2lkPVcudmlkZW9JZDtELmF1dGhvcj1XLmF1dGhvcjtELnRpdGxlPVcudGl0bGU7RC5pc1BsYXlhYmxlPVpQKFcpO0QuZXJyb3JDb2RlPVcuZXJyb3JDb2RlO2lmKFcuSiYmVy5KLnZpZGVvKXtELnZpZGVvX3F1YWxpdHk9Vy5KLnZpZGVvLnF1YWxpdHk7Vz1XLkoudmlkZW87bGV0IGI9W107Vy5KKCkmJmIucHVzaCgiaGZyIik7Vy5pc0hkcigpJiZiLnB1c2goImhkciIpO1cucHJpbWFyaWVzPT09ImJ0MjAyMCImJmIucHVzaCgid2NnIik7RC52aWRlb19xdWFsaXR5X2ZlYXR1cmVzPWJ9aWYobj1uLmdldFBsYXlsaXN0SWQoKSlELmxpc3Q9bjtyZXR1cm4gRH07ClZTaD1mdW5jdGlvbihuKXtGMihuLCJjdWVWaWRlb0J5SWQiLG4uY0opO0YyKG4sImxvYWRWaWRlb0J5SWQiLG4uWSQpO0YyKG4sImN1ZVZpZGVvQnlVcmwiLG4uYmQpO0YyKG4sImxvYWRWaWRlb0J5VXJsIixuLlFyKTtGMihuLCJwbGF5VmlkZW8iLG4ueXcpO0YyKG4sInBhdXNlVmlkZW8iLG4ucGF1c2VWaWRlbyk7RjIobiwic3RvcFZpZGVvIixuLnptKTtGMihuLCJjbGVhclZpZGVvIixuLmNsZWFyVmlkZW8pO0YyKG4sImdldFZpZGVvQnl0ZXNMb2FkZWQiLG4uWVopO0YyKG4sImdldFZpZGVvQnl0ZXNUb3RhbCIsbi5SYSk7RjIobiwiZ2V0VmlkZW9Mb2FkZWRGcmFjdGlvbiIsbi5YKTtGMihuLCJnZXRWaWRlb1N0YXJ0Qnl0ZXMiLG4uTEIpO0YyKG4sImN1ZVBsYXlsaXN0IixuLmN1ZVBsYXlsaXN0KTtGMihuLCJsb2FkUGxheWxpc3QiLG4uTmQpO0YyKG4sIm5leHRWaWRlbyIsbi5VNSk7RjIobiwicHJldmlvdXNWaWRlbyIsbi5RJCk7RjIobiwicGxheVZpZGVvQXQiLG4uTWQpOwpGMihuLCJzZXRTaHVmZmxlIixuLnNldFNodWZmbGUpO0YyKG4sInNldExvb3AiLG4uc2V0TG9vcCk7RjIobiwiZ2V0UGxheWxpc3QiLG4ualcpO0YyKG4sImdldFBsYXlsaXN0SW5kZXgiLG4uZ2V0UGxheWxpc3RJbmRleCk7RjIobiwiZ2V0UGxheWxpc3RJZCIsbi5nZXRQbGF5bGlzdElkKTtGMihuLCJsb2FkTW9kdWxlIixuLmopO0YyKG4sInVubG9hZE1vZHVsZSIsbi5WKTtGMihuLCJzZXRPcHRpb24iLG4uSik7RjIobiwiZ2V0T3B0aW9uIixuLnZKKTtGMihuLCJnZXRPcHRpb25zIixuLk4pO0YyKG4sIm11dGUiLG4uczUpO0YyKG4sInVuTXV0ZSIsbi5taCk7RjIobiwiaXNNdXRlZCIsbi5pc011dGVkKTtGMihuLCJzZXRWb2x1bWUiLG4uYlYpO0YyKG4sImdldFZvbHVtZSIsbi5nZXRWb2x1bWUpO0YyKG4sInNlZWtUbyIsbi5TVik7RjIobiwiZ2V0UGxheWVyTW9kZSIsbi5nZXRQbGF5ZXJNb2RlKTtGMihuLCJnZXRQbGF5ZXJTdGF0ZSIsbi55RSk7RjIobiwiZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyIsCm4uZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyk7RjIobiwiZ2V0UGxheWJhY2tRdWFsaXR5IiwoKT0+bi5nZXRQbGF5YmFja1F1YWxpdHkoMSkpOwpGMihuLCJzZXRQbGF5YmFja1F1YWxpdHkiLG4uZVYpO0YyKG4sImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiLG4uVlEpO0YyKG4sImdldEN1cnJlbnRUaW1lIixuLkhKKTtGMihuLCJnZXREdXJhdGlvbiIsbi5udSk7RjIobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5PKTtGMihuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLmdUKTtGMihuLCJnZXREZWJ1Z1RleHQiLG4uRHQpO0YyKG4sImdldFZpZGVvRGF0YSIsKCk9Plc3KG4pKTsKRjIobiwiYWRkQ3VlUmFuZ2UiLG4uWSk7RjIobiwicmVtb3ZlQ3VlUmFuZ2UiLG4ucmVtb3ZlQ3VlUmFuZ2UpO0YyKG4sInNldFNpemUiLG4uc2V0U2l6ZSk7RjIobiwiZ2V0QXBpSW50ZXJmYWNlIixuLmdldEFwaUludGVyZmFjZSk7RjIobiwiZGVzdHJveSIsbi5kZXN0cm95KTtGMihuLCJtdXRlZEF1dG9wbGF5IixuLm11dGVkQXV0b3BsYXkpO3ZhciBXPW4uYXBwLkcoKTtGMihuLCJnZXRWaWRlb0VtYmVkQ29kZSIsbi5nZXRWaWRlb0VtYmVkQ29kZSk7RjIobiwiZ2V0VmlkZW9VcmwiLG4ud2EpO0YyKG4sImdldE1lZGlhUmVmZXJlbmNlVGltZSIsbi5HQyk7RjIobiwiZ2V0U2l6ZSIsbi5nZXRTaXplKTtGMihuLCJzZXRGYXV4RnVsbHNjcmVlbiIsbi51NSk7Vy5TKCJlbWJlZHNfZW5hYmxlX21vdmVfc2V0X2NlbnRlcl9jcm9wX3RvX3B1YmxpYyIpJiZGMihuLCJzZXRDZW50ZXJDcm9wIixuLnNldENlbnRlckNyb3ApO1cuWHx8RjIobiwibG9nSW1hQWRFdmVudCIsbi5sb2dJbWFBZEV2ZW50KTsKRjIobiwicHJlbG9hZFZpZGVvQnlJZCIsbi5SdCk7RjIobiwid2FrZVVwQ29udHJvbHMiLG4ud2FrZVVwQ29udHJvbHMpfTsKZy5iNT1mdW5jdGlvbihuKXtyZXR1cm4obj1EJChuLmFwcC5KNSgpKSk/bi5CNygpOm51bGx9OwprRj1mdW5jdGlvbihuKXt2YXIgVz1RTShuLmFwcC5HKCkpLEQ9bi5hcHAuZ2V0VmlkZW9EYXRhKCk/Lk1kO249djcobi5hcHApO3JldHVybiBMeShXKSYmIUR8fG4/ITE6ITB9OwpoZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIHR5cGVvZiBuPT09Im51bWJlciI/e3BsYXllclR5cGU6bix2bzpXLGNwbjpEfTpufHx7fX07CmMxQz1mdW5jdGlvbihuKXt2YXIgVz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7aWYoIVcpe3ZhciBEPW4ucGxheWVyX3Jlc3BvbnNlO0QmJihXPUpTT04ucGFyc2UoRCkpfWRlbGV0ZSBuLnBsYXllcl9yZXNwb25zZTtkZWxldGUgbi5yYXdfcGxheWVyX3Jlc3BvbnNlO1cmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9e3N0cmVhbWluZ0RhdGE6Vy5zdHJlYW1pbmdEYXRhLHBsYXllckNvbmZpZzpXLnBsYXllckNvbmZpZ30sVy5wbGF5YmFja1RyYWNraW5nPy5xb2VVcmwmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9ey4uLm4ucmF3X3BsYXllcl9yZXNwb25zZSxwbGF5YmFja1RyYWNraW5nOntxb2VVcmw6Vy5wbGF5YmFja1RyYWNraW5nLnFvZVVybH19KSxXLmNhcHRpb25zJiYobi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsY2FwdGlvbnM6Vy5jYXB0aW9uc30pLFcudmlkZW9EZXRhaWxzJiYoVy52aWRlb0RldGFpbHMudmlkZW9JZHx8Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcykmJgooRD17fSxXLnZpZGVvRGV0YWlscy52aWRlb0lkJiYoRC52aWRlb0lkPVcudmlkZW9EZXRhaWxzLnZpZGVvSWQpLFcudmlkZW9EZXRhaWxzLmxlbmd0aFNlY29uZHMmJihELmxlbmd0aFNlY29uZHM9Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcyksbi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsdmlkZW9EZXRhaWxzOkR9KSl9Owp4Rj1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2lmKG4uYXBwLkcoKS5PKXtmb3IobGV0IGIgb2YgYWF4KVcuaGFzT3duUHJvcGVydHkoYikmJihEW2JdPVdbYl0pO2lmKG49RC5xb2VfY2F0KVc9IiIsdHlwZW9mIG49PT0ic3RyaW5nIiYmbi5sZW5ndGg+MCYmKFc9bi5zcGxpdCgiLCIpLmZpbHRlcihiPT5udDIuaW5jbHVkZXMoYikpLmpvaW4oIiwiKSksRC5xb2VfY2F0PVc7CmMxQyhEKX1lbHNlIGZvcihsZXQgYiBvZiBXYXcpVy5oYXNPd25Qcm9wZXJ0eShiKSYmKERbYl09V1tiXSk7cmV0dXJuIER9OwpMMj1mdW5jdGlvbihuKXtyZXR1cm4gbj9Ed1Vbbl18fDU6NX07CmVCPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKFcpKXtsZXQgYj1XW0RdO249bi5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrRCwiZ2kiKSwoKT0+Yil9cmV0dXJuIG59OwpiX0M9ZnVuY3Rpb24obil7QlQobiwiZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UiLG4uZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UpO0JUKG4sImdldFRydXN0ZWRBcGkiLG4uZ2V0VHJ1c3RlZEFwaSk7QlQobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5EKTtCVChuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLlRRKTtCVChuLCJjdWVWaWRlb0J5UGxheWVyVmFycyIsbi50dyk7QlQobiwibG9hZFZpZGVvQnlQbGF5ZXJWYXJzIixuLkU1KTtCVChuLCJwcmVsb2FkVmlkZW9CeVBsYXllclZhcnMiLG4uWmgpO0JUKG4sImdldEFkU3RhdGUiLG4uZ2V0QWRTdGF0ZSk7QlQobiwic2VuZEFiYW5kb25tZW50UGluZyIsbi5zZW5kQWJhbmRvbm1lbnRQaW5nKTtCVChuLCJzZXRMb29wUmFuZ2UiLG4uc2V0TG9vcFJhbmdlKTtCVChuLCJnZXRMb29wUmFuZ2UiLG4uZ2V0TG9vcFJhbmdlKTtCVChuLCJzZXRBdXRvbmF2U3RhdGUiLG4uc2V0QXV0b25hdlN0YXRlKTtCVChuLCJzZWVrVG8iLG4uYk4pO0JUKG4sCiJzZWVrQnkiLG4uc1YpO0JUKG4sInNlZWtUb0xpdmVIZWFkIixuLnNlZWtUb0xpdmVIZWFkKTtCVChuLCJyZXF1ZXN0U2Vla1RvV2FsbFRpbWVTZWNvbmRzIixuLnJlcXVlc3RTZWVrVG9XYWxsVGltZVNlY29uZHMpO0JUKG4sInNlZWtUb1N0cmVhbVRpbWUiLG4uc2Vla1RvU3RyZWFtVGltZSk7QlQobiwic3RhcnRTZWVrQ3NpQWN0aW9uIixuLnN0YXJ0U2Vla0NzaUFjdGlvbik7QlQobiwiZ2V0U3RyZWFtVGltZU9mZnNldCIsbi5nZXRTdHJlYW1UaW1lT2Zmc2V0KTtCVChuLCJnZXRWaWRlb0RhdGEiLG4uZkIpO0JUKG4sImdldEFwcFN0YXRlIixuLmdldEFwcFN0YXRlKTtCVChuLCJ1cGRhdGVMYXN0QWN0aXZlVGltZSIsbi51cGRhdGVMYXN0QWN0aXZlVGltZSk7QlQobiwic2V0VXNlckVuZ2FnZW1lbnQiLG4uc2V0VXNlckVuZ2FnZW1lbnQpO0JUKG4sInVwZGF0ZVN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi51cGRhdGVTdWJ0aXRsZXNVc2VyU2V0dGluZ3MpO0JUKG4sImdldFByZXNlbnRpbmdQbGF5ZXJUeXBlIiwKbi5XKTtCVChuLCJjYW5QbGF5VHlwZSIsbi5jYW5QbGF5VHlwZSk7QlQobiwidXBkYXRlUGxheWxpc3QiLG4udXBkYXRlUGxheWxpc3QpO0JUKG4sInVwZGF0ZVZpZGVvRGF0YSIsbi51cGRhdGVWaWRlb0RhdGEpO0JUKG4sInVwZGF0ZUVudmlyb25tZW50RGF0YSIsbi51cGRhdGVFbnZpcm9ubWVudERhdGEpO0JUKG4sInNlbmRWaWRlb1N0YXRzRW5nYWdlRXZlbnQiLG4uWXIpO0JUKG4sInNldFNhZmV0eU1vZGUiLG4uc2V0U2FmZXR5TW9kZSk7QlQobiwiaXNBdExpdmVIZWFkIixXPT5uLmlzQXRMaXZlSGVhZCh2b2lkIDAsVykpOwpCVChuLCJnZXRWaWRlb0FzcGVjdFJhdGlvIixuLmdldFZpZGVvQXNwZWN0UmF0aW8pO0JUKG4sImdldFByZWZlcnJlZFF1YWxpdHkiLG4uZ2V0UHJlZmVycmVkUXVhbGl0eSk7QlQobiwiZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwiLG4uZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwpO0JUKG4sInNldFBsYXliYWNrUXVhbGl0eVJhbmdlIixuLldpKTtCVChuLCJvbkFkVXhDbGlja2VkIixuLm9uQWRVeENsaWNrZWQpO0JUKG4sImdldEZlZWRiYWNrUHJvZHVjdERhdGEiLG4uZ2V0RmVlZGJhY2tQcm9kdWN0RGF0YSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lIixuLmdldFN0b3J5Ym9hcmRGcmFtZSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgiLG4uZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgpO0JUKG4sImdldFN0b3J5Ym9hcmRMZXZlbCIsbi5nZXRTdG9yeWJvYXJkTGV2ZWwpO0JUKG4sImdldE51bWJlck9mU3Rvcnlib2FyZExldmVscyIsbi5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMpOwpCVChuLCJnZXRDYXB0aW9uV2luZG93Q29udGFpbmVySWQiLG4uZ2V0Q2FwdGlvbldpbmRvd0NvbnRhaW5lcklkKTtCVChuLCJnZXRBdmFpbGFibGVRdWFsaXR5TGFiZWxzIixuLmdldEF2YWlsYWJsZVF1YWxpdHlMYWJlbHMpO0JUKG4sImFkZEN1ZVJhbmdlIixuLmFkZEN1ZVJhbmdlKTtCVChuLCJhZGRVdGNDdWVSYW5nZSIsbi5hZGRVdGNDdWVSYW5nZSk7QlQobiwic2hvd0FpcnBsYXlQaWNrZXIiLG4uc2hvd0FpcnBsYXlQaWNrZXIpO0JUKG4sImRpc3BhdGNoUmVkdXhBY3Rpb24iLG4uZGlzcGF0Y2hSZWR1eEFjdGlvbik7QlQobiwiZ2V0UGxheWVyUmVzcG9uc2UiLG4uUFgpO0JUKG4sImdldFdhdGNoTmV4dFJlc3BvbnNlIixuLnZYKTtCVChuLCJnZXRIZWFydGJlYXRSZXNwb25zZSIsbi5GRik7QlQobiwiZ2V0Q3VycmVudFRpbWUiLG4uZSQpO0JUKG4sImdldER1cmF0aW9uIixuLm1aKTtCVChuLCJnZXRQbGF5ZXJTdGF0ZSIsbi5nZXRQbGF5ZXJTdGF0ZSk7QlQobiwiZ2V0UGxheWVyU3RhdGVPYmplY3QiLApuLkN1KTtCVChuLCJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIixuLmdldFZpZGVvTG9hZGVkRnJhY3Rpb24pO0JUKG4sImdldFByb2dyZXNzU3RhdGUiLG4uZ2V0UHJvZ3Jlc3NTdGF0ZSk7QlQobiwiZ2V0Vm9sdW1lIixuLmdldFZvbHVtZSk7QlQobiwic2V0Vm9sdW1lIixuLmtGKTtCVChuLCJpc011dGVkIixuLmlzTXV0ZWQpO0JUKG4sIm11dGUiLG4uZ0cpO0JUKG4sInVuTXV0ZSIsbi5sbSk7QlQobiwibG9hZE1vZHVsZSIsbi5sb2FkTW9kdWxlKTtCVChuLCJ1bmxvYWRNb2R1bGUiLG4udW5sb2FkTW9kdWxlKTtCVChuLCJnZXRPcHRpb24iLG4uanUpO0JUKG4sImdldE9wdGlvbnMiLG4uZ2V0T3B0aW9ucyk7QlQobiwic2V0T3B0aW9uIixuLnNldE9wdGlvbik7QlQobiwibG9hZFZpZGVvQnlJZCIsbi5ydyk7QlQobiwibG9hZFZpZGVvQnlVcmwiLG4uSzApO0JUKG4sInBsYXlWaWRlbyIsbi5VRyk7QlQobiwic3RvcFZpZGVvIixuLkspO0JUKG4sImxvYWRQbGF5bGlzdCIsbi5sb2FkUGxheWxpc3QpOwpCVChuLCJuZXh0VmlkZW8iLG4ubmV4dFZpZGVvKTtCVChuLCJwcmV2aW91c1ZpZGVvIixuLnByZXZpb3VzVmlkZW8pO0JUKG4sInBsYXlWaWRlb0F0IixuLnBsYXlWaWRlb0F0KTtCVChuLCJnZXREZWJ1Z1RleHQiLG4uZ2V0RGVidWdUZXh0KTtCVChuLCJnZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnIixuLmdldFdlYlBsYXllckNvbnRleHRDb25maWcpO0JUKG4sImdldFZpZGVvQ29udGVudFJlY3QiLG4uZ2V0VmlkZW9Db250ZW50UmVjdCk7QlQobiwidG9nZ2xlU3VidGl0bGVzT24iLG4udG9nZ2xlU3VidGl0bGVzT24pO0JUKG4sImlzU3VidGl0bGVzT24iLG4uaXNTdWJ0aXRsZXNPbik7QlQobiwiZ2V0QXVkaW9UcmFjayIsbi5UQyk7QlQobiwic2V0QXVkaW9UcmFjayIsbi5zeik7QlQobiwiZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MiLG4uUyQpO0JUKG4sImlzT3JjaGVzdHJhdGlvbkxlYWRlciIsbi5pc09yY2hlc3RyYXRpb25MZWFkZXIpO0JUKG4sIm5vdGlmeVNob3J0c0FkU3dpcGVFdmVudCIsCm4ubm90aWZ5U2hvcnRzQWRTd2lwZUV2ZW50KTtCVChuLCJwcmVmZXRjaEtleVBsYXkiLG4ucHJlZmV0Y2hLZXlQbGF5KTtCVChuLCJwcmVmZXRjaEp1bXBBaGVhZCIsbi5wcmVmZXRjaEp1bXBBaGVhZCk7QlQobiwicHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQiLG4ucHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQpO0JUKG4sInNldEJsYWNrb3V0IixuLnNldEJsYWNrb3V0KTtCVChuLCJzZXRJbmxpbmVQcmV2aWV3IixuLnNldElubGluZVByZXZpZXcpO0JUKG4sInNldFNxdWVlemViYWNrIixuLnNldFNxdWVlemViYWNrKTtCVChuLCJyZXBvcnRQbGF5YmFja0lzc3VlIixuLnJlcG9ydFBsYXliYWNrSXNzdWUpO0JUKG4sInNldEF1dG9uYXYiLG4uc2V0QXV0b25hdik7QlQobiwiaXNOb3RTZXJ2YWJsZSIsbi5pc05vdFNlcnZhYmxlKTtCVChuLCJjaGFubmVsU3Vic2NyaWJlZCIsbi5jaGFubmVsU3Vic2NyaWJlZCk7QlQobiwiY2hhbm5lbFVuc3Vic2NyaWJlZCIsCm4uY2hhbm5lbFVuc3Vic2NyaWJlZCk7QlQobiwidG9nZ2xlUGljdHVyZUluUGljdHVyZSIsbi50b2dnbGVQaWN0dXJlSW5QaWN0dXJlKTtCVChuLCJzdXBwb3J0c0dhcGxlc3NBdWRpbyIsbi5zdXBwb3J0c0dhcGxlc3NBdWRpbyk7QlQobiwic3VwcG9ydHNHYXBsZXNzU2hvcnRzIixuLnN1cHBvcnRzR2FwbGVzc1Nob3J0cyk7QlQobiwiaXNHYXBsZXNzVHJhbnNpdGlvblJlYWR5IixuLmlzR2FwbGVzc1RyYW5zaXRpb25SZWFkeSk7QlQobiwic2V0U2hvcnRzQXV0b0FkdmFuY2VkRW5hYmxlZCIsbi5zZXRTaG9ydHNBdXRvQWR2YW5jZWRFbmFibGVkKTtCVChuLCJlbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMiLFc9PnZvaWQgbi5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMoVykpOwpCVChuLCJjbGVhclF1ZXVlIixuLmNsZWFyUXVldWUpO0JUKG4sImdldE1heFBsYXliYWNrUXVhbGl0eSIsbi5nZXRNYXhQbGF5YmFja1F1YWxpdHkpO0JUKG4sImdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlIixuLmdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlKTtCVChuLCJnZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3MiLG4uZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKTtCVChuLCJyZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi5yZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyk7QlQobiwic2V0TWluaW1pemVkIixuLnNldE1pbmltaXplZCk7QlQobiwic2V0T3ZlcmxheVZpc2liaWxpdHkiLG4uc2V0T3ZlcmxheVZpc2liaWxpdHkpO0JUKG4sImNvbmZpcm1ZcGNSZW50YWwiLG4uY29uZmlybVlwY1JlbnRhbCk7QlQobiwicXVldWVOZXh0VmlkZW8iLG4ucXVldWVOZXh0VmlkZW8pO0JUKG4sImhhbmRsZUV4dGVybmFsQ2FsbCIsbi5oYW5kbGVFeHRlcm5hbENhbGwpOwpCVChuLCJsb2dBcGlDYWxsIixuLmxvZ0FwaUNhbGwpO0JUKG4sImlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUiLG4uaXNFeHRlcm5hbE1ldGhvZEF2YWlsYWJsZSk7QlQobiwic2V0U2NyZWVuTGF5ZXIiLG4uc2V0U2NyZWVuTGF5ZXIpO0JUKG4sImdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlIixuLmdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlKTtCVChuLCJnZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSIsbi5nZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSk7QlQobiwic2hvdWxkU2VuZFZpc2liaWxpdHlTdGF0ZSIsbi5zaG91bGRTZW5kVmlzaWJpbGl0eVN0YXRlKTtCVChuLCJzeW5jVm9sdW1lIixuLnN5bmNWb2x1bWUpO0JUKG4sImhpZ2hsaWdodFNldHRpbmdzTWVudUl0ZW0iLG4uaGlnaGxpZ2h0U2V0dGluZ3NNZW51SXRlbSk7QlQobiwib3BlblNldHRpbmdzTWVudUl0ZW0iLG4ub3BlblNldHRpbmdzTWVudUl0ZW0pO0JUKG4sImdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UiLApuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UpO0JUKG4sImdldFZpc2liaWxpdHlTdGF0ZSIsbi5nZXRWaXNpYmlsaXR5U3RhdGUpO0JUKG4sImlzTXV0ZWRCeU11dGVkQXV0b3BsYXkiLG4uaXNNdXRlZEJ5TXV0ZWRBdXRvcGxheSk7QlQobiwiaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheSIsbi5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5KTtCVChuLCJzZXRHbG9iYWxDcm9wIixuLnNldEdsb2JhbENyb3ApO0JUKG4sInNldEludGVybmFsU2l6ZSIsbi5zZXRJbnRlcm5hbFNpemUpO0JUKG4sInNldEZhdXhGdWxsc2NyZWVuIixuLnNldEZhdXhGdWxsc2NyZWVuKTtCVChuLCJzZXRBcHBGdWxsc2NyZWVuIixuLnNldEFwcEZ1bGxzY3JlZW4pO0JUKG4sImlzS2V5Ym9hcmREaXNhYmxlZCIsbi5pc0tleWJvYXJkRGlzYWJsZWQpO0JUKG4sImdldEN1cnJlbnRUaW1lRm9yVXgiLG4uZ2V0Q3VycmVudFRpbWVGb3JVeCk7QlQobiwiZ2V0RHVyYXRpb25Gb3JVeCIsbi5nZXREdXJhdGlvbkZvclV4KX07Cmd2PWZ1bmN0aW9uKG4pe24uZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKT09PTM/bi5XSigibWR4YXV0b3BsYXljYW5jZWwiKTpnLlJUKG4sIm9uQXV0b25hdkNhbmNlbGxlZCIsITApfTsKWHo9ZnVuY3Rpb24obil7bj1uLko1KCkuTmkuZ2V0KCJlbmRzY3JlZW4iKTtyZXR1cm4hIW4mJlh6KG4pfTsKcXA9ZnVuY3Rpb24obil7bj1uLko1KCk7dmFyIFc9bi5OaS5nZXQoImVuZHNjcmVlbiIpO3JldHVybiBXJiZXLlhjKCk/ITA6bi5JVigpfTsKdGY9ZnVuY3Rpb24obil7dmFyIFc9R3Uobi5KNSgpKTtyZXR1cm4gbi5hcHAuWlYmJiFuLmlzRnVsbHNjcmVlbigpfHxuLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0zJiZXJiZXLmhhc05leHQoKSYmVy5oYXNQcmV2aW91cygpfHwhIW4uZ2V0UGxheWxpc3QoKX07CmcuZno9ZnVuY3Rpb24obil7cmV0dXJuKG49Zy4kRihuLko1KCkpKT9uLkhwKCk6e319OwpnLnJ2PWZ1bmN0aW9uKG4sVyxEKXtuPW4ubGooKS5lbGVtZW50O3ZhciBiPURlKG4uY2hpbGRyZW4sdj0+e3Y9TnVtYmVyKHYuZ2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIikpO3JldHVybiBELXZ8fDF9KTsKYjwwJiYoYj0tKGIrMSkpO2cuanAobixXLGIpO1cuc2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIixTdHJpbmcoRCkpfTsKdnRDPWZ1bmN0aW9uKG4sVyl7bj1zRihuLmFwcC5Wci5YKTtmb3IobGV0IEQgb2Ygbil7bj1ELmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7bGV0IGI9bnVsbDtmb3IobGV0IHYgb2YgbilpZih2LmdldExhbmd1YWdlSW5mbygpLmdldElkKCk9PT1XKXtiPXY7YnJlYWt9YiYmRC5MeShiLCEwKX19OwpnLnAyPWZ1bmN0aW9uKCl7TnB8fChOcD1uZXcga0t4KTtyZXR1cm4gTnB9OwpnLllGPWZ1bmN0aW9uKG4sVyl7Vz9uLlpKLkF1dGhvcml6YXRpb249YEJlYXJlciAke1d9YDpkZWxldGUgbi5aSi5BdXRob3JpemF0aW9ufTsKaHh3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9KC4uLmIpPT57bi5yZW1vdmVFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKTtXKC4uLmIpfTsKbi5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKX07CmcuSDc9ZnVuY3Rpb24obil7dmFyIFc9TWF0aC5hYnMoTWF0aC5mbG9vcihuKSksRD1NYXRoLmZsb29yKFcvODY0MDApLGI9TWF0aC5mbG9vcihXJTg2NDAwLzM2MDApLHY9TWF0aC5mbG9vcihXJTM2MDAvNjApO1c9TWF0aC5mbG9vcihXJTYwKTt2YXIgaz0iIjtEPjAmJihrKz1gJHtEfTpgLGI8MTAmJihrKz0iMCIpKTtpZihEPjB8fGI+MClrKz1gJHtifTpgLHY8MTAmJihrKz0iMCIpO2srPWAke3Z9OmA7VzwxMCYmKGsrPSIwIik7RD1rK1c7cmV0dXJuIG4+PTA/RDpgLSR7RH1gfTsKZjI9ZnVuY3Rpb24obil7cmV0dXJuKCEoImJ1dHRvbiJpbiBuKXx8dHlwZW9mIG4uYnV0dG9uIT09Im51bWJlciJ8fG4uYnV0dG9uPT09MCkmJiEoInNoaWZ0S2V5ImluIG4mJm4uc2hpZnRLZXkpJiYhKCJhbHRLZXkiaW4gbiYmbi5hbHRLZXkpJiYhKCJtZXRhS2V5ImluIG4mJm4ubWV0YUtleSkmJiEoImN0cmxLZXkiaW4gbiYmbi5jdHJsS2V5KX07CkpmPWZ1bmN0aW9uKG4sVyxELGIpe2lmKGIuc3Vic3RyaW5nKDAsMik9PT0ie3siKW4uWVpbYl09W1csRF07ZWxzZSByZXR1cm4gYn07Ckl5PWZ1bmN0aW9uKG4sVyxELGIpe2lmKEQ9PT0iY2hpbGQiKXtnLlRGKFcpO2xldCBrO2I9PT12b2lkIDA/az12b2lkIDA6az0hQXJyYXkuaXNBcnJheShiKXx8YiYmdHlwZW9mIGIuWj09PSJzdHJpbmciP1tiXTpiO0Q9eHcyKG4sayk7Zm9yKHZhciB2IG9mIEQpVy5hcHBlbmRDaGlsZCh2KX1lbHNlIEQ9PT0ic3R5bGUiP2cuaDEoVywiY3NzVGV4dCIsYj9iOiIiKTpiPT09bnVsbHx8Yj09PXZvaWQgMD9XLnJlbW92ZUF0dHJpYnV0ZShEKToodj1iLnRvU3RyaW5nKCksRD09PSJocmVmIiYmKHY9Z3ooZy50Rih2LGcuRzQpfHxnLlY1KSksVy5zZXRBdHRyaWJ1dGUoRCx2KSl9Owp4dzI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVylyZXR1cm4gRDtmb3IobGV0IGIgb2YgVyl7aWYoYj09bnVsbCljb250aW51ZTtXPWIubm9kZVR5cGU7Vz09PTF8fFc9PT0zP0QucHVzaChiKTpiJiZ0eXBlb2YgYi5aPT09InN0cmluZyI/RC5wdXNoKG4uY3JlYXRlRWxlbWVudChiKSk6Yi5lbGVtZW50P0QucHVzaChiLmVsZW1lbnQpOnR5cGVvZiBiPT09InN0cmluZyImJmIuaW5kZXhPZigiXG4iKSE9PS0xP2Iuc3BsaXQoIlxuIikuZm9yRWFjaCgodixrKT0+e2s+MCYmRC5wdXNoKGcuekYoIkJSIikpO0QucHVzaChnLmxrKHYpKX0pOkQucHVzaChnLmxrKGIpKX1yZXR1cm4gRH07ClNCPWZ1bmN0aW9uKG4sVyl7bj1uLmVsZW1lbnQuZWxlbWVudDtXP24uc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTpuLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKX07CkFmPWZ1bmN0aW9uKG4pe3JldHVybiBuLkomJm4uZmFkZS5zdGF0ZSE9PTR9OwptUD1mdW5jdGlvbihuKXtuLnNvdXJjZUVsZW1lbnQmJihkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZnLkJ4KG4uZWxlbWVudCxkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmbi5zb3VyY2VFbGVtZW50LmZvY3VzKCksbi5zb3VyY2VFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIiksbi5zb3VyY2VFbGVtZW50PXZvaWQgMCk7bi5OLkooKTtuLlc9dm9pZCAwfTsKZy5LMj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZlcnNpb246IjEuMSIsdmlld0JveDoiMCAwIDMyIDMyIix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik0gMTkuNDEsMjAuMDkgMTQuODMsMTUuNSAxOS40MSwxMC45MSAxOCw5LjUgbCAtNiw2IDYsNiB6IixmaWxsOiIjZmZmIn19XX19OwpnLk9GPWZ1bmN0aW9uKCl7cmV0dXJue1o6InN2ZyIseGE6e2hlaWdodDoiMTAwJSIsdmVyc2lvbjoiMS4xIix2aWV3Qm94OiIwIDAgMzIgMzIiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoibSAxMi41OSwyMC4zNCA0LjU4LC00LjU5IC00LjU4LC00LjU5IDEuNDEsLTEuNDEgNiw2IC02LDYgeiIsZmlsbDoiI2ZmZiJ9fV19fTsKZy5QNz1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjEwMCUifSxYRjpbe1o6InBhdGgiLHhhOntkOiJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIsZmlsbDoiI2ZmZiJ9fV19fTsKWiQ9ZnVuY3Rpb24oKXtyZXR1cm57Wjoic3ZnIix4YTp7aGVpZ2h0OiIxMDAlIix2ZXJzaW9uOiIxLjEiLHZpZXdCb3g6IjAgMCAxMTAgMjYiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIixLeTohMCxKdzoieXRwLXN2Zy1maWxsIix4YTp7ZDoiTSAxNi42OCwuOTkgQyAxMy41NSwxLjAzIDcuMDIsMS4xNiA0Ljk5LDEuNjggYyAtMS40OSwuNCAtMi41OSwxLjYgLTIuOTksMyAtMC42OSwyLjcgLTAuNjgsOC4zMSAtMC42OCw4LjMxIDAsMCAtMC4wMSw1LjYxIC42OCw4LjMxIC4zOSwxLjUgMS41OSwyLjYgMi45OSwzIDIuNjksLjcgMTMuNDAsLjY4IDEzLjQwLC42OCAwLDAgMTAuNzAsLjAxIDEzLjQwLC0wLjY4IDEuNSwtMC40IDIuNTksLTEuNiAyLjk5LC0zIC42OSwtMi43IC42OCwtOC4zMSAuNjgsLTguMzEgMCwwIC4xMSwtNS42MSAtMC42OCwtOC4zMSAtMC40LC0xLjUgLTEuNTksLTIuNiAtMi45OSwtMyBDIDI5LjExLC45OCAxOC40MCwuOTkgMTguNDAsLjk5IGMgMCwwIC0wLjY3LC0wLjAxIC0xLjcxLDAgeiBtIDcyLjIxLC45MCAwLDIxLjI4IDIuNzgsMCAuMzEsLTEuMzcgLjA5LDAgYyAuMywuNSAuNzEsLjg4IDEuMjEsMS4xOCAuNSwuMyAxLjA4LC40MCAxLjY4LC40MCAxLjEsMCAxLjk5LC0wLjQ5IDIuNDksLTEuNTkgLjUsLTEuMSAuODEsLTIuNzAgLjgxLC00LjkwIGwgMCwtMi40MCBjIDAsLTEuNiAtMC4xMSwtMi45MCAtMC4zMSwtMy45MCAtMC4yLC0wLjg5IC0wLjUsLTEuNTkgLTEsLTIuMDkgLTAuNSwtMC40IC0xLjEwLC0wLjU5IC0xLjkwLC0wLjU5IC0wLjU5LDAgLTEuMTgsLjE5IC0xLjY4LC40OSAtMC40OSwuMyAtMS4wMSwuODAgLTEuMjEsMS40MCBsIDAsLTcuOTAgLTMuMjgsMCB6IG0gLTQ5Ljk5LC43OCAzLjkwLDEzLjkwIC4xOCw2LjcxIDMuMzEsMCAwLC02LjcxIDMuODcsLTEzLjkwIC0zLjM3LDAgLTEuNDAsNi4zMSBjIC0wLjQsMS44OSAtMC43MSwzLjE5IC0wLjgxLDMuOTkgbCAtMC4wOSwwIGMgLTAuMiwtMS4xIC0wLjUxLC0yLjQgLTAuODEsLTMuOTkgbCAtMS4zNywtNi4zMSAtMy40MCwwIHogbSAyOS41OSwwIDAsMi43MSAzLjQwLDAgMCwxNy45MCAzLjI4LDAgMCwtMTcuOTAgMy40MCwwIGMgMCwwIC4wMCwtMi43MSAtMC4wOSwtMi43MSBsIC05Ljk5LDAgeiBtIC01My40OSw1LjEyIDguOTAsNS4xOCAtOC45MCw1LjA5IDAsLTEwLjI4IHogbSA4OS40MCwuMDkgYyAtMS43LDAgLTIuODksLjU5IC0zLjU5LDEuNTkgLTAuNjksLjk5IC0wLjk5LDIuNjAgLTAuOTksNC45MCBsIDAsMi41OSBjIDAsMi4yIC4zMCwzLjkwIC45OSw0LjkwIC43LDEuMSAxLjgsMS41OSAzLjUsMS41OSAxLjQsMCAyLjM4LC0wLjMgMy4xOCwtMSAuNywtMC43IDEuMDksLTEuNjkgMS4wOSwtMy4wOSBsIDAsLTAuNSAtMi45MCwtMC4yMSBjIDAsMSAtMC4wOCwxLjYgLTAuMjgsMiAtMC4xLC40IC0wLjUsLjYyIC0xLC42MiAtMC4zLDAgLTAuNjEsLTAuMTEgLTAuODEsLTAuMzEgLTAuMiwtMC4zIC0wLjMwLC0wLjU5IC0wLjQwLC0xLjA5IC0wLjEsLTAuNSAtMC4wOSwtMS4yMSAtMC4wOSwtMi4yMSBsIDAsLTAuNzggNS43MSwtMC4wOSAwLC0yLjYyIGMgMCwtMS42IC0wLjEwLC0yLjc4IC0wLjQwLC0zLjY4IC0wLjIsLTAuODkgLTAuNzEsLTEuNTkgLTEuMzEsLTEuOTkgLTAuNywtMC40IC0xLjQ4LC0wLjU5IC0yLjY4LC0wLjU5IHogbSAtNTAuNDksLjA5IGMgLTEuMDksMCAtMi4wMSwuMTggLTIuNzEsLjY4IC0wLjcsLjQgLTEuMiwxLjEyIC0xLjQ5LDIuMTIgLTAuMywxIC0wLjUsMi4yNyAtMC41LDMuODcgbCAwLDIuMjEgYyAwLDEuNSAuMTAsMi43OCAuNDAsMy43OCAuMiwuOSAuNzAsMS42MiAxLjQwLDIuMTIgLjY5LC41IDEuNzEsLjY4IDIuODEsLjc4IDEuMTksMCAyLjA4LC0wLjI4IDIuNzgsLTAuNjggLjY5LC0wLjQgMS4wOSwtMS4wOSAxLjQ5LC0yLjA5IC4zOSwtMSAuNDksLTIuMzAgLjQ5LC0zLjkwIGwgMCwtMi4yMSBjIDAsLTEuNiAtMC4yLC0yLjg3IC0wLjQ5LC0zLjg3IC0wLjMsLTAuODkgLTAuOCwtMS42MiAtMS40OSwtMi4xMiAtMC43LC0wLjUgLTEuNTgsLTAuNjggLTIuNjgsLTAuNjggeiBtIDEyLjE4LC4wOSAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjE4LC0wLjcwIC0wLjE4LC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjE4LDIuMzkgLjY4LDMuMDkgLjQ5LC43IDEuMjEsMSAyLjIxLDEgMS40LDAgMi40OCwtMC42OSAzLjE4LC0yLjA5IGwgLjA5LDAgLjMxLDEuNzggMi41OSwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMTcuMzEsMCAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjIxLC0wLjcwIC0wLjIxLC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjIxLDIuMzkgLjcxLDMuMDkgLjUsLjcgMS4xOCwxIDIuMTgsMSAxLjM5LDAgMi41MSwtMC42OSAzLjIxLC0yLjA5IGwgLjA5LDAgLjI4LDEuNzggMi42MiwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMjAuOTAsMi4wOSBjIC40LDAgLjU4LC4xMSAuNzgsLjMxIC4yLC4zIC4zMCwuNTkgLjQwLDEuMDkgLjEsLjUgLjA5LDEuMjEgLjA5LDIuMjEgbCAwLDEuMDkgLTIuNSwwIDAsLTEuMDkgYyAwLC0xIC0wLjAwLC0xLjcxIC4wOSwtMi4yMSAwLC0wLjQgLjExLC0wLjggLjMxLC0xIC4yLC0wLjMgLjUxLC0wLjQwIC44MSwtMC40MCB6IG0gLTUwLjQ5LC4xMiBjIC41LDAgLjgsLjE4IDEsLjY4IC4xOSwuNSAuMjgsMS4zMCAuMjgsMi40MCBsIDAsNC42OCBjIDAsMS4xIC0wLjA4LDEuOTAgLTAuMjgsMi40MCAtMC4yLC41IC0wLjUsLjY4IC0xLC42OCAtMC41LDAgLTAuNzksLTAuMTggLTAuOTksLTAuNjggLTAuMiwtMC41IC0wLjMxLC0xLjMwIC0wLjMxLC0yLjQwIGwgMCwtNC42OCBjIDAsLTEuMSAuMTEsLTEuOTAgLjMxLC0yLjQwIC4yLC0wLjUgLjQ5LC0wLjY4IC45OSwtMC42OCB6IG0gMzkuNjgsLjA5IGMgLjMsMCAuNjEsLjEwIC44MSwuNDAgLjIsLjMgLjI3LC42NyAuMzcsMS4zNyAuMSwuNiAuMTIsMS41MSAuMTIsMi43MSBsIC4wOSwxLjkwIGMgMCwxLjEgLjAwLDEuOTkgLTAuMDksMi41OSAtMC4xLC42IC0wLjE5LDEuMDggLTAuNDksMS4yOCAtMC4yLC4zIC0wLjUwLC40MCAtMC45MCwuNDAgLTAuMywwIC0wLjUxLC0wLjA4IC0wLjgxLC0wLjE4IC0wLjIsLTAuMSAtMC4zOSwtMC4yOSAtMC41OSwtMC41OSBsIDAsLTguNSBjIC4xLC0wLjQgLjI5LC0wLjcgLjU5LC0xIC4zLC0wLjMgLjYwLC0wLjQwIC45MCwtMC40MCB6In19XX19OwpVRj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntmaWxsOiJub25lIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAxNDMgNTEiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoiTTU4LjM3IDQxLjM5SDYyLjc5VjI3LjIzQzYyLjc5IDIzLjAzIDYyLjY5IDE4LjY5IDYyLjQzIDEzLjU5SDYyLjkzTDYzLjY5IDE2Ljg5TDY4LjY3IDQxLjM5SDczLjE3TDc4LjA3IDE2Ljg5TDc4Ljg5IDEzLjU5SDc5LjM3Qzc5LjE1IDE4LjQ1IDc5LjAzIDIyLjg5IDc5LjAzIDI3LjIzVjQxLjM5SDgzLjQ1VjguNzlINzUuOTVMNzMuNDEgMjAuODFDNzIuMzUgMjUuODUgNzEuNTEgMzIuMDEgNzEuMDEgMzUuMTlINzAuNzNDNzAuMzMgMzEuOTUgNjkuNDkgMjUuODEgNjguNDEgMjAuODVMNjUuODEgOC43OUg1OC4zN1Y0MS4zOVoiLGZpbGw6IndoaXRlIn19LHtaOiJwYXRoIix4YTp7ZDoiTTkxLjQ1IDQxLjczQzkzLjkxIDQxLjczIDk1LjgzIDQwLjU5IDk3LjE3IDM4LjEzSDk3LjM1TDk3LjY5IDQxLjM5SDEwMS40M1YxNy43M0g5Ni40N1YzNi42MUM5NS45MSAzNy42NyA5NC44MSAzOC4yOSA5My43MyAzOC4yOUM5Mi4zMyAzOC4yOSA5MS44OSAzNy4xNyA5MS44OSAzNS4xM1YxNy43M0g4Ni45M1YzNS40M0M4Ni45MyAzOS40OSA4OC4xOSA0MS43MyA5MS40NSA0MS43M1oiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMTAuNzkgNDEuODlDMTE1LjE1IDQxLjg5IDExNy43NSAzOS44MyAxMTcuNzUgMzUuNjVDMTE3Ljc1IDMxLjc5IDExNS45MyAzMC4zOSAxMTEuODUgMjcuNDdDMTA5LjY3IDI1LjkxIDEwOC4zOSAyNS4wOSAxMDguMzkgMjIuOTVDMTA4LjM5IDIxLjQ3IDEwOS4yNyAyMC42MSAxMTAuODkgMjAuNjFDMTEyLjY5IDIwLjYxIDExMy4zMyAyMS44MSAxMTMuMzMgMjUuMjlMMTE3LjQ1IDI1LjA3QzExNy43NyAxOS41NyAxMTUuNzEgMTcuMjMgMTEwLjk3IDE3LjIzQzEwNi41NyAxNy4yMyAxMDQuMTcgMTkuMjcgMTA0LjE3IDIzLjQ1QzEwNC4xNyAyNy4yNSAxMDUuOTcgMjguODMgMTA4LjkzIDMxLjAzQzExMS44OSAzMy4yMyAxMTMuNTUgMzQuNTMgMTEzLjU1IDM2LjIzQzExMy41NSAzNy43NSAxMTIuNTEgMzguNjEgMTExLjAxIDM4LjYxQzEwOS4xMyAzOC42MSAxMDguMTEgMzYuOTcgMTA4LjI5IDM0LjQxTDEwNC4yMSAzNC40OUMxMDMuNTEgMzkuMjUgMTA1Ljg5IDQxLjg5IDExMC43OSA0MS44OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMjIuNSAxNC41OUMxMjQuMjIgMTQuNTkgMTI1LjA0IDEzLjk5IDEyNS4wNCAxMS41OUMxMjUuMDQgOS4zMyAxMjQuMTYgOC42NSAxMjIuNSA4LjY1QzEyMC44NCA4LjY1IDExOS45NCA5LjI3IDExOS45NCAxMS41OUMxMTkuOTQgMTMuOTkgMTIwLjgyIDE0LjU5IDEyMi41IDE0LjU5Wk0xMjAuMiA0MS4zOUgxMjVWMTcuNzNIMTIwLjJWNDEuMzlaIixmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMzQuOTUgNDEuNzlDMTM3LjMxIDQxLjc5IDEzOC42MyA0MS40OSAxMzkuNzEgNDAuNDdDMTQxLjMxIDM5LjAxIDE0MS45NyAzNi42MyAxNDEuODUgMzMuMTFMMTM3LjQxIDMyLjg3QzEzNy40MSAzNi44NyAxMzYuODEgMzguNDUgMTM1LjAzIDM4LjQ1QzEzMy4xMyAzOC40NSAxMzIuNzcgMzYuNDUgMTMyLjc3IDMxLjk3VjI3LjIxQzEzMi43NyAyMi40MSAxMzMuMjMgMjAuNTEgMTM1LjA3IDIwLjUxQzEzNi42NyAyMC41MSAxMzcuMjkgMjIuMDEgMTM3LjI5IDI2LjQ3TDE0MS42NSAyNi4xNUMxNDEuOTcgMjIuOTMgMTQxLjU5IDIwLjI5IDE0MC4wOSAxOC44M0MxMzkuMDEgMTcuNzcgMTM3LjM3IDE3LjI5IDEzNS4xNSAxNy4yOUMxMjkuNjUgMTcuMjkgMTI3Ljc1IDIwLjczIDEyNy43NSAyOC4wM1YzMS4xN0MxMjcuNzUgMzguNDcgMTI5LjIzIDQxLjc5IDEzNC45NSA0MS43OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6eyJjbGlwLXJ1bGUiOiJldmVub2RkIixkOiJNMjQuOTkgNDlDMjkuNzQgNDkuMDAgMzQuMzggNDcuNTkgMzguMzIgNDQuOTVDNDIuMjcgNDIuMzIgNDUuMzUgMzguNTcgNDcuMTcgMzQuMThDNDguOTggMjkuODAgNDkuNDYgMjQuOTcgNDguNTMgMjAuMzJDNDcuNjEgMTUuNjYgNDUuMzIgMTEuMzggNDEuOTcgOC4wM0MzOC42MSA0LjY3IDM0LjMzIDIuMzggMjkuNjggMS40NkMyNS4wMiAuNTMgMjAuMjAgMS4wMSAxNS44MSAyLjgyQzExLjQzIDQuNjQgNy42OCA3LjcxIDUuMDQgMTEuNjZDMi40MCAxNS42MSAxIDIwLjI1IDEgMjVDMC45OSAyOC4xNSAxLjYxIDMxLjI3IDIuODIgMzQuMThDNC4wMyAzNy4wOSA1Ljc5IDM5Ljc0IDguMDIgNDEuOTdDMTAuMjUgNDQuMTkgMTIuODkgNDUuOTYgMTUuODEgNDcuMTdDMTguNzIgNDguMzcgMjEuODQgNDkgMjQuOTkgNDlaTTI0Ljk5IDEyLjM2QzI3LjQ5IDEyLjM2IDI5Ljk0IDEzLjEwIDMyLjAyIDE0LjQ4QzM0LjEwIDE1Ljg3IDM1LjcyIDE3Ljg0IDM2LjY4IDIwLjE1QzM3LjY0IDIyLjQ2IDM3Ljg5IDI1LjAxIDM3LjQxIDI3LjQ2QzM2LjkyIDI5LjkxIDM1LjcyIDMyLjE3IDMzLjk1IDMzLjk0QzMyLjE4IDM1LjcwIDI5LjkzIDM2LjkxIDI3LjQ4IDM3LjQwQzI1LjAyIDM3Ljg5IDIyLjQ4IDM3LjY0IDIwLjE3IDM2LjY4QzE3Ljg2IDM1LjcyIDE1Ljg4IDM0LjEwIDE0LjUwIDMyLjAyQzEzLjExIDI5Ljk0IDEyLjM3IDI3LjUwIDEyLjM3IDI1QzEyLjM3IDIxLjY1IDEzLjcwIDE4LjQ0IDE2LjA3IDE2LjA3QzE4LjQzIDEzLjcwIDIxLjY0IDEyLjM3IDI0Ljk5IDEyLjM2Wk0yNC45OSAxMC40M0MyMi4xMSAxMC40MyAxOS4yOSAxMS4yOCAxNi44OSAxMi44OEMxNC41MCAxNC40OCAxMi42MyAxNi43NiAxMS41MyAxOS40MkMxMC40MiAyMi4wOSAxMC4xMyAyNS4wMiAxMC43MCAyNy44NUMxMS4yNiAzMC42NyAxMi42NSAzMy4yNyAxNC42OSAzNS4zMUMxNi43MyAzNy4zNSAxOS4zMiAzOC43MyAyMi4xNSAzOS4zMEMyNC45OCAzOS44NiAyNy45MSAzOS41NyAzMC41NyAzOC40NkMzMy4yMyAzNy4zNiAzNS41MSAzNS40OSAzNy4xMSAzMy4wOUMzOC43MSAzMC43MCAzOS41NyAyNy44OCAzOS41NiAyNUMzOS41NiAyMy4wOCAzOS4xOSAyMS4xOSAzOC40NiAxOS40MkMzNy43MiAxNy42NSAzNi42NSAxNi4wNCAzNS4zMCAxNC42OUMzMy45NCAxMy4zNCAzMi4zNCAxMi4yNyAzMC41NyAxMS41M0MyOC44MCAxMC44MCAyNi45MCAxMC40MyAyNC45OSAxMC40M1pNMzIuNjMgMjQuOTlMMjAuMzYgMzIuMDlWMTcuOTFMMzIuNjMgMjQuOTlaIiwKZmlsbDoid2hpdGUiLCJmaWxsLXJ1bGUiOiJldmVub2RkIn19XX19Owp5RT1mdW5jdGlvbihuPXt9LFc9W10pe1cucHVzaCgieXRwLW1lbnVpdGVtIik7InJvbGUiaW4gbnx8KG4ucm9sZT0ibWVudWl0ZW0iKTsidGFiaW5kZXgiaW4gbnx8KG4udGFiaW5kZXg9IjAiKTtyZXR1cm57WjoiZGl2IixLQjpXLHhhOm4sWEY6W3taOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0taWNvbiIsT3E6Int7aWNvbn19In0se1o6ImRpdiIsSnc6Inl0cC1tZW51aXRlbS1sYWJlbCIsT3E6Int7bGFiZWx9fSJ9LHtaOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0tY29udGVudCIsT3E6Int7Y29udGVudH19In1dfX07CkVGPWZ1bmN0aW9uKG4pe3JldHVybiBuP2cuRHAobik6IiJ9OwppNT1mdW5jdGlvbihuKXtyZXR1cm4gbj09PS0weDgwMDAwMDAwMDAwMDA/IkJFRk9SRV9NRURJQV9TVEFSVCI6bj09PTA/Ik1FRElBX1NUQVJUIjpuPT09MHg3ZmZmZmZmZmZmZmZmPyJNRURJQV9FTkQiOm49PT0weDgwMDAwMDAwMDAwMDA/IkFGVEVSX01FRElBX0VORCI6bi50b1N0cmluZygpfTsKZy51NT1mdW5jdGlvbihuLFcpe3JldHVybiBuLnN0YXJ0LVcuc3RhcnR8fG4ucHJpb3JpdHktVy5wcmlvcml0eXx8bi5KLVcuSn07Cmcub3k9ZnVuY3Rpb24obil7cmV0dXJuYGNybl8ke259YH07CmcuZHY9ZnVuY3Rpb24obil7cmV0dXJuYGNyeF8ke259YH07Cnp1PWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5zdGFydCxbMl06bi5lbmQsWzNdOm4uaWQsWzRdOm4ucHJpb3JpdHksWzVdOm4ubmFtZXNwYWNlLFs2XTpuLnZpc2libGUsWzddOm4uc3R5bGUsWzhdOm4udG9vbHRpcCxbOV06bi5jb2xvcixbMTBdOm4uaWNvbnMsWzExXTpuLmFzc29jaWF0ZWRDbGlwSWQsWzEyXTpuLm1hcmtlclBvc2l0aW9uTXN9fTsKVHU9ZnVuY3Rpb24obixXLEQsYil7VyBpbiBuLk58fChEPW5ldyBnLmw1KEQsYix7aWQ6Vyxwcmlvcml0eToyLG5hbWVzcGFjZToiYXBwYWQifSksbi5hcGkuZ2goW0RdLDEpLG4uTltXXT1EKX07CmpCPWZ1bmN0aW9uKG4sVyl7TGF4KG4sVykudGhlbihEPT57Zy5nbyhXLHZvaWQgMCx2b2lkIDAsRCl9KX07CkMyPWZ1bmN0aW9uKG4sVyl7Vy5mb3JFYWNoKEQ9PntqQihuLEQpfSl9OwpCNz1mdW5jdGlvbihuLFcsRCl7aWYoIShEIGluIFcpKXJldHVybiExO1c9V1tEXTtBcnJheS5pc0FycmF5KFcpfHwoVz1bV10pO2ZvcihsZXQgYiBvZiBXKVc9e0NQTjpuLmFwaS5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlfSxXPWcuR0soYixXKSxnLmdvKFcsdm9pZCAwLG9PKHpFKFcsZXh4LG51bGwpLFcsITEsIkFjdGl2ZSBWaWV3IDNyZCBQYXJ0eSBJbnRlZ3JhdGlvbiBVUkwiKXx8b08oekUoVyxndGosbnVsbCksVywhMSwiR29vZ2xlL1lvdVR1YmUgQnJhbmQgTGlmdCBVUkwiKXx8b08oekUoVyxYSzIsbnVsbCksVywhMSwiTmllbHNlbiBPQ1IgVVJMIikpO3JldHVybiEwfTsKTGF4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5hcGkuRygpKSYmZy5CVihXKSYmZy5qSChXKT9nLkhFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKS5WKCkpLnRoZW4oRD0+e3ZhciBiO0QmJihiPXtBdXRob3JpemF0aW9uOmBCZWFyZXIgJHtEfWB9KTtyZXR1cm4gYn0sdm9pZCAwKTpnLkgwKCl9OwpGej1mdW5jdGlvbihuLFcpe24uY2hlY2tlZD1XO24uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsU3RyaW5nKG4uY2hlY2tlZCkpfTsKd3Y9ZnVuY3Rpb24obixXKXtuLmVuYWJsZWQ9VztuLmVuYWJsZWQ/bi5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIpOm4uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIil9OwpNcD1mdW5jdGlvbihuLFcsRD0hMSxiKXt2YXIgdj1uLmN1cnJlbnRUYXJnZXQ7aWYoIUQmJmYyKG4pKXJldHVybiBuLnByZXZlbnREZWZhdWx0KCksITA7Vy5wYXVzZVZpZGVvKCk7bj12LmdldEF0dHJpYnV0ZSgiaHJlZiIpO1E1KG4sYik7cmV0dXJuITF9OwpSeT1mdW5jdGlvbihuLFcsRCl7aWYodkUoVy5HKCkpJiZXLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCkhPT0yKWYyKEQpJiYoVy5pc0Z1bGxzY3JlZW4oKSYmIVcuRygpLmV4dGVybmFsRnVsbHNjcmVlbiYmVy50b2dnbGVGdWxsc2NyZWVuKCksRC5wcmV2ZW50RGVmYXVsdCgpKTtlbHNle2xldCBiPWYyKEQpO2ImJlcucGF1c2VWaWRlbygpO1E1KG4pO2ImJihnLmNhKG4pLEQucHJldmVudERlZmF1bHQoKSl9fTsKUUU9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/LmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giJiYhbi5WKCl9OwpWRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5hdWRpbz8uVz09PSEwfTsKYzc9ZnVuY3Rpb24obil7cmV0dXJuIG4uVigpfTsKYXk9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/Lk49PT0hMH07Cm52PWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg8MilyZXR1cm4hMTt2YXIgRD1XKG5bMF0pO3JldHVybiBuLnNvbWUoYj0+VyhiKSE9PUQpfTsKYlk9ZnVuY3Rpb24obixXKXtuPXFJdyhuLFcubGFuZ3VhZ2VJZCk7bj1XdShuLCEhVy5nTyk7cmV0dXJuIG49RGIobiwhIVcuajkpfTsKV3U9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+YXkoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+VkUoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKR0t0PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcuaWQhPT0idW5kIj9nLkVNKG4sRD0+e3ZhciBiPVcuZ2V0TGFuZ3VhZ2VJbmZvKCk/Lm5hbWU7cmV0dXJuIEQua1o/Lm5hbWU9PT1ifSk6bn07CnFJdz1mdW5jdGlvbihuLFcpe2lmKFcmJlchPT0idW5kIilpZih0eXBlb2YgVz09PSJzdHJpbmciKXt2YXIgRD1nLmxfKG4sdj0+di5pZD09PVcpOwppZihEPy5rWil2YXIgYj1ELmtaLmlkfWVsc2UgYj1XLmtaPy5pZDtpZihiJiYoRD1nLkVNKG4sdj0+di5rWj8uaWQ9PT1iKSxELmxlbmd0aD4wKSlyZXR1cm4gRDsKRD1nLkVNKG4sdj0+ISF2LmtaPy5pc0RlZmF1bHQpOwpyZXR1cm4gRC5sZW5ndGg+MD9EOm59Owp0QUM9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PmM3KEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59Owokd2o9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PlFFKEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59OwpyYVU9ZnVuY3Rpb24obixXKXtuPW5ldyBTZXQobi5tYXAoVykpO24uZGVsZXRlKHZvaWQgMCk7cmV0dXJuIG4uc2l6ZT49Mn07CnNGTT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnByaW9yaXR5LW4ucHJpb3JpdHl9Owp2dT1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRCluLml0ZW1zLnB1c2goVyksbi5tZW51SXRlbXMuZWxlbWVudC5hcHBlbmRDaGlsZChXLmVsZW1lbnQpO2Vsc2V7RD1nLlc0KG4uaXRlbXMsVyxzRk0pO2lmKEQ+PTApcmV0dXJuO0Q9fkQ7Zy5jTShuLml0ZW1zLEQsMCxXKTtnLmpwKG4ubWVudUl0ZW1zLmVsZW1lbnQsVy5lbGVtZW50LEQpfVcuc3Vic2NyaWJlKCJzaXplLWNoYW5nZSIsbi5xQSxuKTtuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKX07CmtzPWZ1bmN0aW9uKG4sVyl7Vy51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLG4ucUEsbik7bi5xTigpfHwoZy5GSShuLml0ZW1zLFcpLG4ubWVudUl0ZW1zLmVsZW1lbnQucmVtb3ZlQ2hpbGQoVy5lbGVtZW50KSxuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKSl9OwpnLmhCPWZ1bmN0aW9uKG4sVyl7aWYobi5XKXt2YXIgRD1uLm9wdGlvbnNbbi5XXTtELmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiKTtELmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLCJmYWxzZSIpO24uVz1udWxsfWlmKEQ9bi5vcHRpb25zW1ddKUQuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsInRydWUiKSxuLlgobi5qKFcpKSxuLlc9V307Ck5YaD1mdW5jdGlvbihuLFcsRCxiKXtEPW5ldyB4cyh7WjoiZGl2IixLQjpbInl0cC1tZW51aXRlbSIsIiJdLHhhOnt0YWJpbmRleDoiMCIscm9sZToibWVudWl0ZW1yYWRpbyIsImFyaWEtY2hlY2tlZCI6Yj8idHJ1ZSI6ImZhbHNlIn0sWEY6W3taOiJkaXYiLEtCOlsieXRwLW1lbnVpdGVtLWxhYmVsIl0sT3E6Int7bGFiZWx9fSJ9XX0sRCxuLmooVykpO0QuU18oImNsaWNrIiwoKT0+e24uRChXKX0pOwpyZXR1cm4gRH07CmcuTHY9ZnVuY3Rpb24obixXKXt2YXIgRD1uLks7Zm9yKHZhciBiIG9mIEQuaXRlbXMpYi51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLEQucUEsRCk7RC5pdGVtcz1bXTt0cnl7Zy5URihELm1lbnVJdGVtcy5lbGVtZW50KX1jYXRjaCh2KXtnLkdxKG5ldyBnLlF4KCJGYWlsZWQgdG8gcmVtb3ZlIG1lbnUgaXRlbXMgZnJvbSBwYW5lbCBtZW51LiIse2Vycm9yOnYubWVzc2FnZSxvcmlnaW5hbFN0YWNrOnYuc3RhY2ssY2hpbGRUb0JlUmVtb3ZlZDpELm1lbnVJdGVtcy5lbGVtZW50LmZpcnN0Q2hpbGQ/LnRleHRDb250ZW50Pz8iY2hpbGQgZWxlbWVudCBub3QgZm91bmQifSkpfUQubWVudUl0ZW1zLldKKCJzaXplLWNoYW5nZSIpO0Q9e307Yj0hMTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XSxoPW4ub3B0aW9uc1trXSx4PWs9PT1uLlc7eCYmKGI9ITApO2gmJmgucHJpb3JpdHk9PT0tdj8obi5vcHRpb25zW2tdLnVwZGF0ZVZhbHVlKCJsYWJlbCIsbi5qKGspKSwKZGVsZXRlIG4ub3B0aW9uc1trXSk6aD1OWGgobixrLC12LHgpO0Rba109aDt2dShuLkssaCwhMCl9Ynx8KG4uVz1udWxsKTtmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobi5vcHRpb25zKSluLm9wdGlvbnNbdl0uZGlzcG9zZSgpO24ub3B0aW9ucz1EfTsKZW49ZnVuY3Rpb24obil7aWYobi5tZW51SXRlbSl7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk7bi5tZW51SXRlbS5lbmFibGUoISFXJiYhIVcuV2spfX07CmdWPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tQb3NpdGlvbj8udXRjVGltZU1pbGxpcykvMUUzO2xldCBiPWBlbWJhcmdvXyR7V31gO24uYXBpLmFkZFV0Y0N1ZVJhbmdlKGIsVyxXK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSwiZW1iYXJnbyIsITEpO0Qub25FbnRlciYmKG4uTltiXT1ELm9uRW50ZXIuZmlsdGVyKG4uSikpfX07CllJMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRSb290Tm9kZSgpO1c9bi5hcGkuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpLmVtYmVkc0VuYWJsZUVtYzNkcz9XLnBhcmVudEVsZW1lbnQ/LnBhcmVudEVsZW1lbnR8fFc6VztuLk49bmV3IHBLcihXLEQ9PntEIT1udWxsJiYobi5hcGkuRygpLmVLPUQsbi5hcGkuRygpLkxLPSJFTUJFRERFRF9QTEFZRVJfVklTSUJJTElUWV9GUkFDVElPTl9TT1VSQ0VfSU5URVJTRUNUSU9OX09CU0VSVkVSIil9KTsKZy51KG4sbi5OKTtuLmV2ZW50cy5OTihuLmFwaSwidmlkZW9TdGF0c1BpbmdDcmVhdGVkIixEPT57dmFyIGI9bi5OO2I9Yi5OPT1udWxsP251bGw6TWF0aC5yb3VuZChiLk4qMTAwKS8xMDA7RC5pbnZpZXc9YiE9bnVsbD9iOnZvaWQgMDtiPW4uYXBpLmdldFBsYXllclNpemUoKTtpZihiLmhlaWdodD4wJiZiLndpZHRoPjApe2I9W01hdGgucm91bmQoYi53aWR0aCksTWF0aC5yb3VuZChiLmhlaWdodCldO2xldCB2PWcuSF8oKTt2PjEmJmIucHVzaCh2KTtiPWIuam9pbigiOiIpfWVsc2UgYj12b2lkIDA7RC5zaXplPWJ9KX07CkhfVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+bmV3IG11KFcuaWQsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2taOlcua1p9KSl9OwpxVz1mdW5jdGlvbihuLFcsRCxiKXtmdW5jdGlvbiB2KGgpe3ZhciB4PSEoaC5zdGF0dXMhPT0yMDQmJmguc3RhdHVzIT09MjAwJiYhaC5yZXNwb25zZSk7aD17c3VjYzpgJHsreH1gLHJjOmguc3RhdHVzLGxiOmgucmVzcG9uc2U/LmJ5dGVMZW5ndGh8fDAscnQ6KCgwLGcuUikoKS1rKS50b0ZpeGVkKCksc2hvc3Q6Zy5JUChuKSx0cmlnZ2VyOld9O1hyKGgsbik7RCYmRChoKTtiJiYheCYmYihuZXcgZy5DaSgicGF0aHByb2JlLm5ldCIsaCkpfQp2YXIgaz0oMCxnLlIpKCk7Zy5lZChuLHtmb3JtYXQ6IlJBVyIscmVzcG9uc2VUeXBlOiJhcnJheWJ1ZmZlciIsdGltZW91dDoxRTQsb25GaW5pc2g6dixvblRpbWVvdXQ6dn0pfTsKWHI9ZnVuY3Rpb24obixXKXt3aW5kb3cucGVyZm9ybWFuY2U/LmdldEVudHJpZXNCeU5hbWUmJihXPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoVykpJiZXLmxlbmd0aCYmKFc9V1swXSxuLnBlZG5zPShXLmRvbWFpbkxvb2t1cEVuZC1XLnN0YXJ0VGltZSkudG9GaXhlZCgpLG4ucGVjb249KFcuY29ubmVjdEVuZC1XLmRvbWFpbkxvb2t1cEVuZCkudG9GaXhlZCgpLG4ucGVycXM9KFcucmVxdWVzdFN0YXJ0LVcuY29ubmVjdEVuZCkudG9GaXhlZCgpKX07CnRCPWZ1bmN0aW9uKG4pe3JldHVybiBHRChuLmlqLCFuLnBvbGljeS5mUixuLnBvbGljeS5RSCl9OwpmaXg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1pbihuLnBvbGljeS5UNiwkcyhuLmlqKSk7bj10QihuKTtyZXR1cm4gVy1EKm59OwpyVj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGguY2VpbChNYXRoLm1heChNYXRoLm1heChuLnBvbGljeS5abSxuLnBvbGljeS5UNCpEKSxNYXRoLm1pbihNYXRoLm1pbihuLnBvbGljeS5ISiwzMSpEKSxNYXRoLmNlaWwoVypEKSkpKXx8bi5wb2xpY3kuWm19OwpzYj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe2lmKG4ucG9saWN5LlE3KXJldHVybiBNYXRoLmNlaWwobi5wb2xpY3kuUTcqVyk7bi5wb2xpY3kudm4mJihiPU1hdGguYWJzKGIpKTtiLz1uLnBsYXliYWNrUmF0ZTt2YXIgaz0xL0dEKG4uaWopO0Q9TWF0aC5tYXgoLjkqKGItMyksJHMobi5paikrbi5pai5KLk4qaykvayouOC8oVytEKTtEPU1hdGgubWluKEQsYik7bi5wb2xpY3kuSFk+MCYmdiYmKEQ9TWF0aC5tYXgoRCxuLnBvbGljeS5IWSkpO3JldHVybiByVihuLEQsVyl9OwpOVz1mdW5jdGlvbihuKXtyZXR1cm4gdEIobikvbi5wbGF5YmFja1JhdGV9Owpwdj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5yZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3l8fFtdLHY9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5zdGFydE1pblJlYWRhaGVhZFBvbGljeXx8W107bj1JbmZpbml0eTtXPVcmJmIubGVuZ3RoPjA/Yjp2O2ZvcihsZXQgayBvZiBXKVc9ay5taW5SZWFkYWhlYWRNc3x8MCxEPChrLm1pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjfHwwKXx8bj5XJiYobj1XKTtyZXR1cm4gbjxJbmZpbml0eT9uLzFFMzpufTsKZnY9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5pbmZvLmFaKXJldHVybiBELmxlbmd0aD09PTA/RC5wdXNoKGIpOihuPUQucG9wKCk/LmooYikpP0QucHVzaChuKTpELnB1c2goYiksdjsoRD1ELnBvcCgpPy5qKGIpKXx8KEQ9Yik7aWYoRC5pbmZvLk4pcmV0dXJuIG4ubG9nZ2VyJiZuLmxvZ2dlcih7aW5jb21wbGV0ZVNlZ21lbnQ6RC5pbmZvLmdhKCl9KSx2O3ZhciB7Zm9ybWF0SWQ6ayxqJDpoLHN0YXJ0VGltZU1zOngsY2xpcElkOkwscjk6ZX09bi5LKEQpO2I9e2NsaXBJZDpMLGZvcm1hdElkOmssc3RhcnRUaW1lTXM6eCxkdXJhdGlvbk1zOmUsQUM6aCxpOTpofTt2PVlzKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRztpZihHPUQpe0c9Yjt2YXIgcj12LE49RC5zdGFydFRpbWVNcytELmR1cmF0aW9uTXMsSD1HLnN0YXJ0VGltZU1zK0cuZHVyYXRpb25NcztpZihHLnN0YXJ0VGltZU1zLU4+bi5OKUc9ITE7ZWxzZSBpZihIdShuLEQuZm9ybWF0SWQsRy5mb3JtYXRJZCkpRC5kdXJhdGlvbk1zPQpNYXRoLm1heChOLEgpLUQuc3RhcnRUaW1lTXMsRC5pOT1NYXRoLm1heChELmk5LEcuaTkpLEc9ITA7ZWxzZSBpZihNYXRoLmFicyhELnN0YXJ0VGltZU1zLUcuc3RhcnRUaW1lTXMpPD1uLk4paWYoRC5kdXJhdGlvbk1zPkcuZHVyYXRpb25NcytuLk4pe3I9RC5mb3JtYXRJZDt2YXIgQT1ELkFDLHk9RC5pOTtELmZvcm1hdElkPUcuZm9ybWF0SWQ7RC5kdXJhdGlvbk1zPUcuZHVyYXRpb25NcztELkFDPUcuQUM7RC5pOT1HLmk5O0cuZm9ybWF0SWQ9cjtHLnN0YXJ0VGltZU1zPUg7Ry5kdXJhdGlvbk1zPU4tSDtHLkFDPUE7Ry5pOT15O0c9ITF9ZWxzZSBELmZvcm1hdElkPUcuZm9ybWF0SWQsRz0hMDtlbHNlIE4+Ry5zdGFydFRpbWVNcyYmKE4+SCYmKFcuc3BsaWNlKHIrMSwwLHtmb3JtYXRJZDpELmZvcm1hdElkLHN0YXJ0VGltZU1zOkgsZHVyYXRpb25NczpOLUgsQUM6Ry5pOSsxLGk5OkQuaTl9KSxuLmxvZ2dlciYmbi5sb2dnZXIoe3NwbGl0T2xkU3RhcnQ6RC5zdGFydFRpbWVNcz8udG9GaXhlZCgzKSwKc3BsaXRPbGRFbmQ6Tj8udG9GaXhlZCgzKSxzcGxpdE5ld1N0YXJ0Okcuc3RhcnRUaW1lTXM/LnRvRml4ZWQoMyksc3BsaXROZXdFbmQ6SD8udG9GaXhlZCgzKX0pKSxELmR1cmF0aW9uTXM9Ry5zdGFydFRpbWVNcy1ELnN0YXJ0VGltZU1zLEQuaTk9Ry5BQy0xKSxHPSExfUc/Yj1EOih2Kz0xLFcuc3BsaWNlKHYsMCxiKSk7RD0wO2ZvcihHPXYrMTtHPFcubGVuZ3RoO0crKyl7Tj1uO0g9V1tHXTtyPWI7QT1ILnN0YXJ0VGltZU1zK0guZHVyYXRpb25Nczt5PXIuc3RhcnRUaW1lTXMrci5kdXJhdGlvbk1zO3k+PUErTi5OP049ITA6eStOLk48SC5zdGFydFRpbWVNcz9OPSExOkh1KE4sSC5mb3JtYXRJZCxyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKWXM9ZnVuY3Rpb24obixXKXtuPWcuVzQobix7c3RhcnRUaW1lTXM6V30sKEQsYik9PkQuc3RhcnRUaW1lTXMtYi5zdGFydFRpbWVNcyk7CnJldHVybiBuPj0wP246LW4tMn07CkpCPWZ1bmN0aW9uKG4sVyxEKXtpZihuLmxvZ2dlcil7dmFyIGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl07ay5Faj8uc3RhcnRUaWNrcyYmYi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9wc3N0LiR7ay5Faj8uc3RhcnRUaWNrc31fcHNkLiR7ay5Faj8ubDh9YCk7Yi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9lLiR7ay5zdGFydFRpbWVNcytrLmR1cmF0aW9uTXN9X2QuJHtrLmR1cmF0aW9uTXN9X3NuLiR7ay5BQ31fZW4uJHtrLmk5fWApfW4ubG9nZ2VyKHtwOmAke0R9YCxicjpiLmpvaW4oIjsiKX0pfX07Ckk2PWZ1bmN0aW9uKG4sVyxEPSExKXtpZihuLlFFKXt2YXIgYj1uLlFFLlpGKCk7aWYoYi5sZW5ndGghPT0wKXtpZihuLlcmJlcpe3ZhciB2PW4uVyxrPXYuaW5mby5YOyFCUihiLGspJiZ2LmluZm8uSz4wJiYoMCxnLlIpKCktbi5EPDVFMyYmKG4ubG9nZ2VyJiZuLmxvZ2dlcih7ZGVuZDp2LmluZm8uZ2EoKX0pLGI9akcoYixrLGsrLjAxKSl9dj1bXTtmb3IodmFyIGg9az0wO2s8Yi5sZW5ndGgmJmg8bi5lVy5sZW5ndGg7KXt2YXIgeD1iLnN0YXJ0KGspO2xldCBOPWIuZW5kKGspO3ZhciBMPW4uZVdbaF0uc3RhcnRUaW1lTXMvMUUzO2xldCBIPShuLmVXW2hdLnN0YXJ0VGltZU1zK24uZVdbaF0uZHVyYXRpb25NcykvMUUzO2lmKEw8PU4mJkg+PXgpe2xldCBBPXsuLi5uLmVXW2hdfTt2YXIgZT1uLkt1LkouZ2V0KE1rKG4uZVdbaF0uZm9ybWF0SWQpKSxHPU1hdGgubWF4KEwseCk7eD1lLmluZGV4LlIzKEcrbi5OLzFFMyk7TD1lLmluZGV4LmdldFN0YXJ0VGltZSh4KTt2YXIgcj14KworKE1hdGguYWJzKEwtRyk+bi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uaW5mby5XfHwxMTshRCYmaD09PW4uSiYmTjxIJiZILU48PXgqMS4wMSYmIShuLnBvbGljeS5TdyYmbi5RRSYmbi5RRS55dSgpKSYmKE49SCk7eD1NYXRoLm1pbihILE4pO0w9ZS5pbmRleC5SMyh4LW4uTi8xRTMpO0c9ZS5pbmRleC5qRShMKTtMLT0rKE1hdGguYWJzKEcteCk+bi5OLzFFMyk7eD1MK24uWDtlPWUuaW5kZXguakUoTCkqMUUzO0EuaTk9eDtBLmR1cmF0aW9uTXM9ZS1BLnN0YXJ0VGltZU1zO0EuQUM8PUEuaTkmJnYucHVzaChBKX1IPE4/aCs9MTprKz0xfW4uZVc9dn19fTsKSmFpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9Wy4uLm4uUDNdO24uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5UQy5aUCgpLHY9bi5KO2ZvcihsZXQgayBvZiBiKXY9ZnYobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLFAzOkR9fTsKSHU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXLml0YWchPT1ELml0YWd8fFcueHRhZ3MhPT1ELnh0YWdzPyExOm4uS3Uueld8fFcubG10PT09RC5sbXR9OwpaYj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCFXLlBKLk4oKSl7aWYoISh2PUQ9PT0wfHwhIVcuSi5sZW5ndGgmJlcuSlswXWluc3RhbmNlb2YgU24pKWE6e2lmKFcuSi5sZW5ndGgmJih2PVcuSlswXSx2IGluc3RhbmNlb2YgQUImJnYuSk8mJnYuYUkpKXt2PSEwO2JyZWFrIGF9dj0hMX12fHxuLnBvbGljeS5OfHxtaShXKTtyZXR1cm4gRH12YXIgaz1LdihXLEQpO2lmKCFpc05hTihrKSlyZXR1cm4gaztpZihuLmxvYWRlci5DNyhEKjFFMykpcmV0dXJuIEQ7di5BTT9uLnBvbGljeS5WSCYmKG49T2Iobi5sb2FkZXIsVyksVy5zTShEK24sITApKTooVy56aSgpLG4ubG9hZGVyLlgkKCExLGBzdGFfJHsrVy5QSi5pbmZvLmVTKCl9YCkpO3JldHVybiBiJiYobj1GWihiLlpGKCksRCksIWlzTmFOKG4pKT8oUHUoVyxuK0lpYix2KSxEKTpQdShXLEQsdil9OwpVYj1mdW5jdGlvbihuLFcsRCl7aWYoIW4ucG9saWN5Lmope249Vy5QSi5pbmRleDt2YXIgYj1XLk4uaiQ7bi5NSShiKXx8RCYmRC5qJD09PWI/KFcuUEQ9IW4uTUkoYiksVy5EPSFuLk1JKGIpKTooVy5QRD0hMCxXLkQ9ITApfX07CkViPWZ1bmN0aW9uKG4pe3ZhciBXPU1hdGgubWF4KG4udmlkZW9UcmFjay5TRSgpLG4uYXVkaW9UcmFjay5TRSgpKTt5ayhuLnZpZGVvVHJhY2spO3lrKG4uYXVkaW9UcmFjayk7bi5wb2xpY3kuanx8ajQobi5LdSk7bi5LdS5pc01hbmlmZXN0bGVzcyYmIW4ucG9saWN5LmomJihuLk49ITAsbi5KPTApO3ZhciBEPW4ubG9hZGVyO2lmKCFELnBvbGljeS5sbnx8RC5wb2xpY3kuR0MpRC5jdXJyZW50VGltZT1XO24uc2Vla2luZz0hMDtuLlc9bmV3IFk2O3JldHVybiBuLld9OwpvNj1mdW5jdGlvbihuKXt2YXIgVz1uLnZpZGVvVHJhY2suWCE9PS0xLEQ9bi5hdWRpb1RyYWNrLlghPT0tMTtpZighV3x8IUQpaWYoVz0hVyYmaVkobi52aWRlb1RyYWNrKSxEPSFEJiZpWShuLmF1ZGlvVHJhY2spLFd8fEQpaWYoRD1XP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2ssVz1XP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2ssRC5YPWlZKEQpLmluZm8uaiQsbi5wb2xpY3kuaiYmKFcuWD1pWShXKT8uaW5mby5UQygpfHxXLlgpLFcuWCE9PS0xKXtsZXQgYj1NYXRoLm1heChXLlBKLmluZGV4LmdldFN0YXJ0VGltZShXLlgpLEQuUEouaW5kZXguZ2V0U3RhcnRUaW1lKEQuWCkpO3VBKG4uS3UpJiZNYXRoLmFicyhiLXVBKG4uS3UpKT40MzJFMyYmS0t0KG4uS3UpO24uSiYmKGI9bi5KLG4uSj0wKTtnLm1LKCgpPT57bi5wb2xpY3kuanx8dVkobixiLDEwMil9KTsKbi5sb2FkZXIuVSgiaW5pdE1hbmlmZXN0bGVzc1N5bmMiLHtzdDpiLG9zdDpiK24ubG9hZGVyLlNXKCksYTpuLmF1ZGlvVHJhY2suWCx2Om4udmlkZW9UcmFjay5YfSk7bi5XJiYobi5XLnJlc29sdmUoYisuMSksbi5XPW51bGwpO24ucG9saWN5LmomJnVZKG4sYiwxMDIpfX07ClNJWj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uaXNTZWVraW5nKCkpcmV0dXJuLTE7RD0oRD9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5QSi5pbmRleDt2YXIgYj1ELlIzKG4udGFyZ2V0VGltZSk7cmV0dXJuKEQuTUkobi5LdS5JdCl8fFcuaiQ9PT1uLkt1Lkl0KSYmYjxuLkt1Lkl0P24uS3UuTGYoKTotMX07CnVZPWZ1bmN0aW9uKG4sVyxEKXtuLk4mJm4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEmJihuLk49ITEsbi50YXJnZXRUaW1lPVcsZFYobi5sb2FkZXIsVysuMSx7QTk6ITAscWQ6ImNodW5rU2VsZWN0b3JTeW5jaHJvbml6ZSIscWE6ITAsc2Vla1NvdXJjZTpEfSkpfTsKQWEyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4ucG9saWN5LmopIWJ8fCFuLk4mJm4ucG9saWN5LkJWfHxnLm1LKCgpPT57bzYobil9KTsKZWxzZXtpZihuLmlzU2Vla2luZygpJiZuLnRhcmdldFRpbWUpe2xldCBrPVNJWihuLFcsRCk7aWYoayE9PS0xKXtuLnZpZGVvVHJhY2suUEQ9ITE7bi5hdWRpb1RyYWNrLlBEPSExO24uTj0hMDtuLko9MDtnLm1LKCgpPT57bi5sb2FkZXIuVSgic2Vla3JlYXNvbiIse3JlYXNvbjoiYmVoaW5kTWluU3EiLHRndDprfSk7dVkobixrKX0pOwpyZXR1cm59fUQ/bi52aWRlb1RyYWNrLkQ9ITE6bi5hdWRpb1RyYWNrLkQ9ITE7dmFyIHY9IW4uTjtLdihuLnZpZGVvVHJhY2ssbi50YXJnZXRUaW1lKT49MCYmS3Yobi5hdWRpb1RyYWNrLG4udGFyZ2V0VGltZSk+PTAmJnY/KG4uUEQoKSYmbi5sb2FkZXIuVSgiaXRlcmF0aXZlU2Vla2luZyIse3N0YXR1czoiZG9uZSIsY291bnQ6bi5zZWVrQ291bnR9KSxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExKTpiJiZnLm1LKCgpPT57aWYobi5OfHwhbi5wb2xpY3kuQlYpbzYobik7ZWxzZXt2YXIgaz1XLnN0YXJ0VGltZSxoPVcuZHVyYXRpb247aWYoIW4ucG9saWN5Lmope3ZhciB4PW4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEsTD0hbi52aWRlb1RyYWNrLkQmJiFuLmF1ZGlvVHJhY2suRDsoRD9uLnZpZGVvVHJhY2suUEQ6bi5hdWRpb1RyYWNrLlBEKSYmeCYmTCYmKG4udGFyZ2V0VGltZT49ayYmbi50YXJnZXRUaW1lPGsraCsuMT8oKEQ/bi52aWRlb1RyYWNrOgpuLmF1ZGlvVHJhY2spLlBEPSExLG4uUEQoKXx8KG4ubG9hZGVyLlUoIml0ZXJhdGl2ZVNlZWtpbmciLHtzdGF0dXM6ImRvbmUiLHRhcmdldDprLG9yaWdpbmFsVGltZTprK24ubG9hZGVyLlNXKCksY291bnQ6bi5zZWVrQ291bnR9KSxuLnNlZWtDb3VudD0wKSk6bi5zZWVrQ291bnQ8OD8obi5zZWVrQ291bnQrKyxuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbnByb2dyZXNzIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprLGR1cmF0aW9uOmgsaXNWaWRlbzpEfSksbi5zZWVrKG4udGFyZ2V0VGltZSx7fSkpOihuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbmNvbXBsZXRlIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprfSksbi5zZWVrQ291bnQ9MCxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExLGRWKG4ubG9hZGVyLGsrLjEse0E5OiEwLHFkOiJjaHVua1NlbGVjdG9yU3luY2hyb25pemVNZWRpYSIsCnFhOiEwfSkpKX19fSl9fTsKVEQ9ZnVuY3Rpb24obixXLEQpe3pEKG4uaWosVyk7bi5EdCYmKG4uRHQuYWRkKE1hdGguY2VpbChXKS1NYXRoLmNlaWwobi5LKSksbi5EdC5hZGQoTWF0aC5tYXgoMCxNYXRoLmNlaWwoRC8xMDI0KS1NYXRoLmNlaWwobi5YLzEwMjQpKSkpO3ZhciBiPVctbi5LLHY9RC1uLlg7bi5VNT12O24ualc9TWF0aC5tYXgobi5qVyx2LyhiKy4wMSkqMUUzKTtuLks9VztuLlg9RDtuLkhKJiZEPm4uSEomJmxZKG4pfTsKbFk9ZnVuY3Rpb24obil7bi5udT1NYXRoLm1heChuLm51LG4uWC1uLlJ0KTtuLlZRPU1hdGgubWF4KG4uVlEsbi5LLW4uWmgpO24uSEo9MH07Cm13cj1mdW5jdGlvbihuLFcpe24udXJsPVc7d2luZG93LnBlcmZvcm1hbmNlJiYhcGVyZm9ybWFuY2Uub25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwmJihwZXJmb3JtYW5jZS5vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbD0oKT0+e3BlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCl9KX07CmpuPWZ1bmN0aW9uKG4pe24uaXNBY3RpdmUmJihuLmlzQWN0aXZlPSExKX07CkN2PWZ1bmN0aW9uKG4pe24uZSQ9bi5OK24uc25hcHNob3QuZGVsYXkqMUUzO24udlg9ITF9OwpGcj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uZGlzYWJsZVJlY29yZGluZyl7Vz1NYXRoLm1heChXLC4wMSk7dmFyIGI9bi5xWT9NYXRoLm1heChXLEQvbi5xWSk6Vyx2PW4uaWouSi5XO3YmJihiPVcsbi5xWSYmKGI9TWF0aC5tYXgoVyxEL24ucVkqdikpKTtCdShuLmlqLFcsRCxiKX19Owp3Vj1mdW5jdGlvbihuKXt2YXIgVz1uLkZGfHxuLkdDO3JldHVybiBXP24uc25hcHNob3QuZGVsYXkrTWF0aC5taW4obi5POCwobi5jSi1uLnR3KS8xRTMpK1c6bi5zNX07Ck1XPWZ1bmN0aW9uKG4pe3JldHVybihuLlktbi5OKS8xRTN9OwpRaz1mdW5jdGlvbihuLFcpe2lmKG4uaG4mJm4uaiQhPT12b2lkIDAmJm4uWkEhPT12b2lkIDApe3ZhciBEPU1hdGgsYj1ELm1pbix2PW4uVjt2YXIgaz1uLmhuO3ZhciBoPW4uTjtpZihSNihrLG4uaiQpKWs9VztlbHNle3ZhciB4PTA7ay50SSYmKHg9LjIpO2s9aCsoay5POCt4KSoxRTN9bi5WPWIuY2FsbChELHYsayk7RD1NYXRoO2I9RC5taW47dj1uLk87az1uLmhuO2g9bi5OO3g9S2EyKGssbi5qJCxuLlpBKTt4IT09MiYmKFc9eD9XOmgray5POCoxRTMsay50SSYmKFcrPWsuTzgqMUUzKSk7bi5PPWIuY2FsbChELHYsVyk7bi5WPD1uLk4/Q3Yobik6KG4uZSQ9bi5WLG4udlg9ITApfX07ClZrPWZ1bmN0aW9uKG4sVyl7aWYoVysxPD1uLnRvdGFsTGVuZ3RoKXt2YXIgRD1yZChuLFcpO0Q9RDwxMjg/MTpEPDE5Mj8yOkQ8MjI0PzM6RDwyNDA/NDo1fWVsc2UgRD0wO2lmKEQ8MXx8IShXK0Q8PW4udG90YWxMZW5ndGgpKXJldHVyblstMSxXXTtpZihEPT09MSluPXJkKG4sVysrKTtlbHNlIGlmKEQ9PT0yKUQ9cmQobixXKyspLG49cmQobixXKyspLG49KEQmNjMpKzY0Km47ZWxzZSBpZihEPT09Myl7RD1yZChuLFcrKyk7dmFyIGI9cmQobixXKyspO249cmQobixXKyspO249KEQmMzEpKzMyKihiKzI1NipuKX1lbHNlIGlmKEQ9PT00KXtEPXJkKG4sVysrKTtiPXJkKG4sVysrKTtsZXQgdj1yZChuLFcrKyk7bj1yZChuLFcrKyk7bj0oRCYxNSkrMTYqKGIrMjU2Kih2KzI1NipuKSl9ZWxzZSBEPVcrMSxuLmZvY3VzKEQpLFhhKG4sRCw0KT9uPXFEKG4pLmdldFVpbnQzMihELW4uVywhMCk6KGI9cmQobixEKzIpKzI1NipyZChuLEQrMyksbj1yZChuLEQpKzI1NioocmQobixEKzEpKwoyNTYqYikpLFcrPTU7cmV0dXJuW24sV119OwpjdT1mdW5jdGlvbihuKXtyZXR1cm4gZy5keihuLmluZm8uQXcsVz0+Vy50eXBlPT09Myl9OwpDbmk9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz8obmV3IHVvKG4uSikpLmVuY3J5cHQoVyxuLk4pOld9OwpGSTE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz9hd2FpdCAobmV3IHVvKG4uSikpLmRlY3J5cHQoVyxuLk4pOld9OwphNj1mdW5jdGlvbihuKXtuLlcucmVhZCgpLnRoZW4obi5ZLG4ub25FcnJvcikudGhlbih2b2lkIDAsZy5xZyl9OwpXcD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGdaKDYsMTE3MCxuLkFPKSlyZXR1cm4gbmV3IE9fcihuLEQpO249bi5XRCgpO3JldHVybiBiP3lXKCk/bmV3IG4zKG4sVyxELHYpOm5ldyBQSGoobixXLEQsdik6bmV3IFpfQyhuLEQsdil9OwpEeD1mdW5jdGlvbihuLFcsRCl7bi5OJiYoZTUobi5OLFcpLFc9bi5OLG4uTj1udWxsKTt2YXIgYj0wLHY9MDtmb3IobGV0IEwgb2Ygbi5Bdyl7aWYoTC5yYW5nZSYmYitMLko8PW4uSil7Yis9TC5KO2NvbnRpbnVlfWlmKGhKKEwpJiYhRCYmbi5KK1cudG90YWxMZW5ndGgtdjxiK0wuSil7KHtZOTpuLk59PVcuc3BsaXQodikpO2JyZWFrfWE6e3ZhciBrPW47dmFyIGg9TCx4PW4uSi1iO2xldCBlPVcudG90YWxMZW5ndGgtdjtoLnJhbmdlJiYoZT1NYXRoLm1pbihoLkoteCxlKSk7aD1HUChoLGguTit4LGUsaC5yYW5nZT9oLk4reCtlPT09aC5yYW5nZS5sZW5ndGg6ISFEKTt4PWdkKFcsdixlKTtoPW5ldyBiOChoLHgpO2lmKGsualMubGVuZ3RoJiYoeD1rLmpTW2sualMubGVuZ3RoLTFdLmooaCkpKXtrLmpTW2sualMubGVuZ3RoLTFdPXg7az1lO2JyZWFrIGF9ay5qUy5wdXNoKGgpO2s9ZX1uLkorPWs7dis9aztiKz1MLko7aWYodj09PVcudG90YWxMZW5ndGgpYnJlYWt9fTsKYnU9ZnVuY3Rpb24obil7cmV0dXJuIFVZKG4ubm4sUjAoNjQsMzUzNixuLlNPLkFPKSl9Owp2cD1mdW5jdGlvbihuKXtuLlhiLk89KDAsZy5SKSgpO249YnUobik7bi5qPSgwLGcuUikoKTtuLnN0YXJ0ZWQrPTF9OwprWj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe24udGltaW5nLkhEKCgwLGcuUikoKSxXLEQpO1c9bi5YYjtXLko9MDtXLlY9MDtXLkQ9MDt6aihidShuKSx2KTtiJiYoYj1idShuKSxiLlcrPTEpO24uVWo/Lk8obi5TTy5BTyl9OwpoVT1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubGFzdEVycm9yPT09InVtcC5zcHNyZWplY3RmYWlsdXJlIiluLnRpbWluZy5iZHx8d0Eobi5YYiwhMSxuLlNPLG4ucG9saWN5LG4ubm4pO2Vsc2V7aWYobi5sYXN0RXJyb3I9PT0ibmV0LnRpbWVvdXQiKW4udGltaW5nLnlFKCgwLGcuUikoKSk7ZWxzZXt2YXIgRD1uLnRpbWluZztURChELCgwLGcuUikoKSxELlgpfW4ubGFzdEVycm9yPT09Im5ldC5ub2NvbnRlbnQiPysrbi5YYi5EOigoRD1uLmxhc3RFcnJvcj09PSJuZXQudGltZW91dCJ8fG4ubGFzdEVycm9yPT09Im5ldC5jb25uZWN0Inx8bi5sYXN0RXJyb3I9PT0ibmV0LmNsb3NlZCIpJiYhZ1ooNiwxMTcwLG4uU08uQU8pP29FaShidShuKSxXKTp5ZihidShuKSxXKSxuLnRpbWluZy5iZHx8d0Eobi5YYixELG4uU08sbi5wb2xpY3ksbi5ubikpfW4uWWEudlYoNSl9Owp4Wj1mdW5jdGlvbihuLFcsRCxiPSExLHY9ITEsaz0hMSl7cmV0dXJuIFc+PTQwMHx8az8obi5sYXN0RXJyb3I9az8icHJvYmUubmV0LmJhZHN0YXR1cyI6Im5ldC5iYWRzdGF0dXMiLCEwKTp2PyhuLmxhc3RFcnJvcj0idW1wLnNwc3JlamVjdGZhaWx1cmUiLCEwKTpEfHxiPyExOihuLmxhc3RFcnJvcj1XPT09MjA0PyJuZXQubm9jb250ZW50IjoibmV0LmNvbm5lY3QiLCEwKX07CkwzPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuYiQpcmV0dXJuITE7dmFyIEQ9Vy5nZXRSZXNwb25zZUhlYWRlcigiY29udGVudC10eXBlIiksYj1XLmlpKCk7bj0hYnx8Yjw9bi5wb2xpY3kub2M7cmV0dXJuKCFXLkdwKCl8fCFEfHxELmluZGV4T2YoInRleHQvcGxhaW4iKSE9PS0xKSYmbn07CmVWPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9IiI7Vz1XLnNOKCk7Vy50b3RhbExlbmd0aDw9bi5wb2xpY3kub2MmJihuPXRSKFcpLG49cFIobiksRD1nWChuKT9uOiIiKTtyZXR1cm4gRH07CmdDPWZ1bmN0aW9uKG4pe3ZhciBXPW4udGltaW5nLkQoKTtXLnNob3N0PVIwKDk2LDM1Njgsbi5TTy5BTyk7bi5wb2xpY3kuQ3UmJm4ucG9saWN5LnZYJiYoVy5jc3JjPTEpO3JldHVybiBXfTsKVXdiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4/Lm1heFdpZHRoPlc/Lm1heFdpZHRofHxuPy5tYXhIZWlnaHQ+Vz8ubWF4SGVpZ2h0fTsKeWFqPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcua2V5cygpKXtsZXQgYj1XLmdldChEKTtpZihiLmxlbmd0aD09PTApY29udGludWU7Zy5iZihiLChoLHgpPT54Lm1heEZyYW1lcmF0ZS1oLm1heEZyYW1lcmF0ZSk7CmxldCB2PVtiWzBdXSxrPTA7Zm9yKGxldCBoPTE7aDxiLmxlbmd0aDtoKyspVXdiKGJbaF0sdltrXSkmJih2LnB1c2goYltoXSksaysrKTtuPW4uY29uY2F0KHYpfXJldHVybiBufTsKaV9iPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpVz1FdGpbYl18fDAsbi5OJiZXPm4uTnx8RC5wdXNoKGIpO3JldHVybiBEfTsKWHU9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXVkWltuXXx8W107RC5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4IikmJihiPW90dFtuXXx8W10pO1cucHVzaCguLi5iKTtELlMoImh0bWw1X2Vhcmx5X21lZGlhX2Zvcl9kcm0iKSYmVy5wdXNoKC4uLihkd3Rbbl18fFtdKSl9Owp6eFM9ZnVuY3Rpb24obixXKXt2YXIgRD1WeihuKSxiPW4uRygpLHY9Yi5XO2I9Yi5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4Iik7dmFyIGs9bi5OUCgpO2lmKGIpe2lmKCF2Lk4pe2lmKGsmJnFxKXJldHVybiBxcTtpZihHSSlyZXR1cm4gR0l9fWVsc2UgaWYoR0kmJiF2Lk4pcmV0dXJuIEdJO3ZhciBoPVtdLHg9W10sTD17fSxlPXRVLmNvbmNhdCgkWik7YiYmKGU9dFUuY29uY2F0KHJDKSk7bi5TKCJodG1sNV9lYXJseV9tZWRpYV9mb3JfZHJtIikmJihlPWUuY29uY2F0KHNHKSxuLlMoImFsbG93X3ZwOV8xMDgwcF9tcV9lbmMiKSYmZS5wdXNoKE5xKSk7dmFyIEc9Wy4uLnAzXTtuLlMoImh0bWw1X2lhbWZfYXVkaW9fb25lc2llX2ZtdCIpJiZHLnB1c2goWyI3NzMiXSk7Zm9yKHZhciByIG9mIGUpe2U9ITE7Zm9yKGxldCBIIG9mIHIpe3ZhciBOPVNNKEgsayYmYik7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2lmKE4uTVcoKSYmIUQuZSQmJk4udmlkZW8ucXVhbGl0eU9yZGluYWw+CkQublMpY29udGludWU7bGV0IEE9Zy5kTShuLkcoKS5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7aWYoQT4wJiZVTihOKSYmTi5Ocz5BKWNvbnRpbnVlO2lmKGUpe2gucHVzaChIKTtYdShILGgsbik7Y29udGludWV9Tj1zRChELE4sdik7Tj09PSEwPyhlPSEwLGgucHVzaChIKSxYdShILGgsbikpOkxbSF09Tn19Zm9yKGxldCBIIG9mIEcpZm9yKGxldCBBIG9mIEgpe3I9QXUoQSk7aWYoIXJ8fCFyLmF1ZGlvfHwhbi5TKCJodG1sNV9vbmVzaWVfNTFfYXVkaW8iKSYmci5WKCkpY29udGludWU7cj1zRChELHIsdik7aWYocj09PSEwKXt4LnB1c2goQSk7WHUoQSx4LG4pO2JyZWFrfWVsc2UgTFtBXT1yfWlmKCFuLlMoImh0bWw1X2VuYWJsZV9hdWRpb19xdWFsaXR5X3NldHRpbmciKSl7bj1bIjE0MSIsIjc3NCJdO2ZvcihsZXQgSCBvZiBuKXguaW5jbHVkZXMoSCkmJihnLkZJKHgsSCksTFtIXT0iYmxraHFhIil9RC5XJiZXKCJvcmZtdHMiLEwpO2lmKGIpcmV0dXJuIHYuTiYmCih2Lk49ITEscXE9R0k9dm9pZCAwKSxrP3FxPXt2aWRlbzpoLGF1ZGlvOnh9OkdJPXt2aWRlbzpoLGF1ZGlvOnh9O0dJPXt2aWRlbzpoLGF1ZGlvOnh9O3YuTj0hMTtyZXR1cm4gR0l9OwpqRk09ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLkwsYj1uLnlRLHY9bi5paixrPUQuZ2V0VmlkZW9EYXRhKCksaD1wNygwKTt2YXIgeD1ELmdldFZpc2liaWxpdHlTdGF0ZSgpO2IuUygiaHRtbDVfZW5hYmxlX2F1ZGlvX3F1YWxpdHlfc2V0dGluZyIpJiYoVy5pQj1iLmlCKTtoJiYoVy5pSD1oLFcubGFzdE1hbnVhbERpcmVjdGlvbj1Sc3goKSxoPVVQKCl8fDAsaD4wJiYoaD0oYi5TKCJodG1sNV91c2VfZGF0ZV9ub3dfZm9yX2xvY2FsX3N0b3JhZ2UiKT9EYXRlLm5vdygpOigwLGcuUikoKSktaCxiLlMoImh0bWw1X3VzZV9kYXRlX25vd19mb3JfbG9jYWxfc3RvcmFnZSIpP2g+MCYmKFcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpOlcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpKTtpZih2Lk98fGIuUygiaHRtbDVfc2Ficl91Z2Nfdm9kX3dlYl9lbWJlZGRlZF9jbGllbnRfZGVmYXVsdF9iYW5kd2lkdGhfb25faXBob25lIikmJnc4KWg9CmIuUygiaHRtbDVfZGlzYWJsZV9iYW5kd2lkdGhfY29mYWN0b3JzX2Zvcl9zYWJyX2xpdmUiKT8hIW4ub1o/LmZSOiExLFcuSSQ9R0QodiwhaCk7dmFyIEw9TkcubWVkaXVtLGU9TWF0aC5mbG9vcihMKjE2LzkpLEc9ay5OUCgpfHwoay5OJiZrLlcmJmsuVy52aWRlb0luZm9zLmxlbmd0aCE9PTA/ay5XLnZpZGVvSW5mb3NbMF0uaXNWZXJ0aWNhbCgpOiExKTtoPUc/TDplO2U9Rz9lOkw7Rz1ELlNpKCk7TD1HLndpZHRoO0c9Ry5oZWlnaHQ7Vy5zQT1NYXRoLm1heChMLGgpO1cuWUE9TWF0aC5tYXgoRyxlKTtiLlMoImh0bWw1X2VuYWJsZV9jbGllbnRfdmlld3BvcnRfc2l6ZV9sb2dnaW5nIikmJmIuV1goKSYmKGg9RC5NaCgpLEQuVSgiY3Z3Iix7dzpMLGg6Ryxjdnc6Vy5zQSxjdmg6Vy5ZQSxjdnU6aC5OfSkpO1cudmlzaWJpbGl0eT14O1cuWkk9Zy52SSgpO1cuZnE9RC5sNSgpKjFFMzt4PW4uTC52JCgpO1cuTk89e2RlZmF1bHRQb2xpY3k6eD8uRHI/Lk58fDAsc21vb3RoOng/LnpOPy5OfHwKMCx2aXNpYmlsaXR5Ong/LmN3Py5OfHwwLE9iOng/LkFFPy5OfHwwLHBlcmZvcm1hbmNlOng/LmlQPy5OfHwwLHNwZWVkOng/LlhOPy5OfHwwfTtXLlROPXg/LlFZPy5OfHwwO2lmKG4uaHF8fG4uQ3gmJiFuLmdEKWg9Yi5adCgpLk4uUVEobGlaKT8/MCxoPjAmJiFXLlROJiYoTD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLGgsITEsInAiKSksVy5OTy5kZWZhdWx0UG9saWN5PUwuTixELlUoImxzbCIse3FjOmh9KSksay5saXZlUHJlbG9hZCYmay5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIikmJiFrLkcoKS5adCgpLk4uUVEoSHApJiYoeD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLDI0MCwhMSwicCIpKSxXLk5PLmRlZmF1bHRQb2xpY3k9eC5OKTt4PW4uaHF8fGsuWjk/W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9LHt0cmFja1R5cGU6Myxpc0hkcjohMX0se3RyYWNrVHlwZTozLAppc0hkcjohMH0se3RyYWNrVHlwZTo0LGlzSGRyOiExfSx7dHJhY2tUeXBlOjQsaXNIZHI6ITB9LHt0cmFja1R5cGU6NSxpc0hkcjohMX0se3RyYWNrVHlwZTo1LGlzSGRyOiEwfV06W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9XTtXLmtjPW4uYXV0aG9yaXplZEZvcm1hdHMmJm4uYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoPjA/e2F1dGhvcml6ZWRGb3JtYXRzOm4uYXV0aG9yaXplZEZvcm1hdHN9OnthdXRob3JpemVkRm9ybWF0czp4fTtuLnNhYnJMaWNlbnNlQ29uc3RyYWludCYmKFcua2Muc2FickxpY2Vuc2VDb25zdHJhaW50PW4uc2FickxpY2Vuc2VDb25zdHJhaW50KTtpZihiLlMoImh0bWw1X29uZXNpZV9tZWRpYV9jYXBhYmlsaXRpZXMiKXx8TEEoaykpVy5ZZj0zO2lmKGIuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEoayl8fG4ub1o/Lk4mJmxvKGIpPT09IlRWSFRNTDVfQVVESU8iKVcuWWY9CjE7bi5vWj8ueUUmJm4ub0cmJihXLllmPVcuWWY9PT12b2lkIDA/NzpXLllmfDQpO3g9ay5lJD9rLmUkOlZ6KGspO2lmKGIuUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtoPWIuVztMPVtdO2U9W107Rz1iLlMoImh0bWw1X3Nob3J0c19vbmVzaWVfbWlzbWF0Y2hlZF9maXgiKTt2YXIgcj1rLk5QKCksTj10VS5jb25jYXQoJFopO0cmJihOPXRVLmNvbmNhdChyQykpO2IuUygiaHRtbDVfZWFybHlfbWVkaWFfZm9yX2RybSIpJiYoTj1OLmNvbmNhdChzRyksYi5TKCJhbGxvd192cDlfMTA4MHBfbXFfZW5jIikmJk4ucHVzaChOcSkpO3ZhciBIPVsuLi5wM107Yi5TKCJodG1sNV9pYW1mX2F1ZGlvX29uZXNpZV9mbXQiKSYmSC5wdXNoKFsiNzczIl0pO2Zvcih2YXIgQSBvZiBOKWZvcih2YXIgeSBvZiBBKXtOPVNNKHksciYmRyk7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2xldCBRPWcuZE0oYi5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7CmlmKCEoUT4wJiZVTihOKSYmTi5Ocz5RKSYmc0QoeCxOLGgpPT09ITApe0wucHVzaCh7dmlkZW9Db2RlYzpmM1tZZ1t5XV0sbWF4V2lkdGg6Ti52aWRlby53aWR0aCxtYXhIZWlnaHQ6Ti52aWRlby5oZWlnaHQsbWF4RnJhbWVyYXRlOk4udmlkZW8uZnBzfSk7YnJlYWt9fWZvcih2YXIgVCBvZiBIKWZvcih2YXIgeiBvZiBUKWlmKChBPUF1KHopKSYmQS5hdWRpbyYmKGIuUygiaHRtbDVfb25lc2llXzUxX2F1ZGlvIil8fCFBLlYoKSkmJnNEKHgsQSxoKT09PSEwKXtlLnB1c2goe2F1ZGlvQ29kZWM6SlVbWWdbel1dLG51bUNoYW5uZWxzOkEuYXVkaW8ubnVtQ2hhbm5lbHN9KTticmVha31XLm1lZGlhQ2FwYWJpbGl0aWVzPXt2aWRlb0Zvcm1hdENhcGFiaWxpdGllczpMLGF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzOmV9fWlmKG4ub1o/LkR0KCkpe0E9bi5JODt5PW4ubGw7aD1uLm9aPy5OcztUPVtdO3o9W107TD1uZXcgTWFwO2U9KGU9ay5KKT9lLml0YWc6dm9pZCAwO0c9ay5XPy52aWRlb0luZm9zOwpHPUc/Lmxlbmd0aD9HW0cubGVuZ3RoLTFdLml0YWc6dm9pZCAwO2U9IVZUKCkmJmUhPT12b2lkIDAmJkE/LmluY2x1ZGVzKE51bWJlcihHKSk7Rz1rLnl3Lk47Zm9yKHZhciBDIG9mIEcudmFsdWVzKCkpQy5lUz96LnB1c2goe2F1ZGlvQ29kZWM6SlVbQy5JQl0sbnVtQ2hhbm5lbHM6Qy5udW1DaGFubmVscyxzcGF0aWFsQ2FwYWJpbGl0eUJpdG1hc2s6VFhNW0MuSUJdfSk6KEc9ZjNbQy5JQl0scj1DLm1heEJpdHJhdGVCcHN8fDAsSD1oP2gqODowLHI9e3ZpZGVvQ29kZWM6RyxtYXhXaWR0aDp5JiYhZT84NTQ6Qy5tYXhXaWR0aHx8MCxtYXhIZWlnaHQ6eSYmIWU/NDgwOkMubWF4SGVpZ2h0fHwwLG1heEZyYW1lcmF0ZTpDLm1heEZyYW1lcmF0ZXx8MCxpczEwQml0U3VwcG9ydGVkOkMuejl8fCExLG1heEJpdHJhdGVCcHM6SCYmcj9NYXRoLm1pbihILHIpOkh8fHIsZWZmaWNpZW50OiEwfSxHPWAke0d9XyR7Qy56OX1gLEg9TC5nZXQoRyl8fFtdLEgucHVzaChyKSxMLnNldChHLEgpKTsKVD15YWooVCxMKTtDPUEmJiFlP1suLi5BXTpbXTtrLlMoImh0bWw1X3NzZmZfZGVueWxpc3Rfb3B1c19sb3ciKSYmQy5wdXNoKDI0OSwzNTApO1Z6KGspO1cubWVkaWFDYXBhYmlsaXRpZXM9e3ZpZGVvRm9ybWF0Q2FwYWJpbGl0aWVzOlQsYXVkaW9Gb3JtYXRDYXBhYmlsaXRpZXM6eixoZHJNb2RlQml0bWFzazozLHBlclBsYXliYWNrQXR0cmlidXRlczpDLmxlbmd0aD97aXRhZ0RlbnlsaXN0OkN9Ont9fX1XLnVxPVZUKCk7bi5vWj8uTiYmKFcuYnY9eC5idixXLm5TPW4ub1o/Lm5TKTtiLnlFJiYoVy5FYj1iLnlFKTtXLm5SPW4ublI7Vy5Zcz1uLllzO1cuZXE9bi5lcTtXLmo0PW4uajQ7bi5weiYmKFcubHE9KDAsZy5SKSgpLW4ucHopO24uSiQmJihXLkokPW4uSiQpO05zfHwoVy5aQz0hMCk7Qz0kcyh2KSoxRTM7Qz4wJiYoVy5YRD1DKTtEPUQuZ2V0UGxheWJhY2tSYXRlKCk7RCE9PTEmJihXLnBsYXliYWNrUmF0ZT1EKTtuLm9aPy5MQiYmbi5HNyYmKFcua0U9bi5rRSxXLlVtPW4uVW0sClcuRzc9bi5HNyk7WWQoKT09PTEmJihXLms4PTEpO2IuUygiaHRtbDVfc2Ficl9mb3JjZV9wcm94aW1hIikmJihXLlZYPTEpO0Q9Zy5kTShiLmV4cGVyaW1lbnRzLCJodG1sNV9zYWJyX2ZvcmNlX21heF9uZXR3b3JrX2ludGVycnVwdGlvbl9kdXJhdGlvbl9tcyIpO1cucDY9RD4wP0Q6di5pbnRlcnJ1cHRpb25zWzBdfHwwO24ub1o/LllaJiYoVy5yMD1uLnIwKTtiLkhKJiYoVy5hdWRpb1RyYWNrSWQ9Yi5ISik7ay5aaCgpJiYhVy5hdWRpb1RyYWNrSWQmJihiLlMoImh0bWw1X2ZpbGxfZGVmYXVsdF9tb3NhaWNfYXVkaW9fdHJhY2tfaWQiKXx8KG49bGooayksVy5hdWRpb1RyYWNrSWQ9biksaz8uVSgibWlzc3Rya2NoZyIseyJkZWZhdWx0IjpXLmF1ZGlvVHJhY2tJZH0pKTtpZihuPW5hdmlnYXRvci5jb25uZWN0aW9uPy50eXBlfHwiIilXLmRldGFpbGVkTmV0d29ya1R5cGU9SXFbbl18fElxLm90aGVyOyFiLlMoImh0bWw1X2VuYWJsZV92b2ljZV9ib29zdCIpfHxrLk5QKCl8fGsuaXNBZCgpfHwKKFcucU09Yi5taCk7cmV0dXJuIFd9OwpTVj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD17fTtXJiYoeC5xJD1XKTtpZighbilyZXR1cm4geDt4LnBsYXliYWNrQ29va2llPUQ/LnBsYXliYWNrQ29va2llO3YmJih4LmROPXYpO3gudXQ9W107eC5ycT1bXTtpZihoPy5zaXplKWZvcihsZXQgTCBvZiBoLnZhbHVlcygpKXgucnEucHVzaChMKTtpZihuLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKGxldCBMIG9mIG4uc2FickNvbnRleHRVcGRhdGVzLnZhbHVlcygpKUNIaCh4LEwsYik7Zy5ZTihuKSYmayYmQ0hoKHgsayxiKTtXPW4uRygpLk47eC5jbGllbnRJbmZvPXtjbGllbnROYW1lOkJYdFtXLmMudG9VcHBlckNhc2UoKV18fDB9O1cuY2JyYW5kJiYoeC5jbGllbnRJbmZvLmRldmljZU1ha2U9Vy5jYnJhbmQpO1cuY21vZGVsJiYoeC5jbGllbnRJbmZvLmRldmljZU1vZGVsPVcuY21vZGVsKTtXLmN2ZXImJih4LmNsaWVudEluZm8uY2xpZW50VmVyc2lvbj1XLmN2ZXIpO1cuY29zJiYoeC5jbGllbnRJbmZvLm9zTmFtZT0KVy5jb3MpO1cuY29zdmVyJiYoeC5jbGllbnRJbmZvLm9zVmVyc2lvbj1XLmNvc3Zlcik7Vz1uLkcoKTtXLlMoImh0bWw1X3NhYnJfZW5hYmxlX3NlcnZlcl94dGFnX3NlbGVjdGlvbiIpJiZXLlJhJiYoeC5jbGllbnRJbmZvLmhsPVcuUmEpO24uQngmJih4LkJ4PW4uQngpO3JldHVybiB4fTsKQ0hoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XLnR5cGV8fDA7RD8uaGFzKGIpP24ucnEucHVzaChXKTpuLnV0LnB1c2goYil9OwpGYU09ZnVuY3Rpb24obil7aWYoISh5cyhuLmluZm8pJiZuLmluZm8uUW4oKSYmbi5wb2xpY3kuc1YmJm4uZTEpfHxuLmluZm8uWGIuSj49Mnx8cDcoKT4wfHwhSU8oKSlyZXR1cm4hMTt2YXIgVz1uLlNPLmdldCgiYWl0YWdzIik7aWYoIVcpcmV0dXJuITE7Vz1HNShXKS5zcGxpdCgiLCIpO3ZhciBEPVtdO2ZvcihsZXQgYiBvZiBuLmUxKWcuamooVyxiKSYmRC5wdXNoKGIpO2lmKCFELmxlbmd0aClyZXR1cm4hMTtuLlNPLnNldCgiYWx0aXRhZ3MiLHFoKEQuam9pbigiLCIpKSk7cmV0dXJuITB9Owp3S2o9ZnVuY3Rpb24obixXLEQ9ITEpe2cuWGooVyk7bi50NS5sYXN0RXJyb3I9InBsYXllci5leGNlcHRpb24iO24uZXJyb3JNZXNzYWdlPWAke1cubmFtZX1fJHtXLm1lc3NhZ2V9YDtEP2cubUsoKCk9PntoVShuLnQ1KX0pOmhVKG4udDUpfTsKTUFNPWZ1bmN0aW9uKG4pe24uZXcmJihuLnhoci5zdGF0dXM9bi5ldyxuLmxOPW4uZXcpfTsKUnhqPWZ1bmN0aW9uKG4sVyl7bi50aW1pbmcuYmQ9ITA7bi54aHIuR3AoKSYmbi50aW1pbmcuVEMoKTtuLnBvbGljeS5OZCYmbi5UMj8uc3RvcCgpO0R4KG4uV28sVywhMSl9OwpRRnc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ucVk/TWF0aC5tYXgoVyxEL24ucVkpOlcsdj1uLmlqLkouVzt2JiYoYj1XLG4ucVkmJihiPU1hdGgubWF4KFcsRC9uLnFZKnYpKSk7QnUobi5paixXLEQsYil9OwpWQVM9ZnVuY3Rpb24obixXLEQsYix2LGspe24uTyYmKG4uTy5hZGQoTWF0aC5yb3VuZChXKSksbi5PLmFkZChNYXRoLnJvdW5kKEQpKSxuLk8uYWRkKE1hdGgucm91bmQoYikpLG4uTy5hZGQoTWF0aC5yb3VuZCh2KSksbi5PLmFkZChNYXRoLnJvdW5kKGspKSxuLk8uYWRkKE1hdGgucm91bmQobi52WCkpKX07CmNhdD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgNjg6bi5aYihEKTticmVhaztjYXNlIDM1Om4uc3koRCk7YnJlYWs7Y2FzZSA0NDpuLklyKEQpO2JyZWFrO2Nhc2UgNDM6bi5yTihEKTticmVhaztjYXNlIDUzOm4ua0ooRCk7YnJlYWs7Y2FzZSA1NjpuLk9lKCk7YnJlYWs7Y2FzZSA1NzpuLnlUKEQpO2JyZWFrO2Nhc2UgNDI6bi5XbChEKTticmVhaztjYXNlIDQ1Om4udVEoRCk7YnJlYWs7Y2FzZSA1OTpuLmdZKEQpO2JyZWFrO2Nhc2UgNTE6bi5DWChEKTticmVhaztjYXNlIDQ5Om4uTiQoRCk7YnJlYWs7Y2FzZSA1MDpuLkZYKEQpO2JyZWFrO2Nhc2UgNDc6bi5BcShEKTticmVhaztjYXNlIDU4Om4uc1coRCk7YnJlYWs7Y2FzZSA2MTpuLkhFKEQpO2JyZWFrO2Nhc2UgNzI6bi5ZYS5UcSgpO2JyZWFrO2Nhc2UgNjY6bi56cChEKTticmVhaztjYXNlIDQ2Om4udnQoRCk7YnJlYWs7Y2FzZSA2NzpuLm9uU25hY2tiYXJNZXNzYWdlKEQpO2JyZWFrO2Nhc2UgNzE6Vz1tayhELApJbGopLG4uWWEuSUYoVyl9fTsKYWlNPWZ1bmN0aW9uKG4pe0FVPW59OwpuajE9ZnVuY3Rpb24obixXLEQpe24udTkuZ2V0KFcpLm9uUHJvZ3Jlc3M9RH07Cm1lPWZ1bmN0aW9uKG4sVyl7bi5nRihXKSYmKEFVP24udTkuZ2V0KFcpLkZtLmNsZWFyKCk6bi51OS5nZXQoVykualM9bmV3IFM1LG4uSihXKSxuLlg9ITApfTsKVyRqPWZ1bmN0aW9uKG4pe2ZvcihsZXQgW1csRF1vZiBuLnU5KXtsZXQgYj1XO0QuRG98fG1lKG4sYil9fTsKRDZ4PWZ1bmN0aW9uKG4sVyl7bj1uLnU5LmdldChXKTtpZighbilyZXR1cm4gMDtXPTA7aWYobi5Bdy5sZW5ndGg+MCl7Zm9yKGxldCBEIG9mIG4uQXcpVys9RC5yYW5nZT8ubGVuZ3RofHwwO3JldHVybiBXfWlmKG4uQnQubGVuZ3RoPjApZm9yKGxldCBEIG9mIG4uQnQpVys9RC5lSHx8MDtyZXR1cm4gVytuLk1vfTsKSzM9ZnVuY3Rpb24obixXKXtpZihBVSl7bGV0IEQ9MDtuPW4udTkuZ2V0KFcpO2lmKCFuPy5GbSlyZXR1cm4gMDtmb3IobGV0IGIgb2Ygbi5GbS52YWx1ZXMoKSlEKz1iLmRhdGEudG90YWxMZW5ndGg7cmV0dXJuIER9cmV0dXJuIG4udTkuZ2V0KFcpPy5qUy5qKCl8fDB9OwpPRz1mdW5jdGlvbihuLFcpe249bi51OS5nZXQoVyk7aWYoQVUpe2lmKCFuPy5EbylyZXR1cm4hMTtXPW4uRm0uc2l6ZT4wO3JldHVybiBuLnBKLmxlbmd0aD4wfHxXfXJldHVybiEhbj8uRG8mJiEhbj8ualMuaigpfTsKYmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi51OS5nZXQoVyksYj1ENngobixXKSx2PSFiJiYhIUQuYnl0ZXNSZWNlaXZlZDtpZihBVSl7aWYobi5LdT8uelcpe2Zvcih2YXIgayBvZiBELkZtLnZhbHVlcygpKWlmKCFrLmtuKXJldHVybiExO3JldHVybiB2fX1lbHNlIGlmKGs9bi5tNihXKSx2JiZuLlcmJmshPT12b2lkIDApcmV0dXJuIGs7cmV0dXJuKHZ8fEQuYnl0ZXNSZWNlaXZlZD09PWIpJiZELmJ5K0szKG4sVyk9PT1ELmJ5dGVzUmVjZWl2ZWR9OwpQcD1mdW5jdGlvbihuLFcsRCxiKXtXPXZqdyhuLFcsRCk7RD1ELmF1O2IuQXcucHVzaCguLi5XKTtpZihBVSliLmNCLmhhcyhEKXx8Yi5jQi5zZXQoRCxbXSksYi5jQi5nZXQoRCkucHVzaCguLi5XKTtlbHNlIGlmKGIuV28pZm9yKGxldCB2IG9mIFcpYi5Xby5Bdy5wdXNoKHYpO2Vsc2UgYi5Xbz1uZXcga0JoKFsuLi5iLkF3XSksbi5vWj8uSHgmJmcudShuLGIuV28pO3JldHVybiBXfTsKdmp3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkt1Py5KLmdldChXKTtpZighYilyZXR1cm5bXTtpZihELk9KKXJldHVybiBiLlkoMCxELmNsaXBJZCk/LkF3fHxbXTtpZihiLlcoKSl7dmFyIHY9RC5zdGFydE1zLGs9RC5kdXJhdGlvbk1zLGg9MUUzO24ub1o/Lk4mJkQudGltZVJhbmdlJiYodj1ELnRpbWVSYW5nZS5zdGFydFRpY2tzPz8tMSxrPUQudGltZVJhbmdlLmw4Pz8tMSxoPUQudGltZVJhbmdlLnRpbWVzY2FsZT8/LTEpO2lmKEQuenY8MHx8RC5QUDwwfHxrPDB8fHY8MHx8RC5lSDwwfHxoPDApcmV0dXJuIG1lKG4sVyksW107bj1XXyhELnp2LEQuZUgpO1c9RC5kR3x8MDtyZXR1cm5bbmV3IHFJKDMsYixuLCJtYWtlU2xpY2VJbmZvc01lZGlhQnl0ZXMiLEQuUFAtMSx2L2gsay9oLFcsbi5sZW5ndGgtVyx2b2lkIDAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV19aWYoRC5QUDwwKXJldHVybiBtZShuLFcpLFtdO2lmKG4uS3U/LnpXKXJldHVybiBrPWIucmIsaD1rKmIuaW5mby5OcywKVz1ELmRHLG4ub1o/Lk4mJm4uVi50ZCgpIT09Ik9ORVNJRSImJkQudGltZVJhbmdlJiYhVyYmKHY9RC50aW1lUmFuZ2Uuc3RhcnRUaWNrcy9ELnRpbWVSYW5nZS50aW1lc2NhbGUpLFtuZXcgcUkoMyxiLHZvaWQgMCwibWFrZVNsaWNlSW5mb3NNZWRpYUJ5dGVzIixELlBQLHYsayxXLGgsITAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV07aWYobi5vWj8uUXImJmIgaW5zdGFuY2VvZiBydCl7aWYoIWIuTigpKXJldHVybiBuLnU5LmdldChXKS5XcS5zZXQoRC5hdSxEKSxbXTtuPUQuUFAtMTt2PWIuaW5kZXguZ2V0U3RhcnRUaW1lKG4pO2s9Yi5pbmRleC5nZXREdXJhdGlvbihuKTtyZXR1cm5bbmV3IHFJKDMsYix2b2lkIDAsIm1ha2VTbGljZUluZm9zTWVkaWFCeXRlcyIsbix2LGssMCxrKmIuaW5mby5Ocyx2b2lkIDAsdm9pZCAwLHZvaWQgMCxELkhmIT09dm9pZCAwKV19cmV0dXJuW119OwpoNzI9ZnVuY3Rpb24obixXLEQpe24uS3U9VztuLm9aPUQ7Zm9yKGxldCBbYix2XW9mIG4udTkpe1c9YjtEPXY7Zm9yKGxldCBrIG9mIEQucDkpUHAobixXLGssRCl9fTsKeDZ3PWZ1bmN0aW9uKG4pe3JldHVybiBuLndEKCkmJiFuLkFkfTsKVUc9ZnVuY3Rpb24obil7aWYobi5VOCE9PXZvaWQgMCl7dmFyIFc9bi5wb2xpY3kual8oKTtpZihXKXt2YXIgRD1XLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRFdmVudHNDb3VudChuLlU4KTtpZihEPjApe3ZhciBiPVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2dldEJhdGNoZWRFdmVudHMobi5VOCk7aWYoYil7Yj1XLm1lbW9yeS5idWZmZXIoYixEKjE2KTtiPW5ldyBVaW50MzJBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQsRCo0KTtsZXQgaz0wO2ZvcihsZXQgaD0wO2g8RDtoKyspe3ZhciB2PWJba107bGV0IHg9YltrKzFdLEw9YltrKzJdLGU9YltrKzNdO3Y9PT0wP2UhPT0wJiYodj14JiZMPjA/bmV3IFM1KFtXLm1lbW9yeS5idWZmZXIoeCxMKS5zbGljZSgpXSk6bmV3IFM1KFtuZXcgVWludDhBcnJheSgwKV0pLG4ueUQud20oZSx2KSk6dj09PTEmJm4ueGhyLkdwKCkmJlp4KG4pO2srPTR9fVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NsZWFyRXZlbnRzKG4uVTgpfX19fTsKWng9ZnVuY3Rpb24obil7bi5wb2xpY3kuWTAmJm4uUHEmJiFuLmdVP24uZ1U9ITA6bi5uZi5UQygpfTsKTCQyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9LTEsYj0tMSx2PS0xO2lmKG4udFk/Lml0ZW1zKWZvcihsZXQgayBvZiBuLnRZLml0ZW1zKVc8ay5Ga3x8ay5GazxEfHwoRD1rLkZrLGI9ay5meix2PWsubWluUmVhZGFoZWFkTXMpO3JldHVybntxRTpELGZ6OmIsRFE6dn19Owp5Qj1mdW5jdGlvbihuKXtpZihuLlU4IT09dm9pZCAwKXJldHVybiBuLnBvbGljeS5qXygpLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRNZWRpYUJ5dGVzKG4uVTgpfTsKZy5FRz1mdW5jdGlvbihuLFcsRCl7Zy52UChuLEQpfHxnLmdfKG4sVyxEKTtnLnZQKG4sInZpZGVvX3RvX2FkIil8fGcuZ18obixXLCJ2aWRlb190b19hZCIpO2cudlAobiwiYWRfdG9fdmlkZW8iKXx8Zy5nXyhuLFcsImFkX3RvX3ZpZGVvIik7Zy52UChuLCJhZF90b19hZCIpfHxnLmdfKG4sVywiYWRfdG9fYWQiKX07Cml1PWZ1bmN0aW9uKG4pe24uT3x8KG4uTz0oMCxnLlIpKCksZy5FRygibWJfcyIsbi5PLG4uelIpKX07CmU3Yj1mdW5jdGlvbihuKXtuLnR3fHwobi50dz0oMCxnLlIpKCksZy5FRygib3Zmc19ycCIsbi50dyxuLnpSKSl9OwpnajE9ZnVuY3Rpb24obil7bi5jSnx8KG4uY0o9KDAsZy5SKSgpLGcuRUcoIm9hZnNfcnAiLG4uY0osbi56UikpfTsKWFNoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XIGluc3RhbmNlb2YgdXUmJiFuLlgmJiFuLk4sdj0hbi5YJiZEPy5pbmZvLnZpZGVvO0Q9IW4uTiYmRD8uaW5mby5hdWRpbztXLnN0YXRlPT09Mz8oKHZ8fGIpJiZuLnRpY2soInZyciIpLChEfHxiKSYmbi50aWNrKCJhcnIiKSk6Vy5zdGF0ZT09PTQ/dj8obi5YPVcuV0QoKSxnLkR5KCksYlEoNCkpOkQmJihuLk49Vy5XRCgpKTpXIGluc3RhbmNlb2YgQUImJlcuUXkoKSYmdiYmKGcuRHkoKSxiUSg0KSl9OwpvcT1mdW5jdGlvbihuLFcsRCl7bi5KIT09VyYmKG4uVSgic2RhaSIse3NldHNzdDpXLG9sZDpuLkoscjpEfSksbi5KPVcpfTsKR0JiPWZ1bmN0aW9uKG4sVyxELGI9ITApe2lmKEQmJiFuLlRDLmhhcyhXLmokKSl7dmFyIHY9Vy5zdGFydFRpbWUsaz1bXTtmb3IodmFyIGg9MDtoPEQuTi5sZW5ndGg7aCsrKXt2YXIgeD1ELk5baF0sTD12O3Y9TCtELkpbaF07ay5wdXNoKHtzdGFydFRpbWU6TCxlbmRUaW1lOnYsYWRDcG46eH0pfW4uVEMuc2V0KFcuaiQsayl9bi5wb2xpY3kuZVYmJih2PW4uRCYmVy5qJD09PW4uRC5qJCsxLG4uRD1XLGs9bi5OJiZXLmokPT09bi5OLmokKzEsaz1uLk4mJnYmJmsmJm4uTi5mZi5ldmVudCE9PSJzdG9wIiYmbi5OLmZmLmV2ZW50IT09InByZWRpY3RTdGFydCIsaD1XLmZmfHxudWxsLHg9bi52aWRlb1RyYWNrLlBKLmluZGV4LngkKCkseD1XLmokPj14LEw9bi5LdS5pc01hbmlmZXN0bGVzcyxoPyhuLk4/LmZmLmV2ZW50PT09InByZWRpY3RTdGFydCImJm4uTi5qJDxXLmokJiZoLmV2ZW50PT09InN0b3AiJiZuLmxvYWRlci5oYW5kbGVFcnJvcigic3NkYWkubWlzc2luZ3N0YXJ0Y3VlZXZlbnQiLAp7bGFzdHByZWRpY3Q6bi5OPy5qJHx8MCxjc3E6Vy5qJH0sMCksbi5OPXtmZjpoLGokOlcuaiQsZks6ISFELGZZOmJ9LHg/bi5WaShoLFcuaiQpOkwmJih2P2s/bi5WaShoLFcuaiQpOmguZXZlbnQ9PT0iY29udGludWUifHxoLmV2ZW50PT09InN0b3AiP3EkMihuLFcpOm4uVmkoaCxXLmokKTpuLlZpKGgsVy5qJCkpKTooayYmcSQyKG4sVyksbi5KPT09NCYmb3Eobiw1LCJxZW5kIikpKX07CnJraj1mdW5jdGlvbihuLFcsRCxiLHYpe1chPT1uLk4/LmokfHxuLko9PT0xfHxifHxuLk4uZmYuZXZlbnQ9PT0icHJlZGljdFN0YXJ0Inx8bi5VKCJzZGFpIix7dW5kZWNldnQ6MSxzcTpXLG10OkQsZXZ0Om4uTi5mZi5ldmVudH0sITApO1c+bi5qJiYobi5qPU5hTixuLlY9TmFOKTtpZihuLk4mJm4uTi5qJD09PVcpe2lmKGI9bi5OLCFuLnBvbGljeS5YfHwhbi5wb2xpY3kuVTEpaWYodiYmYil7dmFyIGs9Yi5mZixoPXYuU0Qoayk7ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5jSj1XKTtuLlUoInNkYWkiLHtvbnFldnQ6ay5ldmVudCxzcTpXLG10OkQsZ2FiOmgsY3N0Omsuc3RhcnRTZWNzLGN1ZWlkOm4ucG9saWN5LnlkJiYoaHx8ay5ldmVudD09PSJzdGFydCIpP2suaWRlbnRpZmllcjp2b2lkIDB9LCEwKTtoP2suZXZlbnQhPT0icHJlZGljdFN0YXJ0Ij8oay5ldmVudD09PSJzdGFydCImJm4uY0o9PT1XLTEmJm4uVSgic2RhaSIse2dhYm9uc3RhcnQ6V30pLGIuZks/b3EobiwKNCwiY3VlIik6KG4uaj1XLG4uVj1ELG4uVSgic2RhaSIse2pvaW5hZDpuLkosc2c6bi5qLHN0Om4uVi50b0ZpeGVkKDMpfSksbi5ZPURhdGUubm93KCksb3EobiwyLG4uSj09PTM/InN0YWZ0cHJlZCI6ImpvaW4iKSx0dmkodixiLmZmKSkpOihoPSQ2aChuKSxXKz1NYXRoLm1heChNYXRoLmNlaWwoLWsuTi9oKSwxKSxrPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLnBvbGljeS5VMT9uLlc9azpuLlg9VyxuLlUoInNkYWkiLHtvbnByZWQ6RCxlc3RzcTpXLGVzdG10OmsudG9GaXhlZCgzKX0pLGcuZEMobi5sb2FkZXIsayxrLFcsaCksbi5ZPURhdGUubm93KCksb3EobiwzLCJwcmVkaWN0IiksdHZpKHYsYi5mZikpOm4uSj09PTE/bi5zVT8uR2coRCk/KGcuZEMobi5sb2FkZXIsRCxELFcpLG9xKG4sNCwic2syaGVhZCIpKTpvcShuLDUsIm5vZ2FiIik6ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5wb2xpY3kuVTEmJm4uVz4wPyhEPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLlchPT1EJiYKbi5VKCJzZGFpIix7dXBkYXRlU3Q6RCxvbGQ6bi5XfSksbi5XPUQpOm4uWD4wJiYoRD1XK01hdGgubWF4KE1hdGguY2VpbCgtay5OLyQ2aChuKSksMSksbi5YIT09RCYmKG4uVSgic2RhaSIse3VwZGF0ZVN0OkQsb2xkOm4uWH0pLG4uWD1EKSkpfWVsc2Ugbi5VKCJzZGFpIix7bnVsbGRlYzoxLHNxOlcsbXQ6RC50b0ZpeGVkKDMpLGV2dDpiPy5mZj8uZXZlbnR8fCJub25lIn0pfWVsc2Ugbi5KPT09MSYmb3Eobiw1LCJub2FkIil9Owp6ST1mdW5jdGlvbihuLFcsRCl7cmV0dXJuKEQ8MHx8RD09PW4uaikmJiFpc05hTihuLlYpP24uVjpXfTsKcSQyPWZ1bmN0aW9uKG4sVyl7aWYobi5OKXt2YXIgRD1uLk4uZmYuQ2YtKFcuc3RhcnRUaW1lK24uSy1uLk4uZmYuc3RhcnRTZWNzKTtEPD0wfHwoRD1uZXcgZy5sMyhuLk4uZmYuc3RhcnRTZWNzLShpc05hTihuLkspPzA6bi5LKSxELG4uTi5mZi5jb250ZXh0LG4uTi5mZi5pZGVudGlmaWVyLCJzdG9wIixuLk4uZmYuTitXLmR1cmF0aW9uKjFFMyksbi5VKCJjdWVwb2ludGRpc2NvbnRpbnVpdHkiLHtzZWdOdW06Vy5qJH0pLG4uVmkoRCxXLmokKSl9fTsKJDZoPWZ1bmN0aW9uKG4pe3N3aXRjaChuLnBvbGljeS5sYXRlbmN5Q2xhc3Mpe2Nhc2UgIkxPVyI6cmV0dXJuIDJFMztjYXNlICJVTFRSQUxPVyI6cmV0dXJuIDFFMztkZWZhdWx0OnJldHVybiA1RTN9fTsKbHU9ZnVuY3Rpb24obixXLEQsYj0hMSl7Yj9vcShuLDEsInNlZWsiKTpXPjAmJk1hdGguYWJzKFctRCk+PTUmJm4uSj09PTQmJm9xKG4sNSwic2sydCIpfTsKZy5UST1mdW5jdGlvbihuKXtyZXR1cm4gbi50aWxlQ29udGV4dD9gJHtuLlNTfTske24udGlsZUNvbnRleHR9YDpuLlNTfTsKalY9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuInVua25vd24iO3N3aXRjaChuKXtjYXNlIDU6cmV0dXJuInByZWRpY3RTdGFydCI7Y2FzZSAxOnJldHVybiJzdGFydCI7Y2FzZSAyOnJldHVybiJjb250aW51ZSI7Y2FzZSAzOnJldHVybiJzdG9wIjtjYXNlIDY6cmV0dXJuInByZWZldGNoIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpzU3c9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInByZWRpY3RTdGFydCI6cmV0dXJuIDU7Y2FzZSAic3RhcnQiOnJldHVybiAxO2Nhc2UgImNvbnRpbnVlIjpyZXR1cm4gMjtjYXNlICJzdG9wIjpyZXR1cm4gMztjYXNlICJwcmVmZXRjaCI6cmV0dXJuIDY7ZGVmYXVsdDpyZXR1cm4gMH19OwpON1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgMjpyZXR1cm4gMjtjYXNlIDE6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gMH19OwpwU1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgNjpyZXR1cm4gNztjYXNlIDU6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgMTE6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiA0O2Nhc2UgMTpyZXR1cm4gNTtjYXNlIDEyOnJldHVybiA2O2RlZmF1bHQ6cmV0dXJuIDB9fTsKZy5DMz1mdW5jdGlvbihuKXtyZXR1cm4gbj9uLnRpbGVDb250ZXh0P2Ake24uaWRlbnRpZmllcn07JHtuLnRpbGVDb250ZXh0fWA6bi5pZGVudGlmaWVyOiIifTsKZy5CcD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAwOnJldHVybiJ1bmtub3duIjtjYXNlIDE6cmV0dXJuInRpbWVvdXQiO2Nhc2UgMjpyZXR1cm4icmF0ZWNvbnRyb2wiO2Nhc2UgMTE6cmV0dXJuInJhdGVjb250cm9sX2NsaWVudCI7Y2FzZSAzOnJldHVybiJzdmVyciI7Y2FzZSA0OnJldHVybiJkZWxldGVkIjtjYXNlIDU6cmV0dXJuIndhaXRpbmciO2Nhc2UgNjpyZXR1cm4icmVhZHkiO2Nhc2UgNzpyZXR1cm4ic3NkaXNhYmxlZCI7Y2FzZSA5OnJldHVybiJzc2Rpc2FibGVkX3VzdHJlYW1lciI7Y2FzZSAxMDpyZXR1cm4ic3NkaXNhYmxlZF9ub19jb25maWciO2Nhc2UgMTI6cmV0dXJuIm5vZ2FiY29uZmlnIjtjYXNlIDg6cmV0dXJuImluYWN0aXZlIjtjYXNlIDEzOnJldHVybiJjYWNoZW1pc3MiO2RlZmF1bHQ6cmV0dXJuInVua25vd24ifX07CkZ1PWZ1bmN0aW9uKG4pe3ZhciBXPS0obi5mZj8uVHl8fDApO24udGltZVJhbmdlJiYoVys9KG4udGltZVJhbmdlLnN0YXJ0VGlja3N8fDApLyhuLnRpbWVSYW5nZS50aW1lc2NhbGV8fDEpKTtyZXR1cm4gbmV3IGcubDMoVyxuLmZmPy5NS3x8MCxuLmZmPy51VHx8IiIsbi5mZj8uaWRlbnRpZmllcnx8IiIsalYobi5mZj8uZXZlbnQpLChuLmZmPy5UeXx8MCkqMUUzLG4udGlsZUNvbnRleHQpfTsKZy5ZJEM9ZnVuY3Rpb24obixXKXt2YXIgRD0iIixiPVtdO2ZvcihsZXQgW3Ysa11vZiBuLk4uZW50cmllcygpKXtsZXQgaD12LHg9azt4Py5zdGFydFRpbWVTZWNzPD1XJiZXPD14Py5zdGFydFRpbWVTZWNzK3g/LkNmJiZiLnB1c2goaCk7RCs9YCR7aH06JHt4Py5zdGFydFRpbWVTZWNzLnRvRml4ZWQoMyl9OiR7eD8uQ2YudG9GaXhlZCgzKX07YH1iLmxlbmd0aD09PTAmJihXPXtub19jaWQ6MSxtdDpXLnRvRml4ZWQoMyksYWRDb25maWdNYXA6RC5zdWJzdHJpbmcoMCwxMDI0KX0sbi5wb2xpY3kuRlImJm4uVSgiY2xzZGFpIixXKSk7cmV0dXJuIGJ9OwpIZVU9ZnVuY3Rpb24obixXLEQ9ITEpe0QmJihuLlY9ITApOysrbi5qO0Q9NkU0KjIqKm4uajtEPSgwLGcuUikoKStEO24uVy5zZXQoVy5pbmZvLmlkLEQpfTsKd0M9ZnVuY3Rpb24obil7Zm9yKGxldCBbVyxEXW9mIG4uVy5lbnRyaWVzKCkpe2xldCBiPVc7RDwoMCxnLlIpKCkmJm4uVy5kZWxldGUoYil9cmV0dXJuIG4uV307ClJxPWZ1bmN0aW9uKG4sVyl7bi5OPVc7dmFyIEQ9bi5LLnZpZGVvSW5mb3M7aWYoIW4uTi5pc0xvY2tlZCgpKXtsZXQgaz0oMCxnLlIpKCk7RD1nLkVNKEQsZnVuY3Rpb24oaCl7aWYoaC5Ocz50aGlzLnBvbGljeS5OcylyZXR1cm4hMTt2YXIgeD10aGlzLkt1Lk5baC5pZF07cmV0dXJuIHdDKHRoaXMuaikuZ2V0KGguaWQpPmt8fHguWGIuSj40fHx4LkZGPjQ/ITE6dGhpcy50dy5oYXMoK2guaXRhZyk/ITE6ITB9LG4pOwpuLmoubGwoKSYmKEQ9Zy5FTShELGg9PmgudmlkZW8ud2lkdGg8PTg1NCYmaC52aWRlby5oZWlnaHQ8PTQ4MCkpfUQubGVuZ3RofHwoRD1uLksudmlkZW9JbmZvcyk7CnZhciBiPUQ7bi5wb2xpY3kuUm8mJihiPWZRaChuLGIsVykpO2I9Zy5FTShiLFcuWCxXKTtpZihuLk4uaXNMb2NrZWQoKSYmbi5qLk4pe3ZhciB2PWcubF8oRCxrPT5rLmlkPT09bi5qLk4pOwp2P2I9W3ZdOm4uRGUoIiIpfW4ucG9saWN5LlJvfHwoYj1mUWgobixiLFcpKTtiLmxlbmd0aHx8KGI9W0RbMF1dKTtiLnNvcnQoKGssaCk9Pk1xKG4sayktTXEobixoKSk7CmZvcihXPTE7VzxiLmxlbmd0aDtXKyspRD1iW1ctMV0sdj1iW1ddLEQudmlkZW8ud2lkdGg+di52aWRlby53aWR0aD8oZy5CTShiLFcpLFctLSk6TXEobixEKSpuLnBvbGljeS5LPk1xKG4sdikmJihnLkJNKGIsVy0xKSxXLS0pO1c9YltiLmxlbmd0aC0xXTtuLkR0PSEhbi5XJiYhIW4uVy5pbmZvJiZuLlcuaW5mby5JQiE9PVcuSUI7bi5YPWI7bi5lJC5jbGVhcigpO0Q9ITE7Zm9yKHY9MDt2PGIubGVuZ3RoO3YrKylEP24uZSQuYWRkKGJbdl0uaXRhZyk6Ylt2XS52aWRlby5xdWFsaXR5T3JkaW5hbD49MTA4MCYmKEQ9ITApO0prQyhuLnBvbGljeSxXLG4uS3UuelcpfTsKSVExPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9saWN5LmNKLEQ9Tlcobi5JZykvVy1NcShuLG4uSi5pbmZvKTtXPWcuVDQobi5YLGZ1bmN0aW9uKGIpe3JldHVybiBNcSh0aGlzLGIpPER9LG4pOwpXPDAmJihXPTApO24udmlkZW9JbmRleD1XO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdfTsKUyRoPWZ1bmN0aW9uKG4pe24uUyQ/bi5TJD0hMTpuLlk9KDAsZy5SKSgpO24uRD0hMTtuLlZRPSExO3JldHVybiBuZXcgUUIobi5WLG4uVyxuLk4ucmVhc29uKX07Cm02dz1mdW5jdGlvbihuLFcsRCl7UnEobixXKTt2YXIgYj1uLmo7Vz1iLlguSjtEPWJZKFcse2dPOmIucG9saWN5LmdPLGo5OmIucG9saWN5Lmo5LGxhbmd1YWdlSWQ6RH0pO24uSj1uLkt1Lk5bKEQubGVuZ3RoPjA/RFswXTpXWzBdKS5pZF07VkIobik7bi5WPW4uSjtJUTEobik7bi5UQy5sZW5ndGgmJihuLm5leHRWaWRlbz1Ba00obixuLm5leHRWaWRlbyxuLksudmlkZW9JbmZvcyksbi5KPUFrTShuLG4uSixuLksuSikpO24uVz1uLm5leHRWaWRlbztuLlY9bi5KO3JldHVybiBTJGgobil9OwpLJGo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmVxdWFscyhXKSYmKCFuLmouTnx8IW4uTi5pc0xvY2tlZCgpfHxuLm5leHRWaWRlbz8uaW5mby5pZD09PW4uai5OKX07ClZCPWZ1bmN0aW9uKG4pe2lmKCFuLkp8fCFuLnBvbGljeS5KJiYhbi5KLmluZm8ua1ope3ZhciBXPW4uSy5KO24uSiYmKFc9YlkoVyx7bGFuZ3VhZ2VJZDpuLkouaW5mby5rWj8uaWQsZ086bi5wb2xpY3kuZ08sajk6bi5wb2xpY3kuajl9KSxXLmxlbmd0aHx8KFc9bi5LLkopKTtuLko9bi5LdS5OW1dbMF0uaWRdO2lmKFcubGVuZ3RoPjEmJiFuLnBvbGljeS5IaSl7aWYoIW4ucG9saWN5LnRHKXt2YXIgRD1nLmxfKFcsYj0+Yi5hdWRpby5hdWRpb1F1YWxpdHkhPT0iQVVESU9fUVVBTElUWV9ISUdIIik7CkQmJihuLko9bi5LdS5OW0QuaWRdKX1EPSExO2lmKEQ9bi5wb2xpY3kuWSQ/ITA6bi5OLmlzTG9ja2VkKCk/bi5OLk48MjQwOk9laShuLG4uSikpbi5KPW4uS3UuTltnLlVNKFcpLmlkXX19fTsKY3A9ZnVuY3Rpb24obil7aWYoIW4ubmV4dFZpZGVvfHwhbi5wb2xpY3kuSilpZihuLk4uaXNMb2NrZWQoKSluLm5leHRWaWRlbz1uLk4uTjw9MzYwP24uS3UuTltuLlhbMF0uaWRdOm4uS3UuTltnLlVNKG4uWCkuaWRdO2Vsc2V7Zm9yKHZhciBXPU1hdGgubWluKG4udmlkZW9JbmRleCxuLlgubGVuZ3RoLTEpLEQ9Tlcobi5JZyksYj1NcShuLG4uSi5pbmZvKSx2PUQvbi5wb2xpY3kuY0otYjtXPjAmJiEoTXEobixuLlhbV10pPD12KTtXLS0pO2ZvcihEPUQvbi5wb2xpY3kuSy1iO1c8bi5YLmxlbmd0aC0xJiYhKE1xKG4sbi5YW1crMV0pPj1EKTtXKyspO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdO24udmlkZW9JbmRleD1XfX07ClBDMj1mdW5jdGlvbihuLFcpe2lmKFcuUEouaW5mby52aWRlbyYmVy5hWil7bGV0IEQ9KFcuTitXLkopL1cuVyxiPVcuUEouaW5mby5OcztEJiZiJiYobi5udS5JSSgxLEQvYiksbi5wb2xpY3kuVyYmRC9iPjEuNSYmbi5sb2FkZXIuVSgib3ZlcnNob290Iix7c3E6Vy5qJCxicjpELG1heDpifSkpfX07CmFxPWZ1bmN0aW9uKG4sVyxEPSExKXtIZVUobi5qLFcsRCk7bi5ZPS0xO1JxKG4sbi5OKX07Clpldz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgUUIobi5WLG4uVyxXfHxuLk4ucmVhc29uKX07Ck1xPWZ1bmN0aW9uKG4sVyl7aWYoIW4uYmRbVy5pZF0pe3ZhciBEPW4uS3UuTltXLmlkXS5pbmRleC5YZChuLmNKLDE1KTtEPVcuWG4mJm4uVyYmbi5XLmluZGV4LmlzTG9hZGVkKCk/RHx8Vy5YbjpEfHxXLk5zO24uYmRbVy5pZF09RH1EPW4uYmRbVy5pZF07bi5lJC5oYXMoVy5pdGFnKSYmKEQqPTEuNSk7cmV0dXJuIEQqPU1hdGgubWF4KDEsbi5udS5MZygpfHwwKX07ClU2Qz1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBvZiBXKXtpZighYnx8IWIudmlkZW8pY29udGludWU7Vz1iLnZpZGVvLnF1YWxpdHlPcmRpbmFsO2xldCB2PURbV10saz12JiZ2Lk1XKCkmJnYudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5wb2xpY3kublMsaD1XPD1uLnBvbGljeS5uUz9iLk1XKCk6Yi5YKCk7aWYoIXZ8fGt8fGgpRFtXXT1ifXJldHVybiBEfTsKZlFoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1ELnJlYXNvbj09PSJtInx8RC5yZWFzb249PT0icyI7bi5wb2xpY3kuUnEmJm5yJiZnLkduJiYoIWJ8fEQuTjwxMDgwKSYmKFc9Vy5maWx0ZXIodj0+di52aWRlbyYmKCF2Lmp8fHYuai5wb3dlckVmZmljaWVudCkpKTsKaWYoVy5sZW5ndGg+MClpZihWVCgpKXtsZXQgdj1VNkMobixXKTtXPVcuZmlsdGVyKGs9PiEhayYmISFrLnZpZGVvJiZrLklCPT09dltrLnZpZGVvLnF1YWxpdHlPcmRpbmFsXS5JQil9ZWxzZXtsZXQgdj1XWzBdPy52aWRlbz8ucXVhbGl0eU9yZGluYWw7CmlmKHYpe0Q9Vy5maWx0ZXIoaD0+ISFoJiYhIWgudmlkZW8mJmgudmlkZW8ucXVhbGl0eU9yZGluYWw9PT12KTsKbGV0IGs9VTZDKG4sRClbdl0uSUI7Vz1XLmZpbHRlcihoPT4hIWgmJiEhaC52aWRlbyYmaC5JQj09PWspfX1yZXR1cm4gV307Ck9laT1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wO0QrMTxuLlgubGVuZ3RoJiZuLlhbRF0udmlkZW8ucXVhbGl0eT09PSJ0aW55IjspRCsrO3ZhciBiPU5XKG4uSWcpL24ucG9saWN5Lks7cmV0dXJuIE1xKG4sVy5pbmZvKStNcShuLG4uWFtEXSk+Yn07CkFrTT1mdW5jdGlvbihuLFcsRCl7aWYoVy5pbmZvLklCPT09ImYifHxuLlRDLmluY2x1ZGVzKGN3KFcsbi5LdS56VykpKXJldHVybiBXO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKXtsZXQgdj1uLkt1Lk5bRFtiXS5pZF07aWYoIW4uVEMuaW5jbHVkZXMoY3codixuLkt1LnpXKSkpY29udGludWU7bGV0IGs9Vy5pbmZvLklCLGg9di5pbmZvLklCO2lmKGs9PT1ofHxWVCgpKXtpZihXLmluZm8udmlkZW8/Vy5pbmZvLkohPT12LmluZm8uSjpXLmluZm8ua1o/LmlkIT09di5pbmZvLmtaPy5pZHx8YXkoVy5pbmZvKSE9PWF5KHYuaW5mbyl8fFZFKFcuaW5mbykhPT1WRSh2LmluZm8pKXJldHVybiBXNihuLHttaXNtYXRjaDoieHRhZyIsZjpXLmluZm8uaWQsdDp2LmluZm8uaWR9KSxXO1c2KG4se2Y6Vy5pbmZvLml0YWcsdDp2LmluZm8uaXRhZ30pO24uUyQ9ITA7cmV0dXJuIHZ9VzYobix7bWlzbWF0Y2g6ImVmZmljaWVudCIsZmM6ayx0YzpofSl9VzYobix7bWlzbWF0Y2g6InVuc2VsZWN0YWJsZSIsCmZtdHM6bi5UQy5qb2luKCIuIil9KTtyZXR1cm4gV307Clc2PWZ1bmN0aW9uKG4sVyl7bi5wb2xpY3kuRUQ/bi5sb2FkZXIuaGFuZGxlRXJyb3IoIm9uZXNpZS5mbXQubWlzbWF0Y2giLFcsMCk6bi5sb2FkZXIuVSgib21iaWZhIixXKX07Cnlrcj1mdW5jdGlvbihuLFcpe249cWMobi5LdS5OLEQ9PkQuaW5mby5pdGFnPT09Vyk7CmlmKCFuKXRocm93IEVycm9yKCJJdGFnICIrVysiIGZyb20gc2VydmVyIG5vdCBrbm93bi4iKTtyZXR1cm4gbn07CkVqWj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLk4ucmVhc29uPT09Im0ifHxuLk4ucmVhc29uPT09InMiKXJldHVybiBXO2lmKEl0aShuLkt1KSl7Zm9yKGxldCBEPU1hdGgubWF4KDAsbi52aWRlb0luZGV4LTIpO0Q8bi52aWRlb0luZGV4JiZEPG4uWC5sZW5ndGg7RCsrKVcucHVzaChuLlhbRF0uaXRhZyk7Vy5yZXZlcnNlKCl9cmV0dXJuIFd9OwppZWk9ZnVuY3Rpb24obixXKXtuLkRrKCJpc21wX3AiKTtuLko9V307CnU5VT1mdW5jdGlvbihuKXtuLk4mJihuLk4uZGlzcG9zZSgpLG4uRGsoImlzbXBfZCIpKX07Cm9qdz1mdW5jdGlvbih7dEk6bj0hMSxzSjpXPSExLGU0OkQ9ITF9PXt9KXtyZXR1cm4gbj9EPzM6MjpXPy0xOjF9OwpEZD1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1uLnRyYWNrLlFFO2lmKHYpe3Y9di5aRigpO2Zvcih2YXIgaz0wO2s8di5sZW5ndGg7aysrKWIucHVzaChNYXRoLnJvdW5kKHYuc3RhcnQoaykqMUUzKSksYi5wdXNoKE1hdGgucm91bmQodi5lbmQoaykqMUUzKSl9dj0xO2s9Yi5sZW5ndGg7aWYoaz09PW4uYnVmZmVyZWQubGVuZ3RoKXtmb3IodmFyIGg9MDtoPD1rJiZiW2hdPT09bi5idWZmZXJlZFtoXTtoKyspO2g+az92PTA6YltoXT5uLmJ1ZmZlcmVkW2hdJiYoaD09PWstMT92PTI6aD09PWstMiYmYltoKzFdPm4uYnVmZmVyZWRbaCsxXSYmKHY9MykpfW4uTi5hZGQoVzw8M3woRCYmNCl8dik7Vz1NYXRoLmNlaWwobi50cmFjay5sNSgpKjFFMyk7bi5OLmFkZChXLW4uaik7bi5qPVc7aWYodj09PTEpZm9yKG4uTi5hZGQoayksVz0wLGg9MDtoPGs7aCsrKW4uTi5hZGQoYltoXS1XKSxXPWJbaF07dj09PTMmJm4uTi5hZGQoYltrLTJdLW4uYnVmZmVyZWRbay0yXSk7dj49MiYmbi5OLmFkZChiW2stCjFdLW4uYnVmZmVyZWRbay0xXSk7RCYmbi5OLmFkZChEKTtuLmJ1ZmZlcmVkPWJ9OwpUN2I9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5hWilyZXR1cm4gRC5sZW5ndGg9PT0wP0QucHVzaChiLmNsb25lKCkpOihuPShXPUQucG9wKCkpP2Q2cihuLFcsYik6bnVsbCk/RC5wdXNoKG4pOkQucHVzaChiLmNsb25lKCkpLHY7KEQ9KEQ9RC5wb3AoKSk/ZDZyKG4sRCxiKTpudWxsKXx8KEQ9Yik7aWYoRC5OKXJldHVybiBuLmxvZ2dlciYmbi5sb2dnZXIoe2luY29tcGxldGVTZWdtZW50OkQuZ2EoKX0pLHY7dmFyIHtmb3JtYXRJZDprLGokOmgsc3RhcnRUaW1lTXM6eCxjbGlwSWQ6TCxyOTplfT17Zm9ybWF0SWQ6Zy5WZihELlBKLmluZm8sbi5LdS56VyksaiQ6RC5qJCtuLlgsc3RhcnRUaW1lTXM6RC5zZWdtZW50U3RhcnRUaW1lKjFFMyxjbGlwSWQ6RC5jbGlwSWQscjk6RC5XKjFFM307Yj17Y2xpcElkOkwsZm9ybWF0SWQ6ayxzdGFydFRpbWVNczp4LGR1cmF0aW9uTXM6ZSxBQzpoLGk5Omh9O3Y9ejdVKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRzsKaWYoRz1EKXtHPWI7dmFyIHI9dixOPUQuc3RhcnRUaW1lTXMrRC5kdXJhdGlvbk1zLEg9Ry5zdGFydFRpbWVNcytHLmR1cmF0aW9uTXM7aWYoRy5zdGFydFRpbWVNcy1OPm4uTilHPSExO2Vsc2UgaWYobFFoKG4sRC5mb3JtYXRJZCxHLmZvcm1hdElkKSlELmR1cmF0aW9uTXM9TWF0aC5tYXgoTixIKS1ELnN0YXJ0VGltZU1zLEQuaTk9TWF0aC5tYXgoRC5pOSxHLmk5KSxHPSEwO2Vsc2UgaWYoTWF0aC5hYnMoRC5zdGFydFRpbWVNcy1HLnN0YXJ0VGltZU1zKTw9bi5OKWlmKEQuZHVyYXRpb25Ncz5HLmR1cmF0aW9uTXMrbi5OKXtyPUQuZm9ybWF0SWQ7dmFyIEE9RC5BQyx5PUQuaTk7RC5mb3JtYXRJZD1HLmZvcm1hdElkO0QuZHVyYXRpb25Ncz1HLmR1cmF0aW9uTXM7RC5BQz1HLkFDO0QuaTk9Ry5pOTtHLmZvcm1hdElkPXI7Ry5zdGFydFRpbWVNcz1IO0cuZHVyYXRpb25Ncz1OLUg7Ry5BQz1BO0cuaTk9eTtHPSExfWVsc2UgRC5mb3JtYXRJZD1HLmZvcm1hdElkLEc9ITA7ZWxzZSBOPgpHLnN0YXJ0VGltZU1zJiYoTj5IJiYoVy5zcGxpY2UocisxLDAse2Zvcm1hdElkOkQuZm9ybWF0SWQsc3RhcnRUaW1lTXM6SCxkdXJhdGlvbk1zOk4tSCxBQzpHLmk5KzEsaTk6RC5pOX0pLG4ubG9nZ2VyJiZuLmxvZ2dlcih7c3BsaXRPbGRTdGFydDpELnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0T2xkRW5kOk4/LnRvRml4ZWQoMyksc3BsaXROZXdTdGFydDpHLnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0TmV3RW5kOkg/LnRvRml4ZWQoMyl9KSksRC5kdXJhdGlvbk1zPUcuc3RhcnRUaW1lTXMtRC5zdGFydFRpbWVNcyxELmk5PUcuQUMtMSksRz0hMX1HP2I9RDoodis9MSxXLnNwbGljZSh2LDAsYikpO0Q9MDtmb3IoRz12KzE7RzxXLmxlbmd0aDtHKyspe049bjtIPVdbR107cj1iO0E9SC5zdGFydFRpbWVNcytILmR1cmF0aW9uTXM7eT1yLnN0YXJ0VGltZU1zK3IuZHVyYXRpb25Nczt5Pj1BK04uTj9OPSEwOnkrTi5OPEguc3RhcnRUaW1lTXM/Tj0hMTpsUWgoTixILmZvcm1hdElkLApyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKZDZyPWZ1bmN0aW9uKG4sVyxEKXtpZighYlQoVyxEKXx8Vy5hWilyZXR1cm4gbnVsbDtQXyhXLEQsbi5wb2xpY3kuZUspO3JldHVybiBXfTsKejdVPWZ1bmN0aW9uKG4sVyl7bj1nLlc0KG4se3N0YXJ0VGltZU1zOld9LChELGIpPT5ELnN0YXJ0VGltZU1zLWIuc3RhcnRUaW1lTXMpOwpyZXR1cm4gbj49MD9uOi1uLTJ9OwpqU1o9ZnVuY3Rpb24obixXLEQpe2lmKG4ubG9nZ2VyKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XTtrLkVqPy5zdGFydFRpY2tzJiZiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X3Bzc3QuJHtrLkVqPy5zdGFydFRpY2tzfV9wc2QuJHtrLkVqPy5sOH1gKTtiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9bi5sb2dnZXIoe3A6YCR7RH1gLGJyOmIuam9pbigiOyIpfSl9fTsKYlM9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4uUUUpe3ZhciBiPW4uUUUuWkYoKTtpZihiLmxlbmd0aCE9PTApe2lmKG4uVyYmVyl7dmFyIHY9bi5XLGs9di5YOyFCUihiLGspJiZ2Lks+MCYmKDAsZy5SKSgpLW4uSzw1RTMmJihuLmxvZ2dlciYmbi5sb2dnZXIoe2RlbmQ6di5nYSgpfSksYj1qRyhiLGssaysuMDEpKX12PVtdO2Zvcih2YXIgaD1rPTA7azxiLmxlbmd0aCYmaDxuLmVXLmxlbmd0aDspe3ZhciB4PWIuc3RhcnQoayk7bGV0IE49Yi5lbmQoayk7dmFyIEw9bi5lV1toXS5zdGFydFRpbWVNcy8xRTM7bGV0IEg9KG4uZVdbaF0uc3RhcnRUaW1lTXMrbi5lV1toXS5kdXJhdGlvbk1zKS8xRTM7aWYoTDw9TiYmSD49eCl7bGV0IEE9ey4uLm4uZVdbaF19O3ZhciBlPW4uS3UuSi5nZXQoTWsobi5lV1toXS5mb3JtYXRJZCkpLEc9TWF0aC5tYXgoTCx4KTt4PWUuaW5kZXguUjMoRytuLk4vMUUzKTtMPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHgpO3ZhciByPXgrICsoTWF0aC5hYnMoTC1HKT4Kbi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uV3x8MTE7IUQmJmg9PT1uLkomJk48SCYmSC1OPD14KjEuMDEmJiEobi5wb2xpY3kuU3cmJm4uUUUmJm4uUUUueXUoKSkmJihOPUgpO3g9TWF0aC5taW4oSCxOKTtMPWUuaW5kZXguUjMoeC1uLk4vMUUzKTtHPWUuaW5kZXguakUoTCk7TC09KyhNYXRoLmFicyhHLXgpPm4uTi8xRTMpO3g9TCtuLlg7ZT1lLmluZGV4LmpFKEwpKjFFMztBLmk5PXg7QS5kdXJhdGlvbk1zPWUtQS5zdGFydFRpbWVNcztBLkFDPD1BLmk5JiZ2LnB1c2goQSl9SDxOP2grPTE6ays9MX1uLmVXPXZ9fX07CkNDTT1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPW4uTTcubWFwKGs9PmsuY2xvbmUoKSk7Cm4uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5ELmYzKCksdj1uLko7Zm9yKGxldCBrIG9mIGIpdj1UN2IobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLE03OkR9fTsKbFFoPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gVy5pdGFnIT09RC5pdGFnfHxXLnh0YWdzIT09RC54dGFncz8hMTpuLkt1LnpXfHxXLmxtdD09PUQubG10fTsKdjY9ZnVuY3Rpb24obil7cmV0dXJue2Rvd25sb2FkZWRFbmRUaW1lOk1hdGgucm91bmQobi5kSD9uLmRILmo6MCksbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19Owp4Qz1mdW5jdGlvbihuLFc9ITEpeyFXfHxuLmluZGV4UmFuZ2UmJm4uaW5pdFJhbmdlJiZuLmRIfHxrQyhuLG5ldyBoMCgiV29mZmxlOiBFeHBlY3QgaXNGaW5hbCB0byBhbHdheXMgaGF2ZSBpbmRleFJhbmdlIGFuZCBpbml0UmFuZ2UgYW5kIGxhc3RTbGljZSIpKTtXPXtsbXQ6bi5OLmluZm8ubGFzdE1vZGlmaWVkLGRvY2lkOm4ucG9saWN5LkosZm10aWQ6bi5OLmluZm8uaWQsdHlwZTpuLk4uaW5mby5taW1lVHlwZS5zcGxpdCgiOyIpWzBdLGNzejpuLmNodW5rU2l6ZSxjbGVuOm4uVypuLmNodW5rU2l6ZStuLkp9O24uY3J5cHRvJiYoVy5jaz1uLlksVy5jaXY9bi5LKTtXPSJsb2NhbDovL2xvY2FsaG9zdC92aWRlb3BsYXliYWNrPyIrZy5FdChXKTtXPXtpdGFnOituLk4uaW5mby5pdGFnLG1pbWVUeXBlOm4uTi5pbmZvLm1pbWVUeXBlLGJpdHJhdGU6bi5OLmluZm8uTnMqOCxsYXN0TW9kaWZpZWQ6U3RyaW5nKG4uTi5pbmZvLmxhc3RNb2RpZmllZCksaW5pdFJhbmdlOm4uaW5pdFJhbmdlPy5OKCksCmluZGV4UmFuZ2U6bi5pbmRleFJhbmdlPy5OKCksdXJsOld9O3ZhciBEPW4uTi5pbmZvLko7RCYmKFcueHRhZ3M9RCk7aWYoRD1uLk4uaW5mby52aWRlbylpZihXLnF1YWxpdHk9RC5xdWFsaXR5LFcucXVhbGl0eUxhYmVsPUQucXVhbGl0eUxhYmVsLFcud2lkdGg9RC53aWR0aCxXLmhlaWdodD1ELmhlaWdodCxEPUQuZnBzKVcuZnBzPUQ7aWYobj1uLk4uaW5mby5hdWRpbyl7aWYoRD1uLnNhbXBsZVJhdGUpVy5hdWRpb1NhbXBsZVJhdGU9U3RyaW5nKEQpO2lmKG49bi5udW1DaGFubmVscylXLmF1ZGlvQ2hhbm5lbHM9bn1yZXR1cm4gV307CkxyPWZ1bmN0aW9uKG4sVyxEPSExKXtXLnRoZW4oYj0+e24uTy5kZWxldGUoVyk7KER8fGI9PT00KSYmbi5WLnJlc29sdmUoYil9LGI9PntuLlYucmVqZWN0KGIpfSl9OwplcT1mdW5jdGlvbihuKXtyZXR1cm4hIW4uZEgmJm4uZEguVigpfTsKa0M9ZnVuY3Rpb24obixXKXtlJChuLnBvbGljeS5KKSE9PTQmJihnNihuLnBvbGljeS5KLDQpLGcuR3EoVyksbi5WLnJlamVjdChuZXcgaDAoVy5tZXNzYWdlKSkpfTsKQjdiPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPXRSKFcuSik7aWYobi5XPG4uWCl7RD1uLlgqbi5jaHVua1NpemUtKChXLmluZm8ucmFuZ2U/LnN0YXJ0fHwwKStXLmluZm8uTik7aWYoRD49Yi5sZW5ndGgpcmV0dXJuO2lmKEQ8MCl0aHJvdyBFcnJvcigiTWlzc2luZyBkYXRhIik7bi5XPW4uWDtuLko9MH1mb3IoO0Q8Yi5sZW5ndGg7KXt2YXIgdj1NYXRoLm1pbihiLmxlbmd0aC1ELG4uai5ieXRlTGVuZ3RoLW4uSik7bGV0IGs9bmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0K0Qsdik7bi5qLnNldChrLG4uSik7bi5KKz12O0QrPXY7aWYobi5KPT09bi5qLmxlbmd0aCl7aWYoVy5pbmZvPT09bi5kSCYmZXEobikmJkQ9PT1iLmxlbmd0aClicmVhazt2PXY2KG4pO3Y9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSx2LG4ucG9saWN5LmJkLG4uVyxuLmosbi5jcnlwdG8pO24uTy5hZGQodik7THIobix2KTtuLnFOKCl8fCh2PXY2KG4pLG4uYmQoeEMobiksdiE9PXZvaWQgMD8KKHYuZG93bmxvYWRlZEVuZFRpbWV8fDApKnYuYXZlcmFnZUJ5dGVSYXRlOnYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlLHYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlKSk7bi5qPW5ldyBVaW50OEFycmF5KG4uY2h1bmtTaXplKTtuLko9MDtuLlcrPTF9fX07CndTVT1mdW5jdGlvbihuKXtpZihlcShuKSlpZihuLmRIJiZuLmluZGV4UmFuZ2UpaWYobi5KKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmouYnVmZmVyLDAsbi5KKSxEPUYkeChuKSxiPW4ucG9saWN5Lko7UHJvbWlzZS5hbGwobi5PKS50aGVuKCgpPT57dmFyIHY9dHgoYixuLmRILlBKLmluZm8seEMobiwhMCksRCxuLnBvbGljeS5iZCxuLlcsVyxuLmNyeXB0byk7THIobix2LCEwKX0pfWVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGFsd2F5cyByZS1tYXJrIGN1cnJlbnRDaHVua09mZnNldCBhdCBFT1MiKSk7CmVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGF0IEVPUyB0byBhbHdheXMgaGF2ZSBsYXN0U2xpY2Ugb3IgaW5kZXhSYW5nZSIpKX07Cmd1PWZ1bmN0aW9uKG4sVyl7aWYoIWVxKG4pJiYhbi5xTigpKXtpZighKG4udHd8fChuLnR3PSEwLG4uWD4wKSkpe3ZhciBEPXY2KG4pO0Q9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSxELG4ucG9saWN5LmJkKTtMcihuLEQpfWlmKFcuaW5mby50eXBlPT09MSl7aWYobi5kSCl7a0MobixFcnJvcigiV29mZmxlOiBFeHBlY3QgSU5JVCBzbGljZXMgdG8gYWx3YXlzIHN0YXJ0IHVzIG9mZiIpKTtyZXR1cm59bi5pbml0UmFuZ2U9V18oMCxXLkoudG90YWxMZW5ndGgpfWVsc2UgaWYoVy5pbmZvLnR5cGU9PT0yKW4uZEgmJm4uZEgudHlwZT09PTF8fGtDKG4sRXJyb3IoIldvZmZsZTogSW5kZXggYmVmb3JlIGluaXQiKSksbi5pbmRleFJhbmdlPVdfKG4uaW5pdFJhbmdlLmVuZCsxLFcuSi50b3RhbExlbmd0aCk7ZWxzZSBpZihXLmluZm8udHlwZT09PTMpe2lmKCFuLmRIKXtrQyhuLEVycm9yKCJXb2ZmbGU6IEV4cGVjdCBNRURJQSBzbGljZXMgdG8gYWx3YXlzIGhhdmUgbGFzdFNsaWNlIikpOwpyZXR1cm59aWYobi5kSC50eXBlPT09MyYmIWJUKG4uZEgsVy5pbmZvKSYmKG4uRD1bXSxXLmluZm8uaiQhPT1nayhuLmRIKXx8Vy5pbmZvLk4hPT0wKSlyZXR1cm47aWYoVy5pbmZvLmFaKXtmb3IobGV0IGIgb2Ygbi5EKUI3YihuLGIpO24uRD1bXX1lbHNle24uRC5wdXNoKFcpO24uZEg9Vy5pbmZvO3JldHVybn19ZWxzZXtrQyhuLEVycm9yKCJXb2ZmbGU6IFVuZXhwZWN0ZWQgc2xpY2UgdHlwZSIpKTtyZXR1cm59bi5kSD1XLmluZm87QjdiKG4sVyk7d1NVKG4pfX07CkYkeD1mdW5jdGlvbihuKXtyZXR1cm57ZG93bmxvYWRlZEVuZFRpbWU6LTEsbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19OwpNdlM9ZnVuY3Rpb24obil7bj1nLmVQKG4sMTg4NjYxNDM3Nik7Zm9yKGxldCBXIG9mIG4pO3JldHVybiBnLmlfKG4sVz0+b3IoVykpfTsKUjdVPWZ1bmN0aW9uKG4pe3ZhciBXPWcudV8obiwoYix2KT0+Yit2Lmxlbmd0aCwwKTsKVz1uZXcgVWludDhBcnJheShXKTt2YXIgRD0wO2ZvcihsZXQgYiBvZiBuKVcuc2V0KGIsRCksRCs9Yi5sZW5ndGg7cmV0dXJuIFd9OwpWdnQ9ZnVuY3Rpb24obil7YTp7dmFyIFc9bi5pbml0RGF0YTt0cnl7dmFyIEQ9MDtsZXQgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIpO2Zvcig7RDx2LmJ5dGVMZW5ndGgtODspe2xldCBrPXYuZ2V0VWludDMyKEQpO2lmKGs8PTEpYnJlYWs7aWYodi5nZXRVaW50MzIoRCs0KSE9PTE4ODY2MTQzNzYpe0QrPWs7Y29udGludWV9bGV0IGg9MzI7aWYodi5nZXRVaW50OChEKzgpPjApe2xldCBMPXYuZ2V0VWludDMyKEQrMjgpO2grPUwqMTYrNH1sZXQgeD12LmdldFVpbnQzMihEK2gtNCk7dHJ5e2xldCBMPVFTeChXLnN1YmFycmF5KEQraCxEK2greCkpO2lmKEwhPT1udWxsKXt2YXIgYj1MO2JyZWFrIGF9fWNhdGNoKEwpe31EKz1rfWI9bnVsbDticmVhayBhfWNhdGNoKHYpe2I9bnVsbDticmVhayBhfWI9dm9pZCAwfWlmKGIhPW51bGwpe1c9dTQoaVcoYiw3LHZvaWQgMCxmbikpO1c9PW51bGx8fG4ucUh8fChuLmNyeXB0b1BlcmlvZEluZGV4PVcpO1c9dTQoaVcoYiwxMCx2b2lkIDAsZm4pKTsKVyE9bnVsbCYmVz4wJiYhbi5xSCYmKG4uTj1XKTtmb3IobGV0IHYgb2YgZy5CSChiLDIsTUUsdm9pZCAwPT09RyQ/Mjo0KSliPW4uSixXPWIucHVzaCxEPVZsKHYpLEQ9Zy5FQShELDQpLFcuY2FsbChiLEQpfX07CmNraj1mdW5jdGlvbihuKXtyZXR1cm4gaXNOYU4obi5jcnlwdG9QZXJpb2RJbmRleCk/Zy5FQShuLmluaXREYXRhKTpgJHtuLmNyeXB0b1BlcmlvZEluZGV4fWB9OwpYMD1mdW5jdGlvbihuKXtpZihuLm9mZnNldD49bi5KLnRvdGFsTGVuZ3RoKXRocm93IEVycm9yKCk7cmV0dXJuIHJkKG4uSixuLm9mZnNldCsrKX07CmFRUz1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPVgwKG4pO2lmKEQ9PT0xKXtXPS0xO2ZvcihEPTA7RDw3O0QrKyl7dmFyIGI9WDAobik7Vz09PS0xJiZiIT09MjU1JiYoVz0wKTtXPi0xJiYoVz1XKjI1NitiKX1yZXR1cm4gV31iPTEyODtmb3IobGV0IHY9MDt2PDYmJmI+RDt2KyspRD1EKjI1NitYMChuKSxiKj0xMjg7cmV0dXJuIFc/RDpELWJ9OwpuZng9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWFRUyhuLCEwKSxEPWFRUyhuLCExKTtyZXR1cm57aWQ6VyxzaXplOkR9fWNhdGNoKFcpe3JldHVybntpZDotMSxzaXplOi0xfX19OwpETjE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW5ldyBXeWoobiksRD0tMSxiPTAsdj0wOyFifHwhdjspe2xldCB7aWQ6ayxzaXplOmh9PW5meChXKTtpZihrPDApcmV0dXJuO2lmKGs9PT0xNzYpe2lmKGghPT0yKXJldHVybjtiPVcuTigpfWVsc2UgaWYoaz09PTE4Nil7aWYoaCE9PTIpcmV0dXJuO3Y9Vy5OKCl9az09PTM3NDY0ODQyNz9EPVcuTigpK2g6ayE9PTQwODEyNTU0MyYmayE9PTE3NCYmayE9PTIyNCYmVy5za2lwKGgpfVc9JE0obiwwLEQpO0Q9bmV3IERhdGFWaWV3KFcuYnVmZmVyKTtELnNldFVpbnQxNihiLDM4NDApO0Quc2V0VWludDE2KHYsMjE2MCk7Yj1uZXcgUzUoW1ddKTtlNShiLG4pO3JldHVybiBifTsKYndDPWZ1bmN0aW9uKCl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoMTY0RTQpO2ZvcihsZXQgVz0wO1c8bi5sZW5ndGg7Vys9NjU1MzYpY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuLnN1YmFycmF5KFcsTWF0aC5taW4oVys2NTUzNixuLmxlbmd0aCkpKTtuZXcgUzUoW25dKX07CnEyPWZ1bmN0aW9uKG4pe24uYm4/LmRpc3Bvc2UoKTtuLmJuPW51bGx9OwpHWj1mdW5jdGlvbihuLFcpe1c9e3JzdDRkaXNjOlcsY2Q6bi5UOC50b0ZpeGVkKDMpLHNxOm4ubTE/bi5tMS5qJDotMX07bi5acT1OYU47bi5UOD0wO24uc0w9LTE7bi5tMT1udWxsO24uaWg9TmFOO24uWXA9TmFOO24uU0Y9bnVsbDtuLmxvYWRlci5VKCJtZHN0bSIsVyl9Owp0MD1mdW5jdGlvbihuKXtuLmJSPW51bGw7bi5FZz0tMTtuLlZwPTA7bi5qaz1udWxsO24uTDE9TmFOO24uWUU9MDtuLkwyPW51bGx9OwokQz1mdW5jdGlvbihuLFcpe2lmKFcuaW5mby5hWil7bi5JOT1XLmluZm87aWYobi5qayl7dmFyIEQ9bi5qayxiPXZmdChuLCExKTtEPWtkVShEKTtuLmxvYWRlci5SMChuLlBKLGIsRCk7bi5wb2xpY3kuZUsmJlpKKFcuaW5mbyxiKTtuLkwyfHxuLnBvbGljeS5lVnx8bi5WaSgpO24uTDI9bnVsbH10MChuKX1uLmJuJiZndShuLmJuLFcpO2lmKGI9bi5XeCgpKWlmKGI9Yi5qKFcsbi5wb2xpY3kuQW0sbi5wb2xpY3kuZkIpKXtuLlZ3LnBvcCgpO24uVncucHVzaChiKTtyZXR1cm59bi5Wdy5wdXNoKFcpfTsKUUV3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5XUihXKTtpZihaTyhXLmluZm8uUEouaW5mbykmJlcuaW5mby5QSi5pbmZvLnZpZGVvLnByaW1hcmllcz09PSJidDIwMjAiKXt2YXIgYj1uZXcgdFkoRCk7JHgoYixbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0LDIxOTM2LDIxOTM3XSkmJihiPWIuc3RhcnQrYi5wb3MsRC5nZXRVaW50OChiKT09PTEyOSYmRC5nZXRVaW50OChiKzEpPT09MSYmRC5zZXRVaW50OChiKzEsOSkpfWI9Vy5pbmZvLlBKLmluZm87Yi5YKCkmJiFaTyhiKSYmKGI9Zy5XUihXKSwobmV3IHRZKGIpKS5PSigpLFl4KFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdLDIxOTM2LGIpKTtXLmluZm8uUEouaW5mby5mWSgpJiZRZihXLmluZm8uUEosRCk7Vy5pbmZvLlBKLmluZm8ucUgoKSYmVy5pbmZvLmZZKCkmJihEPWcuV1IoVyksKG5ldyB0WShEKSkuT0ooKSxZeChbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0XSwzMDMyMCxEKSYmWXgoWzQwODEyNTU0MywzNzQ2NDg0MjcsCjE3NCwyMjRdLDIxNDMyLEQpKTtpZihuLnBvbGljeS54MCYmVy5pbmZvLlBKLmluZm8ucUgoKSl7Yj1nLldSKFcpO3ZhciB2PW5ldyB0WShiKTtpZigkeCh2LFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyOTYzN10pKXtEPU5rKHYsITApO3Y9di5zdGFydCt2LnBvcztmb3IodmFyIGs9MDtrPEQtMTtrKyspYi5zZXRVaW50OCh2K2ssMCk7Yi5zZXRVaW50OCh2K0QtMSwxKX19aWYobi5lUygpJiZnLlJCKFcuaW5mby5QSi5pbmZvKSl7RD1nLldSKFcpO2I9Zy5ucyhELDAsMTcwMTYwNjI2MCk7RD1nLm5zKEQsMCwxODM2NDc2NTE2KTtpZihiJiZEKXtiLnNraXAoMik7dmFyIGg9VUQoYik7az1FRChiKTtsZXQgeD1bXTt2PVtdO2xldCBMPVtdLGU9W107aWYoaClmb3IoaD0wO2g8azsrK2gpeC5wdXNoKGkzKGIpKSx2LnB1c2goaTMoYikpLEwucHVzaChVRChiKSksZS5wdXNoKFVEKGIpKTtlbHNlIGZvcihoPTA7aDxrOysraCl4LnB1c2goeUwoYikpLHYucHVzaCh5TChiKSksTC5wdXNoKFVEKGIpKSwKZS5wdXNoKFVEKGIpKTtiPXg7RD1nLmJMKEQpO0Q9bmV3IFJlaCh2WzBdL0QsYlswXS9EKX1lbHNlIEQ9bnVsbDtpZih2PUQpe2lmKGcuUkIoVy5pbmZvLlBKLmluZm8pKWZvcihEPWcuV1IoVyksaz1nLm5zKEQsMCwxNzAxMDgyMjI3KTtrOyliPWssYi50eXBlPTE5MzY0MTkxODQsYi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpLGs9Zy5ucyhELGsub2Zmc2V0K2suc2l6ZSwxNzAxMDgyMjI3KTtuLmYwPSEwO1cuaW5mby5QSi5WPXZ9fVcuaW5mby5QSi5XKCl8fFcuaW5mby5QSi5KfHxXLmluZm8uUEouaW5kZXhSYW5nZXx8RE8oVyl9OwpWSHg9ZnVuY3Rpb24obixXKXtpZihuLmlzRHJtKCkpe2lmKFcuaW5mby5QSi5pbmZvLnFIKCkpe3ZhciBEPW5ldyB0WShnLldSKFcpKTtpZigkeChELFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyODAzMiwyNTE1MiwyMDUzMywxODQwMl0pKXt2YXIgYj1OayhELCEwKTtEPWIhPT0xNj9udWxsOlNQKEQsYil9ZWxzZSBEPW51bGw7Yj0id2VibSJ9ZWxzZSBXLmluZm8uTz1NdlMoZy5XUihXKSksRD1SN1UoVy5pbmZvLk8pLGI9ImNlbmMiO0QmJkQubGVuZ3RoJiYoRD1uZXcgcnUoRCxiKSxuLnBvbGljeS5QSCYmZy5SQihXLmluZm8uUEouaW5mbykmJihiPVpLWihnLldSKFcpKSkmJihELlVXPWIpLEQucUg9Vy5pbmZvLlBKLmluZm8ucUgoKSxXLk4mJlcuTi5jcnlwdG9QZXJpb2RJbmRleCYmKEQuY3J5cHRvUGVyaW9kSW5kZXg9Vy5OLmNyeXB0b1BlcmlvZEluZGV4KSxXLk4mJlcuTi5YJiYoRC5OPVcuTi5YKSxuLmxvYWRlci5XbihEKSl9fTsKY3JoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5iUjtXPU1hdGgubWluKFcsRC5KLnRvdGFsTGVuZ3RoKTtpZihXPT09RC5KLnRvdGFsTGVuZ3RoKXJldHVybiBuLmJSPW51bGwsRDtEPXZSKEQsVyk7bi5iUj1EWzFdO3JldHVybiBEWzBdfTsKRFgyPWZ1bmN0aW9uKG4sVyxEKXtpZihELmluZm8uUEouVygpKXtpZihuLmYwJiZhRXcoRCkpe1c9Zy5XUihEKTt2YXIgYj1nLm5zKFcsMCwxOTUzNjU4MjIyKTtpZihiKXtiLnNraXAoMSk7dmFyIHY9WmMoYik8PDE2fFVEKGIpLGs9diYxLGg9diY0O2lmKHYmMjU2KXtXPXYmNTEyO3ZhciB4PXYmMTAyNDt2Jj0yMDQ4O3ZhciBMPUVEKGIpO0w8Mnx8KGsmJmIuc2tpcCg0KSxoJiZiLnNraXAoNCksaz1FRChiKSxiLnNraXAoKEwtMSkqKDQrKFc/NDowKSsoeD80OjApKyh2PzQ6MCkpLTQpLGIuZGF0YS5zZXRVaW50MzIoYi5vZmZzZXQrYi5OLGspKX19fWlmKFc9bi5xOSYmbi5xOS5PNygpKWlmKFc9RC5pbmZvLmZZKCkpVz1YWihEKSx4PW4ucTksczQ/KGI9MS9XLFc9bi5WeihXKT49eC5WeigpK2IpOlc9bi5nZXREdXJhdGlvbigpPj14LmdldER1cmF0aW9uKCksVz0hVztXJiZhRXcoRCkmJihXPW4ucTksczQ/KGI9WFooRCkseD0xL2IsYj1uLlZ6KGIpLFc9Vy5WeigpK3gtYik6Vz1XLmdldER1cmF0aW9uKCktCm4uZ2V0RHVyYXRpb24oKSxXPTErVy9ELmluZm8uVyxXdyhnLldSKEQpLFcpKX1lbHNle2I9ITE7bi5qa3x8KEdpKEQpLEQuTiYmKG4uams9RC5OLGI9ITAsaz1ELmluZm8saD1ELk4uc2VnbWVudE51bWJlcixrLlk9InVwZGF0ZVdpdGhFbXNnIixrLmokPWgsaz1ELk4say5WJiZuLlBKLnR3KCFrLlYsImVtc2ciKSxrPUQuaW5mby5QSi5pbmZvLGg9Zy5XUihEKSxnLlJCKGspP0dqKGgsMTcwMTY3MTc4Myk6ay5xSCgpJiZZeChbNDA4MTI1NTQzXSwzMDc1NDQ5MzUsaCkpKTthOmlmKChrPWVHKEQsbi5wb2xpY3kuUFgpKSYmcSQoRCkpaD1uVHcobixEKSxuLlQ4Kz1oLGstPWgsbi5ZRSs9ayxuLlpxPW4ucG9saWN5LlNWP24uWnErazpOYU47ZWxzZXtpZihuLnBvbGljeS5Zcil7aWYoaD1MPW4ubG9hZGVyLnFhKGcua1goRCksMSksbi5acT49MCYmRC5pbmZvLnR5cGUhPT02KXtpZihuLnBvbGljeS5TViYmaXNOYU4obi5ZcCkpe2cuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcHJvY2Vzc2luZyBwcmV2aW91cyBjaHVuayIsCkQuaW5mby5nYSgpKSk7bi5sb2FkZXIuaXNPZmZsaW5lKCkmJiFuLnBvbGljeS5UUXx8V2paKG4sRCxoKTtHWihuLCJtIik7YnJlYWsgYX12PUwtbi5acTt2YXIgZT12LW4uVDg7bGV0IEc9RC5pbmZvLmokLHI9bi5tMT9uLm0xLmokOi0xLE49bi5paCxIPW4uWXAsQT1uLnBvbGljeS5RJCYmdj5uLnBvbGljeS5RJCx5PU1hdGguYWJzKGUpPjEwLFQ9TWF0aC5hYnMobi5acS1oKTwxRS03O2lmKE1hdGguYWJzKGUpPjFFLTQpe24uSVMrPTE7bGV0IHo9bi5qaz8uSigpO2U9e2F1ZGlvOmAkeytuLmVTKCl9YCxzcTpHLnRvRml4ZWQoKSxzbGljZVN0YXJ0OkwsbGFzdFNxOnIudG9GaXhlZCgpLGxhc3RTbGljZVN0YXJ0Ok4sbGFzdFNsaWNlRHVyYXRpb246SCx0b3RhbERyaWZ0Oih2KjFFMykudG9GaXhlZCgpLHNlZ0RyaWZ0OihlKjFFMykudG9GaXhlZCgpLHNraXBSZXdyaXRlOmAkeysoQXx8eSl9YH07ej8ubGVuZ3RoJiYoZS5hZENwbj16WzBdKTtuLmxvYWRlci5oYW5kbGVFcnJvcigicW9lLmF2c3luYyIsCmUpO24uc0w9R31BfHx5fHxUfHwoaD1uLlpxKTtMPW5UdyhuLEQsTCk7ay09TDtuLlQ4PXYrTH19ZWxzZSBoPWlzTmFOKG4uWnEpP0QuaW5mby5zZWdtZW50U3RhcnRUaW1lOm4uWnE7V2paKG4sRCxoKSYmKG4uWUUrPWssbi5acT1oK2ssbi5wb2xpY3kuWmgmJm4uSVM+PW4ucG9saWN5LlpoJiYobi5JUz0wLG4ubG9hZGVyLkdtKHtyZXNldEZvclJld3JpdGVzOiJjb3VudCJ9KSkpfW4ubTE9RC5pbmZvO24uWXA9TE0oRCk7RC5XPj0wJiYobi5paD1ELlcpO2lmKGImJm4uamspe2I9dmZ0KG4sITApO1pKKEQuaW5mbyxiKTtuLmJSJiZaSihuLmJSLmluZm8sYik7Zm9yKHggb2YgVyluLnBvbGljeS5qJiZ4LmokIT09bi5qaz8uc2VnbWVudE51bWJlcnx8WkooeCxiKTsoRC5pbmZvLmFafHxuLmJSJiZuLmJSLmluZm8uYVopJiZELmluZm8udHlwZSE9PTZ8fChuLkwyPWIsbi5wb2xpY3kuVTE/KFc9a2RVKG4uamspLG4ubG9hZGVyLlIwKG4uUEosYixXKSk6KFc9bi5sb2FkZXIsVy5LdS5pc01hbmlmZXN0bGVzcyYmCk4yKFcsYixudWxsLCEhbi5QSi5pbmZvLnZpZGVvKSksbi5wb2xpY3kuZVZ8fG4uVmkoKSl9fVZIeChuLEQpO24udGltZXN0YW1wT2Zmc2V0JiZ4WChELG4udGltZXN0YW1wT2Zmc2V0KX07CnZmdD1mdW5jdGlvbihuLFcpe3ZhciBELGI9bi5qaztpZihEPVRfKGIpKUQuc3RhcnRTZWNzKz1uLkwxO3ZhciB2PW4uTDEsaz0wO24uUEogaW5zdGFuY2VvZiBkdCYmKGs9bi5QSi5yYik7cmV0dXJuIG5ldyBSNChiLnNlZ21lbnROdW1iZXIsdixXP2s6bi5ZRSxiLmluZ2VzdGlvblRpbWUsYHNxLyR7Yi5zZWdtZW50TnVtYmVyfWAsdm9pZCAwLHZvaWQgMCxXLEQsbi5wb2xpY3kueUg/Yi5OOm51bGwpfTsKa2RVPWZ1bmN0aW9uKG4pe3JldHVybiBuLmZLKCk/bmV3IHByKENnKG4pLG4uSigpLEJBKG4pLEZwKG4pLHdGKG4pLGcuTWQobiksZy5ScihuKSk6bnVsbH07Cm5Udz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtpZihXLmluZm8uUEouaW5mby5xSCgpJiYhcSQoVykpcmV0dXJuIDA7aWYobi5xOSYmIW4uZVMoKSl7bGV0IGU9MDtEJiZnLlJCKFcuaW5mby5QSi5pbmZvKT9lPUQtbi5acTpXLmluZm8uUEouaW5mby5xSCgpJiYoZT1uLlQ4KTt2YXIgdj1XLmluZm8uaiQ7RD1lRyhXLG4ucG9saWN5LlBYKTtsZXQge1Y1OkcsVGo6cn09bi5xOS5iNCgpO3Y9dj09PUd8fHY+RyYmdj5uLnNMO3ZhciBrPU1hdGguYWJzKHItZSk+LjAyO2lmKG4ucG9saWN5LlJ0KXt2YXIgaD1NYXRoLmFicyhyLWUpO2lmKHYmJmg+bi5wb2xpY3kuUnQmJmg8MTApcmV0dXJuIG4ubG9hZGVyLkdtKHthdkRlc3luYzoiY291bnQifSksMH1pZihXLmluZm8uUEouaW5mby5xSCgpJiZuLnBvbGljeS5WZilyZXR1cm4gMDtpZih2JiZrKXtiPU1hdGgubWF4KC45NSxNYXRoLm1pbigxLjA1LChELShyLWUpKS9EKSk7aWYoZy5SQihXLmluZm8uUEouaW5mbykpV3coZy5XUihXKSxiKTsKZWxzZSBpZihXLmluZm8uUEouaW5mby5xSCgpJiYoaz1lLXIsIWcuUkIoVy5pbmZvLlBKLmluZm8pJiYoVy5pbmZvLlBKLmluZm8ucUgoKSxiPW5ldyB0WShnLldSKFcpKSx2PVcuVj9iOm5ldyB0WShuZXcgRGF0YVZpZXcoVy5pbmZvLlBKLkouYnVmZmVyKSksZUcoVywhMCkpKSl7dmFyIHg9ayoxRTMsTD1Lcyh2KTt2PWIucG9zO2IucG9zPTA7aWYoYi5OLmdldFVpbnQ4KGIucG9zKT09PTE2MHx8UHcoYikpaWYoc1koYiwxNjApKWlmKE5rKGIsITApLHNZKGIsMTU1KSl7aWYoaz1iLnBvcyxoPU5rKGIsITApLGIucG9zPWsseD14KjFFOS9MLEw9ZnMoYikseD1MK01hdGgubWF4KC1MKi43LE1hdGgubWluKEwseCkpLHg9TWF0aC5zaWduKHgpKk1hdGguZmxvb3IoTWF0aC5hYnMoeCkpLCEoTWF0aC5jZWlsKE1hdGgubG9nKHgpL01hdGgubG9nKDIpLzgpPmgpKXtiLnBvcz1rKzE7Zm9yKGs9aC0xO2s+PTA7ay0tKWIuTi5zZXRVaW50OChiLnBvcytrLHgmMjU1KSx4Pj4+PTg7Yi5wb3M9CnZ9fWVsc2UgYi5wb3M9djtlbHNlIGIucG9zPXY7ZWxzZSBiLnBvcz12fWI9ZUcoVyxuLnBvbGljeS5QWCk7Yj1ELWJ9YiYmVy5pbmZvLlBKLmluZm8ucUgoKSYmbi5sb2FkZXIuVSgid2VibUR1cmF0aW9uQWRqdXN0bWVudCIse2R1cmF0aW9uQWRqdXN0bWVudDpiLHZpZGVvRHJpZnQ6ZStiLGF1ZGlvRHJpZnQ6cn0pfXJldHVybiBifTsKV2paPWZ1bmN0aW9uKG4sVyxEKXtpZighaE0oVyxEKSlyZXR1cm4gVz1YeChXLmluZm8pLFcuc21zdD0iMSIsWUMobi5sb2FkZXIsV3x8e30pLCExO2lzTmFOKG4uTDEpJiYobi5MMT1EKTtyZXR1cm4hMH07CmFFdz1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmZvLlBKLlcoKSYmbi5pbmZvLmokPT09bi5pbmZvLlBKLmluZGV4LngkKCl9Owp2VFo9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSl7dmFyIEc9Vy5leHBvcnRzLk1lZGlhU3RyZWFtX2dldEJhdGNoZWRTdHJlYW1FdmVudHMoRCk7aWYoRyl0cnl7dmFyIHI9Vy5tZW1vcnkuYnVmZmVyKEcsYio4OCk7bGV0IHk9bmV3IERhdGFWaWV3KHIuYnVmZmVyLHIuYnl0ZU9mZnNldCxiKjg4KSxUPVcubWVtb3J5LmhlYXAoKTtHPVtdO2ZvcihyPTA7cjxiO3IrKyl7bGV0IHo9bmV3IGIkQyh5LHIqODgsVyxUKTtHLnB1c2goe09mOnouT2YsYjM6ei5iMyxLOTp6Lks5LGx3OnoubHcsU2g6ei5TaCxnQzp6LmdDLHZXOnoudlcsR0s6ei5HSyxVVzp6LlVXLFckOnouVyQsZm9ybWF0SWQ6ei5mb3JtYXRJZCxyQzp6LnJDfSl9Yj12O2ZvcihsZXQgeiBvZiBHKXt6LmZvcm1hdElkJiZlJiYoYj1lKHouZm9ybWF0SWQpKTtsZXQgQz16Lk9mLFE9ei5iMyxWPXouSzksTHQ9ei5sdyx0aT16LlNoLEhaPXouZ0MsWjE9ei52VyxRaj16LkdLLE1pPXouVVcsTVU9ei5XJCxJQz16LmZvcm1hdElkLApJTT16LnJDO3N3aXRjaChIWil7Y2FzZSAxOmxldCBZbDt0cnl7bGV0IFVUPUpTT04ucGFyc2UoWjEpO1VUJiZ0eXBlb2YgVVQ9PT0ib2JqZWN0Ij9ZbD1VVDpZbD17cmVhc29uOlN0cmluZyhaMSl9fWNhdGNoKFVUKXtZbD17cmVhc29uOloxfX1ZQyhuLmxvYWRlcixZbCk7cmV0dXJuO2Nhc2UgMjpsZXQgajE7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCI/ajE9VVQ6ajE9e3JlYXNvbjpTdHJpbmcoWjEpfX1jYXRjaChVVCl7ajE9e3JlYXNvbjpaMX19ajEuYXZEZXN5bmMhPT12b2lkIDA/bi5sb2FkZXIuR20oajEpOm4ubG9hZGVyLmhhbmRsZUVycm9yKCJxb2UuYXZzeW5jIixqMSk7YnJlYWs7Y2FzZSAzOmxldCBUej1uZXcgcnUoUWosWjEpO01pLmxlbmd0aD4wJiYoVHouVVc9TWkpO01VIT09NDI5NDk2NzI5NSYmKFR6LmNyeXB0b1BlcmlvZEluZGV4PU1VKTtRPj0wJiYoVHouTj1RKTtUei5xSD1iLmluZm8/LnFIKCk/PyExO24ubG9hZGVyLlduKFR6KTsKYnJlYWs7Y2FzZSA0OmxldCBmaD1wUihRaiksT0k9UUwoZmgpO2lmKE9JKXtsZXQgVVQ9bmV3IFg1KE9JLFoxKTtuLk49VVQ7VVQuViYmYi50dz8uKCFVVC5WLCJlbXNnIik7bGV0IFBLPVRfKFVUKTtQSyYmKFBLLnN0YXJ0U2Vjcys9QyxuLmxvYWRlci5NZShiLFBLLFVULnNlZ21lbnROdW1iZXIsVVQuZksoKSkpfWJyZWFrO2Nhc2UgNzpsZXQgcEs7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCImJihwSz1VVCl9Y2F0Y2goVVQpe31pZihwSyYmcEsucmVzZXRGb3JSZXdyaXRlcyE9PXZvaWQgMCl7bi5sb2FkZXIuR20ocEspO2JyZWFrfWlmKFoxLnN0YXJ0c1dpdGgoImRpc2NvbnRpbnVpdHlfIikpe24ubG9hZGVyLlUoIm1kc3RtIix7cnN0NGRpc2M6WjEuc3Vic3RyaW5nKDE0KSxjZDpDLnRvRml4ZWQoMyksc3E6U3RyaW5nKElNKX0pO2JyZWFrfWxldCBPej1aMS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIik7bi5sb2FkZXIuVSgic2xpY2Vfbm90X2Z1bGx5X3Byb2Nlc3NlZCIsCnttc2c6T3p9KTticmVhaztjYXNlIDg6bGV0IEJXO3RyeXtCVz1KU09OLnBhcnNlKFoxKX1jYXRjaChVVCl7bi5sb2FkZXIuVSgid2FzbV9qc29uX3BhcnNlX2Vycm9yIix7ZXY6SFoudG9TdHJpbmcoKX0pO2NvbnRpbnVlfXgoQlcpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLG4uVyk7YnJlYWs7Y2FzZSA5OmxldCBZRTt0cnl7WUU9SlNPTi5wYXJzZShaMSl9Y2F0Y2goVVQpe24ubG9hZGVyLlUoIndhc21fanNvbl9wYXJzZV9lcnJvciIse2V2OkhaLnRvU3RyaW5nKCl9KTtjb250aW51ZX1MKFlFKTtiLk4oKSYmayYmWkgobi5sb2FkZXIuS3UsYixuLlcpO2JyZWFrO2Nhc2UgMTA6dj1aMTtuLlc9djtJQyYmZSYmKGI9ZShJQykpO2IuSj1RajtoPy5KKFFqLHYpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLHYpO2JyZWFrO2Nhc2UgMTE6Yi5WPW5ldyBSZWgodGksVik7YnJlYWs7Y2FzZSAxNDpsZXQgWmk9bmV3IFI0KElNLEMsVixMdCxgc3EvJHtJTX1gLHZvaWQgMCx2b2lkIDAsCiExLG4uSixuLk4/Lk4pO3Y9bnVsbDtuLk4mJm4uTi5mSygpJiYodj1uZXcgcHIoQ2cobi5OKSxuLk4uSigpLEJBKG4uTiksRnAobi5OKSx3RihuLk4pLGcuTWQobi5OKSxnLlJyKG4uTikpKTtuLmxvYWRlci5SMChiLFppLHYpO2JyZWFrO2Nhc2UgMTU6bGV0IFdJPU51bWJlcihaMSk7aXNOYU4oV0kpfHxuLmxvYWRlci5wWj8uKFdJKTticmVhaztjYXNlIDY6bGV0IERBPW5ldyBSNChJTSxDLFYsTHQsYHNxLyR7SU19YCx2b2lkIDAsdm9pZCAwLCEwLG4uSixuLk4/Lk4pO2lmKG4ucG9saWN5Py5VMT8/ITApdj1udWxsLG4uTiYmbi5OLmZLKCkmJih2PW5ldyBwcihDZyhuLk4pLG4uTi5KKCksQkEobi5OKSxGcChuLk4pLHdGKG4uTiksZy5NZChuLk4pLGcuUnIobi5OKSkpLG4ubG9hZGVyLlIwKGIsREEsdik7ZWxzZXt2YXIgTj1uLmxvYWRlcjtOLkt1LmlzTWFuaWZlc3RsZXNzJiZOMihOLERBLG51bGwsISFiLmluZm8udmlkZW8pfWJyZWFrO2Nhc2UgMTI6dmFyIEg9bi5sb2FkZXI7dj0KYjt2YXIgQT1uZXcgUjQoSU0sQyxWLEx0LGBzcS8ke0lNfWAsdm9pZCAwLHZvaWQgMCwhMCxuLkosbi5OPy5OKTtILkt1LmlzTWFuaWZlc3RsZXNzJiZUeChILkt1LEEuaiQsISF2LmluZm8udmlkZW8pO2JyZWFrO2Nhc2UgNTpsZXQgcFY7dHJ5e3BWPUpTT04ucGFyc2UoWjEpfWNhdGNoKFVUKXtuLmxvYWRlci5VKCJ3YXNtX2pzb25fcGFyc2VfZXJyb3IiLHtldjpIWi50b1N0cmluZygpfSk7Y29udGludWV9cFYuc3RhcnRTZWNzKz1DO24uSj1wVjtuLmxvYWRlci5NZShiLHBWLElNLG4uTj8uZksoKT8/ITEpO2JyZWFrO2Nhc2UgMTM6UWYoYixuZXcgRGF0YVZpZXcoUWouYnVmZmVyLFFqLmJ5dGVPZmZzZXQsUWouYnl0ZUxlbmd0aCkpO2JyZWFrO2RlZmF1bHQ6bi5sb2FkZXIuVSgid2FzbV91bmtub3duX2V2Iix7ZXY6SFoudG9TdHJpbmcoKX0pfX19ZmluYWxseXtXLmV4cG9ydHMuTWVkaWFTdHJlYW1fY2xlYXJQZW5kaW5nRXZlbnRzKEQpfWVsc2UgVy5leHBvcnRzLk1lZGlhU3RyZWFtX2NsZWFyUGVuZGluZ0V2ZW50cyhEKX07Ckg2PWZ1bmN0aW9uKG4pe24uVWwmJihuLlVsLmRpc3Bvc2UoKSxuLlVsPW51bGwpO24uU0s9dm9pZCAwO24uWFY9dm9pZCAwfTsKSjQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9V15uO3ZhciBMOyhufDIpPj0yNyYmbisyPDMzJiYoTD1iKHYsayxoKSk7aWYoISgobnw0KT4+NCkpZm9yKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO0QtLTspYltJW3heNDM4NF1dKGJbSVt4XjQzODldXSgpKTtpZigobi0yfDU4KT49biYmKG4tOHwxNSk8bil7Zm9yKHZhciBlPXheNDY3NCxHPVtdOysrZS1HW0lbNV1dLSh4XjQ2NDIpOyl7c3dpdGNoKGUpe2Nhc2UgeF40Njk3OmU9eF40NjU0O2NvbnRpbnVlO2Nhc2UgeF40NzI5OmU9eF40Njc1O2JyZWFrO2Nhc2UgeF40Njc1OmUtPXheNDYyNDtjb250aW51ZTtjYXNlIHheNDY2NDplPXheNDcwNjtjb250aW51ZTtjYXNlIHheNDY1MjplPXheNDcwMX1HW0lbeF40NjI4XV0oU3RyaW5nW0lbeF40NjU2XV0oZSkpfUw9R31yZXR1cm4gTH07CmZyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qXygpLGI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0VHlwZShXKSx2PUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFNlZ051bShXKSxrPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFN0YXJ0VGltZShXKSxoPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldER1cmF0aW9uKFcpLHg9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNFbmRPZlNlZ21lbnQoVykhPT0wLEw9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0U2xpY2VPZmZzZXQoVyksZT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TG10KFcpLEc9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNGYXN0U2Vla2FibGUoVykhPT0wLHI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkKFcpLE49RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkTGVuZ3RoKFcpLEg9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Rm9ybWF0SWQoVyksQT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRGb3JtYXRJZExlbmd0aChXKSwKeT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TWVkaWFTb3VyY2UoVyksVD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW4oVyksej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW5MZW5ndGgoVyksQz1ELm1lbW9yeS5oZWFwKCksUT0iIjtyJiZOPjAmJihRPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxyLE4pKS5yZXBsYWNlKC9cMC9nLCIiKSk7cj0iIjtIJiZBPjAmJihyPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxILEEpKS5yZXBsYWNlKC9cMC9nLCIiKSk7SD0iIjtUJiZ6PjAmJihIPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxULHopKS5yZXBsYWNlKC9cMC9nLCIiKSk7VD1yJiZuLkVlP24uRWUocik6bi5QSjtDPUQubWVtb3J5LmhlYXAoKTtBPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldERhdGEoVyk7ej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRMZW5ndGgoVyk7Qz1uZXcgUzUoWyhuZXcgVWludDhBcnJheShDLEEseikpLnNsaWNlKCldKTtBPQpELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50Qnl0ZVJhbmdlU3RhcnQoVyk7RD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TGVuZ3RoQnl0ZXMoVyk7Vz12b2lkIDA7RD4wJiZULlcoKSYmKFc9V18oQSxEKSk7aHx8dHlwZW9mIFQucmIhPT0ibnVtYmVyInx8KGg9VC5yYik7Yj1uZXcgcUkoYixULFcsIndhc20iLHYsayxoLEwseix4LGUsUSxHLHksSCk7eD1uZXcgYjgoYixDKTtpZihuLnBvbGljeS5Zcnx8bi5wb2xpY3kuUyQpYj0hIWIuTiYmdj09PW4ueHAseC5XPWI/bi5tOTprLHguWD1iP24uenI6aCxifHwobi54cD12LG4ubTk9eC5XLG4uenI9eC5YKTtyZXR1cm4geH07CnlrPWZ1bmN0aW9uKG4pe24uaj0hMDtuLlBEPSEwO24uWD0tMTtQdShuLEluZmluaXR5KX07Cm1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLkopSjAobixXKTtuLko9W107bi5OPW51bGx9OwpLdj1mdW5jdGlvbihuLFcsRD0hMSl7aWYobi5RRSl7bGV0IGI9bi5RRS5aRigpLHY9RlooYixXKSxrPU5hTixoPUkkKG4pO2gmJihrPUZaKGIsaC5QSi5pbmRleC5nZXRTdGFydFRpbWUoaC5qJCkpKTtpZih2PT09ayYmbi5OJiZuLk4uSiYma1F3KFNxKG4pLDApKXJldHVybiBXfW49QTAobixXLEQpO3JldHVybiBuPj0wP246TmFOfTsKUHU9ZnVuY3Rpb24obixXLEQpe24uUEouTigpO3ZhciBiPUEwKG4sVyk7aWYoYj49MClyZXR1cm4gYjtuLlY/LmNKKFcsRCk7Vz1NYXRoLm1pbihXLG4uVy5McygpKTtuLk49bi5wb2xpY3kudHc/bnVsbDpuLlBKLksoVykuQXdbMF07bWQobikmJihuLnBvbGljeS5YWSYmRD8uc2Vla1NvdXJjZT09PTYwfHxuLlFFJiZuLlFFLmFib3J0KCksbi5wb2xpY3kucG8mJm4uVj8uWSgpKTtuLlMkPTA7cmV0dXJuIG4uTj9uLk4uc2VnbWVudFN0YXJ0VGltZTpXfTsKaVk9ZnVuY3Rpb24obil7cmV0dXJuIG4uVy5XMigpfTsKS3I9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSl7VyYmczQmJm4uVy5CVyhXLml3KCkpO0R8fG4uVj8uVigpO24uUUU9VztuLlY/LnR3KG4uUUUsYil9OwpJJD1mdW5jdGlvbihuKXtyZXR1cm4gbi5wb2xpY3kuZkM/bi5WPy5iZCgpfHxudWxsOm4uUUUmJm4uUUUuWmcoKX07Cmhacj1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQ9MDtEPG4uTy5sZW5ndGg7RCsrKVdbYHIke0R9YF09bi5PW0RdO3JldHVybiBXfTsKTzQ9ZnVuY3Rpb24obixXKXtpc05hTihuLlkpfHxuLlUoImFzd3IiLHtzcTpXLmluZm8uQXdbMF0uaiQsaWQ6Vy5pbmZvLkF3WzBdLlBKLmluZm8uaXRhZyx4dGFnOlcuaW5mby5Bd1swXS5QSi5pbmZvLkosZXA6RGF0ZS5ub3coKS1uLll9KTtuLkoucHVzaChXKTtuLk49Zy5VTShXLmluZm8uQXcpO24uTy5wdXNoKFcuZ2EoKSk7bi5PLmxlbmd0aD40JiZuLk8uc2hpZnQoKX07CnhYQz1mdW5jdGlvbihuLFcpe2lmKFcuUUEoKSl7bGV0IEQ9Vy54OSgpO2ZvcihsZXQgYiBvZiBEKW4ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBTbiYmbi5VKCJvbWJsc3MiLHtzOmIuaW5mby5nYSgpfSksbi5XZyhXLmluZm8uQXcsYixXLlh2KCkpfX07CkxqVT1mdW5jdGlvbihuKXtuLkoubGVuZ3RoP24uTj1nLlVNKGcuVU0obi5KKS5pbmZvLkF3KTpuLlcuUkMoKT9uLk49bi5XLld4KCkuaW5mbzpuLk49SSQobil9OwpQNj1mdW5jdGlvbihuLFcpe3ZhciBEPXtlVzpbXSxCaTpbXX07cmV0dXJuIG4uVj8uTyhXKT8/RH07CkEwPWZ1bmN0aW9uKG4sVyxEPSExKXtpZighbi5OfHwhbi5OLkopcmV0dXJuIE5hTjtuPVNxKG4pO1c9ZVp0KG4sVysuMDIsRCk7cmV0dXJuIFc8MD9OYU46a1F3KG4sRD9XOjApP25bV10uc2VnbWVudFN0YXJ0VGltZTpOYU59OwptZD1mdW5jdGlvbihuKXtpZihuLlBKLmluZm8uSUI9PT0iZiJ8fG4ucG9saWN5LkomJm4uVy5vQygpKXJldHVybiEwO3ZhciBXPUkkKG4pO2lmKCFXKXJldHVybiExO3ZhciBEPVpkKFcpJiZXLmFaO3JldHVybiBuLmlzTWFuaWZlc3RsZXNzJiZuLnR3PjA/RHx8Vy5qJD49bi50dzpEfTsKWmQ9ZnVuY3Rpb24obil7cmV0dXJuIG4/bi5WKCk6ITF9OwpnVEM9ZnVuY3Rpb24obil7dmFyIFc9SSQobik7cmV0dXJuIFc/Vy5qLW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk6MH07ClU0PWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFuLlBKLmluZGV4Lk1JKFcsITApKXJldHVybiExO3RyeXttaShuKTtuLlcuSzgoVyk7aWYobi5wb2xpY3kuTilyZXR1cm4gbi5OPW51bGwsITA7Yj5EP1B1KG4sYik6bi5OPW4uUEouaihXLTEsITEpLkF3WzBdfWNhdGNoKHYpe3JldHVybiBXPUIkKHYpLFcuZGV0YWlscy5yZWFzb249InJvbGxia2VyciIsbi5sb2FkZXIuaGFuZGxlRXJyb3IoVy5lcnJvckNvZGUsVy5kZXRhaWxzLFcuc2V2ZXJpdHkpLCExfXJldHVybiEwfTsKSjA9ZnVuY3Rpb24obixXLEQ9ITEpe24uY3EoVyxEKTtXLmRpc3Bvc2UoKX07Cmc3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XXm47aWYoISgobnw3KT4+NCkpe3ZhciB2PURbSVtiXjIzXV0oSVtiXjJdKSxrPXt9O2ZvcihsZXQgTD0wO0w8dltJWzVdXTtMKyspdmFyIGg9UjAoNixiXjczMjUsdixMLGspO3ZhciB4PWt9aWYoKG4tOV4yMSk8biYmbi03PDwxPj1uKWZvcih2PURbSVs1XV07djspRFtJW2JeNjMzM11dKERbSVszXV0oLS12LDEpWzBdKTtpZigobnw0MCk9PW4pe3Y9Yl45MDYyO2ZvcihrPVtdOysrdi1rW0lbNV1dLShiXjg5NjYpOyl7c3dpdGNoKHYpe2Nhc2UgYl44OTg4OnYtPWJeOUUzO2Nhc2UgYl45MDg1OmNhc2UgYl45MDgyOmNhc2UgYl45MDgzOmNvbnRpbnVlO2Nhc2UgYl45MDUzOnY9Yl44OTY5O2Nhc2UgYl45MDgwOmNhc2UgYl45MDgxOmNhc2UgYl45MDMwOmNvbnRpbnVlO2Nhc2UgYl44OTY4OnY9Yl45MDgxfWtbSVtiXjkwMDhdXShTdHJpbmdbSVtiXjg5ODBdXSh2KSl9eD1rfXJldHVybiB4fTsKeW89ZnVuY3Rpb24obil7dmFyIFc9bi5XLld4KCk7cmV0dXJuIFc/Vy5pbmZvOkkkKG4pfTsKRTQ9ZnVuY3Rpb24obixXKXt2YXIgRDtmb3IoRD0wO0Q8bi5KLmxlbmd0aCYmVyE9PW4uSltEXTtEKyspO2lmKEQ9PT1uLkoubGVuZ3RoKUowKG4sVyk7ZWxzZXtmb3IoO0Q8bi5KLmxlbmd0aDspSjAobixuLkoucG9wKCkpO3ZhciBiPXlvKG4pO2ImJmIuUEouRCgpJiZnLm9NKFcuaW5mby5Bdyx2PT4kTih2LGIpKT8obi5OPWIsbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6ImxzcCIsCmxzcDpiLmdhKCl9KSk6KHhOKFcuaW5mby5Bd1swXSk/KG4uTj1XLldvJiZXLldvLlc/VEQxKFcuV28uVyk6bER4KFcuaW5mby5Bd1swXSksbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6bi5OLmdhKCksbHNwOmI/LmdhKCl9KSk6KG4uTj1udWxsLG4ucG9saWN5LlcmJm4uVSgiY2VyIix7bHNyOiJudWxsIixsc3A6Yj8uZ2EoKX0pKSxuLmxvYWRlci5pc09mZmxpbmUoKSYmIW4ucG9saWN5LlRRfHxKMChuLFcsITApKX19OwppUz1mdW5jdGlvbihuKXtyZXR1cm4gbWQobil8fFpkKG4uVy5XeCgpPy5pbmZvKX07ClNxPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9SSQobik7RCYmVy5wdXNoKEQpO1c9Zy53eihXLG4uVy5mMygpKTtmb3IobGV0IGIgb2Ygbi5KKWZvcihsZXQgdiBvZiBiLmluZm8uQXcpYi5TMyYmKFc9Zy5FTShXLGs9PiF0SihrLHYpKSksKHhOKHYpfHx2LmNKKCkpJiZXLnB1c2godik7Cm4uTiYmIXpBMihuLk4sZy5VTShXKSxuLk4uUEouVygpKSYmVy5wdXNoKG4uTik7cmV0dXJuIFd9OwprUXc9ZnVuY3Rpb24obixXKXtpZighbi5sZW5ndGgpcmV0dXJuITE7Zm9yKFcrPTE7VzxuLmxlbmd0aDtXKyspaWYoIUx6KG5bVy0xXSxuW1ddKSlyZXR1cm4hMTtyZXR1cm4hMH07CmVadD1mdW5jdGlvbihuLFcsRD0hMSl7dmFyIGI9LTE7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoay5YPD1XKWlmKEQpYj12O2Vsc2UgaWYoay5zZWdtZW50U3RhcnRUaW1lK2suVz49VylyZXR1cm4gdn1yZXR1cm4gYn07CnZhciBZalo9ZnVuY3Rpb24obixXKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsMiw0OTA2LG4sVyl9Owp1Uz1mdW5jdGlvbihuKXtyZXR1cm4hKCFuLk58fG4uTi5QSj09PW4uUEopfTsKWDB0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wb2xpY3kuTj9uLnpzKCEwKTxEOihuPXlvKG4pKSYmIVpkKG4pP24uaj5XJiZuLmo8VytEOiExfTsKZy5vJD1mdW5jdGlvbihuKXtuLlY/LlYoKTtuLmtJKCl9Owpxemg9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJm4uTi5qJCE9PS0xJiZuLk4uaiQ8bi5QSi5pbmRleC5aTygpfTsKR1FiPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTjtXJiZXLmokPT09LTEmJihuPW4uVy5XeCgpKSYmeE4obi5pbmZvKSYmKG49bi5pbmZvLmokLFcuWT0idXBkYXRlTGFzdFNsaWNlUmVxdWVzdGVkIixXLmokPW4pfTsKdGRqPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4uSixXPT5XLmZKKX07CiRYMT1mdW5jdGlvbihuLFcpe3ZhciBEPWlZKG4pO3JldHVybiBEJiZELmluZm8udHlwZSE9PTY/IVcuTyhuLEQuaW5mby5qJCk6ITF9OwpyeUM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5jSilpZihELnNlZ21lbnROdW1iZXI9PT1XKXJldHVybiBELnBWPzI6MTtyZXR1cm4gMH07Ck44Wj1mdW5jdGlvbih7aGFzU3ViZnJhZ21lbnRlZEZtcDQ6bj0hMSxJMjpXPSExfT17fSl7dmFyIEQ9bmV3IHNLaTtELnRJPW58fFc7cmV0dXJuIER9OwpkdT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OJiZuLkZlJiZuLnBsYXliYWNrU3RhcnRQb2xpY3l9OwpKa0M9ZnVuY3Rpb24obixXLEQ9ITEpe1cudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmIW4uV0gmJihuLmUkPTM2NzAwMTYwLG4udko9NTI0Mjg4MCxuLkhKPU1hdGgubWF4KDQxOTQzMDQsbi5ISiksbi5XSD0hMCk7Vy52aWRlby5xdWFsaXR5T3JkaW5hbD4yMTYwJiYhbi5iZSYmKG4uZSQ9MTA0ODU3NjAwLG4uTnM9MTMxMDcyMDAsbi5iZT0hMCk7Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSE9PTA/Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoInNhbXN1bmciKSYmKGcudWIoImthbnQiKXx8Zy51YigibXVzZSIpKSYmKG4uTnM9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSk6Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoImthbnQiKSYmKG4uTnM9MTMxMDcyMCk7bi55UCE9PTAmJlcuaXNFbmNyeXB0ZWQoKSYmKG4uTnM9bi55UCk7bi5KRyE9PQowJiZXLmlzRW5jcnlwdGVkKCkmJkQmJihuLk5zPW4uSkcpO1cuTnMmJihuLlFIPU1hdGgubWF4KG4uWm0sTWF0aC5taW4obi5ISiw1KlcuTnMpKSl9Owp6Wj1mdW5jdGlvbihuLFcsRD0wKXtyZXR1cm4gZy5kTShuLnlRLmV4cGVyaW1lbnRzLFcpfHxEfTsKbFM9ZnVuY3Rpb24obixXLEQsYil7bi5GZSYmKG4ucGxheWJhY2tTdGFydFBvbGljeT1XLG4uTTU9RCxuLkRDPWIpfTsKUjY9ZnVuY3Rpb24obixXKXtpZihXPDApcmV0dXJuITA7dmFyIEQ9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYhbi5zSnx8Vz09PUQmJihuPW4uT2coKSkmJlc9PT1uLmokPyEwOiExfTsKS2EyPWZ1bmN0aW9uKG4sVyxEKXtpZighUjYobixXKSlyZXR1cm4gMDtpZighbi50SXx8IWlzTmFOKEQpJiZEPjApcmV0dXJuIDI7aWYoVzwwKXJldHVybiAxO0Q9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYobj1uLk9nKCkpJiZXPT09bi5qJCYmIW4ucGVuZGluZz8yOjF9OwpwMGI9ZnVuY3Rpb24obixXLEQpe2lmKCEoVy5YZiYmbi5pc0NvbXBsZXRlKCkmJm4uY2FuUmV0cnkoKSYmbi5pbmZvLlhiLnBTKFcsRCkpKXJldHVybiAwO3ZhciBiPW4uaW5mby5YYi5qO2lmKGImJiFXLmVuYWJsZVNhYnJQcm9iZU9uU2VydmVySW5pdGlhdGVkSG9zdEZhbGxiYWNrKXJldHVybiAwO249VVkoRCxGNShuLmluZm8uWGIsITEsVykpO3JldHVybiBiJiYoRD0oMCxnLlIpKCktbi5YLG4uWD4wJiZEPFcuc2FiclN1Y2Nlc3NmdWxQcm9iZVRpbWVvdXRNcyk/MDpuLmorVy5YZipsTChuLCEwLGIpPigwLGcuUikoKT8wOjF9OwpqcT1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kuem0pcmV0dXJuITE7dmFyIGI9bi5KQzt2YXIgdj1XLk4/LlRDKCl8fC0xO2IuSj09PTMmJnYrMT49Yi5YPyhiLlUoInNkYWkiLHtoYWx0cnE6disxLGVzdDpiLlh9KSxiPSExKTpiPWIuSiE9PTI7aWYoIWJ8fCEoVy5OP1cuTi5QSi5YYjpXLlBKLlhiKS5ZKG4ucG9saWN5LG4ubm4sbi5sb2FkZXIuSXcpfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmKCFUWihuLnNjaGVkdWxlKXx8bi5sb2FkZXIuT00pKXJldHVybiExO2lmKG4ucG9saWN5LkomJnFzPj01KXJldHVybiBnLkphKG4ubG9hZGVyLmoyKSwhMTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzKXtpZihXLkoubGVuZ3RoPjAmJlcuTiYmVy5OLmokPT09LTF8fFcuSi5sZW5ndGg+PW4ucG9saWN5LndvfHwhbi5wb2xpY3kuWE0mJlcuSi5sZW5ndGg+MCYmIW4ucG9saWN5LlYudEkpcmV0dXJuITE7aWYoVy5qKXJldHVybiFuLkt1LmlzTGl2ZXx8IWlzTmFOKG4uWkEpfWlmKHRkaihXKSlyZXR1cm4hMTsKaWYoIVcuTil7aWYoIVcuUEouTigpKXJldHVybiExO1B1KFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSl9aWYoaVkoVykmJihXLld4KCkhPT1pWShXKXx8bi5sb2FkZXIuaXNTdXNwZW5kZWQpKXJldHVybiExO3Y9KGI9bi5wb2xpY3kuc1MpJiYhVy5KLmxlbmd0aCYmVy56cyghMCk8TWF0aC5taW4oYixELnpzKCkpO2I9Vy5KLmxlbmd0aCtELkoubGVuZ3RoO3ZhciBrPShXLkoubGVuZ3RoP1cuSlswXS5ReSgpOiExKXx8KEQuSi5sZW5ndGg/RC5KWzBdLlF5KCk6ITEpfHxuLkt1LmlzTGl2ZTsodnx8aykmJi0tYjtpZihiKzE+PW4ucG9saWN5LkN5KXJldHVybiExO2I9Vy5OO2lmKCFiKXJldHVybiEwO2IuY0ooKSYmYi5QSi5OKCkmJihXLk49Zy5VTShiLlBKLlZRKGIpKSxiPVcuTik7aWYoIWIuVigpJiYhYi5QSi5YKGIpKXJldHVybiExO2s9bi5LdS5YZ3x8bi5LdS5pc1dpbmRvd2VkTGl2ZTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzJiZrKXtrPVcuUEouaW5kZXgueCQoKTt2YXIgaD0KRC5QSi5pbmRleC54JCgpO2s9TWF0aC5taW4oayxoKTtpZihXLlBKLmluZGV4LlRYKCk+MCYmaz4wJiZiLmokPj1rKXJldHVybiBXLnR3PWssRC50dz1rLCExfWlmKGIuUEouaW5mby5hdWRpbyYmYi5jSigpfHxiLlYoKSlyZXR1cm4hMTtrPSFXLlBEJiYhRC5QRDtpZih2PSF2KXY9Yi5qLHY9ISEoRC5OJiYhWmQoRC5OKSYmRC5OLmo8dik7aD1XPT09bi52aWRlb1RyYWNrJiZuLnBvbGljeS5UQztyZXR1cm4gdiYmKCFuLkt1LmlzTWFuaWZlc3RsZXNzfHxELk4mJkQuTi5qJiZiLmopJiZrJiYhaHx8bi5wb2xpY3kuQlYmJiFXLlBEJiZELlBEPyExOnhOKGIpJiZiLmo+WXppKG4sVyk/KFl6aShuLFcpLCExKToobj1XLlFFKSYmbi5pc0xvY2tlZCgpPyExOiEwfTsKVm89ZnVuY3Rpb24obixXKXtIJGgobi5sb2FkZXIsVyk7dmFyIEQ9elAoVyksYj1uLmxvYWRlci5sdSgpO0Q9e2lqOm4uc2NoZWR1bGUsczQ6RCxCbDpmaXgobi5JZyxEKSxRbjpoSihXLkF3WzBdKSxkaXNhYmxlUmVjb3JkaW5nOmdaKDQwLDEyMTIsVy5YYi5OKSxORDpuLnBvbGljeS5XLEJlOih2LGspPT57bi5sb2FkZXIuS2EodixrKX19OwpuLnNjaGVkdWxlLkouViYmKEQucVk9KG4udmlkZW9UcmFjay5QSj8uaW5mby5Oc3x8MCkrKG4uYXVkaW9UcmFjay5QSj8uaW5mby5Oc3x8MCkpO24uaG4mJihELmokPVcuQXdbMF0uaiQsRC5aQT1XLlpBLEQuaG49bi5obik7Yj17Vzc6d0xVKFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSksZTE6bi5wb2xpY3kuc1YmJnlzKFcpJiZXLkF3WzBdLlBKLmluZm8udmlkZW8/RWpaKG4uY1YpOnZvaWQgMCxTTjpuLnBvbGljeS5UQyxwb1Rva2VuOm4ubG9hZGVyLk1ZKCksVWo6bi5sb2FkZXIuVTQoKSxKTzppc05hTihuLkpPKT9udWxsOm4uSk8sYUk6bi5hSSxQbjpuLlBuLHEkOmJ9O3JldHVybiBuZXcgQUIobi5wb2xpY3ksVyxELG4ubm4sKHYsayk9Pnt0cnl7YTp7bGV0IE1pPXYuaW5mby5Bd1swXS5QSixNVT1NaS5pbmZvLnZpZGVvP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2s7aWYoISh2LnN0YXRlPj0yKXx8di5pc0NvbXBsZXRlKCl8fHYuQWcoKXx8ISghbi5sb2FkZXIubWVkaWFTb3VyY2V8fApuLmxvYWRlci5pc1N1c3BlbmRlZHx8TVUuenMoKT4zKSl7e3ZhciBoPW4ucG9saWN5LHg9bi5ubjtsZXQgSUM9di5BZygpO2lmKHYuaXNDb21wbGV0ZSgpfHwhSUN8fHYuaW5mby5YYi5wUyhoLHgpKXZhciBMPTA7ZWxzZXt2YXIgZT1oLnpmO2lmKCFlfHxJQzxlKUw9MDtlbHNle3ZhciBHPVVZKHgsRjUodi5pbmZvLlhiLCEwLGgpKTtMPUcuTnx8Ry50aW1lZE91dHx8Ry5zdGFydGVkPzA6Mn19fUw9PT0xJiYobi5WPSEwKTtmckMobix2LEwpO2lmKHYuaXNDb21wbGV0ZSgpfHx2LnFOKCkmJms8Myl7aWYobi5wb2xpY3kuVyl7bGV0IElDPXYudGltaW5nLkQoKTtJQy5yc3Q9di5zdGF0ZTtJQy5zdHJtPXYueGhyLkdwKCk7SUMuY25jbD12LnhociYmdi50NS5YPzE6MDtuLmxvYWRlci5VKCJycXMiLElDKX12Lm9QJiZuLmxvYWRlci5VKCJzYndlMyIse30sITApfWlmKCFuLnFOKCkmJnYuc3RhdGU+PTIpe1hTaChuLnRpbWluZyx2LE1pKTt2YXIgcj1uLmxvYWRlcjtuLkpPJiZ2Lnp3JiYKciYmKG4uSk89TmFOLG4ubG9hZGVyLm45KHYuencpLG4ubG9hZGVyLk1qKCksbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWsiLHttZWRpYVRpbWVTZWNvbmRzOnYuend9KSk7di50ViYmbi5KTyYmdi50ViYmIXYudFYuYWN0aW9uJiYobi5sb2FkZXIud1Iobi5KTyksbi5KTz1OYU4sbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWtGYWxsYmFjayIse3RhcmdldFV0Y1RpbWVTZWNvbmRzOm4uSk99KSk7di5BaCYmbi5sb2FkZXIuc1codi5BaCk7bi5wb2xpY3kuTmQmJihuLlBuPXYuUG4pO2lmKHYuc3RhdGU9PT0zKXtFNChNVSx2KTt5cyh2LmluZm8pJiZDcihuLE1VLE1pLCEwKTtpZihuLnNVKXtsZXQgSUM9di5pbmZvLllsKCk7SUMmJm4uc1UuWjUodi5pbmZvLkF3WzBdLmokLE1pLmluZm8uaWQsSUMpfW4ubG9hZGVyLkJZKCl9ZWxzZSBpZih2LmlzQ29tcGxldGUoKSYmdi5pbmZvLkF3WzBdLnR5cGU9PT01KXtpZih2LnN0YXRlIT09NCl2LnRuKCkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKHYuVkcoKSwKdi55MCgpKTtlbHNle3ZhciBOPSh2LmluZm8uQXdbMF0uUEouaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5KWzBdfHxudWxsO04mJk4gaW5zdGFuY2VvZiBBQiYmTi5BZygpJiZOLk1CKCl9di5kaXNwb3NlKCl9ZWxzZXtpZighdi50bigpJiZ2LmZKJiZ2LnN0YXRlPj0yJiZ2LnN0YXRlIT09Myl7dmFyIEg9di54aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIlgtUmVzcG9uc2UtSXRhZyIpO2lmKEgpe3ZhciBBPXlrcihuLmNWLEgpLHk9di5pbmZvLlc7aWYoeSl7dmFyIFQ9eS1BLkhKKCk7QS5jSj0hMDt2LmluZm8uQXdbMF0uUEouY0o9ITE7dmFyIHo9QS5ZKFQpO3YuaW5mbz16O2lmKHYuV28pe3ZhciBDPXYuV28sUT16LkF3OyhRLmxlbmd0aCE9PUMuQXcubGVuZ3RofHxRLmxlbmd0aDxDLmpTLmxlbmd0aCkmJmcuY18oImRhc2gvcmVxdWVzdCIsMjYwNTExMTE5LGAke1EubGVuZ3RofWAsYCR7Qy5Bdy5sZW5ndGh9YCxgJHtDLmpTLmxlbmd0aH1gKTtDLkF3PVE7bGV0IElDPQpRWzBdLnJhbmdlLElNPW5ldyBTNTtmb3Ioaz0wO2s8Qy5qUy5sZW5ndGg7aysrKWU1KElNLEMualNba10uSik7Zm9yKGs9MDtrPEMualMubGVuZ3RoO2srKyl7Qy5qU1trXS5pbmZvPVFba107bGV0IFlsPVFba10ucmFuZ2U7Qy5qU1trXS5KPWdkKElNLFlsLnN0YXJ0LUlDLnN0YXJ0LFlsLmxlbmd0aCl9fXYuZko9ITE7QjYobi5sb2FkZXIsbi52aWRlb1RyYWNrLEEpO3ZhciBWPW4udmlkZW9UcmFjaztWLk4mJihWLk4uUEo9QSk7bi5sb2FkZXIuWUooQS5pbmZvLnZpZGVvLnF1YWxpdHkpO3ZhciBMdD12Llh2KCk7THQmJkEuaW5mby5sYXN0TW9kaWZpZWQmJkEuaW5mby5sYXN0TW9kaWZpZWQhPT0rTHQmJkU0KG4udmlkZW9UcmFjayx2KX19ZWxzZSB2LmZKPSExfXYuWHQ/Lml0YWdEZW55bGlzdCYmbi5sb2FkZXIuV0Yodi5YdC5pdGFnRGVueWxpc3QpO2lmKHYuc3RhdGU9PT00KUYwKG4sdiksbi5KQyYmbi5KQy5TJCh2LmluZm8sbi5zVSk7ZWxzZSBpZihuLnBvbGljeS5lNCYmdi5RQSgpJiYKIXYuaXNDb21wbGV0ZSgpJiYhRjAobix2KSYmIXYudG4oKSlicmVhayBhO2lmKHYudG4oKSl7bGV0IElDPXYuaW5mby5Bd1swXS5QSixJTT12LlZHKCk7aWYoZ1ooMjQsMTE2NCxJQy5YYi5OKSl7bGV0IFR6PWcudXAodi5zOCgpLDMpO24ubG9hZGVyLlUoImRsZGJyZXJyIix7ZW06VHp8fCJub25lIn0pfWxldCBZbD12LmluZm8uQXdbMF0uaiQsajE9ekkobi5KQyx2LmluZm8uQXdbMF0uWCxZbCk7SU09PT0ibmV0LmJhZHN0YXR1cyImJihuLk4rPTEpO2lmKHYuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpKXtpZighKHYuaW5mby5YYi5KPj1uLnBvbGljeS5sTSYmbi5zVSYmdi5pbmZvLmlzRGVjb3JhdGVkKCkmJklNPT09Im5ldC5iYWRzdGF0dXMiJiZNMihuLnNVLGoxLFlsKSkpe3ZhciB0aT0oSUMuaW5mby52aWRlbyYmSUMuWGIuSj4xfHx2LmxOPT09NDEwfHx2LmxOPT09NTAwfHx2LmxOPT09NTAzKSYmISh3QyhuLmNWLmopLnNpemU+MCkmJiFnWig1NCwxMTg2LElDLlhiLk4pLEhaPQp2LnkwKCksWjE9SUMuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3RpJiYoSFouc3R1bj0iMSIpO24ubG9hZGVyLmhhbmRsZUVycm9yKElNLEhaKTtuLnFOKCl8fCh0aSYmYXEobi5jVixJQyksRTQoWjEsdiksbi5sb2FkZXIuQlkoKSl9fWVsc2UgQT0xLG4uc1UmJnYuaW5mby5pc0RlY29yYXRlZCgpJiZJTT09PSJuZXQuYmFkc3RhdHVzIiYmTTIobi5zVSxqMSxZbCkmJihBPTApLG4uS3UuaXNMaXZlJiZ2LlZHKCk9PT0ibmV0LmJhZHN0YXR1cyImJm4uTjw9bi5wb2xpY3kueGgqMj8oajQobi5LdSksbi5LdS5YZ3x8bi5LdS5pc1ByZW1pZXJlP2RWKG4ubG9hZGVyLDAse3FkOiJiYWRTdGF0dXNXb3JrYXJvdW5kIn0pOm4uS3UuaXNXaW5kb3dlZExpdmU/ZFYobi5sb2FkZXIsbi5LdS5KVSx7cWQ6ImJhZFN0YXR1c1dvcmthcm91bmQiLHFhOiEwfSk6UiQobi5sb2FkZXIpKTpuLmxvYWRlci5oYW5kbGVFcnJvcihJTSx2LnkwKCksQSk7aXNOYU4obi5KTyl8fChuLmxvYWRlci53UihuLkpPKSwKbi5KTz1OYU4pfW4ucG9saWN5LkhEJiYhdi5pc0NvbXBsZXRlKCk/UW8obi5sb2FkZXIpOm4ubG9hZGVyLkJZKCk7dmFyIFFqPXAwYih2LG4ucG9saWN5LG4ubm4pO2ZyQyhuLHYsUWopfX19fX1jYXRjaChNaSl7UWo9bi5qPzE6MCxuLmo9ITAsdj1qMihRaiksUWo9QiQoTWksUWopLG4ubG9hZGVyLmhhbmRsZUVycm9yKFFqLmVycm9yQ29kZSxRai5kZXRhaWxzLFFqLnNldmVyaXR5KSx2fHxuLmxvYWRlci56aSgpfX0sYil9OwpJcmI9ZnVuY3Rpb24obixXLEQpe2lmKGpxKG4sVyxEKSl7RD1uLkooVyxEKTtpZihuLnNVKXt2YXIgYj1ELkF3WzBdLlBKLmluZm8uaWQ7dmFyIHY9bi5KQzt2YXIgaz1ELkF3WzBdLmokO3Y9azwwJiYhaXNOYU4odi5qKT92Lmo6aztrPXpJKG4uSkMsRC5Bd1swXS5YLHYpO2xldCBMPVc9PT1uLmF1ZGlvVHJhY2s/MToyLGU9RC5Bd1swXS5QSi5pbmZvLklCLEc9Yi5zcGxpdCgiOyIpWzBdO2E6e3ZhciBoPW4uSkM7aWYoaC5OKXt2YXIgeD1oLk4uZmYuZXZlbnQ7aWYoaC5OLmokPT09dil7aD14PT09InByZWRpY3RTdGFydCI/dm9pZCAwOmguTi5mZi5ldmVudDticmVhayBhfWlmKGguTi5qJD09PXYtMSl7aD14PT09InN0YXJ0Inx8eD09PSJjb250aW51ZSI/eDp2b2lkIDA7YnJlYWsgYX19aD12b2lkIDB9aWYobi5wb2xpY3kuVlEmJm4uSkMuSiE9PTApYj1nLkp5aShuLnNVLGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYiYmKG4ubG9hZGVyLlUoInNkYWkiLAp7c3NkYWlpbmZvOiIxIixkczpiLk15Py5CZnx8IiIsc2tpcHNxOmIuTXk/LkRKfHwtMSxpdGFnOkcsZjplLHNnOnYsc3Q6ay50b0ZpeGVkKDMpfSksRC5YPWIpO2Vsc2UgaWYoYj1uLnNVLllsKGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYil7az17ZGVjX3NxOnYsaXRhZzpHLHN0OmsudG9GaXhlZCgzKX07aWYobi5wb2xpY3kubiQmJlcuaXNSZXF1ZXN0UGVuZGluZyh2LTEpKXtuLmxvYWRlci5VKCJzZGFpIix7d3RfZGFpc3RhdGVfb25fc2c6di0xfSk7cmV0dXJufW4ubG9hZGVyLlUoInNkYWkiLGspO2ImJihELk49bmV3IGcud1ooYikpO24ucG9saWN5LlcmJih2PUQuWGIuVy5nZXQoImlkIil8fCIiLGI9RC5OPy5nZXQoImlkIil8fCIiLHYhPT1iJiZuLmxvYWRlci5VKCJzdG1pZG1pc21hdGNoIix7Y2lkOnYsYWlkOmJ9KSl9ZWxzZSBuLkpDLkohPT01JiZuLmxvYWRlci5VKCJzZGFpIix7bm9kZWNfc3E6dixpdGFnOkcsc3Q6ay50b0ZpeGVkKDMpfSl9bi5wb2xpY3kuQ20mJgpELkF3WzBdLmokIT09LTEmJkQuQXdbMF0uaiQ8bi5LdS5JdCYmKEQ9Vy5QSi5qKG4uS3UuSXQsITEpKTtPNChXLFZvKG4sRCkpO2l1KG4udGltaW5nKTtuLlc/Lk4oRC5YYil9fTsKWXppPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5KQztEPUQuTj9ELk4uZmY6bnVsbDtpZihuLnBvbGljeS5UQyYmRClyZXR1cm4gRC5zdGFydFNlY3MrRC5DZisxNTtXPU9iKG4ubG9hZGVyLFcpO24ucG9saWN5LmpXPjAmJihEPSgoMCxnLlIpKCktbi5sb2FkZXIucUcpLzFFMyxXPU1hdGgubWluKFcsbi5wb2xpY3kualcrbi5wb2xpY3kuTEsqRCkpO1c9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKStXO3JldHVybiBuLnBvbGljeS56NCYmKEQ9U3pNKG4ubG9hZGVyKStuLnBvbGljeS56NCxEPFcpPyhuLmxvYWRlci5VKCJtcmwiLHtvcmk6Vyxtb2Q6RH0sITApLG4ucG9saWN5LmxXJiZjNihuLmxvYWRlciksRCk6V307CmZyQz1mdW5jdGlvbihuLFcsRCl7aWYoRCE9PTApe2E6aWYoVz1XLmluZm8sRD1EPT09MixXLk4pVz1udWxsO2Vsc2V7dmFyIGI9Vy5Bd1swXTtpZihXLnJhbmdlKXZhciB2PVdfKFcucmFuZ2Uuc3RhcnQsTWF0aC5taW4oNDA5NixXLlcpKTtlbHNle2lmKFcuSiYmVy5KLmluZGV4T2YoIi9yYW5nZS8iKT49MHx8Vy5YYi5XLmdldCgiZGVmcmFnIik9PT0iMSJ8fFcuWGIuVy5nZXQoIm90ZiIpPT09IjEiKXtXPW51bGw7YnJlYWsgYX12PVdfKDAsNDA5Nil9dj1uZXcgd2soW25ldyBxSSg1LGIuUEosdiwiY3JlYXRlUHJvYmVSZXF1ZXN0SW5mbyIrYi5ZLGIuaiQpXSxXLkopO3YucFM9RDt2Lk49Vy5OO1c9dn1XJiZWbyhuLFcpfX07CkNyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCEoRC5OKCl8fEQuUyQoKXx8RC5jSnx8IUQuWGIuWShuLnBvbGljeSxuLm5uLG4ubG9hZGVyLkl3KXx8RC5pbmZvLklCPT09ImYifHxuLnBvbGljeS5OKSl7aWYoYil7Yj1uLklnO3ZhciB2PUQuaW5mbztiPXJWKGIsdi52aWRlbz9iLnBvbGljeS5SazpiLnBvbGljeS5JTSx2Lk5zKX1lbHNlIGI9MDtiPUQuWShiKTtuPVZvKG4sYik7VXYoYikmJk80KFcsbik7RC5jSj0hMH19OwpGMD1mdW5jdGlvbihuLFcpe2lmKFcucU4oKSlyZXR1cm4hMTt0cnl7dmFyIEQ9Vy5pbmZvLkF3WzBdLlBKO2xldCBoPUQuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3ZhciBiPWg7aWYobi5LdS5pc01hbmlmZXN0bGVzcyYmYil7bi5OPTA7Yi5qJiYoVy5xTigpLFcuaXNDb21wbGV0ZSgpfHxXLlFBKCksYi5qPSExKTtXLkloKCkmJm4ubG9hZGVyLkxyLklJKDEsVy5JaCgpKTt2YXIgdj1XLlRYKCksaz1XLmgwKCk7QzYobi5LdSx2LGspfWlmKFcuaW5mby5RbigpJiYhVXYoVy5pbmZvKSlmb3IobGV0IEwgb2YgVy54OSgpKWgudksoTCk7Yj1oO2ZvcihuLmxvYWRlci5nZXRDdXJyZW50VGltZSgpO2IuSi5sZW5ndGgmJmIuSlswXS5zdGF0ZT09PTQ7KXtsZXQgTD1iLkouc2hpZnQoKTt4WEMoYixMKTtiLlZRPUwuekQoKX1iLkoubGVuZ3RoJiZ4WEMoYixiLkpbMF0pO2xldCB4PSEhaVkoaCk7eCYmVyBpbnN0YW5jZW9mIFNuJiYoRC5pbmZvLmVTKCk/Z2oxKG4udGltaW5nKToKZTdiKG4udGltaW5nKSk7cmV0dXJuIHh9Y2F0Y2goaCl7Vz1XLnkwKCk7Vy5vcmlnaW49ImhyaHMiO2E6e249bi5sb2FkZXI7RD1oO2lmKEQgaW5zdGFuY2VvZiBFcnJvcil7Vy5tc2d8fChXLm1zZz1gJHtELm1lc3NhZ2V9YCk7Vy5uYW1lfHwoVy5uYW1lPWAke0QubmFtZX1gKTtpZihEIGluc3RhbmNlb2YgZy5ReCYmRC5hcmdzKWZvcihsZXQgW3gsTF1vZiBPYmplY3QuZW50cmllcyhELmFyZ3MpKVdbYGFyZyR7eH1gXT1gJHtMfWA7Zy5HcShEKTtpZihELmxldmVsPT09IldBUk5JTkciKXtuLkwuR20oVyk7YnJlYWsgYX19bi5oYW5kbGVFcnJvcigiZm10LnVucGxheWFibGUiLFcsMSl9cmV0dXJuITF9fTsKbVhiPWZ1bmN0aW9uKG4pe3ZhciBXPW4udmlkZW9UcmFjay5QSi5pbmRleDtuLmhuPW5ldyBBeVooe3NKOm4ucG9saWN5LnNKLHRJOm4ucG9saWN5LlYudEksTzg6Vy5VYygpLHgkOigpPT5XLngkKCksCk9nOigpPT5XLk9nKCl9KX07CktqaT1mdW5jdGlvbihuKXtpZihuLko/LmlzTG9ja2VkKCkpcmV0dXJuIG4udmlkZW9JbmZvczt2YXIgVz13QyhuLk4pLEQ9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi5Ocz5uLm9aLk5zPyExOiFXLmhhcyhiLmlkKSk7Cm4uTi5sbCgpJiYoRD1nLkVNKEQsYj0+Yi52aWRlby53aWR0aDw9ODU0JiZiLnZpZGVvLmhlaWdodDw9NDgwKSk7CnJldHVybiBEfTsKTyRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpRC5wdXNoKGcuVmYoYixuLkt1LnpXKSk7cmV0dXJuIER9OwpaJGk9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj8ucmVhc29uPT09Im0iPyJtIjpuLko/LnJlYXNvbj09PSJzIj8icyI6bi5KJiZQYlUobixuLkopP24uSi5yZWFzb246ImEifTsKUGJVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ub1ouSHcmJlcucmVhc29uPT09ImwifHxuLm9aLnFqPyExOm4ub1ouWWo/ITA6Vy5yZWFzb249PT0ibCJ8fFcucmVhc29uPT09ImIifHxXLnJlYXNvbj09PSJvIn07ClVYWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTi5OO2lmKEQpe24udmlkZW9JbmZvcz1uLlY7dmFyIGI9Zy5sXyhuLnZpZGVvSW5mb3Msdj0+di5pZD09PUQpOwpiJiZiLnZpZGVvLnF1YWxpdHlPcmRpbmFsPT09Vz9uLnZpZGVvSW5mb3M9W2JdOihiPW4udmlkZW9JbmZvcy5tYXAodj0+di5pZCksbi5sb2FkZXIuVSgic2FicnBmIix7cGZpZDpgJHtEfWAsCnZmaWRzOmAke2Iuam9pbigiLiIpfWB9KSxhJChuLFcsVyksbi5OLkRlKCIiKSl9ZWxzZSBhJChuLFcsVyl9OwphJD1mdW5jdGlvbihuLFcsRCl7bi52aWRlb0luZm9zPW4uVjtuLnZpZGVvSW5mb3M9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi52aWRlby5xdWFsaXR5T3JkaW5hbD49VyYmYi52aWRlby5xdWFsaXR5T3JkaW5hbDw9RCl9Owp5eXg9ZnVuY3Rpb24obixXKXtpZihuLlkpe3ZhciBEPWcuRU0obi5XLGI9PmIuaWQ9PT1uLlkpOwpyZXR1cm4gbkQobixEKS5pbmNsdWRlcyhXKX1EPWcuRU0obi5XLGI9PiEhYi5rWj8uaXNEZWZhdWx0KTsKcmV0dXJuIEQubGVuZ3RoPjA/bkQobixEKS5pbmNsdWRlcyhXKTpuRChuLG4uVykuaW5jbHVkZXMoVyl9OwpuRD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uS3Uuelc7cmV0dXJuIFcubWFwKGI9Pk1rKGcuVmYoYixEKSkpfTsKV2w9ZnVuY3Rpb24obixXLEQ9ITEpe0hlVShuLk4sVyxEKX07CmkkUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLkt1LGs9bi5MLmdldFZpZGVvRGF0YSgpLGg9bi5Fdix4PWpGTSh7aWo6bi5paix5UTprLkcoKSxMOm4uTCxuUjpuLm5SLG9aOm4ub1oscHo6bi5weixrRTpuLmtFLFVtOm4uVW0sRzc6bi5HNyxKJDpuLkokLFNmOm4uU2Ysc2FickxpY2Vuc2VDb25zdHJhaW50Omsuc2FickxpY2Vuc2VDb25zdHJhaW50LGo0Om4uajQscjA6bi5yMCxZczpuLllzLGVxOm4uZXEsb0c6ISFoLGF1dGhvcml6ZWRGb3JtYXRzOmsuYXV0aG9yaXplZEZvcm1hdHMsSTg6bi5JOCxsbDpuLmxsLEN4Om4uQ3gsZ0Q6bi5nRH0pLEw9U1YoayxuLnEkLG4ubmV4dFJlcXVlc3RQb2xpY3ksbi5SQSxuLmROLG4uYkosbi5yOCk7RCYmVyYmKEQ9TC5ycT9MLnJxLm1hcChyPT5yLnR5cGUpOltdLFcoInNhYnIiLHtzdG1jdHh0OkQuam9pbigiXyIpLAp1bnNudGN0eHQ6TC51dD9MLnV0LmpvaW4oIl8iKToiIn0pKTtXPW4uR2g7RD1uLk0kO0Q9PT12b2lkIDAmJlc9PT12b2lkIDAmJihEPUVUaih2LnpXLG4uZGs/LnZpZGVvKSxXPUVUaih2LnpXLG4uZGs/LmF1ZGlvKSk7aWYoay5hSSl2YXIgZT1rLmFJO3ZhciBHOyhrPW4ub1o/LlNhKSYmaz4wJiYobi5DeHx8bi5IZSkmJihHPW5ldyBVaW50OEFycmF5KGspKTtoPXtDbjp4LEJpOm4uQmksR2g6VyxNJDpELEV2OmgsdmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZzplLG1IOkwsZFM6R307YiYmbi5iSz9uLmJLLmxlbmd0aD4wJiYoaC5iSz1uLmJLKTpuLk15JiYoaC5NeT1uLk15KTtuLm9aPy5EdCgpJiYhVlQoKSYmKG4udU0mJihoLnVNPW4udU0pLG4uckcmJihoLnJHPW4uckcpKTtoLmVXPW4uZVc7aC5jRT12LkdDO3JldHVybiBofTsKRVRqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/W2cuVmYoVy5pbmZvLG4pXTpbXX07Cm9Uaj1mdW5jdGlvbihuLFcsRCl7Vz1CdyhuLlhiLHVuVShuLFcsRCksVyk7bi5ENSgpJiZXLnNldCgicHJvYmUiLCIxIik7bi5raCgpJiZXLnNldCgic2Jwcm9iZSIsIjEiKTtyZXR1cm4gV307CkRrPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9W10sYj1bXTtpZighbi5kYXRhKXJldHVybiBXO2Zvcih2YXIgdj0wO3Y8bi5kYXRhLmVXLmxlbmd0aDt2Kyspe3ZhciBrPW4uZGF0YS5lV1t2XTtELnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9Zm9yKHY9MDt2PG4uZGF0YS5CaS5sZW5ndGg7disrKWs9bi5kYXRhLkJpW3ZdLGIucHVzaChgaS4ke2suZm9ybWF0SWQ/Lml0YWd9X3NuLiR7ay5zZXF1ZW5jZU51bWJlcn1fc2wuJHtrLnZEfHxOYU59X2xiLiR7ay5TMH1fdHIuc18ke2suaHg/LnN0YXJ0VGlja3N9X2RfJHtrLmh4Py5sOH1fdF8ke2suaHg/LnRpbWVzY2FsZX1fZWRfJHtrLnUzfWApO1cucHRpbWU9bi5OPy5Dbj8ublJ8fDA7Vy5ydHlwZT1uLnJlcXVlc3RUeXBlO1cuYnJsPUQuam9pbigiOyIpO1cucHM9Yi5qb2luKCI7Iik7CnJldHVybiBXfTsKdW5VPWZ1bmN0aW9uKG4sVyxEKXtuLnBTPT09dm9pZCAwJiYobi5wUz1uLlhiLnBTKFcsRCkpO3JldHVybiBuLnBTfTsKdmw9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5OPy5lbmNyeXB0KFcsRCk7cmV0dXJuIGI/YjoobmV3IGIxKG4uTi5KKSkuZW5jcnlwdChXLEQpfTsKelpqPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt7dmFyIGI9bi5OO2xldCB2PXRFKCk7Yj12P25ldyBkWE0oYi5KLHYpOnZvaWQgMH1pZihiKXRyeXtyZXR1cm4gYXdhaXQgYi5lbmNyeXB0KFcsRCl9Y2F0Y2godil7fXJldHVybiB2bChuLFcsRCl9OwpscjI9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OP3paaihuLFcsbi5pdik6b24obi5OKS5lbmNyeXB0KFcsbi5pdil9OwpUOGg9ZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OPy5KKFcsbi5pdil9OwpDYnQ9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7dmFyIEQ9bi5OO0Quanx8KEQuaj1uZXcgaksxKEQuVykpO3JldHVybiBMNFooRC5qLFcsbi5pdil9OwpCOGk9YXN5bmMgZnVuY3Rpb24obixXLEQpeygwLGcuUikoKTtyZXR1cm4gbi5OLk4/elpqKG4sVyxEKTpvbihuLk4pLmRlY3J5cHQoVyxEKX07CncwYj1mdW5jdGlvbihuLFcpe3ZhciBEPVc/LnByaW1hcnk7a3cobiwwLEQpO0Q9RD9GamooRCk6dm9pZCAwO2t3KG4sMixEKTtrdyhuLDEsVz8uc2Vjb25kYXJ5KX07CmhnPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gbmV3IGcud1ooYCR7RD8iaHR0cCI6Imh0dHBzIn06Ly8ke1d9JHtuLkIuUFguYmFzZVVybH1gKX07Cmt3PWZ1bmN0aW9uKG4sVyxEKXtEPyhEPUQgaW5zdGFuY2VvZiBnLndaP0Q6aGcobixEKSxuLk4uZ2V0KFcpPy5OKCkhPT1SMCg5OCwzNTcwLEQpJiZuLk4uc2V0KFcsbmV3IE1kaihELFcpKSk6bi5OLmRlbGV0ZShXKX07CkZqaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5yZXBsYWNlKC8oXGQrKS0tLS9nLChXLEQpPT57Vz1OdW1iZXIoRCk7cmV0dXJuYCR7Vz09PTE/MjpXLTF9LS0tYH0pfTsKUlpoPWZ1bmN0aW9uKG4sVz0hMSxEKXt2YXIgYj1nLlloKG4uQi5leHBlcmltZW50cywiZGVidWdfYmFuZGFpZF9ob3N0bmFtZSIpO3JldHVybiBiPyhXPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJkZWJ1Z19iYW5kYWlkX3BvcnQiKSxiPVc+MD9gJHtifToke1d9YDpiLFc9bi5CLmV4cGVyaW1lbnRzLkVxKCJkZWJ1Z19iYW5kYWlkX2luc2VjdXJlX3NjaGVtZSIpLGhnKG4sYixXKSk6VyYmRD8udXJsJiYhbi5KPyhiPVIwKDY3LDM1MzksbmV3IGcud1ooRC51cmwpKSxoZyhuLGIpKTpuLk4uZ2V0KDApPy5sb2NhdGlvbi5jbG9uZSgpfTsKTEQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1oZyhuLCJyZWRpcmVjdG9yLmdvb2dsZXZpZGVvLmNvbSIpO0Quc2V0KCJhbHIiLCJ5ZXMiKTtELnNldCgiaWQiLGAke01hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxRTUpfWApO2lmKFc9PT0xfHxXPT09MilELnNldCgiY21vPXNlbnNpdGl2ZV9jb250ZW50IiwieWVzIiksRC5zZXQoInNjIiwieWVzIik7Vz09PTImJkQuc2V0KCJjbW89dGQiLCJjLnlvdXR1YmUuY29tIik7dmFyIGI9YXdhaXQgZy5yOChELldEKCkse2Zvcm1hdDoiUkFXIix0aW1lb3V0OjVFM30pO2lmKGIueGhyLnN0YXR1cyE9PTIwMHx8IWIueGhyLnJlc3BvbnNlVGV4dClyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfbm9faG9zdCIsRC5XRCgpLGIueGhyLnN0YXR1cykpO3ZhciB2PW5ldyBnLndaKGIueGhyLnJlc3BvbnNlVGV4dCk7RD1SMCgzNCwzNTA2LHYpO2I9di5nZXQoIm1zIik7bj1oZyhuLEQpO3Y9di5nZXQoIm1tIik7bi5zZXQoIm1zIiwKYik7bi5zZXQoIm1tIix2KTtyZXR1cm4gRCYmUUt4KEQpP1chPT0yfHx4dyhEKT9uOlByb21pc2UucmVqZWN0KG5ldyBnLlF4KCJiMjA0MjU4MzcxX3VudHJ1c3RlZCIsRCxiKSk6UHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfaW52YWxpZCIsRCxiKSl9Owp2YXIgSFd0PWZ1bmN0aW9uKG4pe3JldHVybiBSMFtJWzEwXV0odGhpcyw0MSw1ODQ5LG4pfTsKVmR0PWZ1bmN0aW9uKG4sVyl7bj1gaHR0cHM6Ly8ke1cuTigpfS9pbml0cGxheWJhY2s/Yz0ke2xvKG4uQil9Jm93Yz0xYDtxVyhuLCJwdyIsRD0+e0QuaHQ9Vy5KfSl9OwplUj1mdW5jdGlvbihuLFcsRCxiKXtxVyhgaHR0cHM6Ly8ke1d9L3ZpZGVvcGxheWJhY2s/cHJvYmU9MWAsRCx2PT57IWIuUygiaHRtbDVfb25lc2llX2hvc3RfcmFjaW5nIil8fGIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHxiLlMoImh0bWw1X29uZXNpZV9wcm9iZV9lY19ob3N0cyIpfHxiLldSfHxjeVooYik7bi5XLnB1c2godil9LHY9PntuLlcucHVzaCh2LmRldGFpbHMpfSl9OwpRS3g9ZnVuY3Rpb24obil7cmV0dXJuLy4qKFwuY1wueW91dHViZVwuY29tfC4qXC5nb29nbGV2aWRlb1wuY29tKS8udGVzdChuKX07Cnh3PWZ1bmN0aW9uKG4pe3ZhciBXPS9zbi1bXi5dKi0vO3JldHVybi8uKlwuY1wueW91dHViZVwuY29tLy50ZXN0KG4pJiYhVy50ZXN0KG4pfTsKZ2o9ZnVuY3Rpb24obil7Zm9yKDtuLk4ubGVuZ3RoJiYhbi5OWzBdLmlzRW5jcnlwdGVkOyl7bGV0IHt2aWRlb0lkOkQsYXU6Yixmb3JtYXRJZDp2LGJ1ZmZlcjprLGlFOmh9PW4uTi5zaGlmdCgpO2lmKGspbi5OSS5ZYS5uQT8uZ2V0KEQpPy5OKGIsdixrKTtlbHNlIGlmKGgpbi5OSS5ZYS5ZaChELGIsdik7ZWxzZXt2YXIgVz1uLk5JO1cuTlt2XS5TdT0hMDtXPVcuWWEubkE/LmdldChEKTtXPy5nRih2KSYmVz8uSih2KX19fTsKZy5EMHI9ZnVuY3Rpb24obil7Zm9yKDshbi5YJiYhbi5lcnJvcjspe3ZhciBXPW47Vy5YPSEhWEIoVywxKTtzd2l0Y2goWEIoVywyKSl7Y2FzZSAyOnZhciBEPXZvaWQgMCxiPVtdLHY9W107di5sZW5ndGg9MTk7di5maWxsKDApO3ZhciBrPVhCKFcsNSkrMjU3O0Q9WEIoVyw1KSsxO3ZhciBoPVhCKFcsNCkrNDtmb3IodmFyIHg9MDt4PGg7eCsrKXZbYXJ4W3hdXT1YQihXLDMpO3Y9cVAodik7Zm9yKGg9aytEO2IubGVuZ3RoPGg7KXt4PW5SdChXLHYpO2xldCBMO3N3aXRjaCh4KXtjYXNlIDE2Ong9YltiLmxlbmd0aC0xXTtMPVhCKFcsMikrMzticmVhaztjYXNlIDE3Ong9MDtMPVhCKFcsMykrMzticmVhaztjYXNlIDE4Ong9MDtMPVhCKFcsNykrMTE7YnJlYWs7ZGVmYXVsdDpMPTF9Zm9yKDtMPjA7TC0tKWIucHVzaCh4KX1iLmxlbmd0aCE9PWg/Vy5lcnJvcj0hMDooRD1iLnNsaWNlKC1EKSxiLmxlbmd0aD1rLFdZaChXLGIsRCkpO2JyZWFrO2Nhc2UgMTpXWWgoVyxHYyx0Zyk7YnJlYWs7CmNhc2UgMDokdyhXLFcuTiY3KTtiPVhCKFcsMTYpO2s9WEIoVywxNik7KGJeaykhPT02NTUzNSYmKFcuZXJyb3I9ITApO2s9Vy5kYXRhLnN1YmFycmF5KFcuSixXLkorYik7Vy5vdXRwdXQuc2V0KGssVy5XKTtXLkorPWI7Vy5XKz1iO2JyZWFrO2RlZmF1bHQ6Vy5lcnJvcj0hMH1uLlc+bi5vdXRwdXQubGVuZ3RoJiYobi5vdXRwdXQ9bmV3IFVpbnQ4QXJyYXkobi5XKjIpLG4uVz0wLG4uSj0wLG4uWD0hMSxuLk49MCxuLnJlZ2lzdGVyPTApfW4ub3V0cHV0Lmxlbmd0aCE9PW4uVyYmKG4ub3V0cHV0PW4ub3V0cHV0LnN1YmFycmF5KDAsbi5XKSk7cmV0dXJuIG4uZXJyb3I/bmV3IFVpbnQ4QXJyYXkoMCk6bi5vdXRwdXR9OwpYQj1mdW5jdGlvbihuLFcpe2Zvcig7bi5OPFc7KXtpZihuLko+PW4uZGF0YS5sZW5ndGgpcmV0dXJuIG4uZXJyb3I9ITAsMDtuLnJlZ2lzdGVyfD1uLmRhdGFbbi5KKytdPDxuLk47bi5OKz04fXZhciBEPW4ucmVnaXN0ZXImKDE8PFcpLTE7bi5yZWdpc3Rlcj4+PVc7bi5OLT1XO3JldHVybiBEfTsKV1loPWZ1bmN0aW9uKG4sVyxEKXtXPXFQKFcpO0Q9cVAoRCk7Zm9yKHZhciBiPW4uZGF0YSx2PW4ub3V0cHV0LGs9bi5XLGg9bi5yZWdpc3Rlcix4PW4uTixMPW4uSjs7KXtpZih4PDE1KXtpZihMPmIubGVuZ3RoKzEpe24uZXJyb3I9ITA7YnJlYWt9aHw9KGJbTCsxXTw8OCkrYltMXTw8eDtMKz0yO3grPTE2fXZhciBlPVdbaCYxMjddO2lmKGU8MClmb3IoaD4+PTc7ZTwwOyllPVdbKGgmMSktZV0saD4+PTE7ZWxzZSBoPj49ZSYxNTt4LT1lJjE1O2U+Pj00O2lmKGU8MjU2KXZbaysrXT1lO2Vsc2UgaWYobi5yZWdpc3Rlcj1oLG4uTj14LG4uSj1MLGU+MjU2KXtoPXJqW2VdO2grPVhCKG4sc3FbZV0pO0w9blJ0KG4sRCk7eD1OUFtMXTt4Kz1YQihuLHBEW0xdKTtpZihieVomJmg8eCl4PWsteCx2LmNvcHlXaXRoaW4oayx4LHgraCk7ZWxzZSBmb3IoTD1rK2gsZT1rO2U8TDtlKz00KXZbZV09dltlLXhdLHZbZSsxXT12W2UteCsxXSx2W2UrMl09dltlLXgrMl0sdltlKzNdPXZbZS14KzNdOwprKz1oO2g9bi5yZWdpc3Rlcjt4PW4uTjtMPW4uSn1lbHNlIGJyZWFrfW4uVz1rfTsKblJ0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPDcpe3ZhciBEPW4uZGF0YTtsZXQgYj1uLko7Yj5ELmxlbmd0aCYmKG4uZXJyb3I9ITApO24ucmVnaXN0ZXJ8PShEW2IrMV08PDgpK0RbYl08PG4uTjtuLkorPTI7bi5OKz0xNn1EPVdbbi5yZWdpc3RlciYxMjddO2lmKEQ+PTApcmV0dXJuICR3KG4sRCYxNSksRD4+NDtmb3IoJHcobiw3KTtEPDA7KUQ9V1tYQihuLDEpLURdO3JldHVybiBEPj40fTsKJHc9ZnVuY3Rpb24obixXKXtuLk4tPVc7bi5yZWdpc3Rlcj4+PVd9OwpxUD1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IodmFyIEQgb2YgbilXW0RdfHwoV1tEXT0wKSxXW0RdKys7dmFyIGI9V1swXT0wO0Q9W107dmFyIHY9MCxrPTA7Zm9yKHZhciBoPTE7aDxXLmxlbmd0aDtoKyspV1toXT9rPWg6V1toXT0wLGI9YitXW2gtMV08PDEsRFtoXT1iLGg+NyYmKHYrPVdbaF0pO2ZvcihiPTE7Yjx2OyliPDw9MTtXPTEyODtrPW5ldyBJbnQxNkFycmF5KDEyOCsoYitrKSoyKTtmb3Iodj0wO3Y8bi5sZW5ndGg7disrKXtoPW5bdl07aWYoIWgpY29udGludWU7dmFyIHg9RFtoXSsrO2I9MDtmb3IodmFyIEw9MDtMPGg7TCsrKWI9Yjw8MXx4Pj5MJjE7eD12PDw0fGg7aWYoaDw9Nylmb3IoTD0xPDw3LWg7TC0tOylrW0w8PGh8Yl09eDtlbHNle0w9YiYxMjc7aC09Nztmb3IoYj4+PTc7aC0tOyl7a1tMXXx8KGtbTF09LVcsVys9Mik7bGV0IGU9YiYxO2I+Pj0xO0w9ZS1rW0xdfWtbTF09eH19cmV0dXJuIGt9OwpZdz1mdW5jdGlvbihuLFcpe24uVyhgZGNtcHJzXyR7bi5jb250ZXh0fV8ke24uTn1fZ3pfJHtXfWApfTsKdlJ3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE9vKG4sZnVuY3Rpb24oKXt2YXIgRD10aGlzO3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1EYXRlLm5vdygpO3RyeXtZdyhELCJzIik7dmFyIHY9eWllbGQqUFAoVygpKTtpZighdil0aHJvdyBFcnJvcigibm8gcmVzdWx0Iik7WXcoRCwiZSIpO3JldHVybiB2fWNhdGNoKGgpe1l3KEQsImYiKTt2YXIgaz1oO0QuSihrLCJneiIpO3Rocm93IGg7fWZpbmFsbHl7dj1EYXRlLm5vdygpLEQuYmooImd6Iix2LWIsayl9fSgpfSl9OwplU2o9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgdj0oayxoKT0+dlJ3KG5ldyBrMWkoayxELGIpLCgpPT5IUChoKG4pKSk7CmlmKEhsKXRyeXtyZXR1cm4geWllbGQqUFAodigibiIsaFMxKSl9Y2F0Y2goayl7fWlmKFcpdHJ5e3JldHVybiB5aWVsZCpQUCh2KFcuaXNBc21qcz8iYSI6InciLGs9PngwQyhrLFcpKSl9Y2F0Y2goayl7fXJldHVybiB5aWVsZCpQUCh2KCJwIixMWTIpKX0oKX0pfTsKaFMxPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFIbCl0aHJvdyBFcnJvcigiRGVjb21wcmVzc2lvblN0cmVhbSBpcyBub3Qgc3VwcG9ydGVkIik7dmFyIFc9WksudFgoKSxEPW5ldyBEZWNvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYj1ELndyaXRhYmxlLmdldFdyaXRlcigpO2Iud3JpdGUobik7Yi5jbG9zZSgpO249RC5yZWFkYWJsZS5nZXRSZWFkZXIoKTtmb3IoRD1uZXcgUzUoW10pOzspe2xldCB7dmFsdWU6dixkb25lOmt9PWF3YWl0IG4ucmVhZCgpO2lmKGspYnJlYWs7RC5hcHBlbmQodil9bj10UihEKTtaSy5lVSgiZ3puYiIsVyxNYXRoLmNlaWwobi5ieXRlTGVuZ3RoLzE2KSk7cmV0dXJuIG59OwpMWTI9ZnVuY3Rpb24obil7dmFyIFc9WksudFgoKTtuPWcuRDByKG5ldyBnLmdSYihuKSk7WksuZVUoImd6amIiLFcsTWF0aC5jZWlsKG4uYnl0ZUxlbmd0aC8xNikpO3JldHVybiBufTsKeDBDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9WksudFgoKTtuPVcubWVtb3J5LmNvcHlJbihuKTt0cnl7bGV0IHY9bi5ieXRlT2Zmc2V0LGs9bi5ieXRlTGVuZ3RoLGg9Vy5leHBvcnRzLmdldEluZmxhdGVkU2l6ZSh2LGspO2lmKGg9PT0wKXRocm93IEVycm9yKCJ3YXNtX2d6OiBiYWQgaW5wdXQiKTtsZXQgeD1XLm1lbW9yeS5tYWxsb2MoaCksTD1XLmV4cG9ydHMuaW5mbGF0ZUd6aXAodixrLHgpO2lmKEwpdGhyb3cgVy5tZW1vcnkuZnJlZSh4KSxFcnJvcihgd2FzbV9nejogZmFpbCR7TH1gKTt2YXIgYj1XLm1lbW9yeS5idWZmZXIoeCxoKX1maW5hbGx5e1cubWVtb3J5LmZyZWUobi5ieXRlT2Zmc2V0KX1XPVcubWVtb3J5Lm1vdmVPdXQoYik7WksuZVUoImd6d2IiLEQsTWF0aC5jZWlsKFcuYnl0ZUxlbmd0aC8xNikpO3JldHVybiBXfTsKZkQ9ZnVuY3Rpb24obil7dmFyIFc9bi5xdWV1ZTtXLk4ubGVuZ3RoJiZXLk5bMF0uaXNFbmNyeXB0ZWQmJiFXLkomJihXLk4ubGVuZ3RoPTApO2ZvcihsZXQgRCBvZiBPYmplY3Qua2V5cyhuLk4pKXtsZXQgYj1uLk5bRF07Yi5TdXx8KFc9bi5xdWV1ZSxXLk4ucHVzaCh7dmlkZW9JZDpiLnZpZGVvSWQsZm9ybWF0SWQ6RCxpc0VuY3J5cHRlZDohMX0pLFcuSnx8Z2ooVykpfX07ClhCdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcudG90YWxMZW5ndGgsYj0hMTtzd2l0Y2gobi5XKXtjYXNlIDA6bi5qcChXLG4uWCkudGhlbih2PT57dmFyIGs9bi5ZYTtrLkRrKCJvcHJyIik7ay5wbGF5ZXJSZXNwb25zZT12O2suVUl8fChrLkIyPSExKTtKZyhrKX0sdj0+e24uWWEuZmFpbCh2KX0pOwpicmVhaztjYXNlIDI6bi5Eaygib3JtayIpO1c9dFIoVyk7bi5xdWV1ZS5kZWNyeXB0KFcpO2JyZWFrO2RlZmF1bHQ6Yj0hMH1uLllhLnhHJiZuLllhLlUoIm9tYnVwIixgaWQuMTE7cHQuJHtuLld9O2xlbi4ke0R9JHtiPyI7aWdub3JlZC4xIjoiIn1gKTtuLlc9bnVsbH07CnFQaT1mdW5jdGlvbihuLFcpe24uWWEuRGsoIm9wcmd6Ml9zIik7Vz1lU2ooVyxuLllhLkcoKS5qXygpLG4uWWEueEc/bi5ZYS5VLmJpbmQobi5ZYSk6KCk9Pnt9LEQ9PntuLllhLkRrKEQpfSk7ClNrKFcsKCk9PntuLllhLkRrKCJvcHJnejJfZSIpfSwoKT0+e24uWWEuRGsoIm9wcmd6Ml9mIil9KTsKcmV0dXJuIFd9OwpHMVM9YXN5bmMgZnVuY3Rpb24obixXKXtuLllhLkRrKCJvcHJnel9zIik7aWYoSGwpdHJ5e3ZhciBEPWF3YWl0IGhTMShXKTtuLllhLkRrKCJvcHJnel9uIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJuIn0pO3JldHVybiBEfWNhdGNoKGIpe24uWWEuVSgiZ3plcnIiLHtpbXBsOiJuYXRpdmUiLGVycjpgJHtifWB9KX1pZihEPW4uWWEuRygpLmpfKCkpdHJ5e2xldCBiPXgwQyhXLEQpO24uWWEuRGsoIm9wcmd6X3ciKTtuLllhLlUoIm9wcnNneiIse2k6IncifSk7cmV0dXJuIGJ9Y2F0Y2goYil7bi5ZYS5VKCJnemVyciIse2ltcGw6Indhc20iLGVycjpgJHtifWB9KX1XPUxZMihXKTtuLllhLkRrKCJvcHJnel9wIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJqIn0pO3JldHVybiBXfTsKdF9oPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57c2V0VGltZW91dChXLG4pfSl9OwokMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkcoKTtEPW4uWVomJkQuUygiaHRtbDVfb25lc2llX3ByZWxvYWRfdXNlX2NvbnRlbnRfb3duZXIiKTtpZigoVz1SWmgoVyxELG4uUWEpKSYmbi52aWRlb0lkKXtuPWcuZDEobi52aWRlb0lkKTtEPVtdO2lmKG4pZm9yKGIgb2YgbilELnB1c2goYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKTt2YXIgYj1ELmpvaW4oIiIpO1cuc2V0KCJpZCIsYik7cmV0dXJuIFd9fTsKck9oPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPTApe3ZhciBiPVtdO2IucHVzaChXLmxvYWQoKSk7RD4wJiZiLnB1c2godF9oKEQpKTthd2FpdCBQcm9taXNlLnJhY2UoYik7cmV0dXJuICQwYihuLFcpfTsKczlDPWZ1bmN0aW9uKG4sVyxELGI9ITEpe24uc2V0KCJjcG4iLFcuY2xpZW50UGxheWJhY2tOb25jZSk7bi5zZXQoIm9wciIsIjEiKTt2YXIgdj1XLkcoKTtuLnNldCgicG9yIiwiMSIpO3RFKCl8fG4uc2V0KCJvbmVtIiwiMSIpO1cuc3RhcnRTZWNvbmRzPjAmJm4uc2V0KCJvc3RzIixgJHtXLnN0YXJ0U2Vjb25kc31gKTtifHwodi5TKCJodG1sNV9vbmVzaWVfZGlzYWJsZV9wYXJ0aWFsX3NlZ21lbnRzIikmJm4uc2V0KCJvc2VzIiwiMSIpLFc9di5TKCJodG1sNV9nYXBsZXNzX29uZXNpZV9ub19tZWRpYV9ieXRlcyIpJiZBSihXKSYmVy5ZWixEJiYhVz8oVz1ELmF1ZGlvLG4uc2V0KCJwdmkiLEQudmlkZW8uam9pbigiLCIpKSxuLnNldCgicGFpIixXLmpvaW4oIiwiKSksTnN8fG4uc2V0KCJvc2giLCIxIikpOihuLnNldCgib2FkIiwiMCIpLG4uc2V0KCJvdmQiLCIwIiksbi5zZXQoIm9hYWQiLCIwIiksbi5zZXQoIm9hdmQiLCIwIikpKX07Ck5KaT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe3ZhciBrPWBodHRwczovL3lvdXR1YmVpLmdvb2dsZWFwaXMuY29tL3lvdXR1YmVpLyR7Vy5TVi5pbm5lcnR1YmVBcGlWZXJzaW9ufS9wbGF5ZXJgLGg9W3tuYW1lOiJDb250ZW50LVR5cGUiLHZhbHVlOiJhcHBsaWNhdGlvbi9qc29uIn1dO2ImJmgucHVzaCh7bmFtZToiQXV0aG9yaXphdGlvbiIsdmFsdWU6YEJlYXJlciAke2J9YH0pO2gucHVzaCh7bmFtZToiVXNlci1BZ2VudCIsdmFsdWU6Zy5YUSgpfSk7Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP2gucHVzaCh7bmFtZToiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIix2YWx1ZTpnLkFyKCJFT01fVklTSVRPUl9EQVRBIil9KTooRD1ELnZpc2l0b3JEYXRhfHxnLkFyKCJWSVNJVE9SX0RBVEEiKSkmJmgucHVzaCh7bmFtZToiWC1Hb29nLVZpc2l0b3ItSWQiLHZhbHVlOkR9KTsoRD1nLkFyKCJTRVJJQUxJWkVEX0xBVkFfREVWSUNFX0NPTlRFWFQiKSkmJmgucHVzaCh7bmFtZToiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiLAp2YWx1ZTpEfSk7KFc9Zy5ZaChXLmV4cGVyaW1lbnRzLCJkZWJ1Z19zaGVybG9nX3VzZXJuYW1lIikpJiZoLnB1c2goe25hbWU6IlgtWW91dHViZS1TaGVybG9nLVVzZXJuYW1lIix2YWx1ZTpXfSk7bj1JdyhKU09OLnN0cmluZ2lmeShuKSk7cmV0dXJue3VybDprLGUzOmgscG9zdEJvZHk6bixFYTp2LGU4OnZ9fTsKSWs9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPW4uWUMsRz1uLmRmO249bi5DVjt2YXIgcj1lIT09dm9pZCAwJiZHIT09dm9pZCAwLE49Yi5nZXRWaWRlb0RhdGEoKSxIPVcuTi5lbmNyeXB0ZWRDbGllbnRLZXk7Vz1yP1cuaXY6dm9pZCAwO3I9R0QoaywhMCk7dj12fHwhIXRFKCkmJnI+MTU3Mjg2NDtyZXR1cm57aW5uZXJ0dWJlUmVxdWVzdDp7d1M6bix2VTplLGRmOkcsZW5jcnlwdGVkQ2xpZW50S2V5OkgsaXY6VyxtdzohMCxGRDohMCxEWToiRGVjb21wcmVzc2lvblN0cmVhbSJpbiB3aW5kb3d8fCF2LHlKOiEwfSxDbjpqRk0oe2lqOmsseVE6RCxMOmIsblI6Ti5zdGFydFNlY29uZHMqMUUzLGhxOiEwfSksb25lc2llVXN0cmVhbWVyQ29uZmlnOmgsQng6eCxtSDpTVihOKSxyZWxvYWRQbGF5YmFja1BhcmFtczpOLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtcyxVazpMfX07CnBCeD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPWcubGgobixhZiksZTtpZighbi5lOClpZihlPVQ4aChXLEwpKXt2YXIgRz1lLkc0O2U9ZS5zaWduYXR1cmV9ZWxzZSBlPUc9Vy5lbmNyeXB0KEwpLCgwLGcuUikoKSxlPXBmKG5ldyBZJChXLk4uVyksZSxXLml2KTtyZXR1cm4gSWsoRyYmZT97WUM6RyxkZjplfTp7Q1Y6TH0sVyxELGIsISFuLmU4LHYsayxoLHgpfTsKWVBNPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dmFyIEw9Zy5saChuLGFmKTtMPWF3YWl0IGxyMihXLEwpO3ZhciBlPWF3YWl0IENidChXLEwpO3JldHVybiBJayh7WUM6TCxkZjplfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpIeVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4KXt2YXIgTD1nLmxoKG4sYWYpO2lmKEw9VDhoKFcsTCkpcmV0dXJuIElrKHtZQzpMLkc0LGRmOkwuc2lnbmF0dXJlfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpKT3c9YXN5bmMgZnVuY3Rpb24obixXLEQpe24uRGsoIm9wcmRfcyIpO1c9Zkl0KG4pP2F3YWl0IEI4aShuLnlxLFcsRCk6bi55cS5kZWNyeXB0KFcsRCk7bi5Eaygib3ByZF9jIik7cmV0dXJuIFd9OwpmSXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5TKCJodG1sNV9vbmVzaWVfc3luY19yZXF1ZXN0X2VuY3J5cHRpb24iKXx8Vz8uZTg/ITE6ISF0RSgpfTsKSUliPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X29uZXNpZV9ob3N0X3Byb2JpbmciKXx8bi54Rz9OczohMX07CkpnPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclJlc3BvbnNlKXJldHVybiExO2lmKG4uYmspcmV0dXJuITA7dmFyIFc9bi52aWRlb0RhdGEuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEobi52aWRlb0RhdGEpO2lmKG4ubkEmJm4uQjIpe2lmKCFuLm5BLmhhcyhuLkxjKSlyZXR1cm4hMTtsZXQgYj1uLm5BLmdldChuLkxjKTt2YXIgRDtpZihEPWIpe0Q9ITE7Zm9yKGxldCB2IG9mIGIudTkua2V5cygpKXtsZXQgaz1iLnU5LmdldCh2KTtpZihrKWZvcihsZXQgaCBvZiBrLkJ0KWguZUg+MCYmKGsuZVM/RD0hMDpXPSEwKX1EPSEoVyYmRCl9aWYoRClyZXR1cm4hMX1uLkRrKCJvZnIiKTtuLkNSLnJlc29sdmUobi5wbGF5ZXJSZXNwb25zZSk7cmV0dXJuIG4uYms9ITB9OwpBT009ZnVuY3Rpb24obil7aWYobi5uQSYmIW4uUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtuLkRrKCJvZ3NmX3MiKTt2YXIgVz16eFMobi5MLmdldFZpZGVvRGF0YSgpLChiLHYpPT57bi5VKGIsdil9KSxEPVNQTShuLkwpOwpXLnZpZGVvPWlfYihELFcudmlkZW8pO24uRGsoIm9nc2ZfYyIpO2lmKFcudmlkZW8ubGVuZ3RoKXJldHVybiBXO24uVSgib21ic3BmIixgbC4ke0QuSn07dS4ke0QuTn07by4ke0QuV307ci4ke0QucmVhc29ufWApfX07ClNSPWZ1bmN0aW9uKG4pe2lmKCFuLm5mKXJldHVybnt9O3ZhciBXPW4ubmYuRCgpO1cuZD1uLm5mLkR0Py5iWSgpO1cuc2hvc3Q9bi56YztXLnR5PSJvIjtyZXR1cm4gV307CmN5Wj1mdW5jdGlvbihuKXtuLkIyPSExO2lmKCFKZyhuKSl7dmFyIFc9U1Iobik7Vy50aW1lb3V0PSIxIjtuLmZhaWwobmV3IGcuQ2koIm9uZXNpZS5yZXF1ZXN0IixXKSl9fTsKUGw9ZnVuY3Rpb24obixXKXtpZihXLnFOKCl8fG4ucU4oKSluLnBvbGljeS5QTHx8KG4ucG9saWN5Lmo/Zy5BZyhuLmxvYWRlcik6bi5sb2FkZXIuQlkoKSk7ZWxzZXtpZihuLnBvbGljeS5XJiZXLmlzQ29tcGxldGUoKSYmVyBpbnN0YW5jZW9mIHV1KXt2YXIgRD1uLmxvYWRlcixiPUQuVTt2YXIgdj1PYmplY3QuYXNzaWduKFcubmYuRCgpLHtyc3Q6Vy5zdGF0ZSxzdHJtOlcueGhyLkdwKCksZDpXLm5mLkR0Py5iWSgpLGNuY2w6Vy54aHImJlcudDUuWD8xOjAscnFiOlcuRUYsY3d0OlcudDUuVyxzd3Q6Vy5QcT8uS059KTt2PU9iamVjdC5hc3NpZ24oRGsoVy5pbmZvKSx2KTtiLmNhbGwoRCwicnFzIix2KX1pZihXLmlzQ29tcGxldGUoKSYmVy5ENSgpJiZXIGluc3RhbmNlb2YgdXUpVy5kaXNwb3NlKCksbi5sb2FkZXIuQlkoKTtlbHNle2lmKFcucVEoKSluLkhlPSEwLFcgaW5zdGFuY2VvZiB1dSYmWFNoKG4udGltaW5nLFcpLG0wTShuKSxtdihuKTtlbHNlIGlmKFcudG4oKSlEPW4uTC5lSigpLApXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJkQmJihuLkIuWnQoKS5OLlFRKEtZeCl8fG4ubG9hZGVyLndSKEQpKSxXIGluc3RhbmNlb2YgdXUmJlcua2goKT8oVy5WRygpJiZuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLDApLFcuZGlzcG9zZSgpKTpXIGluc3RhbmNlb2YgdXUmJng2dyhXKT9uLmxvYWRlci5ETz8uVygpOlcgaW5zdGFuY2VvZiBLRD9uLk4ucG9wKCk6KEQ9MSxXLmNhblJldHJ5KCkmJnd1KG4ubG9hZGVyKSYmKE95WihuLFcpLEQ9MCksYj1uLkwuZUooKSxXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJmImJm4uQi5adCgpLk4uUVEoS1l4KSYmKFcuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpP24ubG9hZGVyLlUoInV0Y1NlZWtpbmdSZXRyeSIse3RhcmdldFV0Y1RpbWVTZWM6Yn0pOm4ubG9hZGVyLndSKGIpKSxuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLEQpKTtlbHNle2lmKG4ubG9hZGVyLmlzU3VzcGVuZGVkJiYKIVcuaXNDb21wbGV0ZSgpKXJldHVybjttdihuKX1XLnFOKCl8fFcgaW5zdGFuY2VvZiBLRHx8KEQ9MCxXLmlzQ29tcGxldGUoKSYmKEQ9cDBiKFcsbi5wb2xpY3ksbi5ubikpLEQhPT0wJiYoVy5pbmZvLlhiLmo/KEQ9Vy5pbmZvLEQ9bmV3IE9xKDIsRC5YYixELllhKSxELnBTPSExKTooYj1uZXcgT3EoMSxXLmluZm8uWGIpLGIucFM9RD09PTIsRD1iKSxQT3QobixEKSkpO2lmKFcuaXNDb21wbGV0ZSgpKXtpZihuLnBvbGljeS5RciYmbi52aWRlb0RhdGEuaXNPdGYoKSYmbi5CLlY9PT0icHciJiYhbi5PJiYhVy5xUSgpJiYhVy50bigpJiYhUlEobi52aWRlb0RhdGEpJiYhbi52aWRlb1RyYWNrLlRDKXtuLkN4PSExO24uTz0hMDtuLmxvYWRlci5ncCh7cmVhc29uOiJzYWJyLm5vX3ZpZGVvX3JlY2VpdmVkX29uX3N0YXJ0IixhY3Rpb246MH0pO3JldHVybn1uLkN4PSExO1cucVEoKXx8KG4uTz0hMCxuLkhlPSExKTtuLkIuUygiaHRtbDVfdXNlX21lZGlhX2ZldGNoX2NvbnRyb2xsZXIiKSYmCm4ubG9hZGVyLkwuV0ooInJlcXVlc3Rjb21wbGV0ZWQiKX1uLnBvbGljeS5IRCYmIVcuaXNDb21wbGV0ZSgpP1FvKG4ubG9hZGVyKTpuLmxvYWRlci5CWSgpfX19OwpaeVM9ZnVuY3Rpb24obil7bi5wb2xpY3kuTEImJihuLlZRPXZvaWQgMCxuLkc3PTApfTsKaXlpPWZ1bmN0aW9uKG4pe2lmKG4ubG9hZGVyLkFiKXJldHVybiBaayhuLCJwcmVwYXJpbmduZXh0bG9vcCIpLCExO2lmKCFVMFoobixuLlMkKSlyZXR1cm4gWmsobiwicmF0ZWxpbWl0ZWQiKSwhMTtpZihpUyhuLmF1ZGlvVHJhY2spJiZpUyhuLnZpZGVvVHJhY2spKXJldHVybiBaayhuLCJlbmRvZnN0cmVhbSIpLCExO2lmKG4ucG9saWN5LlUxKWlmKG4ucG9saWN5Llgpe2lmKG4uVk8/LmNKKCkpcmV0dXJuIFprKG4sInNzZGFpYmxvY2tlZCIpLCExfWVsc2V7dmFyIFc9ITE7aWYobi5KQy5KPT09MilXPSEwO2Vsc2UgaWYobi5KQy5KPT09Myl7VXEobik7bi5sb2FkZXIuU1coKTt2YXIgRD1QNihuLmF1ZGlvVHJhY2ssbi5sb2FkZXIuaXNTZWVraW5nKCkpLmVXO3ZhciBiPVA2KG4udmlkZW9UcmFjayxuLmxvYWRlci5pc1NlZWtpbmcoKSkuZVc7dmFyIHY9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKXx8MDtEPXl1KG4sRCx2KTtiPXl1KG4sYix2KTtiPU1hdGgubWluKEQsYik7dj1uLkpDOwpiPj12Llc/KHYuVSgic2RhaSIse2hhbHRycTpiLGVzdDp2Lld9KSxiPSEwKTpiPSExO2ImJihXPSEwKX1pZihXKXJldHVybiBaayhuLCJ3YWl0aW5nZm9yYWRzIiksITF9bi5wb2xpY3kudTUmJihuLnR3PUVxKG4sbi5hdWRpb1RyYWNrKSxuLmJkPUVxKG4sbi52aWRlb1RyYWNrKSk7aWYoIW4uSilyZXR1cm4gaTEobix7bm9wb2xpY3k6MX0pLCEwO2lmKG4uTC5lSigpKXJldHVybiBpMShuLHt1dGM6MX0pLCEwO2lmKG4uazYuSylyZXR1cm4gaTEobix7YXVkaW86MX0pLCEwO2lmKG4ucG9saWN5LnNaJiZuLms2LkQpcmV0dXJuIGkxKG4se2NvbnN0cmFpbnQ6MX0pLCEwO2lmKCFuLkoudGFyZ2V0QXVkaW9SZWFkYWhlYWRNc3x8IW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zKXJldHVybiBpMShuLHtub3JlYWRhaGVhZDoxfSksITA7aWYobi5wb2xpY3kuaiYmbi5sb2FkZXIuWFgoKSlyZXR1cm4gaTEobix7c2Vla1RvSGVhZDoxfSksITA7Vz1NYXRoLm1pbihPYihuLmxvYWRlcixuLmF1ZGlvVHJhY2spKgoxRTMsbi5KLnRhcmdldEF1ZGlvUmVhZGFoZWFkTXMpO2I9TWF0aC5taW4oT2Iobi5sb2FkZXIsbi52aWRlb1RyYWNrKSoxRTMsbi5KLnRhcmdldFZpZGVvUmVhZGFoZWFkTXMpO3Y9TWF0aC5taW4oVyxiKTt2YXIgaz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTMse0IxOmgsbDE6eCxjdjpMLGFrOmV9PXlPWihuLGspO0Q9aDx2O3ZhciBHPXg8djtpZih1MShuKSl7az1vayhuLlcsayk7dmFyIHI9azx2O24uTC5XWCgpJiZyJiYhRCYmIUcmJm4ubG9hZGVyLlUoInNhYnJjcm5tIix7Y3JhOmssbXByYTp2LGNicmw6bi5XLmxlbmd0aH0pfWlmKCEoRHx8R3x8dTEobikmJnIpKXJldHVybiBuLnBvbGljeS51NSYmbi5MLldYKCkmJihMPHZ8fGU8dikmJm4ubG9hZGVyLlUoInNhYnJuY3JxIix7Y2FyOmgsdmFjOngsYWJoOkwsdmJoOmUsbWFyOlcsbXZyOmJ9KSxaayhuLCJyZWFkYWhlYWRtZXQiKSwhMTtpZihuLnBvbGljeS5SVyYmRVJTKG4ubG9hZGVyKSYmbi52aWRlb0RhdGEuTlAoKSlyZXR1cm4gWmsobiwKInNob3J0c2J1ZmZlcmVkdG9lbmQiKSwhMTtpZihuLnBvbGljeS5XZCYmRVJTKG4ubG9hZGVyKSlyZXR1cm4gWmsobiwidm9kYnVmZmVyZWR0b2VuZCIpLCExO3I9bi5sb2FkZXIueXIoKTtyLmNhcj1oO3IudmFjPXg7ci5tYXI9VztyLm12cj1iO3IudGFyPW4uSi50YXJnZXRBdWRpb1JlYWRhaGVhZE1zO3IudHZyPW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zO3IucGNsPW4uSi5wbGF5YmFja0Nvb2tpZT8ubGVuZ3RofHwwO3IudmJ1PXJrKG4uTC5oNSgpPy5KKCl8fG51bGwpO3IuYWJoPUw7ci52Ymg9ZTtpMShuLHIpO3JldHVybiEwfTsKdWtoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE9xKDAsbi5LdS5ZLG4pO24uazYuRD0hMTtuLnBvbGljeS52WCYmbi5sb2FkZXIuVSgic2FicmNzYyIse3RvOm4ucG9saWN5LlRJLHJsOm4ucG9saWN5LnN6LHNidDpuLnBvbGljeS5DdT8xOjB9LCEwKTtuPVBPdChuLEQsVyk7bi5wb2xpY3kuRkYmJihuLlU4PW4ucG9saWN5LmpfKCkuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NyZWF0ZSgpKTtyZXR1cm4gbn07Cm9SdD1mdW5jdGlvbihuLFcpe2l5aShuKSYmKFc9dWtoKG4sVyksbi5OLnB1c2goVyksbi5ZPy5OKG4uS3UuWSksbi5WPjAmJm4uUyQuRXkrKyl9OwpQT3Q9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtpajpuLmlqLEJlOihrLGgpPT57bi5MLkthKGssaCl9LApORDpuLnBvbGljeS5XLEtwOm4ucG9saWN5LktwfTtuLmlqLkouViYmKGIucVk9KG4udmlkZW9UcmFjay5QSi5pbmZvLk5zfHwwKSsobi5hdWRpb1RyYWNrLlBKLmluZm8uTnN8fDApKTtuLnBvbGljeS5VVCYmKGIuTzg9bi5hdWRpb1RyYWNrLlBKLmluZGV4LlVjKCksYi5Rbj0hMSk7dmFyIHY9dW5VKFcsbi5wb2xpY3ksbi5ubik/MjoxO3YhPT1uLm51JiYobi5udT12LG0wTShuKSk7RD1kMGIobixEKTtpZihuLnBvbGljeS5ZJiZuLnBvbGljeS5XJiZELlJBKXtsZXQgaz12PSIiO2ZvcihsZXQgaCBvZiBELlJBKW4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5oYXMoaCl8fG4ucG9saWN5LlkmJkQuYkomJkQuYkoudHlwZT09PWg/dis9YF8ke2h9YDprKz1gXyR7aH1gO24ubG9hZGVyLlUoInNhYnJibGRycXMiLHtjdHh0czp2LG1pc2N0eHRzOmt9KX0hVy5zZXREYXRhKEQsbi5wb2xpY3ksbi5ubikmJm4ucG9saWN5LlkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKCJwbGF5ZXIuZXhjZXB0aW9uIiwKe3JlYXNvbjoiYnVpbGRzYWJycmVxdWVzdGRhdGFmYWlsZWQifSwxKTtiPW5ldyB1dShuLnBvbGljeSxXLG4uS3Usbi5ubixuLGIsbi5sb2FkZXIuVTQoKSk7aXUobi50aW1pbmcpO24ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyY3JxaW5mbyIse3JuOmIuY0EoKSxwcm9iZTpXLkQ1KCl9KTtyZXR1cm4gbi5GRj1ifTsKRXE9ZnVuY3Rpb24obixXKXtVcShuKTtuLmxvYWRlci5TVygpO3JldHVybiBQNihXLG4ubG9hZGVyLmlzU2Vla2luZygpKX07CnUxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBvbGljeS55RSYmISFuLlh9Owp5dT1mdW5jdGlvbihuLFcsRCl7bj1uLmxvYWRlci5TVygpfHwwO3JldHVybiBvayhXLChEK24pKjFFMykvMUUzK0R9OwpkMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1kaihuLmxvYWRlcikmJlcmJlcuU3MhPT12b2lkIDAmJiFXLmJNP01hdGguY2VpbCgoVy5Tcysobi5sb2FkZXIuU1coKXx8MCkpKjFFMyk6VXEobik7aWYobi5wb2xpY3kudTUpe3ZhciBiPW4udHc7dmFyIHY9bi5iZH1lbHNlIGI9RXEobixuLmF1ZGlvVHJhY2spLHY9RXEobixuLnZpZGVvVHJhY2spO3ZhciBrPVsuLi5iLmVXLC4uLnYuZVddO3UxKG4pJiZrLnB1c2goLi4ubi5XKTt2YXIgaD1bLi4uYi5CaSwuLi52LkJpXSx4PVtdO2Zvcih2YXIgTCBvZiBoKUwudkQhPT12b2lkIDAmJkwudkQ+TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/bi5sb2FkZXIuVSgic2FicnBzZWdsbXQiLHtsbXQ6TC52RCxpdGFnOkwuZm9ybWF0SWQ/Lml0YWcsc3E6TC5zZXF1ZW5jZU51bWJlcn0pOngucHVzaChMKTtoPW4ubG9hZGVyLmx1KCk7bi5wb2xpY3kuWW4mJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEw9bi52aWRlb0RhdGEubGVuZ3RoU2Vjb25kcyoKMUUzLEQ+PUwmJm4ubG9hZGVyLlUoImludmFsaWRTYWJyQ210Iix7Y210OkQsdmQ6TH0pKTtMPW4uaWo7dmFyIGU9bi5MLEc9bi5LdSxyPW4uSixOPW4udmlkZW9EYXRhLmJkLEg9bi5wb2xpY3ksQT1uLmxvYWRlci5xRyx5PW4uVlE/LmtFLFQ9bi5WUT8uVW0sej1uLkc3LEM9TnVtYmVyKG4uazYuWD8uaW5mby5pdGFnKXx8MCxRPU51bWJlcihuLms2Lmo/LmluZm8uaXRhZyl8fDAsVj1uLkwudzkoKTt2YXIgTHQ9Vz8uSiQ/Vy5KJDpuLmxvYWRlci5pc1N1c3BlbmRlZD80OnZvaWQgMDtEPXtpajpMLEw6ZSxLdTpHLGVXOmssQmk6eCxuUjpELG5leHRSZXF1ZXN0UG9saWN5OnIsUkE6TixvWjpILHB6OkEsa0U6eSxVbTpULEc3OnosdU06QyxyRzpRLHEkOmgscjg6VixKJDpMdCxDeDpuLkN4LGdEOm4uUFgsSGU6bi5IZX07az1uLmxvYWRlci5NWSgpO3g9Zy5kMShrKTtrJiYoRC5kTj14KTtpZihXPWRqKG4ubG9hZGVyKSYmVz8uYk0/Vy5TczpuLkwuZUooKSlELmo0PVcqMUUzO1c9bi5rNjsKaz1XLnR3O2lmKFcub1o/LkR0KCkmJiFrKWZvcih0aSBvZiBXLlcpaWYodGkua1ope2s9ITA7YnJlYWt9dmFyIHRpPVcub1ouRHQoKSYmIWs/W106TyRpKFcsVy5XKTtELkdoPXRpO3RpPW4uazY7dGkub1ouRHQoKSYmIXRpLmJkP3RpPVtdOihXPUtqaSh0aSksVy5sZW5ndGg9PT0wJiYoVz10aS5WKSx0aT1PJGkodGksVykpO0QuTSQ9dGk7RC5Fdj11MShuKT9bbi5YXTp2b2lkIDA7RC5JOD1BcnJheS5mcm9tKHdDKG4uazYuTikua2V5cygpLE51bWJlcik7RC5sbD1uLms2LmxsKCk7bi5wb2xpY3kuS0UmJihELllzPXpTMihuLmxvYWRlcixuLmF1ZGlvVHJhY2spLEQuZXE9elMyKG4ubG9hZGVyLG4udmlkZW9UcmFjaykpO3RpPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk7Yj15dShuLGIuZVcsdGkpO3Y9eXUobix2LmVXLHRpKTt2PU1hdGgubWluKGIsdik7bi5UQz12O24ucG9saWN5LlUxJiYodTEobikmJihiPXl1KG4sbi5XLHRpKSxuLkwuV1goKSYmYjx2JiZuLmxvYWRlci5VKCJzYWJyY2ZiIiwKe21ldDp2LGNldDpiLGNicmw6bi5XLmxlbmd0aH0pLHY9TWF0aC5taW4odixiKSksIW4ucG9saWN5LlgmJihiPW4uc1U/LlNQKHYpKSkmJihELk15PWIsbi5sb2FkZXIuVSgic2RhaSIse3NzaW5mbzpiLmN1ZXBvaW50SWR9KSk7bi5wb2xpY3kuWCYmKGI9bi52aWRlb0RhdGEuYkJbbi52aWRlb0RhdGEuSj8uY29udGFpbmVyVHlwZXx8MF0sdis9bi5sb2FkZXIuU1coKSxELmJLPW4uVk8/LlkodixiKSxELmJLJiZuLmxvYWRlci5VKCJjbHNkYWkiLHtzc2luZm9zOkQuYksubGVuZ3RofSksbi5WTz8uTygpKTtuLnBvbGljeS5ZJiZuLk4ubGVuZ3RoPjAmJm4uTlswXS5ETCgpJiYoRC5iSj1uLk5bMF0ubWYoKSk7cmV0dXJuIER9OwpVcT1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5qJiZuLmxvYWRlcj8uWFgoKSxEPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCl8fDA7RD1sSWIobixEKTthOmlmKG4ucG9saWN5LmZtJiZuLmxvYWRlci5pc1NlZWtpbmcoKSl7dmFyIGI9QTAobi52aWRlb1RyYWNrLEQpO24ubG9hZGVyLlUoImFzbXRmbmN0diIse2I6RCxhOmJ9KTtpZighaXNOYU4oYikpe0Q9YjticmVhayBhfX1iPW4ubG9hZGVyLlNXKCl8fDA7RCs9YjtiPVlwKG4udmlkZW9EYXRhKXx8Zy5wQShuLnZpZGVvRGF0YSk7dmFyIHY9MDtXPyhiJiYodj1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUiksbi52aWRlb0RhdGEuUkkmJih2PU1hdGguY2VpbChuLnZpZGVvRGF0YS5KVSoxRTMpKSk6dj1NYXRoLmNlaWwoRCoxRTMpO3JldHVybiBNYXRoLm1pbihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUix2KX07CmxJYj1mdW5jdGlvbihuLFcpe2lmKG4ubG9hZGVyLmlzU2Vla2luZygpKXJldHVybiBXO3ZhciBEPW4uTC5oNSgpO2lmKCFEKXJldHVybiBXO0Q9RC5KKCk7aWYoRC5sZW5ndGg9PT0wfHxCUihELFcpKXJldHVybiBXO2lmKCFuLnZpZGVvVHJhY2suZnAoVykmJiFuLmF1ZGlvVHJhY2suZnAoVykpcmV0dXJuIG4ubG9hZGVyLlUoInN1bmRybiIse2I6MCxsdDpXfSksVzt2YXIgYj1XLHY9SW5maW5pdHk7Zm9yKGxldCBrPTA7azxELmxlbmd0aDtrKyspe2lmKEQuc3RhcnQoayk+Vyljb250aW51ZTtsZXQgaD1XLUQuZW5kKGspO2g8diYmKHY9aCxiPUQuZW5kKGspKX1yZXR1cm4gYiE9PVcmJihuLmxvYWRlci5VKCJzdW5kcm4iLHticmU6YixsdDpXfSksdj49MjApPyhuLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIse3JlYXNvbjoiYnVmZmVydW5kZXJydW5leGNlZWRzbGltaXQifSksVyk6Yn07Cm9rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPS0xO2ZvcihsZXQgdiBvZiBuKWlmKCEodi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXM8Vykpe2lmKGI8MCYmdi5zdGFydFRpbWVNcz5XfHxiPj0wJiZ2LkFDPmIrMSlicmVhaztEPU1hdGgubWF4KEQsdi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXMpO2I9TWF0aC5tYXgoYix2Lmk5KX1yZXR1cm4gTWF0aC5tYXgoMCxELVcpfTsKWms9ZnVuY3Rpb24obixXKXtuLkdDPVc7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcmIiLHtyZWFzb246V30pfTsKVTBaPWZ1bmN0aW9uKG4sVyl7YTp7aWYobi5WPjApe3ZhciBEPU1hdGguZmxvb3IoKDAsZy5SKSgpLzFFNCk7aWYoRD09PVcuWGope2lmKFcuRXk+PW4uVil7aWYoVy5FeT09PW4uVil7RD17cmVhc29uOiJ0b29tYW55cmVxdWVzdHMifTtELmxpbWl0PVcuRXk7aWYobi5GRil7bGV0IGI9RGsobi5GRi5pbmZvKTtELmxyX3B0aW1lPWIucHRpbWU7RC5scl9ydHlwZT1iLnJ0eXBlO0QubHJfYnJsPWIuYnJsO0QubHJfcHM9Yi5wc31uLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIsRCk7Vy5FeSs9MX1XPSExO2JyZWFrIGF9fWVsc2UgVy5Yaj1ELFcuRXk9MH1XPSEwfXJldHVybiFXfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmbi5sb2FkZXIuT00/ITE6bi5qJiYoMCxnLlIpKCk8bi5qPyhnLkphKG4ubG9hZGVyLmoyKSwhMSk6bi5OLmxlbmd0aD4wJiYoIW4ucG9saWN5Lll8fG4uTi5sZW5ndGghPT0xfHwhbi5OWzBdLkRMKCkpfHwhbi5LdS5ZPy5ZKG4ucG9saWN5LG4ubm4sCm4ubG9hZGVyLkl3KXx8bi5EdD8hMTohMH07CmkxPWZ1bmN0aW9uKG4sVyl7bi5HQz12b2lkIDA7bi5ZWj0oMCxnLlIpKCk7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcnEiLFcpfTsKeU9aPWZ1bmN0aW9uKG4sVyl7dmFyIHtjdjpELGFrOmJ9PVRKYihuKTtpZihuLnBvbGljeS51NSl7dmFyIHY9b2sobi50dy5lVyxXKTtuPW9rKG4uYmQuZVcsVyl9ZWxzZSB2PUQsbj1iO3JldHVybntCMTp2LGwxOm4sY3Y6RCxhazpifX07Cm0wTT1mdW5jdGlvbihuKXtuLnZpZGVvRGF0YS5iZC5jbGVhcigpO2lmKG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKHZhciBXIG9mIG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5rZXlzKCkpbi52aWRlb0RhdGEuc2FickNvbnRleHRVcGRhdGVzLmdldChXKT8uc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcpO2lmKG4ucG9saWN5LlkmJm4uTi5sZW5ndGgpZm9yKGxldCBEIG9mIG4uTikoVz1ELm1mKCkpJiZXLnR5cGUmJlcuc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcudHlwZSl9Owptdj1mdW5jdGlvbihuKXtmb3IoO24uTi5sZW5ndGgmJm4uTlswXS5CNihuLkUxKCkpOyl7bGV0IFc9bi5OLnNoaWZ0KCk7ajlDKG4sVyl9bi5OLmxlbmd0aCYmajlDKG4sbi5OWzBdKX07Cmo5Qz1mdW5jdGlvbihuLFcpe1cgaW5zdGFuY2VvZiB1dSYmKG4uZSQ9Vyk7dmFyIEQ9bmV3IFNldChXLlNKKG4uRTEoKSkpO2ZvcihsZXQgaCBvZiBEKXtpZihEPVcgaW5zdGFuY2VvZiBLRCl7RD1uLms2O3ZhciBiPXl5eChELGgpLHY9bkQoRCxELnZpZGVvSW5mb3MpLmluY2x1ZGVzKGgpOyFELm9aLlRQfHxifHx2fHxELmxvYWRlci5VKCJzYWJyY3BmIix7ZmlkOmAke2h9YCx2ZmlkczpgJHtuRChELEQudmlkZW9JbmZvcykuam9pbigiLiIpfWAsc2FpZDpELll8fCIifSk7RD0hKGJ8fHYpfWlmKEQpY29udGludWU7RD1XIGluc3RhbmNlb2YgdXU/eUIoVyk6dm9pZCAwO2lmKEQhPT12b2lkIDApe2lmKCFXLlFBKGgsbi5FMSgpKSljb250aW51ZTtiPW4uS3UuSi5nZXQoaCk7aWYoIWIpY29udGludWU7bi5wb2xpY3kueUUmJmIuaW5mby5OKCl8fChiLmluZm8uZVMoKT9uLmF1ZGlvVHJhY2s6bi52aWRlb1RyYWNrKS5aYyhELGgpO2NvbnRpbnVlfUQ9Vy5mMyhoLG4uRTEoKSk7Yj1uLnBvbGljeS55RSYmCkQubGVuZ3RoPjAmJkRbMF0uUEouaW5mby5OKCk7aWYoIVcuUUEoaCxuLkUxKCkpKWNvbnRpbnVlO3Y9Vy54OShoLG4uRTEoKSk7Zm9yKGxldCB4IG9mIHYpe24ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBLRCYmbi5sb2FkZXIuVSgib21ibHNzIix7czp4LmluZm8uZ2EoKX0pO2lmKGIpe3Y9bi50aW1pbmc7di5EfHwodi5EPSgwLGcuUikoKSxnLkVHKCJmY2JfciIsdi5ELHYuelIpKTtpZihuLnBvbGljeS5rdSl7dj1nLlZmKHguaW5mby5QSi5pbmZvLG4uS3UuelcpO3ZhciBrPXguaW5mby5qJDtpZihuLksmJk1rKG4uSyk9PT1Nayh2KSYmazw9bi5jSiljb250aW51ZTt4LmluZm8uYVomJihuLks9dixuLmNKPWspfXY9bjt2LnZpZGVvRGF0YS56VygpJiZ2LlgmJk1rKHYuWCk9PT1NayhnLlZmKHguaW5mby5QSi5pbmZvLHYuS3UuelcpKSYmdi5MLldKKCJzYWJyQ2FwdGlvbnNEYXRhTG9hZGVkIix4LHYueUUuYmluZCh2KSk7Y29udGludWV9dj14LmluZm8uUEouaW5mby5lUygpO2s9eC5pbmZvLlBKOwpsZXQgTD1XIGluc3RhbmNlb2YgS0Q/MToyO2lmKHYpe2lmKG4uazYuWHIoayxMLFcuSmQobi5FMSgpKT8udG9rZW4pKWNvbnRpbnVlfWVsc2Ugbi5rNi5EUihrLEwsVy5KZChuLkUxKCkpPy50b2tlbik7az12P24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7VyBpbnN0YW5jZW9mIEtEJiYoay5qPSExLFcgaW5zdGFuY2VvZiBLRCYmKHY/Z2oxKG4udGltaW5nKTplN2Iobi50aW1pbmcpKSk7dHJ5e2suV2coRCx4KX1jYXRjaChlKXt2PUIkKGUpLG4ubG9hZGVyLmhhbmRsZUVycm9yKHYuZXJyb3JDb2RlLHYuZGV0YWlscyx2LnNldmVyaXR5KSxrLnppKCksbi5YJCghMSwicHVzaFNsaWNlIiksZy5BZyhuLmxvYWRlcil9fX19OwpPeVo9ZnVuY3Rpb24obixXKXtuLnBvbGljeS5ZP24uTi5zcGxpY2Uobi5OLmluZGV4T2YoVykpLmZvckVhY2goRD0+e0QuZGlzcG9zZSgpfSk6KG4uTi5wb3AoKSxXPy5kaXNwb3NlKCkpfTsKQ09qPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PG4uTi5sZW5ndGg7disrKVcmJm4uTlt2XWluc3RhbmNlb2YgS0Q/Yi5wdXNoKG4uTlt2XSk6KG4ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyZGlzIix7ZDpuLk5bdl0uY0EoKSxzcmM6RH0pLG4uTlt2XS5kaXNwb3NlKCkpO24uTj1ifTsKQkp0PWZ1bmN0aW9uKG4sVyl7aWYoVy50bigpfHxXLnFOKCkpe3ZhciBEPW4ubG9hZGVyLGI9RC5VLHY9Vy5zdGF0ZTtuPW4uRTEoKTtXPVcubkE/LmdldChuKT8uWSgpPz8tMTtiLmNhbGwoRCwic2Ficm9tYiIse3M6dix0Ynl0ZXM6V30pfWVsc2V7RD1XLlNKKG4uRTEoKSk7Yj0hMTtmb3IobGV0IGsgb2YgRClpZih2PW4uazYsbkQodix2LnZpZGVvSW5mb3MpLmluY2x1ZGVzKGspKXtiPSEwO2JyZWFrfWlmKEQubGVuZ3RoPT09MHx8YiluLlBYPSEwO24uTi5wdXNoKFcpO1cuWEwucHVzaChuKTtpdShuLnRpbWluZyk7bi5wb2xpY3kuclcmJlcuYlAmJm4udVEoVy5iUCxXLmNBKCkpfX07ClRKYj1mdW5jdGlvbihuKXt2YXIgVz1uLmF1ZGlvVHJhY2suenMoITApKjFFMztuPW4udmlkZW9UcmFjay56cyghMCkqMUUzO3JldHVybntjdjpXLGFrOm59fTsKRllDPWZ1bmN0aW9uKG4se1NzOlcsYk06RH0pe2lmKFc9PT12b2lkIDApcmV0dXJuITE7Vz1EP24uTC5sSyhXKTpXO2lmKFc9IW4ubG9hZGVyLmZwKFcpJiZVMFoobixuLkN1KSl7Vz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTM7bGV0IHtCMTpiLGwxOnZ9PXlPWihuLFcpO1c9Yj49N0UzJiZ2Pj03RTN9cmV0dXJuIFd9Owp3Qng9ZnVuY3Rpb24obixXKXtuLmRlbGF5Py5kaXNwb3NlKCk7bi5kZWxheT1udWxsO3ZhciBEPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KChiLHYpPT5iLm1lZGlhVGltZS12Lm1lZGlhVGltZSk7CkQubGVuZ3RoIT09MCYmKFc9KERbMF0ubWVkaWFUaW1lLVcpKjFFMy9uLkwuZ2V0UGxheWJhY2tSYXRlKCksbi5kZWxheT1uZXcgZy5mXygoKT0+e3pjKG4pfSxXPjUwMD9XLTUwMDpXKSxuLmRlbGF5LnN0YXJ0KCkpfTsKemM9ZnVuY3Rpb24obixXKXtpZihsMShuLkwuZ2V0UGxheWVyU3RhdGUoKSkmJm4uTi5zaXplIT09MCl7Vz1XPz9BcnJheS5mcm9tKG4uTi52YWx1ZXMoKSkuc29ydCgodixrKT0+di5tZWRpYVRpbWUtay5tZWRpYVRpbWUpOwp2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj0oV1swXS5tZWRpYVRpbWUtRCkqMUUzL24uTC5nZXRQbGF5YmFja1JhdGUoKTtpZihiPDUwMCl7RD1iPjA/bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpOkQ7Zm9yKGxldCB2IG9mIFcpaWYoRD49di5tZWRpYVRpbWUpdi5yZXNvbHZlKFt2Lm1lZGlhVGltZSx2LmlkXSksbi5OLmRlbGV0ZSh2LmlkKTtlbHNlIGJyZWFrfXdCeChuLEQpfX07Ck1fdz1mdW5jdGlvbihuLFcsRCl7bi5OLmRlbGV0ZShEKTtyZXR1cm4gbmV3IFByb21pc2UoYj0+e24uTi5zZXQoRCx7aWQ6RCxtZWRpYVRpbWU6VyxyZXNvbHZlOmJ9KTtiPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KCh2LGspPT52Lm1lZGlhVGltZS1rLm1lZGlhVGltZSk7CkQ9PT1iWzBdLmlkJiZ6YyhuLGIpfSl9OwpROWI9ZnVuY3Rpb24obil7dmFyIFc9bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpLEQ9bi5YLlIzKFcpO1JTQyhuLEQsVyk7bi5pc1NlZWtpbmc9ITE7dmFyIGI9QXJyYXkuZnJvbShuLk4ua2V5cygpKS5maWx0ZXIodj0+dj49RCkuc29ydCgodixrKT0+di1rKTsKZm9yKGxldCB2IG9mIGIpYj12PT09RD9XLW4uWC5nZXRTdGFydFRpbWUoRCk6MCxuLksodixuLk4uZ2V0KHYpLGIpfTsKVl8yPWZ1bmN0aW9uKG4sVyxELGI9ITEpe1chPT1uLktZJiYobi5LWT1XLG4uTC5XSigicGxheWJhY2tzdGFydGVkIixXLEQrbi5MLlNXKCksYikpfTsKUlNDPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLk4uZ2V0KFcpLHY9bi5YLmdldFN0YXJ0VGltZShXKSxrPW4uWC5nZXREdXJhdGlvbihXKSxoPXY7KGI/Lk4/P1tuLmNwbl0pLmZvckVhY2goKHgsTCk9Pnt2YXIgZT1iPy5KW0xdPz9rO0Q+PWgmJkQ8aCtlJiYoTD14IT09bi5jcG4/aC0oYj8uWFtMXT8/MCk6aCxuLko9eCxWXzIobix4LEwsITApKTtoKz1lfSl9OwpjT3c9ZnVuY3Rpb24obixXKXsobi5XLmdldChXKT8/W10pLmZvckVhY2goRD0+e24uai5OLmRlbGV0ZShEKX0pOwpuLlcuZGVsZXRlKFcpfTsKYUlaPWZ1bmN0aW9uKG4sVyxELGIpe24uSj1EO0Q9YCR7V30uJHtEfWA7bi5XLmhhcyhXKT9uLlcuZ2V0KFcpLnB1c2goRCk6bi5XLnNldChXLFtEXSk7TV93KG4uaixiLEQpLnRoZW4oKFt2LGtdKT0+e3ZhciBbaCx4XT1rLnNwbGl0KCIuIik7WyxrXT1bTnVtYmVyKGgpLHhdO1ZfMihuLGssdil9KX07CldYaD1mdW5jdGlvbihuLFcsRCxiLHYsayl7cmV0dXJuIFcuVDcmJlcuRTUmJkQ9PT0zP25ldyBudTEobixXLGIsdixrKTpudWxsfTsKRExiPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuRDIpe3ZhciBEPVcuaW5mby5OcyxiPUdEKG4uc2NoZWR1bGUpO1c9Vy5pbmRleC5VYygpO0Q9TWF0aC5tYXgoMSxiL0QpO24uWT1NYXRoLnJvdW5kKE1hdGgubWF4KCgoRC0xKSpXK24ucG9saWN5LndhKS9ELFctbi5wb2xpY3kuTWwpKjFFMyl9fTsKa25yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RGF0ZS5ub3coKS8xRTMsYj1ELW4uc3RhcnRUaW1lU2Vjcyx2PUQtbi5WLGs9dj49bi5wb2xpY3kuT04saD0hMTtpZihrKXtsZXQgeD0wOyFpc05hTihXKSYmVz5uLmomJih4PVctbi5qLG4uaj1XKTt4L3Y8bi5wb2xpY3kuSVcmJihoPSEwKTtuLlY9RH1EPWI+PW4ucG9saWN5Lk1sJiYhbi5XO2lmKCFrJiYhRCYmYkZqKG4sVykpcmV0dXJuIE5hTjtEJiYobi5XPSEwKTthOntiPWg7RD0oMCxnLlIpKCkvMUUzLShuLnF6LkxnKCl8fDApLW4uSy5XLW4ucG9saWN5LndhO2s9bi5KLnNlZ21lbnRTdGFydFRpbWU7RD1rK0Q7aWYoYil7aWYoaXNOYU4oVykpe1RjKG4sTmFOLCJuIixXKTtrPU5hTjticmVhayBhfWI9Vy1uLnBvbGljeS5FVDtiPEQmJihEPWIpfWVsc2Ugbi5XJiYoYj1EK24ucG9saWN5LndhLW4uTytuLnBvbGljeS5BTCxpc05hTihXKXx8KGI9TWF0aC5tYXgoYixNYXRoLm1pbihELFctbi5wb2xpY3kuRVQpKSksRD1iKTtrPUQ9TWF0aC5tYXgoRCwKayl9bi5OPWs7aWYoaXNOYU4obi5OKSlyZXR1cm4gbi5jbGVhcigpLE5hTjtpZighaCYmYkZqKG4sVykpcmV0dXJuIHZ1TShuLFcpLE5hTjtpZihuLk48PW4uSi5zZWdtZW50U3RhcnRUaW1lKXJldHVybiBUYyhuLE5hTiwieSIsVyksbi5jbGVhcigpLE5hTjtpZighbi5EKG4uTiwhMSkpcmV0dXJuIXZ1TShuLFcpJiZoJiYoVGMobixOYU4sInQiLFcpLG4uY2xlYXIoKSksTmFOO2g9bi5OO1RjKG4saCwicyIsVyk7bi5jbGVhcigpO3JldHVybiBofTsKYkZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlzTmFOKFcpPyEwOmlzTmFOKG4uTik/ITE6VzxuLk4rKG4uVz9uLnBvbGljeS5FVDpuLnBvbGljeS5neCl9Owp2dU09ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5EKG4uTiwhMCk/ITE6KFRjKG4sTmFOLCJucyIsVyksbi5jbGVhcigpLCEwKX07ClRjPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4uWC55MCgpO3Yuc3NyX3NrPShXKjFFMykudG9GaXhlZCgwKTt2LnNzcl90PShuLk4qMUUzKS50b0ZpeGVkKDApO3Yuc3NyX3I9RDt2LnNzcl9zdD0obi5zdGFydFRpbWVTZWNzKjFFMykudG9GaXhlZCgwKTt2LnNzcl9uPSgwLGcuUikoKS50b0ZpeGVkKDApO3Yuc3NyX2Y9KG4uSy5XKjFFMykudG9GaXhlZCgwKTt2LnNzcl9mYT1uLlc/IjEiOiIwIjt2LnNzcl9vPShuLnF6LkxnKCkqMUUzfHwwKS50b0ZpeGVkKDApO3Yuc3NyX3Y9KGIqMUUzKS50b0ZpeGVkKDApO1c9bi5KLlBKLmluZGV4O1cuTUkobi5KLmokLCEwKSYmKHYuc3NyX2lzdD0oVy5nZXRTdGFydFRpbWUobi5KLmokKSoxRTMpLnRvRml4ZWQoMCksdi5zc3JfaWQ9KFcuZ2V0RHVyYXRpb24obi5KLmokKSoxRTMpLnRvRml4ZWQoMCkpO24ubG9hZGVyLlUoInNzciIsdil9OwpoUXg9ZnVuY3Rpb24oKXt2YXIgbj17fSxXPXdpbmRvdy5wZXJmb3JtYW5jZTtpZihXKXtsZXQgRD1XLm1lbW9yeTtEJiYobi5qc1RvdGFsPUQudG90YWxKU0hlYXBTaXplLG4uanNVc2VkPUQudXNlZEpTSGVhcFNpemUsbi5qc0xpbWl0PUQuanNIZWFwU2l6ZUxpbWl0LG4ubXNUb3RhbD1ELmdldE1lZGlhU291cmNlVG90YWxBbGxvY2F0ZWRNZW1vcnk/LigpPz9ELnRvdGFsTWVkaWFTb3VyY2VTaXplLG4ubXNMaW1pdD1ELmdldE1lZGlhU291cmNlTWF4aW11bU1lbW9yeUNhcGFjaXR5Py4oKT8/RC5tZWRpYVNvdXJjZVNpemVMaW1pdCxuLm1zVXNlZD1ELmdldE1lZGlhU291cmNlQ3VycmVudE1lbW9yeUNhcGFjaXR5Py4oKT8/RC51c2VkTWVkaWFTb3VyY2VNZW1vcnlTaXplKTtXLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkmJihuLmNiRnJlZT1XLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkoKSk7Vy5tZWFzdXJlVXNlZENwdU1lbW9yeSYmKG4uY2JVc2VkPVcubWVhc3VyZVVzZWRDcHVNZW1vcnkoKSl9d2luZG93Lmg1dmNjPy5jVmFsJiYKKG4uY2JGcmVlPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuQ1BVLkZyZWUiKSxuLmNiVXNlZD13aW5kb3cuaDV2Y2MuY1ZhbC5nZXRWYWx1ZSgiTWVtb3J5LkNQVS5Vc2VkIiksbi5jYkpzPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuSlMiKSk7cmV0dXJuIG59Owp4THQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5QcmVzc3VyZU9ic2VydmVyJiZuZXcgd2luZG93LlByZXNzdXJlT2JzZXJ2ZXIobil9OwpMWHI9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2F3YWl0IG4uan1jYXRjaHt9bi5XPy5kaXNjb25uZWN0KCl9OwpndUM9ZnVuY3Rpb24obixXKXtXP2VRai50ZXN0KG4pOihuPWcub0UobiksT2JqZWN0LmtleXMobikuaW5jbHVkZXMoImNwbiIpKX07CmpSPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17Zm9ybWF0OiJSQVcifSx4PXt9O2lmKGcuVGQobikmJmcuakgoKSl7bGV0IEw9Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpO0w/eFsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09TDpiP3hbIlgtR29vZy1WaXNpdG9yLUlkIl09YjpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKHhbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO0QmJih4WyJYLUdvb2ctUGFnZUlkIl09RCk7KGI9Vy5UQykmJiFnLnFGKFcpJiYoeFsiWC1Hb29nLUF1dGhVc2VyIl09Yik7diYmKHguQXV0aG9yaXphdGlvbj1gQmVhcmVyICR7dn1gKTtXLlMoImVuYWJsZV9kYXRhc3luY19pZF9oZWFkZXJfaW5fd2ViX3Zzc19waW5ncyIpJiZXLllyJiZXLmRhdGFzeW5jSWQmJih4WyJYLVlvdVR1YmUtRGF0YVN5bmMtSWQiXT1XLmRhdGFzeW5jSWQpO2lmKFcuUygiZW5hYmxlX3JvbGxvdXRfdG9rZW5faGVhZGVyIikpe2xldCBlPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik/LmNsaWVudD8ucm9sbG91dFRva2VuOwplJiYoeFsiWC1Zb3VUdWJlLVJvbGxvdXQtVG9rZW4iXT1lKX1MfHx4WyJYLUdvb2ctVmlzaXRvci1JZCJdfHx2fHxEfHxiP2gud2l0aENyZWRlbnRpYWxzPSEwOlcuUygiaHRtbDVfc2VuZF9jcG5fd2l0aF9vcHRpb25zIikmJmVRai50ZXN0KG4pJiYoaC53aXRoQ3JlZGVudGlhbHM9ITApfU9iamVjdC5rZXlzKHgpLmxlbmd0aD4wJiYoaC5oZWFkZXJzPXgpO2smJihoLm9uRmluaXNoPWspO3JldHVybiBPYmplY3Qua2V5cyhoKS5sZW5ndGg+MT9oOm51bGx9OwpDRD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2cuakgoKSYmRC50b2tlbiYmKG49Zy56ZChuLHtjdHQ6RC50b2tlbixjdHR5cGU6RC55byxtZHhfZW52aXJvbm1lbnQ6RC5tZHhFbnZpcm9ubWVudH0pKTtiLlMoIm5ldF9waW5nc19sb3dfcHJpb3JpdHkiKSYmKFd8fChXPXt9KSxXLnByaW9yaXR5PSJsb3ciKTtrfHx4JiZiLlMoIm53bF9za2lwX3JldHJ5Iik/KFc9PW51bGw/Vz17fTpndUMobixiLlMoImh0bWw1X2Fzc2VydF9jcG5fd2l0aF9yZWdleCIpKSxoP2cuSFUoKS5zZW5kQW5kV3JpdGUobixXKTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShuLFcseCkpOlc/KGd1QyhuLGIuUygiaHRtbDVfYXNzZXJ0X2Nwbl93aXRoX3JlZ2V4IikpLEJXaihuLFcpKTpnLmdvKG4sdil9OwpYTmk9ZnVuY3Rpb24obil7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuO0QrKyl7bGV0IGI9e30sdj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOSoxRTgpKzFFOCxrPSIiO2ZvcihsZXQgaD0wO2g8OTtoKyspays9ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo1MildO2IudmlkZW9EZWNvZGVyTmFtZT1rO2IuZWxhcHNlZFRpbWVNcz12O1cucHVzaChiKX1yZXR1cm4gV307CkJsPWZ1bmN0aW9uKG4sVyl7bj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5zZXQobixXKTtyZXR1cm4gWW8obik/U2soSFAobiksKCk9PiEwLCgpPT4hMSk6SFAoISFuKX07CnFScj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VCdWZmZXJlZFJhbmdlIixuPzE6MCl9OwpHbnc9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJIVFRQMyIsbj8xOjApfTsKdEZ4PWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUF0dGFjaG1lbnRNZXRob2RzIixuPzE6MCl9OwokTEM9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJRVUlDIixuPzE6MCl9OwpyYzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BdWRpb1dyaXRlRHVyYXRpb25Mb2NhbCIsbil9OwpzZ3c9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsbj8xOjApfTsKTjBTPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsbil9OwpwTnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb1JlbmRlcmVyTWluSW5wdXRCdWZmZXJzIixuKX07CllSdz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvUmVuZGVyZXJNaW5EZWNvZGVkRnJhbWVzIixuKX07CkhGWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLG4/MTowKX07CmZ5VT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVJlc2V0QXVkaW9EZWNvZGVyIixuPzE6MCl9OwpKY2I9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVGbHVzaER1cmluZ1NlZWsiLG4/MTowKX07Ckl5dz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsbil9OwpTUnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLG4/MTowKX07CkFjWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLG4/MTowKX07Cm1MMj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbj8xOjApfTsKS1haPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuRXhwZXJpbWVudGFsTWF4UGVuZGluZ0J5dGVzUGVyUGFyc2UiLG4pfTsKdmFyIE9XdD1mdW5jdGlvbihuKXtyZXR1cm4gZVhbSVsxMF1dKHRoaXMsMTksNzA4NyxuKX07Ck9GQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsbil9OwpQUXI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5NZWRpYUNvZGVjUmVzZXREZWxheU1zIixuKX07ClpGdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRpc2FibGVMb3dQZXJmb3JtYW5jZVNvZnR3YXJlRGVjb2RlIixuPzE6MCl9OwpVTDI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVBdjFTdGFydHVwT3B0aW1pemF0aW9uIixuPzE6MCl9Owp5YzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Vc2VEdWFsVGhyZWFkc0ZvclZpZGVvIixuPzE6MCl9OwpFdXQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CmlGVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CnVxdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIixuPzE6MCl9OwpvdTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG4/MTowKX07CmRMaT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLG4/MTowKX07CnpRUz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIixuPzE6MCl9OwpseTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLG4/MTowKX07ClQwVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixuPzE6MCl9OwpqZ2g9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Ta2lwVmlkZW9GcmFtZXNPdmVyNjBGcHMiLG4/MTowKX07CkNRQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZsdXNoQXVkaW9UcmFja0R1cmluZ1NlZWsiLG4/MTowKX07CkIwaj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkJ5cGFzc01vam9Gb3JNZWRpYSIsbj8xOjApfTsKRlgyPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuSWdub3JlTWVkaWFDb2RlY0NhbGxiYWNrc0R1cmluZ0ZsdXNoaW5nIixuPzE6MCl9OwpNRng9ZnVuY3Rpb24oKXt2YXIgbj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5nZXRQZXJzaXN0ZW50U2V0dGluZ0FzU3RyaW5nPy4oImNwdV91c2FnZV90cmFja2VyX2ludGVydmFscyIpO2lmKG4hPW51bGwpe249SlNPTi5wYXJzZShuKT8/W107dmFyIFc9bi5maWx0ZXIoRD0+RC50eXBlPT09InRvdGFsIikubWFwKEQ9PkQuc2Vjb25kcyk7CmZvcihsZXQgRCBvZiB3TjIpVy5pbmRleE9mKEQpPT09LTEmJm4ucHVzaCh7dHlwZToidG90YWwiLHNlY29uZHM6RH0pO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzX2VuYWJsZWQiLDEpO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzIixKU09OLnN0cmluZ2lmeShuKSl9fTsKUlFVPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93Lkg1dmNjUGxhdGZvcm1TZXJ2aWNlLFc9IiI7aWYobiYmbi5oYXMoImRldi5jb2JhbHQuY29hdC5jbGllbnRsb2dpbmZvIikmJihuPW4ub3BlbigiZGV2LmNvYmFsdC5jb2F0LmNsaWVudGxvZ2luZm8iLCgpPT57fSkpKXtsZXQgRD1uLnNlbmQobmV3IEFycmF5QnVmZmVyKDApKTsKRCYmKFc9U3RyaW5nLmZyb21DaGFyQ29kZSguLi4obmV3IFVpbnQ4QXJyYXkoRCkpKSk7bi5jbG9zZSgpfXJldHVybiBXfTsKVkZTPWZ1bmN0aW9uKG4pe3ZhciBXPXdpbmRvdy5INXZjY1BsYXRmb3JtU2VydmljZTtpZihXKXt2YXIgRD1RZ2kuZmluZChiPT5XLmhhcyhiKSk7CkQmJihEPVcub3BlbihELCgpPT57fSkpJiYoRC5zZW5kKEl3KGBjcG46ICR7bn1gKS5idWZmZXIpLEQuY2xvc2UoKSl9fTsKZy53aj1mdW5jdGlvbihuLFcsRCxiKXtnLkZCKG4sRCxgJHtXLnRvRml4ZWQoMyl9OiR7Yi5qb2luKCI6Iil9YCl9OwpNUD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtnLndqKG4sVywiY210IixbRC50b0ZpeGVkKDMpXSk7dmFyIGI9RD1uLnByb3ZpZGVyLm90KCk7aWYoKCFuLmp8fEFKKG4ucHJvdmlkZXIudmlkZW9EYXRhKT8wOmIqMUUzPm4uai52TysxMDApJiZuLmope2I9bi5qLmlzQWQ7RD1EKjFFMy1uLmoudk87bi5lST1XKjFFMy1uLmoudFMtRC1uLmouT2E7dmFyIHY9KDAsZy5SKSgpLUQ7Vz1uLmVJO0Q9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIGs9RC5pc0FkKCk7aWYoYnx8ayl7az1gJHtiPyJhZCI6InZpZGVvIn1fdG9fJHtrPyJhZCI6InZpZGVvIn1gO3ZhciBoPXt9O0Qua1cmJihoLmN0dEF1dGhJbmZvPXt0b2tlbjpELmtXLHZpZGVvSWQ6RC52aWRlb0lkfSk7aC5zdGFydFRpbWU9di1XO2cuYmQoayxoKTtnLm5sKHt0YXJnZXRWaWRlb0lkOkQudmlkZW9JZCx0YXJnZXRDcG46RC5jbGllbnRQbGF5YmFja05vbmNlfSxrKTtnLmFMKCJwYnMiLHYsCmspfWVsc2Ugdj1uLnByb3ZpZGVyLkwuZUcoKSx2LlYhPT1ELmNsaWVudFBsYXliYWNrTm9uY2U/KHYuaj1ELmNsaWVudFBsYXliYWNrTm9uY2Usdi5KPVcpOkQuTlAoKXx8Zy5HcShuZXcgZy5ReCgiQ1NJIHRpbWluZyBsb2dnZWQgYmVmb3JlIGdsbGF0Iix7Y3BuOkQuY2xpZW50UGxheWJhY2tOb25jZX0pKTtuLlUoImdsbGF0Iix7bDpuLmVJLnRvRml4ZWQoKSxwcmV2X2FkOitifSk7ZGVsZXRlIG4uan19OwpnLkZCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkouZ2V0KFcpO2I/Yi5wdXNoKEQpOm4uSi5zZXQoVyxbRF0pfTsKUXU9ZnVuY3Rpb24obixXKXtuLmlzT2ZmbGluZT1XO2cud2oobixnLlJrKG4ucHJvdmlkZXIpLCJpc19vZmZsaW5lIixbbi5pc09mZmxpbmU/IjEiOiIwIl0pfTsKVnU9ZnVuY3Rpb24obixXLEQpe2lmKCFpc05hTihELlc3KSl7bGV0IGI9RC5XNztELko8YiYmKGI9RC5KKTtnLndqKG4sVywiYmgiLFtiLnRvRml4ZWQoMyldKX19OwpjbD1mdW5jdGlvbihuLFc9TmFOKXtXPVc+PTA/VzpnLlJrKG4ucHJvdmlkZXIpO3ZhciBEPW4ucHJvdmlkZXIuTC5ISygpLGI9RC5Fci0obi52Snx8MCk7Yj4wJiZnLndqKG4sVywiYndtIixbYiwoRC5vdy0obi5FNXx8MCkpLnRvRml4ZWQoMyldKTtpc05hTihuLnZKKSYmRC5FciYmbi5pc09mZmxpbmUmJlF1KG4sITEpO24udko9RC5FcjtuLkU1PUQub3c7aXNOYU4oRC5iYW5kd2lkdGhFc3RpbWF0ZSl8fGcud2oobixXLCJid2UiLFtELmJhbmR3aWR0aEVzdGltYXRlLnRvRml4ZWQoMCldKTtuLnByb3ZpZGVyLkIuV1goKSYmT2JqZWN0LmtleXMoRC5OKS5sZW5ndGghPT0wJiZuLlUoImJ3aW5mbyIsRC5OKTtpZihuLnByb3ZpZGVyLkIuV1goKXx8bi5wcm92aWRlci5CLlMoImh0bWw1X2xvZ19tZW1pbmZvIikpYj1oUXgoKSxPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9PXZvaWQgMCkmJm4uVSgibWVtaW5mbyIsYik7Cm4ucHJvdmlkZXIuQi5XWCgpJiYoYj1uLnlFPy5YKCkpJiZPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9bnVsbCkmJm4uVSgiY3B1aW5mbyIsYik7Cm4uVEMmJmcud2oobixXLCJiYXQiLFtuLlRDLmxldmVsLG4uVEMuY2hhcmdpbmc/IjEiOiIwIl0pO2I9bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO24uVTUhPT1iJiYoZy53aihuLFcsInZpcyIsW2JdKSxuLlU1PWIpO01QKG4sVyk7KGI9Y2NaKG4ucHJvdmlkZXIpKSYmYiE9PW4uWSQmJihnLndqKG4sVywiY29ubiIsW2JdKSxuLlkkPWIpO1Z1KG4sVyxEKX07Cm5PTT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5SayhuLnByb3ZpZGVyKTtheVoobixiLFcsMCxEKTtjbChuLGIpO2FrKG4pfTsKbkM9ZnVuY3Rpb24obixXKXtnLkZCKG4sImNhdCIsVyl9OwpXVGg9ZnVuY3Rpb24obixXKXtXPXtjcG46bi5wcm92aWRlci52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxzZXF1ZW5jZU51bWJlcjpXLHNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQ6bi5wcm92aWRlci52aWRlb0RhdGEubTB9O24uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQmJihXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0PWxwKG4uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQpfHx2b2lkIDApO24ucHJvdmlkZXIudmlkZW9EYXRhLnBsYXllclJlc3BvbnNlQ3BuJiYoVy5wbGF5ZXJSZXNwb25zZUNwbj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5wbGF5ZXJSZXNwb25zZUNwbik7V3IubGVuZ3RoJiYoVy5kZWNvZGVySW5mbz1Xcik7bi5yZW1vdGVDb250cm9sTW9kZSYmKFcucmVtb3RlQ29udHJvbE1vZGU9bi5yZW1vdGVDb250cm9sTW9kZSk7Cm4ucmVtb3RlQ29ubmVjdGVkRGV2aWNlcy5sZW5ndGgmJihXLnJlbW90ZUNvbm5lY3RlZERldmljZXM9bi5yZW1vdGVDb25uZWN0ZWREZXZpY2VzKTtpZihuLlBYPy5sZW5ndGgpe1cuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhPVtdO2Zvcih2YXIgRCBvZiBuLlBYKXtsZXQgYj1nLmQxKEQpO2ImJlcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLnB1c2goYil9fSFuLmpXJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhJiYoVy5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhPVtdLEQ9Zy5kMShuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhKSkmJihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEucHVzaChEKSxuLmpXPSEwKTtuLlkuc2l6ZSYmKFcuZGFpQ3VlUG9pbnRFdmVudHM9QXJyYXkuZnJvbShuLlkudmFsdWVzKCkpKTtuLlkuY2xlYXIoKTtyZXR1cm4gV307CkRCaT1mdW5jdGlvbihuKXt2YXIgVz17Li4ubn07bi5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEmJihXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YS5tYXAoRD0+RCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Zy5FQShEKTpEKSk7Cm4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEubWFwKEQ9PkQgaW5zdGFuY2VvZiBVaW50OEFycmF5P2cuRUEoRCk6RCkpOwpuLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0JiYobj1uLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0LG4gaW5zdGFuY2VvZiBVaW50OEFycmF5JiYoVy5zZXJpYWxpemVkSG91c2VCcmFuZFBsYXllclNlcnZpY2VMb2dnaW5nQ29udGV4dD1nLkVBKG4pKSk7cmV0dXJuIFd9OwpiUFM9ZnVuY3Rpb24obixXLEQpe2cuSEUobi5wcm92aWRlci5CLG4ucHJvdmlkZXIudmlkZW9EYXRhLlYoKSkudGhlbihiPT57dmFyIHY9ITE7Vy5pbmNsdWRlcygiJmR0PSIpfHxXLmluY2x1ZGVzKCImY290bj0iKT92PSEwOm4ucHJvdmlkZXIuQi5TKCJxb2Vfd2l0aF9uZXR3b3JrbGVzcyIpJiYodj0hMCk7dmFyIGs9bi5wcm92aWRlci5CLlMoInFvZV9zZW5kX2FuZF93cml0ZSIpLGg9bi5wcm92aWRlci5CO2I9alIoVyxoLG4ucHJvdmlkZXIuQi5wYWdlSWQsbi5wcm92aWRlci5CLnNlbmRWaXNpdG9ySWRIZWFkZXI/bi5wcm92aWRlci52aWRlb0RhdGEudmlzaXRvckRhdGE6dm9pZCAwLGIpO2guUygiaHRtbDVfc2ltcGxpZnlfcGluZ3MiKSYmKGI9Ynx8e30pO2I/KGIubWV0aG9kPSJQT1NUIixiLnBvc3RCb2R5PUQsQ0QoVyxiLHt0b2tlbjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5rVyx5bzpuLnByb3ZpZGVyLnZpZGVvRGF0YS5RdixtZHhFbnZpcm9ubWVudDpuLnByb3ZpZGVyLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudH0sCmgsdm9pZCAwLHYsayYmbi5TJCkpOnY/KHY9bi5wcm92aWRlci5CLlMoIm5ldHdvcmtsZXNzX2FqYXgiKSxoPXttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9LGsmJm4uUyQ/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLGgpOnY/Zy5lZChXLHttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9KTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShXLGgpKTpndncoVyxEKX0pfTsKYWs9ZnVuY3Rpb24obil7aWYoIW4ucHJvdmlkZXIuQi5TKCJodG1sNV9xb2Vfbm9fbGVuX2NoZWNrIikpe3ZhciBXPTA7Zm9yKGxldCBbRCxiXW9mIG4uSi5lbnRyaWVzKCkpVys9RC5sZW5ndGgrTnVtYmVyKGcudV8oYiwodixrKT0+ditrLmxlbmd0aCwwKSk7Clc+OTZFMyYmKG5ldyBnLmZfKG4ucmVwb3J0U3RhdHMsMCxuKSkuc3RhcnQoKX19Owp2TzI9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuWVomJm5DKG4sInByZWZldGNoIik7bi5wcm92aWRlci52aWRlb0RhdGEuUyQmJm4uVSgicmVsb2FkIix7cjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5yZWxvYWRSZWFzb24sY3Q6bi5wcm92aWRlci52aWRlb0RhdGEuUyR9KTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5JUiYmbkMobiwibW9uaXRvciIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuQyhuLCJsaXZlIik7TnMmJm5DKG4sInN0cmVhbWluZyIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmk1JiZuLlUoImN0cmwiLHttb2RlOm4ucHJvdmlkZXIudmlkZW9EYXRhLmk1fSwhMCk7aWYobi5wcm92aWRlci52aWRlb0RhdGEuVUspe3ZhciBXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlVLLnJlcGxhY2UoLywvZywiXyIpO24uVSgieXRwIix7dHlwZTpXfSwhMCl9bi5wcm92aWRlci52aWRlb0RhdGEuVDQmJihXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlQ0LnJlcGxhY2UoLywvZywKIi4iKSxuLlUoInl0cmV4cCIse2lkczpXfSwhMCkpO24ucHJvdmlkZXIuQi5XWCgpJiZuLlUoIm5vdyIse3d0OigwLGcuUikoKX0pO1c9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIEQ9bi5wcm92aWRlci5CLlMoImVuYWJsZV93aGl0ZV9ub2lzZSIpfHxuLnByb3ZpZGVyLkIuUygiZW5hYmxlX3dlYmdsX25vb3AiKSxiPWcua3AoVyl8fGcuSFQoVyl8fGcuZkEoVyl8fGcuSkQoVyk7KER8fGIpJiYoRD0oMCxnLkRWKSgpKSYmbi5KLnNldCgiZ3B1IixbRF0pO09TKG4ucHJvdmlkZXIudmlkZW9EYXRhKSYmZy53aihuLGcuUmsobi5wcm92aWRlciksImR0IixbIjEiXSk7Vy5jb3RuJiYhT1MoVykmJlF1KG4sITApO24ucHJvdmlkZXIuQi5XWCgpJiYoVz0oMCxnLlIpKCktbi5wcm92aWRlci5CLkN1LG4uVSgicGxheWVyYWdlIix7c2VjczooMS42KipNYXRoLnJvdW5kKE1hdGgubG9nKFcvMUUzKS9NYXRoLmxvZygxLjYpKSkudG9GaXhlZCgpfSkpO24uVj0hMDtuLks9VzAoKCk9PntuLnJlcG9ydFN0YXRzKCl9LAoxRTQpfTsKYXlaPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5wcm92aWRlci5CLk4uY2JydmVyO24ucHJvdmlkZXIuQi5OLmNicj09PSJDaHJvbWUiJiYvXjk2Wy5dLy50ZXN0KGspJiZEPT09Im5ldC5iYWRzdGF0dXMiJiYvcmNcLjUwMC8udGVzdCh2KSYmYm0obiwzKTsvYjI0ODE4MDI3OC8udGVzdCh2KSYmYm0obiw0KTtrPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtiPWI9PT0xPyJmYXRhbCI6IiI7RD1bRCxiLGsudG9GaXhlZCgzKV07YiYmKHYrPWA7YTZzLiR7TGMoKX1gKTt2JiZELnB1c2goa29yKHYpKTtnLndqKG4sVywiZXJyb3IiLEQpO24uVj0hMH07CmJtPWZ1bmN0aW9uKG4sVyl7bi5ZWnx8KGcuRkIobiwiZmNueiIsYCR7V31gKSxuLllaPSEwKX07CmhEMT1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKEQhPT1uLk4pe24uZSR8fFc8bi5XfHwobi5OPT09IlBMIj9uLnBsYXlUaW1lU2Vjcys9Vy1uLlc6bi5OPT09IkIiJiZuLmlzQnVmZmVyaW5nJiYobi5pc0J1ZmZlcmluZz0hMSxuLnJlYnVmZmVyVGltZVNlY3MrPVctbi5WUSwhbi5SYSYmbi5yZWJ1ZmZlclRpbWVTZWNzPj0xMCYmbi5wbGF5VGltZVNlY3M8PTE4MCYmKG4uSi5zZXQoInFvZWFsZXJ0IixbIjEiXSksbi5SYT0hMCkpLEQhPT0iQiJ8fG4uTiE9PSJQTCImJm4uTiE9PSJQQiJ8fChuLmlzQnVmZmVyaW5nPSEwKSxuLlc9Vyk7bi5OPT09IlBMIiYmKEQ9PT0iQiJ8fEQ9PT0iUyIpfHxuLnByb3ZpZGVyLkIuV1goKT9jbChuLFcpOihuLmZCfHxEIT09IlBMInx8KG4uZkI9ITAsVnUobixXLG4ucHJvdmlkZXIuTC5ISygpKSksTVAobixXKSk7RD09PSJQTCImJmcuSmEobi5NZCk7dmFyIGs9W0RdO0Q9PT0iUyImJmImJmsucHVzaChgc3MuJHtifWApO0Q9PT0iUEEiJiZ2JiZrLnB1c2goYHNyLiR7dn1gKTsKZy53aihuLFcsInZwcyIsayk7bi5OPUQ7bi5WUT1XO24uVz1XO24uVj0hMH19Owp4Qmg9ZnVuY3Rpb24obil7aWYoIShuLlg+PTApKWlmKG4ucHJvdmlkZXIuQi5OZHx8bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpIT09Myl7dmFyIFc9bi5wcm92aWRlci5MLnpzKCExKSxEPW4ucHJvdmlkZXIuTC56cyghMCk7bi5VKCJ1c2VyX2ludGVudF9iaCIse2JoOlcudG9GaXhlZCgzKSx0aDpELnRvRml4ZWQoMyl9KTtuLlg9Zy5SayhuLnByb3ZpZGVyKX1lbHNlIG4uQ3U9ITB9OwpMVGI9ZnVuY3Rpb24obixXKXtpZihnLm1NKG4ucHJvdmlkZXIudmlkZW9EYXRhKSl7bj00O3ZhciBEPTF9ZWxzZSBuPVcuc291cmNlPz8wO249YHNtcy4ke259YDtEIT09dm9pZCAwJiYobis9YF8ke0R9YCk7cmV0dXJuIG59Owp2YXIgQTExPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDEsNDM2MixuLFcpfTsKdnI9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9Zy5SayhuLnByb3ZpZGVyKTtEIT09MSYmRCE9PTMmJkQhPT01fHxnLndqKG4seCwidnBzIixbbi5OXSk7Zy5GQihuLCJ4dnQiLGB0LiR7eC50b0ZpeGVkKDMpfTttLiR7aC50b0ZpeGVkKDMpfTtnLiR7V307dHQuJHtEfTtucC4ke2J9O2MuJHt2fTtkLiR7a31gKX07Cmtvcj1mdW5jdGlvbihuKXsvW15hLXpBLVowLTk7LiFfLV0vLnRlc3QobikmJihuPW4ucmVwbGFjZSgvWytdL2csIi0iKS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIikpO3JldHVybiBufTsKT2I9ZnVuY3Rpb24obixXKXtpZihuLlpEJiYhbi5PbilyZXR1cm4gMztpZihuLmlzU3VzcGVuZGVkKXJldHVybiAxO2lmKG4ubWVkaWFTb3VyY2U/LmJkKCkpcmV0dXJuIDQ7dmFyIEQ9KFcuUEouaW5mby5hdWRpbz9uLnBvbGljeS52SjpuLnBvbGljeS5lJCkvKFcuTnMqbi5wb2xpY3kud3kpO2lmKG4ucG9saWN5LmNIPjAmJm4ubWVkaWFTb3VyY2UmJm42KG4ubWVkaWFTb3VyY2UpJiYoVz1XLlBKLmluZm8udmlkZW8/bi5tZWRpYVNvdXJjZS5KOm4ubWVkaWFTb3VyY2UuTikmJiFXLnl1KCkpe1c9Vy5aRigpO2xldCBiPUNNKFcsbi5nZXRDdXJyZW50VGltZSgpKTtiPj0wJiYoVz1uLmdldEN1cnJlbnRUaW1lKCktVy5zdGFydChiKSxEKz1NYXRoLm1heCgwLE1hdGgubWluKFctbi5wb2xpY3kuY0gsbi5wb2xpY3kuQmQpKSl9bi5wb2xpY3kuTz4wJiYoRD1NYXRoLm1pbihELG4ucG9saWN5Lk8pKTtyZXR1cm4gRH07CmRWPWZ1bmN0aW9uKG4sVyxEKXtlRGIobixELnFkfHwidW5rbm93biIpO24uTC5zZWVrVG8oVyxEKX07CmcuZEM9ZnVuY3Rpb24obixXLEQsYix2KXtuLkwuZ2V0VmlkZW9EYXRhKCkuREYoKT92JiZuLnhXLlRDK3YvMUUzPkQmJihuLlUoInNkYWkiLHtzZWc6YixyYnQ6RC50b0ZpeGVkKDMpLGVuZDpuLnhXLlRDLnRvRml4ZWQoMyksc2Q6di50b0ZpeGVkKDMpfSksbi5YJCghMSwicm9sbGJhY2siKSk6bi5wb2xpY3kuVTEmJm4uWCQoITEsInJvbGxiYWNrIik7aWYobi5LdS5pc01hbmlmZXN0bGVzcyl7dj1VNChuLmF1ZGlvVHJhY2ssYixELFcpO3ZhciBrPVU0KG4udmlkZW9UcmFjayxiLEQsVyk7bi5wb2xpY3kuczV8fChrJiZUeChuLkt1LGIsITApLHYmJlR4KG4uS3UsYiwhMSkpO2smJm4udmlkZW9UcmFjay5rSSgpO3YmJm4uYXVkaW9UcmFjay5rSSgpO24uVSgic2RhaSIse3JvbGxiazJfc2VnOmIscmJ0OkQudG9GaXhlZCgzKSxsdDpXLnRvRml4ZWQoMyksYTp2LHY6a30pOyh2fHxrKSYmbi5wb2xpY3kuVTEmJmcuQWcobil9fTsKWUM9ZnVuY3Rpb24obixXKXtuLmhhbmRsZUVycm9yKCJmbXQudW5wYXJzZWFibGUiLFcsMSl9OwpnLkFnPWZ1bmN0aW9uKG4pe2cuSmEobi5uTil9OwpTek09ZnVuY3Rpb24obil7dmFyIFc9bi5qbCgpLmZpbHRlcihEPT5ELm5hbWVzcGFjZT09PSJhZCIpOwpmb3IobGV0IEQgb2YgVylpZihELnN0YXJ0LzFFMz5uLmdldEN1cnJlbnRUaW1lKCkpcmV0dXJuIEQuc3RhcnQvMUUzO3JldHVybiBJbmZpbml0eX07CmM2PWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLnFHPVd9OwpIJGg9ZnVuY3Rpb24obixXKXtpZih4TihXLkF3W1cuQXcubGVuZ3RoLTFdKSl7YTp7dmFyIEQ9bi5jVjtXPVcuQXdbMF0uUEo7aWYoVy5pbmZvLnZpZGVvKXtpZihELlchPT1XKXtELlc9VztEPVMkaChEKTticmVhayBhfX1lbHNlIEQuSEo9RC5WIT09VyxELlY9VztEPW51bGx9Z09DKG4sRCl9fTsKUW89ZnVuY3Rpb24obil7bi5wb2xpY3kuSEQmJm4ucG9saWN5LmU0JiZNYXRoLm1pbihnVEMobi52aWRlb1RyYWNrKSxnVEMobi5hdWRpb1RyYWNrKSkqMUUzPm4ucG9saWN5Lm0kP2cuSmEobi5aSyk6bi5oVCgpfTsKQjY9ZnVuY3Rpb24obixXLEQsYj0hMSl7YiYmIVcuVEMmJihWVCgpfHwoYj1XLlFFKSYmIWIudFooRC5pbmZvKSYmbi5MLkJvKCksVy5UQz0hMCk7Vy5QSiE9PUQmJihXLlBKPUQpfTsKd3U9ZnVuY3Rpb24obil7cmV0dXJuIG4uSXc8bi5peH07ClIkPWZ1bmN0aW9uKG4pe24uemkoKTtuLlhhLmlzU2Vla2luZygpO24uUXUmJkRMYihuLlF1LG4udmlkZW9UcmFjay5QSik7Zy5BZyhuKTtyZXR1cm4gRWIobi5YYSl9Owpkaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFZpZGVvRGF0YSgpLnpXKCl8fG4ucG9saWN5Lm1EfTsKelMyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKE9iKG4sVykrbi5wb2xpY3kualIpKlcuTnN9OwpFUlM9ZnVuY3Rpb24obil7aWYobi5MLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXJldHVybiExO3ZhciBXPW4uTC5oNSgpO2lmKCFXKXJldHVybiExO1c9Vy5nZXREdXJhdGlvbigpO2lmKG4ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KKXt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj1uLm1lZGlhU291cmNlLk4uWkYoKTtuPW4ubWVkaWFTb3VyY2UuSi5aRigpO2I9Yj9GWihiLEQpOkQ7RD1uP0ZaKG4sRCk6RDtEPU1hdGgubWluKGIsRCk7Vz1pc05hTihEKT8hMTpEPj1XLS4wMX1lbHNlIFc9ITE7cmV0dXJuIFd9OwpYemg9ZnVuY3Rpb24obixXLEQpe2lmKCEobi52aWRlb1RyYWNrLlBKLk4oKSYmbi5hdWRpb1RyYWNrLlBKLk4oKSYmbi5tZWRpYVNvdXJjZSYmbi5tZWRpYVNvdXJjZS5KJiZuLm1lZGlhU291cmNlLk4pKXJldHVybiExO2lmKEQmJm4uS3UuaXNNYW5pZmVzdGxlc3MmJihuLnZpZGVvVHJhY2suWD09PS0xfHxuLmF1ZGlvVHJhY2suWD09PS0xKSlyZXR1cm4hMDt2YXIgYj1LdihuLnZpZGVvVHJhY2ssVyxEKTtpZihpc05hTihiKSlyZXR1cm4hMTtuPUt2KG4uYXVkaW9UcmFjayxuLnBvbGljeS5FNT9XOmIsRCk7cmV0dXJuIGlzTmFOKG4pPyExOiEwfTsKcUoyPWZ1bmN0aW9uKG4pe24uUWo/Llh0Py5pdGFnRGVueWxpc3QmJm4uV0Yobi5Raj8uWHQuaXRhZ0RlbnlsaXN0KTtuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5JiZsUyhuLnBvbGljeSxuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5LDMsbi5Raj8uY0EoKSk7aWYobi5wb2xpY3kuY0wpe3ZhciBXPW4uRTEoKTsoVz1XP24uUWo/LkR3LmdldChXKTp2b2lkIDApJiZuLnhXLnN5KFcsLTEpfW4uS3UuT3x8bi5wb2xpY3kuV2l8fChXPW4uUWo/LlFXLFc/LndmJiZXPy52NyYmbi5LdS56VyYmQzYobi5LdSxXLndmLFcudjcpKTtpZihuLlFqPy5NUyl7Vz1uLlFqLk1TLmdldChuLkUxKCl8fCIiKTtpZighVylyZXR1cm47aWYobi5LdSYmVy5mb3JtYXRJZCl7bGV0IEQ9bi5LdS5KLmdldChNayhXLmZvcm1hdElkKSk7RCYmKEQuaW5mby5kZWJ1Z0luZm89Vy5kZWJ1Z0luZm8pfX1uLnBvbGljeS5EJiYobi5Raj8uckIoKS5mb3JFYWNoKEQ9PntuLmk4KEQpfSksbi5Raj8uRm8oKSl9Owp0OWg9ZnVuY3Rpb24obil7aWYoIW4uS3UuelcpcmV0dXJuITA7dmFyIFc9bi5MLmdldFZpZGVvRGF0YSgpO2lmKG4uTC5PUCgpKXJldHVybiBuLlUoIm9tYnBhIix7fSksITE7aWYoISFuLlFqPy5RVz8uWjMhPT1uLkt1LlhnKXJldHVybiBuLlUoIm9tYnBsbW0iLHt9KSwhMTt2YXIgRD1XLlRDfHxXLmxpdmVVdGNTdGFydFNlY29uZHN8fFcuVXI7aWYobi5LdS5YZyYmRClyZXR1cm4gbi5VKCJvbWJwbHN0Iix7fSksITE7aWYobi5LdS5PfHxuLnBvbGljeS5XaSlyZXR1cm4gbi5VKCJvbWJhYiIse30pLCExO0Q9RGF0ZS5ub3coKTtpZighVy5saXZlUHJlbG9hZCYmRnYobi5LdSkmJiFpc05hTihuLkNIKSYmRC1uLkNIPm4ucG9saWN5LkZVKjFFMylyZXR1cm4gbi5VKCJvbWJ0dGwiLHt9KSwhMTtpZih4cChXKSE9PTAmJiFuLnBvbGljeS5OfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9tb3NhaWMiKSYmVy5aaCgpfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9saWZhX2VsaWdpYmxlIikmJgpweihXKSlyZXR1cm4hMTtpZihuLkwuRygpLlp0KCkuTi5RUShHb00pJiYoVz1uLlFqPy5waygpPz8wLFc+PTAmJm4uS3UuaXNXaW5kb3dlZExpdmUmJihXPG4uS3UuSlUqMUUzfHxXPm4uS3Uub1IqMUUzKSkpcmV0dXJuIG4uVSgib21id25kIix7c3Q6VyxtaW46bi5LdS5KVSoxRTMsbWF4Om4uS3Uub1IqMUUzfSksITE7aWYobi5LdS5JdCYmbi5LdS5pc1dpbmRvd2VkTGl2ZSlpZihuLkwuRygpLlMoImh0bWw1X3VzZV9vbmVzaWVfd2luZG93ZWRfbGl2ZV9tZWRpYSIpKW4uVSgib21hbWluc3EiLHt9KTtlbHNlIHJldHVybiBuLlUoIm9tYm1pbnNxIix7fSksITE7cmV0dXJuITB9OwprYz1mdW5jdGlvbihuLFcpe3ZhciBEPWN3KFcuUEosbi5LdS56VyksYj1uLmhtPy5mMyhEKXx8W107aWYoYi5sZW5ndGg9PT0wKXJldHVybiBuLlUoIm9tYm1zaSIse30pLCExO2I9bmV3IHdrKGIpO2lmKCghbi5wb2xpY3kudHd8fGlzRmluaXRlKG4uZ2V0Q3VycmVudFRpbWUoKSl8fG4uTC5lSigpKSYmIWIua2Yobi5nZXRDdXJyZW50VGltZSgpKSYmIW4uTC5nZXRWaWRlb0RhdGEoKS5saXZlUHJlbG9hZClyZXR1cm4gbi5VKCJvc3RtZiIse2N0Om4uZ2V0Q3VycmVudFRpbWUoKSxhOlcuUEouaW5mby5lUygpfSksITE7bi5obT8uRVMoRCk7cmV0dXJuITB9OwokQmk9ZnVuY3Rpb24obixXKXt2YXIgRD1XLlBKLGI9bi5LdS56VztpZih0OWgobikpaWYobi5obSYmbi5obS5nRihjdyhELGIpKSl7aWYoYj1jdyhELGIpLGtjKG4sVykpe3ZhciB2PW5ldyB3ayhuLmhtLmYzKGIpKSxrPWg9Pnt0cnl7aC50bigpPyhuLmhhbmRsZUVycm9yKGguVkcoKSxoLnkwKCkpLEU0KFcsaCkseXMoaC5pbmZvKSYmQ3Iobi5OeSxXLEQsITApLG4uaFQoKSk6RjAobi5OeSxoKSYmKG4uSkM/LlMkKGguaW5mbyxuLnNVKSxuLmhUKCkpfWNhdGNoKHgpe2g9QiQoeCksbi5oYW5kbGVFcnJvcihoLmVycm9yQ29kZSxoLmRldGFpbHMsaC5zZXZlcml0eSksbi56aSgpfX07CkQuY0o9ITA7VXYodikmJihPNChXLG5ldyBTbihuLnBvbGljeSxiLHYsbi5obSxrKSksaXUobi50aW1pbmcpKX19ZWxzZSBuLlUoIm9tYmZtdCIse30pfTsKcjdoPWZ1bmN0aW9uKG4pe24ucG9saWN5LlgmJm4uUWomJihuLlFqLkd3LmZvckVhY2goVz0+e24uSm0oVywtMSl9KSxuLlFqLkd3PVtdKX07CmgyPWZ1bmN0aW9uKG4sVyl7Vz1XfHxuLnZpZGVvVHJhY2smJm4udmlkZW9UcmFjay5OJiZuLnZpZGVvVHJhY2suTi5zZWdtZW50U3RhcnRUaW1lfHxuLmdldEN1cnJlbnRUaW1lKCk7dmFyIEQ9QjYsYj1uLnZpZGVvVHJhY2ssdj1uLmNWO1c9di5uZXh0VmlkZW8mJnYubmV4dFZpZGVvLmluZGV4LlIzKFcpfHwwO3YuY0ohPT1XJiYodi5iZD17fSx2LmNKPVcsUnEodix2Lk4pKTtXPSF2Lk4uaXNMb2NrZWQoKSYmdi5ZPi0xJiYoMCxnLlIpKCktdi5ZPHYucG9saWN5LkFrKjFFMzt2YXIgaz12Lm5leHRWaWRlbyYmTXEodix2Lm5leHRWaWRlby5pbmZvKSozPE5XKHYuSWcpO2lmKCFXfHxrKVZCKHYpLGNwKHYpLHYuTz12Lk98fHYubmV4dFZpZGVvIT09di5XO3YubmV4dFZpZGVvJiYhdi5uZXh0VmlkZW8uaW5kZXguaXNMb2FkZWQoKSYmKHYuY0o9LTEpO0QobixiLHYubmV4dFZpZGVvKTtCNihuLG4uYXVkaW9UcmFjayxuLmNWLkopfTsKZURiPWZ1bmN0aW9uKG4sVyl7aWYoIWlzTmFOKG4uajApKXtsZXQgRD1EYXRlLm5vdygpLW4uajA7RDwxRTQmJm4uVSgiYmZhc3d0Y2giLHtlcDpELHNrOlchPT12b2lkIDA/IjEiOiIwIixzcjpXfHwiIn0pfX07ClhiPWZ1bmN0aW9uKG4pe2E6e2lmKG4uSGcoKSYmbWQobi52aWRlb1RyYWNrKSYmbWQobi5hdWRpb1RyYWNrKSYmbi5MLkhvKCkmJiFuLkwuVjAoKSYmIW4ubWVkaWFTb3VyY2U/Lk4/LmlRKCkmJiFuLm1lZGlhU291cmNlPy5KPy5pUSgpJiYhbi5BYil7dmFyIFc9bi5MLlhTPy5YKCk7aWYoIVcpYnJlYWsgYTtuLmF1ZGlvVHJhY2suSlgoKTtuLnZpZGVvVHJhY2suSlgoKTtuLkFiPVd9aWYoVz1uLkhnKCkmJm4uTC5IbygpJiYhbi5MLlYwKCkpaWYobi5BYiYmbi5BYi5KJiZuLkFiLk4mJm4udmlkZW9UcmFjay5EZygpJiZuLmF1ZGlvVHJhY2suRGcoKSl7dmFyIEQ9bi52aWRlb1RyYWNrLlcuYjcoKTtXPW4uYXVkaW9UcmFjay5XLmI3KCk7dmFyIGI9bi5BYj8uSi5aRigpLHY9bi5BYj8uTi5aRigpO0QmJlc/KEQ9QlIoYixrTihELmluZm8pLS4xKSxXPUJSKHYsa04oVy5pbmZvKS0uMSksVz1EJiZXKTpXPSExfWVsc2UgVz0hMTtXJiZuLkwuWFM/LlcoKX1pZihuLm1lZGlhU291cmNlKWlmKFc9Cm4uQWJ8fG4ubWVkaWFTb3VyY2Usdj1XLk4sRD1XLkosczdyKG4sbi5hdWRpb1RyYWNrKSxzN3IobixuLnZpZGVvVHJhY2spLGI9TjNDKG4pKXtpZihuLnBvbGljeS5lNCl7aWYoIXYuRDkoKSYmKFc9aVkobi5hdWRpb1RyYWNrKSkpe2lmKCF4YyhuLG4uYXVkaW9UcmFjayx2LFcuaW5mbykpcmV0dXJuO0xDKG4sbi5hdWRpb1RyYWNrLHYsVyl9aWYoIUQuRDkoKSYmKFc9aVkobi52aWRlb1RyYWNrKSkpe2lmKCF4YyhuLG4udmlkZW9UcmFjayxELFcuaW5mbykpcmV0dXJuO0xDKG4sbi52aWRlb1RyYWNrLEQsVyl9fW4ubXh8fChuLm14PSgwLGcuUikoKSxuLnBvbGljeS5XJiZuLlUoImFwZHBzIix7cjpifSkpfWVsc2V7aWYobi5teCl7Yj1uLm14O3ZhciBrPSgwLGcuUikoKS1iO2xldCBoPW4uYXVkaW9UcmFjay56cyghMCkqMUUzLHg9bi52aWRlb1RyYWNrLnpzKCEwKSoxRTM7bi5wb2xpY3kuVyYmKG4uVSgiYXBkcGUiLHtkdXI6ay50b0ZpeGVkKCksYWJ1ZjpoLnRvRml4ZWQoKSx2YnVmOngudG9GaXhlZCgpfSksCmR1KG4ucG9saWN5KSYmKGs9Tlcobi5JZyksbi5VKCJzZHBzIix7Y3Q6YixhaDpoLnRvRml4ZWQoKSx2aDp4LnRvRml4ZWQoKSxtcjpwdihuLklnLG4uT24sayksYnc6ay50b0ZpeGVkKCksanM6bi5pc1NlZWtpbmcoKSxyZTorbi5Pbixwczoobi5wb2xpY3kuTTV8fCIiKS50b1N0cmluZygpLHJuOihuLnBvbGljeS5EQ3x8IiIpLnRvU3RyaW5nKCl9KSkpO24ubXg9MH1uLlF1JiYoYj1uLlF1LmhUKG4uYXVkaW9UcmFjayxnLnd5KG4ubWVkaWFTb3VyY2UuSi5aRigpKSkpJiZuLkwuc2Vla1RvKGIse0E5OiEwLHFkOiJwb2xsU3Vic2VnbWVudFJlYWRhaGVhZCIscWE6ITB9KTtiPSExO3B6aChuLG4udmlkZW9UcmFjayxEKSYmKGI9ITAsRD1uLnRpbWluZyxELld8fChELlc9KDAsZy5SKSgpLGcuRUcoInZkYSIsRC5XLEQuelIpLEQuSiYmKGcuRHkoKSxiUSg0KSkpLEQ9bi50aW1pbmcsRC5WUXx8KEQuVlE9KDAsZy5SKSgpLGcuRUcoInZyYl9mIixELlZRLEQuelIpKSk7VyYmIVcuUEEoKSYmCihwemgobixuLmF1ZGlvVHJhY2ssdikmJihiPSEwLHY9bi50aW1pbmcsdi5KfHwodi5KPSgwLGcuUikoKSxnLkVHKCJhZGEiLHYuSix2LnpSKSx2LlcmJihnLkR5KCksYlEoNCkpKSx2PW4udGltaW5nLHYuWXx8KHYuWT0oMCxnLlIpKCksZy5FRygiYXJiX2YiLHYuWSx2LnpSKSkpLCFuLnFOKCkmJm4ubWVkaWFTb3VyY2UmJighbi5wb2xpY3kuVjYmJm1kKG4udmlkZW9UcmFjaykmJm1kKG4uYXVkaW9UcmFjaykmJm42KFcpJiYhVy55dSgpJiYodj1JJChuLmF1ZGlvVHJhY2spLlBKLHY9PT1uLkt1Lk5bdi5pbmZvLmlkXSYmKG4uTC5HKCkuV1goKSYmbi5MLlUoInNlcyIse2VvczoxfSksbjYoVykmJihXLm1lZGlhU291cmNlP1cubWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTpXLkVWLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKFcuRVYuRU9TX05PX0VSUk9SKSksdj1uLnNjaGVkdWxlLHNuKGUwKHYpKSx2LmNKPSgwLGcuUikoKSx2Lk89ITAsdj0odj1uLnZpZGVvVHJhY2suUEopJiZ2LmluZGV4IGluc3RhbmNlb2YKZ1M/di5pbmRleC5LOnZvaWQgMCxuLkwuRygpLlp0KCkuTi5RUShZSmIpP3Y9PT0iZW1zZyImJm4ucG0oImUiKTpuLnBtKCJlIikpKSxiJiYoVy5OPyFXLk4uc3VwcG9ydHMoMCk6IWFkKCkpJiZnLkFnKG4pKSl9fTsKSFBiPWZ1bmN0aW9uKG4pe24ucG9saWN5LlY2PSExO3RyeXtYYihuKX1jYXRjaChXKXtnLlhqKFcpfX07CmZteD1mdW5jdGlvbihuLFc9ITEpe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KJiYobi5tZWRpYVNvdXJjZS5OLk05KG4uTEwsbiksbi5tZWRpYVNvdXJjZS5KLk05KG4uTEwsbikpO0tyKG4uYXVkaW9UcmFjayxudWxsLFcpO0tyKG4udmlkZW9UcmFjayxudWxsLFcpO24ubWVkaWFTb3VyY2UmJihuLm1lZGlhU291cmNlLlY9ITEpO24ubWVkaWFTb3VyY2U9bnVsbDtuLkFiPW51bGw7bi5MLlhTPy5yZXNldCgpfTsKSjdpPWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdj0hMSl7S3Iobi52aWRlb1RyYWNrLFcuSnx8bnVsbCxiLHYpO0tyKG4uYXVkaW9UcmFjayxXLk58fG51bGwsYix2KTtuLm1lZGlhU291cmNlPVc7bi5tZWRpYVNvdXJjZS5WPSEwO0R8fG4ucmVzdW1lKCk7Vy5OLmgkKG4uTEwsbik7Vy5KLmgkKG4uTEwsbil9OwpJbWk9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSx2PSExKXtuLnBvbGljeS5UQyYmKG4ucG9saWN5LlZRJiZuLlUoImxvYWRlciIse3NldHNtYjowfSksbi56aSgpLG4ucG9saWN5LlRDPSExKTtmbXgobixiKTtpZighVy5YKCkpe3ZhciBrPWlZKG4udmlkZW9UcmFjayk7az1rP2suaW5mby5QSjpuLnZpZGVvVHJhY2suUEo7bGV0IGg9aVkobi5hdWRpb1RyYWNrKTtMS1UoVyxrLmluZm8sKGg/aC5pbmZvLlBKOm4uYXVkaW9UcmFjay5QSikuaW5mbyxuLnBvbGljeS5wUil9SjdpKG4sVyxELGIsdik7dHJ5e24uaFQoKX1jYXRjaChoKXtnLlhqKGgpfX07CnFtPWZ1bmN0aW9uKG4pe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuUEEoKSYmbi5LMSgpfTsKZ09DPWZ1bmN0aW9uKG4sVyl7VyYmR1gobi5MLG5ldyB0MihXLnZpZGVvLFcucmVhc29uKSk7bi5jVi5ISiYmKFc9WmV3KG4uY1YsImEiKSxuLkwuZ20obmV3IHQyKFcuYXVkaW8sVy5yZWFzb24pKSl9OwpBN3g9ZnVuY3Rpb24obil7bi5CdiYmIW4uaXNTdXNwZW5kZWQmJlRaKG4uc2NoZWR1bGUpJiYoU0paKG4sbi5Cdiksbi5Cdj0iIil9OwpzN3I9ZnVuY3Rpb24obixXKXtpWShXKT8uaXNMb2NrZWQmJm1CYihXKSYmKG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bXVubG9jazppWShXKT8uaW5mby5nYSgpfSksJGMobixXPT09bi5hdWRpb1RyYWNrKSl9OwpOM0M9ZnVuY3Rpb24obil7aWYodGRqKG4udmlkZW9UcmFjaykpcmV0dXJuInNzZiI7aWYobi5wb2xpY3kubnUmJmlZKG4udmlkZW9UcmFjayk/LmlzTG9ja2VkJiZpWShuLmF1ZGlvVHJhY2spPy5pc0xvY2tlZClyZXR1cm4idXBkYXRlRW5kIjtpZihpUyhuLmF1ZGlvVHJhY2spfHxpUyhuLnZpZGVvVHJhY2spJiZuLnZpZGVvVHJhY2suUEouaW5mby5JQiE9PSJmIilyZXR1cm4iIjtpZihuLlhhLmlzU2Vla2luZygpKXt2YXIgVz1uLklnO3ZhciBEPW4udmlkZW9UcmFjazt2YXIgYj1uLmF1ZGlvVHJhY2s7aWYoVy5wb2xpY3kuTil7dmFyIHY9Vy5wb2xpY3kuV2M7ZHUoVy5wb2xpY3kpJiYodj1wdihXLCExLE5XKFcpKSk7Vz12O0Q9Yi56cyghMCk+PVcmJkQuenMoITApPj1XfWVsc2UgRC5KLmxlbmd0aHx8Yi5KLmxlbmd0aD8odj1ELlBKLmluZm8uTnMrYi5QSi5pbmZvLk5zLHY9MTAqKDEtTlcoVykvdiksVz1NYXRoLm1heCh2LFcucG9saWN5LldjKSxEPWIuenMoITApPj1XJiZELnpzKCEwKT49ClcpOkQ9ITA7aWYoIUQpcmV0dXJuImFiciI7RD1uLnZpZGVvVHJhY2s7aWYoRC5KLmxlbmd0aD4wJiZELlcua2koKT09PTEmJkQuVy5XMigpLmluZm8uSzxELlZRKXJldHVybiJzZWVrIn1pZihuLnBvbGljeS5VMSYmJFgxKG4udmlkZW9UcmFjayxuLkpDKSYmJFgxKG4uYXVkaW9UcmFjayxuLkpDKSlyZXR1cm4ic3NkYWkiO0Q9IW4ucG9saWN5LnRNfHxuLmdldEN1cnJlbnRUaW1lKCk8MTA7bi5wb2xpY3kuTnx8KEQ9RHx8bi52aWRlb1RyYWNrLlBKLmluZm8udmlkZW8ucXVhbGl0eU9yZGluYWw+MzYwKTtpZighbi5Pbnx8RClyZXR1cm4iIjtEPW4ucG9saWN5LnRNO2R1KG4ucG9saWN5KSYmKEQ9cHYobi5JZyxuLk9uLE5XKG4uSWcpKSk7RD1YMHQobi52aWRlb1RyYWNrLG4uZ2V0Q3VycmVudFRpbWUoKSxEKXx8WDB0KG4uYXVkaW9UcmFjayxuLmdldEN1cnJlbnRUaW1lKCksRCk7cmV0dXJuIGR1KG4ucG9saWN5KT9EPyJtYm5tIjoiIjoobi52aWRlb1RyYWNrLkoubGVuZ3RoPjB8fApuLmF1ZGlvVHJhY2suSi5sZW5ndGg+MHx8anEobi5OeSxuLnZpZGVvVHJhY2ssbi5hdWRpb1RyYWNrKXx8anEobi5OeSxuLmF1ZGlvVHJhY2ssbi52aWRlb1RyYWNrKSkmJkQ/Im5vcmQiOiIifTsKeGM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9SSQoVyk7IXZ8fHYuYVp8fGJUKHYsYil8fChELmFib3J0KCksbi5wb2xpY3kuZkMmJlcuVj8uWSgpLFcuSz8uVigpKTtpZighRC5LcygpfHxWVCgpKXRyeXtuLnBvbGljeS5Kaz9ELm5hKGIuUEouaW5mby5jb250YWluZXJUeXBlLGIuUEouaW5mby5JQikmJkQuVm8oYi5QSi5pbmZvLmNvbnRhaW5lclR5cGUsYi5QSi5pbmZvLklCLGIuUEouaW5mby5taW1lVHlwZSk6RC5qbihiLlBKLmluZm8uY29udGFpbmVyVHlwZSxiLlBKLmluZm8ubWltZVR5cGUpfWNhdGNoKGspe3JldHVybiBnLkdxKGspLG4uVSgiY3RleHAiLHtuYW1lOmsubmFtZSxtc2c6ay5tZXNzYWdlfSksITF9ZWxzZSBiLlBKLmluZm8uY29udGFpbmVyVHlwZSE9PUQuS3MoKSYmbi5VKCJjdHUiLHtjdDpWVCgpLHByZXZfYzpELktzKCksY3Vycl9jOmIuUEouaW5mby5jb250YWluZXJUeXBlfSk7Yj1iLlBKLlY7bi5wb2xpY3kuRFQmJmImJihXPTArYi5kdXJhdGlvbixiPS1iLk4sCjA9PT1ELk1yKCkmJlc9PT1ELktGKCl8fEQuZTcoMCxXKSxiIT09RC5TVygpJiYoRC55TyhiKSxzNCYmbi5hdWRpb1RyYWNrLlcuQlcoRC5pdygpKSkpO3JldHVybiEwfTsKTEM9ZnVuY3Rpb24obixXLEQsYil7Yi5pbmZvLlBKLk4oKTt2YXIgdj1iLmluZm8uUEouSjtpZighdnx8IUQuam8oKXx8RC5EOSgpPT09dilyZXR1cm4hMTt2YXIgaz12LGg9RC5MRigpO2lmKG4ucG9saWN5LktvJiZoJiZELmlzVmlldygpJiZnLlJCKGIuaW5mby5QSi5pbmZvKSl7bGV0IEw9bmV3IERhdGFWaWV3KHYuYnVmZmVyLHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgpOyhoPVBJQyhMLGgpKT9rPW5ldyBVaW50OEFycmF5KGguYnVmZmVyLGguYnl0ZU9mZnNldCxoLmJ5dGVMZW5ndGgpOm4uVSgiZmVuYyIse30pfW4ucG9saWN5LmtwJiYoaD1LVGkobixiLG5ldyBTNShba10pKSkmJihrPXRSKGgpKTt2YXIgeDsoaD1iLmluZm8uUEouWSgwLGIuaW5mby5jbGlwSWQpKSYmKHg9aC5Bd1swXSk7aWYoYj09PW4uaDcpe2lmKG4uQzErPTEsbi5MLmdldFZpZGVvRGF0YSgpLlMoImh0bWw1X3Nob3J0c19nYXBsZXNzX3Jlc3RhcnRfb25faW5pdF9zZWdfcmV0cmllcyIpJiZuLkMxPjUpcmV0dXJuIG4uQzE9CjAsbi5MLkdtKHtpbml0U2VnU3R1Y2s6MSxhczpiLmluZm8uZ2EoKX0pLCEwfWVsc2Ugbi5DMT0wLG4uaDc9YjtuLnBvbGljeS54aiYmKEQuYWJvcnQoKSxXLks/LlYoKSk7bi5BYiYmRC5pUSgpJiYoRC5hYm9ydCgpLFcuSz8uVigpKTt2PU9QMihuLEQsayx4LHYpO1cuSz8uRCh2LHgpO2lmKHYhPT0wKXJldHVybiBuLnBvbGljeS5aTiYmQUoobi5MLmdldFZpZGVvRGF0YSgpKT8obi5MLm9BKCl8fHJTKG4sInNlcEluaXQiLHYsYi5pbmZvKSxQOVUobi5MLCJzaWUiKSk6clMobiwic2VwSW5pdCIsdixiLmluZm8pLCEwO2IuaW5mby5mWSgpPyhXPW4udGltaW5nLFcuVEN8fChXLlRDPSgwLGcuUikoKSxnLkVHKCJ2aXNfYSIsVy5UQyxXLnpSKSkpOihXPW4udGltaW5nLFcuVnx8KFcuVj0oMCxnLlIpKCksZy5FRygiYWlzX2EiLFcuVixXLnpSKSkpOyhiPWIuaW5mby5QSi5TVSkmJm4uTC5XbihuZXcgcnUoYi5rZXksYi50eXBlKSk7cmV0dXJuIEQueXUoKX07CnB6aD1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kubnUmJmlZKFcpPy5pc0xvY2tlZClyZXR1cm4hMTtpZihELkRjKCkpcmV0dXJuITA7aWYoIUQuam8oKSlyZXR1cm4hMTt2YXIgYj1pWShXKTtpZighYnx8Yi5pbmZvLnR5cGU9PT02KXJldHVybiExO2lmKG4ucG9saWN5LmllfHxuLkpDPy5PKFcsYi5pbmZvLmokKSluLkxvPTA7ZWxzZSByZXR1cm4gbi5YYS5pc1NlZWtpbmcoKSYmZy5BZyhuKSxuLkxvPW4uTG98fCgwLGcuUikoKSwhMTtpZigheGMobixXLEQsYi5pbmZvKSlyZXR1cm4hMTtpZihuLkt1LlcmJmIuaW5mby5OPT09MCl7dmFyIHY7aWYoRC5EOSgpPT1udWxsKXt2YXIgaz1JJChXKTtpZighKHY9IWt8fGsuUEohPT1iLmluZm8uUEopKXtiOmlmKHY9ay5PLGs9Yi5pbmZvLk8sdi5sZW5ndGghPT1rLmxlbmd0aCl2PSExO2Vsc2V7Zm9yKGxldCBoPTA7aDx2Lmxlbmd0aDtoKyspaWYoIXY0KHZbaF0sa1toXSkpe3Y9ITE7YnJlYWsgYn12PSEwfXY9IXZ9fWVsc2Ugdj1ELkQ5KCksCmIuaW5mby5QSi5TJCgpJiZETyhiKSxrPWIuaW5mby5QSi5KLHY9diE9PWsmJiF2NCh2LGspO3YmJihrPUkkKFcpLG4uVSgiaW5pdGNoZyIse2l0OmIuaW5mby5QSi5pbmZvLmlkLHNyOiEhayYmay5QSj09PWIuaW5mby5QSix0eTpiLmluZm8udHlwZSxzZWc6Yi5pbmZvLmokfSkpO2s9Zy5SQihiLmluZm8uUEouaW5mbyk7bi5wb2xpY3kubWgmJmsmJiF2JiYoZy5SQihiLmluZm8uUEouaW5mbyk/KEdqKGcuV1IoYiksMTgzNjAxOTU3NCksR2ooZy5XUihiKSwxNzE4OTA5Mjk2KSk6KHY9bmV3IHRZKGcuV1IoYikpLE9ZKHYpLHNZKHYsNTI0NTMxMzE3LCEwKSxiLko9Yi5KLnNwbGl0KHYuc3RhcnQrdi5wb3MpLlk5KSxiLlY9ITEpfWs9bi5RdSYmISFuLlF1LlgmJlcuUEouaW5mby5hdWRpbzt2PW4uS3UuaXNNYW5pZmVzdGxlc3N8fGIuVjtpZighKG4uS3UuVyYmYi5pbmZvLk4hPT0wfHx2JiYhaykmJkxDKG4sVyxELGIpKXJldHVybiEwO2lmKGspcmV0dXJuITE7az1PYihuLFcpO2s9bi5nZXRDdXJyZW50VGltZSgpKwprO2lmKGIuaW5mby5YPmspcmV0dXJuIG4ucG9saWN5Lk4mJihXPT09bi52aWRlb1RyYWNrP24uYzc9bi5jN3x8KDAsZy5SKSgpOm4uTno9bi5Oenx8KDAsZy5SKSgpKSwhMTtXPT09bi52aWRlb1RyYWNrP24uYzc9MDpuLk56PTA7bi5wb2xpY3kuVTUmJkQ9PT1uLm1lZGlhU291cmNlPy5OJiZuLk9MJiYoRC5mRigpPT09MD8obi5PTD0hMSxuLnBvbGljeS5VNT0hMSk6bi5HSj1ELmZGKCkpO2lmKCFaUGoobixELGIsVykpcmV0dXJuITE7bi5wb2xpY3kubnUmJmIuaW5mby5WKCk/KG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bHM6Yi5pbmZvLmdhKCl9KSxiLmlzTG9ja2VkPSEwKTooVy5aJChiKSxQQzIobi5jVixiLmluZm8pKTt2JiYoVz1iLmluZm8uUEouU1UpJiZuLkwuV24obmV3IHJ1KFcua2V5LFcudHlwZSkpO3JldHVybiEwfTsKWlBqPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uTC5HKCkuWnQoKS5OLlFRKFVCYikmJkQuaW5mby5OJiYhVy5pUSgpKXJldHVybiBuLlUoImRyb3BfY2h1bmsiLHtzcTpELmluZm8uaiQsc3Q6RC5pbmZvLlh9KSwhMDt2YXIgdj1uLnBvbGljeS5SYT8oMCxnLlIpKCk6MCxrPUQuViYmRC5pbmZvLlBKLkp8fHZvaWQgMCxoPUQuSjtELlYmJihoPUtUaShuLEQsaCl8fGgpO3ZhciB4PXRSKGgpO2g9bi5wb2xpY3kuUmE/KDAsZy5SKSgpOjA7Vz1PUDIobixXLHgsRC5pbmZvLGspO2IuSz8uWShELmluZm8sVyxoLXYsKDAsZy5SKSgpLWgpO24uQzE9MDtpZihXPT09MClyZXR1cm4gbi5aRCYmKG4uWkQ9ITEsbi5xTz0hMSksbi5hQT0wLCEwO2lmKFc9PT0yfHxXPT09NSlyZXR1cm4gclMobiwiY2hlY2tlZCIsVyxELmluZm8pLCExO2lmKFc9PT0xKXtpZighbi5aRClyZXR1cm4gbi5aRD0hMCwhMTtpZighbi5xTylyZXR1cm4gbi5xTz0hMCxuLkwuc2Vla1RvKG4uZ2V0Q3VycmVudFRpbWUoKSx7cWQ6InF1b3RhRXhjZWVkZWQiLApxYTohMH0pLCExO0QuaW5mby5mWSgpPyhiPW4ucG9saWN5LGIuZSQ9TWF0aC5mbG9vcihiLmUkKi44KSxiLk89TWF0aC5mbG9vcihiLk8qLjgpKTooYj1uLnBvbGljeSxiLnZKPU1hdGguZmxvb3IoYi52SiouOCksYi5PPU1hdGguZmxvb3IoYi5PKi44KSk7bi5wb2xpY3kuTj9XbChuLms2LEQuaW5mby5QSik6YXEobi5jVixELmluZm8uUEopfW4uTC5HbSh7cmVhdHRhY2hPbkFwcGVuZDpXfSk7cmV0dXJuITF9OwpLVGk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO2lmKGI9bi5wb2xpY3kua3AmJm4ubWVkaWFTb3VyY2UmJiFuLm1lZGlhU291cmNlLk8mJiFuLkwuUHAoKSlXPVcuaW5mby5QSi5pbmZvLGI9Vy5xSCgpJiZXLlgoKSYmVy52aWRlbyYmVy52aWRlby53aWR0aDwzODQwJiZXLnZpZGVvLndpZHRoPlcudmlkZW8uaGVpZ2h0O2lmKGImJihuLm1lZGlhU291cmNlLk89ITAsZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MC4wOC4wMS4wMS4wMS4wMS4wMCI7IHdpZHRoPTM4NDA7IGhlaWdodD0yMTYwJykpKXJldHVybiBEPUROMShEKSxuLnBvbGljeS5XJiZuLlUoInNwNGsiLHtzOiEhRH0pLER9OwpPUDI9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkFifHxuLm1lZGlhU291cmNlO3RyeXtsZXQgaD1XPT09ay5OP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7aWYobi5wb2xpY3kubnUmJmI/LlYoKSl7aWYoYj8udHc+MSlyZXR1cm4gNjtoLmJkPW5ldyBnLmZfKCgpPT57dmFyIHg9aVkoaCk7bi5xTigpfHwheD8uaXNMb2NrZWQ/bi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHtkZWxheUE6eD8uaW5mby5nYSgpfSk6bUJiKGgpPyhuLkwuRygpLldYKCkmJm4uVSgiZW9zbCIse2R1bmxvY2s6eD8uaW5mby5nYSgpfSksJGMobixoPT09bi5hdWRpb1RyYWNrKSk6KG4uVSgibnVlIix7bHM6eC5pbmZvLmdhKCl9KSx4LmluZm8udHcrPTEsbi5tZWRpYVNvdXJjZSYmWGIobikpfSwxRTQsbik7Cm4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7ZGVsYXlTOmIuZ2EoKX0pO2guYmQuc3RhcnQoKX1uLnBvbGljeS5zMyYmYj8uUEogaW5zdGFuY2VvZiBkdCYmYi5WKCkmJm4uVSgicG9zZW9zIix7aXRhZzpiLlBKLmluZm8uaXRhZyxzZWc6Yi5qJCxsc2VnOmIuUEouaW5kZXgueCQoKSxlczpiLlBKLmluZGV4Lkt9KTtXLmFwcGVuZEJ1ZmZlcihELGIsdil9Y2F0Y2goaCl7aWYoaCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbil7aWYoaC5uYW1lPT09IkludmFsaWRTdGF0ZUVycm9yInx8aC5jb2RlPT09MTEpcmV0dXJuIG4uTC5HKCkuV1goKSYmbi5VKCJhZWlzIix7bXNnOmcudXAoaC5tZXNzYWdlLDMpfSksMjtpZihoLm5hbWU9PT0iU3ludGF4RXJyb3IifHxoLmNvZGU9PT0xMilyZXR1cm4gNTtpZihoLm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yInx8aC5jb2RlPT09MjJ8fGgubWVzc2FnZS5pbmRleE9mKCJOb3QgZW5vdWdoIHN0b3JhZ2UiKT09PTApcmV0dXJuIFc9T2JqZWN0LmFzc2lnbih7bmFtZToiUXVvdGFFeGNlZWRlZEVycm9yIiwKYnVmZmVyZWQ6cmsoVy5aRigpKS5yZXBsYWNlKC8sL2csIl8iKSx2aGVhcDpuLnZpZGVvVHJhY2suUnUoKSxhaGVhcDpuLmF1ZGlvVHJhY2suUnUoKSxtZXNzYWdlOmcudXAoaC5tZXNzYWdlLDMpLHRyYWNrOms/Vz09PWsuSj8idiI6ImEiOiJ1In0saFF4KCkpLG4uaGFuZGxlRXJyb3IoInBsYXllci5leGNlcHRpb24iLFcpLDE7Zy5YaihoKX1yZXR1cm4gNH1yZXR1cm4gay5QQSgpPzM6MH07CnJTPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSJmbXQudW5wbGF5YWJsZSIsaz0xO0Q9PT01fHxEPT09Mz8odj0iZm10LnVucGFyc2VhYmxlIixuLnBvbGljeS5OPyFiLlBKLmluZm8udmlkZW98fHdDKG4uazYuTikuc2l6ZT4wfHxXbChuLms2LGIuUEopOiFiLlBKLmluZm8udmlkZW98fHdDKG4uY1Yuaikuc2l6ZT4wfHxhcShuLmNWLGIuUEopKTpEPT09MiYmKG4uYUE8MTU/KG4uYUErKyx2PSJodG1sNS5pbnZhbGlkc3RhdGUiLGs9MCk6dj0iZm10LnVucGxheWFibGUiKTtiPVh4KGIpO2IubXJzPW4ubWVkaWFTb3VyY2U/LlcoKTtiLm9yaWdpbj1XO2IucmVhc29uPUQ7Yi50cmc9ImFwcGVuZGVyciI7bi5oYW5kbGVFcnJvcih2LGIsayl9OwpOMj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uS3U7dmFyIGg9bi5wb2xpY3kuTix4PSExLEw9LTE7Zm9yKGxldCByIGluIGsuTil7dmFyIGU9ay5OW3JdLmluZm8uTigpfHxrLk5bcl0uaW5mby5mWSgpO2lmKGI9PT1lKWlmKGU9ay5OW3JdLmluZGV4LGUuTUkoVy5qJCkpe3t4PWU7dmFyIEc9VztsZXQgTj14LlcoRy5qJCk7TiYmTi5zdGFydFRpbWUhPT1HLnN0YXJ0VGltZT8oeC5zZWdtZW50cz1bXSx4LmooRykseD0hMCk6eD0hMX14P0w9Vy5qJDohVy5wZW5kaW5nJiZoJiYoRz1lLmdldER1cmF0aW9uKFcuaiQpLEchPT1XLmR1cmF0aW9uJiYoay5XSigiY2xpZW50dGVtcCIsIm1mbGR1clVwZGF0ZSIse2l0YWc6ay5OW3JdLmluZm8uaXRhZyxzZWc6Vy5qJCxvZDpHLG5kOlcuZHVyYXRpb259LCExKSxlLmooVykseD0hMCkpfWVsc2UgZS5qKFcpLHg9ITB9TD49MCYmay5XSigiY2xpZW50dGVtcCIsInJlc2V0TWZsSW5kZXgiLHtbYj8idiI6ImEiXTpMfSwhMSk7az14O0FhMihuLlhhLApXLGIsayk7bi5wb2xpY3kuRHx8bi5KQy5SMChXLEQsYix2KTtXLmokPT09bi5LdS5JdCYmayYmdUEobi5LdSkmJlcuc3RhcnRUaW1lPnVBKG4uS3UpJiYobi5LdS5KVT1XLnN0YXJ0VGltZSsoaXNOYU4obi50aW1lc3RhbXBPZmZzZXQpPzA6bi50aW1lc3RhbXBPZmZzZXQpLG4uWGEuaXNTZWVraW5nKCkmJm4uWGEudGFyZ2V0VGltZTxuLkt1LkxmKCkmJm4uWGEuc2VlayhuLkt1LkxmKCkse30pKX07CiRjPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kubnUmJm4ubWVkaWFTb3VyY2Upe3ZhciBEPVc/bi5tZWRpYVNvdXJjZT8uTjpuLm1lZGlhU291cmNlPy5KO2xldCBiPVc/bi5hdWRpb1RyYWNrOm4udmlkZW9UcmFjaztXPWlZKGIpO1c/LmlzTG9ja2VkJiYobi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHt1bmxvY2s6Vy5pbmZvLmdhKCl9KSxiLmJkPy5zdG9wKCksVy5pc0xvY2tlZD0hMSxiLlokKFcpLFBDMihuLmNWLFcuaW5mbyksRD1EPy5aZygpLEQ/LmdhKCkhPT1XLmluZm8uZ2EoKSYmbi5VKCJvdWUiLHtibHM6RD8uZ2EoKSx0bHM6Vy5pbmZvLmdhKCl9KSl9fTsKU0paPWZ1bmN0aW9uKG4sVyl7cVcoVywiY21zIixEPT57bi5wb2xpY3kuVyYmbi5VKCJwYXRocHJvYmUiLEQpfSxEPT57bi5MLmhhbmRsZUVycm9yKEQpfSl9Owp5N2k9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiZuLm1lZGlhU291cmNlLkomJihXLT1pc05hTihuLnRpbWVzdGFtcE9mZnNldCk/MDpuLnRpbWVzdGFtcE9mZnNldCxpc05hTihuLlE1KXx8bi5RNT09PVd8fG4ucmVzdW1lKCksbi5RNT1XKX07CkVPaD1mdW5jdGlvbihuLFcsRCxiKXtkaihuKSYmbi5ETyYmYiYmYj09PTk2JiYoYj1EP24uTC5sSyhXKTpXLG4uZnAoYil8fG4uRE8uTnx8bi5VKCJwcmVidWZmZXIiLHttaXNzOjEsdDpXLnRvRml4ZWQoMyksaXNVdGM6RH0pKX07CmlQUz1mdW5jdGlvbihuLFcpe3ZhciBEPVNxKG4udmlkZW9UcmFjaykuZmluZChiPT5iLnNlZ21lbnRTdGFydFRpbWU+PVcmJlh6aChuLGIuc2VnbWVudFN0YXJ0VGltZSwhMSkpOwpyZXR1cm4gRCYmRC5zZWdtZW50U3RhcnRUaW1lPFcrRC5XKjEuNT9ELnNlZ21lbnRTdGFydFRpbWUrLjE6MH07Cm1CYj1mdW5jdGlvbihuKXt2YXIgVz1pWShuKT8uaW5mbztyZXR1cm4hV3x8bi5mcChNYXRoLm1pbihXLlgrc1gsVy5qKSl9Owp1M3g9ZnVuY3Rpb24obil7aWYoIShuLmxlbmd0aDw9MjgpKWZvcih2YXIgVz0oMCxnLk5tKShbNjAsMCw3NSwwLDczLDAsNjgsMCw2MiwwXSksRD0yODtEPG4ubGVuZ3RoOyl7YTppZihuLmxlbmd0aC1EPFcubGVuZ3RoKXZhciBiPSExO2Vsc2V7Zm9yKGI9MDtiPFcubGVuZ3RoOysrYilpZihuW0QrYl0hPT1XW2JdKXtiPSExO2JyZWFrIGF9Yj0hMH1pZihiKXtEKz1XLmxlbmd0aDtpZihuLmxlbmd0aDw9RCs0OClicmVhaztXPW5ldyBVaW50OEFycmF5KDI0KTtmb3IoYj0wO2I8MjQ7KytiKVdbYl09bltEK2IqMl07bj1wUihXKTtuPWxwKG4pO2lmKCFuKWJyZWFrO0Q9blswXTtuWzBdPW5bM107blszXT1EO0Q9blsxXTtuWzFdPW5bMl07blsyXT1EO0Q9bls0XTtuWzRdPW5bNV07bls1XT1EO0Q9bls2XTtuWzZdPW5bN107bls3XT1EO3JldHVybiBufUQrK319OwpvT3g9ZnVuY3Rpb24obixXKXthOnt2YXIgRD1XLmNyeXB0b1BlcmlvZEluZGV4O2lmKGlzTmFOKEQpJiZuLlcuc2l6ZT4wKUQ9ITA7ZWxzZXtmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKWlmKGIuY3J5cHRvUGVyaW9kSW5kZXg9PT1EKXtEPSEwO2JyZWFrIGF9RD0hMX19bi5XSigibG9nX3FvZSIse3d2YWd0OiJyZXFuZXdzIixjYW5za2lwOkR9KTtEfHxuLldKKCJyb3RhdGVkX25lZWRfa2V5X2luZm9fcmVhZHkiLFcpfTsKZEJoPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJEUk1fVFJBQ0tfVFlQRV9BVURJTyI6cmV0dXJuIDE7Y2FzZSAiRFJNX1RSQUNLX1RZUEVfU0QiOnJldHVybiAyO2Nhc2UgIkRSTV9UUkFDS19UWVBFX0hEIjpyZXR1cm4gMztjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQxIjpyZXR1cm4gNDtjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQyIjpyZXR1cm4gNTtkZWZhdWx0OnJldHVybiAwfX07ClQzaD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPW4uc3RhdHVzPT09IkxJQ0VOU0VfU1RBVFVTX09LIj8wOjk5OTksYj1udWxsO2lmKG4ubGljZW5zZSl0cnl7Yj1scChuLmxpY2Vuc2UpfWNhdGNoKHYpe2cuWGoodil9aWYoRD09PTAmJiFiKXJldHVybiBudWxsO2I9bmV3IHpEWihELGIpO0QhPT0wJiZuLnJlYXNvbiYmKGIuZXJyb3JNZXNzYWdlPW4ucmVhc29uKTtpZihuLmF1dGhvcml6ZWRGb3JtYXRzKXtEPXt9O2xldCB2PVtdLGs9e307Zm9yKGxldCBoIG9mIG4uYXV0aG9yaXplZEZvcm1hdHMpe2lmKCFoLnRyYWNrVHlwZXx8IWgua2V5SWQpY29udGludWU7VyYmYi5KLnB1c2goe3RyYWNrVHlwZTpkQmgoaC50cmFja1R5cGUpLGlzSGRyOiEhaC5pc0hkcn0pO2xldCB4PWxtVVtoLnRyYWNrVHlwZV07aWYoeCl7eD09PSJIRCImJm4uaXNIZDcyMCYmKHg9IkhENzIwIik7aC5pc0hkciYmKHgrPSJIRFIiKTtEW3hdfHwodi5wdXNoKHgpLERbeF09ITApO2xldCBMPW51bGw7dHJ5e0w9bHAoaC5rZXlJZCl9Y2F0Y2goZSl7Zy5YaihlKX1MJiYKKGtbZy5FQShMLDQpXT14KX19Yi5XPXY7Yi5OPWt9bi5uZXh0RmFpcnBsYXlLZXlJZCYmKGIubmV4dEZhaXJwbGF5S2V5SWQ9bi5uZXh0RmFpcnBsYXlLZXlJZCk7bi5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJihiLnNhYnJMaWNlbnNlQ29uc3RyYWludD1scChuLnNhYnJMaWNlbnNlQ29uc3RyYWludCkpO3JldHVybiBifTsKajdqPWZ1bmN0aW9uKG4sVyxEKXtuLm9uU3VjY2Vzcz1XO24ub25FcnJvcj1EfTsKQzl4PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXt0aW1lb3V0OjNFNCxvblN1Y2Nlc3M6az0+e2lmKCFuLnFOKCkpaWYoZy5hTCgiZHJtX25ldF9yIix2b2lkIDAsbi50aW1lciksaz1UM2goayxuLkopKW4ub25TdWNjZXNzKGssbi5yZXF1ZXN0TnVtYmVyKTtlbHNlIG4ub25FcnJvcihuLCJkcm0ubmV0IiwidC5wO3AuaSIpfSwKb25FcnJvcjprPT57aWYoIW4ucU4oKSlpZihrJiZrLmVycm9yKWs9ay5lcnJvcixuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLGB0LnI7cC5pO2MuJHtrLmNvZGV9O3MuJHtrLnN0YXR1c31gLGsuY29kZSk7ZWxzZSBuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLCJ0LnI7cC5pO2MubiIpfSwKb25UaW1lb3V0OigpPT57bi5vbkVycm9yKG4sImRybS5uZXQiLGBydC5yZXEuJHtuLnJlcXVlc3ROdW1iZXJ9YCl9fTsKYiYmKHYuUDE9YEJlYXJlciAke2J9YCk7Zy5JSShELCJwbGF5ZXIvZ2V0X2RybV9saWNlbnNlIixXLHYpfTsKcEM9ZnVuY3Rpb24obixXLEQ9ITEpe2cuVEMoVyk7KER8fG4uQi5XWCgpKSYmbi5XSigiY3RtcCIsImRybWxvZyIsVyl9OwpCM3g9ZnVuY3Rpb24obil7dmFyIFc9bi5iYXNlVXJsO2hBaShXKXx8bi5lcnJvcigiZHJtLm5ldCIsMiwidC54Iik7aWYoIWcubGYoVywiZmV4cCIpKXtsZXQgRD1bIjIzODk4MzA3IiwiMjM5MTQwNjIiLCIyMzkxNjEwNiIsIjIzODgzMDk4Il0uZmlsdGVyKGI9Pm4uQi5leHBlcmltZW50cy5leHBlcmltZW50c1tiXSk7CkQubGVuZ3RoPjAmJihuLmouZmV4cD1ELmpvaW4oKSl9Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uaikpVz1LUzEoVyxELG4ualtEXSk7cmV0dXJuIFd9Owp3enI9ZnVuY3Rpb24obixXKXt2YXIgRD1udWxsO3RyeXtEPVcuY3JlYXRlU2Vzc2lvbihuLlksYj0+e3BDKG4se206Yn0pfSksRlR0KG4sRCl9Y2F0Y2goYil7Vz0idC5nIixiIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtjLiR7Yi5jb2RlfWApLG4uV0ooImxpY2Vuc2VlcnJvciIsImRybS51bmF2YWlsYWJsZSIsMSxXLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIpfXJldHVybiBEfTsKRlR0PWZ1bmN0aW9uKG4sVyl7TTliKFcsKEQsYik9PntSRGoobixELGIpfSwoRCxiLHYpPT57bi5xTigpfHwoYj12b2lkIDAsZy5YVihuLkopJiZnLkRmKG4uQikmJm4uQi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJnY9PT0xMjEyNDMzMjMyJiYoYj0iRVJST1JfSERDUCIpLG4uZXJyb3IoImRybS5rZXllcnJvciIsMSxELGIpKX0sKCk9PntuLnFOKCl8fChwQyhuLHtvbmt5YWRkOjF9KSxuLmNKfHwobi5XSigic2Vzc2lvbnJlYWR5Iiksbi5jSj0hMCkpfSxEPT57bi5ZVihEKX0pfTsKUkRqPWZ1bmN0aW9uKG4sVyxEKXtpZighbi5xTigpKWlmKFcpe3BDKG4se29ua210eXA6RH0pO24uc3RhdHVzPSJrbSI7c3dpdGNoKEQpe2Nhc2UgImxpY2Vuc2UtcmVuZXdhbCI6Y2FzZSAibGljZW5zZS1yZXF1ZXN0IjpjYXNlICJsaWNlbnNlLXJlbGVhc2UiOmJyZWFrO2Nhc2UgImluZGl2aWR1YWxpemF0aW9uLXJlcXVlc3QiOlE3MihuLFcpO3JldHVybjtkZWZhdWx0Om4uV0ooImN0bXAiLCJtZXNzYWdlX3R5cGUiLHt0OkQsbDpXLmJ5dGVMZW5ndGh9KX1uLnR3fHwoZy5hTCgiZHJtX2drX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uiksbi50dz0hMCxuLldKKCJuZXdzZXNzaW9uIixuKSk7aWYoTE4obi5KKSYmKFc9VjlpKFcpLCFXKSlyZXR1cm47dmFyIGI9ITE7aWYobi5CLlp0KCkuTi5RUShZYykpdHJ5e2I9bWsoVyx3T1opLnR5cGU9PT00fWNhdGNoKHYpe3BDKG4se2NlcnRfY2hlY2tfZmFpbGVkOjF9LCEwKX1pZihiJiZuLmRoPy5jZXJ0aWZpY2F0ZSl7cEMobix7Y2VydF9jYWNoZV9oaXQ6MX0sCiEwKTsrK24ucmVxdWVzdE51bWJlcjtsZXQgdj1uLmRoLmNlcnRpZmljYXRlO1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntjN3IobixuZXcgekRaKDAsdiksYil9KX1lbHNlIFc9bmV3IGFtcihXLCsrbi5yZXF1ZXN0TnVtYmVyLG4udmlkZW9EYXRhLnpSLG4uQi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikpLGo3aihXLHY9PntjN3Iobix2LGIpfSwodixrLGgpPT57aWYoIW4ucU4oKSl7dmFyIHg9MDsKdi5OLko+PTMmJih4PTEsaz0iZHJtLm5ldC5yZXRyeWV4aGF1c3RlZCIpO3BDKG4se29ubGNzcnFlcnI6ayxpbmZvOmh9KTtuLmVycm9yKGsseCxoKTtuLnNob3VsZFJldHJ5KGoyKHgpLHYpJiZuUXcobix2KX19KSxnLnUobixXKSxXZzIobixXKX1lbHNlIG4uZXJyb3IoImRybS51bmF2YWlsYWJsZSIsMSwia20uZW1wdHkiKX07ClE3Mj1mdW5jdGlvbihuLFcpe3BDKG4se3NkcHZycToxfSk7bi5WPXBlcmZvcm1hbmNlLm5vdygpO2lmKG4uSi5mbGF2b3IhPT0id2lkZXZpbmUiKW4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuZmxhdm9yO2YuJHtuLkouZmxhdm9yfTtsLiR7Vy5ieXRlTGVuZ3RofWApO2Vsc2V7dmFyIEQ9e2NwbjpuLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlfTtPYmplY3QuYXNzaWduKEQsbi5CLk4pO0Q9Zy5FVCgiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vY2VydGlmaWNhdGVwcm92aXNpb25pbmcvdjEvZGV2aWNlY2VydGlmaWNhdGVzL2NyZWF0ZT9rZXk9QUl6YVN5Qi01T0xLVHgyaVU1bWtvMThEZmR3SzU2MTFKSWpiVWhFIixEKTtXPXtmb3JtYXQ6IlJBVyIsaGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkpTT04uc3RyaW5naWZ5KHtzaWduZWRSZXF1ZXN0OlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwKVyl9KSxyZXNwb25zZVR5cGU6ImFycmF5YnVmZmVyIn07Zy5zeihELFcsMyw1MDApLnRoZW4oWXooYj0+e2I9Yi54aHI7aWYoIW4ucU4oKSl7Yj1uZXcgVWludDhBcnJheShiLnJlc3BvbnNlKTt2YXIgdj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYik7dHJ5e3ZhciBrPUpTT04ucGFyc2Uodil9Y2F0Y2goaCl7fWsmJmsuc2lnbmVkUmVzcG9uc2U/KG4uV0ooImN0bXAiLCJkcm1pbmZvIix7cHJvdmlzaW9uaW5nOjF9KSxrPShwZXJmb3JtYW5jZS5ub3coKS1uLlYpLzFFMyxuLlY9TmFOLG4uV0ooImN0bXAiLCJwcm92cyIse2V0OmsudG9GaXhlZCgzKX0pLG4uWCYmbi5YLnVwZGF0ZShiKSk6KGs9ayYmay5lcnJvciYmay5lcnJvci5tZXNzYWdlLGI9ImUucGFyc2UiLGsmJihiKz1gO20uJHtrfWApLG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYikpfX0pLFl6KGI9PntuLnFOKCl8fG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuJHtiLmVycm9yQ29kZX07Yy4ke2IueGhyJiYKYi54aHIuc3RhdHVzfWApfSkpfX07CmM3cj1mdW5jdGlvbihuLFcsRCl7bi5xTigpfHwoKHBDKG4se29ubGNzcnNwOjF9KSxuLnN0YXR1cz0icnIiLFcuc3RhdHVzQ29kZSE9PTApP24uZXJyb3IoImRybS5hdXRoIiwxLGB0LmY7Yy4ke1cuc3RhdHVzQ29kZX1gLFcuZXJyb3JNZXNzYWdlfHx2b2lkIDApOihEJiZuLmRoJiZuLkIuWnQoKS5OLlFRKFljKSYmKG4uZGguY2VydGlmaWNhdGU9Vy5tZXNzYWdlKSxnLmFMKCJkcm1fa3JfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKSxXLmhlYXJ0YmVhdFBhcmFtcyYmVy5oZWFydGJlYXRQYXJhbXMudXJsJiZuLnZpZGVvRGF0YS5TKCJvdXRlcnR1YmVfc3RyZWFtaW5nX2RhdGFfYWx3YXlzX3VzZV9zdGFnaW5nX2xpY2Vuc2Vfc2VydmljZSIpJiYoRD1uLkouVy5tYXRjaCgvKC4qKXlvdXR1YmUuY29tL2cpKSYmKFcuaGVhcnRiZWF0UGFyYW1zLnVybD1EWzBdK1cuaGVhcnRiZWF0UGFyYW1zLnVybCksVy5oZWFydGJlYXRQYXJhbXMmJm4uV0ooIm5ld2xpY2Vuc2UiLFcuaGVhcnRiZWF0UGFyYW1zKSwKVy5XJiYobi5XPVcuVyxuLnZpZGVvRGF0YS5hTXx8bi5XSigibmV3bGljZW5zZSIsbmV3IERiaiksbi52aWRlb0RhdGEuYU09ITAsbi5LPWcub00obi5XLGI9PmIuaW5jbHVkZXMoIkhEUiIpKSksVy5KJiYobi5EPVcuSiksVy5OJiYobi5CLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5KLk4oKT8oRD1nLkVBKHhLKG4uZmFpcnBsYXlLZXlJZCksNCksbi5OW0RdPXt0eXBlOlcuTltEXSwKc3RhdHVzOiJ1bmtub3duIn0pOm4uTj1XeChXLk4sYj0+KHt0eXBlOmIsc3RhdHVzOiJ1bmtub3duIn0pKSksZzEobi5KKSYmKFcubWVzc2FnZT1hMjIoZy5FQShXLm1lc3NhZ2UpKSksbi5YJiYocEMobix7dXBkdGtzOjF9KSxuLnN0YXR1cz0ia3UiLG4uWC51cGRhdGUoVy5tZXNzYWdlKS50aGVuKCgpPT57Zy5hTCgiZHJtX2tyX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uik7CkhyKG4pfHwocEMobix7a3NBcGlVbnN1cDoxfSksbi5XSigia2V5c3RhdHVzZXNjaGFuZ2UiLG4pKX0sYj0+e2I9YG1zdWYucmVxLiR7bi5yZXF1ZXN0TnVtYmVyfTttc2cuJHtnLnVwKGIubWVzc2FnZSwzKX1gOwpuLmVycm9yKCJkcm0ua2V5ZXJyb3IiLDEsYil9KSksZy5YVihuLkopJiZuLldKKCJmYWlycGxheV9uZXh0X25lZWRfa2V5X2luZm8iLG4uYmFzZVVybCxXLm5leHRGYWlycGxheUtleUlkKSxuLkIuUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZuLkouTigpJiZuLldKKCJxdWFsaXR5Y2hhbmdlIixibWgobi5XKSksVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJm4uV0ooInNhYnJsaWNlbnNlY29uc3RyYWludCIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpKSl9OwpXZzI9ZnVuY3Rpb24obixXKXtuLnN0YXR1cz0ia20iO2cuYUwoImRybV9uZXRfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKTt2YXIgRD1uZXcgZy5kNChuLkIuU1YpLGI9e2NvbnRleHQ6Zy5VSihELmNvbmZpZ198fGcuUzkoKSl9O2IuZHJtU3lzdGVtPXZRQ1tuLkouZmxhdm9yXTtiLnZpZGVvSWQ9bi52aWRlb0RhdGEudmlkZW9JZDtiLmNwbj1uLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlO2Iuc2Vzc2lvbklkPW4uc2Vzc2lvbklkO2IubGljZW5zZVJlcXVlc3Q9Zy5FQShXLm1lc3NhZ2UpO2IuZHJtUGFyYW1zPW4udmlkZW9EYXRhLmRybVBhcmFtcztpc05hTihuLmNyeXB0b1BlcmlvZEluZGV4KXx8KGIuaXNLZXlSb3RhdGVkPSEwLGIuY3J5cHRvUGVyaW9kSW5kZXg9bi5jcnlwdG9QZXJpb2RJbmRleCk7dmFyIHY9ISFuLnZpZGVvRGF0YS5KPy5LKCk/LmlzSGRyKCk7Yi5kcm1WaWRlb0ZlYXR1cmU9dj8iRFJNX1ZJREVPX0ZFQVRVUkVfUFJFRkVSX0hEUiI6IkRSTV9WSURFT19GRUFUVVJFX1NEUiI7Cm4uQi5leHBlcmltZW50cy5adCgpLk4uUVEoa1RiKSYmKGIuY29udGV4dD1nLm9UKG4udmlkZW9EYXRhKSk7aWYoYi5jb250ZXh0JiZiLmNvbnRleHQuY2xpZW50KXtpZih2PW4uQi5OKWIuY29udGV4dC5jbGllbnQuZGV2aWNlTWFrZT12LmNicmFuZCxiLmNvbnRleHQuY2xpZW50LmRldmljZU1vZGVsPXYuY21vZGVsLGIuY29udGV4dC5jbGllbnQuYnJvd3Nlck5hbWU9di5jYnIsYi5jb250ZXh0LmNsaWVudC5icm93c2VyVmVyc2lvbj12LmNicnZlcixiLmNvbnRleHQuY2xpZW50Lm9zTmFtZT12LmNvcyxiLmNvbnRleHQuY2xpZW50Lm9zVmVyc2lvbj12LmNvc3ZlcjtuLkIuZXhwZXJpbWVudHMuWnQoKS5OLlFRKGtUYil8fChiLmNvbnRleHQudXNlcj1iLmNvbnRleHQudXNlcnx8e30sbi52aWRlb0RhdGEuRCYmKGIuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOm4udmlkZW9EYXRhLkQsc2NvcGU6IlZJREVPIn1dKSxuLnZpZGVvRGF0YS5ISiYmKGIuY29udGV4dC51c2VyLmtpZHNQYXJlbnQ9CntvYXV0aFRva2VuOm4udmlkZW9EYXRhLkhKfSkpO2IuY29udGV4dC5yZXF1ZXN0PWIuY29udGV4dC5yZXF1ZXN0fHx7fTtiLmNvbnRleHQucmVxdWVzdC5tZHhFbnZpcm9ubWVudD1uLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudHx8Yi5jb250ZXh0LnJlcXVlc3QubWR4RW52aXJvbm1lbnQ7Zy5YVihuLkopJiYoYi5mYWlycGxheUtleUlkPWcuRUEoeEsobi5mYWlycGxheUtleUlkKSkpO2cuSEUobi5CLG4udmlkZW9EYXRhLlYoKSkudGhlbihrPT57Qzl4KFcsYixELGspO24uc3RhdHVzPSJycyJ9KX1lbHNlIG4uZXJyb3IoImRybS5uZXQiLDIsInQucjtpYy4wIil9OwpoOE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2IuaXNIZHI9Vy5pbmNsdWRlcygiSERSIik7c3dpdGNoKFcucmVwbGFjZSgiSERSIiwiIikucmVwbGFjZSgiNzIwIiwiIikpe2Nhc2UgIkFVRElPIjpiLnRyYWNrVHlwZT0xO2JyZWFrO2Nhc2UgIlNEIjpiLnRyYWNrVHlwZT0yO2JyZWFrO2Nhc2UgIkhEIjpiLnRyYWNrVHlwZT0zO2JyZWFrO2Nhc2UgIlVIRDEiOmIudHJhY2tUeXBlPTQ7YnJlYWs7Y2FzZSAiVUhEMiI6Yi50cmFja1R5cGU9NTticmVhaztkZWZhdWx0OmIudHJhY2tUeXBlPTB9IWIudHJhY2tUeXBlfHxEW1ddfHxIcihuKSYmIWZDKG4sVyl8fChuLmF1dGhvcml6ZWRGb3JtYXRzLnB1c2goYiksRFtXXT0hMCl9Owp4Ymo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobi5OKSlELnB1c2goYCR7Yn1fJHtuLk5bYl0udHlwZX1fJHtuLk5bYl0uc3RhdHVzfWApO3JldHVybiBELmpvaW4oVyl9OwpIcj1mdW5jdGlvbihuKXt2YXIgVztpZihXPW4uTyYmbi5YIT1udWxsKW49bi5YLFc9ISghbi5OfHwhbi5OLmtleVN0YXR1c2VzKTtyZXR1cm4gV307Cm5Rdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuTi5nZXRWYWx1ZSgpO0Q9bmV3IGcuZl8oKCk9PntXZzIobixXKX0sRCk7CmcudShuLEQpO0Quc3RhcnQoKTtnLnhFKFcuTik7cEMobix7cnR5cnE6MX0pfTsKSjI9ZnVuY3Rpb24obil7dmFyIFc9e307V1tuLnN0YXR1c109SHIobik/eGJqKG4sIi4iKTpuLlcuam9pbigiLiIpO3JldHVybiBXfTsKZkM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbi5OKWlmKG4uTltEXS5zdGF0dXM9PT0idXNhYmxlIiYmbi5OW0RdLnR5cGU9PT1XKXJldHVybiEwO3JldHVybiExfTsKTGd3PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4uTilpZihuLk5bRF0udHlwZT09PVcpcmV0dXJuIG4uTltEXS5zdGF0dXN9OwplOHc9ZnVuY3Rpb24obil7dmFyIFc9blswXTtuWzBdPW5bM107blszXT1XO1c9blsxXTtuWzFdPW5bMl07blsyXT1XO1c9bls0XTtuWzRdPW5bNV07bls1XT1XO1c9bls2XTtuWzZdPW5bN107bls3XT1XfTsKYm1oPWZ1bmN0aW9uKG4pe3JldHVybiBnLmpqKG4sIlVIRDIiKXx8Zy5qaihuLCJVSEQySERSIik/ImhpZ2hyZXMiOmcuamoobiwiVUhEMSIpfHxnLmpqKG4sIlVIRDFIRFIiKT8iaGQyMTYwIjpnLmpqKG4sIkhEIil8fGcuamoobiwiSERIRFIiKT8iaGQxMDgwIjpnLmpqKG4sIkhENzIwIil8fGcuamoobiwiSEQ3MjBIRFIiKT8iaGQ3MjAiOiJsYXJnZSJ9OwpWOWk9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0yKVcrPVN0cmluZy5mcm9tQ2hhckNvZGUobltEXSk7bj1nLmdUKG5ldyBET01QYXJzZXIsZy5ITShXKSwidGV4dC94bWwiKTtpZighbilyZXR1cm4gbnVsbDsoVz1uLnF1ZXJ5U2VsZWN0b3IoIkNoYWxsZW5nZSIpKSYmVy5jaGlsZE5vZGVzJiZXLmNoaWxkTm9kZXMubGVuZ3RoIT09MD8obj1VaW50OEFycmF5LFc9emgoVy5jaGlsZE5vZGVzWzBdLm5vZGVWYWx1ZSksVz0oMCxnLk5tKShXKS5idWZmZXIsbj1uZXcgbihXKSk6bj1udWxsO3JldHVybiBufTsKTTliPWZ1bmN0aW9uKG4sVyxELGIsdil7bi5qPVc7bi5XPUQ7bi5WPWI7bi5LPXZ9OwpnUXc9ZnVuY3Rpb24obil7bi5OPyhuLlguTk4obi5OLCJtZXNzYWdlIixuLmJkKSxuLlguTk4obi5OLCJrZXlzdGF0dXNlc2NoYW5nZSIsbi5ZViksbi5OLmNsb3NlZCYmbi5OLmNsb3NlZC50aGVuKFl6KCgpPT57bi5xTigpfHxnLnViKCJ4Ym94b25lIikmJm4uVyYmbi5XKCJjbG9zZWRTaG91bGROb3RSZXRyeSIpfSksbnVsbCkpOm4uSiYmKEt5KG4uWCxuLkosWyJtc2tleW1lc3NhZ2UiLAoid2Via2l0a2V5bWVzc2FnZSJdLG4uY0opLEt5KG4uWCxuLkosWyJtc2tleWVycm9yIiwid2Via2l0a2V5ZXJyb3IiXSxuLk8pLEt5KG4uWCxuLkosWyJtc2tleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLkQpKX07ClhVUz1mdW5jdGlvbihuLFcsRCl7Zy5YaihEKTtuLlcmJihEIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtuLiR7RC5uYW1lfTttLiR7RC5tZXNzYWdlfWApLG4uVyhXKSl9OwpxY1U9ZnVuY3Rpb24obil7S3kobi5YLG4uZWxlbWVudCxbImtleW1lc3NhZ2UiLCJ3ZWJraXRrZXltZXNzYWdlIl0sbi5PKTtLeShuLlgsbi5lbGVtZW50LFsia2V5ZXJyb3IiLCJ3ZWJraXRrZXllcnJvciJdLG4uRCk7S3kobi5YLG4uZWxlbWVudCxbImtleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLlkpfTsKR1RTPWZ1bmN0aW9uKG4sVz1udWxsKXtpZihuLk4ua2V5U3lzdGVtQWNjZXNzKXJldHVybiBuLks9bi5LLnRoZW4oKCk9Pm4ubWVkaWFLZXlzP1Byb21pc2UucmVzb2x2ZSgpOlc/Lm1lZGlhS2V5cyYmVy5ZYT8ucGcoKT8obi5tZWRpYUtleXM9Vz8ubWVkaWFLZXlzLFByb21pc2UucmVzb2x2ZSgpKTpuLk4ua2V5U3lzdGVtQWNjZXNzLmNyZWF0ZU1lZGlhS2V5cygpLnRoZW4oRD0+e24ucU4oKXx8KG4ubWVkaWFLZXlzPUQsVz8uWWE/LnBnKCkmJihXLm1lZGlhS2V5cz1EKSl9KSkudGhlbigoKT0+e3ZhciBEPVc/LmVfKCk7CnJldHVybiBuLmVsZW1lbnQmJm4uZWxlbWVudCE9PUQmJm4uZWxlbWVudC5tZWRpYUtleXM/bi5lbGVtZW50LnNldE1lZGlhS2V5cyhudWxsKTpQcm9taXNlLnJlc29sdmUoKX0pLnRoZW4oKCk9PntuLmVsZW1lbnQ9Vz8uZV8oKTsKcmV0dXJuIG4uZWxlbWVudCYmbi5lbGVtZW50Lm1lZGlhS2V5cyE9PW4ubWVkaWFLZXlzP24uZWxlbWVudC5zZXRNZWRpYUtleXMobi5tZWRpYUtleXMpOlByb21pc2UucmVzb2x2ZSgpfSksbi5LOwp4aChuLk4pP24uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pOmVUKG4uTik/KG4uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pLG4uZWxlbWVudD8ud2Via2l0U2V0TWVkaWFLZXlzKG4uSikpOnFjVShuKTtyZXR1cm4gbnVsbH07CnR3TT1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KDI3MCk7Zm9yKGxldCBiPTA7YjwxMzU7YisrKURbYioyXT0nPFBsYXlSZWFkeUNETURhdGEgdHlwZT0iTGljZW5zZUFjcXVpc2l0aW9uIj48TGljZW5zZUFjcXVpc2l0aW9uIHZlcnNpb249IjEuMCIgUHJvYWN0aXZlPSJ0cnVlIj48L0xpY2Vuc2VBY3F1aXNpdGlvbj48L1BsYXlSZWFkeUNETURhdGE+Jy5jaGFyQ29kZUF0KGIpO249bi5KLmNyZWF0ZVNlc3Npb24oInZpZGVvL21wNCIsVyxEKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsbil9OwpySTE9ZnVuY3Rpb24obixXKXtXPSRiWihXLG4uTi5DaSk7Vz1uLkouY3JlYXRlU2Vzc2lvbigidmlkZW8vbXA0IixXKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsVyxuLlYpfTsKUzA9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmpbVy5zZXNzaW9uSWRdOyFEJiZuLlcmJihEPW4uVyxuLlc9bnVsbCxELnNlc3Npb25JZD1XLnNlc3Npb25JZCxuLmpbVy5zZXNzaW9uSWRdPUQpO3JldHVybiBEfTsKJGJaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5zdWJhcnJheSg0KTtEPW5ldyBVaW50MTZBcnJheShELmJ1ZmZlcixELmJ5dGVPZmZzZXQsRC5ieXRlTGVuZ3RoLzIpO0Q9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLEQpLm1hdGNoKC9laz0oWzAtOWEtZl0rKS8pWzFdO3ZhciBiPSIiO2Zvcih2YXIgdj0wO3Y8RC5sZW5ndGg7dis9MiliKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KEQuc3Vic3RyaW5nKHYsdisyKSwxNikpO0Q9YjtiPW5ldyBBcnJheUJ1ZmZlcihELmxlbmd0aCoyKTt2PW5ldyBVaW50MTZBcnJheShiKTtmb3IodmFyIGs9MDtrPEQubGVuZ3RoO2srKyl2W2tdPUQuY2hhckNvZGVBdChrKTtEPW5ldyBVaW50OEFycmF5KGIpO2I9MDtrPW5ldyBBcnJheUJ1ZmZlcihuLmJ5dGVMZW5ndGgrNCtELmJ5dGVMZW5ndGgrNCtXLmJ5dGVMZW5ndGgpO3Y9bmV3IFVpbnQ4QXJyYXkoayk7az1uZXcgRGF0YVZpZXcoayk7di5zZXQobik7Yis9bi5ieXRlTGVuZ3RoOwprLnNldFVpbnQzMihiLEQubGVuZ3RoLCEwKTtiKz00O3Yuc2V0KEQsYik7Yis9RC5sZW5ndGg7ay5zZXRVaW50MzIoYixXLmJ5dGVMZW5ndGgsITApO3Yuc2V0KFcsYis0KTtyZXR1cm4gdn07Ck5vQz1mdW5jdGlvbihuKXt2YXIgVz1HVFMobi5tZWRpYUtleXMsbi5tZWRpYUVsZW1lbnQpO1c/Vy50aGVuKFl6KCgpPT57c0lNKG4pfSksWXooRD0+e2lmKCFuLnFOKCkpe2cuWGooRCk7CnZhciBiPSJ0LmEiO0QgaW5zdGFuY2VvZiBET01FeGNlcHRpb24mJihiKz0iO24uIitELm5hbWUrIjttLiIrRC5tZXNzYWdlKTtuLldKKCJsaWNlbnNlZXJyb3IiLCJkcm0udW5hdmFpbGFibGUiLDEsYiwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siKX19KSk6KG4uSih7bWRrcmR5OjF9KSxuLkQ9ITApOwpuLk8mJihXPUdUUyhuLk8sbi5tZWRpYUVsZW1lbnQpKX07CnNJTT1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uQi5TKCJodG1sNV9kcm1fc2V0X3NlcnZlcl9jZXJ0Iil8fG4uTi5OKCkpe2xldCBXPW4ubWVkaWFLZXlzLnNldFNlcnZlckNlcnRpZmljYXRlKCk7Vz9XLnRoZW4oWXooRD0+e24uQi5XWCgpJiZuLldKKCJjdG1wIiwic3NjIix7c3VjY2VzczpEfSl9KSxZeihEPT57bi5XSigiY3RtcCIsInNzY2UiLHtuOkQubmFtZSwKbTpELm1lc3NhZ2V9KX0pKS50aGVuKFl6KCgpPT57QTIobil9KSk6QTIobil9ZWxzZSBBMihuKX07ClljMT1mdW5jdGlvbihuLFcsRCl7bi5QWD0hMDtEPW5ldyBydShXLEQpO24uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmKG4uVi5nZXQoVyl8fG4uVi5zZXQoVyxEKSk7cFVqKG4sRCl9OwpwVWo9ZnVuY3Rpb24obixXKXtpZighbi5xTigpKXtuLkooe29uSW5pdERhdGE6MX0pO2lmKG4uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBEPW4uSy5nZXQoVy5pbml0RGF0YSk7Vz1uLlYuZ2V0KFcuaW5pdERhdGEpO2lmKCFEfHwhVylyZXR1cm47Vz1EO0Q9Vy5pbml0RGF0YTtuLlYucmVtb3ZlKEQpO24uSy5yZW1vdmUoRCl9bi5KKHtpbml0ZDpXLmluaXREYXRhLmxlbmd0aCxjdDpXLmNvbnRlbnRUeXBlfSk7aWYobi5OLmZsYXZvcj09PSJ3aWRldmluZSIpaWYobi5WUSYmIW4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrKW1uKG4pO2Vsc2V7aWYoIShuLkIuUygidnA5X2RybV9saXZlIikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZXLnFIKSl7bi5WUT0hMDtEPVcuY3J5cHRvUGVyaW9kSW5kZXg7dmFyIGI9Vy5OO1Z2dChXKTtXLnFIfHwoYiYmVy5OIT09Yj9uLldKKCJjdG1wIiwiY3BzbW0iLHtlbXNnOmIsCnBzc2g6Vy5OfSk6RCYmVy5jcnlwdG9QZXJpb2RJbmRleCE9PUQmJm4uV0ooImN0bXAiLCJjcGltbSIse2Vtc2c6RCxwc3NoOlcuY3J5cHRvUGVyaW9kSW5kZXh9KSk7bi5XSigid2lkZXZpbmVfc2V0X25lZWRfa2V5X2luZm8iLFcpfX1lbHNlIG4uUyQoVyl9fTsKbW49ZnVuY3Rpb24obil7aWYobi5QWCYmbi5EJiYhbi5iZCl7Zm9yKDtuLlgubGVuZ3RoOyl7bGV0IFc9bi5YWzBdLEQ9SG1TKG4pP2NraihXKTpnLkVBKFcuaW5pdERhdGEpO2lmKG4uTi5OKCkmJiFXLlVXKW4uWC5zaGlmdCgpO2Vsc2V7aWYobi5XLmdldChEKSlpZihuLk4uZmxhdm9yIT09ImZhaXJwbGF5Inx8bi5OLk4oKSl7bi5YLnNoaWZ0KCk7Y29udGludWV9ZWxzZSBuLlcuZGVsZXRlKEQpO1Z2dChXKTticmVha319bi5YLmxlbmd0aCYmbi5jcmVhdGVTZXNzaW9uKG4uWFswXSl9fTsKQTI9ZnVuY3Rpb24obil7bi5xTigpfHwobi5EPSEwLG4uSih7b25tZGtyZHk6MX0pLG1uKG4pKX07CkhtUz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmZsYXZvcj09PSJ3aWRldmluZSImJm4udmlkZW9EYXRhLlMoImh0bWw1X2RybV9jcGlfbGljZW5zZV9rZXkiKX07CmY1eD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmQ4KCkmJm4ubWVkaWFLZXlzLm1lZGlhS2V5cz8uZ2V0TWV0cmljcyl7dmFyIFc9YXdhaXQgbi5tZWRpYUtleXMuZ2V0TWV0cmljcygpO1cmJigoMCxnLkc5KShXKXx8KFc9Zy5IRyhXKSksL15bQS1aYS16MC05Xy1dKz17MCwzfSQvLnRlc3QoVyl8fChXPWcudXAoVyx2b2lkIDAsITApKSxuLldKKCJjdG1wIiwiZHJtIix7bWV0cmljczpXfSkpfX07CkpJYj1mdW5jdGlvbihuLFcpe2lmKG4udmlkZW9EYXRhLlkpcmV0dXJuITE7bi55US5udSs9MTtpZihuLnlRLm51PD0xMClyZXR1cm4hMTtXLmV4aWxlZD1gJHtuLnlRLm51fWA7bi5HcygicW9lLnN0YXJ0MTVzIixXKTtuLkwuV0ooInBsYXliYWNrc3RhbGxlZGF0c3RhcnQiKTtyZXR1cm4hMH07Ckk1Mj1mdW5jdGlvbihuKXtpZighbi5KKXtuLko9ITA7dmFyIFc9bi5MLmdldFBsYXllclN0YXRlKCk7Vz1XLmlzUGF1c2VkKCl8fFcuaXNTdXNwZW5kZWQoKTtuLkwub0ooKTtXJiYhT1Mobi52aWRlb0RhdGEpfHxuLkwuV0ooInNpZ25hdHVyZWV4cGlyZWQiKX19OwpLQz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi52aWRlb0RhdGEuSix2PW4udmlkZW9EYXRhLlgsaz1uLnlRLlMoImh0bWw1X2Rpc2FibGVfY29kZWNfZmFsbGJhY2tfZm9yX2RybSIpJiZuLnZpZGVvRGF0YS5NaSgpO0FKKG4uTC5nZXRWaWRlb0RhdGEoKSkmJlA5VShuLkwsInBlIik7bi55US5adCgpLk4uUVEoU2N0KSYmKEQuYmtnPW4uTC5YTygpLmlzQmFja2dyb3VuZCgpPyIxIjoiMCIpO2lmKChXPT09InByb2dyZXNzaXZlLm5ldC5yZXRyeWV4aGF1c3RlZCJ8fFc9PT0iZm10LnVucGxheWFibGUifHxXPT09ImZtdC5kZWNvZGUiKSYmIW4uTC5oVS5qJiZiJiZiLml0YWc9PT0iMjIiKXJldHVybiBuLkwuaFUuaj0hMCxuLkdzKCJxb2UucmVzdGFydCIse3JlYXNvbjoiZm10LnVucGxheWFibGUuMjIifSksbi5MLlZ2KCksITA7dmFyIGg9ITE7aWYobi52aWRlb0RhdGEuaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCl7aWYoaD1uLnZpZGVvRGF0YS5xdylELm1pbWVUeXBlPWgudHlwZSwKbi5VKCIzcHAiLHt1cmw6aC51cmx9KTtELm5zPSIzcHAiO24uTC5QVihXLDEsIlZJREVPX1VOQVZBSUxBQkxFIixnLlRDKChuZXcgZy5DaShXLEQsMSkpLmRldGFpbHMpKTtyZXR1cm4hMH12YXIgeD1uLmtzKzNFNDwoMCxnLlIpKCl8fG4uTi5pc0FjdGl2ZSgpO2lmKG4ueVEuUygiaHRtbDVfZW1wdHlfc3JjIikmJm4udmlkZW9EYXRhLmlzQWQoKSYmVz09PSJmbXQudW5wbGF5YWJsZSImJi9FbXB0eSBzcmMvLnRlc3QoYCR7RC5tc2d9YCkpcmV0dXJuIEQub3JpZ2luPSJlbXB0eXNyYyIsbi5HcygiYXV0aCIsRCksITA7dmFyIEw7aWYoTD0heClMPW4uTC5YTygpLEw9ISEoTC5CUCgpfHxMLmlzSW5saW5lKCl8fEwuaXNCYWNrZ3JvdW5kKCl8fEwuQW4oKXx8TC5qSSgpfHxMLlNJKCl8fEwuUTAoKSk7TCYmKEQubm9uZmc9InBhdXNlZCIseD0hMCxuLkwucGF1c2VWaWRlbygpKTtXIT09ImZtdC5kZWNvZGUiJiZXIT09ImZtdC51bnBsYXlhYmxlInx8IXY/LlYoKXx8KFNUKG4ueVEuVyx2LklCKSwKRC5hY2ZhbGxleHA9di5JQixoPXg9ITApOyF4JiZuLlc+MCYmKG4uTi5zdGFydCgpLHg9ITAsRC5kZWxheWVkPSIxIiwtLW4uVyk7dj1uLkwubG9hZGVyO3h8fCFiPy5NVygpJiYhYj8uWCgpfHxrfHwoU1Qobi55US5XLGIuSUIpLGg9eD0hMCxELmNmYWxsZXhwPWIuSUIpO2lmKCF4KXJldHVybiBKSWIobixEKTtrPSExO24uaj9uLmtzPSgwLGcuUikoKTprPW4uaj0hMDt4PW4udmlkZW9EYXRhO3guY0o/KHg9eC5jSi5qKCksTD1EYXRlLm5vdygpLzFFMysxODAwLHg9eDxMKTp4PSExO0QuZT1XO3gmJihELnN0YWxlcHJvZz0iMSIpO24uR3MoInFvZS5yZXN0YXJ0IixEKTtpZih4JiZuLlExKCkpcmV0dXJuIEk1MihuKSwhMDtpZighKCFnLnViKCJwaGlsaXBzIil8fFc9PT0iZm10LnVucGxheWFibGUiJiZ2JiZ2LkNIfHxuLnlRLk4uY3BsYXRmb3JtPT09IkdBTUVfQ09OU09MRSIpKXRyeXt3aW5kb3cuY2xvc2UoKX1jYXRjaHt9YiYmYi5NVygpJiYhbi55US5TKCJodG1sNV9hbGxvd19hdjFfcmV0cnlfaW5fc2Vzc2lvbiIpPwooaD1uLnlRLlcsaC5ZPSEwLGg9aC5OPSEwKTp2PyhXPW4ueVEuUygiaHRtbDVfZGlzYWJsZV9zdHVubmluZ19mb3Jfc2QiKSxEPW4udmlkZW9EYXRhLlcsRD1EPy52aWRlb0luZm9zPy5sZW5ndGg/RC52aWRlb0luZm9zW0QudmlkZW9JbmZvcy5sZW5ndGgtMV06bnVsbCxiPWImJkQmJmIudmlkZW8mJkQudmlkZW8mJmIudmlkZW8ucXVhbGl0eU9yZGluYWw9PT1ELnZpZGVvLnF1YWxpdHlPcmRpbmFsLGt8fFcmJmJ8fChiPShiPUkkKHYudmlkZW9UcmFjayl8fHYudmlkZW9UcmFjay5OKT9iLlBKOnYudmlkZW9UcmFjay5QSixiLkZGKz0xLHYucG9saWN5Lk4/V2wodi5rNixiLCEwKTphcSh2LmNWLGIsITApKSk6bi52aWRlb0RhdGEuY0omJm4udmlkZW9EYXRhLmNKLlgoKTtuLk4uaXNBY3RpdmUoKXx8bi5MLkJvKGgpO3JldHVybiEwfTsKQUlNPWZ1bmN0aW9uKG4sVyl7aWYoKG49bi5MLmg1KCkpJiYoVy5lcnJvckNvZGU9PT0iZm10LnVucGxheWFibGUifHxXLmVycm9yQ29kZT09PSJodG1sNS5pbnZhbGlkc3RhdGUiKSl7bGV0IEQ9bi5WRygpO1cuZGV0YWlscy5tZXJyPUQ/RC50b1N0cmluZygpOiIwIjtXLmRldGFpbHMubW1zZz1uLnM4KCl9fTsKbWJNPWZ1bmN0aW9uKG4pe3JldHVybiBuLmVycm9yQ29kZT09PSJuZXQuYmFkc3RhdHVzIiYmKG4uc2V2ZXJpdHk9PT0xfHwhIW4uZGV0YWlscy5mbXRfdW5hdil9OwpLZ3g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi55US5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIikmJlcuZGV0YWlscy5yYz09PTQwM3x8Vy5kZXRhaWxzLnJjPT09IjQwMyI/KG49Vy5lcnJvckNvZGUsbj09PSJuZXQuYmFkc3RhdHVzInx8bj09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiKTohMX07Ck9YPWZ1bmN0aW9uKG4sVyxEKXt0cnl7Vz17ZGV0YWlsOmBwci4ke1d9YH0sZy54NihuLnlRKXx8bG8obi55USk9PT0iVFZIVE1MNV9GT1JfS0lEUyI/bi5MLlBWKCJxb2UucmVzdGFydCIsRD8xOjIsdm9pZCAwLGcuVEMoVyksIjciKToobi5HcygicW9lLnJlc3RhcnQiLFcpLHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKSl9Y2F0Y2h7fX07Ck9tMj1mdW5jdGlvbihuLFcpe2lmKCFLZ3gobixXKSYmIW4uSilyZXR1cm4hMTtXLmRldGFpbHMuc3RzPSIyMDY1NSI7aWYobi5RMSgpKXJldHVybiBqMihXLnNldmVyaXR5KSYmKFc9T2JqZWN0LmFzc2lnbih7ZTpXLmVycm9yQ29kZX0sVy5kZXRhaWxzKSxXPW5ldyBnLkNpKCJxb2UucmVzdGFydCIsVykpLG4uR3MoVy5lcnJvckNvZGUsVy5kZXRhaWxzKSxJNTIobiksITA7KDAsZy5SKSgpLW4ueVEuQ3U+NjA0OEU1JiZPWChuLCJzaWduYXR1cmUiLCEwKTtyZXR1cm4hMX07ClBNaj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YS5lcnJvckRldGFpbD09PSI3IiYmZy5rNihuLnlRKSl7bGV0IFc9IW4udmlkZW9EYXRhLmlzSW5saW5lUGxheWJhY2tOb0FkO1cmJm4ueVEuVFErKztPWChuLCJpbm5lcnR1YmVfcGxheWVyX3JlbG9hZF9yZXF1aXJlZCIsVyYmbi55US5UUT4xKTtyZXR1cm4hMH1yZXR1cm4hMX07ClByPWZ1bmN0aW9uKG4sVz0iZm10Lm5vbmVhdmFpbGFibGUiKXt2YXIgRD1uLnlRLlc7RC5LPSExO0QuTj0hMDtuLkdzKCJxb2UucmVzdGFydCIse2U6VyxkZXRhaWw6ImhkciJ9KTtuLkwuQm8oITApfTsKWm1oPWZ1bmN0aW9uKG4pe2lmKG4uTC5YTygpLmlzSW5saW5lKCkpcmV0dXJuIFlaO249TGdbcDcoKV07cmV0dXJuIHZBKCJhdXRvIixuLCExLCJzIil9Owp5SXI9ZnVuY3Rpb24obixXKXt2YXIgRDthOmlmKChEPVcuTikmJkQudmlkZW9JbmZvcy5sZW5ndGgpe2Zvcih2YXIgYiBvZiBELnZpZGVvSW5mb3MpaWYoYi5qPy5zbW9vdGgpe0Q9Yi52aWRlby5xdWFsaXR5T3JkaW5hbDticmVhayBhfUQ9RC52aWRlb0luZm9zWzBdLnZpZGVvLnF1YWxpdHlPcmRpbmFsfWVsc2UgRD0wO2I9ITA7bi5CLlMoIndlYl9yZWxheF9hcm1fY2FwIikmJm5hdmlnYXRvci5KRiYmKGI9ITEpO2ImJihnLnViKCJhcm12NyIpfHxnLnViKCJhYXJjaDY0Iil8fGcudWIoImFuZHJvaWQiKSkmJiFnLms2KG4uQikmJlcuTi52aWRlb0luZm9zWzBdLlgoKSYmKEQ9TWF0aC5taW4oRCxORy5sYXJnZSkpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2NoaXBzZXRfc29mdF9jYXAiKTtiPjAmJihEPU1hdGgubWluKEQsYikpO2I9bi5CLncwKCkuTi5RUShVYlMpO2I+MCYmKEQ9TWF0aC5taW4oRCxiKSk7aWYoYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWF4X3ZlcnRpY2FsX3Jlc29sdXRpb24iKSl7bGV0IGg9CjQzMjA7Zm9yKHZhciB2PTA7djxXLk4udmlkZW9JbmZvcy5sZW5ndGg7disrKXt2YXIgaz1XLk4udmlkZW9JbmZvc1t2XTtrLnZpZGVvLmhlaWdodD5iJiYoaD1NYXRoLm1pbihoLGsudmlkZW8ucXVhbGl0eU9yZGluYWwpKX1pZihoPDQzMjApe3Y9MDtmb3Ioaz0wO2s8Vy5OLnZpZGVvSW5mb3MubGVuZ3RoO2srKyl7bGV0IHg9Vy5OLnZpZGVvSW5mb3Nba10udmlkZW8ucXVhbGl0eU9yZGluYWw7eDxoJiYodj1NYXRoLm1heCh2LHgpKX12JiYoRD1NYXRoLm1pbih2LEQpKX1uLkwuVSgibXZyIix7aDpiLGNwOkR9KX1yZXR1cm4gbmV3IGIzKDAsRCwhMSwibyIpfTsKaW1yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9NDMyMDshbi5CLmp8fGcuQ04obi5CKXx8bi5CLlMoImhsc19mb3Jfdm9kIil8fG4uQi5TKCJtd2ViX3JlbW92ZV8zNjBwX2NhcCIpfHwoRD1ORy5tZWRpdW0pO3ZhciBiPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZWZhdWx0X3F1YWxpdHlfY2FwIik7YiYmVy5OLk4oKSYmKG4uQi5TKCJodG1sNV9hbHdheXNfYXBwbHlfZGVmYXVsdF9xdWFsaXR5X2NhcCIpfHwhVy52aWRlb0RhdGEuaTUmJiFXLnZpZGVvRGF0YS5jb250ZW50UHJvdGVjdGlvbikmJihEPU1hdGgubWluKEQsYikpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X3JhbmRvbV9wbGF5YmFja19jYXAiKTt2YXIgdj0vW2EtaF0kLztiJiZ2LnRlc3QoVy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSkmJihEPU1hdGgubWluKEQsYikpO2lmKHY9Yj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfaGZyX3F1YWxpdHlfY2FwIikpYTp7dj1XLk47aWYodi5OKCkpZm9yKHZhciBrIG9mIHYudmlkZW9JbmZvcylpZihrLnZpZGVvLkooKSl7dj0KITA7YnJlYWsgYX12PSExfXYmJihEPU1hdGgubWluKEQsYikpOyhrPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9saXZlX3F1YWxpdHlfY2FwIikpJiZXLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEQ9TWF0aC5taW4oRCxrKSk7RD1FUU0obixXLEQpO249Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwIik7cmV0dXJuIG5ldyBiMygwLEQ9PT00MzIwPzA6RCwhMSwiZCIsbil9OwpaVj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTC5YTygpO3JldHVybiBELmlzSW5saW5lKCkmJiFXLnVuY2FwSW5saW5lUXVhbGl0eT9uZXcgYjMoMCw0ODAsITEsInYiKTpnLllOKFcpP1laOkQuaXNCYWNrZ3JvdW5kKCkmJmcudkkoKS8xRTM+NjAmJiFnLms2KG4uQik/bmV3IGIzKDAsMzYwLCExLCJ2Iik6WVp9OwpVWD1mdW5jdGlvbihuLFcsRCl7aWYobi5CLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIikmJlcuaHEoKXx8Zy5rNihuLkIpJiYocDcoLTEpPj0xMDgwfHxXLm9zaWQpKXJldHVybiBZWjt2YXIgYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfYXV0b25hdl9xdWFsaXR5X2NhcCIpLHY9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2F1dG9uYXZfY2FwX2lkbGVfc2VjcyIpO3JldHVybiBiJiZXLmlzQXV0b25hdiYmZy52SSgpLzFFMz52PyhEJiYoYj1FUU0obixELGIpKSxuZXcgYjMoMCxiLCExLCJlIikpOllafTsKeTM9ZnVuY3Rpb24obixXKXtpZighVy5OLk4oKSlyZXR1cm4gbi5qP25ldyBiMygwLDM2MCwhMSwiYiIpOllaO3ZhciBEPSExLGI9ITE7Zm9yKHZhciB2IG9mIFcuTi52aWRlb0luZm9zKXYuTVcoKT9EPSEwOmI9ITA7RD1EJiZiO2I9MDt2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3IiKTt2PW4uQi5qPzI0MDp2O2ZvcihsZXQgayBvZiBXLk4udmlkZW9JbmZvcyl7aWYoRCYmay5NVygpKWNvbnRpbnVlO1c9VkMoay5JQixrLnZpZGVvLmZwcyxuLlcpO2xldCBoPWsudmlkZW8ucXVhbGl0eU9yZGluYWw7aWYoTWF0aC5tYXgoVyx2KT49aCl7Yj1oO2JyZWFrfX1yZXR1cm4gbmV3IGIzKDAsYiwhMSwiYiIpfTsKaW09ZnVuY3Rpb24obixXKXt2YXIgRD1FWChuLFcuTj8udmlkZW9JbmZvcyksYj1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7cmV0dXJuIGI+MSYmRD8obj1KeihuLkIuVyxXLk4udmlkZW9JbmZvcyxiKSxuZXcgYjMoMCxuLCEwLCJvIikpOm5ldyBiMygwLDAsITEsIm8iKX07CnVtPWZ1bmN0aW9uKG4sVyxEKXtnLms2KG4uQikmJihEPUQuY29tcG9zZShuLk1oKFcpKSk7cmV0dXJuIER9OwpFWD1mdW5jdGlvbihuLFcpe3JldHVybiBXJiZnLms2KG4uQik/Vy5zb21lKEQ9PkQudmlkZW8uSigpKTohMX07CkVRTT1mdW5jdGlvbihuLFcsRCl7aWYobi5TKCJodG1sNV9vcHRpbWFsaXR5X2RlZmF1bHRzX2Nob29zZXNfbmV4dF9oaWdoZXIiKSYmRClmb3Iobj1XLk4udmlkZW9JbmZvcyxXPTE7VzxuLmxlbmd0aDtXKyspaWYobltXXS52aWRlby5xdWFsaXR5T3JkaW5hbDxEKXJldHVybiBuW1ctMV0udmlkZW8ucXVhbGl0eU9yZGluYWw7cmV0dXJuIER9Owp1aWo9YXN5bmMgZnVuY3Rpb24obil7aWYoIW4uTi5OKCl8fHR5cGVvZiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2F3YWl0IFByb21pc2UucmVzb2x2ZSgpO2ZvcihsZXQgVyBvZiBuLk4udmlkZW9JbmZvcylhd2FpdCBrM3IoVyl9OwpvUTI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLklCLGI9Vy52aWRlby5mcHMsdj1XLnZpZGVvLnF1YWxpdHlPcmRpbmFsLTEsaz1uLlc7Vz1gJHtEfSR7Yj40OT8icDYwIjpiPjMyPyJwNDgiOiIifWA7RD1WQyhELGIsayk7dj4wJiYoRD1NYXRoLm1pbihELHYpKTshY0YuaGFzKFcpJiZKcygpLmluY2x1ZGVzKFcpPyhiPWY3KCksK2JbV10+MCYmKEQ9TWF0aC5taW4oK2JbV10sRCkpLGJbV10hPT1EJiYoYltXXT1ELGcuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLGIsMjU5MkUzKSkpOmNGLmhhcyhXKXx8az09bnVsbD8oYj1KcygpLnNsaWNlKCksYi5pbmNsdWRlcyhXKXx8KGIucHVzaChXKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLGIsMjU5MkUzKSksUUMuc2V0KFcsRCkpOihjRi5hZGQoVyksaz8uc2V0KFcsRCkpO24uTC5zVCgpfTsKZGJTPWZ1bmN0aW9uKCl7cmV0dXJuIFd4KGY3KCksbj0+YCR7bn1gKX07Cno4Mj1mdW5jdGlvbihuLFcsRCxiKXtpZighV3x8IUR8fCFXLnZpZGVvRGF0YS5KKXJldHVybiExO3ZhciB2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZl9kb3duZ3JhZGVfdGhyZXNoIiksaz1uLlMoImh0bWw1X2xvZ19tZWRpYV9wZXJmX2luZm8iKTtpZighKCgwLGcuUikoKS1uLlg8NUUzPzA6a3x8dj4wKSlyZXR1cm4hMTt2YXIgaD0oKDAsZy5SKSgpLW4uWCkvMUUzO24uWD0oMCxnLlIpKCk7RD1ELmdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCk7aWYoIUQpcmV0dXJuITE7dmFyIHg9RC5kcm9wcGVkVmlkZW9GcmFtZXMtbi5WLEw9RC50b3RhbFZpZGVvRnJhbWVzLW4udG90YWxGcmFtZXM7bi5WPUQuZHJvcHBlZFZpZGVvRnJhbWVzO24udG90YWxGcmFtZXM9RC50b3RhbFZpZGVvRnJhbWVzO3ZhciBlPUQuZGlzcGxheUNvbXBvc2l0ZWRWaWRlb0ZyYW1lcz09PTA/MDpELmRpc3BsYXlDb21wb3NpdGVkVmlkZW9GcmFtZXN8fC0xO2smJm4uQi5XWCgpJiZuLkwuVSgiZGRmIiwKe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lcyxjb21wOmV9KTtpZihiKXJldHVybiBuLk49MCwhMTtpZigoTC14KS9oPm4uWXx8IXZ8fGcuazYobi5CKSlyZXR1cm4hMTtuLk49KEw+NjA/eC9MOjApPnY/bi5OKzE6MDtpZihuLk4hPT0zKXJldHVybiExO29RMihuLFcudmlkZW9EYXRhLkopO24uTC5VKCJkZmQiLE9iamVjdC5hc3NpZ24oe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lc30sZGJTKCkpKTtyZXR1cm4hMH07Cmw1VT1mdW5jdGlvbihuLFcpe24uUygiaHRtbDVfbG9nX21lZGlhX3BlcmZfaW5mbyIpJiYobi5MLlUoInBlcmZkYiIsZGJTKCkpLG4uTC5VKCJzZXNzaW9ucGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMoUUMuZW50cmllcygpKSksbi5MLlUoInBsYXliYWNrcGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMobi5XLmVudHJpZXMoKSkpLG4uTC5VKCJod2MiLHtuY2g6bmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3l9LCEwKSxXJiZuLkwuVSgibWNkYiIse2l0YWdzOlcuTi52aWRlb0luZm9zLmZpbHRlcihEPT5ELmo/LnNtb290aD09PSExKS5tYXAoRD0+RC5pdGFnKS5qb2luKCItIil9KSl9OwpiQT1mdW5jdGlvbihuLFcsRD0hMSl7bi5ZYT8uV1goKSYmbi5ZYS5VKCJybXMiLFcsRCl9OwpvdT1mdW5jdGlvbihuKXtuPW4uTygpO3JldHVybiBuLmxlbmd0aDwxP05hTjpuLmVuZChuLmxlbmd0aC0xKX07ClRvaT1mdW5jdGlvbihuLFcpe24uWGImJm4uWGIuZXF1YWxzKFcpfHwobi5YYiYmbi5YYi5kaXNwb3NlKCksbi5YYj1XKX07CmpJaj1mdW5jdGlvbihuKXshbi5XJiZjUigpJiYobi5qP24uai50aGVuKCgpPT5qSWoobikpOm4uWF8oKXx8KG4uVz1uLlV6KCkpKX07CkNNeD1mdW5jdGlvbihuLFcsRCl7bi5pc1BhdXNlZCgpfHxuLmdldEN1cnJlbnRUaW1lKCk+V3x8RD4xMHx8KG4ucGxheSgpLGcubiQoKCk9PntDTXgobixuLmdldEN1cnJlbnRUaW1lKCksRCsxKX0sNTAwKSl9OwpCb3Q9ZnVuY3Rpb24obixXKXtpZihuLlgoKT09PTB8fG4uaGFzRXJyb3IoKSlyZXR1cm4hMTt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gVz49MCYmKG49bi5PKCksbi5sZW5ndGh8fCFEKT9CUihuLFcpOkR9OwpkUz1mdW5jdGlvbihuKXtpZihuLlhfKCl8fG4uVEMoKSluLllhJiZuLllhLkNjKCJyc19zIiksZy5NTCYmbi5nZXRDdXJyZW50VGltZSgpPjAmJm4uc2Vla1RvKDApLG4uVlEoKSxuLmUkKCksbi5sb2FkKCksVG9pKG4sbnVsbCk7ZGVsZXRlIG4uan07CkZnYj1mdW5jdGlvbihuKXt2YXIgVz1uLkooKTtyZXR1cm4gTSQoVykmJm4uZ2V0RHVyYXRpb24oKT9XLmVuZChXLmxlbmd0aC0xKTowfTsKelg9ZnVuY3Rpb24obil7c3dpdGNoKG4uVkcoKSl7Y2FzZSAyOnJldHVybiJwcm9ncmVzc2l2ZS5uZXQucmV0cnlleGhhdXN0ZWQiO2Nhc2UgMzpyZXR1cm4gbj1uLnM4KCksbj8uaW5jbHVkZXMoIk1FRElBX0VSUl9DQVBBQklMSVRZX0NIQU5HRUQiKXx8d1VNJiZuPy5pbmNsdWRlcygiYXVkaW9fb3V0cHV0X2NoYW5nZSIpPyJjYXBhYmlsaXR5LmNoYW5nZWQiOiJmbXQuZGVjb2RlIjtjYXNlIDQ6cmV0dXJuImZtdC51bnBsYXlhYmxlIjtjYXNlIDU6cmV0dXJuImRybS51bmF2YWlsYWJsZSI7Y2FzZSAxRTM6cmV0dXJuImNhcGFiaWxpdHkuY2hhbmdlZCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19OwpNd2g9ZnVuY3Rpb24obil7dmFyIFc9bnVsbDtuWzRdJiYoVz1uWzRdLFc9e2Vycm9yQ29kZTpXWzVdLGVycm9yRGV0YWlsOldbNl0sZXJyb3JNZXNzYWdlOldbN10saHk6V1s4XSxUaDpXWzldLHdpOldbMTBdLEp4OldbMTFdLGNwbjpXWzEyXX0pO3JldHVybiBuZXcgZy5sbShuWzFdLFcsblsyXSxuWzNdKX07CmwxPWZ1bmN0aW9uKG4pe3JldHVybiBuLmlzUGxheWluZygpJiYhbi5OKDE2KSYmIW4uTigzMil9OwpUWD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OKDEyOCk/LTE6bi5OKDIpPzA6bi5OKDIwNDgpPzM6bi5OKDY0KT8tMTpuLk4oMSkmJiFuLk4oMzIpPzM6bi5OKDgpPzE6bi5OKDQpPzI6LTF9OwpqMD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCEoVz09PW4uc3RhdGUmJkQ9PT1uLmhPJiZiPT09bi5zZWVrU291cmNlJiZ2PT09bi5zdG9wcGFnZVJlYXNvbnx8VyE9PXZvaWQgMCYmKFcmMTI4JiYhRHx8VyYyJiZXJjE2KSkpe3ZhciBrO2lmKGs9VylrPVd8fG4uc3RhdGUsaz0hIShrJjE2fHxrJjMyKTtuPW5ldyBnLmxtKFcsRCxrP2I/YjpuLnNlZWtTb3VyY2U6bnVsbCx2KX1yZXR1cm4gbn07CkNDPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gUjhDKG4sVy5nZXRDdXJyZW50VGltZSgpLCgwLGcuUikoKSxXLnpzKCksRCl9OwpCcj1mdW5jdGlvbihuLFcsRD1udWxsLGI9bnVsbCl7cmV0dXJuIGowKG4sbi5zdGF0ZXxXLG51bGwsRCxiKX07CkZiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGowKG4sbi5zdGF0ZSZ+VyxudWxsLG51bGwsbnVsbCl9Owp3Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwsdj1udWxsKXtyZXR1cm4gajAobiwobi5zdGF0ZXxXKSZ+RCxudWxsLGIsdil9OwpRSVM9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zdGF0ZT09PW4uc3RhdGUmJlcuaE89PT1uLmhPfTsKVndNPWZ1bmN0aW9uKG4pe3N3aXRjaChuLkIucGxheWVyQ2FuYXJ5U3RhZ2U/LnRvTG93ZXJDYXNlKCkpe2Nhc2UgInhzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWFNNQUxMIjtjYXNlICJzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfU01BTEwiO2Nhc2UgIm1lZGl1bSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTUVESVVNIjtjYXNlICJsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTEFSR0UiO2Nhc2UgInhsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWExBUkdFIjtkZWZhdWx0OnJldHVybiJIVE1MNV9QTEFZRVJfQ0FOQVJZX1NUQUdFX1VOU1BFQ0lGSUVEIn19OwpjSWo9ZnVuY3Rpb24obil7bi5OPj0wfHwobi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09Mz9uLlY9ITA6KG4uTj1nLlJrKG4ucHJvdmlkZXIpLG4uZGVsYXkuc3RhcnQoKSkpfTsKYTVyPWZ1bmN0aW9uKG4pe2lmKCEobi5KPDApKXt2YXIgVz1nLlJrKG4ucHJvdmlkZXIpLEQ9Vy1uLmo7bi5qPVc7bi5wbGF5ZXJTdGF0ZS5KKCk/bi5wbGF5VGltZVNlY3MrPUQ6bi5wbGF5ZXJTdGF0ZS5pc0J1ZmZlcmluZygpJiYhbi5wbGF5ZXJTdGF0ZS5OKDE2KSYmKG4ucmVidWZmZXJUaW1lU2Vjcys9RCl9fTsKUnU9ZnVuY3Rpb24obixXPSExKXtuLk4uWD1XO24uTi5zdGFydFRpbWU9bi5XO24uTi5lbmRUaW1lPW4uSjtuLmpWPy5sZW5ndGgmJihuLk4ualY9bi5qVik7bi5yWD8ubGVuZ3RoJiYobi5OLnJYPW4uclgpO1c9ITE7dmFyIEQ9Zy5VTShuLnNlZ21lbnRzKTtuLnNlZ21lbnRzLmxlbmd0aCYmIUQ/LlgmJkQ/LmlzRW1wdHkoKT8obi5zZWdtZW50c1tuLnNlZ21lbnRzLmxlbmd0aC0xXS5wcmV2aW91c2x5RW5kZWQmJihuLk4ucHJldmlvdXNseUVuZGVkPSEwKSxuLnNlZ21lbnRzW24uc2VnbWVudHMubGVuZ3RoLTFdPW4uTixXPSEwKTpuLnNlZ21lbnRzLmxlbmd0aCYmbi5OLmlzRW1wdHkoKSYmIW4uTi5YfHwobi5zZWdtZW50cy5wdXNoKG4uTiksVz0hMCk7Vz8obi5OLmVuZFRpbWU9PT0wJiYobi5wcmV2aW91c2x5RW5kZWQ9ITEpLG4uTi5yWD8ubGVuZ3RoJiZuLnByb3ZpZGVyLkwuVSgic2RhaSIse2F0dGFjaF9tZXRhOjEsc3Q6bi5OLnN0YXJ0VGltZSxldDpuLk4uZW5kVGltZSxzZWdfaWR4Om4uc2VnbWVudHMubGVuZ3RoLQoxfSkpOm4uTi5wcmV2aW91c2x5RW5kZWQmJihuLnByZXZpb3VzbHlFbmRlZD0hMCk7bi5WKz1uLkotbi5XO24uTj1NbShuLnByb3ZpZGVyKTtuLk4ucHJldmlvdXNseUVuZGVkPW4ucHJldmlvdXNseUVuZGVkO24ucHJvdmlkZXIuQi5adCgpLk4uUVEobm9yKSYmKG4uais9SlNPTi5zdHJpbmdpZnkobi5OKS5sZW5ndGgpO24ucHJldmlvdXNseUVuZGVkPSExO24uVz1uLko7cmV0dXJuIFc/Zy5VTShuLnNlZ21lbnRzKTp2b2lkIDB9OwpXM1o9ZnVuY3Rpb24obil7RHIobi5LKTtuLks9TmFOfTsKRGoyPWZ1bmN0aW9uKG4pe1czWihuKTtuLks9VzAoKCk9PntuLnVwZGF0ZSgpfSwxMDApOwpuLnJ6PWcuUmsobi5wcm92aWRlcik7bi5OPU1tKG4ucHJvdmlkZXIpfTsKYlh0PWZ1bmN0aW9uKG4sVyxEKXtELT1uLnJ6O3JldHVybiBXPT09bi5KJiZEPi41fTsKZy5RMz1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnZpc2l0b3JEYXRhOnZvaWQgMDtyZXR1cm4gZy5IRShuLkIsbi5hY2Nlc3NUb2tlbikudGhlbihiPT5qUihuLnVyaSxuLkIsbi5wYWdlSWQsRCxiLFcpKX07Cmcudm9qPWZ1bmN0aW9uKG4pe24uaW5kZXhPZigid2F0Y2h0aW1lIikhPT0tMSYmZy56VSgiZ2VsRGVidWdnaW5nRXZlbnQiLHt2c3MzZGVidWdnaW5nRXZlbnQ6e3ZzczJQaW5nOm59fSl9OwprcGk9ZnVuY3Rpb24obixXKXtuLmF0dGVzdGF0aW9uUmVzcG9uc2UmJmcuUTMobikudGhlbihEPT57RD1EfHx7fTtELm1ldGhvZD0iUE9TVCI7RC5wb3N0UGFyYW1zPXthdHI6bi5hdHRlc3RhdGlvblJlc3BvbnNlfTtuLlMkP24uVlE/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLEQpOmcuSFUoKS5zZW5kVGhlbldyaXRlKFcsRCk6Zy5lZChXLEQpfSl9OwpoeWk9ZnVuY3Rpb24obil7dmFyIFc9e08zOltdfTtpZihnLm9NKG4uc2VnbWVudHMsRD0+ISFELmpWfHwhIUQuclgpKXtmb3IobGV0IEQgb2Ygbi5zZWdtZW50cylXLk8zLnB1c2goe2pWOkQualZ8fFtdLApyWDpELnJYfHxbXX0pO249Zy5saCh7Ykw6V30sUV8xKTtyZXR1cm4gZy5FQShuLDQpfX07CmJKPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuaV8oVyxuLkopLmpvaW4oIiwiKX07CnZ5TT1mdW5jdGlvbihuLFcpe2lmKFcmJm4uail7dmFyIEQ9bmV3IFNldChbInEiLCJmZWF0dXJlIiwibW9zIl0pLGI9bmV3IFNldCgiYXV0b3BsYXkgY2wgbGVuIGZleHAgZGVsYXkgZWwgbnMgYWRmb3JtYXQiLnNwbGl0KCIgIikpLHY9bmV3IFNldChbImFxaSIsImF1dG9uYXYiLCJsaXN0Iiwic3NydCIsInVwdCJdKTtuLmoubnM9PT0iM3BwIiYmKFcubnM9IjNwcCIpO2ZvcihsZXQgayBvZiBPYmplY3Qua2V5cyhuLmopKWIuaGFzKGspfHxELmhhcyhrKXx8di5oYXMoaykmJiFuLmpba118fChXW2tdPW4ualtrXSl9fTsKeGpqPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJwbGF5aW5nIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX1BMQVlJTkciO2Nhc2UgInBhdXNlZCI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9QQVVTRUQiO2Nhc2UgImJ1ZmZlcmluZyI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9CVUZGRVJJTkciO2Nhc2UgInNlZWtpbmciOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU0VFS0lORyI7Y2FzZSAiZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfRU5ERUQiO2Nhc2UgImVycm9yIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX0VSUk9SIjtjYXNlICJzdXNwZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU1VTUEVOREVEIjtjYXNlICJ1bnN0YXJ0ZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5TVEFSVEVEIjtkZWZhdWx0OnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5LTk9XTiJ9fTsKTDN4PWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDE6cmV0dXJuIlZJU19NSU5JTUlaRUQiO2Nhc2UgMjpyZXR1cm4iVklTX0ZVTExTQ1JFRU4iO2Nhc2UgMzpyZXR1cm4iVklTX0JBQ0tHUk9VTkQiO2Nhc2UgNDpyZXR1cm4iVklTX0FJUlBMQVkiO2Nhc2UgNTpyZXR1cm4iVklTX0lOTElORSI7Y2FzZSA2OnJldHVybiJWSVNfVlIiO2Nhc2UgNzpyZXR1cm4iVklTX1BJQ1RVUkVfSU5fUElDVFVSRSI7Y2FzZSA4OnJldHVybiJWSVNfSU1NRVJTSVZFX1BSRVZJRVciO2Nhc2UgOTpyZXR1cm4iVklTX1NRVUVFWkVCQUNLIjtjYXNlIDEwOnJldHVybiJWSVNfVEhFQVRFUiI7Y2FzZSAzMTpyZXR1cm4iVklTX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIlZJU19ERUZBVUxUIn19OwpleWo9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4iQ09OTl9VTktOT1dOIjtjYXNlIDI6cmV0dXJuIkNPTk5fTk9ORSI7Y2FzZSAzOnJldHVybiJDT05OX1dJRkkiO2Nhc2UgNDpyZXR1cm4iQ09OTl9DRUxMVUxBUl8yRyI7Y2FzZSA1OnJldHVybiJDT05OX0NFTExVTEFSXzNHIjtjYXNlIDY6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNEciO2Nhc2UgNzpyZXR1cm4iQ09OTl9DRUxMVUxBUl9VTktOT1dOIjtjYXNlIDg6cmV0dXJuIkNPTk5fRElTQ08iO2Nhc2UgOTpyZXR1cm4iQ09OTl9DRUxMVUxBUl81RyI7Y2FzZSAxMDpyZXR1cm4iQ09OTl9XSUZJX01FVEVSRUQiO2Nhc2UgMTE6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfU0EiO2Nhc2UgMTI6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfTlNBIjtjYXNlIDMwOnJldHVybiJDT05OX1dJUkVEIjtjYXNlIDMxOnJldHVybiJDT05OX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIkNPTk5fREVGQVVMVCJ9fTsKZy5jcj1mdW5jdGlvbihuLFcpe3ZhciBEPVYzKG4ucHJvdmlkZXIpO09iamVjdC5hc3NpZ24oRCx7c3RhdGU6bi5YfSk7Vz1uZXcgZ29oKG4ucHJvdmlkZXIudmlkZW9EYXRhLG4ucHJvdmlkZXIuQixXLEQpO1cuTj1uLnByb3ZpZGVyLkwub3QoKTtEPW4ucHJvdmlkZXIudmlkZW9EYXRhLmNsaWVudFBsYXliYWNrTm9uY2U7Vy5OPW4ucHJvdmlkZXIuTC5vaChEKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFcuZSQ9bi5wcm92aWRlci5MLmdldER1cmF0aW9uKEQpKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5OJiYoRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKFcuTikpJiYoVy5ZPUQtVy5OKTtEPW4ucHJvdmlkZXIuTC5TVygpO1cuTis9RDtXLlkhPW51bGwmJihXLlktPUQpO1cud2E9Zy5SayhuLnByb3ZpZGVyKTtXLnNlZ21lbnRzPVtNbShuLnByb3ZpZGVyKV07cmV0dXJuIFd9OwpYSVo9ZnVuY3Rpb24obil7dmFyIFc9bi5wcm92aWRlci52aWRlb0RhdGEubFEsRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5IWSxiPVsxMCtXLDEwLDEwLDQwK0QtVyw0MF0sdj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nLGs9dj8udmlkZW9zdGF0c1NjaGVkdWxlZEZsdXNoV2FsbHRpbWVTZWNvbmRzO3Y9dj8udmlkZW9zdGF0c0RlZmF1bHRGbHVzaEludGVydmFsU2Vjb25kcztpZighKGsmJmsubGVuZ3RoPjAmJnYpKXJldHVybiBiO1c9W2tbMF0rVywuLi5rLnNsaWNlKDEpLm1hcCgoaCx4KT0+aC1rW3hdKSwKditELVcsdl07cmV0dXJuIFcuc29tZShoPT5oPDApPyhnLmNfKG4ubG9nZ2VyLDM0NzExMTg1NSxgTmVnIHZzcyBzY2hlZHVsZWQgcGluZ3MgJHtrfSAke3Z9YCksYik6V307CmF1PWZ1bmN0aW9uKG4sVz1OYU4pe3ZhciBEPWcuUmsobi5wcm92aWRlcik7Vz1pc05hTihXKT9EOlc7Vz1NYXRoLmNlaWwoVyk7dmFyIGI9bi5lJFtuLnR3XTtuLnR3KzE8bi5lJC5sZW5ndGgmJm4udHcrKzt2YXIgdj1XK2I7bi5ZPWcubiQoKCk9PntpZighbi5xTigpKXtuLlk9TmFOO3ZhciBrPW4uUyQoKSxoPXE5MShuLGspO2guTz12O3ZhciB4PW4ubnU+MUUzOyEoay5sZW5ndGg+MSkmJmtbMF0uaXNFbXB0eSgpfHx4fHwoaC5LPWF1KG4sdikpO2lmKG4uY0ope2s9a1trLmxlbmd0aC0xXTtpZih4PW4uVEMpe3g9azt2YXIgTD1uLlRDO3g9eC5zdGFydFRpbWU9PT1MLnN0YXJ0VGltZSYmeC5lbmRUaW1lPT09TC5lbmRUaW1lfXh8fG51KG4sW2tdKX1oLnNlbmQoKTtuLm51Kyt9fSwodi1EKSoxRTMpOwpyZXR1cm4gbi5KPXZ9OwpXZD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuQjtnLkhFKG4ucHJvdmlkZXIuQixuLnByb3ZpZGVyLnZpZGVvRGF0YS5WKCkpLnRoZW4oYj0+e3ZhciB2PW4ucHJvdmlkZXIuQi5wYWdlSWQsaz1uLnByb3ZpZGVyLkIuc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnByb3ZpZGVyLnZpZGVvRGF0YS52aXNpdG9yRGF0YTp2b2lkIDAsaD1uLnByb3ZpZGVyLkIuUygidnNzX3BpbmdzX3VzaW5nX25ldHdvcmtsZXNzIil8fG4ucHJvdmlkZXIuQi5TKCJrZXZsYXJfd29mZmxlIikseD1uLnByb3ZpZGVyLkIuUygiYWxsb3dfc2tpcF9uZXR3b3JrbGVzcyIpO2I9alIoVyxELHYsayxiKTtDRChXLGIse3Rva2VuOm4ucHJvdmlkZXIudmlkZW9EYXRhLmtXLHlvOm4ucHJvdmlkZXIudmlkZW9EYXRhLlF2LG1keEVudmlyb25tZW50Om4ucHJvdmlkZXIudmlkZW9EYXRhLm1keEVudmlyb25tZW50fSxELHZvaWQgMCxoJiYheCwhMSwhMCl9KX07CnE5MT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuY3Iobiwid2F0Y2h0aW1lIik7RDcobikmJihELmRlbGF5VGhyZXNob2xkTWV0PSEwLG4uRHQ9ITApO2lmKG4uaj4wKXtsZXQgYj1uLnByb3ZpZGVyLkwuU1coKTtmb3IobGV0IHYgb2YgVyl2LnN0YXJ0VGltZS09bi5qK2Isdi5lbmRUaW1lLT1uLmorYjtELk4tPW4uaitifWVsc2UgRC5OPW4uTi5KO0Quc2VnbWVudHM9VztyZXR1cm4gRH07Cm51PWZ1bmN0aW9uKG4sVyxEPSExKXtmb3IobGV0IFt4LExdb2YgVy5lbnRyaWVzKCkpe2xldCBlPXgsRz1MO3ZhciBiPW4sdj1WMyhiLnByb3ZpZGVyKTtPYmplY3QuYXNzaWduKHYse3N0YXRlOmIuWH0pO09iamVjdC5hc3NpZ24odix7c2VxdWVuY2VJZDpiLnNlcXVlbmNlSWR9KTtiLnByb3ZpZGVyLkIuUygid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIikmJk9iamVjdC5hc3NpZ24odix7c2VuZElzb2xhdGVkUGF5bG9hZDohMH0pO3ZhciBrPWIsaD1rLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nPy52c3MzQ29uZmlnPy52c3MzU2NoZWR1bGluZ0NvbmZpZztoJiYoaD1oLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3MmJihEYXRlLm5vdygpLWsuR0MpLzFFMzxoLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3M/aC5lYXJseVNlZ21lbnRNYXhpbXVtTGVuZ3RoU2VjczpoLmRlZmF1bHRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3MsCkcuc2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWsuVEM/Lm5leHRTY2hlZHVsZWRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3M/P2gsRy5uZXh0U2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWgpO2s9bmV3IEdwYihHLGIucHJvdmlkZXIudmlkZW9EYXRhLHYpO2IuSEomJihrLmlzRG91YmxlTG9nZ2VkPSExKTt2PWs7Yi5wcm92aWRlci52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2t8fCh2Lm1lZGlhTGVuZ3RoU2VjPWIucHJvdmlkZXIuTC5nZXREdXJhdGlvbihiLnByb3ZpZGVyLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlKSk7aWYoYi5wcm92aWRlci52aWRlb0RhdGEuTil7aD1iLnByb3ZpZGVyLkwub3QoKTtsZXQgcj1iLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKGgpO3ImJih2LmxpdmVJbmdlc3Rpb25PZmZzZXRVc2VjPShyLWgpKjFFNil9RDcoYikmJih2LmRlbGF5VGhyZXNob2xkTWV0PSEwLGIuRHQ9ITApO0QmJmU9PT1XLmxlbmd0aC0xJiYoay5pc0ZpbmFsPQohMCxuLkZGPSEwKTtrLnNlbmQoKTtuLnNlcXVlbmNlSWQrKztuLlRDPUd9fTsKRDc9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz1uLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xvYWRlZCgpJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5vRCYmbi5XJiYhbi5EdClXPW4uTixXPVcuVitXLm90KCktVy5XPj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5vRDtyZXR1cm4hIVd9OwpiVj1mdW5jdGlvbihuLFcsRD0hMSl7RD1uLksoIWlzTmFOKG4uSiksITEsRCk7VyYmKG4uSj1OYU4pO3JldHVybiBEfTsKdFpNPWZ1bmN0aW9uKG4pe24ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCYmIW4uQ3UmJihXZChuLG4ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCksbi5DdT0hMCl9Owokalo9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuZ29vZ2xlUmVtYXJrZXRpbmdVcmwmJiFuLlBYJiYoV2QobixuLnByb3ZpZGVyLnZpZGVvRGF0YS5nb29nbGVSZW1hcmtldGluZ1VybCksbi5QWD0hMCl9Owp2ZD1mdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlcpe24uWD0icGF1c2VkIjt2YXIgVz1iVihuLCExLCEwKTtXLmlzRmluYWw9ITA7Vy5zZW5kKCk7bi5kaXNwb3NlKCl9fTsKcnB0PWZ1bmN0aW9uKG4sVyxEKXtpZighbi52Sil7RHx8KEQ9Zy5jcihuLCJhdHIiKSk7RC5hdHRlc3RhdGlvblJlc3BvbnNlPVc7dHJ5e0Quc2VuZCgpfWNhdGNoKGIpe2lmKGIubWVzc2FnZSE9PSJVbmtub3duIEVycm9yIil0aHJvdyBiO31uLnZKPSEwfX07CmcuUms9ZnVuY3Rpb24obil7cmV0dXJuIGcuc2JyKG4pKCl9OwpjY1o9ZnVuY3Rpb24obil7dmFyIFc9bmF2aWdhdG9yLmNvbm5lY3Rpb24/LnR5cGV8fCIiO2lmKFcpcmV0dXJuIE5FcltXXXx8TkVyLm90aGVyO2lmKGcuazYobi5CKSl7bj1uYXZpZ2F0b3IudXNlckFnZW50O2lmKC9bV3ddaXJlbGVzc1spXS8udGVzdChuKSlyZXR1cm4gMztpZigvW1d3XWlyZWRbKV0vLnRlc3QobikpcmV0dXJuIDMwfXJldHVybiAwfTsKTW09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHBJMjtXLko9VjMobikuY2M/LnRvU3RyaW5nKCl8fCItIjtXLnBsYXliYWNrUmF0ZT1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7dmFyIEQ9bi5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO0QhPT0wJiYoVy52aXNpYmlsaXR5U3RhdGU9RCk7bi5CLkR0JiYoVy5XPTEpO1cuaj1uLnZpZGVvRGF0YS5wUjtXLmNvbXBvc2l0ZUxpdmVTdGF0dXNUb2tlbj1uLnZpZGVvRGF0YS5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW47Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW49bi52aWRlb0RhdGEuaGVhcnRiZWF0TG9nZ2luZ1Rva2VuO0Q9bi5MLmdldEF1ZGlvVHJhY2soKTtELmtaJiZELmtaLmlkJiZELmtaLmlkIT09InVuZCImJihXLmF1ZGlvSWQ9RC5rWi5pZCk7Vy5jb25uZWN0aW9uVHlwZT1jY1oobik7Vy52b2x1bWU9bi5MLmdldFZvbHVtZSgpO1cubXV0ZWQ9bi5MLmlzTXV0ZWQoKTtXLmNsaXBJZD1uLkwuRm4oKXx8Ii0iO1cuTj1uLnZpZGVvRGF0YS5WZnx8CiItIjtyZXR1cm4gV307ClYzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTC5oaCgpfHx7fTtXLmZzPW4uTC52MygpO1cudm9sdW1lPW4uTC5nZXRWb2x1bWUoKTtXLm11dGVkPW4uTC5pc011dGVkKCk/MTowO1cubW9zPVcubXV0ZWQ7Vy5jbGlwaWQ9bi5MLkZuKCk7Vy5wbGF5ZXJoZWlnaHQ9bi5MLmdldFBsYXllclNpemUoKT8uaGVpZ2h0fHwwO1cucGxheWVyd2lkdGg9bi5MLmdldFBsYXllclNpemUoKT8ud2lkdGh8fDA7bj1uLnZpZGVvRGF0YTt2YXIgRD17fTtuLkomJihELmZtdD1uLkouaXRhZyxuLlgmJihuLlZRP24uWC5pdGFnIT09bi5KLml0YWc6bi5YLml0YWchPW4uSi5pdGFnKSYmKEQuYWZtdD1uLlguaXRhZykpO0QuZWk9bi5ldmVudElkO0QubGlzdD1uLnBsYXlsaXN0SWQ7RC5jcG49bi5jbGllbnRQbGF5YmFja05vbmNlO24udmlkZW9JZCYmKEQudj1uLnZpZGVvSWQpO24ueWwmJihELmluZnJpbmdlPTEpOyhuLmZCPzA6bi5QWCkmJihELnNwbGF5PTEpO3ZhciBiPXJsKG4pO2ImJihELmxpdmU9Yik7bi5WVCYmCihELnNhdXRvcGxheT0xKTtuLkd1JiYoRC5hdXRvcGxheT0xKTtuLnd1JiYoRC5zZGV0YWlsPW4ud3UpO24ucGFydG5lcklkJiYoRC5wYXJ0bmVyaWQ9bi5wYXJ0bmVySWQpO24ub3NpZCYmKEQub3NpZD1uLm9zaWQpO24uWm0mJihELmNjPWcubmcobi5abSkpO3JldHVybiBPYmplY3QuYXNzaWduKFcsRCl9OwpnLnNicj1mdW5jdGlvbihuKXtpZighbi5OKXtsZXQgVz0oMCxnLlIpKCk7bi5OPSgpPT5NYXRoLnJvdW5kKCgwLGcuUikoKS1XKS8xRTM7Cm4uTC5RYigpfXJldHVybiBuLk59OwpnLmswPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uc3RhdGUuTihXKSYmIW4ub2xkU3RhdGUuTihXKT8xOiFuLnN0YXRlLk4oVykmJm4ub2xkU3RhdGUuTihXKT8tMTowfTsKaEM9ZnVuY3Rpb24obil7bi5KJiZjSWoobi5KKTtuLnFvZSYmeEJoKG4ucW9lKX07CkhYMj1mdW5jdGlvbihuLFcsRCxiKXtELmFkRm9ybWF0PUQuRkY7dmFyIHY9Vy5MO1c9bmV3IGcueDAobmV3IFk5UyhELFcuQix7Z2V0RHVyYXRpb246KCk9PkQubGVuZ3RoU2Vjb25kcywKZ2V0Q3VycmVudFRpbWU6KCk9PnYuZ2V0Q3VycmVudFRpbWUoKSwKb3Q6KCk9PnYub3QoKSwKb2g6KCk9PnYub2goKSwKSEs6KCk9PnYuSEsoKSwKZ2V0UGxheWVyU2l6ZTooKT0+di5nZXRQbGF5ZXJTaXplKCksCmdldEF1ZGlvVHJhY2s6KCk9PkQuZ2V0QXVkaW9UcmFjaygpLApnZXRQbGF5YmFja1JhdGU6KCk9PnYuZ2V0UGxheWJhY2tSYXRlKCksCkVjOigpPT52LkVjKCksCmdldFZpc2liaWxpdHlTdGF0ZTooKT0+di5nZXRWaXNpYmlsaXR5U3RhdGUoKSwKZUc6KCk9PnYuZUcoKSwKaGg6KCk9PnYuaGgoKSwKZ2V0Vm9sdW1lOigpPT52LmdldFZvbHVtZSgpLAppc011dGVkOigpPT52LmlzTXV0ZWQoKSwKdjM6KCk9PnYudjMoKSwKRm46KCk9PnYuRm4oKSwKZ2V0UHJveGltYUxhdGVuY3lQcmVmZXJlbmNlOigpPT52LmdldFByb3hpbWFMYXRlbmN5UHJlZmVyZW5jZSgpLApRYigpe3YuUWIoKX0sVShrLGgpe3YuVShrLGgpfSxPMDooKT0+di5PMCgpLApTVzooKT0+di5TVygpLAp6czprPT52LnpzKGspfSkpOwpXLmo9YjtnLnUobixXKTtyZXR1cm4gV307CmZBdD1mdW5jdGlvbihuKXtuLkomJm4uSi5zZW5kKCk7aWYobi5xb2Upe3ZhciBXPW4ucW9lO2lmKFcuVil7Vy5OPT09IlBMIiYmKFcuTj0iTiIpO3ZhciBEPWcuUmsoVy5wcm92aWRlcik7Zy53aihXLEQsInZwcyIsW1cuTl0pO1cuRHx8KFcuWD49MCYmVy5KLnNldCgidXNlcl9pbnRlbnQiLFtXLlgudG9TdHJpbmcoKV0pLFcuRD0hMCk7Vy5wcm92aWRlci5CLldYKCkmJlcuVSgiZmluYWxpemVkIix7fSk7Vy5TJD0hMDtXLnJlcG9ydFN0YXRzKEQpfX1pZihuLnByb3ZpZGVyLnZpZGVvRGF0YS5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaSlmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKXZkKGIpO2Vsc2Ugbi5OJiZ2ZChuLk4pO24uZGlzcG9zZSgpfTsKSnBVPWZ1bmN0aW9uKG4pe2lmKCFuLk4pcmV0dXJuIG51bGw7dmFyIFc9Zy5jcihuLk4sImF0ciIpO3JldHVybiBEPT57bi5OJiZycHQobi5OLEQsVyl9fTsKSUFoPWZ1bmN0aW9uKG4sVyl7bj1EZShuLmFycmF5LEQ9PlctRC5zdGFydHx8MSk7CnJldHVybiBuPDA/LShuKzEpOm59OwpTOWI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO2ZvcihXPUlBaChuLFcpO1c8bi5hcnJheS5sZW5ndGg7KytXKXtsZXQgdj1uLmFycmF5W1ddOyh2LmVuZDw9RHx8di5jb250YWlucyhEKSkmJmIucHVzaCh2KTtpZih2LnN0YXJ0PkQpYnJlYWt9cmV0dXJuIGJ9OwpnLkx1PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIG4uYXJyYXkpaWYoYi5jb250YWlucyhXKSYmRC5wdXNoKGIpLGIuc3RhcnQ+VylicmVhaztyZXR1cm4gRH07CkFwaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5hcnJheS5zbGljZShJQWgobiwweDdmZmZmZmZmZmZmZmYpLG4uYXJyYXkubGVuZ3RoKX07Cm1qdD1mdW5jdGlvbihuLFcpe3ZhciBEPU5hTjtmb3IobGV0IGIgb2Ygbi5hcnJheSlpZihiLmNvbnRhaW5zKFcpJiYoaXNOYU4oRCl8fGIuZW5kPEQpJiYoRD1iLmVuZCksYi5zdGFydD5XJiYoaXNOYU4oRCl8fGIuc3RhcnQ8RCkpe0Q9Yi5zdGFydDticmVha31yZXR1cm4gRH07CkszVT1mdW5jdGlvbihuLFcpe24uYXJyYXk9bi5hcnJheS5maWx0ZXIoRD0+IVcuaGFzKEQpKX07Ck9YMj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFBsYXllclN0YXRlKCkuTigyKT8weDgwMDAwMDAwMDAwMDA6bi5MLmdldEN1cnJlbnRUaW1lKCkqMUUzfTsKZWg9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVy5sZW5ndGgpcmV0dXJuIEQ7Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07di5hY3RpdmUmJm4uVy5pbmRleE9mKHYpPT09LTEmJihuLlcucHVzaCh2KSxELnB1c2goWzEsdl0pKX1yZXR1cm4gRH07CmdzPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpVz1EWzFdLERbMF09PT0xP24uTC5DSihnLm95KFcubmFtZXNwYWNlKSxXKTpuLkwuQ0ooZy5kdihXLm5hbWVzcGFjZSksVyl9OwpYSj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdO2lmKCFXLmxlbmd0aClyZXR1cm4gRDtXLnNvcnQoZy51NSk7Zm9yKGxldCBiIG9mIFcpbi5XLnNwbGljZShuLlcuaW5kZXhPZihiKSwxKSxELnB1c2goWzIsYl0pO3JldHVybiBEfTsKUHlDPWZ1bmN0aW9uKG4pe2lmKG4uc3RhcnRlZCYmIW4ucU4oKSl7bi5qLnN0b3AoKTt2YXIgVz1uLkwuZ2V0UGxheWVyU3RhdGUoKTtXLk4oMzIpJiZuLlkuc3RhcnQoKTt2YXIgRD1PWDIobiksYj1uLmlzRW5kZWQoVyxEKSx2PVtdLGs9W107Zm9yKHZhciBoIG9mIG4uVyloLmFjdGl2ZSYmKGI/aC5lbmQ8MHg4MDAwMDAwMDAwMDAwOiFoLmNvbnRhaW5zKEQpKSYmay5wdXNoKGgpO3Y9di5jb25jYXQoWEoobixrKSk7aD1rPW51bGw7Yj8oVz1nLkx1KG4uTiwweDdmZmZmZmZmZmZmZmYpLGs9Vy5maWx0ZXIoeD0+eC5lbmQ8MHg4MDAwMDAwMDAwMDAwKSxoPUFwaihuLk4pKTpXPW4uWDw9RCYmbDEoVyk/UzliKG4uTixuLlgsRCk6Zy5MdShuLk4sRCk7CnY9di5jb25jYXQoZWgobixXKSk7ayYmKHY9di5jb25jYXQoWEoobixrKSkpO2gmJih2PXYuY29uY2F0KGVoKG4saCkpKTtuLlg9RDtncyhuLHYpfX07CnE5PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+bi5tZWRpYVRpbWUrbi5YJiZXPG4ubWVkaWFUaW1lKzV9OwpSOEM9ZnVuY3Rpb24obixXLEQsYix2PSExKXtpZihuLmxuJiYhaXNGaW5pdGUoVykpcmV0dXJuITE7aWYoYj1iPjEpbi5XPSEwO2lmKHZ8fGlzTmFOKG4uTikpbi5OPVc7aWYobi5zZWVraW5nKVchPT1uLm1lZGlhVGltZSYmKG4uc2Vla2luZz0hMSk7ZWxzZSBpZihXPjAmJm4ubWVkaWFUaW1lPT09Vyl7dj0xNTAwO2lmKG4uQi5TKCJodG1sNV9idWZmZXJfdW5kZXJydW5fdHJhbnNpdGlvbl9maXgiKSl7dj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWluX3BsYXliYWNrX2FkdmFuY2VfZm9yX3N0ZWFkeV9zdGF0ZV9zZWNzIik7bGV0IGs9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X21pbl91bmRlcnJ1bl9idWZmZXJlZF9wcmVfc3RlYWR5X3N0YXRlX21zIik7dj12PjAmJms+MCYmTWF0aC5hYnMoVy1uLk4pPHY/azoxNTAwfXJldHVybiBELW4uSj4oYnx8IW4uVz92OjQwMCl9bi5tZWRpYVRpbWU9VztuLko9RDtyZXR1cm4hMX07ClVqdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcudEEoRCkudGhlbigoKT0+Zy5IMChuZXcgWlhoKFcsVy5XKSksYj0+e2IgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShiKTsKdmFyIHY9dTgoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSwgbXA0YS40MC4yIicpLGs9ZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyksaD12fHxrLHg9Vy5pc0xpdmVQbGF5YmFjayYmIWcuSW4obi5XLCEwKTtiPSJmbXQubm9uZWF2YWlsYWJsZSI7eD9iPSJodG1sNS51bnN1cHBvcnRlZGxpdmUiOmh8fChiPSJodG1sNS5taXNzaW5nYXBpIik7aD14fHwhaD8yOjE7dj17YnVpbGRSZWo6IjEiLGE6Vy5JcCgpLGQ6ISFXLlRmLGRybTpXLk1pKCksZjE4OlcuY2YuaW5kZXhPZigiaXRhZz0xOCIpPj0wLGMxODp2fTtXLk4mJihXLk1pKCk/KHYuZjE0Mj0hIVcuTi5OWyIxNDIiXSx2LmYxNDk9ISFXLk4uTlsiMTQ5Il0sdi5mMjc5PSEhVy5OLk5bIjI3OSJdKToodi5mMTMzPSEhVy5OLk5bIjEzMyJdLHYuZjE0MD0hIVcuTi5OWyIxNDAiXSx2LmYyNDI9ISFXLk4uTlsiMjQyIl0pLHYuY0FBQz1rLHYuY0FWQz1keSgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFIicpLAp2LmNWUDk9ZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicpKTtXLmomJih2LmRybXN5cz1XLmoua2V5U3lzdGVtLGs9MCxXLmouSiYmKGs9T2JqZWN0LmtleXMoVy5qLkopLmxlbmd0aCksdi5kcm1zdD1rKTtyZXR1cm4gbmV3IGcuQ2koYix2LGgpfSl9Owp0Qz1mdW5jdGlvbihuLFcpe1c9TWF0aC5tYXgoTWF0aC5tYXgoMSxNYXRoLmNlaWwobi5wb2xpY3kuWC9HWShuKSkpLFcpO3JldHVybiBNYXRoLm1pbihNYXRoLm1pbig4LE1hdGguZmxvb3Iobi5wb2xpY3kuRC9HWShuKSkpLFcpfTsKR1k9ZnVuY3Rpb24obil7cmV0dXJuIG4udmlkZW9EYXRhLk4/b28obi52aWRlb0RhdGEuTil8fDU6NX07CiQwPWZ1bmN0aW9uKG4pe3JldHVybiBHWShuKSpuLk59OwpFb2k9ZnVuY3Rpb24obixXKXtpZihXKXJldHVybiBXPW4udmlkZW9EYXRhLFc9eXBiKG4saXNOYU4oVy5saXZlQ2h1bmtSZWFkYWhlYWQpPzM6Vy5saXZlQ2h1bmtSZWFkYWhlYWQsVyksdEMobixXKTtpZihuLkoubGVuZ3RoKXtpZihNYXRoLm1pbi5hcHBseShudWxsLG4uSik+MSlyZXR1cm4gdEMobixuLk4tMSk7aWYobi5wb2xpY3kuWSlyZXR1cm4gdEMobixuLk4rMSl9cmV0dXJuIG4uTn07CmlYUz1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLkoubGVuZ3RoKXJldHVybiExO3ZhciBEPW4uTjtuLk49RW9pKG4sVyk7aWYoVz1EIT09bi5OKW4uSj1bXSxuLmp4PTA7cmV0dXJuIFd9Owpycz1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5OO24uWHx8KFc9TWF0aC5tYXgoVy0xLDApKTtyZXR1cm4gVypHWShuKX07CnNCPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+PW4uTlcoKS1ycyhuKX07CnlwYj1mdW5jdGlvbihuLFcsRCl7RC5JUiYmVy0tO2hEKEQpJiYoVz0xKTt4cChEKSE9PTAmJihuPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfbGl2ZV9jaHVua19yZWFkYWhlYWRfcHJveGltYV9vdmVycmlkZSIpKSYmKFc9bixELk4/Lm51KCkmJlcrKyk7cmV0dXJuIFd9OwpwdT1mdW5jdGlvbihuLFcsRD1udWxsKXtyZXR1cm4gbmV3IE45KGcuZE0obi5CLmV4cGVyaW1lbnRzLFcpfHwwLEQ/bi5CLlMoRCk6ITEpfTsKdTRiPWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpZMD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe1c/Vy50ZXN0KEQpPyhuLkdzKHYsVyxoKSxXLlZ8fGsoKSk6KCFXLkp8fFcuWD9EPSExOihEPSgwLGcuUikoKSxiP1cuTnx8KFcuTj1EKTpXLk49MCxrPSFiJiZELVcuSj4zRTQsRD1XLk4mJkQtVy5OPjFFM3x8az9XLlg9ITA6ITEpLEQmJih4PXsuLi5uLnlyKFcpLC4uLnh9LHgud249aCx4LndlPXYseC53c3VjPWIsbi5MLlUoIndvcmthcm91bmRSZXBvcnQiLHgpLGImJihXLnJlc2V0KCksbi5YW3ZdPSExKSkpOm4uTC5QVigiYXV0aCIsMiwiQlJPV1NFUl9PUl9FWFRFTlNJT05fRVJST1IiLGcuVEMoe3NvdXJjZToid2F0Y2hkb2ciLG5hbWU6aH0pKX07Cm9veD1mdW5jdGlvbihuLFcpe2lmKG4uTil7dmFyIEQ9bi5OO3ZhciBiPW4uZ2V0Q3VycmVudFRpbWUoKSx2PUQuTlcoKTt2YXIgaz1ELnBvbGljeS5KO0QuWHx8KGs9TWF0aC5tYXgoay0xLDApKTtrKj1HWShEKTtiPj12LWt8fCFELmpYKCk/RD1iPEQudmlkZW9EYXRhLkxmKCk/TWF0aC5taW4oRC52aWRlb0RhdGEuTGYoKSsxMCxELk5XKCkpOk5hTjooRC5wb2xpY3kuaiYmKEQucG9saWN5Lk8/KEQucG9saWN5Lko9TWF0aC5taW4oRC5wb2xpY3kuSitELnBvbGljeS5LLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5taW4oRC5wb2xpY3kuTisxLDEwKSk6KEQucG9saWN5Lko9TWF0aC5tYXgoRC5wb2xpY3kuSisxLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5tYXgoRC5wb2xpY3kuTisxLDEwKSkpLEQ9SW5maW5pdHkpO2lmKCFpc05hTihEKSl7aWYobi5sb2FkZXImJlcmJihXPW4uUyQuaXNBY3RpdmUoKSxiPW4uTi5OVygpLChiPWlQUyhuLmxvYWRlcixiLW4uU1coKSkpJiYKIVcpKXtuLlMkLnN0YXJ0KCk7bi5MLlUoImluQnVmZmVyUHRsIix7Y210Om4uZ2V0Q3VycmVudFRpbWUoKSxzZWVrVG86YituLlNXKCl9KTtuLnNlZWtUbyhiK24uU1coKSx7cWQ6InNlZWt0aW1lbGluZV9pbkJ1ZmZlclNlZWsiLHNlZWtTb3VyY2U6MzR9KTtyZXR1cm59bi5zZWVrVG8oRCx7cWQ6InNlZWt0aW1lbGluZV9wZWdUb0xpdmUiLHNlZWtTb3VyY2U6MzR9KX19fTsKZnU9ZnVuY3Rpb24obixXKXtpZihuLlgpe24udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuLnZpZGVvRGF0YS5XJiYhbi52aWRlb0RhdGEuVy5OKCkmJm4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5YKCk+MCYmb3Uobi5tZWRpYUVsZW1lbnQpPjAmJihuLko9SGQobixuLkosITEpKTt2YXIgRD1uLlMoImh0bWw1X3BzZXVkb2dhcGxlc3Nfc2hvcnRzX3NlZWtfdG9fbmV4dF9zdGFydCIpJiZXPy5zZWVrU291cmNlPT09NjA7aWYoIW4ubWVkaWFFbGVtZW50fHwhZGpyKG4sRCkpbi5SYS5zdGFydCg3NTApO2Vsc2UgaWYoIWlzTmFOKG4uSikmJmlzRmluaXRlKG4uSikmJihEPW4uSEotKG4uSi1uLnRpbWVzdGFtcE9mZnNldCksIShEPT09MHx8TWF0aC5hYnMoRCk8LjAwNSkpKWlmKEQ9bi5tZWRpYUVsZW1lbnQuZ2V0Q3VycmVudFRpbWUoKS1uLkosTWF0aC5hYnMoRCk8PW4uRHR8fE1hdGguYWJzKEQpPC4wMDUpenkxKG4pO2Vsc2V7aWYobi52aWRlb0RhdGEuTWwpbi52aWRlb0RhdGEuTWw9CiExO2Vsc2UgaWYoIWcuRFAobi52aWRlb0RhdGEpJiZuLko+PW4uckkoKS0uMSYmKG4uckkoKSE9PTB8fFc/LnFkIT09InNlZWt0aW1lbGluZV9zZXR1cE1lZGlhRWxlbWVudCIpKXtuLko9bi5ySSgpO24uWC5yZXNvbHZlKG4uckkoKSk7bi5CLldYKCkmJm4uTC5VKCJzZXRFbmRlZEluU2VlayIse3RndDpgJHtuLkp9YCxtYXhzdDpgJHtuLnJJKCl9YH0pO24uTC5rTigpO3JldHVybn10cnl7bGV0IGI9bi5KLW4udGltZXN0YW1wT2Zmc2V0O24ubWVkaWFFbGVtZW50LnNlZWtUbyhiKTtuLk8uTj1iO24uSEo9YjtuLlc9bi5KO24uY0o9ITF9Y2F0Y2goYil7fX19fTsKVEUyPWZ1bmN0aW9uKG4sVyl7bi5UQz0hMDtuLmxuKCkmJihuLko9bi5WLG4uVz1uLkosbi5WPU5hTik7bEF0KG4sVyl9OwpqYjI9ZnVuY3Rpb24obil7dmFyIFc9MCxEPU5hTixiPSIiO2lmKCFuLkQpcmV0dXJue3N0YXJ0U2Vjb25kczpXLE12OkQsc291cmNlOmJ9O24udmlkZW9EYXRhLlJJP1c9bi52aWRlb0RhdGEuSlU6Zy5EUChuLnZpZGVvRGF0YSkmJihXPUluZmluaXR5KTtpZihnLnBBKG4udmlkZW9EYXRhKSlyZXR1cm57c3RhcnRTZWNvbmRzOlcsTXY6RCxzb3VyY2U6Yn07bi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzPyhiPSJzcyIsVz1uLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpOm4udmlkZW9EYXRhLlVyJiYoYj0ic3RzcyIsVz1uLnZpZGVvRGF0YS5Vcik7bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyYmKEQ9bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyk7aWYoaXNGaW5pdGUoVykmJihXPm4uckkoKXx8VzxuLkxmKCkpKXtsZXQgdj17fTt2Lm1pblNlZWthYmxlVGltZT1uLkxmKCk7di5tYXhTZWVrYWJsZVRpbWU9bi5ySSgpO3YuY210PW4uZ2V0Q3VycmVudFRpbWUoKTt2LnNzPQpXO3YudXRjPUQ7di5zcmM9YjtuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLHYpO24udmlkZW9EYXRhLnpXKCkmJihXPUhkKG4sVywhMSkpfXJldHVybntzdGFydFNlY29uZHM6VyxNdjpELHNvdXJjZTpifX07CkpDPWZ1bmN0aW9uKG4pe3JldHVybiEhbi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzJiZpc0Zpbml0ZShuLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpJiZuLnZpZGVvRGF0YS5zdGFydFNlY29uZHM+MUU5fTsKRjNiPWZ1bmN0aW9uKG4sVyl7bi5wbGF5YmFja0RhdGE9VztuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKG4uWT1uZXcgQ3laKCgpPT57YTp7aWYobi5wbGF5YmFja0RhdGEmJm4ucGxheWJhY2tEYXRhLk4uTigpKXtpZihJNChuLnZpZGVvRGF0YSkmJm4ubG9hZGVyKXt2YXIgRD1uLmxvYWRlci5xaCgpO2JyZWFrIGF9aWYobi52aWRlb0RhdGEuTil7RD1uLnZpZGVvRGF0YS5OLnFoKCk7YnJlYWsgYX19RD0wfXJldHVybiBEfSksbi5OPW5ldyBCRWIobi52aWRlb0RhdGEsbi5CLmV4cGVyaW1lbnRzLCgpPT5uLnJJKCEwKSkpOwpJYyhuLkwpPyhuLnZpZGVvRGF0YS5nVD8uQWp8fChXPWpiMihuKSxXLk12PyhnLllOKG4udmlkZW9EYXRhKSYmbi5odShXLk12LFcuc3RhcnRTZWNvbmRzKSxuLlc9Vy5zdGFydFNlY29uZHMpOlcuc3RhcnRTZWNvbmRzPjAmJm4uc2Vla1RvKFcuc3RhcnRTZWNvbmRzLHtxZDoic2Vla3RpbWVsaW5lX3N0YXJ0UGxheWJhY2siLHNlZWtTb3VyY2U6MTUsQU06ITB9KSksbi5EPSExKTpKQyhuKXx8KG4uVz1uLld8fG4udmlkZW9EYXRhLnN0YXJ0U2Vjb25kc3x8MCxuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFc9bi5MLnZpZGVvRGF0YS5ySSgpLG4uVz5XJiYobi5TKCJodG1sNV9zYWJyX2xvZ19pbnZhbGlkX3NhYnJfY3VycmVudF90aW1lIikmJm4uTC5VKCJpbnZhbGlkU2FickNtdFN0YXJ0Iix7cnQ6bi5XLG1zdDpXfSksbi5TKCJodG1sNV9zYWJyX3ZvZF9pbnZhbGlkX3N0YXJ0X3RpbWVfZmFsbGJhY2siKSYmKG4uVz0wKSkpKX07ClNoPWZ1bmN0aW9uKG4sVyl7aWYobi5OJiZuLmxvYWRlcil7dmFyIEQ9ITE7Vz9EPSEwOlN4KG4udmlkZW9EYXRhKT9EPWlYUyhuLk4pOm4uQ3UmJihuLkN1PSExLEQ9aVhTKG4uTiwhMCkpO0QmJihEPW4uTC5CWCxXPSQwKG4uTiksRC5xb2UmJihEPUQucW9lLGcud2ooRCxnLlJrKEQucHJvdmlkZXIpLCJscmEiLFtXXSksRC5VKCJsaXZlLXJlYWRhaGVhZC1zZWNvbmRzIix7djpXfSkpKTtXPW4ubG9hZGVyO0Q9bi5OLk47bj1uLk47bj0obi5OLTErbi5wb2xpY3kuTikqR1kobik7dmFyIGI9TmFOO3ZhciB2PVcuVHI7dj09PTJ8fHY9PT0tMT8odj1ELGhEKFcuTC5nZXRWaWRlb0RhdGEoKSkmJihiPVcucG9saWN5LnpQKSk6dj1ELTE7dj1NYXRoLm1heCh2LDApO0Q9Vy5OeTtELlpBPXY7RC5YPWI7Vy5RdSYmKFcuUXUuTz1uKX19Owptbz1mdW5jdGlvbihuLFcpeyhuLmxvYWRlcj1XKT9TaChuLCEwKTpnLkFDKG4pfTsKZGpyPWZ1bmN0aW9uKG4sVz0hMSl7aWYoIW4ubWVkaWFFbGVtZW50fHxuLm1lZGlhRWxlbWVudC5YKCk9PT0wfHxuLm1lZGlhRWxlbWVudC5oYXNFcnJvcigpKXJldHVybiExO3ZhciBEPW4ubWVkaWFFbGVtZW50LmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCl8fG4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHwhbi52aWRlb0RhdGEuTWkoKT9uLko+PTAmJiFXJiYoVz1uLm1lZGlhRWxlbWVudC5PKCksVy5sZW5ndGh8fCFEKT9CUihXLG4uSi1uLnRpbWVzdGFtcE9mZnNldCk6RDpEfTsKTVoxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRDdXJyZW50VGltZSgpLGI9bi5pc0F0TGl2ZUhlYWQoRCk7aWYobi5ZJiZiKXt2YXIgdj1uLlk7aWYodi5OJiYhKEQ+PXYuSiYmRDx2LlgpKXt2YXIgaz12Lk4uUjMoRCk7ayE9PS0xJiYodi5KPXYuTi5nZXRTdGFydFRpbWUoayksdi5YPXYuSit2Lk4uZ2V0RHVyYXRpb24oayksaz0oMCxnLlIpKCkvMUUzLXYuTi5oQyhrKSxrLT12LmooKSx2LlcuYWRkKGspKX19bi5OJiYoYiYmKHY9bi5OLGs9bi56cygpLHYuangrKyx2Lmp4PDN8fERhdGUubm93KCktdi5WPDNFM3x8KHYuVj1EYXRlLm5vdygpLHYuSi5wdXNoKGspLHYuSi5sZW5ndGg+NTAmJnYuSi5zaGlmdCgpKSksbi5OLlUzKEQsVyksVyYmb294KG4sITApKTtiIT09bi5QWCYmKG4uQi5adCgpLk4uUVEod0kxKSYmbi52aWRlb0RhdGEuUkk/bi5QWD1iOihXPShuLkIuWnQoKS5OLlFRKHdJMSk/KG4uZ2V0Q3VycmVudFRpbWUoKS1uLkdDKSoxRTM6bi5nZXRDdXJyZW50VGltZSgpLQpuLkdDKTw9NTAwLEQ9bi5ZWj49MUUzLFd8fER8fChXPW4uTC5CWCxXLnFvZSYmKFc9Vy5xb2UsRD1nLlJrKFcucHJvdmlkZXIpLGcud2ooVyxELCJsaCIsW2I/IjEiOiIwIl0pKSxuLlBYPWIsbi5ZWisrLG4uR0M9bi5nZXRDdXJyZW50VGltZSgpKSkpfTsKZy5LdT1mdW5jdGlvbihuLFcpe3ZhciBEPW4uWDtEfHwobi5YPW5ldyBZNixEPW4uWCxmdShuLFcpKTtyZXR1cm4gRH07CkhkPWZ1bmN0aW9uKG4sVyxEKXtpZihpc05hTihXKSlyZXR1cm4gTmFOO3ZhciBiPW4uTGYoKTtEPW4uckkoRCk7cmV0dXJuIG4uUygiaHRtbDVfY2xhbXBfaW52YWxpZF9zZWVrX3RvX21pbl9zZWVrYWJsZV90aW1lIikmJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmVz5EKzEmJlc8SW5maW5pdHk/KG4uQi5XWCgpJiZuLkwuVSgiY2xhbXBJbnZhbGlkU2VlayIse3RndDpgJHtXfWAsbWF4c3Q6YCR7RH1gfSksYik6Zy5GZihXLGIsRCl9OwpSeWk9ZnVuY3Rpb24obixXKXtuLlc9V307ClFidz1mdW5jdGlvbihuLFc9ITEpe24uanx8IShuLlc+MCl8fG4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpPjB8fChXPXtxZDoic2Vla3RpbWVsaW5lX3Jlc3VtZVRpbWUiLEFNOld9LG4udmlkZW9EYXRhLll8fChXLnNlZWtTb3VyY2U9MTUpLG4uc2Vla1RvKG4uVyxXKSl9OwpsQXQ9ZnVuY3Rpb24obixXKXtWWmkobixXKS50aGVuKHZvaWQgMCwoKT0+e2cuQUMobil9KTsKZy5LdShuLFcpLnRoZW4oRD0+e2cuT0IobixEKX0sKCk9PntnLkFDKG4pfSk7Cm4uTC53WShXKTtuLkIuV1goKSYmKFc9bi55cigpLFdbIm5hdGl2ZSJdPWAkeytuLmNKfWAsVy50Z3Q9YCR7bi5KfWAsVy5vdGd0PWAke24uSituLnRpbWVzdGFtcE9mZnNldH1gLFcubWF4c3Q9YCR7bi5ySSgpfWAsbi5OJiZuLlMoImh0bWw1X2hpZ2hfcmVzX3NlZWtfbG9nZ2luZyIpJiYoVy50aHQ9YCR7bi5OLmooKX1gLFcuaHQ9YCR7bi5OLk5XKCl9YCxXLmFkZnQ9YCR7cnMobi5OKX1gKSxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJm4udmlkZW9EYXRhLk4mJmcuWU4obi52aWRlb0RhdGEpJiYoVy5taW5zdD1gJHtuLnZpZGVvRGF0YS5OLkgyfWAsVy5jbWluc3Q9YCR7bi52aWRlb0RhdGEuTi5MZigpK24udGltZXN0YW1wT2Zmc2V0fWAsVy5tYXhzdD1gJHtuLnZpZGVvRGF0YS5OLldNfWAsVy5odHM9YCR7bi52aWRlb0RhdGEuTi50d31gLFcuY21heHN0PWAke24udmlkZW9EYXRhLk4uckkoKStuLnRpbWVzdGFtcE9mZnNldH1gKSwKbi5MLlUoInN0YXJ0U2VlayIsVykpfTsKVlppPWZ1bmN0aW9uKG4sVyl7bi50d3x8KG4ubG9hZGVyP2lzRmluaXRlKG4uSik/bi50dz1uLmxvYWRlci5zZWVrKG4uSi1uLnRpbWVzdGFtcE9mZnNldCxXKTooZy5EUChuLnZpZGVvRGF0YSksbi5MLmhhPTAsbi50dz1SJChuLmxvYWRlcikscEwobi52aWRlb0RhdGEpfHwobi5KPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCkrbi50aW1lc3RhbXBPZmZzZXQpKTpuLnR3PSRHKG4uSi1uLnRpbWVzdGFtcE9mZnNldCkpO3JldHVybiBuLnR3fTsKZy5PQj1mdW5jdGlvbihuLFcpe24uaiYmKG4uai5yZXNvbHZlKFcpLG4uTC5LdCgpLG4uQi5XWCgpJiYoVz1uLnlyKCksV1sibmF0aXZlIl09YCR7K24uY0p9YCxXLm90Z3Q9YCR7bi5KK24udGltZXN0YW1wT2Zmc2V0fWAsbi5MLlUoInNlZWtFbmQiLFcpKSk7Zy5BQyhuKX07Cnp5MT1mdW5jdGlvbihuKXtuLlgmJihuLlgucmVzb2x2ZShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpKSxuLk8uSj1udWxsKX07CmcuQUM9ZnVuY3Rpb24obil7bi5KPU5hTjtuLlY9TmFOO24uSEo9TmFOO24uWD1udWxsO24udHc9bnVsbDtuLmo9bnVsbDtuLlRDPSExO24uY0o9ITE7bi5EdD0wO24uUyQuc3RvcCgpO24ubnUuc3RvcCgpfTsKYUF3PWZ1bmN0aW9uKG4pe2lmKG4uRClpZihuLnZpZGVvRGF0YS5nVD8uQWopbi5EPSExO2Vsc2UgaWYoZy5wQShuLnZpZGVvRGF0YSkpbi5EPSExO2Vsc2V7dmFyIFc9InNzIixEPTA7bi52aWRlb0RhdGEuTj8uaXNNYW5pZmVzdGxlc3MmJm4udmlkZW9EYXRhLlRDJiYhSkMobikmJihXPSJtc3MiLEQ9bi52aWRlb0RhdGEuVEMpOyhuLnZpZGVvRGF0YS5SST9uLlMoImh0bWw1X3ByaW9yaXRpemVfd2luZG93ZWRfc3Rfc3RhcnRfc2Vjb25kcyIpOm4uUygiaHRtbDVfcHJpb3JpdGl6ZV9zdF9zdGFydF9zZWNvbmRzIikpJiYhRCYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTshRCYmY3B0KG4pJiYoRD1uLnZpZGVvRGF0YS5saXZlVXRjU3RhcnRTZWNvbmRzfHxuLnZpZGVvRGF0YS5UQyxXPSJ1dGMiLEQ9bi5ySSgpLW4uaEMobi5ySSgpKStEKTshRCYmbi52aWRlb0RhdGEuelcoKSYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTsKdmFyIGI9e307aWYoRCl7aWYoRD5uLnJJKCl8fEQ8bi5MZigpKWIubWluU2Vla2FibGVUaW1lPW4uTGYoKSxiLm1heFNlZWthYmxlVGltZT1uLnJJKCksYi5jbXQ9bi5nZXRDdXJyZW50VGltZSgpLGIuaXQ9bi5oQyhuLmdldEN1cnJlbnRUaW1lKCkpLGIuc3M9RCxiLnV0Yz1jcHQobik/bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kc3x8bi52aWRlb0RhdGEuVEM6MCxuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLGIpLG4udmlkZW9EYXRhLnpXKCkmJihEPUhkKG4sRCwhMSkpO24uc2Vla1RvKEQse3FkOiJzZWVrdGltZWxpbmVfc3RhcnRTZWNvbmRzIn0pO2JbV109RDtuLkwuVSgic3RhcnRTZWNvbmRzIixiKTtuLkQ9ITF9ZWxzZSBuLnZpZGVvRGF0YS5UQyYmKGJbV109bi52aWRlb0RhdGEuVEMrbi5TVygpLG4uTC5VKCJzdGFydFNlY29uZHMiLGIpKX19OwpuQXg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLm1lZGlhRWxlbWVudCxiPVcudHlwZTtzd2l0Y2goYil7Y2FzZSAic2Vla2luZyI6bGV0IHY9RC5nZXRDdXJyZW50VGltZSgpK24udGltZXN0YW1wT2Zmc2V0O2lmKCFuLlh8fG4uY0omJnYhPT1uLkopbi5YPW5ldyBZNixuLlgudGhlbihrPT57Zy5PQihuLGspfSwoKT0+e2cuQUMobil9KSxuLnZpZGVvRGF0YS5pc0FkKCkmJm5uMSh7YWRDcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSwKY29udGVudENwbjpuLnZpZGVvRGF0YS5ob3N0Q3BuPz8iIn0sVy5OKSxuLkhKPXYsdTRiKG4uTyxELmdldEN1cnJlbnRUaW1lKCkpLG4uc2Vla1RvKHYse3NlZWtTb3VyY2U6MTA0LHFkOiJzZWVrdGltZWxpbmVfbWVkaWFFbGVtZW50RXZlbnQifSksbi5jSj0hMDticmVhaztjYXNlICJzZWVrZWQiOnp5MShuKTticmVhaztjYXNlICJsb2FkZWRtZXRhZGF0YSI6SWMobi5MKXx8YUF3KG4pO2Z1KG4pO2JyZWFrO2Nhc2UgInByb2dyZXNzIjpmdShuKTticmVhaztjYXNlICJwYXVzZSI6bi5LPW4uZ2V0Q3VycmVudFRpbWUoKX1uLksmJigoYj09PSJwbGF5Inx8Yj09PSJwbGF5aW5nInx8Yj09PSJ0aW1ldXBkYXRlInx8Yj09PSJwcm9ncmVzcyIpJiZuLmdldEN1cnJlbnRUaW1lKCktbi5LPjEwJiYobi5TKCJodG1sNV9za3lfc2tpcF9wYXVzZV9qdW1wIik/bi5MLlUoInNraXBQYXVzZUp1bXAiLHtldnQ6YixjbXQ6bi5nZXRDdXJyZW50VGltZSgpLGxwdDpuLkt9KTpuLnNlZWtUbyhuLkssCntxZDoicGF1c2VKdW1wIn0pKSxiIT09InBhdXNlIiYmYiE9PSJwbGF5IiYmYiE9PSJwbGF5aW5nIiYmYiE9PSJwcm9ncmVzcyImJihuLks9MCkpfTsKY3B0PWZ1bmN0aW9uKG4pe3JldHVybihZcChuLnZpZGVvRGF0YSl8fCEhbi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcykmJighIW4udmlkZW9EYXRhLmxpdmVVdGNTdGFydFNlY29uZHN8fEpDKG4pKSYmISFuLnZpZGVvRGF0YS5OfTsKUGQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmdldChXKT8uYnVmZmVyLlcoKXx8W119OwpaNz1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4uZ2V0KFcpPy5idWZmZXIuWCgpfHwwfTsKTHIxPWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRChrKXtyZXR1cm4gYi5WIT09Inl0IiYmKHYucGFydG5lcklkPT09MzgmJmIucGxheWVyU3R5bGU9PT0iYm9va3MifHx2LnBhcnRuZXJJZD09PTMwJiZiLnBsYXllclN0eWxlPT09ImRvY3MifHx2LnBhcnRuZXJJZD09PTMzJiZiLnBsYXllclN0eWxlPT09Imdvb2dsZS1saXZlIik/V3JoKG4sdixrKTpEMXQobix2KS50aGVuKCgpPT57Yi5TKCJlbWJlZHNfZW5hYmxlX3Nob3J0cyIpJiZuLkcoKS5UNyYmdi5pc0VtYmVkc1Nob3J0c01vZGUobmV3IGcuUWUoMCwwKSwhIXYucGxheWxpc3RJZCk/YlVVKG4sdik6VUIobix2KX0saD0+e1VCKG4sdiwhMCk7CnRocm93IGg7fSl9CnZhciBiPW4uRygpLHY9bi5nZXRWaWRlb0RhdGEoKTt2LnFOKCk7di5sb2FkaW5nPSEwO3JldHVybiB2QWoobik/a1VpKG4sdixXKS50aGVuKCgpPT57VUIobix2KX0saz0+e2s9QiQoayk7CmlmKGoyKGsuc2V2ZXJpdHkpKXJldHVybiBVQihuLHYsITApLFByb21pc2UucmVqZWN0KGspO2suZXJyb3JDb2RlPT09Im9uZXNpZS5yZXNwb25zZS5iYWRwcm94eXN0YXR1cyImJmAke2suZGV0YWlscy5zdH1gPT09IjMiJiYoaHBTPSEwKTtuLmhhbmRsZUVycm9yKGspO3JldHVybiBEKCJvbmVzaWUiKX0pOmIuUygiZW1iZWRzX2VuYWJsZV9zaG9ydHMiKSYmYi5UNz94MVUobix2KS50aGVuKCgpPT5EKCJndmkiKSk6RCgiZ3ZpIil9Owp2QWo9ZnVuY3Rpb24obil7dmFyIFc9bi5HKCk7aWYoVy5TKCJodG1sNV9kaXNhYmxlX29uZXNpZSIpfHwhVy5TKCJodG1sNV9vbmVzaWUiKXx8IVcuUygiaHRtbDVfb25lc2llX2lubGluZSIpJiZuLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09NXx8Vy5WIT09Inl0IilyZXR1cm4hMTt2YXIgRD1XLlBYO2lmKCFEfHwhRC5OKXJldHVybiBuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJvbmVzaWUudW5hdmFpbGFibGUuaG90Y29uZmlnIix7a2V5OiIwIn0pKSwhMTtpZihELk4uSzwoMCxnLlIpKCkmJihuLlUoIm9rZXhwIiwiMSIpLChEPW4uVTQoKSkmJlcuUygiaHRtbDVfcHJlZmVyX3RydXN0ZWRfaG9zdF9vbl9rZXlfZXhwaXJhdGlvbiIpKSl7RC5KPSEwO2xldCBiPUQuTi5nZXQoMCk/Lk4oKTtiJiYheHcoYikmJkQuTi5kZWxldGUoMCl9aWYoaHBTKXJldHVybiBuLlUoIm9zdDMiLCIxIiksITE7RD17fTtyZXR1cm4gT2JqZWN0LmtleXMoRCkubGVuZ3RoPjA/KEQub25lc2llPSIwIixuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJodG1sNS5taXNzaW5nYXBpIiwKRCkpLCExKTpuLmdldFZpZGVvRGF0YSgpLmxpdmVQcmVsb2FkJiZXLlp0KCkuTi5RUShIcCk/ITE6ITB9Owp5YT1mdW5jdGlvbihuLFcpe3ZhciBEPWcucDIoKTtnLllGKEQsVyk7cmV0dXJuIG5jKEQsaVooKSx7b1M6bi5KLGNsaWVudEludGVyZmFjZTpsbyhuKX0pfTsKZXBaPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5HKCkpJiZXLnZKKCk/YCR7bi5nZXRQbGF5ZXJUeXBlKCl9XyR7Vy52aWRlb0lkfV8ke1cuS2Z9YDpgJHtuLmdldFBsYXllclR5cGUoKX1fJHtXLnZpZGVvSWR9XyR7Vy5LZn1fJHsrVy5pc0F1dG9uYXZ9JHsrVy5WVH1gfTsKa1VpPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtXLmZldGNoVHlwZT0ib25lc2llIjt2YXIgYj12b2lkIDA7aWYoeVUoVykpaWYoYj1uLmk3KXt2YXIgdj1lcFoobixXKTtiPWIuZ2V0KHYpfWVsc2UgYj12b2lkIDA7dj1uLnRiLlFwO2lmKGIpe2lmKFcubG9hZGluZz0hMSxXLk5WPSEwLHpmKFcse3BsYXllcl9yZXNwb25zZTpifSwhMCksVy5sb2FkaW5nfHxIaihXKSlyZXR1cm4gbi5VKCJwcnIiLCIxIiksUHJvbWlzZS5yZXNvbHZlKCl9ZWxzZXtiPWxGKFcsbi5nZXRQbGF5ZXJTaXplKCksbi5nZXRWaXNpYmlsaXR5U3RhdGUoKSk7RD1uZXcgS0QobixiLEQpO2I9YXdhaXQgRC5mZXRjaCgpO2xldCBoPXtwbGF5ZXJfcmVzcG9uc2U6Yn07Vy5sb2FkaW5nPSExO2lmKEQubkEpe2ZvcihsZXQgW3gsTF1vZiBELm5BLmVudHJpZXMoKSl7dmFyIGs9eDtsZXQgZT1MO3YuTi5zZXQoayxlLDE4MCk7az09PVcudmlkZW9JZCYmKGs9ZS5TSigpLFcub009ayl9di5VZz1EfWZvcihsZXQgW3gsTF1vZiBELnQwLmVudHJpZXMoKSl2Lkouc2V0KHgsCkwsMTgwKTt6ZihXLGgsITApO2lmKFcubG9hZGluZ3x8SGooVykpcmV0dXJuIHlVKFcpJiYodj1lcFoobixXKSxXPVcuZ2V0UGxheWVyUmVzcG9uc2UoKSkmJihXPVcucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9XLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLG4uaTc/LnB1dCh2LGIsVykpLFByb21pc2UucmVzb2x2ZSgpfXYuTi5UaSgpO3YuSi5UaSgpO1cub009W107bj17fTt2PSJvbmVzaWUucmVzcG9uc2UiO0Q9MDtXLmVycm9yQ29kZT8odj0iYXV0aCIsbi5lYz1XLmVycm9yQ29kZSxuLmVkPVcuZXJyb3JEZXRhaWwsbi5lcz1XLndpfHwiIixEPTIpOihuLnN1Y2Nlc3NCdXRVbnBsYXlhYmxlPSIxIixuLmRpc3Bvc2VkPWAkeytXLnFOKCl9YCxuLmFmbXRzPWAkeysvYWRhcHRpdmVGb3JtYXRzLy50ZXN0KGIpfWAsbi5jcG49Vy5jbGllbnRQbGF5YmFja05vbmNlKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kodiwKbixEKSl9OwpEMXQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1XLmlzQWQoKSxiPSFELHY9RD8xOjM7Zm9yKGxldCBoPTA7aDx2O2grKyl7aWYoaD4wKXthd2FpdCBnLlV1KDVFMyk7dmFyIGs9bmV3IGcuUXgoIlJldHJ5aW5nIE9uZVBsYXRmb3JtIHJlcXVlc3QiLHthdHRlbXB0Omh9KTtnLkdxKGspfXRyeXthd2FpdCBnQWkobixXKTtyZXR1cm59Y2F0Y2goeCl7bGV0IEw9QiQoeCk7az1MLmVycm9yQ29kZTtsZXQgZT1uLkcoKS5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/NDAxOiI0MDEiO2ImJms9PT0ibWFuaWZlc3QubmV0LmJhZHN0YXR1cyImJkwuZGV0YWlscy5yYz09PWUmJihiPSExLGg9PT12LTEmJih2Kz0xKSk7aWYoaD09PXYtMSlyZXR1cm4gbj1Yc2koRCxMLmRldGFpbHMpLG4uZGV0YWlscy5iYWNrZW5kPSJvcCIsbi5kZXRhaWxzLm9yaWdpbmVjPWssUHJvbWlzZS5yZWplY3Qobik7aWYoaz09PSJhdXRoInx8az09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQifHwKZy5DTihuLkcoKSkpcmV0dXJuIFByb21pc2UucmVqZWN0KEwpO24uaGFuZGxlRXJyb3IoTCk7aWYoajIoTC5zZXZlcml0eSkpYnJlYWt9fXJldHVybiBQcm9taXNlLnJlamVjdChYc2koRCx7YmFja2VuZDoib3AifSkpfTsKZ0FpPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Vy5mZXRjaFR5cGU9ImdwIjt2YXIgRD1uLkcoKSxiPWcuSEUoRCxXLlYoKSk7Yj1iLk4/YXdhaXQgYi5OOmIuZ2V0VmFsdWUoKTt2YXIgdj15YShELGIpLGs9bEYoVyxuLmdldFBsYXllclNpemUoKSxuLmdldFZpc2liaWxpdHlTdGF0ZSgpKSxoPUxCKHF5aikseD1XLlYoKSxMPSgwLGcuUikoKSxlPSExLEc9ImVtcHR5IjtiPTA7bi5EaygicHNucyIpO3ZhciByPXtsZzpmdW5jdGlvbihOKXtOLnJlYWR5U3RhdGU9PT0yJiZuLkRrKCJwc19jIil9fTsKaWYoRC5KKXtsZXQgTj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX0sSD1kbChXLmdldFJlc29sdmVVcmxSZXNwb25zZSgpKTtIJiYoTi5wYXJhbXM9SCk7Vy5wbGF5bGlzdElkJiYoTi5wbGF5bGlzdElkPVN0cmluZyhXLnBsYXlsaXN0SWQpKTtyLkhuPXtSTDp5SCgicGxheWVyIixOKX19dj1hd2FpdCBnLnJfKHYsayxoLHZvaWQgMCxyKTtuLkRrKCJwc25yIik7aWYoIVcucU4oKSl7dj8iZXJyb3IiaW4gdiYmdi5lcnJvcj8oZT0hMCxHPWBlc2Y6JHt2LmVycm9yLm1lc3NhZ2V9YCxiPXYuZXJyb3IuY29kZSk6di5lcnJvck1ldGFkYXRhJiYoZT0hMCxHPSJpdHMiLGI9di5lcnJvck1ldGFkYXRhLnN0YXR1cyk6ZT0hMDtpZihlKXJldHVybiBlPTAsdj0oKDAsZy5SKSgpLUwpLnRvRml4ZWQoKSxMPXt9LEw9RC5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/e2JhY2tlbmQ6Im9wIixyYzpiLHJ0OnYscmVhc29uOkcsaGFzX2twdDpXLkhKPyIxIjoiMCIsaGFzX21keF9lbnY6Vy5tZHhFbnZpcm9ubWVudD8KIjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8iMSI6IjAiLG1keF9jdHJsOlcuaTV8fCIiLHRva2VuX2VxOng9PT1XLlYoKT8iMSI6IjAifTp7YmFja2VuZDoib3AiLHJjOmAke2J9YCxydDp2LHJlYXNvbjpHLGhhc19rcHQ6Vy5ISj8iMSI6IjAiLGhhc19tZHhfZW52OlcubWR4RW52aXJvbm1lbnQ/IjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8KIjEiOiIwIixtZHhfY3RybDpXLmk1fHwiIix0b2tlbl9lcTp4PT09Vy5WKCk/IjEiOiIwIn0sVz0ibWFuaWZlc3QubmV0LmNvbm5lY3QiLGI9PT00Mjk/KFc9ImF1dGgiLGU9Mik6Yj4yMDAmJihXPSJtYW5pZmVzdC5uZXQuYmFkc3RhdHVzIixiPT09NDAwJiYoZT0yKSksUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koVyxMLGUpKTtXLmxvYWRpbmc9ITE7emYoVyx7cmF3X3BsYXllcl9yZXNwb25zZTp2fSwhMCk7Zy5DTihXLkcoKSkmJnYmJnYudHJhY2tpbmdQYXJhbXMmJmcueXIodi50cmFja2luZ1BhcmFtcyk7aWYoVy5lcnJvckNvZGUpcmV0dXJuIEQ9e2VjOlcuZXJyb3JDb2RlLGVkOlcuZXJyb3JEZXRhaWwsZXM6Vy53aXx8IiJ9LGI9ImF1dGgiLGcuQ04oVy5HKCkpJiZXLmVycm9yQ29kZSYmKGI9Vy5lcnJvckNvZGUpLFByb21pc2UucmVqZWN0KG5ldyBnLkNpKGIsRCwyKSk7aWYoIVcubG9hZGluZyYmIUhqKFcpKXJldHVybiBEPVcuaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIiwKUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koRCx7c3VjY2Vzc0J1dFVucGxheWFibGU6IjEiLGhhc01lZGlhOmcuWUwoVyk/IjEiOiIwIn0sMikpfX07CldyaD1hc3luYyBmdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe3JldHVybiEwfQpmdW5jdGlvbiB2KGUpe2U9QiQoZSk7aWYoajIoZS5zZXZlcml0eSkpcmV0dXJuIFByb21pc2UucmVqZWN0KGUpO24uaGFuZGxlRXJyb3IoZSk7cmV0dXJuITF9CnZhciBrPXNfMihuLkcoKSxXLG4uZ2V0UGxheWVyU2l6ZSgpLG4uZ2V0VmlzaWJpbGl0eVN0YXRlKCksbi5pc0Z1bGxzY3JlZW4oKSksaD1XLmlzQWQoKSx4PWg/MTozO2ZvcihsZXQgZT0wO2U8eDtlKyspe3ZhciBMPWs7ZT4wJiYoYXdhaXQgZy5VdSg1RTMpLEw9e3BsYXllcnJldHJ5OmUscGxheWVycmV0cnlzcmM6RH0saHx8KEwucmVjb3Zlcj0iZW1iZWRkZWQiKSxMPWcubHcoayxMKSk7aWYoYXdhaXQgR1UxKFcsTCkudGhlbihiLHYpKXJldHVybn1XPWg/ImF1dGgiOiJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiO0Q9aD8yOjE7aWYoIWgmJk1hdGgucmFuZG9tKCk8MUUtNCl0cnl7Zy5HcShuZXcgZy5ReCgiYi8xNTIxMzE1NzEiLGJ0b2EoaykpKX1jYXRjaHt9cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBnLkNpKFcse2JhY2tlbmQ6Imd2aSJ9LEQpKX07CkdVMT1hc3luYyBmdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQoTCl7aWYoIW4ucU4oKSl7TD1MP0wuc3RhdHVzOi0xO3ZhciBlPTAsRz0oKDAsZy5SKSgpLXgpLnRvRml4ZWQoKTtHPWIuUygiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpP3tiYWNrZW5kOiJndmkiLHJjOkwscnQ6R306e2JhY2tlbmQ6Imd2aSIscmM6YCR7TH1gLHJ0Okd9O3ZhciByPSJtYW5pZmVzdC5uZXQuY29ubmVjdCI7TD09PTQyOT8ocj0iYXV0aCIsZT0yKTpMPjIwMCYmKHI9Im1hbmlmZXN0Lm5ldC5iYWRzdGF0dXMiLEw9PT00MDAmJihlPTIpKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kocixHLGUpKX19Cm4uZmV0Y2hUeXBlPSJndmkiO3ZhciBiPW4uRygpLHY7KHY9TlFpKG4pKT8odj17Zm9ybWF0OiJSQVciLG1ldGhvZDoiUE9TVCIsd2l0aENyZWRlbnRpYWxzOiEwLHRpbWVvdXQ6M0U0LHBvc3RQYXJhbXM6dn0sVz1nLmx3KFcse2FjdGlvbl9kaXNwbGF5X3Bvc3Q6MX0pKTp2PXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHdpdGhDcmVkZW50aWFsczohMCx0aW1lb3V0OjNFNH07dmFyIGs9e307Yi5zZW5kVmlzaXRvcklkSGVhZGVyJiZuLnZpc2l0b3JEYXRhJiYoa1siWC1Hb29nLVZpc2l0b3ItSWQiXT1uLnZpc2l0b3JEYXRhKTt2YXIgaD1nLlloKGIuZXhwZXJpbWVudHMsImRlYnVnX3NoZXJsb2dfdXNlcm5hbWUiKTtoJiYoa1siWC1Zb3V0dWJlLVNoZXJsb2ctVXNlcm5hbWUiXT1oKTtPYmplY3Qua2V5cyhrKS5sZW5ndGg+MCYmKHYuaGVhZGVycz1rKTt2YXIgeD0oMCxnLlIpKCk7dj1hd2FpdCBlNChnLnI4LFcsdikudGhlbih2b2lkIDAsZnVuY3Rpb24oTCl7cmV0dXJuIEQoTC54aHIpfSk7CmlmKCF2fHwhdi5yZXNwb25zZVRleHQpcmV0dXJuIEQodik7bi5sb2FkaW5nPSExO3Y9Zy5pdyh2LnJlc3BvbnNlVGV4dCk7emYobix2LCEwKTtpZihuLmVycm9yQ29kZSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koImF1dGgiLHtlYzpuLmVycm9yQ29kZSxlZDpuLmVycm9yRGV0YWlsLGVzOm4ud2l8fCIifSwyKSk7aWYoIW4ubG9hZGluZyYmIUhqKG4pKXJldHVybiB2PW4uaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixQcm9taXNlLnJlamVjdChuZXcgZy5DaSh2LHtzdWNjZXNzQnV0VW5wbGF5YWJsZToiMSJ9LDIpKX07ClhzaT1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgZy5DaShuPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixXLG4/MjoxKX07ClVCPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPSExKXt2YXIgYj1uLkcoKTtEJiYoIWcuJDYoYil8fElUKFcpIT09ImVtYmVkZGVkIil8fFcuZkN8fElUKFcpIT09ImFkdW5pdCImJihnLms2KGIpfHxnLlhDKGIpfHxnLk1WKGIpfHx0dShiKXx8Zy5EZihiKXx8bG8oYik9PT0iV0VCX0NSRUFUT1IiKXx8KEQ9Zy5IRShiLFcuVigpKSxEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpLHR5MihuLFcsRCkpfTsKdHkyPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt0cnl7bGV0IGs9bi5HKCksaD15YShrLEQpO3ZhciBiPVcuRygpO2xldCB4PWcubzkoKSxMPXtjb250ZXh0Omcub1QoVyksdmlkZW9JZDpXLnZpZGVvSWQscmFjeUNoZWNrT2s6Vy5yYWN5Q2hlY2tPayxjb250ZW50Q2hlY2tPazpXLmNvbnRlbnRDaGVja09rLGF1dG9uYXZTdGF0ZToiU1RBVEVfTk9ORSJ9O0lUKFcpPT09ImFkdW5pdCImJihMLmlzQWRQbGF5YmFjaz0hMCk7Yi5lbWJlZENvbmZpZyYmKEwuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iLmVtYmVkQ29uZmlnKTtiLlluJiYoTC5zaG93Q29udGVudE93bmVyT25seT0hMCk7Vy5TYSYmKEwuc2hvd1Nob3J0c09ubHk9ITApO3guUVEoMTQxKSYmKEwuYXV0b25hdlN0YXRlPXguUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTtpZihnLmVNKGIpKXtsZXQgTj14LlFRKDY1KTtEPU4hPW51bGw/IU46ITE7bGV0IEg9ISFnLlpJKCJ5dC1wbGF5ZXItc3RpY2t5LWNhcHRpb24iKTsKTC5jYXB0aW9uc1JlcXVlc3RlZD1EJiZIfWxldCBlPWIuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmNyeXB0ZWRIb3N0RmxhZ3M7ZSYmKEwucGxheWJhY2tDb250ZXh0PXtlbmNyeXB0ZWRIb3N0RmxhZ3M6ZX0pO3ZhciB2PUw7bGV0IEc9TEIoJDFDKTtuLkRrKCJ3bl9zIik7Yj17fTtrLkomJihiLkhuPXtSTDp5SCgibmV4dCIse3ZpZGVvSWQ6U3RyaW5nKFcudmlkZW9JZCl9KX0pO2xldCByPWF3YWl0IGcucl8oaCx2LEcsdm9pZCAwLGIpO24uRGsoInduX3IiKTshcnx8ImVycm9yImluIHImJnIuZXJyb3J8fChnLkNOKFcuRygpKSYmci50cmFja2luZ1BhcmFtcyYmZy55cihyLnRyYWNraW5nUGFyYW1zKSx6ZihXLHtyYXdfd2F0Y2hfbmV4dF9yZXNwb25zZTpyfSwhMSkpfWNhdGNoKGspe319OwpiVVU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1nLkhFKG4uRygpLFcuVigpKTtEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpO3I2dyhuLFcsRCl9OwpyNnc9YXN5bmMgZnVuY3Rpb24obixXLEQpe249bi5HKCk7dHJ5e2xldCBoPXlhKG4sRCk7bGV0IHg9e2NvbnRleHQ6Zy5vVChXKSxwbGF5ZXJSZXF1ZXN0Ont2aWRlb0lkOlcudmlkZW9JZH0sZGlzYWJsZVBsYXllclJlc3BvbnNlOiEwfSxMPVcuZ2V0UmVzb2x2ZVVybFJlc3BvbnNlKCk7aWYoTCl7bGV0IHI9ZGwoTCk7ciYmKHgucGxheWVyUmVxdWVzdC5wYXJhbXM9cik7bGV0IE49ajcoTCk/LnBhcmFtcztOJiYoeC5wYXJhbXM9Til9dmFyIGI9eDtsZXQgZT1MQihzdjIpO0Q9e307aWYobi5KKXtsZXQgcj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX07dmFyIHYsaz1XLmdldFJlc29sdmVVcmxSZXNwb25zZSgpOyh2PWo3KGspPy5wYXJhbXMpJiYoci5wYXJhbXM9dik7RC5Ibj17Ukw6eUgoInJlZWxfaXRlbV93YXRjaCIscil9fWxldCBHPWF3YWl0IGcucl8oaCxiLGUsdm9pZCAwLEQpOyFHfHwiZXJyb3IiaW4gRyYmRy5lcnJvcnx8emYoVyx7cmF3X3JlZWxfaXRlbV93YXRjaF9yZXNwb25zZTpHfSl9Y2F0Y2goaCl7fX07CngxVT1hc3luYyBmdW5jdGlvbihuLFcpe3RyeXtsZXQgaz1uLkcoKSxoPWcuSEUoayxXLlYoKSkseD1oLk4/YXdhaXQgaC5OOmguZ2V0VmFsdWUoKSxMPXlhKGsseCk7dmFyIEQ9bi5nZXRQbGF5ZXJTaXplKCksYj1uLmdldFZpc2liaWxpdHlTdGF0ZSgpO3ZhciB2PXtjb250ZXh0Omcub1QoVyksdXJsOmBodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke1cudmlkZW9JZH1gLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhXLEQsYil9fTtsZXQgZT1MQihONGgpLEc9YXdhaXQgZy5yXyhMLHYsZSk7Vy5xTigpfHxHJiZ6ZihXLHtyYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U6R30sITApfWNhdGNoKGspe319Owpwc3I9ZnVuY3Rpb24obixXKXtuLkRrKCJ2aXIiKTtuLkRrKCJwc19zIik7Zy5nXygidmlyIix2b2lkIDAsInZpZGVvX3RvX2FkIik7Vz1McjEobixXKTtXLnRoZW4oZnVuY3Rpb24oKXtuLkRrKCJ2aXJjIik7Zy5nXygidmlyYyIsdm9pZCAwLCJ2aWRlb190b19hZCIpO24uRGsoInBzX3IiKTtnLmdfKCJwc19yIix2b2lkIDAsInZpZGVvX3RvX2FkIil9LGZ1bmN0aW9uKCl7bi5EaygidmlyYyIpOwpnLmdfKCJ2aXJjIix2b2lkIDAsInZpZGVvX3RvX2FkIil9KTsKcmV0dXJuIFd9OwpFQj1mdW5jdGlvbigpe3ZhciBuPUcxKCk7cmV0dXJuISghbnx8bj09PSJ2aXNpYmxlIil9OwpIVWk9ZnVuY3Rpb24obil7dmFyIFc9WXlpKCk7VyYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihXLG4sITEpfTsKZnZpPWZ1bmN0aW9uKG4pe3ZhciBXPVl5aSgpO1cmJmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoVyxuLCExKX07Cll5aT1mdW5jdGlvbigpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSl2YXIgbj0idmlzaWJpbGl0eWNoYW5nZSI7ZWxzZXtpZighZG9jdW1lbnRbcTArIlZpc2liaWxpdHlTdGF0ZSJdKXJldHVybiIiO249cTArInZpc2liaWxpdHljaGFuZ2UifXJldHVybiBufTsKSXZoPWZ1bmN0aW9uKG4pe0o2cj1ufTsKU3lyPWZ1bmN0aW9uKG4pe2lWPW59OwpTUE09ZnVuY3Rpb24obil7dmFyIFc9bi5oVTtuPW4udmlkZW9EYXRhO3ZhciBEPVpWKFcsbik7Vy5TKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIil8fEQuY29tcG9zZShVWChXLG4pKTtyZXR1cm4gRH07CkdYPWZ1bmN0aW9uKG4sVyl7dVYobixXLnJlYXNvbixXLk4uaW5mbyxXLnNvdXJjZSxXLnRva2VuKX07Cm9jPWZ1bmN0aW9uKG4sVyl7bi5XSigibG9jYWxtZWRpYWNoYW5nZSIsVyl9OwpQOVU9ZnVuY3Rpb24obixXKXtuLnRiLmRUKCl8fChuLlUoInNnYXAiLHtmOld9KSxuLnRiLmNsZWFyUXVldWUoITEsVz09PSJwZSIpKX07Cm0xVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmKG4ubWVkaWFTb3VyY2U/KGRzKG4pLG4ubXkoKSxBNmoobiwhMSkpOihuLnZpZGVvRGF0YS5jSiYmbi52aWRlb0RhdGEuY0ouWCgpLG4ubWVkaWFFbGVtZW50LnN0b3BWaWRlbygpKSxuLnBsYXlWaWRlbygpKX07CkljPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2Rpc2FibGVfdmlkZW9fcGxheWVyX2luaXRpYXRlZF9zZWVrcyIpJiZnLllOKG4udmlkZW9EYXRhKX07CmxWPWZ1bmN0aW9uKG4sVyl7bi54byYmelkobik7bi54bz1uZXcgZy5sNShXKjFFMywweDdmZmZmZmZmZmZmZmYpO24ueG8ubmFtZXNwYWNlPSJlbmRjciI7bi5hZGRDdWVSYW5nZShuLnhvKX07CnpZPWZ1bmN0aW9uKG4pe24ucmVtb3ZlQ3VlUmFuZ2Uobi54byk7bi54bz1udWxsfTsKamg9ZnVuY3Rpb24obil7aWYobi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBXPVRZKG4pO24ubG9hZGVyJiZuLmxvYWRlci5tbyhXKX19OwpCZD1mdW5jdGlvbihuLFc9ITApe24uQi5BbSYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlJiZuLm1lZGlhRWxlbWVudCYmIW4uRTgoKSYmKG4uaXNCYWNrZ3JvdW5kKCkmJm4ubWVkaWFFbGVtZW50LkdDKCk/KG4uVSgiYmdtb2JpbGUiLHtzdXNwZW5kOjF9KSxuLm9KKCEwLCEwKSk6IW4uaXNCYWNrZ3JvdW5kKCkmJlcmJkN1KG4pJiZuLlUoImJnbW9iaWxlIix7cmVzdW1lOjF9KSl9OwpGSj1mdW5jdGlvbihuKXtpZighZy5EUChuLnZpZGVvRGF0YSkpcmV0dXJuIE5hTjt2YXIgVz0wO24ubG9hZGVyJiZuLnZpZGVvRGF0YS5OJiYoVz1JNChuLnZpZGVvRGF0YSk/bi5sb2FkZXIucWgoKTpuLnZpZGVvRGF0YS5OLnFoKCkpO3JldHVybigwLGcuUikoKS8xRTMtbi5oQygpLVd9OwpLcmI9ZnVuY3Rpb24obixXKXtpZihuLnBsYXllclR5cGU9PT0yfHxuLkIuQ20pVy5vYz0hMDt2YXIgRD1UbChXLkZGLFcuRncsbi5CLkosbi5CLkspO0QmJihXLmFkRm9ybWF0PUQpO24ucGxheWVyVHlwZT09PTImJihXLkd1PSEwKTtpZihuLmlzRnVsbHNjcmVlbigpfHxuLkIuSilEPWcuWkkoInl0LXBsYXllci1hdXRvbmF2c3RhdGUiKSxXLmF1dG9uYXZTdGF0ZT1EfHwobi5CLko/MjpuLnZpZGVvRGF0YS5hdXRvbmF2U3RhdGUpO1cuZW5kU2Vjb25kcyYmVy5lbmRTZWNvbmRzPlcuc3RhcnRTZWNvbmRzJiZsVihuLFcuZW5kU2Vjb25kcyl9Owp3cz1mdW5jdGlvbihuKXtuLmxvYWRlciYmKG4ubG9hZGVyLmRpc3Bvc2UoKSxuLmxvYWRlcj1udWxsLG1vKG4uZGEsbnVsbCkpO24ucGcoKT9PVWgobik6bi5teSgpfTsKVTFpPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclN0YXRlLk4oMTI4KSlpZihuLnZpZGVvRGF0YS5pc0xvYWRlZCgpLG4uaWw9Zy5STShuLnZpZGVvRGF0YS5JSiksZy5ZTChuLnZpZGVvRGF0YSkpe24ubVEudGljaygiYnBkX3MiKTtNOShuKS50aGVuKCgpPT57bi5tUS50aWNrKCJicGRfYyIpO2lmKCFuLnFOKCkpe24uTkwmJihuLkJOKEJyKEJyKG4ucGxheWVyU3RhdGUsNTEyKSwxKSksQ3UobikpO3ZhciBEPW4udmlkZW9EYXRhO0QuZW5kU2Vjb25kcyYmRC5lbmRTZWNvbmRzPkQuc3RhcnRTZWNvbmRzJiZsVihuLEQuZW5kU2Vjb25kcyk7bi5MUi5maW5pc2hlZD0hMDtSYyhuLCJkYXRhbG9hZGVkIik7bi5qSC5zdGFydGVkJiZRYShuKTtsNVUobi5oVSxuLkRoKX19KTsKbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgibG91ZG5lc3MiLHt2Om4udmlkZW9EYXRhLllLLnRvRml4ZWQoMyl9LCEwKTt2YXIgVz1uLm1lZGlhRWxlbWVudD8uZV8oKTtpZihXJiYiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiaW4gVyYmbi5CLkh4KXRyeXtXLmRpc2FibGVQaWN0dXJlSW5QaWN0dXJlPW4uQi5MQiYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlfWNhdGNoKEQpe2cuR3EoRCl9UFJiKG4pO24uQkg9bmV3IFpVcihuLnZpZGVvRGF0YSl9ZWxzZSBSYyhuLCJkYXRhbG9hZGVkIil9Owp5Nlo9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGE7cHNyKG4sbi5paikudGhlbih2b2lkIDAsRD0+e24udmlkZW9EYXRhIT09V3x8Vy5xTigpfHwoRD1CJChEKSxELmVycm9yQ29kZT09PSJhdXRoIiYmbi52aWRlb0RhdGEuZXJyb3JEZXRhaWwmJm4udmlkZW9EYXRhLmVycm9yRGV0YWlsIT09IjciP24uUFYoRC5lcnJvckNvZGUsMix1bmVzY2FwZShuLnZpZGVvRGF0YS5lcnJvclJlYXNvbiksZy5UQyhELmRldGFpbHMpLG4udmlkZW9EYXRhLmVycm9yRGV0YWlsLG4udmlkZW9EYXRhLndpfHx2b2lkIDApOm4uaGFuZGxlRXJyb3IoRCkpfSl9OwpFQUM9ZnVuY3Rpb24obil7cmV0dXJuIGcuazYobi5CKSYmbi52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2smJighbi5CLlMoImh0bWw1X2FsbG93X211bHRpdmlld190aWxlX3ByZWxvYWQiKXx8IW4udmlkZW9EYXRhLmxpdmVQcmVsb2FkKX07Ck05PWZ1bmN0aW9uKG4pe3dzKG4pO24uRGg9bnVsbDt2YXIgVz1Vancobi5CLG4udmlkZW9EYXRhLG4uRTgoKSk7bi50Uj1XO24udFIudGhlbihEPT57aVV0KG4sRCl9LEQ9PntuLnFOKCl8fChEPUIkKEQpLG4udmlzaWJpbGl0eS5pc0JhY2tncm91bmQoKT8oVmEobiwidnBfbm9uZV9hdmFpbCIpLG4udFI9bnVsbCxuLkxSLnJlc2V0KCkpOihuLkxSLmZpbmlzaGVkPSEwLG4uUFYoRC5lcnJvckNvZGUsRC5zZXZlcml0eSwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siLGcuVEMoRC5kZXRhaWxzKSkpKX0pOwpyZXR1cm4gV307ClBSYj1mdW5jdGlvbihuKXtpZihLeihuLnZpZGVvRGF0YSwiaHRtbDVfc2V0X2RlYnVnZ2luZ19vcHRfaW4iKSl7bGV0IFc9Zy5vOSgpO2lmKCFXLlFRKDE4Mykpe249YGYke01hdGguZmxvb3IoMTgzLzMxKSsxfWA7bGV0IEQ9VDEobil8fDA7RHw9MjY4NDM1NDU2O0Q9PT0wP2RlbGV0ZSBsT1tuXTpsT1tuXT1ELnRvU3RyaW5nKDE2KS50b1N0cmluZygpO1cuc2F2ZSgpfX19OwpSYz1mdW5jdGlvbihuLFc9ImRhdGF1cGRhdGVkIil7bi5XSigiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiLFcsbi52aWRlb0RhdGEpfTsKaVV0PWZ1bmN0aW9uKG4sVyl7aWYoIW4ucU4oKSYmIVcudmlkZW9EYXRhLnFOKCkpe24uRGg9VztGM2Iobi5kYSxuLkRoKTtpZihuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayl7dmFyIEQ9dVJyKG4udGIuUXAsbi52aWRlb0RhdGEudmlkZW9JZCl8fG4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpO0Q9bi5TKCJodG1sNV9vbmVzaWVfbGl2ZSIpJiZEO0ljKG4pfHxuLnZpZGVvRGF0YS5UQz4wJiYhSTQobi52aWRlb0RhdGEpfHxEfHxuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9wbGF5YmFja0RhdGEiLHNlZWtTb3VyY2U6MTh9KX1pZihuLnZpZGVvRGF0YS5XLk4oKSl7aWYoVGhpKG4udmlkZW9EYXRhKSl7bi5QVigiZm10Lm1pc3NpbmciLDIsIkJST1dTRVJfT1JfRVhURU5TSU9OX0VSUk9SIixnLlRDKHttaXNzYWJydXJsOjF9KSk7cmV0dXJufWlmKG4ubG9hZGVyKWcuR3EoRXJyb3IoIkR1cGxpY2F0ZWQgTG9hZGVyIikpO2Vsc2V7RD1nLmRNKG4uQi5leHBlcmltZW50cywKImh0bWw1X29uZXNpZV9kZWZlcl9jb250ZW50X2xvYWRlcl9tcyIpO2xldCBiPSgpPT57Y2QobiwoKT0+e24ucU4oKXx8bi5sb2FkZXJ8fG9BdChuKX0pfTsKRCYmbi5PUCgpJiZ1UnIobi50Yi5RcCxuLnZpZGVvRGF0YS5Xaik/Zy5uJChiLEQpOmIoKX19ZWxzZSFuLnZpZGVvRGF0YS5XLk4oKSYmT1Mobi52aWRlb0RhdGEpJiZvYyhuLG5ldyBhYyhuLnZpZGVvRGF0YS52aWRlb0lkfHwiIiw0KSk7bi51digpO3VpaihXKS50aGVuKCgpPT57dmFyIGI9e307bi5zVChiKTtuLkIuV1goKSYmbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgiYXYxSW5mbyIsYik7amgobil9KX19OwpDdT1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLm1lZGlhRWxlbWVudHx8IW4udmlkZW9EYXRhLlcpcmV0dXJuITE7dmFyIEQ9ZDEyKG4sVyksYj1uLm1lZGlhRWxlbWVudC5HQygpLHY9ITE7YiYmYi5lcXVhbHMoRCl8fCh6cGkobixEKSx2PSEwKTtuLnBsYXllclN0YXRlLk4oMil8fFFidyhuLmRhLFcpO2E6e1c9djtpZihnLllOKG4udmlkZW9EYXRhKSl7aWYoIW4udmlkZW9EYXRhLk1pKCkpYnJlYWsgYX1lbHNlIGlmKCFnLnF1KG4udmlkZW9EYXRhKSlicmVhayBhO2lmKG4ubWVkaWFFbGVtZW50KWlmKChEPW4udmlkZW9EYXRhLmopJiZuLm1lZGlhRWxlbWVudC5LKCkpe2I9bi5tZWRpYUVsZW1lbnQuZV8oKTtpZihuLkxBKWlmKGIhPT1uLkxBLmVsZW1lbnQpZHMobik7ZWxzZSBpZihXJiZELmZsYXZvcj09PSJmYWlycGxheSImJiF6USgpKWRzKG4pO2Vsc2UgYnJlYWsgYTtpZihuLlMoImh0bWw1X3JlcG9ydF9lcnJvcl9mb3JfdW5zdXBwb3J0ZWRfdHZvc193aWRldmluZSIpJiZ6USgpJiYKRC5mbGF2b3I9PT0id2lkZXZpbmUiKW4uUFYoImZtdC51bnBsYXlhYmxlIiwxLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInRyZy51bnNwdHR2b3N3aWRldmluZSIpO2Vsc2V7bi5MQT1uZXcgbHZ3KGIsbi52aWRlb0RhdGEsbi5CLG4ubWVkaWFFbGVtZW50LG4uZGgpO24uTEEuc3Vic2NyaWJlKCJsaWNlbnNlZXJyb3IiLG4uYm8sbik7bi5MQS5zdWJzY3JpYmUoInF1YWxpdHljaGFuZ2UiLG4uVzQsbik7bi5MQS5zdWJzY3JpYmUoImhlYXJ0YmVhdHBhcmFtcyIsbi5iWixuKTtuLkxBLnN1YnNjcmliZSgia2V5c3RhdHVzZXNjaGFuZ2UiLG4uWVYsbik7bi5MQS5zdWJzY3JpYmUoImN0bXAiLG4uVSxuKTtmb3IobGV0IGsgb2Ygbi5EYi5rZXlzKVc9bi5EYi5nZXQoayksbi5MQS5XbihXKTtuLlMoImh0bWw1X2VtZV9sb2FkZXJfc3luYyIpfHxuLkRiLlRpKCl9fWVsc2Ugbi5QVigiZm10LnVucGxheWFibGUiLDEsIkhUTUw1X05PX0FWQUlMQUJMRV9GT1JNQVRTX0ZBTExCQUNLIiwKInRyZy51cGRhdGVkcm0iKX1yZXR1cm4gdn07CmNkPWZ1bmN0aW9uKG4sVyl7bi5CLmVCJiZuLkIuWnQoKS5OLlFRKG5hKT9TayhuLkIuZUIsVywoKT0+e0p1KG4uQik7bi5CLmVCPXZvaWQgMDtXKCl9KTpXKCl9OwpvQXQ9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGEuTixEPXtjcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxjOm4uQi5OLmMsY3ZlcjpuLkIuTi5jdmVyfTtmb3IobGV0IFtoLHhdb2YgT2JqZWN0LmVudHJpZXMoRCkpe0Q9aDt2YXIgYj14O2Zvcih2YXIgdiBvZiBPYmplY3QudmFsdWVzKFcuTikpdi5YYi5jSihELGIpO1cuWT8uY0ooRCxiKX12PW4uQjtEPW4udmlkZW9EYXRhO2I9bi5pajtXPW5ldyBnLlQ0Mih2KTt2YXIgaz1OOFooe2hhc1N1YmZyYWdtZW50ZWRGbXA0OkQuaGFzU3ViZnJhZ21lbnRlZEZtcDQsSTI6RC5JMn0pO1cuVj1rO1cuTz1ELm1heFJlYWRBaGVhZE1lZGlhVGltZU1zLzFFM3x8Vy5PO2IuWC5MZygpPT09Yi5wb2xpY3kuTj9XLmpXPTEwOlcualc9RC5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcy8xRTN8fFcualc7Vy5MSz1ELnJlYWRBaGVhZEdyb3d0aFJhdGVNcy8xRTN8fFcuTEs7RC5RNiYmKFcuWD0hMCk7Vy5OZj0hYWQoKTtnLms2KHYpfHwKIWFkKCk/KFcuZSQ9ODM4ODYwOCxXLnZKPTUyNDI4OCxXLklNPTUsVy5ISj0xMDQ4NTc2LFcuVDQ9MS41LFcuTnM9NDU4NzUyMCxsYigpJiYoVy5Ocz03ODY0MzIpLFcuSyo9MS4xLFcuY0oqPTEuMSxXLm1oPSEwKTp2LmomJihXLksqPTEuMyxXLmNKKj0xLjMpO2cub2QmJmcudWIoImNya2V5IikmJihrPXYuTi5jbW9kZWw9PT0iQ0hST01FQ0FTVC9BTkNIT1ZZIixXLmUkPTIwOTcxNTIwLFcudko9MTU3Mjg2NCxrJiYoVy5Ocz04MTI1MDAsVy5iTj0xRTMsVy5Saz01LFcuSEo9MjA5NzE1MikpO2cuYW8mJihXLm1oPSEwKTt2LnN1cHBvcnRzR2FwbGVzc0F1ZGlvKCl8fChXLkRUPSExKTtnLldYJiYoVy5ZJD0hMCk7Vy5zVj12LlMoImh0bWw1X3BlYWtfc2hhdmUiKTtELmhxKCkmJnYuUygiaHRtbDVfZGlzYWJsZV9wZWFrX3NoYXZlX2Zvcl9vbmVzaWUiKSYmKFcuc1Y9ITEpO2s9RC5OPy5YKCk7aWYoSTQoRCkpe1cuZVY9ITA7Vy5VVHx8KFcuZlI9ITApO1cuUFg9ITA7Vy5TVj0hMDtXLllyPQohMDtpZihELmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyJ8fEQubGF0ZW5jeUNsYXNzPT09IkxPVyImJiF2LlMoImh0bWw1X2Rpc2FibGVfbG93X3BpcGVsaW5lIikpVy53bz0yLFcuQ3k9NDtXLnNKPUQuZGVmcmFnZ2VkRnJvbVN1YmZyYWdtZW50cztnLnBBKEQpJiYoVy5CVj0hMSk7Vy5DbT1nLkdsKHYpfUQuaXNBZCgpJiYoVy50TT0wLFcuSFk9MCk7Vy5UNz12LlMoImh0bWw1X3VsdHJhX2xvd19sYXRlbmN5X3N1YnNlZ21lbnRfcmVhZGFoZWFkIikmJkQubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIjtXLlc9di5XWCgpO2IuSi5YPUk0KEQpPy41OjA7RC5pc0xpdmVQbGF5YmFjayYmKFcuV2M9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9mb3JfbGl2ZV9zZWNzIil8fC4yNSxXLm51PSExKTtELk1pKCkmJihXLm51PSExKTtXLnFqPSF2LlMoImh0bWw1X3NhYnJfa2VlcF9hbGxfcXVhbGl0eV9jb25zdHJhaW50cyIpO1cuQjM9CkxBKEQpO2hEKEQpJiYoVy5UNz0hMCxELmxhdGVuY3lDbGFzcz09PSJMT1ciP1cud2E9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0Iik6RC5sYXRlbmN5Q2xhc3M9PT0iVUxUUkFMT1ciJiYoVy53YT1nLmRNKHYuZXhwZXJpbWVudHMsImh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXQiKSksVy5iQj0hMCk7RC56VygpJiYoVy53eT0xLjMpO1cuWSQ9Vy5ZJHx8RC5mUjtXLkhpPShXLkhpfHxELkhpKSYmdi5LO1cuVjY9RC5LO3YuV1goKSYmKFcuUmE9ITApO0QuSyYmIWsmJihXLktvPSEwKTtELksmJkQuaXNBZCgpJiYoVy5LKj0xLjYsVy5jSio9MS42KTtPUyhEKSYmKFcuSj1ELnZpZGVvSWQsVy52bj0hMCxXLnN6PTEwMCxELnhoJiZELnhoLmxlbmd0aD4wJiYoVy5iVj1ELnhoKSk7Vy5lQj1ELlo5O1cublM9REsodix7fSxELld8fHZvaWQgMCxReihEKSk7Vy5iZD1SUShEKSYmKGcuTVYodil8fAp0dSh2KSk7Zy5ZTihEKSYmKFcuaj0hMCxXLkU1PWcuazYodikmJiFnLmQ4KCk/ITE6ITAsIVcuZTQmJnYuUygiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9jbGllbnRfcmVxdWVzdF9jYW5jZWxsYXRpb24iKSYmKFcudlg9ITAsVy5DdT0hMCxXLlRJPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9yZXF1ZXN0X2NhbmNlbGxhdGlvbl90aW1lb3V0X21zIil8fDhFMyxXLnN6PWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl90aW1lb3V0X3JldHJ5X2xpbWl0Iil8fDMpLHYuUygiaHRtbDVfc2Ficl9yZXBvcnRfcGFydGlhbF9zZWdtZW50X2VzdGltYXRlZF9kdXJhdGlvbiIpJiYoVy5SRD0hMCksVy5OPSEwLFcudkY9di5TKCJodG1sNV90cmlnZ2VyX2xvYWRlcl93aGVuX2lkbGVfbmV0d29yayIpLFcuSjg9di5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpLApXLmNMPXYuUygiaHRtbDVfY29uc3VtZV9vbmVzaWVfbmV4dF9yZXF1ZXN0X3BvbGljeV9mb3Jfc2FiciIpLFcuQVY9di5TKCJodG1sNV9sb2dfaGlnaF9yZXNfYnVmZmVyX3RpbWVsaW5lIikmJnYuV1goKSxXLmZDPXYuUygiaHRtbDVfZ2FwbGVzc19zYWJyX2J0bF9sYXN0X3NsaWNlIikmJkFKKEQpLFcucG89di5TKCJodG1sNV9yZXNldF9sYXN0X2FwcGVuZGVkX3NsaWNlX29uX3NlZWsiKSYmQUooRCksSTQoRCkmJihXLlZIPSEwLFcuUyQ9ITAsdi5TKCJodG1sNV9zaW1wbGlmaWVkX2JhY2t1cF90aW1lb3V0X3NhYnJfbGl2ZSIpJiYoVy5DdT0hMCxXLmJOPVcuZlopKSxXLmg4PXYuUygiaHRtbDVfc2VydmVfc3RhcnRfc2Vjb25kc19zZWVrX2Zvcl9wb3N0X2xpdmVfc2FiciIpLFcuczU9di5TKCJodG1sNV9mbHVzaF9pbmRleF9vbl91cGRhdGVkX3RpbWVzdGFtcF9vZmZzZXQiKSxXLlk9Zy5ZTihEKSxXLm9UPXYuUygiaHRtbDVfaWdub3JlX3BhcnRpYWxfc2VnbWVudF9mcm9tX2xpdmVfcmVhZGFoZWFkIiksCnYuUygiaHRtbDVfaW5jbHVkZV9wYXJ0aWFsX3NlZ21lbnRfZm9yX2p1bWJvX2xsIikmJmhEKEQpJiYoVy5vVD0hMSksVy5zMz12LlMoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIiksVy5sbj12LlMoImh0bWw1X2NlbnRyYWxpemVkX3BsYXllcl90aW1lX2xpdmUiKSYmZy5ZTihEKSYmRC5pc0xpdmVQbGF5YmFja3x8di5TKCJodG1sNV91c2VfY2VudHJhbGl6ZWRfcGxheWVyX3RpbWUiKSYmZy5ZTihEKSxXLkdDPXYuUygiaHRtbDVfbG9nX2NlbnRyYWxpemVkX3BsYXllcl90aW1lIiksVy5BeD12LlMoImh0bWw1X3VzZV9jZW50cmFsaXplZF9wbGF5ZXJfdGltZV9maXhlcyIpJiZnLllOKEQpLFcuclc9di5TKCJodG1sNV9jb25zdW1lX29uZXNpZV9zYWJyX3NlZWsiKSxXLnR3PXYuUygiaHRtbDVfZW5hYmxlX3NhYnJfc2Vla19sb2FkZXJfcmVmYWN0b3IiKSxELmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYoVy5VMT0hMCxXLldLPXYuUygiaHRtbDVfcmVzZXRfc2VydmVyX3N0aXRjaF9zdGF0ZV9mb3Jfbm9uX3NhYnJfc2VlayIpLApXLmllPXYuUygiaHRtbDVfcmVtb3ZlX3NzZGFpX2FwcGVuZF9wYXVzZSIpJiYhRC5ERigpLFcueXc9di5TKCJodG1sNV9zc2RhaV9sb2dfc3NldnRfaW5fbG9hZGVyX3RpbWVycyIpKSxXLkVaPXYuV1goKSxXLmxhdGVuY3lDbGFzcz1ELmxhdGVuY3lDbGFzcyxXLm1EPSFELnpXKCkmJnYuUygiaHRtbDVfcHJlYnVmZmVyX2luc3RyZWFtX21lZGlhX3ZvZCIpKTtXLnlFPWcubU8oRCk7Vy5Rcj12LlMoImh0bWw1X2VuYWJsZV9zYWJyX290Zl9pbl9jbGllbnQiKTtpZihELk5QKCl8fEQuaXNBZCgpKVcuZ089ITE7RC56VygpJiZ2LmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqdk0pJiYoYj1ELmxDPy5nZXQoImlkIikpJiZiLmluY2x1ZGVzKCIlN0UiKSYmKFcuV2k9ITApO1NKKHYuVyxBVC5CSVRSQVRFKSYmKFcuTnM9TmFOKTtpZihiPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfcmVxdWVzdF9zaXplX21heF9rYiIpKVcuSEo9YioxMDI0O2lmKHYuVy5KKVcucFI9IjsgIitBVC5FWFBFUklNRU5UQUwubmFtZSsKIj1hbGxvd2VkIjtlbHNlIGlmKHYuZXhwZXJpbWVudHMudzAoKS5OLlFRKENSaSkmJmcuZDgoKSl7bGV0IHtuYW1lOmgsdmFsaWQ6eH09QVQuVFVOTkVMTU9ERTtXLnBSPWA7ICR7aH09JHt4fWB9dj1ELnNlcnZlclBsYXliYWNrU3RhcnRDb25maWc7dj8uZW5hYmxlJiZ2Py5wbGF5YmFja1N0YXJ0UG9saWN5JiYoVy5GZT0hMCxsUyhXLHYucGxheWJhY2tTdGFydFBvbGljeSwyKSk7dj1CNFUobik7bi5EYi5UaSgpO2E6e0Q9bi50Yi5RcDtpZihiPW4udmlkZW9EYXRhLnZpZGVvSWQpaWYoaz1ELk4uZ2V0KGIpKXtELk4ucmVtb3ZlKGIpO0Q9azticmVhayBhfUQ9dm9pZCAwfW4ubG9hZGVyPW5ldyBnLlc4KG4sbi5paixXLG4udmlkZW9EYXRhLk4sbi52aWRlb0RhdGEuVyxUWShuKSx2LG4udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpLEQsbi52aWRlb0RhdGEuelIpO2lmKG4udmlkZW9EYXRhLlMoImh0bWw1X2Rpc2FibGVfcHJlbG9hZF9mb3Jfc3NkYWlfd2l0aF9wcmVyb2xsIikmJgpuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmbi5PUCgpKVc9ITA7ZWxzZSBpZihXPW4uTkwpVz1nLms2KG4uQikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiYoIW4uQi5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIil8fCFuLnZpZGVvRGF0YS5saXZlUHJlbG9hZHx8bi5CLlp0KCkuTi5RUShIcCkpO24ubG9hZGVyLmluaXRpYWxpemUobi5nZXRDdXJyZW50VGltZSgpLFRZKG4pLFcpO24udmlkZW9EYXRhLnByb2JlVXJsJiYobi5sb2FkZXIuQnY9bi52aWRlb0RhdGEucHJvYmVVcmwpO2lmKG4uaWwubGVuZ3RofHxuLk5MKW4udmlkZW9EYXRhLmNvdG58fG4ucEMoITEpO21vKG4uZGEsbi5sb2FkZXIpO24uc1UmJihuLmxvYWRlci5FVyhuLnNVKSxuLlUoInNkYWkiLHtzZGw6MX0pKTtnLm1NKG4udmlkZW9EYXRhKSYmKG49bi5sb2FkZXIsbi5wb2xpY3kueGg9bi5wb2xpY3kuVnMpfTsKUWE9ZnVuY3Rpb24obil7bi5xTigpO2lmKCFuLmpILmZpbmlzaGVkJiZuLkxSLmZpbmlzaGVkJiYhbi5wbGF5ZXJTdGF0ZS5OKDEyOCkmJiFuLmlsLmxlbmd0aCl7aWYoIW4ud0kuc3RhcnRlZCl7dmFyIFc9bi53STtXLnN0YXJ0ZWQ9ITA7Vy5KKCl9aWYoIW4uSm4oKSl7bi5sb2FkZXImJihuLm5VPW4ubG9hZGVyLnpzKCEwKT4wKTtuLmpILmZpbmlzaGVkfHwobi5qSC5maW5pc2hlZD0hMCk7Vz1uLlMoImh0bWw1X29uZXNpZV9saXZlIikmJm4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpOyFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8bi52aWRlb0RhdGEuVEM+MCYmIUk0KG4udmlkZW9EYXRhKXx8V3x8SWMobil8fChuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9yZWFkeWluZyIsc2Vla1NvdXJjZToxOH0pLG4uaXNCYWNrZ3JvdW5kKCkmJihuLlRsPSEwKSk7Vz1uLkJYO2lmKFcucW9lKXtXPVcucW9lO2xldCBiPVcucHJvdmlkZXIudmlkZW9EYXRhLHY9Vy5wcm92aWRlci5COwpmb3IodmFyIEQgb2Ygdi5reSluQyhXLEQpO2lmKFcucHJvdmlkZXIuUygiaHRtbDVfZW5hYmxlX3FvZV9jYXRfbGlzdCIpKWZvcihsZXQgayBvZiBiLmtLKW5DKFcsayk7ZWxzZSBiLmt5JiZuQyhXLFcucHJvdmlkZXIudmlkZW9EYXRhLmt5KTtiLnpXKCkmJihEPWIuTixJNChiKSYmbkMoVywibWFuaWZlc3RsZXNzIiksRCYmb28oRCkmJm5DKFcsYGxpdmUtc2VnbWVudC0ke29vKEQpLnRvRml4ZWQoMSl9YCkpO2cuWU4oYik/bkMoVywic2FiciIpOlcueiQoeHAoYikpO2lmKHB6KGIpfHxiLkRGKCkpYi5ERigpJiZuQyhXLCJzc2EiKSxuQyhXLCJsaWZhIik7TkkoYikmJm5DKFcsImNkbSIpO2IuZ2F0ZXdheUV4cGVyaW1lbnRHcm91cCYmKEQ9Yi5nYXRld2F5RXhwZXJpbWVudEdyb3VwLEQ9PT0iRVhQRVJJTUVOVF9HUk9VUF9TUElLWV9BRF9CUkVBS19FWFBFUklNRU5UIj9EPSJzcGthZHRydCI6RD09PSJFWFBFUklNRU5UX0dST1VQX1NQSUtZX0FEX0JSRUFLX0NPTlRST0wiJiYoRD0KInNwa2FkY3RybCIpLG5DKFcsRCkpO3YuViE9PSJ5dCImJlcuSi5zZXQoImxlbiIsW2IubGVuZ3RoU2Vjb25kcy50b0ZpeGVkKDIpXSk7Yi5jb3RuJiYhT1MoYikmJlF1KFcsITApO3YuV1goKSYmKEQ9UlFVKCkpJiZXLlUoImNibHQiLHttOkR9KTt2LlMoImh0bWw1X2xvZ19zY3JlZW5fZGlhZ29uYWwiKSYmVy5VKCJjYmx0ZGlhZyIse3Y6d2luZG93Lkg1dmNjU2NyZWVuPy5HZXREaWFnb25hbD93aW5kb3cuSDV2Y2NTY3JlZW4uR2V0RGlhZ29uYWwoKTowfSl9bi5XSigicGxheWJhY2tyZWFkeSIpO2cudlAoInBsX2MiLG4ubVEudGltZXJOYW1lKXx8KG4ubVEudGljaygicGxfYyIpLGcuZ18oInBsX2MiLHZvaWQgMCwidmlkZW9fdG9fYWQiKSk7Zy52UCgicGJyIixuLm1RLnRpbWVyTmFtZSl8fChuLm1RLnRpY2soInBiciIpLGcuZ18oInBiciIsdm9pZCAwLCJ2aWRlb190b19hZCIpKX19fTsKVmE9ZnVuY3Rpb24obixXKXtuLnBsYXllclN0YXRlLk4oMTI4KXx8KG4uQk4od1Mobi5wbGF5ZXJTdGF0ZSwxMDI4LDkpKSxuLlUoImRvbXBhdXNlZCIse3I6V30pLG4uV0ooIm9uQXV0b3BsYXlCbG9ja2VkIikpfTsKZy5EVD1mdW5jdGlvbihuKXt2YXIgVz1UWShuKTtyZXR1cm4geEooVyl8fCFuLkRoP251bGw6Zy5sXyhuLkRoLk4udmlkZW9JbmZvcyxEPT5XLlgoRCkpfTsKdVY9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aC5KPUQ7dmFyIHg9Zy5EVChuKTtEPW5ldyBGck0oRCxXLHg/eC5pdGFnOiIiLGIsdik7aWYoay5xb2Upe2s9ay5xb2U7Yj12PWcuUmsoay5wcm92aWRlcik7eD1bRC5OLmlkLEQuSixrLnM1LEQucmVhc29uXTtrLkR0fHx4LnB1c2goTFRiKGssRCkpO0QudG9rZW4mJngucHVzaChELnRva2VuKTtnLndqKGssYiwidmZzIix4KTtrLnM1PUQuTi5pZDt4PWsucHJvdmlkZXIuTC5nZXRQbGF5ZXJTaXplKCk7aWYoeC53aWR0aD4wJiZ4LmhlaWdodD4wKXt4PVtNYXRoLnJvdW5kKHgud2lkdGgpLE1hdGgucm91bmQoeC5oZWlnaHQpXTtsZXQgTD1nLkhfKCk7TD4xJiZ4LnB1c2goTCk7Zy53aihrLGIsInZpZXciLHgpfWsuRHR8fChrLnByb3ZpZGVyLkIuV1goKSYmKG5DKGssInJxcyIpLG5DKGssInJxczIiKSksay5wcm92aWRlci52aWRlb0RhdGEuTiYmR18oay5wcm92aWRlci52aWRlb0RhdGEuTikmJmsuSi5zZXQoInByZWxvYWQiLApbIjEiXSkpO2suRHQ9ITA7ay5WPSEwO0QucmVhc29uPT09Im0iJiYrK2suc1Y9PT0xMDAmJmJtKGssMik7Zy53aihrLHYsInZwcyIsW2suTl0pO2suZSR8fGsucmVwb3J0U3RhdHModil9RD1uLmhVO0QuSj0wO0QuTj0wO24uV0ooImludGVybmFsdmlkZW9mb3JtYXRjaGFuZ2UiLGgsVz09PSJtIil9OwpUWT1mdW5jdGlvbihuKXtpZihuLkRoKXt2YXIgVz1uLmhVO3ZhciBEPW4uRGg7bj1uLmcwKCk7dmFyIGI9Wm1oKFcpO2lmKHhKKGIpKXtpZihiPVcuTWgoRCkuY29tcG9zZSh5SXIoVyxEKSkuY29tcG9zZShpbXIoVyxEKSkuY29tcG9zZShaVihXLEQudmlkZW9EYXRhKSkuY29tcG9zZShVWChXLEQudmlkZW9EYXRhLEQpKS5jb21wb3NlKHkzKFcsRCkpLmNvbXBvc2UoaW0oVyxEKSkseEoobil8fFcuUygiaHRtbDVfYXBwbHlfcGJyX2NhcF9mb3JfZHJtIikpe3ZhciB2PWIuY29tcG9zZTtpZihXLlMoImh0bWw1X2Rpc2FibGVfdXN0cmVhbWVyX2NvbnN0cmFpbnRfZm9yX3NhYnIiKSYmZy5ZTihELnZpZGVvRGF0YSkpdmFyIGs9WVo7ZWxzZSBrPVcuTC51dSgpLFcuUygiaHRtbDVfdXNlX3ZpZGVvX3F1YWxpdHlfY2FwX2Zvcl91c3RyZWFtZXJfY29uc3RyYWludCIpJiZrJiZrLlFvPjAmJnhKKEQudmlkZW9EYXRhLkIzKSYmKGs9ay5RbyxELnZpZGVvRGF0YS5CMz1uZXcgYjMoMCxrLCExLAoidSIpKSxrPUQudmlkZW9EYXRhLkIzO2I9di5jYWxsKGIsayl9fWVsc2UgVy5TKCJodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3kiKSYmKGI9Yi5jb21wb3NlKHkzKFcsRCkpKTtiPWIuY29tcG9zZShpbShXLEQpKTtXPUQudmlkZW9EYXRhLkxLLmNvbXBvc2UoYikuY29tcG9zZShELnZpZGVvRGF0YS5MSCkuY29tcG9zZShuKX1lbHNlIFc9WVo7cmV0dXJuIFd9Owp3c2k9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aWYoRCE9PWguWCl7dmFyIHg9IWguWDtoLlg9RDt2YXIgTD1XPT09Im0ifHxXPT09InQiO0x8fChXPXg/ImkiOiJhIik7Vz1uZXcgRnJNKEQsVywiIixiLHYpO2lmKGsucW9lKXtrPWsucW9lO0Q9Zy5SayhrLnByb3ZpZGVyKTtsZXQgRz1bXTtpZihXLk4uaWQhPT1rLkZGKXtiPVtXLk4uaWQsay5GRixXLnJlYXNvbl07dj1HO3ZhciBlPXYucHVzaDtsZXQgcj1bXSxOPWsucHJvdmlkZXIudmlkZW9EYXRhLmhnLk4sSD1XLk4uYXVkaW8/Lko/P04/LlFPO0g9PW51bGx8fGlzTmFOKEgpfHxyLnB1c2goYGZsLiR7SH1gKTtOJiYoTi5mb3JtYXRJZCYmTi5mb3JtYXRJZCE9PVcuTi5pZCYmay5VKCJhZ2MiLHtxb2VtaXNtYXRjaDoiMSIsYWdjX2ZtdDpOLmZvcm1hdElkLGFmbXQ6Vy5OLmlkfSksTi5weT09bnVsbHx8aXNOYU4oTi5weSl8fHIucHVzaChgdGwuJHtOLnB5fWApLE4uRHk9PW51bGx8fGlzTmFOKE4uRHkpfHwKci5wdXNoKGB2Zy4ke04uRHl9YCksTi53RyE9PTAmJnIucHVzaChgbm0uJHtOLndHfWApKTtlLmNhbGwodiwuLi5yKTtXLnJlYXNvbj09PSJpIiYmRy5wdXNoKExUYihrLFcpKTtHLmxlbmd0aD4wJiZiLnB1c2goRy5qb2luKCI7IikpO1cudG9rZW4mJmIucHVzaChXLnRva2VuKTtnLndqKGssRCwiYWZzIixiKTtrLkZGPVcuTi5pZH19bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsaCwheCYmTCl9fTsKTXl4PWZ1bmN0aW9uKG4pe3ZhciBXPSJsb2Fkc3RhcnQgbG9hZGVkbWV0YWRhdGEgcGxheSBwbGF5aW5nIHByb2dyZXNzIHBhdXNlIGVuZGVkIHN1c3BlbmQgc2Vla2luZyBzZWVrZWQgdGltZXVwZGF0ZSBkdXJhdGlvbmNoYW5nZSByYXRlY2hhbmdlIGVycm9yIHdhaXRpbmcgcmVzaXplIi5zcGxpdCgiICIpO2ZvcihsZXQgRCBvZiBXKW4uczkuTk4obi5tZWRpYUVsZW1lbnQsRCxuLmlVLG4pO24uQi5EVCYmbi5tZWRpYUVsZW1lbnQuSygpJiYobi5zOS5OTihuLm1lZGlhRWxlbWVudCwid2Via2l0cGxheWJhY2t0YXJnZXRhdmFpbGFiaWxpdHljaGFuZ2VkIixuLnZrLG4pLG4uczkuTk4obi5tZWRpYUVsZW1lbnQsIndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkIixuLk9rLG4pKX07Ck9VaD1mdW5jdGlvbihuKXtpZihuLm1lZGlhU291cmNlKWlmKG4uSzEoKSxuLm1lZGlhU291cmNlLkspdHJ5e24uQi5XWCgpJiZuLlUoInJtcyIse2w6InZwcm1zIixzcjpuLnBnKCkscnM6bi5tZWRpYVNvdXJjZS5XKCl9KSxuLm1lZGlhU291cmNlLmNsZWFyKCksbi5tZWRpYUVsZW1lbnQ/LkhKKG4ubWVkaWFTb3VyY2UpLG4ubWVkaWFTb3VyY2U9bnVsbH1jYXRjaChEKXt2YXIgVz1uZXcgZy5ReChgRXJyb3Igd2hpbGUgY2xlYXJpbmcgTWVkaWEgU291cmNlIGluIFZpZGVvUGxheWVyOiAke0QubmFtZX0sICR7RC5tZXNzYWdlfWApO1c9QiQoVyk7bi5oYW5kbGVFcnJvcihXKTtuLm15KCl9ZWxzZSBuLm15KCl9Owpkcz1mdW5jdGlvbihuKXtuLkxBJiYobi5MQS5kaXNwb3NlKCksbi5MQT1udWxsKX07ClJwVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmbi5tZWRpYUVsZW1lbnQuRTgoKSYmKG4uVFY9KDAsZy5SKSgpKTtuLkIudEc/Zy5uJCgoKT0+e2J2KG4pfSwwKTpidihuKX07CmJ2PWZ1bmN0aW9uKG4pe2lmKCFuLm1lZGlhU291cmNlPy5nWCgpKXtpZihuLm1lZGlhRWxlbWVudCl0cnl7bi5Mdz1uLm1lZGlhRWxlbWVudC5wbGF5VmlkZW8oKX1jYXRjaChXKXtWYShuLGBlcnIuJHtXfWApfWlmKG4uTHcpe2xldCBXPW4uTHc7Vy50aGVuKHZvaWQgMCxEPT57aWYoIShuLnBsYXllclN0YXRlLk4oNCl8fG4ucGxheWVyU3RhdGUuTigyNTYpfHxuLkx3IT09V3x8RCYmRC5uYW1lPT09IkFib3J0RXJyb3IiJiZELm1lc3NhZ2UmJkQubWVzc2FnZS5pbmNsdWRlcygibG9hZCIpKSl7bGV0IGI9InByb21pc2UiO0QmJkQubmFtZSYmKGIrPWA7bS4ke0QubmFtZX1gKTtWYShuLGIpO24uVzE9ITA7bi52aWRlb0RhdGEuZkI9ITB9fSl9fX07CkE2aj1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubWVkaWFTb3VyY2UpcmV0dXJuIG4ubWVkaWFTb3VyY2UuajtRdmkobixXKTtyZXR1cm4gbi5VeigpPy50dygpfHxudWxsfTsKZDEyPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9bnVsbDtuLnZpZGVvRGF0YS5XPy5OKCk/KEQ9QTZqKG4sVyksbi5sb2FkZXI/LnJlc3VtZSgpKTood3Mobiksbi52aWRlb0RhdGEuY0omJihEPW4udmlkZW9EYXRhLmNKLkooKSkpO3JldHVybiBEfTsKYXZaPWZ1bmN0aW9uKG4sVyl7aWYoVy5OLnZpZGVvLnF1YWxpdHk9PT0iYXV0byImJlcua0woKS5XKCkpaWYobi5TKCJodG1sNV9obHNfcmVwb3J0X3BzZXVkb19pdGFnIikmJm4udmlkZW9EYXRhLmhsc3ZwKXt2YXIgRD1uLlVKKCk7aWYoRCYmRC52aWRlb0hlaWdodD4wJiZELnZpZGVvV2lkdGg+MCl7dmFyIGI9RC52aWRlb0hlaWdodDtEPUQudmlkZW9XaWR0aDthOntuPW4uTEE/Lk4uZmxhdm9yPT09ImZhaXJwbGF5Ij9WeVU6YzZaO2Zvcih2IG9mIG4paWYoYj49di5taW5IZWlnaHQpe3ZhciB2PXYuaXRhZzticmVhayBhfXY9IiJ9aWYodilyZXR1cm4gbmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse3ZpZGVvOm5ldyBIUihELGIpfSl9fWVsc2UgaWYobi52aWRlb0RhdGEubnUpZm9yKGIgb2Ygbi52aWRlb0RhdGEubnUpaWYoYi5nZXRIZWlnaHQoKT09PW4uejEmJmIuTi52aWRlby5xdWFsaXR5IT09ImF1dG8iKXJldHVybiBiLmtMKCk7cmV0dXJuIFcua0woKX07Cm5CQz1mdW5jdGlvbihuKXtyZXR1cm4hIShuLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKSYmZy5HbiYmbi52aWRlb0RhdGEuSj8uVygpKX07ClcxaT1mdW5jdGlvbihuKXtpZighbkJDKG4pKXJldHVybiExO249bi5tZWRpYUVsZW1lbnQ/LmF1ZGlvVHJhY2tzKCk7cmV0dXJuISEobiYmbi5sZW5ndGg+MSl9OwpiNHQ9ZnVuY3Rpb24obil7dmFyIFc9RGdDKG4pO2lmKFcpe3ZhciBEPXY4W1ddfHxXO3JldHVybiBuLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLmZpbmQoYj0+Yi5rWi5nZXROYW1lKCk9PT1EKX19OwpEZ0M9ZnVuY3Rpb24obil7aWYobj1uLm1lZGlhRWxlbWVudD8uYXVkaW9UcmFja3MoKSlmb3IobGV0IFc9MDtXPG4ubGVuZ3RoOysrVyl7bGV0IEQ9bltXXTtpZihELmVuYWJsZWQpcmV0dXJuIEQubGFiZWx9fTsKdkIyPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpO2lmKFcpe3ZhciBEPVtdO2ZvcihsZXQgdj0wO3Y8Vy5sZW5ndGg7Kyt2KXt2YXIgYj1XW3ZdO2I9bmV3IFdBKGIubGFiZWwsbmV3IHdQKHY4W2IubGFiZWxdfHxiLmxhYmVsLGIubGFiZWwsITEpKTtELnB1c2goYil9bi52aWRlb0RhdGEudm49RH19OwpCNFU9ZnVuY3Rpb24obil7dmFyIFcsRD1uLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLGI9bi5CLkhKO2ImJihXPUQuZmluZCh2PT52LmdldExhbmd1YWdlSW5mbygpLmlkPT09YikpOwppZihuLkIuZXhwZXJpbWVudHMuRXEoImVuYWJsZV9hdWRpb19kZXNjcmlwdGlvbl9zZXR0aW5nIikmJmcubzkoKS5RUSgxOTgpKWZvcihsZXQgdiBvZiBEKWlmKHYuail7Vz12O2JyZWFrfW4uWnQoKS5OLlFRKGtxTSkmJm4udmlkZW9EYXRhLmNvdG4mJihXPUQuZmluZCh2PT4hIXYuVikpOwpXfHwobj1uLmdldEF1ZGlvVHJhY2soKSxXPW4ua1ouaXNEZWZhdWx0P3ZvaWQgMDpuKTtyZXR1cm4gV307ClF2aT1mdW5jdGlvbihuLFc9ITEpe3RyeXtnLmQ4KCkmJm4udmlkZW9EYXRhLm1WKCkmJm4ubWVkaWFFbGVtZW50LlBYKCk7bGV0IGI9bi5veSgpLHY9bi5DZCgpO2lmKG4ubWVkaWFFbGVtZW50LmlzVmlldygpJiZuLm1lZGlhRWxlbWVudC5NZCYmKCFuLkZTKCl8fCFuLm1lZGlhRWxlbWVudC5ZJChiLHYpKSl7bi5CLldYKCkmJm4uVSgidXNtIix7ZmFsbGJhY2s6ITAscmVhc29uOm4uRlMoKT8iY29kZWMiOiJwb2xpY3kifSk7bGV0IGs9bi5tZWRpYUVsZW1lbnQubWVkaWFFbGVtZW50O2s/LlBYKCk7az8uc3RvcFZpZGVvKCk7bi5kYS5zZXRNZWRpYUVsZW1lbnQobnVsbCk7bi5zZXRNZWRpYUVsZW1lbnQoaywhMCl9dmFyIEQ9bi5tZWRpYUVsZW1lbnQuVXooYix2KX1jYXRjaChiKXtpZihLQyhuLkFJLCJodG1sNS5taXNzaW5nYXBpIix7dXBkYXRlTXM6IjEifSkpcmV0dXJuO2NvbnNvbGUuZXJyb3IoIndpbmRvdy5VUkwgb2JqZWN0IG92ZXJ3cml0dGVuIGJ5IGV4dGVybmFsIGNvZGUiLApiKTtuLlBWKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInVwZGF0ZU1zLjEiKTtyZXR1cm59bi5ubShELCExLCExLFcpfTsKaExaPWZ1bmN0aW9uKG4sVz0hMSl7aWYobi5sb2FkZXIpe24udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZuLmxvYWRlci5rSSgpO2xldCBEPW4uZ2V0Q3VycmVudFRpbWUoKS1uLlNXKCk7bi5sb2FkZXIuc2VlayhELHtBTTpXfSkuc1AoKCk9Pnt9KX1lbHNlIGNkKG4sKCk9PntuLnFOKCl8fG4ubG9hZGVyfHxvQXQobil9KX07CkwxYj1mdW5jdGlvbihuLFcsRD0hMSxiPSExLHY9ITEpeyFuLm1lZGlhU291cmNlfHxXJiZuLm1lZGlhU291cmNlIT09V3x8KFc9bi5nZXREdXJhdGlvbigpLCFXJiZJNChuLnZpZGVvRGF0YSkmJihXPTI1MjAwLG4ubG4oKSYmKFc9NDY4MDApKSxuLm1lZGlhU291cmNlLmlzVmlldz9XPm4ubWVkaWFTb3VyY2UuZ2V0RHVyYXRpb24oKSYmeGdaKG4sVyk6eGdaKG4sVyksVz0oKT0+e24ucU4oKXx8KEltaShuLmxvYWRlcixuLm1lZGlhU291cmNlLEQsYix2KSxuLldKKCJtZWRpYXNvdXJjZWF0dGFjaGVkIikpfSxuLmxvYWRlcj9XKCk6Y2QobixXKSl9Owp4Z1o9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiYobi5tZWRpYVNvdXJjZS5hVChXKSxuLmxvYWRlcj8uaFcoVykpfTsKZUxoPWZ1bmN0aW9uKG4sVyl7aWYobi5CLldYKCkmJm4ubWVkaWFFbGVtZW50KXtsZXQgRD1uLm1lZGlhRWxlbWVudC55cigpO0Qub210PShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpK24uU1coKSkudG9GaXhlZCgzKTtELnBzPW4ucGxheWVyU3RhdGUuc3RhdGUudG9TdHJpbmcoMTYpO0QucnQ9KGcuUmsobi5CWC5wcm92aWRlcikqMUUzKS50b0ZpeGVkKCk7RC5lPVc7bi5CRltuLmtRKyslNV09RH19OwpnQnI9ZnVuY3Rpb24obil7aWYoZy51YigiY29iYWx0IikmJmcudWIoIm5pbnRlbmRvIHN3aXRjaCIpKXt2YXIgVz0hd2luZG93Lm1hdGNoTWVkaWEoInNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcyMHB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyMDBkcGkpIikubWF0Y2hlcztuLlUoIm54ZG9jayIse2Q6V30pfX07ClhhUz1mdW5jdGlvbihuKXtEcihuLm53KTtrUChuKXx8KG4ubnc9VzAoKCk9PmtQKG4pLDEwMCkpfTsKa1A9ZnVuY3Rpb24obil7dmFyIFc9bi5tZWRpYUVsZW1lbnQ7VyYmbi5BbCYmIW4udmlkZW9EYXRhLlkmJiFnLnZQKCJ2ZnAiLG4ubVEudGltZXJOYW1lKSYmVy5YKCk+PTImJiFXLmlzRW5kZWQoKSYmTSQoVy5KKCkpJiZuLm1RLnRpY2soInZmcCIpO3JldHVybihXPW4ubWVkaWFFbGVtZW50KSYmIW4udmlkZW9EYXRhLlkmJlcuZ2V0RHVyYXRpb24oKT4wJiYoVy5pc1BhdXNlZCgpJiZXLlgoKT49MiYmTSQoVy5KKCkpJiYoZy52UCgicGJwIixuLm1RLnRpbWVyTmFtZSl8fG4ubVEudGljaygicGJwIiksIW4udmlkZW9EYXRhLkR0fHxuLlZ0fHxXLmlzU2Vla2luZygpfHwobi5WdD0hMCxuLldKKCJvblBsYXliYWNrUGF1c2VBdFN0YXJ0IikpKSxXPVcuZ2V0Q3VycmVudFRpbWUoKSxxOShuLlZlLFcpJiYoIW4udmlkZW9EYXRhLlJvfHwhbi5wbGF5ZXJTdGF0ZS5OKDE2KSkpPyhuLmUyKCksITApOiExfTsKaDU9ZnVuY3Rpb24obixXKXtuLkIuUygiaHRtbDVfbG9nX3JlYnVmZmVyX3JlYXNvbiIpJiYoVz17cjpXLGxhY3Q6Zy52SSgpfSxuLm1lZGlhRWxlbWVudCYmKFcuYmg9bi5tZWRpYUVsZW1lbnQuenMoKSksbi5VKCJidWZyZWFzb24iLFcpKX07CnFhVT1mdW5jdGlvbihuKXtuLkJYLm9uUHJvZ3Jlc3MoKTtpZihnLkRQKG4udmlkZW9EYXRhKSYmRGF0ZS5ub3coKT5uLmhhKzYyODMpe2lmKG4udmlkZW9EYXRhLk4mJiFFayhuLnZpZGVvRGF0YS5OKSl7dmFyIFc9bi5CWDtpZihXLnFvZSl7Vz1XLnFvZTt2YXIgRD1XLnByb3ZpZGVyLkwuSEsoKSxiPWcuUmsoVy5wcm92aWRlcik7VnUoVyxiLEQpO2xldCB2PUQuVztEPUQuWDtpc05hTih2KXx8KCFpc05hTihEKSYmRD9nLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKSxELnRvRml4ZWQoMyldKTpnLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKV0pKX19Vz1nLkdsKG4uQik7Yj1uLlMoImh0bWw1X2Fsd2F5c19sb2dfcmF3bGF0Iik7KFd8fGIpJiZuLlUoInJhd2xhdCIse2w6Wjcobi5GNSwicmF3bGl2ZWxhdGVuY3kiKS50b0ZpeGVkKDMpfSk7bi5oYT1EYXRlLm5vdygpfW4udmlkZW9EYXRhLkomJm4udmlkZW9EYXRhLkouVygpJiYoVz1uLlVKKCkpJiZXLnZpZGVvSGVpZ2h0IT09Cm4uejEmJihuLnoxPVcudmlkZW9IZWlnaHQsdVYobiwiYSIsYXZaKG4sbi52aWRlb0RhdGEuY0opKSl9OwpHcU09ZnVuY3Rpb24obil7aWYobi5CLldYKCkpe24uQkYuc29ydCgoVyxEKT0+K1cucnQtK0QucnQpOwpmb3IobGV0IFcgb2Ygbi5CRiluLlUoInZwZSIsT2JqZWN0LmFzc2lnbih7dDpXLnJ0fSxXKSk7bi5CRj1bXTtuLmtRPTB9fTsKenBpPWZ1bmN0aW9uKG4sVyl7bi5tUS50aWNrKCJ2dGEiKTtnLmdfKCJ2dGEiLHZvaWQgMCwidmlkZW9fdG9fYWQiKTtuLmdldEN1cnJlbnRUaW1lKCk+MCYmUnlpKG4uZGEsbi5nZXRDdXJyZW50VGltZSgpKTtuLm1lZGlhRWxlbWVudC5EKFcpO24ubWVkaWFTb3VyY2UmJmJRKDQpOyFuLnZpZGVvRGF0YS5ZJiZuLnBsYXllclN0YXRlLmlzT3JXaWxsQmVQbGF5aW5nKCkmJm4uQl8uc3RhcnQoKTtuQkMobikmJihXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpKSYmKFcub25hZGR0cmFjaz0oKT0+e3ZCMihuKX0sVy5vbnJlbW92ZXRyYWNrPSgpPT57dkIyKG4pfSxXLm9uY2hhbmdlPSgpPT57bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsbi52aWRlb0RhdGEsITApfSl9Owp0aVM9ZnVuY3Rpb24obil7bj1uLmFwaS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO249bi5pc0N1ZWQoKXx8bi5pc0Vycm9yKCk/Im5vbmUiOm4uaXNPcldpbGxCZVBsYXlpbmcoKT8icGxheWluZyI6InBhdXNlZCI7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5wbGF5YmFja1N0YXRlPW59OwokZ0M9ZnVuY3Rpb24obil7aWYobi5OKWlmKG4uYXBpLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXRyeXt4UCh7ZHVyYXRpb246SW5maW5pdHl9KX1jYXRjaChXKXt4UCgpfWVsc2V7aWYobi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnpLKCkpe2xldCBXPW4uYXBpLmdldFByb2dyZXNzU3RhdGUoKS5zZWVrYWJsZUVuZCxEPU1hdGgubWluKG4uYXBpLmdldEN1cnJlbnRUaW1lKCksVyk7aWYoVyYmTnVtYmVyLmlzRmluaXRlKEQpKXt4UCh7ZHVyYXRpb246VyxwbGF5YmFja1JhdGU6bi5hcGkuZ2V0UGxheWJhY2tSYXRlKCkscG9zaXRpb246RH0pO3JldHVybn19eFAoKX19OwpMYT1mdW5jdGlvbihuLFcpe3RyeXtuYXZpZ2F0b3IubWVkaWFTZXNzaW9uLnNldEFjdGlvbkhhbmRsZXIobixXKX1jYXRjaChEKXt9fTsKclBoPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKCFufHwhbi50aHVtYm5haWxzKXJldHVybiBXO2ZvcihsZXQgRCBvZiBuLnRodW1ibmFpbHMpRC51cmwmJighRC53aWR0aHx8RC53aWR0aDw9MHx8IUQuaGVpZ2h0fHxELmhlaWdodDw9MHx8Zy5qSShELnVybCkmJlcucHVzaCh7c3JjOkQudXJsfHwiIixzaXplczpgJHtELndpZHRofXgke0QuaGVpZ2h0fWAsdHlwZToiaW1hZ2UvanBlZyJ9KSk7cmV0dXJuIFd9OwpzVVM9ZnVuY3Rpb24obil7TGEoInBsYXkiLCgpPT57bi5hcGkucGxheVZpZGVvKCk7ZWwobil9KTsKTGEoInBhdXNlIiwoKT0+e24uYXBpLnBhdXNlVmlkZW8oKTtlbChuKX0pOwpMYSgic2Vla2JhY2t3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSgtNSpuLmFwaS5nZXRQbGF5YmFja1JhdGUoKSk7ZWwobil9KTsKTGEoInNlZWtmb3J3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSg1Km4uYXBpLmdldFBsYXliYWNrUmF0ZSgpKTtlbChuKX0pOwpMYSgic2Vla3RvIixXPT57Vz1XLnNlZWtUaW1lO1chPW51bGwmJm4uYXBpLnNlZWtUbyhXKTtlbChuKX0pfTsKZWw9ZnVuY3Rpb24obil7bi5hcGkuUygid2ViX3Jlc2V0X2xhY3Rfb25fbWVkaWFfYWN0aW9ucyIpJiZuLmFwaS51cGRhdGVMYXN0QWN0aXZlVGltZSgpfTsKeFA9ZnVuY3Rpb24obil7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5zZXRQb3NpdGlvblN0YXRlKG4pfTsKcGFNPWZ1bmN0aW9uKG4pe2lmKG49bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LmdldFBsYXllclJlc3BvbnNlKCk/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKWlmKG49Zy53KG4uY29tcG9zaXRlVmlkZW9PdmVybGF5LE5LeCksbj8uc291cmNlcz8ubGVuZ3RoKWZvcihsZXQgVyBvZiBuPy5zb3VyY2VzKWlmKFcuaXNBY3RpdmUpcmV0dXJuIFd9OwpnOT1mdW5jdGlvbihuKXtuLk49dm9pZCAwO24uVy5jbGVhcigpO24uYXBpLk5wKCJjb21wb3NpdGVlbWJhcmdvIiwxKX07ClhZPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tSZWxhdGl2ZVBvc2l0aW9uPy51dGNUaW1lTXMpLzFFMztsZXQgYj1XK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSx2PWBjb21wb3NpdGVfZW1iYXJnb18ke1d9YDtpZihELm9uRW50ZXIpe2xldCBrPUQub25FbnRlci5maWx0ZXIobi5WKTtrLmxlbmd0aCYmKG4uVy5zZXQodixrKSxuLmFwaS5hZGRVdGNDdWVSYW5nZSh2LFcsYiwiY29tcG9zaXRlZW1iYXJnbyIsITEpKX19fTsKSDR0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPy5pZCE9PVcuaWQmJihuLmFwaS5xVyghMCksbi5XLmhhcyhXLmlkKSkpe3ZhciBEPW4uVy5nZXQoVy5pZCksYj1uLmFwaS5nZXRWaWRlb0RhdGEoKTtmb3IobGV0IHYgb2YgRClEPXYuY29tcG9zaXRlRW1iYXJnbz8uZW1iYXJnb1N0YXR1c1Rva2VuLGIucFIhPT1EJiYoYi5wUj1ELG4uYXBpLm5DKCkpLFlhVShuLFcpfX07CmZwaT1mdW5jdGlvbihuLFcpe2lmKG4uTj8uaWQ9PT1XLmlkJiYobi5hcGkucVcoITEpLG4uVy5oYXMoVy5pZCkpKXtpZihXPW4uYXBpLmdldFZpZGVvRGF0YSgpKVcucFI9dm9pZCAwO24uYXBpLm5DKCk7WWFVKG4pfX07CkpQTT1mdW5jdGlvbihuLFcpe24uY29tcG9zaXRlVmlkZW9TdGF0ZSE9PW51bGwmJihXLnBsYXliYWNrU3RhdGV8fChXLnBsYXliYWNrU3RhdGU9e30pLFcucGxheWJhY2tTdGF0ZS5jb21wb3NpdGVWaWRlb1N0YXRlPW4uY29tcG9zaXRlVmlkZW9TdGF0ZSl9OwpJcEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uYXBpLmdldFZpZGVvRGF0YSh7dm86ITF9KTtiPy5VKCJhdHJrY2hnIix7aWQ6VyxtOkR9KTtpZihiJiYhYi5JTSgpKXtEPW4uYXBpLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7Zm9yKGxldCB2IG9mIEQpaWYodi5nZXRMYW5ndWFnZUluZm8oKS5nZXRJZCgpPT09Vyl7bi5hcGkuRygpLkhKPVc7YnJlYWt9fX07ClNhTT1mdW5jdGlvbihuLFcpe1chPT1uLksmJihuLks9VyxuLkouSigpLFcmJihuLkouTk4obi5hcGksIm1vZHVsZWNyZWF0ZWQiLEQ9Pnt2YXIgYj1wYU0obik7RD09PSJjYXB0aW9ucyImJmI/LnRvcExlZnRDb3JuZXJYIT09dm9pZCAwJiZiPy50b3BMZWZ0Q29ybmVyWSE9PXZvaWQgMCYmYj8ud2lkdGghPT12b2lkIDAmJmI/LmhlaWdodCE9PXZvaWQgMCYmbi5hcGkuVG4oe3RvcDpiLnRvcExlZnRDb3JuZXJZLHJpZ2h0OjEtYi50b3BMZWZ0Q29ybmVyWC1iLndpZHRoLGJvdHRvbToxLWIudG9wTGVmdENvcm5lclktYi5oZWlnaHQsbGVmdDpiLnRvcExlZnRDb3JuZXJYfSl9KSxuLkouTk4obi5hcGksZy5veSgiY29tcG9zaXRlZW1iYXJnbyIpLEQ9PntINHQobixEKX0pLG4uSi5OTihuLmFwaSxnLmR2KCJjb21wb3NpdGVlbWJhcmdvIiksRD0+e2ZwaShuLEQpfSksbi5KLk5OKG4uYXBpLCJoZWFydGJlYXRSZXF1ZXN0IixEPT57SlBNKG4sRCl9KSxuLkouTk4obi5hcGksImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiLAooRCxiKT0+e0lwQyhuLEQsYil9KSxuLkouTk4obi5hcGksIm9uUGxheWJhY2tBdWRpb0NoYW5nZSIsKCk9PntuLmFwaS5uQygpfSkpKX07CllhVT1mdW5jdGlvbihuLFcpe24uTj8uaWQhPT1XPy5pZCYmKG4uTiYmKG4uVy5kZWxldGUobi5OLmlkKSxuLmFwaS5VTyhbbi5OXSwxKSksbi5OPVcpfTsKQVAyPWZ1bmN0aW9uKG4pe249bj8ucXVhbGl0eURldGFpbHN8fFtdO3JldHVybiBnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKT9uOm4ucmVkdWNlKChXLHtrZXk6RCx2YWx1ZTpifSk9PntEJiZiJiYoV1tEXT1iKTtyZXR1cm4gV30se30pfTsKbWdoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVc/MTU2NTk1OjE1MTg3NDtmb3IobGV0IGggb2Ygbil7dmFyIGs9aC52aWRlbztuPXtmb3JtYXRJZDpoLmlkLHF1YWxpdHlMYWJlbDprLnF1YWxpdHlMYWJlbCxxdWFsaXR5OmsucXVhbGl0eSxpc1BsYXlhYmxlOld9O2lmKGs9RFtrLnF1YWxpdHlMYWJlbF0pbi5wYXlnYXRlZFF1YWxpdHlEZXRhaWxzPXtwYXlnYXRlZEluZGljYXRvclRleHQ6ay5wYXlnYXRlZEluZGljYXRvclRleHQsZW5kcG9pbnQ6ay5lbmRwb2ludCx2ZVR5cGU6dix0cmFja2luZ1BhcmFtczprLnRyYWNraW5nUGFyYW1zfTtiLnB1c2gobil9cmV0dXJuIGJ9OwpPNEM9ZnVuY3Rpb24obil7cVQoKSYmKG4ubVE9bi5hcGkuZUcoKSxuLk49bmV3IFk2LG4uVz0yLG4ubVEuU2woInB0X3Bpc2giKSx3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz93aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaygoKT0+e0sxVShuKX0pOksxVShuKSl9OwpxVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuYW5kcm9pZCYmd2luZG93LmFuZHJvaWQud2VidmlldyYmd2luZG93LmFuZHJvaWQud2Vidmlldy5nZXRFeHBlcmltZW50YWxNZWRpYUludGVncml0eVRva2VuUHJvdmlkZXJ9OwpLMVU9ZnVuY3Rpb24obil7aWYocVQoKSl7bi5tUT1uLmFwaS5lRygpO24ubVEuU2woInB0X3BpcyIpO3RyeXt3aW5kb3cuYW5kcm9pZC53ZWJ2aWV3LmdldEV4cGVyaW1lbnRhbE1lZGlhSW50ZWdyaXR5VG9rZW5Qcm92aWRlcih7Y2xvdWRQcm9qZWN0TnVtYmVyOjg2ODYxODY3Njk1Mn0pLnRoZW4oVz0+e24uSj1XO24uTj8ucmVzb2x2ZSgpO24ubVEuU2woInB0X3BpZiIpfSkuY2F0Y2goVz0+e0dHKFcsInBsYXllcl9zdGFydCIpOwpuLm1RLlNsKCJwdF9waWUiKTtuLk4/LnJlamVjdChXKX0pfWNhdGNoKFcpe0dHKFcsInBsYXllcl9zdGFydF9jYXRjaCIpLG4uYXBpLlUoInBmZXMiLHt9KSxuLk4/LnJlamVjdChXKX19fTsKR0c9ZnVuY3Rpb24obixXKXtuLm1lc3NhZ2UmJmcuR3EoRXJyb3IoYCR7V31fJHtuLm1lc3NhZ2V9YCkpfTsKUGd4PWZ1bmN0aW9uKG4sVyl7aWYobi5KKXt2YXIgRD1XLnZpZGVvSWQ7bi5XPTM7bi5tUS5TbCgicHRfbXMiKTt0cnl7bi5KLnJlcXVlc3RUb2tlbihEKS50aGVuKGI9PntuLm1RLlNsKCJwdF9tZiIpO2lmKGI9Zy5kMShiKSlXLnpmPXtZdDpifX0pLmNhdGNoKGI9PntuLm1RLlNsKCJwdF9tZSIpOwpHRyhiLCJwbGF5ZXJfZ2VuZXJhdGUiKTtuLmhhbmRsZUVycm9yKGIsVyl9KX1jYXRjaChiKXtHRyhiLCJwbGF5ZXJfZ2VuZXJhdGVfY2F0Y2giKSxuLmhhbmRsZUVycm9yKGIsVyl9fX07Clo0eD1mdW5jdGlvbihuLFcpe2cueDYobi5hcGkuRygpKSYmKFc/bi5qLnNob3coKTpuLmouaGlkZSgpKX07CnlQaj1mdW5jdGlvbihuKXtuLlg8bi5KLmxlbmd0aD9VZzIobik6KG4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KDEpLk4oMikmJihuLlY9ITApLG4uTj0hMCxuLlg9MCxuLkoubGVuZ3RoPTAsbi5hcGkuWDkoKSxuLk49ITEpfTsKRUJDPWZ1bmN0aW9uKG4pe3ZhciB7aW50ZXJzdGl0aWFsczpXfT1uLmFwaS5nZXRWaWRlb0RhdGEoKSxEPVtdO2ZvcihsZXQgTCBvZiBXKXtXPUQ7dmFyIGI9Vy5wdXNoLHY9bixrPUwucGxheWVyVmFycyxoPUwua3EseD1MLnRpbWU7bGV0IGU9YHl0by0ke3YuWSsrfWA7eD1uZXcgZy5sNSh4LHgse2lkOmUscHJpb3JpdHk6NyxuYW1lc3BhY2U6Inl0byJ9KTt2LktbZV09e3BsYXllclZhcnM6ayxwbGF5ZXJUeXBlOmh9O2IuY2FsbChXLHgpO1c9bi5hcGkuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KTtXPU9iamVjdC5hc3NpZ24oe29hdXRoX3Rva2VuOlcub2F1dGhUb2tlbn0sTC5wbGF5ZXJWYXJzKTtuLmFwaS5wcmVsb2FkVmlkZW9CeVBsYXllclZhcnMoVyxMLmtxKX1uLmFwaS5naChELDEpfTsKVWcyPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSltuLlhdO2lmKFcpe3ZhciB7cGxheWVyVmFyczpELHBsYXllclR5cGU6Yn09bi5LW1ddO24uTj0hMDtuLlgrKztXPW4uYXBpLmdldFZpZGVvRGF0YSh7cGxheWVyVHlwZToxfSk7Vz1PYmplY3QuYXNzaWduKHtvYXV0aF90b2tlbjpXLm9hdXRoVG9rZW59LEQpO24uYXBpLmxvYWRWaWRlb0J5UGxheWVyVmFycyhXLCEwLGIsITApO24uTj0hMX19OwpvQnI9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7aWYoYXdhaXQgaTRVKG4pKXRyeXtsZXQgdj17a2V5Om5mKFcsInZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eSIpLHZpZGVvSWQ6VyxsYXN0UGxheWJhY2tQb3NpdGlvblNlY29uZHM6RC50b1N0cmluZygpLGxhc3RVcGRhdGVkQ2xpZW50VGltZXN0YW1wTXM6Yi50b1N0cmluZygpfTthd2FpdCBweXQobi5OLHYpO24uSiE9PVcmJihhd2FpdCB1angobiksbi5KPVcpfWNhdGNoKHYpe24uaGFuZGxlRXJyb3IoIkZhaWxlZCB0byBhZGQgb3IgdXBkYXRlIHBsYXliYWNrIHBvc2l0aW9uIix2KX1lbHNlIG4uYXBpLlUoInZwcGUiLHtwdToiYXUifSl9OwpkZ3c9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnZpZGVvSWQ7aWYoVyl7dmFyIEQ9bi5hcGkuZ2V0Q3VycmVudFRpbWUoKSxiPURhdGUubm93KCk7b0JyKG4sVyxELGIpfX07Cmk0VT1hc3luYyBmdW5jdGlvbihuKXtpZighbi5OKXt0NXx8KHQ1PUk5MigpKTtsZXQgVz1hd2FpdCB0NTtpZighVylyZXR1cm4hMTtuLk49V31yZXR1cm4hMH07CnVqeD1hc3luYyBmdW5jdGlvbihuKXtpZihuLk4pdHJ5e3ZhciBXPWF3YWl0IFVlKG4uTiwidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IiksRD1hd2FpdCBVZShuLk4sIm1haW5WaWRlb0VudGl0eSIpO2xldCBiPW5ldyBTZXQoRC5tYXAoaD0+aC52aWRlb0lkKSksdj1XLmZpbHRlcihoPT4hYi5oYXMoaC52aWRlb0lkKSk7CnYuc29ydCgoaCx4KT0+TnVtYmVyKHgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcyktTnVtYmVyKGgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcykpOwpsZXQgaz1EYXRlLm5vdygpLTg2NEU1O1c9W107Zm9yKEQ9MDtEPHYubGVuZ3RoO0QrKyl7bGV0IGg9dltEXTsoRD49bi5XfHxOdW1iZXIoaC5sYXN0VXBkYXRlZENsaWVudFRpbWVzdGFtcE1zKTxrKSYmaC5rZXkmJlcucHVzaChoLmtleSl9Vy5sZW5ndGg+MCYmKG4uYXBpLlUoInZwcGUiLHtleHA6Vy5sZW5ndGh9KSxhd2FpdCBIaHcobi5OLFcpKX1jYXRjaChiKXtuLmhhbmRsZUVycm9yKCJGYWlsZWQgdG8gZXhwaXJlIHBsYXliYWNrIHBvc2l0aW9uIixiKX19Owp6TFo9ZnVuY3Rpb24obil7L1teYS16QS1aMC05Oy4hXy1dLy50ZXN0KG4pJiYobj1uLnJlcGxhY2UoL1srXS9nLCItIikucmVwbGFjZSgvW15hLXpBLVowLTk7LiFfLV0vZywiXyIpKTtyZXR1cm4gbn07CmxwMj1mdW5jdGlvbihuKXtyZXR1cm4gd2luZG93LlByb2ZpbGVyJiZuZXcgd2luZG93LlByb2ZpbGVyKG4pfTsKalVVPWZ1bmN0aW9uKG4pe3ZhciBXPW4uc2FtcGxlSW50ZXJ2YWwsRD1uLm1heEJ1ZmZlclNpemU7aWYoIW4ucU4oKSYmVz4wJiZEPjAmJiFuLk4mJm4uVzwxRTcpdHJ5e24uWD1scDIoe3NhbXBsZUludGVydmFsOlcsbWF4QnVmZmVyU2l6ZTpEfSksbi5YPy5hZGRFdmVudExpc3RlbmVyKCJzYW1wbGVidWZmZXJmdWxsIixhc3luYygpPT57YXdhaXQgVEt3KG4pO2pVVShuKX0pfWNhdGNoKGIpe24uTj16TFooYi5tZXNzYWdlKSxuLkooKX19OwpUS3c9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2xldCBXPWF3YWl0IG4uWD8uc3RvcCgpO1cmJm4ubG9nVHJhY2UoVyl9Y2F0Y2goVyl7bi5OPXpMWihXLm1lc3NhZ2UpLG4uSigpfX07ClJMdD1mdW5jdGlvbihuLFcsRCl7aWYoRCl7dmFyIGI9IiI7Q2d0KG4sVykmJihiPVcsbi5hcGkuRygpLkhKPVcpO2ImJkJLQyhuLGIpJiYodnRDKG4uYXBpLGIpLFNrKGZFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKT8uVigpKSx2PT57dmFyIGs9YjtGMXcodikhPT1rJiZ3YVMobixNaWkodikse3N0cmluZ1ZhbHVlOmt9KX0pKX19OwpRVVo9ZnVuY3Rpb24obil7QXMoKT8uc2l6ZSYmU2soZkUobi5hcGkuRygpLG4uYXBpLmdldFZpZGVvRGF0YSgpPy5WKCkpLFc9PnsoVz1GMXcoVykpJiZCS0MobixXKSYmKG4uYXBpLkcoKS5ISj1XKX0pfTsKQ2d0PWZ1bmN0aW9uKG4sVyl7bj1uLmFwaS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpO2ZvcihsZXQgRCBvZiBuKWlmKEQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKT09PVcpcmV0dXJuIEQ7cmV0dXJuIG51bGx9OwpCS0M9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zcGxpdCgiLiIpWzBdIT09IiImJm4uYXBpLmdldFZpZGVvRGF0YSgpPy5JTSgpfTsKRjF3PWZ1bmN0aW9uKG4pe3tuPU1paShuKTtsZXQgVz1BcygpO249Vz9XLmdldChuKTp2b2lkIDB9cmV0dXJuIG4mJm4uc3RyaW5nVmFsdWU/bi5zdHJpbmdWYWx1ZToiIn07CndhUz1mdW5jdGlvbihuLFcsRCl7VmliKFt7c2V0dGluZ0l0ZW1JZDpXLHNldHRpbmdPcHRpb25WYWx1ZTpEfV0pO1NrKG4uWW8oKSxiPT57QkdNKGIsVyxEKX0pfTsKTWlpPWZ1bmN0aW9uKG4pe3ZhciBXPSg0ODQpLnRvU3RyaW5nKCk7biYmKFc9KDQ4MykudG9TdHJpbmcoKSk7cmV0dXJuIFd9OwpWaWI9ZnVuY3Rpb24obil7dmFyIFc9QXMoKTtXfHwoVz1uZXcgTWFwKTtmb3IobGV0IEQgb2YgbilXLnNldChELnNldHRpbmdJdGVtSWQsRC5zZXR0aW5nT3B0aW9uVmFsdWUpO249SlNPTi5zdHJpbmdpZnkoT2JqZWN0LmZyb21FbnRyaWVzKFcpKTtnLlBCKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIsbiwyNTkyRTMpfTsKcjk9ZnVuY3Rpb24obil7bi5qPW51bGw7bi5LPW51bGw7bi5OTigkUCgib3ZlciIpLG4uWjEpO24uTk4oInRvdWNoc3RhcnQiLG4uWSk7bi5OJiZuLk5OKCRQKCJkb3duIiksbi5WUSl9Owpzcj1mdW5jdGlvbihuKXtuLlguSighbi5OKX07CiRQPWZ1bmN0aW9uKG4pe3JldHVybiB3aW5kb3cubmF2aWdhdG9yLm1zUG9pbnRlckVuYWJsZWQ/YE1TUG9pbnRlciR7bi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke24uc3Vic3RyaW5nKDEpfWA6YG1vdXNlJHtufWB9OwpOVD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmY1BiP2cuSksobil8fGRvY3VtZW50OmRvY3VtZW50fTsKYXB4PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEPTA7RDxXLmNoYW5nZWRUb3VjaGVzLmxlbmd0aDtEKyspe2xldCBiPVcuY2hhbmdlZFRvdWNoZXNbRF07aWYoYi5pZGVudGlmaWVyPT09bi5LKXJldHVybiBifXJldHVybiBudWxsfTsKblZyPWZ1bmN0aW9uKG4pe2NQYj1ufTsKV3F4PWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVyl7Vz1OdW1iZXIoYi5wbGF5YmFja1JlbGF0aXZlUG9zaXRpb24/LnV0Y1RpbWVNcykvMUUzO2xldCB2PVcrTnVtYmVyKGIuZHVyYXRpb24/LnNlY29uZHMpLGs9YHN0YXRpb25zOiR7RH06JHtXfWA7bi5KLmhhcyhrKXx8KG4uSi5hZGQoayksYi5vbkVudGVyJiYobi5OW2tdPWIub25FbnRlciksbi5hcGkuYWRkVXRjQ3VlUmFuZ2UoayxXLHYsRCwhMSkpfX07CkpKPWZ1bmN0aW9uKG4pe3ZhciBXPS9jb2RlY3M9IihbXiJdKikiLy5leGVjKG4ubWltZVR5cGUpO3JldHVybiBXJiZXWzFdP1dbMV0rIiAoIituLml0YWcrIikiOm4uaXRhZ307CnBhPWZ1bmN0aW9uKG4sVyl7aWYobi5oZWlnaHRQeD09PS0xKXt2YXIgRD1udWxsO3RyeXtEPWcuekYoIkNBTlZBUyIpLG4uVz1ELmdldENvbnRleHQoIjJkIil9Y2F0Y2goaCl7fWlmKG4uVyl7dmFyIGI9bi5OKm4uc2FtcGxlQ291bnQ7bi5qPUQ7bi5qLndpZHRoPWI7bi5qLnN0eWxlLndpZHRoPWAke2J9cHhgO24uZWxlbWVudC5hcHBlbmRDaGlsZChuLmopfWVsc2UgZm9yKG4uc2FtcGxlQ291bnQ9TWF0aC5mbG9vcihuLnNhbXBsZUNvdW50LzQpLG4uTio9NCxEPTA7RDxuLnNhbXBsZUNvdW50O0QrKyliPWcuekYoIlNQQU4iKSxiLnN0eWxlLndpZHRoPWAke24uTn1weGAsYi5zdHlsZS5sZWZ0PWAke24uTipEfXB4YCxuLmVsZW1lbnQuYXBwZW5kQ2hpbGQoYil9RD1uLmVsZW1lbnQuY2xpZW50SGVpZ2h0fHwyNDtEIT09bi5oZWlnaHRQeCYmKG4uaGVpZ2h0UHg9RCxuLlcmJihEPSh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk+MT8yOjEsbi5qLmhlaWdodD1uLmhlaWdodFB4KgpELG4uai5zdHlsZS5oZWlnaHQ9YCR7bi5oZWlnaHRQeH1weGAsbi5XLnNjYWxlKDEsRCkpKTtmb3IodmFyIHYgb2YgVyl7Vz1uO3ZhciBrPW4uaW5kZXg7Zm9yKEQ9MDtEKzI8Vy5WLmxlbmd0aCYmVy5WW0QrMV08djspRCsrO2I9TWF0aC5taW4oMSwodi1XLlZbRF0pLyhXLlZbRCsxXS1XLlZbRF0pKTtpZihXLlcpVy5XLmZpbGxTdHlsZT1XLktbRF0sVy5XLmZpbGxSZWN0KGsqVy5OLDAsVy5OLFcuaGVpZ2h0UHgpLFcuVy5maWxsU3R5bGU9Vy5LW0QrMV0sVy5XLmZpbGxSZWN0KGsqVy5OLFcuaGVpZ2h0UHgqKDEtYiksVy5OLFcuaGVpZ2h0UHgpO2Vsc2V7az1XLmVsZW1lbnQuY2hpbGRyZW5ba107bGV0IGg9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE7Yj1NYXRoLm1pbihXLmhlaWdodFB4LE1hdGgucm91bmQoVy5oZWlnaHRQeCpiKmgpL2gpfHwwO2suc3R5bGUuaGVpZ2h0PWAke2J9cHhgO2suc3R5bGUuYmFja2dyb3VuZENvbG9yPVcuS1tEKzFdO2suc3R5bGUuYm9yZGVyVG9wPQpgc29saWQgJHtXLmhlaWdodFB4LWJ9cHggJHtXLktbRF19YH1uLmluZGV4PShuLmluZGV4KzEpJW4uc2FtcGxlQ291bnR9dj1uLmluZGV4O24uVz9uLlcuY2xlYXJSZWN0KHYqbi5OLDAsbi5OLG4uaGVpZ2h0UHgpOihuPW4uZWxlbWVudC5jaGlsZHJlblt2XSxuLnN0eWxlLmhlaWdodD0iMHB4IixuLnN0eWxlLmJvcmRlclRvcD0iIil9OwpiQng9ZnVuY3Rpb24obixXKXt2YXIgRD0hIW4uTj8uRTUoKTtuLk58fChuLk49bmV3IERRTShuLmFwaSksZy51KG4sbi5OKSxnLnJ2KG4uYXBpLG4uTi5lbGVtZW50LDQpKTtuLk4uTUwoVyk7dmFyIGI9R3Uobi5hcGkuSjUoKSk7YiYmYi5sb2FkZWQmJkQhPT1XJiZiLm5HKCk7VyYmbi5hcGkuVSgic2ZuIix7fSwhMCl9Owp2VjI9ZnVuY3Rpb24obixXKXtpZihuLlc9PT12b2lkIDApcmV0dXJuITE7aWYoVy5zZWVrRGlyZWN0aW9uPT09IlRJTUVMWV9BQ1RJT05fVFJJR0dFUl9ESVJFQ1RJT05fRk9SV0FSRCImJk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzKXtpZihXPW4uVz09PTcyKW4uWD0iVElNRUxZX0FDVElPTl9UUklHR0VSX1NPVVJDRV9LRVlCT0FSRF9GT1JXQVJEX1NFRUtfRklWRV9TRUNPTkRTIjtyZXR1cm4gV31pZihXLnNlZWtEaXJlY3Rpb249PT0iVElNRUxZX0FDVElPTl9UUklHR0VSX0RJUkVDVElPTl9GT1JXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQpe2lmKFc9bi5XPT09NzQpbi5YPSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfU09VUkNFX0tFWUJPQVJEX0ZPUldBUkRfU0VFS19URU5fU0VDT05EUyI7cmV0dXJuIFd9cmV0dXJuIFcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmCk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzP24uVz09PTcxOlcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQ/bi5XPT09NzM6ITF9Owprd3c9ZnVuY3Rpb24obil7bi50aW1lbHlBY3Rpb25zJiYobi5qPW4udGltZWx5QWN0aW9ucy5yZWR1Y2UoKFcsRCk9PntpZihELmN1ZVJhbmdlSWQ9PT12b2lkIDApcmV0dXJuIFc7V1tELmN1ZVJhbmdlSWRdPTA7cmV0dXJuIFd9LHt9KSl9OwpZUD1mdW5jdGlvbihuKXtuLmNKJiZjbGVhclRpbWVvdXQobi5jSik7bi5jSj12b2lkIDA7bi5PPSExfTsKZmE9ZnVuY3Rpb24obil7aWYobi5OIT09dm9pZCAwKXt2YXIgVz0oVz1IOChuLG4uTikpJiZXLm9uQ3VlUmFuZ2VFbnRlcj9nLk40KFcub25DdWVSYW5nZUVudGVyKTp2b2lkIDA7dmFyIEQ9SDgobixuLk4pO2E6aWYoRCYmRC5hZGRpdGlvbmFsVHJpZ2dlcil7Zm9yKGIgb2YgRC5hZGRpdGlvbmFsVHJpZ2dlcilpZihiLnR5cGUmJigwLG4uYmRbYi50eXBlXSk/LihiLmFyZ3M/P3t9KSl7dmFyIGI9ITA7YnJlYWsgYX1iPSExfWVsc2UgYj0hMDtXJiZiJiYoZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsVyksaGJqKG4sRCksbi5qW24uTl0hPT12b2lkIDAmJm4ualtuLk5dKyssbi5PPSEwKX19OwpIOD1mdW5jdGlvbihuLFcpe2lmKG4udGltZWx5QWN0aW9ucylmb3IobGV0IEQgb2Ygbi50aW1lbHlBY3Rpb25zKWlmKEQuY3VlUmFuZ2VJZD09PVcpcmV0dXJuIER9Owp4UXc9ZnVuY3Rpb24obixXKXtpZigobj1IOChuLFcpKSYmbi5vbkN1ZVJhbmdlRXhpdClyZXR1cm4gZy5ONChuLm9uQ3VlUmFuZ2VFeGl0KX07Cmhiaj1mdW5jdGlvbihuLFcpe3ZhciBEPU51bWJlcihXPy5tYXhWaXNpYmxlRHVyYXRpb25NaWxsaXNlY29uZHMpO0QmJihZUChuKSxuLmNKPXNldFRpbWVvdXQoKCk9PntpZihuLk4hPT12b2lkIDAmJlc/LmN1ZVJhbmdlSWQ9PT1uLk4pe24uTz0hMTtuLlg9dm9pZCAwO3ZhciBiPXhRdyhuLG4uTik7YiYmZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsYil9fSxEKSl9Owp2YXIgZmFpPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtyZXR1cm4gaXBbSVsxMF1dKHRoaXMsNCw1ODg5LG4sVyxELGIsdixrKX07CmdWaD1mdW5jdGlvbihuKXtpZihuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKSlpZihuPWcudyhuLnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LnRpbWVseUFjdGlvbnNPdmVybGF5Vmlld01vZGVsLExxQyksbj8udGltZWx5QWN0aW9ucylyZXR1cm4gbj8udGltZWx5QWN0aW9ucy5tYXAoVz0+Zy53KFcsZWJyKSkuZmlsdGVyKFc9PiEhVyl9OwpKNT1mdW5jdGlvbihuKXtuLk4hPT1udWxsJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUjA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47KG48PDEmMTUpPT0yJiZEW0lbMjVdXSgpO2lmKChuLTh8MTcpPG4mJihuLTZeMjIpPj1uKXt2YXIgaD1EW2JdLHg9aFtJW2teNzM1NF1dKElba143MzA5XSk7eD4wP0VjKGteNzM1NSxrXjEyOTAsdixoW0lba143MzU5XV0oMCx4KSxoW0lba143MzU5XV0oeCsxKSk6aCYmKHZbaF09SVtrXjczNTddKTt2YXIgTD1bXX1pZigobiYyNyk9PW4pe2lmKCEoZ1goRFtJW2teNzUzMl1dKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0OTBdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0NzZdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc1MzNdKSkpdGhyb3cgbmV3IGcuUXgoSVtrXjc0ODBdLERbSVtrXjc1MzJdXSk7aD1scihEW0lba143NTMyXV0pO0RbSVtrXjc1MjddXT1oW0lba143NTQwXV07RFtJW2teNzUxNF1dPWhbSVsxXV0rKGhbSVtrXjc1MDhdXSE9bnVsbD9gOiR7aFtJW2teNzUwOF1dfWA6Cklba143NTI4XSk7eD1oW0lba143NTMyXV07eFtJW2teNzUxOF1dKElba143NTM4XSk/KERbSVtrXjc1MjFdXT1JW2teNzUzOF0seD14W0lba143NTMwXV0oa143NTM5KSk6eFtJW2teNzUxOF1dKElba143NTIzXSk/KERbSVtrXjc1MjFdXT1JW2teNzUyM10seD14W0lba143NTMwXV0oa143NTM2KSk6eFtJW2teNzUxOF1dKElba143NDc1XSk/KHg9aXAoa143NTI5LGteODgwLHgsRCkseD14WzBdKTooRFtJW2teNzUyMV1dPXgseD1JW2teNzUyOF0pO3ZhciBlPURbSVsxXV07RFtJWzFdXT1pcChrXjc1MzMsa143NzcxLHgpO09iamVjdFtJW2teNzUzOV1dKERbSVsxXV0sZzcoMixrXjc1MDAsaFtJW2teNzUxNF1dW0lbMF1dKCkpKTtPYmplY3RbSVtrXjc1MzldXShEW0lbMV1dLGUpO0RbSVsxXV1bSVtrXjc0NzNdXT09PUlba143NTAxXSYmKGRlbGV0ZSBEW0lbMV1dW0lba143NDczXV0sRFtJW2teNzUyMV1dKz1JW2teNzQ4N10pO0RbSVtrXjc1MzJdXT1JW2teNzUyOF07RFtJW2teNzUyMF1dPQpJW2teNzUyOF07RFtJW2teNzU0MF1dJiYoaD1YRChrXjc0OTIsa14zMjg1LEQpKTtMPVtdfShuJjk5KT09biYmKGVYKGteMzQ4NSxrXjQ1NDIsRCksTD1EW0lba14zNTExXV0pO24rMyYxNXx8KEw9ZW5jb2RlVVJJQ29tcG9uZW50KEQpKTtyZXR1cm4gTH07ClhiaD1mdW5jdGlvbihuKXtKNShuKTtuLk49c2V0VGltZW91dCgoKT0+e24uaGlkZSgpfSwzRTMpfTsKSUc9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuVUooKTtpZihXKXtsZXQgRD1uLmFwaS5nZXRQbGF5ZXJTaXplKCk7Vy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke24uTipELndpZHRoKigxLW4uc2NhbGUpfXB4LCAke24uSipELmhlaWdodCooMS1uLnNjYWxlKX1weCkgc2NhbGUoJHtuLnNjYWxlfSlgO1cuc3R5bGUudHJhbnNmb3JtT3JpZ2luPSIwIDAiO1c9bi5pbmRpY2F0b3I7Vy5XLnRleHRDb250ZW50PWAke051bWJlcihuLnNjYWxlLnRvRml4ZWQoMSkpfXhgO1cuTj09PW51bGwmJlhiaChXKTtuLnNjYWxlPjE/bi5pbmRpY2F0b3Iuc2hvdygpOm4uaW5kaWNhdG9yLmhpZGUoKTtXPW4uc2NhbGU+MT8iWk9PTV9TVEFURV9GUkVFIjoiWk9PTV9TVEFURV9PUklHSU5BTCI7VyE9PW4uem9vbVN0YXRlJiYobi56b29tU3RhdGU9VyxnLnpVKCJ3YXRjaFpvb21TdGF0ZUNoYW5nZSIse3pvb21TdGF0ZTpuLnpvb21TdGF0ZX0pKX19OwpxSDE9ZnVuY3Rpb24obil7bj1uLldEKCk7aWYoIW4pcmV0dXJuITE7bj1nLm9FKG4pLmV4cHx8IiI7cmV0dXJuIG4uaW5jbHVkZXMoInhwdiIpfHxuLmluY2x1ZGVzKCJ4cGUiKX07Ckd3VT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2Ygbi5OKCEwKSlpZihxSDEoVykpcmV0dXJuITA7cmV0dXJuITF9Owp0THg9ZnVuY3Rpb24obixXKXtmb3IobGV0IGIgb2Ygbi5OKCEwKSlpZihxSDEoYikpe249Yjt2YXIgRD17cG90YzoiMSIscG90Old9O24udXJsJiYobi51cmw9Zy56ZChuLnVybCxEKSl9fTsKJFF4PWFzeW5jIGZ1bmN0aW9uKG4pe3RyeXthd2FpdCBufWNhdGNoKFcpe319OwpybU09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHF3LEQ9e1siWC1Hb29nLUFwaS1LZXkiXToiQUl6YVN5RHlUNVcwSmg0OUYzMFBxcXR5ZmRmN3BETEZLTEpvQW53In07cmV0dXJuIG5ldyBmVihXLG4sKCk9PkQpfTsKc0xiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVEgobil9OwpOYmI9ZnVuY3Rpb24obil7bi5KJiYobi5YPW5ldyBZNixuLmoucHJvbWlzZS50aGVuKCgpPT57bi5tUS5TbCgicG90X2lmIik7U2wobil9KSl9OwpIQnc9ZnVuY3Rpb24obil7dmFyIFc9KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpfHxuLlMoImh0bWw1X2dlbmVyYXRlX2NvbnRlbnRfcG9fdG9rZW4iKSkmJiFuLnVzZUxpdmluZ1Jvb21Qb1Rva2VuO3RyeXtpZihuLlMoImh0bWw1X3VzZV9zaGFyZWRfb3dsX2luc3RhbmNlIil8fG4uYXBpLkcoKS5adCgpLk4uUVEocGJNKSlZSGkobik7ZWxzZSBpZihXKXtuLm1RLlNsKCJwb3RfaXNjIik7bGV0IEQ9Zy5kTShuLmFwaS5HKCkuZXhwZXJpbWVudHMsImh0bWw1X3dlYnBvX2thaW9zX2RlZmVyX3RpbWVvdXRfbXMiKTtEPyhBNShuKSxnLm4kKCgpPT57bUEobil9LEQpKTpuLlMoImh0bWw1X3dlYnBvX2lkbGVfcHJpb3JpdHlfam9iIik/KEE1KG4pLGcuY0IoZy5EeSgpLCgpPT57bUEobil9KSk6bUEobil9fWNhdGNoKEQpe0QgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShEKX19OwpZSGk9YXN5bmMgZnVuY3Rpb24obil7S2Eobiwic3dwb19pIik7QTUobik7U2wobik7dmFyIFc9YXdhaXQgZy5NaChnLkQ2KCkpO0thKG4sInN3cG9fY28iKTtXPWF3YWl0IFp0WihXKTtuLlMoImh0bWw1X3dlYl9wb190b2tlbl9kaXNhYmxlX2NhY2hpbmciKXx8Vy55aCgxNTApO24uSj1XO0thKG4sInN3cG9fY2MiKTskUXgoVy5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCk7S2Eobiwic3dwb19yZSIpfSk7CmcubiQoKCk9PnttQShuKTtLYShuLCJzd3BvX3NpIil9LDApfTsKQTU9ZnVuY3Rpb24obil7bi5XfHwobi5XPW5XKCkpfTsKbUE9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuRygpO24ubVEuU2woInBvdF9pc3QiKTtuLkp8fGZNMShuKTtuLlMoImh0bWw1X2JhbmRhaWRfYXR0YWNoX2NvbnRlbnRfcG9fdG9rZW4iKXx8KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpJiYoU2wobiksTmJiKG4pKSxXPWcuZE0oVy5leHBlcmltZW50cywiaHRtbDVfc2Vzc2lvbl9wb190b2tlbl9pbnRlcnZhbF90aW1lX21zIil8fDAsVz4wJiYobi5ZPVcwKCgpPT57U2wobil9LFcpKSxuLks9ITApfTsKSm14PWZ1bmN0aW9uKG4pe3ZhciBXPWcuWWgobi5leHBlcmltZW50cywiaHRtbDVfd2ViX3BvX3JlcXVlc3Rfa2V5Iik7cmV0dXJuIFc/VzpnLms2KG4pPyJaMWVsTmtBS0xwU1Izb1BPVU1TTiI6Ik80M3owZHBqaGdYMjBTQ3g0S0FvIn07CkthPWZ1bmN0aW9uKG4sVyl7bi5TKCJodG1sNV93ZWJwb19iZ2VfY3RtcCIpJiZuLmFwaS5VKFcse2h3cG86ISFuLkosaHdwb3I6bi5OfSl9OwpTbD1hc3luYyBmdW5jdGlvbihuKXtpZihuLlMoImh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW4iKSYmIW4udXNlTGl2aW5nUm9vbVBvVG9rZW4pe3ZhciBXPW4uYXBpLkcoKSxEPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKXx8Zy5BcigiVklTSVRPUl9EQVRBIik7RD1XLllyP1cuZGF0YXN5bmNJZDpEO0Q9Zy5ZaChXLmV4cGVyaW1lbnRzLCJodG1sNV9tb2NrX2NvbnRlbnRfYmluZGluZ19mb3Jfc2Vzc2lvbl90b2tlbiIpfHxXLmxpdmluZ1Jvb21Qb1Rva2VuSWR8fEQ7Vy5qVz1PcihuLEQpfX07CmZNMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5HKCksRD1KbXgoVyk7RD1ybU0oRCk7dmFyIGI9RC5aai5iaW5kKEQpO0QuWmo9YXN5bmMgaz0+e2s9YXdhaXQgYihrKTtuLmFwaS5VKCJpdHIiLHt9KTtyZXR1cm4ga307CnRyeXt2YXIgdj1zTGIoe1VnOkQsa2Q6e21heEF0dGVtcHRzOjV9LHgzOntWajoiQ0xFbiIsZGlzYWJsZTpXLmV4cGVyaW1lbnRzLkVxKCJodG1sNV93ZWJfcG9fZGlzYWJsZV9yZW1vdGVfbG9nZ2luZyIpLEpwOlRwYihXLmV4cGVyaW1lbnRzKSxybzpoPT57dmFyIHg9SU0yLmdldChoKTt4fHwoeD1uZXcgU0hpKGgpLHg9bmV3IGhxKHgpLElNMi5zZXQoaCx4KSk7cmV0dXJuIHh9LApSaTpuLlMoIndwb19kaXNfbGZkbXMiKT8wOjFFM30sdDY6Zy5HcX0pO2xldCBrPW5ldyBBbXQoe08xOnYsVWc6RCxvbkVycm9yOmcuR3F9KTskUXgoay5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCl9KTsKbi5TKCJodG1sNV93ZWJfcG9fdG9rZW5fZGlzYWJsZV9jYWNoaW5nIil8fGsueWgoMTUwKTtnLnUobix2KTtnLnUobixrKTtuLko9a31jYXRjaChrKXtnLkdxKGspLHY/LmRpc3Bvc2UoKX19OwpPcj1mdW5jdGlvbihuLFcpe2lmKCFuLkope2lmKG4uVyl0cnl7cmV0dXJuIG4uVyhXKX1jYXRjaChEKXtnLkdxKEQpfXJldHVybiIifXRyeXtuLm1RLlNsKG4uTj8icG90X2NtcyI6InBvdF9jc21zIik7bGV0IEQ9e0dyOiEwLEVSOiEwLHdfOld9O24uUygiaHRtbDVfd2ViX3BvX3Rva2VuX2Rpc2FibGVfY2FjaGluZyIpfHwoRC5oRz17YW06VyxBQjohMCxyMzohMH0pO2xldCBiPW4uSi5aUihEKTtuLm1RLlNsKG4uTj8icG90X2NtZiI6InBvdF9jc21mIik7bi5OJiYobi5YPy5yZXNvbHZlKCksbi5YPW51bGwsbi5WJiYobi5WPSExLG4uYXBpLmFwcC5NTigpLmpEKCExKSkpO3JldHVybiBifWNhdGNoKEQpe3JldHVybiBnLkdxKEQpLCIifX07Cktxcj1mdW5jdGlvbihuKXt2YXIgVz1nLnFqKCk7bi5KJiZnLnhvKFcse05IOlFXLFlMOm1RU30pfTsKZy5QOD1mdW5jdGlvbihuLFcsRCl7Zy5hTCgicGJzIixXPz8oMCxnLlIpKCksRD8/bi50aW1lck5hbWUpfTsKZy5PQk09ZnVuY3Rpb24obixXLEQpe3ZhciBiPWcuQ04oVy55USkmJiFXLnlRLlg7aWYoVy55US5lViYmKEZWKFcueVEpfHxXLnlRLlk9PT0ic2hvcnRzcGFnZSJ8fFcueVEuWT09PSJsZWFuYmFjayJ8fGIpJiYhbi5XKXtuLlc9ITA7bi5WPVcuY2xpZW50UGxheWJhY2tOb25jZTtnLkFyKCJUSU1JTkdfQUNUSU9OIil8fGcuU0goIlRJTUlOR19BQ1RJT04iLG4uQi5jc2lQYWdlVHlwZSk7bi5CLmNzaVNlcnZpY2VOYW1lJiZnLlNIKCJDU0lfU0VSVklDRV9OQU1FIixuLkIuY3NpU2VydmljZU5hbWUpO2lmKG4uTil7Yj1uLk4uZUcoKTtmb3IodmFyIHYgb2YgT2JqZWN0LmtleXMoYikpZy5hTCh2LGJbdl0sbi50aW1lck5hbWUpO3Y9UFYoQ0IpKG4uTi5Idik7Zy5ubCh2LG4udGltZXJOYW1lKTt2PW4uTjt2Lko9e307di5Idj17fX1nLm5sKHtwbGF5ZXJJbmZvOnt2aXNpYmlsaXR5U3RhdGU6UFYoakwpKCl9LHBsYXllclR5cGU6IkxBVEVOQ1lfUExBWUVSX0hUTUw1In0sbi50aW1lck5hbWUpOwpuLmohPT1XLmNsaWVudFBsYXliYWNrTm9uY2V8fE51bWJlci5pc05hTihuLkopfHwoZy52UCgiX3N0YXJ0IixuLnRpbWVyTmFtZSk/RD1QVihvTCkoIl9zdGFydCIsbi50aW1lck5hbWUpK24uSjpnLkdxKG5ldyBnLlF4KCJhdHRlbXB0ZWQgdG8gbG9nIGdhcGxlc3MgcGJzIGJlZm9yZSBDU0kgdGltZWxpbmUgc3RhcnRlZCIse2NwbjpXLmNsaWVudFBsYXliYWNrTm9uY2V9KSkpOyFEfHxnLnZQKCJwYnMiLG4udGltZXJOYW1lKXx8Vy5HU3x8Zy5QOChuLEQpfX07ClAkQz1mdW5jdGlvbihuKXtXUCgpO2NiKCJ3YXRjaCIsWyJwYnMiLCJwYnUiXSk7bi50aW1lck5hbWU9IiJ9OwpaQmo9ZnVuY3Rpb24obil7aWYobi5OKXt2YXIgVz1uLk47Vy5KPXt9O1cuSHY9e319bi5XPSExO24uaj12b2lkIDA7bi5KPU5hTn07ClVRaT1mdW5jdGlvbihuLFcpe3ZhciBEPSExLGI9bi5xdWV1ZS5maW5kSW5kZXgodj0+di5ncz09PVcpOwpiPj0wJiYobi5xdWV1ZS5zcGxpY2UoYiwxKSxEPSEwLFcucU4oKXx8Vy51bnN1YnNjcmliZSgicmVxdWVzdGNvbXBsZXRlZCIsbi5XLG4pLG4uVShXLCJkZXFfcXVldWUiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO2I9bi5KLmZpbmRJbmRleCh2PT52LmdzPT09Vyk7CmI+PTAmJihuLkouc3BsaWNlKGIsMSksRD0hMCxXLnFOKCl8fFcudW5zdWJzY3JpYmUoInJlcXVlc3Rjb21wbGV0ZWQiLG4uVyxuKSxuLlUoVywiZGVxX3dhaXQiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO3JldHVybiBEfTsKeW1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLnF1ZXVlKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtmb3IobGV0IFcgb2Ygbi5KKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtuLnF1ZXVlPVtdO24uSj1bXX07CkVWYj1mdW5jdGlvbihuLFcpe24uVShXLCJyZXFfbG9hZCIse3RjcG46Vy5XTigpfHwibm9uZSIsdHlwZToicHJlIn0pO2lmKCFuLnF1ZXVlLnNvbWUoYj0+Yi5ncz09PVcpJiYhbi5KLnNvbWUoYj0+Yi5ncz09PVcpKXt2YXIgRD17Z3M6VywKc3RhcnRlZDohMX07bi5xdWV1ZS5sZW5ndGg8bi5wb2xpY3kuTj9uLnF1ZXVlLnB1c2goRCk6KG4uSi5wdXNoKEQpLG4uVShXLCJ3YWl0Iix7dGNwbjpXLldOKCl8fCJub25lIn0pKTtuLlcoKX19OwppQlM9ZnVuY3Rpb24obil7dmFyIFc9bi5OP24uTi5XTigpfHwibm9uZSI6Im5vbmUiLEQ9bi5xdWV1ZS5tYXAoYj0+Yi5ncy5XTigpfHwibm9uZSIpLmpvaW4oIiwiKTsKcmV0dXJue3BjcG46Vyx3czpuLkoubGVuZ3RoLGNwbnM6RH19OwpaVD1mdW5jdGlvbihuKXtyZXR1cm4hIShuLnBsYXlsaXN0fHxuLmxpc3R8fG4uYXBpKX07Cml2PWZ1bmN0aW9uKG4sVyxELGIpe1c9VyE9PXZvaWQgMD9XOm4uaW5kZXg7Vz1uLml0ZW1zJiZXIGluIG4uaXRlbXM/bi5pdGVtc1tuLm9yZGVyW1ddXTpudWxsO3ZhciB2PW51bGw7VyYmKEQmJihXLmF1dG9wbGF5PSIxIiksYiYmKFcuYXV0b25hdj0iMSIpLHY9bmV3IGcuVXIobi55USxXKSxnLnUobix2KSx2Lk1kPSEwLHYuc3RhcnRTZWNvbmRzPW4uc3RhcnRTZWNvbmRzfHx2LmNsaXBTdGFydHx8MCxuLmxpc3RJZCYmKHYucGxheWxpc3RJZD1uLmxpc3RJZC50b1N0cmluZygpKSk7cmV0dXJuIHZ9Owp1QXQ9ZnVuY3Rpb24obixXKXtpZihXLnZpZGVvJiZXLnZpZGVvLmxlbmd0aCl7bi50aXRsZT1XLnRpdGxlfHwiIjtuLmRlc2NyaXB0aW9uPVcuZGVzY3JpcHRpb247bi52aWV3cz1XLnZpZXdzO24ubGlrZXM9Vy5saWtlcztuLmRpc2xpa2VzPVcuZGlzbGlrZXM7bi5hdXRob3I9Vy5hdXRob3J8fCIiO3ZhciBEPVcubG9vcDtEJiYobi5sb29wPUQpO0Q9aXYobik7bi5pdGVtcz1bXTtmb3IobGV0IGIgb2YgVy52aWRlbyliJiYoYi52aWRlb19pZD1iLmVuY3J5cHRlZF9pZCxuLml0ZW1zLnB1c2goYikpO24ubGVuZ3RoPW4uaXRlbXMubGVuZ3RoOyhXPVcuaW5kZXgpP24uaW5kZXg9VzpuLmZpbmRJbmRleChEKTtuLnNldFNodWZmbGUoITEpO24ubG9hZGVkPSEwO24uTiYmbi5OKCl9fTsKdXY9ZnVuY3Rpb24obixXKXtuLmluZGV4PWcuRmYoVywwLG4ubGVuZ3RoLTEpO24uc3RhcnRTZWNvbmRzPTB9Owp6YnI9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uYygpLGI9bi5HKCksdj17Y29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDp7YW5jZXN0b3JPcmlnaW5zOmIuYW5jZXN0b3JPcmlnaW5zfX19LGs9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7az8uZW5jcnlwdGVkSG9zdEZsYWdzJiYodi5wbGF5YmFja0NvbnRleHQuY29udGVudFBsYXliYWNrQ29udGV4dC5lbmNyeXB0ZWRIb3N0RmxhZ3M9ay5lbmNyeXB0ZWRIb3N0RmxhZ3MpO2s/LmhpZGVJbmZvJiYodi5wbGF5ZXJQYXJhbXM9e3Nob3dpbmZvOiExfSk7Yj1iLmVtYmVkQ29uZmlnO2s9bi5OZDt2YXIgaD1XLmRvY2lkfHxXLnZpZGVvX2lkfHxXLnZpZGVvSWR8fFcuaWQ7aWYoIWgpe2g9Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFoKXt2YXIgeD1XLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZTt4JiYoaD1KU09OLnBhcnNlKHgpKX1oPWg/Zy53KGg/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5wbGF5QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50LApnLklRKT8udmlkZW9JZHx8bnVsbDpudWxsfWg9aD9oOnZvaWQgMDt4PW4ucGxheWxpc3RJZD9uLnBsYXlsaXN0SWQ6Vy5saXN0O3ZhciBMPVcubGlzdFR5cGU7aWYoeCl7dmFyIGU7TD09PSJ1c2VyX3VwbG9hZHMiP2U9e3VzZXJuYW1lOnh9OmU9e3BsYXlsaXN0SWQ6eH07b1YyKGIsayxoLFcsZSk7di5wbGF5bGlzdFJlcXVlc3Q9ZX1lbHNlIFcucGxheWxpc3Q/KGU9e3RlbXBsaXN0VmlkZW9JZHM6Vy5wbGF5bGlzdC50b1N0cmluZygpLnNwbGl0KCIsIil9LG9WMihiLGssaCxXLGUpLHYucGxheWxpc3RSZXF1ZXN0PWUpOmgmJihlPXt2aWRlb0lkOmh9LGs/ZS5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWs6YiYmKGUuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iKSx2LnNpbmdsZVZpZGVvUmVxdWVzdD1lKTtiPUxCKGRRWik7dHJ5e2xldCBHPWF3YWl0IGcucl8oRCx2LGIpLHI9bi5HKCk7Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlPUc7ci5jSj0KaE8oVyxnLm80KHIpKTtyLkQ9ci5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiO0cmJkcudHJhY2tpbmdQYXJhbXMmJmcueXIoRy50cmFja2luZ1BhcmFtcyk7cmV0dXJuIG5ldyBnLlVyKHIsVyl9Y2F0Y2goRyl7cmV0dXJuIEcgaW5zdGFuY2VvZiBFcnJvcnx8KEc9RXJyb3IoImIyNTk4MDI3NDgiKSksZy5YaihHKSxufX07Cm9WMj1mdW5jdGlvbihuLFcsRCxiLHYpe2IuaW5kZXgmJih2LnBsYXlsaXN0SW5kZXg9U3RyaW5nKE51bWJlcihiLmluZGV4KSsxKSk7di52aWRlb0lkPUQ/RDoiIjtXP3Yuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1XOm4mJih2LnNlcmlhbGl6ZWRUaGlyZFBhcnR5RW1iZWRDb25maWc9bil9OwpnLmQ5PWZ1bmN0aW9uKG4sVyl7b0cuZ2V0KG4pO29HLnNldChuLFcpfTsKZy5sTVU9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5HKCkuUygiaHRtbDVfdXNlX2hsc19uYXRpdmVfY2FwdGlvbnMiKSYmZy5HbiYmbi56VygpJiYhIW4uSj8uVygpfTsKZy56Rz1mdW5jdGlvbihuLFcpe3JldHVybiBuLkcoKS5TKCJzYWZhcmlfbGl2ZV9kcm1fY2FwdGlvbnNfZml4IikmJm4uZ2V0VmlkZW9EYXRhKCk/Lk1pKCk/ITE6Zy5HbChuLkcoKSkmJiFXLmlzTWFuaWZlc3RsZXNzfTsKZy5sdj1mdW5jdGlvbihuLFcpe3JldHVybiBuLmluZm8uTigpP1c/bi5pbmZvLml0YWc9PT1XOiEwOiExfTsKZy5UYmk9ZnVuY3Rpb24obixXKXtpZihuLk4hPW51bGwmJmcuekcoVyxuLk4pJiZuLk4uTi5yYXdjYyE9bnVsbClyZXR1cm4hMDtpZighbi56VygpKXJldHVybiExO1c9ISFuLk4mJm4uTi5pc01hbmlmZXN0bGVzcyYmT2JqZWN0LnZhbHVlcyhuLk4uTikuc29tZShEPT5nLmx2KEQsIjM4NiIpKTsKbj0hIW4uTiYmIW4uTi5pc01hbmlmZXN0bGVzcyYmZy5tSChuLk4pO3JldHVybiBXfHxufTsKRCQ9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5lJClyZXR1cm4gbi5OaS5nZXQoInV4Iil9OwpURz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFkIil9OwpqbD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImNhcHRpb25zIil9OwpDYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFubm90YXRpb25zX21vZHVsZSIpfTsKR3U9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5GZSlyZXR1cm4gbi5OaS5nZXQoInJlbW90ZSIpfTsKQjg9ZnVuY3Rpb24obil7cmV0dXJuIG4uTmkuZ2V0KCJjcmVhdG9yZW5kc2NyZWVuIil9OwpGWT1mdW5jdGlvbihuKXtpZihnLlhDKG4uQS5HKCkpKXJldHVybiBuLk5pLmdldCgia2lkcyIpfTsKZy4kRj1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoIndlYmdsIil9OwpqTGo9ZnVuY3Rpb24obixXKXtuLlc9V307CkMkdz1mdW5jdGlvbihuKXt2YXIgVz1uLkEuZ2V0VmlkZW9EYXRhKCk7cmV0dXJuIGcubE1VKFcsbi5BKXx8ISFXLndhfHwhIVcuY2FwdGlvblRyYWNrcy5sZW5ndGh8fGcuVGJpKFcsbi5BKX07Cnc5PWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdil7dmFyIGssaD1uLk5pLmdldChXKTtpZighaHx8YilpZih2fHwodj0oKT0+e3c5KG4sVyxELGIpfSksa3x8KGs9KCk9PntNVChuLFcpfSksaD1ofHxCYmgobixXLEZxTShuLFcpLHYsaykpbi5OaS5zZXQoVyxoKSxoLmNyZWF0ZSgpLG4uQS5XSigibW9kdWxlY3JlYXRlZCIsVyksRCYmZy5WVShuLkEsIm9uQXBpQ2hhbmdlIil9OwpSRz1mdW5jdGlvbihuKXtpZihuLkEuRygpLkQpcmV0dXJuITE7aWYobj1uLkEuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KS5nZXRQbGF5ZXJSZXNwb25zZSgpKXtsZXQgVz1uLmFkUGxhY2VtZW50cztpZihXKWZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKWlmKFdbRF0uYWRQbGFjZW1lbnRSZW5kZXJlcilyZXR1cm4hMDtpZihuLmFkU2xvdHMpcmV0dXJuITB9cmV0dXJuITF9OwpRWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5BLkcoKS5TKCJodG1sNV9hbGxvd19hc21qcyIpfHxuLkEuRygpLlp0KCkuTi5RUSh3YlMpfTsKRnFNPWZ1bmN0aW9uKG4sVyl7c3dpdGNoKFcpe2Nhc2UgImFkIjpyZXR1cm4gUkcobik7Y2FzZSAiYW5ub3RhdGlvbnNfbW9kdWxlIjpyZXR1cm4hMTtjYXNlICJhc21qcyI6cmV0dXJuIFFZKG4pO2Nhc2UgImNyZWF0b3JlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImVtYmVkIjpyZXR1cm4gZy5vNChuLkEuRygpKTtjYXNlICJlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImhlYXJ0YmVhdCI6cmV0dXJuIG4ueVAoKTtjYXNlICJraWRzIjpyZXR1cm4gZy5YQyhuLkEuRygpKTtjYXNlICJyZW1vdGUiOnJldHVybiBuLkEuRygpLkZlO2Nhc2UgIm1pbmlwbGF5ZXIiOnJldHVybiBuLkEuRygpLnNob3dNaW5pcGxheWVyVWlXaGVuTWluaW1pemVkO2Nhc2UgIm9mZmxpbmUiOnJldHVybiBuLkEuRygpLlpoO2Nhc2UgImNhcHRpb25zIjpyZXR1cm4gQyR3KG4pO2Nhc2UgInVucGx1Z2dlZCI6cmV0dXJuIGcuRGYobi5BLkcoKSk7Y2FzZSAidXgiOnJldHVybiBuLkEuRygpLmUkO2Nhc2UgIndlYmdsIjpXPQpuLkEuZ2V0VmlkZW9EYXRhKCk7dmFyIEQ9bi5BLkcoKTtuPWcuamQoKTtsZXQgYj1nLm5OKEQpLHY9Vy5KPy52aWRlbz8uaXNIZHIoKTtEPSFnLnF1KFcpJiYhdiYmRC5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBnLkpEKFcpfHxnLkhUKFcpfHxnLmZBKFcpP258fGI6Zy5rcChXKT9iOkQ/YjohMTtjYXNlICJ5cGMiOnJldHVybiBuLklWKCk7ZGVmYXVsdDpyZXR1cm4gZy5YaihFcnJvcihgTW9kdWxlIGRlc2NyaXB0b3IgJHtXfSBkb2VzIG5vdCBtYXRjaGApKSwhMX19OwpNVD1mdW5jdGlvbihuLFcpe1c9TUxiW1ddO2ZvcihsZXQgRCBvZiBXKW4uQS5HaShEKX07CkJiaD1mdW5jdGlvbihuLFcsRCxiLHYpe3RyeXtpZihEKXtsZXQgaz1vRy5nZXQoVyk7aWYoaylyZXR1cm4gbmV3IGsobi5BKTtSYngobixXLGIsdil9ZWxzZSBNVChuLFcpfWNhdGNoKGspe01UKG4sVyksZy5YaihrKX1yZXR1cm4gbnVsbH07ClJieD1mdW5jdGlvbihuLFcsRCxiKXtpZihuLkQpe3ZhciB2PVFMaVtXXTtXPW4uRCt2O24uSyYmKFcrPWA/Y2I9JHtuLkt9YCk7VkxNKG4sVywoKT0+e24uai5hZGQodik7RC5jYWxsKG4pfSxiKX19OwpjbWI9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi5OaS5nZXQoImFzbWpzIik7aWYoVylyZXR1cm4gVztXPW9HLmdldCgiYXNtanMiKT8/YXdhaXQgbmV3IFByb21pc2UoKEQsYik9PntSYngobiwiYXNtanMiLCgpPT57dmFyIHY9b0cuZ2V0KCJhc21qcyIpO3Y/RCh2KTpiKCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKX0sYil9KTsKaWYoIVcpcmV0dXJuIFByb21pc2UucmVqZWN0KCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKTtXPW5ldyBXKG4uQSk7bi5OaS5zZXQoImFzbWpzIixXKTtXLmNyZWF0ZSgpO3JldHVybiBXfTsKVlk9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpO2lmKG49Vy5TKCJ3ZWJfcGxheWVyX2RlZmVyX2FkIikpe2lmKGcuamooVy5JSiwiYWQiKXx8dzYoVyl8fFcuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkpdmFyIEQ9ITE7ZWxzZXtuPVcuc3RhcnRTZWNvbmRzO3ZhciBiPVcucGxheWVyUmVzcG9uc2U/LmFkUGxhY2VtZW50cztpZihXPWIpe1c9TnVtYmVyLk1BWF9WQUxVRTtmb3IoRCBvZiBiKWlmKGI9RC5hZFBsYWNlbWVudFJlbmRlcmVyKXtsZXQgdj1iLmNvbmZpZz8uYWRQbGFjZW1lbnRDb25maWc7dj8ua2luZD09PSJBRF9QTEFDRU1FTlRfS0lORF9NSUxMSVNFQ09ORFMiJiYoYj0oTnVtYmVyKHY/LmFkVGltZU9mZnNldD8ub2Zmc2V0U3RhcnRNaWxsaXNlY29uZHMpfHwwKS1OdW1iZXIoYi5yZW5kZXJlcj8uYWRCcmVha1NlcnZpY2VSZW5kZXJlcj8ucHJlZmV0Y2hNaWxsaXNlY29uZHN8fDApLGI8VyYmKFc9YikpfVc9Vy01RTM8PW4qMUUzfUQ9Vz8hMTohMH1uPQpEfXJldHVybiBufTsKYU1VPWFzeW5jIGZ1bmN0aW9uKG4pe3JldHVybiBhd2FpdCBjbWIobil9OwpuRGo9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpLEQ9bi5PJiYhVy5pc0lubGluZVBsYXliYWNrTm9BZDtuLkEuUygiaHRtbDVfZGVmZXJfbW9kdWxlc19vbl9hZHNfb25seSIpJiYhVy5pc0FkKCkmJihEPSExKTtyZXR1cm4gRH07CmcuYzg9ZnVuY3Rpb24obil7VlkobikmJm4uWCgpO25EaihuKSYmKHc5KG4sImNhcHRpb25zIiwhMCksdzkobiwiZW5kc2NyZWVuIiksbi5OKCksdzkobiwiY3JlYXRvcmVuZHNjcmVlbiIsITApKX07CmFHPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgV0VpKXtsZXQgdj1uLk5pLmdldChiKTt2JiYoRHx8di5oVihXKSkmJihnLkNwKHYpLG4uTmkuZGVsZXRlKGIpKX1uLkEuV0ooIm1vZHVsZXNEZXN0cm95ZWQiLFcpfTsKRHJaPWZ1bmN0aW9uKG4pe3JldHVybiBKZSgoKT0+bi5OaS5nZXQoImFzbWpzIik/P2FNVShuKSl9OwpWTE09ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNDUklQVCIpLGs9ITE7Zm9yKGxldCBIPTA7SDx2Lmxlbmd0aDtIKyspe2xldCBBPXZbSF07aWYoQS5zcmM9PT1XfHxBLmdldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiKT09PVcpdmFyIGg9QX1ofHwoaD1nLnpGKCJTQ1JJUFQiKSxoLnNldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiLFcpLGs9ITApO3ZhciB4PSgpPT57bi5xTigpfHxELmNhbGwobil9LEw9KCk9PntuLnFOKCl8fGIuY2FsbChuKX0sZT1oLm9ubG9hZDsKaC5vbmxvYWQ9SD0+e2cuVDcoeCk7ZSYmZS5hcHBseSh3aW5kb3csW0hdKX07CnZhciBHPWgub25lcnJvcjtoLm9uZXJyb3I9SD0+e2lmKE1hdGgucmFuZG9tKCk8LjAxKXtsZXQgQT1uZXcgZy5ReCgiVW5hYmxlIHRvIGxvYWQgcGxheWVyIG1vZHVsZSIsVyxkb2N1bWVudC5sb2NhdGlvbiYmZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luKTtnLlhqKEEpfWcuVDcoTCk7RyYmRyhIKX07CnZhciByPWgsTj1yLm9ucmVhZHlzdGF0ZWNoYW5nZTtyLm9ucmVhZHlzdGF0ZWNoYW5nZT1IPT57c3dpdGNoKHIucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6Zy5UNyh4KX1OJiZOKEgpfTsKayYmKCh2PW4uQS5HKCkuY3NwTm9uY2UpJiZoLnNldEF0dHJpYnV0ZSgibm9uY2UiLHYpLGcuUE0oaCxmdyhXKSksdj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5ib2R5LHYuaW5zZXJ0QmVmb3JlKGgsdi5maXJzdENoaWxkKSxuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57aC5wYXJlbnROb2RlJiZoLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaCl9KSl9OwpXYz1mdW5jdGlvbihuLFcsRCl7bi5xTigpO3ZhciBiPW5PKG4pO0Q/KG4uSnw9VyxXJjEmJm4uRC5zdGFydCgpLFcmMiYmbi5PLnN0YXJ0KCksVyYyMDQ4JiZuLmNKLnN0YXJ0KCkpOihuLkomPX5XLFcmMSYmbi5ELnN0b3AoKSxXJjImJm4uTy5zdG9wKCksVyYyMDQ4JiZuLmNKLnN0b3AoKSxXJjUxMiYmbi50dy5zdG9wKCkpO24uSiY1MTImJiEobi5KJjEyOCkmJmcuSmEobi50dyxuLlZRKTtXPW5PKG4pO2IhPT1XJiZuLldKKCJhdXRvaGlkZXVwZGF0ZSIsVyl9OwpibFo9ZnVuY3Rpb24obil7V2Mobiw0LCExKTtuLksmJihuLk4ud0gobi5LKSxuLks9bnVsbCxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKTtuLlcmJihuLk4ud0gobi5XKSxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKX07Cm5PPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSjtuLmFwaS5HKCkuZlImJihXJj0tMTI5KTtuLmFwaS5TKCJ3ZWJfcGxheWVyX2RlZmF1bHRfYXV0b2hpZGUiKSYmKFcmPS01MTMpO3JldHVybiFXfTsKdkQxPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9bi5hcGkuRygpO2ZvcihsZXQgayBvZiBXKXtpZigha3x8ayBpbnN0YW5jZW9mIGcuVXImJiFrLnZpZGVvSWQpY29udGludWU7dmFyIGI9bi5hcGkubGooKS5nZXRQbGF5ZXJTaXplKCk7dmFyIHY9Zy5IXygpO1c9Yi53aWR0aCp2O3YqPWIuaGVpZ2h0O2lmKFc+MTI4MHx8dj43MjApaWYoYj1rLkdCKCJtYXhyZXNkZWZhdWx0LmpwZyIpKWJyZWFrO2lmKFc+NjQwfHx2PjQ4MClpZihiPWsuR0IoIm1heHJlc2RlZmF1bHQuanBnIikpYnJlYWs7aWYoVz4zMjB8fHY+MTgwKWlmKGI9ay5HQigic2RkZWZhdWx0LmpwZyIpfHxrLkdCKCJocWRlZmF1bHQuanBnIil8fGsuR0IoIm1xZGVmYXVsdC5qcGciKSlicmVhaztpZihiPWsuR0IoImRlZmF1bHQuanBnIikpYnJlYWt9Zy4kNihEKSYmKEQ9bmV3IEltYWdlLEQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt5U2goKX0pLEQuc3JjPWI/YjoiIixuLmFwaS5lRygpLnRpY2soImZ0ciIpKTsKbi5ZLnN0eWxlLmJhY2tncm91bmRJbWFnZT1iP2B1cmwoJHtifSlgOiIifTsKa1cxPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8bi5rZXlzLmxlbmd0aDtXKyspbi53SChuLmtleXNbV10pO24ua2V5cz1bXX07CmJzPWZ1bmN0aW9uKG4sVyxELGI9ITEsdj0hMSxrLGg9ITApe3Z8fCh2PW4uYXBpLkcoKS5KKTt2YXIgeD1uLmFwaS5nZXRWaWRlb0RhdGEoKTtXPWVCKGcuRHVbV118fCIiLGI/e0NQTjp4LmNsaWVudFBsYXliYWNrTm9uY2V9Ont9KS5zcGxpdCgvXCQoQkVHSU58RU5EKV9MSU5LLyk7Yj1bXTtrJiZiLnB1c2goe1o6ImgyIixPcTprfSk7Yi5wdXNoKFdbMF0pO2gmJmIucHVzaCh7WjoiYnIifSk7Yi5wdXNoKHtaOiJhIix4YTp7aHJlZjpELHRhcmdldDp2PyJfYmxhbmsiOm51bGx9LEp3OiJ5dHAtZXJyb3ItbGluayIsT3E6V1syXX0pO24uaj0hMDtiLnB1c2goV1s0XSk7cmV0dXJue1o6InNwYW4iLFhGOmJ9fTsKdmM9ZnVuY3Rpb24obil7bj1uLnNwbGl0KGgwWik7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0zKXtsZXQgYj1uW0QrK10uc3BsaXQoIlxuIik7Vy5wdXNoKGJbMF0pO2ZvcihsZXQgdj0xO3Y8Yi5sZW5ndGg7disrKVcucHVzaCh7WjoiYnIifSksVy5wdXNoKGJbdl0pO0Q8bi5sZW5ndGgmJlcucHVzaCh7WjoiYSIseGE6e2hyZWY6bltEXSx0YXJnZXQ6bltEKzFdfSxPcTpuW0QrMl19KX1yZXR1cm57Wjoic3BhbiIsWEY6V319Owp4cnQ9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKyl7bGV0IHY9bi5OTihEW2JdLCJjbGljayIsVyk7bi5rZXlzLnB1c2godil9fTsKa0k9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9TnVtYmVyKFcuZ2V0QXR0cmlidXRlKCJkYXRhLW92ZXJsYXktb3JkZXIiKSl8fDAsaz0wLGg9bnVsbDtmb3IobGV0IHggb2YgRC5jaGlsZHJlbil7aWYoYiYmeC5jbGFzc0xpc3QuY29udGFpbnMoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSl7aD14O2JyZWFrfWlmKHY8KE51bWJlcih4LmdldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIikpfHwwKSlicmVhaztrKyt9aD9rSShuLFcsaCwhMSk6Yj8obj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxuLmNsYXNzTGlzdC5hZGQoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSxuLnNldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIixgJHt2fWApLGg9bixoLmFwcGVuZENoaWxkKFcpLGcuanAoRCxoLGspKTpnLmpwKEQsVyxrKX07CmUwQz1mdW5jdGlvbihuLFcpe3ZhciBEPXREKFcpLGI9JHAoVyk7Vy5EbCYmbi5BLkpuKCl8fChuLk58fG4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iik/Vy52aWRlb0lkJiZXLnZpZGVvSWQhPT1uLnZpZGVvSWQmJihuLk4/LmplKCksIW4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iil8fEQmJmI/KG4udmlkZW9JZD1XLnZpZGVvSWQsbi5LPSEhYixuLksmJkQmJkxFcihuLGIsRCxXKSk6bi5LPSExKTpEJiZiJiYhbi5BLlMoImVuYWJsZV9wYWlkX2NvbnRlbnRfb3ZlcmxheV9idWdmaXgiKSYmTEVyKG4sYixELFcpKX07CmdEeD1mdW5jdGlvbihuLFcpe24uTiYmKFcuTig4KSYmbi5LPyhuLks9ITEsbi5XP24uVy5zdGFydCgpOm4uaigpKTooVy5OKDIpfHxXLk4oNjQpKSYmbi52aWRlb0lkJiYobi52aWRlb0lkPW51bGwsbi5XJiZuLlcuc3RvcCgpKSl9OwpMRXI9ZnVuY3Rpb24obixXLEQsYil7bi5OJiZuLk4uZGlzcG9zZSgpO24uTj1uZXcgZy5mXyhuLnV5LFcsbik7Zy51KG4sbi5OKTtiPUdlKGIpO1c9Yj8ubmF2aWdhdGlvbkVuZHBvaW50O2I9Yj8uaWNvbj8uaWNvblR5cGU7dmFyIHY9Zy53KFcsZy5Qaik/LnVybDtuLkEuc2V0VHJhY2tpbmdQYXJhbXMobi5lbGVtZW50LFc/LmNsaWNrVHJhY2tpbmdQYXJhbXN8fG51bGwpO1cmJiF2PyhuLmlubmVydHViZUNvbW1hbmQ9Vyx2PSIjISIpOm4uaW5uZXJ0dWJlQ29tbWFuZD1udWxsO24uVi51cGRhdGUoe2hyZWY6dj8/IiMiLHRleHQ6RCxpY29uOmI9PT0iTU9ORVlfSEFORCI/e1o6InN2ZyIseGE6e2ZpbGw6Im5vbmUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik02IDlINVY1VjRINkgxOVY1SDZWOVpNMjEuNzIgMTYuMDRDMjEuNTYgMTYuOCAyMS4xNSAxNy41IDIwLjU1IDE4LjA1QzIwLjQ3IDE4LjEzIDE4LjQyIDIwLjAxIDE0LjAzIDIwLjAxQzEzLjg1IDIwLjAxIDEzLjY3IDIwLjAxIDEzLjQ4IDIwQzExLjMgMTkuOTIgOC41MSAxOS4yMyA1LjQgMThIMlYxMEg1SDZIN1Y2SDIxVjEzSDE2LjcyQzE2LjM3IDEzLjU5IDE1Ljc0IDE0IDE1IDE0SDEyLjdDMTMuMDEgMTQuNDYgMTMuNTYgMTUgMTQuNSAxNUgxNS4wMkMxNi4wNyAxNSAxNy4xIDE0LjY0IDE3LjkyIDEzLjk4QzE4LjgyIDEzLjI2IDIwLjAzIDEzLjIyIDIwLjkxIDEzLjg0QzIxLjU4IDE0LjMyIDIxLjkgMTUuMTkgMjEuNzIgMTYuMDRaTTE1IDEwQzE1IDkuNDUgMTQuNTUgOSAxNCA5QzEzLjQ1IDkgMTMgOS40NSAxMyAxMEgxNVpNMjAgMTFDMTkuNDUgMTEgMTkgMTEuNDUgMTkgMTJIMjBWMTFaTTE5IDdDMTkgNy41NSAxOS40NSA4IDIwIDhWN0gxOVpNOCA4QzguNTUgOCA5IDcuNTUgOSA3SDhWOFpNOCAxMEgxMkMxMiA4LjkgMTIuOSA4IDE0IDhDMTUuMSA4IDE2IDguOSAxNiAxMFYxMC4yOEMxNi41OSAxMC42MyAxNyAxMS4yNiAxNyAxMkgxOEMxOCAxMC45IDE4LjkgMTAgMjAgMTBWOUMxOC45IDkgMTggOC4xIDE4IDdIMTBDMTAgOC4xIDkuMSA5IDggOVYxMFpNNSAxMy41VjExSDNWMTdINVYxMy41Wk0yMC4zMyAxNC42NkMxOS44MSAxNC4yOSAxOS4xIDE0LjMxIDE4LjYgMTQuNzFDMTcuNTUgMTUuNTYgMTYuMjkgMTYgMTUuMDIgMTZIMTQuNUMxMi42MiAxNiAxMS42NyAxNC40NiAxMS40MyAxMy42NEwxMS4yNCAxM0gxNUMxNS41NSAxMyAxNiAxMi41NSAxNiAxMkMxNiAxMS40NSAxNS41NSAxMSAxNSAxMUg2VjEzLjVWMTcuMTZDOC45IDE4LjI5IDExLjUgMTguOTMgMTMuNTIgMTlDMTcuODUgMTkuMTUgMTkuODUgMTcuMzQgMTkuODcgMTcuMzJDMjAuMzMgMTYuOSAyMC42MiAxNi40IDIwLjc0IDE1Ljg0QzIwLjg0IDE1LjM3IDIwLjY4IDE0LjkxIDIwLjMzIDE0LjY2WiIsCmZpbGw6IndoaXRlIn19XX06bnVsbCxjaGV2cm9uOnZ8fG4uaW5uZXJ0dWJlQ29tbWFuZD9nLk9GKCk6bnVsbH0pfTsKWFBpPWZ1bmN0aW9uKG4pe24uVnx8KG4uVj0hMCxuLmFwaS5sb2dWaXNpYmlsaXR5KG4uZWxlbWVudCwhMCkpfTsKcW8yPWZ1bmN0aW9uKG4pe3ZhciBXPW9LKCkmJkV6KCk+PTY3JiYhbi5hcGkuRygpLnR3O249bi5hcGkuRygpLmRpc2FibGVPcmdhbmljVWk7cmV0dXJuIWcudWIoInRpemVuIikmJiFnLldYJiYhVyYmIW59OwpoaD1mdW5jdGlvbihuKXt2YXIgVz0hIW4uVjImJiFYeihuLmFwaSkmJiFuLmt0O3ZhciBEPW4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yLGI9bi5hcGkuRygpO0Q/KGI9VEcobi5hcGkuSjUoKSksVz1XJiZiLmpRKCkpOihEPWIuUygid2ViX3BsYXllcl9pbWF4X3RoZWF0ZXJfbW9kZSIpJiZuLmFwaS5RMCgpJiYhbi5hcGkuaXNJbmxpbmUoKSxXPVcmJihiLnNafHxEfHxuLmFwaS5pc0Z1bGxzY3JlZW4oKXx8Yi5neSkpO24uQTAhPT1XJiYobi5BMD1XLGcuaUgobi5hcGkuZ2V0Um9vdE5vZGUoKSwieXRwLWhpZGUtaW5mby1iYXIiLCFXKSl9OwpHV2I9ZnVuY3Rpb24obixXKXtpZighVylyZXR1cm4hMTt2YXIgRD1uLmFwaS5oNSgpO2lmKEQuSygpJiYoRD1ELmVfKCkpJiZnLkJ4KEQsVykpcmV0dXJuIEQuY29udHJvbHM7Zm9yKEQ9MDtEPG4uSW4ubGVuZ3RoO0QrKylpZihnLkJ4KG4uSW5bRF0sVykpcmV0dXJuITE7Zm9yKGxldCBiIG9mIG4ua1gpaWYoZy5LXyhXLGIpKXJldHVybiExO3JldHVybiBXPT09bi5hcGkuZ2V0Um9vdE5vZGUoKT8hMTohMH07CnRrMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpPT09MiYmKG4uYXBpLmxqKCkud0Z8fG4uYXBpLkcoKS5kaXNhYmxlT3JnYW5pY1VpKSYmbi5hcGkuRygpLmomJnhJJiZ2aj49MTE7bj1uLmFwaS5HKCkudHcmJnhJO3JldHVybiEoIVcmJiFuKX07CkxPPWZ1bmN0aW9uKG4sVyl7bi5qSi5MaigpO2lmKG4uYlcmJm4uUCQpbi5QJD0hMTtlbHNlIGlmKCFuLmFwaS5HKCkuc1YmJiFuLmVoKCkpe2xldCBEPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCk7RC5OKDIpJiZxcChuLmFwaSl8fG4uc2hvd1BsYXliYWNrSWNvbihEKTtXJiYkck0obixXKT9yZVMobik6IW4uYXBpLkcoKS5SdHx8RC5pc0N1ZWQoKXx8RC5OKDEwMjQpP24uUGIoKTpuLmVOLmlzQWN0aXZlKCk/bi5lTi5zdG9wKCk6bi5lTi5zdGFydCgpfX07CmVzPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIW4uYXBpLmlzSW5saW5lKCkmJiFHV2IobixBTyhXKSkmJmYyKFcpfTsKZ2Y9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5hcGkuZ2V0VmlkZW9EYXRhKCk/Lm11dGVkQXV0b3BsYXkmJlcudGFyZ2V0Py5jbGFzc05hbWU/LmluY2x1ZGVzKCJ5dHAtaW5mby1wYW5lbCIpPyExOmYyKFcpJiZuLmFwaS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCk/KG4uYXBpLnVuTXV0ZSgpLG4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yJiZuLmFwaS5wbGF5VmlkZW8oKSxXPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCksIVcuTig0KXx8Vy5OKDgpfHxXLk4oMil8fG4uUGIoKSwhMCk6ITF9Owokck09ZnVuY3Rpb24obixXKXtpZighbi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfaW52aXNpYmxlX2Z1bGxzY3JlZW5fYnV0dG9uIikpcmV0dXJuITE7dmFyIEQ9bi5hcGkuZ2V0Um9vdE5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihXLnRhcmdldFRvdWNoZXMmJlcudGFyZ2V0VG91Y2hlcy5sZW5ndGgpe3ZhciBiPVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRYO3ZhciB2PVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZfWVsc2UgVy5jbGllbnRYIT09dm9pZCAwJiYoYj1XLmNsaWVudFgsdj1XLmNsaWVudFkpO3JldHVybiBiIT09dm9pZCAwJiZ2IT09dm9pZCAwJiYoVz1iLUQubGVmdCxEPXYtRC50b3Asbj1uLmFwaS5nZXRQbGF5ZXJTaXplKCksRD49bi5oZWlnaHQtNDAmJlc+PW4ud2lkdGgtNDApPyEwOiExfTsKcmVTPWZ1bmN0aW9uKG4pe2lmKG4uYXBpLkcoKS5SdCYmbi5hcGkuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKSE9PTMpdHJ5e24uYXBpLnRvZ2dsZUZ1bGxzY3JlZW4oKS5jYXRjaChXPT57c2pTKFcpfSksbi5hcGkuUygid2ViX3BsYXllcl9mdWxsc2NyZWVuX2RvdWJsZV9jbGlja192ZSIpJiZuLmFwaS5sb2dDbGljayhuLmFwaS5saigpLmVsZW1lbnQpfWNhdGNoKFcpe3NqUyhXKX19OwpzalM9ZnVuY3Rpb24obil7U3RyaW5nKG4pLmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIik/Zy5HcShuKTpnLlhqKG4pfTsKTl9oPWZ1bmN0aW9uKG4sVyxEKXtuLmFwaS5pc0Z1bGxzY3JlZW4oKT9EPDEtVyYmbi5hcGkudG9nZ2xlRnVsbHNjcmVlbigpOkQ+MStXJiZuLmFwaS50b2dnbGVGdWxsc2NyZWVuKCl9OwpZb0M9ZnVuY3Rpb24oKXtwUGp8fCh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihYdz8idG91Y2hzdGFydCI6ImNsaWNrIiwoKT0+e2ZvcihsZXQgbj1xSy5sZW5ndGg7bjw0O24rKyl7bGV0IFc9Zy56RigiVklERU8iKTtXLmxvYWQoKTtxSy5wdXNoKG5ldyBnLkdWKFcpKX19LHtjYXB0dXJlOiEwLApwYXNzaXZlOiEwfSkscFBqPSEwKX07CnRoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuZ2V0VmlkZW9EYXRhKCksaz1XLmdldFZpZGVvRGF0YSgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5pc0Vycm9yKCkpcmV0dXJue21zZzoicGxheWVyLWVycm9yIn07dmFyIGg9ay5XO2lmKFcub3QoKT5iLzFFMysxKXJldHVybnttc2c6ImluLXRoZS1wYXN0In07aWYoay5pc0xpdmVQbGF5YmFjayYmIWlzRmluaXRlKGIpKXJldHVybnttc2c6ImxpdmUtaW5maW5pdGUifTtiPVcuaDUoKTt2YXIgeD1udWxsO2ImJih4PWIuaXNWaWV3KCk/Yi5tZWRpYUVsZW1lbnQuVigpOmIuVigpKTtpZih4JiZ4Lmxlbmd0aD4xMiYmZy5xdSh2KSlyZXR1cm57bXNnOiJwbGF5ZWQtcmFuZ2VzIn07aWYoIXYuVylyZXR1cm4gbnVsbDtpZighaClyZXR1cm57bXNnOiJuby1wdmQtZm9ybWF0cyJ9O2lmKCF2LlcuTigpfHwhaC5OKCkpcmV0dXJue21zZzoibm9uLWRhc2gifTtiPWgudmlkZW9JbmZvc1swXTt4PXYuVy52aWRlb0luZm9zWzBdO24uVEMmJkFKKGspJiYKKGI9Vy5veSgpLHg9RC5veSgpKTtpZighYnx8IXgpcmV0dXJue21zZzoibm8tdmlkZW8taW5mbyJ9O2lmKG4uTyYmKGIuTVcoKXx8eC5NVygpKSlyZXR1cm57bXNnOiJhdjEifTtXPW4uWSYmay5OUCgpJiZWVCgpO2lmKHguY29udGFpbmVyVHlwZSE9PWIuY29udGFpbmVyVHlwZSlpZihXKWsuVSgic2dhcCIse2llcnI6ImNvbnRhaW5lciJ9KTtlbHNlIHJldHVybnttc2c6ImNvbnRhaW5lciJ9O2lmKG4uRCYmIVcmJih4LklCIT09Yi5JQnx8eC5JQj09PSIifHxiLklCPT09IiIpKXJldHVybnttc2c6ImNvZGVjIn07aWYobi5jSiYmeC52aWRlbyYmYi52aWRlbyYmTWF0aC5hYnMoeC52aWRlby53aWR0aC94LnZpZGVvLmhlaWdodC1iLnZpZGVvLndpZHRoL2IudmlkZW8uaGVpZ2h0KT4uMDEpcmV0dXJue21zZzoicmF0aW8ifTtpZihnLnF1KGspJiZnLnF1KHYpKXJldHVybnttc2c6ImNvbnRlbnQtcHJvdGVjdGlvbiJ9O2g9aC5KWzBdO3Y9di5XLkpbMF07RD1oLmF1ZGlvO3ZhciBMPXYuYXVkaW87CmlmKEQuc2FtcGxlUmF0ZSE9PUwuc2FtcGxlUmF0ZSYmIWcub2QpaWYoVylrLlUoInNnYXAiLHtpZXJyOiJzcmF0ZSJ9KTtlbHNlIHJldHVybnttc2c6InNhbXBsZS1yYXRlIixjaTpoLml0YWcsY3I6RC5zYW1wbGVSYXRlLG5pOnYuaXRhZyxucjpMLnNhbXBsZVJhdGV9O3JldHVybihELm51bUNoYW5uZWxzfHwyKSE9PShMLm51bUNoYW5uZWxzfHwyKT97bXNnOiJjaGFubmVsLWNvdW50In06bi50dyYmay5OUCgpJiZiLnZpZGVvLmZwcyE9PXgudmlkZW8uZnBzP3ttc2c6ImZwcyJ9Om51bGx9OwpIbEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uZ2V0VmlkZW9EYXRhKCksdj1XLmdldFZpZGVvRGF0YSgpO2lmKCFiLkcoKS5zdXBwb3J0c0dhcGxlc3NTaG9ydHMoKSlyZXR1cm57bnE6ImVudiJ9O2lmKCEoRC5iZCYmIShiLkd1JiYhYi5pc0FkKCl8fHYuR3UmJiF2LmlzQWQoKSl8fEQuViYmKCFiLkd1fHxiLmlzQWQoKSkmJiF2Lkd1fHxELksmJighdi5HdXx8di5pc0FkKCkpJiYhYi5HdXx8Yi52SigpJiZ2LnZKKCkmJiFiLmlzQWQoKXx8IWIuR3UmJiF2Lkd1KSlyZXR1cm57bnE6ImF1dG9wbGF5In07aWYoYi5lbmRTZWNvbmRzPjApcmV0dXJue25xOiJlbmRjciJ9O2lmKCFiLkspcmV0dXJue25xOiJjbGllbnQifTtpZighbi5kVCgpKXJldHVybntucToibm8tZW1wdHkifTtuPXRoKEQsbixXLEluZmluaXR5KTtyZXR1cm4gbiE9bnVsbD97bnE6bi5tc2d9Om51bGx9OwokST1mdW5jdGlvbihuKXtuLkomJm4uTiYmKG4uSi51bnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsbi5YLG4pLG4uTi51bnN1YnNjcmliZSgiZGF0YWxvYWRlZCIsbi5YLG4pKX07CkFldD1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZlloO1cuWT1uLlMoImg1X2dhcGxlc3Nfc3VwcG9ydF90eXBlc19kaWZmIik7Vy50dz0hMTtXLlRDPW4uUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4Iik7Vy5PPW4uUygiaHRtbDVfZ2FwbGVzc19kaXNhYmxlX29uX2F2MSIpJiYhbi5TKCJodG1sNV9nYXBsZXNzX2VuYWJsZV9vbl9hdjEiKTtXLkQ9bi5TKCJodG1sNV9nYXBsZXNzX2NoZWNrX2NvZGVjX2RpZmZfc3RyaWN0bHkiKTtXLmJkPW4uUygiaHRtbDVfZ2FwbGVzc19vbl9hZF9hdXRvcGxheSIpO1cuY0o9bi5TKCJodG1sNV9nYXBsZXNzX2Rpc2FibGVfZGlmZl9hc3BlY3RfcmFkaW8iKTtXLlY9bi5TKCJodG1sNV9nYXBsZXNzX2FkX2F1dG9wbGF5X29uX2FkX3RvX3ZpZGVvX29ubHkiKSYmIW4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIik7Vy5XPW4uUygiaHRtbDVfcHNldWRvZ2FwbGVzc19zaG9ydHNfc2Vla190b19uZXh0X3N0YXJ0Iik7Clcuaj1uLlp0KCkuTi5RUShKZTEpO1cuSz1uLlMoImh0bWw1X2dhcGxlc3NfYWRfYXV0b3BsYXlfb25fdmlkZW9fdG9fYWRfb25seSIpO1cuTj1OdW1iZXIobi5adCgpLk4uUVEoSVlpKSk7Vy5KPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfc2hvcnRzX2dhcGxlc3NfbmV4dF9idWZmZXJfaW5fc2Vjb25kcyIpPz9XLko7Vy5YPU51bWJlcihuLlp0KCkuTi5RUShTb1MpPz9XLlgpO3JldHVybiBXfTsKcmY9ZnVuY3Rpb24obixXKXtXPD1uLnN0YXR1cy5zdGF0dXN8fChuLnN0YXR1cz17c3RhdHVzOlcsZXJyb3I6bnVsbH0sVz09PTUmJm4uQ1IucmVzb2x2ZSgpKX07Cm1yaj1mdW5jdGlvbihuLFcsRCxiKXtuPW4uaXNWaWV3KCk/bi5tZWRpYUVsZW1lbnQ6bjtyZXR1cm4gbmV3IGcuc2cobixXLEQsYil9OwpLRWg9YXN5bmMgZnVuY3Rpb24obil7aWYobi5xTigpKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8ImRpc3Bvc2VkIikpO24udGltZW91dC5zdGFydCgpO2F3YWl0IG4uQ1I7dmFyIFc9bi5OLmg1KCk7aWYoVy5pc0VuZGVkKCkpcmV0dXJuIG4uS2coImVuZGVkX2luX2ZpbmlzaFRyYW5zaXRpb24iKSxQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8IiIpKTtpZighbi5BYnx8IW42KG4uQWIpKXJldHVybiBuLlYmJm4uTi5VKCJubWMiLHtubXM6ISFuLkFiLG5tcnM6bi5BYj8uVygpfSksbi5LZygibmV4dF9tc2VfY2xvc2VkIiksUHJvbWlzZS5yZWplY3QoRXJyb3Iobi5zdGF0dXMuZXJyb3J8fCIiKSk7aWYobi5KLlV6KCkhPT1uLkFiKXJldHVybiBuLktnKCJuZXh0X21zZV9taXNtYXRjaCIpLFByb21pc2UucmVqZWN0KEVycm9yKG4uc3RhdHVzLmVycm9yfHwiIikpO3ZhciB7SF86RCxSOTpiLEYzOnZ9PW4uSygpO24uTi5jUCghMSwKITApO2lmKG4uVil7dmFyIGs9bi5BYi5OLGg9bi5BYi5KO2suVnUoITApO2guVnUoITApO2lmKGsuaVEoKSl7dmFyIHg9ay5aZygpO2xldCBMPWsuayQuTXIoKTt4JiZ4LnNlZ21lbnRTdGFydFRpbWUrTDxEJiZrLmFib3J0KCl9aC5pUSgpJiYoaz1oLlpnKCkseD1oLmskLk1yKCksayYmay5zZWdtZW50U3RhcnRUaW1lK3g8RCYmaC5hYm9ydCgpKX1uLnBvbGljeS5OPjAmJihuLlZ1KG4uQWIsITApLG4uSi51bCgpKTtoPW1yaihXLEQsdiwhbi5KLmdldFZpZGVvRGF0YSgpLmlzQWQoKSk7bi5KLnNldE1lZGlhRWxlbWVudChoKTsoaz1uLk4uTHAoKSkmJm4uSi5CbihrLkFvLGsud08pO24udHcmJihuLnBvbGljeS5XfHxuLkouc2Vla1RvKG4uSi5nZXRDdXJyZW50VGltZSgpKy4wMDEse0E5OiEwLFpVOjMscWQ6ImdhcGxlc3NfcHNldWRvIn0pLGgucGxheSgpKTtXPVcueXIoKTtXLmNwbj1uLk4uZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZTtXLnN0PWAke0R9YDtXLmV0PQpgJHt2fWA7bi5KLlUoImdhcGxlc3MiLFcpO24uTi5VKCJnYXBsZXNzVG8iLHtjcG46bi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2V9KTtXPW4uTi5nZXRQbGF5ZXJUeXBlKCk9PT1uLkouZ2V0UGxheWVyVHlwZSgpO24uTi5OMihiLCEwLCExLFcsbi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2Usbi5KLmdldFZpZGVvRGF0YSgpLnZpZGVvSWQpO24uSi5OMihuLkouZ2V0Q3VycmVudFRpbWUoKSwhMCwhMCxXLG4uTi5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlLG4uTi5nZXRWaWRlb0RhdGEoKS52aWRlb0lkKTtuLkouUDIoKTtnLm1LKCgpPT57IW4uSi5nZXRWaWRlb0RhdGEoKS5ZJiZuLkouZ2V0UGxheWVyU3RhdGUoKS5pc09yV2lsbEJlUGxheWluZygpJiZuLkouZTIoKX0pOwpyZihuLDYpO24uZGlzcG9zZSgpO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX07ClBkWj1mdW5jdGlvbihuKXtpZihuLkouZ2V0VmlkZW9EYXRhKCkuVyl7dmFyIFc9bi50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc19zdXNwZW5kX25leHRfbG9hZGVyIikmJm4uaj09PTE7bi5KLm5tKG4uQWIsVyxuLmo9PT0xJiZnLllOKG4uTi5nZXRWaWRlb0RhdGEoKSkpO3JmKG4sMyk7T2xNKG4pO3ZhciB7Z2Q6RCxUYzpifT1OSyhuKTtELnN1YnNjcmliZSgidXBkYXRlZW5kIixuLmVYLG4pO2Iuc3Vic2NyaWJlKCJ1cGRhdGVlbmQiLG4uZVgsbik7bi5lWChEKTtuLmVYKGIpfX07Ck9sTT1mdW5jdGlvbihuKXtuLk4udW5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixuLlgsbik7bi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsbi5YLG4pO24udGIuRygpLlMoImh0bWw1X2dhcGxlc3NfdXNlX2Zvcm1hdF9pbmZvX2ZpeCIpJiYobi5OLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbiksbi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbikpO24uTi51bnN1YnNjcmliZSgibWVkaWFzb3VyY2VhdHRhY2hlZCIsbi5YLG4pO24uSi51bnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLG4uVEMsbil9OwpOSz1mdW5jdGlvbihuKXtyZXR1cm57Z2Q6bi5XLk4uayQsVGM6bi5XLkouayR9fTsKcE89ZnVuY3Rpb24obixXKXtpZighbilyZXR1cm4hMTt2YXIgRD1uLko7cmV0dXJuIEJSKG4uTj8uWkYoKSxXKSYmQlIoRD8uWkYoKSxXKX07ClpsaT1mdW5jdGlvbihuKXtpZighbilyZXR1cm4hMTt2YXIgVz1uLko7cmV0dXJuIG4uTj8uaVEoKXx8Vz8uaVEoKX07CkVEaj1hc3luYyBmdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlgmJm4uTil7bi5PJiZuLmFwcC5NTigpLmtOKCEwLCExKTt2YXIgVz1udWxsO2lmKG4uVyl0cnl7YXdhaXQgS0VoKG4uVyl9Y2F0Y2goYil7Vz1ifWlmKG4uTiYmKFVydy5jVygidnFzcCIsKCk9PntuLmFwcC5RVChuLk4pfSksbi5OKSl7dmFyIEQ9bi5OLmg1KCk7Cm4uYXBwLkcoKS5TKCJodG1sNV9nYXBsZXNzX3NlZWtfb25fbmVnYXRpdmVfdGltZSIpJiZEJiZELmdldEN1cnJlbnRUaW1lKCk8LS4wMSYmbi5OLnNlZWtUbygwKTtVcncuY1coInZxcHYiLCgpPT57bi5hcHAucGxheVZpZGVvKCl9KTsKVyYmKG4uTj8oVz1XP1cubWVzc2FnZToiZm9yY2VkIixuLko/LlUoImdhcGZ1bGZiayIse3I6V30pLG4uYXBwLkcoKS5adCgpLk4uUVEoeWVpKSYmKG4uTi5nZXRWaWRlb0RhdGEoKS5HUz0hMSksbi5OLk9jKFcpKTpuLko/LlUoImdhcHNwIix7fSkpO1c9bi5YO1lJKG4pO1cmJlcucmVzb2x2ZSgpO1Byb21pc2UucmVzb2x2ZSgpfX19OwpIYz1mdW5jdGlvbihuKXtuLkQmJm4uaiYmbi5ELnJlbW92ZUV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLG4uaik7bi5qPW51bGw7bi5EPW51bGx9OwpZST1mdW5jdGlvbihuLFc9ITEpe2lmKG4uSil7aWYobi5WKXt2YXIgRD1uLko7bi5hcHAuUkIucmVtb3ZlRXZlbnRMaXN0ZW5lcihnLm95KCJ2cXVldWVkIiksbi5ZKTtELnJlbW92ZUN1ZVJhbmdlKG4uVil9bi5KPW51bGw7bi5WPW51bGx9bi5XJiYobi5XLnN0YXR1cy5zdGF0dXMhPT02JiYoRD1uLlcsRC5zdGF0dXMuc3RhdHVzIT09SW5maW5pdHkmJkQuaiE9PTEmJkQuS2coIkNhbmNlbGVkIikpLG4uVz1udWxsKTtuLlg9bnVsbDtuLk4mJiFXJiZuLk4hPT1uLmFwcC5jWCgpJiZuLk4hPT1uLmFwcC5NTigpJiZuLk4uZGlzcG9zZSgpO24uTiYmVyYmbi5OLm15KCk7bi5OPW51bGw7bi5PPSExfTsKdTd0PWZ1bmN0aW9uKG4sVyxEPSEwKXt2YXIgYj1uLmFwcC5NTigpLHY9Yi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjaz9JbmZpbml0eTpiLlBHKCEwKSoxRTM7Vz52JiYoVz12LTIwMCwhbi5hcHAuRygpLlp0KCkuTi5RUShpbGkpfHxEKSYmKG4uTz0hMCk7RCYmYi5nZXRDdXJyZW50VGltZSgpPj1XLzFFMz9uLlkoKToobi5KPWIsRCYmKEQ9VyxXPW4uSixuLmFwcC5SQi5hZGRFdmVudExpc3RlbmVyKGcub3koInZxdWV1ZWQiKSxuLlkpLEQ9aXNGaW5pdGUoRCl8fEQvMUUzPlcuZ2V0RHVyYXRpb24oKT9EOjB4ODAwMDAwMDAwMDAwMCxuLlY9bmV3IGcubDUoRCwweDgwMDAwMDAwMDAwMDAse25hbWVzcGFjZToidnF1ZXVlZCJ9KSxXLmFkZEN1ZVJhbmdlKG4uVikpKX07CmRyTT1mdW5jdGlvbihuLFcsRCxiPTAsdj0wKXtuLmRUKCl8fChIYyhuKSxZSShuKSk7bi5YPW5ldyBZNjtuLk49Vzt1N3QobixELHY9PT0wKTt2YXIgaz1iLz0xRTMsaD1XLmdldFZpZGVvRGF0YSgpLk47aWYoYiYmaCYmbi5KKXtsZXQgeD1iLEw9MDtXLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrJiYoaz1NYXRoLm1pbihELzFFMyxuLkouUEcoITApKSxMPU1hdGgubWF4KDAsay1uLkouZ2V0Q3VycmVudFRpbWUoKSkseD1NYXRoLm1pbihiLFcuUEcoKStMKSk7az1tOHQoaCx4KXx8YjtrIT09YiYmbi5OLlUoInF2YWxuIix7c3Q6YixhdDprLHJtOkwsY3Q6eH0pfVc9aztiPW4uTjtiLmdldFZpZGVvRGF0YSgpLllaPSEwO2IuZ2V0VmlkZW9EYXRhKCkuSz0hMDtiLmd6KCEwKTtoPXt9O24uSiYmKGg9bi5KLmw1KCksaz1uLkouZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZSxoPXtjcnQ6KGgqMUUzKS50b0ZpeGVkKCksY3BuOmt9KTtiLlUoInF1ZXVlZCIsaCk7VyE9PQowJiZiLnNlZWtUbyhXKy4wMSx7QTk6ITAsWlU6MyxxZDoidmlkZW9xdWV1ZXJfcXVldWVkIn0pO24uVz1uZXcgb0RiKG4uSyxuLmFwcC5NTigpLG4uTixELG4uYXBwLHYpO0Q9bi5XO0Quc3RhdHVzLnN0YXR1cyE9PUluZmluaXR5JiYocmYoRCwxKSxELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsRC5YLEQpLEQuSi5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixELlgsRCksRC50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4IikmJihELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixELlgsRCksRC5KLnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsRC5YLEQpKSxELk4uc3Vic2NyaWJlKCJtZWRpYXNvdXJjZWF0dGFjaGVkIixELlgsRCksRC5KLnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLEQuVEMsRCksRC5OLnN1YnNjcmliZSgibmV3ZWxlbWVudHJlcXVpcmVkIixELlZRLApEKSxELlgoKSk7cmV0dXJuIG4uWH07CmpqeD1mdW5jdGlvbihuLFcpe2lmKG4uYXBwLkcoKS5adCgpLk4uUVEoejBpKSl7dmFyIEQ9bi5hcHAuRygpLlp0KCkuTi5RUShsWWgpO2lmKCEoRDw9MCkpe0hjKG4pO3ZhciBiPW4uYXBwLk1OKCk/Lmg1KCk7YiYmbi5OJiYobi5hcHAuRygpLlp0KCkuTi5RUShUX0MpP24uTi5nZXRWaWRlb0RhdGEoKS5Sbz0hMDpuLk4uZ2V0VmlkZW9EYXRhKCkuR1M9ITAsbi5qPSgpPT57dmFyIHY9Yi5nZXRDdXJyZW50VGltZSgpO3Y+PVcrRC8xRTMmJih2PURhdGUubm93KCktKHYtVykqMUUzLG4uYXBwLmVHKCkudGljaygicGJzIix2KSxIYyhuKSl9LG4uRD1iLGIuYWRkRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsbi5qKSl9fX07CkNkaj1mdW5jdGlvbihuLFcsRCl7aWYobi5kVCgpKXJldHVybiJxaWUiO2lmKG4uTj09bnVsbHx8bi5OLnFOKCl8fG4uTi5nZXRWaWRlb0RhdGEoKT09bnVsbClyZXR1cm4icXBkIjtpZihXLnZpZGVvSWQhPT1uLk4uRTEoKSlyZXR1cm4idmlubSI7aWYoKG4uVz8uYmQoKXx8LTEpPD0wKXJldHVybiJpdmQiO2lmKEQhPT0xKXJldHVybiJ1cHQiO249bi5XPy5lJCgpO3JldHVybiBuIT1udWxsP246bnVsbH07CkpoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLmRhdGEuZm9yRWFjaChEPT57RC5leHBpcmU8VyYmZk8obixELCEwKX0pOwpuLmRhdGE9Zy5FTShuLmRhdGEsRD0+IShELmV4cGlyZTxXKSl9OwpJZT1mdW5jdGlvbihuKXtuLk4uc3RvcCgpO3ZhciBXPUluZmluaXR5O2ZvcihsZXQgRCBvZiBuLmRhdGEpRC5leHBpcmU8VyYmKFc9RC5leHBpcmUpO1cmJmlzRmluaXRlKFcpJiYoVz1NYXRoLm1heChXLURhdGUubm93KCksMTAwKSxuLk4uc3RhcnQoVykpfTsKQl9DPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLmRhdGEuZmluZCh2PT52LmtleT09PVcpOwpiJiYoRCo9MUUzLGIuZXhwaXJlPSgwLGcuUikoKStELEllKG4pKX07CnNGPWZ1bmN0aW9uKG4pe0poKG4pO3JldHVybiBuLmRhdGEubWFwKFc9PlcudmFsdWUpfTsKZk89ZnVuY3Rpb24obixXLEQpe0QmJm4uSiYmbi5KKFcudmFsdWUpfTsKRkVaPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTj9bbi5OXTpbXTtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLmopKUQuZGlzcG9zZSgpLG4uS3x8ZGVsZXRlIG4uVltELldOKCldO24uaj17fTtuLk49bnVsbDtuLlk9bnVsbDtuLkQuY2xlYXIoKTtTcyhuLFtdLFcpfTsKU3M9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtuLkpdO24uTiYmYi5wdXNoKG4uTik7bi5hcGkuV0ooInBsYXliYWNrQ2hhbmdlIix7YWN0aXZlOmIuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKSwKc3RhcnRlZDpXLmZpbHRlcih2PT52LmdldFBsYXllclR5cGUoKSE9PTApLm1hcCh2PT4oe2Nwbjp2LldOKCl9KSksCmVuZGVkOkQuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKX0pfTsKd1AxPWZ1bmN0aW9uKG4sVyl7aWYobi5LKXtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLlcpKWlmKEQuV04oKT09PVcpcmV0dXJuIEQ7aWYobi5PPy5XTigpPT09VylyZXR1cm4gbi5PO2lmKHZvaWQgMD09PVcpcmV0dXJuIG51bGw7aWYobi5qW1ddKXJldHVybiBuLmpbV107Zm9yKGxldCBEIG9mIHNGKG4uWCkpaWYoRC5XTigpPT09VylyZXR1cm4gRDtyZXR1cm4gbnVsbH1pZihuLmFwaS5HKCkuWnQoKS5OLlFRKGcuQWgpKXJldHVybiBuLlZbV118fG51bGw7Zm9yKGxldCBEIG9mIE9iamVjdC52YWx1ZXMobi5XKSlpZihELldOKCk9PT1XKXJldHVybiBEO3JldHVybiBuLmpbV118fG51bGx9OwpNa009ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9RC5nZXRWaWRlb0RhdGEoKTtpZighdi5saXZlUHJlbG9hZCl7dmFyIGs9KCk9PntpZihuLlguZ2V0KFcpPT09RCl7dmFyIGg9di5nZXRQbGF5ZXJSZXNwb25zZSgpO2gmJihoPWgucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9oLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLGghPT12b2lkIDAmJihoPGImJkQuVSgidHRsZCIse3ByZXY6Yi50b1N0cmluZygpLCJuZXciOmgudG9TdHJpbmcoKX0pLGg9PT0wP24uWC5yZW1vdmUoVywhMCk6Ql9DKG4uWCxXLGgpKSl9fTsKaWYodi5pc0xvYWRlZCgpKWsoKTtlbHNle2xldCBoPSgpPT57aygpO3YudW5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfTsKdi5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfX19OwptUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W1ddLHY9bi5OP1tuLk5dOltdO24ualtXLldOKCldPVc7bi5LfHwobi5WW1cuV04oKV09Vyk7bi5OPVc7RCYmKG4uWT1XKTtuLkQuc2V0KCIiLFcpO1NzKG4sYix2KX07CmNlYj1mdW5jdGlvbihuKXt2YXIgVz1uLmV4cGVyaW1lbnRzLEQ9Vy5FcS5iaW5kKFcpO0tPPUQoImh0bWw1X3VzZV9hc3luY19zdG9wVmlkZW8iKTtSMGk9RCgiaHRtbDVfcGF1c2VfZm9yX2FzeW5jX3N0b3BWaWRlbyIpO09nPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO0QoImh0bWw1X2xpc3Rlbl9mb3JfYXVkaW9fb3V0cHV0X2NoYW5nZWQiKSYmKHdVTT0hMCk7REg9RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZSIpfHxEKCJodG1sNV9ub3RfcmVzZXRfbWVkaWFfc291cmNlX25vbl9kcm1fdm9kIik7UWpaPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO1BjPUQoImh0bWw1X3JldGFpbl9zb3VyY2VfYnVmZmVyX2FwcGVuZHNfZm9yX2RlYnVnZ2luZyIpO25WcihEKCJ3ZWJfd2F0Y2hfcGlwIil8fApEKCJ3ZWJfc2hvcnRzX3BpcCIpKTtJdmgoRCgibG9nX2ZvcmVncm91bmRfbm90X2ZvY3VzZWRfYXNfYmFja2dyb3VuZCIpKTtTeXIoRCgid2ViX3BsYXllcl9waXBfbG9nZ2luZ19maXgiKSk7RCgiaHRtbDVfbWVkaWFzdHJlYW1fYXBwbGllc190aW1lc3RhbXBfb2Zmc2V0IikmJihzND0hMCk7bi5XWCgpJiZNRngoKTtFcnJvci5zdGFja1RyYWNlTGltaXQ9NTA7dmFyIGI9Zy5kTShXLCJodG1sNV9pZGxlX3JhdGVfbGltaXRfbXMiKTtiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJyZXF1ZXN0SWRsZUNhbGxiYWNrIix7dmFsdWU6dj0+d2luZG93LnNldFRpbWVvdXQodixiKX0pOwp3Sngobi5XKTthaU0oRCgiaHRtbDVfdXNlX3VtcF9yZXF1ZXN0X3NsaWNlciIpKTtEKCJodG1sNV9kaXNhYmxlX3N0cmVhbWluZ194aHIiKSYmKE5zPSExKTtEKCJodG1sNV9ieXRlcmF0ZV9jb25zdHJhaW50cyIpJiYoaFQ9ITApO0QoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIikmJihadT0hMCk7RCgiaHRtbDVfZW5hYmxlX2VuY3J5cHRlZF9hdjEiKSYmKFBSPSEwKTtXLlp0KCkuTi5RUShWa3cpJiYoRU49ITApO01wQyhnLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X3N0aWNreV9kdXJhdGlvbl9tb3MiKSl9Owp5UjE9ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLmV4cGVyaW1lbnRzLncwKCksYj1bXTtuPShrLGgseCk9PntiLnB1c2goU2soaCh4KSxMPT57V1trXT1MfSkpfTsKdmFyIHY9RC5OLlFRKGFZeCk7diYmbigiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUJ1ZmZlcmVkUmFuZ2UiLHFScix2PT09MSk7KHY9RC5OLlFRKG5NdykpJiZuKCJIVFRQMyIsR253LHY9PT0xKTsodj1ELk4uUVEoV2t0KSkmJm4oIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VBdHRhY2htZW50TWV0aG9kcyIsdEZ4LHY9PT0xKTsodj1ELk4uUVEoRERaKSkmJm4oIlFVSUMiLCRMQyx2PT09MSk7KHY9RC5OLlFRKGJSdykpJiZuKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsc2d3LHY9PT0xKTsodj1ELk4uUVEodk1TKSkmJm4oIk1lZGlhLkF1ZGlvV3JpdGVEdXJhdGlvbkxvY2FsIixyYzIsTnVtYmVyKHYpKTsodj1ELk4uUVEoazZ3KSkmJm4oIk1lZGlhLkV4cGVyaW1lbnRhbE1heFBlbmRpbmdCeXRlc1BlclBhcnNlIixLWFosTnVtYmVyKHYpKTsodj1ELk4uUVEoaFVpKSkmJm4oIk1lZGlhLkVuYWJsZUZsdXNoRHVyaW5nU2VlayIsCkpjYixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoeERaKSkmJm4oIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsSXl3LE51bWJlcih2KSk7KHY9RC5OLlFRKExrQykpJiZuKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLFNSdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZVVVKSkmJm4oIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLEFjWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZ014KSkmJm4oIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbUwyLE51bWJlcih2KT09PTEpOyh2PUQuTi5RUShYR1UpKSYmbigiTWVkaWEuRW5hYmxlUmVzZXRBdWRpb0RlY29kZXIiLGZ5VSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocXhoKSkmJm4oIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLEhGWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoRzYyKSkmJm4oIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsCk9GQyxOdW1iZXIodikpOyh2PUQuTi5RUSh0NWkpKSYmbigiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsTjBTLHYpOyh2PUQuTi5RUSgkRDEpKSYmbigiTWVkaWEuTWVkaWFDb2RlY1Jlc2V0RGVsYXlNcyIsUFFyLHYpOyh2PUQuTi5RUShyUmkpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbklucHV0QnVmZmVycyIscE50LHYpOyh2PUQuTi5RUShzd2kpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbkRlY29kZWRGcmFtZXMiLFlSdyx2KTsodj1ELk4uUVEoTmRTKSkmJm4oIk1lZGlhLlVzZUR1YWxUaHJlYWRzRm9yVmlkZW8iLHljMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocEcxKSkmJm4oIk1lZGlhLlZpZGVvQnVmZmVyU2l6ZUNsYW1wTWIiLEV1dCx2KTsodj1ELk4uUVEoWXhyKSkmJm4oIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixpRlUsdik7KHY9RC5OLlFRKEhScikpJiZuKCJNZWRpYS5EaXNhYmxlTG93UGVyZm9ybWFuY2VTb2Z0d2FyZURlY29kZSIsClpGdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZndqKSkmJm4oIk1lZGlhLkVuYWJsZUF2MVN0YXJ0dXBPcHRpbWl6YXRpb24iLFVMMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSlIxKSkmJm4oIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLGRMaSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSXd4KSkmJm4oIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIix1cXQsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFN4aSkpJiZuKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG91MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoQVJNKSkmJm4oIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIix6UVMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKG1EaCkpJiZuKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLGx5MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoS2tpKSkmJm4oIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixUMFUsTnVtYmVyKHYpPT09CjEpOyh2PUQuTi5RUShPUlUpKSYmbigiTWVkaWEuU2tpcFZpZGVvRnJhbWVzT3ZlcjYwRnBzIixqZ2gsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFBoaikpJiZuKCJNZWRpYS5GbHVzaEF1ZGlvVHJhY2tEdXJpbmdTZWVrIixDUUMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFpSeCkpJiZuKCJNZWRpYS5CeXBhc3NNb2pvRm9yTWVkaWEiLEIwaixOdW1iZXIodik9PT0xKTsoRD1ELk4uUVEoVUQyKSkmJm4oIk1lZGlhLklnbm9yZU1lZGlhQ29kZWNDYWxsYmFja3NEdXJpbmdGbHVzaGluZyIsRlgyLE51bWJlcihEKT09PTEpO3JldHVybiBTayhGTngoYiksKCk9PlcpfTsKR0Q9ZnVuY3Rpb24obixXPSExLEQ9MTA0ODU3Nil7dmFyIGI9VWcobik7Yj0xLygobi5LLkxnKCl8fDApKm4ucG9saWN5LkQrMS9iKTt2YXIgdj1uLlMkLkxnKCk7dj12PjA/djoxO3ZhciBrPU1hdGgubWF4KGIsdik7bi5wb2xpY3kuWD4wJiZ2PGImJihrPU1hdGgubWluKG4ucG9saWN5LlgsMSksaz0oMS1rKSpiK2sqdik7aWYoIVcpcmV0dXJuIGs7Vz0xRS05KyRzKG4pO0Q9aypNYXRoLm1pbigxLEQvKGsqVykpO24ucG9saWN5Lkp8fChuPSgobi5ELnBlcmNlbnRpbGUoLjk4KXx8MCktMSkvMixuPU1hdGgubWF4KDAsTWF0aC5taW4oMSxuKSksRCo9MS0uNSpuKTtyZXR1cm4gRH07CiRzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uWS5MZygpK24uVEMuTGcoKXx8MDtXPWlzTmFOKFcpPy41Olc7bi5wb2xpY3kuVDY+PTAmJihXPU1hdGgubWluKFcsbi5wb2xpY3kuVDYpKTtyZXR1cm4gV307CmUwPWZ1bmN0aW9uKG4pe3ZhciBXPXtkZWxheTokcyhuKSxzdGFsbDpuLksuTGcoKXx8MCxieXRlcmF0ZTpVZyhuKSxpbml0Om4uVlF9LEQ9bi5XWzBdO0Quc3RhbXA9TWF0aC5yb3VuZChuLlYvMzZFNSkqMzZFNTtELm5ldD1NYXRoLmNlaWwobi5iZCk7RC5tYXg9bi5pbnRlcnJ1cHRpb25zWzBdfHwwO1cuaW50ZXJydXB0aW9ucz1uLlc7cmV0dXJuIFd9Owp6RD1mdW5jdGlvbihuLFcpe2lmKG4uail7bGV0IEQ9Vy1uLmo7aWYoRDw2RTQpe2lmKEQ+MUUzKXtsZXQgYj1uLmludGVycnVwdGlvbnM7Yi5wdXNoKE1hdGguY2VpbChEKSk7Yi5zb3J0KCh2LGspPT5rLXYpOwpiLmxlbmd0aD4xNiYmYi5wb3AoKX1uLmJkKz1EfX1uLmo9V307CnlTPWZ1bmN0aW9uKG4sVyxEKXtpc05hTihEKXx8KG4udHcrPUQpO2lzTmFOKFcpfHwobi5EdCs9Vyl9OwpCdT1mdW5jdGlvbihuLFcsRCxiPVcpe24uWC5JSShiLEQvVyk7bi5WPSgwLGcuUikoKX07CkVnPWZ1bmN0aW9uKG4sVyxEKXtXPU1hdGgubWF4KFcsbi5KLk4pO24uSy5JSSgxLEQvVyl9Owppcz1mdW5jdGlvbihuLFcsRCxiLHYsaz0hMSl7bi5TJC5JSShXLEQvVyk7bi5WPSgwLGcuUikoKTt2fHxuLkQuSUkoMSxXLWIpO2t8fChuLmo9MCk7bi5jSj4tMSYmKDAsZy5SKSgpLW4uY0o+M0U0JiYoc24oZTAobikpLG4uY0o9KDAsZy5SKSgpLG4uTz0hMCl9OwpUWj1mdW5jdGlvbihuKXtyZXR1cm4oMCxnLlIpKCktbi5WPj00RTN9OwpVZz1mdW5jdGlvbihuKXtuPW4uWC5MZygpO3JldHVybiBuPjA/bjoxfTsKaVJaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgRU1NKEQpO24mJihiLlc9ITAsYi5qPS4xKTtELkVxKCJodG1sNV9tZWRpYV90aW1lX3dlaWdodCIpJiYoYi5XPSExKTtXJiYoYi5OPVcvOCk7Yi5KPXA3KCk+PTQ4MDtyZXR1cm4gYn07CnVzPWZ1bmN0aW9uKG4pe24uTi5jbGVhcigpO24uVy5jbGVhcigpO24uSi5jbGVhcigpfTsKdWFVPWZ1bmN0aW9uKG4sVyxEKXtuPW4uSjt2YXIgYj1nLlc0KG4se29hOld9LCh2LGspPT52Lm9hLWsub2EpOwpiPWI8MD8oYisyKSotMTpiO2lmKGI+PTApZm9yKGxldCB2PWI7djw9YisxJiZ2PG4ubGVuZ3RoO3YrKyl7bGV0IGs9blt2XTtpZihXPj1rLm9hLUQmJlc8PWsuZEkrRClyZXR1cm4ga319OwpvTWg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5nZXQoVyk7Yj8oYi5wdXNoKEQpLGcuYmYoYiwodixrKT0+di5vYS1rLm9hKSk6bi5OLnNldChXLFtEXSl9OwpkRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2Ygbi5KKVcoYil8fEQucHVzaChiKTtpZihuLkIuUygiaHRtbDVfc3N0bV9maXhlcyIpKWZvcihsZXQgYiBvZiBuLkopVyhiKSYmbi5XLmRlbGV0ZShiLmNwbik7bi5KPUR9Owp6VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkouaW5kZXhPZihXKTtEPj0wJiZuLkouc3BsaWNlKEQsMSk7bi5XLmRlbGV0ZShXLmNwbil9Owp0dmk9ZnVuY3Rpb24obixXKXtpZihuLnVLfHxXLmlkZW50aWZpZXImJm4ueXcuaGFzKFcuaWRlbnRpZmllcikpbi5iaih7c3RhcnRub2FkOlcuaWRlbnRpZmllcn0pLGcub2Uobik7ZWxzZSBpZihnLm9NKG4uY0osRD0+RC5pZGVudGlmaWVyPT09Vy5pZGVudGlmaWVyKSluLmJqKHt0aW1lZG91dGNwOjF9KSxuLlkuc3RhcnQoMCk7CmVsc2UgaWYoZy5vTShuLkR0LEQ9PkQuaWRlbnRpZmllcj09PVcuaWRlbnRpZmllcikpbi5iaih7ZmV0Y2hlZGNwOjF9KSxnLm9lKG4pOwplbHNlIGlmKG4uWS5pc0FjdGl2ZSgpKW4uYmooe3JhY2luZ2NwOmAke24uVj8uaWRlbnRpZmllcn1fJHtXLmlkZW50aWZpZXJ9YH0pO2Vsc2V7bi5DdT0obmV3IERhdGUpLmdldFRpbWUoKS8xRTM7bi5iaih7YWRmOjF9KTtsZXQgRD01RTM7RCYmVy5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYoRC09Vy5OKTtuLnZKPU1hdGgubWF4KEQsMTVFMyk7bi5EPSExO24uWS5zdGFydChuLnZKKTtuLlY9Vzt1cyhuLlRDKTtuLkZGPVtdfX07CmcuSnlpPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe3ZhciB4PXY9PT0zLEw9bHdaKG4sVyxELHYsYixoKTtpZighTClyZXR1cm4gZGYobixELHgpLEw9Zy56VihuLEQpPyJ1bmRlYyI6Im5jcCIsbi5iaih7Z3ZwcnA6TCxtdDpXLHNlZzpELHR0OnYsaXRhZzpiLGNlOmh9KSxudWxsO3h8fG4uWXEuc2V0KEQsTCk7aD1MLnZQO3Y9bi5HTShELTEsdixrKT8uQmZ8fCIiO3Y9PT0iIiYmbi5iaih7ZWRzOjF9KTtrPVRkaihuLEwuc3NkYWlBZHNDb25maWcpO3g9bi5ncy5nZXRWaWRlb0RhdGEoKTt4PXguYkJbeC5KPy5jb250YWluZXJUeXBlfHwwXTtMPUwubUYmJkQ+PUwubUY/TC5tRjp2b2lkIDA7dj17YUQ6aD9scyhuLGgpOltdLGFkc0NvbmZpZzprLEJmOnYsREo6TCxvdjpnLk5oKHguc3BsaXQoIjsiKVswXSksZDM6eC5zcGxpdCgiOyIpWzFdfHwiIn07TD17TXk6dn07bi5HQyYmKFc9e2d2cHJwcm86InYiLHNxOkQsbXQ6Vy50b0ZpeGVkKDMpLGl0YWc6YixhY3Buczp2LmFEPy5qb2luKCJfIil8fAoibm9uZSIsYWJpZDpofSxuLmJqKFcpKTtyZXR1cm4gTH07Ck0yPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj1ifHx7cmVhc29uOiJkaXNhYmxlc3NkYWkifTtpZihXJiZEKXtpZighZy5UVihuLFcsRCkpcmV0dXJuITE7Yi5zcT1EfWlmKG4udUspcmV0dXJuITE7bi51Sz0hMDtuLnVmPjAmJihuLnVmPTAsbi51Tj0iIixqcyhuLG4uZ3MuV04oKSwwKSxuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpKTtuLmdzLmRuKGIsdik7cmV0dXJuITB9Owpqd2o9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uald8fG4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKTtDTyhuLCEwKTtuLmdzLnNlZWtUbyhXLEQpO249bi5hcHAuTU4oKTtXPW4uZ2V0UGxheWVyU3RhdGUoKTtiLmlzT3JXaWxsQmVQbGF5aW5nKCkmJiFXLmlzT3JXaWxsQmVQbGF5aW5nKCk/bi5wbGF5VmlkZW8oKTpiLmlzUGF1c2VkKCkmJiFXLmlzUGF1c2VkKCkmJm4ucGF1c2VWaWRlbygpfTsKZy5CYz1mdW5jdGlvbihuKXtuLkdDJiZuLmJqKHthZGY6YDBfJHsobmV3IERhdGUpLmdldFRpbWUoKS8xRTMtbi5DdX1faXNUaW1lb3V0XyR7bi5EfWB9KX07Cmcub2U9ZnVuY3Rpb24obil7bi5EPSExO24uWS5pc0FjdGl2ZSgpJiZnLkJjKG4pO24uWS5zdG9wKCk7bi5SZighMSl9OwpGdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJue3NzdmM6VyxjcG46RD8uY3BufHwiIix2aWQ6RD8udmlkZW9EYXRhLnZpZGVvSWR8fCIiLGN0OihuLmdzLmdldEN1cnJlbnRUaW1lKCl8fDApLnRvRml4ZWQoMyksY210OihuLmdzLm90KCl8fDApLnRvRml4ZWQoMyl9fTsKQ2gxPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbmV3IGcubDUobixXLHtpZDpELG5hbWVzcGFjZToic2VydmVyc3RpdGNoZWRjdWVyYW5nZSIscHJpb3JpdHk6OX0pfTsKZy53Zj1mdW5jdGlvbihuKXtyZXR1cm57Y3BuOm4uZ3MuV04oKSxkdXJhdGlvbk1zOjAsb2E6MCxwbGF5ZXJUeXBlOjEsZEk6MCx2aWRlb0RhdGE6bi5ncy5nZXRWaWRlb0RhdGEoKSxlcnJvckNvdW50OjAsdlA6IiJ9fTsKTUs9ZnVuY3Rpb24obixXLEQsYil7bi5CLlMoImh0bWw1X3NzZGFpX2xvZ19zc2V2dF9pbl9sb2FkZXJfdGltZXJzIikmJihiPW4uYmQ/MDpNYXRoLnJvdW5kKChiLUQpKjFFMyksbi5ncy5VKCJzc2V2dCIse3RhZzoic3N0bWUiLGFkOlchPT1uLmdzLldOKCksY3BuOlcsc3Q6RC1uLmdzLkgzKCksbGF0ZTpifSkpfTsKZy5RUz1mdW5jdGlvbihuLFcpe24uanx8bi5iZHx8Zy5SZShuLG4udU4pO3ZhciBEPVcucUQsYj1XLnpZO2lmKGIuY3BuPT09bi51TiluLmJqKHtpZ3RyYW5zc2FtZToxLGVudGVyOmIuY3BuLGV4aXQ6RC5jcG59KTtlbHNle3ZhciB2PW4uYmQsaz0hIW4uajtuLmo9IiI7dmFyIGg9Vy5tNyx4PUQucGxheWVyVHlwZT09PTI/RC5vYS8xRTMrRC52aWRlb0RhdGEuR0M6Zy53ZihuKS52aWRlb0RhdGEuR0M7bi5hcGkuUygiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiKSYmKGt8fHZ8fEQucGxheWVyVHlwZSE9PTI/KHZ8fGspJiZuLmJqKHttZWNyOjAsc2Vlazp2LHNraXA6a30pOm4uYXBpLk5hKEQuY3BuKSk7aWYoRC5wbGF5ZXJUeXBlPT09MiYmYi5wbGF5ZXJUeXBlPT09MilrP24uYmooe2lndHJhbnNza2lwOjEsZW50ZXI6Yi5jcG4sZXhpdDpELmNwbixzZWVrOnYsc2tpcDpuLmp9KTpnLkJkdChuLEQsYix4LGgsdixrKTtlbHNle24udU49Yi5jcG47anMobixiLmNwbiwKYi5zdGFydFRpbWVTZWNzfHxoKTtXPVcuUXg7aWYoRC5wbGF5ZXJUeXBlPT09MSYmYi5wbGF5ZXJUeXBlPT09Mil7bi5TJD0wO0ZraihuLGIpO3ZhciBMPUZ3KG4sImMyYSIsYik7bi5iaihMKTtuLnVmKyt9ZWxzZSBpZihELnBsYXllclR5cGU9PT0yJiZiLnBsYXllclR5cGU9PT0xKXtuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpO0w9RncobiwiYTJjIik7bi5iaihMKTtuLnVmPTA7bi5TJD14O0w9RC5jcG47dmFyIGU9bi5TJDtpZihMIT09bi5ncy5XTigpKXtsZXQgRz1uLnR3LmdldChMKTtHP0cuTj1lOm4uYmooe25vcF9lOkx9KX1nLndHMShuLEQudlApfUw9TTVpKG4pO24uZ3MuY00oRCxiLHgsaCx2LGssVyxMKX1nLlJVaShuKX19OwppcD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPVdebjtpZigobi0xXjI3KT49biYmKG4rMV4yNCk8bil7dmFyIGU9RFtJW0xeNzg2XV0oSVtMXjgxN10pLEc9MDtlWzBdfHxHKys7bGV0IE49e307Zm9yKDtHPGVbSVs1XV07Rys9MillW0ddJiZFYyg1LExeNjc4NixOLGVbR10sZVtHKzFdKTt2YXIgcj1OfShuXjEzKTwyNiYmbi0yPj0xOCYmKGU9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxMXjc3MDEpLEc9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxlKzEpLGU+MCYmRz4wPyhiW0lbTF43Njg1XV09RFtJW0xeNzY5NF1dKDAsRyksRD1EW0lbTF43Njk0XV0oRysxKSk6KGJbSVtMXjc2ODVdXT1ELEQ9SVtMXjc2OTJdKSxyPVtEXSk7bi0zPj4zfHwocj1iKGssaCx4KSk7bj4+MiY3fHwoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgtRClbSVtMXjE3MTZdXSgpW0lbTF4xNjgxXV0oZnVuY3Rpb24oTil7YltJW0xeMTY3MF1dKE4pfSkpOwpyZXR1cm4gcn07CmpzPWZ1bmN0aW9uKG4sVyxEKXtpZihXPT09bi5ncy5XTigpKW1SKG4uYXBwLlZyLG4uZ3MsITEpO2Vsc2V7bGV0IGI9bi50dy5nZXQoVyk7Yj8oVz1iLFcuTj0wLFcuc3RhcnRUaW1lU2Vjcz1ELG1SKG4uYXBwLlZyLGIsITApKTpuLmJqKHtub3BfczpXfSl9fTsKRmtqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcHA7UFQoVlMoRCkpJiZELlZyLldbMl0mJmcuY18obi5sb2dnZXIsMzYwNzE3ODA2LCJTU1RNIGxpbmdlcmluZyBwbGF5YmFjayIpO24uYXBpLlNvKCk7bi5hcGkuV0ooInNlcnZlcnN0aXRjaGVkdmlkZW9jaGFuZ2UiLFcuY3BuLFcuTDMpfTsKY2M9ZnVuY3Rpb24obixXLEQ9MCl7cmV0dXJue0lEOnVhVShuLk4sVyoxRTMsRCoxRTMpLEJFOld9fTsKZy5SZT1mdW5jdGlvbihuLFcpe3ZhciBEPVd8fG4udU4sYj1uLk4uVkUoRCk7Yj8oVz1iLnZpZGVvRGF0YSxEPWIuTDN8fChuLlcuZ2V0KEQpPy5zdGFydD8/MCkvMUUzLG49bi5ncy5nZXRDdXJyZW50VGltZSgpLUQsVy5HQz1uPjA/bjowKTpnLndmKG4pLnZpZGVvRGF0YS5HQz1uLmdzLmdldEN1cnJlbnRUaW1lKCl9OwpnLlF3aT1mdW5jdGlvbihuLFcsRCl7bi5ncy5CbygpO24uZ3Muc2Vla1RvKFcsRCk7bi5ncy5wbGF5VmlkZW8oKX07CkNPPWZ1bmN0aW9uKG4sVyl7bi5MQj1OYU47bi5mQj1udWxsO24uUmEuc3RvcCgpO24uZSQmJlcmJm4uZSQuR18oKTtuLmpXPW51bGw7bi5lJD1udWxsfTsKbko9ZnVuY3Rpb24obil7VjVoKG4pO2Zvcih2YXIgVyBvZiBuLlcudmFsdWVzKCkpVy5zdGFydD49LTEmJlcuZW5kPD1JbmZpbml0eSYmKG4uZ3MucmVtb3ZlQ3VlUmFuZ2UoVyksbi5XLmRlbGV0ZShXLmdldElkKCkpLG4uYmooe3JtQWRDUjoxfSkpO3ZhciB7SUQ6RCxCRTpifT1jYyhuLC0uMDAxKTtEJiYoVz1iKjFFMy1ELm9hLGcuYWUobixELFcsRC5vYStXKSxXPW4uVy5nZXQoRC5jcG4pKSYmKFcuc3RhcnQ9RC5vYSxXLmVuZD1ELm9hK0QuZHVyYXRpb25Ncyk7KHtJRDpXfT1jYyhuLEluZmluaXR5KSk7VyYmbi5KKGBJbnZhbGlkX2NsZWFyRW5kVGltZU1zXyR7SW5maW5pdHl9X3RoYXRfZmFsbHNfZHVyaW5nXyR7YHBsYXliYWNrX2Nwbl8ke1cuY3BufV92aWRlb19pZF8ke1cudmlkZW9EYXRhPy52aWRlb0lkfV9kdXJhdGlvbk1zXyR7Vy5kdXJhdGlvbk1zfV9lbnRlclRpbWVNc18ke1cub2F9X3BhcmVudFJldHVyblRpbWVNc18ke1cuZEl9YH0uX0NoaWxkX3BsYXliYWNrc19jYW5fb25seV9oYXZlX2R1cmF0aW9uX3VwZGF0ZWRfbm90X3RoZWlyX3N0YXJ0LmApfTsKY1JiPWZ1bmN0aW9uKG4pe3VzKG4uVEMpO24uVy5jbGVhcigpO24uTi5jbGVhcigpO24uWXEuY2xlYXIoKTtuLkZGPVtdO24uVj1udWxsO24ueXcuY2xlYXIoKTtuLm51LmNsZWFyKCk7bi5jSj1bXTtuLkR0PVtdO24uczU9W107bi5FNT1bXTtuLlFyLmNsZWFyKCk7bi5NZC5jbGVhcigpO24uVTUuY2xlYXIoKTtuLnlFLmNsZWFyKCk7bi5EPSExO24uUyQ9MDtuLmJkPSExO24uWVo9ITE7bi51Zj0wO24uQ3U9MDtuLlkkPSExO24udUs9ITE7bi5qPSIiO0ZFWihuLmFwcC5Wcik7bVIobi5hcHAuVnIsbi5ncywhMSk7aWYobi5CLlp0KCk/LkooKSlmb3IobGV0IFcgb2Ygbi50dy52YWx1ZXMoKSlXLmRpc3Bvc2UoKTtuLnR3LmNsZWFyKCk7bi5ZLmlzQWN0aXZlKCkmJmcub2Uobil9OwpWNWg9ZnVuY3Rpb24obil7ZERiKG4uTixXPT5XLm9hPj0tMSYmVy5kSTw9SW5maW5pdHkpfTsKZy5hZT1mdW5jdGlvbihuLFcsRCxiKXtXLmR1cmF0aW9uTXM9RDtXLmRJPWI7KGI9bi50dy5nZXQoVy5jcG4pKT9iLmFUKEQvMUUzKTpuLmJqKHtub3BfZDpXLmNwbn0pfTsKZy56Vj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBuLkZGKWlmKFc+PUQuc3RhcnQmJlc8PUQuZW5kKXJldHVybiEwO3JldHVybiExfTsKZy5UVj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uWXEuZ2V0KEQpO2lmKCFrKXtpZihrPVdmKG4sVykpcmV0dXJuIGs7Vz1uLkdNKEQtMSxiPz8yKTtpZih2KXJldHVybiBuLmJqKHttaXNzY3VlOnYsc3E6RCx0eXBlOmIscHJldnNzdGF0ZTpXPy5zbCxwcmV2cmVjb3JkOm4uWXEuaGFzKEQtMSl9KSxuLllxLmdldChELTEpO2lmKFc/LnNsPT09MilyZXR1cm4gbi5iaih7YWRuZjoxLHNxOkQsdHlwZTpiLHByZXZyZWNvcmQ6bi5ZcS5oYXMoRC0xKX0pLG4uWXEuZ2V0KEQtMSl9cmV0dXJuIGt9Owpsd1o9ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKCFuLnVLKWlmKGcuelYobixEKSluLmJqKHtnZHU6InVuZGVjIixzZWc6RCxpdGFnOnZ9KTtlbHNlIGlmKFc9Zy5UVihuLFcsRCxiLGspLCFuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCl8fCFXPy5QTylyZXR1cm4gV307CldmPWZ1bmN0aW9uKG4sVyl7Vys9bi5IMygpO2lmKG4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSl7YTp7dmFyIEQ9bi5OO249VyoxRTM7Zm9yKGIgb2YgRC5KKWlmKEQ9Yi5MMz9iLkwzKjFFMzpiLm9hLG4+PWIub2EtMUUzJiZuPD1EK2IuZHVyYXRpb25NcysxRTMpYnJlYWsgYTt2YXIgYj12b2lkIDB9Yj17SUQ6YixCRTpXfX1lbHNlIGI9Y2MobixXKSxiPy5JRHx8KGI9Y2MobixXLDEpKTtyZXR1cm4gYj8uSUR9OwpkZj1mdW5jdGlvbihuLFcsRD0hMSl7aWYoIUQpe2ZvcihsZXQgYiBvZiBuLkZGKXtpZihXPj1iLnN0YXJ0JiZXPD1iLmVuZClyZXR1cm47aWYoVz09PWIuZW5kKzEpe2IuZW5kKz0xO3JldHVybn19bi5GRi5wdXNoKG5ldyBhd1MoVykpfX07ClRkaj1mdW5jdGlvbihuLFc9IiIpe3ZhciBEPWcuZDEoVyl8fHZvaWQgMDtXJiZEfHxuLmJqKHthZGNmZzpXPy5sZW5ndGgsZGNmZzpEPy5sZW5ndGh9KTtyZXR1cm4gRH07CmxzPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuW107Zm9yKGxldCBiIG9mIG4pYi5jcG4mJkQucHVzaChiLmNwbik7cmV0dXJuIER9OwpuJE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPSExO2lmKEQ9bi5OLk4uZ2V0KEQpKWZvcihsZXQgdiBvZiBEKXYuZHVyYXRpb25NcyE9PTAmJnYuZEkhPT12Lm9hJiYoRD12LmNwbixXPT09RCYmKGI9ITApLGImJiFuLk1kLmhhcyhEKSYmKG4uYmooe2RlY29yYXRlZEFkOkR9KSxuLk1kLmFkZChEKSkpfTsKdmFyIElhMj1mdW5jdGlvbihuLFcpe3JldHVybiBvU1tJWzEwXV0odGhpcywyLDQ0MzksbixXKX07CldMcj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtuPW4uTi5OLmdldChEKTtpZighbilyZXR1cm4tMTtmb3IobGV0IHYgb2Ygbil7aWYodi5jcG49PT1XKXJldHVybiBiO2IrK31yZXR1cm4tMX07CkRhcj1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuIDA7Zm9yKGxldCBiIG9mIG4pYi5kdXJhdGlvbk1zIT09MCYmYi5kSSE9PWIub2EmJkQrKztyZXR1cm4gRH07CmcuYmZ4PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLlcudmFsdWVzKCkpbi5ncy5yZW1vdmVDdWVSYW5nZShXKTtuLlcuY2xlYXIoKTt1cyhuLlRDKX07Ck01aT1mdW5jdGlvbihuKXt2YXIgVz1BcnJheS5mcm9tKG4uYXBwLlZyLkQudmFsdWVzKCkpLEQ9W10sYj1bXSx2PVtdLGs9W10saD1bXSx4PVtdO2Zvcih2YXIgTCBvZiBXKWlmKFc9bi5OLlZFKEwuV04oKSkpbi5iaih7YXR0YWNoX3RyYW5zX21ldGE6Vy5jcG4saGFzX3ZfbWV0YTpXLnNmPzE6MCxoYXNfYV9tZXRhOlcuWU0/MTowLGhhc19jdHhfbWV0YTpXLmpWPzE6MH0pLFcualYmJkQucHVzaChXLmpWKSxXLnNmJiZiLnB1c2goVy5zZiksVy5ZTSYmYi5wdXNoKFcuWU0pLGsucHVzaChXLmNwbiksaC5wdXNoKFcudmlkZW9EYXRhLnZpZGVvSWR8fCIiKSx4LnB1c2goVy52aWRlb0RhdGEuYWRGb3JtYXR8fFcudmlkZW9EYXRhLkZGKSxXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YSE9bnVsbCYmdi5wdXNoKFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhKTtMPXZvaWQgMDtuLnZYJiYobi5iaih7aGFzX2N0eF9saXN0OkQubGVuZ3RoPzE6MCxoYXNfY2xpcF9saXN0OmIubGVuZ3RoPwoxOjB9KSxMPXtqVjpELHJYOmJ9KTtyZXR1cm57UHc6TCxSUDp7YUQ6ayxhcTpoLGFkRm9ybWF0czp4LHNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YTp2fX19OwpnLkJkdD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtpZihXJiZEKXtuLnVOPUQuY3BuO2pzKG4sRC5jcG4sRC5zdGFydFRpbWVTZWNzfHx2KTtGa2oobixEKTt2YXIgeD1GdyhuLCJhMmEiLEQpO24uYmooeCk7bi51ZisrO3g9TTVpKG4pO24uZ3MuY00oVyxELGJ8fDAsdnx8MCwhIWssISFoLHZvaWQgMCx4KX1lbHNlIG4uYmooe21pc3NwYmtvbmFkdHJhbnM6MSxlbnRlcjpEPy5jcG58fCIiLGV4aXQ6Vz8uY3BufHwiIixzZWVrOmssc2tpcDpofSl9OwpnLlJVaT1mdW5jdGlvbihuKXtuLnlFLmFkZChuLmopO24uaj0iIjtuLmJkPSExfTsKdiRoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYjtpZihiPW4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSliPShiPW4uTi5WRShXKSkmJmIudlA/KG49bi5OLk4uZ2V0KGI/LnZQKSkmJm4uc2xpY2UoLTEpWzBdLmNwbj09PVc6ITE7cmV0dXJuIGImJkQ9PT0yPzFFMzowfTsKZy53RzE9ZnVuY3Rpb24obixXKXtpZihuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCkpe3ZhciBEPW4uTi5OLmdldChXKTtpZihEKXtmb3IodmFyIGIgb2YgRCl7bi5iaih7cmVtX21ldGE6Yi5jcG59KTtEPW47bGV0IHY9RC5XLmdldChiLmNwbik7RC5XLmRlbGV0ZShiLmNwbik7diYmRC5ncy5yZW1vdmVDdWVSYW5nZSh2KTt6VWgoRC5OLGIpfW4uWXEuY2xlYXIoKTtiPW4uTjtEPWIuTi5nZXQoVyk/P1tdO2ZvcihsZXQgdiBvZiBEKXpVaChiLHYpO2IuTi5kZWxldGUoVyk7KFc9bi5aaC5nZXQoVykpJiZuLlJ0JiZuLmdzLll5KFcpfX19OwpodnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPW4uVnx8bi5hcHAuTU4oKS5nZXRQbGF5ZXJTdGF0ZSgpO0RMKG4sITApO1c9aXNGaW5pdGUoVyk/VzpuLk4uTlcoKTt2YXIge0lEOnYsQkU6a309YmwobixXKTtXPXYmJiF2ZihuLHYpfHwhdiYmbi5OIT09bi5hcHAuTU4oKTt2YXIgaD1rKjFFMztoPW4uVyYmbi5XLnN0YXJ0PD1oJiZoPD1uLlcuZW5kOyFXJiZofHxrcihuKTt2P2cua3JaKG4sdixrLEQsYik6eHIobixrLEQsYiwiX2V4ZWN1dGUiKX07CmcuTEo9ZnVuY3Rpb24obixXLEQsYil7bi5OLlUoInRpbWVsaW5lZXJyb3IiLHtlOlcsY3BuOkQ/RDp2b2lkIDAsdmlkZW9JZDpiP2I6dm9pZCAwfSl9OwpnLmVhPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBnLmw1KE1hdGgubWF4KDAsbi01RTMpLFc/MHg4MDAwMDAwMDAwMDAwOm4tMSx7bmFtZXNwYWNlOiJjaGlsZHBsYXliYWNrIixwcmlvcml0eTo5fSl9OwpnLnhhaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5MeDtXLkx4PUQ7dmYobixXKSYmKEQ9bi5hcHAuTU4oKSxiLm9JPT09bi5XJiZrcihuKSxELnJlbW92ZUN1ZVJhbmdlKGIub0kpLEQuYWRkQ3VlUmFuZ2UoVy5MeC5vSSkpfTsKZy5rclo9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12ZihuLFcpO2lmKCFrKXtXLnBsYXllclZhcnMucHJlZmVyX2dhcGxlc3M9ITA7dmFyIGg9bmV3IGcuVXIobi5CLFcucGxheWVyVmFycyk7aC5LZj1XLktmO24uYXBpLnoyKGgsVy5wbGF5ZXJUeXBlKX1oPW4uYXBwLk1OKCk7a3x8aC5hZGRDdWVSYW5nZShXLkx4Lm9JKTtoLnNlZWtUbyhELHtxZDoiYXBwbGljYXRpb25fdGltZWxpbmVtYW5hZ2VyIiwuLi5ifSk7TEwyKG4sdil9OwpldnQ9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7Yj1XLktmO3ZhciB2PVcucGxheWVyVmFycyxrPVcucGxheWVyVHlwZTtuLks9Vzt2JiZuLmFwaS5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnModixrLEQsYil9OwpnJFM9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7bi5hcGkuV3Aobi5OLEQsVyl9Owprcj1mdW5jdGlvbihuKXtuLks9bnVsbDtuLlc9bnVsbDtuLmFwaS5kVCgpfHxuLmFwaS5jbGVhclF1ZXVlKCl9Owp2Zj1mdW5jdGlvbihuLFcpe249bi5hcHAuTU4oKTtyZXR1cm4hIW4mJm4uZ2V0VmlkZW9EYXRhKCkuS2Y9PT1XLktmfTsKWGVqPWZ1bmN0aW9uKG4sVyl7dmYobixXKXx8Zy5MSihuLCJjaGlsZFBsYXliYWNrSXNOb3RQcmVzZW50aW5nIik7cmV0dXJuIFcuZEk9PT1XLm9hK1cuZHVyYXRpb25Ncz9XLm9hK24uYXBwLk1OKCkuZ2V0Q3VycmVudFRpbWUoKSoxRTM6Vy5kSX07CmJsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtmb3IobGV0IGIgb2Ygbi5KKXtuPWIub2EvMUUzK0Q7bGV0IHY9bitiLmR1cmF0aW9uTXMvMUUzO2lmKG4+VylicmVhaztpZih2PlcpcmV0dXJue0lEOmIsQkU6Vy1ufTtEPXYtYi5kSS8xRTN9cmV0dXJue0lEOm51bGwsQkU6Vy1EfX07CkRMPWZ1bmN0aW9uKG4sVyl7bi5PPU5hTjtuLkQ9bnVsbDtuLlkuc3RvcCgpO24uWCYmVyYmbi5YLkdfKCk7bi5WPW51bGw7bi5YPW51bGx9Owp4cj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uTjtrIT09bi5hcHAuTU4oKSYmbi5hcHAuWDkoKTtuLkIuUygiaHRtbDVfc2Ficl9jc2RhaV9zZWVrX2xvZyIpfHwodj0iIik7ay5zZWVrVG8oVyx7cWQ6ImFwcGxpY2F0aW9uX3RpbWVsaW5lbWFuYWdlciIrKHY/PyIiKSwuLi5EfSk7TEwyKG4sYil9OwpMTDI9ZnVuY3Rpb24obixXKXtuPW4uYXBwLk1OKCk7dmFyIEQ9bi5nZXRQbGF5ZXJTdGF0ZSgpO1cuaXNPcldpbGxCZVBsYXlpbmcoKSYmIUQuaXNPcldpbGxCZVBsYXlpbmcoKT9uLnBsYXlWaWRlbygpOlcuaXNQYXVzZWQoKSYmIUQuaXNQYXVzZWQoKSYmbi5wYXVzZVZpZGVvKCl9OwpxZWk9ZnVuY3Rpb24obil7dmFyIFc9bi5KLmZpbmQoRD0+dmYobixEKSk7CmlmKFcpe2xldCBEPW4uYXBwLk1OKCk7a3Iobik7bGV0IGI9bmV3IGcubG0oOCk7Vz1YZWoobixXKS8xRTM7eHIobixXLHt9LGIsIl9mb3JjZSIpO0QuVSgiZm9yY2VQYXJlbnRUcmFuc2l0aW9uIix7Y2hpbGRQbGF5YmFjazoxfSk7bi5OLlUoImZvcmNlUGFyZW50VHJhbnNpdGlvbiIse3BhcmVudFBsYXliYWNrOjF9KX19OwpnLmc1PWZ1bmN0aW9uKG4sVz0tMSxEPUluZmluaXR5KXtmb3IobGV0IFt4LExdb2Ygbi5qKXt2YXIgYj14LHY9TDt2LnFJPj1XJiZ2LnRhcmdldCYmdi50YXJnZXQuZEk8PUQmJihuLk4ucmVtb3ZlQ3VlUmFuZ2UoYiksbi5qLmRlbGV0ZShiKSl9Yj1bXTtmb3IobGV0IHggb2Ygbi5KKXgub2E+PVcmJnguZEk8PUQ/KHY9bix2Lks9PT14JiZrcih2KSx2Zih2LHgpJiZ2LmFwcC5YOSgpKTpiLnB1c2goeCk7bi5KPWI7dmFyIHtJRDprLEJFOmh9PWJsKG4sVy8xRTMpO2smJihXPWgqMUUzLGcuR3IxKG4sayxXLGsuZEk9PT1rLm9hK2suZHVyYXRpb25Ncz9rLm9hK1c6ay5kSSkpOyh7SUQ6V309YmwobixELzFFMykpO1cmJmcuTEoobixgSW52YWxpZCBjbGVhckVuZFRpbWVNcz0ke0R9IHRoYXQgZmFsbHMgZHVyaW5nICR7YHBsYXliYWNrPXt0aW1lbGluZVBsYXliYWNrSWQ9JHtXLktmfSB2aWRlb19pZD0ke1cucGxheWVyVmFycy52aWRlb19pZH0gZHVyYXRpb25Ncz0ke1cuZHVyYXRpb25Nc30gZW50ZXJUaW1lTXM9JHtXLm9hfSBwYXJlbnRSZXR1cm5UaW1lTXM9JHtXLmRJfX1gfS5DaGlsZCBwbGF5YmFja3MgY2FuIG9ubHkgaGF2ZSBkdXJhdGlvbiB1cGRhdGVkIG5vdCB0aGVpciBzdGFydC5gKX07CmcuR3IxPWZ1bmN0aW9uKG4sVyxELGIpe1cuZHVyYXRpb25Ncz1EO1cuZEk9YjtiPXtvSTpnLmVhKEQsITApLHFJOkQsdGFyZ2V0Om51bGx9O2cueGFpKG4sVyxiKTt2ZihuLFcpJiZuLmFwcC5NTigpLmdldEN1cnJlbnRUaW1lKCkqMUUzPkQmJihXPVhlaihuLFcpLzFFMyxEPW4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKSx4cihuLFcse30sRCwiX3VwZGF0ZSIpKX07CiRhcj1mdW5jdGlvbihuKXtuJiZuIT09IndlYiImJnRZaS5pbmNsdWRlcyhuKX07CnVScj1mdW5jdGlvbihuLFcpe3JldHVybiBXPyEhbi5OLmdldChXKTohMX07CnJFUz1mdW5jdGlvbihuLFcpe24uZGF0YXNldC52ZXJzaW9uPVd9OwpzOHI9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuUkIsRD0oKT0+e24uRU49bmV3IGcuYnIoMCwwLDAsMCk7bi5JMD1uZXcgZy5icigwLDAsMCwwKX0sYj1oPT57aC5nZXRWaWRlb0RhdGEoKSYmbi51cGRhdGVWaWRlb0RhdGEoaC5nZXRWaWRlb0RhdGEoKSl9LHY9KGgseCk9PntuLmYxKGgseCl9LGs9aD0+e24ubkImJlhTKG4pOwpxNyhuKSE9PW4uUDAmJm4ucmVzaXplKCk7bi5hcHAuRygpLlMoIndlYl9lbmFibGVfc21hcnRfem9vbSIpJiZuLm04JiYoaC5zdGF0ZS5pc1BhdXNlZCgpP24ubTgucGF1c2UoKTpoLlhRKDgpJiZuLm04LnBsYXlTdGF0ZT09PSJwYXVzZWQiJiZuLm04LnBsYXkoKSl9OwpXLmFkZEV2ZW50TGlzdGVuZXIoImluaXRpYWxpemluZ21vZGUiLEQpO1cuYWRkRXZlbnRMaXN0ZW5lcigidmlkZW9wbGF5ZXJyZXNldCIsYik7Vy5hZGRFdmVudExpc3RlbmVyKCJ2aWRlb2RhdGFjaGFuZ2UiLHYpO1cuYWRkRXZlbnRMaXN0ZW5lcigicHJlc2VudGluZ3BsYXllcnN0YXRlY2hhbmdlIixrKTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57Vy5yZW1vdmVFdmVudExpc3RlbmVyKCJpbml0aWFsaXppbmdtb2RlIixEKTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpZGVvcGxheWVycmVzZXQiLGIpO1cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlkZW9kYXRhY2hhbmdlIix2KTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInByZXNlbnRpbmdwbGF5ZXJzdGF0ZWNoYW5nZSIsayl9KX07ClllaT1mdW5jdGlvbihuKXt2YXIgVz1uLkV6KCksRD0xLGI9ITEsdj1OTncobixXLG4uZ2V0VmlkZW9Bc3BlY3RSYXRpbygpKSxrPW4uYXBwLkcoKSxoPWsuUygiZW5hYmxlX2Rlc2t0b3BfcGxheWVyX3VuZGVybGF5IikseD1GbigpLEw9Zy5kTShrLmV4cGVyaW1lbnRzLCJwbGF5ZXJfdW5kZXJsYXlfbWluX3BsYXllcl93aWR0aCIpO0w9aCYmbi5hSCYmbi5nZXRQbGF5ZXJTaXplKCkud2lkdGg+TDtpZihxNyhuKSl7dmFyIGU9cGVVKG4pO3ZhciBHPWlzTmFOKGUpfHxnLlJnfHxuciYmZy5Hbnx8TDtnLk1MJiYhZy5aWCg2MDEpP2U9di5hc3BlY3RSYXRpbzpHPUd8fGsuY29udHJvbHNUeXBlPT09IjMiO0c/TD8oRz1rLlMoInBsYWNlX3NocnVua2VuX3ZpZGVvX29uX2xlZnRfb2ZfcGxheWVyIik/MTY6bi5nZXRQbGF5ZXJTaXplKCkud2lkdGgtVy53aWR0aC0xNixlPU1hdGgubWF4KChuLmdldFBsYXllclNpemUoKS5oZWlnaHQtVy5oZWlnaHQpLzIsMCksRz1uZXcgZy5icihHLGUsVy53aWR0aCwKVy5oZWlnaHQpLG4ubkIuc3R5bGUuc2V0UHJvcGVydHkoImJvcmRlci1yYWRpdXMiLCIxMnB4IikpOkc9bmV3IGcuYnIoMCwwLFcud2lkdGgsVy5oZWlnaHQpOihEPXYuYXNwZWN0UmF0aW8vZSxHPW5ldyBnLmJyKChXLndpZHRoLXYud2lkdGgvRCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aC9ELHYuaGVpZ2h0KSxEPT09MSYmZy5HbiYmKGU9Ry53aWR0aC1XLmhlaWdodCplLGU+MCYmKEcud2lkdGgrPWUsRy5oZWlnaHQrPWUpKSk7Zy5pSChuLmVsZW1lbnQsInl0cC1maXQtY292ZXItdmlkZW8iLE1hdGgubWF4KEcud2lkdGgtdi53aWR0aCxHLmhlaWdodC12LmhlaWdodCk8MSk7aWYoeHx8bi5jSSluLm5CLnN0eWxlLmRpc3BsYXk9IiI7bi5QMD0hMH1lbHNle0c9LVcuaGVpZ2h0O2cuTUw/Ryo9d2luZG93LmRldmljZVBpeGVsUmF0aW86Zy5zbSYmKEctPXdpbmRvdy5zY3JlZW4uaGVpZ2h0KTtHPW5ldyBnLmJyKDAsRyxXLndpZHRoLFcuaGVpZ2h0KTtpZih4fHxuLmNJKW4ubkIuc3R5bGUuZGlzcGxheT0KIm5vbmUiO24uUDA9ITF9dlkobi5FTixHKXx8KG4uRU49RyxnLkRmKGspPyhuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJ3aWR0aCIsRy53aWR0aCsicHgiLCJpbXBvcnRhbnQiKSxuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJoZWlnaHQiLEcuaGVpZ2h0KyJweCIsImltcG9ydGFudCIpKTpOdChuLm5CLEcuZ2V0U2l6ZSgpKSxHPW5ldyBnLk1ZKEcubGVmdCxHLnRvcCksYj1uLm5CLHg9TWF0aC5yb3VuZChHLngpLHggaW5zdGFuY2VvZiBnLk1ZPyhrPXgueCx4PXgueSk6KGs9eCx4PU1hdGgucm91bmQoRy55KSksYi5zdHlsZS5sZWZ0PXNqKGssITEpLGIuc3R5bGUudG9wPXNqKHgsITEpLGI9ITApO1c9bmV3IGcuYnIoKFcud2lkdGgtdi53aWR0aCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aCx2LmhlaWdodCk7dlkobi5JMCxXKXx8KG4uSTA9VyxiPSEwKTtnLmgxKG4ubkIsInRyYW5zZm9ybSIsRD09PTE/IiI6YHNjYWxlWCgke0R9KWApO2gmJkwhPT1uLlp4JiYoTCYmKG4ubkIuYWRkRXZlbnRMaXN0ZW5lcihHQSwKbi5reiksbi5uQi5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uY2FuY2VsIixuLmt6KSxuLm5CLmNsYXNzTGlzdC5hZGQoZy5Pbi5WSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORykpLG4uWng9TCxuLmFwcC5SQi5XSigicGxheWVyVW5kZXJsYXlWaXNpYmlsaXR5Q2hhbmdlIixuLlp4PyJ0cmFuc2l0aW9uaW5nIjoiaGlkZGVuIikpO3JldHVybiBifTsKWFM9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuRygpLmNvbnRyb2xzVHlwZT09PSIzIiYmIW4ud0YmJnE3KG4pJiYhbi5hcHAuc2p8fCExO24ubkIuY29udHJvbHM9VztuLm5CLnRhYkluZGV4PVc/MDotMTtuLmFwcC5HKCkuSiYmKG4ubkIuYXJpYUhpZGRlbj0idHJ1ZSIpO1c/bi5uQi5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCk6bi5uQi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCl9OwpwZVU9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuTU4oKTtpZihXPVc/Vy5nZXRWaWRlb0RhdGEoKTpudWxsKXtpZihnLkhUKFcpfHxnLmZBKFcpfHxnLkpEKFcpKXJldHVybiAxNi85O2lmKE1zKFcpJiZXLlcuTigpKXJldHVybiBuPVcuVy52aWRlb0luZm9zWzBdLnZpZGVvLHRiKG4ud2lkdGgsbi5oZWlnaHQpfXJldHVybihuPW4ubkIpP3RiKG4udmlkZW9XaWR0aCxuLnZpZGVvSGVpZ2h0KToxNi85fTsKdGI9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWF0aC5hYnMoJHIqVy1uKTwxfHxNYXRoLmFicygkci9uLVcpPDE/JHI6bi9XfTsKTk53PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQsaz10YihXLndpZHRoLFcuaGVpZ2h0KTtuLnJVP3Y9RDxrP0luZmluaXR5OjA6aXNOYU4obi5WUik/aXNOYU4obi5mVCl8fCh2PW4uZlQpOnY9bi5WUjtpc0Zpbml0ZSh2KT92PT09MCYmbi5hcHAuRygpLlp0KCkuTi5RUShIZngpJiYodj1NYXRoLm1pbihELGspKTp2PU1hdGgubWF4KEQsayk7bj12Pms/e3dpZHRoOlcud2lkdGgsaGVpZ2h0Olcud2lkdGgvdixhc3BlY3RSYXRpbzp2fTp2PGs/e3dpZHRoOlcuaGVpZ2h0KnYsaGVpZ2h0OlcuaGVpZ2h0LGFzcGVjdFJhdGlvOnZ9Ont3aWR0aDpXLndpZHRoLGhlaWdodDpXLmhlaWdodCxhc3BlY3RSYXRpbzprfTtifHxpc05hTihEKXx8KEQ+dj9uLndpZHRoPW4uaGVpZ2h0KkQ6RDx2JiYobi5oZWlnaHQ9bi53aWR0aC9EKSxuLmFzcGVjdFJhdGlvPUQpO3JldHVybiBufTsKcTc9ZnVuY3Rpb24obil7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTEpcmV0dXJuITE7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTYpcmV0dXJuITA7dmFyIFc9bi5hcHAuTU4oKTtpZighV3x8Vy5KbigpKXJldHVybiExO249bi5hcHAuUkIuZ2V0UGxheWVyU3RhdGVPYmplY3QoKTtXPSFuLk4oMil8fFcmJlcuZ2V0VmlkZW9EYXRhKCkuSzt2YXIgRD1uLk4oMTAyNCk7cmV0dXJuIG4mJlcmJiFEJiYhbi5pc0N1ZWQoKX07CmZHUz1mdW5jdGlvbihuKXtpZihuLmNzbiE9PWcuUnYoKSlpZihuLmNzbj09PSJVTkRFRklORURfQ1NOIiluLmNzbj1nLlJ2KCk7ZWxzZXt2YXIgVz1nLlJ2KCksRD13NCgpO2lmKFcmJkQpe24uY3NuPVc7Zm9yKGxldCBiIG9mIG4uZWxlbWVudHMpe2xldCB2PWIudmlzdWFsRWxlbWVudDt2JiZ2LmlzQ2xpZW50VmUoKSYmVyYmRCYmKGcubCgiY29tYmluZV92ZV9ncmFmdHMiKT9PMyhJZigpLHYsRCk6UFYodWcpKHZvaWQgMCxXLEQsdikpfX1pZihXKWZvcihsZXQgYiBvZiBuLk4pKG49Yi52aXN1YWxFbGVtZW50KSYmbi5pc0NsaWVudFZlKCkmJkZqKFcsbil9fTsKSkViPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLlk2KXtuLlk2PW4uRChuLlkpO3RyeXtsZXQgRD1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt2YXIgVz1zZXRUaW1lb3V0KCgpPT57RC5yZWplY3QoInRpbWVvdXQiKX0sMUU0KTsKbi5ZNi5vbmVycm9yPSgpPT57RC5yZWplY3QoImVycm9yIil9OwpuLlk2Lm9ubWVzc2FnZT0oKT0+e0QucmVzb2x2ZSgpO2NsZWFyVGltZW91dChXKX07CmF3YWl0IEQucHJvbWlzZTtuLlk2Lm9ubWVzc2FnZT1udWxsO24uWTYub25lcnJvcj1udWxsO24uWTYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+dm9pZCBuLnJlY2VpdmUoYikpOwpuLlUoIndvcmtlckN0b3IiLHt9KX1jYXRjaChEKXtjbGVhclRpbWVvdXQoVyksbi5ZNj8udGVybWluYXRlKCksbi5ZNi5vbm1lc3NhZ2U9bnVsbCxuLlk2Lm9uZXJyb3I9bnVsbCxuLlk2PXZvaWQgMCxuLlUoIndvcmtlckVyciIse2U6YCR7RH1gfSl9fX07CklHdz1mdW5jdGlvbihuLFcpe2lmKG4uTiYmbi5OLmJ5dGVMZW5ndGg9PT1XKXJldHVybiBuLk47Zm9yKHZhciBEPW5ldyBVaW50OEFycmF5KFcpLGI9MDtXPjA7KXtsZXQgdj1uZXcgVWludDhBcnJheShNYXRoLm1pbihXLDY1NTM2KSk7Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyh2KTtELnNldCh2LGIpO1ctPXYubGVuZ3RoO2IrPXYubGVuZ3RofXJldHVybiBuLk49RH07ClNlMT1mdW5jdGlvbihuLFcpe24uWTYmJihXPUlHdyhuLFcpLFcubGVuZ3RoPjAmJldbMF0rKyxXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjEsYTk6e2RhdGE6V319LG4ucmVxdWVzdChXKSl9OwpBRWk9YXN5bmMgZnVuY3Rpb24obil7bi5KIT09dm9pZCAwfHxuLld8fChuLlc9ITAsYXdhaXQgSkViKG4pLG4uVz0hMSxuLlk2JiYoU2UxKG4sbi5LKSxuLko9c2V0SW50ZXJ2YWwoKCk9Pnt2YXIgVz1bMSwyLDMsNF07bi5CQiYmKFcucHVzaCg1KSxuLlgmJlcucHVzaCg2KSk7c3dpdGNoKFdbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKlcubGVuZ3RoKV0pe2Nhc2UgMTpTZTEobixuLmopO2JyZWFrO2Nhc2UgMjpuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZToyLGx4OntwbGFjZWhvbGRlcjohMH19LG4ucmVxdWVzdChXKSk7YnJlYWs7Y2FzZSAzOlc9bi5NdztuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZTozLHEwOntNdzpXfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDQ6bi5ZNiYmKFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NCxpc1R5cGVTdXBwb3J0ZWQ6e3BsYWNlaG9sZGVyOiEwfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDU6bi5CQiYmCihXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjUseTg6e0JCOm4uQkJ9fSxuLnJlcXVlc3QoVykpO2JyZWFrO2Nhc2UgNjp2YXIgRD1uLmo7Vz1uLlM3O24uWTYmJihEPUlHdyhuLEQpLFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NixKTDp7ZGF0YTpELFM3Old9fSxuLnJlcXVlc3QoVykpfX0sbi5pbnRlcnZhbE1zKSkpfTsKcjU9ZnVuY3Rpb24obixXLEQpe24uc2VuZE1lc3NhZ2Uoe1sxNjFdOjIsWzExNl06VyxbMTM5XTpEfSl9OwpaZnc9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi50Yi5HKCksRD1XLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKS50cnVzdGVkUGxheWJhY2tXb3JrZXJVcmw7aWYoRD1wdyhEfHxudWxsKSluLlk2PVhNKEQpLG4uTj1uZXcgbWFVKG4uWTYpLG4uWTYuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntnLlhqKGIuZXJyb3IpfSksbi5ZNi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixiPT57dmFyIHY9Yi5kYXRhOwpiPXZbMTE4XTt2YXIgaz12WzE4MF07aWYoaylmb3IodmFyIGggb2Yga1sxMjJdKShrPW4uVy5nZXQoaFsxMTldKSkmJktMWihrLGhbMTUxXSk7c3dpdGNoKGJbMTYxXSl7Y2FzZSAxOmxldCB7WzEwM106ZSxbM106R309YlsxN107c3dpdGNoKGUpe2Nhc2UgMTpsZXQgW3IsTl09RztuLnRiLmNsZWFyUXVldWUocixOKTticmVhaztjYXNlIDI6W2JdPUc7bi50Yi5vblBsYXllclJlcXVlc3RTZW50KGIpO2JyZWFrO2Nhc2UgMzpsZXQgW0gsQSx5XT1HO2lmKGI9eT9uLkouZ2V0KHkpOm51bGwpYj1iLmdldFZpZGVvRGF0YSgpLG4udGIuVmEoSCxBLGIpO2JyZWFrO2Nhc2UgNDpsZXQgW1QseixDXT1HO2I9bi5YLmdldCh6KTtpZighYil0aHJvdyBFcnJvcihgVW5rbm93biBtaXJyb3JlZCBDdWVSYW5nZTogJHt6fWApO24udGIuQ0ooVCxiLEMpO2JyZWFrO2Nhc2UgNTpbYl09RzsoYj1uLkouZ2V0KGIpKSYmbi50Yi5ueShiLmdldFZpZGVvRGF0YSgpKTticmVhaztjYXNlIDY6W2JdPUc7KGI9Cm4uSi5nZXQoYikpJiZuLnRiLmZMKGIuZ2V0VmlkZW9EYXRhKCkpO2JyZWFrO2Nhc2UgNzpuLnRiLkdjKCk7YnJlYWs7ZGVmYXVsdDpnLnBiKGUsdm9pZCAwKX1icmVhaztjYXNlIDI6dj1uLk47aD1iWzExNl07Yj1iWzEzOV07az12Lk4uZ2V0KGgpO3RyeXtrJiZrLnJlamVjdChiKX1maW5hbGx5e3YuTi5kZWxldGUoaCl9YnJlYWs7Y2FzZSAzOnY9bi5OO2g9YlsxMTZdO2I9YlsxMzldO2s9di5OLmdldChoKTt0cnl7ayYmay5yZXNvbHZlKGIpfWZpbmFsbHl7di5OLmRlbGV0ZShoKX1icmVhaztjYXNlIDQ6T2Z0KG4sdik7YnJlYWs7Y2FzZSA1OmJyZWFrO2Nhc2UgNjpiPXZbMTE4XTtoPW4uSy5nZXQoYls5OF0pO3Y9dlsxMzhdO2lmKGgpe2xldCB7WzEwM106cixbM106Tn09YlsxN107c3dpdGNoKHIpe2Nhc2UgImxvYWQiOmgubG9hZCguLi5OKTt2JiZyNShuLk4sdik7YnJlYWs7Y2FzZSAicGxheSI6Yj1oLnBsYXkoLi4uTik7diYmc1oobix2LGJ8fHZvaWQgMCk7YnJlYWs7Y2FzZSAicGF1c2UiOmgucGF1c2UoLi4uTiksCnYmJnI1KG4uTix2KX19YnJlYWs7Y2FzZSA3OmlmKHY9bi5LLmdldChiWzk4XSkpe3ZhciB7WzEzNV06eCxbMTY1XTpMfT1iWzE0NF07Yj12LmVfKCk7c3dpdGNoKHgpe2Nhc2UgImN1cnJlbnRUaW1lIjpiLmN1cnJlbnRUaW1lPUw7YnJlYWs7Y2FzZSAiZGVmYXVsdFBsYXliYWNrUmF0ZSI6Yi5kZWZhdWx0UGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAibG9vcCI6Yi5sb29wPUw7YnJlYWs7Y2FzZSAibXV0ZWQiOmIubXV0ZWQ9TDticmVhaztjYXNlICJwbGF5YmFja1JhdGUiOmIucGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAic3JjIjpMPyhiPW4uRC5nZXQoTCkpJiZ2LnM1KGIpOih2LlZRKCksdi5lJCgpKTticmVhaztkZWZhdWx0OmcucGIoeCx2b2lkIDApfX1icmVhaztjYXNlIDg6aWYodj1uLlcuZ2V0KGJbMTE5XSkpe2xldCB7dHlwZTpyLGFyZ3M6TixsVDpIfT17dHlwZTpiWzQ3XVsxNjFdLGFyZ3M6Yls0N11bM10sbFQ6Wy4uLmJbNDddWzNdXX07c3dpdGNoKHIpe2Nhc2UgImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiOmI9Ck5bMF1bNV07di52aWRlb0RhdGEuWD1iP09OKGIpOm51bGw7SFswXT12LnZpZGVvRGF0YTticmVhaztjYXNlICJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIjpiPU5bMF1bNDhdO3YudmlkZW9EYXRhLko9Yj9PTihiKTpudWxsO0hbMF09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiOmI9TlsxXTtoPSEhdi52aWRlb0RhdGEuZ2V0UGxheWVyUmVzcG9uc2UoKTt6Zih2LnZpZGVvRGF0YSx7cmF3X3BsYXllcl9yZXNwb25zZTpiWzEyNV18fHZvaWQgMH0sIWgsITEpO0hbMV09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaGVhcnRiZWF0cGFyYW1zIjpiPU5bMF07SFswXT17dXJsOmJbMTYyXSxpbnRlcnZhbDpiWzU2XSxyZXRyaWVzOmJbMTQwXX07YnJlYWs7Y2FzZSAibm9uZmF0YWxlcnJvciI6Yj1OWzBdO0hbMF09bmV3IGcuQ2koYls0NV0sYlszOF0sYlsxNDVdKTticmVhaztjYXNlICJzdGF0ZWNoYW5nZSI6Yj1OWzBdO2g9TXdoKGJbMTUxXSk7SFswXT0KbmV3IGcuTjcoaCxNd2goYlsxMTNdKSk7di5wbGF5ZXJTdGF0ZT1oO2JyZWFrO2Nhc2UgInZpZGVvZWxlbWVudGV2ZW50IjpIWzBdPW5ldyBQQlModi5tZWRpYUVsZW1lbnQsTlswXVsxNjFdKX12LmV2ZW50cy5XSihyLC4uLkgpfWJyZWFrO2Nhc2UgOTpuLkQuc2V0KGJbMTAxXSxiWzEwMF0pO2JyZWFrO2RlZmF1bHQ6Zy5wYihiLHZvaWQgMCl9fSksbi5ZNi5wb3N0TWVzc2FnZSh7dHlwZToiQk9PVFNUUkFQIiwKZGF0YTp7aG9zdG5hbWU6d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLGhyZWY6d2luZG93LmxvY2F0aW9uLmhyZWYscHJvdG9jb2w6d2luZG93LmxvY2F0aW9uLnByb3RvY29sLHNlYXJjaDp3aW5kb3cubG9jYXRpb24uc2VhcmNoLHl0Q29uZmlnOntJTk5FUlRVQkVfSE9TVF9PVkVSUklERTp3aW5kb3cubG9jYXRpb24ub3JpZ2luLC4uLmcucWkueXQuY29uZmlnX319fSksbi5zZW5kTWVzc2FnZSh7WzE2MV06MyxbMTc1XTpXLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKX0pfTsKc1o9ZnVuY3Rpb24obixXLEQpe0Q/RC50aGVuKGI9PntyNShuLk4sVyxiKX0sYj0+e24uTi5zZW5kTWVzc2FnZSh7WzE2MV06MSwKWzExNl06VyxbMTM5XTpifSl9KTpyNShuLk4sVyxudWxsKX07Ck9mdD1mdW5jdGlvbihuLFcpe3ZhciBEPVdbMTE4XTtzd2l0Y2goRFsxMDNdKXtjYXNlIDE6bGV0IFtiLHYsa109RFszXTtEPW4udGIuZFEoYix2LGspOyhXPVdbMTM4XSkmJnNaKG4sVyxEKTticmVhaztjYXNlIDI6bGV0IFtoLHhdPURbM107RD1VYWgoeCxoKTsoVz1XWzEzOF0pJiZzWihuLFcsQWUoU2soRCxMPT4oe1sxNl06Zy5sWihMKSxbMTQ2XToiYzFhImluIEwuUlI/IWcudVouaXNJbml0aWFsaXplZCgpOiExfSkpKSk7CmJyZWFrO2Nhc2UgMzpEPW4udGIueWYoKTsoVz1XWzEzOF0pJiZzWihuLFcsRCk7YnJlYWs7ZGVmYXVsdDpnLnBiKERbMTAzXSx2b2lkIDApfX07CnlFMj1mdW5jdGlvbihuKXt2YXIgVz1uLnRiLkcoKSxEPW4udGIubGooKSxiPW4udGIuaGgoKSx2PUQuZ2V0UGxheWVyU2l6ZSgpO0Q9RC5FeigpO1c9e1syM106bi50Yi5GbigpLFs0NF06e1sxXTpXLlMkLFsxMjRdOlcuQ3UsWzEzMV06Vy55RSxbMTQzXTpXLmpXLFsxNTVdOlcuRVp9LFs1OV06bi50Yi5FOCgpLFs2MV06bi50Yi52MygpLFs2Nl06bi50Yi5pc0Z1bGxzY3JlZW4oKSxbNjddOiExLFs3MF06bi50Yi5qSSgpLFs3MV06bi50Yi5pc0lubGluZSgpLFs3Ml06bi50Yi5CUCgpLFs3M106bi50Yi5pc011dGVkKCksWzc1XTpuLnRiLmlzT3JjaGVzdHJhdGlvbkxlYWRlcigpLFs3N106bi50Yi5BbigpLFs4MF06ITEsWzgyXTohMSxbODNdOm4udGIuU0koKSxbODRdOm4udGIuUTAoKSxbMTA2XTpuLnRiLmlzTXV0ZWQoKSxbMTI2XTp7WzE3OV06di53aWR0aCxbNTNdOnYuaGVpZ2h0fSxbMTMzXTpuLnRiLk1OKCkuSEwoKSxbMTM0XTpuLnRiLk1OKCkuVXUoKSxbMTY2XTp7WzE3OV06RC53aWR0aCwKWzUzXTpELmhlaWdodH0sWzE3MV06YixbMTc0XTpuLnRiLmdldFZvbHVtZSgpfTtiPVtdO2ZvcihsZXQgW2ssaF1vZiBuLlcuZW50cmllcygpKXY9ayxEPWguZ2V0VmlkZW9EYXRhKCksYi5wdXNoKHtbMTE5XTp2LFsxNTFdOntbMTY3XTp7WzI1XTpELlJEfX19KTtuLlkmJk9iamVjdC5hc3NpZ24oVyx7WzY3XTpuLnRiLkhvKCksWzgwXTpuLnRiLmdXKCksWzgyXTpuLnRiLmRUKCl9KTtyZXR1cm57WzJdOlcsWzEyMl06Yn19OwpFJE09ZnVuY3Rpb24obixXKXt2YXIgRD1gbWFpbi5jdWVSYW5nZToke24uTysrfWA7aWYobi5YLmdldChEKSlyZXR1cm4gRDtuLlguc2V0KEQsVyk7bi5qLnNldChXLEQpO3JldHVybiBEfTsKaWZDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qLmdldChXKTtpZihEKXJldHVybiBuLmouZGVsZXRlKFcpLG4uWC5kZWxldGUoRCksRH07CktMWj1mdW5jdGlvbihuLFcpe1cmJihPYmplY3QuYXNzaWduKG4uTixXKSxuLmF1ZGlvVHJhY2s9RGMoV1s3XSksbi5YPVhMUyhXWzE0N10pLFc9V1sxNjddKSYmKG4udmlkZW9EYXRhLlR3PVdbMThdLG4udmlkZW9EYXRhLmNhcHRpb25UcmFja3M9V1syMF0ubWFwKEQ9PlZ3KEQpKSxuLnZpZGVvRGF0YS53YT1XWzIxXSxuLnZpZGVvRGF0YS5PJD1XWzE5XSxuLnZpZGVvRGF0YS5HQz1XWzMwXSxuLnZpZGVvRGF0YS52WD1EYyhXWzM1XSksbi52aWRlb0RhdGEuU3c9V1sxNzZdKX07CnU4Yj1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtyZXR1cm4gbi5mYSh7WzE2MV06OSxbMTddOlcsWzExOV06RH0pfTsKZy5wSj1mdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtuLnNlbmRNZXNzYWdlKHtbMTYxXTo5LFsxN106VyxbMTE5XTpEfSl9OwpZcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goe1sxNTBdOm4uc3RhcnQoRCksWzQyXTpuLmVuZChEKX0pO3JldHVybiBXfTsKbyRVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJlc9PT0yPyhuLkIuWnQoKS5OLlFRKEhmKT9uLlZyLk4/LmlzQWQoKT8/ITE6bi5Rdz8uTmQobi5nZXRDdXJyZW50VGltZSgpKSk/bi5pdTotMTpXIT09Mnx8bi5MWSgpP24uaXU6bi5CJH07CnY3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNqJiZuLmdldFZpZGVvRGF0YSgpLm11dGVkQXV0b3BsYXl9Owp2YXIgbXR4PWZ1bmN0aW9uKG4pe3JldHVybiBYRFtJWzEwXV0odGhpcywxNiw0MDI5LG4pfTsKZko9ZnVuY3Rpb24obixXLEQpe1cmJihXPW4uVkUoe3BsYXllclR5cGU6RH0pLFc9PT1uLmNYKCkmJihXLmdldFZpZGVvRGF0YSgpLlBYPSEwKSl9OwpKYj1mdW5jdGlvbihuLFcsRD0hMCxiLHYsayl7dmFyIGg9bi5WRSh7cGxheWVyVHlwZTp2fSkseD1oLmdldFZpZGVvRGF0YSgpO2guZ2V0UGxheWVyVHlwZSgpPT09MiYmIW4uTFkoaCkmJiF4LmlzU2Vla2FibGV8fGcucEEoeCl8fChoJiZoPT09bi5jWCgpJiZuLkhOJiYhZGF0KG4sVykmJm4uc2V0TG9vcFJhbmdlKG51bGwpLG4uc2Vla1RvKFcsRCxiLHYsaywiX3JlcXVlc3QiKSl9OwpBYj1mdW5jdGlvbihuLFcpe1c9bi5WRSh7cGxheWVyVHlwZTpXfSk7Vz1nLklYKG4sVyk7cmV0dXJuIFNhKG4sVy5QRygpLFcpfTsKUGY9ZnVuY3Rpb24obixXLEQpe24uQi5iTiYmKG4uRl89VyxXLm11dGVkfHxLSihuLCExKSxEJiZuLkIuc3RvcmVVc2VyVm9sdW1lJiYhbi5CLnM1JiYoRD17dm9sdW1lOk1hdGguZmxvb3IoVy52b2x1bWUpLG11dGVkOlcubXV0ZWR9LEQudW5zdG9yYWJsZXx8KGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQpLGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQsMjU5MkUzKSkpLE9aKG4pLEQ9Zy5vZCYmbi5tZWRpYUVsZW1lbnQmJiFuLm1lZGlhRWxlbWVudC5YXygpJiYhbi5tZWRpYUVsZW1lbnQuVEMoKSxuLkIuczUmJiFEfHxnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIix7bXV0ZWQ6Vy5tdXRlZCx2b2x1bWU6Vy52b2x1bWUsdW5zdG9yYWJsZTohbi5CLnN0b3JlVXNlclZvbHVtZX0pKX07ClZTPWZ1bmN0aW9uKG4pe3JldHVybiBuLmNYKCkuZ2V0VmlkZW9EYXRhKCl9Owp6djI9ZnVuY3Rpb24obixXPSExKXt2YXIgRD0hMTtuLkIuR0MmJihuLlJCLldKKCJwYWdlVHJhbnNpdGlvbiIpLEQ9ITApO24uc3RvcFZpZGVvKEQsVyl9OwpVWj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtXPXtpZDpXLG5hbWVzcGFjZTpoPz8iYXBwYXBpIn07az09PSJjaGFwdGVyIj8oVy5zdHlsZT1aTC5DSEFQVEVSX01BUktFUixXLnZpc2libGU9ITApOmlzTmFOKHYpfHwoaz09PSJhZCI/Vy5zdHlsZT1aTC5BRF9NQVJLRVI6KFcuc3R5bGU9WkwuVElNRV9NQVJLRVIsVy5jb2xvcj12KSxXLnZpc2libGU9ITApO24uWEgoW25ldyBnLmw1KEQqMUUzLGIqMUUzLFcpXSwxKTtyZXR1cm4hMH07CmxHdz1mdW5jdGlvbihuLFcsRD0hMCxiLHYpe3ZhciBrPW4uVkUoe3BsYXllclR5cGU6MX0pLGg9MDtrLmdldFN0cmVhbVRpbWVPZmZzZXQoKSYmIWsuU1coKSYmKGg9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO0piKG4sVy1oLEQsYiwxLHYpfTsKajgyPWZ1bmN0aW9uKG4pe2lmKG4uQi5zdG9yZVVzZXJWb2x1bWUpcmV0dXJuIHJQKCk7dmFyIFc9bi5pc0lubGluZSgpfHxuLndlYlBsYXllckNvbnRleHRDb25maWcuY29udGV4dElkPT09IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX0lOTElORV9QUkVWSUVXIjtyZXR1cm4gbi5adCgpLk4uUVEoVE5DKSYmVz97dm9sdW1lOnJQKCkudm9sdW1lLG11dGVkOm4uQi5tdXRlfTp7dm9sdW1lOjEwMCxtdXRlZDpuLkIubXV0ZX19OwpDQlM9ZnVuY3Rpb24obixXLEQsYix2LGs9ITApe3ZhciBoPW4uaEMoKTtpZighaClyZXR1cm4gayYmbi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjayYmbi5KVi5wdXNoKHtpZDpXLFd1OkQsdHY6Yn0pLCExO2s9aC1uLmdldEN1cnJlbnRUaW1lKCk7cmV0dXJuIFVaKG4sVyxELWssYi1rLHZvaWQgMCx2b2lkIDAsdil9Owp5Wj1mdW5jdGlvbihuLFcpe24ucGxheWxpc3QmJihnLkNwKG4ucGxheWxpc3QpLG4ucGxheWxpc3Q9bnVsbCk7VyYmKG4uWlYmJihXLmZldGNoPTApLG4ucGxheWxpc3Q9bmV3IEJOYihuLkIsVykpfTsKaWw9ZnVuY3Rpb24obixXLEQpe1c9bi5WRSh7cGxheWVyVHlwZTpEfSkuTnAoVyk7RCYmbi5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpIT09RHx8RVoobiwiY3VlcmFuZ2VzcmVtb3ZlZCIsVyl9OwpVYWg9ZnVuY3Rpb24obixXKXtyZXR1cm4gSFAobmV3IGcuRkxVKHtwSzpXLGNsaWVudFBsYXliYWNrTm9uY2U6bn0pKX07CndlVT1mdW5jdGlvbihuLFcsRCxiPUluZmluaXR5LHY9MCl7dmFyIGs9bi5NTigpO0Q9RHx8ay5nZXRQbGF5ZXJUeXBlKCk7KGs9dWwobixELFcsITApKXx8KGs9b1gobixELFcsITApKTtXPW4uY1goKTtEPT09MiYmVyYmKEQ9ay5nZXRWaWRlb0RhdGEoKSxXLlV5KEQuY2xpZW50UGxheWJhY2tOb25jZSxELkZGfHwiIixELmJyZWFrVHlwZXx8MCxELllLLEQudmlkZW9JZHx8IiIpKTtuLldwKGssYiwwLHYpfTsKTVlNPWZ1bmN0aW9uKG4pe3ZhciBXPW4ud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmw7cmV0dXJuIFc/cHcoVykudG9TdHJpbmcoKTpuLndlYlBsYXllckNvbnRleHRDb25maWcuanNVcmx9OwpSdlo9ZnVuY3Rpb24obil7dmFyIFc9IiIsRD0iIixiPU1ZTShuKSx2PWcubGYoYiwiY2IiKTt2JiYvXltcdy1dKyQvLnRlc3QodikmJihEPXYpO2IuaW5kZXhPZigiLy8iKT09PTAmJihiPW4uQi5wcm90b2NvbCsiOiIrYik7dj1iLmxhc3RJbmRleE9mKCIvYmFzZS5qcyIpO3YhPT0tMSYmKFc9Yi5zdWJzdHJpbmcoMCx2KzEpKTtpZihiPUVycm9yKCkuc3RhY2spaWYoYj1iLm1hdGNoKC9cKCguKj9cLyhkZWJ1Zy0pP3BsYXllci0uKj8pOlxkKzpcZCtcKS8pKWI9YlsxXSxiLmluY2x1ZGVzKFcpfHxnLkdxKEVycm9yKGBQbGF5ZXIgbW9kdWxlIFVSTCBtaXNtYXRjaDogJHtifSB2cyAke1d9LmApKTtXPW5ldyBnLmQ1KG4uUkIsVyxEKTtqTGooVyx7ZGVzdHJveWVkOigpPT57bi5vbkFwaUNoYW5nZSgpfX0pOwpyZXR1cm4gV307ClE4eD1mdW5jdGlvbihuKXtpZihuLkIuWnQoKS5OLlFRKG5hKSl7bi5tUS50aWNrKCJ3YXNtX3MiKTtsZXQgVz1FZChuLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCx2b2lkIDAsbi5JbC5iaW5kKG4pKTtuLkIuZUI9U2soVyxEPT57bi5tUS50aWNrKEQuaXNBc21qcz8id2FzbV9mYSI6Indhc21fZnciKTtKdShuLkIsRCk7cmV0dXJuIER9LEQ9PntuLm1RLnRpY2soIndhc21fZmVyciIpOwp0aHJvdyBEO30pfWVsc2UgT28obixmdW5jdGlvbigpe3ZhciBXPXRoaXM7CnJldHVybiBmdW5jdGlvbiooKXtXLm1RLnRpY2soIndhc21fcyIpO3ZhciBEPVFZKFcueDYpP2I9PlNrKERyWihXLng2KSx2PT52LmdCKGIpKTp2b2lkIDA7CnRyeXtsZXQgYj1FZChXLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCxELFcuSWwuYmluZChXKSksdj15aWVsZCpQUChiKTtXLm1RLnRpY2sodi5pc0FzbWpzPyJ3YXNtX2ZhIjoid2FzbV9mdyIpO0p1KFcuQix2KX1jYXRjaChiKXtXLm1RLnRpY2soIndhc21fZmVyciIpfX0oKX0pfTsKVll4PWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBnLlVyKG4uQixuLk5RKTtuLlJCLldKKCJpbml0aWFsdmlkZW9kYXRhY3JlYXRlZCIsVyk7cmV0dXJuIG9YKG4sMSxXLCExKX07CmFHMT1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7Vy5zZXRQbGF5YmFja1JhdGUobi5CLko/MTpjRXIobixOdW1iZXIoZy5aSSgieXQtcGxheWVyLXBsYXliYWNrLXJhdGUiKSl8fDEpKTtXLmgkKG4uWkwsbik7Vy5zbSgpfTsKVzJ3PWZ1bmN0aW9uKG4pe24uamgoKTt2YXIgVz1uLk5RO3pBKG4pO24uZXZlbnRzLk5OKHdpbmRvdywicmVzaXplIixuLkE2KTt2YXIgRD1WUyhuKTtnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIixuLkZfKTtpZihXJiZaVChXKSl7bGV0IGI9dkUobi5CKTtiJiYhbi5aViYmKFcuZmV0Y2g9MCk7bGV0IHY9Zy5vNChuLkIpO3YmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9wcl9zIik7aWYoIWJ8fG4uWlYpaWYodiYmIW4uWlYpbGwobik7ZWxzZSBpZighRC5PVigpKW4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSl9bi5RVChuLmNYKCksITEsITApOwpuLmNYKCkuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCl8fChXPWhnUyghbi5CLmRldmljZUlzQXVkaW9Pbmx5KSxXPT09ImZtdC5ub25lYXZhaWxhYmxlIj9uLktnKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsIm5vY29kZWNzLjEiKTpXPT09Imh0bWw1Lm1pc3NpbmdhcGkiP24uS2coVywyLCJVTlNVUFBPUlRFRF9ERVZJQ0UiLCJub2NhbnBsYXltZWRpYS4xIik6RCYmRC5PVigpJiZDSihuKSYmKG4uQi5VNXx8bi5CLk1kKT9CZihuKTpELkpHP24uUkIubXV0ZWRBdXRvcGxheSh7ZHVyYXRpb25Nb2RlOkQubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZX0pOmcuWkkoInl0LXBsYXllci1wbGF5YmFjay1vbi1yZWxvYWQiKT8oZy56VSgiZW1iZWRzSXRwUGxheWVkT25SZWxvYWQiLHtwbGF5ZWRPblJlbG9hZDohMCxpc0xvZ2dlZEluOiEhbi5CLlRDfSksZy5QQigieXQtcGxheWVyLXBsYXliYWNrLW9uLXJlbG9hZCIsITEpLEJmKG4pKToKbi5CLlk9PT0ibGVhbmJhY2sifHxuNWoobiksZy5lTShuLkIpfHxnLnNkKG4uQik/KGcuY0IoZy5EeSgpLCgpPT57RlMobil9KSxnLmNCKGcuRHkoKSwoKT0+e3g1KCl9KSk6KEZTKG4pLHg1KCkpKX07CkRlYj1mdW5jdGlvbihuKXt2YXIgVz1EPT57RC5zdGFjayYmRC5zdGFjay5pbmRleE9mKCJwbGF5ZXIiKSE9PS0xJiZuLk1OKCkuVWUoRCl9OwpTaS5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTtLdy5wdXNoKFcpO3JldHVybigpPT57U2kudW5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTt2YXIgRD1Ldy5pbmRleE9mKFcpO0QhPT0tMSYmS3cuc3BsaWNlKEQsMSl9fTsKb1g9ZnVuY3Rpb24obixXLEQsYix2KXtpZihuLmZnJiZELk9WKCkpbj1uZXcgZy53NShuLkIsbi5mZyxXLEQpO2Vsc2V7bGV0IGs9bi5tUTtXPT09MiYmKGs9bmV3IGJjUyhuLkIpKTtXPW5ldyBnLk03KG4sbi5CLFcsayxuLnRlbXBsYXRlLG4udmlzaWJpbGl0eSxuLmlqLEQsdixuLmRoLG4uaTcpO24uQi5adCgpLk4uUVEodjVpKSYmbi5uVChELmNsaWVudFBsYXliYWNrTm9uY2UpO249bmV3IGcuUlgoVyl9YiYmbi5zbSgpO3JldHVybiBufTsKY0VyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5SQi5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7Vz1OdW1iZXIoVy50b0ZpeGVkKDIpKTtuPURbMF07RD1EW0QubGVuZ3RoLTFdO1c8PW4/Vz1uOlc+PUQ/Vz1EOihuPU1hdGguZmxvb3IoVyoxMDArLjAwMSklNSxuIT09MCYmKFctPW4qLjAxLFc9TWF0aC5mbG9vcihXKjEwMCsuMDAxKS8xMDApKTtyZXR1cm4gV307ClZaPWZ1bmN0aW9uKG4pe1FaKG4pO24uc2V0TG9vcFZpZGVvKCExKTtuLnNldExvb3BSYW5nZShudWxsKTtuLlJCLldKKCJsZWdhY3lhZHRyYWNraW5ncGluZ3Jlc2V0Iik7bi5hbD17fTtuLkpWPVtdO1pCaihuLm1RKTtpZihuLlF3KXt2YXIgVz1uLlF3LEQ9bi5jWCgpO0QuZ2V0UGxheWVyVHlwZSgpO0NPKFcsITEpO25KKFcpO2NSYihXKTtXLmdzPUR9Vz1uLnNVO249bi5jWCgpO24uZ2V0UGxheWVyVHlwZSgpIT09MSYmZy5MSihXLCJpbnZhbGlkUGFyZW50VmlkZW9QbGF5ZXJUeXBlIik7REwoVywhMSk7Zy5nNShXKTtXLk49bn07Cmswaj1mdW5jdGlvbihuKXt2YXIgVz1uLm1lZGlhRWxlbWVudDt6aSgpP24ua1YuTk4oVywid2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQiLG4udFcpOndpbmRvdy5kb2N1bWVudC5waWN0dXJlSW5QaWN0dXJlRW5hYmxlZCYmKG4ua1YuTk4oVywiZW50ZXJwaWN0dXJlaW5waWN0dXJlIiwoKT0+e24ucEwoITApfSksbi5rVi5OTihXLCJsZWF2ZXBpY3R1cmVpbnBpY3R1cmUiLCgpPT57bi5wTCghMSl9KSk7Cnc4JiYobi5rVi5OTihXLCJ3ZWJraXRiZWdpbmZ1bGxzY3JlZW4iLCgpPT57bi5GTygzKX0pLG4ua1YuTk4oVywid2Via2l0ZW5kZnVsbHNjcmVlbiIsKCk9PntuLkZPKDApfSkpfTsKekE9ZnVuY3Rpb24obil7bi5tZWRpYUVsZW1lbnQ9bi5CLmRldmljZUlzQXVkaW9Pbmx5P25ldyBnLkdWKGcuekYoIkFVRElPIikpOnFLLnBvcCgpfHxuZXcgZy5HVihnLnpGKCJWSURFTyIpKTtuLkIuWnQoKS5OLlFRKGNmKXx8Zy51KG4sbi5tZWRpYUVsZW1lbnQpO24uTU4oKS5zZXRNZWRpYUVsZW1lbnQobi5tZWRpYUVsZW1lbnQpO3RyeXtuLkIuczU/KG4uR3YmJm4uZXZlbnRzLndIKG4uR3YpLG4uR3Y9bi5ldmVudHMuTk4obi5tZWRpYUVsZW1lbnQsInZvbHVtZWNoYW5nZSIsbi56ZCkpOihuLm1lZGlhRWxlbWVudC5jSihuLkZfLm11dGVkKSxuLm1lZGlhRWxlbWVudC5zZXRWb2x1bWUobi5GXy52b2x1bWUvMTAwKSl9Y2F0Y2godil7bi5LZygiaHRtbDUubWlzc2luZ2FwaSIsMiwiVU5TVVBQT1JURURfREVWSUNFIixgc2V0dm9sdW1lLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09Im9iamVjdCImJiJtZXNzYWdlImluIHYmJnR5cGVvZiB2Lm1lc3NhZ2U9PT0ic3RyaW5nIiYmdi5tZXNzYWdlLnJlcGxhY2UoL1s7OixdL2csCiJfIil9YCk7cmV0dXJufW4ua1YuSigpO2swaihuKTt2YXIgVz1uLnRlbXBsYXRlLEQ9bi5tZWRpYUVsZW1lbnQuZV8oKTtXLm5CPUQ7Vy53Rj0hMTtXLm5CLnBhcmVudE5vZGV8fGcuanAoVy5WUCxXLm5CLDApO1cuRU49bmV3IGcuYnIoMCwwLDAsMCk7WWVpKFcpO1hTKFcpO0Q9Vy5uQjtnLlVJKEQsInZpZGVvLXN0cmVhbSIpO2cuVUkoRCxnLk9uLk1BSU5fVklERU8pO3ZhciBiPVcuYXBwLkcoKTtiLmxRJiZELnNldEF0dHJpYnV0ZSgiZGF0YS1uby1mdWxsc2NyZWVuIiwidHJ1ZSIpO2IueGgmJihELnNldEF0dHJpYnV0ZSgid2Via2l0LXBsYXlzaW5saW5lIiwiIiksRC5zZXRBdHRyaWJ1dGUoInBsYXlzaW5saW5lIiwiIikpO2IuSkcmJlcubkImJlcuTk4oRCwiY2xpY2siLEQucGxheSxEKTt0cnl7bi5tZWRpYUVsZW1lbnQuRCgpfWNhdGNoKHYpe24uS2coImh0bWw1Lm1pc3NpbmdhcGkiLDIsIlVOU1VQUE9SVEVEX0RFVklDRSIsYGFjdGl2YXRlLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09CiJvYmplY3QiJiYibWVzc2FnZSJpbiB2JiZ0eXBlb2Ygdi5tZXNzYWdlPT09InN0cmluZyImJnYubWVzc2FnZS5yZXBsYWNlKC9bOzosXS9nLCJfIil9YCl9fTsKRVo9ZnVuY3Rpb24obixXLEQpe24uUkIuV0ooVyxEKTt2YXIgYj1nLms2KG4uQil8fGcuRGYobi5CKXx8Zy5NVihuLkIpO2lmKEQmJmIpe2xldCB2O3N3aXRjaChXKXtjYXNlICJjdWVyYW5nZW1hcmtlcnN1cGRhdGVkIjp2PSJvbkN1ZVJhbmdlTWFya2Vyc1VwZGF0ZWQiO2JyZWFrO2Nhc2UgImN1ZXJhbmdlc2FkZGVkIjp2PSJvbkN1ZVJhbmdlc0FkZGVkIjticmVhaztjYXNlICJjdWVyYW5nZXNyZW1vdmVkIjp2PSJvbkN1ZVJhbmdlc1JlbW92ZWQifXYmJmcuUlQobi5SQix2LEQubWFwKGs9Pih7Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH0sZW5kOmsuZW5kLGlkOmsuZ2V0SWQoKSxuYW1lc3BhY2U6ay5uYW1lc3BhY2U9PT0iYWQiPyJhZCI6IiIsc3RhcnQ6ay5zdGFydCxzdHlsZTprLnN0eWxlLHZpc2libGU6ay52aXNpYmxlLG1hcmtlclBvc2l0aW9uTXM6ay5tYXJrZXJQb3NpdGlvbk1zfSkpKX19OwpoZDE9ZnVuY3Rpb24obixXPSEwKXt2YXIgRDtpZihEPW4uckgpe0Q9bi5ySDt2YXIgYj1uLm1lZGlhRWxlbWVudDtEPSEhYiYmYj09PUQubWVkaWFFbGVtZW50fUQmJihuLmNQKCksekEobikpO0Q9bi5NTigpO0QuY1AoIVcpO0QuTTkobi5zRixuKTtELmdldFBsYXllclR5cGUoKSE9PTEmJkQuZGlzcG9zZSgpO249bi5WcjtXPVtuLkpdO24uSj1uLmNKO1NzKG4sW10sVyl9OwpueD1mdW5jdGlvbihuLFcsRCxiKXtEJiYobi5jUCgpLHpBKG4pKTtEPW4uTU4oKTtELnhLKFcpO3ZhciB2PW4uZ2V0VmlkZW9EYXRhKCksaz17fTtrLnZpZGVvX2lkPXYudmlkZW9JZDtrLmFkZm9ybWF0PXYuYWRGb3JtYXQ7di5pc0xpdmVQbGF5YmFja3x8KGsuc3RhcnQ9RC5nZXRDdXJyZW50VGltZSgpLGsucmVzdW1lPSIxIik7di5pc0xpdmVQbGF5YmFjayYmSTQodikmJmcuR2wobi5CKSYmKGsubGl2ZV91dGNfc3RhcnQ9RC5oQygpLGsucmVzdW1lPSIxIik7di5EJiYoay52dnQ9di5EKTt2LmtXJiYoay52c3NfY3JlZGVudGlhbHNfdG9rZW49di5rVyxrLnZzc19jcmVkZW50aWFsc190b2tlbl90eXBlPXYuUXYpO3Yub2F1dGhUb2tlbiYmKGsub2F1dGhfdG9rZW49di5vYXV0aFRva2VuKTtrLmF1dG9wbGF5PTE7ay5yZWxvYWRfY291bnQ9di5TJCsxO2sucmVsb2FkX3JlYXNvbj1XO3Yub1QmJihrLnVucGx1Z2dlZF9wYXJ0bmVyX29wdF9vdXQ9di5vVCk7di5MQiYmKGsueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXI9CnYuTEIpO3YucGxheWVyUGFyYW1zJiYoay5wbGF5ZXJfcGFyYW1zPXYucGxheWVyUGFyYW1zKTt2LnR3JiYoay5pdGN0PXYudHcpO24ubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKGssdm9pZCAwLCEwLHZvaWQgMCx2b2lkIDAsYik7Vz09PSJzaWduYXR1cmUiJiZuLlF3JiZhWChuKX07CkwyTT1mdW5jdGlvbihuKXtpZigheGVyKG4pKXt2YXIgVz1uLmNYKCkuaDUoKTtXJiYoVz1XLmJkKCksVyBpbnN0YW5jZW9mIFByb21pc2UmJlcuY2F0Y2goKCk9Pnt9KSk7CldxKG4sVFgobi5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSl9fTsKeGVyPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXlsaXN0JiYoZy5DTihuLkIpfHxuLkIuWT09PSJiYWNrZ3JvdW5kX2F1ZGlvX3BsYXliYWNrIikmJm4ueGwoKT8obi5uZXh0VmlkZW8oITEsITApLCEwKTohMX07CldxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpLGI9RC5nZXRQbGF5ZXJUeXBlKCk7aWYoYiE9PTJ8fG4uTFkoKSl7aWYoYj09PTImJm4uTFkoKXx8Yj09PTV8fGI9PT02fHxiPT09NylpZihXPT09LTF8fFc9PT0wfHxXPT09NSlyZXR1cm47aWYoVz09PTApe2lmKG4uSE4pcmV0dXJuO2lmKEQuY0coKSYmZy5rNihuLkIpKXtuLnBsYXlWaWRlbygpO3JldHVybn19bi5pdSE9PVcmJihuLml1PVcsZy5WVShuLlJCLCJvblN0YXRlQ2hhbmdlIixXKSl9ZWxzZSBuLkIkIT09VyYmKG4uQiQ9VyxnLlZVKG4uUkIsIm9uQWRTdGF0ZUNoYW5nZSIsVykpfTsKREY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5Wci5WRShXKX07CmcuSVg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5MWShXKT9uLmNYKCk6V307CmJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpO3JldHVybiBXPT09bi5jWCgpJiZuLkxZKFcpJiZuLkxZKEQpP0Q6V307CnZxPWZ1bmN0aW9uKG4pe249R3Uobi54Nik7cmV0dXJuISFuJiZuLmxvYWRlZH07CmVkUz1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpLEQ9bi54NjtWWShEKXx8RC5YKCk7IVVkJiZRWShEKSYmYU1VKEQpO3c5KEQsImVtYmVkIik7dzkoRCwia2lkcyIpO3c5KEQsInJlbW90ZSIpO3c5KEQsIm1pbmlwbGF5ZXIiKTt3OShELCJvZmZsaW5lIik7dzkoRCwidW5wbHVnZ2VkIik7dzkoRCwieXBjIiwhMSwhMCk7dzkoRCwid2ViZ2wiLCExLCEwKTtuRGooRCl8fCh3OShELCJjYXB0aW9ucyIsITApLHc5KEQsImVuZHNjcmVlbiIpLEQuTigpLHc5KEQsImNyZWF0b3JlbmRzY3JlZW4iLCEwKSk7RC5ZKCk7RC5BLldKKCJtb2R1bGVzQ3JlYXRlZCIpO24uUkIuV0ooInZpZGVvcmVhZHkiLFcpfTsKYVg9ZnVuY3Rpb24obil7aWYoIXZxKG4pKXtsZXQgVz1URyhuLng2KTtXJiYhVy5jcmVhdGVkJiZSRyhuLng2KSYmVy5jcmVhdGUoKX19OwpPWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpO2lmKCFXLnlsKXt2YXIgRDtuLkIuZXhwZXJpbWVudHMuRXEoImh0bWw1X3N0YXRlZnVsX2F1ZGlvX25vcm1hbGl6YXRpb24iKSYmVy5ob3N0Q3BuJiYoRD1raShuLFcuaG9zdENwbik/LmdldFZpZGVvRGF0YSgpLmhnLmooKSk7Vz1uLkIuczU/MTpyNihXLmhnLEQpO0Q9bi5tZWRpYUVsZW1lbnQ7RC5jSihuLkZfLm11dGVkKTt0cnl7RC5zZXRWb2x1bWUobi5GXy52b2x1bWUqVy8xMDApfWNhdGNoe2cuR3EobmV3IGcuUXgoImIxODM3NDIzMDciLGBtdWx0aXBsaWVyOiAke1d9LCB2b2x1bWU6ICR7bi5GXy52b2x1bWV9YCkpfX19Owp2YXIgSjFaPWZ1bmN0aW9uKCl7cmV0dXJuIGVYW0lbMTBdXSh0aGlzLDY3LDQ4NDkpfTsKQ0o9ZnVuY3Rpb24obil7bj1WUyhuKTtuLk9WKCk7cmV0dXJuIEFEKG4pfTsKbGw9ZnVuY3Rpb24obixXKXt2YXIgRD0oVz9XOlZTKG4pKS5RNztuLm1RLnRpY2soImVwX3ByX3IiKTtpZihEIT1udWxsJiYodUF0KG4ucGxheWxpc3QsRCksbi5sSikpbi5wbGF5bGlzdC5vblJlYWR5KCgpPT57VEEobixXKX0pfTsKVEE9ZnVuY3Rpb24obixXKXt2YXIgRD1nLm80KG4uQikmJiFuLkIuTyxiPUQmJlc/VzppdihuLnBsYXlsaXN0KTtXPUQmJlc/VzpuLmdldFZpZGVvRGF0YSgpO2ImJihXLkd1JiYobi5CLlU1fHxuLkIuTWQpfHwhbi5LSD8oVz1XLlBYLGI9bi56MihiLDEpLFcmJmZKKG4sYikpOmhWKG4sYiwxKSk7Zy5vNChuLkIpJiZuLm1RLnRpY2soImVwX3BfbCIpO24ubEo9ITE7Zy5RVShuLlJCLCJvblBsYXlsaXN0VXBkYXRlIil9OwpCZj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoVy5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4hMTtXPVcuZ2V0VmlkZW9EYXRhKCk7Q0oobikmJm4uQi5NZCYmKHFLLmxlbmd0aCYmbi5zaj8oUGYobix7bXV0ZWQ6ITEsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMSkpOnFLLmxlbmd0aHx8bi5GXy5tdXRlZHx8KFBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpLEtKKG4sITApKSk7Q0oobikmJmcubzQobi5CKSYmVy5tdXRlZEF1dG9wbGF5JiYoUGYobix7bXV0ZWQ6ITAsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMCkpO1cuTjAmJlBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpO3VsKG4sMSxXLCExKTt2YXIgRD1uLmNYKCk7bi5SQi5XSigiaW5pdGlhbGl6aW5nbW9kZSIpO24uUVQoRCk7bi5HMigzKTt2YXIgYjtpZighKGI9IW4uQi5HUykpe2lmKGI9bi5ySCl7Yj1uLnJIO3ZhciB2PW4ubWVkaWFFbGVtZW50OwpiPSEhdiYmdj09PWIubWVkaWFFbGVtZW50fWI9YiYmbi5hQ31iJiYobi5jUCgpLHpBKG4pLEQuc2V0TWVkaWFFbGVtZW50KG4ubWVkaWFFbGVtZW50KSk7RC5uTCgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCkpcmV0dXJuITE7Vy5EdHx8V3EobiwzKTtyZXR1cm4gbi5hQz0hMH07Cm41aj1mdW5jdGlvbihuKXtuLlJCLldKKCJpbml0aWFsaXppbmdtb2RlIik7bi5HMigyKTt3OShuLng2LCJyZW1vdGUiKTt3OShuLng2LCJtaW5pcGxheWVyIil9OwpGUz1mdW5jdGlvbihuKXtpZighbi5TKCJ1c2VfcnRhX2Zvcl9wbGF5ZXIiKSlpZihuLlMoImZldGNoX2F0dF9pbmRlcGVuZGVudGx5IikpZy5KYShuLkNOKTtlbHNle3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkuYm90Z3VhcmREYXRhO1cmJmcuekMoVyxuLkIsbi5nZXRWaWRlb0RhdGEoKS5wS3x8IiIpfX07CktKPWZ1bmN0aW9uKG4sVyl7VyE9PW4uc2omJihuLnNqPVcsZy5RVShuLlJCLCJvbk11dGVkQXV0b3BsYXlDaGFuZ2UiLFcpKX07CnVsPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXhpKG4sVyxEKSxrPW4uVnIuWC5nZXQodil8fG51bGw7aWYoIWspcmV0dXJuIG51bGw7bi5Wci5YLnJlbW92ZSh2KTtpZihrLnFOKCkpcmV0dXJuIG51bGw7aWYoay5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4gay5kaXNwb3NlKCksbnVsbDtpZihrPT09REYobix7cGxheWVyVHlwZTpXfSkpcmV0dXJuIG4ubVEuaW5mb0dlbCh7aXNDYWNoZUhpdDohMH0pLGs7aWYoKGsuZ2V0VmlkZW9EYXRhKCkub2F1dGhUb2tlbnx8RC5vYXV0aFRva2VuKSYmay5nZXRWaWRlb0RhdGEoKS5vYXV0aFRva2VuIT09RC5vYXV0aFRva2VuKXJldHVybiBudWxsO1c9PT0xJiYoVz1uLk1OKCkuZ2V0VmlkZW9EYXRhKCksQUooVykmJlcuaXNBZCgpJiZifHxRWihuKSk7Ynx8bi5RVChrLCEwKTtuLm1RLmluZm9HZWwoe2lzQ2FjaGVIaXQ6ITB9KTtyZXR1cm4ga307CmcuZzVoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKSxEPW4uZ2V0Q3VycmVudFRpbWUoKTtuPW4uZ2V0VmlkZW9EYXRhKCk7RD0xRTMqKEQtbi5zdGFydFNlY29uZHMpO24uaXNMaXZlUGxheWJhY2smJihEPTApO3JldHVybiBXLU1hdGgubWF4KEQsMCl9OwpkYXQ9ZnVuY3Rpb24obixXKXtpZighbi5ITilyZXR1cm4hMTt2YXIgRD1uLkhOLnN0YXJ0VGltZU1zKi4wMDEtMSxiPW4uSE4uZW5kVGltZU1zKi4wMDE7bi5ITi50eXBlPT09InJlcGVhdENoYXB0ZXIiJiZiLS07cmV0dXJuIE1hdGguYWJzKFctRCk8PTFFLTZ8fE1hdGguYWJzKFctYik8PTFFLTZ8fFc+PUQmJlc8PWJ9OwpYUXg9ZnVuY3Rpb24obil7dmFyIFc9bi5NTigpO2lmKG4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIikmJlcuZ2V0VmlkZW9EYXRhKCkuaXNBZCgpPzA6QUooVy5nZXRWaWRlb0RhdGEoKSkmJiFXLklLKCkpVz1BYihuKSoxRTMtbi5nZXRWaWRlb0RhdGEoKS5QTCxuPW4uVGUsaWwobi5hcHAsImdhcGxlc3NzaG9ydHNsb29wcmFuZ2UiKSxXPW5ldyBnLmw1KDAsVyx7aWQ6ImdhcGxlc3Nsb29wcmFuZ2UiLG5hbWVzcGFjZToiZ2FwbGVzc3Nob3J0c2xvb3ByYW5nZSJ9KSwobj1uLmFwcC5NTigpKSYmbi5hZGRDdWVSYW5nZShXKX07Ckcwaj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoIShXLmdldFBsYXllclN0YXRlKCkuTig2NCkmJlZTKG4pLmlzTGl2ZVBsYXliYWNrJiZuLkhOLnN0YXJ0VGltZU1zPDVFMykpe2lmKG4uSE4udHlwZT09PSJyZXBlYXRDaGFwdGVyIil7dmFyIEQ9RCQobi5KNSgpKT8uQjcoKTtsZXQgYj1uLmdldFZpZGVvRGF0YSgpPy5iJDtpZihEIGluc3RhbmNlb2YgcWhTJiZiKXtsZXQgdj0wO2ZvcihsZXQgayBvZiBiKXtpZihrLnN0YXJ0VGltZT5uLkhOLnN0YXJ0VGltZU1zKWJyZWFrO3YrK31ELnJlbmRlckNoYXB0ZXJTZWVraW5nQW5pbWF0aW9uKDAsYlt2PT09MD92OnYtMV0udGl0bGUpfWlzTmFOKE51bWJlcihuLkhOLmxvb3BDb3VudCkpP24uSE4ubG9vcENvdW50PTA6bi5ITi5sb29wQ291bnQrKztuLkhOLmxvb3BDb3VudD09PTEmJmcuUlQobi5SQiwiaW5uZXJ0dWJlQ29tbWFuZCIsbi5nZXRWaWRlb0RhdGEoKS5aTil9RD17cWQ6ImFwcGxpY2F0aW9uX2xvb3BSYW5nZVN0YXJ0In07CmlmKG4uSE4udHlwZT09PSJjbGlwcyJ8fG4uSE4udHlwZT09PSJzaG9ydHNMb29wIilELnNlZWtTb3VyY2U9NTg7Vy5zZWVrVG8obi5ITi5zdGFydFRpbWVNcyouMDAxLEQpfX07ClNhPWZ1bmN0aW9uKG4sVyxEKXtpZihuLkxZKEQpJiYoRD1ELmdldFZpZGVvRGF0YSgpLCFnLkx4KG4pKSl7bj1uLnNVO2Zvcih2YXIgYiBvZiBuLkopaWYoRC5LZj09PWIuS2Ype1crPWIub2EvMUUzO2JyZWFrfWI9Vztmb3IobGV0IHYgb2Ygbi5KKXtpZihELktmPT09di5LZilicmVhaztuPXYub2EvMUUzO2lmKG48VyliKz12LmR1cmF0aW9uTXMvMUUzK24tdi5kSS8xRTM7ZWxzZSBicmVha31yZXR1cm4gYn1yZXR1cm4gV307CmcuTHg9ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJiEhbi5Rd307ClFaPWZ1bmN0aW9uKG4peyhuPVRHKG4uSjUoKSkpJiZuLmNyZWF0ZWQmJm4uZGVzdHJveSgpfTsKdHR3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkueWwsRD1uLkIuRHQsYj1uLmlzSW5saW5lKCkmJiFuLmdldFZpZGVvRGF0YSgpLnYxLHY9bi5tZWRpYUVsZW1lbnQ7V3x8RHx8Yj92LmZCKCk6KHYuTEIoKSxQZihuLG4uRl8pKX07CiRlVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5TKCJ3ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5lTShuLkIpfHxuLlMoIm13ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5zZChuLkIpfTsKeGk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLms2KG4uQikmJkQudkooKT9gJHtXfV8ke0QudmlkZW9JZH1fJHtELktmfWA6YCR7V31fJHtELnZpZGVvSWR9XyR7RC5LZn1fJHsrRC5pc0F1dG9uYXZ9JHsrRC5WVH1gfTsKcmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcmJm4uQi5MQiYmIW4uZ2V0VmlkZW9EYXRhKCk/LmJhY2tncm91bmRhYmxlPyhuLkZqP24uRmouc3RhcnQoKTpuLlZLKCksITApOiExfTsKc2FpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtpZihXKXRyeXtsZXQgaz1kZWNvZGVVUklDb21wb25lbnQoVyksaD1scChrKTt2YXIgYj1uZXcgQVIobmV3IFM1KFtoXSkpO3ZhciB2PVBHKGIsMzIpO0Q9TnVtYmVyKHZ8fDApfWNhdGNoKGspe24uY1goKS5VKCJnZXRfbHVzdHNfZXJyIix7fSl9cmV0dXJuIER9OwpoVj1mdW5jdGlvbihuLFcsRD0xKXtpZihXLk9WKCkpe3ZhciBiPW9YKG4sRCxXLCExKTtuLmNhbmNlbFBsYXliYWNrKDQsRCk7bi5RVChiKTtiLnNtKCk7RD09PTEmJihuLkcyKDEpLGcubzQobi5CKSYmIVpQKFcpPyhXLmRpc3Bvc2UoKSxuLmNYKCkuZGlzcG9zZSgpKTpuNWoobikpfWVsc2UgVy5kaXNwb3NlKCksKFc9REYobix7cGxheWVyVHlwZTpEfSkpJiZXLmRpc3Bvc2UoKSxQVChWUyhuKSkmJkQ9PT0yJiZuLlNvKCl9OwpOYWI9ZnVuY3Rpb24obixXLEQsYix2KXtXPVFzUyhXLEQsYix2KTsoRD1nLm80KG4uQikmJiFuLkIuTykmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3MiKTtpZihEJiYhbi5aVilEPVZTKG4pLHpicihELFcpLnRoZW4oaz0+e24ubEo9ITA7bGwobixrKX0pOwplbHNlIG4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSk7CmcubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3IiKX07CmtpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9REYobix7cGxheWVyVHlwZToxfSk7aWYoRCl7aWYoRC5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlPT09VylyZXR1cm4gRDtpZigobj1uLlNHLk4pJiZuLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2U9PT1XKXJldHVybiBufXJldHVybiBudWxsfTsKZW89ZnVuY3Rpb24obil7dmFyIFc9c1AoITApO3JldHVybiBXJiYoVz09PW4udGVtcGxhdGUuZWxlbWVudHx8bi5tZWRpYUVsZW1lbnQmJlc9PT1uLm1lZGlhRWxlbWVudC5lXygpKT9XOm51bGx9OwpZaGk9ZnVuY3Rpb24obixXKXt2YXIgRD13aW5kb3cuc2NyZWVuPy5vcmllbnRhdGlvbjtpZihuLkIudHcmJkQmJkQubG9jayYmKCFnLm9kfHwhcFFqKSlpZihXKXtXPUQudHlwZS5pbmRleE9mKCJwb3J0cmFpdCIpPT09MDtsZXQgYj1uLnRlbXBsYXRlLmdldFZpZGVvQXNwZWN0UmF0aW8oKSx2PVc7YjwxP3Y9ITA6Yj4xJiYodj0hMSk7bi5KUiYmdj09PVd8fChEPUQubG9jayh2PyJwb3J0cmFpdCI6ImxhbmRzY2FwZSIpLEQhPW51bGwmJkQuY2F0Y2goKCk9Pnt9KSxuLkpSPSEwKX1lbHNlIG4uSlImJihuLkpSPSExLEQudW5sb2NrKCkpfTsKSGN0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5VeigpLGI9Vy5oNSgpO2lmKEQmJmImJm42KEQpKXt2YXIgdj1iLmlzVmlldygpP2IubWVkaWFFbGVtZW50OmI7bGV0IGg9Yi5pc1ZpZXcoKT9iLnN0YXJ0OjA7Yj1GZ2IoYikraDt2YXIgaz1MNihELGgsYiwhMCk7bGV0IHg9bmV3IGcuc2codixoLGIsITApO1cubm0oaywhMSwhMCwhMSk7Vy5zZXRNZWRpYUVsZW1lbnQoeCk7az1iKzEwO0Q9TDYoRCxrLEluZmluaXR5LCEwKTt2PW5ldyBnLnNnKHYsayxJbmZpbml0eSwhMSwhMCk7di5ISihEKTtuLlZxPXY7bi5CLldYKCkmJlcuVSgidXNtIix7cG1lOiEwLGNzOmgsY2U6YixuczprfSk7cmV0dXJuITB9cmV0dXJuITF9OwpmNmg9ZnVuY3Rpb24obixXKXtXLmJvdW5kcz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBEPVsiZGlzcGxheSIsIm9wYWNpdHkiLCJ2aXNpYmlsaXR5IiwiekluZGV4Il07Zm9yKGxldCBiIG9mIEQpV1tiXT1YbShuLGIpO1cuaGlkZGVuPSEhbi5oaWRkZW59Owp2YXIgU2pVPWZ1bmN0aW9uKCl7cmV0dXJuIFhEW0lbMTBdXSh0aGlzLDQsMzA5NCl9Owp2YXIgSmoyPWZ1bmN0aW9uKG4pe3JldHVybiBuLm5hbWU9PT0iVHlwZUVycm9yIiYmbi5zdGFjay5pbmNsdWRlcygiL3MvcGxheWVyLyIpJiZFeigpPD0xMDV9LGdxPWZ1bmN0aW9uKG4sVyl7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBEPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uaituLlcpKTsKbGV0IGI9TWF0aC5taW4oRCtuLmNvbHVtbnMsbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgpLTE7Zm9yKDtEPD1iO0QrKyluLmFwaS5sb2dWaXNpYmlsaXR5KG4uTltEXS5lbGVtZW50LFcpfX0sWFA9ZnVuY3Rpb24obil7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke24uS31weGA7Cm4ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7bi5LfXB4YDt2YXIgVz1uLnNjcm9sbFBvc2l0aW9uLEQ9bi5jb250YWluZXJXaWR0aC1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aCoobi5qK24uVyk7Zy5pSChuLmVsZW1lbnQsInl0cC1zY3JvbGwtbWluIixXPj0wKTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1tYXgiLFc8PUQpfSxJNlo9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTA7VzxuLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDtXKyspe3ZhciBEPW4uc3VnZ2VzdGlvbkRhdGFbV107CmxldCBrPW4uTltXXTt2YXIgYj1ELnNob3J0Vmlld0NvdW50P0Quc2hvcnRWaWV3Q291bnQ6RC5hdXRob3I7bGV0IGg9RC5NZigpLHg9bi5hcGkuRygpO2lmKGcubzQoeCkmJiF4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciB2PXt9O011KG4uYXBpLFt2XSk7aD1nLkVUKGgsdil9ay5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi10aXRsZSIpO3FsLnRlc3QuY2FsbChxbCxELnRpdGxlKT92LmRpcj0icnRsIjpHZy50ZXN0LmNhbGwoR2csRC50aXRsZSkmJih2LmRpcj0ibHRyIik7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi1hdXRob3IiKTtxbC50ZXN0LmNhbGwocWwsYik/di5kaXI9InJ0bCI6R2cudGVzdC5jYWxsKEdnLGIpJiYodi5kaXI9Imx0ciIpO2sudXBkYXRlKHt2aWV3c19vcl9hdXRob3I6YixkdXJhdGlvbjpELmlzTGl2ZVBsYXliYWNrPyJMaXZlIjpELmxlbmd0aFNlY29uZHM/CmcuSDcoRC5sZW5ndGhTZWNvbmRzKToiIixsaW5rOmgsaG92ZXJfdGl0bGU6RC50aXRsZSx0aXRsZTpELnRpdGxlLGFyaWFfbGFiZWw6RC5hcmlhTGFiZWx8fG51bGwsaXNfbGl2ZTpELmlzTGl2ZVBsYXliYWNrfSk7Yj1ELkdCKCk7ay5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9Yj9gdXJsKCR7Yn0pYDoiIjt4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikmJihuLmFwaS5jcmVhdGVTZXJ2ZXJWZShrLmVsZW1lbnQsayksKEQ9KEQ9RC5zZXNzaW9uRGF0YSkmJkQuaXRjdCkmJm4uYXBpLnNldFRyYWNraW5nUGFyYW1zKGsuZWxlbWVudCxEKSl9Zm9yKDtXPG4uTi5sZW5ndGg7VysrKW4uTltXXS5lbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiO1hQKG4pfSxTaFU9ZnVuY3Rpb24obixXLEQpe1cucHJldmVudERlZmF1bHQoKTsKbi5hcGkubG9nQ2xpY2soRCk7Vz1ELmdldEF0dHJpYnV0ZSgiaHJlZiIpO0Q9e307TXUobi5hcGksW0RdKTtXPWcuR0YoRCk/VzpnLkVUKFcsRCk7SkYoVyl9LEFqTT1mdW5jdGlvbihuLFcpe24uQkooInl0cC1lcnJvci1jb250ZW50Iikuc3R5bGUucGFkZGluZ1RvcD0iMHB4IjsKdmFyIEQ9bi5CSigieXRwLWVycm9yLWNvbnRlbnQiKSxiPUQuY2xpZW50SGVpZ2h0O24uTiYmbi5OLnJlc2l6ZShXLFcuaGVpZ2h0LWIpO0Quc3R5bGUucGFkZGluZ1RvcD1gJHsoVy5oZWlnaHQtKG4uTj9uLk4uZWxlbWVudC5jbGllbnRIZWlnaHQ6MCkpLzItYi8yfXB4YH0sSzJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcGkuRygpLGI7ClcucmVhc29uJiYodFYoVy5yZWFzb24pP2I9Zy5iZyhXLnJlYXNvbik6Yj12YyhnLkRwKFcucmVhc29uKSksbi5YKGIsImNvbnRlbnQiKSk7dmFyIHY7Vy5zdWJyZWFzb24mJih0VihXLnN1YnJlYXNvbik/dj1nLmJnKFcuc3VicmVhc29uKTp2PXZjKGcuRHAoVy5zdWJyZWFzb24pKSxuLlgodiwic3VicmVhc29uIikpO2lmKFcucHJvY2VlZEJ1dHRvbiYmVy5wcm9jZWVkQnV0dG9uLmJ1dHRvblJlbmRlcmVyKXtiPW4uQkooInl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uIik7Vz1XLnByb2NlZWRCdXR0b24uYnV0dG9uUmVuZGVyZXI7bGV0IGs9Zy56RigiQSIpO1cudGV4dCYmVy50ZXh0LnNpbXBsZVRleHQmJih2PVcudGV4dC5zaW1wbGVUZXh0LGsudGV4dENvbnRlbnQ9dixtZVUoYix2KXx8RC5EJiYhRC5lbWJlZHNFcnJvckxpbmtzfHwoRD1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy51cmwsVz1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy50YXJnZXQsCkQmJihrLnNldEF0dHJpYnV0ZSgiaHJlZiIsRCksbi5hcGkuY3JlYXRlQ2xpZW50VmUoayxuLDE3ODQyNCksbi5OTihrLCJjbGljayIsaD0+e1NoVShuLGgsayl9KSksVyYmay5zZXRBdHRyaWJ1dGUoInRhcmdldCIsVyksRD1nLnpGKCJESVYiKSxELmFwcGVuZENoaWxkKGspLGIuYXBwZW5kQ2hpbGQoRCkpKX19LHRWPWZ1bmN0aW9uKG4pe2lmKG4ucnVucylmb3IobGV0IFc9MDtXPG4ucnVucy5sZW5ndGg7VysrKWlmKG4ucnVuc1tXXS5uYXZpZ2F0aW9uRW5kcG9pbnQpcmV0dXJuITA7CnJldHVybiExfSxtZVU9ZnVuY3Rpb24obixXKXtuPShufHxkb2N1bWVudCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkEiKTsKZm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspaWYobltEXS50ZXh0Q29udGVudD09PVcpcmV0dXJuITA7cmV0dXJuITF9LE9jYj1mdW5jdGlvbihuKXt2YXIgVz17fTsKTXUobi5hcGksW1ddKTtuPW4uYXBpLmdldFZpZGVvVXJsKCk7cmV0dXJuIG49Zy5FVChuLFcpfSxQMHQ9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCksRD1uLmFwaS5HKCkuYlYmJiFuLnN0YXRlLk4oMikmJiFuLmFwaS5nZXRWaWRlb0RhdGEoe3BsYXllclR5cGU6MX0pLmlOOwpXLm11dGVkQXV0b3BsYXl8fG4uTUwoRCk7bi5hcGkubG9nVmlzaWJpbGl0eShuLmVsZW1lbnQsRCl9LFVlaj1mdW5jdGlvbihuKXtuLndhdGVybWFya3x8KG4ud2F0ZXJtYXJrPW5ldyBaY3Iobi5hcGkpLGcudShuLG4ud2F0ZXJtYXJrKSxuLndhdGVybWFyay5MdShuLmJvdHRvbUJ1dHRvbnMsMCksZy5pSChuLndhdGVybWFyay5lbGVtZW50LCJ5dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrIiwhMCksbi5OPW5ldyBnLiRpKG4ud2F0ZXJtYXJrLDAsITAsMTAwKSxnLnUobixuLk4pKX0seWpqPWZ1bmN0aW9uKG4pe24uSiYmbi5OJiYobi5OLnNob3coKSxuLlYuc3RhcnQoKSl9LEU1VT1mdW5jdGlvbihuKXtmb3IobGV0IFc9MDtXPDE2OysrVyl7bGV0IEQ9bmV3IGcucnEoe1o6ImEiLApKdzoieXRwLXN1Z2dlc3Rpb24tbGluayIseGE6e2hyZWY6Int7bGlua319Iix0YXJnZXQ6bi5hcGkuRygpLllaLCJhcmlhLWxhYmVsIjoie3thcmlhX2xhYmVsfX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWltYWdlIn0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLW92ZXJsYXkiLHhhOntzdHlsZToie3tibGlua19yZW5kZXJpbmdfaGFja319IiwiYXJpYS1oaWRkZW4iOiJ7e2FyaWFfaGlkZGVufX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLXRpdGxlIixPcToie3t0aXRsZX19In0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWF1dGhvciIsT3E6Int7YXV0aG9yX2FuZF92aWV3c319In0se1o6ImRpdiIseGE6eyJkYXRhLWlzLWxpdmUiOiJ7e2lzX2xpdmV9fSJ9LEp3OiJ5dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbiIsT3E6Int7ZHVyYXRpb259fSJ9XX1dfSk7Zy51KG4sRCk7bGV0IGI9RC5CSigieXRwLXN1Z2dlc3Rpb24tbGluayIpO2cuaDEoYiwKInRyYW5zaXRpb25EZWxheSIsYCR7Vy8yMH1zYCk7bi5qLk5OKGIsImNsaWNrIix2PT57dmFyIGs9VztpZihuLlcpe3ZhciBoPW4uc3VnZ2VzdGlvbkRhdGFba10seD1oLnNlc3Npb25EYXRhO24uSyYmbi5hcGkuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKT8obi5hcGkubG9nQ2xpY2sobi5OW2tdLmVsZW1lbnQpLGs9aC5NZigpLGg9e30sTXUobi5hcGksW2hdKSxrPWcuRVQoayxoKSxSeShrLG4uYXBpLHYpKTpNcCh2LG4uYXBpLG4uSyx4fHx2b2lkIDApJiZuLmFwaS5NMihoLnZpZGVvSWQseCxoLnBsYXlsaXN0SWQpfWVsc2Ugdi5wcmV2ZW50RGVmYXVsdCgpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpfSk7CkQuTHUobi5zdWdnZXN0aW9ucy5lbGVtZW50KTtuLk4ucHVzaChEKTtuLmFwaS5jcmVhdGVTZXJ2ZXJWZShELmVsZW1lbnQsRCl9fSxpY3I9ZnVuY3Rpb24obil7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBXPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uVis4KSk7CmxldCBEPU1hdGgubWluKFcrbi5jb2x1bW5zLG4uc3VnZ2VzdGlvbkRhdGEubGVuZ3RoKS0xO2Zvcig7Vzw9RDtXKyspbi5hcGkubG9nVmlzaWJpbGl0eShuLk5bV10uZWxlbWVudCwhMCl9fSxzNj1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS55WigpPzMyOjE2OwpXPW4uRC8yK1c7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke1d9cHhgO24ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7V31weGA7Vz1uLnNjcm9sbFBvc2l0aW9uO3ZhciBEPW4uY29udGFpbmVyV2lkdGgtbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgqKG4uVis4KTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1taW4iLFc+PTApO2cuaUgobi5lbGVtZW50LCJ5dHAtc2Nyb2xsLW1heCIsVzw9RCl9LG81dz1mdW5jdGlvbihuKXt2YXIgVz1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDsKZm9yKGxldCBrPTA7azxXOysrayl7dmFyIEQ9dm9pZCAwLGI9dm9pZCAwO2xldCBoPXZvaWQgMDtEPW47dmFyIHY9RC5hcGkuRygpO2xldCB4PUQuc3VnZ2VzdGlvbkRhdGFba10sTD1ELk5ba107aD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LnNob3J0Vmlld0NvdW50fHwiIjp4LnNob3J0Vmlld0NvdW50P2Ake3guYXV0aG9yfSBcdTIwMjIgJHt4LnNob3J0Vmlld0NvdW50fWA6eC5hdXRob3I7TC5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7Zy5oMShMLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJpbmxpbmUtYmxvY2siKTt1eWkudGVzdCh4LnRpdGxlKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLXRpdGxlIikuZGlyPSJydGwiKTt1eWkudGVzdChoKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLWF1dGhvciIpLmRpcj0icnRsIik7Yj14LmlzTGl2ZVBsYXliYWNrPyJMaXZlIjp4Lmxlbmd0aFNlY29uZHM/Zy5INyh4Lmxlbmd0aFNlY29uZHMpOiIiO2xldCBlPQp4Lk1mKEQuYXBpLmlzRW1iZWRzU2hvcnRzTW9kZSgpKTtpZihnLm80KHYpJiYhdi5TKCJ3ZWJfcGxheWVyX2xvZ19jbGlja19iZWZvcmVfZ2VuZXJhdGluZ192ZV9jb252ZXJzaW9uX3BhcmFtcyIpKXtsZXQgRz17fTtNdShELmFwaSxbR10pO2U9Zy5FVChlLEcpfXYuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKSYmKHY9KHY9eC5zZXNzaW9uRGF0YSkmJnYuaXRjdCkmJkQuYXBpLnNldFRyYWNraW5nUGFyYW1zKEwuZWxlbWVudCx2KTtMLnVwZGF0ZSh7YXV0aG9yX2FuZF92aWV3czpoLGR1cmF0aW9uOmIsbGluazplLHRpdGxlOngudGl0bGUsYXJpYV9sYWJlbDp4LmFyaWFMYWJlbHx8eC50aXRsZSxpc19saXZlOnguaXNMaXZlUGxheWJhY2ssYXJpYV9oaWRkZW46ISF4LmFyaWFMYWJlbCxibGlua19yZW5kZXJpbmdfaGFjazpnLm9kfHxyYz8id2lsbC1jaGFuZ2U6IG9wYWNpdHkiOnZvaWQgMH0pO2I9TC5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKTsKRD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LkdCKCJocTIuanBnIik6eC5HQigpO2Iuc3R5bGUuYmFja2dyb3VuZEltYWdlPUQ/YHVybCgke0R9KWA6IiJ9aWYoVzwxNilmb3IoO1c8MTY7KytXKWcuaDEobi5OW1ddLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJub25lIik7czYobil9LE5sPWZ1bmN0aW9uKG4pe2lmKCFuLlcpe3ZhciBXPU1hdGgubWluKCgwLGcuUikoKS1uLlYsbi5qKTsKdmFyIEQ9bi5qLVc7Vz1uLmo9PT0wPzA6TWF0aC5tYXgoRC9uLmosMCk7RD1NYXRoLnJvdW5kKEQvMUUzKTtuLlkuc2V0QXR0cmlidXRlKCJzdHJva2UtZGFzaG9mZnNldCIsYCR7LTIxMSooVysxKX1gKTtuLnVwZGF0ZVZhbHVlKCJkdXJhdGlvbiIsRCk7Vzw9MCYmbi5OP24uc3RvcFRpbWVyKCk6bi5OJiZuLk4uc3RhcnQoKX19LGRleD1mdW5jdGlvbihuKXtuLk58fChuLmo9NUUzLG4uVj0oMCxnLlIpKCksbi5OPW5ldyBnLnBfKCgpPT57Tmwobil9LG51bGwpLE5sKG4pKX0scHg9ZnVuY3Rpb24obil7dmFyIFc9bi5BOwpuPSEhVy5pc0VtYmVkc1Nob3J0c01vZGUoKTtnLmlIKFcuZ2V0Um9vdE5vZGUoKSwieXRwLXNob3J0cy1tb2RlIixuKTtpZihXPVcuZ2V0VmlkZW9EYXRhKCkpVy5TYT1ufSxUYXg9ZnVuY3Rpb24obil7e3ZhciBXPW4uQTsKbGV0IEQ9Vy5HKCk7RC5XaSYmIUQuRCYmZy5vNChEKT9XLmlzRW1iZWRzU2hvcnRzTW9kZSgpPyhXPVcuRTQoKSxXPU1hdGgubWluKFcud2lkdGgsVy5oZWlnaHQpPj0zMTUpOlc9IVcuejYoKTpXPSExfVchPT1uLkQmJihuLkQ9VyxuLmomJihuLmouZGlzcG9zZSgpLG4uaj1udWxsKSxuLlcmJihuLlcuZGlzcG9zZSgpLG4uVz1udWxsKSxuLlgmJihuLlguZGlzcG9zZSgpLG4uWD1udWxsKSxuLkomJihuLkouc3RvcCgpLG4uSi5kaXNwb3NlKCksbi5KPW51bGwpLFcmJihnLmI1KG4uQSksbi5BLmlzRW1iZWRzU2hvcnRzTW9kZSgpJiYobi5YPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1iYWNrZHJvcCIseGE6e3RhYkluZGV4OiItMSJ9fSksZy51KG4sbi5YKSxnLnJ2KG4uQSxuLlguZWxlbWVudCw0KSxuLko9bmV3IGcuJGkobi5YLDFFMywhMSwxMDApLGcudShuLG4uSiksbi5YLmhpZGUoKSksbi5qPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1jb250YWluZXIiLAp4YTp7dGFiSW5kZXg6Ii0xIn19KSxnLnUobixuLmopLG4uVz1uZXcgemRVKG4uQSksZy51KG4sbi5XKSxuLlcuTHUobi5qLmVsZW1lbnQpLGcucnYobi5BLG4uai5lbGVtZW50LDQpLGw2QyhuLG4uQS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSkpfSxsNkM9ZnVuY3Rpb24obixXKXtuLkomJighVy5OKDQpJiYhVy5OKDIpfHxXLk4oMTAyNCk/bi5KLmhpZGUoKTpuLkouc2hvdygpKX0sWWk9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkEuRygpOwpuPXthZFNvdXJjZToiRU1CRURTX0FEX1NPVVJDRV9ZT1VUVUJFIixicmVha1R5cGU6bi5BLmdldEN1cnJlbnRUaW1lKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QUkVfUk9MTCI6bi5BLmdldFBsYXllclN0YXRlKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QT1NUX1JPTEwiOiJFTUJFRFNfQURfQlJFQUtfVFlQRV9NSURfUk9MTCIsZW1iZWRVcmw6QUEobi5BLkcoKS5sb2FkZXJVcmwpLGV2ZW50VHlwZTpXLHlvdXR1YmVIb3N0OmcuSVAobi5BLkcoKS5EYSl8fCIifTtuLmVtYmVkZGVkUGxheWVyTW9kZT1ELmNKO2cuelUoImVtYmVkc0FkRXZlbnQiLG4pfSxudD1bXSxEaXg9dHlwZW9mIE9iamVjdC5jcmVhdGU9PSJmdW5jdGlvbiI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihuKXtmdW5jdGlvbiBXKCl7fQpXLnByb3RvdHlwZT1uO3JldHVybiBuZXcgV30sV1NDPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24obixXLEQpe2lmKG49PUFycmF5LnByb3RvdHlwZXx8bj09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gbjsKbltXXT1ELnZhbHVlO3JldHVybiBufSx4Mj1nbG9iYWxUaGlzLHZaPSJJbnQ4IFVpbnQ4IFVpbnQ4Q2xhbXBlZCBJbnQxNiBVaW50MTYgSW50MzIgVWludDMyIEZsb2F0MzIgRmxvYXQ2NCIuc3BsaXQoIiAiKTsKeDIuQmlnSW50NjRBcnJheSYmKHZaLnB1c2goIkJpZ0ludDY0IiksdloucHVzaCgiQmlnVWludDY0IikpO3ZhciBidFM9T2JqZWN0LnNldFByb3RvdHlwZU9mO2hpKCJTeW1ib2wuZGlzcG9zZSIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjpTeW1ib2woIlN5bWJvbC5kaXNwb3NlIil9KTsKaGkoIlN1cHByZXNzZWRFcnJvciIsZnVuY3Rpb24obil7ZnVuY3Rpb24gVyhELGIsdil7aWYoISh0aGlzIGluc3RhbmNlb2YgVykpcmV0dXJuIG5ldyBXKEQsYix2KTt2PUVycm9yKHYpOyJzdGFjayJpbiB2JiYodGhpcy5zdGFjaz12LnN0YWNrKTt0aGlzLm1lc3NhZ2U9di5tZXNzYWdlO3RoaXMuZXJyb3I9RDt0aGlzLnN1cHByZXNzZWQ9Yn0KaWYobilyZXR1cm4gbjt2MkMoVyxFcnJvcik7Vy5wcm90b3R5cGUubmFtZT0iU3VwcHJlc3NlZEVycm9yIjtyZXR1cm4gV30pOwpoaSgiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsIixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmZ1bmN0aW9uKFcsRCl7aWYoVyBpbnN0YW5jZW9mIFJlZ0V4cCYmIVcuZ2xvYmFsKXRocm93IG5ldyBUeXBlRXJyb3IoIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCBjYWxsZWQgd2l0aCBhIG5vbi1nbG9iYWwgUmVnRXhwIGFyZ3VtZW50LiIpO3JldHVybiBXIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShXLEQpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhXKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxEKX19KTsKaGkoIkFycmF5LnByb3RvdHlwZS5hdCIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjplVX0pOwpuMncoImF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJTdHJpbmcucHJvdG90eXBlLmF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJQcm9taXNlLndpdGhSZXNvbHZlcnMiLGZ1bmN0aW9uKG4pe3JldHVybiBuP246ZnVuY3Rpb24oKXt2YXIgVyxEO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGIsdil7Vz1iO0Q9dn0pLApyZXNvbHZlOlcscmVqZWN0OkR9fX0pO3ZhciBjSixTVSxrYnQ7Y0o9Y0p8fHt9O2cucWk9dGhpc3x8c2VsZjtTVT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtrYnQ9MDt2YXIgZV93PWNsYXNze2NvbnN0cnVjdG9yKHt1cmw6bixadjpXfSl7dGhpcy5KPW47dGhpcy5YPVc7dGhpcy5XPShuZXcgRGF0ZSkuZ2V0VGltZSgpLTE3MDQwNjcyRTU7dGhpcy5OPXt9O2Zvcih2YXIgRD0vWz8mXShbXiY9XSspPShbXiZdKikvZztXPUQuZXhlYyhuKTspdGhpcy5OW1dbMV1dPVdbMl19fTtnLml4KGcuVGIsRXJyb3IpO2cuVGIucHJvdG90eXBlLm5hbWU9IkN1c3RvbUVycm9yIjt2YXIgSWg7dmFyIE5yaD0vJi9nLHBadz0vPC9nLFl3aT0vPi9nLEh0VT0vIi9nLGYxUz0vJy9nLEppWj0vXHgwMC9nLHNDaD0vW1x4MDAmPD4iJ10vO3ZhciBuYj1nbG9iYWxUaGlzLnRydXN0ZWRUeXBlcyxXTTt2YXIgYl89Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07Zy5laj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk59fTtnLlY1PW5ldyBnLmVqKCJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO3ZhciBYSSxnMmo7WEk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5PVj1ufX07Zy5HND1bcVUoImRhdGEiKSxxVSgiaHR0cCIpLHFVKCJodHRwcyIpLHFVKCJtYWlsdG8iKSxxVSgiZnRwIiksbmV3IFhJKG49Pi9eW146XSooWy8/I118JCkvLnRlc3QobikpXTsKZzJqPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7Zy5ZMz1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk4rIiJ9fTt2YXIgQUY9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07dmFyIFo0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19O3ZhciBMcD17fTt2YXIgQWlyLG1pMTtBaXI9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtnLno1PS8jfCQvO21pMT0vWz8mXSgkfCMpLzt2YXIgUUc9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihuLFcsRD1FcnJvcigpKXtzdXBlcigpO3RoaXMuY29kZT1uO1crPSI6IjtEIGluc3RhbmNlb2YgRXJyb3I/KHRoaXMubWVzc2FnZT1XK0QubWVzc2FnZSx0aGlzLnN0YWNrPUQuc3RhY2t8fCIiKToodGhpcy5tZXNzYWdlPVcrU3RyaW5nKEQpLHRoaXMuc3RhY2s9IiIpO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O2cuRk0ucHJvdG90eXBlLkhEPSExO2cuRk0ucHJvdG90eXBlLnFOPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSER9OwpnLkZNLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5IRHx8KHRoaXMuSEQ9ITAsdGhpcy5tQSgpKX07CmcuRk0ucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTsKZy5GTS5wcm90b3R5cGUuYWRkT25EaXNwb3NlQ2FsbGJhY2s9ZnVuY3Rpb24obixXKXt0aGlzLkhEP1chPT12b2lkIDA/bi5jYWxsKFcpOm4oKToodGhpcy5CVnx8KHRoaXMuQlY9W10pLFcmJihuPW4uYmluZChXKSksdGhpcy5CVi5wdXNoKG4pKX07CmcuRk0ucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7aWYodGhpcy5CVilmb3IoO3RoaXMuQlYubGVuZ3RoOyl0aGlzLkJWLnNoaWZ0KCkoKX07dmFyIFB4Uz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLndwYz1ufUgkKCl7cmV0dXJuIHRoaXMud3BjLmYoKX15aChuKXt0aGlzLndwYy5jKG4pfVcobil7cmV0dXJuIHRoaXMud3BjLm0oUlAobikpfVpSKG4pe3JldHVybiB0aGlzLndwYy5td3MoUlAobikpfX0sd1Q9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5PMT1uO3RoaXMuVz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTsKdGhpcy5KPXZvaWQgMDt0aGlzLk92PXRoaXMuTzEucDt0aGlzLlg9dGhpcy5TMS5iaW5kKHRoaXMpO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgT3RpKHRoaXMpKX1zbmFwc2hvdChuKXtyZXR1cm4gdGhpcy5PMS5zKHsuLi4obi53XyYme2M6bi53X30pLAouLi4obi5HbCYme3M6bi5HbH0pLC4uLihuLk1PIT09dm9pZCAwJiZ7cDpuLk1PfSl9KX1TMShuKXt0aGlzLk8xLmUobil9UUQoKXtyZXR1cm4gdGhpcy5PMS5sKCl9fTt2YXIgamExPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5iZD0xfXNoYXJlKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJFOkFEIik7dGhpcy5iZCsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuYmR8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciBDMHg9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsYnAoIm1rIikpfWRFKG4sVyl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvZnJzIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiKX19LEJhaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLko9bjtFdShuLCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIixicCgibW4iKSxEWCgiYWMiKSxEWCgic2MiKSxicCgicmsiKSxicCgibWsiKSl9ZEUobixXLEQsYix2LGspe3RoaXMuSi5kRSgiL2NsaWVudF9zdHJlYW16L2JnL3dybCIsbixXLEQsYix2LGspfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy93cmwiKX19LEYyWj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLGJwKCJlbiIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLApuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lYyIpfX0sd1FyPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuSj1uO0V1KG4sIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYnAoImVuIiksYnAoIm1rIikpfWRFKG4sVyxEKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0sTXQxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLERYKCJlYyIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LFJkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIixEWCgiY3MiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywKIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0sUWF4PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixicCgiYXYiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LFZ0aT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsYnAoInN1IiksYnAoIm1rIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxjang9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwKIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixicCgibWsiKSl9ZEUobixXKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIil9fSxhNnc9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGJwKCJldCIpLGJwKCJtayIpKX1kRShuLFcsRCl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9uIil9fTt2YXIgY1c9ITAsVjEsdjI7dmFyIEhxO0hxPU5pKDEsITApO2cucXg9TmkoNjEwNDAxMzAxLCExKTtOaSg4OTk1ODg0MzcsITEpO05pKDc3MjY1Nzc2OCwhMCk7TmkoNTEzNjU5NTIzLCExKTtOaSg1NjgzMzM5NDUsITApO05pKDEzMzE3NjE0MDMsITApO05pKDY1MTE3NTgyOCwhMSk7TmkoNzIyNzY0NTQyLCExKTtOaSg3NDg0MDIxNDUsITEpO05pKDc0ODQwMjE0NiwhMSk7dmFyIEF2PU5pKDc0ODQwMjE0NywhMCk7TmkoMTYwMjYxMzE4NSwhMSk7TmkoODYxMzc3NzIzLCExKTtOaSg4NjEzNzc3MjQsSHEpO05pKDg2OTMzNjkwMywhMSk7TmkoODgyNjc0NTA3LCExKTtOaSg4NjkzMzY5MDQsSHEpO05pKDg2OTMzNjkwNSxIcSk7TmkoMjgzOTUzMTU1LCExKTtOaSg5MTk0NDQ4MjQsITEpO05pKDkzMTQ2ODA0NywhMSk7TmkoOTI4ODc1Mzk4LCExKTtOaSg2ODM3NDkyMDEsITEpO05pKDIxNDc0ODM2NDQsITEpO05pKDIxNDc0ODM2NDUsITEpO05pKDIxNDc0ODM2NDYsSHEpO05pKDIxNDc0ODM2NDcsITApO2cuR2g9ISFnLnJyKCJ5dC5jb25maWdfLkVYUEVSSU1FTlRTX0ZMQUdTLmh0bWw1X2VuYWJsZV9jbGllbnRfaGludHNfb3ZlcnJpZGUiKTt2YXIgbnpiO256Yj1nLnFpLm5hdmlnYXRvcjtnLnQ0PW56Yj9uemIudXNlckFnZW50RGF0YXx8bnVsbDpudWxsO2cuT0FbIiAiXT1mdW5jdGlvbigpe307dmFyIHJjLG5yLHBRaixXVVosRDRpLGJpVSxYdyxmeDtyYz1OeCgpO2cua2g9c0EoKT8hMTpnLnJXKCJUcmlkZW50Iil8fGcuclcoIk1TSUUiKTtnLlJnPWcuclcoIkVkZ2UiKTtnLnNtPWcuUmd8fGcua2g7Zy5lUz1nLnJXKCJHZWNrbyIpJiYhKGcud3IoZy5YUSgpLCJXZWJLaXQiKSYmIWcuclcoIkVkZ2UiKSkmJiEoZy5yVygiVHJpZGVudCIpfHxnLnJXKCJNU0lFIikpJiYhZy5yVygiRWRnZSIpO2cuWmw9Zy53cihnLlhRKCksIldlYktpdCIpJiYhZy5yVygiRWRnZSIpO25yPWcubXgoKTtwUWo9Zy5LMCgpO2cuUUg9Zy5JMigpO1dVWj1TdSgpO0Q0aT1nLnJXKCJpUGFkIik7YmlVPWcuclcoImlQb2QiKTtYdz1nLkE0KCk7Zy5XWD1nLndyKGcuWFEoKSwiS2FpT1MiKTsKYTp7bGV0IG49IiIsVz1mdW5jdGlvbigpe3ZhciBEPWcuWFEoKTtpZihnLmVTKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoRCk7aWYoZy5SZylyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKEQpO2lmKGcua2gpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKEQpO2lmKGcuWmwpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoRCk7aWYocmMpcmV0dXJuLyg/OlZlcnNpb24pWyBcL10/KFxTKykvLmV4ZWMoRCl9KCk7ClcmJihuPVc/V1sxXToiIik7aWYoZy5raCl7dmFyIEpWO2xldCBEPWcucWkuZG9jdW1lbnQ7SlY9RD9ELmRvY3VtZW50TW9kZTp2b2lkIDA7aWYoSlYhPW51bGwmJkpWPnBhcnNlRmxvYXQobikpe2Z4PVN0cmluZyhKVik7YnJlYWsgYX19Zng9bn12YXIgUDI9ZngsaXR4PXt9O3ZhciB3OCxNWDtnLmFvPXAwKCk7dzg9U3UoKXx8Zy5yVygiaVBvZCIpO01YPWcuclcoImlQYWQiKTtnLkltPWcuclcoIkFuZHJvaWQiKSYmIShZSygpfHxwMCgpfHxOeCgpfHxnLnJXKCJTaWxrIikpO2cub2Q9WUsoKTtnLkduPWcuSDIoKSYmIWcuQTQoKTt2YXIgeWw9e30sVGg9bnVsbDt2YXIganU9L1stXy5dL2csZGlVPXsiLSI6IisiLF86Ii8iLCIuIjoiPSJ9LHdXPXt9O3ZhciBGUT1jbGFzc3tpc0VtcHR5KCl7cmV0dXJuIHRoaXMuTj09bnVsbH1zaXplQnl0ZXMoKXt2YXIgbj1RbCh0aGlzKTtyZXR1cm4gbj9uLmxlbmd0aDowfWNvbnN0cnVjdG9yKG4sVyl7UjIoVyk7dGhpcy5OPW47aWYobiE9bnVsbCYmbi5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJCeXRlU3RyaW5nIHNob3VsZCBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vbi1lbXB0eSB2YWx1ZXMiKTt9fSxCMjt2YXIgYTI9dm9pZCAwO3ZhciBiND1XOSgiamFzIiwhMCksTG49VzkoKSxrOT1XOSgpLExHPVc5KCksUk1iPVc5KCksUUNpPVc5KCksRzRTPVc5KCksRFVpPVc5KCksdkg9VzkoIm1fbSIsITApLGNpVT1XOSgpLHFFPVc5KCk7Wy4uLk9iamVjdC52YWx1ZXMoe014OjEsRVk6MixHTDo0LFltOjgsalo6MTYsVFQ6MzIsUFE6NjQsTng6MTI4LGZoOjI1NixhTjo1MTIsYVU6MTAyNCxQbToyMDQ4LHI0OjQwOTYsYU86ODE5Mn0pXTt2YXIgenosdnp4PVtdO3Z6eFtiNF09Nzt6ej1PYmplY3QuZnJlZXplKHZ6eCk7dmFyIGt2PXt9LERCPXt9LEckPU9iamVjdC5mcmVlemUoe30pLFNvPXt9LHhVPXt9O3ZhciBZbyx3V2osa0N4O2cudF89cTMobj0+dHlwZW9mIG49PT0ibnVtYmVyIik7CmcuRzk9cTMobj0+dHlwZW9mIG49PT0ic3RyaW5nIik7CllvPXEzKG49Pm4hPW51bGwmJnR5cGVvZiBuPT09Im9iamVjdCImJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iKTsKd1dqPXEzKG49PnR5cGVvZiBuPT09ImZ1bmN0aW9uIik7CmtDeD1xMyhuPT4hIW4mJih0eXBlb2Ygbj09PSJvYmplY3QifHx0eXBlb2Ygbj09PSJmdW5jdGlvbiIpKTt2YXIgc0s9cTMobj0+bj49aDNqJiZuPD14NGopLGgzaj1CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpLHg0aj1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO3ZhciByWj0wLHNfPTAsR3Y7dmFyIGRaPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwLEJyaD10eXBlb2YgQmlnSW50PT09ImZ1bmN0aW9uIj9CaWdJbnQuYXNVaW50Tjp2b2lkIDAsalg9TnVtYmVyLmlzU2FmZUludGVnZXIsUDk9TnVtYmVyLmlzRmluaXRlLFQ5PU1hdGgudHJ1bmMsbDEyPS9eLT8oWzEtOV1bMC05XSp8MCkoXC5bMC05XSspPyQvO3ZhciBhMVU9e307dmFyIFhGPWNsYXNze30sTVVpPXtKUzohMH07dmFyICR2O3ZhciBISCxmRzt2YXIgdjNpPWcuJFUoMCksZm49e307dmFyIE9WPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmJ1ZmZlcj1uO2lmKEQmJiFXKXRocm93IEVycm9yKCk7dGhpcy5OPVd9fTt2YXIgTFVyPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIpe3RoaXMuSj1udWxsO3RoaXMuVj0hMTt0aGlzLmo9bnVsbDt0aGlzLk49dGhpcy5XPXRoaXMuWD0wO3RoaXMuaW5pdChuLFcsRCxiKX1pbml0KG4sVyxELHtuXzpiPSExLGhCOnY9ITF9PXt9KXt0aGlzLm5fPWI7dGhpcy5oQj12O24mJihuPVBXKG4sdGhpcy5oQiksdGhpcy5KPW4uYnVmZmVyLHRoaXMuVj1uLk4sdGhpcy5qPW51bGwsdGhpcy5YPVd8fDAsdGhpcy5XPUQhPT12b2lkIDA/dGhpcy5YK0Q6dGhpcy5KLmxlbmd0aCx0aGlzLk49dGhpcy5YKX1mcmVlKCl7dGhpcy5jbGVhcigpO0FWLmxlbmd0aDwxMDAmJkFWLnB1c2godGhpcyl9Y2xlYXIoKXt0aGlzLko9bnVsbDt0aGlzLlY9ITE7dGhpcy5qPW51bGw7dGhpcy5OPXRoaXMuVz10aGlzLlg9MDt0aGlzLm5fPSExfXJlc2V0KCl7dGhpcy5OPXRoaXMuWH19LEFWPVtdO3ZhciBSWT0wLGhCUz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiKXtpZihBVi5sZW5ndGgpe2xldCB2PUFWLnBvcCgpO3YuaW5pdChuLFcsRCxiKTtuPXZ9ZWxzZSBuPW5ldyBMVXIobixXLEQsYik7dGhpcy5OPW47dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTE7akUodGhpcyxiKX1mcmVlKCl7dGhpcy5OLmNsZWFyKCk7dGhpcy5KPXRoaXMuVz0tMTtUJC5sZW5ndGg8MTAwJiZUJC5wdXNoKHRoaXMpfXJlc2V0KCl7dGhpcy5OLnJlc2V0KCk7dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTF9fSxUJD1bXTt2YXIgZTNyPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoU28hPT1Tbyl0aHJvdyBFcnJvcigpO319O3ZhciB2eT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxoMyxlQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxnRyxyRyxOZixwaCwkbSx0MyxxZixHUzt2YXIgZ3pNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLk4ubGVuZ3RofWVuZCgpe3ZhciBuPXRoaXMuTjt0aGlzLk49W107cmV0dXJuIG59fTt2YXIgWCQyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPVtdO3RoaXMuSj0wO3RoaXMuTj1uZXcgZ3pNfX07dmFyIGxHLHEzWixtNyxHQzIsdDJoLCQ0aSxyWEMsUHEsc2YyLE5NVSxwJFU7bEc9b3goKTtxM1o9b3goKTttNz1veCgpO2cuS3g9b3goKTtHQzI9b3goKTt0Mmg9b3goKTskNGk9b3goKTtnLk82PW94KCk7clhDPW94KCk7UHE9b3goKTtzZjI9b3goKTtnLlpGPW94KCk7Tk1VPW94KCk7cCRVPW94KCk7Zy5RbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5sOT1KdihuLFcsRCwyMDQ4KX10b0pTT04oKXtyZXR1cm4gWXYodGhpcyl9Ylkobil7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFl2KHRoaXMsbikpfWNsb25lKCl7dmFyIG49dGhpcy5sOSxXPW5bYjRdfDA7cmV0dXJuIEtHKHRoaXMsbixXKT9PSyh0aGlzLG4sITApOm5ldyB0aGlzLmNvbnN0cnVjdG9yKG1fKG4sVywhMSkpfX07Zy5RbS5wcm90b3R5cGVbdkhdPWt2O2cuUW0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubDkudG9TdHJpbmcoKX07dmFyIHpTPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmNqPW47dGhpcy5Qaj1XO249RXcobEcpO3RoaXMuTj0hIW4mJkQ9PT1ufHwhMX19LExjdD1UUyhmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7UTEobixoUyhXLGIsRCksdik7cmV0dXJuITB9LENoKSxlQnQ9VFMoZnVuY3Rpb24obixXLEQsYix2KXtpZihuLkohPT0yKXJldHVybiExOwpRMShuLGhTKFcsYixEKSx2KTtyZXR1cm4hMH0sQ2gpLHZPPVN5bWJvbCgpLGN5PVN5bWJvbCgpLFdPPVN5bWJvbCgpLHhuPVN5bWJvbCgpLEQ4PVN5bWJvbCgpLEJ5LEZ0O3ZhciBTNixVNix5cCxZM0MsaVUsSGl3LGZxdyx1VSx6ZyxsVSxUZyxqbyxKWFMsSXFqO1M2PShuLFcpPT57dmFyIEQ9bmV3IFgkMjtMOChuLmw5LEQsd0codk8sYjYsa24sVykpO0EzKEQsRC5OLmVuZCgpKTtuPW5ldyBVaW50OEFycmF5KEQuSik7Vz1ELlc7dmFyIGI9Vy5sZW5ndGgsdj0wO2ZvcihsZXQgaz0wO2s8YjtrKyspe2xldCBoPVdba107bi5zZXQoaCx2KTt2Kz1oLmxlbmd0aH1ELlc9W25dO3JldHVybiBufTsKVTY9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxnLmRlKG4uTikpO3JldHVybiEwfSxnLnQ5LGcuWkYpOwp5cD1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO3ZhciBiPXVhKG4uTik7bj0oYj4+MzEpKjIrMTt2YXIgdj1iPj4+MjMmMjU1O2ImPTgzODg2MDc7Zy5xWShXLEQsdj09MjU1P2I/TmFOOm4qSW5maW5pdHk6dj09MD9uKjEuNDAxMjk4NDY0MzI0ODE3RS00NSpiOm4qTWF0aC5wb3coMix2LTE1MCkqKGIrODM4ODYwOCkpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1tMChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixEPUd2fHwoR3Y9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLEQuc2V0RmxvYXQzMigwLCtXLCEwKSxzXz0wLHJaPUQuZ2V0VWludDMyKDAsITApLEozKG4sclopKX0sc2YyKTsKZy5FNj1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtuLkohPT0wP249ITE6KGcucVkoVyxELGcuVVYobi5OLGcuSl8pKSxuPSEwKTtyZXR1cm4gbn0sZy4kbixnLk82KTsKWTNDPWcuZ1EoZnVuY3Rpb24obixXLEQpe24uSiE9PTA/bj0hMTooZy5xWShXLEQsZy5VVihuLk4sZjUpKSxuPSEwKTtyZXR1cm4gbn0sZnVuY3Rpb24obixXLEQpe1c9YTAoVyk7CmlmKFchPW51bGwmJihQeShXKSxXIT1udWxsKSlzd2l0Y2gobTQobixELDApLHR5cGVvZiBXKXtjYXNlICJudW1iZXIiOm49bi5OO3A1KFcpO0h5KG4sclosc18pO2JyZWFrO2Nhc2UgImJpZ2ludCI6RD1ZbShXLHZ5LGttKTtIeShuLk4sRC5KLEQuTik7YnJlYWs7ZGVmYXVsdDpEPXhtKFcpLEh5KG4uTixELkosRC5OKX19LHJYQyk7CmlVPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pKTtyZXR1cm4hMH0sZy5yUSxnLkt4KTsKSGl3PWcuZ1EoZnVuY3Rpb24obixXLEQpe3JldHVybiBKOShuLFcsRCl9LGZ1bmN0aW9uKG4sVyxEKXtXPWEwKFcpOwppZihXIT1udWxsKXN3aXRjaCh1RyhXKSxtNChuLEQsMSksbj1uLk4sdUcoVyksdHlwZW9mIFcpe2Nhc2UgIm51bWJlciI6VzwwPyhXPUxoKGttKC1XKSksRD1XLk4sSjMobixXLkopLEozKG4sRCkpOihOMyhXKSxKMyhuLHJaKSxKMyhuLHNfKSk7YnJlYWs7Y2FzZSAiYmlnaW50IjpXPVc8QmlnSW50KDApP0xoKFltKC1XLHZ5LGttKSk6WW0oVyx2eSxrbSk7RD1XLk47SjMobixXLkopO0ozKG4sRCk7YnJlYWs7ZGVmYXVsdDpXPVcubGVuZ3RoJiZXWzBdPT09Ii0iP0xoKHhtKFcuc3Vic3RyaW5nKDEpKSk6eG0oVyksRD1XLk4sSjMobixXLkopLEozKG4sRCl9fSxQcSk7CmZxdz1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO2cucVkoVyxELHVhKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz11NChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxKMyhuLk4sVykpfSx0MmgpOwp1VT1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wKXJldHVybiExO2cucVkoVyxELHkxKG4uTikpO3JldHVybiEwfSxzZixxM1opOwpnLm9tPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7Zy5xWShXLEQsYVkobikpO3JldHVybiEwfSxOWSxtNyk7CmcuZHE9ZnVuY3Rpb24obixXLEQ9bEcpe3JldHVybiBuZXcgelMobixXLEQpfShmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7CmI9U1codm9pZCAwLGIpO2NIKFcsV1tiNF18MCxEKS5wdXNoKGIpO1ExKG4sYix2KTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylwOChuLFdba10sRCxiLHYpOwpuPVdbYjRdfDA7biYxfHwoV1tiNF09bnwxKX19KTsKemc9VFMoZnVuY3Rpb24obixXLEQsYix2LGspe2lmKG4uSiE9PTIpcmV0dXJuITE7dmFyIGg9V1tiNF18MDtXVyhXLGgsayxELEw1KGgpKTtXPWhTKFcsYixEKTtRMShuLFcsdik7cmV0dXJuITB9LHA4KTsKbFU9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MilyZXR1cm4hMTtnLnFZKFcsRCxEOShuKSk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPW5HKFcpOwpXIT1udWxsJiZpRyhuLEQsUFcoVywhMCkuYnVmZmVyKX0sTk1VKTsKVGc9WGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1EOShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYobkcsVywhMSk7CmlmKFchPW51bGwpZm9yKGxldCBoPTA7aDxXLmxlbmd0aDtoKyspe3ZhciBiPW4sdj1ELGs9V1toXTtrIT1udWxsJiZpRyhiLHYsUFcoaywhMCkuYnVmZmVyKX19LE5NVSk7CmpvPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pPj4+MCk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPXU0KFcpOwpXIT1udWxsJiZXIT1udWxsJiYobTQobixELDApLEl4KG4uTixXKSl9LEdDMik7CmcuQ3g9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MClyZXR1cm4hMTtnLnFZKFcsRCxnLkVWKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7RXMobixELEVfKFcpKX0scCRVKTsKSlhTPVhmKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wJiZuLkohPT0yKXJldHVybiExO1c9Y0goVyxXW2I0XXwwLEQpO24uSj09Mj9iRyhuLGs0MixXKTpXLnB1c2goZy5FVihuLk4pKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoRV8sVywhMCk7CmlmKFchPW51bGwpZm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspRXMobixELFdbYl0pfSxwJFUpOwpJcWo9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09NSlyZXR1cm4hMTtuPW4uTjt2YXIgYj1uLkosdj1uLk4saz1iW3YrMF0saD1iW3YrMV0seD1iW3YrMl07Yj1iW3YrM107aWEobiw0KTtnLnFZKFcsRCxrPDwwfGg8PDh8eDw8MTZ8Yjw8MjQpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1FXyhXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixuLk4ucHVzaChXPj4+MCYyNTUpLG4uTi5wdXNoKFc+Pj44JjI1NSksbi5OLnB1c2goVz4+PjE2JjI1NSksbi5OLnB1c2goVz4+PjI0JjI1NSkpfSwkNGkpO3ZhciBTMzE9bmV3IE1hcCxBWHg9Y2xhc3MgZXh0ZW5kcyBlM3J7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudHlwZU5hbWU9bjt0aGlzLk49VztpZihTbyE9PVNvKXRocm93IEVycm9yKCk7UzMxLnNldChuLHRoaXMpfX07dmFyIG00Wj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5OPW47dGhpcy5KPUQ7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5YPWdlO3RoaXMuZGVmYXVsdFZhbHVlPXZvaWQgMDt0aGlzLlc9Vy5tZXNzYWdlSWQhPW51bGw/eFU6dm9pZCAwfXJlZ2lzdGVyKCl7Zy5PQSh0aGlzKX19O3ZhciBjRlo9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVmPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGk2PVsxLDIsM107dmFyIFo4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LFVmPVsxLDIsM107dmFyIHllPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBLVUM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIE9peD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxQWmg9WzEsMiwzXTtnLk9mPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O2cuT2YucHJvdG90eXBlLkpoPVdaKDApO2cuT2YucHJvdG90eXBlLko9Zy5tRChbMCxnLm9tLFswLFBaaCx6ZyxbMCxnLm9tLC0xLHVVXSx6ZyxbMCxnLm9tLC0xLGlVLHVVXSx6ZyxbMCxnLm9tXV0sWGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1hWShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoZy5EUixXLCEwKTsKaWYoVyE9bnVsbClmb3IobGV0IGg9MDtoPFcubGVuZ3RoO2grKyl7dmFyIGI9bix2PUQsaz1XW2hdO2shPW51bGwmJmlHKGIsdixrSyhrKSl9fSxtNyksCmcuZHEsWzAsZy5kcSxbMCxpNixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTIpcmV0dXJuITE7YmEoVyxELGIsYVkobikpO3JldHVybiEwfSxOWSxtNyksCmcuZ1EoZnVuY3Rpb24obixXLEQsYil7aWYobi5KIT09MClyZXR1cm4hMTtiYShXLEQsYixnLkVWKG4uTikpO3JldHVybiEwfSxnLnJRLGcuS3gpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTApcmV0dXJuITE7YmEoVyxELGIseTEobi5OKSk7cmV0dXJuITB9LHNmLHEzWildLApbMCxVZixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe24uSiE9PTA/bj0hMTooYmEoVyxELGIsZy5VVihuLk4sZy5KXykpLG49ITApO3JldHVybiBufSxnLiRuLGcuTzYpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTEpcmV0dXJuITE7YmEoVyxELGIsZy5kZShuLk4pKTtyZXR1cm4hMH0sZy50OSxnLlpGKSwKemcsWzAsZy5kcSxbMCxVNixnLkU2XV1dXSxnLmdRKGZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gSjkobixXLEQpfSxmdW5jdGlvbihuLFcsRCl7eW0obixELGEwKFcpKX0sUHEpLApYZihmdW5jdGlvbihuLFcsRCl7bi5KIT09MSYmbi5KIT09Mj9uPSExOihXPWNIKFcsV1tiNF18MCxEKSxuLko9PTI/YkcobixvWSxXKTpXLnB1c2gob1kobi5OKSksbj0hMCk7cmV0dXJuIG59LGZ1bmN0aW9uKG4sVyxEKXtXPWU2KGEwLFcsITEpOwppZihXIT1udWxsKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXltKG4sRCxXW2JdKX0sUHEpXSk7dmFyIFppeD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTtnLkU9bDYucHJvdG90eXBlO2cuRS5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtpZighZy5xaS5uYXZpZ2F0b3IuY29va2llRW5hYmxlZClyZXR1cm4hMTtpZighdGhpcy5pc0VtcHR5KCkpcmV0dXJuITA7dGhpcy5zZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIsIjEiLHtuejo2MH0pO2lmKHRoaXMuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTt0aGlzLnJlbW92ZSgiVEVTVENPT0tJRVNFTkFCTEVEIik7cmV0dXJuITB9OwpnLkUuc2V0PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0hMTtpZih0eXBlb2YgRD09PSJvYmplY3QiKXt2YXIgdj1ELnNhbWVTaXRlO2I9RC5zZWN1cmV8fCExO3ZhciBrPUQuZG9tYWlufHx2b2lkIDA7dmFyIGg9RC5wYXRofHx2b2lkIDA7dmFyIHg9RC5uen1pZigvWzs9XHNdLy50ZXN0KG4pKXRocm93IEVycm9yKCdJbnZhbGlkIGNvb2tpZSBuYW1lICInK24rJyInKTtpZigvWztcclxuXS8udGVzdChXKSl0aHJvdyBFcnJvcignSW52YWxpZCBjb29raWUgdmFsdWUgIicrVysnIicpO3g9PT12b2lkIDAmJih4PS0xKTtEPWs/Ijtkb21haW49IitrOiIiO2g9aD8iO3BhdGg9IitoOiIiO2I9Yj8iO3NlY3VyZSI6IiI7eD14PDA/IiI6eD09MD8iO2V4cGlyZXM9IisobmV3IERhdGUoMTk3MCwxLDEpKS50b1VUQ1N0cmluZygpOiI7ZXhwaXJlcz0iKyhuZXcgRGF0ZShEYXRlLm5vdygpK3gqMUUzKSkudG9VVENTdHJpbmcoKTt0aGlzLk4uY29va2llPW4rIj0iK1crRCtoK3grYisodiE9bnVsbD8KIjtzYW1lc2l0ZT0iK3Y6IiIpfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe3ZhciBEPW4rIj0iLGI9KHRoaXMuTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO2ZvcihsZXQgdj0wLGs7djxiLmxlbmd0aDt2Kyspe2s9Ylt2XS50cmltKCk7aWYoay5sYXN0SW5kZXhPZihELDApPT0wKXJldHVybiBrLnNsaWNlKEQubGVuZ3RoKTtpZihrPT1uKXJldHVybiIifXJldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9dGhpcy5nZXQobikhPT12b2lkIDA7dGhpcy5zZXQobiwiIix7bno6MCxwYXRoOlcsZG9tYWluOkR9KTtyZXR1cm4gYn07CmcuRS51Qj1mdW5jdGlvbigpe3JldHVybiBUdih0aGlzKS5rZXlzfTsKZy5FLno3PWZ1bmN0aW9uKCl7cmV0dXJuIFR2KHRoaXMpLnZhbHVlc307CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuTi5jb29raWV9OwpnLkUuY2xlYXI9ZnVuY3Rpb24oKXt2YXIgbj1Udih0aGlzKS5rZXlzO2ZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKXRoaXMucmVtb3ZlKG5bV10pfTsKdmFyIEp5PW5ldyBsNih0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBVNHg9Y2xhc3N7YXN5bmMgY29tcHJlc3Mobil7dmFyIFc9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksRD0obmV3IFJlc3BvbnNlKFcucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO1c9Vy53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBXLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKSk7YXdhaXQgVy5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBEKX1pc1N1cHBvcnRlZChuKXtyZXR1cm4gbjwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIHlYTT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgRXppPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pbnRlcnZhbE1zPW47dGhpcy5jYWxsYmFjaz1XO3RoaXMuZW5hYmxlZD0hMTt0aGlzLk49KCk9PmcuVXcoKTsKdGhpcy5KPXRoaXMuTigpfXNldEludGVydmFsKG4pe3RoaXMuaW50ZXJ2YWxNcz1uO3RoaXMudGltZXImJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnRpbWVyJiZ0aGlzLnN0b3AoKX1zdGFydCgpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcyksdGhpcy5KPXRoaXMuTigpKX1zdG9wKCl7dGhpcy5lbmFibGVkPSExOwp0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKX10aWNrKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1NYXRoLm1heCh0aGlzLk4oKS10aGlzLkosMCk7bjx0aGlzLmludGVydmFsTXMqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcy1uKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5jYWxsYmFjaygpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfWVsc2UgdGhpcy50aW1lcj12b2lkIDB9fTt2YXIgaWl4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciB1R2I9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07Zy5FPWcuTVkucHJvdG90eXBlO2cuRS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5NWSh0aGlzLngsdGhpcy55KX07CmcuRS5lcXVhbHM9ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLk1ZJiZSXyh0aGlzLG4pfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGgucm91bmQodGhpcy54KTt0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy54Kj1uO3RoaXMueSo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O2cuRT1nLlFlLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuUWUodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9OwpnLkUuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIWNPKHRoaXMpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy53aWR0aCo9bjt0aGlzLmhlaWdodCo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O3ZhciBwVD0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpO3ZhciAkQj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uPT09cksmJld8fCIifXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19LHJLPXt9O25ldyAkQihySywiIik7dmFyIE8wPXtjZWxscGFkZGluZzoiY2VsbFBhZGRpbmciLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY29sc3BhbjoiY29sU3BhbiIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixoZWlnaHQ6ImhlaWdodCIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLG5vbmNlOiJub25jZSIscm9sZToicm9sZSIscm93c3Bhbjoicm93U3BhbiIsdHlwZToidHlwZSIsdXNlbWFwOiJ1c2VNYXAiLHZhbGlnbjoidkFsaWduIix3aWR0aDoid2lkdGgifTtnLkU9ZlQucHJvdG90eXBlO2cuRS5lXz1mdW5jdGlvbigpe3JldHVybiBBSyh0aGlzLk4pfTsKZy5FLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFd8fHRoaXMuTikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKG4pKX07CmcuRS5CSj1mdW5jdGlvbihuKXtyZXR1cm4gZy5LVChuLHRoaXMuTil9OwpnLkUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihuKXtyZXR1cm4gdWsodGhpcy5OLG4pfTsKZy5FLmFwcGVuZENoaWxkPWZ1bmN0aW9uKG4sVyl7bi5hcHBlbmRDaGlsZChXKX07CmcuRS5hcHBlbmQ9ZnVuY3Rpb24obixXKXtvaChnLkpLKG4pLG4sYXJndW1lbnRzLDEpfTsKZy5FLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihuKXtpZihuLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChuLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07CmcuRS5yZW1vdmVOb2RlPWcuQ1Q7Zy5FLmNvbnRhaW5zPWcuQng7Zy5FLmlzRm9jdXNhYmxlPU1jO3ZhciBvek09Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfUdZKCl7cmV0dXJuIEhXKHRoaXMsMSl9fTt2YXIgVlE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGJJPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGY0Mj1LOChiSSk7dmFyIGtFPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBjeD1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sUVE9bmV3IGJJLGFoPW51bGw7dmFyIFdMPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBkNGg9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHozdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw0KX19O3ZhciBCcT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiwzNyl9Uygpe3ZhciBuPXRoaXMubDk7cmV0dXJuIHg5KG4sbltiNF18MCxkNGgsNykhPT12b2lkIDB9fTt2YXIgbHF0PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDE5KX1hVihuKXtyZXR1cm4gS24odGhpcywyLG4pfX07dmFyIFRNQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuZ1I9Vzt0aGlzLnVhY2g9dGhpcy5sb2NhbGU9bnVsbDt0aGlzLko9MDt0aGlzLmlzRmluYWw9ITE7dGhpcy5OPW5ldyBscXQ7TnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5OLmFWKG4pO1d8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsYW5nIikpO3ZMKHRoaXMsbmV3IFdMKX1hVihuKXt0aGlzLk4uYVYobik7cmV0dXJuIHRoaXN9YnVpbGQobixXPTAsRD0wLGI9bnVsbCx2PTAsaz0wKXtpZighdGhpcy5nUil7dmFyIGg9REQodGhpcyk7dmFyIHg9bmV3IG96TTt4PUtuKHgsMSx0aGlzLkopO3g9b3ooeCwyLE9fKHRoaXMuaXNGaW5hbCkpO0Q9b3ooeCwzLGcueVAoRD4wP0Q6dm9pZCAwKSk7dj1veihELDQsZy55UCh2PjA/djp2b2lkIDApKTtrPW96KHYsNSxnLnlQKGs+MD9rOnZvaWQgMCkpO3Y9ay5sOTtEPXZbYjRdfDA7az12OShrLEQpP2s6S0coayx2LEQpP09LKGssCnYpOm5ldyBrLmNvbnN0cnVjdG9yKG1fKHYsRCwhMCkpOyQ5KGgsb3pNLDEwLGspfWg9dGhpcy5OLmNsb25lKCk7az1EYXRlLm5vdygpLnRvU3RyaW5nKCk7aD1veihoLDQsZy5sNChrKSk7bj1uLnNsaWNlKCk7bj1zVihoLEJxLDMsbik7YiYmKGg9bmV3IGlpeCxiPW96KGgsMTMsZy55UChiKSksaD1uZXcgdUdiLGI9JDkoaCxpaXgsMixiKSxoPW5ldyB6M3QsYj0kOShoLHVHYiwxLGIpLGI9S24oYiwyLDkpLCQ5KG4sejN0LDE4LGIpKTtXJiZJWShuLDE0LFcpO3JldHVybiBufX07dmFyIEdBO0dBPWcuWmw/IndlYmtpdFRyYW5zaXRpb25FbmQiOiJ0cmFuc2l0aW9uZW5kIjtnLmhILnByb3RvdHlwZS5KPTA7Zy5oSC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLk49dGhpcy5XPXRoaXMuWDt0aGlzLko9MH07CmcuaEgucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuV307dmFyIGpmdz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw4KX19LENaaD1LOChqZncpO3ZhciBGUDtGUD1uZXcgbTRaKDE3NTIzNzM3NSxqZncsY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX0pO3ZhciBCTVo9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5jb21wb25lbnRJZD0iIjt0aGlzLk49W107dGhpcy5WUT0iIjt0aGlzLnBhZ2VJZD1udWxsO3RoaXMuZSQ9dGhpcy50dz0tMTt0aGlzLks9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5PPXRoaXMuY0o9dGhpcy5WPXRoaXMuWD0wO3RoaXMuSEo9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLmJkPSExO3RoaXMubG9nU291cmNlPW4ubG9nU291cmNlO3RoaXMubjE9bi5uMXx8KCgpPT57fSk7CnRoaXMuVz1uZXcgVE1DKG4ubG9nU291cmNlLG4uZ1IpO3RoaXMubmV0d29yaz1uLm5ldHdvcmt8fG51bGw7dGhpcy5QZz1uLlBnfHxudWxsO3RoaXMuWT1uLmN1fHxudWxsO3RoaXMuc2Vzc2lvbkluZGV4PW4uc2Vzc2lvbkluZGV4fHxudWxsO3RoaXMub3g9bi5veHx8ITE7dGhpcy5sb2dnZXI9bnVsbDt0aGlzLndpdGhDcmVkZW50aWFscz0hbi5rQzt0aGlzLmdSPW4uZ1J8fCExO3RoaXMuRD0hdGhpcy5nUiYmISFnLmlrKCkmJiEhZy5paygpLm5hdmlnYXRvciYmZy5paygpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuUyQ9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKExLKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoTEsoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIFc9bksobmV3IFdMKTt2TCh0aGlzLlcsVyk7dGhpcy5qPW5ldyBnLmhIKDFFNCwzRTUsLjEpO249STRTKHRoaXMsbi5iMSk7dGhpcy5KPW5ldyBFemkodGhpcy5qLmdldFZhbHVlKCksCm4pO3RoaXMuVEM9bmV3IEV6aSg2RTUsbik7dGhpcy5veHx8dGhpcy5UQy5zdGFydCgpO3RoaXMuZ1J8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iJiZlZyh0aGlzKX0pLGcuaWsoKT8uYWRkRXZlbnRMaXN0ZW5lcj8uKCJwYWdlaGlkZSIsKCk9PntlZyh0aGlzKX0pKX1tQSgpe2VnKHRoaXMpOwp0aGlzLkouc3RvcCgpO3RoaXMuVEMuc3RvcCgpO3N1cGVyLm1BKCl9ZGlzcGF0Y2gobil7aWYobiBpbnN0YW5jZW9mIEJxKXRoaXMubG9nKG4pO2Vsc2UgdHJ5e3ZhciBXPW5ldyBCcSxEPW4uYlkoKTt2YXIgYj1nLlNFKFcsOCxEKTt0aGlzLmxvZyhiKX1jYXRjaHt9fWxvZyhuKXtpZih0aGlzLlMkKXtuPW4uY2xvbmUoKTt2YXIgVz10aGlzLkhKKys7bj1JWShuLDIxLFcpO3RoaXMuY29tcG9uZW50SWQmJmcuU0UobiwyNix0aGlzLmNvbXBvbmVudElkKTtXPW47e3ZhciBEPWlXKFcsMSk7bGV0IGI9dHlwZW9mIEQ7RD1EPT1udWxsP0Q6Yj09PSJiaWdpbnQiP1N0cmluZyhkWig2NCxEKSk6WkIoRCk/Yj09PSJzdHJpbmciP0I5KEQpOkM1KEQpOnZvaWQgMH1EPT1udWxsJiYoRD1EYXRlLm5vdygpLEQ9TnVtYmVyLmlzRmluaXRlKEQpP0QudG9TdHJpbmcoKToiMCIsb3ooVywxLGcubDQoRCkpKTtEPWlXKFcsMTUsdm9pZCAwLHZvaWQgMCxGRCk7RCE9bnVsbCYmKHR5cGVvZiBEPT09ImJpZ2ludCI/CnNLKEQpP0Q9TnVtYmVyKEQpOihEPWRaKDY0LEQpLEQ9c0soRCk/TnVtYmVyKEQpOlN0cmluZyhEKSk6RD1aQihEKT90eXBlb2YgRD09PSJudW1iZXIiP0M1KEQpOkI5KEQpOnZvaWQgMCk7RCE9bnVsbHx8SVkoVywxNSwobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkqNjApO3RoaXMuZXhwZXJpbWVudElkcyYmKEQ9dGhpcy5leHBlcmltZW50SWRzLmNsb25lKCksJDkoVyx5WE0sMTYsRCkpO1c9dGhpcy5OLmxlbmd0aC0xRTMrMTtXPjAmJih0aGlzLk4uc3BsaWNlKDAsVyksdGhpcy5YKz1XKTt0aGlzLk4ucHVzaChuKTt0aGlzLm94fHx0aGlzLkouZW5hYmxlZHx8dGhpcy5KLnN0YXJ0KCl9fWZsdXNoKG4sVyl7aWYodGhpcy5OLmxlbmd0aD09PTApbiYmbigpO2Vsc2UgaWYodGhpcy5iZCYmdGhpcy5EKXRoaXMuVy5KPTMsQUZaKHRoaXMpO2Vsc2V7dmFyIEQ9RGF0ZS5ub3coKTtpZih0aGlzLmUkPkQmJnRoaXMudHc8RClXJiZXKCJ0aHJvdHRsZWQiKTtlbHNle3RoaXMubmV0d29yayYmCih0eXBlb2YgdGhpcy5uZXR3b3JrLkdZPT09ImZ1bmN0aW9uIj9IYlModGhpcy5XLHRoaXMubmV0d29yay5HWSgpKTp0aGlzLlcuSj0wKTt2YXIgYj10aGlzLlcuYnVpbGQodGhpcy5OLHRoaXMuWCx0aGlzLlYsdGhpcy5QZyx0aGlzLmNKLHRoaXMuTyksdj10aGlzLm4xKCk7aWYodiYmdGhpcy5WUT09PXYpVyYmVygic3RhbGUtYXV0aC10b2tlbiIpO2Vsc2V7dGhpcy5OPVtdO3RoaXMuSi5lbmFibGVkJiZ0aGlzLkouc3RvcCgpO3RoaXMuWD0wO0Q9Yi5iWSgpO2xldCBrO3RoaXMuSyYmdGhpcy5LLmlzU3VwcG9ydGVkKEQubGVuZ3RoKSYmKGs9dGhpcy5LLmNvbXByZXNzKEQpKTtsZXQgaD1tVXcodGhpcyxELHYpLHg9Rz0+e3RoaXMuai5yZXNldCgpO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7aWYoRyl7dmFyIHI9bnVsbDt0cnl7bGV0IE49SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShHLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cj1DWmgoTil9Y2F0Y2goTil7fXImJgooRz1OdW1iZXIocG4ociwxLGcuJFUoIi0xIikpKSxHPjAmJih0aGlzLnR3PURhdGUubm93KCksdGhpcy5lJD10aGlzLnR3K0cpLHR2KHIubDksRlAuTiksR3oocixGUC5OKSxyPUZQLko/RlAuWChyLEZQLkosRlAuTixGUC5XKTpGUC5YKHIsRlAuTixudWxsLEZQLlcpLHI9cj09PW51bGw/dm9pZCAwOnIpJiYocj1hUChyLDEsLTEpLHIhPT0tMSYmKHRoaXMuaj1uZXcgZy5oSChyPDE/MTpyLDNFNSwuMSksdGhpcy5KLnNldEludGVydmFsKHRoaXMuai5nZXRWYWx1ZSgpKSkpfW4mJm4oKTt0aGlzLlY9MH0sTD0oRyxyKT0+e3ZhciBOPVZHKGIsQnEsMyk7CnZhciBIPU51bWJlcihwbihiLDE0KSk7Zy54RSh0aGlzLmopO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7Rz09PTQwMSYmdiYmKHRoaXMuVlE9dik7SCYmKHRoaXMuWCs9SCk7cj09PXZvaWQgMCYmKHI9dGhpcy5pc1JldHJ5YWJsZShHKSk7ciYmKHRoaXMuTj1OLmNvbmNhdCh0aGlzLk4pLHRoaXMub3h8fHRoaXMuSi5lbmFibGVkfHx0aGlzLkouc3RhcnQoKSk7VyYmVygibmV0LXNlbmQtZmFpbGVkIixHKTsrK3RoaXMuVn0sZT0oKT0+e3RoaXMubmV0d29yayYmdGhpcy5uZXR3b3JrLnNlbmQoaCx4LEwpfTsKaz9rLnRoZW4oRz0+e2guWkpbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5aSlsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PUc7aC5vJD0yO2UoKX0sKCk9PntlKCl9KTplKCl9fX19aXNSZXRyeWFibGUobil7cmV0dXJuIDUwMDw9biYmbjw2MDB8fG49PT00MDF8fG49PT0wfX07dmFyIEZVaj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuUiQ9dHlwZW9mIEFib3J0Q29udHJvbGxlciE9PSJ1bmRlZmluZWQifWFzeW5jIHNlbmQobixXLEQpe3ZhciBiPXRoaXMuUiQ/bmV3IEFib3J0Q29udHJvbGxlcjp2b2lkIDAsdj1iJiZuLnRpbWVvdXRNaWxsaXM+MD9zZXRUaW1lb3V0KCgpPT57Yi5hYm9ydCgpfSxuLnRpbWVvdXRNaWxsaXMpOnZvaWQgMDsKdHJ5e2xldCBrPWF3YWl0IGZldGNoKG4udXJsLHttZXRob2Q6bi5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5uLlpKfSwuLi4obi5ib2R5JiZ7Ym9keTpuLmJvZHl9KSwuLi4obi53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6bi50aW1lb3V0TWlsbGlzJiZiP2Iuc2lnbmFsOm51bGx9KTtrLnN0YXR1cz09PTIwMD9XPy4oYXdhaXQgay50ZXh0KCkpOkQ/LihrLnN0YXR1cyl9Y2F0Y2goayl7c3dpdGNoKGs/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOkQ/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6RD8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KHYpfX1HWSgpe3JldHVybiA0fX07dmFyIGtZPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5Saj0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5OPXRoaXMuUGc9bnVsbDt0aGlzLko9ITE7dGhpcy5sb2dnZXI9dGhpcy5wYWdlSWQ9bnVsbH1rQygpe3RoaXMuVz0hMDtyZXR1cm4gdGhpc31idWlsZCgpe3RoaXMubmV0d29ya3x8KHRoaXMubmV0d29yaz1uZXcgRlVqKTt2YXIgbj1uZXcgQk1aKHtsb2dTb3VyY2U6dGhpcy5sb2dTb3VyY2UsbjE6dGhpcy5uMT90aGlzLm4xOkJPLHNlc3Npb25JbmRleDp0aGlzLnNlc3Npb25JbmRleCxjdTp0aGlzLlJqLGdSOiExLG94OiExLGtDOnRoaXMuVyxiMTp0aGlzLmIxLG5ldHdvcms6dGhpcy5uZXR3b3JrfSk7Zy51KHRoaXMsCm4pO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIFc9dGhpcy5idWlsZExhYmVsLEQ9REQobi5XKTtnLlNFKEQsNyxXKX1uLks9bmV3IFU0eDt0aGlzLmNvbXBvbmVudElkJiYobi5jb21wb25lbnRJZD10aGlzLmNvbXBvbmVudElkKTt0aGlzLlBnJiYobi5QZz10aGlzLlBnKTt0aGlzLnBhZ2VJZCYmKG4ucGFnZUlkPXRoaXMucGFnZUlkKTt0aGlzLk4mJigoRD10aGlzLk4pPyhuLmV4cGVyaW1lbnRJZHN8fChuLmV4cGVyaW1lbnRJZHM9bmV3IHlYTSksVz1uLmV4cGVyaW1lbnRJZHMsRD1ELmJZKCksZy5TRShXLDQsRCkpOm4uZXhwZXJpbWVudElkcyYmb3oobi5leHBlcmltZW50SWRzLDQpKTt0aGlzLkomJihuLmJkPW4uRCk7SkZaKG4uVyk7dGhpcy5uZXR3b3JrLmFWJiZ0aGlzLm5ldHdvcmsuYVYodGhpcy5sb2dTb3VyY2UpO3RoaXMubmV0d29yay5oUyYmdGhpcy5uZXR3b3JrLmhTKG4pO3JldHVybiBufX07dmFyIGE0aj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7bnx8KG49bmV3IGtZLG4uY29tcG9uZW50SWQ9IiIsZy51KHRoaXMsbiksbj1uLmJ1aWxkKCkpO3RoaXMuTj1ufWZsdXNoKG4pe249bnx8W107aWYobi5sZW5ndGgpe2xldCBXPW5ldyBaaXgsRD1bXTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHY9bltiXSxrPXU2KHYpO0QucHVzaChrKTt2LmNsZWFyKCl9c1YoVyxnLk9mLDEsRCk7dGhpcy5OLmRpc3BhdGNoKFcpO3RoaXMuTi5mbHVzaCgpfX19O3ZhciBxNT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19O3ZhciB3JGI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuSj1uO3RoaXMuVz1XO3RoaXMuZmllbGRzPUR8fFtdO3RoaXMuTj1uZXcgTWFwfWNsZWFyKCl7dGhpcy5OLmNsZWFyKCl9fTt2YXIgaWU9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDMsVyl9fTt2YXIgeTg9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDIsVyl9ZEUobiwuLi5XKXt5RloodGhpcyxuLC4uLlcpfX07JEUucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuSj0hMH07CiRFLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Zy5peChyRCwkRSk7CnJELnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9dGhpcy50eXBlPW4udHlwZSxiPW4uY2hhbmdlZFRvdWNoZXMmJm4uY2hhbmdlZFRvdWNoZXMubGVuZ3RoP24uY2hhbmdlZFRvdWNoZXNbMF06bnVsbDt0aGlzLnRhcmdldD1uLnRhcmdldHx8bi5zcmNFbGVtZW50O3RoaXMuY3VycmVudFRhcmdldD1XO1c9bi5yZWxhdGVkVGFyZ2V0O1d8fChEPT0ibW91c2VvdmVyIj9XPW4uZnJvbUVsZW1lbnQ6RD09Im1vdXNlb3V0IiYmKFc9bi50b0VsZW1lbnQpKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9VztiPyh0aGlzLmNsaWVudFg9Yi5jbGllbnRYIT09dm9pZCAwP2IuY2xpZW50WDpiLnBhZ2VYLHRoaXMuY2xpZW50WT1iLmNsaWVudFkhPT12b2lkIDA/Yi5jbGllbnRZOmIucGFnZVksdGhpcy5zY3JlZW5YPWIuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9Yi5zY3JlZW5ZfHwwKToodGhpcy5jbGllbnRYPW4uY2xpZW50WCE9PXZvaWQgMD9uLmNsaWVudFg6bi5wYWdlWCx0aGlzLmNsaWVudFk9Cm4uY2xpZW50WSE9PXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWSx0aGlzLnNjcmVlblg9bi5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1uLnNjcmVlbll8fDApO3RoaXMuYnV0dG9uPW4uYnV0dG9uO3RoaXMua2V5Q29kZT1uLmtleUNvZGV8fDA7dGhpcy5rZXk9bi5rZXl8fCIiO3RoaXMuY2hhckNvZGU9bi5jaGFyQ29kZXx8KEQ9PSJrZXlwcmVzcyI/bi5rZXlDb2RlOjApO3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5hbHRLZXk9bi5hbHRLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5wb2ludGVySWQ9bi5wb2ludGVySWR8fDA7dGhpcy5wb2ludGVyVHlwZT1uLnBvaW50ZXJUeXBlO3RoaXMuc3RhdGU9bi5zdGF0ZTt0aGlzLk49bjtuLmRlZmF1bHRQcmV2ZW50ZWQmJnJELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9OwpyRC5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7ckQuVEIuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5OLnN0b3BQcm9wYWdhdGlvbj90aGlzLk4uc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5OLmNhbmNlbEJ1YmJsZT0hMH07CnJELnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3JELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyk7dmFyIG49dGhpcy5OO24ucHJldmVudERlZmF1bHQ/bi5wcmV2ZW50RGVmYXVsdCgpOm4ucmV0dXJuVmFsdWU9ITF9O3ZhciBzMj0iY2xvc3VyZV9saXN0ZW5hYmxlXyIrKE1hdGgucmFuZG9tKCkqMUU2fDApO3ZhciB1SWg9MDtnLkU9ZksucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLnRvU3RyaW5nKCk7bj10aGlzLmxpc3RlbmVyc1trXTtufHwobj10aGlzLmxpc3RlbmVyc1trXT1bXSx0aGlzLk4rKyk7dmFyIGg9SVcobixXLGIsdik7aD4tMT8oVz1uW2hdLER8fChXLnFfPSExKSk6KFc9bmV3IG8zYihXLHRoaXMuc3JjLGssISFiLHYpLFcucV89RCxuLnB1c2goVykpO3JldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCxiKXtuPW4udG9TdHJpbmcoKTtpZighKG4gaW4gdGhpcy5saXN0ZW5lcnMpKXJldHVybiExO3ZhciB2PXRoaXMubGlzdGVuZXJzW25dO1c9SVcodixXLEQsYik7cmV0dXJuIFc+LTE/KEhMKHZbV10pLGcuQk0odixXKSx2Lmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1tuXSx0aGlzLk4tLSksITApOiExfTsKZy5FLlRpPWZ1bmN0aW9uKCl7dmFyIG49MDtmb3IobGV0IFcgaW4gdGhpcy5saXN0ZW5lcnMpe2xldCBEPXRoaXMubGlzdGVuZXJzW1ddO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKSsrbixITChEW2JdKTtkZWxldGUgdGhpcy5saXN0ZW5lcnNbV107dGhpcy5OLS19fTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe249dGhpcy5saXN0ZW5lcnNbbi50b1N0cmluZygpXTt2YXIgdj0tMTtuJiYodj1JVyhuLFcsRCxiKSk7cmV0dXJuIHY+LTE/blt2XTpudWxsfTsKZy5FLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9biE9PXZvaWQgMCxiPUQ/bi50b1N0cmluZygpOiIiLHY9VyE9PXZvaWQgMDtyZXR1cm4gZy5EbCh0aGlzLmxpc3RlbmVycyxmdW5jdGlvbihrKXtmb3IobGV0IGg9MDtoPGsubGVuZ3RoOysraClpZighKEQmJmtbaF0udHlwZSE9Ynx8diYma1toXS5jYXB0dXJlIT1XKSlyZXR1cm4hMDtyZXR1cm4hMX0pfTt2YXIgUEw9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksaUk9e30sVTI9MCx1ST0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO2cuaXgoZy5vVyxnLkZNKTtnLm9XLnByb3RvdHlwZVtzMl09ITA7Zy5FPWcub1cucHJvdG90eXBlO2cuRS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKG4sVyxELGIpe0FIKHRoaXMsbixXLEQsYil9OwpnLkUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihuLFcsRCxiKXt5Nyh0aGlzLG4sVyxELGIpfTsKZy5FLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5sWjtpZihXKXt2YXIgRD1bXTtmb3IodmFyIGI9MTtXO1c9Vy5sWilELnB1c2goVyksKytifVc9dGhpcy5IZDtiPW4udHlwZXx8bjtpZih0eXBlb2Ygbj09PSJzdHJpbmciKW49bmV3ICRFKG4sVyk7ZWxzZSBpZihuIGluc3RhbmNlb2YgJEUpbi50YXJnZXQ9bi50YXJnZXR8fFc7ZWxzZXt2YXIgdj1uO249bmV3ICRFKGIsVyk7Zy5ZeShuLHYpfXY9ITA7dmFyIGs7aWYoRClmb3Ioaz1ELmxlbmd0aC0xOyFuLkomJms+PTA7ay0tKXt2YXIgaD1uLmN1cnJlbnRUYXJnZXQ9RFtrXTt2PWREKGgsYiwhMCxuKSYmdn1uLkp8fChoPW4uY3VycmVudFRhcmdldD1XLHY9ZEQoaCxiLCEwLG4pJiZ2LG4uSnx8KHY9ZEQoaCxiLCExLG4pJiZ2KSk7aWYoRClmb3Ioaz0wOyFuLkomJms8RC5sZW5ndGg7aysrKWg9bi5jdXJyZW50VGFyZ2V0PURba10sdj1kRChoLGIsITEsbikmJnY7cmV0dXJuIHZ9OwpnLkUubUE9ZnVuY3Rpb24oKXtnLm9XLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5kXyYmdGhpcy5kXy5UaSgpO3RoaXMubFo9bnVsbH07CmcuRS5TXz1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITEsRCxiKX07CmcuRS5lRj1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITAsRCxiKX07CmcuRS53SD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLmRfLnJlbW92ZShTdHJpbmcobiksVyxELGIpfTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiB0aGlzLmRfLnNjKFN0cmluZyhuKSxXLEQsYil9OwpnLkUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24obixXKXtyZXR1cm4gdGhpcy5kXy5oYXNMaXN0ZW5lcihuIT09dm9pZCAwP1N0cmluZyhuKTp2b2lkIDAsVyl9O2cuejc9dHlwZW9mIEFzeW5jQ29udGV4dCE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgQXN5bmNDb250ZXh0LlNuYXBzaG90PT09ImZ1bmN0aW9uIj9uPT5uJiZBc3luY0NvbnRleHQuU25hcHNob3Qud3JhcChuKTpuPT5uO3ZhciBNMlM9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLlg9Vzt0aGlzLko9MDt0aGlzLk49bnVsbH1nZXQoKXtpZih0aGlzLko+MCl7dGhpcy5KLS07dmFyIG49dGhpcy5OO3RoaXMuTj1uLm5leHQ7bi5uZXh0PW51bGx9ZWxzZSBuPXRoaXMuVygpO3JldHVybiBufXB1dChuKXt0aGlzLlgobik7dGhpcy5KPDEwMCYmKHRoaXMuSisrLG4ubmV4dD10aGlzLk4sdGhpcy5OPW4pfX07dmFyIGxJO3ZhciBSM2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5OPW51bGx9YWRkKG4sVyl7dmFyIEQ9Q0suZ2V0KCk7RC5zZXQobixXKTt0aGlzLko/dGhpcy5KLm5leHQ9RDp0aGlzLk49RDt0aGlzLko9RH1yZW1vdmUoKXt2YXIgbj1udWxsO3RoaXMuTiYmKG49dGhpcy5OLHRoaXMuTj10aGlzLk4ubmV4dCx0aGlzLk58fCh0aGlzLko9bnVsbCksbi5uZXh0PW51bGwpO3JldHVybiBufX0sQ0s9bmV3IE0yUygoKT0+bmV3IFFmMSxuPT5uLnJlc2V0KCkpLFFmMT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuTj1udWxsfXNldChuLFcpe3RoaXMuTj1uOwp0aGlzLnNjb3BlPVc7dGhpcy5uZXh0PW51bGx9cmVzZXQoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLk49bnVsbH19O3ZhciB3cSxCTCxqZyxWMng7Qkw9ITE7amc9bmV3IFIzYjtnLm1LPShuLFcpPT57d3F8fFYyeCgpO0JMfHwod3EoKSxCTD0hMCk7amcuYWRkKG4sVyl9OwpWMng9KCk9Pnt2YXIgbj1Qcm9taXNlLnJlc29sdmUodm9pZCAwKTt3cT0oKT0+e24udGhlbihUenIpfX07cTgucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5jb250ZXh0PXRoaXMuSj10aGlzLlc9dGhpcy5OPW51bGw7dGhpcy5YPSExfTsKdmFyIEczPW5ldyBNMlMoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHE4fSxmdW5jdGlvbihuKXtuLnJlc2V0KCl9KTsKZy5YMS5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFNPKHRoaXMsKDAsZy56NykodHlwZW9mIG49PT0iZnVuY3Rpb24iP246bnVsbCksKDAsZy56NykodHlwZW9mIFc9PT0iZnVuY3Rpb24iP1c6bnVsbCksRCl9OwpnLlgxLnByb3RvdHlwZS4kZ29vZ19UaGVuYWJsZT0hMDtnLkU9Zy5YMS5wcm90b3R5cGU7Zy5FLmZpbmFsbHk9ZnVuY3Rpb24obil7bj0oMCxnLno3KShuKTtyZXR1cm4gbmV3IGcuWDEoKFcsRCk9PntwcSh0aGlzLGI9PntuKCk7VyhiKX0sYj0+e24oKTsKRChiKX0pfSl9OwpnLkUuc1A9ZnVuY3Rpb24obixXKXtyZXR1cm4gU08odGhpcyxudWxsLCgwLGcuejcpKG4pLFcpfTsKZy5FLmNhdGNoPWcuWDEucHJvdG90eXBlLnNQO2cuRS5jYW5jZWw9ZnVuY3Rpb24obil7aWYodGhpcy5OPT0wKXtsZXQgVz1uZXcgZy5JNShuKTtnLm1LKGZ1bmN0aW9uKCl7WUcodGhpcyxXKX0sdGhpcyl9fTsKZy5FLklRPWZ1bmN0aW9uKG4pe3RoaXMuTj0wO2dwKHRoaXMsMixuKX07CmcuRS5BUz1mdW5jdGlvbihuKXt0aGlzLk49MDtncCh0aGlzLDMsbil9OwpnLkUueXM9ZnVuY3Rpb24oKXtmb3IodmFyIG47bj1ISih0aGlzKTspZnEodGhpcyxuLHRoaXMuTix0aGlzLkspO3RoaXMuVj0hMX07CnZhciBPdT1oNDtnLml4KGcuSTUsZy5UYik7Zy5JNS5wcm90b3R5cGUubmFtZT0iY2FuY2VsIjtnLml4KGcuUEosZy5vVyk7Zy5FPWcuUEoucHJvdG90eXBlO2cuRS5lbmFibGVkPSExO2cuRS5aNj1udWxsO2cuRS5zZXRJbnRlcnZhbD1mdW5jdGlvbihuKXt0aGlzLmd0PW47dGhpcy5aNiYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMuWjYmJnRoaXMuc3RvcCgpfTsKZy5FLlJRPWZ1bmN0aW9uKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1nLlV3KCktdGhpcy5qYjtuPjAmJm48dGhpcy5ndCouOD90aGlzLlo2PXRoaXMuVjcuc2V0VGltZW91dCh0aGlzLmhFLHRoaXMuZ3Qtbik6KHRoaXMuWjYmJih0aGlzLlY3LmNsZWFyVGltZW91dCh0aGlzLlo2KSx0aGlzLlo2PW51bGwpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGljayIpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfX07CmcuRS5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLlo2fHwodGhpcy5aNj10aGlzLlY3LnNldFRpbWVvdXQodGhpcy5oRSx0aGlzLmd0KSx0aGlzLmpiPWcuVXcoKSl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMTt0aGlzLlo2JiYodGhpcy5WNy5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsKX07CmcuRS5tQT1mdW5jdGlvbigpe2cuUEouVEIubUEuY2FsbCh0aGlzKTt0aGlzLnN0b3AoKTtkZWxldGUgdGhpcy5WN307dmFyIGhxPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuRD1uO3RoaXMuVj0wO3RoaXMuWD0xMDA7dGhpcy5LPSExO3RoaXMuVz1uZXcgTWFwO3RoaXMuWT1uZXcgU2V0O3RoaXMuZmx1c2hJbnRlcnZhbD0zRTQ7dGhpcy5KPW5ldyBnLlBKKHRoaXMuZmx1c2hJbnRlcnZhbCk7dGhpcy5KLlNfKCJ0aWNrIix0aGlzLmosITEsdGhpcyk7Zy51KHRoaXMsdGhpcy5KKX1zZW5kSXNvbGF0ZWRQYXlsb2FkKG4pe3RoaXMuSz1uO3RoaXMuWD0xfWooKXt2YXIgbj1bLi4udGhpcy5XLnZhbHVlcygpXS5maWx0ZXIoVz0+Vy5OLnNpemUpOwpuLmxlbmd0aCYmdGhpcy5ELmZsdXNoKG4sdGhpcy5LKTtGY2Iobik7dGhpcy5WPTA7dGhpcy5KLmVuYWJsZWQmJnRoaXMuSi5zdG9wKCl9TihuKXtyZXR1cm4gdGhpcy5ZLmhhcyhuKT92b2lkIDA6dGhpcy5XLmdldChuKX1kRShuLFcsLi4uRCl7KG49dGhpcy5OKG4pKSYmbiBpbnN0YW5jZW9mIHk4JiYobi5kRShXLC4uLkQpLG81KHRoaXMpKX19O3ZhciBDVj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyxEPXt9KXtzdXBlcihXKTt0aGlzLmNvZGU9bjt0aGlzLm1ldGFkYXRhPUQ7dGhpcy5uYW1lPSJScGNFcnJvciI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfXRvU3RyaW5nKCl7dmFyIG49YFJwY0Vycm9yKCR7d01TKHRoaXMuY29kZSl8fFN0cmluZyh0aGlzLmNvZGUpfSlgO3RoaXMubWVzc2FnZSYmKG4rPSI6ICIrdGhpcy5tZXNzYWdlKTtyZXR1cm4gbn19O2xlLnByb3RvdHlwZS5iWT1mdW5jdGlvbihuKXt2YXIgVz1bXTtUMyh0aGlzLG4sVyk7cmV0dXJuIFcuam9pbigiIil9Owp2YXIgQ3E9eyciJzonXFwiJywiXFwiOiJcXFxcIiwiLyI6IlxcLyIsIlxiIjoiXFxiIiwiXGYiOiJcXGYiLCJcbiI6IlxcbiIsIlxyIjoiXFxyIiwiXHQiOiJcXHQiLCJcdiI6IlxcdTAwMGIifSxNalo9L1x1ZmZmZi8udGVzdCgiXHVmZmZmIik/L1tcXCJceDAwLVx4MWZceDdmLVx1ZmZmZl0vZzovW1xcIlx4MDAtXHgxZlx4N2YtXHhmZl0vZzt2YXIgY1hDO2cuaXgoRjEsQkopO0YxLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH07CmNYQz1uZXcgRjE7Zy5peCh3cCxnLm9XKTt2YXIgYXEyPS9eaHR0cHM/JC9pLG5kTT1bIlBPU1QiLCJQVVQiXSxNOD1bXTtnLkU9d3AucHJvdG90eXBlO2cuRS5XVT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpO2cuRkkoTTgsdGhpcyl9OwpnLkUuc2VuZD1mdW5jdGlvbihuLFcsRCxiKXtpZih0aGlzLk4pdGhyb3cgRXJyb3IoIltnb29nLm5ldC5YaHJJb10gT2JqZWN0IGlzIGFjdGl2ZSB3aXRoIGFub3RoZXIgcmVxdWVzdD0iK3RoaXMuSysiOyBuZXdVcmk9IituKTtXPVc/Vy50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuSz1uO3RoaXMuaj0iIjt0aGlzLlc9MDt0aGlzLmNKPSExO3RoaXMuSj0hMDt0aGlzLk49dGhpcy5UQz90aGlzLlRDLk4oKTpjWEMuTigpO3RoaXMuTi5vbnJlYWR5c3RhdGVjaGFuZ2U9KDAsZy56NykoKDAsZy5LdCkodGhpcy5OOCx0aGlzKSk7dHJ5e3RoaXMuZ2V0U3RhdHVzKCksdGhpcy50dz0hMCx0aGlzLk4ub3BlbihXLFN0cmluZyhuKSwhMCksdGhpcy50dz0hMX1jYXRjaChrKXt0aGlzLmdldFN0YXR1cygpO1Y4KHRoaXMsayk7cmV0dXJufW49RHx8IiI7RD1uZXcgTWFwKHRoaXMuaGVhZGVycyk7aWYoYilpZihPYmplY3QuZ2V0UHJvdG90eXBlT2YoYik9PT1PYmplY3QucHJvdG90eXBlKWZvcih2YXIgdiBpbiBiKUQuc2V0KHYsCmJbdl0pO2Vsc2UgaWYodHlwZW9mIGIua2V5cz09PSJmdW5jdGlvbiImJnR5cGVvZiBiLmdldD09PSJmdW5jdGlvbiIpZm9yKGxldCBrIG9mIGIua2V5cygpKUQuc2V0KGssYi5nZXQoaykpO2Vsc2UgdGhyb3cgRXJyb3IoIlVua25vd24gaW5wdXQgdHlwZSBmb3Igb3B0X2hlYWRlcnM6ICIrU3RyaW5nKGIpKTtiPUFycmF5LmZyb20oRC5rZXlzKCkpLmZpbmQoaz0+ImNvbnRlbnQtdHlwZSI9PWsudG9Mb3dlckNhc2UoKSk7CnY9Zy5xaS5Gb3JtRGF0YSYmbiBpbnN0YW5jZW9mIGcucWkuRm9ybURhdGE7IWcuamoobmRNLFcpfHxifHx2fHxELnNldCgiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTgiKTtmb3IobGV0IFtrLGhdb2YgRCl0aGlzLk4uc2V0UmVxdWVzdEhlYWRlcihrLGgpO3RoaXMuYmQmJih0aGlzLk4ucmVzcG9uc2VUeXBlPXRoaXMuYmQpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5OJiZ0aGlzLk4ud2l0aENyZWRlbnRpYWxzIT09dGhpcy5PJiYodGhpcy5OLndpdGhDcmVkZW50aWFscz10aGlzLk8pO3RyeXt0aGlzLlYmJihjbGVhclRpbWVvdXQodGhpcy5WKSx0aGlzLlY9bnVsbCksdGhpcy5EPjAmJih0aGlzLmdldFN0YXR1cygpLHRoaXMuVj1zZXRUaW1lb3V0KHRoaXMuVTIuYmluZCh0aGlzKSx0aGlzLkQpKSx0aGlzLmdldFN0YXR1cygpLHRoaXMuWT0hMCx0aGlzLk4uc2VuZChuKSx0aGlzLlk9ITF9Y2F0Y2goayl7dGhpcy5nZXRTdGF0dXMoKSwKVjgodGhpcyxrKX19OwpnLkUuVTI9ZnVuY3Rpb24oKXt0eXBlb2YgY0ohPSJ1bmRlZmluZWQiJiZ0aGlzLk4mJih0aGlzLmo9IlRpbWVkIG91dCBhZnRlciAiK3RoaXMuRCsibXMsIGFib3J0aW5nIix0aGlzLlc9OCx0aGlzLmdldFN0YXR1cygpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTsKZy5FLmFib3J0PWZ1bmN0aW9uKG4pe3RoaXMuTiYmdGhpcy5KJiYodGhpcy5nZXRTdGF0dXMoKSx0aGlzLko9ITEsdGhpcy5YPSEwLHRoaXMuTi5hYm9ydCgpLHRoaXMuWD0hMSx0aGlzLlc9bnx8Nyx0aGlzLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksdGhpcy5kaXNwYXRjaEV2ZW50KCJhYm9ydCIpLFE4KHRoaXMpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuTiYmKHRoaXMuSiYmKHRoaXMuSj0hMSx0aGlzLlg9ITAsdGhpcy5OLmFib3J0KCksdGhpcy5YPSExKSxROCh0aGlzLCEwKSk7d3AuVEIubUEuY2FsbCh0aGlzKX07CmcuRS5OOD1mdW5jdGlvbigpe3RoaXMucU4oKXx8KHRoaXMudHd8fHRoaXMuWXx8dGhpcy5YP25WKHRoaXMpOnRoaXMuZ0soKSl9OwpnLkUuZ0s9ZnVuY3Rpb24oKXtuVih0aGlzKX07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5OfTsKZy5FLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4gYTUodGhpcyk9PTR9OwpnLkUuaXNTdWNjZXNzPWZ1bmN0aW9uKCl7dmFyIG49dGhpcy5nZXRTdGF0dXMoKTthOnN3aXRjaChuKXtjYXNlIDIwMDpjYXNlIDIwMTpjYXNlIDIwMjpjYXNlIDIwNDpjYXNlIDIwNjpjYXNlIDMwNDpjYXNlIDEyMjM6dmFyIFc9ITA7YnJlYWsgYTtkZWZhdWx0Olc9ITF9aWYoIVcpe2lmKG49bj09PTApbj1nLmZwKFN0cmluZyh0aGlzLkspKVsxXXx8bnVsbCwhbiYmZy5xaS5zZWxmJiZnLnFpLnNlbGYubG9jYXRpb24mJihuPWcucWkuc2VsZi5sb2NhdGlvbi5wcm90b2NvbC5zbGljZSgwLC0xKSksbj0hYXEyLnRlc3Qobj9uLnRvTG93ZXJDYXNlKCk6IiIpO1c9bn1yZXR1cm4gV307CmcuRS5nZXRTdGF0dXM9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGE1KHRoaXMpPjI/dGhpcy5OLnN0YXR1czotMX1jYXRjaChuKXtyZXR1cm4tMX19OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7aWYodGhpcy5OJiZ0aGlzLmlzQ29tcGxldGUoKSlyZXR1cm4gbj10aGlzLk4uZ2V0UmVzcG9uc2VIZWFkZXIobiksbj09PW51bGw/dm9pZCAwOm59OwpnLkUuZ2V0TGFzdEVycm9yPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiB0aGlzLmo9PT0ic3RyaW5nIj90aGlzLmo6U3RyaW5nKHRoaXMuail9O3ZhciBPYjE9Y2xhc3N7c2VuZChuLFc9KCk9Pnt9LEQ9KCk9Pnt9KXtRTVUobi51cmwsYj0+e2I9Yi50YXJnZXQ7CmIuaXNTdWNjZXNzKCk/VyhXMyhiKSk6RChiLmdldFN0YXR1cygpKX0sbi5yZXF1ZXN0VHlwZSxuLmJvZHksbi5aSixuLnRpbWVvdXRNaWxsaXMsbi53aXRoQ3JlZGVudGlhbHMpfUdZKCl7cmV0dXJuIDF9fTt2YXIgTWw9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmxvZ2dlcj1uO3RoaXMuZXZlbnQ9Vzt0aGlzLnN0YXJ0VGltZT1ibigpfWRvbmUoKXt0aGlzLmxvZ2dlci5YKHRoaXMuZXZlbnQsYm4oKS10aGlzLnN0YXJ0VGltZSl9fSxSbT1jbGFzcyBleHRlbmRzIGphMXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyl9fSx4WT1jbGFzcyBleHRlbmRzIFJte2ooKXt9Tigpe31YKCl7fUooKXt9RCgpe31ZKCl7fVcoKXt9VihuLFcsRCxiKXtyZXR1cm4gYn1jSigpe31LKCl7fU8oKXt9fSxXNTE9Y2xhc3MgZXh0ZW5kcyBSbXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCB0aGlzLmxvZ2dlci5kaXNwb3NlKCkpfXVwZGF0ZShuKXt0aGlzLmxvZ2dlci5kaXNwb3NlKCk7CnRoaXMubG9nZ2VyPW59TihuKXt0aGlzLmxvZ2dlci5OKG4pfVgobixXKXt0aGlzLmxvZ2dlci5YKG4sVyl9SihuKXt0aGlzLmxvZ2dlci5KKG4pfUQobil7dGhpcy5sb2dnZXIuRChuKX1ZKG4sVyl7dGhpcy5sb2dnZXIuWShuLFcpfVcoKXt0aGlzLmxvZ2dlci5XKCl9VihuLFcsRCxiKXtyZXR1cm4gdGhpcy5sb2dnZXIuVihuLFcsRCxiKX1jSihuKXt0aGlzLmxvZ2dlci5jSihuKX1LKG4pe3RoaXMubG9nZ2VyLksobil9TyhuKXt0aGlzLmxvZ2dlci5PKG4pfWoobil7dGhpcy5sb2dnZXIuaihuKX19LERHUz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuY2FsbGJhY2s9bjt0aGlzLko9Vzt0aGlzLk49LVc7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQodGhpcy50aW1lcikpfX0sYjdpPWNsYXNzIGV4dGVuZHMgUm17Y29uc3RydWN0b3IobixXKXtzdXBlcigpOwp0aGlzLm1ldHJpY3M9bjt0aGlzLlZqPVd9aihuKXt0aGlzLm1ldHJpY3MuVGsuZEUobix0aGlzLlZqKX1OKG4pe3RoaXMubWV0cmljcy5ldmVudENvdW50Lkoobix0aGlzLlZqKX1YKG4sVyl7dGhpcy5tZXRyaWNzLlBULmRFKFcsbix0aGlzLlZqKX1KKG4pe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lkoobix0aGlzLlZqKX1WKG4sVyxELGIpe3ZhciB2PWJuKCksaz1oPT57aWYoIXRoaXMucU4oKSl7dmFyIHg9Ym4oKS12O3RoaXMubWV0cmljcy5pTC5kRSh4LG4sRCxoLFcsdGhpcy5Wail9fTsKYi50aGVuKCgpPT52b2lkIGsoMCksaD0+dm9pZCBrKGggaW5zdGFuY2VvZiBDVj9oLmNvZGU6LTEpKTsKcmV0dXJuIGJ9Y0oobil7dGhpcy5tZXRyaWNzLlZKLkoobix0aGlzLlZqKX1LKG4pe3RoaXMubWV0cmljcy5jVS5KKG4sdGhpcy5Wail9TyhuKXt0aGlzLm1ldHJpY3MuakMuSihuLHRoaXMuVmopfUQobil7dGhpcy5tZXRyaWNzLnBheWxvYWRTaXplLmRFKG4sdGhpcy5Wail9WShuLFcpe3RoaXMubWV0cmljcy5mNi5kRShXLG4sdGhpcy5Wail9fSxEaHg9Y2xhc3MgZXh0ZW5kcyBiN2l7Y29uc3RydWN0b3IobixXPVtdKXt2YXIgRD17Vmo6bi5Wanx8Il8iLFJoOm4uUmh8fFtdLExUOm4uTFR8MCxSajpuLlJqLHREOm4udER8fCgoKT0+e30pLApybzpuLnJvfHwoKHYsayk9Pm5sMSh2LGssRC50RCxELlJqKSl9LGI9RC5ybygiNTMiLEQuUmguY29uY2F0KFcpKTsKc3VwZXIoe1RrOm5ldyBDMHgoYiksZXJyb3JDb3VudDpuZXcgTXQxKGIpLGV2ZW50Q291bnQ6bmV3IEYyWihiKSxQVDpuZXcgd1FyKGIpLGlMOm5ldyBCYWkoYiksVko6bmV3IFJkYihiKSxjVTpuZXcgUWF4KGIpLGpDOm5ldyBWdGkoYikscGF5bG9hZFNpemU6bmV3IGNqeChiKSxmNjpuZXcgYTZ3KGIpfSxELlZqKTt0aGlzLm9wdGlvbnM9RDt0aGlzLnNlcnZpY2U9Yjt0aGlzLlRDPSFuLnJvO3RoaXMudHc9bmV3IERHUygoKT0+dm9pZCB0aGlzLnNlcnZpY2UuaigpLEQuTFQpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy50dy5kaXNwb3NlKCk7dGhpcy5UQyYmdGhpcy5zZXJ2aWNlLmRpc3Bvc2UoKX0pOwpnLmJmKFcuc2xpY2UoKSl9Vygpe1dXcih0aGlzLnR3KX19O3ZhciBxdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgR0g9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHIkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDAsciQubWVzc2FnZUlkKX19LFg0Wj1LOChyJCksdmRiPWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT5XIGluc3RhbmNlb2YgbiYmIXY5KFcpKX0ociQpOwpyJC5tZXNzYWdlSWQ9ImJma2oiO3ZhciBjND1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIga0VpPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGhZWj1LOChrRWkpO2cuS1Y9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKG4sVyk9Pnt0aGlzLnJlc29sdmU9bjt0aGlzLnJlamVjdD1XfSl9fTt2YXIgQXE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5KPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMDApO3RoaXMuTj1uZXcga0VpO2lmKCJjaGFsbGVuZ2UiaW4gbiYmdmRiKG4uY2hhbGxlbmdlKSl7dmFyIFc9WTkobi5jaGFsbGVuZ2UsNCx2b2lkIDAseFUpO3ZhciBEPVk5KG4uY2hhbGxlbmdlLDUsdm9pZCAwLHhVKTtZOShuLmNoYWxsZW5nZSw3LHZvaWQgMCx4VSkmJih0aGlzLk49aFlaKFk5KG4uY2hhbGxlbmdlLDcsdm9pZCAwLHhVKSkpfWVsc2Uoe3Byb2dyYW06VyxnbG9iYWxOYW1lOkR9PW4pO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soYXN5bmMoKT0+e3ZhciB7Vng6R309YXdhaXQgdGhpcy5XO0c/LigpfSk7CnRoaXMubG9nZ2VyPUxWKG4ueDN8fHt9LHRoaXMuTik7Zy51KHRoaXMsdGhpcy5sb2dnZXIpO3ZhciBiPW5ldyBnLktWO3RoaXMuVz1iLnByb21pc2U7dGhpcy5sb2dnZXIuTigidCIpO3ZhciB2PXRoaXMubG9nZ2VyLnNoYXJlKCksaz1uZXcgTWwodiwidCIpLGg9KEcscixOLEgpPT57aWYoIXRoaXMubG9nZ2VyLnFOKCkpe3ZhciBBPSJrIjtyP0E9ImgiOk4mJihBPSJ1Iik7QSE9PSJrIj9IIT09MCYmKHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpKTp0aGlzLko8PTA/KHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpLHRoaXMuSj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKSk6dGhpcy5KLS19fSx4PShHLHIsTixIKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntrLmRvbmUoKTsKdi5XKCk7di5kaXNwb3NlKCk7Yi5yZXNvbHZlKHtGeTpHLFZ4OnIscDU6Tix4VTpIfSl9KX0sTD1bKEcscik9Pnt0aGlzLmxvZ2dlci5YKEcscil9LApHPT57dGhpcy5sb2dnZXIuSihHKX0sCkc9Pnt0aGlzLmxvZ2dlci5EKEcpfSwKKEcscik9Pnt0aGlzLmxvZ2dlci5ZKEcscil9XTsKaWYoIWcucWlbRF0pdGhyb3cgdGhpcy5sb2dnZXIuSigyNSksRXJyb3IoIkVHT1UiKTtpZighZy5xaVtEXS5hKXRocm93IHRoaXMubG9nZ2VyLkooMjYpLEVycm9yKCJFTElVIik7dHJ5e2xldCBHPWcucWlbRF0uYTtEPVtdO2xldCByPVtdO3ZhciBlPW4wKHRoaXMuTik7Zm9yKGxldCBBPTA7QTxlLmxlbmd0aDtBKyspRC5wdXNoKGVbQV0pLHIucHVzaCgxKTtsZXQgTj1VaXcodGhpcy5OKTtmb3IoZT0wO2U8Ti5sZW5ndGg7ZSsrKUQucHVzaChOW2VdKSxyLnB1c2goMik7bGV0IFtIXT1HKFcseCwhMCxuLnczLGgsW0Qscl0sWTkodGhpcy5OLDUpLCExLEwpO3RoaXMuWD1IO3RoaXMuT3Y9Yi5wcm9taXNlLnRoZW4oKCk9Pnt9KX1jYXRjaChHKXt0aHJvdyB0aGlzLmxvZ2dlci5KKDI4KSxHOwp9fXNuYXBzaG90KG4pe2lmKHRoaXMucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO3RoaXMubG9nZ2VyLk4oIm4iKTt2YXIgVz10aGlzLmxvZ2dlci5zaGFyZSgpO3JldHVybiB0aGlzLlcudGhlbigoe0Z5OkR9KT0+bmV3IFByb21pc2UoYj0+e3ZhciB2PW5ldyBNbChXLCJuIik7RChrPT57di5kb25lKCk7Vy5qKGsubGVuZ3RoKTtXLlcoKTtXLmRpc3Bvc2UoKTtiKGspfSxbbi53XywKbi5HbCxuLnRMLG4uTU9dKX0pKX1tNShuKXtpZih0aGlzLnFOKCkpdGhyb3cgRXJyb3IoIkFscmVhZHkgZGlzcG9zZWQiKTsKdGhpcy5sb2dnZXIuTigibiIpO3ZhciBXPXYzKHRoaXMubG9nZ2VyLCgpPT50aGlzLlgoW24ud18sbi5HbCxuLnRMLG4uTU9dKSwibiIpOwp0aGlzLmxvZ2dlci5qKFcubGVuZ3RoKTt0aGlzLmxvZ2dlci5XKCk7cmV0dXJuIFd9UzEobil7dGhpcy5XLnRoZW4oKHtwNTpXfSk9PntXPy4obil9KX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX07dmFyIGVtPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5KPXt9O3RoaXMuTj1udWxsfX07dmFyICRZPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBOdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgZlY9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuY2xpZW50PW47dGhpcy5yZXF1ZXN0S2V5PVc7dGhpcy5OPUR9Wmoobil7cmV0dXJuIEgzKHRoaXMsbixuZXcgeFksMCl9fTt2YXIgVEg9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5vcHRpb25zPW47dGhpcy5WPW5ldyBnLktWO3RoaXMuT3Y9dGhpcy5WLnByb21pc2U7dGhpcy5qPW5ldyBnLktWO3RoaXMuWT0xO3RoaXMuSj1uZXcgZy5LVjt0aGlzLlg9W107dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnFKPW4ucUp8fCgoKT0+e30pOwp0aGlzLmxvZ2dlcj1uZXcgVzUxKExWKG4ueDN8fHt9KSk7ckFiKHRoaXMsbi5VZyxuLnFULG4ucVUsbi5USCx7Li4ueEdqLC4uLihuLmtkfHx7fSl9KTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHNQMih0aGlzKSl9YXN5bmMgc25hcHNob3Qobil7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7CnRoaXMuV3x8dGhpcy5LfHxhd2FpdCB0aGlzLmoucHJvbWlzZTtpZih0aGlzLlcpcmV0dXJuIGF3YWl0IHRoaXMuVy5zbmFwc2hvdChuKTt0aHJvdyB0aGlzLks7fXBhdXNlKCl7dGhpcy5xTigpfHx0aGlzLmlzUGF1c2VkfHwodGhpcy5pc1BhdXNlZD0hMCx0aGlzLk4mJnRoaXMuTi5wYXVzZSgpKX1yZXN1bWUoKXshdGhpcy5xTigpJiZ0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLk4mJnRoaXMuTi5yZXN1bWUoKSl9YXN5bmMgY2hlY2tGb3JSZWZyZXNoKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7aWYodGhpcy5OKXt2YXIgbj10aGlzLk47bi5pc0V4cGlyZWQoKT8oT2wobiksbi5RNCgwKSxuPSEwKTpuPSExO24mJmF3YWl0IHRoaXMuSi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy5KLnByb21pc2V9UzEobil7dGhpcy5XPy5TMT8uKG4pfWhhbmRsZUVycm9yKG4pe3RoaXMucU4oKXx8KHRoaXMuSz1uLHRoaXMuai5yZXNvbHZlKCksCnRoaXMub3B0aW9ucy50Nj8uKG4pKX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX0seEdqPXtGWjo0MzJFNSx1bTozRTUsbmI6MTAsamQ6MUU0LGhwOjNFNCxRWDozRTQscUs6NkU0LENxOjFFMyx3ODo2RTQsb3o6NkU1LGQ4Oi4yNSxBaToyLG1heEF0dGVtcHRzOjEwfSxTbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5lbmRUaW1lTXM9MDt0aGlzLk49bnVsbDt0aGlzLmlzUGF1c2VkPSExO3RoaXMudGljaz0oKT0+e2lmKCF0aGlzLmlzUGF1c2VkKXt2YXIgYj10aGlzLmVuZFRpbWVNcy1EYXRlLm5vdygpO2I8PXRoaXMuVz8odGhpcy5OPW51bGwsdGhpcy5RNCgwKSk6dGhpcy5OPXNldFRpbWVvdXQodGhpcy50aWNrLE1hdGgubWluKGIsdGhpcy51bSkpfX07CnRoaXMudW09Vzt0aGlzLlc9RDt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoYj0+e3RoaXMuUTQ9Yn0pOwpZVFUodGhpcyxuKX1wYXVzZSgpe3RoaXMuaXNQYXVzZWR8fCh0aGlzLmlzUGF1c2VkPSEwLE9sKHRoaXMpKX1yZXN1bWUoKXt0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLnRpY2soKSl9Sigpe09sKHRoaXMpO3RoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlE0KDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIEhwaT1NYXRoLmltdWw/PygobixXKT0+bipXfDApLFVsPVsxOTYsCjIwMCwyMjQsMThdLHVuPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0wLEQ9W10pe3RoaXMubWF4SXRlbXM9bjt0aGlzLk49Vzt0aGlzLko9RH1iWSgpe3JldHVybiBTdHJpbmcodGhpcy5OKSsiLCIrdGhpcy5KLmpvaW4oKX1xcChuLFcpe3ZhciBEPXZvaWQgMDtpZih0aGlzLkpbdGhpcy5OXSE9PW4pe2xldCBiPXRoaXMuSi5pbmRleE9mKG4pO2IhPT0tMT8odGhpcy5KLnNwbGljZShiLDEpLGI8dGhpcy5OJiZ0aGlzLk4tLSx0aGlzLkouc3BsaWNlKHRoaXMuTiwwLG4pKTooRD10aGlzLkpbdGhpcy5OXSx0aGlzLkpbdGhpcy5OXT1uKX10aGlzLk49KHRoaXMuTisxKSV0aGlzLm1heEl0ZW1zO249UDMoImlVNXEtIU85QCQiLHRoaXMuYlkoKSk7RCYmbiYmVyhEKTtyZXR1cm4gbn19LEw1Uz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMubG9nZ2VyPVc7dHJ5e3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UmJiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtfWNhdGNoKGIpe0Q9ITF9RCYmKHRoaXMuaW5kZXg9SWV3KG4pKX1OKG4sVyxELGIpe3ZhciB2PXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PmZlYih0aGlzLmluZGV4LHlpKG4pLFcsRCxiKSwiVyIpOiJ1IjsKdGhpcy5sb2dnZXIuTyh2KX1KKG4sVyl7dmFyIFtELGJdPXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PkpBdyh5aShuKSxXKSwiUiIpOlsidSJdOwp0aGlzLmxvZ2dlci5LKEQpO3JldHVybiBifX07dmFyIEFBUz17dG9TdHJpbmc6ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO24tPS0yMTQ3NDgzNjQ4O1dbRCsrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIuY2hhckF0KG4lNTIpO2ZvcihuPU1hdGguZmxvb3Iobi81Mik7bj4wOylXW0QrK109ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5Ii5jaGFyQXQobiU2Miksbj1NYXRoLmZsb29yKG4vNjIpO3JldHVybiBXLmpvaW4oIiIpfX07dmFyIFFwPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5YPW5ldyBnLktWfVpSKG4sVyl7dmFyIEQ9dGhpcy5XKG4pO1c/LihEKTtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9PmcuRUEoRCwyKSx0aGlzLkopfUZwKG4sVyxEKXtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9Plc/dGhpcy5aUihuLEQpOnRoaXMuVyhuLEQpLHRoaXMuTil9fSxGNj1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyxELGIpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLks9RDt0aGlzLk49Im0iO3RoaXMuSj0ieCI7dGhpcy5WPTA7ZCQodGhpcyxiKX1XKG4sVyl7dGhpcy5sb2dnZXIuTih0aGlzLk4pOysrdGhpcy5WPj10aGlzLksmJnRoaXMuWC5yZXNvbHZlKCk7dmFyIEQ9bigpO249djModGhpcy5sb2dnZXIsKCk9PnRoaXMuaihEKSwiQyIpOwppZihuPT09dm9pZCAwKXRocm93IG5ldyBRRygxNywiWU5KOlVuZGVmaW5lZCIpO2lmKCEobiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXRocm93IG5ldyBRRygxOCwiT0RNOkludmFsaWQiKTtXPy4obik7cmV0dXJuIG59fSxVaGo9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJmIjt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB0aGlzLmp9fSxacHQ9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJ3Ijt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB2Myh0aGlzLmxvZ2dlciwoKT0+bHAodGhpcy5qKSwiZCIpfVpSKCl7cmV0dXJuIHRoaXMuan19LG9sdz1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIobik7CnRoaXMuZXJyb3I9Vzt0aGlzLk49ImUiO3RoaXMuSj0ieSJ9Vygpe2lmKHRoaXMuailyZXR1cm4gdGhpcy5qO3RoaXMuaj1sbih0aGlzLG49PiJfIittaHcobikpOwpyZXR1cm4gbG4odGhpcyxuPT5uKX19LFFpPWNsYXNzIGV4dGVuZHMgUXB7Y29uc3RydWN0b3IobixXLEQpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLmNsaWVudFN0YXRlPUQ7dGhpcy5OPSJTIjt0aGlzLko9InEifVcoKXt2YXIgbj1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxXPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sRD1XLmNvbmNhdChbdGhpcy5qJjI1NSx0aGlzLmNsaWVudFN0YXRlXSxbbj4+MjQmMjU1LG4+PjE2JjI1NSxuPj44JjI1NSxuJjI1NV0pO249bmV3IFVpbnQ4QXJyYXkoMitELmxlbmd0aCk7blswXT0zNDtuWzFdPUQubGVuZ3RoO24uc2V0KEQsMik7RD1uLnN1YmFycmF5KDIpO1c9Vy5sZW5ndGg7Zm9yKGxldCBiPVc7YjxELmxlbmd0aDsrK2IpRFtiXV49RFtiJVddO3RoaXMubG9nZ2VyLmNKKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBufX07dmFyIGVZaT17WFU6M0U0LHJTOjJFNH0sQW10PWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD1uZXcgZy5LVjt0aGlzLmo9MDt0aGlzLko9dm9pZCAwO3RoaXMuc3RhdGU9Mjt0aGlzLk8xPW4uTzE7dGhpcy5VZz1uLlVnO3RoaXMua2Q9ey4uLmVZaSwuLi4obi5rZHx8e30pfTt0aGlzLmxvZ2dlcj1uLk8xLlFEKCk7dGhpcy5vbkVycm9yPW4ub25FcnJvcj8/KCgpPT57fSk7CnRoaXMuWGw9bi5YbHx8ITE7aWYoZ2R0KG4pKXtsZXQgYj10aGlzLk8xO3RoaXMuVj0oKT0+TlR0KGIpLmNhdGNoKHY9Pnt0aGlzLko9dj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRyh0aGlzLk4/MjA6MzIsIlRSRzpEaXNwb3NlZCIsdikpO3RoaXMuTj8uZGlzcG9zZSgpO3RoaXMuTj12b2lkIDA7dGhpcy5YLnJlamVjdCh2KX0pOwpwNGkoYiwoKT0+dm9pZCBCMyh0aGlzKSk7CmIuWT09PTImJkIzKHRoaXMpfWVsc2UgdGhpcy5WPW4uRTYsQjModGhpcyk7dmFyIFc9dGhpcy5sb2dnZXIuc2hhcmUoKTtXLk4oIm8iKTt2YXIgRD1uZXcgTWwoVywibyIpO3RoaXMuWC5wcm9taXNlLnRoZW4oKCk9PntELmRvbmUoKTtXLlcoKTtXLmRpc3Bvc2UoKX0sKCk9PnZvaWQgVy5kaXNwb3NlKCkpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5OPyh0aGlzLk4uZGlzcG9zZSgpLHRoaXMuTj12b2lkIDApOnRoaXMuSj90aGlzLmxvZ2dlci5XKCk6KHRoaXMuSj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRygzMiwiVE5QOkRpc3Bvc2VkIikpLHRoaXMubG9nZ2VyLlcoKSx0aGlzLlgucmVqZWN0KHRoaXMuSikpfSk7CmcudSh0aGlzLHRoaXMubG9nZ2VyKX1IJCgpe3JldHVybiB0aGlzLlgucHJvbWlzZX1XKG4pe3JldHVybiBNdih0aGlzLHsuLi5ufSwhMSl9WlIobil7cmV0dXJuIE12KHRoaXMsey4uLm59LCEwKX15aChuKXtpZighKG4+MTUwKSl0cnl7dGhpcy5jYWNoZT1uZXcgTDVTKG4sdGhpcy5sb2dnZXIpfWNhdGNoKFcpe3RoaXMucmVwb3J0RXJyb3IobmV3IFFHKDIyLCJHQko6aW5pdCIsVykpfX1yZXBvcnRFcnJvcihuKXt0aGlzLmxvZ2dlci5KKG4uY29kZSk7dGhpcy5vbkVycm9yKG4pO3JldHVybiBufX0sZ2R0PWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT57aWYoIWtDeChXKSlyZXR1cm4hMTtmb3IobGV0IFtELGJdb2YgT2JqZWN0LmVudHJpZXMobikpe2xldCB2PUQsaz1iO2lmKCEodiBpbiBXKSl7aWYoay5LUD09PSEwKWNvbnRpbnVlO3JldHVybiExfWlmKCFrKFdbdl0pKXJldHVybiExfXJldHVybiEwfSl9KHtPMTpxMyhuPT5uIGluc3RhbmNlb2YgVEgpfSwiIik7dmFyIHFuaT1jbGFzc3tjb25zdHJ1Y3Rvcigpe2lmKCFWcCl7VnA9bmV3IGhxKG5ldyBYbkMpO3ZhciBuPXYwKCJjbGllbnRfc3RyZWFtel93ZWJfZmx1c2hfY291bnQiLC0xKTtuIT09LTEmJihWcC5YPW4pfXRoaXMuVz1uPVZwO3VlKG4sIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLERYKCJ0eXBlIiksRFgoInNlcXVlbmNlIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L3lvdXR1YmUvYWJhL2dhYyIpfX07Zy5jcT1kb2N1bWVudDtnLncyPXdpbmRvdzt2YXIgZGhaPXtIdToiYWxsb3ctZm9ybXMiLFVpOiJhbGxvdy1tb2RhbHMiLEdvOiJhbGxvdy1vcmllbnRhdGlvbi1sb2NrIixFaToiYWxsb3ctcG9pbnRlci1sb2NrIixNTToiYWxsb3ctcG9wdXBzIixmRToiYWxsb3ctcG9wdXBzLXRvLWVzY2FwZS1zYW5kYm94IixGODoiYWxsb3ctcHJlc2VudGF0aW9uIixEczoiYWxsb3ctc2FtZS1vcmlnaW4iLHZ1OiJhbGxvdy1zY3JpcHRzIixPaToiYWxsb3ctdG9wLW5hdmlnYXRpb24iLGdNOiJhbGxvdy10b3AtbmF2aWdhdGlvbi1ieS11c2VyLWFjdGl2YXRpb24ifSxsZVM9Zy53RCgoKT0+ekhpKCkpO2cuRT1nLmJyLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuYnIodGhpcy5sZWZ0LHRoaXMudG9wLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNvbnRhaW5zPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5NWT9uLng+PXRoaXMubGVmdCYmbi54PD10aGlzLmxlZnQrdGhpcy53aWR0aCYmbi55Pj10aGlzLnRvcCYmbi55PD10aGlzLnRvcCt0aGlzLmhlaWdodDp0aGlzLmxlZnQ8PW4ubGVmdCYmdGhpcy5sZWZ0K3RoaXMud2lkdGg+PW4ubGVmdCtuLndpZHRoJiZ0aGlzLnRvcDw9bi50b3AmJnRoaXMudG9wK3RoaXMuaGVpZ2h0Pj1uLnRvcCtuLmhlaWdodH07CmcuRS5nZXRTaXplPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBnLlFlKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguZmxvb3IodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLmZsb29yKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguZmxvb3IodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5mbG9vcih0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpnLkUucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307CmcuRS5zY2FsZT1mdW5jdGlvbihuLFcpe1c9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47dGhpcy5sZWZ0Kj1uO3RoaXMud2lkdGgqPW47dGhpcy50b3AqPVc7dGhpcy5oZWlnaHQqPVc7cmV0dXJuIHRoaXN9O3ZhciBqUEM9L14tLS4rLyxMVz17fTtnLkdFMj1nLndEKCgpPT57dmFyIG49ITE7dHJ5e2xldCBXPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldCgpe249ITB9fSk7Zy5xaS5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLFcpfWNhdGNoKFcpe31yZXR1cm4gbn0pO3ZhciB6Q3c9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIHRJdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgJEcxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmZ2PW47dGhpcy5sMD1XO3RoaXMubWV0YWRhdGE9RH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfX07dmFyIEJUdD1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30pe3RoaXMuUHo9bjt0aGlzLm1ldGFkYXRhPVc7dGhpcy5zdGF0dXM9bnVsbH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfWdldFN0YXR1cygpe3JldHVybiB0aGlzLnN0YXR1c319O3ZhciByc3c9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLm5hbWU9bjt0aGlzLm1ldGhvZFR5cGU9InVuYXJ5Ijt0aGlzLnJlcXVlc3RUeXBlPVc7dGhpcy5yZXNwb25zZVR5cGU9RDt0aGlzLk49Yjt0aGlzLlc9dn1KKG4sVz17fSl7cmV0dXJuIG5ldyAkRzEobix0aGlzLFcpfWdldE5hbWUoKXtyZXR1cm4gdGhpcy5uYW1lfX07dmFyIHNPTT1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvQ3JlYXRlIiwkWSx0SXQsbj0+bi5iWSgpLEs4KHRJdCkpO3ZhciBOUDI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHFUUz1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvR2VuZXJhdGVJVCIsTnYsTlAyLG49Pm4uYlkoKSxLOChOUDIpKTt2YXIgWDJyPW5ldyBTZXQoWyJTQVBJU0lESEFTSCIsIkFQSVNJREhBU0giXSk7dmFyIFJIaT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0VmFsdWUoKXt2YXIgbj1pVyh0aGlzLDIpO2lmKEFycmF5LmlzQXJyYXkobil8fG4gaW5zdGFuY2VvZiBnLlFtKXRocm93IEVycm9yKCJDYW5ub3QgYWNjZXNzIHRoZSBBbnkudmFsdWUgZmllbGQgb24gQW55IHByb3RvcyBlbmNvZGVkIHVzaW5nIHRoZSBqc3BiIGZvcm1hdCwgY2FsbCB1bnBhY2tKc3BiIGluc3RlYWQiKTtyZXR1cm4gUnoodGhpcywyKX19O3ZhciBNMWI9SzgoY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE1lc3NhZ2UoKXtyZXR1cm4gWTkodGhpcywyKX19KTt2YXIgdHUxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPVtdO3RoaXMuWD1bXTt0aGlzLmo9W107dGhpcy5XPVtdO3RoaXMuTj1bXTt0aGlzLlY9bi5NRTt0aGlzLks9Vzt0aGlzLnhocj1uLnhocjt0aGlzLlYmJnc0cih0aGlzKX14VihuLFcpe249PT0iZGF0YSI/dGhpcy5KLnB1c2goVyk6bj09PSJtZXRhZGF0YSI/dGhpcy5YLnB1c2goVyk6bj09PSJzdGF0dXMiP3RoaXMuai5wdXNoKFcpOm49PT0iZW5kIj90aGlzLlcucHVzaChXKTpuPT09ImVycm9yIiYmdGhpcy5OLnB1c2goVyl9cmVtb3ZlTGlzdGVuZXIobixXKXtuPT09ImRhdGEiP0ExKHRoaXMuSixXKTpuPT09Im1ldGFkYXRhIj9BMSh0aGlzLlgsVyk6bj09PSJzdGF0dXMiP0ExKHRoaXMuaixXKTpuPT09ImVuZCI/QTEodGhpcy5XLFcpOm49PT0iZXJyb3IiJiZBMSh0aGlzLk4sVyk7cmV0dXJuIHRoaXN9Y2FuY2VsKCl7dGhpcy54aHIuYWJvcnQoKX19LFFQUz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoKTsKdGhpcy5uYW1lPSJBc3luY1N0YWNrIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTtnLml4KG1HLEJKKTttRy5wcm90b3R5cGUuTj1mdW5jdGlvbigpe3ZhciBuPW5ldyBLVyh0aGlzLlgsdGhpcy5XKTt0aGlzLkomJm4uc2V0Q3JlZGVudGlhbHNNb2RlKHRoaXMuSik7cmV0dXJuIG59OwptRy5wcm90b3R5cGUuc2V0Q3JlZGVudGlhbHNNb2RlPWZ1bmN0aW9uKG4pe3RoaXMuSj1ufTsKZy5peChLVyxnLm9XKTtnLkU9S1cucHJvdG90eXBlO2cuRS5vcGVuPWZ1bmN0aW9uKG4sVyl7aWYodGhpcy5yZWFkeVN0YXRlIT0wKXRocm93IHRoaXMuYWJvcnQoKSxFcnJvcigiRXJyb3IgcmVvcGVuaW5nIGEgY29ubmVjdGlvbiIpO3RoaXMuY0o9bjt0aGlzLk89Vzt0aGlzLnJlYWR5U3RhdGU9MTtQWSh0aGlzKX07CmcuRS5zZW5kPWZ1bmN0aW9uKG4pe2lmKHRoaXMucmVhZHlTdGF0ZSE9MSl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIm5lZWQgdG8gY2FsbCBvcGVuKCkgZmlyc3QuICIpO2lmKHRoaXMuWS5zaWduYWwuYWJvcnRlZCl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIik7dGhpcy5OPSEwO3ZhciBXPXtoZWFkZXJzOnRoaXMuRCxtZXRob2Q6dGhpcy5jSixjcmVkZW50aWFsczp0aGlzLmosY2FjaGU6dm9pZCAwLHNpZ25hbDp0aGlzLlkuc2lnbmFsfTtuJiYoVy5ib2R5PW4pOyh0aGlzLnR3fHxnLnFpKS5mZXRjaChuZXcgUmVxdWVzdCh0aGlzLk8sVykpLnRoZW4odGhpcy5HRS5iaW5kKHRoaXMpLHRoaXMuRFAuYmluZCh0aGlzKSl9OwpnLkUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLnN0YXR1cz0wO3RoaXMuWS5hYm9ydCgiUmVxdWVzdCB3YXMgYWJvcnRlZC4iKTt0aGlzLlcmJnRoaXMuVy5jYW5jZWwoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIikuY2F0Y2goKCk9Pnt9KTsKdGhpcy5yZWFkeVN0YXRlPj0xJiZ0aGlzLk4mJnRoaXMucmVhZHlTdGF0ZSE9NCYmKHRoaXMuTj0hMSxaYSh0aGlzKSk7dGhpcy5yZWFkeVN0YXRlPTB9OwpnLkUuR0U9ZnVuY3Rpb24obil7aWYodGhpcy5OJiYodGhpcy5YPW4sdGhpcy5KfHwodGhpcy5zdGF0dXM9dGhpcy5YLnN0YXR1cyx0aGlzLnN0YXR1c1RleHQ9dGhpcy5YLnN0YXR1c1RleHQsdGhpcy5KPW4uaGVhZGVycyx0aGlzLnJlYWR5U3RhdGU9MixQWSh0aGlzKSksdGhpcy5OJiYodGhpcy5yZWFkeVN0YXRlPTMsUFkodGhpcyksdGhpcy5OKSkpaWYodGhpcy5yZXNwb25zZVR5cGU9PT0iYXJyYXlidWZmZXIiKW4uYXJyYXlCdWZmZXIoKS50aGVuKHRoaXMuSFQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpO2Vsc2UgaWYodHlwZW9mIGcucWkuUmVhZGFibGVTdHJlYW0hPT0idW5kZWZpbmVkIiYmImJvZHkiaW4gbil7dGhpcy5XPW4uYm9keS5nZXRSZWFkZXIoKTtpZih0aGlzLlYpe2lmKHRoaXMucmVzcG9uc2VUeXBlKXRocm93IEVycm9yKCdyZXNwb25zZVR5cGUgbXVzdCBiZSBlbXB0eSBmb3IgInN0cmVhbUJpbmFyeUNodW5rcyIgbW9kZSByZXNwb25zZXMuJyk7dGhpcy5yZXNwb25zZT0KW119ZWxzZSB0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiLHRoaXMuSz1uZXcgVGV4dERlY29kZXI7T2oodGhpcyl9ZWxzZSBuLnRleHQoKS50aGVuKHRoaXMuVUQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpfTsKZy5FLmxFPWZ1bmN0aW9uKG4pe2lmKHRoaXMuTil7aWYodGhpcy5WJiZuLnZhbHVlKXRoaXMucmVzcG9uc2UucHVzaChuLnZhbHVlKTtlbHNlIGlmKCF0aGlzLlYpe3ZhciBXPW4udmFsdWU/bi52YWx1ZTpuZXcgVWludDhBcnJheSgwKTtpZihXPXRoaXMuSy5kZWNvZGUoVyx7c3RyZWFtOiFuLmRvbmV9KSl0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0Kz1XfW4uZG9uZT9aYSh0aGlzKTpQWSh0aGlzKTt0aGlzLnJlYWR5U3RhdGU9PTMmJk9qKHRoaXMpfX07CmcuRS5VRD1mdW5jdGlvbihuKXt0aGlzLk4mJih0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PW4sWmEodGhpcykpfTsKZy5FLkhUPWZ1bmN0aW9uKG4pe3RoaXMuTiYmKHRoaXMucmVzcG9uc2U9bixaYSh0aGlzKSl9OwpnLkUuRFA9ZnVuY3Rpb24oKXt0aGlzLk4mJlphKHRoaXMpfTsKZy5FLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24obixXKXt0aGlzLkQuYXBwZW5kKG4sVyl9OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuSj90aGlzLkouZ2V0KG4udG9Mb3dlckNhc2UoKSl8fCIiOiIifTsKZy5FLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe2lmKCF0aGlzLkopcmV0dXJuIiI7Zm9yKHZhciBuPVtdLFc9dGhpcy5KLmVudHJpZXMoKSxEPVcubmV4dCgpOyFELmRvbmU7KUQ9RC52YWx1ZSxuLnB1c2goRFswXSsiOiAiK0RbMV0pLEQ9Vy5uZXh0KCk7cmV0dXJuIG4uam9pbigiXHJcbiIpfTsKZy5FLnNldENyZWRlbnRpYWxzTW9kZT1mdW5jdGlvbihuKXt0aGlzLmo9bn07Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShLVy5wcm90b3R5cGUsIndpdGhDcmVkZW50aWFscyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0iaW5jbHVkZSJ9LApzZXQ6ZnVuY3Rpb24obil7dGhpcy5zZXRDcmVkZW50aWFsc01vZGUobj8iaW5jbHVkZSI6InNhbWUtb3JpZ2luIil9fSk7Zy5Vai5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPXRoaXMuWDtXJiZuLnB1c2goek4oVyxwbngsITApLCI6Iik7dmFyIEQ9dGhpcy5OO2lmKER8fFc9PSJmaWxlIiluLnB1c2goIi8vIiksKFc9dGhpcy5ZKSYmbi5wdXNoKHpOKFcscG54LCEwKSwiQCIpLG4ucHVzaChxaChEKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxEPXRoaXMuVixEIT1udWxsJiZuLnB1c2goIjoiLFN0cmluZyhEKSk7aWYoRD10aGlzLkopdGhpcy5OJiZELmNoYXJBdCgwKSE9Ii8iJiZuLnB1c2goIi8iKSxuLnB1c2goek4oRCxELmNoYXJBdCgwKT09Ii8iP1luTTpIN2osITApKTsoRD10aGlzLlcudG9TdHJpbmcoKSkmJm4ucHVzaCgiPyIsRCk7KEQ9dGhpcy5qKSYmbi5wdXNoKCIjIix6TihELGZVYikpO3JldHVybiBuLmpvaW4oIiIpfTsKZy5Vai5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihuKXt2YXIgVz10aGlzLmNsb25lKCksRD0hIW4uWDtEP3lOKFcsbi5YKTpEPSEhbi5ZO0Q/Vy5ZPW4uWTpEPSEhbi5OO0Q/RWooVyxuLk4pOkQ9bi5WIT1udWxsO3ZhciBiPW4uSjtpZihEKWlyKFcsbi5WKTtlbHNlIGlmKEQ9ISFuLkope2lmKGIuY2hhckF0KDApIT0iLyIpaWYodGhpcy5OJiYhdGhpcy5KKWI9Ii8iK2I7ZWxzZXt2YXIgdj1XLkoubGFzdEluZGV4T2YoIi8iKTt2IT0tMSYmKGI9Vy5KLnNsaWNlKDAsdisxKStiKX12PWI7aWYodj09Ii4uInx8dj09Ii4iKWI9IiI7ZWxzZSBpZih2LmluZGV4T2YoIi4vIikhPS0xfHx2LmluZGV4T2YoIi8uIikhPS0xKXtiPWcualUodiwiLyIpO3Y9di5zcGxpdCgiLyIpO2xldCBrPVtdO2ZvcihsZXQgaD0wO2g8di5sZW5ndGg7KXtsZXQgeD12W2grK107eD09Ii4iP2ImJmg9PXYubGVuZ3RoJiZrLnB1c2goIiIpOng9PSIuLiI/KChrLmxlbmd0aD4xfHxrLmxlbmd0aD09MSYma1swXSE9CiIiKSYmay5wb3AoKSxiJiZoPT12Lmxlbmd0aCYmay5wdXNoKCIiKSk6KGsucHVzaCh4KSxiPSEwKX1iPWsuam9pbigiLyIpfWVsc2UgYj12fUQ/Vy5KPWI6RD1uLlcudG9TdHJpbmcoKSE9PSIiO0Q/dXIoVyxuLlcuY2xvbmUoKSk6RD0hIW4uajtEJiYoVy5qPW4uaik7cmV0dXJuIFd9OwpnLlVqLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5Vaih0aGlzKX07CnZhciBwbng9L1sjXC9cP0BdL2csSDdqPS9bI1w/Ol0vZyxZbk09L1sjXD9dL2csRHhTPS9bI1w/QF0vZyxmVWI9LyMvZztnLkU9ZGgucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLlc9bnVsbDtuPWpTKHRoaXMsbik7dmFyIEQ9dGhpcy5OLmdldChuKTtEfHx0aGlzLk4uc2V0KG4sRD1bXSk7RC5wdXNoKFcpO3RoaXMuSj10aGlzLkorMTtyZXR1cm4gdGhpc307CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7VE4odGhpcyk7bj1qUyh0aGlzLG4pO3JldHVybiB0aGlzLk4uaGFzKG4pPyh0aGlzLlc9bnVsbCx0aGlzLko9dGhpcy5KLXRoaXMuTi5nZXQobikubGVuZ3RoLHRoaXMuTi5kZWxldGUobikpOiExfTsKZy5FLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5OPXRoaXMuVz1udWxsO3RoaXMuSj0wfTsKZy5FLmlzRW1wdHk9ZnVuY3Rpb24oKXtUTih0aGlzKTtyZXR1cm4gdGhpcy5KPT0wfTsKZy5FLmZvckVhY2g9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe0QuZm9yRWFjaChmdW5jdGlvbih2KXtuLmNhbGwoVyx2LGIsdGhpcyl9LHRoaXMpfSx0aGlzKX07CmcuRS51Qj1mdW5jdGlvbigpe1ROKHRoaXMpO3ZhciBuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKSxXPUFycmF5LmZyb20odGhpcy5OLmtleXMoKSksRD1bXTtmb3IobGV0IGI9MDtiPFcubGVuZ3RoO2IrKyl7bGV0IHY9bltiXTtmb3IobGV0IGs9MDtrPHYubGVuZ3RoO2srKylELnB1c2goV1tiXSl9cmV0dXJuIER9OwpnLkUuejc9ZnVuY3Rpb24obil7VE4odGhpcyk7dmFyIFc9W107aWYodHlwZW9mIG49PT0ic3RyaW5nIilDVyh0aGlzLG4pJiYoVz1XLmNvbmNhdCh0aGlzLk4uZ2V0KGpTKHRoaXMsbikpKSk7ZWxzZXtuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXPVcuY29uY2F0KG5bRF0pfXJldHVybiBXfTsKZy5FLnNldD1mdW5jdGlvbihuLFcpe1ROKHRoaXMpO3RoaXMuVz1udWxsO249alModGhpcyxuKTtDVyh0aGlzLG4pJiYodGhpcy5KPXRoaXMuSi10aGlzLk4uZ2V0KG4pLmxlbmd0aCk7dGhpcy5OLnNldChuLFtXXSk7dGhpcy5KPXRoaXMuSisxO3JldHVybiB0aGlzfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBXO249dGhpcy56NyhuKTtyZXR1cm4gbi5sZW5ndGg+MD9TdHJpbmcoblswXSk6V307CmcuRS50b1N0cmluZz1mdW5jdGlvbigpe2lmKHRoaXMuVylyZXR1cm4gdGhpcy5XO2lmKCF0aGlzLk4pcmV0dXJuIiI7dmFyIG49W10sVz1BcnJheS5mcm9tKHRoaXMuTi5rZXlzKCkpO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXt2YXIgRD1XW2JdO2xldCB2PXFoKEQpO0Q9dGhpcy56NyhEKTtmb3IobGV0IGs9MDtrPEQubGVuZ3RoO2srKyl7bGV0IGg9djtEW2tdIT09IiImJihoKz0iPSIrcWgoRFtrXSkpO24ucHVzaChoKX19cmV0dXJuIHRoaXMuVz1uLmpvaW4oIiYiKX07CmcuRS5jbG9uZT1mdW5jdGlvbigpe3ZhciBuPW5ldyBkaDtuLlc9dGhpcy5XO3RoaXMuTiYmKG4uTj1uZXcgTWFwKHRoaXMuTiksbi5KPXRoaXMuSik7cmV0dXJuIG59OwpnLkUuZXh0ZW5kPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8YXJndW1lbnRzLmxlbmd0aDtXKyspbktpKGFyZ3VtZW50c1tXXSxmdW5jdGlvbihELGIpe3RoaXMuYWRkKGIsRCl9LHRoaXMpfTtnLml4KEJZLGcuRk0pO3ZhciBKc2o9W107Zy5FPUJZLnByb3RvdHlwZTtnLkUuU189ZnVuY3Rpb24obixXLEQsYil7QXJyYXkuaXNBcnJheShXKXx8KFcmJihKc2pbMF09Vy50b1N0cmluZygpKSxXPUpzaik7Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPUFIKG4sV1t2XSxEfHx0aGlzLmhhbmRsZUV2ZW50LGJ8fCExLHRoaXMuSnx8dGhpcyk7aWYoIWspYnJlYWs7dGhpcy5OW2sua2V5XT1rfXJldHVybiB0aGlzfTsKZy5FLmVGPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBGbSh0aGlzLG4sVyxELGIpfTsKZy5FLndIPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSlmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKyl0aGlzLndIKG4sV1trXSxELGIsdik7ZWxzZSBEPUR8fHRoaXMuaGFuZGxlRXZlbnQsYj1nLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2PXZ8fHRoaXMuSnx8dGhpcyxEPW1oKEQpLGI9ISFiLFc9TjUobik/bi5zYyhXLEQsYix2KTpuPyhuPU8yKG4pKT9uLnNjKFcsRCxiLHYpOm51bGw6bnVsbCxXJiYoRTIoVyksZGVsZXRlIHRoaXMuTltXLmtleV0pfTsKZy5FLlRpPWZ1bmN0aW9uKCl7Zy5hXyh0aGlzLk4sZnVuY3Rpb24obixXKXt0aGlzLk4uaGFzT3duUHJvcGVydHkoVykmJkUyKG4pfSx0aGlzKTsKdGhpcy5OPXt9fTsKZy5FLm1BPWZ1bmN0aW9uKCl7QlkuVEIubUEuY2FsbCh0aGlzKTt0aGlzLlRpKCl9OwpnLkUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiRXZlbnRIYW5kbGVyLmhhbmRsZUV2ZW50IG5vdCBpbXBsZW1lbnRlZCIpO307dmFyIGtoUz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuVz0hMDt0aGlzLko9MDt0aGlzLk49IiJ9aXNJbnB1dFZhbGlkKCl7cmV0dXJuIHRoaXMuV319O010LnByb3RvdHlwZS5pc0lucHV0VmFsaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OIT0zfTsKTXQucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVn07Ck10LnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiEwfTsKTXQucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7TCYxMjgmJlJzKGssaCx4LCJpbnZhbGlkIHRhZyIpOyhMJjcpIT0yJiZScyhrLGgseCwiaW52YWxpZCB3aXJlIHR5cGUiKTtrLlc9TD4+PjM7ay5XIT0xJiZrLlchPTImJmsuVyE9MTUmJlJzKGssaCx4LCJ1bmV4cGVjdGVkIHRhZyIpO2suTj0xO2suSj0wO2suWD0wfQpmdW5jdGlvbiBEKEwpe2suWCsrO2suWD09NSYmTCYyNDAmJlJzKGssaCx4LCJtZXNzYWdlIGxlbmd0aCB0b28gbG9uZyIpO2suSnw9KEwmMTI3KTw8KGsuWC0xKSo3O0wmMTI4fHwoay5OPTIsay5ZPTAsdHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIj9rLmo9bmV3IFVpbnQ4QXJyYXkoay5KKTprLmo9QXJyYXkoay5KKSxrLko9PTAmJnYoKSl9CmZ1bmN0aW9uIGIoTCl7ay5qW2suWSsrXT1MO2suWT09ay5KJiZ2KCl9CmZ1bmN0aW9uIHYoKXtpZihrLlc8MTUpe2xldCBMPXt9O0xbay5XXT1rLmo7ay5LLnB1c2goTCl9ay5OPTB9CmZvcih2YXIgaz10aGlzLGg9biBpbnN0YW5jZW9mIEFycmF5P246bmV3IFVpbnQ4QXJyYXkobikseD0wO3g8aC5sZW5ndGg7KXtzd2l0Y2goay5OKXtjYXNlIDM6UnMoayxoLHgsInN0cmVhbSBhbHJlYWR5IGJyb2tlbiIpO2JyZWFrO2Nhc2UgMDpXKGhbeF0pO2JyZWFrO2Nhc2UgMTpEKGhbeF0pO2JyZWFrO2Nhc2UgMjpiKGhbeF0pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoInVuZXhwZWN0ZWQgcGFyc2VyIHN0YXRlOiAiK2suTik7fWsuRCsrO3grK31uPWsuSztrLks9W107cmV0dXJuIG4ubGVuZ3RoPjA/bjpudWxsfTtRTi5wcm90b3R5cGUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTj09PW51bGx9OwpRTi5wcm90b3R5cGUuczg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OfTsKUU4ucHJvdG90eXBlLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpRTi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24obil7dGhpcy5OIT09bnVsbCYmVk4odGhpcyxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTt2YXIgVz1udWxsO3RyeXt7dmFyIEQ9dGhpcy5XO0QuV3x8d2goRCxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTtELk4rPW47bGV0IGs9TWF0aC5mbG9vcihELk4ubGVuZ3RoLzQpO2lmKGs9PTApdmFyIGI9bnVsbDtlbHNle3RyeXt2YXIgdj16aChELk4uc2xpY2UoMCxrKjQpKX1jYXRjaChoKXt3aChELEQuTixoLm1lc3NhZ2UpfUQuSis9ayo0O0QuTj1ELk4uc2xpY2Uoayo0KTtiPXZ9fVc9Yj09PW51bGw/bnVsbDp0aGlzLlgucGFyc2UoYil9Y2F0Y2goayl7Vk4odGhpcyxuLGsubWVzc2FnZSl9dGhpcy5KKz1uLmxlbmd0aDtyZXR1cm4gV307Zy5FPWFzLnByb3RvdHlwZTtnLkUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaiE9M307CmcuRS5zOD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkR9OwpnLkUuZG9uZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0yfTsKZy5FLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpnLkUucGFyc2U9ZnVuY3Rpb24obil7ZnVuY3Rpb24gVygpe2Zvcig7cjxuLmxlbmd0aDspaWYoY1kobltyXSkpcisrLGsuVysrO2Vsc2UgYnJlYWs7cmV0dXJuIHI8TH0KZnVuY3Rpb24gRCgpe2Zvcih2YXIgSDs7KXtIPW5bcisrXTtpZighSClicmVhaztrLlcrKztzd2l0Y2goay5OKXtjYXNlIDA6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00OmNZKEgpfHxuXyhrLG4scik7Y29udGludWU7Y2FzZSA3OmNhc2UgMjppZihjWShIKSljb250aW51ZTtpZihrLk49PT03KWgucHVzaCg4KTtlbHNlIGlmKEg9PT0ifSIpe3YoInt9Iik7ay5OPWIoKTtjb250aW51ZX1lbHNlIGgucHVzaCgzKTtIPT09JyInP2suTj02Om5fKGssbixyKTtjb250aW51ZTtjYXNlIDg6Y2FzZSAzOmlmKGNZKEgpKWNvbnRpbnVlO0g9PT0iOiI/KGsuTj09PTMmJihoLnB1c2goMyksay5KKyspLGsuTj0xKTpIPT09In0iPyhrLkotLSx2KCksay5OPWIoKSk6SD09PSIsIj8oay5OPT09MyYmaC5wdXNoKDMpLGsuTj03KTpuXyhrLG4scik7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZihjWShIKSljb250aW51ZTtpZihrLk49PT00KWlmKGsuSisrLGsuTj0xLEg9PT0iXSIpe2suSi0tO2lmKGsuSj09PQowKXtrLk49NTtyZXR1cm59digiW10iKTtrLk49YigpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDUpO0g9PT0nIic/ay5OPTY6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00Okg9PT0idCI/ay5OPTk6SD09PSJmIj9rLk49MTI6SD09PSJuIj9rLk49MTY6SCE9PSItIiYmKCIwMTIzNDU2Nzg5Ii5pbmRleE9mKEgpIT09LTE/ay5OPTIwOm5fKGssbixyKSk7Y29udGludWU7Y2FzZSA1OmlmKEg9PT0iLCIpaC5wdXNoKDUpLGsuTj0xLGsuSj09PTEmJihHPXIpO2Vsc2UgaWYoSD09PSJdIil7ay5KLS07aWYoay5KPT09MClyZXR1cm47digpO2suTj1iKCl9ZWxzZSBpZihjWShIKSljb250aW51ZTtlbHNlIG5fKGssbixyKTtjb250aW51ZTtjYXNlIDY6bGV0IEE9cjthOmZvcig7Oyl7Zm9yKDtrLlk+MDspaWYoSD1uW3IrK10say5ZPT09ND9rLlk9MDprLlkrKywhSClicmVhayBhO2lmKEg9PT0nIicmJiFrLkspe2suTj1iKCk7YnJlYWt9aWYoSD09PSJcXCImJiFrLksmJihrLks9ITAsSD1uW3IrK10sCiFIKSlicmVhaztpZihrLkspaWYoay5LPSExLEg9PT0idSImJihrLlk9MSksSD1uW3IrK10pY29udGludWU7ZWxzZSBicmVhazt4Lmxhc3RJbmRleD1yO0g9eC5leGVjKG4pO2lmKCFIKXtyPW4ubGVuZ3RoKzE7YnJlYWt9cj1ILmluZGV4KzE7SD1uW0guaW5kZXhdO2lmKCFIKWJyZWFrfWsuVys9ci1BO2NvbnRpbnVlO2Nhc2UgOTppZighSCljb250aW51ZTtIPT09InIiP2suTj0xMDpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMDppZighSCljb250aW51ZTtIPT09InUiP2suTj0xMTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMTppZighSCljb250aW51ZTtIPT09ImUiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTI6aWYoIUgpY29udGludWU7SD09PSJhIj9rLk49MTM6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIUgpY29udGludWU7SD09PSJsIj9rLk49MTQ6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIUgpY29udGludWU7SD09PSJzIj9rLk49MTU6Cm5fKGssbixyKTtjb250aW51ZTtjYXNlIDE1OmlmKCFIKWNvbnRpbnVlO0g9PT0iZSI/ay5OPWIoKTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNjppZighSCljb250aW51ZTtIPT09InUiP2suTj0xNzpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNzppZighSCljb250aW51ZTtIPT09ImwiP2suTj0xODpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxODppZighSCljb250aW51ZTtIPT09ImwiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTk6SD09PSIuIj9rLk49MjA6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMjA6aWYoIjAxMjM0NTY3ODkuZUUrLSIuaW5kZXhPZihIKSE9PS0xKWNvbnRpbnVlO2Vsc2Ugci0tLGsuVy0tLGsuTj1iKCk7Y29udGludWU7ZGVmYXVsdDpuXyhrLG4scil9fX0KZnVuY3Rpb24gYigpe3ZhciBIPWgucG9wKCk7cmV0dXJuIEghPW51bGw/SDoxfQpmdW5jdGlvbiB2KEgpe2suSj4xfHwoSHx8KEg9Rz09PS0xP2suWCtuLnN1YnN0cmluZyhlLHIpOm4uc3Vic3RyaW5nKEcscikpLGsuTz9rLlYucHVzaChIKTprLlYucHVzaChKU09OLnBhcnNlKEgpKSxHPXIpfQpmb3IodmFyIGs9dGhpcyxoPWsuY0oseD1rLnR3LEw9bi5sZW5ndGgsZT0wLEc9LTEscj0wO3I8TDspc3dpdGNoKGsuail7Y2FzZSAzOnJldHVybiBuXyhrLG4sciksbnVsbDtjYXNlIDI6cmV0dXJuIFcoKSYmbl8oayxuLHIpLG51bGw7Y2FzZSAwOmlmKFcoKSl7dmFyIE49bltyKytdO2suVysrO2lmKE49PT0iWyIpe2suaj0xO2U9cjtrLk49NDtjb250aW51ZX1lbHNlIG5fKGssbixyKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIEQoKSxrLko9PT0wJiZrLk49PTU/KGsuaj0yLGsuWD1uLnN1YnN0cmluZyhyKSk6ay5YPUc9PT0tMT9rLlgrbi5zdWJzdHJpbmcoZSk6bi5zdWJzdHJpbmcoRyksay5WLmxlbmd0aD4wPyhOPWsuVixrLlY9W10sTik6bnVsbH1yZXR1cm4gbnVsbH07V0sucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT1udWxsfTsKV0sucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07CldLLnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiExfTsKV0sucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7ay5KPTY7ay5qPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIitrLk4rIi8iK2grIi4gRXJyb3I6ICIrTCsiLiBXaXRoIGlucHV0OlxuIjt0aHJvdyBFcnJvcihrLmopO30KZnVuY3Rpb24gRCgpe2suVz1uZXcgYXMoe1ZMOiEwLFpIOiEwfSl9CmZ1bmN0aW9uIGIoTCl7aWYoTClmb3IobGV0IGU9MDtlPEwubGVuZ3RoO2UrKyl7bGV0IEc9e307R1sxXT1MW2VdO2suWC5wdXNoKEcpfX0KZnVuY3Rpb24gdihMKXtpZihMKXsoay5WfHxMLmxlbmd0aD4xKSYmVygiZXh0cmEgc3RhdHVzOiAiK0wpO2suVj0hMDtsZXQgZT17fTtlWzJdPUxbMF07ay5YLnB1c2goZSl9fQpmb3IodmFyIGs9dGhpcyxoPTA7aDxuLmxlbmd0aDspe3ZhciB4O2lmKHg9ay5KIT09Mil7YTp7Zm9yKDtoPG4ubGVuZ3RoOyl7aWYoIWNZKG5baF0pKXt4PSEwO2JyZWFrIGF9aCsrO2suTisrfXg9ITF9eD0heH1pZih4KXJldHVybiBudWxsO3N3aXRjaChrLkope2Nhc2UgNjpXKCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTticmVhaztjYXNlIDA6bltoXT09PSJbIj8oay5KPTEsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAxOm5baF09PT0iWyI/KGsuSj0yLEQoKSk6bltoXT09PSIsInx8bi5zbGljZShoLGgrNSk9PSJudWxsLCI/ay5KPTM6bltoXT09PSJdIj8oay5KPTUsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAyOng9ay5XLnBhcnNlKG4uc3Vic3RyaW5nKGgpKTtiKHgpO2suVy5kb25lKCk/KGsuSj0zLHg9ay5XLlgsay5OKz1uLmxlbmd0aC1oLXgubGVuZ3RoLG49eCxoPTApOihrLk4rPW4ubGVuZ3RoLQpoLGg9bi5sZW5ndGgpO2JyZWFrO2Nhc2UgMzpuW2hdPT09IiwifHxuLnNsaWNlKGgsaCs1KT09Im51bGwsIj8oay5KPTQsRCgpLGsuVy5wYXJzZSgiWyIpLGgrPW5baF09PT0iLCI/MTo1LGsuTisrKTpuW2hdPT09Il0iJiYoay5KPTUsaCsrLGsuTisrKTticmVhaztjYXNlIDQ6eD1rLlcucGFyc2Uobi5zdWJzdHJpbmcoaCkpO3YoeCk7ay5XLmRvbmUoKT8oay5KPTUseD1rLlcuWCxrLk4rPW4ubGVuZ3RoLWgteC5sZW5ndGgsbj14LGg9MCk6KGsuTis9bi5sZW5ndGgtaCxoPW4ubGVuZ3RoKTticmVhaztjYXNlIDU6VygiZXh0cmEgaW5wdXQgYWZ0ZXIgc3RyZWFtIGVuZCIpfX1yZXR1cm4gay5YLmxlbmd0aD4wPyhuPWsuWCxrLlg9W10sbik6bnVsbH07dmFyIHFBdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bnVsbDt0aGlzLmo9dGhpcy5XPTA7dGhpcy5EPSExO3RoaXMuWD10aGlzLks9dGhpcy5WPW51bGw7dGhpcy5ZPW5ldyBCWSh0aGlzKTt0aGlzLlkuU18odGhpcy5OLCJyZWFkeXN0YXRlY2hhbmdlIix0aGlzLk8pfWdldFN0YXR1cygpe3JldHVybiB0aGlzLmp9TyhuKXtuPW4udGFyZ2V0O3RyeXtpZihuPT10aGlzLk4pYTp7bGV0IGs9YTUodGhpcy5OKTt2YXIgVz10aGlzLk4uVyxEPXRoaXMuTi5nZXRTdGF0dXMoKTtsZXQgaD1XMyh0aGlzLk4pO249W107aWYoRG8odGhpcy5OKWluc3RhbmNlb2YgQXJyYXkpe2xldCB4PURvKHRoaXMuTik7eC5sZW5ndGg+MCYmeFswXWluc3RhbmNlb2YgVWludDhBcnJheSYmKHRoaXMuRD0hMCxuPXgpfWlmKCEoazwzfHxrPT0zJiYhaCYmbi5sZW5ndGg9PTApKWlmKEQ9RD09MjAwfHxEPT0yMDYsaz09NCYmKFc9PTg/RGkodGhpcyw3KTpXPT03P0RpKHRoaXMsOCk6RHx8CkRpKHRoaXMsMykpLHRoaXMuSnx8KHRoaXMuSj1oQ3godGhpcy5OKSx0aGlzLko9PW51bGwmJkRpKHRoaXMsNSkpLHRoaXMuaj4yKWJIKHRoaXMpO2Vsc2V7aWYobi5sZW5ndGg+dGhpcy5XKXtsZXQgeD1uLmxlbmd0aDtXPVtdO3RyeXtpZih0aGlzLkouYW8oKSlmb3IodmFyIGI9MDtiPHg7YisrKXt2YXIgdj10aGlzLkoucGFyc2UoQXJyYXkuZnJvbShuW2JdKSk7diYmKFc9Vy5jb25jYXQodikpfWVsc2V7dj0iIjtpZighdGhpcy5WKXtpZih0eXBlb2YgVGV4dERlY29kZXI9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiVGV4dERlY29kZXIgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuIik7dGhpcy5WPW5ldyBUZXh0RGVjb2Rlcn1mb3IoYj0wO2I8eDtiKyspdis9dGhpcy5WLmRlY29kZShuW2JdLHtzdHJlYW06az09NCYmYj09eC0xfSk7Vz10aGlzLkoucGFyc2Uodil9bi5zcGxpY2UoMCx4KTtXJiZ0aGlzLlgoVyl9Y2F0Y2goTCl7RGkodGhpcyw1KTtiSCh0aGlzKTsKYnJlYWsgYX19ZWxzZSBpZihoLmxlbmd0aD50aGlzLlcpe2I9aC5zbGljZSh0aGlzLlcpO3RoaXMuVz1oLmxlbmd0aDt0cnl7bGV0IHg9dGhpcy5KLnBhcnNlKGIpO3ghPW51bGwmJnRoaXMuWCYmdGhpcy5YKHgpfWNhdGNoKHgpe0RpKHRoaXMsNSk7YkgodGhpcyk7YnJlYWsgYX19az09ND8oaC5sZW5ndGghPTB8fHRoaXMuRD9EaSh0aGlzLDIpOkRpKHRoaXMsNCksYkgodGhpcykpOkRpKHRoaXMsMSl9fX1jYXRjaChrKXtEaSh0aGlzLDYpLGJIKHRoaXMpfX19O3ZhciBHaGk9Y2xhc3N7Y29uc3RydWN0b3Iobil7bj10aGlzLlc9bjt2YXIgVz0oMCxnLkt0KSh0aGlzLlgsdGhpcyk7bi5YPVc7bj10aGlzLlc7Vz0oMCxnLkt0KSh0aGlzLmosdGhpcyk7bi5LPVc7dGhpcy5KPXt9O3RoaXMuTj17fX14VihuLFcpe3ZhciBEPXRoaXMuSltuXTtEfHwoRD1bXSx0aGlzLkpbbl09RCk7RC5wdXNoKFcpfWFkZExpc3RlbmVyKG4sVyl7dGhpcy54VihuLFcpO3JldHVybiB0aGlzfXJlbW92ZUxpc3RlbmVyKG4sVyl7dmFyIEQ9dGhpcy5KW25dO0QmJmcuRkkoRCxXKTsobj10aGlzLk5bbl0pJiZnLkZJKG4sVyk7cmV0dXJuIHRoaXN9b25jZShuLFcpe3ZhciBEPXRoaXMuTltuXTtEfHwoRD1bXSx0aGlzLk5bbl09RCk7RC5wdXNoKFcpO3JldHVybiB0aGlzfVgobil7dmFyIFc9dGhpcy5KLmRhdGE7VyYmdksobixXKTsoVz10aGlzLk4uZGF0YSkmJnZLKG4sVyk7dGhpcy5OLmRhdGE9W119aigpe3N3aXRjaCh0aGlzLlcuZ2V0U3RhdHVzKCkpe2Nhc2UgMTprdCh0aGlzLAoicmVhZGFibGUiKTticmVhaztjYXNlIDU6Y2FzZSA2OmNhc2UgNDpjYXNlIDc6Y2FzZSAzOmt0KHRoaXMsImVycm9yIik7YnJlYWs7Y2FzZSA4Omt0KHRoaXMsImNsb3NlIik7YnJlYWs7Y2FzZSAyOmt0KHRoaXMsImVuZCIpfX19O3ZhciAkeGg9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj17Zm9ybWF0OiJqc3BiIn07dGhpcy5ZTz1uLllPfHxnLnJyKCJzdXBwcmVzc0NvcnNQcmVmbGlnaHQiLG4pfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz1uLndpdGhDcmVkZW50aWFsc3x8Zy5ycigid2l0aENyZWRlbnRpYWxzIixuKXx8ITE7dGhpcy5LYj1uLktifHxbXTt0aGlzLkZOPW4uRk58fFtdO3RoaXMuU249bi5Tbjt0aGlzLk49bi5sSXx8ITF9c2VydmVyU3RyZWFtaW5nKG4sVyxELGIpe3ZhciB2PW4uc3Vic3RyaW5nKDAsbi5sZW5ndGgtYi5uYW1lLmxlbmd0aCk7cmV0dXJuIHh4aihrPT57dmFyIGg9ay5sMCx4PWsuZ2V0TWV0YWRhdGEoKSxMPWhhKHRoaXMsITEpO3g9eHQodGhpcyx4LEwsditoLmdldE5hbWUoKSk7dmFyIGU9TF8oTCxoLlcsITApO2s9aC5OKGsuZnYpO0wuc2VuZCh4LCJQT1NUIixrKTtyZXR1cm4gZX0sdGhpcy5LYikuY2FsbCh0aGlzLGIuSihXLEQpKX19O3F3LnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBZWSh0aGlzLk4sdGhpcy5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9DcmVhdGUiLG4sV3x8e30sc09NLEQpfTt2YXIgYW09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iYm9vbCJ9fSxuaj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZDU9Mzt0aGlzLm54PW47dGhpcy5kZWZhdWx0VmFsdWU9Vzt0aGlzLlUwPSJpbnQifX0sV0M9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iZG91YmxlIn19O3ZhciBTY3QsSVV3LFljLEFzVSxub3IsV0lNLG1HWixLNVUsTzcxLEhwLFo3VSxVR0MsUHJpLHlzeCxFZGksaTdDLHVOYixVQmIsZEd0LHpZaSxsVXIsVFBVLGpPaSxDSmksa3FNLERaLEY1aSxjZix3bjIsSGZ4LFNvUyxJWWksTUl4LHowaSxsWWgsVE5DLEJwdCxSWXcsUU94LFZJaixpbGksa1RiLFZrdyxjc3IsYVVNLGJELG5KaSxXRlMsbmEsRGRTLGJnaSx2NWksdkpDLFRfQyx0UzIsa19pLGhGaix4ZGgsZUZVLGdKMSxYQU0scURTLEdfcix0SlMsJGQyLHJUaixzcjIsanNaLE5GVSxHb00seSRqLHllaSxwQXQsanZNLEtZeCxZRFosSGdaLHZDLEplMSxmY3Qsa05qLEpUeCxJY2ksSGYsaldTLFNEUyxZSmIsQVRaLG1kdyxsaVosS0ZyLE9nMixwYk0sd2JTLFpnTSx5VDIsRUpNLHdJMTtTY3Q9bmV3IGFtKDQ1NzU5NTgwLCExKTtJVXc9bmV3IGFtKDQ1NzY2MjczLCExKTtnLlNuaj1uZXcgYW0oNDU3NTc4NzgsITEpO1ljPW5ldyBhbSg0NTc0OTM5NiwhMSk7CkFzVT1uZXcgYW0oNDU4MDg1MjgsITEpO25vcj1uZXcgYW0oNDU3NDIxMTksITEpO1dJTT1uZXcgYW0oNDU3ODQxNjgsITEpO21HWj1uZXcgYW0oNDU4MDEwNjgsITEpO0s1VT1uZXcgYW0oNDU3Nzg2OTYsITEpO083MT1uZXcgYW0oNDU3NTY0NDYsITEpO2cuUEpNPW5ldyBhbSg0NTgwODE1MCwhMSk7SHA9bmV3IGFtKDQ1ODA3NzY0LCExKTtaN1U9bmV3IGFtKDQ1Nzk3NzIxLCExKTtVR0M9bmV3IGFtKDQ1Nzk4OTMyLCExKTtQcmk9bmV3IGFtKDQ1NzYwMDE4LCExKTt5c3g9bmV3IGFtKDQ1NzM5MTk2LCExKTtFZGk9bmV3IGFtKDQ1Nzk0ODY4LCExKTtpN0M9bmV3IGFtKDQ1NzM5MTk4LCExKTt1TmI9bmV3IGFtKDQ1Nzk0ODY3LCExKTtVQmI9bmV3IGFtKDQ1Nzc3MzU2LCExKTtnLm9kWj1uZXcgbmooNDU3NTA5NDcsZy4kVSgiMCIpKTtkR3Q9bmV3IGFtKDQ1Nzk5OTEyLCExKTt6WWk9bmV3IFdDKDQ1NzQ2OTY2LDApO2xVcj1uZXcgV0MoNDU3NDY5NjcsMCk7ClRQVT1uZXcgV0MoNDU3Mzc0ODgsMCk7ak9pPW5ldyBXQyg0NTczNzQ4OSwwKTtDSmk9bmV3IGFtKDQ1Nzk1NTczLCExKTtnLkJQUz1uZXcgYW0oNDU3NjU2ODAsITEpO2txTT1uZXcgYW0oNDU3MzI3OTEsITApO0RaPW5ldyBhbSg0NTc4MTExMiwhMSk7RjVpPW5ldyBhbSg0NTgwODY1MCwhMSk7Y2Y9bmV3IGFtKDQ1ODExODU3LCExKTt3bjI9bmV3IGFtKDQ1ODA1OTY4LCExKTtIZng9bmV3IGFtKDQ1NzY5MTE5LCEwKTtTb1M9bmV3IG5qKDQ1ODA2NTU1LGcuJFUoIjIiKSk7SVlpPW5ldyBuaig0NTc4NDQzOSxnLiRVKCIwIikpO01JeD1uZXcgYW0oNDU4MTc0MDksITEpO3owaT1uZXcgYW0oNDU3Mzc0ODIsITEpO2xZaD1uZXcgV0MoNDU3NDE3NzMsMCk7VE5DPW5ldyBhbSg0NTgwNTg0OCwhMSk7QnB0PW5ldyBhbSg0NTc3MzY3MywhMSk7Ull3PW5ldyBhbSg0NTgwMDYzMywhMSk7UU94PW5ldyBhbSg0NTc5ODA3OCwhMSk7VklqPW5ldyBhbSg0NTczMTA4MywhMSk7CmlsaT1uZXcgYW0oNDU3OTcyNzksITEpO2tUYj1uZXcgYW0oNDU3Mjg1NTMsITEpO1Zrdz1uZXcgYW0oNDU3OTY3NTAsITEpO2Nzcj1uZXcgYW0oNDU3OTQ2ODAsITEpO2FVTT1uZXcgYW0oNDU4MTMwMjcsITEpO2JEPW5ldyBhbSg0NTczNDE5MSwhMSk7bkppPW5ldyBhbSg0NTc5Njc3NywhMSk7V0ZTPW5ldyBhbSg0NTc5Njc3OCwhMSk7bmE9bmV3IGFtKDQ1ODEwNjYxLCExKTtnLkFoPW5ldyBhbSg0NTc0NTYxMCwhMSk7RGRTPW5ldyBhbSg0NTgxNjU3MSwhMSk7YmdpPW5ldyBhbSg0NTc3MzI3MywhMSk7djVpPW5ldyBhbSg0NTc1NjYxOSwhMSk7dkpDPW5ldyBhbSg0NTc1ODI5MCwhMSk7VF9DPW5ldyBhbSg0NTgxMzgzMSwhMSk7dFMyPW5ldyBhbSg0NTczNTUyMywhMSk7a19pPW5ldyBXQyg0NTc3MTg5MCwwKTtoRmo9bmV3IFdDKDQ1ODA3NzczLDApO3hkaD1uZXcgV0MoNDU3MzU0MjgsNEUzKTtnLkxGaT1uZXcgYW0oNDU3ODkwNzcsITEpO2VGVT1uZXcgYW0oNDU3NDgwMDksITEpOwpnSjE9bmV3IGFtKDQ1NzUyNjA0LCExKTtYQU09bmV3IFdDKDQ1NzY5MjE0LDApO3FEUz1uZXcgYW0oNDU3MzU0NjIsITEpO0dfcj1uZXcgYW0oNDU4MTUwNzMsITEpO3RKUz1uZXcgYW0oNDU3NTE5NDMsITEpOyRkMj1uZXcgYW0oNDU3NTE5NDQsITEpO3JUaj1uZXcgYW0oNDU3NTE5NDUsITEpO3NyMj1uZXcgbmooNDU4MDg3NjIsZy4kVSgiMCIpKTtqc1o9bmV3IGFtKDQ1NzY0NTkyLCExKTtORlU9bmV3IFdDKDQ1NzY0NTkzLDApO0dvTT1uZXcgYW0oNDU3NjY1MTEsITEpO3kkaj1uZXcgYW0oNDU4MDYzODgsITEpO3llaT1uZXcgYW0oNDU4MDYzNjMsITEpO3BBdD1uZXcgYW0oNDU4MTU1OTIsITEpO2p2TT1uZXcgYW0oNDU4MTQ0ODAsITEpO0tZeD1uZXcgYW0oNDU4MTA0NjcsITEpO1lEWj1uZXcgYW0oNDU3OTEzMjYsITEpO0hnWj1uZXcgYW0oNDU3ODc3NzEsITEpO3ZDPW5ldyBhbSg0NTc5MTA4NywhMSk7SmUxPW5ldyBhbSg0NTc3Mjg5MSwhMSk7CmZjdD1uZXcgYW0oNDU3OTU4NDQsITEpO2tOaj1uZXcgYW0oNDU3ODM4NzUsITApO0pUeD1uZXcgYW0oNDU3OTU1NzQsITEpO0ljaT1uZXcgYW0oNDU3NzE4OTEsITEpO0hmPW5ldyBhbSg0NTcyODE4MSwhMSk7aldTPW5ldyBhbSg0NTc1NjU0MywhMSk7U0RTPW5ldyBhbSg0NTc1NjYyMCwhMSk7WUpiPW5ldyBhbSg0NTgwODc1NCwhMSk7QVRaPW5ldyBuaig0NTc2MTc2MCxnLiRVKCIyMDAiKSk7bWR3PW5ldyBhbSg0NTc3NjgzMiwhMSk7bGlaPW5ldyBXQyg0NTc2ODQzMCwwKTtLRnI9bmV3IGFtKDQ1Nzc2NTgwLCExKTtPZzI9bmV3IGFtKDQ1NzU1NzYwLCExKTtwYk09bmV3IGFtKDQ1NzYwMDE3LCExKTt3YlM9bmV3IGFtKDQ1NzMyNzc1LCExKTtnLlAzMT1uZXcgYW0oNDU3ODc5NDgsITEpO1pnTT1uZXcgYW0oNDU3NjU4MTgsITEpO2cuVWRDPW5ldyBhbSg0NTczNDc3NiwhMSk7eVQyPW5ldyBhbSg0NTgxNjgxMSwhMSk7RUpNPW5ldyBhbSg0NTc2MDEyMCwhMSk7Cmcua0g9bmV3IGFtKDQ1NzcwNDc2LCExKTt3STE9bmV3IGFtKDQ1ODA4MDUzLCExKTt2YXIgWXhyPW5ldyBXQyg0NTgwMzc1NCwwKSxtRGg9bmV3IFdDKDQ1NzkxMTE3LDApLHZNUz1uZXcgV0MoNDU3MjU1NDIsMCksWlJ4PW5ldyBXQyg0NTc5NDQ0MSwwKSxlVVU9bmV3IFdDKDQ1ODA3NzcxLDApLEhScj1uZXcgV0MoNDU3NzM2MDMsMCksZndqPW5ldyBXQyg0NTc3MzYwNCwwKSx4RFo9bmV3IFdDKDQ1Nzk3OTYzLDApLGJSdz1uZXcgV0MoNDU3MjU1NDMsMCksUGhqPW5ldyBXQyg0NTc5MzcxMCwwKSxoVWk9bmV3IFdDKDQ1NzU3NDI2LDApLG5Ndz1uZXcgV0MoNDU3MjU1MzksMCksSlIxPW5ldyBXQyg0NTgwNTY5NSwwKSxERFo9bmV3IFdDKDQ1NzI1NTQxLDApLFhHVT1uZXcgV0MoNDU3NTc0MjcsMCksQ1JpPW5ldyBhbSg0NTc5MTIwNiwhMSksV2t0PW5ldyBXQyg0NTcyNTU0MCwwKSxhWXg9bmV3IFdDKDQ1NzI1NTM4LDApLEtraT1uZXcgV0MoNDU3OTExMTgsMCksazZ3PW5ldyBXQyg0NTc2NDUyMywwKSxTeGk9bmV3IFdDKDQ1ODA0NzcxLDApLEl3eD1uZXcgV0MoNDU3ODY0NDMsCjApLFVEMj1uZXcgV0MoNDU4MDIxMjMsMCkscXhoPW5ldyBXQyg0NTc2NDIxNywwKSxHNjI9bmV3IFdDKDQ1NzY0NTI0LDApLCREMT1uZXcgV0MoNDU3NjU2MDIsMCksTGtDPW5ldyBXQyg0NTgwNzQzMiwwKSxBUk09bmV3IFdDKDQ1Nzc2MTkwLDApLE9SVT1uZXcgV0MoNDU3OTExMTksMCksVWJTPW5ldyBXQyg0NTgxNTAxMSwwKSxOZFM9bmV3IFdDKDQ1Nzc4NjcxLDApLHBHMT1uZXcgV0MoNDU3NDEzMzksMCksdDVpPW5ldyBXQyg0NTc2Nzc2MywwKSxnTXg9bmV3IFdDKDQ1ODA3NzcyLDApLHN3aT1uZXcgV0MoNDU3NzAwMDIsMCksclJpPW5ldyBXQyg0NTc3MDAwMSwwKTt2YXIgaWd0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIHVwMj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1KKCl7cmV0dXJuIHRoaXMuTi5RUShHX3IpfX07dmFyIHI0Mj0vKD86XFt8JTVCKShbYS16QS1aMC05X10rKSg/OlxdfCU1RCkvZzt2YXIgb0pVPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fTt2YXIgaEw9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4sNTAwKX19O3ZhciBkZFM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE5hbWUoKXtyZXR1cm4gWTkodGhpcywxKX1nZXRPcHRpb25zKCl7cmV0dXJuIGdlKHRoaXMsaEwsMyl9Y2xlYXJPcHRpb25zKCl7cmV0dXJuIG96KHRoaXMsMyl9fTt2YXIgekZpPWZ1bmN0aW9uKG4pe3JldHVybiBXPT57Vz1KU09OLnBhcnNlKFcpO2lmKCFBcnJheS5pc0FycmF5KFcpKXRocm93IEVycm9yKCJFeHBlY3RlZCBqc3BiIGRhdGEgdG8gYmUgYW4gYXJyYXksIGdvdCAiK3B0KFcpKyI6ICIrVyk7V1tiNF18PTM0O3JldHVybiBuZXcgbihXKX19KGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXROYW1lKCl7cmV0dXJuIFk5KHRoaXMsMSl9Z2V0T3B0aW9ucygpe3JldHVybiBnZSh0aGlzLG9KVSwzKX1jbGVhck9wdGlvbnMoKXtyZXR1cm4gb3oodGhpcywzKX1YTygpe3JldHVybiBIVyh0aGlzLDYpfU1MKG4pe0tuKHRoaXMsNixuKX19KTt2YXIgbGNyPVN5bWJvbCgpO3ZhciBURnI7VEZyPW5ldyBtNFooOTk4LGhMLGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19KTt2YXIgeEg9U3ltYm9sKCk7dmFyICR0PWNsYXNzIGV4dGVuZHMgZy5vV3tjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD10aGlzLk49MDt0aGlzLkEkPW4/P3tMUzooVyxEKT0+c2V0VGltZW91dChXLEQpLApzTzpXPT57Y2xlYXJUaW1lb3V0KFcpfX07CnRoaXMuaXNPbmxpbmU9d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lPz8hMDt0aGlzLko9YXN5bmMoKT0+e2F3YWl0IHJYKHRoaXMpfTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLlh8fHRoaXMuaFQoKX1kaXNwb3NlKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLkEkLnNPKHRoaXMuWCk7ZGVsZXRlICR0Lmluc3RhbmNlfVdHKCl7cmV0dXJuIHRoaXMuaXNPbmxpbmV9aFQoKXt0aGlzLlg9dGhpcy5BJC5MUyhhc3luYygpPT57dGhpcy5pc09ubGluZT93aW5kb3cubmF2aWdhdG9yPy5vbkxpbmV8fGF3YWl0IHJYKHRoaXMpOmF3YWl0IHJYKHRoaXMpO3RoaXMuaFQoKX0sM0U0KX19O3ZhciBqcjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEMzcj1bMCxJcWosLTFdO3ZhciBMaj1bMCxIaXcsLTFdO3ZhciBCRnQ9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEZGaT1nLkE5KFswLGcuQ3gsLTEsZy5FNixnLm9tLEMzciwtMSx5cCxpVSxnLkN4LExqLGcub20sZy5DeCwtMSxbMCxDM3IsLTFdLGlVLFkzQyxMaix5cCxbMCwxLGlVLC00LFU2LFswLHlwLC0xLGlVXSxnLm9tLHlwLGcuZHEsWzAsZy5DeCxpVV0saVUsLTEsZy5DeCwtMix5cCwtMSxnLkN4LHlwLGcuQ3gsaVUsWzAsMyxpVSwtMSw0LFRnXSxVNixqbyxbMCxnLkN4LC0xLGcub21dLHVVXSxnLm9tLEpYUyxnLmRxLFswLExqLGcuZHEsWzAsZy5vbSxnLkN4XSx5cCxnLkN4LC0xXSwxLGcuZHEsWzAsWTNDLC0xLGpvXSxnLkN4LExqXSk7dmFyIFV2Mj1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Sigpe3JldHVybiBIVyh0aGlzLDUpfX0sWzAsZy5DeCxbMCxnLkU2LGZxdywtMV0saVUsZy5DeCwtMixpVSxnLkU2XSk7dmFyIGxYcj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLk49LTF9c2V0KG4sVz0hMCl7MDw9biYmbjw1MiYmTnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5kYXRhW25dIT09VyYmKHRoaXMuZGF0YVtuXT1XLHRoaXMuTj0tMSl9Z2V0KG4pe3JldHVybiEhdGhpcy5kYXRhW25dfX07Zy5peChnLnBfLGcuRk0pO2cuRT1nLnBfLnByb3RvdHlwZTtnLkUuc3RhcnQ9ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKTt0aGlzLlg9ITE7dmFyIG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT8odGhpcy5OPUFIKHRoaXMuSiwiTW96QmVmb3JlUGFpbnQiLHRoaXMuVyksdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZShudWxsKSx0aGlzLlg9ITApOnRoaXMuTj1uJiZXP24uY2FsbCh0aGlzLkosdGhpcy5XKTp0aGlzLkouc2V0VGltZW91dChqTWgodGhpcy5XKSwyMCl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBY3RpdmUoKSl7bGV0IG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT9FMih0aGlzLk4pOm4mJlc/Vy5jYWxsKHRoaXMuSix0aGlzLk4pOnRoaXMuSi5jbGVhclRpbWVvdXQodGhpcy5OKX10aGlzLk49bnVsbH07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk4hPW51bGx9OwpnLkUuT3Q9ZnVuY3Rpb24oKXt0aGlzLlgmJnRoaXMuTiYmRTIodGhpcy5OKTt0aGlzLk49bnVsbDt0aGlzLlYuY2FsbCh0aGlzLmosZy5VdygpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuc3RvcCgpO2cucF8uVEIubUEuY2FsbCh0aGlzKX07Zy5peChnLmZfLGcuRk0pO2cuRT1nLmZfLnByb3RvdHlwZTtnLkUudDg9MDtnLkUubUE9ZnVuY3Rpb24oKXtnLmZfLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5zdG9wKCk7ZGVsZXRlIHRoaXMuTjtkZWxldGUgdGhpcy5KfTsKZy5FLnN0YXJ0PWZ1bmN0aW9uKG4pe3RoaXMuc3RvcCgpO3RoaXMudDg9Zy5adCh0aGlzLlcsbiE9PXZvaWQgMD9uOnRoaXMuZ3QpfTsKZy5FLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmlzQWN0aXZlKCkmJmcucWkuY2xlYXJUaW1lb3V0KHRoaXMudDgpO3RoaXMudDg9MH07CmcuRS5qZT1mdW5jdGlvbigpe3RoaXMuaXNBY3RpdmUoKSYmKHRoaXMuc3RvcCgpLHRoaXMuaSQoKSl9OwpnLkUuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50OCE9MH07CmcuRS5pJD1mdW5jdGlvbigpe3RoaXMudDg9MDt0aGlzLk4mJnRoaXMuTi5jYWxsKHRoaXMuSil9O3ZhciB3QWk9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLlg9VyE9bnVsbD9uLmJpbmQoVyk6bjt0aGlzLmd0PTM1MDt0aGlzLlc9bnVsbDt0aGlzLk49ITE7dGhpcy5KPTA7dGhpcy5aNj1udWxsfWoobil7dGhpcy5XPWFyZ3VtZW50czt0aGlzLlo2fHx0aGlzLko/dGhpcy5OPSEwOklGKHRoaXMpfXN0b3AoKXt0aGlzLlo2JiYoZy5xaS5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsLHRoaXMuTj0hMSx0aGlzLlc9bnVsbCl9cGF1c2UoKXt0aGlzLkorK31yZXN1bWUoKXt0aGlzLkotLTt0aGlzLkp8fCF0aGlzLk58fHRoaXMuWjZ8fCh0aGlzLk49ITEsSUYodGhpcykpfW1BKCl7c3VwZXIubUEoKTt0aGlzLnN0b3AoKX19O3ZhciB1eWksR2cscWw7dXlpPVJlZ0V4cCgiXltcdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdIik7R2c9UmVnRXhwKCJeW15cdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdKltBLVphLXpcdTAwYzAtXHUwMGQ2XHUwMGQ4LVx1MDBmNlx1MDBmOC1cdTAyYjhcdTAzMDAtXHUwNTkwXHUwOTAwLVx1MWZmZlx1MjAwZVx1MmMwMC1cdWQ4MDFcdWQ4MDQtXHVkODM5XHVkODNjLVx1ZGJmZlx1ZjkwMC1cdWZiMWNcdWZlMDAtXHVmZTZmXHVmZWZkLVx1ZmZmZl0iKTtxbD1SZWdFeHAoIl5bXkEtWmEtelx1MDBjMC1cdTAwZDZcdTAwZDgtXHUwMGY2XHUwMGY4LVx1MDJiOFx1MDMwMC1cdTA1OTBcdTA5MDAtXHUxZmZmXHUyMDBlXHUyYzAwLVx1ZDgwMVx1ZDgwNC1cdWQ4MzlcdWQ4M2MtXHVkYmZmXHVmOTAwLVx1ZmIxY1x1ZmUwMC1cdWZlNmZcdWZlZmQtXHVmZmZmXSpbXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXSIpOwpnLk1KaT1SZWdFeHAoIl4oYXJ8Y2tifGR2fGhlfGl3fGZhfG5xb3xwc3xzZHx1Z3x1cnx5aXwuKlstX10oQWRsbXxBcmFifEhlYnJ8Tmtvb3xSb2hnfFRoYWEpKSg/IS4qWy1fXShMYXRufEN5cmwpKCR8LXxfKSkoJHwtfF8pIiwiaSIpO0ludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihbImVuIi5yZXBsYWNlKCJfIiwiLSIpXSk7dUgucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gUkZNfTsKdmFyIFJGTT17ZG9uZTohMCx2YWx1ZTp2b2lkIDB9O3VILnByb3RvdHlwZS5ncT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt2YXIgb0Y9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59Z3EoKXtyZXR1cm4gbmV3IGRYKHRoaXMuTigpKX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBuZXcgeksodGhpcy5OKCkpfUooKXtyZXR1cm4gbmV3IHpLKHRoaXMuTigpKX19LGRYPWNsYXNzIGV4dGVuZHMgdUh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1uZXh0KCl7cmV0dXJuIHRoaXMuTi5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHpLKHRoaXMuTil9Sigpe3JldHVybiBuZXcgeksodGhpcy5OKX19LHpLPWNsYXNzIGV4dGVuZHMgb0Z7Y29uc3RydWN0b3Iobil7c3VwZXIoKCk9Pm4pOwp0aGlzLlc9bn1uZXh0KCl7cmV0dXJuIHRoaXMuVy5uZXh0KCl9fTtsSC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGxIKHRoaXMuTix0aGlzLkssdGhpcy5XLHRoaXMuaix0aGlzLlgsdGhpcy5WLHRoaXMuSix0aGlzLlkpfTsKbEgucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5OPT1uLk4mJnRoaXMuSz09bi5LJiZ0aGlzLlc9PW4uVyYmdGhpcy5qPT1uLmomJnRoaXMuWD09bi5YJiZ0aGlzLlY9PW4uViYmdGhpcy5KPT1uLkomJnRoaXMuWT09bi5ZfTsoZnVuY3Rpb24oKXtpZihwUWope3ZhciBuPS9XaW5kb3dzIE5UIChbMC05Ll0rKS87cmV0dXJuKG49bi5leGVjKGcuWFEoKSkpP25bMV06IjAifXJldHVybiBucj8obj0vMVswfDFdW18uXVswLTlfLl0rLywobj1uLmV4ZWMoZy5YUSgpKSk/blswXS5yZXBsYWNlKC9fL2csIi4iKToiMTAiKTpnLlFIPyhuPS9BbmRyb2lkXHMrKFteXCk7XSspKFwpfDspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXToiIik6V1VafHxENGl8fGJpVT8obj0vKD86aVBob25lfENQVSlccytPU1xzKyhcUyspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXS5yZXBsYWNlKC9fL2csIi4iKToiIik6IiJ9KSgpO3ZhciBmWDI9ZnVuY3Rpb24oKXtpZihnLmFvKXJldHVybiBqQSgvRmlyZWZveFwvKFswLTkuXSspLyk7aWYoZy5raHx8Zy5SZ3x8cmMpcmV0dXJuIFAyO2lmKGcub2Qpe2lmKGcuQTQoKXx8Zy5teCgpKXt2YXIgbj1qQSgvQ3JpT1NcLyhbMC05Ll0rKS8pO2lmKG4pcmV0dXJuIG59cmV0dXJuIGpBKC9DaHJvbWVcLyhbMC05Ll0rKS8pfWlmKGcuR24mJiFnLkE0KCkpcmV0dXJuIGpBKC9WZXJzaW9uXC8oWzAtOS5dKykvKTtpZih3OHx8TVgpe2lmKG49L1ZlcnNpb25cLyhcUyspLipNb2JpbGVcLyhcUyspLy5leGVjKGcuWFEoKSkpcmV0dXJuIG5bMV0rIi4iK25bMl19ZWxzZSBpZihnLkltKXJldHVybihuPWpBKC9BbmRyb2lkXHMrKFswLTkuXSspLykpP246akEoL1ZlcnNpb25cLyhbMC05Ll0rKS8pO3JldHVybiIifSgpO2cuaXgoQkssZy5GTSk7Zy5FPUJLLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10aGlzLkpbbl07Ynx8KGI9dGhpcy5KW25dPVtdKTt2YXIgdj10aGlzLlY7dGhpcy5OW3ZdPW47dGhpcy5OW3YrMV09Vzt0aGlzLk5bdisyXT1EO3RoaXMuVj12KzM7Yi5wdXNoKHYpO3JldHVybiB2fTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXRoaXMuSltuXSl7bGV0IGI9dGhpcy5OO2lmKG49bi5maW5kKGZ1bmN0aW9uKHYpe3JldHVybiBiW3YrMV09PVcmJmJbdisyXT09RH0pKXJldHVybiB0aGlzLmpLKG4pfXJldHVybiExfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3ZhciBXPXRoaXMuTltuXTtpZihXKXtsZXQgRD10aGlzLkpbV107dGhpcy5YIT0wPyh0aGlzLlcucHVzaChuKSx0aGlzLk5bbisxXT0oKT0+e30pOihEJiZnLkZJKEQsbiksZGVsZXRlIHRoaXMuTltuXSxkZWxldGUgdGhpcy5OW24rMV0sZGVsZXRlIHRoaXMuTltuKzJdKX1yZXR1cm4hIVd9OwpnLkUuV0o9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLkpbbl07aWYoRCl7bGV0IHY9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTt2YXIgYj1hcmd1bWVudHMubGVuZ3RoO2xldCBrO2ZvcihrPTE7azxiO2srKyl2W2stMV09YXJndW1lbnRzW2tdO2lmKHRoaXMuSylmb3Ioaz0wO2s8RC5sZW5ndGg7aysrKWI9RFtrXSxKNHIodGhpcy5OW2IrMV0sdGhpcy5OW2IrMl0sdik7ZWxzZXt0aGlzLlgrKzt0cnl7Zm9yKGs9MCxiPUQubGVuZ3RoO2s8YiYmIXRoaXMucU4oKTtrKyspe2xldCBoPURba107dGhpcy5OW2grMV0uYXBwbHkodGhpcy5OW2grMl0sdil9fWZpbmFsbHl7aWYodGhpcy5YLS0sdGhpcy5XLmxlbmd0aD4wJiZ0aGlzLlg9PTApZm9yKDtEPXRoaXMuVy5wb3AoKTspdGhpcy5qSyhEKX19cmV0dXJuIGshPTB9cmV0dXJuITF9OwpnLkUuY2xlYXI9ZnVuY3Rpb24obil7aWYobil7bGV0IFc9dGhpcy5KW25dO1cmJihXLmZvckVhY2godGhpcy5qSyx0aGlzKSxkZWxldGUgdGhpcy5KW25dKX1lbHNlIHRoaXMuTi5sZW5ndGg9MCx0aGlzLko9e319OwpnLkUubUE9ZnVuY3Rpb24oKXtCSy5UQi5tQS5jYWxsKHRoaXMpO3RoaXMuY2xlYXIoKTt0aGlzLlcubGVuZ3RoPTB9O2cuRmQucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDA/dGhpcy5OLnJlbW92ZShuKTp0aGlzLk4uc2V0KG4sKG5ldyBsZSkuYlkoVykpfTsKZy5GZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3RyeXt2YXIgVz10aGlzLk4uZ2V0KG4pfWNhdGNoKEQpe3JldHVybn1pZihXIT09bnVsbCl0cnl7cmV0dXJuIEpTT04ucGFyc2UoVyl9Y2F0Y2goRCl7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO319OwpnLkZkLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5OLnJlbW92ZShuKX07Zy5peCh3WCxnLkZkKTt3WC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyl7d1guVEIuc2V0LmNhbGwodGhpcyxuLFJGKFcpKX07CndYLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXtuPXdYLlRCLmdldC5jYWxsKHRoaXMsbik7aWYobj09PXZvaWQgMHx8biBpbnN0YW5jZW9mIE9iamVjdClyZXR1cm4gbjt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fTsKd1gucHJvdG90eXBlLmdldD1mdW5jdGlvbihuKXtpZihuPXRoaXMuTUQobikpe2lmKG49bi5kYXRhLG49PT12b2lkIDApdGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO31lbHNlIG49dm9pZCAwO3JldHVybiBufTtnLml4KFFLLHdYKTtRSy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyxEKXtpZihXPVJGKFcpKXtpZihEKXtpZihEPGcuVXcoKSl7UUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7cmV0dXJufVcuZXhwaXJhdGlvbj1EfVcuY3JlYXRpb249Zy5VdygpfVFLLlRCLnNldC5jYWxsKHRoaXMsbixXKX07ClFLLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXt2YXIgVz1RSy5UQi5NRC5jYWxsKHRoaXMsbik7aWYoVyl7bGV0IEQ9Vy5jcmVhdGlvbixiPVcuZXhwaXJhdGlvbjtpZihiJiZiPGcuVXcoKXx8RCYmRD5nLlV3KCkpUUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7ZWxzZSByZXR1cm4gV319O2cuaXgoVkssUUspO2cuaXgoY0ssSVgxKTtjSy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBZQTEodGhpcy5ncSghMCkpLkooKX07CmNLLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBuPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBXIG9mIG4pdGhpcy5yZW1vdmUoVyl9O2cuaXgoYUYsY0spO2cuRT1hRi5wcm90b3R5cGU7Zy5FLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5KPT09bnVsbCl7dmFyIG49dGhpcy5OO2lmKG4pdHJ5e24uc2V0SXRlbSgiX19zYWsiLCIxIik7bi5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBXPSEwfWNhdGNoKEQpe1c9RCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKEQubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxELmNvZGU9PT0yMnx8RC5jb2RlPT09MTAxNHx8RC5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJm4mJm4ubGVuZ3RoIT09MH1lbHNlIFc9ITE7dGhpcy5KPVd9cmV0dXJuIHRoaXMuSn07CmcuRS5zZXQ9ZnVuY3Rpb24obixXKXtuZSh0aGlzKTt0cnl7dGhpcy5OLnNldEl0ZW0obixXKX1jYXRjaChEKXtpZih0aGlzLk4ubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319OwpnLkUuZ2V0PWZ1bmN0aW9uKG4pe25lKHRoaXMpO249dGhpcy5OLmdldEl0ZW0obik7aWYodHlwZW9mIG4hPT0ic3RyaW5nIiYmbiE9PW51bGwpdGhyb3ciU3RvcmFnZSBtZWNoYW5pc206IEludmFsaWQgdmFsdWUgd2FzIGVuY291bnRlcmVkIjtyZXR1cm4gbn07CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7bmUodGhpcyk7dGhpcy5OLnJlbW92ZUl0ZW0obil9OwpnLkUuZ3E9ZnVuY3Rpb24obil7bmUodGhpcyk7dmFyIFc9MCxEPXRoaXMuTixiPW5ldyB1SDtiLm5leHQ9ZnVuY3Rpb24oKXtpZihXPj1ELmxlbmd0aClyZXR1cm4gUkZNO3ZhciB2PUQua2V5KFcrKyk7aWYobilyZXR1cm57dmFsdWU6dixkb25lOiExfTt2PUQuZ2V0SXRlbSh2KTtpZih0eXBlb2YgdiE9PSJzdHJpbmciKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7cmV0dXJue3ZhbHVlOnYsZG9uZTohMX19OwpyZXR1cm4gYn07CmcuRS5jbGVhcj1mdW5jdGlvbigpe25lKHRoaXMpO3RoaXMuTi5jbGVhcigpfTsKZy5FLmtleT1mdW5jdGlvbihuKXtuZSh0aGlzKTtyZXR1cm4gdGhpcy5OLmtleShuKX07Zy5peChXUyxhRik7Zy5peChEUSxhRik7Zy5peChiQyxjSyk7YkMucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe3RoaXMuSi5zZXQodGhpcy5OK24sVyl9OwpiQy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLkouZ2V0KHRoaXMuTituKX07CmJDLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5KLnJlbW92ZSh0aGlzLk4rbil9OwpiQy5wcm90b3R5cGUuZ3E9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5KW1N5bWJvbC5pdGVyYXRvcl0oKSxEPXRoaXMsYj1uZXcgdUg7Yi5uZXh0PWZ1bmN0aW9uKCl7dmFyIHY9Vy5uZXh0KCk7aWYodi5kb25lKXJldHVybiB2O2Zvcih2PXYudmFsdWU7di5zbGljZSgwLEQuTi5sZW5ndGgpIT1ELk47KXt2PVcubmV4dCgpO2lmKHYuZG9uZSlyZXR1cm4gdjt2PXYudmFsdWV9cmV0dXJue3ZhbHVlOm4/di5zbGljZShELk4ubGVuZ3RoKTpELkouZ2V0KHYpLGRvbmU6ITF9fTsKcmV0dXJuIGJ9O2tqLnByb3RvdHlwZS5nZXRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkp9Owprai5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGtqKHRoaXMuTix0aGlzLkopfTt2YXIgZWM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPVtdO2lmKG4pYTp7bGV0IEQ7aWYobiBpbnN0YW5jZW9mIGVjKXtpZihEPW4udUIoKSxuPW4uejcoKSx0aGlzLk4ubGVuZ3RoPD0wKXt2YXIgVz10aGlzLk47Zm9yKGxldCBiPTA7YjxELmxlbmd0aDtiKyspVy5wdXNoKG5ldyBraihEW2JdLG5bYl0pKTticmVhayBhfX1lbHNlIEQ9Zy5MVChuKSxuPWhLKG4pO2ZvcihXPTA7VzxELmxlbmd0aDtXKyspdGhpcy5xcChEW1ddLG5bV10pfX1xcChuLFcpe3ZhciBEPXRoaXMuTjtELnB1c2gobmV3IGtqKG4sVykpO249RC5sZW5ndGgtMTtXPXRoaXMuTjtmb3IoRD1XW25dO24+MDspe2xldCBiPW4tMT4+MTtpZihXW2JdLk4+RC5OKVdbbl09V1tiXSxuPWI7ZWxzZSBicmVha31XW25dPUR9cmVtb3ZlKCl7dmFyIG49dGhpcy5OLFc9bi5sZW5ndGgsRD1uWzBdO2lmKCEoVzw9MCkpe2lmKFc9PTEpbi5sZW5ndGg9MDtlbHNle25bMF09bi5wb3AoKTtuPTA7Vz10aGlzLk47bGV0IHY9Vy5sZW5ndGgsCms9V1tuXTtmb3IoO248dj4+MTspe3ZhciBiPW4qMisxO2xldCBoPW4qMisyO2I9aDx2JiZXW2hdLk48V1tiXS5OP2g6YjtpZihXW2JdLk4+ay5OKWJyZWFrO1dbbl09V1tiXTtuPWJ9V1tuXT1rfXJldHVybiBELmdldFZhbHVlKCl9fXo3KCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLmdldFZhbHVlKCkpO3JldHVybiBXfXVCKCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLk4pO3JldHVybiBXfWNsb25lKCl7cmV0dXJuIG5ldyBlYyh0aGlzKX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuTi5sZW5ndGg9PT0wfWNsZWFyKCl7dGhpcy5OLmxlbmd0aD0wfX07dmFyIFFyaD1jbGFzcyBleHRlbmRzIGVje307dmFyIGhrPXt9LFZKaT10eXBlb2YgVWludDhBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgVWludDE2QXJyYXkhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEludDMyQXJyYXkhPT0idW5kZWZpbmVkIjtoay5hc3NpZ249ZnVuY3Rpb24obil7Zm9yKHZhciBXPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtXLmxlbmd0aDspe3ZhciBEPVcuc2hpZnQoKTtpZihEKXtpZih0eXBlb2YgRCE9PSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoRCsibXVzdCBiZSBub24tb2JqZWN0Iik7Zm9yKHZhciBiIGluIEQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsYikmJihuW2JdPURbYl0pfX1yZXR1cm4gbn07CmhrLlVmPWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg9PT1XKXJldHVybiBuO2lmKG4uc3ViYXJyYXkpcmV0dXJuIG4uc3ViYXJyYXkoMCxXKTtuLmxlbmd0aD1XO3JldHVybiBufTsKdmFyIGNUMj17UDc6ZnVuY3Rpb24obixXLEQsYix2KXtpZihXLnN1YmFycmF5JiZuLnN1YmFycmF5KW4uc2V0KFcuc3ViYXJyYXkoRCxEK2IpLHYpO2Vsc2UgZm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7dmFyIFcsRDt2YXIgYj1EPTA7Zm9yKFc9bi5sZW5ndGg7YjxXO2IrKylEKz1uW2JdLmxlbmd0aDt2YXIgdj1uZXcgVWludDhBcnJheShEKTtiPUQ9MDtmb3IoVz1uLmxlbmd0aDtiPFc7YisrKXt2YXIgaz1uW2JdO3Yuc2V0KGssRCk7RCs9ay5sZW5ndGh9cmV0dXJuIHZ9fSxhY0M9e1A3OmZ1bmN0aW9uKG4sVyxELGIsdil7Zm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLG4pfX07CmhrLlhHPWZ1bmN0aW9uKCl7VkppPyhoay5PbT1VaW50OEFycmF5LGhrLm1LPVVpbnQxNkFycmF5LGhrLlN2PUludDMyQXJyYXksaGsuYXNzaWduKGhrLGNUMikpOihoay5PbT1BcnJheSxoay5tSz1BcnJheSxoay5Tdj1BcnJheSxoay5hc3NpZ24oaGssYWNDKSl9Owpoay5YRygpO3ZhciBueGk9ITA7dHJ5e25ldyBVaW50OEFycmF5KDEpfWNhdGNoKG4pe254aT0hMX07dmFyIFZ0PXt9O1Z0PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4mNjU1MzV8MDtuPW4+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgaztEIT09MDspe2s9RD4yRTM/MkUzOkQ7RC09aztkbyB2PXYrV1tiKytdfDAsbj1uK3Z8MDt3aGlsZSgtLWspO3YlPTY1NTIxO24lPTY1NTIxfXJldHVybiB2fG48PDE2fDB9O2Zvcih2YXIgY1M9e30sZ24sV3RyPVtdLFhzPTA7WHM8MjU2O1hzKyspe2duPVhzO2Zvcih2YXIgRGtaPTA7RGtaPDg7RGtaKyspZ249Z24mMT8zOTg4MjkyMzg0XmduPj4+MTpnbj4+PjE7V3RyW1hzXT1nbn1jUz1mdW5jdGlvbihuLFcsRCxiKXtEPWIrRDtmb3Iobl49LTE7YjxEO2IrKyluPW4+Pj44Xld0clsobl5XW2JdKSYyNTVdO3JldHVybiBuXi0xfTt2YXIgekI9e307ekI9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgbSQ9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sUFM9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLFowdz1bMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDMsN10sQ2U9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdLEJTPUFycmF5KDU3Nik7TGUoQlMpO3ZhciBGOT1BcnJheSg2MCk7TGUoRjkpO3ZhciBPJD1BcnJheSg1MTIpO0xlKE8kKTt2YXIgQWs9QXJyYXkoMjU2KTtMZShBayk7dmFyIEtlPUFycmF5KDI5KTtMZShLZSk7dmFyIFpRPUFycmF5KDMwKTtMZShaUSk7dmFyIHhmLEx3LGVILGhyPSExO3ZhciBidztidz1bbmV3IERFKDAsMCwwLDAsZnVuY3Rpb24obixXKXt2YXIgRD02NTUzNTtmb3IoRD5uLnl2LTUmJihEPW4ueXYtNSk7Oyl7aWYobi5HVzw9MSl7YVMobik7aWYobi5HVz09PTAmJlc9PT0wKXJldHVybiAxO2lmKG4uR1c9PT0wKWJyZWFrfW4ucXMrPW4uR1c7bi5HVz0wO3ZhciBiPW4uT0srRDtpZihuLnFzPT09MHx8bi5xcz49YilpZihuLkdXPW4ucXMtYixuLnFzPWIsdzcobiwhMSksbi5UUi51Uj09PTApcmV0dXJuIDE7aWYobi5xcy1uLk9LPj1uLnhyLTI2MiYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7aWYoVz09PTQpcmV0dXJuIHc3KG4sITApLG4uVFIudVI9PT0wPzM6NDtuLnFzPm4uT0smJnc3KG4sITEpO3JldHVybiAxfSksCm5ldyBERSg0LDQsOCw0LG53KSxuZXcgREUoNCw1LDE2LDgsbncpLG5ldyBERSg0LDYsMzIsMzIsbncpLG5ldyBERSg0LDQsMTYsMTYsV1YpLG5ldyBERSg4LDE2LDMyLDMyLFdWKSxuZXcgREUoOCwxNiwxMjgsMTI4LFdWKSxuZXcgREUoOCwzMiwxMjgsMjU2LFdWKSxuZXcgREUoMzIsMTI4LDI1OCwxMDI0LFdWKSxuZXcgREUoMzIsMjU4LDI1OCw0MDk2LFdWKV07dmFyIGtmPXt9O2tmPWZ1bmN0aW9uKCl7dGhpcy5pbnB1dD1udWxsO3RoaXMuRW09dGhpcy5CQT10aGlzLlVaPTA7dGhpcy5vdXRwdXQ9bnVsbDt0aGlzLnRCPXRoaXMudVI9dGhpcy51Zz0wO3RoaXMubXNnPSIiO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnFTPTI7dGhpcy5nST0wfTt2YXIgZzI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdlYucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLlRSLGI9dGhpcy5vcHRpb25zLmNodW5rU2l6ZTtpZih0aGlzLmVuZGVkKXJldHVybiExO3ZhciB2PVc9PT1+flc/VzpXPT09ITA/NDowO3R5cGVvZiBuPT09InN0cmluZyI/RC5pbnB1dD14aihuKTpnMi5jYWxsKG4pPT09IltvYmplY3QgQXJyYXlCdWZmZXJdIj9ELmlucHV0PW5ldyBVaW50OEFycmF5KG4pOkQuaW5wdXQ9bjtELlVaPTA7RC5CQT1ELmlucHV0Lmxlbmd0aDtkb3tELnVSPT09MCYmKEQub3V0cHV0PW5ldyBoay5PbShiKSxELnVnPTAsRC51Uj1iKTtuPVBwMShELHYpO2lmKG4hPT0xJiZuIT09MClyZXR1cm4gdGhpcy5IdChuKSx0aGlzLmVuZGVkPSEwLCExO2lmKEQudVI9PT0wfHxELkJBPT09MCYmKHY9PT00fHx2PT09MikpaWYodGhpcy5vcHRpb25zLnRvPT09InN0cmluZyIpe3ZhciBrPWhrLlVmKEQub3V0cHV0LEQudWcpO1c9aztrPWsubGVuZ3RoO2lmKGs8NjU1MzcmJihXLnN1YmFycmF5JiYKbnhpfHwhVy5zdWJhcnJheSkpVz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsaGsuVWYoVyxrKSk7ZWxzZXtmb3IodmFyIGg9IiIseD0wO3g8azt4KyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShXW3hdKTtXPWh9dGhpcy5jaHVua3MucHVzaChXKX1lbHNlIFc9aGsuVWYoRC5vdXRwdXQsRC51ZyksdGhpcy5jaHVua3MucHVzaChXKX13aGlsZSgoRC5CQT4wfHxELnVSPT09MCkmJm4hPT0xKTtpZih2PT09NClyZXR1cm4oRD10aGlzLlRSKSYmRC5zdGF0ZT8oYj1ELnN0YXRlLnN0YXR1cyxiIT09NDImJmIhPT02OSYmYiE9PTczJiZiIT09OTEmJmIhPT0xMDMmJmIhPT0xMTMmJmIhPT02NjY/bj1sQyhELC0yKTooRC5zdGF0ZT1udWxsLG49Yj09PTExMz9sQyhELC0zKTowKSk6bj0tMix0aGlzLkh0KG4pLHRoaXMuZW5kZWQ9ITAsbj09PTA7dj09PTImJih0aGlzLkh0KDApLEQudVI9MCk7cmV0dXJuITB9Owp2Vi5wcm90b3R5cGUuSHQ9ZnVuY3Rpb24obil7bj09PTAmJih0aGlzLnJlc3VsdD10aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIj90aGlzLmNodW5rcy5qb2luKCIiKTpoay5QNih0aGlzLmNodW5rcykpO3RoaXMuY2h1bmtzPVtdO3RoaXMuZXJyPW47dGhpcy5tc2c9dGhpcy5UUi5tc2d9O3ZhciB0cj0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIiksR2Q9YEBAcmVkdXgvSU5JVCR7dHIoKX1gLEVLQz1gQEByZWR1eC9SRVBMQUNFJHt0cigpfWA7dmFyIHIyPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSI7dmFyIFFTeD1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxbMCxnLkN4LFRnLGcub20sbFUsZy5vbSwtMSxqbyxsVSxqbywtMSxnLkN4LGpvLFRnLGcuZHEsWzAsbFUsLTMsam9dLGcub20sLTEsam9dKTt2YXIgS0d0PS0zMDE3MTcyMTc7dmFyIGJzdD1mdW5jdGlvbihuLFcpe3JldHVybigoKT0+e3ZhciBEPW5ldyBBWHgobixXKTtyZXR1cm4oKT0+RH0pKCl9KCJ5b3V0dWJlLmFwaS5pbm5lcnR1YmUuQXR0ZXN0YXRpb25FcnJvciIsJ1tudWxsLFtbIkFUVEVTVEFUSU9OX0VSUk9SX1VOS05PV04iLDBdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fTk9UX0lOSVRJQUxJWkVEIiwxXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PX1JFU1BPTlNFIiwyXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiLDNdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fSU5URVJOQUxfRVJST1IiLDRdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVkFMSUQiLDVdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX05FVFdPUktfRVJST1IiLDZdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX09GRkxJTkUiLDddLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVEVSTkFMX0VSUk9SIiw4XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0FQSV9OT1RfUkVBRFkiLDldLFsiQVRURVNUQVRJT05fRVJST1JfREVWSUNFX09GRkxJTkUiLDEwXSxbIkFUVEVTVEFUSU9OX0VSUk9SX0tFWV9QQUlSX0lOSVRfRkFJTEVEIiwxMl0sWyJBVFRFU1RBVElPTl9FUlJPUl9TSUdOSU5HX0RBVEFfTUlTU0lORyIsMTNdLFsiQVRURVNUQVRJT05fRVJST1JfU0lHTklOR19GQUlMRUQiLDE0XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0NFUlRfQ0hBSU5fUkVUUklFVkFMX0ZBSUxFRCIsMTVdXSxudWxsLFtbMTEsMTFdXV0nKTtnLnFNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMubmFtZT1ufX07Zy5TdD1uZXcgZy5xTSgiYWN0aW9uQ29tcGFuaW9uQWRSZW5kZXJlciIpO2cuVWg9bmV3IGcucU0oImFkQWN0aW9uSW50ZXJzdGl0aWFsUmVuZGVyZXIiKTtnLm0yPW5ldyBnLnFNKCJhZHNFbmdhZ2VtZW50UGFuZWxSZW5kZXJlciIpO2cuVyQ9bmV3IGcucU0oImRpc21pc3NhYmxlUGFuZWxUZXh0UG9ydHJhaXRJbWFnZVJlbmRlcmVyIik7Zy5vYT1uZXcgZy5xTSgiYWRzRW5nYWdlbWVudFBhbmVsU2VjdGlvbkxpc3RWaWV3TW9kZWwiKTtnLkFqPW5ldyBnLnFNKCJpbWFnZUNvbXBhbmlvbkFkUmVuZGVyZXIiKTtnLkVoPW5ldyBnLnFNKCJpbnN0cmVhbUFkUGxheWVyT3ZlcmxheVJlbmRlcmVyIik7Zy5GeT1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFJlbmRlcmVyIik7Zy5HOD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFNpbmdsZVNlbGVjdFF1ZXN0aW9uUmVuZGVyZXIiKTtnLnRMPW5ldyBnLnFNKCJpbnN0cmVhbVN1cnZleUFkTXVsdGlTZWxlY3RRdWVzdGlvblJlbmRlcmVyIik7Zy4kSD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZEFuc3dlclJlbmRlcmVyIik7Zy52eHg9bmV3IGcucU0oImluc3RyZWFtU3VydmV5QWRBbnN3ZXJOb25lT2ZUaGVBYm92ZVJlbmRlcmVyIik7Zy5DYz1uZXcgZy5xTSgiaW5zdHJlYW1WaWRlb0FkUmVuZGVyZXIiKTtnLmkwPW5ldyBnLnFNKCJwbGF5ZXJPdmVybGF5TGF5b3V0UmVuZGVyZXIiKTtnLnlWPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbEJ1dHRvbmVkQ2VudGVyZWRMYXlvdXRSZW5kZXJlciIpO2cuaFg9bmV3IGcucU0oImFib3ZlRmVlZEFkTGF5b3V0UmVuZGVyZXIiKTtnLnh6PW5ldyBnLnFNKCJiZWxvd1BsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmt6PW5ldyBnLnFNKCJpblBsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmUyPW5ldyBnLnFNKCJpblBsYXllck9yZ2FuaWNPdmVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuUmE9bmV3IGcucU0oInBsYXllckJ5dGVzQWRMYXlvdXRSZW5kZXJlciIpO2cuTGk9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVuY2VJdGVtQWRMYXlvdXRSZW5kZXJlciIpO2cudiQ9bmV3IGcucU0oInBsYXllclVuZGVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuQlE9bmV3IGcucU0oImFkSW50cm9SZW5kZXJlciIpO2cuVDA9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVudGlhbExheW91dFJlbmRlcmVyIik7Zy53YT1uZXcgZy5xTSgic3VydmV5VGV4dEludGVyc3RpdGlhbFJlbmRlcmVyIik7Zy5RVj1uZXcgZy5xTSgidmlkZW9BZFRyYWNraW5nUmVuZGVyZXIiKTt2YXIgUXhNPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbENlbnRlcmVkTGF5b3V0Vmlld01vZGVsIik7Zy5kYT1uZXcgZy5xTSgicGxheWVyT3JnYW5pY1RyYW5zaXRpb25PdmVybGF5UmVuZGVyZXIiKTtnLlhHPW5ldyBnLnFNKCJhZFNsb3RSZW5kZXJlciIpO2cuYWE9bmV3IGcucU0oInNxdWVlemViYWNrUGxheWVyU2lkZVBhbmVsUmVuZGVyZXIiKTtnLktjPW5ldyBnLnFNKCJiYW5uZXJJbWFnZUxheW91dFZpZXdNb2RlbCIpO2cuT2g9bmV3IGcucU0oInRvcEJhbm5lckltYWdlVGV4dEljb25CdXR0b25lZExheW91dFZpZXdNb2RlbCIpO2cuUFE9bmV3IGcucU0oImFkc0VuZ2FnZW1lbnRQYW5lbExheW91dFZpZXdNb2RlbCIpO2cubmk9bmV3IGcucU0oImRpc3BsYXlVbmRlcmxheVRleHRHcmlkQ2FyZHNMYXlvdXRWaWV3TW9kZWwiKTt2YXIgcm49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59fSxzQz1jbGFzcyBleHRlbmRzIHJue2dldCBlbnRpdHlNZXRhZGF0YSgpe3JldHVybiB0aGlzLk4uZW50aXR5TWV0YWRhdGF9c2V0IGVudGl0eU1ldGFkYXRhKG4pe3RoaXMuTi5lbnRpdHlNZXRhZGF0YT1ufX07dmFyIGtqTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBoNGo9bmV3IGcucU0oImNvbW1hbmRDb250ZXh0Iik7dmFyIHhrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBMdHc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZEUyPW5ldyBnLnFNKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgb3Z0PW5ldyBnLnFNKCJyYXdIb3RDb25maWdHcm91cCIpO2cuTk09bmV3IGcucU0oImNvbW1hbmRFeGVjdXRvckNvbW1hbmQiKTt2YXIgZTR3PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBneHQ9e1ZDOjAsZVo6MSxFcDozMixPcDo2MSxkNzo2NyxBSzoxMDMsSVg6ODYsR0E6NDIsTVg6NjAsTEk6NjIsRGk6NzMsYVg6NzYsdzc6ODgsQ0k6OTAsTjY6OTksSHI6OTgsb1g6MTAwLEZBOjEwMixjODo0MSxQODo2OSx5TDo3MCxKcjo3MSx5TToyLEs0OjI3LEFORFJPSUQ6MyxBdjo1NCx3TToxNCx6ejo5MSxDRTo1NSxkTToyNCxOdToxMDUsYzk6MjAsUDk6MTgsSkg6MjEsdEg6MTA0LFg2OjMwLGpMOjI5LFYzOjI4LHBJOjEwMSxtQjoxMDcsa0Q6MzQsaEg6MzYseTM6MzgsSU9TOjUsVEw6MTUsblE6OTIscmo6NDAscFE6MjUseDc6MTA2LFNBOjE3LFk3OjE5LHNZOjY0LHVPOjY2LGVBOjI2LFpwOjIyLGxPOjMzLEhtOjY4LFVZOjM1LExROjUzLEJtOjEwOCxSTzozNyxLUTozOSxkMjo3LFByOjU3LHlDOjQzLHRLOjU5LEpLOjkzLGlwOjc0LFdyOjc1LGJGOjg1LHpBOjY1LGhLOjgwLFhBOjgsQ006MTAsaUY6NTgscVg6NjMsbVU6NzIscXU6MjMsYkE6MTEselU6MTMsd0o6MTIsCm9OOjE2LFVwOjU2LGc3OjMxLGttOjc3LEFROjg0LGZJOjg3LENoOjg5LHdMOjk0LHpUOjk1LGxMOjEwOX07dmFyIGk5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1XKG4pe2cuU0UodGhpcyw1LG4pfX07dmFyIHlkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBYd1U9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEhzPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIEhXKHRoaXMsMzYpfXNldEhvbWVHcm91cEluZm8obil7cmV0dXJuICQ5KHRoaXMsWHdVLDgxLG4pfWNsZWFyTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKCl7cmV0dXJuIG96KHRoaXMsODkpfX07dmFyIEo2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRWYWx1ZSgpe3JldHVybiBZOSh0aGlzLHZXKHRoaXMsSXYsMikpfX0sSXY9WzIsMyw0LDUsNl07dmFyIHFZUz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VHJhY2tpbmdQYXJhbXMobil7cmV0dXJuIG96KHRoaXMsMSxrVShuLCExKSl9fTt2YXIgZlU9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVKPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBBNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VG9rZW4obil7cmV0dXJuIGcuU0UodGhpcywyLG4pfX07dmFyIFN5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1zZXRTYWZldHlNb2RlKG4pe3JldHVybiBLbih0aGlzLDUsbil9fTt2YXIgWUE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfVcobil7cmV0dXJuICQ5KHRoaXMsSHMsMSxuKX19O3ZhciBHajE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdFBVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRrYj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBSVGg9bmV3IGcucU0oImNvbnRpbnVhdGlvbkNvbW1hbmQiKTtnLmNFPW5ldyBnLnFNKCJzaWduYWxBY3Rpb24iKTt2YXIgcGo9bmV3IGcucU0oIndlYkNvbW1hbmRNZXRhZGF0YSIpO3ZhciBoazI9bmV3IGcucU0oIm1ldGFkYXRhQmFkZ2VSZW5kZXJlciIpO3ZhciBRWU09bmV3IGcucU0oInNpZ25hbFNlcnZpY2VFbmRwb2ludCIpO3ZhciAkej1uZXcgZy5xTSgiaW5uZXJ0dWJlQ29tbWFuZCIpO3ZhciBEMzE9e1NUOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIixyTDoiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVCIseHc6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGUCIsS2g6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCJ9O3ZhciAkdE09bmV3IGcucU0oImNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCIpO3ZhciBEdEM9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIiKTt2YXIgYW9VPW5ldyBnLnFNKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlciIpLHIxcj1uZXcgZy5xTSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzQ29sbGFwc2VkUmVuZGVyZXIiKSxzc0M9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXIiKTt2YXIgUyQ9bmV3IGcucU0oImVtYmVkc0luZm9QYW5lbFJlbmRlcmVyIik7dmFyIHJZcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBzQng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTkEyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHB3Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbCYmbi5wdXNoKHRoaXMuTi5hbHRlcm5hdGVDaGFubmVsKTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QmJm4ucHVzaCguLi50aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QpO3RoaXMuTi5vbmVvZkNoYW5uZWxFbnRpdHkmJm4ucHVzaCh0aGlzLk4ub25lb2ZDaGFubmVsRW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBZWXI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmVudHJ5Q29sbGVjdGlvbiYmbi5wdXNoKHRoaXMuTi5lbnRyeUNvbGxlY3Rpb24pO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sZl94PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRQbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wYXJlbnRQbGF5bGlzdCk7aWYodGhpcy5OLmVudHJpZXMpZm9yKGxldCBXIG9mIHRoaXMuTi5lbnRyaWVzKW4ucHVzaCguLi4obmV3IEhzaChXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEhzaD1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIEpZYj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkmJm4ucHVzaCh0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkpO3RoaXMuTi5jcmVhdG9ycyYmbi5wdXNoKC4uLnRoaXMuTi5jcmVhdG9ycyk7dGhpcy5OLnRoZUJpZ2dlc3RGYW4mJm4ucHVzaCh0aGlzLk4udGhlQmlnZ2VzdEZhbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxJX3c9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgU1l3PW5ldyBnLnFNKCJmZWVkYmFja0VuZHBvaW50Iik7dmFyIEFZeD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBta2g9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgS3R4PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE9zaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQTHI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgWnNyPW5ldyBnLnFNKCJpbnRlcmFjdGlvbkxvZ2dpbmdDb21tYW5kTWV0YWRhdGEiKTt2YXIgZDNqPXtsRjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIixuSToiV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIixSWDoiV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIixaaToiV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIixCcjoiV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIn07dmFyIFVrcj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0UGxheWVyVHlwZSgpe3JldHVybiBIVyh0aGlzLDcpfUUxKCl7cmV0dXJuIFk5KHRoaXMsMTkpfXNldFZpZGVvSWQobil7cmV0dXJuIGcuU0UodGhpcywxOSxuKX19O3ZhciBBbT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgU0w9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIFp2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fSx5WTE9WzIsMyw1LDYsNywxMSwxMywyMCwyMSwyMiwyMywyNCwyOCwzMiwzNyw0NSw1OSw3Miw3Myw3NCw3Niw3OCw3OSw4MCw4NSw5MSw5NywxMDAsMTAyLDEwNSwxMTEsMTE3LDExOSwxMjYsMTI3LDEzNiwxNDYsMTQ4LDE1MSwxNTYsMTU3LDE1OCwxNTksMTYzLDE2NCwxNjgsMTc2LDE3NywxNzgsMTc5LDE4NCwxODgsMTg5LDE5MCwxOTEsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDgsMjA5LDIxNSwyMTksMjIyLDIyNSwyMjYsMjI3LDIyOSwyMzIsMjMzLDIzNCwyNDAsMjQxLDI0NCwyNDcsMjQ4LDI0OSwyNTEsMjU0LDI1NSwyNTYsMjU3LDI1OCwyNTksMjYwLDI2MSwyNjYsMjcwLDI3MiwyNzgsMjg4LDI5MSwyOTMsMzAwLDMwNCwzMDgsMzA5LDMxMCwzMTEsMzEzLDMxNCwzMTksMzIwLDMyMSwzMjMsMzI0LDMyNywzMjgsCjMzMCwzMzEsMzMyLDMzNCwzMzcsMzM4LDM0MCwzNDQsMzQ4LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM2MSwzNjMsMzY0LDM2OCwzNjksMzcwLDM3MywzNzQsMzc1LDM3OCwzODAsMzgxLDM4MywzODgsMzg5LDM5OSw0MDIsNDAzLDQxMCw0MTEsNDEyLDQxMyw0MTQsNDE1LDQxNiw0MTcsNDE4LDQyMyw0MjQsNDI1LDQyNiw0MjcsNDI5LDQzMCw0MzEsNDM5LDQ0MSw0NDQsNDQ4LDQ1OCw0NjksNDcxLDQ3Myw0NzQsNDgwLDQ4MSw0ODIsNDg0LDQ4NSw0ODYsNDkxLDQ5NSw0OTYsNTA2LDUwNyw1MDksNTExLDUxMiw1MTMsNTE0LDUxNSw1MTYsNTE3LDUxOCw1MTksNTIwLDUyMiw1MjMsNTI0LDUyNSw1MjYsNTI3LDUyOCw1MjksNTMwLDUzMSw1MzYsNTM3LDUzOCw1MzksNTQxLDU0NSw1NDcsNTQ4LDU0OSw1NTAsNTUxLDU1Miw1NTMsNTU0LDU1N107Zy5FeGk9bmV3IGcucU0oImxvZ2dpbmdDb250ZXh0Iik7dmFyIE95PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBoNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9RTEoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDEpKX1zZXRWaWRlb0lkKG4pe3JldHVybiBEMih0aGlzLDEseEEsV0gobikpfWdldFBsYXlsaXN0SWQoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDIpKX19LHhBPVsxLDJdO3ZhciB1RjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGlzWj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB1NXQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgb3hoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGRrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZHNMaXN0KTt0aGlzLk4uc21hcnREb3dubG9hZHNMaXN0JiZuLnB1c2godGhpcy5OLnNtYXJ0RG93bmxvYWRzTGlzdCk7dGhpcy5OLnJlY29tbWVuZGVkRG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5yZWNvbW1lbmRlZERvd25sb2Fkc0xpc3QpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGxfWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtpZih0aGlzLk4uZG93bmxvYWRzKWZvcihsZXQgVyBvZiB0aGlzLk4uZG93bmxvYWRzKW4ucHVzaCguLi4obmV3IHo0dyhXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LHo0dz1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3RoaXMuTi5wbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wbGF5bGlzdCk7dGhpcy5OLnZpZGVvSXRlbSYmbi5wdXNoKHRoaXMuTi52aWRlb0l0ZW0pO3RoaXMuTi5wbGF5bGlzdEl0ZW0mJm4ucHVzaCh0aGlzLk4ucGxheWxpc3RJdGVtKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBUQTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGpCaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgQ0xpPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJBVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZmFrZUNoaWxkcmVuJiZuLnB1c2goLi4udGhpcy5OLmZha2VDaGlsZHJlbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgRnRoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi52aWRlbyYmbi5wdXNoKHRoaXMuTi52aWRlbyk7dGhpcy5OLnBsYXliYWNrRGF0YSYmbi5wdXNoKHRoaXMuTi5wbGF5YmFja0RhdGEpO3RoaXMuTi5vZmZsaW5lVmlkZW9Qb2xpY3kmJm4ucHVzaCh0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciB3d1M9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTVB3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5jaGFubmVsT3duZXImJm4ucHVzaCh0aGlzLk4uY2hhbm5lbE93bmVyKTt0aGlzLk4udmlkZW9zJiZuLnB1c2goLi4udGhpcy5OLnZpZGVvcyk7dGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzJiZuLnB1c2goLi4udGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzKTt0aGlzLk4uZG93bmxvYWRTdGF0ZSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXRlKTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBSNGk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnZpZGVvJiZuLnB1c2godGhpcy5OLnZpZGVvKTt0aGlzLk4uY2hhbm5lbENvbnRyaWJ1dG9yJiZuLnB1c2godGhpcy5OLmNoYW5uZWxDb250cmlidXRvcik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgVlBVPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFFCcih0aGlzLk4ucmVjb21tZW5kZWRWaWRlb01ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LFFCcj1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4ubG9jYWxJbWFnZUVudGl0aWVzJiZuLnB1c2goLi4udGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBjWWk9Y2xhc3MgZXh0ZW5kcyBybntKKCl7dmFyIG49W107dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgYV9qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vd25lciYmbi5wdXNoKHRoaXMuTi5vd25lcik7dGhpcy5OLmRvd25sb2FkU3RhdGUmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRTdGF0ZSk7dGhpcy5OLnVzZXJTdGF0ZSYmbi5wdXNoKC4uLihuZXcgY1lpKHRoaXMuTi51c2VyU3RhdGUpKS5KKCkpO3RoaXMuTi5hZGRpdGlvbmFsTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFZQVSh0aGlzLk4uYWRkaXRpb25hbE1ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBuTjI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnVzZXJDaGFubmVsRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyQ2hhbm5lbERldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFdNWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uY2hhbm5lbE93bmVyJiZuLnB1c2godGhpcy5OLmNoYW5uZWxPd25lcik7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi5kb3dubG9hZFN0YXR1cyYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXR1cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgREkxPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJ6dD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB2TnQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIga1ByPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGhPdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB4SVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTE13PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGVPcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBnTnI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgVVU9bmV3IGcucU0oImNoYW5nZUtleWVkTWFya2Vyc1Zpc2liaWxpdHlDb21tYW5kIik7dmFyIHh0TT1uZXcgZy5xTSgibG9hZE1hcmtlcnNDb21tYW5kIik7dmFyIGVicj1uZXcgZy5xTSgidGltZWx5QWN0aW9uVmlld01vZGVsIik7dmFyIExxQz1uZXcgZy5xTSgidGltZWx5QWN0aW9uc092ZXJsYXlWaWV3TW9kZWwiKTt2YXIgWF9TPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHF2Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBHUE09Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdHhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRJTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBySmI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmNvbXBvc2l0ZVNvdXJjZUtleXMmJm4ucHVzaCguLi50aGlzLk4uY29tcG9zaXRlU291cmNlS2V5cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgczR0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIE5rUz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRlZFRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkVHJhY2tzKTt0aGlzLk4uc21hcnREb3dubG9hZGVkVHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnNtYXJ0RG93bmxvYWRlZFRyYWNrcyk7dGhpcy5OLmRvd25sb2FkZWRFcGlzb2RlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkRXBpc29kZXMpO3RoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZEFsYnVtUmVsZWFzZXMmJm4ucHVzaCguLi50aGlzLk4uc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLmRvd25sb2FkZWRQbGF5bGlzdHMmJm4ucHVzaCguLi50aGlzLk4uZG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyYmbi5wdXNoKC4uLnRoaXMuTi5zbWFydERvd25sb2FkZWRQbGF5bGlzdHMpOwp0aGlzLk4ubWV0YWRhdGFPbmx5VHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLm1ldGFkYXRhT25seVRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgcF9yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFl2dD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgSHppPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4ucHJpbWFyeUFydGlzdHMmJm4ucHVzaCguLi50aGlzLk4ucHJpbWFyeUFydGlzdHMpO3RoaXMuTi5kZXRhaWxzJiZuLnB1c2godGhpcy5OLmRldGFpbHMpO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmRvd25sb2FkTWV0YWRhdGEmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnJlZnJlc2gmJm4ucHVzaCh0aGlzLk4ucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxmSlU9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmCm4ucHVzaCh0aGlzLk4uYWxidW1SZWxlYXNlKTt0aGlzLk4udHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxKSjE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIElKVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sU3ZaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRBcnRpc3QmJm4ucHVzaCh0aGlzLk4ucGFyZW50QXJ0aXN0KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEFKaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGFyZW50QXJ0aXN0JiZuLnB1c2godGhpcy5OLnBhcmVudEFydGlzdCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgbUliPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEtNdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQVHg9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLk4uc2lkZWxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5zaWRlbG9hZE1ldGFkYXRhKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3RoaXMuTi5lbnRyeUNvbGxlY3Rpb24mJm4ucHVzaCh0aGlzLk4uZW50cnlDb2xsZWN0aW9uKTt0aGlzLk4uc2hhcmUmJm4ucHVzaCh0aGlzLk4uc2hhcmUpO3RoaXMuTi5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSYmCm4ucHVzaCguLi4obmV3IE96aSh0aGlzLk4ucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEpKS5KKCkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sT3ppPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5jcmVhdG9yRW50aXR5JiZuLnB1c2godGhpcy5OLmNyZWF0b3JFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFp6aT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBVSVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmbi5wdXNoKHRoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpO3RoaXMuTi5hcnRpc3RzJiZuLnB1c2goLi4udGhpcy5OLmFydGlzdHMpO3RoaXMuTi5hdWRpb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLmF1ZGlvTW9kZVZlcnNpb24pO3RoaXMuTi52aWRlb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLnZpZGVvTW9kZVZlcnNpb24pO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLmRldGFpbHMmJm4ucHVzaCh0aGlzLk4uZGV0YWlscyk7dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmxpYnJhcnlFZGl0JiZuLnB1c2godGhpcy5OLmxpYnJhcnlFZGl0KTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmCm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmx5cmljcyYmbi5wdXNoKHRoaXMuTi5seXJpY3MpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0seUpTPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRUcmFjayYmbi5wdXNoKHRoaXMuTi5wYXJlbnRUcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxFTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnBhcmVudFRyYWNrJiZuLnB1c2godGhpcy5OLnBhcmVudFRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBucU09bmV3IGcucU0oIm11c2ljRW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIiKTt2YXIgaXpTPW5ldyBnLnFNKCJzaGFyZUVuZHBvaW50IiksdXhDPW5ldyBnLnFNKCJzaGFyZUVudGl0eUVuZHBvaW50Iiksb05pPW5ldyBnLnFNKCJzaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpLGRJeD1uZXcgZy5xTSgid2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtnLlBqPW5ldyBnLnFNKCJ1cmxFbmRwb2ludCIpO2cuSVE9bmV3IGcucU0oIndhdGNoRW5kcG9pbnQiKTt2YXIgek93PW5ldyBnLnFNKCJ3YXRjaFBsYXlsaXN0RW5kcG9pbnQiKTt2YXIgbEoyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFRrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBqNFo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQ1R3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4udHJhbnNmZXImJm4ucHVzaCh0aGlzLk4udHJhbnNmZXIpO3RoaXMuTi5hZHNQbGF5YmFja0RhdGEmJm4ucHVzaCguLi50aGlzLk4uYWRzUGxheWJhY2tEYXRhKTt0aGlzLk4uZHJtTGljZW5zZSYmbi5wdXNoKHRoaXMuTi5kcm1MaWNlbnNlKTt0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5JiZuLnB1c2godGhpcy5OLm9mZmxpbmVWaWRlb1BvbGljeSk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBGTXc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgd19NPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vZmZsaW5lVmlkZW9TdHJlYW1zJiZuLnB1c2goLi4udGhpcy5OLm9mZmxpbmVWaWRlb1N0cmVhbXMpO3RoaXMuTi5jYXB0aW9uVHJhY2smJm4ucHVzaCguLi50aGlzLk4uY2FwdGlvblRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBNeFM9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgUk8xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFE0cj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBWeGI9bmV3IGcucU0oInByZWZldGNoV2F0Y2hDb21tYW5kIik7dmFyIGNKWj1uZXcgZy5xTSgidXBkYXRlUHJvZ3Jlc3NCYXJDb21tYW5kIik7dmFyIE5LeD1uZXcgZy5xTSgiY29tcG9zaXRlVmlkZW9PdmVybGF5UmVuZGVyZXIiKTt2YXIgbGFTPW5ldyBnLnFNKCJwYWlkQ29udGVudE92ZXJsYXlSZW5kZXJlciIpO3ZhciBLSTE9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIiKSxPVng9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlFbmRTY3JlZW5SZW5kZXJlciIpO3ZhciBJb2I9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksRHo9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksYUp3PW5ldyBnLnFNKCJwbGF5ZXJSZXNwb25zZSIpO3ZhciBuWEM9bmV3IGcucU0oInBsYXlsaXN0RWRpdEVuZHBvaW50Iik7dmFyIFd1Wj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBUZT1uZXcgZy5xTSgicmVlbFdhdGNoRW5kcG9pbnQiKTt2YXIgRCRyPW5ldyBnLnFNKCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiKTtnLllIPW5ldyBnLnFNKCJidXR0b25SZW5kZXJlciIpO2cuSEM9bmV3IGcucU0oInRvZ2dsZUJ1dHRvblJlbmRlcmVyIik7Zy5jUT1uZXcgZy5xTSgiY291bnRlcmZhY3R1YWxSZW5kZXJlciIpO3ZhciBiTXI9bmV3IGcucU0oInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTt2YXIgdlhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGtpdz1uZXcgZy5xTSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO3ZhciBoblU9bmV3IGcucU0oInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgeCRaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE5oMT1uZXcgZy5xTSgic3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIiKTt2YXIgTHUxPW5ldyBnLnFNKCJzdWJzY3JpYmVFbmRwb2ludCIpO3ZhciBlbmk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZ1hVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFhSUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBxTlo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgR2lNPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHRHdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciAkJDI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgck0xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHNkaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBOeTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFJ0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFZDMj1uZXcgZy5xTSgicXJDb2RlUmVuZGVyZXIiKTt2YXIgWU5aPXtkajoiTElWSU5HX1JPT01fQVBQX01PREVfVU5TUEVDSUZJRUQiLHdqOiJMSVZJTkdfUk9PTV9BUFBfTU9ERV9NQUlOIixBXzoiTElWSU5HX1JPT01fQVBQX01PREVfS0lEUyIsQ1E6IkxJVklOR19ST09NX0FQUF9NT0RFX01VU0lDIixvTzoiTElWSU5HX1JPT01fQVBQX01PREVfVU5QTFVHR0VEIixJTzoiTElWSU5HX1JPT01fQVBQX01PREVfR0FNSU5HIn07dmFyIEhNdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBmTzI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgSk0yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJXWj1uZXcgZy5xTSgiYXV0b3BsYXlTd2l0Y2hCdXR0b25SZW5kZXJlciIpO3ZhciB2cXQ9bmV3IGcucU0oImRlc2t0b3BPdmVybGF5Q29uZmlnUmVuZGVyZXIiKTt2YXIgYzNoPW5ldyBnLnFNKCJlbmdhZ2VtZW50UGFuZWxTZWN0aW9uTGlzdFJlbmRlcmVyIik7dmFyIFdHaT1uZXcgZy5xTSgicGxheWxpc3RQYW5lbFJlbmRlcmVyIik7dmFyIElPdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBTTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQU14PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIG0kUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBLdWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgT01qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFA4dz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBaTWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFlaPW5ldyBnLnFNKCJjaXBoZXIiKTt2YXIgU2xNPW5ldyBnLnFNKCJwbGF5ZXJWYXJzIik7dmFyIGR2aT1uZXcgZy5xTSgicGxheWVyVmFycyIpO3ZhciBVJFU9Zy5xaS53aW5kb3csSUU9VSRVPy55dD8uY29uZmlnX3x8VSRVPy55dGNmZz8uZGF0YV98fHt9O2cuR2IoInl0LmNvbmZpZ18iLElFKTt2YXIgS3c9W107dmFyIGR4aT0vXltcdy5dKiQvLG9LaT17cTohMCxzZWFyY2hfcXVlcnk6ITB9LHVRaD1TdHJpbmcoeUYpO2cuUkU9bmV3IGNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtnLkdiKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24obil7cmV0dXJuIGcuRXQoZy5RRihuKSl9KTtnLlV3KCk7dmFyIFZGPSJYTUxIdHRwUmVxdWVzdCJpbiBnLnFpPygpPT5uZXcgWE1MSHR0cFJlcXVlc3Q6bnVsbDt2YXIgeU1TPSJhYnNvbHV0ZV9leHBlcmltZW50cyBjbGllbnRfZGV2X2RvbWFpbiBjbGllbnRfZGV2X2V4cGZsYWcgY2xpZW50X2Rldl9yZWdleF9tYXAgY2xpZW50X2Rldl9yb290X3VybCBjbGllbnRfcm9sbG91dF9vdmVycmlkZSBleHBmbGFnIGZvcmNlZENhcGFiaWxpdHkganNmZWF0IGpzbW9kZSBtb2RzIHRoZW1lIi5zcGxpdCgiICIpO1suLi55TVNdO3ZhciBMJD17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxWdWI9WyJhcHAiLCJkZWJ1Z2NzcyIsImRlYnVnanMiLCJleHBmbGFnIiwiZm9yY2VfYWRfcGFyYW1zIiwiZm9yY2VfYWRfZW5jcnlwdGVkIiwiZm9yY2VfdmlyYWxfYWRfcmVzcG9uc2VfcGFyYW1zIiwiZm9yY2VkX2V4cGVyaW1lbnRzIiwiaW5uZXJ0dWJlX3NuYXBzaG90cyIsImlubmVydHViZV9nb2xkZW5zIiwiaW50ZXJuYWxjb3VudHJ5Y29kZSIsImludGVybmFsaXBvdmVycmlkZSIsImFic29sdXRlX2V4cGVyaW1lbnRzIiwiY29uZGl0aW9uYWxfZXhwZXJpbWVudHMiLCJzYmIiLCJzcl9ibnNfYWRkcmVzcyIsLi4ueU1TXSxHUT0hMSxGeDE9eFQ7dmFyIGM0VTtnLiRUPWNsYXNzIGV4dGVuZHMgZy5UYntjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoYCR7bn0sIGVycm9yQ29kZT0ke1d9YCk7dGhpcy5lcnJvckNvZGU9Vzt0aGlzLnhocj1EO3RoaXMubmFtZT0iUHJvbWlzZUFqYXhFcnJvciJ9fTtjNFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy54aHI9bn19O3ZhciBOWD1jbGFzc3tjb25zdHJ1Y3RvcihuPW51bGwpe3RoaXMuTj1uO3RoaXMuVz0wO3RoaXMuSj1udWxsfXRoZW4obixXLEQpe3JldHVybiB0aGlzLk4/dGhpcy5OLnRoZW4obixXLEQpOnRoaXMuVz09PTEmJm4/KG49bi5jYWxsKEQsdGhpcy5KKSkmJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iP246Zy5IMChuKTp0aGlzLlc9PT0yJiZXPyhuPVcuY2FsbChELHRoaXMuSikpJiZ0eXBlb2Ygbi50aGVuPT09ImZ1bmN0aW9uIj9uOmcucCQobik6dGhpc31nZXRWYWx1ZSgpe3JldHVybiB0aGlzLkp9fTtOWC5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7dmFyIGYkPSExO2cuTUw9dzh8fE1YO3ZhciBXMDE9L14oWzAtOVwuXSspOihbMC05XC5dKykkLzt2YXIgWGs9e307dmFyIEVYaD0wLHEwPWcuWmw/IndlYmtpdCI6Zy5lUz8ibW96IjpnLmtoPyJtcyI6cmM/Im8iOiIiLGlNeD1nLnJyKCJ5dERvbURvbUdldE5leHRJZCIpfHwoKCk9PisrRVhoKTsKZy5HYigieXREb21Eb21HZXROZXh0SWQiLGlNeCk7dmFyIHVaYj17c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOjEsc3RvcFByb3BhZ2F0aW9uOjEscHJldmVudE1vdXNlRXZlbnQ6MSxwcmV2ZW50TWFuaXB1bGF0aW9uOjEscHJldmVudERlZmF1bHQ6MSxsYXllclg6MSxsYXllclk6MSxzY3JlZW5YOjEsc2NyZWVuWToxLHNjYWxlOjEscm90YXRpb246MSx3ZWJraXRNb3ZlbWVudFg6MSx3ZWJraXRNb3ZlbWVudFk6MX0sZnk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50eXBlPSIiO3RoaXMuc3RhdGU9dGhpcy5zb3VyY2U9dGhpcy5kYXRhPXRoaXMuY3VycmVudFRhcmdldD10aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuY3RybEtleT10aGlzLmFsdEtleT0hMTt0aGlzLnJvdGF0aW9uPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9MDt0aGlzLnNjYWxlPTE7dGhpcy5jaGFuZ2VkVG91Y2hlcz10aGlzLnRvdWNoZXM9Cm51bGw7dHJ5e2lmKG49bnx8d2luZG93LmV2ZW50KXt0aGlzLmV2ZW50PW47Zm9yKGxldCBiIGluIG4pYiBpbiB1WmJ8fCh0aGlzW2JdPW5bYl0pO3RoaXMuc2NhbGU9bi5zY2FsZTt0aGlzLnJvdGF0aW9uPW4ucm90YXRpb247dmFyIFc9bi50YXJnZXR8fG4uc3JjRWxlbWVudDtXJiZXLm5vZGVUeXBlPT0zJiYoVz1XLnBhcmVudE5vZGUpO3RoaXMudGFyZ2V0PVc7dmFyIEQ9bi5yZWxhdGVkVGFyZ2V0O2lmKEQpdHJ5e0Q9RC5ub2RlTmFtZT9EOm51bGx9Y2F0Y2goYil7RD1udWxsfWVsc2UgdGhpcy50eXBlPT0ibW91c2VvdmVyIj9EPW4uZnJvbUVsZW1lbnQ6dGhpcy50eXBlPT0ibW91c2VvdXQiJiYoRD1uLnRvRWxlbWVudCk7dGhpcy5yZWxhdGVkVGFyZ2V0PUQ7dGhpcy5jbGllbnRYPW4uY2xpZW50WCE9dm9pZCAwP24uY2xpZW50WDpuLnBhZ2VYO3RoaXMuY2xpZW50WT1uLmNsaWVudFkhPXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWTt0aGlzLmtleUNvZGU9bi5rZXlDb2RlP24ua2V5Q29kZToKbi53aGljaDt0aGlzLmNoYXJDb2RlPW4uY2hhckNvZGV8fCh0aGlzLnR5cGU9PSJrZXlwcmVzcyI/dGhpcy5rZXlDb2RlOjApO3RoaXMuYWx0S2V5PW4uYWx0S2V5O3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5OPW4ucGFnZVg7dGhpcy5KPW4ucGFnZVl9fWNhdGNoKGIpe319cHJldmVudERlZmF1bHQoKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5yZXR1cm5WYWx1ZT0hMSx0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0JiZ0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0KCkpfXN0b3BQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJih0aGlzLmV2ZW50LmNhbmNlbEJ1YmJsZT0hMCx0aGlzLmV2ZW50LnN0b3BQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24oKSl9c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQuY2FuY2VsQnViYmxlPSEwLAp0aGlzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSl9fTtnLllSPWcucWkueXRFdmVudHNFdmVudHNMaXN0ZW5lcnN8fHt9O2cuR2IoInl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzIixnLllSKTt2YXIgSEI9Zy5xaS55dEV2ZW50c0V2ZW50c0NvdW50ZXJ8fHtjb3VudDowfTtnLkdiKCJ5dEV2ZW50c0V2ZW50c0NvdW50ZXIiLEhCKTt2YXIgb1hoPWcud0QoZnVuY3Rpb24oKXt2YXIgbj0hMTt0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSksSk89Zy53RChmdW5jdGlvbigpe3ZhciBuPSExOwp0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJjYXB0dXJlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSk7dmFyIGZqO2ZqPXdpbmRvdztnLlI9ZmoueXRjc2kmJmZqLnl0Y3NpLm5vdz9mai55dGNzaS5ub3c6ZmoucGVyZm9ybWFuY2UmJmZqLnBlcmZvcm1hbmNlLnRpbWluZyYmZmoucGVyZm9ybWFuY2Uubm93JiZmai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0PygpPT5mai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K2ZqLnBlcmZvcm1hbmNlLm5vdygpOigpPT4obmV3IERhdGUpLmdldFRpbWUoKTtnLml4KG1ZLGcuRk0pO21ZLnByb3RvdHlwZS5EPWZ1bmN0aW9uKG4pe24uTj09PXZvaWQgMCYmcHkobik7dmFyIFc9bi5OO24uSj09PXZvaWQgMCYmcHkobik7dGhpcy5OPW5ldyBnLk1ZKFcsbi5KKX07Cm1ZLnByb3RvdHlwZS5FdT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk58fG5ldyBnLk1ZfTsKbVkucHJvdG90eXBlLk89ZnVuY3Rpb24oKXtpZih0aGlzLk4pe3ZhciBuPSgwLGcuUikoKTtpZih0aGlzLlghPTApe3ZhciBXPXRoaXMuVixEPXRoaXMuTixiPVcueC1ELng7Vz1XLnktRC55O2I9TWF0aC5zcXJ0KGIqYitXKlcpLyhuLXRoaXMuWCk7dGhpcy5KW3RoaXMuV109TWF0aC5hYnMoKGItdGhpcy5qKS90aGlzLmopPi41PzE6MDtXPTA7Zm9yKEQ9MDtEPDQ7RCsrKVcrPXRoaXMuSltEXXx8MDtXPj0zJiZ0aGlzLksoKTt0aGlzLmo9Yn10aGlzLlg9bjt0aGlzLlY9dGhpcy5OO3RoaXMuVz0odGhpcy5XKzEpJTR9fTsKbVkucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7RHIodGhpcy5ZKTtnLlNfKHRoaXMuY0opfTtnLkpMPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuVz1bXTt0aGlzLks9bnx8dGhpc31OTihuLFcsRCxiLHYpe0Q9UFYoKDAsZy5LdCkoRCxifHx0aGlzLkspKTtEPXt0YXJnZXQ6bixuYW1lOlcsY2FsbGJhY2s6RH07dmFyIGs7diYmb1hoKCkmJihrPXtwYXNzaXZlOiEwfSk7bi5hZGRFdmVudExpc3RlbmVyKFcsRC5jYWxsYmFjayxrKTt0aGlzLlcucHVzaChEKTtyZXR1cm4gRH13SChuKXtmb3IobGV0IFc9MDtXPHRoaXMuVy5sZW5ndGg7VysrKWlmKHRoaXMuV1tXXT09bil7dGhpcy5XLnNwbGljZShXLDEpO24udGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIobi5uYW1lLG4uY2FsbGJhY2spO2JyZWFrfX1KKG4pe2Zvcig7dGhpcy5XLmxlbmd0aDspe2xldCBXPXRoaXMuVy5wb3AoKSxEO24mJm9YaCgpJiYoRD17cGFzc2l2ZTohMH0pO1cudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoVy5uYW1lLFcuY2FsbGJhY2ssRCl9fW1BKCl7dGhpcy5KKCk7CnN1cGVyLm1BKCl9fTt2YXIgd1laPVsiYXR0L2dldCJdLGRRWj1bImVtYmVkZGVkX3BsYXllciJdLGQkUz1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLHpudD1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0sbE9NPVsiZmVlZGJhY2siXSxUeXc9WyJub3RpZmljYXRpb24vbW9kaWZ5X2NoYW5uZWxfcHJlZmVyZW5jZSJdLHF5aj1bInBsYXllciJdLGpkeD1bImJyb3dzZS9lZGl0X3BsYXlsaXN0Il0sc3YyPVsicmVlbC9yZWVsX2l0ZW1fd2F0Y2giXSxONGg9WyJuYXZpZ2F0aW9uL3Jlc29sdmVfdXJsIl0sQ0diPVsiYWNjb3VudC9zZXRfc2V0dGluZyJdLEM4Yj1bInN1YnNjcmlwdGlvbi9zdWJzY3JpYmUiXSxCeWk9WyJzdWJzY3JpcHRpb24vdW5zdWJzY3JpYmUiXSwkMUM9WyJuZXh0IiwidW5wbHVnZ2VkL3dhdGNoX25leHQiXTt2YXIgT1A9e0JwOmcud0QoZnVuY3Rpb24oKXt0cnl7bGV0IFc9bmV3IFdTO3ZhciBuPVcuaXNBdmFpbGFibGUoKT9XOm51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9cmV0dXJuIG4/bmV3IFZLKG4pOm51bGx9KSwKcWI6Zy53RChmdW5jdGlvbigpe3ZhciBuPW5ldyBEUTtyZXR1cm4gbi5pc0F2YWlsYWJsZSgpP25ldyBWSyhuKTpudWxsfSl9O2cuSVY9d2luZG93Lnl0JiZ3aW5kb3cueXQubXNnc198fHdpbmRvdy55dGNmZyYmd2luZG93Lnl0Y2ZnLm1zZ3N8fHt9O2cuR2IoInl0Lm1zZ3NfIixnLklWKTt2YXIgV2I9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPXZvaWQgMDt0aGlzLk49ITE7bi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixXPT57Vy5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuSj1XfSk7Cm4uYWRkRXZlbnRMaXN0ZW5lcigiYXBwaW5zdGFsbGVkIiwoKT0+e3RoaXMuTj0hMH0se29uY2U6ITB9KX19O3ZhciBFUD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc0I9ITB9YWoobixXKXtuPXt9O3ZhciBEPVtdOyJVU0VSX1NFU1NJT05fSUQiaW4gSUUmJkQucHVzaCh7a2V5OiJ1Iix2YWx1ZTpnLkFyKCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKEQ9Qk8oRCkpbi5BdXRob3JpemF0aW9uPUQsRD1XPVc/LnNlc3Npb25JbmRleCxEPT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiU0VTU0lPTl9JTkRFWCIsMCkpLEQ9aXNOYU4oRCk/MDpEKSxnLmwoInZvaWNlX3NlYXJjaF9hdXRoX2hlYWRlcl9yZW1vdmFsIil8fChuWyJYLUdvb2ctQXV0aFVzZXIiXT1ELnRvU3RyaW5nKCkpLCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSJpbiBJRXx8KG5bIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksVz09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIElFJiYoblsiWC1Hb29nLVBhZ2VJZCJdPWcuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikpO3JldHVybiBufX07dmFyIHU5PXtpZGVudGl0eVR5cGU6IlVOQVVUSEVOVElDQVRFRF9JREVOVElUWV9UWVBFX1VOS05PV04ifTt2YXIgbE89Zy5ycigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iKXx8e307Zy5HYigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iLGxPKTsKdmFyIHgzYj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1nLkFyKCJBTFRfUFJFRl9DT09LSUVfTkFNRSIsIlBSRUYiKTt0aGlzLko9Zy5BcigiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIG49Zy5TZCh0aGlzLk4pO24mJnRoaXMucGFyc2Uobil9Z2V0KG4sVyl7ejEobik7ZEoobik7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGw/bjpXP1c6IiJ9c2V0KG4sVyl7ejEobik7ZEoobik7aWYoVz09bnVsbCl0aHJvdyBFcnJvcigiRXhwZWN0ZWROb3ROdWxsIik7bE9bbl09Vy50b1N0cmluZygpfVFRKG4pe3JldHVybiEhKChUMShgZiR7TWF0aC5mbG9vcihuLzMxKSsxfWApfHwwKSYxPDxuJTMxKX1yZW1vdmUobil7ejEobik7ZEoobik7ZGVsZXRlIGxPW25dfXNhdmUoKXtJSyh0aGlzLk4sdGhpcy5kdW1wKCksNjMwNzJFMyx0aGlzLkosITApfWNsZWFyKCl7Zy50SyhsTyl9ZHVtcCgpe3ZhciBuPVtdO2ZvcihsZXQgVyBpbiBsTylsTy5oYXNPd25Qcm9wZXJ0eShXKSYmCm4ucHVzaChgJHtXfT1gK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcobE9bV10pKSk7cmV0dXJuIG4uam9pbigiJiIpfXBhcnNlKG4pe249ZGVjb2RlVVJJQ29tcG9uZW50KG4pLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe3ZhciBXPW5bRF0uc3BsaXQoIj0iKTtsZXQgYj1XWzBdOyhXPVdbMV0pJiYobE9bYl09Vy50b1N0cmluZygpKX19fSx1Tzt2YXIgQ3k9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LHpxdz17Q09OTl9ERUZBVUxUOjAsQ09OTl9VTktOT1dOOjEsQ09OTl9OT05FOjIsQ09OTl9XSUZJOjMsQ09OTl9DRUxMVUxBUl8yRzo0LENPTk5fQ0VMTFVMQVJfM0c6NSxDT05OX0NFTExVTEFSXzRHOjYsQ09OTl9DRUxMVUxBUl9VTktOT1dOOjcsQ09OTl9ESVNDTzo4LENPTk5fQ0VMTFVMQVJfNUc6OSxDT05OX1dJRklfTUVURVJFRDoxMCxDT05OX0NFTExVTEFSXzVHX1NBOjExLApDT05OX0NFTExVTEFSXzVHX05TQToxMixDT05OX1dJUkVEOjMwLENPTk5fSU5WQUxJRDozMX0sbEJyPXtFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1VOS05PV046MCxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX09GRkxJTkU6MSxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1NMT1dfMkc6MixFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHOjMsRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRzo0LEVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfNEc6NX0sRms9eyJzbG93LTJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9TTE9XXzJHIiwiMmciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHIiwiM2ciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzNHIiwiNGciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzRHIn07Zy5ReD1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobik7dGhpcy5hcmdzPVsuLi5XXTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgRnVNPWNsYXNze0xTKG4sVyl7cmV0dXJuIGcuVngoMCxuLDEsVyl9fTtnLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UudGltZXJJZE1hcF8iKTt2YXIgV049Y2xhc3MgZXh0ZW5kcyBGdU17c08obil7aWYobj09PXZvaWQgMHx8IU51bWJlci5pc05hTihOdW1iZXIobikpKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIik7Vz9XKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9fXN0YXJ0KCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnN0YXJ0Iik7biYmbigpfXBhdXNlKCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnBhdXNlIik7biYmbigpfX0sdGE9Zy5EeSgpO3ZhciB0ST1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49KG49Zy52UyhuKSk/bmV3IFFLKG4pOm51bGw7dGhpcy5XPWRvY3VtZW50LmRvbWFpbnx8d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lfUooKXtyZXR1cm4hIXRoaXMuTn1zZXQobixXLEQsYil7RD1EfHwzMTEwNEUzO3RoaXMucmVtb3ZlKG4pO2lmKHRoaXMuSigpKXRyeXt0aGlzLk4uc2V0KG4sVyxEYXRlLm5vdygpK0QqMUUzKTtyZXR1cm59Y2F0Y2goayl7fXZhciB2PSIiO2lmKGIpdHJ5e3Y9ZXNjYXBlKChuZXcgbGUpLmJZKFcpKX1jYXRjaChrKXtyZXR1cm59ZWxzZSB2PWVzY2FwZShXKTtJSyhuLHYsRCx0aGlzLlcpfWdldChuLFcpe3ZhciBEPXZvaWQgMCxiPSF0aGlzLkooKTtpZighYil0cnl7RD10aGlzLk4uZ2V0KG4pfWNhdGNoKHYpe2I9ITB9aWYoYiYmKEQ9Zy5TZChuKSkmJihEPXVuZXNjYXBlKEQpLFcpKXRyeXtEPUpTT04ucGFyc2UoRCl9Y2F0Y2godil7dGhpcy5yZW1vdmUobiksRD12b2lkIDB9cmV0dXJuIER9cmVtb3ZlKG4pe3RoaXMuSigpJiYKdGhpcy5OLnJlbW92ZShuKTtBeShuLCIvIix0aGlzLlcpfX07dmFyIHZOPSgoKT0+e3ZhciBuO3JldHVybigpPT57bnx8KG49bmV3IHRJKCJ5dGlkYiIpKTtyZXR1cm4gbn19KSgpO3ZhciB4dT1bXSxoYz0hMTt2YXIgd1JNPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LE1HUz17QVVUSF9JTlZBTElEOiJFUlJPUiIsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6IldBUk5JTkciLEVYUExJQ0lUX0FCT1JUOiJJR05PUkVEIixJREJfTk9UX1NVUFBPUlRFRDoiRVJST1IiLE1JU1NJTkdfSU5ERVg6IldBUk5JTkciLE1JU1NJTkdfT0JKRUNUX1NUT1JFUzoiRVJST1IiLApEQl9ERUxFVEVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzoiV0FSTklORyIsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixRVU9UQV9FWENFRURFRDoiV0FSTklORyIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IldBUk5JTkciLFVOS05PV05fQUJPUlQ6IldBUk5JTkciLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiJXQVJOSU5HIn0sUm5pPXtBVVRIX0lOVkFMSUQ6ITEsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6ITEsRVhQTElDSVRfQUJPUlQ6ITEsSURCX05PVF9TVVBQT1JURUQ6ITEsTUlTU0lOR19JTkRFWDohMSxNSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLFFVT1RBX0VYQ0VFREVEOiExLFFVT1RBX01BWUJFX0VYQ0VFREVEOiEwLFVOS05PV05fQUJPUlQ6ITAsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046ITF9LApxTD1jbGFzcyBleHRlbmRzIGcuUXh7Y29uc3RydWN0b3IobixXPXt9LEQ9d1JNW25dLGI9TUdTW25dLHY9Um5pW25dKXtzdXBlcihELHtuYW1lOiJZdElkYktub3duRXJyb3IiLGlzU3c6c2VsZi5kb2N1bWVudD09PXZvaWQgMCxpc0lmcmFtZTpzZWxmIT09c2VsZi50b3AsdHlwZTpuLC4uLld9KTt0aGlzLnR5cGU9bjt0aGlzLm1lc3NhZ2U9RDt0aGlzLmxldmVsPWI7dGhpcy5OPXY7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMscUwucHJvdG90eXBlKX19LFFkUz1jbGFzcyBleHRlbmRzIHFMe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOlcsZm91bmRPYmplY3RTdG9yZXM6bn0sd1JNLk1JU1NJTkdfT0JKRUNUX1NUT1JFUyk7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUWRTLnByb3RvdHlwZSl9fSx0Yz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLmluZGV4PQpuO3RoaXMub2JqZWN0U3RvcmU9VztPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyx0Yy5wcm90b3R5cGUpfX0sTDBpPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBmRj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LHNSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuTj1bXTt0aGlzLko9W107bj1uLk47dmFyIFc9Yj0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6Yn07Zm9yKGxldCB2IG9mIHRoaXMuTil2KCl9fSxEPWI9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIsCnJlYXNvbjpifTtmb3IobGV0IHYgb2YgdGhpcy5KKXYoKX19Owp0cnl7bihXLEQpfWNhdGNoKGIpe0QoYil9fXN0YXRpYyBhbGwobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9Pnt2YXIgYj1bXSx2PW4ubGVuZ3RoO3Y9PT0wJiZXKGIpO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7KytrKXNSLnJlc29sdmUobltrXSkudGhlbihoPT57YltrXT1oO3YtLTt2PT09MCYmVyhiKX0pLmNhdGNoKGg9PntEKGgpfSl9KSl9c3RhdGljIHJlc29sdmUobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntuIGluc3RhbmNlb2Ygc1I/bi50aGVuKFcsRCk6VyhuKX0pKX1zdGF0aWMgcmVqZWN0KG4pe3JldHVybiBuZXcgc1IobmV3IGZGKChXLEQpPT57RChuKX0pKX10aGVuKG4sVyl7dmFyIEQ9bj8/Z1VyLGI9Vz8/ZXExOwpyZXR1cm4gbmV3IHNSKG5ldyBmRigodixrKT0+e3RoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciPyh0aGlzLk4ucHVzaCgoKT0+e3BGKHRoaXMsdGhpcyxELHYsayl9KSx0aGlzLkoucHVzaCgoKT0+e1l1KHRoaXMsdGhpcyxiLHYsayl9KSk6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iRlVMRklMTEVEIj9wRih0aGlzLHRoaXMsRCx2LGspOnRoaXMuc3RhdGUuc3RhdHVzPT09IlJFSkVDVEVEIiYmWXUodGhpcyx0aGlzLGIsdixrKX0pKX1jYXRjaChuKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxuKX19O3ZhciBxXzI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnJlcXVlc3Q9bjt0aGlzLmN1cnNvcj1XfX07dmFyIFlfcj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMub3B0aW9ucz1XO3RoaXMudHJhbnNhY3Rpb25Db3VudD0wO3RoaXMuVz1NYXRoLnJvdW5kKCgwLGcuUikoKSk7dGhpcy5KPSExfWFkZChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwLGNvbW1pdDpBYygpfSxiPT5iLm9iamVjdFN0b3JlKG4pLmFkZChXLEQpKX1jbGVhcihuKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWR3cml0ZSIsCkdROiEwfSxXPT5XLm9iamVjdFN0b3JlKG4pLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5OLmNsb3NlKCk7CnRoaXMub3B0aW9ucz8uY2xvc2VkJiZ0aGlzLm9wdGlvbnMuY2xvc2VkKCl9Y291bnQobixXKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IixHUTohMCxjb21taXQ6QWMoKX0sRD0+RC5vYmplY3RTdG9yZShuKS5jb3VudChXKSl9ZGVsZXRlKG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKSYmIShXIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmRlbGV0ZShXKSl9Z2V0KG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkb25seSIsCkdROiEwLGNvbW1pdDpBYygpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmdldChXKSl9Z2V0QWxsKG4sVyxEKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IiwKR1E6ITB9LGI9PmIub2JqZWN0U3RvcmUobikuZ2V0QWxsKFcsRCkpfXB1dChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKX0sYj0+Yi5vYmplY3RTdG9yZShuKS5wdXQoVyxEKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuTi5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfX0sUE49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59YWRkKG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5hZGQobixXKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLk4uYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBKYyh0aGlzLk4uY2xlYXIoKSkudGhlbigoKT0+e30pfWNvdW50KG4pe3JldHVybiBKYyh0aGlzLk4uY291bnQobikpfWRlbGV0ZShuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIElEQktleVJhbmdlP3RYVSh0aGlzLG4pOkpjKHRoaXMuTi5kZWxldGUobikpfWdldChuKXtyZXR1cm4gSmModGhpcy5OLmdldChuKSl9Z2V0QWxsKG4sVyl7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/SmModGhpcy5OLmdldEFsbChuLApXKSk6JDN4KHRoaXMsbixXKX1pbmRleChuKXt0cnl7cmV0dXJuIG5ldyBWR2godGhpcy5OLmluZGV4KG4pKX1jYXRjaChXKXtpZihXIGluc3RhbmNlb2YgRXJyb3ImJlcubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgdGMobix0aGlzLk4ubmFtZSk7CnRocm93IFc7fX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfWtleVBhdGgoKXtyZXR1cm4gdGhpcy5OLmtleVBhdGh9cHV0KG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5wdXQobixXKSl9fSxtWD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bmV3IE1hcDt0aGlzLmFib3J0ZWQ9ITE7dGhpcy5kb25lPW5ldyBQcm9taXNlKChXLEQpPT57dGhpcy5OLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e1coKX0pOwp0aGlzLk4uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntiLmN1cnJlbnRUYXJnZXQ9PT1iLnRhcmdldCYmRCh0aGlzLk4uZXJyb3IpfSk7CnRoaXMuTi5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9Pnt2YXIgYj10aGlzLk4uZXJyb3I7aWYoYilEKGIpO2Vsc2UgaWYoIXRoaXMuYWJvcnRlZCl7Yj1xTDt2YXIgdj10aGlzLk4ub2JqZWN0U3RvcmVOYW1lcztsZXQgaz1bXTtmb3IobGV0IGg9MDtoPHYubGVuZ3RoO2grKyl7bGV0IHg9di5pdGVtKGgpO2lmKHg9PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IGl0ZW0gaW4gRE9NU3RyaW5nTGlzdCBpcyBudWxsIik7ay5wdXNoKHgpfWI9bmV3IGIoIlVOS05PV05fQUJPUlQiLHtvYmplY3RTdG9yZU5hbWVzOmsuam9pbigpLGRiTmFtZTp0aGlzLk4uZGIubmFtZSxtb2RlOnRoaXMuTi5tb2RlfSk7RChiKX19KX0pfWFib3J0KCl7dGhpcy5OLmFib3J0KCk7CnRoaXMuYWJvcnRlZD0hMDt0aHJvdyBuZXcgcUwoIkVYUExJQ0lUX0FCT1JUIik7fWNvbW1pdCgpe3RoaXMuYWJvcnRlZHx8dGhpcy5OLmNvbW1pdD8uKCl9b2JqZWN0U3RvcmUobil7bj10aGlzLk4ub2JqZWN0U3RvcmUobik7dmFyIFc9dGhpcy5KLmdldChuKTtXfHwoVz1uZXcgUE4obiksdGhpcy5KLnNldChuLFcpKTtyZXR1cm4gV319LFZHaD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1jb3VudChuKXtyZXR1cm4gSmModGhpcy5OLmNvdW50KG4pKX1kZWxldGUobil7cmV0dXJuIHpuKHRoaXMse3F1ZXJ5Om59LFc9PlcuZGVsZXRlKCkudGhlbigoKT0+b2coVykpKX1nZXQobil7cmV0dXJuIEpjKHRoaXMuTi5nZXQobikpfWdldEFsbChuLFcpe3JldHVybiJnZXRBbGwiaW4gSURCSW5kZXgucHJvdG90eXBlP0pjKHRoaXMuTi5nZXRBbGwobixXKSk6TlppKHRoaXMsbixXKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuTi5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLk4udW5pcXVlfX0sCnA5eD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMucmVxdWVzdD1uOwp0aGlzLmN1cnNvcj1XfWRlbGV0ZSgpe3JldHVybiBKYyh0aGlzLmN1cnNvci5kZWxldGUoKSkudGhlbigoKT0+e30pfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMuY3Vyc29yLnZhbHVlfXVwZGF0ZShuKXtyZXR1cm4gSmModGhpcy5jdXJzb3IudXBkYXRlKG4pKX19O3ZhciBjTTE9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLm5hbWU9bjt0aGlzLm9wdGlvbnM9Vzt0aGlzLlc9ITA7dGhpcy5qPXRoaXMuWD0wfUoobixXLEQ9e30pe3JldHVybiBsUShuLFcsRCl9ZGVsZXRlKG49e30pe3JldHVybiBUbih0aGlzLm5hbWUsbil9b3Blbigpe2lmKCF0aGlzLlcpdGhyb3cgakYodGhpcyk7aWYodGhpcy5OKXJldHVybiB0aGlzLk47dmFyIG4sVz0oKT0+e3RoaXMuTj09PW4mJih0aGlzLk49dm9pZCAwKX0sRD17YmxvY2tpbmc6dj0+e3YuY2xvc2UoKX0sCmNsb3NlZDpXLEJ6OlcsdXBncmFkZTp0aGlzLm9wdGlvbnMudXBncmFkZX0sYj1hc3luYygpPT57dmFyIHY9RXJyb3IoKS5zdGFjaz8/IiI7dHJ5e2xldCB4PWF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdGhpcy5vcHRpb25zLnZlcnNpb24sRCk7dmFyIGs9eCxoPXRoaXMub3B0aW9ucztsZXQgTD1bXTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoaC5LYykpe2xldCB7dng6RyxtUjpyPU51bWJlci5NQVhfVkFMVUV9PWguS2NbZV07IShrLk4udmVyc2lvbj49Ryl8fGsuTi52ZXJzaW9uPj1yfHxrLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhlKXx8TC5wdXNoKGUpfWlmKEwubGVuZ3RoIT09MCl7bGV0IGU9T2JqZWN0LmtleXModGhpcy5vcHRpb25zLktjKSxHPXgub2JqZWN0U3RvcmVOYW1lcygpO2lmKHRoaXMuajx2MCgieXRpZGJfcmVvcGVuX2RiX3JldHJpZXMiLDApKXJldHVybiB0aGlzLmorKyx4LmNsb3NlKCksTEYobmV3IHFMKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLAp7ZGJOYW1lOnRoaXMubmFtZSxleHBlY3RlZE9iamVjdFN0b3JlczplLGZvdW5kT2JqZWN0U3RvcmVzOkd9KSksYigpO2lmKHRoaXMuWDx2MCgieXRpZGJfcmVtYWtlX2RiX3JldHJpZXMiLDEpKXJldHVybiB0aGlzLlgrKyxhd2FpdCB0aGlzLmRlbGV0ZSgpLExGKG5ldyBxTCgiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOmUsZm91bmRPYmplY3RTdG9yZXM6R30pKSxiKCk7dGhyb3cgbmV3IFFkUyhHLGUpO31yZXR1cm4geH1jYXRjaCh4KXtpZih4IGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP3gubmFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZ4IGluc3RhbmNlb2YgRE9NRXJyb3I/eC5uYW1lPT09IlZlcnNpb25FcnJvciI6eCBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4geCYmeC5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe3Y9CmF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdm9pZCAwLHsuLi5ELHVwZ3JhZGU6dm9pZCAwfSk7az12Lk4udmVyc2lvbjtpZih0aGlzLm9wdGlvbnMudmVyc2lvbiE9PXZvaWQgMCYmaz50aGlzLm9wdGlvbnMudmVyc2lvbisxKXRocm93IHYuY2xvc2UoKSx0aGlzLlc9ITEsakYodGhpcyxrKTtyZXR1cm4gdn1XKCk7eCBpbnN0YW5jZW9mIEVycm9yJiYhZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIikmJih4LnN0YWNrPWAke3guc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKTt0aHJvdyAkdSh4LHRoaXMubmFtZSwiIix0aGlzLm9wdGlvbnMudmVyc2lvbj8/LTEpO319OwpyZXR1cm4gdGhpcy5OPW49YigpfX07dmFyIEJOPW5ldyBjTTEoIll0SWRiTWV0YSIse0tjOntkYXRhYmFzZXM6e3Z4OjF9fSx1cGdyYWRlKG4sVyl7VygxKSYmWnkobiwiZGF0YWJhc2VzIix7a2V5UGF0aDoiYWN0dWFsTmFtZSJ9KX19KTt2YXIgVmMsUWM9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0obmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0pO25ldyBnLktWO3ZhciBPNXQ9Y2xhc3MgZXh0ZW5kcyBjTTF7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLFcpO3RoaXMub3B0aW9ucz1XO2cwKG4pfUoobixXLEQ9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP0FfcjpTX1opKG4sVyx7Li4uRH0pfWRlbGV0ZShuPXt9KXtyZXR1cm4odGhpcy5vcHRpb25zLnNoYXJlZD92ejptM3cpKHRoaXMubmFtZSxuKX19O3ZhciBaNUM9a08oInl0R2NmQ29uZmlnIix7S2M6e2NvbGRDb25maWdTdG9yZTp7dng6MX0saG90Q29uZmlnU3RvcmU6e3Z4OjF9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcpe1coMSkmJihFUihaeShuLCJob3RDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJob3RUaW1lc3RhbXBJbmRleCIsInRpbWVzdGFtcCIpLEVSKFp5KG4sImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBhTzE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9W107dGhpcy5OPVtdO3ZhciBuPWcucnIoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIik7bj8odGhpcy5KPVsuLi5uXSx0aGlzLk49bik6KHRoaXMuTj1bXSxnLkdiKCJ5dC5nY2YuY29uZmlnLmhvdFVwZGF0ZUNhbGxiYWNrcyIsdGhpcy5OKSl9bUEoKXtmb3IobGV0IFcgb2YgdGhpcy5KKXt2YXIgbj10aGlzLk47bGV0IEQ9bi5pbmRleE9mKFcpO0Q+PTAmJm4uc3BsaWNlKEQsMSl9dGhpcy5KLmxlbmd0aD0wO3N1cGVyLm1BKCl9fTtnLlgzPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5WPSExO3RoaXMuaj10aGlzLlg9MDt0aGlzLks9bmV3IGFPMX1MWCgpe3JldHVybiAkTygpPz9nLkFyKCJSQVdfSE9UX0NPTkZJR19HUk9VUCIpfVcobil7dGhpcy5ob3RIYXNoRGF0YT1uO2cuR2IoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiLHRoaXMuaG90SGFzaERhdGF8fG51bGwpfX07dmFyIG5naD10eXBlb2YgVGV4dEVuY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dEVuY29kZXI6bnVsbCxRZD1uZ2g/bj0+bmdoLmVuY29kZShuKTpuPT57bj1MMChuKTsKdmFyIFc9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKVdbRF09bltEXTtyZXR1cm4gV307dmFyIGhlPXtuZXh0OiJ3bl9zIixicm93c2U6ImJyX3MiLHNlYXJjaDoic3JfcyIscmVlbDoicl93cnMiLHBsYXllcjoicHNfcyJ9LFVITT17bmV4dDoid25fciIsYnJvd3NlOiJicl9yIixzZWFyY2g6InNyX3IiLHJlZWw6InJfd3JyIixwbGF5ZXI6InBzX3IifTtvNy5wcm90b3R5cGUuYlk9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtkMy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b3BpY307dmFyIFdIUz1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKXx8bmV3IEJLO0JLLnByb3RvdHlwZS5zdWJzY3JpYmU9QksucHJvdG90eXBlLnN1YnNjcmliZTtCSy5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1CSy5wcm90b3R5cGUuaks7QksucHJvdG90eXBlLnB1Ymxpc2g9QksucHJvdG90eXBlLldKO0JLLnByb3RvdHlwZS5jbGVhcj1CSy5wcm90b3R5cGUuY2xlYXI7Zy5HYigieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixXSFMpO3ZhciBqOT1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Zy5HYigieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixqOSk7dmFyIEJ6PWcucnIoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtnLkdiKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLEJ6KTt2YXIgQ1A9Zy5ycigieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307CmcuR2IoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixDUCk7Zy5HYigieXRQdWJzdWIyUHVic3ViMlNraXBTdWJLZXkiLG51bGwpO3ZhciBNQj12MCgibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KSxSNz12MCgibWluX2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNTAwKSx3OWo9MDt2YXIgRHoxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuV3Y9dGhpcy5OPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuSj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9Owp0aGlzLkYyPSgpPT57fTsKdGhpcy5ub3c9RGF0ZS5ub3c7dGhpcy5OaD0hMTt0aGlzLnV4PW4udXg/PzEwMDt0aGlzLkExPW4uQTE/PzE7dGhpcy5HeT1uLkd5Pz8yNTkyRTY7dGhpcy5aND1uLlo0Pz8xMkU0O3RoaXMuSVA9bi5JUD8/NUUzO3RoaXMuWVc9bi5ZVz8/dm9pZCAwO3RoaXMuQ3I9ISFuLkNyO3RoaXMuS3I9bi5Lcj8/LjE7dGhpcy5IRj1uLkhGPz8xMDtuLmhhbmRsZUVycm9yJiYodGhpcy5oYW5kbGVFcnJvcj1uLmhhbmRsZUVycm9yKTtuLkYyJiYodGhpcy5GMj1uLkYyKTtuLk5oJiYodGhpcy5OaD1uLk5oKTtuLld2JiYodGhpcy5Xdj1uLld2KTt0aGlzLkVxPW4uRXE7dGhpcy5BJD1uLkEkO3RoaXMuZ0U9bi5nRTt0aGlzLnlHPW4ueUc7dGhpcy5MbT1uLkxtO3RoaXMudVo9bi51Wjt0aGlzLk5BPW4uTkE7Y3oodGhpcykmJighdGhpcy5FcXx8dGhpcy5FcSgibmV0d29ya2xlc3NfbG9nZ2luZyIpKSYmbm0odGhpcyl9d3JpdGVUaGVuU2VuZChuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPQp7dXJsOm4sb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH07dGhpcy5nRS5zZXQoRCx0aGlzLllXKS50aGVuKGI9PntELmlkPWI7dGhpcy55Ry5XRygpJiZENSh0aGlzLEQpfSkuY2F0Y2goYj0+e0Q1KHRoaXMsRCk7CmJNKHRoaXMsYil9KX1lbHNlIHRoaXMuTG0obixXKX1zZW5kVGhlbldyaXRlKG4sVz17fSxEKXtpZihjeih0aGlzKSYmdGhpcy5OKXtsZXQgYj17dXJsOm4sCm9wdGlvbnM6Vyx0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9O3RoaXMuRXEmJnRoaXMuRXEoIm53bF9za2lwX3JldHJ5IikmJihiLnNraXBSZXRyeT1EKTtpZih0aGlzLnlHLldHKCl8fHRoaXMuRXEmJnRoaXMuRXEoIm53bF9hZ2dyZXNzaXZlX3NlbmRfdGhlbl93cml0ZSIpJiYhYi5za2lwUmV0cnkpe2lmKCFiLnNraXBSZXRyeSl7bGV0IHY9Vy5vbkVycm9yP1cub25FcnJvcjooKT0+e307Clcub25FcnJvcj1hc3luYyhrLGgpPT57YXdhaXQgdGhpcy5nRS5zZXQoYix0aGlzLllXKS5jYXRjaCh4PT57Yk0odGhpcyx4KX0pOwp2KGssaCl9fXRoaXMuTG0obixXLGIuc2tpcFJldHJ5KX1lbHNlIHRoaXMuZ0Uuc2V0KGIsdGhpcy5ZVykuY2F0Y2godj0+e3RoaXMuTG0obixXLGIuc2tpcFJldHJ5KTsKYk0odGhpcyx2KX0pfWVsc2UgRD10aGlzLkVxJiZ0aGlzLkVxKCJud2xfc2tpcF9yZXRyeSIpJiZELHRoaXMuTG0obixXLEQpfXNlbmRBbmRXcml0ZShuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPXt1cmw6biwKb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH0sYj0hMSx2PVcub25TdWNjZXNzP1cub25TdWNjZXNzOigpPT57fTsKRC5vcHRpb25zLm9uU3VjY2Vzcz0oayxoKT0+e0QuaWQhPT12b2lkIDA/dGhpcy5nRS5UTShELmlkLHRoaXMuWVcpOmI9ITA7dGhpcy55Ry5sYyYmdGhpcy5FcSYmdGhpcy5FcSgidnNzX25ldHdvcmtfaGludCIpJiZ0aGlzLnlHLmxjKCEwKTt2KGssaCl9Owp0aGlzLkxtKEQudXJsLEQub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuZ0Uuc2V0KEQsdGhpcy5ZVykudGhlbihrPT57RC5pZD1rO2ImJnRoaXMuZ0UuVE0oRC5pZCx0aGlzLllXKX0pLmNhdGNoKGs9PntiTSh0aGlzLGspfSl9ZWxzZSB0aGlzLkxtKG4sVyx2b2lkIDAsITApfVcoKXtpZighY3oodGhpcykpdGhyb3cgRXJyb3IoIkluZGV4ZWREQiBpcyBub3Qgc3VwcG9ydGVkOiB0aHJvdHRsZVNlbmQiKTsKdGhpcy5KfHwodGhpcy5KPXRoaXMuQSQuTFMoYXN5bmMoKT0+e3ZhciBuPWF3YWl0IHRoaXMuZ0UuaTQoIk5FVyIsdGhpcy5ZVyk7bj8oYXdhaXQgRDUodGhpcyxuKSx0aGlzLkomJih0aGlzLko9MCx0aGlzLlcoKSkpOnRoaXMuWCgpfSx0aGlzLnV4KSl9WCgpe3RoaXMuQSQuc08odGhpcy5KKTsKdGhpcy5KPTB9fTt2YXIgdlU7dmFyIHk0PXthY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRJbjoyMyxhY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRPdXQ6MjQsZGVsYXllZEV2ZW50TWV0cmljQ2FwdHVyZWQ6MTEsbGF0ZW5jeUFjdGlvbkJhc2VsaW5lZDo2LGxhdGVuY3lBY3Rpb25JbmZvOjcsbGF0ZW5jeUFjdGlvblRpY2tlZDo1LG9mZmxpbmVUcmFuc2ZlclN0YXR1c0NoYW5nZWQ6MixvZmZsaW5lSW1hZ2VEb3dubG9hZDozMzUscGxheWJhY2tTdGFydFN0YXRlQ2hhbmdlZDo5LHN5c3RlbUhlYWx0aENhcHR1cmVkOjMsbWFuZ29PbmJvYXJkaW5nQ29tcGxldGVkOjEwLG1hbmdvUHVzaE5vdGlmaWNhdGlvblJlY2VpdmVkOjIzMCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uRXJyb3I6MTIxLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdW1tYXJ5OjEyMixtYW5nb1VuZm9ya0RiTWlncmF0aW9uUHJldW5mb3JrRGJWZXJzaW9uTnVtYmVyOjEzMyxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVNZXRhZGF0YToxMzQsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblBob25lU3RvcmFnZToxMzUsCm1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdGVwOjE0MixtYW5nb0FzeW5jQXBpTWlncmF0aW9uRXZlbnQ6MjIzLG1hbmdvRG93bmxvYWRWaWRlb1Jlc3VsdDoyMjQsbWFuZ29Ib21lcGFnZVZpZGVvQ291bnQ6Mjc5LG1hbmdvSG9tZVYzU3RhdGU6Mjk1LG1hbmdvSW1hZ2VDbGllbnRDYWNoZUhpdEV2ZW50OjI3MyxzZENhcmRTdGF0dXNDaGFuZ2VkOjk4LGZyYW1lc0Ryb3BwZWQ6MTIsdGh1bWJuYWlsSG92ZXJlZDoxMyxkZXZpY2VSZXRlbnRpb25JbmZvQ2FwdHVyZWQ6MTQsdGh1bWJuYWlsTG9hZGVkOjE1LGJhY2tUb0FwcEV2ZW50OjMxOCxzdHJlYW1pbmdTdGF0c0NhcHR1cmVkOjE3LG9mZmxpbmVWaWRlb1NoYXJlZDoxOSxhcHBDcmFzaGVkOjIwLHlvdVRoZXJlOjIxLG9mZmxpbmVTdGF0ZVNuYXBzaG90OjIyLG1keFNlc3Npb25TdGFydGVkOjI1LG1keFNlc3Npb25Db25uZWN0ZWQ6MjYsbWR4U2Vzc2lvbkRpc2Nvbm5lY3RlZDoyNyxiZWRyb2NrUmVzb3VyY2VDb25zdW1wdGlvblNuYXBzaG90OjI4LApuZXh0R2VuV2F0Y2hXYXRjaFN3aXBlZDoyOSxraWRzQWNjb3VudHNTbmFwc2hvdDozMCx6ZXJvU3RlcENoYW5uZWxDcmVhdGVkOjMxLHR2aHRtbDVTZWFyY2hDb21wbGV0ZWQ6MzIsb2ZmbGluZVNoYXJlUGFpcmluZzozNCxvZmZsaW5lU2hhcmVVbmxvY2s6MzUsbWR4Um91dGVEaXN0cmlidXRpb25TbmFwc2hvdDozNixiZWRyb2NrUmVwZXRpdGl2ZUFjdGlvblRpbWVkOjM3LHVucGx1Z2dlZERlZ3JhZGF0aW9uSW5mbzoyMjksdXBsb2FkTXA0SGVhZGVyTW92ZWQ6MzgsdXBsb2FkVmlkZW9UcmFuc2NvZGVkOjM5LHVwbG9hZFByb2Nlc3NvclN0YXJ0ZWQ6NDYsdXBsb2FkUHJvY2Vzc29yRW5kZWQ6NDcsdXBsb2FkUHJvY2Vzc29yUmVhZHk6OTQsdXBsb2FkUHJvY2Vzc29yUmVxdWlyZW1lbnRQZW5kaW5nOjk1LHVwbG9hZFByb2Nlc3NvckludGVycnVwdGVkOjk2LHVwbG9hZEZyb250ZW5kRXZlbnQ6MjQxLGFzc2V0UGFja0Rvd25sb2FkU3RhcnRlZDo0MSxhc3NldFBhY2tEb3dubG9hZGVkOjQyLAphc3NldFBhY2tBcHBsaWVkOjQzLGFzc2V0UGFja0RlbGV0ZWQ6NDQsYXBwSW5zdGFsbEF0dHJpYnV0aW9uRXZlbnQ6NDU5LHBsYXliYWNrU2Vzc2lvblN0b3BwZWQ6NDUsYWRCbG9ja2VyTWVzc2FnaW5nU2hvd246NDgsZGlzdHJpYnV0aW9uQ2hhbm5lbENhcHR1cmVkOjQ5LGRhdGFQbGFuQ3BpZFJlcXVlc3RlZDo1MSxkZXRhaWxlZE5ldHdvcmtUeXBlQ2FwdHVyZWQ6NTIsc2VuZFN0YXRlVXBkYXRlZDo1MyxyZWNlaXZlU3RhdGVVcGRhdGVkOjU0LHNlbmREZWJ1Z1N0YXRlVXBkYXRlZDo1NSxyZWNlaXZlRGVidWdTdGF0ZVVwZGF0ZWQ6NTYsa2lkc0Vycm9yZWQ6NTcsbWR4TXNuU2Vzc2lvblN0YXRzRmluaXNoZWQ6NTgsYXBwU2V0dGluZ3NDYXB0dXJlZDo1OSxtZHhXZWJTb2NrZXRTZXJ2ZXJIdHRwRXJyb3I6NjAsbWR4V2ViU29ja2V0U2VydmVyOjYxLHN0YXJ0dXBDcmFzaGVzRGV0ZWN0ZWQ6NjIsY29sZFN0YXJ0SW5mbzo0MzUsb2ZmbGluZVBsYXliYWNrU3RhcnRlZDo2MyxsaXZlQ2hhdE1lc3NhZ2VTZW50OjIyNSwKbGl2ZUNoYXRVc2VyUHJlc2VudDo0MzQsbGl2ZUNoYXRCZWluZ01vZGVyYXRlZDo0NTcsbGl2ZUNoYXRHaWZ0QnV0dG9uSW1wcmVzc2VkOjU1OCxsaXZlQ3JlYXRpb25DYW1lcmFVcGRhdGVkOjY0LGxpdmVDcmVhdGlvbkVuY29kaW5nQ2FwdHVyZWQ6NjUsbGl2ZUNyZWF0aW9uRXJyb3I6NjYsbGl2ZUNyZWF0aW9uSGVhbHRoVXBkYXRlZDo2NyxsaXZlQ3JlYXRpb25WaWRlb0VmZmVjdHNDYXB0dXJlZDo2OCxsaXZlQ3JlYXRpb25TdGFnZU9jY3VyZWQ6NzUsb2ZmbGluZVN5c3RlbUZhaWx1cmU6NTQ2LGxpdmVDcmVhdGlvbkJyb2FkY2FzdFNjaGVkdWxlZDoxMjMsbGl2ZUNyZWF0aW9uQXJjaGl2ZVJlcGxhY2VtZW50OjE0OSxsaXZlQ3JlYXRpb25Db3N0cmVhbWluZ0Nvbm5lY3Rpb246NDIxLGxpdmVDcmVhdGlvblBsYXlhYmxlc01ldHJpY3M6NTMzLGxpdmVDcmVhdGlvblN0cmVhbVdlYnJ0Y1N0YXRzOjI4OCxsaXZlQ3JlYXRpb25XZWJydGNFcnJvcjo1MjYsbWR4U2Vzc2lvblJlY292ZXJ5U3RhcnRlZDo2OSwKbWR4U2Vzc2lvblJlY292ZXJ5Q29tcGxldGVkOjcwLG1keFNlc3Npb25SZWNvdmVyeVN0b3BwZWQ6NzEsdmlzdWFsRWxlbWVudFNob3duOjcyLHZpc3VhbEVsZW1lbnRIaWRkZW46NzMsdmlzdWFsRWxlbWVudEdlc3R1cmVkOjc4LHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQ6MjA4LHNjcmVlbkNyZWF0ZWQ6MTU2LHBsYXliYWNrQXNzb2NpYXRlZDoyMDIsdmlzdWFsRWxlbWVudEF0dGFjaGVkOjIxNSxwbGF5YmFja0NvbnRleHRFdmVudDoyMTQsY2xvdWRDYXN0aW5nUGxheWJhY2tTdGFydGVkOjc0LHdlYlBsYXllckFwaUNhbGxlZDo3Nix0dmh0bWw1QWNjb3VudERpYWxvZ09wZW5lZDo3OSxmb3JlZ3JvdW5kSGVhcnRiZWF0OjgwLGZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkOjExMSxraWRzT2ZmbGluZVNuYXBzaG90OjgxLG1keEVuY3J5cHRpb25TZXNzaW9uU3RhdHNGaW5pc2hlZDo4MixwbGF5ZXJSZXF1ZXN0Q29tcGxldGVkOjgzLGxpdGVTY2hlZHVsZXJTdGF0aXN0aWNzOjg0LAptZHhTaWduSW46ODUsc3BhY2VjYXN0TWV0YWRhdGFMb29rdXBSZXF1ZXN0ZWQ6ODYsc3BhY2VjYXN0QmF0Y2hMb29rdXBSZXF1ZXN0ZWQ6ODcsc3BhY2VjYXN0U3VtbWFyeVJlcXVlc3RlZDo4OCxzcGFjZWNhc3RQbGF5YmFjazo4OSxzcGFjZWNhc3REaXNjb3Zlcnk6OTAsdHZodG1sNUxhdW5jaFVybENvbXBvbmVudENoYW5nZWQ6OTEsbWR4QmFja2dyb3VuZFBsYXliYWNrUmVxdWVzdENvbXBsZXRlZDo5MixtZHhCcm9rZW5BZGRpdGlvbmFsRGF0YURldmljZURldGVjdGVkOjkzLHR2aHRtbDVMb2NhbFN0b3JhZ2U6OTcsdHZodG1sNURldmljZVN0b3JhZ2VTdGF0dXM6MTQ3LGF1dG9DYXB0aW9uc0F2YWlsYWJsZTo5OSxwbGF5YmFja1NjcnViYmluZ0V2ZW50OjMzOSxmbGV4eVN0YXRlOjEwMCxpbnRlcmZhY2VPcmllbnRhdGlvbkNhcHR1cmVkOjEwMSxtYWluQXBwQnJvd3NlRnJhZ21lbnRDYWNoZToxMDIsb2ZmbGluZUNhY2hlVmVyaWZpY2F0aW9uRmFpbHVyZToxMDMsb2ZmbGluZVBsYXliYWNrRXhjZXB0aW9uRGlnZXN0OjIxNywKdnJDb3ByZXNlbmNlU3RhdHM6MTA0LHZyQ29wcmVzZW5jZVN5bmNTdGF0czoxMzAsdnJDb3ByZXNlbmNlQ29tbXNTdGF0czoxMzcsdnJDb3ByZXNlbmNlUGFydHlTdGF0czoxNTMsdnJDb3ByZXNlbmNlRW1vamlTdGF0czoyMTMsdnJDb3ByZXNlbmNlRXZlbnQ6MTQxLHZyQ29wcmVzZW5jZUZsb3dUcmFuc2l0RXZlbnQ6MTYwLHZyQ293YXRjaFBhcnR5RXZlbnQ6NDkyLHZyQ293YXRjaFVzZXJTdGFydE9ySm9pbkV2ZW50OjUwNCx2clBsYXliYWNrRXZlbnQ6MzQ1LGtpZHNBZ2VHYXRlVHJhY2tpbmc6MTA1LG9mZmxpbmVEZWxheUFsbG93ZWRUcmFja2luZzoxMDYsbWFpbkFwcEF1dG9PZmZsaW5lU3RhdGU6MTA3LHZpZGVvQXNUaHVtYm5haWxEb3dubG9hZDoxMDgsdmlkZW9Bc1RodW1ibmFpbFBsYXliYWNrOjEwOSxsaXRlU2hvd01vcmU6MTEwLHJlbmRlcmluZ0Vycm9yOjExOCxraWRzUHJvZmlsZVBpbkdhdGVUcmFja2luZzoxMTksYWJyVHJhamVjdG9yeToxMjQsc2Nyb2xsRXZlbnQ6MTI1LApzdHJlYW16SW5jcmVtZW50ZWQ6MTI2LGtpZHNQcm9maWxlU3dpdGNoZXJUcmFja2luZzoxMjcsa2lkc1Byb2ZpbGVDcmVhdGlvblRyYWNraW5nOjEyOSxidXlGbG93U3RhcnRlZDoxMzYsaW50ZWdyYXRpb25BdHRyaWJ1dGlvbkV2ZW50OjU1NixtYnNDb25uZWN0aW9uSW5pdGlhdGVkOjEzOCxtYnNQbGF5YmFja0luaXRpYXRlZDoxMzksbWJzTG9hZENoaWxkcmVuOjE0MCxsaXRlUHJvZmlsZUZldGNoZXI6MTQ0LG1keFJlbW90ZVRyYW5zYWN0aW9uOjE0NixyZWVsUGxheWJhY2tFcnJvcjoxNDgscmVhY2hhYmlsaXR5RGV0ZWN0aW9uRXZlbnQ6MTUwLG1vYmlsZVBsYXliYWNrRXZlbnQ6MTUxLGNvdXJ0c2lkZVBsYXllclN0YXRlQ2hhbmdlZDoxNTIsbXVzaWNQZXJzaXN0ZW50Q2FjaGVDaGVja2VkOjE1NCxtdXNpY1BlcnNpc3RlbnRDYWNoZUNsZWFyZWQ6MTU1LHBsYXliYWNrSW50ZXJydXB0ZWQ6MTU3LHBsYXliYWNrSW50ZXJydXB0aW9uUmVzb2x2ZWQ6MTU4LGZpeEZvcEZsb3c6MTU5LAphbnJEZXRlY3Rpb246MTYxLGJhY2tzdGFnZVBvc3RDcmVhdGlvbkZsb3dFbmRlZDoxNjIsY2xpZW50RXJyb3I6MTYzLGdhbWluZ0FjY291bnRMaW5rU3RhdHVzQ2hhbmdlZDoxNjQsbGl0ZUhvdXNld2FybWluZzoxNjUsYnV5Rmxvd0V2ZW50OjE2NyxraWRzUGFyZW50YWxHYXRlVHJhY2tpbmc6MTY4LGtpZHNTaWduZWRPdXRTZXR0aW5nc1N0YXR1czo0Mzcsa2lkc1NpZ25lZE91dFBhdXNlSGlzdG9yeUZpeFN0YXR1czo0MzgsdHZodG1sNVdhdGNoZG9nVmlvbGF0aW9uOjQ0NCx5cGNVcGdyYWRlRmxvdzoxNjkseW9uZ2xlU3R1ZHk6MTcwLHlwY1VwZGF0ZUZsb3dTdGFydGVkOjE3MSx5cGNVcGRhdGVGbG93Q2FuY2VsbGVkOjE3Mix5cGNVcGRhdGVGbG93U3VjY2VlZGVkOjE3Myx5cGNVcGRhdGVGbG93RmFpbGVkOjE3NCxsaXRlR3Jvd3Roa2l0UHJvbW86MTc1LHBheW1lbnRGbG93U3RhcnRlZDozNDEsdHJhbnNhY3Rpb25GbG93U2hvd1BheW1lbnREaWFsb2c6NDA1LHRyYW5zYWN0aW9uRmxvd1N0YXJ0ZWQ6MTc2LAp0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdGFydGVkOjIyMix0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTaWduZWRPdXRTdGFydGVkOjM4Myx0cmFuc2FjdGlvbkZsb3dDYW5jZWxsZWQ6MTc3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRDYWxsQmFja1JlY2VpdmVkOjM4Nyx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VibWl0dGVkOjQ2MCx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VjY2VlZGVkOjMyOSx0cmFuc2FjdGlvbkZsb3dTdWNjZWVkZWQ6MTc4LHRyYW5zYWN0aW9uRmxvd0ZhaWxlZDoxNzksdHJhbnNhY3Rpb25GbG93UGxheUJpbGxpbmdDb25uZWN0aW9uU3RhcnRFdmVudDo0MjgsdHJhbnNhY3Rpb25GbG93U2Vjb25kYXJ5RGV2aWNlU3VjY2Vzczo0NTgsdHJhbnNhY3Rpb25GbG93RXJyb3JFdmVudDo0MTEsbGl0ZVZpZGVvUXVhbGl0eUNoYW5nZWQ6MTgwLHdhdGNoQnJlYWtFbmFibGVtZW50U2V0dGluZ0V2ZW50OjE4MSx3YXRjaEJyZWFrRnJlcXVlbmN5U2V0dGluZ0V2ZW50OjE4MiwKdmlkZW9FZmZlY3RzQ2FtZXJhUGVyZm9ybWFuY2VNZXRyaWNzOjE4MyxhZE5vdGlmeToxODQsc3RhcnR1cFRlbGVtZXRyeToxODUscGxheWJhY2tPZmZsaW5lRmFsbGJhY2tVc2VkOjE4NixvdXRPZk1lbW9yeToxODcseXBjUGF1c2VGbG93U3RhcnRlZDoxODgseXBjUGF1c2VGbG93Q2FuY2VsbGVkOjE4OSx5cGNQYXVzZUZsb3dTdWNjZWVkZWQ6MTkwLHlwY1BhdXNlRmxvd0ZhaWxlZDoxOTEsdXBsb2FkRmlsZVNlbGVjdGVkOjE5Mix5cGNSZXN1bWVGbG93U3RhcnRlZDoxOTMseXBjUmVzdW1lRmxvd0NhbmNlbGxlZDoxOTQseXBjUmVzdW1lRmxvd1N1Y2NlZWRlZDoxOTUseXBjUmVzdW1lRmxvd0ZhaWxlZDoxOTYsYWRzQ2xpZW50U3RhdGVDaGFuZ2U6MTk3LHlwY0NhbmNlbEZsb3dTdGFydGVkOjE5OCx5cGNDYW5jZWxGbG93Q2FuY2VsbGVkOjE5OSx5cGNDYW5jZWxGbG93U3VjY2VlZGVkOjIwMCx5cGNDYW5jZWxGbG93RmFpbGVkOjIwMSx5cGNDYW5jZWxGbG93R29Ub1BheW1lbnRQcm9jZXNzb3I6NDAyLAp5cGNEZWFjdGl2YXRlRmxvd1N0YXJ0ZWQ6MzIwLHlwY1JlZGVlbUZsb3dTdGFydGVkOjIwMyx5cGNSZWRlZW1GbG93Q2FuY2VsbGVkOjIwNCx5cGNSZWRlZW1GbG93U3VjY2VlZGVkOjIwNSx5cGNSZWRlZW1GbG93RmFpbGVkOjIwNix5cGNGYW1pbHlDcmVhdGVGbG93U3RhcnRlZDoyNTgseXBjRmFtaWx5Q3JlYXRlRmxvd0NhbmNlbGxlZDoyNTkseXBjRmFtaWx5Q3JlYXRlRmxvd1N1Y2NlZWRlZDoyNjAseXBjRmFtaWx5Q3JlYXRlRmxvd0ZhaWxlZDoyNjEseXBjRmFtaWx5TWFuYWdlRmxvd1N0YXJ0ZWQ6MjYyLHlwY0ZhbWlseU1hbmFnZUZsb3dDYW5jZWxsZWQ6MjYzLHlwY0ZhbWlseU1hbmFnZUZsb3dTdWNjZWVkZWQ6MjY0LHlwY0ZhbWlseU1hbmFnZUZsb3dGYWlsZWQ6MjY1LHJlc3RvcmVDb250ZXh0RXZlbnQ6MjA3LGVtYmVkc0FkRXZlbnQ6MzI3LGF1dG9wbGF5VHJpZ2dlcmVkOjIwOSxjbGllbnREYXRhRXJyb3JFdmVudDoyMTAsZXhwZXJpbWVudGFsVnNzVmFsaWRhdGlvbjoyMTEsCnR2aHRtbDVUcmlnZ2VyZWRFdmVudDoyMTIsdHZodG1sNUZyYW1ld29ya3NGaWVsZFRyaWFsUmVzdWx0OjIxNix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxTdGFydDoyMjAsbXVzaWNPZmZsaW5lUHJlZmVyZW5jZXM6MjE4LHdhdGNoVGltZVNlZ21lbnQ6MjE5LGFwcFdpZHRoTGF5b3V0RXJyb3I6MjIxLGFjY291bnRSZWdpc3RyeUNoYW5nZToyMjYsdXNlck1lbnRpb25BdXRvQ29tcGxldGVCb3hFdmVudDoyMjcsZG93bmxvYWRSZWNvbW1lbmRhdGlvbkVuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MjI4LG11c2ljUGxheWJhY2tDb250ZW50TW9kZUNoYW5nZUV2ZW50OjIzMSxvZmZsaW5lRGJPcGVuQ29tcGxldGVkOjIzMixraWRzRmxvd0V2ZW50OjIzMyxraWRzRmxvd0NvcnB1c1NlbGVjdGVkRXZlbnQ6MjM0LHZpZGVvRWZmZWN0c0V2ZW50OjIzNSx1bnBsdWdnZWRPcHNFb2dBbmFseXRpY3NFdmVudDoyMzYscGxheWJhY2tBdWRpb1JvdXRlRXZlbnQ6MjM3LGludGVyYWN0aW9uTG9nZ2luZ0RlYnVnTW9kZUVycm9yOjIzOCwKb2ZmbGluZVl0YlJlZnJlc2hlZDoyMzksa2lkc0Zsb3dFcnJvcjoyNDAsbXVzaWNBdXRvcGxheU9uTGF1bmNoQXR0ZW1wdGVkOjI0MixkZXZpY2VDb250ZXh0QWN0aXZpdHlFdmVudDoyNDMsZGV2aWNlQ29udGV4dEV2ZW50OjI0NCx0ZW1wbGF0ZVJlc29sdXRpb25FeGNlcHRpb246MjQ1LG11c2ljU2lkZWxvYWRlZFBsYXlsaXN0U2VydmljZUNhbGxlZDoyNDYsZW1iZWRzU3RvcmFnZUFjY2Vzc05vdENoZWNrZWQ6MjQ3LGVtYmVkc0hhc1N0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjQ4LGVtYmVkc0l0cFBsYXllZE9uUmVsb2FkOjI0OSxlbWJlZHNSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTAsZW1iZWRzU2hvdWxkUmVxdWVzdFN0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjUxLGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzU3RhdGU6MjU2LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzRmFpbGVkU3RhdGU6MjU3LGVtYmVkc0l0cFdhdGNoTGF0ZXJSZXN1bHQ6MjY2LHNlYXJjaFN1Z2dlc3REZWNvZGluZ1BheWxvYWRGYWlsdXJlOjI1MiwKc2lyaVNob3J0Y3V0QWN0aXZhdGVkOjI1Myx0dmh0bWw1S2V5Ym9hcmRQZXJmb3JtYW5jZToyNTQsbGF0ZW5jeUFjdGlvblNwYW46MjU1LGVsZW1lbnRzTG9nOjI2Nyx5dGJGaWxlT3BlbmVkOjI2OCx0ZmxpdGVNb2RlbEVycm9yOjI2OSxhcGlUZXN0OjI3MCx5b25nbGVVc2JTZXR1cDoyNzEsdG91U3RyaWtlSW50ZXJzdGl0aWFsRXZlbnQ6MjcyLGxpdGVTdHJlYW1Ub1NhdmU6Mjc0LGFwcEJ1bmRsZUNsaWVudEV2ZW50OjI3NSx5dGJGaWxlQ3JlYXRpb25GYWlsZWQ6Mjc2LGFkTm90aWZ5RmFpbHVyZToyNzgseXRiVHJhbnNmZXJGYWlsZWQ6MjgwLGJsb2NraW5nUmVxdWVzdEZhaWxlZDoyODEsbGl0ZUFjY291bnRTZWxlY3RvcjoyODIsbGl0ZUFjY291bnRVaUNhbGxiYWNrczoyODMsZHVtbXlQYXlsb2FkOjI4NCxicm93c2VSZXNwb25zZVZhbGlkYXRpb25FdmVudDoyODUsZW50aXRpZXNFcnJvcjoyODYsbXVzaWNJb3NCYWNrZ3JvdW5kRmV0Y2g6Mjg3LG1keE5vdGlmaWNhdGlvbkV2ZW50OjI4OSwKbGF5ZXJzVmFsaWRhdGlvbkVycm9yOjI5MCxtdXNpY1B3YUluc3RhbGxlZDoyOTEsbGl0ZUFjY291bnRDbGVhbnVwOjI5MixodG1sNVBsYXllckhlYWx0aEV2ZW50OjI5Myx3YXRjaFJlc3RvcmVBdHRlbXB0OjI5NCxsaXRlQWNjb3VudFNpZ25JbjoyOTYsbm90YWlyZUV2ZW50OjI5OCxraWRzVm9pY2VTZWFyY2hFdmVudDoyOTksYWROb3RpZnlGaWxsZWQ6MzAwLGRlbGF5ZWRFdmVudERyb3BwZWQ6MzAxLGFuYWx5dGljc1NlYXJjaEV2ZW50OjMwMixzeXN0ZW1EYXJrVGhlbWVPcHRPdXRFdmVudDozMDMsZmxvd0V2ZW50OjMwNCxuZXR3b3JrQ29ubmVjdGl2aXR5QmFzZWxpbmVFdmVudDozMDUseXRiRmlsZUltcG9ydGVkOjMwNixkb3dubG9hZFN0cmVhbVVybEV4cGlyZWQ6MzA3LGRpcmVjdFNpZ25JbkV2ZW50OjMwOCxseXJpY0ltcHJlc3Npb25FdmVudDozMDksYWNjZXNzaWJpbGl0eVN0YXRlRXZlbnQ6MzEwLHRva2VuUmVmcmVzaEV2ZW50OjMxMSxnZW5lcmljQXR0ZXN0YXRpb25FeGVjdXRpb246MzEyLAp0dmh0bWw1VmlkZW9TZWVrOjMxMyx1bnBsdWdnZWRBdXRvUGF1c2U6MzE0LHNjcnViYmluZ0V2ZW50OjMxNSxiZWR0aW1lUmVtaW5kZXJFdmVudDozMTcsdHZodG1sNVVuZXhwZWN0ZWRSZXN0YXJ0OjMxOSx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXRzOjUzNSx0dmh0bWw1U3RhYmlsaXR5VHJhY2VFdmVudDo0NzgsdHZodG1sNU9wZXJhdGlvbkhlYWx0aDo0NjcsdHZodG1sNVdhdGNoS2V5RXZlbnQ6MzIxLHZvaWNlTGFuZ3VhZ2VDaGFuZ2VkOjMyMix0dmh0bWw1TGl2ZUNoYXRTdGF0dXM6MzIzLHBhcmVudFRvb2xzQ29ycHVzU2VsZWN0ZWRFdmVudDozMjQsb2ZmZXJBZHNFbnJvbGxtZW50SW5pdGlhdGVkOjMyNSxuZXR3b3JrUXVhbGl0eUludGVydmFsRXZlbnQ6MzI2LGRldmljZVN0YXJ0dXBNZXRyaWNzOjMyOCxoZWFydGJlYXRBY3Rpb25QbGF5ZXJUcmFuc2l0aW9uZWQ6MzMwLHR2aHRtbDVMaWZlY3ljbGU6MzMxLGhlYXJ0YmVhdEFjdGlvblBsYXllckhhbHRlZDozMzIsYWRhcHRpdmVJbmxpbmVNdXRlZFNldHRpbmdFdmVudDozMzMsCm1haW5BcHBMaWJyYXJ5TG9hZGluZ1N0YXRlOjMzNCx0aGlyZFBhcnR5TG9nTW9uaXRvcmluZ0V2ZW50OjMzNixhcHBTaGVsbEFzc2V0TG9hZFJlcG9ydDozMzcsdHZodG1sNUFuZHJvaWRBdHRlc3RhdGlvbjozMzgsdHZodG1sNVN0YXJ0dXBTb3VuZEV2ZW50OjM0MCxpb3NCYWNrZ3JvdW5kUmVmcmVzaFRhc2s6MzQyLGlvc0JhY2tncm91bmRQcm9jZXNzaW5nVGFzazozNDMsc2xpRXZlbnRCYXRjaDozNDQscG9zdEltcHJlc3Npb25FdmVudDozNDYsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RFeHBvcnQ6MzQ3LGlkYlVuZXhwZWN0ZWRseUNsb3NlZDozNDgsdm9pY2VTZWFyY2hFdmVudDozNDksbWR4U2Vzc2lvbkNhc3RFdmVudDozNTAsaWRiUXVvdGFFeGNlZWRlZDozNTEsaWRiVHJhbnNhY3Rpb25FbmRlZDozNTIsaWRiVHJhbnNhY3Rpb25BYm9ydGVkOjM1Myx0dmh0bWw1S2V5Ym9hcmRMb2dnaW5nOjM1NCxpZGJJc1N1cHBvcnRlZENvbXBsZXRlZDozNTUsY3JlYXRvclN0dWRpb01vYmlsZUV2ZW50OjM1NiwKaWRiRGF0YUNvcnJ1cHRlZDozNTcscGFyZW50VG9vbHNBcHBDaG9zZW5FdmVudDozNTgsd2ViVmlld0JvdHRvbVNoZWV0UmVzaXplZDozNTksYWN0aXZlU3RhdGVDb250cm9sbGVyU2Nyb2xsUGVyZm9ybWFuY2VTdW1tYXJ5OjM2MCxuYXZpZ2F0b3JWYWxpZGF0aW9uOjM2MSxtZHhTZXNzaW9uSGVhcnRiZWF0OjM2MixjbGllbnRIaW50c1BvbHlmaWxsRGlhZ25vc3RpY3M6MzYzLGNsaWVudEhpbnRzUG9seWZpbGxFdmVudDozNjQscHJvb2ZPZk9yaWdpblRva2VuRXJyb3I6MzY1LGtpZHNBZGRlZEFjY291bnRTdW1tYXJ5OjM2NixtdXNpY1dlYXJhYmxlRGV2aWNlOjM2Nyx5cGNSZWZ1bmRGbG93RXZlbnQ6MzY4LHR2aHRtbDVQbGF5YmFja01lYXN1cmVtZW50RXZlbnQ6MzY5LHR2aHRtbDVXYXRlcm1hcmtNZWFzdXJlbWVudEV2ZW50OjM3MCxjbGllbnRFeHBHY2ZQcm9wYWdhdGlvbkV2ZW50OjM3MSxtYWluQXBwUmVmZXJyZXJJbnRlbnQ6MzcyLGxlYWRlckxvY2tFbmRlZDozNzMsbGVhZGVyTG9ja0FjcXVpcmVkOjM3NCwKZ29vZ2xlSGF0c0V2ZW50OjM3NSxwZXJzaXN0ZW50TGVuc0xhdW5jaEV2ZW50OjM3NixwYXJlbnRUb29sc0NoaWxkV2VsY29tZUNob3NlbkV2ZW50OjM3OCxicm93c2VUaHVtYm5haWxQcmVsb2FkRXZlbnQ6Mzc5LGZpbmFsUGF5bG9hZDozODAsbWR4RGlhbEFkZGl0aW9uYWxEYXRhVXBkYXRlRXZlbnQ6MzgxLHdlYk9yY2hlc3RyYXRpb25UYXNrTGlmZWN5Y2xlUmVjb3JkOjM4MixzdGFydHVwU2lnbmFsRXZlbnQ6Mzg0LGFjY291bnRFcnJvcjozODUsZ21zRGV2aWNlQ2hlY2tFdmVudDozODYsYWNjb3VudFNlbGVjdG9yRXZlbnQ6Mzg4LGFjY291bnRVaUNhbGxiYWNrczozODksbWR4RGlhbEFkZGl0aW9uYWxEYXRhUHJvYmVFdmVudDozOTAsZG93bmxvYWRzU2VhcmNoSWNpbmdBcGlTdGF0czozOTEsZG93bmxvYWRzU2VhcmNoSW5kZXhVcGRhdGVkRXZlbnQ6Mzk3LGRvd25sb2Fkc1NlYXJjaEluZGV4U25hcHNob3Q6Mzk4LGRhdGFQdXNoQ2xpZW50RXZlbnQ6MzkyLGtpZHNDYXRlZ29yeVNlbGVjdGVkRXZlbnQ6MzkzLAptZHhEZXZpY2VNYW5hZ2VtZW50U25hcHNob3RFdmVudDozOTQscHJlZmV0Y2hSZXF1ZXN0ZWQ6Mzk1LHByZWZldGNoYWJsZUNvbW1hbmRFeGVjdXRlZDozOTYsZ2VsRGVidWdnaW5nRXZlbnQ6Mzk5LHdlYkxpbmtUdHNQbGF5RW5kOjQwMCxjbGlwVmlld0ludmFsaWQ6NDAxLHBlcnNpc3RlbnRTdG9yYWdlU3RhdGVDaGVja2VkOjQwMyxjYWNoZVdpcGVvdXRFdmVudDo0MDQscGxheWVyRXZlbnQ6NDEwLHNmdkVmZmVjdFBpcGVsaW5lU3RhcnRlZEV2ZW50OjQxMixzZnZFZmZlY3RQaXBlbGluZVBhdXNlZEV2ZW50OjQyOSxzZnZFZmZlY3RQaXBlbGluZUVuZGVkRXZlbnQ6NDEzLHNmdkVmZmVjdENob3NlbkV2ZW50OjQxNCxzZnZFZmZlY3RMb2FkZWRFdmVudDo0MTUsc2Z2RWZmZWN0VXNlckludGVyYWN0aW9uRXZlbnQ6NDY1LHNmdkVmZmVjdEZpcnN0RnJhbWVQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE2LHNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE3LApzZnZFZmZlY3RBZ2dyZWdhdGVkRnJhbWVzRHJvcHBlZEV2ZW50OjQxOCxzZnZFZmZlY3RQaXBlbGluZUVycm9yRXZlbnQ6NDMwLHNmdkVmZmVjdEdyYXBoRnJvemVuRXZlbnQ6NDE5LHNmdkVmZmVjdEdsVGhyZWFkQmxvY2tlZEV2ZW50OjQyMCxtZGVRb3NFdmVudDo1MTAsbWRlVmlkZW9DaGFuZ2VkRXZlbnQ6NDQyLG1kZVBsYXllclBlcmZvcm1hbmNlTWV0cmljczo0NzIsbWRlRXhwb3J0ZXJFdmVudDo0OTcsZ2VuZXJpY0NsaWVudEV4cGVyaW1lbnRFdmVudDo0MjMsaG9tZVByZWxvYWRUYXNrU2NoZWR1bGVkOjQyNCxob21lUHJlbG9hZFRhc2tFeGVjdXRlZDo0MjUsaG9tZVByZWxvYWRDYWNoZUhpdDo0MjYscG9seW1lclByb3BlcnR5Q2hhbmdlZEluT2JzZXJ2ZXI6NDI3LGFwcGxpY2F0aW9uU3RhcnRlZDo0MzEsbmV0d29ya0Nyb25ldFJ0dEJhdGNoOjQzMixuZXR3b3JrQ3JvbmV0UnR0U3VtbWFyeTo0MzMscmVwZWF0Q2hhcHRlckxvb3BFdmVudDo0MzYsc2Vla0NhbmNlbGxhdGlvbkV2ZW50OjQ2MiwKbG9ja01vZGVUaW1lb3V0RXZlbnQ6NDgzLGV4dGVybmFsVmlkZW9TaGFyZVRvWW91dHViZUF0dGVtcHQ6NTAxLHBhcmVudENvZGVFdmVudDo1MDIsb2ZmbGluZVRyYW5zZmVyU3RhcnRlZDo0LG11c2ljT2ZmbGluZU1peHRhcGVQcmVmZXJlbmNlc0NoYW5nZWQ6MTYsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkF0dGVtcHQ6NDAsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkVycm9yOjc3LGR0d3NQbGF5YmFja1N0YXJ0ZWQ6MTEyLGR0d3NUaWxlRmV0Y2hTdGFydGVkOjExMyxkdHdzVGlsZUZldGNoQ29tcGxldGVkOjExNCxkdHdzVGlsZUZldGNoU3RhdHVzQ2hhbmdlZDoxNDUsZHR3c0tleWZyYW1lRGVjb2RlckJ1ZmZlclNlbnQ6MTE1LGR0d3NUaWxlVW5kZXJmbG93ZWRPbk5vbmtleWZyYW1lOjExNixkdHdzQmFja2ZpbGxGZXRjaFN0YXR1c0NoYW5nZWQ6MTQzLGR0d3NCYWNrZmlsbFVuZGVyZmxvd2VkOjExNyxkdHdzQWRhcHRpdmVMZXZlbENoYW5nZWQ6MTI4LApibG9ja2luZ1Zpc2l0b3JJZFRpbWVvdXQ6Mjc3LGxpdGVTb2NpYWw6MTgsbW9iaWxlSnNJbnZvY2F0aW9uOjI5NyxiaXNjb3R0aUJhc2VkRGV0ZWN0aW9uOjQzOSxjb1dhdGNoU3RhdGVDaGFuZ2U6NDQwLGVtYmVkc1ZpZGVvRGF0YURpZENoYW5nZTo0NDEsc2hvcnRzRmlyc3Q6NDQzLGNydWlzZUNvbnRyb2xFdmVudDo0NDUscW9lQ2xpZW50TG9nZ2luZ0NvbnRleHQ6NDQ2LGF0dlJlY29tbWVuZGF0aW9uSm9iRXhlY3V0ZWQ6NDQ3LHR2aHRtbDVVc2VyRmVlZGJhY2s6NDQ4LHByb2R1Y2VyUHJvamVjdENyZWF0ZWQ6NDQ5LHByb2R1Y2VyUHJvamVjdE9wZW5lZDo0NTAscHJvZHVjZXJQcm9qZWN0RGVsZXRlZDo0NTEscHJvZHVjZXJQcm9qZWN0RWxlbWVudEFkZGVkOjQ1Myxwcm9kdWNlclByb2plY3RFbGVtZW50UmVtb3ZlZDo0NTQscHJvZHVjZXJBcHBTdGF0ZUNoYW5nZTo1MDkscHJvZHVjZXJQcm9qZWN0RGlza0luc3VmZmljaWVudEV4cG9ydEZhaWx1cmU6NTE2LHByb2R1Y2VyTWVkaWFTZXJ2aWNlc1Jlc2V0RGV0YWlsczo1MjIsCnR2aHRtbDVTaG93Q2xvY2tFdmVudDo0NTUsZGV2aWNlQ2FwYWJpbGl0eUNoZWNrTWV0cmljczo0NTYseW91dHViZUNsZWFyY3V0RXZlbnQ6NDYxLG9mZmxpbmVCcm93c2VGYWxsYmFja0V2ZW50OjQ2MyxnZXRDdHZUb2tlbkV2ZW50OjQ2NCxzdGFydHVwRHJvcHBlZEZyYW1lc1N1bW1hcnk6NDY2LHNjcmVlbnNob3RFdmVudDo0NjgsbWluaUFwcFBsYXlFdmVudDo0NjksZWxlbWVudHNEZWJ1Z0NvdW50ZXJzOjQ3MCxmb250TG9hZEV2ZW50OjQ3MSx3ZWJLaWxsc3dpdGNoUmVjZWl2ZWQ6NDczLHdlYktpbGxzd2l0Y2hFeGVjdXRlZDo0NzQsY2FtZXJhT3BlbkV2ZW50OjQ3NSxtYW51YWxTbW9vdGhuZXNzTWVhc3VyZW1lbnQ6NDc2LHR2aHRtbDVBcHBRdWFsaXR5RXZlbnQ6NDc3LHBvbHltZXJQcm9wZXJ0eUFjY2Vzc0V2ZW50OjQ3OSxtaW5pQXBwU2RrVXNhZ2U6NDgwLGNvYmFsdFRlbGVtZXRyeUV2ZW50OjQ4MSxjcm9zc0RldmljZVBsYXliYWNrOjQ4MixjaGFubmVsQ3JlYXRlZFdpdGhPYmFrZUltYWdlOjQ4NCwKY2hhbm5lbEVkaXRlZFdpdGhPYmFrZUltYWdlOjQ4NSxvZmZsaW5lRGVsZXRlRXZlbnQ6NDg2LGNyb3NzRGV2aWNlTm90aWZpY2F0aW9uVHJhbnNmZXI6NDg3LGFuZHJvaWRJbnRlbnRFdmVudDo0ODgsdW5wbHVnZ2VkQW1iaWVudEludGVybHVkZXNDb3VudGVyZmFjdHVhbEV2ZW50OjQ4OSxrZXlQbGF5c1BsYXliYWNrOjQ5MCxzaG9ydHNDcmVhdGlvbkZhbGxiYWNrRXZlbnQ6NDkzLHZzc0RhdGE6NDkxLGNhc3RNYXRjaDo0OTQsbWluaUFwcFBlcmZvcm1hbmNlTWV0cmljczo0OTUsdXNlckZlZWRiYWNrRXZlbnQ6NDk2LGtpZHNHdWVzdFNlc3Npb25NaXNtYXRjaDo0OTgsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RNaWdyYXRpb25FdmVudDo0OTksc2xlZXBUaW1lclNlc3Npb25GaW5pc2hFdmVudDo1MDAsd2F0Y2hFcFByb21vQ29uZmxpY3Q6NTAzLGlubmVydHViZVJlc3BvbnNlQ2FjaGVNZXRyaWNzOjUwNSxtaW5pQXBwQWRFdmVudDo1MDYsZGF0YVBsYW5VcHNlbGxFdmVudDo1MDcsCnByb2R1Y2VyUHJvamVjdFJlbmFtZWQ6NTA4LHByb2R1Y2VyTWVkaWFTZWxlY3Rpb25FdmVudDo1MTEsZW1iZWRzQXV0b3BsYXlTdGF0dXNDaGFuZ2VkOjUxMixyZW1vdGVDb25uZWN0RXZlbnQ6NTEzLGNvbm5lY3RlZFNlc3Npb25NaXNhdHRyaWJ1dGlvbkV2ZW50OjUxNCxwcm9kdWNlclByb2plY3RFbGVtZW50TW9kaWZpZWQ6NTE1LGFkc1NlZW5DbGllbnRMb2dnaW5nOjUxNyxwcm9kdWNlckV2ZW50OjUxOCx0dmh0bWw1Q2xlYW5TdGFydDo1MTksZGV2aWNlQWNjb3VudE1ldHJpY3NFdmVudDo1MjAsZGVycExvZ0V2ZW50OjUyMSxwbGF5YWJsZXNQb3J0YWxFdmVudDo1MjMsaXBWYWxpZGF0aW9uU3RhcnRlZDo1MjQsaXBWYWxpZGF0aW9uUmVjZWl2ZWQ6NTI1LHJlZWxzU2VxdWVuY2VNdXRhdGlvbkV2ZW50OjUyNyx3YXRjaFpvb21TdGF0ZUNoYW5nZTo1MjgsbWV0YWRhdGFFZGl0b3JFdmVudDo1Mjksa2lkc1ByaXNtYURlZXBsaW5rc0V2ZW50OjUzMCxjcmVhdGlvbk9yY2hlc3RyYXRpb25FdmVudDo1MzEsCmNvb3JkaW5hdGVkU2FtcGxpbmdUcmlnZ2VyZWQ6NTMyLHJlY2FwU2NyZWVuc2hvdEV2ZW50OjUzNCxtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVxdWVzdEV2ZW50OjUzNixtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVzcG9uc2VFdmVudDo1Mzcsc2Vzc2lvblJlcGxheUV2ZW50OjUzOCxzZXNzaW9uUmVwbGF5U3RhdHVzRXZlbnQ6NTM5LGxvZ2dpbmdSZWxpYWJpbGl0eVByb2JlOjU0MCxrZXlWYWx1ZVN0b3JlU3RhdHNFdmVudDo1NDEsZGV2aWNlTG9jYXRpb25QZXJtaXNzaW9uRXZlbnQ6NTQyLHJlbW90ZUNvbnRyb2xTdGFydGVkOjU0MyxyZW1vdGVDb250cm9sQ29tcGxldGVkOjU0NCxyZWVsc0Fkc0V2ZW50czo1NDUseXRsckxvYWRlclRlc3RIYXJuZXNzRXZlbnQ6NTQ3LGJpb21ldHJpY0F1dGhlbnRpY2F0aW9uRXZlbnQ6NTQ4LG1haW5BcHBMaWZlY3ljbGVFdmVudDo1NDksbXVzaWNEb3dubG9hZEJhY2tncm91bmRDb250aW51ZWRQcm9jZXNzaW5nVGFzazo1NTAsbXVzaWNNZXRhZGF0YU1pc21hdGNoRXZlbnQ6NTUxLApzY3JvbGxUb0NvbXBvbmVudENvbXBsZXRlZDo1NTIsZW50aXR5U3RvcmVUZWxlbWV0cnk6NTUzLHN0cmVhbWluZ0RhcmtMYXVuY2hFdmVudDo1NTQsY2hpbGRBY2NvdW50c0Rpc3BsYXlFdmVudDo1NTUsdHZmYXNQbGF5YmFja0NvbnRleHQ6NTU3LG1kZUMyUGFFdmVudDo1NTl9O3ZhciBoX3g9a08oIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtLYzp7U1dIZWFsdGhMb2c6e3Z4OjF9fSxzaGFyZWQ6ITAsdXBncmFkZToobixXKT0+e1coMSkmJkVSKFp5KG4sIlNXSGVhbHRoTG9nIix7a2V5UGF0aDoiaWQiLGF1dG9JbmNyZW1lbnQ6ITB9KSwic3dIZWFsdGhOZXdSZXF1ZXN0IixbImludGVyZmFjZSIsInRpbWVzdGFtcCJdKX0sCnZlcnNpb246MX0pO3ZhciBYaT17fSxYSHc9MDt2YXIgR1Q7dmFyIHJvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXA7dGhpcy5KPSExfXJlcXVlc3RDb21wbGV0ZShuLFcpe1cmJih0aGlzLko9ITApO249dGhpcy5yZW1vdmVQYXJhbXMobik7dGhpcy5OLmdldChuKXx8dGhpcy5OLnNldChuLFcpfWlzRW5kcG9pbnRDRlIobil7bj10aGlzLnJlbW92ZVBhcmFtcyhuKTtyZXR1cm4obj10aGlzLk4uZ2V0KG4pKT8hMTpuPT09ITEmJnRoaXMuSj8hMDpudWxsfXJlbW92ZVBhcmFtcyhuKXtyZXR1cm4gbi5zcGxpdCgiPyIpWzBdfX07cm8ucHJvdG90eXBlLnJlbW92ZVBhcmFtcz1yby5wcm90b3R5cGUucmVtb3ZlUGFyYW1zO3JvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSPXJvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSO3JvLnByb3RvdHlwZS5yZXF1ZXN0Q29tcGxldGU9cm8ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZTtyby5nZXRJbnN0YW5jZT1zYzt2YXIgTmI9Y2xhc3MgZXh0ZW5kcyBnLm9Xe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9ITE7dGhpcy5OPXMydygpO3RoaXMuTi5TXygibmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57aWYodGhpcy5KJiZnLmwoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIG49JFEoKS5nZXQoImVycm9ycyIsITApO2lmKG4pe2ZvcihsZXQgVyBpbiBuKWlmKG5bV10pe2xldCBEPW5ldyBnLlF4KFcsInNlbnQgdmlhIG9mZmxpbmVfZXJyb3JzIik7RC5uYW1lPW5bV10ubmFtZTtELnN0YWNrPW5bV10uc3RhY2s7RC5sZXZlbD1uW1ddLmxldmVsO090KEQpfSRRKCkuc2V0KCJlcnJvcnMiLHt9LDI1OTJFMywhMCl9fX0pfVdHKCl7cmV0dXJuIHRoaXMuTi5XRygpfWxjKG4pe3RoaXMuTi5pc09ubGluZT1ufUxrKCl7dmFyIG49d2luZG93Lm5hdmlnYXRvci5vbkxpbmU7CnJldHVybiBuPT09dm9pZCAwPyEwOm59REgoKXt0aGlzLko9ITB9U18obixXKXtyZXR1cm4gdGhpcy5OLlNfKG4sVyl9aEoobil7cmV0dXJuIHJYKHRoaXMuTixuKX19O05iLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1OYi5wcm90b3R5cGUuaEo7TmIucHJvdG90eXBlLmxpc3Rlbj1OYi5wcm90b3R5cGUuU187TmIucHJvdG90eXBlLmVuYWJsZUVycm9yRmx1c2hpbmc9TmIucHJvdG90eXBlLkRIO05iLnByb3RvdHlwZS5nZXRXaW5kb3dTdGF0dXM9TmIucHJvdG90eXBlLkxrO05iLnByb3RvdHlwZS5uZXR3b3JrU3RhdHVzSGludD1OYi5wcm90b3R5cGUubGM7TmIucHJvdG90eXBlLmlzTmV0d29ya0F2YWlsYWJsZT1OYi5wcm90b3R5cGUuV0c7TmIuZ2V0SW5zdGFuY2U9cG07dmFyIGI2Wj1jbGFzcyBleHRlbmRzIGcub1d7Y29uc3RydWN0b3IoKXt2YXIgbj17dTI6ITAsRW86ITB9O3N1cGVyKCk7dGhpcy5OPXRoaXMuWD0wO3RoaXMuSj1wbSgpO3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy5KKTtXJiYobi5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PW4ucmF0ZUxpbWl0LFcoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e1lRKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9PntZUSh0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihXKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVdHKCl7dmFyIG49CmcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpOwpyZXR1cm4gbj9uLmJpbmQodGhpcy5KKSgpOiEwfWxjKG4pe3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLm5ldHdvcmtTdGF0dXNIaW50IikuYmluZCh0aGlzLkopO1cmJlcobil9YXN5bmMgaEoobil7dmFyIFc9Zy5ycigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2Uuc2VuZE5ldHdvcmtDaGVja1JlcXVlc3QiKS5iaW5kKHRoaXMuSik7cmV0dXJuIGcubCgic2tpcF9uZXR3b3JrX2NoZWNrX2lmX2NmciIpJiZzYygpLmlzRW5kcG9pbnRDRlIoImdlbmVyYXRlXzIwNCIpP25ldyBQcm9taXNlKEQ9Pnt0aGlzLmxjKHdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZXx8ITApO0QodGhpcy5XRygpKX0pOlc/VyhuKTohMH19O3ZhciBTYyxHemg9Y2xhc3MgZXh0ZW5kcyBEejF7Y29uc3RydWN0b3IoKXtTY3x8KFNjPW5ldyBiNlopO3N1cGVyKHtnRTp7dGk6dnZpLFRNOmJHQyxpNDpudjIsSzY6V19DLGhZOkRFeCxzZXQ6YUJTfSx5RzpTYyxoYW5kbGVFcnJvcjoobixXLEQpPT57dmFyIGI9RD8uZXJyb3I/LmNvZGU7Yj09PTQwMHx8Yj09PTQxNT8obj1uZXcgZy5ReChuLm1lc3NhZ2UsVyxEPy5lcnJvcj8uY29kZSksWkUobix2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOk90KG4pfSwKRjI6WkUsTG06JEV0LG5vdzpnLlIsaEw6cUt3LEEkOmcuRHkoKSx1WjoicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsTkE6InB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIixDcjohMCxLcjouMSxIRjp2MCgicG90ZW50aWFsX2VzZl9lcnJvcl9saW1pdCIsMTApLEVxOmcubCxOaDohKFI5KCkmJmcuSVAoZG9jdW1lbnQubG9jYXRpb24udG9TdHJpbmcoKSkhPT0id3d3LnlvdXR1YmUtbm9jb29raWUuY29tIil9KTt0aGlzLmo9bmV3IGcuS1Y7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiZremkoKTt2eigiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKG4sVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKG4sVyl9c2VuZFRoZW5Xcml0ZShuLFcsRCl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKG4sVyxEKX1zZW5kQW5kV3JpdGUobiwKVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kQW5kV3JpdGUobixXKX1hd2FpdEluaXRpYWxpemF0aW9uKCl7cmV0dXJuIHRoaXMuai5wcm9taXNlfX07dmFyIEpJPWcucWkueXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnN8fHtpc053bEluaXRpYWxpemVkOiExfTtnLkdiKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsSkkpO2cuZDQ9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5jb25maWdfPW51bGw7bj90aGlzLmNvbmZpZ189bjpJNygpJiYodGhpcy5jb25maWdfPWcuUzkoKSl9aXNSZWFkeSgpeyF0aGlzLmNvbmZpZ18mJkk3KCkmJih0aGlzLmNvbmZpZ189Zy5TOSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciB2Z3c9Zy5xaS55dFB1YnN1YlB1YnN1Ykluc3RhbmNlfHxuZXcgQkssQUk9Zy5xaS55dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzfHx7fSxLbT1nLnFpLnl0UHVic3ViUHVic3ViVG9waWNUb0tleXN8fHt9LG1nPWcucWkueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtCSy5wcm90b3R5cGUuc3Vic2NyaWJlPUJLLnByb3RvdHlwZS5zdWJzY3JpYmU7QksucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9QksucHJvdG90eXBlLmpLO0JLLnByb3RvdHlwZS5wdWJsaXNoPUJLLnByb3RvdHlwZS5XSjtCSy5wcm90b3R5cGUuY2xlYXI9QksucHJvdG90eXBlLmNsZWFyO2cuR2IoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLHZndyk7Zy5HYigieXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5cyIsS20pO2cuR2IoInl0UHVic3ViUHVic3ViSXNTeW5jaHJvbm91cyIsbWcpO2cuR2IoInl0UHVic3ViUHVic3ViU3Vic2NyaWJlZEtleXMiLEFJKTt2YXIgb0k9e307Zy5peChnLkZpLGcuRk0pO2cuRT1nLkZpLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPzA6dGhpcy5ZJC5zdWJzY3JpYmUobixXLEQpfTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPyExOnRoaXMuWSQudW5zdWJzY3JpYmUobixXLEQpfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5qSyhuKX07CmcuRS5XSj1mdW5jdGlvbihuLFcpe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5XSi5hcHBseSh0aGlzLlkkLGFyZ3VtZW50cyl9OwpnLkUuaCQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnN1YnNjcmliZShELG5bRF0sVyl9OwpnLkUuTTk9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnVuc3Vic2NyaWJlKEQsbltEXSxXKX07dmFyIHdvPURhdGUubm93KCkudG9TdHJpbmcoKTt2YXIgYnk9e307Zy5MWD1TeW1ib2woImluamVjdGlvbkRlcHMiKTt2YXIga289Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5rZXk9bn19O3ZhciBwSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9bmV3IE1hcDt0aGlzLlc9bmV3IE1hcDt0aGlzLk49bmV3IE1hcH1yZXNvbHZlKG4pe3JldHVybiBuIGluc3RhbmNlb2Yga28/Z0UodGhpcyxuLmtleSxbXSwhMCk6Z0UodGhpcyxuLFtdKX19O2cuQUw9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5uYW1lPW59dG9TdHJpbmcoKXtyZXR1cm5gSW5qZWN0aW9uVG9rZW4oJHt0aGlzLm5hbWV9KWB9fTt2YXIgWDQ7dmFyIEdwPXdpbmRvdzt2YXIgZlg9Zy5sKCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIikmJnRwKCkhPT0wLEhHdD1nLmwoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKTt2YXIgQXZqPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc2NoZWR1bGVyPWcuRHkoKTt0aGlzLko9bmV3IGcuS1Y7dGhpcy5OPW47Zm9yKGxldCBXPTA7Vzx0aGlzLk4ubGVuZ3RoO1crKyl7bGV0IEQ9dGhpcy5OW1ddO249KCk9PntELkphKCk7dGhpcy5OW1ddLk1KPSEwO3RoaXMuTi5ldmVyeSh2PT52Lk1KPT09ITApJiZ0aGlzLkoucmVzb2x2ZSgpfTsKbGV0IGI9Zy5WeCgwLG4sRC5wcmlvcml0eT8/MCk7dGhpcy5OW1ddPXsuLi5ELEphOm4sam9iSWQ6Yn19fWNhbmNlbCgpe2ZvcihsZXQgbiBvZiB0aGlzLk4pbi5qb2JJZD09PXZvaWQgMHx8bi5NSnx8dGhpcy5zY2hlZHVsZXIuc08obi5qb2JJZCksbi5NSj0hMDt0aGlzLkoucmVzb2x2ZSgpfX07dmFyIGt4aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RhdGU9Im5vbmUiO3RoaXMucGx1Z2lucz1bXTt0aGlzLko9dm9pZCAwO3RoaXMuWD17fTtmWCYmJG8odGhpcy5zdGF0ZSl9Z2V0IGN1cnJlbnRTdGF0ZSgpe3JldHVybiB0aGlzLnN0YXRlfWluc3RhbGwobil7dGhpcy5wbHVnaW5zLnB1c2gobik7cmV0dXJuIHRoaXN9dW5pbnN0YWxsKC4uLm4pe24uZm9yRWFjaChXPT57Vz10aGlzLnBsdWdpbnMuaW5kZXhPZihXKTtXPi0xJiZ0aGlzLnBsdWdpbnMuc3BsaWNlKFcsMSl9KX10cmFuc2l0aW9uKG4sVyl7ZlgmJnJFKHRoaXMuc3RhdGUpOwp2YXIgRD10aGlzLnRyYW5zaXRpb25zLmZpbmQoYj0+QXJyYXkuaXNBcnJheShiLmZyb20pP2IuZnJvbS5maW5kKHY9PnY9PT10aGlzLnN0YXRlJiZiLnRvPT09bik6Yi5mcm9tPT09dGhpcy5zdGF0ZSYmYi50bz09PW4pOwppZihEKXt0aGlzLlcmJihZS2oodGhpcy5XKSx0aGlzLlc9dm9pZCAwKTtmUjIodGhpcyxuLFcpO3RoaXMuc3RhdGU9bjtmWCYmJG8odGhpcy5zdGF0ZSk7RD1ELmFjdGlvbi5iaW5kKHRoaXMpO2xldCBiPXRoaXMucGx1Z2lucy5maWx0ZXIodj0+dltuXSkubWFwKHY9PnZbbl0pOwpEKFNLQyh0aGlzLGIpLFcpfWVsc2UgdGhyb3cgRXJyb3IoYG5vIHRyYW5zaXRpb24gc3BlY2lmaWVkIGZyb20gJHt0aGlzLnN0YXRlfSB0byAke259YCk7fX07dmFyIG1Fdz1jbGFzcyBleHRlbmRzIGt4aHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5OPW51bGw7dGhpcy5KPTEwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJub25lIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOnRoaXMuan0se2Zyb206ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLHRvOiJub25lIixhY3Rpb246dGhpcy5WfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLGFjdGlvbjooKT0+e319LAp7ZnJvbToibm9uZSIsdG86Im5vbmUiLGFjdGlvbjooKT0+e319XX1qKG4sVyl7dGhpcy5OPWcuY0IoMCwoKT0+e3RoaXMuY3VycmVudFN0YXRlPT09ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciJiZ0aGlzLnRyYW5zaXRpb24oIm5vbmUiKX0sNUUzKTsKbihXPy5ldmVudCl9VihuLFcpe3RoaXMuTiYmKHRhLnNPKHRoaXMuTiksdGhpcy5OPW51bGwpO24oVz8uZXZlbnQpfX0sSnA7dmFyIFV5PVtdO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRHZWxQYXlsb2FkcyIsZnVuY3Rpb24oKXtyZXR1cm4gVXl9KTt2YXIgbTM9dm9pZCAwLFNaPXZvaWQgMDt2YXIgb2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0b3JlPXt9O3RoaXMuTj17fX1zdG9yZVBheWxvYWQobixXKXtuPU85KG4pO3RoaXMuc3RvcmVbbl0/dGhpcy5zdG9yZVtuXS5wdXNoKFcpOih0aGlzLk49e30sdGhpcy5zdG9yZVtuXT1bV10pO2cubCgibW9yZV9hY2N1cmF0ZV9nZWxfcGFyc2VyIikmJihXPW5ldyBDdXN0b21FdmVudCgiVFJBTlNQT1JUSU5HX05FV19FVkVOVCIpLHdpbmRvdy5kaXNwYXRjaEV2ZW50KFcpKTtyZXR1cm4gbn1zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7aWYoIW4ua2V5cy5sZW5ndGgpcmV0dXJuW107dmFyIFc9WkEodGhpcyxuLmtleXMuc3BsaWNlKDAsMSlbMF0pLEQ9W107Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspdGhpcy5zdG9yZVtXW2JdXSYmbi5zaXplTGltaXQmJih0aGlzLnN0b3JlW1dbYl1dLmxlbmd0aDw9bi5zaXplTGltaXQ/KEQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dKSxkZWxldGUgdGhpcy5zdG9yZVtXW2JdXSk6CkQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dLnNwbGljZSgwLG4uc2l6ZUxpbWl0KSkpO24/LnNpemVMaW1pdCYmRC5sZW5ndGg8bj8uc2l6ZUxpbWl0JiYobi5zaXplTGltaXQtPUQubGVuZ3RoLEQucHVzaCguLi50aGlzLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhuKSkpO3JldHVybiBEfWV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7bj1aQSh0aGlzLG4pO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXRoaXMuc3RvcmVbbltEXV0mJihXLnB1c2goLi4udGhpcy5zdG9yZVtuW0RdXSksZGVsZXRlIHRoaXMuc3RvcmVbbltEXV0pO3JldHVybiBXfWdldFNlcXVlbmNlQ291bnQobil7bj1aQSh0aGlzLG4pO3ZhciBXPTA7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspVys9dGhpcy5zdG9yZVtuW0RdXT8ubGVuZ3RofHwwO3JldHVybiBXfX07b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ9b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ7Cm9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzPW9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzO29iLnByb3RvdHlwZS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXM9b2IucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcztvYi5wcm90b3R5cGUuc3RvcmVQYXlsb2FkPW9iLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ7dmFyIHpfdD1uZXcgZy5BTCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSIpO3ZhciBVRXc9djAoImluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiLDJFMyksWkdaPXYwKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCkseXZTPXYwKCJnZWxfbWluX2JhdGNoX3NpemUiLDUpLEU5PXZvaWQgMCx5Uj1udWxsLG1zPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPXRoaXMuSj10aGlzLlc9MDt0aGlzLk49ITF9fSxUZ2k9bmV3IG1zLGxSQz1uZXcgbXMsdDY9bmV3IG1zLEdVPW5ldyBtcyxXcywkQT0hMCxQcz0xLGx5PW5ldyBNYXAsZXk9Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZXkpO3ZhciBMVT1nLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc18iLExVKTt2YXIgUmI9e30senA9ITE7dmFyIGlSPWcucWkueXRMb2dnaW5nR2VsU2VxdWVuY2VJZE9ial98fHt9O2cuR2IoInl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpfIixpUik7dmFyIG0xPVtdO3ZhciBWNCxLaj1nLnFpLnl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfO0tqfHwoS2o9Zy5SSSgxNiksZy5HYigieXRMb2dnaW5nRG9jRG9jdW1lbnROb25jZV8iLEtqKSk7VjQ9S2o7dmFyIEZfVT17Qnc6MCxGNjoxLFdROjIsTjM6MyxxdDo0LFlTOjUsUWM6NixMTTo3LEk2Ojgsc0M6OSxaTToxMCxiUzoxMSwwOiJERUZBVUxUIiwxOiJDSEFUIiwyOiJDT05WRVJTQVRJT05TIiwzOiJNSU5JUExBWUVSIiw0OiJESUFMT0ciLDU6IlZPWiIsNjoiTVVTSUNfV0FUQ0hfVEFCUyIsNzoiU0hBUkUiLDg6IlBVU0hfTk9USUZJQ0FUSU9OUyIsOToiUklDSF9HUklEX1dBVENIIiwxMDoiUElDVFVSRV9JTl9QSUNUVVJFIiwxMToiTUVESUFfQ0xJRU5UIn07dmFyIGp6Wj0xLGxSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufWdldEFzSnNvbigpe3ZhciBuPXt9O3RoaXMuTi50cmFja2luZ1BhcmFtcyE9PXZvaWQgMD9uLnRyYWNraW5nUGFyYW1zPXRoaXMuTi50cmFja2luZ1BhcmFtczoobi52ZVR5cGU9dGhpcy5OLnZlVHlwZSx0aGlzLk4udmVDb3VudGVyIT09dm9pZCAwJiYobi52ZUNvdW50ZXI9dGhpcy5OLnZlQ291bnRlciksdGhpcy5OLmVsZW1lbnRJbmRleCE9PXZvaWQgMCYmKG4uZWxlbWVudEluZGV4PXRoaXMuTi5lbGVtZW50SW5kZXgpKTt0aGlzLk4uZGF0YUVsZW1lbnQhPT12b2lkIDAmJihuLmRhdGFFbGVtZW50PXRoaXMuTi5kYXRhRWxlbWVudC5nZXRBc0pzb24oKSk7dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYobi55b3V0dWJlRGF0YT10aGlzLk4ueW91dHViZURhdGEpO3RoaXMuTi5pc0NvdW50ZXJmYWN0dWFsJiYobi5pc0NvdW50ZXJmYWN0dWFsPSEwKTtyZXR1cm4gbn1nZXRBc0pzcGIoKXt2YXIgbj1uZXcgcVlTOwp0aGlzLk4udHJhY2tpbmdQYXJhbXMhPT12b2lkIDA/bi5zZXRUcmFja2luZ1BhcmFtcyh0aGlzLk4udHJhY2tpbmdQYXJhbXMpOih0aGlzLk4udmVUeXBlIT09dm9pZCAwJiZveihuLDIsZy55UCh0aGlzLk4udmVUeXBlKSksdGhpcy5OLnZlQ291bnRlciE9PXZvaWQgMCYmb3oobiw2LGcueVAodGhpcy5OLnZlQ291bnRlcikpLHRoaXMuTi5lbGVtZW50SW5kZXghPT12b2lkIDAmJm96KG4sMyxnLnlQKHRoaXMuTi5lbGVtZW50SW5kZXgpKSx0aGlzLk4uaXNDb3VudGVyZmFjdHVhbCYmb3oobiw1LE9fKCEwKSkpO2lmKHRoaXMuTi5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIFc9dGhpcy5OLmRhdGFFbGVtZW50LmdldEFzSnNwYigpOyQ5KG4scVlTLDcsVyl9dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYkOShuLGU0dyw4LHRoaXMuTi5qc3BiWW91dHViZURhdGEpO3JldHVybiBufXRvU3RyaW5nKCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuZ2V0QXNKc29uKCkpfWlzQ2xpZW50VmUoKXtyZXR1cm4hdGhpcy5OLnRyYWNraW5nUGFyYW1zJiYKISF0aGlzLk4udmVUeXBlfWdldExvZ2dpbmdEaXJlY3RpdmVzKCl7cmV0dXJuIHRoaXMuTi5sb2dnaW5nRGlyZWN0aXZlc319O2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLmdldFJvb3RWZVR5cGUiLEZSKTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdXJyZW50Q3NuIixnLlJ2KTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdHRBdXRoSW5mbyIsUTQpO2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLGNzKTt2YXIgUl9NPSJhYnNvbHV0ZV9leHBlcmltZW50cyBhcHAgY29uZGl0aW9uYWxfZXhwZXJpbWVudHMgZGVidWdjc3MgZGVidWdqcyBleHBmbGFnIGZvcmNlZF9leHBlcmltZW50cyBwYmogcGJqcmVsb2FkIHNiYiBzcGYgc3BmcmVsb2FkIHNyX2Juc19hZGRyZXNzIHN0dGljayIuc3BsaXQoIiAiKTt2YXIgayRiPVt7RzE6bj0+YENhbm5vdCByZWFkIHByb3BlcnR5ICcke24ua2V5fSdgLApZejp7RXJyb3I6W3t3YjovKFBlcm1pc3Npb24gZGVuaWVkKSB0byBhY2Nlc3MgcHJvcGVydHkgIihbXiddKykiLyxncm91cHM6WyJyZWFzb24iLCJrZXkiXX1dLFR5cGVFcnJvcjpbe3diOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3diOi9cdTY1ZTBcdTZjZDVcdTgzYjdcdTUzZDZcdTY3MmFcdTViOWFcdTRlNDlcdTYyMTYgKG51bGx8dW5kZWZpbmVkKSBcdTVmMTVcdTc1MjhcdTc2ODRcdTVjNWVcdTYwMjdcdTIwMWMoW15cdTIwMWRdKylcdTIwMWQvLGdyb3VwczpbInZhbHVlIiwia2V5Il19LHt3YjovXHVjODE1XHVjNzU4XHViNDE4XHVjOWMwIFx1YzU0YVx1Yzc0YyBcdWI2MTBcdWIyOTQgKG51bGx8dW5kZWZpbmVkKSBcdWNjMzhcdWM4NzBcdWM3NzggJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc0NCBcdWFjMDBcdWM4MzhcdWM2MmMgXHVjMjE4IFx1YzVjNlx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7d2I6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHt3YjovVW5hYmxlIHRvIGdldCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKHVuZGVmaW5lZCBvciBudWxsKSByZWZlcmVuY2UvLGdyb3VwczpbImtleSIsInZhbHVlIl19LHt3YjovKG51bGwpIGlzIG5vdCBhbiBvYmplY3QgXChldmFsdWF0aW5nICcoPzooW14uXSspXC4pPyhbXiddKyknXCkvLGdyb3VwczpbInZhbHVlIiwiYmFzZSIsImtleSJdfV19fSx7RzE6bj0+YENhbm5vdCBjYWxsICcke24ua2V5fSdgLApZejp7VHlwZUVycm9yOlt7d2I6Lyg/OihbXiBdKyk/XC4pPyhbXiBdKykgaXMgbm90IGEgZnVuY3Rpb24vLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3diOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7d2I6L09iamVjdCAoLiopIGhhcyBubyBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJiYXNlIiwia2V5Il19LHt3YjovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3diOi9cdTMwYWFcdTMwZDZcdTMwYjhcdTMwYTdcdTMwYWZcdTMwYzhcdTMwNmYgJyhbXiddKyknIFx1MzBkN1x1MzBlZFx1MzBkMVx1MzBjNlx1MzBhM1x1MzA3ZVx1MzA1Zlx1MzA2Zlx1MzBlMVx1MzBiZFx1MzBjM1x1MzBjOVx1MzA5Mlx1MzBiNVx1MzBkZFx1MzBmY1x1MzBjOFx1MzA1N1x1MzA2Nlx1MzA0NFx1MzA3ZVx1MzA1Ylx1MzA5My8sZ3JvdXBzOlsia2V5Il19LAp7d2I6L1x1YWMxY1x1Y2NiNFx1YWMwMCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzc0XHViMDk4IFx1YmE1NFx1YzExY1x1YjRkY1x1Yjk3YyBcdWM5YzBcdWM2ZDBcdWQ1NThcdWM5YzAgXHVjNTRhXHVjMmI1XHViMmM4XHViMmU0Li8sZ3JvdXBzOlsia2V5Il19XX19LHtHMTpuPT5gJHtuLmtleX0gaXMgbm90IGRlZmluZWRgLApZejp7UmVmZXJlbmNlRXJyb3I6W3t3YjovKC4qKSBpcyBub3QgZGVmaW5lZC8sZ3JvdXBzOlsia2V5Il19LHt3YjovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgYVJTPXtOOTpbXSxrbzpbe2NhbGxiYWNrOlF6MSx3ZWlnaHQ6NTAwfSx7Y2FsbGJhY2s6Vld4LHdlaWdodDo1MDB9XX07dmFyIGN2aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMua289W107dGhpcy5OOT1bXX19LHZhO3ZhciBTaT1uZXcgQks7dmFyIElVPW5ldyBTZXQsdFA9MCx4SE09MCxBUD0wLHY5Mj1bXSxibjI9W10sTE5DPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO0RhdGUubm93KCk7dmFyIFpwPWNsYXNzIGV4dGVuZHMgbzd7Y29uc3RydWN0b3Iobil7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1ufX0sVG89bmV3IGQzKCJzY3JlZW4tY3JlYXRlZCIsWnApLEM0PVtdLGVUaD1HJGosQmE9MCxVYT1uZXcgTWFwLHk1PW5ldyBNYXAsRWE9bmV3IE1hcDt2YXIgaHIyPWNsYXNze2ZsdXNoKG49W10sVz0hMSl7aWYoZy5sKCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBEIG9mIG4pbj11NihEKSx0aGlzLk4mJiQ5KG4sT2l4LDIsdGhpcy5OKSxuPXtzZXJpYWxpemVkSW5jcmVtZW50QmF0Y2g6Zy5FQShuLkooKSl9LGcuelUoInN0cmVhbXpJbmNyZW1lbnRlZCIsbix7c2VuZElzb2xhdGVkUGF5bG9hZDpXfSl9fSxYbkM9Y2xhc3MgZXh0ZW5kcyBocjJ7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0sU0hpPWNsYXNzIGV4dGVuZHMgaHIye2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dmFyIFc9bmV3IE9peDt2YXIgRD1uZXcgS1VDO0Q9Zy5TRShELDEsImJvdGd1YXJkIik7bj1nLlNFKEQsMixuKTt0aGlzLk49cmUoVyxLVUMsMSxQWmgsbil9fTt2YXIgVnAsSU0yPW5ldyBNYXA7dmFyIFQkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bmV3IFFLKG4pfXNldChuLFcsRCl7RD1EIT09dm9pZCAwP0RhdGUubm93KCkrRDp2b2lkIDA7dGhpcy5OLnNldChuLFcsRCl9Z2V0KG4pe3JldHVybiB0aGlzLk4uZ2V0KG4pfXJlbW92ZShuKXt0aGlzLk4ucmVtb3ZlKG4pfX07dmFyIHJTaD1udWxsO3ZhciBzbz0idG9rZW5zIGNvbnNpc3RlbmN5IHNlcnZpY2VfcGFyYW1zIG1zcyBjbGllbnRfbG9jYXRpb24gZW50aXRpZXMgYWRibG9ja19kZXRlY3Rpb24gcmVzcG9uc2VfcmVjZWl2ZWRfY29tbWFuZHMgc3RvcmUgbWFuaWZlc3QgcGxheWVyX3ByZWxvYWQgc2hvcnRzX3ByZWZldGNoIHJlc29sdmVfdXJsX3ByZWZldGNoIi5zcGxpdCgiICIpO3ZhciBzWVU9bmV3IE1hcChbWyJkYXJrIiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyJdLFsibGlnaHQiLCJVU0VSX0lOVEVSRkFDRV9USEVNRV9MSUdIVCJdXSk7dmFyIERNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPXt9O2lmKHRoaXMuSj1nLm1qKCkpe2xldCBuPWcuU2QoIkNPTlNJU1RFTkNZIik7biYmYVUodGhpcyx7ZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50czpufSl9fWhhbmRsZVJlc3BvbnNlKG4sVyl7aWYoIVcpdGhyb3cgRXJyb3IoInJlcXVlc3QgbmVlZHMgdG8gYmUgcGFzc2VkIGludG8gQ29uc2lzdGVuY3lTZXJ2aWNlIik7Vz1XLmlubmVyVHViZVJlcXVlc3QuY29udGV4dD8ucmVxdWVzdD8uY29uc2lzdGVuY3lUb2tlbkphcnN8fFtdOyhuPW4ucmVzcG9uc2VDb250ZXh0Py5jb25zaXN0ZW5jeVRva2VuSmFyKSYmdGhpcy5yZXBsYWNlKFcsbil9cmVwbGFjZShuLFcpe2ZvcihsZXQgRCBvZiBuKWRlbGV0ZSB0aGlzLk5bRC5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzXTthVSh0aGlzLFcpfX07dmFyIHh6cj13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoIi4iKS5zbGljZSgtMikuam9pbigiLiIpLGIkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPS0xO3ZhciBuPWcuQXIoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iVFZIVE1MNSImJih0aGlzLmxvY2FsU3RvcmFnZT1uQih0aGlzKSkmJihuPXRoaXMubG9jYWxTdG9yYWdlLmdldCgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKSk7biYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPW4sdGhpcy5KPXRoaXMuTj12b2lkIDApfXN0YXRpYyBnZXRJbnN0YW5jZSgpe09DPWcucnIoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIpO09DfHwoT0M9bmV3IGIkLGcuR2IoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIsT0MpKTtyZXR1cm4gT0N9c2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQobil7bi5jbGllbnR8fAoobi5jbGllbnQ9e30pO2lmKHRoaXMuTiluLmNsaWVudC5sb2NhdGlvbkluZm98fChuLmNsaWVudC5sb2NhdGlvbkluZm89e30pLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sYXRpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5OLmNvb3Jkcy5sYXRpdHVkZSoxRTcpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sb25naXR1ZGVFNz1NYXRoLmZsb29yKHRoaXMuTi5jb29yZHMubG9uZ2l0dWRlKjFFNyksbi5jbGllbnQubG9jYXRpb25JbmZvLmhvcml6b250YWxBY2N1cmFjeU1ldGVycz1NYXRoLnJvdW5kKHRoaXMuTi5jb29yZHMuYWNjdXJhY3kpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5mb3JjZUxvY2F0aW9uUGxheWFiaWxpdHlUb2tlblJlZnJlc2g9ITA7ZWxzZSBpZih0aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKW4uY2xpZW50LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbj10aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VufWdldFhHZW9IZWFkZXIoKXtpZih0aGlzLkope3ZhciBuPQp0aGlzLko7dmFyIFc9TWF0aC5mbG9vcihuLmNvb3Jkcy5sb25naXR1ZGUqMUU3KTt2YXIgRD1NYXRoLmZsb29yKG4uY29vcmRzLmxhdGl0dWRlKjFFNyk7dmFyIGI9bmV3IGpyMjtEPW96KGIsMSxnLnlQKEQpKTtXPW96KEQsMixnLnlQKFcpKTtEPW5ldyBCRnQ7RD1LbihELDEsMSk7RD1LbihELDIsMTIpO0Q9S24oRCw5LDgpO0Q9SVkoRCwzLG4udGltZXN0YW1wKjFFMyk7bj1veihELDcsZy5BXyhuLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTtuPUtuKG4sMjUsMik7bj0kOShuLGpyMiw1LFcpO249YHcgJHtnLkVBKEZGaShuKSw0KX1gfWVsc2Ugbj1udWxsO3JldHVybiBufWhhbmRsZVJlc3BvbnNlKG4pe249bi5yZXNwb25zZUNvbnRleHQ/LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbjtuIT09dm9pZCAwJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49bix0aGlzLko9dGhpcy5OPXZvaWQgMCxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9Cm5CKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsbiwxNTU1MkUzKTpJSygiWVRfQ0wiLEpTT04uc3RyaW5naWZ5KHtsb2N0b2s6bn0pLDE1NTUyRTMseHpyLCEwKSl9Y2xlYXJMb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4obil7bj09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9bkIodGhpcykpJiZ0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmUoInl0LWxvY2F0aW9uLXBsYXlhYmlsaXR5LXRva2VuIik6QXkoIllUX0NMIik7dGhpcy5YPXZvaWQgMDt0aGlzLlchPT0tMSYmKGNsZWFyVGltZW91dCh0aGlzLlcpLHRoaXMuVz0tMSl9Y2xlYXJDdXJyZW50UG9zaXRpb24oKXt0aGlzLko9dGhpcy5OPXZvaWQgMH1nZXRDdXJyZW50UG9zaXRpb25Gcm9tR2VvbG9jYXRpb24obil7aWYoIShuYXZpZ2F0b3ImJm5hdmlnYXRvci5nZW9sb2NhdGlvbiYmbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbikpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJHZW9sb2NhdGlvbiB1bnN1cHBvcnRlZCIpKTsKdmFyIFc9ITEsRD0xRTQ7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihXPSEwLEQ9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChiLHYpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihrPT57dGhpcy5KPW4/LmFkZFRvSGVhZGVycz9rOnZvaWQgMDt0aGlzLk49aztiKGspfSxrPT57dihrKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpXLAptYXhpbXVtQWdlOjAsdGltZW91dDpEfSl9KX1jcmVhdGVVbnBsdWdnZWRMb2NhdGlvbkluZm8obil7dmFyIFc9e307Cm49bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtuPy5hY2N1cmFjeSYmKFcubG9jYXRpb25SYWRpdXNNZXRlcnM9TWF0aC5yb3VuZChuLmFjY3VyYWN5KSk7cmV0dXJuIFd9Y3JlYXRlTG9jYXRpb25JbmZvKG4pe3ZhciBXPXt9O249bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtyZXR1cm4gV319LE9DO3ZhciBMSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49e319Y29udGFpbnMobil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLk4sbil9Z2V0KG4pe2lmKHRoaXMuY29udGFpbnMobikpcmV0dXJuIHRoaXMuTltuXX1zZXQobixXKXt0aGlzLk5bbl09V311Qigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLk4pfXJlbW92ZShuKXtkZWxldGUgdGhpcy5OW25dfX07bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXBwaW5ncz1uZXcgTEhyfWdldChuKXthOnt2YXIgVz10aGlzLm1hcHBpbmdzLmdldChuLnRvU3RyaW5nKCkpO3N3aXRjaChXLnR5cGUpe2Nhc2UgIm1hcHBpbmciOm49Vy52YWx1ZTticmVhayBhO2Nhc2UgImZhY3RvcnkiOlc9Vy52YWx1ZSgpO3RoaXMubWFwcGluZ3Muc2V0KG4udG9TdHJpbmcoKSx7dHlwZToibWFwcGluZyIsdmFsdWU6V30pO249VzticmVhayBhO2RlZmF1bHQ6bj1nLnBiKFcsdm9pZCAwKX19cmV0dXJuIG59fTt2YXIgeFY9e1dFQl9VTlBMVUdHRUQ6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09OQk9BUkRJTkc6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09QUzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfUFVCTElDOiJedW5wbHVnZ2VkLyIsV0VCX0NSRUFUT1I6Il5jcmVhdG9yLyIsV0VCX0tJRFM6Il5raWRzLyIsV0VCX0VYUEVSSU1FTlRTOiJeZXhwZXJpbWVudHMvIixXRUJfTVVTSUM6Il5tdXNpYy8iLFdFQl9SRU1JWDoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm1haW5fYXBwL3xec2Z2LyJ9O3ZhciBlcjE9Y2xhc3N7RChuLFc9e30sRD11OSl7dmFyIGI9e2NvbnRleHQ6dGhpcy5PKCk/Zy52YihuLmNsaWNrVHJhY2tpbmdQYXJhbXMsITAsITEsZy53KG4/LmNvbW1hbmRNZXRhZGF0YSxwaik/LnVybCx0aGlzLksoVykpOmcudmIobi5jbGlja1RyYWNraW5nUGFyYW1zLCExLHRoaXMuail9O3ZhciB2PXRoaXMuTihuKTtpZih2KXt0aGlzLkooYix2LFcpO3Y9TEIodGhpcy5XKCkpO3ZhciBrPWcudyhuLmNvbW1hbmRNZXRhZGF0YSxwaik/LmFwaVVybDtrJiYodj1rKTt2PVpyKEskKHYpKTtrPXtjb21tYW5kOm4sLi4udGhpcy5WKG4pfTtiPXtpbnB1dDp2LFBpOlV6KHYpLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6a307Yi5jb25maWcuQkc/Yi5jb25maWcuQkcuaWRlbnRpdHk9RDpiLmNvbmZpZy5CRz17aWRlbnRpdHk6RH07KG49dGhpcy5ZKG4pKSYmIWIuY29uZmlnLnJlcXVlc3RLZXkmJihiLmNvbmZpZy5yZXF1ZXN0S2V5PW4pO1cuYWJvcnRTaWduYWwmJihiLlBpLnNpZ25hbD0KVy5hYm9ydFNpZ25hbCk7cmV0dXJuIGJ9Vz1uZXcgZy5ReCgiRXJyb3I6IEZhaWxlZCB0byBjcmVhdGUgUmVxdWVzdCBmcm9tIENvbW1hbmQuIixuKTtnLlhqKFcpfU8oKXtyZXR1cm4hMX1nZXQgaigpe3JldHVybiExfUsoKXt9WSgpe31WKCl7fX0sUEM9Y2xhc3MgZXh0ZW5kcyBlcjF7WCgpe31ZKG4pe2cubCgid2ViX2VuYWJsZV9yZXF1ZXN0X2tleV9raWxsc3dpdGNoIikmJnRoaXMuWChuKTtyZXR1cm4gZy53KG4uY29tbWFuZE1ldGFkYXRhLHBqKT8ucmVxdWVzdEtleT8/dGhpcy5YKG4pfX07dmFyIGdnMT17R0VUX0RBVEFTWU5DX0lEUzpobShjbGFzcyBleHRlbmRzIFBDe0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50IixQaTpVeigiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX1XKCl7cmV0dXJuW119Tigpe31KKCl7fX0pfTt2YXIgd189bmV3IGcuQUwoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLCREPW5ldyBnLkFMKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLGlkPW5ldyBnLkFMKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBOUT12MCgieXRjc2lfZGVidWdfbWF4X3NpemUiLDEwMCk7dmFyIEptPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9OwpPYmplY3QuYXNzaWduKEptLHsiYW5hbHl0aWNzLmV4cGxvcmUiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FOQUxZVElDU19FWFBMT1JFIiwiYXJ0aXN0LmFuYWx5dGljcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX0FOQUxZVElDUyIsImFydGlzdC5ldmVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FSVElTVF9DT05DRVJUUyIsImFydGlzdC5wcmVzc2tpdCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX1BST0ZJTEUiLCJhc3NldC5jbGFpbWVkX3ZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NMQUlNRURfVklERU9TIiwiYXNzZXQuY29tcG9zaXRpb24iOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9DT01QT1NJVElPTiIsImFzc2V0LmNvbXBvc2l0aW9uX293bmVyc2hpcCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX09XTkVSU0hJUCIsImFzc2V0LmNvbXBvc2l0aW9uX3BvbGljeSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX1BPTElDWSIsCiJhc3NldC5lbWJlZHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9FTUJFRFMiLCJhc3NldC5oaXN0b3J5IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfSElTVE9SWSIsImFzc2V0Lmlzc3VlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0lTU1VFUyIsImFzc2V0LmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfTElDRU5TRVMiLCJhc3NldC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX01FVEFEQVRBIiwiYXNzZXQub3duZXJzaGlwIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfT1dORVJTSElQIiwiYXNzZXQucG90ZW50aWFsX2VtYmVkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX1BPVEVOVElBTF9FTUJFRFMiLCJhc3NldC5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9QT0xJQ1kiLCJhc3NldC5yZWZlcmVuY2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfUkVGRVJFTkNFUyIsCiJhc3NldC5zaGFyZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9TSEFSRVMiLCJhc3NldC5zb3VuZF9yZWNvcmRpbmdzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfU09VTkRfUkVDT1JESU5HUyIsImFzc2V0X2dyb3VwLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0FTU0VUUyIsImFzc2V0X2dyb3VwLmNhbXBhaWducyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0NBTVBBSUdOUyIsImFzc2V0X2dyb3VwLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfR1JPVVBfQ0xBSU1FRF9WSURFT1MiLCJhc3NldF9ncm91cC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX01FVEFEQVRBIiwic29uZy5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1NPTkdfQU5BTFlUSUNTIixjcmVhdG9yX2NoYW5uZWxfZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfREFTSEJPQVJEIiwKImNoYW5uZWwuYW5hbHl0aWNzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0FOQUxZVElDUyIsY2hhbm5lbF9hcHBlYWw6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9BUFBFQUwiLCJjaGFubmVsLmNvbW1lbnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0NPTU1FTlRTIiwiY2hhbm5lbC5jb250ZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DT05URU5UIiwiY2hhbm5lbC5jb250ZW50LnBvc3RzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QT1NUX0xJU1QiLCJjaGFubmVsLmNvbnRlbnQucHJvbW90aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUFJPTU9USU9OX0xJU1QiLCJjaGFubmVsLmNvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9DT1BZUklHSFQiLCJjaGFubmVsLmVkaXRpbmciOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfRURJVElORyIsImNoYW5uZWwubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01PTkVUSVpBVElPTiIsCiJjaGFubmVsLm11c2ljIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDIiwiY2hhbm5lbC5tdXNpY19zdG9yZWZyb250IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDX1NUT1JFRlJPTlQiLCJjaGFubmVsLnBsYXlsaXN0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9QTEFZTElTVFMiLCJjaGFubmVsLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9UUkFOU0xBVElPTlMiLCJjaGFubmVsLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9WSURFT1MiLCJjaGFubmVsLmxpdmVfc3RyZWFtaW5nIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9MSVZFX1NUUkVBTUlORyIsImRpYWxvZy5jb3B5cmlnaHRfc3RyaWtlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX0NPUFlSSUdIVF9TVFJJS0VTIiwiZGlhbG9nLnZpZGVvX2NvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1ZJREVPX0NPUFlSSUdIVCIsCiJkaWFsb2cudXBsb2FkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1VQTE9BRFMiLG93bmVyOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19EQVNIQk9BUkQiLCJvd25lci5hbGxvd2xpc3QiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTExPV0xJU1QiLCJvd25lci5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTkFMWVRJQ1MiLCJvd25lci5hcnRfdHJhY2tzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVJUX1RSQUNLUyIsIm93bmVyLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUUyIsIm93bmVyLmFzc2V0X2dyb3VwcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQUyIsIm93bmVyLmJ1bGsiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19CVUxLX0hJU1RPUlkiLCJvd25lci5jYW1wYWlnbnMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DQU1QQUlHTlMiLAoib3duZXIuY2hhbm5lbF9pbnZpdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0hBTk5FTF9JTlZJVEVTIiwib3duZXIuY2hhbm5lbHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DSEFOTkVMUyIsIm93bmVyLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0xBSU1FRF9WSURFT1MiLCJvd25lci5jbGFpbXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19NQU5VQUxfQ0xBSU1JTkciLCJvd25lci5jbGFpbXMubWFudWFsIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTUFOVUFMX0NMQUlNSU5HIiwib3duZXIuZGVsaXZlcnkiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DT05URU5UX0RFTElWRVJZIiwib3duZXIuZGVsaXZlcnlfdGVtcGxhdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfREVMSVZFUllfVEVNUExBVEVTIiwib3duZXIuaXNzdWVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfSVNTVUVTIiwKIm93bmVyLmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTElDRU5TRVMiLCJvd25lci5waXRjaF9tdXNpYyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1BJVENIX01VU0lDIiwib3duZXIucG9saWNpZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19QT0xJQ0lFUyIsIm93bmVyLnJlbGVhc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVMRUFTRVMiLCJvd25lci5yZXBvcnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVQT1JUUyIsIm93bmVyLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1ZJREVPUyIsInBsYXlsaXN0LnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUExBWUxJU1RfVklERU9fTElTVCIsInBvc3QuY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfQ09NTUVOVFMiLCJwb3N0LmVkaXQiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfRURJVCIsInByb21vdGlvbi5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QUk9NT1RJT05fRURJVCIsCiJ2aWRlby5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0FOQUxZVElDUyIsInZpZGVvLmNsYWltcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fQ0xBSU1TIiwidmlkZW8uY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0NPTU1FTlRTIiwidmlkZW8uY29weXJpZ2h0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19DT1BZUklHSFQiLCJ2aWRlby5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUIiwidmlkZW8uZWRpdG9yIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUT1IiLCJ2aWRlby5lZGl0b3JfYXN5bmMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0VESVRPUl9BU1lOQyIsInZpZGVvLmxpdmVfc2V0dGluZ3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0xJVkVfU0VUVElOR1MiLCJ2aWRlby5saXZlX3N0cmVhbWluZyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fTElWRV9TVFJFQU1JTkciLAoidmlkZW8ubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19NT05FVElaQVRJT04iLCJ2aWRlby5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX1BPTElDWSIsInZpZGVvLnJpZ2h0c19tYW5hZ2VtZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19SSUdIVFNfTUFOQUdFTUVOVCIsInZpZGVvLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fVFJBTlNMQVRJT05TIn0pO3ZhciBNUT1jbGFzcyBleHRlbmRzIG83e2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLk49bjt0aGlzLnRpbWVyPVd9fSxPbnQ9bmV3IGQzKCJhZnQtcmVjb3JkZWQiLE1RKTt2YXIgWEZ0PXthX2JpZF9mOjQ4MixhX2JpZF9zOjQ4MSxhYToyLGFhY2k6NDMzLGFhY3I6NDM0LGFiX3I6MTEsYWJfczoxMCxhYmM6NTc5LGFjOjE5MyxhY2M6NTExLGFjaTo1MTIsYWRfMF9lOjEzLGFkXzBfczoxMixhZF9ibDoxNCxhZF9pOjE1LGFkX21iczoxNixhZF9wcjo1NjIsYWRfdmk6MTcsYWRfdmlyOjE4LGFkYToxOTQsYWRiY19mOjU3NixhZGM6MTk1LGFkZmxfZjoxOSxhZGZsX3M6MjAsYWRsOjE5NixhZG5zOjE5NyxhZHNfZToyMixhZHNfczoyMSxhZmI6NTEzLGFmYzoxOTgsYWZsOjE5OSxhZnQ6MSxhaGI6NTE0LGFpOjIwMCxhaXNfYTo1MDMsYWlzX3I6NTAyLGFpc2Y6MjMsYWlzaToyNCxhaXNyOjI1LGFpc3M6MjYsYW1sOjIwMSxhcGFfYToyMDMsYXBhX2I6MjAyLGFwYnM6MjA0LGFwcF9sOjMsYXBwX3NpOjYxMixhcHBfc2llOjY2MSxhcHBkZWxfaToyNyxhcHBpX2U6NjE2LGFwcGlfczo2MTUsYXByOjIwNSxhcHJlczo0MzYsYXBzdXM6NDM1LGFyOjIwNixhcjQwazoyOCwKYXJiX2Y6NTA0LGFyYzoyMDcsYXJlcToyMDgsYXJmYjoyOSxhcmk6NCxhcnI6MjA5LGFycmg6MzAsYXNjZTo3ODgsYXNjZjo3ODksYXNjczo3ODcsYXNpc2ZiOjMxLGFzaXNyOjMyLGFzaXNyaDozMyxhc2lzczozNCxhc3I6MjEwLGFzeW5jX29yY2hfdF9hY3Q6NzEyLGFzeW5jX29yY2hfdF9ub3RpZnk6NzExLGF0cnI6NTE1LGF0cnM6NTE2LGF0dF9lOjIxMSxhdHRfZjoyMTIsYXR0X2ZjOjc5NyxhdHRfZnJyOjc5NixhdHRfZnM6NzkzLGF0dF9mc3I6Nzk1LGF0dF9wbmE6Nzk0LGF0dF9zOjIxMyxhdHRfd2I6MjE0LGF3ZmxfZjo1NTcsYXdmbF9zOjU1OCxiYXNlX2pzX3I6NDQxLGJjcDoyMTUsYmY6MjE2LGJnX2U6MjE3LGJnX2k6MjE4LGJnX2w6MjIwLGJnX3M6MjIxLGJnX3Y6MjE5LGJwZF9jOjQ4NCxicGRfczo0ODMsYnB0OjIyMyxicl9lOjM3LGJyX2xkOjM4LGJyX2xycHI6MzksYnJfbHJyOjQwLGJyX2x3bTo1NzcsYnJfcjo0MSxicl9zOjQyLGJyZXI6MzUsYnJlczozNixicm5yOjQzLApicm5zOjQ0LGJycGU6NDUsYnJwczo0NixicnJfZTo0NyxicnJfaTo0OCxicnJfaXVzOjQ5LGJzOjIyMixjX2M6NTAsY19jczo1MSxjX2NzZnM6NTIsY19kOjUzLGNfbGFmOjU5LGNfbGFzOjU4LGNfcm5mOjQzOCxjX3Juczo0MzcsY2M6NDY3LGNjX2M6NTQsY2NfY2Y6NTYsY2NfY3NhbGE6NTUsY2NfbGE6NTcsY2ZnOjIyNCxjaGxzOjIyNSxjaHBzOjIyNixjbDo0ODAsY21jOjIyNyxjbWRfaDo2MjksY21obDoyMjksY21pOjIyOCxjbWw6MjMwLGNtcDo3NzksY212OjIzMSxjcHQ6MjMyLGNyOjM2NCxjcl9lcnI6NjY5LGNyX3I6NjcwLGNyX3M6NjY4LGNzbDoyMzMsY3NyX3Q6NjMxLGN0OjUsY3RfbGk6NjAsZF9sOjYxLGRfbGFmOjYyLGRfbGFyOjYzLGRfbGFzOjY0LGRfbGY6NjUsZF9sczo2NixkX2x3OjY3LGRfbHdmOjY4LGRfbHdzOjY5LGRhc19jOjM2NixkYXNfczozNjUsZGNwOjIzNCxkZ19wYl9jOjIzNixkZ19wYl9yOjIzNyxkZ19wYl9zOjIzNSxkaGljOjIzOCxkbDoyMzksZG5zXzoyNDAsCmRybV9na19mOjM4OCxkcm1fZ2tfczozODcsZHJtX2tyX3I6MzkyLGRybV9rcl9zOjM5MSxkcm1fbmV0X3I6MzkwLGRybV9uZXRfczozODksZHJtX3BiX2Y6Mzg2LGRybV9wYl9zOjM4NSxkc19hYzo3MzYsZHNfYXM6NzM1LGRzX2NsYzo3NDAsZHNfY3M6NzM3LGRzX2RjOjczOSxkc19kczo3MzgsZW1wYTo0MzIsZW1wdTo0MzEsZW5wX2Vycjo2ODUsZW5wX2ZpOjY4NCxlbnBfc3Q6NjgzLGVvcHJfcjo2NzMsZXBfYV9wcl9yOjUzMixlcF9hX3ByX3M6NTMxLGVwX2hhdl9lbmQ6NTI2LGVwX2hhdl9zdGFydDo1MjUsZXBfaW5pdF9hcjo2OTksZXBfaW5pdF9jdWU6NjM1LGVwX2luaXRfY3VzOjYzNCxlcF9pbml0X2VwZTo2MzcsZXBfaW5pdF9lcHM6NjM2LGVwX2luaXRfaWplOjYzOSxlcF9pbml0X2lqczo2MzgsZXBfaW5pdF9wcjo1MjcsZXBfaW5pdF9yZTo2NDEsZXBfaW5pdF9yczo2NDAsZXBfaW5pdF93ZWU6NjQzLGVwX2luaXRfd2VzOjY0MixlcF9tYV9yZXByOjU0MyxlcF9tYV9ycjo1MzMsCmVwX21hX3NlcHI6NTQyLGVwX21hX3Nwcjo1MzQsZXBfcF9sOjUzMCxlcF9wcl9yOjUyOSxlcF9wcl9zOjUyOCxlcF9yX3ByZV9yOjU0MSxlcF9yX3JyOjUzNSxlcF9yX3NtYXI6NTM2LGVwX3JlY19lbmQ6NTM4LGVwX3JlY19zdGFydDo1MzcsZXBfcmVwc19lbmQ6NTQwLGVwX3JlcHNfc3RhcnQ6NTM5LGVwZTo2MTgsZXBzOjYxNyxlcl9jbDo2NTMsZXJfbnM6NjUyLGVyX3BlOjY1MCxlcl9wczo2NDksZXJfczo2NDgsZXJfc19ucjo3OTAsZXJfc19uczo3ODQsZXJfdDo2NTEsZmFiX3I6MjQ2LGZjYl9yOjUwNixmaXJlOjcwLGZpcnM6NzEsZm10aDoyNDEsZm9vdF9qczoyNDIsZnB0OjI0Myxmcl9zOjU2MSxmczoyNDQsZnNjOjI0NSxmc3NiMF9hOjc1LGZzc2IwX2ZyOjc0LGZzc2IwX25yOjczLGZzc2IwX25zOjcyLGZ0Xzo0MzksZnRsOjcsZnRyOjQ3NSxmdmJfcjoyNDcsZnZmOjI0OCxmeWRfZ2Y6NzY3LGZ5ZF9nczo3NjYsZ2NjOjI0OSxnY2ZsOjI1MCxnY3NyOjc2LGdlcF9lcnI6ODAwLApnZXBfcmVxOjc5OCxnZXBfcmVzOjc5OSxnZ3NyOjc3LGdpd2FfYTo2MjcsZ2l3YV9kOjYyOCxnbGM6NTkzLGdsZToyNTEsZ2xzOjI1MixncGU6MjUzLGdyYzoyNTQsZ3Jpd19ucjo3ODYsZ3Jpd19uczo3ODUsZ3Nfcjo3MzQsZ3Nfczo3MzMsZ3NtZDo1ODYsZ3Vfcjo2MjAsZ3Y6NDg1LGd3X2FpZXI6NzcxLGd3X2FyZjo3NzIsZ3dfYXJuYWY6Nzc1LGd3X2Fybm5hZjo3NzYsZ3dfYXJuczo3NzcsZ3dfYXJuc3U6Nzc4LGd3X2Fyczo3NzQsZ3dfYXJzdTo3NzMsZ3dfbWFhZjo2MzMsZ3dfbWFhczo2MzIsaGJmZzo2NzcsaGdjcjoyNTUsaHI6MjU2LGhyZTozNjMsaHJzOjM2MixoczozNzMsaHRtbF9mYl9yOjc1NSxodG1sX2ZlOjc0OCxodG1sX2ZzOjc0NyxodG1sX2Z3ZTo3NTIsaHRtbF9md3M6NzUxLGh0bWxfamNlOjc1NCxodG1sX2pjczo3NTMsaHRtbF9sYl9yOjc1NixodG1sX3NlOjc1MCxodG1sX3NzOjc0OSxpX3JwOjQ3NyxpX3JxOjQ3NixpcF9zOjY0NixpcGM6MjU3LGlwczoyNTgsCmlzbXBfYTo4MzYsaXNtcF9jOjgzOCxpc21wX2Q6ODM5LGlzbXBfaTo4MzUsaXNtcF9wOjg0MCxpc21wX3JjOjgzNyxpdF9ncDo3OCxpdl9zOjUwNSxqc3A6MjU5LGpzcjoyNjAsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yQ2FuY2VsbGVkOjgwMSxrWVRMYXRlbmN5TURFUHJvZHVjdFN0aWNrZXJFZGl0b3JGaW5pc2hlZDo4MDIsbDJzOjI2MSxsY19mcnI6NjYwLGxjX3Nfczo2NTksbGNfc191OjY1OCxsY3A6MjYyLGxkX3M6NDQwLGxpbToyNjMsbHBjZjoyNjQsbHBjczoyNjUsbHBzOjI2Nixsc19jOjM2OCxsc19zOjM2Nyxsc3M6MjY3LGx2OjI2OCxtYV9jbDo1NTEsbWFfZmZyOjU1MixtYV9mdWE6NTU0LG1hX2dyOjU1MyxtYV9pbDo1NzMsbWFpbjo3OSxtYWluX2pzX3I6NDQyLG1haW5fanNfcnE6NDQzLG1iX3M6NTA3LG1iYXBfYzozODQsbWJjX2FsYzo3MzIsbWJjX2FzbDo3MzEsbWJjX2M6Mzc1LG1iY19zOjM3NCxtYmdjaGlkX3JyOjc0NCxtYmdjaGlkX3JzOjc0NiwKbWJncl9yZjo2NTcsbWJncl9ycjozNzksbWJncl9yczozNzgsbWJsY19jOjM3NyxtYmxjX3M6Mzc2LG1ibGNoaWRfYzo3NDUsbWJsY2hpZF9zOjc0MyxtYmxjcmlkX2M6NzQyLG1ibGNyaWRfczo3NDEsbWJzX2M6MzgxLG1ic19ycjozODMsbWJzX3JzOjM4MixtYnNfczozODAsbWR4X2NjcDo4MCxtZHhfY2NzOjgxLG1keF9jY3N0OjgyLG1keF9jcjo4MyxtZHhfY3M6ODQsbWR4X2xzOjg1LG1keF9vZmY6ODYsbWR4X3NjOjg3LG1lX2I6NTU1LG1lX2M6Njg3LG1lX2Y6NTU2LG1lX2ZhOjY4OCxtZXN2X3M6NTA5LG1tX2llOjcyMCxtbV9pczo3MTksbXJjOjI2OSxtcnM6MjcwLG1zYToyNzEsbXN0aTo4OCxtc3RyOjg5LG5fY3Q6NzAyLG5fc3I6Njk3LG5fc3c6Njk4LCJuY1swLTldIjoyNzIsbmNsOjI3MyxuY3Q6Mjc0LG5kOjI3NSxuZG5zZToyNzYsbmRuc3M6Mjc3LCJucFswLTldIjoyNzgsbnI6Mjc5LG5yZToyODAsbnJlcXM6MjgxLG5yZXNlOjI4MixucmVzczoyODMsbnJycHM6OTAsCm5yczoyODQsbnN0Y3BzOjI4NSxudGNwZToyODYsbnRjcHM6Mjg3LG53cDoyODgsb2FkMnM6NDI1LG9hZnNfcjo0MDcsb2Fmc19ycDo0MDksb2Fpc3I6NDA1LG9hcjJzOjQxMixvYXJwMnM6NDI3LG9jc2lfejo5MSxvY3RrOjYyMSxvY3RwOjYyMixvZmFycDo0MjMsb2Zkbzo0MDAsb2Zkb3M6Mzk4LG9mcjo0MTcsb2Z2cnA6NDI0LG9nc2ZfYzozOTUsb2dzZl9zOjM5NCxvaHJfcjo3NjUsb2hyX3M6NzY0LG9sOjYsb2xfaTo4LG9sb2NfZTo4MzAsb2xvY19zYTo4Mjksb2xvY19zczo4Mjgsb21kX2M6NDIyLG9tZF9zOjQyMSxvbXBfYzo0MTksb21wX3I6NDE4LG9wZmM6NjgwLG9wcl9yOjQxNCxvcHJkX3M6NDE1LG9wcmd6Ml9lOjg0MixvcHJnejJfZjo4NDMsb3ByZ3oyX3M6ODQxLG9wcmd6X3M6Njg5LG9wcnI6NDE2LG9yMTAwazo0MTEsb3JfZmU6NDI5LG9yX2ZzOjQzMCxvcl9pOjM5Myxvcl9wOjM5NyxvcmNoX3JfZDo2OTQsb3JjaF9yX3M6Njk1LG9yY2hfdF9wbWQ6NzcwLG9yY2hfdF9wbXM6NzY5LApvcmNoX3RfdGNlZDo3MDgsb3JjaF90X3RjZXM6NzA1LG9yY2hfdF90ZDo2OTIsb3JjaF90X3RtZDo4MDQsb3JjaF90X3Rtczo4MDMsb3JjaF90X3VkOjY5MyxvcmNoX3RfdXM6Njk2LG9yZmI6NDA0LG9yaF9yOjQwMyxvcm1rOjQyMCxvcnFwYl9hOjgzMSxvcnFwYl9lOjgzNCxvcnFwYl9zOjgzMixvcnFwYl93OjgzMyxvc2RvOjQwMSxvc2RvZjo0MDIsb3Nkb3M6Mzk5LG9zb3I6Mzk2LG92ZDJzOjQyNixvdmZzX3I6NDA4LG92ZnNfcnA6NDEwLG92aXNyOjQwNixvdnIyczo0MTMsb3ZycDJzOjQyOCxwYWM6Mjg5LHBhcmk6NTE3LHBhdDoyOTAscGIwX3M6NjExLHBiX3JxX2F1dGh6OjQ0NixwYl9ycV9jdHRfY2ZtOjQ0NyxwYmNfZTo2NjMscGJjX3M6NjYyLHBiZl9jOjkyLHBicDo0ODYscGJyZXN1bWU6MjkyLHBiczo0ODcscGJ1OjI5MyxwYzo0ODgscGNjOjU0NixwY2U6NTQ3LHBjcTo1NDQscGNyOjU0NSxwY3VfYXA6ODA5LHBjdV9jZTo1ODEscGN1X2NzOjU4MCxwY3VfcmU6ODA4LHBjdV9yczo4MDcsCnBjdV9zOjgwNSxwY3Vfc2U6ODA2LHBkYToyOTQscGRjOjI5NSxwZHI6Mjk2LHBlOjI5NyxwZW1fcjo0NDQscGVtX3JxOjQ0NSxwZmplOjMwOSxwZnJyOjMwNSxwZnJzOjMwNixwZnM6MzA3LHBmdDozMDgscGZ0X2k6OTMscGxfYzoyOTEscGxfaTo0ODkscGxfaW50OjQ5MCxwbF9yOjQ5MSxwbF9yYzo3MDMscGxfczo0OTIscGxfc3M6NDkzLHBsZXY6MzEwLHBsanNfcjo0NDgscGxqc19ycTo0NDkscGx2czo3MjMscG90X2FmOjk3LHBvdF9hczo5Nixwb3RfY21lOjU2OSxwb3RfY21mOjI5OSxwb3RfY21zOjI5OCxwb3RfY3NtZTo1NzAscG90X2NzbWY6MzAxLHBvdF9jc21zOjMwMCxwb3RfaWY6MzA0LHBvdF9pbml0Zjo5NSxwb3RfaXNjOjMwMixwb3RfaXN0OjMwMyxwb3Rfc2U6NTY1LHBvdF9zZjo1NjQscG90X3NzOjU2Myxwb3RfeGU6NTY4LHBvdF94Zjo1NjcscG90X3hzOjU2Nixwb3RwZTo5NCxwcHU6OTgscHJvY19rOjYxMyxwcm9jX2tfbDo2MTQscHM6MzExLHBzX2JzOjY0Nyxwc19jOjQ5NCwKcHNfZXM6OTkscHNfcGE6NjgxLHBzX3BpaGY6NTk3LHBzX3BpaHM6NTk2LHBzX3I6MzYwLHBzX3M6MzYxLHBzX3NnZjo1OTUscHNfc2dzOjU5NCxwc25yOjQ5NSxwc25zOjQ5Nixwc3BlOjEwMCxwc3BzOjEwMSxwdF9tZTo4MTUscHRfbWY6ODE0LHB0X21zOjgxMyxwdF9waWU6ODEyLHB0X3BpZjo4MTEscHRfcGlzOjgxMCxwdF9waXNoOjYwNixwdnJpOjUxOCxwd2M6MzEyLHFvZXM6MzEzLHJfY19zbGQ6NDUwLHJfY19zcnE6NDUxLHJfY29ubmVjdF9iYWNrZW5kOjQ1MixyX2Nvbm5lY3RfYmFja2VuZF9zdWNjZXNzOjQ1MyxyX2Nvbm5lY3RlZDo0NTQscl9jb25zdHJ1Y3Rpb246NDU1LHJfZGlzY29ubmVjdGVkOjQ1NixyX2ViaTo2NjQscl9lb2Q6NTg1LHJfZjo0NTcscl9vcjo3MTMscl9wbDoxMDUscl9wczoxMDYscl9ycV9wbHk6NDU4LHJfc19wbHlsc3Q6NDU5LHJfc192aWQ6NDYwLHJfc3RhdHVzX3VwZGF0ZTo0NjEscl90cjoxMDcscl92dGM6MTA0LHJfd2lwYmM6NTg0LHJfd25yOjc5MiwKcl93bnM6NzkxLHJfd3JyOjEwMyxyX3dyczoxMDIscl93c3JwOjYwOSxyX3dzcnI6NjA4LHJfd3Nyczo2MDcscmN2XzozMTQscmVtb3ZlX3NwbGFzaDo0NjIscmVxXzozMTUscmZnOjMxNixyZ3JfbnJmOjYwMCxyZ3Jfczo1OTkscnBlOjgxNixycGx5X3JxZDo0NjMscnBzOjgxNyxyc19zOjUwOCxyc2FlX3BjOjMzMixyc2FlX3BlajozMzQscnNhZV9wajozMzMscnNiZV9wYzozMjMscnNiZV9wZWo6MzI1LHJzYmVfcGo6MzI0LHJzZV9wYzozMjAscnNlX3BlajozMjIscnNlX3BqOjMyMSxyc2VmX3BjOjMyOSxyc2VmX3BlajozMzEscnNlZl9wajozMzAscnNlc19wYzozMjYscnNlc19wZWo6MzI4LHJzZXNfcGo6MzI3LHJzZl9wYzozMTcscnNmX3BlajozMTkscnNmX3BqOjMxOCxydGltZV86MzM1LHJ1cmxfZToxMDgscnVybF9yOjEwOSxydXJsX3M6MTEwLHJ1cmxwZToxMTEscnVybHBzOjExMixzM3Rfcjo0NzIsc2FfZjo2MjQsc2FfZm86NjI1LHNhX3M6NjIzLHNhZl9mcDo2NjUsc2FmX3I6NjY2LApzYWZfcmU6NjY3LHNhc19pOjYyNixzY2dhdF9mZnM6NTYwLHNjZ2F0X2ZzOjU1OSxzZGFfZjo2MDUsc2RhX2k6NjA0LHNkYV9yZWNwOjYwMSxzZGFfcnNwcDo2MDMsc2RhX3JzcHI6NjAyLHNkbF9lOjY1NSxzZGxfczo2NTQsc2RsX3Q6NjU2LHNmX2k6MTEzLHNnc2Nfcjo3ODEsc2dzY19zOjc4MCxzaG93X2NhbGxfdG9fY2FzdDo0NjQsc2hyYl9jOjE2NSxzaHJvX2M6MTcwLHNocm9fcjoxNjcsc2hycF9jOjE2OSxzaHJwX2xkOjE2NixzaHJwX3A6MTY4LHNvX3I6MTE5LHNvX3JlOjExOCxzb19ycToxMjAsc3BhOjExNCxzcGQ6MTE1LHNwZjoxMTYsc3Bucl9oOjY3MixzcG5yX3M6NjcxLHNwcjo2Nzgsc3JfZToxMTcsc3JfcDoxMjEsc3JfcGE6MTIyLHNyX3I6MTIzLHNyX3JlOjEyNCxzcl9zOjEyNSxzcl91aToxMjYsc3J0OjMzNixzc19yOjQ2OSxzc19zOjQ2OCxzc19zZl9zOjcyNCxzc19zZl93OjcyNSxzc25yOjEyNyxzc25zOjEyOCxzdGNwXzozMzcsc3RlX2FsZjo1ODksc3RlX2M6NTkyLApzdGVfZWxmOjU5MCxzdGVfZjo1OTEsc3RlX2Z0bDo1ODgsc3RlX2w6NTg3LHN0dHNfYjo1ODIsc3R0c19mOjU4MyxzdHZzX2Y6NjkxLHN0dnNfczo2OTAsc3ZlOjQ2NixzdnM6NDY1LHN3X2ZiOjUxMCxzd19pOjc4Myxzd19yOjQ5Nyxzd19zOjQ5OCxzd3Nucjo4MTksc3dzbnM6ODE4LHN3c3BlOjgyMSxzd3Nwczo4MjAsdGNwXzozMzgsdGVueF9sOjQ3MSx0ZW54X3I6NDcwLHRoMF9oOjYxMCx0aDBfbmM6Njc1LHRoMF9uZTo2NzYsdGgwX25yOjEyOSx0aDBfbnM6Njc0LHRoX2NfMTo3MDksdGhfZF8xOjcxMCx0aF9sXzE6MTMwLHRoX3NfMTo1NzgsdGhzYjBfZnI6MTM0LHRoc2IwX25lOjEzMSx0aHNiMF9ucjoxMzIsdGhzYjBfbnM6MTMzLHR0YzozMzksdHRjcjozNDAsdWlfbDoxMzUsdWliZl9jOjE0MSx1aWJmX3I6MTQzLHVpYmZfczoxNDIsdWlzZl9yOjE0NCx1aXd3YV9iYzo2MTksdWl3d2FfYzoxMzYsdWl3d2FfZToxNDAsdWl3d2FfcHI6MTM5LHVpd3dhX3I6MTM4LHVpd3dhX3M6MTM3LAp1bHJzX2M6MzcwLHVscnNfczozNjksdW5rbm93bjowLHVyOjM0MSx2Yzo2ODIsdmNjOjUxOSx2Y2k6NTIwLHZkYTozNDIsdmRldWM6MzQzLHZkZXVyOjM0NCx2ZGV1czozNDUsdmRuczozNDYsdmZiOjUyMSx2ZnA6MzQ3LHZoYjo1MjIsdmlyOjM0OCx2aXJjOjM0OSx2aXNfYTo1MDAsdmlzX3I6NDk5LHZpc2Y6MTQ1LHZpc2k6MTQ2LHZpc3I6MTQ3LHZpc3M6MTQ4LHZvel9jeDoxNzksdm96X2VvdToxODcsdm96X2VycjoxODQsdm96X2Vycl9tczoxODAsdm96X2Vycl9ubXA6MTgxLHZvel9lcnJfb2ZmOjE4Myx2b3pfZXJyX3VhcjoxODIsdm96X2Z0cjoxODgsdm96X2Z2YzoxODksdm96X2xyX2xzbzoxODUsdm96X2xyX21kOjE4Nix2b3pfbWY6MTcyLHZvel9tczoxNzEsdm96X3JxZjoxNzQsdm96X3JxczoxNzMsdm96X3NmOjE3OCx2b3pfc3M6MTc3LHZvel92cDoxNzUsdm96X3Z0OjE3Nix2cGw6MzUwLHZyOjM1MSx2cjEwMGs6MTQ5LHZyYl9mOjUwMSx2cmM6MzUyLHZyZXE6MzUzLHZyZmI6MTUwLAp2cmk6OSx2cnI6MzU0LHZycl9yOjQ3NCx2cnJfczo0NzMsdnJyaDoxNTEsdnNpc2ZiOjE1Mix2c2lzcjoxNTMsdnNpc3JoOjE1NCx2c2lzczoxNTUsdnRhOjM1NSx2dHJyOjUyMyx2dHJzOjUyNCx3X3N0OjE1Nix3YXNtX2ZhOjgyNix3YXNtX2ZlcnI6ODI3LHdhc21fZnc6ODI1LHdhc21fczo4MjQsd2M6MzcyLHdjcjozNTYsd2ViZmVfZTo3Mjgsd2ViZmVfZ2JtX3I6NzU4LHdlYmZlX2dibV9zOjc1Nyx3ZWJmZV9nbF9yOjc2Mix3ZWJmZV9nbF9zOjc2MSx3ZWJmZV9nc19yOjc2MCx3ZWJmZV9nc19zOjc1OSx3ZWJmZV9ndXNfcjo3MzAsd2ViZmVfZ3VzX3M6NzI5LHdlYmZlX2d2bV9zOjc2Myx3ZWJmZV9zOjcyNyx3ZmZlOjM1Nyx3ZmZzOjM1OCx3Zmc6MzU5LHduX2U6MTYyLHduX2w6MzcxLHduX3I6MTU5LHduX3JwOjQ3OCx3bl9zOjE2MCx3bl9zbDoxNjEsd25sOjE1OCx3bmxfZDo4MjMsd25sX21wOjU3MSx3bmxfcGQ6ODIyLHdubHI6NTcyLHdubHM6MTU3LHducGU6MTYzLHducHM6MTY0LAp3cDo0Nzksd3NfY2U6MTkwLHdzX3NzOjE5MSx3c19zc3I6MTkyLHljZWM6NTQ5LHljZWY6NTQ4LHljZnRyOjY0NSx5Y2lmOjU1MCx5Y21zZjo2NDQseWNyYzo3MTgseWNyZjo3MTcseWNyczo3MTQseWNyc2M6NzE1LHljcnVlYTo3MTZ9O3ZhciBtcT1nLnFpLnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtnLkdiKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsbXEpO3ZhciBQYj1nLnFpLnl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzX3x8e307Zy5HYigieXRMb2dnaW5nTGF0ZW5jeVVzYWdlU3RhdHNfIixQYik7CnZhciBLQj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj0wfXRpY2sobixXLEQsYil7Wk0odGhpcyxgdGlja18ke259XyR7V31gKXx8KEQ9e3RpbWVzdGFtcDpELGN0dEF1dGhJbmZvOmJ9LFc9e3RpY2tOYW1lOm4sY2xpZW50QWN0aW9uTm9uY2U6V30sZy5sKCJ5b3V0dWJlX3dlYl9jc2lfdGlja3NfbWlncmF0aW9uIikmJihuPVhGdFtuXSxuIT09dm9pZCAwJiYoVy50aWNrPW4sZGVsZXRlIFcudGlja05hbWUpKSxnLnpVKCJsYXRlbmN5QWN0aW9uVGlja2VkIixXLEQpKX1pbmZvKG4sVyxEKXt2YXIgYj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtaTSh0aGlzLGBpbmZvXyR7Yn1fJHtXfWApfHwobj1PYmplY3QuYXNzaWduKHt9LG4pLG4uY2xpZW50QWN0aW9uTm9uY2U9VyxnLnpVKCJsYXRlbmN5QWN0aW9uSW5mbyIsbix7Y3R0QXV0aEluZm86RH0pKX1qc3BiSW5mbyhuLFcsRCl7dmFyIGI9IiI7Zm9yKGxldCB2PTA7djxZdihuKS5sZW5ndGg7disrKVl2KG4pW3ZdIT09dm9pZCAwJiYKKGI9dj09PTA/Yi5jb25jYXQoYCR7dn1gKTpiLmNvbmNhdChgXyR7dn1gKSk7Wk0odGhpcyxgaW5mb18ke2J9XyR7V31gKXx8KGcuU0UobiwyLFcpLFc9e2N0dEF1dGhJbmZvOkR9LEQ9Zy5sKCJqc3BiX3NwYXJzZV9lbmNvZGVkX3Bpdm90Iik/bmV3IFp2KFt7fV0pOm5ldyBadixyZShELFVrciw3LHlZMSxuKSxmMmooRCxXKSl9c3BhbihuLFcsRCxiKXt2YXIgdj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtpZihifHwhWk0odGhpcyxgc3Bhbl8ke3Z9XyR7V31gKSluLmNsaWVudEFjdGlvbk5vbmNlPVcsZy56VSgibGF0ZW5jeUFjdGlvblNwYW4iLG4se2N0dEF1dGhJbmZvOkR9KX19O3ZhciBaWj13aW5kb3cscWtyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy50aW1pbmc9e307dGhpcy5jbGVhclJlc291cmNlVGltaW5ncz0oKT0+e307CnRoaXMud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9Owp0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5tc0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5vQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9fX0sVUg9WloucGVyZm9ybWFuY2V8fFpaLm1velBlcmZvcm1hbmNlfHxaWi5tc1BlcmZvcm1hbmNlfHxaWi53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IHFrcjt2YXIgd2I9ITEsbCQ9ITEsUXY9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9InBsYXllci93d3ctcGxheWVyIl0nOiJwYyIsJ3NjcmlwdFtuYW1lPSJkZXNrdG9wX3BvbHltZXIvZGVza3RvcF9wb2x5bWVyIl0nOiJkcGoiLCdsaW5rW3JlbD0iaW1wb3J0Il1bbmFtZT0iZGVza3RvcF9wb2x5bWVyIl0nOiJkcGgiLCdzY3JpcHRbbmFtZT0ibW9iaWxlLWMzIl0nOiJtY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1jMyJdJzoibWNjIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXBob25lL2Jhc2UiXSc6Im1jcHBqIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXRhYmxldC9iYXNlIl0nOiJtY3B0aiIsCidsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX2NzcyJdJzoibWJjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX2luX3VzZXJzX21vZCJdJzoibWJsaXVqIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX291dF91c2Vyc19tb2QiXSc6Im1ibG91aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX25vbmNvcmVfbW9kIl0nOiJtYm5qIiwiI3BsYXllcl9jc3MiOiJtYnBjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfZGVza3RvcHBsYXllcl9tb2QiXSc6Im1icGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZV9ibGF6ZXJfdGFibGV0X2NzcyJdJzoibWJ0YyIsCidzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSxabmk9KDAsZy5LdCkoVUguY2xlYXJSZXNvdXJjZVRpbWluZ3N8fFVILndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzfHxVSC5tb3pDbGVhclJlc291cmNlVGltaW5nc3x8VUgubXNDbGVhclJlc291cmNlVGltaW5nc3x8VUgub0NsZWFyUmVzb3VyY2VUaW1pbmdzfHxnLkZULFVIKTt2YXIgVUM9d2luZG93O1VDLnl0Y3NpJiYoVUMueXRjc2kuaW5mb0dlbD1nLm5sLFVDLnl0Y3NpLnRpY2s9Zy5hTCk7dmFyIG85aj1bInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuQnJvd3NlUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBsYXllclJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QYW5lbFJlc3BvbnNlIl0sWDc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLmo9bjt0aGlzLnlHPVc7dGhpcy5XPUQ7dGhpcy5YPWI7dGhpcy5KPXY7dGhpcy5OPW5ldyBNYXA7bi53ZHx8KG4ud2Q9e30pO24ud2Q9ey4uLmdnMSwuLi5uLndkfX19O3ZhciBhOD1uZXcgZy5BTCgiSU5ORVJUVUJFX1RSQU5TUE9SVF9UT0tFTiIpLFZXPW5ldyBnLkFMKCJSRVNQT05TRV9QUk9DRVNTT1JfTUFQX1RPS0VOIik7dmFyIE1hPW5ldyBnLkFMKCJFTkRQT0lOVF9NQVAiKTt2YXIgeVg9Y2xhc3N7fTt2YXIgTnI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPSJwZW5kaW5nIjt0aGlzLko9W107dGhpcy5XPVtdO3RyeXtuKHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpfWNhdGNoKFcpe3RoaXMucmVqZWN0KFcpfX1zdGF0ZSgpe3JldHVybiB0aGlzLk49PT0iZnVsZmlsbGVkIj97c3RhdGU6ImZ1bGZpbGxlZCIsdmFsdWU6dGhpcy5yZXN1bHR9OnRoaXMuTj09PSJyZWplY3RlZCI/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fVgobil7WW8obil8fFlEKG4pP1NrKEhQKG4pLHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLk49ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9bixtRSh0aGlzKSl9cmVqZWN0KG4pe3RoaXMuTj0icmVqZWN0ZWQiO3RoaXMuZXJyb3I9bjttRSh0aGlzKX19LFlEPXEzKG49PmtDeChuKT9uIGluc3RhbmNlb2YgTnI6ITEpO3ZhciBjZT1uZXcgZy5BTCgiQVVUSF9TRVJWSUNFX1RPS0VOIik7dmFyIHVkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIEQ9bi55dFJlcXVlc3Q7Zy5SVShELmlucHV0KTt2YXIgYj1ELlBpPy5tb2RlPT09ImNvcnMiPyJjb3JzIjp2b2lkIDA7aWYoVy5OLnNCKXt2YXIgdj1ELmNvbmZpZzt2PVcuTi5haih2Py5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6dj8uQkc/LnNlc3Npb25JbmRleH0pO2I9ey4uLmtWKGIpLC4uLnZ9fWVsc2UgYj15aWVsZCpQUChNRXcoVyxELmNvbmZpZyxiKSk7RC5QaT17Li4uRC5QaSxoZWFkZXJzOnsuLi4oRC5QaT8uaGVhZGVycz8/e30pLC4uLmJ9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczpufX0oKX0pfX07CnVkW2cuTFhdPVtjZV07dmFyIGFqPW5ldyBnLkFMKCJSRVNQT05TRV9NQUNISU5FX1JFR0lTVFJZX1RPS0VOIiksblI9bmV3IGcuQUwoIlJFU1BPTlNFX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpO3ZhciBCZT1uZXcgZy5BTCgiRVBIRU1FUkFMX1NUT1JFX1RPS0VOIik7dmFyIG9qPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuTj1uO3RoaXMuSj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5KLEQ9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9Yi5jb25maWc/LkhuPy5STDtpZih2JiZXJiZXLmhhcyh2KSYmIWIuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz15aWVsZCpQUChIUChXLmdldCh2KSkpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGcubCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFrLmlzUHJvY2Vzc2VkKCk/KGs9RCgpLGI9eWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOmIseXRSZXF1ZXN0Om4ueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmJ9KSksCnlpZWxkKlBQKEhQKHRlKFcsdikpKSx7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpifSk6e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Yn19cmV0dXJue25leHRTdGF0ZToiTE9DQUxfUk9VVEVSIixwYXJhbXM6bn19KCl9KX19OwpvaltnLkxYXT1bblIsZy5ocChCZSldO3ZhciBkXz1jbGFzcyBleHRlbmRzIHlYe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLko9bjt0aGlzLk49V31leGVjdXRlKG4pe3ZhciBXPXRoaXMuSixEPXRoaXMuTixiPW4ueXRSZXF1ZXN0LHY9Yj8uaW5uZXJUdWJlUmVxdWVzdD8uY29udGV4dDtpZighdilyZXR1cm4gSFAoe25leHRTdGF0ZToiQVVUSCIscGFyYW1zOm59KTt2YXIgaz1bXTtpZihEJiZELmxlbmd0aD4wKWZvcihsZXQgaCBvZiBEKUQ9aC5CcyhiKSxELk4mJmsucHVzaChELk4pO2ZvcihsZXQgaCBvZiBXfHxbXSloLkJzKHYpO3JldHVybiBrLmxlbmd0aD4wP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7eWllbGQqUFAoSFAoUHJvbWlzZS5hbGwoaykpKTtyZXR1cm57bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6bn19KCl9KTpIUCh7bmV4dFN0YXRlOiJBVVRIIiwKcGFyYW1zOm59KX19O2RfW2cuTFhdPVtnLmhwKG5ldyBnLkFMKCJDT05URVhUX1BST0NFU1NPUl9NQVAiKSksZy5ocChuZXcgZy5BTCgiQVNZTkNfQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpXTt2YXIgelc9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuTj1ufWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBEPW4ueXRSZXF1ZXN0LmNvbmZpZz8ucmVxdWVzdEtleTtyZXR1cm4gRCYmVy5oYXMoRCkmJihEPVcuZ2V0KEQpLEQ9eWllbGQqUFAoSFAoRCkpKT97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpEfTp7bmV4dFN0YXRlOiJGRVRDSCIscGFyYW1zOm59fSgpfSl9fTsKeldbZy5MWF09W2lkXTt2YXIgR3h0PW5ldyBnLkFMKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIGxkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuSj1uO3RoaXMuTj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OLEQ9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9bi5jaHVua0NhbGxiYWNrLGs9e3R5cGU6IlBBR0VfQ09OVFJBQ1QifTtpZihXPy5yNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpe2xldCB4PXlpZWxkKlBQKEhQKFcuWVIoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpKSk7aWYoeCl7bGV0IEw9ITE7dmFyIGg9ZnVuY3Rpb24oZSxHKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHI9RCgpO3lpZWxkKlBQKHlxKHIse3dpcmVSZXNwb25zZTpHLHl0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6dixyZXNwb25zZVBheWxvYWQ6a30pKTtMPSEwfSgpfTsKeC5wbGF5ZXJSZXNwb25zZSYmKHlpZWxkKmgoeC5wbGF5ZXJSZXNwb25zZSx7cGxheWVyUmVzcG9uc2U6eC5wbGF5ZXJSZXNwb25zZX0pKTt4LndhdGNoTmV4dFJlc3BvbnNlJiYoeWllbGQqaCh4LndhdGNoTmV4dFJlc3BvbnNlLHt3YXRjaE5leHRSZXNwb25zZTp4LndhdGNoTmV4dFJlc3BvbnNlfSkpO0x8fChoPUQoKSx5aWVsZCpQUCh5cShoLHt3aXJlUmVzcG9uc2U6eCx5dFJlcXVlc3Q6YixjaHVua0NhbGxiYWNrOnYscmVzcG9uc2VQYXlsb2FkOmt9KSkpO2lmKHYpcmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6a307aD1rLmNvbnRlbnR8fGsucGxheWVyfHxrLnlCO3JldHVybiBrLnR5cGU9PT0iUEFHRV9DT05UUkFDVCImJmg/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aH06e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6eH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkZhbGxiYWNrTm9kZSBmYWlsZWQgdG8gcHJvZHVjZSBhIHZhbGlkIHJlc3BvbnNlIil9fSgpfSl9fTsKbGRbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIEVDPWNsYXNzIGV4dGVuZHMgZy5ReHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoVyx7c3RhdHVzOkQsLi4uW119KTt0aGlzLnR5cGU9bjt0aGlzLnN0YXR1cz1EO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBsQj1uZXcgZy5BTCgiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFRXPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXLEQsYil7c3VwZXIoKTt0aGlzLnlHPW47dGhpcy5OPVc7dGhpcy5XPUQ7dGhpcy5KPWJ9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLnlHLEQ9dGhpcy5OLGI9dGhpcy5XLHY9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBrPW4ueXRSZXF1ZXN0LGg9bi5jaHVua0NhbGxiYWNrLHg9ay5jb25maWc/LnJlcXVlc3RLZXksTD1KU09OLnN0cmluZ2lmeShrLmlubmVyVHViZVJlcXVlc3QpLGU9ey4uLmsuUGksYm9keTprLlBpLm1ldGhvZD09PSJQT1NUIj9MOnZvaWQgMH07ay5jb25maWc/LkxhJiZnLmFMKGsuY29uZmlnLkxhKTt2YXIgRz17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHI9MCxOPXk9PntFbyhiKCkse3dpcmVSZXNwb25zZTp5LHl0UmVxdWVzdDprLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6R30scisrKX07Ckw9KCk9Pmg/Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcsTik6Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcpOwp0cnl7dmFyIEg9dj92LlFOKGssTCk6TCgpfWNhdGNoKHkpe0g9UHJvbWlzZS5yZWplY3QoeSl9eCYmRCYmRC5zZXQoeCxIKTt0cnl7dmFyIEE9eWllbGQqUFAoSFAoSCkpfWNhdGNoKHkpe3JldHVybiBnLmwoIndlYl9lbmFibGVfcmV0cmllcyIpJiYoQT15IGluc3RhbmNlb2YgVHlwZUVycm9yJiZ5Lm1lc3NhZ2U9PT0iRmFpbGVkIHRvIGZldGNoIj8xOjAsVW8oQSkpP3tuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLm4sZXJyb3I6bmV3IEVDKEEseS5tZXNzYWdlKSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTp7bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX19eCYmRCYmRC5kZWxldGUoeCk7ZWsoeEQoay5pbnB1dCkpKCk7ay5jb25maWc/LlJWJiZnLmFMKGsuY29uZmlnLlJWKTtpZighQSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX07aWYoQSYmdHlwZW9mIEE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoQSkmJih4PUEseC5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJgooeD14LmVycm9yTWV0YWRhdGEuc3RhdHVzLEg9eD09PTUwM3x8eD09PTUwNHx8eD09PTQyOT8yOng+PTQwMCYmeDw1MDB8fHg+PTUwMD8zOjAsVW8oSCkmJmcubCgid2ViX2VuYWJsZV9yZXRyaWVzIikpKSlyZXR1cm57bmV4dFN0YXRlOiJSRVRSWSIscGFyYW1zOnsuLi5uLGVycm9yOm5ldyBFQyhILGBIVFRQIFN0YXR1cyAke3h9YCx4KSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTshaCYmQSYmKHg9YigpLHg9eWllbGQqUFAoRW8oeCx7d2lyZVJlc3BvbnNlOkEseXRSZXF1ZXN0OmsscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn19KSksSD14LmNvbnRlbnR8fHgucGxheWVyfHx4LnlCLHgudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmSCYmKEE9SCkpO3g9QTtpZihBcnJheS5pc0FycmF5KEEpKWlmKEE9QS5maWx0ZXIoeT0+ISh5LnBsYXllclJlc3BvbnNlfHx5LndhdGNoTmV4dFJlc3BvbnNlfHx5KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLEEubGVuZ3RoPT09CjEpeD1BWzBdOwplbHNlIGlmKEEubGVuZ3RoPjEpeD1BLmZpbmQoeT0+eS53YXRjaE5leHRSZXNwb25zZSl8fEFbMF07CmVsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmV0Y2hOb2RlIHByb2R1Y2VkIG9ubHkgZnJhbWV3b3JrLW9ubHkgcmVzcG9uc2VzIil9O3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmgmJiFnLmwoIndlYl9ubV9mZXRjaF9jaHVua19jYWxsYmFja19rcyIpP0c6eH19KCl9KX19OwpUV1tnLkxYXT1bbEIsaWQsblIsZy5ocChuZXcgZy5BTCgiUkVRVUVTVF9TRVFVRU5DSU5HIikpXTt2YXIgams9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKCk7dGhpcy5KPW47dGhpcy5OPVd9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLk4sRD10aGlzLkosYj1uLnl0UmVxdWVzdDtyZXR1cm4gVz8uckEoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHY9eWllbGQqUFAoSFAoVy5zNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpKTt2YXIgaz1EKCk7di5wbGF5ZXJSZXNwb25zZSYmdi53YXRjaE5leHRSZXNwb25zZT8oeWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTp2LnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6bi55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazpuLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6di5wbGF5ZXJSZXNwb25zZX0pKSxrPXlpZWxkKlBQKHlxKGssCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOnYud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2LndhdGNoTmV4dFJlc3BvbnNlfSkpKTprPXlpZWxkKlBQKHlxKGsse3dpcmVSZXNwb25zZTp2LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2fSkpO3ZhciBoPWsuY29udGVudHx8ay5wbGF5ZXJ8fGsueUI7ay50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZoJiYodj1oKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTp2fX0oKX0pOkhQKHtuZXh0U3RhdGU6IkNPTlRFWFQiLApwYXJhbXM6bn0pfX07amtbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIENsPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dHJ5e3ZhciBEPXlpZWxkKlBQKFZFMihXLG4uY29tbWFuZCwhIW4uY2h1bmtDYWxsYmFjaykpfWNhdGNoKGIpe3JldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6Yn19cmV0dXJuKEQ9RC5EKG4uY29tbWFuZCxuLmZvcm0sbi5pZGVudGl0eSkpP3tuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDpELGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrfX06e25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmFpbGVkIHRvIGJ1aWxkIHJlcXVlc3QgZm9yIGNvbW1hbmQiKX19KCl9KX19OwpDbFtnLkxYXT1bTWFdO3ZhciBCUD1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OlcsYXBpUGF0aDpELGNsaWNrVHJhY2tpbmdQYXJhbXM6Yixjb25maWc6dj17Qkc6e2lkZW50aXR5OnU5fX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTprPSEwLGNodW5rQ2FsbGJhY2s6aH09bjtXLmNvbnRleHR8fChXLmNvbnRleHQ9Zy52YihiLGspKTt2YXIgeD1acihLJChEKSk7cmV0dXJue25leHRTdGF0ZToiQ0FDSEUiLHBhcmFtczp7eXRSZXF1ZXN0OntpbnB1dDp4LFBpOlV6KHgpLGlubmVyVHViZVJlcXVlc3Q6Vyxjb25maWc6dn0sY2h1bmtDYWxsYmFjazpofX19KCl9KX19O3ZhciB0NE09Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50ZT1ufXJ1bihuLFcpe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBiPW4sdj1XLGs9W107Oyl7ay5wdXNoKFN0cmluZyhiKSk7dj15aWVsZCpQUChELnRlW2JdLmV4ZWN1dGUodikpO2lmKHYubmV4dFN0YXRlPT09IkRPTkUiKXJldHVybiBrLnB1c2goIkRPTkUiKSx2LnZhbHVlO2lmKHYubmV4dFN0YXRlPT09IkZBSUxFRCIpdGhyb3cgay5wdXNoKGBGQUlMRUQoJHt2LmVycm9yLm1lc3NhZ2V8fCJlcnJvciJ9KWApLHYuZXJyb3I7Yj12Lm5leHRTdGF0ZTt2PXYucGFyYW1zfX0oKX0pfX07Zy5Ncj1jbGFzcyBleHRlbmRzIHQ0TXt9O2cuTXIucHJvdG90eXBlLkQ9V1ooMSk7Zy5NcltnLkxYXT1bd19dO3ZhciBGNz1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIFc9bi55dFJlcXVlc3QsRD1uLmVycm9yLGI9bi5hdHRlbXB0LHY9bi5jaHVua0NhbGxiYWNrLGs9Vy5jb25maWc/Llh4O2lmKCEoayYmRCBpbnN0YW5jZW9mIEVDJiZVbyhELnR5cGUpKXx8Yj4oay5tYXhSZXRyaWVzPz8wKSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnt5dFJlcXVlc3Q6VyxjaHVua0NhbGxiYWNrOnZ9fTt2YXIgaD0oRD1rLmtVKT9ELlBaKGIpOi0xO2g9PT0tMSYmKGg9MUUzKTtrLlQ2IT09dm9pZCAwJiYoaD1NYXRoLm1pbihoLGsuVDYpKTt5aWVsZCpQUChIUChuZXcgUHJvbWlzZSh4PT57Zy5WeCgwLHgsNCxoKX0pKSk7CnJldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpXLGNodW5rQ2FsbGJhY2s6dixhdHRlbXB0OmJ9fX0oKX0pfX07dmFyIFJqPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLmNodW5rQ2FsbGJhY2ssRD1uLnJlc3BvbnNlUGF5bG9hZCxiPW4ud2lyZVJlc3BvbnNlO1cmJihXKEQpLCJwbGF5ZXJSZXNwb25zZSJpbiBiJiZiLnBsYXllclJlc3BvbnNlJiYoZy5EeSgpLGJRKDQpKSk7cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6RH19KCl9KX19O3ZhciAkejI9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLFFxPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLm9uZVBsYXRmb3JtRXJyb3I7aWYoVyYmImRldGFpbHMiaW4gVyYmVy5kZXRhaWxzKXtXPVcuZGV0YWlscztmb3IobGV0IEQgb2YgVylpZigoVz1EWyJAdHlwZSJdKSYmJHoyLmluZGV4T2YoVyk+LTEpcmV0dXJuIGRlbGV0ZSBEWyJAdHlwZSJdLHtuZXh0U3RhdGU6IlBST0NFU1NfUkVTUE9OU0UiLApwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkVycm9yIHJlc3BvbnNlIGNvdWxkIG5vdCBiZSB1bnBhY2tlZCIpfX0oKX0pfX07dmFyIFZxPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3ZhciBXPXRoaXMuTjtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgRD1uLmV4dHJhY3RlZFJlc3BvbnNlLGI9bi55dFJlcXVlc3Qsdj1uLnJlc3BvbnNlUGF5bG9hZCxrPW4ud2lyZVJlc3BvbnNlO2lmKEQmJiEoImNvZGUiaW4gRHx8ImVycm9yImluIEQpJiYhRC5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2Ygc28pV1toXSYmV1toXS5oYW5kbGVSZXNwb25zZShELGIpO2sud2F0Y2hOZXh0UmVzcG9uc2V8fGsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2sud2F0Y2hOZXh0UmVzcG9uc2U/di5jb250ZW50PWsud2F0Y2hOZXh0UmVzcG9uc2U6di5jb250ZW50PWsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2U/di5wbGF5ZXI9ay5wbGF5ZXJSZXNwb25zZTprLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CnYueUI9ay5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOnYuY29udGVudD1rO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczpufX0oKX0pfX07ClZxW2cuTFhdPVtWV107dmFyIFdHPWNsYXNzIGV4dGVuZHMgdDRNe307V0dbZy5MWF09W2FqXTt2YXIgY1A9Y2xhc3MgZXh0ZW5kcyB5WHtleGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBXPW4ud2lyZVJlc3BvbnNlLEQ7QXJyYXkuaXNBcnJheShXKT9EPVdbMF06dHlwZW9mIFc9PT0ib2JqZWN0IiYmVyE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gV3x8IndhdGNoTmV4dFJlc3BvbnNlImluIFd8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gV3x8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gVyk/RD1XLnBsYXllclJlc3BvbnNlfHxXLndhdGNoTmV4dFJlc3BvbnNlfHxXLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Vy5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOkQ9VztyZXR1cm4gRCYmImVycm9yImluIEQ/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4ubixvbmVQbGF0Zm9ybUVycm9yOkQuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fSgpfSl9fTt2YXIgUEd4PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBDOGJ9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixMdTEpfHx2b2lkIDB9SihuLFcsRD17fSl7Vy5jaGFubmVsSWRzJiYobi5jaGFubmVsSWRzPVcuY2hhbm5lbElkcyk7Vy5zaWxvTmFtZSYmKG4uc2lsb05hbWU9Vy5zaWxvTmFtZSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7RC5ib3RndWFyZFJlc3BvbnNlJiYobi5ib3RndWFyZFJlc3BvbnNlPUQuYm90Z3VhcmRSZXNwb25zZSk7RC5mZWF0dXJlJiYobi5jbGllbnRGZWF0dXJlPUQuZmVhdHVyZSl9fTt2YXIgWmh0PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBCeWl9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixoblUpfHx2b2lkIDB9SihuLFcpe1cuY2hhbm5lbElkcyYmKG4uY2hhbm5lbElkcz1XLmNoYW5uZWxJZHMpO1cuc2lsb05hbWUmJihuLnNpbG9OYW1lPVcuc2lsb05hbWUpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpfX07dmFyIFI4PWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNKPW59Vygpe3JldHVybiBkJFN9TihuKXtyZXR1cm4gZy53KG4sdXhDKXx8Zy53KG4sb05pKXx8Zy53KG4saXpTKX1KKG4sVyl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO1cuY2xpZW50UGFyYW1JZGVudGlmaWVyJiZ0aGlzLmNKPy5OKFcuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKG4uY2xpZW50UGFyYW1zPXRoaXMuY0ouSihXLmNsaWVudFBhcmFtSWRlbnRpZmllcikpfX07UjhbZy5MWF09W25ldyBnLkFMKCJTSEFSRV9DTElFTlRfUEFSQU1TX1BST1ZJREVSX1RPS0VOIildO3ZhciBtZlM9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGxPTX1nZXQgaigpe3JldHVybiEwfU4obil7cmV0dXJuIGcudyhuLFNZdyl8fHZvaWQgMH1KKG4sVyxEKXtuLmZlZWRiYWNrVG9rZW5zPVtdO1cuZmVlZGJhY2tUb2tlbiYmbi5mZWVkYmFja1Rva2Vucy5wdXNoKFcuZmVlZGJhY2tUb2tlbik7aWYoVz1XLmNwbnx8RC5jcG4pbi5mZWVkYmFja0NvbnRleHQ9e2NwbjpXfTtuLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPSEhRC5pc19mZWVkYmFja190b2tlbl91bmVuY3J5cHRlZDtuLnNob3VsZE1lcmdlPSExO0QuZXh0cmFfZmVlZGJhY2tfdG9rZW5zJiYobi5zaG91bGRNZXJnZT0hMCxuLmZlZWRiYWNrVG9rZW5zPW4uZmVlZGJhY2tUb2tlbnMuY29uY2F0KEQuZXh0cmFfZmVlZGJhY2tfdG9rZW5zKSl9fTt2YXIgSzRpPWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBUeXd9TihuKXtyZXR1cm4gZy53KG4sa2l3KXx8dm9pZCAwfUoobixXKXtXLnBhcmFtcyYmKG4ucGFyYW1zPVcucGFyYW1zKTtXLnNlY29uZGFyeVBhcmFtcyYmKG4uc2Vjb25kYXJ5UGFyYW1zPVcuc2Vjb25kYXJ5UGFyYW1zKX19O3ZhciBPaHI9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGpkeH1OKG4pe3JldHVybiBnLncobixuWEMpfHx2b2lkIDB9SihuLFcpe1cuYWN0aW9ucyYmKG4uYWN0aW9ucz1XLmFjdGlvbnMpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpO1cucGxheWxpc3RJZCYmKG4ucGxheWxpc3RJZD1XLnBsYXlsaXN0SWQpfX07dmFyIFVmWj1jbGFzcyBleHRlbmRzIFBDe1coKXtyZXR1cm4gem50fU4obil7cmV0dXJuIGcudyhuLGRJeCl9SihuLFcsRD17fSl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO0QuaW5jbHVkZUxpc3RJZCYmKG4uaW5jbHVkZUxpc3RJZD0hMCl9fTt2YXIgUVc9bmV3IGcuQUwoIlJFU09MVkVfVVJMX1BSRUZFVENIX1RPS0VOIik7dmFyIGpZPW5ldyBnLkFMKCJDTElFTlRfTkFNRV9UT0tFTiIpO3ZhciBDZj1uZXcgZy5BTCgiREVGQVVMVF9TVE9SRV9FWFBJUkFUSU9OX1RPS0VOIik7dmFyIHJaaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuY2xpZW50TmFtZT1uO3RoaXMuSj1XfWFzeW5jIHB1dChuLFcpe1c9ey4uLlcuZGF0YX07Vy5rZXk9bjtXLmNsaWVudE5hbWU9dGhpcy5jbGllbnROYW1lO1cuZXhwaXJlVGltZXN0YW1wTXM9PT12b2lkIDAmJihXLmV4cGlyZVRpbWVzdGFtcE1zPShNYXRoLnJvdW5kKCgwLGcuUikoKSkrdGhpcy5KKS50b1N0cmluZygpKTtyZXR1cm4gRHcodGhpcyxuLFcpfX07clpoW2cuTFhdPVtqWSxDZl07dmFyIGJoPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuZGF0YT17Li4ubn07ZGVsZXRlIHRoaXMuZGF0YS5pbm5lcnR1YmVSZXNwb25zZT8uZnJhbWV3b3JrVXBkYXRlc31pc0V4cGlyZWQoKXtyZXR1cm4gTnVtYmVyKHRoaXMuZGF0YS5leHBpcmVUaW1lc3RhbXBNc3x8MCk8KDAsZy5SKSgpfWlzUHJvY2Vzc2VkKCl7cmV0dXJuISF0aGlzLmRhdGEuaXNQcm9jZXNzZWR9fTt2YXIgQTNqPWNsYXNzIGV4dGVuZHMgclpoe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLk49bmV3IE1hcH1hc3luYyBnZXQobil7cmV0dXJuIHZHKHRoaXMsbil9YXN5bmMgcmVtb3ZlKG4pe2tNKHRoaXMsbil9YXN5bmMgVGkoKXt0aGlzLk4uZm9yRWFjaChuPT57Y2xlYXJUaW1lb3V0KG4udGltZXIpfSk7CnRoaXMuTi5jbGVhcigpfWhhcyhuKXtyZXR1cm4hIXRoaXMuTi5nZXQobil9dUIoKXtyZXR1cm4gdGhpcy5OLmtleXMoKX19O3ZhciBzb2I9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIHN2Mn1OKG4pe3JldHVybiBnLncobixUZSl9SihuLFcpe1cudmlkZW9JZCYmKG4ucGxheWVyUmVxdWVzdD17dmlkZW9JZDpXLnZpZGVvSWR9LFcucGxheWVyUGFyYW1zJiYobi5wbGF5ZXJSZXF1ZXN0LnBhcmFtcz1XLnBsYXllclBhcmFtcyksVy5yYWN5Q2hlY2tPayYmKG4ucGxheWVyUmVxdWVzdC5yYWN5Q2hlY2tPaz0hIVcucmFjeUNoZWNrT2spLFcuY29udGVudENoZWNrT2smJihuLnBsYXllclJlcXVlc3QuY29udGVudENoZWNrT2s9ISFXLmNvbnRlbnRDaGVja09rKSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7Vy5pbnB1dFR5cGUmJihuLmlucHV0VHlwZT1XLmlucHV0VHlwZSk7bi5kaXNhYmxlUGxheWVyUmVzcG9uc2U9ITB9VihuKXt2YXIgVzsobj10aGlzLlgobikpJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3JlZWxzX3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InJfd3JzIixXLlJWPSJyX3dyciIpOwpyZXR1cm4gV31YKG4pe249dGhpcy5OKG4pO2lmKG4/LnZpZGVvSWQpe3ZhciBXPXt2aWRlb0lkOm4udmlkZW9JZH07bi5wYXJhbXMmJihXLnBhcmFtcz1uLnBhcmFtcyk7cmV0dXJuIHlIKCJyZWVsX2l0ZW1fd2F0Y2giLFcpfX19O3ZhciBOdE09bmV3IGcuQUwoIkVOVElUWV9TVEFURV9UT0tFTiIpO3ZhciBZa1M9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj1wRmksVz1xTihVeGooKSk7dGhpcy5zdG9yZT0kZihuLHZvaWQgMCxXKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0b3JlLmdldFN0YXRlKCl9ZGlzcGF0Y2gobil7cmV0dXJuIHRoaXMuc3RvcmUuZGlzcGF0Y2gobil9c3Vic2NyaWJlKG4pe3JldHVybiB0aGlzLnN0b3JlLnN1YnNjcmliZShuKX1yZXBsYWNlUmVkdWNlcihuKXtyZXR1cm4gdGhpcy5zdG9yZS5yZXBsYWNlUmVkdWNlcihuKX1bU3ltYm9sLm9ic2VydmFibGVdKCl7cmV0dXJuIHRoaXMuc3RvcmVbU3ltYm9sLm9ic2VydmFibGVdKCl9fTt2YXIgUzU9Y2xhc3N7Y29uc3RydWN0b3Iobj1bXSl7dGhpcy5OPVtdO3RoaXMuVz10aGlzLko9MDt0aGlzLlg9dm9pZCAwO3RoaXMudG90YWxMZW5ndGg9MDtuLmZvckVhY2goVz0+e3RoaXMuYXBwZW5kKFcpfSl9aigpe3JldHVybiB0aGlzLnRvdGFsTGVuZ3RofWFwcGVuZChuKXtpZih4TSh0aGlzLG4pKXtsZXQgVz10aGlzLk5bdGhpcy5OLmxlbmd0aC0xXTsKdGhpcy5OW3RoaXMuTi5sZW5ndGgtMV09bmV3IFVpbnQ4QXJyYXkoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoK24ubGVuZ3RoKTtMUih0aGlzKX1lbHNlIHRoaXMuTi5wdXNoKG4pO3RoaXMudG90YWxMZW5ndGgrPW4ubGVuZ3RofXNwbGl0KG4pe3ZhciBXPW5ldyBTNSxEPW5ldyBTNTtmb3IobGV0IGIgb2YgdGhpcy5OKW4+PWIubGVuZ3RoPyhXLmFwcGVuZChiKSxuLT1iLmxlbmd0aCk6bj8oVy5hcHBlbmQobmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0LG4pKSxELmFwcGVuZChuZXcgVWludDhBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQrbixiLmxlbmd0aC1uKSksbj0wKTpELmFwcGVuZChiKTtyZXR1cm57Q3M6VyxZOTpEfX1pc0ZvY3VzZWQobil7cmV0dXJuIG4+PXRoaXMuVyYmbjx0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RofWZvY3VzKG4pe2lmKCF0aGlzLmlzRm9jdXNlZChuKSl7Zm9yKG48dGhpcy5XJiZMUih0aGlzKTt0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RoPD0KbiYmdGhpcy5KPHRoaXMuTi5sZW5ndGg7KXRoaXMuVys9dGhpcy5OW3RoaXMuSl0ubGVuZ3RoLHRoaXMuSis9MTt0aGlzLlg9dm9pZCAwfX19O3ZhciBZTSxORCxmUjtnLk5tPSgoKT0+e3ZhciBuPWI9Pm5ldyBVaW50OEFycmF5KGIpLFc9Yj0+e3ZhciB2PW5ldyBVaW50OEFycmF5KGIubGVuZ3RoKTsKZm9yKGxldCBrPTA7azxiLmxlbmd0aDtrKyspdltrXT1iW2tdO3JldHVybiB2fSxEPW5ldyBVaW50OEFycmF5KFsxXSk7CnJldHVybiBELmxlbmd0aD09PTEmJkRbMF09PT0xP246V30pKCk7CllNPUFycmF5KDEwMjQpO05EPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2Rlcjp2b2lkIDA7ZlI9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOnZvaWQgMDt2YXIgQVI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW47dGhpcy5wb3M9MDt0aGlzLko9LTF9fTt2YXIgejY9Y2xhc3N7Y29uc3RydWN0b3Iobj00MDk2KXt0aGlzLldWPXZvaWQgMDt0aGlzLnBvcz0wO3RoaXMuSj1bXTt0aGlzLk49ZGQobik7dGhpcy52aWV3PW5ldyBEYXRhVmlldyh0aGlzLk4uYnVmZmVyLHRoaXMuTi5ieXRlT2Zmc2V0LHRoaXMuTi5ieXRlTGVuZ3RoKX19O3ZhciBhdz17YW5pbWF0aW9uRW50aXR5OjMwMixhY2NvdW50TGlua1N0YXR1c0VudGl0eToxMjIsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTo2MzAsYm9vbGVhbkVudGl0eTozMDcsYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eTo2MzcsYnV0dG9uRW50aXR5OjM1OCxjYXB0aW9uVHJhY2s6MjI1LGNoYW5uZWxIYW5kbGU6Mjc1LGNoaXBFbnRpdHk6NDk4LGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OjI3Nixjb21tZXJjZUNhcnRMaXN0RW50aXR5OjIzNixjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTo1MzIsY29tcG9zaXRlU291cmNlRW50aXR5OjU5NCxjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOjQ4Myxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOjU3Nixjb250aW51YXRpb25Ub2tlbkVudGl0eTo0MDYsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OjIwMixkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5OjI5OSwKZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OjI2NCxkb3dubG9hZFN0YXR1c0VudGl0eToxNDEsZGlzbWlzc1N0YXRlOjU0MCxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5OjE4NixlbW9qaUZvdW50YWluRGF0YUVudGl0eTozOTMsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OjQ5NixmYWtlQ2hhbm5lbDoyLGZha2VQbGF5bGlzdDoyNzksZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uOjI4MCxmYWtlVmlkZW86MTgyLGZha2VWaWRlb0Rlc2NyaXB0aW9uOjI3OCxmZWF0dXJlZFByb2R1Y3RzRW50aXR5OjM5MixzYXZlZFByb2R1Y3RzU3RhdGVFbnRpdHk6NTk4LGZsb3dTdGF0ZUVudGl0eToyNTIsaWNvbkJhZGdlRW50aXR5OjIyOSxpbnRlcnN0aXRpYWxJbnRlcmFjdGlvblN0YXRlRW50aXR5OjQ0MyxsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5OjU2NyxsaXZlQ2hhdFBvbGxTdGF0ZUVudGl0eToyMTcsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTo1NjMsCmxpdmVWaWV3ZXJMZWFkZXJib2FyZFBvaW50c0VudGl0eTo1NjQsbGl2ZVJlYWN0aW9uc0RhdGFFbnRpdHk6NTAzLGxvZ29FbnRpdHk6MjQ1LG1hY3JvTWFya2VyRW50aXR5OjMyOSxtYWluRG93bmxvYWRzTGlicmFyeUVudGl0eToxNTgsbWFpbkRvd25sb2Fkc0xpc3RFbnRpdHk6MTY0LG1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHk6MzczLG1haW5QbGF5bGlzdEVudGl0eTozMDYsbWFpblBsYXlsaXN0VmlkZW9FbnRpdHk6MzY4LG1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHk6MjYyLG1haW5WaWRlb0VudGl0eToyNjEsbWFya2Vyc0VuZ2FnZW1lbnRQYW5lbFN5bmNFbnRpdHk6MTk2LG1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk6MzEyLG11c2ljQWxidW1SZWxlYXNlRGV0YWlsOjE4LG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eToyNTksbXVzaWNBbGJ1bVJlbGVhc2U6MTcsbXVzaWNBbGJ1bVJlbGVhc2VVc2VyRGV0YWlsOjE5LG11c2ljQXJ0aXN0RGV0YWlsOjIxLAptdXNpY0FydGlzdDoyMCxtdXNpY0FydGlzdFVzZXJEZXRhaWw6MjIsbXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5OjI1NyxtdXNpY0xpYnJhcnlFZGl0OjEyMSxtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHk6MzE4LG11c2ljUGxheWxpc3Q6MjQsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjQ4LG11c2ljU2hhcmU6MTAwLG11c2ljVHJhY2tEZXRhaWw6MjksbXVzaWNUcmFja0Rvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjM0LG11c2ljVHJhY2s6MjgsbXVzaWNUcmFja1VzZXJEZXRhaWw6MzAsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OjE2OSxvZmZsaW5lVmlkZW9Qb2xpY3k6MTMwLG9mZmxpbmVWaWRlb1N0cmVhbXM6MTk4LG9mZmxpbmVhYmlsaXR5RW50aXR5OjI0NixvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6MjQyLHBhZ2VIZWFkZXJFbnRpdHk6NDk1LHBhcnR5R2FtZVBhbmVsRW50aXR5OjYxOCxzbGlkZXJHYW1lUGFuZWxFbnRpdHk6NjMzLApwZHBTdGF0ZUVudGl0eTo1MjQscGlubmVkUHJvZHVjdEVudGl0eToyNzMscGxheWJhY2tEYXRhOjExOSxwbGF5ZXJTdGF0ZUVudGl0eTozMjMscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eTo1MzkscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTozNTYscmVmcmVzaDoxNDgsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OjIzMSxzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6NDc5LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTo2MzQsc2V0dGluZ0VudGl0eToyOTcsc3RyaW5nRW50aXR5OjM4MixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTo0ODUsdHJhbnNmZXI6MTIwLHRyZW5kaW5nT2ZmZXJFbnRpdHk6NDY5LHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OjYzNSx2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTo0NjEsdmlkZW9PdmVydmlld0FzeW5jRGF0YUVudGl0eTo1NDUsdmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5Ojc2LHZvdGluZ0VudGl0eTo1NjEsCnl0TWFpbkNoYW5uZWxFbnRpdHk6MTUyLHlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHk6NTUzLHl0TWFpbkRvd25sb2FkZWRWaWRlb0VudGl0eToxNTUseXRNYWluVmlkZW9FbnRpdHk6MTUxfSxWQT17fTtmb3IobGV0IFtuLFddb2YgT2JqZWN0LmVudHJpZXMoYXcpKXtsZXQgRD1uLGI9VztiJiYoVkFbYl09RCl9O3ZhciB2ZTt2YXIgSDZ0PSExLGdOLGhFLHgkLExmLGVZLGZIYj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNvdW50ZXI9WzAsMCwwLDBdO3RoaXMuSj1uZXcgVWludDhBcnJheSgxNik7dGhpcy5OPTE2O2lmKCFINnQpe3ZhciBXLEQ9bmV3IFVpbnQ4QXJyYXkoMjU2KSxiPW5ldyBVaW50OEFycmF5KDI1Nik7dmFyIHY9MTtmb3IoVz0wO1c8MjU2O1crKylEW3ZdPVcsYltXXT12LHZePXY8PDFeKHY+PjcmJjI4Myk7Z049bmV3IFVpbnQ4QXJyYXkoMjU2KTtoRT1rJCgyNTYpO3gkPWskKDI1Nik7TGY9ayQoMjU2KTtlWT1rJCgyNTYpO2ZvcihsZXQgaD0wO2g8MjU2O2grKyl7dj1oP2JbMjU1XkRbaF1dOjA7dl49djw8MV52PDwyXnY8PDNedjw8NDt2PXYmMjU1XnY+Pj44Xjk5O2dOW2hdPXY7Vz12PDwxXih2Pj43JiYyODMpO3ZhciBrPVdedjtoRVtoXT1XPDwyNHx2PDwxNnx2PDw4fGs7eCRbaF09azw8MjR8aEVbaF0+Pj44O0xmW2hdPXY8PDI0fHgkW2hdPj4+Cjg7ZVlbaF09djw8MjR8TGZbaF0+Pj44fUg2dD0hMH12PWskKDQ0KTtmb3IoRD0wO0Q8NDtEKyspdltEXT1uWzQqRF08PDI0fG5bNCpEKzFdPDwxNnxuWzQqRCsyXTw8OHxuWzQqRCszXTtmb3IoYj0xO0Q8NDQ7RCsrKW49dltELTFdLEQlNHx8KG49KGdOW24+PjE2JjI1NV1eYik8PDI0fGdOW24+PjgmMjU1XTw8MTZ8Z05bbiYyNTVdPDw4fGdOW24+Pj4yNF0sYj1iPDwxXihiPj43JiYyODMpKSx2W0RdPXZbRC00XV5uO3RoaXMua2V5PXZ9ZW5jcnlwdChuKXt2YXIgVz1uLmxlbmd0aDtuPW5ldyBVaW50OEFycmF5KG4uYnVmZmVyLnNsaWNlKG4uYnl0ZU9mZnNldCxuLmJ5dGVPZmZzZXQrVykpO2Zvcih2YXIgRD10aGlzLkosYj0wO2I8VyYmdGhpcy5OPDE2OyluW2IrK11ePURbdGhpcy5OKytdO2Zvcih2YXIgdj1XLShXLWIpJTE2O2I8djspWDgodGhpcyksbltiKytdXj1EWzBdLG5bYisrXV49RFsxXSxuW2IrK11ePURbMl0sbltiKytdXj1EWzNdLG5bYisrXV49RFs0XSxuW2IrK11ePQpEWzVdLG5bYisrXV49RFs2XSxuW2IrK11ePURbN10sbltiKytdXj1EWzhdLG5bYisrXV49RFs5XSxuW2IrK11ePURbMTBdLG5bYisrXV49RFsxMV0sbltiKytdXj1EWzEyXSxuW2IrK11ePURbMTNdLG5bYisrXV49RFsxNF0sbltiKytdXj1EWzE1XTtpZihiPFcpZm9yKFg4KHRoaXMpLHRoaXMuTj0wO2I8VzspbltiKytdXj1EW3RoaXMuTisrXTtyZXR1cm4gbn19O3ZhciBxYT0hMTsoKCk9Pnt2YXIgbj1iPT5uZXcgVWludDhBcnJheShiKSxXPWI9Pnt2YXIgdj1uZXcgVWludDhBcnJheShiLmxlbmd0aCk7CmZvcihsZXQgaz0wO2s8Yi5sZW5ndGg7aysrKXZba109YltrXTtyZXR1cm4gdn0sRD1uZXcgVWludDhBcnJheShbMV0pOwpyZXR1cm4gRC5sZW5ndGg9PT0xJiZEWzBdPT09MT9uOld9KSgpOwp2YXIgR3I7dmFyIHVvPWNsYXNze2NvbnN0cnVjdG9yKG4pe3ZhciBXPXRFKCk7VyYmKHRoaXMuTj1uZXcgZFhNKG4sVykpO3RoaXMuSj1uZXcgYjEobil9YXN5bmMgZW5jcnlwdChuLFcpe2lmKHRoaXMuTil0cnl7cmV0dXJuIGF3YWl0IHRoaXMuTi5lbmNyeXB0KG4sVyl9Y2F0Y2goRCl7Zy5HcShEKSxxYT0hMCx0aGlzLk49dm9pZCAwfXJldHVybiB0aGlzLkouZW5jcnlwdChuLFcpfWRlY3J5cHQobixXKXtyZXR1cm4gdGhpcy5lbmNyeXB0KG4sVyl9fSxkWE09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLko9V31hc3luYyBlbmNyeXB0KG4sVyl7dHJ5e3JldHVybiBhd2FpdCBiaDEodGhpcyxuLFcpfWNhdGNoKEQpe3Rocm93IGcuR3EoRCkscWE9ITAsRDt9fX0sYjE9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW59ZW5jcnlwdChuLFcpe3RoaXMuTnx8KHRoaXMuTj1uZXcgZkhiKHRoaXMuSikpO3ZhciBEPXRoaXMuTjtmb3IobGV0IGI9MDtiPDQ7YisrKUQuY291bnRlcltiXT0KV1tiKjRdPDwyNHxXW2IqNCsxXTw8MTZ8V1tiKjQrMl08PDh8V1tiKjQrM107RC5OPTE2O3JldHVybiB0aGlzLk4uZW5jcnlwdChuKX1kZWNyeXB0KG4sVyl7cmV0dXJuIHRoaXMuZW5jcnlwdChuLFcpfX07dmFyIHZtaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLmo9bmV3IFVpbnQ4QXJyYXkoNjQpO3RoaXMuVz1uZXcgVWludDhBcnJheSg2NCk7dGhpcy5YPTA7dGhpcy5WPW5ldyBVaW50OEFycmF5KDY0KTt0aGlzLko9MDt0aGlzLmouc2V0KG4pO3RoaXMuVy5zZXQobik7Zm9yKG49MDtuPDY0O24rKyl0aGlzLmpbbl1ePTkyLHRoaXMuV1tuXV49NTQ7dGhpcy5yZXNldCgpfXJlc2V0KCl7JCQodGhpcyk7dGhpcy51cGRhdGUodGhpcy5XKX11cGRhdGUobil7dmFyIFc9MCxEPW4ubGVuZ3RoO3RoaXMuWCs9RDt0aGlzLkomJnRoaXMuSitEPj02NCYmKHRoaXMuVi5zZXQobi5zdWJhcnJheSgwLDY0LXRoaXMuSiksdGhpcy5KKSxXPTY0LXRoaXMuSix0aGlzLko9MCxzZSh0aGlzLHRoaXMuViwwKSk7Zm9yKDtXKzY0PD1EO1crPTY0KXNlKHRoaXMsbixXKTtXPEQmJihuPW4uc3ViYXJyYXkoVyksdGhpcy5WLnNldChuLHRoaXMuSiksdGhpcy5KKz1uLmxlbmd0aCl9fSxyTj1bMTExNjM1MjQwOCwKMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCwKNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdO3ZhciBZJD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LGhhdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuVz1uO3RoaXMuSj1XfX0saksxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIEpacj17SU5WQUxJRF9FTkNPREVSX1ZFUlNJT046IkludmFsaWQgZW5jb2RlciB2ZXJzaW9uIixLRVlfQ1JFQVRJT05fRkFJTEVEOiJGYWlsZWQgdG8gY3JlYXRlIGVuY29kZXIga2V5IixVTktOT1dOX0RFQ09ERV9FUlJPUjoiRmFpbGVkIHRvIGRlY29kZSBQRVMgZGF0YSIsVU5LTk9XTl9FTkNPREVfRVJST1I6IkZhaWxlZCB0byBlbmNvZGUgUEVTIGRhdGEiLFdST05HX0RBVEFfVFlQRToiRW5jb2RlciBjYW5ub3QgcHJvY2VzcyB0aGUgZGF0YSB0eXBlIn0sZmY9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sVz17fSl7c3VwZXIoSlpyW25dLHtuYW1lOiJQRVNFbmNvZGVyRXJyb3IiLHR5cGU6biwuLi5XfSk7dGhpcy50eXBlPW47dGhpcy5sZXZlbD0iV0FSTklORyI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsZmYucHJvdG90eXBlKX19O3ZhciBJSGk9Y2xhc3N7fTt2YXIgU2t0PWNsYXNzIGV4dGVuZHMgSUhpe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5OPW59VyhuLFcpe1c9STgoVyk7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkobikpO3JldHVybiB0aGlzLk4uZW5jcnlwdChuLFcpfUoobixXKXtpZighKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgZmYoIldST05HX0RBVEFfVFlQRSIse09BOjF9KTt2YXIgRD1uZXcgVGV4dERlY29kZXI7Vz1JOChXKTtuPXRoaXMuTi5kZWNyeXB0KG4sVyk7cmV0dXJuIEpTT04ucGFyc2UoRC5kZWNvZGUobikpfX07dmFyIFh5VT17YW5pbWF0aW9uRW50aXR5OmVuaSxhY2NvdW50TGlua1N0YXR1c0VudGl0eTpta2gsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTp0UFUsYm9vbGVhbkVudGl0eTpyWXIsYnV0dG9uRW50aXR5OkhNdCxjYXB0aW9uVHJhY2s6bEoyLGNoYW5uZWxIYW5kbGU6a2pNLGNoYXRMb2FkaW5nU3RhdGVFbnRpdHk6SU93LGFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHk6R2oxLGNoaXBFbnRpdHk6Z1hVLGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OlNOeCxjb21tZXJjZUNhcnRMaXN0RW50aXR5OkFNeCxjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTptJFMsY29tcG9zaXRlU291cmNlRW50aXR5OiRJTSxtdWx0aXZpZXdTdGFnaW5nRW50aXR5OnJKYixjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOnhrdCxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOkx0dyxjb250aW51YXRpb25Ub2tlbkVudGl0eTp3d1MsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OmlzWiwKZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eTpveGgsZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OkRJMSxkb3dubG9hZFN0YXR1c0VudGl0eTp1NXQsZGlzbWlzc1N0YXRlOlhSUyxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5Old1WixlbW9qaUZvdW50YWluRGF0YUVudGl0eTpyTTEsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OiQkMixmYWtlQ2hhbm5lbDpwd0MsZmFrZVBsYXlsaXN0OllZcixmYWtlUGxheWxpc3RFbnRyeUNvbGxlY3Rpb246Zl94LGZha2VWaWRlbzpKWWIsZmFrZVZpZGVvRGVzY3JpcHRpb246SV93LGZlYXR1cmVkUHJvZHVjdHNFbnRpdHk6cXZDLHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTpYX1MsZmxvd1N0YXRlRW50aXR5OkFZeCxpY29uQmFkZ2VFbnRpdHk6S3VqLGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6T3NpLGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6Ynp0LGxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OlBMciwKZGF0YUZyZXNobmVzc0VudGl0eTp0R3QsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTpSTzEsbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OlE0cixsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTpzZGksbG9nb0VudGl0eTpLdHgsbWFjcm9NYXJrZXJFbnRpdHk6dk50LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OmRrdCxtYWluRG93bmxvYWRzTGlzdEVudGl0eTpsX1osbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpUQTEsbWFpblBsYXlsaXN0RW50aXR5Ok1QdyxtYWluUGxheWxpc3RWaWRlb0VudGl0eTpSNGksbWFpblZpZGVvRG93bmxvYWRTdGF0ZUVudGl0eTpqQmksbWFpblZpZGVvRW50aXR5OmFfaixtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eTprUHIsbWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eTpoT3QsbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6ZkpVLG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eTpzNHQsCm11c2ljQWxidW1SZWxlYXNlOkh6aSxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6SkoxLG11c2ljQXJ0aXN0RGV0YWlsOlN2WixtdXNpY0FydGlzdDpJSlUsbXVzaWNBcnRpc3RVc2VyRGV0YWlsOkFKaSxtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6TmtTLG11c2ljTGlicmFyeUVkaXQ6bUliLG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTpLTXcsbXVzaWNQbGF5bGlzdDpQVHgsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6cF9yLG11c2ljU2hhcmU6WnppLG11c2ljVHJhY2tEZXRhaWw6eUpTLG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5Oll2dCxtdXNpY1RyYWNrOlVJWixtdXNpY1RyYWNrVXNlckRldGFpbDpFTngsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OlRrdyxvZmZsaW5lVmlkZW9Qb2xpY3k6ajRaLG9mZmxpbmVWaWRlb1N0cmVhbXM6Q1R3LG9mZmxpbmVhYmlsaXR5RW50aXR5OkNMaSxvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6QkFVLApwYWdlSGVhZGVyRW50aXR5OnFOWixwYXJ0eUdhbWVQYW5lbEVudGl0eTpwUnQsc2xpZGVyR2FtZVBhbmVsRW50aXR5Ok55MSxwZHBTdGF0ZUVudGl0eTpPTWoscGlubmVkUHJvZHVjdEVudGl0eTpHUE0scGxheWJhY2tEYXRhOkJrdyxwbGF5ZXJTdGF0ZUVudGl0eTp4SVoscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eToka2IscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTpQOHcscmVmcmVzaDpGTXcsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OnZYaixzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6TE13LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTpzQngsc2V0dGluZ0VudGl0eTp4JFosc3RyaW5nRW50aXR5Ok5BMixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTplT3IsdHJhbnNmZXI6d19NLHRyZW5kaW5nT2ZmZXJFbnRpdHk6dHhqLHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OmZPMix2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTpNeFMsCnZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHk6Wk1qLHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTpKTTIsdm90aW5nRW50aXR5OkdpTSx5dE1haW5DaGFubmVsRW50aXR5Om5OMix5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OmdOcix5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6RnRoLHl0TWFpblZpZGVvRW50aXR5OldNWn07dmFyIE5Hdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuVz1XO3RoaXMuSj17fX19O3ZhciBBWlo9Y2xhc3MgZXh0ZW5kcyBJSGl7VyhuKXtyZXR1cm4gbn1KKG4pe2lmKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KXRocm93IG5ldyBmZigiV1JPTkdfREFUQV9UWVBFIix7T0E6MH0pO3JldHVybiBufX07dmFyIGY5aT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj17fTt0aGlzLk5bMF09bmV3IEFaWjtpZighZy5sKCJhZXNfcGVzX2VuY29kZXJfa2lsbHN3aXRjaCIpKXt2YXIgbj10aGlzLk47dHJ5e2xldCBiPU0wKCk7dmFyIFc9STgoYik7dmFyIEQ9bmV3IFNrdChuZXcgYjEoVyksbmV3IHVvKFcpKX1jYXRjaChiKXt0aHJvdyBuPWIgaW5zdGFuY2VvZiBFcnJvcj9uZXcgZmYoIktFWV9DUkVBVElPTl9GQUlMRUQiLHtvcmlnaW5hbE1lc3NhZ2U6Yi5tZXNzYWdlfSk6bmV3IGZmKCJLRVlfQ1JFQVRJT05fRkFJTEVEIiksZy5YaihuKSxuO31uWzFdPUR9fX07dmFyIEozaT1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudG9rZW49bjt0aGlzLk49Vzt0aGlzLm9ic2VydmVycz1bXTtuPW5ldyBnLnFpLkJyb2FkY2FzdENoYW5uZWwoYFBFUlNJU1RFTlRfRU5USVRZX1NUT1JFX1NZTkM6JHtNMCgpfWApO24ub25tZXNzYWdlPXRoaXMuSi5iaW5kKHRoaXMpO3RoaXMuY2hhbm5lbD1ufW9ic2VydmUobil7dGhpcy5vYnNlcnZlcnMucHVzaChuKTtyZXR1cm4oKT0+e3ZhciBXPXRoaXMub2JzZXJ2ZXJzLmluZGV4T2Yobik7Vz49MCYmdGhpcy5vYnNlcnZlcnMuc3BsaWNlKFcsMSl9fUoobil7UGUodGhpcyxuLmRhdGEpfW1BKCl7dGhpcy5jaGFubmVsLmNsb3NlKCl9fSx0NTt2YXIgbXpiPWcud0QoKCk9PntpZih3aW5kb3cuTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkPT09ImZ1bmN0aW9uIilyZXR1cm4gd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjUxLjA4LjAxLjAxLjAxLjAxLjAwIicpO2lmKHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWFuYWdlZE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZD09PSJmdW5jdGlvbiIpcmV0dXJuIHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKCd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuNTEuMDguMDEuMDEuMDEuMDEuMDAiJyk7dmFyIG49Zy5ycigieXQud2ViLmNvbnRyaWIuaW5uZXJ0dWJlLnJlcXVlc3RzLndhdGNoX3VpLnV0aWxzLnZpZGVvRWxlbWVudF8iKTtufHwobj1nLnpGKCJWSURFTyIpLGcuR2IoInl0LndlYi5jb250cmliLmlubmVydHViZS5yZXF1ZXN0cy53YXRjaF91aS51dGlscy52aWRlb0VsZW1lbnRfIiwKbikpO3JldHVybiEhKG4mJm4uY2FuUGxheVR5cGUmJm4uY2FuUGxheVR5cGUoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MS4wOC4wMS4wMS4wMS4wMS4wMCInKSl9KTt2YXIgTnM9eVcoKT8hMDp0eXBlb2Ygd2luZG93LmZldGNoPT09ImZ1bmN0aW9uIiYmd2luZG93LlJlYWRhYmxlU3RyZWFtJiZ3aW5kb3cuQWJvcnRDb250cm9sbGVyJiYhZy5SZz8hMDohMTt2YXIgS0hTPWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3IoKXtzdXBlcigpfVcoKXtyZXR1cm4gcXlqfU4obil7cmV0dXJuIGcudyhuLGcuSVEpfHxnLncobixUZSl8fGcudyhuLFZ4Yil9Tygpe3JldHVybiEwfVgobil7aWYoKGcubCgia2V2bGFyX2NhY2hlX29uX3R0bF9wbGF5ZXIiKXx8Zy5sKCJtd2ViX2VuYWJsZV9zaG9ydHNfaW5uZXJ0dWJlX3BsYXllcl9wcmVmZXRjaCIpfHxnLmwoIndlYl9zaG9ydHNfcHJlZmV0Y2hfc2VydmljZV9lbmFibGVkIil8fGcubCgiZW1iZWRzX2VuYWJsZV9wcmVmZXRjaF92aWFfcmVzb2x2ZV91cmwiKSkmJihuPXRoaXMuTihuKSkmJm4udmlkZW9JZCl7dmFyIFc9e3ZpZGVvSWQ6bi52aWRlb0lkfTtuLnBsYXlsaXN0SWQmJihXLnBsYXlsaXN0SWQ9bi5wbGF5bGlzdElkKTtuLnBsYXllclBhcmFtcyYmKFcucGFyYW1zPW4ucGxheWVyUGFyYW1zKTtyZXR1cm4geUgoInBsYXllciIsVyl9fUsobil7cmV0dXJuIG4uY29udGVudFBsYXliYWNrQ29udGV4dD8udmlzPT09CjI/IldBVENIX0ZVTExfU0NSRUVOIjoiV0FUQ0gifUoobixXLEQpe2lmKGcubCgiZW5hYmxlX2ludGVyc3RpdGlhbF9lbnRpdHlfY2hlY2siKSYmVy52aWRlb0lkKWZvcih2YXIgYiBvZlsiQ09OVEVOVF9DSEVDS19SRVFVSVJFRCIsIkFHRV9DSEVDS19SRVFVSVJFRCJdKTtXLnZpZGVvSWQmJihuLnZpZGVvSWQ9Vy52aWRlb0lkKTtXLnBsYXlsaXN0SWQmJihuLnBsYXlsaXN0SWQ9Vy5wbGF5bGlzdElkKTtXLmluZGV4IT09dm9pZCAwJiYobi5wbGF5bGlzdEluZGV4PVcuaW5kZXgrMSk7Vy5wbGF5ZXJQYXJhbXMmJihuLnBhcmFtcz1XLnBsYXllclBhcmFtcyk7InN0YXJ0VGltZVNlY29uZHMiaW4gVyYmVy5zdGFydFRpbWVTZWNvbmRzJiYoZy5sKCJlbmFibGVfcGxheWVyX3JlcXVlc3RfYnVpbGRlcl9zdGFydF90aW1lX2Zsb29yIik/bi5zdGFydFRpbWVTZWNzPU1hdGguZmxvb3IoVy5zdGFydFRpbWVTZWNvbmRzKTpuLnN0YXJ0VGltZVNlY3M9Vy5zdGFydFRpbWVTZWNvbmRzKTtELmNvbnRlbnRQbGF5YmFja0NvbnRleHQmJgoobi5wbGF5YmFja0NvbnRleHQ9e2NvbnRlbnRQbGF5YmFja0NvbnRleHQ6RC5jb250ZW50UGxheWJhY2tDb250ZXh0fSk7RC5wcmVmZXRjaFBsYXliYWNrQ29udGV4dCYmKG4ucGxheWJhY2tDb250ZXh0PXsuLi5uLnBsYXliYWNrQ29udGV4dCxwcmVmZXRjaFBsYXliYWNrQ29udGV4dDpELnByZWZldGNoUGxheWJhY2tDb250ZXh0fSxuLmNvbnRleHQucmVxdWVzdHx8KG4uY29udGV4dC5yZXF1ZXN0PXt9KSxuLmNvbnRleHQucmVxdWVzdC5pc1ByZWZldGNoPSEwKTtuLnBsYXliYWNrQ29udGV4dHx8KG4ucGxheWJhY2tDb250ZXh0PXt9KTtiPW16YigpO24ucGxheWJhY2tDb250ZXh0LmRldmljZVBsYXliYWNrQ2FwYWJpbGl0aWVzPXtzdXBwb3J0c1ZwOUVuY29kaW5nOiEhYixzdXBwb3J0WGhyOk5zfTtELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0JiYobi5vdmVycmlkZU11dGVkQXRTdGFydD1ELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0KTtuLnJhY3lDaGVja09rPSEhVy5yYWN5Q2hlY2tPazsKbi5jb250ZW50Q2hlY2tPaz0hIVcuY29udGVudENoZWNrT2s7Zy5sKCJjYXB0aW9uc19wcmVmc19raWxsc3dpdGNoIil8fChEPShEPWcuWkkoInl0LXBsYXllci1jYXB0aW9uLWxhbmd1YWdlLXByZWZlcmVuY2VzIikpP0Q6W10sVz1nLmwoIndlYl9lbmFibGVfcGxheWVyX3JlcXVlc3RfY2FwdGlvbnNfbGFzdF9sYW5ndWFnZV9vbmx5IiksRD8ubGVuZ3RoJiYoRD1XP1tELmF0KC0xKV06RCxuLmNhcHRpb25QYXJhbXM9e3ZpZXdlclNlbGVjdGVkQ2FwdGlvbkxhbmdzOkR9KSl9VihuKXtuPXRoaXMuWChuKTt2YXIgVztuJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3BsYXllcl93YXRjaF9uZXh0X3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InBzX3MiLFcuUlY9InBzX3IiKTtyZXR1cm4gV319O0tIU1tnLkxYXT1bTnRNXTt2YXIgaUI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW4ucmVzcG9uc2VDb250ZXh0Py5zdGF0ZVRhZ3N9fTt2YXIgd049Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZighVyl0aHJvdyBFcnJvcigicmVxdWVzdCBuZWVkcyB0byBiZSBwYXNzZWQgaW50byBTdG9yZVJlc3BvbnNlUHJvY2Vzc29yU2VydmljZSIpO3VCKHRoaXMsbixXLmNvbmZpZz8uSG4/LlJMKX19O3dOW2cuTFhdPVtCZV07dmFyIEY4PW5ldyBnLkFMKCJTVE9SRV9SRVNQT05TRV9QUk9DRVNTT1JfVE9LRU4iKTt2YXIgbzg9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobixXKTt0aGlzLmVycm9yVHlwZT0xO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBUcj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1hc3luYyBmZXRjaChuLFcsRCxiKXtuPVNzWih0aGlzLG4sVyk7dHJ5e2xldCB2PWF3YWl0IGZldGNoKG4pO2lmKGImJnYub2smJnYuYm9keSYmdHlwZW9mIHYuYm9keS5nZXRSZWFkZXI9PT0iZnVuY3Rpb24iKXtsZXQgaz12LmNsb25lKCkuYm9keS5nZXRSZWFkZXIoKSx7dmFsdWU6aH09YXdhaXQgay5yZWFkKCk7ay5jYW5jZWwoKS5jYXRjaCgoKT0+e30pOwppZihoJiZoWzBdPT09OTEpe2xldCB4PXYuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBkTih0aGlzLHgsbmV3IGFzLFtdLGIpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZSh2LEQpfWNhdGNoKHYpe2lmKGcuR3EodiksRD8uTGQmJnYgaW5zdGFuY2VvZiBvOCYmdi5lcnJvclR5cGU9PT0xKXRocm93IHY7fX1oYW5kbGVSZXNwb25zZShuLFcpe3ZhciBEPW4udGV4dCgpLnRoZW4oYj0+e2lmKFc/LmhQJiZuLm9rKXJldHVybiBkRyhXLmhQLGIpO2I9Yi5yZXBsYWNlKCIpXX0nIiwiIik7aWYoVz8uTGQmJmIpdHJ5e3ZhciB2PUpTT04ucGFyc2UoYil9Y2F0Y2goayl7dGhyb3cgbmV3IG84KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiB2Pz9KU09OLnBhcnNlKGIpfSk7Cm4ucmVkaXJlY3RlZHx8bi5vaz90aGlzLk4mJnRoaXMuTi5zdWNjZXNzKCk6KHRoaXMuTiYmdGhpcy5OLm9ZKCksRD1ELnRoZW4oYj0+e2cuR3EobmV3IGcuUXgoIkVycm9yOiBBUEkgZmV0Y2ggZmFpbGVkIixuLnN0YXR1cyxuLnVybCxiKSk7cmV0dXJuey4uLmIsZXJyb3JNZXRhZGF0YTp7c3RhdHVzOm4uc3RhdHVzfX19KSk7CnJldHVybiBEfX07VHJbZy5MWF09W2cuaHAobmV3IGcuQUwoIk5FVFdPUktfU0xJX1RPS0VOIikpXTt2YXIgenI7dmFyIERZcj1uZXcgZy5xTSgicGFyYWxsZWxDb21tYW5kIik7dmFyIHZuTT1uZXcgZy5xTSgicGVyZm9ybU9uY2VDb21tYW5kIik7dmFyIGI4Yj1uZXcgZy5xTSgic2VyaWFsQ29tbWFuZCIpO3ZhciB2UT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihuKXt0aGlzLk4uYmljZihuKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhuKXt0aGlzLk4uYmNyKG4pfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuTi5ibGMoKX19O3ZhciBpaEM9W10saGo9KDAsZy5IeClgaHR0cHM6Ly9zdGF0aWMuZG91YmxlY2xpY2submV0L2luc3RyZWFtL2FkX3N0YXR1cy5qc2AsazU9ITE7dmFyIGlEPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPW47dGhpcy5OPVd9fSxXREM9W25ldyBpRCgiYi5mXyIsMCksbmV3IGlEKCJqLnNfIiwyKSxuZXcgaUQoInIuc18iLDQpLG5ldyBpRCgiZS5oXyIsNiksbmV3IGlEKCJpLnNfIiw4KSxuZXcgaUQoInMudF8iLDEwKSxuZXcgaUQoInAuaF8iLDEyKSxuZXcgaUQoInMuaV8iLDE0KSxuZXcgaUQoImYuaV8iLDE2KSxuZXcgaUQoImEuYl8iLDE4KSxuZXcgaUQoImEub18iKSxuZXcgaUQoImcub18iLDIyKSxuZXcgaUQoInAuaV8iLDI0KSxuZXcgaUQoInAubV8iKSxuZXcgaUQoIm4ua18iLDIwKSxuZXcgaUQoImkuZl8iKSxuZXcgaUQoImEuc18iKSxuZXcgaUQoIm0uY18iKSxuZXcgaUQoIm4uaF8iLDI2KSxuZXcgaUQoIm8ucF8iKSxuZXcgaUQoIm0ucF8iLDI4KSxuZXcgaUQoIm8uYV8iKSxuZXcgaUQoImQucF8iKSxuZXcgaUQoImUuaV8iKV0ucmVkdWNlKChuLFcpPT57bltXLkpdPVc7cmV0dXJuIG59LHt9KTt2YXIgTmU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMubmV0d29yaz1uO3RoaXMub3B0aW9ucz1XO3RoaXMuWD1EO3RoaXMuVz0wO3RoaXMuTj1udWxsO3RoaXMuSj1uZXcgcW5pO1cuUHU/ZXQodGhpcyxvbU0odGhpcykpOlcucHJlbG9hZCYmZXQodGhpcyxuZXcgUHJvbWlzZShiPT57Zy5jQigwLCgpPT57Yih0aih0aGlzKSl9LDApfSkpfWFzeW5jIHlmKCl7cmV0dXJuISFhd2FpdCBQcm9taXNlLnJhY2UoW3RoaXMuTiwKbnVsbF0pfWFzeW5jIGRRKG4sVyxEKXt0aGlzLk49PT1udWxsJiZldCh0aGlzLHRqKHRoaXMpKTt2YXIgYj0hMSx2PXt9O3JldHVybiBQcm9taXNlLnJhY2UoWyhhc3luYygpPT57dGhpcy5vcHRpb25zLkZoJiZ0aGlzLm9wdGlvbnMuUHUmJmF3YWl0IChhd2FpdCB5M3IoKSk/LmNoZWNrRm9yUmVmcmVzaCgpO3ZhciBrPWF3YWl0IHRoaXMuTjt2LmNoYWxsZW5nZT1rLmNoYWxsZW5nZTtpZihrLk8xKXt2YXIgaD17YzprLmNoYWxsZW5nZSxlOm4sLi4uV307dHJ5e2I9ITA7bGV0IHg7KHg9YXdhaXQgay5PMS5zbmFwc2hvdCh7d186aH0pKT92LndlYlJlc3BvbnNlPXg6di5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe3YuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gay5SUiYmKHYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO249PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmCihrPWsuUlIsaD17fSxrLmM2YSYmKGgucmVwb3J0aW5nU3RhdHVzPVN0cmluZyhOdW1iZXIoay5jKV5MYygpKSksay5jNmImJihoLmJyb2FkU3BlY3RydW1EZXRlY3Rpb25SZXN1bHQ9U3RyaW5nKE51bWJlcihrLmMpXk51bWJlcihnLkFyKCJDQVRTVEFUIiwwKSkpKSx2LmFkYmxvY2tSZXBvcnRpbmc9aCk7cmV0dXJuIHZ9KSgpLApUR2goRCwoKT0+e3ZhciBrPU9iamVjdC5hc3NpZ24oe30sdik7YiYmKGsuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTtyZXR1cm4ga30pXSl9fTt2YXIganhTPVsiQVBQX1NUQVRFIiwiUEkiXTt2YXIga3ZNPVszNjExLDI3Njg2LDIyMTA1OCw4NTAxMywyMzQ2MiwyNDExODcsMTU3NTU3LDQyMDE2LDI2OTI2LDUxMjM2LDc5MTQ4LDUwMTYwLDc3NTA0LDMxMDI4MSwxNTM1ODcsODc5MDcsMTg2MzAsMTc3MDE4LDE3NzAyMyw1NDQ0NSwzMjE2NjYsMzI2MzUzLDMyNjM1NCw4MDkzNSwxNTIxNzIsMTg0NTUzLDEwNTY3NSwxNTA3MjMsMzc1MjEsMTQ3Mjg1LDQ3Nzg2LDIzMTI1NSwyMzEyNTQsMjMxMjU4LDIzMTI1OSw5ODM0OSwyMzcyOTksMTY4MjcxLDE2ODk1NCwxNjgyNzcsMTY4MjczLDE2ODI3MCwxMjM2OTUsMjcyMDE4LDMzODQ5NywyMjY5ODcsMjI2OTkwLDIyNjk4OCw2ODI3LDI5NDM0LDI1NTAxMCwxNzEzODgsMjQ0MTg5LDIzNjIwOCw3MjgyLDEyNDQ0OCwyOTk5MDMsMjk5ODk3LDI5OTkwNCwyOTk5MDEsMjk5ODk5LDI5OTkwMiwyOTk5MDAsMjk5ODk4LDE5NjA4OCwyNTA4OTcsMTk4MTA0LDMyMjc2LDE5NTExNSwxOTUxMTQsNzYyNzgsMjAwNjM1LDIzMDU5NCwxNDc4NjgsCjE0Nzg2OSwyNzYyNDMsOTM5MTEsMjc0MTg4LDI3NjY1MSwzMTM2ODAsMTA2NTMxLDI1NzIzNCwyNTI1OTgsMjUyNTk3LDI1MjYwMCwyNTI1OTksMjUyNTk2LDIyNTAzMSwxNzc4NDMsMjcyNTksMjcyNjIsMjcyNjMsMjE3NTksMjgzNjcwLDE2MDg2NiwyMDQyNDksMjIyOTAwLDIwNDI1MCwxODA2MjYsMTc3OTU5LDE3Nzk1NywxODA2MjgsMjA1NzE2LDE5Nzg3OCwyNzM3NjYsMTcxMjQzLDE2MDc4OSwxNzEyNDQsMTcxMjQxLDE3MTI0NSwxNzEyNDIsMjI1NTYwLDE4MDYyNywxNzc5NjAsMjMxNTg5LDE3Nzk1OCwxODA2MjksMjA1NzE3LDE5Nzg3OSwxNzc1NjUsMjEyNTczLDIxMDcwOSw5OTQ0MTIsMjMwNjg0LDIyOTgwMSwyMzA2ODUsMzM0MzEwLDMzNDMxMSwzMzQzMTIsMTk3MzM3LDIwOTAxMCwxOTczMzYsMTk3MzM4LDE5ODYxOCwzMDA4ODQsMTc1NDkyLDE5ODA1MiwxOTgwNTEsMTk3ODUyLDE5Nzk3NiwzMTczNzcsMTc1NDkzLDE3NTQ5NCwxNzU0OTUsMTg5MjU0LDE3NTQ5NiwxNzU0OTcsCjM4NDA4LDE3NTQ5OCwxNzU1MDMsMTc1NTA0LDE3NTUwNSwxNzU1MDYsMTc1NTA3LDE3NTUwOCw4MDYzNyw2ODcyNywyMDY5MzMsMjA3OTQ0LDIwNjkzNCwzMDMxMjMsMjA2OTI5LDIyMTU3NSw2ODcyOCwyMjE1NzYsODAzNTMsODAzNTYsMzA4MDMzLDI0OTEwNywxODA2MzUsNzQ2MTAsNDU3MDcsODM5NjIsODM5NzAsNDY3MTMsMTY2NTkxLDg5NzExLDc0NjEyLDIxMzgwOSwxNzk2MDcsMjQ1MDA2LDE1NTc5Miw5MzI2NSw3NDYxMSwxMzEzODAsMTI4OTc5LDEzOTMxMSwxMjg5NzgsMTMxMzkxLDEwNTM1MCwxMzkzMTIsMzMzNjM3LDEzNDgwMCwxMzEzOTIsMTEzNTMzLDIyOTI5OCw5MzI1Miw5OTM1Nyw5NDUyMSwxMTQyNTIsMTEzNTMyLDk0NTIyLDk0NTgzLDIwMjM3MSw4OEUzLDEzOTU4MCw5MzI1Myw5MzI1NCw5NDM4Nyw5NDM4OCw5MzI1NSw5NzQyNCw3MjUwMiwyMTk4NjgsMjEyOTkxLDExMDExMSw3NjAxOSwxMTcwOTIsMTE3MDkzLDg5NDMxLDE5MTgzMSwxMTA0NjYsMjMxMzQ2LAo3NzI0MCw2MDUwOCwxODYwOTEsMTQ4MTIzLDE0ODEyNCwxMzc0MDEsMTM3NDAyLDEzNzA0Niw3MzM5MywyNDY3NzYsMTEzNTM0LDI3NjIwMCw5MjA5OCwxMzEzODEsODQ1MTcsODM3NTksMzA5NTgwLDIzMDY3NiwyNDkxODMsMjMwNjc5LDIzMDY3OCwyMzA2NzcsMjMwNjgxLDIzMDY4MCwxNjI3MTEsMjM1MjM0LDE2MjcxMiw4MDM1Nyw5OTQ0MTEsMjQzMzE1LDMxMzUwNiwzMjE5NjQsODYxMTMsNzI1OTgsMTY4NDEzLDcyNzMzLDEwNzM0OSwxMjQyNzUsMTE4MjAzLDIwMDQxMCwxMzMyNzUsMTYwMTU3LDE1MjU2OSwxNTY2NTEsMTMzMjc0LDE2MDE1OSwxNjAxNTgsMTMzMjcyLDEzMzI3MywxMzMyNzYsMTQ0NTA3LDE0MzI0NywxNzU5OTQsMTU2NjUyLDE0MzI0OCwxNDMyNDksMTQzMjUwLDE0MzI1MSwxODk4OTIsMTg5ODk0LDE4OTg5MywxNTY2NTMsMjE0MjM2LDE0NDQwMSwxMTc0MzEsMTMzNzk3LDIyNTEzNywyNzM5MDUsMjIyNjEyLDIyMjYxMywxNTM5NjQsMjAxMTMzLDIwMTEzNCwKMjAxMTM1LDIwMTEzNiwyMDExMzcsMTI4NTcyLDIwMDQxMSwyMDA0MTIsMTkwMzM3LDEzMzQwNSwxMTc0MjksMTE3NDMwLDE3Nzk1MCwxNzQ3MzQsMTc3OTUxLDIwMTEzOCwyMDExMzksMjAxMTQwLDIwMTE0MSwyMDExNDIsMTE3NDMyLDE3Mzk5NiwxNzM5OTUsMTc0OTUzLDE3Mzk5NCwxNzM5OTcsMTIwMDgwLDExNzI1OSwxNzg1NDYsMjk3NzUyLDE5Nzg5MSwxNTY2NTUsMTU2NjU0LDEyMTY5MiwyMTE0MTQsMjExNDExLDIxMTQxMiwyMTE0MTMsMjExNDAzLDE4NDg0NiwxODU5OTMsMzM1MDQ4LDE0NTY1NiwxNTY2NTYsMTQ1NjU1LDE0NTY1MywxNDU2NTQsMTQ1NjU3LDEzMjk3MiwxMzMwNTEsMTMzNjU4LDEzMjk3MSwzMzY3MjgsOTc2MTUsMTgxMjYyLDE5MDc2MiwyNTAzNDQsMjU0MDI3LDE0MzM1OSwxNDMzNTYsMTQzMzYxLDE0MzM1OCwxNDMzNjAsMTQzMzU3LDE0MjMwMywxNDMzNTMsMjgyMTU5LDE3Mjg1OSwxNDMzNTQsMTQ0NDc5LDE0MzM1NSwzMTQwMiwxODE1OTAsMTMzNjI0LAoxNDY0NzcsMTMzNjIzLDEzMzYyMiwxMzM2MjEsMTkyNDE4LDg0Nzc0LDMwNDc3NiwxOTc5OTMsMjQxNDYwLDE2MDgwMSwxOTc5OTUsOTUxMTcsMTcyNzIxLDE1MDQ5Nyw5ODkzMCw5ODkzMSw5ODkzMiwzMzg1NzAsMzM4NDc0LDMzODQ3OCwzMzg0NzMsMTUzMzIwLDE1MzMyMSw0MzM0NywzMDUyNjgsMjQ5Mjk1LDIxMDAxNiwyMTAwMTcsMjYyNjg2LDIxMTg1MSwyMTE4NTIsMzA3MjE5LDIxMTg1MywzMjc4MTAsMTI5ODg5LDE5Nzg4OCwxOTc4ODksMTQ5MTIzLDIyMTk1OSwyMjE2MjcsMjIxOTU4LDQ1NDc0LDEwMDM1Miw5ODQ0MywxMTc5ODUsMzMzNzA4LDc0NjEzLDE1NTkxMSw3NDYxNCw2NDUwMiwxMzYwMzIsNzQ2MTUsNzQ2MTYsMTIyMjI0LDc0NjE3LDc3ODIwLDc0NjE4LDI2Mjk4OCwyNjI5ODksMjI2OTgxLDkzMjc4LDkzMjc0LDkzMjc1LDkzMjc2LDIwMDY4OCwyMDA2ODYsMjAwNjg3LDE5OTg0MSwyMjExMCwyOTQzMywxMzM3OTgsMTMyMjk1LDI4MTMzMiwxMjA1NDEsMjIyMTEyLAo4MjA0NywxMTM1NTAsNzU4MzYsNzU4MzcsMzAzODgyLDE5MjQwOSwyMDMyMjEsNDIzNTIsODQ1MTIsNzYwNjUsNzU5ODksMjA1OTExLDIwNTkxMiwyNTI2NDksMjA1OTEzLDI1MjY1MCwyNTI2NTEsNTE4NzksMTY2MjMsMzI1OTQsMjcyNDAsMzM4MTA5LDI5MzMyNCwzMjYzMyw3NDg1OCwzMDQxNTAsMjk3MDQ1LDI3NTE5OCwyNzE4ODQsMjIyOTMyLDI3OTExOSwzMTI1ODEsMjcxODg2LDIxMzkxNSwyNzUxOTksMzEwNzQ4LDIyNTIxNiwyNTEyNDQsMjU4MjUxLDIxODY3NCwyNTEyNjYsMjU4MjUwLDI1MTI2NSwzMDE2NjIsMjUxMjQ1LDI3MTg4NSwzMTU4MTgsMTU2OTk5LDM5NDUsMTY5ODksNDU1MjAsMjU0ODgsMjU0OTIsMjU0OTQsMjMyMTEzLDU1NzYwLDE0MDU3LDE4NDUxLDU3MjA0LDU3MjAzLDE3ODk3LDE4MTk4LDE3ODk4LDE3OTA5LDQzOTgwLDIyMTA1MywxOTU1MjksMTg5NjYwLDMwODA4OCwzMDY0NDgsMzA2NDQ3LDMwODA4NywzMDgwODYsNDYyMjAsMTE3MjEsMTQ3OTk0LDQ5OTU0LAo5NjM2OSwzODU0LDIxNzY0MCwxNTE2MzMsNTYyNTEsMjA1MTkyLDIxNjc5NywxNTkxMDgsMTgxNTY4LDIzNDc4OSwyNTYyNCwxNTIwMzYsMTY5MDYsOTk5OTksNjgxNzIsNDc5NzMsNzI3NzMsMjY5NzAsMjY5NzEsOTY4MDUsMTc3NTIsMjgyMTgxLDI3ODkyNiw3MzIzMywyMDU5MjMsMTA5NTEyLDIyMjU2LDE0MTE1LDIyNjk2LDIzNDQwOSwyMzQ0MDgsODkyNzgsODkyNzcsMTk1NzQ1LDEwOTUxMyw0MzI3OCw0MzQ1OSw0MzQ2NCw4OTI3OSw0MzcxNyw1NTc2NCwyMjI1NSwxNDc5MTIsODkyODEsNDA5NjMsNDMyNzcsNDM0NDIsOTE4MjQsMjgzODk4LDEyMDEzNywxODYzNTAsMTg2MzUxLDI1NjY5MCwyNjQzNDksMjY0MzUxLDI2NDM1MCwyNjQzNTIsMjExMDI2LDI1MDg5Niw5NjM2NywzNjg1MCw3MjY5NCwzNzQxNCwzNjg1MSwxMjQ4NjMsMTIxMzQzLDczNDkxLDU0NDczLDE2Njg2MSw0MzM3NSw0NjY3NCwzMDI2MzEsMzMxNDczLDI0MjUyOCwxNDM4MTUsMTM5MDk1LDE0NDQwMiwxNDk5NjgsCjE0OTk2OSwzMjQ3Myw3MjkwMSw3MjkwNiw1MDYxMiw1MDYxMyw1MDk0Miw4NDkzOCw4NDk0Myw4NDkzOSw4NDk0MSw4NDk0NCw4NDk0MCw4NDk0MiwzNTU4NSw1MTkyNiw3OTk4MywxODkyMSw1Nzg5Myw0MTE4MiwxMzU3MzIsMzM0MjQsMjIyMDcsMzYyMjksMjIyMDYsMjIyMDUsNDQ3NjMsMzM0MjcsNjc3OTMsMjIxODIsMzcwOTEsMzQ2NTAsNTA2MTcsMjIyODcsMjUxNDQsOTc5MTcsMjIwMTIyLDYyMzk3LDE1MDg3MSwxNTA4NzQsMTI1NTk4LDEzNzkzNSwzNjk2MSwxMDgwMzUsMzIzNDkzLDI3NDI2LDI3ODU3LDI3ODQ2LDI3ODU0LDY5NjkyLDYxNDExLDM5Mjk5LDM4Njk2LDYyNTIwLDM2MzgyLDEwODcwMSwxOTI2ODIsMjc5NTMxLDUwNjYzLDM2Mzg3LDE0OTA4LDM3NTMzLDEwNTQ0Myw2MTYzNSw2MjI3NCwxNjE2NzAsMTMzODE4LDE4MjExOSw2NTcwMiw2NTcwMyw2NTcwMSwzMjA0NjQsNzYyNTYsMjk4MTU3LDI2Mzg0MywzMTUyMzQsMTk2MDc1LDE5NDc2OCwyNTIyMDEsMTk0NzY5LAoxOTE4ODUsMjgxNDgwLDIzMzYzNCwyNjU4MTAsMTk0NzcwLDI5NjkzMywxOTUzNTAsMzI3Mzg1LDMyNDU4NiwzMDE2MDcsMTk1MzQ5LDE5NDc3MSwyOTMwNDEsMzAxMTIxLDI5MzA0MiwyOTMwNDMsMzAxMTE2LDE2NjM4MiwzNzY3MSw0OTk1MywyMjA2NjksNjAwMDAxLDYwMDAwMiw2RTUsMzM1MTM0LDI0OTIyOSwyMTM3NzQsMjA0NTcyLDE5MTM4OSwyNzIyNTQsMjcyMjUzLDI1MzgzMCwyNTM4MzEsMjUzODMyLDI3MjI1MiwyNTM4MzMsMjUzODM0LDIwNDU3NCwxOTEzOTAsMTc5NTU2LDIzODU5NiwyMTI2NjEsMTkxMzkyLDE5NzgyNiwxOTEzOTMsMjA0NTczLDM2MjE2LDI4MjM3LDI0MTIxMiwyNzIwNDksMTczNzE4LDM5NTUzLDE5MjU0NywyOTIyMiwzMDQ4NDUsMjYxMDcsMjQxMjExLDM4MDUwLDI2MTA4LDI3NTgxMCwxMjA3NDUsMjYxMDksMjYxMTAsNjY4ODEsMjgyMzYsMTQ1ODYsMjk3NjcyLDE2MDU5OCw1NzkyOSwyMjY3MzYsNzQ3MjMsNDQwOTgsMTczNjg5LDQ0MDk5LDIzNTI4LAo2MTY5OSwxMzQxMDQsMTM0MTAzLDE5ODMxMyw1OTE0OSwxODEwMTMsMjc4MzA2LDI4MjQ3MiwyNzc4NDgsMTczMTkxLDE3MzE5MiwxNzMxOTMsMTAxOTUxLDE3MTUwMiwxOTYwNDMsMTk4MzA1LDk3MzQ2LDExODA1MSw5NTEwMiw2NDg4MiwxMTk1MDUsNjM1OTUsMjk0MTE5LDI1NzI2OCw2MzM0OSwyODExMjcsMjQwNTUzLDk1MTAxLDc1MjQwLDI3MDM5LDY4ODIzLDIxNTM3LDgzNDY0LDc1NzA3LDI1MjkwNCwxNzAyMTUsMjIzMDMzLDgzMTEzLDEwMTk1MiwxMDE5NTMsNzk2MTAsMTI1NzU1LDI0NDAyLDI0NDAwLDMyOTI1LDE5MzQwNiw1NzE3MywxODMzNTEsMTU2NDIxLDEyMjUwMiwxNDUyNjgsMTM4NDgwLDY0NDIzLDY0NDI0LDMzOTg2LDEwMDgyOCwxMjkwODksMjk5NTQxLDIxNDA5LDI4MjIxOCwyOTk1MDYsMzMzOTU2LDI5OTU0MCwyOTk1MDcsMjk5NTA5LDI5OTUzOSwyOTk1MDgsMjk5NTEwLDE4NTYxMiwyMjI4MjUsMzIzMzMxLDI0NTM2NiwxMzUxNTUsMTM1MTU2LDEzNTE1NywKMTM1MTU4LDE1ODIyNSwxMzUxNTksMTM1MTYwLDE2NzY1MSwxMzUxNjEsMTM1MTYyLDEzNTE2MywxNTgyMjYsMTU4MjI3LDEzNTE2NCwxMzUxNjUsMTM1MTY2LDExMDcwLDExMDc0LDE3ODgwLDI3MDU2MCwzMDcwOSwzMDcwNywzMDcxMSwzMDcxMCwzMDcwOCwxODUyMTMsMTg1MjczLDE0NjE0Myw2MzY0OCw2MzY0OSwyMjEwNTYsMjY0NDkwLDIxMTE4OSwxMTEwNTksMjExMTg4LDU3NTQsMjY0NDkxLDIwNDQ1LDIzMzQ3MSwxNTEzMDgsMzEzNzUwLDE1MTE1MiwyMjgwNjcsMTMwOTc1LDEzMDk3NiwyNDcyNDQsMjcxNjIyLDI3MTgxMywyNjEyMTAsMjEwODE1LDI5NTA2OSwyNDYxMjcsMzE2ODU4LDI0NTI1NiwyNDQ5NTAsMTkxOTI1LDE2NzYzNywyMzQ1NDUsMTk3MTk2LDMwMjczNSwyMTQyOTUsMTEwMzg2LDIyMTA1NCwyNzM5NjAsMjgyMTExLDMxMjI5MCwxMTM3NDYsMzI1NTkzLDI2ODg4Niw2NjU1NywxODMyMTUsMTczMTAsMjg2MzEsMjAxOTM1LDIxNTg5LDI0MjAzNiwyMzgzNTEsCjE2NDgxNywxNjgwMTEsMTU0OTQ2LDY4MDEyLDE2MjYxNyw2MDQ4MCwxODQ0MzEsMTM4NjY0LDI5NDA4OSwyNDk4MjcsMTk0RTMsMTQxMTIxLDE2NDUwMiwzMTU3MSwxOTUwMDIsMjA2NzkzLDE0MTk3OCwyMzM5ODUsMjUwODk1LDI1NDA1MiwyNTQwNTMsMjU0MDU0LDI1NDA1MSwyNTQwNTAsMjU0MDU1LDE1MDEwNSwzMDQxNjksMTUwMTA2LDE1MDEwNywxNTAxMDgsNzY5ODAsNDE1NzcsNDU0NjksMzg2NjksMTM3NjgsMTM3NzcsMTQxODQyLDYyOTg1LDIxMzE5MCw0NzI0LDIyMzA1Miw1OTM2OSw0MzkyNyw0MzkyOCwxMjkyNCwxOTc4NTMsMTAwMzU1LDU2MjE5LDI3NjY5LDIwOTkyOCwxMDMzNywyMDM2NDgsMjAzNjQ5LDQ3ODk2LDMyNjkzNywxMjI2MjksMTg2MjA0LDIyMjgyNCwyNzU4NjksMzEyMjk1LDI3MTY3MywyNzQ2MzcsMzE3NDYyLDEzOTcyMywxMzk3MjIsMTIxMjU4LDI1Mzc4OSwyNTM3ODcsMjUzNzg2LDI1Mzc4OCwyNTM3OTAsMTA3NTk4LDEyNzk5MSw5NjYzOSwxMDc1MzYsCjEzMDE2OSwyMTY1MjIsMjk2MzE2LDk2NjYxLDE0NTE4OCwzMjA0MjgsMjEzOTA0LDI2OTM0Miw5NjY1OCwxMTY2NDYsMTU5NDI4LDE2ODYxMSwxNjg2MTIsMTIxMTIyLDIxOTg2Miw5NjY2MCwyODIyMDgsMTI3NzM4LDEyNzA4MywxNTUyODEsMTYyOTU5LDIyMDg4NiwyMjczNTYsMjQ4MDA3LDE2MzU2NiwzMDc2NDYsMTg2NjQxLDE0Nzg0MiwyNzM2NDYsMjczNjQ3LDIxNzkzMiwxMDQ0NDMsOTY2NTksMTQ3NTk1LDEwNjQ0MiwyNDcxNjIsMjMxNDkzLDIxMzQyNywyOTY4MTMsMjQ2NTc1LDE4MjQyMywxNjI3NzYsMjI4OTA4LDEzNDg0MCw2MzY2Nyw2MzY2OCw2MzY2OSwxMzA2ODYsMjQ4MzgxLDE0NzAzNiwyMzkwOTQsMjYyNzQzLDE4OTgxMCwyMzkwOTUsNzgzMTQsMTQ3Nzk5LDMwNTkxOSwzMDU5MjQsMjM3MTQ2LDE3NDA0OSwxNDg2NDksNTU3NjEsMTI3MDk4LDEzNDg0MSw5NjM2OCw2NzM3NCw0ODk5MiwxNDYxNzYsMTc2MTA1LDMyMzMyMSwzMjMzMjIsMjMzMDM1LDQ5OTU2LDI2NzY0NSwKMjc1NzgyLDE5MDE5MCwyMjU3MzksMzE5NjEsMjYzODgsMjM4MTEsNUU0LDEyNjI1MCw5NjM3MCwyMTA1NDksMzI5NDkwLDQ3MzU1LDQ3MzU2LDM3OTM1LDQ1NTIxLDMzMTUzNiwzMzE1MzQsMzMxNTM1LDMzMTUzMywyMTc2MCw4Mzc2OSw0OTk3Nyw0OTk3NCw5MzQ5Nyw5MzQ5OCwzNDMyNSwxNDA3NTksMTE1ODAzLDEyMzcwNywxMDAwODEsMzUzMDksMjM3NzA2LDY4MzE0LDI1NjAyLDEwMDMzOSwxNzA4NzMsMTQzNTE2LDI5OTI0NywxNzg5MjEsMjY4NTc0LDI1NDg4NCwyNTgyMzIsNTkwMTgsMTgyNDgsNTA2MjUsOTcyOSwzNzE2OCwzNzE2OSwyMTY2NywxNjc0OSwxODYzNSwzOTMwNSwxODA0NiwyMjEwNTcsMzAxODk3LDMwMTkwMCwyNjk5OTAsNTM5NjksODIxMyw5MzkyNiwyMjEwNTUsMjEwNTQyLDIxMjU1MiwxMDI4NTIsMTEwMDk5LDIyNjc4LDY5MDc2LDEzNzU3NSwxMzkyMjQsMTAwODU2LDIzNTc3MCwxNTQ0MzAsMjM1ODYxLDIwOTc1NywxNzczNiwzODMyLDE0NzExMSw1NTc1OSwKNjQwMzEsMjM0NzQ2LDkzMDQ0LDkzMDQ1LDI4MTMwMiwxNzA3MDEsMTcwNzAyLDE5NDc5NiwzNDM4OCwxNjc4NDEsMTcwNDE5LDE3NjU3LDE3NjU1LDM5NTc5LDM5NTc4LDE3MDQxMiw3NzQ0OCw4MTk2LDExMzU3LDY5ODc3LDgxOTcsMTY4NTAxLDE1NjUxMiwxNjE2MTMsMTU2NTA5LDIwODI3NCwxNjE2MTIsMTYxNjE0LDI2NzY5MiwyNjc4NTEsMjY3NTc3LDI3OTc1NSwyNjc2OTMsMjY3Njk0LDI2NzU3OCwyNjI4MDEsMzM0NDk2LDMzNTg0NCwyNzEyMTgsMjY2MTMxLDI2NjEzMiwyNjc5NzcsMjY3NTc5LDI2MjgwMCwyNjI3OTksMjYyODAyLDI2NzU4MCwyNjI3OTgsMjY3Njk1LDI2NzU4MSwyNzMyMzIsODIwMzldO3ZhciBtUVM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZihXLmlucHV0Lm1hdGNoKExCKE40aCkpKXt2YXIgRD1uPy5lbmRwb2ludDtXPWcudyhELFRlKT8udW5zZXJpYWxpemVkUHJlZmV0Y2hEYXRhO2lmKEQmJlcpe249dGhpcy5OO3ZhciBiPShuZXcgc29iKS5YKEQpLHY9Zy53KFcsRCRyKTtsZXQgaz12Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMmJk51bWJlcih2Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpPjA/TnVtYmVyKHY/LnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcyk6NjAwO3YmJmImJms+MCYmKHY9RWUodixrKSxuLnB1dChiLG5ldyBiaCh2KSkpO0Q9KG5ldyBLSFMpLlgoRCk7Vz1nLncoVyxhSncpO2I9Vz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzJiZOdW1iZXIoVz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzKT4wP051bWJlcihXPy5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpOgo2MDA7VyYmRCYmYj4wJiYoVz1FZShXLGIpLG4ucHV0KEQsbmV3IGJoKFcpKSl9fX19O21RU1tnLkxYXT1bQmVdO25mKCIiLCJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX01BTlVBTF9ET1dOTE9BRFMiLCJtYWluRG93bmxvYWRzTGlzdEVudGl0eSIpO25mKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsInJlZnJlc2giKTtuZigiU01BUlRfRE9XTkxPQURTX0VOQUJMRUQiLCJzZXR0aW5nRW50aXR5Iik7dmFyIHd5aD1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSxPNng9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy5PMT1udWxsO3RoaXMuRGE9dm9pZCAwfWluaXRpYWxpemUobixXLEQsYil7dGhpcy5EYT1iO2lmKG4ucHJvZ3JhbSl7dmFyIHY7Yj1uLmludGVycHJldGVyVXJsPz9udWxsO24uaW50ZXJwcmV0ZXJTYWZlU2NyaXB0P3Y9Tk4obi5pbnRlcnByZXRlclNhZmVTY3JpcHQpOnY9bi5pbnRlcnByZXRlclNjcmlwdD8/bnVsbDtuLmludGVycHJldGVyU2FmZVVybCYmKGI9cHcobi5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO0Y0Yih0aGlzLHYsYixuLnByb2dyYW0sVyxEKX1lbHNlIGcuR3EoRXJyb3IoIkJMOkNJUCIpKX1pc0luaXRpYWxpemVkKCl7cmV0dXJuIHRoaXMuSigpfWdldFN0YXRlKCl7cmV0dXJuIHRoaXMuc3RhdGV9aXNMb2FkaW5nKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT0KMn1pbnZva2Uobj17fSl7cmV0dXJuIHRoaXMuSigpP3RoaXMuVyh7d186bn0pOm51bGx9ZGlzcG9zZSgpe3RoaXMuTihudWxsKTt0aGlzLnZWKDgpfUooKXtyZXR1cm4hIXRoaXMuTzF9VyhuKXtyZXR1cm4gdGhpcy5PMS5tNShuKX1OKG4pe2cuQ3AodGhpcy5PMSk7dGhpcy5PMT1ufXZWKG4pe3RoaXMuc3RhdGU9bn19O3ZhciBQQU09Y2xhc3MgZXh0ZW5kcyBPNnh7TihuKXtKaigpPy5iZ3ZtYSgpO2lmKG4pe2xldCBXPXtiZ3ZtYTpuLmRpc3Bvc2UuYmluZChuKSxiZ3ZtYjpuLnNuYXBzaG90LmJpbmQobiksYmd2bWM6bi5tNS5iaW5kKG4pfTtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLFcpO2cueWooRD0+bi5zbmFwc2hvdChEKSl9ZWxzZSBnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLGcuR2IoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9Sigpe3JldHVybiEhSmooKX1XKG4pe3JldHVybiBKaigpLmJndm1jKG4pfX07dmFyIFpMPXtBRF9NQVJLRVI6Inl0cC1hZC1wcm9ncmVzcyIsQ0hBUFRFUl9NQVJLRVI6Inl0cC1jaGFwdGVyLW1hcmtlciIsVElNRV9NQVJLRVI6Inl0cC10aW1lLW1hcmtlciJ9O3ZhciBzMz12b2lkIDA7dmFyIEgkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPW5ldyBTZXQ7dGhpcy5KPW5ldyBTZXQ7dGhpcy5qPW5ldyBNYXA7dGhpcy5jbGllbnQ9dm9pZCAwO3RoaXMuY3NuPW51bGx9VyhuKXt0aGlzLmNsaWVudD1ufU4oKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Zy5SdigpfWNsZWFyKCl7dGhpcy5YLmNsZWFyKCk7dGhpcy5KLmNsZWFyKCk7dGhpcy5qLmNsZWFyKCk7dGhpcy5jc249bnVsbH19O3ZhciBVMz1jbGFzc3tXKG4pe1BWKGZpKCkuVykuYmluZChmaSgpKShuKX1jbGVhcigpe1BWKGZpKCkuY2xlYXIpLmJpbmQoZmkoKSkoKX19O3ZhciBKWD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1bXTt0aGlzLk89W107dGhpcy5LPW5ldyBNYXA7dGhpcy5UQz1uZXcgTWFwO3RoaXMuVj1bXTt0aGlzLmNKPVtdO3RoaXMuWD1uZXcgTWFwO3RoaXMuWT1uZXcgTWFwO3RoaXMuSj1uZXcgTWFwO3RoaXMuTj1uZXcgU2V0O3RoaXMuUyQ9bmV3IE1hcH1XKG4pe3RoaXMuY2xpZW50PW59YmQobixXPXt9KXtQVigoKT0+e3ZhciBEPWcudyhuPy5jb21tYW5kTWV0YWRhdGEscGopPy5yb290VmV8fGcudyhuPy5jb21tYW5kTWV0YWRhdGEsWnNyKT8uc2NyZWVuVmlzdWFsRWxlbWVudD8udWlUeXBlO2lmKEQpe3ZhciBiPWcudyhuPy5jb21tYW5kTWV0YWRhdGEsYk1yKTtpZihiPy5wYXJlbnRUcmFja2luZ1BhcmFtcyl7dmFyIHY9VFUoYi5wYXJlbnRUcmFja2luZ1BhcmFtcyk7aWYoYi5wYXJlbnRDc24pdmFyIGs9Yi5wYXJlbnRDc259ZWxzZSBXLmNsaWNrZWRWaXN1YWxFbGVtZW50P3Y9Vy5jbGlja2VkVmlzdWFsRWxlbWVudDpuLmNsaWNrVHJhY2tpbmdQYXJhbXMmJgoodj1UVShuLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTthOntiPWcudyhuLGcuSVEpO3ZhciBoPWcudyhuLHpPdyk7aWYoYil7aWYoaD10WChiLCJWSURFTyIpKXtiPXt0b2tlbjpoLHZpZGVvSWQ6Yi52aWRlb0lkfTticmVhayBhfX1lbHNlIGlmKGgmJihiPXRYKGgsIlBMQVlMSVNUIikpKXtiPXt0b2tlbjpiLHBsYXlsaXN0SWQ6aC5wbGF5bGlzdElkfTticmVhayBhfWI9dm9pZCAwfVc9e2N0dEF1dGhJbmZvOmIscGFyZW50Q3NuOmssLi4uV307Zy5sKCJleHBlY3RhdGlvbl9sb2dnaW5nIikmJihXLmxvZ2dpbmdFeHBlY3RhdGlvbnM9Zy53KG4/LmNvbW1hbmRNZXRhZGF0YSxac3IpPy5sb2dnaW5nRXhwZWN0YXRpb25zfHx2b2lkIDApO21VKHRoaXMsRCx2LFcpfWVsc2UgZy5HcShuZXcgZy5ReCgiRXJyb3I6IFRyeWluZyB0byBjcmVhdGUgYSBuZXcgc2NyZWVuIHdpdGhvdXQgYSByb290VmVUeXBlIixuKSl9KSgpfWNsaWNrQ29tbWFuZChuLFcsRD0wKXtyZXR1cm4gZ25aKHRoaXMsbi5jbGlja1RyYWNraW5nUGFyYW1zLApXLEQpfXN0YXRlQ2hhbmdlZChuLFcsRD0wKXt0aGlzLnZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQoVFUobiksVyxEKX12aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkKG4sVyxEPTApe0Q9PT0wJiZ0aGlzLk4uaGFzKEQpP3RoaXMuTy5wdXNoKFtuLApXXSk6UCQodGhpcyxuLFcsRCl9blQobil7dmFyIFc9bi5jcG4sRD1TMih0aGlzLDApO2lmKEQubGVuZ3RoJiZEW0QubGVuZ3RoLTJdPy5jcG4hPT1XJiYoRD1nLlJ2KCksVyYmRCYmRCE9PSJVTkRFRklORURfQ1NOIikpe3ZhciBiO24uaXRjdCYmKGI9VFUobi5pdGN0fHwiIikpO2xldCB2PXt9O2cubCgid2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfbG9nX2N0dCIpJiZuLmtXJiYodi5jdHRBdXRoSW5mbz17dG9rZW46bi5rVyx2aWRlb0lkOm4udmlkZW9JZH0pO249e2NwbjpXLGNzbjpEfTtnLmwoIndlYl9wbGF5YmFja19hc3NvY2lhdGVkX3ZlIikmJmImJihGaihELGIpLG4ucGxheWJhY2tWZT1iLmdldEFzSnNvbigpKTtnLnpVKCJwbGF5YmFja0Fzc29jaWF0ZWQiLG4sdik7Yj1TMih0aGlzLDApO2JbYi5sZW5ndGgtMV0uY3BuPVd9fX07dmFyIEUzPWNsYXNze2ZldGNoKG4sVyxEKXt2YXIgYj1YT2IobixXLEQpO3JldHVybiBuZXcgUHJvbWlzZSgodixrKT0+e3ZhciBoPSgpPT57aWYoRD8uTGQpdHJ5e2xldCB4PXRoaXMuaGFuZGxlUmVzcG9uc2UobixiLnN0YXR1cyxiLnJlc3BvbnNlLEQpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIHYodGhpcy5oYW5kbGVSZXNwb25zZShuLGIuc3RhdHVzLGIucmVzcG9uc2UsRCkpfTsKYi5vbmVycm9yPWg7Yi5vbmxvYWQ9aDtiLnNlbmQoVy5ib2R5Pz9udWxsKX0pfWhhbmRsZVJlc3BvbnNlKG4sVyxELGIpe0Q9KER8fCIiKS5yZXBsYWNlKCIpXX0nIiwiIik7CnRyeXt2YXIgdj1KU09OLnBhcnNlKEQpfWNhdGNoKGspe2cuR3EobmV3IGcuUXgoIkpTT04gcGFyc2luZyBmYWlsZWQgYWZ0ZXIgWEhSIGZldGNoIixuLFcsRCkpO2lmKGI/LkxkJiZEKXRocm93IG5ldyBvOCgiSlNPTiBwYXJzaW5nIGZhaWxlZCBhZnRlciBYSFIgZmV0Y2giKTt2PXt9fVchPT0yMDAmJihnLkdxKG5ldyBnLlF4KCJYSFIgQVBJIGZldGNoIGZhaWxlZCIsbixXLEQpKSx2PXsuLi52LGVycm9yTWV0YWRhdGE6e3N0YXR1czpXfX0pO3JldHVybiB2fX07dmFyIFo2aj1jbGFzc3tzdGF0aWMgZ2V0SW5zdGFuY2UoKXt2YXIgbj1nLnJyKCJ5dGdsb2JhbC5zdG9yYWdlXyIpO258fChuPW5ldyBaNmosZy5HYigieXRnbG9iYWwuc3RvcmFnZV8iLG4pKTtyZXR1cm4gbn1hc3luYyBlc3RpbWF0ZSgpe3ZhciBuPW5hdmlnYXRvcjtpZihuLnN0b3JhZ2U/LmVzdGltYXRlKXJldHVybiBuLnN0b3JhZ2UuZXN0aW1hdGUoKTtpZihuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YSlyZXR1cm4gcWZTKCl9fTtnLkdiKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixaNmopO3ZhciBqaVU9a08oInl0LXBsYXllci1sb2NhbC1tZWRpYSIse0tjOntpbmRleDp7dng6Mn0sbWVkaWE6e3Z4OjJ9LGNhcHRpb25zOnt2eDo1fX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDIpJiYoWnkobiwiaW5kZXgiKSxaeShuLCJtZWRpYSIpKTtXKDUpJiZaeShuLCJjYXB0aW9ucyIpO1coNikmJihVUihuLCJtZXRhZGF0YSIpLFVSKG4sInBsYXllcmRhdGEiKSl9LHZlcnNpb246NX0pO3ZhciBVeng9e2N1cGNha2U6MS41LGRvbnV0OjEuNixlY2xhaXI6Mixmcm95bzoyLjIsZ2luZ2VyYnJlYWQ6Mi4zLGhvbmV5Y29tYjozLCJpY2UgY3JlYW0gc2FuZHdpY2giOjQsamVsbHliZWFuOjQuMSxraXRrYXQ6NC40LGxvbGxpcG9wOjUuMSxtYXJzaG1hbGxvdzo2LG5vdWdhdDo3LjF9LHVEO2E6e3ZhciBvVj1nLlhRKCk7b1Y9b1YudG9Mb3dlckNhc2UoKTtpZihvVi5pbmRleE9mKCJhbmRyb2lkIikhPS0xKXt2YXIgeVpoPW9WLm1hdGNoKC9hbmRyb2lkXHMqKFxkKyhcLlxkKyk/KVteO3wpXSpbOyldLyk7aWYoeVpoKXtsZXQgbj1wYXJzZUZsb2F0KHlaaFsxXSk7aWYobjwxMDApe3VEPW47YnJlYWsgYX19dmFyIEVnYj1vVi5tYXRjaCgiKCIrT2JqZWN0LmtleXMoVXp4KS5qb2luKCJ8IikrIikiKTt1RD1FZ2I/VXp4W0VnYlswXV06MH1lbHNlIHVEPXZvaWQgMH12YXIgZG49dUQsTkY9ZG4+PTA7dmFyIHo4O3t2YXIgaTZoPWcuWFEoKTtsZXQgbj1pNmgubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsvKTtpZighbnx8bi5sZW5ndGg8Mil6OD12b2lkIDA7ZWxzZXt2YXIgbEQ9aTZoLm1hdGNoKC9cKChpUGFkfGlQaG9uZXxpUG9kKSggU2ltdWxhdG9yKT87IChVOyApP0NQVSAoaVBob25lICk/T1MgKFxkK19cZClbXyBdLyk7ejg9bEQmJmxELmxlbmd0aD09PTY/TnVtYmVyKGxEWzVdLnJlcGxhY2UoIl8iLCIuIikpOjB9fXZhciB2aj16OCx4ST12aj49MDt2YXIgb2Y7Zy51Wj1uZXcgUEFNO29mPTA7Zy5GTFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy52aWRlb0RhdGE9bjt0aGlzLk49e2MxYTooKT0+e3ZhciBXPVtdO2lmKGcudVouaXNJbml0aWFsaXplZCgpKXt2YXIgRD0iIjt0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEsmJihEPXRoaXMudmlkZW9EYXRhLnBLK2AmcjFiPSR7dGhpcy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZX1gKTtEPXthdHJfY2hhbGxlbmdlOkR9O2cuZ18oImJnX3YiLHZvaWQgMCwicGxheWVyX2F0dCIpOyhEPXI5UyhEKSk/KGcuZ18oImJnX3MiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaChgcjFhPSR7RH1gKSk6KGcuZ18oImJnX2UiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaCgicjFjPTIiKSl9ZWxzZSBnLmdfKCJiZ19lIix2b2lkIDAsInBsYXllcl9hdHQiKSx3aW5kb3cudHJheXJpZGV8fHdpbmRvdy5ib3RndWFyZD9XLnB1c2goInIxYz0xIik6Vy5wdXNoKCJyMWM9NCIpO1cucHVzaChgcjFkPSR7Zy51Wi5nZXRTdGF0ZSgpfWApOwpyZXR1cm4gVy5qb2luKCImIil9LApjNmE6Vz0+InI2YT0iKyhOdW1iZXIoVy5jKV5MYygpKSwKYzZiOlc9PmByNmI9JHtOdW1iZXIoVy5jKV5OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpfWB9Owp0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEs/dGhpcy5SUj1nLml3KHRoaXMudmlkZW9EYXRhLnBLKTp0aGlzLlJSPXt9fX07Zy5DaT1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30sRD0wKXt0aGlzLmVycm9yQ29kZT1uO3RoaXMuZGV0YWlscz1XO3RoaXMuc2V2ZXJpdHk9RH19O3ZhciB0SD17RUk6ZnVuY3Rpb24obixXKXt2YXIgRD1uWzBdO25bMF09bltXJW5bSVs1XV1dO25bVyVuW0lbNV1dXT1EfSwKT1c6ZnVuY3Rpb24obixXKXtuW0lbM11dKDAsVyl9LApHRzpmdW5jdGlvbihuKXtuW0lbMjVdXSgpfX07dmFyIHV2TT17UmQ6ImFkdW5pdCIsaFE6ImRldGFpbHBhZ2UiLGt3OiJlZGl0cGFnZSIsVE86ImVtYmVkZGVkIixEcDoibGVhbmJhY2siLEY3OiJwcmV2aWV3cGFnZSIsRE06InByb2ZpbGVwYWdlIixrUzoidW5wbHVnZ2VkIixNbjoicGxheWxpc3RvdmVydmlldyIsVUM6InNwb25zb3JzaGlwc29mZmVyIixCYToic2hvcnRzcGFnZSIsZEw6ImhhbmRsZXNjbGFpbWluZyIsaF86ImltbWVyc2l2ZWxpdmVwYWdlIix6TzoiY3JlYXRvcm11c2ljIixYSjoiaW1tZXJzaXZlbGl2ZXByZXZpZXdwYWdlIixZWDoiYWRtaW50b29seXVydCIsbk06InNob3J0c2F1ZGlvcGl2b3QiLHlfOiJjb25zdW1wdGlvbiIsZUw6ImJhY2tncm91bmRfYXVkaW9fcGxheWJhY2siLFVfOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RzX3BhZ2UiLEdPOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RfZGV0YWlsc19wYWdlIn07dmFyIG9nMj1bImgiLCJIIl0sZHppPVsiOSIsIigiXSx6cmg9WyI5aCIsIihoIl0sbEhoPVsiOCIsIioiXSxUdGk9WyJhIiwiQSJdLGpvaT1bIm8iLCJPIl0sQ0FiPVsibSIsIk0iXSxCdGk9WyJtYWMzIiwiTUFDMyJdLEZIdz1bIm1lYWMzIiwiTUVBQzMiXSxibz17aDpvZzIsSDpvZzIsWyI5Il06ZHppLFsiKCJdOmR6aSxbIjloIl06enJoLFsiKGgiXTp6cmgsWyI4Il06bEhoLFsiKiJdOmxIaCxhOlR0aSxBOlR0aSxvOmpvaSxPOmpvaSxtOkNBYixNOkNBYixtYWMzOkJ0aSxNQUMzOkJ0aSxtZWFjMzpGSHcsTUVBQzM6Rkh3fSx3Rlo9bmV3IFNldCgibyBPIGEgYWggQSBtIE0gbWFjMyBNQUMzIG1lYWMzIE1FQUMzIHNvIHNhIi5zcGxpdCgiICIpKSxwTGo9bmV3IFNldCgibSBNIG1hYzMgTUFDMyBtZWFjMyBNRUFDMyIuc3BsaXQoIiAiKSk7dmFyIEZCVT17ak06MCxObToxMjQsZDQ6MTQ0LEp6OjIyMCx5VjoyNDAsYjY6MzQwLFdhOjM2MCx6NTo0ODAsaHo6NTg4LG1wOjYwOCxYczo3MjAscW06NzQwLHc0OjEwODAsQzQ6MTEwMCxvNjoxNDQwLFBhOjIxNjAsaTY6OTk5OSwwOiJRVUFMSVRZX09SRElOQUxfVU5LTk9XTiIsMTI0OiJRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUiIsMTQ0OiJRVUFMSVRZX09SRElOQUxfMTQ0UCIsMjIwOiJRVUFMSVRZX09SRElOQUxfMjQwUF9TQVZFUiIsMjQwOiJRVUFMSVRZX09SRElOQUxfMjQwUCIsMzQwOiJRVUFMSVRZX09SRElOQUxfMzYwUF9TQVZFUiIsMzYwOiJRVUFMSVRZX09SRElOQUxfMzYwUCIsNDgwOiJRVUFMSVRZX09SRElOQUxfNDgwUCIsNTg4OiJRVUFMSVRZX09SRElOQUxfNjA4UF9TQVZFUiIsNjA4OiJRVUFMSVRZX09SRElOQUxfNjA4UCIsNzIwOiJRVUFMSVRZX09SRElOQUxfNzIwUCIsNzQwOiJRVUFMSVRZX09SRElOQUxfNzIwUF9FTkhBTkNFRCIsMTA4MDoiUVVBTElUWV9PUkRJTkFMXzEwODBQIiwKMTEwMDoiUVVBTElUWV9PUkRJTkFMXzEwODBQX0VOSEFOQ0VEIiwxNDQwOiJRVUFMSVRZX09SRElOQUxfMTQ0MFAiLDIxNjA6IlFVQUxJVFlfT1JESU5BTF8yMTYwUCIsOTk5OToiUVVBTElUWV9PUkRJTkFMX0hJR0hSRVMifTt2YXIgTkc9e2F1dG86MCx0aW55OjE0NCxsaWdodDoxNDQsc21hbGw6MjQwLG1lZGl1bTozNjAsbGFyZ2U6NDgwLGhkNzIwOjcyMCxoZDEwODA6MTA4MCxoZDE0NDA6MTQ0MCxoZDIxNjA6MjE2MCxoZDI4ODA6Mjg4MCxoaWdocmVzOjQzMjB9LExnPXswOiJhdXRvIiwxNDQ6InRpbnkiLDI0MDoic21hbGwiLDM2MDoibWVkaXVtIiw0ODA6ImxhcmdlIiw3MjA6ImhkNzIwIiwxMDgwOiJoZDEwODAiLDE0NDA6ImhkMTQ0MCIsMjE2MDoiaGQyMTYwIiwyODgwOiJoZDI4ODAiLDQzMjA6ImhpZ2hyZXMifSxOej17UVVBTElUWV9PUkRJTkFMX1VOS05PV046MCxRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUjoxMjQsUVVBTElUWV9PUkRJTkFMXzE0NFA6MTQ0LFFVQUxJVFlfT1JESU5BTF8yNDBQX1NBVkVSOjIyMCxRVUFMSVRZX09SRElOQUxfMjQwUDoyNDAsUVVBTElUWV9PUkRJTkFMXzM2MFBfU0FWRVI6MzQwLFFVQUxJVFlfT1JESU5BTF8zNjBQOjM2MCxRVUFMSVRZX09SRElOQUxfNDgwUDo0ODAsClFVQUxJVFlfT1JESU5BTF82MDhQX1NBVkVSOjU4OCxRVUFMSVRZX09SRElOQUxfNjA4UDo2MDgsUVVBTElUWV9PUkRJTkFMXzcyMFA6NzIwLFFVQUxJVFlfT1JESU5BTF83MjBQX0VOSEFOQ0VEOjc0MCxRVUFMSVRZX09SRElOQUxfMTA4MFA6MTA4MCxRVUFMSVRZX09SRElOQUxfMTA4MFBfRU5IQU5DRUQ6MTEwMCxRVUFMSVRZX09SRElOQUxfMTQ0MFA6MTQ0MCxRVUFMSVRZX09SRElOQUxfMjE2MFA6MjE2MCxRVUFMSVRZX09SRElOQUxfSElHSFJFUzo5OTk5fTt2YXIgJGQ9MjU5MkUzO2cuT249e1NUT1BfRVZFTlRfUFJPUEFHQVRJT046Imh0bWw1LXN0b3AtcHJvcGFnYXRpb24iLElWX0RSQVdFUl9FTkFCTEVEOiJ5dHAtaXYtZHJhd2VyLWVuYWJsZWQiLElWX0RSQVdFUl9PUEVOOiJ5dHAtaXYtZHJhd2VyLW9wZW4iLE1BSU5fVklERU86Imh0bWw1LW1haW4tdmlkZW8iLFZJREVPX0NPTlRBSU5FUjoiaHRtbDUtdmlkZW8tY29udGFpbmVyIixWSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORzoiaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmciLEhPVVNFX0JSQU5EOiJob3VzZS1icmFuZCJ9O3ZhciBQbj17YWxsb3dlZDoiQVVUT1BMQVlfQlJPV1NFUl9QT0xJQ1lfQUxMT1dFRCIsImFsbG93ZWQtbXV0ZWQiOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9BTExPV0VEX01VVEVEIixkaXNhbGxvd2VkOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9ESVNBTExPV0VEIn07dmFyIGNLTT17QU5EUk9JRDozLEFORFJPSURfS0lEUzoxOCxBTkRST0lEX01VU0lDOjIxLEFORFJPSURfVU5QTFVHR0VEOjI5LFdFQjoxLFdFQl9SRU1JWDo2NyxXRUJfVU5QTFVHR0VEOjQxLElPUzo1LElPU19LSURTOjE5LElPU19NVVNJQzoyNixJT1NfVU5QTFVHR0VEOjMzfSx1Sj17YW5kcm9pZDoiQU5EUk9JRCIsImFuZHJvaWQuayI6IkFORFJPSURfS0lEUyIsImFuZHJvaWQubSI6IkFORFJPSURfTVVTSUMiLCJhbmRyb2lkLnVwIjoiQU5EUk9JRF9VTlBMVUdHRUQiLHlvdXR1YmU6IldFQiIsInlvdXR1YmUubSI6IldFQl9SRU1JWCIsInlvdXR1YmUudXAiOiJXRUJfVU5QTFVHR0VEIix5dGlvczoiSU9TIiwieXRpb3MuayI6IklPU19LSURTIiwieXRpb3MubSI6IklPU19NVVNJQyIsInl0aW9zLnVwIjoiSU9TX1VOUExVR0dFRCJ9LE00Uz17Im1keC1wYWlyIjoxLCJtZHgtZGlhbCI6MiwibWR4LWNhc3QiOjMsIm1keC12b2ljZSI6NCwibWR4LWluYXBwZGlhbCI6NX07dmFyIExHMT17aV86MSxZdzoyLFBBVVNFRDozLDE6IkRJU0FCTEVEIiwyOiJFTkFCTEVEIiwzOiJQQVVTRUQifTt2YXIgZXh4PVJlZ0V4cCgiXmh0dHBzPzovLyhbXi5dKlxcLm1vYXRhZHNcXC5jb20vfGVbMC05XStcXC55dFxcLnNyc1xcLmRvdWJsZXZlcmlmeVxcLmNvbXxwYWdlYWQyXFwuZ29vZ2xlc3luZGljYXRpb25cXC5jb20vcGFnZWFkL2dlbl8yMDRcXD9pZD15dDNwJnNyPTEmfHBtXFwuYWRzYWZlcHJvdGVjdGVkXFwuY29tL3lvdXR1YmV8cG1cXC50ZXN0LWFkc2FmZXByb3RlY3RlZFxcLmNvbS95b3V0dWJlfHlvdXR1YmVbMC05XStcXC5tb2F0cGl4ZWxcXC5jb20vKSIpLGxKPVJlZ0V4cCgiXmh0dHBzOi8vKFthLXpdK1xcLik/WzAtOWEtZl17MSw2M31cXC5zc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20vfF5odHRwczovLyhbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbS98Xmh0dHBzPzovLygoWy1cXHddKnd3d1stXFx3XSpcXC58Wy1cXHddKndlYlstXFx3XSpcXC58Wy1cXHddKmNhbmFyeVstXFx3XSpcXC58Wy1cXHddKmRldlstXFx3XSpcXC58Wy1cXHddezEsM31cXC4pKyhjb3JwXFwuKT95b3V0dWJlKC1ub2Nvb2tpZXxraWRzfGVkdWNhdGlvbik/XFwuY29tL3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooeW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuKFthLXpdezN9fGkpXFwuY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPy98KGRvY3N8ZHJpdmUpXFwuZ29vZ2xlXFwuY29tLyhhL1teL1xcXFwlXSsvfCl8KG11c2ljfG11c2ljLWdyZWVuLXFhfG11c2ljLXJlbGVhc2UtcWF8eXQtbXVzaWMtZ3JlZW5cXC5jb3JwKVxcLnlvdXR1YmVcXC5jb20vfCh0dnx0di1ncmVlbi1xYXx0di1ncmVlbi1xYVxcLmNvcnB8dHYtcmVsZWFzZS1xYXx0di1yZWxlYXNlLXFhXFwuY29ycHx0di1pbnRlZ3JhdGlvbi1xYXx0di1pbnRlZ3JhdGlvbi1xYVxcLmNvcnB8eXQtdHYtYXV0b3B1c2hcXC5jb3JwfHl0LXR2LWludGVncmF0aW9uXFwuY29ycHx5dC10di1zdGFnaW5nXFwuY29ycClcXC55b3V0dWJlXFwuY29tL3xbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vKSIpLApndGo9UmVnRXhwKCJeaHR0cHM/Oi8vKHd3d1xcLmdvb2dsZVxcLmNvbS9wYWdlYWQveHN1bHx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9zbGF2KSIpLHg1cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bWFpbFxcLmdvb2dsZVxcLmNvbXx5b3V0dWJlXFwuY29tfHlvdXR1YmVlZHVjYXRpb25cXC5jb218eW91dHViZVxcLW5vY29va2llXFwuY29tfHlvdXR1YmVraWRzXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpKSIpLApMaHQ9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLGs3cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbSlbLl0/KDpbMC05XSspPy98KFtBLVphLXowLTktXXsxLDYzfVxcLikqKHNhbmRib3hcXC5nb29nbGVcXC5jb20pKDpbMC05XSspPygvKD8hdXJsXFxiKXwkKSkiKSwKRDVVPVJlZ0V4cCgiXigoaHR0cChzKT8pOik/XFwvXFwvKCgoKGxoWzMtNl0oLXR0fC1kW2EtZyx6XSk/XFwuKChnZ3BodCl8KGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKXwoc2FuZGJveFxcLmdvb2dsZSkpKXwobGg3XFwtKGV1fHVzfHF3fHJ0fHh4KVxcLigoZ29vZ2xldXNlcmNvbnRlbnQpfChnb29nbGUpKSl8KChwaG90b3N8dGVzdG9ubHl8d29yaylcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfChbXFx3XFwtXStcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfCgoWzEtNF1cXC5icFxcLmJsb2dzcG90KXwoYnBbMC0zXVxcLmJsb2dnZXIpKXwoY2NwLWxoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfCgoKChjcHxjaXxncClbMy02XSl8KGFwWzEtMl0pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpfChnbVsxLTRdXFwuZ2dwaHQpfChwbGF5LSh0aS0pP2xoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChnelswLTFdXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChsaDNcXC1nbVxcLmdvb2dsZSl8KCgoeXRbMy00XSl8KHNwWzEtM10pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpKVxcLmNvbSl8KGRyaXZlXFwuZ29vZ2xlXFwuY29tXFwvZHJpdmVcXC0odXNlcmNvbnRlbnR8dmlld2VyKSl8KGRwWzMtNl1cXC5nb29nbGV1c2VyY29udGVudFxcLmNuKXwoZHA0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20pfCgocGhvdG9zfGRyaXZlfGNvbnRyaWJ1dGlvbilcXC1pbWFnZVxcLShkZXZ8cWEpKC11c3wtZXUpPygtYXV0aHwtY29va2llKT9cXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwocGhvdG9zXFwtaW1hZ2VcXC1kZXZcXC1kbFxcLShhdXRofGV1fHVzKVxcLmNvcnBcXC5nb29nbGVcXC5jb20pfCgoZGV2fGRldjJ8ZGV2M3xxYXxxYTJ8cWEzfHFhLXJlZHxxYS1ibHVlfGNhbmFyeSlbLS5dbGlnaHRob3VzZVxcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC9pbWFnZSl8KGltYWdlXFwtKGRldnxxYSlcXC1saWdodGhvdXNlKC1hdXRoKT9cXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tKFxcL2ltYWdlKT8pfChkcml2ZVxcLXFhXFwuY29ycFxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkb2NzKFxcLShkZXZ8cWEpXFwuY29ycCk/XFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pPyhkb2NzfHNoZWV0c3xzbGlkZXN8ZHJhd2luZ3N8Zm9ybXN8dmlkZW9zfHBpY3R1cmVzKVxcLWltYWdlc1xcLShydHxxdykpfChkb2NzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXMpfChzaXRlc1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXNcXC0ocnR8cXcpKXwoYXRhcmktZ3JlZW4tdGVzdFxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KHNpdGVzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXMpKVxcL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzPzovLygoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY29ycFxcLmdvb2dsZVxcLmNvbXxwcm94eVxcLmdvb2dsZXByb2RcXC5jb218Y1xcLmdvb2dsZXJzXFwuY29tfHByb3h5XFwuZ29vZ2xlcnNcXC5jb218Ym9yZ1xcLmdvb2dsZVxcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfGdvb2dsZXBsZXhcXC5jb218cGxheVxcLmdvb2dsZVxcLmNvbXxwcm9kXFwuZ29vZ2xlXFwuY29tfHZpZGVvXFwuZ29vZ2xlXFwuY29tfHlvdXR1YmVcXC5jb218eXRpbWdcXC5jb218eXRpbWdcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tfGNoYXRcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbQS1aYS16MC05LV17MSw2M31cXC4pKihzYW5kYm94XFwuZ29vZ2xlXFwuY29tKSg6WzAtOV0rKT8oLyg/IXVybFxcYil8JCl8czJcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbS9zMi9mYXZpY29uc1xcP3x5dFszLTRdXFwuZ2dwaHRcXC5jb20vKSIpLApiS1o9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFhLMj1SZWdFeHAoIl5odHRwcz8uKiNvY3IkfF5odHRwcz86Ly8oYWtzZWN1cmVcXC5pbXJ3b3JsZHdpZGVcXC5jb20vfGNkblxcLmltcndvcmxkd2lkZVxcLmNvbS98c2VjdXJlXFwtLi5cXC5pbXJ3b3JsZHdpZGVcXC5jb20vKSIpLHZFaD1SZWdFeHAoIl5odHRwcz86Ly8oZ29vZ2xlYWRzXFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0LyhhY2xrfHBhZ2VhZC9jb252ZXJzaW9uKXx3d3dcXC5nb29nbGVcXC5jb20vKGFjbGt8cGFnZWFkL2NvbnZlcnNpb24pfHd3d1xcLmdvb2dsZWFkc2VydmljZXNcXC5jb20vKGFjbGt8cGFnZWFkLyhhY2xrfGNvbnZlcnNpb24pKXx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9jb252ZXJzaW9uKSIpLG5Fdz1SZWdFeHAoIl4oKGh0dHAocyk/KTopP1xcL1xcLygoKChsaFszLTZdKC10dHwtZFthLWcsel0pP1xcLigoZ2dwaHQpfChnb29nbGV1c2VyY29udGVudCl8KGdvb2dsZSl8KHNhbmRib3hcXC5nb29nbGUpKSl8KGxoN1xcLShldXx1c3xxd3xydHx4eClcXC4oKGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKSkpfCgocGhvdG9zfHRlc3Rvbmx5fHdvcmspXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoW1xcd1xcLV0rXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoKFsxLTRdXFwuYnBcXC5ibG9nc3BvdCl8KGJwWzAtM11cXC5ibG9nZ2VyKSl8KGNjcC1saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoKCgoY3B8Y2l8Z3ApWzMtNl0pfChhcFsxLTJdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKXwoZ21bMS00XVxcLmdncGh0KXwocGxheS0odGktKT9saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoZ3pbMC0xXVxcLmdvb2dsZXVzZXJjb250ZW50KXwobGgzXFwtZ21cXC5nb29nbGUpfCgoKHl0WzMtNF0pfChzcFsxLTNdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKSlcXC5jb20pfChkcml2ZVxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkcFszLTZdXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jbil8KGRwNFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKXwoKHBob3Rvc3xkcml2ZXxjb250cmlidXRpb24pXFwtaW1hZ2VcXC0oZGV2fHFhKSgtdXN8LWV1KT8oLWF1dGh8LWNvb2tpZSk/XFwuY29ycFxcLmdvb2dsZVxcLmNvbSl8KHBob3Rvc1xcLWltYWdlXFwtZGV2XFwtZGxcXC0oYXV0aHxldXx1cylcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwoKGRldnxkZXYyfGRldjN8cWF8cWEyfHFhM3xxYS1yZWR8cWEtYmx1ZXxjYW5hcnkpWy0uXWxpZ2h0aG91c2VcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tXFwvaW1hZ2UpfChpbWFnZVxcLShkZXZ8cWEpXFwtbGlnaHRob3VzZSgtYXV0aCk/XFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbShcXC9pbWFnZSk/KXwoZHJpdmVcXC1xYVxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC9kcml2ZVxcLSh1c2VyY29udGVudHx2aWV3ZXIpKXwoZG9jcyhcXC0oZGV2fHFhKVxcLmNvcnApP1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXNcXC0ocnR8cXcpKXwoZG9jc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/KGRvY3N8c2hlZXRzfHNsaWRlc3xkcmF3aW5nc3xmb3Jtc3x2aWRlb3N8cGljdHVyZXMpXFwtaW1hZ2VzKXwoc2l0ZXNcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KGF0YXJpLWdyZWVuLXRlc3RcXC5jb3JwXFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pP3NpdGVzKHYpP1xcLWltYWdlc1xcLShydHxxdykpfChzaXRlc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzKSlcXC98Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC8oPyF1cmxcXGIpfCQpfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK3NzbHByb3h5XFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVwbGV4XFwuY29tfGdvb2dsZXZpZGVvXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bGgzXFwucGhvdG9zXFwuZ29vZ2xlXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5dFxcLmFrYW1haXplZFxcLm5ldHxjaGF0XFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfChbQS1aYS16MC05LV17MSw2M31cXC4pKmNcXC5saDMoLWRbYS1neXpdfC10ZXN0b25seSk/XFwuKGdvb2dsZXVzZXJjb250ZW50fHBob3Rvc1xcLmdvb2dsZSlcXC5jb20vLiokKSIpLApXaFo9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFJyaT1SZWdFeHAoIl5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGltYXNka1xcLmdvb2dsZWFwaXNcXC5jb218Mm1kblxcLm5ldHxnb29nbGVzeW5kaWNhdGlvblxcLmNvbXxjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfGdvb2dsZWFkc1xcLmdcXC5kb3VibGVjbGlja1xcLm5ldHxwcm9kXFwuZ29vZ2xlXFwuY29tfHN0YXRpY1xcLmRvdWJsZWNsaWNrXFwubmV0fHN0YXRpY1xcLmdvb2dsZWFkc3NlcnZpbmdcXC5jbnxzdHVkaW9hcGlcXC5kb3VibGVjbGlja1xcLm5ldHx5b3V0dWJlXFwuY29tfHlvdXR1YmVcXC5nb29nbGVhcGlzXFwuY29tfHlvdXR1YmVcXC1ub2Nvb2tpZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbXx5dGltZ1xcLmNvbXx5dGltZ1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfGxpZ2h0Ym94LShkZW1vc3xidWlsZGVyKVxcLmFwcHNwb3RcXC5jb20vfHNbMDFdKHFhKT9cXC4ybWRuXFwubmV0L2Fkcy9yaWNobWVkaWEvc3R1ZGlvL211L3RlbXBsYXRlcy90ZXRyaXN8d3d3XFwuZ3N0YXRpY1xcLmNvbS9kb3VibGVjbGljay9zdHVkaW8vaW5ub3ZhdGlvbi9oNS9sYXlvdXRzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL3l0cGxheWVyKSIpLApRb009UmVnRXhwKCJeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY3Jvd2Rzb3VyY2V8ZGF0YWNvbXB1dGUpXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzOi8vKGFkc3xhZHdvcmRzXFwuY29ycClcXC5nb29nbGVcXC5jb20vKGF3Lyhhc3NldGdyb3VwLyhlZGl0fG5ldyl8Y2FtcGFpZ25zLyhuZXcvKHBlcmZvcm1hbmNlbWF4fGRlbWFuZGdlbil8ZWRpdC9kZW1hbmRnZW4pKXwkKXxeaHR0cHM6Ly8oYWR3b3Jkcy0pP2NhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vKGJvb2tzfHBsYXktYm9va3MtKGF1dG9wdXNofGludGVybmFsfHByZXByb2R8c3RhZ2luZykoLXNhbmRib3h8XFwuY29ycCkpXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oL3wkKXxeaHR0cHM6Ly9hZHMoLWV4dGVybmFsKT8tcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vY2FudmFzdGVzdGVyLTNmZDBiXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL2xvY2FsaG9zdFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKDpcXGQrKT8oL3wkKXxeaHR0cHM6Ly9uYXJyYXRpdmUtbmV3cy1jYXN0LXJlY2VpdmVyLWRcXC5hcHBzcG90XFwuY29tKC98JCl8Xmh0dHBzOi8vbmFycmF0aXZlLW5ld3MtY2FzdC1yZWNlaXZlci1mXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL29uZVxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwczovL3d3d1xcLmdvb2dsZVxcLmNvbS9jdWx0dXJhbGluc3RpdHV0ZS9tYW5hZ2UvLiokfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vYW9nX2hvd3RvfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vbmFycmF0aXZlX2Nhc3RfcmVjZWl2ZXIvbmV3c3xeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihpbWFzZGtcXC5nb29nbGVhcGlzXFwuY29tfGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVhZHNcXC5nXFwuZG91YmxlY2xpY2tcXC5uZXR8Z29vZ2xlcGxleFxcLmNvbXxwbGF5XFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218cGhvdG9zXFwuZ29vZ2xlXFwuY29tfGdldFxcLmdvb2dsZVxcLmNvbXxibG9nZ2VyXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218c3VydmV5XFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0fHlvdXR1YmVcXC5jb218eW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb218eW91dHViZWVkdWNhdGlvblxcLmNvbXx5b3V0dWJlXFwtbm9jb29raWVcXC5jb218eXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218eW91dHViZWtpZHNcXC5jb218dmV2b1xcLmNvbXxjaGF0XFwuZ29vZ2xlXFwuY29tfG1lZXRcXC5nb29nbGVcXC5jb218YXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8oL3wkKXwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfCh3d3dcXC58ZW5jcnlwdGVkXFwuKT9nb29nbGVcXC4oY2F0fGNvbShcXC4oYVtmZ2lydV18YltkaG5vcnpdfGNbb3V5XXxkb3xlW2NndF18Zmp8Z1toaXRdfGhrfGptfGtofGt3fGxbYmN5XXxtW210eHldfG5bYWZnaXBdfG9tfHBbYWVnaGtyeV18cWF8c1thYmdsdl18dFtqbnJ3XXx1YXx1eXx2Y3x2bikpP3xhW2NkZWxtc3R6XXxjW2FjZGZnaGlsbW52el18YlthZWZnaWpzdHldfGVlfGVzfGRbZWprbXpdfGdbYWVmZ2xtcHJ5XXxmW2ltcl18aVtlbW9xcnN0XXxoW25ydHVdfGtbZ2l6XXxqZXxqb3xtW2RlZ2tsbnN1dnddfGxbYWlrdHV2XXxuW2Vsb3J1XXxwW2xuc3RdfHNbY2VoaWttbm9ydF18cltvc3V3XXx1c3x0W2Rna2xtbm90XXx3c3x2Z3x2dXxjb1xcLihhb3xid3xja3xjcnxpW2Rsbl18anB8a2V8a3J8bHN8bWF8bXp8bnp8dGh8dHp8dVtna3pdfHZlfHZpfHpbYW13XSkpLyhzZWFyY2h8d2ViaHApXFw/fCh3d3dcXC58ZW5jcnlwdGVkXFwuKWdvb2dsZVxcLihjYXR8Y29tKFxcLihhW2ZnaXJ1XXxiW2Robm9yel18Y1tvdXldfGRvfGVbY2d0XXxmanxnW2hpdF18aGt8am18a2h8a3d8bFtiY3ldfG1bbXR4eV18blthZmdpcF18b218cFthZWdoa3J5XXxxYXxzW2FiZ2x2XXx0W2pucnddfHVhfHV5fHZjfHZuKSk/fGFbY2RlbG1zdHpdfGNbYWNkZmdoaWxtbnZ6XXxiW2FlZmdpanN0eV18ZWV8ZXN8ZFtlamttel18Z1thZWZnbG1wcnldfGZbaW1yXXxpW2Vtb3Fyc3RdfGhbbnJ0dV18a1tnaXpdfGplfGpvfG1bZGVna2xuc3V2d118bFthaWt0dXZdfG5bZWxvcnVdfHBbbG5zdF18c1tjZWhpa21ub3J0XXxyW29zdXddfHVzfHRbZGdrbG1ub3RdfHdzfHZnfHZ1fGNvXFwuKGFvfGJ3fGNrfGNyfGlbZGxuXXxqcHxrZXxrcnxsc3xtYXxtenxuenx0aHx0enx1W2drel18dmV8dml8elthbXddKSkvPyR8bGlnaHRib3gtKGRlbW9zfGJ1aWxkZXIpXFwuYXBwc3BvdFxcLmNvbS98czBcXC4ybWRuXFwubmV0L2luc3RyZWFtL2h0bWw1L25hdGl2ZS98c1swMV0ocWEpP1xcLjJtZG5cXC5uZXQvYWRzL3JpY2htZWRpYS9zdHVkaW8vbXUvdGVtcGxhdGVzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL2g1L2xheW91dHMvdGV0cmlzKSIpLApWNGk9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/KC98JCkiKSxjWlM9UmVnRXhwKCJeKGh0dHBzOi8vcGxheVxcLmdvb2dsZVxcLmNvbXxodHRwczovL3Bob3Rvc1xcLmdvb2dsZVxcLmNvbXxodHRwczovL2dldFxcLmdvb2dsZVxcLmNvbXxodHRwczovL21haWxcXC5nb29nbGVcXC5jb218aHR0cHM6Ly95dFxcLXdlYlxcLWVtYmVkZGVkXFwtcGxheWVyXFwuYXBwc3BvdFxcLmNvbXxodHRwOi8veXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218aHR0cHM6Ly9jaGF0XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vb25lXFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHN0cmFuc3BhcmVuY3lcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHNcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHdvcmRzXFwuY29ycFxcLmdvb2dsZVxcLmNvbXxodHRwczovL2Fkc1xcLWV4dGVybmFsXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWRzXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWR3b3Jkc1xcLWNhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vY2FuYXJ5XFwucWFcXC5hZHpcXC5nb29nbGVcXC5jb20pJHxeaHR0cDovL1swLTldK1xcLlthLXowLTlcXC1fXStcXC5bYS16MC05XFwtX10rXFwuW2EtejAtOVxcLV9dK1xcLihbYS16XXsyfXxpKVxcLmJvcmdcXC5nb29nbGVcXC5jb20oOlswLTldKyk/JHxeaHR0cHM6Ly8oKGF1dG9wdXNofGJldGEtbG9va3VwfGRhaWx5LVswLTZdfG1hbnVhbC1xdWFsfHByZXByb2R8c3RyZWFtKVxcLik/bWVldFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNyb3dkc291cmNlfGRhdGFjb21wdXRlKVxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKHlvdXR1YmV8eW91dHViZWtpZHN8eW91dHViZWVkdWNhdGlvbilcXC5jb20kfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc2FuZGJveFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tJHxeaHR0cHM6Ly8oYm9va3N8cGxheS1ib29rcy0oYXV0b3B1c2h8aW50ZXJuYWx8cHJlcHJvZHxzdGFnaW5nKSgtc2FuZGJveHxcXC5jb3JwKSlcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbSR8Xmh0dHBzOi8vKGRyYWZ0fHd3d3wod3d3XFwuKT9kZXZcXC5zYW5kYm94fCh3d3dcXC4pP2F1dG9wdXNoXFwuc2FuZGJveHwod3d3XFwuKT9zdGFnaW5nXFwuc2FuZGJveHwod3d3XFwuKT9yZXN0b3JlXFwuc2FuZGJveClcXC5ibG9nZ2VyXFwuY29tJHxeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbSR8Xmh0dHBzOi8vbG9jYWxob3N0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oOlxcZCspPyR8Xmh0dHBzPzovLygoKGRvY3N8bXxzaW5nfHNzfHNzc3x3d3cpXFwuKT9kcml2ZVxcLmdvb2dsZVxcLmNvbSR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfChbQS1aYS16MC05LV17MSw2M31cXC4pKmdvb2dsZXBsZXhcXC5jb20oOlswLTldKyk/JHwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSpwcm94eVxcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KHd3d1xcLnxlbmNyeXB0ZWRcXC4pZ29vZ2xlXFwuKGNhdHxjb20oXFwuKGFbZmdpcnVdfGJbZGhub3J6XXxjW291eV18ZG98ZVtjZ3RdfGZqfGdbaGl0XXxoa3xqbXxraHxrd3xsW2JjeV18bVttdHh5XXxuW2FmZ2lwXXxvbXxwW2FlZ2hrcnldfHFhfHNbYWJnbHZdfHRbam5yd118dWF8dXl8dmN8dm4pKT98YVtjZGVsbXN0el18Y1thY2RmZ2hpbG1udnpdfGJbYWVmZ2lqc3R5XXxlZXxlc3xkW2Vqa216XXxnW2FlZmdsbXByeV18ZltpbXJdfGlbZW1vcXJzdF18aFtucnR1XXxrW2dpel18amV8am98bVtkZWdrbG5zdXZ3XXxsW2Fpa3R1dl18bltlbG9ydV18cFtsbnN0XXxzW2NlaGlrbW5vcnRdfHJbb3N1d118dXN8dFtkZ2tsbW5vdF18d3N8dmd8dnV8Y29cXC4oYW98Ynd8Y2t8Y3J8aVtkbG5dfGpwfGtlfGtyfGxzfG1hfG16fG56fHRofHR6fHVbZ2t6XXx2ZXx2aXx6W2Ftd10pKS8/JHxbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfGRvY3NcXC5nb29nbGVcXC5jb20kKSIpLAphSFU9UmVnRXhwKCJeKGh0dHBzOi8vY3VycmVudHNcXC5nb29nbGVcXC5jb20pJCIpO3ZhciBkUD0hMTtnLndaPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0hMSl7dGhpc1tJWzE3XV09bjt0aGlzW0lbOV1dPVc7dGhpc1tJWzM5XV09dGhpc1tJWzI4XV09dGhpc1tJWzI2XV09SVsyMV07dGhpc1tJWzFdXT17fTt0aGlzW0lbMjldXT1JWzIxXX1zZXQobixXKXt0aGlzW0lbMV1dW25dIT09VyYmKHRoaXNbSVsxXV1bbl09Vyx0aGlzW0lbMjldXT1JWzIxXSl9Z2V0KG4pe2VYKDE0LDcyMTMsdGhpcyk7cmV0dXJuIHRoaXNbSVsxXV1bbl18fG51bGx9V0QoKXt0aGlzW0lbMjldXXx8KHRoaXNbSVsyOV1dPUVjKDYsMjk5OCx0aGlzKSk7cmV0dXJuIHRoaXNbSVsyOV1dfWNsb25lKCl7dmFyIG49bmV3IGcud1oodGhpc1tJWzE3XV0sdGhpc1tJWzldXSk7bltJWzI2XV09dGhpc1tJWzI2XV07bltJWzI4XV09dGhpc1tJWzI4XV07bltJWzM5XV09dGhpc1tJWzM5XV07bltJWzFdXT1nLnMwKHRoaXNbSVsxXV0pO25bSVsyOV1dPXRoaXNbSVsyOV1dO3JldHVybiBufX07dmFyIEpaPXtGQUlSUExBWToiZmFpcnBsYXkiLFBMQVlSRUFEWToicGxheXJlYWR5IixXSURFVklORToid2lkZXZpbmUiLENMRUFSS0VZOm51bGwsRkxBU0hBQ0NFU1M6bnVsbCxVTktOT1dOOm51bGwsV0lERVZJTkVfQ0xBU1NJQzpudWxsfTt2YXIgd1A9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0hMSl7dGhpcy5uYW1lPW47dGhpcy5pZD1XO3RoaXMuaXNEZWZhdWx0PUQ7dGhpcy5pc0F1dG9EdWJiZWQ9Yn1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1nZXRJZCgpe3JldHVybiB0aGlzLmlkfWdldElzRGVmYXVsdCgpe3JldHVybiB0aGlzLmlzRGVmYXVsdH1nZXRJc0F1dG9EdWJiZWQoKXtyZXR1cm4gdGhpcy5pc0F1dG9EdWJiZWR9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5uYW1lfX07d1AucHJvdG90eXBlLmdldE5hbWU9d1AucHJvdG90eXBlLmdldE5hbWU7d1AucHJvdG90eXBlLmdldElkPXdQLnByb3RvdHlwZS5nZXRJZDt3UC5wcm90b3R5cGUuZ2V0SXNEZWZhdWx0PXdQLnByb3RvdHlwZS5nZXRJc0RlZmF1bHQ7d1AucHJvdG90eXBlLmdldElzQXV0b0R1YmJlZD13UC5wcm90b3R5cGUuZ2V0SXNBdXRvRHViYmVkO2cuUXc9Y2xhc3N7Y29uc3RydWN0b3Iobj17fSl7dGhpcy5sYW5ndWFnZUNvZGU9bi5sYW5ndWFnZUNvZGV8fCIiO3RoaXMubGFuZ3VhZ2VOYW1lPW4ubGFuZ3VhZ2VOYW1lfHxudWxsO3RoaXMua2luZD1uLmtpbmR8fCIiO3RoaXMubmFtZT1uLm5hbWU9PT12b2lkIDA/bnVsbDpuLm5hbWU7dGhpcy5kaXNwbGF5TmFtZT1uLmRpc3BsYXlOYW1lfHxudWxsO3RoaXMuaWQ9bi5pZHx8bnVsbDt0aGlzLk49bi5pc19zZXJ2YWJsZXx8ITE7dGhpcy5pc1RyYW5zbGF0ZWFibGU9bi5pc190cmFuc2xhdGVhYmxlfHwhMTt0aGlzLnVybD1uLnVybHx8bnVsbDt0aGlzLnZzc0lkPW4udnNzX2lkfHwiIjt0aGlzLmlzRGVmYXVsdD1uLmlzX2RlZmF1bHR8fCExO3RoaXMudHJhbnNsYXRpb25MYW5ndWFnZT1uLnRyYW5zbGF0aW9uTGFuZ3VhZ2V8fG51bGw7dGhpcy54dGFncz1uLnh0YWdzfHwiIjt0aGlzLmNhcHRpb25JZD1uLmNhcHRpb25JZHx8IiJ9Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1pc1NlcnZhYmxlKCl7cmV0dXJuIHRoaXMuTn1XRCgpe3JldHVybiB0aGlzLnVybH1nZXRYdGFncygpe3JldHVybiB0aGlzLnh0YWdzfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMubGFuZ3VhZ2VDb2RlKwoiOiAiK2cuY24odGhpcykrIiAtICIrdGhpcy52c3NJZCsiIC0gIisodGhpcy5jYXB0aW9uSWR8fCIiKX1lcXVhbHMobil7cmV0dXJuIG4/dGhpcy50b1N0cmluZygpPT09bi50b1N0cmluZygpOiExfU9WKCl7cmV0dXJuISghdGhpcy5sYW5ndWFnZUNvZGV8fHRoaXMudHJhbnNsYXRpb25MYW5ndWFnZSYmIXRoaXMudHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGUpfX07dmFyIFdBPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pZD1uO3RoaXMua1o9Vzt0aGlzLmNhcHRpb25UcmFja3M9W107dGhpcy5XPXRoaXMuWD1udWxsO3RoaXMueHRhZ3M9IiI7dGhpcy5WPXRoaXMuaj0hMTt0aGlzLk49bnVsbDt0aGlzLko9IlVOS05PV04iO3RoaXMuY2FwdGlvbnNJbml0aWFsU3RhdGU9IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiI7bj10aGlzLmtaLmlkLnNwbGl0KCIuIik7bi5sZW5ndGg+MSYmKHRoaXMuaj1uWzFdPT09IjIiLHRoaXMuVj1uWzFdPT09IjQiKX1nZXRMYW5ndWFnZUluZm8oKXtyZXR1cm4gdGhpcy5rWn1nZXRYdGFncygpe2lmKCF0aGlzLnh0YWdzKXtsZXQgbj10aGlzLmlkLnNwbGl0KCI7Iik7bi5sZW5ndGg+MSYmKHRoaXMueHRhZ3M9blsxXSl9cmV0dXJuIHRoaXMueHRhZ3N9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5rWi5uYW1lfWlzQXV0b0R1YmJlZCgpe3JldHVybiB0aGlzLmtaLmdldElzQXV0b0R1YmJlZCgpfX07CldBLnByb3RvdHlwZS5nZXRMYW5ndWFnZUluZm89V0EucHJvdG90eXBlLmdldExhbmd1YWdlSW5mbztXQS5wcm90b3R5cGUuaXNBdXRvRHViYmVkPVdBLnByb3RvdHlwZS5pc0F1dG9EdWJiZWQ7dmFyIGIzPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdj0wKXt0aGlzLko9bjt0aGlzLk49Vzt0aGlzLlc9RDt0aGlzLnJlYXNvbj1iO3RoaXMuTnM9dn1lcXVhbHMobil7cmV0dXJuIHRoaXMuSj09PW4uSiYmdGhpcy5OPT09bi5OJiZ0aGlzLlc9PT1uLlcmJnRoaXMucmVhc29uPT09bi5yZWFzb24mJighaFR8fHRoaXMuTnM9PT1uLk5zKX1pc0xvY2tlZCgpe3JldHVybiB0aGlzLlcmJiEhdGhpcy5KJiZ0aGlzLko9PT10aGlzLk59Y29tcG9zZShuKXtpZihuLlcmJnhKKG4pKXJldHVybiBZWjtpZihuLld8fHhKKHRoaXMpKXJldHVybiBuO2lmKHRoaXMuV3x8eEoobikpcmV0dXJuIHRoaXM7dmFyIFc9dGhpcy5KJiZuLko/TWF0aC5tYXgodGhpcy5KLG4uSik6dGhpcy5KfHxuLkosRD10aGlzLk4mJm4uTj9NYXRoLm1pbih0aGlzLk4sbi5OKTp0aGlzLk58fG4uTjtXPU1hdGgubWluKFcsRCk7dmFyIGI9MDtoVCYmKGI9dGhpcy5OcyE9PTAmJm4uTnMhPT0wP01hdGgubWluKHRoaXMuTnMsCm4uTnMpOnRoaXMuTnM9PT0wP24uTnM6dGhpcy5Ocyk7cmV0dXJuIGhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OJiZiPT09dGhpcy5Oc3x8IWhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OP3RoaXM6aFQ/bmV3IGIzKFcsRCwhMSxEPT09dGhpcy5OJiZiPT09dGhpcy5Ocz90aGlzLnJlYXNvbjpuLnJlYXNvbixiKTpuZXcgYjMoVyxELCExLEQ9PT10aGlzLk4/dGhpcy5yZWFzb246bi5yZWFzb24pfVgobil7cmV0dXJuIW4udmlkZW98fGhUJiZ0aGlzLk5zIT09MCYmdGhpcy5OczxuLk5zPyExOmdGKHRoaXMsbi52aWRlby5xdWFsaXR5KX19LG5oVT12QSgiYXV0byIsImhkMTA4MCIsITEsImwiKSxUOD12QSgiYXV0byIsImxhcmdlIiwhMSwibCIpLFlaPXZBKCJhdXRvIiwiYXV0byIsITEsInAiKSxoVD0hMTt2YXIgcGc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy52aWRlb0luZm9zPW47dGhpcy5KPVc7dGhpcy5hdWRpb1RyYWNrcz1bXTt0aGlzLlc9Ynx8W107aWYodGhpcy5KKXtuPW5ldyBTZXQ7RD8uKHthaW5mb2xlbjp0aGlzLkoubGVuZ3RofSk7Zm9yKGxldCB2IG9mIHRoaXMuSil7aWYoIXYua1p8fG4uaGFzKHYua1ouaWQpKXtEPy4oe2F0a2VycjohIXYua1osaXRhZzp2Lml0YWcseHRhZzp2LkosbGFuZzp2LmtaPy5uYW1lfHwiIixsYW5naWQ6di5rWj8uaWR8fCIifSk7Y29udGludWV9Vz1uZXcgV0Eodi5pZCx2LmtaKTtuLmFkZCh2LmtaLmlkKTt0aGlzLmF1ZGlvVHJhY2tzLnB1c2goVyl9RD8uKHthdGtsZW46dGhpcy5hdWRpb1RyYWNrcy5sZW5ndGh9KX19Y1kobil7bj1ufHxZWjt2YXIgVz1nLkVNKHRoaXMudmlkZW9JbmZvcyx2PT5uLlgodikpLEQ9W10sYj17fTsKZm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl0udmlkZW87YltrLnF1YWxpdHldfHwoRC5wdXNoKGspLGJbay5xdWFsaXR5XT0hMCl9cmV0dXJuIER9TnEobil7bj1ufHxZWjtyZXR1cm4gZy5FTSh0aGlzLnZpZGVvSW5mb3MsVz0+bi5YKFcpKX1nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpe3JldHVybiB0aGlzLmF1ZGlvVHJhY2tzfU4oKXtyZXR1cm4hIXRoaXMuSn19O3ZhciBBSFM9bmV3IFNldChbIjM1NiIsIjcyMSJdKSxXVnI9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLko9bnVsbDt0aGlzLk49bmV3IE1hcH1tQSgpe3N1cGVyLm1BKCl9fTt2YXIgUjQ9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSl7dGhpcy5qJD1uO3RoaXMuc3RhcnRUaW1lPVc7dGhpcy5kdXJhdGlvbj1EO3RoaXMuaW5nZXN0aW9uVGltZT1iO3RoaXMuc291cmNlVVJMPXY7dGhpcy5mZj1MO3RoaXMuUU89ZTt0aGlzLmVuZFRpbWU9VytEO3RoaXMuTj1ofHwwO3RoaXMucmFuZ2U9a3x8bnVsbDt0aGlzLnBlbmRpbmc9eHx8ITE7dGhpcy5mZj1MfHxudWxsfX07Zy5qYz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc2VnbWVudHM9W107dGhpcy5KPW51bGw7dGhpcy5ZPSEwO3RoaXMuSz0iIn1qKG4pe3RoaXMuc2VnbWVudHMucHVzaChuKX1NSShuKXtyZXR1cm4hIXRoaXMuVyhuKX1nZXREdXJhdGlvbihuKXtyZXR1cm4obj10aGlzLlcobikpP24uZHVyYXRpb246MH1EKG4pe3JldHVybiB0aGlzLmdldER1cmF0aW9uKG4pfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1swXS5qJDotMX1oQyhuKXtyZXR1cm4obj10aGlzLlcobikpP24uaW5nZXN0aW9uVGltZTpOYU59eCQoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJDotMX1xZShuKXtyZXR1cm4gdGhpcy54JCgpPT09biYmIXRoaXMuWSYmbj49MH1iUSgpe3ZhciBuPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07cmV0dXJuIG4/bi5lbmRUaW1lOgpOYU59TGYoKXtyZXR1cm4gdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWV9SDcoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGh9Tigpe3JldHVybiAwfVIzKG4pe3JldHVybihuPXRoaXMuWChuKSk/bi5qJDotMX1WKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zb3VyY2VVUkw6IiJ9Z2V0U3RhcnRUaW1lKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zdGFydFRpbWU6MH1qRShuKXtyZXR1cm4gdGhpcy5nZXRTdGFydFRpbWUobikrdGhpcy5nZXREdXJhdGlvbihuKX1pc0xvYWRlZCgpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD4wfVcobil7aWYodGhpcy5KJiZ0aGlzLkouaiQ9PT1uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMsbmV3IFI0KG4sMCwwLDAsIiIpLChXLEQpPT5XLmokLUQuaiQpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTpudWxsfVgobil7aWYodGhpcy5KJiZ0aGlzLkouc3RhcnRUaW1lPD1uJiZuPHRoaXMuSi5zdGFydFRpbWUrdGhpcy5KLmR1cmF0aW9uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMse3N0YXJ0VGltZTpufSwoVyxEKT0+Vy5zdGFydFRpbWUtRC5zdGFydFRpbWUpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTp0aGlzLnNlZ21lbnRzW01hdGgubWF4KDAsLW4tMildfWFwcGVuZChuKXtpZihuLmxlbmd0aClpZihuPWcuUk0obiksdGhpcy5zZWdtZW50cy5sZW5ndGgpe3ZhciBXPXRoaXMuc2VnbWVudHMubGVuZ3RoP2cuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZTowLEQ9blswXS5qJC10aGlzLngkKCk7RD4xJiZnLkNiKHRoaXMuc2VnbWVudHMpO0Q9RD4wPzA6LUQrMTtmb3IobGV0IGI9RDtiPG4ubGVuZ3RoO2IrKylEPW5bYl0sRC5zdGFydFRpbWU9VyxELmVuZFRpbWU9RC5zdGFydFRpbWUrRC5kdXJhdGlvbixXKz1uW2JdLmR1cmF0aW9uLHRoaXMuc2VnbWVudHMucHVzaChuW2JdKX1lbHNlIHRoaXMuc2VnbWVudHM9bn1YZCgpe3JldHVybiAwfXR3KG4sVyl7dGhpcy5ZPW47dGhpcy5LPVd9fTtnLmpjLnByb3RvdHlwZS5VNz1XWigzKTt2YXIgRF89Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2PSExKXt0aGlzLmRhdGE9bjt0aGlzLm9mZnNldD1XO3RoaXMuc2l6ZT1EO3RoaXMudHlwZT1iO3RoaXMuTj0odGhpcy5KPXYpPzA6ODt0aGlzLmRhdGFPZmZzZXQ9dGhpcy5vZmZzZXQrdGhpcy5OfXNraXAobil7dGhpcy5OKz1ufX07dmFyIE9LdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLm9mZnNldD0wO3RoaXMuZGF0YT1uZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKG4pKX19O3ZhciBEVmk7Zy5sMz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiLHYsayxoKXt0aGlzLnN0YXJ0U2Vjcz1uO3RoaXMuQ2Y9Vzt0aGlzLmNvbnRleHQ9RDt0aGlzLmlkZW50aWZpZXI9Yjt0aGlzLmV2ZW50PXY7dGhpcy5OPWs7dGhpcy50aWxlQ29udGV4dD1ofX07RFZpPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLlBCPW47dGhpcy5vcHBvcnR1bml0eUlkPVc7dGhpcy5zZXJpYWxpemVkUHJlZmV0Y2hDb250ZXh0PUR9fTt2YXIgYk5VPXtwcmVkaWN0U3RhcnQ6InByZWRpY3RTdGFydCIsc3RhcnQ6InN0YXJ0IixbImNvbnRpbnVlIl06ImNvbnRpbnVlIixzdG9wOiJzdG9wIixwcmVmZXRjaDoicHJlZmV0Y2gifSxtNWo9e0VWRU5UX1BSRURJQ1RfU1RBUlQ6InByZWRpY3RTdGFydCIsRVZFTlRfU1RBUlQ6InN0YXJ0IixFVkVOVF9DT05USU5VRToiY29udGludWUiLEVWRU5UX1NUT1A6InN0b3AiLEVWRU5UX1BSRUZFVENIOiJwcmVmZXRjaCJ9O3ZhciBYNT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZGF0YT1uO3RoaXMudXJpPVd8fCJodHRwOi8veW91dHViZS5jb20vc3RyZWFtaW5nL21ldGFkYXRhL3NlZ21lbnQvMTAyMDE1Ijt0aGlzLnNlZ21lbnROdW1iZXI9el8odGhpcywiU2VxdWVuY2UtTnVtYmVyIik7dGhpcy5qPXpfKHRoaXMsIlNlZ21lbnQtQ291bnQiKTt0aGlzLks9dGhpcy5kYXRhWyJTZWdtZW50LUR1cmF0aW9ucy1NcyJdfHwiIjt0aGlzLmluZ2VzdGlvblRpbWU9el8odGhpcywiSW5nZXN0aW9uLVdhbGx0aW1lLVVzIikvMUU2O3RoaXMuVz0oel8odGhpcywiRmlyc3QtRnJhbWUtVGltZS1VcyIpK3pfKHRoaXMsIkZpcnN0LUZyYW1lLVVuY2VydGFpbnR5LVVzIikpLzFFNjt0aGlzLnJiPXpfKHRoaXMsIlRhcmdldC1EdXJhdGlvbi1VcyIpLzFFNjt0aGlzLlY9dGhpcy5kYXRhWyJTdHJlYW0tRmluaXNoZWQiXT09PSJUIjt0aGlzLmlzU3RyZWFtaW5nPXRoaXMuZGF0YS5TdHJlYW1hYmxlPT09IlQiO3RoaXMuY3J5cHRvUGVyaW9kSW5kZXg9CnpfKHRoaXMsIkNyeXB0by1QZXJpb2QtSW5kZXgiKTt0aGlzLlg9el8odGhpcywiQ3J5cHRvLVBlcmlvZC1TZWNvbmRzIik7dGhpcy5OPSJDdXJyZW50LUFic29sdXRlLUxvdWRuZXNzLUxrZnMiaW4gdGhpcy5kYXRhP051bWJlcih0aGlzLmRhdGFbIkN1cnJlbnQtQWJzb2x1dGUtTG91ZG5lc3MtTGtmcyJdKXx8MDpudWxsfUooKXtyZXR1cm4gdGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1DcG4iXT90aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUNwbiJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSk6W119ZksoKXtyZXR1cm4hISh0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tQ3BuIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXXx8dGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1GcmFtZS1JbmRleCJdfHx0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUFic29sdXRlLUxvdWRuZXNzLUxrZnMiXXx8CnRoaXMuZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdfHx0aGlzLmRhdGFbIklzLUFkLUJyZWFrLUZpbmlzaGVkIl0pfX07dmFyIFJlaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuZHVyYXRpb249V319O3ZhciAkOHg9e1NURVJFT19MQVlPVVRfVU5LTk9XTjowLFNURVJFT19MQVlPVVRfTEVGVF9SSUdIVDoxLFNURVJFT19MQVlPVVRfVE9QX0JPVFRPTToyfTt2YXIgaFk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLko9djt0aGlzLk49bnx8MDt0aGlzLnBpdGNoPVd8fDA7dGhpcy55YXc9RHx8MDt0aGlzLnJvbGw9Ynx8MDt2LmdldFVpbnQzMig0KX19O3ZhciB0WT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMucG9zPTA7dGhpcy5zdGFydD1XfHwwfU9KKCl7dmFyIG49dGhpcy5wb3M7dGhpcy5wb3M9MDt2YXIgVz0hMTt0cnl7c1kodGhpcyw0NDA3ODY4NTEpJiYodGhpcy5wb3M9MCxzWSh0aGlzLDQwODEyNTU0MykmJihXPSEwKSl9Y2F0Y2goRCl7aWYoRCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhpcy5wb3M9MCxXPSExLGcuR3EoRCk7ZWxzZSB0aHJvdyBEO310aGlzLnBvcz1uO3JldHVybiBXfX07dmFyIENzPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuQU89bjt0aGlzLk49e307dGhpcy51cmw9IiJ9c2V0KG4sVyl7dGhpcy5BTy5nZXQobik7dGhpcy5OW25dPVc7dGhpcy51cmw9IiJ9Z2V0KG4pe3JldHVybiB0aGlzLk5bbl18fHRoaXMuQU8uZ2V0KG4pfVdEKCl7dGhpcy51cmx8fCh0aGlzLnVybD1pS1UodGhpcykpO3JldHVybiB0aGlzLnVybH19O3ZhciB1VGk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5YPXRoaXMuVz10aGlzLk49dGhpcy50aW1lZE91dD10aGlzLnN0YXJ0ZWQ9dGhpcy5WPXRoaXMuaj0wfX07dmFyIHZUPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTz10aGlzLkQ9dGhpcy5WPXRoaXMuSj0wO3RoaXMuaj10aGlzLks9ITE7dGhpcy5OPW47dGhpcy5XPW4uY2xvbmUoKX1wUyhuLFcpe3JldHVybiBuLllaP3RoaXMuaj90aGlzLks9ITA6dGhpcy5LPWpQKHRoaXMsbixXKTpqUCh0aGlzLG4sVyl9WShuLFcsRD0wKXtEPjE/bj1uLk1jOihXPVVZKFcsRjUodGhpcyx0aGlzLnBTKG4sVyksbikpLG49TWF0aC5tYXgodGhpcy5WLFcudGltZWRPdXQpK24uVFoqKHRoaXMuSi10aGlzLlYpKy4yNSp0aGlzLkQsbj1uPjM/MUUzKjEuNioqKG4tMyk6MCk7cmV0dXJuIG49PT0wPyEwOnRoaXMuTytuPCgwLGcuUikoKX1jSihuLFcpe3RoaXMuTi5zZXQobixXKTt0aGlzLlcuc2V0KG4sVyk7dGhpcy5YJiZ0aGlzLlguc2V0KG4sVyl9V04oKXtyZXR1cm4gdGhpcy5XLmdldCgiY3BuIil8fCIifVo1KG4sVyl7bi5BTz09PXRoaXMuTiYmKHRoaXMuTj1uWChuLFcpKTtuLkFPPT09dGhpcy5YJiYodGhpcy5YPQpuWChuLFcpKX10dygpe3RoaXMuaj0hMH1yMCgpe3JldHVybiB0aGlzLk4hPT10aGlzLlgmJiF0aGlzLkt9fTt2YXIgQ2o9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5pbml0UmFuZ2U9RDt0aGlzLmluZGV4UmFuZ2U9Yjt0aGlzLko9bnVsbDt0aGlzLmNKPSExO3RoaXMuRkY9MDt0aGlzLlY9dGhpcy5TVT10aGlzLk89bnVsbDt0aGlzLmluZm89Vzt0aGlzLlhiPW5ldyB2VChuKX1OKCl7cmV0dXJuISF0aGlzLkomJnRoaXMuaW5kZXguaXNMb2FkZWQoKX1TJCgpe3JldHVybiExfUdDKG4pe3JldHVybltuXX1WUShuKXtyZXR1cm5bbl19fTt2YXIgYUI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnN0YXJ0PW47dGhpcy5lbmQ9Vzt0aGlzLmxlbmd0aD1XLW4rMX10b1N0cmluZygpe3JldHVybiB0aGlzLnN0YXJ0KyItIisodGhpcy5lbmQ9PW51bGw/IiI6dGhpcy5lbmQpfU4oKXtyZXR1cm4gdGhpcy5lbmQ9PW51bGw/e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KX06e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KSxlbmQ6U3RyaW5nKHRoaXMuZW5kKX19fTt2YXIgcUk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0iIix2LGssaCx4LEwsZSxHLHI9IiIsTixILEEpe3RoaXMudHlwZT1uO3RoaXMuUEo9Vzt0aGlzLnJhbmdlPUQ7dGhpcy5zb3VyY2U9Yjt0aGlzLnZEPUc7dGhpcy5jbGlwSWQ9cjt0aGlzLkQ9Tjt0aGlzLmJkPUg7dGhpcy5yZXF1ZXN0VG9rZW49QTt0aGlzLk89W107dGhpcy5ZPSIiO3RoaXMuaiQ9LTE7dGhpcy50dz0wO3RoaXMuWT1iO3RoaXMuaiQ9dj49MD92Oi0xO3RoaXMuc2VnbWVudFN0YXJ0VGltZT1rfHwwO3RoaXMuVz1ofHwwO3RoaXMuTj14fHwwO3RoaXMuSj1MPj0wP0w6dGhpcy5yYW5nZT90aGlzLnJhbmdlLmxlbmd0aDpOYU47dGhpcy5yYW5nZT8obj10aGlzLk4rdGhpcy5KPT09dGhpcy5yYW5nZS5sZW5ndGgsZT10aGlzLnNvdXJjZT09PSJ3YXNtIj9lPz9uOm4pOmU9ZT09PXZvaWQgMD8hIXRoaXMuSjplO3RoaXMuYVo9ZTt0aGlzLnJhbmdlPyh0aGlzLlg9dGhpcy5zZWdtZW50U3RhcnRUaW1lK3RoaXMuVyoKdGhpcy5OL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuSz10aGlzLlcqdGhpcy5KL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuaj10aGlzLlgrdGhpcy5LKTp2Xyh0aGlzKX1WKCl7cmV0dXJuIHRoaXMuYVomJnRoaXMuUEouaW5kZXgucWUodGhpcy5qJCl9a2Yobil7cmV0dXJuIG4+PXRoaXMuWCYmbjw9dGhpcy5qfWlzRW5jcnlwdGVkKCl7cmV0dXJuIHRoaXMuUEouaW5mby5pc0VuY3J5cHRlZCgpfWVxdWFscyhuKXtyZXR1cm4hKCFufHxuLlBKIT09dGhpcy5QSnx8bi50eXBlIT09dGhpcy50eXBlfHwodGhpcy5yYW5nZSYmbi5yYW5nZT9uLnJhbmdlLnN0YXJ0IT09dGhpcy5yYW5nZS5zdGFydHx8bi5yYW5nZS5lbmQhPT10aGlzLnJhbmdlLmVuZDpuLnJhbmdlIT09dGhpcy5yYW5nZSl8fG4uaiQhPT10aGlzLmokfHxuLk4hPT10aGlzLk58fG4uSiE9PXRoaXMuSil9Y0ooKXtyZXR1cm4gdGhpcy50eXBlPT09NH1mWSgpe3JldHVybiEhdGhpcy5QSi5pbmZvLnZpZGVvfVRDKCl7cmV0dXJuIHRoaXMuaiR9Z2EoKXt2YXIgbj0KWHgodGhpcyksVz0iIjtnLmFfKG4sKEQsYik9PntXKz1gJHtifV8ke0R9X2B9KTsKcmV0dXJuIFcuc2xpY2UoMCwtMSl9Y2xvbmUoKXt2YXIgbj1uZXcgcUkodGhpcy50eXBlLHRoaXMuUEosdGhpcy5yYW5nZSx0aGlzLnNvdXJjZSx0aGlzLmokLHRoaXMuc2VnbWVudFN0YXJ0VGltZSx0aGlzLlcsdGhpcy5OLHRoaXMuSix0aGlzLmFaLHRoaXMudkQsdGhpcy5jbGlwSWQsdGhpcy5ELHRoaXMuYmQsdGhpcy5yZXF1ZXN0VG9rZW4pO24uWT10aGlzLlk7dGhpcy5PLmxlbmd0aD4wJiYobi5PPVsuLi50aGlzLk9dKTtuLlg9dGhpcy5YO24uSz10aGlzLks7bi5qPXRoaXMuajtuLnR3PXRoaXMudHc7cmV0dXJuIG59fTt2YXIgd2s9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLkF3PW47dGhpcy5YPXRoaXMuTj1udWxsO3RoaXMuaj10aGlzLlpBPU5hTjt0aGlzLnBTPXRoaXMucmVxdWVzdElkPW51bGw7dGhpcy5YYj1uWzBdLlBKLlhiO3RoaXMuSj1XfHwiIjtpZih0aGlzLkF3WzBdLnJhbmdlJiZ0aGlzLkF3WzBdLko+MCl7YTp7Zm9yKFc9MTtXPG4ubGVuZ3RoO1crKylpZighYlQobltXLTFdLG5bV10pKXtXPSExO2JyZWFrIGF9Vz0hMH1pZihXKXRoaXMucmFuZ2U9ZDV3KG4pLHRoaXMuVz10aGlzLnJhbmdlLmxlbmd0aDtlbHNle3RoaXMucmFuZ2U9dGhpcy5Bd1t0aGlzLkF3Lmxlbmd0aC0xXS5yYW5nZTtXPTA7Zm9yKGxldCBEIG9mIG4pVys9RC5yYW5nZS5sZW5ndGg7dGhpcy5XPVd9fX1ZbCgpe3JldHVybiB0aGlzLk4/dGhpcy5OLldEKCk6IiJ9aXNEZWNvcmF0ZWQoKXtyZXR1cm4hISh0aGlzLk58fHRoaXMuWCYmdGhpcy5YLk15KX1Rbigpe3JldHVybiBoSih0aGlzLkF3WzBdKX1rZihuKXtmb3IobGV0IFcgb2YgdGhpcy5BdylpZihXLnR5cGU9PT0KMyYmVy5rZihuKSlyZXR1cm4hMDtyZXR1cm4hMX1aNShuLFcpe3RoaXMuWGIuWjUobixXKTtpZih0aGlzLk4pe3RoaXMuTj1uWChuLFcpO2ZvcihsZXQgRCBvZlsiYWNwbnMiLCJjcG4iLCJkYWlzdGF0ZSIsInNraXBzcSJdKXRoaXMuTlsic2V0Il0oRCxudWxsKX10aGlzLnJlcXVlc3RJZD1uLmdldCgicmVxX2lkIil9fTt2YXIgZHQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiLHYsaz0wKXtzdXBlcihuLFcsYik7dGhpcy52Sj1EO3RoaXMucmI9azt0aGlzLmluZGV4PXZ8fG5ldyBnLmpjfVcoKXtyZXR1cm4hMX1EKCl7cmV0dXJuITB9VEMoKXtyZXR1cm4hMX1TJCgpe3JldHVybiF0aGlzLnZKfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHRoaXMuaW5pdFJhbmdlLCJnZXRNZXRhZGF0YVJlcXVlc3RJbmZvIildLHRoaXMudkopfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiB0aGlzLkQoKSYmbi5KJiYhbi5hWj9uZXcgd2soW25ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJsaXZlR2V0TmV4dFJlcXVlc3RJbmZvQnlTZWdtZW50IixuLmokLG4uc2VnbWVudFN0YXJ0VGltZSxuLlcsbi5OK24uSixOYU4sITApXSx0aGlzLmluZGV4LlYobi5qJCkpOnRoaXMuaihnayhuKSwhMSl9SyhuLFc9ITEpe249dGhpcy5pbmRleC5SMyhuKTtXJiYobj1NYXRoLm1pbih0aGlzLmluZGV4LngkKCksCm4rMSkpO3JldHVybiB0aGlzLmoobiwhMCl9RHQobil7RE8obil9WChuKXtyZXR1cm4gbi5KPT09MD8hMDp0aGlzLmluZGV4LngkKCk+bi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9dXBkYXRlKG4sVyxEKXt0aGlzLmluZGV4LmFwcGVuZChuKTtQQSh0aGlzLmluZGV4LEQpO3RoaXMudHcoVywidXBkYXRlIil9Tigpe3JldHVybiB0aGlzLlMkKCk/ITA6c3VwZXIuTigpfWoobixXKXt2YXIgRD10aGlzLmluZGV4LlYobiksYj10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSx2PXRoaXMuaW5kZXguZ2V0RHVyYXRpb24obiksaztXP3Y9az0wOms9dGhpcy5pbmZvLk5zPjA/dGhpcy5pbmZvLk5zKnY6MUUzO3JldHVybiBuZXcgd2soW25ldyBxSSgzLHRoaXMsdm9pZCAwLCJsaXZlQ3JlYXRlUmVxdWVzdEluZm9Gb3JTZWdtZW50IixuLGIsdiwwLGssIVcpXSxEKX1ISigpe3JldHVybiB0aGlzLlMkKCk/MDp0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4hMX10dyhuLFcpe3RoaXMuaW5kZXgudHcobiwKVyl9fTt2YXIgdmhiPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdil7dGhpcy5qJD1uO3RoaXMuc3RhcnRTZWNzPVc7dGhpcy5DZj1EO3RoaXMuTj1ifHxOYU47dGhpcy5KPXZ8fE5hTn19O3ZhciBCXz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1bXTt0aGlzLko9bnVsbDt0aGlzLlY9MDt0aGlzLlc9W107dGhpcy5qPSExO3RoaXMuSz0iIjt0aGlzLlg9LTF9dXBkYXRlKG4pe3ZhciBXPXZvaWQgMDt0aGlzLkomJihXPXRoaXMuSik7e2xldCBBPW5ldyBCXzt2YXIgRD1BcnJheS5mcm9tKG4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlMiKSk7aWYoRC5sZW5ndGgpe3ZhciBiPStsVChuLCJ0aW1lc2NhbGUiKXx8MSx2PSgrRFswXS5nZXRBdHRyaWJ1dGUoInQiKXx8MCkvYixrPStsVChuLCJzdGFydE51bWJlciIpfHwwO0EuWD12O3ZhciBoPVc/Vy5zdGFydFNlY3MrVy5DZjowLHg9RGF0ZS5wYXJzZShDeihsVChuLCJ5dDpzZWdtZW50SW5nZXN0VGltZSIpKSkvMUUzO0Euaj1uLnBhcmVudEVsZW1lbnQudGFnTmFtZT09PSJTZWdtZW50VGVtcGxhdGUiO0EuaiYmKEEuSz1sVChuLCJtZWRpYSIpKTtuPVc/ay1XLmokOjE7QS5WPW4+MD8wOi1uKzE7Zm9yKEggb2YgRCl7bj0rSC5nZXRBdHRyaWJ1dGUoImQiKS8KYjtEPSgrSC5nZXRBdHRyaWJ1dGUoInl0OnNpZCIpfHwwKS9iO2xldCB5PStILmdldEF0dHJpYnV0ZSgiciIpfHwwO2ZvcihsZXQgVD0wO1Q8PXk7VCsrKXtpZihXJiZrPD1XLmokKXtrKys7Y29udGludWV9dmFyIEw9bmV3IHZoYihrLGgsbix4K0Qsdik7QS5OLnB1c2goTCk7Yjp7dmFyIGU9SDt2YXIgRz1iLHI9TC5zdGFydFNlY3M7TD1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRUaW1lT2Zmc2V0Iik7dmFyIE49ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50RHVyYXRpb24iKTtpZighTHx8IU4pe2U9bnVsbDticmVhayBifUw9TnVtYmVyKEwpO3I9LUwvRytyO0c9TnVtYmVyKE4pL0c7Tj1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRDb250ZXh0Iil8fG51bGw7bGV0IHo9ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50SWRlbnRpZmllciIpfHwiIjtlPWUuZ2V0QXR0cmlidXRlKCJ5dDpjdWVwb2ludEV2ZW50Iil8fCIiO2U9bmV3IGcubDMocixHLE4seixiTlVbZV18fCJ1bmtub3duIiwKTCl9ZSYmQS5XLnB1c2goZSk7aysrO2grPW47dis9bjt4Kz1uK0R9fUEuTi5sZW5ndGgmJihBLko9Zy5VTShBLk4pKX12YXIgSD1BfXRoaXMuVj1ILlY7dGhpcy5KPUguSnx8dGhpcy5KO2cuUTIodGhpcy5OLEguTik7Zy5RMih0aGlzLlcsSC5XKTt0aGlzLmo9SC5qO3RoaXMuSz1ILks7dGhpcy5YPT09LTEmJih0aGlzLlg9SC5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5YPT09LTE/MDp0aGlzLlh9fTt2YXIga0xDPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPVtdO3RoaXMuTj1udWxsO3RoaXMuSj17fTt0aGlzLlc9e319fTt2YXIgZ1M9Y2xhc3MgZXh0ZW5kcyBnLmpje2NvbnN0cnVjdG9yKHtyYjpuPTAsT1Q6Vz0hMSx1YjpEPTAsSXQ6Yj0wLEhQOnY9SW5maW5pdHksdWs6az0wLFhnOmg9ITEsRTM6eD0hMX09e30pe3N1cGVyKCk7dGhpcy5Ebj10aGlzLnFxPS0xO3RoaXMuTzg9bjt0aGlzLnViPUQ7dGhpcy5PVD1XO3RoaXMuSXQ9Yjt0aGlzLkhQPXY7dGhpcy51az1rOygodGhpcy5YZz1oKXx8aXNGaW5pdGUodikmJnRoaXMuSFA+MCkmJlcmJlp1JiZ0aGlzLnR3KCExLCJwb3N0TGl2ZSIpO3RoaXMuRTM9eH1VYygpe3JldHVybiB0aGlzLk84fU1JKG4sVyl7bj1GeCh0aGlzLG4pO3JldHVybiBuPj0wJiYoV3x8IXRoaXMuc2VnbWVudHNbbl0ucGVuZGluZyl9Wk8oKXtyZXR1cm4gdGhpcy5PVD90aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLlgodGhpcy5MZigpKS5qJDotMTpzdXBlci5aTygpfUxmKCl7aWYodGhpcy5YZylyZXR1cm4gMDtpZighdGhpcy5PVClyZXR1cm4gc3VwZXIuTGYoKTtpZighdGhpcy5zZWdtZW50cy5sZW5ndGgpcmV0dXJuIDA7CnZhciBuPU1hdGgubWF4KGcuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZS10aGlzLnViLDApO3JldHVybiB0aGlzLkl0PjAmJnRoaXMuWChuKS5qJDx0aGlzLkl0P3RoaXMuVyh0aGlzLkl0KS5zdGFydFRpbWU6bn1iUSgpe2lmKHRoaXMuRTMmJnRoaXMuRG4mJnRoaXMuRG4+MClyZXR1cm4gdGhpcy5Ebi8xRTM7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBzdXBlci5iUSgpO3ZhciBuPXRoaXMueCQoKTtpZighdGhpcy5PVHx8bjw9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJCluPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07ZWxzZXt2YXIgVz10aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdO249bmV3IFI0KG4sTWF0aC5tYXgoMCxXLnN0YXJ0VGltZS0oVy5qJC1uKSp0aGlzLk84KSx0aGlzLk84LDAsYHNxLyR7bn1gLHZvaWQgMCx2b2lkIDAsITApfXJldHVybiB0aGlzLlhnP01hdGgubWluKHRoaXMudWIsCm4uZW5kVGltZSk6bi5lbmRUaW1lfUg3KCl7cmV0dXJuIHRoaXMuT1Q/dGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy54JCgpLXRoaXMuWk8oKSsxOjA6c3VwZXIuSDcoKX14JCgpe3ZhciBuPU1hdGgubWluKHRoaXMuSFAsTWF0aC5tYXgoc3VwZXIueCQoKSx0aGlzLnFxKSksVz10aGlzLnViKjFFMztXPXRoaXMuRG4+MCYmdGhpcy5EbjxXO3RoaXMuWGcmJnRoaXMudWI+MCYmdGhpcy5xcT4wJiYhVyYmKFc9dGhpcy5YKHRoaXMudWIpKSYmKG49TWF0aC5taW4oVy5qJC0xLG4pKTtyZXR1cm4gbn1PZygpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdOm51bGx9aihuKXt2YXIgVz1GeCh0aGlzLG4uaiQpO2lmKFc+PTApdGhpcy5zZWdtZW50c1tXXT1uO2Vsc2UgaWYodGhpcy5zZWdtZW50cy5zcGxpY2UoLShXKzEpLDAsbiksdGhpcy51ayYmbi5qJCUoMzAwL3RoaXMuTzgpPT09MCl7dmFyIEQ9dGhpcy5zZWdtZW50c1swXS5qJCwKYj1NYXRoLmZsb29yKHRoaXMudWsvdGhpcy5POCk7bj1uLmokLWI7Vz0tKFcrMSktYjtXPjAmJm4+RCYmKHRoaXMuc2VnbWVudHM9dGhpcy5zZWdtZW50cy5zbGljZShXKSl9fU8obil7bj1GeCh0aGlzLG4pO24+PTAmJnRoaXMuc2VnbWVudHMuc3BsaWNlKG4sMSl9VFgoKXtyZXR1cm4gdGhpcy5xcX1xZShuKXtyZXR1cm4gWnU/IXRoaXMuWSYmbj49MCYmdGhpcy54JCgpPD1uOnN1cGVyLnFlKG4pfVgobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlgobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07aWYobjx0aGlzLnNlZ21lbnRzWzBdLnN0YXJ0VGltZSlXPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5qJC1NYXRoLmNlaWwoKHRoaXMuc2VnbWVudHNbMF0uc3RhcnRUaW1lLW4pL3RoaXMuTzgpKTtlbHNlIGlmKG4+PVcuZW5kVGltZSlXPVcuaiQrTWF0aC5mbG9vcigobi1XLmVuZFRpbWUpLwp0aGlzLk84KzEpO2Vsc2V7Vz1EZSh0aGlzLnNlZ21lbnRzLGI9Pm48Yi5zdGFydFRpbWU/LTE6bj49Yi5lbmRUaW1lPzE6MCk7CmlmKFc+PTApcmV0dXJuIHRoaXMuc2VnbWVudHNbV107dmFyIEQ9LShXKzEpO1c9dGhpcy5zZWdtZW50c1tELTFdO0Q9dGhpcy5zZWdtZW50c1tEXTtXPU1hdGguZmxvb3IoKG4tVy5lbmRUaW1lKS8oKEQuc3RhcnRUaW1lLVcuZW5kVGltZSkvKEQuaiQtVy5qJC0xKSkrMSkrVy5qJH1yZXR1cm4gdGhpcy5XKFcpfVcobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlcobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPUZ4KHRoaXMsbik7aWYoVz49MClyZXR1cm4gdGhpcy5zZWdtZW50c1tXXTt2YXIgRD0tKFcrMSk7Vz10aGlzLk84O2lmKEQ9PT0wKXZhciBiPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWUtKHRoaXMuc2VnbWVudHNbMF0uaiQtbikqVyk7ZWxzZSBEPT09dGhpcy5zZWdtZW50cy5sZW5ndGg/KGI9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpOihiPQp0aGlzLnNlZ21lbnRzW0QtMV0sVz10aGlzLnNlZ21lbnRzW0RdLFc9KFcuc3RhcnRUaW1lLWIuZW5kVGltZSkvKFcuaiQtYi5qJC0xKSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpO3JldHVybiBuZXcgUjQobixiLFcsMCxgc3EvJHtufWAsdm9pZCAwLHZvaWQgMCwhMCl9fSxadT0hMTt2YXIgV1Q9Y2xhc3MgZXh0ZW5kcyBkdHtjb25zdHJ1Y3RvcihuLFcsRD17fSl7c3VwZXIobixXLCIiLHZvaWQgMCx2b2lkIDAsRC5yYnx8MCk7dGhpcy5pbmRleD1uZXcgZ1MoRCl9VEMoKXtyZXR1cm4hMH1OKCl7cmV0dXJuITB9WChuKXtyZXR1cm4gdGhpcy5EKCkmJm4uSiYmIW4uYVp8fCFuLlBKLmluZGV4LnFlKG4uaiQpfVkoKXt9SyhuLFc9ITEpe3JldHVybiB0eXBlb2YgbiE9PSJudW1iZXIifHxpc0Zpbml0ZShuKT9zdXBlci5LKG4sVyk6bmV3IHdrKFtuZXcgcUkoMyx0aGlzLHZvaWQgMCwibWxMaXZlR2V0UmVxSW5mb1N0dWJGb3JUaW1lIiwtMSx2b2lkIDAsdGhpcy5yYix2b2lkIDAsdGhpcy5yYip0aGlzLmluZm8uTnMpXSwiIil9aihuLFcpe2lmKHRoaXMuaW5kZXguTUkobikpcmV0dXJuIHN1cGVyLmoobixXKTt2YXIgRD10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSxiPU1hdGgucm91bmQodGhpcy5yYip0aGlzLmluZm8uTnMpLHY9dGhpcy5yYjtXJiYodj1iPTApO3JldHVybiBuZXcgd2soW25ldyBxSSgzLAp0aGlzLHZvaWQgMCwibWxMaXZlQ3JlYXRlUmVxSW5mb0ZvclNlZyIsbixELHYsdm9pZCAwLGIsIVcpXSxuPj0wP2BzcS8ke259YDoiIil9fTt2YXIgcnQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKG4sVyk7dGhpcy5pbmRleD1uZXcgZy5qYzt0aGlzLmluZGV4LnR3KCExLCJkIil9Vygpe3JldHVybiExfUQoKXtyZXR1cm4hMX1UQygpe3JldHVybiExfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHZvaWQgMCwib3RmSW5pdCIpXSwic3EvMCIpfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiBNSSh0aGlzLGdrKG4pLCExKX1LKG4sVz0hMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gTUkodGhpcyxuLCEwKX1EdChuKXtuLmluZm8udHlwZT09PTEmJih0aGlzLkp8fCh0aGlzLko9JE0obi5KKSksbi5OJiZuLk4udXJpPT09Imh0dHA6Ly95b3V0dWJlLmNvbS9zdHJlYW1pbmcvb3RmL2R1cmF0aW9ucy8xMTIwMTUiJiZuR1ModGhpcyxuLk4pKX1YKG4pe3JldHVybiBuLko9PT0wPyEwOnRoaXMuaW5kZXgueCQoKT4Kbi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9SEooKXtyZXR1cm4gMH1udSgpe3JldHVybiExfX07dmFyIGE0LGhoYixEODIsbk0sV0t3O2cuVnM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50YWc9bn19O2E0PW5ldyBNYXA7aGhiPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXB9fTtEODI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49MTA7dGhpcy5KPURhdGUubm93KCl9fTtuTT1uZXcgTWFwO1dLdz1uZXcgaGhiO3ZhciBiOD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuaW5mbz1uO3RoaXMuSj1XO3RoaXMuTj1udWxsO3RoaXMuWD10aGlzLlc9LTE7dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLmlzTG9ja2VkPXRoaXMuSz0hMTt0aGlzLlY9dGhpcy5pbmZvLlBKLlMkKCkmJiF0aGlzLmluZm8uTn1qKG4sVz0hMSxEPTApe2lmKHRoaXMuaXNMb2NrZWR8fG4uaXNMb2NrZWR8fCFiVCh0aGlzLmluZm8sbi5pbmZvKXx8dGhpcy5pbmZvLmFaKXJldHVybiBudWxsO2lmKEQpe2lmKHRoaXMuSi50b3RhbExlbmd0aCtuLkoudG90YWxMZW5ndGg+RClyZXR1cm4gbnVsbH1lbHNlIGlmKFcmJihXPXRoaXMuSixEPW4uSixXPSEoRC5OLmxlbmd0aD94TShXLEQuTlswXSk6MSkpLFcpcmV0dXJuIG51bGw7Vz1uZXcgcUkodGhpcy5pbmZvLnR5cGUsdGhpcy5pbmZvLlBKLHRoaXMuaW5mby5yYW5nZSx0aGlzLmluZm8uWSx0aGlzLmluZm8uaiQsdGhpcy5pbmZvLnNlZ21lbnRTdGFydFRpbWUsdGhpcy5pbmZvLlcsCnRoaXMuaW5mby5OLHRoaXMuaW5mby5KLHRoaXMuaW5mby5hWix0aGlzLmluZm8udkQsdGhpcy5pbmZvLmNsaXBJZCx0aGlzLmluZm8uRCk7UF8oVyxuLmluZm8pO0Q9bmV3IFM1O2U1KEQsdGhpcy5KKTtlNShELG4uSik7Vz1uZXcgYjgoVyxEKTtXLk4hPW51bGwmJm4uTiE9bnVsbCYmZy5jXygiZGFzaCIsNDE0NjI3OTU3LGBtZXJnZWQgc2xpY2UgZW1zZyBvdmVycmlkZGVuOyBwcmV2OiAke1cuTi5mSygpfSBuZXh0OiAke24uTi5mSygpfWApO1cuTj1uLk58fHRoaXMuTjtXLlc9dGhpcy5XIT09LTE/dGhpcy5XOm4uVztXLlg9dGhpcy5YIT09LTE/dGhpcy5YOm4uWDtyZXR1cm4gV319O2cuQkM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmNvdW50PTA7dGhpcy5KPTE7dGhpcy5XPSExO3RoaXMub2Zmc2V0cz1uZXcgRmxvYXQ2NEFycmF5KDEyOCk7dGhpcy5zdGFydFRpY2tzPW5ldyBGbG9hdDY0QXJyYXkoMTI4KX1NSShuKXtyZXR1cm4gbjw9dGhpcy54JCgpfU4obil7cmV0dXJuIHRoaXMub2Zmc2V0c1tuXX1nZXRTdGFydFRpbWUobil7cmV0dXJuIHRoaXMuc3RhcnRUaWNrc1tuXS90aGlzLkp9akUobil7cmV0dXJuIHRoaXMuZ2V0U3RhcnRUaW1lKG4pK3RoaXMuZ2V0RHVyYXRpb24obil9aEMoKXtyZXR1cm4gTmFOfWdldER1cmF0aW9uKG4pe249dGhpcy5EKG4pO3JldHVybiBuPj0wP24vdGhpcy5KOi0xfUQobil7cmV0dXJuIG4rMTx0aGlzLmNvdW50fHx0aGlzLlc/dGhpcy5zdGFydFRpY2tzW24rMV0tdGhpcy5zdGFydFRpY2tzW25dOi0xfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gMH14JCgpe3JldHVybiB0aGlzLmNvdW50LTF9cWUobil7cmV0dXJuIHRoaXMueCQoKT09PQpuJiZuPj0wfWJRKCl7cmV0dXJuIHRoaXMuVz90aGlzLnN0YXJ0VGlja3NbdGhpcy5jb3VudF0vdGhpcy5KOk5hTn1MZigpe3JldHVybiAwfUg3KCl7cmV0dXJuIHRoaXMuY291bnR9Vigpe3JldHVybiIifVIzKG4pe24qPXRoaXMuSjtuPWcuVzQodGhpcy5zdGFydFRpY2tzLnN1YmFycmF5KDAsdGhpcy5jb3VudCksbik7cmV0dXJuIG4+PTA/bjpNYXRoLm1heCgwLC1uLTIpfWlzTG9hZGVkKCl7cmV0dXJuIHRoaXMueCQoKT49MH1YZChuLFcpe2lmKG4+PXRoaXMueCQoKSlyZXR1cm4gMDt2YXIgRD0wO2ZvcihXPXRoaXMuZ2V0U3RhcnRUaW1lKG4pK1c7bjx0aGlzLngkKCkmJlc+dGhpcy5nZXRTdGFydFRpbWUobik7bisrKUQ9TWF0aC5tYXgoRCx0TSh0aGlzLG4pL3RoaXMuZ2V0RHVyYXRpb24obikpO3JldHVybiBEfXJlc2l6ZShuKXtuKz0yO3ZhciBXPXRoaXMub2Zmc2V0czt0aGlzLm9mZnNldHM9bmV3IEZsb2F0NjRBcnJheShuKzEpO3ZhciBEPXRoaXMuc3RhcnRUaWNrczt0aGlzLnN0YXJ0VGlja3M9Cm5ldyBGbG9hdDY0QXJyYXkobisxKTtmb3Iobj0wO248dGhpcy5jb3VudCsxO24rKyl0aGlzLm9mZnNldHNbbl09V1tuXSx0aGlzLnN0YXJ0VGlja3Nbbl09RFtuXX1jYXAobixXKXskWCh0aGlzKTt0aGlzLlc9ITA7dGhpcy5zdGFydFRpY2tzW3RoaXMuY291bnRdPVc7dGhpcy5vZmZzZXRzW3RoaXMuY291bnRdPW59fTtnLkJDLnByb3RvdHlwZS5VNz1XWigyKTt2YXIgc2s9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcihuLFcsRCxiKTt0aGlzLmo9bnVsbDt0aGlzLmluZGV4PW5ldyBnLkJDfVkobixXKXt2YXIgRD1uZXcgcUkoMix0aGlzLHRoaXMuaW5kZXhSYW5nZSwiaW5kZXhJbmZvIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyksYj1bbmV3IHFJKDEsdGhpcyx0aGlzLmluaXRSYW5nZSwiaW5pdEluZm8iLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxXKSxEXTt0aGlzLmluZm8uY29udGVudExlbmd0aD4wJiZuJiYoRD1ELnJhbmdlLmVuZCsxLG49TWF0aC5taW4obix0aGlzLmluZm8uY29udGVudExlbmd0aC1EKSxuPjAmJmIucHVzaChuZXcgcUkoNCx0aGlzLFdfKEQsbiksInRiZFJhbmdlIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVykpKTtyZXR1cm4gbmV3IHdrKGIpfUR0KG4pe2lmKG4uaW5mby50eXBlPT09CjEpe2lmKHRoaXMuSilyZXR1cm47dGhpcy5KPSRNKG4uSil9ZWxzZSBpZihuLmluZm8udHlwZT09PTIpe2lmKHRoaXMuanx8dGhpcy5pbmRleC54JCgpPj0wKXJldHVybjtpZihnLlJCKHRoaXMuaW5mbykpe3ZhciBXPXRoaXMuaW5kZXgsRD1nLldSKG4pO249bi5pbmZvLnJhbmdlLnN0YXJ0O3ZhciBiPWcubnMoRCwwLDE5MzYyODY4NDApO0Q9THMoYik7Vy5KPUQudGltZXNjYWxlO3ZhciB2PUQuZjg7Vy5vZmZzZXRzWzBdPUQuTm8rbitiLnNpemU7Vy5zdGFydFRpY2tzWzBdPXY7Vy5XPSEwO249RC5xZy5sZW5ndGg7Zm9yKHY9MDt2PG47disrKXJ5KFcsRC5Ic1t2XSxELnFnW3ZdKX1lbHNlIHRoaXMuaj1nLldSKG4pfWlmKHRoaXMuaW5mby5xSCgpJiZ0aGlzLkomJnRoaXMuail7bj1uZXcgRGF0YVZpZXcodGhpcy5KLmJ1ZmZlcik7Vz10aGlzLmluZGV4O3Y9dGhpcy5qO0Q9dGhpcy5pbmRleFJhbmdlLmVuZDtiPW5ldyB0WShuKTtuPWI7Yj1uLnBvczt2YXIgaz17Qzk6MUU2LG84OjFFOSwKZHVyYXRpb246MCx4TTowLGJtOjB9O2lmKHNZKG4sNDA4MTI1NTQzKSlpZihrLnhNPU5rKG4sITApLGsuYm09bi5zdGFydCtuLnBvcyxzWShuLDM1NzE0OTAzMCkpe2Zvcih2YXIgaD1yQShuKTshSHcoaCk7KXt2YXIgeD1OayhoLCExKTt4PT09MjgwNzcyOT9rLkM5PWZzKGgpOng9PT0yODA3NzMwP2subzg9ZnMoaCk6eD09PTE3NTQ1P2suZHVyYXRpb249SUIoaCk6SlkoaCl9bi5wb3M9YjtuPWt9ZWxzZSBuLnBvcz1iLG49bnVsbDtlbHNlIG4ucG9zPWIsbj1udWxsO2lmKG4hPT1udWxsKXtXLko9bi5vOC9uLkM5O2I9bmV3IHRZKHYpO3Y9YjtoPW4uYm07Yj12LnBvcztrPVtdO2lmKHNZKHYsNDc1MjQ5NTE1KSl7Zm9yKHg9ckEodik7c1koeCwxODcpOyl7bGV0IEw9ckEoeCk7aWYoIXNZKEwsMTc5KSljb250aW51ZTtsZXQgZT1mcyhMKTtpZighc1koTCwxODMpKWNvbnRpbnVlO0w9ckEoTCk7bGV0IEc9aDtmb3IoO3NZKEwsMjQxKTspRz1mcyhMKStoO2sucHVzaCh7Zm86RyxuODplfSl9aWYoay5sZW5ndGg+CjAmJkQ9PT1rWzBdLmZvKWZvcihEPTA7RDxrLmxlbmd0aDtEKyspa1tEXS5mbys9MTt2LnBvcz1iO0Q9a31lbHNlIHYucG9zPWIsRD1udWxsO2lmKEQhPT1udWxsKXtmb3IobGV0IEwgb2YgRClEPVcsdj1MLmZvLGI9TC5uOCwkWChEKSxELm9mZnNldHNbRC5jb3VudF09dixELnN0YXJ0VGlja3NbRC5jb3VudF09YixELmNvdW50Kys7Vy5jYXAobi54TStuLmJtLG4uZHVyYXRpb24pfX10aGlzLmo9bnVsbH19R0Mobil7dmFyIFc9dGhpcy5WUShuLmluZm8pLEQ9bi5pbmZvLnJhbmdlLnN0YXJ0K24uaW5mby5OLGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPWdkKG4uSixXW3ZdLnJhbmdlLnN0YXJ0K1dbdl0uTi1ELFdbdl0uSik7Yi5wdXNoKG5ldyBiOChXW3ZdLGspKX1yZXR1cm4gYn1WUShuKXtmb3IodmFyIFc9bi5yYW5nZS5zdGFydCtuLk4sRD0wO0Q8dGhpcy5pbmRleC54JCgpJiZXPj10aGlzLmluZGV4Lk4oRCsxKTspRCsrO3JldHVybiBzTih0aGlzLEQsVywKbi5KKS5Bd31YKG4pe24uVigpO3JldHVybiB0aGlzLk4oKT8hMDpuLnJhbmdlLmVuZCsxPHRoaXMuaW5mby5jb250ZW50TGVuZ3RofWJkKG4sVyl7dGhpcy5YKG4pO2lmKCF0aGlzLk4oKSlyZXR1cm4gVz1XXyhuLnJhbmdlLmVuZCsxLFcpLFcuZW5kKzE+dGhpcy5pbmZvLmNvbnRlbnRMZW5ndGgmJihXPW5ldyBhQihXLnN0YXJ0LHRoaXMuaW5mby5jb250ZW50TGVuZ3RoLTEpKSxuZXcgd2soW25ldyBxSSg0LG4uUEosVywiZ2V0TmV4dFJlcXVlc3RJbmZvQnlMZW5ndGgiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxuLmNsaXBJZCldKTtuLnR5cGU9PT00JiYobj10aGlzLlZRKG4pLG49bltuLmxlbmd0aC0xXSk7dmFyIEQ9MCxiPW4ucmFuZ2Uuc3RhcnQrbi5OK24uSjtuLnR5cGU9PT0zJiYobi5WKCksRD1uLmokLGI9PT1uLnJhbmdlLmVuZCsxJiYoRCs9MSkpO3JldHVybiBzTih0aGlzLEQsYixXKX1lJCgpe3JldHVybiBudWxsfUsobixXPQohMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gc04odGhpcyxuLHRoaXMuaW5kZXguTihuKSwwKX1XKCl7cmV0dXJuITB9RCgpe3JldHVybiEwfVRDKCl7cmV0dXJuITF9SEooKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlLmxlbmd0aCt0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlJiZ0aGlzLmluaXRSYW5nZSYmdGhpcy5pbml0UmFuZ2UuZW5kKzE9PT10aGlzLmluZGV4UmFuZ2Uuc3RhcnQ/ITA6ITF9fTt2YXIgQU09Y2xhc3N7Y29uc3RydWN0b3Iobj0wLFc9MCxEPSJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSIsYj0hMSx2LGssaD0iQVVESU9fUVVBTElUWV9VTktOT1dOIix4PSExKXt0aGlzLnNhbXBsZVJhdGU9bjt0aGlzLm51bUNoYW5uZWxzPVc7dGhpcy5zcGF0aWFsQXVkaW9UeXBlPUQ7dGhpcy5XPWI7dGhpcy5YPXY7dGhpcy5KPWs7dGhpcy5hdWRpb1F1YWxpdHk9aDt0aGlzLk49eH1pc011bHRpQ2hhbm5lbEF1ZGlvKCl7cmV0dXJuIHRoaXMubnVtQ2hhbm5lbHM+Mn19O3ZhciBLTT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiPSIiLHY9IiIsaz0iIil7dGhpcy5kaXNwbGF5TmFtZT1uO3RoaXMudnNzSWQ9Vzt0aGlzLmxhbmd1YWdlQ29kZT1EO3RoaXMua2luZD1iO3RoaXMueHRhZ3M9djt0aGlzLmlkPWt9fTt2YXIgciR4PXtDT0xPUl9QUklNQVJJRVNfQlQ3MDk6ImJ0NzA5IixDT0xPUl9QUklNQVJJRVNfQlQyMDIwOiJidDIwMjAiLENPTE9SX1BSSU1BUklFU19VTktOT1dOOm51bGwsQ09MT1JfUFJJTUFSSUVTX1VOU1BFQ0lGSUVEOm51bGx9LGJxVT17Q09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUNzA5OiJidDcwOSIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUMjAyMF8xMDoiYnQyMDIwIixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfU01QVEVTVDIwODQ6InNtcHRlMjA4NCIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0FSSUJfU1REX0I2NzoiYXJpYi1zdGQtYjY3IixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfVU5LTk9XTjpudWxsLENPTE9SX1RSQU5TRkVSX0NIQVJBQ1RFUklTVElDU19VTlNQRUNJRklFRDpudWxsfTt2YXIgQVQ9e1dJRFRIOntuYW1lOiJ3aWR0aCIsdmlkZW86ITAsdmFsaWQ6NjQwLHZHOjk5OTk5fSxIRUlHSFQ6e25hbWU6ImhlaWdodCIsdmlkZW86ITAsdmFsaWQ6MzYwLHZHOjk5OTk5fSxGUkFNRVJBVEU6e25hbWU6ImZyYW1lcmF0ZSIsdmlkZW86ITAsdmFsaWQ6MzAsdkc6OTk5OX0sQklUUkFURTp7bmFtZToiYml0cmF0ZSIsdmlkZW86ITAsdmFsaWQ6M0U1LHZHOjJFOX0sRU9URjp7bmFtZToiZW90ZiIsdmlkZW86ITAsdmFsaWQ6ImJ0NzA5Iix2RzoiY2F0YXZpc2lvbiJ9LENIQU5ORUxTOntuYW1lOiJjaGFubmVscyIsdmlkZW86ITEsdmFsaWQ6Mix2Rzo5OX0sQ1JZUFRPQkxPQ0tGT1JNQVQ6e25hbWU6ImNyeXB0b2Jsb2NrZm9ybWF0Iix2aWRlbzohMCx2YWxpZDoic3Vic2FtcGxlIix2RzoiaW52YWxpZGZvcm1hdCJ9LERFQ09ERVRPVEVYVFVSRTp7bmFtZToiZGVjb2RlLXRvLXRleHR1cmUiLHZpZGVvOiEwLHZhbGlkOiJmYWxzZSIsdkc6Im5vcGUifSxBVjFfQ09ERUNTOntuYW1lOiJjb2RlY3MiLAp2aWRlbzohMCx2YWxpZDoiYXYwMS4wLjA1TS4wOCIsdkc6ImF2OTkuMC4wNU0uMDgifSxFWFBFUklNRU5UQUw6e25hbWU6ImV4cGVyaW1lbnRhbCIsdmlkZW86ITAsdmFsaWQ6ImFsbG93ZWQiLHZHOiJpbnZhbGlkIn0sVFVOTkVMTU9ERTp7bmFtZToidHVubmVsbW9kZSIsdmlkZW86ITAsdmFsaWQ6InRydWUiLHZHOiJmYWxzZSJ9fTt2YXIgWWc9e1siMCJdOiJmIixbIjE2MCJdOiJoIixbIjEzMyJdOiJoIixbIjEzNCJdOiJoIixbIjEzNSJdOiJoIixbIjEzNiJdOiJoIixbIjEzNyJdOiJoIixbIjI2NCJdOiJoIixbIjI2NiJdOiJoIixbIjEzOCJdOiJoIixbIjI5OCJdOiJoIixbIjI5OSJdOiJoIixbIjMwNCJdOiJoIixbIjMwNSJdOiJoIixbIjIxNCJdOiJoIixbIjIxNiJdOiJoIixbIjM3NCJdOiJoIixbIjM3NSJdOiJoIixbIjE0MCJdOiJhIixbIjE0MSJdOiJhIixbIjMyNyJdOiJzYSIsWyIyNTgiXToibSIsWyIzODAiXToibWFjMyIsWyIzMjgiXToibWVhYzMiLFsiMTYxIl06IkgiLFsiMTQyIl06IkgiLFsiMTQzIl06IkgiLFsiMTQ0Il06IkgiLFsiMjIyIl06IkgiLFsiMjIzIl06IkgiLFsiMTQ1Il06IkgiLFsiMjI0Il06IkgiLFsiMjI1Il06IkgiLFsiMTQ2Il06IkgiLFsiMjI2Il06IkgiLFsiMjI3Il06IkgiLFsiMTQ3Il06IkgiLFsiMzg0Il06IkgiLFsiMzc2Il06IkgiLFsiMzg1Il06IkgiLFsiMzc3Il06IkgiLApbIjE0OSJdOiJBIixbIjI2MSJdOiJNIixbIjM4MSJdOiJNQUMzIixbIjMyOSJdOiJNRUFDMyIsWyI1OTgiXToiOSIsWyIyNzgiXToiOSIsWyIyNDIiXToiOSIsWyIyNDMiXToiOSIsWyIyNDQiXToiOSIsWyI3NzUiXToiOSIsWyI3NzYiXToiOSIsWyI3NzciXToiOSIsWyI3NzgiXToiOSIsWyI3NzkiXToiOSIsWyI3ODAiXToiOSIsWyI3ODEiXToiOSIsWyI3ODIiXToiOSIsWyI3ODMiXToiOSIsWyIyNDciXToiOSIsWyIyNDgiXToiOSIsWyIzNTMiXToiOSIsWyIzNTUiXToiOSIsWyIzNTYiXToiOSIsWyIyNzEiXToiOSIsWyI1NzciXToiOSIsWyIzMTMiXToiOSIsWyI1NzkiXToiOSIsWyIyNzIiXToiOSIsWyIzMDIiXToiOSIsWyIzMDMiXToiOSIsWyI0MDciXToiOSIsWyI0MDgiXToiOSIsWyIzMDgiXToiOSIsWyIzMTUiXToiOSIsWyIzMzAiXToiOWgiLFsiMzMxIl06IjloIixbIjMzMiJdOiI5aCIsWyIzMzMiXToiOWgiLFsiMzM0Il06IjloIixbIjMzNSJdOiI5aCIsWyIzMzYiXToiOWgiLApbIjMzNyJdOiI5aCIsWyIzMzgiXToic28iLFsiNjAwIl06Im8iLFsiMjUwIl06Im8iLFsiMjUxIl06Im8iLFsiNzc0Il06Im8iLFsiMTk0Il06IioiLFsiMTk1Il06IioiLFsiMjIwIl06IioiLFsiMjIxIl06IioiLFsiMTk2Il06IioiLFsiMTk3Il06IioiLFsiMjc5Il06IigiLFsiMjgwIl06IigiLFsiMzE3Il06IigiLFsiMzE4Il06IigiLFsiMjczIl06IigiLFsiMjc0Il06IigiLFsiMzU3Il06IigiLFsiMzU4Il06IigiLFsiMjc1Il06IigiLFsiMzU5Il06IigiLFsiMzYwIl06IigiLFsiMjc2Il06IigiLFsiNTgzIl06IigiLFsiNTg0Il06IigiLFsiMzE0Il06IigiLFsiNTg1Il06IigiLFsiNTYxIl06IigiLFsiMjc3Il06IigiLFsiMzYxIl06IihoIixbIjM2MiJdOiIoaCIsWyIzNjMiXToiKGgiLFsiMzY0Il06IihoIixbIjM2NSJdOiIoaCIsWyIzNjYiXToiKGgiLFsiNTkxIl06IihoIixbIjU5MiJdOiIoaCIsWyIzNjciXToiKGgiLFsiNTg2Il06IihoIixbIjU4NyJdOiIoaCIsClsiMzY4Il06IihoIixbIjU4OCJdOiIoaCIsWyI1NjIiXToiKGgiLFsiNDA5Il06IigiLFsiNDEwIl06IigiLFsiNDExIl06IigiLFsiNDEyIl06IigiLFsiNTU3Il06IigiLFsiNTU4Il06IigiLFsiMzk0Il06IjEiLFsiMzk1Il06IjEiLFsiMzk2Il06IjEiLFsiMzk3Il06IjEiLFsiMzk4Il06IjEiLFsiMzk5Il06IjEiLFsiNzIwIl06IjEiLFsiNzIxIl06IjEiLFsiNDAwIl06IjEiLFsiNDAxIl06IjEiLFsiNTcxIl06IjEiLFsiNDAyIl06IjEiLFsiNjk0Il06IjFoIixbIjY5NSJdOiIxaCIsWyI2OTYiXToiMWgiLFsiNjk3Il06IjFoIixbIjY5OCJdOiIxaCIsWyI2OTkiXToiMWgiLFsiNzAwIl06IjFoIixbIjcwMSJdOiIxaCIsWyI3MDIiXToiMWgiLFsiNzAzIl06IjFoIixbIjM4NiJdOiIzIixbIjM4NyJdOiJ3IixbIjQwNiJdOiI2IixbIjc4NyJdOiIxIixbIjc4OCJdOiIxIixbIjU0OCJdOiIxZSIsWyI1NDkiXToiMWUiLFsiNTUwIl06IjFlIixbIjU1MSJdOiIxZSIsWyI4MDkiXToiMWUiLApbIjgxMCJdOiIxZSIsWyI1NTIiXToiMWUiLFsiODExIl06IjFlIixbIjgxMiJdOiIxZSIsWyI1NTMiXToiMWUiLFsiODEzIl06IjFlIixbIjgxNCJdOiIxZSIsWyI1NTQiXToiMWUiLFsiODE1Il06IjFlIixbIjgxNiJdOiIxZSIsWyI1NTUiXToiMWUiLFsiODE3Il06IjFlIixbIjgxOCJdOiIxZSIsWyI1NzIiXToiMWUiLFsiNTU2Il06IjFlIixbIjY0NSJdOiIoIixbIjY0NiJdOiIoIixbIjY0NyJdOiIoIixbIjY0OCJdOiIoIixbIjY0OSJdOiIoIixbIjY1MCJdOiIoIixbIjY1MSJdOiIoIixbIjY1MiJdOiIoIixbIjY1MyJdOiIoIixbIjY1NCJdOiIoIixbIjY1NSJdOiIoIixbIjY1NiJdOiIoIixbIjY1NyJdOiIoIixbIjY1OCJdOiIoIixbIjY1OSJdOiIoIixbIjY2MCJdOiIoIixbIjY2MSJdOiIoIixbIjY2MiJdOiIoIixbIjY2MyJdOiIoIixbIjY2NCJdOiIoIixbIjY2NSJdOiIoIixbIjY2NiJdOiIoIixbIjY2NyJdOiIoIixbIjY2OCJdOiIoIixbIjY2OSJdOiIoIixbIjY3MCJdOiIoIiwKWyI2NzEiXToiKCIsWyI2NzIiXToiKCIsWyI2NzMiXToiKCIsWyI2NzQiXToiKGgiLFsiNjc1Il06IihoIixbIjY3NiJdOiIoaCIsWyI2NzciXToiKGgiLFsiNjc4Il06IihoIixbIjY3OSJdOiIoaCIsWyI2ODAiXToiKGgiLFsiNjgxIl06IihoIixbIjY4MiJdOiIoaCIsWyI2ODMiXToiKGgiLFsiNjg0Il06IihoIixbIjY4NSJdOiIoaCIsWyI2ODYiXToiKGgiLFsiNjg3Il06IihoIixbIjY4OCJdOiJBIixbIjY4OSJdOiJBIixbIjY5MCJdOiJBIixbIjY5MSJdOiJNRUFDMyIsWyI3NzMiXToiaSIsWyI4MDYiXToiSSIsWyI4MDUiXToiSSIsWyI4MjkiXToiOSIsWyI4MzAiXToiOSIsWyI4MzEiXToiOSIsWyI4MzIiXToiOSIsWyI4MzMiXToiOSIsWyI4MzQiXToiOSIsWyI4MzUiXToiOSIsWyI4MzYiXToiOSIsWyI4OTIiXToiOSIsWyI4OTMiXToiOSIsWyI4MzciXToiOSIsWyI4MzgiXToiOSIsWyI4MzkiXToiOSIsWyI4NDAiXToiOSIsWyI4NDEiXToiKCIsWyI4NDIiXToiKCIsWyI4NDMiXToiKCIsClsiODQ0Il06IigiLFsiODQ1Il06IigiLFsiODQ2Il06IigiLFsiODQ3Il06IigiLFsiODQ4Il06IigiLFsiODk0Il06IigiLFsiODk1Il06IigiLFsiODQ5Il06IigiLFsiODUwIl06IigiLFsiODUxIl06IigiLFsiODUyIl06IigiLFsiODY1Il06IjkiLFsiODY2Il06IjkiLFsiODY3Il06IjkiLFsiODY4Il06IjkiLFsiODY5Il06IjkiLFsiODcwIl06IjkiLFsiODcxIl06IjkiLFsiODcyIl06IjkiLFsiODk2Il06IjkiLFsiODk3Il06IjkiLFsiODczIl06IjkiLFsiODc0Il06IjkiLFsiODc1Il06IjkiLFsiODc2Il06IjkiLFsiODc3Il06IigiLFsiODc4Il06IigiLFsiODc5Il06IigiLFsiODgwIl06IigiLFsiODgxIl06IigiLFsiODgyIl06IigiLFsiODgzIl06IigiLFsiODg0Il06IigiLFsiODk4Il06IigiLFsiODk5Il06IigiLFsiODg1Il06IigiLFsiODg2Il06IigiLFsiODg3Il06IigiLFsiODg4Il06IigiLFsiOTAwIl06IjIiLFsiOTAxIl06IjIiLFsiOTAyIl06IjIiLApbIjkwMyJdOiIyIixbIjkwNCJdOiIyIixbIjkwNSJdOiIyIixbIjkwNiJdOiIyIixbIjkwNyJdOiIyIixbIjkwOCJdOiIyIn07dmFyIHBNPSJoaWdocmVzIGhkMjg4MCBoZDIxNjAgaGQxNDQwIGhkMTA4MCBoZDcyMCBsYXJnZSBtZWRpdW0gc21hbGwgdGlueSIuc3BsaXQoIiAiKTt2YXIgSFI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSxHKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9Vzt0aGlzLlc9eDt0aGlzLnF1YWxpdHk9a3x8WVgobixXKTt0aGlzLnF1YWxpdHlPcmRpbmFsPU5HW3RoaXMucXVhbGl0eV07dGhpcy5mcHM9RHx8MDt0aGlzLnN0ZXJlb0xheW91dD0hdnx8YiE9bnVsbCYmYiE9PSJVTktOT1dOIiYmYiE9PSJSRUNUQU5HVUxBUiI/MDp2O3RoaXMucHJvamVjdGlvblR5cGU9Yj9iPT09IkVRVUlSRUNUQU5HVUxBUiImJnY9PT0yPyJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOmI6IlVOS05PV04iOyhuPWgpfHwoRD1OR1t0aGlzLnF1YWxpdHldLEQ9PT0wP249IkF1dG8iOihuPXRoaXMucHJvamVjdGlvblR5cGUsVz10aGlzLmZwcyxuPUQudG9TdHJpbmcoKSsobj09PSJFUVVJUkVDVEFOR1VMQVIifHxuPT09IkVRVUlSRUNUQU5HVUxBUl9USFJFRURfVE9QX0JPVFRPTSJ8fG49PT0iTUVTSCI/InMiOiJwIikrCihXPjU1PyI2MCI6Vz40OT8iNTAiOlc+Mzk/IjQ4IjoiIikpKTt0aGlzLnF1YWxpdHlMYWJlbD1uO3RoaXMuTj1MfHwiIjt0aGlzLnByaW1hcmllcz1lfHwiIjt0aGlzLlg9Rz8/ITB9Sigpe3JldHVybiB0aGlzLmZwcz4zMn1pc0hkcigpe3JldHVybiB0aGlzLk49PT0ic21wdGUyMDg0Inx8dGhpcy5OPT09ImFyaWItc3RkLWI2NyJ9fTt2YXIgbXU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQ9e30pe3RoaXMuaWQ9bjt0aGlzLm1pbWVUeXBlPVc7RC5Ocz4wfHwoRC5Ocz0xNkUzKTtPYmplY3QuYXNzaWduKHRoaXMsRCk7W3RoaXMuaXRhZyx0aGlzLkpdPXRoaXMuaWQuc3BsaXQoIjsiKTt0aGlzLmNvbnRhaW5lclR5cGU9Sk0oVyk7dGhpcy5JQj1ZZ1t0aGlzLml0YWddfHwiIn1LKCl7cmV0dXJuIHRoaXMudmlkZW99WSgpe3JldHVybiB0aGlzLmF1ZGlvfXFIKCl7cmV0dXJuIHRoaXMuY29udGFpbmVyVHlwZT09PTJ9WCgpe3JldHVybiB0aGlzLklCPT09IjkifHx0aGlzLklCPT09IigifHx0aGlzLklCPT09IjloInx8dGhpcy5JQj09PSIoaCJ9TVcoKXtyZXR1cm4gdGhpcy5JQj09PSIxInx8dGhpcy5JQj09PSIxaCJ8fFBSJiZ0aGlzLklCPT09IjFlIn1WKCl7cmV0dXJuIHRoaXMuSUI9PT0ibWFjMyJ8fHRoaXMuSUI9PT0ibWVhYzMifHx0aGlzLklCPT09Im0ifHx0aGlzLklCPT09ImkifHxtRih0aGlzKX1EKCl7cmV0dXJuIHRoaXMuSUI9PT0KIk1BQzMifHx0aGlzLklCPT09Im1hYzMifHx0aGlzLklCPT09Ik1FQUMzInx8dGhpcy5JQj09PSJtZWFjMyJ9aXNFbmNyeXB0ZWQoKXtyZXR1cm4hIXRoaXMuY29udGVudFByb3RlY3Rpb259ZVMoKXtyZXR1cm4hIXRoaXMuYXVkaW99ZlkoKXtyZXR1cm4hIXRoaXMudmlkZW99Vygpe3JldHVybiB0aGlzLm1pbWVUeXBlPT09ImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCJ9Tigpe3ZhciBuPXRoaXMubWltZVR5cGU7cmV0dXJuIG4uaW5jbHVkZXMoInZ0dCIpfHxuLmluY2x1ZGVzKCJ0ZXh0L21wNCIpfWlzVmVydGljYWwoKXtyZXR1cm4hIXRoaXMudmlkZW8mJnRoaXMudmlkZW8ud2lkdGg8dGhpcy52aWRlby5oZWlnaHR9fSxQUj0hMSxFTj0hMTtnLkZzPWNsYXNzIGV4dGVuZHMgZy5KTHtOTihuLFcsRCxiLHYpe3JldHVybiBzdXBlci5OTihuLFcsRCxiLHYpfX07dmFyIHhnPWNsYXNzIGV4dGVuZHMgZy5GaXtjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcigpO3RoaXMuayQ9bjt0aGlzLnN0YXJ0PVc7dGhpcy5lbmQ9RDt0aGlzLmlzQWN0aXZlPWI7dGhpcy5hcHBlbmRXaW5kb3dTdGFydD0wO3RoaXMuYXBwZW5kV2luZG93RW5kPUluZmluaXR5O3RoaXMudGltZXN0YW1wT2Zmc2V0PTA7dGhpcy5LVT17ZXJyb3I6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJlcnJvciIsdGhpcyl9LAp1cGRhdGVlbmQ6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJ1cGRhdGVlbmQiLHRoaXMpfX07CnRoaXMuayQuaCQodGhpcy5LVSk7dGhpcy5wTj10aGlzLmlzQWN0aXZlfWFwcGVuZEJ1ZmZlcihuLFcsRCl7aWYodGhpcy5rJC5NcigpIT09dGhpcy5hcHBlbmRXaW5kb3dTdGFydCt0aGlzLnN0YXJ0fHx0aGlzLmskLktGKCkhPT10aGlzLmFwcGVuZFdpbmRvd0VuZCt0aGlzLnN0YXJ0fHx0aGlzLmskLlNXKCkhPT10aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KXRoaXMuayQuc3VwcG9ydHMoMSksdGhpcy5rJC5lNyh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0K3RoaXMuc3RhcnQsdGhpcy5hcHBlbmRXaW5kb3dFbmQrdGhpcy5zdGFydCksdGhpcy5rJC55Tyh0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KTt0aGlzLmskLmFwcGVuZEJ1ZmZlcihuLFcsRCl9YWJvcnQoKXt0aGlzLmskLmFib3J0KCl9cmVtb3ZlKG4sVyl7dGhpcy5rJC5yZW1vdmUobit0aGlzLnN0YXJ0LFcrdGhpcy5zdGFydCl9VGkoKXt0aGlzLnJlbW92ZSh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0LHRoaXMuYXBwZW5kV2luZG93RW5kKX1jbGVhcigpe3RoaXMuayQuY2xlYXIoKX1lNyhuLApXKXt0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0PW47dGhpcy5hcHBlbmRXaW5kb3dFbmQ9V31pdygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0fU1yKCl7cmV0dXJuIHRoaXMuYXBwZW5kV2luZG93U3RhcnR9S0YoKXtyZXR1cm4gdGhpcy5hcHBlbmRXaW5kb3dFbmR9eU8obil7dGhpcy50aW1lc3RhbXBPZmZzZXQ9bn1TVygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldH1aRihuPSExKXtuPXRoaXMuayQuWkYobik7cmV0dXJuIFFUKG4sdGhpcy5zdGFydCx0aGlzLmVuZCl9eXUoKXtyZXR1cm4gdGhpcy5rJC55dSgpfWZGKCl7cmV0dXJuIHRoaXMuayQuZkYoKX1nWCgpe3JldHVybiB0aGlzLmskLmdYKCl9RGMoKXtyZXR1cm4gdGhpcy5rJC5EYygpfWg5KCl7dGhpcy5rJC5oOSgpfXRaKG4pe3JldHVybiB0aGlzLmskLnRaKG4pfUQ5KCl7cmV0dXJuIHRoaXMuayQuRDkoKX1MRigpe3JldHVybiB0aGlzLmskLkxGKCl9am4obixXLEQpe3RoaXMuayQuam4obiwKVyxEKX1WbyhuLFcsRCl7dGhpcy5rJC5WbyhuLFcsRCl9bmEobixXKXtyZXR1cm4gdGhpcy5rJC5uYShuLFcpfXN1cHBvcnRzKG4pe3JldHVybiB0aGlzLmskLnN1cHBvcnRzKG4pfVpnKCl7cmV0dXJuIHRoaXMuayQuWmcoKX1pUSgpe3JldHVybiB0aGlzLmskLmlRKCl9aXNWaWV3KCl7cmV0dXJuITB9am8oKXtyZXR1cm4gdGhpcy5rJC5qbygpP3RoaXMuaXNBY3RpdmU6ITF9aXNMb2NrZWQoKXtyZXR1cm4gdGhpcy5wTiYmIXRoaXMuaXNBY3RpdmV9eXIobil7bj10aGlzLmskLnlyKG4pO24udnc9YCR7dGhpcy5zdGFydH0tJHt0aGlzLmVuZH1gO3JldHVybiBufW5GKCl7cmV0dXJuIHRoaXMuayQubkYoKX1Lcygpe3JldHVybiB0aGlzLmskLktzKCl9ejAoKXtyZXR1cm4gdGhpcy5rJC56MCgpfW1BKCl7dGhpcy5rJC5NOSh0aGlzLktVKTtzdXBlci5tQSgpfUtpKCl7cmV0dXJuIHRoaXMuaXNBY3RpdmV9VnUobil7dGhpcy5pc0FjdGl2ZT1uO3RoaXMucE49dGhpcy5wTnx8dGhpcy5pc0FjdGl2ZX19O3ZhciBzND0hMTt2YXIga2c9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG4sVyxELGIsdixrKXtzdXBlcigpO3RoaXMuUUU9bjt0aGlzLkVWPVc7dGhpcy5pZD1EO3RoaXMuY29udGFpbmVyVHlwZT1iO3RoaXMuSUI9djt0aGlzLmZZPWs7dGhpcy5tTz10aGlzLmpxPXRoaXMuZEg9bnVsbDt0aGlzLmVvPSExO3RoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLkY0PVRpKFtdLFtdKTt0aGlzLkhIPSExO3RoaXMuaWs9W107dGhpcy55Nj1QYz9bXTp2b2lkIDA7dGhpcy5oYW5kbGVyPWg9PnRoaXMuV0ooaC50eXBlLHRoaXMpOwp0aGlzLlFFPy5hZGRFdmVudExpc3RlbmVyJiYodGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVlbmQiLHRoaXMuaGFuZGxlciksdGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcy5oYW5kbGVyKSl9YXBwZW5kQnVmZmVyKG4sVyxEKXt0aGlzLkhIPSExO0QmJih0aGlzLmpxPUQpO24ubGVuZ3RoJiYodGhpcy5RRT8uYXBwZW5kQnVmZmVyP3RoaXMuUUUuYXBwZW5kQnVmZmVyKG4pOnRoaXMuUUU/dGhpcy5RRS5hcHBlbmQobik6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBcHBlbmQodGhpcy5pZCxuKSk7VyYmKFcuaXNFbmNyeXB0ZWQoKSYmKHRoaXMubU89dGhpcy5qcSksVy50eXBlPT09MyYmKHRoaXMuZEg9VyksdGhpcy5pay5wdXNoKFcuZ2EoKSksdGhpcy5pay5sZW5ndGg+NCYmdGhpcy5pay5zaGlmdCgpKTt0aGlzLnk2JiYodGhpcy55Ni5sZW5ndGg+PTJ8fG4ubGVuZ3RoPjEwNDg1NzY/ZGVsZXRlIHRoaXMueTY6dGhpcy55Ni5wdXNoKG4pKX1hYm9ydCgpe3RyeXt0aGlzLlFFPwp0aGlzLlFFLmFib3J0KCk6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBYm9ydCh0aGlzLmlkKX1jYXRjaChuKXtRalomJmcuR3EobmV3IGcuUXgoYEVycm9yIHdoaWxlIGFib3J0IHRoZSBzb3VyY2UgYnVmZmVyOiAke24ubmFtZX0sICR7bi5tZXNzYWdlfWApKX10aGlzLmpxPXRoaXMuZEg9bnVsbH1yZW1vdmUobixXLEQpe3RoaXMuSEg9ITE7dGhpcy5RRT8ucmVtb3ZlJiYoRCYmRCh7Yjpyayh0aGlzLlpGKCkpLHM6bixlOld9KSx0aGlzLlFFLnJlbW92ZShuLFcpKX1UaSgpe3RoaXMucmVtb3ZlKHRoaXMuTXIoKSx0aGlzLktGKCkpfWNsZWFyKCl7dGhpcy5nWCgpfHwodGhpcy5hYm9ydCgpLHRoaXMuVGkoKSx0aGlzLm1PPXRoaXMuanE9dGhpcy5kSD1udWxsLHRoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MCx0aGlzLkY0PVRpKFtdLFtdKSx0aGlzLkhIPSExLHRoaXMueTY9UGM/W106dm9pZCAwLHRoaXMuZW89ITApfU1yKCl7cmV0dXJuIHM0JiYKdGhpcy5mWT90aGlzLmFwcGVuZFdpbmRvd1N0YXJ0OnRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwfUtGKCl7cmV0dXJuIHRoaXMuUUU/LmFwcGVuZFdpbmRvd0VuZHx8MH1lNyhuLFcpe3RoaXMuUUUmJihzNCYmdGhpcy5mWT8odGhpcy5hcHBlbmRXaW5kb3dTdGFydD1uLHRoaXMuUUUuYXBwZW5kV2luZG93RW5kPVcpOm4+dGhpcy5NcigpPyh0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XLHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bik6KHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bix0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XKSl9aXcoKXtyZXR1cm4gdGhpcy50aW1lc3RhbXBPZmZzZXR9eU8obil7czQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ9bjp0aGlzLnN1cHBvcnRzKDEpJiYodGhpcy5RRS50aW1lc3RhbXBPZmZzZXQ9bil9U1coKXtyZXR1cm4gczQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ6dGhpcy5zdXBwb3J0cygxKT90aGlzLlFFLnRpbWVzdGFtcE9mZnNldDowfVpGKG49CiExKXtpZihuKXJldHVybiB0aGlzLkhIfHx0aGlzLnl1KCl8fCh0aGlzLkY0PXRoaXMuWkYoITEpLHRoaXMuSEg9ITApLHRoaXMuRjQ7dHJ5e3JldHVybiB0aGlzLlFFP3RoaXMuUUUuYnVmZmVyZWQ6dGhpcy5FVj90aGlzLkVWLndlYmtpdFNvdXJjZUJ1ZmZlcmVkKHRoaXMuaWQpOlRpKFswXSxbSW5maW5pdHldKX1jYXRjaChXKXtyZXR1cm4gVGkoW10sW10pfX15dSgpe3JldHVybiB0aGlzLlFFPy51cGRhdGluZ3x8ITF9Z1goKXtyZXR1cm4gdGhpcy5lb31EYygpe3JldHVybiF0aGlzLmVvJiZ0aGlzLnl1KCl9aDkoKXt0aGlzLmVvPSExfXRaKG4pe3ZhciBXPW4/LklCO249bj8uY29udGFpbmVyVHlwZTtyZXR1cm4hVyYmIW58fFc9PT10aGlzLklCJiZuPT09dGhpcy5jb250YWluZXJUeXBlfUQ5KCl7cmV0dXJuIHRoaXMuanF9TEYoKXtyZXR1cm4gdGhpcy5tT31uYShuLFcpe3JldHVybiB0aGlzLmNvbnRhaW5lclR5cGUhPT1ufHx0aGlzLklCIT09V31qbihuLFcsRCl7aWYodGhpcy5jb250YWluZXJUeXBlIT09Cm58fEQmJnRoaXMubmEobixEKSl0aGlzLnN1cHBvcnRzKDQpLFZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShXKSxEJiYodGhpcy5JQj1EKTt0aGlzLmNvbnRhaW5lclR5cGU9bn1WbyhuLFcsRCl7dGhpcy5jb250YWluZXJUeXBlJiZ0aGlzLm5hKG4sVykmJlZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShEKTt0aGlzLmNvbnRhaW5lclR5cGU9bjt0aGlzLklCPVd9WmcoKXtyZXR1cm4gdGhpcy5kSH1pUSgpe3JldHVybiEhdGhpcy5kSCYmIXRoaXMuZEguYVp9aXNWaWV3KCl7cmV0dXJuITF9c3VwcG9ydHMobil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4gdGhpcy5RRT8udGltZXN0YW1wT2Zmc2V0IT09dm9pZCAwO2Nhc2UgMDpyZXR1cm4hIXRoaXMuUUU/LmFwcGVuZEJ1ZmZlcjtjYXNlIDI6cmV0dXJuISF0aGlzLlFFPy5yZW1vdmU7Y2FzZSAzOnJldHVybiEoIXRoaXMuUUU/LmFkZEV2ZW50TGlzdGVuZXJ8fCF0aGlzLlFFPy5yZW1vdmVFdmVudExpc3RlbmVyKTtjYXNlIDQ6cmV0dXJuISghdGhpcy5RRXx8CiF0aGlzLlFFLmNoYW5nZVR5cGUpO2RlZmF1bHQ6cmV0dXJuITF9fWpvKCl7cmV0dXJuIXRoaXMueXUoKX1pc0xvY2tlZCgpe3JldHVybiExfXlyKG4pe24udG89dGhpcy5TVygpO24udXA9dGhpcy55dSgpO24uYXc9YCR7KHRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwKS50b0ZpeGVkKDMpfS0keyh0aGlzLlFFPy5hcHBlbmRXaW5kb3dFbmR8fEluZmluaXR5KS50b0ZpeGVkKDMpfWA7cmV0dXJuIG59ZkYoKXtyZXR1cm4gdGhpcy5RRT8ud3JpdGVIZWFkfHwwfW5GKCl7dmFyIG49e307Zm9yKGxldCBXPTA7Vzx0aGlzLmlrLmxlbmd0aDtXKyspbltgcyR7V31gXT10aGlzLmlrW1ddO3JldHVybiBufW1BKCl7dGhpcy5zdXBwb3J0cygzKSYmKHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidXBkYXRlZW5kIix0aGlzLmhhbmRsZXIpLHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMuaGFuZGxlcikpO3N1cGVyLm1BKCl9S3MoKXtyZXR1cm4gdGhpcy5jb250YWluZXJUeXBlfXowKCl7cmV0dXJuIHRoaXMueTZ9fSwKUGM9ITEsUWpaPSExO3ZhciB3bj1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuWGI9bjt0aGlzLk49Vzt0aGlzLko9ITF9ZGlzcG9zZSgpe2lmKCF0aGlzLnFOKCkpe2lmKHRoaXMuTil0cnl7VVJMLnJldm9rZU9iamVjdFVSTCh0aGlzLlhiKX1jYXRjaChuKXt9dGhpcy5KPSEwfX1xTigpe3JldHVybiB0aGlzLkp9Vygpe3JldHVybiB0aGlzLk59ZXF1YWxzKG4pe3JldHVybiBuIT09bnVsbCYmbi5YYj09PXRoaXMuWGJ9dG9TdHJpbmcoKXtyZXR1cm5gTWVkaWFSZXNvdXJjZSB7JHt0aGlzLlhifX1gfX07dmFyIGhaPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuLFcsRD0hMSl7c3VwZXIoKTt0aGlzLm1lZGlhRWxlbWVudD1uO3RoaXMubWVkaWFTb3VyY2U9Vzt0aGlzLmlzVmlldz1EO3RoaXMuWT0wO3RoaXMuVj0hMTt0aGlzLks9ITA7dGhpcy5jSj0wO3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLk89ITE7dGhpcy5tZWRpYVNvdXJjZXx8KHRoaXMuRVY9dGhpcy5tZWRpYUVsZW1lbnQuZV8oKSk7dGhpcy5ldmVudHM9bmV3IGcuRnModGhpcyk7Zy51KHRoaXMsdGhpcy5ldmVudHMpO3RoaXMuaj1uZXcgd24odGhpcy5tZWRpYVNvdXJjZT93aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLm1lZGlhU291cmNlKTp0aGlzLkVWLndlYmtpdE1lZGlhU291cmNlVVJMLCEwKTtuPXRoaXMubWVkaWFTb3VyY2V8fHRoaXMuRVY7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZW9wZW4iLCJ3ZWJraXRzb3VyY2VvcGVuIl0sdGhpcy5TJCk7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZWNsb3NlIiwKIndlYmtpdHNvdXJjZWNsb3NlIl0sdGhpcy5UQyk7dGhpcy5MTD17dXBkYXRlZW5kOnRoaXMuZVh9fXR3KCl7cmV0dXJuIHRoaXMuan1nZXREdXJhdGlvbigpe3JldHVybiB0aGlzLm1lZGlhU291cmNlPy5kdXJhdGlvbnx8dGhpcy5jSn1hVChuKXt0cnl7dGhpcy5tZWRpYVNvdXJjZT90aGlzLm1lZGlhU291cmNlLmR1cmF0aW9uPW46KHRoaXMuY0o9bix0aGlzLkVWLndlYmtpdFNvdXJjZVNldER1cmF0aW9uKG4pKX1jYXRjaChXKXt9fVgoKXtyZXR1cm4hIXRoaXMuTnx8ISF0aGlzLkp9UEEoKXt0cnl7cmV0dXJuIHRoaXMuVygpPT09ImNsb3NlZCJ9Y2F0Y2gobil7cmV0dXJuITB9fVcoKXtpZih0aGlzLm1lZGlhU291cmNlKXJldHVybiB0aGlzLm1lZGlhU291cmNlLnJlYWR5U3RhdGU7c3dpdGNoKHRoaXMuRVYud2Via2l0U291cmNlU3RhdGUpe2Nhc2UgdGhpcy5FVi5TT1VSQ0VfT1BFTjpyZXR1cm4ib3BlbiI7Y2FzZSB0aGlzLkVWLlNPVVJDRV9FTkRFRDpyZXR1cm4iZW5kZWQiOwpkZWZhdWx0OnJldHVybiJjbG9zZWQifX15dSgpe3JldHVybiEhKHRoaXMuTiYmdGhpcy5OLnl1KCl8fHRoaXMuSiYmdGhpcy5KLnl1KCkpfVMkKCl7IXRoaXMucU4oKSYmbjYodGhpcykmJnRoaXMuY2FsbGJhY2smJih0aGlzLmNhbGxiYWNrKHRoaXMpLHRoaXMuY2FsbGJhY2s9bnVsbCl9VEMoKXt0aGlzLmRpc3Bvc2UoKX1lWChuKXtESCYmIXRoaXMuViYmbi5nWCgpJiZuLlpGKCkubGVuZ3RoPT09MCYmKGJBKHRoaXMubWVkaWFFbGVtZW50LHtsOiJtc3dvdWUiLHNyOnRoaXMubWVkaWFFbGVtZW50LllhPy5wZygpfSwhMSksbi5oOSgpLHRoaXMuZ1goKXx8KHRoaXMubWVkaWFFbGVtZW50LkNGPSEwLHRoaXMubWVkaWFFbGVtZW50LnNldEN1cnJlbnRUaW1lKDApKSl9Y2xlYXIoKXtXRih0aGlzLCgpPT57fSk7CnRoaXMuTj8uY2xlYXIoKTt0aGlzLko/LmNsZWFyKCl9RCgpe3RoaXMuTj8uaDkoKTt0aGlzLko/Lmg5KCk7dGhpcy5LPSExfWdYKCl7cmV0dXJuIHRoaXMuSj8uZ1goKXx8dGhpcy5OPy5nWCgpfXRaKG4sVyl7cmV0dXJuISF0aGlzLk4mJiEhdGhpcy5KJiZ0aGlzLk4udFooVykmJnRoaXMuSi50WihuKX1iZCgpe3JldHVybiEhdGhpcy5tZWRpYVNvdXJjZSYmdGhpcy5tZWRpYVNvdXJjZS5zdHJlYW1pbmc9PT0hMX19LERIPSExO3ZhciBnR3I9L2FjdGlvbl9kaXNwbGF5X3Bvc3QvO2cuR3g9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG49IiIsVz1udWxsLEQ9ITEpe3N1cGVyKCk7dGhpcy5zb3VyY2VVcmw9bjt0aGlzLmlzTGl2ZVBsYXliYWNrPUQ7dGhpcy5ISj10aGlzLmR1cmF0aW9uPTA7dGhpcy5pc1ByZW1pZXJlPXRoaXMuWGc9dGhpcy5pc1dpbmRvd2VkTGl2ZT10aGlzLmlzTGl2ZUhlYWRQbGF5YWJsZT10aGlzLmlzTGl2ZT10aGlzLlc9ITE7dGhpcy5IUD10aGlzLkl0PTA7dGhpcy5pc090Zj10aGlzLnpXPSExO3RoaXMuUyQ9KDAsZy5SKSgpO3RoaXMuY0o9SW5maW5pdHk7dGhpcy5OPXt9O3RoaXMuSj1uZXcgTWFwO3RoaXMuc3RhdGU9dGhpcy5sTj0wO3RoaXMuVj1udWxsO3RoaXMuaXNNYW5pZmVzdGxlc3M9ITE7dGhpcy5iZD1bXTt0aGlzLks9bnVsbDt0aGlzLmUkPTA7dGhpcy5qPSIiO3RoaXMuVEM9TmFOO3RoaXMuSlU9dGhpcy5vUj10aGlzLnRpbWVzdGFtcE9mZnNldD10aGlzLkQ9MDt0aGlzLldNPXRoaXMuSDI9TmFOO3RoaXMuSVQ9MDsKdGhpcy5WUT10aGlzLk89ITE7dGhpcy5HQz1bXTt0aGlzLnZKPXt9O3RoaXMuUFg9dGhpcy50dz1OYU47dGhpcy5DdT1XPy5FcSgiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpO016PSEhVyYmVy5FcSgiaHRtbDVfbW9kZXJuX3ZwOV9taW1lX3R5cGUiKTtIRj0hIVc/LkVxKCJodG1sNV9lbmFibGVfZmx1c2hfZHVyaW5nX3NlZWsiKSYmZy5kOCgpO2Y2PSEhVz8uRXEoImh0bWw1X2VuYWJsZV9yZXNldF9hdWRpb19kZWNvZGVyIikmJmcuZDgoKX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTF9dG4oKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTN9bnUoKXtyZXR1cm4gZy5EbCh0aGlzLk4sbj0+ISFuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5xdWFsaXR5T3JkaW5hbD49MjE2MCl9WCgpe3JldHVybiBnLkRsKHRoaXMuTixuPT4hIW4uaW5mby5jb250ZW50UHJvdGVjdGlvbil9eUUobil7dmFyIFc9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiUmVwcmVzZW50YXRpb24iKTsKaWYobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudExpc3QiKS5sZW5ndGg+MHx8bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRlbXBsYXRlIikubGVuZ3RoPjApe3RoaXMuelc9dGhpcy5XPSEwO3RoaXMuVnx8KHRoaXMuVj1uZXcga0xDKTtjSGoodGhpcy5WLG4pO3RoaXMuV0ooInJlZnJlc2giKTtmb3Iobj0wO248Vy5sZW5ndGg7bisrKXt2YXIgRD15Qyh0aGlzLFdbbl0pO2lmKCF0aGlzLk5bRC5pZF0pe3ZhciBiPVJ4KFRQKFdbbl0sIkJhc2VVUkwiKS50ZXh0Q29udGVudCksdj1UUChXW25dLCJJbml0aWFsaXphdGlvbiIpLGs9bFQodiwic291cmNlVVJMIik7dj1ueihsVCh2LCJyYW5nZSIpKTt0aGlzLk5bRC5pZF09bmV3IGR0KGIsRCxrLHYpfUQ9dGhpcy5OW0QuaWRdO2s9bFQoV1tuXSwiaWQiLCJBZGFwdGF0aW9uU2V0Iik7az1rIT09IiI/azpsVChXW25dLCJtaW1ldHlwZSIsIkFkYXB0YXRpb25TZXQiKTtiPXRoaXMuVjtrPWIuV1tELmluZm8uaWRdfHxiLkpba118fApiLk58fG51bGw7Yj1rLk47IXRoaXMuRCYmay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkmJih0aGlzLkQ9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO2lmKGsuail7dj1bXTtmb3IodmFyIGggb2YgYil7Yj1ELmluZm8uaWQ7dmFyIHg9RC5pbmZvLk5zKjgsTD1oLmokLGU9aC5zdGFydFNlY3MsRz1rLksuc3BsaXQoIiQkIik7Zm9yKHZhciByPTA7cjxHLmxlbmd0aDtyKyspR1tyXT1HW3JdLnJlcGxhY2UoIiRSZXByZXNlbnRhdGlvbklEJCIsYiksR1tyXT1HW3JdLnJlcGxhY2UoIiROdW1iZXIkIixMLnRvU3RyaW5nKCkpLEdbcl09R1tyXS5yZXBsYWNlKCIkQmFuZHdpZHRoJCIseC50b1N0cmluZygpKSxHW3JdPUdbcl0ucmVwbGFjZSgiJFRpbWUkIixlLnRvU3RyaW5nKCkpO2I9Ry5qb2luKCIkIik7di5wdXNoKG5ldyBSNChoLmokLGguc3RhcnRTZWNzLGguQ2YsaC5OLGIsbnVsbCxoLkopKX1iPXZ9ZWxzZXtMPVYyKFRQKFdbbl0sIlNlZ21lbnRMaXN0IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNlZ21lbnRVUkwiKSwKay5WKTtlPVtdO2ZvcihHPTA7RzxMLmxlbmd0aDtHKyspe2s9ZTt2PWsucHVzaDtyPXZvaWQgMDt2YXIgTj1MW0ddO3g9YltHXTtsZXQgSD1OLmdldEF0dHJpYnV0ZSgibWVkaWEiKTtpZihOPU4uZ2V0QXR0cmlidXRlKCJtZWRpYVJhbmdlIikpe2xldCBBPU4uc3BsaXQoIi0iKTtBWzFdJiZOdW1iZXIoQVsxXSk+PTA/cj1ueihOKTpIPWAke0h9P3JhbmdlPSR7Tn1gfXYuY2FsbChrLG5ldyBSNCh4LmokLHguc3RhcnRTZWNzLHguQ2YseC5OLEgscix4LkopKX1iPWV9RC51cGRhdGUoYix0aGlzLmlzTGl2ZSx0aGlzLkhKKX1hRFUodGhpcy5WKTtyZXR1cm4hMH10aGlzLmR1cmF0aW9uPWp4KGxUKG4sIm1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24iKSk7YTp7Zm9yKGg9MDtoPFcubGVuZ3RoO2grKyl7Yj1XW2hdO249eUModGhpcyxiKTtEPVJ4KFRQKGIsIkJhc2VVUkwiKS50ZXh0Q29udGVudCk7az1UUChiLCJTZWdtZW50QmFzZSIpO2I9bnooay5hdHRyaWJ1dGVzLmdldE5hbWVkSXRlbSgiaW5kZXhSYW5nZSIpLnZhbHVlKTsKaz1ueihrLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJJbml0aWFsaXphdGlvbiIpWzBdLmF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtKCJyYW5nZSIpLnZhbHVlKTtuPW5ldyBzayhELG4sayxiKTtpZighbil7Vz0hMTticmVhayBhfSRnKHRoaXMsbil9Vz0hMH1yZXR1cm4gV31EdChuKXtyZXR1cm4gdGhpcy5WP1YyKHRoaXMuVi5YLG4pOnRoaXMuYmQubGVuZ3RoP1YyKHRoaXMuYmQsbik6W119cmVmcmVzaCgpe2lmKCF0aGlzLmlzTG9hZGluZygpJiYhdGhpcy5xTigpKXt2YXIgbj1nLkVUKHRoaXMuc291cmNlVXJsLHtzdGFydF9zZXE6QSRpKHRoaXMpLnRvU3RyaW5nKCl9KTtTNCh0aGlzLG4pLnNQKCgpPT57fSl9fXN1c3BlbmQoKXt0aGlzLksmJnRoaXMuSy5zdG9wKCl9cmVzdW1lKCl7QVoodGhpcyl9ckkoKXtpZih0aGlzLmlzTWFuaWZlc3RsZXNzJiZ0aGlzLmlzV2luZG93ZWRMaXZlJiZpQSh0aGlzKSlyZXR1cm4gaUEodGhpcyk7CnZhciBuPXRoaXMuTixXPSExLEQ9TmFOLGI9TmFOO2ZvcihsZXQgayBpbiBuKXtsZXQgaD1uW2tdO3ZhciB2PWguaW5kZXg7aWYoIXYuaXNMb2FkZWQoKXx8aC5pbmZvLk4oKSljb250aW51ZTtoLlYmJihXPSEwKTt2PXYuYlEoKTtoLmluZm8uZVMoKSYmKGlzTmFOKEQpfHx2PEQpP0Q9djpoLmluZm8uZlkoKSYmKGlzTmFOKGIpfHx2PGIpJiYoYj12KX1yZXR1cm4gV3x8aXNOYU4oYik/RDpNYXRoLm1pbihELGIpfUxmKCl7aWYodGhpcy5pc01hbmlmZXN0bGVzcyl7aWYodUEodGhpcykpcmV0dXJuIHVBKHRoaXMpO2lmKHRoaXMuSVQpe3ZhciBuPXRoaXMuaEModGhpcy5ySSgpKTtpZihuJiYobi09dGhpcy5JVCxuPjApKXJldHVybiB0aGlzLnJJKCktbn19bj10aGlzLk47Zm9yKGxldCBXIGluIG4pe2xldCBEPW5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpJiYhbltXXS5pbmZvLk4oKSlyZXR1cm4gRC5MZigpfXJldHVybiAwfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5EfWhDKG4pe2ZvcihsZXQgVyBpbiB0aGlzLk4pe2xldCBEPQp0aGlzLk5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpKXtsZXQgYj1ELlIzKG4pLHY9RC5oQyhiKTtpZih2KXJldHVybiB2K24tRC5nZXRTdGFydFRpbWUoYil9fXJldHVybiBOYU59cWgoKXtyZXR1cm4gdGhpcy5lJH1qVygpe2ZvcihsZXQgbiBpbiB0aGlzLk4pdGhpcy5OLmhhc093blByb3BlcnR5KG4pJiYodGhpcy5OW25dLko9bnVsbCx0aGlzLk5bbl0uY0o9ITEpfX07Zy5HeC5wcm90b3R5cGUuRkY9V1ooNCk7dmFyIE16LEhGLGY2LHd0PW51bGwsUm89ISFuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyxVaz17Y29tbWVudGFyeToxLGFsdGVybmF0ZToyLGR1YjozLG1haW46NH07dmFyIGNGPW5ldyBTZXQsUUM9bmV3IE1hcDt2YXIgUGVNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMueVE9bjt0aGlzLk5kPXRoaXMuYnY9dGhpcy5ISj10aGlzLlY9dGhpcy5qPXRoaXMuSGk9dGhpcy5HQz10aGlzLmNKPSExO3RoaXMuWT10aGlzLks9MDt0aGlzLkN1PSExO3RoaXMudHc9ITA7dGhpcy5QWD0hMTt0aGlzLm5TPTA7dGhpcy5GRj10aGlzLm51PXRoaXMub0w9dGhpcy5lJD0hMTt0aGlzLk49e307dGhpcy5qVz10aGlzLlJhPXRoaXMudlg9dGhpcy5kaXNhYmxlQXYxPXRoaXMuYmQ9dGhpcy5Rcj10aGlzLnlFPXRoaXMuWVo9dGhpcy5CVj10aGlzLko9dGhpcy5XPXRoaXMuRD0hMTt0aGlzLlMkPTA7dGhpcy5UQz0hMTt0aGlzLnM1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9hYWNfcHJlZmVyZW5jZSIpO3RoaXMud2E9SW5maW5pdHk7dGhpcy54ZD0wO3RoaXMuTEI9dGhpcy55US5XWCgpO3RoaXMuSEQ9dGhpcy55US5leHBlcmltZW50cy5FcSgiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpO3RoaXMuTWQ9dGhpcy55US5TKCJodG1sNV9mb3JjZV9hdjFfZm9yX3Rlc3RpbmciKTsKdGhpcy55dz10aGlzLnlRLlp0KCkuTi5RUShWSWopO3RoaXMudko9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9hdjFfb3JkaW5hbF9jYXAiKTt0aGlzLlU1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9oZnJfd2hlbl92cDlfZW5jcnlwdGVkXzJrNGtfdW5zdXBwb3J0ZWQiKTt0aGlzLkU1PXRoaXMueVEuUygiaHRtbDVfYWNjb3VudF9vbmVzaWVfZm9ybWF0X3NlbGVjdGlvbl9kdXJpbmdfZm9ybWF0X2ZpbHRlciIpO3RoaXMuTnM9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9tYXhfYnl0ZXJhdGUiKTt0aGlzLlZRPXRoaXMueVEuUygiaHRtbDVfZW5hYmxlX2lhbWZfYXVkaW8iKTt0aGlzLmZCPXRoaXMueVEuWnQoKS5OLlFRKFFPeCk7dGhpcy5EdD10aGlzLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9hbGxvd19jYXBhYmlsaXR5X21lcmdlIik7dGhpcy5ZJD10aGlzLnlRLlMoImh0bWw1X2VuYWJsZV9lbmNyeXB0ZWRfYXYxIik7dGhpcy5ZWj10aGlzLnlRLlp0KCkuTi5RUShaN1UpfHwKdGhpcy55US5TKCJkaXNhYmxlX3ByZWZlcl9oYnJfdnA5Iil9fTt2YXIgcjE9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5mbGF2b3I9bjt0aGlzLmtleVN5c3RlbT1XO3RoaXMuVz1EO3RoaXMuZXhwZXJpbWVudHM9Yjt0aGlzLko9e307dGhpcy5DaT10aGlzLmtleVN5c3RlbUFjY2Vzcz1udWxsO3RoaXMuamk9dGhpcy5WOT0tMTt0aGlzLkZjPW51bGw7dGhpcy5YPSEhYiYmYi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTtiJiZiLkVxKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5Iil9Y2xvbmUobil7cmV0dXJuIG5ldyByMSh0aGlzLmZsYXZvcixuLHRoaXMuVyx0aGlzLmV4cGVyaW1lbnRzKX1OKCl7cmV0dXJuIHRoaXMua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwifXlyKCl7cmV0dXJue2ZsYXZvcjp0aGlzLmZsYXZvcixrZXlTeXN0ZW06dGhpcy5rZXlTeXN0ZW19fWtMKCl7c3dpdGNoKHRoaXMua2V5U3lzdGVtKXtjYXNlICJjb20ueW91dHViZS5wbGF5cmVhZHkiOnJldHVybiJQUlkiO2Nhc2UgImNvbS5taWNyb3NvZnQucGxheXJlYWR5IjpyZXR1cm4iUFJNIjsKY2FzZSAiY29tLndpZGV2aW5lLmFscGhhIjpyZXR1cm4iV1ZBIjtjYXNlICJjb20ueW91dHViZS53aWRldmluZS5sMyI6cmV0dXJuIldWWSI7Y2FzZSAiY29tLnlvdXR1YmUuZmFpcnBsYXkiOnJldHVybiJGUFkiO2Nhc2UgImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwiOnJldHVybiJGUEMiO2Nhc2UgImNvbS5hcHBsZS5mcHMuMV8wIjpyZXR1cm4iRlBBIjtkZWZhdWx0OnJldHVybiB0aGlzLmtleVN5c3RlbX19fSxxVj17cGxheXJlYWR5OlsiY29tLnlvdXR1YmUucGxheXJlYWR5IiwiY29tLm1pY3Jvc29mdC5wbGF5cmVhZHkiXSx3aWRldmluZTpbImNvbS55b3V0dWJlLndpZGV2aW5lLmwzIiwiY29tLndpZGV2aW5lLmFscGhhIl19LHZRQz17d2lkZXZpbmU6IkRSTV9TWVNURU1fV0lERVZJTkUiLGZhaXJwbGF5OiJEUk1fU1lTVEVNX0ZBSVJQTEFZIixwbGF5cmVhZHk6IkRSTV9TWVNURU1fUExBWVJFQURZIn0seFZpPXt3aWRldmluZToxLGZhaXJwbGF5OjIscGxheXJlYWR5OjN9O3ZhciBaV1M9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyxELGI9ITEsdil7c3VwZXIoKTt0aGlzLnlRPVc7dGhpcy51c2VDb2JhbHRXaWRldmluZT1iO3RoaXMuVT12O3RoaXMuSj1bXTt0aGlzLlc9e307dGhpcy5OPXt9O3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLmo9ITE7dGhpcy5YPVtdO3RoaXMuaW5pdGlhbGl6ZShuLCFEKX1pbml0aWFsaXplKG4sVyl7Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKG4pKXt2YXIgRD1iO2ZvcihsZXQgdiBvZiBuW0RdKWlmKHYuY29udGVudFByb3RlY3Rpb24pZm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKHYuY29udGVudFByb3RlY3Rpb24pKXtEPWs7bGV0IGg9cVZba107IWgmJnRoaXMuUygiaHRtbA=="}},"time_used":75,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":44,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/46907.c5af8aa7b5082b1875a5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.597Z","timestamp":1785129292597,"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/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\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: 4270f99be14365bf104c979b5d8f8049\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-27T08:08:22.752642Z","times_seen":1516,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQUVROTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUFFUTk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LndyYXBwZXItaGN0MnlKdkt7Y29sb3I6dmFyKC0tXzAtQUVROSl9LmFuaW1hdGVkLWhjdDJ5SnZLe2FuaW1hdGlvbjoxcyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBhbHRlcm5hdGUgbm9uZSBydW5uaW5nO2FuaW1hdGlvbi1uYW1lOnB1bHNhdGlvbi1oY3QyeUp2S31Aa2V5ZnJhbWVzIHB1bHNhdGlvbi1oY3QyeUp2S3swJXtvcGFjaXR5OjF9dG97b3BhY2l0eTouNH19W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtX19ycTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1fX3JxOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtX19ycTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8xLV9fcnE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LmxvZ28tVkNOS3ViV3F7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubG9nby1WQ05LdWJXcTpub3QoaW1nKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLV9fcnEpfS5oaWRkZW4tVkNOS3ViV3F7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlfS54eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3F7Zm9udC1zaXplOjEwcHg7aGVpZ2h0OjEycHg7bGluZS1oZWlnaHQ6MTBweDttaW4td2lkdGg6MTJweDt3aWR0aDoxMnB4fS54eHhzbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTFweDtoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoxOHB4O3dpZHRoOjE4cHh9Lnh4c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjBweDt3aWR0aDoyMHB4fS54c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjRweDt3aWR0aDoyNHB4fS5zbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTRweDtoZWlnaHQ6MjhweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoyOHB4O3dpZHRoOjI4cHh9Lm1lZGl1bS1WQ05LdWJXcXtmb250LXNpemU6MTZweDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDozNnB4O3dpZHRoOjM2cHh9LmxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToyNHB4O2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjMycHg7bWluLXdpZHRoOjQ4cHg7d2lkdGg6NDhweH0ueGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZTo0MHB4O2hlaWdodDo1NnB4O2xpbmUtaGVpZ2h0OjQwcHg7bWluLXdpZHRoOjU2cHg7d2lkdGg6NTZweH0ueHhsYXJnZS1WQ05LdWJXcXtmb250LXNpemU6ODBweDtoZWlnaHQ6MTEycHg7bGluZS1oZWlnaHQ6ODBweDttaW4td2lkdGg6MTEycHg7d2lkdGg6MTEycHh9Lnh4eGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToxNjBweDtoZWlnaHQ6MTY4cHg7bGluZS1oZWlnaHQ6MTYwcHg7bWluLXdpZHRoOjE2OHB4O3dpZHRoOjE2OHB4fS5za2VsZXRvbi1WQ05LdWJXcXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ubGV0dGVyLVZDTkt1Yldxe2NvbG9yOnZhcigtLV8wLV9fcnEpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMH0="}},"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/3552.4c5535183b7a0330a89d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.628Z","timestamp":1785129292628,"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/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\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: 23b1338fd04c75ec9abbb11a2007762b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-27T08:08:22.786954Z","times_seen":1337,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTUyXSx7NDUwMjk1KHQpe3QuZXhwb3J0cz17fX0sNDYyMzUodCl7dC5leHBvcnRzPXt9fSw5NzMxMTkodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7cXVvdGVUaWNrZXJGb3JtYXRDaGFuZ2U6KCk9Pm59KTt2YXIgaT1zKDc1NTYyNyksYT1zKDk4NDM3Nik7dmFyIG89cygyMTYxMSk7ZnVuY3Rpb24gbih0LGUscyl7Y29uc3Qgbj0oMCxvLnRvTnVtYmVyT3JVbmRlZmluZWQpKHQpO2lmKCJlY29ub21pYyI9PT1lPy50eXBlJiYwPT09bnx8dm9pZCAwPT09bilyZXR1cm47Y29uc3QgbD1zPy5jdXN0b21QcmljZUZvcm1hdHRlcnx8InZvbHVtZSI9PT1lLmZvcm1hdCYmbmV3IGEuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pfHxuZXcgaS5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTplLnByaWNlc2NhbGV8fDEwMCxtaW5Nb3ZlOmUubWlubW92fHwxLGZyYWN0aW9uYWw6ZS5mcmFjdGlvbmFsLG1pbk1vdmUyOmUubWlubW92ZTJ9KSxyPXZvaWQgMCE9PXM/LnNpZ25Qb3NpdGl2ZUNoYW5nZT9zLnNpZ25Qb3NpdGl2ZUNoYW5nZTpzPy5zaWduUG9zaXRpdmU7cmV0dXJuKCh0LGU9ITApPT5lP2AoJHt0fSlgOnQpKGwuZm9ybWF0KG4se3NpZ25Qb3NpdGl2ZTpyLHNpZ25OZWdhdGl2ZTpzPy5zaWduTmVnYXRpdmV9KSxzPy5jaGFuZ2VJbkJyYWNrZXRzKX19LDYwMjg3KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse3F1b3RlVGlja2VyRm9ybWF0Q3VycmVuY3k6KCk9PmF9KTt2YXIgaT1zKDE4NTI3MSk7ZnVuY3Rpb24gYSh0KXtzd2l0Y2godCl7Y2FzZSJERUdDIjpyZXR1cm4i4oSDIjtjYXNlIlBDVERZIjpyZXR1cm4gaS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxzKDQ0NTA1KSk7Y2FzZSJQQ1RQQVIiOnJldHVybiBpLnQobnVsbCx7Y29udGV4dDoiX21heF9sZW5fOSJ9LHMoNDY4NDYwKSk7ZGVmYXVsdDpyZXR1cm4gdH19Nzg2NzYwKHQsZSxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtyZXR1cm4ibWN4X2ZyZWUiPT09dH1mdW5jdGlvbiBhKHQpe3JldHVybiEhdCYmKGkodC5zeW1ib2xuYW1lKXx8InBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZpKHQudmFsdWVzPy5hbHRlcm5hdGl2ZSkpfXMuZChlLHtpc01jeFF1b3RlRGF0YTooKT0+YX0pfSwxMDE3MTIodCxlLHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQpe3JldHVybiB0LmVuZHNXaXRoKCJfZGx5Iil9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hIXQmJighKHZvaWQgMD09PXQuc3ltYm9sbmFtZXx8IWkodC5zeW1ib2xuYW1lKSl8fEJvb2xlYW4oInBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZ0LnZhbHVlcyYmdm9pZCAwIT09dC52YWx1ZXMuYWx0ZXJuYXRpdmUmJmkodC52YWx1ZXMuYWx0ZXJuYXRpdmUpKSl9cy5kKGUse2lzU2ZRdW90ZURhdGE6KCk9PmF9KX0sMjAyNDYwKHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0Fic3RyYWN0SW5kaWNhdG9yOigpPT5sfSk7dmFyIGk9cygyMjEwNjEpLGE9cygxNTAxNTApLG89cygxNTk1MTMpO3MoMzQ0Nzg1KTtjb25zdCBuPSgwLGkuZ2V0TG9nZ2VyKSgiR1VJLkJsb2Nrcy5BYnN0cmFjdEluZGljYXRvciIpO2NsYXNzIGx7Y29uc3RydWN0b3IodCl7dGhpcy5fY2xhc3NTdWZmaXg9IiIsdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJhYnN0cmFjdC1pbmRpY2F0b3IiLHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9zaG93VG9vbHRpcD0hMCx0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX3Rvb2x0aXBUeXBlPSJjdXN0b20iLHRoaXMuX2xhc3RUb29sdGlwVGV4dD0iIix0aGlzLl9xdW90ZVNlc3Npb249dC5xdW90ZVNlc3Npb259Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9Z2V0VG9vbHRpcFRleHQoKXtyZXR1cm4gdGhpcy5fbGFiZWxNYXBbdGhpcy5fdmFsdWVdfHwiIn1nZXRMYWJlbCgpe3JldHVybiB0aGlzLl9sYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIifWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fZWx9dXBkYXRlKHQsZSl7dGhpcy5fdXBkYXRlVmFsdWUodCxlKSx0aGlzLl9yZW5kZXIoKX1zZXRUb29sdGlwRW5hYmxlZCh0PSExKXt0aGlzLl9zaG93VG9vbHRpcCE9PXQmJih0aGlzLl9zaG93VG9vbHRpcD10LHRoaXMuX3JlbmRlclRvb2x0aXAoKSl9ZW5hYmxlU2hvcnRNb2RlKCl7ITAhPT10aGlzLl9zaG9ydE1vZGUmJih0aGlzLl9zaG9ydE1vZGU9ITAsdGhpcy5fcmVuZGVyKCkpfWRpc2FibGVTaG9ydE1vZGUoKXshMSE9PXRoaXMuX3Nob3J0TW9kZSYmKHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9yZW5kZXIoKSl9aXNTaG9ydE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX3Nob3J0TW9kZX1zdGFydCgpeyF0aGlzLl9zdWJzY3JpYmVkJiZ0aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fcXVvdGVTZXNzaW9ufHwodGhpcy5fcXVvdGVTZXNzaW9uPSgwLG8uZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSksdGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUsdGhpcy51cGRhdGUuYmluZCh0aGlzKSksdGhpcy5fc3Vic2NyaWJlZD0hMCl9c3RvcCgpe3RoaXMuX3N1YnNjcmliZWQmJnRoaXMuX3F1b3RlU2Vzc2lvbiYmdGhpcy5fc3ltYm9sTmFtZSYmKHRoaXMuX3F1b3RlU2Vzc2lvbi51bnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUpLHRoaXMuX3N1YnNjcmliZWQ9ITEpfXNldFNlc3Npb25TdGF0dXNJY29uKHQpe3RoaXMuX3Nlc3Npb25TdGF0dXNJY29uIT09dCYmKHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQsdGhpcy5fcmVuZGVyKCkpfV9pbml0KHQpe3RoaXMuX2VsPXQuZWw/dC5lbDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2NsYXNzTWFwPXQuY2xhc3NNYXAsdGhpcy5faWNvbkNsYXNzTWFwPXQuaWNvbkNsYXNzTWFwLHRoaXMuX2xhYmVsTWFwPXQubGFiZWxNYXAsCnRoaXMuX3Nob3dUb29sdGlwPXQuc2hvd1Rvb2x0aXAsdGhpcy5fY2xhc3NTdWZmaXg9dC5jbGFzc1N1ZmZpeCx0aGlzLl9zeW1ib2xOYW1lPXQuc3ltYm9sLHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQuc2Vzc2lvblN0YXR1c0ljb24sdGhpcy5fb25WYWx1ZUNoYW5nZT10Lm9uVmFsdWVDaGFuZ2UsdC50b29sdGlwVHlwZSYmKHRoaXMuX3Rvb2x0aXBUeXBlPXQudG9vbHRpcFR5cGUpLHRoaXMuX3F1b3RlU2Vzc2lvbkdVSUQ9KDAsYS5ndWlkKSgpLCEwPT09dC5zaG9ydCYmdGhpcy5lbmFibGVTaG9ydE1vZGUoKSx0LmRhdGEmJnRoaXMuX3VwZGF0ZVZhbHVlKHQuZGF0YSl9X2NsZWFyQ2xhc3Nlcygpe09iamVjdC52YWx1ZXModGhpcy5fY2xhc3NNYXApLm1hcCgodD0+e3RoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoYCR7dH1gKSx0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKGAke3R9JHt0aGlzLl9jbGFzc1N1ZmZpeH1gKX0pKX1fcmVuZGVyKCl7dGhpcy5fcmVuZGVyQ2xhc3NlcygpLHRoaXMuX3JlbmRlclRvb2x0aXAoKSx0aGlzLl9yZW5kZXJMYWJlbCgpfV9yZW5kZXJMYWJlbCgpe3RoaXMuX2VsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fdXBkYXRlVmFsdWUodCxlKXtjb25zdCBzPXRoaXMuX2dldFZhbHVlRnJvbURhdGEodCk7KGV8fHMhPT10aGlzLl92YWx1ZSkmJih0aGlzLl92YWx1ZT1zLHRoaXMuX29uVmFsdWVDaGFuZ2U/Lih0aGlzLl92YWx1ZSkpfV9yZW5kZXJDbGFzc2VzKCl7Y29uc3QgdD10aGlzLl9lbC5jbGFzc0xpc3Q7dC5hZGQodGhpcy5fY29tcG9uZW50Q2xhc3MsdGhpcy5fY29tcG9uZW50Q2xhc3MrdGhpcy5fY2xhc3NTdWZmaXgpO2NvbnN0IGU9dGhpcy5fY2xhc3NNYXBbdGhpcy5fdmFsdWVdO2Zvcihjb25zdCBzIGluIHRoaXMuX2NsYXNzTWFwKXtjb25zdCBpPXRoaXMuX2NsYXNzTWFwW3NdO2kmJihpPT09ZT8odC5hZGQoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5hZGQoaSsiX193aXRoSWNvbiIpKToodC5yZW1vdmUoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5yZW1vdmUoaSsiX193aXRoSWNvbiIpKSl9IWUmJnRoaXMuX3ZhbHVlJiZuLmxvZ1dhcm4oYG5vIGNsYXNzTmFtZSBmb3Igc3RhdHVzICR7dGhpcy5fdmFsdWV9YCl9X3JlbmRlclRvb2x0aXAoKXtjb25zdCB0PXRoaXMuX3Nob3dUb29sdGlwP3RoaXMuZ2V0VG9vbHRpcFRleHQoKToiIjt0IT09dGhpcy5fbGFzdFRvb2x0aXBUZXh0JiYodGhpcy5fbGFzdFRvb2x0aXBUZXh0PXQsdGhpcy5fZWwuc2V0QXR0cmlidXRlKCJ0aXRsZSIsdCksImN1c3RvbSI9PT10aGlzLl90b29sdGlwVHlwZSYmdGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLHRoaXMuX3Nob3dUb29sdGlwKSl9X2dldFF1b3RlU2Vzc2lvbklkKCl7cmV0dXJuYCR7dGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4fS4ke3RoaXMuX3F1b3RlU2Vzc2lvbkdVSUR9YH19fSwzMDY5MCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtEYXRhTW9kZUluZGljYXRvcjooKT0+ZH0pO3ZhciBpLGE9cygxODUyNzEpLG89KHMoODI5MTgwKSxzKDQ1MDI5NSkscygyMDI0NjApKTshZnVuY3Rpb24odCl7dC5EZWxheWVkPSJkZWxheWVkIix0LkRlbGF5ZWRTdHJlYW1pbmc9ImRlbGF5ZWRfc3RyZWFtaW5nIix0LkVuZE9mRGF5PSJlbmRvZmRheSIsdC5TbmFwc2hvdD0ic25hcHNob3QiLHQuUmVhbHRpbWU9InJlYWx0aW1lIix0LkNvbm5lY3Rpbmc9ImNvbm5lY3RpbmciLHQuTG9hZGluZz0ibG9hZGluZyIsdC5JbnZhbGlkPSJpbnZhbGlkIix0LkZvcmJpZGRlbj0iZm9yYmlkZGVuIix0LlN0cmVhbWluZz0ic3RyZWFtaW5nIn0oaXx8KGk9e30pKTtjb25zdCBuPXtjb25uZWN0aW5nOiJ0di1kYXRhLW1vZGUtLWNvbm5lY3RpbmciLGRlbGF5ZWQ6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZGVsYXllZF9zdHJlYW1pbmc6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZW5kb2ZkYXk6InR2LWRhdGEtbW9kZS0tZW5kb2ZkYXkiLGZvcmJpZGRlbjoidHYtZGF0YS1tb2RlLS1mb3JiaWRkZW4iLHJlYWx0aW1lOiJ0di1kYXRhLW1vZGUtLXJlYWx0aW1lIixzbmFwc2hvdDoidHYtZGF0YS1tb2RlLS1zbmFwc2hvdCIsbG9hZGluZzoidHYtZGF0YS1tb2RlLS1sb2FkaW5nIixyZXBsYXk6InR2LWRhdGEtbW9kZS0tcmVwbGF5In07ZnVuY3Rpb24gbCgpe3JldHVybntjb25uZWN0aW5nOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfY29ubmVjdGluZ19sZXR0ZXIifSxzKDg1OTk5NCkpLGRlbGF5ZWQ6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX2xldHRlciJ9LHMoODkyMzYzKSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX3N0cmVhbWluZ19sZXR0ZXIifSxzKDM5NDUwMSkpLGVuZG9mZGF5OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfZW5kX29mX2RheV9sZXR0ZXIifSxzKDU3MDkzOSkpLGZvcmJpZGRlbjphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX2ZvcmJpZGRlbl9sZXR0ZXIifSxzKDM5NDkyMSkpLHJlYWx0aW1lOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfcmVhbHRpbWVfbGV0dGVyIn0scyg4NjY0NCkpLHNuYXBzaG90OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfc25hcHNob3RfbGV0dGVyIn0scygyNTczMjYpKSxsb2FkaW5nOiIiLHJlcGxheTphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX3JlcGxheV9sZXR0ZXIifSxzKDc1NjQ1NykpfX1jb25zdCByPXtzdHJlYW1pbmc6InJlYWx0aW1lIn07Y2xhc3MgZCBleHRlbmRzIG8uQWJzdHJhY3RJbmRpY2F0b3J7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJkYXRhLW1vZGUtaW5kaWNhdG9yIix0aGlzLl9jb21wb25lbnRDbGFzcz0idHYtZGF0YS1tb2RlIix0aGlzLl9pbml0KHQpfWdldExhYmVsKCl7cmV0dXJuITA9PT10aGlzLl9zaG9ydE1vZGU/dGhpcy5fc2hvcnRMYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIiOnN1cGVyLmdldExhYmVsKCl9CnNldE1vZGUodCxlKXt0aGlzLnVwZGF0ZSh7dmFsdWVzOnt1cGRhdGVfbW9kZTp0LHVwZGF0ZV9tb2RlX3NlY29uZHM6ZX19KX1oaWRlKCl7dGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKX1zaG93KCl7dGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKX1nZXRUb29sdGlwVGV4dCgpe2xldCB0PSIiO2NvbnN0IGU9dGhpcy5nZXRWYWx1ZSgpO2lmKCIiPT09ZSlyZXR1cm4gdDtzd2l0Y2goZSl7Y2FzZSJkZWxheWVkIjp0PWEudChudWxsLHZvaWQgMCxzKDc5MDUyNCkpO2JyZWFrO2Nhc2UiZGVsYXllZF9zdHJlYW1pbmciOnQ9YS50KG51bGwsdm9pZCAwLHMoODE0NjEpKTticmVhaztkZWZhdWx0OnQ9dGhpcy5fbGFiZWxNYXBbZV18fHR9cmV0dXJuWyJkZWxheWVkIiwiZGVsYXllZF9zdHJlYW1pbmciXS5pbmNsdWRlcyhlKSYmKHQ9dC5mb3JtYXQoe251bWJlcjpTdHJpbmcoTWF0aC5yb3VuZCh0aGlzLl9tb2RlSW50ZXJ2YWwvNjApKX0pKSx0fV9pbml0KHQ9e30pe2NvbnN0IGU9T2JqZWN0LmFzc2lnbih7fSx7Y2xhc3NNYXA6bixjbGFzc1N1ZmZpeDoiIixkYXRhOnt2YWx1ZXM6e3VwZGF0ZV9tb2RlOiJjb25uZWN0aW5nIn19LGxhYmVsTWFwOntjb25uZWN0aW5nOmEudChudWxsLHZvaWQgMCxzKDE5NDE5NCkpLGRlbGF5ZWQ6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZW5kb2ZkYXk6YS50KG51bGwsdm9pZCAwLHMoNjAxNzY0KSksZm9yYmlkZGVuOmEudChudWxsLHZvaWQgMCxzKDMyODMxMykpLHJlYWx0aW1lOmEudChudWxsLHZvaWQgMCxzKDg4MzkyOCkpLHNuYXBzaG90OmEudChudWxsLHZvaWQgMCxzKDU2MjM5NSkpLGxvYWRpbmc6IiIscmVwbGF5OmEudChudWxsLHZvaWQgMCxzKDk3NzI3KSl9LG1vZGVJbnRlcnZhbDo2MDAsc2hvcnQ6ITEsc2hvcnRMYWJlbE1hcDpsKCksc2hvd1Rvb2x0aXA6ITAsdG9vbHRpcFR5cGU6ImN1c3RvbSJ9LHQpO3RoaXMuX21vZGVJbnRlcnZhbD1lLm1vZGVJbnRlcnZhbHx8NjAwLHRoaXMuX3Nob3J0TGFiZWxNYXA9ZS5zaG9ydExhYmVsTWFwfHxsKCksc3VwZXIuX2luaXQoZSksdGhpcy5fcmVuZGVyKCl9X2dldFZhbHVlRnJvbURhdGEodCl7bGV0IGU7cmV0dXJuIGU9dm9pZCAwIT09dC52YWx1ZXMmJnZvaWQgMCE9PXQudmFsdWVzLnVwZGF0ZV9tb2RlP3QudmFsdWVzLnVwZGF0ZV9tb2RlOnRoaXMuZ2V0VmFsdWUoKSxyW2VdfHxlfV91cGRhdGVWYWx1ZSh0LGUpe3ZvaWQgMCE9PXQudmFsdWVzJiZ2b2lkIDAhPT10LnZhbHVlcy51cGRhdGVfbW9kZV9zZWNvbmRzJiYodGhpcy5fbW9kZUludGVydmFsPXQudmFsdWVzLnVwZGF0ZV9tb2RlX3NlY29uZHMpLHN1cGVyLl91cGRhdGVWYWx1ZSh0LGUpfX19LDU2MzkxOCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtNYXJrZXRTdGF0dXNJbmRpY2F0b3I6KCk9Pmx9KTt2YXIgaT1zKDE4NTI3MSksYT1zKDIwMjQ2MCk7cyg0NjIzNSk7Y29uc3Qgbz17aW52YWxpZDoidHYtbWFya2V0LXN0YXR1cy0taW52YWxpZCIsbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQiLG91dF9vZl9zZXNzaW9uOiJ0di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbiIscG9zdF9tYXJrZXQ6InR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0IixwcmVfbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IixuaWdodDoidHYtbWFya2V0LXN0YXR1cy0tbmlnaHQiLGxvYWRpbmc6InR2LW1hcmtldC1zdGF0dXMtLWxvYWRpbmciLGhvbGlkYXk6InR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkiLHJlcGxheToidHYtbWFya2V0LXN0YXR1cy0tcmVwbGF5IixkZWxpc3RlZDoidHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQifSxuPXtpbnZhbGlkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1pbnZhbGlkIixtYXJrZXQ6InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW1hcmtldCIsb3V0X29mX3Nlc3Npb246InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW91dC1vZi1zZXNzaW9uIixwb3N0X21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcG9zdC1tYXJrZXQiLG5pZ2h0OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1uaWdodCIscHJlX21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcHJlLW1hcmtldCIsbG9hZGluZzoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tbG9hZGluZyIsaG9saWRheToidHYtbWFya2V0LXN0YXR1c19faWNvbi0taG9saWRheSIscmVwbGF5OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1yZXBsYXkiLGRlbGlzdGVkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1kZWxpc3RlZCJ9O2NsYXNzIGwgZXh0ZW5kcyBhLkFic3RyYWN0SW5kaWNhdG9ye2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMuX3F1b3RlU2Vzc2lvblByZWZpeD0ibWFya2V0LXN0YXR1cy1pbmRpY2F0b3IiLHRoaXMuX2NvbXBvbmVudENsYXNzPSJ0di1tYXJrZXQtc3RhdHVzIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2luaXQodCl9c2V0U3RhdHVzKHQsZSl7Y29uc3Qgcz17dmFsdWVzOntjdXJyZW50X3Nlc3Npb246ImRlbGlzdGVkIj09PXRoaXMuZ2V0VmFsdWUoKT8iZGVsaXN0ZWQiOnR9fTt0aGlzLnVwZGF0ZShzLGUpfWdldFRvb2x0aXBUZXh0KCl7bGV0IHQ9c3VwZXIuZ2V0VG9vbHRpcFRleHQoKTtyZXR1cm4iIj09PXR8fCIiIT09dGhpcy5fZXh0cmFUaXRsZSYmKHQ9YCR7dH0sICR7dGhpcy5fZXh0cmFUaXRsZX1gKSx0fXNldEV4dHJhVGl0bGUodCl7dGhpcy5fZXh0cmFUaXRsZT10fXJlc2V0KCl7dGhpcy5fY2xlYXJDbGFzc2VzKCksdGhpcy5fbGFiZWxFbC50ZXh0Q29udGVudD0iIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2VsLnNldEF0dHJpYnV0ZSgidGl0bGUiLCIiKSx0aGlzLl92YWx1ZT0iIn1lbmFibGVTaG9ydE1vZGUodD0hMCl7dm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpLHN1cGVyLmVuYWJsZVNob3J0TW9kZSgpfWRpc2FibGVTaG9ydE1vZGUoKXsKdm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpLHN1cGVyLmRpc2FibGVTaG9ydE1vZGUoKX1fcmVuZGVyTGFiZWwoKXt0aGlzLl9sYWJlbEVsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fZ2V0VmFsdWVGcm9tRGF0YSh0KXtyZXR1cm4gdC52YWx1ZXM/LnR5cGVzcGVjcz8uaW5jbHVkZXMoImRpc2NvbnRpbnVlZCIpPyJkZWxpc3RlZCI6dm9pZCAwIT09dC52YWx1ZXM/LmN1cnJlbnRfc2Vzc2lvbj90LnZhbHVlcy5jdXJyZW50X3Nlc3Npb246dGhpcy5nZXRWYWx1ZSgpfV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJMYWJlbEVsZW1lbnQoKSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbj90aGlzLl9yZW5kZXJJY29uRWxlbWVudCgpOnRoaXMuX3JlbmRlckRvdEVsZW1lbnQoKSxzdXBlci5fcmVuZGVyKCl9X2luaXQodCl7Y29uc3QgZT1PYmplY3QuYXNzaWduKHt9LGZ1bmN0aW9uKCl7Y29uc3QgdD17aW52YWxpZDppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoNjM4NDA1KSksbWFya2V0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg3MDI3ODgpKSxvdXRfb2Zfc2Vzc2lvbjppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoOTE0NTcyKSkscG9zdF9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDg2NzQ1NSkpLHByZV9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDkxODg0MikpLGxvYWRpbmc6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDI3NDQxNSkpLGhvbGlkYXk6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDY4NTEwNCkpLGRlbGlzdGVkOmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg1NTIxNSkpLG5pZ2h0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg4OTc1OTEpKSxyZXBsYXk6IiJ9O3JldHVybntjbGFzc01hcDpvLGljb25DbGFzc01hcDpuLGNsYXNzU3VmZml4OiIiLGRhdGE6e30sZXh0cmFUaXRsZToiIixsYWJlbE1hcDp0LHNob3J0OiExLHNob3dUb29sdGlwOiEwLHRvb2x0aXBUeXBlOiJjdXN0b20ifX0oKSx0KTtzdXBlci5faW5pdChlKSx0aGlzLnNldEV4dHJhVGl0bGUoZS5leHRyYVRpdGxlKSx0aGlzLl9yZW5kZXIoKX1fcmVuZGVyTGFiZWxFbGVtZW50KCl7dm9pZCAwPT09dGhpcy5fbGFiZWxFbCYmKHRoaXMuX2xhYmVsRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHRoaXMuX2xhYmVsRWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2xhYmVsYCksdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKGAke3RoaXMuX2NvbXBvbmVudENsYXNzfV9fbGFiZWwke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2xhYmVsRWwpKX1fcmVuZGVyRG90RWxlbWVudCgpe3RoaXMuX2VsLmNvbnRhaW5zKHRoaXMuX2ljb25FbCkmJnRoaXMuX2VsLnJlbW92ZUNoaWxkKHRoaXMuX2ljb25FbCksdm9pZCAwPT09dGhpcy5fZG90RWwmJih0aGlzLl9kb3RFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZG90RWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2RvdGApLHRoaXMuX2RvdEVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19kb3Qke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2RvdEVsKSl9X3JlbmRlckljb25FbGVtZW50KCl7dGhpcy5fZWwuY29udGFpbnModGhpcy5fZG90RWwpJiZ0aGlzLl9lbC5yZW1vdmVDaGlsZCh0aGlzLl9kb3RFbCksdm9pZCAwPT09dGhpcy5faWNvbkVsJiZ0aGlzLl92YWx1ZSYmKHRoaXMuX2ljb25FbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uYCksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uJHt0aGlzLl9jbGFzc1N1ZmZpeH1gKSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9pY29uRWwpKX19fSw4OTE3NzgodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UHJpY2VDb2xvcmVyOigpPT5pfSk7dmFyIGksYT1zKDIxODgxNCksbz1zKDUwNTU2KTshZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3JldHVybiAwPT09dD9lJiZ2b2lkIDAhPT1lLm5ldXRyYWw/ZS5uZXV0cmFsOmEuY29sb3IuYmxhY2s3MDp0PjA/ZSYmdm9pZCAwIT09ZS51cD9lLnVwOm8uY29sb3JzUGFsZXR0ZVsiY29sb3Itc3VjY2VzcyJdOmUmJnZvaWQgMCE9PWUuZG93bj9lLmRvd246by5jb2xvcnNQYWxldHRlWyJjb2xvci1kYW5nZXIiXX10LmZvcm1hdFNpZ249ZSx0LmZvcm1hdERpZmY9ZnVuY3Rpb24odCxzKXtyZXR1cm4gZShzLXQpfSx0LmRvbURpZmZlcmVuY2U9ZnVuY3Rpb24odCxlLHM9MCxpPSIiLGE9IiIpe2Z1bmN0aW9uIG8odCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7cmV0dXJuIGUuaW5uZXJIVE1MPXQsZX1jb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKCFzKXJldHVybiBuLmFwcGVuZENoaWxkKG8odCkpLG47Y29uc3QgbD10KyIiLHI9ZSsiIjtsZXQgZD1udWxsO2lmKGwubGVuZ3RoPT09ci5sZW5ndGgpe2ZvcihsZXQgdD0wO3Q8bC5sZW5ndGg7dCsrKWlmKGwuY2hhckF0KHQpIT09ci5jaGFyQXQodCkpe2Q9dDticmVha319ZWxzZSBkPU51bWJlcigiMCIpO2lmKG51bGw9PT1kKXJldHVybiBuLmFwcGVuZENoaWxkKG8obCkpLG47Y29uc3QgXz1vKGwuc3Vic3RyaW5nKDAsZCkpLHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiB1LmNsYXNzTmFtZT1zPDA/aTphLHUuYXBwZW5kQ2hpbGQobyhsLnN1YnN0cmluZyhkKSkpLG4uYXBwZW5kQ2hpbGQoXyksbi5hcHBlbmRDaGlsZCh1KSxufX0oaXx8KGk9e30pKX19XSk7"}},"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":"widget-v3.smartsuppcdn.com/manifest.json","fqdn":"widget-v3.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":"xhr","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:55.800Z","timestamp":1785129295800,"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://crystal-exploits.org\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\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 05:14:55 GMT\r\ncontent-type: application/json\r\naccess-control-allow-origin: *\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a4cb803-891\"\r\nexpires: Tue, 07 Jul 2026 08:35:15 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k6QnnNYo0NebQMvkZB19zgUJ2t6w3s/tkjRRzUs5p/z22qPjdEyFMUtDWlSr48Ww2JC6a8g\r\nx-77-nzt-ray: fdb54123f653fc6c4fe9666a1cbd1933\r\nx-77-cache: HIT\r\nx-77-age: 39\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":1034,"mime_type":"application/json","magic":"JSON text data","md5":"88bd6816d4679ef7a63e1e6b61490804","sha1":"a592c82f8688d81c4ff12ddda0f42d842dbcf079","sha256":"1147d96bffe9abe8aa663c63cca281edbff049e2211f810da089a1dd90051df8","sha512":"e583bebb86335657d7cca5065967a4e281280f0b4ab1fe0457de1dee47f12f84922daf5fe938c39bfb8f03e086d706f2b0fd1d86a6e79c4cce053f0943dcb762","ssdeep":"","tlshash":"d9414593c0b80e5317cc262bb89545515d5083c7e88a3d0d366d9a7f2f4cea920e6b7e","first_seen":"2026-07-07T11:50:17.724469Z","last_seen":"2026-07-27T07:27:47.909394Z","times_seen":1802,"resource_available":false,"data":"ewogICJfV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VySW5wdXQiLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLUNnTUNBZm9yLmpzIgogICAgXSwKICAgICJkeW5hbWljSW1wb3J0cyI6IFsKICAgICAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIgogICAgXQogIH0sCiAgIl9zaGFyZWQtQ2dNQ0Fmb3IuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvc2hhcmVkLUNnTUNBZm9yLmpzIiwKICAgICJuYW1lIjogIkljb25CdXR0b24iLAogICAgImR5bmFtaWNJbXBvcnRzIjogWwogICAgICAibm9kZV9tb2R1bGVzLy5wbnBtL0B0aHVtYm1hcmtqcyt0aHVtYm1hcmtqc0AxLjkuMC9ub2RlX21vZHVsZXMvQHRodW1ibWFya2pzL3RodW1ibWFya2pzL2Rpc3QvdGh1bWJtYXJrLmVzbS5qcyIKICAgIF0KICB9LAogICJub2RlX21vZHVsZXMvLnBucG0vQHRodW1ibWFya2pzK3RodW1ibWFya2pzQDEuOS4wL25vZGVfbW9kdWxlcy9AdGh1bWJtYXJranMvdGh1bWJtYXJranMvZGlzdC90aHVtYm1hcmsuZXNtLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL3RodW1ibWFyay5lc20tQ1A0Q1UweUwuanMiLAogICAgIm5hbWUiOiAidGh1bWJtYXJrLmVzbSIsCiAgICAic3JjIjogIm5vZGVfbW9kdWxlcy8ucG5wbS9AdGh1bWJtYXJranMrdGh1bWJtYXJranNAMS45LjAvbm9kZV9tb2R1bGVzL0B0aHVtYm1hcmtqcy90aHVtYm1hcmtqcy9kaXN0L3RodW1ibWFyay5lc20uanMiLAogICAgImlzRHluYW1pY0VudHJ5IjogdHJ1ZQogIH0sCiAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21vZHVsZS1ERDVudlZEMy5qcyIsCiAgICAibmFtZSI6ICJtb2R1bGUiLAogICAgInNyYyI6ICJub2RlX21vZHVsZXMvLnBucG0vZW1vamktbWFydEA1LjYuMC9ub2RlX21vZHVsZXMvZW1vamktbWFydC9kaXN0L21vZHVsZS5qcyIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlCiAgfSwKICAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VyIiwKICAgICJzcmMiOiAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLUNnTUNBZm9yLmpzIiwKICAgICAgIl9XaWRnZXRNZXNzZW5nZXJJbnB1dC1DMFhIUHhldi5qcyIsCiAgICAgICJzcmMvbWFpbi50cyIKICAgIF0KICB9LAogICJzcmMvZnJhbWVzL3BvcHVwL1dpZGdldFBvcHVwLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRQb3B1cC1xZXV3a2NCbi5qcyIsCiAgICAibmFtZSI6ICJXaWRnZXRQb3B1cCIsCiAgICAic3JjIjogInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIiwKICAgICJpc0R5bmFtaWNFbnRyeSI6IHRydWUsCiAgICAiaW1wb3J0cyI6IFsKICAgICAgIl9zaGFyZWQtQ2dNQ0Fmb3IuanMiLAogICAgICAiX1dpZGdldE1lc3NlbmdlcklucHV0LUMwWEhQeGV2LmpzIgogICAgXQogIH0sCiAgInNyYy9tYWluLnRzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21haW4tdDZXeExBQkEuanMiLAogICAgIm5hbWUiOiAibWFpbiIsCiAgICAic3JjIjogInNyYy9tYWluLnRzIiwKICAgICJpc0VudHJ5IjogdHJ1ZSwKICAgICJpbXBvcnRzIjogWwogICAgICAiX3NoYXJlZC1DZ01DQWZvci5qcyIKICAgIF0sCiAgICAiZHluYW1pY0ltcG9ydHMiOiBbCiAgICAgICJzcmMvZnJhbWVzL21lc3Nlbmdlci9XaWRnZXRNZXNzZW5nZXIuc3ZlbHRlIiwKICAgICAgInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIgogICAgXQogIH0sCiAgInN0eWxlLmNzcyI6IHsKICAgICJmaWxlIjogImFzc2V0cy9zdHlsZS1DbGlKd1VUUi5jc3MiLAogICAgInNyYyI6ICJzdHlsZS5jc3MiCiAgfQp9"}},"time_used":62,"timings":{"blocked":-1,"dns":29,"connect":8,"send":0,"wait":8,"receive":0,"ssl":17},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/images/cleardot.gif","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.155.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:53.033Z","timestamp":1785129293033,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /images/cleardot.gif HTTP/1.1\r\nHost: www.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-type: image/gif\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 43\r\ndate: Mon, 27 Jul 2026 05:14:53 GMT\r\npragma: no-cache\r\nexpires: Fri, 01 Jan 1990 00:00:00 GMT\r\ncache-control: no-cache, no-store, must-revalidate\r\nlast-modified: Tue, 22 Oct 2019 18:30:00 GMT\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":43,"size_decoded":717,"mime_type":"image/gif","magic":"GIF image data, version 89a, 1 x 1","md5":"fc94fb0c3ed8a8f909dbc7630a0987ff","sha1":"56d45f8a17f5078a20af9962c992ca4678450765","sha256":"2dfe28cbdb83f01c940de6a88ab86200154fd772d568035ac568664e52068363","sha512":"c87bf81fd70cf6434ca3a6c05ad6e9bd3f1d96f77dddad8d45ee043b126b2cb07a5cf23b4137b9d8462cd8a9adf2b463ab6de2b38c93db72d2d511ca60e3b57e","ssdeep":"","tlshash":"cb900003cac8c022c2a2c0300a0c03002bbaa8300228030ec0bc30fcec2a3a38c02000","first_seen":"2023-04-05T02:54:04Z","last_seen":"2026-07-27T08:08:22.837837Z","times_seen":80030,"resource_available":true,"data":"R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="}},"time_used":42,"timings":{"blocked":0,"dns":2,"connect":22,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/css/plugin.min.css","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.929Z","timestamp":1785129291929,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /css/plugin.min.css HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 04 May 2022 16:05:12 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 71741\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":577438,"size_decoded":72229,"mime_type":"text/css","magic":"ASCII text","md5":"dbc0fb70197befb4358b6b4f09823d76","sha1":"7e51d6619b3a2984de632bf41f66079c528d4600","sha256":"45cace95497c8357b9d8366e702ab0cbde5506f4532464cf2ec1454813525f22","sha512":"890e511e8c59235c8df559daebe2639d0f5f05c33a9f2460c3c162da22cc6b5bed03c856a66a1734db79db07ced9e9ce3e60b61a26f11156ca65cafdba932ad2","ssdeep":"12288:y2rw2777cxL/Hy1tIqcnjZg1f61SMCqmVsv:Wq7sHyPfcx","tlshash":"dec4436994f70984260bc45817df2b547338a06b8819dcadb6cf7a8ccfc6a9485d2fcd","first_seen":"2025-11-01T04:02:53.210481Z","last_seen":"2026-07-27T05:16:58.362445Z","times_seen":14,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsKLyohCiAqIEJvb3RzdHJhcCB2NC4xLjAgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pCiAqIENvcHlyaWdodCAyMDExLTIwMTkgVGhlIEJvb3RzdHJhcCBBdXRob3JzCiAqIENvcHlyaWdodCAyMDExLTIwMTkgVHdpdHRlciwgSW5jLgogKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKQogKi8KCjpyb290IHsKICAgIC0tYmx1ZTogIzAwN2JmZjsKICAgIC0taW5kaWdvOiAjNjYxMGYyOwogICAgLS1wdXJwbGU6ICM2ZjQyYzE7CiAgICAtLXBpbms6ICNlODNlOGM7CiAgICAtLXJlZDogI2RjMzU0NTsKICAgIC0tb3JhbmdlOiAjZmQ3ZTE0OwogICAgLS15ZWxsb3c6ICNmZmMxMDc7CiAgICAtLWdyZWVuOiAjMjhhNzQ1OwogICAgLS10ZWFsOiAjMjBjOTk3OwogICAgLS1jeWFuOiAjMTdhMmI4OwogICAgLS13aGl0ZTogI2ZmZjsKICAgIC0tZ3JheTogIzZjNzU3ZDsKICAgIC0tZ3JheS1kYXJrOiAjMzQzYTQwOwogICAgLS1wcmltYXJ5OiAjMDc0YTU1OwogICAgLS1zZWNvbmRhcnk6ICMwNmI1OTA7CiAgICAtLXN1Y2Nlc3M6ICMzNWI1M2U7CiAgICAtLWluZm86ICMzNzdkZmY7CiAgICAtLXdhcm5pbmc6ICNmZmFmMDA7CiAgICAtLWRhbmdlcjogI2UyMzYzNjsKICAgIC0tbGlnaHQ6ICNmZmZmZmY7CiAgICAtLWRhcms6ICMyMDI0Mjg7CiAgICAtLWJyZWFrcG9pbnQteHM6IDA7CiAgICAtLWJyZWFrcG9pbnQtc206IDU3NnB4OwogICAgLS1icmVha3BvaW50LW1kOiA3NjhweDsKICAgIC0tYnJlYWtwb2ludC1sZzogOTkycHg7CiAgICAtLWJyZWFrcG9pbnQteGw6IDEyMDBweDsKICAgIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmLCAiQXBwbGUgQ29sb3IgRW1vamkiLCAiU2Vnb2UgVUkgRW1vamkiLCAiU2Vnb2UgVUkgU3ltYm9sIjsKICAgIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsICJMaWJlcmF0aW9uIE1vbm8iLCAiQ291cmllciBOZXciLCBtb25vc3BhY2UKfQoKKiwKOjphZnRlciwKOjpiZWZvcmUgewogICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveAp9CgpodG1sIHsKICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOwogICAgbGluZS1oZWlnaHQ6IDEuMTU7CiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsKICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyOwogICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApCn0KCkAtbXMtdmlld3BvcnQgewogICAgd2lkdGg6IGRldmljZS13aWR0aAp9CgphcnRpY2xlLAphc2lkZSwKZGlhbG9nLApmaWdjYXB0aW9uLApmaWd1cmUsCmZvb3RlciwKaGVhZGVyLApoZ3JvdXAsCm1haW4sCm5hdiwKc2VjdGlvbiB7CiAgICBkaXNwbGF5OiBibG9jawp9Cgpib2R5IHsKICAgIG1hcmdpbjogMDsKICAgIGZvbnQtZmFtaWx5OiBQb3BwaW5zLCBNaXJ6YSwgc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBsaW5lLWhlaWdodDogMS41OwogICAgY29sb3I6ICM1YTY2NzE7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZgp9CgpbdGFiaW5kZXg9Ii0xIl06Zm9jdXMgewogICAgb3V0bGluZTogMCAhaW1wb3J0YW50Cn0KCmhyIHsKICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7CiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsKICAgIGhlaWdodDogMDsKICAgIG92ZXJmbG93OiB2aXNpYmxlCn0KCmgxLApoMiwKaDMsCmg0LApoNSwKaDYgewogICAgbWFyZ2luLXRvcDogMDsKICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbQp9CgpwIHsKICAgIG1hcmdpbi10b3A6IDA7CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtCn0KCmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0sCmFiYnJbdGl0bGVdIHsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7CiAgICBjdXJzb3I6IGhlbHA7CiAgICBib3JkZXItYm90dG9tOiAwCn0KCmFkZHJlc3MgewogICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0Cn0KCmRsLApvbCwKdWwgewogICAgbWFyZ2luLXRvcDogMDsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0KfQoKb2wgb2wsCm9sIHVsLAp1bCBvbCwKdWwgdWwgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgpkdCB7CiAgICBmb250LXdlaWdodDogNzAwCn0KCmRkIHsKICAgIG1hcmdpbi1ib3R0b206IC41cmVtOwogICAgbWFyZ2luLWxlZnQ6IDAKfQoKYmxvY2txdW90ZSB7CiAgICBtYXJnaW46IDAgMCAxcmVtCn0KCmRmbiB7CiAgICBmb250LXN0eWxlOiBpdGFsaWMKfQoKYiwKc3Ryb25nIHsKICAgIGZvbnQtd2VpZ2h0OiBib2xkZXIKfQoKc21hbGwgewogICAgZm9udC1zaXplOiA4MCUKfQoKc3ViLApzdXAgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZm9udC1zaXplOiA3NSU7CiAgICBsaW5lLWhlaWdodDogMDsKICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZQp9CgpzdWIgewogICAgYm90dG9tOiAtLjI1ZW0KfQoKc3VwIHsKICAgIHRvcDogLS41ZW0KfQoKYSB7CiAgICBjb2xvcjogIzA3NGE1NTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cwp9CgphOmhvdmVyIHsKICAgIGNvbG9yOiAjMDA1NmIzOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lCn0KCmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pIHsKICAgIGNvbG9yOiBpbmhlcml0OwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lCn0KCmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmZvY3VzLAphOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpob3ZlciB7CiAgICBjb2xvcjogaW5oZXJpdDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZQp9CgphOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cyB7CiAgICBvdXRsaW5lOiAwCn0KCmNvZGUsCmtiZCwKcHJlLApzYW1wIHsKICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogMWVtCn0KCnByZSB7CiAgICBtYXJnaW4tdG9wOiAwOwogICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKICAgIG92ZXJmbG93OiBhdXRvOwogICAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXIKfQoKZmlndXJlIHsKICAgIG1hcmdpbjogMCAwIDFyZW0KfQoKaW1nIHsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICBib3JkZXItc3R5bGU6IG5vbmUKfQoKc3ZnOm5vdCg6cm9vdCkgewogICAgb3ZlcmZsb3c6IGhpZGRlbgp9Cgp0YWJsZSB7CiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlCn0KCmNhcHRpb24gewogICAgcGFkZGluZy10b3A6IC43NXJlbTsKICAgIHBhZGRpbmctYm90dG9tOiAuNzVyZW07CiAgICBjb2xvcjogIzZjNzU3ZDsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbQp9Cgp0aCB7CiAgICB0ZXh0LWFsaWduOiBpbmhlcml0Cn0KCmxhYmVsIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1ib3R0b206IC41cmVtCn0KCmJ1dHRvbiB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7CiAgICBib3JkZXItcmFkaXVzOiAwCn0KCmJ1dHRvbjpmb2N1cyB7CiAgICBvdXRsaW5lOiAxcHggZG90dGVkOwogICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yCn0KCmJ1dHRvbiwKaW5wdXQsCm9wdGdyb3VwLApzZWxlY3QsCnRleHRhcmVhIHsKICAgIG1hcmdpbjogMDsKICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgZm9udC1zaXplOiBpbmhlcml0OwogICAgbGluZS1oZWlnaHQ6IGluaGVyaXQKfQoKYnV0dG9uLAppbnB1dCB7CiAgICBvdmVyZmxvdzogdmlzaWJsZQp9CgpidXR0b24sCnNlbGVjdCB7CiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZQp9CgpbdHlwZT1yZXNldF0sClt0eXBlPXN1Ym1pdF0sCmJ1dHRvbiwKaHRtbCBbdHlwZT1idXR0b25dIHsKICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uCn0KClt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsClt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lciwKW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciwKYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHsKICAgIHBhZGRpbmc6IDA7CiAgICBib3JkZXItc3R5bGU6IG5vbmUKfQoKaW5wdXRbdHlwZT1jaGVja2JveF0sCmlucHV0W3R5cGU9cmFkaW9dIHsKICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBwYWRkaW5nOiAwCn0KCmlucHV0W3R5cGU9ZGF0ZV0sCmlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLAppbnB1dFt0eXBlPW1vbnRoXSwKaW5wdXRbdHlwZT10aW1lXSB7CiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3gKfQoKdGV4dGFyZWEgewogICAgb3ZlcmZsb3c6IGF1dG87CiAgICByZXNpemU6IHZlcnRpY2FsCn0KCmZpZWxkc2V0IHsKICAgIG1pbi13aWR0aDogMDsKICAgIHBhZGRpbmc6IDA7CiAgICBtYXJnaW46IDA7CiAgICBib3JkZXI6IDAKfQoKbGVnZW5kIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nOiAwOwogICAgbWFyZ2luLWJvdHRvbTogLjVyZW07CiAgICBmb250LXNpemU6IDEuNXJlbTsKICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OwogICAgY29sb3I6IGluaGVyaXQ7CiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsCn0KCnByb2dyZXNzIHsKICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZQp9CgpbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLApbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHsKICAgIGhlaWdodDogYXV0bwp9CgpbdHlwZT1zZWFyY2hdIHsKICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OwogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lCn0KClt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sClt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24gewogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lCn0KCjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24gewogICAgZm9udDogaW5oZXJpdDsKICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uCn0KCm91dHB1dCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sKfQoKc3VtbWFyeSB7CiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07CiAgICBjdXJzb3I6IHBvaW50ZXIKfQoKdGVtcGxhdGUgewogICAgZGlzcGxheTogbm9uZQp9CgpbaGlkZGVuXSB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQKfQoKLmgxLAouaDIsCi5oMywKLmg0LAouaDUsCi5oNiwKaDEsCmgyLApoMywKaDQsCmg1LApoNiB7CiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07CiAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBsaW5lLWhlaWdodDogMS40OwogICAgY29sb3I6ICMyMDI0MjgKfQoKLmgxLApoMSB7CiAgICBmb250LXNpemU6IDIuNjZyZW0KfQoKLmgyLApoMiB7CiAgICBmb250LXNpemU6IDIuNHJlbQp9CgouaDMsCmgzIHsKICAgIGZvbnQtc2l6ZTogMnJlbQp9CgouaDQsCmg0IHsKICAgIGZvbnQtc2l6ZTogMS42cmVtCn0KCi5oNSwKaDUgewogICAgZm9udC1zaXplOiAxLjMzcmVtCn0KCi5oNiwKaDYgewogICAgZm9udC1zaXplOiAxLjJyZW0KfQoKLmxlYWQgewogICAgZm9udC1zaXplOiAxLjMzcmVtOwogICAgZm9udC13ZWlnaHQ6IDQwMAp9CgouZGlzcGxheS0xIHsKICAgIGZvbnQtc2l6ZTogNC44cmVtOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjIKfQoKLmRpc3BsYXktMiB7CiAgICBmb250LXNpemU6IDRyZW07CiAgICBmb250LXdlaWdodDogNTAwOwogICAgbGluZS1oZWlnaHQ6IDEuMgp9CgouZGlzcGxheS0zIHsKICAgIGZvbnQtc2l6ZTogMy4ycmVtOwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjIKfQoKLmRpc3BsYXktNCB7CiAgICBmb250LXNpemU6IDIuMjVyZW07CiAgICBmb250LXdlaWdodDogNTAwOwogICAgbGluZS1oZWlnaHQ6IDEuMgp9CgpociB7CiAgICBtYXJnaW4tdG9wOiAxcmVtOwogICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKICAgIGJvcmRlcjogMDsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4xKQp9Cgouc21hbGwsCnNtYWxsIHsKICAgIGZvbnQtc2l6ZTogODAlOwogICAgZm9udC13ZWlnaHQ6IDQwMAp9CgoubWFyaywKbWFyayB7CiAgICBwYWRkaW5nOiAuMmVtOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMwp9CgoubGlzdC11bnN0eWxlZCB7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICBsaXN0LXN0eWxlOiBub25lCn0KCi5saXN0LWlubGluZSB7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICBsaXN0LXN0eWxlOiBub25lCn0KCi5saXN0LWlubGluZS1pdGVtIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jawp9CgoubGlzdC1pbmxpbmUtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHsKICAgIG1hcmdpbi1yaWdodDogLjVyZW0KfQoKLmluaXRpYWxpc20gewogICAgZm9udC1zaXplOiA5MCU7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlCn0KCi5ibG9ja3F1b3RlIHsKICAgIG1hcmdpbi1ib3R0b206IDFyZW07CiAgICBmb250LXNpemU6IDEuMjVyZW0KfQoKLmJsb2NrcXVvdGUtZm9vdGVyIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1zaXplOiA4MCU7CiAgICBjb2xvcjogIzZjNzU3ZAp9CgouYmxvY2txdW90ZS1mb290ZXI6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDIwMTQgXDAwQTAiCn0KCi5pbWctZmx1aWQgewogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiBhdXRvCn0KCi5pbWctdGh1bWJuYWlsIHsKICAgIHBhZGRpbmc6IC4yNXJlbTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2OwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMjVyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC4wNzUpOwogICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgLjA3NSk7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IGF1dG8KfQoKLmZpZ3VyZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sKfQoKLmZpZ3VyZS1pbWcgewogICAgbWFyZ2luLWJvdHRvbTogLjVyZW07CiAgICBsaW5lLWhlaWdodDogMQp9CgouZmlndXJlLWNhcHRpb24gewogICAgZm9udC1zaXplOiA5MCU7CiAgICBjb2xvcjogIzZjNzU3ZAp9Cgpjb2RlLAprYmQsCnByZSwKc2FtcCB7CiAgICBmb250LWZhbWlseTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAiTGliZXJhdGlvbiBNb25vIiwgIkNvdXJpZXIgTmV3IiwgbW9ub3NwYWNlCn0KCmNvZGUgewogICAgZm9udC1zaXplOiA4Ny41JTsKICAgIGNvbG9yOiAjZTgzZThjOwogICAgd29yZC1icmVhazogYnJlYWstd29yZAp9CgphPmNvZGUgewogICAgY29sb3I6IGluaGVyaXQKfQoKa2JkIHsKICAgIHBhZGRpbmc6IC4ycmVtIC40cmVtOwogICAgZm9udC1zaXplOiA4Ny41JTsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjJyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMnJlbTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtLjFyZW0gMCByZ2JhKDAsIDAsIDAsIC4yNSk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0uMXJlbSAwIHJnYmEoMCwgMCwgMCwgLjI1KQp9CgprYmQga2JkIHsKICAgIHBhZGRpbmc6IDA7CiAgICBmb250LXNpemU6IDEwMCU7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogICAgYm94LXNoYWRvdzogbm9uZQp9CgpwcmUgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LXNpemU6IDg3LjUlOwogICAgY29sb3I6ICMyMTI1MjkKfQoKcHJlIGNvZGUgewogICAgZm9udC1zaXplOiBpbmhlcml0OwogICAgY29sb3I6IGluaGVyaXQ7CiAgICB3b3JkLWJyZWFrOiBub3JtYWwKfQoKLnByZS1zY3JvbGxhYmxlIHsKICAgIG1heC1oZWlnaHQ6IDM0MHB4OwogICAgb3ZlcmZsb3cteTogc2Nyb2xsCn0KCi5jb250YWluZXIgewogICAgd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OwogICAgcGFkZGluZy1sZWZ0OiAxNXB4OwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgbWFyZ2luLWxlZnQ6IGF1dG8KfQoKQG1lZGlhIChtaW4td2lkdGg6NTc2cHgpIHsKICAgIC5jb250YWluZXIgewogICAgICAgIG1heC13aWR0aDogNTQwcHgKICAgIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIHsKICAgIC5jb250YWluZXIgewogICAgICAgIG1heC13aWR0aDogNzIwcHgKICAgIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsKICAgIC5jb250YWluZXIgewogICAgICAgIG1heC13aWR0aDogOTYwcHgKICAgIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KSB7CiAgICAuY29udGFpbmVyIHsKICAgICAgICBtYXgtd2lkdGg6IDExNDBweAogICAgfQp9CgouY29udGFpbmVyLWZsdWlkIHsKICAgIHdpZHRoOiAxMDAlOwogICAgcGFkZGluZy1yaWdodDogMTVweDsKICAgIHBhZGRpbmctbGVmdDogMTVweDsKICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvCn0KCi5yb3cgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4OwogICAgbWFyZ2luLWxlZnQ6IC0xNXB4Cn0KCi5uby1ndXR0ZXJzIHsKICAgIG1hcmdpbi1yaWdodDogMDsKICAgIG1hcmdpbi1sZWZ0OiAwCn0KCi5uby1ndXR0ZXJzPi5jb2wsCi5uby1ndXR0ZXJzPltjbGFzcyo9Y29sLV0gewogICAgcGFkZGluZy1yaWdodDogMDsKICAgIHBhZGRpbmctbGVmdDogMAp9CgouY29sLAouY29sLTEsCi5jb2wtMTAsCi5jb2wtMTEsCi5jb2wtMTIsCi5jb2wtMiwKLmNvbC0zLAouY29sLTQsCi5jb2wtNSwKLmNvbC02LAouY29sLTcsCi5jb2wtOCwKLmNvbC05LAouY29sLWF1dG8sCi5jb2wtbGcsCi5jb2wtbGctMSwKLmNvbC1sZy0xMCwKLmNvbC1sZy0xMSwKLmNvbC1sZy0xMiwKLmNvbC1sZy0yLAouY29sLWxnLTMsCi5jb2wtbGctNCwKLmNvbC1sZy01LAouY29sLWxnLTYsCi5jb2wtbGctNywKLmNvbC1sZy04LAouY29sLWxnLTksCi5jb2wtbGctYXV0bywKLmNvbC1tZCwKLmNvbC1tZC0xLAouY29sLW1kLTEwLAouY29sLW1kLTExLAouY29sLW1kLTEyLAouY29sLW1kLTIsCi5jb2wtbWQtMywKLmNvbC1tZC00LAouY29sLW1kLTUsCi5jb2wtbWQtNiwKLmNvbC1tZC03LAouY29sLW1kLTgsCi5jb2wtbWQtOSwKLmNvbC1tZC1hdXRvLAouY29sLXNtLAouY29sLXNtLTEsCi5jb2wtc20tMTAsCi5jb2wtc20tMTEsCi5jb2wtc20tMTIsCi5jb2wtc20tMiwKLmNvbC1zbS0zLAouY29sLXNtLTQsCi5jb2wtc20tNSwKLmNvbC1zbS02LAouY29sLXNtLTcsCi5jb2wtc20tOCwKLmNvbC1zbS05LAouY29sLXNtLWF1dG8sCi5jb2wteGwsCi5jb2wteGwtMSwKLmNvbC14bC0xMCwKLmNvbC14bC0xMSwKLmNvbC14bC0xMiwKLmNvbC14bC0yLAouY29sLXhsLTMsCi5jb2wteGwtNCwKLmNvbC14bC01LAouY29sLXhsLTYsCi5jb2wteGwtNywKLmNvbC14bC04LAouY29sLXhsLTksCi5jb2wteGwtYXV0byB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogMTAwJTsKICAgIG1pbi1oZWlnaHQ6IDFweDsKICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7CiAgICBwYWRkaW5nLWxlZnQ6IDE1cHgKfQoKLmNvbCB7CiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDA7CiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDsKICAgIGZsZXgtYmFzaXM6IDA7CiAgICAtd2Via2l0LWJveC1mbGV4OiAxOwogICAgLXdlYmtpdC1mbGV4LWdyb3c6IDE7CiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTsKICAgIGZsZXgtZ3JvdzogMTsKICAgIG1heC13aWR0aDogMTAwJQp9CgouY29sLWF1dG8gewogICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgIC13ZWJraXQtZmxleDogMCAwIGF1dG87CiAgICAtbXMtZmxleDogMCAwIGF1dG87CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiBhdXRvOwogICAgbWF4LXdpZHRoOiBub25lCn0KCi5jb2wtMSB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgLXdlYmtpdC1mbGV4OiAwIDAgOC4zMzMzMyU7CiAgICAtbXMtZmxleDogMCAwIDguMzMzMzMlOwogICAgZmxleDogMCAwIDguMzMzMzMlOwogICAgbWF4LXdpZHRoOiA4LjMzMzMzJQp9CgouY29sLTIgewogICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgIC13ZWJraXQtZmxleDogMCAwIDE2LjY2NjY3JTsKICAgIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjclOwogICAgZmxleDogMCAwIDE2LjY2NjY3JTsKICAgIG1heC13aWR0aDogMTYuNjY2NjclCn0KCi5jb2wtMyB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgLXdlYmtpdC1mbGV4OiAwIDAgMjUlOwogICAgLW1zLWZsZXg6IDAgMCAyNSU7CiAgICBmbGV4OiAwIDAgMjUlOwogICAgbWF4LXdpZHRoOiAyNSUKfQoKLmNvbC00IHsKICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7CiAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTsKICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7CiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJQp9CgouY29sLTUgewogICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgIC13ZWJraXQtZmxleDogMCAwIDQxLjY2NjY3JTsKICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjclOwogICAgZmxleDogMCAwIDQxLjY2NjY3JTsKICAgIG1heC13aWR0aDogNDEuNjY2NjclCn0KCi5jb2wtNiB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlOwogICAgLW1zLWZsZXg6IDAgMCA1MCU7CiAgICBmbGV4OiAwIDAgNTAlOwogICAgbWF4LXdpZHRoOiA1MCUKfQoKLmNvbC03IHsKICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAtd2Via2l0LWZsZXg6IDAgMCA1OC4zMzMzMyU7CiAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzJTsKICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7CiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJQp9CgouY29sLTggewogICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTsKICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjclOwogICAgZmxleDogMCAwIDY2LjY2NjY3JTsKICAgIG1heC13aWR0aDogNjYuNjY2NjclCn0KCi5jb2wtOSB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgLXdlYmtpdC1mbGV4OiAwIDAgNzUlOwogICAgLW1zLWZsZXg6IDAgMCA3NSU7CiAgICBmbGV4OiAwIDAgNzUlOwogICAgbWF4LXdpZHRoOiA3NSUKfQoKLmNvbC0xMCB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgLXdlYmtpdC1mbGV4OiAwIDAgODMuMzMzMzMlOwogICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7CiAgICBmbGV4OiAwIDAgODMuMzMzMzMlOwogICAgbWF4LXdpZHRoOiA4My4zMzMzMyUKfQoKLmNvbC0xMSB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgLXdlYmtpdC1mbGV4OiAwIDAgOTEuNjY2NjclOwogICAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NyU7CiAgICBmbGV4OiAwIDAgOTEuNjY2NjclOwogICAgbWF4LXdpZHRoOiA5MS42NjY2NyUKfQoKLmNvbC0xMiB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTsKICAgIC1tcy1mbGV4OiAwIDAgMTAwJTsKICAgIGZsZXg6IDAgMCAxMDAlOwogICAgbWF4LXdpZHRoOiAxMDAlCn0KCi5vcmRlci1maXJzdCB7CiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAwOwogICAgLXdlYmtpdC1vcmRlcjogLTE7CiAgICAtbXMtZmxleC1vcmRlcjogLTE7CiAgICBvcmRlcjogLTEKfQoKLm9yZGVyLWxhc3QgewogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTQ7CiAgICAtd2Via2l0LW9yZGVyOiAxMzsKICAgIC1tcy1mbGV4LW9yZGVyOiAxMzsKICAgIG9yZGVyOiAxMwp9Cgoub3JkZXItMCB7CiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxOwogICAgLXdlYmtpdC1vcmRlcjogMDsKICAgIC1tcy1mbGV4LW9yZGVyOiAwOwogICAgb3JkZXI6IDAKfQoKLm9yZGVyLTEgewogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjsKICAgIC13ZWJraXQtb3JkZXI6IDE7CiAgICAtbXMtZmxleC1vcmRlcjogMTsKICAgIG9yZGVyOiAxCn0KCi5vcmRlci0yIHsKICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDM7CiAgICAtd2Via2l0LW9yZGVyOiAyOwogICAgLW1zLWZsZXgtb3JkZXI6IDI7CiAgICBvcmRlcjogMgp9Cgoub3JkZXItMyB7CiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA0OwogICAgLXdlYmtpdC1vcmRlcjogMzsKICAgIC1tcy1mbGV4LW9yZGVyOiAzOwogICAgb3JkZXI6IDMKfQoKLm9yZGVyLTQgewogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNTsKICAgIC13ZWJraXQtb3JkZXI6IDQ7CiAgICAtbXMtZmxleC1vcmRlcjogNDsKICAgIG9yZGVyOiA0Cn0KCi5vcmRlci01IHsKICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDY7CiAgICAtd2Via2l0LW9yZGVyOiA1OwogICAgLW1zLWZsZXgtb3JkZXI6IDU7CiAgICBvcmRlcjogNQp9Cgoub3JkZXItNiB7CiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA3OwogICAgLXdlYmtpdC1vcmRlcjogNjsKICAgIC1tcy1mbGV4LW9yZGVyOiA2OwogICAgb3JkZXI6IDYKfQoKLm9yZGVyLTcgewogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogODsKICAgIC13ZWJraXQtb3JkZXI6IDc7CiAgICAtbXMtZmxleC1vcmRlcjogNzsKICAgIG9yZGVyOiA3Cn0KCi5vcmRlci04IHsKICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDk7CiAgICAtd2Via2l0LW9yZGVyOiA4OwogICAgLW1zLWZsZXgtb3JkZXI6IDg7CiAgICBvcmRlcjogOAp9Cgoub3JkZXItOSB7CiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMDsKICAgIC13ZWJraXQtb3JkZXI6IDk7CiAgICAtbXMtZmxleC1vcmRlcjogOTsKICAgIG9yZGVyOiA5Cn0KCi5vcmRlci0xMCB7CiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMTsKICAgIC13ZWJraXQtb3JkZXI6IDEwOwogICAgLW1zLWZsZXgtb3JkZXI6IDEwOwogICAgb3JkZXI6IDEwCn0KCi5vcmRlci0xMSB7CiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMjsKICAgIC13ZWJraXQtb3JkZXI6IDExOwogICAgLW1zLWZsZXgtb3JkZXI6IDExOwogICAgb3JkZXI6IDExCn0KCi5vcmRlci0xMiB7CiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMzsKICAgIC13ZWJraXQtb3JkZXI6IDEyOwogICAgLW1zLWZsZXgtb3JkZXI6IDEyOwogICAgb3JkZXI6IDEyCn0KCi5vZmZzZXQtMSB7CiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyUKfQoKLm9mZnNldC0yIHsKICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyUKfQoKLm9mZnNldC0zIHsKICAgIG1hcmdpbi1sZWZ0OiAyNSUKfQoKLm9mZnNldC00IHsKICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyUKfQoKLm9mZnNldC01IHsKICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyUKfQoKLm9mZnNldC02IHsKICAgIG1hcmdpbi1sZWZ0OiA1MCUKfQoKLm9mZnNldC03IHsKICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyUKfQoKLm9mZnNldC04IHsKICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyUKfQoKLm9mZnNldC05IHsKICAgIG1hcmdpbi1sZWZ0OiA3NSUKfQoKLm9mZnNldC0xMCB7CiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlCn0KCi5vZmZzZXQtMTEgewogICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JQp9CgpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgewogICAgLmNvbC1zbSB7CiAgICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAwOwogICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwOwogICAgICAgIGZsZXgtYmFzaXM6IDA7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTsKICAgICAgICAtd2Via2l0LWZsZXgtZ3JvdzogMTsKICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlCiAgICB9CiAgICAuY29sLXNtLWF1dG8gewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgYXV0bzsKICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87CiAgICAgICAgZmxleDogMCAwIGF1dG87CiAgICAgICAgd2lkdGg6IGF1dG87CiAgICAgICAgbWF4LXdpZHRoOiBub25lCiAgICB9CiAgICAuY29sLXNtLTEgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgOC4zMzMzMyU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzJTsKICAgICAgICBmbGV4OiAwIDAgOC4zMzMzMyU7CiAgICAgICAgbWF4LXdpZHRoOiA4LjMzMzMzJQogICAgfQogICAgLmNvbC1zbS0yIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDE2LjY2NjY3JTsKICAgICAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY3JTsKICAgICAgICBmbGV4OiAwIDAgMTYuNjY2NjclOwogICAgICAgIG1heC13aWR0aDogMTYuNjY2NjclCiAgICB9CiAgICAuY29sLXNtLTMgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMjUlOwogICAgICAgIC1tcy1mbGV4OiAwIDAgMjUlOwogICAgICAgIGZsZXg6IDAgMCAyNSU7CiAgICAgICAgbWF4LXdpZHRoOiAyNSUKICAgIH0KICAgIC5jb2wtc20tNCB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7CiAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTsKICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJQogICAgfQogICAgLmNvbC1zbS01IHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDQxLjY2NjY3JTsKICAgICAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY3JTsKICAgICAgICBmbGV4OiAwIDAgNDEuNjY2NjclOwogICAgICAgIG1heC13aWR0aDogNDEuNjY2NjclCiAgICB9CiAgICAuY29sLXNtLTYgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlOwogICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlOwogICAgICAgIGZsZXg6IDAgMCA1MCU7CiAgICAgICAgbWF4LXdpZHRoOiA1MCUKICAgIH0KICAgIC5jb2wtc20tNyB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1OC4zMzMzMyU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7CiAgICAgICAgZmxleDogMCAwIDU4LjMzMzMzJTsKICAgICAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJQogICAgfQogICAgLmNvbC1zbS04IHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTsKICAgICAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTsKICAgICAgICBmbGV4OiAwIDAgNjYuNjY2NjclOwogICAgICAgIG1heC13aWR0aDogNjYuNjY2NjclCiAgICB9CiAgICAuY29sLXNtLTkgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNzUlOwogICAgICAgIC1tcy1mbGV4OiAwIDAgNzUlOwogICAgICAgIGZsZXg6IDAgMCA3NSU7CiAgICAgICAgbWF4LXdpZHRoOiA3NSUKICAgIH0KICAgIC5jb2wtc20tMTAgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgODMuMzMzMzMlOwogICAgICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMlOwogICAgICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7CiAgICAgICAgbWF4LXdpZHRoOiA4My4zMzMzMyUKICAgIH0KICAgIC5jb2wtc20tMTEgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgOTEuNjY2NjclOwogICAgICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjclOwogICAgICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7CiAgICAgICAgbWF4LXdpZHRoOiA5MS42NjY2NyUKICAgIH0KICAgIC5jb2wtc20tMTIgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTsKICAgICAgICAtbXMtZmxleDogMCAwIDEwMCU7CiAgICAgICAgZmxleDogMCAwIDEwMCU7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlCiAgICB9CiAgICAub3JkZXItc20tZmlyc3QgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDA7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogLTE7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IC0xOwogICAgICAgIG9yZGVyOiAtMQogICAgfQogICAgLm9yZGVyLXNtLWxhc3QgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDE0OwogICAgICAgIC13ZWJraXQtb3JkZXI6IDEzOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMzsKICAgICAgICBvcmRlcjogMTMKICAgIH0KICAgIC5vcmRlci1zbS0wIHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxOwogICAgICAgIC13ZWJraXQtb3JkZXI6IDA7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDA7CiAgICAgICAgb3JkZXI6IDAKICAgIH0KICAgIC5vcmRlci1zbS0xIHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAyOwogICAgICAgIC13ZWJraXQtb3JkZXI6IDE7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDE7CiAgICAgICAgb3JkZXI6IDEKICAgIH0KICAgIC5vcmRlci1zbS0yIHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAzOwogICAgICAgIC13ZWJraXQtb3JkZXI6IDI7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDI7CiAgICAgICAgb3JkZXI6IDIKICAgIH0KICAgIC5vcmRlci1zbS0zIHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA0OwogICAgICAgIC13ZWJraXQtb3JkZXI6IDM7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDM7CiAgICAgICAgb3JkZXI6IDMKICAgIH0KICAgIC5vcmRlci1zbS00IHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA1OwogICAgICAgIC13ZWJraXQtb3JkZXI6IDQ7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDQ7CiAgICAgICAgb3JkZXI6IDQKICAgIH0KICAgIC5vcmRlci1zbS01IHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA2OwogICAgICAgIC13ZWJraXQtb3JkZXI6IDU7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDU7CiAgICAgICAgb3JkZXI6IDUKICAgIH0KICAgIC5vcmRlci1zbS02IHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA3OwogICAgICAgIC13ZWJraXQtb3JkZXI6IDY7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDY7CiAgICAgICAgb3JkZXI6IDYKICAgIH0KICAgIC5vcmRlci1zbS03IHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA4OwogICAgICAgIC13ZWJraXQtb3JkZXI6IDc7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDc7CiAgICAgICAgb3JkZXI6IDcKICAgIH0KICAgIC5vcmRlci1zbS04IHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA5OwogICAgICAgIC13ZWJraXQtb3JkZXI6IDg7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDg7CiAgICAgICAgb3JkZXI6IDgKICAgIH0KICAgIC5vcmRlci1zbS05IHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMDsKICAgICAgICAtd2Via2l0LW9yZGVyOiA5OwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA5OwogICAgICAgIG9yZGVyOiA5CiAgICB9CiAgICAub3JkZXItc20tMTAgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDExOwogICAgICAgIC13ZWJraXQtb3JkZXI6IDEwOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMDsKICAgICAgICBvcmRlcjogMTAKICAgIH0KICAgIC5vcmRlci1zbS0xMSB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTI7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogMTE7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDExOwogICAgICAgIG9yZGVyOiAxMQogICAgfQogICAgLm9yZGVyLXNtLTEyIHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMzsKICAgICAgICAtd2Via2l0LW9yZGVyOiAxMjsKICAgICAgICAtbXMtZmxleC1vcmRlcjogMTI7CiAgICAgICAgb3JkZXI6IDEyCiAgICB9CiAgICAub2Zmc2V0LXNtLTAgewogICAgICAgIG1hcmdpbi1sZWZ0OiAwCiAgICB9CiAgICAub2Zmc2V0LXNtLTEgewogICAgICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJQogICAgfQogICAgLm9mZnNldC1zbS0yIHsKICAgICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclCiAgICB9CiAgICAub2Zmc2V0LXNtLTMgewogICAgICAgIG1hcmdpbi1sZWZ0OiAyNSUKICAgIH0KICAgIC5vZmZzZXQtc20tNCB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJQogICAgfQogICAgLm9mZnNldC1zbS01IHsKICAgICAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclCiAgICB9CiAgICAub2Zmc2V0LXNtLTYgewogICAgICAgIG1hcmdpbi1sZWZ0OiA1MCUKICAgIH0KICAgIC5vZmZzZXQtc20tNyB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJQogICAgfQogICAgLm9mZnNldC1zbS04IHsKICAgICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclCiAgICB9CiAgICAub2Zmc2V0LXNtLTkgewogICAgICAgIG1hcmdpbi1sZWZ0OiA3NSUKICAgIH0KICAgIC5vZmZzZXQtc20tMTAgewogICAgICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyUKICAgIH0KICAgIC5vZmZzZXQtc20tMTEgewogICAgICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyUKICAgIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIHsKICAgIC5jb2wtbWQgewogICAgICAgIC13ZWJraXQtZmxleC1iYXNpczogMDsKICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDsKICAgICAgICBmbGV4LWJhc2lzOiAwOwogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAgICAgLXdlYmtpdC1mbGV4LWdyb3c6IDE7CiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIG1heC13aWR0aDogMTAwJQogICAgfQogICAgLmNvbC1tZC1hdXRvIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIGF1dG87CiAgICAgICAgLW1zLWZsZXg6IDAgMCBhdXRvOwogICAgICAgIGZsZXg6IDAgMCBhdXRvOwogICAgICAgIHdpZHRoOiBhdXRvOwogICAgICAgIG1heC13aWR0aDogbm9uZQogICAgfQogICAgLmNvbC1tZC0xIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDguMzMzMzMlOwogICAgICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMyU7CiAgICAgICAgZmxleDogMCAwIDguMzMzMzMlOwogICAgICAgIG1heC13aWR0aDogOC4zMzMzMyUKICAgIH0KICAgIC5jb2wtbWQtMiB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAxNi42NjY2NyU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NyU7CiAgICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTsKICAgICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JQogICAgfQogICAgLmNvbC1tZC0zIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDI1JTsKICAgICAgICAtbXMtZmxleDogMCAwIDI1JTsKICAgICAgICBmbGV4OiAwIDAgMjUlOwogICAgICAgIG1heC13aWR0aDogMjUlCiAgICB9CiAgICAuY29sLW1kLTQgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlOwogICAgICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlOwogICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7CiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyUKICAgIH0KICAgIC5jb2wtbWQtNSB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA0MS42NjY2NyU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7CiAgICAgICAgZmxleDogMCAwIDQxLjY2NjY3JTsKICAgICAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JQogICAgfQogICAgLmNvbC1tZC02IHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTsKICAgICAgICAtbXMtZmxleDogMCAwIDUwJTsKICAgICAgICBmbGV4OiAwIDAgNTAlOwogICAgICAgIG1heC13aWR0aDogNTAlCiAgICB9CiAgICAuY29sLW1kLTcgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTguMzMzMzMlOwogICAgICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlOwogICAgICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7CiAgICAgICAgbWF4LXdpZHRoOiA1OC4zMzMzMyUKICAgIH0KICAgIC5jb2wtbWQtOCB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA2Ni42NjY2NyU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7CiAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTsKICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JQogICAgfQogICAgLmNvbC1tZC05IHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDc1JTsKICAgICAgICAtbXMtZmxleDogMCAwIDc1JTsKICAgICAgICBmbGV4OiAwIDAgNzUlOwogICAgICAgIG1heC13aWR0aDogNzUlCiAgICB9CiAgICAuY29sLW1kLTEwIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDgzLjMzMzMzJTsKICAgICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTsKICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMlOwogICAgICAgIG1heC13aWR0aDogODMuMzMzMzMlCiAgICB9CiAgICAuY29sLW1kLTExIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDkxLjY2NjY3JTsKICAgICAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY3JTsKICAgICAgICBmbGV4OiAwIDAgOTEuNjY2NjclOwogICAgICAgIG1heC13aWR0aDogOTEuNjY2NjclCiAgICB9CiAgICAuY29sLW1kLTEyIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlOwogICAgICAgIGZsZXg6IDAgMCAxMDAlOwogICAgICAgIG1heC13aWR0aDogMTAwJQogICAgfQogICAgLm9yZGVyLW1kLWZpcnN0IHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAwOwogICAgICAgIC13ZWJraXQtb3JkZXI6IC0xOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTsKICAgICAgICBvcmRlcjogLTEKICAgIH0KICAgIC5vcmRlci1tZC1sYXN0IHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxNDsKICAgICAgICAtd2Via2l0LW9yZGVyOiAxMzsKICAgICAgICAtbXMtZmxleC1vcmRlcjogMTM7CiAgICAgICAgb3JkZXI6IDEzCiAgICB9CiAgICAub3JkZXItbWQtMCB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTsKICAgICAgICAtd2Via2l0LW9yZGVyOiAwOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAwOwogICAgICAgIG9yZGVyOiAwCiAgICB9CiAgICAub3JkZXItbWQtMSB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjsKICAgICAgICAtd2Via2l0LW9yZGVyOiAxOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxOwogICAgICAgIG9yZGVyOiAxCiAgICB9CiAgICAub3JkZXItbWQtMiB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMzsKICAgICAgICAtd2Via2l0LW9yZGVyOiAyOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAyOwogICAgICAgIG9yZGVyOiAyCiAgICB9CiAgICAub3JkZXItbWQtMyB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNDsKICAgICAgICAtd2Via2l0LW9yZGVyOiAzOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAzOwogICAgICAgIG9yZGVyOiAzCiAgICB9CiAgICAub3JkZXItbWQtNCB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNTsKICAgICAgICAtd2Via2l0LW9yZGVyOiA0OwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA0OwogICAgICAgIG9yZGVyOiA0CiAgICB9CiAgICAub3JkZXItbWQtNSB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNjsKICAgICAgICAtd2Via2l0LW9yZGVyOiA1OwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA1OwogICAgICAgIG9yZGVyOiA1CiAgICB9CiAgICAub3JkZXItbWQtNiB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNzsKICAgICAgICAtd2Via2l0LW9yZGVyOiA2OwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA2OwogICAgICAgIG9yZGVyOiA2CiAgICB9CiAgICAub3JkZXItbWQtNyB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogODsKICAgICAgICAtd2Via2l0LW9yZGVyOiA3OwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA3OwogICAgICAgIG9yZGVyOiA3CiAgICB9CiAgICAub3JkZXItbWQtOCB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogOTsKICAgICAgICAtd2Via2l0LW9yZGVyOiA4OwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA4OwogICAgICAgIG9yZGVyOiA4CiAgICB9CiAgICAub3JkZXItbWQtOSB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTA7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogOTsKICAgICAgICAtbXMtZmxleC1vcmRlcjogOTsKICAgICAgICBvcmRlcjogOQogICAgfQogICAgLm9yZGVyLW1kLTEwIHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMTsKICAgICAgICAtd2Via2l0LW9yZGVyOiAxMDsKICAgICAgICAtbXMtZmxleC1vcmRlcjogMTA7CiAgICAgICAgb3JkZXI6IDEwCiAgICB9CiAgICAub3JkZXItbWQtMTEgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDEyOwogICAgICAgIC13ZWJraXQtb3JkZXI6IDExOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMTsKICAgICAgICBvcmRlcjogMTEKICAgIH0KICAgIC5vcmRlci1tZC0xMiB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTM7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogMTI7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEyOwogICAgICAgIG9yZGVyOiAxMgogICAgfQogICAgLm9mZnNldC1tZC0wIHsKICAgICAgICBtYXJnaW4tbGVmdDogMAogICAgfQogICAgLm9mZnNldC1tZC0xIHsKICAgICAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyUKICAgIH0KICAgIC5vZmZzZXQtbWQtMiB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JQogICAgfQogICAgLm9mZnNldC1tZC0zIHsKICAgICAgICBtYXJnaW4tbGVmdDogMjUlCiAgICB9CiAgICAub2Zmc2V0LW1kLTQgewogICAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyUKICAgIH0KICAgIC5vZmZzZXQtbWQtNSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JQogICAgfQogICAgLm9mZnNldC1tZC02IHsKICAgICAgICBtYXJnaW4tbGVmdDogNTAlCiAgICB9CiAgICAub2Zmc2V0LW1kLTcgewogICAgICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyUKICAgIH0KICAgIC5vZmZzZXQtbWQtOCB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JQogICAgfQogICAgLm9mZnNldC1tZC05IHsKICAgICAgICBtYXJnaW4tbGVmdDogNzUlCiAgICB9CiAgICAub2Zmc2V0LW1kLTEwIHsKICAgICAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlCiAgICB9CiAgICAub2Zmc2V0LW1kLTExIHsKICAgICAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclCiAgICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7CiAgICAuY29sLWxnIHsKICAgICAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDA7CiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7CiAgICAgICAgZmxleC1iYXNpczogMDsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxOwogICAgICAgIC13ZWJraXQtZmxleC1ncm93OiAxOwogICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxOwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBtYXgtd2lkdGg6IDEwMCUKICAgIH0KICAgIC5jb2wtbGctYXV0byB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCBhdXRvOwogICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bzsKICAgICAgICBmbGV4OiAwIDAgYXV0bzsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICBtYXgtd2lkdGg6IG5vbmUKICAgIH0KICAgIC5jb2wtbGctMSB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA4LjMzMzMzJTsKICAgICAgICAtbXMtZmxleDogMCAwIDguMzMzMzMlOwogICAgICAgIGZsZXg6IDAgMCA4LjMzMzMzJTsKICAgICAgICBtYXgtd2lkdGg6IDguMzMzMzMlCiAgICB9CiAgICAuY29sLWxnLTIgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMTYuNjY2NjclOwogICAgICAgIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjclOwogICAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7CiAgICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyUKICAgIH0KICAgIC5jb2wtbGctMyB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAyNSU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCAyNSU7CiAgICAgICAgZmxleDogMCAwIDI1JTsKICAgICAgICBtYXgtd2lkdGg6IDI1JQogICAgfQogICAgLmNvbC1sZy00IHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTsKICAgICAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTsKICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlOwogICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlCiAgICB9CiAgICAuY29sLWxnLTUgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNDEuNjY2NjclOwogICAgICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjclOwogICAgICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7CiAgICAgICAgbWF4LXdpZHRoOiA0MS42NjY2NyUKICAgIH0KICAgIC5jb2wtbGctNiB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7CiAgICAgICAgZmxleDogMCAwIDUwJTsKICAgICAgICBtYXgtd2lkdGg6IDUwJQogICAgfQogICAgLmNvbC1sZy03IHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDU4LjMzMzMzJTsKICAgICAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzJTsKICAgICAgICBmbGV4OiAwIDAgNTguMzMzMzMlOwogICAgICAgIG1heC13aWR0aDogNTguMzMzMzMlCiAgICB9CiAgICAuY29sLWxnLTggewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNjYuNjY2NjclOwogICAgICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjclOwogICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7CiAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NyUKICAgIH0KICAgIC5jb2wtbGctOSB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA3NSU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCA3NSU7CiAgICAgICAgZmxleDogMCAwIDc1JTsKICAgICAgICBtYXgtd2lkdGg6IDc1JQogICAgfQogICAgLmNvbC1sZy0xMCB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7CiAgICAgICAgZmxleDogMCAwIDgzLjMzMzMzJTsKICAgICAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJQogICAgfQogICAgLmNvbC1sZy0xMSB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA5MS42NjY2NyU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NyU7CiAgICAgICAgZmxleDogMCAwIDkxLjY2NjY3JTsKICAgICAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JQogICAgfQogICAgLmNvbC1sZy0xMiB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlOwogICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTsKICAgICAgICBmbGV4OiAwIDAgMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDEwMCUKICAgIH0KICAgIC5vcmRlci1sZy1maXJzdCB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMDsKICAgICAgICAtd2Via2l0LW9yZGVyOiAtMTsKICAgICAgICAtbXMtZmxleC1vcmRlcjogLTE7CiAgICAgICAgb3JkZXI6IC0xCiAgICB9CiAgICAub3JkZXItbGctbGFzdCB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTQ7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogMTM7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEzOwogICAgICAgIG9yZGVyOiAxMwogICAgfQogICAgLm9yZGVyLWxnLTAgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDE7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogMDsKICAgICAgICAtbXMtZmxleC1vcmRlcjogMDsKICAgICAgICBvcmRlcjogMAogICAgfQogICAgLm9yZGVyLWxnLTEgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogMTsKICAgICAgICAtbXMtZmxleC1vcmRlcjogMTsKICAgICAgICBvcmRlcjogMQogICAgfQogICAgLm9yZGVyLWxnLTIgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDM7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogMjsKICAgICAgICAtbXMtZmxleC1vcmRlcjogMjsKICAgICAgICBvcmRlcjogMgogICAgfQogICAgLm9yZGVyLWxnLTMgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDQ7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogMzsKICAgICAgICAtbXMtZmxleC1vcmRlcjogMzsKICAgICAgICBvcmRlcjogMwogICAgfQogICAgLm9yZGVyLWxnLTQgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDU7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogNDsKICAgICAgICAtbXMtZmxleC1vcmRlcjogNDsKICAgICAgICBvcmRlcjogNAogICAgfQogICAgLm9yZGVyLWxnLTUgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDY7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogNTsKICAgICAgICAtbXMtZmxleC1vcmRlcjogNTsKICAgICAgICBvcmRlcjogNQogICAgfQogICAgLm9yZGVyLWxnLTYgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDc7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogNjsKICAgICAgICAtbXMtZmxleC1vcmRlcjogNjsKICAgICAgICBvcmRlcjogNgogICAgfQogICAgLm9yZGVyLWxnLTcgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDg7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogNzsKICAgICAgICAtbXMtZmxleC1vcmRlcjogNzsKICAgICAgICBvcmRlcjogNwogICAgfQogICAgLm9yZGVyLWxnLTggewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDk7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogODsKICAgICAgICAtbXMtZmxleC1vcmRlcjogODsKICAgICAgICBvcmRlcjogOAogICAgfQogICAgLm9yZGVyLWxnLTkgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDEwOwogICAgICAgIC13ZWJraXQtb3JkZXI6IDk7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDk7CiAgICAgICAgb3JkZXI6IDkKICAgIH0KICAgIC5vcmRlci1sZy0xMCB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTE7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogMTA7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEwOwogICAgICAgIG9yZGVyOiAxMAogICAgfQogICAgLm9yZGVyLWxnLTExIHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMjsKICAgICAgICAtd2Via2l0LW9yZGVyOiAxMTsKICAgICAgICAtbXMtZmxleC1vcmRlcjogMTE7CiAgICAgICAgb3JkZXI6IDExCiAgICB9CiAgICAub3JkZXItbGctMTIgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDEzOwogICAgICAgIC13ZWJraXQtb3JkZXI6IDEyOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMjsKICAgICAgICBvcmRlcjogMTIKICAgIH0KICAgIC5vZmZzZXQtbGctMCB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDAKICAgIH0KICAgIC5vZmZzZXQtbGctMSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlCiAgICB9CiAgICAub2Zmc2V0LWxnLTIgewogICAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyUKICAgIH0KICAgIC5vZmZzZXQtbGctMyB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1JQogICAgfQogICAgLm9mZnNldC1sZy00IHsKICAgICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlCiAgICB9CiAgICAub2Zmc2V0LWxnLTUgewogICAgICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyUKICAgIH0KICAgIC5vZmZzZXQtbGctNiB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDUwJQogICAgfQogICAgLm9mZnNldC1sZy03IHsKICAgICAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlCiAgICB9CiAgICAub2Zmc2V0LWxnLTggewogICAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyUKICAgIH0KICAgIC5vZmZzZXQtbGctOSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDc1JQogICAgfQogICAgLm9mZnNldC1sZy0xMCB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJQogICAgfQogICAgLm9mZnNldC1sZy0xMSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JQogICAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpIHsKICAgIC5jb2wteGwgewogICAgICAgIC13ZWJraXQtZmxleC1iYXNpczogMDsKICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDsKICAgICAgICBmbGV4LWJhc2lzOiAwOwogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAgICAgLXdlYmtpdC1mbGV4LWdyb3c6IDE7CiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIG1heC13aWR0aDogMTAwJQogICAgfQogICAgLmNvbC14bC1hdXRvIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIGF1dG87CiAgICAgICAgLW1zLWZsZXg6IDAgMCBhdXRvOwogICAgICAgIGZsZXg6IDAgMCBhdXRvOwogICAgICAgIHdpZHRoOiBhdXRvOwogICAgICAgIG1heC13aWR0aDogbm9uZQogICAgfQogICAgLmNvbC14bC0xIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDguMzMzMzMlOwogICAgICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMyU7CiAgICAgICAgZmxleDogMCAwIDguMzMzMzMlOwogICAgICAgIG1heC13aWR0aDogOC4zMzMzMyUKICAgIH0KICAgIC5jb2wteGwtMiB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAxNi42NjY2NyU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NyU7CiAgICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTsKICAgICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JQogICAgfQogICAgLmNvbC14bC0zIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDI1JTsKICAgICAgICAtbXMtZmxleDogMCAwIDI1JTsKICAgICAgICBmbGV4OiAwIDAgMjUlOwogICAgICAgIG1heC13aWR0aDogMjUlCiAgICB9CiAgICAuY29sLXhsLTQgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlOwogICAgICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlOwogICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7CiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyUKICAgIH0KICAgIC5jb2wteGwtNSB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA0MS42NjY2NyU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7CiAgICAgICAgZmxleDogMCAwIDQxLjY2NjY3JTsKICAgICAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JQogICAgfQogICAgLmNvbC14bC02IHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTsKICAgICAgICAtbXMtZmxleDogMCAwIDUwJTsKICAgICAgICBmbGV4OiAwIDAgNTAlOwogICAgICAgIG1heC13aWR0aDogNTAlCiAgICB9CiAgICAuY29sLXhsLTcgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTguMzMzMzMlOwogICAgICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlOwogICAgICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7CiAgICAgICAgbWF4LXdpZHRoOiA1OC4zMzMzMyUKICAgIH0KICAgIC5jb2wteGwtOCB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA2Ni42NjY2NyU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7CiAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTsKICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JQogICAgfQogICAgLmNvbC14bC05IHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDc1JTsKICAgICAgICAtbXMtZmxleDogMCAwIDc1JTsKICAgICAgICBmbGV4OiAwIDAgNzUlOwogICAgICAgIG1heC13aWR0aDogNzUlCiAgICB9CiAgICAuY29sLXhsLTEwIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDgzLjMzMzMzJTsKICAgICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTsKICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMlOwogICAgICAgIG1heC13aWR0aDogODMuMzMzMzMlCiAgICB9CiAgICAuY29sLXhsLTExIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDkxLjY2NjY3JTsKICAgICAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY3JTsKICAgICAgICBmbGV4OiAwIDAgOTEuNjY2NjclOwogICAgICAgIG1heC13aWR0aDogOTEuNjY2NjclCiAgICB9CiAgICAuY29sLXhsLTEyIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7CiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlOwogICAgICAgIGZsZXg6IDAgMCAxMDAlOwogICAgICAgIG1heC13aWR0aDogMTAwJQogICAgfQogICAgLm9yZGVyLXhsLWZpcnN0IHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAwOwogICAgICAgIC13ZWJraXQtb3JkZXI6IC0xOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTsKICAgICAgICBvcmRlcjogLTEKICAgIH0KICAgIC5vcmRlci14bC1sYXN0IHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxNDsKICAgICAgICAtd2Via2l0LW9yZGVyOiAxMzsKICAgICAgICAtbXMtZmxleC1vcmRlcjogMTM7CiAgICAgICAgb3JkZXI6IDEzCiAgICB9CiAgICAub3JkZXIteGwtMCB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTsKICAgICAgICAtd2Via2l0LW9yZGVyOiAwOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAwOwogICAgICAgIG9yZGVyOiAwCiAgICB9CiAgICAub3JkZXIteGwtMSB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjsKICAgICAgICAtd2Via2l0LW9yZGVyOiAxOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxOwogICAgICAgIG9yZGVyOiAxCiAgICB9CiAgICAub3JkZXIteGwtMiB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMzsKICAgICAgICAtd2Via2l0LW9yZGVyOiAyOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAyOwogICAgICAgIG9yZGVyOiAyCiAgICB9CiAgICAub3JkZXIteGwtMyB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNDsKICAgICAgICAtd2Via2l0LW9yZGVyOiAzOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAzOwogICAgICAgIG9yZGVyOiAzCiAgICB9CiAgICAub3JkZXIteGwtNCB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNTsKICAgICAgICAtd2Via2l0LW9yZGVyOiA0OwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA0OwogICAgICAgIG9yZGVyOiA0CiAgICB9CiAgICAub3JkZXIteGwtNSB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNjsKICAgICAgICAtd2Via2l0LW9yZGVyOiA1OwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA1OwogICAgICAgIG9yZGVyOiA1CiAgICB9CiAgICAub3JkZXIteGwtNiB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNzsKICAgICAgICAtd2Via2l0LW9yZGVyOiA2OwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA2OwogICAgICAgIG9yZGVyOiA2CiAgICB9CiAgICAub3JkZXIteGwtNyB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogODsKICAgICAgICAtd2Via2l0LW9yZGVyOiA3OwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA3OwogICAgICAgIG9yZGVyOiA3CiAgICB9CiAgICAub3JkZXIteGwtOCB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogOTsKICAgICAgICAtd2Via2l0LW9yZGVyOiA4OwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA4OwogICAgICAgIG9yZGVyOiA4CiAgICB9CiAgICAub3JkZXIteGwtOSB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTA7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogOTsKICAgICAgICAtbXMtZmxleC1vcmRlcjogOTsKICAgICAgICBvcmRlcjogOQogICAgfQogICAgLm9yZGVyLXhsLTEwIHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMTsKICAgICAgICAtd2Via2l0LW9yZGVyOiAxMDsKICAgICAgICAtbXMtZmxleC1vcmRlcjogMTA7CiAgICAgICAgb3JkZXI6IDEwCiAgICB9CiAgICAub3JkZXIteGwtMTEgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDEyOwogICAgICAgIC13ZWJraXQtb3JkZXI6IDExOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMTsKICAgICAgICBvcmRlcjogMTEKICAgIH0KICAgIC5vcmRlci14bC0xMiB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTM7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogMTI7CiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEyOwogICAgICAgIG9yZGVyOiAxMgogICAgfQogICAgLm9mZnNldC14bC0wIHsKICAgICAgICBtYXJnaW4tbGVmdDogMAogICAgfQogICAgLm9mZnNldC14bC0xIHsKICAgICAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyUKICAgIH0KICAgIC5vZmZzZXQteGwtMiB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JQogICAgfQogICAgLm9mZnNldC14bC0zIHsKICAgICAgICBtYXJnaW4tbGVmdDogMjUlCiAgICB9CiAgICAub2Zmc2V0LXhsLTQgewogICAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyUKICAgIH0KICAgIC5vZmZzZXQteGwtNSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JQogICAgfQogICAgLm9mZnNldC14bC02IHsKICAgICAgICBtYXJnaW4tbGVmdDogNTAlCiAgICB9CiAgICAub2Zmc2V0LXhsLTcgewogICAgICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyUKICAgIH0KICAgIC5vZmZzZXQteGwtOCB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JQogICAgfQogICAgLm9mZnNldC14bC05IHsKICAgICAgICBtYXJnaW4tbGVmdDogNzUlCiAgICB9CiAgICAub2Zmc2V0LXhsLTEwIHsKICAgICAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlCiAgICB9CiAgICAub2Zmc2V0LXhsLTExIHsKICAgICAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclCiAgICB9Cn0KCi50YWJsZSB7CiAgICB3aWR0aDogMTAwJTsKICAgIG1heC13aWR0aDogMTAwJTsKICAgIG1hcmdpbi1ib3R0b206IDFyZW07CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudAp9CgoudGFibGUgdGQsCi50YWJsZSB0aCB7CiAgICBwYWRkaW5nOiAuNzVyZW07CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZWUyZTYKfQoKLnRhYmxlIHRoZWFkIHRoIHsKICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207CiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RlZTJlNgp9CgoudGFibGUgdGJvZHkrdGJvZHkgewogICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkZWUyZTYKfQoKLnRhYmxlIC50YWJsZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmCn0KCi50YWJsZS1zbSB0ZCwKLnRhYmxlLXNtIHRoIHsKICAgIHBhZGRpbmc6IC4zcmVtCn0KCi50YWJsZS1ib3JkZXJlZCB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2Cn0KCi50YWJsZS1ib3JkZXJlZCB0ZCwKLnRhYmxlLWJvcmRlcmVkIHRoIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTYKfQoKLnRhYmxlLWJvcmRlcmVkIHRoZWFkIHRkLAoudGFibGUtYm9yZGVyZWQgdGhlYWQgdGggewogICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4Cn0KCi50YWJsZS1ib3JkZXJsZXNzIHRib2R5K3Rib2R5LAoudGFibGUtYm9yZGVybGVzcyB0ZCwKLnRhYmxlLWJvcmRlcmxlc3MgdGgsCi50YWJsZS1ib3JkZXJsZXNzIHRoZWFkIHRoIHsKICAgIGJvcmRlcjogMAp9CgoudGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjA1KQp9CgoudGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMDc1KQp9CgoudGFibGUtcHJpbWFyeSwKLnRhYmxlLXByaW1hcnk+dGQsCi50YWJsZS1wcmltYXJ5PnRoIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjYWM4ZTYKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNiOWI2ZGUKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyPnRkLAoudGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXI+dGggewogICAgYmFja2dyb3VuZC1jb2xvcjogI2I5YjZkZQp9CgoudGFibGUtc2Vjb25kYXJ5LAoudGFibGUtc2Vjb25kYXJ5PnRkLAoudGFibGUtc2Vjb25kYXJ5PnRoIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNiOWVhZTAKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2E1ZTRkNwp9CgoudGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3Zlcj50ZCwKLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXI+dGggewogICAgYmFja2dyb3VuZC1jb2xvcjogI2E1ZTRkNwp9CgoudGFibGUtc3VjY2VzcywKLnRhYmxlLXN1Y2Nlc3M+dGQsCi50YWJsZS1zdWNjZXNzPnRoIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjNmVhYzkKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2UzYjcKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyPnRkLAoudGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXI+dGggewogICAgYmFja2dyb3VuZC1jb2xvcjogI2IzZTNiNwp9CgoudGFibGUtaW5mbywKLnRhYmxlLWluZm8+dGQsCi50YWJsZS1pbmZvPnRoIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjN2RiZmYKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWNiZmYKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyPnRkLAoudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXI+dGggewogICAgYmFja2dyb3VuZC1jb2xvcjogI2FlY2JmZgp9CgoudGFibGUtd2FybmluZywKLnRhYmxlLXdhcm5pbmc+dGQsCi50YWJsZS13YXJuaW5nPnRoIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmU5YjgKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmUxOWYKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyPnRkLAoudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXI+dGggewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTE5Zgp9CgoudGFibGUtZGFuZ2VyLAoudGFibGUtZGFuZ2VyPnRkLAoudGFibGUtZGFuZ2VyPnRoIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2M3YzcKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0YjFiMQp9CgoudGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3Zlcj50ZCwKLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXI+dGggewogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0YjFiMQp9CgoudGFibGUtbGlnaHQsCi50YWJsZS1saWdodD50ZCwKLnRhYmxlLWxpZ2h0PnRoIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyCn0KCi50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXI+dGQsCi50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXI+dGggewogICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMgp9CgoudGFibGUtZGFyaywKLnRhYmxlLWRhcms+dGQsCi50YWJsZS1kYXJrPnRoIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjMWMyYzMKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNiNGI1YjYKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyPnRkLAoudGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXI+dGggewogICAgYmFja2dyb3VuZC1jb2xvcjogI2I0YjViNgp9CgoudGFibGUtYWN0aXZlLAoudGFibGUtYWN0aXZlPnRkLAoudGFibGUtYWN0aXZlPnRoIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjA3NSkKfQoKLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMDc1KQp9CgoudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3Zlcj50ZCwKLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXI+dGggewogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMDc1KQp9CgoudGFibGUgLnRoZWFkLWRhcmsgdGggewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNTI5OwogICAgYm9yZGVyLWNvbG9yOiAjMzIzODNlCn0KCi50YWJsZSAudGhlYWQtbGlnaHQgdGggewogICAgY29sb3I6ICM0OTUwNTc7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOwogICAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2Cn0KCi50YWJsZS1kYXJrIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOQp9CgoudGFibGUtZGFyayB0ZCwKLnRhYmxlLWRhcmsgdGgsCi50YWJsZS1kYXJrIHRoZWFkIHRoIHsKICAgIGJvcmRlci1jb2xvcjogIzMyMzgzZQp9CgoudGFibGUtZGFyay50YWJsZS1ib3JkZXJlZCB7CiAgICBib3JkZXI6IDAKfQoKLnRhYmxlLWRhcmsudGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA1KQp9CgoudGFibGUtZGFyay50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wNzUpCn0KCkBtZWRpYSAobWF4LXdpZHRoOjU3NS45OHB4KSB7CiAgICAudGFibGUtcmVzcG9uc2l2ZS1zbSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXIKICAgIH0KICAgIC50YWJsZS1yZXNwb25zaXZlLXNtPi50YWJsZS1ib3JkZXJlZCB7CiAgICAgICAgYm9yZGVyOiAwCiAgICB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOjc2Ny45OHB4KSB7CiAgICAudGFibGUtcmVzcG9uc2l2ZS1tZCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXIKICAgIH0KICAgIC50YWJsZS1yZXNwb25zaXZlLW1kPi50YWJsZS1ib3JkZXJlZCB7CiAgICAgICAgYm9yZGVyOiAwCiAgICB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOjk5MS45OHB4KSB7CiAgICAudGFibGUtcmVzcG9uc2l2ZS1sZyB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXIKICAgIH0KICAgIC50YWJsZS1yZXNwb25zaXZlLWxnPi50YWJsZS1ib3JkZXJlZCB7CiAgICAgICAgYm9yZGVyOiAwCiAgICB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOjExOTkuOThweCkgewogICAgLnRhYmxlLXJlc3BvbnNpdmUteGwgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwogICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyCiAgICB9CiAgICAudGFibGUtcmVzcG9uc2l2ZS14bD4udGFibGUtYm9yZGVyZWQgewogICAgICAgIGJvcmRlcjogMAogICAgfQp9CgoudGFibGUtcmVzcG9uc2l2ZSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3cteDogYXV0bzsKICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyCn0KCi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZCB7CiAgICBib3JkZXI6IDAKfQoKLmZvcm0tY29udHJvbCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlOwogICAgcGFkZGluZzogLjM3NXJlbSAxLjJyZW07CiAgICBmb250LXNpemU6IDFyZW07CiAgICBsaW5lLWhlaWdodDogMi4yOwogICAgY29sb3I6ICM0OTUwNTc7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OwogICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNGU4ZWQ7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC4ycmVtOwogICAgYm9yZGVyLXJhZGl1czogLjJyZW07CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSk7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDsKICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDsKICAgIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQ7CiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0OwogICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCwgLXdlYmtpdC1ib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKSB7CiAgICAuZm9ybS1jb250cm9sIHsKICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7CiAgICAgICAgLW8tdHJhbnNpdGlvbjogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBub25lCiAgICB9Cn0KCi5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQgewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXI6IDAKfQoKLmZvcm0tY29udHJvbDpmb2N1cyB7CiAgICBjb2xvcjogIzQ5NTA1NzsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3JkZXItY29sb3I6ICMwNzRhNTU7CiAgICBvdXRsaW5lOiAwOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDAgLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgLjI1KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpLCAwIDAgMCAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAuMjUpCn0KCi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgewogICAgY29sb3I6ICM2Yzc1N2Q7CiAgICBvcGFjaXR5OiAxCn0KCi5mb3JtLWNvbnRyb2w6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7CiAgICBjb2xvcjogIzZjNzU3ZDsKICAgIG9wYWNpdHk6IDEKfQoKLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIgewogICAgY29sb3I6ICM2Yzc1N2Q7CiAgICBvcGFjaXR5OiAxCn0KCi5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsCi5mb3JtLWNvbnRyb2xbcmVhZG9ubHldIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7CiAgICBvcGFjaXR5OiAxCn0KCnNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pIHsKICAgIGhlaWdodDogY2FsYygyLjI1cmVtICsgMnB4KQp9CgpzZWxlY3QuZm9ybS1jb250cm9sOmZvY3VzOjotbXMtdmFsdWUgewogICAgY29sb3I6ICM0OTUwNTc7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmCn0KCi5mb3JtLWNvbnRyb2wtZmlsZSwKLmZvcm0tY29udHJvbC1yYW5nZSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlCn0KCi5jb2wtZm9ybS1sYWJlbCB7CiAgICBwYWRkaW5nLXRvcDogY2FsYyguMzc1cmVtICsgMXB4KTsKICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKC4zNzVyZW0gKyAxcHgpOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsKICAgIGxpbmUtaGVpZ2h0OiAyLjIKfQoKLmNvbC1mb3JtLWxhYmVsLWxnIHsKICAgIHBhZGRpbmctdG9wOiBjYWxjKC41cmVtICsgMXB4KTsKICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKC41cmVtICsgMXB4KTsKICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsKICAgIGxpbmUtaGVpZ2h0OiAyLjMKfQoKLmNvbC1mb3JtLWxhYmVsLXNtIHsKICAgIHBhZGRpbmctdG9wOiBjYWxjKC4yNXJlbSArIDFweCk7CiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyguMjVyZW0gKyAxcHgpOwogICAgZm9udC1zaXplOiAuODc1cmVtOwogICAgbGluZS1oZWlnaHQ6IDEuNQp9CgouZm9ybS1jb250cm9sLXBsYWludGV4dCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlOwogICAgcGFkZGluZy10b3A6IC4zNzVyZW07CiAgICBwYWRkaW5nLWJvdHRvbTogLjM3NXJlbTsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICBsaW5lLWhlaWdodDogMi4yOwogICAgY29sb3I6ICMyMTI1Mjk7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItd2lkdGg6IDFweCAwCn0KCi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbC1sZywKLmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLXNtLAouaW5wdXQtZ3JvdXAtbGc+LmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLAouaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFwcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sCi5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmlucHV0LWdyb3VwLXRleHQsCi5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sCi5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0LAouaW5wdXQtZ3JvdXAtc20+LmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLAouaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFwcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sCi5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmlucHV0LWdyb3VwLXRleHQsCi5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sCi5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0IHsKICAgIHBhZGRpbmctcmlnaHQ6IDA7CiAgICBwYWRkaW5nLWxlZnQ6IDAKfQoKLmZvcm0tY29udHJvbC1zbSwKLmlucHV0LWdyb3VwLXNtPi5mb3JtLWNvbnRyb2wsCi5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5idG4sCi5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5pbnB1dC1ncm91cC10ZXh0LAouaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmJ0biwKLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5pbnB1dC1ncm91cC10ZXh0IHsKICAgIHBhZGRpbmc6IC4yNXJlbSAuNXJlbTsKICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC4ycmVtOwogICAgYm9yZGVyLXJhZGl1czogLjJyZW0KfQoKLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hcHBlbmQ+c2VsZWN0LmJ0bjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksCi5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPnNlbGVjdC5pbnB1dC1ncm91cC10ZXh0Om5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwKLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPnNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLAouaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLXByZXBlbmQ+c2VsZWN0LmlucHV0LWdyb3VwLXRleHQ6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLAouaW5wdXQtZ3JvdXAtc20+c2VsZWN0LmZvcm0tY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksCnNlbGVjdC5mb3JtLWNvbnRyb2wtc206bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pIHsKICAgIGhlaWdodDogY2FsYygxLjgxMjVyZW0gKyAycHgpCn0KCi5mb3JtLWNvbnRyb2wtbGcsCi5pbnB1dC1ncm91cC1sZz4uZm9ybS1jb250cm9sLAouaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLAouaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFwcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dCwKLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4sCi5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dCB7CiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtOwogICAgZm9udC1zaXplOiAxLjI1cmVtOwogICAgbGluZS1oZWlnaHQ6IDIuMzsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjNyZW07CiAgICBib3JkZXItcmFkaXVzOiAuM3JlbQp9CgouaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFwcGVuZD5zZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwKLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hcHBlbmQ+c2VsZWN0LmlucHV0LWdyb3VwLXRleHQ6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLAouaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLXByZXBlbmQ+c2VsZWN0LmJ0bjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksCi5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD5zZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksCi5pbnB1dC1ncm91cC1sZz5zZWxlY3QuZm9ybS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwKc2VsZWN0LmZvcm0tY29udHJvbC1sZzpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSkgewogICAgaGVpZ2h0OiBjYWxjKDIuODc1cmVtICsgMnB4KQp9CgouZm9ybS1ncm91cCB7CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtCn0KCi5mb3JtLXRleHQgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW4tdG9wOiAuNjZyZW0KfQoKLmZvcm0tcm93IHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAtbXMtZmxleC13cmFwOiB3cmFwOwogICAgZmxleC13cmFwOiB3cmFwOwogICAgbWFyZ2luLXJpZ2h0OiAtNXB4OwogICAgbWFyZ2luLWxlZnQ6IC01cHgKfQoKLmZvcm0tcm93Pi5jb2wsCi5mb3JtLXJvdz5bY2xhc3MqPWNvbC1dIHsKICAgIHBhZGRpbmctcmlnaHQ6IDVweDsKICAgIHBhZGRpbmctbGVmdDogNXB4Cn0KCi5mb3JtLWNoZWNrIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtCn0KCi5mb3JtLWNoZWNrLWlucHV0IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIG1hcmdpbi10b3A6IC4zcmVtOwogICAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtCn0KCi5mb3JtLWNoZWNrLWlucHV0OmRpc2FibGVkfi5mb3JtLWNoZWNrLWxhYmVsIHsKICAgIGNvbG9yOiAjNmM3NTdkCn0KCi5mb3JtLWNoZWNrLWxhYmVsIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmZvcm0tY2hlY2staW5saW5lIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHBhZGRpbmctbGVmdDogMDsKICAgIG1hcmdpbi1yaWdodDogLjc1cmVtCn0KCi5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7CiAgICBwb3NpdGlvbjogc3RhdGljOwogICAgbWFyZ2luLXRvcDogMDsKICAgIG1hcmdpbi1yaWdodDogLjMxMjVyZW07CiAgICBtYXJnaW4tbGVmdDogMAp9CgoudmFsaWQtZmVlZGJhY2sgewogICAgZGlzcGxheTogbm9uZTsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luLXRvcDogLjI1cmVtOwogICAgZm9udC1zaXplOiA4MCU7CiAgICBjb2xvcjogIzI4YTc0NQp9CgoudmFsaWQtdG9vbHRpcCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDEwMCU7CiAgICB6LWluZGV4OiA1OwogICAgZGlzcGxheTogbm9uZTsKICAgIG1heC13aWR0aDogMTAwJTsKICAgIHBhZGRpbmc6IC41cmVtOwogICAgbWFyZ2luLXRvcDogLjFyZW07CiAgICBmb250LXNpemU6IC44NzVyZW07CiAgICBsaW5lLWhlaWdodDogMTsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgMTY3LCA2OSwgLjgpOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMnJlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtCn0KCi5jdXN0b20tc2VsZWN0LmlzLXZhbGlkLAouZm9ybS1jb250cm9sLmlzLXZhbGlkLAoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDp2YWxpZCwKLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCB7CiAgICBib3JkZXItY29sb3I6ICMyOGE3NDUKfQoKLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQ6Zm9jdXMsCi5mb3JtLWNvbnRyb2wuaXMtdmFsaWQ6Zm9jdXMsCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OnZhbGlkOmZvY3VzLAoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkOmZvY3VzIHsKICAgIGJvcmRlci1jb2xvcjogIzI4YTc0NTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgLjI1KTsKICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIC4yNSkKfQoKLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWR+LnZhbGlkLWZlZWRiYWNrLAouY3VzdG9tLXNlbGVjdC5pcy12YWxpZH4udmFsaWQtdG9vbHRpcCwKLmZvcm0tY29udHJvbC5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssCi5mb3JtLWNvbnRyb2wuaXMtdmFsaWR+LnZhbGlkLXRvb2x0aXAsCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OnZhbGlkfi52YWxpZC1mZWVkYmFjaywKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWR+LnZhbGlkLXRvb2x0aXAsCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWR+LnZhbGlkLWZlZWRiYWNrLAoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkfi52YWxpZC10b29sdGlwIHsKICAgIGRpc3BsYXk6IGJsb2NrCn0KCi5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkfi5mb3JtLWNoZWNrLWxhYmVsLAoud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZH4uZm9ybS1jaGVjay1sYWJlbCB7CiAgICBjb2xvcjogIzI4YTc0NQp9CgouZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssCi5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkfi52YWxpZC10b29sdGlwLAoud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZH4udmFsaWQtZmVlZGJhY2ssCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkfi52YWxpZC10b29sdGlwIHsKICAgIGRpc3BsYXk6IGJsb2NrCn0KCi5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWwsCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWwgewogICAgY29sb3I6ICMyOGE3NDUKfQoKLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLAoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzcxZGQ4YQp9CgouY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWR+LnZhbGlkLWZlZWRiYWNrLAouY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWR+LnZhbGlkLXRvb2x0aXAsCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZH4udmFsaWQtZmVlZGJhY2ssCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZH4udmFsaWQtdG9vbHRpcCB7CiAgICBkaXNwbGF5OiBibG9jawp9CgouY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzM0Y2U1Nwp9CgouY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Zm9jdXN+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAuMjUpOwogICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIC4yNSkKfQoKLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbCwKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbCB7CiAgICBib3JkZXItY29sb3I6ICMyOGE3NDUKfQoKLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlLAoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWR+LmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUgewogICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0Cn0KCi5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssCi5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZH4udmFsaWQtdG9vbHRpcCwKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkfi52YWxpZC1mZWVkYmFjaywKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkfi52YWxpZC10b29sdGlwIHsKICAgIGRpc3BsYXk6IGJsb2NrCn0KCi5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWwsCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWwgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAuMjUpOwogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgLjI1KQp9CgouaW52YWxpZC1mZWVkYmFjayB7CiAgICBkaXNwbGF5OiBub25lOwogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAuMjVyZW07CiAgICBmb250LXNpemU6IDgwJTsKICAgIGNvbG9yOiAjZGMzNTQ1Cn0KCi5pbnZhbGlkLXRvb2x0aXAgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAxMDAlOwogICAgei1pbmRleDogNTsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nOiAuNXJlbTsKICAgIG1hcmdpbi10b3A6IC4xcmVtOwogICAgZm9udC1zaXplOiAuODc1cmVtOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIwLCA1MywgNjksIC44KTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjJyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMnJlbQp9CgouY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkLAouZm9ybS1jb250cm9sLmlzLWludmFsaWQsCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWQsCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZCB7CiAgICBib3JkZXItY29sb3I6ICNkYzM1NDUKfQoKLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZDpmb2N1cywKLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkOmZvY3VzLAoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkOmZvY3VzLAoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQ6Zm9jdXMgewogICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1OwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAuMjUpOwogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgLjI1KQp9CgouY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLAouY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXAsCi5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywKLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXAsCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWR+LmludmFsaWQtdG9vbHRpcCwKLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLAoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWR+LmludmFsaWQtdG9vbHRpcCB7CiAgICBkaXNwbGF5OiBibG9jawp9CgouZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkfi5mb3JtLWNoZWNrLWxhYmVsLAoud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkfi5mb3JtLWNoZWNrLWxhYmVsIHsKICAgIGNvbG9yOiAjZGMzNTQ1Cn0KCi5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssCi5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWR+LmludmFsaWQtdG9vbHRpcCwKLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywKLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZH4uaW52YWxpZC10b29sdGlwIHsKICAgIGRpc3BsYXk6IGJsb2NrCn0KCi5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbCwKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsIHsKICAgIGNvbG9yOiAjZGMzNTQ1Cn0KCi5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLAoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZhMmE5Cn0KCi5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLAouY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZH4uaW52YWxpZC10b29sdGlwLAoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWR+LmludmFsaWQtdG9vbHRpcCB7CiAgICBkaXNwbGF5OiBibG9jawp9CgouY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLAoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlNDYwNmQKfQoKLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Zm9jdXN+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkOmZvY3Vzfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIC4yNSk7CiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgLjI1KQp9CgouY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWwsCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbCB7CiAgICBib3JkZXItY29sb3I6ICNkYzM1NDUKfQoKLmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWR+LmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUsCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlIHsKICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdAp9CgouY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywKLmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWR+LmludmFsaWQtdG9vbHRpcCwKLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXAgewogICAgZGlzcGxheTogYmxvY2sKfQoKLmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWQ6Zm9jdXN+LmN1c3RvbS1maWxlLWxhYmVsLAoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWwgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAuMjUpOwogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgLjI1KQp9CgouZm9ybS1pbmxpbmUgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgIC13ZWJraXQtZmxleC1mbG93OiByb3cgd3JhcDsKICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwOwogICAgZmxleC1mbG93OiByb3cgd3JhcDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcgp9CgouZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sgewogICAgd2lkdGg6IDEwMCUKfQoKQG1lZGlhIChtaW4td2lkdGg6NTc2cHgpIHsKICAgIC5mb3JtLWlubGluZSBsYWJlbCB7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwCiAgICB9CiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgYXV0bzsKICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87CiAgICAgICAgZmxleDogMCAwIGF1dG87CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsOwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAgIC13ZWJraXQtZmxleC1mbG93OiByb3cgd3JhcDsKICAgICAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDsKICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOwogICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwCiAgICB9CiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHdpZHRoOiBhdXRvOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUKICAgIH0KICAgIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrCiAgICB9CiAgICAuZm9ybS1pbmxpbmUgLmN1c3RvbS1zZWxlY3QsCiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIHsKICAgICAgICB3aWR0aDogYXV0bwogICAgfQogICAgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrIHsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiBhdXRvOwogICAgICAgIHBhZGRpbmctbGVmdDogMAogICAgfQogICAgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IC4yNXJlbTsKICAgICAgICBtYXJnaW4tbGVmdDogMAogICAgfQogICAgLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbCB7CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcgogICAgfQogICAgLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbC1sYWJlbCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMAogICAgfQp9CgouYnRuIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIHBhZGRpbmc6IC4zNzVyZW0gMnJlbTsKICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMnJlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDsKICAgIHRyYW5zaXRpb246IGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0OwogICAgLW8tdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0OwogICAgdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0OwogICAgdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dAp9CgpAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpIHsKICAgIC5idG4gewogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTsKICAgICAgICAtby10cmFuc2l0aW9uOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IG5vbmUKICAgIH0KfQoKLmJ0bjpmb2N1cywKLmJ0bjpob3ZlciB7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUKfQoKLmJ0bi5mb2N1cywKLmJ0bjpmb2N1cyB7CiAgICBvdXRsaW5lOiAwOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAuMjUpOwogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgLjI1KQp9CgouYnRuLmRpc2FibGVkLAouYnRuOmRpc2FibGVkIHsKICAgIG9wYWNpdHk6IC42NTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmUKfQoKLmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7CiAgICBjdXJzb3I6IHBvaW50ZXIKfQoKLmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsCi5idG46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSkKfQoKLmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsCi5idG46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgLjI1KSwgaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSk7CiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAuMjUpLCBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KQp9CgphLmJ0bi5kaXNhYmxlZCwKZmllbGRzZXQ6ZGlzYWJsZWQgYS5idG4gewogICAgcG9pbnRlci1ldmVudHM6IG5vbmUKfQoKLmJ0bi1wcmltYXJ5IHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzA3NGE1NTsKICAgIGJvcmRlci1jb2xvcjogIzA3NGE1NTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpCn0KCi5idG4tcHJpbWFyeTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzNjMwODg7CiAgICBib3JkZXItY29sb3I6ICMzMjJkN2UKfQoKLmJ0bi1wcmltYXJ5LmZvY3VzLAouYnRuLXByaW1hcnk6Zm9jdXMgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCAwIC4ycmVtIHJnYmEoNjUsIDU4LCAxNjQsIC41KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpLCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDAgLjJyZW0gcmdiYSg2NSwgNTgsIDE2NCwgLjUpCn0KCi5idG4tcHJpbWFyeS5kaXNhYmxlZCwKLmJ0bi1wcmltYXJ5OmRpc2FibGVkIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzA3NGE1NTsKICAgIGJvcmRlci1jb2xvcjogIzA3NGE1NQp9CgouYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLAouYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLAouc2hvdz4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzMyMmQ3ZTsKICAgIGJvcmRlci1jb2xvcjogIzJlMjk3NQp9CgouYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLAouYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLAouc2hvdz4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSksIDAgMCAwIC4ycmVtIHJnYmEoNjUsIDU4LCAxNjQsIC41KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpLCAwIDAgMCAuMnJlbSByZ2JhKDY1LCA1OCwgMTY0LCAuNSkKfQoKLmJ0bi1zZWNvbmRhcnkgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZiNTkwOwogICAgYm9yZGVyLWNvbG9yOiAjMDZiNTkwOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSkKfQoKLmJ0bi1zZWNvbmRhcnk6aG92ZXIgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDU5MDczOwogICAgYm9yZGVyLWNvbG9yOiAjMDQ4NDY5Cn0KCi5idG4tc2Vjb25kYXJ5LmZvY3VzLAouYnRuLXNlY29uZGFyeTpmb2N1cyB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpLCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDAgLjJyZW0gcmdiYSg2LCAxODEsIDE0NCwgLjUpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpLCAwIDAgMCAuMnJlbSByZ2JhKDYsIDE4MSwgMTQ0LCAuNSkKfQoKLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQsCi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzA2YjU5MDsKICAgIGJvcmRlci1jb2xvcjogIzA2YjU5MAp9CgouYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsCi5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwKLnNob3c+LmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzA0ODQ2OTsKICAgIGJvcmRlci1jb2xvcjogIzA0Nzc1Zgp9CgouYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsCi5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywKLnNob3c+LmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSksIDAgMCAwIC4ycmVtIHJnYmEoNiwgMTgxLCAxNDQsIC41KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpLCAwIDAgMCAuMnJlbSByZ2JhKDYsIDE4MSwgMTQ0LCAuNSkKfQoKLmJ0bi1zdWNjZXNzIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzM1YjUzZTsKICAgIGJvcmRlci1jb2xvcjogIzM1YjUzZTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpCn0KCi5idG4tc3VjY2Vzczpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk3MzQ7CiAgICBib3JkZXItY29sb3I6ICMyOThlMzAKfQoKLmJ0bi1zdWNjZXNzLmZvY3VzLAouYnRuLXN1Y2Nlc3M6Zm9jdXMgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCAwIC4ycmVtIHJnYmEoNTMsIDE4MSwgNjIsIC41KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpLCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDAgLjJyZW0gcmdiYSg1MywgMTgxLCA2MiwgLjUpCn0KCi5idG4tc3VjY2Vzcy5kaXNhYmxlZCwKLmJ0bi1zdWNjZXNzOmRpc2FibGVkIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzM1YjUzZTsKICAgIGJvcmRlci1jb2xvcjogIzM1YjUzZQp9CgouYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLAouYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLAouc2hvdz4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzI5OGUzMDsKICAgIGJvcmRlci1jb2xvcjogIzI3ODQyZAp9CgouYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLAouYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLAouc2hvdz4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSksIDAgMCAwIC4ycmVtIHJnYmEoNTMsIDE4MSwgNjIsIC41KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpLCAwIDAgMCAuMnJlbSByZ2JhKDUzLCAxODEsIDYyLCAuNSkKfQoKLmJ0bi1pbmZvIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzM3N2RmZjsKICAgIGJvcmRlci1jb2xvcjogIzM3N2RmZjsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpCn0KCi5idG4taW5mbzpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTY0ZmY7CiAgICBib3JkZXItY29sb3I6ICMwNDVjZmYKfQoKLmJ0bi1pbmZvLmZvY3VzLAouYnRuLWluZm86Zm9jdXMgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCAwIC4ycmVtIHJnYmEoNTUsIDEyNSwgMjU1LCAuNSk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCAwIC4ycmVtIHJnYmEoNTUsIDEyNSwgMjU1LCAuNSkKfQoKLmJ0bi1pbmZvLmRpc2FibGVkLAouYnRuLWluZm86ZGlzYWJsZWQgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc3ZGZmOwogICAgYm9yZGVyLWNvbG9yOiAjMzc3ZGZmCn0KCi5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsCi5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsCi5zaG93Pi5idG4taW5mby5kcm9wZG93bi10b2dnbGUgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQ1Y2ZmOwogICAgYm9yZGVyLWNvbG9yOiAjMDA1NmY2Cn0KCi5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsCi5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsCi5zaG93Pi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KSwgMCAwIDAgLjJyZW0gcmdiYSg1NSwgMTI1LCAyNTUsIC41KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpLCAwIDAgMCAuMnJlbSByZ2JhKDU1LCAxMjUsIDI1NSwgLjUpCn0KCi5idG4td2FybmluZyB7CiAgICBjb2xvcjogIzIxMjUyOTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFmMDA7CiAgICBib3JkZXItY29sb3I6ICNmZmFmMDA7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpLCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpLCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KQp9CgouYnRuLXdhcm5pbmc6aG92ZXIgewogICAgY29sb3I6ICMyMTI1Mjk7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk5NTAwOwogICAgYm9yZGVyLWNvbG9yOiAjY2M4YzAwCn0KCi5idG4td2FybmluZy5mb2N1cywKLmJ0bi13YXJuaW5nOmZvY3VzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpLCAwIDAgMCAuMnJlbSByZ2JhKDI1NSwgMTc1LCAwLCAuNSk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCAwIC4ycmVtIHJnYmEoMjU1LCAxNzUsIDAsIC41KQp9CgouYnRuLXdhcm5pbmcuZGlzYWJsZWQsCi5idG4td2FybmluZzpkaXNhYmxlZCB7CiAgICBjb2xvcjogIzIxMjUyOTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFmMDA7CiAgICBib3JkZXItY29sb3I6ICNmZmFmMDAKfQoKLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwKLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwKLnNob3c+LmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhjMDA7CiAgICBib3JkZXItY29sb3I6ICNiZjgzMDAKfQoKLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywKLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywKLnNob3c+LmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpLCAwIDAgMCAuMnJlbSByZ2JhKDI1NSwgMTc1LCAwLCAuNSk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KSwgMCAwIDAgLjJyZW0gcmdiYSgyNTUsIDE3NSwgMCwgLjUpCn0KCi5idG4tZGFuZ2VyIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2UyMzYzNjsKICAgIGJvcmRlci1jb2xvcjogI2UyMzYzNjsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpCn0KCi5idG4tZGFuZ2VyOmhvdmVyIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2QzMWUxZTsKICAgIGJvcmRlci1jb2xvcjogI2M4MWQxZAp9CgouYnRuLWRhbmdlci5mb2N1cywKLmJ0bi1kYW5nZXI6Zm9jdXMgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCAwIC4ycmVtIHJnYmEoMjI2LCA1NCwgNTQsIC41KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpLCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDAgLjJyZW0gcmdiYSgyMjYsIDU0LCA1NCwgLjUpCn0KCi5idG4tZGFuZ2VyLmRpc2FibGVkLAouYnRuLWRhbmdlcjpkaXNhYmxlZCB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlMjM2MzY7CiAgICBib3JkZXItY29sb3I6ICNlMjM2MzYKfQoKLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLAouYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsCi5zaG93Pi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjODFkMWQ7CiAgICBib3JkZXItY29sb3I6ICNiZDFiMWIKfQoKLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLAouYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsCi5zaG93Pi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpLCAwIDAgMCAuMnJlbSByZ2JhKDIyNiwgNTQsIDU0LCAuNSk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KSwgMCAwIDAgLjJyZW0gcmdiYSgyMjYsIDU0LCA1NCwgLjUpCn0KCi5idG4tbGlnaHQgewogICAgY29sb3I6ICMyMTI1Mjk7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgYm9yZGVyLWNvbG9yOiAjZmZmOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSkKfQoKLmJ0bi1saWdodDpob3ZlciB7CiAgICBjb2xvcjogIzIxMjUyOTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7CiAgICBib3JkZXItY29sb3I6ICNlNmU2ZTYKfQoKLmJ0bi1saWdodC5mb2N1cywKLmJ0bi1saWdodDpmb2N1cyB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpLCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDAgLjJyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCAwIC4ycmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpCn0KCi5idG4tbGlnaHQuZGlzYWJsZWQsCi5idG4tbGlnaHQ6ZGlzYWJsZWQgewogICAgY29sb3I6ICMyMTI1Mjk7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgYm9yZGVyLWNvbG9yOiAjZmZmCn0KCi5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLAouYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwKLnNob3c+LmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGUgewogICAgY29sb3I6ICMyMTI1Mjk7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OwogICAgYm9yZGVyLWNvbG9yOiAjZGZkZmRmCn0KCi5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLAouYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywKLnNob3c+LmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXMgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KSwgMCAwIDAgLjJyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KSwgMCAwIDAgLjJyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSkKfQoKLmJ0bi1kYXJrIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjQyODsKICAgIGJvcmRlci1jb2xvcjogIzIwMjQyODsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpCn0KCi5idG4tZGFyazpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjExMTM7CiAgICBib3JkZXItY29sb3I6ICMwOTBiMGMKfQoKLmJ0bi1kYXJrLmZvY3VzLAouYnRuLWRhcms6Zm9jdXMgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCAwIC4ycmVtIHJnYmEoMzIsIDM2LCA0MCwgLjUpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpLCAwIDAgMCAuMnJlbSByZ2JhKDMyLCAzNiwgNDAsIC41KQp9CgouYnRuLWRhcmsuZGlzYWJsZWQsCi5idG4tZGFyazpkaXNhYmxlZCB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDI0Mjg7CiAgICBib3JkZXItY29sb3I6ICMyMDI0MjgKfQoKLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwKLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwKLnNob3c+LmJ0bi1kYXJrLmRyb3Bkb3duLXRvZ2dsZSB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwOTBiMGM7CiAgICBib3JkZXItY29sb3I6ICMwNDA0MDUKfQoKLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywKLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywKLnNob3c+LmJ0bi1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpLCAwIDAgMCAuMnJlbSByZ2JhKDMyLCAzNiwgNDAsIC41KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpLCAwIDAgMCAuMnJlbSByZ2JhKDMyLCAzNiwgNDAsIC41KQp9CgouYnRuLW91dGxpbmUtcHJpbWFyeSB7CiAgICBjb2xvcjogIzA3NGE1NTsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICAgIGJvcmRlci1jb2xvcjogIzA3NGE1NQp9CgouYnRuLW91dGxpbmUtcHJpbWFyeTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzRhNTU7CiAgICBib3JkZXItY29sb3I6ICMwNzRhNTUKfQoKLmJ0bi1vdXRsaW5lLXByaW1hcnkuZm9jdXMsCi5idG4tb3V0bGluZS1wcmltYXJ5OmZvY3VzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSg2NSwgNTgsIDE2NCwgLjUpOwogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSg2NSwgNTgsIDE2NCwgLjUpCn0KCi5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLAouYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZCB7CiAgICBjb2xvcjogIzA3NGE1NTsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Cn0KCi5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwKLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLAouc2hvdz4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDc0YTU1OwogICAgYm9yZGVyLWNvbG9yOiAjMDc0YTU1Cn0KCi5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywKLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLAouc2hvdz4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KSwgMCAwIDAgLjJyZW0gcmdiYSg2NSwgNTgsIDE2NCwgLjUpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSksIDAgMCAwIC4ycmVtIHJnYmEoNjUsIDU4LCAxNjQsIC41KQp9CgouYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHsKICAgIGNvbG9yOiAjMDZiNTkwOwogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwogICAgYm9yZGVyLWNvbG9yOiAjMDZiNTkwCn0KCi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZiNTkwOwogICAgYm9yZGVyLWNvbG9yOiAjMDZiNTkwCn0KCi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZm9jdXMsCi5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDYsIDE4MSwgMTQ0LCAuNSk7CiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDYsIDE4MSwgMTQ0LCAuNSkKfQoKLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZCwKLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpkaXNhYmxlZCB7CiAgICBjb2xvcjogIzA2YjU5MDsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Cn0KCi5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLAouYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwKLnNob3c+LmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZiNTkwOwogICAgYm9yZGVyLWNvbG9yOiAjMDZiNTkwCn0KCi5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLAouYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywKLnNob3c+LmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KSwgMCAwIDAgLjJyZW0gcmdiYSg2LCAxODEsIDE0NCwgLjUpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSksIDAgMCAwIC4ycmVtIHJnYmEoNiwgMTgxLCAxNDQsIC41KQp9CgouYnRuLW91dGxpbmUtc3VjY2VzcyB7CiAgICBjb2xvcjogIzM1YjUzZTsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICAgIGJvcmRlci1jb2xvcjogIzM1YjUzZQp9CgouYnRuLW91dGxpbmUtc3VjY2Vzczpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzNWI1M2U7CiAgICBib3JkZXItY29sb3I6ICMzNWI1M2UKfQoKLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZm9jdXMsCi5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3VzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSg1MywgMTgxLCA2MiwgLjUpOwogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSg1MywgMTgxLCA2MiwgLjUpCn0KCi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLAouYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZCB7CiAgICBjb2xvcjogIzM1YjUzZTsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Cn0KCi5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwKLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLAouc2hvdz4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzViNTNlOwogICAgYm9yZGVyLWNvbG9yOiAjMzViNTNlCn0KCi5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywKLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLAouc2hvdz4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KSwgMCAwIDAgLjJyZW0gcmdiYSg1MywgMTgxLCA2MiwgLjUpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSksIDAgMCAwIC4ycmVtIHJnYmEoNTMsIDE4MSwgNjIsIC41KQp9CgouYnRuLW91dGxpbmUtaW5mbyB7CiAgICBjb2xvcjogIzM3N2RmZjsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICAgIGJvcmRlci1jb2xvcjogIzM3N2RmZgp9CgouYnRuLW91dGxpbmUtaW5mbzpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzNzdkZmY7CiAgICBib3JkZXItY29sb3I6ICMzNzdkZmYKfQoKLmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMsCi5idG4tb3V0bGluZS1pbmZvOmZvY3VzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSg1NSwgMTI1LCAyNTUsIC41KTsKICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoNTUsIDEyNSwgMjU1LCAuNSkKfQoKLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQsCi5idG4tb3V0bGluZS1pbmZvOmRpc2FibGVkIHsKICAgIGNvbG9yOiAjMzc3ZGZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQKfQoKLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLAouYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsCi5zaG93Pi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzNzdkZmY7CiAgICBib3JkZXItY29sb3I6ICMzNzdkZmYKfQoKLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLAouYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsCi5zaG93Pi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpLCAwIDAgMCAuMnJlbSByZ2JhKDU1LCAxMjUsIDI1NSwgLjUpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSksIDAgMCAwIC4ycmVtIHJnYmEoNTUsIDEyNSwgMjU1LCAuNSkKfQoKLmJ0bi1vdXRsaW5lLXdhcm5pbmcgewogICAgY29sb3I6ICNmZmFmMDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7CiAgICBib3JkZXItY29sb3I6ICNmZmFmMDAKfQoKLmJ0bi1vdXRsaW5lLXdhcm5pbmc6aG92ZXIgewogICAgY29sb3I6ICMyMTI1Mjk7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZjAwOwogICAgYm9yZGVyLWNvbG9yOiAjZmZhZjAwCn0KCi5idG4tb3V0bGluZS13YXJuaW5nLmZvY3VzLAouYnRuLW91dGxpbmUtd2FybmluZzpmb2N1cyB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMjU1LCAxNzUsIDAsIC41KTsKICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMjU1LCAxNzUsIDAsIC41KQp9CgouYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZCwKLmJ0bi1vdXRsaW5lLXdhcm5pbmc6ZGlzYWJsZWQgewogICAgY29sb3I6ICNmZmFmMDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudAp9CgouYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsCi5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwKLnNob3c+LmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlIHsKICAgIGNvbG9yOiAjMjEyNTI5OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWYwMDsKICAgIGJvcmRlci1jb2xvcjogI2ZmYWYwMAp9CgouYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsCi5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywKLnNob3c+LmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSksIDAgMCAwIC4ycmVtIHJnYmEoMjU1LCAxNzUsIDAsIC41KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpLCAwIDAgMCAuMnJlbSByZ2JhKDI1NSwgMTc1LCAwLCAuNSkKfQoKLmJ0bi1vdXRsaW5lLWRhbmdlciB7CiAgICBjb2xvcjogI2UyMzYzNjsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICAgIGJvcmRlci1jb2xvcjogI2UyMzYzNgp9CgouYnRuLW91dGxpbmUtZGFuZ2VyOmhvdmVyIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2UyMzYzNjsKICAgIGJvcmRlci1jb2xvcjogI2UyMzYzNgp9CgouYnRuLW91dGxpbmUtZGFuZ2VyLmZvY3VzLAouYnRuLW91dGxpbmUtZGFuZ2VyOmZvY3VzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgyMjYsIDU0LCA1NCwgLjUpOwogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgyMjYsIDU0LCA1NCwgLjUpCn0KCi5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQsCi5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQgewogICAgY29sb3I6ICNlMjM2MzY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudAp9CgouYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwKLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsCi5zaG93Pi5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2UyMzYzNjsKICAgIGJvcmRlci1jb2xvcjogI2UyMzYzNgp9CgouYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywKLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsCi5zaG93Pi5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSksIDAgMCAwIC4ycmVtIHJnYmEoMjI2LCA1NCwgNTQsIC41KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpLCAwIDAgMCAuMnJlbSByZ2JhKDIyNiwgNTQsIDU0LCAuNSkKfQoKLmJ0bi1vdXRsaW5lLWxpZ2h0IHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwogICAgYm9yZGVyLWNvbG9yOiAjZmZmCn0KCi5idG4tb3V0bGluZS1saWdodDpob3ZlciB7CiAgICBjb2xvcjogIzIxMjUyOTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3JkZXItY29sb3I6ICNmZmYKfQoKLmJ0bi1vdXRsaW5lLWxpZ2h0LmZvY3VzLAouYnRuLW91dGxpbmUtbGlnaHQ6Zm9jdXMgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTsKICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpCn0KCi5idG4tb3V0bGluZS1saWdodC5kaXNhYmxlZCwKLmJ0bi1vdXRsaW5lLWxpZ2h0OmRpc2FibGVkIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQKfQoKLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwKLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwKLnNob3c+LmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZSB7CiAgICBjb2xvcjogIzIxMjUyOTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3JkZXItY29sb3I6ICNmZmYKfQoKLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywKLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywKLnNob3c+LmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpLCAwIDAgMCAuMnJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpLCAwIDAgMCAuMnJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KQp9CgouYnRuLW91dGxpbmUtZGFyayB7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICAgIGJvcmRlci1jb2xvcjogIzIwMjQyOAp9CgouYnRuLW91dGxpbmUtZGFyazpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDI0Mjg7CiAgICBib3JkZXItY29sb3I6ICMyMDI0MjgKfQoKLmJ0bi1vdXRsaW5lLWRhcmsuZm9jdXMsCi5idG4tb3V0bGluZS1kYXJrOmZvY3VzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgzMiwgMzYsIDQwLCAuNSk7CiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDMyLCAzNiwgNDAsIC41KQp9CgouYnRuLW91dGxpbmUtZGFyay5kaXNhYmxlZCwKLmJ0bi1vdXRsaW5lLWRhcms6ZGlzYWJsZWQgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudAp9CgouYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsCi5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwKLnNob3c+LmJ0bi1vdXRsaW5lLWRhcmsuZHJvcGRvd24tdG9nZ2xlIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjQyODsKICAgIGJvcmRlci1jb2xvcjogIzIwMjQyOAp9CgouYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsCi5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywKLnNob3c+LmJ0bi1vdXRsaW5lLWRhcmsuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSksIDAgMCAwIC4ycmVtIHJnYmEoMzIsIDM2LCA0MCwgLjUpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSksIDAgMCAwIC4ycmVtIHJnYmEoMzIsIDM2LCA0MCwgLjUpCn0KCi5idG4tbGluayB7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgY29sb3I6ICMwNzRhNTU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudAp9CgouYnRuLWxpbms6aG92ZXIgewogICAgY29sb3I6ICMwMDU2YjM7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQKfQoKLmJ0bi1saW5rLmZvY3VzLAouYnRuLWxpbms6Zm9jdXMgewogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmUKfQoKLmJ0bi1saW5rLmRpc2FibGVkLAouYnRuLWxpbms6ZGlzYWJsZWQgewogICAgY29sb3I6ICM2Yzc1N2Q7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZQp9CgouYnRuLWdyb3VwLWxnPi5idG4sCi5idG4tbGcgewogICAgcGFkZGluZzogLjVyZW0gMi4zM3JlbTsKICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsKICAgIGxpbmUtaGVpZ2h0OiAyLjY2cmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuM3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4zcmVtCn0KCi5idG4tZ3JvdXAtc20+LmJ0biwKLmJ0bi1zbSB7CiAgICBwYWRkaW5nOiAuMjVyZW0gMS42NnJlbTsKICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsKICAgIGxpbmUtaGVpZ2h0OiAyLjE2cmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMnJlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtCn0KCi5idG4tYmxvY2sgewogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogMTAwJQp9CgouYnRuLWJsb2NrKy5idG4tYmxvY2sgewogICAgbWFyZ2luLXRvcDogLjVyZW0KfQoKaW5wdXRbdHlwZT1idXR0b25dLmJ0bi1ibG9jaywKaW5wdXRbdHlwZT1yZXNldF0uYnRuLWJsb2NrLAppbnB1dFt0eXBlPXN1Ym1pdF0uYnRuLWJsb2NrIHsKICAgIHdpZHRoOiAxMDAlCn0KCi5mYWRlIHsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGxpbmVhcjsKICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBsaW5lYXI7CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgbGluZWFyCn0KCkBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSkgewogICAgLmZhZGUgewogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTsKICAgICAgICAtby10cmFuc2l0aW9uOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IG5vbmUKICAgIH0KfQoKLmZhZGU6bm90KC5zaG93KSB7CiAgICBvcGFjaXR5OiAwCn0KCi5jb2xsYXBzZTpub3QoLnNob3cpIHsKICAgIGRpc3BsYXk6IG5vbmUKfQoKLmNvbGxhcHNpbmcgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgaGVpZ2h0OiAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IC4zNXMgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGhlaWdodCAuMzVzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgLjM1cyBlYXNlCn0KCkBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSkgewogICAgLmNvbGxhcHNpbmcgewogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTsKICAgICAgICAtby10cmFuc2l0aW9uOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IG5vbmUKICAgIH0KfQoKLmRyb3Bkb3duLAouZHJvcGxlZnQsCi5kcm9wcmlnaHQsCi5kcm9wdXAgewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5kcm9wZG93bi1tZW51IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMTAwJTsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAxMDAwOwogICAgZGlzcGxheTogbm9uZTsKICAgIGZsb2F0OiBsZWZ0OwogICAgbWluLXdpZHRoOiAxMHJlbTsKICAgIHBhZGRpbmc6IDEuMTZyZW0gMDsKICAgIG1hcmdpbjogLjEyNXJlbSAwIDA7CiAgICBmb250LXNpemU6IDFyZW07CiAgICBjb2xvcjogIzVhNjY3MTsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICBsaXN0LXN0eWxlOiBub25lOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsKICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4xNSk7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC4yNXJlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgLjE3NSk7CiAgICBib3gtc2hhZG93OiAwIC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAuMTc1KQp9CgouZHJvcGRvd24tbWVudS1yaWdodCB7CiAgICByaWdodDogMDsKICAgIGxlZnQ6IGF1dG8KfQoKLmRyb3B1cCAuZHJvcGRvd24tbWVudSB7CiAgICB0b3A6IGF1dG87CiAgICBib3R0b206IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAwOwogICAgbWFyZ2luLWJvdHRvbTogLjEyNXJlbQp9CgouZHJvcHJpZ2h0IC5kcm9wZG93bi1tZW51IHsKICAgIHRvcDogMDsKICAgIHJpZ2h0OiBhdXRvOwogICAgbGVmdDogMTAwJTsKICAgIG1hcmdpbi10b3A6IDA7CiAgICBtYXJnaW4tbGVmdDogLjEyNXJlbQp9CgouZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHsKICAgIHZlcnRpY2FsLWFsaWduOiAwCn0KCi5kcm9wbGVmdCAuZHJvcGRvd24tbWVudSB7CiAgICB0b3A6IDA7CiAgICByaWdodDogMTAwJTsKICAgIGxlZnQ6IGF1dG87CiAgICBtYXJnaW4tdG9wOiAwOwogICAgbWFyZ2luLXJpZ2h0OiAuMTI1cmVtCn0KCi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUgewogICAgdmVydGljYWwtYWxpZ246IDAKfQoKLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePWJvdHRvbV0sCi5kcm9wZG93bi1tZW51W3gtcGxhY2VtZW50Xj1sZWZ0XSwKLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePXJpZ2h0XSwKLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePXRvcF0gewogICAgcmlnaHQ6IGF1dG87CiAgICBib3R0b206IGF1dG8KfQoKLmRyb3Bkb3duLWRpdmlkZXIgewogICAgaGVpZ2h0OiAwOwogICAgbWFyZ2luOiAuNXJlbSAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTllY2VmCn0KCi5kcm9wZG93bi1pdGVtIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nOiAuNXJlbSAxLjVyZW07CiAgICBjbGVhcjogYm90aDsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBjb2xvcjogIzIxMjUyOTsKICAgIHRleHQtYWxpZ246IGluaGVyaXQ7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXI6IDAKfQoKLmRyb3Bkb3duLWl0ZW06Zm9jdXMsCi5kcm9wZG93bi1pdGVtOmhvdmVyIHsKICAgIGNvbG9yOiAjMTYxODFiOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYQp9CgouZHJvcGRvd24taXRlbS5hY3RpdmUsCi5kcm9wZG93bi1pdGVtOmFjdGl2ZSB7CiAgICBjb2xvcjogI2ZmZjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmYKfQoKLmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQsCi5kcm9wZG93bi1pdGVtOmRpc2FibGVkIHsKICAgIGNvbG9yOiAjNmM3NTdkOwogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQKfQoKLmRyb3Bkb3duLW1lbnUuc2hvdyB7CiAgICBkaXNwbGF5OiBibG9jawp9CgouZHJvcGRvd24taGVhZGVyIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcGFkZGluZzogMS4xNnJlbSAxLjVyZW07CiAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgZm9udC1zaXplOiAuODc1cmVtOwogICAgY29sb3I6ICM2Yzc1N2Q7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwCn0KCi5kcm9wZG93bi1pdGVtLXRleHQgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwYWRkaW5nOiAuNXJlbSAxLjVyZW07CiAgICBjb2xvcjogIzIxMjUyOQp9CgouYnRuLWdyb3VwLAouYnRuLWdyb3VwLXZlcnRpY2FsIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUKfQoKLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLAouYnRuLWdyb3VwPi5idG4gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgLXdlYmtpdC1ib3gtZmxleDogMDsKICAgIC13ZWJraXQtZmxleDogMCAxIGF1dG87CiAgICAtbXMtZmxleDogMCAxIGF1dG87CiAgICBmbGV4OiAwIDEgYXV0bwp9CgouYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46aG92ZXIsCi5idG4tZ3JvdXA+LmJ0bjpob3ZlciB7CiAgICB6LWluZGV4OiAxCn0KCi5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi5hY3RpdmUsCi5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjphY3RpdmUsCi5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpmb2N1cywKLmJ0bi1ncm91cD4uYnRuLmFjdGl2ZSwKLmJ0bi1ncm91cD4uYnRuOmFjdGl2ZSwKLmJ0bi1ncm91cD4uYnRuOmZvY3VzIHsKICAgIHotaW5kZXg6IDEKfQoKLmJ0bi1ncm91cCAuYnRuKy5idG4sCi5idG4tZ3JvdXAgLmJ0bisuYnRuLWdyb3VwLAouYnRuLWdyb3VwIC5idG4tZ3JvdXArLmJ0biwKLmJ0bi1ncm91cCAuYnRuLWdyb3VwKy5idG4tZ3JvdXAsCi5idG4tZ3JvdXAtdmVydGljYWwgLmJ0bisuYnRuLAouYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4rLmJ0bi1ncm91cCwKLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3VwKy5idG4sCi5idG4tZ3JvdXAtdmVydGljYWwgLmJ0bi1ncm91cCsuYnRuLWdyb3VwIHsKICAgIG1hcmdpbi1sZWZ0OiAtMXB4Cn0KCi5idG4tdG9vbGJhciB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOwogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0OwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydAp9CgouYnRuLXRvb2xiYXIgLmlucHV0LWdyb3VwIHsKICAgIHdpZHRoOiBhdXRvCn0KCi5idG4tZ3JvdXA+LmJ0bjpmaXJzdC1jaGlsZCB7CiAgICBtYXJnaW4tbGVmdDogMAp9CgouYnRuLWdyb3VwPi5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKT4uYnRuLAouYnRuLWdyb3VwPi5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkgewogICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOwogICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwCn0KCi5idG4tZ3JvdXA+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuLAouYnRuLWdyb3VwPi5idG46bm90KDpmaXJzdC1jaGlsZCkgewogICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsKICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAKfQoKLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07CiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbQp9CgouZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciwKLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciwKLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciB7CiAgICBtYXJnaW4tbGVmdDogMAp9CgouZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YmVmb3JlIHsKICAgIG1hcmdpbi1yaWdodDogMAp9CgouYnRuLWdyb3VwLXNtPi5idG4rLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwKLmJ0bi1zbSsuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHsKICAgIHBhZGRpbmctcmlnaHQ6IDEuMjQ1cmVtOwogICAgcGFkZGluZy1sZWZ0OiAxLjI0NXJlbQp9CgouYnRuLWdyb3VwLWxnPi5idG4rLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwKLmJ0bi1sZysuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHsKICAgIHBhZGRpbmctcmlnaHQ6IDEuNzQ3NXJlbTsKICAgIHBhZGRpbmctbGVmdDogMS43NDc1cmVtCn0KCi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KQp9CgouYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZS5idG4tbGluayB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lCn0KCi5idG4tZ3JvdXAtdmVydGljYWwgewogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0OwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyCn0KCi5idG4tZ3JvdXAtdmVydGljYWwgLmJ0biwKLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3VwIHsKICAgIHdpZHRoOiAxMDAlCn0KCi5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bisuYnRuLAouYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4rLmJ0bi1ncm91cCwKLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwKy5idG4sCi5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cCsuYnRuLWdyb3VwIHsKICAgIG1hcmdpbi10b3A6IC0xcHg7CiAgICBtYXJnaW4tbGVmdDogMAp9CgouYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKT4uYnRuLAouYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkgewogICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOwogICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMAp9CgouYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk+LmJ0biwKLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7CiAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAKfQoKLmJ0bi1ncm91cC10b2dnbGU+LmJ0biwKLmJ0bi1ncm91cC10b2dnbGU+LmJ0bi1ncm91cD4uYnRuIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmJ0bi1ncm91cC10b2dnbGU+LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XSwKLmJ0bi1ncm91cC10b2dnbGU+LmJ0biBpbnB1dFt0eXBlPXJhZGlvXSwKLmJ0bi1ncm91cC10b2dnbGU+LmJ0bi1ncm91cD4uYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdLAouYnRuLWdyb3VwLXRvZ2dsZT4uYnRuLWdyb3VwPi5idG4gaW5wdXRbdHlwZT1yYWRpb10gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lCn0KCi5pbnB1dC1ncm91cCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOwogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaDsKICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoOwogICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICB3aWR0aDogMTAwJQp9CgouaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlLAouaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QsCi5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAtd2Via2l0LWZsZXg6IDEgMSBhdXRvOwogICAgLW1zLWZsZXg6IDEgMSBhdXRvOwogICAgZmxleDogMSAxIGF1dG87CiAgICB3aWR0aDogMSU7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGU6Zm9jdXMsCi5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdDpmb2N1cywKLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2w6Zm9jdXMgewogICAgei1pbmRleDogMwp9CgouaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlKy5jdXN0b20tZmlsZSwKLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSsuY3VzdG9tLXNlbGVjdCwKLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSsuZm9ybS1jb250cm9sLAouaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QrLmN1c3RvbS1maWxlLAouaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QrLmN1c3RvbS1zZWxlY3QsCi5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdCsuZm9ybS1jb250cm9sLAouaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbCsuY3VzdG9tLWZpbGUsCi5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sKy5jdXN0b20tc2VsZWN0LAouaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbCsuZm9ybS1jb250cm9sIHsKICAgIG1hcmdpbi1sZWZ0OiAtMXB4Cn0KCi5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpLAouaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbDpub3QoOmxhc3QtY2hpbGQpIHsKICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMAp9CgouaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCksCi5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7CiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwCn0KCi5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGUgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIKfQoKLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCwKLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgewogICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOwogICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwCn0KCi5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGU6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLAouaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgewogICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsKICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAKfQoKLmlucHV0LWdyb3VwLWFwcGVuZCwKLmlucHV0LWdyb3VwLXByZXBlbmQgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXgKfQoKLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuLAouaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDIKfQoKLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuKy5idG4sCi5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0bisuaW5wdXQtZ3JvdXAtdGV4dCwKLmlucHV0LWdyb3VwLWFwcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCsuYnRuLAouaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0Ky5pbnB1dC1ncm91cC10ZXh0LAouaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuKy5idG4sCi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4rLmlucHV0LWdyb3VwLXRleHQsCi5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0Ky5idG4sCi5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0Ky5pbnB1dC1ncm91cC10ZXh0IHsKICAgIG1hcmdpbi1sZWZ0OiAtMXB4Cn0KCi5pbnB1dC1ncm91cC1wcmVwZW5kIHsKICAgIG1hcmdpbi1yaWdodDogLTFweAp9CgouaW5wdXQtZ3JvdXAtYXBwZW5kIHsKICAgIG1hcmdpbi1sZWZ0OiAtMXB4Cn0KCi5pbnB1dC1ncm91cC10ZXh0IHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgcGFkZGluZzogLjM3NXJlbSAxLjJyZW07CiAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgZm9udC1zaXplOiAxcmVtOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGxpbmUtaGVpZ2h0OiAyLjI7CiAgICBjb2xvcjogIzQ5NTA1NzsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOwogICAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjJyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMnJlbQp9CgouaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dFt0eXBlPWNoZWNrYm94XSwKLmlucHV0LWdyb3VwLXRleHQgaW5wdXRbdHlwZT1yYWRpb10gewogICAgbWFyZ2luLXRvcDogMAp9CgouaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkPi5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksCi5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQ+LmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSwKLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKT4uYnRuLAouaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpPi5pbnB1dC1ncm91cC10ZXh0LAouaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmJ0biwKLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5pbnB1dC1ncm91cC10ZXh0IHsKICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMAp9CgouaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLAouaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dCwKLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkPi5idG46bm90KDpmaXJzdC1jaGlsZCksCi5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZD4uaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSwKLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG4sCi5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKT4uaW5wdXQtZ3JvdXAtdGV4dCB7CiAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7CiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMAp9CgouY3VzdG9tLWNvbnRyb2wgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBtaW4taGVpZ2h0OiAxLjVyZW07CiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbQp9CgouY3VzdG9tLWNvbnRyb2wtaW5saW5lIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIG1hcmdpbi1yaWdodDogMXJlbQp9CgouY3VzdG9tLWNvbnRyb2wtaW5wdXQgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgei1pbmRleDogLTE7CiAgICBvcGFjaXR5OiAwCn0KCi5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmUKfQoKLmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3Vzfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIC4yNSk7CiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgLjI1KQp9CgouY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDdmZjsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmUKfQoKLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkfi5jdXN0b20tY29udHJvbC1sYWJlbCB7CiAgICBjb2xvcjogIzZjNzU3ZAp9CgouY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZgp9CgouY3VzdG9tLWNvbnRyb2wtbGFiZWwgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IC4yNXJlbTsKICAgIGxlZnQ6IDA7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxcmVtOwogICAgaGVpZ2h0OiAxcmVtOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBjb250ZW50OiAiIjsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2OwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgwLCAwLCAwLCAuMSk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgwLCAwLCAwLCAuMSkKfQoKLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IC4yNXJlbTsKICAgIGxlZnQ6IDA7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxcmVtOwogICAgaGVpZ2h0OiAxcmVtOwogICAgY29udGVudDogIiI7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsKICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiA1MCUgNTAlOwogICAgYmFja2dyb3VuZC1zaXplOiA1MCUgNTAlCn0KCi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMjVyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0KfQoKLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmCn0KCi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0UiKQp9CgouY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lCn0KCi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGV+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBkPSdNMCAyaDQnLyUzRSUzQy9zdmclM0UiKQp9CgouY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIC41KQp9CgouY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDppbmRldGVybWluYXRlfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIC41KQp9CgouY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXJhZGl1czogNTAlCn0KCi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZgp9CgouY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM0UlM0NjaXJjbGUgcj0nMycgZmlsbD0nJTIzZmZmJy8lM0UlM0Mvc3ZnJTNFIikKfQoKLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyMywgMjU1LCAuNSkKfQoKLmN1c3RvbS1zZWxlY3QgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IGNhbGMoMi4yNXJlbSArIDJweCk7CiAgICBwYWRkaW5nOiAuMzc1cmVtIDEuNzVyZW0gLjM3NXJlbSAuNzVyZW07CiAgICBsaW5lLWhlaWdodDogMS41OwogICAgY29sb3I6ICM0OTUwNTc7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM0UlM0NwYXRoIGZpbGw9JyUyMzM0M2E0MCcgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNFJTNDL3N2ZyUzRSIpIG5vLXJlcGVhdCByaWdodCAuNzVyZW0gY2VudGVyOwogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDhweCAxMHB4OwogICAgYmFja2dyb3VuZC1zaXplOiA4cHggMTBweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC4yNXJlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTsKICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICAgIGFwcGVhcmFuY2U6IG5vbmUKfQoKLmN1c3RvbS1zZWxlY3Q6Zm9jdXMgewogICAgYm9yZGVyLWNvbG9yOiAjODBiZGZmOwogICAgb3V0bGluZTogMDsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA1cHggcmdiYSgxMjgsIDE4OSwgMjU1LCAuNSk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDVweCByZ2JhKDEyOCwgMTg5LCAyNTUsIC41KQp9CgouY3VzdG9tLXNlbGVjdDpmb2N1czo6LW1zLXZhbHVlIHsKICAgIGNvbG9yOiAjNDk1MDU3OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZgp9CgouY3VzdG9tLXNlbGVjdFttdWx0aXBsZV0sCi5jdXN0b20tc2VsZWN0W3NpemVdOm5vdChbc2l6ZT0iMSJdKSB7CiAgICBoZWlnaHQ6IGF1dG87CiAgICBwYWRkaW5nLXJpZ2h0OiAuNzVyZW07CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lCn0KCi5jdXN0b20tc2VsZWN0OmRpc2FibGVkIHsKICAgIGNvbG9yOiAjNmM3NTdkOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZgp9CgouY3VzdG9tLXNlbGVjdDo6LW1zLWV4cGFuZCB7CiAgICBvcGFjaXR5OiAwCn0KCi5jdXN0b20tc2VsZWN0LXNtIHsKICAgIGhlaWdodDogY2FsYygxLjgxMjVyZW0gKyAycHgpOwogICAgcGFkZGluZy10b3A6IC4zNzVyZW07CiAgICBwYWRkaW5nLWJvdHRvbTogLjM3NXJlbTsKICAgIGZvbnQtc2l6ZTogNzUlCn0KCi5jdXN0b20tc2VsZWN0LWxnIHsKICAgIGhlaWdodDogY2FsYygyLjg3NXJlbSArIDJweCk7CiAgICBwYWRkaW5nLXRvcDogLjM3NXJlbTsKICAgIHBhZGRpbmctYm90dG9tOiAuMzc1cmVtOwogICAgZm9udC1zaXplOiAxMjUlCn0KCi5jdXN0b20tZmlsZSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogY2FsYygyLjI1cmVtICsgMnB4KTsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmN1c3RvbS1maWxlLWlucHV0IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDI7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogY2FsYygyLjI1cmVtICsgMnB4KTsKICAgIG1hcmdpbjogMDsKICAgIG9wYWNpdHk6IDAKfQoKLmN1c3RvbS1maWxlLWlucHV0OmZvY3Vzfi5jdXN0b20tZmlsZS1sYWJlbCB7CiAgICBib3JkZXItY29sb3I6ICM4MGJkZmY7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIC4yNSk7CiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAuMjUpCn0KCi5jdXN0b20tZmlsZS1pbnB1dDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsKICAgIGJvcmRlci1jb2xvcjogIzgwYmRmZgp9CgouY3VzdG9tLWZpbGUtaW5wdXQ6bGFuZyhlbil+LmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7CiAgICBjb250ZW50OiAiQnJvd3NlIgp9CgouY3VzdG9tLWZpbGUtbGFiZWwgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgcmlnaHQ6IDA7CiAgICBsZWZ0OiAwOwogICAgei1pbmRleDogMTsKICAgIGhlaWdodDogY2FsYygyLjI1cmVtICsgMnB4KTsKICAgIHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIGNvbG9yOiAjNDk1MDU3OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC4yNXJlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KQp9CgouY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIHJpZ2h0OiAwOwogICAgYm90dG9tOiAwOwogICAgei1pbmRleDogMzsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgaGVpZ2h0OiBjYWxjKGNhbGMoMi4yNXJlbSArIDJweCkgLSAxcHggKiAyKTsKICAgIHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIGNvbG9yOiAjNDk1MDU3OwogICAgY29udGVudDogIkJyb3dzZSI7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOwogICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2VkNGRhOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIC4yNXJlbSAuMjVyZW0gMDsKICAgIGJvcmRlci1yYWRpdXM6IDAgLjI1cmVtIC4yNXJlbSAwCn0KCi5jdXN0b20tcmFuZ2UgewogICAgd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICAgIGFwcGVhcmFuY2U6IG5vbmUKfQoKLmN1c3RvbS1yYW5nZTpmb2N1cyB7CiAgICBvdXRsaW5lOiAwCn0KCi5jdXN0b20tcmFuZ2U6Oi1tb3otZm9jdXMtb3V0ZXIgewogICAgYm9yZGVyOiAwCn0KCi5jdXN0b20tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsKICAgIHdpZHRoOiAxcmVtOwogICAgaGVpZ2h0OiAxcmVtOwogICAgbWFyZ2luLXRvcDogLS4yNXJlbTsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7CiAgICBib3JkZXI6IDA7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFyZW07CiAgICBib3JkZXItcmFkaXVzOiAxcmVtOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIC4xcmVtIC4yNXJlbSByZ2JhKDAsIDAsIDAsIC4xKTsKICAgIGJveC1zaGFkb3c6IDAgLjFyZW0gLjI1cmVtIHJnYmEoMCwgMCwgMCwgLjEpOwogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgYXBwZWFyYW5jZTogbm9uZQp9CgouY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYjpmb2N1cyB7CiAgICBvdXRsaW5lOiAwOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgLjI1KTsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAuMjUpCn0KCi5jdXN0b20tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iOmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkN2ZmCn0KCi5jdXN0b20tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAuNXJlbTsKICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWUyZTY7CiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxcmVtOwogICAgYm9yZGVyLXJhZGl1czogMXJlbTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoMCwgMCwgMCwgLjEpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoMCwgMCwgMCwgLjEpCn0KCi5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIgewogICAgd2lkdGg6IDFyZW07CiAgICBoZWlnaHQ6IDFyZW07CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOwogICAgYm9yZGVyOiAwOwogICAgYm9yZGVyLXJhZGl1czogMXJlbTsKICAgIGJveC1zaGFkb3c6IDAgLjFyZW0gLjI1cmVtIHJnYmEoMCwgMCwgMCwgLjEpOwogICAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogICAgYXBwZWFyYW5jZTogbm9uZQp9CgouY3VzdG9tLXJhbmdlOjotbW96LXJhbmdlLXRodW1iOmZvY3VzIHsKICAgIG91dGxpbmU6IDA7CiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgLjI1KQp9CgouY3VzdG9tLXJhbmdlOjotbW96LXJhbmdlLXRodW1iOmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkN2ZmCn0KCi5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IC41cmVtOwogICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZTJlNjsKICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItcmFkaXVzOiAxcmVtOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoMCwgMCwgMCwgLjEpCn0KCi5jdXN0b20tcmFuZ2U6Oi1tcy10aHVtYiB7CiAgICB3aWR0aDogMXJlbTsKICAgIGhlaWdodDogMXJlbTsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7CiAgICBib3JkZXI6IDA7CiAgICBib3JkZXItcmFkaXVzOiAxcmVtOwogICAgYm94LXNoYWRvdzogMCAuMXJlbSAuMjVyZW0gcmdiYSgwLCAwLCAwLCAuMSk7CiAgICBhcHBlYXJhbmNlOiBub25lCn0KCi5jdXN0b20tcmFuZ2U6Oi1tcy10aHVtYjpmb2N1cyB7CiAgICBvdXRsaW5lOiAwOwogICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIC4yNSkKfQoKLmN1c3RvbS1yYW5nZTo6LW1zLXRodW1iOmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkN2ZmCn0KCi5jdXN0b20tcmFuZ2U6Oi1tcy10cmFjayB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogLjVyZW07CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItd2lkdGg6IC41cmVtOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoMCwgMCwgMCwgLjEpCn0KCi5jdXN0b20tcmFuZ2U6Oi1tcy1maWxsLWxvd2VyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWUyZTY7CiAgICBib3JkZXItcmFkaXVzOiAxcmVtCn0KCi5jdXN0b20tcmFuZ2U6Oi1tcy1maWxsLXVwcGVyIHsKICAgIG1hcmdpbi1yaWdodDogMTVweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWUyZTY7CiAgICBib3JkZXItcmFkaXVzOiAxcmVtCn0KCi5uYXYgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgbGlzdC1zdHlsZTogbm9uZQp9CgoubmF2LWxpbmsgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtCn0KCi5uYXYtbGluazpmb2N1cywKLm5hdi1saW5rOmhvdmVyIHsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZQp9CgoubmF2LWxpbmsuZGlzYWJsZWQgewogICAgY29sb3I6ICM2Yzc1N2QKfQoKLm5hdi10YWJzIHsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2Cn0KCi5uYXYtdGFicyAubmF2LWl0ZW0gewogICAgbWFyZ2luLWJvdHRvbTogLTFweAp9CgoubmF2LXRhYnMgLm5hdi1saW5rIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsKICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMAp9CgoubmF2LXRhYnMgLm5hdi1saW5rOmZvY3VzLAoubmF2LXRhYnMgLm5hdi1saW5rOmhvdmVyIHsKICAgIGJvcmRlci1jb2xvcjogI2U5ZWNlZiAjZTllY2VmICNkZWUyZTYKfQoKLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZCB7CiAgICBjb2xvcjogIzZjNzU3ZDsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudAp9CgoubmF2LXRhYnMgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rLAoubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSB7CiAgICBjb2xvcjogIzA2YjU5MDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3JkZXItY29sb3I6ICNkZWUyZTYgI2RlZTJlNiAjZmZmCn0KCi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7CiAgICBtYXJnaW4tdG9wOiAtMXB4OwogICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsKICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMAp9CgoubmF2LXBpbGxzIC5uYXYtbGluayB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwMHB4OwogICAgYm9yZGVyLXJhZGl1czogMjAwcHgKfQoKLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLAoubmF2LXBpbGxzIC5zaG93Pi5uYXYtbGluayB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzRhNTUKfQoKLm5hdi1maWxsIC5uYXYtaXRlbSB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAxOwogICAgLXdlYmtpdC1mbGV4OiAxIDEgYXV0bzsKICAgIC1tcy1mbGV4OiAxIDEgYXV0bzsKICAgIGZsZXg6IDEgMSBhdXRvOwogICAgdGV4dC1hbGlnbjogY2VudGVyCn0KCi5uYXYtanVzdGlmaWVkIC5uYXYtaXRlbSB7CiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDA7CiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDsKICAgIGZsZXgtYmFzaXM6IDA7CiAgICAtd2Via2l0LWJveC1mbGV4OiAxOwogICAgLXdlYmtpdC1mbGV4LWdyb3c6IDE7CiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTsKICAgIGZsZXgtZ3JvdzogMTsKICAgIHRleHQtYWxpZ246IGNlbnRlcgp9CgoudGFiLWNvbnRlbnQ+LnRhYi1wYW5lIHsKICAgIGRpc3BsYXk6IG5vbmUKfQoKLnRhYi1jb250ZW50Pi5hY3RpdmUgewogICAgZGlzcGxheTogYmxvY2sKfQoKLm5hdmJhciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOwogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBwYWRkaW5nOiAxLjNyZW0gMXJlbQp9CgoubmF2YmFyPi5jb250YWluZXIsCi5uYXZiYXI+LmNvbnRhaW5lci1mbHVpZCB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOwogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4KfQoKLm5hdmJhci1icmFuZCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwYWRkaW5nLXRvcDogLjMxMjVyZW07CiAgICBwYWRkaW5nLWJvdHRvbTogLjMxMjVyZW07CiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07CiAgICBmb250LXNpemU6IDEuMjVyZW07CiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXAKfQoKLm5hdmJhci1icmFuZDpmb2N1cywKLm5hdmJhci1icmFuZDpob3ZlciB7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUKfQoKLm5hdmJhci1uYXYgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgbGlzdC1zdHlsZTogbm9uZQp9CgoubmF2YmFyLW5hdiAubmF2LWxpbmsgewogICAgcGFkZGluZy1yaWdodDogMDsKICAgIHBhZGRpbmctbGVmdDogMAp9CgoubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7CiAgICBwb3NpdGlvbjogc3RhdGljOwogICAgZmxvYXQ6IG5vbmUKfQoKLm5hdmJhci10ZXh0IHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHBhZGRpbmctdG9wOiAuNXJlbTsKICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbQp9CgoubmF2YmFyLWNvbGxhcHNlIHsKICAgIC13ZWJraXQtZmxleC1iYXNpczogMTAwJTsKICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlOwogICAgZmxleC1iYXNpczogMTAwJTsKICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAtd2Via2l0LWZsZXgtZ3JvdzogMTsKICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxOwogICAgZmxleC1ncm93OiAxOwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyCn0KCi5uYXZiYXItdG9nZ2xlciB7CiAgICBwYWRkaW5nOiAuMjVyZW0gLjc1cmVtOwogICAgZm9udC1zaXplOiAxLjI1cmVtOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMjVyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0KfQoKLm5hdmJhci10b2dnbGVyOmZvY3VzLAoubmF2YmFyLXRvZ2dsZXI6aG92ZXIgewogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lCn0KCi5uYXZiYXItdG9nZ2xlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7CiAgICBjdXJzb3I6IHBvaW50ZXIKfQoKLm5hdmJhci10b2dnbGVyLWljb24gewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IDEuNWVtOwogICAgaGVpZ2h0OiAxLjVlbTsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICBjb250ZW50OiAiIjsKICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOwogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsKICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlCn0KCkBtZWRpYSAobWF4LXdpZHRoOjU3NS45OHB4KSB7CiAgICAubmF2YmFyLWV4cGFuZC1zbT4uY29udGFpbmVyLAogICAgLm5hdmJhci1leHBhbmQtc20+LmNvbnRhaW5lci1mbHVpZCB7CiAgICAgICAgcGFkZGluZy1yaWdodDogMDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDAKICAgIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6NTc2cHgpIHsKICAgIC5uYXZiYXItZXhwYW5kLXNtIHsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IG5vd3JhcDsKICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0CiAgICB9CiAgICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsOwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93CiAgICB9CiAgICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlCiAgICB9CiAgICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAubmF2LWxpbmsgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtOwogICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW0KICAgIH0KICAgIC5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXIsCiAgICAubmF2YmFyLWV4cGFuZC1zbT4uY29udGFpbmVyLWZsdWlkIHsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogbm93cmFwOwogICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsKICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcAogICAgfQogICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1jb2xsYXBzZSB7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87CiAgICAgICAgZmxleC1iYXNpczogYXV0bwogICAgfQogICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci10b2dnbGVyIHsKICAgICAgICBkaXNwbGF5OiBub25lCiAgICB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOjc2Ny45OHB4KSB7CiAgICAubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLAogICAgLm5hdmJhci1leHBhbmQtbWQ+LmNvbnRhaW5lci1mbHVpZCB7CiAgICAgICAgcGFkZGluZy1yaWdodDogMDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDAKICAgIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIHsKICAgIC5uYXZiYXItZXhwYW5kLW1kIHsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IG5vd3JhcDsKICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0CiAgICB9CiAgICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsOwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93CiAgICB9CiAgICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlCiAgICB9CiAgICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAubmF2LWxpbmsgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtOwogICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW0KICAgIH0KICAgIC5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXIsCiAgICAubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLWZsdWlkIHsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogbm93cmFwOwogICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsKICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcAogICAgfQogICAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1jb2xsYXBzZSB7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87CiAgICAgICAgZmxleC1iYXNpczogYXV0bwogICAgfQogICAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci10b2dnbGVyIHsKICAgICAgICBkaXNwbGF5OiBub25lCiAgICB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOjk5MS45OHB4KSB7CiAgICAubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLAogICAgLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci1mbHVpZCB7CiAgICAgICAgcGFkZGluZy1yaWdodDogMDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDAKICAgIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsKICAgIC5uYXZiYXItZXhwYW5kLWxnIHsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IG5vd3JhcDsKICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0CiAgICB9CiAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsOwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93CiAgICB9CiAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlCiAgICB9CiAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAubmF2LWxpbmsgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtOwogICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW0KICAgIH0KICAgIC5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXIsCiAgICAubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLWZsdWlkIHsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogbm93cmFwOwogICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsKICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcAogICAgfQogICAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1jb2xsYXBzZSB7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87CiAgICAgICAgZmxleC1iYXNpczogYXV0bwogICAgfQogICAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci10b2dnbGVyIHsKICAgICAgICBkaXNwbGF5OiBub25lCiAgICB9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOjExOTkuOThweCkgewogICAgLm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lciwKICAgIC5uYXZiYXItZXhwYW5kLXhsPi5jb250YWluZXItZmx1aWQgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAwCiAgICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOjEyMDBweCkgewogICAgLm5hdmJhci1leHBhbmQteGwgewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsKICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93IG5vd3JhcDsKICAgICAgICAtbXMtZmxleC1mbG93OiByb3cgbm93cmFwOwogICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsKICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQKICAgIH0KICAgIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IHsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cKICAgIH0KICAgIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUKICAgIH0KICAgIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IC5uYXYtbGluayB7CiAgICAgICAgcGFkZGluZy1yaWdodDogLjVyZW07CiAgICAgICAgcGFkZGluZy1sZWZ0OiAuNXJlbQogICAgfQogICAgLm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lciwKICAgIC5uYXZiYXItZXhwYW5kLXhsPi5jb250YWluZXItZmx1aWQgewogICAgICAgIC13ZWJraXQtZmxleC13cmFwOiBub3dyYXA7CiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwOwogICAgICAgIGZsZXgtd3JhcDogbm93cmFwCiAgICB9CiAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLWNvbGxhcHNlIHsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7CiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtZmxleC1iYXNpczogYXV0bzsKICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogYXV0bzsKICAgICAgICBmbGV4LWJhc2lzOiBhdXRvCiAgICB9CiAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLXRvZ2dsZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmUKICAgIH0KfQoKLm5hdmJhci1leHBhbmQgewogICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93IG5vd3JhcDsKICAgIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7CiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQKfQoKLm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lciwKLm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lci1mbHVpZCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwOwogICAgcGFkZGluZy1sZWZ0OiAwCn0KCi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IHsKICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsKICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93OwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93Cn0KCi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZQp9CgoubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAubmF2LWxpbmsgewogICAgcGFkZGluZy1yaWdodDogLjVyZW07CiAgICBwYWRkaW5nLWxlZnQ6IC41cmVtCn0KCi5uYXZiYXItZXhwYW5kPi5jb250YWluZXIsCi5uYXZiYXItZXhwYW5kPi5jb250YWluZXItZmx1aWQgewogICAgLXdlYmtpdC1mbGV4LXdyYXA6IG5vd3JhcDsKICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsKICAgIGZsZXgtd3JhcDogbm93cmFwCn0KCi5uYXZiYXItZXhwYW5kIC5uYXZiYXItY29sbGFwc2UgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleCAhaW1wb3J0YW50OwogICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDsKICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgIC13ZWJraXQtZmxleC1iYXNpczogYXV0bzsKICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiBhdXRvOwogICAgZmxleC1iYXNpczogYXV0bwp9CgoubmF2YmFyLWV4cGFuZCAubmF2YmFyLXRvZ2dsZXIgewogICAgZGlzcGxheTogbm9uZQp9CgoubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQgewogICAgY29sb3I6ICMwNzRhNTUKfQoKLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmZvY3VzLAoubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6aG92ZXIgewogICAgY29sb3I6ICMwNzRhNTUKfQoKLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsgewogICAgY29sb3I6ICMyMDI0MjgKfQoKLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMsCi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHsKICAgIGNvbG9yOiAjMDc0YTU1Cn0KCi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVkIHsKICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC4zKQp9CgoubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmU+Lm5hdi1saW5rLAoubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsCi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csCi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLnNob3c+Lm5hdi1saW5rIHsKICAgIGNvbG9yOiAjMDc0YTU1Cn0KCi5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyIHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xKQp9CgoubmF2YmFyLWxpZ2h0IC5uYXZiYXItdG9nZ2xlci1pY29uIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9J3JnYmEoMCwgMCwgMCwgMC41KScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0UiKQp9CgoubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCB7CiAgICBjb2xvcjogIzIwMjQyOAp9CgoubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhIHsKICAgIGNvbG9yOiAjMDc0YTU1Cn0KCi5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGE6Zm9jdXMsCi5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGE6aG92ZXIgewogICAgY29sb3I6ICMwNzRhNTUKfQoKLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQgewogICAgY29sb3I6ICNmZmYKfQoKLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6Zm9jdXMsCi5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmhvdmVyIHsKICAgIGNvbG9yOiAjZmZmCn0KCi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpCn0KCi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMsCi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIgewogICAgY29sb3I6ICNmZmYKfQoKLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZCB7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMjUpCn0KCi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuYWN0aXZlPi5uYXYtbGluaywKLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsCi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdywKLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5zaG93Pi5uYXYtbGluayB7CiAgICBjb2xvcjogI2ZmZgp9CgoubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVyIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KTsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSkKfQoKLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlci1pY29uIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9J3JnYmEoMjU1LCAyNTUsIDI1NSwgMC41KScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0UiKQp9CgoubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KQp9CgoubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGEgewogICAgY29sb3I6ICNmZmYKfQoKLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmZvY3VzLAoubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGE6aG92ZXIgewogICAgY29sb3I6ICNmZmYKfQoKLmNhcmQgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBtaW4td2lkdGg6IDA7CiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7CiAgICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGVkOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMjVyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0KfQoKLmNhcmQ+aHIgewogICAgbWFyZ2luLXJpZ2h0OiAwOwogICAgbWFyZ2luLWxlZnQ6IDAKfQoKLmNhcmQ+Lmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7CiAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IC4yNXJlbTsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IC4yNXJlbTsKICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IC4yNXJlbTsKICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuMjVyZW0KfQoKLmNhcmQ+Lmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQgewogICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogLjI1cmVtOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IC4yNXJlbTsKICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjI1cmVtOwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjI1cmVtCn0KCi5jYXJkLWJvZHkgewogICAgLXdlYmtpdC1ib3gtZmxleDogMTsKICAgIC13ZWJraXQtZmxleDogMSAxIGF1dG87CiAgICAtbXMtZmxleDogMSAxIGF1dG87CiAgICBmbGV4OiAxIDEgYXV0bzsKICAgIHBhZGRpbmc6IDEuNjdyZW0gMnJlbSAxLjhyZW0gMnJlbQp9CgouY2FyZC10aXRsZSB7CiAgICBtYXJnaW4tYm90dG9tOiAuNzVyZW0KfQoKLmNhcmQtc3VidGl0bGUgewogICAgbWFyZ2luLXRvcDogLS4zNzVyZW07CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5jYXJkLWxpbms6aG92ZXIgewogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lCn0KCi5jYXJkLWxpbmsrLmNhcmQtbGluayB7CiAgICBtYXJnaW4tbGVmdDogMS42N3JlbSAycmVtIDEuOHJlbSAycmVtCn0KCi5jYXJkLWhlYWRlciB7CiAgICBwYWRkaW5nOiAuNzVyZW0gMS42N3JlbSAycmVtIDEuOHJlbSAycmVtOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZThlZAp9CgouY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiBjYWxjKC4yNXJlbSAtIDFweCkgY2FsYyguMjVyZW0gLSAxcHgpIDAgMDsKICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoLjI1cmVtIC0gMXB4KSBjYWxjKC4yNXJlbSAtIDFweCkgMCAwCn0KCi5jYXJkLWhlYWRlcisubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsKICAgIGJvcmRlci10b3A6IDAKfQoKLmNhcmQtZm9vdGVyIHsKICAgIHBhZGRpbmc6IC43NXJlbSAxLjY3cmVtIDJyZW0gMS44cmVtIDJyZW07CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU4ZWQKfQoKLmNhcmQtZm9vdGVyOmxhc3QtY2hpbGQgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDAgY2FsYyguMjVyZW0gLSAxcHgpIGNhbGMoLjI1cmVtIC0gMXB4KTsKICAgIGJvcmRlci1yYWRpdXM6IDAgMCBjYWxjKC4yNXJlbSAtIDFweCkgY2FsYyguMjVyZW0gLSAxcHgpCn0KCi5jYXJkLWhlYWRlci10YWJzIHsKICAgIG1hcmdpbi1yaWdodDogLTEuNjdyZW0gMnJlbSAxLjhyZW0gMnJlbS8yOwogICAgbWFyZ2luLWJvdHRvbTogLS43NXJlbTsKICAgIG1hcmdpbi1sZWZ0OiAtMS42N3JlbSAycmVtIDEuOHJlbSAycmVtLzI7CiAgICBib3JkZXItYm90dG9tOiAwCn0KCi5jYXJkLWhlYWRlci1waWxscyB7CiAgICBtYXJnaW4tcmlnaHQ6IC0xLjY3cmVtIDJyZW0gMS44cmVtIDJyZW0vMjsKICAgIG1hcmdpbi1sZWZ0OiAtMS42N3JlbSAycmVtIDEuOHJlbSAycmVtLzIKfQoKLmNhcmQtaW1nLW92ZXJsYXkgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgcmlnaHQ6IDA7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAwOwogICAgcGFkZGluZzogMS4yNXJlbQp9CgouY2FyZC1pbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IGNhbGMoLjI1cmVtIC0gMXB4KTsKICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoLjI1cmVtIC0gMXB4KQp9CgouY2FyZC1pbWctdG9wIHsKICAgIHdpZHRoOiAxMDAlOwogICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKC4yNXJlbSAtIDFweCk7CiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKC4yNXJlbSAtIDFweCk7CiAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKC4yNXJlbSAtIDFweCk7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYyguMjVyZW0gLSAxcHgpCn0KCi5jYXJkLWltZy1ib3R0b20gewogICAgd2lkdGg6IDEwMCU7CiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBjYWxjKC4yNXJlbSAtIDFweCk7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogY2FsYyguMjVyZW0gLSAxcHgpOwogICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjYWxjKC4yNXJlbSAtIDFweCk7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjYWxjKC4yNXJlbSAtIDFweCkKfQoKLmNhcmQtZGVjayB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbgp9CgouY2FyZC1kZWNrIC5jYXJkIHsKICAgIG1hcmdpbi1ib3R0b206IDE1cHgKfQoKQG1lZGlhIChtaW4td2lkdGg6NTc2cHgpIHsKICAgIC5jYXJkLWRlY2sgewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsKICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93IHdyYXA7CiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7CiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweAogICAgfQogICAgLmNhcmQtZGVjayAuY2FyZCB7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTsKICAgICAgICAtd2Via2l0LWZsZXg6IDEgMCAwJTsKICAgICAgICAtbXMtZmxleDogMSAwIDAlOwogICAgICAgIGZsZXg6IDEgMCAwJTsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4CiAgICB9Cn0KCi5jYXJkLWdyb3VwIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uCn0KCi5jYXJkLWdyb3VwPi5jYXJkIHsKICAgIG1hcmdpbi1ib3R0b206IDE1cHgKfQoKQG1lZGlhIChtaW4td2lkdGg6NTc2cHgpIHsKICAgIC5jYXJkLWdyb3VwIHsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyB3cmFwOwogICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwOwogICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXAKICAgIH0KICAgIC5jYXJkLWdyb3VwPi5jYXJkIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxOwogICAgICAgIC13ZWJraXQtZmxleDogMSAwIDAlOwogICAgICAgIC1tcy1mbGV4OiAxIDAgMCU7CiAgICAgICAgZmxleDogMSAwIDAlOwogICAgICAgIG1hcmdpbi1ib3R0b206IDAKICAgIH0KICAgIC5jYXJkLWdyb3VwPi5jYXJkKy5jYXJkIHsKICAgICAgICBtYXJnaW4tbGVmdDogMDsKICAgICAgICBib3JkZXItbGVmdDogMAogICAgfQogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6Zmlyc3QtY2hpbGQgewogICAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7CiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7CiAgICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMAogICAgfQogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtaGVhZGVyLAogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtaW1nLXRvcCB7CiAgICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMAogICAgfQogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtZm9vdGVyLAogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtaW1nLWJvdHRvbSB7CiAgICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMAogICAgfQogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6bGFzdC1jaGlsZCB7CiAgICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7CiAgICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOwogICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAKICAgIH0KICAgIC5jYXJkLWdyb3VwPi5jYXJkOmxhc3QtY2hpbGQgLmNhcmQtaGVhZGVyLAogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1pbWctdG9wIHsKICAgICAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7CiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMAogICAgfQogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1mb290ZXIsCiAgICAuY2FyZC1ncm91cD4uY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWltZy1ib3R0b20gewogICAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwCiAgICB9CiAgICAuY2FyZC1ncm91cD4uY2FyZDpvbmx5LWNoaWxkIHsKICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC4yNXJlbTsKICAgICAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0KICAgIH0KICAgIC5jYXJkLWdyb3VwPi5jYXJkOm9ubHktY2hpbGQgLmNhcmQtaGVhZGVyLAogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6b25seS1jaGlsZCAuY2FyZC1pbWctdG9wIHsKICAgICAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IC4yNXJlbTsKICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuMjVyZW07CiAgICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjI1cmVtOwogICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuMjVyZW0KICAgIH0KICAgIC5jYXJkLWdyb3VwPi5jYXJkOm9ubHktY2hpbGQgLmNhcmQtZm9vdGVyLAogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6b25seS1jaGlsZCAuY2FyZC1pbWctYm90dG9tIHsKICAgICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuMjVyZW07CiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IC4yNXJlbTsKICAgICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IC4yNXJlbTsKICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAuMjVyZW0KICAgIH0KICAgIC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSB7CiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDAKICAgIH0KICAgIC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1mb290ZXIsCiAgICAuY2FyZC1ncm91cD4uY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkgLmNhcmQtaGVhZGVyLAogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIC5jYXJkLWltZy1ib3R0b20sCiAgICAuY2FyZC1ncm91cD4uY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkgLmNhcmQtaW1nLXRvcCB7CiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDAKICAgIH0KfQoKLmNhcmQtY29sdW1ucyAuY2FyZCB7CiAgICBtYXJnaW4tYm90dG9tOiAuNzVyZW0KfQoKQG1lZGlhIChtaW4td2lkdGg6NTc2cHgpIHsKICAgIC5jYXJkLWNvbHVtbnMgewogICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzOwogICAgICAgIGNvbHVtbi1jb3VudDogMzsKICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDEuMjVyZW07CiAgICAgICAgY29sdW1uLWdhcDogMS4yNXJlbTsKICAgICAgICBvcnBoYW5zOiAxOwogICAgICAgIHdpZG93czogMQogICAgfQogICAgLmNhcmQtY29sdW1ucyAuY2FyZCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHdpZHRoOiAxMDAlCiAgICB9Cn0KCi5hY2NvcmRpb24gLmNhcmQ6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkgewogICAgYm9yZGVyLWJvdHRvbTogMDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDsKICAgIGJvcmRlci1yYWRpdXM6IDAKfQoKLmFjY29yZGlvbiAuY2FyZDpub3QoOmZpcnN0LW9mLXR5cGUpIC5jYXJkLWhlYWRlcjpmaXJzdC1jaGlsZCB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7CiAgICBib3JkZXItcmFkaXVzOiAwCn0KCi5hY2NvcmRpb24gLmNhcmQ6Zmlyc3Qtb2YtdHlwZSB7CiAgICBib3JkZXItYm90dG9tOiAwOwogICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOwogICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMAp9CgouYWNjb3JkaW9uIC5jYXJkOmxhc3Qtb2YtdHlwZSB7CiAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7CiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwCn0KCi5icmVhZGNydW1iIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAtbXMtZmxleC13cmFwOiB3cmFwOwogICAgZmxleC13cmFwOiB3cmFwOwogICAgcGFkZGluZzogMCAwOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMjVyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0KfQoKLmJyZWFkY3J1bWItaXRlbSsuYnJlYWRjcnVtYi1pdGVtIHsKICAgIHBhZGRpbmctbGVmdDogMAp9CgouYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwYWRkaW5nLXJpZ2h0OiAwOwogICAgY29sb3I6ICM2Yzc1N2Q7CiAgICBjb250ZW50OiAi74SSIgp9CgouYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZQp9CgouYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUKfQoKLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUgewogICAgY29sb3I6ICM1YTY2NzEKfQoKLnBhZ2luYXRpb24gewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICBsaXN0LXN0eWxlOiBub25lOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMjY2cmVtOwogICAgYm9yZGVyLXJhZGl1czogLjI2NnJlbQp9CgoucGFnZS1saW5rIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcGFkZGluZzogLjhyZW0gMXJlbTsKICAgIG1hcmdpbi1sZWZ0OiAtMXB4OwogICAgbGluZS1oZWlnaHQ6IDEuMjU7CiAgICBjb2xvcjogIzAwN2JmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2Cn0KCi5wYWdlLWxpbms6aG92ZXIgewogICAgei1pbmRleDogMjsKICAgIGNvbG9yOiAjMDA1NmIzOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsKICAgIGJvcmRlci1jb2xvcjogI2RlZTJlNgp9CgoucGFnZS1saW5rOmZvY3VzIHsKICAgIHotaW5kZXg6IDI7CiAgICBvdXRsaW5lOiAwOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAuMjUpOwogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgLjI1KQp9CgoucGFnZS1saW5rOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHsKICAgIGN1cnNvcjogcG9pbnRlcgp9CgoucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsgewogICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IC4yNjZyZW07CiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuMjY2cmVtOwogICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAuMjY2cmVtOwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjI2NnJlbQp9CgoucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7CiAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuMjY2cmVtOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IC4yNjZyZW07CiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuMjY2cmVtOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IC4yNjZyZW0KfQoKLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayB7CiAgICB6LWluZGV4OiAxOwogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOwogICAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmCn0KCi5wYWdlLWl0ZW0uZGlzYWJsZWQgLnBhZ2UtbGluayB7CiAgICBjb2xvcjogIzZjNzU3ZDsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgY3Vyc29yOiBhdXRvOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJvcmRlci1jb2xvcjogI2RlZTJlNgp9CgoucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHsKICAgIHBhZGRpbmc6IC43NXJlbSAxLjVyZW07CiAgICBmb250LXNpemU6IDEuMjVyZW07CiAgICBsaW5lLWhlaWdodDogMS41Cn0KCi5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7CiAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IC4zcmVtOwogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjNyZW07CiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IC4zcmVtOwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjNyZW0KfQoKLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsgewogICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjNyZW07CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjNyZW07CiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuM3JlbTsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuM3JlbQp9CgoucGFnaW5hdGlvbi1zbSAucGFnZS1saW5rIHsKICAgIHBhZGRpbmc6IC4yNXJlbSAuNXJlbTsKICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjUKfQoKLnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHsKICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjJyZW07CiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuMnJlbTsKICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjJyZW07CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAuMnJlbQp9CgoucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7CiAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuMnJlbTsKICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuMnJlbTsKICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IC4ycmVtOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IC4ycmVtCn0KCi5iYWRnZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwYWRkaW5nOiAuMjVlbSAuNGVtOwogICAgZm9udC1zaXplOiA3NSU7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMjVyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0KfQoKLmJhZGdlOmVtcHR5IHsKICAgIGRpc3BsYXk6IG5vbmUKfQoKLmJ0biAuYmFkZ2UgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdG9wOiAtMXB4Cn0KCi5iYWRnZS1waWxsIHsKICAgIHBhZGRpbmctcmlnaHQ6IC42ZW07CiAgICBwYWRkaW5nLWxlZnQ6IC42ZW07CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcmVtOwogICAgYm9yZGVyLXJhZGl1czogMTByZW0KfQoKLmJhZGdlLXByaW1hcnkgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDc0YTU1Cn0KCi5iYWRnZS1wcmltYXJ5W2hyZWZdOmZvY3VzLAouYmFkZ2UtcHJpbWFyeVtocmVmXTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzMjJkN2UKfQoKLmJhZGdlLXNlY29uZGFyeSB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwNmI1OTAKfQoKLmJhZGdlLXNlY29uZGFyeVtocmVmXTpmb2N1cywKLmJhZGdlLXNlY29uZGFyeVtocmVmXTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwNDg0NjkKfQoKLmJhZGdlLXN1Y2Nlc3MgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzViNTNlCn0KCi5iYWRnZS1zdWNjZXNzW2hyZWZdOmZvY3VzLAouYmFkZ2Utc3VjY2Vzc1tocmVmXTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyOThlMzAKfQoKLmJhZGdlLWluZm8gewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzc3ZGZmCn0KCi5iYWRnZS1pbmZvW2hyZWZdOmZvY3VzLAouYmFkZ2UtaW5mb1tocmVmXTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwNDVjZmYKfQoKLmJhZGdlLXdhcm5pbmcgewogICAgY29sb3I6ICMyMTI1Mjk7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZjAwCn0KCi5iYWRnZS13YXJuaW5nW2hyZWZdOmZvY3VzLAouYmFkZ2Utd2FybmluZ1tocmVmXTpob3ZlciB7CiAgICBjb2xvcjogIzIxMjUyOTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhjMDAKfQoKLmJhZGdlLWRhbmdlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlMjM2MzYKfQoKLmJhZGdlLWRhbmdlcltocmVmXTpmb2N1cywKLmJhZGdlLWRhbmdlcltocmVmXTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjODFkMWQKfQoKLmJhZGdlLWxpZ2h0IHsKICAgIGNvbG9yOiAjMjEyNTI5OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZgp9CgouYmFkZ2UtbGlnaHRbaHJlZl06Zm9jdXMsCi5iYWRnZS1saWdodFtocmVmXTpob3ZlciB7CiAgICBjb2xvcjogIzIxMjUyOTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTYKfQoKLmJhZGdlLWRhcmsgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyNDI4Cn0KCi5iYWRnZS1kYXJrW2hyZWZdOmZvY3VzLAouYmFkZ2UtZGFya1tocmVmXTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwOTBiMGMKfQoKLmp1bWJvdHJvbiB7CiAgICBwYWRkaW5nOiAycmVtIDFyZW07CiAgICBtYXJnaW4tYm90dG9tOiAycmVtOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjNyZW07CiAgICBib3JkZXItcmFkaXVzOiAuM3JlbQp9CgpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgewogICAgLmp1bWJvdHJvbiB7CiAgICAgICAgcGFkZGluZzogNHJlbSAycmVtCiAgICB9Cn0KCi5qdW1ib3Ryb24tZmx1aWQgewogICAgcGFkZGluZy1yaWdodDogMDsKICAgIHBhZGRpbmctbGVmdDogMDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDsKICAgIGJvcmRlci1yYWRpdXM6IDAKfQoKLmFsZXJ0IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHBhZGRpbmc6IDEuNnJlbSAycmVtOwogICAgbWFyZ2luLWJvdHRvbTogMS4zM3JlbTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMjVyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0KfQoKLmFsZXJ0LWhlYWRpbmcgewogICAgY29sb3I6IGluaGVyaXQKfQoKLmFsZXJ0LWxpbmsgewogICAgZm9udC13ZWlnaHQ6IDcwMAp9CgouYWxlcnQtZGlzbWlzc2libGUgewogICAgcGFkZGluZy1yaWdodDogNS41cmVtCn0KCi5hbGVydC1kaXNtaXNzaWJsZSAuY2xvc2UgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgcmlnaHQ6IDA7CiAgICBwYWRkaW5nOiAxLjZyZW0gMnJlbTsKICAgIGNvbG9yOiBpbmhlcml0Cn0KCi5hbGVydC1wcmltYXJ5IHsKICAgIGNvbG9yOiAjMDc0YTU1OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZDhlZDsKICAgIGJvcmRlci1jb2xvcjogI2NhYzhlNgp9CgouYWxlcnQtcHJpbWFyeSBociB7CiAgICBib3JkZXItdG9wLWNvbG9yOiAjYjliNmRlCn0KCi5hbGVydC1wcmltYXJ5IC5hbGVydC1saW5rIHsKICAgIGNvbG9yOiAjMzIyZDdlCn0KCi5hbGVydC1zZWNvbmRhcnkgewogICAgY29sb3I6ICMwNmI1OTA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RmMGU5OwogICAgYm9yZGVyLWNvbG9yOiAjYjllYWUwCn0KCi5hbGVydC1zZWNvbmRhcnkgaHIgewogICAgYm9yZGVyLXRvcC1jb2xvcjogI2E1ZTRkNwp9CgouYWxlcnQtc2Vjb25kYXJ5IC5hbGVydC1saW5rIHsKICAgIGNvbG9yOiAjMDQ4NDY5Cn0KCi5hbGVydC1zdWNjZXNzIHsKICAgIGNvbG9yOiAjMzViNTNlOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3ZjBkODsKICAgIGJvcmRlci1jb2xvcjogI2M2ZWFjOQp9CgouYWxlcnQtc3VjY2VzcyBociB7CiAgICBib3JkZXItdG9wLWNvbG9yOiAjYjNlM2I3Cn0KCi5hbGVydC1zdWNjZXNzIC5hbGVydC1saW5rIHsKICAgIGNvbG9yOiAjMjk4ZTMwCn0KCi5hbGVydC1pbmZvIHsKICAgIGNvbG9yOiAjMzc3ZGZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3ZTVmZjsKICAgIGJvcmRlci1jb2xvcjogI2M3ZGJmZgp9CgouYWxlcnQtaW5mbyBociB7CiAgICBib3JkZXItdG9wLWNvbG9yOiAjYWVjYmZmCn0KCi5hbGVydC1pbmZvIC5hbGVydC1saW5rIHsKICAgIGNvbG9yOiAjMDQ1Y2ZmCn0KCi5hbGVydC13YXJuaW5nIHsKICAgIGNvbG9yOiAjZmZhZjAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZjYzsKICAgIGJvcmRlci1jb2xvcjogI2ZmZTliOAp9CgouYWxlcnQtd2FybmluZyBociB7CiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZlMTlmCn0KCi5hbGVydC13YXJuaW5nIC5hbGVydC1saW5rIHsKICAgIGNvbG9yOiAjY2M4YzAwCn0KCi5hbGVydC1kYW5nZXIgewogICAgY29sb3I6ICNlMjM2MzY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlkN2Q3OwogICAgYm9yZGVyLWNvbG9yOiAjZjdjN2M3Cn0KCi5hbGVydC1kYW5nZXIgaHIgewogICAgYm9yZGVyLXRvcC1jb2xvcjogI2Y0YjFiMQp9CgouYWxlcnQtZGFuZ2VyIC5hbGVydC1saW5rIHsKICAgIGNvbG9yOiAjYzgxZDFkCn0KCi5hbGVydC1saWdodCB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3JkZXItY29sb3I6ICNmZmYKfQoKLmFsZXJ0LWxpZ2h0IGhyIHsKICAgIGJvcmRlci10b3AtY29sb3I6ICNmMmYyZjIKfQoKLmFsZXJ0LWxpZ2h0IC5hbGVydC1saW5rIHsKICAgIGNvbG9yOiAjZTZlNmU2Cn0KCi5hbGVydC1kYXJrIHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2QyZDNkNDsKICAgIGJvcmRlci1jb2xvcjogI2MxYzJjMwp9CgouYWxlcnQtZGFyayBociB7CiAgICBib3JkZXItdG9wLWNvbG9yOiAjYjRiNWI2Cn0KCi5hbGVydC1kYXJrIC5hbGVydC1saW5rIHsKICAgIGNvbG9yOiAjMDkwYjBjCn0KCkAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7CiAgICBmcm9tIHsKICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAuNTRyZW0gMAogICAgfQogICAgdG8gewogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMAogICAgfQp9CgpAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHsKICAgIGZyb20gewogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC41NHJlbSAwCiAgICB9CiAgICB0byB7CiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwCiAgICB9Cn0KCi5wcm9ncmVzcyB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIGhlaWdodDogLjU0cmVtOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGZvbnQtc2l6ZTogLjc1cmVtOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjI1cmVtOwogICAgYm9yZGVyLXJhZGl1czogLjI1cmVtOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoMCwgMCwgMCwgLjEpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKDAsIDAsIDAsIC4xKQp9CgoucHJvZ3Jlc3MtYmFyIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgY29sb3I6ICNmZmY7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggLjZzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiB3aWR0aCAuNnMgZWFzZTsKICAgIHRyYW5zaXRpb246IHdpZHRoIC42cyBlYXNlCn0KCkBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSkgewogICAgLnByb2dyZXNzLWJhciB7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lOwogICAgICAgIC1vLXRyYW5zaXRpb246IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZQogICAgfQp9CgoucHJvZ3Jlc3MtYmFyLXN0cmlwZWQgewogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogLjU0cmVtIC41NHJlbTsKICAgIGJhY2tncm91bmQtc2l6ZTogLjU0cmVtIC41NHJlbQp9CgoucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAxcyBsaW5lYXIgaW5maW5pdGU7CiAgICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDFzIGxpbmVhciBpbmZpbml0ZQp9CgoubWVkaWEgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0OwogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQKfQoKLm1lZGlhLWJvZHkgewogICAgLXdlYmtpdC1ib3gtZmxleDogMTsKICAgIC13ZWJraXQtZmxleDogMTsKICAgIC1tcy1mbGV4OiAxOwogICAgZmxleDogMQp9CgoubGlzdC1ncm91cCB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIHBhZGRpbmctbGVmdDogMDsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24gewogICAgd2lkdGg6IDEwMCU7CiAgICBjb2xvcjogIzQ5NTA1NzsKICAgIHRleHQtYWxpZ246IGluaGVyaXQKfQoKLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsCi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyIHsKICAgIGNvbG9yOiAjNDk1MDU3OwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYQp9CgoubGlzdC1ncm91cC1pdGVtLWFjdGlvbjphY3RpdmUgewogICAgY29sb3I6ICMyMTI1Mjk7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmCn0KCi5saXN0LWdyb3VwLWl0ZW0gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBwYWRkaW5nOiAuNzVyZW0gMS4yNXJlbTsKICAgIG1hcmdpbi1ib3R0b206IC0xcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTI1KQp9CgoubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsKICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjI1cmVtOwogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjI1cmVtOwogICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjI1cmVtOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IC4yNXJlbQp9CgoubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IC4yNXJlbTsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuMjVyZW07CiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IC4yNXJlbTsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IC4yNXJlbQp9CgoubGlzdC1ncm91cC1pdGVtOmZvY3VzLAoubGlzdC1ncm91cC1pdGVtOmhvdmVyIHsKICAgIHotaW5kZXg6IDE7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUKfQoKLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCwKLmxpc3QtZ3JvdXAtaXRlbTpkaXNhYmxlZCB7CiAgICBjb2xvcjogIzZjNzU3ZDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYKfQoKLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgewogICAgei1pbmRleDogMjsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsKICAgIGJvcmRlci1jb2xvcjogIzAwN2JmZgp9CgoubGlzdC1ncm91cC1mbHVzaCAubGlzdC1ncm91cC1pdGVtIHsKICAgIGJvcmRlci1yaWdodDogMDsKICAgIGJvcmRlci1sZWZ0OiAwOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwOwogICAgYm9yZGVyLXJhZGl1czogMAp9CgoubGlzdC1ncm91cC1mbHVzaDpmaXJzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsKICAgIGJvcmRlci10b3A6IDAKfQoKLmxpc3QtZ3JvdXAtZmx1c2g6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQgewogICAgYm9yZGVyLWJvdHRvbTogMAp9CgoubGlzdC1ncm91cC1pdGVtLXByaW1hcnkgewogICAgY29sb3I6ICMyMjFlNTU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjOGU2Cn0KCi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLAoubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciB7CiAgICBjb2xvcjogIzIyMWU1NTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNiOWI2ZGUKfQoKLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMWU1NTsKICAgIGJvcmRlci1jb2xvcjogIzIyMWU1NQp9CgoubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeSB7CiAgICBjb2xvcjogIzAzNWU0YjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNiOWVhZTAKfQoKLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywKLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciB7CiAgICBjb2xvcjogIzAzNWU0YjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNhNWU0ZDcKfQoKLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM1ZTRiOwogICAgYm9yZGVyLWNvbG9yOiAjMDM1ZTRiCn0KCi5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyB7CiAgICBjb2xvcjogIzFjNWUyMDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjNmVhYzkKfQoKLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsCi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyIHsKICAgIGNvbG9yOiAjMWM1ZTIwOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2IzZTNiNwp9CgoubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWM1ZTIwOwogICAgYm9yZGVyLWNvbG9yOiAjMWM1ZTIwCn0KCi5saXN0LWdyb3VwLWl0ZW0taW5mbyB7CiAgICBjb2xvcjogIzFkNDE4NTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjN2RiZmYKfQoKLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsCi5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyIHsKICAgIGNvbG9yOiAjMWQ0MTg1OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2FlY2JmZgp9CgoubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ0MTg1OwogICAgYm9yZGVyLWNvbG9yOiAjMWQ0MTg1Cn0KCi5saXN0LWdyb3VwLWl0ZW0td2FybmluZyB7CiAgICBjb2xvcjogIzg1NWIwMDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmU5YjgKfQoKLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsCi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyIHsKICAgIGNvbG9yOiAjODU1YjAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTE5Zgp9CgoubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU1YjAwOwogICAgYm9yZGVyLWNvbG9yOiAjODU1YjAwCn0KCi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIHsKICAgIGNvbG9yOiAjNzYxYzFjOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3YzdjNwp9CgoubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLAoubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyIHsKICAgIGNvbG9yOiAjNzYxYzFjOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0YjFiMQp9CgoubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICM3NjFjMWM7CiAgICBib3JkZXItY29sb3I6ICM3NjFjMWMKfQoKLmxpc3QtZ3JvdXAtaXRlbS1saWdodCB7CiAgICBjb2xvcjogIzg1ODU4NTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYKfQoKLmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLAoubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIgewogICAgY29sb3I6ICM4NTg1ODU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyCn0KCi5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU4NTg1OwogICAgYm9yZGVyLWNvbG9yOiAjODU4NTg1Cn0KCi5saXN0LWdyb3VwLWl0ZW0tZGFyayB7CiAgICBjb2xvcjogIzExMTMxNTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjMWMyYzMKfQoKLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsCi5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyIHsKICAgIGNvbG9yOiAjMTExMzE1OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2I0YjViNgp9CgoubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMzE1OwogICAgYm9yZGVyLWNvbG9yOiAjMTExMzE1Cn0KCi5jbG9zZSB7CiAgICBmbG9hdDogcmlnaHQ7CiAgICBmb250LXNpemU6IDEuNXJlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIGNvbG9yOiAjMDAwOwogICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjsKICAgIG9wYWNpdHk6IC41Cn0KCi5jbG9zZTpmb2N1cywKLmNsb3NlOmhvdmVyIHsKICAgIGNvbG9yOiAjMDAwOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgb3BhY2l0eTogLjc1Cn0KCi5jbG9zZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7CiAgICBjdXJzb3I6IHBvaW50ZXIKfQoKYnV0dG9uLmNsb3NlIHsKICAgIHBhZGRpbmc6IDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJvcmRlcjogMDsKICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZQp9CgoubW9kYWwtb3BlbiB7CiAgICBvdmVyZmxvdzogaGlkZGVuCn0KCi5tb2RhbCB7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IDA7CiAgICByaWdodDogMDsKICAgIGJvdHRvbTogMDsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAxMDUwOwogICAgZGlzcGxheTogbm9uZTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBvdXRsaW5lOiAwCn0KCi5tb2RhbC1vcGVuIC5tb2RhbCB7CiAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICBvdmVyZmxvdy15OiBhdXRvCn0KCi5tb2RhbC1kaWFsb2cgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW46IC41cmVtOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmUKfQoKLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC4zcyBlYXNlLW91dDsKICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC4zcyBlYXNlLW91dDsKICAgIC1vLXRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0OwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLW91dCwgLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGVhc2Utb3V0OwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpCn0KCkBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSkgewogICAgLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lOwogICAgICAgIC1vLXRyYW5zaXRpb246IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZQogICAgfQp9CgoubW9kYWwuc2hvdyAubW9kYWwtZGlhbG9nIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKQp9CgoubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gKC41cmVtICogMikpCn0KCi5tb2RhbC1jb250ZW50IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgd2lkdGg6IDEwMCU7CiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7CiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMik7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC4zcmVtOwogICAgYm9yZGVyLXJhZGl1czogLjNyZW07CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgLjI1cmVtIC41cmVtIHJnYmEoMCwgMCwgMCwgLjUpOwogICAgYm94LXNoYWRvdzogMCAuMjVyZW0gLjVyZW0gcmdiYSgwLCAwLCAwLCAuNSk7CiAgICBvdXRsaW5lOiAwCn0KCi5tb2RhbC1iYWNrZHJvcCB7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IDA7CiAgICByaWdodDogMDsKICAgIGJvdHRvbTogMDsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAxMDQwOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMAp9CgoubW9kYWwtYmFja2Ryb3AuZmFkZSB7CiAgICBvcGFjaXR5OiAwCn0KCi5tb2RhbC1iYWNrZHJvcC5zaG93IHsKICAgIG9wYWNpdHk6IC41Cn0KCi5tb2RhbC1oZWFkZXIgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0OwogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5OwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgcGFkZGluZzogMXJlbTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTllY2VmOwogICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuM3JlbTsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IC4zcmVtOwogICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjNyZW07CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjNyZW0KfQoKLm1vZGFsLWhlYWRlciAuY2xvc2UgewogICAgcGFkZGluZzogMXJlbTsKICAgIG1hcmdpbjogLTFyZW0gLTFyZW0gLTFyZW0gYXV0bwp9CgoubW9kYWwtdGl0bGUgewogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjUKfQoKLm1vZGFsLWJvZHkgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgLXdlYmtpdC1ib3gtZmxleDogMTsKICAgIC13ZWJraXQtZmxleDogMSAxIGF1dG87CiAgICAtbXMtZmxleDogMSAxIGF1dG87CiAgICBmbGV4OiAxIDEgYXV0bzsKICAgIHBhZGRpbmc6IDFyZW0KfQoKLm1vZGFsLWZvb3RlciB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgIC1tcy1mbGV4LXBhY2s6IGVuZDsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICBwYWRkaW5nOiAxcmVtOwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOWVjZWYKfQoKLm1vZGFsLWZvb3Rlcj46bm90KDpmaXJzdC1jaGlsZCkgewogICAgbWFyZ2luLWxlZnQ6IC4yNXJlbQp9CgoubW9kYWwtZm9vdGVyPjpub3QoOmxhc3QtY2hpbGQpIHsKICAgIG1hcmdpbi1yaWdodDogLjI1cmVtCn0KCi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IC05OTk5cHg7CiAgICB3aWR0aDogNTBweDsKICAgIGhlaWdodDogNTBweDsKICAgIG92ZXJmbG93OiBzY3JvbGwKfQoKQG1lZGlhIChtaW4td2lkdGg6NTc2cHgpIHsKICAgIC5tb2RhbC1kaWFsb2cgewogICAgICAgIG1heC13aWR0aDogNTAwcHg7CiAgICAgICAgbWFyZ2luOiAxLjc1cmVtIGF1dG8KICAgIH0KICAgIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQgewogICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICgxLjc1cmVtICogMikpCiAgICB9CiAgICAubW9kYWwtY29udGVudCB7CiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAuNSk7CiAgICAgICAgYm94LXNoYWRvdzogMCAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgLjUpCiAgICB9CiAgICAubW9kYWwtc20gewogICAgICAgIG1heC13aWR0aDogMzAwcHgKICAgIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsKICAgIC5tb2RhbC1sZyB7CiAgICAgICAgbWF4LXdpZHRoOiA4MDBweAogICAgfQp9CgoudG9vbHRpcCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB6LWluZGV4OiAxMDcwOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW46IDA7CiAgICBmb250LWZhbWlseTogUG9wcGlucywgTWlyemEsIHNhbnMtc2VyaWY7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICB0ZXh0LWFsaWduOiBzdGFydDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIHRleHQtc2hhZG93OiBub25lOwogICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOwogICAgd29yZC1icmVhazogbm9ybWFsOwogICAgd29yZC1zcGFjaW5nOiBub3JtYWw7CiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgbGluZS1icmVhazogYXV0bzsKICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsKICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgIG9wYWNpdHk6IDAKfQoKLnRvb2x0aXAuc2hvdyB7CiAgICBvcGFjaXR5OiAuOQp9CgoudG9vbHRpcCAuYXJyb3cgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogLjhyZW07CiAgICBoZWlnaHQ6IC40cmVtCn0KCi50b29sdGlwIC5hcnJvdzo6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICIiOwogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1zdHlsZTogc29saWQKfQoKLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49dG9wXSwKLmJzLXRvb2x0aXAtdG9wIHsKICAgIHBhZGRpbmc6IC40cmVtIDAKfQoKLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3csCi5icy10b29sdGlwLXRvcCAuYXJyb3cgewogICAgYm90dG9tOiAwCn0KCi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93OjpiZWZvcmUsCi5icy10b29sdGlwLXRvcCAuYXJyb3c6OmJlZm9yZSB7CiAgICB0b3A6IDA7CiAgICBib3JkZXItd2lkdGg6IC40cmVtIC40cmVtIDA7CiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwCn0KCi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSwKLmJzLXRvb2x0aXAtcmlnaHQgewogICAgcGFkZGluZzogMCAuNHJlbQp9CgouYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93LAouYnMtdG9vbHRpcC1yaWdodCAuYXJyb3cgewogICAgbGVmdDogMDsKICAgIHdpZHRoOiAuNHJlbTsKICAgIGhlaWdodDogLjhyZW0KfQoKLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdzo6YmVmb3JlLAouYnMtdG9vbHRpcC1yaWdodCAuYXJyb3c6OmJlZm9yZSB7CiAgICByaWdodDogMDsKICAgIGJvcmRlci13aWR0aDogLjRyZW0gLjRyZW0gLjRyZW0gMDsKICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAwMAp9CgouYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dLAouYnMtdG9vbHRpcC1ib3R0b20gewogICAgcGFkZGluZzogLjRyZW0gMAp9CgouYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdywKLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdyB7CiAgICB0b3A6IDAKfQoKLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3c6OmJlZm9yZSwKLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlIHsKICAgIGJvdHRvbTogMDsKICAgIGJvcmRlci13aWR0aDogMCAuNHJlbSAuNHJlbTsKICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDAKfQoKLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49bGVmdF0sCi5icy10b29sdGlwLWxlZnQgewogICAgcGFkZGluZzogMCAuNHJlbQp9CgouYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3csCi5icy10b29sdGlwLWxlZnQgLmFycm93IHsKICAgIHJpZ2h0OiAwOwogICAgd2lkdGg6IC40cmVtOwogICAgaGVpZ2h0OiAuOHJlbQp9CgouYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3c6OmJlZm9yZSwKLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3c6OmJlZm9yZSB7CiAgICBsZWZ0OiAwOwogICAgYm9yZGVyLXdpZHRoOiAuNHJlbSAwIC40cmVtIC40cmVtOwogICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDAKfQoKLnRvb2x0aXAtaW5uZXIgewogICAgbWF4LXdpZHRoOiAyMDBweDsKICAgIHBhZGRpbmc6IC4yNXJlbSAuNXJlbTsKICAgIGNvbG9yOiAjZmZmOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjI1cmVtOwogICAgYm9yZGVyLXJhZGl1czogLjI1cmVtCn0KCi5wb3BvdmVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAxMDYwOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXgtd2lkdGg6IDI3NnB4OwogICAgZm9udC1mYW1pbHk6IFBvcHBpbnMsIE1pcnphLCBzYW5zLXNlcmlmOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgdGV4dC1hbGlnbjogc3RhcnQ7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICB0ZXh0LXNoYWRvdzogbm9uZTsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsKICAgIHdvcmQtYnJlYWs6IG5vcm1hbDsKICAgIHdvcmQtc3BhY2luZzogbm9ybWFsOwogICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsKICAgIGxpbmUtYnJlYWs6IGF1dG87CiAgICBmb250LXNpemU6IC44NzVyZW07CiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OwogICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjIpOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuM3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4zcmVtOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIC4yNXJlbSAuNXJlbSByZ2JhKDAsIDAsIDAsIC4yKTsKICAgIGJveC1zaGFkb3c6IDAgLjI1cmVtIC41cmVtIHJnYmEoMCwgMCwgMCwgLjIpCn0KCi5wb3BvdmVyIC5hcnJvdyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxcmVtOwogICAgaGVpZ2h0OiAuNXJlbTsKICAgIG1hcmdpbjogMCAuM3JlbQp9CgoucG9wb3ZlciAuYXJyb3c6OmFmdGVyLAoucG9wb3ZlciAuYXJyb3c6OmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbnRlbnQ6ICIiOwogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1zdHlsZTogc29saWQKfQoKLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSwKLmJzLXBvcG92ZXItdG9wIHsKICAgIG1hcmdpbi1ib3R0b206IC41cmVtCn0KCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93LAouYnMtcG9wb3Zlci10b3AgLmFycm93IHsKICAgIGJvdHRvbTogY2FsYygoLjVyZW0gKyAxcHgpICogLTEpCn0KCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93OjphZnRlciwKLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmJlZm9yZSwKLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YWZ0ZXIsCi5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmJlZm9yZSB7CiAgICBib3JkZXItd2lkdGg6IC41cmVtIC41cmVtIDAKfQoKLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmJlZm9yZSwKLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YmVmb3JlIHsKICAgIGJvdHRvbTogMDsKICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KQp9CgouYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj10b3BdIC5hcnJvdzo6YWZ0ZXIsCi5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmFmdGVyIHsKICAgIGJvdHRvbTogMXB4OwogICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZgp9CgouYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0sCi5icy1wb3BvdmVyLXJpZ2h0IHsKICAgIG1hcmdpbi1sZWZ0OiAuNXJlbQp9CgouYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93LAouYnMtcG9wb3Zlci1yaWdodCAuYXJyb3cgewogICAgbGVmdDogY2FsYygoLjVyZW0gKyAxcHgpICogLTEpOwogICAgd2lkdGg6IC41cmVtOwogICAgaGVpZ2h0OiAxcmVtOwogICAgbWFyZ2luOiAuM3JlbSAwCn0KCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSAuYXJyb3c6OmFmdGVyLAouYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjpiZWZvcmUsCi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YWZ0ZXIsCi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YmVmb3JlIHsKICAgIGJvcmRlci13aWR0aDogLjVyZW0gLjVyZW0gLjVyZW0gMAp9CgouYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjpiZWZvcmUsCi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YmVmb3JlIHsKICAgIGxlZnQ6IDA7CiAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KQp9CgouYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjphZnRlciwKLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjphZnRlciB7CiAgICBsZWZ0OiAxcHg7CiAgICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmYKfQoKLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSwKLmJzLXBvcG92ZXItYm90dG9tIHsKICAgIG1hcmdpbi10b3A6IC41cmVtCn0KCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93LAouYnMtcG9wb3Zlci1ib3R0b20gLmFycm93IHsKICAgIHRvcDogY2FsYygoLjVyZW0gKyAxcHgpICogLTEpCn0KCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93OjphZnRlciwKLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3c6OmJlZm9yZSwKLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdzo6YWZ0ZXIsCi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSB7CiAgICBib3JkZXItd2lkdGg6IDAgLjVyZW0gLjVyZW0gLjVyZW0KfQoKLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3c6OmJlZm9yZSwKLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdzo6YmVmb3JlIHsKICAgIHRvcDogMDsKICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KQp9CgouYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdzo6YWZ0ZXIsCi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmFmdGVyIHsKICAgIHRvcDogMXB4OwogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZgp9CgouYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLAouYnMtcG9wb3Zlci1ib3R0b20gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgbGVmdDogNTAlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogMXJlbTsKICAgIG1hcmdpbi1sZWZ0OiAtLjVyZW07CiAgICBjb250ZW50OiAiIjsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjdmN2Y3Cn0KCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdLAouYnMtcG9wb3Zlci1sZWZ0IHsKICAgIG1hcmdpbi1yaWdodDogLjVyZW0KfQoKLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gLmFycm93LAouYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdyB7CiAgICByaWdodDogY2FsYygoLjVyZW0gKyAxcHgpICogLTEpOwogICAgd2lkdGg6IC41cmVtOwogICAgaGVpZ2h0OiAxcmVtOwogICAgbWFyZ2luOiAuM3JlbSAwCn0KCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdzo6YWZ0ZXIsCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdzo6YmVmb3JlLAouYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YWZ0ZXIsCi5icy1wb3BvdmVyLWxlZnQgLmFycm93OjpiZWZvcmUgewogICAgYm9yZGVyLXdpZHRoOiAuNXJlbSAwIC41cmVtIC41cmVtCn0KCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdzo6YmVmb3JlLAouYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YmVmb3JlIHsKICAgIHJpZ2h0OiAwOwogICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KQp9CgouYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3c6OmFmdGVyLAouYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YWZ0ZXIgewogICAgcmlnaHQ6IDFweDsKICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmCn0KCi5wb3BvdmVyLWhlYWRlciB7CiAgICBwYWRkaW5nOiAuNXJlbSAuNzVyZW07CiAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgZm9udC1zaXplOiAxcmVtOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYmViZWI7CiAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoLjNyZW0gLSAxcHgpOwogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYyguM3JlbSAtIDFweCk7CiAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKC4zcmVtIC0gMXB4KTsKICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKC4zcmVtIC0gMXB4KQp9CgoucG9wb3Zlci1oZWFkZXI6ZW1wdHkgewogICAgZGlzcGxheTogbm9uZQp9CgoucG9wb3Zlci1ib2R5IHsKICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTsKICAgIGNvbG9yOiAjMjEyNTI5Cn0KCi5jYXJvdXNlbCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLmNhcm91c2VsLWlubmVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbgp9CgouY2Fyb3VzZWwtaXRlbSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBub25lOwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgd2lkdGg6IDEwMCU7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC42cyBlYXNlOwogICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjZzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIC42cyBlYXNlOwogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwcHg7CiAgICBwZXJzcGVjdGl2ZTogMTAwMHB4Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSkgewogICAgLmNhcm91c2VsLWl0ZW0gewogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTsKICAgICAgICAtby10cmFuc2l0aW9uOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IG5vbmUKICAgIH0KfQoKLmNhcm91c2VsLWl0ZW0tbmV4dCwKLmNhcm91c2VsLWl0ZW0tcHJldiwKLmNhcm91c2VsLWl0ZW0uYWN0aXZlIHsKICAgIGRpc3BsYXk6IGJsb2NrCn0KCi5jYXJvdXNlbC1pdGVtLW5leHQsCi5jYXJvdXNlbC1pdGVtLXByZXYgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwCn0KCi5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LAouY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApCn0KCkBzdXBwb3J0cyAoKC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSBvciAodHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSkgewogICAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsCiAgICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApCiAgICB9Cn0KCi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCwKLmNhcm91c2VsLWl0ZW0tbmV4dCB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkKfQoKQHN1cHBvcnRzICgoLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2QpIG9yICh0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2QpKSB7CiAgICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQsCiAgICAuY2Fyb3VzZWwtaXRlbS1uZXh0IHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKQogICAgfQp9CgouYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCwKLmNhcm91c2VsLWl0ZW0tcHJldiB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkKfQoKQHN1cHBvcnRzICgoLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2QpIG9yICh0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2QpKSB7CiAgICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCwKICAgIC5jYXJvdXNlbC1pdGVtLXByZXYgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkKICAgIH0KfQoKLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogLjZzOwogICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogLjZzOwogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjZzOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OwogICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHkKfQoKLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsCi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCwKLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIHsKICAgIG9wYWNpdHk6IDEKfQoKLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsCi5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7CiAgICBvcGFjaXR5OiAwCn0KCi5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LAouY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcHJldiwKLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tbmV4dCwKLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tcHJldiwKLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKQp9CgpAc3VwcG9ydHMgKCgtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZCkgb3IgKHRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZCkpIHsKICAgIC5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LAogICAgLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXByZXYsCiAgICAuY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1uZXh0LAogICAgLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tcHJldiwKICAgIC5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkKICAgIH0KfQoKLmNhcm91c2VsLWNvbnRyb2wtbmV4dCwKLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBib3R0b206IDA7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHdpZHRoOiAxNSU7CiAgICBjb2xvcjogI2ZmZjsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG9wYWNpdHk6IC41Cn0KCi5jYXJvdXNlbC1jb250cm9sLW5leHQ6Zm9jdXMsCi5jYXJvdXNlbC1jb250cm9sLW5leHQ6aG92ZXIsCi5jYXJvdXNlbC1jb250cm9sLXByZXY6Zm9jdXMsCi5jYXJvdXNlbC1jb250cm9sLXByZXY6aG92ZXIgewogICAgY29sb3I6ICNmZmY7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBvdXRsaW5lOiAwOwogICAgb3BhY2l0eTogLjkKfQoKLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7CiAgICBsZWZ0OiAwCn0KCi5jYXJvdXNlbC1jb250cm9sLW5leHQgewogICAgcmlnaHQ6IDAKfQoKLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLAouY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24gewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IDIwcHg7CiAgICBoZWlnaHQ6IDIwcHg7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsKICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7CiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJQp9CgouY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24gewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzRSUzQy9zdmclM0UiKQp9CgouY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24gewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzRSUzQy9zdmclM0UiKQp9CgouY2Fyb3VzZWwtaW5kaWNhdG9ycyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogMDsKICAgIGJvdHRvbTogMTBweDsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAxNTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgcGFkZGluZy1sZWZ0OiAwOwogICAgbWFyZ2luLXJpZ2h0OiAxNSU7CiAgICBtYXJnaW4tbGVmdDogMTUlOwogICAgbGlzdC1zdHlsZTogbm9uZQp9CgouY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgLXdlYmtpdC1mbGV4OiAwIDEgYXV0bzsKICAgIC1tcy1mbGV4OiAwIDEgYXV0bzsKICAgIGZsZXg6IDAgMSBhdXRvOwogICAgd2lkdGg6IDMwcHg7CiAgICBoZWlnaHQ6IDNweDsKICAgIG1hcmdpbi1yaWdodDogM3B4OwogICAgbWFyZ2luLWxlZnQ6IDNweDsKICAgIHRleHQtaW5kZW50OiAtOTk5cHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KQp9CgouY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaTo6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogLTEwcHg7CiAgICBsZWZ0OiAwOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwcHg7CiAgICBjb250ZW50OiAiIgp9CgouY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaTo6YWZ0ZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYm90dG9tOiAtMTBweDsKICAgIGxlZnQ6IDA7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTBweDsKICAgIGNvbnRlbnQ6ICIiCn0KCi5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmUgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZgp9CgouY2Fyb3VzZWwtY2FwdGlvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogMTUlOwogICAgYm90dG9tOiAyMHB4OwogICAgbGVmdDogMTUlOwogICAgei1pbmRleDogMTA7CiAgICBwYWRkaW5nLXRvcDogMjBweDsKICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OwogICAgY29sb3I6ICNmZmY7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIKfQoKLmFsaWduLWJhc2VsaW5lIHsKICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50Cn0KCi5hbGlnbi10b3AgewogICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50Cn0KCi5hbGlnbi1taWRkbGUgewogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50Cn0KCi5hbGlnbi1ib3R0b20gewogICAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50Cn0KCi5hbGlnbi10ZXh0LWJvdHRvbSB7CiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudAp9CgouYWxpZ24tdGV4dC10b3AgewogICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQKfQoKLmJnLXByaW1hcnkgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzA3NGE1NSAhaW1wb3J0YW50Cn0KCmEuYmctcHJpbWFyeTpmb2N1cywKYS5iZy1wcmltYXJ5OmhvdmVyLApidXR0b24uYmctcHJpbWFyeTpmb2N1cywKYnV0dG9uLmJnLXByaW1hcnk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzMyMmQ3ZSAhaW1wb3J0YW50Cn0KCi5iZy1zZWNvbmRhcnkgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzA2YjU5MCAhaW1wb3J0YW50Cn0KCmEuYmctc2Vjb25kYXJ5OmZvY3VzLAphLmJnLXNlY29uZGFyeTpob3ZlciwKYnV0dG9uLmJnLXNlY29uZGFyeTpmb2N1cywKYnV0dG9uLmJnLXNlY29uZGFyeTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQ4NDY5ICFpbXBvcnRhbnQKfQoKLmJnLXN1Y2Nlc3MgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzM1YjUzZSAhaW1wb3J0YW50Cn0KCmEuYmctc3VjY2Vzczpmb2N1cywKYS5iZy1zdWNjZXNzOmhvdmVyLApidXR0b24uYmctc3VjY2Vzczpmb2N1cywKYnV0dG9uLmJnLXN1Y2Nlc3M6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzI5OGUzMCAhaW1wb3J0YW50Cn0KCi5iZy1pbmZvIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzNzdkZmYgIWltcG9ydGFudAp9CgphLmJnLWluZm86Zm9jdXMsCmEuYmctaW5mbzpob3ZlciwKYnV0dG9uLmJnLWluZm86Zm9jdXMsCmJ1dHRvbi5iZy1pbmZvOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwNDVjZmYgIWltcG9ydGFudAp9CgouYmctd2FybmluZyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZjAwICFpbXBvcnRhbnQKfQoKYS5iZy13YXJuaW5nOmZvY3VzLAphLmJnLXdhcm5pbmc6aG92ZXIsCmJ1dHRvbi5iZy13YXJuaW5nOmZvY3VzLApidXR0b24uYmctd2FybmluZzpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YzAwICFpbXBvcnRhbnQKfQoKLmJnLWRhbmdlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTIzNjM2ICFpbXBvcnRhbnQKfQoKYS5iZy1kYW5nZXI6Zm9jdXMsCmEuYmctZGFuZ2VyOmhvdmVyLApidXR0b24uYmctZGFuZ2VyOmZvY3VzLApidXR0b24uYmctZGFuZ2VyOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjODFkMWQgIWltcG9ydGFudAp9CgouYmctbGlnaHQgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50Cn0KCmEuYmctbGlnaHQ6Zm9jdXMsCmEuYmctbGlnaHQ6aG92ZXIsCmJ1dHRvbi5iZy1saWdodDpmb2N1cywKYnV0dG9uLmJnLWxpZ2h0OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTYgIWltcG9ydGFudAp9CgouYmctZGFyayB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyNDI4ICFpbXBvcnRhbnQKfQoKYS5iZy1kYXJrOmZvY3VzLAphLmJnLWRhcms6aG92ZXIsCmJ1dHRvbi5iZy1kYXJrOmZvY3VzLApidXR0b24uYmctZGFyazpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDkwYjBjICFpbXBvcnRhbnQKfQoKLmJnLXdoaXRlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudAp9CgouYmctdHJhbnNwYXJlbnQgewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudAp9CgouYm9yZGVyIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNGU4ZWQgIWltcG9ydGFudAp9CgouYm9yZGVyLXRvcCB7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZThlZCAhaW1wb3J0YW50Cn0KCi5ib3JkZXItcmlnaHQgewogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U0ZThlZCAhaW1wb3J0YW50Cn0KCi5ib3JkZXItYm90dG9tIHsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTRlOGVkICFpbXBvcnRhbnQKfQoKLmJvcmRlci1sZWZ0IHsKICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U0ZThlZCAhaW1wb3J0YW50Cn0KCi5ib3JkZXItMCB7CiAgICBib3JkZXI6IDAgIWltcG9ydGFudAp9CgouYm9yZGVyLXRvcC0wIHsKICAgIGJvcmRlci10b3A6IDAgIWltcG9ydGFudAp9CgouYm9yZGVyLXJpZ2h0LTAgewogICAgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQKfQoKLmJvcmRlci1ib3R0b20tMCB7CiAgICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQKfQoKLmJvcmRlci1sZWZ0LTAgewogICAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudAp9CgouYm9yZGVyLXByaW1hcnkgewogICAgYm9yZGVyLWNvbG9yOiAjMDc0YTU1ICFpbXBvcnRhbnQKfQoKLmJvcmRlci1zZWNvbmRhcnkgewogICAgYm9yZGVyLWNvbG9yOiAjMDZiNTkwICFpbXBvcnRhbnQKfQoKLmJvcmRlci1zdWNjZXNzIHsKICAgIGJvcmRlci1jb2xvcjogIzM1YjUzZSAhaW1wb3J0YW50Cn0KCi5ib3JkZXItaW5mbyB7CiAgICBib3JkZXItY29sb3I6ICMzNzdkZmYgIWltcG9ydGFudAp9CgouYm9yZGVyLXdhcm5pbmcgewogICAgYm9yZGVyLWNvbG9yOiAjZmZhZjAwICFpbXBvcnRhbnQKfQoKLmJvcmRlci1kYW5nZXIgewogICAgYm9yZGVyLWNvbG9yOiAjZTIzNjM2ICFpbXBvcnRhbnQKfQoKLmJvcmRlci1saWdodCB7CiAgICBib3JkZXItY29sb3I6ICNmZmYgIWltcG9ydGFudAp9CgouYm9yZGVyLWRhcmsgewogICAgYm9yZGVyLWNvbG9yOiAjMjAyNDI4ICFpbXBvcnRhbnQKfQoKLmJvcmRlci13aGl0ZSB7CiAgICBib3JkZXItY29sb3I6ICNmZmYgIWltcG9ydGFudAp9Cgoucm91bmRlZCB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC4yNjZyZW0gIWltcG9ydGFudDsKICAgIGJvcmRlci1yYWRpdXM6IC4yNjZyZW0gIWltcG9ydGFudAp9Cgoucm91bmRlZC10b3AgewogICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuMjY2cmVtICFpbXBvcnRhbnQ7CiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuMjY2cmVtICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuMjY2cmVtICFpbXBvcnRhbnQ7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjI2NnJlbSAhaW1wb3J0YW50Cn0KCi5yb3VuZGVkLXJpZ2h0IHsKICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IC4yNjZyZW0gIWltcG9ydGFudDsKICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuMjY2cmVtICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuMjY2cmVtICFpbXBvcnRhbnQ7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogLjI2NnJlbSAhaW1wb3J0YW50Cn0KCi5yb3VuZGVkLWJvdHRvbSB7CiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuMjY2cmVtICFpbXBvcnRhbnQ7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogLjI2NnJlbSAhaW1wb3J0YW50OwogICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAuMjY2cmVtICFpbXBvcnRhbnQ7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAuMjY2cmVtICFpbXBvcnRhbnQKfQoKLnJvdW5kZWQtbGVmdCB7CiAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IC4yNjZyZW0gIWltcG9ydGFudDsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IC4yNjZyZW0gIWltcG9ydGFudDsKICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjI2NnJlbSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjI2NnJlbSAhaW1wb3J0YW50Cn0KCi5yb3VuZGVkLWNpcmNsZSB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50OwogICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQKfQoKLnJvdW5kZWQtMCB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDsKICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudAp9CgouY2xlYXJmaXg6OmFmdGVyIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgY2xlYXI6IGJvdGg7CiAgICBjb250ZW50OiAiIgp9CgouZC1ub25lIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudAp9CgouZC1pbmxpbmUgewogICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQKfQoKLmQtaW5saW5lLWJsb2NrIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50Cn0KCi5kLWJsb2NrIHsKICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQKfQoKLmQtdGFibGUgewogICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudAp9CgouZC10YWJsZS1yb3cgewogICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQKfQoKLmQtdGFibGUtY2VsbCB7CiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQKfQoKLmQtZmxleCB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4ICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50OwogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Cn0KCi5kLWlubGluZS1mbGV4IHsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveCAhaW1wb3J0YW50OwogICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleCAhaW1wb3J0YW50OwogICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94ICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50Cn0KCkBtZWRpYSAobWluLXdpZHRoOjU3NnB4KSB7CiAgICAuZC1zbS1ub25lIHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQKICAgIH0KICAgIC5kLXNtLWlubGluZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQKICAgIH0KICAgIC5kLXNtLWlubGluZS1ibG9jayB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQKICAgIH0KICAgIC5kLXNtLWJsb2NrIHsKICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50CiAgICB9CiAgICAuZC1zbS10YWJsZSB7CiAgICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudAogICAgfQogICAgLmQtc20tdGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudAogICAgfQogICAgLmQtc20tdGFibGUtY2VsbCB7CiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50CiAgICB9CiAgICAuZC1zbS1mbGV4IHsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7CiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50CiAgICB9CiAgICAuZC1zbS1pbmxpbmUtZmxleCB7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94ICFpbXBvcnRhbnQ7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQKICAgIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIHsKICAgIC5kLW1kLW5vbmUgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudAogICAgfQogICAgLmQtbWQtaW5saW5lIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudAogICAgfQogICAgLmQtbWQtaW5saW5lLWJsb2NrIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudAogICAgfQogICAgLmQtbWQtYmxvY2sgewogICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQKICAgIH0KICAgIC5kLW1kLXRhYmxlIHsKICAgICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50CiAgICB9CiAgICAuZC1tZC10YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50CiAgICB9CiAgICAuZC1tZC10YWJsZS1jZWxsIHsKICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQKICAgIH0KICAgIC5kLW1kLWZsZXggewogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94ICFpbXBvcnRhbnQ7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4ICFpbXBvcnRhbnQ7CiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQKICAgIH0KICAgIC5kLW1kLWlubGluZS1mbGV4IHsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3ggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4ICFpbXBvcnRhbnQ7CiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94ICFpbXBvcnRhbnQ7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudAogICAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgewogICAgLmQtbGctbm9uZSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50CiAgICB9CiAgICAuZC1sZy1pbmxpbmUgewogICAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50CiAgICB9CiAgICAuZC1sZy1pbmxpbmUtYmxvY2sgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50CiAgICB9CiAgICAuZC1sZy1ibG9jayB7CiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudAogICAgfQogICAgLmQtbGctdGFibGUgewogICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQKICAgIH0KICAgIC5kLWxnLXRhYmxlLXJvdyB7CiAgICAgICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQKICAgIH0KICAgIC5kLWxnLXRhYmxlLWNlbGwgewogICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudAogICAgfQogICAgLmQtbGctZmxleCB7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudAogICAgfQogICAgLmQtbGctaW5saW5lLWZsZXggewogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50CiAgICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOjEyMDBweCkgewogICAgLmQteGwtbm9uZSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50CiAgICB9CiAgICAuZC14bC1pbmxpbmUgewogICAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50CiAgICB9CiAgICAuZC14bC1pbmxpbmUtYmxvY2sgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50CiAgICB9CiAgICAuZC14bC1ibG9jayB7CiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudAogICAgfQogICAgLmQteGwtdGFibGUgewogICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQKICAgIH0KICAgIC5kLXhsLXRhYmxlLXJvdyB7CiAgICAgICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQKICAgIH0KICAgIC5kLXhsLXRhYmxlLWNlbGwgewogICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudAogICAgfQogICAgLmQteGwtZmxleCB7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudAogICAgfQogICAgLmQteGwtaW5saW5lLWZsZXggewogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50CiAgICB9Cn0KCkBtZWRpYSBwcmludCB7CiAgICAuZC1wcmludC1ub25lIHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQKICAgIH0KICAgIC5kLXByaW50LWlubGluZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQKICAgIH0KICAgIC5kLXByaW50LWlubGluZS1ibG9jayB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQKICAgIH0KICAgIC5kLXByaW50LWJsb2NrIHsKICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50CiAgICB9CiAgICAuZC1wcmludC10YWJsZSB7CiAgICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudAogICAgfQogICAgLmQtcHJpbnQtdGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudAogICAgfQogICAgLmQtcHJpbnQtdGFibGUtY2VsbCB7CiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50CiAgICB9CiAgICAuZC1wcmludC1mbGV4IHsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7CiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50CiAgICB9CiAgICAuZC1wcmludC1pbmxpbmUtZmxleCB7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94ICFpbXBvcnRhbnQ7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQKICAgIH0KfQoKLmVtYmVkLXJlc3BvbnNpdmUgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogMTAwJTsKICAgIHBhZGRpbmc6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuCn0KCi5lbWJlZC1yZXNwb25zaXZlOjpiZWZvcmUgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBjb250ZW50OiAiIgp9CgouZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLAouZW1iZWQtcmVzcG9uc2l2ZSBlbWJlZCwKLmVtYmVkLXJlc3BvbnNpdmUgaWZyYW1lLAouZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsCi5lbWJlZC1yZXNwb25zaXZlIHZpZGVvIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGJvdHRvbTogMDsKICAgIGxlZnQ6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJvcmRlcjogMAp9CgouZW1iZWQtcmVzcG9uc2l2ZS0yMWJ5OTo6YmVmb3JlIHsKICAgIHBhZGRpbmctdG9wOiA0Mi44NTcxNCUKfQoKLmVtYmVkLXJlc3BvbnNpdmUtMTZieTk6OmJlZm9yZSB7CiAgICBwYWRkaW5nLXRvcDogNTYuMjUlCn0KCi5lbWJlZC1yZXNwb25zaXZlLTRieTM6OmJlZm9yZSB7CiAgICBwYWRkaW5nLXRvcDogNzUlCn0KCi5lbWJlZC1yZXNwb25zaXZlLTFieTE6OmJlZm9yZSB7CiAgICBwYWRkaW5nLXRvcDogMTAwJQp9CgouZmxleC1yb3cgewogICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50OwogICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OwogICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50Cn0KCi5mbGV4LWNvbHVtbiB7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50OwogICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50Cn0KCi5mbGV4LXJvdy1yZXZlcnNlIHsKICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbCAhaW1wb3J0YW50OwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQKfQoKLmZsZXgtY29sdW1uLXJldmVyc2UgewogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50OwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQKfQoKLmZsZXgtd3JhcCB7CiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OwogICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQKfQoKLmZsZXgtbm93cmFwIHsKICAgIC13ZWJraXQtZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsKICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OwogICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudAp9CgouZmxleC13cmFwLXJldmVyc2UgewogICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50Cn0KCi5mbGV4LWZpbGwgewogICAgLXdlYmtpdC1ib3gtZmxleDogMSAhaW1wb3J0YW50OwogICAgLXdlYmtpdC1mbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OwogICAgLW1zLWZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7CiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50Cn0KCi5mbGV4LWdyb3ctMCB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAwICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtcG9zaXRpdmU6IDAgIWltcG9ydGFudDsKICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50Cn0KCi5mbGV4LWdyb3ctMSB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAxICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtcG9zaXRpdmU6IDEgIWltcG9ydGFudDsKICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50Cn0KCi5mbGV4LXNocmluay0wIHsKICAgIC13ZWJraXQtZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsKICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwICFpbXBvcnRhbnQ7CiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50Cn0KCi5mbGV4LXNocmluay0xIHsKICAgIC13ZWJraXQtZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsKICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAxICFpbXBvcnRhbnQ7CiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50Cn0KCi5qdXN0aWZ5LWNvbnRlbnQtc3RhcnQgewogICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQgIWltcG9ydGFudDsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAtbXMtZmxleC1wYWNrOiBzdGFydCAhaW1wb3J0YW50OwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQKfQoKLmp1c3RpZnktY29udGVudC1lbmQgewogICAgLXdlYmtpdC1ib3gtcGFjazogZW5kICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsKICAgIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50OwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50Cn0KCi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50OwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50Cn0KCi5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7CiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtcGFjazoganVzdGlmeSAhaW1wb3J0YW50OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQKfQoKLmp1c3RpZnktY29udGVudC1hcm91bmQgewogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudAp9CgouYWxpZ24taXRlbXMtc3RhcnQgewogICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQKfQoKLmFsaWduLWl0ZW1zLWVuZCB7CiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50OwogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQKfQoKLmFsaWduLWl0ZW1zLWNlbnRlciB7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudAp9CgouYWxpZ24taXRlbXMtYmFzZWxpbmUgewogICAgLXdlYmtpdC1ib3gtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudAp9CgouYWxpZ24taXRlbXMtc3RyZXRjaCB7CiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQKfQoKLmFsaWduLWNvbnRlbnQtc3RhcnQgewogICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQKfQoKLmFsaWduLWNvbnRlbnQtZW5kIHsKICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsKICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50Cn0KCi5hbGlnbi1jb250ZW50LWNlbnRlciB7CiAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50Cn0KCi5hbGlnbi1jb250ZW50LWJldHdlZW4gewogICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7CiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsKICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudAp9CgouYWxpZ24tY29udGVudC1hcm91bmQgewogICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsKICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50OwogICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQKfQoKLmFsaWduLWNvbnRlbnQtc3RyZXRjaCB7CiAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50Cn0KCi5hbGlnbi1zZWxmLWF1dG8gewogICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBhdXRvICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQKfQoKLmFsaWduLXNlbGYtc3RhcnQgewogICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50OwogICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50Cn0KCi5hbGlnbi1zZWxmLWVuZCB7CiAgICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDsKICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQKfQoKLmFsaWduLXNlbGYtY2VudGVyIHsKICAgIC13ZWJraXQtYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50Cn0KCi5hbGlnbi1zZWxmLWJhc2VsaW5lIHsKICAgIC13ZWJraXQtYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsKICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50Cn0KCi5hbGlnbi1zZWxmLXN0cmV0Y2ggewogICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQKfQoKQG1lZGlhIChtaW4td2lkdGg6NTc2cHgpIHsKICAgIC5mbGV4LXNtLXJvdyB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWwgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudAogICAgfQogICAgLmZsZXgtc20tY29sdW1uIHsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWwgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudAogICAgfQogICAgLmZsZXgtc20tcm93LXJldmVyc2UgewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxleC1zbS1jb2x1bW4tcmV2ZXJzZSB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxleC1zbS13cmFwIHsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudAogICAgfQogICAgLmZsZXgtc20tbm93cmFwIHsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudAogICAgfQogICAgLmZsZXgtc20td3JhcC1yZXZlcnNlIHsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudAogICAgfQogICAgLmZsZXgtc20tZmlsbCB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMSAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsKICAgICAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxleC1zbS1ncm93LTAgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDAgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAwICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LXNtLWdyb3ctMSB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMSAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDEgIWltcG9ydGFudDsKICAgICAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudAogICAgfQogICAgLmZsZXgtc20tc2hyaW5rLTAgewogICAgICAgIC13ZWJraXQtZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMCAhaW1wb3J0YW50OwogICAgICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LXNtLXNocmluay0xIHsKICAgICAgICAtd2Via2l0LWZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDEgIWltcG9ydGFudDsKICAgICAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50CiAgICB9CiAgICAuanVzdGlmeS1jb250ZW50LXNtLXN0YXJ0IHsKICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudAogICAgfQogICAgLmp1c3RpZnktY29udGVudC1zbS1lbmQgewogICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudAogICAgfQogICAgLmp1c3RpZnktY29udGVudC1zbS1jZW50ZXIgewogICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50CiAgICB9CiAgICAuanVzdGlmeS1jb250ZW50LXNtLWJldHdlZW4gewogICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudAogICAgfQogICAgLmp1c3RpZnktY29udGVudC1zbS1hcm91bmQgewogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWl0ZW1zLXNtLXN0YXJ0IHsKICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWl0ZW1zLXNtLWVuZCB7CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24taXRlbXMtc20tY2VudGVyIHsKICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWl0ZW1zLXNtLWJhc2VsaW5lIHsKICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24taXRlbXMtc20tc3RyZXRjaCB7CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24tY29udGVudC1zbS1zdGFydCB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydCAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWNvbnRlbnQtc20tZW5kIHsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24tY29udGVudC1zbS1jZW50ZXIgewogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWNvbnRlbnQtc20tYmV0d2VlbiB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24tY29udGVudC1zbS1hcm91bmQgewogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1jb250ZW50LXNtLXN0cmV0Y2ggewogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLXNlbGYtc20tYXV0byB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLXNlbGYtc20tc3RhcnQgewogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24tc2VsZi1zbS1lbmQgewogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24tc2VsZi1zbS1jZW50ZXIgewogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1zZWxmLXNtLWJhc2VsaW5lIHsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24tc2VsZi1zbS1zdHJldGNoIHsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50CiAgICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7CiAgICAuZmxleC1tZC1yb3cgewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LW1kLWNvbHVtbiB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LW1kLXJvdy1yZXZlcnNlIHsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWwgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2UgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudAogICAgfQogICAgLmZsZXgtbWQtY29sdW1uLXJldmVyc2UgewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2UgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudAogICAgfQogICAgLmZsZXgtbWQtd3JhcCB7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LW1kLW5vd3JhcCB7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OwogICAgICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LW1kLXdyYXAtcmV2ZXJzZSB7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LW1kLWZpbGwgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDEgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudAogICAgfQogICAgLmZsZXgtbWQtZ3Jvdy0wIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1mbGV4LWdyb3c6IDAgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMCAhaW1wb3J0YW50OwogICAgICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxleC1tZC1ncm93LTEgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDEgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LW1kLXNocmluay0wIHsKICAgICAgICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDAgIWltcG9ydGFudDsKICAgICAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxleC1tZC1zaHJpbmstMSB7CiAgICAgICAgLXdlYmtpdC1mbGV4LXNocmluazogMSAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAxICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudAogICAgfQogICAgLmp1c3RpZnktY29udGVudC1tZC1zdGFydCB7CiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQKICAgIH0KICAgIC5qdXN0aWZ5LWNvbnRlbnQtbWQtZW5kIHsKICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQgIWltcG9ydGFudDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQKICAgIH0KICAgIC5qdXN0aWZ5LWNvbnRlbnQtbWQtY2VudGVyIHsKICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudAogICAgfQogICAgLmp1c3RpZnktY29udGVudC1tZC1iZXR3ZWVuIHsKICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQKICAgIH0KICAgIC5qdXN0aWZ5LWNvbnRlbnQtbWQtYXJvdW5kIHsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1pdGVtcy1tZC1zdGFydCB7CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1pdGVtcy1tZC1lbmQgewogICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWl0ZW1zLW1kLWNlbnRlciB7CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1pdGVtcy1tZC1iYXNlbGluZSB7CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWl0ZW1zLW1kLXN0cmV0Y2ggewogICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWNvbnRlbnQtbWQtc3RhcnQgewogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1jb250ZW50LW1kLWVuZCB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWNvbnRlbnQtbWQtY2VudGVyIHsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1jb250ZW50LW1kLWJldHdlZW4gewogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeSAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWNvbnRlbnQtbWQtYXJvdW5kIHsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24tY29udGVudC1tZC1zdHJldGNoIHsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1zZWxmLW1kLWF1dG8gewogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGF1dG8gIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1zZWxmLW1kLXN0YXJ0IHsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLXNlbGYtbWQtZW5kIHsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLXNlbGYtbWQtY2VudGVyIHsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24tc2VsZi1tZC1iYXNlbGluZSB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLXNlbGYtbWQtc3RyZXRjaCB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudAogICAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgewogICAgLmZsZXgtbGctcm93IHsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWwgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxleC1sZy1jb2x1bW4gewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxleC1sZy1yb3ctcmV2ZXJzZSB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LWxnLWNvbHVtbi1yZXZlcnNlIHsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LWxnLXdyYXAgewogICAgICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OwogICAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxleC1sZy1ub3dyYXAgewogICAgICAgIC13ZWJraXQtZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsKICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxleC1sZy13cmFwLXJldmVyc2UgewogICAgICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxleC1sZy1maWxsIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OwogICAgICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LWxnLWdyb3ctMCB7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDAgIWltcG9ydGFudDsKICAgICAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudAogICAgfQogICAgLmZsZXgtbGctZ3Jvdy0xIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1mbGV4LWdyb3c6IDEgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMSAhaW1wb3J0YW50OwogICAgICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxleC1sZy1zaHJpbmstMCB7CiAgICAgICAgLXdlYmtpdC1mbGV4LXNocmluazogMCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudAogICAgfQogICAgLmZsZXgtbGctc2hyaW5rLTEgewogICAgICAgIC13ZWJraXQtZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMSAhaW1wb3J0YW50OwogICAgICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQKICAgIH0KICAgIC5qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnQgewogICAgICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydCAhaW1wb3J0YW50OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50CiAgICB9CiAgICAuanVzdGlmeS1jb250ZW50LWxnLWVuZCB7CiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogZW5kICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kICFpbXBvcnRhbnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50CiAgICB9CiAgICAuanVzdGlmeS1jb250ZW50LWxnLWNlbnRlciB7CiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQKICAgIH0KICAgIC5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlbiB7CiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeSAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeSAhaW1wb3J0YW50OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50CiAgICB9CiAgICAuanVzdGlmeS1jb250ZW50LWxnLWFyb3VuZCB7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24taXRlbXMtbGctc3RhcnQgewogICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24taXRlbXMtbGctZW5kIHsKICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1pdGVtcy1sZy1jZW50ZXIgewogICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24taXRlbXMtbGctYmFzZWxpbmUgewogICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1pdGVtcy1sZy1zdHJldGNoIHsKICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1jb250ZW50LWxnLXN0YXJ0IHsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24tY29udGVudC1sZy1lbmQgewogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZCAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1jb250ZW50LWxnLWNlbnRlciB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24tY29udGVudC1sZy1iZXR3ZWVuIHsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1jb250ZW50LWxnLWFyb3VuZCB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWNvbnRlbnQtbGctc3RyZXRjaCB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24tc2VsZi1sZy1hdXRvIHsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24tc2VsZi1sZy1zdGFydCB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1zZWxmLWxnLWVuZCB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZCAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1zZWxmLWxnLWNlbnRlciB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLXNlbGYtbGctYmFzZWxpbmUgewogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1zZWxmLWxnLXN0cmV0Y2ggewogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQKICAgIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KSB7CiAgICAuZmxleC14bC1yb3cgewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LXhsLWNvbHVtbiB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LXhsLXJvdy1yZXZlcnNlIHsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWwgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2UgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudAogICAgfQogICAgLmZsZXgteGwtY29sdW1uLXJldmVyc2UgewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2UgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudAogICAgfQogICAgLmZsZXgteGwtd3JhcCB7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LXhsLW5vd3JhcCB7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OwogICAgICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LXhsLXdyYXAtcmV2ZXJzZSB7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OwogICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LXhsLWZpbGwgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDEgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudAogICAgfQogICAgLmZsZXgteGwtZ3Jvdy0wIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1mbGV4LWdyb3c6IDAgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMCAhaW1wb3J0YW50OwogICAgICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxleC14bC1ncm93LTEgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDEgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbGV4LXhsLXNocmluay0wIHsKICAgICAgICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDAgIWltcG9ydGFudDsKICAgICAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxleC14bC1zaHJpbmstMSB7CiAgICAgICAgLXdlYmtpdC1mbGV4LXNocmluazogMSAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAxICFpbXBvcnRhbnQ7CiAgICAgICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudAogICAgfQogICAgLmp1c3RpZnktY29udGVudC14bC1zdGFydCB7CiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQKICAgIH0KICAgIC5qdXN0aWZ5LWNvbnRlbnQteGwtZW5kIHsKICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQgIWltcG9ydGFudDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQKICAgIH0KICAgIC5qdXN0aWZ5LWNvbnRlbnQteGwtY2VudGVyIHsKICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudAogICAgfQogICAgLmp1c3RpZnktY29udGVudC14bC1iZXR3ZWVuIHsKICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQKICAgIH0KICAgIC5qdXN0aWZ5LWNvbnRlbnQteGwtYXJvdW5kIHsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1pdGVtcy14bC1zdGFydCB7CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1pdGVtcy14bC1lbmQgewogICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWl0ZW1zLXhsLWNlbnRlciB7CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1pdGVtcy14bC1iYXNlbGluZSB7CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWl0ZW1zLXhsLXN0cmV0Y2ggewogICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWNvbnRlbnQteGwtc3RhcnQgewogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1jb250ZW50LXhsLWVuZCB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWNvbnRlbnQteGwtY2VudGVyIHsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1jb250ZW50LXhsLWJldHdlZW4gewogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeSAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLWNvbnRlbnQteGwtYXJvdW5kIHsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24tY29udGVudC14bC1zdHJldGNoIHsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1zZWxmLXhsLWF1dG8gewogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGF1dG8gIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQKICAgIH0KICAgIC5hbGlnbi1zZWxmLXhsLXN0YXJ0IHsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLXNlbGYteGwtZW5kIHsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLXNlbGYteGwtY2VudGVyIHsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50CiAgICB9CiAgICAuYWxpZ24tc2VsZi14bC1iYXNlbGluZSB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudAogICAgfQogICAgLmFsaWduLXNlbGYteGwtc3RyZXRjaCB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50OwogICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudAogICAgfQp9CgouZmxvYXQtbGVmdCB7CiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50Cn0KCi5mbG9hdC1yaWdodCB7CiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudAp9CgouZmxvYXQtbm9uZSB7CiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50Cn0KCkBtZWRpYSAobWluLXdpZHRoOjU3NnB4KSB7CiAgICAuZmxvYXQtc20tbGVmdCB7CiAgICAgICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudAogICAgfQogICAgLmZsb2F0LXNtLXJpZ2h0IHsKICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudAogICAgfQogICAgLmZsb2F0LXNtLW5vbmUgewogICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQKICAgIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIHsKICAgIC5mbG9hdC1tZC1sZWZ0IHsKICAgICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxvYXQtbWQtcmlnaHQgewogICAgICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50CiAgICB9CiAgICAuZmxvYXQtbWQtbm9uZSB7CiAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudAogICAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgewogICAgLmZsb2F0LWxnLWxlZnQgewogICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbG9hdC1sZy1yaWdodCB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbG9hdC1sZy1ub25lIHsKICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50CiAgICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOjEyMDBweCkgewogICAgLmZsb2F0LXhsLWxlZnQgewogICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbG9hdC14bC1yaWdodCB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQKICAgIH0KICAgIC5mbG9hdC14bC1ub25lIHsKICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50CiAgICB9Cn0KCi5wb3NpdGlvbi1zdGF0aWMgewogICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50Cn0KCi5wb3NpdGlvbi1yZWxhdGl2ZSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudAp9CgoucG9zaXRpb24tYWJzb2x1dGUgewogICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQKfQoKLnBvc2l0aW9uLWZpeGVkIHsKICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50Cn0KCi5wb3NpdGlvbi1zdGlja3kgewogICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5ICFpbXBvcnRhbnQ7CiAgICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQKfQoKLmZpeGVkLXRvcCB7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IDA7CiAgICByaWdodDogMDsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAxMDMwCn0KCi5maXhlZC1ib3R0b20gewogICAgcG9zaXRpb246IGZpeGVkOwogICAgcmlnaHQ6IDA7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAwOwogICAgei1pbmRleDogMTAzMAp9CgpAc3VwcG9ydHMgKChwb3NpdGlvbjotd2Via2l0LXN0aWNreSkgb3IgKHBvc2l0aW9uOnN0aWNreSkpIHsKICAgIC5zdGlja3ktdG9wIHsKICAgICAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7CiAgICAgICAgcG9zaXRpb246IHN0aWNreTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgei1pbmRleDogMTAyMAogICAgfQp9Cgouc3Itb25seSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMXB4OwogICAgaGVpZ2h0OiAxcHg7CiAgICBwYWRkaW5nOiAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgYm9yZGVyOiAwCn0KCi5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsCi5zci1vbmx5LWZvY3VzYWJsZTpmb2N1cyB7CiAgICBwb3NpdGlvbjogc3RhdGljOwogICAgd2lkdGg6IGF1dG87CiAgICBoZWlnaHQ6IGF1dG87CiAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgIGNsaXA6IGF1dG87CiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsCn0KCi5zaGFkb3ctc20gewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KSAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSkgIWltcG9ydGFudAp9Cgouc2hhZG93IHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSkgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMDUpICFpbXBvcnRhbnQKfQoKLnNoYWRvdy1sZyB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMDUpICFpbXBvcnRhbnQ7CiAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KSAhaW1wb3J0YW50Cn0KCi5zaGFkb3ctbm9uZSB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudAp9Cgoudy0yNSB7CiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQKfQoKLnctNTAgewogICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50Cn0KCi53LTc1IHsKICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudAp9Cgoudy0xMDAgewogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudAp9Cgoudy1hdXRvIHsKICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQKfQoKLmgtMjUgewogICAgaGVpZ2h0OiAyNSUgIWltcG9ydGFudAp9CgouaC01MCB7CiAgICBoZWlnaHQ6IDUwJSAhaW1wb3J0YW50Cn0KCi5oLTc1IHsKICAgIGhlaWdodDogNzUlICFpbXBvcnRhbnQKfQoKLmgtMTAwIHsKICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50Cn0KCi5oLWF1dG8gewogICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQKfQoKLm13LTEwMCB7CiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudAp9CgoubWgtMTAwIHsKICAgIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudAp9CgoubS0wIHsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50Cn0KCi5tdC0wLAoubXktMCB7CiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQKfQoKLm1yLTAsCi5teC0wIHsKICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50Cn0KCi5tYi0wLAoubXktMCB7CiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQKfQoKLm1sLTAsCi5teC0wIHsKICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQKfQoKLm0tMSB7CiAgICBtYXJnaW46IC4yNXJlbSAhaW1wb3J0YW50Cn0KCi5tdC0xLAoubXktMSB7CiAgICBtYXJnaW4tdG9wOiAuMjVyZW0gIWltcG9ydGFudAp9CgoubXItMSwKLm14LTEgewogICAgbWFyZ2luLXJpZ2h0OiAuMjVyZW0gIWltcG9ydGFudAp9CgoubWItMSwKLm15LTEgewogICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtICFpbXBvcnRhbnQKfQoKLm1sLTEsCi5teC0xIHsKICAgIG1hcmdpbi1sZWZ0OiAuMjVyZW0gIWltcG9ydGFudAp9CgoubS0yIHsKICAgIG1hcmdpbjogLjVyZW0gIWltcG9ydGFudAp9CgoubXQtMiwKLm15LTIgewogICAgbWFyZ2luLXRvcDogLjVyZW0gIWltcG9ydGFudAp9CgoubXItMiwKLm14LTIgewogICAgbWFyZ2luLXJpZ2h0OiAuNXJlbSAhaW1wb3J0YW50Cn0KCi5tYi0yLAoubXktMiB7CiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbSAhaW1wb3J0YW50Cn0KCi5tbC0yLAoubXgtMiB7CiAgICBtYXJnaW4tbGVmdDogLjVyZW0gIWltcG9ydGFudAp9CgoubS0zIHsKICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50Cn0KCi5tdC0zLAoubXktMyB7CiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQKfQoKLm1yLTMsCi5teC0zIHsKICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50Cn0KCi5tYi0zLAoubXktMyB7CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQKfQoKLm1sLTMsCi5teC0zIHsKICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQKfQoKLm0tNCB7CiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50Cn0KCi5tdC00LAoubXktNCB7CiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudAp9CgoubXItNCwKLm14LTQgewogICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudAp9CgoubWItNCwKLm15LTQgewogICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQKfQoKLm1sLTQsCi5teC00IHsKICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudAp9CgoubS01IHsKICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50Cn0KCi5tdC01LAoubXktNSB7CiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQKfQoKLm1yLTUsCi5teC01IHsKICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50Cn0KCi5tYi01LAoubXktNSB7CiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQKfQoKLm1sLTUsCi5teC01IHsKICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQKfQoKLnAtMCB7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQKfQoKLnB0LTAsCi5weS0wIHsKICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQKfQoKLnByLTAsCi5weC0wIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudAp9CgoucGItMCwKLnB5LTAgewogICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudAp9CgoucGwtMCwKLnB4LTAgewogICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQKfQoKLnAtMSB7CiAgICBwYWRkaW5nOiAuMjVyZW0gIWltcG9ydGFudAp9CgoucHQtMSwKLnB5LTEgewogICAgcGFkZGluZy10b3A6IC4yNXJlbSAhaW1wb3J0YW50Cn0KCi5wci0xLAoucHgtMSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW0gIWltcG9ydGFudAp9CgoucGItMSwKLnB5LTEgewogICAgcGFkZGluZy1ib3R0b206IC4yNXJlbSAhaW1wb3J0YW50Cn0KCi5wbC0xLAoucHgtMSB7CiAgICBwYWRkaW5nLWxlZnQ6IC4yNXJlbSAhaW1wb3J0YW50Cn0KCi5wLTIgewogICAgcGFkZGluZzogLjVyZW0gIWltcG9ydGFudAp9CgoucHQtMiwKLnB5LTIgewogICAgcGFkZGluZy10b3A6IC41cmVtICFpbXBvcnRhbnQKfQoKLnByLTIsCi5weC0yIHsKICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtICFpbXBvcnRhbnQKfQoKLnBiLTIsCi5weS0yIHsKICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbSAhaW1wb3J0YW50Cn0KCi5wbC0yLAoucHgtMiB7CiAgICBwYWRkaW5nLWxlZnQ6IC41cmVtICFpbXBvcnRhbnQKfQoKLnAtMyB7CiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQKfQoKLnB0LTMsCi5weS0zIHsKICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQKfQoKLnByLTMsCi5weC0zIHsKICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudAp9CgoucGItMywKLnB5LTMgewogICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudAp9CgoucGwtMywKLnB4LTMgewogICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQKfQoKLnAtNCB7CiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudAp9CgoucHQtNCwKLnB5LTQgewogICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50Cn0KCi5wci00LAoucHgtNCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudAp9CgoucGItNCwKLnB5LTQgewogICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50Cn0KCi5wbC00LAoucHgtNCB7CiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50Cn0KCi5wLTUgewogICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50Cn0KCi5wdC01LAoucHktNSB7CiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50Cn0KCi5wci01LAoucHgtNSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQKfQoKLnBiLTUsCi5weS01IHsKICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQKfQoKLnBsLTUsCi5weC01IHsKICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50Cn0KCi5tLWF1dG8gewogICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQKfQoKLm10LWF1dG8sCi5teS1hdXRvIHsKICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudAp9CgoubXItYXV0bywKLm14LWF1dG8gewogICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQKfQoKLm1iLWF1dG8sCi5teS1hdXRvIHsKICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudAp9CgoubWwtYXV0bywKLm14LWF1dG8gewogICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudAp9CgpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgewogICAgLm0tc20tMCB7CiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5tdC1zbS0wLAogICAgLm15LXNtLTAgewogICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudAogICAgfQogICAgLm1yLXNtLTAsCiAgICAubXgtc20tMCB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5tYi1zbS0wLAogICAgLm15LXNtLTAgewogICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudAogICAgfQogICAgLm1sLXNtLTAsCiAgICAubXgtc20tMCB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudAogICAgfQogICAgLm0tc20tMSB7CiAgICAgICAgbWFyZ2luOiAuMjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm10LXNtLTEsCiAgICAubXktc20tMSB7CiAgICAgICAgbWFyZ2luLXRvcDogLjI1cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tci1zbS0xLAogICAgLm14LXNtLTEgewogICAgICAgIG1hcmdpbi1yaWdodDogLjI1cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tYi1zbS0xLAogICAgLm15LXNtLTEgewogICAgICAgIG1hcmdpbi1ib3R0b206IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubWwtc20tMSwKICAgIC5teC1zbS0xIHsKICAgICAgICBtYXJnaW4tbGVmdDogLjI1cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tLXNtLTIgewogICAgICAgIG1hcmdpbjogLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm10LXNtLTIsCiAgICAubXktc20tMiB7CiAgICAgICAgbWFyZ2luLXRvcDogLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1yLXNtLTIsCiAgICAubXgtc20tMiB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubWItc20tMiwKICAgIC5teS1zbS0yIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubWwtc20tMiwKICAgIC5teC1zbS0yIHsKICAgICAgICBtYXJnaW4tbGVmdDogLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm0tc20tMyB7CiAgICAgICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tdC1zbS0zLAogICAgLm15LXNtLTMgewogICAgICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1yLXNtLTMsCiAgICAubXgtc20tMyB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tYi1zbS0zLAogICAgLm15LXNtLTMgewogICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1sLXNtLTMsCiAgICAubXgtc20tMyB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudAogICAgfQogICAgLm0tc20tNCB7CiAgICAgICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm10LXNtLTQsCiAgICAubXktc20tNCB7CiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tci1zbS00LAogICAgLm14LXNtLTQgewogICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tYi1zbS00LAogICAgLm15LXNtLTQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubWwtc20tNCwKICAgIC5teC1zbS00IHsKICAgICAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tLXNtLTUgewogICAgICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubXQtc20tNSwKICAgIC5teS1zbS01IHsKICAgICAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tci1zbS01LAogICAgLm14LXNtLTUgewogICAgICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubWItc20tNSwKICAgIC5teS1zbS01IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tbC1zbS01LAogICAgLm14LXNtLTUgewogICAgICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wLXNtLTAgewogICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudAogICAgfQogICAgLnB0LXNtLTAsCiAgICAucHktc20tMCB7CiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudAogICAgfQogICAgLnByLXNtLTAsCiAgICAucHgtc20tMCB7CiAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50CiAgICB9CiAgICAucGItc20tMCwKICAgIC5weS1zbS0wIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50CiAgICB9CiAgICAucGwtc20tMCwKICAgIC5weC1zbS0wIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudAogICAgfQogICAgLnAtc20tMSB7CiAgICAgICAgcGFkZGluZzogLjI1cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wdC1zbS0xLAogICAgLnB5LXNtLTEgewogICAgICAgIHBhZGRpbmctdG9wOiAuMjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnByLXNtLTEsCiAgICAucHgtc20tMSB7CiAgICAgICAgcGFkZGluZy1yaWdodDogLjI1cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wYi1zbS0xLAogICAgLnB5LXNtLTEgewogICAgICAgIHBhZGRpbmctYm90dG9tOiAuMjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnBsLXNtLTEsCiAgICAucHgtc20tMSB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAuMjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnAtc20tMiB7CiAgICAgICAgcGFkZGluZzogLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnB0LXNtLTIsCiAgICAucHktc20tMiB7CiAgICAgICAgcGFkZGluZy10b3A6IC41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wci1zbS0yLAogICAgLnB4LXNtLTIgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wYi1zbS0yLAogICAgLnB5LXNtLTIgewogICAgICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGwtc20tMiwKICAgIC5weC1zbS0yIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IC41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wLXNtLTMgewogICAgICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudAogICAgfQogICAgLnB0LXNtLTMsCiAgICAucHktc20tMyB7CiAgICAgICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudAogICAgfQogICAgLnByLXNtLTMsCiAgICAucHgtc20tMyB7CiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGItc20tMywKICAgIC5weS1zbS0zIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGwtc20tMywKICAgIC5weC1zbS0zIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudAogICAgfQogICAgLnAtc20tNCB7CiAgICAgICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wdC1zbS00LAogICAgLnB5LXNtLTQgewogICAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnByLXNtLTQsCiAgICAucHgtc20tNCB7CiAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wYi1zbS00LAogICAgLnB5LXNtLTQgewogICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnBsLXNtLTQsCiAgICAucHgtc20tNCB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnAtc20tNSB7CiAgICAgICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucHQtc20tNSwKICAgIC5weS1zbS01IHsKICAgICAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucHItc20tNSwKICAgIC5weC1zbS01IHsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wYi1zbS01LAogICAgLnB5LXNtLTUgewogICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wbC1zbS01LAogICAgLnB4LXNtLTUgewogICAgICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubS1zbS1hdXRvIHsKICAgICAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudAogICAgfQogICAgLm10LXNtLWF1dG8sCiAgICAubXktc20tYXV0byB7CiAgICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50CiAgICB9CiAgICAubXItc20tYXV0bywKICAgIC5teC1zbS1hdXRvIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudAogICAgfQogICAgLm1iLXNtLWF1dG8sCiAgICAubXktc20tYXV0byB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50CiAgICB9CiAgICAubWwtc20tYXV0bywKICAgIC5teC1zbS1hdXRvIHsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50CiAgICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7CiAgICAubS1tZC0wIHsKICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudAogICAgfQogICAgLm10LW1kLTAsCiAgICAubXktbWQtMCB7CiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50CiAgICB9CiAgICAubXItbWQtMCwKICAgIC5teC1tZC0wIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudAogICAgfQogICAgLm1iLW1kLTAsCiAgICAubXktbWQtMCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50CiAgICB9CiAgICAubWwtbWQtMCwKICAgIC5teC1tZC0wIHsKICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50CiAgICB9CiAgICAubS1tZC0xIHsKICAgICAgICBtYXJnaW46IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubXQtbWQtMSwKICAgIC5teS1tZC0xIHsKICAgICAgICBtYXJnaW4tdG9wOiAuMjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1yLW1kLTEsCiAgICAubXgtbWQtMSB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuMjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1iLW1kLTEsCiAgICAubXktbWQtMSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tbC1tZC0xLAogICAgLm14LW1kLTEgewogICAgICAgIG1hcmdpbi1sZWZ0OiAuMjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm0tbWQtMiB7CiAgICAgICAgbWFyZ2luOiAuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubXQtbWQtMiwKICAgIC5teS1tZC0yIHsKICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubXItbWQtMiwKICAgIC5teC1tZC0yIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tYi1tZC0yLAogICAgLm15LW1kLTIgewogICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tbC1tZC0yLAogICAgLm14LW1kLTIgewogICAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubS1tZC0zIHsKICAgICAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudAogICAgfQogICAgLm10LW1kLTMsCiAgICAubXktbWQtMyB7CiAgICAgICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubXItbWQtMywKICAgIC5teC1tZC0zIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1iLW1kLTMsCiAgICAubXktbWQtMyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubWwtbWQtMywKICAgIC5teC1tZC0zIHsKICAgICAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubS1tZC00IHsKICAgICAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubXQtbWQtNCwKICAgIC5teS1tZC00IHsKICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1yLW1kLTQsCiAgICAubXgtbWQtNCB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1iLW1kLTQsCiAgICAubXktbWQtNCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tbC1tZC00LAogICAgLm14LW1kLTQgewogICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm0tbWQtNSB7CiAgICAgICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tdC1tZC01LAogICAgLm15LW1kLTUgewogICAgICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1yLW1kLTUsCiAgICAubXgtbWQtNSB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tYi1tZC01LAogICAgLm15LW1kLTUgewogICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1sLW1kLTUsCiAgICAubXgtbWQtNSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLnAtbWQtMCB7CiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50CiAgICB9CiAgICAucHQtbWQtMCwKICAgIC5weS1tZC0wIHsKICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50CiAgICB9CiAgICAucHItbWQtMCwKICAgIC5weC1tZC0wIHsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5wYi1tZC0wLAogICAgLnB5LW1kLTAgewogICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5wbC1tZC0wLAogICAgLnB4LW1kLTAgewogICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50CiAgICB9CiAgICAucC1tZC0xIHsKICAgICAgICBwYWRkaW5nOiAuMjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnB0LW1kLTEsCiAgICAucHktbWQtMSB7CiAgICAgICAgcGFkZGluZy10b3A6IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucHItbWQtMSwKICAgIC5weC1tZC0xIHsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnBiLW1kLTEsCiAgICAucHktbWQtMSB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGwtbWQtMSwKICAgIC5weC1tZC0xIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucC1tZC0yIHsKICAgICAgICBwYWRkaW5nOiAuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucHQtbWQtMiwKICAgIC5weS1tZC0yIHsKICAgICAgICBwYWRkaW5nLXRvcDogLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnByLW1kLTIsCiAgICAucHgtbWQtMiB7CiAgICAgICAgcGFkZGluZy1yaWdodDogLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnBiLW1kLTIsCiAgICAucHktbWQtMiB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IC41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wbC1tZC0yLAogICAgLnB4LW1kLTIgewogICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnAtbWQtMyB7CiAgICAgICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucHQtbWQtMywKICAgIC5weS1tZC0zIHsKICAgICAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucHItbWQtMywKICAgIC5weC1tZC0zIHsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wYi1tZC0zLAogICAgLnB5LW1kLTMgewogICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wbC1tZC0zLAogICAgLnB4LW1kLTMgewogICAgICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucC1tZC00IHsKICAgICAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnB0LW1kLTQsCiAgICAucHktbWQtNCB7CiAgICAgICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucHItbWQtNCwKICAgIC5weC1tZC00IHsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnBiLW1kLTQsCiAgICAucHktbWQtNCB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGwtbWQtNCwKICAgIC5weC1tZC00IHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucC1tZC01IHsKICAgICAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wdC1tZC01LAogICAgLnB5LW1kLTUgewogICAgICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wci1tZC01LAogICAgLnB4LW1kLTUgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLnBiLW1kLTUsCiAgICAucHktbWQtNSB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLnBsLW1kLTUsCiAgICAucHgtbWQtNSB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tLW1kLWF1dG8gewogICAgICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50CiAgICB9CiAgICAubXQtbWQtYXV0bywKICAgIC5teS1tZC1hdXRvIHsKICAgICAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQKICAgIH0KICAgIC5tci1tZC1hdXRvLAogICAgLm14LW1kLWF1dG8gewogICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50CiAgICB9CiAgICAubWItbWQtYXV0bywKICAgIC5teS1tZC1hdXRvIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQKICAgIH0KICAgIC5tbC1tZC1hdXRvLAogICAgLm14LW1kLWF1dG8gewogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQKICAgIH0KfQoKQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsKICAgIC5tLWxnLTAgewogICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50CiAgICB9CiAgICAubXQtbGctMCwKICAgIC5teS1sZy0wIHsKICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5tci1sZy0wLAogICAgLm14LWxnLTAgewogICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50CiAgICB9CiAgICAubWItbGctMCwKICAgIC5teS1sZy0wIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5tbC1sZy0wLAogICAgLm14LWxnLTAgewogICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5tLWxnLTEgewogICAgICAgIG1hcmdpbjogLjI1cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tdC1sZy0xLAogICAgLm15LWxnLTEgewogICAgICAgIG1hcmdpbi10b3A6IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubXItbGctMSwKICAgIC5teC1sZy0xIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubWItbGctMSwKICAgIC5teS1sZy0xIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1sLWxnLTEsCiAgICAubXgtbGctMSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubS1sZy0yIHsKICAgICAgICBtYXJnaW46IC41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tdC1sZy0yLAogICAgLm15LWxnLTIgewogICAgICAgIG1hcmdpbi10b3A6IC41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tci1sZy0yLAogICAgLm14LWxnLTIgewogICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1iLWxnLTIsCiAgICAubXktbGctMiB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1sLWxnLTIsCiAgICAubXgtbGctMiB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tLWxnLTMgewogICAgICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubXQtbGctMywKICAgIC5teS1sZy0zIHsKICAgICAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tci1sZy0zLAogICAgLm14LWxnLTMgewogICAgICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubWItbGctMywKICAgIC5teS1sZy0zIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tbC1sZy0zLAogICAgLm14LWxnLTMgewogICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tLWxnLTQgewogICAgICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tdC1sZy00LAogICAgLm15LWxnLTQgewogICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubXItbGctNCwKICAgIC5teC1sZy00IHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubWItbGctNCwKICAgIC5teS1sZy00IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1sLWxnLTQsCiAgICAubXgtbGctNCB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubS1sZy01IHsKICAgICAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLm10LWxnLTUsCiAgICAubXktbGctNSB7CiAgICAgICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubXItbGctNSwKICAgIC5teC1sZy01IHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1iLWxnLTUsCiAgICAubXktbGctNSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubWwtbGctNSwKICAgIC5teC1sZy01IHsKICAgICAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucC1sZy0wIHsKICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5wdC1sZy0wLAogICAgLnB5LWxnLTAgewogICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5wci1sZy0wLAogICAgLnB4LWxnLTAgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudAogICAgfQogICAgLnBiLWxnLTAsCiAgICAucHktbGctMCB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudAogICAgfQogICAgLnBsLWxnLTAsCiAgICAucHgtbGctMCB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5wLWxnLTEgewogICAgICAgIHBhZGRpbmc6IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucHQtbGctMSwKICAgIC5weS1sZy0xIHsKICAgICAgICBwYWRkaW5nLXRvcDogLjI1cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wci1sZy0xLAogICAgLnB4LWxnLTEgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGItbGctMSwKICAgIC5weS1sZy0xIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjI1cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wbC1sZy0xLAogICAgLnB4LWxnLTEgewogICAgICAgIHBhZGRpbmctbGVmdDogLjI1cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wLWxnLTIgewogICAgICAgIHBhZGRpbmc6IC41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wdC1sZy0yLAogICAgLnB5LWxnLTIgewogICAgICAgIHBhZGRpbmctdG9wOiAuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucHItbGctMiwKICAgIC5weC1sZy0yIHsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGItbGctMiwKICAgIC5weS1sZy0yIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnBsLWxnLTIsCiAgICAucHgtbGctMiB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucC1sZy0zIHsKICAgICAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wdC1sZy0zLAogICAgLnB5LWxnLTMgewogICAgICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wci1sZy0zLAogICAgLnB4LWxnLTMgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudAogICAgfQogICAgLnBiLWxnLTMsCiAgICAucHktbGctMyB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudAogICAgfQogICAgLnBsLWxnLTMsCiAgICAucHgtbGctMyB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wLWxnLTQgewogICAgICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucHQtbGctNCwKICAgIC5weS1sZy00IHsKICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wci1sZy00LAogICAgLnB4LWxnLTQgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGItbGctNCwKICAgIC5weS1sZy00IHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wbC1sZy00LAogICAgLnB4LWxnLTQgewogICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wLWxnLTUgewogICAgICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLnB0LWxnLTUsCiAgICAucHktbGctNSB7CiAgICAgICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLnByLWxnLTUsCiAgICAucHgtbGctNSB7CiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGItbGctNSwKICAgIC5weS1sZy01IHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGwtbGctNSwKICAgIC5weC1sZy01IHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLm0tbGctYXV0byB7CiAgICAgICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQKICAgIH0KICAgIC5tdC1sZy1hdXRvLAogICAgLm15LWxnLWF1dG8gewogICAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudAogICAgfQogICAgLm1yLWxnLWF1dG8sCiAgICAubXgtbGctYXV0byB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQKICAgIH0KICAgIC5tYi1sZy1hdXRvLAogICAgLm15LWxnLWF1dG8gewogICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudAogICAgfQogICAgLm1sLWxnLWF1dG8sCiAgICAubXgtbGctYXV0byB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudAogICAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpIHsKICAgIC5tLXhsLTAgewogICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50CiAgICB9CiAgICAubXQteGwtMCwKICAgIC5teS14bC0wIHsKICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5tci14bC0wLAogICAgLm14LXhsLTAgewogICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50CiAgICB9CiAgICAubWIteGwtMCwKICAgIC5teS14bC0wIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5tbC14bC0wLAogICAgLm14LXhsLTAgewogICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5tLXhsLTEgewogICAgICAgIG1hcmdpbjogLjI1cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tdC14bC0xLAogICAgLm15LXhsLTEgewogICAgICAgIG1hcmdpbi10b3A6IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubXIteGwtMSwKICAgIC5teC14bC0xIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubWIteGwtMSwKICAgIC5teS14bC0xIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1sLXhsLTEsCiAgICAubXgteGwtMSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubS14bC0yIHsKICAgICAgICBtYXJnaW46IC41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tdC14bC0yLAogICAgLm15LXhsLTIgewogICAgICAgIG1hcmdpbi10b3A6IC41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tci14bC0yLAogICAgLm14LXhsLTIgewogICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1iLXhsLTIsCiAgICAubXkteGwtMiB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1sLXhsLTIsCiAgICAubXgteGwtMiB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tLXhsLTMgewogICAgICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubXQteGwtMywKICAgIC5teS14bC0zIHsKICAgICAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tci14bC0zLAogICAgLm14LXhsLTMgewogICAgICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubWIteGwtMywKICAgIC5teS14bC0zIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tbC14bC0zLAogICAgLm14LXhsLTMgewogICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tLXhsLTQgewogICAgICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5tdC14bC00LAogICAgLm15LXhsLTQgewogICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubXIteGwtNCwKICAgIC5teC14bC00IHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubWIteGwtNCwKICAgIC5teS14bC00IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1sLXhsLTQsCiAgICAubXgteGwtNCB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubS14bC01IHsKICAgICAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLm10LXhsLTUsCiAgICAubXkteGwtNSB7CiAgICAgICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubXIteGwtNSwKICAgIC5teC14bC01IHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLm1iLXhsLTUsCiAgICAubXkteGwtNSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAubWwteGwtNSwKICAgIC5teC14bC01IHsKICAgICAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucC14bC0wIHsKICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5wdC14bC0wLAogICAgLnB5LXhsLTAgewogICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5wci14bC0wLAogICAgLnB4LXhsLTAgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudAogICAgfQogICAgLnBiLXhsLTAsCiAgICAucHkteGwtMCB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudAogICAgfQogICAgLnBsLXhsLTAsCiAgICAucHgteGwtMCB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5wLXhsLTEgewogICAgICAgIHBhZGRpbmc6IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucHQteGwtMSwKICAgIC5weS14bC0xIHsKICAgICAgICBwYWRkaW5nLXRvcDogLjI1cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wci14bC0xLAogICAgLnB4LXhsLTEgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IC4yNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGIteGwtMSwKICAgIC5weS14bC0xIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjI1cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wbC14bC0xLAogICAgLnB4LXhsLTEgewogICAgICAgIHBhZGRpbmctbGVmdDogLjI1cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wLXhsLTIgewogICAgICAgIHBhZGRpbmc6IC41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wdC14bC0yLAogICAgLnB5LXhsLTIgewogICAgICAgIHBhZGRpbmctdG9wOiAuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucHIteGwtMiwKICAgIC5weC14bC0yIHsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGIteGwtMiwKICAgIC5weS14bC0yIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudAogICAgfQogICAgLnBsLXhsLTIsCiAgICAucHgteGwtMiB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucC14bC0zIHsKICAgICAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wdC14bC0zLAogICAgLnB5LXhsLTMgewogICAgICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wci14bC0zLAogICAgLnB4LXhsLTMgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudAogICAgfQogICAgLnBiLXhsLTMsCiAgICAucHkteGwtMyB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudAogICAgfQogICAgLnBsLXhsLTMsCiAgICAucHgteGwtMyB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wLXhsLTQgewogICAgICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucHQteGwtNCwKICAgIC5weS14bC00IHsKICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wci14bC00LAogICAgLnB4LXhsLTQgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGIteGwtNCwKICAgIC5weS14bC00IHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wbC14bC00LAogICAgLnB4LXhsLTQgewogICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5wLXhsLTUgewogICAgICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLnB0LXhsLTUsCiAgICAucHkteGwtNSB7CiAgICAgICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLnByLXhsLTUsCiAgICAucHgteGwtNSB7CiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGIteGwtNSwKICAgIC5weS14bC01IHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50CiAgICB9CiAgICAucGwteGwtNSwKICAgIC5weC14bC01IHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudAogICAgfQogICAgLm0teGwtYXV0byB7CiAgICAgICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQKICAgIH0KICAgIC5tdC14bC1hdXRvLAogICAgLm15LXhsLWF1dG8gewogICAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudAogICAgfQogICAgLm1yLXhsLWF1dG8sCiAgICAubXgteGwtYXV0byB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQKICAgIH0KICAgIC5tYi14bC1hdXRvLAogICAgLm15LXhsLWF1dG8gewogICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudAogICAgfQogICAgLm1sLXhsLWF1dG8sCiAgICAubXgteGwtYXV0byB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudAogICAgfQp9CgoudGV4dC1tb25vc3BhY2UgewogICAgZm9udC1mYW1pbHk6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgIkxpYmVyYXRpb24gTW9ubyIsICJDb3VyaWVyIE5ldyIsIG1vbm9zcGFjZQp9CgoudGV4dC1qdXN0aWZ5IHsKICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudAp9CgoudGV4dC1ub3dyYXAgewogICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50Cn0KCi50ZXh0LXRydW5jYXRlIHsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAtby10ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcAp9CgoudGV4dC1sZWZ0IHsKICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudAp9CgoudGV4dC1yaWdodCB7CiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50Cn0KCi50ZXh0LWNlbnRlciB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudAp9CgpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgewogICAgLnRleHQtc20tbGVmdCB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50CiAgICB9CiAgICAudGV4dC1zbS1yaWdodCB7CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudAogICAgfQogICAgLnRleHQtc20tY2VudGVyIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudAogICAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgewogICAgLnRleHQtbWQtbGVmdCB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50CiAgICB9CiAgICAudGV4dC1tZC1yaWdodCB7CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudAogICAgfQogICAgLnRleHQtbWQtY2VudGVyIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudAogICAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgewogICAgLnRleHQtbGctbGVmdCB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50CiAgICB9CiAgICAudGV4dC1sZy1yaWdodCB7CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudAogICAgfQogICAgLnRleHQtbGctY2VudGVyIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudAogICAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpIHsKICAgIC50ZXh0LXhsLWxlZnQgewogICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudAogICAgfQogICAgLnRleHQteGwtcmlnaHQgewogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQKICAgIH0KICAgIC50ZXh0LXhsLWNlbnRlciB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQKICAgIH0KfQoKLnRleHQtbG93ZXJjYXNlIHsKICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudAp9CgoudGV4dC11cHBlcmNhc2UgewogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50Cn0KCi50ZXh0LWNhcGl0YWxpemUgewogICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudAp9CgouZm9udC13ZWlnaHQtbGlnaHQgewogICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50Cn0KCi5mb250LXdlaWdodC1ub3JtYWwgewogICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50Cn0KCi5mb250LXdlaWdodC1ib2xkIHsKICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudAp9CgouZm9udC1pdGFsaWMgewogICAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQKfQoKLnRleHQtd2hpdGUgewogICAgY29sb3I6ICNmZmYgIWltcG9ydGFudAp9CgoudGV4dC1wcmltYXJ5IHsKICAgIGNvbG9yOiAjMDc0YTU1ICFpbXBvcnRhbnQKfQoKYS50ZXh0LXByaW1hcnk6Zm9jdXMsCmEudGV4dC1wcmltYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiAjMzIyZDdlICFpbXBvcnRhbnQKfQoKLnRleHQtc2Vjb25kYXJ5IHsKICAgIGNvbG9yOiAjMDZiNTkwICFpbXBvcnRhbnQKfQoKYS50ZXh0LXNlY29uZGFyeTpmb2N1cywKYS50ZXh0LXNlY29uZGFyeTpob3ZlciB7CiAgICBjb2xvcjogIzA0ODQ2OSAhaW1wb3J0YW50Cn0KCi50ZXh0LXN1Y2Nlc3MgewogICAgY29sb3I6ICMzNWI1M2UgIWltcG9ydGFudAp9CgphLnRleHQtc3VjY2Vzczpmb2N1cywKYS50ZXh0LXN1Y2Nlc3M6aG92ZXIgewogICAgY29sb3I6ICMyOThlMzAgIWltcG9ydGFudAp9CgoudGV4dC1pbmZvIHsKICAgIGNvbG9yOiAjMzc3ZGZmICFpbXBvcnRhbnQKfQoKYS50ZXh0LWluZm86Zm9jdXMsCmEudGV4dC1pbmZvOmhvdmVyIHsKICAgIGNvbG9yOiAjMDQ1Y2ZmICFpbXBvcnRhbnQKfQoKLnRleHQtd2FybmluZyB7CiAgICBjb2xvcjogI2ZmYWYwMCAhaW1wb3J0YW50Cn0KCmEudGV4dC13YXJuaW5nOmZvY3VzLAphLnRleHQtd2FybmluZzpob3ZlciB7CiAgICBjb2xvcjogI2NjOGMwMCAhaW1wb3J0YW50Cn0KCi50ZXh0LWRhbmdlciB7CiAgICBjb2xvcjogI2UyMzYzNiAhaW1wb3J0YW50Cn0KCmEudGV4dC1kYW5nZXI6Zm9jdXMsCmEudGV4dC1kYW5nZXI6aG92ZXIgewogICAgY29sb3I6ICNjODFkMWQgIWltcG9ydGFudAp9CgoudGV4dC1saWdodCB7CiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50Cn0KCmEudGV4dC1saWdodDpmb2N1cywKYS50ZXh0LWxpZ2h0OmhvdmVyIHsKICAgIGNvbG9yOiAjZTZlNmU2ICFpbXBvcnRhbnQKfQoKLnRleHQtZGFyayB7CiAgICBjb2xvcjogIzIwMjQyOCAhaW1wb3J0YW50Cn0KCmEudGV4dC1kYXJrOmZvY3VzLAphLnRleHQtZGFyazpob3ZlciB7CiAgICBjb2xvcjogIzA5MGIwYyAhaW1wb3J0YW50Cn0KCi50ZXh0LWJvZHkgewogICAgY29sb3I6ICM1YTY2NzEgIWltcG9ydGFudAp9CgoudGV4dC1tdXRlZCB7CiAgICBjb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50Cn0KCi50ZXh0LWJsYWNrLTUwIHsKICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC41KSAhaW1wb3J0YW50Cn0KCi50ZXh0LXdoaXRlLTUwIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KSAhaW1wb3J0YW50Cn0KCi50ZXh0LWhpZGUgewogICAgZm9udDogMC8wIGE7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICB0ZXh0LXNoYWRvdzogbm9uZTsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyOiAwCn0KCi52aXNpYmxlIHsKICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudAp9CgouaW52aXNpYmxlIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50Cn0KCkBtZWRpYSBwcmludCB7CiAgICAqLAogICAgOjphZnRlciwKICAgIDo6YmVmb3JlIHsKICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudAogICAgfQogICAgYTpub3QoLmJ0bikgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lCiAgICB9CiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICIgKCIgYXR0cih0aXRsZSkgIikiCiAgICB9CiAgICBwcmUgewogICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50CiAgICB9CiAgICBibG9ja3F1b3RlLAogICAgcHJlIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWRiNWJkOwogICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZAogICAgfQogICAgdGhlYWQgewogICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cAogICAgfQogICAgaW1nLAogICAgdHIgewogICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZAogICAgfQogICAgaDIsCiAgICBoMywKICAgIHAgewogICAgICAgIG9ycGhhbnM6IDM7CiAgICAgICAgd2lkb3dzOiAzCiAgICB9CiAgICBoMiwKICAgIGgzIHsKICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZAogICAgfQogICAgQHBhZ2UgewogICAgICAgIHNpemU6IGEzCiAgICB9CiAgICBib2R5IHsKICAgICAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQKICAgIH0KICAgIC5jb250YWluZXIgewogICAgICAgIG1pbi13aWR0aDogOTkycHggIWltcG9ydGFudAogICAgfQogICAgLm5hdmJhciB7CiAgICAgICAgZGlzcGxheTogbm9uZQogICAgfQogICAgLmJhZGdlIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwCiAgICB9CiAgICAudGFibGUgewogICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudAogICAgfQogICAgLnRhYmxlIHRkLAogICAgLnRhYmxlIHRoIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQKICAgIH0KICAgIC50YWJsZS1ib3JkZXJlZCB0ZCwKICAgIC50YWJsZS1ib3JkZXJlZCB0aCB7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50CiAgICB9Cn0KCkBjaGFyc2V0ICJVVEYtOCI7Ci8qIQpBbmltYXRlLmNzcyAtIGh0dHA6Ly9kYW5lZGVuLm1lL2FuaW1hdGUKTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIC0gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAoKQ29weXJpZ2h0IChjKSAyMDE1IERhbmllbCBFZGVuCiovCgouYW5pbWF0ZWQgewogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOwogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsKICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGgKfQoKLmFuaW1hdGVkLmluZmluaXRlIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7CiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZQp9CgouYW5pbWF0ZWQuaGluZ2UgewogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzOwogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycwp9CgouYW5pbWF0ZWQuYm91bmNlSW4sCi5hbmltYXRlZC5ib3VuY2VPdXQgewogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC43NXM7CiAgICBhbmltYXRpb24tZHVyYXRpb246IC43NXMKfQoKLmFuaW1hdGVkLmZsaXBPdXRYLAouYW5pbWF0ZWQuZmxpcE91dFkgewogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC43NXM7CiAgICBhbmltYXRpb24tZHVyYXRpb246IC43NXMKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7CiAgICAwJSwKICAgIDEwMCUsCiAgICAyMCUsCiAgICA1MyUsCiAgICA4MCUgewogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSk7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSk7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkKICAgIH0KICAgIDQwJSwKICAgIDQzJSB7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjc1NSwgLjA1MCwgLjg1NSwgLjA2MCk7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC43NTUsIC4wNTAsIC44NTUsIC4wNjApOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkKICAgIH0KICAgIDcwJSB7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjc1NSwgLjA1MCwgLjg1NSwgLjA2MCk7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC43NTUsIC4wNTAsIC44NTUsIC4wNjApOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkKICAgIH0KICAgIDkwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkKICAgIH0KfQoKQGtleWZyYW1lcyBib3VuY2UgewogICAgMCUsCiAgICAxMDAlLAogICAgMjAlLAogICAgNTMlLAogICAgODAlIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApCiAgICB9CiAgICA0MCUsCiAgICA0MyUgewogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC43NTUsIC4wNTAsIC44NTUsIC4wNjApOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNzU1LCAuMDUwLCAuODU1LCAuMDYwKTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApCiAgICB9CiAgICA3MCUgewogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC43NTUsIC4wNTAsIC44NTUsIC4wNjApOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNzU1LCAuMDUwLCAuODU1LCAuMDYwKTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApCiAgICB9CiAgICA5MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApCiAgICB9Cn0KCi5ib3VuY2UgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlOwogICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b20KfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHsKICAgIDAlLAogICAgMTAwJSwKICAgIDUwJSB7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMjUlLAogICAgNzUlIHsKICAgICAgICBvcGFjaXR5OiAwCiAgICB9Cn0KCkBrZXlmcmFtZXMgZmxhc2ggewogICAgMCUsCiAgICAxMDAlLAogICAgNTAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAyNSUsCiAgICA3NSUgewogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KfQoKLmZsYXNoIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoOwogICAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoCn0KCkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpCiAgICB9CiAgICA1MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpCiAgICB9Cn0KCkBrZXlmcmFtZXMgcHVsc2UgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKQogICAgfQogICAgNTAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSkKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKQogICAgfQp9CgoucHVsc2UgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7CiAgICBhbmltYXRpb24tbmFtZTogcHVsc2UKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKQogICAgfQogICAgMzAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAuNzUsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAuNzUsIDEpCiAgICB9CiAgICA0MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC43NSwgMS4yNSwgMSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC43NSwgMS4yNSwgMSkKICAgIH0KICAgIDUwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgLjg1LCAxKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgLjg1LCAxKQogICAgfQogICAgNjUlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpCiAgICB9CiAgICA3NSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSkKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKQogICAgfQp9CgpAa2V5ZnJhbWVzIHJ1YmJlckJhbmQgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKQogICAgfQogICAgMzAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAuNzUsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAuNzUsIDEpCiAgICB9CiAgICA0MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC43NSwgMS4yNSwgMSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC43NSwgMS4yNSwgMSkKICAgIH0KICAgIDUwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgLjg1LCAxKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgLjg1LCAxKQogICAgfQogICAgNjUlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpCiAgICB9CiAgICA3NSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSkKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKQogICAgfQp9CgoucnViYmVyQmFuZCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kOwogICAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHsKICAgIDAlLAogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkKICAgIH0KICAgIDEwJSwKICAgIDMwJSwKICAgIDUwJSwKICAgIDcwJSwKICAgIDkwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKQogICAgfQogICAgMjAlLAogICAgNDAlLAogICAgNjAlLAogICAgODAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKQogICAgfQp9CgpAa2V5ZnJhbWVzIHNoYWtlIHsKICAgIDAlLAogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkKICAgIH0KICAgIDEwJSwKICAgIDMwJSwKICAgIDUwJSwKICAgIDcwJSwKICAgIDkwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKQogICAgfQogICAgMjAlLAogICAgNDAlLAogICAgNjAlLAogICAgODAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKQogICAgfQp9Cgouc2hha2UgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7CiAgICBhbmltYXRpb24tbmFtZTogc2hha2UKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHsKICAgIDIwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKQogICAgfQogICAgNDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZykKICAgIH0KICAgIDYwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZykKICAgIH0KICAgIDgwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZykKICAgIH0KfQoKQGtleWZyYW1lcyBzd2luZyB7CiAgICAyMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZykKICAgIH0KICAgIDQwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpCiAgICB9CiAgICA2MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpCiAgICB9CiAgICA4MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZykKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpCiAgICB9Cn0KCi5zd2luZyB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyOwogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7CiAgICBhbmltYXRpb24tbmFtZTogc3dpbmcKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKQogICAgfQogICAgMTAlLAogICAgMjAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKQogICAgfQogICAgMzAlLAogICAgNTAlLAogICAgNzAlLAogICAgOTAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZykKICAgIH0KICAgIDQwJSwKICAgIDYwJSwKICAgIDgwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZykKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKQogICAgfQp9CgpAa2V5ZnJhbWVzIHRhZGEgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKQogICAgfQogICAgMTAlLAogICAgMjAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKQogICAgfQogICAgMzAlLAogICAgNTAlLAogICAgNzAlLAogICAgOTAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZykKICAgIH0KICAgIDQwJSwKICAgIDYwJSwKICAgIDgwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZykKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKQogICAgfQp9CgoudGFkYSB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhOwogICAgYW5pbWF0aW9uLW5hbWU6IHRhZGEKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lCiAgICB9CiAgICAxNSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZykKICAgIH0KICAgIDMwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpCiAgICB9CiAgICA0NSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZykKICAgIH0KICAgIDYwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpCiAgICB9CiAgICA3NSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUKICAgIH0KfQoKQGtleWZyYW1lcyB3b2JibGUgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZQogICAgfQogICAgMTUlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpCiAgICB9CiAgICAzMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKQogICAgfQogICAgNDUlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpCiAgICB9CiAgICA2MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKQogICAgfQogICAgNzUlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lCiAgICB9Cn0KCi53b2JibGUgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlOwogICAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZQp9CgpALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8gewogICAgMTEuMSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZQogICAgfQogICAgMjIuMiUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKQogICAgfQogICAgMzMuMyUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpCiAgICB9CiAgICA0NC40JSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKQogICAgfQogICAgNTUuNSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZykKICAgIH0KICAgIDY2LjYlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLS43ODEyNWRlZykgc2tld1koLS43ODEyNWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtLjc4MTI1ZGVnKSBza2V3WSgtLjc4MTI1ZGVnKQogICAgfQogICAgNzcuNyUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCguMzkwNjI1ZGVnKSBza2V3WSguMzkwNjI1ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC4zOTA2MjVkZWcpIHNrZXdZKC4zOTA2MjVkZWcpCiAgICB9CiAgICA4OC44JSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0uMTk1MzEyNWRlZykgc2tld1koLS4xOTUzMTI1ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0uMTk1MzEyNWRlZykgc2tld1koLS4xOTUzMTI1ZGVnKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lCiAgICB9Cn0KCkBrZXlmcmFtZXMgamVsbG8gewogICAgMTEuMSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZQogICAgfQogICAgMjIuMiUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKQogICAgfQogICAgMzMuMyUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpCiAgICB9CiAgICA0NC40JSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKQogICAgfQogICAgNTUuNSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZykKICAgIH0KICAgIDY2LjYlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLS43ODEyNWRlZykgc2tld1koLS43ODEyNWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtLjc4MTI1ZGVnKSBza2V3WSgtLjc4MTI1ZGVnKQogICAgfQogICAgNzcuNyUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCguMzkwNjI1ZGVnKSBza2V3WSguMzkwNjI1ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC4zOTA2MjVkZWcpIHNrZXdZKC4zOTA2MjVkZWcpCiAgICB9CiAgICA4OC44JSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0uMTk1MzEyNWRlZykgc2tld1koLS4xOTUzMTI1ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0uMTk1MzEyNWRlZykgc2tld1koLS4xOTUzMTI1ZGVnKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lCiAgICB9Cn0KCi5qZWxsbyB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbzsKICAgIGFuaW1hdGlvbi1uYW1lOiBqZWxsbzsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyCn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7CiAgICAwJSwKICAgIDEwMCUsCiAgICAyMCUsCiAgICA0MCUsCiAgICA2MCUsCiAgICA4MCUgewogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSk7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSkKICAgIH0KICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKQogICAgfQogICAgMjAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkKICAgIH0KICAgIDQwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpCiAgICB9CiAgICA2MCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpCiAgICB9CiAgICA4MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSkKICAgIH0KfQoKQGtleWZyYW1lcyBib3VuY2VJbiB7CiAgICAwJSwKICAgIDEwMCUsCiAgICAyMCUsCiAgICA0MCUsCiAgICA2MCUsCiAgICA4MCUgewogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSk7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSkKICAgIH0KICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKQogICAgfQogICAgMjAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkKICAgIH0KICAgIDQwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpCiAgICB9CiAgICA2MCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpCiAgICB9CiAgICA4MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSkKICAgIH0KfQoKLmJvdW5jZUluIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOwogICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluCn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24gewogICAgMCUsCiAgICAxMDAlLAogICAgNjAlLAogICAgNzUlLAogICAgOTAlIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpCiAgICB9CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKQogICAgfQogICAgNjAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApCiAgICB9CiAgICA3NSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkKICAgIH0KICAgIDkwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUKICAgIH0KfQoKQGtleWZyYW1lcyBib3VuY2VJbkRvd24gewogICAgMCUsCiAgICAxMDAlLAogICAgNjAlLAogICAgNzUlLAogICAgOTAlIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpCiAgICB9CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKQogICAgfQogICAgNjAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApCiAgICB9CiAgICA3NSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkKICAgIH0KICAgIDkwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUKICAgIH0KfQoKLmJvdW5jZUluRG93biB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247CiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duCn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQgewogICAgMCUsCiAgICAxMDAlLAogICAgNjAlLAogICAgNzUlLAogICAgOTAlIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpCiAgICB9CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKQogICAgfQogICAgNjAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApCiAgICB9CiAgICA3NSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkKICAgIH0KICAgIDkwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUKICAgIH0KfQoKQGtleWZyYW1lcyBib3VuY2VJbkxlZnQgewogICAgMCUsCiAgICAxMDAlLAogICAgNjAlLAogICAgNzUlLAogICAgOTAlIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpCiAgICB9CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKQogICAgfQogICAgNjAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApCiAgICB9CiAgICA3NSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkKICAgIH0KICAgIDkwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUKICAgIH0KfQoKLmJvdW5jZUluTGVmdCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7CiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHsKICAgIDAlLAogICAgMTAwJSwKICAgIDYwJSwKICAgIDc1JSwKICAgIDkwJSB7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKQogICAgfQogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApCiAgICB9CiAgICA2MCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKQogICAgfQogICAgNzUlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKQogICAgfQogICAgOTAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lCiAgICB9Cn0KCkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7CiAgICAwJSwKICAgIDEwMCUsCiAgICA2MCUsCiAgICA3NSUsCiAgICA5MCUgewogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSk7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSkKICAgIH0KICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKQogICAgfQogICAgNjAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkKICAgIH0KICAgIDc1JSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkKICAgIH0KICAgIDkwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZQogICAgfQp9CgouYm91bmNlSW5SaWdodCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0OwogICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAgewogICAgMCUsCiAgICAxMDAlLAogICAgNjAlLAogICAgNzUlLAogICAgOTAlIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpCiAgICB9CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkKICAgIH0KICAgIDYwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApCiAgICB9CiAgICA3NSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApCiAgICB9CiAgICA5MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKQogICAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZUluVXAgewogICAgMCUsCiAgICAxMDAlLAogICAgNjAlLAogICAgNzUlLAogICAgOTAlIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpCiAgICB9CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkKICAgIH0KICAgIDYwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApCiAgICB9CiAgICA3NSUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApCiAgICB9CiAgICA5MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKQogICAgfQp9CgouYm91bmNlSW5VcCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOwogICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXAKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7CiAgICAyMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KQogICAgfQogICAgNTAlLAogICAgNTUlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMykKICAgIH0KfQoKQGtleWZyYW1lcyBib3VuY2VPdXQgewogICAgMjAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkKICAgIH0KICAgIDUwJSwKICAgIDU1JSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpCiAgICB9Cn0KCi5ib3VuY2VPdXQgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0OwogICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dAp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7CiAgICAyMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApCiAgICB9CiAgICA0MCUsCiAgICA0NSUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkKICAgIH0KfQoKQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHsKICAgIDIwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkKICAgIH0KICAgIDQwJSwKICAgIDQ1JSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKQogICAgfQp9CgouYm91bmNlT3V0RG93biB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duOwogICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd24KfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQgewogICAgMjAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApCiAgICB9Cn0KCkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7CiAgICAyMCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkKICAgIH0KfQoKLmJvdW5jZU91dExlZnQgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsKICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7CiAgICAyMCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkKICAgIH0KfQoKQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7CiAgICAyMCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkKICAgIH0KfQoKLmJvdW5jZU91dFJpZ2h0IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0OwogICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7CiAgICAyMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkKICAgIH0KICAgIDQwJSwKICAgIDQ1JSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKQogICAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHsKICAgIDIwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKQogICAgfQogICAgNDAlLAogICAgNDUlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApCiAgICB9Cn0KCi5ib3VuY2VPdXRVcCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDsKICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcAp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAwCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9Cn0KCkBrZXlmcmFtZXMgZmFkZUluIHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAwCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9Cn0KCi5mYWRlSW4gewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluOwogICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbgp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZQogICAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVJbkRvd24gewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUKICAgIH0KfQoKLmZhZGVJbkRvd24gewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsKICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duCn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZQogICAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lCiAgICB9Cn0KCi5mYWRlSW5Eb3duQmlnIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7CiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZQogICAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVJbkxlZnQgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUKICAgIH0KfQoKLmZhZGVJbkxlZnQgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsKICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZQogICAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lCiAgICB9Cn0KCi5mYWRlSW5MZWZ0QmlnIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7CiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lCiAgICB9Cn0KCkBrZXlmcmFtZXMgZmFkZUluUmlnaHQgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lCiAgICB9Cn0KCi5mYWRlSW5SaWdodCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsKICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodAp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZQogICAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUKICAgIH0KfQoKLmZhZGVJblJpZ2h0QmlnIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnOwogICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnCn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUKICAgIH0KfQoKQGtleWZyYW1lcyBmYWRlSW5VcCB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUKICAgIH0KfQoKLmZhZGVJblVwIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOwogICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwCn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lCiAgICB9Cn0KCkBrZXlmcmFtZXMgZmFkZUluVXBCaWcgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZQogICAgfQp9CgouZmFkZUluVXBCaWcgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7CiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWcKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0IHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAwCiAgICB9Cn0KCi5mYWRlT3V0IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7CiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dAp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24gewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCkKICAgIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0RG93biB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKQogICAgfQp9CgouZmFkZU91dERvd24gewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247CiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd24KfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKQogICAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKQogICAgfQp9CgouZmFkZU91dERvd25CaWcgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7CiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWcKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkKICAgIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApCiAgICB9Cn0KCi5mYWRlT3V0TGVmdCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsKICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdAp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkKICAgIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKQogICAgfQp9CgouZmFkZU91dExlZnRCaWcgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7CiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWcKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKQogICAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKQogICAgfQp9CgouZmFkZU91dFJpZ2h0IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDsKICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkKICAgIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApCiAgICB9Cn0KCi5mYWRlT3V0UmlnaHRCaWcgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnOwogICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCkKICAgIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0VXAgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKQogICAgfQp9CgouZmFkZU91dFVwIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsKICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXAKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKQogICAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKQogICAgfQp9CgouZmFkZU91dFVwQmlnIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZzsKICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWcKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dAogICAgfQogICAgNDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dAogICAgfQogICAgNTAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4KICAgIH0KICAgIDgwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4KICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4KICAgIH0KfQoKQGtleWZyYW1lcyBmbGlwIHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQKICAgIH0KICAgIDQwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQKICAgIH0KICAgIDUwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluCiAgICB9CiAgICA4MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluCiAgICB9Cn0KCi5hbmltYXRlZC5mbGlwIHsKICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTsKICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwOwogICAgYW5pbWF0aW9uLW5hbWU6IGZsaXAKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblggewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBvcGFjaXR5OiAwCiAgICB9CiAgICA0MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluCiAgICB9CiAgICA2MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICA4MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KQogICAgfQp9CgpAa2V5ZnJhbWVzIGZsaXBJblggewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBvcGFjaXR5OiAwCiAgICB9CiAgICA0MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluCiAgICB9CiAgICA2MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICA4MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KQogICAgfQp9CgouZmxpcEluWCB7CiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7CiAgICBhbmltYXRpb24tbmFtZTogZmxpcEluWAp9CgpALXdlYmtpdC1rZXlmcmFtZXMgUngtd2lkdGgtNTAgewogICAgMCUgewogICAgICAgIHdpZHRoOiAwJQogICAgfQogICAgMTAwJSB7CiAgICAgICAgd2lkdGg6IDUwJQogICAgfQp9CgpAa2V5ZnJhbWVzIFJ4LXdpZHRoLTUwIHsKICAgIDAlIHsKICAgICAgICB3aWR0aDogMCUKICAgIH0KICAgIDEwMCUgewogICAgICAgIHdpZHRoOiA1MCUKICAgIH0KfQoKQC13ZWJraXQta2V5ZnJhbWVzIFJ4LXdpZHRoLTc1IHsKICAgIDAlIHsKICAgICAgICB3aWR0aDogMCUKICAgIH0KICAgIDEwMCUgewogICAgICAgIHdpZHRoOiA3NSUKICAgIH0KfQoKQGtleWZyYW1lcyBSeC13aWR0aC03NSB7CiAgICAwJSB7CiAgICAgICAgd2lkdGg6IDAlCiAgICB9CiAgICAxMDAlIHsKICAgICAgICB3aWR0aDogNzUlCiAgICB9Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBSeC13aWR0aC02NSB7CiAgICAwJSB7CiAgICAgICAgd2lkdGg6IDAlCiAgICB9CiAgICAxMDAlIHsKICAgICAgICB3aWR0aDogNjUlCiAgICB9Cn0KCkBrZXlmcmFtZXMgUngtd2lkdGgtNjUgewogICAgMCUgewogICAgICAgIHdpZHRoOiAwJQogICAgfQogICAgMTAwJSB7CiAgICAgICAgd2lkdGg6IDY1JQogICAgfQp9CgpALXdlYmtpdC1rZXlmcmFtZXMgUngtd2lkdGgtNjAgewogICAgMCUgewogICAgICAgIHdpZHRoOiAwJQogICAgfQogICAgMTAwJSB7CiAgICAgICAgd2lkdGg6IDYwJQogICAgfQp9CgpAa2V5ZnJhbWVzIFJ4LXdpZHRoLTYwIHsKICAgIDAlIHsKICAgICAgICB3aWR0aDogMCUKICAgIH0KICAgIDEwMCUgewogICAgICAgIHdpZHRoOiA2MCUKICAgIH0KfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBvcGFjaXR5OiAwCiAgICB9CiAgICA0MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluCiAgICB9CiAgICA2MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICA4MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KQogICAgfQp9CgpAa2V5ZnJhbWVzIGZsaXBJblkgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBvcGFjaXR5OiAwCiAgICB9CiAgICA0MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluCiAgICB9CiAgICA2MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICA4MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KQogICAgfQp9CgouZmxpcEluWSB7CiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7CiAgICBhbmltYXRpb24tbmFtZTogZmxpcEluWQp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFggewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkKICAgIH0KICAgIDMwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KfQoKQGtleWZyYW1lcyBmbGlwT3V0WCB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KQogICAgfQogICAgMzAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7CiAgICAgICAgb3BhY2l0eTogMAogICAgfQp9CgouZmxpcE91dFggewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7CiAgICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7CiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudAp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkKICAgIH0KICAgIDMwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KfQoKQGtleWZyYW1lcyBmbGlwT3V0WSB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KQogICAgfQogICAgMzAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7CiAgICAgICAgb3BhY2l0eTogMAogICAgfQp9CgouZmxpcE91dFkgewogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTsKICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WQp9CgpALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluIHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7CiAgICAgICAgb3BhY2l0eTogMAogICAgfQogICAgNjAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpOwogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KICAgIDgwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQp9CgpAa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KICAgIDYwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICA4MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KfQoKLmxpZ2h0U3BlZWRJbiB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47CiAgICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KfQoKQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KfQoKLmxpZ2h0U3BlZWRPdXQgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDsKICAgIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0OwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbgp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4gewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTsKICAgICAgICBvcGFjaXR5OiAwCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KfQoKQGtleWZyYW1lcyByb3RhdGVJbiB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQp9Cgoucm90YXRlSW4gewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47CiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlSW4KfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KfQoKQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsKICAgICAgICBvcGFjaXR5OiAwCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZTsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9Cn0KCi5yb3RhdGVJbkRvd25MZWZ0IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7CiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdAp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQp9CgpAa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsKICAgICAgICBvcGFjaXR5OiAwCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KfQoKLnJvdGF0ZUluRG93blJpZ2h0IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0OwogICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KfQoKQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KfQoKLnJvdGF0ZUluVXBMZWZ0IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0OwogICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7CiAgICAgICAgb3BhY2l0eTogMAogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZTsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9Cn0KCkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQp9Cgoucm90YXRlSW5VcFJpZ2h0IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsKICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7CiAgICAgICAgb3BhY2l0eTogMAogICAgfQp9CgpAa2V5ZnJhbWVzIHJvdGF0ZU91dCB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7CiAgICAgICAgb3BhY2l0eTogMAogICAgfQp9Cgoucm90YXRlT3V0IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDsKICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsKICAgICAgICBvcGFjaXR5OiAwCiAgICB9Cn0KCkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KfQoKLnJvdGF0ZU91dERvd25MZWZ0IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0OwogICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KfQoKQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KfQoKLnJvdGF0ZU91dERvd25SaWdodCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7CiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7CiAgICAgICAgb3BhY2l0eTogMAogICAgfQp9CgpAa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsKICAgICAgICBvcGFjaXR5OiAwCiAgICB9Cn0KCi5yb3RhdGVPdXRVcExlZnQgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0OwogICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdAp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KfQoKQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7CiAgICAgICAgb3BhY2l0eTogMAogICAgfQp9Cgoucm90YXRlT3V0VXBSaWdodCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0OwogICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQKICAgIH0KICAgIDIwJSwKICAgIDYwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQKICAgIH0KICAgIDQwJSwKICAgIDgwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTsKICAgICAgICBvcGFjaXR5OiAwCiAgICB9Cn0KCkBrZXlmcmFtZXMgaGluZ2UgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dAogICAgfQogICAgMjAlLAogICAgNjAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dAogICAgfQogICAgNDAlLAogICAgODAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KfQoKLmhpbmdlIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlOwogICAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlCn0KCkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4gewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUKICAgIH0KfQoKQGtleWZyYW1lcyByb2xsSW4gewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUKICAgIH0KfQoKLnJvbGxJbiB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47CiAgICBhbmltYXRpb24tbmFtZTogcm9sbEluCn0KCkAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0IHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKQogICAgfQp9CgpAa2V5ZnJhbWVzIHJvbGxPdXQgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpCiAgICB9Cn0KCi5yb2xsT3V0IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7CiAgICBhbmltYXRpb24tbmFtZTogcm9sbE91dAp9CgpALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKQogICAgfQogICAgNTAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9Cn0KCkBrZXlmcmFtZXMgem9vbUluIHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKQogICAgfQogICAgNTAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9Cn0KCi56b29tSW4gewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluOwogICAgYW5pbWF0aW9uLW5hbWU6IHpvb21Jbgp9CgpALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSkKICAgIH0KICAgIDYwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKQogICAgfQp9CgpAa2V5ZnJhbWVzIHpvb21JbkRvd24gewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NSwgLjA1NSwgLjY3NSwgLjE5KTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpCiAgICB9CiAgICA2MCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMSk7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMSkKICAgIH0KfQoKLnpvb21JbkRvd24gewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluRG93bjsKICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duCn0KCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5MZWZ0IHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSk7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NSwgLjA1NSwgLjY3NSwgLjE5KQogICAgfQogICAgNjAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpCiAgICB9Cn0KCkBrZXlmcmFtZXMgem9vbUluTGVmdCB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSkKICAgIH0KICAgIDYwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKQogICAgfQp9Cgouem9vbUluTGVmdCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0OwogICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSkKICAgIH0KICAgIDYwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpCiAgICB9Cn0KCkBrZXlmcmFtZXMgem9vbUluUmlnaHQgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSk7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NSwgLjA1NSwgLjY3NSwgLjE5KQogICAgfQogICAgNjAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMSk7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMSkKICAgIH0KfQoKLnpvb21JblJpZ2h0IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0OwogICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NSwgLjA1NSwgLjY3NSwgLjE5KTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpCiAgICB9CiAgICA2MCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKQogICAgfQp9CgpAa2V5ZnJhbWVzIHpvb21JblVwIHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSkKICAgIH0KICAgIDYwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpCiAgICB9Cn0KCi56b29tSW5VcCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDsKICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcAp9CgpALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dCB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQogICAgNTAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMAogICAgfQp9CgpAa2V5ZnJhbWVzIHpvb21PdXQgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KICAgIDUwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMykKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KfQoKLnpvb21PdXQgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDsKICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7CiAgICA0MCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSkKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpCiAgICB9Cn0KCkBrZXlmcmFtZXMgem9vbU91dERvd24gewogICAgNDAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NSwgLjA1NSwgLjY3NSwgLjE5KTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKQogICAgfQp9Cgouem9vbU91dERvd24gewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dERvd247CiAgICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd24KfQoKQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHsKICAgIDQwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCkKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyCiAgICB9Cn0KCkBrZXlmcmFtZXMgem9vbU91dExlZnQgewogICAgNDAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXIKICAgIH0KfQoKLnpvb21PdXRMZWZ0IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0OwogICAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQgewogICAgNDAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcgogICAgfQp9CgpAa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7CiAgICA0MCUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCkKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyCiAgICB9Cn0KCi56b29tT3V0UmlnaHQgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0OwogICAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodAp9CgpALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHsKICAgIDQwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSkKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMSk7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMSkKICAgIH0KfQoKQGtleWZyYW1lcyB6b29tT3V0VXAgewogICAgNDAlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSk7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NSwgLjA1NSwgLjY3NSwgLjE5KQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKQogICAgfQp9Cgouem9vbU91dFVwIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDsKICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXAKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOwogICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApCiAgICB9Cn0KCkBrZXlmcmFtZXMgc2xpZGVJbkRvd24gewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkKICAgIH0KfQoKLnNsaWRlSW5Eb3duIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duOwogICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duCn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsKICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKQogICAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApCiAgICB9Cn0KCi5zbGlkZUluTGVmdCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDsKICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdAp9CgpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsKICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKQogICAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkKICAgIH0KfQoKLnNsaWRlSW5SaWdodCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7CiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluVXAgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApCiAgICB9Cn0KCkBrZXlmcmFtZXMgc2xpZGVJblVwIHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsKICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKQogICAgfQp9Cgouc2xpZGVJblVwIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDsKICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXAKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkKICAgIH0KICAgIDEwMCUgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKQogICAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkKICAgIH0KICAgIDEwMCUgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKQogICAgfQp9Cgouc2xpZGVPdXREb3duIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjsKICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd24KfQoKQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkKICAgIH0KICAgIDEwMCUgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApCiAgICB9Cn0KCkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkKICAgIH0KfQoKLnNsaWRlT3V0TGVmdCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7CiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApCiAgICB9Cn0KCkBrZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkKICAgIH0KICAgIDEwMCUgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKQogICAgfQp9Cgouc2xpZGVPdXRSaWdodCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0OwogICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXAgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKQogICAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlT3V0VXAgewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKQogICAgfQp9Cgouc2xpZGVPdXRVcCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwOwogICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXAKfQoKLyohCiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMy4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tCiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpCiAqLwoKQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgc3JjOiB1cmwoLi4vZm9udHMvZmEtYnJhbmRzLTQwMC5lb3QpOwogICAgc3JjOiB1cmwoLi4vZm9udHMvZmEtYnJhbmRzLTQwMGQ0MWQuZW90PyNpZWZpeCkgZm9ybWF0KCJlbWJlZGRlZC1vcGVudHlwZSIpLCB1cmwoLi4vZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmMikgZm9ybWF0KCJ3b2ZmMiIpLCB1cmwoLi4vZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmKSBmb3JtYXQoIndvZmYiKSwgdXJsKC4uL2ZvbnRzL2ZhLWJyYW5kcy00MDAudHRmKSBmb3JtYXQoInRydWV0eXBlIiksIHVybCguLi9mb250cy9mYS1icmFuZHMtNDAwLnN2ZyNmb250YXdlc29tZSkgZm9ybWF0KCJzdmciKQp9CgouZmFiIHsKICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJwp9CgouZmEsCi5mYWIsCi5mYWwsCi5mYXIsCi5mYXMgewogICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC12YXJpYW50OiBub3JtYWw7CiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bzsKICAgIGxpbmUtaGVpZ2h0OiAxCn0KCi5mYS1sZyB7CiAgICBmb250LXNpemU6IDEuMzMzMzNlbTsKICAgIGxpbmUtaGVpZ2h0OiAuNzVlbTsKICAgIHZlcnRpY2FsLWFsaWduOiAtLjA2NjdlbQp9CgouZmEteHMgewogICAgZm9udC1zaXplOiAuNzVlbQp9CgouZmEtc20gewogICAgZm9udC1zaXplOiAuODc1ZW0KfQoKLmZhLTF4IHsKICAgIGZvbnQtc2l6ZTogMWVtCn0KCi5mYS0yeCB7CiAgICBmb250LXNpemU6IDJlbQp9CgouZmEtM3ggewogICAgZm9udC1zaXplOiAzZW0KfQoKLmZhLTR4IHsKICAgIGZvbnQtc2l6ZTogNGVtCn0KCi5mYS01eCB7CiAgICBmb250LXNpemU6IDVlbQp9CgouZmEtNnggewogICAgZm9udC1zaXplOiA2ZW0KfQoKLmZhLTd4IHsKICAgIGZvbnQtc2l6ZTogN2VtCn0KCi5mYS04eCB7CiAgICBmb250LXNpemU6IDhlbQp9CgouZmEtOXggewogICAgZm9udC1zaXplOiA5ZW0KfQoKLmZhLTEweCB7CiAgICBmb250LXNpemU6IDEwZW0KfQoKLmZhLWZ3IHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHdpZHRoOiAxLjI1ZW0KfQoKLmZhLXVsIHsKICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICAgIG1hcmdpbi1sZWZ0OiAyLjVlbTsKICAgIHBhZGRpbmctbGVmdDogMAp9CgouZmEtdWw+bGkgewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5mYS1saSB7CiAgICBsZWZ0OiAtMmVtOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgd2lkdGg6IDJlbTsKICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0Cn0KCi5mYS1ib3JkZXIgewogICAgYm9yZGVyOiAuMDhlbSBzb2xpZCAjZWVlOwogICAgYm9yZGVyLXJhZGl1czogLjFlbTsKICAgIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW0KfQoKLmZhLXB1bGwtbGVmdCB7CiAgICBmbG9hdDogbGVmdAp9CgouZmEtcHVsbC1yaWdodCB7CiAgICBmbG9hdDogcmlnaHQKfQoKLmZhLmZhLXB1bGwtbGVmdCwKLmZhYi5mYS1wdWxsLWxlZnQsCi5mYWwuZmEtcHVsbC1sZWZ0LAouZmFyLmZhLXB1bGwtbGVmdCwKLmZhcy5mYS1wdWxsLWxlZnQgewogICAgbWFyZ2luLXJpZ2h0OiAuM2VtCn0KCi5mYS5mYS1wdWxsLXJpZ2h0LAouZmFiLmZhLXB1bGwtcmlnaHQsCi5mYWwuZmEtcHVsbC1yaWdodCwKLmZhci5mYS1wdWxsLXJpZ2h0LAouZmFzLmZhLXB1bGwtcmlnaHQgewogICAgbWFyZ2luLWxlZnQ6IC4zZW0KfQoKLmZhLXNwaW4gewogICAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcgp9CgouZmEtcHVsc2UgewogICAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpCn0KCkBrZXlmcmFtZXMgZmEtc3BpbiB7CiAgICAwJSB7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCkKICAgIH0KICAgIHRvIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybikKICAgIH0KfQoKLmZhLXJvdGF0ZS05MCB7CiAgICAtbXMtZmlsdGVyOiAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MSkiOwogICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpCn0KCi5mYS1yb3RhdGUtMTgwIHsKICAgIC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKSI7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpCn0KCi5mYS1yb3RhdGUtMjcwIHsKICAgIC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0zKSI7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpCn0KCi5mYS1mbGlwLWhvcml6b250YWwgewogICAgLW1zLWZpbHRlcjogInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKSI7CiAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSkKfQoKLmZhLWZsaXAtdmVydGljYWwgewogICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpCn0KCi5mYS1mbGlwLWhvcml6b250YWwuZmEtZmxpcC12ZXJ0aWNhbCwKLmZhLWZsaXAtdmVydGljYWwgewogICAgLW1zLWZpbHRlcjogInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIsIG1pcnJvcj0xKSIKfQoKLmZhLWZsaXAtaG9yaXpvbnRhbC5mYS1mbGlwLXZlcnRpY2FsIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoLTEpCn0KCjpyb290IC5mYS1mbGlwLWhvcml6b250YWwsCjpyb290IC5mYS1mbGlwLXZlcnRpY2FsLAo6cm9vdCAuZmEtcm90YXRlLTE4MCwKOnJvb3QgLmZhLXJvdGF0ZS0yNzAsCjpyb290IC5mYS1yb3RhdGUtOTAgewogICAgZmlsdGVyOiBub25lCn0KCi5mYS1zdGFjayB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBoZWlnaHQ6IDJlbTsKICAgIGxpbmUtaGVpZ2h0OiAyZW07CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgd2lkdGg6IDIuNWVtCn0KCi5mYS1zdGFjay0xeCwKLmZhLXN0YWNrLTJ4IHsKICAgIGxlZnQ6IDA7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB3aWR0aDogMTAwJQp9CgouZmEtc3RhY2stMXggewogICAgbGluZS1oZWlnaHQ6IGluaGVyaXQKfQoKLmZhLXN0YWNrLTJ4IHsKICAgIGZvbnQtc2l6ZTogMmVtCn0KCi5mYS1pbnZlcnNlIHsKICAgIGNvbG9yOiAjZmZmCn0KCi5mYS01MDBweDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjZlIgp9CgouZmEtYWNjZXNzaWJsZS1pY29uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNjgiCn0KCi5mYS1hY2N1c29mdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzY5Igp9CgouZmEtYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZDpiZWZvcmUgewogICAgY29udGVudDogIlxmNmFmIgp9CgouZmEtYWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY0MSIKfQoKLmZhLWFkZHJlc3MtYm9vazpiZWZvcmUgewogICAgY29udGVudDogIlxmMmI5Igp9CgouZmEtYWRkcmVzcy1jYXJkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYmIiCn0KCi5mYS1hZGp1c3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA0MiIKfQoKLmZhLWFkbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTcwIgp9CgouZmEtYWRvYmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc3OCIKfQoKLmZhLWFkdmVyc2FsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNmEiCn0KCi5mYS1hZmZpbGlhdGV0aGVtZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzZiIgp9CgouZmEtYWlyLWZyZXNoZW5lcjpiZWZvcmUgewogICAgY29udGVudDogIlxmNWQwIgp9CgouZmEtYWxnb2xpYTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzZjIgp9CgouZmEtYWxpZ24tY2VudGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMzciCn0KCi5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMzkiCn0KCi5mYS1hbGlnbi1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMzYiCn0KCi5mYS1hbGlnbi1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDM4Igp9CgouZmEtYWxpcGF5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2NDIiCn0KCi5mYS1hbGxlcmdpZXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ2MSIKfQoKLmZhLWFtYXpvbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjcwIgp9CgouZmEtYW1hem9uLXBheTpiZWZvcmUgewogICAgY29udGVudDogIlxmNDJjIgp9CgouZmEtYW1idWxhbmNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZjkiCn0KCi5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmUgewogICAgY29udGVudDogIlxmMmEzIgp9CgouZmEtYW1pbGlhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNmQiCn0KCi5mYS1hbmNob3I6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEzZCIKfQoKLmZhLWFuZHJvaWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE3YiIKfQoKLmZhLWFuZ2VsbGlzdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjA5Igp9CgouZmEtYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEwMyIKfQoKLmZhLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMDAiCn0KCi5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEwMSIKfQoKLmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTAyIgp9CgouZmEtYW5nbGUtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTA3Igp9CgouZmEtYW5nbGUtbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTA0Igp9CgouZmEtYW5nbGUtcmlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEwNSIKfQoKLmZhLWFuZ2xlLXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMDYiCn0KCi5mYS1hbmdyeTpiZWZvcmUgewogICAgY29udGVudDogIlxmNTU2Igp9CgouZmEtYW5ncnljcmVhdGl2ZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzZlIgp9CgouZmEtYW5ndWxhcjpiZWZvcmUgewogICAgY29udGVudDogIlxmNDIwIgp9CgouZmEtYW5raDpiZWZvcmUgewogICAgY29udGVudDogIlxmNjQ0Igp9CgouZmEtYXBwLXN0b3JlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNmYiCn0KCi5mYS1hcHAtc3RvcmUtaW9zOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNzAiCn0KCi5mYS1hcHBlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzcxIgp9CgouZmEtYXBwbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE3OSIKfQoKLmZhLWFwcGxlLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmNWQxIgp9CgouZmEtYXBwbGUtcGF5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MTUiCn0KCi5mYS1hcmNoaXZlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxODciCn0KCi5mYS1hcmNod2F5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NTciCn0KCi5mYS1hcnJvdy1hbHQtY2lyY2xlLWRvd246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM1OCIKfQoKLmZhLWFycm93LWFsdC1jaXJjbGUtbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzU5Igp9CgouZmEtYXJyb3ctYWx0LWNpcmNsZS1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzVhIgp9CgouZmEtYXJyb3ctYWx0LWNpcmNsZS11cDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzViIgp9CgouZmEtYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBhYiIKfQoKLmZhLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwYTgiCn0KCi5mYS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBhOSIKfQoKLmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmUgewogICAgY29udGVudDogIlxmMGFhIgp9CgouZmEtYXJyb3ctZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMDYzIgp9CgouZmEtYXJyb3ctbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDYwIgp9CgouZmEtYXJyb3ctcmlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA2MSIKfQoKLmZhLWFycm93LXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwNjIiCn0KCi5mYS1hcnJvd3MtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwYjIiCn0KCi5mYS1hcnJvd3MtYWx0LWg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMzNyIKfQoKLmZhLWFycm93cy1hbHQtdjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzM4Igp9CgouZmEtYXJ0c3RhdGlvbjpiZWZvcmUgewogICAgY29udGVudDogIlxmNzdhIgp9CgouZmEtYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYTIiCn0KCi5mYS1hc3RlcmlzazpiZWZvcmUgewogICAgY29udGVudDogIlxmMDY5Igp9CgouZmEtYXN5bW1ldHJpazpiZWZvcmUgewogICAgY29udGVudDogIlxmMzcyIgp9CgouZmEtYXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFmYSIKfQoKLmZhLWF0bGFzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NTgiCn0KCi5mYS1hdGxhc3NpYW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc3YiIKfQoKLmZhLWF0b206YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjVkMiIKfQoKLmZhLWF1ZGlibGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM3MyIKfQoKLmZhLWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOWUiCn0KCi5mYS1hdXRvcHJlZml4ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQxYyIKfQoKLmZhLWF2aWFuZXg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM3NCIKfQoKLmZhLWF2aWF0bzpiZWZvcmUgewogICAgY29udGVudDogIlxmNDIxIgp9CgouZmEtYXdhcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU1OSIKfQoKLmZhLWF3czpiZWZvcmUgewogICAgY29udGVudDogIlxmMzc1Igp9CgouZmEtYmFieTpiZWZvcmUgewogICAgY29udGVudDogIlxmNzdjIgp9CgouZmEtYmFieS1jYXJyaWFnZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNzdkIgp9CgouZmEtYmFja3NwYWNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NWEiCn0KCi5mYS1iYWNrd2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDRhIgp9CgouZmEtYmFsYW5jZS1zY2FsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjRlIgp9CgouZmEtYmFuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwNWUiCn0KCi5mYS1iYW5kLWFpZDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDYyIgp9CgouZmEtYmFuZGNhbXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJkNSIKfQoKLmZhLWJhcmNvZGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAyYSIKfQoKLmZhLWJhcnM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBjOSIKfQoKLmZhLWJhc2ViYWxsLWJhbGw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQzMyIKfQoKLmZhLWJhc2tldGJhbGwtYmFsbDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDM0Igp9CgouZmEtYmF0aDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmNkIgp9CgouZmEtYmF0dGVyeS1lbXB0eTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjQ0Igp9CgouZmEtYmF0dGVyeS1mdWxsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNDAiCn0KCi5mYS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI0MiIKfQoKLmZhLWJhdHRlcnktcXVhcnRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjQzIgp9CgouZmEtYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmUgewogICAgY29udGVudDogIlxmMjQxIgp9CgouZmEtYmVkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMzYiCn0KCi5mYS1iZWVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZmMiCn0KCi5mYS1iZWhhbmNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYjQiCn0KCi5mYS1iZWhhbmNlLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWI1Igp9CgouZmEtYmVsbDpiZWZvcmUgewogICAgY29udGVudDogIlxmMGYzIgp9CgouZmEtYmVsbC1zbGFzaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWY2Igp9CgouZmEtYmV6aWVyLWN1cnZlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NWIiCn0KCi5mYS1iaWJsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNjQ3Igp9CgouZmEtYmljeWNsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjA2Igp9CgouZmEtYmltb2JqZWN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNzgiCn0KCi5mYS1iaW5vY3VsYXJzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZTUiCn0KCi5mYS1iaW9oYXphcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc4MCIKfQoKLmZhLWJpcnRoZGF5LWNha2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFmZCIKfQoKLmZhLWJpdGJ1Y2tldDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTcxIgp9CgouZmEtYml0Y29pbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzc5Igp9CgouZmEtYml0eTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzdhIgp9CgouZmEtYmxhY2stdGllOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyN2UiCn0KCi5mYS1ibGFja2JlcnJ5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzN2IiCn0KCi5mYS1ibGVuZGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MTciCn0KCi5mYS1ibGVuZGVyLXBob25lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2YjYiCn0KCi5mYS1ibGluZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjlkIgp9CgouZmEtYmxvZzpiZWZvcmUgewogICAgY29udGVudDogIlxmNzgxIgp9CgouZmEtYmxvZ2dlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzdjIgp9CgouZmEtYmxvZ2dlci1iOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzN2QiCn0KCi5mYS1ibHVldG9vdGg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI5MyIKfQoKLmZhLWJsdWV0b290aC1iOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOTQiCn0KCi5mYS1ib2xkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMzIiCn0KCi5mYS1ib2x0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZTciCn0KCi5mYS1ib21iOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZTIiCn0KCi5mYS1ib25lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1ZDciCn0KCi5mYS1ib25nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NWMiCn0KCi5mYS1ib29rOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMmQiCn0KCi5mYS1ib29rLWRlYWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjZiNyIKfQoKLmZhLWJvb2stb3BlbjpiZWZvcmUgewogICAgY29udGVudDogIlxmNTE4Igp9CgouZmEtYm9vay1yZWFkZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjVkYSIKfQoKLmZhLWJvb2ttYXJrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMmUiCn0KCi5mYS1ib3dsaW5nLWJhbGw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQzNiIKfQoKLmZhLWJveDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDY2Igp9CgouZmEtYm94LW9wZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ5ZSIKfQoKLmZhLWJveGVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0NjgiCn0KCi5mYS1icmFpbGxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYTEiCn0KCi5mYS1icmFpbjpiZWZvcmUgewogICAgY29udGVudDogIlxmNWRjIgp9CgouZmEtYnJpZWZjYXNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwYjEiCn0KCi5mYS1icmllZmNhc2UtbWVkaWNhbDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDY5Igp9CgouZmEtYnJvYWRjYXN0LXRvd2VyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MTkiCn0KCi5mYS1icm9vbTpiZWZvcmUgewogICAgY29udGVudDogIlxmNTFhIgp9CgouZmEtYnJ1c2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU1ZCIKfQoKLmZhLWJ0YzpiZWZvcmUgewogICAgY29udGVudDogIlxmMTVhIgp9CgouZmEtYnVnOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxODgiCn0KCi5mYS1idWlsZGluZzpiZWZvcmUgewogICAgY29udGVudDogIlxmMWFkIgp9CgouZmEtYnVsbGhvcm46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBhMSIKfQoKLmZhLWJ1bGxzZXllOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNDAiCn0KCi5mYS1idXJuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0NmEiCn0KCi5mYS1idXJvbW9iZWxleHBlcnRlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzN2YiCn0KCi5mYS1idXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwNyIKfQoKLmZhLWJ1cy1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU1ZSIKfQoKLmZhLWJ1c2luZXNzLXRpbWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY0YSIKfQoKLmZhLWJ1eXNlbGxhZHM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwZCIKfQoKLmZhLWNhbGN1bGF0b3I6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlYyIKfQoKLmZhLWNhbGVuZGFyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMzMiCn0KCi5mYS1jYWxlbmRhci1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA3MyIKfQoKLmZhLWNhbGVuZGFyLWNoZWNrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNzQiCn0KCi5mYS1jYWxlbmRhci1kYXk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc4MyIKfQoKLmZhLWNhbGVuZGFyLW1pbnVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNzIiCn0KCi5mYS1jYWxlbmRhci1wbHVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNzEiCn0KCi5mYS1jYWxlbmRhci10aW1lczpiZWZvcmUgewogICAgY29udGVudDogIlxmMjczIgp9CgouZmEtY2FsZW5kYXItd2VlazpiZWZvcmUgewogICAgY29udGVudDogIlxmNzg0Igp9CgouZmEtY2FtZXJhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMzAiCn0KCi5mYS1jYW1lcmEtcmV0cm86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA4MyIKfQoKLmZhLWNhbXBncm91bmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjZiYiIKfQoKLmZhLWNhbmFkaWFuLW1hcGxlLWxlYWY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc4NSIKfQoKLmZhLWNhbmR5LWNhbmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc4NiIKfQoKLmZhLWNhbm5hYmlzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NWYiCn0KCi5mYS1jYXBzdWxlczpiZWZvcmUgewogICAgY29udGVudDogIlxmNDZiIgp9CgouZmEtY2FyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYjkiCn0KCi5mYS1jYXItYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1ZGUiCn0KCi5mYS1jYXItYmF0dGVyeTpiZWZvcmUgewogICAgY29udGVudDogIlxmNWRmIgp9CgouZmEtY2FyLWNyYXNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1ZTEiCn0KCi5mYS1jYXItc2lkZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNWU0Igp9CgouZmEtY2FyZXQtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMGQ3Igp9CgouZmEtY2FyZXQtbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMGQ5Igp9CgouZmEtY2FyZXQtcmlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBkYSIKfQoKLmZhLWNhcmV0LXNxdWFyZS1kb3duOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNTAiCn0KCi5mYS1jYXJldC1zcXVhcmUtbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTkxIgp9CgouZmEtY2FyZXQtc3F1YXJlLXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNTIiCn0KCi5mYS1jYXJldC1zcXVhcmUtdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE1MSIKfQoKLmZhLWNhcmV0LXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZDgiCn0KCi5mYS1jYXJyb3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc4NyIKfQoKLmZhLWNhcnQtYXJyb3ctZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjE4Igp9CgouZmEtY2FydC1wbHVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMTciCn0KCi5mYS1jYXNoLXJlZ2lzdGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3ODgiCn0KCi5mYS1jYXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjZiZSIKfQoKLmZhLWNjLWFtYXpvbi1wYXk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQyZCIKfQoKLmZhLWNjLWFtZXg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFmMyIKfQoKLmZhLWNjLWFwcGxlLXBheTpiZWZvcmUgewogICAgY29udGVudDogIlxmNDE2Igp9CgouZmEtY2MtZGluZXJzLWNsdWI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI0YyIKfQoKLmZhLWNjLWRpc2NvdmVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZjIiCn0KCi5mYS1jYy1qY2I6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI0YiIKfQoKLmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFmMSIKfQoKLmZhLWNjLXBheXBhbDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWY0Igp9CgouZmEtY2Mtc3RyaXBlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZjUiCn0KCi5mYS1jYy12aXNhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZjAiCn0KCi5mYS1jZW50ZXJjb2RlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzODAiCn0KCi5mYS1jZW50b3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc4OSIKfQoKLmZhLWNlcnRpZmljYXRlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwYTMiCn0KCi5mYS1jaGFpcjpiZWZvcmUgewogICAgY29udGVudDogIlxmNmMwIgp9CgouZmEtY2hhbGtib2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTFiIgp9CgouZmEtY2hhbGtib2FyZC10ZWFjaGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MWMiCn0KCi5mYS1jaGFyZ2luZy1zdGF0aW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1ZTciCn0KCi5mYS1jaGFydC1hcmVhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZmUiCn0KCi5mYS1jaGFydC1iYXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA4MCIKfQoKLmZhLWNoYXJ0LWxpbmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwMSIKfQoKLmZhLWNoYXJ0LXBpZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjAwIgp9CgouZmEtY2hlY2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAwYyIKfQoKLmZhLWNoZWNrLWNpcmNsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMDU4Igp9CgouZmEtY2hlY2stZG91YmxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NjAiCn0KCi5mYS1jaGVjay1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE0YSIKfQoKLmZhLWNoZXNzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MzkiCn0KCi5mYS1jaGVzcy1iaXNob3A6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQzYSIKfQoKLmZhLWNoZXNzLWJvYXJkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0M2MiCn0KCi5mYS1jaGVzcy1raW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0M2YiCn0KCi5mYS1jaGVzcy1rbmlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ0MSIKfQoKLmZhLWNoZXNzLXBhd246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ0MyIKfQoKLmZhLWNoZXNzLXF1ZWVuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0NDUiCn0KCi5mYS1jaGVzcy1yb29rOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0NDciCn0KCi5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxM2EiCn0KCi5mYS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMzciCn0KCi5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTM4Igp9CgouZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEzOSIKfQoKLmZhLWNoZXZyb24tZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMDc4Igp9CgouZmEtY2hldnJvbi1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwNTMiCn0KCi5mYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwNTQiCn0KCi5mYS1jaGV2cm9uLXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwNzciCn0KCi5mYS1jaGlsZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWFlIgp9CgouZmEtY2hyb21lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNjgiCn0KCi5mYS1jaHVyY2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUxZCIKfQoKLmZhLWNpcmNsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTExIgp9CgouZmEtY2lyY2xlLW5vdGNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxY2UiCn0KCi5mYS1jaXR5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2NGYiCn0KCi5mYS1jbGlwYm9hcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMyOCIKfQoKLmZhLWNsaXBib2FyZC1jaGVjazpiZWZvcmUgewogICAgY29udGVudDogIlxmNDZjIgp9CgouZmEtY2xpcGJvYXJkLWxpc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ2ZCIKfQoKLmZhLWNsb2NrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMTciCn0KCi5mYS1jbG9uZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjRkIgp9CgouZmEtY2xvc2VkLWNhcHRpb25pbmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwYSIKfQoKLmZhLWNsb3VkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwYzIiCn0KCi5mYS1jbG91ZC1kb3dubG9hZC1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM4MSIKfQoKLmZhLWNsb3VkLW1lYXRiYWxsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3M2IiCn0KCi5mYS1jbG91ZC1tb29uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2YzMiCn0KCi5mYS1jbG91ZC1tb29uLXJhaW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjczYyIKfQoKLmZhLWNsb3VkLXJhaW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjczZCIKfQoKLmZhLWNsb3VkLXNob3dlcnMtaGVhdnk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc0MCIKfQoKLmZhLWNsb3VkLXN1bjpiZWZvcmUgewogICAgY29udGVudDogIlxmNmM0Igp9CgouZmEtY2xvdWQtc3VuLXJhaW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc0MyIKfQoKLmZhLWNsb3VkLXVwbG9hZC1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM4MiIKfQoKLmZhLWNsb3Vkc2NhbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM4MyIKfQoKLmZhLWNsb3Vkc21pdGg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM4NCIKfQoKLmZhLWNsb3VkdmVyc2lmeTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzg1Igp9CgouZmEtY29ja3RhaWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU2MSIKfQoKLmZhLWNvZGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEyMSIKfQoKLmZhLWNvZGUtYnJhbmNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMjYiCn0KCi5mYS1jb2RlcGVuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxY2IiCn0KCi5mYS1jb2RpZXBpZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjg0Igp9CgouZmEtY29mZmVlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZjQiCn0KCi5mYS1jb2c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAxMyIKfQoKLmZhLWNvZ3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA4NSIKfQoKLmZhLWNvaW5zOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MWUiCn0KCi5mYS1jb2x1bW5zOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZGIiCn0KCi5mYS1jb21tZW50OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwNzUiCn0KCi5mYS1jb21tZW50LWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjdhIgp9CgouZmEtY29tbWVudC1kb2xsYXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY1MSIKfQoKLmZhLWNvbW1lbnQtZG90czpiZWZvcmUgewogICAgY29udGVudDogIlxmNGFkIgp9CgouZmEtY29tbWVudC1zbGFzaDpiZWZvcmUgewogICAgY29udGVudDogIlxmNGIzIgp9CgouZmEtY29tbWVudHM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA4NiIKfQoKLmZhLWNvbW1lbnRzLWRvbGxhcjpiZWZvcmUgewogICAgY29udGVudDogIlxmNjUzIgp9CgouZmEtY29tcGFjdC1kaXNjOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MWYiCn0KCi5mYS1jb21wYXNzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNGUiCn0KCi5mYS1jb21wcmVzczpiZWZvcmUgewogICAgY29udGVudDogIlxmMDY2Igp9CgouZmEtY29tcHJlc3MtYXJyb3dzLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmNzhjIgp9CgouZmEtY29uY2llcmdlLWJlbGw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU2MiIKfQoKLmZhLWNvbmZsdWVuY2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc4ZCIKfQoKLmZhLWNvbm5lY3RkZXZlbG9wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMGUiCn0KCi5mYS1jb250YW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI2ZCIKfQoKLmZhLWNvb2tpZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNTYzIgp9CgouZmEtY29va2llLWJpdGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU2NCIKfQoKLmZhLWNvcHk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBjNSIKfQoKLmZhLWNvcHlyaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWY5Igp9CgouZmEtY291Y2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRiOCIKfQoKLmZhLWNwYW5lbDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzg4Igp9CgouZmEtY3JlYXRpdmUtY29tbW9uczpiZWZvcmUgewogICAgY29udGVudDogIlxmMjVlIgp9CgouZmEtY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmUgewogICAgY29udGVudDogIlxmNGU3Igp9CgouZmEtY3JlYXRpdmUtY29tbW9ucy1uYzpiZWZvcmUgewogICAgY29udGVudDogIlxmNGU4Igp9CgouZmEtY3JlYXRpdmUtY29tbW9ucy1uYy1ldTpiZWZvcmUgewogICAgY29udGVudDogIlxmNGU5Igp9CgouZmEtY3JlYXRpdmUtY29tbW9ucy1uYy1qcDpiZWZvcmUgewogICAgY29udGVudDogIlxmNGVhIgp9CgouZmEtY3JlYXRpdmUtY29tbW9ucy1uZDpiZWZvcmUgewogICAgY29udGVudDogIlxmNGViIgp9CgouZmEtY3JlYXRpdmUtY29tbW9ucy1wZDpiZWZvcmUgewogICAgY29udGVudDogIlxmNGVjIgp9CgouZmEtY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRlZCIKfQoKLmZhLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRlZSIKfQoKLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2E6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRlZiIKfQoKLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRmMCIKfQoKLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUgewogICAgY29udGVudDogIlxmNGYxIgp9CgouZmEtY3JlYXRpdmUtY29tbW9ucy1zaGFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNGYyIgp9CgouZmEtY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0ZjMiCn0KCi5mYS1jcmVkaXQtY2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDlkIgp9CgouZmEtY3JpdGljYWwtcm9sZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNmM5Igp9CgouZmEtY3JvcDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTI1Igp9CgouZmEtY3JvcC1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU2NSIKfQoKLmZhLWNyb3NzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2NTQiCn0KCi5mYS1jcm9zc2hhaXJzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwNWIiCn0KCi5mYS1jcm93OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MjAiCn0KCi5mYS1jcm93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmNTIxIgp9CgouZmEtY3NzMzpiZWZvcmUgewogICAgY29udGVudDogIlxmMTNjIgp9CgouZmEtY3NzMy1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM4YiIKfQoKLmZhLWN1YmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFiMiIKfQoKLmZhLWN1YmVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYjMiCn0KCi5mYS1jdXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBjNCIKfQoKLmZhLWN1dHRsZWZpc2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM4YyIKfQoKLmZhLWQtYW5kLWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM4ZCIKfQoKLmZhLWQtYW5kLWQtYmV5b25kOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2Y2EiCn0KCi5mYS1kYXNoY3ViZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjEwIgp9CgouZmEtZGF0YWJhc2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFjMCIKfQoKLmZhLWRlYWY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJhNCIKfQoKLmZhLWRlbGljaW91czpiZWZvcmUgewogICAgY29udGVudDogIlxmMWE1Igp9CgouZmEtZGVtb2NyYXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc0NyIKfQoKLmZhLWRlcGxveWRvZzpiZWZvcmUgewogICAgY29udGVudDogIlxmMzhlIgp9CgouZmEtZGVza3BybzpiZWZvcmUgewogICAgY29udGVudDogIlxmMzhmIgp9CgouZmEtZGVza3RvcDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTA4Igp9CgouZmEtZGV2OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2Y2MiCn0KCi5mYS1kZXZpYW50YXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYmQiCn0KCi5mYS1kaGFybWFjaGFrcmE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY1NSIKfQoKLmZhLWRobDpiZWZvcmUgewogICAgY29udGVudDogIlxmNzkwIgp9CgouZmEtZGlhZ25vc2VzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0NzAiCn0KCi5mYS1kaWFzcG9yYTpiZWZvcmUgewogICAgY29udGVudDogIlxmNzkxIgp9CgouZmEtZGljZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNTIyIgp9CgouZmEtZGljZS1kMjA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjZjZiIKfQoKLmZhLWRpY2UtZDY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjZkMSIKfQoKLmZhLWRpY2UtZml2ZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNTIzIgp9CgouZmEtZGljZS1mb3VyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MjQiCn0KCi5mYS1kaWNlLW9uZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNTI1Igp9CgouZmEtZGljZS1zaXg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUyNiIKfQoKLmZhLWRpY2UtdGhyZWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUyNyIKfQoKLmZhLWRpY2UtdHdvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MjgiCn0KCi5mYS1kaWdnOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYTYiCn0KCi5mYS1kaWdpdGFsLW9jZWFuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzOTEiCn0KCi5mYS1kaWdpdGFsLXRhY2hvZ3JhcGg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU2NiIKfQoKLmZhLWRpcmVjdGlvbnM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjVlYiIKfQoKLmZhLWRpc2NvcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM5MiIKfQoKLmZhLWRpc2NvdXJzZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzkzIgp9CgouZmEtZGl2aWRlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MjkiCn0KCi5mYS1kaXp6eTpiZWZvcmUgewogICAgY29udGVudDogIlxmNTY3Igp9CgouZmEtZG5hOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0NzEiCn0KCi5mYS1kb2NodWI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM5NCIKfQoKLmZhLWRvY2tlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzk1Igp9CgouZmEtZG9nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2ZDMiCn0KCi5mYS1kb2xsYXItc2lnbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTU1Igp9CgouZmEtZG9sbHk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ3MiIKfQoKLmZhLWRvbGx5LWZsYXRiZWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ3NCIKfQoKLmZhLWRvbmF0ZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNGI5Igp9CgouZmEtZG9vci1jbG9zZWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUyYSIKfQoKLmZhLWRvb3Itb3BlbjpiZWZvcmUgewogICAgY29udGVudDogIlxmNTJiIgp9CgouZmEtZG90LWNpcmNsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTkyIgp9CgouZmEtZG92ZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNGJhIgp9CgouZmEtZG93bmxvYWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAxOSIKfQoKLmZhLWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM5NiIKfQoKLmZhLWRyYWZ0aW5nLWNvbXBhc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU2OCIKfQoKLmZhLWRyYWdvbjpiZWZvcmUgewogICAgY29udGVudDogIlxmNmQ1Igp9CgouZmEtZHJhdy1wb2x5Z29uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1ZWUiCn0KCi5mYS1kcmliYmJsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTdkIgp9CgouZmEtZHJpYmJibGUtc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzOTciCn0KCi5mYS1kcm9wYm94OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNmIiCn0KCi5mYS1kcnVtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NjkiCn0KCi5mYS1kcnVtLXN0ZWVscGFuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NmEiCn0KCi5mYS1kcnVtc3RpY2stYml0ZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNmQ3Igp9CgouZmEtZHJ1cGFsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYTkiCn0KCi5mYS1kdW1iYmVsbDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDRiIgp9CgouZmEtZHVtcHN0ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc5MyIKfQoKLmZhLWR1bXBzdGVyLWZpcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc5NCIKfQoKLmZhLWR1bmdlb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjZkOSIKfQoKLmZhLWR5YWxvZzpiZWZvcmUgewogICAgY29udGVudDogIlxmMzk5Igp9CgouZmEtZWFybHliaXJkczpiZWZvcmUgewogICAgY29udGVudDogIlxmMzlhIgp9CgouZmEtZWJheTpiZWZvcmUgewogICAgY29udGVudDogIlxmNGY0Igp9CgouZmEtZWRnZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjgyIgp9CgouZmEtZWRpdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDQ0Igp9CgouZmEtZWplY3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA1MiIKfQoKLmZhLWVsZW1lbnRvcjpiZWZvcmUgewogICAgY29udGVudDogIlxmNDMwIgp9CgouZmEtZWxsaXBzaXMtaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTQxIgp9CgouZmEtZWxsaXBzaXMtdjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTQyIgp9CgouZmEtZWxsbzpiZWZvcmUgewogICAgY29udGVudDogIlxmNWYxIgp9CgouZmEtZW1iZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQyMyIKfQoKLmZhLWVtcGlyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWQxIgp9CgouZmEtZW52ZWxvcGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBlMCIKfQoKLmZhLWVudmVsb3BlLW9wZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJiNiIKfQoKLmZhLWVudmVsb3BlLW9wZW4tdGV4dDpiZWZvcmUgewogICAgY29udGVudDogIlxmNjU4Igp9CgouZmEtZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOTkiCn0KCi5mYS1lbnZpcmE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI5OSIKfQoKLmZhLWVxdWFsczpiZWZvcmUgewogICAgY29udGVudDogIlxmNTJjIgp9CgouZmEtZXJhc2VyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMmQiCn0KCi5mYS1lcmxhbmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM5ZCIKfQoKLmZhLWV0aGVyZXVtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MmUiCn0KCi5mYS1ldGhlcm5ldDpiZWZvcmUgewogICAgY29udGVudDogIlxmNzk2Igp9CgouZmEtZXRzeTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmQ3Igp9CgouZmEtZXVyby1zaWduOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNTMiCn0KCi5mYS1leGNoYW5nZS1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM2MiIKfQoKLmZhLWV4Y2xhbWF0aW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMmEiCn0KCi5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA2YSIKfQoKLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwNzEiCn0KCi5mYS1leHBhbmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA2NSIKfQoKLmZhLWV4cGFuZC1hcnJvd3MtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMWUiCn0KCi5mYS1leHBlZGl0ZWRzc2w6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIzZSIKfQoKLmZhLWV4dGVybmFsLWxpbmstYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNWQiCn0KCi5mYS1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM2MCIKfQoKLmZhLWV5ZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMDZlIgp9CgouZmEtZXllLWRyb3BwZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFmYiIKfQoKLmZhLWV5ZS1zbGFzaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDcwIgp9CgouZmEtZmFjZWJvb2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA5YSIKfQoKLmZhLWZhY2Vib29rLWY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM5ZSIKfQoKLmZhLWZhY2Vib29rLW1lc3NlbmdlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzlmIgp9CgouZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwODIiCn0KCi5mYS1mYW50YXN5LWZsaWdodC1nYW1lczpiZWZvcmUgewogICAgY29udGVudDogIlxmNmRjIgp9CgouZmEtZmFzdC1iYWNrd2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDQ5Igp9CgouZmEtZmFzdC1mb3J3YXJkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwNTAiCn0KCi5mYS1mYXg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFhYyIKfQoKLmZhLWZlYXRoZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUyZCIKfQoKLmZhLWZlYXRoZXItYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NmIiCn0KCi5mYS1mZWRleDpiZWZvcmUgewogICAgY29udGVudDogIlxmNzk3Igp9CgouZmEtZmVkb3JhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3OTgiCn0KCi5mYS1mZW1hbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE4MiIKfQoKLmZhLWZpZ2h0ZXItamV0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZmIiCn0KCi5mYS1maWdtYTpiZWZvcmUgewogICAgY29udGVudDogIlxmNzk5Igp9CgouZmEtZmlsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTViIgp9CgouZmEtZmlsZS1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE1YyIKfQoKLmZhLWZpbGUtYXJjaGl2ZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWM2Igp9CgouZmEtZmlsZS1hdWRpbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMWM3Igp9CgouZmEtZmlsZS1jb2RlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYzkiCn0KCi5mYS1maWxlLWNvbnRyYWN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NmMiCn0KCi5mYS1maWxlLWNzdjpiZWZvcmUgewogICAgY29udGVudDogIlxmNmRkIgp9CgouZmEtZmlsZS1kb3dubG9hZDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTZkIgp9CgouZmEtZmlsZS1leGNlbDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWMzIgp9CgouZmEtZmlsZS1leHBvcnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU2ZSIKfQoKLmZhLWZpbGUtaW1hZ2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFjNSIKfQoKLmZhLWZpbGUtaW1wb3J0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NmYiCn0KCi5mYS1maWxlLWludm9pY2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU3MCIKfQoKLmZhLWZpbGUtaW52b2ljZS1kb2xsYXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU3MSIKfQoKLmZhLWZpbGUtbWVkaWNhbDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDc3Igp9CgouZmEtZmlsZS1tZWRpY2FsLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDc4Igp9CgouZmEtZmlsZS1wZGY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFjMSIKfQoKLmZhLWZpbGUtcG93ZXJwb2ludDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWM0Igp9CgouZmEtZmlsZS1wcmVzY3JpcHRpb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU3MiIKfQoKLmZhLWZpbGUtc2lnbmF0dXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NzMiCn0KCi5mYS1maWxlLXVwbG9hZDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTc0Igp9CgouZmEtZmlsZS12aWRlbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMWM4Igp9CgouZmEtZmlsZS13b3JkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYzIiCn0KCi5mYS1maWxsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NzUiCn0KCi5mYS1maWxsLWRyaXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU3NiIKfQoKLmZhLWZpbG06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAwOCIKfQoKLmZhLWZpbHRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMGIwIgp9CgouZmEtZmluZ2VycHJpbnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU3NyIKfQoKLmZhLWZpcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA2ZCIKfQoKLmZhLWZpcmUtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3ZTQiCn0KCi5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTM0Igp9CgouZmEtZmlyZWZveDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjY5Igp9CgouZmEtZmlyc3QtYWlkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0NzkiCn0KCi5mYS1maXJzdC1vcmRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMmIwIgp9CgouZmEtZmlyc3Qtb3JkZXItYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MGEiCn0KCi5mYS1maXJzdGRyYWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzYTEiCn0KCi5mYS1maXNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NzgiCn0KCi5mYS1maXN0LXJhaXNlZDpiZWZvcmUgewogICAgY29udGVudDogIlxmNmRlIgp9CgouZmEtZmxhZzpiZWZvcmUgewogICAgY29udGVudDogIlxmMDI0Igp9CgouZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjExZSIKfQoKLmZhLWZsYWctdXNhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3NGQiCn0KCi5mYS1mbGFzazpiZWZvcmUgewogICAgY29udGVudDogIlxmMGMzIgp9CgouZmEtZmxpY2tyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNmUiCn0KCi5mYS1mbGlwYm9hcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ0ZCIKfQoKLmZhLWZsdXNoZWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU3OSIKfQoKLmZhLWZseTpiZWZvcmUgewogICAgY29udGVudDogIlxmNDE3Igp9CgouZmEtZm9sZGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwN2IiCn0KCi5mYS1mb2xkZXItbWludXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY1ZCIKfQoKLmZhLWZvbGRlci1vcGVuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwN2MiCn0KCi5mYS1mb2xkZXItcGx1czpiZWZvcmUgewogICAgY29udGVudDogIlxmNjVlIgp9CgouZmEtZm9udDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDMxIgp9CgouZmEtZm9udC1hd2Vzb21lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYjQiCn0KCi5mYS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNWMiCn0KCi5mYS1mb250LWF3ZXNvbWUtZmxhZzpiZWZvcmUgewogICAgY29udGVudDogIlxmNDI1Igp9CgouZmEtZm9udC1hd2Vzb21lLWxvZ28tZnVsbDpiZWZvcmUgewogICAgY29udGVudDogIlxmNGU2Igp9CgouZmEtZm9udGljb25zOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyODAiCn0KCi5mYS1mb250aWNvbnMtZmk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNhMiIKfQoKLmZhLWZvb3RiYWxsLWJhbGw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ0ZSIKfQoKLmZhLWZvcnQtYXdlc29tZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjg2Igp9CgouZmEtZm9ydC1hd2Vzb21lLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmM2EzIgp9CgouZmEtZm9ydW1iZWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIxMSIKfQoKLmZhLWZvcndhcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA0ZSIKfQoKLmZhLWZvdXJzcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE4MCIKfQoKLmZhLWZyZWUtY29kZS1jYW1wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYzUiCn0KCi5mYS1mcmVlYnNkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzYTQiCn0KCi5mYS1mcm9nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MmUiCn0KCi5mYS1mcm93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTE5Igp9CgouZmEtZnJvd24tb3BlbjpiZWZvcmUgewogICAgY29udGVudDogIlxmNTdhIgp9CgouZmEtZnVsY3J1bTpiZWZvcmUgewogICAgY29udGVudDogIlxmNTBiIgp9CgouZmEtZnVubmVsLWRvbGxhcjpiZWZvcmUgewogICAgY29udGVudDogIlxmNjYyIgp9CgouZmEtZnV0Ym9sOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZTMiCn0KCi5mYS1nYWxhY3RpYy1yZXB1YmxpYzpiZWZvcmUgewogICAgY29udGVudDogIlxmNTBjIgp9CgouZmEtZ2FsYWN0aWMtc2VuYXRlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MGQiCn0KCi5mYS1nYW1lcGFkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMWIiCn0KCi5mYS1nYXMtcHVtcDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTJmIgp9CgouZmEtZ2F2ZWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBlMyIKfQoKLmZhLWdlbTpiZWZvcmUgewogICAgY29udGVudDogIlxmM2E1Igp9CgouZmEtZ2VuZGVybGVzczpiZWZvcmUgewogICAgY29udGVudDogIlxmMjJkIgp9CgouZmEtZ2V0LXBvY2tldDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjY1Igp9CgouZmEtZ2c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI2MCIKfQoKLmZhLWdnLWNpcmNsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjYxIgp9CgouZmEtZ2hvc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjZlMiIKfQoKLmZhLWdpZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA2YiIKfQoKLmZhLWdpZnRzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3OWMiCn0KCi5mYS1naXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFkMyIKfQoKLmZhLWdpdC1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFkMiIKfQoKLmZhLWdpdGh1YjpiZWZvcmUgewogICAgY29udGVudDogIlxmMDliIgp9CgouZmEtZ2l0aHViLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTEzIgp9CgouZmEtZ2l0aHViLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMDkyIgp9CgouZmEtZ2l0a3Jha2VuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzYTYiCn0KCi5mYS1naXRsYWI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI5NiIKfQoKLmZhLWdpdHRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmNDI2Igp9CgouZmEtZ2xhc3MtY2hlZXJzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3OWYiCn0KCi5mYS1nbGFzcy1tYXJ0aW5pOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMDAiCn0KCi5mYS1nbGFzcy1tYXJ0aW5pLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTdiIgp9CgouZmEtZ2xhc3Mtd2hpc2tleTpiZWZvcmUgewogICAgY29udGVudDogIlxmN2EwIgp9CgouZmEtZ2xhc3NlczpiZWZvcmUgewogICAgY29udGVudDogIlxmNTMwIgp9CgouZmEtZ2xpZGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJhNSIKfQoKLmZhLWdsaWRlLWc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJhNiIKfQoKLmZhLWdsb2JlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwYWMiCn0KCi5mYS1nbG9iZS1hZnJpY2E6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU3YyIKfQoKLmZhLWdsb2JlLWFtZXJpY2FzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1N2QiCn0KCi5mYS1nbG9iZS1hc2lhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1N2UiCn0KCi5mYS1nbG9iZS1ldXJvcGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdhMiIKfQoKLmZhLWdvZm9yZTpiZWZvcmUgewogICAgY29udGVudDogIlxmM2E3Igp9CgouZmEtZ29sZi1iYWxsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0NTAiCn0KCi5mYS1nb29kcmVhZHM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNhOCIKfQoKLmZhLWdvb2RyZWFkcy1nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzYTkiCn0KCi5mYS1nb29nbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFhMCIKfQoKLmZhLWdvb2dsZS1kcml2ZTpiZWZvcmUgewogICAgY29udGVudDogIlxmM2FhIgp9CgouZmEtZ29vZ2xlLXBsYXk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNhYiIKfQoKLmZhLWdvb2dsZS1wbHVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYjMiCn0KCi5mYS1nb29nbGUtcGx1cy1nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZDUiCn0KCi5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBkNCIKfQoKLmZhLWdvb2dsZS13YWxsZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlZSIKfQoKLmZhLWdvcHVyYW06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY2NCIKfQoKLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOWQiCn0KCi5mYS1ncmF0aXBheTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTg0Igp9CgouZmEtZ3JhdjpiZWZvcmUgewogICAgY29udGVudDogIlxmMmQ2Igp9CgouZmEtZ3JlYXRlci10aGFuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MzEiCn0KCi5mYS1ncmVhdGVyLXRoYW4tZXF1YWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUzMiIKfQoKLmZhLWdyaW1hY2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU3ZiIKfQoKLmZhLWdyaW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU4MCIKfQoKLmZhLWdyaW4tYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1ODEiCn0KCi5mYS1ncmluLWJlYW06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU4MiIKfQoKLmZhLWdyaW4tYmVhbS1zd2VhdDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTgzIgp9CgouZmEtZ3Jpbi1oZWFydHM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU4NCIKfQoKLmZhLWdyaW4tc3F1aW50OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1ODUiCn0KCi5mYS1ncmluLXNxdWludC10ZWFyczpiZWZvcmUgewogICAgY29udGVudDogIlxmNTg2Igp9CgouZmEtZ3Jpbi1zdGFyczpiZWZvcmUgewogICAgY29udGVudDogIlxmNTg3Igp9CgouZmEtZ3Jpbi10ZWFyczpiZWZvcmUgewogICAgY29udGVudDogIlxmNTg4Igp9CgouZmEtZ3Jpbi10b25ndWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU4OSIKfQoKLmZhLWdyaW4tdG9uZ3VlLXNxdWludDpiZWZvcmUgewogICAgY29udGVudDogIlxmNThhIgp9CgouZmEtZ3Jpbi10b25ndWUtd2luazpiZWZvcmUgewogICAgY29udGVudDogIlxmNThiIgp9CgouZmEtZ3Jpbi13aW5rOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1OGMiCn0KCi5mYS1ncmlwLWhvcml6b250YWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU4ZCIKfQoKLmZhLWdyaXAtbGluZXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdhNCIKfQoKLmZhLWdyaXAtbGluZXMtdmVydGljYWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdhNSIKfQoKLmZhLWdyaXAtdmVydGljYWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU4ZSIKfQoKLmZhLWdyaXBmaXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzYWMiCn0KCi5mYS1ncnVudDpiZWZvcmUgewogICAgY29udGVudDogIlxmM2FkIgp9CgouZmEtZ3VpdGFyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3YTYiCn0KCi5mYS1ndWxwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzYWUiCn0KCi5mYS1oLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMGZkIgp9CgouZmEtaGFja2VyLW5ld3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFkNCIKfQoKLmZhLWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmM2FmIgp9CgouZmEtaGFja2VycmFuazpiZWZvcmUgewogICAgY29udGVudDogIlxmNWY3Igp9CgouZmEtaGFtbWVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2ZTMiCn0KCi5mYS1oYW1zYTpiZWZvcmUgewogICAgY29udGVudDogIlxmNjY1Igp9CgouZmEtaGFuZC1ob2xkaW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0YmQiCn0KCi5mYS1oYW5kLWhvbGRpbmctaGVhcnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRiZSIKfQoKLmZhLWhhbmQtaG9sZGluZy11c2Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRjMCIKfQoKLmZhLWhhbmQtbGl6YXJkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNTgiCn0KCi5mYS1oYW5kLXBhcGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNTYiCn0KCi5mYS1oYW5kLXBlYWNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNWIiCn0KCi5mYS1oYW5kLXBvaW50LWRvd246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBhNyIKfQoKLmZhLWhhbmQtcG9pbnQtbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMGE1Igp9CgouZmEtaGFuZC1wb2ludC1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxmMGE0Igp9CgouZmEtaGFuZC1wb2ludC11cDpiZWZvcmUgewogICAgY29udGVudDogIlxmMGE2Igp9CgouZmEtaGFuZC1wb2ludGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNWEiCn0KCi5mYS1oYW5kLXJvY2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI1NSIKfQoKLmZhLWhhbmQtc2Npc3NvcnM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI1NyIKfQoKLmZhLWhhbmQtc3BvY2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI1OSIKfQoKLmZhLWhhbmRzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0YzIiCn0KCi5mYS1oYW5kcy1oZWxwaW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0YzQiCn0KCi5mYS1oYW5kc2hha2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJiNSIKfQoKLmZhLWhhbnVraWFoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2ZTYiCn0KCi5mYS1oYXNodGFnOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOTIiCn0KCi5mYS1oYXQtd2l6YXJkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2ZTgiCn0KCi5mYS1oYXlrYWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY2NiIKfQoKLmZhLWhkZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMGEwIgp9CgouZmEtaGVhZGluZzpiZWZvcmUgewogICAgY29udGVudDogIlxmMWRjIgp9CgouZmEtaGVhZHBob25lczpiZWZvcmUgewogICAgY29udGVudDogIlxmMDI1Igp9CgouZmEtaGVhZHBob25lcy1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU4ZiIKfQoKLmZhLWhlYWRzZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU5MCIKfQoKLmZhLWhlYXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMDQiCn0KCi5mYS1oZWFydC1icm9rZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdhOSIKfQoKLmZhLWhlYXJ0YmVhdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjFlIgp9CgouZmEtaGVsaWNvcHRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmNTMzIgp9CgouZmEtaGlnaGxpZ2h0ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU5MSIKfQoKLmZhLWhpa2luZzpiZWZvcmUgewogICAgY29udGVudDogIlxmNmVjIgp9CgouZmEtaGlwcG86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjZlZCIKfQoKLmZhLWhpcHM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ1MiIKfQoKLmZhLWhpcmUtYS1oZWxwZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNiMCIKfQoKLmZhLWhpc3Rvcnk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFkYSIKfQoKLmZhLWhvY2tleS1wdWNrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0NTMiCn0KCi5mYS1ob2xseS1iZXJyeTpiZWZvcmUgewogICAgY29udGVudDogIlxmN2FhIgp9CgouZmEtaG9tZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMDE1Igp9CgouZmEtaG9vbGk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQyNyIKfQoKLmZhLWhvcm5iaWxsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1OTIiCn0KCi5mYS1ob3JzZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNmYwIgp9CgouZmEtaG9yc2UtaGVhZDpiZWZvcmUgewogICAgY29udGVudDogIlxmN2FiIgp9CgouZmEtaG9zcGl0YWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBmOCIKfQoKLmZhLWhvc3BpdGFsLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDdkIgp9CgouZmEtaG9zcGl0YWwtc3ltYm9sOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0N2UiCn0KCi5mYS1ob3QtdHViOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1OTMiCn0KCi5mYS1ob3RlbDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTk0Igp9CgouZmEtaG90amFyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzYjEiCn0KCi5mYS1ob3VyZ2xhc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI1NCIKfQoKLmZhLWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI1MyIKfQoKLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNTIiCn0KCi5mYS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI1MSIKfQoKLmZhLWhvdXNlLWRhbWFnZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNmYxIgp9CgouZmEtaG91eno6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI3YyIKfQoKLmZhLWhyeXZuaWE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjZmMiIKfQoKLmZhLWh0bWw1OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxM2IiCn0KCi5mYS1odWJzcG90OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzYjIiCn0KCi5mYS1pLWN1cnNvcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjQ2Igp9CgouZmEtaWNpY2xlczpiZWZvcmUgewogICAgY29udGVudDogIlxmN2FkIgp9CgouZmEtaWQtYmFkZ2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJjMSIKfQoKLmZhLWlkLWNhcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJjMiIKfQoKLmZhLWlkLWNhcmQtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0N2YiCn0KCi5mYS1pZ2xvbzpiZWZvcmUgewogICAgY29udGVudDogIlxmN2FlIgp9CgouZmEtaW1hZ2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAzZSIKfQoKLmZhLWltYWdlczpiZWZvcmUgewogICAgY29udGVudDogIlxmMzAyIgp9CgouZmEtaW1kYjpiZWZvcmUgewogICAgY29udGVudDogIlxmMmQ4Igp9CgouZmEtaW5ib3g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAxYyIKfQoKLmZhLWluZGVudDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDNjIgp9CgouZmEtaW5kdXN0cnk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI3NSIKfQoKLmZhLWluZmluaXR5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MzQiCn0KCi5mYS1pbmZvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMjkiCn0KCi5mYS1pbmZvLWNpcmNsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMDVhIgp9CgouZmEtaW5zdGFncmFtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNmQiCn0KCi5mYS1pbnRlcmNvbTpiZWZvcmUgewogICAgY29udGVudDogIlxmN2FmIgp9CgouZmEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI2YiIKfQoKLmZhLWludmlzaW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3YjAiCn0KCi5mYS1pb3hob3N0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMDgiCn0KCi5mYS1pdGFsaWM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAzMyIKfQoKLmZhLWl0dW5lczpiZWZvcmUgewogICAgY29udGVudDogIlxmM2I0Igp9CgouZmEtaXR1bmVzLW5vdGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNiNSIKfQoKLmZhLWphdmE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRlNCIKfQoKLmZhLWplZGk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY2OSIKfQoKLmZhLWplZGktb3JkZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUwZSIKfQoKLmZhLWplbmtpbnM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNiNiIKfQoKLmZhLWppcmE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdiMSIKfQoKLmZhLWpvZ2V0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzYjciCn0KCi5mYS1qb2ludDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTk1Igp9CgouZmEtam9vbWxhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYWEiCn0KCi5mYS1qb3VybmFsLXdoaWxsczpiZWZvcmUgewogICAgY29udGVudDogIlxmNjZhIgp9CgouZmEtanM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNiOCIKfQoKLmZhLWpzLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmM2I5Igp9CgouZmEtanNmaWRkbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFjYyIKfQoKLmZhLWthYWJhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2NmIiCn0KCi5mYS1rYWdnbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjVmYSIKfQoKLmZhLWtleTpiZWZvcmUgewogICAgY29udGVudDogIlxmMDg0Igp9CgouZmEta2V5YmFzZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNGY1Igp9CgouZmEta2V5Ym9hcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjExYyIKfQoKLmZhLWtleWNkbjpiZWZvcmUgewogICAgY29udGVudDogIlxmM2JhIgp9CgouZmEta2hhbmRhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2NmQiCn0KCi5mYS1raWNrc3RhcnRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmM2JiIgp9CgouZmEta2lja3N0YXJ0ZXItazpiZWZvcmUgewogICAgY29udGVudDogIlxmM2JjIgp9CgouZmEta2lzczpiZWZvcmUgewogICAgY29udGVudDogIlxmNTk2Igp9CgouZmEta2lzcy1iZWFtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1OTciCn0KCi5mYS1raXNzLXdpbmstaGVhcnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU5OCIKfQoKLmZhLWtpd2ktYmlyZDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTM1Igp9CgouZmEta29ydnVlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MmYiCn0KCi5mYS1sYW5kbWFyazpiZWZvcmUgewogICAgY29udGVudDogIlxmNjZmIgp9CgouZmEtbGFuZ3VhZ2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFhYiIKfQoKLmZhLWxhcHRvcDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTA5Igp9CgouZmEtbGFwdG9wLWNvZGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjVmYyIKfQoKLmZhLWxhcmF2ZWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNiZCIKfQoKLmZhLWxhc3RmbTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjAyIgp9CgouZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjAzIgp9CgouZmEtbGF1Z2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU5OSIKfQoKLmZhLWxhdWdoLWJlYW06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU5YSIKfQoKLmZhLWxhdWdoLXNxdWludDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTliIgp9CgouZmEtbGF1Z2gtd2luazpiZWZvcmUgewogICAgY29udGVudDogIlxmNTljIgp9CgouZmEtbGF5ZXItZ3JvdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjVmZCIKfQoKLmZhLWxlYWY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA2YyIKfQoKLmZhLWxlYW5wdWI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIxMiIKfQoKLmZhLWxlbW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwOTQiCn0KCi5mYS1sZXNzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MWQiCn0KCi5mYS1sZXNzLXRoYW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUzNiIKfQoKLmZhLWxlc3MtdGhhbi1lcXVhbDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTM3Igp9CgouZmEtbGV2ZWwtZG93bi1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNiZSIKfQoKLmZhLWxldmVsLXVwLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmM2JmIgp9CgouZmEtbGlmZS1yaW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxY2QiCn0KCi5mYS1saWdodGJ1bGI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBlYiIKfQoKLmZhLWxpbmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNjMCIKfQoKLmZhLWxpbms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBjMSIKfQoKLmZhLWxpbmtlZGluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwOGMiCn0KCi5mYS1saW5rZWRpbi1pbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMGUxIgp9CgouZmEtbGlub2RlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYjgiCn0KCi5mYS1saW51eDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTdjIgp9CgouZmEtbGlyYS1zaWduOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOTUiCn0KCi5mYS1saXN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwM2EiCn0KCi5mYS1saXN0LWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDIyIgp9CgouZmEtbGlzdC1vbDpiZWZvcmUgewogICAgY29udGVudDogIlxmMGNiIgp9CgouZmEtbGlzdC11bDpiZWZvcmUgewogICAgY29udGVudDogIlxmMGNhIgp9CgouZmEtbG9jYXRpb24tYXJyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEyNCIKfQoKLmZhLWxvY2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAyMyIKfQoKLmZhLWxvY2stb3BlbjpiZWZvcmUgewogICAgY29udGVudDogIlxmM2MxIgp9CgouZmEtbG9uZy1hcnJvdy1hbHQtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzA5Igp9CgouZmEtbG9uZy1hcnJvdy1hbHQtbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzBhIgp9CgouZmEtbG9uZy1hcnJvdy1hbHQtcmlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMwYiIKfQoKLmZhLWxvbmctYXJyb3ctYWx0LXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMGMiCn0KCi5mYS1sb3ctdmlzaW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYTgiCn0KCi5mYS1sdWdnYWdlLWNhcnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU5ZCIKfQoKLmZhLWx5ZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNjMyIKfQoKLmZhLW1hZ2VudG86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNjNCIKfQoKLmZhLW1hZ2ljOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZDAiCn0KCi5mYS1tYWduZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA3NiIKfQoKLmZhLW1haWwtYnVsazpiZWZvcmUgewogICAgY29udGVudDogIlxmNjc0Igp9CgouZmEtbWFpbGNoaW1wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1OWUiCn0KCi5mYS1tYWxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxODMiCn0KCi5mYS1tYW5kYWxvcmlhbjpiZWZvcmUgewogICAgY29udGVudDogIlxmNTBmIgp9CgouZmEtbWFwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNzkiCn0KCi5mYS1tYXAtbWFya2VkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1OWYiCn0KCi5mYS1tYXAtbWFya2VkLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmNWEwIgp9CgouZmEtbWFwLW1hcmtlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMDQxIgp9CgouZmEtbWFwLW1hcmtlci1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNjNSIKfQoKLmZhLW1hcC1waW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI3NiIKfQoKLmZhLW1hcC1zaWduczpiZWZvcmUgewogICAgY29udGVudDogIlxmMjc3Igp9CgouZmEtbWFya2Rvd246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjYwZiIKfQoKLmZhLW1hcmtlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmNWExIgp9CgouZmEtbWFyczpiZWZvcmUgewogICAgY29udGVudDogIlxmMjIyIgp9CgouZmEtbWFycy1kb3VibGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIyNyIKfQoKLmZhLW1hcnMtc3Ryb2tlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMjkiCn0KCi5mYS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMmIiCn0KCi5mYS1tYXJzLXN0cm9rZS12OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMmEiCn0KCi5mYS1tYXNrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2ZmEiCn0KCi5mYS1tYXN0b2RvbjpiZWZvcmUgewogICAgY29udGVudDogIlxmNGY2Igp9CgouZmEtbWF4Y2RuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMzYiCn0KCi5mYS1tZWRhbDpiZWZvcmUgewogICAgY29udGVudDogIlxmNWEyIgp9CgouZmEtbWVkYXBwczpiZWZvcmUgewogICAgY29udGVudDogIlxmM2M2Igp9CgouZmEtbWVkaXVtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyM2EiCn0KCi5mYS1tZWRpdW0tbTpiZWZvcmUgewogICAgY29udGVudDogIlxmM2M3Igp9CgouZmEtbWVka2l0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZmEiCn0KCi5mYS1tZWRydDpiZWZvcmUgewogICAgY29udGVudDogIlxmM2M4Igp9CgouZmEtbWVldHVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZTAiCn0KCi5mYS1tZWdhcG9ydDpiZWZvcmUgewogICAgY29udGVudDogIlxmNWEzIgp9CgouZmEtbWVoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMWEiCn0KCi5mYS1tZWgtYmxhbms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjVhNCIKfQoKLmZhLW1laC1yb2xsaW5nLWV5ZXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjVhNSIKfQoKLmZhLW1lbW9yeTpiZWZvcmUgewogICAgY29udGVudDogIlxmNTM4Igp9CgouZmEtbWVuZGVsZXk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdiMyIKfQoKLmZhLW1lbm9yYWg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY3NiIKfQoKLmZhLW1lcmN1cnk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIyMyIKfQoKLmZhLW1ldGVvcjpiZWZvcmUgewogICAgY29udGVudDogIlxmNzUzIgp9CgouZmEtbWljcm9jaGlwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZGIiCn0KCi5mYS1taWNyb3Bob25lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMzAiCn0KCi5mYS1taWNyb3Bob25lLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmM2M5Igp9CgouZmEtbWljcm9waG9uZS1hbHQtc2xhc2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUzOSIKfQoKLmZhLW1pY3JvcGhvbmUtc2xhc2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEzMSIKfQoKLmZhLW1pY3Jvc2NvcGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjYxMCIKfQoKLmZhLW1pY3Jvc29mdDpiZWZvcmUgewogICAgY29udGVudDogIlxmM2NhIgp9CgouZmEtbWludXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA2OCIKfQoKLmZhLW1pbnVzLWNpcmNsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMDU2Igp9CgouZmEtbWludXMtc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNDYiCn0KCi5mYS1taXR0ZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdiNSIKfQoKLmZhLW1peDpiZWZvcmUgewogICAgY29udGVudDogIlxmM2NiIgp9CgouZmEtbWl4Y2xvdWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI4OSIKfQoKLmZhLW1penVuaTpiZWZvcmUgewogICAgY29udGVudDogIlxmM2NjIgp9CgouZmEtbW9iaWxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMGIiCn0KCi5mYS1tb2JpbGUtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzY2QiCn0KCi5mYS1tb2R4OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyODUiCn0KCi5mYS1tb25lcm86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNkMCIKfQoKLmZhLW1vbmV5LWJpbGw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBkNiIKfQoKLmZhLW1vbmV5LWJpbGwtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZDEiCn0KCi5mYS1tb25leS1iaWxsLXdhdmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUzYSIKfQoKLmZhLW1vbmV5LWJpbGwtd2F2ZS1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUzYiIKfQoKLmZhLW1vbmV5LWNoZWNrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1M2MiCn0KCi5mYS1tb25leS1jaGVjay1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUzZCIKfQoKLmZhLW1vbnVtZW50OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1YTYiCn0KCi5mYS1tb29uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxODYiCn0KCi5mYS1tb3J0YXItcGVzdGxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1YTciCn0KCi5mYS1tb3NxdWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY3OCIKfQoKLmZhLW1vdG9yY3ljbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIxYyIKfQoKLmZhLW1vdW50YWluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2ZmMiCn0KCi5mYS1tb3VzZS1wb2ludGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNDUiCn0KCi5mYS1tdWctaG90OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3YjYiCn0KCi5mYS1tdXNpYzpiZWZvcmUgewogICAgY29udGVudDogIlxmMDAxIgp9CgouZmEtbmFwc3RlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmM2QyIgp9CgouZmEtbmVvczpiZWZvcmUgewogICAgY29udGVudDogIlxmNjEyIgp9CgouZmEtbmV0d29yay13aXJlZDpiZWZvcmUgewogICAgY29udGVudDogIlxmNmZmIgp9CgouZmEtbmV1dGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMmMiCn0KCi5mYS1uZXdzcGFwZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlYSIKfQoKLmZhLW5pbWJscjpiZWZvcmUgewogICAgY29udGVudDogIlxmNWE4Igp9CgouZmEtbmludGVuZG8tc3dpdGNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MTgiCn0KCi5mYS1ub2RlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MTkiCn0KCi5mYS1ub2RlLWpzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZDMiCn0KCi5mYS1ub3QtZXF1YWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUzZSIKfQoKLmZhLW5vdGVzLW1lZGljYWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ4MSIKfQoKLmZhLW5wbTpiZWZvcmUgewogICAgY29udGVudDogIlxmM2Q0Igp9CgouZmEtbnM4OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZDUiCn0KCi5mYS1udXRyaXRpb25peDpiZWZvcmUgewogICAgY29udGVudDogIlxmM2Q2Igp9CgouZmEtb2JqZWN0LWdyb3VwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNDciCn0KCi5mYS1vYmplY3QtdW5ncm91cDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjQ4Igp9CgouZmEtb2Rub2tsYXNzbmlraTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjYzIgp9CgouZmEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI2NCIKfQoKLmZhLW9pbC1jYW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjYxMyIKfQoKLmZhLW9sZC1yZXB1YmxpYzpiZWZvcmUgewogICAgY29udGVudDogIlxmNTEwIgp9CgouZmEtb206YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY3OSIKfQoKLmZhLW9wZW5jYXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyM2QiCn0KCi5mYS1vcGVuaWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE5YiIKfQoKLmZhLW9wZXJhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNmEiCn0KCi5mYS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyM2MiCn0KCi5mYS1vc2k6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQxYSIKfQoKLmZhLW90dGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3MDAiCn0KCi5mYS1vdXRkZW50OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwM2IiCn0KCi5mYS1wYWdlNDpiZWZvcmUgewogICAgY29udGVudDogIlxmM2Q3Igp9CgouZmEtcGFnZWxpbmVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOGMiCn0KCi5mYS1wYWludC1icnVzaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWZjIgp9CgouZmEtcGFpbnQtcm9sbGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1YWEiCn0KCi5mYS1wYWxldHRlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1M2YiCn0KCi5mYS1wYWxmZWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNkOCIKfQoKLmZhLXBhbGxldDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDgyIgp9CgouZmEtcGFwZXItcGxhbmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFkOCIKfQoKLmZhLXBhcGVyY2xpcDpiZWZvcmUgewogICAgY29udGVudDogIlxmMGM2Igp9CgouZmEtcGFyYWNodXRlLWJveDpiZWZvcmUgewogICAgY29udGVudDogIlxmNGNkIgp9CgouZmEtcGFyYWdyYXBoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZGQiCn0KCi5mYS1wYXJraW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NDAiCn0KCi5mYS1wYXNzcG9ydDpiZWZvcmUgewogICAgY29udGVudDogIlxmNWFiIgp9CgouZmEtcGFzdGFmYXJpYW5pc206YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY3YiIKfQoKLmZhLXBhc3RlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZWEiCn0KCi5mYS1wYXRyZW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZDkiCn0KCi5mYS1wYXVzZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMDRjIgp9CgouZmEtcGF1c2UtY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOGIiCn0KCi5mYS1wYXc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFiMCIKfQoKLmZhLXBheXBhbDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWVkIgp9CgouZmEtcGVhY2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY3YyIKfQoKLmZhLXBlbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzA0Igp9CgouZmEtcGVuLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzA1Igp9CgouZmEtcGVuLWZhbmN5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1YWMiCn0KCi5mYS1wZW4tbmliOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1YWQiCn0KCi5mYS1wZW4tc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNGIiCn0KCi5mYS1wZW5jaWwtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMDMiCn0KCi5mYS1wZW5jaWwtcnVsZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjVhZSIKfQoKLmZhLXBlbm55LWFyY2FkZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNzA0Igp9CgouZmEtcGVvcGxlLWNhcnJ5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0Y2UiCn0KCi5mYS1wZXJjZW50OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOTUiCn0KCi5mYS1wZXJjZW50YWdlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NDEiCn0KCi5mYS1wZXJpc2NvcGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNkYSIKfQoKLmZhLXBlcnNvbi1ib290aDpiZWZvcmUgewogICAgY29udGVudDogIlxmNzU2Igp9CgouZmEtcGhhYnJpY2F0b3I6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNkYiIKfQoKLmZhLXBob2VuaXgtZnJhbWV3b3JrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZGMiCn0KCi5mYS1waG9lbml4LXNxdWFkcm9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MTEiCn0KCi5mYS1waG9uZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMDk1Igp9CgouZmEtcGhvbmUtc2xhc2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNkZCIKfQoKLmZhLXBob25lLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMDk4Igp9CgouZmEtcGhvbmUtdm9sdW1lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYTAiCn0KCi5mYS1waHA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ1NyIKfQoKLmZhLXBpZWQtcGlwZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJhZSIKfQoKLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYTgiCn0KCi5mYS1waWVkLXBpcGVyLWhhdDpiZWZvcmUgewogICAgY29udGVudDogIlxmNGU1Igp9CgouZmEtcGllZC1waXBlci1wcDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWE3Igp9CgouZmEtcGlnZ3ktYmFuazpiZWZvcmUgewogICAgY29udGVudDogIlxmNGQzIgp9CgouZmEtcGlsbHM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ4NCIKfQoKLmZhLXBpbnRlcmVzdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMGQyIgp9CgouZmEtcGludGVyZXN0LXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIzMSIKfQoKLmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBkMyIKfQoKLmZhLXBsYWNlLW9mLXdvcnNoaXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY3ZiIKfQoKLmZhLXBsYW5lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwNzIiCn0KCi5mYS1wbGFuZS1hcnJpdmFsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1YWYiCn0KCi5mYS1wbGFuZS1kZXBhcnR1cmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjViMCIKfQoKLmZhLXBsYXk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA0YiIKfQoKLmZhLXBsYXktY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNDQiCn0KCi5mYS1wbGF5c3RhdGlvbjpiZWZvcmUgewogICAgY29udGVudDogIlxmM2RmIgp9CgouZmEtcGx1ZzpiZWZvcmUgewogICAgY29udGVudDogIlxmMWU2Igp9CgouZmEtcGx1czpiZWZvcmUgewogICAgY29udGVudDogIlxmMDY3Igp9CgouZmEtcGx1cy1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA1NSIKfQoKLmZhLXBsdXMtc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZmUiCn0KCi5mYS1wb2RjYXN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyY2UiCn0KCi5mYS1wb2xsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2ODEiCn0KCi5mYS1wb2xsLWg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY4MiIKfQoKLmZhLXBvbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMmZlIgp9CgouZmEtcG9vLXN0b3JtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3NWEiCn0KCi5mYS1wb29wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2MTkiCn0KCi5mYS1wb3J0cmFpdDpiZWZvcmUgewogICAgY29udGVudDogIlxmM2UwIgp9CgouZmEtcG91bmQtc2lnbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTU0Igp9CgouZmEtcG93ZXItb2ZmOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMTEiCn0KCi5mYS1wcmF5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2ODMiCn0KCi5mYS1wcmF5aW5nLWhhbmRzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2ODQiCn0KCi5mYS1wcmVzY3JpcHRpb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjViMSIKfQoKLmZhLXByZXNjcmlwdGlvbi1ib3R0bGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ4NSIKfQoKLmZhLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0ODYiCn0KCi5mYS1wcmludDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDJmIgp9CgouZmEtcHJvY2VkdXJlczpiZWZvcmUgewogICAgY29udGVudDogIlxmNDg3Igp9CgouZmEtcHJvZHVjdC1odW50OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyODgiCn0KCi5mYS1wcm9qZWN0LWRpYWdyYW06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU0MiIKfQoKLmZhLXB1c2hlZDpiZWZvcmUgewogICAgY29udGVudDogIlxmM2UxIgp9CgouZmEtcHV6emxlLXBpZWNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMmUiCn0KCi5mYS1weXRob246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNlMiIKfQoKLmZhLXFxOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZDYiCn0KCi5mYS1xcmNvZGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAyOSIKfQoKLmZhLXF1ZXN0aW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMjgiCn0KCi5mYS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA1OSIKfQoKLmZhLXF1aWRkaXRjaDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDU4Igp9CgouZmEtcXVpbnNjYXBlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0NTkiCn0KCi5mYS1xdW9yYTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmM0Igp9CgouZmEtcXVvdGUtbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTBkIgp9CgouZmEtcXVvdGUtcmlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEwZSIKfQoKLmZhLXF1cmFuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2ODciCn0KCi5mYS1yLXByb2plY3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRmNyIKfQoKLmZhLXJhZGlhdGlvbjpiZWZvcmUgewogICAgY29udGVudDogIlxmN2I5Igp9CgouZmEtcmFkaWF0aW9uLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmN2JhIgp9CgouZmEtcmFpbmJvdzpiZWZvcmUgewogICAgY29udGVudDogIlxmNzViIgp9CgouZmEtcmFuZG9tOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwNzQiCn0KCi5mYS1yYXNwYmVycnktcGk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdiYiIKfQoKLmZhLXJhdmVscnk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJkOSIKfQoKLmZhLXJlYWN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MWIiCn0KCi5mYS1yZWFjdGV1cm9wZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNzVkIgp9CgouZmEtcmVhZG1lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0ZDUiCn0KCi5mYS1yZWJlbDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWQwIgp9CgouZmEtcmVjZWlwdDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTQzIgp9CgouZmEtcmVjeWNsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWI4Igp9CgouZmEtcmVkLXJpdmVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZTMiCn0KCi5mYS1yZWRkaXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFhMSIKfQoKLmZhLXJlZGRpdC1hbGllbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjgxIgp9CgouZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWEyIgp9CgouZmEtcmVkaGF0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3YmMiCn0KCi5mYS1yZWRvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMWUiCn0KCi5mYS1yZWRvLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmY5Igp9CgouZmEtcmVnaXN0ZXJlZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjVkIgp9CgouZmEtcmVucmVuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOGIiCn0KCi5mYS1yZXBseTpiZWZvcmUgewogICAgY29udGVudDogIlxmM2U1Igp9CgouZmEtcmVwbHktYWxsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMjIiCn0KCi5mYS1yZXBseWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNlNiIKfQoKLmZhLXJlcHVibGljYW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc1ZSIKfQoKLmZhLXJlc2VhcmNoZ2F0ZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNGY4Igp9CgouZmEtcmVzb2x2aW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZTciCn0KCi5mYS1yZXN0cm9vbTpiZWZvcmUgewogICAgY29udGVudDogIlxmN2JkIgp9CgouZmEtcmV0d2VldDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDc5Igp9CgouZmEtcmV2OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1YjIiCn0KCi5mYS1yaWJib246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRkNiIKfQoKLmZhLXJpbmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjcwYiIKfQoKLmZhLXJvYWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAxOCIKfQoKLmZhLXJvYm90OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NDQiCn0KCi5mYS1yb2NrZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEzNSIKfQoKLmZhLXJvY2tldGNoYXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNlOCIKfQoKLmZhLXJvY2tybXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNlOSIKfQoKLmZhLXJvdXRlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0ZDciCn0KCi5mYS1yc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA5ZSIKfQoKLmZhLXJzcy1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE0MyIKfQoKLmZhLXJ1YmxlLXNpZ246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE1OCIKfQoKLmZhLXJ1bGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NDUiCn0KCi5mYS1ydWxlci1jb21iaW5lZDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTQ2Igp9CgouZmEtcnVsZXItaG9yaXpvbnRhbDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTQ3Igp9CgouZmEtcnVsZXItdmVydGljYWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU0OCIKfQoKLmZhLXJ1bm5pbmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjcwYyIKfQoKLmZhLXJ1cGVlLXNpZ246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE1NiIKfQoKLmZhLXNhZC1jcnk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjViMyIKfQoKLmZhLXNhZC10ZWFyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1YjQiCn0KCi5mYS1zYWZhcmk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI2NyIKfQoKLmZhLXNhc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQxZSIKfQoKLmZhLXNhdGVsbGl0ZTpiZWZvcmUgewogICAgY29udGVudDogIlxmN2JmIgp9CgouZmEtc2F0ZWxsaXRlLWRpc2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdjMCIKfQoKLmZhLXNhdmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBjNyIKfQoKLmZhLXNjaGxpeDpiZWZvcmUgewogICAgY29udGVudDogIlxmM2VhIgp9CgouZmEtc2Nob29sOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NDkiCn0KCi5mYS1zY3Jld2RyaXZlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmNTRhIgp9CgouZmEtc2NyaWJkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOGEiCn0KCi5mYS1zY3JvbGw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjcwZSIKfQoKLmZhLXNkLWNhcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdjMiIKfQoKLmZhLXNlYXJjaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDAyIgp9CgouZmEtc2VhcmNoLWRvbGxhcjpiZWZvcmUgewogICAgY29udGVudDogIlxmNjg4Igp9CgouZmEtc2VhcmNoLWxvY2F0aW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2ODkiCn0KCi5mYS1zZWFyY2gtbWludXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAxMCIKfQoKLmZhLXNlYXJjaC1wbHVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMGUiCn0KCi5mYS1zZWFyY2hlbmdpbjpiZWZvcmUgewogICAgY29udGVudDogIlxmM2ViIgp9CgouZmEtc2VlZGxpbmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRkOCIKfQoKLmZhLXNlbGxjYXN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZGEiCn0KCi5mYS1zZWxsc3k6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIxMyIKfQoKLmZhLXNlcnZlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjMzIgp9CgouZmEtc2VydmljZXN0YWNrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZWMiCn0KCi5mYS1zaGFwZXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjYxZiIKfQoKLmZhLXNoYXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwNjQiCn0KCi5mYS1zaGFyZS1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlMCIKfQoKLmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlMSIKfQoKLmZhLXNoYXJlLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTRkIgp9CgouZmEtc2hla2VsLXNpZ246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwYiIKfQoKLmZhLXNoaWVsZC1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNlZCIKfQoKLmZhLXNoaXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIxYSIKfQoKLmZhLXNoaXBwaW5nLWZhc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ4YiIKfQoKLmZhLXNoaXJ0c2luYnVsazpiZWZvcmUgewogICAgY29udGVudDogIlxmMjE0Igp9CgouZmEtc2hvZS1wcmludHM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU0YiIKfQoKLmZhLXNob3BwaW5nLWJhZzpiZWZvcmUgewogICAgY29udGVudDogIlxmMjkwIgp9CgouZmEtc2hvcHBpbmctYmFza2V0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOTEiCn0KCi5mYS1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwN2EiCn0KCi5mYS1zaG9wd2FyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNWI1Igp9CgouZmEtc2hvd2VyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyY2MiCn0KCi5mYS1zaHV0dGxlLXZhbjpiZWZvcmUgewogICAgY29udGVudDogIlxmNWI2Igp9CgouZmEtc2lnbjpiZWZvcmUgewogICAgY29udGVudDogIlxmNGQ5Igp9CgouZmEtc2lnbi1pbi1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJmNiIKfQoKLmZhLXNpZ24tbGFuZ3VhZ2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJhNyIKfQoKLmZhLXNpZ24tb3V0LWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmY1Igp9CgouZmEtc2lnbmFsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMTIiCn0KCi5mYS1zaWduYXR1cmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjViNyIKfQoKLmZhLXNpbS1jYXJkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3YzQiCn0KCi5mYS1zaW1wbHlidWlsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjE1Igp9CgouZmEtc2lzdHJpeDpiZWZvcmUgewogICAgY29udGVudDogIlxmM2VlIgp9CgouZmEtc2l0ZW1hcDpiZWZvcmUgewogICAgY29udGVudDogIlxmMGU4Igp9CgouZmEtc2l0aDpiZWZvcmUgewogICAgY29udGVudDogIlxmNTEyIgp9CgouZmEtc2thdGluZzpiZWZvcmUgewogICAgY29udGVudDogIlxmN2M1Igp9CgouZmEtc2tldGNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3YzYiCn0KCi5mYS1za2lpbmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdjOSIKfQoKLmZhLXNraWluZy1ub3JkaWM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdjYSIKfQoKLmZhLXNrdWxsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NGMiCn0KCi5mYS1za3VsbC1jcm9zc2JvbmVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3MTQiCn0KCi5mYS1za3lhdGxhczpiZWZvcmUgewogICAgY29udGVudDogIlxmMjE2Igp9CgouZmEtc2t5cGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE3ZSIKfQoKLmZhLXNsYWNrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOTgiCn0KCi5mYS1zbGFjay1oYXNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZWYiCn0KCi5mYS1zbGFzaDpiZWZvcmUgewogICAgY29udGVudDogIlxmNzE1Igp9CgouZmEtc2xlaWdoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3Y2MiCn0KCi5mYS1zbGlkZXJzLWg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFkZSIKfQoKLmZhLXNsaWRlc2hhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlNyIKfQoKLmZhLXNtaWxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMTgiCn0KCi5mYS1zbWlsZS1iZWFtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1YjgiCn0KCi5mYS1zbWlsZS13aW5rOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0ZGEiCn0KCi5mYS1zbW9nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3NWYiCn0KCi5mYS1zbW9raW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0OGQiCn0KCi5mYS1zbW9raW5nLWJhbjpiZWZvcmUgewogICAgY29udGVudDogIlxmNTRkIgp9CgouZmEtc21zOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3Y2QiCn0KCi5mYS1zbmFwY2hhdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmFiIgp9CgouZmEtc25hcGNoYXQtZ2hvc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJhYyIKfQoKLmZhLXNuYXBjaGF0LXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmFkIgp9CgouZmEtc25vd2JvYXJkaW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3Y2UiCn0KCi5mYS1zbm93Zmxha2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJkYyIKfQoKLmZhLXNub3dtYW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdkMCIKfQoKLmZhLXNub3dwbG93OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3ZDIiCn0KCi5mYS1zb2NrczpiZWZvcmUgewogICAgY29udGVudDogIlxmNjk2Igp9CgouZmEtc29sYXItcGFuZWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjViYSIKfQoKLmZhLXNvcnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBkYyIKfQoKLmZhLXNvcnQtYWxwaGEtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTVkIgp9CgouZmEtc29ydC1hbHBoYS11cDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTVlIgp9CgouZmEtc29ydC1hbW91bnQtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTYwIgp9CgouZmEtc29ydC1hbW91bnQtdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE2MSIKfQoKLmZhLXNvcnQtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMGRkIgp9CgouZmEtc29ydC1udW1lcmljLWRvd246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE2MiIKfQoKLmZhLXNvcnQtbnVtZXJpYy11cDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTYzIgp9CgouZmEtc29ydC11cDpiZWZvcmUgewogICAgY29udGVudDogIlxmMGRlIgp9CgouZmEtc291bmRjbG91ZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWJlIgp9CgouZmEtc291cmNldHJlZTpiZWZvcmUgewogICAgY29udGVudDogIlxmN2QzIgp9CgouZmEtc3BhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1YmIiCn0KCi5mYS1zcGFjZS1zaHV0dGxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOTciCn0KCi5mYS1zcGVha2FwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZjMiCn0KCi5mYS1zcGlkZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjcxNyIKfQoKLmZhLXNwaW5uZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjExMCIKfQoKLmZhLXNwbG90Y2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjViYyIKfQoKLmZhLXNwb3RpZnk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFiYyIKfQoKLmZhLXNwcmF5LWNhbjpiZWZvcmUgewogICAgY29udGVudDogIlxmNWJkIgp9CgouZmEtc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwYzgiCn0KCi5mYS1zcXVhcmUtZnVsbDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDVjIgp9CgouZmEtc3F1YXJlLXJvb3QtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2OTgiCn0KCi5mYS1zcXVhcmVzcGFjZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNWJlIgp9CgouZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE4ZCIKfQoKLmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNmMiCn0KCi5mYS1zdGFtcDpiZWZvcmUgewogICAgY29udGVudDogIlxmNWJmIgp9CgouZmEtc3RhcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMDA1Igp9CgouZmEtc3Rhci1hbmQtY3Jlc2NlbnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjY5OSIKfQoKLmZhLXN0YXItaGFsZjpiZWZvcmUgewogICAgY29udGVudDogIlxmMDg5Igp9CgouZmEtc3Rhci1oYWxmLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmNWMwIgp9CgouZmEtc3Rhci1vZi1kYXZpZDpiZWZvcmUgewogICAgY29udGVudDogIlxmNjlhIgp9CgouZmEtc3Rhci1vZi1saWZlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2MjEiCn0KCi5mYS1zdGF5bGlua2VkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZjUiCn0KCi5mYS1zdGVhbTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWI2Igp9CgouZmEtc3RlYW0tc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYjciCn0KCi5mYS1zdGVhbS1zeW1ib2w6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNmNiIKfQoKLmZhLXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA0OCIKfQoKLmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDUxIgp9CgouZmEtc3RldGhvc2NvcGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBmMSIKfQoKLmZhLXN0aWNrZXItbXVsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmM2Y3Igp9CgouZmEtc3RpY2t5LW5vdGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI0OSIKfQoKLmZhLXN0b3A6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA0ZCIKfQoKLmZhLXN0b3AtY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOGQiCn0KCi5mYS1zdG9wd2F0Y2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJmMiIKfQoKLmZhLXN0b3JlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NGUiCn0KCi5mYS1zdG9yZS1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU0ZiIKfQoKLmZhLXN0cmF2YTpiZWZvcmUgewogICAgY29udGVudDogIlxmNDI4Igp9CgouZmEtc3RyZWFtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NTAiCn0KCi5mYS1zdHJlZXQtdmlldzpiZWZvcmUgewogICAgY29udGVudDogIlxmMjFkIgp9CgouZmEtc3RyaWtldGhyb3VnaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMGNjIgp9CgouZmEtc3RyaXBlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MjkiCn0KCi5mYS1zdHJpcGUtczpiZWZvcmUgewogICAgY29udGVudDogIlxmNDJhIgp9CgouZmEtc3Ryb29wd2FmZWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU1MSIKfQoKLmZhLXN0dWRpb3ZpbmFyaTpiZWZvcmUgewogICAgY29udGVudDogIlxmM2Y4Igp9CgouZmEtc3R1bWJsZXVwb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFhNCIKfQoKLmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWEzIgp9CgouZmEtc3Vic2NyaXB0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMmMiCn0KCi5mYS1zdWJ3YXk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIzOSIKfQoKLmZhLXN1aXRjYXNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZjIiCn0KCi5mYS1zdWl0Y2FzZS1yb2xsaW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1YzEiCn0KCi5mYS1zdW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE4NSIKfQoKLmZhLXN1cGVycG93ZXJzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZGQiCn0KCi5mYS1zdXBlcnNjcmlwdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTJiIgp9CgouZmEtc3VwcGxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZjkiCn0KCi5mYS1zdXJwcmlzZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNWMyIgp9CgouZmEtc3VzZTpiZWZvcmUgewogICAgY29udGVudDogIlxmN2Q2Igp9CgouZmEtc3dhdGNoYm9vazpiZWZvcmUgewogICAgY29udGVudDogIlxmNWMzIgp9CgouZmEtc3dpbW1lcjpiZWZvcmUgewogICAgY29udGVudDogIlxmNWM0Igp9CgouZmEtc3dpbW1pbmctcG9vbDpiZWZvcmUgewogICAgY29udGVudDogIlxmNWM1Igp9CgouZmEtc3luYWdvZ3VlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2OWIiCn0KCi5mYS1zeW5jOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMjEiCn0KCi5mYS1zeW5jLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmYxIgp9CgouZmEtc3lyaW5nZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNDhlIgp9CgouZmEtdGFibGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBjZSIKfQoKLmZhLXRhYmxlLXRlbm5pczpiZWZvcmUgewogICAgY29udGVudDogIlxmNDVkIgp9CgouZmEtdGFibGV0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMGEiCn0KCi5mYS10YWJsZXQtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZmEiCn0KCi5mYS10YWJsZXRzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0OTAiCn0KCi5mYS10YWNob21ldGVyLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmM2ZkIgp9CgouZmEtdGFnOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMmIiCn0KCi5mYS10YWdzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMmMiCn0KCi5mYS10YXBlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0ZGIiCn0KCi5mYS10YXNrczpiZWZvcmUgewogICAgY29udGVudDogIlxmMGFlIgp9CgouZmEtdGF4aTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWJhIgp9CgouZmEtdGVhbXNwZWFrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0ZjkiCn0KCi5mYS10ZWV0aDpiZWZvcmUgewogICAgY29udGVudDogIlxmNjJlIgp9CgouZmEtdGVldGgtb3BlbjpiZWZvcmUgewogICAgY29udGVudDogIlxmNjJmIgp9CgouZmEtdGVsZWdyYW06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJjNiIKfQoKLmZhLXRlbGVncmFtLXBsYW5lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZmUiCn0KCi5mYS10ZW1wZXJhdHVyZS1oaWdoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3NjkiCn0KCi5mYS10ZW1wZXJhdHVyZS1sb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc2YiIKfQoKLmZhLXRlbmNlbnQtd2VpYm86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFkNSIKfQoKLmZhLXRlbmdlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3ZDciCn0KCi5mYS10ZXJtaW5hbDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTIwIgp9CgouZmEtdGV4dC1oZWlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAzNCIKfQoKLmZhLXRleHQtd2lkdGg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAzNSIKfQoKLmZhLXRoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMGEiCn0KCi5mYS10aC1sYXJnZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMDA5Igp9CgouZmEtdGgtbGlzdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMDBiIgp9CgouZmEtdGhlLXJlZC15ZXRpOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2OWQiCn0KCi5mYS10aGVhdGVyLW1hc2tzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2MzAiCn0KCi5mYS10aGVtZWNvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1YzYiCn0KCi5mYS10aGVtZWlzbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJiMiIKfQoKLmZhLXRoZXJtb21ldGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0OTEiCn0KCi5mYS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmNiIgp9CgouZmEtdGhlcm1vbWV0ZXItZnVsbDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmM3Igp9CgouZmEtdGhlcm1vbWV0ZXItaGFsZjpiZWZvcmUgewogICAgY29udGVudDogIlxmMmM5Igp9CgouZmEtdGhlcm1vbWV0ZXItcXVhcnRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMmNhIgp9CgouZmEtdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJjOCIKfQoKLmZhLXRoaW5rLXBlYWtzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3MzEiCn0KCi5mYS10aHVtYnMtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTY1Igp9CgouZmEtdGh1bWJzLXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNjQiCn0KCi5mYS10aHVtYnRhY2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA4ZCIKfQoKLmZhLXRpY2tldC1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjNmZiIKfQoKLmZhLXRpbWVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMGQiCn0KCi5mYS10aW1lcy1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA1NyIKfQoKLmZhLXRpbnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA0MyIKfQoKLmZhLXRpbnQtc2xhc2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjVjNyIKfQoKLmZhLXRpcmVkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1YzgiCn0KCi5mYS10b2dnbGUtb2ZmOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMDQiCn0KCi5mYS10b2dnbGUtb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwNSIKfQoKLmZhLXRvaWxldDpiZWZvcmUgewogICAgY29udGVudDogIlxmN2Q4Igp9CgouZmEtdG9pbGV0LXBhcGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3MWUiCn0KCi5mYS10b29sYm94OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NTIiCn0KCi5mYS10b29sczpiZWZvcmUgewogICAgY29udGVudDogIlxmN2Q5Igp9CgouZmEtdG9vdGg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjVjOSIKfQoKLmZhLXRvcmFoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2YTAiCn0KCi5mYS10b3JpaS1nYXRlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2YTEiCn0KCi5mYS10cmFjdG9yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3MjIiCn0KCi5mYS10cmFkZS1mZWRlcmF0aW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MTMiCn0KCi5mYS10cmFkZW1hcms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI1YyIKfQoKLmZhLXRyYWZmaWMtbGlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjYzNyIKfQoKLmZhLXRyYWluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMzgiCn0KCi5mYS10cmFtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3ZGEiCn0KCi5mYS10cmFuc2dlbmRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjI0Igp9CgouZmEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMjUiCn0KCi5mYS10cmFzaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWY4Igp9CgouZmEtdHJhc2gtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZWQiCn0KCi5mYS10cmVlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYmIiCn0KCi5mYS10cmVsbG86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE4MSIKfQoKLmZhLXRyaXBhZHZpc29yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNjIiCn0KCi5mYS10cm9waHk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA5MSIKfQoKLmZhLXRydWNrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZDEiCn0KCi5mYS10cnVjay1sb2FkaW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0ZGUiCn0KCi5mYS10cnVjay1tb25zdGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2M2IiCn0KCi5mYS10cnVjay1tb3Zpbmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRkZiIKfQoKLmZhLXRydWNrLXBpY2t1cDpiZWZvcmUgewogICAgY29udGVudDogIlxmNjNjIgp9CgouZmEtdHNoaXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NTMiCn0KCi5mYS10dHk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlNCIKfQoKLmZhLXR1bWJscjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTczIgp9CgouZmEtdHVtYmxyLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTc0Igp9CgouZmEtdHY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI2YyIKfQoKLmZhLXR3aXRjaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWU4Igp9CgouZmEtdHdpdHRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMDk5Igp9CgouZmEtdHdpdHRlci1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjA4MSIKfQoKLmZhLXR5cG8zOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MmIiCn0KCi5mYS11YmVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MDIiCn0KCi5mYS11YnVudHU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdkZiIKfQoKLmZhLXVpa2l0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MDMiCn0KCi5mYS11bWJyZWxsYTpiZWZvcmUgewogICAgY29udGVudDogIlxmMGU5Igp9CgouZmEtdW1icmVsbGEtYmVhY2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjVjYSIKfQoKLmZhLXVuZGVybGluZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMGNkIgp9CgouZmEtdW5kbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMGUyIgp9CgouZmEtdW5kby1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJlYSIKfQoKLmZhLXVuaXJlZ2lzdHJ5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MDQiCn0KCi5mYS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOWEiCn0KCi5mYS11bml2ZXJzaXR5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOWMiCn0KCi5mYS11bmxpbms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEyNyIKfQoKLmZhLXVubG9jazpiZWZvcmUgewogICAgY29udGVudDogIlxmMDljIgp9CgouZmEtdW5sb2NrLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTNlIgp9CgouZmEtdW50YXBwZDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDA1Igp9CgouZmEtdXBsb2FkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwOTMiCn0KCi5mYS11cHM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdlMCIKfQoKLmZhLXVzYjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjg3Igp9CgouZmEtdXNlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMDA3Igp9CgouZmEtdXNlci1hbHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQwNiIKfQoKLmZhLXVzZXItYWx0LXNsYXNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0ZmEiCn0KCi5mYS11c2VyLWFzdHJvbmF1dDpiZWZvcmUgewogICAgY29udGVudDogIlxmNGZiIgp9CgouZmEtdXNlci1jaGVjazpiZWZvcmUgewogICAgY29udGVudDogIlxmNGZjIgp9CgouZmEtdXNlci1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJiZCIKfQoKLmZhLXVzZXItY2xvY2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRmZCIKfQoKLmZhLXVzZXItY29nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0ZmUiCn0KCi5mYS11c2VyLWVkaXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRmZiIKfQoKLmZhLXVzZXItZnJpZW5kczpiZWZvcmUgewogICAgY29udGVudDogIlxmNTAwIgp9CgouZmEtdXNlci1ncmFkdWF0ZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNTAxIgp9CgouZmEtdXNlci1pbmp1cmVkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3MjgiCn0KCi5mYS11c2VyLWxvY2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUwMiIKfQoKLmZhLXVzZXItbWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBmMCIKfQoKLmZhLXVzZXItbWludXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUwMyIKfQoKLmZhLXVzZXItbmluamE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUwNCIKfQoKLmZhLXVzZXItcGx1czpiZWZvcmUgewogICAgY29udGVudDogIlxmMjM0Igp9CgouZmEtdXNlci1zZWNyZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIxYiIKfQoKLmZhLXVzZXItc2hpZWxkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MDUiCn0KCi5mYS11c2VyLXNsYXNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MDYiCn0KCi5mYS11c2VyLXRhZzpiZWZvcmUgewogICAgY29udGVudDogIlxmNTA3Igp9CgouZmEtdXNlci10aWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUwOCIKfQoKLmZhLXVzZXItdGltZXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIzNSIKfQoKLmZhLXVzZXJzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwYzAiCn0KCi5mYS11c2Vycy1jb2c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjUwOSIKfQoKLmZhLXVzcHM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjdlMSIKfQoKLmZhLXVzc3VubmFoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MDciCn0KCi5mYS11dGVuc2lsLXNwb29uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZTUiCn0KCi5mYS11dGVuc2lsczpiZWZvcmUgewogICAgY29udGVudDogIlxmMmU3Igp9CgouZmEtdmFhZGluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MDgiCn0KCi5mYS12ZWN0b3Itc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1Y2IiCn0KCi5mYS12ZW51czpiZWZvcmUgewogICAgY29udGVudDogIlxmMjIxIgp9CgouZmEtdmVudXMtZG91YmxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMjYiCn0KCi5mYS12ZW51cy1tYXJzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMjgiCn0KCi5mYS12aWFjb2luOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMzciCn0KCi5mYS12aWFkZW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJhOSIKfQoKLmZhLXZpYWRlby1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJhYSIKfQoKLmZhLXZpYWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQ5MiIKfQoKLmZhLXZpYWxzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0OTMiCn0KCi5mYS12aWJlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmNDA5Igp9CgouZmEtdmlkZW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAzZCIKfQoKLmZhLXZpZGVvLXNsYXNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0ZTIiCn0KCi5mYS12aWhhcmE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjZhNyIKfQoKLmZhLXZpbWVvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MGEiCn0KCi5mYS12aW1lby1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE5NCIKfQoKLmZhLXZpbWVvLXY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI3ZCIKfQoKLmZhLXZpbmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFjYSIKfQoKLmZhLXZrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxODkiCn0KCi5mYS12bnY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQwYiIKfQoKLmZhLXZvbGxleWJhbGwtYmFsbDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDVmIgp9CgouZmEtdm9sdW1lLWRvd246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAyNyIKfQoKLmZhLXZvbHVtZS1tdXRlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2YTkiCn0KCi5mYS12b2x1bWUtb2ZmOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwMjYiCn0KCi5mYS12b2x1bWUtdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjAyOCIKfQoKLmZhLXZvdGUteWVhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3NzIiCn0KCi5mYS12ci1jYXJkYm9hcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjcyOSIKfQoKLmZhLXZ1ZWpzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MWYiCn0KCi5mYS13YWxraW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1NTQiCn0KCi5mYS13YWxsZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjU1NSIKfQoKLmZhLXdhcmVob3VzZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNDk0Igp9CgouZmEtd2F0ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjc3MyIKfQoKLmZhLXdlZWJseTpiZWZvcmUgewogICAgY29udGVudDogIlxmNWNjIgp9CgouZmEtd2VpYm86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE4YSIKfQoKLmZhLXdlaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDk2Igp9CgouZmEtd2VpZ2h0LWhhbmdpbmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjVjZCIKfQoKLmZhLXdlaXhpbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMWQ3Igp9CgouZmEtd2hhdHNhcHA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIzMiIKfQoKLmZhLXdoYXRzYXBwLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmNDBjIgp9CgouZmEtd2hlZWxjaGFpcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTkzIgp9CgouZmEtd2htY3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQwZCIKfQoKLmZhLXdpZmk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlYiIKfQoKLmZhLXdpa2lwZWRpYS13OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNjYiCn0KCi5mYS13aW5kOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3MmUiCn0KCi5mYS13aW5kb3ctY2xvc2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQxMCIKfQoKLmZhLXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmQwIgp9CgouZmEtd2luZG93LW1pbmltaXplOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZDEiCn0KCi5mYS13aW5kb3ctcmVzdG9yZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmQyIgp9CgouZmEtd2luZG93czpiZWZvcmUgewogICAgY29udGVudDogIlxmMTdhIgp9CgouZmEtd2luZS1ib3R0bGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjcyZiIKfQoKLmZhLXdpbmUtZ2xhc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjRlMyIKfQoKLmZhLXdpbmUtZ2xhc3MtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1Y2UiCn0KCi5mYS13aXg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjVjZiIKfQoKLmZhLXdpemFyZHMtb2YtdGhlLWNvYXN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY3MzAiCn0KCi5mYS13b2xmLXBhY2stYmF0dGFsaW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY1MTQiCn0KCi5mYS13b24tc2lnbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTU5Igp9CgouZmEtd29yZHByZXNzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOWEiCn0KCi5mYS13b3JkcHJlc3Mtc2ltcGxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MTEiCn0KCi5mYS13cGJlZ2lubmVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOTciCn0KCi5mYS13cGV4cGxvcmVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZGUiCn0KCi5mYS13cGZvcm1zOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOTgiCn0KCi5mYS13cHJlc3NyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzZTQiCn0KCi5mYS13cmVuY2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjBhZCIKfQoKLmZhLXgtcmF5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0OTciCn0KCi5mYS14Ym94OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MTIiCn0KCi5mYS14aW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNjgiCn0KCi5mYS14aW5nLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTY5Igp9CgouZmEteS1jb21iaW5hdG9yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyM2IiCn0KCi5mYS15YWhvbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMTllIgp9CgouZmEteWFuZGV4OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY0MTMiCn0KCi5mYS15YW5kZXgtaW50ZXJuYXRpb25hbDpiZWZvcmUgewogICAgY29udGVudDogIlxmNDE0Igp9CgouZmEteWFybjpiZWZvcmUgewogICAgY29udGVudDogIlxmN2UzIgp9CgouZmEteWVscDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWU5Igp9CgouZmEteWVuLXNpZ246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE1NyIKfQoKLmZhLXlpbi15YW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2YWQiCn0KCi5mYS15b2FzdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmIxIgp9CgouZmEteW91dHViZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTY3Igp9CgouZmEteW91dHViZS1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjQzMSIKfQoKLmZhLXpoaWh1OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGY2M2YiCn0KCi5zci1vbmx5IHsKICAgIGJvcmRlcjogMDsKICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7CiAgICBoZWlnaHQ6IDFweDsKICAgIG1hcmdpbjogLTFweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBwYWRkaW5nOiAwOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDFweAp9Cgouc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLAouc3Itb25seS1mb2N1c2FibGU6Zm9jdXMgewogICAgY2xpcDogYXV0bzsKICAgIGhlaWdodDogYXV0bzsKICAgIG1hcmdpbjogMDsKICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgcG9zaXRpb246IHN0YXRpYzsKICAgIHdpZHRoOiBhdXRvCn0KCkBmb250LWZhY2UgewogICAgZm9udC1mYW1pbHk6ICJGb250IEF3ZXNvbWUgNSBCcmFuZHMiOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIHNyYzogdXJsKC4uL2ZvbnRzL2ZhLWJyYW5kcy00MDAuZW90KTsKICAgIHNyYzogdXJsKC4uL2ZvbnRzL2ZhLWJyYW5kcy00MDBkNDFkLmVvdD8jaWVmaXgpIGZvcm1hdCgiZW1iZWRkZWQtb3BlbnR5cGUiKSwgdXJsKC4uL2ZvbnRzL2ZhLWJyYW5kcy00MDAud29mZjIpIGZvcm1hdCgid29mZjIiKSwgdXJsKC4uL2ZvbnRzL2ZhLWJyYW5kcy00MDAud29mZikgZm9ybWF0KCJ3b2ZmIiksIHVybCguLi9mb250cy9mYS1icmFuZHMtNDAwLnR0ZikgZm9ybWF0KCJ0cnVldHlwZSIpLCB1cmwoLi4vZm9udHMvZmEtYnJhbmRzLTQwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdCgic3ZnIikKfQoKLmZhYiB7CiAgICBmb250LWZhbWlseTogIkZvbnQgQXdlc29tZSA1IEJyYW5kcyIKfQoKQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogIkZvbnQgQXdlc29tZSA1IEZyZWUiOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIHNyYzogdXJsKC4uL2ZvbnRzL2ZhLXJlZ3VsYXItNDAwLmVvdCk7CiAgICBzcmM6IHVybCguLi9mb250cy9mYS1yZWd1bGFyLTQwMGQ0MWQuZW90PyNpZWZpeCkgZm9ybWF0KCJlbWJlZGRlZC1vcGVudHlwZSIpLCB1cmwoLi4vZm9udHMvZmEtcmVndWxhci00MDAud29mZjIpIGZvcm1hdCgid29mZjIiKSwgdXJsKC4uL2ZvbnRzL2ZhLXJlZ3VsYXItNDAwLndvZmYpIGZvcm1hdCgid29mZiIpLCB1cmwoLi4vZm9udHMvZmEtcmVndWxhci00MDAudHRmKSBmb3JtYXQoInRydWV0eXBlIiksIHVybCguLi9mb250cy9mYS1yZWd1bGFyLTQwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdCgic3ZnIikKfQoKLmZhciB7CiAgICBmb250LXdlaWdodDogNDAwCn0KCkBmb250LWZhY2UgewogICAgZm9udC1mYW1pbHk6ICJGb250IEF3ZXNvbWUgNSBGcmVlIjsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICBzcmM6IHVybCguLi9mb250cy9mYS1zb2xpZC05MDAuZW90KTsKICAgIHNyYzogdXJsKC4uL2ZvbnRzL2ZhLXNvbGlkLTkwMGQ0MWQuZW90PyNpZWZpeCkgZm9ybWF0KCJlbWJlZGRlZC1vcGVudHlwZSIpLCB1cmwoLi4vZm9udHMvZmEtc29saWQtOTAwLndvZmYyKSBmb3JtYXQoIndvZmYyIiksIHVybCguLi9mb250cy9mYS1zb2xpZC05MDAud29mZikgZm9ybWF0KCJ3b2ZmIiksIHVybCguLi9mb250cy9mYS1zb2xpZC05MDAudHRmKSBmb3JtYXQoInRydWV0eXBlIiksIHVybCguLi9mb250cy9mYS1zb2xpZC05MDAuc3ZnI2ZvbnRhd2Vzb21lKSBmb3JtYXQoInN2ZyIpCn0KCi5mYSwKLmZhciwKLmZhcyB7CiAgICBmb250LWZhbWlseTogIkZvbnQgQXdlc29tZSA1IEZyZWUiCn0KCi5mYSwKLmZhcyB7CiAgICBmb250LXdlaWdodDogOTAwCn0KCkBmb250LWZhY2UgewogICAgZm9udC1mYW1pbHk6IGZvbnRlbGxvOwogICAgc3JjOiB1cmwoLi4vZm9udHMvZm9udGVsbG9jNWU2Lmh0bWw/NjgxNDc0MTUpOwogICAgc3JjOiB1cmwoLi4vZm9udHMvZm9udGVsbG9jNWU2Lmh0bWw/NjgxNDc0MTUjaWVmaXgpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKC4uL2ZvbnRzL2ZvbnRlbGxvYzVlNi0yLmh0bWw/NjgxNDc0MTUpIGZvcm1hdCgnd29mZjInKSwgdXJsKC4uL2ZvbnRzL2ZvbnRlbGxvYzVlNi0zLmh0bWw/NjgxNDc0MTUpIGZvcm1hdCgnd29mZicpLCB1cmwoLi4vZm9udHMvZm9udGVsbG9jNWU2LTQuaHRtbD82ODE0NzQxNSkgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoLi4vZm9udHMvZm9udGVsbG9jNWU2LTUuaHRtbD82ODE0NzQxNSNmb250ZWxsbykgZm9ybWF0KCdzdmcnKTsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBmb250LXN0eWxlOiBub3JtYWwKfQoKW2NsYXNzKj0iIGljb24tIl06YmVmb3JlLApbY2xhc3NePWljb24tXTpiZWZvcmUgewogICAgZm9udC1mYW1pbHk6IGZvbnRlbGxvOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIHNwZWFrOiBub25lOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OwogICAgd2lkdGg6IDFlbTsKICAgIG1hcmdpbi1yaWdodDogLjJlbTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZvbnQtdmFyaWFudDogbm9ybWFsOwogICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgICBsaW5lLWhlaWdodDogMWVtOwogICAgbWFyZ2luLWxlZnQ6IC4yZW07CiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGUKfQoKLmljb24tdHdpdHRlcjpiZWZvcmUgewogICAgY29udGVudDogJ1xmMDk5Jwp9CgouaWNvbi1mYWNlYm9vazpiZWZvcmUgewogICAgY29udGVudDogJ1xmMDlhJwp9CgouaWNvbi1ncGx1czpiZWZvcmUgewogICAgY29udGVudDogJ1xmMGQ1Jwp9CgouaWNvbi1saW5rZWRpbjpiZWZvcmUgewogICAgY29udGVudDogJ1xmMGUxJwp9CgouaWNvbi1hcHBsZTpiZWZvcmUgewogICAgY29udGVudDogJ1xmMTc5Jwp9CgouaWNvbi13aW5kb3dzOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGYxN2EnCn0KCi8qISBqUXVlcnkgVUkgLSB2MS4xMi4xIC0gMjAxOS0wNy0yMgoqIGh0dHA6Ly9qcXVlcnl1aS5jb20KKiBJbmNsdWRlczogY29yZS5jc3MsIGRhdGVwaWNrZXIuY3NzLCBzbGlkZXIuY3NzCiogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnM7IExpY2Vuc2VkIE1JVCAqLwoKLnVpLWhlbHBlci1oaWRkZW4gewogICAgZGlzcGxheTogbm9uZQp9CgoudWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIHsKICAgIGJvcmRlcjogMDsKICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7CiAgICBoZWlnaHQ6IDFweDsKICAgIG1hcmdpbjogLTFweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBwYWRkaW5nOiAwOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDFweAp9CgoudWktaGVscGVyLXJlc2V0IHsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDA7CiAgICBib3JkZXI6IDA7CiAgICBvdXRsaW5lOiAwOwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGZvbnQtc2l6ZTogMTAwJTsKICAgIGxpc3Qtc3R5bGU6IG5vbmUKfQoKLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciwKLnVpLWhlbHBlci1jbGVhcmZpeDpiZWZvcmUgewogICAgY29udGVudDogIiI7CiAgICBkaXNwbGF5OiB0YWJsZTsKICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UKfQoKLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciB7CiAgICBjbGVhcjogYm90aAp9CgoudWktaGVscGVyLXpmaXggewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgb3BhY2l0eTogMDsKICAgIGZpbHRlcjogQWxwaGEoT3BhY2l0eT0wKQp9CgoudWktZnJvbnQgewogICAgei1pbmRleDogMTAwCn0KCi51aS1zdGF0ZS1kaXNhYmxlZCB7CiAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lCn0KCi51aS1pY29uIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICBtYXJnaW4tdG9wOiAtLjI1ZW07CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0ZXh0LWluZGVudDogLTk5OTk5cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdAp9CgoudWktd2lkZ2V0LWljb24tYmxvY2sgewogICAgbGVmdDogNTAlOwogICAgbWFyZ2luLWxlZnQ6IC04cHg7CiAgICBkaXNwbGF5OiBibG9jawp9CgoudWktd2lkZ2V0LW92ZXJsYXkgewogICAgcG9zaXRpb246IGZpeGVkOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlCn0KCi51aS1kYXRlcGlja2VyIHsKICAgIHdpZHRoOiAxN2VtOwogICAgcGFkZGluZzogLjJlbSAuMmVtIDA7CiAgICBkaXNwbGF5OiBub25lCn0KCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBwYWRkaW5nOiAuMmVtIDAKfQoKLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCwKLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDJweDsKICAgIHdpZHRoOiAxLjhlbTsKICAgIGhlaWdodDogMS44ZW0KfQoKLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciwKLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciB7CiAgICB0b3A6IDFweAp9CgoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHsKICAgIGxlZnQ6IDJweAp9CgoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHsKICAgIHJpZ2h0OiAycHgKfQoKLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciB7CiAgICBsZWZ0OiAxcHgKfQoKLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7CiAgICByaWdodDogMXB4Cn0KCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbiwKLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFuIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogNTAlOwogICAgbWFyZ2luLWxlZnQ6IC04cHg7CiAgICB0b3A6IDUwJTsKICAgIG1hcmdpbi10b3A6IC04cHgKfQoKLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUgewogICAgbWFyZ2luOiAwIDIuM2VtOwogICAgbGluZS1oZWlnaHQ6IDEuOGVtOwogICAgdGV4dC1hbGlnbjogY2VudGVyCn0KCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxlIHNlbGVjdCB7CiAgICBmb250LXNpemU6IDFlbTsKICAgIG1hcmdpbjogMXB4IDAKfQoKLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsCi51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIgewogICAgd2lkdGg6IDQ1JQp9CgoudWktZGF0ZXBpY2tlciB0YWJsZSB7CiAgICB3aWR0aDogMTAwJTsKICAgIGZvbnQtc2l6ZTogLjllbTsKICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICBtYXJnaW46IDAgMCAuNGVtCn0KCi51aS1kYXRlcGlja2VyIHRoIHsKICAgIHBhZGRpbmc6IC43ZW0gLjNlbTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBib3JkZXI6IDAKfQoKLnVpLWRhdGVwaWNrZXIgdGQgewogICAgYm9yZGVyOiAwOwogICAgcGFkZGluZzogMXB4Cn0KCi51aS1kYXRlcGlja2VyIHRkIGEsCi51aS1kYXRlcGlja2VyIHRkIHNwYW4gewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwYWRkaW5nOiAuMmVtOwogICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUKfQoKLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwogICAgbWFyZ2luOiAuN2VtIDAgMCAwOwogICAgcGFkZGluZzogMCAuMmVtOwogICAgYm9yZGVyLWxlZnQ6IDA7CiAgICBib3JkZXItcmlnaHQ6IDA7CiAgICBib3JkZXItYm90dG9tOiAwCn0KCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHsKICAgIGZsb2F0OiByaWdodDsKICAgIG1hcmdpbjogLjVlbSAuMmVtIC40ZW07CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbSAuNmVtOwogICAgd2lkdGg6IGF1dG87CiAgICBvdmVyZmxvdzogdmlzaWJsZQp9CgoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQgewogICAgZmxvYXQ6IGxlZnQKfQoKLnVpLWRhdGVwaWNrZXIudWktZGF0ZXBpY2tlci1tdWx0aSB7CiAgICB3aWR0aDogYXV0bwp9CgoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB7CiAgICBmbG9hdDogbGVmdAp9CgoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJsZSB7CiAgICB3aWR0aDogOTUlOwogICAgbWFyZ2luOiAwIGF1dG8gLjRlbQp9CgoudWktZGF0ZXBpY2tlci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHsKICAgIHdpZHRoOiA1MCUKfQoKLnVpLWRhdGVwaWNrZXItbXVsdGktMyAudWktZGF0ZXBpY2tlci1ncm91cCB7CiAgICB3aWR0aDogMzMuMyUKfQoKLnVpLWRhdGVwaWNrZXItbXVsdGktNCAudWktZGF0ZXBpY2tlci1ncm91cCB7CiAgICB3aWR0aDogMjUlCn0KCi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLAoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsKICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwCn0KCi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgewogICAgY2xlYXI6IGxlZnQKfQoKLnVpLWRhdGVwaWNrZXItcm93LWJyZWFrIHsKICAgIGNsZWFyOiBib3RoOwogICAgd2lkdGg6IDEwMCU7CiAgICBmb250LXNpemU6IDAKfQoKLnVpLWRhdGVwaWNrZXItcnRsIHsKICAgIGRpcmVjdGlvbjogcnRsCn0KCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2IHsKICAgIHJpZ2h0OiAycHg7CiAgICBsZWZ0OiBhdXRvCn0KCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0IHsKICAgIGxlZnQ6IDJweDsKICAgIHJpZ2h0OiBhdXRvCn0KCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHsKICAgIHJpZ2h0OiAxcHg7CiAgICBsZWZ0OiBhdXRvCn0KCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHsKICAgIGxlZnQ6IDFweDsKICAgIHJpZ2h0OiBhdXRvCn0KCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHsKICAgIGNsZWFyOiByaWdodAp9CgoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24gewogICAgZmxvYXQ6IGxlZnQKfQoKLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCwKLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwIHsKICAgIGZsb2F0OiByaWdodAp9CgoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIsCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsKICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsKICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHgKfQoKLnVpLWRhdGVwaWNrZXIgLnVpLWljb24gewogICAgZGlzcGxheTogYmxvY2s7CiAgICB0ZXh0LWluZGVudDogLTk5OTk5cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIGxlZnQ6IC41ZW07CiAgICB0b3A6IC4zZW0KfQoKLnVpLXNsaWRlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0ZXh0LWFsaWduOiBsZWZ0Cn0KCi51aS1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgei1pbmRleDogMjsKICAgIHdpZHRoOiAxLjJlbTsKICAgIGhlaWdodDogMS4yZW07CiAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAtbXMtdG91Y2gtYWN0aW9uOiBub25lOwogICAgdG91Y2gtYWN0aW9uOiBub25lCn0KCi51aS1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB6LWluZGV4OiAxOwogICAgZm9udC1zaXplOiAuN2VtOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBib3JkZXI6IDA7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAKfQoKLnVpLXNsaWRlci51aS1zdGF0ZS1kaXNhYmxlZCAudWktc2xpZGVyLWhhbmRsZSwKLnVpLXNsaWRlci51aS1zdGF0ZS1kaXNhYmxlZCAudWktc2xpZGVyLXJhbmdlIHsKICAgIGZpbHRlcjogaW5oZXJpdAp9CgoudWktc2xpZGVyLWhvcml6b250YWwgewogICAgaGVpZ2h0OiAuOGVtCn0KCi51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLWhhbmRsZSB7CiAgICB0b3A6IC0uM2VtOwogICAgbWFyZ2luLWxlZnQ6IC0uNmVtCn0KCi51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlIHsKICAgIHRvcDogMDsKICAgIGhlaWdodDogMTAwJQp9CgoudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1taW4gewogICAgbGVmdDogMAp9CgoudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1tYXggewogICAgcmlnaHQ6IDAKfQoKLnVpLXNsaWRlci12ZXJ0aWNhbCB7CiAgICB3aWR0aDogLjhlbTsKICAgIGhlaWdodDogMTAwcHgKfQoKLnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLWhhbmRsZSB7CiAgICBsZWZ0OiAtLjNlbTsKICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgbWFyZ2luLWJvdHRvbTogLS42ZW0KfQoKLnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlIHsKICAgIGxlZnQ6IDA7CiAgICB3aWR0aDogMTAwJQp9CgoudWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWluIHsKICAgIGJvdHRvbTogMAp9CgoudWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWF4IHsKICAgIHRvcDogMAp9CgpAY2hhcnNldCAiVVRGLTgiOwpAZm9udC1mYWNlIHsKICAgIGZvbnQtZmFtaWx5OiB5dHByZWd1bGFyOwogICAgc3JjOiB1cmwoZm9udC95dHAtcmVndWxhci5odG1sKQp9CgpAZm9udC1mYWNlIHsKICAgIGZvbnQtZmFtaWx5OiB5dHByZWd1bGFyOwogICAgc3JjOiB1cmwoZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxkMDlHUmdBQkFBQUFBQTVzQUJFQUFBQUFGQ0FBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBQmdBQUFBQndBQUFBY1o5aXVOVWRFUlVZQUFBR2NBQUFBSFFBQUFDQUFkQUFFVDFNdk1nQUFBYndBQUFCSkFBQUFZSFVNVXJGamJXRndBQUFDQ0FBQUFLa0FBQUdLbjVYeWNXTjJkQ0FBQUFLMEFBQUFOZ0FBQURZTkxRb2habkJuYlFBQUF1d0FBQUd4QUFBQ1pWTzBMNmRuWVhOd0FBQUVvQUFBQUFnQUFBQUlBQUFBRUdkc2VXWUFBQVNvQUFBR1ZRQUFCNGp6ODZkU2FHVmhaQUFBQ3dBQUFBQXpBQUFBTmdiS09OcG9hR1ZoQUFBTE5BQUFBQ0FBQUFBa0VTUUxYR2h0ZEhnQUFBdFVBQUFBVkFBQUFSeE9td1Z3Ykc5allRQUFDNmdBQUFBakFBQUFrRm9FWFJSdFlYaHdBQUFMekFBQUFDQUFBQUFnQVdvQjYyNWhiV1VBQUF2c0FBQUErd0FBQWVvazNFYitjRzl6ZEFBQURPZ0FBQURBQUFBQk45OXR2MWx3Y21Wd0FBQU5xQUFBQUxrQUFBRlkzSTZpa25kbFltWUFBQTVrQUFBQUJnQUFBQWJITWxHbkFBQUFBUUFBQUFETVBhTFBBQUFBQU0zTms3UUFBQUFBemMxM3NYamFZMkJrWUdEZ0EySUpCaEJnWW1BRVFqY2daZ0h6R0FBSFRBQjVBQUFBZU5wallHYlp3RGlCZ1pXQmhkV1k1U3dEQThNc0NNMTBsaUdOS1EzSUIwckJBU01ERWdqMUR2ZGpjR0RnZmNEQWx2WVBxSkpWbGRFWnBvWlZrdVVaa0ZKZ1lBUUFVVVVMZXdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRYUFIeUdNRjhGb1lNSUMzR0lBQVVZUU95ZUJrVUdLSVlxaGdXS0hBcDZDdkVQMkQ0L3grc0F5VHV5SkFJRkdlQWl6UCsvL3IvOGYvRC8vZituL0hBOG9Iby9XY0tibER6c1FCR29Pa3dTVVltSU1HRXJnRGlSTHlBaFpXTm5ZT1RpNXVIbDQ5ZlFGQklXRVJVVEZ4Q1VrcGFSaFlpTHlldm9LaWtyS0txcHE2aHFhV3RvNnVuYjJCb1pHeGlhbWJPUUYxZ1FaWXVBSVFuSDRJQUFBQUFBQUFBQUFBQmVnRW5BSEVBc3dDOUFPQUE1UUQrQVJjQkl3QmRBSElCdGdCY0FHQUFaZ0J5QUk4QW9nRXJBYklBVXdCRUJSRUFBSGphWFZHN1RsdEJFTjBORHdPQnhOZ2dPZG9VczVtUXhudWhCUW5FMVkxaVpEdUY1UWhwTjNLUmkzRUJIMENCUkEzYXJ4bWdvYVJJbXdZaEYwaDhRajRoRWpOcmlLSTBPenV6Yzg2Wk0wdktrYXAzNld2UFUrY2trTUxkQnMwMi9VNUl0Yk1BOTZUcjY0Mk10SU1IV214bTlNcDErLzRMQnB2UmxEdHFBT1U5YnlrUEdVMDdnVnEwcC83Ui9BcUcrL3dmOHpzWXREVFQ5TlE2Q2VraEJPYWJjVXVEN3huTnVzc1Arb0xWNFdJd01LU1lwdUl1UDZaUy9yYzA1MnJMc0xXUjBieURNeEg1eVRSQVUydHRCSnIrMUNIVjgzRVVTNURMcHJFMm1KaXkvaVFUd1lYSmRGVlR0Y3o0MnNGZHNyUG9ZSU1xellFSDJNTldlUXdlRGc4bUZOSzNKTW9zRFJIMllxdkVDQkdUSEFvNTVkekovcVJBK1VnU3hyeEpTanZqaHJVR3hwSFh3S0EyVDdQL1BKdE5iVzhkd3ZoWkhNRjN2eGxMT3ZqSWh0b1lFV0k3WWltQUNVUkNSbFg1aGhyUHZTd0c1Rkw3ejBDVWdPWHhqMytkQ0xUdTJFUThsN1YxRGpGV0NIcCsyOXp5eTRxN1Zybk9pMEozYjZwcXFOSXB6ZnRlenI3SEE1NGVDOE5CWThHYnovditTb0g2UEN5dU5HZ09CRU42TjNyL29yWHFpS3U4Rno2eUo5Ty9zVm9BQUFBQUFRQUIvLzhBRDNqYVRaVnJiQnhYRmNmdnVmTmU3Mk5tZHg3N3RtZkhPMk43NjExNzc4NE9UcjE1NFlBYlI3UlF1VVFodHRvU3VYWktGUVZLS1lxZ2lGSkFna3BJa1ZDbEluOG9wU29talhZM1ZISFRGbGRFSVlwYXkxaFIrSUQ0QmhhMjdGb0lFUUdwZDhJZHU0bFk3YzZlT2ZlZS8vMmYzK3plaXpBYVF3aWY0aVlSZ3dSVWJnR3FqTFlGTnZWeHRjVnpmeGx0TTVpR3FNVUVhUzVJdHdVK3ZUUGFoaUJQRkZNcG1vbzVobnY4WG5qRm4rVW03L3htakYxR0NMSG9QZitmZ3NVVkVZY1NLSWNHa1liYVdZeEtMWjNiZ0dhNTBxcEFDUTBOZXlZb1lJTGFEVHFwdXJVSzJGWkJVWWxKWTh1a0VjMGVnTHBibytrWThPL0JRY3gyZHZ3UDJGaDYvUStHbDE5Znlyb3ViSG1lcjdycGpIbGxQWi9OS0IrdHAyLzQvVHp4U3gwem8vNzR1VVkyOXZKWk9FSElmbmc0bHp6N2NqeVh6bi9qSndxQ3dDT0xkajJpUFNQM0YvaFVBSEYzditDdmllZTVESXFoSkRMUkFDTG9QR3BIRUNxMU03U2Q1aURaL1c2elFXOG11OUVjcWw3U0k2eFlhaU9wbnhDeWR3UE5XcVdKL3RTU2pZMW1xdHFVNVpZTnBXYWwycEppR3kwWFNpMWJWdUtYMUZ5aDFHdU1vSlllVWVKdnkvR0VWYlRwZlRPakhKUlZ6VWltMHRsY3dla2JLRDFRcmdSNU05N09WOG5JeU1qUXNLUFVFS1dHTkVWRkZCd3FFcy95SE1FVkZNTTFQSWM0RmhpV1FWeEhjeGpEMHp6WEVrZ2JtSGU1RzFlQTlUOTU1NDUzeGQrQjl0YnBpNnZqMTArZnZqNitldkgwRmp1N3ZQRFU1c3pWWThldXptdyt0WEFCdjdrRW92L3YzM1dPdit2L0M4TEc5TTJ4RDE5L0VxdXpDeXVIVnVZNlIyNU9iejM1K29kdzROREt3dXpXSEFLODZxOXgyMXdLWVlRa2pGZVozTTVmL1RVbXc2UW8xMlArMzhXZjB6RVpwVkFCbFZBTmZRdTFvd0hYWE1EMUFkSXlRaHZOZ2VvdTJiMUxBdWhBa1Z3eUV4UnBzL3BwQUUyMzBxclRYMU1yRVZYaWw1VzRxbG05dGhNQU1wUjJNdFZIQWJYTW5CSnZaOG9WR2pkWjVYSzZ1NmN3TkV4cWROSjlkbm00RCs4ZUllWWVNN2hIMGIzSDliY1F1Y3pkZUg3NWVmK1R4VHZlTy81dHVESzJNcnM1ZCtIbXpRdHptN01yYlA2WnF4TXJyejIrdmYzNGF5c1RWNSs1aU45WWhNaTUxVzkzVGl6NS93RnArdWp5L01udEdYeCtkZnJqcWZsck83ODhPYjk4OU1hTVA3MTYrTnI4Rk9wQ2pidm53MDMyQlVybTgyZ0tmUWMxMFNKYUF3d1pHSU5IRVVya3NhRW5kSTNYQ3BwQmF2V2FVN05yZGEvdTdRZlBzbm1CRjFSZUs0TmpDeGJrZ1ZSSmRXL01kbWl5akhraENnS3ZHa3JOcSt1R25nUExVRFhWaW9KVGNHeE9OV2d1RU5PSVlta3ExbFFxYUR1MnExQXFLaTZxUmg2Q04wdXFobGtuMVdJd3QxWjNGVHFINmx0MmtXTGtxWnBRMkYxSDREM1gxQ3pGVWtDcDFSOEVWYWVLR3IzbWdYcHlkM09LWlRjZ2lvTWkzcUltcUEyRmFGU1lya0hkN0JZRVNuU01kcUF4MUhOZ2cvNnBHMEJvOTVSQUdlaHFvTkF1YVJIUjkwd0dkWHlKdGtBSjFEeFNEVlFDZlM4b2N1aStFb2hxYWdOakZyb25peUxBT1liQmd2U1F4dVh4aVVTQ0dRWFJlSkJuamFmaGJmNnhCczhQOVpjbExMSmRUSmZkTDNiTFJzZ2Q1ME5mNTJQN0pJV2pJbllxRnVaaFVHRXJ1Y0YwUWovek5KdFBHQXJEejdFWUZpMGNodlNwdzhDL21KUmdSVkxmZ3JFZjdSdm93aHlqSjNKUGZQbFgvaDhOLzZmWnJ5WDdiaC9wSnNQajRRTFg5UmE4OU5MM1FRa2xqbU9xbm9nblU2SGN4S2tvSS9Kc2FKOGNEY2ZDcVpBTUMyY2ZGZVNvSHUrV0ZFbVd6SVFxeDhQVm1DVGhTRnFQS3FMSXNneEp4MFFZWnQxaW9jamdmclBiaklvaWx0a1h4enhUbEU1RlZUTDF6YjdZbVRPU3pYR2lFQlUwWmdIelhleGpkOUhrbER0VGMyUDdpUjQvV21xay9qR2hmWlhqWlcxYllGVnAzeTAxRytvY3JoL0s5VlNUMyswNU9Vc2FFbkFZR0taUmZXSXBEUWFYVDJFajIvdkNsMVM1bk5lN2pIcTVlQ0FsTTdyT3BGeDhQUDFaZi9OekNVZGtwWGpVaEhtZGZkaS9YdjMxRDZXY2NQQUlEak5NbVBuQnpDK0VyQWlwWnpQZisrTGtReUdSaFRERXBDTmtibUxwejg4OTJ6bUUzKzhzd3ExWU9ESXFmMlo3bE84UmRKSG43UlM4a3BZNnIwcWhBZzd4WElIbmhWaXUrekJEYmhjeDE2VU9mR1ZnYUdrb1hlNkxod1MraDdOZ1NhK3ZSN0VTWnZQeXE2VlVxTitTQzBaU1RQbTNvRVRHb3hHSWgvcDYwdzNuYUl5Si9HeXdmOUNNbm5BZW1SMzUyNGhUNURFcnhPd0JoUjU1Q09NdzNlK3UwVDB0T0VzUjBKTXgrTkJIZnREL0FKK0QvZjd2L1RXKzl0K1ArQm85ZS83dk5ZeitCeTZGc0trQUFBQjQybU5nWkdCZ1lHUndiSThJV2h6UGIvT1ZRWjZEQVFUT25pM2ZDS1AvKy94N3lyT0JOUlRJNVdCZ0Fva0NBRzNtRGJBQWVOcGpZR1JnWUZYOXQ1ZUJnZWZ0ZjUvL1dUd2JHSUFpS01BZEFKeWNCcGg0Mm1ONncrREN3Y0RBQU1Jc1o4RDBIaEJOTElhcDUyRDQ3OGZCd0hRUnl2YkJwWjduTFlNdEtlWmp0NU9KaHhUMVRLc1lHRmhERVRUamNTQUcwZ3lQb1Jnb3ppZ0lwTDBoTkVpT0JjZ0ZBRUJvTkMxNDJtTmdZTkNCd2pvY2NBTERCRVk5UmhzZ1BJTU1tWmNSaEh0SWhrY0E5cFFzcEFBQUFRQUFBRWNCVkFBTEFBQUFBQUFDQUFFQUFnQVdBQUFCQUFDVEFBQUFBSGphbFpDeFRnSkJGRVhQQXBKb1lZZ0Y5VlpVU0lBRlRkRENubWlJZ3NUS3NBU1F1R2lDdTBZYUNyNE9mb21LT3pzVENIUm1NelBuM2JsejM4c0NGeXpKNHVYT2diS1daWSs4S3NzWkxxazd6a3A5Y0p5alNPVDRqRDlXanZQU3Q0NnZLSG9GeDJ0eHlmR0dxbmZQTzE4a3lvaFNHakJqSlBxUkZtcVBtV29sV2taOW8wdUhaL0VrZlROZ1RvMEtWWDAxN3VqUnBzK1R5RHF2VDd4VzlVL1VWMVZ6OVpyeXJRbjhvOFFPTDFKc2RWQS81SXdacHY3Zi9Zc0tUVzUwTzFQcXB6S05aeXcxVW5Lb3YyYzlkYmtEN2MxL3pkaFhGU3JOZEl6M0hidWFKRkgxS005Q1p5RE4zTjNTb2lGdXBmUDY2bWJPWUFkOGswRUdBSGphYmMwNVR3SmhISVR4WjBCQkJjL1A0SWtJN3k0c2gwZEJzb3NIS2lxSGVMVWlpVEUwRkg1NlhkbC82VFMvWklvWlVzenpNK2FkLzNJT1NpbE5tbTEyMkdXUGZRNG9jRWlSSTBxVWNYajRWS2dTVUtOT2d5YkhuSERLR1NFUjdYampna3V1NkhETkRiZDB1ZU9lQjNyMEdURGtrUkZQUFBQQ0syOWEwS0l5eW1wSnkxcFJUbm10YWszcjJ0Q210akxqeisvcGg1ZWRmVTJjYzJGaXkvM3B4NFhwbWI1Wk1hdG1ZTmJNdXRrd20yWXIwVzhuQm5PaitPY1hWRGswUG5qYVJjNjdEb0pBRUFWUUZ1VDlmcXNKQ1NaMit3MTJRa05qckNDeDl3K3NiU3kxOURzR0svOU9iM1JadWprM2s3bnpacDhic2J2U2tYWG9SOFlldzlnYXZOOVFOSFNVSFRGY2g0b01mdW9WMHVxR05MNG52MjVlbXEzeUh6ekFEd1Zjd09zRkhNQ3RCV3pBV1FsWWdKMEltSUExclJtQWVSYlFBV002dlFEMDRBOUdnWGdsUkJvNEtoKzE5Z0pHWURnekJxT25aQUxHTzhrVVRMYVNHWmhXa2ptWXJTVUxNQThrUzdDWWk1WmdLVGxReHIvVzFGNWFBQUFBQUFGUnA4Y3hBQUE9KSBmb3JtYXQoJ3dvZmYnKSwgdXJsKGZvbnQveXRwLXJlZ3VsYXIudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgZm9udC1zdHlsZTogbm9ybWFsCn0KCi5tYl9ZVFBsYXllcjpmb2N1cyB7CiAgICBvdXRsaW5lOiAwCn0KCi5ZVFBXcmFwcGVyIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKICAgIHBlcnNwZWN0aXZlOiAxMDAwOwogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Cn0KCi5tYl9ZVFBsYXllciAubG9hZGluZyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDEwcHg7CiAgICByaWdodDogMTBweDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNTEpOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogMnB4IDRweDsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgIGZvbnQtZmFtaWx5OiAiRHJvaWQgU2FucyIsIHNhbnMtc2VyaWY7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZSAuMXMgaW5maW5pdGUgYWx0ZXJuYXRlOwogICAgYW5pbWF0aW9uOiBmYWRlIC4xcyBpbmZpbml0ZSBhbHRlcm5hdGUKfQoKLmlubGluZVBsYXlCdXR0b24sCi5tYl9ZVFBCYXIgLnl0cGljb24gewogICAgZm9udC1mYW1pbHk6IHl0cHJlZ3VsYXIKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGUgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IC41CiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9Cn0KCkBrZXlmcmFtZXMgZmFkZSB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogLjUKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KfQoKLllUUEZ1bGxzY3JlZW4gewogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OwogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OwogICAgdG9wOiAwICFpbXBvcnRhbnQ7CiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7CiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwogICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMCAhaW1wb3J0YW50Cn0KCi5pbmxpbmVQbGF5QnV0dG9uIHsKICAgIGZvbnQtc2l6ZTogNDVweDsKICAgIGNvbG9yOiAjZmZmOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjQpOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDgwcHg7CiAgICBoZWlnaHQ6IDgwcHg7CiAgICBsaW5lLWhlaWdodDogODBweDsKICAgIHRvcDogMDsKICAgIGJvdHRvbTogMDsKICAgIGxlZnQ6IDA7CiAgICByaWdodDogMDsKICAgIG1hcmdpbjogYXV0bzsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNpdGlvbjogYWxsIC40czsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKQp9CgoubWJfWVRQbGF5ZXI6aG92ZXIgLmlubGluZVBsYXlCdXR0b24gewogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSkKfQoKLmlubGluZVBsYXlCdXR0b246aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKSAhaW1wb3J0YW50Cn0KCi5tYllUUF93cmFwcGVyIGlmcmFtZSB7CiAgICBtYXgtd2lkdGg6IDgwMDBweCAhaW1wb3J0YW50Cn0KCi5pbmxpbmVfWVRQbGF5ZXIgewogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBsZWZ0OiAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAuNyk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KQp9CgouaW5saW5lX1lUUGxheWVyIGltZyB7CiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQKfQoKLm1iX1lUUEJhciwKLm1iX1lUUEJhciAuYnV0dG9uQmFyIHsKICAgIGxlZnQ6IDA7CiAgICBwYWRkaW5nOiA1cHg7CiAgICB3aWR0aDogMTAwJTsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3gKfQoKLm1iX1lUUEJhciAueXRwaWNvbiB7CiAgICBmb250LXNpemU6IDIwcHgKfQoKLm1iX1lUUEJhciAubWJfWVRQVXJsLnl0cGljb24gewogICAgZm9udC1zaXplOiAzMHB4Cn0KCi5tYl9ZVFBCYXIgewogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXM7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGhlaWdodDogMTBweDsKICAgIGJhY2tncm91bmQ6ICMzMzM7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICBib3R0b206IDA7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgei1pbmRleDogMTAwMDsKICAgIGZvbnQ6IDE0cHgvMTZweCBzYW5zLXNlcmlmOwogICAgY29sb3I6ICNmZmY7CiAgICBvcGFjaXR5OiAuMQp9CgoubWJfWVRQQmFyLnZpc2libGUsCi5tYl9ZVFBCYXI6aG92ZXIgewogICAgb3BhY2l0eTogMQp9CgoubWJfWVRQQmFyIC5idXR0b25CYXIgewogICAgdHJhbnNpdGlvbjogYWxsIC41czsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGZvbnQ6IDEycHgvMTRweCBzYW4tc2VyaWY7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IC0zMHB4OwogICAgaGVpZ2h0OiA0MHB4Cn0KCi5tYl9ZVFBCYXI6aG92ZXIgLmJ1dHRvbkJhciB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC40KQp9CgoubWJfWVRQQmFyIHNwYW4gewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgZm9udDogMTZweC8yMHB4IHNhbnMtc2VyaWY7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogMzBweDsKICAgIGhlaWdodDogMjVweDsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUKfQoKLm1iX1lUUEJhciBzcGFuLm1iX1lUUFRpbWUgewogICAgd2lkdGg6IDEzMHB4Cn0KCi5tYl9ZVFBCYXIgc3Bhbi5tYl9Pbmx5WVQsCi5tYl9ZVFBCYXIgc3Bhbi5tYl9ZVFBVcmwgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IGF1dG87CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHRvcDogNnB4OwogICAgcmlnaHQ6IDEwcHg7CiAgICBjdXJzb3I6IHBvaW50ZXIKfQoKLm1iX1lUUEJhciBzcGFuLm1iX1lUUFVybCBpbWcgewogICAgd2lkdGg6IDYwcHgKfQoKLm1iX1lUUEJhciBzcGFuLm1iX09ubHlZVCB7CiAgICBsZWZ0OiAzMDBweDsKICAgIHJpZ2h0OiBhdXRvCn0KCi5tYl9ZVFBCYXIgc3Bhbi5tYl9Pbmx5WVQgaW1nIHsKICAgIHdpZHRoOiAyNXB4Cn0KCi5tYl9ZVFBCYXIgc3Bhbi5tYl9ZVFBVcmwgYSB7CiAgICBjb2xvcjogI2ZmZgp9CgoubWJfWVRQQmFyIC5tYl9ZVFBNdXRlVW5tdXRlLAoubWJfWVRQQmFyIC5tYl9ZVFBQbGF5UGF1c2UsCi5tYl9ZVFBsYXllciAubWJfWVRQQmFyIC5tYl9ZVFBQbGF5UGF1c2UgaW1nIHsKICAgIGN1cnNvcjogcG9pbnRlcgp9CgoubWJfWVRQQmFyIC5tYl9ZVFBQcm9ncmVzcyB7CiAgICBoZWlnaHQ6IDEwcHg7CiAgICB3aWR0aDogMTAwJTsKICAgIGJhY2tncm91bmQ6ICMyMjI7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAwCn0KCi5tYl9ZVFBCYXIgLm1iX1lUUExvYWRlZCB7CiAgICBoZWlnaHQ6IDEwcHg7CiAgICB3aWR0aDogMDsKICAgIGJhY2tncm91bmQ6ICM0NDQ7CiAgICBsZWZ0OiAwCn0KCi5tYl9ZVFBCYXIgLm1iX1lUUHNlZWtiYXIgewogICAgaGVpZ2h0OiAxMHB4OwogICAgd2lkdGg6IDA7CiAgICBiYWNrZ3JvdW5kOiAjYmIxMTBlOwogICAgYm90dG9tOiAwOwogICAgbGVmdDogMDsKICAgIGJveC1zaGFkb3c6IHJnYmEoODIsIDgyLCA4MiwgLjQ3KSAxcHggMXB4IDNweAp9CgoubWJfWVRQQmFyIC5ZVFBPdmVybGF5IHsKICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IGZsYXQ7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Cn0KCi5ZVFBPdmVybGF5LnJhc3RlciB7CiAgICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL3Jhc3Rlci5wbmcpCn0KCi5ZVFBPdmVybGF5LnJhc3Rlci5yZXRpbmEgewogICAgYmFja2dyb3VuZDogdXJsKGltYWdlcy9yYXN0ZXJAMngucG5nKQp9CgouWVRQT3ZlcmxheS5yYXN0ZXItZG90IHsKICAgIGJhY2tncm91bmQ6IHVybChpbWFnZXMvcmFzdGVyX2RvdC5wbmcpCn0KCi5ZVFBPdmVybGF5LnJhc3Rlci1kb3QucmV0aW5hIHsKICAgIGJhY2tncm91bmQ6IHVybChpbWFnZXMvcmFzdGVyX2RvdEAyeC5wbmcpCn0KCi5tYl9ZVFBCYXIgLnNpbXBsZVNsaWRlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogMTAwcHg7CiAgICBoZWlnaHQ6IDEwcHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDsKICAgIGJvcmRlci1yYWRpdXM6IDNweAp9CgoubWJfWVRQQmFyLmNvbXBhY3QgLnNpbXBsZVNsaWRlciB7CiAgICB3aWR0aDogNDBweAp9CgoubWJfWVRQQmFyLmNvbXBhY3Qgc3Bhbi5tYl9Pbmx5WVQgewogICAgbGVmdDogMjYwcHgKfQoKLm1iX1lUUEJhciAuc2ltcGxlU2xpZGVyLm11dGVkIHsKICAgIG9wYWNpdHk6IC4zCn0KCi5tYl9ZVFBCYXIgLmxldmVsIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICBib3R0b206IDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveAp9CgoubWJfWVRQQmFyIC5sZXZlbC5ob3Jpem9udGFsIHsKICAgIGhlaWdodDogMTAwJTsKICAgIHdpZHRoOiAwCn0KCi5tYl9ZVFBCYXIgLmxldmVsLnZlcnRpY2FsIHsKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiAxMDAlCn0KCi8qIQogKiAgTGluZSBBd2Vzb21lIDEuMS4wIGJ5IEBpY29uc184IC0gaHR0cHM6Ly9pY29uczguY29tL2xpbmUtYXdlc29tZQogKiAgTGljZW5zZSAtIGh0dHBzOi8vaWNvbnM4LmNvbS9nb29kLWJveS1saWNlbnNlLyAoRm9udDogU0lMIE9GTCAxLjEsIENTUzogTUlUIExpY2Vuc2UpCiAqCiAqIE1hZGUgd2l0aCBsb3ZlIGJ5IEljb25zOCBbIGh0dHBzOi8vaWNvbnM4LmNvbS8gXSB1c2luZyBGb250Q3VzdG9tIFsgaHR0cHM6Ly9naXRodWIuY29tL0ZvbnRDdXN0b20vZm9udGN1c3RvbSBdCiAqCiAqIENvbnRhY3RzOgogKiAgICBbIGh0dHBzOi8vaWNvbnM4LmNvbS9jb250YWN0IF0KICoKICogRm9sbG93IEljb244IG9uCiAqICAgIFR3aXR0ZXIgWyBodHRwczovL3R3aXR0ZXIuY29tL2ljb25zXzggXQogKiAgICBGYWNlYm9vayBbIGh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9JY29uczggXQogKiAgICBHb29nbGUrIFsgaHR0cHM6Ly9wbHVzLmdvb2dsZS5jb20vK0ljb25zOCBdCiAqICAgIEdpdEh1YiBbIGh0dHBzOi8vZ2l0aHViLmNvbS9pY29uczggXQogKi8KCi5sYSwKLmxhLXN0YWNrIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jawp9CgoubGEtZncsCi5sYS1saSB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIKfQoKQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogTGluZUF3ZXNvbWU7CiAgICBzcmM6IHVybCguLi9mb250cy9saW5lLWF3ZXNvbWVlYjRmLmVvdD92PTEuMS4pOwogICAgc3JjOiB1cmwoLi4vZm9udHMvbGluZS1hd2Vzb21lMDE3Ni5lb3Q/P3Y9MS4xLiNpZWZpeCkgZm9ybWF0KCJlbWJlZGRlZC1vcGVudHlwZSIpLCB1cmwoLi4vZm9udHMvbGluZS1hd2Vzb21lZWI0Zi53b2ZmMj92PTEuMS4pIGZvcm1hdCgid29mZjIiKSwgdXJsKC4uL2ZvbnRzL2xpbmUtYXdlc29tZWViNGYud29mZj92PTEuMS4pIGZvcm1hdCgid29mZiIpLCB1cmwoLi4vZm9udHMvbGluZS1hd2Vzb21lZWI0Zi50dGY/dj0xLjEuKSBmb3JtYXQoInRydWV0eXBlIiksIHVybCguLi9mb250cy9saW5lLWF3ZXNvbWVlYjRmLnN2Zz92PTEuMS4jZmEpIGZvcm1hdCgic3ZnIik7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgZm9udC1zdHlsZTogbm9ybWFsCn0KCkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkgewogICAgQGZvbnQtZmFjZSB7CiAgICAgICAgZm9udC1mYW1pbHk6IExpbmVBd2Vzb21lOwogICAgICAgIHNyYzogdXJsKC4uL2ZvbnRzL2xpbmUtYXdlc29tZWViNGYuc3ZnP3Y9MS4xLiNmYSkgZm9ybWF0KCJzdmciKQogICAgfQp9CgoubGEgewogICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTZweC8xIExpbmVBd2Vzb21lOwogICAgZm9udC1zaXplOiBpbmhlcml0OwogICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OwogICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkCn0KCi5sYS1sZyB7CiAgICBmb250LXNpemU6IDEuMzMzMzMzMzNlbTsKICAgIGxpbmUtaGVpZ2h0OiAuNzVlbTsKICAgIHZlcnRpY2FsLWFsaWduOiAtMTUlCn0KCi5sYS0yeCB7CiAgICBmb250LXNpemU6IDJlbQp9CgoubGEtM3ggewogICAgZm9udC1zaXplOiAzZW0KfQoKLmxhLTR4IHsKICAgIGZvbnQtc2l6ZTogNGVtCn0KCi5sYS01eCB7CiAgICBmb250LXNpemU6IDVlbQp9CgoubGEtZncgewogICAgd2lkdGg6IDEuMjg1NzE0MjllbQp9CgoubGEtdWwgewogICAgcGFkZGluZy1sZWZ0OiAwOwogICAgbWFyZ2luLWxlZnQ6IDIuMTQyODU3MTRlbTsKICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZQp9CgoubGEtdWw+bGkgewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5sYS1saSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAtMi4xNDI4NTcxNGVtOwogICAgd2lkdGg6IDIuMTQyODU3MTRlbTsKICAgIHRvcDogLjE0Mjg1NzE0ZW0KfQoKLmxhLWxpLmxhLWxnIHsKICAgIGxlZnQ6IC0xLjg1NzE0Mjg2ZW0KfQoKLmxhLWJvcmRlciB7CiAgICBwYWRkaW5nOiAuMmVtIC4yNWVtIC4xNWVtOwogICAgYm9yZGVyOiAuMDhlbSBzb2xpZCAjZWVlOwogICAgYm9yZGVyLXJhZGl1czogLjFlbQp9CgoucHVsbC1yaWdodCB7CiAgICBmbG9hdDogcmlnaHQKfQoKLnB1bGwtbGVmdCB7CiAgICBmbG9hdDogbGVmdAp9CgoubGkucHVsbC1sZWZ0IHsKICAgIG1hcmdpbi1yaWdodDogLjNlbQp9CgoubGkucHVsbC1yaWdodCB7CiAgICBtYXJnaW4tbGVmdDogLjNlbQp9CgoubGEtc3BpbiB7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7CiAgICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyCn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYS1zcGluIHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKQogICAgfQp9CgpAa2V5ZnJhbWVzIGZhLXNwaW4gewogICAgMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCkKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpCiAgICB9Cn0KCi5sYS1yb3RhdGUtOTAgewogICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKQp9CgoubGEtcm90YXRlLTE4MCB7CiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpCn0KCi5sYS1yb3RhdGUtMjcwIHsKICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Myk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZykKfQoKLmxhLWZsaXAtaG9yaXpvbnRhbCB7CiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKQp9CgoubGEtZmxpcC12ZXJ0aWNhbCB7CiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIsIG1pcnJvcj0xKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKQp9Cgo6cm9vdCAubGEtZmxpcC1ob3Jpem9udGFsLAo6cm9vdCAubGEtZmxpcC12ZXJ0aWNhbCwKOnJvb3QgLmxhLXJvdGF0ZS0xODAsCjpyb290IC5sYS1yb3RhdGUtMjcwLAo6cm9vdCAubGEtcm90YXRlLTkwIHsKICAgIGZpbHRlcjogbm9uZQp9CgoubGEtc3RhY2sgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgd2lkdGg6IDJlbTsKICAgIGhlaWdodDogMmVtOwogICAgbGluZS1oZWlnaHQ6IDJlbTsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUKfQoKLmxhLXN0YWNrLTF4LAoubGEtc3RhY2stMnggewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgdGV4dC1hbGlnbjogY2VudGVyCn0KCi5sYS1zdGFjay0xeCB7CiAgICBsaW5lLWhlaWdodDogaW5oZXJpdAp9CgoubGEtc3RhY2stMnggewogICAgZm9udC1zaXplOiAyZW0KfQoKLmxhLWludmVyc2UgewogICAgY29sb3I6ICNmZmYKfQoKLmxhLTUwMHB4OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMDAiCn0KCi5sYS1hZGp1c3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEwMSIKfQoKLmxhLWFkbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTAyIgp9CgoubGEtYWxpZ24tY2VudGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMDMiCn0KCi5sYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMDQiCn0KCi5sYS1hbGlnbi1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMDUiCn0KCi5sYS1hbGlnbi1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTA2Igp9CgoubGEtYW1hem9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMDciCn0KCi5sYS1hbWJ1bGFuY2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEwOCIKfQoKLmxhLWFuY2hvcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTA5Igp9CgoubGEtYW5kcm9pZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTBhIgp9CgoubGEtYW5nZWxsaXN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMGIiCn0KCi5sYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTBjIgp9CgoubGEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEwZCIKfQoKLmxhLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTBlIgp9CgoubGEtYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMGYiCn0KCi5sYS1hbmdsZS1kb3duOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMTAiCn0KCi5sYS1hbmdsZS1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMTEiCn0KCi5sYS1hbmdsZS1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTEyIgp9CgoubGEtYW5nbGUtdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjExMyIKfQoKLmxhLWFwcGxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMTQiCn0KCi5sYS1hcmNoaXZlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMTUiCn0KCi5sYS1hcmVhLWNoYXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMTYiCn0KCi5sYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTE3Igp9CgoubGEtYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjExOCIKfQoKLmxhLWFycm93LWNpcmNsZS1vLWRvd246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjExOSIKfQoKLmxhLWFycm93LWNpcmNsZS1vLWxlZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjExYSIKfQoKLmxhLWFycm93LWNpcmNsZS1vLXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMWIiCn0KCi5sYS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTFjIgp9CgoubGEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMWQiCn0KCi5sYS1hcnJvdy1jaXJjbGUtdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjExZSIKfQoKLmxhLWFycm93LWRvd246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjExZiIKfQoKLmxhLWFycm93LWxlZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEyMCIKfQoKLmxhLWFycm93LXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMjEiCn0KCi5sYS1hcnJvdy11cDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTIyIgp9CgoubGEtYXJyb3dzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMjMiCn0KCi5sYS1hcnJvd3MtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMjQiCn0KCi5sYS1hcnJvd3MtaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTI1Igp9CgoubGEtYXJyb3dzLXY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEyNiIKfQoKLmxhLWFzdGVyaXNrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMjciCn0KCi5sYS1hdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTI4Igp9CgoubGEtYXV0b21vYmlsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTI5Igp9CgoubGEtYmFja3dhcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEyYSIKfQoKLmxhLWJhbGFuY2Utc2NhbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEyYiIKfQoKLmxhLWJhbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTJjIgp9CgoubGEtYmFuazpiZWZvcmUgewogICAgY29udGVudDogIlxmMTJkIgp9CgoubGEtYmFyLWNoYXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMmUiCn0KCi5sYS1iYXItY2hhcnQtbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMTJmIgp9CgoubGEtYmFyY29kZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTMwIgp9CgoubGEtYmFyczpiZWZvcmUgewogICAgY29udGVudDogIlxmMTMxIgp9CgoubGEtYmF0dGVyeS0wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMzIiCn0KCi5sYS1iYXR0ZXJ5LTE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEzMyIKfQoKLmxhLWJhdHRlcnktMjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTM0Igp9CgoubGEtYmF0dGVyeS0zOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMzUiCn0KCi5sYS1iYXR0ZXJ5LTQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEzNiIKfQoKLmxhLWJhdHRlcnktZW1wdHk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEzNyIKfQoKLmxhLWJhdHRlcnktZnVsbDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTM4Igp9CgoubGEtYmF0dGVyeS1oYWxmOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMzkiCn0KCi5sYS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEzYSIKfQoKLmxhLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEzYiIKfQoKLmxhLWJlZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTNjIgp9CgoubGEtYmVlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTNkIgp9CgoubGEtYmVoYW5jZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTNlIgp9CgoubGEtYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEzZiIKfQoKLmxhLWJlbGw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE0MCIKfQoKLmxhLWJlbGwtbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMTQxIgp9CgoubGEtYmVsbC1zbGFzaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTQyIgp9CgoubGEtYmVsbC1zbGFzaC1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNDMiCn0KCi5sYS1iaWN5Y2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNDQiCn0KCi5sYS1iaW5vY3VsYXJzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNDUiCn0KCi5sYS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNDYiCn0KCi5sYS1iaXRidWNrZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE0NyIKfQoKLmxhLWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE0OCIKfQoKLmxhLWJpdGNvaW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE0OSIKfQoKLmxhLWJsYWNrLXRpZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTRhIgp9CgoubGEtYm9sZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTRiIgp9CgoubGEtYm9sdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTRjIgp9CgoubGEtYm9tYjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTRkIgp9CgoubGEtYm9vazpiZWZvcmUgewogICAgY29udGVudDogIlxmMTRlIgp9CgoubGEtYm9va21hcms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE0ZiIKfQoKLmxhLWJvb2ttYXJrLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE1MCIKfQoKLmxhLWJyaWVmY2FzZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTUxIgp9CgoubGEtYnRjOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNTIiCn0KCi5sYS1idWc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE1MyIKfQoKLmxhLWJ1aWxkaW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNTQiCn0KCi5sYS1idWlsZGluZy1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNTUiCn0KCi5sYS1idWxsaG9ybjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTU2Igp9CgoubGEtYnVsbHNleWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE1NyIKfQoKLmxhLWJ1czpiZWZvcmUgewogICAgY29udGVudDogIlxmMTU4Igp9CgoubGEtYnV5c2VsbGFkczpiZWZvcmUgewogICAgY29udGVudDogIlxmMTU5Igp9CgoubGEtY2FiOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNWEiCn0KCi5sYS1jYWxjdWxhdG9yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNWIiCn0KCi5sYS1jYWxlbmRhcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTVjIgp9CgoubGEtY2FsZW5kYXItY2hlY2stbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMTVkIgp9CgoubGEtY2FsZW5kYXItbWludXMtbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMTVlIgp9CgoubGEtY2FsZW5kYXItbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMTVmIgp9CgoubGEtY2FsZW5kYXItcGx1cy1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNjAiCn0KCi5sYS1jYWxlbmRhci10aW1lcy1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNjEiCn0KCi5sYS1jYW1lcmE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE2MiIKfQoKLmxhLWNhbWVyYS1yZXRybzpiZWZvcmUgewogICAgY29udGVudDogIlxmMTYzIgp9CgoubGEtY2FyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNjQiCn0KCi5sYS1jYXJldC1kb3duOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNjUiCn0KCi5sYS1jYXJldC1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNjYiCn0KCi5sYS1jYXJldC1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTY3Igp9CgoubGEtY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmUsCi5sYS10b2dnbGUtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTY4Igp9CgoubGEtY2FyZXQtc3F1YXJlLW8tbGVmdDpiZWZvcmUsCi5sYS10b2dnbGUtbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTY5Igp9CgoubGEtY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3JlLAoubGEtdG9nZ2xlLXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNmEiCn0KCi5sYS1jYXJldC1zcXVhcmUtby11cDpiZWZvcmUsCi5sYS10b2dnbGUtdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE2YiIKfQoKLmxhLWNhcmV0LXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNmMiCn0KCi5sYS1jYXJ0LWFycm93LWRvd246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE2ZCIKfQoKLmxhLWNhcnQtcGx1czpiZWZvcmUgewogICAgY29udGVudDogIlxmMTZlIgp9CgoubGEtY2M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE2ZiIKfQoKLmxhLWNjLWFtZXg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE3MCIKfQoKLmxhLWNjLWRpbmVycy1jbHViOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNzEiCn0KCi5sYS1jYy1kaXNjb3ZlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTcyIgp9CgoubGEtY2MtamNiOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNzMiCn0KCi5sYS1jYy1tYXN0ZXJjYXJkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNzQiCn0KCi5sYS1jYy1wYXlwYWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE3NSIKfQoKLmxhLWNjLXN0cmlwZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTc2Igp9CgoubGEtY2MtdmlzYTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTc3Igp9CgoubGEtY2VydGlmaWNhdGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE3OCIKfQoKLmxhLWNoYWluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxNzkiCn0KCi5sYS1jaGFpbi1icm9rZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE3YSIKfQoKLmxhLWNoZWNrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxN2IiCn0KCi5sYS1jaGVjay1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE3YyIKfQoKLmxhLWNoZWNrLWNpcmNsZS1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxN2QiCn0KCi5sYS1jaGVjay1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE3ZSIKfQoKLmxhLWNoZWNrLXNxdWFyZS1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxN2YiCn0KCi5sYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxODAiCn0KCi5sYS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxODEiCn0KCi5sYS1jaGV2cm9uLWNpcmNsZS1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTgyIgp9CgoubGEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE4MyIKfQoKLmxhLWNoZXZyb24tZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMTg0Igp9CgoubGEtY2hldnJvbi1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxODUiCn0KCi5sYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxODYiCn0KCi5sYS1jaGV2cm9uLXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxODciCn0KCi5sYS1jaGlsZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTg4Igp9CgoubGEtY2hyb21lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxODkiCn0KCi5sYS1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE4YSIKfQoKLmxhLWNpcmNsZS1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOGIiCn0KCi5sYS1jaXJjbGUtby1ub3RjaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMThjIgp9CgoubGEtY2lyY2xlLXRoaW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE4ZCIKfQoKLmxhLWNsaXBib2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMThlIgp9CgoubGEtY2xvY2stbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMThmIgp9CgoubGEtY2xvbmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE5MCIKfQoKLmxhLWNsb3NlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOTEiCn0KCi5sYS1jbG91ZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTkyIgp9CgoubGEtY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE5MyIKfQoKLmxhLWNsb3VkLXVwbG9hZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMTk0Igp9CgoubGEtY255OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOTUiCn0KCi5sYS1jb2RlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOTYiCn0KCi5sYS1jb2RlLWZvcms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE5NyIKfQoKLmxhLWNvZGVwZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE5OCIKfQoKLmxhLWNvZmZlZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMTk5Igp9CgoubGEtY29nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOWEiCn0KCi5sYS1jb2dzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOWIiCn0KCi5sYS1jb2x1bW5zOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOWMiCn0KCi5sYS1jb21tZW50OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxOWQiCn0KCi5sYS1jb21tZW50LW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE5ZSIKfQoKLmxhLWNvbW1lbnRpbmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjE5ZiIKfQoKLmxhLWNvbW1lbnRpbmctbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMWEwIgp9CgoubGEtY29tbWVudHM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFhMSIKfQoKLmxhLWNvbW1lbnRzLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFhMiIKfQoKLmxhLWNvbXBhc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFhMyIKfQoKLmxhLWNvbXByZXNzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYTQiCn0KCi5sYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWE1Igp9CgoubGEtY29udGFvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYTYiCn0KCi5sYS1jb3B5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYTciCn0KCi5sYS1jb3B5cmlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFhOCIKfQoKLmxhLWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFhOSIKfQoKLmxhLWNyZWRpdC1jYXJkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYWEiCn0KCi5sYS1jcm9wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYWIiCn0KCi5sYS1jcm9zc2hhaXJzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYWMiCn0KCi5sYS1jc3MzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYWQiCn0KCi5sYS1jdWJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYWUiCn0KCi5sYS1jdWJlczpiZWZvcmUgewogICAgY29udGVudDogIlxmMWFmIgp9CgoubGEtY3V0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYjAiCn0KCi5sYS1jdXRsZXJ5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYjEiCn0KCi5sYS1kYXNoYm9hcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFiMiIKfQoKLmxhLWRhc2hjdWJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYjMiCn0KCi5sYS1kYXRhYmFzZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWI0Igp9CgoubGEtZGVkZW50OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYjUiCn0KCi5sYS1kZWxpY2lvdXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFiNiIKfQoKLmxhLWRlc2t0b3A6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFiNyIKfQoKLmxhLWRldmlhbnRhcnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFiOCIKfQoKLmxhLWRpYW1vbmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFiOSIKfQoKLmxhLWRpZ2c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFiYSIKfQoKLmxhLWRvbGxhcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMWJiIgp9CgoubGEtZG90LWNpcmNsZS1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYmMiCn0KCi5sYS1kb3dubG9hZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWJkIgp9CgoubGEtZHJpYmJibGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFiZSIKfQoKLmxhLWRyb3Bib3g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFiZiIKfQoKLmxhLWRydXBhbDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWMwIgp9CgoubGEtZWRpdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWMxIgp9CgoubGEtZWplY3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFjMiIKfQoKLmxhLWVsbGlwc2lzLWg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFjMyIKfQoKLmxhLWVsbGlwc2lzLXY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFjNCIKfQoKLmxhLWVtcGlyZTpiZWZvcmUsCi5sYS1nZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWM1Igp9CgoubGEtZW52ZWxvcGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFjNiIKfQoKLmxhLWVudmVsb3BlLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFjNyIKfQoKLmxhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWM4Igp9CgoubGEtZXJhc2VyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxYzkiCn0KCi5sYS1ldXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFjYSIKfQoKLmxhLWV1cm86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFjYiIKfQoKLmxhLWV4Y2hhbmdlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxY2MiCn0KCi5sYS1leGNsYW1hdGlvbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMWNkIgp9CgoubGEtZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxY2UiCn0KCi5sYS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWNmIgp9CgoubGEtZXhwYW5kOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZDAiCn0KCi5sYS1leHBlZGl0ZWRzc2w6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFkMSIKfQoKLmxhLWV4dGVybmFsLWxpbms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFkMiIKfQoKLmxhLWV4dGVybmFsLWxpbmstc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZDMiCn0KCi5sYS1leWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFkNCIKfQoKLmxhLWV5ZS1zbGFzaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWQ1Igp9CgoubGEtZXllZHJvcHBlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMWQ2Igp9CgoubGEtZmFjZWJvb2stZjpiZWZvcmUsCi5sYS1mYWNlYm9vazpiZWZvcmUgewogICAgY29udGVudDogIlxmMWQ3Igp9CgoubGEtZmFjZWJvb2stb2ZmaWNpYWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFkOCIKfQoKLmxhLWZhY2Vib29rLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWQ5Igp9CgoubGEtZmFzdC1iYWNrd2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWRhIgp9CgoubGEtZmFzdC1mb3J3YXJkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZGIiCn0KCi5sYS1mYXg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFkYyIKfQoKLmxhLWZlbWFsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWRkIgp9CgoubGEtZmlnaHRlci1qZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFkZSIKfQoKLmxhLWZpbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFkZiIKfQoKLmxhLWZpbGUtYXJjaGl2ZS1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZTAiCn0KCi5sYS1maWxlLWF1ZGlvLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlMSIKfQoKLmxhLWZpbGUtY29kZS1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZTIiCn0KCi5sYS1maWxlLWV4Y2VsLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlMyIKfQoKLmxhLWZpbGUtaW1hZ2UtbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMWU0Igp9CgoubGEtZmlsZS1tb3ZpZS1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZTUiCn0KCi5sYS1maWxlLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlNiIKfQoKLmxhLWZpbGUtcGRmLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlNyIKfQoKLmxhLWZpbGUtcGhvdG8tbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMWU4Igp9CgoubGEtZmlsZS1waWN0dXJlLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlOSIKfQoKLmxhLWZpbGUtcG93ZXJwb2ludC1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZWEiCn0KCi5sYS1maWxlLXNvdW5kLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlYiIKfQoKLmxhLWZpbGUtdGV4dDpiZWZvcmUgewogICAgY29udGVudDogIlxmMWVjIgp9CgoubGEtZmlsZS10ZXh0LW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlZCIKfQoKLmxhLWZpbGUtdmlkZW8tbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMWVlIgp9CgoubGEtZmlsZS13b3JkLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFlZiIKfQoKLmxhLWZpbGUtemlwLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFmMCIKfQoKLmxhLWZpbGVzLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFmMSIKfQoKLmxhLWZpbG06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFmMiIKfQoKLmxhLWZpbHRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMWYzIgp9CgoubGEtZmlyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMWY0Igp9CgoubGEtZmlyZS1leHRpbmd1aXNoZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFmNSIKfQoKLmxhLWZpcmVmb3g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFmNiIKfQoKLmxhLWZsYWc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFmNyIKfQoKLmxhLWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZjgiCn0KCi5sYS1mbGFnLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjFmOSIKfQoKLmxhLWZsYXNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZmEiCn0KCi5sYS1mbGFzazpiZWZvcmUgewogICAgY29udGVudDogIlxmMWZiIgp9CgoubGEtZmxpY2tyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZmMiCn0KCi5sYS1mbG9wcHktbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMWZkIgp9CgoubGEtZm9sZGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxZmUiCn0KCi5sYS1mb2xkZXItbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMWZmIgp9CgoubGEtZm9sZGVyLW9wZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwMCIKfQoKLmxhLWZvbGRlci1vcGVuLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwMSIKfQoKLmxhLWZvbnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwMiIKfQoKLmxhLWZvbnRpY29uczpiZWZvcmUgewogICAgY29udGVudDogIlxmMjAzIgp9CgoubGEtZm9ydW1iZWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwNCIKfQoKLmxhLWZvcndhcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwNSIKfQoKLmxhLWZvdXJzcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwNiIKfQoKLmxhLWZyb3duLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwNyIKfQoKLmxhLWZ1dGJvbC1vOmJlZm9yZSwKLmxhLXNvY2Nlci1iYWxsLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwOCIKfQoKLmxhLWdhbWVwYWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwOSIKfQoKLmxhLWdhdmVsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMGEiCn0KCi5sYS1nYnA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwYiIKfQoKLmxhLWdlYXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIwYyIKfQoKLmxhLWdlYXJzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMGQiCn0KCi5sYS1nZW5kZXJsZXNzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMGUiCn0KCi5sYS1nZXQtcG9ja2V0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMGYiCn0KCi5sYS1nZzpiZWZvcmUgewogICAgY29udGVudDogIlxmMjEwIgp9CgoubGEtZ2ctY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMTEiCn0KCi5sYS1naWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMTIiCn0KCi5sYS1naXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIxMyIKfQoKLmxhLWdpdC1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIxNCIKfQoKLmxhLWdpdGh1YjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjE1Igp9CgoubGEtZ2l0aHViLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjE2Igp9CgoubGEtZ2l0aHViLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjE3Igp9CgoubGEtZ2xhc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIxOCIKfQoKLmxhLWdsb2JlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMTkiCn0KCi5sYS1nb29nbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIxYSIKfQoKLmxhLWdvb2dsZS1wbHVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMWIiCn0KCi5sYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIxYyIKfQoKLmxhLWdvb2dsZS13YWxsZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIxZCIKfQoKLmxhLWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMWUiCn0KCi5sYS1naXR0aXA6YmVmb3JlLAoubGEtZ3JhdGlwYXk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIxZiIKfQoKLmxhLWdyb3VwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMjAiCn0KCi5sYS1oLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjIxIgp9CgoubGEtaGFja2VyLW5ld3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIyMiIKfQoKLmxhLWhhbmQtZ3JhYi1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMjMiCn0KCi5sYS1oYW5kLWxpemFyZC1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMjQiCn0KCi5sYS1oYW5kLW8tZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjI1Igp9CgoubGEtaGFuZC1vLWxlZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIyNiIKfQoKLmxhLWhhbmQtby1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjI3Igp9CgoubGEtaGFuZC1vLXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMjgiCn0KCi5sYS1oYW5kLXBhcGVyLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIyOSIKfQoKLmxhLWhhbmQtcGVhY2UtbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMjJhIgp9CgoubGEtaGFuZC1wb2ludGVyLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIyYiIKfQoKLmxhLWhhbmQtcm9jay1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMmMiCn0KCi5sYS1oYW5kLXNjaXNzb3JzLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIyZCIKfQoKLmxhLWhhbmQtc3BvY2stbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMjJlIgp9CgoubGEtaGFuZC1zdG9wLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIyZiIKfQoKLmxhLWhkZC1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMzAiCn0KCi5sYS1oZWFkZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIzMSIKfQoKLmxhLWhlYWRwaG9uZXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIzMiIKfQoKLmxhLWhlYXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMzMiCn0KCi5sYS1oZWFydC1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMzQiCn0KCi5sYS1oZWFydGJlYXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIzNSIKfQoKLmxhLWhpc3Rvcnk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIzNiIKfQoKLmxhLWhvbWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIzNyIKfQoKLmxhLWhvc3BpdGFsLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIzOCIKfQoKLmxhLWhvdGVsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyMzkiCn0KCi5sYS1ob3VyZ2xhc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIzYSIKfQoKLmxhLWhvdXJnbGFzcy0xOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyM2IiCn0KCi5sYS1ob3VyZ2xhc3MtMjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjNjIgp9CgoubGEtaG91cmdsYXNzLTM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIzZCIKfQoKLmxhLWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjIzZSIKfQoKLmxhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyM2YiCn0KCi5sYS1ob3VyZ2xhc3MtbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMjQwIgp9CgoubGEtaG91cmdsYXNzLXN0YXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNDEiCn0KCi5sYS1ob3V6ejpiZWZvcmUgewogICAgY29udGVudDogIlxmMjQyIgp9CgoubGEtaHRtbDU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI0MyIKfQoKLmxhLWktY3Vyc29yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNDQiCn0KCi5sYS1pbHM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI0NSIKfQoKLmxhLWltYWdlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNDYiCn0KCi5sYS1pbmJveDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjQ3Igp9CgoubGEtaW5kZW50OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNDgiCn0KCi5sYS1pbmR1c3RyeTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjQ5Igp9CgoubGEtaW5mbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMjRhIgp9CgoubGEtaW5mby1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI0YiIKfQoKLmxhLWlucjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjRjIgp9CgoubGEtaW5zdGFncmFtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNGQiCn0KCi5sYS1pbnN0aXR1dGlvbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjRlIgp9CgoubGEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI0ZiIKfQoKLmxhLWlveGhvc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI1MCIKfQoKLmxhLWl0YWxpYzpiZWZvcmUgewogICAgY29udGVudDogIlxmMjUxIgp9CgoubGEtam9vbWxhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNTIiCn0KCi5sYS1qcHk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI1MyIKfQoKLmxhLWpzZmlkZGxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNTQiCn0KCi5sYS1rZXk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI1NSIKfQoKLmxhLWtleWJvYXJkLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI1NiIKfQoKLmxhLWtydzpiZWZvcmUgewogICAgY29udGVudDogIlxmMjU3Igp9CgoubGEtbGFuZ3VhZ2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI1OCIKfQoKLmxhLWxhcHRvcDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjU5Igp9CgoubGEtbGFzdGZtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNWEiCn0KCi5sYS1sYXN0Zm0tc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNWIiCn0KCi5sYS1sZWFmOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNWMiCn0KCi5sYS1sZWFucHViOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNWQiCn0KCi5sYS1sZWdhbDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjVlIgp9CgoubGEtbGVtb24tbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMjVmIgp9CgoubGEtbGV2ZWwtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjYwIgp9CgoubGEtbGV2ZWwtdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI2MSIKfQoKLmxhLWxpZmUtYm91eTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjYyIgp9CgoubGEtbGlmZS1idW95OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNjMiCn0KCi5sYS1saWZlLXJpbmc6YmVmb3JlLAoubGEtc3VwcG9ydDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjY0Igp9CgoubGEtbGlmZS1zYXZlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjY1Igp9CgoubGEtbGlnaHRidWxiLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI2NiIKfQoKLmxhLWxpbmUtY2hhcnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI2NyIKfQoKLmxhLWxpbms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI2OCIKfQoKLmxhLWxpbmtlZGluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNjkiCn0KCi5sYS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI2YSIKfQoKLmxhLWxpbnV4OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNmIiCn0KCi5sYS1saXN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNmMiCn0KCi5sYS1saXN0LWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjZkIgp9CgoubGEtbGlzdC1vbDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjZlIgp9CgoubGEtbGlzdC11bDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjZmIgp9CgoubGEtbG9jYXRpb24tYXJyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI3MCIKfQoKLmxhLWxvY2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI3MSIKfQoKLmxhLWxvbmctYXJyb3ctZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjcyIgp9CgoubGEtbG9uZy1hcnJvdy1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNzMiCn0KCi5sYS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNzQiCn0KCi5sYS1sb25nLWFycm93LXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNzUiCn0KCi5sYS1tYWdpYzpiZWZvcmUgewogICAgY29udGVudDogIlxmMjc2Igp9CgoubGEtbWFnbmV0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyNzciCn0KCi5sYS1tYWlsLWZvcndhcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI3OCIKfQoKLmxhLW1haWwtcmVwbHk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI3OSIKfQoKLmxhLW1haWwtcmVwbHktYWxsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyN2EiCn0KCi5sYS1tYWxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyN2IiCn0KCi5sYS1tYXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI3YyIKfQoKLmxhLW1hcC1tYXJrZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI3ZCIKfQoKLmxhLW1hcC1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyN2UiCn0KCi5sYS1tYXAtcGluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyN2YiCn0KCi5sYS1tYXAtc2lnbnM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI4MCIKfQoKLmxhLW1hcnM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI4MSIKfQoKLmxhLW1hcnMtZG91YmxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyODIiCn0KCi5sYS1tYXJzLXN0cm9rZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjgzIgp9CgoubGEtbWFycy1zdHJva2UtaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjg0Igp9CgoubGEtbWFycy1zdHJva2UtdjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjg1Igp9CgoubGEtbWF4Y2RuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyODYiCn0KCi5sYS1tZWFucGF0aDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjg3Igp9CgoubGEtbWVkaXVtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyODgiCn0KCi5sYS1tZWRraXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI4OSIKfQoKLmxhLW1laC1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOGEiCn0KCi5sYS1tZXJjdXJ5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOGIiCn0KCi5sYS1taWNyb3Bob25lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOGMiCn0KCi5sYS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOGQiCn0KCi5sYS1taW51czpiZWZvcmUgewogICAgY29udGVudDogIlxmMjhlIgp9CgoubGEtbWludXMtY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOGYiCn0KCi5sYS1taW51cy1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI5MCIKfQoKLmxhLW1pbnVzLXNxdWFyZS1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOTEiCn0KCi5sYS1tb2JpbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI5MiIKfQoKLmxhLW1vYmlsZS1waG9uZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjkzIgp9CgoubGEtbW9uZXk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjI5NCIKfQoKLmxhLW1vb24tbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMjk1Igp9CgoubGEtbW9ydGFyLWJvYXJkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOTYiCn0KCi5sYS1tb3RvcmN5Y2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOTciCn0KCi5sYS1tb3VzZS1wb2ludGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOTgiCn0KCi5sYS1tdXNpYzpiZWZvcmUgewogICAgY29udGVudDogIlxmMjk5Igp9CgoubGEtbmF2aWNvbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMjlhIgp9CgoubGEtbmV1dGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOWIiCn0KCi5sYS1uZXdzcGFwZXItbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMjljIgp9CgoubGEtb2JqZWN0LWdyb3VwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyOWQiCn0KCi5sYS1vYmplY3QtdW5ncm91cDpiZWZvcmUgewogICAgY29udGVudDogIlxmMjllIgp9CgoubGEtb2Rub2tsYXNzbmlraTpiZWZvcmUgewogICAgY29udGVudDogIlxmMjlmIgp9CgoubGEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJhMCIKfQoKLmxhLW9wZW5jYXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYTEiCn0KCi5sYS1vcGVuaWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJhMiIKfQoKLmxhLW9wZXJhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYTMiCn0KCi5sYS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYTQiCn0KCi5sYS1vdXRkZW50OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYTUiCn0KCi5sYS1wYWdlbGluZXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJhNiIKfQoKLmxhLXBhaW50LWJydXNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYTciCn0KCi5sYS1wYXBlci1wbGFuZTpiZWZvcmUsCi5sYS1zZW5kOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYTgiCn0KCi5sYS1wYXBlci1wbGFuZS1vOmJlZm9yZSwKLmxhLXNlbmQtbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMmE5Igp9CgoubGEtcGFwZXJjbGlwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYWEiCn0KCi5sYS1wYXJhZ3JhcGg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJhYiIKfQoKLmxhLXBhc3RlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYWMiCn0KCi5sYS1wYXVzZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmFkIgp9CgoubGEtcGF3OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYWUiCn0KCi5sYS1wYXlwYWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJhZiIKfQoKLmxhLXBlbmNpbDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmIwIgp9CgoubGEtcGVuY2lsLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmIxIgp9CgoubGEtcGVuY2lsLXNxdWFyZS1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYjIiCn0KCi5sYS1waG9uZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmIzIgp9CgoubGEtcGhvbmUtc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYjQiCn0KCi5sYS1waG90bzpiZWZvcmUgewogICAgY29udGVudDogIlxmMmI1Igp9CgoubGEtcGljdHVyZS1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYjYiCn0KCi5sYS1waWUtY2hhcnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJiNyIKfQoKLmxhLXBpZWQtcGlwZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJiOCIKfQoKLmxhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYjkiCn0KCi5sYS1waW50ZXJlc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJiYSIKfQoKLmxhLXBpbnRlcmVzdC1wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYmIiCn0KCi5sYS1waW50ZXJlc3Qtc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYmMiCn0KCi5sYS1wbGFuZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmJkIgp9CgoubGEtcGxheTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmJlIgp9CgoubGEtcGxheS1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJiZiIKfQoKLmxhLXBsYXktY2lyY2xlLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJjMCIKfQoKLmxhLXBsdWc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJjMSIKfQoKLmxhLXBsdXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJjMiIKfQoKLmxhLXBsdXMtY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYzMiCn0KCi5sYS1wbHVzLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmM0Igp9CgoubGEtcGx1cy1zcXVhcmUtbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMmM1Igp9CgoubGEtcG93ZXItb2ZmOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYzYiCn0KCi5sYS1wcmludDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmM3Igp9CgoubGEtcHV6emxlLXBpZWNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyYzgiCn0KCi5sYS1xcTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmM5Igp9CgoubGEtcXJjb2RlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyY2EiCn0KCi5sYS1xdWVzdGlvbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMmNiIgp9CgoubGEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyY2MiCn0KCi5sYS1xdW90ZS1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyY2QiCn0KCi5sYS1xdW90ZS1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmNlIgp9CgoubGEtcmE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJjZiIKfQoKLmxhLXJhbmRvbTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmQwIgp9CgoubGEtcmViZWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJkMSIKfQoKLmxhLXJlY3ljbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJkMiIKfQoKLmxhLXJlZGRpdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmQzIgp9CgoubGEtcmVkZGl0LXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmQ0Igp9CgoubGEtcmVmcmVzaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmQ1Igp9CgoubGEtcmVnaXN0ZXJlZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmQ2Igp9CgoubGEtcmVucmVuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZDciCn0KCi5sYS1yZW9yZGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZDgiCn0KCi5sYS1yZXBlYXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJkOSIKfQoKLmxhLXJlcGx5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZGEiCn0KCi5sYS1yZXBseS1hbGw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJkYiIKfQoKLmxhLXJldHdlZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJkYyIKfQoKLmxhLXJtYjpiZWZvcmUgewogICAgY29udGVudDogIlxmMmRkIgp9CgoubGEtcm9hZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmRlIgp9CgoubGEtcm9ja2V0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZGYiCn0KCi5sYS1yb3RhdGUtbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmUwIgp9CgoubGEtcm90YXRlLXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZTEiCn0KCi5sYS1yb3VibGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJlMiIKfQoKLmxhLWZlZWQ6YmVmb3JlLAoubGEtcnNzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZTMiCn0KCi5sYS1yc3Mtc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZTQiCn0KCi5sYS1ydWI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJlNSIKfQoKLmxhLXJ1YmxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZTYiCn0KCi5sYS1ydXBlZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmU3Igp9CgoubGEtc2FmYXJpOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZTgiCn0KCi5sYS1zYXZlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZTkiCn0KCi5sYS1zY2lzc29yczpiZWZvcmUgewogICAgY29udGVudDogIlxmMmVhIgp9CgoubGEtc2VhcmNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZWIiCn0KCi5sYS1zZWFyY2gtbWludXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJlYyIKfQoKLmxhLXNlYXJjaC1wbHVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZWQiCn0KCi5sYS1zZWxsc3k6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJlZSIKfQoKLmxhLXNlcnZlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMmVmIgp9CgoubGEtc2hhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJmMCIKfQoKLmxhLXNoYXJlLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmYxIgp9CgoubGEtc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMmYyIgp9CgoubGEtc2hhcmUtc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZjMiCn0KCi5sYS1zaGFyZS1zcXVhcmUtbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMmY0Igp9CgoubGEtc2hla2VsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZjUiCn0KCi5sYS1zaGVxZWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjJmNiIKfQoKLmxhLXNoaWVsZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmY3Igp9CgoubGEtc2hpcDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmY4Igp9CgoubGEtc2hpcnRzaW5idWxrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZjkiCn0KCi5sYS1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZmEiCn0KCi5sYS1zaWduLWluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZmIiCn0KCi5sYS1zaWduLW91dDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmZjIgp9CgoubGEtc2lnbmFsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYyZmQiCn0KCi5sYS1zaW1wbHlidWlsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmZlIgp9CgoubGEtc2l0ZW1hcDpiZWZvcmUgewogICAgY29udGVudDogIlxmMmZmIgp9CgoubGEtc2t5YXRsYXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMwMCIKfQoKLmxhLXNreXBlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMDEiCn0KCi5sYS1zbGFjazpiZWZvcmUgewogICAgY29udGVudDogIlxmMzAyIgp9CgoubGEtc2xpZGVyczpiZWZvcmUgewogICAgY29udGVudDogIlxmMzAzIgp9CgoubGEtc2xpZGVzaGFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzA0Igp9CgoubGEtc21pbGUtbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMzA1Igp9CgoubGEtc29ydDpiZWZvcmUsCi5sYS11bnNvcnRlZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzA2Igp9CgoubGEtc29ydC1hbHBoYS1hc2M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMwNyIKfQoKLmxhLXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUgewogICAgY29udGVudDogIlxmMzA4Igp9CgoubGEtc29ydC1hbW91bnQtYXNjOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMDkiCn0KCi5sYS1zb3J0LWFtb3VudC1kZXNjOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMGEiCn0KCi5sYS1zb3J0LWFzYzpiZWZvcmUsCi5sYS1zb3J0LXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMGIiCn0KCi5sYS1zb3J0LWRlc2M6YmVmb3JlLAoubGEtc29ydC1kb3duOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMGMiCn0KCi5sYS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMGQiCn0KCi5sYS1zb3J0LW51bWVyaWMtZGVzYzpiZWZvcmUgewogICAgY29udGVudDogIlxmMzBlIgp9CgoubGEtc291bmRjbG91ZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzBmIgp9CgoubGEtc3BhY2Utc2h1dHRsZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzEwIgp9CgoubGEtc3Bpbm5lcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzExIgp9CgoubGEtc3Bvb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMxMiIKfQoKLmxhLXNwb3RpZnk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMxMyIKfQoKLmxhLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzE0Igp9CgoubGEtc3F1YXJlLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMxNSIKfQoKLmxhLXN0YWNrLWV4Y2hhbmdlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMTYiCn0KCi5sYS1zdGFjay1vdmVyZmxvdzpiZWZvcmUgewogICAgY29udGVudDogIlxmMzE3Igp9CgoubGEtc3RhcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzE4Igp9CgoubGEtc3Rhci1oYWxmOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMTkiCn0KCi5sYS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLAoubGEtc3Rhci1oYWxmLWZ1bGw6YmVmb3JlLAoubGEtc3Rhci1oYWxmLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMxYSIKfQoKLmxhLXN0YXItbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMzFiIgp9CgoubGEtc3RlYW06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMxYyIKfQoKLmxhLXN0ZWFtLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzFkIgp9CgoubGEtc3RlcC1iYWNrd2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzFlIgp9CgoubGEtc3RlcC1mb3J3YXJkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMWYiCn0KCi5sYS1zdGV0aG9zY29wZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzIwIgp9CgoubGEtc3RpY2t5LW5vdGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMyMSIKfQoKLmxhLXN0aWNreS1ub3RlLW86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMyMiIKfQoKLmxhLXN0b3A6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMyMyIKfQoKLmxhLXN0cmVldC12aWV3OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMjQiCn0KCi5sYS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMjUiCn0KCi5sYS1zdHVtYmxldXBvbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzI2Igp9CgoubGEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMjciCn0KCi5sYS1zdWJzY3JpcHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMyOCIKfQoKLmxhLXN1YndheTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzI5Igp9CgoubGEtc3VpdGNhc2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMyYSIKfQoKLmxhLXN1bi1vOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMmIiCn0KCi5sYS1zdXBlcnNjcmlwdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzJjIgp9CgoubGEtdGFibGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMyZCIKfQoKLmxhLXRhYmxldDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzJlIgp9CgoubGEtdGFjaG9tZXRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzJmIgp9CgoubGEtdGFnOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMzAiCn0KCi5sYS10YWdzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMzEiCn0KCi5sYS10YXNrczpiZWZvcmUgewogICAgY29udGVudDogIlxmMzMyIgp9CgoubGEtdGF4aTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzMzIgp9CgoubGEtdGVsZXZpc2lvbjpiZWZvcmUsCi5sYS10djpiZWZvcmUgewogICAgY29udGVudDogIlxmMzM0Igp9CgoubGEtdGVuY2VudC13ZWlibzpiZWZvcmUgewogICAgY29udGVudDogIlxmMzM1Igp9CgoubGEtdGVybWluYWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMzNiIKfQoKLmxhLXRleHQtaGVpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMzciCn0KCi5sYS10ZXh0LXdpZHRoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzMzgiCn0KCi5sYS10aDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzM5Igp9CgoubGEtdGgtbGFyZ2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMzYSIKfQoKLmxhLXRoLWxpc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMzYiIKfQoKLmxhLXRodW1iLXRhY2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjMzYyIKfQoKLmxhLXRodW1icy1kb3duOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzM2QiCn0KCi5sYS10aHVtYnMtby1kb3duOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzM2UiCn0KCi5sYS10aHVtYnMtby11cDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzNmIgp9CgoubGEtdGh1bWJzLXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNDAiCn0KCi5sYS10aWNrZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM0MSIKfQoKLmxhLXJlbW92ZTpiZWZvcmUsCi5sYS10aW1lczpiZWZvcmUgewogICAgY29udGVudDogIlxmMzQyIgp9CgoubGEtdGltZXMtY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNDMiCn0KCi5sYS10aW1lcy1jaXJjbGUtbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMzQ0Igp9CgoubGEtdGludDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzQ1Igp9CgoubGEtdG9nZ2xlLW9mZjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzQ2Igp9CgoubGEtdG9nZ2xlLW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNDciCn0KCi5sYS10cmFkZW1hcms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM0OCIKfQoKLmxhLXRyYWluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNDkiCn0KCi5sYS1pbnRlcnNleDpiZWZvcmUsCi5sYS10cmFuc2dlbmRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzRhIgp9CgoubGEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNGIiCn0KCi5sYS10cmFzaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzRjIgp9CgoubGEtdHJhc2gtbzpiZWZvcmUgewogICAgY29udGVudDogIlxmMzRkIgp9CgoubGEtdHJlZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzRlIgp9CgoubGEtdHJlbGxvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNGYiCn0KCi5sYS10cmlwYWR2aXNvcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzUwIgp9CgoubGEtdHJvcGh5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNTEiCn0KCi5sYS10cnVjazpiZWZvcmUgewogICAgY29udGVudDogIlxmMzUyIgp9CgoubGEtdHJ5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNTMiCn0KCi5sYS10dHk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM1NCIKfQoKLmxhLXR1bWJscjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzU1Igp9CgoubGEtdHVtYmxyLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzU2Igp9CgoubGEtdHVya2lzaC1saXJhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNTciCn0KCi5sYS10d2l0Y2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM1OCIKfQoKLmxhLXR3aXR0ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM1OSIKfQoKLmxhLXR3aXR0ZXItc3F1YXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNWEiCn0KCi5sYS11bWJyZWxsYTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzViIgp9CgoubGEtdW5kZXJsaW5lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNWMiCn0KCi5sYS11bmRvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNWQiCn0KCi5sYS11bml2ZXJzaXR5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNWUiCn0KCi5sYS11bmxpbms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM1ZiIKfQoKLmxhLXVubG9jazpiZWZvcmUgewogICAgY29udGVudDogIlxmMzYwIgp9CgoubGEtdW5sb2NrLWFsdDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzYxIgp9CgoubGEtdXBsb2FkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNjIiCn0KCi5sYS11c2Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM2MyIKfQoKLmxhLXVzZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM2NCIKfQoKLmxhLXVzZXItbWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM2NSIKfQoKLmxhLXVzZXItcGx1czpiZWZvcmUgewogICAgY29udGVudDogIlxmMzY2Igp9CgoubGEtdXNlci1zZWNyZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM2NyIKfQoKLmxhLXVzZXItdGltZXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM2OCIKfQoKLmxhLXVzZXJzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNjkiCn0KCi5sYS12ZW51czpiZWZvcmUgewogICAgY29udGVudDogIlxmMzZhIgp9CgoubGEtdmVudXMtZG91YmxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNmIiCn0KCi5sYS12ZW51cy1tYXJzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNmMiCn0KCi5sYS12aWFjb2luOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNmQiCn0KCi5sYS12aWRlby1jYW1lcmE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM2ZSIKfQoKLmxhLXZpbWVvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNmYiCn0KCi5sYS12aW1lby1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM3MCIKfQoKLmxhLXZpbmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM3MSIKfQoKLmxhLXZrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNzIiCn0KCi5sYS12b2x1bWUtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzczIgp9CgoubGEtdm9sdW1lLW9mZjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzc0Igp9CgoubGEtdm9sdW1lLXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNzUiCn0KCi5sYS13YXJuaW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNzYiCn0KCi5sYS13ZWNoYXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM3NyIKfQoKLmxhLXdlaWJvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzNzgiCn0KCi5sYS13ZWl4aW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM3OSIKfQoKLmxhLXdoYXRzYXBwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzN2EiCn0KCi5sYS13aGVlbGNoYWlyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzN2IiCn0KCi5sYS13aWZpOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzN2MiCn0KCi5sYS13aWtpcGVkaWEtdzpiZWZvcmUgewogICAgY29udGVudDogIlxmMzdkIgp9CgoubGEtd2luZG93czpiZWZvcmUgewogICAgY29udGVudDogIlxmMzdlIgp9CgoubGEtd29uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzN2YiCn0KCi5sYS13b3JkcHJlc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM4MCIKfQoKLmxhLXdyZW5jaDpiZWZvcmUgewogICAgY29udGVudDogIlxmMzgxIgp9CgoubGEteGluZzpiZWZvcmUgewogICAgY29udGVudDogIlxmMzgyIgp9CgoubGEteGluZy1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM4MyIKfQoKLmxhLXktY29tYmluYXRvcjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzg0Igp9CgoubGEteS1jb21iaW5hdG9yLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzg1Igp9CgoubGEteWFob286YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM4NiIKfQoKLmxhLXljOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzODciCn0KCi5sYS15Yy1zcXVhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM4OCIKfQoKLmxhLXllbHA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjM4OSIKfQoKLmxhLXllbjpiZWZvcmUgewogICAgY29udGVudDogIlxmMzhhIgp9CgoubGEteW91dHViZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzhiIgp9CgoubGEteW91dHViZS1wbGF5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYzOGMiCn0KCi5sYS15b3V0dWJlLXNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxmMzhkIgp9CgpAZm9udC1mYWNlIHsKICAgIGZvbnQtZmFtaWx5OiBMaW5lYXJpY29ucy1GcmVlOwogICAgc3JjOiB1cmwoLi4vZm9udHMvTGluZWFyaWNvbnMtRnJlZTU0ZTkuaHRtbD93MTE4ZCk7CiAgICBzcmM6IHVybCguLi9mb250cy9MaW5lYXJpY29ucy1GcmVlZDQxZC5odG1sPyNpZWZpeHcxMThkKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCguLi9mb250cy9MaW5lYXJpY29ucy1GcmVlNTRlOS0yLmh0bWw/dzExOGQpIGZvcm1hdCgnd29mZjInKSwgdXJsKC4uL2ZvbnRzL0xpbmVhcmljb25zLUZyZWU1NGU5LTMuaHRtbD93MTE4ZCkgZm9ybWF0KCd3b2ZmJyksIHVybCguLi9mb250cy9MaW5lYXJpY29ucy1GcmVlNTRlOS00Lmh0bWw/dzExOGQpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKC4uL2ZvbnRzL0xpbmVhcmljb25zLUZyZWU1NGU5LTUuaHRtbD93MTE4ZCNMaW5lYXJpY29ucy1GcmVlKSBmb3JtYXQoJ3N2ZycpOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbAp9CgoubG5yIHsKICAgIGZvbnQtZmFtaWx5OiBMaW5lYXJpY29ucy1GcmVlOwogICAgc3BlYWs6IG5vbmU7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgZm9udC12YXJpYW50OiBub3JtYWw7CiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlCn0KCi5sbnItaG9tZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODAwIgp9CgoubG5yLWFwYXJ0bWVudDpiZWZvcmUgewogICAgY29udGVudDogIlxlODAxIgp9CgoubG5yLXBlbmNpbDpiZWZvcmUgewogICAgY29udGVudDogIlxlODAyIgp9CgoubG5yLW1hZ2ljLXdhbmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgwMyIKfQoKLmxuci1kcm9wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MDQiCn0KCi5sbnItbGlnaHRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxlODA1Igp9CgoubG5yLXBvb3A6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgwNiIKfQoKLmxuci1zdW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgwNyIKfQoKLmxuci1tb29uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MDgiCn0KCi5sbnItY2xvdWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgwOSIKfQoKLmxuci1jbG91ZC11cGxvYWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgwYSIKfQoKLmxuci1jbG91ZC1kb3dubG9hZDpiZWZvcmUgewogICAgY29udGVudDogIlxlODBiIgp9CgoubG5yLWNsb3VkLXN5bmM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgwYyIKfQoKLmxuci1jbG91ZC1jaGVjazpiZWZvcmUgewogICAgY29udGVudDogIlxlODBkIgp9CgoubG5yLWRhdGFiYXNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MGUiCn0KCi5sbnItbG9jazpiZWZvcmUgewogICAgY29udGVudDogIlxlODBmIgp9CgoubG5yLWNvZzpiZWZvcmUgewogICAgY29udGVudDogIlxlODEwIgp9CgoubG5yLXRyYXNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MTEiCn0KCi5sbnItZGljZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODEyIgp9CgoubG5yLWhlYXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MTMiCn0KCi5sbnItc3RhcjpiZWZvcmUgewogICAgY29udGVudDogIlxlODE0Igp9CgoubG5yLXN0YXItaGFsZjpiZWZvcmUgewogICAgY29udGVudDogIlxlODE1Igp9CgoubG5yLXN0YXItZW1wdHk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgxNiIKfQoKLmxuci1mbGFnOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MTciCn0KCi5sbnItZW52ZWxvcGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgxOCIKfQoKLmxuci1wYXBlcmNsaXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgxOSIKfQoKLmxuci1pbmJveDpiZWZvcmUgewogICAgY29udGVudDogIlxlODFhIgp9CgoubG5yLWV5ZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODFiIgp9CgoubG5yLXByaW50ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgxYyIKfQoKLmxuci1maWxlLWVtcHR5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MWQiCn0KCi5sbnItZmlsZS1hZGQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgxZSIKfQoKLmxuci1lbnRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxlODFmIgp9CgoubG5yLWV4aXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgyMCIKfQoKLmxuci1ncmFkdWF0aW9uLWhhdDpiZWZvcmUgewogICAgY29udGVudDogIlxlODIxIgp9CgoubG5yLWxpY2Vuc2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgyMiIKfQoKLmxuci1tdXNpYy1ub3RlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MjMiCn0KCi5sbnItZmlsbS1wbGF5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MjQiCn0KCi5sbnItY2FtZXJhLXZpZGVvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MjUiCn0KCi5sbnItY2FtZXJhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MjYiCn0KCi5sbnItcGljdHVyZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODI3Igp9CgoubG5yLWJvb2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgyOCIKfQoKLmxuci1ib29rbWFyazpiZWZvcmUgewogICAgY29udGVudDogIlxlODI5Igp9CgoubG5yLXVzZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgyYSIKfQoKLmxuci11c2VyczpiZWZvcmUgewogICAgY29udGVudDogIlxlODJiIgp9CgoubG5yLXNoaXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MmMiCn0KCi5sbnItc3RvcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgyZCIKfQoKLmxuci1jYXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MmUiCn0KCi5sbnItdGFnOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MmYiCn0KCi5sbnItcGhvbmUtaGFuZHNldDpiZWZvcmUgewogICAgY29udGVudDogIlxlODMwIgp9CgoubG5yLXBob25lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MzEiCn0KCi5sbnItcHVzaHBpbjpiZWZvcmUgewogICAgY29udGVudDogIlxlODMyIgp9CgoubG5yLW1hcC1tYXJrZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgzMyIKfQoKLmxuci1tYXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgzNCIKfQoKLmxuci1sb2NhdGlvbjpiZWZvcmUgewogICAgY29udGVudDogIlxlODM1Igp9CgoubG5yLWNhbGVuZGFyLWZ1bGw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgzNiIKfQoKLmxuci1rZXlib2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxlODM3Igp9CgoubG5yLXNwZWxsLWNoZWNrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MzgiCn0KCi5sbnItc2NyZWVuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MzkiCn0KCi5sbnItc21hcnRwaG9uZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODNhIgp9CgoubG5yLXRhYmxldDpiZWZvcmUgewogICAgY29udGVudDogIlxlODNiIgp9CgoubG5yLWxhcHRvcDpiZWZvcmUgewogICAgY29udGVudDogIlxlODNjIgp9CgoubG5yLWxhcHRvcC1waG9uZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODNkIgp9CgoubG5yLXBvd2VyLXN3aXRjaDpiZWZvcmUgewogICAgY29udGVudDogIlxlODNlIgp9CgoubG5yLWJ1YmJsZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODNmIgp9CgoubG5yLWhlYXJ0LXB1bHNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NDAiCn0KCi5sbnItY29uc3RydWN0aW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NDEiCn0KCi5sbnItcGllLWNoYXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NDIiCn0KCi5sbnItY2hhcnQtYmFyczpiZWZvcmUgewogICAgY29udGVudDogIlxlODQzIgp9CgoubG5yLWdpZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg0NCIKfQoKLmxuci1kaWFtb25kOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NDUiCn0KCi5sbnItbGluZWFyaWNvbnM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg0NiIKfQoKLmxuci1kaW5uZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg0NyIKfQoKLmxuci1jb2ZmZWUtY3VwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NDgiCn0KCi5sbnItbGVhZjpiZWZvcmUgewogICAgY29udGVudDogIlxlODQ5Igp9CgoubG5yLXBhdzpiZWZvcmUgewogICAgY29udGVudDogIlxlODRhIgp9CgoubG5yLXJvY2tldDpiZWZvcmUgewogICAgY29udGVudDogIlxlODRiIgp9CgoubG5yLWJyaWVmY2FzZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODRjIgp9CgoubG5yLWJ1czpiZWZvcmUgewogICAgY29udGVudDogIlxlODRkIgp9CgoubG5yLWNhcjpiZWZvcmUgewogICAgY29udGVudDogIlxlODRlIgp9CgoubG5yLXRyYWluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NGYiCn0KCi5sbnItYmljeWNsZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODUwIgp9CgoubG5yLXdoZWVsY2hhaXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg1MSIKfQoKLmxuci1zZWxlY3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg1MiIKfQoKLmxuci1lYXJ0aDpiZWZvcmUgewogICAgY29udGVudDogIlxlODUzIgp9CgoubG5yLXNtaWxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NTQiCn0KCi5sbnItc2FkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NTUiCn0KCi5sbnItbmV1dHJhbDpiZWZvcmUgewogICAgY29udGVudDogIlxlODU2Igp9CgoubG5yLW11c3RhY2hlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NTciCn0KCi5sbnItYWxhcm06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg1OCIKfQoKLmxuci1idWxsaG9ybjpiZWZvcmUgewogICAgY29udGVudDogIlxlODU5Igp9CgoubG5yLXZvbHVtZS1oaWdoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NWEiCn0KCi5sbnItdm9sdW1lLW1lZGl1bTpiZWZvcmUgewogICAgY29udGVudDogIlxlODViIgp9CgoubG5yLXZvbHVtZS1sb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg1YyIKfQoKLmxuci12b2x1bWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg1ZCIKfQoKLmxuci1taWM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg1ZSIKfQoKLmxuci1ob3VyZ2xhc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg1ZiIKfQoKLmxuci11bmRvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NjAiCn0KCi5sbnItcmVkbzpiZWZvcmUgewogICAgY29udGVudDogIlxlODYxIgp9CgoubG5yLXN5bmM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg2MiIKfQoKLmxuci1oaXN0b3J5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NjMiCn0KCi5sbnItY2xvY2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg2NCIKfQoKLmxuci1kb3dubG9hZDpiZWZvcmUgewogICAgY29udGVudDogIlxlODY1Igp9CgoubG5yLXVwbG9hZDpiZWZvcmUgewogICAgY29udGVudDogIlxlODY2Igp9CgoubG5yLWVudGVyLWRvd246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg2NyIKfQoKLmxuci1leGl0LXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NjgiCn0KCi5sbnItYnVnOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NjkiCn0KCi5sbnItY29kZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODZhIgp9CgoubG5yLWxpbms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg2YiIKfQoKLmxuci11bmxpbms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg2YyIKfQoKLmxuci10aHVtYnMtdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg2ZCIKfQoKLmxuci10aHVtYnMtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxlODZlIgp9CgoubG5yLW1hZ25pZmllcjpiZWZvcmUgewogICAgY29udGVudDogIlxlODZmIgp9CgoubG5yLWNyb3NzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NzAiCn0KCi5sbnItbWVudTpiZWZvcmUgewogICAgY29udGVudDogIlxlODcxIgp9CgoubG5yLWxpc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg3MiIKfQoKLmxuci1jaGV2cm9uLXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NzMiCn0KCi5sbnItY2hldnJvbi1kb3duOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NzQiCn0KCi5sbnItY2hldnJvbi1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NzUiCn0KCi5sbnItY2hldnJvbi1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxlODc2Igp9CgoubG5yLWFycm93LXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4NzciCn0KCi5sbnItYXJyb3ctZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxlODc4Igp9CgoubG5yLWFycm93LWxlZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg3OSIKfQoKLmxuci1hcnJvdy1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxlODdhIgp9CgoubG5yLW1vdmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg3YiIKfQoKLmxuci13YXJuaW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4N2MiCn0KCi5sbnItcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4N2QiCn0KCi5sbnItbWVudS1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg3ZSIKfQoKLmxuci1jaGVja21hcmstY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4N2YiCn0KCi5sbnItY3Jvc3MtY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4ODAiCn0KCi5sbnItcGx1cy1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg4MSIKfQoKLmxuci1jaXJjbGUtbWludXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg4MiIKfQoKLmxuci1hcnJvdy11cC1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg4MyIKfQoKLmxuci1hcnJvdy1kb3duLWNpcmNsZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODg0Igp9CgoubG5yLWFycm93LWxlZnQtY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4ODUiCn0KCi5sbnItYXJyb3ctcmlnaHQtY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4ODYiCn0KCi5sbnItY2hldnJvbi11cC1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg4NyIKfQoKLmxuci1jaGV2cm9uLWRvd24tY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4ODgiCn0KCi5sbnItY2hldnJvbi1sZWZ0LWNpcmNsZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODg5Igp9CgoubG5yLWNoZXZyb24tcmlnaHQtY2lyY2xlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4OGEiCn0KCi5sbnItY3JvcDpiZWZvcmUgewogICAgY29udGVudDogIlxlODhiIgp9CgoubG5yLWZyYW1lLWV4cGFuZDpiZWZvcmUgewogICAgY29udGVudDogIlxlODhjIgp9CgoubG5yLWZyYW1lLWNvbnRyYWN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4OGQiCn0KCi5sbnItbGF5ZXJzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4OGUiCn0KCi5sbnItZnVubmVsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4OGYiCn0KCi5sbnItdGV4dC1mb3JtYXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg5MCIKfQoKLmxuci10ZXh0LWZvcm1hdC1yZW1vdmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg5MSIKfQoKLmxuci10ZXh0LXNpemU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg5MiIKfQoKLmxuci1ib2xkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4OTMiCn0KCi5sbnItaXRhbGljOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4OTQiCn0KCi5sbnItdW5kZXJsaW5lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4OTUiCn0KCi5sbnItc3RyaWtldGhyb3VnaDpiZWZvcmUgewogICAgY29udGVudDogIlxlODk2Igp9CgoubG5yLWhpZ2hsaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxlODk3Igp9CgoubG5yLXRleHQtYWxpZ24tbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxlODk4Igp9CgoubG5yLXRleHQtYWxpZ24tY2VudGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4OTkiCn0KCi5sbnItdGV4dC1hbGlnbi1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxlODlhIgp9CgoubG5yLXRleHQtYWxpZ24tanVzdGlmeTpiZWZvcmUgewogICAgY29udGVudDogIlxlODliIgp9CgoubG5yLWxpbmUtc3BhY2luZzpiZWZvcmUgewogICAgY29udGVudDogIlxlODljIgp9CgoubG5yLWluZGVudC1pbmNyZWFzZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODlkIgp9CgoubG5yLWluZGVudC1kZWNyZWFzZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODllIgp9CgoubG5yLXBpbGNyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTg5ZiIKfQoKLmxuci1kaXJlY3Rpb24tbHRyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4YTAiCn0KCi5sbnItZGlyZWN0aW9uLXJ0bDpiZWZvcmUgewogICAgY29udGVudDogIlxlOGExIgp9CgoubG5yLXBhZ2UtYnJlYWs6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZThhMiIKfQoKLmxuci1zb3J0LWFscGhhLWFzYzpiZWZvcmUgewogICAgY29udGVudDogIlxlOGEzIgp9CgoubG5yLXNvcnQtYW1vdW50LWFzYzpiZWZvcmUgewogICAgY29udGVudDogIlxlOGE0Igp9CgoubG5yLWhhbmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZThhNSIKfQoKLmxuci1wb2ludGVyLXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4YTYiCn0KCi5sbnItcG9pbnRlci1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxlOGE3Igp9CgoubG5yLXBvaW50ZXItZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxlOGE4Igp9CgoubG5yLXBvaW50ZXItbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxlOGE5Igp9CgoubWZwLWJnIHsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHotaW5kZXg6IDEwNDI7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcG9zaXRpb246IGZpeGVkOwogICAgYmFja2dyb3VuZDogIzBiMGIwYjsKICAgIG9wYWNpdHk6IC44Cn0KCi5tZnAtd3JhcCB7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB6LWluZGV4OiAxMDQzOwogICAgcG9zaXRpb246IGZpeGVkOwogICAgb3V0bGluZTogMCAhaW1wb3J0YW50OwogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW4KfQoKLm1mcC1jb250YWluZXIgewogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwOwogICAgcGFkZGluZzogMCA4cHg7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Cn0KCi5tZnAtY29udGFpbmVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAnJzsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGhlaWdodDogMTAwJTsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUKfQoKLm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3JlIHsKICAgIGRpc3BsYXk6IG5vbmUKfQoKLm1mcC1jb250ZW50IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICB6LWluZGV4OiAxMDQ1Cn0KCi5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50LAoubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50IHsKICAgIHdpZHRoOiAxMDAlOwogICAgY3Vyc29yOiBhdXRvCn0KCi5tZnAtYWpheC1jdXIgewogICAgY3Vyc29yOiBwcm9ncmVzcwp9CgoubWZwLXpvb20tb3V0LWN1ciwKLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7CiAgICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7CiAgICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7CiAgICBjdXJzb3I6IHpvb20tb3V0Cn0KCi5tZnAtem9vbSB7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjsKICAgIGN1cnNvcjogLW1vei16b29tLWluOwogICAgY3Vyc29yOiB6b29tLWluCn0KCi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHsKICAgIGN1cnNvcjogYXV0bwp9CgoubWZwLWFycm93LAoubWZwLWNsb3NlLAoubWZwLWNvdW50ZXIsCi5tZnAtcHJlbG9hZGVyIHsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgdXNlci1zZWxlY3Q6IG5vbmUKfQoKLm1mcC1sb2FkaW5nLm1mcC1maWd1cmUgewogICAgZGlzcGxheTogbm9uZQp9CgoubWZwLWhpZGUgewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Cn0KCi5tZnAtcHJlbG9hZGVyIHsKICAgIGNvbG9yOiAjY2NjOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiA1MCU7CiAgICB3aWR0aDogYXV0bzsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG1hcmdpbi10b3A6IC0uOGVtOwogICAgbGVmdDogOHB4OwogICAgcmlnaHQ6IDhweDsKICAgIHotaW5kZXg6IDEwNDQKfQoKLm1mcC1wcmVsb2FkZXIgYSB7CiAgICBjb2xvcjogI2NjYwp9CgoubWZwLXByZWxvYWRlciBhOmhvdmVyIHsKICAgIGNvbG9yOiAjZmZmCn0KCi5tZnAtcy1yZWFkeSAubWZwLXByZWxvYWRlciB7CiAgICBkaXNwbGF5OiBub25lCn0KCi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQgewogICAgZGlzcGxheTogbm9uZQp9CgpidXR0b24ubWZwLWFycm93LApidXR0b24ubWZwLWNsb3NlIHsKICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgYmFja2dyb3VuZDogMCAwOwogICAgYm9yZGVyOiAwOwogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBvdXRsaW5lOiAwOwogICAgcGFkZGluZzogMDsKICAgIHotaW5kZXg6IDEwNDY7CiAgICBib3gtc2hhZG93OiBub25lOwogICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb24KfQoKYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHsKICAgIHBhZGRpbmc6IDA7CiAgICBib3JkZXI6IDAKfQoKLm1mcC1jbG9zZSB7CiAgICB3aWR0aDogNDRweDsKICAgIGhlaWdodDogNDRweDsKICAgIGxpbmUtaGVpZ2h0OiA0NHB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDA7CiAgICB0b3A6IDA7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBvcGFjaXR5OiAuNjU7CiAgICBwYWRkaW5nOiAwIDAgMThweCAxMHB4OwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBmb250LXNpemU6IDI4cHg7CiAgICBmb250LWZhbWlseTogQXJpYWwsIEJhc2tlcnZpbGxlLCBtb25vc3BhY2UKfQoKLm1mcC1jbG9zZTpmb2N1cywKLm1mcC1jbG9zZTpob3ZlciB7CiAgICBvcGFjaXR5OiAxCn0KCi5tZnAtY2xvc2U6YWN0aXZlIHsKICAgIHRvcDogMXB4Cn0KCi5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2UgewogICAgY29sb3I6ICMzMzMKfQoKLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2UsCi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2UgewogICAgY29sb3I6ICNmZmY7CiAgICByaWdodDogLTZweDsKICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgcGFkZGluZy1yaWdodDogNnB4OwogICAgd2lkdGg6IDEwMCUKfQoKLm1mcC1jb3VudGVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIHJpZ2h0OiAwOwogICAgY29sb3I6ICNjY2M7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBsaW5lLWhlaWdodDogMThweDsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXAKfQoKLm1mcC1hcnJvdyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBvcGFjaXR5OiAuNjU7CiAgICBtYXJnaW46IDA7CiAgICB0b3A6IDUwJTsKICAgIG1hcmdpbi10b3A6IC01NXB4OwogICAgcGFkZGluZzogMDsKICAgIHdpZHRoOiA5MHB4OwogICAgaGVpZ2h0OiAxMTBweDsKICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQKfQoKLm1mcC1hcnJvdzphY3RpdmUgewogICAgbWFyZ2luLXRvcDogLTU0cHgKfQoKLm1mcC1hcnJvdzpmb2N1cywKLm1mcC1hcnJvdzpob3ZlciB7CiAgICBvcGFjaXR5OiAxCn0KCi5tZnAtYXJyb3c6YWZ0ZXIsCi5tZnAtYXJyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogMDsKICAgIGhlaWdodDogMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDA7CiAgICBtYXJnaW4tdG9wOiAzNXB4OwogICAgbWFyZ2luLWxlZnQ6IDM1cHg7CiAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudAp9CgoubWZwLWFycm93OmFmdGVyIHsKICAgIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7CiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxM3B4OwogICAgdG9wOiA4cHgKfQoKLm1mcC1hcnJvdzpiZWZvcmUgewogICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDsKICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7CiAgICBvcGFjaXR5OiAuNwp9CgoubWZwLWFycm93LWxlZnQgewogICAgbGVmdDogMAp9CgoubWZwLWFycm93LWxlZnQ6YWZ0ZXIgewogICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNmZmY7CiAgICBtYXJnaW4tbGVmdDogMzFweAp9CgoubWZwLWFycm93LWxlZnQ6YmVmb3JlIHsKICAgIG1hcmdpbi1sZWZ0OiAyNXB4OwogICAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICMzZjNmM2YKfQoKLm1mcC1hcnJvdy1yaWdodCB7CiAgICByaWdodDogMAp9CgoubWZwLWFycm93LXJpZ2h0OmFmdGVyIHsKICAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNmZmY7CiAgICBtYXJnaW4tbGVmdDogMzlweAp9CgoubWZwLWFycm93LXJpZ2h0OmJlZm9yZSB7CiAgICBib3JkZXItbGVmdDogMjdweCBzb2xpZCAjM2YzZjNmCn0KCi5tZnAtaWZyYW1lLWhvbGRlciB7CiAgICBwYWRkaW5nLXRvcDogNDBweDsKICAgIHBhZGRpbmctYm90dG9tOiA0MHB4Cn0KCi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQgewogICAgbGluZS1oZWlnaHQ6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIG1heC13aWR0aDogOTAwcHgKfQoKLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2UgewogICAgdG9wOiAtNDBweAp9CgoubWZwLWlmcmFtZS1zY2FsZXIgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcGFkZGluZy10b3A6IDU2LjI1JQp9CgoubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIC42KTsKICAgIGJhY2tncm91bmQ6ICMwMDAKfQoKaW1nLm1mcC1pbWcgewogICAgd2lkdGg6IGF1dG87CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IGF1dG87CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGxpbmUtaGVpZ2h0OiAwOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHBhZGRpbmc6IDQwcHggMCA0MHB4OwogICAgbWFyZ2luOiAwIGF1dG8KfQoKLm1mcC1maWd1cmUgewogICAgbGluZS1oZWlnaHQ6IDAKfQoKLm1mcC1maWd1cmU6YWZ0ZXIgewogICAgY29udGVudDogJyc7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiA0MHB4OwogICAgYm90dG9tOiA0MHB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICByaWdodDogMDsKICAgIHdpZHRoOiBhdXRvOwogICAgaGVpZ2h0OiBhdXRvOwogICAgei1pbmRleDogLTE7CiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgLjYpOwogICAgYmFja2dyb3VuZDogIzQ0NAp9CgoubWZwLWZpZ3VyZSBzbWFsbCB7CiAgICBjb2xvcjogI2JkYmRiZDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgbGluZS1oZWlnaHQ6IDE0cHgKfQoKLm1mcC1maWd1cmUgZmlndXJlIHsKICAgIG1hcmdpbjogMAp9CgoubWZwLWJvdHRvbS1iYXIgewogICAgbWFyZ2luLXRvcDogLTM2cHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDEwMCU7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBjdXJzb3I6IGF1dG8KfQoKLm1mcC10aXRsZSB7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgICBjb2xvcjogI2YzZjNmMzsKICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgIHBhZGRpbmctcmlnaHQ6IDM2cHgKfQoKLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHsKICAgIG1heC13aWR0aDogMTAwJQp9CgoubWZwLWdhbGxlcnkgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1maWd1cmUgewogICAgY3Vyc29yOiBwb2ludGVyCn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ODAwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwKc2NyZWVuIGFuZCAobWF4LWhlaWdodDozMDBweCkgewogICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICAgICAgcGFkZGluZy1yaWdodDogMAogICAgfQogICAgLm1mcC1pbWctbW9iaWxlIGltZy5tZnAtaW1nIHsKICAgICAgICBwYWRkaW5nOiAwCiAgICB9CiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmU6YWZ0ZXIgewogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDAKICAgIH0KICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lOwogICAgICAgIG1hcmdpbi1sZWZ0OiA1cHgKICAgIH0KICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjYpOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgdG9wOiBhdXRvOwogICAgICAgIHBhZGRpbmc6IDNweCA1cHg7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3gKICAgIH0KICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkgewogICAgICAgIHBhZGRpbmc6IDAKICAgIH0KICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNvdW50ZXIgewogICAgICAgIHJpZ2h0OiA1cHg7CiAgICAgICAgdG9wOiAzcHgKICAgIH0KICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHsKICAgICAgICB0b3A6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgd2lkdGg6IDM1cHg7CiAgICAgICAgaGVpZ2h0OiAzNXB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjYpOwogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMAogICAgfQp9CgpAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7CiAgICAubWZwLWFycm93IHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjc1KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC43NSkKICAgIH0KICAgIC5tZnAtYXJyb3ctbGVmdCB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAKICAgIH0KICAgIC5tZnAtYXJyb3ctcmlnaHQgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlCiAgICB9CiAgICAubWZwLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7CiAgICAgICAgcGFkZGluZy1yaWdodDogNnB4CiAgICB9Cn0KCi5hcmVzLnRwYXJyb3dzIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBtaW4td2lkdGg6IDYwcHg7CiAgICBtaW4taGVpZ2h0OiA2MHB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB6LWluZGV4OiAxMDA7CiAgICBib3JkZXItcmFkaXVzOiA1MCUKfQoKLmFyZXMudHBhcnJvd3M6YmVmb3JlIHsKICAgIGZvbnQtZmFtaWx5OiByZXZpY29uczsKICAgIGZvbnQtc2l6ZTogMjVweDsKICAgIGNvbG9yOiAjYWFhOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBsaW5lLWhlaWdodDogNjBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgLjNzOwogICAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAuM3M7CiAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3M7CiAgICB6LWluZGV4OiAyOwogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5hcmVzLnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpiZWZvcmUgewogICAgY29udGVudDogIlxlODFmIgp9CgouYXJlcy50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MWUiCn0KCi5hcmVzLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiAgICBjb2xvcjogIzAwMAp9CgouYXJlcyAudHAtdGl0bGUtd3JhcCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB6LWluZGV4OiAxOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIG1pbi1oZWlnaHQ6IDYwcHg7CiAgICBsaW5lLWhlaWdodDogNjBweDsKICAgIHRvcDogMDsKICAgIG1hcmdpbi1sZWZ0OiAzMHB4OwogICAgYm9yZGVyLXJhZGl1czogMCAzMHB4IDMwcHggMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC4zczsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7CiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCA1MCUKfQoKLmFyZXMudHAtcmlnaHRhcnJvdyAudHAtdGl0bGUtd3JhcCB7CiAgICByaWdodDogMDsKICAgIG1hcmdpbi1yaWdodDogMzBweDsKICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTsKICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMCAwIDMwcHgKfQoKLmFyZXMudHBhcnJvd3M6aG92ZXIgLnRwLXRpdGxlLXdyYXAgewogICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgc2NhbGVZKDEpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKSBzY2FsZVkoMSkKfQoKLmFyZXMgLnRwLWFyci10aXRsZWhvbGRlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC4zczsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwcHgpOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiAjMDAwOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGxpbmUtaGVpZ2h0OiA2MHB4OwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIHBhZGRpbmc6IDAgMjBweDsKICAgIG1hcmdpbi1sZWZ0OiAxMHB4OwogICAgb3BhY2l0eTogMAp9CgouYXJlcy50cC1yaWdodGFycm93IC50cC1hcnItdGl0bGVob2xkZXIgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDBweCk7CiAgICBtYXJnaW4tbGVmdDogMDsKICAgIG1hcmdpbi1yaWdodDogMTBweAp9CgouYXJlcy50cGFycm93czpob3ZlciAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNpdGlvbi1kZWxheTogLjFzOwogICAgb3BhY2l0eTogMQp9CgouYXJlcy50cC1idWxsZXRzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiICI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIHBhZGRpbmc6IDEwcHg7CiAgICBtYXJnaW4tbGVmdDogLTEwcHg7CiAgICBtYXJnaW4tdG9wOiAtMTBweDsKICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Cn0KCi5hcmVzIC50cC1idWxsZXQgewogICAgd2lkdGg6IDEzcHg7CiAgICBoZWlnaHQ6IDEzcHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBiYWNrZ3JvdW5kOiAjZTVlNWU1OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgYm94LXNpemluZzogY29udGVudC1ib3gKfQoKLmFyZXMgLnRwLWJ1bGxldC5zZWxlY3RlZCwKLmFyZXMgLnRwLWJ1bGxldDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCi5hcmVzIC50cC1idWxsZXQtdGl0bGUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29sb3I6ICM4ODg7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBwYWRkaW5nOiAwIDEwcHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgcmlnaHQ6IDI3cHg7CiAgICB0b3A6IC00cHg7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNzUpOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7CiAgICBsaW5lLWhlaWdodDogMjBweDsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXAKfQoKLmFyZXMgLnRwLWJ1bGxldC10aXRsZTphZnRlciB7CiAgICB3aWR0aDogMDsKICAgIGhlaWdodDogMDsKICAgIGJvcmRlci1zdHlsZTogc29saWQ7CiAgICBib3JkZXItd2lkdGg6IDEwcHggMCAxMHB4IDEwcHg7CiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjc1KTsKICAgIGNvbnRlbnQ6ICIgIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAtMTBweDsKICAgIHRvcDogMAp9CgouYXJlcyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtdGl0bGUgewogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApCn0KCi5hcmVzIC50cC1idWxsZXQuc2VsZWN0ZWQ6aG92ZXIgLnRwLWJ1bGxldC10aXRsZSB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCi5hcmVzIC50cC1idWxsZXQuc2VsZWN0ZWQ6aG92ZXIgLnRwLWJ1bGxldC10aXRsZTphZnRlciB7CiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmYKfQoKLmFyZXMudHAtYnVsbGV0czpob3ZlciAudHAtYnVsbGV0LXRpdGxlIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbgp9CgouYXJlcy50cC1idWxsZXRzOmhvdmVyIC50cC1idWxsZXQ6aG92ZXIgLnRwLWJ1bGxldC10aXRsZSB7CiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlCn0KCi5hcmVzIC50cC10YWIgewogICAgb3BhY2l0eTogMTsKICAgIHBhZGRpbmc6IDEwcHg7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1Cn0KCi5hcmVzIC50cC10YWItaW1hZ2UgewogICAgd2lkdGg6IDYwcHg7CiAgICBoZWlnaHQ6IDYwcHg7CiAgICBtYXgtaGVpZ2h0OiAxMDAlOwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgZmxvYXQ6IGxlZnQKfQoKLmFyZXMgLnRwLXRhYi1jb250ZW50IHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCA4NXB4OwogICAgbGVmdDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBtYXJnaW4tdG9wOiAtMTVweDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBjb2xvcjogIzMzMzsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgcG9zaXRpb246IGFic29sdXRlCn0KCi5hcmVzIC50cC10YWItZGF0ZSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbG9yOiAjYWFhOwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmFyZXMgLnRwLXRhYi10aXRsZSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICBjb2xvcjogIzMzMzsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsKICAgIGxpbmUtaGVpZ2h0OiAxN3B4Cn0KCi5hcmVzIC50cC10YWIuc2VsZWN0ZWQsCi5hcmVzIC50cC10YWI6aG92ZXIgewogICAgYmFja2dyb3VuZDogI2VlZQp9CgouY3VzdG9tLnRwYXJyb3dzIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KTsKICAgIHdpZHRoOiA0MHB4OwogICAgaGVpZ2h0OiA0MHB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB6LWluZGV4OiAxMDAwMAp9CgouY3VzdG9tLnRwYXJyb3dzOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICMwMDAKfQoKLmN1c3RvbS50cGFycm93czpiZWZvcmUgewogICAgZm9udC1mYW1pbHk6IHJldmljb25zOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgY29sb3I6ICNmZmY7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGxpbmUtaGVpZ2h0OiA0MHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyCn0KCi5jdXN0b20udHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MjQiCn0KCi5jdXN0b20udHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewogICAgY29udGVudDogIlxlODI1Igp9CgouY3VzdG9tLnRwLWJ1bGxldHM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIgIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgYmFja2dyb3VuZDogMCAwOwogICAgcGFkZGluZzogMTBweDsKICAgIG1hcmdpbi1sZWZ0OiAtMTBweDsKICAgIG1hcmdpbi10b3A6IC0xMHB4OwogICAgYm94LXNpemluZzogY29udGVudC1ib3gKfQoKLmN1c3RvbSAudHAtYnVsbGV0IHsKICAgIHdpZHRoOiAxMnB4OwogICAgaGVpZ2h0OiAxMnB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYmFja2dyb3VuZDogI2FhYTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgLjUpOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgYm94LXNpemluZzogY29udGVudC1ib3gKfQoKLmN1c3RvbSAudHAtYnVsbGV0LnNlbGVjdGVkLAouY3VzdG9tIC50cC1idWxsZXQ6aG92ZXIgewogICAgYmFja2dyb3VuZDogIzdkN2Q3ZAp9CgouZGlvbmUudHBhcnJvd3MgewogICAgaGVpZ2h0OiAxMDAlOwogICAgd2lkdGg6IDEwMHB4OwogICAgYmFja2dyb3VuZDogMCAwOwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKTsKICAgIGxpbmUtaGVpZ2h0OiAxMDAlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcwp9CgouZGlvbmUudHBhcnJvd3M6aG92ZXIgewogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNDUpCn0KCi5kaW9uZSAudHAtYXJyLWltZ3dyYXBwZXIgewogICAgd2lkdGg6IDEwMHB4OwogICAgbGVmdDogMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGhlaWdodDogMTAwJTsKICAgIHRvcDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW4KfQoKLmRpb25lLnRwLXJpZ2h0YXJyb3cgLnRwLWFyci1pbWd3cmFwcGVyIHsKICAgIGxlZnQ6IGF1dG87CiAgICByaWdodDogMAp9CgouZGlvbmUgLnRwLWFyci1pbWdob2xkZXIgewogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsKICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICB3aWR0aDogMTAwcHg7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB0b3A6IDA7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwcHgpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwcHgpOwogICAgdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIG9wYWNpdHk6IDA7CiAgICBsZWZ0OiAwCn0KCi5kaW9uZS50cGFycm93cy50cC1yaWdodGFycm93IC50cC1hcnItaW1naG9sZGVyIHsKICAgIHJpZ2h0OiAwOwogICAgbGVmdDogYXV0bzsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpCn0KCi5kaW9uZS50cGFycm93czpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICBtYXJnaW4tbGVmdDogLTIycHg7CiAgICB0b3A6IDUwJTsKICAgIGxlZnQ6IDUwJTsKICAgIGZvbnQtc2l6ZTogMzBweDsKICAgIG1hcmdpbi10b3A6IC0xNXB4OwogICAgdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcwp9CgouZGlvbmUudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewogICAgbWFyZ2luLWxlZnQ6IDZweAp9CgouZGlvbmUudHBhcnJvd3M6aG92ZXI6YmVmb3JlIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7CiAgICBvcGFjaXR5OiAwCn0KCi5kaW9uZS50cGFycm93cy50cC1yaWdodGFycm93OmhvdmVyOmJlZm9yZSB7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KQp9CgouZGlvbmUudHBhcnJvd3M6aG92ZXIgLnRwLWFyci1pbWdob2xkZXIgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICBvcGFjaXR5OiAxOwogICAgdmlzaWJpbGl0eTogdmlzaWJsZQp9CgouZGlvbmUgLnRwLWJ1bGxldCB7CiAgICBvcGFjaXR5OiAxOwogICAgd2lkdGg6IDUwcHg7CiAgICBoZWlnaHQ6IDUwcHg7CiAgICBwYWRkaW5nOiAzcHg7CiAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMjUpOwogICAgbWFyZ2luOiAwOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MKfQoKLmRpb25lIC50cC1idWxsZXQtaW1hZ2UgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIC4yNSk7CiAgICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgLjI1KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgLjI1KTsKICAgIHdpZHRoOiA0NHB4OwogICAgaGVpZ2h0OiA0NHB4OwogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXIKfQoKLmRpb25lIC50cC1idWxsZXQtdGl0bGUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYm90dG9tOiA2NXB4OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgbGVmdDogNTAlOwogICAgYmFja2dyb3VuZDogIzAwMDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjc1KTsKICAgIGNvbG9yOiAjZmZmOwogICAgcGFkZGluZzogMTBweCAzMHB4OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWiguMDAxcHgpIHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxNHB4KTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooLjAwMXB4KSB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMTRweCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlOwogICAgb3BhY2l0eTogMDsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXAKfQoKLmRpb25lIC50cC1idWxsZXQ6aG92ZXIgLnRwLWJ1bGxldC10aXRsZSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMCkgdHJhbnNsYXRlWCgtNTAlKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDApIHRyYW5zbGF0ZVgoLTUwJSk7CiAgICBvcGFjaXR5OiAxCn0KCi5kaW9uZSAudHAtYnVsbGV0LnNlbGVjdGVkLAouZGlvbmUgLnRwLWJ1bGxldDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpOwogICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAsIHJnYmEoMTE5LCAxMTksIDExOSwgMSkgMTAwJSk7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDExOSwgMTE5LCAxMTksIDEpKSk7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMCwgcmdiYSgxMTksIDExOSwgMTE5LCAxKSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMCwgcmdiYSgxMTksIDExOSwgMTE5LCAxKSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAsIHJnYmEoMTE5LCAxMTksIDExOSwgMSkgMTAwJSk7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAsIHJnYmEoMTE5LCAxMTksIDExOSwgMSkgMTAwJSk7CiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0iI2ZmZmZmZiIsIGVuZENvbG9yc3RyPSIjNzc3Nzc3IiwgR3JhZGllbnRUeXBlPTApCn0KCi5kaW9uZSAudHAtYnVsbGV0LXRpdGxlOmFmdGVyIHsKICAgIGNvbnRlbnQ6ICIgIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDUwJTsKICAgIG1hcmdpbi1sZWZ0OiAtOHB4OwogICAgd2lkdGg6IDA7CiAgICBoZWlnaHQ6IDA7CiAgICBib3JkZXItc3R5bGU6IHNvbGlkOwogICAgYm9yZGVyLXdpZHRoOiA4cHggOHB4IDAgOHB4OwogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC43NSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgICBib3R0b206IC04cHgKfQoKLmVyaW55ZW4udHBhcnJvd3MgewogICAgY3Vyc29yOiBwb2ludGVyOwogICAgYmFja2dyb3VuZDogIzAwMDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjUpOwogICAgbWluLXdpZHRoOiA3MHB4OwogICAgbWluLWhlaWdodDogNzBweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgei1pbmRleDogMTAwMDsKICAgIGJvcmRlci1yYWRpdXM6IDM1cHgKfQoKLmVyaW55ZW4udHBhcnJvd3M6YmVmb3JlIHsKICAgIGZvbnQtZmFtaWx5OiByZXZpY29uczsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGNvbG9yOiAjZmZmOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBsaW5lLWhlaWdodDogNzBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHotaW5kZXg6IDI7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLmVyaW55ZW4udHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MjQiCn0KCi5lcmlueWVuLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgyNSIKfQoKLmVyaW55ZW4gLnRwLXRpdGxlLXdyYXAgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgei1pbmRleDogMTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KTsKICAgIG1pbi1oZWlnaHQ6IDcwcHg7CiAgICBsaW5lLWhlaWdodDogNzBweDsKICAgIHRvcDogMDsKICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgYm9yZGVyLXJhZGl1czogMzVweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7CiAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjNzOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOwogICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApOwogICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIG9wYWNpdHk6IDAKfQoKLmVyaW55ZW4udHBhcnJvd3M6aG92ZXIgLnRwLXRpdGxlLXdyYXAgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIG9wYWNpdHk6IDE7CiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlCn0KCi5lcmlueWVuLnRwLXJpZ2h0YXJyb3cgLnRwLXRpdGxlLXdyYXAgewogICAgcmlnaHQ6IDA7CiAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICBtYXJnaW4tbGVmdDogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7CiAgICBib3JkZXItcmFkaXVzOiAzNXB4OwogICAgcGFkZGluZy1yaWdodDogMjBweDsKICAgIHBhZGRpbmctbGVmdDogMTBweAp9CgouZXJpbnllbi50cC1sZWZ0YXJyb3cgLnRwLXRpdGxlLXdyYXAgewogICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgcGFkZGluZy1yaWdodDogMTBweAp9CgouZXJpbnllbiAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICAgIGxldHRlci1zcGFjaW5nOiAzcHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC4zczsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwcHgpOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGxpbmUtaGVpZ2h0OiA3MHB4OwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIHBhZGRpbmc6IDAgMjBweDsKICAgIG1hcmdpbi1sZWZ0OiAxMXB4OwogICAgb3BhY2l0eTogMAp9CgouZXJpbnllbiAudHAtYXJyLWltZ2hvbGRlciB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOwogICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcgp9CgouZXJpbnllbiAudHAtYXJyLWltZy1vdmVyIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KQp9CgouZXJpbnllbi50cC1yaWdodGFycm93IC50cC1hcnItdGl0bGVob2xkZXIgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDBweCk7CiAgICBtYXJnaW4tbGVmdDogMDsKICAgIG1hcmdpbi1yaWdodDogMTFweAp9CgouZXJpbnllbi50cGFycm93czpob3ZlciAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNpdGlvbi1kZWxheTogLjFzOwogICAgb3BhY2l0eTogMQp9CgouZXJpbnllbi50cC1idWxsZXRzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiICI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJhY2tncm91bmQ6ICM1NTU7CiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICM1NTUgMCwgIzIyMiAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICM1NTUgMCwgIzIyMiAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjNTU1IDAsICMyMjIgMTAwJSk7CiAgICBmaWx0ZXI6IHByb2dpZDpkeGltYWdldHJhbnNmb3JtLm1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRjb2xvcnN0cj0iIzU1NTU1NSIsIGVuZGNvbG9yc3RyPSIjMjIyMjIyIiwgZ3JhZGllbnR0eXBlPTApOwogICAgcGFkZGluZzogMTBweCAxNXB4OwogICAgbWFyZ2luLWxlZnQ6IC0xNXB4OwogICAgbWFyZ2luLXRvcDogLTEwcHg7CiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBib3gtc2hhZG93OiAwIDAgMnB4IDFweCByZ2JhKDMzLCAzMywgMzMsIC4zKQp9CgouZXJpbnllbiAudHAtYnVsbGV0IHsKICAgIHdpZHRoOiAxM3B4OwogICAgaGVpZ2h0OiAxM3B4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYmFja2dyb3VuZDogIzExMTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Cn0KCi5lcmlueWVuIC50cC1idWxsZXQuc2VsZWN0ZWQsCi5lcmlueWVuIC50cC1idWxsZXQ6aG92ZXIgewogICAgYmFja2dyb3VuZDogI2U1ZTVlNTsKICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2U1ZTVlNSAwLCAjOTk5IDEwMCUpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwLCAjZTVlNWU1KSwgY29sb3Itc3RvcCgxMDAlLCAjOTk5KSk7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNlNWU1ZTUgMCwgIzk5OSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNlNWU1ZTUgMCwgIzk5OSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjZTVlNWU1IDAsICM5OTkgMTAwJSk7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZTVlNWU1IDAsICM5OTkgMTAwJSk7CiAgICBmaWx0ZXI6IHByb2dpZDpkeGltYWdldHJhbnNmb3JtLm1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRjb2xvcnN0cj0iI2U1ZTVlNSIsIGVuZGNvbG9yc3RyPSIjOTk5OTk5IiwgZ3JhZGllbnR0eXBlPTApOwogICAgYm9yZGVyOiAxcHggc29saWQgIzU1NTsKICAgIHdpZHRoOiAxMnB4OwogICAgaGVpZ2h0OiAxMnB4Cn0KCi5lcmlueWVuIC50cC10aHVtYiB7CiAgICBvcGFjaXR5OiAxCn0KCi5lcmlueWVuIC50cC10aHVtYi1vdmVyIHsKICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4yNSk7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAxOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcwp9CgouZXJpbnllbiAudHAtdGh1bWItbW9yZTpiZWZvcmUgewogICAgZm9udC1mYW1pbHk6IHJldmljb25zOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgY29sb3I6ICNhYWE7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNzUpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBsaW5lLWhlaWdodDogMTJweDsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICB6LWluZGV4OiAyOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAyMHB4OwogICAgcmlnaHQ6IDIwcHg7CiAgICB6LWluZGV4OiAyCn0KCi5lcmlueWVuIC50cC10aHVtYi1tb3JlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MjUiCn0KCi5lcmlueWVuIC50cC10aHVtYi10aXRsZSB7CiAgICBmb250LWZhbWlseTogUmFsZXdheTsKICAgIGxldHRlci1zcGFjaW5nOiAxcHg7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBjb2xvcjogI2ZmZjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbGluZS1oZWlnaHQ6IDE1cHg7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgei1pbmRleDogMjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAyOwogICAgcGFkZGluZzogMjBweCAzNXB4IDIwcHggMjBweDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3M7CiAgICBmb250LXdlaWdodDogNTAwCn0KCi5lcmlueWVuIC50cC10aHVtYi5zZWxlY3RlZCAudHAtdGh1bWItbW9yZTpiZWZvcmUsCi5lcmlueWVuIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItbW9yZTpiZWZvcmUgewogICAgY29sb3I6ICNhYWEKfQoKLmVyaW55ZW4gLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi1vdmVyLAouZXJpbnllbiAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLW92ZXIgewogICAgYmFja2dyb3VuZDogI2ZmZgp9CgouZXJpbnllbiAudHAtdGh1bWIuc2VsZWN0ZWQgLnRwLXRodW1iLXRpdGxlLAouZXJpbnllbiAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLXRpdGxlIHsKICAgIGNvbG9yOiAjMDAwCn0KCi5lcmlueWVuIC50cC10YWItdGl0bGUgewogICAgY29sb3I6ICNhOGQ4ZWU7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGZvbnQtZmFtaWx5OiAiUm9ib3RvIFNsYWIiOwogICAgbWFyZ2luLWJvdHRvbTogNXB4Cn0KCi5lcmlueWVuIC50cC10YWItZGVzYyB7CiAgICBmb250LXNpemU6IDE4cHg7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgY29sb3I6ICNmZmY7CiAgICBsaW5lLWhlaWdodDogMjVweDsKICAgIGZvbnQtZmFtaWx5OiAiUm9ib3RvIFNsYWIiCn0KCi5neWdlcy50cC1idWxsZXRzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiICI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJhY2tncm91bmQ6ICM3Nzc7CiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICM3NzcgMCwgIzY2NiAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCwgIzc3NyksIGNvbG9yLXN0b3AoMTAwJSwgIzY2NikpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjNzc3IDAsICM2NjYgMTAwJSk7CiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjNzc3IDAsICM2NjYgMTAwJSk7CiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgIzc3NyAwLCAjNjY2IDEwMCUpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzc3NyAwLCAjNjY2IDEwMCUpOwogICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9IiM3Nzc3NzciLCBlbmRDb2xvcnN0cj0iIzY2NjY2NiIsIEdyYWRpZW50VHlwZT0wKTsKICAgIHBhZGRpbmc6IDEwcHg7CiAgICBtYXJnaW4tbGVmdDogLTEwcHg7CiAgICBtYXJnaW4tdG9wOiAtMTBweDsKICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OwogICAgYm9yZGVyLXJhZGl1czogMTBweAp9CgouZ3lnZXMgLnRwLWJ1bGxldCB7CiAgICB3aWR0aDogMTJweDsKICAgIGhlaWdodDogMTJweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJhY2tncm91bmQ6ICMzMzM7CiAgICBib3JkZXI6IDNweCBzb2xpZCAjNDQ0OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgYm94LXNpemluZzogY29udGVudC1ib3gKfQoKLmd5Z2VzIC50cC1idWxsZXQuc2VsZWN0ZWQsCi5neWdlcyAudHAtYnVsbGV0OmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgMCwgI2UxZTFlMSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCwgI2ZmZiksIGNvbG9yLXN0b3AoMTAwJSwgI2UxZTFlMSkpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDAsICNlMWUxZTEgMTAwJSk7CiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDAsICNlMWUxZTEgMTAwJSk7CiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiAwLCAjZTFlMWUxIDEwMCUpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiAwLCAjZTFlMWUxIDEwMCUpOwogICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9IiNmZmZmZmYiLCBlbmRDb2xvcnN0cj0iI2UxZTFlMSIsIEdyYWRpZW50VHlwZT0wKQp9CgouZ3lnZXMgLnRwLXRodW1iIHsKICAgIG9wYWNpdHk6IDEKfQoKLmd5Z2VzIC50cC10aHVtYi1pbWctd3JhcCB7CiAgICBwYWRkaW5nOiAzcHg7CiAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMjUpOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtYXJnaW46IDA7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcwp9CgouZ3lnZXMgLnRwLXRodW1iLWltYWdlIHsKICAgIHBhZGRpbmc6IDNweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAuMjUpOwogICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIC4yNSk7CiAgICBib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIC4yNSkKfQoKLmd5Z2VzIC50cC10aHVtYi10aXRsZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDEwMCU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBsZWZ0OiA1MCU7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC44KTsKICAgIHBhZGRpbmc6IDEwcHggMzBweDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4OwogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC4wMDFweCkgdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDE0cHgpOwogICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWiguMDAxcHgpIHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxNHB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwCn0KCi5neWdlcyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLXRpdGxlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlWCgwKSB0cmFuc2xhdGVYKC01MCUpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMCkgdHJhbnNsYXRlWCgtNTAlKTsKICAgIG9wYWNpdHk6IDEKfQoKLmd5Z2VzIC50cC10aHVtYi5zZWxlY3RlZCAudHAtdGh1bWItaW1nLXdyYXAsCi5neWdlcyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLWltZy13cmFwIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7CiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMCwgcmdiYSgxMTksIDExOSwgMTE5LCAxKSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMTE5LCAxMTksIDExOSwgMSkpKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwLCByZ2JhKDExOSwgMTE5LCAxMTksIDEpIDEwMCUpOwogICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwLCByZ2JhKDExOSwgMTE5LCAxMTksIDEpIDEwMCUpOwogICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMCwgcmdiYSgxMTksIDExOSwgMTE5LCAxKSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMCwgcmdiYSgxMTksIDExOSwgMTE5LCAxKSAxMDAlKTsKICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPSIjZmZmZmZmIiwgZW5kQ29sb3JzdHI9IiM3Nzc3NzciLCBHcmFkaWVudFR5cGU9MCkKfQoKLmd5Z2VzIC50cC10aHVtYi10aXRsZTphZnRlciB7CiAgICBjb250ZW50OiAiICI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiA1MCU7CiAgICBtYXJnaW4tbGVmdDogLThweDsKICAgIHdpZHRoOiAwOwogICAgaGVpZ2h0OiAwOwogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKICAgIGJvcmRlci13aWR0aDogOHB4IDhweCAwIDhweDsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgICBib3R0b206IC04cHgKfQoKLmd5Z2VzIC50cC10YWIgewogICAgb3BhY2l0eTogMTsKICAgIHBhZGRpbmc6IDEwcHg7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkKfQoKLmd5Z2VzIC50cC10YWItaW1hZ2UgewogICAgd2lkdGg6IDYwcHg7CiAgICBoZWlnaHQ6IDYwcHg7CiAgICBtYXgtaGVpZ2h0OiAxMDAlOwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgZmxvYXQ6IGxlZnQKfQoKLmd5Z2VzIC50cC10YWItY29udGVudCB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgcGFkZGluZzogMTVweCAxNXB4IDE1cHggODVweDsKICAgIGxlZnQ6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLXRvcDogLTE1cHg7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgY29sb3I6ICMzMzM7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZQp9CgouZ3lnZXMgLnRwLXRhYi1kYXRlIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjI1KTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5neWdlcyAudHAtdGFiLXRpdGxlIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgbGluZS1oZWlnaHQ6IDE3cHgKfQoKLmd5Z2VzIC50cC10YWIuc2VsZWN0ZWQsCi5neWdlcyAudHAtdGFiOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjUpCn0KCi5oYWRlcy50cGFycm93cyB7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMTUpOwogICAgd2lkdGg6IDEwMHB4OwogICAgaGVpZ2h0OiAxMDBweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgei1pbmRleDogMTAwMAp9CgouaGFkZXMudHBhcnJvd3M6YmVmb3JlIHsKICAgIGZvbnQtZmFtaWx5OiByZXZpY29uczsKICAgIGZvbnQtc2l6ZTogMzBweDsKICAgIGNvbG9yOiAjZmZmOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBsaW5lLWhlaWdodDogMTAwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcywgY29sb3IgLjNzCn0KCi5oYWRlcy50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgyNCIKfQoKLmhhZGVzLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgyNSIKfQoKLmhhZGVzLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiAgICBjb2xvcjogI2FhYTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpCn0KCi5oYWRlcyAudHAtYXJyLWFsbHdyYXBwZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMTAwJTsKICAgIHRvcDogMDsKICAgIGJhY2tncm91bmQ6ICM4ODg7CiAgICB3aWR0aDogMTAwcHg7CiAgICBoZWlnaHQ6IDEwMHB4OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzOwogICAgdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIC1tcy1maWx0ZXI6ICJwcm9naWQ6ZHhpbWFnZXRyYW5zZm9ybS5taWNyb3NvZnQuYWxwaGEob3BhY2l0eT0wKSI7CiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7CiAgICAtbW96LW9wYWNpdHk6IDA7CiAgICAta2h0bWwtb3BhY2l0eTogMDsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRleSgtOTBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGV5KC05MGRlZyk7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgNTAlOwogICAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCUKfQoKLmhhZGVzLnRwLXJpZ2h0YXJyb3cgLnRwLWFyci1hbGx3cmFwcGVyIHsKICAgIGxlZnQ6IGF1dG87CiAgICByaWdodDogMTAwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV5KDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRleSg5MGRlZykKfQoKLmhhZGVzOmhvdmVyIC50cC1hcnItYWxsd3JhcHBlciB7CiAgICAtbXMtZmlsdGVyOiAicHJvZ2lkOmR4aW1hZ2V0cmFuc2Zvcm0ubWljcm9zb2Z0LmFscGhhKG9wYWNpdHk9MTAwKSI7CiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsKICAgIC1tb3otb3BhY2l0eTogMTsKICAgIC1raHRtbC1vcGFjaXR5OiAxOwogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV5KDApOwogICAgdHJhbnNmb3JtOiByb3RhdGV5KDApCn0KCi5oYWRlcyAudHAtYXJyLWltZ2hvbGRlciB7CiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlCn0KCi5oYWRlcy50cC1idWxsZXRzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiICI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIHBhZGRpbmc6IDEwcHg7CiAgICBtYXJnaW4tbGVmdDogLTEwcHg7CiAgICBtYXJnaW4tdG9wOiAtMTBweDsKICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Cn0KCi5oYWRlcyAudHAtYnVsbGV0IHsKICAgIHdpZHRoOiAzcHg7CiAgICBoZWlnaHQ6IDNweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJhY2tncm91bmQ6ICM4ODg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBib3JkZXI6IDVweCBzb2xpZCAjZmZmOwogICAgYm94LXNpemluZzogY29udGVudC1ib3g7CiAgICBib3gtc2hhZG93OiAwIDAgM3B4IDFweCByZ2JhKDAsIDAsIDAsIC4yKTsKICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDQwMDsKICAgIHBlcnNwZWN0aXZlOiA0MDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRleiguMDFweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXooLjAxcHgpCn0KCi5oYWRlcyAudHAtYnVsbGV0LnNlbGVjdGVkLAouaGFkZXMgLnRwLWJ1bGxldDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjNTU1Cn0KCi5oYWRlcyAudHAtYnVsbGV0LWltYWdlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogLTgwcHg7CiAgICBsZWZ0OiAtNjBweDsKICAgIHdpZHRoOiAxMjBweDsKICAgIGhlaWdodDogNjBweDsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7CiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgb3BhY2l0eTogMDsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogZmxhdDsKICAgIHRyYW5zZm9ybS1zdHlsZTogZmxhdDsKICAgIHBlcnNwZWN0aXZlOiA2MDA7CiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiA2MDA7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZXgoLTkwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV4KC05MGRlZyk7CiAgICBib3gtc2hhZG93OiAwIDAgM3B4IDFweCByZ2JhKDAsIDAsIDAsIC4yKTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJQp9CgouaGFkZXMgLnRwLWJ1bGxldDpob3ZlciAudHAtYnVsbGV0LWltYWdlIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zZm9ybTogcm90YXRleCgwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV4KDApOwogICAgdmlzaWJpbGl0eTogdmlzaWJsZQp9CgouaGFkZXMgLnRwLXRodW1iIHsKICAgIG9wYWNpdHk6IDEKfQoKLmhhZGVzIC50cC10aHVtYi1pbWctd3JhcCB7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBwYWRkaW5nOiAzcHg7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMjUpOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtYXJnaW46IDA7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcwp9CgouaGFkZXMgLnRwLXRodW1iLWltYWdlIHsKICAgIHBhZGRpbmc6IDNweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAuMjUpOwogICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIC4yNSk7CiAgICBib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIC4yNSkKfQoKLmhhZGVzIC50cC10aHVtYi5zZWxlY3RlZCAudHAtdGh1bWItaW1nLXdyYXAsCi5oYWRlcyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLWltZy13cmFwIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7CiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMCwgcmdiYSgxMTksIDExOSwgMTE5LCAxKSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMTE5LCAxMTksIDExOSwgMSkpKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwLCByZ2JhKDExOSwgMTE5LCAxMTksIDEpIDEwMCUpOwogICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwLCByZ2JhKDExOSwgMTE5LCAxMTksIDEpIDEwMCUpOwogICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMCwgcmdiYSgxMTksIDExOSwgMTE5LCAxKSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMCwgcmdiYSgxMTksIDExOSwgMTE5LCAxKSAxMDAlKTsKICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPSIjZmZmZmZmIiwgZW5kQ29sb3JzdHI9IiM3Nzc3NzciLCBHcmFkaWVudFR5cGU9MCkKfQoKLmhhZGVzIC50cC10aHVtYi10aXRsZTphZnRlciB7CiAgICBjb250ZW50OiAiICI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiA1MCU7CiAgICBtYXJnaW4tbGVmdDogLThweDsKICAgIHdpZHRoOiAwOwogICAgaGVpZ2h0OiAwOwogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKICAgIGJvcmRlci13aWR0aDogOHB4IDhweCAwIDhweDsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNzUpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OwogICAgYm90dG9tOiAtOHB4Cn0KCi5oYWRlcyAudHAtdGFiIHsKICAgIG9wYWNpdHk6IDEKfQoKLmhhZGVzIC50cC10YWItdGl0bGUgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBjb2xvcjogIzMzMzsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBmb250LXNpemU6IDE4cHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBsaW5lLWhlaWdodDogMjVweAp9CgouaGFkZXMgLnRwLXRhYi1wcmljZSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGNvbG9yOiAjOTk5OwogICAgZm9udC1zaXplOiAxNnB4OwogICAgbWFyZ2luLXRvcDogMTBweDsKICAgIGxpbmUtaGVpZ2h0OiAyMHB4Cn0KCi5oYWRlcyAudHAtdGFiLWJ1dHRvbiB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBtYXJnaW4tdG9wOiAxNXB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogNXB4IDE1cHg7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGJhY2tncm91bmQ6ICMyMTliZDc7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBmb250LXdlaWdodDogNDAwCn0KCi5oYWRlcyAudHAtdGFiLWlubmVyIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcgp9CgouaGViZS50cGFycm93cyB7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgbWluLXdpZHRoOiA3MHB4OwogICAgbWluLWhlaWdodDogNzBweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgei1pbmRleDogMTAwMAp9CgouaGViZS50cGFycm93czpiZWZvcmUgewogICAgZm9udC1mYW1pbHk6IHJldmljb25zOwogICAgZm9udC1zaXplOiAzMHB4OwogICAgY29sb3I6ICNhYWE7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGxpbmUtaGVpZ2h0OiA3MHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAuM3M7CiAgICAtbW96LXRyYW5zaXRpb246IGNvbG9yIC4zczsKICAgIHRyYW5zaXRpb246IGNvbG9yIC4zczsKICAgIHotaW5kZXg6IDI7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgbWluLXdpZHRoOiA3MHB4OwogICAgbWluLWhlaWdodDogNzBweAp9CgouaGViZS50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgyNCIKfQoKLmhlYmUudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewogICAgY29udGVudDogIlxlODI1Igp9CgouaGViZS50cGFycm93czpob3ZlcjpiZWZvcmUgewogICAgY29sb3I6ICMwMDAKfQoKLmhlYmUgLnRwLXRpdGxlLXdyYXAgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgei1pbmRleDogMDsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC43NSk7CiAgICBtaW4taGVpZ2h0OiA2MHB4OwogICAgbGluZS1oZWlnaHQ6IDYwcHg7CiAgICB0b3A6IC0xMHB4OwogICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC4zczsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7CiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCA1MCUKfQoKLmhlYmUudHAtcmlnaHRhcnJvdyAudHAtdGl0bGUtd3JhcCB7CiAgICByaWdodDogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCUKfQoKLmhlYmUudHBhcnJvd3M6aG92ZXIgLnRwLXRpdGxlLXdyYXAgewogICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpCn0KCi5oZWJlIC50cC1hcnItdGl0bGVob2xkZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGxpbmUtaGVpZ2h0OiA5MHB4OwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIHBhZGRpbmc6IDAgMjBweCAwIDkwcHgKfQoKLmhlYmUudHAtcmlnaHRhcnJvdyAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgcGFkZGluZzogMCA5MHB4IDAgMjBweAp9CgouaGViZS50cGFycm93czpob3ZlciAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgdHJhbnNpdGlvbi1kZWxheTogLjFzOwogICAgb3BhY2l0eTogMQp9CgouaGViZSAudHAtYXJyLWltZ2hvbGRlciB7CiAgICB3aWR0aDogOTBweDsKICAgIGhlaWdodDogOTBweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDEwMCU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOwogICAgdG9wOiAwOwogICAgcmlnaHQ6IC05MHB4Cn0KCi5oZWJlLnRwLXJpZ2h0YXJyb3cgLnRwLWFyci1pbWdob2xkZXIgewogICAgcmlnaHQ6IGF1dG87CiAgICBsZWZ0OiAtOTBweAp9CgouaGViZS50cC1idWxsZXRzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiICI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIHBhZGRpbmc6IDEwcHg7CiAgICBtYXJnaW4tbGVmdDogLTEwcHg7CiAgICBtYXJnaW4tdG9wOiAtMTBweDsKICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Cn0KCi5oZWJlIC50cC1idWxsZXQgewogICAgd2lkdGg6IDNweDsKICAgIGhlaWdodDogM3B4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJvcmRlcjogNXB4IHNvbGlkICMyMjI7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsKICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDQwMDsKICAgIHBlcnNwZWN0aXZlOiA0MDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWiguMDFweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooLjAxcHgpOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcwp9CgouaGViZSAudHAtYnVsbGV0LnNlbGVjdGVkLAouaGViZSAudHAtYnVsbGV0OmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICMyMjI7CiAgICBib3JkZXItY29sb3I6ICNmZmYKfQoKLmhlYmUgLnRwLWJ1bGxldC1pbWFnZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IC05MHB4OwogICAgbGVmdDogLTQwcHg7CiAgICB3aWR0aDogNzBweDsKICAgIGhlaWdodDogNzBweDsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7CiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgb3BhY2l0eTogMDsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogZmxhdDsKICAgIHRyYW5zZm9ybS1zdHlsZTogZmxhdDsKICAgIHBlcnNwZWN0aXZlOiA2MDA7CiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiA2MDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOwogICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlOwogICAgYm9yZGVyLXJhZGl1czogNnB4Cn0KCi5oZWJlIC50cC1idWxsZXQ6aG92ZXIgLnRwLWJ1bGxldC1pbWFnZSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgdmlzaWJpbGl0eTogdmlzaWJsZQp9CgouaGViZSAudHAtdGFiLXRpdGxlIHsKICAgIGNvbG9yOiAjYThkOGVlOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBmb250LWZhbWlseTogIlJvYm90byBTbGFiIjsKICAgIG1hcmdpbi1ib3R0b206IDVweAp9CgouaGViZSAudHAtdGFiLWRlc2MgewogICAgZm9udC1zaXplOiAxOHB4OwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGNvbG9yOiAjZmZmOwogICAgbGluZS1oZWlnaHQ6IDI1cHg7CiAgICBmb250LWZhbWlseTogIlJvYm90byBTbGFiIgp9CgouaGVwaGFpc3Rvcy50cGFycm93cyB7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNSk7CiAgICB3aWR0aDogNDBweDsKICAgIGhlaWdodDogNDBweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgei1pbmRleDogMTAwMDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJQp9CgouaGVwaGFpc3Rvcy50cGFycm93czpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjMDAwCn0KCi5oZXBoYWlzdG9zLnRwYXJyb3dzOmJlZm9yZSB7CiAgICBmb250LWZhbWlseTogcmV2aWNvbnM7CiAgICBmb250LXNpemU6IDE4cHg7CiAgICBjb2xvcjogI2ZmZjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIKfQoKLmhlcGhhaXN0b3MudHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MmMiOwogICAgbWFyZ2luLWxlZnQ6IC0ycHgKfQoKLmhlcGhhaXN0b3MudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewogICAgY29udGVudDogIlxlODJkIjsKICAgIG1hcmdpbi1yaWdodDogLTJweAp9CgouaGVwaGFpc3Rvcy50cC1idWxsZXRzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiICI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIHBhZGRpbmc6IDEwcHg7CiAgICBtYXJnaW4tbGVmdDogLTEwcHg7CiAgICBtYXJnaW4tdG9wOiAtMTBweDsKICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Cn0KCi5oZXBoYWlzdG9zIC50cC1idWxsZXQgewogICAgd2lkdGg6IDEycHg7CiAgICBoZWlnaHQ6IDEycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBiYWNrZ3JvdW5kOiAjOTk5OwogICAgYm9yZGVyOiAzcHggc29saWQgI2Y1ZjVmNTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OwogICAgYm94LXNoYWRvdzogMCAwIDJweCAxcHggcmdiYSgxMzAsIDEzMCwgMTMwLCAuMykKfQoKLmhlcGhhaXN0b3MgLnRwLWJ1bGxldC5zZWxlY3RlZCwKLmhlcGhhaXN0b3MgLnRwLWJ1bGxldDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgYm9yZGVyLWNvbG9yOiAjMDAwCn0KCi5oZXJtZXMudHBhcnJvd3MgewogICAgY3Vyc29yOiBwb2ludGVyOwogICAgYmFja2dyb3VuZDogIzAwMDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjUpOwogICAgd2lkdGg6IDMwcHg7CiAgICBoZWlnaHQ6IDExMHB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB6LWluZGV4OiAxMDAwCn0KCi5oZXJtZXMudHBhcnJvd3M6YmVmb3JlIHsKICAgIGZvbnQtZmFtaWx5OiByZXZpY29uczsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGNvbG9yOiAjZmZmOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBsaW5lLWhlaWdodDogMTEwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MKfQoKLmhlcm1lcy50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgyNCIKfQoKLmhlcm1lcy50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MjUiCn0KCi5oZXJtZXMudHBhcnJvd3MudHAtbGVmdGFycm93OmhvdmVyOmJlZm9yZSB7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOwogICAgb3BhY2l0eTogMAp9CgouaGVybWVzLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6aG92ZXI6YmVmb3JlIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOwogICAgb3BhY2l0eTogMAp9CgouaGVybWVzIC50cC1hcnItYWxsd3JhcHBlciB7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDE4MHB4OwogICAgaGVpZ2h0OiAxNDBweDsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC4zcyAuM3M7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIC4zczsKICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDBweDsKICAgIHBlcnNwZWN0aXZlOiAxMDAwcHgKfQoKLmhlcm1lcy50cC1yaWdodGFycm93IC50cC1hcnItYWxsd3JhcHBlciB7CiAgICByaWdodDogMDsKICAgIGxlZnQ6IGF1dG8KfQoKLmhlcm1lcy50cGFycm93czpob3ZlciAudHAtYXJyLWFsbHdyYXBwZXIgewogICAgdmlzaWJpbGl0eTogdmlzaWJsZQp9CgouaGVybWVzIC50cC1hcnItaW1naG9sZGVyIHsKICAgIHdpZHRoOiAxODBweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDA7CiAgICBoZWlnaHQ6IDExMHB4OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xODBweCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTgwcHgpOwogICAgdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIHRyYW5zaXRpb24tZGVsYXk6IC4zcwp9CgouaGVybWVzLnRwLXJpZ2h0YXJyb3cgLnRwLWFyci1pbWdob2xkZXIgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE4MHB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE4MHB4KQp9CgouaGVybWVzLnRwYXJyb3dzOmhvdmVyIC50cC1hcnItaW1naG9sZGVyIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApCn0KCi5oZXJtZXMgLnRwLWFyci10aXRsZWhvbGRlciB7CiAgICB0b3A6IDExMHB4OwogICAgd2lkdGg6IDE4MHB4OwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcGFkZGluZzogMCAxMHB4OwogICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNzUpOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGxldHRlci1zcGFjaW5nOiAxcHg7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3M7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoLTkwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlWCgtOTBkZWcpOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsKICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveAp9CgouaGVybWVzLnRwYXJyb3dzOmhvdmVyIC50cC1hcnItdGl0bGVob2xkZXIgewogICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAuNnM7CiAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNnM7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgwKTsKICAgIHRyYW5zZm9ybTogcm90YXRlWCgwKQp9CgouaGVybWVzIC50cC1idWxsZXQgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJvcmRlci1yYWRpdXM6IDMwMHB4OwogICAgd2lkdGg6IDE0cHg7CiAgICBoZWlnaHQ6IDE0cHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICNmZmY7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcyBlYXNlOwogICAgcG9zaXRpb246IGFic29sdXRlCn0KCi5oZXJtZXMgLnRwLWJ1bGxldDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yKQp9CgouaGVybWVzIC50cC1idWxsZXQ6YWZ0ZXIgewogICAgY29udGVudDogJyAnOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYm90dG9tOiAwOwogICAgaGVpZ2h0OiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJveC1zaGFkb3c6IDAgMCAxcHggI2ZmZjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4zcyBlYXNlCn0KCi5oZXJtZXMgLnRwLWJ1bGxldC5zZWxlY3RlZDphZnRlciB7CiAgICBoZWlnaHQ6IDEwMCUKfQoKLmhlcm1lcyAudHAtdGFiIHsKICAgIG9wYWNpdHk6IDE7CiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveAp9CgouaGVybWVzIC50cC10YWItaW1hZ2UgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDYwJTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgouaGVybWVzIC50cC10YWItY29udGVudCB7CiAgICBiYWNrZ3JvdW5kOiAjMzYzNjM2OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggMzBweDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBjb2xvcjogI2ZmZjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBtaW4taGVpZ2h0OiA0MCU7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAtMTBweAp9CgouaGVybWVzIC50cC10YWItZGF0ZSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbG9yOiAjODg4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIG1hcmdpbi1ib3R0b206IDEwcHgKfQoKLmhlcm1lcyAudHAtdGFiLXRpdGxlIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBmb250LXdlaWdodDogODAwOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGxpbmUtaGVpZ2h0OiAxOXB4Cn0KCi5oZXJtZXMgLnRwLXRhYi5zZWxlY3RlZCAudHAtdGFiLXRpdGxlOmFmdGVyIHsKICAgIHdpZHRoOiAwOwogICAgaGVpZ2h0OiAwOwogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKICAgIGJvcmRlci13aWR0aDogMzBweCAwIDMwcHggMTBweDsKICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzM2MzYzNjsKICAgIGNvbnRlbnQ6ICIgIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAtOXB4OwogICAgYm90dG9tOiA1MCU7CiAgICBtYXJnaW4tYm90dG9tOiAtMzBweAp9CgouaGVybWVzIC50cC10YWItbWFzayB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQKfQoKQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk2MHB4KSB7CiAgICAuaGVybWVzIC50cC10YWIgLnRwLXRhYi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4CiAgICB9CiAgICAuaGVybWVzIC50cC10YWItZGF0ZSB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxM3B4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHgKICAgIH0KICAgIC5oZXJtZXMgLnRwLXRhYi1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCAyNXB4CiAgICB9Cn0KCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkgewogICAgLmhlcm1lcyAudHAtdGFiIC50cC10YWItdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBsaW5lLWhlaWdodDogMTRweAogICAgfQogICAgLmhlcm1lcyAudHAtdGFiLWRhdGUgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBsaW5lLWhlaWdodDogMTJweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHgKICAgIH0KICAgIC5oZXJtZXMgLnRwLXRhYi1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAyMHB4CiAgICB9Cn0KCi5oZXNwZXJpZGVuLnRwYXJyb3dzIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KTsKICAgIHdpZHRoOiA0MHB4OwogICAgaGVpZ2h0OiA0MHB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB6LWluZGV4OiAxMDAwOwogICAgYm9yZGVyLXJhZGl1czogNTAlCn0KCi5oZXNwZXJpZGVuLnRwYXJyb3dzOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICMwMDAKfQoKLmhlc3BlcmlkZW4udHBhcnJvd3M6YmVmb3JlIHsKICAgIGZvbnQtZmFtaWx5OiByZXZpY29uczsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGNvbG9yOiAjZmZmOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBsaW5lLWhlaWdodDogNDBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcgp9CgouaGVzcGVyaWRlbi50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgyYyI7CiAgICBtYXJnaW4tbGVmdDogLTNweAp9CgouaGVzcGVyaWRlbi50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MmQiOwogICAgbWFyZ2luLXJpZ2h0OiAtM3B4Cn0KCi5oZXNwZXJpZGVuLnRwLWJ1bGxldHM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIgIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgYmFja2dyb3VuZDogMCAwOwogICAgcGFkZGluZzogMTBweDsKICAgIG1hcmdpbi1sZWZ0OiAtMTBweDsKICAgIG1hcmdpbi10b3A6IC0xMHB4OwogICAgYm94LXNpemluZzogY29udGVudC1ib3g7CiAgICBib3JkZXItcmFkaXVzOiA4cHgKfQoKLmhlc3BlcmlkZW4gLnRwLWJ1bGxldCB7CiAgICB3aWR0aDogMTJweDsKICAgIGhlaWdodDogMTJweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJhY2tncm91bmQ6ICM5OTk7CiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICM5OTkgMCwgI2UxZTFlMSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCwgIzk5OSksIGNvbG9yLXN0b3AoMTAwJSwgI2UxZTFlMSkpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjOTk5IDAsICNlMWUxZTEgMTAwJSk7CiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjOTk5IDAsICNlMWUxZTEgMTAwJSk7CiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgIzk5OSAwLCAjZTFlMWUxIDEwMCUpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzk5OSAwLCAjZTFlMWUxIDEwMCUpOwogICAgZmlsdGVyOiBwcm9naWQ6ZHhpbWFnZXRyYW5zZm9ybS5taWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Y29sb3JzdHI9IiM5OTk5OTkiLCBlbmRjb2xvcnN0cj0iI2UxZTFlMSIsIGdyYWRpZW50dHlwZT0wKTsKICAgIGJvcmRlcjogM3B4IHNvbGlkICNlNWU1ZTU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveAp9CgouaGVzcGVyaWRlbiAudHAtYnVsbGV0LnNlbGVjdGVkLAouaGVzcGVyaWRlbiAudHAtYnVsbGV0OmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICM2NjYKfQoKLmhlc3BlcmlkZW4gLnRwLXRodW1iIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiA2MDBweDsKICAgIHBlcnNwZWN0aXZlOiA2MDBweAp9CgouaGVzcGVyaWRlbiAudHAtdGh1bWIgLnRwLXRodW1iLXRpdGxlIHsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIG1hcmdpbi10b3A6IC0xMHB4OwogICAgY29sb3I6ICNmZmY7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHotaW5kZXg6IDEwMDAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsKICAgIHBhZGRpbmc6IDVweCAxMHB4OwogICAgYm90dG9tOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIHRyYW5zZm9ybTogcm90YXRleCg5MGRlZykgdHJhbnNsYXRleiguMDAxcHgpOwogICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRleCg5MGRlZykgdHJhbnNsYXRleiguMDAxcHgpOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTsKICAgIG9wYWNpdHk6IDAKfQoKLmhlc3BlcmlkZW4gLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi10aXRsZSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZXgoMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRleCgwKTsKICAgIG9wYWNpdHk6IDEKfQoKLmhlc3BlcmlkZW4gLnRwLXRhYiB7CiAgICBvcGFjaXR5OiAxOwogICAgcGFkZGluZzogMTBweDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTUKfQoKLmhlc3BlcmlkZW4gLnRwLXRhYi1pbWFnZSB7CiAgICB3aWR0aDogNjBweDsKICAgIGhlaWdodDogNjBweDsKICAgIG1heC1oZWlnaHQ6IDEwMCU7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBmbG9hdDogbGVmdAp9CgouaGVzcGVyaWRlbiAudHAtdGFiLWNvbnRlbnQgewogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHBhZGRpbmc6IDE1cHggMTVweCAxNXB4IDg1cHg7CiAgICBsZWZ0OiAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIG1hcmdpbi10b3A6IC0xNXB4OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGNvbG9yOiAjMzMzOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBwb3NpdGlvbjogYWJzb2x1dGUKfQoKLmhlc3BlcmlkZW4gLnRwLXRhYi1kYXRlIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgY29sb3I6ICNhYWE7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouaGVzcGVyaWRlbiAudHAtdGFiLXRpdGxlIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIGNvbG9yOiAjMzMzOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgbGluZS1oZWlnaHQ6IDE3cHgKfQoKLmhlc3BlcmlkZW4gLnRwLXRhYi5zZWxlY3RlZCwKLmhlc3BlcmlkZW4gLnRwLXRhYjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjZWVlCn0KCi5tZXRpcy50cGFycm93cyB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgcGFkZGluZzogMTBweDsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3M7CiAgICB3aWR0aDogNjBweDsKICAgIGhlaWdodDogNjBweDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3gKfQoKLm1ldGlzLnRwYXJyb3dzOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43NSkKfQoKLm1ldGlzLnRwYXJyb3dzOmJlZm9yZSB7CiAgICBjb2xvcjogIzAwMDsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MKfQoKLm1ldGlzLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSkKfQoKLm1ldGlzIC50cC1idWxsZXQgewogICAgb3BhY2l0eTogMTsKICAgIHdpZHRoOiA1MHB4OwogICAgaGVpZ2h0OiA1MHB4OwogICAgcGFkZGluZzogM3B4OwogICAgYmFja2dyb3VuZDogIzAwMDsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KTsKICAgIG1hcmdpbjogMDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzOwogICAgYm9yZGVyLXJhZGl1czogNTAlCn0KCi5tZXRpcyAudHAtYnVsbGV0LWltYWdlIHsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAuMjUpOwogICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIC4yNSk7CiAgICBib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIC4yNSk7CiAgICB3aWR0aDogNDRweDsKICAgIGhlaWdodDogNDRweDsKICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyCn0KCi5tZXRpcyAudHAtYnVsbGV0LXRpdGxlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvdHRvbTogNjVweDsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGxlZnQ6IDUwJTsKICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC43NSk7CiAgICBjb2xvcjogI2ZmZjsKICAgIHBhZGRpbmc6IDEwcHggMzBweDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4OwogICAgb3BhY2l0eTogMDsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3M7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooLjAwMXB4KSB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMTRweCk7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC4wMDFweCkgdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDE0cHgpOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTsKICAgIG9wYWNpdHk6IDA7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwCn0KCi5tZXRpcyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtdGl0bGUgewogICAgdHJhbnNmb3JtOiByb3RhdGVYKDApIHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgwKSB0cmFuc2xhdGVYKC01MCUpOwogICAgb3BhY2l0eTogMQp9CgoubWV0aXMgLnRwLWJ1bGxldC5zZWxlY3RlZCwKLm1ldGlzIC50cC1idWxsZXQ6aG92ZXIgewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTsKICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwLCByZ2JhKDExOSwgMTE5LCAxMTksIDEpIDEwMCUpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgxMTksIDExOSwgMTE5LCAxKSkpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAsIHJnYmEoMTE5LCAxMTksIDExOSwgMSkgMTAwJSk7CiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAsIHJnYmEoMTE5LCAxMTksIDExOSwgMSkgMTAwJSk7CiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwLCByZ2JhKDExOSwgMTE5LCAxMTksIDEpIDEwMCUpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwLCByZ2JhKDExOSwgMTE5LCAxMTksIDEpIDEwMCUpOwogICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9IiNmZmZmZmYiLCBlbmRDb2xvcnN0cj0iIzc3Nzc3NyIsIEdyYWRpZW50VHlwZT0wKQp9CgoubWV0aXMgLnRwLWJ1bGxldC10aXRsZTphZnRlciB7CiAgICBjb250ZW50OiAiICI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiA1MCU7CiAgICBtYXJnaW4tbGVmdDogLThweDsKICAgIHdpZHRoOiAwOwogICAgaGVpZ2h0OiAwOwogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKICAgIGJvcmRlci13aWR0aDogOHB4IDhweCAwIDhweDsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNzUpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OwogICAgYm90dG9tOiAtOHB4Cn0KCi5tZXRpcyAudHAtdGFiLW51bWJlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtc2l6ZTogNDBweDsKICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtZmFtaWx5OiAiUGxheWZhaXIgRGlzcGxheSI7CiAgICB3aWR0aDogNTBweDsKICAgIG1hcmdpbi1yaWdodDogMTdweDsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGZsb2F0OiBsZWZ0Cn0KCi5tZXRpcyAudHAtdGFiLW1hc2sgewogICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgbGVmdDogMDsKICAgIG1heC13aWR0aDogOTBweCAhaW1wb3J0YW50OwogICAgdHJhbnNpdGlvbjogLjRzIHBhZGRpbmctbGVmdCwgLjRzIGxlZnQsIC40cyBtYXgtd2lkdGgKfQoKLm1ldGlzOmhvdmVyIC50cC10YWItbWFzayB7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICBsZWZ0OiA1MHB4OwogICAgbWF4LXdpZHRoOiA1MDBweCAhaW1wb3J0YW50Cn0KCi5tZXRpcyAudHAtdGFiLWRpdmlkZXIgewogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICBoZWlnaHQ6IDMwcHg7CiAgICB3aWR0aDogMXB4OwogICAgbWFyZ2luLXRvcDogNXB4OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgZmxvYXQ6IGxlZnQKfQoKLm1ldGlzIC50cC10YWItdGl0bGUgewogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDIwcHg7CiAgICBsaW5lLWhlaWdodDogMjBweDsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgcGFkZGluZy10b3A6IDEwcHg7CiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOwogICAgdHJhbnNpdGlvbjogLjRzIGFsbAp9CgoubWV0aXMgLnRwLXRhYi10aXRsZS1tYXNrIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBsZWZ0OiA2N3B4Cn0KCi5tZXRpczpob3ZlciAudHAtdGFiLXRpdGxlIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKQp9CgoubWV0aXMgLnRwLXRhYiB7CiAgICBvcGFjaXR5OiAuMTU7CiAgICB0cmFuc2l0aW9uOiAuNHMgYWxsCn0KCi5tZXRpcyAudHAtdGFiLnNlbGVjdGVkLAoubWV0aXMgLnRwLXRhYjpob3ZlciB7CiAgICBvcGFjaXR5OiAxCn0KCi5tZXRpcyAudHAtdGFiLnNlbGVjdGVkIC50cC10YWItZGl2aWRlciB7CiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2RiMDgzCn0KCi5tZXRpcy50cC10YWJzIHsKICAgIG1heC13aWR0aDogMTE4cHggIWltcG9ydGFudDsKICAgIHBhZGRpbmctbGVmdDogNTBweAp9CgoubWV0aXMudHAtdGFiczpiZWZvcmUgewogICAgY29udGVudDogIiAiOwogICAgaGVpZ2h0OiAxMDAlOwogICAgd2lkdGg6IDg4cHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4xNSk7CiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDA7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0cmFuc2l0aW9uOiAuNHMgYWxsCn0KCi5tZXRpcy50cC10YWJzOmhvdmVyOmJlZm9yZSB7CiAgICB3aWR0aDogMTE4cHgKfQoKQG1lZGlhIChtYXgtd2lkdGg6NDk5cHgpIHsKICAgIC5tZXRpcy50cC10YWJzOmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNzUpCiAgICB9Cn0KCi5wZXJzZXBob25lLnRwYXJyb3dzIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJhY2tncm91bmQ6ICNhYWE7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwMCwgMjAwLCAyMDAsIC41KTsKICAgIHdpZHRoOiA0MHB4OwogICAgaGVpZ2h0OiA0MHB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB6LWluZGV4OiAxMDA7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjVmNWY1Cn0KCi5wZXJzZXBob25lLnRwYXJyb3dzOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICMzMzMKfQoKLnBlcnNlcGhvbmUudHBhcnJvd3M6YmVmb3JlIHsKICAgIGZvbnQtZmFtaWx5OiByZXZpY29uczsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGNvbG9yOiAjZmZmOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBsaW5lLWhlaWdodDogNDBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcgp9CgoucGVyc2VwaG9uZS50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgyNCIKfQoKLnBlcnNlcGhvbmUudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewogICAgY29udGVudDogIlxlODI1Igp9CgoucGVyc2VwaG9uZS50cC1idWxsZXRzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiICI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJhY2tncm91bmQ6ICN0cmFuc3BhcmVudDsKICAgIHBhZGRpbmc6IDEwcHg7CiAgICBtYXJnaW4tbGVmdDogLTEwcHg7CiAgICBtYXJnaW4tdG9wOiAtMTBweDsKICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Cn0KCi5wZXJzZXBob25lIC50cC1idWxsZXQgewogICAgd2lkdGg6IDEycHg7CiAgICBoZWlnaHQ6IDEycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBiYWNrZ3JvdW5kOiAjYWFhOwogICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Cn0KCi5wZXJzZXBob25lIC50cC1idWxsZXQuc2VsZWN0ZWQsCi5wZXJzZXBob25lIC50cC1idWxsZXQ6aG92ZXIgewogICAgYmFja2dyb3VuZDogIzIyMgp9CgoudXJhbnVzLnRwYXJyb3dzIHsKICAgIHdpZHRoOiA1MHB4OwogICAgaGVpZ2h0OiA1MHB4OwogICAgYmFja2dyb3VuZDogMCAwCn0KCi51cmFudXMudHBhcnJvd3M6YmVmb3JlIHsKICAgIHdpZHRoOiA1MHB4OwogICAgaGVpZ2h0OiA1MHB4OwogICAgbGluZS1oZWlnaHQ6IDUwcHg7CiAgICBmb250LXNpemU6IDQwcHg7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzCn0KCi51cmFudXMudHBhcnJvd3M6aG92ZXI6YmVmb3JlIHsKICAgIG9wYWNpdHk6IC43NQp9CgoudXJhbnVzIC50cC1idWxsZXQgewogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4zcyBlYXNlOwogICAgYmFja2dyb3VuZDogMCAwCn0KCi51cmFudXMgLnRwLWJ1bGxldC5zZWxlY3RlZCwKLnVyYW51cyAudHAtYnVsbGV0OmhvdmVyIHsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmZmOwogICAgYm9yZGVyOiBub25lOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYmFja2dyb3VuZDogMCAwCn0KCi51cmFudXMgLnRwLWJ1bGxldC1pbm5lciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuM3MgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcyBlYXNlLCB0cmFuc2Zvcm0gLjNzIGVhc2U7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvdXRsaW5lOiAwOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjMpOwogICAgdGV4dC1pbmRlbnQ6IC05OTllbTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZQp9CgoudXJhbnVzIC50cC1idWxsZXQuc2VsZWN0ZWQgLnRwLWJ1bGxldC1pbm5lciwKLnVyYW51cyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtaW5uZXIgewogICAgdHJhbnNmb3JtOiBzY2FsZSguNCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjQpOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZgp9CgouemV1cy50cGFycm93cyB7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBtaW4td2lkdGg6IDcwcHg7CiAgICBtaW4taGVpZ2h0OiA3MHB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB6LWluZGV4OiAxMDA7CiAgICBib3JkZXItcmFkaXVzOiAzNXB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjEpCn0KCi56ZXVzLnRwYXJyb3dzOmJlZm9yZSB7CiAgICBmb250LWZhbWlseTogcmV2aWNvbnM7CiAgICBmb250LXNpemU6IDIwcHg7CiAgICBjb2xvcjogI2ZmZjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbGluZS1oZWlnaHQ6IDcwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB6LWluZGV4OiAyOwogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi56ZXVzLnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpiZWZvcmUgewogICAgY29udGVudDogIlxlODI0Igp9CgouemV1cy50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU4MjUiCn0KCi56ZXVzIC50cC10aXRsZS13cmFwIHsKICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOwogICAgdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIGJvcmRlci1yYWRpdXM6IDUwJQp9CgouemV1cyAudHAtYXJyLWltZ2hvbGRlciB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOwogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzOwogICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjNzCn0KCi56ZXVzLnRwLXJpZ2h0YXJyb3cgLnRwLWFyci1pbWdob2xkZXIgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkKfQoKLnpldXMudHBhcnJvd3M6aG92ZXIgLnRwLWFyci1pbWdob2xkZXIgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICBvcGFjaXR5OiAxCn0KCi56ZXVzLnRwYXJyb3dzOmhvdmVyIC50cC10aXRsZS13cmFwIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICBvcGFjaXR5OiAxCn0KCi56ZXVzIC50cC1idWxsZXQgewogICAgYm94LXNpemluZzogY29udGVudC1ib3g7CiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2U7CiAgICB3aWR0aDogMTNweDsKICAgIGhlaWdodDogMTNweDsKICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmYKfQoKLnpldXMgLnRwLWJ1bGxldDphZnRlciB7CiAgICBjb250ZW50OiAiIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbGVmdDogMDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOwogICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2UKfQoKLnpldXMgLnRwLWJ1bGxldC5zZWxlY3RlZDphZnRlciwKLnpldXMgLnRwLWJ1bGxldDpob3ZlcjphZnRlciB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKQp9CgouemV1cyAudHAtYnVsbGV0LWltYWdlLAouemV1cyAudHAtYnVsbGV0LWltYWdlb3ZlcmxheSB7CiAgICB3aWR0aDogMTM1cHg7CiAgICBoZWlnaHQ6IDYwcHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNSk7CiAgICBib3R0b206IDI1cHg7CiAgICBsZWZ0OiA1MCU7CiAgICBtYXJnaW4tbGVmdDogLTY1cHg7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICBib3JkZXItcmFkaXVzOiA0cHgKfQoKLnpldXMgLnRwLWJ1bGxldC1pbWFnZW92ZXJsYXksCi56ZXVzIC50cC1idWxsZXQtdGl0bGUgewogICAgei1pbmRleDogMjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlCn0KCi56ZXVzIC50cC1idWxsZXQtdGl0bGUgewogICAgY29sb3I6ICNmZmY7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBsaW5lLWhlaWdodDogMTVweDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICB6LWluZGV4OiAzOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOwogICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYm90dG9tOiA0NXB4OwogICAgd2lkdGg6IDEzNXB4OwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIGxlZnQ6IC01N3B4Cn0KCi56ZXVzIC50cC1idWxsZXQ6aG92ZXIgLnRwLWJ1bGxldC1pbWFnZSwKLnpldXMgLnRwLWJ1bGxldDpob3ZlciAudHAtYnVsbGV0LWltYWdlb3ZlcmxheSwKLnpldXMgLnRwLWJ1bGxldDpob3ZlciAudHAtYnVsbGV0LXRpdGxlIHsKICAgIG9wYWNpdHk6IDE7CiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkKfQoKLnpldXMgLnRwLXRodW1iIHsKICAgIG9wYWNpdHk6IDEKfQoKLnpldXMgLnRwLXRodW1iLW92ZXIgewogICAgYmFja2dyb3VuZDogIzAwMDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjI1KTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHotaW5kZXg6IDE7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3M7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzCn0KCi56ZXVzIC50cC10aHVtYi1tb3JlOmJlZm9yZSB7CiAgICBmb250LWZhbWlseTogcmV2aWNvbnM7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBjb2xvcjogI2FhYTsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43NSk7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGxpbmUtaGVpZ2h0OiAxMnB4OwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIHotaW5kZXg6IDI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDIwcHg7CiAgICByaWdodDogMjBweDsKICAgIHotaW5kZXg6IDIKfQoKLnpldXMgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTgyNSIKfQoKLnpldXMgLnRwLXRodW1iLXRpdGxlIHsKICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5OwogICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGNvbG9yOiAjZmZmOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBsaW5lLWhlaWdodDogMTVweDsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICB6LWluZGV4OiAyOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHotaW5kZXg6IDI7CiAgICBwYWRkaW5nOiAyMHB4IDM1cHggMjBweCAyMHB4OwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zczsKICAgIGZvbnQtd2VpZ2h0OiA1MDAKfQoKLnpldXMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi1tb3JlOmJlZm9yZSwKLnpldXMgLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi1tb3JlOmJlZm9yZSB7CiAgICBjb2xvcjogI2FhYQp9CgouemV1cyAudHAtdGh1bWIuc2VsZWN0ZWQgLnRwLXRodW1iLW92ZXIsCi56ZXVzIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItb3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjMDAwCn0KCi56ZXVzIC50cC10aHVtYi5zZWxlY3RlZCAudHAtdGh1bWItdGl0bGUsCi56ZXVzIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItdGl0bGUgewogICAgY29sb3I6ICNmZmYKfQoKLnpldXMgLnRwLXRhYiB7CiAgICBvcGFjaXR5OiAxOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveAp9CgouemV1cyAudHAtdGFiLXRpdGxlIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMjUpOwogICAgZm9udC1mYW1pbHk6ICJSb2JvdG8gU2xhYiIsIHNlcmlmOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGxpbmUtaGVpZ2h0OiAxM3B4OwogICAgY29sb3I6ICNmZmY7CiAgICBwYWRkaW5nOiA5cHggMTBweAp9CgouemV1cyAudHAtdGFiLnNlbGVjdGVkIC50cC10YWItdGl0bGUsCi56ZXVzIC50cC10YWI6aG92ZXIgLnRwLXRhYi10aXRsZSB7CiAgICBjb2xvcjogIzAwMDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkKfQoKLnBvc3QtdGFicyAudHAtdGh1bWIgewogICAgb3BhY2l0eTogMQp9CgoucG9zdC10YWJzIC50cC10aHVtYi1vdmVyIHsKICAgIGJhY2tncm91bmQ6ICMyNTI1MjU7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAxOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcwp9CgoucG9zdC10YWJzIC50cC10aHVtYi1tb3JlOmJlZm9yZSB7CiAgICBmb250LWZhbWlseTogcmV2aWNvbnM7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBjb2xvcjogI2FhYTsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43NSk7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGxpbmUtaGVpZ2h0OiAxMnB4OwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIHotaW5kZXg6IDI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDE1cHg7CiAgICByaWdodDogMTVweDsKICAgIHotaW5kZXg6IDIKfQoKLnBvc3QtdGFicyAudHAtdGh1bWItbW9yZTpiZWZvcmUgewogICAgY29udGVudDogIlxlODI1Igp9CgoucG9zdC10YWJzIC50cC10aHVtYi10aXRsZSB7CiAgICBmb250LWZhbWlseTogcmFsZXdheTsKICAgIGxldHRlci1zcGFjaW5nOiAxcHg7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBjb2xvcjogI2ZmZjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbGluZS1oZWlnaHQ6IDE1cHg7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgei1pbmRleDogMjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAyOwogICAgcGFkZGluZzogMTVweCAzMHB4IDE1cHggMTVweDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHRyYW5zaXRpb246IGFsbCAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3M7CiAgICBmb250LXdlaWdodDogNTAwCn0KCi5wb3N0LXRhYnMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi1tb3JlOmJlZm9yZSwKLnBvc3QtdGFicyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICAgIGNvbG9yOiAjYWFhCn0KCi5wb3N0LXRhYnMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi1vdmVyLAoucG9zdC10YWJzIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItb3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCi5wb3N0LXRhYnMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi10aXRsZSwKLnBvc3QtdGFicyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLXRpdGxlIHsKICAgIGNvbG9yOiAjMDAwCn0KCi5vd2wtY2Fyb3VzZWwsCi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHsKICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLm93bC1jYXJvdXNlbCB7CiAgICBkaXNwbGF5OiBub25lOwogICAgd2lkdGg6IDEwMCU7CiAgICB6LWluZGV4OiAxCn0KCi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTsKICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOwogICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW4KfQoKLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVyIHsKICAgIGNvbnRlbnQ6ICIuIjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgY2xlYXI6IGJvdGg7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICBsaW5lLWhlaWdodDogMDsKICAgIGhlaWdodDogMAp9Cgoub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKQp9Cgoub3dsLWNhcm91c2VsIC5vd2wtaXRlbSwKLm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXIgewogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAgIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKQp9Cgoub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7CiAgICBtaW4taGVpZ2h0OiAxcHg7CiAgICBmbG9hdDogbGVmdDsKICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lCn0KCi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZyB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlCn0KCi5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzLmRpc2FibGVkLAoub3dsLWNhcm91c2VsIC5vd2wtbmF2LmRpc2FibGVkIHsKICAgIGRpc3BsYXk6IG5vbmUKfQoKLm5vLWpzIC5vd2wtY2Fyb3VzZWwsCi5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7CiAgICBkaXNwbGF5OiBibG9jawp9Cgoub3dsLWNhcm91c2VsIC5vd2wtZG90LAoub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtbmV4dCwKLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYgewogICAgY3Vyc29yOiBwb2ludGVyOwogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTsKICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB1c2VyLXNlbGVjdDogbm9uZQp9Cgoub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCwKLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLXByZXYsCi5vd2wtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3QgewogICAgYmFja2dyb3VuZDogMCAwOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBib3JkZXI6IG5vbmU7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICBmb250OiBpbmhlcml0Cn0KCi5vd2wtY2Fyb3VzZWwub3dsLWxvYWRpbmcgewogICAgb3BhY2l0eTogMDsKICAgIGRpc3BsYXk6IGJsb2NrCn0KCi5vd2wtY2Fyb3VzZWwub3dsLWhpZGRlbiB7CiAgICBvcGFjaXR5OiAwCn0KCi5vd2wtY2Fyb3VzZWwub3dsLXJlZnJlc2ggLm93bC1pdGVtIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbgp9Cgoub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7CiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTsKICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7CiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgIHVzZXItc2VsZWN0OiBub25lCn0KCi5vd2wtY2Fyb3VzZWwub3dsLWdyYWIgewogICAgY3Vyc29yOiBtb3ZlOwogICAgY3Vyc29yOiBncmFiCn0KCi5vd2wtY2Fyb3VzZWwub3dsLXJ0bCB7CiAgICBkaXJlY3Rpb246IHJ0bAp9Cgoub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVtIHsKICAgIGZsb2F0OiByaWdodAp9Cgoub3dsLWNhcm91c2VsIC5hbmltYXRlZCB7CiAgICBhbmltYXRpb24tZHVyYXRpb246IDFzOwogICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aAp9Cgoub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW4gewogICAgei1pbmRleDogMAp9Cgoub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtb3V0IHsKICAgIHotaW5kZXg6IDEKfQoKLm93bC1jYXJvdXNlbCAuZmFkZU91dCB7CiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dAp9CgpAa2V5ZnJhbWVzIGZhZGVPdXQgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IDEKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KfQoKLm93bC1oZWlnaHQgewogICAgdHJhbnNpdGlvbjogaGVpZ2h0IC41cyBlYXNlLWluLW91dAp9Cgoub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenkgewogICAgb3BhY2l0eTogMDsKICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UKfQoKLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5Om5vdChbc3JjXSksCi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eVtzcmNePSIiXSB7CiAgICBtYXgtaGVpZ2h0OiAwCn0KCi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZy5vd2wtbGF6eSB7CiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkCn0KCi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJhY2tncm91bmQ6ICMwMDAKfQoKLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBoZWlnaHQ6IDgwcHg7CiAgICB3aWR0aDogODBweDsKICAgIGxlZnQ6IDUwJTsKICAgIHRvcDogNTAlOwogICAgbWFyZ2luLWxlZnQ6IC00MHB4OwogICAgbWFyZ2luLXRvcDogLTQwcHg7CiAgICBiYWNrZ3JvdW5kOiB1cmwob3dsLnZpZGVvLnBsYXkuaHRtbCkgbm8tcmVwZWF0OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgei1pbmRleDogMTsKICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xcyBlYXNlCn0KCi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb246aG92ZXIgewogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMykKfQoKLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24sCi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4gewogICAgZGlzcGxheTogbm9uZQp9Cgoub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tdG4gewogICAgb3BhY2l0eTogMDsKICAgIGhlaWdodDogMTAwJTsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZQp9Cgoub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tZnJhbWUgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgei1pbmRleDogMTsKICAgIGhlaWdodDogMTAwJTsKICAgIHdpZHRoOiAxMDAlCn0KCi5zZWxlY3QyLWNvbnRhaW5lciB7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgbWFyZ2luOiAwOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZQp9Cgouc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgewogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lCn0KCi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcGFkZGluZy1yaWdodDogMjBweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXAKfQoKLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5zZWxlY3QyLWNvbnRhaW5lcltkaXI9cnRsXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHsKICAgIHBhZGRpbmctcmlnaHQ6IDhweDsKICAgIHBhZGRpbmctbGVmdDogMjBweAp9Cgouc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmUKfQoKLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcGFkZGluZy1sZWZ0OiA4cHg7CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXAKfQoKLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHsKICAgIGZsb2F0OiBsZWZ0Cn0KCi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBib3JkZXI6IG5vbmU7CiAgICBmb250LXNpemU6IDEwMCU7CiAgICBwYWRkaW5nOiAwCn0KCi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHsKICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZQp9Cgouc2VsZWN0Mi1kcm9wZG93biB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IC0xMDAwMDBweDsKICAgIHdpZHRoOiAxMDAlOwogICAgei1pbmRleDogMTA1MQp9Cgouc2VsZWN0Mi1yZXN1bHRzIHsKICAgIGRpc3BsYXk6IGJsb2NrCn0KCi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMgewogICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDAKfQoKLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHsKICAgIHBhZGRpbmc6IDZweDsKICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZQp9Cgouc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZF0gewogICAgY3Vyc29yOiBwb2ludGVyCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93biB7CiAgICBsZWZ0OiAwCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUgewogICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMAp9Cgouc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24tLWJlbG93IHsKICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAKfQoKLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBhZGRpbmc6IDRweAp9Cgouc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQgewogICAgcGFkZGluZzogNHB4OwogICAgd2lkdGg6IDEwMCU7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Cn0KCi5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7CiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUKfQoKLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93bi5zZWxlY3QyLXNlYXJjaC0taGlkZSB7CiAgICBkaXNwbGF5OiBub25lCn0KCi5zZWxlY3QyLWNsb3NlLW1hc2sgewogICAgYm9yZGVyOiAwOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcG9zaXRpb246IGZpeGVkOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIG1pbi1oZWlnaHQ6IDEwMCU7CiAgICBtaW4td2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IGF1dG87CiAgICB3aWR0aDogYXV0bzsKICAgIG9wYWNpdHk6IDA7CiAgICB6LWluZGV4OiA5OTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCkKfQoKLnNlbGVjdDItaGlkZGVuLWFjY2Vzc2libGUgewogICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7CiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKSAhaW1wb3J0YW50OwogICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpICFpbXBvcnRhbnQ7CiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50OwogICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQKfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3JkZXItcmFkaXVzOiA0cHgKfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgewogICAgY29sb3I6ICM0NDQKfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIgewogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZmxvYXQ6IHJpZ2h0OwogICAgZm9udC13ZWlnaHQ6IDcwMAp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7CiAgICBjb2xvcjogIzk5OQp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDFweDsKICAgIHJpZ2h0OiAxcHg7CiAgICB3aWR0aDogMjBweAp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHsKICAgIGxlZnQ6IDUwJTsKICAgIG1hcmdpbi10b3A6IC0ycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDUwJQp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPXJ0bF0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7CiAgICBmbG9hdDogbGVmdAp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPXJ0bF0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7CiAgICBsZWZ0OiAxcHg7CiAgICByaWdodDogYXV0bwp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7CiAgICBjdXJzb3I6IGRlZmF1bHQKfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHsKICAgIGRpc3BsYXk6IG5vbmUKfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYiB7CiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM4ODggdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItd2lkdGg6IDAgNHB4IDVweCA0cHgKfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGN1cnNvcjogdGV4dAp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBsaXN0LXN0eWxlOiBub25lOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsKICAgIHdpZHRoOiAxMDAlCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgbGkgewogICAgbGlzdC1zdHlsZTogbm9uZQp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHsKICAgIGNvbG9yOiAjOTk5OwogICAgbWFyZ2luLXRvcDogNXB4OwogICAgZmxvYXQ6IGxlZnQKfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBmbG9hdDogcmlnaHQ7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbWFyZ2luLXRvcDogNXB4OwogICAgbWFyZ2luLXJpZ2h0OiAxMHB4Cn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgY3Vyc29yOiBkZWZhdWx0OwogICAgZmxvYXQ6IGxlZnQ7CiAgICBtYXJnaW4tcmlnaHQ6IDVweDsKICAgIG1hcmdpbi10b3A6IDVweDsKICAgIHBhZGRpbmc6IDAgNXB4Cn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUgewogICAgY29sb3I6ICM5OTk7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbWFyZ2luLXJpZ2h0OiAycHgKfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZTpob3ZlciB7CiAgICBjb2xvcjogIzMzMwp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPXJ0bF0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSwKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1ydGxdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2UsCi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9cnRsXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIgewogICAgZmxvYXQ6IHJpZ2h0Cn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9cnRsXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHsKICAgIG1hcmdpbi1sZWZ0OiA1cHg7CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8KfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1ydGxdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7CiAgICBtYXJnaW4tbGVmdDogMnB4OwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZm9jdXMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7CiAgICBvdXRsaW5lOiAwCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOwogICAgY3Vyc29yOiBkZWZhdWx0Cn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7CiAgICBkaXNwbGF5OiBub25lCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSwKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7CiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAKfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlLAouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWJlbG93IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMAp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWEKfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQgewogICAgYmFja2dyb3VuZDogMCAwOwogICAgYm9yZGVyOiBub25lOwogICAgb3V0bGluZTogMDsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZAp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0cz4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIHsKICAgIG1heC1oZWlnaHQ6IDIwMHB4OwogICAgb3ZlcmZsb3cteTogYXV0bwp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW3JvbGU9Z3JvdXBdIHsKICAgIHBhZGRpbmc6IDAKfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLWRpc2FibGVkPXRydWVdIHsKICAgIGNvbG9yOiAjOTk5Cn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZD10cnVlXSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHsKICAgIHBhZGRpbmctbGVmdDogMWVtCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX2dyb3VwIHsKICAgIHBhZGRpbmctbGVmdDogMAp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gewogICAgbWFyZ2luLWxlZnQ6IC0xZW07CiAgICBwYWRkaW5nLWxlZnQ6IDJlbQp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHsKICAgIG1hcmdpbi1sZWZ0OiAtMmVtOwogICAgcGFkZGluZy1sZWZ0OiAzZW0KfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gewogICAgbWFyZ2luLWxlZnQ6IC0zZW07CiAgICBwYWRkaW5nLWxlZnQ6IDRlbQp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gewogICAgbWFyZ2luLWxlZnQ6IC00ZW07CiAgICBwYWRkaW5nLWxlZnQ6IDVlbQp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHsKICAgIG1hcmdpbi1sZWZ0OiAtNWVtOwogICAgcGFkZGluZy1sZWZ0OiA2ZW0KfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0gewogICAgYmFja2dyb3VuZC1jb2xvcjogIzU4OTdmYjsKICAgIGNvbG9yOiAjZmZmCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19ncm91cCB7CiAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBhZGRpbmc6IDZweAp9Cgouc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdXRsaW5lOiAwOwogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDUwJSwgI2VlZSAxMDAlKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgNTAlLCAjZWVlIDEwMCUpOwogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiA1MCUsICNlZWUgMTAwJSk7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7CiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjRkZGRkZGRkYnLCBlbmRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgR3JhZGllbnRUeXBlPTApCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZTpmb2N1cyB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHsKICAgIGNvbG9yOiAjNDQ0OwogICAgbGluZS1oZWlnaHQ6IDI4cHgKfQoKLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIgewogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZmxvYXQ6IHJpZ2h0OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIG1hcmdpbi1yaWdodDogMTBweAp9Cgouc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7CiAgICBjb2xvcjogIzk5OQp9Cgouc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOwogICAgYm9yZGVyOiBub25lOwogICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYWFhOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7CiAgICBoZWlnaHQ6IDI2cHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDFweDsKICAgIHJpZ2h0OiAxcHg7CiAgICB3aWR0aDogMjBweDsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2VlZSA1MCUsICNjY2MgMTAwJSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlIDUwJSwgI2NjYyAxMDAlKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZWUgNTAlLCAjY2NjIDEwMCUpOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14OwogICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgZW5kQ29sb3JzdHI9JyNGRkNDQ0NDQycsIEdyYWRpZW50VHlwZT0wKQp9Cgouc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHsKICAgIGJvcmRlci1jb2xvcjogIzg4OCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1zdHlsZTogc29saWQ7CiAgICBib3JkZXItd2lkdGg6IDVweCA0cHggMCA0cHg7CiAgICBoZWlnaHQ6IDA7CiAgICBsZWZ0OiA1MCU7CiAgICBtYXJnaW4tbGVmdDogLTRweDsKICAgIG1hcmdpbi10b3A6IC0ycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDUwJTsKICAgIHdpZHRoOiAwCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9cnRsXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHsKICAgIGZsb2F0OiBsZWZ0Cn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9cnRsXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHsKICAgIGJvcmRlcjogbm9uZTsKICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNhYWE7CiAgICBib3JkZXItcmFkaXVzOiAwOwogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OwogICAgbGVmdDogMXB4OwogICAgcmlnaHQ6IGF1dG8KfQoKLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmIKfQoKLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgewogICAgYmFja2dyb3VuZDogMCAwOwogICAgYm9yZGVyOiBub25lCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIgewogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjODg4IHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXdpZHRoOiAwIDRweCA1cHggNHB4Cn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgewogICAgYm9yZGVyLXRvcDogbm9uZTsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiAwLCAjZWVlIDUwJSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDAsICNlZWUgNTAlKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmYgMCwgI2VlZSA1MCUpOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14OwogICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0ZGRkZGRkZGJywgZW5kQ29sb3JzdHI9JyNGRkVFRUVFRScsIEdyYWRpZW50VHlwZT0wKQp9Cgouc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWJlbG93IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHsKICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNlZWUgNTAlLCAjZmZmIDEwMCUpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2VlZSA1MCUsICNmZmYgMTAwJSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWVlIDUwJSwgI2ZmZiAxMDAlKTsKICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsKICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNGRkVFRUVFRScsIGVuZENvbG9yc3RyPScjRkZGRkZGRkYnLCBHcmFkaWVudFR5cGU9MCkKfQoKLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBjdXJzb3I6IHRleHQ7CiAgICBvdXRsaW5lOiAwCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlOmZvY3VzIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmIKfQoKLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7CiAgICBsaXN0LXN0eWxlOiBub25lOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMCA1cHgKfQoKLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7CiAgICBkaXNwbGF5OiBub25lCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgY3Vyc29yOiBkZWZhdWx0OwogICAgZmxvYXQ6IGxlZnQ7CiAgICBtYXJnaW4tcmlnaHQ6IDVweDsKICAgIG1hcmdpbi10b3A6IDVweDsKICAgIHBhZGRpbmc6IDAgNXB4Cn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUgewogICAgY29sb3I6ICM4ODg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbWFyZ2luLXJpZ2h0OiAycHgKfQoKLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZTpob3ZlciB7CiAgICBjb2xvcjogIzU1NQp9Cgouc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPXJ0bF0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7CiAgICBmbG9hdDogcmlnaHQ7CiAgICBtYXJnaW4tbGVmdDogNXB4OwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9cnRsXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUgewogICAgbWFyZ2luLWxlZnQ6IDJweDsKICAgIG1hcmdpbi1yaWdodDogYXV0bwp9Cgouc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7CiAgICBib3JkZXItdG9wOiBub25lOwogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsKICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYmVsb3cgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7CiAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQgewogICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTsKICAgIG91dGxpbmU6IDAKfQoKLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQgewogICAgb3V0bGluZTogMDsKICAgIGJveC1zaGFkb3c6IG5vbmUKfQoKLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLWRyb3Bkb3duIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudAp9Cgouc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItZHJvcGRvd24tLWFib3ZlIHsKICAgIGJvcmRlci1ib3R0b206IG5vbmUKfQoKLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLWRyb3Bkb3duLS1iZWxvdyB7CiAgICBib3JkZXItdG9wOiBub25lCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1yZXN1bHRzPi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMgewogICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICBvdmVyZmxvdy15OiBhdXRvCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bcm9sZT1ncm91cF0gewogICAgcGFkZGluZzogMAp9Cgouc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gewogICAgY29sb3I6IGdyZXkKfQoKLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0gewogICAgYmFja2dyb3VuZC1jb2xvcjogIzM4NzVkNzsKICAgIGNvbG9yOiAjZmZmCn0KCi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1yZXN1bHRzX19ncm91cCB7CiAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBhZGRpbmc6IDZweAp9Cgouc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24gewogICAgYm9yZGVyLWNvbG9yOiAjNTg5N2ZiCn0KCiNkZWJ1bmdjb250cm9sbHMsCi5kZWJ1Z3RpbWVsaW5lIHsKICAgIHdpZHRoOiAxMDAlOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveAp9CgoucmV2X2NvbHVtbiwKLnJldl9jb2x1bW4gLnRwLXBhcmFsbGF4LXdyYXAsCi50cC1zdmctbGF5ZXIgc3ZnIHsKICAgIHZlcnRpY2FsLWFsaWduOiB0b3AKfQoKI2RlYnVuZ2NvbnRyb2xscyB7CiAgICB6LWluZGV4OiAxMDAwMDA7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICBib3R0b206IDA7CiAgICBoZWlnaHQ6IGF1dG87CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC42KTsKICAgIHBhZGRpbmc6IDEwcHgKfQoKLmRlYnVndGltZWxpbmUgewogICAgaGVpZ2h0OiAxMHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWFyZ2luLWJvdHRvbTogM3B4OwogICAgZGlzcGxheTogbm9uZTsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXAKfQoKLmRlYnVndGltZWxpbmU6aG92ZXIgewogICAgaGVpZ2h0OiAxNXB4Cn0KCi50aGVfdGltZWxpbmVfdGVzdGVyIHsKICAgIGJhY2tncm91bmQ6ICNlNzRjM2M7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgaGVpZ2h0OiAxMDAlOwogICAgd2lkdGg6IDAKfQoKLnJzLWdvLWZ1bGxzY3JlZW4gewogICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7CiAgICB0b3A6IDAgIWltcG9ydGFudDsKICAgIGxlZnQ6IDAgIWltcG9ydGFudDsKICAgIHotaW5kZXg6IDk5OTk5OTkgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudAp9CgouZGVidWd0aW1lbGluZS50bF9zbGlkZSAudGhlX3RpbWVsaW5lX3Rlc3RlciB7CiAgICBiYWNrZ3JvdW5kOiAjZjM5YzEyCn0KCi5kZWJ1Z3RpbWVsaW5lLnRsX2ZyYW1lIC50aGVfdGltZWxpbmVfdGVzdGVyIHsKICAgIGJhY2tncm91bmQ6ICMzNDk4ZGIKfQoKLmRlYnVndGltbGluZV90eHQgewogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgZm9udC1zaXplOiA3cHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAxMHB4OwogICAgdG9wOiAwOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGxpbmUtaGVpZ2h0OiAxMHB4Cn0KCkBmb250LWZhY2UgewogICAgZm9udC1mYW1pbHk6IHJldmljb25zOwogICAgc3JjOiB1cmwoLi4vZm9udHMvcmV2aWNvbnMvcmV2aWNvbnM5MGM2Lmh0bWw/NTUxMDg4OCk7CiAgICBzcmM6IHVybCguLi9mb250cy9yZXZpY29ucy9yZXZpY29uczkwYzYuaHRtbD81NTEwODg4I2llZml4KSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCguLi9mb250cy9yZXZpY29ucy9yZXZpY29uczkwYzYtMi5odG1sPzU1MTA4ODgpIGZvcm1hdCgnd29mZicpLCB1cmwoLi4vZm9udHMvcmV2aWNvbnMvcmV2aWNvbnM5MGM2LTMuaHRtbD81NTEwODg4KSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCguLi9mb250cy9yZXZpY29ucy9yZXZpY29uczkwYzYtNC5odG1sPzU1MTA4ODgjcmV2aWNvbnMpIGZvcm1hdCgnc3ZnJyk7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgZm9udC1zdHlsZTogbm9ybWFsCn0KCltjbGFzcyo9IiByZXZpY29uLSJdOmJlZm9yZSwKW2NsYXNzXj1yZXZpY29uLV06YmVmb3JlIHsKICAgIGZvbnQtZmFtaWx5OiByZXZpY29uczsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBzcGVhazogbm9uZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDsKICAgIHdpZHRoOiAxZW07CiAgICBtYXJnaW4tcmlnaHQ6IC4yZW07CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgbGluZS1oZWlnaHQ6IDFlbTsKICAgIG1hcmdpbi1sZWZ0OiAuMmVtCn0KCi5yZXZpY29uLXNlYXJjaC0xOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MDInCn0KCi5yZXZpY29uLXBlbmNpbC0xOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MzEnCn0KCi5yZXZpY29uLXBpY3R1cmUtMTpiZWZvcmUgewogICAgY29udGVudDogJ1xlODAzJwp9CgoucmV2aWNvbi1jYW5jZWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICdcZTgwYScKfQoKLnJldmljb24taW5mby1jaXJjbGVkOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MGYnCn0KCi5yZXZpY29uLXRyYXNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MDEnCn0KCi5yZXZpY29uLWxlZnQtZGlyOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MTcnCn0KCi5yZXZpY29uLXJpZ2h0LWRpcjpiZWZvcmUgewogICAgY29udGVudDogJ1xlODE4Jwp9CgoucmV2aWNvbi1kb3duLW9wZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICdcZTgzYicKfQoKLnJldmljb24tbGVmdC1vcGVuOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MTknCn0KCi5yZXZpY29uLXJpZ2h0LW9wZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICdcZTgxYScKfQoKLnJldmljb24tYW5nbGUtbGVmdDpiZWZvcmUgewogICAgY29udGVudDogJ1xlODIwJwp9CgoucmV2aWNvbi1hbmdsZS1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogJ1xlODFkJwp9CgoucmV2aWNvbi1sZWZ0LWJpZzpiZWZvcmUgewogICAgY29udGVudDogJ1xlODFmJwp9CgoucmV2aWNvbi1yaWdodC1iaWc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICdcZTgxZScKfQoKLnJldmljb24tbWFnaWM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICdcZTgwNycKfQoKLnJldmljb24tcGljdHVyZTpiZWZvcmUgewogICAgY29udGVudDogJ1xlODAwJwp9CgoucmV2aWNvbi1leHBvcnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICdcZTgwYicKfQoKLnJldmljb24tY29nOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MzInCn0KCi5yZXZpY29uLWxvZ2luOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MzMnCn0KCi5yZXZpY29uLWxvZ291dDpiZWZvcmUgewogICAgY29udGVudDogJ1xlODM0Jwp9CgoucmV2aWNvbi12aWRlbzpiZWZvcmUgewogICAgY29udGVudDogJ1xlODA1Jwp9CgoucmV2aWNvbi1hcnJvdy1jb21ibzpiZWZvcmUgewogICAgY29udGVudDogJ1xlODI3Jwp9CgoucmV2aWNvbi1sZWZ0LW9wZW4tMTpiZWZvcmUgewogICAgY29udGVudDogJ1xlODJhJwp9CgoucmV2aWNvbi1yaWdodC1vcGVuLTE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICdcZTgyYicKfQoKLnJldmljb24tbGVmdC1vcGVuLW1pbmk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICdcZTgyMicKfQoKLnJldmljb24tcmlnaHQtb3Blbi1taW5pOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MjMnCn0KCi5yZXZpY29uLWxlZnQtb3Blbi1iaWc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICdcZTgyNCcKfQoKLnJldmljb24tcmlnaHQtb3Blbi1iaWc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICdcZTgyNScKfQoKLnJldmljb24tbGVmdDpiZWZvcmUgewogICAgY29udGVudDogJ1xlODM2Jwp9CgoucmV2aWNvbi1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogJ1xlODI2Jwp9CgoucmV2aWNvbi1jY3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICdcZTgwOCcKfQoKLnJldmljb24tYXJyb3dzLWNjdzpiZWZvcmUgewogICAgY29udGVudDogJ1xlODA2Jwp9CgoucmV2aWNvbi1wYWxldHRlOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MjknCn0KCi5yZXZpY29uLWxpc3QtYWRkOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MGMnCn0KCi5yZXZpY29uLWRvYzpiZWZvcmUgewogICAgY29udGVudDogJ1xlODA5Jwp9CgoucmV2aWNvbi1sZWZ0LW9wZW4tb3V0bGluZTpiZWZvcmUgewogICAgY29udGVudDogJ1xlODJlJwp9CgoucmV2aWNvbi1sZWZ0LW9wZW4tMjpiZWZvcmUgewogICAgY29udGVudDogJ1xlODJjJwp9CgoucmV2aWNvbi1yaWdodC1vcGVuLW91dGxpbmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICdcZTgyZicKfQoKLnJldmljb24tcmlnaHQtb3Blbi0yOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MmQnCn0KCi5yZXZpY29uLWVxdWFsaXplcjpiZWZvcmUgewogICAgY29udGVudDogJ1xlODNhJwp9CgoucmV2aWNvbi1sYXllcnMtYWx0OmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MDQnCn0KCi5yZXZpY29uLXBvcHVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MjgnCn0KCi5yZXZfc2xpZGVyX3dyYXBwZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgei1pbmRleDogMDsKICAgIHdpZHRoOiAxMDAlCn0KCi5yZXZfc2xpZGVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG92ZXJmbG93OiB2aXNpYmxlCn0KCi5lbnRyeS1jb250ZW50IC5yZXZfc2xpZGVyIGEsCi5yZXZfc2xpZGVyIGEgewogICAgYm94LXNoYWRvdzogbm9uZQp9CgoudHAtb3ZlcmZsb3ctaGlkZGVuIHsKICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudAp9CgouZ3JvdXBfb3ZfaGlkZGVuIHsKICAgIG92ZXJmbG93OiBoaWRkZW4KfQoKLnJldl9zbGlkZXIgaW1nLAoudHAtc2ltcGxlcmVzcG9uc2l2ZSBpbWcgewogICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7CiAgICB0cmFuc2l0aW9uOiBub25lOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsKICAgIGJvcmRlcjogbm9uZQp9CgoucmV2X3NsaWRlciAubm8tc2xpZGVzLXRleHQgewogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBhZGRpbmctdG9wOiA4MHB4Cn0KCi5yZXZfc2xpZGVyPnVsLAoucmV2X3NsaWRlcj51bD5saSwKLnJldl9zbGlkZXI+dWw+bGk6YmVmb3JlLAoucmV2X3NsaWRlcl93cmFwcGVyPnVsLAoudHAtcmV2c2xpZGVyLW1haW51bD5saSwKLnRwLXJldnNsaWRlci1tYWludWw+bGk6YmVmb3JlLAoudHAtc2ltcGxlcmVzcG9uc2l2ZT51bCwKLnRwLXNpbXBsZXJlc3BvbnNpdmU+dWw+bGksCi50cC1zaW1wbGVyZXNwb25zaXZlPnVsPmxpOmJlZm9yZSB7CiAgICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAgIG92ZXJmbG93LXg6IHZpc2libGU7CiAgICBvdmVyZmxvdy15OiB2aXNpYmxlOwogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsKICAgIHRleHQtaW5kZW50OiAwOwogICAgdG9wOiAwOwogICAgbGVmdDogMAp9CgoucmV2X3NsaWRlcj51bD5saSwKLnJldl9zbGlkZXI+dWw+bGk6YmVmb3JlLAoudHAtcmV2c2xpZGVyLW1haW51bD5saSwKLnRwLXJldnNsaWRlci1tYWludWw+bGk6YmVmb3JlLAoudHAtc2ltcGxlcmVzcG9uc2l2ZT51bD5saSwKLnRwLXNpbXBsZXJlc3BvbnNpdmU+dWw+bGk6YmVmb3JlIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbgp9CgoudHAtcmV2c2xpZGVyLW1haW51bCwKLnRwLXJldnNsaWRlci1zbGlkZXNsaSB7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudAp9CgouZnVsbHNjcmVlbi1jb250YWluZXIsCi5mdWxsd2lkdGhiYW5uZXItY29udGFpbmVyIHsKICAgIHBhZGRpbmc6IDA7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLnJldl9zbGlkZXIgbGkudHAtcmV2c2xpZGVyLXNsaWRlc2xpIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50Cn0KCi50cC1jYXB0aW9uIC5ycy11bnRvZ2dsZWQtY29udGVudCB7CiAgICBkaXNwbGF5OiBibG9jawp9CgoudHAtY2FwdGlvbiAucnMtdG9nZ2xlZC1jb250ZW50IHsKICAgIGRpc3BsYXk6IG5vbmUKfQoKLnJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZS50cC1jYXB0aW9uIC5ycy10b2dnbGVkLWNvbnRlbnQgewogICAgZGlzcGxheTogYmxvY2sKfQoKLnJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZS50cC1jYXB0aW9uIC5ycy11bnRvZ2dsZWQtY29udGVudCB7CiAgICBkaXNwbGF5OiBub25lCn0KCi5yZXZfc2xpZGVyIC5jYXB0aW9uLAoucmV2X3NsaWRlciAudHAtY2FwdGlvbiB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgZGlzcGxheTogYmxvY2s7CiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZCAhaW1wb3J0YW50OwogICAgei1pbmRleDogMQp9CgoucmV2X3NsaWRlciAuY2FwdGlvbiwKLnJldl9zbGlkZXIgLnRwLWNhcHRpb24sCi50cC1zaW1wbGVyZXNwb25zaXZlIGltZyB7CiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lOwogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgIC1vLXVzZXItc2VsZWN0OiBub25lCn0KCi5yZXZfc2xpZGVyIC50cC1tYXNrLXdyYXAgLnRwLWNhcHRpb24sCi5yZXZfc2xpZGVyIC50cC1tYXNrLXdyYXAgOmxhc3QtY2hpbGQsCi53cGJfdGV4dF9jb2x1bW4gLnJldl9zbGlkZXIgLnRwLW1hc2std3JhcCAudHAtY2FwdGlvbiwKLndwYl90ZXh0X2NvbHVtbiAucmV2X3NsaWRlciAudHAtbWFzay13cmFwIDpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLnRwLXN2Zy1sYXllciBzdmcgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLnRwLWNhcm91c2VsLXdyYXBwZXIgewogICAgY3Vyc29yOiB1cmwob3BlbmhhbmQuaHRtbCksIG1vdmUKfQoKLnRwLWNhcm91c2VsLXdyYXBwZXIuZHJhZ2dlZCB7CiAgICBjdXJzb3I6IHVybChjbG9zZWRoYW5kLmh0bWwpLCBtb3ZlCn0KCi50cF9pbm5lcl9wYWRkaW5nIHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQKfQoKLnRwLWNhcHRpb24udHAtbGF5ZXItc2VsZWN0YWJsZSB7CiAgICAtbW96LXVzZXItc2VsZWN0OiBhbGw7CiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IGFsbDsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IGFsbDsKICAgIC1vLXVzZXItc2VsZWN0OiBhbGwKfQoKLnRwLWNhcHRpb24udHAtaGlkZGVuLWNhcHRpb24sCi50cC1mb3JjZW5vdHZpc2libGUsCi50cC1oaWRlLXJldnNsaWRlciwKLnRwLXBhcmFsbGF4LXdyYXAudHAtaGlkZGVuLWNhcHRpb24gewogICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQKfQoKLnJldl9zbGlkZXIgYXVkaW8sCi5yZXZfc2xpZGVyIGVtYmVkLAoucmV2X3NsaWRlciBpZnJhbWUsCi5yZXZfc2xpZGVyIG9iamVjdCwKLnJldl9zbGlkZXIgdmlkZW8gewogICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQKfQoKLnRwLWVsZW1lbnQtYmFja2dyb3VuZCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB6LWluZGV4OiAwCn0KCi50cC1ibG9ja21hc2ssCi50cC1ibG9ja21hc2tfaW4sCi50cC1ibG9ja21hc2tfb3V0IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICB6LWluZGV4OiAxMDAwOwogICAgdHJhbnNmb3JtOiBzY2FsZVgoMCkgc2NhbGVZKDApCn0KCi50cC1wYXJhbGxheC13cmFwIHsKICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QKfQoKLnJldl9yb3dfem9uZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGxlZnQ6IDA7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgbWluLWhlaWdodDogNTBweDsKICAgIGZvbnQtc2l6ZTogMAp9CgoucmV2X2NvbHVtbl9pbm5lciwKLnJldl9zbGlkZXIgLnRwLWNhcHRpb24ucmV2X3JvdyB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveAp9CgoucmV2X3Jvd196b25lX3RvcCB7CiAgICB0b3A6IDAKfQoKLnJldl9yb3dfem9uZV9taWRkbGUgewogICAgdG9wOiA1MCU7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkKfQoKLnJldl9yb3dfem9uZV9ib3R0b20gewogICAgYm90dG9tOiAwCn0KCi5yZXZfc2xpZGVyIC50cC1jYXB0aW9uLnJldl9yb3cgewogICAgZGlzcGxheTogdGFibGU7CiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOwogICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAwCn0KCi5yZXZfY29sdW1uIHsKICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBoZWlnaHQ6IGF1dG87CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgZm9udC1zaXplOiAwCn0KCi5yZXZfY29sdW1uX2lubmVyIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQKfQoKLnJldl9jb2x1bW5fYmcgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgei1pbmRleDogMDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94OwogICAgYm9yZGVyOiAwIHNvbGlkIHRyYW5zcGFyZW50Cn0KCi50cC1jYXB0aW9uIC5iYWNrY29ybmVyLAoudHAtY2FwdGlvbiAuYmFja2Nvcm5lcnRvcCwKLnRwLWNhcHRpb24gLmZyb250Y29ybmVyLAoudHAtY2FwdGlvbiAuZnJvbnRjb3JuZXJ0b3AgewogICAgaGVpZ2h0OiAwOwogICAgdG9wOiAwOwogICAgd2lkdGg6IDA7CiAgICBwb3NpdGlvbjogYWJzb2x1dGUKfQoKLnJldl9jb2x1bW5faW5uZXIgLnRwLWxvb3Atd3JhcCwKLnJldl9jb2x1bW5faW5uZXIgLnRwLW1hc2std3JhcCwKLnJldl9jb2x1bW5faW5uZXIgLnRwLXBhcmFsbGF4LXdyYXAgewogICAgdGV4dC1hbGlnbjogaW5oZXJpdAp9CgoucmV2X2NvbHVtbl9pbm5lciAudHAtbWFzay13cmFwIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jawp9CgoucmV2X2NvbHVtbl9pbm5lciAudHAtcGFyYWxsYXgtd3JhcCwKLnJldl9jb2x1bW5faW5uZXIgLnRwLXBhcmFsbGF4LXdyYXAgLnRwLWxvb3Atd3JhcCwKLnJldl9jb2x1bW5faW5uZXIgLnRwLXBhcmFsbGF4LXdyYXAgLnRwLW1hc2std3JhcCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsKICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDsKICAgIHRvcDogYXV0byAhaW1wb3J0YW50OwogICAgbGluZS1oZWlnaHQ6IDAKfQoKLnRwLXZpZGVvLXBsYXktYnV0dG9uLAoudHAtdmlkZW8tcGxheS1idXR0b24gaSB7CiAgICBsaW5lLWhlaWdodDogNTBweCAhaW1wb3J0YW50OwogICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgIHRleHQtYWxpZ246IGNlbnRlcgp9CgoucmV2X2NvbHVtbl9pbm5lciAucmV2X2xheWVyX2luX2NvbHVtbiwKLnJldl9jb2x1bW5faW5uZXIgLnRwLXBhcmFsbGF4LXdyYXAsCi5yZXZfY29sdW1uX2lubmVyIC50cC1wYXJhbGxheC13cmFwIC50cC1sb29wLXdyYXAsCi5yZXZfY29sdW1uX2lubmVyIC50cC1wYXJhbGxheC13cmFwIC50cC1tYXNrLXdyYXAgewogICAgdmVydGljYWwtYWxpZ246IHRvcAp9CgoucmV2X2JyZWFrX2NvbHVtbnMgewogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudAp9CgoucmV2X2JyZWFrX2NvbHVtbnMgLnRwLXBhcmFsbGF4LXdyYXAucmV2X2NvbHVtbiB7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudAp9CgouZnVsbHdpZHRoYmFubmVyLWNvbnRhaW5lciB7CiAgICBvdmVyZmxvdzogaGlkZGVuCn0KCi5mdWxsd2lkdGhiYW5uZXItY29udGFpbmVyIC5mdWxsd2lkdGhhYmFubmVyIHsKICAgIHdpZHRoOiAxMDAlOwogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi50cC1zdGF0aWMtbGF5ZXJzIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHotaW5kZXg6IDEwMTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDAKfQoKLnRwLWNhcHRpb24gLmZyb250Y29ybmVyIHsKICAgIGJvcmRlci1sZWZ0OiA0MHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJpZ2h0OiAwIHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXRvcDogNDBweCBzb2xpZCAjMDBhOGZmOwogICAgbGVmdDogLTQwcHgKfQoKLnRwLWNhcHRpb24gLmJhY2tjb3JuZXIgewogICAgYm9yZGVyLWxlZnQ6IDAgc29saWQgdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItcmlnaHQ6IDQwcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItYm90dG9tOiA0MHB4IHNvbGlkICMwMGE4ZmY7CiAgICByaWdodDogMAp9CgoudHAtY2FwdGlvbiAuZnJvbnRjb3JuZXJ0b3AgewogICAgYm9yZGVyLWxlZnQ6IDQwcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItcmlnaHQ6IDAgc29saWQgdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItYm90dG9tOiA0MHB4IHNvbGlkICMwMGE4ZmY7CiAgICBsZWZ0OiAtNDBweAp9CgoudHAtY2FwdGlvbiAuYmFja2Nvcm5lcnRvcCB7CiAgICBib3JkZXItbGVmdDogMCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yaWdodDogNDBweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci10b3A6IDQwcHggc29saWQgIzAwYThmZjsKICAgIHJpZ2h0OiAwCn0KCi50cC1sYXllci1pbm5lci1yb3RhdGlvbiB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudAp9CgppbWcudHAtc2xpZGVyLWFsdGVybmF0aXZlLWltYWdlIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiBhdXRvCn0KCi5jYXB0aW9uLmZ1bGxzY3JlZW52aWRlbywKLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIsCi50cC1jYXB0aW9uLmNvdmVyc2NyZWVudmlkZW8sCi50cC1jYXB0aW9uLmZ1bGxzY3JlZW52aWRlbyB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICBwb3NpdGlvbjogYWJzb2x1dGUKfQoKLm5vRmlsdGVyQ2xhc3MgewogICAgZmlsdGVyOiBub25lICFpbXBvcnRhbnQKfQoKLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIgewogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgei1pbmRleDogMAp9CgouY2FwdGlvbi5mdWxsc2NyZWVudmlkZW8gYXVkaW8sCi5jYXB0aW9uLmZ1bGxzY3JlZW52aWRlbyBpZnJhbWUsCi5jYXB0aW9uLmZ1bGxzY3JlZW52aWRlbyB2aWRlbywKLnRwLWNhcHRpb24uZnVsbHNjcmVlbnZpZGVvIGlmcmFtZSwKLnRwLWNhcHRpb24uZnVsbHNjcmVlbnZpZGVvIGlmcmFtZSBhdWRpbywKLnRwLWNhcHRpb24uZnVsbHNjcmVlbnZpZGVvIGlmcmFtZSB2aWRlbyB7CiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBub25lCn0KCi5mdWxsY292ZXJlZHZpZGVvIGF1ZGlvLAouZnVsbHNjcmVlbnZpZGVvIGF1ZGlvIC5mdWxsY292ZXJlZHZpZGVvIHZpZGVvLAouZnVsbHNjcmVlbnZpZGVvIHZpZGVvIHsKICAgIGJhY2tncm91bmQ6ICMwMDAKfQoKLmZ1bGxjb3ZlcmVkdmlkZW8gLnRwLXBvc3RlciB7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOwogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgdG9wOiAwOwogICAgbGVmdDogMAp9CgoudmlkZW9pc3BsYXlpbmcgLmh0bWw1dmlkIC50cC1wb3N0ZXIgewogICAgZGlzcGxheTogbm9uZQp9CgoudHAtdmlkZW8tcGxheS1idXR0b24gewogICAgYmFja2dyb3VuZDogIzAwMDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjMpOwogICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiA1MCU7CiAgICBsZWZ0OiA1MCU7CiAgICBjb2xvcjogI2ZmZjsKICAgIG1hcmdpbi10b3A6IC0yNXB4OwogICAgbWFyZ2luLWxlZnQ6IC0yNXB4OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgd2lkdGg6IDUwcHg7CiAgICBoZWlnaHQ6IDUwcHg7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgei1pbmRleDogNDsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLW91dCAhaW1wb3J0YW50Cn0KCi50cC1hdWRpby1odG1sNSAudHAtdmlkZW8tcGxheS1idXR0b24sCi50cC1oaWRkZW5hdWRpbyB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQKfQoKLnRwLWNhcHRpb24gLmh0bWw1dmlkIHsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudAp9CgoudHAtdmlkZW8tcGxheS1idXR0b24gaSB7CiAgICB3aWR0aDogNTBweDsKICAgIGhlaWdodDogNTBweDsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGZvbnQtc2l6ZTogNDBweCAhaW1wb3J0YW50Cn0KCi5ycy1mdWxsdmlkZW8tY292ZXIsCi50cC1kb3R0ZWRvdmVybGF5LAoudHAtc2hhZG93Y292ZXIgewogICAgaGVpZ2h0OiAxMDAlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZQp9CgoudHAtY2FwdGlvbjpob3ZlciAudHAtdmlkZW8tcGxheS1idXR0b24gewogICAgb3BhY2l0eTogMTsKICAgIGRpc3BsYXk6IGJsb2NrCn0KCi50cC1jYXB0aW9uIC50cC1yZXZzdG9wIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNmZmYgIWltcG9ydGFudDsKICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICNmZmYgIWltcG9ydGFudDsKICAgIG1hcmdpbi10b3A6IDE1cHggIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgZm9udC1zaXplOiAyNXB4ICFpbXBvcnRhbnQKfQoKLnRwLXNlZWstYmFyLAoudHAtdmlkZW8tYnV0dG9uLAoudHAtdm9sdW1lLWJhciB7CiAgICBvdXRsaW5lOiAwOwogICAgbGluZS1oZWlnaHQ6IDEycHg7CiAgICBtYXJnaW46IDA7CiAgICBjdXJzb3I6IHBvaW50ZXIKfQoKLnZpZGVvaXNwbGF5aW5nIC5yZXZpY29uLXJpZ2h0LWRpciB7CiAgICBkaXNwbGF5OiBub25lCn0KCi52aWRlb2lzcGxheWluZyAudHAtcmV2c3RvcCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sKfQoKLnZpZGVvaXNwbGF5aW5nIC50cC12aWRlby1wbGF5LWJ1dHRvbiB7CiAgICBkaXNwbGF5OiBub25lCn0KCi5mdWxsY292ZXJlZHZpZGVvIC50cC12aWRlby1wbGF5LWJ1dHRvbiB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQKfQoKLmZ1bGxzY3JlZW52aWRlbyAuZnVsbHNjcmVlbnZpZGVvIGF1ZGlvLAouZnVsbHNjcmVlbnZpZGVvIC5mdWxsc2NyZWVudmlkZW8gdmlkZW8gewogICAgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50Cn0KCi5mdWxsc2NyZWVudmlkZW8gLmZ1bGxjb3ZlcmVkdmlkZW8gYXVkaW8sCi5mdWxsc2NyZWVudmlkZW8gLmZ1bGxjb3ZlcmVkdmlkZW8gdmlkZW8gewogICAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudAp9CgoudHAtdmlkZW8tY29udHJvbHMgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYm90dG9tOiAwOwogICAgbGVmdDogMDsKICAgIHJpZ2h0OiAwOwogICAgcGFkZGluZzogNXB4OwogICAgb3BhY2l0eTogMDsKICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzOwogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwMCAxMyUsICMzMjMyMzIgMTAwJSk7CiAgICBkaXNwbGF5OiB0YWJsZTsKICAgIG1heC13aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Cn0KCi5yZXYtYnRuLnJldi1oaWRkZW5pY29uIGksCi5yZXYtYnRuLnJldi13aXRoaWNvbiBpIHsKICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMTVweAp9CgoudHAtY2FwdGlvbjpob3ZlciAudHAtdmlkZW8tY29udHJvbHMgewogICAgb3BhY2l0eTogLjkKfQoKLnRwLXZpZGVvLWJ1dHRvbiB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KTsKICAgIGJvcmRlcjogMDsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGNvbG9yOiAjZmZmOwogICAgcGFkZGluZzogMAp9CgoudHAtdmlkZW8tYnV0dG9uOmhvdmVyIHsKICAgIGN1cnNvcjogcG9pbnRlcgp9CgoudHAtdmlkZW8tYnV0dG9uLXdyYXAsCi50cC12aWRlby1zZWVrLWJhci13cmFwLAoudHAtdmlkZW8tdm9sLWJhci13cmFwIHsKICAgIHBhZGRpbmc6IDAgNXB4OwogICAgZGlzcGxheTogdGFibGUtY2VsbDsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUKfQoKLnRwLXZpZGVvLXNlZWstYmFyLXdyYXAgewogICAgd2lkdGg6IDgwJQp9CgoudHAtdmlkZW8tdm9sLWJhci13cmFwIHsKICAgIHdpZHRoOiAyMCUKfQoKLnRwLXNlZWstYmFyLAoudHAtdm9sdW1lLWJhciB7CiAgICB3aWR0aDogMTAwJTsKICAgIHBhZGRpbmc6IDAKfQoKLnJzLWZ1bGx2aWRlby1jb3ZlciB7CiAgICB3aWR0aDogMTAwJTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIHotaW5kZXg6IDUKfQoKLmRpc2FibGVkX2xjIC50cC12aWRlby1wbGF5LWJ1dHRvbiwKLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIgYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMsCi5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLAoucnMtYmFja2dyb3VuZC12aWRlby1sYXllciB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1zdGFydC1wbGF5YmFjay1idXR0b24gewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Cn0KCi50cC1hdWRpby1odG1sNSAudHAtdmlkZW8tY29udHJvbHMgewogICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OwogICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Cn0KCi50cC1kb3R0ZWRvdmVybGF5IHsKICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7CiAgICB3aWR0aDogMTAwJTsKICAgIHotaW5kZXg6IDMKfQoKLnRwLWRvdHRlZG92ZXJsYXkudHdveHR3byB7CiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2dyaWR0aWxlLmh0bWwpCn0KCi50cC1kb3R0ZWRvdmVybGF5LnR3b3h0d293aGl0ZSB7CiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2dyaWR0aWxlX3doaXRlLmh0bWwpCn0KCi50cC1kb3R0ZWRvdmVybGF5LnRocmVleHRocmVlIHsKICAgIGJhY2tncm91bmQ6IHVybCguLi9hc3NldHMvZ3JpZHRpbGVfM3gzLmh0bWwpCn0KCi50cC1kb3R0ZWRvdmVybGF5LnRocmVleHRocmVld2hpdGUgewogICAgYmFja2dyb3VuZDogdXJsKC4uL2Fzc2V0cy9ncmlkdGlsZV8zeDNfd2hpdGUuaHRtbCkKfQoKLnRwLXNoYWRvd2NvdmVyIHsKICAgIHdpZHRoOiAxMDAlOwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIHotaW5kZXg6IC0xCn0KCi50cC1zaGFkb3cxIHsKICAgIGJveC1zaGFkb3c6IDAgMTBweCA2cHggLTZweCByZ2JhKDAsIDAsIDAsIC44KQp9CgoudHAtc2hhZG93MjphZnRlciwKLnRwLXNoYWRvdzI6YmVmb3JlLAoudHAtc2hhZG93MzpiZWZvcmUsCi50cC1zaGFkb3c0OmFmdGVyIHsKICAgIHotaW5kZXg6IC0yOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogIiI7CiAgICBib3R0b206IDEwcHg7CiAgICBsZWZ0OiAxMHB4OwogICAgd2lkdGg6IDUwJTsKICAgIHRvcDogODUlOwogICAgbWF4LXdpZHRoOiAzMDBweDsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGJveC1zaGFkb3c6IDAgMTVweCAxMHB4IHJnYmEoMCwgMCwgMCwgLjgpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpCn0KCi50cC1zaGFkb3cyOmFmdGVyLAoudHAtc2hhZG93NDphZnRlciB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTsKICAgIHJpZ2h0OiAxMHB4OwogICAgbGVmdDogYXV0bwp9CgoudHAtc2hhZG93NSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAuMyksIDAgMCA0MHB4IHJnYmEoMCwgMCwgMCwgLjEpIGluc2V0Cn0KCi50cC1zaGFkb3c1OmFmdGVyLAoudHAtc2hhZG93NTpiZWZvcmUgewogICAgY29udGVudDogIiI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB6LWluZGV4OiAtMjsKICAgIGJveC1zaGFkb3c6IDAgMCAyNXB4IDAgcmdiYSgwLCAwLCAwLCAuNik7CiAgICB0b3A6IDMwJTsKICAgIGJvdHRvbTogMDsKICAgIGxlZnQ6IDIwcHg7CiAgICByaWdodDogMjBweDsKICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4LzIwcHgKfQoKLnRwLWJ1dHRvbiB7CiAgICBwYWRkaW5nOiA2cHggMTNweCA1cHg7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBoZWlnaHQ6IDMwcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OwogICAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC42KSAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGluZS1oZWlnaHQ6IDQ1cHggIWltcG9ydGFudDsKICAgIGZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogLTFweDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZQp9CgoudHAtYnV0dG9uLmJpZyB7CiAgICBjb2xvcjogI2ZmZjsKICAgIHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuNik7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgcGFkZGluZzogOXB4IDIwcHg7CiAgICBmb250LXNpemU6IDE5cHg7CiAgICBsaW5lLWhlaWdodDogNTdweCAhaW1wb3J0YW50Cn0KCi5wdXJjaGFzZTpob3ZlciwKLnRwLWJ1dHRvbi5iaWc6aG92ZXIsCi50cC1idXR0b246aG92ZXIgewogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tLCAxNXB4IDExcHgKfQoKLnB1cmNoYXNlLmdyZWVuLAoucHVyY2hhc2U6aG92ZXIuZ3JlZW4sCi50cC1idXR0b24uZ3JlZW4sCi50cC1idXR0b246aG92ZXIuZ3JlZW4gewogICAgYmFja2dyb3VuZC1jb2xvcjogIzIxYTExNzsKICAgIGJveC1zaGFkb3c6IDAgM3B4IDAgMCAjMTA0ZDBiCn0KCi5wdXJjaGFzZS5ibHVlLAoucHVyY2hhc2U6aG92ZXIuYmx1ZSwKLnRwLWJ1dHRvbi5ibHVlLAoudHAtYnV0dG9uOmhvdmVyLmJsdWUgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzFkNzhjYjsKICAgIGJveC1zaGFkb3c6IDAgM3B4IDAgMCAjMGYzZTY4Cn0KCi5wdXJjaGFzZS5yZWQsCi5wdXJjaGFzZTpob3Zlci5yZWQsCi50cC1idXR0b24ucmVkLAoudHAtYnV0dG9uOmhvdmVyLnJlZCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2IxZDFkOwogICAgYm94LXNoYWRvdzogMCAzcHggMCAwICM3YzEyMTIKfQoKLnB1cmNoYXNlLm9yYW5nZSwKLnB1cmNoYXNlOmhvdmVyLm9yYW5nZSwKLnRwLWJ1dHRvbi5vcmFuZ2UsCi50cC1idXR0b246aG92ZXIub3JhbmdlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmNzA7CiAgICBib3gtc2hhZG93OiAwIDNweCAwIDAgI2EzNGMwMAp9CgoucHVyY2hhc2UuZGFya2dyZXksCi5wdXJjaGFzZTpob3Zlci5kYXJrZ3JleSwKLnRwLWJ1dHRvbi5kYXJrZ3JleSwKLnRwLWJ1dHRvbi5ncmV5LAoudHAtYnV0dG9uOmhvdmVyLmRhcmtncmV5LAoudHAtYnV0dG9uOmhvdmVyLmdyZXkgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTsKICAgIGJveC1zaGFkb3c6IDAgM3B4IDAgMCAjMjIyCn0KCi5wdXJjaGFzZS5saWdodGdyZXksCi5wdXJjaGFzZTpob3Zlci5saWdodGdyZXksCi50cC1idXR0b24ubGlnaHRncmV5LAoudHAtYnV0dG9uOmhvdmVyLmxpZ2h0Z3JleSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4OwogICAgYm94LXNoYWRvdzogMCAzcHggMCAwICM1NTUKfQoKLnJldi1idG4sCi5yZXYtYnRuOnZpc2l0ZWQgewogICAgb3V0bGluZTogMCAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogNDRweDsKICAgIGZvbnQtc2l6ZTogMTdweDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBwYWRkaW5nOiAxMnB4IDM1cHg7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjsKICAgIGN1cnNvcjogcG9pbnRlcgp9CgoucmV2LWJ0bi5yZXYtdXBwZXJjYXNlLAoucmV2LWJ0bi5yZXYtdXBwZXJjYXNlOnZpc2l0ZWQgewogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGxldHRlci1zcGFjaW5nOiAxcHg7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBmb250LXdlaWdodDogOTAwCn0KCi5yZXYtYnRuLnJldi13aXRoaWNvbiBpIHsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0b3A6IDA7CiAgICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50Cn0KCi5yZXYtYnRuLnJldi1oaWRkZW5pY29uIGkgewogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRvcDogMDsKICAgIG9wYWNpdHk6IDA7CiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OwogICAgd2lkdGg6IDAgIWltcG9ydGFudAp9CgoucmV2LWJ0bi5yZXYtaGlkZGVuaWNvbjpob3ZlciBpIHsKICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50Cn0KCi5yZXYtYnRuLnJldi1tZWRpdW0sCi5yZXYtYnRuLnJldi1tZWRpdW06dmlzaXRlZCB7CiAgICBsaW5lLWhlaWdodDogMzZweDsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIHBhZGRpbmc6IDEwcHggMzBweAp9CgoucmV2LWJ0bi5yZXYtbWVkaXVtLnJldi1oaWRkZW5pY29uIGksCi5yZXYtYnRuLnJldi1tZWRpdW0ucmV2LXdpdGhpY29uIGkgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgdG9wOiAwCn0KCi5yZXYtYnRuLnJldi1zbWFsbCwKLnJldi1idG4ucmV2LXNtYWxsOnZpc2l0ZWQgewogICAgbGluZS1oZWlnaHQ6IDI4cHg7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBwYWRkaW5nOiA3cHggMjBweAp9CgoucmV2LWJ0bi5yZXYtc21hbGwucmV2LWhpZGRlbmljb24gaSwKLnJldi1idG4ucmV2LXNtYWxsLnJldi13aXRoaWNvbiBpIHsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIHRvcDogMAp9CgoucmV2LW1heHJvdW5kIHsKICAgIGJvcmRlci1yYWRpdXM6IDMwcHgKfQoKLnJldi1taW5yb3VuZCB7CiAgICBib3JkZXItcmFkaXVzOiAzcHgKfQoKLnJldi1idXJnZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgd2lkdGg6IDYwcHg7CiAgICBoZWlnaHQ6IDYwcHg7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgcGFkZGluZzogMjJweCAwIDAgMTRweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTEsIDUxLCA1MSwgLjI1KTsKICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBjdXJzb3I6IHBvaW50ZXIKfQoKLnJldi1idXJnZXIgc3BhbiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAzMHB4OwogICAgaGVpZ2h0OiAzcHg7CiAgICBiYWNrZ3JvdW5kOiAjMzMzOwogICAgdHJhbnNpdGlvbjogLjdzOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB0cmFuc2Zvcm0tc3R5bGU6IGZsYXQgIWltcG9ydGFudAp9CgoucmV2LWJ1cmdlci5yZXZiLXdoaXRlIHNwYW4sCi5yZXYtYnVyZ2VyLnJldmItd2hpdGVub2JvcmRlciBzcGFuIHsKICAgIGJhY2tncm91bmQ6ICNmZmYKfQoKLnJldi1idXJnZXIgc3BhbjpudGgtY2hpbGQoMikgewogICAgbWFyZ2luOiAzcHggMAp9CgojZGlhbG9nX2FkZGJ1dHRvbiAucmV2LWJ1cmdlcjpob3ZlciA6Zmlyc3QtY2hpbGQsCi5vcGVuIC5yZXYtYnVyZ2VyIDpmaXJzdC1jaGlsZCwKLm9wZW4ucmV2LWJ1cmdlciA6Zmlyc3QtY2hpbGQgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCkgcm90YXRlKC00NWRlZykKfQoKI2RpYWxvZ19hZGRidXR0b24gLnJldi1idXJnZXI6aG92ZXIgOm50aC1jaGlsZCgyKSwKLm9wZW4gLnJldi1idXJnZXIgOm50aC1jaGlsZCgyKSwKLm9wZW4ucmV2LWJ1cmdlciA6bnRoLWNoaWxkKDIpIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7CiAgICBvcGFjaXR5OiAwCn0KCiNkaWFsb2dfYWRkYnV0dG9uIC5yZXYtYnVyZ2VyOmhvdmVyIDpsYXN0LWNoaWxkLAoub3BlbiAucmV2LWJ1cmdlciA6bGFzdC1jaGlsZCwKLm9wZW4ucmV2LWJ1cmdlciA6bGFzdC1jaGlsZCB7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCkgcm90YXRlKC0xMzVkZWcpCn0KCi5yZXYtYnVyZ2VyLnJldmItd2hpdGUgewogICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMikKfQoKLnJldi1idXJnZXIucmV2Yi1kYXJrbm9ib3JkZXIsCi5yZXYtYnVyZ2VyLnJldmItd2hpdGVub2JvcmRlciB7CiAgICBib3JkZXI6IDAKfQoKLnJldi1idXJnZXIucmV2Yi1kYXJrbm9ib3JkZXIgc3BhbiB7CiAgICBiYWNrZ3JvdW5kOiAjMzMzCn0KCi5yZXYtYnVyZ2VyLnJldmItd2hpdGVmdWxsIHsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBib3JkZXI6IG5vbmUKfQoKLnJldi1idXJnZXIucmV2Yi13aGl0ZWZ1bGwgc3BhbiB7CiAgICBiYWNrZ3JvdW5kOiAjMzMzCn0KCi5yZXYtYnVyZ2VyLnJldmItZGFya2Z1bGwgewogICAgYmFja2dyb3VuZDogIzMzMzsKICAgIGJvcmRlcjogbm9uZQp9CgoucmV2LWJ1cmdlci5yZXZiLWRhcmtmdWxsIHNwYW4sCi5yZXYtc2Nyb2xsLWJ0bi5yZXZzLWZ1bGx3aGl0ZSB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCkBrZXlmcmFtZXMgcmV2LWFuaS1tb3VzZSB7CiAgICAwJSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0b3A6IDI5JQogICAgfQogICAgMTUlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRvcDogNTAlCiAgICB9CiAgICA1MCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdG9wOiA1MCUKICAgIH0KICAgIDEwMCUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdG9wOiAyOSUKICAgIH0KfQoKLnJldi1zY3JvbGwtYnRuIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGxlZnQ6IDA7CiAgICByaWdodDogMDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHdpZHRoOiAzNXB4OwogICAgaGVpZ2h0OiA1NXB4OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7CiAgICBib3JkZXItcmFkaXVzOiAyM3B4Cn0KCi5yZXYtc2Nyb2xsLWJ0bj4qIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGxpbmUtaGVpZ2h0OiAxOHB4OwogICAgZm9udC1zaXplOiAxM3B4OwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1mYW1pbHk6IHByb3hpbWEtbm92YSwgIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKICAgIGxldHRlci1zcGFjaW5nOiAycHgKfQoKLnJldi1zY3JvbGwtYnRuPi5hY3RpdmUsCi5yZXYtc2Nyb2xsLWJ0bj46Zm9jdXMsCi5yZXYtc2Nyb2xsLWJ0bj46aG92ZXIgewogICAgY29sb3I6ICNmZmYKfQoKLnJldi1zY3JvbGwtYnRuPi5hY3RpdmUsCi5yZXYtc2Nyb2xsLWJ0bj46YWN0aXZlLAoucmV2LXNjcm9sbC1idG4+OmZvY3VzLAoucmV2LXNjcm9sbC1idG4+OmhvdmVyIHsKICAgIG9wYWNpdHk6IC44Cn0KCi5yZXYtc2Nyb2xsLWJ0bi5yZXZzLWZ1bGx3aGl0ZSBzcGFuIHsKICAgIGJhY2tncm91bmQ6ICMzMzMKfQoKLnJldi1zY3JvbGwtYnRuLnJldnMtZnVsbGRhcmsgewogICAgYmFja2dyb3VuZDogIzMzMzsKICAgIGJvcmRlcjogbm9uZQp9CgoucmV2LXNjcm9sbC1idG4ucmV2cy1mdWxsZGFyayBzcGFuLAoudHAtYnVsbGV0IHsKICAgIGJhY2tncm91bmQ6ICNmZmYKfQoKLnJldi1zY3JvbGwtYnRuIHNwYW4gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB0b3A6IDI5JTsKICAgIGxlZnQ6IDUwJTsKICAgIHdpZHRoOiA4cHg7CiAgICBoZWlnaHQ6IDhweDsKICAgIG1hcmdpbjogLTRweCAwIDAgLTRweDsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBhbmltYXRpb246IHJldi1hbmktbW91c2UgMi41cyBsaW5lYXIgaW5maW5pdGUKfQoKLnJldi1zY3JvbGwtYnRuLnJldnMtZGFyayB7CiAgICBib3JkZXItY29sb3I6ICMzMzMKfQoKLnJldi1zY3JvbGwtYnRuLnJldnMtZGFyayBzcGFuIHsKICAgIGJhY2tncm91bmQ6ICMzMzMKfQoKLnJldi1jb250cm9sLWJ0biB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB6LWluZGV4OiA1OwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDIwcHg7CiAgICBsaW5lLWhlaWdodDogNjBweDsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBmb250LWZhbWlseTogUmFsZXdheTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7CiAgICBib3JkZXItcmFkaXVzOiA1MHB4OwogICAgdGV4dC1zaGFkb3c6IG5vbmU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC41KTsKICAgIHdpZHRoOiA2MHB4OwogICAgaGVpZ2h0OiA2MHB4OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGN1cnNvcjogcG9pbnRlcgp9CgoucmV2LWNidXR0b24tZGFyay1zciwKLnJldi1jYnV0dG9uLWxpZ2h0LXNyIHsKICAgIGJvcmRlci1yYWRpdXM6IDNweAp9CgoucmV2LWNidXR0b24tbGlnaHQsCi5yZXYtY2J1dHRvbi1saWdodC1zciB7CiAgICBjb2xvcjogIzMzMzsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjc1KQp9CgoucmV2LXNidXR0b24gewogICAgbGluZS1oZWlnaHQ6IDM3cHg7CiAgICB3aWR0aDogMzdweDsKICAgIGhlaWdodDogMzdweAp9CgoucmV2LXNidXR0b24tYmx1ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I1OTk4Cn0KCi5yZXYtc2J1dHRvbi1saWdodGJsdWUgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTBkMQp9CgoucmV2LXNidXR0b24tcmVkIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNkZDRiMzkKfQoKLnRwLWJhbm5lcnRpbWVyIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiA1cHg7CiAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMTUpOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgei1pbmRleDogMjAwOwogICAgdG9wOiAwCn0KCi50cC1iYW5uZXJ0aW1lci50cC1ib3R0b20gewogICAgdG9wOiBhdXRvOwogICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7CiAgICBoZWlnaHQ6IDVweAp9CgoudHAtY2FwdGlvbiBpbWcgewogICAgYmFja2dyb3VuZDogMCAwOwogICAgLW1zLWZpbHRlcjogInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSMwMEZGRkZGRixlbmRDb2xvcnN0cj0jMDBGRkZGRkYpIjsKICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IzAwRkZGRkZGLCBlbmRDb2xvcnN0cj0jMDBGRkZGRkYpOwogICAgem9vbTogMQp9CgouY2FwdGlvbi5zbGlkZWxpbmsgYSBkaXYsCi50cC1jYXB0aW9uLnNsaWRlbGluayBhIGRpdiB7CiAgICB3aWR0aDogMzAwMHB4OwogICAgaGVpZ2h0OiAxNTAwcHg7CiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2NvbG9yZWRiZy5odG1sKQp9CgoudHAtY2FwdGlvbi5zbGlkZWxpbmsgYSBzcGFuIHsKICAgIGJhY2tncm91bmQ6IHVybCguLi9hc3NldHMvY29sb3JlZGJnLmh0bWwpCn0KCi50cC1sb2FkZXIuc3Bpbm5lcjAsCi50cC1sb2FkZXIuc3Bpbm5lcjUgewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy9sb2FkZXIuaHRtbCk7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Cn0KCi50cC1zaGFwZSB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJQp9CgoudHAtY2FwdGlvbiAucnMtc3RhcnJpbmcgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrCn0KCi50cC1jYXB0aW9uIC5ycy1zdGFycmluZyAuc3Rhci1yYXRpbmcgewogICAgZmxvYXQ6IG5vbmU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgY29sb3I6ICNmZmMzMjEgIWltcG9ydGFudAp9CgoudHAtY2FwdGlvbiAucnMtc3RhcnJpbmcgLnN0YXItcmF0aW5nLAoudHAtY2FwdGlvbiAucnMtc3RhcnJpbmctcGFnZSAuc3Rhci1yYXRpbmcgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgaGVpZ2h0OiAxZW07CiAgICB3aWR0aDogNS40ZW07CiAgICBmb250LWZhbWlseTogc3RhcjsKICAgIGZvbnQtc2l6ZTogMWVtICFpbXBvcnRhbnQKfQoKLnRwLWxvYWRlci5zcGlubmVyMCwKLnRwLWxvYWRlci5zcGlubmVyMSB7CiAgICB3aWR0aDogNDBweDsKICAgIGhlaWdodDogNDBweDsKICAgIG1hcmdpbi10b3A6IC0yMHB4OwogICAgbWFyZ2luLWxlZnQ6IC0yMHB4OwogICAgYW5pbWF0aW9uOiB0cC1yb3RhdGVwbGFuZSAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAuMTUpCn0KCi50cC1jYXB0aW9uIC5ycy1zdGFycmluZyAuc3Rhci1yYXRpbmc6YmVmb3JlLAoudHAtY2FwdGlvbiAucnMtc3RhcnJpbmctcGFnZSAuc3Rhci1yYXRpbmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNzNcNzNcNzNcNzNcNzMiOwogICAgY29sb3I6ICNlMGRhZGY7CiAgICBmbG9hdDogbGVmdDsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICBwb3NpdGlvbjogYWJzb2x1dGUKfQoKLnRwLWNhcHRpb24gLnJzLXN0YXJyaW5nIC5zdGFyLXJhdGluZyBzcGFuIHsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBmbG9hdDogbGVmdDsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBwYWRkaW5nLXRvcDogMS41ZW07CiAgICBmb250LXNpemU6IDFlbSAhaW1wb3J0YW50Cn0KCi50cC1jYXB0aW9uIC5ycy1zdGFycmluZyAuc3Rhci1yYXRpbmcgc3BhbjpiZWZvcmUgewogICAgY29udGVudDogIlw1M1w1M1w1M1w1M1w1MyI7CiAgICB0b3A6IDA7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAwCn0KCi50cC1sb2FkZXIgewogICAgdG9wOiA1MCU7CiAgICBsZWZ0OiA1MCU7CiAgICB6LWluZGV4OiAxMDAwMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZQp9CgoudHAtbG9hZGVyLnNwaW5uZXIwIHsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXIKfQoKLnRwLWxvYWRlci5zcGlubmVyNSB7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMHB4IDEwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgbWFyZ2luOiAtMjJweDsKICAgIHdpZHRoOiA0NHB4OwogICAgaGVpZ2h0OiA0NHB4OwogICAgYm9yZGVyLXJhZGl1czogM3B4Cn0KCkBrZXlmcmFtZXMgdHAtcm90YXRlcGxhbmUgewogICAgMCUgewogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVgoMCkgcm90YXRlWSgwKQogICAgfQogICAgNTAlIHsKICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVYKC0xODAuMWRlZykgcm90YXRlWSgwKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMjBweCkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKC0xNzkuOWRlZykKICAgIH0KfQoKLnRwLWxvYWRlci5zcGlubmVyMiB7CiAgICB3aWR0aDogNDBweDsKICAgIGhlaWdodDogNDBweDsKICAgIG1hcmdpbi10b3A6IC0yMHB4OwogICAgbWFyZ2luLWxlZnQ6IC0yMHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOwogICAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDAsIDAsIDAsIC4xNSk7CiAgICBib3JkZXItcmFkaXVzOiAxMDAlOwogICAgYW5pbWF0aW9uOiB0cC1zY2FsZW91dCAxcyBpbmZpbml0ZSBlYXNlLWluLW91dAp9CgpAa2V5ZnJhbWVzIHRwLXNjYWxlb3V0IHsKICAgIDAlIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApCiAgICB9CiAgICAxMDAlIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgICAgIG9wYWNpdHk6IDAKICAgIH0KfQoKLnRwLWxvYWRlci5zcGlubmVyMyB7CiAgICBtYXJnaW46IC05cHggMCAwIC0zNXB4OwogICAgd2lkdGg6IDcwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIKfQoKLnRwLWxvYWRlci5zcGlubmVyMyAuYm91bmNlMSwKLnRwLWxvYWRlci5zcGlubmVyMyAuYm91bmNlMiwKLnRwLWxvYWRlci5zcGlubmVyMyAuYm91bmNlMyB7CiAgICB3aWR0aDogMThweDsKICAgIGhlaWdodDogMThweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMCwgMCwgMCwgLjE1KTsKICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBhbmltYXRpb246IHRwLWJvdW5jZWRlbGF5IDEuNHMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7CiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoCn0KCi50cC1sb2FkZXIuc3Bpbm5lcjMgLmJvdW5jZTEgewogICAgYW5pbWF0aW9uLWRlbGF5OiAtLjMycwp9CgoudHAtbG9hZGVyLnNwaW5uZXIzIC5ib3VuY2UyIHsKICAgIGFuaW1hdGlvbi1kZWxheTogLS4xNnMKfQoKQGtleWZyYW1lcyB0cC1ib3VuY2VkZWxheSB7CiAgICAwJSwKICAgIDEwMCUsCiAgICA4MCUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkKICAgIH0KICAgIDQwJSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKQogICAgfQp9CgoudHAtbG9hZGVyLnNwaW5uZXI0IHsKICAgIG1hcmdpbjogLTIwcHggMCAwIC0yMHB4OwogICAgd2lkdGg6IDQwcHg7CiAgICBoZWlnaHQ6IDQwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBhbmltYXRpb246IHRwLXJvdGF0ZSAycyBpbmZpbml0ZSBsaW5lYXIKfQoKLnRwLWxvYWRlci5zcGlubmVyNCAuZG90MSwKLnRwLWxvYWRlci5zcGlubmVyNCAuZG90MiB7CiAgICB3aWR0aDogNjAlOwogICAgaGVpZ2h0OiA2MCU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgIGFuaW1hdGlvbjogdHAtYm91bmNlIDJzIGluZmluaXRlIGVhc2UtaW4tb3V0OwogICAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDAsIDAsIDAsIC4xNSkKfQoKLnRwLWxvYWRlci5zcGlubmVyNCAuZG90MiB7CiAgICB0b3A6IGF1dG87CiAgICBib3R0b206IDA7CiAgICBhbmltYXRpb24tZGVsYXk6IC0xcwp9CgpAa2V5ZnJhbWVzIHRwLXJvdGF0ZSB7CiAgICAxMDAlIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpCiAgICB9Cn0KCkBrZXlmcmFtZXMgdHAtYm91bmNlIHsKICAgIDAlLAogICAgMTAwJSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKQogICAgfQogICAgNTAlIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpCiAgICB9Cn0KCi50cC1idWxsZXRzLm5hdmJhciwKLnRwLXRhYnMubmF2YmFyLAoudHAtdGh1bWJzLm5hdmJhciB7CiAgICBib3JkZXI6IG5vbmU7CiAgICBtaW4taGVpZ2h0OiAwOwogICAgbWFyZ2luOiAwOwogICAgYm9yZGVyLXJhZGl1czogMAp9CgoudHAtYnVsbGV0cywKLnRwLXRhYnMsCi50cC10aHVtYnMgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB6LWluZGV4OiAxMDAwOwogICAgdG9wOiAwOwogICAgbGVmdDogMAp9CgoudHAtdGFiLAoudHAtdGh1bWIgewogICAgY3Vyc29yOiBwb2ludGVyOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgb3BhY2l0eTogLjU7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Cn0KCi50cC1hcnItaW1naG9sZGVyLAoudHAtdGFiLWltYWdlLAoudHAtdGh1bWItaW1hZ2UsCi50cC12aWRlb3Bvc3RlciB7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOwogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwCn0KCi50cC10YWIuc2VsZWN0ZWQsCi50cC10YWI6aG92ZXIsCi50cC10aHVtYi5zZWxlY3RlZCwKLnRwLXRodW1iOmhvdmVyIHsKICAgIG9wYWNpdHk6IDEKfQoKLnRwLXRhYi1tYXNrLAoudHAtdGh1bWItbWFzayB7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQKfQoKLnRwLXRhYnMsCi50cC10aHVtYnMgewogICAgYm94LXNpemluZzogY29udGVudC1ib3ggIWltcG9ydGFudAp9CgoudHAtYnVsbGV0IHsKICAgIHdpZHRoOiAxNXB4OwogICAgaGVpZ2h0OiAxNXB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMyk7CiAgICBjdXJzb3I6IHBvaW50ZXIKfQoKLnRwLWJ1bGxldC5zZWxlY3RlZCwKLnRwLWJ1bGxldDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCi50cGFycm93cyB7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNSk7CiAgICB3aWR0aDogNDBweDsKICAgIGhlaWdodDogNDBweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgei1pbmRleDogMTAwMAp9CgoudHBhcnJvd3M6aG92ZXIgewogICAgYmFja2dyb3VuZDogIzAwMAp9CgoudHBhcnJvd3M6YmVmb3JlIHsKICAgIGZvbnQtZmFtaWx5OiByZXZpY29uczsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGNvbG9yOiAjZmZmOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBsaW5lLWhlaWdodDogNDBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcgp9CgouaGdpbmZvLAouaGdsYXllcmluZm8gewogICAgZm9udC1zaXplOiAxMnB4OwogICAgZm9udC13ZWlnaHQ6IDYwMAp9CgoudHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MjQnCn0KCi50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGU4MjUnCn0KCmJvZHkucnRsIC50cC1rYmltZyB7CiAgICBsZWZ0OiAwICFpbXBvcnRhbnQKfQoKLmRkZHdyYXBwZXJzaGFkb3cgewogICAgYm94LXNoYWRvdzogMCA0NXB4IDEwMHB4IHJnYmEoMCwgMCwgMCwgLjQpCn0KCi5oZ2xheWVyaW5mbyB7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAwOwogICAgY29sb3I6ICNmZmY7CiAgICBsaW5lLWhlaWdodDogMjBweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjc1KTsKICAgIHBhZGRpbmc6IDVweCAxMHB4OwogICAgei1pbmRleDogMjAwMDsKICAgIHdoaXRlLXNwYWNlOiBub3JtYWwKfQoKLmhlbHBncmlkLAouaGdpbmZvIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZQp9CgouaGdpbmZvIHsKICAgIHRvcDogLTJweDsKICAgIGxlZnQ6IC0ycHg7CiAgICBjb2xvcjogI2U3NGMzYzsKICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICBwYWRkaW5nOiAycHggNXB4Cn0KCi5pbmRlYnVnbW9kZSAudHAtY2FwdGlvbjpob3ZlciB7CiAgICBib3JkZXI6IDFweCBkYXNoZWQgI2MwMzkyYiAhaW1wb3J0YW50Cn0KCi5oZWxwZ3JpZCB7CiAgICBib3JkZXI6IDJweCBkYXNoZWQgI2MwMzkyYjsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAwCn0KCiNyZXZzbGlkZXJsb2dsb2dsb2cgewogICAgcGFkZGluZzogMTVweDsKICAgIGNvbG9yOiAjZmZmOwogICAgcG9zaXRpb246IGZpeGVkOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAyMDBweDsKICAgIGhlaWdodDogMTUwcHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC43KTsKICAgIHotaW5kZXg6IDEwMDAwMDsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIG92ZXJmbG93OiBzY3JvbGwKfQoKLmFkZW4gewogICAgZmlsdGVyOiBodWUtcm90YXRlKC0yMGRlZykgY29udHJhc3QoLjkpIHNhdHVyYXRlKC44NSkgYnJpZ2h0bmVzcygxLjIpCn0KCi5hZGVuOjphZnRlciB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoNjYsIDEwLCAxNCwgLjIpLCB0cmFuc3BhcmVudCk7CiAgICBtaXgtYmxlbmQtbW9kZTogZGFya2VuCn0KCi5wZXJwZXR1YTo6YWZ0ZXIsCi5yZXllczo6YWZ0ZXIgewogICAgbWl4LWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7CiAgICBvcGFjaXR5OiAuNQp9CgouaW5rd2VsbCB7CiAgICBmaWx0ZXI6IHNlcGlhKC4zKSBjb250cmFzdCgxLjEpIGJyaWdodG5lc3MoMS4xKSBncmF5c2NhbGUoMSkKfQoKLnBlcnBldHVhOjphZnRlciB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDA1YjlhLCAjZTZjMTNkKQp9CgoucmV5ZXMgewogICAgZmlsdGVyOiBzZXBpYSguMjIpIGJyaWdodG5lc3MoMS4xKSBjb250cmFzdCguODUpIHNhdHVyYXRlKC43NSkKfQoKLnJleWVzOjphZnRlciB7CiAgICBiYWNrZ3JvdW5kOiAjZWZjZGFkCn0KCi5naW5naGFtIHsKICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxLjA1KSBodWUtcm90YXRlKC0xMGRlZykKfQoKLmdpbmdoYW06OmFmdGVyIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSg2NiwgMTAsIDE0LCAuMiksIHRyYW5zcGFyZW50KTsKICAgIG1peC1ibGVuZC1tb2RlOiBkYXJrZW4KfQoKLnRvYXN0ZXIgewogICAgZmlsdGVyOiBjb250cmFzdCgxLjUpIGJyaWdodG5lc3MoLjkpCn0KCi50b2FzdGVyOjphZnRlciB7CiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAjODA0ZTBmLCAjM2IwMDNiKTsKICAgIG1peC1ibGVuZC1tb2RlOiBzY3JlZW4KfQoKLndhbGRlbiB7CiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMS4xKSBodWUtcm90YXRlKC0xMGRlZykgc2VwaWEoLjMpIHNhdHVyYXRlKDEuNikKfQoKLndhbGRlbjo6YWZ0ZXIgewogICAgYmFja2dyb3VuZDogIzA0YzsKICAgIG1peC1ibGVuZC1tb2RlOiBzY3JlZW47CiAgICBvcGFjaXR5OiAuMwp9CgouaHVkc29uIHsKICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxLjIpIGNvbnRyYXN0KC45KSBzYXR1cmF0ZSgxLjEpCn0KCi5odWRzb246OmFmdGVyIHsKICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICNhNmIxZmYgNTAlLCAjMzQyMTM0KTsKICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTsKICAgIG9wYWNpdHk6IC41Cn0KCi5lYXJseWJpcmQgewogICAgZmlsdGVyOiBjb250cmFzdCguOSkgc2VwaWEoLjIpCn0KCi5lYXJseWJpcmQ6OmFmdGVyIHsKICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICNkMGJhOGUgMjAlLCAjMzYwMzA5IDg1JSwgIzFkMDIxMCAxMDAlKTsKICAgIG1peC1ibGVuZC1tb2RlOiBvdmVybGF5Cn0KCi5tYXlmYWlyIHsKICAgIGZpbHRlcjogY29udHJhc3QoMS4xKSBzYXR1cmF0ZSgxLjEpCn0KCi5tYXlmYWlyOjphZnRlciB7CiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDQwJSA0MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpLCByZ2JhKDI1NSwgMjAwLCAyMDAsIC42KSwgIzExMSA2MCUpOwogICAgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7CiAgICBvcGFjaXR5OiAuNAp9CgoubG9maSB7CiAgICBmaWx0ZXI6IHNhdHVyYXRlKDEuMSkgY29udHJhc3QoMS41KQp9CgoubG9maTo6YWZ0ZXIgewogICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgdHJhbnNwYXJlbnQgNzAlLCAjMjIyIDE1MCUpOwogICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5Cn0KCi5fMTk3NyB7CiAgICBmaWx0ZXI6IGNvbnRyYXN0KDEuMSkgYnJpZ2h0bmVzcygxLjEpIHNhdHVyYXRlKDEuMykKfQoKLl8xOTc3OmFmdGVyIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjQzLCAxMDYsIDE4OCwgLjMpOwogICAgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbgp9CgouYnJvb2tseW4gewogICAgZmlsdGVyOiBjb250cmFzdCguOSkgYnJpZ2h0bmVzcygxLjEpCn0KCi5icm9va2x5bjo6YWZ0ZXIgewogICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgxNjgsIDIyMywgMTkzLCAuNCkgNzAlLCAjYzRiN2M4KTsKICAgIG1peC1ibGVuZC1tb2RlOiBvdmVybGF5Cn0KCi54cHJvMiB7CiAgICBmaWx0ZXI6IHNlcGlhKC4zKQp9CgoueHBybzI6OmFmdGVyIHsKICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICNlNmU3ZTAgNDAlLCByZ2JhKDQzLCA0MiwgMTYxLCAuNikgMTEwJSk7CiAgICBtaXgtYmxlbmQtbW9kZTogY29sb3ItYnVybgp9CgoubmFzaHZpbGxlIHsKICAgIGZpbHRlcjogc2VwaWEoLjIpIGNvbnRyYXN0KDEuMikgYnJpZ2h0bmVzcygxLjA1KSBzYXR1cmF0ZSgxLjIpCn0KCi5uYXNodmlsbGU6OmFmdGVyIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgNzAsIDE1MCwgLjQpOwogICAgbWl4LWJsZW5kLW1vZGU6IGxpZ2h0ZW4KfQoKLm5hc2h2aWxsZTo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ3LCAxNzYsIDE1MywgLjU2KTsKICAgIG1peC1ibGVuZC1tb2RlOiBkYXJrZW4KfQoKLmxhcmsgewogICAgZmlsdGVyOiBjb250cmFzdCguOSkKfQoKLmxhcms6OmFmdGVyIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjQyLCAyNDIsIDI0MiwgLjgpOwogICAgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbgp9CgoubGFyazo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6ICMyMjI1M2Y7CiAgICBtaXgtYmxlbmQtbW9kZTogY29sb3ItZG9kZ2UKfQoKLm1vb24gewogICAgZmlsdGVyOiBncmF5c2NhbGUoMSkgY29udHJhc3QoMS4xKSBicmlnaHRuZXNzKDEuMSkKfQoKLm1vb246OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiAjYTBhMGEwOwogICAgbWl4LWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQKfQoKLm1vb246OmFmdGVyIHsKICAgIGJhY2tncm91bmQ6ICMzODM4Mzg7CiAgICBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbgp9CgouY2xhcmVuZG9uIHsKICAgIGZpbHRlcjogY29udHJhc3QoMS4yKSBzYXR1cmF0ZSgxLjM1KQp9CgouY2xhcmVuZG9uOmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNywgMTg3LCAyMjcsIC4yKTsKICAgIG1peC1ibGVuZC1tb2RlOiBvdmVybGF5Cn0KCi53aWxsb3cgewogICAgZmlsdGVyOiBncmF5c2NhbGUoLjUpIGNvbnRyYXN0KC45NSkgYnJpZ2h0bmVzcyguOSkKfQoKLndpbGxvdzo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHJhZGlhbC1ncmFkaWVudCg0MCUsIGNpcmNsZSwgI2Q0YTlhZiA1NSUsICMwMDAgMTUwJSk7CiAgICBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheQp9Cgoud2lsbG93OjphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhjZGNiOwogICAgbWl4LWJsZW5kLW1vZGU6IGNvbG9yCn0KCi5yaXNlIHsKICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxLjA1KSBzZXBpYSguMikgY29udHJhc3QoLjkpIHNhdHVyYXRlKC45KQp9CgoucmlzZTo6YWZ0ZXIgewogICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgyMzIsIDE5NywgMTUyLCAuOCksIHRyYW5zcGFyZW50IDkwJSk7CiAgICBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTsKICAgIG9wYWNpdHk6IC42Cn0KCi5yaXNlOjpiZWZvcmUgewogICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgyMzYsIDIwNSwgMTY5LCAuMTUpIDU1JSwgcmdiYSg1MCwgMzAsIDcsIC40KSk7CiAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHkKfQoKLl8xOTc3OmFmdGVyLAouXzE5Nzc6YmVmb3JlLAouYWRlbjphZnRlciwKLmFkZW46YmVmb3JlLAouYnJvb2tseW46YWZ0ZXIsCi5icm9va2x5bjpiZWZvcmUsCi5jbGFyZW5kb246YWZ0ZXIsCi5jbGFyZW5kb246YmVmb3JlLAouZWFybHliaXJkOmFmdGVyLAouZWFybHliaXJkOmJlZm9yZSwKLmdpbmdoYW06YWZ0ZXIsCi5naW5naGFtOmJlZm9yZSwKLmh1ZHNvbjphZnRlciwKLmh1ZHNvbjpiZWZvcmUsCi5pbmt3ZWxsOmFmdGVyLAouaW5rd2VsbDpiZWZvcmUsCi5sYXJrOmFmdGVyLAoubGFyazpiZWZvcmUsCi5sb2ZpOmFmdGVyLAoubG9maTpiZWZvcmUsCi5tYXlmYWlyOmFmdGVyLAoubWF5ZmFpcjpiZWZvcmUsCi5tb29uOmFmdGVyLAoubW9vbjpiZWZvcmUsCi5uYXNodmlsbGU6YWZ0ZXIsCi5uYXNodmlsbGU6YmVmb3JlLAoucGVycGV0dWE6YWZ0ZXIsCi5wZXJwZXR1YTpiZWZvcmUsCi5yZXllczphZnRlciwKLnJleWVzOmJlZm9yZSwKLnJpc2U6YWZ0ZXIsCi5yaXNlOmJlZm9yZSwKLnNsdW1iZXI6YWZ0ZXIsCi5zbHVtYmVyOmJlZm9yZSwKLnRvYXN0ZXI6YWZ0ZXIsCi50b2FzdGVyOmJlZm9yZSwKLndhbGRlbjphZnRlciwKLndhbGRlbjpiZWZvcmUsCi53aWxsb3c6YWZ0ZXIsCi53aWxsb3c6YmVmb3JlLAoueHBybzI6YWZ0ZXIsCi54cHJvMjpiZWZvcmUgewogICAgY29udGVudDogJyc7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGhlaWdodDogMTAwJTsKICAgIHdpZHRoOiAxMDAlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lCn0KCi5fMTk3NywKLmFkZW4sCi5icm9va2x5biwKLmNsYXJlbmRvbiwKLmVhcmx5YmlyZCwKLmdpbmdoYW0sCi5odWRzb24sCi5pbmt3ZWxsLAoubGFyaywKLmxvZmksCi5tYXlmYWlyLAoubW9vbiwKLm5hc2h2aWxsZSwKLnBlcnBldHVhLAoucmV5ZXMsCi5yaXNlLAouc2x1bWJlciwKLnRvYXN0ZXIsCi53YWxkZW4sCi53aWxsb3csCi54cHJvMiB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLl8xOTc3IGltZywKLmFkZW4gaW1nLAouYnJvb2tseW4gaW1nLAouY2xhcmVuZG9uIGltZywKLmVhcmx5YmlyZCBpbWcsCi5naW5naGFtIGltZywKLmh1ZHNvbiBpbWcsCi5pbmt3ZWxsIGltZywKLmxhcmsgaW1nLAoubG9maSBpbWcsCi5tYXlmYWlyIGltZywKLm1vb24gaW1nLAoubmFzaHZpbGxlIGltZywKLnBlcnBldHVhIGltZywKLnJleWVzIGltZywKLnJpc2UgaW1nLAouc2x1bWJlciBpbWcsCi50b2FzdGVyIGltZywKLndhbGRlbiBpbWcsCi53aWxsb3cgaW1nLAoueHBybzIgaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgei1pbmRleDogMQp9CgouXzE5Nzc6YmVmb3JlLAouYWRlbjpiZWZvcmUsCi5icm9va2x5bjpiZWZvcmUsCi5jbGFyZW5kb246YmVmb3JlLAouZWFybHliaXJkOmJlZm9yZSwKLmdpbmdoYW06YmVmb3JlLAouaHVkc29uOmJlZm9yZSwKLmlua3dlbGw6YmVmb3JlLAoubGFyazpiZWZvcmUsCi5sb2ZpOmJlZm9yZSwKLm1heWZhaXI6YmVmb3JlLAoubW9vbjpiZWZvcmUsCi5uYXNodmlsbGU6YmVmb3JlLAoucGVycGV0dWE6YmVmb3JlLAoucmV5ZXM6YmVmb3JlLAoucmlzZTpiZWZvcmUsCi5zbHVtYmVyOmJlZm9yZSwKLnRvYXN0ZXI6YmVmb3JlLAoud2FsZGVuOmJlZm9yZSwKLndpbGxvdzpiZWZvcmUsCi54cHJvMjpiZWZvcmUgewogICAgei1pbmRleDogMgp9CgouXzE5Nzc6YWZ0ZXIsCi5hZGVuOmFmdGVyLAouYnJvb2tseW46YWZ0ZXIsCi5jbGFyZW5kb246YWZ0ZXIsCi5lYXJseWJpcmQ6YWZ0ZXIsCi5naW5naGFtOmFmdGVyLAouaHVkc29uOmFmdGVyLAouaW5rd2VsbDphZnRlciwKLmxhcms6YWZ0ZXIsCi5sb2ZpOmFmdGVyLAoubWF5ZmFpcjphZnRlciwKLm1vb246YWZ0ZXIsCi5uYXNodmlsbGU6YWZ0ZXIsCi5wZXJwZXR1YTphZnRlciwKLnJleWVzOmFmdGVyLAoucmlzZTphZnRlciwKLnNsdW1iZXI6YWZ0ZXIsCi50b2FzdGVyOmFmdGVyLAoud2FsZGVuOmFmdGVyLAoud2lsbG93OmFmdGVyLAoueHBybzI6YWZ0ZXIgewogICAgei1pbmRleDogMwp9Cgouc2x1bWJlciB7CiAgICBmaWx0ZXI6IHNhdHVyYXRlKC42NikgYnJpZ2h0bmVzcygxLjA1KQp9Cgouc2x1bWJlcjo6YWZ0ZXIgewogICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEwNSwgMjQsIC41KTsKICAgIG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0Cn0KCi5zbHVtYmVyOjpiZWZvcmUgewogICAgYmFja2dyb3VuZDogcmdiYSg2OSwgNDEsIDEyLCAuNCk7CiAgICBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbgp9CgoudHAta2JpbWctd3JhcDphZnRlciwKLnRwLWtiaW1nLXdyYXA6YmVmb3JlIHsKICAgIGhlaWdodDogNTAwJTsKICAgIHdpZHRoOiA1MDAlCn0KCi5zbGljay1zbGlkZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsKICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTsKICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15OwogICAgdG91Y2gtYWN0aW9uOiBwYW4teTsKICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQKfQoKLnNsaWNrLWxpc3QgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMAp9Cgouc2xpY2stbGlzdDpmb2N1cyB7CiAgICBvdXRsaW5lOiAwCn0KCi5zbGljay1saXN0LmRyYWdnaW5nIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGN1cnNvcjogaGFuZAp9Cgouc2xpY2stc2xpZGVyIC5zbGljay1saXN0LAouc2xpY2stc2xpZGVyIC5zbGljay10cmFjayB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApCn0KCi5zbGljay10cmFjayB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgZGlzcGxheTogYmxvY2sKfQoKLnNsaWNrLXRyYWNrOmFmdGVyLAouc2xpY2stdHJhY2s6YmVmb3JlIHsKICAgIGRpc3BsYXk6IHRhYmxlOwogICAgY29udGVudDogJycKfQoKLnNsaWNrLXRyYWNrOmFmdGVyIHsKICAgIGNsZWFyOiBib3RoCn0KCi5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW4KfQoKLnNsaWNrLXNsaWRlIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBmbG9hdDogbGVmdDsKICAgIGhlaWdodDogMTAwJTsKICAgIG1pbi1oZWlnaHQ6IDFweAp9CgpbZGlyPXJ0bF0gLnNsaWNrLXNsaWRlIHsKICAgIGZsb2F0OiByaWdodAp9Cgouc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcgewogICAgZGlzcGxheTogbm9uZQp9Cgouc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lCn0KCi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUgewogICAgZGlzcGxheTogYmxvY2sKfQoKLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbgp9Cgouc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgaGVpZ2h0OiBhdXRvOwogICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQKfQoKLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7CiAgICBkaXNwbGF5OiBub25lCn0KCiN0cnVtYm93eWctaWNvbnMsCiN0cnVtYm93eWctaWNvbnMgc3ZnIHsKICAgIGhlaWdodDogMDsKICAgIHdpZHRoOiAwCn0KCiN0cnVtYm93eWctaWNvbnMgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHZpc2liaWxpdHk6IGhpZGRlbgp9CgoudHJ1bWJvd3lnLWJveCAqLAoudHJ1bWJvd3lnLWJveCA6OmFmdGVyLAoudHJ1bWJvd3lnLWJveCA6OmJlZm9yZSB7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Cn0KCi50cnVtYm93eWctYm94IHN2ZyB7CiAgICB3aWR0aDogMTdweDsKICAgIGhlaWdodDogMTAwJTsKICAgIGZpbGw6ICMyMjIKfQoKLnRydW1ib3d5Zy1ib3gsCi50cnVtYm93eWctZWRpdG9yIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsKICAgIHdpZHRoOiAxMDAlOwogICAgbWluLWhlaWdodDogMzAwcHg7CiAgICBtYXJnaW46IDE3cHggYXV0bwp9CgoudHJ1bWJvd3lnLWJveCAudHJ1bWJvd3lnLWVkaXRvciB7CiAgICBtYXJnaW46IDAgYXV0bwp9CgoudHJ1bWJvd3lnLWJveC50cnVtYm93eWctZnVsbHNjcmVlbiB7CiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlOwogICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQKfQoKLnRydW1ib3d5Zy1lZGl0b3IsCi50cnVtYm93eWctdGV4dGFyZWEgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHBhZGRpbmc6IDIwcHg7CiAgICBtaW4taGVpZ2h0OiAzMDBweDsKICAgIHdpZHRoOiAxMDAlOwogICAgYm9yZGVyLXN0eWxlOiBub25lOwogICAgcmVzaXplOiBub25lOwogICAgb3V0bGluZTogMDsKICAgIG92ZXJmbG93OiBhdXRvCn0KCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1hdXRvZ3Jvdy1vbi1lbnRlciwKLnRydW1ib3d5Zy10ZXh0YXJlYS50cnVtYm93eWctYXV0b2dyb3ctb24tZW50ZXIgewogICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4zcyBlYXNlLW91dAp9CgoudHJ1bWJvd3lnLWJveC1ibHVyIC50cnVtYm93eWctZWRpdG9yICosCi50cnVtYm93eWctYm94LWJsdXIgLnRydW1ib3d5Zy1lZGl0b3I6OmJlZm9yZSB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsKICAgIHRleHQtc2hhZG93OiAwIDAgN3B4ICMzMzMKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowIFwwKSB7CiAgICAudHJ1bWJvd3lnLWJveC1ibHVyIC50cnVtYm93eWctZWRpdG9yICosCiAgICAudHJ1bWJvd3lnLWJveC1ibHVyIC50cnVtYm93eWctZWRpdG9yOjpiZWZvcmUgewogICAgICAgIGNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIC42KSAhaW1wb3J0YW50CiAgICB9Cn0KCkBzdXBwb3J0cyAoLW1zLWFjY2VsZXJhdG9yOnRydWUpIHsKICAgIC50cnVtYm93eWctYm94LWJsdXIgLnRydW1ib3d5Zy1lZGl0b3IgKiwKICAgIC50cnVtYm93eWctYm94LWJsdXIgLnRydW1ib3d5Zy1lZGl0b3I6OmJlZm9yZSB7CiAgICAgICAgY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgLjYpICFpbXBvcnRhbnQKICAgIH0KfQoKLnRydW1ib3d5Zy1ib3gtYmx1ciAudHJ1bWJvd3lnLWVkaXRvciBociwKLnRydW1ib3d5Zy1ib3gtYmx1ciAudHJ1bWJvd3lnLWVkaXRvciBpbWcgewogICAgb3BhY2l0eTogLjIKfQoKLnRydW1ib3d5Zy10ZXh0YXJlYSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG92ZXJmbG93OiBhdXRvOwogICAgYm9yZGVyOiBub25lOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgZm9udC1mYW1pbHk6IEluY29uc29sYXRhLCBDb25zb2xhcywgQ291cmllciwgIkNvdXJpZXIgTmV3Iiwgc2Fucy1zZXJpZjsKICAgIGxpbmUtaGVpZ2h0OiAxOHB4Cn0KCi50cnVtYm93eWctYm94LnRydW1ib3d5Zy1lZGl0b3ItdmlzaWJsZSAudHJ1bWJvd3lnLXRleHRhcmVhIHsKICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogMjUlOwogICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogMCAwOwogICAgb3BhY2l0eTogMCAhaW1wb3J0YW50Cn0KCi50cnVtYm93eWctYm94LnRydW1ib3d5Zy1lZGl0b3ItaGlkZGVuIC50cnVtYm93eWctdGV4dGFyZWEgewogICAgZGlzcGxheTogYmxvY2sKfQoKLnRydW1ib3d5Zy1ib3gudHJ1bWJvd3lnLWVkaXRvci1oaWRkZW4gLnRydW1ib3d5Zy1lZGl0b3IgewogICAgZGlzcGxheTogbm9uZQp9CgoudHJ1bWJvd3lnLWJveC50cnVtYm93eWctZGlzYWJsZWQgLnRydW1ib3d5Zy10ZXh0YXJlYSB7CiAgICBvcGFjaXR5OiAuODsKICAgIGJhY2tncm91bmQ6IDAgMAp9CgoudHJ1bWJvd3lnLWVkaXRvcltjb250ZW50ZWRpdGFibGU9dHJ1ZV06ZW1wdHk6bm90KDpmb2N1cyk6OmJlZm9yZSB7CiAgICBjb250ZW50OiBhdHRyKHBsYWNlaG9sZGVyKTsKICAgIGNvbG9yOiAjOTk5OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmUKfQoKLnRydW1ib3d5Zy1idXR0b24tcGFuZSB7CiAgICB3aWR0aDogMTAwJTsKICAgIG1pbi1oZWlnaHQ6IDM2cHg7CiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkN2UwZTI7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwIDVweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICAgIGxpbmUtaGVpZ2h0OiAxMHB4OwogICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogICAgei1pbmRleDogMTEKfQoKLnRydW1ib3d5Zy1idXR0b24tcGFuZTo6YWZ0ZXIgewogICAgY29udGVudDogIiAiOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDM2cHg7CiAgICBsZWZ0OiAwOwogICAgcmlnaHQ6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMXB4OwogICAgYmFja2dyb3VuZDogI2Q3ZTBlMgp9CgoudHJ1bWJvd3lnLWJ1dHRvbi1wYW5lIC50cnVtYm93eWctYnV0dG9uLWdyb3VwIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jawp9CgoudHJ1bWJvd3lnLWJ1dHRvbi1wYW5lIC50cnVtYm93eWctYnV0dG9uLWdyb3VwIC50cnVtYm93eWctZnVsbHNjcmVlbi1idXR0b24gc3ZnIHsKICAgIGNvbG9yOiB0cmFuc3BhcmVudAp9CgoudHJ1bWJvd3lnLWJ1dHRvbi1wYW5lIC50cnVtYm93eWctYnV0dG9uLWdyb3VwOjphZnRlciB7CiAgICBjb250ZW50OiAiICI7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogMXB4OwogICAgYmFja2dyb3VuZDogI2Q3ZTBlMjsKICAgIG1hcmdpbjogMCA1cHg7CiAgICBoZWlnaHQ6IDM1cHg7CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wCn0KCi50cnVtYm93eWctYnV0dG9uLXBhbmUgLnRydW1ib3d5Zy1idXR0b24tZ3JvdXA6bGFzdC1jaGlsZDo6YWZ0ZXIgewogICAgY29udGVudDogbm9uZQp9CgoudHJ1bWJvd3lnLWJ1dHRvbi1wYW5lIGJ1dHRvbiB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogMzVweDsKICAgIGhlaWdodDogMzVweDsKICAgIHBhZGRpbmc6IDFweCA2cHggIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDFweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBib3JkZXI6IG5vbmU7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBiYWNrZ3JvdW5kOiAwIDA7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcywgb3BhY2l0eSAxNTBtcwp9CgoudHJ1bWJvd3lnLWJ1dHRvbi1wYW5lIGJ1dHRvbi50cnVtYm93eWctdGV4dHVhbC1idXR0b24gewogICAgd2lkdGg6IGF1dG87CiAgICBsaW5lLWhlaWdodDogMzVweDsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgdXNlci1zZWxlY3Q6IG5vbmUKfQoKLnRydW1ib3d5Zy1idXR0b24tcGFuZSBidXR0b24udHJ1bWJvd3lnLWRpc2FibGUsCi50cnVtYm93eWctYnV0dG9uLXBhbmUudHJ1bWJvd3lnLWRpc2FibGUgYnV0dG9uOm5vdCgudHJ1bWJvd3lnLW5vdC1kaXNhYmxlKTpub3QoLnRydW1ib3d5Zy1hY3RpdmUpLAoudHJ1bWJvd3lnLWRpc2FibGVkIC50cnVtYm93eWctYnV0dG9uLXBhbmUgYnV0dG9uOm5vdCgudHJ1bWJvd3lnLW5vdC1kaXNhYmxlKTpub3QoLnRydW1ib3d5Zy12aWV3SFRNTC1idXR0b24pIHsKICAgIG9wYWNpdHk6IC4yOwogICAgY3Vyc29yOiBkZWZhdWx0Cn0KCi50cnVtYm93eWctYnV0dG9uLXBhbmUudHJ1bWJvd3lnLWRpc2FibGUgLnRydW1ib3d5Zy1idXR0b24tZ3JvdXA6OmJlZm9yZSwKLnRydW1ib3d5Zy1kaXNhYmxlZCAudHJ1bWJvd3lnLWJ1dHRvbi1wYW5lIC50cnVtYm93eWctYnV0dG9uLWdyb3VwOjpiZWZvcmUgewogICAgYmFja2dyb3VuZDogI2UzZTllYgp9CgoudHJ1bWJvd3lnLWJ1dHRvbi1wYW5lIGJ1dHRvbi50cnVtYm93eWctYWN0aXZlLAoudHJ1bWJvd3lnLWJ1dHRvbi1wYW5lIGJ1dHRvbjpub3QoLnRydW1ib3d5Zy1kaXNhYmxlKTpmb2N1cywKLnRydW1ib3d5Zy1idXR0b24tcGFuZSBidXR0b246bm90KC50cnVtYm93eWctZGlzYWJsZSk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIG91dGxpbmU6IDAKfQoKLnRydW1ib3d5Zy1idXR0b24tcGFuZSAudHJ1bWJvd3lnLW9wZW4tZHJvcGRvd246OmFmdGVyIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgY29udGVudDogIiAiOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAyNXB4OwogICAgcmlnaHQ6IDNweDsKICAgIGhlaWdodDogMDsKICAgIHdpZHRoOiAwOwogICAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItdG9wLWNvbG9yOiAjNTU1Cn0KCi50cnVtYm93eWctYnV0dG9uLXBhbmUgLnRydW1ib3d5Zy1vcGVuLWRyb3Bkb3duLnRydW1ib3d5Zy10ZXh0dWFsLWJ1dHRvbiB7CiAgICBwYWRkaW5nLWxlZnQ6IDEwcHggIWltcG9ydGFudDsKICAgIHBhZGRpbmctcmlnaHQ6IDE4cHggIWltcG9ydGFudAp9CgoudHJ1bWJvd3lnLWJ1dHRvbi1wYW5lIC50cnVtYm93eWctb3Blbi1kcm9wZG93bi50cnVtYm93eWctdGV4dHVhbC1idXR0b246OmFmdGVyIHsKICAgIHRvcDogMTdweDsKICAgIHJpZ2h0OiA3cHgKfQoKLnRydW1ib3d5Zy1tb2RhbCwKLnRydW1ib3d5Zy1tb2RhbC1ib3ggewogICAgdG9wOiAwOwogICAgbGVmdDogNTAlOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogICAgcG9zaXRpb246IGFic29sdXRlCn0KCi50cnVtYm93eWctYnV0dG9uLXBhbmUgLnRydW1ib3d5Zy1yaWdodCB7CiAgICBmbG9hdDogcmlnaHQKfQoKLnRydW1ib3d5Zy1kcm9wZG93biB7CiAgICB3aWR0aDogMjAwcHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWNmMGYxOwogICAgcGFkZGluZzogNXB4IDA7CiAgICBib3JkZXItdG9wOiBub25lOwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIG1hcmdpbi1sZWZ0OiAtMXB4OwogICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAuMSkgMCAycHggM3B4OwogICAgei1pbmRleDogMTIKfQoKLnRydW1ib3d5Zy1kcm9wZG93biBidXR0b24gewogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMzVweDsKICAgIGxpbmUtaGVpZ2h0OiAzNXB4OwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIHBhZGRpbmc6IDAgMTBweDsKICAgIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IG5vbmU7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgZm9udC1zaXplOiAxNXB4OwogICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zCn0KCi50cnVtYm93eWctZHJvcGRvd24gYnV0dG9uOmZvY3VzLAoudHJ1bWJvd3lnLWRyb3Bkb3duIGJ1dHRvbjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjZWNmMGYxCn0KCi50cnVtYm93eWctZHJvcGRvd24gYnV0dG9uIHN2ZyB7CiAgICBmbG9hdDogbGVmdDsKICAgIG1hcmdpbi1yaWdodDogMTRweAp9CgoudHJ1bWJvd3lnLW1vZGFsIHsKICAgIG1heC13aWR0aDogNTIwcHg7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMzUwcHg7CiAgICB6LWluZGV4OiAxMjsKICAgIG92ZXJmbG93OiBoaWRkZW4KfQoKLnRydW1ib3d5Zy1tb2RhbC1ib3ggewogICAgbWF4LXdpZHRoOiA1MDBweDsKICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTsKICAgIHBhZGRpbmctYm90dG9tOiA0NXB4OwogICAgei1pbmRleDogMTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIC4yKSAwIDJweCAzcHgKfQoKLnRydW1ib3d5Zy1tb2RhbC1ib3ggLnRydW1ib3d5Zy1tb2RhbC10aXRsZSB7CiAgICBmb250LXNpemU6IDI0cHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbWFyZ2luOiAwIDAgMjBweDsKICAgIHBhZGRpbmc6IDE1cHggMCAxM3B4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsKICAgIGNvbG9yOiAjMzMzOwogICAgYmFja2dyb3VuZDogI2ZiZmNmYwp9CgoudHJ1bWJvd3lnLW1vZGFsLWJveCAudHJ1bWJvd3lnLXByb2dyZXNzIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAzcHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDU4cHgKfQoKLnRydW1ib3d5Zy1tb2RhbC1ib3ggLnRydW1ib3d5Zy1wcm9ncmVzcyAudHJ1bWJvd3lnLXByb2dyZXNzLWJhciB7CiAgICBiYWNrZ3JvdW5kOiAjMmJjMDZhOwogICAgd2lkdGg6IDA7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB0cmFuc2l0aW9uOiB3aWR0aCAxNTBtcyBsaW5lYXIKfQoKLnRydW1ib3d5Zy1tb2RhbC1ib3ggbGFiZWwgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtYXJnaW46IDE1cHggMTJweDsKICAgIGhlaWdodDogMjlweDsKICAgIGxpbmUtaGVpZ2h0OiAyOXB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbgp9CgoudHJ1bWJvd3lnLW1vZGFsLWJveCBsYWJlbCAudHJ1bWJvd3lnLWlucHV0LWluZm9zIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIGhlaWdodDogMjVweDsKICAgIGxpbmUtaGVpZ2h0OiAyNXB4OwogICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zCn0KCi50cnVtYm93eWctbW9kYWwtYm94IGxhYmVsIC50cnVtYm93eWctaW5wdXQtaW5mb3Mgc3BhbiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbG9yOiAjNjk4NzhmOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmNmYzsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWRlZGU7CiAgICBwYWRkaW5nOiAwIDdweDsKICAgIHdpZHRoOiAxNTBweAp9CgoudHJ1bWJvd3lnLW1vZGFsLWJveCBsYWJlbCAudHJ1bWJvd3lnLWlucHV0LWluZm9zIHNwYW4udHJ1bWJvd3lnLW1zZy1lcnJvciB7CiAgICBjb2xvcjogI2U3NGMzYwp9CgoudHJ1bWJvd3lnLW1vZGFsLWJveCBsYWJlbC50cnVtYm93eWctaW5wdXQtZXJyb3IgaW5wdXQsCi50cnVtYm93eWctbW9kYWwtYm94IGxhYmVsLnRydW1ib3d5Zy1pbnB1dC1lcnJvciB0ZXh0YXJlYSB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTc0YzNjCn0KCi50cnVtYm93eWctbW9kYWwtYm94IGxhYmVsLnRydW1ib3d5Zy1pbnB1dC1lcnJvciAudHJ1bWJvd3lnLWlucHV0LWluZm9zIHsKICAgIG1hcmdpbi10b3A6IC0yN3B4Cn0KCi50cnVtYm93eWctbW9kYWwtYm94IGxhYmVsIGlucHV0IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIHJpZ2h0OiAwOwogICAgaGVpZ2h0OiAyN3B4OwogICAgbGluZS1oZWlnaHQ6IDI3cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGVkZWRlOwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIG1heC13aWR0aDogMzMwcHg7CiAgICB3aWR0aDogNzAlOwogICAgcGFkZGluZzogMCA3cHg7CiAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMKfQoKLnRydW1ib3d5Zy1tb2RhbC1ib3ggbGFiZWwgaW5wdXQ6Zm9jdXMsCi50cnVtYm93eWctbW9kYWwtYm94IGxhYmVsIGlucHV0OmhvdmVyIHsKICAgIG91dGxpbmU6IDA7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTVhNWE2Cn0KCi50cnVtYm93eWctbW9kYWwtYm94IGxhYmVsIGlucHV0OmZvY3VzIHsKICAgIGJhY2tncm91bmQ6ICNmYmZjZmMKfQoKLnRydW1ib3d5Zy1tb2RhbC1ib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF0gewogICAgbGVmdDogNXB4OwogICAgdG9wOiA1cHg7CiAgICByaWdodDogYXV0bwp9CgoudHJ1bWJvd3lnLW1vZGFsLWJveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XSsudHJ1bWJvd3lnLWlucHV0LWluZm9zIHNwYW4gewogICAgd2lkdGg6IGF1dG87CiAgICBwYWRkaW5nLWxlZnQ6IDI1cHgKfQoKLnRydW1ib3d5Zy1tb2RhbC1ib3ggLmVycm9yIHsKICAgIG1hcmdpbi10b3A6IDI1cHg7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbG9yOiByZWQKfQoKLnRydW1ib3d5Zy1tb2RhbC1ib3ggLnRydW1ib3d5Zy1tb2RhbC1idXR0b24gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYm90dG9tOiAxMHB4OwogICAgcmlnaHQ6IDA7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBjb2xvcjogI2ZmZjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMHB4OwogICAgaGVpZ2h0OiAzNXB4OwogICAgbGluZS1oZWlnaHQ6IDMzcHg7CiAgICBtYXJnaW46IDAgMTBweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7CiAgICBib3JkZXI6IG5vbmU7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBmb250LWZhbWlseTogIlRyZWJ1Y2hldCBNUyIsIEhlbHZldGljYSwgVmVyZGFuYSwgc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcwp9CgoudHJ1bWJvd3lnLW1vZGFsLWJveCAudHJ1bWJvd3lnLW1vZGFsLWJ1dHRvbi50cnVtYm93eWctbW9kYWwtc3VibWl0IHsKICAgIHJpZ2h0OiAxMTBweDsKICAgIGJhY2tncm91bmQ6ICMyYmMwNmEKfQoKLnRydW1ib3d5Zy1tb2RhbC1ib3ggLnRydW1ib3d5Zy1tb2RhbC1idXR0b24udHJ1bWJvd3lnLW1vZGFsLXN1Ym1pdDpmb2N1cywKLnRydW1ib3d5Zy1tb2RhbC1ib3ggLnRydW1ib3d5Zy1tb2RhbC1idXR0b24udHJ1bWJvd3lnLW1vZGFsLXN1Ym1pdDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjNDBkNDdlOwogICAgb3V0bGluZTogMAp9CgoudHJ1bWJvd3lnLW1vZGFsLWJveCAudHJ1bWJvd3lnLW1vZGFsLWJ1dHRvbi50cnVtYm93eWctbW9kYWwtc3VibWl0OmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kOiAjMjVhMjVhCn0KCi50cnVtYm93eWctbW9kYWwtYm94IC50cnVtYm93eWctbW9kYWwtYnV0dG9uLnRydW1ib3d5Zy1tb2RhbC1yZXNldCB7CiAgICBjb2xvcjogIzU1NTsKICAgIGJhY2tncm91bmQ6ICNlNmU2ZTYKfQoKLnRydW1ib3d5Zy1tb2RhbC1ib3ggLnRydW1ib3d5Zy1tb2RhbC1idXR0b24udHJ1bWJvd3lnLW1vZGFsLXJlc2V0OmZvY3VzLAoudHJ1bWJvd3lnLW1vZGFsLWJveCAudHJ1bWJvd3lnLW1vZGFsLWJ1dHRvbi50cnVtYm93eWctbW9kYWwtcmVzZXQ6aG92ZXIgewogICAgYmFja2dyb3VuZDogI2ZiZmJmYjsKICAgIG91dGxpbmU6IDAKfQoKLnRydW1ib3d5Zy1tb2RhbC1ib3ggLnRydW1ib3d5Zy1tb2RhbC1idXR0b24udHJ1bWJvd3lnLW1vZGFsLXJlc2V0OmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kOiAjZDVkNWQ1Cn0KCi50cnVtYm93eWctb3ZlcmxheSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTsKICAgIGhlaWdodDogMTAwJTsKICAgIHdpZHRoOiAxMDAlOwogICAgbGVmdDogMDsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICB0b3A6IDA7CiAgICB6LWluZGV4OiAxMAp9Cgpib2R5LnRydW1ib3d5Zy1ib2R5LWZ1bGxzY3JlZW4gewogICAgb3ZlcmZsb3c6IGhpZGRlbgp9CgoudHJ1bWJvd3lnLWZ1bGxzY3JlZW4gewogICAgcG9zaXRpb246IGZpeGVkOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsKICAgIHotaW5kZXg6IDk5OTk5Cn0KCi50cnVtYm93eWctZnVsbHNjcmVlbiAudHJ1bWJvd3lnLWVkaXRvciwKLnRydW1ib3d5Zy1mdWxsc2NyZWVuLnRydW1ib3d5Zy1ib3ggewogICAgYm9yZGVyOiBub25lCn0KCi50cnVtYm93eWctZnVsbHNjcmVlbiAudHJ1bWJvd3lnLWVkaXRvciwKLnRydW1ib3d5Zy1mdWxsc2NyZWVuIC50cnVtYm93eWctdGV4dGFyZWEgewogICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzN3B4KSAhaW1wb3J0YW50OwogICAgb3ZlcmZsb3c6IGF1dG8KfQoKLnRydW1ib3d5Zy1mdWxsc2NyZWVuIC50cnVtYm93eWctb3ZlcmxheSB7CiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudAp9CgoudHJ1bWJvd3lnLWZ1bGxzY3JlZW4gLnRydW1ib3d5Zy1idXR0b24tZ3JvdXAgLnRydW1ib3d5Zy1mdWxsc2NyZWVuLWJ1dHRvbiBzdmcgewogICAgY29sb3I6ICMyMjI7CiAgICBmaWxsOiB0cmFuc3BhcmVudAp9CgoudHJ1bWJvd3lnLWVkaXRvciBlbWJlZCwKLnRydW1ib3d5Zy1lZGl0b3IgaW1nLAoudHJ1bWJvd3lnLWVkaXRvciBvYmplY3QsCi50cnVtYm93eWctZWRpdG9yIHZpZGVvIHsKICAgIG1heC13aWR0aDogMTAwJQp9CgoudHJ1bWJvd3lnLWVkaXRvciBpbWcsCi50cnVtYm93eWctZWRpdG9yIHZpZGVvIHsKICAgIGhlaWdodDogYXV0bwp9CgoudHJ1bWJvd3lnLWVkaXRvciBpbWcgewogICAgY3Vyc29yOiBtb3ZlCn0KCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1yZXNldC1jc3MgewogICAgYmFja2dyb3VuZDogI2ZlZmVmZSAhaW1wb3J0YW50OwogICAgZm9udC1mYW1pbHk6ICJUcmVidWNoZXQgTVMiLCBIZWx2ZXRpY2EsIFZlcmRhbmEsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OwogICAgbGluZS1oZWlnaHQ6IDEuNDVlbSAhaW1wb3J0YW50OwogICAgY29sb3I6ICMzMzMKfQoKLnRydW1ib3d5Zy1lZGl0b3IudHJ1bWJvd3lnLXJlc2V0LWNzcyBhIHsKICAgIGNvbG9yOiAjMTVjICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50Cn0KCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1yZXNldC1jc3MgYmxvY2txdW90ZSwKLnRydW1ib3d5Zy1lZGl0b3IudHJ1bWJvd3lnLXJlc2V0LWNzcyBkaXYsCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1yZXNldC1jc3Mgb2wsCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1yZXNldC1jc3MgcCwKLnRydW1ib3d5Zy1lZGl0b3IudHJ1bWJvd3lnLXJlc2V0LWNzcyB1bCB7CiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiAwIDAgIWltcG9ydGFudDsKICAgIG1hcmdpbjogMCAwIDE1cHggIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAxLjRlbSAhaW1wb3J0YW50OwogICAgZm9udC1mYW1pbHk6ICJUcmVidWNoZXQgTVMiLCBIZWx2ZXRpY2EsIFZlcmRhbmEsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OwogICAgYm9yZGVyOiBub25lCn0KCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1yZXNldC1jc3MgaHIsCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1yZXNldC1jc3MgaWZyYW1lLAoudHJ1bWJvd3lnLWVkaXRvci50cnVtYm93eWctcmVzZXQtY3NzIG9iamVjdCB7CiAgICBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQKfQoKLnRydW1ib3d5Zy1lZGl0b3IudHJ1bWJvd3lnLXJlc2V0LWNzcyBibG9ja3F1b3RlIHsKICAgIG1hcmdpbi1sZWZ0OiAzMnB4ICFpbXBvcnRhbnQ7CiAgICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjNTU1Cn0KCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1yZXNldC1jc3MgdWwgewogICAgbGlzdC1zdHlsZTogZGlzYwp9CgoudHJ1bWJvd3lnLWVkaXRvci50cnVtYm93eWctcmVzZXQtY3NzIG9sLAoudHJ1bWJvd3lnLWVkaXRvci50cnVtYm93eWctcmVzZXQtY3NzIHVsIHsKICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50Cn0KCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1yZXNldC1jc3Mgb2wgb2wsCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1yZXNldC1jc3Mgb2wgdWwsCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1yZXNldC1jc3MgdWwgb2wsCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1yZXNldC1jc3MgdWwgdWwgewogICAgYm9yZGVyOiBub25lOwogICAgbWFyZ2luOiAycHggIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDAgMCAwIDI0cHggIWltcG9ydGFudAp9CgoudHJ1bWJvd3lnLWVkaXRvci50cnVtYm93eWctcmVzZXQtY3NzIGhyIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgaGVpZ2h0OiAxcHg7CiAgICBib3JkZXI6IG5vbmU7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYwp9CgoudHJ1bWJvd3lnLWVkaXRvci50cnVtYm93eWctcmVzZXQtY3NzIGgxLAoudHJ1bWJvd3lnLWVkaXRvci50cnVtYm93eWctcmVzZXQtY3NzIGgyLAoudHJ1bWJvd3lnLWVkaXRvci50cnVtYm93eWctcmVzZXQtY3NzIGgzLAoudHJ1bWJvd3lnLWVkaXRvci50cnVtYm93eWctcmVzZXQtY3NzIGg0IHsKICAgIGNvbG9yOiAjMTExOwogICAgYmFja2dyb3VuZDogMCAwOwogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICBmb250LXdlaWdodDogNzAwCn0KCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1yZXNldC1jc3MgaDEgewogICAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMzhweCAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50Cn0KCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1yZXNldC1jc3MgaDIgewogICAgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMzRweCAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50Cn0KCi50cnVtYm93eWctZWRpdG9yLnRydW1ib3d5Zy1yZXNldC1jc3MgaDMgewogICAgZm9udC1zaXplOiAyMnB4ICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMjhweCAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogN3B4ICFpbXBvcnRhbnQKfQoKLnRydW1ib3d5Zy1lZGl0b3IudHJ1bWJvd3lnLXJlc2V0LWNzcyBoNCB7CiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAyMnB4ICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiA3cHggIWltcG9ydGFudAp9CgoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy10ZXh0YXJlYSB7CiAgICBiYWNrZ3JvdW5kOiAjMTExOwogICAgY29sb3I6ICNkZGQKfQoKLnRydW1ib3d5Zy1kYXJrIC50cnVtYm93eWctYm94IHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMzNDM0MzQKfQoKLnRydW1ib3d5Zy1kYXJrIC50cnVtYm93eWctYm94LnRydW1ib3d5Zy1mdWxsc2NyZWVuIHsKICAgIGJhY2tncm91bmQ6ICMxMTEKfQoKLnRydW1ib3d5Zy1kYXJrIC50cnVtYm93eWctYm94LnRydW1ib3d5Zy1ib3gtYmx1ciAudHJ1bWJvd3lnLWVkaXRvciAqLAoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1ib3gudHJ1bWJvd3lnLWJveC1ibHVyIC50cnVtYm93eWctZWRpdG9yOjpiZWZvcmUgewogICAgdGV4dC1zaGFkb3c6IDAgMCA3cHggI2NjYwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjAgXDApIHsKICAgIC50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLWJveC50cnVtYm93eWctYm94LWJsdXIgLnRydW1ib3d5Zy1lZGl0b3IgKiwKICAgIC50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLWJveC50cnVtYm93eWctYm94LWJsdXIgLnRydW1ib3d5Zy1lZGl0b3I6OmJlZm9yZSB7CiAgICAgICAgY29sb3I6IHJnYmEoMjAsIDIwLCAyMCwgLjYpICFpbXBvcnRhbnQKICAgIH0KfQoKQHN1cHBvcnRzICgtbXMtYWNjZWxlcmF0b3I6dHJ1ZSkgewogICAgLnRydW1ib3d5Zy1kYXJrIC50cnVtYm93eWctYm94LnRydW1ib3d5Zy1ib3gtYmx1ciAudHJ1bWJvd3lnLWVkaXRvciAqLAogICAgLnRydW1ib3d5Zy1kYXJrIC50cnVtYm93eWctYm94LnRydW1ib3d5Zy1ib3gtYmx1ciAudHJ1bWJvd3lnLWVkaXRvcjo6YmVmb3JlIHsKICAgICAgICBjb2xvcjogcmdiYSgyMCwgMjAsIDIwLCAuNikgIWltcG9ydGFudAogICAgfQp9CgoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1ib3ggc3ZnIHsKICAgIGZpbGw6ICNlY2YwZjE7CiAgICBjb2xvcjogI2VjZjBmMQp9CgoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1idXR0b24tcGFuZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyOwogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzM0MzQzNAp9CgoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1idXR0b24tcGFuZTo6YWZ0ZXIgewogICAgYmFja2dyb3VuZDogIzM0MzQzNAp9CgoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1idXR0b24tcGFuZSAudHJ1bWJvd3lnLWJ1dHRvbi1ncm91cDpub3QoOmVtcHR5KTo6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzM0MzQzNAp9CgoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1idXR0b24tcGFuZSAudHJ1bWJvd3lnLWJ1dHRvbi1ncm91cDpub3QoOmVtcHR5KSAudHJ1bWJvd3lnLWZ1bGxzY3JlZW4tYnV0dG9uIHN2ZyB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQKfQoKLnRydW1ib3d5Zy1kYXJrIC50cnVtYm93eWctYnV0dG9uLXBhbmUudHJ1bWJvd3lnLWRpc2FibGUgLnRydW1ib3d5Zy1idXR0b24tZ3JvdXA6OmFmdGVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyYTJhMmEKfQoKLnRydW1ib3d5Zy1kYXJrIC50cnVtYm93eWctYnV0dG9uLXBhbmUgYnV0dG9uLnRydW1ib3d5Zy1hY3RpdmUsCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLWJ1dHRvbi1wYW5lIGJ1dHRvbjpub3QoLnRydW1ib3d5Zy1kaXNhYmxlKTpmb2N1cywKLnRydW1ib3d5Zy1kYXJrIC50cnVtYm93eWctYnV0dG9uLXBhbmUgYnV0dG9uOm5vdCgudHJ1bWJvd3lnLWRpc2FibGUpOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMKfQoKLnRydW1ib3d5Zy1kYXJrIC50cnVtYm93eWctYnV0dG9uLXBhbmUgLnRydW1ib3d5Zy1vcGVuLWRyb3Bkb3duOjphZnRlciB7CiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmCn0KCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLWZ1bGxzY3JlZW4gLnRydW1ib3d5Zy1idXR0b24tZ3JvdXAgLnRydW1ib3d5Zy1mdWxsc2NyZWVuLWJ1dHRvbiBzdmcgewogICAgY29sb3I6ICNlY2YwZjE7CiAgICBmaWxsOiB0cmFuc3BhcmVudAp9CgoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1kcm9wZG93biB7CiAgICBib3JkZXItY29sb3I6ICMyMjI7CiAgICBiYWNrZ3JvdW5kOiAjMzMzOwogICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAuMykgMCAycHggM3B4Cn0KCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLWRyb3Bkb3duIGJ1dHRvbiB7CiAgICBiYWNrZ3JvdW5kOiAjMzMzOwogICAgY29sb3I6ICNmZmYgIWltcG9ydGFudAp9CgoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1kcm9wZG93biBidXR0b246Zm9jdXMsCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLWRyb3Bkb3duIGJ1dHRvbjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjMjIyCn0KCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLW1vZGFsLWJveCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyCn0KCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLW1vZGFsLWJveCAudHJ1bWJvd3lnLW1vZGFsLXRpdGxlIHsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTU1OwogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kOiAjM2MzYzNjCn0KCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLW1vZGFsLWJveCBsYWJlbCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1hcmdpbjogMTVweCAxMnB4OwogICAgaGVpZ2h0OiAyN3B4OwogICAgbGluZS1oZWlnaHQ6IDI3cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuCn0KCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLW1vZGFsLWJveCBsYWJlbCAudHJ1bWJvd3lnLWlucHV0LWluZm9zIHNwYW4gewogICAgY29sb3I6ICNlZWU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmYyZjJmOwogICAgYm9yZGVyLWNvbG9yOiAjMjIyCn0KCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLW1vZGFsLWJveCBsYWJlbCAudHJ1bWJvd3lnLWlucHV0LWluZm9zIHNwYW4udHJ1bWJvd3lnLW1zZy1lcnJvciB7CiAgICBjb2xvcjogI2U3NGMzYwp9CgoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1tb2RhbC1ib3ggbGFiZWwudHJ1bWJvd3lnLWlucHV0LWVycm9yIGlucHV0LAoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1tb2RhbC1ib3ggbGFiZWwudHJ1bWJvd3lnLWlucHV0LWVycm9yIHRleHRhcmVhIHsKICAgIGJvcmRlci1jb2xvcjogI2U3NGMzYwp9CgoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1tb2RhbC1ib3ggbGFiZWwgaW5wdXQgewogICAgYm9yZGVyLWNvbG9yOiAjMjIyOwogICAgY29sb3I6ICNlZWU7CiAgICBiYWNrZ3JvdW5kOiAjMzMzCn0KCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLW1vZGFsLWJveCBsYWJlbCBpbnB1dDpmb2N1cywKLnRydW1ib3d5Zy1kYXJrIC50cnVtYm93eWctbW9kYWwtYm94IGxhYmVsIGlucHV0OmhvdmVyIHsKICAgIGJvcmRlci1jb2xvcjogIzYyNjI2Mgp9CgoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1tb2RhbC1ib3ggbGFiZWwgaW5wdXQ6Zm9jdXMgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzJmMmYyZgp9CgoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1tb2RhbC1ib3ggLnRydW1ib3d5Zy1tb2RhbC1idXR0b24udHJ1bWJvd3lnLW1vZGFsLXN1Ym1pdCB7CiAgICBiYWNrZ3JvdW5kOiAjMWI3OTQzCn0KCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLW1vZGFsLWJveCAudHJ1bWJvd3lnLW1vZGFsLWJ1dHRvbi50cnVtYm93eWctbW9kYWwtc3VibWl0OmZvY3VzLAoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1tb2RhbC1ib3ggLnRydW1ib3d5Zy1tb2RhbC1idXR0b24udHJ1bWJvd3lnLW1vZGFsLXN1Ym1pdDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjMjVhMjVhCn0KCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLW1vZGFsLWJveCAudHJ1bWJvd3lnLW1vZGFsLWJ1dHRvbi50cnVtYm93eWctbW9kYWwtc3VibWl0OmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kOiAjMTc2NDM3Cn0KCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLW1vZGFsLWJveCAudHJ1bWJvd3lnLW1vZGFsLWJ1dHRvbi50cnVtYm93eWctbW9kYWwtcmVzZXQgewogICAgYmFja2dyb3VuZDogIzMzMzsKICAgIGNvbG9yOiAjY2NjCn0KCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLW1vZGFsLWJveCAudHJ1bWJvd3lnLW1vZGFsLWJ1dHRvbi50cnVtYm93eWctbW9kYWwtcmVzZXQ6Zm9jdXMsCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLW1vZGFsLWJveCAudHJ1bWJvd3lnLW1vZGFsLWJ1dHRvbi50cnVtYm93eWctbW9kYWwtcmVzZXQ6aG92ZXIgewogICAgYmFja2dyb3VuZDogIzQ0NAp9CgoudHJ1bWJvd3lnLWRhcmsgLnRydW1ib3d5Zy1tb2RhbC1ib3ggLnRydW1ib3d5Zy1tb2RhbC1idXR0b24udHJ1bWJvd3lnLW1vZGFsLXJlc2V0OmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kOiAjMTExCn0KCi50cnVtYm93eWctZGFyayAudHJ1bWJvd3lnLW92ZXJsYXkgewogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNSwgMTUsIDE1LCAuNikKfQ=="}},"time_used":120,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":37,"receive":83,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.24.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.937Z","timestamp":1785129291937,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"cdnjs.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 07:07:58 GMT","end":"Thu, 08 Oct 2026 08:07:45 GMT"},"fingerprint":{"sha1":"DF:66:97:F5:13:A2:C0:81:D3:5B:60:C4:B0:7F:CD:78:F5:91:14:D5","sha256":"3C:F2:95:73:83:BA:4D:D9:CC:85:8F:BC:7D:2C:22:CF:F3:49:9A:3A:E4:1D:FC:AE:CB:07:3D:66:89:74:0E:C5"}}},"request":{"raw":"GET /ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css HTTP/1.1\r\nHost: cdnjs.cloudflare.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 5631\r\ncf-cache-status: BYPASS\r\naccess-control-allow-origin: *\r\ncache-control: no-transform, public, s-maxage=30672000, max-age=30672000, immutable\r\ncontent-encoding: br\r\nlast-modified: Mon, 04 May 2020 16:10:07 GMT\r\nvary: Accept-Encoding\r\nx-cdnjs-cache: HIT\r\ncross-origin-resource-policy: cross-origin\r\ntiming-allow-origin: *\r\nx-content-type-options: nosniff\r\ncf-cdnjs-via: cfworker/r2\r\nstrict-transport-security: max-age=15780000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=o6qpJr9DawWOgpL27Ia0gIRDsM4KClc2IDOKYWiGC9r0U%2BQZ3a4ai3ZKcXNuIP19clyc68d85BKFik0ytE7ln2rNh8ILgSclJfeEn0hmRCeSuKncUigLg2Z%2BXnHy%2FzAvy9dCSsUb\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\npriority: u=2,i=?0\r\nserver: cloudflare\r\ncf-ray: a21929baced635a6-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":31000,"size_decoded":6621,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (30837)","md5":"269550530cc127b6aa5a35925a7de6ce","sha1":"512c7d79033e3028a9be61b540cf1a6870c896f8","sha256":"799aeb25cc0373fdee0e1b1db7ad6c2f6a0e058dfadaa3379689f583213190bd","sha512":"49f4e24e55fa924faa8ad7debe5ffb2e26d439e25696df6b6f20e7f766b50ea58ec3dbd61b6305a1acacd2c80e6e659accee4140f885b9c9e71008e9001fbf4b","ssdeep":"384:wHu5yWeTUKW+KlkJ5de2UYDyVfwYUas2l8yQ/8dwmaU8G:wwlr+Klk3Yi+fwYUf2l8yQ/e9vf","tlshash":"78d241e8e54c01d66731c48bff81b36862b6fb3dd5854da9f01f290c29d226522c5fba","first_seen":"2023-04-05T03:13:25Z","last_seen":"2026-07-27T08:06:23.868593Z","times_seen":303134,"resource_available":true,"data":"LyohCiAqICBGb250IEF3ZXNvbWUgNC43LjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZQogKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSkKICovQGZvbnQtZmFjZXtmb250LWZhbWlseTonRm9udEF3ZXNvbWUnO3NyYzp1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90P3Y9NC43LjAnKTtzcmM6dXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD8jaWVmaXgmdj00LjcuMCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZjI/dj00LjcuMCcpIGZvcm1hdCgnd29mZjInKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PTQuNy4wJykgZm9ybWF0KCd3b2ZmJyksdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LnR0Zj92PTQuNy4wJykgZm9ybWF0KCd0cnVldHlwZScpLHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5zdmc/dj00LjcuMCNmb250YXdlc29tZXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0eWxlOm5vcm1hbH0uZmF7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udDpub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7Zm9udC1zaXplOmluaGVyaXQ7dGV4dC1yZW5kZXJpbmc6YXV0bzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uZmEtbGd7Zm9udC1zaXplOjEuMzMzMzMzMzNlbTtsaW5lLWhlaWdodDouNzVlbTt2ZXJ0aWNhbC1hbGlnbjotMTUlfS5mYS0yeHtmb250LXNpemU6MmVtfS5mYS0zeHtmb250LXNpemU6M2VtfS5mYS00eHtmb250LXNpemU6NGVtfS5mYS01eHtmb250LXNpemU6NWVtfS5mYS1md3t3aWR0aDoxLjI4NTcxNDI5ZW07dGV4dC1hbGlnbjpjZW50ZXJ9LmZhLXVse3BhZGRpbmctbGVmdDowO21hcmdpbi1sZWZ0OjIuMTQyODU3MTRlbTtsaXN0LXN0eWxlLXR5cGU6bm9uZX0uZmEtdWw+bGl7cG9zaXRpb246cmVsYXRpdmV9LmZhLWxpe3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTIuMTQyODU3MTRlbTt3aWR0aDoyLjE0Mjg1NzE0ZW07dG9wOi4xNDI4NTcxNGVtO3RleHQtYWxpZ246Y2VudGVyfS5mYS1saS5mYS1sZ3tsZWZ0Oi0xLjg1NzE0Mjg2ZW19LmZhLWJvcmRlcntwYWRkaW5nOi4yZW0gLjI1ZW0gLjE1ZW07Ym9yZGVyOnNvbGlkIC4wOGVtICNlZWU7Ym9yZGVyLXJhZGl1czouMWVtfS5mYS1wdWxsLWxlZnR7ZmxvYXQ6bGVmdH0uZmEtcHVsbC1yaWdodHtmbG9hdDpyaWdodH0uZmEuZmEtcHVsbC1sZWZ0e21hcmdpbi1yaWdodDouM2VtfS5mYS5mYS1wdWxsLXJpZ2h0e21hcmdpbi1sZWZ0Oi4zZW19LnB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHR9LnB1bGwtbGVmdHtmbG9hdDpsZWZ0fS5mYS5wdWxsLWxlZnR7bWFyZ2luLXJpZ2h0Oi4zZW19LmZhLnB1bGwtcmlnaHR7bWFyZ2luLWxlZnQ6LjNlbX0uZmEtc3Bpbnstd2Via2l0LWFuaW1hdGlvbjpmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjthbmltYXRpb246ZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXJ9LmZhLXB1bHNley13ZWJraXQtYW5pbWF0aW9uOmZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7YW5pbWF0aW9uOmZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCl9QC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM1OWRlZyl9fUBrZXlmcmFtZXMgZmEtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19LmZhLXJvdGF0ZS05MHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmZhLXJvdGF0ZS0xODB7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MikiOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5mYS1yb3RhdGUtMjcwey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTMpIjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0uZmEtZmxpcC1ob3Jpem9udGFsey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLTEsIDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoLTEsIDEpO3RyYW5zZm9ybTpzY2FsZSgtMSwgMSl9LmZhLWZsaXAtdmVydGljYWx7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpIjstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLCAtMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLCAtMSk7dHJhbnNmb3JtOnNjYWxlKDEsIC0xKX06cm9vdCAuZmEtcm90YXRlLTkwLDpyb290IC5mYS1yb3RhdGUtMTgwLDpyb290IC5mYS1yb3RhdGUtMjcwLDpyb290IC5mYS1mbGlwLWhvcml6b250YWwsOnJvb3QgLmZhLWZsaXAtdmVydGljYWx7ZmlsdGVyOm5vbmV9LmZhLXN0YWNre3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjJlbTtoZWlnaHQ6MmVtO2xpbmUtaGVpZ2h0OjJlbTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZhLXN0YWNrLTF4LC5mYS1zdGFjay0yeHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcn0uZmEtc3RhY2stMXh7bGluZS1oZWlnaHQ6aW5oZXJpdH0uZmEtc3RhY2stMnh7Zm9udC1zaXplOjJlbX0uZmEtaW52ZXJzZXtjb2xvcjojZmZmfS5mYS1nbGFzczpiZWZvcmV7Y29udGVudDoiXGYwMDAifS5mYS1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGYwMDEifS5mYS1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMDAyIn0uZmEtZW52ZWxvcGUtbzpiZWZvcmV7Y29udGVudDoiXGYwMDMifS5mYS1oZWFydDpiZWZvcmV7Y29udGVudDoiXGYwMDQifS5mYS1zdGFyOmJlZm9yZXtjb250ZW50OiJcZjAwNSJ9LmZhLXN0YXItbzpiZWZvcmV7Y29udGVudDoiXGYwMDYifS5mYS11c2VyOmJlZm9yZXtjb250ZW50OiJcZjAwNyJ9LmZhLWZpbG06YmVmb3Jle2NvbnRlbnQ6IlxmMDA4In0uZmEtdGgtbGFyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDA5In0uZmEtdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMDBhIn0uZmEtdGgtbGlzdDpiZWZvcmV7Y29udGVudDoiXGYwMGIifS5mYS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGYwMGMifS5mYS1yZW1vdmU6YmVmb3JlLC5mYS1jbG9zZTpiZWZvcmUsLmZhLXRpbWVzOmJlZm9yZXtjb250ZW50OiJcZjAwZCJ9LmZhLXNlYXJjaC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjAwZSJ9LmZhLXNlYXJjaC1taW51czpiZWZvcmV7Y29udGVudDoiXGYwMTAifS5mYS1wb3dlci1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDExIn0uZmEtc2lnbmFsOmJlZm9yZXtjb250ZW50OiJcZjAxMiJ9LmZhLWdlYXI6YmVmb3JlLC5mYS1jb2c6YmVmb3Jle2NvbnRlbnQ6IlxmMDEzIn0uZmEtdHJhc2gtbzpiZWZvcmV7Y29udGVudDoiXGYwMTQifS5mYS1ob21lOmJlZm9yZXtjb250ZW50OiJcZjAxNSJ9LmZhLWZpbGUtbzpiZWZvcmV7Y29udGVudDoiXGYwMTYifS5mYS1jbG9jay1vOmJlZm9yZXtjb250ZW50OiJcZjAxNyJ9LmZhLXJvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDE4In0uZmEtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDE5In0uZmEtYXJyb3ctY2lyY2xlLW8tZG93bjpiZWZvcmV7Y29udGVudDoiXGYwMWEifS5mYS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmV7Y29udGVudDoiXGYwMWIifS5mYS1pbmJveDpiZWZvcmV7Y29udGVudDoiXGYwMWMifS5mYS1wbGF5LWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjAxZCJ9LmZhLXJvdGF0ZS1yaWdodDpiZWZvcmUsLmZhLXJlcGVhdDpiZWZvcmV7Y29udGVudDoiXGYwMWUifS5mYS1yZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZjAyMSJ9LmZhLWxpc3QtYWx0OmJlZm9yZXtjb250ZW50OiJcZjAyMiJ9LmZhLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDIzIn0uZmEtZmxhZzpiZWZvcmV7Y29udGVudDoiXGYwMjQifS5mYS1oZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OiJcZjAyNSJ9LmZhLXZvbHVtZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDI2In0uZmEtdm9sdW1lLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDI3In0uZmEtdm9sdW1lLXVwOmJlZm9yZXtjb250ZW50OiJcZjAyOCJ9LmZhLXFyY29kZTpiZWZvcmV7Y29udGVudDoiXGYwMjkifS5mYS1iYXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZjAyYSJ9LmZhLXRhZzpiZWZvcmV7Y29udGVudDoiXGYwMmIifS5mYS10YWdzOmJlZm9yZXtjb250ZW50OiJcZjAyYyJ9LmZhLWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDJkIn0uZmEtYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMDJlIn0uZmEtcHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDJmIn0uZmEtY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjAzMCJ9LmZhLWZvbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDMxIn0uZmEtYm9sZDpiZWZvcmV7Y29udGVudDoiXGYwMzIifS5mYS1pdGFsaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMDMzIn0uZmEtdGV4dC1oZWlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDM0In0uZmEtdGV4dC13aWR0aDpiZWZvcmV7Y29udGVudDoiXGYwMzUifS5mYS1hbGlnbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjAzNiJ9LmZhLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGYwMzcifS5mYS1hbGlnbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwMzgifS5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZXtjb250ZW50OiJcZjAzOSJ9LmZhLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDNhIn0uZmEtZGVkZW50OmJlZm9yZSwuZmEtb3V0ZGVudDpiZWZvcmV7Y29udGVudDoiXGYwM2IifS5mYS1pbmRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDNjIn0uZmEtdmlkZW8tY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjAzZCJ9LmZhLXBob3RvOmJlZm9yZSwuZmEtaW1hZ2U6YmVmb3JlLC5mYS1waWN0dXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDNlIn0uZmEtcGVuY2lsOmJlZm9yZXtjb250ZW50OiJcZjA0MCJ9LmZhLW1hcC1tYXJrZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDQxIn0uZmEtYWRqdXN0OmJlZm9yZXtjb250ZW50OiJcZjA0MiJ9LmZhLXRpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDQzIn0uZmEtZWRpdDpiZWZvcmUsLmZhLXBlbmNpbC1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDQifS5mYS1zaGFyZS1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDUifS5mYS1jaGVjay1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDYifS5mYS1hcnJvd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDQ3In0uZmEtc3RlcC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNDgifS5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0OSJ9LmZhLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0YSJ9LmZhLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDRiIn0uZmEtcGF1c2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDRjIn0uZmEtc3RvcDpiZWZvcmV7Y29udGVudDoiXGYwNGQifS5mYS1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0ZSJ9LmZhLWZhc3QtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNTAifS5mYS1zdGVwLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDUxIn0uZmEtZWplY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDUyIn0uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjA1MyJ9LmZhLWNoZXZyb24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDU0In0uZmEtcGx1cy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU1In0uZmEtbWludXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NiJ9LmZhLXRpbWVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTcifS5mYS1jaGVjay1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU4In0uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1OSJ9LmZhLWluZm8tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1YSJ9LmZhLWNyb3NzaGFpcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMDViIn0uZmEtdGltZXMtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDVjIn0uZmEtY2hlY2stY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDVkIn0uZmEtYmFuOmJlZm9yZXtjb250ZW50OiJcZjA1ZSJ9LmZhLWFycm93LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDYwIn0uZmEtYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDYxIn0uZmEtYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDYyIn0uZmEtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYwNjMifS5mYS1tYWlsLWZvcndhcmQ6YmVmb3JlLC5mYS1zaGFyZTpiZWZvcmV7Y29udGVudDoiXGYwNjQifS5mYS1leHBhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDY1In0uZmEtY29tcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDY2In0uZmEtcGx1czpiZWZvcmV7Y29udGVudDoiXGYwNjcifS5mYS1taW51czpiZWZvcmV7Y29udGVudDoiXGYwNjgifS5mYS1hc3RlcmlzazpiZWZvcmV7Y29udGVudDoiXGYwNjkifS5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZhIn0uZmEtZ2lmdDpiZWZvcmV7Y29udGVudDoiXGYwNmIifS5mYS1sZWFmOmJlZm9yZXtjb250ZW50OiJcZjA2YyJ9LmZhLWZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZkIn0uZmEtZXllOmJlZm9yZXtjb250ZW50OiJcZjA2ZSJ9LmZhLWV5ZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYwNzAifS5mYS13YXJuaW5nOmJlZm9yZSwuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcxIn0uZmEtcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcyIn0uZmEtY2FsZW5kYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDczIn0uZmEtcmFuZG9tOmJlZm9yZXtjb250ZW50OiJcZjA3NCJ9LmZhLWNvbW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc1In0uZmEtbWFnbmV0OmJlZm9yZXtjb250ZW50OiJcZjA3NiJ9LmZhLWNoZXZyb24tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDc3In0uZmEtY2hldnJvbi1kb3duOmJlZm9yZXtjb250ZW50OiJcZjA3OCJ9LmZhLXJldHdlZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc5In0uZmEtc2hvcHBpbmctY2FydDpiZWZvcmV7Y29udGVudDoiXGYwN2EifS5mYS1mb2xkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDdiIn0uZmEtZm9sZGVyLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmMDdjIn0uZmEtYXJyb3dzLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMDdkIn0uZmEtYXJyb3dzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMDdlIn0uZmEtYmFyLWNoYXJ0LW86YmVmb3JlLC5mYS1iYXItY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDgwIn0uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDgxIn0uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4MiJ9LmZhLWNhbWVyYS1yZXRybzpiZWZvcmV7Y29udGVudDoiXGYwODMifS5mYS1rZXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDg0In0uZmEtZ2VhcnM6YmVmb3JlLC5mYS1jb2dzOmJlZm9yZXtjb250ZW50OiJcZjA4NSJ9LmZhLWNvbW1lbnRzOmJlZm9yZXtjb250ZW50OiJcZjA4NiJ9LmZhLXRodW1icy1vLXVwOmJlZm9yZXtjb250ZW50OiJcZjA4NyJ9LmZhLXRodW1icy1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDg4In0uZmEtc3Rhci1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjA4OSJ9LmZhLWhlYXJ0LW86YmVmb3Jle2NvbnRlbnQ6IlxmMDhhIn0uZmEtc2lnbi1vdXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDhiIn0uZmEtbGlua2VkaW4tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4YyJ9LmZhLXRodW1iLXRhY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDhkIn0uZmEtZXh0ZXJuYWwtbGluazpiZWZvcmV7Y29udGVudDoiXGYwOGUifS5mYS1zaWduLWluOmJlZm9yZXtjb250ZW50OiJcZjA5MCJ9LmZhLXRyb3BoeTpiZWZvcmV7Y29udGVudDoiXGYwOTEifS5mYS1naXRodWItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5MiJ9LmZhLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGYwOTMifS5mYS1sZW1vbi1vOmJlZm9yZXtjb250ZW50OiJcZjA5NCJ9LmZhLXBob25lOmJlZm9yZXtjb250ZW50OiJcZjA5NSJ9LmZhLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OiJcZjA5NiJ9LmZhLWJvb2ttYXJrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDk3In0uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5OCJ9LmZhLXR3aXR0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDk5In0uZmEtZmFjZWJvb2stZjpiZWZvcmUsLmZhLWZhY2Vib29rOmJlZm9yZXtjb250ZW50OiJcZjA5YSJ9LmZhLWdpdGh1YjpiZWZvcmV7Y29udGVudDoiXGYwOWIifS5mYS11bmxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDljIn0uZmEtY3JlZGl0LWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDlkIn0uZmEtZmVlZDpiZWZvcmUsLmZhLXJzczpiZWZvcmV7Y29udGVudDoiXGYwOWUifS5mYS1oZGQtbzpiZWZvcmV7Y29udGVudDoiXGYwYTAifS5mYS1idWxsaG9ybjpiZWZvcmV7Y29udGVudDoiXGYwYTEifS5mYS1iZWxsOmJlZm9yZXtjb250ZW50OiJcZjBmMyJ9LmZhLWNlcnRpZmljYXRlOmJlZm9yZXtjb250ZW50OiJcZjBhMyJ9LmZhLWhhbmQtby1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwYTQifS5mYS1oYW5kLW8tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwYTUifS5mYS1oYW5kLW8tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGE2In0uZmEtaGFuZC1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGE3In0uZmEtYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE4In0uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBhOSJ9LmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDoiXGYwYWEifS5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwYWIifS5mYS1nbG9iZTpiZWZvcmV7Y29udGVudDoiXGYwYWMifS5mYS13cmVuY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMGFkIn0uZmEtdGFza3M6YmVmb3Jle2NvbnRlbnQ6IlxmMGFlIn0uZmEtZmlsdGVyOmJlZm9yZXtjb250ZW50OiJcZjBiMCJ9LmZhLWJyaWVmY2FzZTpiZWZvcmV7Y29udGVudDoiXGYwYjEifS5mYS1hcnJvd3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZjBiMiJ9LmZhLWdyb3VwOmJlZm9yZSwuZmEtdXNlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGMwIn0uZmEtY2hhaW46YmVmb3JlLC5mYS1saW5rOmJlZm9yZXtjb250ZW50OiJcZjBjMSJ9LmZhLWNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjBjMiJ9LmZhLWZsYXNrOmJlZm9yZXtjb250ZW50OiJcZjBjMyJ9LmZhLWN1dDpiZWZvcmUsLmZhLXNjaXNzb3JzOmJlZm9yZXtjb250ZW50OiJcZjBjNCJ9LmZhLWNvcHk6YmVmb3JlLC5mYS1maWxlcy1vOmJlZm9yZXtjb250ZW50OiJcZjBjNSJ9LmZhLXBhcGVyY2xpcDpiZWZvcmV7Y29udGVudDoiXGYwYzYifS5mYS1zYXZlOmJlZm9yZSwuZmEtZmxvcHB5LW86YmVmb3Jle2NvbnRlbnQ6IlxmMGM3In0uZmEtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBjOCJ9LmZhLW5hdmljb246YmVmb3JlLC5mYS1yZW9yZGVyOmJlZm9yZSwuZmEtYmFyczpiZWZvcmV7Y29udGVudDoiXGYwYzkifS5mYS1saXN0LXVsOmJlZm9yZXtjb250ZW50OiJcZjBjYSJ9LmZhLWxpc3Qtb2w6YmVmb3Jle2NvbnRlbnQ6IlxmMGNiIn0uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmV7Y29udGVudDoiXGYwY2MifS5mYS11bmRlcmxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNkIn0uZmEtdGFibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNlIn0uZmEtbWFnaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMGQwIn0uZmEtdHJ1Y2s6YmVmb3Jle2NvbnRlbnQ6IlxmMGQxIn0uZmEtcGludGVyZXN0OmJlZm9yZXtjb250ZW50OiJcZjBkMiJ9LmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGQzIn0uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBkNCJ9LmZhLWdvb2dsZS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjBkNSJ9LmZhLW1vbmV5OmJlZm9yZXtjb250ZW50OiJcZjBkNiJ9LmZhLWNhcmV0LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGQ3In0uZmEtY2FyZXQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ4In0uZmEtY2FyZXQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwZDkifS5mYS1jYXJldC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwZGEifS5mYS1jb2x1bW5zOmJlZm9yZXtjb250ZW50OiJcZjBkYiJ9LmZhLXVuc29ydGVkOmJlZm9yZSwuZmEtc29ydDpiZWZvcmV7Y29udGVudDoiXGYwZGMifS5mYS1zb3J0LWRvd246YmVmb3JlLC5mYS1zb3J0LWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMGRkIn0uZmEtc29ydC11cDpiZWZvcmUsLmZhLXNvcnQtYXNjOmJlZm9yZXtjb250ZW50OiJcZjBkZSJ9LmZhLWVudmVsb3BlOmJlZm9yZXtjb250ZW50OiJcZjBlMCJ9LmZhLWxpbmtlZGluOmJlZm9yZXtjb250ZW50OiJcZjBlMSJ9LmZhLXJvdGF0ZS1sZWZ0OmJlZm9yZSwuZmEtdW5kbzpiZWZvcmV7Y29udGVudDoiXGYwZTIifS5mYS1sZWdhbDpiZWZvcmUsLmZhLWdhdmVsOmJlZm9yZXtjb250ZW50OiJcZjBlMyJ9LmZhLWRhc2hib2FyZDpiZWZvcmUsLmZhLXRhY2hvbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGU0In0uZmEtY29tbWVudC1vOmJlZm9yZXtjb250ZW50OiJcZjBlNSJ9LmZhLWNvbW1lbnRzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGU2In0uZmEtZmxhc2g6YmVmb3JlLC5mYS1ib2x0OmJlZm9yZXtjb250ZW50OiJcZjBlNyJ9LmZhLXNpdGVtYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGU4In0uZmEtdW1icmVsbGE6YmVmb3Jle2NvbnRlbnQ6IlxmMGU5In0uZmEtcGFzdGU6YmVmb3JlLC5mYS1jbGlwYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVhIn0uZmEtbGlnaHRidWxiLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGViIn0uZmEtZXhjaGFuZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGVjIn0uZmEtY2xvdWQtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVkIn0uZmEtY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZjBlZSJ9LmZhLXVzZXItbWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGYwIn0uZmEtc3RldGhvc2NvcGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGYxIn0uZmEtc3VpdGNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGYyIn0uZmEtYmVsbC1vOmJlZm9yZXtjb250ZW50OiJcZjBhMiJ9LmZhLWNvZmZlZTpiZWZvcmV7Y29udGVudDoiXGYwZjQifS5mYS1jdXRsZXJ5OmJlZm9yZXtjb250ZW50OiJcZjBmNSJ9LmZhLWZpbGUtdGV4dC1vOmJlZm9yZXtjb250ZW50OiJcZjBmNiJ9LmZhLWJ1aWxkaW5nLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGY3In0uZmEtaG9zcGl0YWwtbzpiZWZvcmV7Y29udGVudDoiXGYwZjgifS5mYS1hbWJ1bGFuY2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGY5In0uZmEtbWVka2l0OmJlZm9yZXtjb250ZW50OiJcZjBmYSJ9LmZhLWZpZ2h0ZXItamV0OmJlZm9yZXtjb250ZW50OiJcZjBmYiJ9LmZhLWJlZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGZjIn0uZmEtaC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZkIn0uZmEtcGx1cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZlIn0uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTAwIn0uZmEtYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwMSJ9LmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmV7Y29udGVudDoiXGYxMDIifS5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxMDMifS5mYS1hbmdsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwNCJ9LmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwNSJ9LmZhLWFuZ2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjEwNiJ9LmZhLWFuZ2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTA3In0uZmEtZGVza3RvcDpiZWZvcmV7Y29udGVudDoiXGYxMDgifS5mYS1sYXB0b3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTA5In0uZmEtdGFibGV0OmJlZm9yZXtjb250ZW50OiJcZjEwYSJ9LmZhLW1vYmlsZS1waG9uZTpiZWZvcmUsLmZhLW1vYmlsZTpiZWZvcmV7Y29udGVudDoiXGYxMGIifS5mYS1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYxMGMifS5mYS1xdW90ZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwZCJ9LmZhLXF1b3RlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwZSJ9LmZhLXNwaW5uZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTEwIn0uZmEtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjExMSJ9LmZhLW1haWwtcmVwbHk6YmVmb3JlLC5mYS1yZXBseTpiZWZvcmV7Y29udGVudDoiXGYxMTIifS5mYS1naXRodWItYWx0OmJlZm9yZXtjb250ZW50OiJcZjExMyJ9LmZhLWZvbGRlci1vOmJlZm9yZXtjb250ZW50OiJcZjExNCJ9LmZhLWZvbGRlci1vcGVuLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTE1In0uZmEtc21pbGUtbzpiZWZvcmV7Y29udGVudDoiXGYxMTgifS5mYS1mcm93bi1vOmJlZm9yZXtjb250ZW50OiJcZjExOSJ9LmZhLW1laC1vOmJlZm9yZXtjb250ZW50OiJcZjExYSJ9LmZhLWdhbWVwYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFiIn0uZmEta2V5Ym9hcmQtbzpiZWZvcmV7Y29udGVudDoiXGYxMWMifS5mYS1mbGFnLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTFkIn0uZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFlIn0uZmEtdGVybWluYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMTIwIn0uZmEtY29kZTpiZWZvcmV7Y29udGVudDoiXGYxMjEifS5mYS1tYWlsLXJlcGx5LWFsbDpiZWZvcmUsLmZhLXJlcGx5LWFsbDpiZWZvcmV7Y29udGVudDoiXGYxMjIifS5mYS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLC5mYS1zdGFyLWhhbGYtZnVsbDpiZWZvcmUsLmZhLXN0YXItaGFsZi1vOmJlZm9yZXtjb250ZW50OiJcZjEyMyJ9LmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZXtjb250ZW50OiJcZjEyNCJ9LmZhLWNyb3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTI1In0uZmEtY29kZS1mb3JrOmJlZm9yZXtjb250ZW50OiJcZjEyNiJ9LmZhLXVubGluazpiZWZvcmUsLmZhLWNoYWluLWJyb2tlbjpiZWZvcmV7Y29udGVudDoiXGYxMjcifS5mYS1xdWVzdGlvbjpiZWZvcmV7Y29udGVudDoiXGYxMjgifS5mYS1pbmZvOmJlZm9yZXtjb250ZW50OiJcZjEyOSJ9LmZhLWV4Y2xhbWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjEyYSJ9LmZhLXN1cGVyc2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZjEyYiJ9LmZhLXN1YnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGYxMmMifS5mYS1lcmFzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTJkIn0uZmEtcHV6emxlLXBpZWNlOmJlZm9yZXtjb250ZW50OiJcZjEyZSJ9LmZhLW1pY3JvcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTMwIn0uZmEtbWljcm9waG9uZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYxMzEifS5mYS1zaGllbGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTMyIn0uZmEtY2FsZW5kYXItbzpiZWZvcmV7Y29udGVudDoiXGYxMzMifS5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmV7Y29udGVudDoiXGYxMzQifS5mYS1yb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM1In0uZmEtbWF4Y2RuOmJlZm9yZXtjb250ZW50OiJcZjEzNiJ9LmZhLWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM3In0uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM4In0uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTM5In0uZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxM2EifS5mYS1odG1sNTpiZWZvcmV7Y29udGVudDoiXGYxM2IifS5mYS1jc3MzOmJlZm9yZXtjb250ZW50OiJcZjEzYyJ9LmZhLWFuY2hvcjpiZWZvcmV7Y29udGVudDoiXGYxM2QifS5mYS11bmxvY2stYWx0OmJlZm9yZXtjb250ZW50OiJcZjEzZSJ9LmZhLWJ1bGxzZXllOmJlZm9yZXtjb250ZW50OiJcZjE0MCJ9LmZhLWVsbGlwc2lzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMTQxIn0uZmEtZWxsaXBzaXMtdjpiZWZvcmV7Y29udGVudDoiXGYxNDIifS5mYS1yc3Mtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE0MyJ9LmZhLXBsYXktY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjE0NCJ9LmZhLXRpY2tldDpiZWZvcmV7Y29udGVudDoiXGYxNDUifS5mYS1taW51cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ2In0uZmEtbWludXMtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTQ3In0uZmEtbGV2ZWwtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ4In0uZmEtbGV2ZWwtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNDkifS5mYS1jaGVjay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRhIn0uZmEtcGVuY2lsLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGIifS5mYS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGMifS5mYS1zaGFyZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRkIn0uZmEtY29tcGFzczpiZWZvcmV7Y29udGVudDoiXGYxNGUifS5mYS10b2dnbGUtZG93bjpiZWZvcmUsLmZhLWNhcmV0LXNxdWFyZS1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTUwIn0uZmEtdG9nZ2xlLXVwOmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTUxIn0uZmEtdG9nZ2xlLXJpZ2h0OmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTUyIn0uZmEtZXVybzpiZWZvcmUsLmZhLWV1cjpiZWZvcmV7Y29udGVudDoiXGYxNTMifS5mYS1nYnA6YmVmb3Jle2NvbnRlbnQ6IlxmMTU0In0uZmEtZG9sbGFyOmJlZm9yZSwuZmEtdXNkOmJlZm9yZXtjb250ZW50OiJcZjE1NSJ9LmZhLXJ1cGVlOmJlZm9yZSwuZmEtaW5yOmJlZm9yZXtjb250ZW50OiJcZjE1NiJ9LmZhLWNueTpiZWZvcmUsLmZhLXJtYjpiZWZvcmUsLmZhLXllbjpiZWZvcmUsLmZhLWpweTpiZWZvcmV7Y29udGVudDoiXGYxNTcifS5mYS1ydWJsZTpiZWZvcmUsLmZhLXJvdWJsZTpiZWZvcmUsLmZhLXJ1YjpiZWZvcmV7Y29udGVudDoiXGYxNTgifS5mYS13b246YmVmb3JlLC5mYS1rcnc6YmVmb3Jle2NvbnRlbnQ6IlxmMTU5In0uZmEtYml0Y29pbjpiZWZvcmUsLmZhLWJ0YzpiZWZvcmV7Y29udGVudDoiXGYxNWEifS5mYS1maWxlOmJlZm9yZXtjb250ZW50OiJcZjE1YiJ9LmZhLWZpbGUtdGV4dDpiZWZvcmV7Y29udGVudDoiXGYxNWMifS5mYS1zb3J0LWFscGhhLWFzYzpiZWZvcmV7Y29udGVudDoiXGYxNWQifS5mYS1zb3J0LWFscGhhLWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTVlIn0uZmEtc29ydC1hbW91bnQtYXNjOmJlZm9yZXtjb250ZW50OiJcZjE2MCJ9LmZhLXNvcnQtYW1vdW50LWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTYxIn0uZmEtc29ydC1udW1lcmljLWFzYzpiZWZvcmV7Y29udGVudDoiXGYxNjIifS5mYS1zb3J0LW51bWVyaWMtZGVzYzpiZWZvcmV7Y29udGVudDoiXGYxNjMifS5mYS10aHVtYnMtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTY0In0uZmEtdGh1bWJzLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTY1In0uZmEteW91dHViZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTY2In0uZmEteW91dHViZTpiZWZvcmV7Y29udGVudDoiXGYxNjcifS5mYS14aW5nOmJlZm9yZXtjb250ZW50OiJcZjE2OCJ9LmZhLXhpbmctc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE2OSJ9LmZhLXlvdXR1YmUtcGxheTpiZWZvcmV7Y29udGVudDoiXGYxNmEifS5mYS1kcm9wYm94OmJlZm9yZXtjb250ZW50OiJcZjE2YiJ9LmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZXtjb250ZW50OiJcZjE2YyJ9LmZhLWluc3RhZ3JhbTpiZWZvcmV7Y29udGVudDoiXGYxNmQifS5mYS1mbGlja3I6YmVmb3Jle2NvbnRlbnQ6IlxmMTZlIn0uZmEtYWRuOmJlZm9yZXtjb250ZW50OiJcZjE3MCJ9LmZhLWJpdGJ1Y2tldDpiZWZvcmV7Y29udGVudDoiXGYxNzEifS5mYS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3MiJ9LmZhLXR1bWJscjpiZWZvcmV7Y29udGVudDoiXGYxNzMifS5mYS10dW1ibHItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3NCJ9LmZhLWxvbmctYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNzUifS5mYS1sb25nLWFycm93LXVwOmJlZm9yZXtjb250ZW50OiJcZjE3NiJ9LmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxNzcifS5mYS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjE3OCJ9LmZhLWFwcGxlOmJlZm9yZXtjb250ZW50OiJcZjE3OSJ9LmZhLXdpbmRvd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMTdhIn0uZmEtYW5kcm9pZDpiZWZvcmV7Y29udGVudDoiXGYxN2IifS5mYS1saW51eDpiZWZvcmV7Y29udGVudDoiXGYxN2MifS5mYS1kcmliYmJsZTpiZWZvcmV7Y29udGVudDoiXGYxN2QifS5mYS1za3lwZTpiZWZvcmV7Y29udGVudDoiXGYxN2UifS5mYS1mb3Vyc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE4MCJ9LmZhLXRyZWxsbzpiZWZvcmV7Y29udGVudDoiXGYxODEifS5mYS1mZW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTgyIn0uZmEtbWFsZTpiZWZvcmV7Y29udGVudDoiXGYxODMifS5mYS1naXR0aXA6YmVmb3JlLC5mYS1ncmF0aXBheTpiZWZvcmV7Y29udGVudDoiXGYxODQifS5mYS1zdW4tbzpiZWZvcmV7Y29udGVudDoiXGYxODUifS5mYS1tb29uLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTg2In0uZmEtYXJjaGl2ZTpiZWZvcmV7Y29udGVudDoiXGYxODcifS5mYS1idWc6YmVmb3Jle2NvbnRlbnQ6IlxmMTg4In0uZmEtdms6YmVmb3Jle2NvbnRlbnQ6IlxmMTg5In0uZmEtd2VpYm86YmVmb3Jle2NvbnRlbnQ6IlxmMThhIn0uZmEtcmVucmVuOmJlZm9yZXtjb250ZW50OiJcZjE4YiJ9LmZhLXBhZ2VsaW5lczpiZWZvcmV7Y29udGVudDoiXGYxOGMifS5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmV7Y29udGVudDoiXGYxOGQifS5mYS1hcnJvdy1jaXJjbGUtby1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxOGUifS5mYS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjE5MCJ9LmZhLXRvZ2dsZS1sZWZ0OmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxOTEifS5mYS1kb3QtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTkyIn0uZmEtd2hlZWxjaGFpcjpiZWZvcmV7Y29udGVudDoiXGYxOTMifS5mYS12aW1lby1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk0In0uZmEtdHVya2lzaC1saXJhOmJlZm9yZSwuZmEtdHJ5OmJlZm9yZXtjb250ZW50OiJcZjE5NSJ9LmZhLXBsdXMtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTk2In0uZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmV7Y29udGVudDoiXGYxOTcifS5mYS1zbGFjazpiZWZvcmV7Y29udGVudDoiXGYxOTgifS5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk5In0uZmEtd29yZHByZXNzOmJlZm9yZXtjb250ZW50OiJcZjE5YSJ9LmZhLW9wZW5pZDpiZWZvcmV7Y29udGVudDoiXGYxOWIifS5mYS1pbnN0aXR1dGlvbjpiZWZvcmUsLmZhLWJhbms6YmVmb3JlLC5mYS11bml2ZXJzaXR5OmJlZm9yZXtjb250ZW50OiJcZjE5YyJ9LmZhLW1vcnRhci1ib2FyZDpiZWZvcmUsLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZXtjb250ZW50OiJcZjE5ZCJ9LmZhLXlhaG9vOmJlZm9yZXtjb250ZW50OiJcZjE5ZSJ9LmZhLWdvb2dsZTpiZWZvcmV7Y29udGVudDoiXGYxYTAifS5mYS1yZWRkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWExIn0uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYTIifS5mYS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWEzIn0uZmEtc3R1bWJsZXVwb246YmVmb3Jle2NvbnRlbnQ6IlxmMWE0In0uZmEtZGVsaWNpb3VzOmJlZm9yZXtjb250ZW50OiJcZjFhNSJ9LmZhLWRpZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmMWE2In0uZmEtcGllZC1waXBlci1wcDpiZWZvcmV7Y29udGVudDoiXGYxYTcifS5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxYTgifS5mYS1kcnVwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWE5In0uZmEtam9vbWxhOmJlZm9yZXtjb250ZW50OiJcZjFhYSJ9LmZhLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OiJcZjFhYiJ9LmZhLWZheDpiZWZvcmV7Y29udGVudDoiXGYxYWMifS5mYS1idWlsZGluZzpiZWZvcmV7Y29udGVudDoiXGYxYWQifS5mYS1jaGlsZDpiZWZvcmV7Y29udGVudDoiXGYxYWUifS5mYS1wYXc6YmVmb3Jle2NvbnRlbnQ6IlxmMWIwIn0uZmEtc3Bvb246YmVmb3Jle2NvbnRlbnQ6IlxmMWIxIn0uZmEtY3ViZTpiZWZvcmV7Y29udGVudDoiXGYxYjIifS5mYS1jdWJlczpiZWZvcmV7Y29udGVudDoiXGYxYjMifS5mYS1iZWhhbmNlOmJlZm9yZXtjb250ZW50OiJcZjFiNCJ9LmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFiNSJ9LmZhLXN0ZWFtOmJlZm9yZXtjb250ZW50OiJcZjFiNiJ9LmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYjcifS5mYS1yZWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjFiOCJ9LmZhLWF1dG9tb2JpbGU6YmVmb3JlLC5mYS1jYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWI5In0uZmEtY2FiOmJlZm9yZSwuZmEtdGF4aTpiZWZvcmV7Y29udGVudDoiXGYxYmEifS5mYS10cmVlOmJlZm9yZXtjb250ZW50OiJcZjFiYiJ9LmZhLXNwb3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMWJjIn0uZmEtZGV2aWFudGFydDpiZWZvcmV7Y29udGVudDoiXGYxYmQifS5mYS1zb3VuZGNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjFiZSJ9LmZhLWRhdGFiYXNlOmJlZm9yZXtjb250ZW50OiJcZjFjMCJ9LmZhLWZpbGUtcGRmLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWMxIn0uZmEtZmlsZS13b3JkLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWMyIn0uZmEtZmlsZS1leGNlbC1vOmJlZm9yZXtjb250ZW50OiJcZjFjMyJ9LmZhLWZpbGUtcG93ZXJwb2ludC1vOmJlZm9yZXtjb250ZW50OiJcZjFjNCJ9LmZhLWZpbGUtcGhvdG8tbzpiZWZvcmUsLmZhLWZpbGUtcGljdHVyZS1vOmJlZm9yZSwuZmEtZmlsZS1pbWFnZS1vOmJlZm9yZXtjb250ZW50OiJcZjFjNSJ9LmZhLWZpbGUtemlwLW86YmVmb3JlLC5mYS1maWxlLWFyY2hpdmUtbzpiZWZvcmV7Y29udGVudDoiXGYxYzYifS5mYS1maWxlLXNvdW5kLW86YmVmb3JlLC5mYS1maWxlLWF1ZGlvLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM3In0uZmEtZmlsZS1tb3ZpZS1vOmJlZm9yZSwuZmEtZmlsZS12aWRlby1vOmJlZm9yZXtjb250ZW50OiJcZjFjOCJ9LmZhLWZpbGUtY29kZS1vOmJlZm9yZXtjb250ZW50OiJcZjFjOSJ9LmZhLXZpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWNhIn0uZmEtY29kZXBlbjpiZWZvcmV7Y29udGVudDoiXGYxY2IifS5mYS1qc2ZpZGRsZTpiZWZvcmV7Y29udGVudDoiXGYxY2MifS5mYS1saWZlLWJvdXk6YmVmb3JlLC5mYS1saWZlLWJ1b3k6YmVmb3JlLC5mYS1saWZlLXNhdmVyOmJlZm9yZSwuZmEtc3VwcG9ydDpiZWZvcmUsLmZhLWxpZmUtcmluZzpiZWZvcmV7Y29udGVudDoiXGYxY2QifS5mYS1jaXJjbGUtby1ub3RjaDpiZWZvcmV7Y29udGVudDoiXGYxY2UifS5mYS1yYTpiZWZvcmUsLmZhLXJlc2lzdGFuY2U6YmVmb3JlLC5mYS1yZWJlbDpiZWZvcmV7Y29udGVudDoiXGYxZDAifS5mYS1nZTpiZWZvcmUsLmZhLWVtcGlyZTpiZWZvcmV7Y29udGVudDoiXGYxZDEifS5mYS1naXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFkMiJ9LmZhLWdpdDpiZWZvcmV7Y29udGVudDoiXGYxZDMifS5mYS15LWNvbWJpbmF0b3Itc3F1YXJlOmJlZm9yZSwuZmEteWMtc3F1YXJlOmJlZm9yZSwuZmEtaGFja2VyLW5ld3M6YmVmb3Jle2NvbnRlbnQ6IlxmMWQ0In0uZmEtdGVuY2VudC13ZWlibzpiZWZvcmV7Y29udGVudDoiXGYxZDUifS5mYS1xcTpiZWZvcmV7Y29udGVudDoiXGYxZDYifS5mYS13ZWNoYXQ6YmVmb3JlLC5mYS13ZWl4aW46YmVmb3Jle2NvbnRlbnQ6IlxmMWQ3In0uZmEtc2VuZDpiZWZvcmUsLmZhLXBhcGVyLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZjFkOCJ9LmZhLXNlbmQtbzpiZWZvcmUsLmZhLXBhcGVyLXBsYW5lLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWQ5In0uZmEtaGlzdG9yeTpiZWZvcmV7Y29udGVudDoiXGYxZGEifS5mYS1jaXJjbGUtdGhpbjpiZWZvcmV7Y29udGVudDoiXGYxZGIifS5mYS1oZWFkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWRjIn0uZmEtcGFyYWdyYXBoOmJlZm9yZXtjb250ZW50OiJcZjFkZCJ9LmZhLXNsaWRlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMWRlIn0uZmEtc2hhcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjFlMCJ9LmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWUxIn0uZmEtYm9tYjpiZWZvcmV7Y29udGVudDoiXGYxZTIifS5mYS1zb2NjZXItYmFsbC1vOmJlZm9yZSwuZmEtZnV0Ym9sLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWUzIn0uZmEtdHR5OmJlZm9yZXtjb250ZW50OiJcZjFlNCJ9LmZhLWJpbm9jdWxhcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMWU1In0uZmEtcGx1ZzpiZWZvcmV7Y29udGVudDoiXGYxZTYifS5mYS1zbGlkZXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZjFlNyJ9LmZhLXR3aXRjaDpiZWZvcmV7Y29udGVudDoiXGYxZTgifS5mYS15ZWxwOmJlZm9yZXtjb250ZW50OiJcZjFlOSJ9LmZhLW5ld3NwYXBlci1vOmJlZm9yZXtjb250ZW50OiJcZjFlYSJ9LmZhLXdpZmk6YmVmb3Jle2NvbnRlbnQ6IlxmMWViIn0uZmEtY2FsY3VsYXRvcjpiZWZvcmV7Y29udGVudDoiXGYxZWMifS5mYS1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWVkIn0uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmV7Y29udGVudDoiXGYxZWUifS5mYS1jYy12aXNhOmJlZm9yZXtjb250ZW50OiJcZjFmMCJ9LmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWYxIn0uZmEtY2MtZGlzY292ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWYyIn0uZmEtY2MtYW1leDpiZWZvcmV7Y29udGVudDoiXGYxZjMifS5mYS1jYy1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWY0In0uZmEtY2Mtc3RyaXBlOmJlZm9yZXtjb250ZW50OiJcZjFmNSJ9LmZhLWJlbGwtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWY2In0uZmEtYmVsbC1zbGFzaC1vOmJlZm9yZXtjb250ZW50OiJcZjFmNyJ9LmZhLXRyYXNoOmJlZm9yZXtjb250ZW50OiJcZjFmOCJ9LmZhLWNvcHlyaWdodDpiZWZvcmV7Y29udGVudDoiXGYxZjkifS5mYS1hdDpiZWZvcmV7Y29udGVudDoiXGYxZmEifS5mYS1leWVkcm9wcGVyOmJlZm9yZXtjb250ZW50OiJcZjFmYiJ9LmZhLXBhaW50LWJydXNoOmJlZm9yZXtjb250ZW50OiJcZjFmYyJ9LmZhLWJpcnRoZGF5LWNha2U6YmVmb3Jle2NvbnRlbnQ6IlxmMWZkIn0uZmEtYXJlYS1jaGFydDpiZWZvcmV7Y29udGVudDoiXGYxZmUifS5mYS1waWUtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjAwIn0uZmEtbGluZS1jaGFydDpiZWZvcmV7Y29udGVudDoiXGYyMDEifS5mYS1sYXN0Zm06YmVmb3Jle2NvbnRlbnQ6IlxmMjAyIn0uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyMDMifS5mYS10b2dnbGUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZjIwNCJ9LmZhLXRvZ2dsZS1vbjpiZWZvcmV7Y29udGVudDoiXGYyMDUifS5mYS1iaWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjIwNiJ9LmZhLWJ1czpiZWZvcmV7Y29udGVudDoiXGYyMDcifS5mYS1pb3hob3N0OmJlZm9yZXtjb250ZW50OiJcZjIwOCJ9LmZhLWFuZ2VsbGlzdDpiZWZvcmV7Y29udGVudDoiXGYyMDkifS5mYS1jYzpiZWZvcmV7Y29udGVudDoiXGYyMGEifS5mYS1zaGVrZWw6YmVmb3JlLC5mYS1zaGVxZWw6YmVmb3JlLC5mYS1pbHM6YmVmb3Jle2NvbnRlbnQ6IlxmMjBiIn0uZmEtbWVhbnBhdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMjBjIn0uZmEtYnV5c2VsbGFkczpiZWZvcmV7Y29udGVudDoiXGYyMGQifS5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmV7Y29udGVudDoiXGYyMGUifS5mYS1kYXNoY3ViZTpiZWZvcmV7Y29udGVudDoiXGYyMTAifS5mYS1mb3J1bWJlZTpiZWZvcmV7Y29udGVudDoiXGYyMTEifS5mYS1sZWFucHViOmJlZm9yZXtjb250ZW50OiJcZjIxMiJ9LmZhLXNlbGxzeTpiZWZvcmV7Y29udGVudDoiXGYyMTMifS5mYS1zaGlydHNpbmJ1bGs6YmVmb3Jle2NvbnRlbnQ6IlxmMjE0In0uZmEtc2ltcGx5YnVpbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjE1In0uZmEtc2t5YXRsYXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjE2In0uZmEtY2FydC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjIxNyJ9LmZhLWNhcnQtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYyMTgifS5mYS1kaWFtb25kOmJlZm9yZXtjb250ZW50OiJcZjIxOSJ9LmZhLXNoaXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjFhIn0uZmEtdXNlci1zZWNyZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjFiIn0uZmEtbW90b3JjeWNsZTpiZWZvcmV7Y29udGVudDoiXGYyMWMifS5mYS1zdHJlZXQtdmlldzpiZWZvcmV7Y29udGVudDoiXGYyMWQifS5mYS1oZWFydGJlYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjFlIn0uZmEtdmVudXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjIxIn0uZmEtbWFyczpiZWZvcmV7Y29udGVudDoiXGYyMjIifS5mYS1tZXJjdXJ5OmJlZm9yZXtjb250ZW50OiJcZjIyMyJ9LmZhLWludGVyc2V4OmJlZm9yZSwuZmEtdHJhbnNnZW5kZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjI0In0uZmEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjIyNSJ9LmZhLXZlbnVzLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGYyMjYifS5mYS1tYXJzLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGYyMjcifS5mYS12ZW51cy1tYXJzOmJlZm9yZXtjb250ZW50OiJcZjIyOCJ9LmZhLW1hcnMtc3Ryb2tlOmJlZm9yZXtjb250ZW50OiJcZjIyOSJ9LmZhLW1hcnMtc3Ryb2tlLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMjJhIn0uZmEtbWFycy1zdHJva2UtaDpiZWZvcmV7Y29udGVudDoiXGYyMmIifS5mYS1uZXV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjJjIn0uZmEtZ2VuZGVybGVzczpiZWZvcmV7Y29udGVudDoiXGYyMmQifS5mYS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmV7Y29udGVudDoiXGYyMzAifS5mYS1waW50ZXJlc3QtcDpiZWZvcmV7Y29udGVudDoiXGYyMzEifS5mYS13aGF0c2FwcDpiZWZvcmV7Y29udGVudDoiXGYyMzIifS5mYS1zZXJ2ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjMzIn0uZmEtdXNlci1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjIzNCJ9LmZhLXVzZXItdGltZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjM1In0uZmEtaG90ZWw6YmVmb3JlLC5mYS1iZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjM2In0uZmEtdmlhY29pbjpiZWZvcmV7Y29udGVudDoiXGYyMzcifS5mYS10cmFpbjpiZWZvcmV7Y29udGVudDoiXGYyMzgifS5mYS1zdWJ3YXk6YmVmb3Jle2NvbnRlbnQ6IlxmMjM5In0uZmEtbWVkaXVtOmJlZm9yZXtjb250ZW50OiJcZjIzYSJ9LmZhLXljOmJlZm9yZSwuZmEteS1jb21iaW5hdG9yOmJlZm9yZXtjb250ZW50OiJcZjIzYiJ9LmZhLW9wdGluLW1vbnN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjNjIn0uZmEtb3BlbmNhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjNkIn0uZmEtZXhwZWRpdGVkc3NsOmJlZm9yZXtjb250ZW50OiJcZjIzZSJ9LmZhLWJhdHRlcnktNDpiZWZvcmUsLmZhLWJhdHRlcnk6YmVmb3JlLC5mYS1iYXR0ZXJ5LWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmMjQwIn0uZmEtYmF0dGVyeS0zOmJlZm9yZSwuZmEtYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmV7Y29udGVudDoiXGYyNDEifS5mYS1iYXR0ZXJ5LTI6YmVmb3JlLC5mYS1iYXR0ZXJ5LWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMjQyIn0uZmEtYmF0dGVyeS0xOmJlZm9yZSwuZmEtYmF0dGVyeS1xdWFydGVyOmJlZm9yZXtjb250ZW50OiJcZjI0MyJ9LmZhLWJhdHRlcnktMDpiZWZvcmUsLmZhLWJhdHRlcnktZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ0In0uZmEtbW91c2UtcG9pbnRlcjpiZWZvcmV7Y29udGVudDoiXGYyNDUifS5mYS1pLWN1cnNvcjpiZWZvcmV7Y29udGVudDoiXGYyNDYifS5mYS1vYmplY3QtZ3JvdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ3In0uZmEtb2JqZWN0LXVuZ3JvdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ4In0uZmEtc3RpY2t5LW5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ5In0uZmEtc3RpY2t5LW5vdGUtbzpiZWZvcmV7Y29udGVudDoiXGYyNGEifS5mYS1jYy1qY2I6YmVmb3Jle2NvbnRlbnQ6IlxmMjRiIn0uZmEtY2MtZGluZXJzLWNsdWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjRjIn0uZmEtY2xvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjRkIn0uZmEtYmFsYW5jZS1zY2FsZTpiZWZvcmV7Y29udGVudDoiXGYyNGUifS5mYS1ob3VyZ2xhc3MtbzpiZWZvcmV7Y29udGVudDoiXGYyNTAifS5mYS1ob3VyZ2xhc3MtMTpiZWZvcmUsLmZhLWhvdXJnbGFzcy1zdGFydDpiZWZvcmV7Y29udGVudDoiXGYyNTEifS5mYS1ob3VyZ2xhc3MtMjpiZWZvcmUsLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjI1MiJ9LmZhLWhvdXJnbGFzcy0zOmJlZm9yZSwuZmEtaG91cmdsYXNzLWVuZDpiZWZvcmV7Y29udGVudDoiXGYyNTMifS5mYS1ob3VyZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjU0In0uZmEtaGFuZC1ncmFiLW86YmVmb3JlLC5mYS1oYW5kLXJvY2stbzpiZWZvcmV7Y29udGVudDoiXGYyNTUifS5mYS1oYW5kLXN0b3AtbzpiZWZvcmUsLmZhLWhhbmQtcGFwZXItbzpiZWZvcmV7Y29udGVudDoiXGYyNTYifS5mYS1oYW5kLXNjaXNzb3JzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjU3In0uZmEtaGFuZC1saXphcmQtbzpiZWZvcmV7Y29udGVudDoiXGYyNTgifS5mYS1oYW5kLXNwb2NrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjU5In0uZmEtaGFuZC1wb2ludGVyLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjVhIn0uZmEtaGFuZC1wZWFjZS1vOmJlZm9yZXtjb250ZW50OiJcZjI1YiJ9LmZhLXRyYWRlbWFyazpiZWZvcmV7Y29udGVudDoiXGYyNWMifS5mYS1yZWdpc3RlcmVkOmJlZm9yZXtjb250ZW50OiJcZjI1ZCJ9LmZhLWNyZWF0aXZlLWNvbW1vbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjVlIn0uZmEtZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmMjYwIn0uZmEtZ2ctY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjI2MSJ9LmZhLXRyaXBhZHZpc29yOmJlZm9yZXtjb250ZW50OiJcZjI2MiJ9LmZhLW9kbm9rbGFzc25pa2k6YmVmb3Jle2NvbnRlbnQ6IlxmMjYzIn0uZmEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjY0In0uZmEtZ2V0LXBvY2tldDpiZWZvcmV7Y29udGVudDoiXGYyNjUifS5mYS13aWtpcGVkaWEtdzpiZWZvcmV7Y29udGVudDoiXGYyNjYifS5mYS1zYWZhcmk6YmVmb3Jle2NvbnRlbnQ6IlxmMjY3In0uZmEtY2hyb21lOmJlZm9yZXtjb250ZW50OiJcZjI2OCJ9LmZhLWZpcmVmb3g6YmVmb3Jle2NvbnRlbnQ6IlxmMjY5In0uZmEtb3BlcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMjZhIn0uZmEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjZiIn0uZmEtdHY6YmVmb3JlLC5mYS10ZWxldmlzaW9uOmJlZm9yZXtjb250ZW50OiJcZjI2YyJ9LmZhLWNvbnRhbzpiZWZvcmV7Y29udGVudDoiXGYyNmQifS5mYS01MDBweDpiZWZvcmV7Y29udGVudDoiXGYyNmUifS5mYS1hbWF6b246YmVmb3Jle2NvbnRlbnQ6IlxmMjcwIn0uZmEtY2FsZW5kYXItcGx1cy1vOmJlZm9yZXtjb250ZW50OiJcZjI3MSJ9LmZhLWNhbGVuZGFyLW1pbnVzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjcyIn0uZmEtY2FsZW5kYXItdGltZXMtbzpiZWZvcmV7Y29udGVudDoiXGYyNzMifS5mYS1jYWxlbmRhci1jaGVjay1vOmJlZm9yZXtjb250ZW50OiJcZjI3NCJ9LmZhLWluZHVzdHJ5OmJlZm9yZXtjb250ZW50OiJcZjI3NSJ9LmZhLW1hcC1waW46YmVmb3Jle2NvbnRlbnQ6IlxmMjc2In0uZmEtbWFwLXNpZ25zOmJlZm9yZXtjb250ZW50OiJcZjI3NyJ9LmZhLW1hcC1vOmJlZm9yZXtjb250ZW50OiJcZjI3OCJ9LmZhLW1hcDpiZWZvcmV7Y29udGVudDoiXGYyNzkifS5mYS1jb21tZW50aW5nOmJlZm9yZXtjb250ZW50OiJcZjI3YSJ9LmZhLWNvbW1lbnRpbmctbzpiZWZvcmV7Y29udGVudDoiXGYyN2IifS5mYS1ob3V6ejpiZWZvcmV7Y29udGVudDoiXGYyN2MifS5mYS12aW1lbzpiZWZvcmV7Y29udGVudDoiXGYyN2QifS5mYS1ibGFjay10aWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjdlIn0uZmEtZm9udGljb25zOmJlZm9yZXtjb250ZW50OiJcZjI4MCJ9LmZhLXJlZGRpdC1hbGllbjpiZWZvcmV7Y29udGVudDoiXGYyODEifS5mYS1lZGdlOmJlZm9yZXtjb250ZW50OiJcZjI4MiJ9LmZhLWNyZWRpdC1jYXJkLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyODMifS5mYS1jb2RpZXBpZTpiZWZvcmV7Y29udGVudDoiXGYyODQifS5mYS1tb2R4OmJlZm9yZXtjb250ZW50OiJcZjI4NSJ9LmZhLWZvcnQtYXdlc29tZTpiZWZvcmV7Y29udGVudDoiXGYyODYifS5mYS11c2I6YmVmb3Jle2NvbnRlbnQ6IlxmMjg3In0uZmEtcHJvZHVjdC1odW50OmJlZm9yZXtjb250ZW50OiJcZjI4OCJ9LmZhLW1peGNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjI4OSJ9LmZhLXNjcmliZDpiZWZvcmV7Y29udGVudDoiXGYyOGEifS5mYS1wYXVzZS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjhiIn0uZmEtcGF1c2UtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjhjIn0uZmEtc3RvcC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjhkIn0uZmEtc3RvcC1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYyOGUifS5mYS1zaG9wcGluZy1iYWc6YmVmb3Jle2NvbnRlbnQ6IlxmMjkwIn0uZmEtc2hvcHBpbmctYmFza2V0OmJlZm9yZXtjb250ZW50OiJcZjI5MSJ9LmZhLWhhc2h0YWc6YmVmb3Jle2NvbnRlbnQ6IlxmMjkyIn0uZmEtYmx1ZXRvb3RoOmJlZm9yZXtjb250ZW50OiJcZjI5MyJ9LmZhLWJsdWV0b290aC1iOmJlZm9yZXtjb250ZW50OiJcZjI5NCJ9LmZhLXBlcmNlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjk1In0uZmEtZ2l0bGFiOmJlZm9yZXtjb250ZW50OiJcZjI5NiJ9LmZhLXdwYmVnaW5uZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjk3In0uZmEtd3Bmb3JtczpiZWZvcmV7Y29udGVudDoiXGYyOTgifS5mYS1lbnZpcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMjk5In0uZmEtdW5pdmVyc2FsLWFjY2VzczpiZWZvcmV7Y29udGVudDoiXGYyOWEifS5mYS13aGVlbGNoYWlyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyOWIifS5mYS1xdWVzdGlvbi1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYyOWMifS5mYS1ibGluZDpiZWZvcmV7Y29udGVudDoiXGYyOWQifS5mYS1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmV7Y29udGVudDoiXGYyOWUifS5mYS12b2x1bWUtY29udHJvbC1waG9uZTpiZWZvcmV7Y29udGVudDoiXGYyYTAifS5mYS1icmFpbGxlOmJlZm9yZXtjb250ZW50OiJcZjJhMSJ9LmZhLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczpiZWZvcmV7Y29udGVudDoiXGYyYTIifS5mYS1hc2wtaW50ZXJwcmV0aW5nOmJlZm9yZSwuZmEtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMmEzIn0uZmEtZGVhZm5lc3M6YmVmb3JlLC5mYS1oYXJkLW9mLWhlYXJpbmc6YmVmb3JlLC5mYS1kZWFmOmJlZm9yZXtjb250ZW50OiJcZjJhNCJ9LmZhLWdsaWRlOmJlZm9yZXtjb250ZW50OiJcZjJhNSJ9LmZhLWdsaWRlLWc6YmVmb3Jle2NvbnRlbnQ6IlxmMmE2In0uZmEtc2lnbmluZzpiZWZvcmUsLmZhLXNpZ24tbGFuZ3VhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMmE3In0uZmEtbG93LXZpc2lvbjpiZWZvcmV7Y29udGVudDoiXGYyYTgifS5mYS12aWFkZW86YmVmb3Jle2NvbnRlbnQ6IlxmMmE5In0uZmEtdmlhZGVvLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyYWEifS5mYS1zbmFwY2hhdDpiZWZvcmV7Y29udGVudDoiXGYyYWIifS5mYS1zbmFwY2hhdC1naG9zdDpiZWZvcmV7Y29udGVudDoiXGYyYWMifS5mYS1zbmFwY2hhdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmFkIn0uZmEtcGllZC1waXBlcjpiZWZvcmV7Y29udGVudDoiXGYyYWUifS5mYS1maXJzdC1vcmRlcjpiZWZvcmV7Y29udGVudDoiXGYyYjAifS5mYS15b2FzdDpiZWZvcmV7Y29udGVudDoiXGYyYjEifS5mYS10aGVtZWlzbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmIyIn0uZmEtZ29vZ2xlLXBsdXMtY2lyY2xlOmJlZm9yZSwuZmEtZ29vZ2xlLXBsdXMtb2ZmaWNpYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMmIzIn0uZmEtZmE6YmVmb3JlLC5mYS1mb250LWF3ZXNvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMmI0In0uZmEtaGFuZHNoYWtlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMmI1In0uZmEtZW52ZWxvcGUtb3BlbjpiZWZvcmV7Y29udGVudDoiXGYyYjYifS5mYS1lbnZlbG9wZS1vcGVuLW86YmVmb3Jle2NvbnRlbnQ6IlxmMmI3In0uZmEtbGlub2RlOmJlZm9yZXtjb250ZW50OiJcZjJiOCJ9LmZhLWFkZHJlc3MtYm9vazpiZWZvcmV7Y29udGVudDoiXGYyYjkifS5mYS1hZGRyZXNzLWJvb2stbzpiZWZvcmV7Y29udGVudDoiXGYyYmEifS5mYS12Y2FyZDpiZWZvcmUsLmZhLWFkZHJlc3MtY2FyZDpiZWZvcmV7Y29udGVudDoiXGYyYmIifS5mYS12Y2FyZC1vOmJlZm9yZSwuZmEtYWRkcmVzcy1jYXJkLW86YmVmb3Jle2NvbnRlbnQ6IlxmMmJjIn0uZmEtdXNlci1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmJkIn0uZmEtdXNlci1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYyYmUifS5mYS11c2VyLW86YmVmb3Jle2NvbnRlbnQ6IlxmMmMwIn0uZmEtaWQtYmFkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMmMxIn0uZmEtZHJpdmVycy1saWNlbnNlOmJlZm9yZSwuZmEtaWQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGYyYzIifS5mYS1kcml2ZXJzLWxpY2Vuc2UtbzpiZWZvcmUsLmZhLWlkLWNhcmQtbzpiZWZvcmV7Y29udGVudDoiXGYyYzMifS5mYS1xdW9yYTpiZWZvcmV7Y29udGVudDoiXGYyYzQifS5mYS1mcmVlLWNvZGUtY2FtcDpiZWZvcmV7Y29udGVudDoiXGYyYzUifS5mYS10ZWxlZ3JhbTpiZWZvcmV7Y29udGVudDoiXGYyYzYifS5mYS10aGVybW9tZXRlci00OmJlZm9yZSwuZmEtdGhlcm1vbWV0ZXI6YmVmb3JlLC5mYS10aGVybW9tZXRlci1mdWxsOmJlZm9yZXtjb250ZW50OiJcZjJjNyJ9LmZhLXRoZXJtb21ldGVyLTM6YmVmb3JlLC5mYS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmV7Y29udGVudDoiXGYyYzgifS5mYS10aGVybW9tZXRlci0yOmJlZm9yZSwuZmEtdGhlcm1vbWV0ZXItaGFsZjpiZWZvcmV7Y29udGVudDoiXGYyYzkifS5mYS10aGVybW9tZXRlci0xOmJlZm9yZSwuZmEtdGhlcm1vbWV0ZXItcXVhcnRlcjpiZWZvcmV7Y29udGVudDoiXGYyY2EifS5mYS10aGVybW9tZXRlci0wOmJlZm9yZSwuZmEtdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxmMmNiIn0uZmEtc2hvd2VyOmJlZm9yZXtjb250ZW50OiJcZjJjYyJ9LmZhLWJhdGh0dWI6YmVmb3JlLC5mYS1zMTU6YmVmb3JlLC5mYS1iYXRoOmJlZm9yZXtjb250ZW50OiJcZjJjZCJ9LmZhLXBvZGNhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMmNlIn0uZmEtd2luZG93LW1heGltaXplOmJlZm9yZXtjb250ZW50OiJcZjJkMCJ9LmZhLXdpbmRvdy1taW5pbWl6ZTpiZWZvcmV7Y29udGVudDoiXGYyZDEifS5mYS13aW5kb3ctcmVzdG9yZTpiZWZvcmV7Y29udGVudDoiXGYyZDIifS5mYS10aW1lcy1yZWN0YW5nbGU6YmVmb3JlLC5mYS13aW5kb3ctY2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMmQzIn0uZmEtdGltZXMtcmVjdGFuZ2xlLW86YmVmb3JlLC5mYS13aW5kb3ctY2xvc2UtbzpiZWZvcmV7Y29udGVudDoiXGYyZDQifS5mYS1iYW5kY2FtcDpiZWZvcmV7Y29udGVudDoiXGYyZDUifS5mYS1ncmF2OmJlZm9yZXtjb250ZW50OiJcZjJkNiJ9LmZhLWV0c3k6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ3In0uZmEtaW1kYjpiZWZvcmV7Y29udGVudDoiXGYyZDgifS5mYS1yYXZlbHJ5OmJlZm9yZXtjb250ZW50OiJcZjJkOSJ9LmZhLWVlcmNhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMmRhIn0uZmEtbWljcm9jaGlwOmJlZm9yZXtjb250ZW50OiJcZjJkYiJ9LmZhLXNub3dmbGFrZS1vOmJlZm9yZXtjb250ZW50OiJcZjJkYyJ9LmZhLXN1cGVycG93ZXJzOmJlZm9yZXtjb250ZW50OiJcZjJkZCJ9LmZhLXdwZXhwbG9yZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmRlIn0uZmEtbWVldHVwOmJlZm9yZXtjb250ZW50OiJcZjJlMCJ9LnNyLW9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7Ym9yZGVyOjB9LnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwuc3Itb25seS1mb2N1c2FibGU6Zm9jdXN7cG9zaXRpb246c3RhdGljO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87bWFyZ2luOjA7b3ZlcmZsb3c6dmlzaWJsZTtjbGlwOmF1dG99Cg=="}},"time_used":87,"timings":{"blocked":-1,"dns":4,"connect":21,"send":0,"wait":62,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.272Z","timestamp":1785129292272,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 67956\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:00:05 GMT\r\nexpires: Thu, 22 Jul 2027 18:00:05 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Jul 2026 20:35:41 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 386087\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":194344,"size_decoded":68796,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (2519)","md5":"cdf9309b56a4ff330627409baead2538","sha1":"e98eac16441e99c9512052eb0087f535b9a609b9","sha256":"310629c4e47d7960e5a89cbd6a9c1d24a4e4d7c5e18346a69a67d92355cf2cd4","sha512":"cafd13a201e26b9f94f9a636ca1f7c191ec3a9fc3f297d35ee51b1304962383e7147509932a759bd903e27e53fb251600ad6942739e472161f5a09367c3776c1","ssdeep":"3072:kjsNxt45eITHt28KRu9gKavNuBDHK0QppB0/I:osb0muBzg","tlshash":"dd14e8d9b26270679263f4a5403f004eb53b68a5f9484dacb28de8e26df4d19017bf7c","first_seen":"2026-07-22T18:30:16.180779Z","last_seen":"2026-07-27T08:08:01.298189Z","times_seen":1791,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF90cj10aGlzLmRlZmF1bHRfdHJ8fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKdmFyIEdnLEhnLElnLFhnLGNoLGloLGpoLGxoLG1oLG9oLHNoLHVoLHRoLEFoLEJoLEZoLERoLEVoLERnO18uRWc9ZnVuY3Rpb24oYSl7aWYoRGcudGVzdChhKSlyZXR1cm4gYX07Xy5GZz1mdW5jdGlvbihhLGIpe2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyfHwoYS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODI9e30pO2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyLnNldmVyaXR5PWJ9O0dnPWZ1bmN0aW9uKGEpe2lmKCFfLlVhfHwhXy5WYSlyZXR1cm4hMTtmb3IodmFyIGI9MDtiPF8uVmEuYnJhbmRzLmxlbmd0aDtiKyspe3ZhciBjPV8uVmEuYnJhbmRzW2JdLmJyYW5kO2lmKGMmJmMuaW5kZXhPZihhKSE9LTEpcmV0dXJuITB9cmV0dXJuITF9O0hnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiRmlyZWZveCIpfHxfLncoIkZ4aU9TIil9OwpJZz1mdW5jdGlvbigpe3JldHVybiBfLldhKCk/R2coIkNocm9taXVtIik6KF8udygiQ2hyb21lIil8fF8udygiQ3JpT1MiKSkmJiEoXy5XYSgpPzA6Xy53KCJFZGdlIikpfHxfLncoIlNpbGsiKX07Xy5KZz1mdW5jdGlvbigpe3JldHVybiBfLncoIlNhZmFyaSIpJiYhKElnKCl8fChfLldhKCk/MDpfLncoIkNvYXN0IikpfHxfLlhhKCl8fChfLldhKCk/MDpfLncoIkVkZ2UiKSl8fChfLldhKCk/R2coIk1pY3Jvc29mdCBFZGdlIik6Xy53KCJFZGcvIikpfHwoXy5XYSgpP0dnKCJPcGVyYSIpOl8udygiT1BSIikpfHxIZygpfHxfLncoIlNpbGsiKXx8Xy53KCJBbmRyb2lkIikpfTtfLktnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiQW5kcm9pZCIpJiYhKElnKCl8fEhnKCl8fF8uWGEoKXx8Xy53KCJTaWxrIikpfTsKXy5NZz1mdW5jdGlvbihhLGIpe2lmKGEhPW51bGwpe3ZhciBjO3ZhciBkPShjPUxnKSE9bnVsbD9jOkxnPXt9O2M9ZFthXXx8MDtjPj1ifHwoZFthXT1jKzEsYT1FcnJvcigpLF8uRmcoYSwiaW5jaWRlbnQiKSxfLnJiKGEpKX19O18uTmc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbCgpPT09InN5bWJvbCI/KGM9PT12b2lkIDA/MDpjKSYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpOmJ9O18uUmc9ZnVuY3Rpb24oYSxiKXtfLk9nfHxfLkggaW4gYXx8UGcoYSxRZyk7YVtfLkhdfD1ifTtfLlNnPWZ1bmN0aW9uKGEsYil7Xy5PZ3x8Xy5IIGluIGF8fFBnKGEsUWcpO2FbXy5IXT1ifTtfLlRnPWZ1bmN0aW9uKGEpe18uUmcoYSwzNCk7cmV0dXJuIGF9O18uVWc9ZnVuY3Rpb24oYSl7Xy5SZyhhLDgxOTIpO3JldHVybiBhfTsKXy5XZz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuZyE9PV8uVmcmJiEhKDImKGEuSltfLkhdfDApKTohISgyJmIpJiZhLmchPT1fLlZnfTtYZz1mdW5jdGlvbihhKXthLlRsPSEwO3JldHVybiBhfTtfLmJoPWZ1bmN0aW9uKGEpe3ZhciBiPWE7aWYoWWcoYikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChiKSl0aHJvdyBFcnJvcihTdHJpbmcoYikpO31lbHNlIGlmKFpnKGIpJiYhTnVtYmVyLmlzU2FmZUludGVnZXIoYikpdGhyb3cgRXJyb3IoU3RyaW5nKGIpKTtyZXR1cm4gJGc/QmlnSW50KGEpOmE9YWgoYSk/YT8iMSI6IjAiOllnKGEpP2EudHJpbSgpfHwiMCI6U3RyaW5nKGEpfTsKY2g9ZnVuY3Rpb24oYSxiKXtpZihhLmxlbmd0aD5iLmxlbmd0aClyZXR1cm4hMTtpZihhLmxlbmd0aDxiLmxlbmd0aHx8YT09PWIpcmV0dXJuITA7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY10sZT1iW2NdO2lmKGQ+ZSlyZXR1cm4hMTtpZihkPGUpcmV0dXJuITB9fTtfLmhoPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEhPW51bGwmJmFbZGhdPT09ZWgpcmV0dXJuIGE7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGM/ZCYyP2JbXy5maF18fChiW18uZmhdPV8uZ2goYikpOm5ldyBiOnZvaWQgMDtjPWFbXy5IXXwwO2Q9Y3xkJjMyfGQmMjtkIT09YyYmXy5TZyhhLGQpO3JldHVybiBuZXcgYihhKX07Xy5naD1mdW5jdGlvbihhKXthPW5ldyBhO18uVGcoYS5KKTtyZXR1cm4gYX07aWg9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2poPWZ1bmN0aW9uKGEpe3JldHVybiBhfTsKbGg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9Xy5oaChhLGQsYyxmKTtlJiYoYT1fLmtoKGEpKTtyZXR1cm4gYX07bWg9ZnVuY3Rpb24oYSl7cmV0dXJuW2EsdGhpcy5nZXQoYSldfTtvaD1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLk1nKG5oLDEpfTsKc2g9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLnBoKF8ucWgpLGc7IWUmJl8uT2cmJmYmJihnPWFbZl0pJiZnLlRrKG9oKTtmPVtdO3ZhciBoPWEubGVuZ3RoO2c9NDI5NDk2NzI5NTt2YXIgaz0hMSxsPSEhKGImNjQpLG49bD9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBxPWgmJmFbaC0xXTtxIT1udWxsJiZ0eXBlb2YgcT09PSJvYmplY3QiJiZxLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhoLS0sZz1oKTpxPXZvaWQgMDtpZihsJiYhKGImMTI4KSYmIWUpe2s9ITA7dmFyIHA7Zz0oKHA9cmgpIT1udWxsP3A6aWgpKGctbixuLGEscSx2b2lkIDApK259fWI9dm9pZCAwO2ZvcihlPTA7ZTxoO2UrKylpZihwPWFbZV0scCE9bnVsbCYmKHA9YyhwLGQpKSE9bnVsbClpZihsJiZlPj1nKXt2YXIgcj1lLW4sdD12b2lkIDA7KCh0PWIpIT1udWxsP3Q6Yj17fSlbcl09cH1lbHNlIGZbZV09cDtpZihxKWZvcih2YXIgQSBpbiBxKWE9cVtBXSxhIT0KbnVsbCYmKGE9YyhhLGQpKSE9bnVsbCYmKGg9K0EsZT12b2lkIDAsbCYmIU51bWJlci5pc05hTihoKSYmKGU9aCtuKTxnP2ZbZV09YTooaD12b2lkIDAsKChoPWIpIT1udWxsP2g6Yj17fSlbQV09YSkpO2ImJihrP2YucHVzaChiKTpmW2ddPWIpO3JldHVybiBmfTt1aD1mdW5jdGlvbihhKXthWzBdPXRoKGFbMF0pO2FbMV09dGgoYVsxXSk7cmV0dXJuIGF9Owp0aD1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLnZoKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYj1hW18uSF18MDtyZXR1cm4gYS5sZW5ndGg9PT0wJiZiJjE/dm9pZCAwOnNoKGEsYix0aCl9aWYoYSE9bnVsbCYmYVtkaF09PT1laClyZXR1cm4gXy53aChhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy54aCYmYSBpbnN0YW5jZW9mIF8ueGgpcmV0dXJuIGEuZygpO2lmKGEgaW5zdGFuY2VvZiBfLnloKXJldHVybiBhPWEuc2l6ZSE9PTA/Xy56aChhLHVoKTp2b2lkIDAsYTtyZXR1cm59cmV0dXJuIGF9O18ud2g9ZnVuY3Rpb24oYSl7YT1hLko7cmV0dXJuIHNoKGEsYVtfLkhdfDAsdGgpfTsKXy5JPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQWgoYSxiLGMsMjA0OCl9OwpBaD1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/MDpkO2lmKGE9PW51bGwpe3ZhciBlPTMyO2M/KGE9W2NdLGV8PTEyOCk6YT1bXTtiJiYoZT1lJi0xNjc2MDgzM3woYiYxMDIzKTw8MTQpfWVsc2V7aWYoIUFycmF5LmlzQXJyYXkoYSkpdGhyb3cgRXJyb3IoImJhIik7ZT1hW18uSF18MDtpZihfLk1jJiYxJmUpdGhyb3cgRXJyb3IoImNhIik7MjA0OCZlJiYhKDImZSkmJkJoKCk7aWYoZSYyNTYpdGhyb3cgRXJyb3IoImRhIik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJl8uU2coYSxlfGQpLGE7aWYoYyYmKGV8PTEyOCxjIT09YVswXSkpdGhyb3cgRXJyb3IoImVhIik7YTp7Yz1hO2V8PTY0O3ZhciBmPWMubGVuZ3RoO2lmKGYpe3ZhciBnPWYtMSxoPWNbZ107aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yj1lJjEyOD8wOi0xO2ctPWI7aWYoZz49MTAyNCl0aHJvdyBFcnJvcigiZ2EiKTtmb3IodmFyIGsgaW4gaClmPStrLApmPGcmJihjW2YrYl09aFtrXSxkZWxldGUgaFtrXSk7ZT1lJi0xNjc2MDgzM3woZyYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7az1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihrPjEwMjQpdGhyb3cgRXJyb3IoImhhIik7ZT1lJi0xNjc2MDgzM3woayYxMDIzKTw8MTR9fX1fLlNnKGEsZXw2NHxkKTtyZXR1cm4gYX07Qmg9ZnVuY3Rpb24oKXtpZihfLk1jKXRocm93IEVycm9yKCJmYSIpO18uTWcoQ2gsNSl9OwpGaD1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhIT09Im9iamVjdCIpcmV0dXJuIGE7aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGM9YVtfLkhdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYyYxP3ZvaWQgMDpEaChhLGMsYil9aWYoYSE9bnVsbCYmYVtkaF09PT1laClyZXR1cm4gRWgoYSk7aWYoYSBpbnN0YW5jZW9mIF8ueWgpe2I9YS5LYjtpZihiJjIpcmV0dXJuIGE7aWYoIWEuc2l6ZSlyZXR1cm47Yz1fLlRnKF8uemgoYSkpO2lmKGEuR2IpZm9yKGE9MDthPGMubGVuZ3RoO2ErKyl7dmFyIGQ9Y1thXSxlPWRbMV07ZT09bnVsbHx8dHlwZW9mIGUhPT0ib2JqZWN0Ij9lPXZvaWQgMDplIT1udWxsJiZlW2RoXT09PWVoP2U9RWgoZSk6QXJyYXkuaXNBcnJheShlKT9lPURoKGUsZVtfLkhdfDAsISEoYiYzMikpOmU9dm9pZCAwO2RbMV09ZX1yZXR1cm4gY31pZigiZnVuY3Rpb24iPT10eXBlb2YgXy54aCYmYSBpbnN0YW5jZW9mIF8ueGgpcmV0dXJuIGF9OwpEaD1mdW5jdGlvbihhLGIsYyl7aWYoYiYyKXJldHVybiBhOyFjfHw0MDk2JmJ8fDE2JmI/YT1fLkdoKGEsYiwhMSxjJiYhKGImMTYpKTooXy5SZyhhLDM0KSxiJjQmJk9iamVjdC5mcmVlemUoYSkpO3JldHVybiBhfTtfLkhoPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJihhLmc9Xy5WZyk7YS5oPV8uVmc7cmV0dXJuIGF9O0VoPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSixjPWJbXy5IXXwwO3JldHVybiBfLldnKGEsYyk/YTpfLkloKGEsYixjKT9fLkhoKGEsYik6Xy5HaChiLGMpfTtfLkdoPWZ1bmN0aW9uKGEsYixjLGQpe2QhPW51bGx8fChkPSEhKDM0JmIpKTthPXNoKGEsYixGaCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDtfLlNnKGEsYik7cmV0dXJuIGF9OwpfLmtoPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSixjPWJbXy5IXXwwO3JldHVybiBfLldnKGEsYyk/Xy5JaChhLGIsYyk/Xy5IaChhLGIsITApOm5ldyBhLmNvbnN0cnVjdG9yKF8uR2goYixjLCExKSk6YX07Xy5JaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGMmMj8hMDpjJjMyJiYhKGMmNDA5Nik/KF8uU2coYixjfDIpLGEuZz1fLlZnLCEwKTohMX07Xy5waD1mdW5jdGlvbihhKXtyZXR1cm4gYX07RGc9L15ccyooPyFqYXZhc2NyaXB0OikoPzpbXHcrLi1dKzp8W146Lz8jXSooPzpbLz8jXXwkKSkvaTtfLkpoPUhnKCk7Xy5LaD1fLlphKCl8fF8udygiaVBvZCIpO18uTGg9Xy53KCJpUGFkIik7Xy5NaD1fLktnKCk7Xy5OaD1JZygpO18uT2g9Xy5KZygpJiYhXy4kYSgpO18uUGg9IV8uU2MmJnR5cGVvZiBidG9hPT09ImZ1bmN0aW9uIjt2YXIgTGc9dm9pZCAwO3ZhciBRaCxuaCxDaCxkaDtfLk9nPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgU3ltYm9sKCk9PT0ic3ltYm9sIjtRaD1fLk5nKCJqYXMiLHZvaWQgMCwhMCk7Xy5maD1fLk5nKHZvaWQgMCwiMGRpIik7Xy5xaD1fLk5nKHZvaWQgMCxTeW1ib2woKSk7Xy5SaD1fLk5nKHZvaWQgMCwiMHViIik7bmg9Xy5OZyh2b2lkIDAsIjB1YnMiKTtDaD1fLk5nKHZvaWQgMCwiMGFjdGsiKTtkaD1fLk5nKCJtX20iLCJYbCIsITApO18uU2g9Xy5OZygpO3ZhciBRZyxQZyxVaDtRZz17ZWk6e3ZhbHVlOjAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9fTtQZz1PYmplY3QuZGVmaW5lUHJvcGVydGllcztfLkg9Xy5PZz9RaDoiZWkiO1VoPVtdO18uU2coVWgsNyk7Xy5UaD1PYmplY3QuZnJlZXplKFVoKTt2YXIgZWgsVmg7ZWg9e307Xy5WZz17fTtWaD1mdW5jdGlvbihhLGIsYyl7dGhpcy5nPWE7dGhpcy5oPWI7dGhpcy5qPWN9O1ZoLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nLm5leHQoKTthLmRvbmV8fChhLnZhbHVlPXRoaXMuaC5jYWxsKHRoaXMuaixhLnZhbHVlKSk7cmV0dXJuIGF9O1ZoLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O18uV2g9T2JqZWN0LmZyZWV6ZSh7fSk7Xy5YaD1PYmplY3QuZnJlZXplKHt9KTt2YXIgWmc9WGcoZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciJ9KSxZZz1YZyhmdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIn0pLGFoPVhnKGZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn0pO3ZhciAkZz10eXBlb2YgXy52LkJpZ0ludD09PSJmdW5jdGlvbiImJnR5cGVvZiBfLnYuQmlnSW50KDApPT09ImJpZ2ludCI7dmFyICRoLFloLGFpLFpoO18udmg9WGcoZnVuY3Rpb24oYSl7cmV0dXJuICRnP2E+PVloJiZhPD1aaDphWzBdPT09Ii0iP2NoKGEsJGgpOmNoKGEsYWkpfSk7JGg9TnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIudG9TdHJpbmcoKTtZaD0kZz9CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpOnZvaWQgMDthaT1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUi50b1N0cmluZygpO1poPSRnP0JpZ0ludChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik6dm9pZCAwO18uYmk9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzSW50Tjp2b2lkIDA7Xy5jaT1OdW1iZXIuaXNTYWZlSW50ZWdlcjtfLmRpPU51bWJlci5pc0Zpbml0ZTtfLmVpPU1hdGgudHJ1bmM7dmFyIGZpPWZ1bmN0aW9uKCl7dHJ5e3ZhciBhPWZ1bmN0aW9uKCl7cmV0dXJuKDAsXy5UYikoTWFwLFtdLHRoaXMuY29uc3RydWN0b3IpfTtfLkIoYSxNYXApO18uUWMobmV3IGEpO3JldHVybiExfWNhdGNoKGIpe3JldHVybiEwfX0oKSxnaT1mdW5jdGlvbigpe3RoaXMuZz1uZXcgTWFwfSxoaSxpaTtfLm09Z2kucHJvdG90eXBlO18ubS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZy5nZXQoYSl9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmcuc2V0KGEsYik7dGhpcy5zaXplPXRoaXMuZy5zaXplO3JldHVybiB0aGlzfTtfLm0uZGVsZXRlPWZ1bmN0aW9uKGEpe2E9dGhpcy5nLmRlbGV0ZShhKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGF9O18ubS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuZy5jbGVhcigpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nLmhhcyhhKX07Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmVudHJpZXMoKX07Cl8ubS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5rZXlzKCl9O18ubS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnZhbHVlcygpfTtfLm0uZm9yRWFjaD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmcuZm9yRWFjaChhLGIpfTtnaS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVudHJpZXMoKX07aGk9ZnVuY3Rpb24oKXtpZihmaSlyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKGdpLnByb3RvdHlwZSxNYXAucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhnaS5wcm90b3R5cGUse3NpemU6e3ZhbHVlOjAsY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITB9fSksZ2k7dmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4oMCxfLlRiKShNYXAsW10sdGhpcy5jb25zdHJ1Y3Rvcil9O18uQihhLE1hcCk7cmV0dXJuIGF9KCk7Cl8ueWg9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1jPT09dm9pZCAwP2poOmM7ZD1kPT09dm9pZCAwP2poOmQ7dmFyIGU9aGkuY2FsbCh0aGlzKXx8dGhpcztlLktiPWFbXy5IXXwwO2UuR2I9YjtlLmFkPWM7ZS5rZz1lLkdiP2xoOmQ7Zm9yKHZhciBmPTA7ZjxhLmxlbmd0aDtmKyspe3ZhciBnPWFbZl0saD1jKGdbMF0sITEsITApLGs9Z1sxXTtiP2s9PT12b2lkIDAmJihrPW51bGwpOms9ZChnWzFdLCExLCEwLHZvaWQgMCx2b2lkIDAsZS5LYik7aGkucHJvdG90eXBlLnNldC5jYWxsKGUsaCxrKX1yZXR1cm4gZX07Xy5CKF8ueWgsaGkpO2lpPWZ1bmN0aW9uKGEpe2lmKGEuS2ImMil0aHJvdyBFcnJvcigiYWEiKTt9O18uemg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5VZyhBcnJheS5mcm9tKGhpLnByb3RvdHlwZS5lbnRyaWVzLmNhbGwoYSksYikpfTtfLm09Xy55aC5wcm90b3R5cGU7Xy5tLmNsZWFyPWZ1bmN0aW9uKCl7aWkodGhpcyk7aGkucHJvdG90eXBlLmNsZWFyLmNhbGwodGhpcyl9OwpfLm0uZGVsZXRlPWZ1bmN0aW9uKGEpe2lpKHRoaXMpO3JldHVybiBoaS5wcm90b3R5cGUuZGVsZXRlLmNhbGwodGhpcyx0aGlzLmFkKGEsITAsITEpKX07Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXtpZih0aGlzLkdiKXt2YXIgYT1oaS5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpO2E9bmV3IFZoKGEsbWgsdGhpcyl9ZWxzZSBhPWhpLnByb3RvdHlwZS5lbnRyaWVzLmNhbGwodGhpcyk7cmV0dXJuIGF9O18ubS52YWx1ZXM9ZnVuY3Rpb24oKXtpZih0aGlzLkdiKXt2YXIgYT1oaS5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpO2E9bmV3IFZoKGEsXy55aC5wcm90b3R5cGUuZ2V0LHRoaXMpfWVsc2UgYT1oaS5wcm90b3R5cGUudmFsdWVzLmNhbGwodGhpcyk7cmV0dXJuIGF9OwpfLm0uZm9yRWFjaD1mdW5jdGlvbihhLGIpe3RoaXMuR2I/aGkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0aGlzLGZ1bmN0aW9uKGMsZCxlKXthLmNhbGwoYixlLmdldChkKSxkLGUpfSk6aGkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0aGlzLGEsYil9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXtpaSh0aGlzKTthPXRoaXMuYWQoYSwhMCwhMSk7cmV0dXJuIGE9PW51bGw/dGhpczpiPT1udWxsPyhoaS5wcm90b3R5cGUuZGVsZXRlLmNhbGwodGhpcyxhKSx0aGlzKTpoaS5wcm90b3R5cGUuc2V0LmNhbGwodGhpcyxhLHRoaXMua2coYiwhMCwhMCx0aGlzLkdiLCExLHRoaXMuS2IpKX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gaGkucHJvdG90eXBlLmhhcy5jYWxsKHRoaXMsdGhpcy5hZChhLCExLCExKSl9OwpfLm0uZ2V0PWZ1bmN0aW9uKGEpe2E9dGhpcy5hZChhLCExLCExKTt2YXIgYj1oaS5wcm90b3R5cGUuZ2V0LmNhbGwodGhpcyxhKTtpZihiIT09dm9pZCAwKXt2YXIgYz10aGlzLkdiO3JldHVybiBjPyhjPXRoaXMua2coYiwhMSwhMCxjLHRoaXMuTmssdGhpcy5LYiksYyE9PWImJmhpLnByb3RvdHlwZS5zZXQuY2FsbCh0aGlzLGEsYyksYyk6Yn19O18ueWgucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbnRyaWVzKCl9O18ueWgucHJvdG90eXBlLnRvSlNPTj12b2lkIDA7dmFyIHJoO18uamk9Xy5iaCgwKTtfLko9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuSj1fLkkoYSxiLGMpfTtfLkoucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiBfLndoKHRoaXMpfTtfLkoucHJvdG90eXBlW2RoXT1laDtfLkoucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSi50b1N0cmluZygpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExpLE1pLE5pLE9pLFJpLFBpLFFpLFNpLFVpLFdpLFhpO18ua2k9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5lYy5hcHBseSgxLGFyZ3VtZW50cyk7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLk1hKGFbMF0pO2Zvcih2YXIgYz1hWzBdLGQ9MDtkPGIubGVuZ3RoO2QrKyljKz1lbmNvZGVVUklDb21wb25lbnQoYltkXSkrYVtkKzFdO3JldHVybiBfLk1hKGMpfTtfLmxpPWZ1bmN0aW9uKGEpe18uUmcoYSwzMik7cmV0dXJuIGF9O18ubWk9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEpfTtfLm5pPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09ImJvb2xlYW4iKXRocm93IEVycm9yKCIkYCIrXy5vYyhhKSsiYCIrYSk7cmV0dXJuIGF9O18ub2k9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PT0iYm9vbGVhbiIpcmV0dXJuIGE7aWYodHlwZW9mIGE9PT0ibnVtYmVyIilyZXR1cm4hIWF9OwpfLnBpPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsfHx0eXBlb2YgYT09PSJzdHJpbmciP2E6dm9pZCAwfTtfLnFpPWZ1bmN0aW9uKGEpe2lmKGEuZyE9PV8uVmcpcmV0dXJuITE7dmFyIGI9YS5KO2I9Xy5HaChiLGJbXy5IXXwwKTtfLlJnKGIsMjA0OCk7YS5KPWI7YS5nPXZvaWQgMDthLmg9dm9pZCAwO3JldHVybiEwfTtfLnJpPWZ1bmN0aW9uKGEpe2lmKCFfLnFpKGEpJiZfLldnKGEsYS5KW18uSF18MCkpdGhyb3cgRXJyb3IoKTt9O18uc2k9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uSF18MCk7YiYzMiYmIShiJjQwOTYpJiZfLlNnKGEsYnw0MDk2KX07Cl8udGk9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1jKyhlPzA6LTEpLGc9YS5sZW5ndGgtMTtpZihnPj0xKyhlPzA6LTEpJiZmPj1nKXt2YXIgaD1hW2ddO2lmKGghPW51bGwmJnR5cGVvZiBoPT09Im9iamVjdCImJmguY29uc3RydWN0b3I9PT1PYmplY3QpcmV0dXJuIGhbY109ZCxifWlmKGY8PWcpcmV0dXJuIGFbZl09ZCxiO2lmKGQhPT12b2lkIDApe3ZhciBrO2c9KChrPWIpIT1udWxsP2s6Yj1hW18uSF18MCk+PjE0JjEwMjN8fDUzNjg3MDkxMjtjPj1nP2QhPW51bGwmJihmPXt9LGFbZysoZT8wOi0xKV09KGZbY109ZCxmKSk6YVtmXT1kfXJldHVybiBifTtfLkJpPWZ1bmN0aW9uKGEsYil7YT1fLnVpKGEsYix2b2lkIDApO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6Xy5UaH07Xy5DaT1mdW5jdGlvbihhLGIpezImYiYmKGF8PTIpO3JldHVybiBhfDF9O18uRGk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT0oMiZiP2F8MjphJi0zKSYtMjczfTsKXy5FaT1mdW5jdGlvbihhKXtyZXR1cm4hISgyJmEpJiYhISg0JmEpfHwhISgyNTYmYSl9O18uRmk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt2YXIgaz1iO2Y9PT0xfHwoZiE9PTQ/MDoyJmJ8fCEoMTYmYikmJjMyJmQpP18uRWkoYil8fChifD0hYS5sZW5ndGh8fGcmJiEoNDA5NiZiKXx8MzImZCYmISg0MDk2JmJ8fDE2JmIpPzI6MjU2LGIhPT1rJiZfLlNnKGEsYiksT2JqZWN0LmZyZWV6ZShhKSk6KGY9PT0yJiZfLkVpKGIpJiYoYT1fLm1pKGEpLGs9MCxiPV8uRGkoYixkKSxkPV8udGkoYyxkLGUsYSkpLF8uRWkoYil8fChofHwoYnw9MTYpLGIhPT1rJiZfLlNnKGEsYikpKTsyJmJ8fCEoNDA5NiZifHwxNiZiKXx8Xy5zaShjLGQpO3JldHVybiBhfTtfLkdpPWZ1bmN0aW9uKGEsYixjLGQpe18ucmkoYSk7dmFyIGU9YS5KO18udGkoZSxlW18uSF18MCxiLChkPT09IjAiP051bWJlcihjKT09PTA6Yz09PWQpP3ZvaWQgMDpjKTtyZXR1cm4gYX07Cl8uSGk9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0hMTtkPV8udWkoYSxkLGUsZnVuY3Rpb24oZyl7dmFyIGg9Xy5oaChnLGMsITEsYik7Zj1oIT09ZyYmaCE9bnVsbDtyZXR1cm4gaH0pO2lmKGQhPW51bGwpcmV0dXJuIGYmJiFfLldnKGQpJiZfLnNpKGEsYiksZH07Cl8uSWk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt2YXIgaz1fLldnKGEsYyk7Zj1rPzE6ZjtnPSEhZ3x8Zj09PTM7az1oJiYhazsoZj09PTJ8fGspJiZfLnFpKGEpJiYoYj1hLkosYz1iW18uSF18MCk7YT1fLkJpKGIsZSk7dmFyIGw9YT09PV8uVGg/NzphW18uSF18MCxuPV8uQ2kobCxjKTtpZihoPSEoNCZuKSl7dmFyIHE9YSxwPWMscj0hISgyJm4pO3ImJihwfD0yKTtmb3IodmFyIHQ9IXIsQT0hMCxEPTAsRT0wO0Q8cS5sZW5ndGg7RCsrKXt2YXIgYmE9Xy5oaChxW0RdLGQsITEscCk7aWYoYmEgaW5zdGFuY2VvZiBkKXtpZighcil7dmFyIFo9Xy5XZyhiYSk7dCYmKHQ9IVopO0EmJihBPVopfXFbRSsrXT1iYX19RTxEJiYocS5sZW5ndGg9RSk7bnw9NDtuPUE/biYtNDA5NzpufDQwOTY7bj10P258ODpuJi05fW4hPT1sJiYoXy5TZyhhLG4pLDImbiYmT2JqZWN0LmZyZWV6ZShhKSk7aWYoayYmISg4Jm58fCFhLmxlbmd0aCYmKGY9PT0xfHwoZiE9PTQ/MDoyJm58fCEoMTYmbikmJgozMiZjKSkpKXtfLkVpKG4pJiYoYT1fLm1pKGEpLG49Xy5EaShuLGMpLGM9Xy50aShiLGMsZSxhKSk7ZD1hO2s9bjtmb3IobD0wO2w8ZC5sZW5ndGg7bCsrKXE9ZFtsXSxuPV8ua2gocSkscSE9PW4mJihkW2xdPW4pO2t8PTg7bj1rPWQubGVuZ3RoP2t8NDA5NjprJi00MDk3O18uU2coYSxuKX1yZXR1cm4gYT1fLkZpKGEsbixiLGMsZSxmLGgsZyl9O18uSmk9ZnVuY3Rpb24oYSl7YT09bnVsbCYmKGE9dm9pZCAwKTtyZXR1cm4gYX07Xy5LaT1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJpYWAiK18ub2MoYikrImAiK2IpO18uVGcoYik7cmV0dXJuIG5ldyBhKGIpfX07TGk9ZnVuY3Rpb24oYSl7aWYoYS5HKXRocm93IG5ldyBUeXBlRXJyb3IoImYiKTthLkc9ITB9O01pPWZ1bmN0aW9uKGEsYil7YS5sPXtiZjpiLENmOiEwfTthLmc9YS5DfHxhLm99OwpOaT1mdW5jdGlvbihhLGIpe2EucmF3PWI7T2JqZWN0LmZyZWV6ZSYmKE9iamVjdC5mcmVlemUoYSksT2JqZWN0LmZyZWV6ZShiKSk7cmV0dXJuIGF9O18uSz1mdW5jdGlvbihhKXtyZXR1cm4gTmkoYSxhKX07T2k9ZnVuY3Rpb24oYSl7dGhpcy5nPW5ldyBfLkY7dGhpcy5oPWF9O1JpPWZ1bmN0aW9uKGEsYil7TGkoYS5nKTt2YXIgYz1hLmcuQTtpZihjKXJldHVybiBQaShhLCJyZXR1cm4iaW4gYz9jWyJyZXR1cm4iXTpmdW5jdGlvbihkKXtyZXR1cm57dmFsdWU6ZCxkb25lOiEwfX0sYixhLmcucmV0dXJuKTthLmcucmV0dXJuKGIpO3JldHVybiBRaShhKX07UGk9ZnVuY3Rpb24oYSxiLGMsZCl7dHJ5e3ZhciBlPWIuY2FsbChhLmcuQSxjKTtfLmNjKGUpO2lmKCFlLmRvbmUpcmV0dXJuIGEuZy5HPSExLGU7dmFyIGY9ZS52YWx1ZX1jYXRjaChnKXtyZXR1cm4gYS5nLkE9bnVsbCxNaShhLmcsZyksUWkoYSl9YS5nLkE9bnVsbDtkLmNhbGwoYS5nLGYpO3JldHVybiBRaShhKX07ClFpPWZ1bmN0aW9uKGEpe2Zvcig7YS5nLmc7KXRyeXt2YXIgYj1hLmgoYS5nKTtpZihiKXJldHVybiBhLmcuRz0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChjKXthLmcuaj12b2lkIDAsTWkoYS5nLGMpfWEuZy5HPSExO2lmKGEuZy5sKXtiPWEuZy5sO2EuZy5sPW51bGw7aWYoYi5DZil0aHJvdyBiLmJmO3JldHVybnt2YWx1ZTpiLnJldHVybixkb25lOiEwfX1yZXR1cm57dmFsdWU6dm9pZCAwLGRvbmU6ITB9fTsKU2k9ZnVuY3Rpb24oYSl7dGhpcy5uZXh0PWZ1bmN0aW9uKGIpe0xpKGEuZyk7YS5nLkE/Yj1QaShhLGEuZy5BLm5leHQsYixhLmcuSSk6KGEuZy5JKGIpLGI9UWkoYSkpO3JldHVybiBifTt0aGlzLnRocm93PWZ1bmN0aW9uKGIpe0xpKGEuZyk7YS5nLkE/Yj1QaShhLGEuZy5BWyJ0aHJvdyJdLGIsYS5nLkkpOihNaShhLmcsYiksYj1RaShhKSk7cmV0dXJuIGJ9O3RoaXMucmV0dXJuPWZ1bmN0aW9uKGIpe3JldHVybiBSaShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319O1VpPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZCl7cmV0dXJuIGEubmV4dChkKX1mdW5jdGlvbiBjKGQpe3JldHVybiBhLnRocm93KGQpfXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2Z1bmN0aW9uIGYoZyl7Zy5kb25lP2QoZy52YWx1ZSk6UHJvbWlzZS5yZXNvbHZlKGcudmFsdWUpLnRoZW4oYixjKS50aGVuKGYsZSl9ZihhLm5leHQoKSl9KX07Xy5WaT1mdW5jdGlvbihhKXtyZXR1cm4gVWkobmV3IFNpKG5ldyBPaShhKSkpfTsKV2k9ZnVuY3Rpb24oYSl7cmV0dXJuIFN0cmluZyhhKS5yZXBsYWNlKC9cLShbYS16XSkvZyxmdW5jdGlvbihiLGMpe3JldHVybiBjLnRvVXBwZXJDYXNlKCl9KX07WGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZShSZWdFeHAoIihefFtcXHNdKykoW2Etel0pIiwiZyIpLGZ1bmN0aW9uKGIsYyxkKXtyZXR1cm4gYytkLnRvVXBwZXJDYXNlKCl9KX07Xy5ZaT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5vZSlyZXR1cm4gYTt2YXIgYj1uZXcgXy5vZShfLmxlKTtfLm5lKGIsMixhKTtyZXR1cm4gYn07Cl8udWk9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYj09PS0xKXJldHVybiBudWxsO3ZhciBlPWIrKGM/MDotMSksZj1hLmxlbmd0aC0xO2lmKCEoZjwxKyhjPzA6LTEpKSl7aWYoZT49Zil7dmFyIGc9YVtmXTtpZihnIT1udWxsJiZ0eXBlb2YgZz09PSJvYmplY3QiJiZnLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtjPWdbYl07dmFyIGg9ITB9ZWxzZSBpZihlPT09ZiljPWc7ZWxzZSByZXR1cm59ZWxzZSBjPWFbZV07aWYoZCYmYyE9bnVsbCl7ZD1kKGMpO2lmKGQ9PW51bGwpcmV0dXJuIGQ7aWYoIU9iamVjdC5pcyhkLGMpKXJldHVybiBoP2dbYl09ZDphW2VdPWQsZH1yZXR1cm4gY319O18uWmk9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8udWkoYS5KLGIsYyxlKTtpZihiIT09bnVsbHx8ZCYmYS5oIT09Xy5WZylyZXR1cm4gYn07Xy4kaT1mdW5jdGlvbihhLGIsYyl7Xy5yaShhKTt2YXIgZD1hLko7Xy50aShkLGRbXy5IXXwwLGIsYyk7cmV0dXJuIGF9OwpfLmFqPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09Xy5XaD8yOjR9O18uYmo9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5KLGY9ZVtfLkhdfDA7Yj1fLkhpKGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy5IXXwwO2lmKCFfLldnKGEsZikpe3ZhciBnPV8ua2goYik7ZyE9PWImJihfLnFpKGEpJiYoZT1hLkosZj1lW18uSF18MCksYj1nLGY9Xy50aShlLGYsYyxiLGQpLF8uc2koZSxmKSl9cmV0dXJuIGJ9O18uY2o9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuSjtyZXR1cm4gXy5JaShhLGQsZFtfLkhdfDAsYixjLF8uYWooKSwhMSwhMCl9O18uTD1mdW5jdGlvbihhLGIsYyl7Yz1fLkppKGMpO18uJGkoYSxiLGMpO2MmJiFfLldnKGMpJiZfLnNpKGEuSik7cmV0dXJuIGF9O18uTT1mdW5jdGlvbihhLGIpe3ZhciBjPWM9PT12b2lkIDA/ITE6YzthPV8ub2koXy5aaShhLGIpKTtyZXR1cm4gYSE9bnVsbD9hOmN9OwpfLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1jPT09dm9pZCAwPyIiOmM7dmFyIGQ7cmV0dXJuKGQ9Xy5waShfLlppKGEsYikpKSE9bnVsbD9kOmN9O18uZGo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1jPT09dm9pZCAwPzA6YzthPV8uWmkoYSxiKTthPWE9PW51bGw/YTooMCxfLmRpKShhKT9hfDA6dm9pZCAwO3JldHVybiBhIT1udWxsP2E6Y307Xy5laj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2koYSxiLGM9PW51bGw/YzpfLm5pKGMpLCExKX07Xy5maj1mdW5jdGlvbihhLGIpe2lmKGI9PW51bGx8fGI9PSIiKXJldHVybiBuZXcgYTtiPUpTT04ucGFyc2UoYik7aWYoIUFycmF5LmlzQXJyYXkoYikpdGhyb3cgRXJyb3IoImphIik7cmV0dXJuIG5ldyBhKF8ubGkoYikpfTt2YXIgaWosZ2osamo7Xy5oaj1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGI9PT0ic3RyaW5nIilnaihhLGMsYik7ZWxzZSBmb3IodmFyIGQgaW4gYilnaihhLGJbZF0sZCl9O2lqPS9eLS0uKy87Z2o9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWpqW2NdO2lmKCFkKXt2YXIgZT1XaShjKTtkPWU7YS5zdHlsZVtlXT09PXZvaWQgMCYmKGU9KF8uVmM/IldlYmtpdCI6Xy5VYz8iTW96IjpudWxsKStYaShlKSxhLnN0eWxlW2VdIT09dm9pZCAwJiYoZD1lKSk7ampbY109ZH0oYz1kKSYmKGlqLnRlc3QoYyk/YS5zdHlsZS5zZXRQcm9wZXJ0eShjLGIpOmEuc3R5bGVbY109Yil9O2pqPXt9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgbGosb2oscGoscWosdGosdWosdmosd2oseGoseWosQWosQ2osRGosRWosRmosR2osSGosSWosS2osTmosT2osWGosWWosYmssbmosbWosY2ssZWsscmosc2osemosbms7Xy5raj1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5EYylyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fTtsaj1mdW5jdGlvbihhKXt2YXIgYj1hLkosYz1iW18uSF18MDtyZXR1cm4gXy5JaChhLGIsYyk/Xy5IaChhLGIsITApOm5ldyBhLmNvbnN0cnVjdG9yKF8uR2goYixjLCExKSl9Owpvaj1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDAmJihiPTApO2lmKCFtail7bWo9e307Zm9yKHZhciBjPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLGQ9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl0sZT0wO2U8NTtlKyspe3ZhciBmPWMuY29uY2F0KGRbZV0uc3BsaXQoIiIpKTtualtlXT1mO2Zvcih2YXIgZz0wO2c8Zi5sZW5ndGg7ZysrKXt2YXIgaD1mW2ddO21qW2hdPT09dm9pZCAwJiYobWpbaF09Zyl9fX1iPW5qW2JdO2M9QXJyYXkoTWF0aC5mbG9vcihhLmxlbmd0aC8zKSk7ZD1iWzY0XXx8IiI7Zm9yKGU9Zj0wO2Y8YS5sZW5ndGgtMjtmKz0zKXt2YXIgaz1hW2ZdLGw9YVtmKzFdO2g9YVtmKzJdO2c9YltrPj4yXTtrPWJbKGsmMyk8PDR8bD4+NF07bD1iWyhsJjE1KTw8MnxoPj42XTtoPWJbaCY2M107Y1tlKytdPWcraytsK2h9Zz0wO2g9ZDtzd2l0Y2goYS5sZW5ndGgtZil7Y2FzZSAyOmc9CmFbZisxXSxoPWJbKGcmMTUpPDwyXXx8ZDtjYXNlIDE6YT1hW2ZdLGNbZV09YlthPj4yXStiWyhhJjMpPDw0fGc+PjRdK2grZH1yZXR1cm4gYy5qb2luKCIiKX07cGo9ZnVuY3Rpb24oYSl7YT1FcnJvcihhKTtfLkZnKGEsIndhcm5pbmciKTtyZXR1cm4gYX07cWo9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiJ9O3RqPWZ1bmN0aW9uKGEpe3ZhciBiPWE+Pj4wO3JqPWI7c2o9KGEtYikvNDI5NDk2NzI5Nj4+PjB9O3VqPWZ1bmN0aW9uKGEsYil7Yj1+YjthP2E9fmErMTpiKz0xO3JldHVyblthLGJdfTt2aj1mdW5jdGlvbihhKXtpZihhPDApe3RqKC1hKTt2YXIgYj1fLkModWoocmosc2opKTthPWIubmV4dCgpLnZhbHVlO2I9Yi5uZXh0KCkudmFsdWU7cmo9YT4+PjA7c2o9Yj4+PjB9ZWxzZSB0aihhKX07d2o9ZnVuY3Rpb24oYSl7YT1TdHJpbmcoYSk7cmV0dXJuIjAwMDAwMDAiLnNsaWNlKGEubGVuZ3RoKSthfTsKeGo9ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO2lmKGI8PTIwOTcxNTEpdmFyIGM9IiIrKDQyOTQ5NjcyOTYqYithKTtlbHNlIHFqKCk/Yz0iIisoQmlnSW50KGIpPDxCaWdJbnQoMzIpfEJpZ0ludChhKSk6KGM9KGE+Pj4yNHxiPDw4KSYxNjc3NzIxNSxiPWI+PjE2JjY1NTM1LGE9KGEmMTY3NzcyMTUpK2MqNjc3NzIxNitiKjY3MTA2NTYsYys9Yio4MTQ3NDk3LGIqPTIsYT49MUU3JiYoYys9YS8xRTc+Pj4wLGElPTFFNyksYz49MUU3JiYoYis9Yy8xRTc+Pj4wLGMlPTFFNyksYz1iK3dqKGMpK3dqKGEpKTtyZXR1cm4gY307eWo9ZnVuY3Rpb24oKXt2YXIgYT1yaixiPXNqO2ImMjE0NzQ4MzY0OD9xaigpP2E9IiIrKEJpZ0ludChifDApPDxCaWdJbnQoMzIpfEJpZ0ludChhPj4+MCkpOihiPV8uQyh1aihhLGIpKSxhPWIubmV4dCgpLnZhbHVlLGI9Yi5uZXh0KCkudmFsdWUsYT0iLSIreGooYSxiKSk6YT14aihhLGIpO3JldHVybiBhfTsKQWo9ZnVuY3Rpb24oYSl7c3dpdGNoKHR5cGVvZiBhKXtjYXNlICJiaWdpbnQiOnJldHVybiEwO2Nhc2UgIm51bWJlciI6cmV0dXJuKDAsXy5kaSkoYSk7Y2FzZSAic3RyaW5nIjpyZXR1cm4gemoudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07Xy5Caj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IHBqKCJpbnQzMiIpO2lmKCEoMCxfLmRpKShhKSl0aHJvdyBwaigiaW50MzIiKTtyZXR1cm4gYXwwfTtDaj1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBhO2lmKHR5cGVvZiBhPT09InN0cmluZyImJmEpYT0rYTtlbHNlIGlmKHR5cGVvZiBhIT09Im51bWJlciIpcmV0dXJuO3JldHVybigwLF8uZGkpKGEpP2F8MDp2b2lkIDB9OwpEaj1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3IilyZXR1cm4gYTtpZihhLmxlbmd0aDwxNil2aihOdW1iZXIoYSkpO2Vsc2UgaWYocWooKSlhPUJpZ0ludChhKSxyaj1OdW1iZXIoYSZCaWdJbnQoNDI5NDk2NzI5NSkpPj4+MCxzaj1OdW1iZXIoYT4+QmlnSW50KDMyKSZCaWdJbnQoNDI5NDk2NzI5NSkpO2Vsc2V7Yj0rKGFbMF09PT0iLSIpO3NqPXJqPTA7Zm9yKHZhciBjPWEubGVuZ3RoLGQ9YixlPShjLWIpJTYrYjtlPD1jO2Q9ZSxlKz02KWQ9TnVtYmVyKGEuc2xpY2UoZCxlKSksc2oqPTFFNixyaj1yaioxRTYrZCxyaj49NDI5NDk2NzI5NiYmKHNqKz1NYXRoLnRydW5jKHJqLzQyOTQ5NjcyOTYpLHNqPj4+PTAscmo+Pj49MCk7YiYmKGI9Xy5DKHVqKHJqLHNqKSksYT1iLm5leHQoKS52YWx1ZSxiPWIubmV4dCgpLnZhbHVlLApyaj1hLHNqPWIpfXJldHVybiB5aigpfTtFaj1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLmVpKShOdW1iZXIoYSkpO2lmKCgwLF8uY2kpKGIpKXJldHVybiBfLmJoKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gcWooKT9fLmJoKCgwLF8uYmkpKDY0LEJpZ0ludChhKSkpOl8uYmgoRGooYSkpfTtGaj1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLmVpKShOdW1iZXIoYSkpO2lmKCgwLF8uY2kpKGIpKXJldHVybiBTdHJpbmcoYik7Yj1hLmluZGV4T2YoIi4iKTtiIT09LTEmJihhPWEuc3Vic3RyaW5nKDAsYikpO3JldHVybiBEaihhKX07CkdqPWZ1bmN0aW9uKGEpe2E9KDAsXy5laSkoYSk7aWYoISgwLF8uY2kpKGEpKXt2aihhKTt2YXIgYj1yaixjPXNqO2lmKGE9YyYyMTQ3NDgzNjQ4KWI9fmIrMT4+PjAsYz1+Yz4+PjAsYj09MCYmKGM9YysxPj4+MCk7dmFyIGQ9Yyo0Mjk0OTY3Mjk2KyhiPj4+MCk7Yj1OdW1iZXIuaXNTYWZlSW50ZWdlcihkKT9kOnhqKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O0hqPWZ1bmN0aW9uKGEpe2E9KDAsXy5laSkoYSk7KDAsXy5jaSkoYSk/YT1TdHJpbmcoYSk6KHZqKGEpLGE9eWooKSk7cmV0dXJuIGF9O0lqPWZ1bmN0aW9uKGEpe3JldHVybigwLF8uY2kpKGEpP18uYmgoR2ooYSkpOl8uYmgoSGooYSkpfTsKXy5Kaj1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7YiE9bnVsbHx8KGI9MTAyNCk7aWYoIUFqKGEpKXRocm93IHBqKCJpbnQ2NCIpO3ZhciBjPXR5cGVvZiBhO3N3aXRjaChiKXtjYXNlIDUxMjpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gRmooYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gU3RyaW5nKCgwLF8uYmkpKDY0LGEpKTtkZWZhdWx0OnJldHVybiBIaihhKX1jYXNlIDEwMjQ6c3dpdGNoKGMpe2Nhc2UgInN0cmluZyI6cmV0dXJuIEVqKGEpO2Nhc2UgImJpZ2ludCI6cmV0dXJuIF8uYmgoKDAsXy5iaSkoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIElqKGEpfWNhc2UgMDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gRmooYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5iaCgoMCxfLmJpKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4gR2ooYSl9ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5rbm93biBmb3JtYXQgcmVxdWVzdGVkIHR5cGUgZm9yIGludDY0Iik7fX07CktqPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO2lmKGE9PW51bGwpcmV0dXJuIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBfLmJoKCgwLF8uYmkpKDY0LGEpKTtpZihBaihhKSlyZXR1cm4gYj09PSJzdHJpbmciP0VqKGEpOklqKGEpfTtfLkxqPWZ1bmN0aW9uKGEpe2lmKGEhPW51bGwmJnR5cGVvZiBhIT09InN0cmluZyIpdGhyb3cgRXJyb3IoKTtyZXR1cm4gYX07Xy5Naj1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIF8uZmooYSxiKX19OwpOaj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtlWzBdPTE3MzI1ODQxOTM7ZVsxXT00MDIzMjMzNDE3O2VbMl09MjU2MjM4MzEwMjtlWzNdPTI3MTczMzg3ODtlWzRdPTMyODUzNzc1MjA7bj1sPTB9ZnVuY3Rpb24gYihxKXtmb3IodmFyIHA9ZyxyPTA7cjw2NDtyKz00KXBbci80XT1xW3JdPDwyNHxxW3IrMV08PDE2fHFbcisyXTw8OHxxW3IrM107Zm9yKHI9MTY7cjw4MDtyKyspcT1wW3ItM11ecFtyLThdXnBbci0xNF1ecFtyLTE2XSxwW3JdPShxPDwxfHE+Pj4zMSkmNDI5NDk2NzI5NTtxPWVbMF07dmFyIHQ9ZVsxXSxBPWVbMl0sRD1lWzNdLEU9ZVs0XTtmb3Iocj0wO3I8ODA7cisrKXtpZihyPDQwKWlmKHI8MjApe3ZhciBiYT1EXnQmKEFeRCk7dmFyIFo9MTUxODUwMDI0OX1lbHNlIGJhPXReQV5ELFo9MTg1OTc3NTM5MztlbHNlIHI8NjA/KGJhPXQmQXxEJih0fEEpLFo9MjQwMDk1OTcwOCk6KGJhPXReQV5ELFo9MzM5NTQ2OTc4Mik7YmE9KChxPDw1fHE+Pj4yNykmNDI5NDk2NzI5NSkrCmJhK0UrWitwW3JdJjQyOTQ5NjcyOTU7RT1EO0Q9QTtBPSh0PDwzMHx0Pj4+MikmNDI5NDk2NzI5NTt0PXE7cT1iYX1lWzBdPWVbMF0rcSY0Mjk0OTY3Mjk1O2VbMV09ZVsxXSt0JjQyOTQ5NjcyOTU7ZVsyXT1lWzJdK0EmNDI5NDk2NzI5NTtlWzNdPWVbM10rRCY0Mjk0OTY3Mjk1O2VbNF09ZVs0XStFJjQyOTQ5NjcyOTV9ZnVuY3Rpb24gYyhxLHApe2lmKHR5cGVvZiBxPT09InN0cmluZyIpe3E9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHEpKTtmb3IodmFyIHI9W10sdD0wLEE9cS5sZW5ndGg7dDxBOysrdClyLnB1c2gocS5jaGFyQ29kZUF0KHQpKTtxPXJ9cHx8KHA9cS5sZW5ndGgpO3I9MDtpZihsPT0wKWZvcig7cis2NDxwOyliKHEuc2xpY2UocixyKzY0KSkscis9NjQsbis9NjQ7Zm9yKDtyPHA7KWlmKGZbbCsrXT1xW3IrK10sbisrLGw9PTY0KWZvcihsPTAsYihmKTtyKzY0PHA7KWIocS5zbGljZShyLHIrNjQpKSxyKz02NCxuKz02NH1mdW5jdGlvbiBkKCl7dmFyIHE9W10sCnA9bio4O2w8NTY/YyhoLDU2LWwpOmMoaCw2NC0obC01NikpO2Zvcih2YXIgcj02MztyPj01NjtyLS0pZltyXT1wJjI1NSxwPj4+PTg7YihmKTtmb3Iocj1wPTA7cjw1O3IrKylmb3IodmFyIHQ9MjQ7dD49MDt0LT04KXFbcCsrXT1lW3JdPj50JjI1NTtyZXR1cm4gcX1mb3IodmFyIGU9W10sZj1bXSxnPVtdLGg9WzEyOF0saz0xO2s8NjQ7KytrKWhba109MDt2YXIgbCxuO2EoKTtyZXR1cm57cmVzZXQ6YSx1cGRhdGU6YyxkaWdlc3Q6ZCxmaDpmdW5jdGlvbigpe2Zvcih2YXIgcT1kKCkscD0iIixyPTA7cjxxLmxlbmd0aDtyKyspcCs9IjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChNYXRoLmZsb29yKHFbcl0vMTYpKSsiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KHFbcl0lMTYpO3JldHVybiBwfX19O09qPWZ1bmN0aW9uKCl7dGhpcy5nPWRvY3VtZW50fHx7Y29va2llOiIifX07ClhqPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP1BqOmI7aWYoIVFqKXt2YXIgYzthPShjPWEubmF2aWdhdG9yKT09bnVsbD92b2lkIDA6Yy51c2VyQWdlbnREYXRhO2lmKCFhfHx0eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcyE9PSJmdW5jdGlvbiJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoIm9hIikpO1JqKChhLmJyYW5kc3x8W10pLm1hcChmdW5jdGlvbihlKXt2YXIgZj1uZXcgU2o7Zj1fLlRqKGYsMSxlLmJyYW5kKTtyZXR1cm4gXy5UaihmLDIsZS52ZXJzaW9uKX0pKTt0eXBlb2YgYS5tb2JpbGU9PT0iYm9vbGVhbiImJl8uVWooVmosMixhLm1vYmlsZSk7UWo9YS5nZXRIaWdoRW50cm9weVZhbHVlcyhiKX12YXIgZD1uZXcgU2V0KGIpO3JldHVybiBRai50aGVuKGZ1bmN0aW9uKGUpe3ZhciBmPWxqKFZqKTtkLmhhcygicGxhdGZvcm0iKSYmXy5UaihmLDMsZS5wbGF0Zm9ybSk7ZC5oYXMoInBsYXRmb3JtVmVyc2lvbiIpJiYKXy5UaihmLDQsZS5wbGF0Zm9ybVZlcnNpb24pO2QuaGFzKCJhcmNoaXRlY3R1cmUiKSYmXy5UaihmLDUsZS5hcmNoaXRlY3R1cmUpO2QuaGFzKCJtb2RlbCIpJiZfLlRqKGYsNixlLm1vZGVsKTtkLmhhcygidWFGdWxsVmVyc2lvbiIpJiZfLlRqKGYsNyxlLnVhRnVsbFZlcnNpb24pO3JldHVybiBfLldqKGYpfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4gXy5XaihWail9KX07WWo9ZnVuY3Rpb24oYSl7dGhpcy5nPXRoaXMuaD10aGlzLmo9YX07Xy5aaj1mdW5jdGlvbihhLGIpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZD1jLnNsaWNlKCk7ZC5wdXNoLmFwcGx5KGQsYXJndW1lbnRzKTtyZXR1cm4gYS5hcHBseSh0aGlzLGQpfX07Xy5haz1mdW5jdGlvbihhLGIpe2EucWE/YigpOihhLld8fChhLlc9W10pLGEuVy5wdXNoKGIpKX07Yms9e1psOiEwfTtfLldqPWZ1bmN0aW9uKGEpe3JldHVybiBKU09OLnN0cmluZ2lmeShfLndoKGEpKX07Cm5qPXt9O21qPW51bGw7Y2s9e307Xy54aD1mdW5jdGlvbihhLGIpe2lmKGIhPT1jayl0aHJvdyBFcnJvcigiWiIpO3RoaXMubz1hO2lmKGEhPW51bGwmJmEubGVuZ3RoPT09MCl0aHJvdyBFcnJvcigiWSIpO307Xy54aC5wcm90b3R5cGUuZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMubztpZihhPT1udWxsKWE9IiI7ZWxzZSBpZih0eXBlb2YgYSE9PSJzdHJpbmciKXtpZihfLlBoKXtmb3IodmFyIGI9IiIsYz0wLGQ9YS5sZW5ndGgtMTAyNDA7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTthPWJ0b2EoYil9ZWxzZSBhPW9qKGEpO2E9dGhpcy5vPWF9cmV0dXJuIGF9O18uZGs9Xy5OZyh2b2lkIDAsIjFvYSIpO2VrPXt9O3JqPTA7c2o9MDt6aj0vXi0/KFsxLTldWzAtOV0qfDApKFwuWzAtOV0rKT8kLzsKXy5maz1mdW5jdGlvbihhLGIsYyl7Xy5yaShhKTt2YXIgZD1hLkosZT1kW18uSF18MDtpZihjPT1udWxsKXJldHVybiBfLnRpKGQsZSxiKSxhO2Zvcih2YXIgZj1jPT09Xy5UaD83OmNbXy5IXXwwLGc9ZixoPV8uRWkoZiksaz1ofHxPYmplY3QuaXNGcm96ZW4oYyksbD0hMCxuPSEwLHE9MDtxPGMubGVuZ3RoO3ErKyl7dmFyIHA9Y1txXTtofHwocD1fLldnKHApLGwmJihsPSFwKSxuJiYobj1wKSl9aHx8KGY9bD8xMzo1LGY9bj9mJi00MDk3OmZ8NDA5Nik7ayYmZj09PWd8fChjPV8ubWkoYyksZz0wLGY9Xy5EaShmLGUpKTtmIT09ZyYmXy5TZyhjLGYpO2U9Xy50aShkLGUsYixjKTsyJmZ8fCEoNDA5NiZmfHwxNiZmKXx8Xy5zaShkLGUpO3JldHVybiBhfTtfLmdrPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/MDpjO2E9Q2ooXy5aaShhLGIpKTtyZXR1cm4gYSE9bnVsbD9hOmN9OwpfLmhrPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/Xy5qaTpjO2E9Xy5aaShhLGIsdm9pZCAwLHZvaWQgMCxLaik7cmV0dXJuIGEhPW51bGw/YTpjfTtfLlVqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8ubmkoYykpfTtfLmlrPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8uQmooYykpfTtfLmprPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8uSmooYykpfTtfLlRqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsXy5MaihjKSl9O18ua2s9ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpe2lmKCEoMCxfLmRpKShjKSl0aHJvdyBwaigiZW51bSIpO2N8PTB9cmV0dXJuIF8uJGkoYSxiLGMpfTsKbms9ZnVuY3Rpb24oKXt2YXIgYT1sayxiPW1rO3RoaXMuZz0xNzUyMzczNzU7dGhpcy5MYj1iO3RoaXMuaD1fLmJqO3RoaXMuZGVmYXVsdFZhbHVlPXZvaWQgMDt0aGlzLmo9YS5XbCE9bnVsbD9lazp2b2lkIDB9O25rLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbigpe18uUWModGhpcyl9O3ZhciBvaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIob2ssXy5KKTt2YXIgcGs9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7YS5pbmRleE9mKCJibG9iOiIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07YT1hLnRvTG93ZXJDYXNlKCk7YS5pbmRleE9mKCIvLyIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXHdcLV0qOlwvXC8vLnRlc3QoYSl8fChhPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgYj1hLnN1YnN0cmluZyhhLmluZGV4T2YoIjovLyIpKzMpLGM9Yi5pbmRleE9mKCIvIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoIjovLyIpKTtpZighYyl0aHJvdyBFcnJvcigia2FgIithKTtpZihjIT09Imh0dHAiJiZjIT09Imh0dHBzIiYmYyE9PSJjaHJvbWUtZXh0ZW5zaW9uIiYmYyE9PSJtb3otZXh0ZW5zaW9uIiYmCmMhPT0iZmlsZSImJmMhPT0iYW5kcm9pZC1hcHAiJiZjIT09ImNocm9tZS1zZWFyY2giJiZjIT09ImNocm9tZS11bnRydXN0ZWQiJiZjIT09ImNocm9tZSImJmMhPT0iYXBwIiYmYyE9PSJkZXZ0b29scyIpdGhyb3cgRXJyb3IoImxhYCIrYyk7YT0iIjt2YXIgZD1iLmluZGV4T2YoIjoiKTtpZihkIT0tMSl7dmFyIGU9Yi5zdWJzdHJpbmcoZCsxKTtiPWIuc3Vic3RyaW5nKDAsZCk7aWYoYz09PSJodHRwIiYmZSE9PSI4MCJ8fGM9PT0iaHR0cHMiJiZlIT09IjQ0MyIpYT0iOiIrZX1yZXR1cm4gYysiOi8vIitiK2F9O3ZhciByaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9U3RyaW5nKF8udi5sb2NhdGlvbi5ocmVmKTtyZXR1cm4gZCYmYSYmYj9bYixxayhwayhkKSxhLGN8fG51bGwpXS5qb2luKCIgIik6bnVsbH0scWs9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnZjKGQsZnVuY3Rpb24oaCl7ZS5wdXNoKGgpfSksc2soZS5qb2luKCIgIikpO3ZhciBmPVtdLGc9W107Xy52YyhjLGZ1bmN0aW9uKGgpe2cucHVzaChoLmtleSk7Zi5wdXNoKGgudmFsdWUpfSk7Yz1NYXRoLmZsb29yKChuZXcgRGF0ZSkuZ2V0VGltZSgpLzFFMyk7ZT1mLmxlbmd0aD09MD9bYyxiLGFdOltmLmpvaW4oIjoiKSxjLGIsYV07Xy52YyhkLGZ1bmN0aW9uKGgpe2UucHVzaChoKX0pO2E9c2soZS5qb2luKCIgIikpO2E9W2MsYV07Zy5sZW5ndGg9PTB8fGEucHVzaChnLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9LHNrPWZ1bmN0aW9uKGEpe3ZhciBiPQpOaigpO2IudXBkYXRlKGEpO3JldHVybiBiLmZoKCkudG9Mb3dlckNhc2UoKX07Xy5tPU9qLnByb3RvdHlwZTtfLm0uc2V0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0hMTtpZih0eXBlb2YgYz09PSJvYmplY3QiKXt2YXIgZT1jLnNhbWVTaXRlO2Q9Yy5zZWN1cmV8fCExO3ZhciBmPWMuZG9tYWlufHx2b2lkIDA7dmFyIGc9Yy5wYXRofHx2b2lkIDA7dmFyIGg9Yy5CaX1pZigvWzs9XHNdLy50ZXN0KGEpKXRocm93IEVycm9yKCJtYWAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJuYWAiK2IpO2g9PT12b2lkIDAmJihoPS0xKTt0aGlzLmcuY29va2llPWErIj0iK2IrKGY/Ijtkb21haW49IitmOiIiKSsoZz8iO3BhdGg9IitnOiIiKSsoaDwwPyIiOmg9PTA/IjtleHBpcmVzPSIrKG5ldyBEYXRlKDE5NzAsMSwxKSkudG9VVENTdHJpbmcoKToiO2V4cGlyZXM9IisobmV3IERhdGUoRGF0ZS5ub3coKStoKjFFMykpLnRvVVRDU3RyaW5nKCkpKyhkPyI7c2VjdXJlIjoiIikrKGUhPW51bGw/IjtzYW1lc2l0ZT0iK2U6IiIpfTsKXy5tLmdldD1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hKyI9IixkPSh0aGlzLmcuY29va2llfHwiIikuc3BsaXQoIjsiKSxlPTAsZjtlPGQubGVuZ3RoO2UrKyl7Zj1fLkFjKGRbZV0pO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07Xy5tLnJlbW92ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSwiIix7Qmk6MCxwYXRoOmIsZG9tYWluOmN9KTtyZXR1cm4gZH07Xy5tLk9jPWZ1bmN0aW9uKCl7cmV0dXJuIHRrKHRoaXMpLmtleXN9O18ubS5pYj1mdW5jdGlvbigpe3JldHVybiB0ayh0aGlzKS52YWx1ZXN9O18ubS5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgYT10ayh0aGlzKS5rZXlzLGI9YS5sZW5ndGgtMTtiPj0wO2ItLSl0aGlzLnJlbW92ZShhW2JdKX07CnZhciB0az1mdW5jdGlvbihhKXthPShhLmcuY29va2llfHwiIikuc3BsaXQoIjsiKTtmb3IodmFyIGI9W10sYz1bXSxkLGUsZj0wO2Y8YS5sZW5ndGg7ZisrKWU9Xy5BYyhhW2ZdKSxkPWUuaW5kZXhPZigiPSIpLGQ9PS0xPyhiLnB1c2goIiIpLGMucHVzaChlKSk6KGIucHVzaChlLnN1YnN0cmluZygwLGQpKSxjLnB1c2goZS5zdWJzdHJpbmcoZCsxKSkpO3JldHVybntrZXlzOmIsdmFsdWVzOmN9fTt2YXIgdWs9ZnVuY3Rpb24oYSxiLGMsZCl7KGE9Xy52W2FdKXx8dHlwZW9mIGRvY3VtZW50PT09InVuZGVmaW5lZCJ8fChhPShuZXcgT2opLmdldChiKSk7cmV0dXJuIGE/cmsoYSxjLGQpOm51bGx9LHZrPWZ1bmN0aW9uKGEpe3ZhciBiPXBrKF8udj09bnVsbD92b2lkIDA6Xy52LmxvY2F0aW9uLmhyZWYpLGM9W10sZDsoZD1fLnYuX19TQVBJU0lEfHxfLnYuX19BUElTSUR8fF8udi5fXzNQU0FQSVNJRHx8Xy52Ll9fMVBTQVBJU0lEfHxfLnYuX19PVkVSUklERV9TSUQpP2Q9ITA6KHR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYoZD1uZXcgT2osZD1kLmdldCgiU0FQSVNJRCIpfHxkLmdldCgiQVBJU0lEIil8fGQuZ2V0KCJfX1NlY3VyZS0zUEFQSVNJRCIpfHxkLmdldCgiX19TZWN1cmUtMVBBUElTSUQiKSksZD0hIWQpO2QmJihkPShiPWIuaW5kZXhPZigiaHR0cHM6Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLWV4dGVuc2lvbjoiKT09MHx8Yi5pbmRleE9mKCJjaHJvbWUtdW50cnVzdGVkOi8vbmV3LXRhYi1wYWdlIik9PQowfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTApP18udi5fX1NBUElTSUQ6Xy52Ll9fQVBJU0lELGR8fHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwoZD1uZXcgT2osZD1kLmdldChiPyJTQVBJU0lEIjoiQVBJU0lEIil8fGQuZ2V0KCJfX1NlY3VyZS0zUEFQSVNJRCIpKSwoZD1kP3JrKGQsYj8iU0FQSVNJREhBU0giOiJBUElTSURIQVNIIixhKTpudWxsKSYmYy5wdXNoKGQpLGImJigoYj11aygiX18xUFNBUElTSUQiLCJfX1NlY3VyZS0xUEFQSVNJRCIsIlNBUElTSUQxUEhBU0giLGEpKSYmYy5wdXNoKGIpLChhPXVrKCJfXzNQU0FQSVNJRCIsIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsYSkpJiZjLnB1c2goYSkpKTtyZXR1cm4gYy5sZW5ndGg9PTA/bnVsbDpjLmpvaW4oIiAiKX07dmFyIHdrPWZ1bmN0aW9uKCl7fSx4az1mdW5jdGlvbihhKXt2YXIgYixjLGQsZTtyZXR1cm4gXy5WaShmdW5jdGlvbihmKXtzd2l0Y2goZi5nKXtjYXNlIDE6cmV0dXJuIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpLGQ9Yi53cml0YWJsZS5nZXRXcml0ZXIoKSxmLmgoZC53cml0ZSgobmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoYSkpLDIpO2Nhc2UgMjpyZXR1cm4gZi5oKGQuY2xvc2UoKSwzKTtjYXNlIDM6cmV0dXJuIGU9VWludDhBcnJheSxmLmgoYyw0KTtjYXNlIDQ6cmV0dXJuIGYucmV0dXJuKG5ldyBlKGYuaikpfX0pfTt3ay5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGE8MTAyND8hMTp0eXBlb2YgQ29tcHJlc3Npb25TdHJlYW0hPT0idW5kZWZpbmVkIn07dmFyIHlrPWZ1bmN0aW9uKGEsYil7dGhpcy5oPWE7dGhpcy5vPWI7dGhpcy5nPSExO3RoaXMuaj1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTt0aGlzLmw9dGhpcy5qKCl9LHprPWZ1bmN0aW9uKGEsYil7YS5oPWI7YS50aW1lciYmYS5nPyhhLnN0b3AoKSxhLnN0YXJ0KCkpOmEudGltZXImJmEuc3RvcCgpfTt5ay5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZz0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50aWNrKCl9LHRoaXMuaCksdGhpcy5sPXRoaXMuaigpKX07eWsucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmc9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9Owp5ay5wcm90b3R5cGUudGljaz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7aWYodGhpcy5nKXt2YXIgYj1NYXRoLm1heCh0aGlzLmooKS10aGlzLmwsMCk7Yjx0aGlzLmgqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50aWNrKCl9LHRoaXMuaC1iKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5vKCksdGhpcy5nJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH07dmFyIEFrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihBayxfLkopO3ZhciBCaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoQmssXy5KKTt2YXIgQ2s9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKENrLF8uSik7Q2sucHJvdG90eXBlLlBkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcywxKX07dmFyIFNqPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihTaixfLkopO3ZhciBEaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoRGssXy5KKTt2YXIgUmo9ZnVuY3Rpb24oYSl7Xy5mayhWaiwxLGEpfSxFaz1fLk1qKERrKTt2YXIgRms9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEZrLF8uSik7dmFyIFBqPVsicGxhdGZvcm0iLCJwbGF0Zm9ybVZlcnNpb24iLCJhcmNoaXRlY3R1cmUiLCJtb2RlbCIsInVhRnVsbFZlcnNpb24iXSxWaj1uZXcgRGssUWo9bnVsbDt2YXIgR2s9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEdrLF8uSik7dmFyIEhrPWZ1bmN0aW9uKGEpe3JldHVybiBfLmtrKGEsMSwxKX07dmFyIElrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihJayxfLkopO0lrLnByb3RvdHlwZS5NYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywyKX07SWsucHJvdG90eXBlLmNiPWZ1bmN0aW9uKGEpe18uVGoodGhpcywyLGEpfTt2YXIgSms9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhLDQpfTtfLkIoSmssXy5KKTtfLktrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSwzNyl9O18uQihfLktrLF8uSik7Xy5Lay5wcm90b3R5cGUuY2I9ZnVuY3Rpb24oYSl7Xy5yaSh0aGlzKTt2YXIgYj10aGlzLkosYz1fLklpKHRoaXMsYixiW18uSF18MCxJaywzLDIsITApO2lmKHR5cGVvZiBhIT09Im51bWJlciJ8fGE8MHx8YT5jLmxlbmd0aCl0aHJvdyBFcnJvcigpO2EhPXZvaWQgMD9jLnNwbGljZShhLDEsdm9pZCAwKTpjLnB1c2godm9pZCAwKTt2YXIgZD1hPWM9PT1fLlRoPzc6Y1tfLkhdfDAsZT1fLldnKCk7ZT8oYSY9LTksYy5sZW5ndGg9PT0xJiYoYSY9LTQwOTcpKTphfD00MDk2O2EhPT1kJiZfLlNnKGMsYSk7ZXx8Xy5zaShiKX07Xy5Maz1mdW5jdGlvbihhLGIpe3JldHVybiBfLlRqKGEsOCxiKX07dmFyIE1rPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSwxOSl9O18uQihNayxfLkopO01rLnByb3RvdHlwZS52Yz1mdW5jdGlvbihhKXtyZXR1cm4gXy5rayh0aGlzLDIsYSl9O3ZhciBPaz1mdW5jdGlvbihhLGIpe3RoaXMuYWI9Yj1iPT09dm9pZCAwPyExOmI7dGhpcy5qPXRoaXMubG9jYWxlPW51bGw7dGhpcy5oPTA7dGhpcy5sPSExO3RoaXMuZz1uZXcgTWs7TnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5nLnZjKGEpO2J8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsYW5nIikpO05rKHRoaXMsbmV3IEdrKX07T2sucHJvdG90eXBlLnZjPWZ1bmN0aW9uKGEpe3RoaXMuZy52YyhhKTtyZXR1cm4gdGhpc307CnZhciBOaz1mdW5jdGlvbihhLGIpe18uTChhLmcsMSxiKTtfLmRqKGIsMSl8fEhrKGIpO2EuYWJ8fChiPVBrKGEpLF8uTihiLDUpfHxfLlRqKGIsNSxhLmxvY2FsZSkpO2EuaiYmKGI9UGsoYSksXy5iaihiLERrLDkpfHxfLkwoYiw5LGEuaikpfSxRaz1mdW5jdGlvbihhLGIpe2EuaD1ifSxSaz1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwP1BqOmI7dmFyIGM9YS5hYj92b2lkIDA6Xy5tYigpO2M/WGooYyxiKS50aGVuKGZ1bmN0aW9uKGQpe2Euaj1FayhkIT1udWxsP2Q6IltdIik7ZD1QayhhKTtfLkwoZCw5LGEuaik7cmV0dXJuITB9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiExfSk6UHJvbWlzZS5yZXNvbHZlKCExKX0sUGs9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5iaihhLmcsR2ssMSk7Ynx8KGI9bmV3IEdrLE5rKGEsYikpO2E9YjtiPV8uYmooYSxGaywxMSk7Ynx8KGI9bmV3IEZrLF8uTChhLDExLGIpKTtyZXR1cm4gYn0sU2s9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7Yz1jPT09CnZvaWQgMD8wOmM7ZD1kPT09dm9pZCAwPzA6ZDtlPWU9PT12b2lkIDA/bnVsbDplO2Y9Zj09PXZvaWQgMD8wOmY7Zz1nPT09dm9pZCAwPzA6ZztpZighYS5hYil7dmFyIGg9UGsoYSk7dmFyIGs9bmV3IENrO2s9Xy5rayhrLDEsYS5oKTtrPV8uVWooaywyLGEubCk7ZD1fLmlrKGssMyxkPjA/ZDp2b2lkIDApO2Q9Xy5payhkLDQsZj4wP2Y6dm9pZCAwKTtkPV8uaWsoZCw1LGc+MD9nOnZvaWQgMCk7Zj1kLko7Zz1mW18uSF18MDtkPV8uV2coZCxnKT9kOl8uSWgoZCxmLGcpP18uSGgoZCxmKTpuZXcgZC5jb25zdHJ1Y3RvcihfLkdoKGYsZywhMCkpO18uTChoLDEwLGQpfWE9bGooYS5nKTtoPURhdGUubm93KCkudG9TdHJpbmcoKTthPV8uJGkoYSw0LGg9PW51bGw/aDpfLkpqKGgpKTtiPV8uZmsoYSwzLGIuc2xpY2UoKSk7ZSYmKGE9bmV3IEFrLGU9Xy5payhhLDEzLGUpLGE9bmV3IEJrLGU9Xy5MKGEsMixlKSxhPW5ldyBKayxlPV8uTChhLDEsZSksZT1fLmtrKGUsMiw5KSxfLkwoYiwxOCwKZSkpO2MmJl8uamsoYiwxNCxjKTtyZXR1cm4gYn07WWoucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5nPXRoaXMuaD10aGlzLmp9O1lqLnByb3RvdHlwZS5NYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmh9O3ZhciBsaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEsOCl9O18uQihsayxfLkopO3ZhciBUaz1fLk1qKGxrKTt2YXIgbWs9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKG1rLF8uSik7dmFyIFVrO1VrPW5ldyBuazt2YXIgWWs9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dmFyIGI9dGhpczt0aGlzLmc9W107dGhpcy5sYT0iIjt0aGlzLks9dGhpcy5MPSExO3RoaXMucmE9dGhpcy5JPS0xO3RoaXMuUj0hMTt0aGlzLkQ9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5BPXRoaXMubD0wO3RoaXMuQz1udWxsO3RoaXMuRj10aGlzLkc9MDt0aGlzLndhPTE7dGhpcy53Yz0wO3RoaXMuT2I9YS5PYjt0aGlzLnRiPWEudGJ8fGZ1bmN0aW9uKCl7fTt0aGlzLmo9bmV3IE9rKGEuT2IsYS5hYik7dGhpcy56YT1hLnphfHxudWxsO3RoaXMuQ2I9YS5DYnx8bnVsbDt0aGlzLkI9YS5hanx8bnVsbDt0aGlzLm1iPWEubWJ8fG51bGw7dGhpcy5jYz1hLmNjfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz0hYS5NYzt0aGlzLmFiPWEuYWJ8fCExO3RoaXMuVD0hdGhpcy5hYiYmISFfLm1iKCkmJiEhXy5tYigpLm5hdmlnYXRvciYmXy5tYigpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuUD10eXBlb2YgVVJMU2VhcmNoUGFyYW1zIT09CiJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKFZrKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoVmsoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGM9SGsobmV3IEdrKTtOayh0aGlzLmosYyk7dGhpcy5vPW5ldyBZaigxRTQpO2E9V2sodGhpcyxhLk9lKTt0aGlzLmg9bmV3IHlrKHRoaXMuby5NYSgpLGEpO3RoaXMuTz1uZXcgeWsoNkU1LGEpO3RoaXMuY2N8fHRoaXMuTy5zdGFydCgpO2lmKCF0aGlzLmFiKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iKXtYayhiKTt2YXIgZjsoZj1iLkMpPT1udWxsfHxmLmZsdXNoKCl9fSk7dmFyIGQsZTsoZD1fLm1iKCkpPT1udWxsfHwoZT1kLmFkZEV2ZW50TGlzdGVuZXIpPT1udWxsfHxlLmNhbGwoZCwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7WGsoYik7dmFyIGY7KGY9Yi5DKT09bnVsbHx8Zi5mbHVzaCgpfSl9fSxaayxibCwKJGs7Xy5CKFlrLF8udSk7dmFyIFdrPWZ1bmN0aW9uKGEsYil7aWYoIWEuUClyZXR1cm4gZnVuY3Rpb24oKXt9O3ZhciBjPWZ1bmN0aW9uKCl7YS5mbHVzaCgpfTtyZXR1cm4gYj9mdW5jdGlvbigpe2IoKS50aGVuKGMpfTpjfTtZay5wcm90b3R5cGUuTT1mdW5jdGlvbigpe1hrKHRoaXMpO3RoaXMuaC5zdG9wKCk7dGhpcy5PLnN0b3AoKTtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKX07Wms9ZnVuY3Rpb24oYSl7YS5CfHwoYS5CPVZrKCkpO3RyeXtyZXR1cm4obmV3IFVSTChhLkIpKS50b1N0cmluZygpfWNhdGNoKGIpe3JldHVybihuZXcgVVJMKGEuQixfLm1iKCkubG9jYXRpb24ub3JpZ2luKSkudG9TdHJpbmcoKX19O18uYWw9ZnVuY3Rpb24oYSxiKXtpZihiIGluc3RhbmNlb2YgXy5LaylhLmxvZyhiKTtlbHNlIHRyeXt2YXIgYz1fLkxrKG5ldyBfLktrLF8uV2ooYikpO2EubG9nKGMpfWNhdGNoKGQpeyRrKGEsNCwxKX19OwpibD1mdW5jdGlvbihhLGIpe2Eubz1uZXcgWWooYjwxPzE6Yik7emsoYS5oLGEuby5NYSgpKX07JGs9ZnVuY3Rpb24oYSxiLGMpe2EuQyYmYS5DLlNsKGIsYyl9OwpZay5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKGEpeyRrKHRoaXMsMiwxKTtpZih0aGlzLlApe2E9bGooYSk7dmFyIGI9dGhpcy53YSsrO2I9YT1fLmprKGEsMjEsYik7dmFyIGM9Xy5aaShiLDEpO3ZhciBkPWQ9PT12b2lkIDA/ITE6ZDt2YXIgZT10eXBlb2YgYztkPWM9PW51bGw/YzplPT09ImJpZ2ludCI/U3RyaW5nKCgwLF8uYmkpKDY0LGMpKTpBaihjKT9lPT09InN0cmluZyI/RmooYyk6ZD9IaihjKTpHaihjKTp2b2lkIDA7ZD09bnVsbCYmKGQ9RGF0ZS5ub3coKSxkPU51bWJlci5pc0Zpbml0ZShkKT9kLnRvU3RyaW5nKCk6IjAiLF8uJGkoYiwxLGQ9PW51bGw/ZDpfLkpqKGQpKSk7ZD1fLlppKGIsMTUsdm9pZCAwLHZvaWQgMCxLaik7ZCE9bnVsbCYmKHR5cGVvZiBkPT09ImJpZ2ludCI/KDAsXy52aCkoZCk/ZD1OdW1iZXIoZCk6KGQ9KDAsXy5iaSkoNjQsZCksZD0oMCxfLnZoKShkKT9OdW1iZXIoZCk6U3RyaW5nKGQpKTpkPUFqKGQpP3R5cGVvZiBkPT09Im51bWJlciI/R2ooZCk6CkZqKGQpOnZvaWQgMCk7ZCE9bnVsbHx8Xy5qayhiLDE1LChuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSo2MCk7dGhpcy5leHBlcmltZW50SWRzJiYoZD1saih0aGlzLmV4cGVyaW1lbnRJZHMpLF8uTChiLDE2LGQpKTskayh0aGlzLDEsMSk7Yj10aGlzLmcubGVuZ3RoLTFFMysxO2I+MCYmKHRoaXMuZy5zcGxpY2UoMCxiKSx0aGlzLmwrPWIsJGsodGhpcywzLGIpKTt0aGlzLmcucHVzaChhKTt0aGlzLmNjfHx0aGlzLmguZ3x8dGhpcy5oLnN0YXJ0KCl9fTsKWWsucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcztpZih0aGlzLmcubGVuZ3RoPT09MClhJiZhKCk7ZWxzZXt2YXIgZD1EYXRlLm5vdygpO2lmKHRoaXMucmE+ZCYmdGhpcy5JPGQpYiYmYigidGhyb3R0bGVkIik7ZWxzZXt0aGlzLnphJiYodHlwZW9mIHRoaXMuemEuUGQ9PT0iZnVuY3Rpb24iP1FrKHRoaXMuaix0aGlzLnphLlBkKCkpOnRoaXMuai5oPTApO3ZhciBlPXRoaXMuZy5sZW5ndGgsZj1Tayh0aGlzLmosdGhpcy5nLHRoaXMubCx0aGlzLkEsdGhpcy5DYix0aGlzLkcsdGhpcy5GKSxnPXRoaXMudGIoKTtpZihnJiZ0aGlzLmxhPT09ZyliJiZiKCJzdGFsZS1hdXRoLXRva2VuIik7ZWxzZXt0aGlzLmc9W107dGhpcy5oLmcmJnRoaXMuaC5zdG9wKCk7dGhpcy5sPTA7ZD1fLldqKGYpO3ZhciBoO3RoaXMuRCYmdGhpcy5ELlRhKGQubGVuZ3RoKSYmKGg9eGsoZCkpO3ZhciBrPWNsKHRoaXMsZCxnKSxsPWZ1bmN0aW9uKHApe2Muby5yZXNldCgpO3prKGMuaCwKYy5vLk1hKCkpO2lmKHApe3ZhciByPW51bGw7dHJ5e3ZhciB0PUpTT04uc3RyaW5naWZ5KEpTT04ucGFyc2UocC5yZXBsYWNlKCIpXX0nXG4iLCIiKSkpO3I9VGsodCl9Y2F0Y2goRSl7fWlmKHIpe3A9TnVtYmVyKF8uaGsociwxLF8uYmgoIi0xIikpKTtwPjAmJihjLkk9RGF0ZS5ub3coKSxjLnJhPWMuSStwKTtwPVVrLmc7dD1fLnBoKF8ucWgpO3ZhciBBO18uT2cmJnQmJigoQT1yLkpbdF0pPT1udWxsP3ZvaWQgMDpBW3BdKSE9bnVsbCYmXy5NZyhfLlJoLDMpO2E6e0E9VWsuZzt2YXIgRD1EPT09dm9pZCAwPyExOkQ7aWYoXy5waChfLlNoKSYmXy5waChfLnFoKSYmdm9pZCAwPT09Xy5TaCl7cD1yLko7dD1wW18ucWhdO2lmKCF0KWJyZWFrIGE7aWYodD10LmJtKXRyeXt0KHAsQSxiayk7YnJlYWsgYX1jYXRjaChFKXtfLnJiKEUpfX1EJiYoRD1yLkosKHA9Xy5waChfLnFoKSkmJnAgaW4gRCYmKEQ9RFtwXSkmJmRlbGV0ZSBEW0FdKX1EPVVrLkxiP1VrLmgocixVay5MYixVay5nLFVrLmopOgpVay5oKHIsVWsuZyxudWxsLFVrLmopO2lmKEQ9RD09PW51bGw/dm9pZCAwOkQpRD1fLmdrKEQsMSwtMSksRCE9PS0xJiYoYy5SfHxibChjLEQpKX19YSYmYSgpO2MuQT0wfSxuPWZ1bmN0aW9uKHAscil7dmFyIHQ9Xy5jaihmLF8uS2ssMyk7dmFyIEE9TnVtYmVyKF8uaGsoZiwxNCkpLEQ9Yy5vO0QuZz1NYXRoLm1pbigzRTUsRC5nKjIpO0QuaD1NYXRoLm1pbigzRTUsRC5nK01hdGgucm91bmQoLjEqKE1hdGgucmFuZG9tKCktLjUpKjIqRC5nKSk7emsoYy5oLGMuby5NYSgpKTtwPT09NDAxJiZnJiYoYy5sYT1nKTtBJiYoYy5sKz1BKTtyPT09dm9pZCAwJiYocj01MDA8PXAmJnA8NjAwfHxwPT09NDAxfHxwPT09MCk7ciYmKGMuZz10LmNvbmNhdChjLmcpLGMuY2N8fGMuaC5nfHxjLmguc3RhcnQoKSk7JGsoYyw3LDEpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIscCk7KytjLkF9LHE9ZnVuY3Rpb24oKXtjLnphJiZjLnphLnNlbmQoayxsLG4pfTtoP2gudGhlbihmdW5jdGlvbihwKXskayhjLAo1LGUpO2submVbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7ay5uZVsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7ay5ib2R5PXA7ay5aZz0yO3EoKX0sZnVuY3Rpb24oKXskayhjLDYsZSk7cSgpfSk6cSgpfX19fTsKdmFyIGNsPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/bnVsbDpjO3ZhciBkPWQ9PT12b2lkIDA/YS53aXRoQ3JlZGVudGlhbHM6ZDt2YXIgZT17fSxmPW5ldyBVUkwoWmsoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5tYiYmKGVbIlgtR29vZy1BdXRoVXNlciJdPWEubWIsZi5zZWFyY2hQYXJhbXMuc2V0KCJhdXRodXNlciIsYS5tYikpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixaZzoxLG5lOmUsTGk6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLHdjOmEud2N9fSxYaz1mdW5jdGlvbihhKXthLmoubD0hMDthLkwmJihhLmouaD0zLGRsKGEpKTthLksmJihhLmouaD0yLGVsKGEpKTthLmZsdXNoKCk7YS5qLmw9ITF9LGRsPWZ1bmN0aW9uKGEpe2ZsKGEsMzIsMTAsZnVuY3Rpb24oYixjKXtiPW5ldyBVUkwoYik7Yi5zZWFyY2hQYXJhbXMuc2V0KCJmb3JtYXQiLCJqc29uIik7dmFyIGQ9ITE7dHJ5e2Q9Xy5tYigpLm5hdmlnYXRvci5zZW5kQmVhY29uKGIudG9TdHJpbmcoKSwKXy5XaihjKSl9Y2F0Y2goZSl7fWR8fChhLlQ9ITEpO3JldHVybiBkfSl9LGVsPWZ1bmN0aW9uKGEpe2ZsKGEsNiw1LGZ1bmN0aW9uKGIsYyl7Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwiYmFzZTY0anNvbiIpO3ZhciBkPWIuc2VhcmNoUGFyYW1zLGU9ZC5zZXQ7Yz1fLldqKGMpO2Zvcih2YXIgZj1bXSxnPTAsaD0wO2g8Yy5sZW5ndGg7aCsrKXt2YXIgaz1jLmNoYXJDb2RlQXQoaCk7az4yNTUmJihmW2crK109ayYyNTUsaz4+PTgpO2ZbZysrXT1rfWM9b2ooZiwzKTtlLmNhbGwoZCwicCIsYyk7Yj1iLnRvU3RyaW5nKCk7aWYoYi5sZW5ndGg+MTUzNjApcmV0dXJuITE7KG5ldyBJbWFnZSkuc3JjPWI7cmV0dXJuITB9KX0sZmw9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5nLmxlbmd0aCE9PTApe3ZhciBlPW5ldyBVUkwoWmsoYSkpO2Uuc2VhcmNoUGFyYW1zLmRlbGV0ZSgiZm9ybWF0Iik7dmFyIGY9YS50YigpO2YmJmUuc2VhcmNoUGFyYW1zLnNldCgiYXV0aCIsCmYpO2Uuc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLGEubWJ8fCIwIik7Zm9yKGY9MDtmPGMmJmEuZy5sZW5ndGg7KytmKXt2YXIgZz1hLmcuc2xpY2UoMCxiKSxoPVNrKGEuaixnLGEubCxhLkEsYS5DYixhLkcsYS5GKTtpZighZChlLnRvU3RyaW5nKCksaCkpeysrYS5BO2JyZWFrfWEubD0wO2EuQT0wO2EuRz0wO2EuRj0wO2EuZz1hLmcuc2xpY2UoZy5sZW5ndGgpfWEuaC5nJiZhLmguc3RvcCgpfX0sVms9ZnVuY3Rpb24oKXtyZXR1cm4iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSJ9O3ZhciBnbD1mdW5jdGlvbigpe3RoaXMuVmc9dHlwZW9mIEFib3J0Q29udHJvbGxlciE9PSJ1bmRlZmluZWQifTsKZ2wucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMsZSxmLGcsaCxrLGwsbixxLHAscjtyZXR1cm4gXy5WaShmdW5jdGlvbih0KXtzd2l0Y2godC5nKXtjYXNlIDE6cmV0dXJuIGY9KGU9ZC5WZz9uZXcgQWJvcnRDb250cm9sbGVyOnZvaWQgMCkmJmEud2M+MD9zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5hYm9ydCgpfSxhLndjKTp2b2lkIDAsdC5GKDIsMyksZz1PYmplY3QuYXNzaWduKHt9LHttZXRob2Q6YS5MaSxoZWFkZXJzOk9iamVjdC5hc3NpZ24oe30sYS5uZSl9LGEuYm9keSYme2JvZHk6YS5ib2R5fSxhLndpdGhDcmVkZW50aWFscyYme2NyZWRlbnRpYWxzOiJpbmNsdWRlIn0se3NpZ25hbDphLndjJiZlP2Uuc2lnbmFsOm51bGx9KSx0LmgoZmV0Y2goYS51cmwsZyksNSk7Y2FzZSA1Omg9dC5qO2lmKGguc3RhdHVzIT09MjAwKXsoaz1jKT09bnVsbHx8ayhoLnN0YXR1cyk7dC54YSgzKTticmVha31pZigobD1iKT09bnVsbCl7dC54YSg3KTticmVha31yZXR1cm4gdC5oKGgudGV4dCgpLAo4KTtjYXNlIDg6bCh0LmopO2Nhc2UgNzpjYXNlIDM6dC5MKCk7Y2xlYXJUaW1lb3V0KGYpO3QucWEoMCk7YnJlYWs7Y2FzZSAyOm49dC5EKCk7c3dpdGNoKChxPW4pPT1udWxsP3ZvaWQgMDpxLm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOihwPWMpPT1udWxsfHxwKDQwOCk7YnJlYWs7ZGVmYXVsdDoocj1jKT09bnVsbHx8cig0MDApfXQueGEoMyl9fSl9O2dsLnByb3RvdHlwZS5QZD1mdW5jdGlvbigpe3JldHVybiA0fTtfLmhsPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPyIwIjpiO18udS5jYWxsKHRoaXMpO3RoaXMuT2I9YTt0aGlzLm1iPWI7dGhpcy5BPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIjt0aGlzLmc9dGhpcy5DYj10aGlzLnphPXRoaXMuaD1udWxsO3RoaXMubD10aGlzLm89ITE7dGhpcy5qPW51bGx9O18uQihfLmhsLF8udSk7Xy5pbD1mdW5jdGlvbihhLGIpe2EudGI9YjtyZXR1cm4gYX07Xy5qbD1mdW5jdGlvbihhKXthLm89ITA7cmV0dXJuIGF9O18uaGwucHJvdG90eXBlLk1jPWZ1bmN0aW9uKCl7dGhpcy5CPSEwO3JldHVybiB0aGlzfTsKXy5rbD1mdW5jdGlvbihhKXthLnphfHwoYS56YT1uZXcgZ2wpO3ZhciBiPW5ldyBZayh7T2I6YS5PYix0YjphLnRiP2EudGI6dmssbWI6YS5tYixhajphLkEsYWI6ITEsY2M6ITEsTWM6YS5CLE9lOmEuT2UsemE6YS56YX0pO18uYWsoYSxfLlpqKF8ucGEsYikpO2lmKGEuaCl7dmFyIGM9YS5oLGQ9UGsoYi5qKTtfLlRqKGQsNyxjKX1iLkQ9bmV3IHdrO2EuQ2ImJihiLkNiPWEuQ2IpO2EuZyYmKChkPWEuZyk/KGIuZXhwZXJpbWVudElkc3x8KGIuZXhwZXJpbWVudElkcz1uZXcgb2spLGM9Yi5leHBlcmltZW50SWRzLGQ9Xy5XaihkKSxfLlRqKGMsNCxkKSk6Yi5leHBlcmltZW50SWRzJiZfLiRpKGIuZXhwZXJpbWVudElkcyw0KSk7YS5vJiYoYi5MPWEubyYmYi5UKTthLmwmJihiLks9YS5sKTthLmomJihjPWEuaixiLlI9ITAsYmwoYixjKSk7UmsoYi5qKTthLnphLnZjJiZhLnphLnZjKGEuT2IpO2EuemEuUWkmJmEuemEuUWkoYik7cmV0dXJuIGJ9O18ubGw9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKF8ubGwsXy5KKTtfLm09Xy5sbC5wcm90b3R5cGU7Xy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDE2KX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRqKHRoaXMsMTYsYSl9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywxKX07Xy5tLm5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRqKHRoaXMsMSxhKX07Xy5tLk9kPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcyw1Myl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm1sPWZ1bmN0aW9uKGEpe3ZhciBiPV8uS2EoKTthPWI/Yi5jcmVhdGVIVE1MKGEpOmE7cmV0dXJuIG5ldyBfLkRjKGEpfTtfLm5sPWZ1bmN0aW9uKGEsYil7Yj1fLkVnKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9O18ub2w9e307Xy5wbD1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5wbC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTtfLnFsPXt9O18uemY9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiSyIpO307Xy56Zi5wcm90b3R5cGUuSmQ9bnVsbDtfLnpmLnByb3RvdHlwZS5tYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRlbnR9O18uemYucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07Xy56Zi5wcm90b3R5cGUuVGI9ZnVuY3Rpb24oKXtpZih0aGlzLlpiIT09Xy5xbCl0aHJvdyBFcnJvcigiTCIpO3JldHVybiBfLm1sKHRoaXMudG9TdHJpbmcoKSl9O3ZhciBybD1mdW5jdGlvbigpe18uemYuY2FsbCh0aGlzKX07Cl8uRyhybCxfLnpmKTtybC5wcm90b3R5cGUuWmI9Xy5xbDt2YXIgc2w9ZnVuY3Rpb24oKXtfLnpmLmNhbGwodGhpcyl9O18uRyhzbCxfLnpmKTtzbC5wcm90b3R5cGUuWmI9Xy5vbDtzbC5wcm90b3R5cGUuSmQ9MTtzbC5wcm90b3R5cGUuaj1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5wbCh0aGlzLnRvU3RyaW5nKCkpfTtfLnRsPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyl7dGhpcy5jb250ZW50PWN9Yi5wcm90b3R5cGU9YS5wcm90b3R5cGU7cmV0dXJuIGZ1bmN0aW9uKGMsZCl7Yz1uZXcgYihTdHJpbmcoYykpO2QhPT12b2lkIDAmJihjLkpkPWQpO3JldHVybiBjfX0ocmwpO18udWw9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjKXt0aGlzLmNvbnRlbnQ9Y31iLnByb3RvdHlwZT1hLnByb3RvdHlwZTtyZXR1cm4gZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBiKFN0cmluZyhjKSl9fShzbCk7Xy52bD1SZWdFeHAucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzdGlja3kiKTtfLndsPW5ldyBSZWdFeHAoKF8udmw/IiI6Il4iKSsiKD86IXwvPyhbYS16QS1aXVthLXpBLVowLTk6LV0qKSkiLF8udmw/Imd5IjoiZyIpO18ueGw9ZnVuY3Rpb24oKXtfLnpmLmNhbGwodGhpcyl9O18uQihfLnhsLHJsKTsKXy54bC5wcm90b3R5cGUubWE9ZnVuY3Rpb24oKXtpZih0aGlzLmNvbnRlbnQhPT12b2lkIDApcmV0dXJuIHRoaXMuY29udGVudDtmb3IodmFyIGE9IiIsYj1fLkModGhpcy5VKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSlhKz1jLnZhbHVlO3JldHVybiBhfTtfLnhsLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hKCl9O18ueWw9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7dGhpcy5jb250ZW50PSIifWEucHJvdG90eXBlPV8ueGwucHJvdG90eXBlO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgYX19KCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubGEoImVsX21haW5fY3NzIik7CgpfLm1hKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubGEoImVsX21haW4iKTsKLyoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgemw9ZnVuY3Rpb24oYSxiKXt0aGlzLng9YSE9PXZvaWQgMD9hOjA7dGhpcy55PWIhPT12b2lkIDA/YjowfSxBbD1mdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ7Zm9yKGQgaW4gYSljW2RdPWIuY2FsbCh2b2lkIDAsYVtkXSxkLGEpO3JldHVybiBjfSxCbD1mdW5jdGlvbihhLGIpe3ZhciBjPWIuY3JlYXRlUmFuZ2UoKTtjLnNlbGVjdE5vZGUoYi5ib2R5KTthPV8ubWwoYSk7cmV0dXJuIGMuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KF8ua2ooYSkpfSxDbD1mdW5jdGlvbihhKXthPWEubm9kZU5hbWU7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/YToiRk9STSJ9LERsPWZ1bmN0aW9uKGEpe2E9YS5ub2RlVHlwZTtyZXR1cm4gYT09PTF8fHR5cGVvZiBhIT09Im51bWJlciJ9LEVsPWZ1bmN0aW9uKGEsYixjKXthLnNldEF0dHJpYnV0ZShiLGMpfSxGbD1mdW5jdGlvbihhKXtyZXR1cm4gXy5NYShhKX0sR2w9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5yaShhKTt2YXIgZT1hLkosZj1lW18uSF18CjA7aWYoYz09bnVsbClyZXR1cm4gXy50aShlLGYsYiksYTt2YXIgZz1jPT09Xy5UaD83OmNbXy5IXXwwLGg9ZyxrPV8uRWkoZyksbD1rfHxPYmplY3QuaXNGcm96ZW4oYyk7a3x8KGc9MCk7bHx8KGM9Xy5taShjKSxoPTAsZz1fLkRpKGcsZiksbD0hMSk7Z3w9NTtrPTQmZz81MTImZz81MTI6MTAyNCZnPzEwMjQ6MDp2b2lkIDA7az1rIT1udWxsP2s6MTAyNDtnfD1rO2Zvcih2YXIgbj0wO248Yy5sZW5ndGg7bisrKXt2YXIgcT1jW25dLHA9ZChxLGspO09iamVjdC5pcyhxLHApfHwobCYmKGM9Xy5taShjKSxoPTAsZz1fLkRpKGcsZiksbD0hMSksY1tuXT1wKX1nIT09aCYmKGwmJihjPV8ubWkoYyksZz1fLkRpKGcsZikpLF8uU2coYyxnKSk7Xy50aShlLGYsYixjKTtyZXR1cm4gYX0sSGw9ZnVuY3Rpb24oYSl7aWYoXy5PZyl7dmFyIGI7cmV0dXJuKGI9YVtfLmRrXSkhPW51bGw/YjphW18uZGtdPW5ldyBNYXB9aWYoXy5kayBpbiBhKXJldHVybiBhW18uZGtdO2I9bmV3IE1hcDtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwKXy5kayx7dmFsdWU6Yn0pO3JldHVybiBifSxJbD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmdldChkKTtpZihlIT1udWxsKXJldHVybiBlO2Zvcih2YXIgZj1lPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBnPWRbZl07Xy51aShiLGcpIT1udWxsJiYoZSE9PTAmJihjPV8udGkoYixjLGUpKSxlPWcpfWEuc2V0KGQsZSk7cmV0dXJuIGV9LEpsPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM7Zm9yKGMgaW4gYSliW2NdPWFbY107cmV0dXJuIGJ9LEtsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yj8tMTphPmI/MTowfSxMbD1mdW5jdGlvbihhLGIpe3ZhciBjPTA7YT0oMCxfLkFjKShTdHJpbmcoYSkpLnNwbGl0KCIuIik7Yj0oMCxfLkFjKShTdHJpbmcoYikpLnNwbGl0KCIuIik7Zm9yKHZhciBkPU1hdGgubWF4KGEubGVuZ3RoLGIubGVuZ3RoKSxlPTA7Yz09MCYmZTxkO2UrKyl7dmFyIGY9YVtlXXx8IiIsZz1iW2VdfHwiIjtkb3tmPS8oXGQqKShcRCopKC4qKS8uZXhlYyhmKXx8WyIiLCIiLCIiLAoiIl07Zz0vKFxkKikoXEQqKSguKikvLmV4ZWMoZyl8fFsiIiwiIiwiIiwiIl07aWYoZlswXS5sZW5ndGg9PTAmJmdbMF0ubGVuZ3RoPT0wKWJyZWFrO2M9S2woZlsxXS5sZW5ndGg9PTA/MDpwYXJzZUludChmWzFdLDEwKSxnWzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KGdbMV0sMTApKXx8S2woZlsyXS5sZW5ndGg9PTAsZ1syXS5sZW5ndGg9PTApfHxLbChmWzJdLGdbMl0pO2Y9ZlszXTtnPWdbM119d2hpbGUoYz09MCl9cmV0dXJuIGN9LE1sPWZ1bmN0aW9uKGEpe2lmKC9eKHNjcmlwdHxzdHlsZSkkL2kudGVzdChhLnRhZ05hbWUpKXRocm93IEVycm9yKCJ0Iik7fSxObD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5wbClyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fSxPbD1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKS5yZXBsYWNlKC8nL2csCiImYXBvczsiKX0sUGw9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLkRjP2E6Xy5tbChPbChTdHJpbmcoYSkpKX0sUWw9ZnVuY3Rpb24oYSl7dmFyIGI9e25vbmNlOl8uT2EoInNjcmlwdCIsZG9jdW1lbnQpfTthPV8uUmEoYSkudG9TdHJpbmcoKTt2YXIgYz0iPHNjcmlwdCI7aWYoYj09bnVsbD8wOmIuaWQpYys9JyBpZD0iJytPbChiLmlkKSsnIic7aWYoYj09bnVsbD8wOmIubm9uY2UpYys9JyBub25jZT0iJytPbChiLm5vbmNlKSsnIic7aWYoYj09bnVsbD8wOmIudHlwZSljKz0nIHR5cGU9IicrT2woYi50eXBlKSsnIic7aWYoYj09bnVsbD8wOmIuZGVmZXIpYys9IiBkZWZlciI7cmV0dXJuIF8ubWwoYysoIj4iK2ErIlx4M2Mvc2NyaXB0PiIpKX0sUmw9ZnVuY3Rpb24oYSl7dmFyIGI9UGwoIiIpO3JldHVybiBfLm1sKGEubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBfLmtqKFBsKGMpKX0pLmpvaW4oXy5raihiKS50b1N0cmluZygpKSl9LFNsPWZ1bmN0aW9uKGEpe3JldHVybiBSbChhKX0sClZsPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iIixjPU9iamVjdC5rZXlzKGEpLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9Y1tkXSxmPWFbZV07aWYoIVRsLnRlc3QoZSkpdGhyb3cgRXJyb3IoInQiKTtpZihmIT09dm9pZCAwJiZmIT09bnVsbCl7aWYoL15vbi4vaS50ZXN0KGUpKXRocm93IEVycm9yKCJ0Iik7VWwuaW5kZXhPZihlLnRvTG93ZXJDYXNlKCkpIT09LTEmJihmPV8uRWcoU3RyaW5nKGYpKXx8ImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7Zj1lKyc9IicrUGwoU3RyaW5nKGYpKSsnIic7Yis9IiAiK2Z9fXJldHVybiBifSxZbD1mdW5jdGlvbihhKXt2YXIgYj17fTtpZighVGwudGVzdCgiYm9keSIpKXRocm93IEVycm9yKCJ0Iik7aWYoV2wuaW5kZXhPZigiQk9EWSIpIT09LTEpdGhyb3cgRXJyb3IoInQiKTt2YXIgYz0iPGJvZHkiO2ImJihjKz1WbChiKSk7QXJyYXkuaXNBcnJheShhKXx8KGE9YT09PXZvaWQgMD9bXTpbYV0pO1hsLmluZGV4T2YoIkJPRFkiKSE9PS0xPwpjKz0iPiI6KGE9U2woYS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQgaW5zdGFuY2VvZiBfLkRjP2Q6UGwoU3RyaW5nKGQpKX0pKSxjKz0iPiIrYS50b1N0cmluZygpKyI8L2JvZHk+Iik7cmV0dXJuIF8ubWwoYyl9LFpsPWZ1bmN0aW9uKGEpe3RoaXMuaD10aGlzLkI9dGhpcy5sPSIiO3RoaXMuQz1udWxsO3RoaXMuQT10aGlzLmo9IiI7dGhpcy5vPSExO3ZhciBiO2EgaW5zdGFuY2VvZiBabD8odGhpcy5vPWEubywkbCh0aGlzLGEubCksdGhpcy5CPWEuQixhbSh0aGlzLGEuaCksYm0odGhpcyxhLkMpLGNtKHRoaXMsYS5qKSxkbSh0aGlzLGVtKGEuZykpLHRoaXMuQT1hLkEpOmEmJihiPVN0cmluZyhhKS5tYXRjaChfLnJmKSk/KHRoaXMubz0hMSwkbCh0aGlzLGJbMV18fCIiLCEwKSx0aGlzLkI9Zm0oYlsyXXx8IiIpLGFtKHRoaXMsYlszXXx8IiIsITApLGJtKHRoaXMsYls0XSksY20odGhpcyxiWzVdfHwiIiwhMCksZG0odGhpcyxiWzZdfHwiIiwhMCksdGhpcy5BPWZtKGJbN118fCIiKSk6Cih0aGlzLm89ITEsdGhpcy5nPW5ldyBnbShudWxsLHRoaXMubykpfSxobT1mdW5jdGlvbihhKXtyZXR1cm4gXy55YShhKT9hLlRiJiYoYT1hLlRiKCksYSBpbnN0YW5jZW9mIF8uRGMpP2E6UGwoInpTb3l6Iik6UGwoU3RyaW5nKGEpKX0saW09ZnVuY3Rpb24oYSxiKXtiJiZiLmg/Yi5oKGEpOihiPWhtKGIpLGEuaW5uZXJIVE1MPV8ua2ooYikpfSxrbT1mdW5jdGlvbihhLGIpe2E6aWYoYj1hKGJ8fGptLHZvaWQgMCksYT1fLmxiKCksYiYmYi5nP2E9Yi5nKCk6KGE9YS5jcmVhdGVFbGVtZW50KCJESVYiKSxiPWhtKGIpLGEuaW5uZXJIVE1MPV8ua2ooYikpLGEuY2hpbGROb2Rlcy5sZW5ndGg9PTEmJihiPWEuZmlyc3RDaGlsZCxiLm5vZGVUeXBlPT0xKSl7YT1iO2JyZWFrIGF9cmV0dXJuIGF9LG1tPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIik7YT1sbShhLGIpO2I9Yi5ib2R5O2IuYXBwZW5kQ2hpbGQoYSk7Yj0obmV3IFhNTFNlcmlhbGl6ZXIpLnNlcmlhbGl6ZVRvU3RyaW5nKGIpOwpiPWIuc2xpY2UoYi5pbmRleE9mKCI+IikrMSxiLmxhc3RJbmRleE9mKCI8LyIpKTtyZXR1cm4gXy5tbChiKX0sbm09ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBFcnJvcigpO3JldHVybiBhfSxvbT1mdW5jdGlvbihhLGIsYyl7aWYoYilyZXR1cm4gbm0oYSk7dmFyIGQ7cmV0dXJuKGQ9Xy5waShhKSkhPW51bGw/ZDpjPyIiOnZvaWQgMH0scm09ZnVuY3Rpb24oKXtyZXR1cm4gcG18fChwbT1uZXcgXy55aChfLlRnKFtdKSx2b2lkIDAsdm9pZCAwLHZvaWQgMCxxbSkpfSxzbT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLkosZj1lW18uSF18MDtjPV8uV2coYSxmKT8xOmM7ZD0hIWR8fGM9PT0zO2M9PT0yJiZfLnFpKGEpJiYoZT1hLkosZj1lW18uSF18MCk7YT1fLkJpKGUsYik7dmFyIGc9YT09PV8uVGg/NzphW18uSF18MCxoPV8uQ2koZyxmKTt2YXIgaz00Jmg/ITE6ITA7aWYoayl7NCZoJiYoYT1fLm1pKGEpLGc9MCxoPV8uRGkoaCxmKSxmPV8udGkoZSwKZixiLGEpKTtmb3IodmFyIGw9MCxuPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBxPV8ucGkoYVtsXSk7cSE9bnVsbCYmKGFbbisrXT1xKX1uPGwmJihhLmxlbmd0aD1uKTtoPShofDQpJi01MTM7aCY9LTEwMjU7aCY9LTQwOTd9aCE9PWcmJihfLlNnKGEsaCksMiZoJiZPYmplY3QuZnJlZXplKGEpKTtyZXR1cm4gYT1fLkZpKGEsaCxlLGYsYixjLGssZCl9LHVtPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRtOyFkJiZfLnFpKGEpJiYoYj1hLkosYz1iW18uSF18MCk7dmFyIGY9Xy51aShiLDEpO2E9ITE7aWYoZj09bnVsbCl7aWYoZClyZXR1cm4gcm0oKTtmPVtdfWVsc2UgaWYoZi5jb25zdHJ1Y3Rvcj09PV8ueWgpaWYoZi5LYiYyJiYhZClmPV8uemgoZik7ZWxzZSByZXR1cm4gZjtlbHNlIEFycmF5LmlzQXJyYXkoZik/YT0hISgoZltfLkhdfDApJjIpOmY9W107aWYoZCl7aWYoIWYubGVuZ3RoKXJldHVybiBybSgpO2F8fChhPSEwLF8uVGcoZikpfWVsc2UgaWYoYSl7YT0hMTtfLlVnKGYpOwpkPV8ubWkoZik7Zm9yKGY9MDtmPGQubGVuZ3RoO2YrKyl7dmFyIGc9ZFtmXT1fLm1pKGRbZl0pO0FycmF5LmlzQXJyYXkoZ1sxXSkmJihnWzFdPV8uVGcoZ1sxXSkpfWY9Xy5VZyhkKX0hYSYmYyYzMiYmXy5saShmKTtlPW5ldyBfLnloKGYsZSxvbSx2b2lkIDApO2M9Xy50aShiLGMsMSxlKTthfHxfLnNpKGIsYyk7cmV0dXJuIGV9LHZtPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMudG9wPWE7dGhpcy5yaWdodD1iO3RoaXMuYm90dG9tPWM7dGhpcy5sZWZ0PWR9LHdtPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMubGVmdD1hO3RoaXMudG9wPWI7dGhpcy53aWR0aD1jO3RoaXMuaGVpZ2h0PWR9LHhtPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9YS5sZW5ndGgsZT0wLGY9W10sZyxoLGs9MDtrPGQ7KXtzd2l0Y2goZSl7Y2FzZSAwOnZhciBsPWEuaW5kZXhPZigiPCIsayk7aWYobDwwKXtpZihjLmxlbmd0aD09PTApcmV0dXJuIGE7Yy5wdXNoKGEuc3Vic3RyaW5nKGspKTtrPWR9ZWxzZSBjLnB1c2goYS5zdWJzdHJpbmcoaywKbCkpLGg9bCxrPWwrMSxfLnZsPyhfLndsLmxhc3RJbmRleD1rLGw9Xy53bC5leGVjKGEpKTooXy53bC5sYXN0SW5kZXg9MCxsPV8ud2wuZXhlYyhhLnN1YnN0cmluZyhrKSkpLGw/KGY9WyI8IixsWzBdXSxnPWxbMV0sZT0xLGsrPWxbMF0ubGVuZ3RoKTpjLnB1c2goIjwiKTticmVhaztjYXNlIDE6bD1hLmNoYXJBdChrKyspO3N3aXRjaChsKXtjYXNlICInIjpjYXNlICciJzp2YXIgbj1hLmluZGV4T2YobCxrKTtuPDA/az1kOihmLnB1c2gobCxhLnN1YnN0cmluZyhrLG4rMSkpLGs9bisxKTticmVhaztjYXNlICI+IjpmLnB1c2gobCk7Yy5wdXNoKGIoZi5qb2luKCIiKSxnKSk7ZT0wO2Y9W107aD1nPW51bGw7YnJlYWs7ZGVmYXVsdDpmLnB1c2gobCl9YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31lPT09MSYmaz49ZCYmKGs9aCsxLGMucHVzaCgiPCIpLGU9MCxmPVtdLGg9Zz1udWxsKX1yZXR1cm4gYy5qb2luKCIiKX0sRG09ZnVuY3Rpb24oKXt2YXIgYT15bShfLmpsKF8uaWwoem0oKSwKZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0pLk1jKCkpKSxiPUFtKCkubWFwKGZ1bmN0aW9uKGMpe3ZhciBkO2E6e3ZhciBlPWMubztpZihlPT1udWxsKWM9bnVsbDtlbHNlIGlmKHR5cGVvZiBlPT09Im51bWJlciIpYz1lO2Vsc2V7aWYodHlwZW9mIGU9PT0ic3RyaW5nIil7dmFyIGY9TnVtYmVyKGUpO2lmKCFpc05hTihmKSYmKGYhPT0wfHxlLnRyaW0oKS5sZW5ndGghPT0wKSl7Yz1mO2JyZWFrIGF9fXRocm93IEJtKGMsIm51bWJlciIpO319cmV0dXJuKGQ9YykhPW51bGw/ZDowfSkuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBjPjB9KTtiLmxlbmd0aD4wJiYoYj1DbShiKSxhLmc9Yik7cmV0dXJuIF8ua2woYSl9LEVtPWZ1bmN0aW9uKGEpe3JldHVybiJ0cmFuc2xhdGU6IithfSxLbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRm07Yj1fLlRqKGIsMSxhLm5hbWUpO3ZhciBjPUdtKGEuc3RhcnRUaW1lKTtiPV8uTChiLDIsYyk7YT1IbShhLmR1cmF0aW9uKTthPV8uTChiLDMsYSk7Yj1uZXcgSW07CnJldHVybiBKbShhLDUsYil9LEdtPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBMbTtiLnNldFNlY29uZHMoTWF0aC5mbG9vcihhLzFFMykpO2E9TWF0aC5yb3VuZChhJTFFMyoxRTYpO18uR2koYiwyLGE9PW51bGw/YTpfLkJqKGEpLDApO3JldHVybiBifSxIbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgTW07Yi5zZXRTZWNvbmRzKE1hdGguZmxvb3IoYS8xRTMpKTthPU1hdGgucm91bmQoYSUxRTMqMUU2KTtfLkdpKGIsMixhPT1udWxsP2E6Xy5CaihhKSwwKTtyZXR1cm4gYn0sTm09ZnVuY3Rpb24oYSl7cmV0dXJuIHBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tYXJrJiYoYT1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKGEsIm1hcmsiKSxhLmxlbmd0aD09MSk/YVswXTpudWxsfSxPbT1mdW5jdGlvbihhLGIpe3JldHVybiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UubWVhc3VyZT9wZXJmb3JtYW5jZS5tZWFzdXJlKGEsYil8fG51bGw6bnVsbH0sUm09ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPQpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO2Quc3BsaWNlKDAsMik7ZD0ibCIrYS50b1N0cmluZygxNikrImkiK2IudG9TdHJpbmcoMTYpKyhkLmxlbmd0aD8iLSIrZC5qb2luKCJfIik6IiIpO1BtP1BtLnB1c2goZCk6UW0oZCl9LFZtPWZ1bmN0aW9uKCl7dmFyIGE9U218fChTbT1UbSgnW251bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiKGZ1bmN0aW9uKCl7XCd1c2Ugc3RyaWN0XCc7dmFyIGZcXHUwMDNkdHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzXFx1MDAzZFxcdTAwM2RcXCJmdW5jdGlvblxcIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxjLGIpe2lmKGFcXHUwMDNkXFx1MDAzZEFycmF5LnByb3RvdHlwZXx8YVxcdTAwM2RcXHUwMDNkT2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2NdXFx1MDAzZGIudmFsdWU7cmV0dXJuIGF9O2Z1bmN0aW9uIGcoYSl7YVxcdTAwM2RbXFwib2JqZWN0XFwiXFx1MDAzZFxcdTAwM2R0eXBlb2YgZ2xvYmFsVGhpc1xcdTAwMjZcXHUwMDI2Z2xvYmFsVGhpcyxhLFxcIm9iamVjdFxcIlxcdTAwM2RcXHUwMDNkdHlwZW9mIHdpbmRvd1xcdTAwMjZcXHUwMDI2d2luZG93LFxcIm9iamVjdFxcIlxcdTAwM2RcXHUwMDNkdHlwZW9mIHNlbGZcXHUwMDI2XFx1MDAyNnNlbGYsXFwib2JqZWN0XFwiXFx1MDAzZFxcdTAwM2R0eXBlb2YgZ2xvYmFsXFx1MDAyNlxcdTAwMjZnbG9iYWxdO2Zvcih2YXIgY1xcdTAwM2QwO2NcXHUwMDNjYS5sZW5ndGg7KytjKXt2YXIgYlxcdTAwM2RhW2NdO2lmKGJcXHUwMDI2XFx1MDAyNmIuTWF0aFxcdTAwM2RcXHUwMDNkTWF0aClyZXR1cm4gYn10aHJvdyBFcnJvcihcXCJDYW5ub3QgZmluZCBnbG9iYWwgb2JqZWN0XFwiKTt9dmFyIGhcXHUwMDNkZyh0aGlzKTtcXG5mdW5jdGlvbiBrKGEsYyl7aWYoYylhOnt2YXIgYlxcdTAwM2RoO2FcXHUwMDNkYS5zcGxpdChcXCIuXFwiKTtmb3IodmFyIGRcXHUwMDNkMDtkXFx1MDAzY2EubGVuZ3RoLTE7ZCsrKXt2YXIgZVxcdTAwM2RhW2RdO2lmKCEoZSBpbiBiKSlicmVhayBhO2JcXHUwMDNkYltlXX1hXFx1MDAzZGFbYS5sZW5ndGgtMV07ZFxcdTAwM2RiW2FdO2NcXHUwMDNkYyhkKTtjIVxcdTAwM2RkXFx1MDAyNlxcdTAwMjZjIVxcdTAwM2RudWxsXFx1MDAyNlxcdTAwMjZmKGIsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX19ayhcXCJnbG9iYWxUaGlzXFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxofSk7LypcXG5cXG4gQ29weXJpZ2h0IEdvb2dsZSBMTENcXG4gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcXG4qL1xcbnZhciBsXFx1MDAzZGdsb2JhbFRoaXMudHJ1c3RlZFR5cGVzLG07ZnVuY3Rpb24gbigpe3ZhciBhXFx1MDAzZG51bGw7aWYoIWwpcmV0dXJuIGE7dHJ5e3ZhciBjXFx1MDAzZGZ1bmN0aW9uKGIpe3JldHVybiBifTthXFx1MDAzZGwuY3JlYXRlUG9saWN5KFxcImdvb2cjaHRtbFxcIix7Y3JlYXRlSFRNTDpjLGNyZWF0ZVNjcmlwdDpjLGNyZWF0ZVNjcmlwdFVSTDpjfSl9Y2F0Y2goYil7fXJldHVybiBhfTtmdW5jdGlvbiBwKGEpe3RoaXMuZ1xcdTAwM2RhfXAucHJvdG90eXBlLnRvU3RyaW5nXFx1MDAzZGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZytcXCJcXCJ9O2Z1bmN0aW9uIHEoYSl7bVxcdTAwM2RcXHUwMDNkXFx1MDAzZHZvaWQgMFxcdTAwMjZcXHUwMDI2KG1cXHUwMDNkbigpKTthXFx1MDAzZG0/bS5jcmVhdGVTY3JpcHRVUkwoYSk6YTtyZXR1cm4gbmV3IHAoYSl9O2lmKCFmdW5jdGlvbigpe2lmKHNlbGYub3JpZ2luKXJldHVybiBzZWxmLm9yaWdpblxcdTAwM2RcXHUwMDNkXFx1MDAzZFxcIm51bGxcXCI7aWYobG9jYXRpb24uaG9zdCFcXHUwMDNkXFx1MDAzZFxcIlxcIilyZXR1cm4hMTt0cnl7cmV0dXJuIHdpbmRvdy5wYXJlbnQuZXNjYXBlKFxcIlxcIiksITF9Y2F0Y2goYSl7cmV0dXJuITB9fSgpKXRocm93IEVycm9yKFxcInNhbmRib3hpbmcgZXJyb3JcXCIpO1xcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFxcIm1lc3NhZ2VcXCIsZnVuY3Rpb24oYSl7dmFyIGNcXHUwMDNkYS5wb3J0c1swXTthXFx1MDAzZGEuZGF0YTt2YXIgYlxcdTAwM2RhLmNhbGxiYWNrTmFtZS5zcGxpdChcXCIuXFwiKSxkXFx1MDAzZHdpbmRvdztiWzBdXFx1MDAzZFxcdTAwM2RcXHUwMDNkXFwid2luZG93XFwiXFx1MDAyNlxcdTAwMjZiLnNoaWZ0KCk7Zm9yKHZhciBlXFx1MDAzZDA7ZVxcdTAwM2NiLmxlbmd0aC0xO2UrKylkW2JbZV1dXFx1MDAzZHt9LGRcXHUwMDNkZFtiW2VdXTtkW2JbYi5sZW5ndGgtMV1dXFx1MDAzZGZ1bmN0aW9uKHIpe2MucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkocikpfTtiXFx1MDAzZGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXFwic2NyaXB0XFwiKTthXFx1MDAzZHEoYS51cmwpO2lmKGEgaW5zdGFuY2VvZiBwKWFcXHUwMDNkYS5nO2Vsc2UgdGhyb3cgRXJyb3IoXFwiXFwiKTtiLnNyY1xcdTAwM2RhO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYil9LCEwKTt9KS5jYWxsKHRoaXMpO1xcbiJdJykpOwppZighYSlyZXR1cm4gbnVsbDthPV8ucGkoXy5aaShhLDYsdm9pZCAwLFVtKSk7dmFyIGI7YT09PW51bGx8fGE9PT12b2lkIDA/Yj1udWxsOmI9Xy5RYShhKTtyZXR1cm4gYn0sV209ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1fLkMoYSk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSljPWMudmFsdWUsYltjLmxhbmd1YWdlXT1jLm5hbWU7cmV0dXJuIGJ9LFhtPWZ1bmN0aW9uKCl7fSxZbT1mdW5jdGlvbihhLGIpe18uaGIuY2FsbCh0aGlzKTt0aGlzLmw9bmV3IF8uSGIodGhpcyk7dGhpcy5RYihhfHxudWxsKTtiJiYodGhpcy5VYj1iKX0sYm49ZnVuY3Rpb24oYSl7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuZz1hO3RoaXMuaD1fLngodGhpcy5nLCJmb2N1cyIsdGhpcywhMCk7dGhpcy5qPV8ueCh0aGlzLmcsImJsdXIiLHRoaXMsITApfSxjbj1mdW5jdGlvbigpe30sZG49ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZWxlbWVudD1hO3RoaXMuaj1iO3RoaXMubD1jfSxlbj1mdW5jdGlvbihhLApiKXt0aGlzLmc9YSBpbnN0YW5jZW9mIHpsP2E6bmV3IHpsKGEsYil9LGZuPWZ1bmN0aW9uKGEsYil7dGhpcy5vPWJ8fHZvaWQgMDtZbS5jYWxsKHRoaXMsYSl9LE89ZnVuY3Rpb24oYSxiLGMpe3RoaXMuRz1jfHwoYT9fLmxiKGduKGEpKTpfLmxiKCkpO2ZuLmNhbGwodGhpcyx0aGlzLkcuUygiRElWIix7c3R5bGU6InBvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTsifSkpO3RoaXMucmE9bmV3IHpsKDEsMSk7dGhpcy5BPW5ldyBTZXQ7dGhpcy5DPW51bGw7YSYmdGhpcy5hdHRhY2goYSk7YiE9bnVsbCYmdGhpcy5LYShiKX0saG49ZnVuY3Rpb24oYSl7YT1hLmNsYXNzTmFtZTtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIiYmYS5tYXRjaCgvXFMrL2cpfHxbXX0sa249ZnVuY3Rpb24oYSxiKXt2YXIgYz1obihhKSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPWMubGVuZ3RoK2QubGVuZ3RoO2puKGMsZCk7YS5jbGFzc05hbWU9Yy5qb2luKCIgIik7CnJldHVybiBjLmxlbmd0aD09ZX0sbW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1obihhKSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPWxuKGMsZCk7YS5jbGFzc05hbWU9ZS5qb2luKCIgIik7cmV0dXJuIGUubGVuZ3RoPT1jLmxlbmd0aC1kLmxlbmd0aH0sam49ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoO2MrKylfLnRhKGEsYltjXSl8fGEucHVzaChiW2NdKX0sbG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIV8udGEoYixjKX0pfSxubj1mdW5jdGlvbihhLGIpe3JldHVybiBfLnRhKGhuKGEpLGIpfSxvbj1mdW5jdGlvbihhLGIsYyl7Yz9rbihhLGIpOm1uKGEsYil9LHRuPWZ1bmN0aW9uKGEpe3JldHVybiBwbihuZXcgcW4sc20oYSwxLF8uYWooKSkubWFwKGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bmV3IHJuO2I9c24oZCwxLGIpO2lmKHNtKGEsMixfLmFqKCkpLmxlbmd0aD5jKXtkPXNtKGEsMiwKMywhMCk7aWYodHlwZW9mIGMhPT0ibnVtYmVyInx8YzwwfHxjPj1kLmxlbmd0aCl0aHJvdyBFcnJvcigpO3NuKGIsMyxkW2NdKX1yZXR1cm4gYn0pKX0sdW49ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHJuO2I9c24oYiwxLGFbMF0pO2EubGVuZ3RoPT09MyYmc24oYiwzLGFbMl0pO3JldHVybiBifSx2bj1mdW5jdGlvbihhKXtyZXR1cm4gXy5jaihhLHJuLDEpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gXy5OKGIsMyk/W18uTihiLDEpLDIwMCxfLk4oYiwzKV06W18uTihiLDEpLDIwMF19KX0sd249ZnVuY3Rpb24oKXt9LHhuPWZ1bmN0aW9uKGEpe18uaGIuY2FsbCh0aGlzKTt0aGlzLmg9YXx8Xy5sYigpO3RoaXMubGE9bnVsbDt0aGlzLmpiPSExO3RoaXMuQz1udWxsO3RoaXMuTz12b2lkIDA7dGhpcy5SPXRoaXMuRj10aGlzLks9bnVsbDt0aGlzLndhPSExfSx5bj1mdW5jdGlvbihhKXt2YXIgYj1fLmxiKCksYz1iLmcsZD1iLmNyZWF0ZUVsZW1lbnQoIlNUWUxFIiksZT1fLk9hKCJzdHlsZSIsCmMpO2UmJmQuc2V0QXR0cmlidXRlKCJub25jZSIsZSk7ZC50eXBlPSJ0ZXh0L2NzcyI7Yj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJIRUFEIilbMF07ZC5zdHlsZVNoZWV0P2Quc3R5bGVTaGVldC5jc3NUZXh0PWE6ZC5hcHBlbmRDaGlsZChjLmNyZWF0ZVRleHROb2RlKGEpKTtiLmFwcGVuZENoaWxkKGQpO3JldHVybiBkfSxDbj1mdW5jdGlvbigpe2Zvcih2YXIgYSBpbiBPYmplY3QucHJvdG90eXBlKXtfLnpjPWZ1bmN0aW9uKGQsZSxmKXtmb3IodmFyIGcgaW4gZClkW2ddIT09T2JqZWN0LnByb3RvdHlwZVtnXSYmZS5jYWxsKGYsZFtnXSxnLGQpfTticmVha312YXIgYj1EYXRlLm5vdygpLGM9em4oQW4pO2MmJnR5cGVvZiBjPT0iZnVuY3Rpb24iJiYoQm49PTE/YygpOmZ1bmN0aW9uIGUoKXt2YXIgZj1kb2N1bWVudC5yZWFkeVN0YXRlO18ub2MoZik9PSJ1bmRlZmluZWQifHxmPT0iY29tcGxldGUifHxmPT0iaW50ZXJhY3RpdmUifHxEYXRlLm5vdygpLWI+PTJFND9jKCk6d2luZG93LnNldFRpbWVvdXQoZSwKNTAwKX0oKSl9O18ubT16bC5wcm90b3R5cGU7Xy5tLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIHpsJiYodGhpcz09YT8hMDp0aGlzJiZhP3RoaXMueD09YS54JiZ0aGlzLnk9PWEueTohMSl9O18ubS5jZWlsPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguY2VpbCh0aGlzLngpO3RoaXMueT1NYXRoLmNlaWwodGhpcy55KTtyZXR1cm4gdGhpc307Xy5tLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTtfLm0ucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9OwpfLm0udHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIHpsPyh0aGlzLngrPWEueCx0aGlzLnkrPWEueSk6KHRoaXMueCs9TnVtYmVyKGEpLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnkrPWIpKTtyZXR1cm4gdGhpc307CnZhciBEbj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IHpsKGEueCxhLnkpfSxFbj1bImRhdGE6IiwiaHR0cDoiLCJodHRwczoiLCJtYWlsdG86IiwiZnRwOiJdLEZuPWZ1bmN0aW9uKGEpe3ZhciBiPTE7YT1hLnNwbGl0KCI6Iik7Zm9yKHZhciBjPVtdO2I+MCYmYS5sZW5ndGg7KWMucHVzaChhLnNoaWZ0KCkpLGItLTthLmxlbmd0aCYmYy5wdXNoKGEuam9pbigiOiIpKTtyZXR1cm4gY30sR249ZnVuY3Rpb24oYSxiLGMpe2M9YS5nLmdldChjKTtyZXR1cm4oYz09bnVsbD8wOmMuaGFzKGIpKT9jLmdldChiKTphLmwuaGFzKGIpP3t1YToxfTooYz1hLm8uZ2V0KGIpKT9jOmEuaCYmW10uY29uY2F0KF8uJGIoYS5oKSkuc29tZShmdW5jdGlvbihkKXtyZXR1cm4gYi5pbmRleE9mKGQpPT09MH0pP3t1YToxfTp7dWE6MH19LEhuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1DbChiKTtjPWMuY3JlYXRlRWxlbWVudChkKTtiPWIuYXR0cmlidXRlcztmb3IodmFyIGU9Xy5DKGIpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPQplLm5leHQoKSl7dmFyIGc9Zi52YWx1ZTtmPWcubmFtZTtnPWcudmFsdWU7dmFyIGg9R24oYS5nLGYsZCksazthOntpZihrPWguY29uZGl0aW9ucyl7az1fLkMoayk7Zm9yKHZhciBsPWsubmV4dCgpOyFsLmRvbmU7bD1rLm5leHQoKSl7dmFyIG49Xy5DKGwudmFsdWUpO2w9bi5uZXh0KCkudmFsdWU7bj1uLm5leHQoKS52YWx1ZTt2YXIgcT12b2lkIDA7aWYoKGw9KHE9Yi5nZXROYW1lZEl0ZW0obCkpPT1udWxsP3ZvaWQgMDpxLnZhbHVlKSYmIW4uaGFzKGwpKXtrPSExO2JyZWFrIGF9fX1rPSEwfWlmKGspc3dpdGNoKGgudWEpe2Nhc2UgMTpFbChjLGYsZyk7YnJlYWs7Y2FzZSAyOnRocm93IEVycm9yKCk7Y2FzZSAzOkVsKGMsZixnLnRvTG93ZXJDYXNlKCkpO2JyZWFrO2Nhc2UgNDpFbChjLGYsZyk7YnJlYWs7Y2FzZSA1OkVsKGMsZixnKTticmVhaztjYXNlIDY6RWwoYyxmLGcpO2JyZWFrO2Nhc2UgNzphOmlmKGg9dm9pZCAwLGs9ZyxfLkNjKXt0cnl7aD1uZXcgVVJMKGspfWNhdGNoKHApe2g9CiJodHRwczoiO2JyZWFrIGF9aD1oLnByb3RvY29sfWVsc2UgYjp7aD1rO2s9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3RyeXtrLmhyZWY9aH1jYXRjaChwKXtoPXZvaWQgMDticmVhayBifWg9ay5wcm90b2NvbDtoPWg9PT0iOiJ8fGg9PT0iIj8iaHR0cHM6IjpofWc9aCE9PXZvaWQgMCYmRW4uaW5kZXhPZihoLnRvTG93ZXJDYXNlKCkpIT09LTE/ZzoiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXoiO0VsKGMsZixnKX19cmV0dXJuIGN9LGxtPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5xZDthPUJsKGEsYik7YT1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGEsNSxmdW5jdGlvbihoKXtpZihoLm5vZGVUeXBlPT09MyloPTE7ZWxzZSBpZihEbChoKSlpZihoPUNsKGgpLGg9PT1udWxsKWg9MjtlbHNle3ZhciBrPWMuZztoPWghPT0iRk9STSImJihrLmouaGFzKGgpfHxrLmcuaGFzKGgpKT8xOjJ9ZWxzZSBoPTI7cmV0dXJuIGh9KTtmb3IodmFyIGQ9YS5uZXh0Tm9kZSgpLGU9Yi5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksCmY9ZTtkIT09bnVsbDspe3ZhciBnPXZvaWQgMDtpZihkLm5vZGVUeXBlPT09MylnPWMuY3JlYXRlVGV4dE5vZGUoZC5kYXRhKTtlbHNlIGlmKERsKGQpKWc9SG4oYyxkLGIpO2Vsc2UgdGhyb3cgRXJyb3IoInQiKTtmLmFwcGVuZENoaWxkKGcpO2lmKGQ9YS5maXJzdENoaWxkKCkpZj1nO2Vsc2UgZm9yKDshKGQ9YS5uZXh0U2libGluZygpKSYmKGQ9YS5wYXJlbnROb2RlKCkpOylmPWYucGFyZW50Tm9kZX1yZXR1cm4gZX0sSW49ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYj1iJiZiIT0iKiI/U3RyaW5nKGIpLnRvVXBwZXJDYXNlKCk6IiIpP2EucXVlcnlTZWxlY3RvckFsbChiKTphLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIil9LEpuPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNjcm9sbGluZ0VsZW1lbnQ/YS5zY3JvbGxpbmdFbGVtZW50Ol8uVmN8fGEuY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP2EuYm9keXx8YS5kb2N1bWVudEVsZW1lbnQ6YS5kb2N1bWVudEVsZW1lbnR9LEtuPWZ1bmN0aW9uKGEpe3ZhciBiPQpKbihhKTthPWEuZGVmYXVsdFZpZXc7cmV0dXJuIG5ldyB6bCgoYT09bnVsbD92b2lkIDA6YS5wYWdlWE9mZnNldCl8fGIuc2Nyb2xsTGVmdCwoYT09bnVsbD92b2lkIDA6YS5wYWdlWU9mZnNldCl8fGIuc2Nyb2xsVG9wKX0sTG49ZnVuY3Rpb24oYSl7dmFyIGI9e307YT0oYS5nJiYoYS5nP2EuZy5yZWFkeVN0YXRlOjApPj0yP2EuZy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKXx8IiI6IiIpLnNwbGl0KCJcclxuIik7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspaWYoIS9eW1xzXHhhMF0qJC8udGVzdChhW2NdKSl7dmFyIGQ9Rm4oYVtjXSksZT1kWzBdO2Q9ZFsxXTtpZih0eXBlb2YgZD09PSJzdHJpbmciKXtkPWQudHJpbSgpO3ZhciBmPWJbZV18fFtdO2JbZV09ZjtmLnB1c2goZCl9fXJldHVybiBBbChiLGZ1bmN0aW9uKGcpe3JldHVybiBnLmpvaW4oIiwgIil9KX0sTW49WzQsNSw2XSxKbT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9TW47Yz1fLkppKGMpO2E6e3ZhciBlPWM7Xy5yaShhKTsKdmFyIGY9YS5KLGc9ZltfLkhdfDA7aWYoZT09bnVsbCl7dmFyIGg9SGwoZik7aWYoSWwoaCxmLGcsZCk9PT1iKWguc2V0KGQsMCk7ZWxzZSBicmVhayBhfWVsc2V7aD1IbChmKTt2YXIgaz1JbChoLGYsZyxkKTtrIT09YiYmKGsmJihnPV8udGkoZixnLGspKSxoLnNldChkLGIpKX1fLnRpKGYsZyxiLGUpfWMmJiFfLldnKGMpJiZfLnNpKGEuSik7cmV0dXJuIGF9LExtPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihMbSxfLkopO0xtLnByb3RvdHlwZS5nZXRTZWNvbmRzPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaGsodGhpcywxKX07TG0ucHJvdG90eXBlLnNldFNlY29uZHM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uR2kodGhpcywxLGE9PW51bGw/YTpfLkpqKGEpLCIwIil9O3ZhciBNbT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoTW0sXy5KKTtNbS5wcm90b3R5cGUuZ2V0U2Vjb25kcz1mdW5jdGlvbigpe3JldHVybiBfLmhrKHRoaXMsMSl9OwpNbS5wcm90b3R5cGUuc2V0U2Vjb25kcz1mdW5jdGlvbihhKXtyZXR1cm4gXy5HaSh0aGlzLDEsYT09bnVsbD9hOl8uSmooYSksIjAiKX07dmFyIE5uPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLktrO3JldHVybiBfLmlrKGIsMTEsYSl9LHptPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IF8uaGwoMTg3MSwiMCIpO2EuQT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20vZWxlbWVudC9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIjtyZXR1cm4gYX0seW09ZnVuY3Rpb24oYSl7YS5oPU9uO3JldHVybiBhfSxJbT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoSW0sXy5KKTt2YXIgUG49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKFBuLF8uSik7dmFyIEZtPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihGbSxfLkopO3ZhciBRbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoUW4sXy5KKTt2YXIgUm49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Cl8uQihSbixfLkopO3ZhciBTbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoU24sXy5KKTt2YXIgVG49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKFRuLF8uSik7CnZhciBVbj1mdW5jdGlvbihhKXtfLnJpKGEpO2E9YS5KO3ZhciBiPWFbXy5IXXwwLGM9Xy51aShhLDExMiksZD12b2lkIDA9PT1fLlhoLGU9Xy5oaChjLFRuLCFkLGIpOyFkfHxlPyhlPV8ua2goZSksYyE9PWUmJihiPV8udGkoYSxiLDExMixlKSxfLnNpKGEsYikpLGE9ZSk6YT12b2lkIDA7cmV0dXJuIGF9LFZuPWZ1bmN0aW9uKGEsYil7YS5VIT09dm9pZCAwP2EuVS5wdXNoKGIpOmEuY29udGVudCs9YjtyZXR1cm4gYX0sV249ZnVuY3Rpb24oYSxiKXthLlUhPT12b2lkIDA/YS5VLnB1c2goYik6YiBpbnN0YW5jZW9mIF8ueGw/Yi5jb250ZW50IT09dm9pZCAwP2EuY29udGVudCs9Yi5tYSgpOihhLlU9W2EuY29udGVudCxiXSxhLmNvbnRlbnQ9dm9pZCAwKTphLmNvbnRlbnQrPWI7cmV0dXJuIGF9LFhuPWZ1bmN0aW9uKGEpe3ZhciBiO2E9Xy5DKChiPWEuVSkhPW51bGw/YjpbXSk7Zm9yKGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWlmKGI9Yi52YWx1ZSxiIGluc3RhbmNlb2YKXy54bCYmWG4oYikpcmV0dXJuITA7cmV0dXJuITF9LFpuPWZ1bmN0aW9uKGEsYil7Yj1ZbihifHx7fSxhLmg/YS5oLmdldERhdGEoKTp7fSk7YS5nKG51bGwsYi5aYik7cmV0dXJuIGIuaigpfSwkbj17fSxhbz1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgemwoYS54LWIueCxhLnktYi55KX0sYm89LyYvZyxjbz0vPC9nLGVvPS8+L2csZm89LyIvZyxnbz0vJy9nLGhvPS9ceDAwL2csaW89L1tceDAwJjw+IiddLyxqbz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC9ceGEwfFsgXHRdKy9nLCIgIil9LGtvPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoL1tcc1x4YTBdKyQvLCIiKX0sbG89ZnVuY3Rpb24oYSl7aW8udGVzdChhKSYmKGEuaW5kZXhPZigiJiIpIT0tMSYmKGE9YS5yZXBsYWNlKGJvLCImYW1wOyIpKSxhLmluZGV4T2YoIjwiKSE9LTEmJihhPWEucmVwbGFjZShjbywiJmx0OyIpKSxhLmluZGV4T2YoIj4iKSE9LTEmJihhPWEucmVwbGFjZShlbywiJmd0OyIpKSxhLmluZGV4T2YoJyInKSE9Ci0xJiYoYT1hLnJlcGxhY2UoZm8sIiZxdW90OyIpKSxhLmluZGV4T2YoIiciKSE9LTEmJihhPWEucmVwbGFjZShnbywiJiMzOTsiKSksYS5pbmRleE9mKCJceDAwIikhPS0xJiYoYT1hLnJlcGxhY2UoaG8sIiYjMDsiKSkpO3JldHVybiBhfSxtbz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC8mKFteO10rKTsvZyxmdW5jdGlvbihiLGMpe3N3aXRjaChjKXtjYXNlICJhbXAiOnJldHVybiImIjtjYXNlICJsdCI6cmV0dXJuIjwiO2Nhc2UgImd0IjpyZXR1cm4iPiI7Y2FzZSAicXVvdCI6cmV0dXJuJyInO2RlZmF1bHQ6cmV0dXJuIGMuY2hhckF0KDApIT0iIyJ8fChjPU51bWJlcigiMCIrYy5zbGljZSgxKSksaXNOYU4oYykpP2I6U3RyaW5nLmZyb21DaGFyQ29kZShjKX19KX0sbm89LyYoW147XHM8Jl0rKTs/L2csb289ZnVuY3Rpb24oYSl7dmFyIGI9eyImYW1wOyI6IiYiLCImbHQ7IjoiPCIsIiZndDsiOiI+IiwiJnF1b3Q7IjonIid9O3ZhciBjPV8udi5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKcmV0dXJuIGEucmVwbGFjZShubyxmdW5jdGlvbihkLGUpe3ZhciBmPWJbZF07aWYoZilyZXR1cm4gZjtlLmNoYXJBdCgwKT09IiMiJiYoZT1OdW1iZXIoIjAiK2Uuc2xpY2UoMSkpLGlzTmFOKGUpfHwoZj1TdHJpbmcuZnJvbUNoYXJDb2RlKGUpKSk7Znx8KGY9Xy5tbChkKyIgIiksYy5ub2RlVHlwZT09PTEmJk1sKGMpLGMuaW5uZXJIVE1MPV8ua2ooZiksZj1jLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnNsaWNlKDAsLTEpKTtyZXR1cm4gYltkXT1mfSl9LHBvPWZ1bmN0aW9uKGEpe3JldHVybiBhLmluZGV4T2YoIiYiKSE9LTE/ImRvY3VtZW50ImluIF8udj9vbyhhKTptbyhhKTphfSxybz1mdW5jdGlvbihhKXt2YXIgYj1xbztyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIjcuMCIpP2JbIjcuMCJdOmJbIjcuMCJdPWEoIjcuMCIpfSxxbz17fSxzbz1mdW5jdGlvbigpe3JldHVybiBybyhmdW5jdGlvbigpe3JldHVybiBMbChfLmpkLCI3LjAiKT49MH0pfSwKVGw9L15bYS16XVthLXpcZC1dKiQvaSxXbD0iQVBQTEVUIEJBU0UgRU1CRUQgSUZSQU1FIExJTksgTUFUSCBNRVRBIE9CSkVDVCBTQ1JJUFQgU1RZTEUgU1ZHIFRFTVBMQVRFIi5zcGxpdCgiICIpLFhsPSJBUkVBIEJSIENPTCBDT01NQU5EIEhSIElNRyBJTlBVVCBLRVlHRU4gUEFSQU0gU09VUkNFIFRSQUNLIFdCUiIuc3BsaXQoIiAiKSxVbD1bImFjdGlvbiIsImZvcm1hY3Rpb24iLCJocmVmIl0sdG89ZnVuY3Rpb24oKXt0aGlzLmc9bmV3IE1hcH07CnRvLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPVBsKCJfc2FmZXZhbHVlc19mb3JtYXRfbWFya2VyXzoiKS50b1N0cmluZygpO2E9UGwoYSkudG9TdHJpbmcoKS5yZXBsYWNlKG5ldyBSZWdFeHAoIlxceyIrYysiW1xcdyYjO10rXFx9IiwiZyIpLGZ1bmN0aW9uKGQpe3ZhciBlO2lmKGU9Yi5nLmdldChkKSl7ZD0iIjtzd2l0Y2goZS50eXBlKXtjYXNlICJodG1sIjpkPWUueGY7YnJlYWs7Y2FzZSAic3RhcnRUYWciOmQ9IjwiK2UudGFnTmFtZStlLmF0dHJpYnV0ZXMrIj4iO2JyZWFrO2Nhc2UgImVuZFRhZyI6ZD0iPC8iK2UudGFnTmFtZSsiPiJ9ZT1kfWVsc2UgZT1kO3JldHVybiBlfSk7cmV0dXJuIF8ubWwoYSl9O3RvLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKGEpe3JldHVybiB1byh0aGlzLHt0eXBlOiJodG1sIix4ZjpQbChhKS50b1N0cmluZygpfSl9Owp2YXIgdW89ZnVuY3Rpb24oYSxiKXt2YXIgYz0ie19zYWZldmFsdWVzX2Zvcm1hdF9tYXJrZXJfOiIrYS5nLnNpemUrIl8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpKyJ9IjthLmcuc2V0KFBsKGMpLnRvU3RyaW5nKCksYik7cmV0dXJuIGN9LGduPWZ1bmN0aW9uKGEpe3JldHVybiBfLnRkKGRvY3VtZW50LGEpfSx2bz1mdW5jdGlvbihhKXt2YXIgYj1hfHxkb2N1bWVudDtiLmdldEVsZW1lbnRzQnlDbGFzc05hbWU/YT1iLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoIlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TIilbMF06KGI9ZG9jdW1lbnQsYT0oYXx8YikucXVlcnlTZWxlY3RvcigiLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TIikpO3JldHVybiBhfHxudWxsfSx3bz1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8ueWQoZG9jdW1lbnQsYXJndW1lbnRzKX0seG89ZnVuY3Rpb24oYSxiKXtiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwKYi5uZXh0U2libGluZyl9LHlvPWZ1bmN0aW9uKGEpe3JldHVybiBfLnlhKGEpJiZhLm5vZGVUeXBlPT0xfSx6bz1mdW5jdGlvbihhKXtyZXR1cm4gYS5jb250ZW50RG9jdW1lbnR8fGEuY29udGVudFdpbmRvdy5kb2N1bWVudH0sQW89ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLmNvbnRlbnRXaW5kb3d8fChhLmNvbnRlbnREb2N1bWVudD9fLm1iKGEuY29udGVudERvY3VtZW50KTpudWxsKX1jYXRjaChiKXt9cmV0dXJuIG51bGx9LEJvPXtTQ1JJUFQ6MSxTVFlMRToxLEhFQUQ6MSxJRlJBTUU6MSxPQkpFQ1Q6MX0sQ289e0lNRzoiICIsQlI6IlxuIn0sRG89ZnVuY3Rpb24oYSxiLGMpe2lmKCEoYS5ub2RlTmFtZSBpbiBCbykpaWYoYS5ub2RlVHlwZT09MyljP2IucHVzaChTdHJpbmcoYS5ub2RlVmFsdWUpLnJlcGxhY2UoLyhcclxufFxyfFxuKS9nLCIiKSk6Yi5wdXNoKGEubm9kZVZhbHVlKTtlbHNlIGlmKGEubm9kZU5hbWUgaW4gQ28pYi5wdXNoKENvW2Eubm9kZU5hbWVdKTtlbHNlIGZvcihhPQphLmZpcnN0Q2hpbGQ7YTspRG8oYSxiLGMpLGE9YS5uZXh0U2libGluZ30sRW89ZnVuY3Rpb24oYSl7dmFyIGI9W107RG8oYSxiLCEwKTthPWIuam9pbigiIik7YT1hLnJlcGxhY2UoLyBceEFEIC9nLCIgIikucmVwbGFjZSgvXHhBRC9nLCIiKTthPWEucmVwbGFjZSgvXHUyMDBCL2csIiIpO2E9YS5yZXBsYWNlKC8gKy9nLCIgIik7YSE9IiAiJiYoYT1hLnJlcGxhY2UoL15ccyovLCIiKSk7cmV0dXJuIGF9LEZvPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnByb21pc2U9YTt0aGlzLnJlc29sdmU9Yjt0aGlzLnJlamVjdD1jfSxHbz1mdW5jdGlvbigpe3ZhciBhLGIsYz1uZXcgXy5vZShmdW5jdGlvbihkLGUpe2E9ZDtiPWV9KTtyZXR1cm4gbmV3IEZvKGMsYSxiKX0sSG89ZnVuY3Rpb24oYSl7aWYoYS5pYiYmdHlwZW9mIGEuaWI9PSJmdW5jdGlvbiIpcmV0dXJuIGEuaWIoKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmCmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20oYS52YWx1ZXMoKSk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gYS5zcGxpdCgiIik7aWYoXy5xYShhKSl7Zm9yKHZhciBiPVtdLGM9YS5sZW5ndGgsZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifWI9W107Yz0wO2ZvcihkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9LElvPWZ1bmN0aW9uKGEpe2lmKGEuT2MmJnR5cGVvZiBhLk9jPT0iZnVuY3Rpb24iKXJldHVybiBhLk9jKCk7aWYoIWEuaWJ8fHR5cGVvZiBhLmliIT0iZnVuY3Rpb24iKXtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgU2V0KSl7aWYoXy5xYShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIil7dmFyIGI9W107YT1hLmxlbmd0aDtmb3IodmFyIGM9MDtjPGE7YysrKWIucHVzaChjKTsKcmV0dXJuIGJ9Yj1bXTtjPTA7Zm9yKHZhciBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9fX0sSm89ZnVuY3Rpb24oYSxiLGMpe2lmKGEuZm9yRWFjaCYmdHlwZW9mIGEuZm9yRWFjaD09ImZ1bmN0aW9uIilhLmZvckVhY2goYixjKTtlbHNlIGlmKF8ucWEoYSl8fHR5cGVvZiBhPT09InN0cmluZyIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsYyk7ZWxzZSBmb3IodmFyIGQ9SW8oYSksZT1IbyhhKSxmPWUubGVuZ3RoLGc9MDtnPGY7ZysrKWIuY2FsbChjLGVbZ10sZCYmZFtnXSxhKX0sZ209ZnVuY3Rpb24oYSxiKXt0aGlzLmg9dGhpcy5nPW51bGw7dGhpcy5qPWF8fG51bGw7dGhpcy5sPSEhYn0sS289ZnVuY3Rpb24oYSl7YS5nfHwoYS5nPW5ldyBNYXAsYS5oPTAsYS5qJiZfLkViKGEuaixmdW5jdGlvbihiLGMpe2EuYWRkKF8uRGIoYiksYyl9KSl9OwpnbS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYil7S28odGhpcyk7dGhpcy5qPW51bGw7YT1Mbyh0aGlzLGEpO3ZhciBjPXRoaXMuZy5nZXQoYSk7Y3x8dGhpcy5nLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLmgrPTE7cmV0dXJuIHRoaXN9O2dtLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSl7S28odGhpcyk7YT1Mbyh0aGlzLGEpO3JldHVybiB0aGlzLmcuaGFzKGEpPyh0aGlzLmo9bnVsbCx0aGlzLmgtPXRoaXMuZy5nZXQoYSkubGVuZ3RoLHRoaXMuZy5kZWxldGUoYSkpOiExfTtnbS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmc9dGhpcy5qPW51bGw7dGhpcy5oPTB9O3ZhciBNbz1mdW5jdGlvbihhLGIpe0tvKGEpO2I9TG8oYSxiKTtyZXR1cm4gYS5nLmhhcyhiKX07Xy5tPWdtLnByb3RvdHlwZTsKXy5tLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtLbyh0aGlzKTt0aGlzLmcuZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Xy5tLk9jPWZ1bmN0aW9uKCl7S28odGhpcyk7Zm9yKHZhciBhPUFycmF5LmZyb20odGhpcy5nLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5nLmtleXMoKSksYz1bXSxkPTA7ZDxiLmxlbmd0aDtkKyspZm9yKHZhciBlPWFbZF0sZj0wO2Y8ZS5sZW5ndGg7ZisrKWMucHVzaChiW2RdKTtyZXR1cm4gY307Xy5tLmliPWZ1bmN0aW9uKGEpe0tvKHRoaXMpO3ZhciBiPVtdO2lmKHR5cGVvZiBhPT09InN0cmluZyIpTW8odGhpcyxhKSYmKGI9Yi5jb25jYXQodGhpcy5nLmdldChMbyh0aGlzLGEpKSkpO2Vsc2V7YT1BcnJheS5mcm9tKHRoaXMuZy52YWx1ZXMoKSk7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYj1iLmNvbmNhdChhW2NdKX1yZXR1cm4gYn07Cl8ubS5zZXQ9ZnVuY3Rpb24oYSxiKXtLbyh0aGlzKTt0aGlzLmo9bnVsbDthPUxvKHRoaXMsYSk7TW8odGhpcyxhKSYmKHRoaXMuaC09dGhpcy5nLmdldChhKS5sZW5ndGgpO3RoaXMuZy5zZXQoYSxbYl0pO3RoaXMuaCs9MTtyZXR1cm4gdGhpc307Xy5tLmdldD1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiBiO2E9dGhpcy5pYihhKTtyZXR1cm4gYS5sZW5ndGg+MD9TdHJpbmcoYVswXSk6Yn07dmFyIE5vPWZ1bmN0aW9uKGEsYixjKXthLnJlbW92ZShiKTtjLmxlbmd0aD4wJiYoYS5qPW51bGwsYS5nLnNldChMbyhhLGIpLF8ud2EoYykpLGEuaCs9Yy5sZW5ndGgpfTsKZ20ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5qKXJldHVybiB0aGlzLmo7aWYoIXRoaXMuZylyZXR1cm4iIjtmb3IodmFyIGE9W10sYj1BcnJheS5mcm9tKHRoaXMuZy5rZXlzKCkpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXSxlPV8uR2IoZCk7ZD10aGlzLmliKGQpO2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgZz1lO2RbZl0hPT0iIiYmKGcrPSI9IitfLkdiKGRbZl0pKTthLnB1c2goZyl9fXJldHVybiB0aGlzLmo9YS5qb2luKCImIil9Owp2YXIgZW09ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IGdtO2Iuaj1hLmo7YS5nJiYoYi5nPW5ldyBNYXAoYS5nKSxiLmg9YS5oKTtyZXR1cm4gYn0sTG89ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmwmJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGJ9LE9vPWZ1bmN0aW9uKGEsYil7YiYmIWEubCYmKEtvKGEpLGEuaj1udWxsLGEuZy5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2QhPWUmJih0aGlzLnJlbW92ZShkKSxObyh0aGlzLGUsYykpfSxhKSk7YS5sPWJ9O2dtLnByb3RvdHlwZS5leHRlbmQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKylKbyhhcmd1bWVudHNbYl0sZnVuY3Rpb24oYyxkKXt0aGlzLmFkZChkLGMpfSx0aGlzKX07CnZhciBQbz0vWyNcL1w/QF0vZyxRbz0vWyNcP10vZyxSbz0vWyNcPzpdL2csU289LyMvZyxmbT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn0sVG89L1sjXD9AXS9nLFVvPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9LFZvPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj8oYT1lbmNvZGVVUkkoYSkucmVwbGFjZShiLFVvKSxjJiYoYT1hLnJlcGxhY2UoLyUyNShbMC05YS1mQS1GXXsyfSkvZywiJSQxIikpLGEpOm51bGx9OwpabC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMubDtiJiZhLnB1c2goVm8oYixQbywhMCksIjoiKTt2YXIgYz10aGlzLmg7aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkIpJiZhLnB1c2goVm8oYixQbywhMCksIkAiKSxhLnB1c2goXy5HYihjKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxjPXRoaXMuQyxjIT1udWxsJiZhLnB1c2goIjoiLFN0cmluZyhjKSk7aWYoYz10aGlzLmopdGhpcy5oJiZjLmNoYXJBdCgwKSE9Ii8iJiZhLnB1c2goIi8iKSxhLnB1c2goVm8oYyxjLmNoYXJBdCgwKT09Ii8iP1FvOlJvLCEwKSk7KGM9dGhpcy5nLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMuQSkmJmEucHVzaCgiIyIsVm8oYyxTbykpO3JldHVybiBhLmpvaW4oIiIpfTsKWmwucHJvdG90eXBlLnJlc29sdmU9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFpsKHRoaXMpLGM9ISFhLmw7Yz8kbChiLGEubCk6Yz0hIWEuQjtjP2IuQj1hLkI6Yz0hIWEuaDtjP2FtKGIsYS5oKTpjPWEuQyE9bnVsbDt2YXIgZD1hLmo7aWYoYylibShiLGEuQyk7ZWxzZSBpZihjPSEhYS5qKXtpZihkLmNoYXJBdCgwKSE9Ii8iKWlmKHRoaXMuaCYmIXRoaXMuailkPSIvIitkO2Vsc2V7dmFyIGU9Yi5qLmxhc3RJbmRleE9mKCIvIik7ZSE9LTEmJihkPWIuai5zbGljZSgwLGUrMSkrZCl9ZT1kO2lmKGU9PSIuLiJ8fGU9PSIuIilkPSIiO2Vsc2UgaWYoZS5pbmRleE9mKCIuLyIpIT0tMXx8ZS5pbmRleE9mKCIvLiIpIT0tMSl7ZD1lLmxhc3RJbmRleE9mKCIvIiwwKT09MDtlPWUuc3BsaXQoIi8iKTtmb3IodmFyIGY9W10sZz0wO2c8ZS5sZW5ndGg7KXt2YXIgaD1lW2crK107aD09Ii4iP2QmJmc9PWUubGVuZ3RoJiZmLnB1c2goIiIpOmg9PSIuLiI/KChmLmxlbmd0aD4xfHxmLmxlbmd0aD09CjEmJmZbMF0hPSIiKSYmZi5wb3AoKSxkJiZnPT1lLmxlbmd0aCYmZi5wdXNoKCIiKSk6KGYucHVzaChoKSxkPSEwKX1kPWYuam9pbigiLyIpfWVsc2UgZD1lfWM/Y20oYixkKTpjPWEuZy50b1N0cmluZygpIT09IiI7Yz9kbShiLGVtKGEuZykpOmM9ISFhLkE7YyYmKGIuQT1hLkEpO3JldHVybiBifTsKdmFyICRsPWZ1bmN0aW9uKGEsYixjKXthLmw9Yz9mbShiLCEwKTpiO2EubCYmKGEubD1hLmwucmVwbGFjZSgvOiQvLCIiKSk7cmV0dXJuIGF9LGFtPWZ1bmN0aW9uKGEsYixjKXthLmg9Yz9mbShiLCEwKTpiO3JldHVybiBhfSxibT1mdW5jdGlvbihhLGIpe2lmKGIpe2I9TnVtYmVyKGIpO2lmKGlzTmFOKGIpfHxiPDApdGhyb3cgRXJyb3IoIkhgIitiKTthLkM9Yn1lbHNlIGEuQz1udWxsfSxjbT1mdW5jdGlvbihhLGIsYyl7YS5qPWM/Zm0oYiwhMCk6YjtyZXR1cm4gYX0sZG09ZnVuY3Rpb24oYSxiLGMpe2IgaW5zdGFuY2VvZiBnbT8oYS5nPWIsT28oYS5nLGEubykpOihjfHwoYj1WbyhiLFRvKSksYS5nPW5ldyBnbShiLGEubykpfSxXbz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIFpsP25ldyBabChhKTpuZXcgWmwoYSl9LFhvPWZ1bmN0aW9uKGEpe3ZhciBiPUlvKGEpO2lmKHR5cGVvZiBiPT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiSiIpO3ZhciBjPW5ldyBnbShudWxsKTsKYT1IbyhhKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXSxmPWFbZF07QXJyYXkuaXNBcnJheShmKT9ObyhjLGUsZik6Yy5hZGQoZSxmKX1yZXR1cm4gY30sWW89e30sWm89e30sJG89e30sYXA9e30sam09e30scW09e30scG0sVW09e30sYnA9ZnVuY3Rpb24oYSxiLGMpe2E9YS5KO3JldHVybiBfLkhpKGEsYVtfLkhdfDAsYixjKXx8YltfLmZoXXx8KGJbXy5maF09Xy5naChiKSl9LHNuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5HaShhLGIsXy5MaihjKSwiIil9O18ubT12bS5wcm90b3R5cGU7Xy5tLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzJiZhP2EgaW5zdGFuY2VvZiB2bT9hLmxlZnQ+PXRoaXMubGVmdCYmYS5yaWdodDw9dGhpcy5yaWdodCYmYS50b3A+PXRoaXMudG9wJiZhLmJvdHRvbTw9dGhpcy5ib3R0b206YS54Pj10aGlzLmxlZnQmJmEueDw9dGhpcy5yaWdodCYmYS55Pj10aGlzLnRvcCYmYS55PD10aGlzLmJvdHRvbTohMX07Cl8ubS5jZWlsPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLnJpZ2h0PU1hdGguY2VpbCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLmNlaWwodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLmNlaWwodGhpcy5sZWZ0KTtyZXR1cm4gdGhpc307Xy5tLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5mbG9vcih0aGlzLnRvcCk7dGhpcy5yaWdodD1NYXRoLmZsb29yKHRoaXMucmlnaHQpO3RoaXMuYm90dG9tPU1hdGguZmxvb3IodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLmZsb29yKHRoaXMubGVmdCk7cmV0dXJuIHRoaXN9O18ubS5yb3VuZD1mdW5jdGlvbigpe3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMucmlnaHQ9TWF0aC5yb3VuZCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLnJvdW5kKHRoaXMuYm90dG9tKTt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3JldHVybiB0aGlzfTsKXy5tLnRyYW5zbGF0ZT1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiB6bD8odGhpcy5sZWZ0Kz1hLngsdGhpcy5yaWdodCs9YS54LHRoaXMudG9wKz1hLnksdGhpcy5ib3R0b20rPWEueSk6KHRoaXMubGVmdCs9YSx0aGlzLnJpZ2h0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9Yix0aGlzLmJvdHRvbSs9YikpO3JldHVybiB0aGlzfTtfLm09d20ucHJvdG90eXBlO18ubS5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIHpsP2EueD49dGhpcy5sZWZ0JiZhLng8PXRoaXMubGVmdCt0aGlzLndpZHRoJiZhLnk+PXRoaXMudG9wJiZhLnk8PXRoaXMudG9wK3RoaXMuaGVpZ2h0OnRoaXMubGVmdDw9YS5sZWZ0JiZ0aGlzLmxlZnQrdGhpcy53aWR0aD49YS5sZWZ0K2Eud2lkdGgmJnRoaXMudG9wPD1hLnRvcCYmdGhpcy50b3ArdGhpcy5oZWlnaHQ+PWEudG9wK2EuaGVpZ2h0fTsKXy5tLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLm0uZmxvb3I9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5mbG9vcih0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGguZmxvb3IodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5tLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGgucm91bmQodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLnJvdW5kKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpfLm0udHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIHpsPyh0aGlzLmxlZnQrPWEueCx0aGlzLnRvcCs9YS55KToodGhpcy5sZWZ0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9YikpO3JldHVybiB0aGlzfTsKdmFyIGNwPWZ1bmN0aW9uKGEsYil7YTp7dmFyIGM9Xy5zZChhKTtpZihjLmRlZmF1bHRWaWV3JiZjLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihjPWMuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpKSl7Yz1jW2JdfHxjLmdldFByb3BlcnR5VmFsdWUoYil8fCIiO2JyZWFrIGF9Yz0iIn1yZXR1cm4gY3x8KGEuY3VycmVudFN0eWxlP2EuY3VycmVudFN0eWxlW2JdOm51bGwpfHxhLnN0eWxlJiZhLnN0eWxlW2JdfSxkcD1mdW5jdGlvbihhKXt0eXBlb2YgYT09Im51bWJlciImJihhKz0icHgiKTtyZXR1cm4gYX0sZXA9ZnVuY3Rpb24oYSxiKXtpZihiIGluc3RhbmNlb2Ygemwpe3ZhciBjPWIueDtiPWIueX1lbHNlIGM9YixiPXZvaWQgMDthLnN0eWxlLmxlZnQ9ZHAoYyk7YS5zdHlsZS50b3A9ZHAoYil9LGZwPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jYXRjaChiKXtyZXR1cm57bGVmdDowLHRvcDowLHJpZ2h0OjAsCmJvdHRvbTowfX19LGdwPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2QoYSksYz1jcChhLCJwb3NpdGlvbiIpLGQ9Yz09ImZpeGVkInx8Yz09ImFic29sdXRlIjtmb3IoYT1hLnBhcmVudE5vZGU7YSYmYSE9YjthPWEucGFyZW50Tm9kZSlpZihhLm5vZGVUeXBlPT0xMSYmYS5ob3N0JiYoYT1hLmhvc3QpLGM9Y3AoYSwicG9zaXRpb24iKSxkPWQmJmM9PSJzdGF0aWMiJiZhIT1iLmRvY3VtZW50RWxlbWVudCYmYSE9Yi5ib2R5LCFkJiYoYS5zY3JvbGxXaWR0aD5hLmNsaWVudFdpZHRofHxhLnNjcm9sbEhlaWdodD5hLmNsaWVudEhlaWdodHx8Yz09ImZpeGVkInx8Yz09ImFic29sdXRlInx8Yz09InJlbGF0aXZlIikpcmV0dXJuIGE7cmV0dXJuIG51bGx9LGhwPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2QoYSksYz1uZXcgemwoMCwwKTtpZihhPT0oYj9fLnNkKGIpOmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQpcmV0dXJuIGM7YT1mcChhKTtiPV8ubGIoYik7Yj1LbihiLmcpO2MueD1hLmxlZnQrYi54OwpjLnk9YS50b3ArYi55O3JldHVybiBjfSxpcD1mdW5jdGlvbihhKXtmb3IodmFyIGI9bmV3IHZtKDAsSW5maW5pdHksSW5maW5pdHksMCksYz1fLmxiKGEpLGQ9Yy5nLmJvZHksZT1jLmcuZG9jdW1lbnRFbGVtZW50LGY9Sm4oYy5nKTthPWdwKGEpOylpZigoIV8uVmN8fGEuY2xpZW50SGVpZ2h0IT0wfHxhIT1kKSYmYSE9ZCYmYSE9ZSYmY3AoYSwib3ZlcmZsb3ciKSE9InZpc2libGUiKXt2YXIgZz1ocChhKSxoPW5ldyB6bChhLmNsaWVudExlZnQsYS5jbGllbnRUb3ApO2cueCs9aC54O2cueSs9aC55O2IudG9wPU1hdGgubWF4KGIudG9wLGcueSk7Yi5yaWdodD1NYXRoLm1pbihiLnJpZ2h0LGcueCthLmNsaWVudFdpZHRoKTtiLmJvdHRvbT1NYXRoLm1pbihiLmJvdHRvbSxnLnkrYS5jbGllbnRIZWlnaHQpO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZy54KX1kPWYuc2Nyb2xsTGVmdDtmPWYuc2Nyb2xsVG9wO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZCk7Yi50b3A9TWF0aC5tYXgoYi50b3AsCmYpO2M9Xy5pYihjLmcuZGVmYXVsdFZpZXd8fHdpbmRvdyk7Yi5yaWdodD1NYXRoLm1pbihiLnJpZ2h0LGQrYy53aWR0aCk7Yi5ib3R0b209TWF0aC5taW4oYi5ib3R0b20sZitjLmhlaWdodCk7cmV0dXJuIGIudG9wPj0wJiZiLmxlZnQ+PTAmJmIuYm90dG9tPmIudG9wJiZiLnJpZ2h0PmIubGVmdD9iOm51bGx9LGpwPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IHpsKDAsMCksZD1fLm1iKF8uc2QoYSkpO2E6e3RyeXtfLlFjKGQucGFyZW50KTt2YXIgZT0hMDticmVhayBhfWNhdGNoKGYpe31lPSExfWlmKCFlKXJldHVybiBjO2RvIGQ9PWI/ZT1ocChhKTooZT1mcChhKSxlPW5ldyB6bChlLmxlZnQsZS50b3ApKSxjLngrPWUueCxjLnkrPWUueTt3aGlsZShkJiZkIT1iJiZkIT1kLnBhcmVudCYmKGE9ZC5mcmFtZUVsZW1lbnQpJiYoZD1kLnBhcmVudCkpO3JldHVybiBjfSxscD1mdW5jdGlvbihhKXt2YXIgYj1rcDtpZihjcChhLCJkaXNwbGF5IikhPSJub25lIilyZXR1cm4gYihhKTt2YXIgYz0KYS5zdHlsZSxkPWMuZGlzcGxheSxlPWMudmlzaWJpbGl0eSxmPWMucG9zaXRpb247Yy52aXNpYmlsaXR5PSJoaWRkZW4iO2MucG9zaXRpb249ImFic29sdXRlIjtjLmRpc3BsYXk9ImlubGluZSI7YT1iKGEpO2MuZGlzcGxheT1kO2MucG9zaXRpb249ZjtjLnZpc2liaWxpdHk9ZTtyZXR1cm4gYX0sa3A9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRXaWR0aCxjPWEub2Zmc2V0SGVpZ2h0LGQ9Xy5WYyYmIWImJiFjO3JldHVybihiPT09dm9pZCAwfHxkKSYmYS5nZXRCb3VuZGluZ0NsaWVudFJlY3Q/KGE9ZnAoYSksbmV3IF8uQ2EoYS5yaWdodC1hLmxlZnQsYS5ib3R0b20tYS50b3ApKTpuZXcgXy5DYShiLGMpfSxtcD1mdW5jdGlvbihhLGIpe2Euc3R5bGUuZGlzcGxheT1iPyIiOiJub25lIn0sbnA9ZnVuY3Rpb24oYSxiKXtiPV8ubGIoYik7dmFyIGM9SW4oYi5nLCJIRUFEIilbMF07aWYoIWMpe3ZhciBkPUluKGIuZywiQk9EWSIpWzBdO2M9Yi5TKCJIRUFEIik7ZC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLApkKX1kPWIuUygiU1RZTEUiKTt2YXIgZT1fLk9hKCJzdHlsZSIsZG9jdW1lbnQpO2UmJmQuc2V0QXR0cmlidXRlKCJub25jZSIsZSk7YT1ObChhKTtfLnYudHJ1c3RlZFR5cGVzP18uQ2QoZCxhKTpkLmlubmVySFRNTD1hO2IuYXBwZW5kQ2hpbGQoYyxkKX0sb3A9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLkNhKGEub2Zmc2V0V2lkdGgsYS5vZmZzZXRIZWlnaHQpfSxwcD1mdW5jdGlvbihhLGIsYyl7YT1hLnN0eWxlO18uVWM/YS5Nb3pCb3hTaXppbmc9YzpfLlZjP2EuV2Via2l0Qm94U2l6aW5nPWM6YS5ib3hTaXppbmc9YzthLndpZHRoPU1hdGgubWF4KGIud2lkdGgsMCkrInB4IjthLmhlaWdodD1NYXRoLm1heChiLmhlaWdodCwwKSsicHgifSxxcD1mdW5jdGlvbihhLGIpe3BwKGEsYiwiY29udGVudC1ib3giKX0scnA9ZnVuY3Rpb24oYSl7aWYoYSE9bnVsbClzd2l0Y2goYS5KZCl7Y2FzZSAxOnJldHVybiAxO2Nhc2UgLTE6cmV0dXJuLTE7Y2FzZSAwOnJldHVybiAwfXJldHVybiBudWxsfSwKc3A9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLnhsP1huKGEpPyEwOiEhYS5tYSgpOmEgaW5zdGFuY2VvZiBfLnpmPyEhYS5tYSgpOiEhYX0sdHA9LzwvZyx1cD1mdW5jdGlvbihhLGIpe2E9YS5yZXBsYWNlKC88XC8vZywiPFxcLyIpLnJlcGxhY2UoL1xdXF0+L2csIl1dXFw+Iik7cmV0dXJuIGI/YS5yZXBsYWNlKC97L2csIiBcXHsiKS5yZXBsYWNlKC99L2csIiBcXH0iKS5yZXBsYWNlKC9cL1wqL2csIi8gKiIpLnJlcGxhY2UoL1xcJC8sIlxcICIpOmF9LHZwPWZ1bmN0aW9uKGEpe2E9U3RyaW5nKGEpO2Zvcih2YXIgYj1mdW5jdGlvbihkLGUsZil7Zm9yKHZhciBnPU1hdGgubWluKGUubGVuZ3RoLWYsZC5sZW5ndGgpLGg9MDtoPGc7aCsrKXt2YXIgaz1lW2YraF07aWYoZFtoXSE9PSgiQSI8PWsmJms8PSJaIj9rLnRvTG93ZXJDYXNlKCk6aykpcmV0dXJuITF9cmV0dXJuITB9LGM9MDsoYz1hLmluZGV4T2YoIjwiLGMpKSE9LTE7KXtpZihiKCJceDNjL3NjcmlwdCIsCmEsYyl8fGIoIlx4M2MhLS0iLGEsYykpcmV0dXJuInpTb3l6IjtjKz0xfXJldHVybiBhfSx3cD1mdW5jdGlvbihhLGIpe3JldHVybiBhIT1udWxsJiZhLlpiPT09Yn0seHA9ZnVuY3Rpb24oYSl7cmV0dXJuIHdwKGEsJG8pP2EubWEoKTphIGluc3RhbmNlb2YgXy5MYT9fLk5hKGEpLnRvU3RyaW5nKCk6ImFib3V0OmludmFsaWQjelNveXoifSx6cD1mdW5jdGlvbigpe3ZhciBhO3dwKCIiLGFwKT9hPSIiLm1hKCk6YT15cC50ZXN0KCIiKT8iIjoielNveXoiO3dwKGEsYXApJiYoYT1hLm1hKCkpO3JldHVybihhJiYhYS5zdGFydHNXaXRoKCIgIik/IiAiOiIiKSthfSxBcD1mdW5jdGlvbihhKXtyZXR1cm4gd3AoYSxfLm9sKT91cChhLm1hKCksITEpOmE9PW51bGw/IiI6YSBpbnN0YW5jZW9mIF8ucGw/dXAoTmwoYSksITEpOnVwKFN0cmluZyhhKSwhMCl9LEJwPXsiXHgwMCI6IiYjMDsiLCJcdCI6IiYjOTsiLCJcbiI6IiYjMTA7IiwiXHYiOiImIzExOyIsIlxmIjoiJiMxMjsiLCJcciI6IiYjMTM7IiwKIiAiOiImIzMyOyIsJyInOiImcXVvdDsiLCImIjoiJmFtcDsiLCInIjoiJiMzOTsiLCItIjoiJiM0NTsiLCIvIjoiJiM0NzsiLCI8IjoiJmx0OyIsIj0iOiImIzYxOyIsIj4iOiImZ3Q7IiwiYCI6IiYjOTY7IiwiXHUwMDg1IjoiJiMxMzM7IiwiXHUwMGEwIjoiJiMxNjA7IiwiXHUyMDI4IjoiJiM4MjMyOyIsIlx1MjAyOSI6IiYjODIzMzsifSxDcD1mdW5jdGlvbihhKXtyZXR1cm4gQnBbYV19LERwPXsiXHgwMCI6IlxceDAwIiwiXGIiOiJcXHgwOCIsIlx0IjoiXFx0IiwiXG4iOiJcXG4iLCJcdiI6IlxceDBiIiwiXGYiOiJcXGYiLCJcciI6IlxcciIsJyInOiJcXHgyMiIsJDoiXFx4MjQiLCImIjoiXFx4MjYiLCInIjoiXFx4MjciLCIoIjoiXFx4MjgiLCIpIjoiXFx4MjkiLCIqIjoiXFx4MmEiLCIrIjoiXFx4MmIiLCIsIjoiXFx4MmMiLCItIjoiXFx4MmQiLCIuIjoiXFx4MmUiLCIvIjoiXFwvIiwiOiI6IlxceDNhIiwiPCI6IlxceDNjIiwiPSI6IlxceDNkIiwiPiI6IlxceDNlIiwiPyI6IlxceDNmIiwKIlsiOiJcXHg1YiIsIlxcIjoiXFxcXCIsIl0iOiJcXHg1ZCIsIl4iOiJcXHg1ZSIsInsiOiJcXHg3YiIsInwiOiJcXHg3YyIsIn0iOiJcXHg3ZCIsIlx1MDA4NSI6IlxceDg1IiwiXHUyMDI4IjoiXFx1MjAyOCIsIlx1MjAyOSI6IlxcdTIwMjkifSxFcD1mdW5jdGlvbihhKXtyZXR1cm4gRHBbYV19LEZwPXsiXHgwMCI6IlxcMCAiLCJcYiI6IlxcOCAiLCJcdCI6IlxcOSAiLCJcbiI6IlxcYSAiLCJcdiI6IlxcYiAiLCJcZiI6IlxcYyAiLCJcciI6IlxcZCAiLCciJzoiXFwyMiAiLCImIjoiXFwyNiAiLCInIjoiXFwyNyAiLCIoIjoiXFwyOCAiLCIpIjoiXFwyOSAiLCIqIjoiXFwyYSAiLCIvIjoiXFwyZiAiLCI6IjoiXFwzYSAiLCI7IjoiXFwzYiAiLCI8IjoiXFwzYyAiLCI9IjoiXFwzZCAiLCI+IjoiXFwzZSAiLCJAIjoiXFw0MCAiLCJcXCI6IlxcNWMgIiwieyI6IlxcN2IgIiwifSI6IlxcN2QgIiwiXHUwMDg1IjoiXFw4NSAiLCJcdTAwYTAiOiJcXGEwICIsIlx1MjAyOCI6IlxcMjAyOCAiLAoiXHUyMDI5IjoiXFwyMDI5ICJ9LEdwPWZ1bmN0aW9uKGEpe3JldHVybiBGcFthXX0sSHA9eyJceDAwIjoiJTAwIiwiXHUwMDAxIjoiJTAxIiwiXHUwMDAyIjoiJTAyIiwiXHUwMDAzIjoiJTAzIiwiXHUwMDA0IjoiJTA0IiwiXHUwMDA1IjoiJTA1IiwiXHUwMDA2IjoiJTA2IiwiXHUwMDA3IjoiJTA3IiwiXGIiOiIlMDgiLCJcdCI6IiUwOSIsIlxuIjoiJTBBIiwiXHYiOiIlMEIiLCJcZiI6IiUwQyIsIlxyIjoiJTBEIiwiXHUwMDBlIjoiJTBFIiwiXHUwMDBmIjoiJTBGIiwiXHUwMDEwIjoiJTEwIiwiXHUwMDExIjoiJTExIiwiXHUwMDEyIjoiJTEyIiwiXHUwMDEzIjoiJTEzIiwiXHUwMDE0IjoiJTE0IiwiXHUwMDE1IjoiJTE1IiwiXHUwMDE2IjoiJTE2IiwiXHUwMDE3IjoiJTE3IiwiXHUwMDE4IjoiJTE4IiwiXHUwMDE5IjoiJTE5IiwiXHUwMDFhIjoiJTFBIiwiXHUwMDFiIjoiJTFCIiwiXHUwMDFjIjoiJTFDIiwiXHUwMDFkIjoiJTFEIiwiXHUwMDFlIjoiJTFFIiwiXHUwMDFmIjoiJTFGIiwKIiAiOiIlMjAiLCciJzoiJTIyIiwiJyI6IiUyNyIsIigiOiIlMjgiLCIpIjoiJTI5IiwiPCI6IiUzQyIsIj4iOiIlM0UiLCJcXCI6IiU1QyIsInsiOiIlN0IiLCJ9IjoiJTdEIiwiXHUwMDdmIjoiJTdGIiwiXHUwMDg1IjoiJUMyJTg1IiwiXHUwMGEwIjoiJUMyJUEwIiwiXHUyMDI4IjoiJUUyJTgwJUE4IiwiXHUyMDI5IjoiJUUyJTgwJUE5IiwiXHVmZjAxIjoiJUVGJUJDJTgxIiwiXHVmZjAzIjoiJUVGJUJDJTgzIiwiXHVmZjA0IjoiJUVGJUJDJTg0IiwiXHVmZjA2IjoiJUVGJUJDJTg2IiwiXHVmZjA3IjoiJUVGJUJDJTg3IiwiXHVmZjA4IjoiJUVGJUJDJTg4IiwiXHVmZjA5IjoiJUVGJUJDJTg5IiwiXHVmZjBhIjoiJUVGJUJDJThBIiwiXHVmZjBiIjoiJUVGJUJDJThCIiwiXHVmZjBjIjoiJUVGJUJDJThDIiwiXHVmZjBmIjoiJUVGJUJDJThGIiwiXHVmZjFhIjoiJUVGJUJDJTlBIiwiXHVmZjFiIjoiJUVGJUJDJTlCIiwiXHVmZjFkIjoiJUVGJUJDJTlEIiwiXHVmZjFmIjoiJUVGJUJDJTlGIiwKIlx1ZmYyMCI6IiVFRiVCQyVBMCIsIlx1ZmYzYiI6IiVFRiVCQyVCQiIsIlx1ZmYzZCI6IiVFRiVCQyVCRCJ9LElwPWZ1bmN0aW9uKGEpe3JldHVybiBIcFthXX0sSnA9L1tceDAwXHgyMlx4MjZceDI3XHgzY1x4M2VdL2csS3A9ZnVuY3Rpb24oYSl7cmV0dXJuIHdwKGEsXy5xbCk/YTphIGluc3RhbmNlb2YgXy5EYz8oMCxfLnRsKShfLmtqKGEpLnRvU3RyaW5nKCkpOigwLF8udGwpKFN0cmluZyhTdHJpbmcoYSkpLnJlcGxhY2UoSnAsQ3ApLHJwKGEpKX0sTHA9L1tceDAwXHgyMlx4MjdceDNjXHgzZV0vZyxNcD1mdW5jdGlvbihhKXtyZXR1cm4geG0oU3RyaW5nKGEpLGZ1bmN0aW9uKCl7cmV0dXJuIiJ9KS5yZXBsYWNlKHRwLCImbHQ7Iil9LFA9ZnVuY3Rpb24oYSl7d3AoYSxfLnFsKT8oYT1NcChhLm1hKCkpLGE9U3RyaW5nKGEpLnJlcGxhY2UoTHAsQ3ApKTphPVN0cmluZyhhKS5yZXBsYWNlKEpwLENwKTtyZXR1cm4gYX0sTnA9L1tceDAwXHgwOS1ceDBkIFx4MjJceDI2XHgyN1x4MmRcL1x4M2MtXHgzZWBceDg1XHhhMFx1MjAyOFx1MjAyOV0vZywKT3A9L1tceDAwXHgwOS1ceDBkIFx4MjJceDI3XHgyZFwvXHgzYy1ceDNlYFx4ODVceGEwXHUyMDI4XHUyMDI5XS9nLFBwPS9bXHgwMFx4MDgtXHgwZFx4MjJceDI2XHgyN1wvXHgzYy1ceDNlXHg1Yi1ceDVkXHg3Ylx4N2RceDg1XHUyMDI4XHUyMDI5XS9nLFFwPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIiBudWxsICI7aWYod3AoYSxZbykpcmV0dXJuIGEubWEoKTtpZihhIGluc3RhbmNlb2YgXy5QYSlyZXR1cm4gXy5SYShhKS50b1N0cmluZygpO3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAiYm9vbGVhbiI6Y2FzZSAibnVtYmVyIjpyZXR1cm4iICIrYSsiICI7ZGVmYXVsdDpyZXR1cm4iJyIrU3RyaW5nKFN0cmluZyhhKSkucmVwbGFjZShQcCxFcCkrIicifX0sUnA9L1tceDAwXHgwOC1ceDBkXHgyMlx4MjYtXHgyYVwvXHgzYS1ceDNlQFxcXHg3Ylx4N2RceDg1XHhhMFx1MjAyOFx1MjAyOV0vZyxTcD0vW1x4MDAtIFx4MjJceDI3LVx4MjlceDNjXHgzZVxcXHg3Ylx4N2RceDdmXHg4NVx4YTBcdTIwMjhcdTIwMjlcdWZmMDFcdWZmMDNcdWZmMDRcdWZmMDYtXHVmZjBjXHVmZjBmXHVmZjFhXHVmZjFiXHVmZjFkXHVmZjFmXHVmZjIwXHVmZjNiXHVmZjNkXS9nLApUcD0vXig/IWphdmFzY3JpcHQ6KSg/OlthLXowLTkrLi1dKzp8W14mOlwvPyNdKig/OltcLz8jXXwkKSkvaSxVcD1mdW5jdGlvbihhKXt3cChhLFpvKXx8d3AoYSwkbyk/YT1TdHJpbmcoYSkucmVwbGFjZShTcCxJcCk6YSBpbnN0YW5jZW9mIF8uTGE/KGE9Xy5OYShhKS50b1N0cmluZygpLGE9U3RyaW5nKGEpLnJlcGxhY2UoU3AsSXApKTooYT1TdHJpbmcoYSksYT1UcC50ZXN0KGEpP2EucmVwbGFjZShTcCxJcCk6ImFib3V0OmludmFsaWQjelNveXoiKTtyZXR1cm4gYX0sVnA9L15bXiY6XC8/I10qKD86W1wvPyNdfCQpfF5odHRwcz86fF5maWxlc3lzdGVtOmh0dHBzPzp8XmZ0cDp8XmRhdGE6aW1hZ2VcL1thLXowLTkrLV0rO2Jhc2U2NCxbYS16MC05K1wvXSs9KiR8XmJsb2I6L2ksV3A9ZnVuY3Rpb24oYSl7d3AoYSxabyl8fHdwKGEsJG8pP2E9U3RyaW5nKGEpLnJlcGxhY2UoU3AsSXApOmEgaW5zdGFuY2VvZiBfLkxhPyhhPV8uTmEoYSkudG9TdHJpbmcoKSxhPVN0cmluZyhhKS5yZXBsYWNlKFNwLApJcCkpOihhPVN0cmluZyhhKSxhPVZwLnRlc3QoYSk/YS5yZXBsYWNlKFNwLElwKToiYWJvdXQ6aW52YWxpZCN6U295eiIpO3JldHVybiBhfSx5cD0vXig/IW9ufHNyY3woPzphY3Rpb258YXJjaGl2ZXxiYWNrZ3JvdW5kfGNpdGV8Y2xhc3NpZHxjb2RlYmFzZXxjb250ZW50fGRhdGF8ZHN5bmN8aHJlZnxodHRwLWVxdWl2fGxvbmdkZXNjfHN0eWxlfHVzZW1hcClccyokKSg/OlthLXowLTlfJDotXSopJC9pLFhwPS9eW2EtekEtWjAtOStcL18tXSs9ezAsMn0kLyxZcD1mdW5jdGlvbihhKXthPVN0cmluZyhhKTtyZXR1cm4gWHAudGVzdChhKT9hOiJ6U295eiJ9LFpwPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihacCxfLkopO3ZhciBDbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgWnA7cmV0dXJuIEdsKGIsMyxhLF8uQmopfTt2YXIgJHA9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKCRwLF8uSik7JHAucHJvdG90eXBlLkphPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDIpfTskcC5wcm90b3R5cGUuTmE9ZnVuY3Rpb24oYSl7cmV0dXJuIHNuKHRoaXMsMixhKX07JHAucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDMpfTskcC5wcm90b3R5cGUubmE9ZnVuY3Rpb24oYSl7cmV0dXJuIHNuKHRoaXMsMyxhKX07dmFyIGFxPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihhcSxfLkopO3ZhciBicT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoYnEsXy5KKTt2YXIgY3E9Xy5NaihicSk7dmFyIGRxPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBhfX0sZXE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoLTI7Yys9Myl7dmFyIGQ9Yi5jaGFyQXQoYysyKTtkPWQ+PSJhIj9kLmNoYXJDb2RlQXQoMCktODc6TnVtYmVyKGQpO2Q9Yi5jaGFyQXQoYysxKT09IisiP2E+Pj5kOmE8PGQ7YT1iLmNoYXJBdChjKT09IisiP2ErZCY0Mjk0OTY3Mjk1OmFeZH1yZXR1cm4gYX0sZ3E9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWZxLnNwbGl0KCIuIiksYz1OdW1iZXIoYlswXSl8fDAsZD1bXSxlPTAsZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZz1hLmNoYXJDb2RlQXQoZik7ZzwxMjg/ZFtlKytdPWc6KGc8MjA0OD9kW2UrK109Zz4+NnwxOTI6KChnJjY0NTEyKT09NTUyOTYmJmYrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChmKzEpJjY0NTEyKT09NTYzMjA/KGc9NjU1MzYrKChnJjEwMjMpPDwxMCkrKGEuY2hhckNvZGVBdCgrK2YpJjEwMjMpLGRbZSsrXT0KZz4+MTh8MjQwLGRbZSsrXT1nPj4xMiY2M3wxMjgpOmRbZSsrXT1nPj4xMnwyMjQsZFtlKytdPWc+PjYmNjN8MTI4KSxkW2UrK109ZyY2M3wxMjgpfWE9Yztmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKWErPWRbZV0sYT1lcShhLCIrLWFeKzYiKTthPWVxKGEsIistM14rYistZiIpO2FePU51bWJlcihiWzFdKXx8MDthPDAmJihhPShhJjIxNDc0ODM2NDcpKzIxNDc0ODM2NDgpO2I9YSUxRTY7cmV0dXJuIGIudG9TdHJpbmcoKSsiLiIrKGJeYyl9LGhxPWZ1bmN0aW9uKCl7dmFyIGE9ZHEoU3RyaW5nLmZyb21DaGFyQ29kZSgxMTYpKSxiPWRxKFN0cmluZy5mcm9tQ2hhckNvZGUoMTA3KSk7YT1bYSgpLGEoKV07YVsxXT1iKCk7cmV0dXJuIGEuam9pbigiIil9O3ZhciBpcT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoaXEsXy5KKTt2YXIganE9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKGpxLF8uSik7dmFyIGtxPV8uTWooanEpO3ZhciBscT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIobHEsXy5KKTt2YXIgT249IiIsbXE9InByb2QiLG5xPSIiLG9xPSJlbiIsQW49IiIscHE9bmV3IGpxLHFxPSExLHJxPW5ldyBEYXRlLHNxPXt9LEJuPTAsdHE9InRlIixmcT0iIix1cT0iIix2cT0iaHR0cHM6Ly8iLHdxPSIiLHhxPSIiLHlxPSIiLHpxPSIiLEFxPSIiLEJxPSIiLENxPSJodHRwczovL3d3dy5nb29nbGUuY29tL2ltYWdlcy9jbGVhcmRvdC5naWYiLERxPSJodHRwczovL3d3dy5nc3RhdGljLmNvbS9pbWFnZXMvYnJhbmRpbmcvZ29vZ2xlbG9nby8xeC9nb29nbGVsb2dvX2NvbG9yXzY4eDI4ZHAucG5nIixFcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMXgvdHJhbnNsYXRlXzI0ZHAucG5nIixGcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl80MngxNmRwLnBuZyIsR3E9Imh0dHBzOi8vdHJhbnNsYXRlLmdvb2dsZS5jb20iLEhxPSIiLElxPSIiLEpxPSIiLEtxPQpmdW5jdGlvbigpe0hxPSIvLyIrQnErIi90cmFuc2xhdGVfc3VnZ2VzdGlvbj9jbGllbnQ9Iit0cTtJcT0iLy8iK3VxKyIvdHJhbnNsYXRlX3ZvdGluZz9jbGllbnQ9Iit0cTtKcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9zdXBwb3J0L3RyYW5zbGF0ZSIrKG9xPT0iZW4iPyIiOiIjZ29vZ3RyYW5zL2VuLyIrb3EpfSxMcT1mdW5jdGlvbihhKXtPbj13aW5kb3cuZ29vZ2xlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZSYmd2luZG93Lmdvb2dsZS50cmFuc2xhdGUudnx8IiI7bXE9YS5fY2Vudnx8InByb2QiO25xPWEuVWd8fCIiO29xPWEuX2NsfHwiZW4iO0FuPWEuX2N1YztwcT1hLl9jZWY/a3EoYS5fY2VmKTpuZXcganE7cXE9YS5fY25hZDtycT1hLl9jZXN0fHxuZXcgRGF0ZTtzcT1hLl9jbmFsfHx7fTtCbj1hLl9jYW09PSJsaWIiPzE6MDt0cT0oYS5fY2FjfHwidGUiKSsoQm49PTE/Il9saWIiOiIiKTtmcT1mdW5jdGlvbigpe2Z1bmN0aW9uIGIoZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGV9fQp2YXIgYz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNyksZD1iKFN0cmluZy5mcm9tQ2hhckNvZGUoMTE2KSk7Yz1iKGMpO2Q9W2QoKSxkKCldO2RbMV09YygpO3JldHVybiBhWyJfYyIrZC5qb2luKGMoKSldfHwiIn0oKTt1cT1hLl9wYWh8fCIiO3ZxPWEuX3Bhc3x8Imh0dHBzOi8vIjt3cT1hLl9wYml8fCIiO3hxPWEuX3BjaXx8IiI7eXE9YS5fcGxsYXx8IiI7enE9YS5fcGxpfHwiIjtBcT1hLl9wc3x8IiI7QnE9YS5fcHVofHwiIjtDcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvY2xlYXJkb3QuZ2lmIjtEcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl82OHgyOGRwLnBuZyI7RXE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9wcm9kdWN0LzF4L3RyYW5zbGF0ZV8yNGRwLnBuZyI7RnE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfNDJ4MTZkcC5wbmciOwpHcT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbSI7S3EoKX07d2luZG93Lmdvb2dsZSYmd2luZG93Lmdvb2dsZS50cmFuc2xhdGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlLl9jb25zdD9McSh3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fY29uc3QpOkxxKHtfY2FjOiIiLF9jYW06IiIsX2NlZjoiIixfY2VzdDpuZXcgRGF0ZSxfY2VudjoiIixVZzoiIixfY2dhazoiIixfY2psYzoiIixfY2w6IiIsX2NsbDoiIixfY3VjOiIiLF9jbmFkOiExLF9jbmFsOnt9LENrOiIiLF9wYWg6IiIsX3BhczoiIixfcGJpOiIiLF9wY2k6IiIsX3BoZjoiIixfcGxpOiIiLF9wbGxhOiIiLF9wbWk6IiIsX3BzOiIiLF9wdGE6IiIsX3B1aDoiIn0pO3ZhciBNcT1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMubz1ifSxCbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgVHlwZUVycm9yKCJxYWAiK2IrImAiK2EuZysiYCIrYS5vKyJgIit0eXBlb2YgYS5vKX07TXEucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vO2lmKGE9PW51bGwpYT1udWxsO2Vsc2UgaWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBCbSh0aGlzLCJzdHJpbmciKTtpZihhPT09bnVsbCl0aHJvdyBFcnJvcigicGFgIit0aGlzLmcpO3JldHVybiBhfTsKdmFyIEFtPWZ1bmN0aW9uKCl7dmFyIGE9YT09PXZvaWQgMD93aW5kb3c6YTthPWE9PT12b2lkIDA/d2luZG93OmE7YT1hPT09dm9pZCAwP3dpbmRvdzphO2E9YS5XSVpfZ2xvYmFsX2RhdGE7YT1uZXcgTXEoInhXdXVHYyIsYSYmInhXdXVHYyJpbiBhP2EueFd1dUdjOm51bGwpO3ZhciBiPVtdLGM9TnEoYSk7cmV0dXJuIGM9PT1udWxsP09xKGEsYik6Y30sTnE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vO2lmKGI9PW51bGwpcmV0dXJuIG51bGw7QXJyYXkuaXNBcnJheShiKXx8KHR5cGVvZiBiIT09InN0cmluZyI/Yj1bYl06KGI9Yi50cmltKCksYj1iPT0iIj9bXTpiLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLnRyaW0oKX0pKSk7cmV0dXJuIE9xKGEsYil9LE9xPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5nKyJbIjtyZXR1cm4gQXJyYXkuZnJvbShiLGZ1bmN0aW9uKGQsZSl7cmV0dXJuIG5ldyBNcShjK2UrIl0iLGQpfSl9OwpNcS5wcm90b3R5cGUub2JqZWN0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubztpZihiPT1udWxsKXtpZihhPT09dm9pZCAwKXRocm93IEVycm9yKCJwYWAiK3RoaXMuZyk7cmV0dXJuIGF9aWYodHlwZW9mIGI9PT0ib2JqZWN0IiYmYi5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7YT17fTt2YXIgYz10aGlzLmcrIi4iLGQ7Zm9yKGQgaW4gYilhW2RdPW5ldyBNcShjK2QsYltkXSk7cmV0dXJuIGF9dGhyb3cgQm0odGhpcywib2JqZWN0Iik7fTt2YXIgUHE9ZnVuY3Rpb24oKXt2YXIgYTt0aGlzLmc9YT1hPT09dm9pZCAwP0RtKCk6YX07UHEucHJvdG90eXBlLmxvZz1mdW5jdGlvbihhKXtfLmFsKHRoaXMuZyxhKX07dmFyIFFxPW5ldyBQcTt2YXIgUnE9RW0oImluaXRpYWxpemVkIiksU3E9RW0oImluaXRpYXRlZCIpLFRxPUVtKCJyZXN0b3JlZCIpLFVxPUVtKCJwYWdlX2xvYWRfdG9faW5pdGlhbGl6ZWQiKSxWcT1FbSgiaW5pdGlhbGl6YXRpb25fdG9fdHJhbnNsYXRpb25fdHJpZ2dlcmVkIik7dmFyIFdxPWZ1bmN0aW9uKGEpe3ZhciBiPSJ4YiI7aWYoYS54YiYmYS5oYXNPd25Qcm9wZXJ0eShiKSlyZXR1cm4gYS54YjtiPW5ldyBhO3JldHVybiBhLnhiPWJ9Oy8qCgpNYXRoLnV1aWQuanMgKHYxLjQpCmh0dHA6Ly93d3cuYnJvb2ZhLmNvbQptYWlsdG86cm9iZXJ0QGJyb29mYS5jb20KQ29weXJpZ2h0IChjKSAyMDEwIFJvYmVydCBLaWVmZmVyCkR1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzLgoqLwp2YXIgWHE9IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Ii5zcGxpdCgiIik7Zm9yKHZhciBZcSxacT1BcnJheSgzNiksJHE9MCxhcixicj0wO2JyPDM2O2JyKyspYnI9PTh8fGJyPT0xM3x8YnI9PTE4fHxicj09MjM/WnFbYnJdPSItIjpicj09MTQ/WnFbYnJdPSI0IjooJHE8PTImJigkcT0zMzU1NDQzMitNYXRoLnJhbmRvbSgpKjE2Nzc3MjE2fDApLGFyPSRxJjE1LCRxPj49NCxacVticl09WHFbYnI9PTE5P2FyJjN8ODphcl0pO1lxPVpxLmpvaW4oIiIpOwp2YXIgY3I9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1hPWE9PT12b2lkIDA/WXE6YTt0aGlzLkViPWI9PT12b2lkIDA/IiI6Yjt0aGlzLkZiPWM9PT12b2lkIDA/IiI6Y30sZ3I9ZnVuY3Rpb24oYSl7dmFyIGI9ZHIoYSw3KTtlcihhLGIpO2ZyKGIsNyl9LGhyPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5sYj09PXZvaWQgMD8wOmIubGI7dmFyIGQ9Yi5NZj09PXZvaWQgMD8wOmIuTWY7dmFyIGU9Yi5nZz09PXZvaWQgMD8wOmIuZ2c7dmFyIGY9Yi5MZj09PXZvaWQgMD8wOmIuTGY7Yj1kcihhLDgpO2VyKGEsYik7YT1uZXcgUm47Yz1fLmlrKGEsMSxjKTtkPV8uaWsoYywzLGQpO2U9Xy5payhkLDIsZSk7ZT1fLmlrKGUsNCxmKTtmPVVuKGIpO18uTChmLDYsZSk7TWF0aC5yYW5kb20oKT49LjAwNXx8KGI9Xy5MayhObig4KSxfLldqKGIpKSxRcS5sb2coYikpfSxkcj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBfLmxsO2M9Xy5UaihjLDUwLG9xKTt2YXIgZD1uZXcgVG47Yj1fLmtrKGQsMSxiKTsKYj1fLlRqKGIsMix0cSk7YT1fLlRqKGIsMyxhLmcpO3JldHVybiBfLkwoYywxMTIsYSl9LGZyPWZ1bmN0aW9uKGEsYil7YT1fLkxrKE5uKGIpLF8uV2ooYSkpO1FxLmxvZyhhKX0sZXI9ZnVuY3Rpb24oYSxiKXtiLk5hKGEuRWIpO2IubmEoYS5GYil9O3ZhciBpcj1mdW5jdGlvbihhKXtmb3IodmFyIGI9e30sYz0wO2M8YS5sZW5ndGg7KytjKWJbYVtjXV09ITA7cmV0dXJuIGJ9LGpyPWZ1bmN0aW9uKGEpe3RoaXMuaD1hP1thXTpbXTt0aGlzLmc9WzBdO3RoaXMuaj0hMX07anIucHJvdG90eXBlLnBhc3NlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmp9O2pyLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbihhKXtpZih0aGlzLmopcmV0dXJuIGF8fGZ1bmN0aW9uKCl7fTt0aGlzLmcucHVzaCgwKTt2YXIgYj10aGlzLmcubGVuZ3RoLTE7cmV0dXJuKDAsXy55KShmdW5jdGlvbigpe3RoaXMuZ1tiXSsrO2EmJmEuYXBwbHkobnVsbCxhcmd1bWVudHMpO2tyKHRoaXMpfSx0aGlzKX07CmpyLnByb3RvdHlwZS5kZWxheT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qP2E6KDAsXy55KShmdW5jdGlvbigpe2lmKHRoaXMuailhLmFwcGx5KG51bGwsYXJndW1lbnRzKTtlbHNle3ZhciBiPWFyZ3VtZW50czt0aGlzLmgucHVzaChmdW5jdGlvbigpe2EuYXBwbHkobnVsbCxiKX0pfX0sdGhpcyl9O2pyLnByb3RvdHlwZS5maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLmdbMF09MTtrcih0aGlzKX07CnZhciBrcj1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEuZy5sZW5ndGg7KytiKWlmKGEuZ1tiXT09MClyZXR1cm47YS5qPSEwO2ZvcihiPTA7YjxhLmgubGVuZ3RoOysrYil7dmFyIGM9YS5oW2JdO2EuaFtiXT1udWxsO2MuY2FsbCgpfWEuaD1bXTthLmc9W119LGxyPWZ1bmN0aW9uKGEpe3RoaXMuaj1hO3RoaXMuaD10aGlzLmc9ITF9LG1yPWZ1bmN0aW9uKGEsYil7cmV0dXJuKDAsXy55KShmdW5jdGlvbigpe2ImJmIuYXBwbHkobnVsbCxhcmd1bWVudHMpO3RoaXMuaD90aGlzLmd8fCh0aGlzLmouY2FsbCgpLHRoaXMuZz0hMCk6dGhpcy5nPSEwfSxhKX07bHIucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbigpe3RoaXMuaHx8KHRoaXMuaD0hMCx0aGlzLmcmJnRoaXMuai5jYWxsKCkpfTt2YXIgbnI9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1iO3RoaXMuQj1hO3RoaXMuQT1jfHwwO3RoaXMuaj10aGlzLmg9ITF9LG9yPWZ1bmN0aW9uKGEpe2EuaHx8YS5vKCl9Owpuci5wcm90b3R5cGUubz1mdW5jdGlvbigpeyh0aGlzLmg9KHRoaXMuaj0hIXRoaXMuQi5jYWxsKCkpfHwtLXRoaXMuQTw9MCk/KHRoaXMuZy5jYWxsKG51bGwsdGhpcy5qKSx0aGlzLmw9MCk6dGhpcy5sPXdpbmRvdy5zZXRUaW1lb3V0KCgwLF8ueSkodGhpcy5vLHRoaXMpLDMwKX07bnIucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbigpe3RoaXMubCYmd2luZG93LmNsZWFyVGltZW91dCh0aGlzLmwpO3RoaXMuaD0hMDt0aGlzLmcuY2FsbChudWxsLHRoaXMuail9Owp2YXIgcHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24oKXthLmRpc3BhdGNoRXZlbnQoYil9fSxxcj1mdW5jdGlvbihhKXthPV8uQWMoYSkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCJfIiwiLSIpO2lmKGE9PSJ6aC1jbiIpcmV0dXJuInpoLUNOIjtpZihhPT0iemgtdHciKXJldHVybiJ6aC1UVyI7dmFyIGI9YS5pbmRleE9mKCItIik7YT1iPj0wP2Euc3Vic3RyaW5nKDAsYik6YTtyZXR1cm4gYT09InpoIj8iemgtQ04iOmF9LHJyPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM7Zm9yKGMgaW4gYSlpZihhW2NdIT09T2JqZWN0LnByb3RvdHlwZVtjXSl7dmFyIGQ9Xy5HYihjKTtpZihfLm9jKGFbY10pPT0iYXJyYXkiKWZvcih2YXIgZT0wO2U8YVtjXS5sZW5ndGg7KytlKWIucHVzaChkKyI9IitfLkdiKGFbY11bZV0pKTtlbHNlIGIucHVzaChkKyI9IitfLkdiKGFbY10pKX1yZXR1cm4gYi5qb2luKCImIil9LFFtPWZ1bmN0aW9uKGEsYil7Yj1ifHx7fTtiLm5jYT1hO2IuY2xpZW50PXRxOwpPbiYmKGIubG9nbGQ9InYiK09uKTt2YXIgYz1uZXcgSW1hZ2U7Yy5zcmM9Ii8vIitCcSsiL2dlbjIwND8iK3JyKGIpO2Mub25sb2FkPWZ1bmN0aW9uKCl7Yy5vbmxvYWQ9bnVsbH19LHRyPWZ1bmN0aW9uKGEsYil7aWYoKF8uU2N8fF8uUmMpJiZ3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUhPWRvY3VtZW50LmRvbWFpbil7c3I9c3I/c3IrMToxO3ZhciBjPSJmIitzcisiXyIrRGF0ZS5ub3coKS50b1N0cmluZygzNik7d2luZG93W2NdPWZ1bmN0aW9uKCl7d2luZG93W2NdPXZvaWQgMDthLnNyYz0iIyI7YiYmd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtiKCl9LDApfTthLnNyYz0iamF2YXNjcmlwdDp2b2lkKGRvY3VtZW50LndyaXRlKFwiPHNjcmlwdD5kb2N1bWVudC5kb21haW49JyIrZG9jdW1lbnQuZG9tYWluKyInO3BhcmVudFsnIitjKyInXSgpO1x4M2Mvc2NyaXB0PlwiKSkifWVsc2UgYiYmYigpfSxzcix1cj1mdW5jdGlvbigpe3ZhciBhPXt9O3RyeXtmb3IodmFyIGIgaW4gT2JqZWN0LnByb3RvdHlwZSl7dmFyIGM9Ck9iamVjdC5wcm90b3R5cGVbYl07ZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbYl07YVtiXT1jfX1jYXRjaChkKXtyZXR1cm57fX1yZXR1cm4gYX0sdnI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpT2JqZWN0LnByb3RvdHlwZVtiXT1hW2JdfSx3cj1mdW5jdGlvbihhKXtmb3IodmFyIGIgaW4gYSlpZihhW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSlyZXR1cm4hMTtyZXR1cm4hMH0seHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSE9ImF1dG8iJiZhIT0iemgtQ04iJiZhPT1ifSx5cj1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5oYXNoLm1hdGNoKC9nb29nbGVcLnRyYW5zbGF0ZVwuZWxlbWVudFwuc3A9KFteJl0rKS8pO3JldHVybiBhJiZhWzFdP2FbMV06bnVsbH07dmFyIFBtPW51bGwsenI9bnVsbCxBcj1mdW5jdGlvbigpe307QXIucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkIGluIGMpY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0mJihiW2RdPXR5cGVvZiBjW2RdPT09ImZ1bmN0aW9uIj9jW2RdOl8uWmooUm0sYSxOdW1iZXIoY1tkXSkpKX07dmFyIENyPWZ1bmN0aW9uKCl7UG0mJkJyKCk7UG09W107enI9Xy54KHdpbmRvdywicGFnZWhpZGUiLGZ1bmN0aW9uKCl7QnIoKX0pfSxCcj1mdW5jdGlvbigpe3pyJiYoXy5WZCh6ciksenI9bnVsbCk7UG0mJlBtLmxlbmd0aCYmUW0oUG0uam9pbigiIikpO1BtPW51bGx9LERyPW5ldyBBcjt2YXIgRXI9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEVyLF8uSik7dmFyIFRtPV8uS2koRXIpO3ZhciBTbTt2YXIgRnI9ZnVuY3Rpb24oYSl7dGhpcy51cmw9YTt0aGlzLnRpbWVvdXQ9LTE7dGhpcy5qPXRoaXMuaD0iY2FsbGJhY2siO3RoaXMuZz10aGlzLndiPW51bGx9LEpyPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7YS5nPUdvKCk7dmFyIGM9bmV3IFpsKGEudXJsKSxkPW5ldyBNYXA7YS5qJiZkLnNldChhLmosYS5oKTtjLmcuZXh0ZW5kKFhvKGIpLGQpO0dyKGEpLnRoZW4oZnVuY3Rpb24oKXtIcihhLGMudG9TdHJpbmcoKSl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGEuZy5wcm9taXNlfSkudGhlbihmdW5jdGlvbigpe0lyKGEpfSxmdW5jdGlvbigpe0lyKGEpfSk7YS50aW1lb3V0PjAmJihhLmw9c2V0VGltZW91dChmdW5jdGlvbigpe2EuZy5yZWplY3QoRXJyb3IoInJhIikpfSxhLnRpbWVvdXQpKTtyZXR1cm4gYS5nLnByb21pc2V9LEhyPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IE1lc3NhZ2VDaGFubmVsO2Eud2IuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7dXJsOmIsCmNhbGxiYWNrTmFtZTphLmh9LCIqIixbYy5wb3J0Ml0pO2MucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKGQpe3ZhciBlPXt9O2EubCE9PXZvaWQgMCYmKGNsZWFyVGltZW91dChhLmwpLGEubD12b2lkIDApO2QuZGF0YT09PXZvaWQgMCYmYS5nLnJlamVjdChFcnJvcigic2EiKSk7dHlwZW9mIGQuZGF0YSE9PSJzdHJpbmciJiZhLmcucmVqZWN0KEVycm9yKCJ0YSIpKTt0cnl7ZT1KU09OLnBhcnNlKGQuZGF0YSl9Y2F0Y2goZil7YS5nLnJlamVjdChFcnJvcigidWFgIitmLm1lc3NhZ2UpKX1hLmcucmVzb2x2ZShlKX19LEdyPWZ1bmN0aW9uKGEpe3ZhciBiPUdvKCksYz1fLndkKGRvY3VtZW50LCJJRlJBTUUiKTtpZighYy5zYW5kYm94KXRocm93IEVycm9yKCJ2YSIpO2Muc2FuZGJveC52YWx1ZT0iYWxsb3ctc2NyaXB0cyI7Yy5zdHlsZS5kaXNwbGF5PSJub25lIjthLndiPWM7YT1WbSgpO2E9U2woW18ubWwoIjwhRE9DVFlQRSBodG1sPiIpLFlsKFFsKGEpKV0pO2Muc3JjZG9jPV8ua2ooYSk7CmE9RmwoImRhdGE6dGV4dC9odG1sO2NoYXJzZXQ9VVRGLTg7YmFzZTY0LCIrYnRvYShfLmtqKGEpLnRvU3RyaW5nKCkpKTtjLnNyYz1fLk5hKGEpLnRvU3RyaW5nKCk7Yy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe3JldHVybiBiLnJlc29sdmUoYyl9LCExKTtjLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbihkKXtiLnJlamVjdChkIGluc3RhbmNlb2YgRXJyb3I/ZDpFcnJvcihTdHJpbmcoZCkpKX0sITEpO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChjKTtyZXR1cm4gYi5wcm9taXNlfSxJcj1mdW5jdGlvbihhKXthLndiIT09bnVsbCYmKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVDaGlsZChhLndiKSxhLndiPW51bGwpfTt2YXIgS3I9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLmc9bmV3IFpsKGEpO2lmKGIpZm9yKHZhciBjIGluIGIpYltjXSE9PU9iamVjdC5wcm90b3R5cGVbY10mJnRoaXMuZy5nLnNldChjLGJbY10pfTtfLkIoS3IsXy51KTtLci5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oKXtyZXR1cm4hMH07S3IucHJvdG90eXBlLlNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVGEoKX07S3IucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5ZaShudWxsKX07S3IucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbigpe307dmFyIExyPWZ1bmN0aW9uKGEsYixjKXtLci5jYWxsKHRoaXMsYSxiKTthPXRoaXMuaD1uZXcgRnIodGhpcy5nKTthLmg9ImNhbGxiYWNrIjthLmo9Yz09PXZvaWQgMD8iY2FsbGJhY2siOmN9O18uQihMcixLcik7THIucHJvdG90eXBlLlRhPWZ1bmN0aW9uKCl7cmV0dXJuITB9OwpMci5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihhKXtyZXR1cm4gSnIodGhpcy5oLGEpfTtMci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2EuY2FuY2VsKCl9O3ZhciBNcj1mdW5jdGlvbihhLGIpe0tyLmNhbGwodGhpcyxhLGIpO3RoaXMuaD17fTt0aGlzLmo9MH07Xy5CKE1yLEtyKTtNci5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Ck1yLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz11cigpLGQ9Kyt0aGlzLmosZT17fSxmPXt9OyJxImluIGEmJihmLnE9YS5xLGRlbGV0ZSBhLnEpO2UuaGE9bmV3IF8uV2Y7dGhpcy5nLmguZW5kc1dpdGgoIi5jb3JwLmdvb2dsZS5jb20iKSYmKGUuaGEuQz0hMCk7dmFyIGc9bmV3IF8ub2UoZnVuY3Rpb24oaCxrKXtfLngoZS5oYSwiY29tcGxldGUiLGZ1bmN0aW9uKCl7aWYoIWUuUmUpe2lmKF8uZ2coZS5oYSkpe3ZhciBsPV8uaWcoZS5oYSk7TnIoYixkKTtyZXR1cm4gaChsKX1iLnhpKCk7bD1fLmlnKGUuaGEpO05yKGIsZCk7cmV0dXJuIGsobCl9fSk7Xy54KGUuaGEsInRpbWVvdXQiLGZ1bmN0aW9uKCl7aWYoIWUuUmUpcmV0dXJuIGIuemkoKSxOcihiLGQpLGsoKX0pfSk7ZS5oYS5zZW5kKHRoaXMuZy50b1N0cmluZygpKyImIitycihhKSwiUE9TVCIscnIoZikseyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifSk7CnRoaXMuaFtkXT1lO3ZyKGMpO3JldHVybiBnfTtNci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuaFthXTtiJiYoYi5SZT0hMCxOcih0aGlzLGEpKX07dmFyIE5yPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5oW2JdO2MmJihjLmhhJiYoYy5oYS5kaXNwb3NlKCksYy5oYT1udWxsKSxkZWxldGUgYS5oW2JdKX07TXIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtLci5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO2Zvcih2YXIgYSBpbiB0aGlzLmgpdGhpcy5jYW5jZWwoYSl9O0RyLmF0dGFjaCgxNzE3MCxNci5wcm90b3R5cGUse3ppOjEseGk6Mn0pO3ZhciBPcj1mdW5jdGlvbihhLGIsYyl7S3IuY2FsbCh0aGlzLGEsYyk7dGhpcy5oPWIucHJveHlJc1N1cHBvcnRlZDt0aGlzLmo9ZnVuY3Rpb24oZCxlLGYpe3JldHVybiBfLllpKGIucHJveHlTZW5kKGQsZSxmKSl9O3RoaXMubD1iLnByb3h5Q2FuY2VsfTtfLkIoT3IsS3IpO09yLnByb3RvdHlwZS5UYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmgoKX07Ck9yLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuaih0aGlzLmcudG9TdHJpbmcoKSxhLGIpfTtPci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe3RoaXMubChhKX07dmFyIFByPWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7dGhpcy5oPWE7dGhpcy5nPWI/YjpudWxsfTtfLkIoUHIsXy51KTtQci5wcm90b3R5cGUuTT1mdW5jdGlvbigpe18udS5wcm90b3R5cGUuTS5jYWxsKHRoaXMpfTt2YXIgUnI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy51LmNhbGwodGhpcyk7dmFyIGU7Yj9lPXtjbGllbnQ6Yn06ZT17YW5ubzozLGNsaWVudDp0cSxmb3JtYXQ6Imh0bWwiLHY6IjEuMCJ9O2MmJihlLnNwPWMpO2Uua2V5PWE7T24mJihlLmxvZ2xkPSJ2IitPbik7dGhpcy5nPW51bGw7dGhpcy5oPXtIZjozMDB9O2E9dGhpcy5BPW5ldyBQcihlLGQpO2I9dnEreXE7dGhpcy5vPWEuZz9uZXcgT3IoYixhLmcse2NsaWVudDp0cX0pOm5ldyBMcihiLHtjbGllbnQ6dHF9KTthPXRoaXMuQTtpZihhLmcpe2lmKCFhLmcpdGhyb3cgRXJyb3IoIndhIik7YT1be3ZhOm5ldyBPcih2cSt1cSsiL3RyYW5zbGF0ZV9hL3QiLGEuZyxhLmgpLGNlOjE5MDAsSWY6NDI5NDk2NzI5NSxHZjotMSxXZjowLEtkOiExfV19ZWxzZSBhPVt7dmE6bmV3IE1yKHZxK3VxKyIvdHJhbnNsYXRlX2EvdCIsYS5oKSxjZTozMDcyMCxJZjo0Mjk0OTY3Mjk1LEdmOi0xLFdmOjAsS2Q6ITF9XTt0aGlzLkI9bmV3IFFyKGEpO3RoaXMuaj0KITE7Zm9yKGI9MDtiPGEubGVuZ3RoOysrYil0aGlzLmo9dGhpcy5qfHxhW2JdLnZhLlRhKCk7dGhpcy5qfHx0aGlzLm5pKCl9O18uQihScixfLnUpO1JyLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKGEpe3RoaXMuQ3x8KHRoaXMuQz0hMCx0aGlzLkIuc3RhcnQoKDAsXy55KShmdW5jdGlvbihiKXtiJiYodGhpcy5nPWIsdGhpcy5oLnZhPWIudmEpO2EoKX0sdGhpcykpKX07UnIucHJvdG90eXBlLlRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07UnIucHJvdG90eXBlLlNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZyE9PW51bGwmJnRoaXMuZy52YSE9PW51bGwmJnRoaXMuZy52YS5TYSgpfTsKdmFyIFNyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17cTpjLnN1YnN0cmluZygwLGEuaC5IZiksc2w6ImF1dG8iLHRsOiJlbiJ9O3JldHVybiBuZXcgXy5vZShmdW5jdGlvbihlLGYpe2EuaC52YS5zZW5kKGQsYikudGhlbihmdW5jdGlvbihnKXt0cnl7dmFyIGg9SlNPTi5wYXJzZShnKTtlKGgmJmhbMV18fG51bGwpfWNhdGNoKGspe2UobnVsbCl9fSxmdW5jdGlvbihnKXtyZXR1cm4gZihnfHxudWxsKX0pfSl9OwpSci5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGs9dGhpcyxsPXtxOmIsc2w6Yyx0bDpkfTtsLnRjPWU7ZiYmKGwuY3R0PTEpO2cmJihsLmRvbT0xKTtoJiYobC5zcj0xKTtsW2hxKCldPWdxKGIuam9pbigiIikpO3JldHVybiBuZXcgXy5vZShmdW5jdGlvbihuLHEpe2suZy52YS5zZW5kKGwsYSkudGhlbihmdW5jdGlvbihwKXtpZihwKXtpZih0eXBlb2YgcCE9PSJvYmplY3QiKXRyeXtwPUpTT04ucGFyc2UocCl9Y2F0Y2goQSl7ay5taSgpO3EoKTtyZXR1cm59aWYoXy5vYyhwKSE9ImFycmF5Iil2YXIgcj1bW3AsMjAwXV07ZWxzZSBpZihwLmxlbmd0aD09MiYmXy5vYyhwWzBdKSE9ImFycmF5IiYmXy5vYyhwWzFdKSE9ImFycmF5IilyPVtbcFswXSwyMDAscFsxXV0sW3BbMV0sMjAwLHBbMV1dXTtlbHNle3I9W107Zm9yKHZhciB0PTA7dDxwLmxlbmd0aDsrK3Qpclt0XT1fLm9jKHBbdF0pIT0iYXJyYXkiP1twW3RdLDIwMF06W3BbdF1bMF0sCjIwMCxwW3RdWzFdXX1uKHIpfWVsc2UgcSgpfSl9KX07dmFyIFRyPWZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIF8ub2U/Yi50aGVuKGZ1bmN0aW9uKGMpe2EuZy52YS5jYW5jZWwoYyl9KTphLmcudmEuY2FuY2VsKGIpfTtSci5wcm90b3R5cGUubD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuS2Q/dGhpcy5nLmNlLShuZXcgWmwodGhpcy5nLnZhLmcpKS50b1N0cmluZygpLmxlbmd0aDp0aGlzLmcuY2V9O1JyLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5nJiYodGhpcy5nLnZhLmRpc3Bvc2UoKSx0aGlzLmcudmE9bnVsbCk7dGhpcy5oLnZhPW51bGw7dGhpcy5vLmRpc3Bvc2UoKTt0aGlzLm89bnVsbH07RHIuYXR0YWNoKDczNjEsUnIucHJvdG90eXBlLHtuaTpmdW5jdGlvbigpe1FtKCJ0ZV9hdSIpfX0pO0RyLmF0dGFjaCg0NzUwNCxSci5wcm90b3R5cGUse21pOmZ1bmN0aW9uKCl7UW0oInRlX2FmYnIiKX19KTsKdmFyIFFyPWZ1bmN0aW9uKGEpe3RoaXMuaD1hfTtRci5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oYSl7dGhpcy5nPWE7dGhpcy5qPTA7VXIodGhpcyl9O3ZhciBVcj1mdW5jdGlvbihhKXtpZihhLmo+PWEuaC5sZW5ndGgpYS5nKG51bGwpO2Vsc2V7dmFyIGI9YS5oW2EuaisrXTtiLklpP29yKG5ldyBucigoMCxfLnkpKGIudmEuU2EsYi52YSksKDAsXy55KShmdW5jdGlvbihjKXtjP3RoaXMuZyhiKTpVcih0aGlzKX0sYSksYi5JaSkpOmIudmEuU2EoKT9hLmcoYik6VXIoYSl9fTt2YXIgVnI9aXIoIkEgQUJCUiBBQ1JPTllNIEIgQkFTRUZPTlQgQkRPIEJJRyBDSVRFIERGTiBFTSBGT05UIEkgSU5QVVQgTk9CUiBMQUJFTCBRIFJUIFMgU01BTEwgU1BBTiBTVFJJS0UgU1RST05HIFNVQiBTVVAgVEVYVEFSRUEgVFQgVSBWQVIiLnNwbGl0KCIgIikpLFdyPWlyKCJBUFBMRVQgQVJFQSBCQVNFIEZSQU1FIEZSQU1FU0VUIEhSIExJTksgTUVUQSBOT0ZSQU1FUyBOT1NDUklQVCBJTlBVVCBURVhUQVJFQSBUSVRMRSIuc3BsaXQoIiAiKSksWHI9aXIoIkJSIENPREUgSU1HIEtCRCBNQVAgT0JKRUNUIFBBUkFNIFJQIFNDUklQVCBTVFlMRSBXQlIgc3ZnIi5zcGxpdCgiICIpKSxZcj1pcihbInN1Ym1pdCIsImJ1dHRvbiJdKTtYbS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBacn07dmFyIFpyPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07WG0ucHJvdG90eXBlLm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyIGFzPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5oPSEhYjt0aGlzLm5vZGU9bnVsbDt0aGlzLmc9MDt0aGlzLmo9ITE7dGhpcy5sPSFjO2EmJiRyKHRoaXMsYSxkKTt0aGlzLmRlcHRoPWUhPXZvaWQgMD9lOnRoaXMuZ3x8MDt0aGlzLmgmJih0aGlzLmRlcHRoKj0tMSl9O18uRyhhcyxYbSk7dmFyICRyPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEubm9kZT1iKWEuZz10eXBlb2YgYz09PSJudW1iZXIiP2M6YS5ub2RlLm5vZGVUeXBlIT0xPzA6YS5oPy0xOjE7dHlwZW9mIGQ9PT0ibnVtYmVyIiYmKGEuZGVwdGg9ZCl9LGJzPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaD8tMToxO2EuZz09YiYmKGEuZz1iKi0xLGEuZGVwdGgrPWEuZyooYS5oPy0xOjEpKX07CmFzLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7aWYodGhpcy5qKXtpZighdGhpcy5ub2RlfHx0aGlzLmwmJnRoaXMuZGVwdGg9PTApcmV0dXJuIFpyO3ZhciBhPXRoaXMubm9kZTt2YXIgYj10aGlzLmg/LTE6MTtpZih0aGlzLmc9PWIpe3ZhciBjPXRoaXMuaD9hLmxhc3RDaGlsZDphLmZpcnN0Q2hpbGQ7Yz8kcih0aGlzLGMpOiRyKHRoaXMsYSxiKi0xKX1lbHNlKGM9dGhpcy5oP2EucHJldmlvdXNTaWJsaW5nOmEubmV4dFNpYmxpbmcpPyRyKHRoaXMsYyk6JHIodGhpcyxhLnBhcmVudE5vZGUsYiotMSk7dGhpcy5kZXB0aCs9dGhpcy5nKih0aGlzLmg/LTE6MSl9ZWxzZSB0aGlzLmo9ITA7cmV0dXJuKGE9dGhpcy5ub2RlKT97dmFsdWU6YSxkb25lOiExfTpacn07YXMucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlPT10aGlzLm5vZGUmJighdGhpcy5ub2RlfHxhLmc9PXRoaXMuZyl9Owphcy5wcm90b3R5cGUuc3BsaWNlPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubm9kZSxjPXRoaXMuaD8xOi0xO3RoaXMuZz09YyYmKHRoaXMuZz1jKi0xLHRoaXMuZGVwdGgrPXRoaXMuZyoodGhpcy5oPy0xOjEpKTt0aGlzLmg9IXRoaXMuaDthcy5wcm90b3R5cGUubmV4dC5jYWxsKHRoaXMpO3RoaXMuaD0hdGhpcy5oO2M9Xy5xYShhcmd1bWVudHNbMF0pP2FyZ3VtZW50c1swXTphcmd1bWVudHM7Zm9yKHZhciBkPWMubGVuZ3RoLTE7ZD49MDtkLS0peG8oY1tkXSxiKTtfLkFkKGIpfTt2YXIgZHM9ZnVuY3Rpb24oYSxiKXt0aGlzLmw9ITE7dGhpcy5qPV8uU2M/W106bnVsbDt0aGlzLmg9W107dGhpcy5kb25lPSExO2Zvcih0aGlzLmc9bmV3IGFzKGEsITEsYixhLm5vZGVUeXBlPT09Mz8wOjEsMSk7YT1hLnBhcmVudE5vZGU7KWNzKHRoaXMsYSwhMCk7dGhpcy5oLnB1c2goITEpO3RoaXMuaC5yZXZlcnNlKCk7Zm9yKGE9MTthPHRoaXMuaC5sZW5ndGg7KythKXRoaXMuaFthXT09bnVsbCYmKHRoaXMuaFthXT10aGlzLmhbYS0xXSl9LGNzPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITE6Yzt2YXIgZD0oYi5zdHlsZSYmYi5zdHlsZS53aGl0ZVNwYWNlfHwiIikuc3Vic3RyaW5nKDAsMyk7ZD09PSJwcmUifHwhZCYmYi50YWdOYW1lPT09IlBSRSI/YS5oLnB1c2goITApOmQmJmQhPT0icHJlIj9hLmgucHVzaCghMSk6Yz9hLmgucHVzaChudWxsKTphLmgucHVzaChhLmhbYS5oLmxlbmd0aC0xXSl9LGVzPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5oW2EuaC5sZW5ndGgtCjFdfTtkcy5wcm90b3R5cGUubm9kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcubm9kZX07ZHMucHJvdG90eXBlLmRlcHRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5kZXB0aH07CmRzLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dHJ5e3RoaXMuaiYmdGhpcy5qLmxlbmd0aD4wJiZ0aGlzLmcuZz09PS0xJiZ0aGlzLmoubGVuZ3RoLS07dGhpcy5nLmc9PT0tMSYmdGhpcy5oLmxlbmd0aC0tO2lmKHRoaXMuaiYmdGhpcy5qLmxlbmd0aD4wJiZ0aGlzLmcuZyE9PTEmJiF0aGlzLmcubm9kZS5uZXh0U2libGluZykkcih0aGlzLmcsdGhpcy5qW3RoaXMuai5sZW5ndGgtMV0sLTEsdGhpcy5nLmRlcHRoLTEpO2Vsc2V7dmFyIGE9dGhpcy5nLm5leHQoKTt0aGlzLmw9ITA7aWYoYS5kb25lKXt0aGlzLmRvbmU9ITA7cmV0dXJufXRoaXMuaiYmdGhpcy5nLmc9PT0xJiZ0aGlzLmoucHVzaCh0aGlzLmcubm9kZSl9dGhpcy5nLmc9PT0xJiZ0aGlzLmwmJmNzKHRoaXMsdGhpcy5nLm5vZGUpfWNhdGNoKGIpe3RoaXMud2koYiksdGhpcy5kb25lPSEwfX07RHIuYXR0YWNoKDUyNzU0LGRzLnByb3RvdHlwZSx7d2k6MX0pO3ZhciBRPXt9LGZzPWZ1bmN0aW9uKCl7UVswXT0iT3ZlcnNldHQiO1FbMV09IkF2YnJ5dCI7UVsyXT0iTHVrayI7UVszXT1mdW5jdGlvbihhKXtyZXR1cm4iR29vZ2xlIGhhciBvdmVyc2F0dCBkZW5uZSBzaWRlbiB0aWwgIithKyIgYXV0b21hdGlzayJ9O1FbNF09ZnVuY3Rpb24oYSl7cmV0dXJuIk92ZXJzYXR0IHRpbDogIithfTtRWzVdPSJGZWlsOiBUamVuZXJlbiBrdW5uZSBpa2tlIGZ1bGxmXHUwMGY4cmUgZm9yZXNwXHUwMGY4cnNlbGVuLiBQclx1MDBmOHYgcFx1MDBlNSBueXR0IHNlbmVyZS4iO1FbNl09IkxlcyBtZXIiO1FbN109ZnVuY3Rpb24oYSl7cmV0dXJuIkRyZXZldCBhdiAiK2F9O1FbOF09Ik92ZXJzZXR0ZXIiO1FbOV09Ik92ZXJzZXR0ZWxzZSBwXHUwMGU1Z1x1MDBlNXIiO1FbMTBdPWZ1bmN0aW9uKGEpe3JldHVybiJWaWwgZHUgb3ZlcnNldHRlIGRlbm5lIHNpZGVuIHRpbCAiK2ErIiBtZWQgR29vZ2xlIE92ZXJzZXR0ZXI/In07UVsxMV09ZnVuY3Rpb24oYSl7cmV0dXJuIlZpcyBkZW5uZSBzaWRlbiBwXHUwMGU1OiAiKwphfTtRWzEyXT0iVmlzIG9yaWdpbmFsIjtRWzEzXT0iSW5uaG9sZGV0IHBcdTAwZTUgZGVubmUgbG9rYWxlIGZpbGVuIHNlbmRlcyB0aWwgR29vZ2xlIHZpYSBlbiBzaWtrZXIgdGlsa29ibGluZyBmb3IgXHUwMGU1IGJsaSBvdmVyc2F0dC4iO1FbMTRdPSJJbm5ob2xkZXQgcFx1MDBlNSBkZW5uZSBzaWtyZSBzaWRlbiBzZW5kZXMgdGlsIEdvb2dsZSB2aWEgZW4gc2lra2VyIHRpbGtvYmxpbmcgZm9yIFx1MDBlNSBibGkgb3ZlcnNhdHQuIjtRWzE1XT0iSW5uaG9sZGV0IHBcdTAwZTUgZGVubmUgaW50cmFuZXR0c2lkZW4gc2VuZGVzIHRpbCBHb29nbGUgdmlhIGVuIHNpa2tlciB0aWxrb2JsaW5nIGZvciBcdTAwZTUgYmxpIG92ZXJzYXR0LiI7UVsxNl09IlZlbGcgc3ByXHUwMGU1ayI7UVsxN109ZnVuY3Rpb24oYSl7cmV0dXJuIlNsXHUwMGU1IGF2IG92ZXJzZXR0ZWxzZSB0aWwgIithfTtRWzE4XT1mdW5jdGlvbihhKXtyZXR1cm4iRGVha3RpdmVyIGZvcjogIithfTtRWzE5XT0iU2tqdWwgYWxsdGlkIjsKUVsyMF09Ik9yaWdpbmFsdGVrc3Q6IjtRWzIxXT0iQmlkcmEgbWVkIGVuIGJlZHJlIG92ZXJzZXR0ZWxzZSI7UVsyMl09IkJpZHJhIjtRWzIzXT0iT3ZlcnNldHQgYWx0IjtRWzI0XT0iR2plbm9wcHJldHQgYWx0IjtRWzI1XT0iQXZicnl0IGFsdCI7UVsyNl09Ik92ZXJzZXR0IGRlbGVuZSB0aWwgbWl0dCBzcHJcdTAwZTVrIjtRWzI3XT1mdW5jdGlvbihhKXtyZXR1cm4iT3ZlcnNldHQgYWx0IHRpbCAiK2F9O1FbMjhdPSJWaXMgb3BwcmlubmVsaWdlIHNwclx1MDBlNWsiO1FbMjldPSJBbHRlcm5hdGl2ZXIiO1FbMzBdPSJTbFx1MDBlNSBhdiBvdmVyc2V0dGVsc2UgZm9yIGRldHRlIG5ldHRzdGVkZXQiO1FbMzFdPW51bGw7UVszMl09IlZpcyBhbHRlcm5hdGl2ZSBvdmVyc2V0dGVsc2VyIjtRWzMzXT0iS2xpa2sgcFx1MDBlNSBvcmQgb3ZlbmZvciBmb3IgXHUwMGU1IGZcdTAwZTUgYWx0ZXJuYXRpdmUgb3ZlcnNldHRlbHNlciI7UVszNF09IkJydWsiO1FbMzVdPSJEcmEgbWVkIFNoaWZ0LXRhc3QgZm9yIFx1MDBlNSBlbmRyZSByZWtrZWZcdTAwZjhsZ2UiOwpRWzM2XT0iS2xpa2sgZm9yIFx1MDBlNSBzZSBhbHRlcm5hdGl2ZSBvdmVyc2V0dGVsc2VyIjtRWzM3XT0iSG9sZCBuZWRlIFNoaWZ0LXRhc3Rlbiwga2xpa2ssIG9nIGRyYSBkZXJldHRlciBvcmRlbmUgb3ZlbmZvciBmb3IgXHUwMGU1IGVuZHJlIHBcdTAwZTUgcmVra2VmXHUwMGY4bGdlbi4iO1FbMzhdPSJUYWtrIGZvciBhdCBkdSBiaWRyYXIgbWVkIG92ZXJzZXR0ZWxzZXNmb3JzbGFnZXQgZGl0dCB0aWwgR29vZ2xlIE92ZXJzZXR0ZXIuIjtRWzM5XT0iQWRtaW5pc3RyZXIgb3ZlcnNldHRpbmcgZm9yIGRldHRlIG5ldHRzdGVkZXQiO1FbNDBdPSJLbGlrayBwXHUwMGU1IGV0IG9yZCBmb3IgXHUwMGU1IHNlIGFsdGVybmF0aXZlIG92ZXJzZXR0ZWxzZXIsIGVsbGVyIGRvYmJlbHRrbGlrayBmb3IgXHUwMGU1IHJlZGlnZXJlIGRpcmVrdGUiO1FbNDFdPSJPcHByaW5uZWxpZyB0ZWtzdCI7UVs0Ml09Ik92ZXJzZXR0ZXIiO1FbNDNdPSJPdmVyc2V0dCI7UVs0NF09IlJldHRpbmdlbiBkaW4gZXIgc2VuZHQgaW5uLiI7ClFbNDVdPSJGZWlsOiBTcHJcdTAwZTVrZXQgdGlsIG5ldHRzaWRlbiBzdFx1MDBmOHR0ZXMgaWtrZS4iO1FbNDZdPSJNb2R1bCBmb3Igc3ByXHUwMGU1a292ZXJzZXR0aW5nIjtRWzQ3XT0iR2kgZW4gdnVyZGVyaW5nIGF2IGRlbm5lIG92ZXJzZXR0ZWxzZW4iO1FbNDhdPSJUaWxiYWtlbWVsZGluZ2VuIGRpbiBicnVrZXMgZm9yIFx1MDBlNSBnalx1MDBmOHJlIEdvb2dsZSBPdmVyc2V0dGVyIGJlZHJlIjtRWzQ5XT0iR29kIG92ZXJzZXR0ZWxzZSI7UVs1MF09IkRcdTAwZTVybGlnIG92ZXJzZXR0ZWxzZSI7UVs1MV09Ik92ZXJzZXR0ZWxzZSJ9O3ZhciBncz1mdW5jdGlvbigpe3JldHVybiJbbXNnX3VuZGVmaW5lZF0ifSxSPXt9OwooZnVuY3Rpb24oKXt2YXIgYT1mdW5jdGlvbihiKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYn19O1I9e0llOmEoMCksbWc6YSgxKSxBZTphKDIpLFdqOmEoMyksRGc6YSg0KSxDZTphKDUpLHdnOmEoNDUpLHhnOmEoNiksemc6YSg3KSx3ZDphKDgpLEVnOmEoOSksc2s6YSgxMCksSmc6YSgxMSksQWc6YSgxMiksbGs6YSgxMyksQ2c6YSgxNCksa2s6YSgxNSksQmc6YSgxNiksdms6YSgxNyksRmc6YSgxOCksamo6YSgxOSksVWo6YSgyMCksSWo6YSgyMSksbWs6YSgyMiksZWs6YSgyMyksZGs6YSgyNCksYms6YSgyNSksdGs6YSgyNikscms6YSgyNyksY2s6YSgyOCkseWc6YSgyOSksR2c6YSgzMCksaWo6YSgzMiksZ2o6YSgzMyksd2s6YSgzNCkseGo6YSgzNSkscGo6YSgzNiksd2o6YSgzNyksbms6YSgzOCksUWo6YSgzOSksaGo6YSg0MCksVmo6YSg0MSksRWU6YSg0NiksWGo6YSg0NyksSGo6YSg0OCksR2o6YSg0OSksRmo6YSg1MCksdWs6YSg1MSl9fSkoKTtSLkNsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMF19OwpSLlprPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMV19O1IuYmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVsyXX07Ui5ubD1mdW5jdGlvbigpe3JldHVybiBRWzNdfTtSLkRsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbNF19O1IuZmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1XX07Ui5obD1mdW5jdGlvbigpe3JldHVybiBRWzQ1XX07Ui5pbD1mdW5jdGlvbigpe3JldHVybiBRWzZdfTtSLm9sPWZ1bmN0aW9uKCl7cmV0dXJuIFFbN119O1IuR2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVs4XX07Ui5JbD1mdW5jdGlvbigpe3JldHVybiBRWzldfTtSLkZsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTBdfTtSLk9sPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTFdfTtSLnBsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTJdfTtSLnlsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTNdfTtSLnpsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTRdfTtSLnhsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTVdfTtSLnFsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTZdfTsKUi5MbD1mdW5jdGlvbigpe3JldHVybiBRWzE3XX07Ui5LbD1mdW5jdGlvbigpe3JldHVybiBRWzE4XX07Ui5Zaz1mdW5jdGlvbigpe3JldHVybiBRWzE5XX07Ui5sbD1mdW5jdGlvbigpe3JldHVybiBRWzIwXX07Ui5zaD1mdW5jdGlvbigpe3JldHVybiBRWzQxXX07Ui5lbD1mdW5jdGlvbigpe3JldHVybiBRWzIxXX07Ui5BbD1mdW5jdGlvbigpe3JldHVybiBRWzIyXX07Ui53bD1mdW5jdGlvbigpe3JldHVybiBRWzIzXX07Ui52bD1mdW5jdGlvbigpe3JldHVybiBRWzI0XX07Ui5ybD1mdW5jdGlvbigpe3JldHVybiBRWzI1XX07Ui5IbD1mdW5jdGlvbigpe3JldHVybiBRWzI2XX07Ui5FbD1mdW5jdGlvbigpe3JldHVybiBRWzI3XX07Ui51bD1mdW5jdGlvbigpe3JldHVybiBRWzI4XX07Ui5rbD1mdW5jdGlvbigpe3JldHVybiBRWzI5XX07Ui5NbD1mdW5jdGlvbigpe3JldHVybiBRWzMwXX07Ui5qbD1mdW5jdGlvbigpe3JldHVybiBRWzM5XX07Ui5Yaz1mdW5jdGlvbigpe3JldHVybiBRWzMyXX07ClIuVms9ZnVuY3Rpb24oKXtyZXR1cm4gUVszM119O1IuV2s9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0MF19O1IuTmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNF19O1IuZGw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNV19O1IuYWw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNl19O1IuY2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVszN119O1IuQmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszOF19O1IuZ2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0Nl19O1IudGg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0N119O1Iucmg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0OF19O1IucWg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0OV19O1IucGg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1MF19O1IuSmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1MV19O3ZhciBocz1SO3ZhciBpcz1ocy5zaCxqcz1ocy50aCxrcz1ocy5yaCxscz1ocy5xaCxtcz1ocy5waDt2YXIgcHM9ZnVuY3Rpb24oYSl7dmFyIGI9YS5kaXI7YT1hLmNqO3JldHVybiBWbihXbihWbihXbihWbihfLnlsKCksJzxkaXYgaWQ9Imdvb2ctZ3QtdHQiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItTDdsYmtiIikrJyBza2lwdHJhbnNsYXRlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsgYm9yZGVyLXJhZGl1czogMTJweDsgbWFyZ2luOiAwIDAgMCAtMjNweDsgcGFkZGluZzogMDsgZm9udC1mYW1pbHk6IFwnR29vZ2xlIFNhbnNcJywgQXJpYWwsIHNhbnMtc2VyaWY7IiBkYXRhLWlkPSIiPjxkaXYgaWQ9Imdvb2ctZ3QtdnQiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kIikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1VZDdmciIpKyciPjxpbWcgc3JjPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS9wcm9kdWN0bG9nb3MvdHJhbnNsYXRlL3YxNC8yNHB4LnN2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBhbHQ9IiIvPjxkaXYgY2xhc3M9IicrCihiPT09InJ0bCI/IiAiK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGQiKSsiICI6IiAiK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1pM2pNOGMiKSsiICIpKyciIGRpcj0iJytQKGIpKyciPicrS3AoaXMoKSkrJzwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtazc3SWlmIikrJyI+PGRpdiBpZD0iZ29vZy1ndC1vcmlnaW5hbC10ZXh0IiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLW5WTWZjZC1mbWNtUyIpKyIgIitQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1heEFWMSIpKyciPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIikrIiAiK1AoYikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIikrIiAiK1AoYikrJyIgZGlyPSInK1AoYikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2IiKSsKJyI+JytLcChqcygpKSsnPC9kaXY+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2UiKSsnIj4nK0twKGtzKCkpKyc8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLXhnb3Y1IikrIiAiK1AoYikrJyI+JyksYj09PSJydGwiP1duKFduKF8ueWwoKSxucygpKSxvcygpKTpXbihXbihfLnlsKCksb3MoKSksbnMoKSkpLCI8L2Rpdj48L2Rpdj4iKSwoMCxfLnRsKSgnPGRpdiBpZD0iZ29vZy1ndC12b3RpbmdIaWRkZW5QYW5lIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1hWFlUY2UiKSsnIj48Zm9ybSBpZD0iZ29vZy1ndC12b3RpbmdGb3JtIiBhY3Rpb249IicrUChVcChhKSkrJyIgbWV0aG9kPSJwb3N0IiB0YXJnZXQ9InZvdGluZ0ZyYW1lIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1hWFlUY2UiKSsnIj48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ic2wiIGlkPSJnb29nLWd0LXZvdGluZ0lucHV0U3JjTGFuZyIvPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ0bCIgaWQ9Imdvb2ctZ3Qtdm90aW5nSW5wdXRUcmdMYW5nIi8+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InF1ZXJ5IiBpZD0iZ29vZy1ndC12b3RpbmdJbnB1dFNyY1RleHQiLz48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZ3RyYW5zIiBpZD0iZ29vZy1ndC12b3RpbmdJbnB1dFRyZ1RleHQiLz48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idm90ZSIgaWQ9Imdvb2ctZ3Qtdm90aW5nSW5wdXRWb3RlIi8+PC9mb3JtPjxpZnJhbWUgbmFtZT0idm90aW5nRnJhbWUiIGZyYW1lQm9yZGVyPTA+PC9pZnJhbWU+PC9kaXY+JykpLAoiPC9kaXY+PC9kaXY+Iil9LG9zPWZ1bmN0aW9uKCl7dmFyIGE9Xy55bCgpLGI9bHMoKTtiPVZuKGEsJzxidXR0b24gaWQ9Imdvb2ctZ3QtdGh1bWJVcEJ1dHRvbiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2YiKSsnIiB0aXRsZT0iJytQKGIpKyciIGFyaWEtbGFiZWw9IicrUChiKSsnIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj48c3BhbiBpZD0iZ29vZy1ndC10aHVtYlVwSWNvbiI+Jyk7dmFyIGM9KDAsXy50bCkoJzxzdmcgd2lkdGg9IicrUCgyNCkrJyIgaGVpZ2h0PSInK1AoMjQpKyciIHZpZXdCb3g9IicrUCgiMCAwIDI0IDI0IikrJyIgZm9jdXNhYmxlPSJmYWxzZSIgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZiIikrIiAiK1AoIk5NbTVNIikrJyInK3pwKCkrJz48cGF0aCBkPSJNMjEgN2gtNi4zMWwuOTUtNC41Ny4wMy0uMzJjMC0uNDEtLjE3LS43OS0uNDQtMS4wNkwxNC4xNyAwUzcuMDggNi44NSA3IDdIMnYxM2gxNmMuODMgMCAxLjU0LS41IDEuODQtMS4yMmwzLjAyLTcuMDVjLjA5LS4yMy4xNC0uNDcuMTQtLjczVjljMC0xLjEtLjktMi0yLTJ6TTcgMThINFY5aDN2OXptMTQtN2wtMyA3SDlWOGw0LjM0LTQuMzRMMTIgOWg5djJ6Ii8+PC9zdmc+Jyk7CmI9Vm4oV24oYixjKSwnPC9zcGFuPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iVXBJY29uRmlsbGVkIj4nKTtjPSgwLF8udGwpKCc8c3ZnIHdpZHRoPSInK1AoMjQpKyciIGhlaWdodD0iJytQKDI0KSsnIiB2aWV3Qm94PSInK1AoIjAgMCAyNCAyNCIpKyciIGZvY3VzYWJsZT0iZmFsc2UiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYiIpKyIgIitQKCJOTW01TSIpKyciJyt6cCgpKyc+PHBhdGggZD0iTTIxIDdoLTYuMzFsLjk1LTQuNTcuMDMtLjMyYzAtLjQxLS4xNy0uNzktLjQ0LTEuMDZMMTQuMTcgMFM3LjA4IDYuODUgNyA3djEzaDExYy44MyAwIDEuNTQtLjUgMS44NC0xLjIybDMuMDItNy4wNWMuMDktLjIzLjE0LS40Ny4xNC0uNzNWOWMwLTEuMS0uOS0yLTItMnpNNSA3SDF2MTNoNFY3eiIvPjwvc3ZnPicpO1ZuKFduKGIsYyksIjwvc3Bhbj48L2J1dHRvbj4iKTtyZXR1cm4gYX0sbnM9ZnVuY3Rpb24oKXt2YXIgYT1fLnlsKCksYj1tcygpO2I9Vm4oYSwnPGJ1dHRvbiBpZD0iZ29vZy1ndC10aHVtYkRvd25CdXR0b24iIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IicrClAoIlZJcGdKZC15QVdORWItaHZoZ05kLWJnbTZzZiIpKyciIHRpdGxlPSInK1AoYikrJyIgYXJpYS1sYWJlbD0iJytQKGIpKyciIGFyaWEtcHJlc3NlZD0iZmFsc2UiPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iRG93bkljb24iPicpO3ZhciBjPSgwLF8udGwpKCc8c3ZnIHdpZHRoPSInK1AoMjQpKyciIGhlaWdodD0iJytQKDI0KSsnIiB2aWV3Qm94PSInK1AoIjAgMCAyNCAyNCIpKyciIGZvY3VzYWJsZT0iZmFsc2UiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYiIpKyIgIitQKCJOTW01TSIpKyciJyt6cCgpKyc+PHBhdGggZD0iTTMgMTdoNi4zMWwtLjk1IDQuNTctLjAzLjMyYzAgLjQxLjE3Ljc5LjQ0IDEuMDZMOS44MyAyNHM3LjA5LTYuODUgNy4xNy03aDVWNEg2Yy0uODMgMC0xLjU0LjUtMS44NCAxLjIybC0zLjAyIDcuMDVjLS4wOS4yMy0uMTQuNDctLjE0LjczdjJjMCAxLjEuOSAyIDIgMnpNMTcgNmgzdjloLTNWNnpNMyAxM2wzLTdoOXYxMGwtNC4zNCA0LjM0TDEyIDE1SDN2LTJ6Ii8+PC9zdmc+Jyk7CmI9Vm4oV24oYixjKSwnPC9zcGFuPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iRG93bkljb25GaWxsZWQiPicpO2M9KDAsXy50bCkoJzxzdmcgd2lkdGg9IicrUCgyNCkrJyIgaGVpZ2h0PSInK1AoMjQpKyciIHZpZXdCb3g9IicrUCgiMCAwIDI0IDI0IikrJyIgZm9jdXNhYmxlPSJmYWxzZSIgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZiIikrIiAiK1AoIk5NbTVNIikrJyInK3pwKCkrJz48cGF0aCBkPSJNMyAxN2g2LjMxbC0uOTUgNC41Ny0uMDMuMzJjMCAuNDEuMTcuNzkuNDQgMS4wNkw5LjgzIDI0czcuMDktNi44NSA3LjE3LTdWNEg2Yy0uODMgMC0xLjU0LjUtMS44NCAxLjIybC0zLjAyIDcuMDVjLS4wOS4yMy0uMTQuNDctLjE0LjczdjJjMCAxLjEuOSAyIDIgMnptMTYgMGg0VjRoLTR2MTN6Ii8+PC9zdmc+Jyk7Vm4oV24oYixjKSwiPC9zcGFuPjwvYnV0dG9uPiIpO3JldHVybiBhfTt2YXIgcXM9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIiljJiYoYT0oMCxfLnkpKGEsYykpO2Vsc2UgaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLnkpKGEuaGFuZGxlRXZlbnQsYSk7ZWxzZSB0aHJvdyBFcnJvcigieGEiKTtyZXR1cm4gTnVtYmVyKGIpPjIxNDc0ODM2NDc/LTE6Xy52LnNldFRpbWVvdXQoYSxifHwwKX07dmFyIHJzPWZ1bmN0aW9uKCl7aWYoXy5aYyl7dmFyIGE9L1dpbmRvd3MgTlQgKFswLTkuXSspLztyZXR1cm4oYT1hLmV4ZWMoXy5UYSgpKSk/YVsxXToiMCJ9cmV0dXJuIF8uWWM/KGE9LzFbMHwxXVtfLl1bMC05Xy5dKy8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMF0ucmVwbGFjZSgvXy9nLCIuIik6IjEwIik6Xy4kYz8oYT0vQW5kcm9pZFxzKyhbXlwpO10rKShcKXw7KS8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMV06IiIpOl8uYWR8fF8uYmR8fF8uY2Q/KGE9Lyg/OmlQaG9uZXxDUFUpXHMrT1NccysoXFMrKS8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMV0ucmVwbGFjZSgvXy9nLCIuIik6IiIpOiIifSgpO3ZhciBzcz1mdW5jdGlvbihhKXtyZXR1cm4oYT1hLmV4ZWMoXy5UYSgpKSk/YVsxXToiIn0sdHM9ZnVuY3Rpb24oKXtpZihfLkpoKXJldHVybiBzcygvRmlyZWZveFwvKFswLTkuXSspLyk7aWYoXy5TY3x8Xy5UY3x8Xy5SYylyZXR1cm4gXy5qZDtpZihfLk5oKXtpZihfLiRhKCl8fF8uYWIoKSl7dmFyIGE9c3MoL0NyaU9TXC8oWzAtOS5dKykvKTtpZihhKXJldHVybiBhfXJldHVybiBzcygvQ2hyb21lXC8oWzAtOS5dKykvKX1pZihfLk9oJiYhXy4kYSgpKXJldHVybiBzcygvVmVyc2lvblwvKFswLTkuXSspLyk7aWYoXy5LaHx8Xy5MaCl7aWYoYT0vVmVyc2lvblwvKFxTKykuKk1vYmlsZVwvKFxTKykvLmV4ZWMoXy5UYSgpKSlyZXR1cm4gYVsxXSsiLiIrYVsyXX1lbHNlIGlmKF8uTWgpcmV0dXJuKGE9c3MoL0FuZHJvaWRccysoWzAtOS5dKykvKSk/YTpzcygvVmVyc2lvblwvKFswLTkuXSspLyk7cmV0dXJuIiJ9KCk7Xy5HKFltLF8uaGIpO18ubT1ZbS5wcm90b3R5cGU7Xy5tLkVhPW51bGw7Xy5tLkRjPSEwO18ubS5OZT1udWxsO18ubS56Yj0hMTtfLm0uWmQ9LTE7Xy5tLlViPSJ0b2dnbGVfZGlzcGxheSI7Xy5tLkg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5FYX07Xy5tLlFiPWZ1bmN0aW9uKGEpe2lmKHRoaXMuemIpdGhyb3cgRXJyb3IoInlhIik7dGhpcy5FYT1hfTtfLm0ucmU9ZnVuY3Rpb24oYSl7aWYodGhpcy56Yil0aHJvdyBFcnJvcigieWEiKTt0aGlzLkRjPWF9O18ubS5pc1Zpc2libGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy56Yn07Cl8ubS5wYT1mdW5jdGlvbihhKXt0aGlzLkwmJnRoaXMuTC5zdG9wKCk7dGhpcy5LJiZ0aGlzLksuc3RvcCgpO2lmKGEpe2lmKCF0aGlzLnpiJiZ0aGlzLnVkKCkpe2lmKCF0aGlzLkVhKXRocm93IEVycm9yKCJ6YSIpO3RoaXMucGIoKTthPV8uc2QodGhpcy5FYSk7dGhpcy5EYyYmKHRoaXMubC5OKGEsIm1vdXNlZG93biIsdGhpcy5OZiwhMCksdGhpcy5sLk4oYSwiYmx1ciIsdGhpcy5FaSkpO3RoaXMuVWI9PSJ0b2dnbGVfZGlzcGxheSI/KHRoaXMuRWEuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSIsbXAodGhpcy5FYSwhMCkpOnRoaXMuVWI9PSJtb3ZlX29mZnNjcmVlbiImJnRoaXMucGIoKTt0aGlzLnpiPSEwO3RoaXMuWmQ9RGF0ZS5ub3coKTt0aGlzLkw/KF8uTmQodGhpcy5MLCJlbmQiLHRoaXMuT2YsITEsdGhpcyksdGhpcy5MLnBsYXkoKSk6dGhpcy5PZigpfX1lbHNlIHVzKHRoaXMpfTtfLm0ucGI9ZnVuY3Rpb24oKXt9Owp2YXIgdXM9ZnVuY3Rpb24oYSxiKXthLnpiJiZhLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImJlZm9yZWhpZGUiLHRhcmdldDpifSkmJihhLmwmJl8uUmYoYS5sKSxhLnpiPSExLGEuSz8oXy5OZChhLkssImVuZCIsXy5aaihhLlNlLGIpLCExLGEpLGEuSy5wbGF5KCkpOmEuU2UoYikpfTtfLm09WW0ucHJvdG90eXBlO18ubS5TZT1mdW5jdGlvbihhKXt0aGlzLlViPT0idG9nZ2xlX2Rpc3BsYXkiP3RoaXMuYWkoKTp0aGlzLlViPT0ibW92ZV9vZmZzY3JlZW4iJiYodGhpcy5FYS5zdHlsZS50b3A9Ii0xMDAwMHB4Iik7dGhpcy5nZShhKX07Xy5tLmFpPWZ1bmN0aW9uKCl7dGhpcy5FYS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iO21wKHRoaXMuRWEsITEpfTtfLm0udWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KCJiZWZvcmVzaG93Iil9O18ubS5PZj1mdW5jdGlvbigpe3RoaXMuZGlzcGF0Y2hFdmVudCgic2hvdyIpfTsKXy5tLmdlPWZ1bmN0aW9uKGEpe3RoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiaGlkZSIsdGFyZ2V0OmF9KX07Xy5tLk5mPWZ1bmN0aW9uKGEpe2E9YS50YXJnZXQ7Xy5CZCh0aGlzLkVhLGEpfHx2cyh0aGlzLGEpfHxEYXRlLm5vdygpLXRoaXMuWmQ8MTUwfHx1cyh0aGlzLGEpfTtfLm0uRWk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zZCh0aGlzLkVhKTtpZih0eXBlb2YgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9InVuZGVmaW5lZCIpe2lmKGE9Yi5hY3RpdmVFbGVtZW50LCFhfHxfLkJkKHRoaXMuRWEsYSl8fGEudGFnTmFtZT09IkJPRFkifHx2cyh0aGlzLGEpKXJldHVybn1lbHNlIGlmKGEudGFyZ2V0IT1iKXJldHVybjtEYXRlLm5vdygpLXRoaXMuWmQ8MTUwfHx1cyh0aGlzKX07dmFyIHZzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueGMoYS5OZXx8W10sZnVuY3Rpb24oYyl7cmV0dXJuIGI9PT1jfHxfLkJkKGMsYil9KX07ClltLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7WW0uZWEuTS5jYWxsKHRoaXMpO3RoaXMubC5kaXNwb3NlKCk7Xy5wYSh0aGlzLkwpO18ucGEodGhpcy5LKTtkZWxldGUgdGhpcy5FYTtkZWxldGUgdGhpcy5sO2RlbGV0ZSB0aGlzLk5lfTtfLkcoYm4sXy5oYik7Ym4ucHJvdG90eXBlLmhhbmRsZUV2ZW50PWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLmRiKGEuZyk7Yi50eXBlPWEudHlwZT09ImZvY3VzaW4ifHxhLnR5cGU9PSJmb2N1cyI/ImZvY3VzaW4iOiJmb2N1c291dCI7dGhpcy5kaXNwYXRjaEV2ZW50KGIpfTtibi5wcm90b3R5cGUuTT1mdW5jdGlvbigpe2JuLmVhLk0uY2FsbCh0aGlzKTtfLlZkKHRoaXMuaCk7Xy5WZCh0aGlzLmopO2RlbGV0ZSB0aGlzLmd9O2NuLnByb3RvdHlwZS5oPWZ1bmN0aW9uKCl7fTt2YXIgeXM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg7aWYoaD1jLm9mZnNldFBhcmVudCl7dmFyIGs9aC50YWdOYW1lPT0iSFRNTCJ8fGgudGFnTmFtZT09IkJPRFkiO2lmKCFrfHxjcChoLCJwb3NpdGlvbiIpIT0ic3RhdGljIil7dmFyIGw9aHAoaCk7aWYoIWspe2s9InJ0bCI9PWNwKGgsImRpcmVjdGlvbiIpO3ZhciBuO2lmKG49ayl7bj1fLk9oJiZMbCh0cywxMCk+PTA7dmFyIHE7aWYocT1fLmRkKXE9TGwocnMsMTApPj0wO3ZhciBwPV8uTmgmJkxsKHRzLDg1KT49MDtuPV8uVWN8fG58fHF8fHB9az1uPy1oLnNjcm9sbExlZnQ6ayYmY3AoaCwib3ZlcmZsb3dYIikhPSJ2aXNpYmxlIj9oLnNjcm9sbFdpZHRoLWguY2xpZW50V2lkdGgtaC5zY3JvbGxMZWZ0Omguc2Nyb2xsTGVmdDtsPWFvKGwsbmV3IHpsKGssaC5zY3JvbGxUb3ApKX19fWg9bHx8bmV3IHpsO2w9aHAoYSk7az1scChhKTtsPW5ldyB3bShsLngsbC55LGsud2lkdGgsay5oZWlnaHQpO2lmKGs9aXAoYSkpcD0KbmV3IHdtKGsubGVmdCxrLnRvcCxrLnJpZ2h0LWsubGVmdCxrLmJvdHRvbS1rLnRvcCksaz1NYXRoLm1heChsLmxlZnQscC5sZWZ0KSxuPU1hdGgubWluKGwubGVmdCtsLndpZHRoLHAubGVmdCtwLndpZHRoKSxrPD1uJiYocT1NYXRoLm1heChsLnRvcCxwLnRvcCkscD1NYXRoLm1pbihsLnRvcCtsLmhlaWdodCxwLnRvcCtwLmhlaWdodCkscTw9cCYmKGwubGVmdD1rLGwudG9wPXEsbC53aWR0aD1uLWssbC5oZWlnaHQ9cC1xKSk7bj1fLmxiKGEpO2s9Xy5sYihjKTtuLmchPWsuZyYmKG49bi5nLmJvZHksaz1qcChuLGsuZy5kZWZhdWx0Vmlldyksaz1hbyhrLGhwKG4pKSxsLmxlZnQrPWsueCxsLnRvcCs9ay55KTthPXdzKGEsYik7Yj1sLmxlZnQ7YSY0P2IrPWwud2lkdGg6YSYyJiYoYis9bC53aWR0aC8yKTtiPW5ldyB6bChiLGwudG9wKyhhJjE/bC5oZWlnaHQ6MCkpO2I9YW8oYixoKTtlJiYoYi54Kz0oYSY0Py0xOjEpKmUueCxiLnkrPShhJjE/LTE6MSkqZS55KTt2YXIgcjtnJiYocj0KaXAoYykpJiYoci50b3AtPWgueSxyLnJpZ2h0LT1oLngsci5ib3R0b20tPWgueSxyLmxlZnQtPWgueCk7cmV0dXJuIHhzKGIsYyxkLGYscixnKX0seHM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9RG4oYSk7dmFyIGc9d3MoYixjKTtjPWxwKGIpO3ZhciBoPW5ldyBfLkNhKGMud2lkdGgsYy5oZWlnaHQpO2E9RG4oYSk7aD1uZXcgXy5DYShoLndpZHRoLGguaGVpZ2h0KTt2YXIgaz0wO2lmKGR8fGchPTApZyY0P2EueC09aC53aWR0aCsoZD9kLnJpZ2h0OjApOmcmMj9hLngtPWgud2lkdGgvMjpkJiYoYS54Kz1kLmxlZnQpLGcmMT9hLnktPWguaGVpZ2h0KyhkP2QuYm90dG9tOjApOmQmJihhLnkrPWQudG9wKTtmJiYoZT8oZD1oLGc9MCwoZiY2NSk9PTY1JiYoYS54PGUubGVmdHx8YS54Pj1lLnJpZ2h0KSYmKGYmPS0yKSwoZiYxMzIpPT0xMzImJihhLnk8ZS50b3B8fGEueT49ZS5ib3R0b20pJiYoZiY9LTUpLGEueDxlLmxlZnQmJmYmMSYmKGEueD1lLmxlZnQsZ3w9MSksZiYxNiYmKGs9CmEueCxhLng8ZS5sZWZ0JiYoYS54PWUubGVmdCxnfD00KSxhLngrZC53aWR0aD5lLnJpZ2h0JiYoZC53aWR0aD1NYXRoLm1pbihlLnJpZ2h0LWEueCxrK2Qud2lkdGgtZS5sZWZ0KSxkLndpZHRoPU1hdGgubWF4KGQud2lkdGgsMCksZ3w9NCkpLGEueCtkLndpZHRoPmUucmlnaHQmJmYmMSYmKGEueD1NYXRoLm1heChlLnJpZ2h0LWQud2lkdGgsZS5sZWZ0KSxnfD0xKSxmJjImJihnfD0oYS54PGUubGVmdD8xNjowKXwoYS54K2Qud2lkdGg+ZS5yaWdodD8zMjowKSksYS55PGUudG9wJiZmJjQmJihhLnk9ZS50b3AsZ3w9MiksZiYzMiYmKGs9YS55LGEueTxlLnRvcCYmKGEueT1lLnRvcCxnfD04KSxhLnkrZC5oZWlnaHQ+ZS5ib3R0b20mJihkLmhlaWdodD1NYXRoLm1pbihlLmJvdHRvbS1hLnksaytkLmhlaWdodC1lLnRvcCksZC5oZWlnaHQ9TWF0aC5tYXgoZC5oZWlnaHQsMCksZ3w9OCkpLGEueStkLmhlaWdodD5lLmJvdHRvbSYmZiY0JiYoYS55PU1hdGgubWF4KGUuYm90dG9tLWQuaGVpZ2h0LAplLnRvcCksZ3w9MiksZiY4JiYoZ3w9KGEueTxlLnRvcD82NDowKXwoYS55K2QuaGVpZ2h0PmUuYm90dG9tPzEyODowKSksZT1nKTplPTI1NixrPWUpO2U9bmV3IHdtKDAsMCwwLDApO2UubGVmdD1hLng7ZS50b3A9YS55O2Uud2lkdGg9aC53aWR0aDtlLmhlaWdodD1oLmhlaWdodDthPWs7aWYoYSY0OTYpcmV0dXJuIGE7ZXAoYixuZXcgemwoZS5sZWZ0LGUudG9wKSk7aD1uZXcgXy5DYShlLndpZHRoLGUuaGVpZ2h0KTtfLnljKGMsaCl8fHBwKGIsaCwiYm9yZGVyLWJveCIpO3JldHVybiBhfSx3cz1mdW5jdGlvbihhLGIpe3JldHVybihiJjgmJiJydGwiPT1jcChhLCJkaXJlY3Rpb24iKT9iXjQ6YikmLTl9O18uRyhkbixjbik7ZG4ucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiLGMpe3lzKHRoaXMuZWxlbWVudCx0aGlzLmosYSxiLHZvaWQgMCxjLHRoaXMubCl9O18uRyhlbixjbik7ZW4ucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiLGMpe3lzKChhP18uc2QoYSk6ZG9jdW1lbnQpLmRvY3VtZW50RWxlbWVudCwwLGEsYix0aGlzLmcsYyxudWxsKX07Xy5HKGZuLFltKTtmbi5wcm90b3R5cGUucGI9ZnVuY3Rpb24oKXtpZih0aGlzLm8pe3ZhciBhPSF0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLlViIT0ibW92ZV9vZmZzY3JlZW4iLGI9dGhpcy5IKCk7YSYmKGIuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIixtcChiLCEwKSk7dGhpcy5vLmgoYiw4LHRoaXMuWGIpO2EmJm1wKGIsITEpfX07Xy5HKE8sZm4pO3ZhciB6cz1bXTtfLm09Ty5wcm90b3R5cGU7Xy5tLnlhPW51bGw7Xy5tLmNsYXNzTmFtZT0iVklwZ0pkLXN1RU9kYyI7Xy5tLlpmPTUwMDtfLm0ud2Y9MDtfLm0uYXR0YWNoPWZ1bmN0aW9uKGEpe2E9Z24oYSk7dGhpcy5BLmFkZChhKTtfLngoYSwibW91c2VvdmVyIix0aGlzLlVkLCExLHRoaXMpO18ueChhLCJtb3VzZW91dCIsdGhpcy5OYiwhMSx0aGlzKTtfLngoYSwibW91c2Vtb3ZlIix0aGlzLmdiLCExLHRoaXMpO18ueChhLCJmb2N1cyIsdGhpcy5mYiwhMSx0aGlzKTtfLngoYSwiYmx1ciIsdGhpcy5OYiwhMSx0aGlzKX07Xy5tLmRldGFjaD1mdW5jdGlvbihhKXt2YXIgYj10aGlzO2E/KGE9Z24oYSksQXModGhpcyxhKSx0aGlzLkEuZGVsZXRlKGEpKToodGhpcy5BLmZvckVhY2goZnVuY3Rpb24oYyl7QXMoYixjKX0pLHRoaXMuQS5jbGVhcigpKX07CnZhciBBcz1mdW5jdGlvbihhLGIpe18uVWQoYiwibW91c2VvdmVyIixhLlVkLCExLGEpO18uVWQoYiwibW91c2VvdXQiLGEuTmIsITEsYSk7Xy5VZChiLCJtb3VzZW1vdmUiLGEuZ2IsITEsYSk7Xy5VZChiLCJmb2N1cyIsYS5mYiwhMSxhKTtfLlVkKGIsImJsdXIiLGEuTmIsITEsYSl9O08ucHJvdG90eXBlLkthPWZ1bmN0aW9uKGEpe18uQ2QodGhpcy5IKCksYSl9OwpPLnByb3RvdHlwZS5RYj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLkgoKTtiJiZfLkFkKGIpO08uZWEuUWIuY2FsbCh0aGlzLGEpO2E/KGI9dGhpcy5HLmcuYm9keSxiLmluc2VydEJlZm9yZShhLGIubGFzdENoaWxkKSxfLnBhKHRoaXMuQyksdGhpcy5DPW5ldyBibih0aGlzLkgoKSksXy5hayh0aGlzLF8uWmooXy5wYSx0aGlzLkMpKSxfLngodGhpcy5DLCJmb2N1c2luIix0aGlzLkQsdm9pZCAwLHRoaXMpLF8ueCh0aGlzLkMsImZvY3Vzb3V0Iix0aGlzLlQsdm9pZCAwLHRoaXMpKTooXy5wYSh0aGlzLkMpLHRoaXMuQz1udWxsKX07Ty5wcm90b3R5cGUudmQ9ZnVuY3Rpb24oKXtyZXR1cm4gRW8odGhpcy5IKCkpfTt2YXIgQnM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuRj9hLmlzVmlzaWJsZSgpPzQ6MTphLkk/MzphLmlzVmlzaWJsZSgpPzI6MH07Ck8ucHJvdG90eXBlLnVkPWZ1bmN0aW9uKCl7aWYoIVltLnByb3RvdHlwZS51ZC5jYWxsKHRoaXMpKXJldHVybiExO2lmKHRoaXMuZylmb3IodmFyIGEsYj0wO2E9enNbYl07YisrKV8uQmQoYS5IKCksdGhpcy5nKXx8YS5wYSghMSk7Xy51YSh6cyx0aGlzKTthPXRoaXMuSCgpO2EuY2xhc3NOYW1lPXRoaXMuY2xhc3NOYW1lO3RoaXMuRCgpO18ueChhLCJtb3VzZW92ZXIiLHRoaXMuVWMsITEsdGhpcyk7Xy54KGEsIm1vdXNlb3V0Iix0aGlzLlRjLCExLHRoaXMpO0NzKHRoaXMpO3JldHVybiEwfTsKTy5wcm90b3R5cGUuZ2U9ZnVuY3Rpb24oKXtfLnZhKHpzLHRoaXMpO2Zvcih2YXIgYT10aGlzLkgoKSxiLGM9MDtiPXpzW2NdO2MrKyliLmcmJl8uQmQoYSxiLmcpJiZiLnBhKCExKTt0aGlzLkhiJiZ0aGlzLkhiLlQoKTtfLlVkKGEsIm1vdXNlb3ZlciIsdGhpcy5VYywhMSx0aGlzKTtfLlVkKGEsIm1vdXNlb3V0Iix0aGlzLlRjLCExLHRoaXMpO3RoaXMuZz12b2lkIDA7QnModGhpcyk9PTAmJih0aGlzLlA9ITEpO1ltLnByb3RvdHlwZS5nZS5jYWxsKHRoaXMpfTtPLnByb3RvdHlwZS5kZT1mdW5jdGlvbihhLGIpe3RoaXMuZz09YSYmdGhpcy5BLmhhcyh0aGlzLmcpJiYodGhpcy5QfHwhdGhpcy5JZD8odGhpcy5wYSghMSksdGhpcy5pc1Zpc2libGUoKXx8KHRoaXMuZz1hLHRoaXMubz1ifHxuZXcgRHMoRG4odGhpcy5yYSkpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMucGIoKSx0aGlzLnBhKCEwKSkpOnRoaXMuZz12b2lkIDApO3RoaXMuRj12b2lkIDB9OwpPLnByb3RvdHlwZS5GYz1mdW5jdGlvbihhKXt0aGlzLkk9dm9pZCAwO2lmKGE9PXRoaXMuZyl7YT10aGlzLkc7dmFyIGI9YS5nO3RyeXt2YXIgYz1iJiZiLmFjdGl2ZUVsZW1lbnQ7dmFyIGQ9YyYmYy5ub2RlTmFtZT9jOm51bGx9Y2F0Y2goZSl7ZD1udWxsfWQ9ZCYmdGhpcy5IKCkmJmEuY29udGFpbnModGhpcy5IKCksZCk7dGhpcy55YSE9bnVsbCYmKHRoaXMueWE9PXRoaXMuSCgpfHx0aGlzLkEuaGFzKHRoaXMueWEpKXx8ZHx8dGhpcy5JYSYmdGhpcy5JYS55YXx8dGhpcy5wYSghMSl9fTt2YXIgRXM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1LbihhLkcuZyk7YS5yYS54PWIuY2xpZW50WCtjLng7YS5yYS55PWIuY2xpZW50WStjLnl9O08ucHJvdG90eXBlLlVkPWZ1bmN0aW9uKGEpe3ZhciBiPUZzKHRoaXMsYS50YXJnZXQpO3RoaXMueWE9Yjt0aGlzLkQoKTtiIT10aGlzLmcmJih0aGlzLmc9YixHcyh0aGlzLGIpLEhzKHRoaXMpLEVzKHRoaXMsYSkpfTsKdmFyIEZzPWZ1bmN0aW9uKGEsYil7dHJ5e2Zvcig7YiYmIWEuQS5oYXMoYik7KWI9Yi5wYXJlbnROb2RlO3JldHVybiBifWNhdGNoKGMpe3JldHVybiBudWxsfX07Ty5wcm90b3R5cGUuZ2I9ZnVuY3Rpb24oYSl7RXModGhpcyxhKTt0aGlzLlA9ITB9O08ucHJvdG90eXBlLmZiPWZ1bmN0aW9uKGEpe3RoaXMueWE9YT1Gcyh0aGlzLGEudGFyZ2V0KTt0aGlzLlA9ITA7aWYodGhpcy5nIT1hKXt0aGlzLmc9YTt2YXIgYj1uZXcgSXModGhpcy55YSk7dGhpcy5EKCk7R3ModGhpcyxhLGIpO0hzKHRoaXMpfX07dmFyIEhzPWZ1bmN0aW9uKGEpe2lmKGEuZylmb3IodmFyIGIsYz0wO2I9enNbY107YysrKV8uQmQoYi5IKCksYS5nKSYmKGIuSWE9YSxhLkhiPWIpfTsKTy5wcm90b3R5cGUuTmI9ZnVuY3Rpb24oYSl7dmFyIGI9RnModGhpcyxhLnRhcmdldCksYz1Gcyh0aGlzLGEucmVsYXRlZFRhcmdldCk7YiE9YyYmKGI9PXRoaXMueWEmJih0aGlzLnlhPW51bGwpLENzKHRoaXMpLHRoaXMuUD0hMSwhdGhpcy5pc1Zpc2libGUoKXx8YS5yZWxhdGVkVGFyZ2V0JiZfLkJkKHRoaXMuSCgpLGEucmVsYXRlZFRhcmdldCk/dGhpcy5nPXZvaWQgMDp0aGlzLlQoKSl9O08ucHJvdG90eXBlLlVjPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5IKCk7dGhpcy55YSE9YSYmKHRoaXMuRCgpLHRoaXMueWE9YSl9O08ucHJvdG90eXBlLlRjPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuSCgpO3RoaXMueWEhPWJ8fGEucmVsYXRlZFRhcmdldCYmXy5CZChiLGEucmVsYXRlZFRhcmdldCl8fCh0aGlzLnlhPW51bGwsdGhpcy5UKCkpfTsKdmFyIEdzPWZ1bmN0aW9uKGEsYixjKXthLkZ8fChhLkY9cXMoKDAsXy55KShhLmRlLGEsYixjKSxhLlpmKSl9LENzPWZ1bmN0aW9uKGEpe2EuRiYmKF8udi5jbGVhclRpbWVvdXQoYS5GKSxhLkY9dm9pZCAwKX07Ty5wcm90b3R5cGUuVD1mdW5jdGlvbigpe0JzKHRoaXMpPT0yJiYodGhpcy5JPXFzKCgwLF8ueSkodGhpcy5GYyx0aGlzLHRoaXMuZyksdGhpcy53ZikpfTtPLnByb3RvdHlwZS5EPWZ1bmN0aW9uKCl7dGhpcy5JJiYoXy52LmNsZWFyVGltZW91dCh0aGlzLkkpLHRoaXMuST12b2lkIDApfTtPLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7dGhpcy5wYSghMSk7Q3ModGhpcyk7dGhpcy5kZXRhY2goKTt0aGlzLkgoKSYmXy5BZCh0aGlzLkgoKSk7dGhpcy55YT1udWxsO2RlbGV0ZSB0aGlzLkc7Ty5lYS5NLmNhbGwodGhpcyl9O3ZhciBEcz1mdW5jdGlvbihhLGIpe2VuLmNhbGwodGhpcyxhLGIpfTtfLkcoRHMsZW4pOwpEcy5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7Yj1pcCgoYT9fLnNkKGEpOmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQpO2M9Yz9uZXcgdm0oYy50b3ArMTAsYy5yaWdodCxjLmJvdHRvbSxjLmxlZnQrMTApOm5ldyB2bSgxMCwwLDAsMTApO3hzKHRoaXMuZyxhLDgsYyxiLDkpJjQ5NiYmeHModGhpcy5nLGEsOCxjLGIsNSl9O3ZhciBJcz1mdW5jdGlvbihhKXtkbi5jYWxsKHRoaXMsYSw1KX07Xy5HKElzLGRuKTtJcy5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IHpsKDEwLDApO3lzKHRoaXMuZWxlbWVudCx0aGlzLmosYSxiLGQsYyw5KSY0OTYmJnlzKHRoaXMuZWxlbWVudCw0LGEsMSxkLGMsNSl9O3ZhciBKcz1mdW5jdGlvbigpe08uY2FsbCh0aGlzKTt0aGlzLmxhPW51bGw7dGhpcy5SPW5ldyBfLkhiKHRoaXMpO3RoaXMuQj10aGlzLmo9dGhpcy5oPXRoaXMud2E9bnVsbDt0aGlzLk89ITB9O18uQihKcyxPKTtfLm09SnMucHJvdG90eXBlO18ubS5rYT1mdW5jdGlvbigpe3RoaXMuTz0hMTt2YXIgYT1fLnhmLnRlc3Qob3EpPyJydGwiOiJsdHIiO3RoaXMuUWIoa20ocHMse1VsOkVxLE9rOkNxLFJsOnhxLGRpcjphLGNqOklxfSkpO3RoaXMuY2xhc3NOYW1lKz0iIFZJcGdKZC15QVdORWItTDdsYmtiIHNraXB0cmFuc2xhdGUiOyhhPSEoIXRoaXMuSCgpfHwhdGhpcy5CKSkmJnRoaXMuUi5OKHdpbmRvdywicmVzaXplIiwoMCxfLnkpKHRoaXMucGIsdGhpcykpO3JldHVybiBhfTtfLm0uZGU9ZnVuY3Rpb24oYSxiKXt0aGlzLmxhPWE7Ty5wcm90b3R5cGUuZGUuY2FsbCh0aGlzLGEsYik7dGhpcy5IKCkuc3R5bGUuZGlzcGxheT0iYmxvY2sifTsKXy5tLlVkPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLk8pe3ZhciBiPUZzKHRoaXMsYS50YXJnZXQpO3RoaXMueWE9Yjt0aGlzLkQoKTtiIT10aGlzLmc/KHRoaXMuZz1iLEdzKHRoaXMsYiksSHModGhpcyksRXModGhpcyxhKSk6R3ModGhpcyxiKX19O18ubS5NPWZ1bmN0aW9uKCl7dGhpcy5SJiZ0aGlzLlIuZGlzcG9zZSgpO3RoaXMuQj10aGlzLmxhPXRoaXMuUj1udWxsO08ucHJvdG90eXBlLk0uY2FsbCh0aGlzKX07Xy5tLnJlPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaXNWaXNpYmxlKCkpe2E9KHRoaXMuRGM9YSk/dGhpcy5sLk46dGhpcy5sLnljO3ZhciBiPV8uc2QodGhpcy5IKCkpO2EuY2FsbCh0aGlzLmwsYiwibW91c2Vkb3duIix0aGlzLk5mLCEwKX1lbHNlIE8ucHJvdG90eXBlLnJlLmNhbGwodGhpcyxhKX07Xy5tLlFiPWZ1bmN0aW9uKGEpe08ucHJvdG90eXBlLlFiLmNhbGwodGhpcyxhKTthJiYodGhpcy5CPXZvKGEpKX07Cl8ubS5wYj1mdW5jdGlvbihhLGIpe3ZhciBjPWhwKGRvY3VtZW50LmJvZHkpLnk7aWYodGhpcy5vKXsodGhpcy5vfHxudWxsKS5nLnkrPWM7Ty5wcm90b3R5cGUucGIuY2FsbCh0aGlzKTt2YXIgZD1wYXJzZUludCh0aGlzLkgoKS5zdHlsZS5sZWZ0LDEwKTthPXBhcnNlSW50KHRoaXMuSCgpLnN0eWxlLnRvcCwxMCktKGE/MDpjKTtiJiYoYj10aGlzLlhifHx7fSxhLT1iLnRvcHx8MTAsZC09Yi5sZWZ0fHwxMCk7YS09YzsodGhpcy5vfHxudWxsKS5nLnk9YTsodGhpcy5vfHxudWxsKS5nLng9ZDtjPW5ldyB6bChkLGEpO2VwKHRoaXMuSCgpLGMpfX07Xy5tLnBhPWZ1bmN0aW9uKGEpe08ucHJvdG90eXBlLnBhLmNhbGwodGhpcyxhKX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3RoaXMuaD1hfTtfLm0ubmE9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O18ubS5LYT1mdW5jdGlvbihhKXthPWE/Xy5BYyhhKToiIjt0aGlzLkI/Xy5DZCh0aGlzLkIsYSk6Ty5wcm90b3R5cGUuS2EuY2FsbCh0aGlzLGEpfTsKXy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaH07Xy5tLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07Xy5tLnZkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj9Fbyh0aGlzLkIpOk8ucHJvdG90eXBlLnZkLmNhbGwodGhpcyl9O18ubS5OYj1mdW5jdGlvbihhKXt0aGlzLk98fE8ucHJvdG90eXBlLk5iLmNhbGwodGhpcyxhKX07Xy5tLlVjPWZ1bmN0aW9uKGEpe3RoaXMuT3x8Ty5wcm90b3R5cGUuVWMuY2FsbCh0aGlzLGEpfTtfLm0uVGM9ZnVuY3Rpb24oYSl7dGhpcy5PfHxPLnByb3RvdHlwZS5UYy5jYWxsKHRoaXMsYSl9O3ZhciBLcz1mdW5jdGlvbigpe3RoaXMuaD1uZXcgTWFwO3RoaXMuZz1XcShjcil9LE9zPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXRodW1iVXBCdXR0b24iKSxjPWEuaCxkPWEuZztiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2lmKExzKGMpPT09TXMpZ3IoZCk7ZWxzZXt2YXIgZT1kcihkLDUpO2VyKGQsZSk7ZnIoZSw1KX1OcyhjLE1zKX0sITEpfSxRcz1mdW5jdGlvbihhKXt2YXIgYj1nbigiZ29vZy1ndC10aHVtYkRvd25CdXR0b24iKSxjPWEuaCxkPWEuZztiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2lmKExzKGMpPT09UHMpZ3IoZCk7ZWxzZXt2YXIgZT1kcihkLDYpO2VyKGQsZSk7ZnIoZSw2KX1OcyhjLFBzKX0sITEpfSxUcz1mdW5jdGlvbihhKXt2YXIgYj1nbigiZ29vZy1ndC10dCIpLGM9Yi5kYXRhc2V0LGQ9Z24oImdvb2ctZ3Qtdm90aW5nSW5wdXRTcmNMYW5nIiksZT1nbigiZ29vZy1ndC12b3RpbmdJbnB1dFRyZ0xhbmciKSwKZj1nbigiZ29vZy1ndC12b3RpbmdJbnB1dFNyY1RleHQiKSxnPWduKCJnb29nLWd0LXZvdGluZ0lucHV0VHJnVGV4dCIpLGg9dm8oKSxrPWduKCJnb29nLWd0LXRyYW5zbGF0aW9uIiksbD1hLmgsbj1hLmc7d2luZG93LmRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiZ29vZy1ndC1wb3B1cFNob3duIixmdW5jdGlvbihxKXt2YXIgcD1kcihuLDQpO2VyKG4scCk7ZnIocCw0KTtxPXEuZGV0YWlsO3A9U3RyaW5nKHEuR2QpO3E9cS5YaTtjLmlkPXA7cD1sLmdldChwKXx8UnM7U3MocCk7Yi5zdHlsZS53aWR0aD1NYXRoLm1heChNYXRoLm1pbih3aW5kb3cuaW5uZXJXaWR0aC0xNiw1MzYpLDI4OCkrInB4IjtwPXEuSmEoKXx8IiI7dmFyIHI9cS5vYSgpfHwiIjtkLnZhbHVlPXA7ZS52YWx1ZT1yO2YudmFsdWU9cS52ZCgpO2cudmFsdWU9cS53YTtrJiYoay5pbm5lclRleHQ9cS53YSk7Yi5sYW5nPW9xO2gubGFuZz1wO2smJihrLmxhbmc9cik7Xy54Zi50ZXN0KHApJiYoaC5jbGFzc0xpc3QuYWRkKCJydGwiKSwKaC5kaXI9InJ0bCIpO2smJl8ueGYudGVzdChyKSYmKGsuY2xhc3NMaXN0LmFkZCgicnRsIiksay5kaXI9InJ0bCIpfSwhMSl9LFNzPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXRodW1iVXBCdXR0b24iKSxjPWduKCJnb29nLWd0LXRodW1iVXBJY29uIiksZD1nbigiZ29vZy1ndC10aHVtYlVwSWNvbkZpbGxlZCIpLGU9Z24oImdvb2ctZ3QtdGh1bWJEb3duQnV0dG9uIiksZj1nbigiZ29vZy1ndC10aHVtYkRvd25JY29uIiksZz1nbigiZ29vZy1ndC10aHVtYkRvd25JY29uRmlsbGVkIik7Yi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIik7Yy5zdHlsZS5kaXNwbGF5PSIiO2Quc3R5bGUuZGlzcGxheT0ibm9uZSI7ZS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIik7Zi5zdHlsZS5kaXNwbGF5PSIiO2cuc3R5bGUuZGlzcGxheT0ibm9uZSI7c3dpdGNoKGEpe2Nhc2UgTXM6Yi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsInRydWUiKTtjLnN0eWxlLmRpc3BsYXk9CiJub25lIjtkLnN0eWxlLmRpc3BsYXk9IiI7YnJlYWs7Y2FzZSBQczplLnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwidHJ1ZSIpLGYuc3R5bGUuZGlzcGxheT0ibm9uZSIsZy5zdHlsZS5kaXNwbGF5PSIifWduKCJnb29nLWd0LXZvdGluZ0lucHV0Vm90ZSIpLnZhbHVlPWF9LExzPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXR0IikuZGF0YXNldDtyZXR1cm4gYS5nZXQoYi5pZCl9LE5zPWZ1bmN0aW9uKGEsYil7THMoYSk9PT1iJiYoYj1Scyk7U3MoYik7dmFyIGM9Z24oImdvb2ctZ3QtdHQiKS5kYXRhc2V0O2Euc2V0KGMuaWQsYik7Z24oImdvb2ctZ3Qtdm90aW5nRm9ybSIpLnN1Ym1pdCgpfSxScz0oMCkudG9TdHJpbmcoKSxNcz0oMSkudG9TdHJpbmcoKSxQcz0oMikudG9TdHJpbmcoKTt2YXIgVXM9ZnVuY3Rpb24oYSl7dGhpcy5BPWE7dGhpcy5sPXRoaXMuaD10aGlzLm89dGhpcy5qPS0xO3RoaXMuZz0hMTt0aGlzLkM9MDt0aGlzLkQ9IiI7dGhpcy5GPTB9O1VzLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe2lmKCF0aGlzLmcpe3RoaXMuZz0hMDt2YXIgYT1bXSxiO2ZvcihiPTA7YjwxNTtiKyspYVtiXT1YcVswfE1hdGgucmFuZG9tKCkqNjJdO3RoaXMuRD1hLmpvaW4oIiIpO3RoaXMuQz0wO3RoaXMubD10aGlzLmg9dGhpcy5vPXRoaXMuaj0tMTt0aGlzLkY9RGF0ZS5ub3coKTtxcyh0aGlzLkIsMUU0LHRoaXMpfX07VXMucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmcmJih0aGlzLmc9ITEsVnModGhpcykpfTtVcy5wcm90b3R5cGUuQj1mdW5jdGlvbigpe3RoaXMuZyYmKFZzKHRoaXMpLHFzKHRoaXMuQiwxRTMsdGhpcykpfTsKdmFyIFZzPWZ1bmN0aW9uKGEpe3ZhciBiPWEuQS5sLGM9YS5BLkEsZD1hLkEuaixlPWEuQS5vO2lmKGEuaiE9Ynx8YS5vIT1jfHxhLmghPWR8fGEubCE9ZSl7dmFyIGY9e307Zi5jdD1iO2YuY3Y9YztmLmN0cz1kO2YuY3ZzPWU7Zi5zaWQ9YS5EO2Yuc2VxPWEuQysrO2YudGF0PURhdGUubm93KCktYS5GO2lmKGEuaj49MHx8YS5vPj0wfHxhLmg+PTB8fGEubD49MClmLnB0PWEuaixmLnB2PWEubyxmLnB0cz1hLmgsZi5wdnM9YS5sO1FtKCJ0ZV92IixmKTthLmo9YjthLm89YzthLmg9ZDthLmw9ZX19O3ZhciBXcz1mdW5jdGlvbigpe3RoaXMubz10aGlzLmo9dGhpcy5BPXRoaXMubD0wO3RoaXMuZz1bXTt0aGlzLmg9Xy52LkludGVyc2VjdGlvbk9ic2VydmVyIT1udWxsP25ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoMCxfLnkpKHRoaXMuQix0aGlzKSk6bnVsbH07V3MucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihhLGIpe3RoaXMuais9Yjt2YXIgYz10aGlzLmcubGVuZ3RoO3RoaXMuZy5wdXNoKGIpO2ZvcihiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBkPWFbYl07eW8oZCk/KGRbWHNdPWMsdGhpcy5sKz1FbyhkKS5sZW5ndGgsdGhpcy5oJiZ0aGlzLmgub2JzZXJ2ZShkKSk6dGhpcy5GZihkLm5vZGVUeXBlKX19O1dzLnByb3RvdHlwZS5kZXRhY2g9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBjPWFbYl07eW8oYyk/KGNbWHNdPXZvaWQgMCx0aGlzLmgmJnRoaXMuaC51bm9ic2VydmUoYykpOnRoaXMuRmYoYy5ub2RlVHlwZSl9fTsKV3MucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5vPXRoaXMuaj10aGlzLkE9dGhpcy5sPTA7dGhpcy5nPVtdfTtXcy5wcm90b3R5cGUuQj1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9YVtiXTtpZihjLmludGVyc2VjdGlvblJhdGlvPjAmJmMudGFyZ2V0W1hzXSE9bnVsbCl7dGhpcy5BKz1FbyhjLnRhcmdldCkubGVuZ3RoO3ZhciBkPWMudGFyZ2V0W1hzXTt0aGlzLm8rPXRoaXMuZ1tkXTt0aGlzLmdbZF09MDtkZWxldGUgYy50YXJnZXRbWHNdfX19O0RyLmF0dGFjaCgzNjU0NixXcy5wcm90b3R5cGUse0ZmOjF9KTt2YXIgWHM9Il9ndF8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyKTt2YXIgWXM9e307WXMuYWRkPWtuO1lzLkRrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1obihhKTt0eXBlb2YgYj09PSJzdHJpbmciP18udmEoZCxiKTpBcnJheS5pc0FycmF5KGIpJiYoZD1sbihkLGIpKTt0eXBlb2YgYyE9PSJzdHJpbmcifHxfLnRhKGQsYyk/QXJyYXkuaXNBcnJheShjKSYmam4oZCxjKTpkLnB1c2goYyk7YS5jbGFzc05hbWU9ZC5qb2luKCIgIil9O1lzLmVuYWJsZT1vbjtZcy5nZXQ9aG47WXMuaGFzPW5uO1lzLnJlbW92ZT1tbjtZcy5zZXQ9ZnVuY3Rpb24oYSxiKXthLmNsYXNzTmFtZT1ifTtZcy5obT1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWhuKGEpLGU9ITEsZj0wO2Y8ZC5sZW5ndGg7ZisrKWRbZl09PWImJihkLnNwbGljZShmLS0sMSksZT0hMCk7ZSYmKGQucHVzaChjKSxhLmNsYXNzTmFtZT1kLmpvaW4oIiAiKSk7cmV0dXJuIGV9O1lzLnRvZ2dsZT1mdW5jdGlvbihhLGIpe3ZhciBjPSFubihhLGIpO29uKGEsYixjKTtyZXR1cm4gY307dmFyIFpzPWZ1bmN0aW9uKGEpe18uaGIuY2FsbCh0aGlzKTthPWF8fHt9O3RoaXMuZz1KbChhKTt0aGlzLmcuaGM9YS5oYyE9PXZvaWQgMD9hLmhjOjE7dGhpcy5nLnZlPSEhYS52ZTt0aGlzLmcuYmg9cGFyc2VJbnQoYS5iaCwxMCl8fDMwMDt0aGlzLmcudHJhY2tWaXNpYmlsaXR5PWEudHJhY2tWaXNpYmlsaXR5fHwhMTt0aGlzLmcuYXBpS2V5PWEuYXBpS2V5fHwiIjt0aGlzLkM9MDt0aGlzLmw9e307dGhpcy5CPW51bGw7dGhpcy5GPXRoaXMuRD0iIjt0aGlzLm89bmV3IF8uSGIodGhpcyk7dGhpcy5BPXRoaXMuaj10aGlzLmg9bnVsbDt0aGlzLmcudHJhY2tWaXNpYmlsaXR5JiZfLnYuSW50ZXJzZWN0aW9uT2JzZXJ2ZXIhPW51bGwmJih0aGlzLmo9bmV3IFdzLHRoaXMuQT1uZXcgVXModGhpcy5qKSk7dGhpcy5oPW5ldyBKcyh7U2k6dGhpcy5nLlNpfSk7dGhpcy5oLndmPTMwMDt0aGlzLmguWmY9MUUzO3RoaXMuaC5yZSghMCk7dGhpcy5vLk4odGhpcy5oLCJzaG93IiwoMCxfLnkpKHRoaXMub2csCnRoaXMpKTt0aGlzLm8uTih0aGlzLmgsImhpZGUiLCgwLF8ueSkodGhpcy5uZyx0aGlzKSk7dGhpcy5oLmthKCk7YT1uZXcgS3M7Z24oImdvb2ctZ3QtdGh1bWJVcEJ1dHRvbiIpJiYoT3MoYSksUXMoYSksVHMoYSkpfTtfLkIoWnMsXy5oYik7dmFyICRzPWZ1bmN0aW9uKGEpe2EuQSYmYS5BLnN0b3AoKTtmb3IodmFyIGIgaW4gYS5sKXt2YXIgYz1hLGQ9Yy5sW2JdO2lmKGQpe2MuaiYmYy5qLmRldGFjaChkLkFhKTtmb3IodmFyIGU9MDtlPGQuQWEubGVuZ3RoOysrZSlkLkFhW2VdJiZjLmRldGFjaChkLkFhW2VdKTtkZWxldGUgYy5sW2JdfX1hLmomJmEuai5yZXNldCgpfTtfLm09WnMucHJvdG90eXBlO18ubS5hdHRhY2g9ZnVuY3Rpb24oYSxiKXtiJiYoYi5HZD1hLHRoaXMuaC5hdHRhY2goYikpfTtfLm0uZGV0YWNoPWZ1bmN0aW9uKGEpe2EmJnRoaXMuaC5kZXRhY2goYSl9OwpfLm0ub2c9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmgubGE7YT1hP2EuR2Q6dm9pZCAwO2lmKGEhPT12b2lkIDApe3ZhciBiPXRoaXMubFthXTthdCh0aGlzLHRoaXMuQiwhMSk7dGhpcy5CPWE7YXQodGhpcyxhKTt0aGlzLmguTmEoYi5UaSk7dGhpcy5oLm5hKGIuVmkpO3ZhciBjPWIuWjt0aGlzLmgud2E9YyYmXy5BYyhjKTt0aGlzLmguS2EoYi50ZXh0KX1hPW5ldyBDdXN0b21FdmVudCgiZ29vZy1ndC1wb3B1cFNob3duIix7ZGV0YWlsOntHZDphLFhpOnRoaXMuaH19KTt3aW5kb3cuZG9jdW1lbnQuYm9keS5kaXNwYXRjaEV2ZW50KGEpfTtfLm0ubmc9ZnVuY3Rpb24oKXthdCh0aGlzLHRoaXMuQiwhMSl9O18ubS5NPWZ1bmN0aW9uKCl7JHModGhpcyk7dGhpcy5oJiYodGhpcy5oLmRpc3Bvc2UoKSx0aGlzLmg9bnVsbCk7dGhpcy5vJiYodGhpcy5vLmRpc3Bvc2UoKSx0aGlzLm89bnVsbCk7Xy5oYi5wcm90b3R5cGUuTS5jYWxsKHRoaXMpfTsKdmFyIGF0PWZ1bmN0aW9uKGEsYixjKXtpZihhPWEubFtiXSlmb3IoYz1jfHx0eXBlb2YgYz09InVuZGVmaW5lZCIsYj0wO2I8YS5BYS5sZW5ndGg7KytiKWlmKGEuQWFbYl0pWXNbYz8iYWRkIjoicmVtb3ZlIl0oYS5BYVtiXSwiVklwZ0pkLXlBV05FYi1WSXBnSmQtZm1jbVMtc241NFEiKX07dmFyIGJ0PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKWlmKGFbYl0mJmFbYl0ubm9kZSlyZXR1cm4gYVtiXS5ub2RlO3JldHVybiBudWxsfSxmdD1mdW5jdGlvbihhKXt2YXIgYj1idChhKTtpZighYilyZXR1cm4gbnVsbDt2YXIgYz1bXSxkPVtdLGU9W107Yj1uZXcgZHMoYiwhMCk7dmFyIGY9YVthLmxlbmd0aC0xXS5ub2RlLGc9MCxoPSExO2Rve2IubmV4dCgpO3ZhciBrPWIubm9kZSgpO2lmKCFrKWJyZWFrO3ZhciBsPWIuZy5nLG49Yi5kZXB0aCgpO2ZvcihsPT0xJiYtLW47ZzxhLmxlbmd0aCYmIWFbZ10ubm9kZTspKytnO2s9PWFbZ10ubm9kZXx8IWgmJmw9PTEmJihrIT1udWxsJiZrLnByZXZpb3VzU2libGluZz09bnVsbD8wOiFjdChkdChrKSkpPyhsPWV0KGspLGQucHVzaCh7bm9kZTpsLEthOmZ1bmN0aW9uKCl7fX0pLGVbZC5sZW5ndGgtMV09bixrLnBhcmVudE5vZGUmJmsucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxrKSxrPT1hW2ddLm5vZGUmJgooY1tnKytdPWQubGVuZ3RoLTEsaD0hMCkpOmg9ITF9d2hpbGUoayE9Zik7cmV0dXJue3plOmUsR2k6YyxkaTpkfX0sY3Q9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJlhyW2EudGFnTmFtZV19LGR0PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIG51bGw7Zm9yKGE9YS5wcmV2aW91c1NpYmxpbmc7YSE9bnVsbCYmYSE9bnVsbCYmYS5ub2RlVHlwZT09MyYmXy5BYyhFbyhhKSk9PSIiOylhPWEucHJldmlvdXNTaWJsaW5nO3JldHVybiBhfSxqdD1mdW5jdGlvbihhLGIsYyxkLGUsZil7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuZz1bXTtmb3IodmFyIGc9MDtnPGEubGVuZ3RoOysrZyl0aGlzLmcucHVzaCgibm9kZVR5cGUiaW4gYVtnXT9ndChhW2ddKTphW2ddKSxodChhW2ddLm5vZGUpO3RoaXMubD1iO3RoaXMuRD1kfHwwO3RoaXMuUj1lfHwwO3RoaXMuQz1jO3RoaXMuQj1mfHxudWxsO3RoaXMuSz10aGlzLkc9dGhpcy5MPSExO3RoaXMubz1bXTt0aGlzLkE9W107dGhpcy5oPVtdOwp0aGlzLk89W107bmV3IF8uSGIodGhpcyk7dGhpcy5qPXRoaXMuST0hMX0sZ3Q7Xy5CKGp0LF8uaGIpOwp2YXIgbXQ9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuITE7aWYoYS5ub2RlVHlwZSE9M3x8IV8uU2MpcmV0dXJuIGt0IGluIGEmJiEhYVtrdF07aWYoIWEucGFyZW50Tm9kZSlyZXR1cm4hMDtpZighKGx0IGluIGEucGFyZW50Tm9kZSkpcmV0dXJuITE7dmFyIGI9YS5wYXJlbnROb2RlW2x0XTtpZighYnx8IWJbYS5ub2RlVmFsdWVdKXJldHVybiExO2I9YlthLm5vZGVWYWx1ZV07Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDsrK2MpaWYoYltjXT09YSlyZXR1cm4hMDtyZXR1cm4hMX0sbnQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4iIjtpZihhLnRhZ05hbWU9PSJUSVRMRSIpcmV0dXJuIFN0cmluZyhkb2N1bWVudC50aXRsZSk7YS5ub2RlVHlwZT09Mz9iPSJub2RlVmFsdWUiOmJ8fChiPSJ2YWx1ZSIpO3JldHVybiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoYik/U3RyaW5nKGEuZ2V0QXR0cmlidXRlKGIpKTp0eXBlb2YgYVtiXT09PSJzdHJpbmciP1N0cmluZyhhW2JdKToKIiJ9O2p0LnByb3RvdHlwZS5tYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmx9Owp2YXIgb3Q9ZnVuY3Rpb24oYSxiLGMpe2I9e1BmOmIsaGU6YyxVOltdfTthLmgucHVzaChiKTtyZXR1cm4gYn0scXQ9ZnVuY3Rpb24oYSl7aWYoIWEuaiYmYS5MJiYhYS5HJiYhYS5LKXthLkc9ITA7dmFyIGI7aWYoYj1wdChhLmcpKXtiPWEuZzt2YXIgYz1hLmg7aWYoYi5sZW5ndGg9PTEmJmJbMF0mJmJbMF0ueGUpe2Zvcih2YXIgZD1bXSxlPTA7ZTxjLmxlbmd0aDsrK2UpZm9yKHZhciBmPTA7ZjxjW2VdLlUubGVuZ3RoOysrZilkLnB1c2goY1tlXS5VW2ZdLlopO2JbMF0uS2EoZC5qb2luKCIgIiksYlswXS5ub2RlKTtiPSEwfWVsc2UgYj0hMTtiPSFifWlmKGImJihiPWZ0KGEuZykpKXthLkE9Yi5HaTthLm89Yi5kaTtkPWEuZztlPWEuQTtmPWEubzt2YXIgZz1iLnplO2M9W107Zm9yKHZhciBoPTA7aDxkLmxlbmd0aDsrK2gpaWYoY1toXT1bXSxkW2hdLm5vZGUmJmVbaF0hPT12b2lkIDApZm9yKHZhciBrPTA7azxmLmxlbmd0aDsrK2spaWYoIShnW2tdPmdbZVtoXV0pKXtpZihnW2tdPT0KZ1tlW2hdXSl7aWYoZltrXS5ub2RlLnBhcmVudE5vZGUhPWZbZVtoXV0ubm9kZS5wYXJlbnROb2RlKWNvbnRpbnVlfWVsc2V7Zm9yKHZhciBsPWdbZVtoXV0tZ1trXSxuPWZbZVtoXV0ubm9kZS5wYXJlbnROb2RlO2wtLSYmbiYmbiE9ZltrXS5ub2RlLnBhcmVudE5vZGU7KW49bi5wYXJlbnROb2RlO2lmKG4hPWZba10ubm9kZS5wYXJlbnROb2RlKWNvbnRpbnVlfWNbaF0ucHVzaChrKX1kPWEuZztlPWEuaDtmPS0xO2ZvcihnPWUubGVuZ3RoLTE7Zz49MDstLWcpZm9yKGg9ZVtnXSxrPWguVS5sZW5ndGgtMTtrPj0wOy0taylpZihsPWguVVtrXSwhKGwuWDwwKSYmZFtsLlhdJiZkW2wuWF0ubm9kZSlpZihmPDApbC5YYz1pcihjW2wuWF0pLGY9Y1tsLlhdW2NbbC5YXS5sZW5ndGgtMV07ZWxzZSBmb3Iobj1jW2wuWF0ubGVuZ3RoLTE7bj49MDstLW4paWYoY1tsLlhdW25dPD1mKXtsLlhjPWlyKGNbbC5YXS5zbGljZSgwLG4rMSkpO2Y9Y1tsLlhdW25dO2JyZWFrfWZvcihjPWU9MDtjPGEuaC5sZW5ndGg7KytjKXtkPQphLmhbY107Zj1hLmc7Zz1kO2g9Yi56ZTtrPWEuQTtsPSIiO2ZvcihuPTA7bjxnLlUubGVuZ3RoOysrbil7dmFyIHE9Zy5VW25dO2wrPXEuWjtpZihxLlg8MCl7dmFyIHA9LTEscj0tMSx0PWtbZy5VW24tMV0uWF07dCE9PXZvaWQgMCYmKHA9aFt0XSk7bjxnLlUubGVuZ3RoLTEmJih0PWtbZy5VW24rMV0uWF0sdCE9PXZvaWQgMCYmKHI9aFt0XSkpO2lmKHA+PTB8fHI+PTApYTppZih0PShwPDB8fHI8cCkmJm48Zy5VLmxlbmd0aC0xLHA9ZixyPXEscT1nLlVbdD9uKzE6bi0xXSwhKHEuWD49cC5sZW5ndGh8fHBbcS5YXS5ub2RlPT1udWxsKSl7cD1yLlo7ci5aPSIiO2lmKC9eICskLy50ZXN0KHApJiYocj10P3EuWi5jaGFyQ29kZUF0KDApOnEuWi5jaGFyQ29kZUF0KHEuWi5sZW5ndGgtMSksMzU4NDw9ciYmcjw9MzcxMXx8MTIyODg8PXImJnI8PTEyMzUxfHwxMjM1Mjw9ciYmcjw9MTI1NDN8fDEyNzg0PD1yJiZyPD0xMjc5OXx8MTk5Njg8PXImJnI8PTQwOTU5fHw2NTI4MDw9ciYmcjw9CjY1NTE5KSlicmVhayBhO3EuWj10P3ArcS5aOnEuWitwfX19Zj1sO2c9YS5nO2g9ZDtrPWEubztsPWIuemU7bj1hLkE7cT1bXTtmb3IocD0wO3A8aC5VLmxlbmd0aCYmIShlPj1rLmxlbmd0aCk7KytwKWlmKHI9aC5VW3BdLHIuWGMmJiEoci5YPDApJiZnW3IuWF0ubm9kZSYmci5aKWlmKGU9PW5bci5YXXx8ZSBpbiByLlhjJiYoIShlKzEgaW4gci5YYyl8fGUrMSE9bltyLlhdKSl7aWYoa1tlXSYma1tlXS5ub2RlKXt0PWV0KGtbZV0ubm9kZSk7cS5wdXNoKHQpO2Zvcih2YXIgQT1rW2VdLm5vZGUsRD1sW25bci5YXV0tbFtlXSxFPXQsYmE9Z1tyLlhdLm5vZGUucGFyZW50Tm9kZSxaPUU7YmEmJkQtLTspWj1iYS5jbG9uZU5vZGUoITEpLFouYXBwZW5kQ2hpbGQoRSksYmE9YmEucGFyZW50Tm9kZSxFPVo7QS5hcHBlbmRDaGlsZChaKTtBPWdbci5YXS5ub2RlO2dbci5YXS5yZD9nW3IuWF0uemZ8fHQuYXBwZW5kQ2hpbGQoQSk6KEE9Z1tyLlhdLm5vZGUuY2xvbmVOb2RlKCExKSxBLmlkJiYKKEEuaWQ9IiIpLHQuYXBwZW5kQ2hpbGQoQSkpO2dbci5YXS5LYShyLlosQSl9fWVsc2UrK2UsLS1wO2c9cTtuPWEuZztxPWQ7aD1hLkM7aWYocS5QZiloPXEuUGY7ZWxzZXtsPW4ubGVuZ3RoO2s9LTE7Zm9yKHA9MDtwPHEuVS5sZW5ndGg7KytwKXI9cS5VW3BdLlgscj49MCYmbltyXSYmbltyXS5ub2RlJiYoaz1NYXRoLm1heChrLHIpLGw9TWF0aC5taW4obCxyKSk7Zm9yKG49IiI7bDw9azsrK2wpaFtsXSYmKG4rPWhbbF0pO2g9bn1sPWE7bj1nO3E9aDtpZihsLkIpe2lmKGwuQi5nLmhjIT0zKXtnPWwuTztoPWcucHVzaDtrPWwuQjtkPWQuaGU7ZD1rLmxbKytrLkNdPXtpZDprLkMudG9TdHJpbmcoKSxSazpsLHRleHQ6cSxmbTpkfHxxLFo6ZixUaTprLkQsVmk6ay5GLEFhOm59O2ZvcihmPTA7ZjxuLmxlbmd0aDsrK2YpbltmXSYmay5hdHRhY2goZC5pZCxuW2ZdKTtrLmomJmsuai5hdHRhY2gobixxLmxlbmd0aCk7ay5BJiZrLkEuc3RhcnQoKTtoLmNhbGwoZyxkLmlkKX19ZWxzZSBmb3IoZD0KMDtkPG4ubGVuZ3RoOysrZCluW2RdLnRpdGxlPXF9Yj1hLmc7Zm9yKGM9MDtjPGIubGVuZ3RoOysrYyliW2NdLm5vZGUmJiFiW2NdLnJkJiZfLkFkKGJbY10ubm9kZSk7Yj1hLmc7Yz1hLm87YT1hLkE7Zm9yKGU9ZD0wO2U8Yy5sZW5ndGg7KytlKWlmKGY9Y1tlXS5ub2RlKXtmb3IoO2Q8Yi5sZW5ndGgmJmU+YVtkXTspZCsrOyhkPj1iLmxlbmd0aHx8ZSE9YVtkXSkmJiFmLmZpcnN0Q2hpbGQmJihfLkFkKGYpLGNbZV0ubm9kZT1udWxsKX19fX07Cmp0LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYodGhpcy5HKWlmKHRoaXMuRz0hMSx0aGlzLkImJiRzKHRoaXMuQiksdGhpcy5PPVtdLHB0KHRoaXMubyksdGhpcy5nLmxlbmd0aD09MSYmdGhpcy5nWzBdLnhlKXRoaXMuZ1swXS5LYSh0aGlzLkNbMF0sdGhpcy5nWzBdLm5vZGUpO2Vsc2V7Zm9yKHZhciBhPTAsYj0wO2I8dGhpcy5vLmxlbmd0aDsrK2Ipe3ZhciBjPXRoaXMub1tiXS5ub2RlO2lmKGMpe2Zvcig7YTx0aGlzLmcubGVuZ3RoJiZiPnRoaXMuQVthXTspe3ZhciBkPWErKzt0aGlzLmdbZF0ubm9kZSYmKHJ0KHRoaXMuZ1tkXS5ub2RlKSx0aGlzLmdbZF0ubm9kZT1udWxsKX1pZihhPHRoaXMuZy5sZW5ndGgmJmI9PXRoaXMuQVthXSYmdGhpcy5nW2FdLm5vZGUpe3RoaXMuZ1thXS56Znx8KF8uemQoYyksYy5hcHBlbmRDaGlsZCh0aGlzLmdbYV0ubm9kZSkpO3RoaXMuZ1thXS5LYSh0aGlzLkNbYV0sdGhpcy5nW2FdLm5vZGUpO2ErKzt2YXIgZT1jLnBhcmVudE5vZGU7CmlmKGUmJmUubm9kZVR5cGUhPTExKWlmKGMucmVtb3ZlTm9kZSljLnJlbW92ZU5vZGUoITEpO2Vsc2V7Zm9yKDtkPWMuZmlyc3RDaGlsZDspZS5pbnNlcnRCZWZvcmUoZCxjKTtfLkFkKGMpfX1lbHNlIF8uQWQoYyl9fXRoaXMubz1bXX19O2p0LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy5oYi5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO3RoaXMucmVzdG9yZSgpO2Zvcih2YXIgYT0wO2E8dGhpcy5nLmxlbmd0aDsrK2EpdGhpcy5nW2FdLm5vZGUmJnJ0KHRoaXMuZ1thXS5ub2RlKTt0aGlzLmc9bnVsbH07CnZhciBodD1mdW5jdGlvbihhKXtpZihhKWlmKGEubm9kZVR5cGU9PTMmJl8uU2Mpe2x0IGluIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlW2x0XXx8KGEucGFyZW50Tm9kZVtsdF09e30pO3ZhciBiPWEucGFyZW50Tm9kZVtsdF07YlthLm5vZGVWYWx1ZV18fChiW2Eubm9kZVZhbHVlXT1bXSk7Yj1iW2Eubm9kZVZhbHVlXTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoOysrYylpZihiW2NdPT1hKXJldHVybjtiLnB1c2goYSl9ZWxzZSBhW2t0XT0xfSxydD1mdW5jdGlvbihhKXtpZighYXx8YS5ub2RlVHlwZT09MyYmXy5TYyl7dmFyIGI9YS5wYXJlbnROb2RlO2lmKGImJmx0IGluIGIpe3ZhciBjPWJbbHRdO2lmKGMmJmEmJmNbYS5ub2RlVmFsdWVdKXt2YXIgZD1jW2Eubm9kZVZhbHVlXTtpZihkKWZvcih2YXIgZT0wO2U8ZC5sZW5ndGg7KytlKWlmKGRbZV09PWEpe2Quc3BsaWNlKGUsMSk7YnJlYWt9ZC5sZW5ndGg9PTAmJmRlbGV0ZSBjW2Eubm9kZVZhbHVlXX1pZihjJiZ3cihjKSl0cnl7ZGVsZXRlIGJbbHRdfWNhdGNoKGYpe2JbbHRdPQoiIn19fWVsc2UgaWYoa3QgaW4gYSl0cnl7ZGVsZXRlIGFba3RdfWNhdGNoKGYpe2Fba3RdPSIifX0scHQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2IpdHJ5e2FbYl0ubm9kZSYmIWFbYl0ubm9kZS5wYXJlbnROb2RlJiYoYVtiXS5ub2RlPW51bGwpfWNhdGNoKGMpe2FbYl0ubm9kZT1udWxsfWZvcihiPWEubGVuZ3RoLTE7Yj49MCYmIWFbYl0ubm9kZTstLWIpO2EubGVuZ3RoPWIrMTtyZXR1cm4gYS5sZW5ndGh9LGV0PWZ1bmN0aW9uKGEpe2E9YS5vd25lckRvY3VtZW50P2Eub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb250Iik6Xy53ZChkb2N1bWVudCwiZm9udCIpO2h0KGEpO2Euc3R5bGUudmVydGljYWxBbGlnbj0iaW5oZXJpdCI7Xy5vaShfLlppKHBxLDIpKSYmKGEuZGlyPSJhdXRvIik7cmV0dXJuIGF9LHN0PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1uZXcgU2V0LGM9MDtjPGEuZy5sZW5ndGg7YysrKXt2YXIgZD1hLmdbY10ubm9kZTtkIT1udWxsJiYKYi5hZGQoZCl9cmV0dXJuIGJ9LHR0PWZ1bmN0aW9uKCl7dGhpcy5oPXt9O3RoaXMuZz17fX07dHQucHJvdG90eXBlLmhhcz1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmhbYV0hPW51bGx8fHRoaXMuZ1thXSE9bnVsbHx8YiYmKGEgaW4gdGhpcy5ofHxhIGluIHRoaXMuZyl9O3R0LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihhLGIpe3RoaXMuZ1thXT1ifTt0dC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe2RlbGV0ZSB0aGlzLmdbYV07ZGVsZXRlIHRoaXMuaFthXX07dHQucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nW2FdO2J8fChiPXRoaXMuaFthXSx0aGlzLmdbYV09Yik7cmV0dXJuIGJ9O3ZhciBrdD0iX2d0XyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpLGx0PSJfZ3RuXyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpOwooZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGMpe2RvY3VtZW50LnRpdGxlPWN9dmFyIGI9e307Z3Q9ZnVuY3Rpb24oYyxkKXtpZihjLnRhZ05hbWU9PSJUSVRMRSIpcmV0dXJue25vZGU6YyxLYTphLHJkOiEwLHpmOiEwLHhlOiEwfTtpZihjLm5vZGVUeXBlPT0zKXJldHVybntub2RlOmMsS2E6ZnVuY3Rpb24oZSxmKXtfLkNkKGYsZSl9fTtkfHwoZD0idmFsdWUiKTtiW2RdfHwoYltkXT1mdW5jdGlvbihlLGYpe2Yuc2V0QXR0cmlidXRlJiZmLnNldEF0dHJpYnV0ZShkLGUpO3R5cGVvZiBlPT09InN0cmluZyImJihmW2RdPWUpfSk7Yz17bm9kZTpjLEthOmJbZF0scmQ6ITB9O2QhPSJ2YWx1ZSImJihjLnhlPSEwKTtyZXR1cm4gY319KSgpOwp2YXIgdXQ9ZnVuY3Rpb24oYSxiLGMsZCl7ZD1kLmZpcnN0Q2hpbGQmJmQuZmlyc3RDaGlsZC5ub2RlVHlwZT09Mz9kLmZpcnN0Q2hpbGQubm9kZVZhbHVlOkVvKGQpO2Q9e1g6YyxaOnBvKGQpfTthLnB1c2goZCk7YltjXT9iW2NdLmVuZD1kOmJbY109e3N0YXJ0OmQsZW5kOmR9O3JldHVybiBkfSx2dD1mdW5jdGlvbihhKXtmb3IodmFyIGIsYz1hLmZpcnN0Q2hpbGQ7YztjPWIpYj1jLm5leHRTaWJsaW5nLGMubm9kZVR5cGUhPTMmJihjPT1hLmZpcnN0Q2hpbGQ/YS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGMsYSk6eG8oYyxhKSx2dChjKSl9O3ZhciB3dD1mdW5jdGlvbigpe3RoaXMuZz1bXX07d3QucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXt0aGlzLmcucHVzaChhKX07dmFyIHh0PWZ1bmN0aW9uKCl7dGhpcy5nPVtdfTtfLkIoeHQsd3QpO3h0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7aWYoYSlmb3IoO2EoKTspO307eHQuZz1mdW5jdGlvbigpe3JldHVybiBXcSh4dCl9O3ZhciB6dD1mdW5jdGlvbihhKXt0aGlzLmc9W107dGhpcy5oPS41O3l0KHRoaXMsYSk7dGhpcy5sPTA7dGhpcy5qPSEwO3RoaXMubz0oMCxfLnkpKHRoaXMuQSx0aGlzKX07Xy5CKHp0LHd0KTt2YXIgeXQ9ZnVuY3Rpb24oYSxiKXtiPjE/YS5oPTE6YjwuMDAxP2EuaD0uMDAxOmImJihhLmg9Yil9O3p0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7d3QucHJvdG90eXBlLmFkZC5jYWxsKHRoaXMsYSk7dGhpcy5qJiZBdCh0aGlzKX07dmFyIEF0PWZ1bmN0aW9uKGEpe2Euaj0hMTt3aW5kb3cuc2V0VGltZW91dChhLm8sTWF0aC5taW4oYS5sLDVFMykpfTsKenQucHJvdG90eXBlLkE9ZnVuY3Rpb24oKXt2YXIgYT0obmV3IERhdGUpLmdldFRpbWUoKTtkb3t0aGlzLmcubGVuZ3RoJiYodGhpcy5nWzBdJiZ0aGlzLmdbMF0oKXx8dGhpcy5nLnNoaWZ0KCkpO3ZhciBiPSEhdGhpcy5nLmxlbmd0aDt2YXIgYz05NSp0aGlzLmgrNTt2YXIgZD0obmV3IERhdGUpLmdldFRpbWUoKS1hfXdoaWxlKGImJmQ8Yyk7dGhpcy5sPU1hdGguY2VpbChkKigxL3RoaXMuaC0xKSkrMTtiP0F0KHRoaXMpOnRoaXMuaj0hMH07dmFyIEJ0PWZ1bmN0aW9uKGEsYil7dGhpcy5EPWF8fG51bGw7dGhpcy5JPWJ8fHh0LmcoKTt0aGlzLkI9dGhpcy5BPXRoaXMuRz1udWxsO3RoaXMubD10aGlzLmo9ITE7dGhpcy5vPW51bGw7dGhpcy5nPVtdO3RoaXMuaD0wfSxDdD1mdW5jdGlvbihhLGIpe2Euanx8KGEuRz1iKX0sRHQ9ZnVuY3Rpb24oYSxiLGMpe2EuQT1jPygwLF8ueSkoYixjKTpifSxFdD1mdW5jdGlvbihhLGIsYyl7YS5CPWM/KDAsXy55KShiLGMpOmJ9LEZ0PWZ1bmN0aW9uKGEsYil7YS5qfHwoYS5qPSEwLGEuRj1iLGEuaCsrLGEubz1hLkcsYS5DKCkpfTtCdC5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuaCsrO3RoaXMuaj0hMTt0aGlzLmc9W119Owp2YXIgR3Q9ZnVuY3Rpb24oYSl7aWYoIWEuailyZXR1cm4gbnVsbDtmb3IodmFyIGI9ITEsYz0wO2M8YS5nLmxlbmd0aDsrK2MpaWYoYS5nW2NdLnRhcmdldD09PWEpe2EuZ1tjXS5yZWFkeT0hMTthLmdbY10uaGc9YS5oKzE7Yj0hMDticmVha31ifHxhLmcucHVzaCh7dGFyZ2V0OmEscmVhZHk6ITEsaGc6YS5oKzF9KTtyZXR1cm4oMCxfLnkpKGEuQyxhLGEsYS5oKzEpfSxIdD1mdW5jdGlvbihhKXtpZighYS5qKXJldHVybiEwO2Zvcih2YXIgYj0wO2I8YS5nLmxlbmd0aDsrK2IpaWYoYS5nW2JdLnRhcmdldD09PWEmJmEuZ1tiXS5oZz09YS5oKXJldHVybiBhLmdbYl0ucmVhZHk7cmV0dXJuITB9OwpCdC5wcm90b3R5cGUuQz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuail7aWYoYSlmb3IodmFyIGM9MDtjPHRoaXMuZy5sZW5ndGg7KytjKWlmKHRoaXMuZ1tjXS50YXJnZXQ9PT1hKXt0aGlzLmdbY10ucmVhZHk9ITA7YnJlYWt9dGhpcy5sfHx0aGlzLkkuYWRkKCgwLF8ueSkodGhpcy5XLHRoaXMsYnx8dGhpcy5oKSl9fTsKQnQucHJvdG90eXBlLlc9ZnVuY3Rpb24oYSl7aWYodGhpcy5oIT1hKXJldHVybiExO2E9dGhpcy5vO2lmKGE9PUl0KXJldHVybiB0aGlzLnN0b3AoKSx0aGlzLkEmJnRoaXMuQS5jYWxsKHRoaXMuRCx0aGlzLHRoaXMuRiksITE7dGhpcy5sPSEwO3RyeXt2YXIgYj1hLmNhbGwodGhpcy5ELHRoaXMsdGhpcy5GKTtpZighYil0aHJvdyBFcnJvcigpO31jYXRjaChjKXt0aGlzLnN0b3AoKTthPWM7aWYodGhpcy5CKXRoaXMuQi5jYWxsKHRoaXMuRCxhLHRoaXMsdGhpcy5GKTtlbHNlIHRocm93IGE7cmV0dXJuITF9ZmluYWxseXt0aGlzLmw9ITF9YiE9SnQmJih0aGlzLm89Yix0aGlzLmgrKyx0aGlzLkMoKSk7cmV0dXJuITF9O3ZhciBKdD1mdW5jdGlvbigpe30sSXQ9ZnVuY3Rpb24oKXt9O3ZhciBLdD1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEuY2xhc3NOYW1lPT0ic3RyaW5nIj9hLmNsYXNzTmFtZTphLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifSxMdD1mdW5jdGlvbihhLGIpe3R5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU9YjphLnNldEF0dHJpYnV0ZSYmYS5zZXRBdHRyaWJ1dGUoImNsYXNzIixiKX0sTXQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QuY29udGFpbnMoYik6Xy50YShhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpLdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxiKX0sTnQ9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighTXQoYSxiKSl7dmFyIGM9S3QoYSk7THQoYSxjKyhjLmxlbmd0aD4wPyIgIitiOmIpKX19LE90PWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QucmVtb3ZlKGIpOk10KGEsYikmJgpMdChhLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpLdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxmdW5jdGlvbihjKXtyZXR1cm4gYyE9Yn0pLmpvaW4oIiAiKSl9O3ZhciBRdD1mdW5jdGlvbihhLGIsYyxkLGUpe2I9Ynx8e307dGhpcy5XPWV8fFtdO3RoaXMuQT1bXTt0aGlzLkY9W107UHQodGhpcyxhfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYi5WZj09PXZvaWQgMHx8ISFiLlZmKTt0aGlzLkM9Y3x8anQ7dGhpcy5EPWIubGk7dGhpcy5qPXRoaXMuZz10aGlzLm89dGhpcy5kYz1udWxsO3RoaXMuQj0hIWIuYmo7dGhpcy5MPSEhYi5aaTt0aGlzLks9dGhpcy5CPzI3OjEzO3RoaXMuST0hMDt0aGlzLkc9W107dGhpcy5sPW5ldyBCdCh0aGlzLGQpfSxSdD1mdW5jdGlvbihhLGIsYyxkKXthLmwuanx8KGI9e2RnOmIsYWc6YyxBYTpbXSxRZjpbXSxyYjpbXSx0ZXh0TGVuZ3RoOjAsc2l6ZTowLGNvbnRpbnVvdXM6ITB9LGEuZGM9bnVsbCxDdChhLmwsYS5oKSxEdChhLmwsZCksRXQoYS5sLCgwLF8ueSkoZnVuY3Rpb24oZSl7dGhpcy51aShlKTtkKCl9LGEpKSxGdChhLmwsYikpfSxTdD1mdW5jdGlvbihhLGIpe3JldHVybiBhLkFhLmxlbmd0aD4wPwpuZXcgYihhLkFhLGEucmIuam9pbigiIiksYS5RZixhLnRleHRMZW5ndGgsYS5zaXplKTpudWxsfSxUdD1mdW5jdGlvbihhLGIpe2lmKCFhLmopcmV0dXJuIGEuZGM9U3QoYixhLkMpLCEwO2lmKCFiLmNvbnRpbnVvdXMmJmIuQWEubGVuZ3RoPjApcmV0dXJuIGEuZGM9U3QoYixhLkMpLCEwO2IuY29udGludW91cz1hLmouS2Y7YTp7dmFyIGM9YS5qO3ZhciBkPWEuSztpZihiLnNpemU+Yi5hZ3x8Yi50ZXh0TGVuZ3RoPmIuZGcpYz0hMTtlbHNle3ZhciBlPWMuc2l6ZSxmPWMudGV4dC5sZW5ndGg7aWYoYi5BYS5sZW5ndGghPTAmJihlKz1iLkFhLmxlbmd0aD09MT9iLnNpemUrZCtkOmIuc2l6ZStkLGYrPWIudGV4dExlbmd0aCxlPmIuYWd8fGY+Yi5kZykpe2M9ITE7YnJlYWsgYX1iLnNpemU9ZTtiLnRleHRMZW5ndGg9ZjtiLkFhLnB1c2goYy5ub2RlKTtiLlFmLnB1c2goYy50ZXh0KTtkPWIuQWEubGVuZ3RoLTE7ZD09MD9iLnJiLnB1c2goYy5MZCk6KGQ9PTEmJihiLnJiWzBdPSI8YSBpPTA+IisKYi5yYlswXSsiPC9hPiIpLGIucmIucHVzaCgiPGEgaT0iK2QrIj4iKSxiLnJiLnB1c2goYy5MZCksYi5yYi5wdXNoKCI8L2E+IikpO2M9ITB9fWlmKGMpcmV0dXJuIGEuaj1udWxsLCExO2EuZGM9U3QoYixhLkMpO3JldHVybiEwfSxVdD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bnQoYixjKTtkJiZfLkFjKGpvKGQpKSYmYS5HLnB1c2goe25vZGU6YixZZzpjLHRleHQ6ZH0pfTsKUXQucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO2lmKHRoaXMuaiYmVHQodGhpcyxiKSlyZXR1cm4gSXQ7aWYoIXRoaXMuZyl7dGhpcy5JPSEhdGhpcy5BLmxlbmd0aDtpZighdGhpcy5BLmxlbmd0aCYmKGE9dGhpcy5HLnNoaWZ0KCkpKXJldHVybiB0aGlzLmo9e0tmOiExLG5vZGU6Z3QoYS5ub2RlLGEuWWcpLHRleHQ6YS50ZXh0LExkOmxvKGEudGV4dCksc2l6ZTp0aGlzLkI/Xy5HYihhLnRleHQpLmxlbmd0aDphLnRleHQubGVuZ3RofSxiLmNvbnRpbnVvdXM9ITEsVHQodGhpcyxiKSxJdDthPXRoaXMuQS5zaGlmdCgpfHx0aGlzLkYuc2hpZnQoKTtpZighYSlyZXR1cm4gdGhpcy5qPW51bGwsVHQodGhpcyxiKSxJdDt0aGlzLm89W2EuWWldO3RoaXMuZz1uZXcgZHMoYS5yb290KX10aGlzLmcubmV4dCgpO2lmKHRoaXMuZy5kb25lKXJldHVybiB0aGlzLmc9bnVsbCxiLmNvbnRpbnVvdXM9ITEsdGhpcy5oO2E9dGhpcy5nLm5vZGUoKTt2YXIgZD10aGlzLmcuZy5nOwppZihkPT0tMSlyZXR1cm4gVnQodGhpcyksV3QoYSl8fChiLmNvbnRpbnVvdXM9ITEpLHRoaXMuaDtYdCh0aGlzLGEpO2Q9ZD09MTt2YXIgZT0hIWEmJihhLm5vZGVUeXBlPT0zJiZ0eXBlb2YgYS5ub2RlVmFsdWU9PT0ic3RyaW5nInx8YS50YWdOYW1lPT0iVElUTEUiJiZ0eXBlb2YgYS52YWx1ZT09PSJzdHJpbmcifHxhLnRhZ05hbWU9PSJURVhUQVJFQSImJk10KGEsInRyYW5zbGF0ZSIpfHxhLnRhZ05hbWU9PSJJTlBVVCImJihZclthLnR5cGVdfHxNdChhLCJ0cmFuc2xhdGUiKSkpO2lmKChlfHxkKSYmdGhpcy5JJiYhWXQoYSkpcmV0dXJuIFB0KHRoaXMsYSxadCh0aGlzKSwhMCksYnModGhpcy5nLmcpLFZ0KHRoaXMpLHRoaXMuaDtpZihkJiZadCh0aGlzKSYmKHRoaXMuTCYmVXQodGhpcyxhLCJ0aXRsZSIpLFV0KHRoaXMsYSwiYWx0IiksVXQodGhpcyxhLCJwbGFjZWhvbGRlciIpLFV0KHRoaXMsYSwiYXJpYS1sYWJlbCIpLFV0KHRoaXMsYSwiYXJpYS1wbGFjZWhvbGRlciIpLFV0KHRoaXMsCmEsImFyaWEtcm9sZWRlc2NyaXB0aW9uIiksVXQodGhpcyxhLCJhcmlhLXZhbHVldGV4dCIpLGVzKHRoaXMuZykpKWZvcih2YXIgZj1hLmZpcnN0Q2hpbGQ7Zjspe2lmKGYubm9kZVR5cGU9PTMpe3ZhciBnPWYubm9kZVZhbHVlLnNwbGl0KCJcbiIpO2lmKGcubGVuZ3RoPjJ8fGcubGVuZ3RoPT0yJiZfLkFjKGdbMF0pIT0iIiYmXy5BYyhnWzFdKSE9IiIpe2Yubm9kZVZhbHVlPWdbMF07Zm9yKHZhciBoPTE7aDxnLmxlbmd0aDsrK2gpe3ZhciBrPV8uc2QoYSkuY3JlYXRlRWxlbWVudCgiZm9udCIpO3RoaXMuVy5wdXNoKGspO3hvKGssZik7Zj1rO3hvKF8uc2QoYSkuY3JlYXRlVGV4dE5vZGUoIlxuIitnW2hdKSxmKTtmPWYubmV4dFNpYmxpbmd9fX1mPWYubmV4dFNpYmxpbmd9YS5zaGFkb3dSb290JiZBcnJheS5mcm9tKGEuc2hhZG93Um9vdC5jaGlsZE5vZGVzKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe1B0KGMscixadChjKSl9KTtpZihlKXticyh0aGlzLmcuZyk7aWYoWnQodGhpcykpe3ZhciBsPQpudChhKTtpZihfLkFjKGpvKGwpKSYmKHRoaXMuaj17S2Y6ITAsbm9kZTpndChhKSx0ZXh0OmwsTGQ6bG8obCksc2l6ZTp0aGlzLkI/Xy5HYihsKS5sZW5ndGg6bC5sZW5ndGh9LFR0KHRoaXMsYikpKXJldHVybiBWdCh0aGlzKSxJdH1WdCh0aGlzKTtyZXR1cm4gdGhpcy5ofWlmKGQpe2lmKCR0KGEpfHwhYS5maXJzdENoaWxkJiZhLnRhZ05hbWUhPSJJRlJBTUUiJiZhLnRhZ05hbWUhPSJSVUJZIilyZXR1cm4gYi5jb250aW51b3VzPWIuY29udGludW91cyYmISFYclthLnRhZ05hbWVdLGJzKHRoaXMuZy5nKSxWdCh0aGlzKSx0aGlzLmg7aWYoYS50YWdOYW1lPT0iUlVCWSIpe3RyeXtsPV8uQyhhLmNoaWxkTm9kZXMpO2Zvcih2YXIgbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBxPW4udmFsdWU7cS5ub2RlVHlwZSE9MyYmUHQodGhpcyxxLFp0KHRoaXMpKX19Y2F0Y2gocil7fWJzKHRoaXMuZy5nKTtWdCh0aGlzKTtyZXR1cm4gdGhpcy5ofWlmKGEudGFnTmFtZT09IklGUkFNRSIpe3RyeXtpZighYS5zcmMubWF0Y2goL2h0dHBzPzpcL1wvLyl8fApfLkNiKGEuc3JjLm1hdGNoKF8ucmYpWzNdfHxudWxsKT09d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKXt2YXIgcD16byhhKS5kb2N1bWVudEVsZW1lbnQ7cCYmUHQodGhpcyxwLFp0KHRoaXMpKX19Y2F0Y2gocil7fWIuY29udGludW91cz0hMTticyh0aGlzLmcuZyk7VnQodGhpcyk7cmV0dXJuIHRoaXMuaH1adCh0aGlzKSYmV3QoYSk/dGhpcy5EJiZhLnRhZ05hbWU9PSJBIiYmYS5ocmVmJiZ0aGlzLkQoYSk6Yi5jb250aW51b3VzPSExO3JldHVybiB0aGlzLmh9YnModGhpcy5nLmcpO1Z0KHRoaXMpO3JldHVybiB0aGlzLmh9Owp2YXIgJHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG10KGEpfHxhLm5vZGVUeXBlIT0zJiYoIWEudGFnTmFtZXx8V3JbYS50YWdOYW1lXXx8WHJbYS50YWdOYW1lXXx8TXQoYSwic2tpcHRyYW5zbGF0ZSIpKX0sYXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zZChhKTtyZXR1cm4gYi5kZWZhdWx0VmlldyYmYi5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlP2IuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpOmEuY3VycmVudFN0eWxlfSxZdD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09Mz8hMDphLm5vZGVUeXBlIT0xPyExOmEub2Zmc2V0V2lkdGgmJmEub2Zmc2V0SGVpZ2h0PyEwOihhPWF1KGEpLCEhYSYmYS5kaXNwbGF5IT0ibm9uZSImJmEudmlzaWJpbGl0eSE9ImhpZGRlbiIpfSxXdD1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlPT0zKXJldHVybiEwO2lmKGEubm9kZVR5cGUhPTEpcmV0dXJuITE7dmFyIGI9YXUoYSk7cmV0dXJuISFWclthLnRhZ05hbWVdJiYKKCFifHwhYi5kaXNwbGF5fHxiLmRpc3BsYXk9PSJpbmxpbmUiKX0sUHQ9ZnVuY3Rpb24oYSxiLGMsZCl7KGQ/YS5GOmEuQSkucHVzaCh7cm9vdDpiLFlpOmM9PT12b2lkIDB8fGN9KX0sWnQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEub1thLm8ubGVuZ3RoLTFdfSxYdD1mdW5jdGlvbihhLGIpe2I9IW10KGIpJiYoYi5ub2RlVHlwZT09JG4mJlp0KGEpfHwhKE10KGIsIm5vdHJhbnNsYXRlIil8fGIuYXR0cmlidXRlcyYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZSYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZS52YWx1ZT09Im5vIikmJihNdChiLCJ0cmFuc2xhdGUiKXx8ISFiLmF0dHJpYnV0ZXMmJiEhYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZSYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZS52YWx1ZT09InllcyJ8fFp0KGEpKSk7YS5vLnB1c2goYil9LFZ0PWZ1bmN0aW9uKGEpe2Euby5wb3AoKX0sYnU9e307RHIuYXR0YWNoKDU3NjIsUXQucHJvdG90eXBlLHt1aToxfSk7dmFyIGN1PWZ1bmN0aW9uKCl7Xy51LmNhbGwodGhpcyk7dGhpcy5nPVtdfTtfLkIoY3UsXy51KTtjdS5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe3FzKHRoaXMuaCwwLHRoaXMpfTtjdS5wcm90b3R5cGUuaD1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5nLmxlbmd0aDsrK2EpXy5BZCh0aGlzLmdbYV0pO3RoaXMuZz1bXX07Y3UucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLnJlc3RvcmUoKX07dmFyIGR1PWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBTZXQ7YS5mb3JFYWNoKGZ1bmN0aW9uKGMpe3lvKGMpP2IuYWRkKGMpOihjPWMucGFyZW50RWxlbWVudHx8bnVsbCxjIT1udWxsJiZiLmFkZChjKSl9KTtyZXR1cm4gYn07dmFyIGV1PWZ1bmN0aW9uKGEpe3RoaXMuaD0hMDt0aGlzLmw9YTt0aGlzLmo9ITE7dGhpcy5nPVtdfTtldS5wcm90b3R5cGUubWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmpvaW4oIiIpfTt2YXIgZnU9ZnVuY3Rpb24oYSxiKXt0aGlzLm89YTt0aGlzLmw9ITA7dGhpcy5qPWI7dGhpcy5nPW51bGw7dGhpcy5oPTB9LGd1PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubD8oYigoMCxfLnkpKGEuQSxhKSxhLm8sYS5qPyJlbiI6IiIpLCEwKTohMX07ZnUucHJvdG90eXBlLkE9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1iO3RoaXMuaD1jO2EoKX07dmFyIGh1PWZ1bmN0aW9uKGEsYil7dGhpcy5sPWE7dGhpcy5EPSEhYjt0aGlzLmc9dGhpcy5DPTA7dGhpcy5vPXRoaXMuaj0tMTt0aGlzLkE9dGhpcy5CPXRoaXMuaD0wfSxrdT1mdW5jdGlvbihhLGIsYyl7YS5EJiYoYi09OSk7Zm9yKHZhciBkPSIiLGU9MCxmPWEuQztmPGEubC5sZW5ndGg7KytmKXt2YXIgZz1hLmwuY2hhckF0KGYpLGg9Zy5jaGFyQ29kZUF0KDApO2UrKzthLmgrPWEuRD9oPD0xMjc/aDw9MzJ8fGl1W2hdPzM6MTpoPD0yMDQ3fHxoPj01NTI5NiYmaDw9NTYzMTl8fGg+PTU2MzIwJiZoPD01NzM0Mz82Ojk6MTtoPWEuaD49YjtqdVtnXT8oYS5vPWYsYS5CPWEuaCxoPWh8fGU+Yyk6Zz09IiAiJiYoYS5qPWYsYS5BPWEuaCxoPWh8fGU+Yyk7aWYoaClyZXR1cm4gYS5vPj0wPyhkPWEubC5zdWJzdHJpbmcoYS5nLGEubysxKSxhLmgtPWEuQixhLmc9YS5vKzEsYS5vPj1hLmo/KGEuaj0tMSxhLkE9MCk6YS5BLT1hLkIsYS5vPS0xLGEuQj0wKTphLmo+PTA/KGQ9YS5sLnN1YnN0cmluZyhhLmcsCmEuaisxKSxhLmgtPWEuQSxhLmc9YS5qKzEsYS5qPS0xLGEuQT0wKTooZD1hLmwuc3Vic3RyaW5nKGEuZyxmKzEpLGEuaD0wLGEuZz1mKzEsYS5vPWEuaj0tMSxhLkE9YS5CPTApLGEuQz1mKzEsZH1hLmc8YS5sLmxlbmd0aCYmKGQ9YS5sLnN1YnN0cmluZyhhLmcpLGEuZz1hLmwubGVuZ3RoKTtyZXR1cm4gZH0sanU9aXIoWyIuIiwiLCIsIjoiLCJcXD8iLCIhIl0pLGx1PVsiLiIsIj8iLCIhIl0saXU9aXIoWzM0LDM1LDM2LDM3LDM4LDQzLDQ0LDQ3LDU4LDU5LDYwLDYxLDYyLDYzLDY0LDkxLDkyLDkzLDk0LDk2LDEyMywxMjQsMTI1LDEyN10pO3ZhciB0bT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIodG0sXy5KKTt2YXIgbXU9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKG11LF8uSik7dmFyIG51PWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihudSxfLkopO3ZhciBvdT1bMSwyXTt2YXIgcHU9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKHB1LF8uSik7cHUucHJvdG90eXBlLlJhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcywxKX07dmFyIHF1PV8uS2kocHUpO3ZhciBydTt2YXIgc3U9ZnVuY3Rpb24oKXt0aGlzLmhhPW5ldyBfLldmfSx0dT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ7cmV0dXJuIF8uVmkoZnVuY3Rpb24oZSl7Yz1jbShhbSgkbChuZXcgWmwsImh0dHBzIiksYi5ob3N0KSxiLnBhdGgpO2Q9bmV3IFByb21pc2UoZnVuY3Rpb24oZixnKXtfLk5kKGEuaGEsInN1Y2Nlc3MiLGZ1bmN0aW9uKCl7Zih7Y29kZTpfLmhnKGEuaGEpLGhlYWRlcnM6TG4oYS5oYSksYm9keTpfLmlnKGEuaGEpfSl9KTtfLk5kKGEuaGEsImVycm9yIixmdW5jdGlvbigpe2coe2NvZGU6Xy5oZyhhLmhhKSxoZWFkZXJzOkxuKGEuaGEpLGJvZHk6Xy5pZyhhLmhhKX0pfSk7Xy5OZChhLmhhLCJ0aW1lb3V0IixmdW5jdGlvbigpe2coe2NvZGU6Xy5oZyhhLmhhKSxoZWFkZXJzOkxuKGEuaGEpLGJvZHk6Xy5pZyhhLmhhKX0pfSl9KTthLmhhLnNlbmQoYyxiLm1ldGhvZCxiLmJvZHksYi5oZWFkZXJzKTtyZXR1cm4gZS5yZXR1cm4oZCl9KX07dmFyIHJuPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihybixfLkopO3ZhciBxbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIocW4sXy5KKTt2YXIgcG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5mayhhLDEsYil9O3ZhciB3dT1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmO3JldHVybiBfLlZpKGZ1bmN0aW9uKGcpe2lmKGcuZz09MSl7Yj1ydXx8KHJ1PXF1KCdbMixudWxsLFtbW1siYXV0b3B1c2giLFsiYXV0b3B1c2gtdHJhbnNsYXRlLXBhLnNhbmRib3guZ29vZ2xlYXBpcy5jb20iXV0sWyJzdGFnaW5nIixbImRhaWx5MS10cmFuc2xhdGUtcGEuc2FuZGJveC5nb29nbGVhcGlzLmNvbSJdXSxbInByb2QiLFsidHJhbnNsYXRlLXBhLmdvb2dsZWFwaXMuY29tIl1dLFsicHJvZC1ldSIsWyJ0cmFuc2xhdGUtcGEuZXUucmVwLmdvb2dsZWFwaXMuY29tIl1dLFsicHJvZC11cyIsWyJ0cmFuc2xhdGUtcGEudXMucmVwLmdvb2dsZWFwaXMuY29tIl1dXV1dXScpKTtjPW1xO25xJiYoYz1jKyItIitucSk7dmFyIGg9YnAoYixudSwzKTt2YXIgaz1oLko7az1JbChIbChrKSxrLHZvaWQgMCxvdSk7aD1icChoLG11LGs9PT0xPzE6LTEpO2s9aC5KO3ZhciBsPWtbXy5IXXwwO2g9dW0oaCxrLGwsXy5XZyhoLGwpKS5nZXQoYyk7CmQ9Xy5OKGgsMSk7aD1uZXcgJHA7az1zbShhLDEsXy5haigpKTtoPUdsKGgsMSxrLG5tKS5OYShhLkphKCkpLm5hKGEub2EoKSk7az1uZXcgYXE7aD1fLkwoaywxLGgpO2g9c24oaCwyLHRxKTtfLk0ocHEsNykmJl8uZWooaCw0LCEwKTtlPWg7Zy5GKDIpO3JldHVybiBnLmgodnUoZCxlKSw0KX1pZihnLmchPTIpcmV0dXJuIGY9Zy5qLGcucmV0dXJuKHRuKGYpKTtnLkQoKTtyZXR1cm4gZy5yZXR1cm4oUHJvbWlzZS5yZWplY3QoRXJyb3IoIkFhIikpKX0pfSx2dT1mdW5jdGlvbihhLGIpe3ZhciBjPXh1LGQsZSxmLGc7cmV0dXJuIF8uVmkoZnVuY3Rpb24oaCl7aWYoaC5nPT0xKXJldHVybiBkPXtob3N0OmEscGF0aDoiL3YxL3RyYW5zbGF0ZUh0bWwiLG1ldGhvZDoiUE9TVCIsaGVhZGVyczp7IlgtZ29vZy1hcGkta2V5IjoiQUl6YVN5QVRCWGFqdnpRTFRESEVRYmNwcTBJaGUwdldESG1PNTIwIiwiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiJ9LGJvZHk6Xy5XaihiKX0sCmU9Yy5nKCksaC5GKDIpLGguaCh0dShlLGQpLDQpO2lmKGguZyE9MilyZXR1cm4gZj1oLmosaC5yZXR1cm4oY3EoZi5ib2R5KSk7Zz1oLkQoKTtyZXR1cm4gaC5yZXR1cm4oUHJvbWlzZS5yZWplY3QoZykpfSl9O3ZhciB4dT1uZXcgZnVuY3Rpb24oKXt0aGlzLmc9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHN1fX0seXU9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9LHp1PWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO3JldHVybiBfLlZpKGZ1bmN0aW9uKGYpe2lmKGYuZz09MSlyZXR1cm4gc20oYiwxLF8uYWooKSkubGVuZ3RoPT09MD9mLnJldHVybihuZXcgcW4pOl8uTShwcSw4KT9mLnJldHVybih3dShiKSk6Zi5oKGEuZy50cmFuc2xhdGUoY3x8ZnVuY3Rpb24oKXt9LHNtKGIsMSxfLmFqKF8uV2gpKSxiLkphKCksYi5vYSgpLDAsITEpLDIpO2Q9Zi5qO2U9ZC5tYXAodW4pO3JldHVybiBmLnJldHVybihwbihuZXcgcW4sZSkpfSl9O3ZhciBBdT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoQXUsXy5KKTt2YXIgQnU9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEF1O3JldHVybiBHbChiLDEsYSxubSl9O0F1LnByb3RvdHlwZS5KYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywyKX07QXUucHJvdG90eXBlLk5hPWZ1bmN0aW9uKGEpe3JldHVybiBzbih0aGlzLDIsYSl9O0F1LnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywzKX07QXUucHJvdG90eXBlLm5hPWZ1bmN0aW9uKGEpe3JldHVybiBzbih0aGlzLDMsYSl9O3ZhciBDdT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dGhpcy5CPWR8fGZ1bmN0aW9uKCl7fTt0aGlzLlA9Znx8ZnVuY3Rpb24oKXt9O3RoaXMuUj0hIWU7dGhpcy5qPWEuZy5JZjt0aGlzLmw9MDt0aGlzLkk9ZnVuY3Rpb24oKXt9O3RoaXMuRD1jO3RoaXMuRj10aGlzLmg9dGhpcy5vPTA7dGhpcy5nPW51bGw7dGhpcy5XPTA7dGhpcy5sYT0hMTt0aGlzLlQ9YS5nLkdmO3RoaXMuSz1bXTt0aGlzLnFiPTA7dGhpcy5MPWEuZy5LZDt0aGlzLkE9YS5sKCk7dGhpcy53YT10aGlzLlI/MTo2O3RoaXMuSWE9YS5nLldmO3RoaXMucWE9Yjt0aGlzLkM9W107dGhpcy5PPWF9O0N1LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5DLmxlbmd0aDsrK2EpdGhpcy5DW2FdLnN0b3AoKTtmb3IoYT0wO2E8dGhpcy5LLmxlbmd0aDsrK2EpVHIodGhpcy5PLHRoaXMuS1thXSl9Owp2YXIgRHU9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wO2EuST0oMCxfLnkpKGZ1bmN0aW9uKCl7KytjPT10aGlzLkMubGVuZ3RoJiZiKCl9LGEpfSxFdT1mdW5jdGlvbihhLGIsYyl7YS5CPWZ1bmN0aW9uKCl7fTthLnFhPWI7YS5nPW51bGw7YS5xYj0wO2EuQz1bXTthLkk9ZnVuY3Rpb24oKXt9O2EuRD1jfSxGdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5oPT0wJiYoYS5oPWI/M0UzOmEuQSwhY3x8Yzw9YS5BKSl7YS5vPWEuaDtyZXR1cm59ZG8gYj1hLmgsYS5oPGEuQSYmKGEuaCo9YS53YSxhLmg+YS5BJiYoYS5oPWEuQSkpO3doaWxlKGIhPWEuaCYmYyYmYS5oPGMpO2Eubz1hLmh9LEd1PWZ1bmN0aW9uKGEsYil7dmFyIGM9YiE9bnVsbCxkPSFjJiYhYS5sYTsoZHx8YykmJmEuQigxMDAsZCxiKX0sSHU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuTD9hLmcuUjphLmcubWEoKS5sZW5ndGh9LEl1PWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIG5ldyBRdChhLnFhLnNoaWZ0KCkse2JqOmEuTCxsaTpiLApWZjohMCxaaTohIWN9LGZ1bmN0aW9uKCl7dmFyIGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gbmV3IGp0KGYuc2hpZnQoKSxmLnNoaWZ0KCksZi5zaGlmdCgpLGYuc2hpZnQoKSxmLnNoaWZ0KCksYyxkKX0sYS5ELGUpfSxLdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5UPjAmJmIubGIoKT49YS5UKXJldHVybiEwO2lmKEh1KGEpPmEuaCl7aWYoYi5sYigpPjApcmV0dXJuITA7RnUoYSxjLEh1KGEpKTtmb3IodmFyIGQ9YS5nLm1hKCksZT1uZXcgaHUoZCxhLkwpLGY7Zj1rdShlLGEuaCxhLmopOylpZihsdS5pbmRleE9mKGYuY2hhckF0KGYubGVuZ3RoLTEpKTwwJiZiLksrKyxiLmwucHVzaChuZXcgZnUoW2ZdLCExKSksYS5sKz1mLmxlbmd0aCxhLmotPWYubGVuZ3RoLGEuajw9MCl7Yi5GPWQuc3Vic3RyaW5nKGUuZyk7YnJlYWt9ZWxzZSBGdShhLGMpO0p1KGIsYS5nLCEwKTthLmc9bnVsbDtyZXR1cm4hMH1pZihIdShhKT5hLm8pcmV0dXJuITA7SnUoYiwKYS5nLCEwKTthLm8tPUh1KGEpK2EuSWE7YS5sKz1hLmcuRDthLmotPWEuZy5EO2EuZz1udWxsO3JldHVybiExfSxMdT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz17WmE6MH07Yy5aYTxhLmxlbmd0aDtjPXtaYTpjLlphfSxjLlphKyspYVtjLlphXS5sZW5ndGg+MSYmYVtjLlphXVsxXT09PTIwMD9iLnB1c2guYXBwbHkoYixfLiRiKGFbYy5aYV1bMF0udG9TdHJpbmcoKS5zcGxpdCgiJmx0O2V4dHJhX2lkXzEmZ3Q7IikubWFwKGZ1bmN0aW9uKGQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm5bZS50cmltKCksYVtkLlphXVsxXV19fShjKSkpKTpiLnB1c2goYVtjLlphXSk7cmV0dXJuIGJ9LE11PWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGssbCxuO3JldHVybiBfLlZpKGZ1bmN0aW9uKHEpe3N3aXRjaChxLmcpe2Nhc2UgMTp2YXIgcD1wcTtpZihfLmJqKHAsaXEsNikpe3ZhciByPV8uYmoocCxpcSw2KSx0PV8uTShyLDEpO3A9Xy5NKHAsMyl8fHQ/KHQ/c20ociw0LF8uYWooKSk6CnNtKHAsNCxfLmFqKCkpKS5pbmNsdWRlcyhkLnRvTG93ZXJDYXNlKCkrIl8iK2UudG9Mb3dlckNhc2UoKSk6ITF9ZWxzZSBwPSExO2Y9cDtpZihmKXt2YXIgQT1BPT09dm9pZCAwPzNFMzpBO2lmKHA9Xy5iaihwcSxpcSw2KSlwPV8uYmoocHEsaXEsNikscD1fLk0ocCwxKTtpZihwKXtwPV8uYmoocHEsaXEsNik7QT1fLmdrKHAsMyk7cD1fLmdrKHAsMik7cj1bXTtmb3IodD0wO3Q8Yy5sZW5ndGg7dCsrKXt2YXIgRD1bY1t0XV0sRT1jW3RdLmxlbmd0aDtpZihjW3RdLnNwbGl0KCIgIikubGVuZ3RoPD1wKWZvcig7dCsxPGMubGVuZ3RoJiZFPEE7KUQucHVzaChjW3QrMV0pLEUrPWNbdCsxXS5sZW5ndGgrMisxOCx0Kys7ci5wdXNoKEQuam9pbigiICZsdDtleHRyYV9pZF8xJmd0OyAiKSl9QT1yfWVsc2V7cD1bXTtmb3Iocj0wO3I8Yy5sZW5ndGg7KXt0PVtdO2ZvcihFPTA7cjxjLmxlbmd0aDspe0Q9Y1tyXTt2YXIgYmE9RC5sZW5ndGg7RT10Lmxlbmd0aD09PTA/YmE6RSsyMCtiYTtpZihFPgpBJiZ0Lmxlbmd0aD4wKWJyZWFrO3QucHVzaChEKTtyKyt9dC5sZW5ndGg+MCYmcC5wdXNoKHQuam9pbigiICZsdDtleHRyYV9pZF8xJmd0OyAiKSl9QT1wfX1lbHNlIEE9YztnPUE7aD16dShuZXcgeXUoYS5PKSxCdShnKS5OYShkKS5uYShlKSxiKTtxLkYoMik7cmV0dXJuIHEuaChoLDQpO2Nhc2UgNDprPXEuajtsPXZuKGspO249Zj9MdShsKTpsO2IobiwyMDApO3EuSygzKTticmVhaztjYXNlIDI6cS5EKCksYihbXSw1MDApO2Nhc2UgMzpyZXR1cm4gYS5LLnB1c2goaCkscS5yZXR1cm4oaCl9fSl9O3ZhciBOdT1mdW5jdGlvbihhLGIpe18udS5jYWxsKHRoaXMpO3RoaXMubD1iO3RoaXMuaj17cm9vdE1hcmdpbjphfTt0aGlzLmc9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKCgwLF8ueSkodGhpcy5oLHRoaXMpLHRoaXMuail9O18uQihOdSxfLnUpO051LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5nPW51bGx9O051LnByb3RvdHlwZS5oPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKWlmKGFbYl0uaW50ZXJzZWN0aW9uUmF0aW8+MCl7dGhpcy5sKCk7YnJlYWt9fTtOdS5wcm90b3R5cGUudHJhY2s9ZnVuY3Rpb24oYSl7Sm8oYSwoMCxfLnkpKHRoaXMuZy5vYnNlcnZlLHRoaXMuZykpfTt2YXIgT3U9ZnVuY3Rpb24oYSl7dmFyIGI9YSE9bnVsbD9hOnt9LGM9Yi5JayxkPWIuS2ssZT1iLkVrLGY9Yi5MayxnPWIuSGssaD1iLkprLGs9Yi5GayxsPWIuR2s7YT1fLnlsKCk7IWwmJnNwKGMpPyhlPSEhZSxmPSEhZixiPWImJmIuUWssYz0oMCxfLnRsKShzcChjKT8iPHNjcmlwdCIrKGI/JyBub25jZT0iJytQKFlwKGIpKSsnIic6IiIpKyI+d2luZG93WydwcENvbmZpZyddID0ge3Byb2R1Y3ROYW1lOiAiK3ZwKFFwKGQhPW51bGw/ZDoidW5rbm93biIpKSsiLCBkZWxldGVJc0VuZm9yY2VkOiAiK3ZwKFFwKGUpKSsiLCBzZWFsSXNFbmZvcmNlZDogIit2cChRcChmKSkrIiwgaGVhcnRiZWF0UmF0ZTogIit2cChRcChnIT1udWxsP2c6LjUpKSsiLCBwZXJpb2RpY1JlcG9ydGluZ1JhdGVNaWxsaXM6ICIrdnAoUXAoaCE9bnVsbD9oOjZFNCkpKyIsIGRpc2FibGVBbGxSZXBvcnRpbmc6ICIrdnAoUXAoayE9bnVsbD9rOiExKSkrIn07Iit2cChRcChjIT1udWxsP2M6IiIpKSsiXHgzYy9zY3JpcHQ+IjoKIiIpKTpjPSIiO3JldHVybiBXbihhLGMpfTt2YXIgUHU9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy50bCkoJzxzcGFuIGlkPSInK1AoYS5pZCkrJyI+PC9zcGFuPicpfSxRdT1mdW5jdGlvbihhKXt2YXIgYj1hLmlkLGM9YS5SZjtyZXR1cm4oMCxfLnRsKShLcChhLlNmKSsnPGRpdiBpZD0iJytQKGIpKyciPjwvZGl2PicrS3AoYykpfSxZbj1mdW5jdGlvbihhKXt2YXIgYj1hLnRvcCxjPWEubGVmdCxkPWEuYm90dG9tLGU9YS5yaWdodCxmPWEuaWQ7cmV0dXJuKDAsXy51bCkoIi4iK0FwKGEuY2xhc3NOYW1lKSsiIHt6LWluZGV4Ojk5OTk5OTk7IG92ZXJmbG93OnZpc2libGU7IHBvc2l0aW9uOmZpeGVkOyBfcG9zaXRpb246YWJzb2x1dGU7IisoYnx8Yj09PTA/InRvcDoiK0FwKGIpKyJweDsgX3RvcDpleHByZXNzaW9uKCgiK0FwKGIpKyIrKGhhY2sxPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSkrJ3B4Jyk7IjoidG9wOmF1dG87IikrKGN8fGM9PT0wPyJsZWZ0OiIrQXAoYykrCiJweDsgX2xlZnQ6ZXhwcmVzc2lvbigoIitBcChjKSsiKyhoYWNrMj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSkrJ3B4Jyk7IjoibGVmdDphdXRvOyIpKyhkfHxkPT09MD8iYm90dG9tOiIrQXAoZCkrInB4OyBfdG9wOmV4cHJlc3Npb24oKC0iK0FwKGQpKyItZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIrU3RyaW5nKGYpLnJlcGxhY2UoUnAsR3ApKyInKS5vZmZzZXRIZWlnaHQrKGhhY2szPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR8fGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0KSsoaGFjazQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApKSsncHgnKTsiOiJib3R0b206YXV0bzsiKSsoZXx8ZT09PTA/InJpZ2h0OiIrQXAoZSkrInB4OyBfbGVmdDpleHByZXNzaW9uKCgtIitBcChlKSsiLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciKwpTdHJpbmcoZikucmVwbGFjZShScCxHcCkrIicpLm9mZnNldFdpZHRoKyhoYWNrNT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh8fGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpKyhoYWNrNj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSkrJ3B4Jyk7IjoicmlnaHQ6YXV0bzsiKSsifSIpfSxSdT1mdW5jdGlvbigpe3JldHVybigwLF8udGwpKCc8ZGl2IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15ZiIpKyciPjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtT2lpQ08iKSsnIj48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUiKSsnIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgNjYgNjYiPjxjaXJjbGUgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtSnQ1Y0siKSsKJyIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGN4PSIzMyIgY3k9IjMzIiByPSIzMCIvPjwvc3ZnPjwvZGl2PjwvZGl2PicpfTt3bi54Yj12b2lkIDA7d24uZz1mdW5jdGlvbigpe3JldHVybiB3bi54Yj93bi54Yjp3bi54Yj1uZXcgd259O3duLnByb3RvdHlwZS5nPTA7Xy5HKHhuLF8uaGIpO18ubT14bi5wcm90b3R5cGU7Xy5tLmNpPXduLmcoKTtfLm0uUmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYXx8KHRoaXMubGE9IjoiKyh0aGlzLmNpLmcrKykudG9TdHJpbmcoMzYpKX07Xy5tLkg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DfTtfLm0ubmQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5LJiZ0aGlzLkshPWEpdGhyb3cgRXJyb3IoIkNhIik7eG4uZWEubmQuY2FsbCh0aGlzLGEpfTtfLm0uUz1mdW5jdGlvbigpe3RoaXMuQz10aGlzLmguY3JlYXRlRWxlbWVudCgiRElWIil9O18ubS5rYT1mdW5jdGlvbihhKXtTdSh0aGlzLGEpfTtfLm0ucWM9ZnVuY3Rpb24oYSl7U3UodGhpcyxhLnBhcmVudE5vZGUsYSl9O3ZhciBTdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5qYil0aHJvdyBFcnJvcigiRGEiKTthLkN8fGEuUygpO2I/Yi5pbnNlcnRCZWZvcmUoYS5DLGN8fG51bGwpOmEuaC5nLmJvZHkuYXBwZW5kQ2hpbGQoYS5DKTthLksmJiFhLksuamJ8fGEuTGEoKX07Cl8ubT14bi5wcm90b3R5cGU7Xy5tLmFoPWZ1bmN0aW9uKGEpe2lmKHRoaXMuamIpdGhyb3cgRXJyb3IoIkRhIik7aWYoYSl7dGhpcy53YT0hMDt2YXIgYj1fLnNkKGEpO3RoaXMuaCYmdGhpcy5oLmc9PWJ8fCh0aGlzLmg9Xy5sYihhKSk7dGhpcy5PYShhKTt0aGlzLkxhKCl9ZWxzZSB0aHJvdyBFcnJvcigiRWEiKTt9O18ubS5PYT1mdW5jdGlvbihhKXt0aGlzLkM9YX07Xy5tLkxhPWZ1bmN0aW9uKCl7dGhpcy5qYj0hMDtUdSh0aGlzLGZ1bmN0aW9uKGEpeyFhLmpiJiZhLkgoKSYmYS5MYSgpfSl9O18ubS5zYT1mdW5jdGlvbigpe1R1KHRoaXMsZnVuY3Rpb24oYSl7YS5qYiYmYS5zYSgpfSk7dGhpcy5PJiZfLlJmKHRoaXMuTyk7dGhpcy5qYj0hMX07Cl8ubS5NPWZ1bmN0aW9uKCl7dGhpcy5qYiYmdGhpcy5zYSgpO3RoaXMuTyYmKHRoaXMuTy5kaXNwb3NlKCksZGVsZXRlIHRoaXMuTyk7VHUodGhpcyxmdW5jdGlvbihhKXthLmRpc3Bvc2UoKX0pOyF0aGlzLndhJiZ0aGlzLkMmJl8uQWQodGhpcy5DKTt0aGlzLks9dGhpcy5DPXRoaXMuUj10aGlzLkY9bnVsbDt4bi5lYS5NLmNhbGwodGhpcyl9O3ZhciBTPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuUmEoKSsiLiIrYn0sVHU9ZnVuY3Rpb24oYSxiKXthLkYmJmEuRi5mb3JFYWNoKGIsdm9pZCAwKX07CnhuLnByb3RvdHlwZS5pZT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W107dGhpcy5GJiZ0aGlzLkYubGVuZ3RoIT0wOyl7dmFyIGM9YixkPWMucHVzaCxlPXRoaXMuRj90aGlzLkZbMF18fG51bGw6bnVsbCxmPWE7aWYoZSl7dmFyIGc9dHlwZW9mIGU9PT0ic3RyaW5nIj9lOmUuUmEoKTt0aGlzLlImJmc/KGU9dGhpcy5SLGU9KGUhPT1udWxsJiZnIGluIGU/ZVtnXTp2b2lkIDApfHxudWxsKTplPW51bGw7aWYoZyYmZSl7dmFyIGg9dGhpcy5SO2cgaW4gaCYmZGVsZXRlIGhbZ107Xy52YSh0aGlzLkYsZSk7ZiYmKGUuc2EoKSxlLkMmJl8uQWQoZS5DKSk7Zj1lO2lmKGY9PW51bGwpdGhyb3cgRXJyb3IoIkJhIik7Zi5LPW51bGw7eG4uZWEubmQuY2FsbChmLG51bGwpfX1pZighZSl0aHJvdyBFcnJvcigiRmEiKTtkLmNhbGwoYyxlKX1yZXR1cm4gYn07dmFyIFV1PWZ1bmN0aW9uKCl7eG4uY2FsbCh0aGlzKX07Xy5CKFV1LHhuKTtVdS5wcm90b3R5cGUuUz1mdW5jdGlvbigpe3RoaXMuT2Eoa20oUnUpKX07VXUucHJvdG90eXBlLk9hPWZ1bmN0aW9uKGEpe3RoaXMuQz1hfTtVdS5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe050KHRoaXMuSCgpLCJWSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdjIik7TnQodGhpcy5IKCkuZmlyc3RDaGlsZCwiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtT2lpQ08tdGk2aEdjIil9O3ZhciBWdT1mdW5jdGlvbihhKXtPdChhLkgoKSwiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtd09ITXlmLXRpNmhHYyIpO090KGEuSCgpLmZpcnN0Q2hpbGQsIlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHYyIpfTt2YXIgV3U9ZnVuY3Rpb24oKXt0aGlzLmc9bmV3IFV1O3RoaXMuZy5TKCk7dGhpcy5nLmthKCk7dGhpcy5oPTB9O1d1LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuaD0wO1Z1KHRoaXMuZyl9O3ZhciBYdT1XcShjciksWXU9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt0aGlzLmw9YTt0aGlzLmc9Yjt0aGlzLkM9W107dGhpcy5GPW51bGw7dGhpcy5vPWM7dGhpcy5oPWQ7dGhpcy5qPWU7dGhpcy5xYT1mO3RoaXMuTz1nO3RoaXMuRD10aGlzLkE9bnVsbDt0aGlzLkI9aHx8bnVsbDt0aGlzLlc9dGhpcy5JPSExO3RoaXMuRz17fTt0aGlzLkw9WHU7dGhpcy5LPTB9LFp1PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1uZXcgU2V0LGM9MDtjPGEubGVuZ3RoO2MrKylzdChhW2NdKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3JldHVybiBiLmFkZChkKX0pO3JldHVybiBifTsKWXUucHJvdG90eXBlLnRyYWNrVmlzaWJpbGl0eT1mdW5jdGlvbihhKXt0aGlzLkE9bmV3IE51KCIyMDBweCIsKDAsXy55KSh0aGlzLlIsdGhpcyxhKSk7dGhpcy5BLnRyYWNrKGR1KFp1KFtdLmNvbmNhdCh0aGlzLmcsdGhpcy5DKSkpKTt0aGlzLkQ9bmV3IE51KCIwcHgiLCgwLF8ueSkodGhpcy5QLHRoaXMpKTt0aGlzLkQudHJhY2soZHUoWnUoW10uY29uY2F0KHRoaXMuZyx0aGlzLkMpKSkpfTtZdS5wcm90b3R5cGUuUj1mdW5jdGlvbihhKXt0aGlzLkEmJih0aGlzLkEuZy5kaXNjb25uZWN0KCksdGhpcy5BPW51bGwpO2EoKX07WXUucHJvdG90eXBlLlA9ZnVuY3Rpb24oKXt0aGlzLkk9ITA7JHUodGhpcyk7aWYoIXRoaXMuVyYmdGhpcy5CKXt2YXIgYT10aGlzLkI7YS5oKys9PTAmJmEuZy5zaG93KCl9fTt2YXIgJHU9ZnVuY3Rpb24oYSl7YS5EJiYoYS5ELmcuZGlzY29ubmVjdCgpLGEuRD1udWxsKX07Cll1LnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7aWYodGhpcy5JJiYhdGhpcy5XJiZ0aGlzLkIpe3ZhciBhPXRoaXMuQjstLWEuaD09MCYmVnUoYS5nKX10aGlzLkEmJih0aGlzLkEuZy5kaXNjb25uZWN0KCksdGhpcy5BPW51bGwpOyR1KHRoaXMpO2F2KHRoaXMpfTt2YXIgSnU9ZnVuY3Rpb24oYSxiLGMpe2M/KGEuZy5wdXNoKGIpLGEuR1tiLm1hKCldPSEwKTphLkMucHVzaChiKX07WXUucHJvdG90eXBlLmxiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5sZW5ndGgrdGhpcy5DLmxlbmd0aH07dmFyIGJ2PWZ1bmN0aW9uKGEpe2lmKGEubC5sZW5ndGg9PTApe2Zvcih2YXIgYj1bXSxjPTA7YzxhLmcubGVuZ3RoOysrYyliLnB1c2goYS5nW2NdLm1hKCkpO2EubC5wdXNoKG5ldyBmdShiLCExKSl9fTsKWXUucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7ZCsrO2Q9PWMmJmUoKX1idih0aGlzKTtmb3IodmFyIGM9MCxkPTAsZT1mdW5jdGlvbigpe30sZj10aGlzLm8sZz10aGlzLmgsaD10aGlzLmosaz0wO2s8dGhpcy5sLmxlbmd0aDsrK2spZ3UodGhpcy5sW2tdLGZ1bmN0aW9uKGwsbixxKXtyZXR1cm4gTXUoZixfLlpqKGwsYiksbixxfHxnLGgpfSkmJmMrKztjIT0wJiYoZT1HdChhKSk7cmV0dXJuIGN9O3ZhciBhdj1mdW5jdGlvbihhKXtpZihhLmcubGVuZ3RoPjApe2lmKGEuZy5sZW5ndGg9PTEmJmEubC5sZW5ndGg+MSl7dmFyIGI9MTt2YXIgYz1hLmwubGVuZ3RofWVsc2UgYj1jPWEuZy5sZW5ndGg7dmFyIGQ9YS5nLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5EfSkucmVkdWNlKGZ1bmN0aW9uKGUsZil7cmV0dXJuIGUrZn0pO2hyKGEuTCx7bGI6YixNZjpjLGdnOmQsTGY6YS5LfSl9fTt2YXIgY3Y9e2FtOiJOb3RvIFNhbnMgRXRoaW9waWMiLGJlcjoiTm90byBTYW5zIFRpZmluYWdoIiwiYm0tTmtvbyI6Ik5vdG8gU2FucyBOS28iLGJuOiJMb2hpdCBCZW5nYWxpIixibzoiTm90byBTZXJpZiBUaWJldGFuIixkdjoiTm90byBTYW5zIFRoYWFuYSIsZHo6Ik5vdG8gU2VyaWYgVGliZXRhbiIsaXU6Ik5vdG8gU2FucyBDYW5hZGlhbiBBYm9yaWdpbmFsIixrbToiTm9rb3JhIixsbzoiRGh5YW5hIixtbDoiTm90byBTYW5zIE1hbGF5YWxhbSIsIm1uaS1NdGVpIjoiTm90byBTYW5zIE1lZXRlaSBNYXllayIsbXk6Ik5vdG8gU2FucyBNeWFubWFyIiwicGEtQXJhYiI6Ik5vdG8gTmFzdGFsaXEgVXJkdSIscHM6Ik5vdG8gTmFza2ggQXJhYmljIixzYXQ6Ik5vdG8gU2FucyBPbCBDaGlraSIsc2Q6Ik5vdG8gTmFza2ggQXJhYmljIixzaToiTm90byBTYW5zIFNpbmhhbGEiLHRhOiJMb2hpdCBUYW1pbCIseXVlOiJDaG9jb2xhdGUgQ2xhc3NpY2FsIFNhbnMifSxkdj17fSxldj0oZHZbIkNob2NvbGF0ZSBDbGFzc2ljYWwgU2FucyJdPQoiL2NzczI/ZmFtaWx5PUNob2NvbGF0ZStDbGFzc2ljYWwrU2FucyIsZHYuRGh5YW5hPSIvY3NzP2ZhbWlseT1EaHlhbmEiLGR2WyJMb2hpdCBCZW5nYWxpIl09Ii9jc3M/ZmFtaWx5PUxvaGl0K0JlbmdhbGkiLGR2WyJMb2hpdCBUYW1pbCJdPSIvY3NzP2ZhbWlseT1Mb2hpdCtUYW1pbCIsZHYuTm9rb3JhPSIvY3NzP2ZhbWlseT1Ob2tvcmEiLGR2WyJOb3RvIE5hc2toIEFyYWJpYyJdPSIvZWFybHlhY2Nlc3Mvbm90b25hc2toYXJhYmljLmNzcyIsZHZbIk5vdG8gTmFzdGFsaXEgVXJkdSJdPSIvZWFybHlhY2Nlc3Mvbm90b25hc3RhbGlxdXJkdS5jc3MiLGR2WyJOb3RvIFNhbnMgQ2FuYWRpYW4gQWJvcmlnaW5hbCJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNjYW5hZGlhbmFib3JpZ2luYWwuY3NzIixkdlsiTm90byBTYW5zIEV0aGlvcGljIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc2V0aGlvcGljLmNzcyIsZHZbIk5vdG8gU2FucyBNYWxheWFsYW0iXT0iL2Vhcmx5YWNjZXNzL25vdG9zYW5zbWFsYXlhbGFtLmNzcyIsCmR2WyJOb3RvIFNhbnMgTWVldGVpIE1heWVrIl09Ii9jc3M/ZmFtaWx5PU5vdG8rU2FucytNZWV0ZWkrTWF5ZWsiLGR2WyJOb3RvIFNhbnMgTXlhbm1hciJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNteWFubWFyLmNzcyIsZHZbIk5vdG8gU2FucyBOS28iXT0iL2Nzcz9mYW1pbHk9Tm90bytTYW5zK05LbyIsZHZbIk5vdG8gU2FucyBPbCBDaGlraSJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNvbGNoaWtpLmNzcyIsZHZbIk5vdG8gU2FucyBTaW5oYWxhIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc3NpbmhhbGEuY3NzIixkdlsiTm90byBTYW5zIFRoYWFuYSJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnN0aGFhbmEuY3NzIixkdlsiTm90byBTYW5zIFRpZmluYWdoIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc3RpZmluYWdoLmNzcyIsZHZbIk5vdG8gU2VyaWYgVGliZXRhbiJdPSIvY3NzP2ZhbWlseT1Ob3RvK1NlcmlmK1RpYmV0YW4iLGR2KSxmdj1mdW5jdGlvbigpe3RoaXMuZz1bXX07CmZ2LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPV8uQyh0aGlzLmcpLGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWIudmFsdWUucmVtb3ZlKCk7dGhpcy5nPVtdfTt2YXIgZ3Y9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLmc9W107dGhpcy5sPVtdO3RoaXMuaD1hO3RoaXMuaj1ifTtfLkIoZ3YsXy51KTtndi5wcm90b3R5cGUubz1mdW5jdGlvbihhKXt2YXIgYj1fLkFjKGEuaHJlZik7Yi5pbmRleE9mKCJqYXZhc2NyaXB0OiIpPT0wfHxiLmluZGV4T2YoIiMiKT49MHx8KHRoaXMubC5wdXNoKGEuaHJlZiksdGhpcy5nLnB1c2goYSksYS5ocmVmPWIrIiNnb29ndHJhbnMvIit0aGlzLmgrIi8iK3RoaXMuail9O2d2LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5yZXN0b3JlKCl9O2d2LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYodGhpcy5nLmxlbmd0aCl7Zm9yKHZhciBhPTA7YTx0aGlzLmcubGVuZ3RoOysrYSl0aGlzLmdbYV0uaHJlZj10aGlzLmxbYV07dGhpcy5nPVtdO3RoaXMubD1bXX19O3ZhciBodj1mdW5jdGlvbihhLGIpe18udS5jYWxsKHRoaXMpO3RoaXMuZz1hO3RoaXMuaD1fLnhmLnRlc3QoYik/InRyYW5zbGF0ZWQtcnRsIjoidHJhbnNsYXRlZC1sdHIiO2E9W10uY29uY2F0KHRoaXMuZyk7Zm9yKGI9MDtiPGEubGVuZ3RoOysrYil5byhhW2JdKSYmTnQoYVtiXSx0aGlzLmgpfTtfLkIoaHYsXy51KTtodi5wcm90b3R5cGUuTT1mdW5jdGlvbigpe18udS5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO3RoaXMucmVzdG9yZSgpfTtodi5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe2Zvcih2YXIgYT1bXS5jb25jYXQodGhpcy5nKSxiPTA7YjxhLmxlbmd0aDsrK2IpeW8oYVtiXSkmJk90KGFbYl0sdGhpcy5oKX07dmFyIGl2PWZ1bmN0aW9uKGEsYixjKXt0aGlzLmc9M0UzO3RoaXMuaD1bXTt0aGlzLmo9bnVsbDt0aGlzLm89YTt0aGlzLkViPWI7dGhpcy5GYj1jO3RoaXMubD1hJiZ0eXBlb2YgYS5sPT09ImZ1bmN0aW9uIj9hLmwoKXx8MThFMzoxOEUzfSxrdj1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaCxrLGwsbixxO3JldHVybiBfLlZpKGZ1bmN0aW9uKHApe3N3aXRjaChwLmcpe2Nhc2UgMTpjPWxvKGIpO2Q9W107aWYoYy5sZW5ndGg+YS5nKWZvcihlPW5ldyBodShjLCExKSxmPSIiO2Y9a3UoZSxhLmcpOylkLnB1c2goZiksYS5nPGEubCYmKGEuZyo9NixhLmc+YS5sJiYoYS5nPWEubCkpO2Vsc2UgZC5wdXNoKGMpO2c9W107aD1fLkMoZCk7az1oLm5leHQoKTtjYXNlIDI6aWYoay5kb25lKXtwLnhhKDQpO2JyZWFrfWw9ay52YWx1ZTtuPWc7cT1uLnB1c2g7cmV0dXJuIHAuaChqdihhLGwpLDUpO2Nhc2UgNTpxLmNhbGwobixwLmopO2s9aC5uZXh0KCk7cC54YSgyKTticmVhaztjYXNlIDQ6cmV0dXJuIHAucmV0dXJuKHBvKGcuam9pbigiIikpKX19KX0sCmp2PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGMsZCl7YS5oLnB1c2goe3RleHQ6YixyZXNvbHZlOmMscmVqZWN0OmR9KTthLmp8fChhLmo9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXthLmZsdXNoKCl9LDUwKSl9KX07aXYucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7dGhpcy5qPW51bGw7aWYodGhpcy5oLmxlbmd0aCE9PTApe3ZhciBhPXRoaXMuaDt0aGlzLmg9W107dmFyIGI9bmV3IHl1KHRoaXMubyk7YT1fLkMoYSk7Zm9yKHZhciBjPWEubmV4dCgpLGQ9e307IWMuZG9uZTtkPXtyYzp2b2lkIDB9LGM9YS5uZXh0KCkpZC5yYz1jLnZhbHVlLGM9QnUoW2QucmMudGV4dF0pLk5hKHRoaXMuRWIpLm5hKHRoaXMuRmIpLHp1KGIsYyxmdW5jdGlvbigpe30pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpeyhmPXZuKGYpWzBdKSYmZlsxXT09PTIwMD9lLnJjLnJlc29sdmUoZlswXS50b1N0cmluZygpKTplLnJjLnJlamVjdCgiVHJhbnNsYXRpb24gZmFpbGVkIil9fShkKSkuY2F0Y2goZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe2UucmMucmVqZWN0KGYpfX0oZCkpfX07dmFyIGx2PWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrLGwpe18udS5jYWxsKHRoaXMpO3RoaXMuQz1hO3RoaXMuRmM9Yjt0aGlzLmxmPW5ldyBmdjt0aGlzLmZiPWN8fG51bGw7dGhpcy5JYT1sfHxudWxsO3RoaXMuSz1udWxsO3RoaXMuSWQ9ISFkO3RoaXMuamk9ZXx8InRyYW5zcGFyZW50Ijt0aGlzLmlpPSEhZjt0aGlzLkY9W107dGhpcy55Zj10aGlzLkk9dGhpcy5nPSExO3RoaXMubz1ofHxuZXcgdHQ7dGhpcy5EaT0haDt0aGlzLndhPWd8fHh0LmcoKTt0aGlzLlVlPW5ldyBjdTt0aGlzLkhiPXRoaXMuZ2I9dGhpcy5SPSExO3RoaXMuZGY9dGhpcy5BPS41O3RoaXMuamY9LjAxO3RoaXMuRD1uZXcgenQodGhpcy5BKTt0aGlzLmxhPSh0aGlzLkI9dGhpcy5yYT0hIWspP25ldyBNdXRhdGlvbk9ic2VydmVyKCgwLF8ueSkodGhpcy5RaCx0aGlzKSk6bnVsbDt0aGlzLkw9dGhpcy5YZT10aGlzLmo9dGhpcy5oPW51bGw7dGhpcy5QPTA7dGhpcy5PPW5ldyBNYXA7Xy54KHdpbmRvdywiYmx1ciIsCnRoaXMudGYsITAsdGhpcyk7Xy54KHdpbmRvdywiZm9jdXMiLHRoaXMudWYsITAsdGhpcyl9O18uQihsdixfLnUpO18ubT1sdi5wcm90b3R5cGU7Xy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaD90aGlzLmg6IiJ9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo/dGhpcy5qOiIifTtfLm0uZ2g9ZnVuY3Rpb24oYSl7dGhpcy5vaS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5sJiZ0aGlzLmwoMCwhMSwxKX07Xy5tLmFmPWZ1bmN0aW9uKGEpe3RoaXMucGkuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMubCYmdGhpcy5sKDAsITEsMSl9O18ubS5oaD1mdW5jdGlvbihhKXt0aGlzLnJpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLmwmJnRoaXMubCgwLCExLDEpfTtfLm0uaWg9ZnVuY3Rpb24oYSl7dGhpcy50aS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5sJiZ0aGlzLmwoMCwhMSwxKX07Cl8ubS50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkfHxhIT10aGlzLmh8fGIhPXRoaXMuailtdih0aGlzKSx0aGlzLkRpJiYodGhpcy5vPW5ldyB0dCk7ZWxzZSBpZih0aGlzLmcpcmV0dXJuO3RoaXMubD1jO3RoaXMuQWk9ZTt0aGlzLkI9dGhpcy5yYTt0aGlzLmxhJiZ0aGlzLmxhLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7YXR0cmlidXRlczohMCxjaGlsZExpc3Q6ITAsY2hhcmFjdGVyRGF0YTohMCxzdWJ0cmVlOiEwfSk7dGhpcy5nPSEwO3RoaXMuaD1hO3RoaXMuaj1iO3RoaXMuSWQmJih0aGlzLks9bmV3IGd2KGEsYikpO3RoaXMuSGI9dGhpcy5oPT0iYXV0byI7dGhpcy5mYiYmKGM9dGhpcy5mYixhJiYoYy5EPWEpLGImJihjLkY9YikpO3RoaXMuWGI9bmV3IGh2KHRoaXMuQyx0aGlzLmopO2IgaW4gY3YmJihhPXRoaXMubGYsYiBpbiBjdiYmKGI9Y3ZbYl0sYz0iQGltcG9ydCB1cmwoIitXbygiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSIpLnJlc29sdmUoV28oZXZbYl0pKS50b1N0cmluZygpKwoiKTsiLGM9eW4oYyksYS5nLnB1c2goYyksYj15bignYm9keSB7Zm9udC1mYW1pbHk6IicrYisnIiwiR29vZ2xlIFNhbnMiLCJOb3RvIFNhbnMiLHNhbnMtc2VyaWYgIWltcG9ydGFudH0nKSxhLmcucHVzaChiKSkpO18ub2koXy5aaShwcSw5KSk/KHRoaXMuWGU9bmV3IGl2KHRoaXMuRmMsdGhpcy5oLHRoaXMuaiksdGhpcy5QPTAsbnYodGhpcyksdGhpcy5QPT09MCYmdGhpcy5sJiZ0aGlzLmwoMTAwLCEwKSk6dGhpcy5HPW92KHRoaXMpOyhiPXRoaXMuQyBpbnN0YW5jZW9mIE5vZGU/dGhpcy5DOm51bGwpJiZwdihiLHRoaXMuail9Owp2YXIgb3Y9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEJ0KGEsYS53YSk7Q3QoYixhLnNmKTtFdChiLCgwLF8ueSkoYS5naCxhKSk7RnQoYixuZXcgQ3UoYS5GYyxbXS5jb25jYXQoYS5DKSxhLndhLGEubCxhLkIsYS5BaSkpO3JldHVybiBifSxudj1mdW5jdGlvbihhKXthLkw9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGIpe2IuZm9yRWFjaChmdW5jdGlvbihjKXtpZihjLmlzSW50ZXJzZWN0aW5nKXt2YXIgZD1jLmJvdW5kaW5nQ2xpZW50UmVjdDtkJiZkLndpZHRoPT09MCYmZC5oZWlnaHQ9PT0wfHwocXYoYSxjLnRhcmdldCksYS5MLnVub2JzZXJ2ZShjLnRhcmdldCkpfX0pfSk7W10uY29uY2F0KGEuQykuZm9yRWFjaChmdW5jdGlvbihiKXtydihhLGIpfSl9LHJ2PWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITA6YztpZighUXR8fCEkdChiKSl7YS5FZj09PXZvaWQgMCYmKGEuRWY9ISFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9Imdvb2dsZSJdW2NvbnRlbnQ9Im5vdHJhbnNsYXRlIl0sIG1ldGFbbmFtZT0icm9ib3RzIl1bY29udGVudD0ibm90cmFuc2xhdGUiXSwgbWV0YVtuYW1lPSJnb29nbGUiXVt2YWx1ZT0ibm90cmFuc2xhdGUiXSwgbWV0YVtuYW1lPSJ0cmFuc2xhdGUiXVtjb250ZW50PSJubyJdJykpOwppZihhLkVmKWM9ITE7ZWxzZSBpZihiLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe3ZhciBkPSJub3RyYW5zbGF0ZSIsZT0idHJhbnNsYXRlIjtRdCYmYnUmJihkPSJub3RyYW5zbGF0ZSIsZT0idHJhbnNsYXRlIik7ZD1iLmNsYXNzTGlzdCYmYi5jbGFzc0xpc3QuY29udGFpbnMoZCl8fGIuZ2V0QXR0cmlidXRlJiZiLmdldEF0dHJpYnV0ZSgidHJhbnNsYXRlIik9PT0ibm8iO2U9Yi5jbGFzc0xpc3QmJmIuY2xhc3NMaXN0LmNvbnRhaW5zKGUpfHxiLmdldEF0dHJpYnV0ZSYmYi5nZXRBdHRyaWJ1dGUoInRyYW5zbGF0ZSIpPT09InllcyI7Yz1kPyExOmU/ITA6Y31pZihiLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpYyYmXy5BYyhiLnRleHRDb250ZW50KSYmYi5wYXJlbnRFbGVtZW50JiZhLkwub2JzZXJ2ZShiLnBhcmVudEVsZW1lbnQpO2Vsc2UgaWYoYi5jaGlsZE5vZGVzKWZvcihlPTA7ZTxiLmNoaWxkTm9kZXMubGVuZ3RoO2UrKylydihhLGIuY2hpbGROb2Rlc1tlXSwKYyl9fSxxdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz17fSxkPTA7ZDxiLmNoaWxkTm9kZXMubGVuZ3RoO2M9e2tiOnZvaWQgMH0sZCsrKWMua2I9Yi5jaGlsZE5vZGVzW2RdLGMua2Iubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmXy5BYyhjLmtiLnRleHRDb250ZW50KSYmKGEuUCsrLGEuTy5oYXMoYy5rYil8fGEuTy5zZXQoYy5rYixjLmtiLnRleHRDb250ZW50KSxrdihhLlhlLGMua2IudGV4dENvbnRlbnQpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe2Uua2IudGV4dENvbnRlbnQ9Zn19KGMpKS5jYXRjaChmdW5jdGlvbigpe30pLmZpbmFsbHkoZnVuY3Rpb24oKXthLlAtLTthLlA9PT0wJiZhLmwmJmEubCgxMDAsITApfSkpfTtsdi5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe212KHRoaXMpO3RoaXMuVWUucmVzdG9yZSgpO3ZhciBhPXRoaXMuQyBpbnN0YW5jZW9mIE5vZGU/dGhpcy5DOm51bGw7YSYmcHYoYSx0aGlzLkphKCkpfTsKbHYucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLnJlc3RvcmUoKTtfLlVkKHdpbmRvdywiYmx1ciIsdGhpcy50ZiwhMCx0aGlzKTtfLlVkKHdpbmRvdywiZm9jdXMiLHRoaXMudWYsITAsdGhpcyl9O3ZhciBzdj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT13cihhLm8uaCksZj1uZXcgQnQoYSxiLkQpO2IuQy5wdXNoKGYpO0R0KGYsYi5JKTtGdShiLGUpO0N0KGYsZHx8YS5wZik7Yj1jfHxuZXcgWXUoW10sW10sYixhLkphKCksYS5vYSgpLGEueWYsYS5JLGEuSWEpO0V0KGYsYS5VaCxhKTthLkImJkR0KGYsYi5kb25lLGIpO0Z0KGYsYil9O18ubT1sdi5wcm90b3R5cGU7Xy5tLlVoPWZ1bmN0aW9uKGEsYixjKXtjLmRvbmUoKTt0aGlzLkk/dGhpcy5paChhKTp0aGlzLmhoKGEpO2Muby5JKCl9O18ubS51Zj1mdW5jdGlvbigpe3RoaXMuUj0hMTt0aGlzLlQ9MDt5dCh0aGlzLkQsdGhpcy5BKX07Cl8ubS50Zj1mdW5jdGlvbihhKXthLnRhcmdldD09d2luZG93JiYodGhpcy5SPSEwLHRoaXMuVD0wLHl0KHRoaXMuRCwuMDEpKX07Xy5tLlFoPWZ1bmN0aW9uKGEpe2lmKHRoaXMuZyYmdGhpcy5CKWlmKF8ub2koXy5aaShwcSw5KSkpZm9yKHZhciBiPTA7YjxhLmxlbmd0aDtiKyspe3ZhciBjPWFbYl0uYWRkZWROb2RlcztpZihjKWZvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXJ2KHRoaXMsY1tkXSl9ZWxzZXtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKWlmKGFbYl0udGFyZ2V0JiZhW2JdLnRhcmdldC5jbGFzc05hbWUmJnR5cGVvZiBhW2JdLnRhcmdldC5jbGFzc05hbWU9PT0ic3RyaW5nIiYmKGFbYl0udGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKCJ0cmFuc2xhdGUiKT49MHx8YVtiXS50YXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoImdvb2ctIik9PTApKXJldHVybjt0aGlzLndhLmFkZCgoMCxfLnkpKHRoaXMuTWksdGhpcykpfX07Cl8ubS5NaT1mdW5jdGlvbigpe3RoaXMuST0hMDt0aGlzLkcmJih0aGlzLkcuc3RvcCgpLHRoaXMuRz1vdih0aGlzKSk7cmV0dXJuITF9O18ubS5zZj1mdW5jdGlvbihhLGIpe0R1KGIsR3QoYSkpO3N2KHRoaXMsYik7cmV0dXJuIHRoaXMuWWh9O18ubS5ZaD1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmcpcmV0dXJuIEl0O2lmKCFIdChhKSlyZXR1cm4gSnQ7aWYoIXRoaXMuQilmb3IoYT0wO2E8dGhpcy5GLmxlbmd0aDsrK2Epe3ZhciBjPWIsZD0oMCxfLnkpKHRoaXMuTWUsdGhpcyxiLHRoaXMuRlthXSk7Yy5ELmFkZChkKX1yZXR1cm4gdGhpcy5YaH07Cl8ubS5uZj1mdW5jdGlvbihhLGIpe2lmKHRoaXMuVCYmIXRoaXMuUil7YT0obmV3IERhdGUpLmdldFRpbWUoKS10aGlzLlQ7dmFyIGM9dGhpcy5BO2E8OTAwJiZjPi4wMT9jPU1hdGgubWF4KGMqLjksLjAxKTphPjExMDAmJmM8LjUmJihjPU1hdGgubWluKGMqMS41LC41KSk7dGhpcy5BPWM7dGhpcy5nYj90aGlzLmpmPS4wMTp0aGlzLmRmPXRoaXMuQX10aGlzLkk9dGhpcy5nPSEwO3RoaXMuVD0obmV3IERhdGUpLmdldFRpbWUoKTt0aGlzLkNpIT0oYT1kb2N1bWVudC5ib2R5LmlubmVyVGV4dHx8ZG9jdW1lbnQuYm9keS50ZXh0Q29udGVudHx8ZG9jdW1lbnQuYm9keS5pbm5lckhUTUwpPyh0aGlzLkNpPWEsYT0hMCk6YT0hMTthPyh0aGlzLmdiPSExLHRoaXMuQT10aGlzLmRmLHRoaXMuUnx8eXQodGhpcy5ELHRoaXMuQSksRXUoYixbXS5jb25jYXQodGhpcy5DKSx0aGlzLkQpLGE9bmV3IEJ0KHRoaXMsdGhpcy5EKSxDdChhLHRoaXMuc2YpLEV0KGEsKDAsXy55KSh0aGlzLmFmLHRoaXMpKSwKRnQoYSxiKSx0aGlzLkc9YSk6KHRoaXMuZ2I9ITAsdGhpcy5BPXRoaXMuamYsdGhpcy5SfHx5dCh0aGlzLkQsdGhpcy5BKSxhPW5ldyBCdCh0aGlzLHRoaXMuRCksQ3QoYSx0aGlzLm5mKSxFdChhLCgwLF8ueSkodGhpcy5hZix0aGlzKSksRnQoYSxiKSx0aGlzLkc9YSk7cmV0dXJuIEl0fTtfLm0uWGg9ZnVuY3Rpb24oYSxiKXtpZighdGhpcy5nKXJldHVybiBJdDt0aGlzLkk9dGhpcy5nPSExO3RoaXMuSGI/R3UoYiwhMCk6KEd1KGIpLGIuUChiLmwpKTtpZih0aGlzLmlpKXJldHVybiB0aGlzLm5mO2IuY2xlYXIoKTtyZXR1cm4gSXR9Owp2YXIgdXY9ZnVuY3Rpb24oYSxiLGMpe2E6e3ZhciBkPXR2KGEpLGU9YS5mYixmPWEuamksZz1hLlVlLmc7Yj1HdChiKTtpZighYy5HKXtpZihjLnFhLmxlbmd0aD09MCl7Yy5sPT0wJiZjLnFiPT0wJiZjLkIoMCwhMCk7Yz0hMTticmVhayBhfWMuRz1JdShjLGQsZSxmLGcpfWMucmE9ITA7UnQoYy5HLGMuaixjLmgsYik7Yz0hMH1yZXR1cm4gYz9hLnBmOmEuU2N9LHR2PWZ1bmN0aW9uKGEpe3JldHVybiBhLklkPygwLF8ueSkoYS5LLm8sYS5LKTpmdW5jdGlvbigpe319O18ubT1sdi5wcm90b3R5cGU7Cl8ubS5wZj1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmcpcmV0dXJuIEl0O3ZhciBjPWIubztpZihjLmc9PW51bGwpe2lmKCFjLnJhKXJldHVybiB1dih0aGlzLGEsYi5vKTtpZighSHQoYSkpcmV0dXJuIEp0O2MucmE9ITE7Yy5nPWMuRy5kY3x8bnVsbDt2YXIgZD1jLmc/Yy5nOmMuRz1udWxsO2lmKCFkKXJldHVybiB1dih0aGlzLGEsYi5vKTt0aGlzLkYucHVzaChkKTt2YXIgZT1kLm1hKCk7aWYodGhpcy5vLmhhcyhlLCF0aGlzLkIpfHxiLkdbZV0hPW51bGwmJmIuR1tlXSlyZXR1cm4gZT1jLmcuRCxjLmwrPWUsYy5qLT1lLGMuZz1udWxsLHRoaXMuQiYmSnUoYixkLCExKSx1dih0aGlzLGEsYi5vKTtlPXRoaXMubztkPWQubWEoKTtlLmdbZF09bnVsbH1iLmxiKCk+MCYmeXQodGhpcy5ELC41KTtyZXR1cm4gS3UoYyxiLHdyKHRoaXMuby5oKSk/dGhpcy5TYzp1dih0aGlzLGEsYi5vKX07Cl8ubS5TYz1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmd8fGIubGIoKT09MClyZXR1cm4gSXQ7c3YodGhpcyxiLm8pO3JldHVybiB0aGlzLkI/KGIudHJhY2tWaXNpYmlsaXR5KEd0KGEpKSx0aGlzLlpoKTpiLnRyYW5zbGF0ZShhKT09MD9JdDp0aGlzLnJmfTtfLm0uWmg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5nP0h0KGEpP2IudHJhbnNsYXRlKGEpPT0wP0l0OnRoaXMucmY6SnQ6SXR9OwpfLm0uTWU9ZnVuY3Rpb24oYSxiKXtiLmomJnRoaXMuby5yZW1vdmUoYi5sKTtpZighdGhpcy5nKXJldHVybiExO2lmKHRoaXMuby5oYXMoYi5tYSgpLCExKSl7dmFyIGM9dGhpcy5vO2MuaGFzKGIubCwhMSk/KGIuaD1jLnJlYWQoYi5sKSxiLkw9ITApOihjLnJlbW92ZShiLmwpLGIuaj0hMCk7cXQoYil9ZWxzZSBpZihjPXRoaXMubyxiLmopYy5yZW1vdmUoYi5sKTtlbHNlIGlmKGIuRil7dmFyIGQ9Yi5GLnJlcGxhY2UoLzxhIC9nLCI8c3BhbiAiKS5yZXBsYWNlKC9cL2E+L2csIi9zcGFuPiIpO2IuTD0hMDtkZWxldGUgYi5GO2IuRj1udWxsO2IuaD1bXTt2YXIgZT1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLGY9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTttcChmLCExKTtkPWQuaW5kZXhPZigiPGk+Iik+PTA/ZDoiPGI+IitkKyI8L2I+IjtkPV8uS2IoZCk7ZD1fLm1sKGQpO2Yubm9kZVR5cGU9PT0xJiZNbChmKTtmLmlubmVySFRNTD1fLmtqKGQpOwplLmJvZHkuYXBwZW5kQ2hpbGQoZik7ZT1bXTtmb3IoZD1mLmZpcnN0Q2hpbGQ7ZDtkPWQubmV4dFNpYmxpbmcpaWYoZC50YWdOYW1lPT0iSSIpdmFyIGc9b3QoYixFbyhkKSxkLmlubmVySFRNTCk7ZWxzZSBpZihkLnRhZ05hbWU9PSJCIil7Z3x8KGc9b3QoYiwiIiwiIikpO2lmKGIuZy5sZW5ndGg9PTEpdXQoZy5VLGUsMCxkKTtlbHNle3ZhciBoPWU7dmFyIGs9ZDt2YXIgbD1iLmc7Zz1nLlU7Zm9yKHZhciBuPVtdLHE9ay5maXJzdENoaWxkO3E7cT1wKXt2YXIgcD1xLm5leHRTaWJsaW5nO3Z0KHEpfWZvcihwPWsuZmlyc3RDaGlsZDtwO3A9cC5uZXh0U2libGluZylwLmF0dHJpYnV0ZXMmJnAuYXR0cmlidXRlcy5pPyhrPXBhcnNlSW50KHAuYXR0cmlidXRlcy5pLm5vZGVWYWx1ZSwxMCksIWlzTmFOKGspJiZrPj0wJiZrPGwubGVuZ3RoJiYobFtrXS5yZCYmbltrXT9uW2tdLlorPXAuZmlyc3RDaGlsZCYmcC5maXJzdENoaWxkLm5vZGVUeXBlPT0zP3AuZmlyc3RDaGlsZC5ub2RlVmFsdWU6CkVvKHApOm5ba109dXQoZyxoLGsscCkpKTpwLm5vZGVUeXBlPT0zJiZnLnB1c2goe1g6LTEsWjpwbyhwLm5vZGVWYWx1ZSl9KTtnIT1udWxsJiZnLmxlbmd0aD4wJiZnWzBdLlg9PS0xJiYoZy5sZW5ndGg9PTE/Z1swXS5YPTA6KGdbMV0uWj1nWzBdLlorZ1sxXS5aLGcuc2hpZnQoKSkpfWc9dm9pZCAwfWQ9Yi5oO2ZvcihoPTA7aDxkLmxlbmd0aC0xOysraClsPWRbaF0sZz1rbyhsLlVbbC5VLmxlbmd0aC0xXS5aKSxnPWcuY2hhckNvZGVBdChnLmxlbmd0aC0xKSwxMjI4ODw9ZyYmZzw9MTIzNTF8fDY1MjgwPD1nJiZnPD02NTUxOXx8KGwuVVtsLlUubGVuZ3RoLTFdLlorPSIgIik7Xy5BZChmKTtmb3IoZj0wO2Y8Yi5nLmxlbmd0aDsrK2YpZjxlLmxlbmd0aCYmZjxiLkMubGVuZ3RoJiZlW2ZdIT1udWxsJiYoZD1iLkNbZl0saD1lW2ZdLnN0YXJ0LGghPW51bGwmJihsPWQuc3Vic3RyaW5nKDAsZC5sZW5ndGgtZC5yZXBsYWNlKC9eW1xzXHhhMF0rLywiIikubGVuZ3RoKSxsPT0iICImJgoobD0iIiksbCYmKGguWj1sK2guWi5yZXBsYWNlKC9eW1xzXHhhMF0rLywiIikpKSxoPWVbZl0uZW5kLGghPW51bGwmJihkPWQuc3Vic3RyaW5nKGtvKGQpLmxlbmd0aCksZD09IiAiJiYoZD0iIiksZCYmKGguWj1rbyhoLlopK2QpKSk7Yi5oLmxlbmd0aCE9MXx8Yi5oWzBdLmhlfHwoYi5oWzBdLmhlPWIubCk7Yy53cml0ZShiLmwsYi5oKTtxdChiKX1iLkl8fCh0aGlzLkhiPSExKTtjPWIuaj8hMDp2b2lkIDA7YS5XKz1iLkQ7YyE9bnVsbCYmKGEubGE9ITApO2I9TWF0aC5taW4oTWF0aC5mbG9vcihhLlcqMTAwL2EubCksMTAwKTtpZihhLkYhPWJ8fGMpYS5GPWIsYS5SPyhhLkIoYS5GLCEwLGMpLGEuUChhLlcpKTphLkIoYS5GLCExLGMpO3JldHVybiExfTsKXy5tLnJmPWZ1bmN0aW9uKGEsYil7aWYoIXRoaXMuZylyZXR1cm4gSXQ7aWYoIUh0KGEpKXJldHVybiBKdDtpZihiLmxiKCk+MSl7YT1iLmxbMF07dmFyIGM9Yi5nO2lmKGEuanx8Yy5sZW5ndGg9PTB8fGEuZz09bnVsbHx8YS5nLmxlbmd0aD09MClhPW51bGw7ZWxzZXtmb3IodmFyIGQ9W10sZT1bXSxmPTA7ZjxhLmcubGVuZ3RoJiZmPGMubGVuZ3RoOysrZil7dmFyIGc9YS5nW2ZdO2cmJmdbMF0mJmdbMV09PTIwMHx8KGUucHVzaChjW2ZdKSxkLnB1c2goYS5vW2ZdKSl9YT1lLmxlbmd0aD4wP3tOaTpuZXcgZnUoZCwhMCksT2k6ZX06bnVsbH1hPWE/bmV3IFl1KFthLk5pXSxhLk9pLGIubyxiLmgsYi5qLGIucWEsYi5PLGIuQik6bnVsbDthIT1udWxsJiZzdih0aGlzLGIubyxhLHRoaXMuU2MpfWVsc2V7YT0hMTtmb3IoYz0wO2M8Yi5sLmxlbmd0aDsrK2MpZD1iLmxbY10sZC5qfHxkLmg9PTIwMCYmZC5nJiZkLmdbMF0/ZD1kLmw9ITE6KGQuaj0hMCxkPWQubD0hMCksYT1kfHxhO2lmKGEpcmV0dXJuIHRoaXMuU2N9ZD0KdGhpcy5KYSgpO2E9dGhpcy5vYSgpO2lmKGIuZy5sZW5ndGg+MSlpZihjPWIubFswXSxlPWQ9PSJhdXRvIixkPWIuZyxjLmg9PTIwMClmb3IoZj0wO2Y8Yy5nLmxlbmd0aCYmZjxkLmxlbmd0aDsrK2YpaWYoKGc9Yy5nW2ZdKSYmZ1sxXT09MjAwKXt2YXIgaD1nWzJdLGs9ZFtmXSxsPWssbj1oIT1udWxsJiZoPT1hO2wuRj1nWzBdO24hPT12b2lkIDAmJihsLks9bik7ay5JPWUmJmg9PW51bGx9ZWxzZSBkW2ZdLmo9ITA7ZWxzZSBmb3IoYT0wO2E8ZC5sZW5ndGg7KythKWRbYV0uaj0hMDtlbHNle2M9bmV3IGV1KGQ9PSJhdXRvIik7Zm9yKGQ9MDtkPGIubC5sZW5ndGg7KytkKWY9Yi5sW2RdLGU9YSxmLmg9PTIwMCYmZi5nJiZmLmdbMF0/KGY9Zi5nWzBdLGMuZy5wdXNoKGZbMF0pLGY9ZlsyXSxjLmg9Yy5oJiZmIT1udWxsJiZmPT1lLGYhPW51bGwmJihjLmw9ITEpKTpjLmo9ITA7Yi5GIT1udWxsJiYoYy5nLnB1c2goYi5GKSxiLkY9bnVsbCk7aWYoYT1iLmdbMF0pZD1jLm1hKCksZT1jLmgsCmEuRj1kLGUhPT12b2lkIDAmJihhLks9ZSksYS5JPWMubCxhLmo9Yy5qfWlmKHRoaXMuQil7YT0oMCxfLnkpKHRoaXMuTWUsdGhpcyk7Zm9yKGM9MDtjPGIuZy5sZW5ndGg7YysrKWEoYi5vLGIuZ1tjXSk7Zm9yKGM9MDtjPGIuQy5sZW5ndGg7YysrKWEoYi5vLGIuQ1tjXSk7JHUoYik7Yi5XPSEwO2IuSSYmYi5CJiYoYj1iLkIsLS1iLmg9PTAmJlZ1KGIuZykpfXJldHVybiBJdH07CnZhciBtdj1mdW5jdGlvbihhKXthLmxhJiZhLmxhLmRpc2Nvbm5lY3QoKTthLklhJiZhLklhLnJlc2V0KCk7YS5nJiYoYS5HJiZhLkcuc3RvcCgpLGEuZz0hMSxhLkk9ITEpO2lmKGEuRi5sZW5ndGgpe2Zvcih2YXIgYj0wO2I8YS5GLmxlbmd0aDsrK2IpYS5GW2JdLmRpc3Bvc2UoKTthLkY9W119YS5LIT1udWxsJiYoYS5LLnJlc3RvcmUoKSxhLks9bnVsbCk7YS5YYiE9bnVsbCYmKGEuWGIucmVzdG9yZSgpLGEuWGI9bnVsbCk7YS5PJiZhLk8uc2l6ZT4wJiYoYS5PLmZvckVhY2goZnVuY3Rpb24oYyxkKXtkLnRleHRDb250ZW50PWN9KSxhLk8uY2xlYXIoKSk7YS5MJiYoYS5MLmRpc2Nvbm5lY3QoKSxhLkw9bnVsbCk7YS5sZi5yZXN0b3JlKCl9LHB2PWZ1bmN0aW9uKGEsYil7YS5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIikmJmEuc2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIsYik7YS5nZXRBdHRyaWJ1dGUoImxhbmciKSYmYS5zZXRBdHRyaWJ1dGUoImxhbmciLGIpfTsKRHIuYXR0YWNoKDMwNDYsbHYucHJvdG90eXBlLHtvaToxLHJpOjIscGk6Myx0aTo0fSk7dmFyIHZ2PVdxKGNyKSx3dj1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsayxsLG4pe18udS5jYWxsKHRoaXMpO3RoaXMuTz1ifHxudWxsO3RoaXMuSz0hIWM7dGhpcy5HPWR8fCJ0cmFuc3BhcmVudCI7dGhpcy5EPWZ8fCIiO2I9Z3x8e2ZldGNoU3RhcnQ6MCxTazowfTthPWIuZmV0Y2hTdGFydHx8MDtiPWIuZmV0Y2hFbmR8fDA7dGhpcy5GPWEmJmI/Yi1hOjA7dGhpcy5SPURhdGUubm93KCktcnE7dGhpcy5BPSExO3RoaXMuZz1uZXcgUnIoZXx8IiIsdm9pZCAwLGYsbik7dGhpcy5JPW5ldyB6dCgxKTt0aGlzLkI9bmV3IHR0O3RoaXMubD1udWxsO3RoaXMuQz0hMDt0aGlzLm89Xy52LkludGVyc2VjdGlvbk9ic2VydmVyIT1udWxsO3RoaXMuTD1ofHxudWxsO2U9bmV3IGpyO2Y9bmV3IGxyKHRoaXMuZy5pbml0aWFsaXplLmJpbmQodGhpcy5nLGUucmVnaXN0ZXIoKSkpO3RoaXMuemM9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy56Yyx0aGlzKSkpO3RoaXMuUGM9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy5QYywKdGhpcykpKTt0aGlzLnFkPW1yKGYsZS5kZWxheSgoMCxfLnkpKHRoaXMucWQsdGhpcykpKTt0aGlzLnJlc3RvcmU9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy5yZXN0b3JlLHRoaXMpKSk7Zi5maW5pc2goKTtlLmZpbmlzaCgpO3BlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tYXJrJiZwZXJmb3JtYW5jZS5tYXJrKFJxLHZvaWQgMCk7ZT1kcih2diwxKTtmPW5ldyBRbjtmPV8uVGooZiwxLHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO2E6e2lmKHBlcmZvcm1hbmNlJiYoaD1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIiksaC5sZW5ndGg9PTEpKXtoPWhbMF07YnJlYWsgYX1oPW51bGx9aCYmKG49bmV3IEZtLG49Xy5UaihuLDEsIiIpLGE9R20oaC5zdGFydFRpbWUpLG49Xy5MKG4sMixhKSxhPUhtKGguZHVyYXRpb24pLG49Xy5MKG4sMyxhKSxhPW5ldyBQbixhPV8uVGooYSwxLGguaW5pdGlhdG9yVHlwZSksYT1fLlRqKGEsMixoLm5leHRIb3BQcm90b2NvbCksCmI9R20oaC53b3JrZXJTdGFydHx8MCksYT1fLkwoYSwzLGIpLGI9R20oaC5yZWRpcmVjdFN0YXJ0KSxhPV8uTChhLDQsYiksYj1HbShoLnJlZGlyZWN0U3RhcnQpLGE9Xy5MKGEsNCxiKSxiPUdtKGgucmVkaXJlY3RFbmQpLGE9Xy5MKGEsNSxiKSxiPUdtKGguZmV0Y2hTdGFydCksYT1fLkwoYSw2LGIpLGI9R20oaC5kb21haW5Mb29rdXBTdGFydCksYT1fLkwoYSw3LGIpLGI9R20oaC5kb21haW5Mb29rdXBFbmQpLGE9Xy5MKGEsOCxiKSxiPUdtKGguY29ubmVjdFN0YXJ0KSxhPV8uTChhLDksYiksYj1HbShoLmNvbm5lY3RFbmQpLGE9Xy5MKGEsMTAsYiksYj1HbShoLnNlY3VyZUNvbm5lY3Rpb25TdGFydCksYT1fLkwoYSwxMSxiKSxiPUdtKGgucmVzcG9uc2VTdGFydCksYT1fLkwoYSwxMyxiKSxiPUdtKGgucmVzcG9uc2VFbmQpLGE9Xy5MKGEsMTQsYiksYT1fLmprKGEsMTUsaC50cmFuc2ZlclNpemUpLGE9Xy5qayhhLDE2LGguZW5jb2RlZEJvZHlTaXplKSxhPV8uamsoYSwxNyxoLmRlY29kZWRCb2R5U2l6ZSksCm49Sm0obiw2LGEpLF8uTChmLDMsbiksbj1ObShScSkpJiYoaD1PbShVcSx7c3RhcnQ6aC5yZXNwb25zZUVuZCxlbmQ6bi5zdGFydFRpbWV8fHBlcmZvcm1hbmNlLm5vdygpfSkpJiYocGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMmJnBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMoVXEpLGg9S20oaCksXy5MKGYsNCxoKSxoPVVuKGUpLF8uTChoLDQsZikpO2ZyKGUsMSl9O18uRyh3dixfLnUpO0RyLmF0dGFjaCgxNDA5Nyx3di5wcm90b3R5cGUse2JlOmZ1bmN0aW9uKCl7UW0odGhpcy5nLlRhKCk/InRlX2FmYXMiOiJ0ZV9hZmF1Iil9fSk7Xy5tPXd2LnByb3RvdHlwZTtfLm0uUGk9ZnVuY3Rpb24oYSl7dGhpcy5vPWF9O18ubS5TYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuVGEoKX07Cl8ubS56Yz1mdW5jdGlvbihhLGIpe3RoaXMuZy5TYSgpP3RoaXMuZy5vLnNlbmQoe2Rpc3BsYXlfbGFuZ3VhZ2U6YixrZXk6IkFJemFTeUJXRGowUUp2Vkl4OFhPaFJlZ1hYNV9TclJXeGhUNUhzNCJ9LGEpLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIGEoYyl9KToodGhpcy5iZSgpLGEobnVsbCkpfTsKXy5tLlBjPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nO2lmKGIpYShiKTtlbHNlIGlmKHRoaXMuZy5TYSgpKXtiPW5ldyBhcyhkb2N1bWVudC5ib2R5LCExLCExLDEsMSk7Zm9yKHZhciBjPVtdLGQ9MCxlPXRoaXMuZy5oLkhmO2MubGVuZ3RoK2Q8ZTspe3ZhciBmPWIubmV4dCgpO2lmKGYuZG9uZSlicmVhaztmPWYudmFsdWU7Yi5nPT0xJiYkdChmKT9icyhiKTpmLm5vZGVUeXBlPT0zJiYoZj1fLkFjKGpvKGYubm9kZVZhbHVlKSkpJiYoYy5wdXNoKGYpLGQrPWYubGVuZ3RoKX1Tcih0aGlzLmcsYSxjLmpvaW4oIiAiKSkudGhlbihmdW5jdGlvbihnKXthKGcpfSxmdW5jdGlvbihnKXtyZXR1cm4gYShudWxsLGcpfSl9ZWxzZSB0aGlzLmJlKCksYShudWxsLCEwKX07Cl8ubS5xZD1mdW5jdGlvbihhLGIsYyxkLGUpe3Z2LkViPWE7dnYuRmI9Yjt2YXIgZj1kcih2diwyKTtlcih2dixmKTt2YXIgZz1ObShScSk7aWYoZyl7dmFyIGg9Tm0oU3EpO2lmKGgpe3ZhciBrPU9tKFZxLHtzdGFydDpnLnN0YXJ0VGltZSxlbmQ6aC5zdGFydFRpbWV8fHBlcmZvcm1hbmNlLm5vdygpfSk7ayYmKGc9VW4oZiksaD1uZXcgU24saz1LbShrKSxoPV8uTChoLDEsayksXy5MKGcsNSxoKSxwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyhWcSkpfX1mcihmLDIpO2Y9e2RldGFpbDp7c291cmNlTGFuZ3VhZ2U6YSx0YXJnZXRMYW5ndWFnZTpifX07cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJnBlcmZvcm1hbmNlLm1hcmsoU3EsZik7Zj1EYXRlLm5vdygpO0NyKCk7aWYoIWF8fHhyKGEsYikpYT0iYXV0byI7aWYoZXx8YSE9dGhpcy5ofHxiIT10aGlzLmopdGhpcy5CPW5ldyB0dDt0aGlzLmg9YTt0aGlzLmo9CmI7dGhpcy5nLlNhKCk/KGQ9ZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMubCYmdGhpcy5sLmRpc3Bvc2UoKSx0aGlzLmw9bmV3IGx2KGQsdGhpcy5nLHRoaXMuTyx0aGlzLkssdGhpcy5HLCEwLHRoaXMuSSx0aGlzLkIsdGhpcy5vLHRoaXMuTCksdGhpcy5sLnlmPXRoaXMuQSx0aGlzLkM9ITAsdGhpcy5sLnRyYW5zbGF0ZShhLGIsYyxlLCgwLF8ueSkodGhpcy55aSx0aGlzLGYsYSxiKSkpOih0aGlzLmJlKCksYygwLCExLCEwKSl9O18ubS5wZz1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5sJiZ0aGlzLmwuZ307Xy5tLllmPWZ1bmN0aW9uKGEpe3RoaXMuQT1hfTtfLm0ucmVzdG9yZT1mdW5jdGlvbigpe3ZhciBhPWRyKHZ2LDMpO2VyKHZ2LGEpO2ZyKGEsMyk7cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJnBlcmZvcm1hbmNlLm1hcmsoVHEsdm9pZCAwKTtDcigpO3RoaXMuZy5TYSgpJiZ0aGlzLmwmJnRoaXMubC5yZXN0b3JlKCl9OwpfLm0uTT1mdW5jdGlvbigpe0JyKCk7d3YuZWEuTS5jYWxsKHRoaXMpO3RoaXMuZy5kaXNwb3NlKCk7dGhpcy5sPXRoaXMuZz1udWxsO3RoaXMuQj1uZXcgdHR9OwpfLm0ueWk9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5DJiYodGhpcy5DPSExLGI9e3NsOmIsdGw6Yyx0ZXh0bGVuOmR9LHRoaXMuQSYmKGIuY3R0PSIxIiksdGhpcy5EIT0iIiYmKGIuc3A9dGhpcy5EKSxiLnR0dD1EYXRlLm5vdygpLWEsYi50dGw9dGhpcy5SLHRoaXMuRiYmKGIudHRmPXRoaXMuRiksdGhpcy5vJiYoYi5zcj0xKSxhPXBxLGM9W10sXy5vaShfLlppKGEsMikpJiZjLnB1c2goInNkYSIpLF8ub2koXy5aaShhLDMpKSYmYy5wdXNoKCJlZWlzIiksZD1fLmJqKGEsaXEsNiksXy5vaShfLlppKGQsMSkpJiZjLnB1c2goImVzdHMiKSxfLm9pKF8uWmkoYSw3KSkmJmMucHVzaCgiZWhjbSIpLF8ub2koXy5aaShhLDgpKSYmYy5wdXNoKCJlb3BhIiksXy5vaShfLlppKGEsOSkpJiZjLnB1c2goImVhZHQiKSxiLmVmPWMuam9pbigiLCIpLFFtKCJ0ZV90aW1lIixiKSl9O3ZhciB4dj1mdW5jdGlvbihhKXt4bi5jYWxsKHRoaXMsYSk7dGhpcy5BPW5ldyBfLkhiKHRoaXMpfTtfLkIoeHYseG4pO3h2LnByb3RvdHlwZS5TPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5oLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpO2EuY2xhc3NOYW1lPSJnb29nLXRlLWNvbWJvIjthLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsUi5FZSk7dGhpcy5PYShhKX07eHYucHJvdG90eXBlLkxhPWZ1bmN0aW9uKCl7eG4ucHJvdG90eXBlLkxhLmNhbGwodGhpcyk7dGhpcy5aZSgpfTt4di5wcm90b3R5cGUuWmU9ZnVuY3Rpb24oKXtfLngodGhpcy5IKCksImNoYW5nZSIscHIodGhpcywiY2hhbmdlIikpO3RoaXMuZGlzcGF0Y2hFdmVudCgibG9hZCIpfTt4di5wcm90b3R5cGUuc2E9ZnVuY3Rpb24oKXt4bi5wcm90b3R5cGUuc2EuY2FsbCh0aGlzKTt0aGlzLkEuZGlzcG9zZSgpO3RoaXMuQT1udWxsfTsKdmFyIHl2PWZ1bmN0aW9uKGEsYil7YS5IKCkucGFyZW50Tm9kZSE9YiYmKGEuSCgpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYS5IKCkpLGIuYXBwZW5kQ2hpbGQoYS5IKCkpKX07Xy5tPXh2LnByb3RvdHlwZTtfLm0udWM9ZnVuY3Rpb24oYSl7dGhpcy5oLmllKHRoaXMuSCgpKTtmb3IodmFyIGIgaW4gYSlpZihhW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSl7dmFyIGM9dGhpcy5oLlMoIk9QVElPTiIse3ZhbHVlOmJ9KTt0aGlzLmguU2IoYyxhW2JdKTt0aGlzLkgoKS5hcHBlbmRDaGlsZChjKX10aGlzLkgoKS5zZWxlY3RlZEluZGV4PTB9O18ubS5NYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkgoKS52YWx1ZX07Xy5tLmNiPWZ1bmN0aW9uKGEpe2lmKHRoaXMuSCgpLnZhbHVlIT1hKWZvcih2YXIgYj0wLGM7Yz10aGlzLkgoKS5vcHRpb25zLml0ZW0oYik7KytiKWlmKGMudmFsdWU9PWEpe3RoaXMuSCgpLnNlbGVjdGVkSW5kZXg9YjticmVha319OwpfLm0uQWM9ZnVuY3Rpb24oYSl7aWYoXy5vYyhhKT09InVuZGVmaW5lZCIpcmV0dXJuIHRoaXMuSCgpLm9wdGlvbnMuaXRlbSh0aGlzLkgoKS5zZWxlY3RlZEluZGV4KS50ZXh0O2Zvcih2YXIgYj0wLGM7Yz10aGlzLkgoKS5vcHRpb25zLml0ZW0oYik7KytiKWlmKGMudmFsdWU9PWEpcmV0dXJuIGMudGV4dH07Xy5tLlJiPWZ1bmN0aW9uKGEpe3RoaXMuSCgpLmRpc2FibGVkPSFhfTt2YXIgenY9ZnVuY3Rpb24oYSl7eHYuY2FsbCh0aGlzLGEpfTtfLkIoenYseHYpO3p2LnByb3RvdHlwZS5uYj1mdW5jdGlvbihhKXt0aGlzLnVjLmNhbGwodGhpcyxhKX07dmFyIEF2PWZ1bmN0aW9uKGEsYil7eHYuY2FsbCh0aGlzLGIpO3RoaXMuZz1hJiZKbChhKXx8e307dGhpcy5nLm9lPXRoaXMuZy5vZXx8MTE7dGhpcy5nLnBkPXRoaXMuZy5wZCE9MDt0aGlzLmcuZWI9QXF9O18uQihBdix4dik7Xy5tPUF2LnByb3RvdHlwZTtfLm0uS2M9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiR2EiKTt9OwpfLm0uUz1mdW5jdGlvbigpe3RoaXMuS2MoKTt0aGlzLkQ9dGhpcy5IKCk7dGhpcy5sPXdvKCJJRlJBTUUiLHtmcmFtZUJvcmRlcjowLCJjbGFzcyI6IlZJcGdKZC1aVmk5b2QteGwwN09iLU9FVm1jZCBza2lwdHJhbnNsYXRlIix0aXRsZTpSLkVlfSk7dGhpcy5sLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiO21wKHRoaXMubCwhMSk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmwpfTsKXy5tLlplPWZ1bmN0aW9uKCl7dmFyIGE9Xy54Zi50ZXN0KG9xKT8icnRsIjoibHRyIixiPV8uTGIodGhpcy5nLmViKSxjPVModGhpcywibWVudUJvZHkiKTt0aGlzLkEuTih0aGlzLmwsImxvYWQiLHRoaXMucWcpO3RyKHRoaXMubCwoMCxfLnkpKGZ1bmN0aW9uKCl7dmFyIGQ9em8odGhpcy5sKSxlPXt9LGY9ZSYmZS5UZTtlPVduKFZuKF8ueWwoKSwiPGhlYWQ+IiksT3UoZSkpO2Y9JzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURjgiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9IicrUCh4cChiKSkrJyInKyhmPycgbm9uY2U9IicrUChZcChmKSkrJyInOiIiKSsnPjwvaGVhZD48Ym9keSBzY3JvbGw9Im5vIiBzdHlsZT0ibWFyZ2luOjBweDtvdmVyZmxvdzpoaWRkZW4iIGRpcj0iJytQKGEpKyciIG1hcmdpbkhlaWdodD0wIG1hcmdpbldpZHRoPTAgbGVmdE1hcmdpbj0wIHRvcE1hcmdpbj0wIGJvcmRlcj0wPjxkaXYgaWQ9IicrClAoYykrJyIgY2xhc3M9JztpZih3cCgiVklwZ0pkLVpWaTlvZC14bDA3T2IiLF8ucWwpKXt2YXIgZz1NcCgiVklwZ0pkLVpWaTlvZC14bDA3T2IiLm1hKCkpO2c9U3RyaW5nKGcpLnJlcGxhY2UoT3AsQ3ApfWVsc2UgZz0iVklwZ0pkLVpWaTlvZC14bDA3T2IiLnJlcGxhY2UoTnAsQ3ApO2U9Vm4oZSxmK2crIj48L2Rpdj48L2JvZHk+IikuVGIoKTtkLndyaXRlKF8ua2ooZSkpO2QuY2xvc2UoKX0sdGhpcykpfTtfLm0ucWc9ZnVuY3Rpb24oKXt0aGlzLmo9bmV3IF8ucmQoem8odGhpcy5sKSk7dGhpcy5MPXRoaXMuai5IKFModGhpcywibWVudUJvZHkiKSk7dGhpcy5BLk4odGhpcy5ELCJjbGljayIsdGhpcy5UZCk7Xy5TYz90aGlzLkEuTih0aGlzLmwsImJsdXIiLHRoaXMuUmMpOnRoaXMuQS5OKEFvKHRoaXMubCksImJsdXIiLHRoaXMuUmMpO3RoaXMuZGlzcGF0Y2hFdmVudCgibG9hZCIpfTsKXy5tLnNhPWZ1bmN0aW9uKCl7eHYucHJvdG90eXBlLnNhLmNhbGwodGhpcyk7Xy5BZCh0aGlzLmwpO3RoaXMuRD10aGlzLlQ9dGhpcy5CPXRoaXMuTD10aGlzLmo9dGhpcy5sPW51bGx9O18ubS5xZj1mdW5jdGlvbihhKXt0aGlzLm8hPWEuY3VycmVudFRhcmdldC52YWx1ZSYmKHRoaXMuY2IoYS5jdXJyZW50VGFyZ2V0LnZhbHVlKSx0aGlzLmRpc3BhdGNoRXZlbnQoImNoYW5nZSIpKTt0aGlzLlJjKCl9O18ubS5UZD1mdW5jdGlvbigpe0J2KHRoaXMpO0FvKHRoaXMubCkuZm9jdXMoKTt0aGlzLnJhPSEwfTtfLm0uUmM9ZnVuY3Rpb24oKXt0aGlzLnJhJiYodGhpcy5yYT0hMSxCdih0aGlzLCExKSxfLm1iKF8uc2QodGhpcy5EKSkuZm9jdXMoKSl9O18ubS5rZT1mdW5jdGlvbigpe307Xy5tLmxlPWZ1bmN0aW9uKCl7fTsKdmFyIEJ2PWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGI9PSJ1bmRlZmluZWQifHxiKXthLmxlKCk7Yj1qcChhLkQsd2luZG93KTt2YXIgYz1iLnkrYS5ELm9mZnNldEhlaWdodCxkPWIueS1hLkcuaGVpZ2h0LGU9Yi54LGY9Yi54K2EuRC5vZmZzZXRXaWR0aC1hLkcud2lkdGg7aWYoXy5TYyYmIXNvKCkpe3ZhciBnPWRvY3VtZW50LmJvZHk7Yy09Zy5vZmZzZXRUb3A7ZC09Zy5vZmZzZXRUb3A7ZS09Zy5vZmZzZXRMZWZ0O2YtPWcub2Zmc2V0TGVmdH1lbHNlIGc9S24oZG9jdW1lbnQpLGMtPWcueSxkLT1nLnksZS09Zy54LGYtPWcueDtnPV8uaWIod2luZG93KTtiLnk9Yi55PD1nLmhlaWdodC1hLkcuaGVpZ2h0P2M6ZDtiLnk+Zy5oZWlnaHQtYS5HLmhlaWdodCYmKGIueT1nLmhlaWdodC1hLkcuaGVpZ2h0KTtiLnk8MCYmKGIueT0wKTtfLnhmLnRlc3Qob3EpP2IueD1mPj0wP2Y6ZTpiLng9ZTw9Zy53aWR0aC1hLkcud2lkdGg/ZTpmO2IueD5nLndpZHRoLWEuRy53aWR0aCYmKGIueD1nLndpZHRoLQphLkcud2lkdGgpO2IueDwwJiYoYi54PTApO2VwKGEubCxiKTttcChhLmwsITApO0N2KGEpfWVsc2UgYS5rZSgpLG1wKGEubCwhMSl9O18ubT1Bdi5wcm90b3R5cGU7Xy5tLk1hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub307Cl8ubS51Yz1mdW5jdGlvbihhKXt0aGlzLmouaWUodGhpcy5MKTttcCh0aGlzLmwsITApO3RoaXMuSWE9YTt0aGlzLkI9W107Zm9yKHZhciBiIGluIGEpaWYoYVtiXSE9PU9iamVjdC5wcm90b3R5cGVbYl0paWYoYVtiXT09Ii0tLSIpe3ZhciBjPXtsaW5rOnRoaXMuai5TKCJESVYiLHtjbGFzc05hbWU6IlZJcGdKZC1aVmk5b2QtdkgxR21mLWhnRFV3ZSIsdmFsdWU6Yn0pLGdpOiEwfTt0aGlzLkIucHVzaChjKX1lbHNle2M9e2xpbms6dGhpcy5qLlMoIkEiLHtjbGFzc05hbWU6IlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQiLGhyZWY6IiMiLHZhbHVlOmJ9KX07dGhpcy5CLnB1c2goYyk7dmFyIGQ9dGhpcy5qLlMoIkRJViIse3N0eWxlOiJ3aGl0ZS1zcGFjZTpub3dyYXAifSk7dGhpcy5qLmFwcGVuZENoaWxkKGMubGluayxkKTt0aGlzLmcucGQmJnRoaXMuai5hcHBlbmRDaGlsZChkLHRoaXMuai5TKCJTUEFOIix7Y2xhc3NOYW1lOiJpbmRpY2F0b3IifSwiXHUyMDNhIikpOwp0aGlzLmouYXBwZW5kQ2hpbGQoZCx0aGlzLmouUygiU1BBTiIse2NsYXNzTmFtZToidGV4dCJ9LHR5cGVvZiBhW2JdPT09ImZ1bmN0aW9uIj9hW2JdKCk6YVtiXSkpO3RoaXMuQS5OKGMubGluaywiY2xpY2siLHRoaXMucWYpfWE9dGhpcy5CLmxlbmd0aC0xO2E9TWF0aC5yb3VuZCgoYS1hJXRoaXMuZy5vZSkvdGhpcy5nLm9lKSsxO3RoaXMuVD10aGlzLmouUygiVEFCTEUiLHtjZWxsc3BhY2luZzowLGNlbGxwYWRkaW5nOjAsYm9yZGVyOjB9KTtjPXRoaXMuai5TKCJUQk9EWSIpO2I9dGhpcy5qLlMoIlRSIix7dmFsaWduOiJ0b3AifSk7dGhpcy5MLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC12SDFHbWYiO3RoaXMuai5hcHBlbmRDaGlsZCh0aGlzLkwsdGhpcy5UKTt0aGlzLmouYXBwZW5kQ2hpbGQodGhpcy5ULGMpO3RoaXMuai5hcHBlbmRDaGlsZChjLGIpO2ZvcihkPWM9MDtjPGE7KytjKXt2YXIgZT10aGlzLmouUygiVEQiKTt0aGlzLmouYXBwZW5kQ2hpbGQoYixlKTtmb3IodmFyIGY9CjA7ZjwxMSYmZDx0aGlzLkIubGVuZ3RoOysrZiwrK2QpdGhpcy5qLmFwcGVuZENoaWxkKGUsdGhpcy5CW2RdLmxpbmspO2MhPWEtMSYmKGU9dGhpcy5qLlMoIlREIix7ImNsYXNzIjoiVklwZ0pkLVpWaTlvZC12SDFHbWYtS3JoUE5iIn0sIlx1MDBhMCIpLHRoaXMuai5hcHBlbmRDaGlsZChiLGUpKX10aGlzLm89bnVsbDt0aGlzLmNiKHRoaXMuQlswXS5saW5rLnZhbHVlKTtDdih0aGlzKTttcCh0aGlzLmwsITEpfTtfLm0uQWM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuSWFbXy5vYyhhKT09InVuZGVmaW5lZCI/dGhpcy5vOmFdfTtfLm0ubWU9ZnVuY3Rpb24oKXt9OwpfLm0uY2I9ZnVuY3Rpb24oYSl7aWYodGhpcy5vIT1hKXt0aGlzLkFjKGEpJiYodGhpcy5vPWEsdGhpcy5tZSgpKTtmb3IodmFyIGI9MDtiPHRoaXMuQi5sZW5ndGg7KytiKXt2YXIgYz10aGlzLkJbYl07Yy5naXx8KGMubGluay5jbGFzc05hbWU9Yy5saW5rLnZhbHVlPT1hJiZ0aGlzLmcucGQ/IlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQiOiJWSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIiKX19fTt2YXIgQ3Y9ZnVuY3Rpb24oYSl7cXAoYS5MLG9wKGEuVCkpO3FwKGEubCxvcChhLkwpKTthLkc9b3AoYS5sKX0sRHY9ZnVuY3Rpb24oYSxiKXtBdi5jYWxsKHRoaXMsYSxiKX07Xy5CKER2LEF2KTtfLm09RHYucHJvdG90eXBlOwpfLm0uS2M9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmguUygiYSIseyJhcmlhLWhhc3BvcHVwIjoidHJ1ZSJ9KTthLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVkIjtfLm5sKGEsIiMiKTt0aGlzLkk9dGhpcy5oLlMoIlNQQU4iKTthLmFwcGVuZENoaWxkKHRoaXMuSSk7dGhpcy5QPXRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsYWx0OiIiLHN0eWxlOiJiYWNrZ3JvdW5kLWltYWdlOnVybCgiK3hxKyIpO2JhY2tncm91bmQtcG9zaXRpb246LTE0cHggMHB4O2JvcmRlcjpub25lIix3aWR0aDoxNCxoZWlnaHQ6MTR9KTthLmFwcGVuZENoaWxkKHRoaXMuUCk7dGhpcy5PYShhKX07Xy5tLmtlPWZ1bmN0aW9uKCl7Xy5oaih0aGlzLlAsImJhY2tncm91bmRQb3NpdGlvbiIsIi0xNHB4IDBweCIpfTtfLm0ubGU9ZnVuY3Rpb24oKXtfLmhqKHRoaXMuUCwiYmFja2dyb3VuZFBvc2l0aW9uIiwiMHB4IDBweCIpfTsKXy5tLnNhPWZ1bmN0aW9uKCl7QXYucHJvdG90eXBlLnNhLmNhbGwodGhpcyk7dGhpcy5QPXRoaXMuST1udWxsfTtfLm0ubWU9ZnVuY3Rpb24oKXt0aGlzLmguU2IodGhpcy5JLHRoaXMuQWModGhpcy5vKXx8IiIpfTtfLm0ubmI9ZnVuY3Rpb24oYSl7dGhpcy51Yy5jYWxsKHRoaXMsYSl9O3ZhciBFdj1mdW5jdGlvbihhLGIpe0F2LmNhbGwodGhpcyxhLGIpfTtfLkIoRXYsQXYpO18ubT1Fdi5wcm90b3R5cGU7Cl8ubS5LYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5TKCJhIix7ImFyaWEtaGFzcG9wdXAiOiJ0cnVlIn0pO2EuY2xhc3NOYW1lPSJWSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQiO18ubmwoYSwiIyIpO3RoaXMuST10aGlzLmguUygiU1BBTiIpO2EuYXBwZW5kQ2hpbGQodGhpcy5JKTthLmFwcGVuZENoaWxkKHRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsYWx0OiIiLHdpZHRoOjEsaGVpZ2h0OjF9KSk7YS5hcHBlbmRDaGlsZCh0aGlzLmguUygiU1BBTiIse3N0eWxlOiJib3JkZXItbGVmdDoxcHggc29saWQgI2JiYiJ9LCJcdTIwMGIiKSk7YS5hcHBlbmRDaGlsZCh0aGlzLmguUygiSU1HIix7c3JjOkNxLGFsdDoiIix3aWR0aDoxLGhlaWdodDoxfSkpO3RoaXMuUD10aGlzLmguUygic3BhbiIse3N0eWxlOiJjb2xvcjojNzY3Njc2IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sIlx1MjViYyIpO2EuYXBwZW5kQ2hpbGQodGhpcy5QKTt0aGlzLk9hKGEpfTsKXy5tLmtlPWZ1bmN0aW9uKCl7Xy5oaih0aGlzLlAsImNvbG9yIiwiIzliOWI5YiIpfTtfLm0ubGU9ZnVuY3Rpb24oKXtfLmhqKHRoaXMuUCwiY29sb3IiLCIjZDVkNWQ1Iil9O18ubS5zYT1mdW5jdGlvbigpe0F2LnByb3RvdHlwZS5zYS5jYWxsKHRoaXMpO3RoaXMuUD10aGlzLkk9bnVsbH07Xy5tLm1lPWZ1bmN0aW9uKCl7dGhpcy5oLlNiKHRoaXMuSSx0aGlzLkFjKHRoaXMubyl8fCIiKX07Xy5tLm5iPWZ1bmN0aW9uKGEpe3RoaXMudWMuY2FsbCh0aGlzLGEpfTt2YXIgRnY9ZnVuY3Rpb24oYSxiKXtBdi5jYWxsKHRoaXMsYSxiKTt0aGlzLmcucGQ9ITF9O18uQihGdixBdik7CkZ2LnByb3RvdHlwZS5LYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC1MZ2JzU2UiO3ZhciBiPXRoaXMuaC5TKCJESVYiLHtzdHlsZToiYmFja2dyb3VuZDogdXJsKCIrd3ErIikgcmVwZWF0LXggMCAtMzlweCJ9KTthLmFwcGVuZENoaWxkKGIpO3RoaXMuST10aGlzLmguY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7Yi5hcHBlbmRDaGlsZCh0aGlzLkkpO3RoaXMuT2EoYSl9O0Z2LnByb3RvdHlwZS5zYT1mdW5jdGlvbigpe0F2LnByb3RvdHlwZS5zYS5jYWxsKHRoaXMpO3RoaXMuST1udWxsfTtGdi5wcm90b3R5cGUucWY9ZnVuY3Rpb24oYSl7dGhpcy5jYihhLmN1cnJlbnRUYXJnZXQudmFsdWUpO3RoaXMuZGlzcGF0Y2hFdmVudCgiY2hhbmdlIik7dGhpcy5SYygpfTt2YXIgR3Y9ZnVuY3Rpb24oYSxiKXt4bi5jYWxsKHRoaXMsYik7dGhpcy5nPWEmJkpsKGEpfHx7fTt0aGlzLmo9bmV3IF8uSGIodGhpcyl9O18uRyhHdix4bik7dmFyIEh2PXt6azowLEtqOjEsaGs6Mn07Xy5tPUd2LnByb3RvdHlwZTsKXy5tLlM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmguY3JlYXRlRWxlbWVudCgiZGl2Iik7TnQoYSwic2tpcHRyYW5zbGF0ZSIpO050KGEsImdvb2ctdGUtZ2FkZ2V0Iik7YS5kaXI9Xy54Zi50ZXN0KG9xKT8icnRsIjoibHRyIjttcChhLCExKTtpZih0aGlzLmcubGF5b3V0PT0yKWltKGEsUXUoe2lkOlModGhpcywidGFyZ2V0TGFuZ3VhZ2UiKSxTZjoiIixSZjoiIn0pKTtlbHNle3ZhciBiPW5ldyB0bztpZihzcChfLlNjJiYhc28oKSkpdmFyIGM9IjxzcGFuIHN0eWxlPVwiZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2hlaWdodDoxNXB4OyB3aWR0aDo1MXB4O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlciggc3JjPSciK1N0cmluZyhGcSkucmVwbGFjZShScCxHcCkrIicsc2l6aW5nTWV0aG9kPSdzY2FsZScpO1wiPjwvc3Bhbj4iO2Vsc2UgYz1ocy53ZCxjPSc8aW1nIHNyYz0iJytQKFdwKEZxKSkrCiciIHdpZHRoPSIzN3B4IiBoZWlnaHQ9IjE0cHgiIHN0eWxlPSJwYWRkaW5nLXJpZ2h0OiAzcHgiIGFsdD0iR29vZ2xlICcrUChjKSsnIj4nO3ZhciBkPWhzLndkO3ZhciBlPSgwLF8udGwpKCc8c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6bm93cmFwIj48YSBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZCIpKyciIGhyZWY9IicrUChVcChHcSkpKyciIHRhcmdldD0iX2JsYW5rIj4nK2MrS3AoZCkrIjwvYT48L3NwYW4+Iik7Yz1iLmZvcm1hdDtkPVI7dmFyIGY9ZC56ZztlPWUuVGIoKTtlPXVvKGIse3R5cGU6Imh0bWwiLHhmOl8ua2ooZSkudG9TdHJpbmcoKX0pO2I9Yy5jYWxsKGIsZi5jYWxsKGQsZSkpO2ltKGEsUXUoe2lkOlModGhpcywidGFyZ2V0TGFuZ3VhZ2UiKSxTZjoiIixSZjp0aGlzLmcubGF5b3V0PT0xP1JsKFsiXHUwMGEwIiwiXHUwMGEwIixiXSk6Yn0pKX10aGlzLk9hKGEpfTsKXy5tLkxhPWZ1bmN0aW9uKCl7R3YuZWEuTGEuY2FsbCh0aGlzKTt0aGlzLmw9dGhpcy5nLmxheW91dD09Mj9uZXcgRXYobnVsbCx0aGlzLmgpOm5ldyB6dih0aGlzLmgpO3RoaXMuai5OKHRoaXMubCwiY2hhbmdlIixwcih0aGlzLCJjaGdfdGd0X2xhbmciKSk7dGhpcy5qLk4odGhpcy5sLCJsb2FkIix0aGlzLnJnKTt2YXIgYT10aGlzLmguSChTKHRoaXMsInRhcmdldExhbmd1YWdlIikpO2lmKHRoaXMuZy5sYXlvdXQ9PTIpe3ZhciBiPXRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsImNsYXNzIjoiZ29vZy10ZS1nYWRnZXQtaWNvbiIsYWx0OiIifSk7Yi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9InVybCgiK3hxKyIpIjtiLnN0eWxlLmJhY2tncm91bmRQb3NpdGlvbj0iLTY1cHggMHB4Ijt2YXIgYz10aGlzLmguUygiU1BBTiIse3N0eWxlOiJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIn0pO2EuYXBwZW5kQ2hpbGQoYik7YS5hcHBlbmRDaGlsZChjKTt0aGlzLmwua2EoYyk7YS5zdHlsZS53aGl0ZVNwYWNlPQoibm93cmFwIjthLmNsYXNzTmFtZT0iZ29vZy10ZS1nYWRnZXQtc2ltcGxlIn1lbHNlIHRoaXMubC5rYShhKSx0aGlzLmcubGF5b3V0PT0xJiYoYS5zdHlsZS5kaXNwbGF5PSJpbmxpbmUiKX07Xy5tLnJnPWZ1bmN0aW9uKCl7aWYodGhpcy5nLmxheW91dD09Mil7dmFyIGE9dGhpcy5sLGI9dGhpcy5oLkgoUyh0aGlzLCJ0YXJnZXRMYW5ndWFnZSIpKTthLkEueWMoYS5ELCJjbGljayIsYS5UZCk7YS5EPWI7YS5BLk4oYS5ELCJjbGljayIsYS5UZCl9dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9O18ubS5zYT1mdW5jdGlvbigpe0d2LmVhLnNhLmNhbGwodGhpcyk7dGhpcy5qLmRpc3Bvc2UoKTt0aGlzLmo9bnVsbDt0aGlzLmwuZGlzcG9zZSgpO3RoaXMubD1udWxsfTtfLm0ub2E9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sLk1hKCl9O18ubS5uYT1mdW5jdGlvbihhKXthPT0iIj90aGlzLkwmJnRoaXMubC5uYih0aGlzLkwpOnRoaXMuSSYmdGhpcy5sLm5iKHRoaXMuSSk7dGhpcy5sLmNiKGEpfTsKXy5tLnBhPWZ1bmN0aW9uKGEpe21wKHRoaXMuSCgpLGEpfTtfLm0uUmI9ZnVuY3Rpb24oYSl7dGhpcy5sLlJiKGEpfTtfLm0udWU9ZnVuY3Rpb24oYSxiKXt0aGlzLkw9YTt0aGlzLkk9Yn07dmFyIEl2PWZ1bmN0aW9uKGEsYil7eG4uY2FsbCh0aGlzLGIpO3RoaXMuZz1hJiZKbChhKXx8e307dGhpcy5nLmVifHwodGhpcy5nLmViPUFxKTt0aGlzLmo9bmV3IF8uSGIodGhpcyl9O18uRyhJdix4bik7dmFyIEp2PXtwazoxLHFrOjIsbGo6Myxrajo0fTtfLm09SXYucHJvdG90eXBlO18ubS5TPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5oLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuRz0hMTttcChhLCExKTt2YXIgYj1TKHRoaXMsImNvbnRhaW5lciIpO2I9KDAsXy50bCkoJzxpZnJhbWUgaWQ9IicrUChiKSsnIiBmcmFtZUJvcmRlcj0wIHNyYz0iamF2YXNjcmlwdDpcJ1wnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLVNtZlotT0VWbWNkIikrJyBza2lwdHJhbnNsYXRlIiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlIj48L2lmcmFtZT4nKTtpbShhLGIpO3RoaXMuT2EoYSl9OwpfLm0uTGE9ZnVuY3Rpb24oKXtJdi5lYS5MYS5jYWxsKHRoaXMpO3ZhciBhPV8ueGYudGVzdChvcSk/InJ0bCI6Imx0ciIsYj1fLkxiKHRoaXMuZy5lYiksYz1TKHRoaXMsInRyYW5zbGF0ZSIpLGQ9Q3EsZT14cTt0aGlzLkgoKS5pZD1TKHRoaXMsImZsb2F0Q29udGFpbmVyIik7dmFyIGY9e2lkOnRoaXMuSCgpLmlkLGNsYXNzTmFtZToiZ29vZy10ZS1mdGFiLWZsb2F0In07dGhpcy5IKCkuY2xhc3NOYW1lKz0iIGdvb2ctdGUtZnRhYi1mbG9hdCI7c3dpdGNoKHRoaXMuZy5OYyl7Y2FzZSAyOnZhciBnPSJnb29nLXRlLWZsb2F0LXRvcCI7Zi50b3A9MDtmLnJpZ2h0PTIwO2JyZWFrO2Nhc2UgMzpnPSJnb29nLXRlLWZsb2F0LWJvdHRvbSI7Zi5ib3R0b209MDtmLnJpZ2h0PTIwO2JyZWFrO2Nhc2UgNDpnPSJnb29nLXRlLWZsb2F0LWJvdHRvbSI7Zi5ib3R0b209MDtmLmxlZnQ9MjA7YnJlYWs7ZGVmYXVsdDpnPSJnb29nLXRlLWZsb2F0LXRvcCIsZi50b3A9MCxmLmxlZnQ9MjB9bnAoWm4obmV3IF8ueWYsCmYpLHRoaXMuSCgpKTt0aGlzLkI9dGhpcy5oLkgoUyh0aGlzLCJjb250YWluZXIiKSk7dGhpcy5qLk4odGhpcy5CLCJsb2FkIix0aGlzLnNnKTt0cih0aGlzLkIsKDAsXy55KShmdW5jdGlvbigpe3ZhciBoPXpvKHRoaXMuQiksaz1nLGw9e30sbj1sJiZsLlRlLHE9aHMuSWU7az1WbihXbihWbihfLnlsKCksIjxoZWFkPiIpLE91KGwpKSwnPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJytQKHhwKGIpKSsnIicrKG4/JyBub25jZT0iJytQKFlwKG4pKSsnIic6IiIpKyc+PC9oZWFkPjxib2R5IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtU21mWiIpKyIgIitQKGspKyciIHNjcm9sbD0ibm8iIHN0eWxlPSJvdmVyZmxvdzpoaWRkZW4iIGRpcj0iJytQKGEpKyciPjxhIGlkPSInK1AoYykrJyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBjbGFzcz0iJysKUCgiVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCIpKyciPjxpbWcgc3JjPSInK1AoV3AoZCkpKyciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnK1AoV3AoZSkpKycpO2JhY2tncm91bmQtcG9zaXRpb246LTY1cHggMHB4Ij48c3Bhbj4nK0twKHEpKyI8L3NwYW4+PC9hPjwvYm9keT4iKS5UYigpO2gud3JpdGUoXy5raihrKSk7aC5jbG9zZSgpfSx0aGlzKSl9O18ubS5zZz1mdW5jdGlvbigpe3RoaXMubD0obmV3IF8ucmQoem8odGhpcy5CKSkpLkgoUyh0aGlzLCJ0cmFuc2xhdGUiKSk7dGhpcy5qLk4odGhpcy5sLCJjbGljayIscHIodGhpcywiY2xrX3RyYW5zIikpO21wKHRoaXMuSCgpLCEwKTt2YXIgYT1vcCh0aGlzLmwpO21wKHRoaXMuSCgpLCExKTtxcCh0aGlzLkIsYSk7cXAodGhpcy5IKCksYSk7dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9OwpfLm0uc2E9ZnVuY3Rpb24oKXtJdi5lYS5zYS5jYWxsKHRoaXMpO3RoaXMuai5kaXNwb3NlKCk7dGhpcy5qPW51bGw7Xy5BZCh0aGlzLkIpO3RoaXMubD10aGlzLkI9bnVsbH07Xy5tLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkd9O18ubS5wYT1mdW5jdGlvbihhKXt0aGlzLkc9YTttcCh0aGlzLkgoKSxhKX07dmFyIEt2PWZ1bmN0aW9uKGEsYil7eG4uY2FsbCh0aGlzLGIpO3RoaXMuQT1uZXcgXy5IYih0aGlzKTt0aGlzLmc9YSYmSmwoYSl8fHt9O3RoaXMuZy5lYj1BcTt0aGlzLmcud2U9ITE7Xy5oaih0aGlzLmguZy5ib2R5LCJwb3NpdGlvbiIsInJlbGF0aXZlIik7Xy5NaHx8Xy5oaih0aGlzLmguZy5ib2R5LCJtaW5IZWlnaHQiLCIxMDAlIik7Xy5oaih0aGlzLmguZy5kb2N1bWVudEVsZW1lbnQsImhlaWdodCIsIjEwMCUiKTtfLmhqKHRoaXMuaC5nLmJvZHksInRvcCIsIjBweCIpO18uU2MmJih3aW5kb3cuX2Jhbm5lcnF1aXJrZml4bGVmdD0tcGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkubGVmdE1hcmdpbiwxMCksd2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0tcGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkudG9wTWFyZ2luLDEwKS00MCl9O18uRyhLdix4bik7Xy5tPUt2LnByb3RvdHlwZTtfLm0ua2E9ZnVuY3Rpb24oKXt0aGlzLnFjKHRoaXMuaC5nLmJvZHkuZmlyc3RDaGlsZCl9OwpfLm0uUz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLkc9ITE7bXAoYSwhMSk7TnQoYSwic2tpcHRyYW5zbGF0ZSIpO3ZhciBiPVModGhpcywiY29udGFpbmVyIik7Yj0oMCxfLnRsKSgnPGlmcmFtZSBpZD0iJytQKGIpKyciIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2QiKSsnIHNraXB0cmFuc2xhdGUiIGZyYW1lQm9yZGVyPTAgc3JjPSIjIiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlIj48L2lmcmFtZT4nKTtpbShhLGIpO3RoaXMuT2EoYSl9OwpfLm0uTGE9ZnVuY3Rpb24oKXtLdi5lYS5MYS5jYWxsKHRoaXMpO3ZhciBhPV8ueGYudGVzdChvcSk/InJ0bCI6Imx0ciIsYj1fLkxiKHRoaXMuZy5lYiksYz1DcSxkPUdxLGU9RHEsZj14cSxnPVModGhpcywicHJvbXB0U2VjdGlvbiIpLGg9Uyh0aGlzLCJjb25maXJtIiksaz1TKHRoaXMsInByb2dyZXNzU2VjdGlvbiIpLGw9Uyh0aGlzLCJwcm9ncmVzc1ZhbHVlIiksbj16cSxxPVModGhpcywiY2FuY2VsIikscD1TKHRoaXMsImZpbmlzaFNlY3Rpb24iKSxyPVModGhpcywicmVzdG9yZSIpLHQ9Uyh0aGlzLCJlcnJvclNlY3Rpb24iKSxBPVModGhpcywiZXJyb3JDb250ZW50IiksRD1TKHRoaXMsImNsb3NlIiksRT1TKHRoaXMsIm5vQXV0b1BvcHVwIiksYmEsWj1bXTt0aGlzLmcud2UmJloucHVzaChQdSh7aWQ6Uyh0aGlzLCJwcm9tcHRTb3VyY2VMYW5nIil9KSk7Wi5wdXNoKFB1KHtpZDpTKHRoaXMsInByb21wdFRhcmdldExhbmciKX0pKTt2YXIgdmk9bW0oUi5KZy5hcHBseShudWxsLApaKSk7Wj1bXTt0aGlzLmcud2UmJloucHVzaChQdSh7aWQ6Uyh0aGlzLCJmaW5pc2hTb3VyY2VMYW5nIil9KSk7Wi5wdXNoKFB1KHtpZDpTKHRoaXMsImZpbmlzaFRhcmdldExhbmciKX0pKTt2YXIgd2k9bW0oUi5EZy5hcHBseShudWxsLFopKTt0aGlzLmcuY2cmJihiYT10aGlzLmcuY2cpO3RoaXMuQj10aGlzLmguSChTKHRoaXMsImNvbnRhaW5lciIpKTt0aGlzLkEuTih0aGlzLkIsImxvYWQiLHRoaXMudGcpO3RyKHRoaXMuQiwoMCxfLnkpKGZ1bmN0aW9uKCl7dmFyIGFnPXpvKHRoaXMuQiksWGM9YmEsTGQ9e30sRGU9TGQmJkxkLlRlLEVlPWhzLndkLHhpPWhzLkllLGJnPWhzLkVnLHlpPWhzLm1nLHppPWhzLkFnLGNnPWhzLkFlLEFpPWhzLkFlO1hjPVZuKFduKFZuKF8ueWwoKSwiPGhlYWQ+IiksT3UoTGQpKSwnPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJysKUCh4cChiKSkrJyInKyhEZT8nIG5vbmNlPSInK1AoWXAoRGUpKSsnIic6IiIpKyc+PC9oZWFkPjxib2R5IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYiIpKyciIHNjcm9sbD0ibm8iIGJvcmRlcj0wIGRpcj0iJytQKGEpKyciPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgd2lkdGg9MTAwJSBoZWlnaHQ9MTAwJT48dHIgdmFsaWduPW1pZGRsZT48dGQgd2lkdGg9MSBub3dyYXA+PGEgaHJlZj0iJytQKFVwKGQpKSsnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZCIpKyciIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iJytQKFdwKGUpKSsnIiBhbHQ9Ikdvb2dsZSAnK1AoRWUpKyciPjwvYT48L3RkPicrKHNwKFhjKT8nPHRkIHdpZHRoPTE+PGltZyBzcmM9IicrUChXcChjKSkrJyIgd2lkdGg9IjkiIGhlaWdodD0iMTUiIHRpdGxlPSInK1AoWGMpKyciIGFsdD0iJytQKFhjKSsnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJysKUChXcChmKSkrJyk7YmFja2dyb3VuZC1wb3NpdGlvbjotNTZweCAwcHg7bWFyZ2luOjAgNHB4Ij48L3RkPic6IiIpKyc8dGQgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZSIpKyciPjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgaGVpZ2h0PTEwMCU+PHRyIGlkPSInK1AoZykrJyIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgdmFsaWduPW1pZGRsZT48dGQgbm93cmFwPjxzcGFuIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMiKSsnIj4nK0twKHZpKSsnPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKGgpKyciPjxiPicrS3AoeGkpKyc8L2I+PC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48dGQgY2xhc3M9IicrClAoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKEUpKyciPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvdGQ+PC90cj48dHIgaWQ9IicrUChrKSsnIiBzdHlsZT0iZGlzcGxheTpub25lIiB2YWxpZ249bWlkZGxlPjx0ZD48c3BhbiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItYk45N1BjIikrJyI+JytLcChiZykrJyZuYnNwOzxzcGFuIGRpcj0ibHRyIj4oPGIgaWQ9IicrUChsKSsnIj48L2I+JSk8L3NwYW4+Jm5ic3A7PGltZyBzcmM9IicrUChXcChuKSkrJyI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKHEpKyciPicrS3AoeWkpKwonPC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48L3RyPjx0ciBpZD0iJytQKHApKyciIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjx0ZD48c3BhbiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItYk45N1BjIikrJyI+JytLcCh3aSkrJzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItS0U2dnFlIikrJyI+PC90ZD48dGQgbm93cmFwPjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1MZ2JzU2UiKSsnIj48ZGl2PjxidXR0b24gaWQ9IicrUChyKSsnIj4nK0twKHppKSsnPC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48L3RyPjx0ciBpZD0iJytQKHQpKyciIHN0eWxlPSJkaXNwbGF5Om5vbmUiIHZhbGlnbj1taWRkbGU+PHRkPjxzcGFuIGlkPSInK1AoQSkrJyIgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1PUkhiLWJOOTdQYyIpKyciPjwvc3Bhbj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItS0U2dnFlIikrCiciPjwvdGQ+PHRkIHdpZHRoPTEgaWQ9Im9wdGlvbnMiPjwvdGQ+PHRkIHdpZHRoPTE+PGEgaWQ9IicrUChEKSsnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGQiKSsnIiBocmVmPSIjIiB0aXRsZT0iJytQKGNnKSsnIj48aW1nIHNyYz0iJytQKFdwKGMpKSsnIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGFsdD0iJytQKEFpKSsnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJytQKFdwKGYpKSsnKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yOHB4IDBweCI+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT4nKS5UYigpO2FnLndyaXRlKF8ua2ooWGMpKTthZy5jbG9zZSgpfSx0aGlzKSl9OwpfLm0udGc9ZnVuY3Rpb24oKXt0aGlzLmo9bmV3IF8ucmQoem8odGhpcy5CKSk7THYodGhpcyxSLkNlKTtpZih0aGlzLmcuZWI9PUFxKXt2YXIgYT0idXJsKCIrd3ErIikiO18uaGoodGhpcy5qLmcuYm9keSwiYmFja2dyb3VuZEltYWdlIixhKTtmb3IodmFyIGI9dGhpcy5qLmcuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJ1dHRvbiIpLGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXS5wYXJlbnROb2RlO18uaGooZCwiYmFja2dyb3VuZEltYWdlIixhKTtfLmhqKGQsImJhY2tncm91bmRSZXBlYXQiLCJyZXBlYXQteCIpO18uaGooZCwiYmFja2dyb3VuZFBvc2l0aW9uIiwiMCAtMzlweCIpfX10aGlzLmcud2UmJih0aGlzLm89bmV3IER2KHRoaXMuZyx0aGlzLmopKTt0aGlzLmw9bmV3IER2KHRoaXMuZyx0aGlzLmopO3RoaXMuRD1uZXcgRnYodGhpcy5nLHRoaXMuaik7dGhpcy5BLk4odGhpcy5qLkgoUyh0aGlzLCJjb25maXJtIikpLCJjbGljayIscHIodGhpcywiY2xrX2NvbmZpcm0iKSk7CnRoaXMuQS5OKHRoaXMuai5IKFModGhpcywiY2FuY2VsIikpLCJjbGljayIscHIodGhpcywiY2xrX2NhbmNlbCIpKTt0aGlzLkEuTih0aGlzLmouSChTKHRoaXMsInJlc3RvcmUiKSksImNsaWNrIixwcih0aGlzLCJjbGtfcmVzdG9yZSIpKTt0aGlzLkEuTih0aGlzLmouSChTKHRoaXMsImNsb3NlIikpLCJjbGljayIscHIodGhpcywiY2xrX2Nsb3NlIikpO3RoaXMuUD10aGlzLmouSChTKHRoaXMsIm5vQXV0b1BvcHVwIikpO3RoaXMuQS5OKHRoaXMuUCwiY2xpY2siLHByKHRoaXMsImNsa19ub19hcCIpKTt0aGlzLm8mJnRoaXMuQS5OKHRoaXMubywiY2hhbmdlIixwcih0aGlzLCJjaGdfc3JjX2xhbmciKSk7dGhpcy5BLk4odGhpcy5sLCJjaGFuZ2UiLHByKHRoaXMsImNoZ190Z3RfbGFuZyIpKTt0aGlzLkEuTih0aGlzLkQsImNoYW5nZSIsdGhpcy5SaCk7YT1uZXcganIoKDAsXy55KSh0aGlzLnVnLHRoaXMpKTt0aGlzLm8mJnRoaXMuQS5OKHRoaXMubywibG9hZCIsYS5yZWdpc3RlcigpKTsKdGhpcy5BLk4odGhpcy5sLCJsb2FkIixhLnJlZ2lzdGVyKCkpO3RoaXMuQS5OKHRoaXMuRCwibG9hZCIsYS5yZWdpc3RlcigpKTthLmZpbmlzaCgpO3RoaXMubyYmdGhpcy5vLmthKHRoaXMuai5IKFModGhpcywicHJvbXB0U291cmNlTGFuZyIpKSk7dGhpcy5sLmthKHRoaXMuai5IKFModGhpcywicHJvbXB0VGFyZ2V0TGFuZyIpKSk7dGhpcy5ELmthKHRoaXMuai5IKCJvcHRpb25zIikpfTtfLm0udWc9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLkQsYj1SLnlnO18uemQoYS5JKTthLkkuYXBwZW5kQ2hpbGQoYS5oLmNyZWF0ZVRleHROb2RlKGIrIlx1MDBhMFx1MjViYyIpKTt0aGlzLkQudWMoe3R1cm5fb2ZmX3NpdGU6Ui5HZyxzMToiLS0tIixsZWFybl9tb3JlOlIueGd9KTt0aGlzLmRpc3BhdGNoRXZlbnQoImxvYWQiKX07Xy5tLlJoPWZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuRC5NYSgpKXtjYXNlICJsZWFybl9tb3JlIjp3aW5kb3cub3BlbihKcSwiX2JsYW5rIik7YnJlYWs7Y2FzZSAidHVybl9vZmZfc2l0ZSI6dGhpcy5kaXNwYXRjaEV2ZW50KCJjbGtfbm9fYXBfc2l0ZSIpfX07Cl8ubS5zYT1mdW5jdGlvbigpe3RoaXMucGEoITEpO0t2LmVhLnNhLmNhbGwodGhpcyk7dGhpcy5BLmRpc3Bvc2UoKTt0aGlzLkE9bnVsbDt0aGlzLm8mJih0aGlzLm8uZGlzcG9zZSgpLHRoaXMubz1udWxsKTt0aGlzLmwuZGlzcG9zZSgpO3RoaXMubD1udWxsO3RoaXMuRC5kaXNwb3NlKCk7dGhpcy5EPW51bGw7Xy5BZCh0aGlzLkIpO3RoaXMuYWM9dGhpcy5qPW51bGx9O18ubS5KYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm8/dGhpcy5vLk1hKCk6IiJ9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmwuTWEoKX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3RoaXMubyYmdGhpcy5vLmNiKGEpO3RoaXMuVCYmdGhpcy5UW2FdJiZ0aGlzLmouU2IodGhpcy5QLFIuRmcodGhpcy5UW2FdKSl9O18ubS5uYT1mdW5jdGlvbihhKXt0aGlzLmwuY2IoYSl9Owp2YXIgTXY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5hYyE9Yil7YS5hYz1iO2lmKGI9PTApe2EubyYmeXYoYS5vLGEuai5IKFMoYSwicHJvbXB0U291cmNlTGFuZyIpKSk7aWYoYS5MKXt2YXIgZT1hLm9hKCk7YS5sLm5iKGEuTCk7YS5uYShlKX15dihhLmwsYS5qLkgoUyhhLCJwcm9tcHRUYXJnZXRMYW5nIikpKX1lbHNlIGI9PTImJihhLm8mJnl2KGEubyxhLmouSChTKGEsImZpbmlzaFNvdXJjZUxhbmciKSkpLGEuSSYmKGU9YS5vYSgpLGEubC5uYihhLkkpLGEubmEoZSkpLHl2KGEubCxhLmouSChTKGEsImZpbmlzaFRhcmdldExhbmciKSkpKTtlPXt9O2VbLTFdPWEuai5IKFMoYSwiZXJyb3JTZWN0aW9uIikpO2VbMF09YS5qLkgoUyhhLCJwcm9tcHRTZWN0aW9uIikpO2VbMV09YS5qLkgoUyhhLCJwcm9ncmVzc1NlY3Rpb24iKSk7ZVsyXT1hLmouSChTKGEsImZpbmlzaFNlY3Rpb24iKSk7Zm9yKHZhciBmIGluIGUpZVtmXSE9PU9iamVjdC5wcm90b3R5cGVbZl0mJm1wKGVbZl0sZj09CmIpfWMmJmEucGEoITApO2EuUC5wYXJlbnROb2RlLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT1kPyJibG9jayI6Im5vbmUifTtLdi5wcm90b3R5cGUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuR307Ckt2LnByb3RvdHlwZS5wYT1mdW5jdGlvbihhKXtpZih0aGlzLkchPWEpe3RoaXMuRz1hO2lmKF8uU2MpdmFyIGI9cGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkubGVmdE1hcmdpbiwxMCksYz1wYXJzZUludCgiMCIrdGhpcy5oLmcuYm9keS50b3BNYXJnaW4sMTApO3ZhciBkPXRoaXMuaC5nLmNvbXBhdE1vZGU9PSJCYWNrQ29tcGF0IjthPyhfLmhqKHRoaXMuaC5nLmJvZHksInRvcCIsIjQwcHgiKSxtcCh0aGlzLkgoKSwhMCksXy5TYyYmKHNvKCk/KHdpbmRvdy5fYmFubmVycXVpcmtmaXhsZWZ0PXdpbmRvdy5fYmFubmVycXVpcmtmaXh0b3A9MCxkJiYodGhpcy5oLmcuYm9keS50b3BNYXJnaW49Yys0MCkpOmQ/KHRoaXMuaC5nLmJvZHkudG9wTWFyZ2luPWMrNDAsd2luZG93Ll9iYW5uZXJxdWlya2ZpeGxlZnQ9d2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0wKTood2luZG93Ll9iYW5uZXJxdWlya2ZpeGxlZnQ9LWIsd2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0tYy00MCkpKTooXy5oaih0aGlzLmguZy5ib2R5LAoidG9wIiwiMHB4IiksbXAodGhpcy5IKCksITEpLGQmJmM+PTQwJiYodGhpcy5oLmcuYm9keS50b3BNYXJnaW49Yy00MCkpfX07dmFyIE52PWZ1bmN0aW9uKGEsYil7YS5qLlNiKGEuai5IKFMoYSwicHJvZ3Jlc3NWYWx1ZSIpKSxiKX0sTHY9ZnVuY3Rpb24oYSxiKXthLmouU2IoYS5qLkgoUyhhLCJlcnJvckNvbnRlbnQiKSksYil9O0t2LnByb3RvdHlwZS51ZT1mdW5jdGlvbihhLGIpe3RoaXMuTD1hO3RoaXMuST1iO3RoaXMubC5uYihhKX07dmFyIFB2PWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7Xy5vYyhhKT09InN0cmluZyImJihiPWEsYT17fSk7Xy5vYyhiKT09InN0cmluZyImJihiPWduKFN0cmluZyhiKSkpO3RoaXMuVD1iO3RoaXMuQT1uZXcgXy5IYih0aGlzKTt0aGlzLmxhPXZvaWQgMDthPU9iamVjdChhKTt0aGlzLm89ImF1dG8iOyEoYj13aW5kb3cucGFyZW50IT13aW5kb3cpJiYoYj0oIXdpbmRvdy5leHRlcm5hbHx8IXdpbmRvdy5leHRlcm5hbC5nb29nbGVUb29sYmFyVmVyc2lvbnx8cGFyc2VGbG9hdCh3aW5kb3cuZXh0ZXJuYWwuZ29vZ2xlVG9vbGJhclZlcnNpb24pPDYuMikmJighd2luZG93Lmd0YkV4dGVybmFsfHwhd2luZG93Lmd0YkV4dGVybmFsLmlzVHJhbnNsYXRlRW5hYmxlZHx8IXdpbmRvdy5ndGJFeHRlcm5hbC5pc1RyYW5zbGF0ZUVuYWJsZWQoKSkpJiYoYj1uYXZpZ2F0b3IuYXBwVmVyc2lvbiYmbmF2aWdhdG9yLmFwcFZlcnNpb24ubWF0Y2goL1xzQ2hyb21lXC8oKFxkKylcLihcZCspXC5bXGRcLl0rKVxzLyksCmI9IShiJiZiWzJdJiZiWzNdJiZOdW1iZXIoYlsyXSkqMUUzK051bWJlcihiWzNdKT49NDAwMSkpO3RoaXMuZz17RWQ6YixoZjohMSxGZDpudWxsLEVjOm51bGwsWGQ6W10sY2Y6W10sZGg6ITEsUGI6ITEsYXBpS2V5OiIiLGxheW91dDowLFZlOiExfTt0aGlzLklhPXtlYjpBcSxjZzp2cT09Imh0dHBzOi8vIj9SLkNnOm51bGx9O3RoaXMuUD17ZWI6QXEsTmM6bnVsbH07YSYmKCJhdXRvRGlzcGxheSJpbiBhJiYodGhpcy5nLkVkPXRoaXMuZy5FZCYmISFhLmF1dG9EaXNwbGF5KSwibXVsdGlsYW5ndWFnZVBhZ2UiaW4gYSYmKHRoaXMuZy5QYj0hIWEubXVsdGlsYW5ndWFnZVBhZ2UpLCJsYXlvdXQiaW4gYSYmKHRoaXMuZy5sYXlvdXQ9YS5sYXlvdXQpLGEucGFnZUxhbmd1YWdlJiYodGhpcy5nLmRkPXFyKGEucGFnZUxhbmd1YWdlKSksYS5pbmNsdWRlZExhbmd1YWdlcyYmKHRoaXMuZy5YZD1hLmluY2x1ZGVkTGFuZ3VhZ2VzLnNwbGl0KCIsIikpLGEuZXhjbHVkZWRMYW5ndWFnZXMmJgoodGhpcy5nLmNmPWEuZXhjbHVkZWRMYW5ndWFnZXMuc3BsaXQoIiwiKSksYS5yZW1vdGVBcGlQcm94eUhhbmRsZXJzJiYodGhpcy5sYT1hLnJlbW90ZUFwaVByb3h5SGFuZGxlcnMpLHRoaXMuZy5kZCYmKHRoaXMubz10aGlzLmcuZGQpLGEua2V5JiYodGhpcy5nLmFwaUtleT1hLmtleSksdGhpcy5QLk5jPU51bWJlcihhLmZsb2F0UG9zaXRpb24pfHx0aGlzLlAuTmMsImRpc2FibGVBdXRvVHJhbnNsYXRpb24iaW4gYSYmKHRoaXMuZy5WZT0hIWEuZGlzYWJsZUF1dG9UcmFuc2xhdGlvbikpOyF0aGlzLmcuVmUmJk92KHRoaXMpJiYodGhpcy5nLmhmPSEwKTt0aGlzLkM9e307aWYoKGE9ZG9jdW1lbnQuY29va2llLm1hdGNoKC8oXnw7IClnb29ndHJhbnNvcHQ9KC4qPykoO3wkKS8pKSYmYVsyXSlmb3IodGhpcy5DPXt9LGE9Xy5EYihhWzJdKS5zcGxpdCgifCIpLGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXS5zcGxpdCgiPSIpO2NbMF0mJih0aGlzLkNbY1swXV09Y1sxXSl9dGhpcy53YT0KbmV3IFpzKHthcGlLZXk6dGhpcy5nLmFwaUtleSxoYzoxLHZlOiEwLGdtOkhxfSx7Y2xpZW50OnRxLHU6d2luZG93LmxvY2F0aW9uLmhyZWZ9KTt0aGlzLkY9bmV3IHd2KHZvaWQgMCx0aGlzLndhLHZvaWQgMCx2b2lkIDAsdGhpcy5nLmFwaUtleSx2b2lkIDAsdm9pZCAwLG5ldyBXdSx2b2lkIDAsdm9pZCAwLHRoaXMubGEpO3RoaXMuRz0hMTt0aGlzLkEuTih3aW5kb3csInBhZ2VoaWRlIix0aGlzLmRpc3Bvc2UpO3RoaXMuSz1uZXcganIoKDAsXy55KSh0aGlzLk1oLHRoaXMpKTt0aGlzLkk9bmV3IGpyKCgwLF8ueSkodGhpcy5PaCx0aGlzKSk7dGhpcy5PPW5ldyBscigoMCxfLnkpKHRoaXMua2ksdGhpcykpO3RoaXMuaD1uZXcgS3YodGhpcy5JYSk7dGhpcy5GLnpjKHRoaXMuSy5yZWdpc3RlcigoMCxfLnkpKHRoaXMuSmgsdGhpcykpLG9xKTt0aGlzLlQ/KHRoaXMubD1uZXcgR3YodGhpcy5nKSx0aGlzLkEuTih0aGlzLmwsImxvYWQiLHRoaXMuSy5yZWdpc3RlcigpKSx0aGlzLkEuTih0aGlzLmwsCiJjaGdfdGd0X2xhbmciLG1yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLkloLHRoaXMpKSkpLHRoaXMubC5rYSh0aGlzLlQpKTp0aGlzLlAuTmMmJih0aGlzLkI9bmV3IEl2KHRoaXMuUCksdGhpcy5BLk4odGhpcy5CLCJsb2FkIix0aGlzLksucmVnaXN0ZXIoKSksdGhpcy5BLk4odGhpcy5CLCJjbGtfdHJhbnMiLG1yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLkdoLHRoaXMpKSkpLHRoaXMuQi5rYSgpKTshdGhpcy5nLmRkJiZ0aGlzLmcuZGgmJnRoaXMuRi5QYyh0aGlzLksucmVnaXN0ZXIoKDAsXy55KSh0aGlzLkVoLHRoaXMpKSk7dGhpcy5LLmZpbmlzaCgpfTtfLkIoUHYsXy51KTsKdmFyIE92PWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZixnKXtpZihmPV8uRGIoZikubWF0Y2goIl5cXCgoKFthLXpBLVpcXC1fXSopXFx8KT8oW2EtekEtWlxcLV9dKilcXCl8Xi8oKFthLXpBLVpcXC1fXSopLyk/KFthLXpBLVpcXC1fXSopIikpe2lmKGZbM10pcmV0dXJuIGcuZy5GZD1mWzJdLGcuZy5FYz1mWzNdLCEwO2lmKGZbNl0pcmV0dXJuIGcuZy5GZD1mWzVdLGcuZy5FYz1mWzZdLCEwfXJldHVybiExfXZhciBjPXt1cmw6ZnVuY3Rpb24oKXt2YXIgZj13aW5kb3cubG9jYXRpb24uaHJlZi5tYXRjaCgvIy4qZ29vZ3RyYW5zKC4qKS8pO3JldHVybiBmJiZmWzFdfSxjb29raWU6ZnVuY3Rpb24oKXt2YXIgZj1kb2N1bWVudC5jb29raWUubWF0Y2goLyhefDsgKWdvb2d0cmFucz0oLio/KSg7fCQpLyk7cmV0dXJuIGYmJmZbMl19fSxkO2ZvcihkIGluIGMpaWYoY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0pe3ZhciBlPWNbZF0oKTtpZihlJiZiKGUsYSkpcmV0dXJuIGR9cmV0dXJuIiJ9LApRdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoIi4iKTtjLmxlbmd0aD4yOyljLnNoaWZ0KCk7Yz0iO2RvbWFpbj0iK2Muam9pbigiLiIpO2IhPW51bGw/YT1hKyI9IitiOihiPW5ldyBEYXRlLGIuc2V0VGltZShiLmdldFRpbWUoKS0xKSxhPWErIj1ub25lO2V4cGlyZXM9IitiLnRvR01UU3RyaW5nKCkpO2ErPSI7cGF0aD0vIjtkb2N1bWVudC5jb29raWU9YTt0cnl7ZG9jdW1lbnQuY29va2llPWErY31jYXRjaChkKXt9fSxSdj1mdW5jdGlvbihhLGIpe3ZhciBjPW51bGw7YiE9PXZvaWQgMCYmKGM9YSE9PXZvaWQgMD8iLyIrYSsiLyIrYjoiLyIrYik7UXYoImdvb2d0cmFucyIsYyl9O18ubT1Qdi5wcm90b3R5cGU7Cl8ubS5KaD1mdW5jdGlvbihhKXt0aGlzLmo9cXIob3EpO2E9YXx8e307dmFyIGI9YS50YXJnZXRMYW5ndWFnZXN8fFtdO3RoaXMuTD17c2w6V20oYS5zb3VyY2VMYW5ndWFnZXN8fFtdKSx0bDpXbShiKX07dGhpcy5EPXt9O3RoaXMuUj17fTthPSF0aGlzLmcuWGQubGVuZ3RoO2I9aXIodGhpcy5nLlhkKTt2YXIgYz1pcih0aGlzLmcuY2YpO3RoaXMuRFtvcV09IiI7dGhpcy5SW29xXT0iIjtmb3IodmFyIGQgaW4gdGhpcy5MLnRsKXRoaXMuTC50bFtkXT09PU9iamVjdC5wcm90b3R5cGVbZF18fCEoYXx8ZCBpbiBiKXx8ZCBpbiBjfHwodGhpcy5SW2RdPXRoaXMuTC50bFtkXSxkPT10aGlzLmcuZGQmJiF0aGlzLmcuUGIpfHwodGhpcy5EW2RdPXRoaXMuTC50bFtkXSk7dGhpcy5EW29xXXx8ZGVsZXRlIHRoaXMuRFtvcV07dGhpcy5SW29xXXx8ZGVsZXRlIHRoaXMuUltvcV07dGhpcy5yYT1KbCh0aGlzLkwuc2wpfTtfLm0uRWg9ZnVuY3Rpb24oYSl7YSYmKHRoaXMubz1xcihhKSl9OwpfLm0uTWg9ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5LO2lmKHRoaXMuTCl7dGhpcy5vPXRoaXMub3x8dGhpcy5nLkZkO3RoaXMuaj10aGlzLmcuRWN8fHRoaXMuajt2YXIgYT10aGlzLmcuaGZ8fHRoaXMuZy5FZCYmdGhpcy5vIT10aGlzLmomJiEodGhpcy5vIGluIHNxKSYmdGhpcy5DLm9zIT0iMSImJnRoaXMuQ1sibyIrdGhpcy5vXSE9IjEiO3RoaXMubz09InpoLVRXIiYmKHRoaXMubz0iemgtQ04iKTt0aGlzLnJhW3RoaXMub118fChhPSExLHRoaXMubz0iYXV0byIpO2lmKCF0aGlzLkRbdGhpcy5qXSlpZihhPSExLHRoaXMuRC5lbil0aGlzLmo9ImVuIjtlbHNlIGZvcih2YXIgYiBpbiB0aGlzLkQpaWYodGhpcy5EW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSl7dGhpcy5qPWI7YnJlYWt9aWYodGhpcy5sKXtiPXRoaXMuRDt2YXIgYz17IiI6Ui5CZ30sZDtmb3IoZCBpbiBiKWJbZF0hPT1PYmplY3QucHJvdG90eXBlW2RdJiYoY1tkXT1iW2RdKTt0aGlzLmwudWUoYyx0aGlzLlIpO3RoaXMubC5uYSgiIil9IXFxJiYKYT90aGlzLmcuRWM/bXIodGhpcy5PLHRoaXMuSS5kZWxheSgoMCxfLnkpKHRoaXMub2QsdGhpcywhMCwhMCkpKS5jYWxsKCk6KHRoaXMuRz0hMCxtcih0aGlzLk8sdGhpcy5JLmRlbGF5KCgwLF8ueSkodGhpcy5vZCx0aGlzKSkpLmNhbGwoKSxRbSgidGVfYXAiLHtzbDp0aGlzLm99KSk6KHRoaXMuQiYmdGhpcy5CLnBhKCEwKSx0aGlzLmwmJnRoaXMubC5wYSghMCkpO3dpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UmJnRoaXMuUmIoITEpO3RoaXMuTy5maW5pc2goKX19OwpfLm0uT2g9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmgsYj10aGlzLnJhO2EubyYmYS5vLm5iKGIpO2EuVD1iO3RoaXMuaC51ZSh0aGlzLkQsdGhpcy5SKTt0aGlzLmguTmEodGhpcy5vKTt0aGlzLmgubmEodGhpcy5qKTt0aGlzLkEuTih0aGlzLmgsImNsa19jb25maXJtIix0aGlzLnloKTt0aGlzLkEuTih0aGlzLmgsImNsa19jYW5jZWwiLHRoaXMueGgpO3RoaXMuQS5OKHRoaXMuaCwiY2xrX3Jlc3RvcmUiLHRoaXMuUmQpO3RoaXMuQS5OKHRoaXMuaCwiY2xrX2Nsb3NlIix0aGlzLlFjKTt0aGlzLkEuTih0aGlzLmgsImNsa19ub19hcCIsdGhpcy56aCk7dGhpcy5BLk4odGhpcy5oLCJjbGtfbm9fYXBfc2l0ZSIsdGhpcy5BaCk7dGhpcy5BLk4odGhpcy5oLCJjaGdfc3JjX2xhbmciLHRoaXMubWYpO3RoaXMuQS5OKHRoaXMuaCwiY2hnX3RndF9sYW5nIix0aGlzLm1mKTt0aGlzLmwmJnRoaXMubC5wYSghMCl9OwpfLm0ua2k9ZnVuY3Rpb24oKXt0aGlzLkEuTih0aGlzLmgsImxvYWQiLHRoaXMuSS5yZWdpc3RlcigpKTt0aGlzLmgua2EoKTt0aGlzLkkuZmluaXNoKCl9O18ubS5NPWZ1bmN0aW9uKCl7dGhpcy5GLnJlc3RvcmUoKTtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLkYuZGlzcG9zZSgpO3RoaXMuQS5kaXNwb3NlKCk7dGhpcy5BPW51bGw7dGhpcy5oJiZ0aGlzLmguZGlzcG9zZSgpO3RoaXMuaD1udWxsO3RoaXMuQiYmdGhpcy5CLmRpc3Bvc2UoKTt0aGlzLkI9bnVsbDt0aGlzLmwmJnRoaXMubC5kaXNwb3NlKCk7dGhpcy5UPXRoaXMubD1udWxsfTtfLm0ueWg9ZnVuY3Rpb24oKXshdGhpcy5oLmlzVmlzaWJsZSgpfHwhdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpfHwodGhpcy5HJiZRbSgidGVfYXB0Iix7c2w6dGhpcy5vfSksU3YodGhpcywhMSksdGhpcy5sJiZ0aGlzLmwubmEodGhpcy5oLm9hKCkpKX07Cl8ubS54aD1mdW5jdGlvbigpe3RoaXMuaC5pc1Zpc2libGUoKSYmKFR2KHRoaXMpLE12KHRoaXMuaCwwKSx0aGlzLmwmJnRoaXMubC5uYSgiIikpfTtfLm0uUmQ9ZnVuY3Rpb24oKXt0aGlzLmguaXNWaXNpYmxlKCkmJihUdih0aGlzKSxNdih0aGlzLmgsMCkpO3RoaXMubCYmdGhpcy5sLm5hKCIiKX07Xy5tLlFjPWZ1bmN0aW9uKCl7dGhpcy5oLmlzVmlzaWJsZSgpJiYodGhpcy5HJiYodGhpcy5HPSExLFFtKCJ0ZV9hcGMiLHtzbDp0aGlzLm99KSksVHYodGhpcyksdGhpcy5oLnBhKCExKSx0aGlzLmwmJnRoaXMubC5uYSgiIiksdGhpcy5CJiZ0aGlzLkIucGEoITApKX07Xy5tLnpoPWZ1bmN0aW9uKCl7dGhpcy5oLmlzVmlzaWJsZSgpJiYodGhpcy5DWyJvIit0aGlzLm9dPSIxIixRbSgidGVfYXByIix7c2w6dGhpcy5vfSksdGhpcy5HPSExLHRoaXMuUWMoKSl9OwpfLm0uQWg9ZnVuY3Rpb24oKXtpZih0aGlzLmguaXNWaXNpYmxlKCkpe3RoaXMuRz0hMTt0aGlzLkMub3M9IjEiO3ZhciBhPW51bGw7aWYodGhpcy5DKXthPVtdO2Zvcih2YXIgYiBpbiB0aGlzLkMpdGhpcy5DW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSYmYS5wdXNoKGIrIj0iK3RoaXMuQ1tiXSk7YT1hLmpvaW4oInwiKX1RdigiZ29vZ3RyYW5zb3B0IixhKTt0aGlzLlFjKCl9fTtfLm0ubWY9ZnVuY3Rpb24oKXt0aGlzLmguaXNWaXNpYmxlKCkmJighdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpP3RoaXMuUmQoKToodGhpcy5vPXRoaXMuaC5KYSgpfHx0aGlzLm8sdGhpcy5qPXRoaXMuaC5vYSgpLHRoaXMuaC5hYz09MiYmKHRoaXMubCYmdGhpcy5sLm5hKHRoaXMuaC5vYSgpKSxTdih0aGlzKSkpKX07Xy5tLm9kPWZ1bmN0aW9uKGEsYil7dGhpcy5oLmlzVmlzaWJsZSgpfHwodGhpcy5CJiZ0aGlzLkIucGEoITEpLGE/U3YodGhpcyxiKTpNdih0aGlzLmgsMCwhMCx0aGlzLkcpKX07Cl8ubS5SaT1mdW5jdGlvbihhLGIpe21yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLm9kLHRoaXMsYSxiKSkpLmNhbGwoKX07Xy5tLkdoPWZ1bmN0aW9uKCl7dGhpcy5vZCh0aGlzLmguYWM9PTIpfTtfLm0uSWg9ZnVuY3Rpb24oKXt0aGlzLmwub2EoKT8hdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpP3RoaXMuUmQoKToodGhpcy5qPXRoaXMubC5vYSgpLHRoaXMuaC5uYSh0aGlzLmopLFN2KHRoaXMpKTp0aGlzLmwubmEodGhpcy5qKX07CnZhciBTdj1mdW5jdGlvbihhLGIpe2lmKHdpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UpdHJ5e3dpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UuZ2V0SW5zdGFuY2UoKS5yZXN0b3JlKCl9Y2F0Y2goYyl7fVJ2KGEubyxhLmopO2EuRz0hMTshYiYmYS5vIGluIHNxJiZRbSgidGVfYXBlIix7c2w6YS5vfSk7TnYoYS5oLDApO012KGEuaCwxLCEwKTthLkYuWWYoISFiKTt3aW5kb3cuc2V0VGltZW91dCgoMCxfLnkpKGEuRi5xZCxhLkYsYS5nLlBiPyJhdXRvIjphLm8sYS5qLCgwLF8ueSkoYS5mYixhKSx2b2lkIDAsdm9pZCAwKSwwKX07ClB2LnByb3RvdHlwZS5mYj1mdW5jdGlvbihhLGIsYyl7dHlwZW9mIHRoaXMuZ2I9PSJmdW5jdGlvbiImJnRoaXMuZ2IoKTt0aGlzLmguaXNWaXNpYmxlKCkmJnRoaXMuaC5hYz09MSYmKGM/KFR2KHRoaXMpLE12KHRoaXMuaCwtMSwhMCksYz09Mj9Mdih0aGlzLmgsUi53Zyk6THYodGhpcy5oLFIuQ2UpKTooTnYodGhpcy5oLGEpLGImJih0aGlzLmwmJnRoaXMubC5uYSh0aGlzLmopLHRoaXMuaC5OYSh0aGlzLm8pLE12KHRoaXMuaCwyKSkpKX07dmFyIFR2PWZ1bmN0aW9uKGEpe1J2KCk7d2luZG93LnNldFRpbWVvdXQoKDAsXy55KShhLkYucmVzdG9yZSxhLkYsbnVsbCksMCl9O1B2LnByb3RvdHlwZS5SYj1mdW5jdGlvbihhKXthfHx0aGlzLlFjKCk7dGhpcy5sJiZ0aGlzLmwuUmIoYSk7dGhpcy5CJiZ0aGlzLkIucGEoYSl9O3ZhciB6bj1mdW5jdGlvbihhKXtpZihhJiYoYT1TdHJpbmcoYSksYT1hLnNwbGl0KCIuIiksYS5sZW5ndGgpKXtmb3IodmFyIGI9d2luZG93LGM9MDtjPGEubGVuZ3RoOysrYyl7dmFyIGQ9YVtjXTtpZighKGQmJmQgaW4gYikpcmV0dXJuO2I9YltkXX1yZXR1cm4gYn19O3ZhciBVdj1udWxsLFZ2PWZ1bmN0aW9uKGEpe2lmKCFVdil7dmFyIGIsYyxkLGU7YSYmKCJrZXkiaW4gYSYmKGI9YS5rZXkpLCJzZXJ2ZXJQYXJhbXMiaW4gYSYmKGM9YS5zZXJ2ZXJQYXJhbXMpLCJ0aW1lSW5mbyJpbiBhJiYoZD1hLnRpbWVJbmZvKSwicmVtb3RlQXBpUHJveHlIYW5kbGVycyJpbiBhJiYoZT1hLnJlbW90ZUFwaVByb3h5SGFuZGxlcnMpLChhPXlyKCkpJiYoYz1hKSk7YT0wO2lmKHRxPT0idGVfbGliInx8Xy5XYylhPTM7VXY9bmV3IHd2KHZvaWQgMCxuZXcgWnMoe2FwaUtleTpiLGhjOmEsdmU6ITAsdHJhY2tWaXNpYmlsaXR5OmM9PSJ0dmlzIn0pLHZvaWQgMCx2b2lkIDAsYixjLGQsdm9pZCAwLHZvaWQgMCx2b2lkIDAsZSk7VXYuY29uc3RydWN0b3I9ZnVuY3Rpb24oKXt9O1V2LmlzQXZhaWxhYmxlPVV2LlNhO1V2LmdldFN1cHBvcnRlZExhbmd1YWdlcz1Vdi56YztVdi5nZXRQYWdlTGFuZ3VhZ2U9VXYuUGM7VXYuc2V0Q2xpY2tUaHJvdWdoPVV2LllmO1V2LnRyYW5zbGF0ZVBhZ2U9ClV2LnFkO1V2LnJlc3RvcmU9VXYucmVzdG9yZTtVdi5pc1RyYW5zbGF0aW5nPVV2LnBnO1V2LnNldENoZWNrVmlzaWJpbGl0eT1Vdi5QaX1yZXR1cm4gVXZ9O1Z2LmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIFV2fTt2YXIgV3Y9bnVsbCxYdj1mdW5jdGlvbihhLGIpe1d2fHwoV3Y9bmV3IFB2KGEsYiksV3YuY29uc3RydWN0b3I9ZnVuY3Rpb24oKXt9KTtyZXR1cm4gV3Z9O1h2LmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIFd2fTsKdmFyIFl2PWZ1bmN0aW9uKCl7dmFyIGE9em4oImdvb2dsZS50cmFuc2xhdGUubSIpO2F8fChmcygpLF8ucmMoImdvb2dsZS50cmFuc2xhdGUubSIsUSksYT1RKTtpZihhKWZvcih2YXIgYiBpbiBSKWlmKFJbYl0hPT1PYmplY3QucHJvdG90eXBlW1JbYl1dJiZSW2JdKXt2YXIgYz1SW2JdKCk7UltiXT1hW2NdP2FbY106Z3N9Xy5vaShfLlppKHBxLDEpKSYmKGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxiLnRleHRDb250ZW50PSJcbiAgLnRyYW5zbGF0ZWQtbHRye1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC50cmFuc2xhdGVkLXJ0bHtcbiAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgIixhPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sYXx8KGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaGVhZCIpLGM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LApjLmluc2VydEJlZm9yZShhLGMuZmlyc3RDaGlsZCkpLGEuYXBwZW5kQ2hpbGQoYikpO0JuPT0xPyhfLnJjKCJnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UiLFZ2KSxRbSgidGVfbGkiKSk6KF8ucmMoImdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudCIsWHYpLFB2LnByb3RvdHlwZS5kaXNwb3NlPVB2LnByb3RvdHlwZS5kaXNwb3NlLFB2LnByb3RvdHlwZS5zaG93QmFubmVyPVB2LnByb3RvdHlwZS5SaSxQdi5wcm90b3R5cGUuc2V0RW5hYmxlZD1Qdi5wcm90b3R5cGUuUmIsXy5yYygiZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50LkZsb2F0UG9zaXRpb24iLEp2KSxKdi5UT1BfTEVGVD0xLEp2LlRPUF9SSUdIVD0yLEp2LkJPVFRPTV9SSUdIVD0zLEp2LkJPVFRPTV9MRUZUPTQsXy5yYygiZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50LklubGluZUxheW91dCIsSHYpLEh2LlZFUlRJQ0FMPTAsSHYuSE9SSVpPTlRBTD0xLEh2LlNJTVBMRT0KMik7Q24oKX07CmlmKHdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fY29uc3QpWXYoKTtlbHNlIGlmKHdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fcHJvdG9Db25maWcpe3JxPW5ldyBEYXRlO3ZhciBadj1uZXcgbHEod2luZG93Lmdvb2dsZS50cmFuc2xhdGUuX3Byb3RvQ29uZmlnKTtPbj1fLk4oWnYsMjIpfHwiIjttcT1fLk4oWnYsNil8fCJwcm9kIjtucT1fLk4oWnYsMTIpfHwiIjtvcT1fLk4oWnYsMSl8fCJlbiI7QW49Xy5OKFp2LDIpfHwiIjt2YXIgJHY7KCR2PV8uYmooWnYsanEsMykpJiYocHE9JHYpO18uTihadiw4KTtxcT1fLk0oWnYsMTcpO3NxPXt9O3ZhciBhdzthdz1zbShadiwxOCxfLmFqKCkpO2Zvcih2YXIgYnc9MDtidzxhdy5sZW5ndGg7YncrKylzcVthd1tid11dPSEwO0JuPV8uTihadiw1KT09ImxpYiI/MTowO3RxPShfLk4oWnYsNCl8fCJ0ZSIpKwooQm49PTE/Il9saWIiOiIiKTtmcT1fLk4oWnYsOSl8fCIiO3ZhciBjdzsoY3c9Xy5OKFp2LDEwKSl8fChjdz1fLk4oWnYsMTEpKTt1cT1jd3x8IiI7dnE9Imh0dHBzOi8vIjt2YXIgZHc7ZHc9Xy5OKFp2LDEzKTt2YXIgZXc9dnErKGR3fHwiIikrIi90cmFuc2xhdGVfc3RhdGljLyI7d3E9ZXcrImltZy90ZV9iay5naWYiO3hxPWV3KyJpbWcvdGVfY3RybDMuZ2lmIjt6cT1ldysiaW1nL2xvYWRpbmcuZ2lmIjtBcT1fLk4oWnYsMTQpfHwiIjt5cT1fLk4oWnYsMTUpfHwiIjtCcT1fLk4oWnYsMTYpfHwiIjtDcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvY2xlYXJkb3QuZ2lmIjtEcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl82OHgyOGRwLnBuZyI7RXE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9wcm9kdWN0LzF4L3RyYW5zbGF0ZV8yNGRwLnBuZyI7RnE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfNDJ4MTZkcC5wbmciOwpHcT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbSI7S3EoKTtZdigpfTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCg=="}},"time_used":41,"timings":{"blocked":-1,"dns":2,"connect":17,"send":0,"wait":18,"receive":21,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94708.73d2bca37207c67a41f4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.628Z","timestamp":1785129292628,"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/94708.73d2bca37207c67a41f4.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-8b98\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3892867c91e06f3ada87337d2418c0a2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":35736,"size_decoded":12654,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3065)","md5":"eb8c592becd98b3361efe0b94719d5c6","sha1":"a0d1ee8521cfba7aa407ac50937aedd5f39bf878","sha256":"647fb8708ead9f5ba58a75d3b5e6d45f3df1f26a67f068d19a46752de40e327d","sha512":"27e850e1b55df1bfb523a33007db88c5bf3fca11c34b9f448fad508275031d48062410c7e49cd891d38f4058b2dad657828a8ce9f5a047b24a8804c477a90feb","ssdeep":"768:Qy2uEBDBP0oAifg+OMQjn3FMjhYVwPn9/meP+Tjwqcq8xGQKpb5dg+xU7wbwpEvK:k950TT3WOOP9AsqcK555x/dMDjcXRdH6","tlshash":"f4f2f917f1a7b46693db809ae4724213a33c18013d05486dbabc9ddd2a3f942b663f7d","first_seen":"2026-07-23T13:38:20.417189Z","last_seen":"2026-07-27T08:08:00.885466Z","times_seen":1059,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTQ3MDhdLHs5MzAyMzEoZSx0LHMpe3MuZCh0LHtpc0ZlYXR1cmVzZXRFbmFibGVkOigpPT5hfSk7dmFyIG49cyg2MzUxOCk7Y29uc3QgaT1uZXcgTWFwLG89bmV3IE1hcCxyPW5ldyBTZXQ7ZnVuY3Rpb24gYShlKXtjb25zdCB0PWkuZ2V0KGUpO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQ7Y29uc3Qgcz1vLmdldChlKTtyZXR1cm4hIXMmJnMuc29tZShhKX1mdW5jdGlvbiBkKGUsdCl7aS5zZXQoU3RyaW5nKGUpLEJvb2xlYW4odCkpfSFmdW5jdGlvbigpe2Zvcihjb25zdFtlLHRdb2YgT2JqZWN0LmVudHJpZXMobikpaWYoci5hZGQoZSksInN1YnNldHMiaW4gdClmb3IoY29uc3QgcyBvZiB0LnN1YnNldHMpe3IuYWRkKHMpO2xldCB0PW8uZ2V0KHMpO3ZvaWQgMD09PXQmJih0PVtdLG8uc2V0KHMsdCkpLHQucHVzaChlKX19KCksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzJiZBcnJheS5pc0FycmF5KF9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMpJiZfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2QoZSwhMSl9KSksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMmJkFycmF5LmlzQXJyYXkoX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzKSYmX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2QoZSwhMCl9KSl9LDg1NjE5NihlLHQscyl7cy5kKHQse3Nob3VsZEFmZmVjdFVzZXI6KCk9PmR9KTt2YXIgbj1zKDEwMDU5NSksaT1zLm4obiksbz1zKDkzMjM2NSk7Y29uc3Qgcj0iZmVhdHVyZXRvZ2dsZV9zZWVkIjtmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWkoKShlK2Z1bmN0aW9uKCl7aWYod2luZG93LnVzZXImJndpbmRvdy51c2VyLmlkKXJldHVybiB3aW5kb3cudXNlci5pZDtjb25zdCBlPW8uVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShyKTtpZihudWxsIT09ZSlyZXR1cm4gZTtjb25zdCB0PU1hdGguZmxvb3IoMWU2Kk1hdGgucmFuZG9tKCkpO3JldHVybiBvLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0ocixgJHt0fWApLHR9KCkpLHM9bmV3IERhdGFWaWV3KHQpO3JldHVybiBzLmdldFVpbnQzMigwLCEwKS80Mjk0OTY3Mjk2fWNhdGNoKGUpe3JldHVybi41fX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIGEoZSk8PXR9fSwxNTk1MTMoZSx0LHMpe3MuZCh0LHtnZXRRdW90ZVNlc3Npb25JbnN0YW5jZTooKT0+YX0pO3ZhciBuPXMoOTI3NTkzKSxpPXMoNzU1NjI3KSxvPXMoMTUwMTUwKTtjb25zdCByPXt9O2Z1bmN0aW9uIGEoZT0iZnVsbCIpe3JldHVybiByW2VdfHxmdW5jdGlvbihlPSJmdWxsIix0KXtyW2VdPXR9KGUsbmV3IG4uUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIoe25hbWU6ZSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsZmllbGRzOmRbZV0sZXh0ZW5zaW9uczp7Zm9ybWF0dGVyOmU9Pm5ldyB1KGUpLmZvcm1hdHRlcixzbmFwc2hvdDplPT5uZXcgYyhlKS5zbmFwc2hvdH19KSkscltlXX1jb25zdCBkPXtzaW1wbGU6WyJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJjaCIsImNocCIsImN1cnJlbmN5LWxvZ29pZCIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImJhc2VfY3VycmVuY3lfaWQiLCJjdXJyZW50X3Nlc3Npb24iLCJkZXNjcmlwdGlvbiIsImV4Y2hhbmdlIiwiZm9ybWF0IiwiZnJhY3Rpb25hbCIsImlzX3RyYWRhYmxlIiwibGFuZ3VhZ2UiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxpc3RlZF9leGNoYW5nZSIsImxvZ29pZCIsImxwIiwibHBfdGltZSIsIm1pbm1vdiIsIm1pbm1vdmUyIiwib3JpZ2luYWxfbmFtZSIsInByaWNlc2NhbGUiLCJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIiwidXBkYXRlX21vZGUiLCJ2b2x1bWUiLCJ2YXJpYWJsZV90aWNrX3NpemUiLCJ2YWx1ZV91bml0X2lkIiwidW5pdF9pZCIsIm1lYXN1cmUiXX07ZC5zaW1wbGVEZXRhaWxlZD1bLi4uZC5zaW1wbGUsImFzayIsImJpZCIsImZ1bmRhbWVudGFscyIsImhpZ2hfcHJpY2UiLCJpc190cmFkYWJsZSIsImxvd19wcmljZSIsIm9wZW5fcHJpY2UiLCJwcmV2X2Nsb3NlX3ByaWNlIiwicmNoIiwicmNocCIsInJ0YyIsInJ0Y190aW1lIiwic3RhdHVzIiwiYmFzaWNfZXBzX25ldF9pbmNvbWUiLCJiZXRhXzFfeWVhciIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJpbmR1c3RyeSIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJzZWN0b3IiLCJ2b2x1bWUiLCJkaXZpZGVuZHNfeWllbGQiLCJ0aW1lem9uZSJdLGQuZnVsbD1bXSxkLndhdGNobGlzdD1bLi4uZC5zaW1wbGUsInJjaHAiLCJuY2hwIiwicnRjIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJkaXZpZGVuZHNfYXZhaWxhYmlsaXR5IiwiZmluYW5jaWFsc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiXSwKZC5wb3J0Zm9saW89WyJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJleGNoYW5nZSIsImxpc3RlZF9leGNoYW5nZSIsImRlc2NyaXB0aW9uIiwibG9jYWxfZGVzY3JpcHRpb24iLCJsYW5ndWFnZSIsInNlY3RvciIsInR5cGUiLCJ0eXBlc3BlY3MiLCJpbmR1c3RyeSIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImNoIiwiY2hwIiwibG9nbyIsImxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImxwIiwiZnJhY3Rpb25hbCIsIm1pbm1vdiIsIm1pbm1vdmUyIiwicHJpY2VzY2FsZSIsInZvbHVtZSIsImF2ZXJhZ2Vfdm9sdW1lIiwibWFya2V0X2NhcF9jYWxjIiwibWFya2V0X2NhcF9iYXNpYyIsInRvdGFsX3JldmVudWUiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiYmV0YV8xX3llYXIiLCJkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnkiLCJkaXZpZGVuZHNfeWllbGQiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwicmF0ZXNfbWMiLCJyYXRlc19meSIsInJhdGVzX3R0bSIsImZvcm1hdCIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGQubm90ZXM9WyJzaG9ydF9uYW1lIiwicHJvX25hbWUiLCJsb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIl0sZC5lc3RpbWF0ZXM9WyJmdW5kYW1lbnRhbF9kYXRhIiwidHlwZSIsInR5cGVzcGVjcyIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X3N5bWJvbF9jdXJyZW5jeV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9hbGlnbmVkX2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfY2FsZW5kYXJfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIl0sZC5lY29ub21pYz1bInJlZmVyZW5jZS1sYXN0LXBlcmlvZCIsImxwIiwiY3VycmVuY3lfY29kZSIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGQub3B0aW9ucz1bImFzayIsImJpZCIsImxwIiwidm9sdW1lIiwiY2giLCJjaHAiXTtjbGFzcyB1e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlPXt9LHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzPXt9LHRoaXMuZm9ybWF0dGVyPShlLHQpPT57aWYodGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnNbZV0pcmV0dXJuIHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdO2Z1bmN0aW9uIHMoZSl7Y29uc3Qgcz10JiYhZS5mcmFjdGlvbmFsPzE6ZS5taW5tb3Y7cmV0dXJuIG5ldyBpLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOmUucHJpY2VzY2FsZSxtaW5Nb3ZlOnMsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWluTW92ZTI6ZS5taW5tb3ZlMn0pfWNvbnN0IG49bmV3IFByb21pc2UoKCh0LG4pPT57aWYodGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV0pdChzKHRoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlW2VdKSk7ZWxzZXtjb25zdCBpPSgwLG8uZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUoaSxbZV0sKG89PnsiZXJyb3IiPT09by5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1udWxsLG4oIlF1b3RlcyBzbmFwc2hvdCBpcyBub3QgcmVjZWl2ZWQiKSksZnVuY3Rpb24oZSl7cmV0dXJuIGUmJm51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3Z9KG8udmFsdWVzKSYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsdGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV09by52YWx1ZXMsdChzKG8udmFsdWVzKSksdGhpcy5fbXVsdGlwbGV4ZXIudW5zdWJzY3JpYmUoaSxlKSl9KSl9fSkpO3JldHVybiB0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1uLG59LHRoaXMuX211bHRpcGxleGVyPWV9fWNsYXNzIGN7Y29uc3RydWN0b3IoZSl7dGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZT17fSx0aGlzLl93YWl0aW5nRm9yU25hcHNob3Q9e30sdGhpcy5zbmFwc2hvdD1lPT57aWYodGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdKXJldHVybiB0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV07Y29uc3QgdD1uZXcgUHJvbWlzZSgoKHQscyk9PntpZih0aGlzLl9zbmFwc2hvdFZhbHVlc0NhY2hlW2VdKXQodGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZVtlXSk7ZWxzZXtjb25zdCBuPSgwLG8uZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUobixbZV0sKGk9PnsiZXJyb3IiPT09aS5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV09bnVsbCxzKCJRdW90ZXMgc25hcHNob3QgaXMgbm90IHJlY2VpdmVkIikpO2NvbnN0IG89aS52YWx1ZXM7byYmby5taW5tb3YmJm8ucHJpY2VzY2FsZSYmby5kZXNjcmlwdGlvbiYmKHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXT1udWxsLHRoaXMuX3NuYXBzaG90VmFsdWVzQ2FjaGVbZV09byx0KG8pLHRoaXMuX211bHRpcGxleGVyLnVuc3Vic2NyaWJlKG4sZSkpfSkpfX0pKTtyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdPXQsdH0sdGhpcy5fbXVsdGlwbGV4ZXI9ZX19InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2U9YSl9LDUzNTMwKGUsdCxzKXtzLmQodCx7Z2V0TWluVGlja0RhdGE6KCk9PmQsbWFrZVZhcmlhYmxlTWluVGlja0RhdGE6KCk9PmN9KTt2YXIgbj1zKDcxMjc0NSksaT1zKDYwMTg0MSksbz1zKDUzNDQ0MCkscj1zKDY0MDc0NCk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT8oMCxuLkJpZykoZS5taW5Nb3ZlKS5kaXYoZS5wcmljZVNjYWxlKS50b051bWJlcigpOk5hTn1mdW5jdGlvbiBkKGUpe2NvbnN0e21pblRpY2s6dCxwcmljZTpzLHZhcmlhYmxlTWluVGlja0RhdGE6bixzaG91bGRDaGVja0ZvckVxdWFsaXR5Om99PWUscj0oMCwKaS5pc051bWJlcikodCk/dSh0KTp0O3JldHVybiB2b2lkIDA9PT1uP3I6ZnVuY3Rpb24oZSx0LHM9ITEpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtpZihlPHRbbl0ucHJpY2UpcmV0dXJuIHRbbl0ubWluVGljaztpZihzJiZlPT09dFtuXS5wcmljZSlyZXR1cm4gdFtuXS5taW5UaWNrfXJldHVybiB0W3QubGVuZ3RoLTFdLm1pblRpY2t9KHMsbixvKX1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsby5udW1PZkRlY2ltYWxQbGFjZXMpKGUpLHM9TWF0aC5wb3coMTAsdCk7cmV0dXJue3ByaWNlU2NhbGU6cyxtaW5Nb3ZlOigwLG4uQmlnKShlKS5tdWwocykudG9OdW1iZXIoKX19ZnVuY3Rpb24gYyhlLHQpe2NvbnN0IHM9W3ttaW5UaWNrOigwLGkuaXNOdW1iZXIpKGUpP3UoZSk6ZSxwcmljZToxLzAsbWF4SW5kZXg6MS8wfV07dHJ5e2NvbnN0IGU9dC5zcGxpdCgiICIpLm1hcCgoKGUsdCk9PigwLHIuaXNFdmVuKSh0KT9mdW5jdGlvbihlKXtjb25zdCB0PU51bWJlcihlKTtpZihOdW1iZXIuaXNGaW5pdGUodCkpcmV0dXJuIHUodCk7e2NvbnN0IHQ9ZS5zcGxpdCgiLyIpO2lmKHQubGVuZ3RoPDJ8fHQubGVuZ3RoPjMpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCBzPU51bWJlcih0WzFdKSxuPU51bWJlcih0WzBdKTtpZighTnVtYmVyLmlzRmluaXRlKHMpfHwhTnVtYmVyLmlzRmluaXRlKG4pKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBtaW50aWNrOiAke2V9YCk7Y29uc3QgaT0zPT09dC5sZW5ndGg/TnVtYmVyKHRbMl0pOnZvaWQgMDtpZih2b2lkIDAhPT1pJiYhTnVtYmVyLmlzRmluaXRlKGkpKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBtaW50aWNrOiAke2V9YCk7Y29uc3Qgbz17cHJpY2VTY2FsZTpzLG1pbk1vdmU6bn07cmV0dXJuIHZvaWQgMCE9PWkmJihvLm1pbk1vdmUyPWkpLG99fShlKTpmdW5jdGlvbihlKXtjb25zdCB0PU51bWJlcihlKTtpZihOdW1iZXIuaXNOYU4odCkpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHByaWNlIGxpbWl0OiAke2V9YCk7cmV0dXJuIHR9KGUpKSk7aWYoKDAsci5pc0V2ZW4pKGUubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoIlRoZW1lIG11c3Qgbm90IGJlIGV2ZW50IG51bWJlciBvZiBlbGVtZW50cyIpO2NvbnN0IHM9W107Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0yKXtjb25zdCBpPWVbdCsxXT8/MS8wLG89c1tzLmxlbmd0aC0xXT8ucHJpY2U/PzAscj1zW3MubGVuZ3RoLTFdPy5tYXhJbmRleD8/MCxkPWk9PT0xLzA/MS8wOm5ldyBuLkJpZyhpKS5taW51cyhvKS5kaXYoYShlW3RdKSkucGx1cyhyKS50b051bWJlcigpO3MucHVzaCh7bWluVGljazplW3RdLHByaWNlOmksbWF4SW5kZXg6ZH0pfXJldHVybiBzfWNhdGNoe3JldHVybiBzfX19LDgyMjQzMShlLHQscyl7cy5kKHQse251bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvOigpPT5pfSk7dmFyIG49cyg2MDE4NDEpO2Z1bmN0aW9uIGkoZSx0KXtpZighKDAsbi5pc051bWJlcikoZSkpcmV0dXJuIm4vYSI7aWYoISgwLG4uaXNJbnRlZ2VyKSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKHQ8MHx8dD4yNCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKDA9PT10KXJldHVybiBlLnRvU3RyaW5nKCk7cmV0dXJuKCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIrZS50b1N0cmluZygpKS5zbGljZSgtdCl9fSwzNjc5NDYoZSx0LHMpe2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9ZS5tYXRjaCgvKGRlbGF5ZWRfc3RyZWFtaW5nKV8oXGQrKS8pO3JldHVybiBudWxsPT09dD9udWxsOnttb2RlOnRbMV0saW50ZXJ2YWw6cGFyc2VJbnQodFsyXSl9fShlLnVwZGF0ZV9tb2RlKTtyZXR1cm4gbnVsbD09PXR8fChlLnVwZGF0ZV9tb2RlPXQubW9kZSxlLnVwZGF0ZV9tb2RlX3NlY29uZHM9dC5pbnRlcnZhbCksZX1zLmQodCx7bm9ybWFsaXplVXBkYXRlTW9kZTooKT0+bn0pfSw3MjI1NzEoZSx0LHMpe3ZhciBuPXMoMjAzNjgxKSxpPXMoNTQ3ODUxKSxvPXMoMjA2NjczKSxyPXMoMzA0MjIxKSxhPXMoODE3MzUwKSxkPXMoMTM4NjM4KSx1PXMoNjAxODQxKSxjPXMoMjMyMzY0KSxsPXMoMjIxMDYxKSxoPXMoNzgwOTc1KSxfPXMoNzczMDg4KSxtPXMoOTMwMjMxKSxmPXMoNjA2MTApLHA9cyg0MDM2KSxnPXMoNTIxMzMzKSx5PXMoMjE3NTI3KSxiPXMoNzQ2OTQ5KSx3PXMoNjYxODU4KSxDPXMoMzg0MDE3KSxrPXMoODg5NTE1KSx2PXMoNzY4NzYwKSxTPXMoNTg5NzQ5KSxNPXMoMTE2MzEwKSxSPXMoNDc5MzQpLFQ9cyg1NjkzOTgpLHE9cyg4NjIyMTMpLE49cygxMTczMTMpLEQ9cygxNTY4NTApLEk9cyg2NDA3NDQpLFA9cyg3ODMzNDApLEU9cyg5MzAwNDUpLEY9cyg0NjM0NDcpO2NvbnN0IHg9KDAsbC5nZXRMb2dnZXIpKCJDaGFydC5TdHVkaWVzLlN0dWR5TWV0YUluZm9SZXBvc2l0b3J5Iix7Y29sb3I6IiM2MDYifSksSD0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLlRyYWZmaWNNZXRlciIse21heENvdW50OjIwLGNvbG9yOiIjMjY4In0pLEE9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5Db3JlIix7Y29sb3I6IiM3MDYifSksQj0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse2NvbG9yOiIjNzA2In0pLEw9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHtoaWdoUmF0ZTohMCxtYXhDb3VudDoxMDAsY29sb3I6IiM3MDYifSksTz0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse21heENvdW50OjAsY29sb3I6IiM3MDYifSksUT0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse21heENvdW50OjUwLGNvbG9yOiIjNzA2In0pLFY9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5RdW90ZVNlc3Npb24iLHttYXhDb3VudDo1MCxjb2xvcjoiIzY2MCJ9KSwkPSgwLGwuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuUXVvdGVTZXNzaW9uIix7aGlnaFJhdGU6ITAsbWF4Q291bnQ6MTAsY29sb3I6IiM2NjAifSksVT0hKDAsCk4uaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSxXPSgwLFQuaXNGZWF0dXJlRW5hYmxlZCkoImJyb2tlcl9pZF9zZXNzaW9uIiksaj0oMCxULmlzRmVhdHVyZUVuYWJsZWQpKCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCIpO2xldCB6PSExLEo9ITEsRz0hMTtjb25zdCBZPVsiIiwiS0IiLCJNQiIsIkdCIiwiVEIiXTtmdW5jdGlvbiBLKGUpe2lmKDA9PT1lKXJldHVybiIwIjtjb25zdCB0PSgwLEkudG9JbnQpKE1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2coMTAyNCkpKTtyZXR1cm4oZS9NYXRoLnBvdygxMDI0LHQpKS50b0ZpeGVkKDIpK1lbdF19ZnVuY3Rpb24gWihlLHQpe3JldHVybmAke2V9X18ke3R9YH1mdW5jdGlvbiBYKGUsdCxzKXtjb25zdCBuPXRbc10/PzA7dFtzXT1uK2V9Y29uc3QgZWU9WC5iaW5kKG51bGwsMSksdGU9WC5iaW5kKG51bGwsLTEpLHNlPSgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpPyJzdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6InN0dWRpZXNfbWV0YWRhdGEiLG5lPSIvY2hhcnQtYXBpL3Byb19oYXNoIixpZT0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT8iL2NoYXJ0LWFwaS9zdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6Ii9jaGFydC1hcGkvc3R1ZGllc19tZXRhZGF0YSI7bGV0IG9lPW51bGw7ZnVuY3Rpb24gcmUoKXtpZihudWxsPT09b2Upe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGlua1tyZWx+PSJjb252ZXJzaW9ucy1jb25maWciXScpLHQ9bmV3IFVSTCgoMCxkLmVuc3VyZU5vdE51bGwpKGUpLmhyZWYpO29lPSgwLEMuZmV0Y2gpKHQudG9TdHJpbmcoKSx7bWV0aG9kOiJHRVQifSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgY29udmVyc2lvbnMgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO3JldHVybiBlLmpzb24oKX0pKS50aGVuKChlPT57Y29uc3QgdD0oMCxxLmdldExvZ29VcmxSZXNvbHZlcikoKTtyZXR1cm4gZS5jdXJyZW5jaWVzLmZvckVhY2goKGU9Pnt2b2lkIDAhPT1lLmxvZ29pZCYmKGUubG9nb1VybD10LmdldFN5bWJvbExvZ29VcmwoZS5sb2dvaWQscS5Mb2dvU2l6ZS5NZWRpdW0pKX0pKSxlfSkpfXJldHVybiBvZX1sZXQgYWU9bnVsbDtjbGFzcyBkZXtjb25zdHJ1Y3RvcihlKXt0aGlzLnNlc3Npb25pZD1udWxsLHRoaXMuX2JhbkluZm89bmV3IGMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2lzQXV0aFRva2VuTG9hZGVkPSExLHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsLHRoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQ9RGF0ZS5ub3coKS1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9pbml0Q2FjaGVQcm9taXNlPSgwLE0uY3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlKSgiVFZDaGFydEFwaSIpLHRoaXMuX3RyYWZmaWNTdGF0cz17dG90YWw6MCxzaW5jZUNvbm5lY3Q6MCxsYXN0Q2h1bms6MH0sdGhpcy5fbG93UXVhbGl0eUVuYWJsZWQ9ITEsdGhpcy5fYnJva2VySWQ9IiIsdGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQ9MCx0aGlzLl9tb2RpZnlTdHVkeU1hcD1uZXcgTWFwLHRoaXMuX2Rpc2Nvbm5lY3RDb3VudD0wLHRoaXMuX2lzQ29ubmVjdGVkPSExLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPW51bGwsdGhpcy5fZGF0YUhhbmRsZU1vZHVsZT1uZXcgRS5KU09ORGF0YUhhbmRsZXIsdGhpcy5fc2Vzc2lvbnM9e30sdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnM9e30sdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W10sdGhpcy5fbG9hZE5ld0JhcnM9ITEsdGhpcy5fbWV0YWRhdGFSZXF1ZXN0TmV4dE51bWJlcj0xLHRoaXMuX2Z1bmRhbWVudGFsQ291bnRlcj17fSx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fc3R1ZHlTcGVjcz1uZXcgTWFwLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkPW5ldyBjLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2VudE1ldGhvZHNDb3VudGVycz1uZXcgTWFwLHRoaXMuX3JlY2VpdmVkTWV0aG9kc0NvdW50ZXJzPW5ldyBNYXAsdGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9bnVsbCx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uPWUsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vblJlY29ubmVjdCh0aGlzLl9iaW5kU29ja2V0RXZlbnRzLmJpbmQodGhpcykpLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uc2V0TG9nZ2VyKEEsbC5nZXRMb2dIaXN0b3J5KSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNldFRlbGVtZXRyeShELnRlbGVtZXRyeSksdGhpcy5fYmluZFNvY2tldEV2ZW50cygpLHRoaXMuX2lzTm9uQ291bnRlZFN0dWR5PSgpPT4hMCx3aW5kb3c/LlRyYWRpbmdWaWV3Py5vbkNoYXJ0UGFnZXx8dGhpcy5fZW5hYmxlTG93UXVhbGl0eU1vZGUoKSxzZXRJbnRlcnZhbCgoKCk9PntILmxvZ05vcm1hbCgiTGFzdCAzMCBzZWNvbmRzOiIrSyh0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKSsiIFNpbmNlIGxhc3QgY29ubmVjdDoiK0sodGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCkrIiBUb3RhbCB0cmFmZmljOiIrSyh0aGlzLl90cmFmZmljU3RhdHMudG90YWwpKSx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rPTB9KSwzZTQpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnN1YnNjcmliZSgoZT0+e2UmJnRoaXMuZGlzY29ubmVjdCgpfSkpfWNvbm5lY3QoZSl7dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zPWUsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc0Nvbm5lY3RlZCgpfHx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmlzQ29ubmVjdGluZygpfHx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5kaXNjb25uZWN0KCl9c2VudE1ldGhvZHNDb3VudGVycygpe3JldHVybiB0aGlzLl9zZW50TWV0aG9kc0NvdW50ZXJzfXJlY2VpdmVkTWV0aG9kc0NvdW50ZXJzKCl7CnJldHVybiB0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVyc31kZWZhdWx0UmVzb2x1dGlvbnMoKXtyZXR1cm4oMCxnLmdldERlZmF1bHRSZXNvbHV0aW9ucykoKX1hdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIHJlKCkudGhlbigoZT0+ZS5jdXJyZW5jaWVzKSl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gcmUoKS50aGVuKChlPT57Y29uc3QgdD17fTtmb3IoY29uc3QgcyBvZiBlLnVuaXRzKXRbcy50eXBlXXx8KHRbcy50eXBlXT1bXSksdFtzLnR5cGVdLnB1c2gocyk7cmV0dXJuIHR9KSl9YXN5bmMgYXZhaWxhYmxlTWV0cmljcygpe3JldHVybiBmdW5jdGlvbigpe2lmKG51bGw9PT1hZSl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49Im1ldHJpY3MtY29uZmlnIl0nKSx0PW5ldyBVUkwoKDAsZC5lbnN1cmVOb3ROdWxsKShlKS5ocmVmKTthZT0oMCxDLmZldGNoKSh0LnRvU3RyaW5nKCkse21ldGhvZDoiR0VUIn0pLnRoZW4oKGFzeW5jIGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIG1ldHJpY3MgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIHQubWV0cmljc19mdWxsX25hbWU/LmZvckVhY2goKGU9Pntjb25zdCBzPXQubWV0cmljcy5maW5kKCh0PT50LmlkPT09ZS5pZCkpO3MmJihzLmRlc2NyaXB0aW9uPWUubmFtZSl9KSksdH0pKX1yZXR1cm4gYWV9KCkudGhlbigoZT0+ZS5tZXRyaWNzKSl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSl9c3VwcG9ydGVkU3ltYm9sc1R5cGVzKCl7Y29uc3QgZT13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyPz8iIjtyZXR1cm4iYm92ZXNwYSI9PT1lP3cuZmlsdGVyKChlPT5bIiIsInN0b2NrIiwiZnV0dXJlcyIsImluZGV4Il0uaW5jbHVkZXMoZS52YWx1ZSkpKToiY21lIj09PWU/dy5maWx0ZXIoKGU9PmUudmFsdWUhPT15LnR5cGVzLlFVQU5ETCkpOnd9c3ltYm9sc0dyb3VwaW5nKCl7cmV0dXJue2Z1dHVyZXM6L14oLis/KShbMTJdIXxcd1xkezR9KT8kL319Y29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLl9pc0Nvbm5lY3RlZH1hdXRoVG9rZW5NYW5hZ2VyKCl7cmV0dXJuKDAsZC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyKX1jcmVhdGVTZXNzaW9uKGUsdCl7dGhpcy5fc2Vzc2lvbnNbZV09dCx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXT17fSx0aGlzLmNvbm5lY3RlZCgpJiZ0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZCYmdC5vbk1lc3NhZ2Uoe21ldGhvZDpoLkNoYXJ0QXBpTWVzc2FnZU1ldGhvZC5Db25uZWN0ZWQscGFyYW1zOltdfSl9cmVtb3ZlU2Vzc2lvbihlKXtkZWxldGUgdGhpcy5fc2Vzc2lvbnNbZV0sZGVsZXRlIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdfWRpc2Nvbm5lY3RDb3VudCgpe3JldHVybiB0aGlzLl9kaXNjb25uZWN0Q291bnR8fDB9Z2V0UGluZ0luZm8oKXtyZXR1cm4gdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRQaW5nSW5mbygpfWNvbm5lY3Rpb25CYW5JbmZvKCl7cmV0dXJuIHRoaXMuX2JhbkluZm8ucmVhZG9ubHkoKX1jb25uZWN0aW9uc0xpbWl0UmVhY2hlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZC5yZWFkb25seSgpfXNlcnZlclRpbWUoKXtyZXR1cm4gTWF0aC5yb3VuZCh0aGlzLl9zZXJ2ZXJUaW1lQmFzZVBvaW50K3BlcmZvcm1hbmNlLm5vdygpKX1jb21wZW5zYXRlQ29ubmVjdGlvbkxhZyhlKXtjb25zdCB0PXRoaXMuc2VydmVyVGltZSgpLHM9TWF0aC5mbG9vcihlLXQpO3M+MCYmKHRoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQrPXMpfXNldEJyb2tlcihlKXtyZXR1cm4gZT09PXRoaXMuX2Jyb2tlcklkfHwodGhpcy5fYnJva2VySWQ9ZSx0aGlzLl9zZW5kQnJva2VySWRUb1Nlc3Npb24odGhpcy5fYnJva2VySWQpKX1jaGFydENyZWF0ZVNlc3Npb24oZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImNoYXJ0X2NyZWF0ZV9zZXNzaW9uIixbZSx0XSl9Y2hhcnREZWxldGVTZXNzaW9uKGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiY2hhcnRfZGVsZXRlX3Nlc3Npb24iLFtlXSl9c3dpdGNoVGltZXpvbmUoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInN3aXRjaF90aW1lem9uZSIsW2UsdF0pfXJlc29sdmVTeW1ib2woZSx0LHMsbil7cmV0dXJuIEQudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXNbInJlc29sdmVfc3ltYm9sXyIrZV09d2luZG93LnBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKG4sdCwhMCksdGhpcy5fc2VuZFJlcXVlc3QoInJlc29sdmVfc3ltYm9sIixbZSx0LHNdKX1yZXF1ZXN0Rmlyc3RCYXJUaW1lKGUsdCxzLG4pe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhuLHQsITApLHRoaXMuX3NlbmRSZXF1ZXN0KCJnZXRfZmlyc3RfYmFyX3RpbWUiLFtlLHQsc10pfWNyZWF0ZVNlcmllcyhlLHQscyxuLGksbyxyLGEpe0QudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3MucHVzaCgiY3JlYXRlX3Nlcmllc18iK2UpLHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKGEsdCk7Y29uc3QgZD1udWxsPT09cj8iIjooMCxfLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikociwhMCk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfc2VyaWVzIixbZSx0LHMsbixpLG8sZF0pfXJlbW92ZVNlcmllcyhlLHQpe3JldHVybiBkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zZXJpZXMiLFtlLHRdKX1tb2RpZnlTZXJpZXMoZSx0LHMsbixpLG8scixhKXt0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhhLHQpO2NvbnN0IGQ9bnVsbD09PXI/IiI6KDAsCl8uY29udmVydFRpbWVGcmFtZVRvU3RyKShyLCEwKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9zZXJpZXMiLFtlLHQscyxuLGksZF0pfWdldFN0dWR5Q291bnRlcihlKXtyZXR1cm4gdGhpcy5fc3R1ZHlDb3VudGVyW2VdPz8wfWdldEZ1bmRhbWVudGFsQ291bnRlcihlKXtyZXR1cm4gdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyW2VdPz8wfWdldENoaWxkU3R1ZHlDb3VudGVyKGUpe3JldHVybiB0aGlzLl9jaGlsZFN0dWR5Q291bnRlcltlXT8/MH1yZXF1ZXN0TW9yZURhdGEoZSx0LHMsbil7aWYodm9pZCAwPT09c3x8dm9pZCAwPT09bil0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIHJlcXVlc3QgdG8gbG9hZCBtb3JlIGRhdGEsIGJhcnM9IitzKTtjb25zdCBpPXQ7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW2ldPW5ldyBGLkhhbmRsZXJJbmZvKG4saSksdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfbW9yZV9kYXRhIixbZSxpLHNdKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQscyxuKXtyZXR1cm4gbiYmKHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKG4sdCkpLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZXF1ZXN0X21vcmVfdGlja21hcmtzIixbZSx0LHNdKX1zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUsdCl7dGhpcy5fc2VuZFJlcXVlc3QoInNldF9mdXR1cmVfdGlja21hcmtzX21vZGUiLFtlLHRdKX1yZXF1ZXN0RGF0YVByb2JsZW1zKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3REYXRhUHJvYmxlbXNQcm9taXNlfHwodGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9dGhpcy5jb25uZWN0RGZkLnRoZW4oKCgpPT5uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrPXQsdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfZGF0YV9wcm9ibGVtcyIsW10pP3RoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUNiPWU6dCgpfSkpKSkuZmluYWxseSgoKCk9Pnt0aGlzLl9yZXF1ZXN0RGF0YVByb2JsZW1zUHJvbWlzZT1udWxsfSkpKSx0aGlzLl9yZXF1ZXN0RGF0YVByb2JsZW1zUHJvbWlzZX1hc3luYyByZXF1ZXN0TWV0YWRhdGEoKXtyZXR1cm4gbnVsbD09PXRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlJiYodGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2U9KDAsdi5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UucHJvbWlzZS5maW5hbGx5KCgoKT0+e3RoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPW51bGx9KSksdGhpcy5fcmVxdWVzdE1ldGFkYXRhKCkpLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlLnByb21pc2V9YWxsU3R1ZGllc01ldGFkYXRhKCl7dGhyb3cgbmV3IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQiKX1zZXRMb2FkTmV3KGUpe3RoaXMuX2xvYWROZXdCYXJzPSEhZX1zZXRJc05vbkNvdW50ZWRTdHVkeUZuKGUpe3RoaXMuX2lzTm9uQ291bnRlZFN0dWR5PWV9Y2FuQ3JlYXRlU3R1ZHkoZSx0LHMpe2NvbnN0e2lkOm4sY2hpbGQ6aSxmdW5kYW1lbnRhbDpvLGZvcmVjYXN0OnIsc3R1YlRpdGxlOmF9PXQsdT0oMCxkLmVuc3VyZU5vdE51bGwpKCgwLFIuZ2V0Q29uZmlnKSgiU1RVRFlfT05fU1RVRFkiKSkuY2hpbGRfbGltaXQ7aWYoaSYmKCEoMCxSLmVuYWJsZWQpKCJTVFVEWV9PTl9TVFVEWSIpfHwodGhpcy5fY2hpbGRTdHVkeUNvdW50ZXJbZV0/PzApPj11KSlyZXR1cm57c3VjY2VzczohMSxyZWFzb246ImNoaWxkIixsaW1pdFZhbHVlOnV9O2lmKHMpcmV0dXJue3N1Y2Nlc3M6ITB9O2lmKHImJiEoMCxSLmVuYWJsZWQpKCJGVU5EQU1FTlRBTFNfRk9SRUNBU1QiKSlyZXR1cm57c3VjY2VzczohMSxyZWFzb246ImZvcmVjYXN0IixzY3JpcHROYW1lOmF9O2NvbnN0IGM9KDAsZC5lbnN1cmVOb3ROdWxsKSgoMCxSLmdldENvbmZpZykoIkZVTkRBTUVOVEFMU19PTl9DSEFSVCIpKS5saW1pdDtpZihvJiYoISgwLFIuZW5hYmxlZCkoIkZVTkRBTUVOVEFMU19PTl9DSEFSVCIpfHx0aGlzLmdldEZ1bmRhbWVudGFsQ291bnRlcihlKT49YykpcmV0dXJue3N1Y2Nlc3M6ITEscmVhc29uOiJmdW5kYW1lbnRhbCIsbGltaXRWYWx1ZTpjfTtjb25zdCBsPSgwLGQuZW5zdXJlTm90TnVsbCkoKDAsUi5nZXRDb25maWcpKCJJTkRJQ0FUT1JTX09OX0NIQVJUIikpLmxpbWl0O3JldHVybiBvfHx0aGlzLl9pc05vbkNvdW50ZWRTdHVkeShuKXx8KDAsUi5lbmFibGVkKSgiSU5ESUNBVE9SU19PTl9DSEFSVCIpJiYhKHRoaXMuZ2V0U3R1ZHlDb3VudGVyKGUpPj1sKT97c3VjY2VzczohMH06e3N1Y2Nlc3M6ITEscmVhc29uOiJnZW5lcmFsIixsaW1pdFZhbHVlOmx9fWNyZWF0ZVN0dWR5KGUsdCxzLG4saSxvLHIsYSl7Y29uc3QgZD10aGlzLmNhbkNyZWF0ZVN0dWR5KGUsYSk7cmV0dXJuIGQuc3VjY2Vzc3x8ImNoaWxkIiE9PWQucmVhc29uPyh0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhyLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfc3R1ZHkiLFtlLHQscyxuLGksb10pLGEuZnVuZGFtZW50YWw/ZWUodGhpcy5fZnVuZGFtZW50YWxDb3VudGVyLGUpOnRoaXMuX2lzTm9uQ291bnRlZFN0dWR5KGEuaWQpfHxlZSh0aGlzLl9zdHVkeUNvdW50ZXIsZSksYS5jaGlsZCYmZWUodGhpcy5fY2hpbGRTdHVkeUNvdW50ZXIsZSksdGhpcy5fc3R1ZHlTcGVjcy5zZXQoWihlLHQpLGEpLCEwKTooKDAsay5zaG93VG9vTWFueVN0dWRpZXNOb3RpY2UpKGQubGltaXRWYWx1ZSksITEpfW1vZGlmeVN0dWR5KGUsdCxzLG4sbyxyKXtYKHI9cj8/MCx0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSwwIT09ciYmKCgwLGQuZW5zdXJlRGVmaW5lZCkodGhpcy5fc3R1ZHlTcGVjcy5nZXQoWihlLHQpKSkuY2hpbGQ9cj4wKSx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhvLHQpO2NvbnN0IGE9ZSt0O2lmKHRoaXMuX21vZGlmeVN0dWR5TWFwLmhhcyhhKSl7cmV0dXJuKDAsCmQuZW5zdXJlRGVmaW5lZCkodGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KGEpKShlLHQscyxuKT8/ITB9e2NvbnN0IG89KDAsaS5kZWZhdWx0KSgoKGUsdCxzLG4pPT50aGlzLl9zZW5kUmVxdWVzdCgibW9kaWZ5X3N0dWR5IixbZSx0LHMsbl0pKSw1MDAse21heFdhaXQ6NTUwfSk7cmV0dXJuIHRoaXMuX21vZGlmeVN0dWR5TWFwLnNldChhLG8pLG8oZSx0LHMsbik/PyEwfX1ub3RpZnlTdHVkeShlLHQscyxuKXtyZXR1cm4gQS5sb2dOb3JtYWwoYFNlbmQgbm90aWZ5X3N0dWR5LCBbJHtlfSwgJHt0fSwgJHtzfSwgJHtKU09OLnN0cmluZ2lmeShuKX1dYCksdGhpcy5fc2VuZFJlcXVlc3QoIm5vdGlmeV9zdHVkeSIsW2UsdCxzLEpTT04uc3RyaW5naWZ5KG4pXSl9cmVtb3ZlU3R1ZHkoZSx0KXtjb25zdCBzPWUrdDtkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KHMpPy5mbHVzaCgpO2NvbnN0IG49dGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zdHVkeSIsW2UsdF0pO2lmKCExPT09bilyZXR1cm4hMTt0aGlzLl9tb2RpZnlTdHVkeU1hcC5kZWxldGUocyk7Y29uc3QgaT1aKGUsdCksbz0oMCxkLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5U3BlY3MuZ2V0KGkpKTtyZXR1cm4gdGhpcy5fc3R1ZHlTcGVjcy5kZWxldGUoaSksby5mdW5kYW1lbnRhbD90ZSh0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXIsZSk6dGhpcy5faXNOb25Db3VudGVkU3R1ZHkoby5pZCl8fHRlKHRoaXMuX3N0dWR5Q291bnRlcixlKSxvLmNoaWxkJiZ0ZSh0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSxufWNyZWF0ZVBvaW50c2V0KGUsdCxzLG4saSxvLHIpe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhyLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfcG9pbnRzZXQiLFtlLHQscyxuLGksb10pfW1vZGlmeVBvaW50c2V0KGUsdCxzLG4saSl7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKGksdCksdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9wb2ludHNldCIsW2UsdCxzLG5dKX1yZW1vdmVQb2ludHNldChlLHQpe3JldHVybiBkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9wb2ludHNldCIsW2UsdF0pfWdldE1hcmtzKGUsdCxzLG4saSl7dGhyb3cgRXJyb3IoIlRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCIpfWdldFRpbWVzY2FsZU1hcmtzKGUsdCxzLG4saSl7dGhyb3cgRXJyb3IoIlRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCIpfXF1b3RlQ3JlYXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2NyZWF0ZV9zZXNzaW9uIixbZV0pfXF1b3RlRGVsZXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2RlbGV0ZV9zZXNzaW9uIixbZV0pfXF1b3RlQWRkU3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgicXVvdGVfYWRkX3N5bWJvbHMiLFtlLHRdKX1xdW90ZVJlbW92ZVN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX3JlbW92ZV9zeW1ib2xzIixbZSx0XSl9cXVvdGVGYXN0U3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgicXVvdGVfZmFzdF9zeW1ib2xzIixbZSx0XSl9cXVvdGVTZXRGaWVsZHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX3NldF9maWVsZHMiLFtlLHRdKX1xdW90ZUhpYmVybmF0ZUFsbChlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2hpYmVybmF0ZV9hbGwiLFtlXSl9ZGVwdGhDcmVhdGVTZXNzaW9uKGUsdCxzKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImRlcHRoX2NyZWF0ZV9zZXNzaW9uIixbZSx0LHNdKX1kZXB0aERlbGV0ZVNlc3Npb24oZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9kZWxldGVfc2Vzc2lvbiIsW2VdKX1kZXB0aFNldFN5bWJvbChlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfc2V0X3N5bWJvbCIsW2UsdF0pfWRlcHRoQ2xlYXJTeW1ib2woZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9jbGVhcl9zeW1ib2wiLFtlXSl9ZGVwdGhTZXRTY2FsZShlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfc2V0X3NjYWxlIixbZSx0XSl9dW5wYWNrKGUpe3JldHVybiB0aGlzLl9kYXRhSGFuZGxlTW9kdWxlLnVucGFjayhlKX1zZW5kUmVxdWVzdChlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdChlLHQpfXNldFZpc2libGVUaW1lUmFuZ2UoKXt0aHJvdyBuZXcgRXJyb3IoInNldFZpc2libGVUaW1lUmFuZ2UgaXMgZGVwcmVjYXRlZCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIil9X2luaXQoKXt0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVycz17fSx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyPXt9LHRoaXMuX21vZGlmeVN0dWR5TWFwPW5ldyBNYXB9X2NoZWNrQXV0aFRva2VuRXhwaXJhdGlvbihlKXswPT09dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQmJnRoaXMuX2F1dGhUb2tlbk1hbmFnZXImJiF0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLmN1cnJlbnRUb2tlbklzVmFsaWQoKSYmKEEubG9nSW5mbyhlKSx0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLnJlc2V0KCkpfV9zZW5kUmVxdWVzdChlLHQpe3JldHVybiBqJiZ0aGlzLl9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oIkF1dGhUb2tlbiBpbnZhbGlkYXRpb24gZGV0ZWN0ZWQgb24gc2VuZGluZyBhIG1lc3NhZ2UsIHJlcXVlc3RpbmcgbmV3IHRva2VuIiksMCE9PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50Pyh0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5wdXNoKHttZXRob2Q6ZSxhcmdzOnR9KSwhMCk6dGhpcy5fc2VuZFJlcXVlc3RJbXBsKGUsdCl9X3NlbmRSZXF1ZXN0SW1wbChlLHQpewpjb25zdCBzPXRoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuZ2V0KGUpPz8wO3RoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuc2V0KGUscysxKTtjb25zdCBpPXRoaXMuX2RhdGFIYW5kbGVNb2R1bGVbZV0uYXBwbHkodGhpcy5fZGF0YUhhbmRsZU1vZHVsZSx0KSxkPXttOmUscDooMCxuLmRlZmF1bHQpKGkpfSxjPWQubS5pbmNsdWRlcygic3R1ZHkiKSYmZC5wWzVdO2MmJmZ1bmN0aW9uKGUpe2lmKCEoMCx1LmlzT2JqZWN0KShlKSlyZXR1cm4hMTtmb3IoY29uc3QgdCBvZiBPYmplY3Qua2V5cyhlKSl7Y29uc3Qgcz1lW3RdO2lmKCEoKDAsdS5pc09iamVjdCkocyl8fCgwLHIuZGVmYXVsdCkocyl8fCgwLG8uZGVmYXVsdCkocyl8fCgwLGEuZGVmYXVsdCkocykpKXJldHVybiExfXJldHVybiEwfShjKSYmInRleHQiaW4gYyYmKGMudGV4dD1jLnRleHQuc2xpY2UoMCwxMCkpO2NvbnN0IGw9SlNPTi5zdHJpbmdpZnkoZCk7aWYoaS5sZW5ndGg+MCl7Y29uc3QgZT1pWzBdO2Uuc3RhcnRzV2l0aCgicXNfIik/Vi5sb2dOb3JtYWwoInNlbmQ6ICIrbCk6ZS5zdGFydHNXaXRoKCJjc18iKSYmQi5sb2dOb3JtYWwoInNlbmQ6ICIrbCw0MDk2KX1lbHNlIEEubG9nTm9ybWFsKCJzZW5kOiAiK2wpO2NvbnN0IGg9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRW5jb2RlTWVzc2FnZShlLGkpO3JldHVybiB0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNlbmQoaCl9X29uQ29ubmVjdCgpe2lmKHRoaXMuY29ubmVjdGVkKCkpcmV0dXJuO2lmKHRoaXMuX3RyYWZmaWNTdGF0cy5zaW5jZUNvbm5lY3Q9MCx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zfHx7fSx0aGlzLl9hdXRoVG9rZW5EZmQ9dGhpcy5fZ2V0QXV0aFRva2VuRGZkKHRoaXMuX2Nvbm5lY3RPbmx5T3B0aW9ucy50b2tlbkdyYWJTZXNzaW9uKSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9e30sdGhpcy5zZXNzaW9uaWQ9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRTZXNzaW9uSWQoKSwhdGhpcy5zZXNzaW9uaWR8fHRoaXMuX2lzQ29ubmVjdGVkKXJldHVybjt0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZT1bXSx0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudD0wLHRoaXMuX3N0dWR5Q291bnRlcj17fSx0aGlzLl9jaGlsZFN0dWR5Q291bnRlcj17fSx0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXI9e30sdGhpcy5fc3R1ZHlTcGVjcy5jbGVhcigpLHRoaXMuX2lzQ29ubmVjdGVkPSEwLHRoaXMuX2JhbkluZm8uc2V0VmFsdWUobnVsbCksdGhpcy5fY29ubmVjdGlvbnNMaW1pdFJlYWNoZWQuc2V0VmFsdWUoITEpO2NvbnN0IGU9SlNPTi5wYXJzZSh0aGlzLnNlc3Npb25pZCk7dGhpcy5fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCksdGhpcy5fbWV0YWRhdGFTZXJ2ZXJIYXNoPWUuc3R1ZGllc19tZXRhZGF0YV9oYXNofHxudWxsO2NvbnN0IHQ9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uRXN0YWJsaXNoZWQoKTt0cnl7dGhpcy5fc2VydmVyVGltZUJhc2VQb2ludD1NYXRoLnJvdW5kKGUudGltZXN0YW1wTXMtdCl9Y2F0Y2goZSl7dGhpcy5fc2VydmVyVGltZUJhc2VQb2ludD1EYXRlLm5vdygpLXBlcmZvcm1hbmNlLm5vdygpfWlmKEEubG9nSW5mbygiVGltZSBzaGlmdCB3aXRoIHNlcnZlcjogIit0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLURhdGUubm93KCkpKSx0aGlzLl9hdXRoVG9rZW5EZmQpe3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50Kz0xLEEubG9nSW5mbygiV2FpdCBmb3IgYXV0aCB0b2tlbiBiZWZvcmUgc2VuZCBtZXNzYWdlcyIpO2NvbnN0IGU9dGhpcy5fYXV0aFRva2VuRGZkO2UudGhlbigodD0+e2lmKG51bGwhPT10aGlzLl9hdXRoVG9rZW5EZmQmJnRoaXMuX2F1dGhUb2tlbkRmZD09PWUpe2lmKEEubG9nTm9ybWFsKCJBdXRoIHRva2VuIHJlcXVlc3QgaXMgZmluaXNoZWQsIHRva2VuOiAiK0Jvb2xlYW4odCkpLHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsLHQpe2NvbnN0IGU9W3ttZXRob2Q6InNldF9hdXRoX3Rva2VuIixhcmdzOlt0XX1dO2lmKFUpe2NvbnN0IHQ9d2luZG93LmluaXREYXRhJiZ3aW5kb3cuaW5pdERhdGEuY3VycmVudExvY2FsZUluZm87dCYmZS5wdXNoKHttZXRob2Q6InNldF9sb2NhbGUiLGFyZ3M6W3QuaXNvLHQuZmxhZy50b1VwcGVyQ2FzZSgpXX0pfXRoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlLnVuc2hpZnQoLi4uZSl9dGhpcy5fb25TZW5kaW5nUXVldWVSZXF1ZXN0RmluaXNoZWQoKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMCx0aGlzLl9ub3RpZnlTZXNzaW9ucyh7bWV0aG9kOmguQ2hhcnRBcGlNZXNzYWdlTWV0aG9kLkNvbm5lY3RlZCxwYXJhbXM6W119KX1lbHNlIEEubG9nTm9ybWFsKCJDb21lcyBhdXRoIHRva2VuIGFmdGVyIHJlcXVlc3RpbmcgbmV3IHRva2VuIG9yIGFmdGVyIHNvY2tldCBkaXNjb25uZWN0ZWQiKX0pKS5jYXRjaCgoZT0+e0EubG9nTm9ybWFsKCgwLFMuZXJyb3JUb1N0cmluZykoZSkpfSkpfWVsc2UgQS5sb2dXYXJuKCJEZWZlcnJlZCBhdXRoIHRva2VuIG9iamVjdCBpcyBub3QgdmFsaWQiKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMDsiIiE9PXRoaXMuX2Jyb2tlcklkJiZ0aGlzLl9zZW5kQnJva2VySWRUb1Nlc3Npb24odGhpcy5fYnJva2VySWQpO2NvbnN0IHM9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uU3RhcnQoKTtELnRlbGVtZXRyeS5zZXRTZXNzaW9uSW5mbyh0aGlzLnNlc3Npb25pZCksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJ3ZWJzb2NrZXRfY29ubmVjdGVkIiksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIix7dmFsdWU6dC1zfSksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfY291bnRfZnJhbWUiLHt2YWx1ZTp0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmdldFJlY29ubmVjdENvdW50KCl9KSwKRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWRpcmVjdF9jb3VudF9mcmFtZSIse3ZhbHVlOnRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0UmVkaXJlY3RDb3VudCgpfSksenx8KHo9ITAsRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJiZWZvcmVfd2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIse3ZhbHVlOnN9KSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5yZXNldENvdW50ZXJzKCksY2xlYXJUaW1lb3V0KHRoaXMuX3RlbGVtZXRyeURpc2Nvbm5lY3RUaW1lb3V0KX1fZm9ybWF0VGltZShlKXtyZXR1cm5gJHsoZS8xZTMpLnRvRml4ZWQoMil9IHNlY29uZHMuYH1fZGlzcGF0Y2hOb3RpZmljYXRpb24oZSx0KXtpZigicmVxdWVzdF9kYXRhX3Byb2JsZW1zIj09PWUubWV0aG9kJiZ0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYilyZXR1cm4gdm9pZCB0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYihlLnBhcmFtcyk7aWYoZS5tZXRob2Q9PT1QLldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuU3R1ZGllc01ldGFkYXRhJiZudWxsIT09dGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UpcmV0dXJuIHZvaWQgdGhpcy5fcHJvY2Vzc2VkTWV0YWRhdGEoZSk7Y29uc3Qgcz1lLnBhcmFtcy5zaGlmdCgpO2lmKCF0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tzXSlyZXR1cm47aWYoInN5bWJvbF9yZXNvbHZlZCI9PT1lLm1ldGhvZCl7Y29uc3QgdD1lLnBhcmFtc1sxXS5mdWxsX25hbWU7RC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJzeW1ib2xfcmVzb2x2ZWQiLHtjb3VudDoxLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pO2NvbnN0IG49RC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllc1sicmVzb2x2ZV9zeW1ib2xfIitzXTsibnVtYmVyIj09dHlwZW9mIG4mJkQudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgic3ltYm9sX3Jlc29sdmVfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS1uLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pfWlmKFsic2VyaWVzX2Vycm9yIiwic2VyaWVzX2NvbXBsZXRlZCJdLmluY2x1ZGVzKGUubWV0aG9kKSYmRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5sZW5ndGg+MCl7Y29uc3QgZT0iY3JlYXRlX3Nlcmllc18iK3MsdD1ELnRlbGVtZXRyeS50aW1lQ291bnRlcnMuc2VyaWVzLm1hcmtzLmluZGV4T2YoZSk7dD49MCYmRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5zcGxpY2UodCwxKX1HfHwic2VyaWVzX2Vycm9yIiE9PWUubWV0aG9kfHwoRz0hMCk7Y29uc3Qgbj10aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmdldENvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpO2lmKG51bGwhPT1uJiYic2VyaWVzX2NvbXBsZXRlZCI9PT1lLm1ldGhvZCYmKEd8fChHPSEwLEQudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS1ufSksRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcz1bXSksSnx8KEo9ITAsRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJwYWdlX2Z1bGxfbG9hZF90aW1lX2ZyYW1lIix7dmFsdWU6d2luZG93LnBlcmZvcm1hbmNlLm5vdygpfSkpKSxzLnN0YXJ0c1dpdGgoImNzXyIpKXtsZXQgcz0icmVjdjogIit0OyJkYXRhX3VwZGF0ZSI9PT1lLm1ldGhvZD8ocz0oMCxsLmlzSGlnaFJhdGVFbmFibGVkKSgpP3M6cy5zbGljZSgwLDUwMCksTC5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKSk6InN0dWR5X2xvYWRpbmciPT09ZS5tZXRob2Q/Ty5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKToidGlja21hcmtfdXBkYXRlIj09PWUubWV0aG9kP1EubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKHMsZS50aW1lKSk6Qi5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKX1pZihzLnN0YXJ0c1dpdGgoInFzXyIpKXsoInF1b3RlX3N5bWJvbF9kYXRhIj09PWUubWV0aG9kPyQubG9nTm9ybWFsOlYubG9nTm9ybWFsKSgicmVjdjogIit0KX1zd2l0Y2goZS5tZXRob2Qpe2Nhc2UgUC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZTp7Y29uc3QgdD10aGlzLl9kYXRhSGFuZGxlTW9kdWxlLmdldFRpbWVzY2FsZU9iamVjdHMoZSksbj10aGlzLl9kYXRhSGFuZGxlTW9kdWxlLmdldFRpbWVzY2FsZUNoYW5nZXNldChlKSxpPXRoaXMuX2NvbnZlcnRUaW1lc2NhbGVSZXNwb25zZShuKTt0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2Uoe21ldGhvZDpQLldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuVGltZVNjYWxlVXBkYXRlLHBhcmFtczppfSksdGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRGF0YVVwZGF0ZU9iamVjdHMocyx0LCgoZSx0LHMpPT57dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQscyl9KSk7YnJlYWt9Y2FzZSJ0aWNrbWFya191cGRhdGUiOmNvbnN0IHQ9ey4uLnRoaXMuX2NvbnZlcnRUaW1lc2NhbGVSZXNwb25zZShlLnBhcmFtc1swXSksY2hhbmdlczpbXX07dGhpcy5fc2Vzc2lvbnNbc10ub25NZXNzYWdlKHttZXRob2Q6UC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZSxwYXJhbXM6dH0pO2JyZWFrO2Nhc2UgUC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLkRhdGFVcGRhdGU6e2NvbnN0IHQ9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5nZXREYXRhVXBkYXRlT2JqZWN0cyhlKTt0aGlzLl9kYXRhSGFuZGxlTW9kdWxlLnByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhzLHQsKChlLHQscyk9Pnt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKGUsdCxzKX0pKTticmVha31jYXNlImluZGV4X3VwZGF0ZSI6Zm9yKGNvbnN0IHQgaW4gZS5wYXJhbXNbMF0paWYoZS5wYXJhbXNbMF0uaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IG49e21ldGhvZDoiaW5kZXhfdXBkYXRlIiwKcGFyYW1zOmUucGFyYW1zWzBdW3RdfTt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKHMsdCxuKX1icmVhaztjYXNlIFAuV2ViY2hhcnRSZXNwb25zZU1ldGhvZC5Dcml0aWNhbEVycm9yOkEubG9nSW5mbyhuZXcgRGF0ZSsiIGNyaXRpY2FsX2Vycm9yIHNlc3Npb246Iit0aGlzLnNlc3Npb25pZCsiIHJlYXNvbjoiK2UucGFyYW1zWzBdKSxELnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImNyaXRpY2FsX2Vycm9yIiksdGhpcy5fc2Vzc2lvbnNbc10ub25NZXNzYWdlKHttZXRob2Q6UC5XZWJjaGFydFJlc3BvbnNlTWV0aG9kLkNyaXRpY2FsRXJyb3IscGFyYW1zOmUucGFyYW1zfSk7YnJlYWs7Y2FzZSJ0aW1lc2NhbGVfY29tcGxldGVkIjpjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjpjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpjYXNlInF1b3RlX2NvbXBsZXRlZCI6Y2FzZSJkZXB0aF9zeW1ib2xfZXJyb3IiOmNhc2UiZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiOmNhc2UiZGQiOmNhc2UiZHB1IjpjYXNlImRlcHRoX2Jhcl9sYXN0X3ZhbHVlIjp0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2Uoe21ldGhvZDplLm1ldGhvZCxwYXJhbXM6ZS5wYXJhbXN9KTticmVhaztjYXNlImNsZWFyX2RhdGEiOmZvcihjb25zdCB0IGluIGUucGFyYW1zWzBdKWUucGFyYW1zWzBdLmhhc093blByb3BlcnR5KHQpJiZ0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKHMsdCx7bWV0aG9kOlAuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5DbGVhckRhdGEscGFyYW1zOmUucGFyYW1zWzBdW3RdfSk7YnJlYWs7Y2FzZSBQLldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheVBvaW50OmNhc2UgUC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlSZXNvbHV0aW9uczpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5RGF0YUVuZDpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5SW5zdGFuY2VJZDpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5RGVwdGg6Y2FzZSBQLldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheUVycm9yOmNhc2UgUC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlPazp0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2UoZSk7YnJlYWs7Y2FzZSJzZXJpZXNfdGltZWZyYW1lIjpjb25zdCBuPWUucGFyYW1zWzRdO2UucGFyYW1zWzRdPW51bGw9PW4/bnVsbDooMCxfLmNvbnZlcnRTdHJUb1RpbWVGcmFtZSkobiksdGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpO2JyZWFrO2Nhc2Uic3ltYm9sX3Jlc29sdmVkIjohZnVuY3Rpb24oZSl7aWYodm9pZCAwPT09ZS5jb3JyZWN0aW9ucyl7Y29uc3QgdD0oZS5zdWJzZXNzaW9ucz8/W10pLmZpbmQoKHQ9PnQuaWQ9PT1lLnN1YnNlc3Npb25faWQpKTt2b2lkIDAhPT10JiYoZS5jb3JyZWN0aW9ucz10WyJzZXNzaW9uLWNvcnJlY3Rpb24iXSl9fShlLnBhcmFtc1sxXSksdGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpO2JyZWFrO2RlZmF1bHQ6dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpfX1fbm90aWZ5U2Vzc2lvbnMoZSl7Zm9yKGNvbnN0IHQgaW4gdGhpcy5fc2Vzc2lvbnMpaWYodGhpcy5fc2Vzc2lvbnMuaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IHM9dGhpcy5fc2Vzc2lvbnNbdF07ImZ1bmN0aW9uIj09dHlwZW9mIHMub25NZXNzYWdlJiZzLm9uTWVzc2FnZShlKX19X29uTWVzc2FnZShlKXtqJiZ0aGlzLl9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oIkF1dGhUb2tlbiBpbnZhbGlkYXRpb24gZGV0ZWN0ZWQgb24gcmVjZWl2aW5nIGEgbWVzc2FnZSwgcmVxdWVzdGluZyBuZXcgdG9rZW4iKSx0aGlzLl9jYWxjVHJhZmZpY1N0YXRzKGUpO2NvbnN0IHQ9dGhpcy51bnBhY2soZSk7dGhpcy5fcmVjZWl2ZWRNZXRob2RzQ291bnRlcnMuc2V0KHQubWV0aG9kLCh0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVycy5nZXQodC5tZXRob2QpPz8wKSsxKSwidF9tcyJpbiB0JiYoMCxvLmRlZmF1bHQpKHQudF9tcykmJndpbmRvdy5DaGFydEFwaUluc3RhbmNlLmNvbXBlbnNhdGVDb25uZWN0aW9uTGFnKHQudF9tcyksInByb3RvY29sX3N3aXRjaGVkIiE9PXQubWV0aG9kPyJwcm90b2NvbF9lcnJvciIhPT10Lm1ldGhvZD90aGlzLl9kaXNwYXRjaE5vdGlmaWNhdGlvbih0LGUpOnRoaXMuX3Byb2Nlc3NQcm90b2NvbEVycm9yKHQpOkEubG9nRXJyb3IoIlVuZXhwZWN0ZWQgcHJvdG9jb2wgY2hhbmdpbmcgcmVxdWVzdCwgdHJ5IHNraXBwaW5nLiBSZXF1ZXN0ZWQgcHJvdG9jb2w6Iit0LnBhcmFtc1swXSl9YXN5bmMgX3Byb2Nlc3NlZE1ldGFkYXRhKGUpe2NvbnN0IHQ9KDAsZC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSkscz1hd2FpdCB0aGlzLl9pbml0Q2FjaGVQcm9taXNlLGk9d2luZG93LnByby5oYXNoKCksbz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTt0cnl7YXdhaXQgcy5zZXRWYWx1ZShpZSwoMCxuLmRlZmF1bHQpKGUpKTtjb25zdCByPUFycmF5LmZyb20obmV3IFNldChlLnBhcmFtc1sxXS5tZXRhaW5mby5tYXAoKGU9PntyZXR1cm5gJHsodD0oMCxwLnBhcnNlSWRTdHJpbmcpKGUuaWQpKS5wYWNrYWdlSWR9LSR7dC52ZXJzaW9ufWA7dmFyIHR9KSkpKTtpZihBLmxvZ05vcm1hbChgVXBkYXRlZCBzdHVkaWVzX21ldGFkYXRhIGNhY2hlLCB1bmlxdWUgcGFja2FnZSBpZHM6ICR7ci5qb2luKCIsICIpfWApLCFvKXRyeXthd2FpdCBzLnNldFZhbHVlKG5lLCgwLG4uZGVmYXVsdCkoaSkpLEEubG9nTm9ybWFsKCJVcGRhdGVkIHByb19oYXNoIGNhY2hlIil9Y2F0Y2goZSl7dC5yZWplY3QoKSxBLmxvZ0Vycm9yKCJDYW5ub3QgdXBkYXRlIHByb19oYXNoIGNhY2hlLCByZWFzb246ICIrZSl9fWNhdGNoKGUpe3QucmVqZWN0KCksCkEubG9nRXJyb3IoIkNhbm5vdCB1cGRhdGUgc3R1ZGllc19tZXRhZGF0YSBjYWNoZSwgcmVhc29uOiAiK2UpfXQucmVzb2x2ZSgoMCxuLmRlZmF1bHQpKGUpKX1faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQscyl7aWYodm9pZCAwPT09dClyZXR1cm47Y29uc3Qgbj10aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XTt2b2lkIDAhPT1uJiYobi5zaW5nbGVTaG90JiZkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sbi5oYW5kbGVyPy4ocykpfV9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2UoZSl7cmV0dXJuIHRoaXMuX2RhdGFIYW5kbGVNb2R1bGUuY29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpfV9hcHBlbmREdXJhdGlvbihlLHQpe3JldHVybiB0P2Ake2V9LCBkdXJhdGlvbjogJHt0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLTFlMyp0KX1gOmV9YXN5bmMgX3JlcXVlc3RNZXRhZGF0YSgpe2NvbnN0IGU9dGhpcy5fbWFrZU5leHRSZXF1ZXN0SWQoKTt4LmxvZ05vcm1hbChgUmVxdWVzdGluZyBtZXRhaW5mbyAjJHtlfWApO2NvbnN0IHQ9KDAsZC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSkscz13aW5kb3cucHJvLGk9cy5oYXNoKCksbz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtBLmxvZ05vcm1hbCgiUmVxdWVzdGluZyBwcm8gaGFzaCIpO3RyeXtjb25zdCByPWF3YWl0IHRoaXMuX2luaXRDYWNoZVByb21pc2U7YXdhaXQgci5taWdyYXRlVmFsdWUoInByb19oYXNoIixuZSksYXdhaXQgci5taWdyYXRlVmFsdWUoc2UsaWUpO2NvbnN0IGE9YXdhaXQgci5nZXRWYWx1ZShuZSk7aWYobnVsbCE9PWEmJmE9PT1pfHxvKXtBLmxvZ05vcm1hbCgiUHJvIGhhc2ggaGFzIG5vdCBjaGFuZ2VkLCByZXF1ZXN0aW5nIGZyb20gbG9jYWwiKTtjb25zdCBvPWF3YWl0IHIuZ2V0VmFsdWUoaWUpLGE9bnVsbCE9PW8mJm8ucGFyYW1zWzFdLmhhc2h8fG51bGw7aWYobnVsbD09PWF8fG51bGw9PT10aGlzLl9tZXRhZGF0YVNlcnZlckhhc2h8fHRoaXMuX21ldGFkYXRhU2VydmVySGFzaCE9PWEpQS5sb2dOb3JtYWwoYE1ldGFkYXRhIGhhc2ggaGFzIGNoYW5nZWQgKGNhY2hlZDogJyR7YX0nLCBzZXJ2ZXI6ICcke3RoaXMuX21ldGFkYXRhU2VydmVySGFzaH0nKWApLHRoaXMuX3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSk7ZWxzZXtpZighcy5oYXNQYWNrYWdlKCJ0di12b2x1bWVieXByaWNlIil8fHZvaWQgMCE9PW8ucGFyYW1zWzFdLm1ldGFpbmZvLmZpbmQoKGU9PmUuaWQuaW5jbHVkZXMoIkB0di12b2x1bWVieXByaWNlIikpKSlyZXR1cm4gQS5sb2dOb3JtYWwoIlVzaW5nIHN0dWRpZXNfbWV0YWRhdGEgZnJvbSBicm93c2VyIGNhY2hlIiksdm9pZCB0LnJlc29sdmUoKDAsbi5kZWZhdWx0KShvKSk7QS5sb2dOb3JtYWwoYERlLXN5bmMgZGV0ZWN0ZWQhIHByby5oYXNoIGNvbnRhaW5zIFZiUFIgc3R1ZGllcywgYnV0IGRhdGEgZnJvbSBjYWNoZSBkb2Vzbid0IGFuZCBwcm8uaGFzaCBpc24ndCBjaGFuZ2VkLCBwcm8uaGFzaD0ke2l9YCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX19ZWxzZSBBLmxvZ05vcm1hbChgUHJvIGhhc2ggaGFzIGNoYW5nZWQgKGNhY2hlZDogJyR7YX0nLCBjdXJyZW50OiAnJHtpfScpYCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX1jYXRjaCh0KXtBLmxvZ0Vycm9yKCJDYW5ub3QgZ2V0IHN0dWRpZXNfbWV0YWRhdGEsIHJlYXNvbjogIit0KSx0aGlzLl9yZXF1ZXN0TWV0YWRhdGFGcm9tU2VydmVyKGUpfWZpbmFsbHl7eC5sb2dOb3JtYWwoYFJlcXVlc3Rpbmcgc3R1ZGllcyBtZXRhZGF0YSAjJHtlfSBmaW5pc2hlZGApfX1fbWFrZU5leHRSZXF1ZXN0SWQoKXtyZXR1cm4ibWV0YWRhdGFfIit0aGlzLl9tZXRhZGF0YVJlcXVlc3ROZXh0TnVtYmVyKyt9X3Byb2Nlc3NQcm90b2NvbEVycm9yKGUpe2NvbnN0IHQ9ZS5wYXJhbXNbMF07QS5sb2dFcnJvcihgUHJvdG9jb2wgZXJyb3IuIFJlYXNvbj0ke3R9LmApLCJiYW5uZWQiIT09dCYmImJhbm5lZCBieSB1c2VyX2lkIiE9PXQmJiJiYW5uZWQgYnkgaXAiIT09dHx8KHRoaXMuX2JhbkluZm8uc2V0VmFsdWUoe3JlYXNvbjp0fSksdGhpcy5kaXNjb25uZWN0KCkpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnNldFZhbHVlKCJ1c2VyIGNvbm5lY3Rpb25zIGxpbWl0IHJlYWNoZWQiPT09dCl9X3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSl7cmV0dXJuIEEubG9nTm9ybWFsKCJSZXF1ZXN0IHN0dWRpZXNfbWV0YWRhdGEgZnJvbSBzZXJ2ZXIiKSx0aGlzLl9zZW5kUmVxdWVzdCgicmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhIixbZV0pfV9iaW5kU29ja2V0RXZlbnRzKCl7dGhpcy5jb25uZWN0RGZkPW5ldyBQcm9taXNlKCgoZSx0KT0+e3RoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24ub24oImNvbm5lY3QiLCgoKT0+e3RoaXMuX29uQ29ubmVjdCgpLGUoKX0pKSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLm9uKCJtZXNzYWdlIix0aGlzLl9vbk1lc3NhZ2UuYmluZCh0aGlzKSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vbigiZGlzY29ubmVjdCIsKCgpPT57dGhpcy5fYXV0aFRva2VuRGZkJiYodGhpcy5fYXV0aFRva2VuRGZkPW51bGwpLHRoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUVycmJhY2smJnRoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUVycmJhY2soKSx0aGlzLl9pc0Nvbm5lY3RlZD0hMSx0aGlzLl9ub3RpZnlTZXNzaW9ucyh7bWV0aG9kOmguQ2hhcnRBcGlNZXNzYWdlTWV0aG9kLkRpc2Nvbm5lY3RlZCxwYXJhbXM6W119KSx0aGlzLl9iYW5JbmZvLnZhbHVlKCl8fCh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZT1udWxsKSx0aGlzLl9kaXNjb25uZWN0Q291bnQ9KHRoaXMuX2Rpc2Nvbm5lY3RDb3VudHx8MCkrMSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmlzQ29ubmVjdGVkKCkmJih0aGlzLl90ZWxlbWV0cnlEaXNjb25uZWN0VGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e0QudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgiZGlzY29ubmVjdCIpfSksNWUzKSwKdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc01heFJlY29ubmVjdHMoKSYmKHRoaXMuX25vdGlmeVNlc3Npb25zKHttZXRob2Q6aC5DaGFydEFwaU1lc3NhZ2VNZXRob2QuUmVjb25uZWN0QmFpbG91dCxwYXJhbXM6W119KSx0KCksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfYmFpbG91dCIpKSl9KSl9KSl9X2NhbGNUcmFmZmljU3RhdHMoZSl7Y29uc3QgdD1lLmxlbmd0aDt0aGlzLl90cmFmZmljU3RhdHMudG90YWwrPXQsdGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCs9dCx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKz10fV9zZW5kQnJva2VySWRUb1Nlc3Npb24oZSl7cmV0dXJuIVd8fHRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfYnJva2VyIixbZV0pfV9lbmFibGVMb3dRdWFsaXR5TW9kZSgpe0EubG9nTm9ybWFsKCJsb3cgcXVhbGl0eSBtb2RlIGlzIGVuYWJsZWQiKSx0aGlzLl9sb3dRdWFsaXR5RW5hYmxlZD0hMCx0aGlzLl9zZW5kTG93UXVhbGl0eU1vZGVJZkVuYWJsZWQoKX1fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCl7dGhpcy5fbG93UXVhbGl0eUVuYWJsZWQmJnRoaXMuY29ubmVjdGVkKCkmJnRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfZGF0YV9xdWFsaXR5IixbXSl9X2dldEF1dGhUb2tlbkRmZChlKXtpZih0aGlzLl9sb2FkTmV3QmFycylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJsb2FkX25ld190b2tlbiIpO2lmKCgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpfHwtMSE9PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIil8fC0xIT09d2luZG93LmxvY2F0aW9uLmhhc2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIikpe2NvbnN0IGU9d2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiO3JldHVybiBQcm9taXNlLnJlc29sdmUoYltlXXx8IndpZGdldF91c2VyX3Rva2VuIil9aWYoIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybiBQcm9taXNlLnJlc29sdmUoInVuYXV0aG9yaXplZF91c2VyX3Rva2VuIik7aWYoIXRoaXMuX2F1dGhUb2tlbk1hbmFnZXIpe2NvbnN0IGU9dGhpcy5fYXV0aFRva2VuTWFuYWdlcj1uZXcgZi5BdXRoVG9rZW47ZS5pbnZhbGlkYXRlZC5zdWJzY3JpYmUobnVsbCwoYXN5bmMoKT0+e3RyeXt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudCs9MTtjb25zdCB0PWF3YWl0IGUuZ2V0KCk7aWYoIXQpcmV0dXJuIHZvaWQgQS5sb2dJbmZvKCJBdXRoVG9rZW4gaW52YWxpZGF0ZWQsIGJ1dCBuZXcgdG9rZW4gaXMgZW1wdHkiKTtpZighdGhpcy5jb25uZWN0ZWQoKSlyZXR1cm4gdm9pZCBBLmxvZ0luZm8oYEF1dGhUb2tlbiBpbnZhbGlkYXRlZCwgYnV0IHNvY2tldCBpcyBub3QgY29ubmVjdGVkLiBUb2tlbjogJHt0fWApO0EubG9nSW5mbygiQXV0aFRva2VuIGludmFsaWRhdGVkLCByZWZyZXNoaW5nIHRva2VuIGFuZCByZXNlbmRpbmcgdG8gc2Vzc2lvbiIpLHRoaXMuX3NlbmRSZXF1ZXN0SW1wbCgic2V0X2F1dGhfdG9rZW4iLFt0XSl9Y2F0Y2goZSl7dGhyb3cgQS5sb2dFcnJvcihgRmFpbGVkIHRvIHJlZnJlc2ggYXV0aCB0b2tlbiBhZnRlciBpbnZhbGlkYXRpb246ICR7KDAsUy5lcnJvclRvU3RyaW5nKShlKX1gKSxlfWZpbmFsbHl7dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQtPTEsMD09PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50JiZlLmN1cnJlbnRUb2tlbklzVmFsaWQoKSYmdGhpcy5fZmx1c2hQZW5kaW5nTWVzc2FnZXMoKX19KSl9cmV0dXJuIHRoaXMuX2F1dGhUb2tlbk1hbmFnZXIuZ2V0KGUpfV9vblNlbmRpbmdRdWV1ZVJlcXVlc3RGaW5pc2hlZCgpe3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50LT0xLEEubG9nSW5mbyhgU2VuZGluZyBxdWV1ZSByZXF1ZXN0IGZpbmlzaGVkLiBSZW1haW5pbmcgcGVuZGluZyByZXF1ZXN0cz0ke3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50fWApLHRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50PDAmJkEubG9nRXJyb3IoYEludmFsaWQgcXVldWUgc3RhdGU9JHt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudH1gKSwwPT09dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQmJnRoaXMuX2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl9X2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl7QS5sb2dJbmZvKGBGbHVzaCBwZW5kaW5nIG1lc3NhZ2VzLiBDb3VudD0ke3RoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlLmxlbmd0aH1gKSx0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5mb3JFYWNoKChlPT50aGlzLl9zZW5kUmVxdWVzdChlLm1ldGhvZCxlLmFyZ3MpKSksdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W119fSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYod2luZG93LkNoYXJ0QXBpSW5zdGFuY2U9bmV3IGRlKHdpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uKSl9LDg4OTUxNShlLHQscyl7cy5kKHQse3Nob3dUb29NYW55U3R1ZGllc05vdGljZTooKT0+b30pO3ZhciBuPXMoMTg1MjcxKSxpPXMoMjM0OTY0KTtmdW5jdGlvbiBvKGUpeygwLGkuc2hvd1dhcm5pbmcpKHt0aXRsZTpuLnQobnVsbCx2b2lkIDAscyg5MzcwMTcpKSx0ZXh0Om4udChudWxsLHtyZXBsYWNlOntudW1iZXI6YCR7ZX1gfX0scyg5OTIzNjIpKX0pfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39070.55cbc7a1da963b3829b3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.595Z","timestamp":1785129292595,"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/39070.55cbc7a1da963b3829b3.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 20\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b72-14\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6ffe4acca52bceaf121a10f7a40106f2\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20,"size_decoded":804,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"8c361f5f3e81eca6f243f991934acfb8","sha1":"cca2cc0145571af645e93a0eea492681a68d4db1","sha256":"b7db039e8731af6abd4fe1cad1c082f9a54cac9bfae4de52cac6cbb64431ff06","sha512":"94498523c2221fd084df6e33d95e80c4f0dcc1054ff64a84c7c5309491e66301e34045b6df7d5247854e2893bf8e3fd6ca8b22f2e40daebcad83853dec330ad8","ssdeep":"","tlshash":"757000020028200280800800222000000003023a2a880000a80080200802aa08a0a00a","first_seen":"2026-01-06T10:31:31.715579Z","last_seen":"2026-07-27T08:08:01.315062Z","times_seen":6908,"resource_available":false,"data":"OmZvY3Vze291dGxpbmU6bm9uZX0="}},"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/3905.682e89ef2dc4c70423c6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.604Z","timestamp":1785129292604,"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/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\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: 479572e2eb12b4264f71523ac84274b7\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-27T08:08:22.707765Z","times_seen":6126,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtd01EZjojMDAwMDstLV8xLXdNRGY6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tXzItd01EZjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8zLXdNRGY6IzAwMDB9W2RhdGEtdGhlbWU9ZGFya117LS1fMC13TURmOiMwMDAwOy0tXzEtd01EZjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1fMi13TURmOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzMtd01EZjojMDAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6dmFyKC0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dCk7ZGlzcGxheTppbmxpbmUtZmxleDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtLWhpZGRlbi1FSkJEOTZ6WHtvcGFjaXR5OjB9LmNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsLUVKQkQ5NnpYe21hcmdpbjo0cHggMH0uY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtLWZhcnRoZXItRUpCRDk2elh7bWFyZ2luOjhweCAwfS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elh7bWFyZ2luOjAgNHB4fS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtZmFydGhlci1FSkJEOTZ6WHttYXJnaW46MCA4cHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvd30uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zLUVKQkQ5NnpYLC5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXItRUpCRDk2elh7Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtZW5kLXJhZGl1czoycHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYnV0dG9uLUVKQkQ5NnpYOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWlubGluZS1lbmQ6MXB4fS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MnB4O2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLWJ1dHRvbnMtRUpCRDk2elgsLmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4taW5saW5lLXN0YXJ0OjFweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elh7cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXIsLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItbGVmdDo2cHggc29saWQ7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tXzMtd01EZik7Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZDtib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tXzMtd01EZik7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTZweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6NHB4O2JvdHRvbToxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXRvcC13aWR0aDo0cHg7dG9wOjEwMCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDphZnRlcntib3JkZXItYm90dG9tOjZweCBzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLV8zLXdNRGYpO2JvcmRlci10b3A6NnB4IHNvbGlkO2JvcmRlci10b3AtY29sb3I6dmFyKC0tXzMtd01EZik7bWFyZ2luLXRvcDotNnB4O3RvcDo1MCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjRweDtyaWdodDoxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWxlZnQtd2lkdGg6NHB4O2xlZnQ6MTAwJX0uY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjMxMHB4O3BhZGRpbmc6M3B4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpzdGFydH0uY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpdGgtaG90a2V5LUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6NDIwcHg7cGFkZGluZzowfS5jb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZS1FSkJEOTZ6WHttYXgtd2lkdGg6NjQwcHh9LmNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ctRUpCRDk2elh7bWF4LXdpZHRoOjIwMHB4fS5jb21tb24tdG9vbHRpcF9fYm9keS0tbm8tcGFkZGluZy1FSkJEOTZ6WHtwYWRkaW5nOjB9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDoxIDAgYXV0bztqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OjEycHg7bWFyZ2luOjNweCAwO3BhZGRpbmctaW5saW5lLWVuZDo4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stLWRpdmlkZXItRUpCRDk2elg6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7Y29udGVudDoiIjtoZWlnaHQ6MTAwJTttYXJnaW4taW5saW5lLWVuZDo4cHg7d2lkdGg6MXB4fS5jb21tb24tdG9vbHRpcF9faG90a2V5LXRleHQtRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWFyZ2luOjNweCA4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uLUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtoZWlnaHQ6MThweDtwYWRkaW5nOjFweCA2cHg7d2lkdGg6YXV0bzstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0uY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbi1FSkJEOTZ6WHtoZWlnaHQ6MTVweDtsaW5lLWhlaWdodDoxNHB4O3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEzcHh9LmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19idXR0b24tRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKX19LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRle2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JvcmRlci1yYWRpdXM6MH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItaW5saW5lLWVuZDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1lbmQtY29sb3I6dmFyKC0tXzAtd01EZik7Ym9yZGVyLWlubGluZS1zdGFydDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1zdGFydC1jb2xvcjp2YXIoLS1fMC13TURmKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YmVmb3Jle2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmUsLmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YmVmb3Jle2JvcmRlci1pbmxpbmUtZW5kOjdweCBzb2xpZDtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItaW5saW5lLXN0YXJ0OjdweCBzb2xpZDtib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOnZhcigtLV8wLXdNRGYpO2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLWlubGluZS1zdGFydDotN3B4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItYm90dG9tLXdpZHRoOjZweDt0b3A6LTZweH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLXRvcC13aWR0aDo2cHg7Ym90dG9tOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YmVmb3JlLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjdweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpO21hcmdpbi10b3A6LTdweDt0b3A6NTAlfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWlubGluZS1lbmQtd2lkdGg6NnB4O2luc2V0LWlubGluZS1zdGFydDotNnB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOjZweDtpbnNldC1pbmxpbmUtZW5kOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvd3tib3gtc2hhZG93OjAgMXB4IDNweCAwICMyYTJjMzk0YTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtcm91bmQtc2hhZG93IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWlubGluZS1lbmQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtZW5kLWNvbG9yOnZhcigtLV8wLXdNRGYpO2JvcmRlci1pbmxpbmUtc3RhcnQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tXzAtd01EZil9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmFmdGVyLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1jaGFydCAuY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMnB4IDRweCB2YXIoLS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTttYXgtd2lkdGg6MzQycHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLWNoYXJ0IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLW5ld3MgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eSk7bWF4LXdpZHRoOjMyMHB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1uZXdzIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9"}},"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/80097.0a3cfdc2802879522aec.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.610Z","timestamp":1785129292610,"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/80097.0a3cfdc2802879522aec.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-1a12\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:46\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 392f17f62d7eef69636be07bbf5042b3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6674,"size_decoded":2450,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6674), with no line terminators","md5":"f0f634ef413698b5d2803a87d22f7371","sha1":"ab445a3dad78a0af77a6322c79837164dfd71745","sha256":"1e4004685024a3a4b841fc7a40ed6764efd60d076fe2e0c80cdbbf12774e9185","sha512":"47e707e11fa655ed28f08621ee8c795d8b011467a77b8d0d9c5f726095defe1ed1bfaf8cc7cfdd1b9aaa695fd7547e66f982736269473037353f153cdb81e031","ssdeep":"96:DLRLhVLZjin09Bfgc0H3IFtxsIRH0kq7fDvLNvqK/VmTqX:lLA0Ic0H4FtxV10kq7fDvL9qK/VmTc","tlshash":"c4d14622531ea0ff2177aa294bdc4f0f4e35d5a1d6a2760c93192b940b8f7fc47e560a","first_seen":"2026-07-16T11:36:17.8282Z","last_seen":"2026-07-27T08:06:56.371992Z","times_seen":673,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtOEhRSjojMDAwMDstLV8xLThIUUo6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC04SFFKOiMwMDAwOy0tXzEtOEhRSjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX1hLnR2LXRpY2tlci1pdGVtLXRhcGV7b3ZlcmZsb3c6aGlkZGVufS50di10aWNrZXItaXRlbS10YXBle2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDowIDAgYXV0bztmb250LXNpemU6MTZweDtoZWlnaHQ6NDRweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDB9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di10aWNrZXItaXRlbS10YXBlOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYmctcHJpbWFyeS1ob3Zlcil9fS50di10aWNrZXItaXRlbS10YXBle291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS50di10aWNrZXItaXRlbS10YXBlOmZvY3Vze291dGxpbmU6bm9uZX0udHYtdGlja2VyLWl0ZW0tdGFwZTpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udHYtdGlja2VyLWl0ZW0tdGFwZTphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0udHYtdGlja2VyLWl0ZW0tdGFwZTpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS50di10aWNrZXItaXRlbS10YXBlOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30udHYtdGlja2VyLWl0ZW0tdGFwZTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0udHYtdGlja2VyLWl0ZW0tdGFwZTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOjJweH0udHYtdGlja2VyLWl0ZW0tdGFwZV9fYm9yZGVyLXdyYXBwZXJ7Ym9yZGVyLWlubGluZS1lbmQ6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nLWlubGluZS1zdGFydDoxNnB4O3dpZHRoOjEwMCV9LnR2LXRpY2tlci1pdGVtLXRhcGVfX2JvcmRlci13cmFwcGVyLC50di10aWNrZXItaXRlbS10YXBlX19pbm5lci13cmFwcGVye2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCV9LnR2LXRpY2tlci1pdGVtLXRhcGVfX2NoYW5nZS13cmFwcGVyLC50di10aWNrZXItaXRlbS10YXBlX19sYXN0LXdyYXBwZXIsLnR2LXRpY2tlci1pdGVtLXRhcGVfX3Nob3J0LW5hbWUtd3JhcHBlcntkaXNwbGF5OmZsZXh9LnR2LXRpY2tlci1pdGVtLXRhcGVfX3Nob3J0LW5hbWUtd3JhcHBlcnttYXJnaW4taW5saW5lLWVuZDoxMnB4fS50di10aWNrZXItaXRlbS10YXBlX19pY29uLXdyYXBwZXIsLnR2LXRpY2tlci1pdGVtLXRhcGVfX3N5bWJvbHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS50di10aWNrZXItaXRlbS10YXBlX19pY29ue21hcmdpbi1pbmxpbmUtZW5kOjhweH0udHYtdGlja2VyLWl0ZW0tdGFwZV9fc2hvcnQtbmFtZXtmb250LXdlaWdodDo3MDA7d2hpdGUtc3BhY2U6bm93cmFwfS50di10aWNrZXItaXRlbS10YXBlX19sYXN0e2JvcmRlci1yYWRpdXM6M3B4O21hcmdpbjotMXB4IC0ycHg7cGFkZGluZzoxcHggMnB4O3RyYW5zaXRpb24tZHVyYXRpb246LjM1czt0cmFuc2l0aW9uLXByb3BlcnR5OmJhY2tncm91bmR9LnR2LXRpY2tlci1pdGVtLXRhcGVfX2xhc3QtLWdyb3dpbmd7Y29sb3I6dmFyKC0tY29sb3ItZ3Jvd2luZyl9LnR2LXRpY2tlci1pdGVtLXRhcGVfX2xhc3QtLWZhbGxpbmd7Y29sb3I6dmFyKC0tY29sb3ItZmFsbGluZyl9LnR2LXRpY2tlci1pdGVtLXRhcGVfX2NoYW5nZS13cmFwcGVye21hcmdpbi1pbmxpbmUtc3RhcnQ6MTJweH0udHYtdGlja2VyLWl0ZW0tdGFwZV9fY2hhbmdlLXdyYXBwZXItLXVwe2NvbG9yOnZhcigtLWNvbG9yLWdyb3dpbmcpfS50di10aWNrZXItaXRlbS10YXBlX19jaGFuZ2Utd3JhcHBlci0tZG93bntjb2xvcjp2YXIoLS1jb2xvci1mYWxsaW5nKX0udHYtdGlja2VyLWl0ZW0tdGFwZV9fY2hhbmdlLWFicywudHYtdGlja2VyLWl0ZW0tdGFwZV9fY2hhbmdlLXB0e2RpcmVjdGlvbjpsdHJ9LnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3R7Zm9udC1zaXplOjE0cHg7aGVpZ2h0OjcycHh9LnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QgLnR2LXRpY2tlci1pdGVtLXRhcGVfX2lubmVyLXdyYXBwZXJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QgLnR2LXRpY2tlci1pdGVtLXRhcGVfX3Nob3J0LW5hbWUtd3JhcHBlcnttYXJnaW4taW5saW5lLWVuZDowfS50di10aWNrZXItaXRlbS10YXBlLS1jb21wYWN0IC50di10aWNrZXItaXRlbS10YXBlX19zeW1ib2x7bWFyZ2luLWJvdHRvbTo0cHh9LnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QgLnR2LXRpY2tlci1pdGVtLXRhcGVfX3Nob3J0LW5hbWV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwfS50di10aWNrZXItaXRlbS10YXBlLS1jb21wYWN0IC50di10aWNrZXItaXRlbS10YXBlX19sYXN0e2ZvbnQtd2VpZ2h0OjcwMH0udHYtdGlja2VyLWl0ZW0tdGFwZS0tY29tcGFjdCAudHYtdGlja2VyLWl0ZW0tdGFwZV9faWNvbnttYXJnaW4taW5saW5lLWVuZDo2cHh9LnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QgLnR2LXRpY2tlci1pdGVtLXRhcGVfX2NoYW5nZS13cmFwcGVye21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtdGlja2VyLWl0ZW0tdGFwZS0tY29tcGFjdCAudHYtdGlja2VyLWl0ZW0tdGFwZV9fY2hhbmdlLXdyYXBwZXItLWRvd24sLnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QgLnR2LXRpY2tlci1pdGVtLXRhcGVfX2NoYW5nZS13cmFwcGVyLS11cHttYXJnaW4tbGVmdDotN3B4fS50di10aWNrZXItaXRlbS10YXBlLS1za2VsZXRvbntwb2ludGVyLWV2ZW50czpub25lO3dpZHRoOjM0NnB4fS50di10aWNrZXItaXRlbS10YXBlLS1za2VsZXRvbiAudHYtdGlja2VyLWl0ZW0tdGFwZV9fYm9yZGVyLXdyYXBwZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjB9LnR2LXRpY2tlci1pdGVtLXRhcGUtLXNrZWxldG9uIC50di10aWNrZXItaXRlbS10YXBlX19jaGFuZ2Utd3JhcHBlciwudHYtdGlja2VyLWl0ZW0tdGFwZS0tc2tlbGV0b24gLnR2LXRpY2tlci1pdGVtLXRhcGVfX2xhc3Qtd3JhcHBlciwudHYtdGlja2VyLWl0ZW0tdGFwZS0tc2tlbGV0b24gLnR2LXRpY2tlci1pdGVtLXRhcGVfX3Nob3J0LW5hbWUtd3JhcHBlcntiYWNrZ3JvdW5kOnZhcigtLV8xLThIUUopO2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDoxNnB4fS50di10aWNrZXItaXRlbS10YXBlLS1za2VsZXRvbiAudHYtdGlja2VyLWl0ZW0tdGFwZV9fc2hvcnQtbmFtZS13cmFwcGVye3dpZHRoOjEwMHB4fS50di10aWNrZXItaXRlbS10YXBlLS1za2VsZXRvbiAudHYtdGlja2VyLWl0ZW0tdGFwZV9fbGFzdC13cmFwcGVye3dpZHRoOjcwcHh9LnR2LXRpY2tlci1pdGVtLXRhcGUtLXNrZWxldG9uIC50di10aWNrZXItaXRlbS10YXBlX19jaGFuZ2Utd3JhcHBlcnt3aWR0aDoxMTBweH0udHYtdGlja2VyLWl0ZW0tdGFwZS0tc2tlbGV0b24udHYtdGlja2VyLWl0ZW0tdGFwZS0tY29tcGFjdHt3aWR0aDoxMjVweH0udHYtdGlja2VyLWl0ZW0tdGFwZS0tc2tlbGV0b24udHYtdGlja2VyLWl0ZW0tdGFwZS0tY29tcGFjdCAudHYtdGlja2VyLWl0ZW0tdGFwZV9fY2hhbmdlLXdyYXBwZXIsLnR2LXRpY2tlci1pdGVtLXRhcGUtLXNrZWxldG9uLnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QgLnR2LXRpY2tlci1pdGVtLXRhcGVfX2xhc3Qtd3JhcHBlciwudHYtdGlja2VyLWl0ZW0tdGFwZS0tc2tlbGV0b24udHYtdGlja2VyLWl0ZW0tdGFwZS0tY29tcGFjdCAudHYtdGlja2VyLWl0ZW0tdGFwZV9fc2hvcnQtbmFtZS13cmFwcGVye2hlaWdodDoxMnB4fS50di10aWNrZXItaXRlbS10YXBlLS1za2VsZXRvbi50di10aWNrZXItaXRlbS10YXBlLS1jb21wYWN0IC50di10aWNrZXItaXRlbS10YXBlX19sYXN0LXdyYXBwZXIsLnR2LXRpY2tlci1pdGVtLXRhcGUtLXNrZWxldG9uLnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QgLnR2LXRpY2tlci1pdGVtLXRhcGVfX3Nob3J0LW5hbWUtd3JhcHBlcnt3aWR0aDo3MnB4fS50di10aWNrZXItaXRlbS10YXBlLS1za2VsZXRvbi50di10aWNrZXItaXRlbS10YXBlLS1jb21wYWN0IC50di10aWNrZXItaXRlbS10YXBlX19jaGFuZ2Utd3JhcHBlcnt3aWR0aDo5MnB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtdGlja2VyLWl0ZW0tdGFwZS0tdHJhbnNwYXJlbnQ6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1fMC04SFFKKX19LnR2LXRpY2tlci1pdGVtLXRhcGUtLXRyYW5zcGFyZW50IC50di10aWNrZXItaXRlbS10YXBlX19ib3JkZXItd3JhcHBlcntib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1jb2xvci1kaXZpZGVyKX0udHYtdGlja2VyLWl0ZW0tdGFwZV9fc3ltYm9sLWV4Y2xhbWF0aW9uLW1hcmt7YWxpZ24tc2VsZjpjZW50ZXI7YmFja2dyb3VuZDp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMCcgaGVpZ2h0PScxMCcgdmlld0JveD0nMCAwIDEwIDEwJyUzRSUzQ3BhdGggZmlsbD0nJTIzZmY0YTY4JyBkPSdNNSAxMEE1IDUgMCAxIDAgNSAwYTUgNSAwIDAgMCAwIDEwbS0uNS0zaDFjLjYgMCAuNiAxIDAgMWgtMWMtLjYgMC0uNi0xIDAtMU00IDJoMnYybC0uNSAyaC0xTDQgNHonLyUzRSUzQy9zdmclM0UiKSA1MCUgbm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb250YWluO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4O3dpZHRoOjE2cHh9LnRpY2tlclRhcGUtTl9reXBqdDl7b3ZlcmZsb3c6aGlkZGVufS50aWNrZXJUYXBlLU5fa3lwanQ5Lm5vQXV0b1Njcm9sbC1OX2t5cGp0OXtvdmVyZmxvdy14OnNjcm9sbH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsudGlja2VyVGFwZS1OX2t5cGp0OS5ub0F1dG9TY3JvbGwtTl9reXBqdDl7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9fS50aWNrZXJUYXBlLU5fa3lwanQ5Lm5vQXV0b1Njcm9sbC1OX2t5cGp0OS5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LnRpY2tlclRhcGUtTl9reXBqdDkubm9BdXRvU2Nyb2xsLU5fa3lwanQ5Ojotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0udGlja2VyVGFwZS1OX2t5cGp0OS5ub0F1dG9TY3JvbGwtTl9reXBqdDk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLC50aWNrZXJUYXBlLU5fa3lwanQ5Lm5vQXV0b1Njcm9sbC1OX2t5cGp0OTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS50aWNrZXJUYXBlLU5fa3lwanQ5Lm5vQXV0b1Njcm9sbC1OX2t5cGp0OTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0udGlja2VyVGFwZS1OX2t5cGp0OS5ub0F1dG9TY3JvbGwtTl9reXBqdDkgLnRhcGUtTl9reXBqdDl7YW5pbWF0aW9uOm5vbmV9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LnRpY2tlclRhcGUtTl9reXBqdDl7b3ZlcmZsb3cteDpzY3JvbGx9QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7LnRpY2tlclRhcGUtTl9reXBqdDl7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9fS50aWNrZXJUYXBlLU5fa3lwanQ5LnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0udGlja2VyVGFwZS1OX2t5cGp0OTo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lO2hlaWdodDowO3dpZHRoOjB9LnRpY2tlclRhcGUtTl9reXBqdDk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLC50aWNrZXJUYXBlLU5fa3lwanQ5Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LnRpY2tlclRhcGUtTl9reXBqdDk6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntkaXNwbGF5Om5vbmV9fS50YXBlLU5fa3lwanQ5e2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLXBsYXktc3RhdGU6cnVubmluZzthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0b31AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRhcGUtTl9reXBqdDk6aG92ZXJ7YW5pbWF0aW9uLXBsYXktc3RhdGU6cGF1c2VkfX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsudGFwZS1OX2t5cGp0OXthbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWR9fS5oZWFkLU5fa3lwanQ5LC5za2VsZXRvbi1OX2t5cGp0OSwudGFpbC1OX2t5cGp0OXtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0b30="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/api/stats/qoe?cpn=zmhj8ieFUzCH2tcL\u0026el=embedded\u0026ns=yt\u0026fexp=v1%2C24004644%2C27058999%2C34656%2C124674%2C117689%2C9252%2C3479%2C13030%2C6258%2C16948%2C68547%2C1248%2C30907%2C2877%2C12228%2C25059%2C4174%2C30447%2C18705%2C21437%2C4571%2C13016%2C16087%2C9404%2C23826%2C9500%2C1840%2C18113%2C11561%2C16041%2C13160%2C452%2C35510%2C20589%2C4200%2C457%2C29656%2C9181%2C15416%2C82%2C29960%2C7525%2C366%2C5666%2C1168%2C372%2C7758%2C16453%2C172%2C8868%2C3475%2C27%2C5326%2C9866%2C1596%2C928%2C2248%2C115%2C71%2C87%2C8117%2C3692%2C2043%2C9547%2C1351%2C110%2C753%2C17226%2C9717%2C1405%2C9%2C2199%2C3896%2C2455%2C845%2C885%2C1977%2C619%2C285%2C653%2C2%2C7891%2C1295%2C3443%2C2845%2C3292%2C628%2C537%2C3%2C4%2C743%2C8069%2C7175%2C457%2C1454%2C4313%2C4061%2C1959%2C783%2C19801%2C2178\u0026cl=951779104\u0026seq=1\u0026event=streamingstats\u0026docid=dk9uNWPP7EA\u0026cbr=Firefox\u0026cbrver=134.0\u0026c=WEB_EMBEDDED_PLAYER\u0026cver=2.20260724.01.00\u0026cplayer=UNIPLAYER\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\u0026vps=0.000:N,0.338:B,0.340:S,0.436:ER\u0026ctmp=dttg:t.0;dtt.1;gl.0,user_intent_bh:t.314;bh.0.000;th.0.000\u0026cat=streaming\u0026cmt=0.338:0.000,0.340:0.000,0.436:0.000,0.436:0.000\u0026vis=0.436:0\u0026bh=0.436:0.000\u0026qclc=ChB6bWhqOGllRlV6Q0gydGNMEAE","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:54.547Z","timestamp":1785129294547,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"POST /api/stats/qoe?cpn=zmhj8ieFUzCH2tcL\u0026el=embedded\u0026ns=yt\u0026fexp=v1%2C24004644%2C27058999%2C34656%2C124674%2C117689%2C9252%2C3479%2C13030%2C6258%2C16948%2C68547%2C1248%2C30907%2C2877%2C12228%2C25059%2C4174%2C30447%2C18705%2C21437%2C4571%2C13016%2C16087%2C9404%2C23826%2C9500%2C1840%2C18113%2C11561%2C16041%2C13160%2C452%2C35510%2C20589%2C4200%2C457%2C29656%2C9181%2C15416%2C82%2C29960%2C7525%2C366%2C5666%2C1168%2C372%2C7758%2C16453%2C172%2C8868%2C3475%2C27%2C5326%2C9866%2C1596%2C928%2C2248%2C115%2C71%2C87%2C8117%2C3692%2C2043%2C9547%2C1351%2C110%2C753%2C17226%2C9717%2C1405%2C9%2C2199%2C3896%2C2455%2C845%2C885%2C1977%2C619%2C285%2C653%2C2%2C7891%2C1295%2C3443%2C2845%2C3292%2C628%2C537%2C3%2C4%2C743%2C8069%2C7175%2C457%2C1454%2C4313%2C4061%2C1959%2C783%2C19801%2C2178\u0026cl=951779104\u0026seq=1\u0026event=streamingstats\u0026docid=dk9uNWPP7EA\u0026cbr=Firefox\u0026cbrver=134.0\u0026c=WEB_EMBEDDED_PLAYER\u0026cver=2.20260724.01.00\u0026cplayer=UNIPLAYER\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\u0026vps=0.000:N,0.338:B,0.340:S,0.436:ER\u0026ctmp=dttg:t.0;dtt.1;gl.0,user_intent_bh:t.314;bh.0.000;th.0.000\u0026cat=streaming\u0026cmt=0.338:0.000,0.340:0.000,0.436:0.000,0.436:0.000\u0026vis=0.436:0\u0026bh=0.436:0.000\u0026qclc=ChB6bWhqOGllRlV6Q0gydGNMEAE HTTP/1.1\r\nHost: www.youtube-nocookie.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 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.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1\r\nX-Goog-Visitor-Id: CgtHZU9NaHUydzFpZyjN0pvTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgGGLfAgrcAjIwLllUPVVTYzN4Y2lwQzFfM3lBcHAyWi1PTGd4dlNuczJEWFIwY2NvVWtUNkNEUEZ1R0wtYzNmSDJQNDJHZ3FOQU5ZOF9rSVVXTHk4SUFMZ2JWZTZOdldUX3RQbE9ibmZiUjVNekg1WURtS0syQ1lFOEVna2ZjeXN5eXFRWFNBNHFIRjB5dm9zN2RoQkZnaHBwZEdDbWNsNWNvb1Q3MEZyRjJPUjVaWkJRTnFqRUdSX0s0NG9GUENHTUYzZWdXNTVfVTR0TllTMVBKRE1qYkNRVDE3cml4bi1iOTY2S05jb2tueDh2WjdCb1VxNXU3QUhfZWhBWC1NM2hlM0lqRUs3cXpQdndWcUdkSGdmS2VMSUhNQ3JXYWwzSEhBVmpXX1YyakgwR0pPSUpYeE45dnotQTF1VkFUeXVESnk5dmZaeTRhUnBiWTVZakdDeUd3RzNMWVB4cDQ0Y2xkUQ%3D%3D\r\nContent-Type: text/plain;charset=UTF-8\r\nContent-Length: 380\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube-nocookie.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":380,"data":"error=0.436%3Aauth%3A%3A0.000%3Aec.auth%3Bed.1%3Bes.This_helps_protect_our_community._Learn_more%3Ba6s.0%3Br.Sign_in_to_confirm_you_re_not_a_botsr.This_helps_protect_our_community._Learn_more\u0026session_token=QUM4Zm9rUzJQVmd6bDFCV0JoSGlkWlROWlltUnxBR3JiS2FtdDhFT2d1Z1I4SVRIZm1HcnRLNFNVUlhuVHNYekFSb3N1a0k3Xzc3TDhrY0ZYako4dlVqSjR1MFVDRi13d0NYU2NrRGRZODlWODU2UW1URHBZMUNWQlBrcFBDakU%3D"}},"response":{"raw":"HTTP/3 204 \r\ncontent-type: text/html; charset=UTF-8\r\ndate: Mon, 27 Jul 2026 05:14:54 GMT\r\npragma: no-cache\r\nexpires: Fri, 01 Jan 1990 00:00:00 GMT\r\ncache-control: no-cache, must-revalidate\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\nserver: Video Stats Server\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"","fingerprints":[{"name":"Apache Traffic Server","description":"Apache Traffic Server is an open-source caching and proxying server that serves as an HTTP/1.1 and HTTP/2 reverse proxy with caching capabilities, load balancing, request routing, SSL termination, and support for advanced HTTP features.","website":"https://trafficserver.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:traffic_server:*:*:*:*:*:*:*:*","icon":"Apache Traffic Server.svg","categories":["Web servers"]}],"data":{"size":0,"size_decoded":3283,"mime_type":"text/html; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T08:08:41.31747Z","times_seen":17559137,"resource_available":true,"data":""}},"time_used":31,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":31,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.486Z","timestamp":1785129292486,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /embed-widget/ticker-tape/?locale=en HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 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 05:16:35 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-LnLoT8uINrNQMMwVT1saDw=='\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 05:14:39\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 698e966ca6cf75942d57ba5347d616eb\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]},{"name":"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"]}],"data":{"size":52009,"size_decoded":17381,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (17728)","md5":"562464bf4a8f598ae419d0b7861f94f9","sha1":"4b84f058a8cd17cc1f10bea49da8d5270cf87d86","sha256":"3dd2ae00c72b81580330d86298f48bee49c2b09784e53c1b3187dd1e63c92b82","sha512":"7a5b0db48496f10e02004684d8b11ee6ed035580ef8636e612441816216e331e00e3860adccf212a93ae0c2daa3e9f10e51df9d31a739a7acd594f47fd18bbea","ssdeep":"1536:DB8RteetNzfMO53tCGNogd73uWn+66ceuvRMo:DB8RteetNzfMO53tCGNlaWe4Mo","tlshash":"4633e753980a8b05dad64b057c33b103f92903ac955268947aacd8dc159ffc2f1a7bfe","first_seen":"2026-07-27T05:15:36.984657Z","last_seen":"2026-07-27T05:16:58.353742Z","times_seen":3,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5UaWNrZXIgVGFwZSBXaWRnZXQ8L3RpdGxlPgoKCTxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIiBjcm9zc29yaWdpbj4KCgk8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5NTI3LjE1YzVjMjVkMjdhNTZhMGRmNzcyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM5MDcwLjU1Y2JjN2ExZGE5NjNiMzgyOWIzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NjkwNy5jNWFmOGFhN2I1MDgyYjE4NzVhNS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjgxNi4zNTVkNzViMjFhZTRiNTM0YTg0OS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80MzMyNS4yNTZmYTVhNTIxM2I5Y2I3MGY1Yy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zOTA1LjY4MmU4OWVmMmRjNGM3MDQyM2M2LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzE1OTMyLjJhNzBkMzk3YzM0ZjJlOWRlOTRmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxNTA4Ljc2NzIxOTI4M2M2NWY0ZDRjYTZlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg0MDguZGU1MzQ2NjNlMDUyMDc1YmExMmYuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODAwOTcuMGEzY2ZkYzI4MDI4Nzk1MjJhZWMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cgo8c2NyaXB0IG5vbmNlPSJMbkxvVDh1SU5yTlFNTXdWVDFzYUR3PT0iPgoJd2luZG93LmxvY2FsZSA9ICdlbic7Cgl3aW5kb3cubGFuZ3VhZ2UgPSAnZW4nOwo8L3NjcmlwdD4KCTxzY3JpcHQgbm9uY2U9IkxuTG9UOHVJTnJOUU1Nd1ZUMXNhRHc9PSI+dmFyIGVudmlyb25tZW50ID0gImJhdHRsZSI7PC9zY3JpcHQ+CgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX3RpY2tlcl90YXBlX3dpZGdldC45NjJmNzc3YzIzYjY2MGQ4MzBhNS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNTg2NjcuZDE1ZmM0YjVjNjMxYmI1ZWNlOGQuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjU3MjkxLjcyMDgzODQyMTBmN2MzM2JjY2U0LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMzE0OC4zMmNjMDFkYzAxNzUxYjkxNjgyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwNzA2LmE1OTEzYWE2YWQ2MmQ5ZGJmMDMxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82OTM1Mi4zMzAxMWYyNDRiOTJlYTBiNjQyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjU4NjIuOTU3NjQ3NTJjMDlmM2YxOGY4OTAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDcwOC43M2QyYmNhMzcyMDdjNjdhNDFmNC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzU1Mi40YzU1MzUxODNiN2EwMzMwYTg5ZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA1OTQuZTg3NDQ0ZTI2ZjllMTI1NDUyMzEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc5MjA3LjZhNjJmYzgwM2QzZDA3ODk4OTM2LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83Mjc4LjczODc1OWVmMGFjMzM0NjkyNTNiLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8yMDA2MS44NzE1YTQ1MjUxNGQ0NWQ1ZGQzYi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODc5MjYuOGFiOWNmZWRlMTYyOTUxMDcwMTcuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX3RpY2tlcl90YXBlX3dpZGdldC45NjVjOTBkYzZkNDEzMTlmMTMyZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+PHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF90aWNrZXJfdGFwZV93aWRnZXQuOTYyZjc3N2MyM2I2NjBkODMwYTUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi41ODY2Ny5kMTVmYzRiNWM2MzFiYjVlY2U4ZC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjU3MjkxLjcyMDgzODQyMTBmN2MzM2JjY2U0LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwNzA2LmE1OTEzYWE2YWQ2MmQ5ZGJmMDMxLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjkzNTIuMzMwMTFmMjQ0YjkyZWEwYjY0MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTQ3MDguNzNkMmJjYTM3MjA3YzY3YTQxZjQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTUyLjRjNTUzNTE4M2I3YTAzMzBhODlkLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA1OTQuZTg3NDQ0ZTI2ZjllMTI1NDUyMzEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83OTIwNy42YTYyZmM4MDNkM2QwNzg5ODkzNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzcyNzguNzM4NzU5ZWYwYWMzMzQ2OTI1M2IuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8yMDA2MS44NzE1YTQ1MjUxNGQ0NWQ1ZGQzYi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg3OTI2LjhhYjljZmVkZTE2Mjk1MTA3MDE3LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfdGlja2VyX3RhcGVfd2lkZ2V0Ljk2NWM5MGRjNmQ0MTMxOWYxMzJkLmpzIiBkZWZlcj48L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJMbkxvVDh1SU5yTlFNTXdWVDFzYUR3PT0iPndpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGUgPSB7InNob3dfZmVhdHVyZWRfaXBvIjoxLjAsImJsYWNrX2ZyaWRheV9wb3B1cCI6MS4wLCJibGFja19mcmlkYXlfbWFpbnBhZ2UiOjEuMCwiYmxhY2tfZnJpZGF5X2V4dGVuZF9saW1pdGF0aW9uIjoxLjAsImVuYWJsZV90cmFkaW5nX3JlcGxheV9mb3JfcG9pbnRfaW5kZXhlcyI6MS4wLCJpbmNyZWFzZV9tZXRhaW5mb192ZXJzaW9uIjowLjMsImNoYXJ0X2F1dG9zYXZlXzVtaW4iOjEuMCwiY2hhcnRfYXV0b3NhdmVfMzBtaW4iOjEuMCwicGVyZm9ybWFuY2VfdGVzdF9tb2RlIjoxLjAsImNoZWNrX2F1dGhfdG9rZW5fZXhwaXJhdGlvbl9vbl9ldmVyeV9yZXF1ZXN0IjoxLjAsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iOjEuMCwic3VwcG9ydF9wZXJzaXN0ZW50X2xvZ3MiOjEuMCwibmV3X3N0b3JhZ2Vfc3Vic2NyaXB0aW9uX3VybCI6MS4wLCJyZW1vdmVfYW5jaG9yZWRfdGV4dCI6MS4wLCJlbmFibGVfc3RlcF9ieV9zdGVwX2hpbnRzX2Zvcl9kcmF3aW5ncyI6MS4wLCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSI6MS4wLCJhbGxvd19icmFja2V0c19wcm9maXRfbG9zcyI6MS4wLCJlbmFibGVfdHJhZGVkX2NvbnRleHRfbGlua2luZyI6MS4wLCJvcmRlcl9jb250ZXh0X3ZhbGlkYXRpb25faW5faW5zdGFudF9tb2RlIjoxLjAsImFsZXJ0cy1vbi1mdW5kYW1lbnRhbC1tZXRyaWNzIjoxLjAsImFsZXJ0cy1ub3RpZmljYXRpb24tc2NoZWR1bGUiOjEuMCwiYWxlcnRzLXdhdGNobGlzdC1leHRlbmRlZC1ob3VycyI6MS4wLCJlbmFibGVfc3ltYm9sX2NoYW5nZV9yZXN0cmljdGlvbl9vbl93aWRnZXRzIjoxLjAsImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIjoxLjAsInN5bXBob255X2FsbG93X25vbl9wYXJ0aXRpb25lZF9jb29raWVfb25fb2xkX3N5bXBob255IjoxLjAsInN5bXBob255X25vdGlmaWNhdGlvbl9iYWRnZXMiOjEuMCwic3ltcGhvbnlfdXNlX2Fka19mb3JfdXBncmFkZV9yZXF1ZXN0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3RyYWNraW5nIjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3NvZnRfbGltaXQiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfaGFyZF9saW1pdCI6MS4wLCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSI6MS4wLCJuZXdzX3N5bWJvbF9vdmVydmlld19rZXlfZmFjdHMiOjEuMCwidGltZW91dF9kamFuZ29fZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX3VzZXJzZXR0aW5nc19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fY2hhcnRzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19zeW1ib2xzX2xpc3RzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19taW5kc19kYiI6MC4wNSwidGltZW91dF9kamFuZ29fbG9nZ2luZ19kYiI6MC4yNSwiZGlzYWJsZV9zZXJ2aWNlc19tb25pdG9yX21ldHJpY3MiOjEuMCwiZW5hYmxlX3NpZ25pbl9yZWNhcHRjaGEiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWwiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWxfY29tbWVudHMiOjEuMCwiZW5hYmxlX3NwYW1kZXRlY3Rvcm1sX2NoYXQiOjEuMCwiZW5hYmxlX21pbmRzX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImJhY2tlbmQtY29ubmVjdGlvbnMtaW4tdG9rZW4iOjEuMCwib25lX2Nvbm5lY3Rpb25fd2l0aF9leGNoYW5nZXMiOjEuMCwibW9iaWxlLWFkcy1pb3MiOjEuMCwibW9iaWxlLWFkcy1hbmRyb2lkIjoxLjAsImdvb2dsZS1vbmUtdGFwLXNpZ25pbiI6MS4wLCJicmFpbnRyZWUtZ29wcm8taW4tb3JkZXItZGlhbG9nIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS1mcm9tLWlvcy1hcHAiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS10cmlhbCI6MS4wLCJ0cmlwbGVhLXBheW1lbnRzIjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5LXRyaWFsIjoxLjAsImJyYWludHJlZS1vbmUtdXNkLXZlcmlmaWNhdGlvbiI6MS4wLCJicmFpbnRyZWUtM2RzLWVuYWJsZWQiOjEuMCwiYnJhaW50cmVlLTNkcy1zdGF0dXMtY2hlY2siOjEuMCwiYnJhaW50cmVlLWFkZGl0aW9uYWwtY2FyZC1jaGVja3MtZm9yLXRyaWFsIjoxLjAsImJyYWludHJlZS1pbnN0YW50LXNldHRsZW1lbnQiOjEuMCwiYnJhaW50cmVlX3JlY3VycmluZ19iaWxsaW5nX3NjaGVkdWxlcl9zdWJzY3JpcHRpb24iOjEuMCwiY2hlY2tvdXRfbWFudWFsX2NhcHR1cmVfcmVxdWlyZWQiOjEuMCwiY2hlY2tvdXQtc3Vic2NyaXB0aW9ucyI6MS4wLCJjaGVja291dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jb21tZXJjaWFsX2NhcmRfdHJpYWwiOjEuMCwiZW5hYmxlX3BheW1lbnRzXzNkc19vcHRpbWl6YXRpb24iOjEuMCwiY291bnRyeV9vZl9pc3N1YW5jZV92c19iaWxsaW5nX2NvdW50cnkiOjEuMCwiY2hlY2tvdXRfc2hvd19pbnN0ZWFkX29mX2JyYWludHJlZSI6MS4wLCJjaGVja291dC0zZHMiOjEuMCwiY2hlY2tvdXQtcGF5cGFsIjoxLjAsImNoZWNrb3V0X2luY2x1ZGVfYWNjb3VudF9ob2xkZXIiOjEuMCwiY2hlY2tvdXQtcGF5cGFsLXRyaWFsIjoxLjAsImFubnVhbF90b19tb250aGx5X2Rvd25ncmFkZV9hdHRlbXB0IjoxLjAsInJhem9ycGF5X3RyaWFsXzEwX2luciI6MS4wLCJyYXpvcnBheS1jYXJkLW9yZGVyLXRva2VuLXNlY3Rpb24iOjEuMCwicmF6b3JwYXktY2FyZC1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXVwaS1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXMzLWludm9pY2UtdXBsb2FkIjoxLjAsInJhem9ycGF5X2luY2x1ZGVfZGF0ZV9vZl9iaXJ0aCI6MS4wLCJkbG9jYWwtcGF5bWVudHMiOjEuMCwicmV2b2x1dC1wYXktcGF5bWVudHMiOjEuMCwicmV2b2x1dC1jYXJkLXBheW1lbnRzIjowLjUsImRsb2NhbC1waXgtYXV0b21hdGljbyI6MS4wLCJicmFpbnRyZWVfdHJhbnNhY3Rpb25fc291cmNlIjoxLjAsInZlcnRleC10YXgiOjEuMCwidmVydGV4LXRheC1maXgiOjEuMCwicmVjZWlwdF9pbl9lbWFpbHMiOjEuMCwiYWR3b3Jkcy1hbmFseXRpY3MiOjEuMCwiY20zNjAtYW5hbHl0aWNzIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9pb3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2FuZHJvaWQiOjEuMCwicmVxdWlyZWRfYWdyZWVtZW50X2Zvcl9ydCI6MS4wLCJjaGVja19tYXJrZXRfZGF0YV9saW1pdHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfZGF0YSI6MS4wLCJmb3JjZV90b191cGdyYWRlX3RvX2V4cGVydCI6MS4wLCJzZW5kX3RyYWRldmFuX2ludm9pY2UiOjEuMCwic2hvd19wZXBlX2FuaW1hdGlvbiI6MS4wLCJzZW5kX25leHRfcGF5bWVudF9pbmZvX3JlY2VpcHQiOjEuMCwic3VwcG9ydF9vdmVybmlnaHRfc2Vzc2lvbiI6MS4wLCJzY3JlZW5lci1hbGVydHMtcmVhZC1vbmx5IjoxLjAsInNjcmVlbmVyX2JvbmRfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX3N0b2NrX2FpX2ZpbHRlcnNfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9pc19hbGxvd2VkX3RvX2NyZWF0ZV9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmF0aW5nX2NvbHVtbnNfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc29ydGluZ19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9ncm91cF9ieV9pc2luX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3N5bWJvbF9zZWFyY2hfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmVnaXN0cmF0aW9uX2Jhbm5lcl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2VzX3RyYWNraW5nIjoxLjAsInNlbmRfZmluYW5jaWFsX25vdGlmaWNhdGlvbnMiOjEuMCwic3BhcmtfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX2NhdGVnb3J5X3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya190YWdzX3RyYW5zbGF0aW9ucyI6MS4wLCJwcm9fcGxhbl9pbml0aWFsX3JlZnVuZHNfZGlzYWJsZWQiOjEuMCwicHJldmlvdXNfbW9ub3Byb2R1Y3RfcHVyY2hhc2VzX3JlZnVuZHNfZW5hYmxlZCI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnNfZmVlZCI6MS4wLCJmYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImV0aG9jYV9hbGVydF9ub3RpZmljYXRpb25fd2ViaG9vayI6MS4wLCJoaWRlX3N1c3BpY2lvdXNfdXNlcnNfaWRlYXMiOjEuMCwiZGlzYWJsZV9wdWJsaXNoX3N0cmF0ZWd5X3JhbmdlX2Jhc2VkX2NoYXJ0IjoxLjAsInJlc3RyaWN0X3NpbXVsdGFuZW91c19yZXF1ZXN0cyI6MS4wLCJsb2dpbl9mcm9tX25ld19kZXZpY2VfZW1haWwiOjEuMCwic3NyX3dvcmtlcl9ub3dhaXQiOjEuMCwiYnJva2VyX0ExQ0FQSVRBTCI6MS4wLCJicm9rZXJfQUNUSVZUUkFERVMiOjEuMCwiYnJva2VyX0FMQ0hFTVlNQVJLRVRTIjoxLjAsImJyb2tlcl9BTElDRUJMVUUiOjEuMCwiaGlkZV9BTE9SX29uX2lvcyI6MS4wLCJoaWRlX0FMT1Jfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0FMT1Jfb25fbW9iaWxlX3dlYiI6MS4wLCJhbG9yLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfQUxQQUNBIjoxLjAsImJyb2tlcl9BTFJBTVoiOjEuMCwiYnJva2VyX0FNUCI6MS4wLCJicm9rZXJfQU5HRUxPTkUiOjEuMCwiYnJva2VyX0FWQV9GVVRVUkVTIjoxLjAsIkFWQV9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0IyUFJJTUUiOjEuMCwiYnJva2VyX0JBSkFKIjoxLjAsImJyb2tlcl9CRVlPTkQiOjEuMCwiYnJva2VyX0JJTkFOQ0UiOjEuMCwiZW5hYmxlX2JpbmFuY2VhcGlzX2Jhc2VfdXJsIjoxLjAsImJyb2tlcl9CSU5HQk9OIjoxLjAsImJyb2tlcl9CSVRBWlpBIjoxLjAsImJyb2tlcl9CSVRHRVQiOjEuMCwiYnJva2VyX0JJVE1FWCI6MS4wLCJicm9rZXJfQklUU1RBTVAiOjEuMCwiYnJva2VyX0JMQUNLQlVMTCI6MS4wLCJicm9rZXJfQkxVRUJFUlJZTUFSS0VUUyI6MS4wLCJicm9rZXJfQlRDQyI6MS4wLCJicm9rZXJfQllCSVQiOjEuMCwiYnJva2VyX0NBUElUQUxDT00iOjEuMCwiYnJva2VyX0NBUFRSQURFUiI6MS4wLCJDQVBUUkFERVJfc2VwYXJhdGVfaW50ZWdyYXRpb25fbWlncmF0aW9uX3dhcm5pbmciOjEuMCwiYnJva2VyX0NGSSI6MS4wLCJicm9rZXJfQ0dTSSI6MS4wLCJicm9rZXJfQ0lUWUlOREVYIjoxLjAsImNpdHlpbmRleF9zcHJlYWRiZXR0aW5nIjoxLjAsIkNMRUFSU1RSRUVUX2JldGEiOjEuMCwiYnJva2VyX0NNQ01BUktFVFMiOjEuMCwiYnJva2VyX0NPQlJBVFJBRElORyI6MS4wLCJicm9rZXJfQ09JTkJBU0UiOjEuMCwiY29pbmJhc2VfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImNvaW5iYXNlX2NhbmNlbF9wb3NpdGlvbl9icmFja2V0cyI6MS4wLCJicm9rZXJfQ09JTkpBUiI6MS4wLCJDT0lOSkFSX2JldGEiOjEuMCwiYnJva2VyX0NPSU5TV0lUQ0giOjEuMCwiYnJva2VyX0NPSU5XIjoxLjAsImJyb2tlcl9DT0xNRVgiOjEuMCwiaGlkZV9DUUdfb25faW9zIjoxLjAsImhpZGVfQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJjcWctcmVhbHRpbWUtYmFuZHdpZHRoLWxpbWl0IjoxLjAsImJyb2tlcl9DUllQVE9DT00iOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9pb3MiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfQ1hNIjoxLjAsImJyb2tlcl9EQU9MIjoxLjAsImJyb2tlcl9EQVJXSU5FWCI6MS4wLCJEQVJXSU5FWF9iZXRhIjoxLjAsImJyb2tlcl9ERUxUQSI6MS4wLCJicm9rZXJfREVSQVlBSCI6MS4wLCJicm9rZXJfREVSSVYiOjEuMCwiYnJva2VyX0RIQU4iOjEuMCwiYnJva2VyX0ROU0UiOjEuMCwiYnJva2VyX0RPUk1BTiI6MS4wLCJoaWRlX0RVTU1ZX29uX2lvcyI6MS4wLCJoaWRlX0RVTU1ZX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9EVU1NWV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9FQVNZTUFSS0VUUyI6MS4wLCJicm9rZXJfRUNPVkFMT1JFUyI6MS4wLCJicm9rZXJfRURHRUNMRUFSIjoxLjAsImVkZ2VjbGVhcl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9FSUdIVENBUCI6MS4wLCJicm9rZXJfRVJSQU5URSI6MS4wLCJicm9rZXJfRVNBRlgiOjEuMCwiRklERUxJVFlfYmV0YSI6MS4wLCJGSURFTElUWV91c19yZWxlYXNlIjowLjI1LCJmaWRlbGl0eV9zZWN1cml0eV90b2tlbiI6MS4wLCJicm9rZXJfRk9SRVhDT00iOjEuMCwiZm9yZXhjb21fc2Vzc2lvbl92MiI6MS4wLCJicm9rZXJfRlBNQVJLRVRTIjoxLjAsImhpZGVfRlRYX29uX2lvcyI6MS4wLCJoaWRlX0ZUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlRYX29uX21vYmlsZV93ZWIiOjEuMCwiZnR4X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlVTSU9OTUFSS0VUUyI6MS4wLCJmeGNtX3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZYQ00iOjEuMCwiaGlkZV9GWE9QRU5fb25faW9zIjoxLjAsImhpZGVfRlhPUEVOX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GWE9QRU5fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRlhQUk8iOjEuMCwiYnJva2VyX0ZYVEYiOjEuMCwiYnJva2VyX0ZZRVJTIjoxLjAsImJyb2tlcl9HQVRFIjoxLjAsImJyb2tlcl9HQkVCUk9LRVJTIjoxLjAsImdlbWluaS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dFTklBTElOVkVTVElNRU5UT1MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9pb3MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fbW9iaWxlX3dlYiI6MS4wLCJnbG9iYWxwcmltZS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dPTUFSS0VUUyI6MS4wLCJicm9rZXJfR09UUkFERSI6MS4wLCJnb3RyYWRlX2VuYWJsZV9zdHJlYW1pbmdfZW5kcG9pbnRzIjoxLjAsImJyb2tlcl9IRVJFTllBIjoxLjAsImhpZGVfSFRYX29uX2lvcyI6MS4wLCJoaWRlX0hUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfSFRYX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0lCS1IiOjEuMCwiY2hlY2tfaWJrcl9zaWRlX21haW50ZW5hbmNlIjoxLjAsImlia3JfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3JfcGFyYWxsZWxfcHJvdmlkZXJfaW5pdGlhbGl6YXRpb24iOjEuMCwiaWJrcl93c19hY2NvdW50X3N1bW1hcnkiOjEuMCwiaWJrcl93c19zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3Jfc3Vic2NyaWJlX3RvX29yZGVyX3VwZGF0ZXNfZmlyc3QiOjEuMCwiaWJrcl93c19hY2NvdW50X2xlZGdlciI6MS4wLCJicm9rZXJfSUJST0tFUiI6MS4wLCJicm9rZXJfSUNNQVJLRVRTIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfQVNJQyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0VVIjoxLjAsImJyb2tlcl9JRyI6MS4wLCJicm9rZXJfSU5EU1RPQ0tTIjoxLjAsImJyb2tlcl9JTkZPWUFUSVJJTSI6MS4wLCJicm9rZXJfSU5OT1ZFU1RYIjoxLjAsImJyb2tlcl9JTlRFUkFDVElWRUlMIjoxLjAsImJyb2tlcl9JTlZFU1RSQURFIjoxLjAsIklOVkVTVFJBREVfYmV0YSI6MS4wLCJicm9rZXJfSVJPTkJFQU0iOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25faW9zIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS0lXT09NIjoxLjAsImtpd29vbV91c2Vfc2VwYXJhdGVfc3RyZWFtaW5nX3VybCI6MS4wLCJicm9rZXJfS09UQUsiOjEuMCwiaGlkZV9LT1RBS19vbl9pb3MiOjEuMCwiaGlkZV9LT1RBS19vbl9hbmRyb2lkIjoxLjAsImhpZGVfS09UQUtfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS1JBS0VOIjoxLjAsImhpZGVfS1JBS0VOX29uX2lvcyI6MS4wLCJoaWRlX0tSQUtFTl9vbl9hbmRyb2lkIjoxLjAsIktSQUtFTl9iZXRhIjoxLjAsImtyYWtlbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0tTRUNVUklUSUVTIjoxLjAsImJyb2tlcl9MSUJFUkFUT1IiOjEuMCwiYnJva2VyX01FWEMiOjEuMCwiYnJva2VyX01FWEVNIjoxLjAsImJyb2tlcl9NSURBUyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfTU9PTU9PIjoxLjAsImJyb2tlcl9NT1RJTEFMT1NXQUwiOjEuMCwiYnJva2VyX05JTkpBVFJBREVSIjoxLjAsImJyb2tlcl9PQU5EQSI6MS4wLCJvYW5kYV9zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJvYW5kYV9vYXV0aF9tdWx0aXBsZXhpbmciOjEuMCwiYnJva2VyX09LWCI6MS4wLCJicm9rZXJfT1BPRklOQU5DRSI6MS4wLCJicm9rZXJfT1BUSU1VUyI6MS4wLCJicm9rZXJfT1NNQU5MSSI6MS4wLCJicm9rZXJfT1NNQU5MSUZYIjoxLjAsInBhcGVyX2ZvcmNlX2Nvbm5lY3RfcHVzaHN0cmVhbSI6MS4wLCJwYXBlcl9zdWJhY2NvdW50X2N1c3RvbV9jdXJyZW5jeSI6MS4wLCJwYXBlcl9vdXRzaWRlX3J0aCI6MS4wLCJicm9rZXJfUEFZVE0iOjEuMCwiYnJva2VyX1BFUFBFUlNUT05FIjoxLjAsImJyb2tlcl9QSEVNRVgiOjEuMCwiYnJva2VyX1BISUxMSVBDQVBJVEFMX1RSIjoxLjAsImJyb2tlcl9QSElMTElQTk9WQSI6MS4wLCJicm9rZXJfUExVUzUwMCI6MS4wLCJwbHVzNTAwX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiUExVUzUwMFVTX2JldGEiOjEuMCwiYnJva2VyX1BVUlBMRVRSQURJTkciOjEuMCwiYnJva2VyX1FVRVNUUkFERSI6MS4wLCJicm9rZXJfUkFWQUJVUlNBVElMIjoxLjAsIlJBVkFCVVJTQVRJTF9iZXRhIjoxLjAsImJyb2tlcl9SSVlBRENBUElUQUwiOjEuMCwiYnJva2VyX1JPQk9NQVJLRVRTIjoxLjAsImJyb2tlcl9SRVBMQVlCUk9LRVIiOjEuMCwiYnJva2VyX1NBTVVFTCI6MS4wLCJicm9rZXJfU0FYT0JBTksiOjEuMCwiYnJva2VyX1NIQVJFTUFSS0VUIjoxLjAsImJyb2tlcl9TS0lMTElORyI6MS4wLCJicm9rZXJfU1BSRUFERVgiOjEuMCwiYnJva2VyX1NXSVNTUVVPVEUiOjEuMCwiYnJva2VyX1NUT05FWCI6MS4wLCJicm9rZXJfVEFTVFlGWCI6MS4wLCJicm9rZXJfVEFTVFlUUkFERSI6MS4wLCJicm9rZXJfVEhJTktNQVJLRVRTIjoxLjAsInRoaW5rbWFya2V0c19hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsImJyb2tlcl9USUNLTUlMTCI6MS4wLCJoaWRlX1RJR0VSX29uX2lvcyI6MS4wLCJoaWRlX1RJR0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9USUdFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9UUkFERU5BVElPTiI6MS4wLCJicm9rZXJfVFJBREVTVEFUSU9OIjoxLjAsInRyYWRlc3RhdGlvbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwidHJhZGVzdGF0aW9uX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwidHJhZGVzdGF0aW9uX3N0cmVhbWluZ19zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJicm9rZXJfVFJBREVaRVJPIjoxLjAsImJyb2tlcl9UUkFESUVSIjoxLjAsImJyb2tlcl9UUkFESUVSX0ZVVFVSRVMiOjEuMCwidHJhZGllcl9mdXR1cmVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1RSQURPVkFURSI6MS4wLCJoaWRlX1RSQURVX29uX2lvcyI6MS4wLCJoaWRlX1RSQURVX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9UUkFEVV9vbl9tb2JpbGVfd2ViIjoxLjAsInRyYWR1X3NwcmVhZF9iZXQiOjEuMCwiYnJva2VyX1RSSVZFIjoxLjAsImJyb2tlcl9WQU5UQUdFIjoxLjAsImJyb2tlcl9WRUxPQ0lUWSI6MS4wLCJicm9rZXJfV0VCVUxMIjoxLjAsImJyb2tlcl9XRUJVTExKQVBBTiI6MS4wLCJicm9rZXJfV0VCVUxMUEFZIjoxLjAsImJyb2tlcl9XRUJVTExVSyI6MS4wLCJicm9rZXJfV0hJVEVCSVQiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUX0ZVVFVSRVMiOjEuMCwiV0hTRUxGSU5WRVNUX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfWENVQkUiOjEuMCwiYnJva2VyX1lMRyI6MS4wLCJicm9rZXJfaWRfc2Vzc2lvbiI6MS4wLCJkaXNhbGxvd19jb25jdXJyZW50X3Nlc3Npb25zIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXIiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlcl9mb3JfdW50ZXN0ZWRfYnJva2VycyI6MS4wLCJtb2JpbGVfdHJhZGluZ193ZWIiOjEuMCwibW9iaWxlX3RyYWRpbmdfaW9zIjoxLjAsIm1vYmlsZV90cmFkaW5nX2FuZHJvaWQiOjEuMCwiY29udGludW91c19mcm9udF9jb250cmFjdF90cmFkaW5nIjoxLjAsInRyYWRpbmdfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3RfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9hdXRoMl9jb2RlX2Zsb3dfcHJvdmlkZXJfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X29hdXRoMl9jb2RlX2Zsb3dfbXVsdGlwbGV4aW5nIjoxLjAsInJlc3RfbG9nb3V0X29uXzQyOSI6MS4wLCJyZXZpZXdfcG9wdXBfb25fY2hhcnQiOjEuMCwic2hvd19jb25jdXJyZW50X2Nvbm5lY3Rpb25fd2FybmluZyI6MS4wLCJlbmFibGVfdHJhZGluZ19zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9yZGVyX3ByZXNldHMiOjEuMCwib3JkZXJfdGlja2V0X3Jlc2l6YWJsZV9kcmF3ZXJfb24iOjEuMCwicmVzdF91c2VfYXN5bmNfbWFwcGVyIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2Jhbm5lcl9zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZ19zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9sZWFkZXJib2FyZCI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9wcmV2aW91c19jb21wZXRpdGlvbnMiOjEuMCwiYW1wX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYmx1ZWxpbmVfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJkb3JtYW5fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJpcm9uYmVhbV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIm9wdGltdXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJzdG9uZXhfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ5bGdfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ0cmFkaW5nX2dlbmVyYWxfZXZlbnRzX2dhX3RyYWNraW5nIjoxLjAsInJlcGxheV9yZXN1bHRfc2hhcmluZyI6MS4wLCJyZXBsYXlfdHJhZGluZ19icmFja2V0cyI6MS4wLCJoaWRlX2FsbF9icm9rZXJzX2J1dHRvbl9pbl9pb3NfYXBwIjoxLjAsImZvcmNlX21heF9hbGxvd2VkX3B1bGxpbmdfaW50ZXJ2YWxzIjoxLjAsInBhcGVyX2RlbGF5X3RyYWRpbmciOjEuMCwiZW5hYmxlX2ZpcnN0X3RvdWNoX2lzX3NlbGVjdGlvbiI6MS4wLCJjbGVhcl9wcm9qZWN0X29yZGVyX29uX29yZGVyX3RpY2tldF9jbG9zZSI6MS4wLCJlbmFibGVfbmV3X2JlaGF2aW9yX29mX2NvbmZpcm1fYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwicmVuZXdfdG9rZW5fcHJlZW1wdGlvbl8zMCI6MS4wLCJkb19ub3Rfb3Blbl9vdF9mcm9tX3BsdXNfYnV0dG9uIjoxLjAsImJyb2tlcl9zaWRlX3Byb21vdGlvbiI6MS4wLCJlbmFibGVfbmV3X3RyYWRpbmdfbWVudV9zdHJ1Y3R1cmUiOjEuMCwicXVpY2tfdHJhZGluZ19wYW5lbCI6MS4wLCJwYXBlcl9vcmRlcl9jb25maXJtYXRpb25fZGlhbG9nIjoxLjAsInBhcGVyX211bHRpcGxlX2xldmVsc19lbmFibGVkIjoxLjAsInBhcGVyX21hcmdpbl9jb250cm9sIjoxLjAsImVuYWJsZV9zZWdtZW50YXRpb25fcGFwZXJfdHJhZGluZyI6MS4wLCJlbmFibGVfY2hhcnRfYWRhcHRpdmVfdHBzbF9idXR0b25zX29uX21vYmlsZSI6MS4wLCJlbmFibGVfbWFya2V0X3Byb2plY3Rfb3JkZXIiOjEuMCwiZW5hYmxlX3N5bWJvbHNfcG9wdWxhcml0eV9zaG93aW5nIjoxLjAsImVuYWJsZV90cmFuc2xhdGlvbnNfczNfdXBsb2FkIjoxLjAsImV0Zl9mdW5kX2Zsb3dzX29ubHlfZGF5c19yZXNvbHV0aW9ucyI6MS4wLCJkaXNhYmxlX3Nub3dwbG93X3BsYXRmb3JtX2V2ZW50cyI6MS4wLCJub3RpZnlfaWRlYV9tb2RzX2Fib3V0X2ZpcnN0X3B1YmxpY2F0aW9uIjoxLjAsImVuYWJsZV93YWZfdHJhY2tpbmciOjEuMCwibmV3X2Vycm9yc19mbG93IjoxLjAsInF1b3RlLXRva2VuLWZpbHRlci1vd24tc2NyaXB0cy1ieS1hY2Nlc3MiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3NlYXJjaF9zdGF0ZSI6MS4wLCJrZWVwX2luZGljYXRvcnNfdGFiX3Njcm9sbF9zdGF0ZSI6MS4wLCJjb25maWd1cmFibGVfc2VhcmNoX2FuZF9maWx0cmF0aW9uIjoxLjAsInBpbmVfZWRpdG9yX3dyYXBfb25fbGluZV9zcGxpdCI6MS4wLCJzeW1ib2xfc2VhcmNoX2NvdW50cnlfc291cmNlcyI6MS4wLCJ3YXRjaGxpc3RzX2RpYWxvZ19zY3JvbGxfdG9fYWN0aXZlIjoxLjAsImJvdHRvbV9wYW5lbF90cmFja19ldmVudHMiOjEuMCwic25vd3Bsb3dfYmVhY29uX2ZlYXR1cmUiOjEuMCwic2hvd19kYXRhX3Byb2JsZW1zX2luX2hlbHBfY2VudGVyIjoxLjAsImVuYWJsZV9hcHBsZV9kZXZpY2VfY2hlY2siOjEuMCwiZW5hYmxlX2FwcGxlX2ludHJvX29mZmVyX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fb2ZmZXJfc2lnbmF0dXJlX3YyIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19zaWduYXR1cmUiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19hbmRyb2lkIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfaW9zIjoxLjAsImVuYWJsZV9tYW50aWNvcmVfY2x1c3RlciI6MS4wLCJlbmFibGVfcHVzaHN0cmVhbV9hdXRoIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eSI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfcGFwZXJ0cmFkaW5nIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9zY3JlZW5lciI6MS4wLCJvcHRpb25zX3JlZHVjZV9wb2xsaW5nX2ludGVydmFsIjoxLjAsIm9wdGlvbnNfYnVpbGRlcl9ncm91cF9hY3Rpb25zIjoxLjAsIm9wdGlvbnNfY2hhaW5fc2lnbWFfZmlsdGVyIjoxLjAsIm9wdGlvbnNfYnJva2VyX3N0cmF0ZWdpZXMiOjEuMCwic2hvd190b2FzdF9hYm91dF91bnJlYWRfbWVzc2FnZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wYXlvdXQiOjEuMCwiZW5hYmxlX2VtYWlsX2NoYW5nZV9sb2dnaW5nIjoxLjAsImVuYWJsZV9lbWFpbF9vbl9wYXJ0bmVyX3N0YXR1c19jaGFuZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbV9hcHBseSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtIjoxLjAsImNvbXByZXNzX2NhY2hlX2RhdGEiOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nIjoxLjAsIm5ld3Nfc2NyZWVuZXJfcGFnZV9jbGllbnQiOjEuMCwiZW5hYmxlX2RlY2xhcmF0aW9uX3BvcHVwX29uX2xvYWQiOjEuMCwic2hvd19kYXRhX2JvbmRzX2ZyZWVfdXNlcnMiOjEuMCwiZW5hYmxlX21vZGVybl9yZW5kZXJfbW9kZSI6MS4wLCJlbmFibGVfcHJvZl9wb3B1cF9mcmVlIjoxLjAsImlvc19hcHBfbmV3c19hbmRfbWluZHMiOjEuMCwiZG9fbm90X2Rpc2Nsb3NlX3Bob25lX29jY3VwYW5jeSI6MS4wLCJlbmFibGVfcmVkaXJlY3RfdG9fd2lkZ2V0X2RvY3VtZW50YXRpb25fb2ZfYW55X2xvY2FsaXphdGlvbiI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfaGliZXJuYXRpb24iOjEuMCwibmV3c19zdHJlYW1pbmdfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iOjEuMCwicGFzc19yZWNvdmVyeV9zZWFyY2hfaGlkZV9pbmZvIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19vbl9zY3JlZW5lciI6MS4wLCJlbmFibGVfZm9yY2VkX2VtYWlsX2NvbmZpcm1hdGlvbiI6MS4wLCJzaG93X2dpZnRfYnV0dG9uIjoxLjAsImFkZHJlc3NfdmFsaWRhdGlvbl9lbmFibGVkIjoxLjAsImRpc2FibGVfdW52ZXJpZmllZF9hZGRyZXNzIjoxLjAsImdlbmVyYXRlX2ludm9pY2VfbnVtYmVyX2J5X2NvdW50cnkiOjEuMCwic2hvd19mYXZvcml0ZV9sYXlvdXRzIjoxLjAsImVuYWJsZV9zb2NpYWxfYXV0aF9jb25maXJtYXRpb24iOjEuMCwiZW5hYmxlX2FkX2Jsb2NrX2RldGVjdCI6MS4wLCJ0dmRfbmV3X3RhYl9saW5raW5nIjoxLjAsInR2ZF90aW1lX2FuZF9kYXRlX3JhbmdlX2xpbmtpbmciOjEuMCwidXNlX2Jyb3dzZXJfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ3cm9uZ19hY2NvdW50X2RpYWxvZ19wcmltYXJ5X3N3aXRjaCI6MS4wLCJlbmFibGVfbGluZ3VhX2xhbmdfY2hlY2siOjEuMCwiZ2V0X3NhdmVkX2FjdGl2ZV9saXN0X2JlZm9yZV9nZXR0aW5nX2FsbF9saXN0cyI6MS4wLCJ3YXRjaGxpc3RfYWRkX3NvdXJjZV9wYXJhbSI6MS4wLCJzaG93X3JlZmVycmFsX25vdGlmaWNhdGlvbl9kaWFsb2ciOjEuMCwic2V0X25ld19ibGFja19jb2xvciI6MS4wLCJuZXdzX3VzZV9uZXdzX21lZGlhdG9yIjoxLjAsImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIjoxLjAsInJlc3RyaWN0X3B3bmVkX3Bhc3N3b3JkX3NldCI6MS4wLCJub3RpZl9zZXR0aW5nc19lbmFibGVfbmV3X3N0b3JlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3dyaXRlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3JlYWQiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGsiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGstZm9yLWluaXRpYWwtcHVyY2hhc2UiOjEuMCwiZW5hYmxlX21ldGFkZWZlbmRlcl9jaGVja19mb3JfYWdyZWVtZW50IjoxLjAsInNob3dfZG93bmxvYWRfeWllbGRfY3VydmVzX2RhdGEiOjEuMCwibW92ZV9rZXlfdGVub3JzX3RvX3NldHRpbmdzIjoxLjAsInNob3dfeWllbGRfY3VydmVzX21hcCI6MS4wLCJkaXNhYmxlX3dpZGdldGJhcl9pbl9hcHBzIjoxLjAsImhpZGVfcHVibGljYXRpb25zX29mX2Jhbm5lZF91c2VycyI6MS4wLCJlbmFibGVfc3VtbWFyeV91cGRhdGVzX2Zyb21fY2hhcnRfc2Vzc2lvbiI6MS4wLCJzaG93X25ld3NfZmxvd190b29sX3JpZ2h0X2JhciI6MS4wLCJlbmFibGVfY2hhcnRfc2F2aW5nX3N0YXRzIjoxLjAsImVuYWJsZV9zYXZpbmdfc2FtZV9jaGFydF9yYXRlX2xpbWl0IjoxLjAsIm5ld3NfYWxlcnRzX2VuYWJsZWQiOjEuMCwibmV3c19tdWx0aXBsZV9hbGVydHNfZW5hYmxlZCI6MS4wLCJyZWZ1bmRfdW52b2lkYWJsZV9jb3Vwb25zX2VuYWJsZWQiOjEuMCwiZW5hYmxlX3Nub3dwbG93X2VtYWlsX3RyYWNraW5nIjoxLjAsIm5ld3NfZW5hYmxlX3NlbnRpbWVudCI6MS4wLCJ1c2VfaW5fc3ltYm9sX3NlYXJjaF9vcHRpb25zX21jeF9leGNoYW5nZSI6MS4wLCJlbmFibGVfdXNlcnNldHRpbmdzX3N5bWJvbHNfcGVyX3Jvd19zb2Z0X2xpbWl0IjowLjEsImZvcmJpZF9sb2dpbl93aXRoX3B3bmVkX3Bhc3N3b3JkcyI6MS4wLCJkZWJ1Z19nZXRfdGVzdF9iYXJzX2RhdGEiOjEuMCwibmV3c191c2VfbWVkaWF0b3Jfc3RvcnkiOjEuMCwibmV3c19mbG93X3JlY29uZmlndXJlX2ZpbHRlcnMiOjEuMCwiYmxhY2tfZnJpZGF5X2VuYWJsZV9za2lwX3RvX3BheW1lbnQiOjEuMCwiaGlkZV90cmFkaW5nX2J1dHRvbl9vbl9ib3R0b21fcGFuZWxfYW5kX3JlcGxheV90YWIiOjEuMCwiaGlkZV90cmFkZV9idXR0b25faGludF9pbl9oZWFkZXJfdG9vbGJhciI6MS4wLCJoaWRlX3NlZV9vbl9zdXBlcl9jaGFydHNfYnV0dG9uIjoxLjAsImhpZGVfc3ltYm9sX3BhZ2VfY2hhcnRfdHlwZV9zd2l0Y2hlciI6MS4wLCJkaXNhYmxlX2NoYXRfc3BhbV9wcm90ZWN0aW9uX2Zvcl9wcmVtaXVtX3VzZXJzIjoxLjAsImRpc2FibGVfcHVibGljX3BpbmVfc2NyaXB0X3B1Ymxpc2hfbGltaXRzIjoxLjAsIm1ha2VfdHJhZGluZ19wYW5lbF9jb250ZXh0dWFsX3RhYiI6MS4wLCJyZWNvbm5lY3RfZ2Fpbl9zZXNzaW9uX29uX2xzX2Vycm9yIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5bWVudHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfa3ljIjoxLjAsImluZGlhX2V4Y2x1ZGVfYnJhaW50cmVlX3RhYiI6MS4wLCJtYWNyb19tYXBzX2hpZGVfdG9vbHRpcF9jaGFydF9idXR0b24iOjEuMCwiZm9yY2Vfa3ljX2Zvcl9ub25wcm9fcHVyY2hhc2VfYnlfY29tbWVyY2lhbCI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX2Z1bGxzY3JlZW5fYnV0dG9uIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfbW92ZV9idXR0b25fdG9fdGl0bGUiOjEuMCwib3JkZXJfcHJlc2V0c19jcnVkX3N0b3JhZ2UiOjEuMCwib3JkZXJfcHJlc2V0c19yZW1vdmVfZnJvbV90dl9zZXR0aW5ncyI6MS4wLCJjaGVja291dC1mbG93LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwiOjEuMCwiZm9yYmlkX3NpZ251cF93aXRoX2Zha2VfZ21haWxfZG9tYWlucyI6MS4wLCJzaG93X2ltcG9ydF9mcm9tX3BhcGVyX3RyYWRpbmdfYnV0dG9uIjoxLjAsInN5bWJvbF9zZWFyY2hfZ3JvdXBpbmciOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbC10cmlhbCI6MS4wLCJ2b2lkX25vdF9mb3VuZF9ja29fcGF5bWVudF9pbl9hcHByb3ZlZF93ZWJob29rIjoxLjAsInNob3dfcGFuZWxfY29sbGFwc2VfYnV0dG9uIjoxLjAsImRlbGF5X3N0YXR1c19vbl9sYXN0X2JhciI6MC4zfTsKd2luZG93LmluaXREYXRhID0ge307CgkJd2luZG93LlMzX0xPR09fU0VSVklDRV9CQVNFX1VSTCA9ICJodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8iOwoKd2luZG93LmluaXREYXRhID0geyJ3aWRnZXREZWZhdWx0cyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwiZGlzcGxheU1vZGUiOiJhZGFwdGl2ZSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZSwic3ltYm9scyI6W3sicHJvTmFtZSI6IkZPUkVYQ09NOlNQWFVTRCIsInRpdGxlIjoiUyZQIDUwMCBJbmRleCJ9LHsicHJvTmFtZSI6IkZPUkVYQ09NOk5TWFVTRCIsInRpdGxlIjoiVVMgMTAwIENhc2ggQ0ZEIn0seyJwcm9OYW1lIjoiRlhfSURDOkVVUlVTRCIsInRpdGxlIjoiRVVSIHRvIFVTRCJ9LHsicHJvTmFtZSI6IkJJVFNUQU1QOkJUQ1VTRCIsInRpdGxlIjoiQml0Y29pbiJ9LHsicHJvTmFtZSI6IkJJVFNUQU1QOkVUSFVTRCIsInRpdGxlIjoiRXRoZXJldW0ifV0sImNvbG9yVGhlbWUiOiJsaWdodCIsImxvY2FsZSI6ImVuIn19OwoJCXdpbmRvdy5pbml0RGF0YS5jdXJyZW50TG9jYWxlSW5mbyA9IHsibGFuZ3VhZ2UiOiJlbiIsImxhbmd1YWdlX25hbWUiOiJFbmdsaXNoIiwiZmxhZyI6InVzIiwiZ2VvaXBfY29kZSI6InVzIiwiaXNvIjoiZW4iLCJpc29fNjM5XzMiOiJlbmciLCJnbG9iYWxfbmFtZSI6IkVuZ2xpc2giLCJpc19vbmx5X3JlY29tbWVuZGVkX3R3X2F1dG9yZXBvc3QiOnRydWV9OwoJCXdpbmRvdy5pbml0RGF0YS5zZXR0aW5ncyA9IHsnUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLycsICdTM19ORVdTX0lNQUdFX1NFUlZJQ0VfQkFTRV9VUkwnOiAnaHR0cHM6Ly9zMy50cmFkaW5ndmlldy5jb20vbmV3cy8nLCAnV0VCUEFDS19TVEFUSUNfUEFUSCc6ICdodHRwczovL3N0YXRpYy50cmFkaW5ndmlldy5jb20vc3RhdGljL2J1bmRsZXMvJywgJ1RSQURJTkdfVVJMUyc6IHsnZnJlZSc6ICdodHRwczovL3BhcGVydHJhZGluZy1mcmVlLnRyYWRpbmd2aWV3LmNvbScsICdwcm8nOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmcudHJhZGluZ3ZpZXcuY29tJ30sICdDT05URVNUU19VUkwnOiAnL3BhcGVyLXRyYWRpbmcnLCAnQ1JVRF9TVE9SQUdFX1VSTCc6ICdodHRwczovL2NydWQtc3RvcmFnZS50cmFkaW5ndmlldy5jb20nfTs8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJMbkxvVDh1SU5yTlFNTXdWVDFzYUR3PT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBlPXt3aGl0ZWxhYmVsOiEwLHBlcm1pc3Npb25PdmVycmlkZXM6ITAsbGlua0NhcHR1cmluZ0FsbG93ZWQ6ITAsc3ltYm9sX3NlYXJjaF9kZWZhdWx0X2V4Y2hhbmdlOiEwLHN5bWJvbF9zZWFyY2hfYWxsb3dlZF9leGNoYW5nZXM6ITB9O2NvbnN0IHQ9d2luZG93O3QuaW5pdERhdGE9dC5pbml0RGF0YXx8e307Y29uc3QgYT0vXCsvZyxuPS88XC8/W14+XSsoPnwkKS9nLHM9ZT0+ZGVjb2RlVVJJQ29tcG9uZW50KGUucmVwbGFjZShhLCIgIikpLnJlcGxhY2UobiwiIiksbz10LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSksYz0vKFteJj1dKyk9PyhbXiZdKikvZyxpPXt9O2xldCBsLHI9Yy5leGVjKG8pO2Zvcig7bnVsbCE9PXI7KWlbcyhyWzFdKV09cyhyWzJdKSxyPWMuZXhlYyhvKTt0cnl7bD1KU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudCh0LmxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpKSksIm9iamVjdCI9PXR5cGVvZiBsJiZudWxsIT09bHx8KGw9e30pfWNhdGNoKGUpe2w9e319dmFyIGg7dC5pbml0RGF0YS5xdWVyeVNldHRpbmdzPWksdC5pbml0RGF0YS5oYXNoU2V0dGluZ3M9KGg9bCxPYmplY3Qua2V5cyhoKS5mb3JFYWNoKCh0PT57ZVt0XSYmZGVsZXRlIGhbdF19KSksaCl9KSgpOwoJPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0iTG5Mb1Q4dUlOck5RTU13VlQxc2FEdz09Ij53aW5kb3cuU1NfSE9TVCA9ICJzeW1ib2wtc2VhcmNoLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LldJREdFVF9TSEVSSUZGX0hPU1QgPSAiaHR0cHM6Ly93aWRnZXQtc2hlcmlmZi50cmFkaW5ndmlldy13aWRnZXQuY29tIjsKCQl3aW5kb3cuaXNfYXV0aGVudGljYXRlZCA9IGZhbHNlOwoKCgkJd2luZG93LmxvY2FsZV9kb21haW5zID0geyJlbiI6Ind3dy50cmFkaW5ndmlldy5jb20iLCJhcl9BRSI6ImFyLnRyYWRpbmd2aWV3LmNvbSIsImJyIjoiYnIudHJhZGluZ3ZpZXcuY29tIiwiZGVfREUiOiJkZS50cmFkaW5ndmlldy5jb20iLCJlcyI6ImVzLnRyYWRpbmd2aWV3LmNvbSIsImZyIjoiZnIudHJhZGluZ3ZpZXcuY29tIiwiaGVfSUwiOiJpbC50cmFkaW5ndmlldy5jb20iLCJpZCI6ImlkLnRyYWRpbmd2aWV3LmNvbSIsImluIjoiaW4udHJhZGluZ3ZpZXcuY29tIiwiaXQiOiJpdC50cmFkaW5ndmlldy5jb20iLCJqYSI6ImpwLnRyYWRpbmd2aWV3LmNvbSIsImtyIjoia3IudHJhZGluZ3ZpZXcuY29tIiwibXNfTVkiOiJteS50cmFkaW5ndmlldy5jb20iLCJwbCI6InBsLnRyYWRpbmd2aWV3LmNvbSIsInJ1IjoicnUudHJhZGluZ3ZpZXcuY29tIiwidGhfVEgiOiJ0aC50cmFkaW5ndmlldy5jb20iLCJ0ciI6InRyLnRyYWRpbmd2aWV3LmNvbSIsInZpX1ZOIjoidm4udHJhZGluZ3ZpZXcuY29tIiwiemhfQ04iOiJjbi50cmFkaW5ndmlldy5jb20iLCJ6aF9UVyI6InR3LnRyYWRpbmd2aWV3LmNvbSIsImNhX0VTIjoiZXMudHJhZGluZ3ZpZXcuY29tIn07CgoJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzID0gd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyB8fCBbXTsKCQkJCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMucHVzaCgnd2lkZ2V0Jyk7CgoJCXdpbmRvdy5UcmFkaW5nVmlldyA9IHdpbmRvdy5UcmFkaW5nVmlldyB8fCB7fTsKPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0iTG5Mb1Q4dUlOck5RTU13VlQxc2FEdz09Ij52YXIgZW52aXJvbm1lbnQgPSAiYmF0dGxlIjsKCQl3aW5kb3cuQlVJTERfVElNRSA9ICIyMDI2LTA3LTI0VDExOjQwOjA4IjsKCQl3aW5kb3cuV0VCU09DS0VUX0hPU1QgPSAid2lkZ2V0ZGF0YS50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XRUJTT0NLRVRfSE9TVF9GT1JfUkVDT05ORUNUID0gIndpZGdldGRhdGEtYmFja3VwLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LnVzZXIgPSB7J3VzZXJuYW1lJzogJ0d1ZXN0JywgJ2ZvbGxvd2luZyc6ICcwJywgJ2ZvbGxvd2Vycyc6ICcwJywgJ2lnbm9yZV9saXN0Jzoge30sICdkb19ub3RfdHJhY2snOiB0cnVlfTs8L3NjcmlwdD4KCTxzY3JpcHQgbm9uY2U9IkxuTG9UOHVJTnJOUU1Nd1ZUMXNhRHc9PSI+bGV0IHBhcmFtcyA9IHt9OwoJCQljb25zdCBodHRwUmVnID0gbmV3IFJlZ0V4cCgnXmh0dHAocyk/Oi8vJyk7CgoJCQl0cnkgewoJCQkJcGFyYW1zID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkpKTsKCQkJfSBjYXRjaCAoZSkgewoJCQkJcGFyYW1zID0ge307CgkJCX0KCgkJCXdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyA9IHsKCQkJCSd3c19hbmNlc3Rvcl9vcmlnaW4nOiB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zICYmIHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoID8gd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1t3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aCAtIDFdLnJlcGxhY2UoaHR0cFJlZywgJycpIDogbnVsbCwKCQkJCSd3c19wYWdlX3VyaSc6IHBhcmFtc1sncGFnZS11cmknXSwKCQkJfTsoKCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZShlLHQ9ITEpe2NvbnN0e3NlYXJjaFBhcmFtczpufT1uZXcgVVJMKFN0cmluZyhsb2NhdGlvbikpO2xldCBzPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHBfbmV3Iiksbz0idHJ1ZSI9PT1uLmdldCgibW9iaWxlYXBwIik7aWYoIXQpe2NvbnN0IGU9ZnVuY3Rpb24oZSl7Y29uc3QgdD1lKyI9IixuPWRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyIpO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKXtsZXQgcz1uW2VdO2Zvcig7IiAiPT09cy5jaGFyQXQoMCk7KXM9cy5zdWJzdHJpbmcoMSxzLmxlbmd0aCk7aWYoMD09PXMuaW5kZXhPZih0KSlyZXR1cm4gcy5zdWJzdHJpbmcodC5sZW5ndGgscy5sZW5ndGgpfXJldHVybiBudWxsfSgidHZfYXBwIil8fCIiO3N8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IXMpfHwhKCJuZXciPT09ZXx8IW8pfWNvbnN0IHQ9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yLG49dCYmIm9udG91Y2hzdGFydCJpbiB3aW5kb3cscz0odCYmbiYmd2luZG93LHQmJihufHxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMpLHQmJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSx0JiZ3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImZpcmVmb3giKSx0JiYvXHNFZGdlXC9cZFxkXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksdCYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJGeGlPUyIpLHQmJi9tYWMvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL1dpbjMyfFdpbjY0L2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9MaW51eC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvQW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpLG89dCYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGk9dCYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyPXQmJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxjPXQmJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksYT1zfHxvfHxpfHxyO2NvbnN0IF89bmV3IE1hcDtmdW5jdGlvbiBkKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxuPWAke3R9JHtlfWA7cmV0dXJuIF8uaGFzKG4pfHxfLnNldChuLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG4paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHM9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxvPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IGk7Zm9yKGxldCBlPXMubGVuZ3RoLTE7ZT49MDtlLS0paWYoaT1uZXcgUmVnRXhwKHNbZV0pLGkudGVzdChvKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksXy5nZXQobik/PyExfWNvbnN0IGg9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgbD17QW5kcm9pZDooKT0+cyxCbGFja0JlcnJ5OigpPT5vLGlPUzooKT0+aSxPcGVyYTooKT0+cixpc0lQYWQ6KCk9PmMsYW55OigpPT5hfTtoLmlzTW9iaWxlPWwsaC5vbldpZGdldD1kO2NvbnN0IHU9KCk9Pnt9LGc9In5tfiI7Y2xhc3MgbXtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuc2Vzc2lvbmlkPW51bGwsdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5fdGltZW91dD1udWxsLHRoaXMuX2Jhc2U9ZSx0aGlzLl9vcHRpb25zPXt0aW1lb3V0OnQudGltZW91dHx8MmU0LGNvbm5lY3Rpb25UeXBlOnQuY29ubmVjdGlvblR5cGUsYXBpS2V5OnQuYXBpS2V5fX1jb25uZWN0KCl7dGhpcy5fc29ja2V0PW5ldyBXZWJTb2NrZXQodGhpcy5fcHJlcGFyZVVybCgpKSwKdGhpcy5fc29ja2V0Lm9ubWVzc2FnZT1lPT57aWYoInN0cmluZyIhPXR5cGVvZiBlLmRhdGEpdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIFdlYlNvY2tldCBtZXNzYWdlIHNob3VsZCBiZSBhIHN0cmluZy4gUmVjaWV2ZWQgJHtPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZS5kYXRhKX1gKTt0aGlzLl9vbkRhdGEoZS5kYXRhKX0sdGhpcy5fc29ja2V0Lm9uY2xvc2U9dGhpcy5fb25DbG9zZS5iaW5kKHRoaXMpLHRoaXMuX3NvY2tldC5vbmVycm9yPXRoaXMuX29uRXJyb3IuYmluZCh0aGlzKX1zZW5kKGUpe3RoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LnNlbmQodGhpcy5fZW5jb2RlKGUpKX1kaXNjb25uZWN0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbm1lc3NhZ2U9dSx0aGlzLl9zb2NrZXQub25jbG9zZT11LHRoaXMuX3NvY2tldC5vbmVycm9yPXUsdGhpcy5fc29ja2V0LmNsb3NlKCkpfV9jbGVhcklkbGVUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3RpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCksdGhpcy5fdGltZW91dD1udWxsKX1fZW5jb2RlKGUpe2xldCB0LG49IiI7Y29uc3Qgcz1BcnJheS5pc0FycmF5KGUpP2U6W2VdLG89cy5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxvO2UrKyl0PW51bGw9PT1zW2VdfHx2b2lkIDA9PT1zW2VdPyIiOm0uX3N0cmluZ2lmeShzW2VdKSxuKz1nK3QubGVuZ3RoK2crdDtyZXR1cm4gbn1fZGVjb2RlKGUpe2NvbnN0IHQ9W107bGV0IG4scztkb3tpZihlLnN1YnN0cmluZygwLDMpIT09ZylyZXR1cm4gdDtuPSIiLHM9IiI7Y29uc3Qgbz0oZT1lLnN1YnN0cmluZygzKSkubGVuZ3RoO2ZvcihsZXQgdD0wO3Q8bzt0Kyspe2lmKHM9TnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSksTnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSkhPT1zKXtlPWUuc3Vic3RyaW5nKG4ubGVuZ3RoKzMpLG49TnVtYmVyKG4pO2JyZWFrfW4rPXN9dC5wdXNoKGUuc3Vic3RyaW5nKDAsbikpLGU9ZS5zdWJzdHJpbmcobil9d2hpbGUoIiIhPT1lKTtyZXR1cm4gdH1fb25EYXRhKGUpe3RoaXMuX3NldFRpbWVvdXQoKTtjb25zdCB0PXRoaXMuX2RlY29kZShlKSxuPXQubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bjtlKyspdGhpcy5fb25NZXNzYWdlKHRbZV0pfV9zZXRUaW1lb3V0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3RpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl9vblRpbWVvdXQuYmluZCh0aGlzKSx0aGlzLl9vcHRpb25zLnRpbWVvdXQpfV9vblRpbWVvdXQoKXt0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9vbkRpc2Nvbm5lY3Qoe2NvZGU6NGUzLHJlYXNvbjoic29ja2V0LmlvIHRpbWVvdXQiLHdhc0NsZWFuOiExfSl9X29uTWVzc2FnZShlKXt0aGlzLnNlc3Npb25pZD90aGlzLl9jaGVja0lmSGVhcnRiZWF0KGUpP3RoaXMuX29uSGVhcnRiZWF0KGUuc2xpY2UoMykpOnRoaXMuX2NoZWNrSWZKc29uKGUpP3RoaXMuX2Jhc2Uub25NZXNzYWdlKEpTT04ucGFyc2UoZS5zbGljZSgzKSkpOnRoaXMuX2Jhc2Uub25NZXNzYWdlKGUpOih0aGlzLnNlc3Npb25pZD1lLHRoaXMuX29uQ29ubmVjdCgpKX1fY2hlY2tJZkhlYXJ0YmVhdChlKXtyZXR1cm4gdGhpcy5fY2hlY2tNZXNzYWdlVHlwZShlLCJoIil9X2NoZWNrSWZKc29uKGUpe3JldHVybiB0aGlzLl9jaGVja01lc3NhZ2VUeXBlKGUsImoiKX1fY2hlY2tNZXNzYWdlVHlwZShlLHQpe3JldHVybiBlLnN1YnN0cmluZygwLDMpPT09In4iK3QrIn4ifV9vbkhlYXJ0YmVhdChlKXt0aGlzLnNlbmQoIn5ofiIrZSl9X29uQ29ubmVjdCgpe3RoaXMuY29ubmVjdGVkPSEwLHRoaXMuX2Jhc2Uub25Db25uZWN0KCl9X29uRGlzY29ubmVjdChlKXt0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2Uub25EaXNjb25uZWN0KGUpLHRoaXMuc2Vzc2lvbmlkPW51bGx9X2NsZWFyKCl7dGhpcy5jb25uZWN0ZWQ9ITF9X3ByZXBhcmVVcmwoKXtjb25zdCB0PWsodGhpcy5fYmFzZS5ob3N0KTtpZih0LnBhdGhuYW1lKz0ic29ja2V0LmlvL3dlYnNvY2tldCIsdC5wcm90b2NvbD0id3NzOiIsdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJmcm9tIix3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSw1MCkpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZGF0ZSIsd2luZG93LkJVSUxEX1RJTUV8fCIiKSxlKCJhbnkiKSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjbGllbnQiLCJtb2JpbGUiKSx0aGlzLl9vcHRpb25zLmNvbm5lY3Rpb25UeXBlJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInR5cGUiLHRoaXMuX29wdGlvbnMuY29ubmVjdGlvblR5cGUpLHdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyl7Y29uc3R7d3NfcGFnZV91cmk6ZSx3c19hbmNlc3Rvcl9vcmlnaW46bn09d2luZG93LldFQlNPQ0tFVF9QQVJBTVNfQU5BTFlUSUNTO2UmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgicGFnZS11cmkiLGUpLG4mJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYW5jZXN0b3Itb3JpZ2luIixuKX1jb25zdCBuPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5jbHVkZXMoIndpZGdldF90b2tlbiIpfHx3aW5kb3cubG9jYXRpb24uaGFzaC5pbmNsdWRlcygid2lkZ2V0X3Rva2VuIik7cmV0dXJuIGQoKXx8bnx8dC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJhdXRoIiwic2Vzc2lvbmlkIiksdm9pZCAwIT09dGhpcy5fb3B0aW9ucy5hcGlLZXkmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYXBpX2tleSIsdGhpcy5fb3B0aW9ucy5hcGlLZXkpLHQuaHJlZn1fb25DbG9zZShlKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fb25EaXNjb25uZWN0KGUpfV9vbkVycm9yKGUpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2UuZW1pdCgiZXJyb3IiLFtlXSksdGhpcy5zZXNzaW9uaWQ9bnVsbH1zdGF0aWMgX3N0cmluZ2lmeShlKXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT8ifmp+IitKU09OLnN0cmluZ2lmeShlKTpTdHJpbmcoZSl9fWNsYXNzIHd7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmhvc3Q9ZSwKdGhpcy5fY29ubmVjdGluZz0hMSx0aGlzLl9ldmVudHM9e30sdGhpcy50cmFuc3BvcnQ9dGhpcy5fZ2V0VHJhbnNwb3J0KHQpfWlzQ29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkfWlzQ29ubmVjdGluZygpe3JldHVybiB0aGlzLl9jb25uZWN0aW5nfWNvbm5lY3QoKXt0aGlzLmlzQ29ubmVjdGVkKCl8fCh0aGlzLl9jb25uZWN0aW5nJiZ0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9jb25uZWN0aW5nPSEwLHRoaXMudHJhbnNwb3J0LmNvbm5lY3QoKSl9c2VuZChlKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkJiZ0aGlzLnRyYW5zcG9ydC5zZW5kKGUpfWRpc2Nvbm5lY3QoKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuZGlzY29ubmVjdCgpfW9uKGUsdCl7ZSBpbiB0aGlzLl9ldmVudHN8fCh0aGlzLl9ldmVudHNbZV09W10pLHRoaXMuX2V2ZW50c1tlXS5wdXNoKHQpfW9mZkFsbCgpe3RoaXMuX2V2ZW50cz17fX1vbk1lc3NhZ2UoZSl7dGhpcy5lbWl0KCJtZXNzYWdlIixbZV0pfWVtaXQoZSx0PVtdKXtpZihlIGluIHRoaXMuX2V2ZW50cyl7Y29uc3Qgbj10aGlzLl9ldmVudHNbZV0uY29uY2F0KCkscz1uLmxlbmd0aDtmb3IobGV0IGU9MDtlPHM7ZSsrKW5bZV0uYXBwbHkodGhpcyx0KX19b25Db25uZWN0KCl7dGhpcy5jbGVhcigpLHRoaXMuZW1pdCgiY29ubmVjdCIpfW9uRGlzY29ubmVjdChlKXt0aGlzLmVtaXQoImRpc2Nvbm5lY3QiLFtlXSl9Y2xlYXIoKXt0aGlzLl9jb25uZWN0aW5nPSExfV9nZXRUcmFuc3BvcnQoZSl7cmV0dXJuIG5ldyBtKHRoaXMsZSl9fWZ1bmN0aW9uIGsoZSl7Y29uc3QgdD0tMSE9PWUuaW5kZXhPZigiLyIpP25ldyBVUkwoZSk6bmV3IFVSTCgid3NzOi8vIitlKTtpZigid3NzOiIhPT10LnByb3RvY29sJiYiaHR0cHM6IiE9PXQucHJvdG9jb2wpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHdlYnNvY2tldCBiYXNlICIrZSk7cmV0dXJuIHQucGF0aG5hbWUuZW5kc1dpdGgoIi8iKXx8KHQucGF0aG5hbWUrPSIvIiksdC5zZWFyY2g9IiIsdC51c2VybmFtZT0iIix0LnBhc3N3b3JkPSIiLHR9dmFyIHAsYjshZnVuY3Rpb24oZSl7ZVtlLk5vcm1hbD0zMDBdPSJOb3JtYWwiLGVbZS5BZnRlckNsb3NlRXZlbnQ9NWUzXT0iQWZ0ZXJDbG9zZUV2ZW50In0ocHx8KHA9e30pKSxmdW5jdGlvbihlKXtlW2UuSW5mbz0wXT0iSW5mbyIsZVtlLk5vcm1hbD0xXT0iTm9ybWFsIixlW2UuRGVidWc9Ml09IkRlYnVnIixlW2UuRXJyb3I9M109IkVycm9yIn0oYnx8KGI9e30pKTtjb25zdCBmPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZOdW1iZXIod2luZG93LlRFTEVNRVRSWV9XU19FUlJPUl9MT0dTX1RIUkVTSE9MRCl8fDA7dmFyIHk7IWZ1bmN0aW9uKGUpe2VbZS5QaW5nSW50ZXJ2YWw9MWU0XT0iUGluZ0ludGVydmFsIixlW2UuTWF4UGluZ3NDb3VudD0xMF09Ik1heFBpbmdzQ291bnQiLGVbZS5NYXhSZWRpcmVjdHM9MjBdPSJNYXhSZWRpcmVjdHMiLGVbZS5NYXhSZWNvbm5lY3RzPTIwXT0iTWF4UmVjb25uZWN0cyJ9KHl8fCh5PXt9KSk7Y2xhc3MgVHtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuX3F1ZXVlU3RhY2s9W10sdGhpcy5fbG9nc1F1ZXVlPVtdLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXSx0aGlzLl9yZWNvbm5lY3RDb3VudD0wLHRoaXMuX3JlZGlyZWN0Q291bnQ9MCx0aGlzLl9lcnJvcnNDb3VudD0wLHRoaXMuX2Vycm9yc0luZm9TZW50PSExLHRoaXMuX2Nvbm5lY3Rpb25TdGFydD1udWxsLHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1udWxsLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsLHRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMSx0aGlzLl9pbml0aWFsSG9zdD10LmluaXRpYWxIb3N0fHxudWxsLHRoaXMuX3N1Z2dlc3RlZEhvc3Q9ZSx0aGlzLl9wcm9Ib3N0PXQucHJvSG9zdCx0aGlzLl9yZWNvbm5lY3RIb3N0PXQucmVjb25uZWN0SG9zdCx0aGlzLl9ub1JlY29ubmVjdEFmdGVyVGltZW91dD0hMD09PXQubm9SZWNvbm5lY3RBZnRlclRpbWVvdXQsdGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0PXQuZGF0YVJlcXVlc3RUaW1lb3V0LHRoaXMuX2Nvbm5lY3Rpb25UeXBlPXQuY29ubmVjdGlvblR5cGUsdGhpcy5fYXBpS2V5PXQuYXBpS2V5LHRoaXMuX2RvQ29ubmVjdCgpLHQucGluZ1JlcXVpcmVkJiYtMT09PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigibm9waW5nIikmJnRoaXMuX3N0YXJ0UGluZygpfWNvbm5lY3QoKXt0aGlzLl90cnlDb25uZWN0KCl9cmVzZXRDb3VudGVycygpe3RoaXMuX3JlY29ubmVjdENvdW50PTAsdGhpcy5fcmVkaXJlY3RDb3VudD0wfXNldExvZ2dlcihlLHQpe3RoaXMuX2xvZ2dlcj1lLHRoaXMuX2dldExvZ0hpc3Rvcnk9dCx0aGlzLl9mbHVzaExvZ3MoKX1zZXRUZWxlbWV0cnkoZSl7dGhpcy5fdGVsZW1ldHJ5PWUsdGhpcy5fdGVsZW1ldHJ5LnJlcG9ydFNlbnQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25UZWxlbWV0cnlTZW50KSx0aGlzLl9mbHVzaFRlbGVtZXRyeSgpfW9uUmVjb25uZWN0KGUpe3RoaXMuX29uUmVjb25uZWN0PWV9aXNDb25uZWN0ZWQoKXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCl9aXNDb25uZWN0aW5nKCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RpbmcoKX1vbihlLHQpe3JldHVybiEhdGhpcy5fc29ja2V0JiYoImNvbm5lY3QiPT09ZSYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCk/dCgpOiJkaXNjb25uZWN0Ij09PWU/dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5wdXNoKHQpOnRoaXMuX3NvY2tldC5vbihlLHQpLCEwKX1nZXRTZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQudHJhbnNwb3J0P3RoaXMuX3NvY2tldC50cmFuc3BvcnQuc2Vzc2lvbmlkOm51bGx9c2VuZChlKXtyZXR1cm4gdGhpcy5pc0Nvbm5lY3RlZCgpPyh0aGlzLl9zb2NrZXQuc2VuZChlKSwhMCk6KHRoaXMuX3F1ZXVlTWVzc2FnZShlKSwhMSl9CmdldENvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWR9Z2V0SG9zdCgpe2NvbnN0IGU9dGhpcy5fdHJ5R2V0UHJvSG9zdCgpO3JldHVybiBudWxsIT09ZT9lOnRoaXMuX3JlY29ubmVjdEhvc3QmJnRoaXMuX3JlY29ubmVjdENvdW50PjM/dGhpcy5fcmVjb25uZWN0SG9zdDp0aGlzLl9zdWdnZXN0ZWRIb3N0fWdldFJlY29ubmVjdENvdW50KCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdENvdW50fWdldFJlZGlyZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fcmVkaXJlY3RDb3VudH1nZXRDb25uZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvblN0YXJ0fWRpc2Nvbm5lY3QoKXt0aGlzLl9jbGVhclJlY29ubmVjdFRpbWVvdXQoKSwodGhpcy5pc0Nvbm5lY3RlZCgpfHx0aGlzLmlzQ29ubmVjdGluZygpKSYmKHRoaXMuX3Byb3BhZ2F0ZURpc2Nvbm5lY3QoKSx0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzPVtdLHRoaXMuX2Nsb3NlU29ja2V0KCkpfWZvcmJpZENvbm5lY3Rpb24oKXt0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITAsdGhpcy5kaXNjb25uZWN0KCl9YWxsb3dDb25uZWN0aW9uKCl7dGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSExLHRoaXMuY29ubmVjdCgpfWlzTWF4UmVkaXJlY3RzKCl7cmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQ+PTIwfWlzTWF4UmVjb25uZWN0cygpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudD49MjB9Z2V0UGluZ0luZm8oKXtyZXR1cm4gdGhpcy5fcGluZ0luZm98fG51bGx9Z2V0QXBpS2V5KCl7cmV0dXJuIHRoaXMuX2FwaUtleX1fdHJ5R2V0UHJvSG9zdCgpe3JldHVybiB3aW5kb3cuVHJhZGluZ1ZpZXcmJndpbmRvdy5UcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSYmImJhdHRsZSI9PT13aW5kb3cuZW52aXJvbm1lbnQmJiF0aGlzLl9yZWRpcmVjdENvdW50JiYtMT09PXdpbmRvdy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoIndzX2hvc3QiKT90aGlzLl9pbml0aWFsSG9zdD90aGlzLl9pbml0aWFsSG9zdDp2b2lkIDAhPT13aW5kb3cudXNlciYmd2luZG93LnVzZXIucHJvX3BsYW4/dGhpcy5fcHJvSG9zdHx8dGhpcy5fc3VnZ2VzdGVkSG9zdDpudWxsOm51bGx9X3F1ZXVlTWVzc2FnZShlKXswPT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJnRoaXMuX2xvZ01lc3NhZ2UoMCwiU29ja2V0IGlzIG5vdCBjb25uZWN0ZWQuIFF1ZXVlZCBhIG1lc3NhZ2UiKSx0aGlzLl9xdWV1ZVN0YWNrLnB1c2goZSl9X3Byb2Nlc3NNZXNzYWdlUXVldWUoKXswIT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJih0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NpbmcgcXVldWVkIG1lc3NhZ2VzIiksdGhpcy5fcXVldWVTdGFjay5mb3JFYWNoKHRoaXMuc2VuZC5iaW5kKHRoaXMpKSx0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NlZCAiK3RoaXMuX3F1ZXVlU3RhY2subGVuZ3RoKyIgbWVzc2FnZXMiKSx0aGlzLl9xdWV1ZVN0YWNrPVtdKX1fb25EaXNjb25uZWN0KGUpe3RoaXMuX25vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0fHxudWxsIT09dGhpcy5fcmVjb25uZWN0VGltZW91dHx8KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl90cnlSZWNvbm5lY3QuYmluZCh0aGlzKSw1ZTMpKSx0aGlzLl9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCk7bGV0IHQ9ImRpc2Nvbm5lY3Qgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCk7ZSYmKHQrPSIsIGNvZGU6IitlLmNvZGUrIiwgcmVhc29uOiIrZS5yZWFzb24sMTAwNT09PWUuY29kZSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2NvZGVfMTAwNSIpKSx0aGlzLl9sb2dNZXNzYWdlKDAsdCksdGhpcy5fcHJvcGFnYXRlRGlzY29ubmVjdChlKSx0aGlzLl9jbG9zZVNvY2tldCgpLHRoaXMuX3F1ZXVlU3RhY2s9W119X2Nsb3NlU29ja2V0KCl7bnVsbCE9PXRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vZmZBbGwoKSx0aGlzLl9zb2NrZXQuZGlzY29ubmVjdCgpLHRoaXMuX3NvY2tldD1udWxsKX1fbG9nTWVzc2FnZShlLHQpe2NvbnN0IG49e21ldGhvZDplLG1lc3NhZ2U6dH07dGhpcy5fbG9nZ2VyP3RoaXMuX2ZsdXNoTG9nTWVzc2FnZShuKToobi5tZXNzYWdlPWBbJHsobmV3IERhdGUpLnRvSVNPU3RyaW5nKCl9XSAke24ubWVzc2FnZX1gLHRoaXMuX2xvZ3NRdWV1ZS5wdXNoKG4pKX1fZmx1c2hMb2dNZXNzYWdlKGUpe3N3aXRjaChlLm1ldGhvZCl7Y2FzZSAyOnRoaXMuX2xvZ2dlci5sb2dEZWJ1ZyhlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UgMzp0aGlzLl9sb2dnZXIubG9nRXJyb3IoZS5tZXNzYWdlKTticmVhaztjYXNlIDA6dGhpcy5fbG9nZ2VyLmxvZ0luZm8oZS5tZXNzYWdlKTticmVhaztjYXNlIDE6dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChlLm1lc3NhZ2UpfX1fZmx1c2hMb2dzKCl7dGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBTdGFydC4ifSksdGhpcy5fbG9nc1F1ZXVlLmZvckVhY2goKGU9Pnt0aGlzLl9mbHVzaExvZ01lc3NhZ2UoZSl9KSksdGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBFbmQuIn0pLHRoaXMuX2xvZ3NRdWV1ZT1bXX1fc2VuZFRlbGVtZXRyeShlLHQpe2NvbnN0IG49e2V2ZW50OmUscGFyYW1zOnR9O3RoaXMuX3RlbGVtZXRyeT90aGlzLl9mbHVzaFRlbGVtZXRyeU9iamVjdChuKTp0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUucHVzaChuKX1fZmx1c2hUZWxlbWV0cnlPYmplY3QoZSl7dGhpcy5fdGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLmV2ZW50LGUucGFyYW1zLCExKX1fZmx1c2hUZWxlbWV0cnkoKXt0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUuZm9yRWFjaCgoZT0+e3RoaXMuX2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KGUpfSkpLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXX1fZG9Db25uZWN0KCl7CnRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpfHx0aGlzLl9zb2NrZXQuaXNDb25uZWN0aW5nKCkpfHwodGhpcy5fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpLHRoaXMuX2hvc3Q9dGhpcy5nZXRIb3N0KCksdGhpcy5fc29ja2V0PW5ldyB3KHRoaXMuX2hvc3Qse3RpbWVvdXQ6dGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0LGNvbm5lY3Rpb25UeXBlOnRoaXMuX2Nvbm5lY3Rpb25UeXBlLGFwaUtleTp0aGlzLl9hcGlLZXl9KSx0aGlzLl9sb2dNZXNzYWdlKDAsIkNvbm5lY3RpbmcgdG8gIit0aGlzLl9ob3N0KSx0aGlzLl9iaW5kRXZlbnRzKCksdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcz1bXSx0aGlzLl9jb25uZWN0aW9uU3RhcnQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPW51bGwsdGhpcy5fc29ja2V0LmNvbm5lY3QoKSxwZXJmb3JtYW5jZS5tYXJrKCJTV1NDIix7ZGV0YWlsOiJTdGFydCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSx0aGlzLl9zb2NrZXQub24oImNvbm5lY3QiLCgoKT0+e3BlcmZvcm1hbmNlLm1hcmsoIkVXU0MiLHtkZXRhaWw6IkVuZCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSxwZXJmb3JtYW5jZS5tZWFzdXJlKCJXZWJTb2NrZXQgY29ubmVjdGlvbiBkZWxheSIsIlNXU0MiLCJFV1NDIil9KSkpfV9wcm9wYWdhdGVEaXNjb25uZWN0KGUpe2NvbnN0IHQ9dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5sZW5ndGg7Zm9yKGxldCBuPTA7bjx0O24rKyl0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzW25dKGV8fHt9KX1fYmluZEV2ZW50cygpe3RoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbigiY29ubmVjdCIsKCgpPT57Y29uc3QgZT10aGlzLmdldFNlc3Npb25JZCgpO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO2lmKHQucmVkaXJlY3QpcmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQrPTEsdGhpcy5fc3VnZ2VzdGVkSG9zdD10LnJlZGlyZWN0LHRoaXMuaXNNYXhSZWRpcmVjdHMoKSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgicmVkaXJlY3RfYmFpbG91dCIpLHZvaWQgdGhpcy5fcmVkaXJlY3QoKX10aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fcHJvY2Vzc01lc3NhZ2VRdWV1ZSgpLHRoaXMuX2xvZ01lc3NhZ2UoMCwiY29ubmVjdCBzZXNzaW9uOiIrZSl9KSksdGhpcy5fc29ja2V0Lm9uKCJkaXNjb25uZWN0Iix0aGlzLl9vbkRpc2Nvbm5lY3QuYmluZCh0aGlzKSksdGhpcy5fc29ja2V0Lm9uKCJjbG9zZSIsdGhpcy5fb25EaXNjb25uZWN0LmJpbmQodGhpcykpLHRoaXMuX3NvY2tldC5vbigiZXJyb3IiLChlPT57dGhpcy5fbG9nTWVzc2FnZSgwLG5ldyBEYXRlKyIgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCkrIiB3ZWJzb2NrZXQgZXJyb3I6IitKU09OLnN0cmluZ2lmeShlKSksdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yIiksdGhpcy5fZXJyb3JzQ291bnQrKywhdGhpcy5fZXJyb3JzSW5mb1NlbnQmJnRoaXMuX2Vycm9yc0NvdW50Pj1mJiYodm9pZCAwIT09dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2smJih0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3JfY29ubmVjdF9zdGFjayIse3RleHQ6dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2t9KSxkZWxldGUgdGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2spLHZvaWQgMCE9PXRoaXMuX2dldExvZ0hpc3RvcnkmJnRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvcl9sb2ciLHt0ZXh0OnRoaXMuX2dldExvZ0hpc3RvcnkoNTApLmpvaW4oIlxuIil9KSx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMCl9KSkpfV9yZWRpcmVjdCgpe3RoaXMuZGlzY29ubmVjdCgpLHRoaXMuX3JlY29ubmVjdFdoZW5PbmxpbmUoKX1fdHJ5UmVjb25uZWN0KCl7dGhpcy5fdHJ5Q29ubmVjdCgpJiYodGhpcy5fcmVjb25uZWN0Q291bnQrPTEpfV90cnlDb25uZWN0KCl7cmV0dXJuIXRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbiYmKHRoaXMuX2NsZWFyUmVjb25uZWN0VGltZW91dCgpLHRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrPW5ldyBFcnJvcihgV2ViU29ja2V0IGNvbm5lY3Qgc3RhY2suIElzIGNvbm5lY3RlZDogJHt0aGlzLmlzQ29ubmVjdGVkKCl9LmApLnN0YWNrfHwiIiwhdGhpcy5pc0Nvbm5lY3RlZCgpJiYodGhpcy5kaXNjb25uZWN0KCksdGhpcy5fcmVjb25uZWN0V2hlbk9ubGluZSgpLCEwKSl9X2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKXt0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbiYmKHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuKCksdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49bnVsbCl9X2NsZWFyUmVjb25uZWN0VGltZW91dCgpe251bGwhPT10aGlzLl9yZWNvbm5lY3RUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQpLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCl9X3JlY29ubmVjdFdoZW5PbmxpbmUoKXtpZihuYXZpZ2F0b3Iub25MaW5lKXJldHVybiB0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzOiBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHRoaXMuX2RvQ29ubmVjdCgpLHZvaWQodGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCkpO3RoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXM6IG9mZmxpbmUgLSB3YWl0IHVudGlsIG9ubGluZSIpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPWZ1bmN0aW9uKGUpe2xldCB0PWU7Y29uc3Qgbj0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLHQmJnQoKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLCgpPT57dD1udWxsfX0oKCgpPT57dGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1cyBjaGFuZ2VkIHRvIG9ubGluZSAtIHRyeWluZyB0byBjb25uZWN0IiksdGhpcy5fZG9Db25uZWN0KCksdGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCl9KSl9Cl9vblRlbGVtZXRyeVNlbnQoZSl7IndlYnNvY2tldF9lcnJvciJpbiBlJiYodGhpcy5fZXJyb3JzQ291bnQ9MCx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMSl9X3N0YXJ0UGluZygpe2lmKHRoaXMuX3BpbmdJbnRlcnZhbElkKXJldHVybjtjb25zdCBlPWsodGhpcy5nZXRIb3N0KCkpO2UucGF0aG5hbWUrPSJwaW5nIixlLnByb3RvY29sPSJodHRwczoiO2xldCB0PTAsbj0wO2NvbnN0IHM9ZT0+e3RoaXMuX3BpbmdJbmZvPXRoaXMuX3BpbmdJbmZvfHx7bWF4OjAsbWluOjEvMCxhdmc6MH07Y29uc3Qgcz0obmV3IERhdGUpLmdldFRpbWUoKS1lO3M+dGhpcy5fcGluZ0luZm8ubWF4JiYodGhpcy5fcGluZ0luZm8ubWF4PXMpLHM8dGhpcy5fcGluZ0luZm8ubWluJiYodGhpcy5fcGluZ0luZm8ubWluPXMpLHQrPXMsbisrLHRoaXMuX3BpbmdJbmZvLmF2Zz10L24sbj49MTAmJnRoaXMuX3BpbmdJbnRlcnZhbElkJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9waW5nSW50ZXJ2YWxJZCksZGVsZXRlIHRoaXMuX3BpbmdJbnRlcnZhbElkKX07dGhpcy5fcGluZ0ludGVydmFsSWQ9c2V0SW50ZXJ2YWwoKCgpPT57Y29uc3QgdD0obmV3IERhdGUpLmdldFRpbWUoKSxuPW5ldyBYTUxIdHRwUmVxdWVzdDtuLm9wZW4oIkdFVCIsZSwhMCksbi5zZW5kKCksbi5vbnJlYWR5c3RhdGVjaGFuZ2U9KCk9PntuLnJlYWR5U3RhdGU9PT1YTUxIdHRwUmVxdWVzdC5ET05FJiYyMDA9PT1uLnN0YXR1cyYmcyh0KX19KSwxZTQpfX0KY29uc3QgQz0id2lkZ2V0X3VzZXJfdG9rZW4tIix2PUpTT04ucGFyc2UoJ3siYWR4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4IiwiYWR4RCI6IndpZGdldF91c2VyX3Rva2VuLWFkeEQiLCJhZ2VuY2lhbGJtY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZ2VuY2lhbGJtY29tYnIiLCJhbGphemlyYWNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsRCIsImFsamF6aXJhY2FwaXRhbFJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsUlQiLCJhbHJhamhpY2FwaXRhbGNvbUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbUQiLCJhbHJhamhpY2FwaXRhbGNvbVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxyYWpoaWNhcGl0YWxjb21SVCIsImFtYml0byI6IndpZGdldF91c2VyX3Rva2VuLWFtYml0byIsImFyZW5heHRybyI6IndpZGdldF91c2VyX3Rva2VuLWFyZW5heHRybyIsImFydGVjaGVjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1BcnRlY2hlRCIsImF0bGNhcGl0YWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1hdGxjYXBpdGFsIiwiYmFua2lyb3NydSI6IndpZGdldF91c2VyX3Rva2VuLWJhbmtpcm9zcnUiLCJiYnZhY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1iYnZhY2giLCJiZWVrc2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmVla3Nncm91cCIsImJlbHVnYWdyb3VwcnUiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWx1Z2Fncm91cHJ1IiwiYml2YWNvbSI6IndpZGdldF91c2VyX3Rva2VuLWJpdmFjb20iLCJibHVlZmllbGQiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlZmllbGQiLCJibHVlbGluZWZ1dHVyZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlbGluZWZ1dHVyZXMiLCJib3Zlc3BhIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm1mYm92ZXNwYWNvbWJyIiwiYnZicm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1idmJybyIsImJ5dGV0cmF2ZWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1ieXRldHJhdmVsIiwiY2JvZWNhbmFkYSI6IndpZGdldF91c2VyX3Rva2VuLWNib2VjYW5hZGEiLCJjaGFtcGlvbm5hdGJvdXJzZSI6IndpZGdldF91c2VyX3Rva2VuLWNoYW1waW9ubmF0Ym91cnNlIiwiY2luY29kaWFzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2luY29kaWFzIiwiY2VvY2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FEIiwiY2VvY2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWNlb2NhUlQiLCJjbWNtYXJrZXRzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY21jbWFya2V0cyIsImNvcGVlcyI6IndpZGdldF91c2VyX3Rva2VuLWNvcGVlcyIsImNzZWxrIjoid2lkZ2V0X3VzZXJfdG9rZW4tY3NlbGsiLCJkYWlseWZ4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZGFpbHlmeCIsImRlZXBzZWFyY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1kZWVwc2VhcmNoIiwiZGVyYXlhaGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWRlcmF5YWhjb20iLCJkZm1hZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZUQiLCJkZm1hZVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGZtYWVSVCIsImRpbmFyc2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGluYXJzYUQiLCJkaW5hcnNhUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhUlQiLCJkb2xhcmhveSI6IndpZGdldF91c2VyX3Rva2VuLWRvbGFyaG95IiwiZWFzeW52ZXN0Y29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1lYXN5bnZlc3Rjb21iciIsImVkYWlseSI6IndpZGdldF91c2VyX3Rva2VuLWVkYWlseSIsImVsZXNwYW5vbGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWVsZXNwYW5vbGNvbSIsImVsb2JyZXJvZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1lbG9icmVyb2VzIiwiZWxuYWNpb25hbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1FbE5hY2lvbmFsRCIsImVscGFpc2ZpbmFuY2llcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1lbHBhaXNmaW5hbmNpZXJvIiwiZWxwZXJpb2RpY29kZWxhZW5lcmdpYSI6IndpZGdldF91c2VyX3Rva2VuLWVscGVyaW9kaWNvZGVsYWVuZXJnaWEiLCJldXF1ZXJvaW52ZXN0aXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXF1ZXJvaW52ZXN0aXJjb20iLCJldXJleCI6IndpZGdldF91c2VyX3Rva2VuLWV1cmV4IiwiZXVyb2ZpbnMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvZmlucyIsImVwZSI6IndpZGdldF91c2VyX3Rva2VuLWVwZSIsImV1cm9wYXByZXNzZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvcGFwcmVzc2VzIiwiZmluYW56YXNEIjoid2lkZ2V0X3VzZXJfdG9rZW4tRmluYW56YXNEIiwiZm9yYmVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1mb3JiZXNjb21iciIsImdlbmlhbGludmVzdGltZW50b3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1nZW5pYWxpbnZlc3RpbWVudG9zIiwiaGVhbHRoaXRhbGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taGVhbHRoaXRhbGlhIiwiaGVnbmFybm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWduYXJubyIsImhpcG90ZWNhcmlvY29tYXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1oaXBvdGVjYXJpb2NvbWFyIiwiaWdjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1pZ2NvbSIsImludmVzdGVnYXRlY291ayI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdGVnYXRlY291ayIsImludmVzdG9wZWRpYSI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdG9wZWRpYSIsImludGVncmFseWF0aXJpbSI6IndpZGdldF91c2VyX3Rva2VuLWludGVncmFseWF0aXJpbSIsIml2c2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4taXZzZ3JvdXAiLCJqc2Vjb3phIjoid2lkZ2V0X3VzZXJfdG9rZW4tanNlY296YSIsImJvZXJzZW56ZWl0dW5nIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm9lcnNlbnplaXR1bmciLCJsYWluZm9ybWFjaW9uY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbGFpbmZvcm1hY2lvbmNvbSIsIm1hcmNvcG9sb2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWFyY29wb2xvY29tYnIiLCJtZXJjYWRvZmluYW5jaWVyb2NvbSI6IndpZGdldF91c2VyX3Rva2VuLW1lcmNhZG9maW5hbmNpZXJvY29tIiwibW9leCI6IndpZGdldF91c2VyX3Rva2VuLW1vZXgiLCJtb25leXRpbWVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb25leXRpbWVzY29tYnIiLCJtb25pdG9yZG9tZXJjYWRvRCI6IndpZGdldF91c2VyX3Rva2VuLW1vbml0b3Jkb21lcmNhZG9EIiwibXluZXRjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1teW5ldGNvbSIsIm5lZ29jaW9zIjoid2lkZ2V0X3VzZXJfdG9rZW4tbmVnb2Npb3MiLCJOR1giOiJ3aWRnZXRfdXNlcl90b2tlbi1OR1giLCJOb3RpY2lhc2Fncmljb2xhRCI6IndpZGdldF91c2VyX3Rva2VuLW5vdGljaWFzYWdyaWNvbGFEIiwibm9tbW9tYSI6IndpZGdldF91c2VyX3Rva2VuLW5vbW1vbWEiLCJuc2Vjb2tyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbnNlY29rciIsIm9rZGlhcmlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tb2tkaWFyaW8iLCJwYW5hZnJpY2FucmVzb3VyY2VzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tcGFuYWZyaWNhbnJlc291cmNlc2NvbSIsInBzZSI6IndpZGdldF91c2VyX3Rva2VuLXBzZSIsInBvZGVyMzYwIjoid2lkZ2V0X3VzZXJfdG9rZW4tcG9kZXIzNjAiLCJwc2VEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlRCIsInJpeWFkaGNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcml5YWRoY2FwaXRhbEQiLCJyaXlhZGhjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsUlQiLCJxZWNvbXFhIjoid2lkZ2V0X3VzZXJfdG9rZW4tcWVjb21xYSIsInNhbW9sZXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zYW1vbGV0Iiwic2VlaW5nbWFjaGluZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZWVpbmdtYWNoaW5lc2NvbSIsInNldWRpbmhlaXJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2V1ZGluaGVpcm8iLCJzb2Z0d2FyZWFnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29mdHdhcmVhZyIsInNvZ2VjbGFpciI6IndpZGdldF91c2VyX3Rva2VuLXNvZ2VjbGFpciIsInNnY29tcGFueWl0Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc2djb21wYW55aXQiLCJzaGFyZWp1bmN0aW9uIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2hhcmVqdW5jdGlvbiIsInNtYXJ0bGFiLWN1c3RvbSI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic21hcnRsYWIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zbWFydGxhYiIsInNwYWNlbW9uZXljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXNwYWNlbW9uZXljb21iciIsInN0b25leHdkZyI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leMKjLSF3d3cuc3RvbmV4LmNvbSIsInN0b3hpbyI6IndpZGdldF91c2VyX3Rva2VuLXN0b3hpbyIsInN0b25leCI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leCIsInRvcm9pbnZlc3RpbWVudG9zY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdG9yb2ludmVzdGltZW50b3Njb20iLCJ0aGVjc2Vjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10aGVjc2Vjb20iLCJ0cmFkZXJzY2x1YmJyYXNpbCI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRlcnNjbHViYnJhc2lsIiwidHJhZGVyc2NsdWJicmFzaWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWxEIiwidHJhZGluZ3ZpZXciOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkaW5ndmlldyIsInh0b29scyI6IndpZGdldF91c2VyX3Rva2VuLXh0b29scyIsInR3aXR0ZXIiOiJ3aWRnZXRfdXNlcl90b2tlbi10d2l0dGVyIiwidmVsb2NpdHljb21wb3NpdGVzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdmVsb2NpdHljb21wb3NpdGVzY29tIiwidm9jZXNhYWJyaWxjb21iciI6IndpZGdldF91c2VyX3Rva2VuLXZvY2VzYWFicmlsY29tYnIiLCJ3ZWFsdGhzaW1wbGUiOiJ3aWRnZXRfdXNlcl90b2tlbi13ZWFsdGhzaW1wbGXCoy0hbXkud2VhbHRoc2ltcGxlLmNvbSIsIndvcmxkY2hlc3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi13b3JsZGNoZXNzY29tIiwieENydHlKa3NwIjoid2lkZ2V0X3VzZXJfdG9rZW4teENydHlKa3NwIiwieHBpY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi14cGljb21iciJ9Jylbd2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiXXx8IiIsUz12LnN0YXJ0c1dpdGgoQyk/di5zdWJzdHJpbmcoMTgpOiJ0cmFkaW5ndmlldyIKO3dpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uPW5ldyBUKHdpbmRvdy5XRUJTT0NLRVRfSE9TVCx7cGluZ1JlcXVpcmVkOndpbmRvdy5XU19IT1NUX1BJTkdfUkVRVUlSRUQscHJvSG9zdDp3aW5kb3cuV0VCU09DS0VUX1BST19IT1NULHJlY29ubmVjdEhvc3Q6d2luZG93LldFQlNPQ0tFVF9IT1NUX0ZPUl9SRUNPTk5FQ1QsaW5pdGlhbEhvc3Q6d2luZG93LldFQlNPQ0tFVF9JTklUSUFMX0hPU1QsY29ubmVjdGlvblR5cGU6d2luZG93LldFQlNPQ0tFVF9DT05ORUNUSU9OX1RZUEUsYXBpS2V5OlN9KSx3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbkN0b3I9VH0pKCk7Cgk8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KCTxzY3JpcHQgbm9uY2U9IkxuTG9UOHVJTnJOUU1Nd1ZUMXNhRHc9PSI+CgkJKCgpPT57InVzZSBzdHJpY3QiO2NvbnN0IHQ9MTAxOTt2YXIgZSxzLG8sYSxkOyFmdW5jdGlvbih0KXt0LkFkYXB0aXZlPSJhZGFwdGl2ZSIsdC5SZWd1bGFyPSJyZWd1bGFyIix0LkNvbXBhY3Q9ImNvbXBhY3QifShlfHwoZT17fSkpLGZ1bmN0aW9uKHQpe3QuQWxsU3ltYm9scz0iYWxsX3N5bWJvbHMiLHQuTWFya2V0PSJtYXJrZXQiLHQuU3ltYm9sPSJzeW1ib2wifShzfHwocz17fSkpLGZ1bmN0aW9uKHQpe3QuQ3J5cHRvY3VycmVuY2llcz0iY3J5cHRvIix0LkN1cnJlbmNpZXM9ImZvcmV4Iix0LlN0b2Nrcz0ic3RvY2siLHQuSW5kaWNlcz0iaW5kZXgiLHQuRnV0dXJlcz0iZnV0dXJlcyIsdC5Cb25kcz0iY2ZkIn0ob3x8KG89e30pKSxmdW5jdGlvbih0KXt0LkhUTUw9Imh0bWwiLHQuUmVhY3Q9InJlYWN0In0oYXx8KGE9e30pKSxmdW5jdGlvbih0KXt0LlRoZW1lQ2xhc3NQcmVmaXg9InRoZW1lLSJ9KGR8fChkPXt9KSk7Y29uc3QgYz13aW5kb3c7Yy5pbml0RGF0YT1jLmluaXREYXRhfHx7fTtsZXQgaT1jLmluaXREYXRhLmhhc2hTZXR0aW5ncztpZihjLmluaXREYXRhLndpZGdldERlZmF1bHRzJiYoaT17Li4uYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cywuLi5pfSksdm9pZCAwIT09aSl7aWYodm9pZCAwIT09aS5jb2xvclRoZW1lJiZmdW5jdGlvbih0LGU9d2luZG93KXtjb25zdCBzPSJ0aGVtZS0iK3Qsbz1lLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3Q7Zm9yKGNvbnN0IHQgb2YgQXJyYXkuZnJvbShvKSl0LnN0YXJ0c1dpdGgoInRoZW1lLSIpJiZ0IT09cyYmby5yZW1vdmUodCk7by5hZGQocyksZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC50aGVtZT10fShpLmNvbG9yVGhlbWUpLChpLmlzVHJhbnNwYXJlbnR8fGkudHJhbnNwYXJlbmN5KSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXRyYW5zcGFyZW50Iiksdm9pZCAwIT09aS5kaXNwbGF5TW9kZSYmZnVuY3Rpb24ocyxvKXtpZihvPT09ZS5BZGFwdGl2ZSl7Y29uc3QgZT13aW5kb3cubWF0Y2hNZWRpYShgKG1heC13aWR0aDogJHt0fXB4KWApLG89KCk9PntzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1yZWd1bGFyIiwhZS5tYXRjaGVzKSxzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1jb21wYWN0IixlLm1hdGNoZXMpfTtvKCksZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG8pfWVsc2Ugcy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsbz09PWUuUmVndWxhcikscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsbz09PWUuQ29tcGFjdCl9KGRvY3VtZW50LmJvZHksaS5kaXNwbGF5TW9kZSksaS5ib2R5Q2xhc3Nlcylmb3IoY29uc3QgdCBvZiBpLmJvZHlDbGFzc2VzKWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCh0KTtpLmJvZHlfY2xhc3MmJmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChpLmJvZHlfY2xhc3MpLGkuYm9keUlkJiYoZG9jdW1lbnQuYm9keS5pZD1pLmJvZHlJZCl9fSkoKTsKCTwvc2NyaXB0PgoKCTxkaXYgaWQ9IndpZGdldC10aWNrZXItdGFwZS1jb250YWluZXIiPjwvZGl2PgoKPHNjcmlwdCBub25jZT0iTG5Mb1Q4dUlOck5RTU13VlQxc2FEdz09Ij4KCXdpbmRvdy5pbml0RGF0YSA9IHdpbmRvdy5pbml0RGF0YSB8fCB7fTsKCgl3aW5kb3cuaW5pdERhdGEuc25vd3Bsb3dTZXR0aW5ncyA9IHsKCQljb2xsZWN0b3JJZDogJ3R2X2NmJywKCQl1cmw6ICdzbm93cGxvdy1waXhlbC50cmFkaW5ndmlldy5jb20nLAoJCXBhcmFtczogewoJCQlhcHBJZDogJ3RyYWRpbmd2aWV3JywKCQkJcG9zdFBhdGg6ICcvY29tLnRyYWRpbmd2aWV3L3RyYWNrJywKCQl9LAoJCWVuYWJsZWQ6IHRydWUsCgl9Cjwvc2NyaXB0PjwvYm9keT4KPC9odG1sPg=="}},"time_used":13,"timings":{"blocked":0,"dns":3,"connect":1,"send":0,"wait":2,"receive":0,"ssl":6},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51508.767219283c65f4d4ca6e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.607Z","timestamp":1785129292607,"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/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\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: 7949a6a6f1366a2441256b2a18a992c1\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-27T08:08:22.73485Z","times_seen":4889,"resource_available":false,"data":"LnR2LWRhdGEtbW9kZXt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWV7Y29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtZGF0YS1tb2RlLS1zbmFwc2hvdHtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCl9LnR2LWRhdGEtbW9kZS0tZW5kb2ZkYXl7Y29sb3I6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS00MDApfS50di1kYXRhLW1vZGUtLWNvbm5lY3RpbmcsLnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLC50di1kYXRhLW1vZGUtLWludmFsaWQsLnR2LWRhdGEtbW9kZS0tbG9hZGluZ3t2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1kZWxheWVke2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O3Bvc2l0aW9uOmFic29sdXRlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLXRhcGV7Zm9udC1zaXplOjEwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KX0udHYtZGF0YS1tb2RlLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci10YXBlOmRpcihydGwpe3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci10aWNrZXItdGFwZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6bm9ybWFsO21hcmdpbi1pbmxpbmUtc3RhcnQ6MXB4O21hcmdpbi10b3A6NHB4O3ZlcnRpY2FsLWFsaWduOnRvcH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bWFyZ2luLWxlZnQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1uby1yZWFsdGltZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1kYXRhLW1vZGUtLWZvci1jaGFydHtmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1zdGFydDo2cHh9LnR2LWRhdGEtbW9kZS0tY29ubmVjdGluZy0tZm9yLWNoYXJ0LC50di1kYXRhLW1vZGUtLWxvYWRpbmctLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLS1mb3ItY2hhcnQsLnR2LWRhdGEtbW9kZS0taW52YWxpZC0tZm9yLWNoYXJ0e2NvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7dmlzaWJpbGl0eTp2aXNpYmxlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItY2hhcnR7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1jaGFydC50di1kYXRhLW1vZGUtLXJlcGxheXttYXJnaW4tbGVmdDowfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXItY2FyZHtkaXNwbGF5OmlubGluZTttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtZGF0YS1tb2RlLS1mb3Itc3ltYm9sLXdpZGdldHtkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtd2lkZ2V0LC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1jYXJke2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itd2F0Y2gtbGlzdHtmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4O292ZXJmbG93OnZpc2libGU7cG9pbnRlci1ldmVudHM6YXV0bzt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtbW9kZS0tZm9yLXdhdGNoLWxpc3Q6ZGlyKHJ0bCl7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itd2F0Y2gtbGlzdHt2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxMnB4fS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtaW5mb3tkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXN5bWJvbC1pbmZve2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itc2NyZWVuZXJ7Zm9udC1zaXplOjEwcHh9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci1zY3JlZW5lcntkaXNwbGF5Om5vbmV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80706.a5913aa6ad62d9dbf031.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.618Z","timestamp":1785129292618,"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/80706.a5913aa6ad62d9dbf031.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-1be6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 65316dc86153d703999bafdd5fc2b150\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":7142,"size_decoded":4236,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"7d7a3ddeb844a1fdfe8b024f9df9f0b6","sha1":"b3afece36b14fafc7889e9b954f9736c892a2849","sha256":"0752584a0f2ad3bba4f44bbd6a44bf08a76726c524b79367996ab9b20e03bfba","sha512":"c0b04bf9ca52fee536a54ae9fcb3fcac9ee210f95be1205e4fe48f0cbb1f25a4db788a4ae10cd4b5ee13e1dc5159c2a4d48516d50bf1ee07d2da1a00fa95ac38","ssdeep":"96:VI23hKdh7P1lIbeWL9aqfMbFNriK6Vizc/MuomCA9P0LX4BYyCnsI6T:n3wT9lIbeWJaqfvXQcEA0LHxnf6T","tlshash":"c4e1c6c832b1f0eaa3e325e480ab5806e13a6d5a558e60b6e34557d37874fc540ffec5","first_seen":"2026-07-23T13:38:20.481503Z","last_seen":"2026-07-27T08:08:01.223249Z","times_seen":1069,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4MDcwNl0sezcxMjc0NShyLGUsdCl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBpLG89MWU2LHM9MWU2LGM9IltiaWcuanNdICIsZj1jKyJJbnZhbGlkICIsdT1mKyJkZWNpbWFsIHBsYWNlcyIsaD1mKyJyb3VuZGluZyBtb2RlIixsPWMrIkRpdmlzaW9uIGJ5IHplcm8iLGE9e30sZz12b2lkIDAsdj0vXi0/KFxkKyhcLlxkKik/fFwuXGQrKShlWystXT9cZCspPyQvaTtmdW5jdGlvbiB3KHIsZSx0LG4pe3ZhciBpPXIuYztpZih0PT09ZyYmKHQ9ci5jb25zdHJ1Y3Rvci5STSksMCE9PXQmJjEhPT10JiYyIT09dCYmMyE9PXQpdGhyb3cgRXJyb3IoaCk7aWYoZTwxKW49Mz09PXQmJihufHwhIWlbMF0pfHwwPT09ZSYmKDE9PT10JiZpWzBdPj01fHwyPT09dCYmKGlbMF0+NXx8NT09PWlbMF0mJihufHxpWzFdIT09ZykpKSxpLmxlbmd0aD0xLG4/KHIuZT1yLmUtZSsxLGlbMF09MSk6aVswXT1yLmU9MDtlbHNlIGlmKGU8aS5sZW5ndGgpe2lmKG49MT09PXQmJmlbZV0+PTV8fDI9PT10JiYoaVtlXT41fHw1PT09aVtlXSYmKG58fGlbZSsxXSE9PWd8fDEmaVtlLTFdKSl8fDM9PT10JiYobnx8ISFpWzBdKSxpLmxlbmd0aD1lLS0sbilmb3IoOysraVtlXT45OylpW2VdPTAsZS0tfHwoKytyLmUsaS51bnNoaWZ0KDEpKTtmb3IoZT1pLmxlbmd0aDshaVstLWVdOylpLnBvcCgpfXJldHVybiByfWZ1bmN0aW9uIHAocixlLHQpe3ZhciBuPXIuZSxpPXIuYy5qb2luKCIiKSxvPWkubGVuZ3RoO2lmKGUpaT1pLmNoYXJBdCgwKSsobz4xPyIuIitpLnNsaWNlKDEpOiIiKSsobjwwPyJlIjoiZSsiKStuO2Vsc2UgaWYobjwwKXtmb3IoOysrbjspaT0iMCIraTtpPSIwLiIraX1lbHNlIGlmKG4+MClpZigrK24+bylmb3Iobi09bztuLS07KWkrPSIwIjtlbHNlIG48byYmKGk9aS5zbGljZSgwLG4pKyIuIitpLnNsaWNlKG4pKTtlbHNlIG8+MSYmKGk9aS5jaGFyQXQoMCkrIi4iK2kuc2xpY2UoMSkpO3JldHVybiByLnM8MCYmdD8iLSIraTppfWEuYWJzPWZ1bmN0aW9uKCl7dmFyIHI9bmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyk7cmV0dXJuIHIucz0xLHJ9LGEuY21wPWZ1bmN0aW9uKHIpe3ZhciBlLHQ9dGhpcyxuPXQuYyxpPShyPW5ldyB0LmNvbnN0cnVjdG9yKHIpKS5jLG89dC5zLHM9ci5zLGM9dC5lLGY9ci5lO2lmKCFuWzBdfHwhaVswXSlyZXR1cm4gblswXT9vOmlbMF0/LXM6MDtpZihvIT1zKXJldHVybiBvO2lmKGU9bzwwLGMhPWYpcmV0dXJuIGM+Zl5lPzE6LTE7Zm9yKHM9KGM9bi5sZW5ndGgpPChmPWkubGVuZ3RoKT9jOmYsbz0tMTsrK288czspaWYobltvXSE9aVtvXSlyZXR1cm4gbltvXT5pW29dXmU/MTotMTtyZXR1cm4gYz09Zj8wOmM+Zl5lPzE6LTF9LGEuZGl2PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1lLmNvbnN0cnVjdG9yLG49ZS5jLGk9KHI9bmV3IHQocikpLmMscz1lLnM9PXIucz8xOi0xLGM9dC5EUDtpZihjIT09fn5jfHxjPDB8fGM+byl0aHJvdyBFcnJvcih1KTtpZighaVswXSl0aHJvdyBFcnJvcihsKTtpZighblswXSlyZXR1cm4gci5zPXMsci5jPVtyLmU9MF0scjt2YXIgZixoLGEsdixwLGQ9aS5zbGljZSgpLEU9Zj1pLmxlbmd0aCxtPW4ubGVuZ3RoLGI9bi5zbGljZSgwLGYpLFA9Yi5sZW5ndGgsXz1yLEQ9Xy5jPVtdLGs9MCxNPWMrKF8uZT1lLmUtci5lKSsxO2ZvcihfLnM9cyxzPU08MD8wOk0sZC51bnNoaWZ0KDApO1ArKzxmOyliLnB1c2goMCk7ZG97Zm9yKGE9MDthPDEwO2ErKyl7aWYoZiE9KFA9Yi5sZW5ndGgpKXY9Zj5QPzE6LTE7ZWxzZSBmb3IocD0tMSx2PTA7KytwPGY7KWlmKGlbcF0hPWJbcF0pe3Y9aVtwXT5iW3BdPzE6LTE7YnJlYWt9aWYoISh2PDApKWJyZWFrO2ZvcihoPVA9PWY/aTpkO1A7KXtpZihiWy0tUF08aFtQXSl7Zm9yKHA9UDtwJiYhYlstLXBdOyliW3BdPTk7LS1iW3BdLGJbUF0rPTEwfWJbUF0tPWhbUF19Zm9yKDshYlswXTspYi5zaGlmdCgpfURbaysrXT12P2E6KythLGJbMF0mJnY/YltQXT1uW0VdfHwwOmI9W25bRV1dfXdoaWxlKChFKys8bXx8YlswXSE9PWcpJiZzLS0pO3JldHVybiBEWzBdfHwxPT1rfHwoRC5zaGlmdCgpLF8uZS0tLE0tLSksaz5NJiZ3KF8sTSx0LlJNLGJbMF0hPT1nKSxffSxhLmVxPWZ1bmN0aW9uKHIpe3JldHVybiAwPT09dGhpcy5jbXAocil9LGEuZ3Q9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPjB9LGEuZ3RlPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLmNtcChyKT4tMX0sYS5sdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5jbXAocik8MH0sYS5sdGU9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPDF9LGEubWludXM9YS5zdWI9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLGksbz10aGlzLHM9by5jb25zdHJ1Y3RvcixjPW8ucyxmPShyPW5ldyBzKHIpKS5zO2lmKGMhPWYpcmV0dXJuIHIucz0tZixvLnBsdXMocik7dmFyIHU9by5jLnNsaWNlKCksaD1vLmUsbD1yLmMsYT1yLmU7aWYoIXVbMF18fCFsWzBdKXJldHVybiBsWzBdP3Iucz0tZjp1WzBdP3I9bmV3IHMobyk6ci5zPTEscjtpZihjPWgtYSl7Zm9yKChpPWM8MCk/KGM9LWMsbj11KTooYT1oLG49bCksbi5yZXZlcnNlKCksZj1jO2YtLTspbi5wdXNoKDApO24ucmV2ZXJzZSgpfWVsc2UgZm9yKHQ9KChpPXUubGVuZ3RoPGwubGVuZ3RoKT91OmwpLmxlbmd0aCxjPWY9MDtmPHQ7ZisrKWlmKHVbZl0hPWxbZl0pe2k9dVtmXTxsW2ZdO2JyZWFrfWlmKGkmJihuPXUsdT1sLGw9bixyLnM9LXIucyksKGY9KHQ9bC5sZW5ndGgpLShlPXUubGVuZ3RoKSk+MClmb3IoO2YtLTspdVtlKytdPTA7Zm9yKGY9ZTt0PmM7KXtpZih1Wy0tdF08bFt0XSl7Zm9yKGU9dDtlJiYhdVstLWVdOyl1W2VdPTk7LS11W2VdLHVbdF0rPTEwfXVbdF0tPWxbdF19Zm9yKDswPT09dVstLWZdOyl1LnBvcCgpO2Zvcig7MD09PXVbMF07KXUuc2hpZnQoKSwtLWE7cmV0dXJuIHVbMF18fChyLnM9MSx1PVthPTBdKSxyLmM9dSxyLmU9YSxyfSxhLm1vZD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLGk9dC5zLG89KHI9bmV3IG4ocikpLnMKO2lmKCFyLmNbMF0pdGhyb3cgRXJyb3IobCk7cmV0dXJuIHQucz1yLnM9MSxlPTE9PXIuY21wKHQpLHQucz1pLHIucz1vLGU/bmV3IG4odCk6KGk9bi5EUCxvPW4uUk0sbi5EUD1uLlJNPTAsdD10LmRpdihyKSxuLkRQPWksbi5STT1vLHRoaXMubWludXModC50aW1lcyhyKSkpfSxhLnBsdXM9YS5hZGQ9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLGk9dGhpcyxvPWkuY29uc3RydWN0b3I7aWYocj1uZXcgbyhyKSxpLnMhPXIucylyZXR1cm4gci5zPS1yLnMsaS5taW51cyhyKTt2YXIgcz1pLmUsYz1pLmMsZj1yLmUsdT1yLmM7aWYoIWNbMF18fCF1WzBdKXJldHVybiB1WzBdfHwoY1swXT9yPW5ldyBvKGkpOnIucz1pLnMpLHI7aWYoYz1jLnNsaWNlKCksZT1zLWYpe2ZvcihlPjA/KGY9cyxuPXUpOihlPS1lLG49Yyksbi5yZXZlcnNlKCk7ZS0tOyluLnB1c2goMCk7bi5yZXZlcnNlKCl9Zm9yKGMubGVuZ3RoLXUubGVuZ3RoPDAmJihuPXUsdT1jLGM9biksZT11Lmxlbmd0aCx0PTA7ZTtjW2VdJT0xMCl0PShjWy0tZV09Y1tlXSt1W2VdK3QpLzEwfDA7Zm9yKHQmJihjLnVuc2hpZnQodCksKytmKSxlPWMubGVuZ3RoOzA9PT1jWy0tZV07KWMucG9wKCk7cmV0dXJuIHIuYz1jLHIuZT1mLHJ9LGEucG93PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1uZXcgZS5jb25zdHJ1Y3RvcigiMSIpLG49dCxpPXI8MDtpZihyIT09fn5yfHxyPC0xZTZ8fHI+cyl0aHJvdyBFcnJvcihmKyJleHBvbmVudCIpO2ZvcihpJiYocj0tcik7MSZyJiYobj1uLnRpbWVzKGUpKSxyPj49MTspZT1lLnRpbWVzKGUpO3JldHVybiBpP3QuZGl2KG4pOm59LGEucHJlYz1mdW5jdGlvbihyLGUpe2lmKHIhPT1+fnJ8fHI8MXx8cj5vKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO3JldHVybiB3KG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpLHIsZSl9LGEucm91bmQ9ZnVuY3Rpb24ocixlKXtpZihyPT09ZylyPTA7ZWxzZSBpZihyIT09fn5yfHxyPC1vfHxyPm8pdGhyb3cgRXJyb3IodSk7cmV0dXJuIHcobmV3IHRoaXMuY29uc3RydWN0b3IodGhpcykscit0aGlzLmUrMSxlKX0sYS5zcXJ0PWZ1bmN0aW9uKCl7dmFyIHIsZSx0LG49dGhpcyxpPW4uY29uc3RydWN0b3Isbz1uLnMscz1uLmUsZj1uZXcgaSgiMC41Iik7aWYoIW4uY1swXSlyZXR1cm4gbmV3IGkobik7aWYobzwwKXRocm93IEVycm9yKGMrIk5vIHNxdWFyZSByb290Iik7MD09PShvPU1hdGguc3FydChuKyIiKSl8fG89PT0xLzA/KChlPW4uYy5qb2luKCIiKSkubGVuZ3RoK3MmMXx8KGUrPSIwIikscz0oKHMrMSkvMnwwKS0oczwwfHwxJnMpLHI9bmV3IGkoKChvPU1hdGguc3FydChlKSk9PTEvMD8iNWUiOihvPW8udG9FeHBvbmVudGlhbCgpKS5zbGljZSgwLG8uaW5kZXhPZigiZSIpKzEpKStzKSk6cj1uZXcgaShvKyIiKSxzPXIuZSsoaS5EUCs9NCk7ZG97dD1yLHI9Zi50aW1lcyh0LnBsdXMobi5kaXYodCkpKX13aGlsZSh0LmMuc2xpY2UoMCxzKS5qb2luKCIiKSE9PXIuYy5zbGljZSgwLHMpLmpvaW4oIiIpKTtyZXR1cm4gdyhyLChpLkRQLT00KStyLmUrMSxpLlJNKX0sYS50aW1lcz1hLm11bD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLGk9dC5jLG89KHI9bmV3IG4ocikpLmMscz1pLmxlbmd0aCxjPW8ubGVuZ3RoLGY9dC5lLHU9ci5lO2lmKHIucz10LnM9PXIucz8xOi0xLCFpWzBdfHwhb1swXSlyZXR1cm4gci5jPVtyLmU9MF0scjtmb3Ioci5lPWYrdSxzPGMmJihlPWksaT1vLG89ZSx1PXMscz1jLGM9dSksZT1uZXcgQXJyYXkodT1zK2MpO3UtLTspZVt1XT0wO2ZvcihmPWM7Zi0tOyl7Zm9yKGM9MCx1PXMrZjt1PmY7KWM9ZVt1XStvW2ZdKmlbdS1mLTFdK2MsZVt1LS1dPWMlMTAsYz1jLzEwfDA7ZVt1XT1jfWZvcihjPysrci5lOmUuc2hpZnQoKSxmPWUubGVuZ3RoOyFlWy0tZl07KWUucG9wKCk7cmV0dXJuIHIuYz1lLHJ9LGEudG9FeHBvbmVudGlhbD1mdW5jdGlvbihyLGUpe3ZhciB0PXRoaXMsbj10LmNbMF07aWYociE9PWcpe2lmKHIhPT1+fnJ8fHI8MHx8cj5vKXRocm93IEVycm9yKHUpO2Zvcih0PXcobmV3IHQuY29uc3RydWN0b3IodCksKytyLGUpO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIHAodCwhMCwhIW4pfSxhLnRvRml4ZWQ9ZnVuY3Rpb24ocixlKXt2YXIgdD10aGlzLG49dC5jWzBdO2lmKHIhPT1nKXtpZihyIT09fn5yfHxyPDB8fHI+byl0aHJvdyBFcnJvcih1KTtmb3Iocj1yKyh0PXcobmV3IHQuY29uc3RydWN0b3IodCkscit0LmUrMSxlKSkuZSsxO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIHAodCwhMSwhIW4pfSxhLnRvSlNPTj1hLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHI9dGhpcyxlPXIuY29uc3RydWN0b3I7cmV0dXJuIHAocixyLmU8PWUuTkV8fHIuZT49ZS5QRSwhIXIuY1swXSl9LGEudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgcj1OdW1iZXIocCh0aGlzLCEwLCEwKSk7aWYoITA9PT10aGlzLmNvbnN0cnVjdG9yLnN0cmljdCYmIXRoaXMuZXEoci50b1N0cmluZygpKSl0aHJvdyBFcnJvcihjKyJJbXByZWNpc2UgY29udmVyc2lvbiIpO3JldHVybiByfSxhLnRvUHJlY2lzaW9uPWZ1bmN0aW9uKHIsZSl7dmFyIHQ9dGhpcyxuPXQuY29uc3RydWN0b3IsaT10LmNbMF07aWYociE9PWcpe2lmKHIhPT1+fnJ8fHI8MXx8cj5vKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO2Zvcih0PXcobmV3IG4odCkscixlKTt0LmMubGVuZ3RoPHI7KXQuYy5wdXNoKDApfXJldHVybiBwKHQscjw9dC5lfHx0LmU8PW4uTkV8fHQuZT49bi5QRSwhIWkpfSxhLnZhbHVlT2Y9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGU9ci5jb25zdHJ1Y3RvcjtpZighMD09PWUuc3RyaWN0KXRocm93IEVycm9yKGMrInZhbHVlT2YgZGlzYWxsb3dlZCIpO3JldHVybiBwKHIsci5lPD1lLk5FfHxyLmU+PWUuUEUsITApfSxpPWZ1bmN0aW9uIHIoKXtmdW5jdGlvbiBlKHQpe3ZhciBuPXRoaXM7aWYoIShuIGluc3RhbmNlb2YgZSkpcmV0dXJuIHQ9PT1nP3IoKTpuZXcgZSh0KTtpZih0IGluc3RhbmNlb2YgZSluLnM9dC5zLG4uZT10LmUsbi5jPXQuYy5zbGljZSgpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiB0KXsKaWYoITA9PT1lLnN0cmljdCl0aHJvdyBUeXBlRXJyb3IoZisibnVtYmVyIik7dD0wPT09dCYmMS90PDA/Ii0wIjpTdHJpbmcodCl9IWZ1bmN0aW9uKHIsZSl7dmFyIHQsbixpO2lmKCF2LnRlc3QoZSkpdGhyb3cgRXJyb3IoZisibnVtYmVyIik7ci5zPSItIj09ZS5jaGFyQXQoMCk/KGU9ZS5zbGljZSgxKSwtMSk6MSwodD1lLmluZGV4T2YoIi4iKSk+LTEmJihlPWUucmVwbGFjZSgiLiIsIiIpKTsobj1lLnNlYXJjaCgvZS9pKSk+MD8odDwwJiYodD1uKSx0Kz0rZS5zbGljZShuKzEpLGU9ZS5zdWJzdHJpbmcoMCxuKSk6dDwwJiYodD1lLmxlbmd0aCk7Zm9yKGk9ZS5sZW5ndGgsbj0wO248aSYmIjAiPT1lLmNoYXJBdChuKTspKytuO2lmKG49PWkpci5jPVtyLmU9MF07ZWxzZXtmb3IoO2k+MCYmIjAiPT1lLmNoYXJBdCgtLWkpOyk7Zm9yKHIuZT10LW4tMSxyLmM9W10sdD0wO248PWk7KXIuY1t0KytdPStlLmNoYXJBdChuKyspfX0obix0KX1uLmNvbnN0cnVjdG9yPWV9cmV0dXJuIGUucHJvdG90eXBlPWEsZS5EUD0yMCxlLlJNPTEsZS5ORT0tNyxlLlBFPTIxLGUuc3RyaWN0PWZhbHNlLGUucm91bmREb3duPTAsZS5yb3VuZEhhbGZVcD0xLGUucm91bmRIYWxmRXZlbj0yLGUucm91bmRVcD0zLGV9KCksaS5kZWZhdWx0PWkuQmlnPWksdm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gaX0uY2FsbChlLHQsZSxyKSl8fChyLmV4cG9ydHM9bil9KCl9LDk2MzA5OChyLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtnZXRJc29MYW5ndWFnZUNvZGVGcm9tTGFuZ3VhZ2U6KCk9Pml9KTtjb25zdCBuPXthcl9BRToiYXIiLGJyOiJwdCIsZGVfREU6ImRlIixjYV9FUzoiY2EiLGhlX0lMOiJoZSIsaWRfSUQ6ImlkIixpbjoiZW4iLGtyOiJrbyIsbXNfTVk6Im1zIixzdl9TRToic3YiLHRoX1RIOiJ0aCIsdWs6ImVuIix2aV9WTjoidmkiLHpoX0NOOiJ6aC1IYW5zIix6aF9UVzoiemgtSGFudCIsemg6InpoLUhhbnMiLGh1X0hVOiJodS1IVSJ9O2Z1bmN0aW9uIGkocil7cmV0dXJuIG5bcl18fHJ9fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/indices/s-and-p-500.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.916Z","timestamp":1785129292916,"http_version":"HTTP/2","security_state":"secure","security_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 /indices/s-and-p-500.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 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: \"f120e635d6a57528861fe87233bc6c11\"\r\nlast-modified: Thu, 26 May 2022 07:17:22 GMT\r\ncdn-cachedat: 08/09/2025 14:29:45\r\nx-amz-id-2: qCsAUqIpsCfJaAWof8QktvCdDdkX7LP1F6Y3OLXsMYBG3TiLeqs03hdf/2Kd1TR5ArQ1JYOCQis=\r\nx-amz-request-id: B365SAHS09PPEEGF\r\nx-amz-meta-hash: f120e635d6a57528861fe87233bc6c11\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: 3be02e4f23ecda072397a1bc761eb9b8\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":1077,"size_decoded":1394,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (1077), with no line terminators","md5":"f120e635d6a57528861fe87233bc6c11","sha1":"5375e7fbf750045de3953e70f9aca8ccd8fb659d","sha256":"bc65c6721af6fef8b02dca12cd466a18150acbe66203f45d76782f210194867e","sha512":"e2f959afe015e3c45b866ff60b73a3950af97eb0cafb7abc94bce2b3f6aacaaff0f61c2082ac1c6a92114af05773320027f699b4af2f9fc14c93ee25ffca34e7","ssdeep":"","tlshash":"9e11f3c9571476c82487ea41bf7d7dd96186baba2fb246c0d05fc52c52c37d2ad08c5c","first_seen":"2023-06-18T17:30:27Z","last_seen":"2026-07-27T08:08:01.235407Z","times_seen":4260,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjQzQxNjJFIiBkPSJNMCAwaDE4djE4SDB6Ii8+PHBhdGggZD0iTTQuMTQ3IDEyYzEuMzA4IDAgMi4yMTUtLjgyNCAyLjIxNS0yLjAzOHYtLjAwOGMwLTEuMDkzLS43ODgtMS44ODQtMS44OC0xLjg4NC0uNTc5IDAtMS4wNTIuMjM3LTEuMjkyLjYyN2gtLjAyNGwuMTQyLTEuNjMyaDIuNzA3VjYuMUgyLjM2MmwtLjI2NCAzLjQwNGgxLjAzM2MuMDctLjEyLjE2NS0uMjMzLjI3Ni0uMzIxLjE5Ny0uMTU3LjQ0OS0uMjQ1Ljc0OC0uMjQ1LjYyMyAwIDEuMDY4LjQzIDEuMDcyIDEuMDR2LjAwOWMwIC42MTgtLjQ0NSAxLjA1My0xLjA3NiAxLjA1My0uNTU1IDAtLjk2MS0uMzM4LTEuMDQ4LS43NzZsLS4wMDQtLjAyOEgybC4wMDQuMDZDMi4wNyAxMS4yNjUgMi44OTggMTIgNC4xNDcgMTJaTTguODg2IDEyYzEuNDI2IDAgMi4yOTMtMS4xNTMgMi4yOTMtMi45OTh2LS4wMDhDMTEuMTc5IDcuMTQ5IDEwLjMxMiA2IDguODg2IDZjLTEuNDMgMC0yLjI5NyAxLjE1LTIuMjk3IDIuOTk0di4wMDhjMCAxLjg0NS44NjYgMi45OTggMi4yOTcgMi45OThabTAtLjk3M2MtLjY5OCAwLTEuMDkyLS43NTEtMS4wOTItMi4wMjV2LS4wMDhjMC0xLjI3NC4zOTQtMi4wMjEgMS4wOTItMi4wMjEuNjkzIDAgMS4wOTEuNzQ3IDEuMDkxIDIuMDIxdi4wMDhjMCAxLjI3NC0uMzk4IDIuMDI1LTEuMDkxIDIuMDI1Wk0xMy43MDcgMTJDMTUuMTMzIDEyIDE2IDEwLjg0NyAxNiA5LjAwMnYtLjAwOEMxNiA3LjE0OSAxNS4xMzMgNiAxMy43MDcgNmMtMS40MyAwLTIuMjk3IDEuMTUtMi4yOTcgMi45OTR2LjAwOGMwIDEuODQ1Ljg2NyAyLjk5OCAyLjI5NyAyLjk5OFptMC0uOTczYy0uNjk4IDAtMS4wOTItLjc1MS0xLjA5Mi0yLjAyNXYtLjAwOGMwLTEuMjc0LjM5NC0yLjAyMSAxLjA5Mi0yLjAyMS42OTMgMCAxLjA5MS43NDcgMS4wOTEgMi4wMjF2LjAwOGMwIDEuMjc0LS4zOTggMi4wMjUtMS4wOTEgMi4wMjVaIiBmaWxsPSIjZmZmIi8+PC9zdmc+"}},"time_used":41,"timings":{"blocked":2,"dns":20,"connect":1,"send":0,"wait":2,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"jnn-pa.googleapis.com/$rpc/google.internal.waa.v1.Waa/GenerateIT","fqdn":"jnn-pa.googleapis.com","domain":"jnn-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.117.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:55.014Z","timestamp":1785129295014,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:20 GMT","end":"Mon, 21 Sep 2026 08:39:19 GMT"},"fingerprint":{"sha1":"2A:E6:04:0E:76:A4:02:27:67:28:31:4D:E5:61:19:26:CA:0E:32:84","sha256":"D4:ED:C4:F8:DB:31:8A:2D:35:15:01:14:C0:49:CB:47:FF:5B:CC:17:14:82:63:9B:A8:6F:61:4D:AA:E5:96:94"}}},"request":{"raw":"POST /$rpc/google.internal.waa.v1.Waa/GenerateIT HTTP/1.1\r\nHost: jnn-pa.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Api-Key: AIzaSyDyT5W0Jh49F30Pqqtyfdf7pDLFKLJoAnw\r\nContent-Type: application/json+protobuf\r\nContent-Length: 2106\r\nOrigin: https://www.youtube-nocookie.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube-nocookie.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":2106,"data":"[\"O43z0dpjhgX20SCx4KAo\",\"$afY59pJRAAYuiqQtDoreTJNx0On_jbinAEABEArZ1CX_TfjPX0UT0W65nsUEYPcAWHB9MuUxMcwQBjh8hVqjCz5DUHxHYJyM8ek26ccwbqEj3GIVyZhqajQbngAAALbOAAAAEPQBB-IAUvHH3uJMfJoqQNAWLbvyB0FGMnmJHfNGjgZx5kkn8bYBjvLJnBDCkqNrfqqMlxnGVvYAJT1idU-NiS6COpGCSOqm_l3wmfRwvfDMrQwp_LwoPLIFBVd1Ne06qAZXDMPl-XmLvxQ0EbRLrS1YQuZypkXuJgT9XQjrSZSEwtauzhODYlITuE9lO_aI3B76OWBCM8b1kCTnJmDAyXS7UHrL1yWqYWu1QNQ2qMPPEiDv8HQBi8QK_U4M1DOLtmLp_dSVHYj04IjCpQBoF283fbhfJWvuWWf6fJY4wN4lsItZV38H_cX22yQvyFvDIi-mSLowl5dZYkwVrHGhJiGSSoGvge5R1KQMFRXZkgCWxXgxUuBTP7LtFS3bgEjEq7OdUHDCcuz8yhygf3RXs4oNTIAfocolmQPjXxw4ZBX5v1p8yO5WsxKBPIxiEn-gidJ6KtnHPCF7dAfVe_K-JzhW35v9c8XmlucL_XlnS30QMBjlr4aKam9Nuy2SL_yly56lBeSOhpWHeExBhPeeQ7wgDmH8KMZHUWdY514tX5ibM81X8p62tOai_TIPugzE2qdVoykkEH2HNmdJHoG-HfcUqjKF3hpeLT_0z-jsxza8HeqqRT1fSOanYm4ceDTY-zuUkrMJWq9gwhqM29izoneXTIhz2MKT4fYbgrEsGGnIeeOqZiILtVEtefrQgqb9Kp7keBmYuCCG-HUBQdSzFd2CgdSCjkSRTzZKxp1Rp3eoQ84koZLiiZQy9zP0dpOF0Q_1XEPNXp5oJLd1V1_CU9g9yrgA5Vc-OGFJGRZFvqmR-VuwhNoaO9Pz7B1yCEPXk5REPRTcII1XAVDa-kN-nX6fNRQNZ_uNkh765WA50FvAH3XganQWHUkl72hkedSTJMEZgbADlXcp0Wur2wbEbMmjY2gGbxoMtDhXa-_JGYCf-7B5HqYL6CZH7mMzIcV3iGeZtCDUI9Ah0Wqq8jKYARCLRZQ5KJlS8K28cOyQpGq7_KXYWKyaQJtSjQaJikq0e3yMFKrIGcRgsqhHCCMdXkTsYrTMI5We1WhgUa4roejzaoSLjVLq3T2pHYPjQeTUIBoiI_U9hcmfRk1goA6wcrfCDZGkK4_voFa_Qu2ZNrg68NyUo_A4T0sQTJDq9-5EkNRh9ceYVfPjBKzG3Kd24qwEJdgOV7fhI69IrvEiTuscL7xe6mRHhjtPZGjAWU1e_nFXHEDFo5_JHUBINAj65lW1AcQBuv_ErIfv3OMHPxw-FSbjG9oKxJJYvWfuU7shkAzvzn1coF-J6UHinTabMV77-KDzpZQ-QenJp6tmmM4i--rzDVDukODZ7xmkFpeJpqJciV2zYD0yQQvmkSjh2ddmq-U-y_vV-W05rU9Z2oNAj3PDElvL638axM3qO7fJ4d4KnoaN5sgK6kmX4Q45r9-BmsXMmeNgaoha0G9H0gbGQLCj77VnWAzYJFjMVpYa3yNiyC_vWX4igXgn2EWNYFc5SZF6Thb_POTEqqwjAUmSavQhyE2YqSGhOa3CR2bpPyHj_A39o5-h2SDEDjdbvH4DmvxXNA8_EQUZbf3WmlsV90h1GXJXNR8Z7Umr8TIymfz9MHsjLDNUoNpc8SNwSoulP8hwkX_lI5PmtEbgrKp9lYGmyj0p6RJ6qCnUDUiTZ4ww_nIhctrhHtyqlNjwaer6boU20E-5md71oYBk-PltLMjCgXr26PrULSOCPYyvkpZUdndPKOsUyCs6wTMcRIC6340-UyNCi-Z2U4S19rDame4WRQqMeSXPswsuIYQXvKftcH3lzICx9FeHJnIPLJrg2muXUShm44MzRCtJ9oCeFhxmVHqc_2LiaPBGZ_KAAO20UVl_dicNKruMYgH3roMZGTJf583LoKFGxcYtP53Q0GXEJvx1ZmW1LAVl3q-RMiCJnvle4JzwQvbyWgpCfA-xeQ\"]"}},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/json+protobuf; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 05:14:55 GMT\r\nserver: ESF\r\ncontent-length: 118\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\naccess-control-allow-origin: https://www.youtube-nocookie.com\r\naccess-control-expose-headers: vary,vary,vary,content-encoding,date,server,content-length\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":98,"size_decoded":631,"mime_type":"application/json+protobuf; charset=UTF-8","magic":"JSON text data","md5":"63202c31a6b7dd9ca1fa93ce11df564a","sha1":"54c36b6de506b7c23c7321412e9f454f2e174f9c","sha256":"a5786edebacea14ed392289d21cb98c4647a78317712bcaf1f960f7bd0220bf5","sha512":"17897b7dd1b371d2c664bcb3c124b4ad0f78e68f7c740ccb66c2f7b847c4faf278830fcc635d07b74b0710258cd10d3d9c20ba69037b11fc598a0d5acf9e07e1","ssdeep":"","tlshash":"e2b012ea911e29977cc64c88e394600f4230091717d432086b86904ccbe9c00d8b22d1","first_seen":"2026-07-27T05:15:36.987006Z","last_seen":"2026-07-27T05:15:36.987006Z","times_seen":1,"resource_available":false,"data":"WyJ1Nzg1VEozZjE3eUhpbjkyQmI4aGdmdXhwYy9zcmw2L3BxWVNxelFuWmUrTkR1VmRKeWRYUjVHckxVNmJUVytWVTY0b3lwZUxSRmlLQmJ6alZsST0iLDQzMjAwLDEwMF0="}},"time_used":25,"timings":{"blocked":0,"dns":0,"connect":0,"send":1,"wait":24,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/element/log?format=json\u0026hasfast=true\u0026authuser=0","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:15:02.833Z","timestamp":1785129302833,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"OPTIONS /element/log?format=json\u0026hasfast=true\u0026authuser=0 HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-encoding,content-type,x-goog-authuser\r\nReferer: https://crystal-exploits.org/\r\nOrigin: https://crystal-exploits.org\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: https://crystal-exploits.org\r\naccess-control-allow-methods: GET, POST, OPTIONS\r\naccess-control-max-age: 86400\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web,authorization,content-encoding,content-type,x-goog-authuser,origin\r\ncontent-type: text/plain; charset=UTF-8\r\ndate: Mon, 27 Jul 2026 05:15:02 GMT\r\nserver: Playlog\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":528,"mime_type":"text/plain; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T08:08:41.31747Z","times_seen":17559137,"resource_available":true,"data":""}},"time_used":31,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":31,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99527.15c5c25d27a56a0df772.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.592Z","timestamp":1785129292592,"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/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\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: a0ec3680682a30c24e9605a118321228\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-27T08:08:22.767253Z","times_seen":5116,"resource_available":false,"data":"aHRtbHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbn1odG1sW2xhbmc9dmldIGJvZHl7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZn1ib2R5LGh0bWx7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlfWJvZHksZGlyLGgxLGgyLGgzLGg0LGg1LGg2LGh0bWwsbGksbWVudSxvbCxwLHVse21hcmdpbjowO3BhZGRpbmc6MH1he3RleHQtZGVjb3JhdGlvbjpub25lfWE6YWN0aXZle291dGxpbmU6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7YTpob3ZlcntvdXRsaW5lOjB9fWgxe2ZvbnQtc2l6ZToyZW19c3ViLHN1cHtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246aW5pdGlhbH1zdXB7dG9wOi0uMjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1maWd1cmV7bWFyZ2luOjB9cHJle292ZXJmbG93OmF1dG99Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7bWFyZ2luOjB9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixpbnB1dFt0eXBlPWJ1dHRvbl0saW5wdXRbdHlwZT1yZXNldF0saW5wdXRbdHlwZT1zdWJtaXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOmRlZmF1bHR9aW5wdXRbZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtib3gtc2l6aW5nOmluaXRpYWx9aW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1maWVsZHNldHtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9dGQsdGh7cGFkZGluZzowfTpyb290ey0tY29sb3Itd2hpdGU6I2ZmZjstLWNvbG9yLWJsYWNrOiMwMDA7LS1jb2xvci10cmFuc3BhcmVudDojMDAwMDstLWNvbG9yLWNvbGQtZ3JheS01MDojZjlmOWY5Oy0tY29sb3ItY29sZC1ncmF5LTEwMDojZjJmMmYyOy0tY29sb3ItY29sZC1ncmF5LTE1MDojZWJlYmViOy0tY29sb3ItY29sZC1ncmF5LTIwMDojZGJkYmRiOy0tY29sb3ItY29sZC1ncmF5LTI1MDojYzljOWM5Oy0tY29sb3ItY29sZC1ncmF5LTMwMDojYjhiOGI4Oy0tY29sb3ItY29sZC1ncmF5LTM1MDojYThhOGE4Oy0tY29sb3ItY29sZC1ncmF5LTQwMDojOWM5YzljOy0tY29sb3ItY29sZC1ncmF5LTQ1MDojOGM4YzhjOy0tY29sb3ItY29sZC1ncmF5LTUwMDpncmV5Oy0tY29sb3ItY29sZC1ncmF5LTU1MDojNzA3MDcwOy0tY29sb3ItY29sZC1ncmF5LTYwMDojNjM2MzYzOy0tY29sb3ItY29sZC1ncmF5LTY1MDojNTc1NzU3Oy0tY29sb3ItY29sZC1ncmF5LTcwMDojNGE0YTRhOy0tY29sb3ItY29sZC1ncmF5LTc1MDojM2QzZDNkOy0tY29sb3ItY29sZC1ncmF5LTgwMDojMmUyZTJlOy0tY29sb3ItY29sZC1ncmF5LTg1MDojMWYxZjFmOy0tY29sb3ItY29sZC1ncmF5LTkwMDojMGYwZjBmOy0tY29sb3ItY29sZC1ncmF5LTk1MDojMDAwOy0tY29sb3ItcmlwZS1yZWQtNTA6I2ZmZWJlYzstLWNvbG9yLXJpcGUtcmVkLTEwMDojZmNjYmNkOy0tY29sb3ItcmlwZS1yZWQtMjAwOiNmYWExYTQ7LS1jb2xvci1yaXBlLXJlZC0zMDA6I2Y3N2M4MDstLWNvbG9yLXJpcGUtcmVkLTQwMDojZjc1MjVmOy0tY29sb3ItcmlwZS1yZWQtNTAwOiNmMjM2NDU7LS1jb2xvci1yaXBlLXJlZC02MDA6I2NjMmYzYzstLWNvbG9yLXJpcGUtcmVkLTcwMDojYjIyODMzOy0tY29sb3ItcmlwZS1yZWQtODAwOiM5OTFmMjk7LS1jb2xvci1yaXBlLXJlZC05MDA6IzgwMTkyMjstLWNvbG9yLXJpcGUtcmVkLWExMDA6I2ZmODA4MDstLWNvbG9yLXJpcGUtcmVkLWEyMDA6I2ZmNTI1MjstLWNvbG9yLXJpcGUtcmVkLWE0MDA6I2YzMzstLWNvbG9yLXJpcGUtcmVkLWE2MDA6I2NjMjkyOTstLWNvbG9yLXJpcGUtcmVkLWE3MDA6IzgwMjAyODstLWNvbG9yLXJpcGUtcmVkLWE4MDA6IzRkMTkxZDstLWNvbG9yLXJpcGUtcmVkLWE5MDA6IzMzMWYyMDstLWNvbG9yLXRhbi1vcmFuZ2UtNTA6I2ZmZjNlMDstLWNvbG9yLXRhbi1vcmFuZ2UtMTAwOiNmZmUwYjI7LS1jb2xvci10YW4tb3JhbmdlLTIwMDojZmZjYzgwOy0tY29sb3ItdGFuLW9yYW5nZS0zMDA6I2ZmYjc0ZDstLWNvbG9yLXRhbi1vcmFuZ2UtNDAwOiNmZmE3MjY7LS1jb2xvci10YW4tb3JhbmdlLTUwMDojZmY5ODAwOy0tY29sb3ItdGFuLW9yYW5nZS02MDA6I2ZiOGMwMDstLWNvbG9yLXRhbi1vcmFuZ2UtNzAwOiNmNTdjMDA7LS1jb2xvci10YW4tb3JhbmdlLTgwMDojZWY2YzAwOy0tY29sb3ItdGFuLW9yYW5nZS05MDA6I2U2NTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTEwMDojZmZkMTgwOy0tY29sb3ItdGFuLW9yYW5nZS1hMjAwOiNmZmFiNDA7LS1jb2xvci10YW4tb3JhbmdlLWE0MDA6I2ZmOTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTUwMDojZTU3ZTE3Oy0tY29sb3ItdGFuLW9yYW5nZS1hNjAwOiNjYzcwMTQ7LS1jb2xvci10YW4tb3JhbmdlLWE3MDA6IzhjNTQxYzstLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMDojNTkzYTFiOy0tY29sb3ItdGFuLW9yYW5nZS1hOTAwOiMzMzI2MWE7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tNTA6I2U4ZjVlOTstLWNvbG9yLWlndWFuYS1ncmVlbi0xMDA6I2M4ZTZjOTstLWNvbG9yLWlndWFuYS1ncmVlbi0yMDA6I2E1ZDZhNzstLWNvbG9yLWlndWFuYS1ncmVlbi0zMDA6IzgxYzc4NDstLWNvbG9yLWlndWFuYS1ncmVlbi00MDA6IzY2YmI2YTstLWNvbG9yLWlndWFuYS1ncmVlbi01MDA6IzRjYWY1MDstLWNvbG9yLWlndWFuYS1ncmVlbi02MDA6IzQzYTA0NzstLWNvbG9yLWlndWFuYS1ncmVlbi03MDA6IzM4OGUzYzstLWNvbG9yLWlndWFuYS1ncmVlbi04MDA6IzJlN2QzMjstLWNvbG9yLWlndWFuYS1ncmVlbi05MDA6IzFiNWUyMDstLWNvbG9yLWlndWFuYS1ncmVlbi1hMTAwOiNiOWY2Y2E7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tYTIwMDojNjlmMGFlOy0tY29sb3ItaWd1YW5hLWdyZWVuLWE0MDA6IzAwZTY3NjstLWNvbG9yLWlndWFuYS1ncmVlbi1hNzAwOiMwMGM4NTM7LS1jb2xvci1iYW5hbmEteWVsbG93LTUwOiNmZmZkZTc7LS1jb2xvci1iYW5hbmEteWVsbG93LTEwMDojZmZmOWM0Oy0tY29sb3ItYmFuYW5hLXllbGxvdy0yMDA6I2ZmZjU5ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctMzAwOiNmZmYxNzY7LS1jb2xvci1iYW5hbmEteWVsbG93LTQwMDojZmZlZTU4Oy0tY29sb3ItYmFuYW5hLXllbGxvdy01MDA6I2ZmZWIzYjstLWNvbG9yLWJhbmFuYS15ZWxsb3ctNjAwOiNmZGQ4MzU7LS1jb2xvci1iYW5hbmEteWVsbG93LTcwMDojZmJjMDJkOy0tY29sb3ItYmFuYW5hLXllbGxvdy04MDA6I2Y5YTgyNTstLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwOiNmNTdmMTc7LS1jb2xvci1iYW5hbmEteWVsbG93LWExMDA6I2ZmZmY4ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMDojZmYwOy0tY29sb3ItYmFuYW5hLXllbGxvdy1hNDAwOiNmZmVhMDA7LS1jb2xvci1iYW5hbmEteWVsbG93LWE3MDA6I2VlZGEwMTstLWNvbG9yLXR2LWJsdWUtNTA6I2UzZWZmZDstLWNvbG9yLXR2LWJsdWUtMTAwOiNiYmQ5ZmI7LS1jb2xvci10di1ibHVlLTIwMDojOTBiZmY5Oy0tY29sb3ItdHYtYmx1ZS0zMDA6IzViOWNmNjstLWNvbG9yLXR2LWJsdWUtNDAwOiMzMTc5ZjU7LS1jb2xvci10di1ibHVlLTUwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS02MDA6IzFlNTNlNTstLWNvbG9yLXR2LWJsdWUtNzAwOiMxODQ4Y2M7LS1jb2xvci10di1ibHVlLTgwMDojMTQzZWIyOy0tY29sb3ItdHYtYmx1ZS05MDA6IzBjMzI5OTstLWNvbG9yLXR2LWJsdWUtYTEwMDojODJiMWZmOy0tY29sb3ItdHYtYmx1ZS1hMjAwOiM0NDhhZmY7LS1jb2xvci10di1ibHVlLWE0MDA6IzI5NzlmZjstLWNvbG9yLXR2LWJsdWUtYTYwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS1hNzAwOiMxNDNhODc7LS1jb2xvci10di1ibHVlLWE4MDA6IzE0MmU2MTstLWNvbG9yLXR2LWJsdWUtYTkwMDojMTMyMDQyOy0tY29sb3ItZGVlcC1ibHVlLTUwOiNlZGU3ZjY7LS1jb2xvci1kZWVwLWJsdWUtMTAwOiNkMWM0ZTk7LS1jb2xvci1kZWVwLWJsdWUtMjAwOiNiMzlkZGI7LS1jb2xvci1kZWVwLWJsdWUtMzAwOiM5NTc1Y2Q7LS1jb2xvci1kZWVwLWJsdWUtNDAwOiM3ZTU3YzI7LS1jb2xvci1kZWVwLWJsdWUtNTAwOiM2NzNhYjc7LS1jb2xvci1kZWVwLWJsdWUtNjAwOiM1ZTM1YjE7LS1jb2xvci1kZWVwLWJsdWUtNzAwOiM1MTJkYTg7LS1jb2xvci1kZWVwLWJsdWUtODAwOiM0NTI3YTA7LS1jb2xvci1kZWVwLWJsdWUtOTAwOiMzMTFiOTI7LS1jb2xvci1kZWVwLWJsdWUtYTEwMDojYjM4OGZmOy0tY29sb3ItZGVlcC1ibHVlLWEyMDA6IzdjNGRmZjstLWNvbG9yLWRlZXAtYmx1ZS1hNDAwOiM2NTFmZmY7LS1jb2xvci1kZWVwLWJsdWUtYTcwMDojNjIwMGVhOy0tY29sb3ItbWludHktZ3JlZW4tNTA6I2RhZjJlZTstLWNvbG9yLW1pbnR5LWdyZWVuLTEwMDojYWNlNWRjOy0tY29sb3ItbWludHktZ3JlZW4tMjAwOiM3MGNjYmQ7LS1jb2xvci1taW50eS1ncmVlbi0zMDA6IzQyYmRhODstLWNvbG9yLW1pbnR5LWdyZWVuLTQwMDojMjJhYjk0Oy0tY29sb3ItbWludHktZ3JlZW4tNTAwOiMwODk5ODE7LS1jb2xvci1taW50eS1ncmVlbi02MDA6IzA2ODA2YjstLWNvbG9yLW1pbnR5LWdyZWVuLTcwMDojMDU2NjU2Oy0tY29sb3ItbWludHktZ3JlZW4tODAwOiMwMDRkNDA7LS1jb2xvci1taW50eS1ncmVlbi05MDA6IzAwMzMyYTstLWNvbG9yLW1pbnR5LWdyZWVuLWExMDA6I2E3ZmZmMDstLWNvbG9yLW1pbnR5LWdyZWVuLWEyMDA6IzQ1ZTVjYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE0MDA6IzJiZDliYzstLWNvbG9yLW1pbnR5LWdyZWVuLWE2MDA6IzI0YjI5YjstLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDA6IzFiNzY2NzstLWNvbG9yLW1pbnR5LWdyZWVuLWE4MDA6IzEwNDQzYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE5MDA6IzA4MjYyMTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTA6I2YzZTVmNTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtMTAwOiNlMWJlZTc7LS1jb2xvci1ncmFwZXMtcHVycGxlLTIwMDojY2U5M2Q4Oy0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDA6I2JhNjhjODstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNDAwOiNhYjQ3YmM7LS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMDojOWMyN2IwOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS02MDA6IzhlMjRhYTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwOiM3YjFmYTI7LS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMDojNmExYjlhOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS05MDA6IzRhMTQ4YzstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTEwMDojZWE4MGZjOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS1hMjAwOiNlMDQwZmI7LS1jb2xvci1ncmFwZXMtcHVycGxlLWE0MDA6I2Q1MDBmOTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTcwMDojYTBmOy0tY29sb3ItYmVycnktcGluay01MDojZmNlNGVjOy0tY29sb3ItYmVycnktcGluay0xMDA6I2Y4YmJkMDstLWNvbG9yLWJlcnJ5LXBpbmstMjAwOiNmNDhmYjE7LS1jb2xvci1iZXJyeS1waW5rLTMwMDojZjA2MjkyOy0tY29sb3ItYmVycnktcGluay00MDA6I2VjNDA3YTstLWNvbG9yLWJlcnJ5LXBpbmstNTAwOiNlOTFlNjM7LS1jb2xvci1iZXJyeS1waW5rLTYwMDojZDgxYjYwOy0tY29sb3ItYmVycnktcGluay03MDA6I2MyMTg1YjstLWNvbG9yLWJlcnJ5LXBpbmstODAwOiNhZDE0NTc7LS1jb2xvci1iZXJyeS1waW5rLTkwMDojODgwZTRmOy0tY29sb3ItYmVycnktcGluay1hMTAwOiNmZjgwYWI7LS1jb2xvci1iZXJyeS1waW5rLWEyMDA6I2ZmNDA4MTstLWNvbG9yLWJlcnJ5LXBpbmstYTQwMDojZjUwMDU3Oy0tY29sb3ItYmVycnktcGluay1hNzAwOiNjNTExNjI7LS1jb2xvci1za3ktYmx1ZS01MDojZTBmN2ZhOy0tY29sb3Itc2t5LWJsdWUtMTAwOiNiMmViZjI7LS1jb2xvci1za3ktYmx1ZS0yMDA6IzgwZGVlYTstLWNvbG9yLXNreS1ibHVlLTMwMDojNGRkMGUxOy0tY29sb3Itc2t5LWJsdWUtNDAwOiMyNmM2ZGE7LS1jb2xvci1za3ktYmx1ZS01MDA6IzAwYmNkNDstLWNvbG9yLXNreS1ibHVlLTYwMDojMDBhY2MxOy0tY29sb3Itc2t5LWJsdWUtNzAwOiMwMDk3YTc7LS1jb2xvci1za3ktYmx1ZS04MDA6IzAwODM4ZjstLWNvbG9yLXNreS1ibHVlLTkwMDojMDA2MDY0Oy0tY29sb3Itc2t5LWJsdWUtYTEwMDojODRmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTIwMDojMThmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTQwMDojMDBlNWZmOy0tY29sb3Itc2t5LWJsdWUtYTcwMDojMDBiOGQ0Oy0tY29sb3ItZm9yZXN0LWdyZWVuLTUwOiNkYWYyZTY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMTAwOiNhY2U1Yzk7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwOiM3MGNjOWU7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwOiM0MmJkN2Y7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwOiMyMmFiNjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwOiMwODk5NTA7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNjAwOiMwNjgwNDM7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwOiMwNTY2MzY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwOiMwMDRkMjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwOiMxYTMzMjY7LS1jb2xvci1mYWNlYm9vazojMTg3N2YyOy0tY29sb3ItZGVlcC1mYWNlYm9vazojMTU2NGNhOy0tY29sb3ItdHdpdHRlcjojMWRhMWYyOy0tY29sb3ItZGVlcC10d2l0dGVyOiMxODhjZDM7LS1jb2xvci15b3V0dWJlOnJlZDstLWNvbG9yLWxpbmtlZGluOiMwMDdiYjU7LS1jb2xvci1zZWVraW5nLWFscGhhLWJyYW5kOiNmZjcyMDB9W2RhdGEtdGhlbWU9bGlnaHRdey0tY29sb3ItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvZHktYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9keS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmctaGlnaGxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItdGV4dC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApOy0tY29sb3ItdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWFjY2VudC1jb250ZW50OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm94LXNoYWRvdzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWRpdmlkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kaXZpZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItZGl2aWRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnJhbmQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGlnaGxpZ2h0LW5ldzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWlucHV0LXB1Ymxpc2gtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBhbmUtc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1zZXBhcmF0b3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wcmltYXJ5LXN5bWJvbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWljb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1kaXZpZGVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10di1kaWFsb2ctY2FwdGlvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci11bmRlcmxpbmVkLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci13aWRnZXQtcGFnZXMtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItbGlzdC1pdGVtLWFjdGl2ZS1iZzp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1saXN0LWl0ZW0tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtYmFjazp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhci1ob3Zlcjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1idXR0b24taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kZXB0aHJlbmRlcmVyLWZpbGwtc3R5bGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGlzYWJsZWQtaW5wdXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1lbXB0eS1jb250YWluZXItbWVzc2FnZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWljb25zOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaXRlbS1ob3Zlci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItcGxhY2Vob2xkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1yb3ctaG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Itc2Nyb2xsYmFyLWJvZHktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXNjcm9sbC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXNjcm9sbC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci13aWRnZXQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3c6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByZS1tYXJrZXQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItcG9zdC1tYXJrZXQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3Itbm90YWNjdXJhdGUtbW9kZTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTYwMCk7LS1jb2xvci1kZWxheS1tb2RlOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWRlbGF5LW1vZGUtYmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS00MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItbGlzdC1pdGVtLWJnLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1oaWdobGlnaHRlZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1tYXJrZXItZmxhZ2dlZC1ob3ZlcmVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hc2s6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLXNlbGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWJ1eTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItcHJvOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1wcm8taG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXByby1wbHVzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXByby1wbHVzLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXByby1wcmVtaXVtOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXByby1wcmVtaXVtLWhvdmVyOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLXRyaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdHJpYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1tb2Q6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1vZC1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYnJva2VyLWZlYXR1cmVkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1zdG9wcGVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1zZWFyY2gtYnV0dG9uLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jYXJkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNlbGVjdGlvbi1iZzp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1kZWZhdWx0LWdyYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXBsYXRmb3JtOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtcGFnZS1wcm9tbzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2Utc29jaWFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXNpbXBsZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1wcm9tbzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1mdWxsc2NyZWVuOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1pY29ucy10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1zb2NpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtcHJpbWFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3Itc3RhdGljLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1zdGF0aWMtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWZvY3VzLW5vdC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXJlYWQtb25seTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2l0aC12YWx1ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWVycm9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWxpbms6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1hcnJvd3MtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1kYW5nZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1maWxsLWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1ib3JkZXItdGVydGlhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaXNPcGVuZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1pc09wZW5lZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50OiNmZmYwOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQtNjA6I2ZmZjk7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDAzOy0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQ6I2QxZDFkMTRkOy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTojMDAwMzstLWNvbG9yLW90aGVyLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1zaGFkb3ctc2Vjb25kYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktcHJpbWFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXRlcnRpYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktcHJpbWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1zZWNvbmRhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTIwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktdGVydGlhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTEwMCk7LS1jb2xvci1zZWFyY2gtaGlnaGxpZ2h0LXByaW1hcnktbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsYWNrOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3Itd2hpdGU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDEtbm9ybWFsOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDItYm9sZDp2YXIoLS1jb2xvci1za3ktYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ub3JtYWw6dmFyKC0tY29sb3ItcmlwZS1yZWQtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC10aGluOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLW5vcm1hbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE2MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1aW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTgwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay04MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYm9yZGVyLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodDojMjk2MmZmMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLW5vcm1hbDojMjk2MmZmNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQ6IzI5NjJmZjY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMi1saWdodDojMDBhY2MxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLW5vcm1hbDojMDBhY2MxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWJvbGQ6IzAwYWNjMTY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodDojOWMyN2IwMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbDojOWMyN2IwNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQ6IzljMjdiMDY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1saWdodDojNWUzNWIxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LW5vcm1hbDojNWUzNWIxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWJvbGQ6IzVlMzViMTY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0OiNjYzJmM2MyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWw6I2NjMmYzYzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQ6I2NjMmYzYzY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWxpZ2h0OiNlOTFlNjMyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWw6I2U5MWU2MzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWJvbGQ6I2U5MWU2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQ6IzYzNjM2MzI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsOiM2MzYzNjM0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQ6IzYzNjM2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbGlnaHQ6IzAwMDAwMDI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbm9ybWFsOiMwMDAwMDA0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLWJvbGQ6IzAwMDY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbGlnaHQ6IzA4OTk4MTI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLW5vcm1hbDojMDg5OTgxNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZDojMDg5OTgxNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItbGlnaHQ6IzA4OTk1MDI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLW5vcm1hbDojMDg5OTUwNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItYm9sZDojMDg5OTUwNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQ6IzQzYTA0NzI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLW5vcm1hbDojNDNhMDQ3NGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZDojNDNhMDQ3NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1saWdodDojZmRkODM1MjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1ub3JtYWw6I2ZkZDgzNTRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItYm9sZDojZmRkODM1NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1saWdodDojNjM2MzYzMjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1ub3JtYWw6IzYzNjM2MzRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtYm9sZDojNjM2MzYzNjY7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtODAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLW06dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmV1dHJhbDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC1taW51czItZGVmYXVsdDojZGU4MTJmOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXY3LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS00MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3Itc2t5LWJsdWUtMTAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0zMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14eGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS05MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWJvcmRlcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLXhzOnZhcigtLWNvbG9yLXNreS1ibHVlLTUwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtczp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteHhsOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3Itc2t5LWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXhzOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXM6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWw6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhsOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14eGw6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHM6dmFyKC0tY29sb3ItYmVycnktcGluay01MCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstczp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTUwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteGw6dmFyKC0tY29sb3ItYmVycnktcGluay03MDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXh4bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstYm9yZGVyOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXhzOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1sOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXhsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHM6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS01MCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtczp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbTp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteGw6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXh4bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtYm9yZGVyOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLWNvbG9yLWhlYWRlci1iZzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib2R5LWJnOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYmctcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10ZXh0LXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYWNjZW50LWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZGl2aWRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWRpdmlkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1kaXZpZGVyLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJveC1zaGFkb3c6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnV0dG9uLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWRpc2FibGVkLWlucHV0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1oaWdobGlnaHQtbmV3OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pY29uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItaW5wdXQtcHVibGlzaC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLWJsdWU6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtaXRlbTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcGFuZS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wbGFjZWhvbGRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXBvcHVwLW1lbnUtaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItcHJpbWFyeS1zeW1ib2w6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLXJvdy1ob3Zlci1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXNjcmVlbmVyLWRlc2NyaXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXNlcGFyYXRvci10YWJsZS1jaGF0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3Itc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3Itc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLXNlY29uZGFyeS1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXBvcHVwLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10di1kcm9wZG93bi1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdW5kZXJsaW5lZC10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itd2lkZ2V0LXBhZ2VzLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItbGlzdC1pdGVtLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2s6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zY3JvbGwtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1zY3JvbGwtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3Itd2lkZ2V0LWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXNjcm9sbC1idXR0b25zLWFycm93OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1nb3RvLWxhYmVsLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1wcmUtbWFya2V0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLXBvc3QtbWFya2V0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5vdGFjY3VyYXRlLW1vZGU6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWRlbGF5LW1vZGU6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItZGVsYXktbW9kZS1iZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY2FyZC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jYXJkLWJvcmRlci1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLXN0cm9rZS1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zZWxlY3Rpb24tYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWRlZmF1bHQtZ3JheTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci10di1ibHVlLWE5MDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcGxhdGZvcm06dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcHJvbW86dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXNvY2lhbDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1zaW1wbGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXByb21vOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItYmFja2dyb3VuZC1kaWFsb2ctZnVsbHNjcmVlbjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb250ZW50LWljb25zLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LWljb25zLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXByb21vLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXByaW1hcnktc3BlY2lhbDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtc2Vjb25kYXJ5LXNwZWNpYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMjAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1zdGF0aWMtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXN0YXRpYy1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtbm90LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci13aXRoLXZhbHVlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWRlc2NyaXB0aW9uLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1maWxsLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1saW5rOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGFiZWwtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQ6IzAwMDA7LS1jb2xvci1vdGhlci10cmFuc3BhcmVudC02MDojMDAwOTstLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6IzAwMDY7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3Itb3RoZXItbW9kYWwtYmFja2dyb3VuZDojMDAwMDAwNGQ7LS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDA2Oy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLW90aGVyLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLW90aGVyLWJsYWNrLWZyaWRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktc2Vjb25kYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktdGVydGlhcnk6dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tY29sb3Itb3RoZXItY3liZXItbW9uZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMjAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS10ZXJ0aWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMTAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2VhcmNoLWhpZ2hsaWdodC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmxhY2s6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci13aGl0ZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0MS1ub3JtYWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLWExMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0Mi1ib2xkOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLW5vcm1hbDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtdGhpbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3Mtbm9ybWFsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE5MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nLWxpZ2h0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtYTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtaGVhdnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWExMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYXR0ZW50aW9uOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWEyMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLWExMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLWJvbGQ6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcXVpbmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0OiM0NDhhZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsOiM0NDhhZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZDojNDQ4YWZmNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWxpZ2h0OiMwMGJjZDQzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsOiMwMGJjZDQ0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZDojMDBiY2Q0NjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0OiNlYTgwZmMzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsOiNlYTgwZmM0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZDojZWE4MGZjNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0OiNiMzg4ZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtbm9ybWFsOiNiMzg4ZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtYm9sZDojYjM4OGZmNjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQ6I2YyMzY0NTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbDojZjIzNjQ1NGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZDojZjIzNjQ1NjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQ6I2ZmNDA4MTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLW5vcm1hbDojZmY0MDgxNGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZDojZmY0MDgxNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodDojYjhiOGI4MzM7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWw6I2I4YjhiODRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZDojYjhiOGI4NjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1saWdodDojZmZmMzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLW5vcm1hbDojZmZmZmZmNGQ7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1ib2xkOiNmZmY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0OiMyMmFiOTQzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1ub3JtYWw6IzIyYWI5NDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQ6IzIyYWI5NDY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWxpZ2h0OiMyMmFiNjczMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMi1ub3JtYWw6IzIyYWI2NzRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWJvbGQ6IzIyYWI2NzY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWxpZ2h0OiM0Y2FmNTAzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWw6IzRjYWY1MDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQ6IzRjYWY1MDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbGlnaHQ6I2ZmOTgwMDMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsOiNmZjk4MDA0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQ6I2ZmOTgwMDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbGlnaHQ6I2ZkZDgzNTMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbm9ybWFsOiNmZGQ4MzU0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0yLWJvbGQ6I2ZkZDgzNTY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbGlnaHQ6I2ZmOTgwMDFhOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbm9ybWFsOiNmZjk4MDAzMzstLWNvbG9yLW92ZXJsYXktd2FybmluZy0zLWJvbGQ6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbGlnaHQ6IzJlMmUyZTY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbm9ybWFsOiMyZTJlMmVjYzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0zLWJvbGQ6IzJlMmUyZTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czMtZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMi1kZWZhdWx0OiNhYTYzMjQ7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXplcm8tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12MS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12My1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjctZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5ldXRyYWw6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2Utczp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14bDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2UteHhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1ib3JkZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14czp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14eGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUteHM6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS03MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUtczp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1sOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14bDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUteHhsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXhzOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1zOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1tOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNzAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1sOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay14bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHhsOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1ib3JkZXI6dmFyKC0tY29sb3ItYmVycnktcGluay0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4teHM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hOTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hODAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNzAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14eGw6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLWJvcmRlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXhzOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1zOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1tOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1sOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS14bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHhsOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1ib3JkZXI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDApOy0tY29sb3ItbWFya2VyLWZsYWdnZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkLWhvdmVyZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWFzazp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc2VsbDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItYnV5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1wcm86dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLXByby1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItcHJvLXBsdXM6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItcHJvLXBsdXMtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItcHJvLXByZW1pdW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItcHJvLXByZW1pdW0taG92ZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItdHJpYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10cmlhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLW1vZDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItbW9kLWhvdmVyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLWJyb2tlci1mZWF0dXJlZC1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy10cmlnZ2VyZWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApfQ=="}},"time_used":6,"timings":{"blocked":-1,"dns":3,"connect":2,"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/runtime-embed_ticker_tape_widget.962f777c23b660d830a5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.612Z","timestamp":1785129292612,"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_ticker_tape_widget.962f777c23b660d830a5.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-23c8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:03\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f44f23a971fc0989dac6ac84ee4a7ea9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9160,"size_decoded":5436,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3066)","md5":"6261f54efc700f40121ffb4b8469e97e","sha1":"ce3b28aab3d88f4c8efb56c9421582b8795b170a","sha256":"784267261c93801d2acc456a3fd6bdebee924adb480d41166947dbef83d09720","sha512":"24eac8beb0159520437818ae9b0622b1a35010f7b030d8235bafbe66000eccedec201dadd509607239623d395152fe9e364a0fc0ff255a87f05f763c2bd6ce2b","ssdeep":"192:YLwqLptVvG6uptkfr8lJkNFmn1BnRMC4p2kuVcsFAvaGg:4wqLp/vXunkfr8/kPm1BnRMC4p2kazAO","tlshash":"fe12e9ac354ce53225bb0c525479e462f72c23fb5e0ae0a09367fcf96858ed46633d91","first_seen":"2026-07-24T15:28:44.921696Z","last_seen":"2026-07-27T08:06:56.512266Z","times_seen":523,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO3ZhciBlLHQscixuPXt9LGE9e307ZnVuY3Rpb24gbChlKXt2YXIgdD1hW2VdO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQuZXhwb3J0czt2YXIgcj1hW2VdPXtleHBvcnRzOnt9fTtyZXR1cm4gbltlXS5jYWxsKHIuZXhwb3J0cyxyLHIuZXhwb3J0cyxsKSxyLmV4cG9ydHN9bC5tPW4sbC5fcGx1cmFsPXthcjooZSx0PTYscj0oMD09ZT8wOjE9PWU/MToyPT1lPzI6ZSUxMDA+PTMmJmUlMTAwPD0xMD8zOmUlMTAwPj0xMSYmZSUxMDA8PTk5PzQ6NSkpPT5udWxsPT1lPzA6K3IsY3M6KGUsdD0zLHI9KDE9PWU/MDplPj0yJiZlPD00PzE6MikpPT5udWxsPT1lPzA6K3IscnU6KGUsdD0zLHI9KGUlMTA9PTEmJmUlMTAwIT0xMT8wOmUlMTA+PTImJmUlMTA8PTQmJihlJTEwMDwxMHx8ZSUxMDA+PTIwKT8xOjIpKT0+bnVsbD09ZT8wOityLHJvOihlLHQ9MyxyPSgxPT1lPzA6ZSUxMDA+MTl8fGUlMTAwPT0wJiYwIT1lPzI6MSkpPT5udWxsPT1lPzA6K3IscGw6KGUsdD0zLHI9KDE9PWU/MDplJTEwPj0yJiZlJTEwPD00JiYoZSUxMDA8MTB8fGUlMTAwPj0yMCk/MToyKSk9Pm51bGw9PWU/MDorcixwdDooZSx0PTIscj0xIT1lKT0+bnVsbD09ZT8wOityLGRlOihlLHQ9MixyPTEhPWUpPT5udWxsPT1lPzA6K3IsZW46KGUsdD0yLHI9MSE9ZSk9Pm51bGw9PWU/MDorcixlczooZSx0PTIscj0xIT1lKT0+bnVsbD09ZT8wOityLHN2OihlLHQ9MixyPTEhPWUpPT5udWxsPT1lPzA6K3IsaXQ6KGUsdD0yLHI9MSE9ZSk9Pm51bGw9PWU/MDorcix0cjooZSx0PTIscj0xIT1lKT0+bnVsbD09ZT8wOityLGVsOihlLHQ9MixyPTEhPWUpPT5udWxsPT1lPzA6K3IsZnI6KGUsdD0yLHI9ZT4xKT0+bnVsbD09ZT8wOityLGZhOihlLHQ9MSxyPTApPT5udWxsPT1lPzA6K3IsamE6KGUsdD0xLHI9MCk9Pm51bGw9PWU/MDorcixrbzooZSx0PTEscj0wKT0+bnVsbD09ZT8wOityLHRoOihlLHQ9MSxyPTApPT5udWxsPT1lPzA6K3Isdmk6KGUsdD0xLHI9MCk9Pm51bGw9PWU/MDorcix6aDooZSx0PTEscj0wKT0+bnVsbD09ZT8wOityLGhlX0lMOihlLHQ9NCxyPSgxPT1lPzA6Mj09ZT8xOmU+MTAmJmUlMTA9PTA/MjozKSk9Pm51bGw9PWU/MDorcixjYV9FUzooZSx0PTIscj0xIT1lKT0+bnVsbD09ZT8wOityLG5sX05MOihlLHQ9MixyPTEhPWUpPT5udWxsPT1lPzA6K3IsaHVfSFU6KGUsdD0xLHI9MCk9Pm51bGw9PWU/MDorcixpZF9JRDooZSx0PTEscj0wKT0+bnVsbD09ZT8wOityLG1zX01ZOihlLHQ9MSxyPTApPT5udWxsPT1lPzA6K3IsemhfVFc6KGUsdD0xLHI9MCk9Pm51bGw9PWU/MDorcn0sZT1bXSxsLk89KHQscixuLGEpPT57aWYoIXIpe3ZhciBjPTEvMDtmb3IoZj0wO2Y8ZS5sZW5ndGg7ZisrKXtmb3IodmFyW3IsbixhXT1lW2ZdLGk9ITAsbz0wO288ci5sZW5ndGg7bysrKSghMSZhfHxjPj1hKSYmT2JqZWN0LmtleXMobC5PKS5ldmVyeSgoZT0+bC5PW2VdKHJbb10pKSk/ci5zcGxpY2Uoby0tLDEpOihpPSExLGE8YyYmKGM9YSkpO2lmKGkpe2Uuc3BsaWNlKGYtLSwxKTt2YXIgZD1uKCk7dm9pZCAwIT09ZCYmKHQ9ZCl9fXJldHVybiB0fWE9YXx8MDtmb3IodmFyIGY9ZS5sZW5ndGg7Zj4wJiZlW2YtMV1bMl0+YTtmLS0pZVtmXT1lW2YtMV07ZVtmXT1bcixuLGFdfSxsLm49ZT0+e3ZhciB0PWUmJmUuX19lc01vZHVsZT8oKT0+ZS5kZWZhdWx0OigpPT5lO3JldHVybiBsLmQodCx7YTp0fSksdH0sbC5kPShlLHQpPT57Zm9yKHZhciByIGluIHQpbC5vKHQscikmJiFsLm8oZSxyKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscix7ZW51bWVyYWJsZTohMCxnZXQ6dFtyXX0pfSxsLmY9e30sbC5lPWU9PlByb21pc2UuYWxsKE9iamVjdC5rZXlzKGwuZikucmVkdWNlKCgodCxyKT0+KGwuZltyXShlLHQpLHQpKSxbXSkpLGwudT1lPT4yODgzMT09PWU/Il9fTEFOR19fLiIrZSsiLmY5ZTczNTZmZjkxZjgzN2Y0N2M3LmpzIjoyMzU2Nz09PWU/Il9fTEFOR19fLiIrZSsiLjVmZGRjMTU5OTgxNDJjYmM2MWVmLmpzIjooezczOTc6InBlcmlvZC1mb3JtYXR0ZXIiLDEzOTkzOiJwdXNoc3RyZWFtLW11bHRpcGxleGVyIiwxNjgxMzoidHJhZGluZ3ZpZXctY29weXJpZ2h0LXdpdGgtYm9yZGVyLWRhdGEtaW1wbCIsMzU5ODA6ImNsZWFyLW9sZC1zZXR0aW5ncyIsNDI3MDY6InNpbXBsZS1kaWFsb2ciLDcxMzk0OiJjbW9uZXljb210dy1jb3B5cmlnaHQtZGF0YS1pbXBsIiw3NjA0MDoidHJhZGluZ3ZpZXctY29weXJpZ2h0LW5ldy1kYXRhLWltcGwiLDc5MDQxOiJ0cmFkaW5ndmlldy1jb3B5cmlnaHQtdHJhZGUtd2l0aC1kYXRhLWltcGwiLDg1MDM4OiJsZW50YXJ1LWNvcHlyaWdodC1kYXRhLWltcGwiLDk1MjA3OiJzbm93cGxvdy10cmFja2VyLWJhc2UiLDk3NTA5OiJ0cmFkaW5ndmlldy1jb3B5cmlnaHQtZGF0YS1pbXBsIn1bZV18fGUpKyIuIit7MTUzNDoiNzRmZmUxZTcyNWE0NjVkNDM0MWUiLDcyODU6IjhiYzgyOTI2NjUyOGZhNzRhZjVjIiw3Mzk3OiIwNTllNjIyOTI0MDIzMjcwMTZjNCIsMTM5OTM6IjNiMTk5YzZhZDhiZjVjM2NhYzY3IiwxNjgxMzoiN2U0NTI3YmM1NTIxOWVhM2FkNzYiLDI4MTc2OiIyMTM0Mjg2NWU3NGZmYmVmZmY0NCIsMzU5ODA6ImMzNDA0MmE0YTEwY2I1ZmIyZTNkIiwzOTYwOToiOGNlMGQ3OTNiMmI2MGJlN2E0ZDUiLDQyNzA2OiI2YjExNWU3Mzc3MjU0M2Y0YmMzMCIsNTUyMjk6IjI1NzIxODgxOWZhYTY2MzlhMzg5Iiw2NTEwMDoiZjQyMmUxYWQwNjAxNmRiMGQ0N2EiLDcwNjQ0OiI0NDg3NDNkZWYzMjVmZWI2MTk2NyIsNzEzOTQ6ImU2Mzk3NWJhMWQzNjdkZjdhOWQ4Iiw3NjA0MDoiODlhNTFiOTg4ZWM0M2VkMDRlZTciLDc5MDQxOiJiYjRmN2NiMDY4ZmZiZWU4Y2JiYSIsODA5MTU6IjY5NDA0ZmRhOGFhZmMyNzQyYzU1Iiw4NTAzODoiNGMwZDZkZjMwNDVkZTQxNzMxNzgiLDg1NDM0OiJiODViNzVkZjkxYjIyYmFjOGQzOSIsOTUyMDc6IjQ2NWY4YWYxYWE3MmFjM2ExYzMyIiw5NzUwOToiMjdmMzQ5YTFkNTg0ODNmMjdlYWEifVtlXSsiLmpzIiwKbC5taW5pQ3NzRj1lPT45Nzc5Nz09PWU/ZSsiLmQ5ODVlZWJlNjczOTdmMDJmYTY0LmNzcyI6ODQzMDY9PT1lP2UrIi4zMWQ2Y2ZlMGQxNmFlOTMxYjczYy5jc3MiOjUyMzk2PT09ZT9lKyIuZWQ3NmNhZjJmZmUwMTQ0NjBiYTYuY3NzIjoyMDM1ND09PWU/ZSsiLjJkZGY5MzRmOGVkYzI4MDJkOTBhLmNzcyI6MTM0OTI9PT1lP2UrIi4yYzc3NzMwZDExMjVhNDk4NWJkYy5jc3MiOjM3NzQ2PT09ZT9lKyIuMzQ1MjI3YmIxNmUwZDhiYzliZDUuY3NzIjoxMjM4NT09PWU/ZSsiLjc4NTYxZWJkZWYwNWNlNjQ4YjVkLmNzcyI6ODEwNzI9PT1lP2UrIi4yOTI3YTE3NzIzMWZkZDBlMjRjMS5jc3MiOjk0MjMyPT09ZT9lKyIuYWI2NzMxYjY5OGE4YzI4NTRhOTAuY3NzIjoxNzA4Nz09PWU/ZSsiLmE1ZWFlYjMwZjdkMjY5Zjk3YjQxLmNzcyI6ZSsiLiIrezY0NDU6ImFjNjM1YmExNTE5NGRmNDg0NjE2Iiw4NTc5OiI2ZjY1MThiZTQyOTM4MjI3ODZlMCIsMTAzNjY6IjA3ZTIwZTdiYmVlMjdjOWQ1ZmJjIiwxMjA1MToiYjg0YmU3ODFiYjkwZDQ1N2YxZGYiLDE5NTk1OiJkOTYyYWI3NWJkM2UxYmFhNWFhZSIsMTk3ODc6ImJiYjY2ZmEwZmQyYmQwNGQwODc1IiwyOTI5NjoiYjQwOGYyODIyZmE1Yjk1NjliYWMiLDQwOTE0OiJhOGRkNjk2YmU3ZGRlNmNlNmRkYiIsNDQyNTM6Ijg0MDViYWYzM2MzZWZkMDE1MjhlIiw1MzUyMToiZGM5YmM3MGE2YTgwZjJjOTRmNTUiLDU3MzAwOiJjMWY1ZmM0ZTE1OTkwNjg1ZmI3MyIsNTk5NDE6ImFmMjJmM2FiODNjZGZjYzM5MzVhIiw2MDA2MjoiNDk1NDQ0YTdmYWMxNzNmYjI4Y2QiLDY3MjEyOiI3Y2ExMmFiN2VjY2YxYzQ4YWVhMSIsNzQwMTE6ImUzMWQ4ZjkyNDEzZjBiZWNhOTg0Iiw3ODg5OToiYmI1ZjgxZDk0YmU1YjVhN2JiZDEiLDg3NzQwOiI1ZTFhNzY3OTBlZTQ5YTM3OTVmYSIsODk1NTg6Ijk4MWEzNGIxOWI0MWZhZDkyYjg4Iiw5MDk2MDoiZWM5NDFhY2NmYWEzZWQyY2Q2ZTIifVtlXSsiLmNzcyIsbC5nPWZ1bmN0aW9uKCl7aWYoIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzKXJldHVybiBnbG9iYWxUaGlzO3RyeXtyZXR1cm4gdGhpc3x8bmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9Y2F0Y2goZSl7aWYoIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvd319KCksbC5vPShlLHQpPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KSx0PXt9LHI9InRyYWRpbmd2aWV3OiIsbC5sPShlLG4sYSxjKT0+e2lmKHRbZV0pdFtlXS5wdXNoKG4pO2Vsc2V7dmFyIGksbztpZih2b2lkIDAhPT1hKWZvcih2YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IiksZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgdT1kW2ZdO2lmKHUuZ2V0QXR0cmlidXRlKCJzcmMiKT09ZXx8dS5nZXRBdHRyaWJ1dGUoImRhdGEtd2VicGFjayIpPT1yK2Epe2k9dTticmVha319aXx8KG89ITAsKGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IikpLmNoYXJzZXQ9InV0Zi04IixsLm5jJiZpLnNldEF0dHJpYnV0ZSgibm9uY2UiLGwubmMpLGkuc2V0QXR0cmlidXRlKCJkYXRhLXdlYnBhY2siLHIrYSksaS5zcmM9ZSwwIT09aS5zcmMuaW5kZXhPZih3aW5kb3cubG9jYXRpb24ub3JpZ2luKyIvIikmJihpLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSksdFtlXT1bbl07dmFyIHM9KHIsbik9PntpLm9uZXJyb3I9aS5vbmxvYWQ9bnVsbCxjbGVhclRpbWVvdXQoYik7dmFyIGE9dFtlXTtpZihkZWxldGUgdFtlXSxpLnBhcmVudE5vZGUmJmkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpKSxhJiZhLmZvckVhY2goKGU9PmUobikpKSxyKXJldHVybiByKG4pfSxiPXNldFRpbWVvdXQocy5iaW5kKG51bGwsdm9pZCAwLHt0eXBlOiJ0aW1lb3V0Iix0YXJnZXQ6aX0pLDEyZTQpO2kub25lcnJvcj1zLmJpbmQobnVsbCxpLm9uZXJyb3IpLGkub25sb2FkPXMuYmluZChudWxsLGkub25sb2FkKSxvJiZkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGkpfX0sbC5yPWU9PnsidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSxsLmo9ODM2MDgsKCgpPT57dmFyIGU7bC5nLmltcG9ydFNjcmlwdHMmJihlPWwuZy5sb2NhdGlvbisiIik7dmFyIHQ9bC5nLmRvY3VtZW50O2lmKCFlJiZ0JiYodC5jdXJyZW50U2NyaXB0JiYiU0NSSVBUIj09PXQuY3VycmVudFNjcmlwdC50YWdOYW1lLnRvVXBwZXJDYXNlKCkmJihlPXQuY3VycmVudFNjcmlwdC5zcmMpLCFlKSl7dmFyIHI9dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7aWYoci5sZW5ndGgpZm9yKHZhciBuPXIubGVuZ3RoLTE7bj4tMSYmKCFlfHwhL15odHRwKHM/KTovLnRlc3QoZSkpOyllPXJbbi0tXS5zcmN9aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJBdXRvbWF0aWMgcHVibGljUGF0aCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoaXMgYnJvd3NlciIpO2U9ZS5yZXBsYWNlKC9eYmxvYjovLCIiKS5yZXBsYWNlKC8jLiokLywiIikucmVwbGFjZSgvXD8uKiQvLCIiKS5yZXBsYWNlKC9cL1teXC9dKyQvLCIvIiksbC5wPWV9KSgpLGwuZy5sb2NhdGlvbiYmbC5wLnN0YXJ0c1dpdGgobC5nLmxvY2F0aW9uLm9yaWdpbikmJihsLnA9bC5wLnNsaWNlKGwuZy5sb2NhdGlvbi5vcmlnaW4ubGVuZ3RoKSksKCgpPT57Y29uc3QgZT1sLnU7bC51PXQ9PmUodCkucmVwbGFjZSgiX19MQU5HX18iLGwuZy5sYW5ndWFnZSl9KSgpLCgoKT0+e3ZhciBlPWwuZSx0PU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gcih0LG4pe3JldHVybiBlKHQpLmNhdGNoKChmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oYSl7dmFyIGw9ZnVuY3Rpb24oKXtzZWxmLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsbCwhMSksITE9PT1uYXZpZ2F0b3Iub25MaW5lP3NlbGYuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixsLCExKTphKG48Mj9yKHQsbisxKTplKHQpKX0KO3NldFRpbWVvdXQobCxuKm4qMWUzKX0pKX0pKX1sLmU9ZnVuY3Rpb24oZSl7aWYoIXRbZV0pe3RbZV09cihlLDApO3ZhciBuPWZ1bmN0aW9uKCl7ZGVsZXRlIHRbZV19O3RbZV0udGhlbihuLG4pfXJldHVybiB0W2VdfX0pKCksKCgpPT57aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCl7dmFyIGU9ZT0+bmV3IFByb21pc2UoKCh0LHIpPT57dmFyIG49bC5taW5pQ3NzRihlKSxhPWwucCtuO2lmKCgoZSx0KT0+e2Zvcih2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIGE9KGM9cltuXSkuZ2V0QXR0cmlidXRlKCJkYXRhLWhyZWYiKXx8Yy5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZigic3R5bGVzaGVldCI9PT1jLnJlbCYmKGE9PT1lfHxhPT09dCkpcmV0dXJuIGN9dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN0eWxlIik7Zm9yKG49MDtuPGwubGVuZ3RoO24rKyl7dmFyIGM7aWYoKGE9KGM9bFtuXSkuZ2V0QXR0cmlidXRlKCJkYXRhLWhyZWYiKSk9PT1lfHxhPT09dClyZXR1cm4gY319KShuLGEpKXJldHVybiB0KCk7KChlLHQscixuLGEpPT57dmFyIGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2wucmVsPSJzdHlsZXNoZWV0IixsLnR5cGU9InRleHQvY3NzIixsLm9uZXJyb3I9bC5vbmxvYWQ9cj0+e2lmKGwub25lcnJvcj1sLm9ubG9hZD1udWxsLCJsb2FkIj09PXIudHlwZSluKCk7ZWxzZXt2YXIgYz1yJiYoImxvYWQiPT09ci50eXBlPyJtaXNzaW5nIjpyLnR5cGUpLGk9ciYmci50YXJnZXQmJnIudGFyZ2V0LmhyZWZ8fHQsbz1uZXcgRXJyb3IoIkxvYWRpbmcgQ1NTIGNodW5rICIrZSsiIGZhaWxlZC5cbigiK2krIikiKTtvLmNvZGU9IkNTU19DSFVOS19MT0FEX0ZBSUxFRCIsby50eXBlPWMsby5yZXF1ZXN0PWksbC5wYXJlbnROb2RlJiZsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobCksYShvKX19LGwuaHJlZj10LDAhPT1sLmhyZWYuaW5kZXhPZih3aW5kb3cubG9jYXRpb24ub3JpZ2luKyIvIikmJihsLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSxyP3IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxyLm5leHRTaWJsaW5nKTpkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGwpfSkoZSxhLG51bGwsdCxyKX0pKSx0PXs4MzYwODowfTtsLmYubWluaUNzcz0ocixuKT0+e3Rbcl0/bi5wdXNoKHRbcl0pOjAhPT10W3JdJiZ7NjQ0NToxLDg1Nzk6MSwxMDM2NjoxLDEyMDUxOjEsMTIzODU6MSwxMzQ5MjoxLDE3MDg3OjEsMTk1OTU6MSwxOTc4NzoxLDIwMzU0OjEsMjkyOTY6MSwzNzc0NjoxLDQwOTE0OjEsNDQyNTM6MSw1MjM5NjoxLDUzNTIxOjEsNTczMDA6MSw1OTk0MToxLDYwMDYyOjEsNjcyMTI6MSw3NDAxMToxLDc4ODk5OjEsODEwNzI6MSw4NDMwNjoxLDg3NzQwOjEsODk1NTg6MSw5MDk2MDoxLDk0MjMyOjEsOTc3OTc6MX1bcl0mJm4ucHVzaCh0W3JdPWUocikudGhlbigoKCk9Pnt0W3JdPTB9KSwoZT0+e3Rocm93IGRlbGV0ZSB0W3JdLGV9KSkpfX19KSgpLGwuaTE4bmV4dD0oZSx0PXt9LHIsbj1sLmcubGFuZ3VhZ2UpPT57aWYobnVsbD09PWUpe2lmKEFycmF5LmlzQXJyYXkocikpcmV0dXJuIHJbdm9pZCAwPT09dC5jb3VudD8wOmwuX3BsdXJhbFtuXSh0LmNvdW50KV0ucmVwbGFjZSgveyhcdyspfS9nLCgoZSxyKT0+dm9pZCAwIT09KHQucmVwbGFjZXx8dClbcl0/KHQucmVwbGFjZXx8dClbcl06ZSkpO2lmKCJvYmplY3QiPT10eXBlb2YgcilyZXR1cm4gcltsLmcubGFuZ3VhZ2VdP2wuaTE4bmV4dChudWxsLHQscltsLmcubGFuZ3VhZ2VdKTpsLmkxOG5leHQobnVsbCx0LHIuZW4sImVuIil9ZWxzZSBpZihyJiZlKXtjb25zdCBuPWAke2V9JHt0LmNvbnRleHQ/YF8ke3QuY29udGV4dH1gOiIifWA7aWYocltuXSlyZXR1cm4gbC5pMThuZXh0KG51bGwsdCxyW25dKX1yZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/ZS50b1N0cmluZygpOiJzdHJpbmciIT10eXBlb2YgZT8iIjplfSwoKCk9Pnt2YXIgZT17ODM2MDg6MCw0NjkwNzowLDMyODE2OjAsNDMzMjU6MCwzOTA1OjAsMTU5MzI6MCw1MTUwODowLDg0MDg6MCw4MDA5NzowfTtsLmYuaj0odCxyKT0+e3ZhciBuPWwubyhlLHQpP2VbdF06dm9pZCAwO2lmKDAhPT1uKWlmKG4pci5wdXNoKG5bMl0pO2Vsc2UgaWYoL14oMSgoNzB8OTcpODd8MDM2NnwyMDUxfDIzODV8MzQ5Mnw1OTMyfDk1OTUpfDMoMjgxNnw3NzQ2fDkwNSl8NCgwOTE0fDMzMjV8NDI1M3w2OTA3KXw1KDE1MDh8MjM5NnwzNTIxfDczMDB8OTk0MSl8NigwMDYyfDQ0NXw3MjEyKXw4KCgzNjB8NDB8OTU1KTh8MDA5N3wxMDcyfDQzMDZ8NTc5fDc3NDApfDkoMDk2MHw0MjMyfDc3OTcpfDIwMzU0fDI5Mjk2fDc0MDExfDc4ODk5KSQvLnRlc3QodCkpZVt0XT0wO2Vsc2V7dmFyIGE9bmV3IFByb21pc2UoKChyLGEpPT5uPWVbdF09W3IsYV0pKTtyLnB1c2goblsyXT1hKTt2YXIgYz1sLnArbC51KHQpLGk9bmV3IEVycm9yO2wubChjLChyPT57aWYobC5vKGUsdCkmJigwIT09KG49ZVt0XSkmJihlW3RdPXZvaWQgMCksbikpe3ZhciBhPXImJigibG9hZCI9PT1yLnR5cGU/Im1pc3NpbmciOnIudHlwZSksYz1yJiZyLnRhcmdldCYmci50YXJnZXQuc3JjO2kubWVzc2FnZT0iTG9hZGluZyBjaHVuayAiK3QrIiBmYWlsZWQuXG4oIithKyI6ICIrYysiKSIsaS5uYW1lPSJDaHVua0xvYWRFcnJvciIsaS50eXBlPWEsaS5yZXF1ZXN0PWMsblsxXShpKX19KSwiY2h1bmstIit0LHQpfX0sbC5PLmo9dD0+MD09PWVbdF07dmFyIHQ9KHQscik9Pnt2YXIgbixhLFtjLGksb109cixkPTA7aWYoYy5zb21lKCh0PT4wIT09ZVt0XSkpKXtmb3IobiBpbiBpKWwubyhpLG4pJiYobC5tW25dPWlbbl0pO2lmKG8pdmFyIGY9byhsKX1mb3IodCYmdChyKTtkPGMubGVuZ3RoO2QrKylhPWNbZF0sbC5vKGUsYSkmJmVbYV0mJmVbYV1bMF0oKSxlW2FdPTA7cmV0dXJuIGwuTyhmKX0scj1zZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdO3IuZm9yRWFjaCh0LmJpbmQobnVsbCwwKSksci5wdXNoPXQuYmluZChudWxsLHIucHVzaC5iaW5kKHIpKX0pKCksCmwucD1sLmcmJmwuZy5XRUJQQUNLX1BVQkxJQ19QQVRIfHxsLnB9KSgpOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-ticker-tape.js","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.935Z","timestamp":1785129291935,"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-ticker-tape.js HTTP/1.1\r\nHost: s3.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\ncontent-type: text/javascript\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"2671d4a92091986b7abd2e1e685669ca\"\r\nlast-modified: Fri, 24 Jul 2026 10:29:29 GMT\r\nx-amz-id-2: MmO7S7qvpk7e7uAwyKi1zjeKKbKi5IBRI9Fnw08J6tdMbbVvXvrURHIxu7TxhDm94C2BFQDD1p8=\r\nx-amz-request-id: 6FDA3NKBBMZWPGT3\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: wQVqs5hr7RnUyN2oXxLylh_AKdOK0U2U\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncontent-security-policy: default-src 'none'\r\ncdn-cachedat: 07/24/2026 10:30:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4f2e20b1fc2dc35067d3a8d5b800f1ed\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":13608,"size_decoded":6236,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3458)","md5":"2671d4a92091986b7abd2e1e685669ca","sha1":"b59db96af3dd1593356058703fc7af3cd7269919","sha256":"986cfef49d6a6ccd5cb1f1cbf562e8341ed581936885830831a2f4c3dc2b5901","sha512":"c07159fc500c72469ba6dfb7ccf5afdbaf476906fb039e5bfc7ab2c95e79b0067a47e6e02ad44915b9ba426273dc39996ffb1899c029253b56e4b02f7d419883","ssdeep":"384:gf6uCWoofYkFdjhUjrb26n0q6Or26ZMViZMEmkfknYH:uD5Unb26nD6Or26ZkFE9fknE","tlshash":"8e52d8a9b660ecbd51d945dbe07a2321b6193944b203aca4b9ecd4c510fdccca131f7e","first_seen":"2026-07-20T13:42:57.5385Z","last_seen":"2026-07-27T08:06:56.506546Z","times_seen":1163,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoYCR7ZT8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiB0fWNvbnN0IGU9eyJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0IyQjVCRSIsImNvbG9yLWJyYW5kIjoiIzI5NjJGRiIsImNvbG9yLWJyYW5kLWhvdmVyIjoiIzFFNTNFNSIsImNvbG9yLWJyYW5kLWFjdGl2ZSI6IiMxODQ4Q0MifQo7Y29uc3QgaT1KU09OLnBhcnNlKCd7ImNyeXB0by1ta3Qtc2NyZWVuZXIiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwiZXZlbnRzIjp7IndpZHRoIjo1MTAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGlkZUltcG9ydGFuY2VJbmRpY2F0b3IiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1jcm9zcy1yYXRlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1oZWF0LW1hcCI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIiwiQ05ZIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJob3RsaXN0cyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjYwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1hcmtldC1vdmVydmlldyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlfSwibWFya2V0LXF1b3RlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQ1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1pbmktc3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjozNTAsImhlaWdodCI6MjIwLCJzeW1ib2wiOiJGWDpFVVJVU0QiLCJkYXRlUmFuZ2UiOiIxMk0iLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiYXV0b3NpemUiOmZhbHNlLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInN5bWJvbC1vdmVydmlldyI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo1MDAsInN5bWJvbHMiOltbIkFwcGxlIiwiQUFQTHwxRCJdLFsiR29vZ2xlIiwiR09PR0x8MUQiXSxbIk1pY3Jvc29mdCIsIk1TRlR8MUQiXV0sImF1dG9zaXplIjpmYWxzZSwiY2hhcnRPbmx5IjpmYWxzZSwiaGlkZURhdGVSYW5nZXMiOmZhbHNlLCJoaWRlTWFya2V0U3RhdHVzIjpmYWxzZSwiaGlkZVN5bWJvbExvZ28iOmZhbHNlLCJzY2FsZVBvc2l0aW9uIjoicmlnaHQiLCJzY2FsZU1vZGUiOiJOb3JtYWwiLCJmb250RmFtaWx5IjoiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwiZm9udFNpemUiOiIxMCIsIm5vVGltZVNjYWxlIjpmYWxzZSwiY2hhcnRUeXBlIjoiYXJlYSIsInZhbHVlc1RyYWNraW5nIjoiMCIsImNoYW5nZU1vZGUiOiJwcmljZS1hbmQtcGVyY2VudCJ9LCJhZHZhbmNlZC1jaGFydCI6eyJib2R5SWQiOiJ3aWRnZXQtY29udGFpbmVyIiwiYm9keUNsYXNzZXMiOlsiY2hhcnQtcGFnZSIsInVuc2VsZWN0YWJsZSIsIm9uLXdpZGdldCJdfSwic2NyZWVuZXIiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic2luZ2xlLXF1b3RlIjp7IndpZHRoIjozNTAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic3ltYm9sLXByb2ZpbGUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo2NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtaW5mbyI6eyJ3aWR0aCI6MTAwMCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInRlY2huaWNhbC1hbmFseXNpcyI6eyJpbnRlcnZhbCI6IjFtIiwid2lkdGgiOjQyNSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImhlaWdodCI6NDUwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsInNob3dJbnRlcnZhbFRhYnMiOnRydWUsImRpc3BsYXlNb2RlIjoic2luZ2xlIn0sInRpY2tlci10YXBlIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6ImFkYXB0aXZlIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwidGlja2VycyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwiZmluYW5jaWFscyI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjgzMCwiYXV0b3NpemUiOmZhbHNlLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInRpbWVsaW5lIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJmZWVkTW9kZSI6ImFsbF9zeW1ib2xzIn0sInN0b2NrLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiU1BYNTAwIiwiZXhjaGFuZ2VzIjpbXSwiZ3JvdXBpbmciOiJzZWN0b3IiLCJibG9ja1NpemUiOiJtYXJrZXRfY2FwX2Jhc2ljIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImNyeXB0by1jb2lucy1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkNyeXB0byIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfY2FsYyIsImJsb2NrQ29sb3IiOiIyNGhfY2xvc2VfY2hhbmdlfDUiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9LCJldGYtaGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJBbGxVU0V0ZiIsImJsb2NrU2l6ZSI6InZvbHVtZSIsImJsb2NrQ29sb3IiOiJjaGFuZ2UiLCJncm91cGluZyI6ImFzc2V0X2NsYXNzIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfX0nKQo7dmFyIHIsczshZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIix0LlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHJ8fChyPXt9KSksZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU3ltYm9sQ2xpY2s9InR2LXdpZGdldC1zeW1ib2wtY2xpY2siLHQuV2lkZ2V0TG9hZD0idHYtd2lkZ2V0LWxvYWQiLHQuV2lkZ2V0UmVhZHk9InR2LXdpZGdldC1yZWFkeSIsdC5SZXNpemVJZnJhbWU9InR2LXdpZGdldC1yZXNpemUtaWZyYW1lIix0Lk5vRGF0YT0idHYtd2lkZ2V0LW5vLWRhdGEifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHN8fChzPXt9KSk7Y29uc3Qgbj0iX19GQUlMX18iLG89Il9fTkhUVFBfXyIsYT1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTtmdW5jdGlvbiBsKHQ9bG9jYXRpb24uaHJlZil7Y29uc3QgZT1mdW5jdGlvbih0KXt0cnl7Y29uc3QgZT1uZXcgVVJMKHQpO3JldHVybiBhLnRlc3QoZS5wcm90b2NvbCk/bnVsbDpvfWNhdGNoKHQpe3JldHVybiBufX0odCk7cmV0dXJuIGV8fHQucmVwbGFjZShhLCIiKX1jb25zdCBjPXt3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixlbnY6IkJBVFRMRSJ9O2NvbnN0IGg9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXTtjbGFzcyBke2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1udWxsO2NvbnN0IGU9dD8/dGhpcy5fZ2V0U2NyaXB0SW5mbygpO2UmJnRoaXMuX3JlcGxhY2VTY3JpcHQoZSl9aGFzQ29weXJpZ2h0KCl7cmV0dXJuISF0aGlzLl9jb3B5cmlnaHRDb250YWluZXJ9Z2V0IHdpZGdldElkKCl7dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgbXVzdCBiZSBvdmVycmlkZGVuIil9d2lkZ2V0VXRtTmFtZSgpe3JldHVybiB0aGlzLndpZGdldElkfWdldCBkZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm4gaVt0aGlzLndpZGdldElkXX1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXtyZXR1cm5bXX1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiExfWdldCB1c2VTbm93cGxvd1BhZ2VWaWV3KCl7cmV0dXJuITF9dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpe3JldHVybnt9fWZpbHRlclJhd1NldHRpbmdzKHQpe2NvbnN0IGU9e30saT17Li4udCwuLi50aGlzLnVzZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyh0KX0scj1PYmplY3Qua2V5cyhpKSxzPW5ldyBTZXQodGhpcy5wcm9wZXJ0aWVzVG9Xb3JrV2l0aCk7cmV0dXJuIHIuZm9yRWFjaCgodD0+e3MuaGFzKHQpJiYoZVt0XT1pW3RdKX0pKSxlfWdldCBzaG91bGRMaXN0ZW5Ub0lmcmFtZVJlc2l6ZSgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoKCl7cmV0dXJuWyJjdXN0b21lciIsImxvY2FsZSJdfWdldCBwcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcygpe3JldHVyblsibG9jYWxlIl19c2hvdWxkQWRkQ29weXJpZ2h0U3R5bGVzKCl7cmV0dXJuITB9X2RlZmF1bHRXaWR0aCgpe31fZGVmYXVsdEhlaWdodCgpe31fZ2V0U2NyaXB0SW5mbygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZighdHx8IXQuc3JjKXJldHVybiBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VsZi1yZXBsYWNlIHRoZSBzY3JpcHQsIHdpZGdldCBlbWJlZGRpbmcgaGFzIGJlZW4gYWJvcnRlZCIpLG51bGw7cmV0dXJue3NjcmlwdFVSTDpmdW5jdGlvbih0KXtjb25zdCBlPW5ldyBVUkwodCxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm57aG9zdDplLmhvc3QscGF0aG5hbWU6ZS5wYXRobmFtZSxocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sfX0odC5zcmMpLHNjcmlwdEVsZW1lbnQ6dCxpZDp0LmlkLHJhd1NldHRpbmdzOnRoaXMuX3NjcmlwdENvbnRlbnRUb0pTT04odCksb3ZlcnJpZGVIb3N0OnQuZ2V0QXR0cmlidXRlKCJvdmVycmlkZS1ob3N0Iil9fV9yZXBsYWNlU2NyaXB0KGkpe2NvbnN0e3NjcmlwdFVSTDpyLHNjcmlwdEVsZW1lbnQ6bixyYXdTZXR0aW5nczpvLGlkOmEsb3ZlcnJpZGVIb3N0Omx9PWksaD1sfHxmdW5jdGlvbih0LGU9Yyl7aWYoIkJBVFRMRSI9PT1lLmVudil7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuYGh0dHBzOi8vJHsoaT10Lmhvc3Qscj0zLGkuc3BsaXQoIi4iKS5zbGljZSgtcikuam9pbigiLiIpKS5yZXBsYWNlKC9eYmV0YTAoPz1cLnhzdGFnaW5nXC50diQpL2ksImJldGEwLXhzdGFnaW5nIikucmVwbGFjZSgvXC4oXHcpdiQvaSwoKHQsZSk9PmAtd2lkZ2V0LiR7ZX12YCkpfWB9dmFyIGkscjtyZXR1cm4gZS53aWRnZXRIb3N0fShyKSxkPW4ucGFyZW50Tm9kZTtvJiYidGltZWxpbmUiPT09dGhpcy53aWRnZXRVdG1OYW1lKCkmJihvLmxvY2FsZT0iZW4iKTtjb25zdCBnPW4ubm9uY2V8fG4uZ2V0QXR0cmlidXRlKCJub25jZSIpLHU9ZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LnF1ZXJ5U2VsZWN0b3IoIiN0cmFkaW5ndmlldy1jb3B5cmlnaHQiKSxpPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LXF1b3RlcyIpLHI9ZXx8aTtyZXR1cm4gciYmdC5yZW1vdmVDaGlsZChyKSxyfShkKSxtPWQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTt0aGlzLl9jb3B5cmlnaHRDb250YWluZXI9dXx8bTtjb25zdCBwPWQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIik7dGhpcy5pZnJhbWVDb250YWluZXI9ZCYmcD9kOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG8mJih0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3MobykpLG8mJnRoaXMuX3ZhbGlkYXRlU2V0dGluZ3MoKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc2V0dGluZ3MgcHJvdmlkZWQsIGZhbGwgYmFjayB0byBkZWZhdWx0cyIpLHRoaXMuc2V0dGluZ3M9dGhpcy5maWx0ZXJSYXdTZXR0aW5ncyh0aGlzLmRlZmF1bHRTZXR0aW5ncykpCjtjb25zdCBmPSIzMnB4Iix7d2lkdGg6dyxoZWlnaHQ6eX09dGhpcy5zZXR0aW5ncyxiPXZvaWQgMD09PXk/dm9pZCAwOmAke3l9JHtOdW1iZXIuaXNJbnRlZ2VyKHkpPyJweCI6IiJ9YCxTPXZvaWQgMD09PXc/dm9pZCAwOmAke3d9JHtOdW1iZXIuaXNJbnRlZ2VyKHcpPyJweCI6IiJ9YDtpZih2b2lkIDAhPT1TJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUud2lkdGg9Uyksdm9pZCAwIT09YiYmKHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD1iKSx0aGlzLnNob3VsZEFkZENvcHlyaWdodFN0eWxlcygpKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD1gXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHQvKiBAbWl4aW4gc2YtcHJvLWRpc3BsYXktZm9udDsgKi9cblx0XHRmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnVHJlYnVjaGV0IE1TJywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWhvdmVyIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmFjdGl2ZSAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZC1hY3RpdmUiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6dmlzaXRlZCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cdGAsdH0oKTtnJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGcpLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfWNvbnN0IHY9dGhpcy5oYXNDb3B5cmlnaHQoKT9gY2FsYygxMDAlIC0gJHtmfSlgOiIxMDAlIixDPWxvY2F0aW9uLmhvc3RuYW1lLFQ9bT8id2lkZ2V0X25ldyI6IndpZGdldCIsXz10aGlzLndpZGdldFV0bU5hbWUoKTt0aGlzLnNldHRpbmdzLnV0bV9zb3VyY2U9Qyx0aGlzLnNldHRpbmdzLnV0bV9tZWRpdW09VCx0aGlzLnNldHRpbmdzLnV0bV9jYW1wYWlnbj1fLHRoaXMuX3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXMoQyxULF8pO2NvbnN0IGs9dGhpcy5zZXR0aW5ncy5pZnJhbWVUaXRsZXx8YCR7dGhpcy53aWRnZXRJZC5yZXBsYWNlKCItIiwiICIpfSBUcmFkaW5nVmlldyB3aWRnZXRgLEE9dGhpcy5zZXR0aW5ncy5pZnJhbWVMYW5nfHwiZW4iO3RoaXMuaWZyYW1lPXRoaXMuX2NyZWF0ZUlmcmFtZSh2LGgsYSxrLEEpLHRoaXMuX2FkZENTUEVycm9yTGlzdGVuZXIoaCksZyYmdGhpcy5pZnJhbWUuc2V0QXR0cmlidXRlKCJub25jZSIsZyk7Y29uc3QgST10aGlzLmlmcmFtZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Iik7aWYoST8odChJLnBhcmVudEVsZW1lbnQpLnJlcGxhY2VDaGlsZCh0aGlzLmlmcmFtZSxJKSxuPy5yZW1vdmUoKSk6cD8odGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLG4/LnJlbW92ZSgpKToodGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLGQucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lQ29udGFpbmVyLHQobikpKSx0aGlzLnNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplJiZmdW5jdGlvbih0LGUsaSl7Y29uc3Qgcj1lLmNvbnRlbnRXaW5kb3c7aWYoIXIpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNhbm5vdCBsaXN0ZW4gdG8gdGhlIGV2ZW50IGZyb20gdGhlIHByb3ZpZGVkIGlmcmFtZSwgY29udGVudFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlIiksKCk9Pnt9O2Z1bmN0aW9uIHMoZSl7ZS5zb3VyY2UmJmUuc291cmNlPT09ciYmZS5kYXRhJiZlLmRhdGEubmFtZSYmZS5kYXRhLm5hbWU9PT10JiZpKGUuZGF0YS5kYXRhKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9KHMuTmFtZXMuUmVzaXplSWZyYW1lLHRoaXMuaWZyYW1lLCh0PT57dC53aWR0aCYmKHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD10LndpZHRoKyJweCIpLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD10LmhlaWdodCsodGhpcy5oYXNDb3B5cmlnaHQoKT8zMjowKSsicHgifSkpLHUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5oZWlnaHQ9Zix0LnN0eWxlLmxpbmVIZWlnaHQ9Zix2b2lkIDAhPT1TJiYodC5zdHlsZS53aWR0aD1TKSx0LnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIix0LnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSIsdC5pbm5lckhUTUw9dS5pbm5lckhUTUwsCnRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfX1faWZyYW1lU3JjQmFzZSh0KXtsZXQgZT1gJHt0fS9lbWJlZC13aWRnZXQvJHt0aGlzLndpZGdldElkfS9gO3JldHVybiB0aGlzLnNldHRpbmdzLmN1c3RvbWVyJiYtMSE9PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKCJjdXN0b21lciIpJiYoZSs9YCR7dGhpcy5zZXR0aW5ncy5jdXN0b21lcn0vYCksZX1fdmFsaWRhdGVTZXR0aW5ncygpe2NvbnN0IHQ9KHQsZSk9PntpZih2b2lkIDA9PT10KXJldHVybiBlO2NvbnN0IGk9U3RyaW5nKHQpO3JldHVybi9eXGQrJC8udGVzdChpKT9wYXJzZUludChpKTovXihcZCslfGF1dG8pJC8udGVzdChpKT9pOm51bGx9LGU9dCh0aGlzLnNldHRpbmdzLndpZHRoLHRoaXMuX2RlZmF1bHRXaWR0aCgpKSxpPXQodGhpcy5zZXR0aW5ncy5oZWlnaHQsdGhpcy5fZGVmYXVsdEhlaWdodCgpKTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1pJiYodGhpcy5zZXR0aW5ncy53aWR0aD1lLHRoaXMuc2V0dGluZ3MuaGVpZ2h0PWksITApfV9zZXRTZXR0aW5nc1F1ZXJ5U3RyaW5nKHQpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcy5maWx0ZXIoKHQ9Pi0xIT09aC5pbmRleE9mKHQpKSksaT1mdW5jdGlvbih0LGUpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCByIG9mIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihpW3JdPXRbcl0pO3JldHVybiBpfSh0aGlzLnNldHRpbmdzLGUpO2Zvcihjb25zdFtlLHJdb2YgT2JqZWN0LmVudHJpZXMoaSkpdC5zZWFyY2hQYXJhbXMuYXBwZW5kKGUscil9X3NldEhhc2hTdHJpbmcodCxlKXtjb25zdCBpPXt9O2UmJihpLmZyYW1lRWxlbWVudElkPWUpLE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MpLmZvckVhY2goKHQ9PnstMT09PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKHQpJiYoaVt0XT10aGlzLnNldHRpbmdzW3RdKX0pKSwodGhpcy51c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0fHx0aGlzLnVzZVNub3dwbG93UGFnZVZpZXcpJiYoaVsicGFnZS11cmkiXT1sKCkpO09iamVjdC5rZXlzKGkpLmxlbmd0aD4wJiYodC5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpKSkpfV9zY3JpcHRDb250ZW50VG9KU09OKHQpe2NvbnN0IGU9dC5pbm5lckhUTUwudHJpbSgpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcihgV2lkZ2V0IHNldHRpbmdzIHBhcnNlIGVycm9yOiAke3R9YCksbnVsbH19X2NyZWF0ZUlmcmFtZSh0LGUsaSxyLHMpe2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7aSYmKG4uaWQ9aSksdGhpcy5zZXR0aW5ncy5lbmFibGVTY3JvbGxpbmd8fG4uc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLG4uc2V0QXR0cmlidXRlKCJhbGxvd3RyYW5zcGFyZW5jeSIsInRydWUiKSxuLnNldEF0dHJpYnV0ZSgiZnJhbWVib3JkZXIiLCIwIiksbi5zdHlsZS51c2VyU2VsZWN0PSJub25lIixuLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCIsbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsbi5zdHlsZS5oZWlnaHQ9dCxuLnN0eWxlLndpZHRoPSIxMDAlIjtjb25zdCBvPW5ldyBVUkwodGhpcy5faWZyYW1lU3JjQmFzZShlKSk7cmV0dXJuIHRoaXMuX3NldFNldHRpbmdzUXVlcnlTdHJpbmcobyksdGhpcy5fc2V0SGFzaFN0cmluZyhvLGkpLG4uc2V0QXR0cmlidXRlKCJzcmMiLG8udG9TdHJpbmcoKSksbi50aXRsZT1yLG4ubGFuZz1zLG59X2FkZENTUEVycm9yTGlzdGVuZXIodCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChlPT57ZS5ibG9ja2VkVVJJLmluY2x1ZGVzKHQpJiYodGhpcy5fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCksY29uc29sZS53YXJuKCJQbGVhc2UgdXBkYXRlIHlvdXIgQ1NQIHJ1bGVzIHRvIGFsbG93IHRoZSB0cmFkaW5ndmlldy13aWRnZXQuY29tIG9yaWdpbiBmb3IgZnJhbWUtc3JjLiIpKX0pKX1fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCl7Y29uc3QgZT10aGlzLmlmcmFtZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKGUpe2NvbnN0IGk9bmV3IFVSTChlLnJlcGxhY2UodCwiaHR0cHM6Ly9zLnRyYWRpbmd2aWV3LmNvbSIpKTt0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsaS5ocmVmKX19X3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXModCxlLGkpe2lmKHRoaXMuX2NvcHlyaWdodENvbnRhaW5lcil7Y29uc3Qgcj10aGlzLl9jb3B5cmlnaHRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYSIpO3ImJnIuZm9yRWFjaCgocj0+e2NvbnN0IHM9ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihzKXRyeXtjb25zdCBuPW5ldyBVUkwocyk7bi5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix0KSxuLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLGUpLG4uc2VhcmNoUGFyYW1zLnNldCgidXRtX2NhbXBhaWduIixpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIsbi50b1N0cmluZygpKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7c30iYCl9fSkpfX19Y29uc3QgZz03Njc7dmFyIHUsbSxwLGYsdzshZnVuY3Rpb24odCl7dC5BZGFwdGl2ZT0iYWRhcHRpdmUiLHQuUmVndWxhcj0icmVndWxhciIsdC5Db21wYWN0PSJjb21wYWN0In0odXx8KHU9e30pKSxmdW5jdGlvbih0KXt0LkFsbFN5bWJvbHM9ImFsbF9zeW1ib2xzIix0Lk1hcmtldD0ibWFya2V0Iix0LlN5bWJvbD0ic3ltYm9sIn0obXx8KG09e30pKSxmdW5jdGlvbih0KXt0LkNyeXB0b2N1cnJlbmNpZXM9ImNyeXB0byIsdC5DdXJyZW5jaWVzPSJmb3JleCIsdC5TdG9ja3M9InN0b2NrIix0LkluZGljZXM9ImluZGV4Iix0LkZ1dHVyZXM9ImZ1dHVyZXMiLHQuQm9uZHM9ImNmZCJ9KHB8fChwPXt9KSksZnVuY3Rpb24odCl7dC5IVE1MPSJodG1sIix0LlJlYWN0PSJyZWFjdCJ9KGZ8fChmPXt9KSksZnVuY3Rpb24odCl7CnRbdC5UaWNrZXJJdGVtSGVpZ2h0Tm9ybWFsPTQ0XT0iVGlja2VySXRlbUhlaWdodE5vcm1hbCIsdFt0LlRpY2tlckl0ZW1IZWlnaHRDb21wYWN0PTcyXT0iVGlja2VySXRlbUhlaWdodENvbXBhY3QifSh3fHwodz17fSkpO2NvbnN0IHk9ZztuZXcgY2xhc3MgZXh0ZW5kcyBke2dldCB3aWRnZXRJZCgpe3JldHVybiJ0aWNrZXItdGFwZSJ9Z2V0IHVzZVBhcmFtc0ZvckNvbm5lY3RTb2NrZXQoKXtyZXR1cm4hMH1maWx0ZXJSYXdTZXR0aW5ncyh0KXt2b2lkIDAhPT10LnRoZW1lJiYodC5jb2xvclRoZW1lPXQudGhlbWUpO2NvbnN0IGU9c3VwZXIuZmlsdGVyUmF3U2V0dGluZ3ModCk7bGV0IGk7ZS53aWR0aD0iMTAwJSI7dHJ5e2k9dGhpcy5pZnJhbWVDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGh9ZmluYWxseXtlLmhlaWdodD1mdW5jdGlvbih0LGUsaSxyKXtsZXQgcz0obj10PT09dS5BZGFwdGl2ZSYmcj9yPD15OnQ9PT11LkNvbXBhY3Qsbj83Mjo0NCk7dmFyIG47cmV0dXJuIGV8fChzKz0yKSxpJiYocys9MzIpLHN9KHQuZGlzcGxheU1vZGUsdC5pc1RyYW5zcGFyZW50LHRoaXMuaGFzQ29weXJpZ2h0KCksaSl9cmV0dXJuIGV9Z2V0IHByb3BlcnRpZXNUb1dvcmtXaXRoKCl7cmV0dXJuWyJzeW1ib2xzIiwibG9jYWxlIiwic2hvd1N5bWJvbExvZ28iLCJjb2xvclRoZW1lIiwiaXNUcmFuc3BhcmVudCIsImxhcmdlQ2hhcnRVcmwiLCJkaXNwbGF5TW9kZSIsImN1c3RvbWVyIl19fX0pKCk7"}},"time_used":31,"timings":{"blocked":-1,"dns":2,"connect":2,"send":0,"wait":5,"receive":0,"ssl":21},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/tradingview-copyright-data-impl.27f349a1d58483f27eaa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:53.230Z","timestamp":1785129293230,"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/tradingview-copyright-data-impl.27f349a1d58483f27eaa.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:53 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-dc9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:49\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d9227faac900e99ef3c8e12fe2d5f934\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3529,"size_decoded":2690,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (1999)","md5":"88cd75b972ac65ea66d51cca418cd69c","sha1":"f4df7f63194fb7a17442ba8c04e626440cdf7985","sha256":"c7c434bf3cf0f1b1f069cde14034f32a220711a98b1190aca13e5f5b85ad3971","sha512":"877ef0b222a370b5ebeef0a0b5ec62ae76954d81f00617c2c9a7f58e0c171a599cf35ae0ac615d4daec98634a6f67c438043e0b7342efc2dc6837666902e216c","ssdeep":"","tlshash":"1c712d9a2252a8cd2553d979cc3b05e5621fa8fc3a8f43e0f973cf30a0831d5a912928","first_seen":"2026-07-23T13:38:20.341671Z","last_seen":"2026-07-27T08:08:00.900652Z","times_seen":1051,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NzUwOV0sezg2NDI3NChlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtY29weXJpZ2h0LXRyYW5zaXRpb24tcGFyYW1zLWhhbGYtdGltZSI6Ii4zcyAwcyBjdWJpYy1iZXppZXIoLjQsIC4wMSwgLjIyLCAxKSIsbGFiZWw6ImxhYmVsLWU5YzZkeWNWIixsb2dvV3JhcDoibG9nb1dyYXAtZTljNmR5Y1YiLHN2Z1RleHRXcmFwOiJzdmdUZXh0V3JhcC1lOWM2ZHljViIsbGFyZ2U6ImxhcmdlLWU5YzZkeWNWIn19LDcwNTc5MChlLHQsYyl7InVzZSBzdHJpY3QiO2MuZCh0LHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6KCk9PmF9KTt2YXIgaT1jKDkzNzc0NCkscj1jKDg2NDI3NCksbD1jKDk1OTk5MiksaD1jKDIxMjk2MSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybnsuLi57aWNvbjpsLHN2Z1RleHQ6aH0sdGhlbWU6cix1cmw6KDAsaS5nZXRMb2NhbGl6ZWRUdkhvc3RXaXRoVXRtKShlLHQpfX19LDkzNzc0NChlLHQsYyl7InVzZSBzdHJpY3QiO2MuZCh0LHtnZXRMb2NhbGl6ZWRUdkhvc3RXaXRoVXRtOigpPT5sfSk7dmFyIGk9YygzNjQxODgpLHI9Yyg2MDE1ODcpO2Z1bmN0aW9uIGwoZSx0KXtjb25zdCBjPSgwLGkuZ2V0VFZIb3N0RnJvbUxvY2FsZSkoZXx8ImVuIiksbD10PygwLHIuYnVpbGRVdG1RdWVyeVN0cmluZykodCk6IiI7cmV0dXJuYGh0dHBzOi8vJHtjfSR7bD8iPyIrbDoiIn1gfX0sMzE5ODcyKGUsdCxjKXsidXNlIHN0cmljdCI7Yy5kKHQse2dldExvY2FsaXplZERvbWFpbjooKT0+cn0pO2NvbnN0IGk9e2FyX0FFOiJhciIsZGVfREU6ImRlIixlbjoid3d3IixlczoiZXMiLGNhX0VTOiJlcyIsZmFfSVI6Ind3dyIsZnI6ImZyIixoZV9JTDoiaWwiLGlkOiJpZCIsaW46ImluIixpdDoiaXQiLGphOiJqcCIsa3I6ImtyIixtc19NWToibXkiLHBsOiJwbCIsYnI6ImJyIixydToicnUiLHN2X1NFOiJzZSIsdGhfVEg6InRoIix0cjoidHIiLHVrOiJ1ayIsdmlfVk46InZuIix6aF9DTjoiY24iLHpoX1RXOiJ0dyJ9O2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGlbZV18fCJ3d3cifX0sMzY0MTg4KGUsdCxjKXsidXNlIHN0cmljdCI7Yy5kKHQse2dldFRWSG9zdEZyb21Mb2NhbGU6KCk9PnJ9KTt2YXIgaT1jKDMxOTg3Mik7ZnVuY3Rpb24gcihlKXtyZXR1cm4oMCxpLmdldExvY2FsaXplZERvbWFpbikoZSkrIi50cmFkaW5ndmlldy5jb20ifX0sOTU5OTkyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNyAxMCIgd2lkdGg9IjE3IiBoZWlnaHQ9IjEwIiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjMTMxNzIyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjQyIDkuMDRIOS40N2wzLjU2LTloMy45NGwtMy41NSA5Wk03IC4wNEgwdjNoNHY2aDN2LTlabTIuNSAzYTEuNSAxLjUgMCAxIDAgMC0zIDEuNSAxLjUgMCAwIDAgMCAzWiIvPjwvc3ZnPid9LDIxMjk2MShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDcxIDEzIiB3aWR0aD0iNzEiIGhlaWdodD0iMTMiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiMxMzE3MjIiIGQ9Ik01My4xIDJjMCAuNTctLjQ5IDEuMDMtMS4wOSAxLjAzLS41OCAwLTEuMDctLjQ2LTEuMDctMS4wMyAwLS41Ny41LTEuMDQgMS4wNy0xLjA0LjYgMCAxLjA4LjQ3IDEuMDggMS4wNFpNNTIuOSAxMGgtMS43NlYzLjY1aDEuNzZWMTBaTTI2LjQ3IDMuMDNjLjYgMCAxLjA4LS40NiAxLjA4LTEuMDMgMC0uNTctLjQ4LTEuMDMtMS4wOC0xLjAzLS41OCAwLTEuMDcuNDYtMS4wNyAxLjAzIDAgLjU3LjQ5IDEuMDMgMS4wNyAxLjAzWk0yNS41NyAxMGgxLjc0VjMuNWgtMS43NFYxMFpNNC4wNyAxMEgyLjMzVjIuNzRIMFYxaDYuNHYxLjc0SDQuMDZWMTBaTTguMTQgMTAgNi4zOSAxMFYzLjQ5aDEuNzV2MS4xYy4yLS41OC43Ny0xLjAyIDEuNDYtMS4wMmguMDJjLjE4IDAgLjM1IDAgLjU1LjA1djEuNjZhMi4zMyAyLjMzIDAgMCAwLS43Ni0uMTJjLS44IDAtMS4yNy41OC0xLjI3IDEuNTdWMTBaTTMwLjIyIDEwaC0xLjc1VjMuNWgxLjc1di41N2MuMzMtLjQ3Ljg5LS43IDEuNjktLjcgMS40OCAwIDIuMzcgMS4wNCAyLjM3IDIuNTlWMTBoLTEuNzRWNi40YzAtLjg2LS4zMy0xLjU1LTEuMDMtMS41NS0uNzggMC0xLjMuNTQtMS4zIDEuNjhWMTBaTTQ2Ljk1IDEwbDMuNi05aC0yLjAzTDQ2LjIgNy4yNyA0My41OCAxaC0yLjAzbDMuNjYgOWgxLjc0Wk02OC4yNSAxMGgtMS43bC0xLjE4LTMuNzVMNjQuMjEgMTBoLTEuN2wtMi4wOC02LjVoMS44M2wxLjE5IDQuMSAxLjI2LTQuMWgxLjMxbDEuMjggNC4xIDEuMTctNC4xaDEuODRMNjguMjUgMTBaIi8+PHBhdGggZmlsbD0iIzEzMTcyMiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy4zMiAxMC4wMmMuODggMCAxLjUtLjQ0IDEuNzktLjg1VjEwaDEuNzlWMy41SDE1LjF2LjdhMi4yIDIuMiAwIDAgMC0xLjgtLjg1Yy0xLjcgMC0zIDEuNTQtMyAzLjM0IDAgMS44IDEuMyAzLjMzIDMgMy4zM1ptLjM3LTEuNmMtLjk3IDAtMS42MS0uNzItMS42MS0xLjczcy42NC0xLjc0IDEuNi0xLjc0Yy45OCAwIDEuNjIuNzMgMS42MiAxLjc0IDAgMS0uNjQgMS43NC0xLjYxIDEuNzRaTTIyLjY2IDkuMTdjLS4zLjQtLjkuODUtMS43OS44NS0xLjcgMC0zLTEuNTMtMy0zLjMzczEuMy0zLjM0IDMtMy4zNGMuODggMCAxLjUuNDUgMS44Ljg2VjFoMS43NHY5aC0xLjc1di0uODNabS0zLjAzLTIuNDhjMCAxIC42NCAxLjc0IDEuNjEgMS43NC45NyAwIDEuNjEtLjczIDEuNjEtMS43NHMtLjY0LTEuNzQtMS42LTEuNzRjLS45OCAwLTEuNjIuNzMtMS42MiAxLjc0Wk0zOC40OCAxMi42OGMxLjk2IDAgMy40Mi0xIDMuNDItMy4zVjMuNWgtMS44di43MmEyLjEgMi4xIDAgMCAwLTEuNzgtLjg2Yy0xLjY4IDAtMy4wMiAxLjQzLTMuMDIgMy4yNCAwIDEuNzkgMS4zNCAzLjMgMy4wMiAzLjNhMi4yIDIuMiAwIDAgMCAxLjc4LS45M3YuNDRjMCAxLjAyLS42IDEuNzUtMS42NCAxLjc1LS43MiAwLTEuNDMtLjI0LTItLjhsLS45NSAxLjMxYy43Mi43IDEuODYgMS4wMiAyLjk3IDEuMDJabS4yLTQuNDZhMS42IDEuNiAwIDAgMS0xLjYyLTEuNjNjMC0uOTkuNzUtMS42NCAxLjYzLTEuNjQuODggMCAxLjYyLjY1IDEuNjIgMS42NGExLjYgMS42IDAgMCAxLTEuNjIgMS42M1pNNjAuMyA4LjU2QTMuNDcgMy40NyAwIDAgMSA1Ny4zNSAxMGMtMS45IDAtMy4zOS0xLjMxLTMuMzktMy4zMyAwLTEuOSAxLjQyLTMuMzQgMy4zNy0zLjM0IDEuNjcgMCAzLjE0IDEuMDYgMy4xNCAzLjE1di4wOWMwIC4xNSAwIC4zNS0uMDIuNTZoLTQuNzljLjEuODYuODYgMS4yOCAxLjcgMS4yOC44MSAwIDEuMzYtLjM2IDEuNjUtLjgxbDEuMy45N1ptLTMuMDQtMy44Yy0uNjUgMC0xLjM4LjM0LTEuNTQgMS4xMmgyLjk5Yy0uMTUtLjc3LS44LTEuMTEtMS40NS0xLjExWiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:53.613Z","timestamp":1785129293613,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.youtube-nocookie.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube-nocookie.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 356266\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-07-27T08:08:30.994932Z","times_seen":947120,"resource_available":false,"data":"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"}},"time_used":31,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":15,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.155.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:54.660Z","timestamp":1785129294660,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js HTTP/1.1\r\nHost: www.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube-nocookie.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/botguard-scs\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"botguard-scs\"\r\nreport-to: {\"group\":\"botguard-scs\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/botguard-scs\"}]}\r\ncontent-length: 23758\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 00:07:39 GMT\r\nexpires: Fri, 23 Jul 2027 00:07:39 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Jul 2026 08:00:00 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding\r\nage: 364035\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":62519,"size_decoded":24569,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (61258)","md5":"443622910d8e7fe75010d4a41f533e07","sha1":"9774250436c6d11ce6978a2f57e620b1b86098c1","sha256":"6fca97ac502ef4f1d5ac6a8c662da7a8a9bd4d434faebcc4878d0f025fbaa15a","sha512":"8ce4ae6fb3b48726d2ac7dd7f8bcfb87df79adfc89c666d8278594d86648345411b78b003967291c4125ebbf78a2af3c7dd7dfdb100899ecea73c8ad8bd8b7a5","ssdeep":"1536:jN7w3cPBzlUowT2cm9iXFHDYzcmNkBfXoLz:RtyokXFHDSH","tlshash":"ce532acf72d2b73559e269e6105f410a62fe940a4c85186fba10f6f42a70d4b903bf7e","first_seen":"2026-07-25T07:02:54.064057Z","last_seen":"2026-07-27T07:00:44.845626Z","times_seen":542,"resource_available":true,"data":"Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgZD1mdW5jdGlvbihSLGMsRyxCLG0sTixoLFAsayxEKXt7az05ODt3aGlsZShrIT1jKXtpZihrPT02OClyZXR1cm4gRDtpZihrPT04NylrPShHPDwyJjcpPDYmJigoR140MCkmNyk+PTQ/NDA6Njg7ZWxzZSBpZihrPT05OClrPTM3O2Vsc2UgaWYoaz09NDApe2E6e2lmKCEoUD0oaD1tLFopLnRydXN0ZWRUeXBlcyxQKXx8IVAuY3JlYXRlUG9saWN5KXtEPWg7YnJlYWsgYX10cnl7aD1QLmNyZWF0ZVBvbGljeShOLHtjcmVhdGVIVE1MOm4sY3JlYXRlU2NyaXB0Om4sY3JlYXRlU2NyaXB0VVJMOm59KX1jYXRjaChJKXtpZihaLmNvbnNvbGUpWi5jb25zb2xlW0JdKEkubWVzc2FnZSl9RD1ofWs9Njh9ZWxzZSBrPT01Nj8oRD1CLGs9ODcpOms9PTM3JiYoaz0oR14xMyk8MjQmJihHXlIpPj0xOD81Njo4Nyl9fX0sWj10aGlzfHxzZWxmLG49ZnVuY3Rpb24oUil7cmV0dXJuIGQuY2FsbCh0aGlzLDMwLDgwLDMsUil9OygwLGV2YWwpKGZ1bmN0aW9uKFIsYyl7cmV0dXJuKGM9ZCgzMCw4MCwxNCwiZXJyb3IiLG51bGwsImFkIikpJiZSLmV2YWwoYy5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEcpe3JldHVybiBjLmNyZWF0ZVNjcmlwdChHKX06ZnVuY3Rpb24oRyl7cmV0dXJuIiIrR319KFopKEFycmF5KE1hdGgucmFuZG9tKCkqNzgyNHwwKS5qb2luKCJcbiIpK1snLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PScsCicoZnVuY3Rpb24oKXsvKicsCicnLAonIENvcHlyaWdodCBHb29nbGUgTExDJywKJyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCcsCicqLycsCid2YXIgY3U9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXtmb3IoZD0oUD05OCwxNik7Oyl0cnl7aWYoUD09ODApYnJlYWs7ZWxzZSBpZihQPT0zNylQPSgoR3w2KSY3KT49MyYmKEc+PjImNik8Mz81Njo4NztlbHNlIGlmKFA9PTg3KVA9KEd8OCk9PUc/NDA6Njg7ZWxzZSBpZihQPT03NSlQPTk5O2Vsc2UgaWYoUD09MSlkPTE2LGUoODgsRCxaLFQpLFA9MzI7ZWxzZSBpZihQPT01NilrLnJhdz1SLE9iamVjdC5mcmVlemUmJihPYmplY3QuZnJlZXplKGspLE9iamVjdC5mcmVlemUoUikpLE49ayxQPTg3O2Vsc2UgaWYoUD09NDApUD05OTtlbHNlIGlmKFA9PTYpZD0yMSxuPWtuKEIsayxSLFopLFA9MzI7ZWxzZSBpZihQPT05OClQPTM3O2Vsc2UgaWYoUD09MzkpWi5TPWgsQj1aLlAucG9wKCksUD02O2Vsc2V7aWYoUD09NjgpcmV0dXJuIE47UD09NTE/UD1jJiZaLlM/MTY6NzU6UD09NTI/KE49bixQPTY4KTpQPT0zMj8oZD0xNixQPTUxKTpQPT0xNj8obT1aLlMsbShmdW5jdGlvbigpe1JCKDMxLGZhbHNlLFosUixSKX0pLFA9NTIpOlA9PTk5JiYoUD1aLlAubGVuZ3RoPzM5OjUyKX19Y2F0Y2goSSl7aWYoZD09MTYpdGhyb3cgSTtkPT0yMSYmKFQ9SSxQPTEpfX0sb0I9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQil7Zm9yKG09MTttIT01OTspaWYobT09MjYpbT1SPDwxJms/ODg6OTI7ZWxzZSBpZihtPT0zNyl7YTp7aWYodHlwZW9mIGM9PT0ic3RyaW5nIil7Qj10eXBlb2YgRCE9PSJzdHJpbmcifHxELmxlbmd0aCE9Rz8tMTpjLmluZGV4T2YoRCxoKTticmVhayBhfWZvcihaPWg7WjxjLmxlbmd0aDtaKyspaWYoWiBpbiBjJiZjW1pdPT09RCl7Qj1aO2JyZWFrIGF9Qj0tMX1tPTIzfWVsc2UgaWYobT09NzApdGhpcy5CPUcsbT0yNjtlbHNlIGlmKG09PTc0KVo9dHlwZW9mIGMsbj1aIT1oP1o6Yz9BcnJheS5pc0FycmF5KGMpPyJhcnJheSI6WjoibnVsbCIsQj1uPT1EfHxuPT1oJiZ0eXBlb2YgYy5sZW5ndGg9PUcsbT01NjtlbHNlIGlmKG09PTM2KW09KFJ8NDApPT1SPzc0OjU2O2Vsc2V7aWYobT09ODgpcmV0dXJuIEI7bT09NTY/bT0oUj4+MSZrKT09MT8zNzoyMzptPT02MT8oQj1jdShHLEcsMyksbT0zNik6bT09MjM/bT0oUi01JjMpPT0zPzcwOjI2Om09PTA/bT0oUiY1OSk9PVI/NjE6MzY6bT09OTI/KHRoaXMubisrLGg9Ry10aGlzLmgsdGhpcy5oKz1oL3RoaXMubix0aGlzLmh4Kz1oKihHLXRoaXMuaCksbT04OCk6bT09MSYmKG09MCl9fSxDbj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7Zm9yKG49NDc7biE9MjE7KWlmKG49PTQ1KW49KFJeMjIpPj4zPzU3OjY3O2Vsc2UgaWYobj09Njgpbj1SLTQ+PjQ+PTEmJigoUl42OCkmMTYpPDI/MTI6OTI7ZWxzZSBpZihuPT1rKW49KFImOTApPT1SPzMzOjY4O2Vsc2UgaWYobj09NjcpbT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRyxFUikmJkdbRVJdfHwoR1tFUl09KytIdSksbj01NztlbHNlIGlmKG49PTQ3KW49aztlbHNlIGlmKG49PTMzKW09YSgxOCxudWxsLDgxOTIsRyx0cnVlKSxuPTY4O2Vsc2V7aWYobj09NTcpcmV0dXJuIG07bj09OTI/bj0oUnw0OCk9PVI/ODE6NDU6bj09ODE/KHRoaXNbdGhpcysiIl09dGhpcyxuPTQ1KTpuPT0xMiYmKGM9aCxjXj1jPDwxMyxjPShaPWM+PjE3LChjfDApLShjJlopLSh+Y15aKSsofmN8WikpLChjPShjXmM8PDUpJkQpfHwoYz0xKSxtPShHfDApKyhjfDApLTIqKEcmYyksbj05Mil9fSxySj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtmb3IobT05NTttIT02NTspe2lmKG09PTg3KXJldHVybiBCO2lmKG09PTI4KWhXKDI0LHRydWUsRyksbT0zMTtlbHNlIGlmKG09PTQ2KXthOntmb3IoYyBpbiBoKWlmKEQuY2FsbCh2b2lkIDAsaFtjXSxjLGgpKXtCPVI7YnJlYWsgYX1CPUd9bT04N31lbHNlIGlmKG09PTMxKW09aC5aW0RdLmxlbmd0aD09Uj84OToxMztlbHNlIGlmKG09PTIxKUQ9Ry50eXBlLG09Nzg7ZWxzZSBpZihtPT03MSl0aGlzLmxYPXRoaXMubFgsdGhpcy5nPXRoaXMuZyxtPTU5O2Vsc2UgaWYobT09NiltPShrfDE2KT09az83NTo5NDtlbHNlIGlmKG09PTEzKW09KGs+PjImMTMpPT0xPzcxOjU5O2Vsc2UgaWYobT09NTkpbT0oaz4+MSY3KT09ND83OTo2O2Vsc2UgaWYobT09OTUpbT02MztlbHNlIGlmKG09PTk0KW09KChrXjUyKSYxMyk+PTgmJigoa141MCkmMTQpPDk/NDY6ODc7ZWxzZSBpZihtPT02MyltPWs+PjEmNj8xMzoyMTtlbHNlIGlmKG09PTc4KW09RCBpbiBoLlomJnRXKDcsUixHLGguWltEXSk/Mjg6MTM7ZWxzZSBpZihtPT03OSltPTY7ZWxzZSBpZihtPT03NSl7YTp7Zm9yKG49UjtuPEQubGVuZ3RoOysrbilpZihaPURbbl0sIVouZlgmJloubGlzdGVuZXI9PWMmJlouY2FwdHVyZT09ISFHJiZaLlZuPT1oKXtCPW47YnJlYWsgYX1CPS0xfW09OTR9ZWxzZSBtPT04OSYmKGRlbGV0ZSBoLlpbRF0saC5KeC0tLG09MTMpfX0sdFc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXt7UD05NDt3aGlsZShQIT05KWlmKFA9PTE2KUQ9b0IoMTMsNiwxLFIsRyxoKSwoYz1EPj1SKSYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGgsRCwxKSxkPWMsUD00NztlbHNle2lmKFA9PTQpcmV0dXJuIGQ7aWYoUD09NTcpbT1aW0JdLFA9NDA7ZWxzZSBpZihQPT01MilQPTM3O2Vsc2UgaWYoUD09NDApUD0hb0IoMTMsNDUsRywib2JqZWN0IiwiYXJyYXkiLG0pfHxOUCg0LCJvYmplY3QiLDE5LG0pJiZtLm5vZGVUeXBlPkQ/OTU6NzU7ZWxzZSBpZihQPT00NylQPShrJjI3KT09az82NTo3MjtlbHNlIGlmKFA9PTkzKUc9UltsOV0sZD1HIGluc3RhbmNlb2Ygak0/RzpudWxsLFA9NDtlbHNlIGlmKFA9PTYyKVA9KGsrOF4yNyk+PWsmJihrLTR8NzUpPGs/Mjk6MTg7ZWxzZSBpZihQPT03NSl7YTp7aWYobSYmdHlwZW9mIG0ubGVuZ3RoPT1HKXtpZihOUCg0LCJvYmplY3QiLDE4LG0pKXtUPXR5cGVvZiBtLml0ZW09PSJmdW5jdGlvbiJ8fHR5cGVvZiBtLml0ZW09PSJzdHJpbmciO2JyZWFrIGF9aWYodHlwZW9mIG09PT0iZnVuY3Rpb24iKXtUPXR5cGVvZiBtLml0ZW09PSJmdW5jdGlvbiI7YnJlYWsgYX19VD1SfVA9KFJCKDMzLEQsaCxUP2hXKDEyLEQsbSk6bSxOKSw2MCl9ZWxzZSBQPT02NT8oTj1mdW5jdGlvbihJKXtJJiZuLmFwcGVuZENoaWxkKHR5cGVvZiBJPT09InN0cmluZyI/Yy5jcmVhdGVUZXh0Tm9kZShJKTpJKX0sQj0xLFA9NTIpOlA9PTYwPyhCKyssUD0zNyk6UD09OTQ/UD0xMjpQPT05OT8oYUIuY2FsbCh0aGlzLFI/Ui50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGwsdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPW51bGwsdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy5ZTj1udWxsLFImJnRoaXMuaW5pdChSLEcpLFA9NjIpOlA9PTcyP1A9KGs+PjEmMjMpPT0yPzkzOjQ6UD09MTI/UD1rKzYmMTM/NjI6OTk6UD09Mjk/KGQ9eWZbR10oeWYucHJvdG90eXBlLHtwYXJlbnQ6UixsZW5ndGg6UixzdGFjazpSLHBvcDpSLHByb3RvdHlwZTpSLHByb3BlcnR5SXNFbnVtZXJhYmxlOlIsZG9jdW1lbnQ6UixzcGxpY2U6UixjYWxsOlIscmVwbGFjZTpSLGNvbnNvbGU6UixmbG9vcjpSfSksUD0xOCk6UD09Mzc/UD1CPFoubGVuZ3RoPzU3OjcyOlA9PTk1PyhOKG0pLFA9NjApOlA9PTE4JiYoUD1rPj4xPDkmJihrXjgwKT4+Mz49Mj8xNjo0Nyl9fX0sTVA9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXt7Qj00Nzt3aGlsZShCIT0zNCl7aWYoQj09OTIpdGhyb3cgbmV3IFNNKHR5cGVvZiBHLDEpO2lmKEI9PTk2KVIuc2FuZGJveC5zdXBwb3J0cyYmIVIuc2FuZGJveC5zdXBwb3J0cyhEW2NdKXx8Ui5zYW5kYm94LmFkZChEW2NdKSxCPTc5O2Vsc2UgaWYoQj09NTYpQj0oays4JjU5KTxrJiYoays2XjUpPj1rPzMyOjgzO2Vsc2UgaWYoQj09NSlCPW48Ui5sZW5ndGg/MTg6NDk7ZWxzZSBpZihCPT02NylCPUcgaW5zdGFuY2VvZiBYMT83NTo5MjtlbHNlIGlmKEI9PTMwKXtpZihHIGluc3RhbmNlb2YgWDEpaD1HLktqO2Vsc2UgdGhyb3cgRXJyb3IoIiIpO1Iuc3JjPWgudG9TdHJpbmcoKSxCPTUxfWVsc2UgaWYoQj09MjUpQj02MjtlbHNlIGlmKEI9PTQ3KUI9NTY7ZWxzZSBpZihCPT00NSlUPSEhKGg9Ry5PMiwtMip+KGgmUikrfmgrKGheUikrKGh8flIpKSxCPTY7ZWxzZSBpZihCPT03OSljKyssQj02MjtlbHNlIGlmKEI9PTc1KUQ9ImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctZm9ybXMgYWxsb3ctcG9wdXBzIGFsbG93LXBvcHVwcy10by1lc2NhcGUtc2FuZGJveCBhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24iLnNwbGl0KCIgIiksUi5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCIiKSxjPTAsQj0yNTtlbHNlIGlmKEI9PTgzKUI9ay01PDE1JiYoa142OSk+PjQ+PTI/NDU6NjtlbHNlIGlmKEI9PTUzKUI9NzY7ZWxzZXtpZihCPT01MSlyZXR1cm4gVDtCPT01Mj9CPTE2OkI9PTcyP0I9NTpCPT02Mj9CPWM8RC5sZW5ndGg/OTY6MzA6Qj09Nzc/KFIucmVtb3ZlQXR0cmlidXRlKCJzcmNkb2MiKSxCPTY3KTpCPT00PyhuKyssQj01KTpCPT0xNj9CPWg+Nz8yNzo0OkI9PTE4PyhoKz1HLEQ9KG09RDw8RyxjPVJbbl0sMiooY3wwKSt+Yy0ofm18YykpLEI9NTIpOkI9PTQ5PyhUPVosQj04Myk6Qj09Nj9CPShrKzUmNyk9PTE/NTM6NzY6Qj09MTM/Qj0xNjpCPT0zMj8oaD1uPTAsWj1bXSxCPTcyKTpCPT0yNz8oaC09OCxaLnB1c2goRD4+aCYyNTUpLEI9MTMpOkI9PTc2JiYoQj0oaysxJjExKT09Mz83Nzo1MSl9fX19LGhXPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7Zm9yKFo9NTtaIT05NjspaWYoWj09OTEpe2E6e2lmKChEPUcubGVuZ3RoLEQpPlIpe2ZvcihjPShoPUFycmF5KEQpLFIpO2M8RDtjKyspaFtjXT1HW2NdO249aDticmVhayBhfW49W119Wj05OX1lbHNlIGlmKFo9PTQwKW49TWF0aC5mbG9vcih0aGlzLkooKSksWj01NztlbHNlIGlmKFo9PTEwKVo9ay00Pj4zPT0xPzkxOjk5O2Vsc2UgaWYoWj09NDIpUi5uWD1mdW5jdGlvbigpe3JldHVybiBSLlh6P1IuWHo6Ui5Yej1uZXcgUn0sUi5Yej12b2lkIDAsWj0xMDtlbHNlIGlmKFo9PTIpRy5mWD1SLEcubGlzdGVuZXI9bnVsbCxHLnByb3h5PW51bGwsRy5zcmM9bnVsbCxHLlZuPW51bGwsWj01OTtlbHNlIGlmKFo9PTg1KVo9KGt8NTYpPT1rPzQwOjU3O2Vsc2UgaWYoWj09NTcpWj0oaysxJjI4KT49ayYmKGstMV43KTxrPzI6NTk7ZWxzZSBpZihaPT01OSlaPShrfDcyKT09az80MjoxMDtlbHNlIGlmKFo9PTUpWj04NTtlbHNlIGlmKFo9PTk5KXJldHVybiBufSxUbz1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7e1Q9NTc7d2hpbGUoVCE9NTkpaWYoVD09aylEWi5jYWxsKHRoaXMpLFJ8fFpafHwoWlo9bmV3IG5uKSx0aGlzLlFuPXRoaXMuQT1udWxsLHRoaXMuWGk9dGhpcy5qbT1mYWxzZSx0aGlzLnMyPXZvaWQgMCx0aGlzLktYPXRoaXMuWjc9dGhpcy5jVj1udWxsLFQ9Njk7ZWxzZSBpZihUPT03NSlUPTQ7ZWxzZXtpZihUPT01MSlyZXR1cm4gTjtUPT00P1Q9QjxtLmxlbmd0aD81Mjo1MTpUPT04OT9UPShHLTVeMzIpPj1HJiYoRy00fDE2KTxHP2s6Njk6VD09MTM/KG49QnUoMyxuKSxaJiZaW2RKXT9aLkkuYWRkKFN0cmluZyhtKSxuLGgsTlAoNCxSLDE2LGMpPyEhYy5jYXB0dXJlOiEhYyxEKTpJQig2NCwib2JqZWN0IixmYWxzZSxuLGgsbSxaLGMsRCksVD01MSk6VD09OTA/KEI9MCxUPTc1KTpUPT01P1Q9QXJyYXkuaXNBcnJheShtKT85MDoxMzpUPT01Nz9UPTg5OlQ9PTE/KEIrKyxUPTQpOlQ9PTY5P1Q9Ry05Pj40PzUxOjU6VD09NTImJihUbyg1NCwib2JqZWN0Iiw5LHRydWUsRCxjLFosbixtW0JdKSxUPTEpfX19LGU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXt7bj0yMTt3aGlsZShuIT02NylpZihuPT0yMSluPTUwO2Vsc2UgaWYobj09MTkpbj0oKGteNTApJjI2KTw3JiYoa143OSk+PTI3Pzk2Ojg3O2Vsc2UgaWYobj09MjkpdHlwZW9mIGguY2xhc3NOYW1lPT1SP2guY2xhc3NOYW1lPUc6aC5zZXRBdHRyaWJ1dGUmJmguc2V0QXR0cmlidXRlKCJjbGFzcyIsRyksbj04OTtlbHNlIGlmKG49PTMpYz1HLHNSPT09dm9pZCAwJiYoc1I9UiksRD0oaD1zUik/aC5jcmVhdGVTY3JpcHRVUkwoYyk6YyxaPW5ldyBYMShEKSxuPTE5O2Vsc2UgaWYobj09NTApbj1rLTE+PjQ+PTEmJihrPj4xJjEyKTwyPzM6MTk7ZWxzZSBpZihuPT0yMClHLks9KChHLks/Ry5LKyJ+IjoiRToiKStoLm1lc3NhZ2UrUitoLnN0YWNrKS5zbGljZSgwLDIwNDgpLG49MTU7ZWxzZSBpZihuPT05NiluPTg3O2Vsc2UgaWYobj09OTIpWj1vQigxMyw3LDEsUixHLGgpPj1SLG49NjI7ZWxzZSBpZihuPT04NyluPShrfDMpPj40PDImJms+PjE+PS02Nj8yOTo4OTtlbHNlIGlmKG49PTYyKW49KGt8MjQpPT1rPzIwOjE1O2Vsc2UgaWYobj09ODkpbj0oays1JjgpPDgmJihrXjkzKT4+Mz49MT85Mjo2MjtlbHNlIGlmKG49PTE1KXJldHVybiBafX0sQVc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKGM9aztjIT00MDspe2lmKGM9PTM3KXJldHVybiBaO2lmKGM9PTY3KWM9Ry05PDwyPj1HJiYoRyszXjUpPEc/NTM6Mzc7ZWxzZSBpZihjPT04KXRoaXMudHlwZT1SLHRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1oLHRoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLlB0PWZhbHNlLGM9MjM7ZWxzZSBpZihjPT01KWM9KEcrNSYxNCk9PTI/ODY6Njc7ZWxzZSBpZihjPT0xMyl7YTp7aWYoIShEPW51bGwsaD1ILnRydXN0ZWRUeXBlcyxoKXx8IWguY3JlYXRlUG9saWN5KXtaPUQ7YnJlYWsgYX10cnl7RD1oLmNyZWF0ZVBvbGljeShSLHtjcmVhdGVIVE1MOnBuLGNyZWF0ZVNjcmlwdDpwbixjcmVhdGVTY3JpcHRVUkw6cG59KX1jYXRjaChuKXtILmNvbnNvbGUmJkguY29uc29sZS5lcnJvcihuLm1lc3NhZ2UpfVo9RH1jPTV9ZWxzZSBjPT04Nj8oYjkuY2FsbCh0aGlzLFIsaHx8UWYublgoKSxEKSxjPTY3KTpjPT0zOT9jPShHJjc5KT09Rz84OjIzOmM9PWs/Yz0zOTpjPT01Mz8oWj10eXBlb2YgRC5jbGFzc05hbWU9PSJzdHJpbmciP0QuY2xhc3NOYW1lOkQuZ2V0QXR0cmlidXRlJiZELmdldEF0dHJpYnV0ZShSKXx8aCxjPTM3KTpjPT0yMyYmKGM9KEc8PDEmMTYpPDE2JiYoR141OSk+PjM+PTI/MTM6NSl9fSxLbj1mdW5jdGlvbihrLFIsRyxoLEQsYyl7Zm9yKGM9Njc7YyE9Njk7KWlmKGM9PTU3KXRoaXMuc3JjPWgsdGhpcy5KeD1rLHRoaXMuWj17fSxjPTE3O2Vsc2V7aWYoYz09MTcpcmV0dXJuIEQ7Yz09Njc/Yz03NzpjPT0zMj9jPUc8PDImNT8xNzo1NzpjPT03Nz9jPShHPj4yJjMpPT1SPzM2OjMyOmM9PTM2JiYoV3UuY2FsbCh0aGlzKSx0aGlzLkk9bmV3IGpNKHRoaXMpLHRoaXMubHE9dGhpcyx0aGlzLk5vPW51bGwsYz0zMil9fSxJQj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQsSSl7Zm9yKEk9MTc7SSE9NTE7KWlmKEk9PTY3KVouYWRkTGlzdGVuZXIoQiksST0wO2Vsc2UgaWYoST09MTcpST01MztlbHNlIGlmKEk9PTE5KUk9KGteNzQpPj40PzYxOjM3O2Vsc2UgaWYoST09MTEpST1aLmF0dGFjaEV2ZW50PzU0OjMyO2Vsc2V7aWYoST09Nyl0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7aWYoST09NzQpZm58fChuPVQpLG49PT12b2lkIDAmJihuPUcpLFouYWRkRXZlbnRMaXN0ZW5lcihjLnRvU3RyaW5nKCksQixuKSxJPTA7ZWxzZSBpZihJPT00OSlJPShrJjQ2KT09az85MzoxOTtlbHNlIGlmKEk9PTYxKUk9KGt8MjQpPT1rPzgwOjg2O2Vsc2UgaWYoST09MzcpST1jPzU1Ojc7ZWxzZSBpZihJPT04MClkPVIsST04NjtlbHNlIGlmKEk9PTg5KUk9Wi5hZGRFdmVudExpc3RlbmVyPzc0OjExO2Vsc2UgaWYoST09OTMpZD0hIShHLnJiJkQpJiZNUCg4LEQsRykhPWgmJighKGM9Ry5pcSwtMS1+KGN8RCktKGNeRCkpfHxHLmRpc3BhdGNoRXZlbnQodnUoNTYsUixELDIsNjQsOCxoLDI0KSkpJiYhRy5nLEk9MTk7ZWxzZSBpZihJPT04NSlkPXFQKFZmLFIpLEk9NDk7ZWxzZSBpZihJPT01NSlUPU5QKDQsUiwyMSxuKT8hIW4uY2FwdHVyZTohIW4sKFA9dFcoMjAsWikpfHwoWltsOV09UD1uZXcgak0oWikpLE49UC5hZGQoYyxoLEQsVCxtKSxJPTk3O2Vsc2V7aWYoST09MzYpdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtpZihJPT0wKWk5KyssST02MTtlbHNlIGlmKEk9PTUzKUk9KGstOXw4NCk8ayYmKGsrNV4zKT49az8xMDozNDtlbHNlIGlmKEk9PTU0KVouYXR0YWNoRXZlbnQoTG4oMywib24iLGMudG9TdHJpbmcoKSw0OCksQiksST0wO2Vsc2V7aWYoST09ODYpcmV0dXJuIGQ7ST09MzI/ST1aLmFkZExpc3RlbmVyJiZaLnJlbW92ZUxpc3RlbmVyPzY3OjM2Okk9PTEwPyhSLlFuJiZSLlFuLmZvckVhY2goRyx2b2lkIDApLEk9MzQpOkk9PTU5PyhCPUYxKDk0LCJvbiIsMyksTi5wcm94eT1CLEIuc3JjPVosQi5saXN0ZW5lcj1OLEk9ODkpOkk9PTk3P0k9Ti5wcm94eT82MTo1OTpJPT0zNCYmKEk9KGs8PDImMTMpPT00Pzg1OjQ5KX19fX0sZj1mdW5jdGlvbihrLFIsRyxoLEQsYyl7e0Q9MzA7d2hpbGUoRCE9NzkpaWYoRD09OTQpRD0oa3w3KT4+Mz84ODo1MTtlbHNlIGlmKEQ9PTUxKXRoaXMuTW89SC5kb2N1bWVudHx8ZG9jdW1lbnQsRD04ODtlbHNlIGlmKEQ9PTg4KUQ9ay0yPDwyPj1rJiYoays0XjI5KTxrPzYyOjYzO2Vsc2UgaWYoRD09MzApRD05NDtlbHNlIGlmKEQ9PTYyKUMoRyxSLGgpLFJbeG5dPTI3OTYsRD02MztlbHNlIGlmKEQ9PTYzKXJldHVybiBjfX0sT1I9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7e1Q9NTI7d2hpbGUoVCE9OTYpaWYoVD09NTApVD1jPT09IiJ8fGM9PXZvaWQgMD83NTo2NjtlbHNlIGlmKFQ9PTgxKVQ9Ui0yPj0xMCYmUis2PDI2PzU6ODY7ZWxzZSBpZihUPT02MilUPShSJjcwKT09Uj8yNDo3NDtlbHNlIGlmKFQ9PTc0KVQ9KFImNDUpPT1SPzE0OjExO2Vsc2UgaWYoVD09MjQpUD1mdW5jdGlvbigpe30sRD12b2lkIDAsYz1nSihHLGZ1bmN0aW9uKGQsSSl7Zm9yKEk9MTU7SSE9NjQ7KUk9PTE1P0k9UD82Nzo2NDpJPT02NyYmKGgmJnU5KGgpLEQ9ZCxQKCksUD12b2lkIDAsST02NCl9LCEhaCksWj1jWzBdLG49Y1sxXSxOPXtob3Q6ZnVuY3Rpb24oZCxJLFMsWCxNLHIsbCl7Zm9yKHI9NDc7ciE9MjU7KXtpZihyPT0xMylyZXR1cm4gTT1aKFMpLGQmJmQoTSksTTtyPT01MD8obCgpLHI9MjUpOnI9PTg0P3I9ST8zOToxMzpyPT1rPyhYPVAsUD1mdW5jdGlvbigpe1goKSx1OShsKX0scj0yNSk6cj09Mzk/cj1EPzUwOms6cj09NDcmJihsPWZ1bmN0aW9uKCl7RChmdW5jdGlvbih3KXt1OShmdW5jdGlvbigpe2Qodyl9KX0sUyl9LHI9ODQpfX0scGU6ZnVuY3Rpb24oZCl7biYmbihkKX19LFQ9NzQ7ZWxzZSBpZihUPT02NilELnNldEF0dHJpYnV0ZShtLGMpLFQ9MTE7ZWxzZSBpZihUPT01MilUPTgxO2Vsc2V7aWYoVD09MTEpcmV0dXJuIE47VD09ODY/VD0oUnw3Mik9PVI/OTI6NjI6VD09MTQ/KEFycmF5LmlzQXJyYXkoYykmJihjPWMuam9pbigiICIpKSxtPSJhcmlhLSIrWixUPTUwKTpUPT01Pyh0aGlzW3RoaXMrIiJdPXRoaXMsTj1Qcm9taXNlLnJlc29sdmUoKSxUPTg2KTpUPT05Mj8oRD1HLE49ZnVuY3Rpb24oKXtyZXR1cm4gRDxoLmxlbmd0aD97ZG9uZTpmYWxzZSx2YWx1ZTpoW0QrK119Ontkb25lOnRydWV9fSxUPTYyKTpUPT0yMj8oQj1VUixaIGluIEI/RC5zZXRBdHRyaWJ1dGUobSxCW1pdKTpELnJlbW92ZUF0dHJpYnV0ZShtKSxUPTExKTpUPT02Nz8obj17fSxVUj0obi5hdG9taWM9RyxuLmF1dG9jb21wbGV0ZT0ibm9uZSIsbi5kcm9wZWZmZWN0PSJub25lIixuLmhhc3BvcHVwPUcsbi5saXZlPSJvZmYiLG4ubXVsdGlsaW5lPUcsbi5tdWx0aXNlbGVjdGFibGU9RyxuLm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCIsbi5yZWFkb25seT1HLG4ucmVsZXZhbnQ9ImFkZGl0aW9ucyB0ZXh0IixuLnJlcXVpcmVkPUcsbi5zb3J0PSJub25lIixuLmJ1c3k9RyxuLmRpc2FibGVkPUcsbltoXT1HLG4uaW52YWxpZD0iZmFsc2UiLG4pLFQ9MjIpOlQ9PTc1JiYoVD1VUj8yMjo2Nyl9fX0sem89ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7e2M9Mzt3aGlsZShjIT01NilpZihjPT02OCljPShHJjEwMyk9PUc/azpSO2Vsc2V7aWYoYz09UilyZXR1cm4gWjtjPT0zNj8oaC5jbGFzc0xpc3Q/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChELGZ1bmN0aW9uKG4pe0pXKDM1LDcsImNsYXNzIiwyMCwiICIsInN0cmluZyIsMCxoLG4pfSk6ZSgzLCJzdHJpbmciLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChCdSgzNCwiY2xhc3MiLGgpLGZ1bmN0aW9uKG4pe3JldHVybiFlKDQ0LDAsbixEKX0pLmpvaW4oIiAiKSxoKSxjPTY4KTpjPT1rPyhaPXRoaXMubj09PTA/MDpNYXRoLnNxcnQodGhpcy5oeC90aGlzLm4pLGM9Uik6Yz09Mz9jPTY6Yz09NiYmKGM9KEd8MjQpPT1HPzM2OjY4KX19fSxxPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtKXt3aGlsZShrLTM+PjQ9PTQpe2E6e2ZvcigwO1IuVjswKXttPWtmKFIsUi5HKTticmVhayBhO2lmKDEpYnJlYWt9KGg9R04oOCxSLHRydWUpLGgmMTI4KSYmKGhePTEyOCxEPUdOKDIsUix0cnVlKSxoPShHPWg8PDIsKEcmRCktMS1+KEd8RCkpKSxtPWh9aWYoImoiKWJyZWFrfXdoaWxlKCgoa14yMSkmMjMpPT00KXthOntpZihSLlYpe209a2YoUixSLkcpO2JyZWFrIGF9aD1HTig4LFIsdHJ1ZSksaCYxMjgmJihoXj0xMjgsRz1HTigyLFIsdHJ1ZSksaD0oRD1oPDwyLChEJkcpLTEtfihEfEcpKSksbT1ofWlmKHRydWUpYnJlYWt9cmV0dXJuKCgoa14oKChrXjM4KSYxNSk+PTkmJmstNDwxOSYmKGg9UnYoRyksaCYxMjgmJihoPS1+KGgmMTI3KSsofmgmMTI3KSsoaHwtMTI4KXxSdihHKTw8UiksbT1oKSw3MCkpJjE1KT09MyYmKGg9eWZbRy5SXShHLnZWKSxoW0cuUl09ZnVuY3Rpb24oKXt3aGlsZSh0cnVlKXtyZXR1cm4gUjtpZih0cnVlIT1bXSlicmVha319LGguY29uY2F0PWZ1bmN0aW9uKEIpe1I9Qn0sbT1oKSwoKGteNTEpJjE1KT09MSkmJihtPShaPShjPWhbR108PDI0LEQ9aFsoR3wwKSsxXTw8MTYsKGN8MCkrKGNeRCkrKH5jXkQpLShjfH5EKSksbj1oWyhHfDApKzJdPDxSLC0obnwwKSsyKihaJm4pKyhaXm4pKyh+WiZuKSl8aFsoR3wwKSszXSksbX0sUkI9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7Zm9yKFA9Njk7UCE9MDspaWYoUD09NTMpbj1oLmxlbmd0aCxaPXR5cGVvZiBoPT09InN0cmluZyI/aC5zcGxpdChHKTpoLGM9UixQPTI7ZWxzZSBpZihQPT0xMilQPWstMT4+Mz09Mz85MDo1MTtlbHNlIGlmKFA9PTQ5KVA9NDc7ZWxzZSBpZihQPT0yKVA9OTQ7ZWxzZSBpZihQPT04MSlQPShrKzdeMjEpPj1rJiZrLTc8PDE8az80MTo3MjtlbHNlIGlmKFA9PTExKUQ9bj0wLFA9NDk7ZWxzZSBpZihQPT04MilEKyssUD00NztlbHNlIGlmKFA9PTk2KU49TWF0aC5mbG9vcih0aGlzLlRmKyh0aGlzLkooKS10aGlzLmtOKSksUD04MTtlbHNlIGlmKFA9PTY5KVA9NTc7ZWxzZSBpZihQPT00MiljIGluIFomJkQuY2FsbCh2b2lkIDAsWltjXSxjLGgpLFA9ODc7ZWxzZSBpZihQPT05NClQPWM8bj80MjoxMjtlbHNlIGlmKFA9PTkwKXthOmlmKEcuUC5sZW5ndGgpeyhHLm8mJiI6VFFSOlRRUjoiKCksRykuRTk9RCxHLm89dHJ1ZTt0cnl7Wj1HLkooKSxHLkUyPTAsRy5vbz0wLEcuY3Q9WixHLmtOPVosYz1jdSgyLHRydWUsMjQsbnVsbCwiOiIsRCxHKSxtPWg/MDoxMCxuPUcuSigpLUcua04sRy5UZis9bixHLkJWJiZHLkJWKG4tRy5YLEcudSxHLlcsRy5FMiksRy51PVIsRy5YPTAsRy5XPVIsbjxtfHxHLnM5LS08PTB8fChuPU1hdGguZmxvb3IobiksRy51WC5wdXNoKG48PTI1ND9uOjI1NCkpfWZpbmFsbHl7Ry5vPVJ9Tj1jO2JyZWFrIGF9UD01MX1lbHNlIGlmKFA9PTg3KWMrKyxQPTk0O2Vsc2UgaWYoUD09NTcpUD0oaysxJjYzKTxrJiYoay0yfDcwKT49az85Njo4MTtlbHNlIGlmKFA9PTU5KW4rPVIuY2hhckNvZGVBdChEKSxuKz1uPDwxMCxuPShjPW4+PjYsKG58YykrfmMtKG58fmMpKSxQPTgyO2Vsc2UgaWYoUD09NDEpe2E6e2lmKHRoaXMubj09PTApe049WzAsMF07YnJlYWsgYX1OPSh0aGlzLlQuc29ydChmdW5jdGlvbihkLEkpe3JldHVybiBkLUl9KSxbdGhpcy5uLHRoaXMuVFt0aGlzLlQubGVuZ3RoPj4xXV0pfVA9NzJ9ZWxzZSBpZihQPT03MilQPShrKzdeMTIpPGsmJmstNjw8MT49az8xMTo3MDtlbHNlIGlmKFA9PTIwKW4rPW48PDMsbl49bj4+MTEsWj1uKyhuPDwxNSk+Pj4wLG09bmV3IE51bWJlcigoQj0oVD0xPDxHLChUfDEpLShUJjEpLTIqKH5UJjEpKSwoWnwwKSsoQnwwKS0oWnxCKSkpLG1bMF09KFo+Pj5HKSVoLE49bSxQPTcwO2Vsc2V7aWYoUD09NTEpcmV0dXJuIE47UD09NDc/UD1EPFIubGVuZ3RoPzU5OjIwOlA9PTcwJiYoUD0oa3wzMik9PWs/NTM6MTIpfX0sYT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQpe2ZvcihCPTgzO0IhPTg2Oyl7aWYoQj09ODIpcmV0dXJuIFQ7aWYoQj09NjApQj0oayYxMTQpPT1rPzMyOjgyO2Vsc2V7aWYoQj09MTcpdGhyb3cgRXJyb3IoIkludmFsaWQgY2xhc3MgbmFtZSAiK0cpO2lmKEI9PTU2KXRocm93IEVycm9yKCJJbnZhbGlkIGRlY29yYXRvciBmdW5jdGlvbiAiK1IpO2lmKEI9PTEwKUcuUC5zcGxpY2UoMCwwLFIpLEI9MzM7ZWxzZSBpZihCPT04MylCPTM7ZWxzZSBpZihCPT0xMilCPUc/NTA6MTc7ZWxzZSBpZihCPT0zKUI9KGt8NDApPT1rPzEwOjMzO2Vsc2UgaWYoQj09NTApQj10eXBlb2YgUiE9PSJmdW5jdGlvbiI/NTY6NjA7ZWxzZSBpZihCPT0zMil7YTppZihjPXdpbmRvdy5idG9hKXtmb3IoWj0wLG49IiI7WjxoLmxlbmd0aDtaKz1HKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoUixoLnNsaWNlKFosWitHKSk7VD0obT1jKG4pLEQmJihtPW0ucmVwbGFjZSgvXFwrL2csIi0iKS5yZXBsYWNlKC9cXC8vZywiXyIpLnJlcGxhY2UoLz0vZywiIikpLG0pO2JyZWFrIGF9Qj04Mn1lbHNlIEI9PTMzJiYoQj0oaz4+MiY3KT09MT8xMjo2MCl9fX0sQlk9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXtmb3IoZD02OTtkIT0yMjspaWYoZD09NTUpREQuY2FsbCh0aGlzLGgpLGQ9NjE7ZWxzZSBpZihkPT05OClQPShUPVpEW2suc3Vic3RyaW5nKDAsMykrIl8iXSk/VChrLnN1YnN0cmluZygzKSxHLGgsRCxjLFosbixtLEIpOkpXKDM1LDcsRyw1LGspLGQ9Mjc7ZWxzZSBpZihkPT0zMilkPWM/NzQ6MTY7ZWxzZSBpZihkPT02OSlkPTk7ZWxzZSBpZihkPT0xNiltPW4/dHlwZW9mIG4ublg9PT0iZnVuY3Rpb24iP24ublgoKTpuZXcgbjpudWxsLGQ9NTc7ZWxzZSBpZihkPT0yMClkPTMyO2Vsc2UgaWYoZD09NTcpdGhpcy5DPW0sZD00MTtlbHNlIGlmKGQ9PTk3KWQ9KG49bnJbWl0pPzcxOjI2O2Vsc2UgaWYoZD09NzUpYz10aGlzLmNvbnN0cnVjdG9yLGQ9MTE7ZWxzZSBpZihkPT04NylOPWZ1bmN0aW9uKCl7fSxOLnByb3RvdHlwZT1oLnByb3RvdHlwZSxHLk89aC5wcm90b3R5cGUsRy5wcm90b3R5cGU9bmV3IE4sRy5wcm90b3R5cGUuY29uc3RydWN0b3I9RyxHLmN3PWZ1bmN0aW9uKEksUyxYKXtmb3IodmFyIE09MTk7TSE9MjU7KWlmKE09PTE5KXZhciByPUFycmF5KChNPTEsYXJndW1lbnRzLmxlbmd0aC1rKSksbD1rO2Vsc2UgaWYoTT09MilyW2wta109YXJndW1lbnRzW2xdLE09NDE7ZWxzZXtpZihNPT01MilyZXR1cm4gaC5wcm90b3R5cGVbU10uYXBwbHkoSSxyKTtNPT00MT8obCsrLE09NTMpOk09PTUzP009bDxhcmd1bWVudHMubGVuZ3RoPzI6NTI6TT09MSYmKE09NTMpfX0sZD03O2Vsc2UgaWYoZD09MjYpYz0oRD1PYmplY3QuZ2V0UHJvdG90eXBlT2YoYy5wcm90b3R5cGUpKSYmRC5jb25zdHJ1Y3RvcixkPTIwO2Vsc2UgaWYoZD09MjcpZD0oUis1JjcpPj01JiZSPj4xPDE1PzU1OjQxO2Vsc2UgaWYoZD09NjEpZD0obT1HKT81Nzo3NTtlbHNlIGlmKGQ9PTQxKWQ9KFJ8NDApPT1SPzg3Ojc7ZWxzZSBpZihkPT05KWQ9Uis0Pj4zPT0yPzk4OjI3O2Vsc2UgaWYoZD09NylkPShSfDcyKT09Uj85OTo3MztlbHNlIGlmKGQ9PTk5KVA9YSgxNixudWxsLDgxOTIsayxmYWxzZSksZD03MztlbHNle2lmKGQ9PTczKXJldHVybiBQO2Q9PTc0PyhaPUNuKDY0LDE5LGMpLGQ9OTcpOmQ9PTcxP2Q9MTY6ZD09MTEmJihkPTMyKX19LFBZPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOLFAsZCl7e2Q9NTU7d2hpbGUoZCE9NSlpZihkPT04NylkPTQxO2Vsc2UgaWYoZD09NTUpZD01NztlbHNlIGlmKGQ9PTQ1KXthOntpZighKFo9Ry5JLlpbU3RyaW5nKGgpXSxaKSl7UD10cnVlO2JyZWFrIGF9Zm9yKG49KFo9Wi5jb25jYXQoKSxOPXRydWUsUik7bjxaLmxlbmd0aDsrK24pKFQ9WltuXSkmJiFULmZYJiZULmNhcHR1cmU9PUQmJihCPVQuVm58fFQuc3JjLG09VC5saXN0ZW5lcixULmFvJiZySigzLFIsVCxHLkkpLE49bS5jYWxsKEIsYykhPT1mYWxzZSYmTik7UD1OJiYhYy5kZWZhdWx0UHJldmVudGVkfWQ9Mzd9ZWxzZSBpZihkPT0zNylkPWs8PDE+PTI1JiYoa3wxKT4+NTwyPzg3OjQxO2Vsc2V7aWYoZD09NDEpcmV0dXJuIFA7ZD09NTcmJihkPShrKzJeMjQpPj1rJiZrKzM+PjI8az80NTozNyl9fX0sdnU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe2ZvcihUPTQ7VCE9Njc7KWlmKFQ9PTkzKVQ9KG58OSk+PjQ/NDc6aztlbHNlIGlmKFQ9PTU1KVRvKDU0LCJvYmplY3QiLDEwLGMsbSxoLEQsRyxaKSxUPTQ3O2Vsc2UgaWYoVD09ODEpe2E6e3N3aXRjaChHKXtjYXNlIDE6Tj1aPyJkaXNhYmxlIjoiZW5hYmxlIjticmVhayBhO2Nhc2UgaDpOPVo/ImhpZ2hsaWdodCI6InVuaGlnaGxpZ2h0IjticmVhayBhO2Nhc2UgUjpOPVo/ImFjdGl2YXRlIjoiZGVhY3RpdmF0ZSI7YnJlYWsgYTtjYXNlIGM6Tj1aPyJzZWxlY3QiOiJ1bnNlbGVjdCI7YnJlYWsgYTtjYXNlIDE2Ok49Wj8iY2hlY2siOiJ1bmNoZWNrIjticmVhayBhO2Nhc2UgMzI6Tj1aPyJmb2N1cyI6ImJsdXIiO2JyZWFrIGE7Y2FzZSBEOk49Wj8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31UPTczfWVsc2UgaWYoVD09NTQpVD03NDtlbHNlIGlmKFQ9PTQ3KVQ9KChuXjEyKSY4KTw0JiYobnwyKT49LTMxPzgxOjczO2Vsc2V7aWYoVD09NzMpcmV0dXJuIE47VD09MD8oRz1CdSg2LEcpLEQmJkRbZEpdP0QuSS5hZGQoU3RyaW5nKFopLEcsUixOUCg0LCJvYmplY3QiLDIwLGgpPyEhaC5jYXB0dXJlOiEhaCxtKTpJQig2Niwib2JqZWN0IixmYWxzZSxHLFIsWixELGgsbSksVD00Nyk6VD09ND9UPTkzOlQ9PTc0P1Q9QjxaLmxlbmd0aD83Nzo0NzpUPT02OT8oQj0wLFQ9NTQpOlQ9PWs/VD1oJiZoLm9uY2U/NTU6NDg6VD09OTg/KEIrKyxUPTc0KTpUPT00OD9UPUFycmF5LmlzQXJyYXkoWik/Njk6MDpUPT03NyYmKHZ1KDU2LGZhbHNlLEcsaCxELHRydWUsWltCXSw1LG0pLFQ9OTgpfX0sRTU9ZnVuY3Rpb24oayxSKXtmdW5jdGlvbiBHKCl7dGhpcy5oPXRoaXMuaHg9dGhpcy5uPTB9cmV0dXJuW2Z1bmN0aW9uKGgpeyhrLmdiKGgpLFIpLmdiKGgpfSwoUj0oaz1uZXcgKEcucHJvdG90eXBlLnJKPShHLnByb3RvdHlwZS5nYj1mdW5jdGlvbihoLEQpe3JldHVybiBvQi5jYWxsKHRoaXMsMTMsNjUsaCxEKX0sZnVuY3Rpb24oKXtyZXR1cm4gem8uY2FsbCh0aGlzLDIxLDc5LDMpfSksRyksbmV3IEcpLGZ1bmN0aW9uKGgsRCl7cmV0dXJuIEQ9W2suckooKSxSLnJKKCksay5oLFIuaF0sKGg9PT12b2lkIDB8fGgpJiYoUj1uZXcgRyksRH0pXX0sSlc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXt7VD05O3doaWxlKFQhPTgwKWlmKFQ9PTkpVD00ODtlbHNle2lmKFQ9PTI1KXJldHVybiBCO1Q9PTQ4P1Q9KChoXjEzKSY0KTwzJiYoaHw5KT4+Mz49Mj81NjoxNzpUPT04NT8oRyhmdW5jdGlvbihOKXtOKEQpfSksQj1bZnVuY3Rpb24oKXtyZXR1cm4gRH0sZnVuY3Rpb24oKXt9XSxUPTI1KTpUPT01Nj8obi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QucmVtb3ZlKG0pOihuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5jb250YWlucyhtKTplKDQ2LFosbSxCdShrLEcsbikpKSYmZShSLGMsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEJ1KDMzLEcsbiksZnVuY3Rpb24oTil7cmV0dXJuIE4hPW19KS5qb2luKEQpLG4pLFQ9MTcpOlQ9PTE3JiYoVD1oPj4yPDE2JiYoaCsxJjIpPj0xPzg1OjI1KX19fSxGMT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7e049MjY7d2hpbGUoTiE9MTcpaWYoTj09NDIpYz10cnVlLE49NDY7ZWxzZSBpZihOPT04MylUPWZ1bmN0aW9uKFApe3JldHVybiBoLmNhbGwoVC5zcmMsVC5saXN0ZW5lcixQKX0saD10byxCPVQsTj0yMTtlbHNlIGlmKE49PTYwKW09bmV3IHJVKEQsdGhpcyksWj1oLlZufHxoLnNyYyxuPWgubGlzdGVuZXIsaC5hbyYmY1koMzMsbnVsbCwzLFIsaCksYz1uLmNhbGwoWixtKSxOPTQ2O2Vsc2UgaWYoTj09MjYpTj1rO2Vsc2V7aWYoTj09NTcpcmV0dXJuIEI7Tj09MjE/Tj0oR14yNCk8NyYmRy03Pj01PzMwOjU3Ok49PWs/Tj0oRz4+MSY3KT09MT84MzoyMTpOPT0zMD9OPWguZlg/NDI6NjA6Tj09NDYmJihCPWMsTj01Nyl9fX0sYXY9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7d2hpbGUoIVIueW4mJihCPXZvaWQgMCxoJiZoWzBdPT09d1UmJihCPWhbMl0sRz1oWzFdLGg9dm9pZCAwKSxuPVYoayxSKSxuLmxlbmd0aD09MCYmKEQ9VigxNjgsUik+PjMsbi5wdXNoKEcsRD4+OCYyNTUsRCYyNTUpLEIhPXZvaWQgMCYmbi5wdXNoKEImMjU1KSksUD0iIixoJiYoaC5tZXNzYWdlJiYoUCs9aC5tZXNzYWdlKSxoLnN0YWNrJiYoUCs9IjoiK2guc3RhY2spKSxtPVcoUiwzMDIpLG1bMF0+MykpeyhUPShQPShtWzBdLT0oUD1QLnNsaWNlKDAsKG1bMF18MCktMyksWj1QLmxlbmd0aCwoWnwzKS1+Wisoflp8MykpLGVlKShQLDEyOCksUikuQixSKS5CPVI7dHJ5e1IuSHQ/KE49KE49Vig0NDYsUikpJiZOW04ubGVuZ3RoLTFdfHw5NSwoYz1XKFIsMTYzKSkmJmNbYy5sZW5ndGgtMV09PU58fGxOKDE2MyxbTiYyNTVdLDcsUikpOmplKDQ0NixbOTVdLFIpLGxOKDQyLEsoMixQLmxlbmd0aCkuY29uY2F0KFApLDcsUiwxNDQpfWZpbmFsbHl7Ui5CPVR9aWYoe30pYnJlYWt9fSxHTj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQsSSxTKXtpZihoPVYoMTQyLFIpLGg+PVIuail0aHJvd1t3VSwzMV07Zm9yKGM9KEk9KG09KE49MCxoKSxSLkNqKS5sZW5ndGgsayk7Yz4wOylaPW0+PjMsUz1tJTgsUD1SLndiW1pdLG49OC0oU3wwKSxCPW48Yz9uOmMsRyYmKGQ9UixkLmwhPW0+PjYmJihkLmw9bT4+NixEPWIoZCwzNjMpLGQud0o9eWgoMTYsZC5sLDI1NSxkLk4sWzAsMCxEWzFdLERbMl1dKSksUF49Ui53SltaJkldKSxOfD0oUD4+OC0oU3wwKS0oQnwwKSYoMTw8QiktMSk8PChjfDApLShCfDApLG0rPUIsYy09QjtyZXR1cm4gQygxNDIsKGh8MCkrKGt8KFQ9TiwwKSksUiksVH0sWT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7KFIrNyY0NCk+PVImJlIrND4+MjxSJiYoaD1bLTc1LC0zMSw3MSwtMzUsNDYsLTEwMCxoLDk0LDUwLC03OF0sWj1jJjcsbT1TZSxCPXlmW0cuUl0oRy5KcyksQltHLlJdPWZ1bmN0aW9uKFApe249UDt3aGlsZShudWxsPT1mYWxzZT09MClpZighKForPTYrNypjLFtdKT09dHJ1ZT09IVtdKWJyZWFrO1o9MTYrfihafDcpK2sqKFomLTgpKyh+Wl43KX0sQi5jb25jYXQ9ZnVuY3Rpb24oUCxkLEkpe3JldHVybihkPShuPShQPShJPUQlMTYrMSwrKG0oKXwwKSpJLTc4KkQqRCpuKzM5Km4qbi0yMjYyKm4rWi0gLTEyMDkqRCpuK2hbWisxOSY3XSpEKkkpLUkqbitrKkQqRCpJLHZvaWQgMCksaFtQXSksaClbKForNjEmNykrKC0yLWsqfihjfGspK2sqKH5jXmspKyh+YyZrKSldPWQsaFtaKygtfihjJmspKyhjXmspLSh+YyZrKSsofmN8aykpXT0tMzEsZH0sTj1CKTtzd2l0Y2goISgoUl4xMyk8MjQmJihSXjkwKT49MTgpKXtjYXNlIHRydWU6TnVtYmVyKHRydWUudHJ1ZSk7YnJlYWs7Y2FzZSB0cnVlPT1bXTpzd2l0Y2goIShEPVhYKCJhcnJheSIsaCwibnVsbCIpPT09ImFycmF5Ij9oOltoXSx0aGlzLkspKXtjYXNlIHRydWU6dHJ5e2M9IXRoaXMuUC5sZW5ndGgmJiF0aGlzLm8sYSg1NyxbJGYsW10sRCxrLEddLHRoaXMpLEcmJiFjfHxSQigyNyxmYWxzZSx0aGlzLHRydWUsRyl9Y2F0Y2goUCl7ZSg1NiwiOiIsdGhpcyxQKSxrKHRoaXMuSyl9YnJlYWs7Y2FzZSB0cnVlPT1bXT09bnVsbDprKHRoaXMuSyk7YnJlYWt9YnJlYWt9KFIrM14xMik+PVImJihSKzJeMjcpPFImJihOPVQ9ZnVuY3Rpb24oKXt7dmFyIFA9NzE7d2hpbGUoUCE9OSlpZihQPT0xNil2YXIgZD1bTVQsKFA9OTcsYyksaCx2b2lkIDAsbixtLGFyZ3VtZW50c107ZWxzZSBpZihQPT01OSlQPVouWT8xNjo4ODtlbHNlIGlmKFA9PTk3KVA9RD09Rz83OTozNTtlbHNlIGlmKFA9PTM1KVA9RD09MT81NjoyNztlbHNlIGlmKFA9PTI3KXt2YXIgST1rbihkLDIsdHJ1ZSxaKTtQPTk5fWVsc2UgaWYoUD09NTYpe3ZhciBTPSFaLlAubGVuZ3RoJiYhWi5vO2EoNDMsZCxaKSxTJiZSQigyOCxmYWxzZSxaLGssayksUD05OX1lbHNlIGlmKFA9PTg4KW4mJm0mJm4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihtLFQsb3YpLFA9OTtlbHNle2lmKFA9PTk5KXJldHVybiBJO1A9PTcxP1A9Wi5CPT1aPzU5Ojk6UD09NzkmJihhKDQyLGQsWiksST1SQigyOSxmYWxzZSxaLGssayksUD05OSl9fX0pO3N3aXRjaCghKChSfDcyKT09Uikpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgW109PShbXSE9KCFbXT09MCkpOmE6e2lmKGsuVil7Tj1rZihrLGsuRyk7YnJlYWsgYX0oRz1HTig4LGssdHJ1ZSksRyYxMjgpJiYoR149MTI4LGg9R04oMixrLHRydWUpLEc9KEQ9Rzw8MiwoRCZoKS0xLX4oRHxoKSkpLE49R31icmVha313aGlsZShSPj4yPj05JiYoKFJeMTkpJjI0KTwxOSl7RD1xKDE3LEcpO3tjPTA7d2hpbGUoaD4wKWM9Yzw8a3xSdihHKSxoLS19aWYoIVtdPT0oMCE9IShDKEQsYyxHKSxbXSkpKWJyZWFrfXJldHVybiBOfSxzNT1mdW5jdGlvbihrKXtyZXR1cm4gSUIuY2FsbCh0aGlzLDksayl9LENyPWZ1bmN0aW9uKGssUil7e3ZhciBHPTkzO3doaWxlKEchPTUxKWlmKEc9PTkzKXZhciBoPShHPTUwLDEpO2Vsc2UgaWYoRz09NjQpRz1oPGFyZ3VtZW50cy5sZW5ndGg/NzU6NTE7ZWxzZSBpZihHPT03NSl7dmFyIEQ9YXJndW1lbnRzW2hdO2ZvcihaIGluIEQpa1taXT1EW1pdO3ZhciBjPShHPTk2LDApfWVsc2UgaWYoRz09OTYpRz04NDtlbHNlIGlmKEc9PTUwKUc9NjQ7ZWxzZSBpZihHPT03MiljKyssRz04NDtlbHNlIGlmKEc9PTg0KUc9YzxIWS5sZW5ndGg/ODA6MjtlbHNlIGlmKEc9PTIpaCsrLEc9NjQ7ZWxzZSBpZihHPT04MCl7dmFyIFo9SFlbY107T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsWikmJihrW1pdPURbWl0pLEc9NzJ9fX0sTlQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkLEkpe2ZvcihkPTI0O2QhPTE5OylpZihkPT05NilBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEcsZnVuY3Rpb24oUyxYLE0pe2ZvcihNPTI0O00hPTI2OylNPT0yND9NPWsuY2xhc3NMaXN0PzYwOjQ5Ok09PTQ5P009KGsuY2xhc3NMaXN0P2suY2xhc3NMaXN0LmNvbnRhaW5zKFMpOmUoNDUsMCxTLEJ1KDMyLCJjbGFzcyIsaykpKT8yNjo1NTpNPT01NT8oWD1BVyg0MSwiY2xhc3MiLDI4LCIiLGspLGUoNiwic3RyaW5nIixYKyhYLmxlbmd0aD4wPyIgIitTOlMpLGspLE09MjYpOk09PTYwJiYoay5jbGFzc0xpc3QuYWRkKFMpLE09MjYpfSksZD0yNztlbHNlIGlmKGQ9PTkwKWQ9KFI8PDEmOSk+PTEmJihSPj4yJjEyKTw2Pzg2OjI3O2Vsc2UgaWYoZD09MjQpZD02MTtlbHNlIGlmKGQ9PTg2KWQ9ay5jbGFzc0xpc3Q/OTY6NztlbHNlIGlmKGQ9PTI3KWQ9KFJeMzQpPDI2JiYoUisxJjE1KT49OT81ODo5NztlbHNlIGlmKGQ9PTEwKWQ9YzxoLmxlbmd0aD8zMzo3NDtlbHNlIGlmKGQ9PTEzKWMrKyxkPTEwO2Vsc2V7aWYoZD09OTcpcmV0dXJuIEk7aWYoZD09Nyl7Zm9yKGMgaW4gaD0oKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoKEQ9e30sQnUpKDM2LCJjbGFzcyIsayksZnVuY3Rpb24oUyl7RFtTXT10cnVlfSksQXJyYXkucHJvdG90eXBlKS5mb3JFYWNoLmNhbGwoRyxmdW5jdGlvbihTKXtEW1NdPXRydWV9KSwiIiksRCloKz1oLmxlbmd0aD4wPyIgIitjOmM7ZD0oZSg1LCJzdHJpbmciLGgsayksMjcpfWVsc2UgaWYoZD09ODkpZD1EPms/Njo1NztlbHNlIGlmKGQ9PTYpWltuKytdPUQmayxEPj49OCxkPTU3O2Vsc2UgaWYoZD09MzMpRD1oLmNoYXJDb2RlQXQoYyksZD04OTtlbHNlIGlmKGQ9PTc0KUk9WixkPTk3O2Vsc2UgaWYoZD09OTQpZD0xMDtlbHNlIGlmKGQ9PTU3KVpbbisrXT1ELGQ9MTM7ZWxzZSBpZihkPT01OCluPWM9RyxaPVtdLGQ9OTQ7ZWxzZSBpZihkPT04KXthOntpZihELkI9KChELkgrPShaPShuPShjfHxELm9vKyssRC5xbz4wJiZELm8mJkQuRTkpJiZELkQ3PD0xJiYhRC5WJiYhRC5TJiYoIWN8fEQuZEotRz4xKSYmZG9jdW1lbnQuaGlkZGVuPT1rLChCPUQub289PTQpfHxuP0QuSigpOkQuY3QpLG09Wi1ELmN0LG0pPj4xND4wLEQpLk4mJihELk49KFQ9RC5OLE49KEQuSCsxPj4yKSoobTw8MiksLSh+VF5OKSsoflQmTikrKFR8fk4pKSksRC5IKzE+PjIhPTB8fEQuQiksQnx8bilELm9vPTAsRC5jdD1aO2lmKCFuKXtJPWs7YnJlYWsgYX1pZigoRC5xbz5ELkUyJiYoRC5FMj1ELnFvKSxaLUQua04pPEQucW8tKGg/MjU1OmM/NToyKSl7ST1rO2JyZWFrIGF9ST0oQygxNDIsKFA9VihjPzE2ODoxNDIsKEQuZEo9RyxEKSksRC5qKSxEKSxELlAucHVzaChbbWMsUCxjP0crMTpHLEQudSxELlddKSx0cnVlKSxELlM9dTl9ZD02NH1lbHNlIGQ9PTE3PyhJPWsmJmsucGFyZW50Tm9kZT9rLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoayk6bnVsbCxkPTkwKTpkPT02ND9kPShSKzReMTApPj1SJiYoUis0XjI1KTxSPzE3OjkwOmQ9PTYxJiYoZD1SPj4xJjE1PzY0OjgpfX0sTG49ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe2ZvcihuPTgwO24hPTk1Oyl7aWYobj09MTUpcmV0dXJuIG07bj09Nzg/bj0oaC1rJjcpPT0xPzU1OjgxOm49PTU1Pyh0aGlzLmxpc3RlbmVyPVosdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPWMsdGhpcy50eXBlPUcsdGhpcy5jYXB0dXJlPSEhRCx0aGlzLlZuPVIsdGhpcy5rZXk9KytJdix0aGlzLmFvPXRoaXMuZlg9ZmFsc2Usbj04MSk6bj09NTY/KG09RyBpbiBUTj9UTltHXTpUTltHXT1SK0csbj0xNSk6bj09Mzg/bj0oaHw0OCk9PWg/NTY6MTU6bj09MTM/KEcucFgoZnVuY3Rpb24oQil7Yz1CfSxSLEQpLG09YyxuPTM4KTpuPT04MT9uPWgtNyY1PzM4OjEzOm49PTgwJiYobj03OCl9fSxCdT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQpe2ZvcihQPTI1O1AhPTU2OylpZihQPT00MCltPXRXKDY4LG4pLFA9NDc7ZWxzZSBpZihQPT0zMyluLkkucmVtb3ZlKFN0cmluZyhaKSxELEIsYyksUD05MztlbHNlIGlmKFA9PTQ3KVA9bT82Njo5MztlbHNlIGlmKFA9PTQ0KU49UixQPTE4O2Vsc2UgaWYoUD09NzMpUD0oa3wzMik9PWs/NTk6NDg7ZWxzZXtpZihQPT00OClyZXR1cm4gZDtpZihQPT01MilQPUFycmF5LmlzQXJyYXkoWik/NDQ6MzE7ZWxzZSBpZihQPT01OSlkPUcuY2xhc3NMaXN0P0cuY2xhc3NMaXN0OkFXKDQxLFIsMjYsIiIsRykubWF0Y2goL1xcUysvZyl8fFtdLFA9NDg7ZWxzZSBpZihQPT03MClQPWsrNj4+ND83Mzo5NDtlbHNlIGlmKFA9PTk0KXthOntpZih0eXBlb2YgUj09PSJmdW5jdGlvbiIpe2Q9UjticmVhayBhfWQ9KFJbZFVdfHwoUltkVV09ZnVuY3Rpb24oSSl7cmV0dXJuIFIuaGFuZGxlRXZlbnQoSSl9KSxSW2RVXSl9UD03M31lbHNlIGlmKFA9PTE4KVA9MzA7ZWxzZSBpZihQPT05MylQPShrLTdeMjMpPj1rJiYoays3JjI1KTxrPzc3OjcwO2Vsc2UgaWYoUD09MzcpUD0oa3w5KT4+Mz09Mz81Mjo5MztlbHNlIGlmKFA9PTI1KVA9Mzc7ZWxzZSBpZihQPT01MylQPW4mJm5bZEpdPzMzOjg5O2Vsc2UgaWYoUD09ODkpUD1uPzQwOjkzO2Vsc2UgaWYoUD09ODIpTisrLFA9MzA7ZWxzZSBpZihQPT0zMSlCPU5QKDQsRywxNyxoKT8hIWguY2FwdHVyZTohIWgsRD1CdSg1LEQpLFA9NTM7ZWxzZSBpZihQPT0yMSlCdSgxNywwLCJvYmplY3QiLGgsRCxjLFpbTl0sbiksUD04MjtlbHNlIGlmKFA9PTc3KXtmb3IoWiBpbihEPVIsaCkuWil7Zm9yKGM9KG49aC5aW1pdLFIpO2M8bi5sZW5ndGg7YysrKSsrRCxoVyg4LEcsbltjXSk7ZGVsZXRlIGguWltoLkp4LS0sWl19UD03MH1lbHNlIFA9PTY2PygoVD1tLkNYKFosRCxjLEIpKSYmY1koMzMsbnVsbCw1LCJvbiIsVCksUD05Myk6UD09MzAmJihQPU48Wi5sZW5ndGg/MjE6OTMpfX0sTlA9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKFo9OTY7WiE9NzM7KWlmKFo9PTU4KVo9KEd8MTYpPT1HPzQ3OjcwO2Vsc2V7aWYoWj09NzApcmV0dXJuIGM7Wj09NjY/Wj0oRysyXjIwKT49RyYmKEcrayY1Nyk8Rz82OTo1ODpaPT00Nz8oRD10eXBlb2YgaCxjPUQ9PVImJmghPW51bGx8fEQ9PSJmdW5jdGlvbiIsWj03MCk6Wj09Njk/KHRoaXMuS2o9UixaPTU4KTpaPT05NiYmKFo9NjYpfX0sY1k9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXtmb3IoQj05NTtCIT0wOylpZihCPT04KXRoaXMubisrLEI9ODE7ZWxzZSBpZihCPT05NylCPW0/ODA6Mzc7ZWxzZSBpZihCPT05NClCPXR5cGVvZiBEIT09Im51bWJlciImJkQmJiFELmZYPzE1OjMyO2Vsc2UgaWYoQj09MTUpYz1ELnNyYyxCPTEzO2Vsc2UgaWYoQj09ODApckooaywwLEQsbSksQj0yNjtlbHNlIGlmKEI9PTI2KUI9bS5KeD09MD82MzozMjtlbHNlIGlmKEI9PTY1KXRoaXMuVC5wdXNoKFIpLEI9MTg7ZWxzZSBpZihCPT0zNyloVyg3LHRydWUsRCksQj0zMjtlbHNlIGlmKEI9PTEzKUI9YyYmY1tkSl0/OTE6Mzk7ZWxzZSBpZihCPT02NyloPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp0aGlzLm4pLGg8NTAmJih0aGlzLlRbaF09UiksQj0xODtlbHNlIGlmKEI9PTM5KVo9RC50eXBlLG49RC5wcm94eSxjLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yy5yZW1vdmVFdmVudExpc3RlbmVyKFosbixELmNhcHR1cmUpOmMuZGV0YWNoRXZlbnQ/Yy5kZXRhY2hFdmVudChMbigzLGgsWiw1MCksbik6Yy5hZGRMaXN0ZW5lciYmYy5yZW1vdmVMaXN0ZW5lciYmYy5yZW1vdmVMaXN0ZW5lcihuKSxpOS0tLG09dFcoMjEsYyksQj05NztlbHNlIGlmKEI9PTE5KUI9Ry04PDwyPj1HJiZHKzI+PjE8Rz84OjE4O2Vsc2UgaWYoQj09OTEpckooMzIsMCxELGMuSSksQj0zMjtlbHNlIGlmKEI9PTk1KUI9MTk7ZWxzZSBpZihCPT04MSlCPXRoaXMuVC5sZW5ndGg8NTA/NjU6Njc7ZWxzZSBpZihCPT02MyltLnNyYz1SLGNbbDldPVIsQj0zMjtlbHNle2lmKEI9PTMyKXJldHVybiBUO0I9PTE4JiYoQj0oR3wxKT4+Mz8zMjo5NCl9fSxLPWZ1bmN0aW9uKGssUixHLGgsRCl7Zm9yKGg9LX4oayYxKSsoRD1bXSwtMikrKGsmLTIpO2g+PTA7aC0tKURbfihrJjEpLTMqfmsrMip+KGt8MSkrKH5rJjEpLShofDApXT0oRz1SPj5oKjgsLTIqfihHJjI1NSktMSt+RysoRyYtMjU2KSk7aWYoe30pcmV0dXJuIER9LGZyPWZ1bmN0aW9uKCl7cmV0dXJuIFBZLmNhbGwodGhpcywxNCl9LFE9ZnVuY3Rpb24oayxSLEcpe3N3aXRjaCghKFI9PTE0Mnx8Uj09MTY4KSl7Y2FzZSB0cnVlOmlmKGsueW4mJlIhPTM2MylyZXR1cm47Uj09NDg4fHxSPT00Mnx8Uj09MjY0fHxSPT0xNHx8Uj09NTA2fHxSPT00NDZ8fFI9PTE2M3x8Uj09OTV8fFI9PTE5MXx8Uj09MzAyP2suWVtSXXx8KGsuWVtSXT1ZKDIsMzQsayxHLFIsMzgpKTprLllbUl09WSgyLDMzLGssRyxSLDEyOSk7YnJlYWs7Y2FzZSAhW106ay5ZW1JdP2suWVtSXS5jb25jYXQoRyk6ay5ZW1JdPXEoMjEsRyxrKTticmVha31SPT0zNjMmJihrLk49R04oMzIsayxmYWxzZSksay5sPXZvaWQgMCl9LER5PXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oayl7ZnVuY3Rpb24gUigpe31yZXR1cm4gUi5wcm90b3R5cGU9ayxuZXcgUn0sREQ9ZnVuY3Rpb24oayl7cmV0dXJuIFRvLmNhbGwodGhpcyw1NCxrLDI1KX0samU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe3N3aXRjaCghKEcuQj09Rykpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgISFudWxsOnttPWIoRyxrKSxrPT00Mnx8az09MTkxfHxrPT0xND8oRD1mdW5jdGlvbihCLFQsTixQLGQsSSxTLFgpe2ZvcihJPShYPTE4LDg5KTs7KXRyeXtpZihYPT0zMylicmVhaztlbHNlIGlmKFg9PTU3KW0ucHVzaChtLkdmWy0oVHw3KS0yKn4oVHw3KSsoVHwtOCkrKH5UfDcpXV5CKSxYPTMzO2Vsc2V7aWYoWD09MzkpdGhyb3cgST04OSxTO1g9PTUwP1g9bS5tQiE9Tj81NDo1NzpYPT02OD8oST0zNixtLkdmPXloKDE2LHEoNTAsOCwtMS0yKn4oUHw0KSsoflBeNCksbSksMjU1LHEoMTgsOCxQLG0pLGQpLFg9NTcpOlg9PTU0PyhQPShOPDwzKS00LGQ9WzAsMCxjWzFdLGNbMl1dLG0ubUI9TixYPTY4KTpYPT0xOCYmKFQ9bS5sZW5ndGgsTj0oVHwwKS00Pj4zLFg9NTApfX1jYXRjaChNKXtpZihJPT04OSl0aHJvdyBNO0k9PTM2JiYoUz1NLFg9MzkpfX0sYz1WKDk1LEcpKTpEPWZ1bmN0aW9uKEIpe20ucHVzaChCKX0saCYmRCgoaHwwKS0gLTUxMisyKn4oaHwyNTUpKyhoJi0yNTYpKSxuPVIubGVuZ3RoLFo9MDt3aGlsZShaPG4pRChSW1pdKSxaKyt9YnJlYWt9fSxQZD1mdW5jdGlvbihrKXtyZXR1cm4gTlQuY2FsbCh0aGlzLGssMTYpfSxoMD1mdW5jdGlvbihrLFIsRyxoLEQsYyl7cmV0dXJuIE9SLmNhbGwodGhpcywxMiw2LGssUixHLGgsRCxjKX0sYjk9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXtyZXR1cm4gQlkuY2FsbCh0aGlzLGssOCxSLEcsaCxELGMsWixuKX0sak09ZnVuY3Rpb24oayl7cmV0dXJuIEtuLmNhbGwodGhpcywwLDEsOCxrKX0sUnY9ZnVuY3Rpb24oayl7cmV0dXJuIGsuVj9rZihrLGsuRyk6R04oOCxrLHRydWUpfSx5aD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4pe1o9KGM9MCxEWzNdfDApO3tuPURbMl18MDt3aGlsZShjPGspUj1SPj4+OHxSPDwyNCxSKz1ofDAsWj1aPj4+OHxaPDwyNCxoPWg8PDN8aD4+PjI5LForPW58MCxSXj1uKzY1OSxuPW48PDN8bj4+PjI5LGhePVIsWl49Yys2NTksbl49WixjKyt9cmV0dXJuW2g+Pj4yNCZHLGg+Pj5rJkcsaD4+PjgmRyxoPj4+MCZHLFI+Pj4yNCZHLFI+Pj5rJkcsUj4+PjgmRyxSPj4+MCZHXX0sY2Q9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe0I9KGMuSnM9dFcoNzcsKGMuQ2o9Y1tBb10sYy5nSj14ZixjLllEPUpvLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25jYXQoKX19KSxjLlIpLGMudlY9eWZbYy5SXShjLkpzLHt2YWx1ZTp7dmFsdWU6e319fSksMCk7e049W107d2hpbGUoQjwzODMpTltCXT1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpLEIrK31pZihjLlJhPShjLmN0PShjLkI9KGMuRno9W10sYy5WVD1mdW5jdGlvbihQKXtyZXR1cm4gb0IuY2FsbCh0aGlzLDEzLDEyLFApfSwoYy5FMj0oYy5QPVtdLDApLGMuWT1bXSxjLlc9ZmFsc2UsYy53Yj1bXSxjKS5OPShjLks9KGMuRz12b2lkIDAsYy5Eaz1bXSx2b2lkIDApLFQ9d2luZG93LnBlcmZvcm1hbmNlfHx7fSx2b2lkIDApLGMpLDApLFQudGltZU9yaWdpbil8fChULnRpbWluZ3x8e30pLm5hdmlnYXRpb25TdGFydHx8MCx0cnVlKWMud0o9dm9pZCAwO2MudT0oYy55VD0oKGMuVGU9RyxjLmRKPTMwMDAxLGMpLkQ3PTAsKGMuWD0wLGMpLnZ0PShjLm89ZmFsc2UsYy5CVj0oYy5PXz1ELG0pLFtdKSwwKSxmYWxzZSk7d2hpbGUoLTA9PT0wKWlmKChjLnM5PTI1LFtdKSE9dHJ1ZSlicmVhaztpZihjLnluPSEoYy5TbT0oKGMuVTk9W10sYy5sPXZvaWQgMCxjLlM9bnVsbCxjLnVYPShjLkJ3PTAsYy5xbz0wLGMuaj0wLFtdKSxjLlY9dm9pZCAwLGMuSHQ9IShjLkU5PWZhbHNlLGMub289dm9pZCAwLDEpLGMpLmtOPShjLlRmPTAsYy5IPTEsYy5XdD12b2lkIDAsMCksW10pLDEpLFomJloubGVuZ3RoPT0yJiYoYy5Eaz1aWzFdLGMuVTk9WlswXSksUil0cnl7Yy5XdD1KU09OLnBhcnNlKFIpfWNhdGNoKFApe2MuV3Q9e319ZigoZigyNixmdW5jdGlvbihQLGQsSSxTLFgpe3tYPTA7d2hpbGUoWCE9NjYpWD09ODg/KEk9cSgyNSxQKSxTPVkoUCw3MyksUShQLFMsZnVuY3Rpb24oTSl7cmV0dXJuIGV2YWwoTSl9KHpOKFYoSSxQLkIpKSkpLFg9NjYpOlg9PTAmJihYPU5UKGZhbHNlLDMyLGQsZmFsc2UsUCx0cnVlKT82Njo4OCl9fSwoKGYoKGYoMTYsZnVuY3Rpb24oUCl7a2ooMyxQKX0sKEMoMTQsKGYoKEEoMjY0LChmKDIzLChmKDIwLCgoZigxNywoZigyNywoZigxOCwoKGYoMjEsZnVuY3Rpb24oKXt9LDMyMywoZigyMCwoZigyMyxmdW5jdGlvbihQLGQsSSxTKXtBKChJPShTPShkPXEoNzEsUCksUnYpKFApLFkoUCw3NykpLEkpLFAsVyhQLGQpPj4+Uyl9LChDKDQyLChBKDE1NixjLChRKGMsKFEoYyw0ODgsKEEoMTkxLGMsKEMoOTUsKEMoNTUsKGYoMjUsKEMoNTA2LFtdLCgoQSgoZigxMyxmdW5jdGlvbihQLGQsSSxTLFgpe2ZvcihYPTU1O1ghPTQyOylYPT0zNz8oZC0tLFg9OTIpOlg9PTkyP1g9ZD4wPzkzOjk3Olg9PTU1PyhJPVAuRnoucG9wKCksWD0yOSk6WD09ODc/KFEoUCwxNDIsUC5qKSxYPTQyKTpYPT03MD9YPTkyOlg9PTk3PyhJWzUwNl09UC5ZWzUwNl0sSVszMDJdPVAuWVszMDJdLFAuWT1JLFg9NDIpOlg9PTI5P1g9ST82Nzo4NzpYPT05Mz8oUz1xKDI1LFApLElbU109UC5ZW1NdLFg9MzcpOlg9PTY3JiYoZD1SdihQKSxYPTcwKX0sKGMud049KChmKDE3LGZ1bmN0aW9uKFAsZCxJLFMsWCxNKXtmb3IoTT03MTtNIT00MDspTT09NzE/TT1OVChmYWxzZSw2NCxkLGZhbHNlLFAsdHJ1ZSk/NDA6OTc6TT09NDg/TT1QLkI9PVB8fEk9PVAuVlQmJlM9PVA/MTk6NDA6TT09OTc/KFg9cVQoNzEsNzQsUCwwLDEpLFM9WC5rZSxJPVguUFYsTT00OCk6TT09MTkmJihBKFgucW0sUCxJLmFwcGx5KFMsWC5MKSksUC5jdD1QLkooKSxNPTQwKX0sKGYoKGYoKChBKDE1NyxjLChmKChmKDI1LChDKDE2OCwoQSgxNDIsYywoZigoZigxOCwoZigyMixmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyl7Zm9yKHc9MjQ7dyE9ODY7KXc9PTQ/KFEoUCxyLEkpLHc9ODYpOnc9PTQ0PyhkPShNPXEoMTIsNyxQKSwtMip+KGR8TSkrKGR8fk0pKyh+ZHxNKSklbCxJLnB1c2goU1tkXSksdz0yOSk6dz09MjQ/KHI9WShQLDc3KSxYPXEoMTEsNyxQKSxJPVtdLFM9VyhQLDM5MyksZD0wLGw9Uy5sZW5ndGgsdz03MCk6dz09MjM/dz1YLS0/NDQ6NDp3PT0yOT93PTIzOnc9PTcwJiYodz0yMyl9LDMxMSxjKSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyl7Zm9yKHc9NjY7dyE9MzU7KXc9PTYwP3c9bDxkLmxlbmd0aD83MjoyODp3PT03Mj8oWCs9U3RyaW5nLmZyb21DaGFyQ29kZShkW2xdXjEyMSksdz00Myk6dz09NDM/KGwrKyx3PTYwKTp3PT04ND93PTYwOnc9PTY2PyhJPXEoODksUCkscj1xKDcyLFApLE09WShQLDc3KSxkPVcoUCxyKSxTPWIoUCxJKSxsPTAsWD0iIix3PTg0KTp3PT0yOCYmKEMoTSxTW1hdLFApLHc9MzUpfSksMTM2LGMpLDI3KSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyxFKXt7RT04NDt3aGlsZShFIT0xNClFPT0yND8oTSs9U3RyaW5nLmZyb21DaGFyQ29kZSgoUz1kW3ddLDMqfihTJjEyMSktMip+Uy0gLTI0NCt+KFN8MTIxKSkpLEU9OTMpOkU9PTkzPyh3KyssRT0xOSk6RT09ODQ/KFg9WShQLDc0KSxJPVkoUCw3NCkscj1ZKFAsNzIpLGw9VyhQLEkpLGQ9VyhQLFgpLE09IiIsdz0wLEU9NDIpOkU9PTM0PyhBKHIsUCxNIGluIGx8MCksRT0xNCk6RT09MTk/RT13PGQubGVuZ3RoPzI0OjM0OkU9PTQyJiYoRT0xOSl9fSwyMjEsYyksMCkpLDApLGMpLGZ1bmN0aW9uKFAsZCxJKXtkPVkoKEk9WShQLDc2KSxQKSw3NiksQShkLFAsIiIrVyhQLEkpKX0pLDEwNixjKSwyMiksZnVuY3Rpb24oUCxkLEksUyxYLE0pe3tNPTM4O3doaWxlKE0hPTk3KU09PTE5PyhYKyssTT02OCk6TT09OD8oQShTLFAsZCksTT05Nyk6TT09Njg/TT1YPEk/MjY6ODpNPT04NT9NPTY4Ok09PTM4PyhTPXEoNjcsUCksST1xKDksNyxQKSxYPTAsZD1bXSxNPTg1KTpNPT0yNiYmKGQucHVzaChSdihQKSksTT0xOSl9fSwzMzUsYykse30pKSxjKS54ZT0wLDE2KSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyKXtmb3Iocj05NDtyIT04OTspaWYocj09NjEpcj1YPFAudnQubGVuZ3RoPzc0Ojk4O2Vsc2UgaWYocj09OTQpe2ZvcihJIGluIGRlbGV0ZSAoZD0oUz1SdihQKSxXKShQLDU1KSxkKVtTXSxkKWlmKEkhPT0idCImJk9iamVjdC5oYXNPd24oZCxJKSlyZXR1cm47cj0oWD0wLDQ0KX1lbHNlIHI9PTY5PyhYKysscj02MSk6cj09ODU/KEguY2xlYXJUaW1lb3V0KE0uSWEpLGEoNDYsTS5RVCxQKSxhKDQ1LE0uYWEsUCkscj02OSk6cj09Nzg/cj1NLk1tPzY5Ojg1OnI9PTk4PyhQLnZ0Lmxlbmd0aD0wLHI9ODkpOnI9PTc0PyhNPVAudnRbWF0scj03OCk6cj09NDQmJihyPTYxKX0sMzI5LGMpLDI0KSxmdW5jdGlvbihQLGQsSSl7KGQ9YigoST1ZKFAsNzUpLFAuQiksSSksZFswXSkucmVtb3ZlRXZlbnRMaXN0ZW5lcihkWzFdLGRbMl0sb3YpfSwxMzcsYyksMzEwKSxjKSxuZXcgZ1UoIlN1Ym1pdCIpKS5kaXNwb3NlKCksMCksMzI3KSxjKSw0MSksYywxODMpLGYpKDE2LGZ1bmN0aW9uKFApe3VOKDQsUCl9LDEzNCxjKSxjKSksZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcsRSxGLCRuLEdvLEosdil7Zm9yKHY9MDt2IT0yNzspaWYodj09NjkpRT1yLmxlbmd0aCxGPUY+MD9GOjEsdz0wLHY9MTE7ZWxzZSBpZih2PT04NSl2PXc8RT83OjI3O2Vsc2UgaWYodj09NjYpbD1xKDczLFApLCRuPXEoNzYsUCksR289cSg0OSxQKSxJPXEoNTcsUCksUz1XKFAsJG4pLHI9VyhQLGwpLE09VihJLFApLEY9VihHbyxQKSx2PTM3O2Vsc2UgaWYodj09Mzcpdj1YWCgiYXJyYXkiLHIsIm51bGwiKT09Im9iamVjdCI/OTA6Nzk7ZWxzZSBpZih2PT0wKXY9TlQoZmFsc2UsMzIsZCx0cnVlLFAsdHJ1ZSk/Mjc6NjY7ZWxzZSBpZih2PT03KVMoci5zbGljZSh3LCh3fDApKyhGfDApKSxNKSx2PTU5O2Vsc2UgaWYodj09MTEpdj04NTtlbHNlIGlmKHY9PTkwKXtmb3IoWCBpbiBKPVtdLHIpSi5wdXNoKFgpO3Y9KHI9Siw3OSl9ZWxzZSB2PT03OT92PVAuQj09UD82OToyNzp2PT01OSYmKHcrPUYsdj04NSl9KSw3MyxjKSx7fSksYyksWzAsMCwwXSksYyksWWYoNCkpKSxbNTcsMCwwXSkpLDE2MyksW10pLEgpKSxZZig0KSksYyksNDU0KSxjKSxmdW5jdGlvbihQLGQsSSxTLFgpe0EoKGQ9WFgoImFycmF5IiwoST1iKFAsKFM9cSgxNywoWD1ZKFAsNzQpLFApKSxYKSksSSksIm51bGwiKSxTKSxQLGQpfSksNDQxLGMpLGMpKSxRKShjLDQ1OCwwKSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwpe3tsPTY5O3doaWxlKGwhPTIyKWw9PTQ2PyhQLk49R04oMzIsUCxmYWxzZSksUC5sPXZvaWQgMCxsPTIyKTpsPT0xNz9sPVg9PTM2Mz80ODoyMjpsPT02ND9sPUk9PTI/NDY6MjI6bD09NDA/bD1QLkI9PVA/OTA6MjI6bD09NDg/KFAubD12b2lkIDAsbD02NCk6bD09OTA/KHI9YihQLFgpLFM9YihQLE0pLEk9VyhQLGQpLHJbSV09UyxsPTE3KTpsPT02OSYmKFg9WShQLDczKSxkPXEoODksUCksTT1xKDc4LFApLGw9NDApfX0pLDY3LGMpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCx3LEUpe2ZvcihFPTM7RSE9MTM7KUU9PTk3PyhYPXFUKDcxLDc0LFAuQiwwLDEpLE09WC5MLHc9WC5xbSxTPVguUFYsST1YLmtlLHI9TS5sZW5ndGgsbD1yPT0wP25ldyBJW1NdOnI9PTE/bmV3IElbU10oTVswXSk6cj09Mj9uZXcgSVtTXShNWzBdLE1bMV0pOnI9PTM/bmV3IElbU10oTVswXSxNWzFdLE1bMl0pOnI9PTQ/bmV3IElbU10oTVswXSxNWzFdLE1bMl0sTVszXSk6MigpLFEoUCx3LGwpLEU9MTMpOkU9PTMmJihFPU5UKGZhbHNlLDY1LGQsZmFsc2UsUCx0cnVlKT8xMzo5Nyl9KSwxMjcsYyksZnVuY3Rpb24oUCxkKXtwcigoZD1XKFAsWShQLDc2KSksNTA2KSwwLDE0MixkLDEwNCxQLkIpfSksMzEzLGMpLGYpKDE4LGZ1bmN0aW9uKFApe3VOKDEsUCl9LDEyMSxjKSxmdW5jdGlvbihQLGQsSSxTLFgsTSl7KEk9KGQ9KE09WShQLChYPXEoKFM9cSg3OSxQKSw2NyksUCksNzIpKSxiKShQLFgpLFYoUyxQKSksQykoTSxJW2RdLFApfSksMjEyLGMpLGYoMTUsZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcsRSxGKXtmb3IoRj04MztGIT0yNDspRj09Nzg/KFg9WShmYWxzZSwxNiwyLE0sMSxyLFAsRSx3KSxFLmFkZEV2ZW50TGlzdGVuZXIodyxYLG92KSxWKDcxLFApLnB1c2goZnVuY3Rpb24oKXtFLnJlbW92ZUV2ZW50TGlzdGVuZXIodyxYLG92KX0pLEMoNDU4LFtFLHcsWF0sUCksRj0yNCk6Rj09ODM/KGw9cSg0OSxQKSxTPXEoNzQsUCksZD1xKDU3LFApLEk9cSg3MCxQKSx3PVcoUCxTKSxNPWIoUCxJKSxyPVYoZCxQKSxFPVYobCxQLkIpLEY9MzQpOkY9PTM0JiYoRj1FIT09MD83ODoyNCl9LDQ5MyxjKSxmdW5jdGlvbihQLGQsSSxTKXtRKFAsKGQ9cSg3NSwoST1xKDc3LChTPVkoUCw3MiksUCkpLFApKSxkKSxiKFAsUyl8fFcoUCxJKSl9KSwxMTEsYyksYyksW10pLDE5KSxmdW5jdGlvbihQKXtraig0LFApfSw1MDAsYyksWWYoNCkpLGMpLDM2NCksYyksMTMpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNKXtBKChkPShJPWIoUCwoTT1xKDQ5LChTPVkoUCwoWD1xKDE3LFApLDcyKSksUCkpLFgpKSxWKShTLFApLE0pLFAsKyhJPT1kKSl9LDQzMixjKSxjKS5aaj0wLDUwNCksYyksMTUpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCl7aWYoMD09IShJPShyPVcoKE09WShQLChYPVkoUCwobD1ZKChTPVkoUCw3NiksUCksNzMpLDcyKSksNzUpKSxQKSxsKSxXKFAsTSkpLFt0cnVlLnRydWVdKSlkPVYoWCxQKTtDKFMsWShmYWxzZSwxNywyLGQsSSxyLFApLFApfSw4MCxjKTt3aGlsZSghW10hPSh0cnVlPT1bXSE9bnVsbCkpaWYoZigyNixmdW5jdGlvbihQLGQsSSxTLFgsTSl7KFg9YihQLChkPShTPXEoKEk9cSg2OCwoTT1xKDgwLFApLFApKSw3MCksUCksYihQLEkpKSxNKSksQykoUyxYIGluIGR8MCxQKX0sMzcsYyksIWZhbHNlPT0hIiIpYnJlYWs7UkIoMjYsZmFsc2UsYywoYSg0NywoYSg0MSwoQSg3MSwoKEEoMzAyLGMsWyhmKDE1LGZ1bmN0aW9uKFAsZCxJLFMpe1YoKGQ9YihQLChJPXEoNjgsUCksUz1ZKFAsNzMpLFMpKSxJKSxQKSE9MCYmQygxNDIsZCxQKX0sKFEoYyw0NDYsKGYoMTMsZnVuY3Rpb24oUCl7WSg4LDU0LFAsNCl9LDc0LChRKChmKDE3LGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCx3LEUsRiwkbixHbyxKLHYsTyx5LHdKKXt7eT0xMzt3aGlsZSh5IT00MCl5PT0wP3k9ODp5PT0yMD8oZigyMSxmdW5jdGlvbih6LFB1LG03LGcsZU0sTCl7Zm9yKEw9NDI7TCE9NzU7KUw9PTIxPyhQdS5wdXNoKG03KSxMPTQ4KTpMPT0zOD8oZy5wdXNoKHEoMjUseikpLEw9OTgpOkw9PTUzP0w9bTc+PWcubGVuZ3RoPzM4OjI1Okw9PTI1PyhtNz1nW203XSxMPTIxKTpMPT02Nj8oei5WPXEoNTMsUy5zbGljZSgpLHopLHouRz1xKDUsUHUseiksTD03NSk6TD09MTE/KG03PU1bZU1dLEw9MTUpOkw9PTQ4PyhlTSsrLEw9NjApOkw9PTQyPyhlTT0wLFB1PVtdLGc9W10sTD05OSk6TD09MTU/TD1PW2VNXT8yMTo2ODpMPT05OD9MPTUzOkw9PTYwP0w9ZU08Sj8xMTo2NjpMPT05OT9MPTYwOkw9PTY4JiYoTD01Myl9LHIsUCkseT00MCk6eT09Mjc/KHc9MCx5PTE1KTp5PT01Mj8oT1tJXXx8KE1bSV09d0ooRikpLHk9NDYpOnk9PTI1PyhGPSgoR298MSkrfihHb3wxKS0ofkdvXjEpLTIqKH5HbyYxKSkudG9TdHJpbmcoMikubGVuZ3RoLE09W10sST0wLHk9Nik6eT09NDk/KFMucHVzaChWKFkoUCw3NSksUCkpLHk9MzMpOnk9PTQ2PyhJKysseT04Nik6eT09MTM/KHdKPWZ1bmN0aW9uKHosUHUpe2Zvcig7RTx6Oyl2fD1SdihQKTw8RSxFKz04O3JldHVybiB2Pj49KFB1PShFLT16LHYmKDE8PHopLTEpLHopLFB1fSxyPVkoUCw3NSksdj1FPTAsWD0od0ooMyl8MCkrMSxKPXdKKDUpLE89W10seT1Hbz1sPTApOnk9PTg2P3k9STxKPzUyOjI3Onk9PTY1Pyh3KysseT04Myk6eT09MzM/eT00Nzp5PT02P3k9ODY6eT09NTA/KE9bd10mJihNW3ddPVkoUCw3MikpLHk9NjUpOnk9PTcxPygkbj13SigxKSxPLnB1c2goJG4pLEdvKz0kbj8wOjEseT03Nik6eT09NDc/eT1kLS0/NDk6MjA6eT09OD95PWw8Sj83MToyNTp5PT04Mz95PXc8Sj81MDo2OTp5PT03Nj8obCsrLHk9OCk6eT09Njk/KGQ9WCxTPVtdLHk9NjYpOnk9PTE1P3k9ODM6eT09NjYmJih5PTQ3KX19LDMwMCwoZigoQygxMDMsMCxjKSwyNCksZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcpe2Zvcih3PTkxO3chPTQ3Oyl3PT04MT8oZD0oTT1xKDgsNyxQKSwyKihkJk0pK34oZCZNKS1+KGR8TSkpJVMscis9TltsW2RdXSx3PTI1KTp3PT01MD93PTgzOnc9PTEyPyhBKFgsUCxyKSx3PTQ3KTp3PT05MT8oWD1ZKFAsNzUpLEk9cSgxMCw3LFApLHI9IiIsbD1XKFAsMzkzKSxTPWwubGVuZ3RoLGQ9MCx3PTUwKTp3PT04Mz93PUktLT84MToxMjp3PT0yNSYmKHc9ODMpfSw1MSxjKSxjKSksYyksMzksYyksYykpLFtdKSksMTcxKSxjKSwyMDQ4KV0pLGYpKDE5LGZ1bmN0aW9uKFAsZCxJLFMsWCl7USgoWD0oZD0oUz1xKDI1LChJPVkoUCw3NiksUCkpLGIpKFAsUyksVihJLFApKSxQKSxTLGQrWCl9LDEwNCxjKSxjKSxbXSksaHx8YSg1NixbeG5dLGMpLFtHdCxrXSksYyksW1JZLG5dKSxjKSx0cnVlKSx0cnVlKX0sVmg9ZnVuY3Rpb24oayxSKXtyZXR1cm4gem8uY2FsbCh0aGlzLDIxLDc5LDI0LGssUil9LGtmPWZ1bmN0aW9uKGssUixHKXtyZXR1cm4oRz1SLmNyZWF0ZSgpLnNoaWZ0KCksay5WLmNyZWF0ZSgpLmxlbmd0aHx8ay5HLmNyZWF0ZSgpLmxlbmd0aCl8fChrLkc9dm9pZCAwLGsuVj12b2lkIDApLEd9LHFQPWZ1bmN0aW9uKGspe2Zvcih2YXIgUj04NztSIT0yOTspaWYoUj09MzIpRCs9ZW5jb2RlVVJJQ29tcG9uZW50KEdbaF0pK2tbaCsxXSxSPTM1O2Vsc2V7aWYoUj09MTgpcmV0dXJuIGUoMzYsbnVsbCxEKTtpZihSPT04Nyl2YXIgRz1Lci5hcHBseSgxLChSPTkzLGFyZ3VtZW50cykpO2Vsc2UgaWYoUj09MzUpaCsrLFI9NDY7ZWxzZSBpZihSPT04Myl2YXIgaD0oUj00LDApLEQ9a1swXTtlbHNlIGlmKFI9PTkzKVI9Ry5sZW5ndGg9PT0wPzUxOjgzO2Vsc2UgaWYoUj09NClSPTQ2O2Vsc2UgaWYoUj09NDYpUj1oPEcubGVuZ3RoPzMyOjE4O2Vsc2UgaWYoUj09NTEpcmV0dXJuIGUoMzUsbnVsbCxrWzBdKX19LFdZPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIE1QLmNhbGwodGhpcywyMixrLFIsRyxoLEQpfSxubj1mdW5jdGlvbigpe3JldHVybiBmLmNhbGwodGhpcywzKX0sYUI9ZnVuY3Rpb24oayxSKXtyZXR1cm4gQVcuY2FsbCh0aGlzLDQxLGssOCxSKX0sWWY9ZnVuY3Rpb24oayxSLEcpe2ZvcihHPTE5O0chPTY4OylpZihHPT03OSlSLnB1c2goTWF0aC5yYW5kb20oKSoyNTV8MCksRz0xNTtlbHNlIGlmKEc9PTE5KVI9W10sRz05NztlbHNlIGlmKEc9PTk3KUc9MzA7ZWxzZSBpZihHPT0xNSlHPTMwO2Vsc2UgaWYoRz09MzApRz1rLS0/Nzk6NzE7ZWxzZSBpZihHPT03MSlyZXR1cm4gUn0sZWU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkLEksUyl7Zm9yKFo9KEI9KFQ9KEk9ay5yZXBsYWNlKC9cXHJcXG4vZywiXFxuIiksW10pLDApLDApO1o8SS5sZW5ndGg7WisrKUQ9SS5jaGFyQ29kZUF0KFopLEQ8Uj9UW0IrK109RDooRDwyMDQ4P1RbQisrXT0oYz1EPj42LC1+KGMmMTkyKSsyKihjXjE5MiktKH5jJjE5MikrKH5jfDE5MikpOigoRCY2NDUxMik9PTU1Mjk2JiZaKzE8SS5sZW5ndGgmJihJLmNoYXJDb2RlQXQoWisxKSY2NDUxMik9PTU2MzIwPyhEPShtPShEJjEwMjMpPDwxMCwyKig2NTUzNiZtKSsoNjU1MzYmfm0pLSgtNjU1MzdebSkrKC02NTUzN3xtKSkrKGg9SS5jaGFyQ29kZUF0KCsrWiksKGh8MCktfihoJjEwMjMpK35oKSxUW0IrK109KGQ9RD4+MTgsMjQwKyhkJjI0MCkrLTI0MS0ofmReMjQwKSksVFtCKytdPShHPShQPUQ+PjEyLDYzLSh+UCY2MykpLDEyNy0ofkd8UikpKTpUW0IrK109KFM9RD4+MTIsMjIzLSh+U3wyMjQpKSxUW0IrK109KG49KE49RD4+Niwtfk4rKH5OXjYzKSsofk4mNjMpKSxSLSh+bl5SKSsobnwtMTI5KSkpLFRbQisrXT02My1+RCt+KER8NjMpfFIpO3JldHVybiBUfSxXPWZ1bmN0aW9uKGssUixHKXtHPWsuWVtSXTtmb3IoTmFOO0c9PT12b2lkIDA7ZmFsc2Upe3Rocm93W3dVLDMwLFJdO2lmKHRydWUpYnJlYWt9aWYoRy52YWx1ZSlyZXR1cm4gRy5jcmVhdGUoKTtyZXR1cm4oRy5jcmVhdGUoUioyKlIrLTMxKlIrNTgpLEcpLnByb3RvdHlwZX0sTHI9ZnVuY3Rpb24oayxSLEcsaCxEKXtyZXR1cm4gTlQuY2FsbCh0aGlzLGssNSxSLEcsaCxEKX0sa2o9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7KCgoRz1iKFIsKFo9WShSLChjPVkoUiwoRD0oa3w0KS1+aysoaD1rJjMsfihrfDQpKS0oayYtNSksNzMpKSw3NykpLGMpKSxEKSYmKEc9ZWUoIiIrRywxMjgpKSxoKSYmamUoWixLKDIsRy5sZW5ndGgpLFIpLGplKShaLEcsUil9LGlOPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOKXsoUi5wdXNoKChjPWtbMF08PDI0fGtbMV08PDE2LG49a1syXTw8OCwtfihjJm4pKy0yLSh+Y15uKSl8a1szXSksUi5wdXNoKChaPShoPWtbNF08PDI0fGtbNV08PDE2LE49a1s2XTw8OCwtMi1+Ti0ofmh8TikpLEQ9a1s3XSwyKihEfDApLTIqKFomRCktflorKFp8fkQpKSksUikucHVzaCgoVD0oQj1rWzhdPDwyNHxrWzldPDwxNixtPWtbMTBdPDw4LC1+KEImbSkrMiooQl5tKSsofkJebSkpLEc9a1sxMV0sLTEtflQrKH5UJkcpKSl9LGxOPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3N3aXRjaCghKGguQj09aCkpe2Nhc2UgdHJ1ZTpmYWxzZTticmVhaztjYXNlICFbIiJdIT0wOntaPWIoaCxrKSxrPT00Mnx8az09MTkxfHxrPT0xND8obT1mdW5jdGlvbihULE4sUCxkLEksUyxYLE0pe2ZvcihYPShTPTgsOTcpOzspdHJ5e2lmKFM9PTU1KWJyZWFrO2Vsc2UgaWYoUz09NzYpWD0zMyxaLkdmPXloKDE2LHEoMzQsOCwtMS0yKn4oSXw0KSsofkleNCksWiksMjU1LHEoNjYsOCxJLFopLGQpLFM9NzA7ZWxzZXtpZihTPT02Mil0aHJvdyBYPTk3LE07Uz09NzA/KFoucHVzaChaLkdmWy0oTnxHKS0yKn4oTnxHKSsoTnwtOCkrKH5OfEcpXV5UKSxTPTU1KTpTPT05MD9TPVoubUIhPVA/Mjk6NzA6Uz09OD8oTj1aLmxlbmd0aCxQPShOfDApLTQ+PjMsUz05MCk6Uz09MjkmJihJPShQPDwzKS00LGQ9WzAsMCxCWzFdLEJbMl1dLFoubUI9UCxTPTc2KX19Y2F0Y2gocil7aWYoWD09OTcpdGhyb3cgcjtYPT0zMyYmKE09cixTPTYyKX19LEI9Vig5NSxoKSk6bT1mdW5jdGlvbihUKXtaLnB1c2goVCl9LEQmJm0oKER8MCktIC01MTIrMip+KER8MjU1KSsoRCYtMjU2KSksYz1SLmxlbmd0aCxuPTA7d2hpbGUobjxjKW0oUltuXSksbisrfWJyZWFrfX0sQz1mdW5jdGlvbihrLFIsRyl7c3dpdGNoKCEoaz09MTQyfHxrPT0xNjgpKXtjYXNlIHRydWU6d2hpbGUoRy55biYmayE9MzYzKXtyZXR1cm47aWYoZmFsc2U9PTApYnJlYWt9az09NDg4fHxrPT00Mnx8az09MjY0fHxrPT0xNHx8az09NTA2fHxrPT00NDZ8fGs9PTE2M3x8az09OTV8fGs9PTE5MXx8az09MzAyP0cuWVtrXXx8KEcuWVtrXT1ZKDIsMzIsRyxSLGssMzgpKTpHLllba109WSgyLDM1LEcsUixrLDEyOSk7YnJlYWs7Y2FzZSBmYWxzZTpHLllba10/Ry5ZW2tdLmNvbmNhdChSKTpHLllba109cSg4NSxSLEcpO2JyZWFrfWs9PTM2MyYmKEcuTj1HTigzMixHLGZhbHNlKSxHLmw9dm9pZCAwKX0scVQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQil7Yz0oWj0oKG49cSgobT1HW3ZZXXx8e30sayksRyksbS5xbT1xKDE3LEcpLG0pLkw9W10sRykuQj09Rz8oUnYoRyl8aCktRDoxLFkoRyxSKSk7e0I9aDt3aGlsZShCPFopbS5MLnB1c2gocSg0OSxHKSksQisrfWZvcihtLlBWPWIoRyxuKTtaLS07KW0uTFtaXT1iKEcsbS5MW1pdKTtyZXR1cm4gbS5rZT1iKEcsYyksbX0sV3U9ZnVuY3Rpb24oKXtyZXR1cm4gckouY2FsbCh0aGlzLDUpfSxRaD1mdW5jdGlvbihrLFIsRyxoLEQsYyl7cmV0dXJuIFcoRCwoQygxNDIsKGJOKDU3LGgsKChjPVcoRCwxNDIpLEQud2ImJmM8RC5qKT8oUShELDE0MixELmopLHByKDUwNixrLDE0MixSLDEwNCxEKSk6QygxNDIsUixEKSxEKSw0MSksYyksRCksRykpfSxGWD1mdW5jdGlvbigpe3JldHVybiBNUC5jYWxsKHRoaXMsMjApfSxYWD1mdW5jdGlvbihrLFIsRyxoLEQpe0Q9dHlwZW9mIFI7c3dpdGNoKCEoRD09Im9iamVjdCIpKXtjYXNlIE5hTiE9PU51bWJlcih1bmRlZmluZWQpOmZvcihbXSE9KCFbIiJdPT1OdW1iZXIoKSk7RD09ImZ1bmN0aW9uIiYmdHlwZW9mIFIuY2FsbD09InVuZGVmaW5lZCI7MCl7cmV0dXJuIm9iamVjdCI7aWYoIkYiKWJyZWFrfWJyZWFrO2Nhc2UgbnVsbD09KG51bGw9PWZhbHNlKTpzd2l0Y2goIVIpe2Nhc2UgIVtdPT0wOnJldHVybiBHO2JyZWFrO2Nhc2UgIVt1bmRlZmluZWRdIT0wOmlmKFIgaW5zdGFuY2VvZiBBcnJheSlyZXR1cm4gaztzd2l0Y2goIShSIGluc3RhbmNlb2YgT2JqZWN0KSl7Y2FzZSB0cnVlOltdIT0odHJ1ZSE9W10pO2JyZWFrO2Nhc2UgIVtdPT0oLTA9PT0wKTpyZXR1cm4gRDticmVha31oPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSKTtmb3IoZmFsc2U7aD09IltvYmplY3QgV2luZG93XSI7ZmFsc2Upe3JldHVybiJvYmplY3QiO2lmKFtdPT0oIWZhbHNlPT0hIiIpIT1udWxsKWJyZWFrfWZvcihOdW1iZXIoKTtoPT0iW29iamVjdCBBcnJheV0ifHx0eXBlb2YgUi5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgUi5zcGxpY2UhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgUi5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFSLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJzcGxpY2UiKTtmYWxzZSl7cmV0dXJuIGs7aWYoIlkiKWJyZWFrfXN3aXRjaCghKGg9PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiBSLmNhbGwhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgUi5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFSLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJjYWxsIikpKXtjYXNlIFtdIT10cnVlOjE7YnJlYWs7Y2FzZSBmYWxzZTpyZXR1cm4iZnVuY3Rpb24iO2JyZWFrfWJyZWFrfWJyZWFrfXJldHVybiBEfSxyVT1mdW5jdGlvbihrLFIpe3JldHVybiB0Vy5jYWxsKHRoaXMsMjgsayxSKX0seD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7bT10aGlzO3RyeXtjZChSLG4sYyxaLGssdGhpcyxoLEQsRyl9Y2F0Y2goQil7ZSg4OSwiOiIsdGhpcyxCKSxEKGZ1bmN0aW9uKFQpe1QobS5LKX0pfX0sWnk9ZnVuY3Rpb24oayxSKXtmdW5jdGlvbiBHKCl7dGhpcy5uPSh0aGlzLlQ9W10sMCl9cmV0dXJuW2Z1bmN0aW9uKGgpe2sueE4oaCksUi54TihoKX0sKFI9KGs9KEcucHJvdG90eXBlLnhOPShHLnByb3RvdHlwZS5POT1mdW5jdGlvbigpe3JldHVybiBSQi5jYWxsKHRoaXMsMyl9LGZ1bmN0aW9uKGgsRCl7cmV0dXJuIGNZLmNhbGwodGhpcywzMyxoLDExLEQpfSksbmV3IEcpLG5ldyBHKSxmdW5jdGlvbihoLEQpe3JldHVybiBEPShoPWg9PT12b2lkIDA/dHJ1ZTpoLGsuTzkoKS5jb25jYXQoUi5POSgpKSksaCYmKFI9bmV3IEcpLER9KV19LGtuPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOLFApe209a1swXTtzd2l0Y2goIShtPT0kZikpe2Nhc2UgZmFsc2U9PSFbXTppZihtPT1CZCloLlc9RyxoLnM5PTI1LGgueVQ9aC5SbygpLWtbUl0saC5pKGspO2Vsc2UgaWYobT09QW8pe0I9a1sxXVszXTt0cnl7Yz1oLkt8fGguaShrKX1jYXRjaChkKXtlKDU4LCI6IixoLGQpLGM9aC5LfShuPWguSigpLEIoYyksaCkuWCs9aC5KKCktbn1lbHNlIHN3aXRjaCghKG09PW1jKSl7Y2FzZSBOYU4hPT1OdW1iZXIodW5kZWZpbmVkKTpzd2l0Y2goIShtPT1HdCkpe2Nhc2UgMD09PS0wOnN3aXRjaCghKG09PVJZKSl7Y2FzZSBOdW1iZXIoKT09PS1OdW1iZXIoKTppZihtPT1NVClyZXR1cm4gRD1rW1JdLEEoNDUxLGgsa1s2XSksQygxNTcsRCxoKSxoLmkoayk7bT09ZHI/KGguaShrKSxoLlk9bnVsbCxoLnVYPVtdLGgud2I9W10pOm09PXhuJiZILmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihoLlM9ZnVuY3Rpb24oZCxJKXtmdW5jdGlvbiBTKFgpe2ZvcihYPTk3O1ghPTU2OylYPT05Nz9YPUk/NTY6ODY6WD09ODYmJihJPUcsSC5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixTLG92KSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLFMsb3YpLGQoKSxYPTU2KX1ILmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLChJPWZhbHNlLFMpLG92KSxILmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLFMsb3YpfSk7YnJlYWs7Y2FzZSBmYWxzZTp0cnl7e1A9MDt3aGlsZShQPGguU20ubGVuZ3RoKXt0cnl7Wj1oLlNtW1BdLFpbMF1bWlsxXV0oWltSXSl9Y2F0Y2goZCl7fVArK319fWNhdGNoKGQpe30oMCxrWzFdKShmdW5jdGlvbihkLEkpe2gucFgoZCxHLEkpfSxmdW5jdGlvbihkKXthKDQ0LChkPSFoLlAubGVuZ3RoJiYhaC5vLFtkcl0pLGgpLGQmJlJCKDMwLGZhbHNlLGgsZmFsc2UsRyl9LChoLlNtPVtdLFQ9aC5KKCksZnVuY3Rpb24oZCl7cmV0dXJuIGgudHgoZCl9KSxmdW5jdGlvbihkLEksUyl7cmV0dXJuIGguZWkoZCxJLFMpfSksaC5YKz1oLkooKS1UO2JyZWFrfWJyZWFrO2Nhc2UgZmFsc2U6aC51PUcsaC5pKGspO2JyZWFrfWJyZWFrO2Nhc2UgW109PShmYWxzZT09IVtdKTprWzNdJiYoaC51PUcpLGtbNF0mJihoLlc9RyksaC5pKGspO2JyZWFrfWJyZWFrO2Nhc2UgTmFOPT09TmFOOmlmKE49aC5pKGspKU4uSWE9SC5zZXRUaW1lb3V0KGZ1bmN0aW9uKGQpeyhhKChhKDQwLE4uUVQsKGQ9KE4uTW09RywhaC5QLmxlbmd0aCYmIWgubyksaCkpLDU4KSxOLmFhLGgpLGQpJiZSQigyNSxmYWxzZSxoLEcsRyl9LE4udGltZW91dCksaC52dC5wdXNoKE4pO2JyZWFrfX0sU009ZnVuY3Rpb24oayxSLEcpeyJzdGFjayJpbih0aGlzLm1lc3NhZ2U9KEc9RXJyb3IuY2FsbCh0aGlzLGsrIiBjYW5ub3QgYmUgdXNlZCB3aXRoIGludGVudCAiK21EW1JdKSxHLm1lc3NhZ2UpLEcpJiYodGhpcy5zdGFjaz1HLnN0YWNrKSx0aGlzLnR5cGU9ayx0aGlzLm5hbWU9IlR5cGVDYW5ub3RCZVVzZWRXaXRoSWZyYW1lSW50ZW50RXJyb3IifSxnVT1mdW5jdGlvbihrLFIsRyl7cmV0dXJuIEFXLmNhbGwodGhpcyw0MSxrLDI5LFIsRyl9LEE9ZnVuY3Rpb24oayxSLEcpe2lmKGs9PTE0Mnx8az09MTY4KVIuWVtrXT9SLllba10uY29uY2F0KEcpOlIuWVtrXT1xKDM3LEcsUik7ZWxzZXtpZihSLnluJiZrIT0zNjMpcmV0dXJuO2s9PTQ4OHx8az09NDJ8fGs9PTI2NHx8az09MTR8fGs9PTUwNnx8az09NDQ2fHxrPT0xNjN8fGs9PTk1fHxrPT0xOTF8fGs9PTMwMj9SLllba118fChSLllba109WSgyLDQwLFIsRyxrLDM4KSk6Ui5ZW2tdPVkoMiwzMixSLEcsaywxMjkpfWs9PTM2MyYmKFIuTj1HTigzMixSLGZhbHNlKSxSLmw9dm9pZCAwKX0sbng9ZnVuY3Rpb24oayxSLEcsaCxEKXt3aGlsZShrLmxlbmd0aD09Myl7e2g9MDt3aGlsZShoPDMpUltoXSs9a1toXSxoKyt9RD1bMTMsOCwxMywxMiwxNiw1LDMsMTAsMTVdO3tHPTA7d2hpbGUoRzw5KVJbM10oUixHJTMsRFtHXSksRysrfWlmKHt9KWJyZWFrfX0sS3I9ZnVuY3Rpb24oKXt7dmFyIGs9OTM7d2hpbGUoayE9Mzkpe2lmKGs9PTkwKXJldHVybiBoO2lmKGs9PTc3KWs9Rzxhcmd1bWVudHMubGVuZ3RoPzE2OjkwO2Vsc2UgaWYoaz09OTMpdmFyIFI9KGs9MTEsTnVtYmVyKSh0aGlzKSxHPVIsaD1bXTtlbHNlIGs9PTExP2s9Nzc6az09OTI/KEcrKyxrPTc3KTprPT0xNiYmKGhbRy1SXT1hcmd1bWVudHNbR10saz05Mil9fX0scHI9ZnVuY3Rpb24oayxSLEcsaCxELGMpe3doaWxlKGZhbHNlPT0wKWlmKGMuRnoubGVuZ3RoPkQ/YXYoayxjLFIsW3dVLDM2XSk6KGMuRnoucHVzaChjLlkuc2xpY2UoKSksYy5ZW0ddPXZvaWQgMCxBKEcsYyxoKSksIVtdPT0wKWJyZWFrfSxiPWZ1bmN0aW9uKGssUixHKXtHPWsuWVtSXTt3aGlsZShHPT09dm9pZCAwKXt0aHJvd1t3VSwzMCxSXTtpZigwPT0hW3RydWUudHJ1ZV0pYnJlYWt9c3dpdGNoKCFHLnZhbHVlKXtjYXNlIDA9PSFbXTpbXSE9KHRydWUhPVtdKTticmVhaztjYXNlIG51bGw9PShmYWxzZT09bnVsbCk6cmV0dXJuIEcuY3JlYXRlKCk7YnJlYWt9cmV0dXJuKEcuY3JlYXRlKFIqMipSKy0zMSpSKzU4KSxHKS5wcm90b3R5cGV9LE5ELHRvPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtyZXR1cm4gRjEuY2FsbCh0aGlzLDk0LCJvbiIsMjQsayxSLEcsaCxELGMpfSxUdD1mdW5jdGlvbihrLFIsRyxoLEQpe3JldHVybiBMbi5jYWxsKHRoaXMsMyxrLEcsMTIsRCxSLGgpfSxEWj1mdW5jdGlvbigpe3JldHVybiBLbi5jYWxsKHRoaXMsMCwxLDUpfSxnSj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtyZXR1cm4gQlkuY2FsbCh0aGlzLGssMTIsUixHLGgsRCxjLFosbixtLEIpfSxWPWZ1bmN0aW9uKGssUixHKXtHPVIuWVtrXTtzd2l0Y2goIShHPT09dm9pZCAwKSl7Y2FzZSAwPT0hWyIiXTowPT0hWyIiXTticmVhaztjYXNlIDAhPT0tTnVtYmVyKCk6dGhyb3dbd1UsMzAsa107YnJlYWt9aWYoRy52YWx1ZSlyZXR1cm4gRy5jcmVhdGUoKTtyZXR1cm4oRy5jcmVhdGUoayoyKmsrLTMxKmsrNTgpLEcpLnByb3RvdHlwZX0sUzg9ZnVuY3Rpb24oayxSLEcsaCl7dHJ5e2g9a1soKFJ8MCkrMiklM10sa1tSXT0oa1tSXXwwKS0oa1soLTIqfihSJjEpKy0yKyhSJi0yKSsoflImMSkpJTNdfDApLShofDApXihSPT0xP2g8PEc6aD4+PkcpfWNhdGNoKEQpe3Rocm93IEQ7fX0sSVk9ZnVuY3Rpb24oKXtyZXR1cm4gckouY2FsbCh0aGlzLDgpfSxRZj1mdW5jdGlvbigpe3JldHVybiBlLmNhbGwodGhpcyw1MSl9LFgxPWZ1bmN0aW9uKGspe3JldHVybiBOUC5jYWxsKHRoaXMsNCxrLDMpfSx1Tj1mdW5jdGlvbihrLFIsRyxoKXtoPXEoNTcsKEc9WShSLDczKSxSKSksamUoaCxLKGssVihHLFIpKSxSKX0sYk49ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe2lmKCFHLkspe0cuRDcrKzt0cnl7RD1HLmo7d2hpbGUoIW51bGwpaWYoYz12b2lkIDAsdHJ1ZSE9IVtdKWJyZWFrO2ZvcihaPTA7LS1SOyl0cnl7aWYobT12b2lkIDAsRy5WKWM9a2YoRyxHLlYpO2Vsc2V7aWYoKFo9VigxNDIsRyksWik+PUQpYnJlYWs7Yz1iKEcsKG09cSg4OSwoUShHLDE2OCxaKSxHKSksbSkpfU5UKGZhbHNlLDMzLChjJiYobj1jW2RyXSwobnwwKSsyMDQ4LShufDIwNDgpKT9jKEcsUik6YXYoNTA2LEcsMCxbd1UsMjEsbV0pLFIpLGZhbHNlLEcsZmFsc2UpfWNhdGNoKEIpe1coRyxoKT9hdig1MDYsRywyMixCKTpBKGgsRyxCKX1mb3IodHJ1ZSsobnVsbCE9KDAhPSFbXSkpOyFSOzEpe2Zvcih2b2lkIDA7Ry5ObTshW109PWZhbHNlKXtiTig1NywoRy5ENy0tLDYwMzE5ODAwNTkzMCksRyw0MSk7cmV0dXJuO2lmKDMpYnJlYWt9aWYoYXYoNTA2LEcsMCxbd1UsMzNdKSwxKWJyZWFrfX1jYXRjaChCKXt0cnl7YXYoNTA2LEcsMjIsQil9Y2F0Y2goVCl7ZShrLCI6IixHLFQpfX1HLkQ3LS19fSxwbj1mdW5jdGlvbihrKXtyZXR1cm4gSUIuY2FsbCh0aGlzLDI0LGspfSx1O3N3aXRjaCghKHR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpKXtjYXNlICEiIj09IWZhbHNlOnZhciBYUTthOnt2YXIgTUQ9e30sb1k9e2E6dHJ1ZX07dHJ5e01ELl9fcHJvdG9fXz1vWTt3aGlsZShOdW1iZXIoKT09ZmFsc2UpaWYoWFE9TUQuYSx0cnVlIT1bXSlicmVhazticmVhayBhfWNhdGNoKGspe31YUT1mYWxzZX1ORD1YUT9mdW5jdGlvbihrLFIsRyl7Zm9yKEc9MTU7RyE9NTI7KXtpZihHPT02NilyZXR1cm4gaztpZihHPT0xNSlrLl9fcHJvdG9fXz1SLEc9Nzg7ZWxzZSBpZihHPT03OClHPWsuX19wcm90b19fIT09Uj80MTo2NjtlbHNlIGlmKEc9PTQxKXRocm93IG5ldyBUeXBlRXJyb3IoaysiIGlzIG5vdCBleHRlbnNpYmxlIik7fX06bnVsbDticmVhaztjYXNlIDAhPSFbXTpORD1PYmplY3Quc2V0UHJvdG90eXBlT2Y7YnJlYWt9dmFyIEg9dGhpc3x8c2VsZix0MD1ORCxFUj0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSxIdT0wLFpaLGZuPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtEPTgxO3toPTU0O3doaWxlKFtdKXRyeXtpZihEPT0zNSlicmVhaztlbHNlIGlmKEQ9PTgwKVI9ZmFsc2UsRz1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtSPXRydWV9fSksRD01MDtlbHNlIGlmKEQ9PTMwKWg9NTQsRD0zMjtlbHNle2lmKEQ9PTMyKXJldHVybiBoPTU0LFI7aWYoRD09MzMpcmV0dXJuIGZhbHNlO0Q9PTUwPyhoPTM4LGs9ZnVuY3Rpb24oKXt9LEguYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsayxHKSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGssRyksRD0zMik6RD09ODEmJihEPUguYWRkRXZlbnRMaXN0ZW5lciYmT2JqZWN0LmRlZmluZVByb3BlcnR5PzgwOjMzKX19Y2F0Y2goWil7aWYoaD09NTQpdGhyb3cgWjtoPT0zOCYmKGM9WixEPTMwKX19fSgpLGRKPSJjbG9zdXJlX2xpc3RlbmFibGVfIisoKCgoKEJZKDIsNDUsclUsKGFCLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD0oV3UucHJvdG90eXBlW1d1LnByb3RvdHlwZS5kaXNwb3NlPShXdS5wcm90b3R5cGUuZz1mYWxzZSxmdW5jdGlvbihrKXt7az05NTt3aGlsZShrIT0xMilrPT01Mj8odGhpcy5nPXRydWUsdGhpcy5VKCksaz0xMik6az09OTUmJihrPXRoaXMuZz8xMjo1Mil9fSksKGFCLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXt0aGlzLlB0PXRydWV9LFN5bWJvbCkuZGlzcG9zZV09KFd1LnByb3RvdHlwZS5VPWZ1bmN0aW9uKGspe3trPTc2O3doaWxlKGshPTQ2KWs9PTU4P2s9ODA6az09MzY/KHRoaXMubFguc2hpZnQoKSgpLGs9NDEpOms9PTgwP2s9dGhpcy5sWC5sZW5ndGg/MzY6NDY6az09NDE/az04MDprPT03NiYmKGs9dGhpcy5sWD81ODo0Nil9fSxmdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfSksZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dHJ1ZX0pLGFCKSksclUucHJvdG90eXBlKS5pbml0PWZ1bmN0aW9uKGssUixHLGgsRCxjKXtmb3IoYz0zOTtjIT05NjspYz09MTY/Yz1EPT0ibW91c2VvdmVyIj8yMjoyMzpjPT0yMz9jPUQ9PSJtb3VzZW91dCI/MTI6ODQ6Yz09OTk/KHRoaXMub2Zmc2V0WD1rLm9mZnNldFgsdGhpcy5vZmZzZXRZPWsub2Zmc2V0WSx0aGlzLmNsaWVudFg9ay5jbGllbnRYIT09dm9pZCAwP2suY2xpZW50WDprLnBhZ2VYLHRoaXMuY2xpZW50WT1rLmNsaWVudFkhPT12b2lkIDA/ay5jbGllbnRZOmsucGFnZVksdGhpcy5zY3JlZW5YPWsuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9ay5zY3JlZW5ZfHwwLGM9MjApOmM9PTg0Pyh0aGlzLnJlbGF0ZWRUYXJnZXQ9aCxjPTgxKTpjPT01ND8odGhpcy5jbGllbnRYPUcuY2xpZW50WCE9PXZvaWQgMD9HLmNsaWVudFg6Ry5wYWdlWCx0aGlzLmNsaWVudFk9Ry5jbGllbnRZIT09dm9pZCAwP0cuY2xpZW50WTpHLnBhZ2VZLHRoaXMuc2NyZWVuWD1HLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPUcuc2NyZWVuWXx8MCxjPTIwKTpjPT0yMD8odGhpcy5idXR0b249ay5idXR0b24sdGhpcy5rZXlDb2RlPWsua2V5Q29kZXx8MCx0aGlzLmtleT1rLmtleXx8IiIsdGhpcy5jaGFyQ29kZT1rLmNoYXJDb2RlfHwoRD09ImtleXByZXNzIj9rLmtleUNvZGU6MCksdGhpcy5jdHJsS2V5PWsuY3RybEtleSx0aGlzLmFsdEtleT1rLmFsdEtleSx0aGlzLnNoaWZ0S2V5PWsuc2hpZnRLZXksdGhpcy5tZXRhS2V5PWsubWV0YUtleSx0aGlzLnBvaW50ZXJJZD1rLnBvaW50ZXJJZHx8MCx0aGlzLnBvaW50ZXJUeXBlPWsucG9pbnRlclR5cGUsdGhpcy5zdGF0ZT1rLnN0YXRlLHRoaXMudGltZVN0YW1wPWsudGltZVN0YW1wLHRoaXMuWU49ayxrLmRlZmF1bHRQcmV2ZW50ZWQmJnJVLk8ucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSxjPTk2KTpjPT02OD9jPWg/ODQ6MTY6Yz09MjI/KGg9ay5mcm9tRWxlbWVudCxjPTg0KTpjPT04MT9jPUc/NTQ6OTk6Yz09MTI/KGg9ay50b0VsZW1lbnQsYz04NCk6Yz09MzkmJihEPXRoaXMudHlwZT1rLnR5cGUsRz1rLmNoYW5nZWRUb3VjaGVzJiZrLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9rLmNoYW5nZWRUb3VjaGVzWzBdOm51bGwsdGhpcy50YXJnZXQ9ay50YXJnZXR8fGsuc3JjRWxlbWVudCx0aGlzLmN1cnJlbnRUYXJnZXQ9UixoPWsucmVsYXRlZFRhcmdldCxjPTY4KX0sclUpLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXsoclUuTy5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKSx0aGlzLllOLnN0b3BQcm9wYWdhdGlvbik/dGhpcy5ZTi5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLllOLmNhbmNlbEJ1YmJsZT10cnVlfSxyVSkucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKGspeyhrPShyVS5PLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksdGhpcy5ZTiksaykucHJldmVudERlZmF1bHQ/ay5wcmV2ZW50RGVmYXVsdCgpOmsucmV0dXJuVmFsdWU9ZmFsc2V9LE1hdGgucmFuZG9tKCkpKjFFNnwwKSxIWT0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLEl2PTAsbDk9KCgoak0ucHJvdG90eXBlLmFkZD0oak0ucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIHJKKDEwLHRydWUsZmFsc2UsKEc9KGg9KEQ9ayE9PXZvaWQgMCk/ay50b1N0cmluZygpOiIiLFIhPT12b2lkIDApLHRoaXMuWiksZnVuY3Rpb24oYyxaLG4pe2ZvcihuPTM4O24hPTgzOylpZihuPT04OCkrK1osbj0zMjtlbHNle2lmKG49PTE4KXJldHVybiBmYWxzZTtpZihuPT03NyluPTMyO2Vsc2UgaWYobj09ODkpbj1EJiZjW1pdLnR5cGUhPWh8fEcmJmNbWl0uY2FwdHVyZSE9Uj84ODoxNDtlbHNle2lmKG49PTE0KXJldHVybiB0cnVlO249PTMyP249WjxjLmxlbmd0aD84OToxODpuPT0zOCYmKFo9MCxuPTc3KX19fSl9LGZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3tCPTczO3doaWxlKEIhPTI5KWlmKEI9PTEwKW0uYW89ZmFsc2UsQj01MTtlbHNlIGlmKEI9PTIxKUI9Yz4tMT8wOjcxO2Vsc2UgaWYoQj09NDMpQj1HPzUxOjEwO2Vsc2V7aWYoQj09NTEpcmV0dXJuIG07Qj09MD8obT1uW2NdLEI9NDMpOkI9PTk0PyhuPXRoaXMuWltaXT1bXSx0aGlzLkp4KyssQj0zMik6Qj09NzE/KG09bmV3IFR0KEQsdGhpcy5zcmMsWixSLCEhaCksbS5hbz1HLG4ucHVzaChtKSxCPTUxKTpCPT0zMj8oYz1ySigyMSwwLGgsRCxuLFIpLEI9MjEpOkI9PTczPyhaPWsudG9TdHJpbmcoKSxuPXRoaXMuWltaXSxCPTQ4KTpCPT00OCYmKEI9bj8zMjo5NCl9fX0pLGpNKS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7e249MjI7d2hpbGUobiE9NDIpaWYobj09MzkpaFcoMjMsdHJ1ZSxEW2NdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoRCxjLDEpLG49NzQ7ZWxzZSBpZihuPT05OSluPWM+LTE/Mzk6NTk7ZWxzZXtpZihuPT0yKXJldHVybiB0cnVlO2lmKG49PTUpZGVsZXRlIHRoaXMuWltaXSx0aGlzLkp4LS0sbj0yO2Vsc2UgaWYobj09NzQpbj1ELmxlbmd0aD09MD81OjI7ZWxzZSBpZihuPT04MyluPVogaW4gdGhpcy5aPzg0OjA7ZWxzZXtpZihuPT01OXx8bj09MClyZXR1cm4gZmFsc2U7bj09MjI/KFo9ay50b1N0cmluZygpLG49ODMpOm49PTg0JiYoRD10aGlzLlpbWl0sYz1ySigyMCwwLEcsaCxELFIpLG49OTkpfX19fSxqTSkucHJvdG90eXBlLkNYPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtyZXR1cm4oRD10aGlzLlpbay50b1N0cmluZygpXSxjPS0xLEQmJihjPXJKKDIyLDAsaCxHLEQsUikpLGMpPi0xP0RbY106bnVsbH0sImNsb3N1cmVfbG1fIikrKE1hdGgucmFuZG9tKCkqMUU2fDApLGk5PTAsVE49e30sZFU9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTsoKCgoKEJZKDIsNDMsRFosV3UpLERaLnByb3RvdHlwZSlbZEpdPXRydWUsdT1EWi5wcm90b3R5cGUsdSkuemY9ZnVuY3Rpb24oayl7dGhpcy5Obz1rfSx1KS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgpe3Z1KDU2LGZhbHNlLFIsRyx0aGlzLHRydWUsaywzLGgpfSx1KS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgpe0J1KDE2LDAsIm9iamVjdCIsRyxSLGgsayx0aGlzKX0sdS5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOKXtmb3IoTj03NDtOIT02MTspaWYoTj09ODYpQj1SLmN1cnJlbnRUYXJnZXQ9bixoPVBZKDUsMCxCLG0sdHJ1ZSxSKSYmaCxSLlB0fHwoaD1QWSgzLDAsQixtLGZhbHNlLFIpJiZoKSxOPTY0O2Vsc2UgaWYoTj09OTEpTj05O2Vsc2UgaWYoTj09NilOPVIuUHQ/NjQ6ODY7ZWxzZSBpZihOPT0yKUI9Ui5jdXJyZW50VGFyZ2V0PWNbWl0saD1QWSg3LDAsQixtLHRydWUsUikmJmgsTj0yNDtlbHNlIGlmKE49PTY4KUQ9W10sTj00O2Vsc2UgaWYoTj09NzMpRC5wdXNoKEcpLE49NzE7ZWxzZSBpZihOPT02NClOPWM/NDc6MjU7ZWxzZSBpZihOPT01MyloPXRydWUsTj0xMjtlbHNlIGlmKE49PTkpTj0hUi5QdCYmWj49MD8yOjY7ZWxzZSBpZihOPT0xNSlOPXR5cGVvZiBSPT09InN0cmluZyI/Mzc6ODtlbHNlIGlmKE49PTQ3KVo9MCxOPTk5O2Vsc2V7aWYoTj09MjUpcmV0dXJuIGg7Tj09OTk/Tj05NzpOPT00MD8oWisrLE49OTcpOk49PTY5PyhSLnRhcmdldD1SLnRhcmdldHx8bixOPTUzKTpOPT0zNz8oUj1uZXcgYUIoUixuKSxOPTUzKTpOPT0zMz9OPUc/Njg6NzU6Tj09MjQ/KFotLSxOPTkpOk49PTQ/Tj04OTpOPT03ND8oRz10aGlzLk5vLE49MzMpOk49PTg1PyhCPVIuY3VycmVudFRhcmdldD1jW1pdLGg9UFkoNiwwLEIsbSxmYWxzZSxSKSYmaCxOPTQwKTpOPT0xND8oVD1SLFI9bmV3IGFCKG0sbiksQ3IoUixUKSxOPTUzKTpOPT03NT8oUj1rLG09Ui50eXBlfHxSLG49dGhpcy5scSxjPUQsTj0xNSk6Tj09NDM/KFo9Yy5sZW5ndGgtMSxOPTkxKTpOPT04OT9OPUc/NzM6NzU6Tj09NzE/KEc9Ry5ObyxOPTg5KTpOPT04P049UiBpbnN0YW5jZW9mIGFCPzY5OjE0Ok49PTEyP049Yz80Mzo2Ok49PTk3JiYoTj0hUi5QdCYmWjxjLmxlbmd0aD84NToyNSl9fSx1KS5VPWZ1bmN0aW9uKCl7dGhpcy5Obz0oRFouTy5VLmNhbGwodGhpcyksdGhpcy5JJiZCdSg3MiwwLHRydWUsdGhpcy5JKSxudWxsKX0sdS5DWD1mdW5jdGlvbihrLFIsRyxoKXtyZXR1cm4gdGhpcy5JLkNYKFN0cmluZyhrKSxSLEcsaCl9LHUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oayxSKXtyZXR1cm4gdGhpcy5JLmhhc0xpc3RlbmVyKGshPT12b2lkIDA/U3RyaW5nKGspOnZvaWQgMCxSKX07dmFyIHNSLFVSLHJyPShYMS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LaisiIn0sRXJyb3IpLG1EPXtGaTowLEFzOjEsemU6MiwwOiJGT1JNQVRURURfSFRNTF9DT05URU5UIiwxOiJFTUJFRERFRF9JTlRFUk5BTF9DT05URU5UIiwyOiJFTUJFRERFRF9UUlVTVEVEX0VYVEVSTkFMX0NPTlRFTlQifTtTTS5wcm90b3R5cGU9RHkocnIucHJvdG90eXBlKSxTTS5wcm90b3R5cGUuY29uc3RydWN0b3I9U007c3dpdGNoKCF0MCl7Y2FzZSAhW10hPShudWxsIT1mYWxzZSk6Zm9yKHZhciB3ciBpbiBycilpZih3ciE9InByb3RvdHlwZSIpaWYoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMpe3ZhciBlOD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJyLHdyKTtlOCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFNNLHdyLGU4KX1lbHNlIFNNW3dyXT1yclt3cl07YnJlYWs7Y2FzZSBmYWxzZTp0MChTTSxycik7YnJlYWt9aWYoTmFOIT09KCgodT0oIkFSVElDTEUgU0VDVElPTiBOQVYgQVNJREUgSDEgSDIgSDMgSDQgSDUgSDYgSEVBREVSIEZPT1RFUiBBRERSRVNTIFAgSFIgUFJFIEJMT0NLUVVPVEUgT0wgVUwgTEggTEkgREwgRFQgREQgRklHVVJFIEZJR0NBUFRJT04gTUFJTiBESVYgRU0gU1RST05HIFNNQUxMIFMgQ0lURSBRIERGTiBBQkJSIFJVQlkgUkIgUlQgUlRDIFJQIERBVEEgVElNRSBDT0RFIFZBUiBTQU1QIEtCRCBTVUIgU1VQIEkgQiBVIE1BUksgQkRJIEJETyBTUEFOIEJSIFdCUiBOT0JSIElOUyBERUwgUElDVFVSRSBQQVJBTSBUUkFDSyBNQVAgVEFCTEUgQ0FQVElPTiBDT0xHUk9VUCBDT0wgVEJPRFkgVEhFQUQgVEZPT1QgVFIgVEQgVEggU0VMRUNUIERBVEFMSVNUIE9QVEdST1VQIE9QVElPTiBPVVRQVVQgUFJPR1JFU1MgTUVURVIgRklFTERTRVQgTEVHRU5EIERFVEFJTFMgU1VNTUFSWSBNRU5VIERJQUxPRyBTTE9UIENBTlZBUyBGT05UIENFTlRFUiBBQ1JPTllNIEJBU0VGT05UIEJJRyBESVIgSEdST1VQIFNUUklLRSBUVCIuc3BsaXQoKFNNLk89cnIucHJvdG90eXBlLCIgIikpLmNvbmNhdChbIkJVVFRPTiIsIklOUFVUIl0pLG5uKS5wcm90b3R5cGUsdSkuRj1mdW5jdGlvbihrKXtyZXR1cm4gdHlwZW9mIGs9PT0ic3RyaW5nIj90aGlzLk1vLmdldEVsZW1lbnRCeUlkKGspOmt9LHUuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24oayxSKXtyZXR1cm4oUnx8dGhpcy5NbykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGspKX0sdS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGssUixHKXtyZXR1cm4oRz0oUj10aGlzLk1vLFN0cmluZyhrKSksUi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoRz1HLnRvTG93ZXJDYXNlKCkpLFIpLmNyZWF0ZUVsZW1lbnQoRyl9LHUuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oayl7cmV0dXJuIHRoaXMuTW8uY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGspKX0sdS5hcHBlbmRDaGlsZD1mdW5jdGlvbihrLFIpe2suYXBwZW5kQ2hpbGQoUil9LHUpLmFwcGVuZD1mdW5jdGlvbihrLFIpe3RXKDE4LGZhbHNlLCJudW1iZXIiLCIiLDAsay5ub2RlVHlwZT09OT9rOmsub3duZXJEb2N1bWVudHx8ay5kb2N1bWVudCxhcmd1bWVudHMsayl9LHUuY2FuSGF2ZUNoaWxkcmVuPWZ1bmN0aW9uKGssUil7e1I9MDt3aGlsZShSIT01NSlpZihSPT0wKVI9ay5ub2RlVHlwZSE9MT85ODoyODtlbHNle2lmKFI9PTI4KXtzd2l0Y2goay50YWdOYW1lKXtjYXNlICJBUFBMRVQiOmNhc2UgIkFSRUEiOmNhc2UgIkJBU0UiOmNhc2UgIkJSIjpjYXNlICJDT0wiOmNhc2UgIkNPTU1BTkQiOmNhc2UgIkVNQkVEIjpjYXNlICJGUkFNRSI6Y2FzZSAiSFIiOmNhc2UgIklNRyI6Y2FzZSAiSU5QVVQiOmNhc2UgIklGUkFNRSI6Y2FzZSAiSVNJTkRFWCI6Y2FzZSAiS0VZR0VOIjpjYXNlICJMSU5LIjpjYXNlICJOT0ZSQU1FUyI6Y2FzZSAiTk9TQ1JJUFQiOmNhc2UgIk1FVEEiOmNhc2UgIk9CSkVDVCI6Y2FzZSAiUEFSQU0iOmNhc2UgIlNDUklQVCI6Y2FzZSAiU09VUkNFIjpjYXNlICJTVFlMRSI6Y2FzZSAiVFJBQ0siOmNhc2UgIldCUiI6cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfWlmKFI9PTk4KXJldHVybiBmYWxzZX19fSx1LnJlbW92ZU5vZGU9UGQsdS5jb250YWlucz1mdW5jdGlvbihrLFIsRyxoKXtmb3IoaD05OTtoIT0xODspe2lmKGg9PTUxKXJldHVybiBrPT1SfHxrLmNvbnRhaW5zKFIpO2lmKGg9PTg3KWg9ay5jb250YWlucyYmUi5ub2RlVHlwZT09MT81MToyNDtlbHNlIGlmKGg9PTI3KWg9MjA7ZWxzZSBpZihoPT00NylSPVIucGFyZW50Tm9kZSxoPTI3O2Vsc2UgaWYoaD09NjgpaD0yMDtlbHNle2lmKGg9PTYwKXJldHVybiBrPT1SfHwhIShHPWsuY29tcGFyZURvY3VtZW50UG9zaXRpb24oUiksLX4oRyYxNikrKEdeMTYpKyh+R14xNikpO2lmKGg9PTk5KWg9ayYmUj84Nzo1NztlbHNle2lmKGg9PTM3KXJldHVybiBSPT1rO2lmKGg9PTI0KWg9dHlwZW9mIGsuY29tcGFyZURvY3VtZW50UG9zaXRpb24hPSJ1bmRlZmluZWQiPzYwOjY4O2Vsc2UgaWYoaD09MjApaD1SJiZrIT1SPzQ3OjM3O2Vsc2UgaWYoaD09NTcpcmV0dXJuIGZhbHNlfX19fSxOdW1iZXIodW5kZWZpbmVkKSkpaFcoNzQsSVkpOygodT0oQlkoMiwoSVkucHJvdG90eXBlLmJxPShJWS5wcm90b3R5cGUuR2U9MCwiIiksNDEpLERELERaKSxERC5wcm90b3R5cGUpLHUub2E9SVkublgoKSx1LkY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BfSx1LmdldFBhcmVudD1mdW5jdGlvbigpe2lmKCFbXSE9KCFbXT09MCkpcmV0dXJuIHRoaXMuWjd9LHUuQnQ9ZnVuY3Rpb24oKXsoSUIoMyx0aGlzLGZ1bmN0aW9uKGspe2suam0mJmsuQnQoKX0pLHRoaXMpLnMyJiZCdSg3MSwwLHRydWUsdGhpcy5zMiksdGhpcy5qbT1mYWxzZX0sdS5VPWZ1bmN0aW9uKGspe3trPTcxO3doaWxlKGshPTY1KWs9PTQzP2s9dGhpcy5zMj8xMDo5MTprPT0xMD8odGhpcy5zMi5kaXNwb3NlKCksZGVsZXRlIHRoaXMuczIsaz05MSk6az09NzE/KHRoaXMuam0mJnRoaXMuQnQoKSxrPTQzKTprPT05MSYmKElCKDcsdGhpcyxmdW5jdGlvbihSKXtSLmRpc3Bvc2UoKX0pLCF0aGlzLlhpJiZ0aGlzLkEmJlBkKHRoaXMuQSksdGhpcy5LWD10aGlzLlFuPXRoaXMuQT10aGlzLlo3PW51bGwsREQuTy5VLmNhbGwodGhpcyksaz02NSl9fSx1KS56Zj1mdW5jdGlvbihrLFIpe3tSPTM0O3doaWxlKFIhPTIpe2lmKFI9PTM2KXRocm93IEVycm9yKCJNZXRob2Qgbm90IHN1cHBvcnRlZCIpO1I9PTM0P1I9dGhpcy5aNyYmdGhpcy5aNyE9az8zNjo5NDpSPT05NCYmKERELk8uemYuY2FsbCh0aGlzLGspLFI9Mil9fX0sdSkucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe3tOPTMzO3doaWxlKE4hPTcxKXtpZihOPT01OSl0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHNldCBwYXJlbnQgY29tcG9uZW50Iik7aWYoTj09NDcpYz10aGlzLktYLEI9KGMhPT1udWxsJiZoIGluIGM/Y1toXTp2b2lkIDApfHxudWxsLE49Mzg7ZWxzZSBpZihOPT04MilaPXRoaXMuS1gsaCBpbiBaJiZkZWxldGUgWltoXSx0VygxMywwLGssdGhpcy5RbiksTj04NztlbHNlIGlmKE49PTkxKU49KEQ9ay5jVik/MDo3ODtlbHNle2lmKE49PTkpdGhyb3cgRXJyb3IoIkNoaWxkIGlzIG5vdCBpbiBwYXJlbnQgY29tcG9uZW50Iik7aWYoTj09MCluPUQsTj04MDtlbHNlIGlmKE49PTc1KW09ayxOPTE2O2Vsc2UgaWYoTj09MTYpTj1tPT1udWxsPzU5Ojk4O2Vsc2UgaWYoTj09OTgpbS5aNz1udWxsLERELk8uemYuY2FsbChtLG51bGwpLE49NTQ7ZWxzZSBpZihOPT0zMSlOPXR5cGVvZiBrPT09InN0cmluZyI/ODE6OTE7ZWxzZSBpZihOPT00MylOPWgmJms/ODI6NTQ7ZWxzZSBpZihOPT03OClHPWsub2EsVD1HLmJxKyI6IisoRy5HZSsrKS50b1N0cmluZygzNiksRD1rLmNWPVQsTj0wO2Vsc2UgaWYoTj09NylOPXRoaXMuS1gmJmg/NDc6Mjk7ZWxzZSBpZihOPT0yOSlCPW51bGwsTj0zODtlbHNlIGlmKE49PTgxKW49ayxOPTgwO2Vsc2UgaWYoTj09NTYpay5CdCgpLGsuQSYmUGQoay5BKSxOPTc1O2Vsc2UgaWYoTj09ODcpTj1SPzU2Ojc1O2Vsc2V7aWYoTj09NDYpcmV0dXJuIGs7Tj09Mzg/KGs9QixOPTQzKTpOPT0zMz9OPWs/MzE6NTQ6Tj09ODA/KGg9bixOPTcpOk49PTU0JiYoTj1rPzQ2OjkpfX19fX07dmFyIGx6LGo4PSh1PShoVyg3NSxmciksZnIucHJvdG90eXBlKSx1LklvPWZ1bmN0aW9uKGssUixHLGgpeyhoPWsuRj9rLkYoKTprKSYmKEc/THI6VmgpKGgsW1JdKX0sdS5BeD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7Wj03Mzt7bj0yNDt3aGlsZSgibyIpdHJ5e2lmKFo9PTQpYnJlYWs7ZWxzZSBaPT01Mj8oYy50YWJJbmRleD0wLFo9NCk6Wj09OD8obj0yNCxaPTIxKTpaPT0yMT8obj0yNCxaPTY3KTpaPT0yOD9aPUQhPVI/NjM6NDpaPT0yNT8oRz1oLnRhYkluZGV4LEQ9dHlwZW9mIEc9PT0ibnVtYmVyIiYmRz49MCYmRzwzMjc2OCxaPTI4KTpaPT05MD8oYy50YWJJbmRleD0tMSxjLnJlbW92ZUF0dHJpYnV0ZSgidGFiSW5kZXgiKSxaPTQpOlo9PTI5P1o9KEQ9aC5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzI1OjI4Olo9PTk4P1o9Uj81Mjo5MDpaPT0xMT9aPSFSJiZNUCg1LDMyLGspPzk5OjI5Olo9PTY3P1o9TVAoNywzMixrKT84MDoyOTpaPT04MD8oay5ZZSY0JiZrLnJiJjQmJmsuc2V0QWN0aXZlKGZhbHNlKSxrLlllJjMyJiZrLnJiJjMyJiZJQigxNCw0LGssZmFsc2UsMzIpJiZrLnYoZmFsc2UsMzIpLFo9MjkpOlo9PTk5PyhuPTEyLGguYmx1cigpLFo9MjEpOlo9PTYzPyhjPWgsWj05OCk6Wj09NzMmJihaPWsucmImMzImJihoPWsuaVgoKSk/MTE6NCl9Y2F0Y2goQil7aWYobj09MjQpdGhyb3cgQjtuPT0xMiYmKG09QixaPTgpfX19LHtidXR0b246InByZXNzZWQiLGNoZWNrYm94OiJjaGVja2VkIixtZW51aXRlbToic2VsZWN0ZWQiLG1lbnVpdGVtY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtcmFkaW86ImNoZWNrZWQiLHJhZGlvOiJjaGVja2VkIix0YWI6InNlbGVjdGVkIix0cmVlaXRlbToic2VsZWN0ZWQifSk7dS5maj1mdW5jdGlvbigpe3JldHVybiJnb29nLWNvbnRyb2wifTt3aGlsZSgwPT09LU51bWJlcigpKWlmKHUuYlg9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXsoKGg9KG49KGx6fHwobHo9ezE6ImRpc2FibGVkIiw4OiJzZWxlY3RlZCIsMTY6ImNoZWNrZWQiLDY0OiJleHBhbmRlZCJ9KSxseltSXSksay5nZXRBdHRyaWJ1dGUoInJvbGUiKXx8bnVsbCkpPyhEPWo4W2hdfHxuLFo9bj09ImNoZWNrZWQifHxuPT0ic2VsZWN0ZWQiP0Q6bik6Wj1uLGM9WikmJk9SKDEyLDgsZmFsc2UsImhpZGRlbiIsayxHLGMpfSx0cnVlKWJyZWFrO2lmKHUuaVg9KHUudj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaKXt7Wj03OTt3aGlsZShaIT0xKVo9PTA/KGg9dGhpcy5maigpLGgucmVwbGFjZSgvXFx4YTB8XFxzL2csIiAiKSx0aGlzLlprPXsxOmgrIi1kaXNhYmxlZCIsMjpoKyItaG92ZXIiLDQ6aCsiLWFjdGl2ZSIsODpoKyItc2VsZWN0ZWQiLDE2OmgrIi1jaGVja2VkIiwzMjpoKyItZm9jdXNlZCIsNjQ6aCsiLW9wZW4ifSxaPTU2KTpaPT03OT8oRD1SLkYoKSxaPTIwKTpaPT0yMD9aPUQ/MTM6MTpaPT01Nj8oKGM9dGhpcy5aa1trXSkmJnRoaXMuSW8oUixjLEcpLHRoaXMuYlgoRCxrLEcpLFo9MSk6Wj09MTMmJihaPXRoaXMuWms/NTY6MCl9fSxmdW5jdGlvbihrKXtyZXR1cm4gay5GKCl9KSxbXSlCWSgyLDQ0LEZYLGZyKTt2YXIgbnI9KChoVyg3MixGWCksRlgpLnByb3RvdHlwZS5maj1mdW5jdGlvbigpe3JldHVybiJnb29nLWJ1dHRvbiJ9LEZYLnByb3RvdHlwZS5iWD1mdW5jdGlvbihrLFIsRyl7c3dpdGNoKFIpe2Nhc2UgODpjYXNlIDE2Ok9SKDEyLDUsZmFsc2UsImhpZGRlbiIsayxHLCJwcmVzc2VkIik7YnJlYWs7ZGVmYXVsdDpjYXNlIDY0OmNhc2UgMTpGWC5PLmJYLmNhbGwodGhpcyxrLFIsRyl9fSx7fSk7aWYoKCgoKCgoKCh1PShCWSgyLDQyLGI5LEREKSxiOSkucHJvdG90eXBlLHUpLmppPXRydWUsdSkuSW89ZnVuY3Rpb24oayxSLEcpe2ZvcihHPTU2O0chPTI0OylHPT04Mj8odGhpcy5EP2UoNDMsMCxrLHRoaXMuRCl8fHRoaXMuRC5wdXNoKGspOnRoaXMuRD1ba10sdGhpcy5DLklvKHRoaXMsayx0cnVlKSxHPTI0KTpHPT03Mz8odGhpcy5DLklvKHRoaXMsayxmYWxzZSksRz0yNCk6Rz09MTk/Rz10aGlzLkQubGVuZ3RoPT0wPzQwOjczOkc9PTQwPyh0aGlzLkQ9bnVsbCxHPTczKTpHPT01Nj9HPVI/MTM6NzE6Rz09MTM/Rz1rPzgyOjI0Okc9PTcxJiYoRz1rJiZ0aGlzLkQmJnRXKDYsMCxrLHRoaXMuRCk/MTk6MjQpfSx1KS5pWD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkMuaVgodGhpcyl9LHUucmI9MzksdSkuaXE9MCx1KS5ZZT0yNTUsdS5CdD1mdW5jdGlvbigpeygoYjkuTy5CdC5jYWxsKHRoaXMpLHRoaXMuVTIpJiZ0aGlzLlUyLmRldGFjaCgpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkpJiZ0aGlzLkMuQXgodGhpcyxmYWxzZSl9LHUuVT1mdW5jdGlvbihrKXt7az03NTt3aGlsZShrIT02MilrPT03MD8oZGVsZXRlIHRoaXMuQyx0aGlzLkQ9bnVsbCxrPTYyKTprPT01Mz9rPXRoaXMuVTI/OTE6NzA6az09OTE/KHRoaXMuVTIuZGlzcG9zZSgpLGRlbGV0ZSB0aGlzLlUyLGs9NzApOms9PTc1JiYoYjkuTy5VLmNhbGwodGhpcyksaz01Myl9fSx1KS5EPW51bGwsdS5PMj0wLHUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaml9LHUpLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiFNUCgxMCwxLHRoaXMpfSx1LmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIE1QKDksNCx0aGlzKX0sdS5zZXRBY3RpdmU9ZnVuY3Rpb24oayl7SUIoMTAsNCx0aGlzLGssNCkmJnRoaXMudihrLDQpfSx1KS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk8yfSx1LnY9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKFo9Nzg7WiE9ODk7KVo9PTgzPyhEPSFrLGM9dGhpcy5nZXRQYXJlbnQoKSxaPTM1KTpaPT0xNj9aPUQ/MTQ6NzQ6Wj09NzQ/KHRoaXMuc2V0QWN0aXZlKGZhbHNlKSxJQigxMiw0LHRoaXMsZmFsc2UsMikmJnRoaXMudihmYWxzZSwyKSxaPTE0KTpaPT0yNT8odGhpcy5DLnYoUix0aGlzLGspLHRoaXMuTzI9az8oaD10aGlzLk8yLC0xLX5oLShoJn5SKSsoaF5SKSk6dGhpcy5PMiZ+UixaPTg5KTpaPT00Mj9aPXRoaXMucmImUiYmayE9TVAoMyxSLHRoaXMpPzI1Ojg5Olo9PTM1P1o9YyYmdHlwZW9mIGMuaXNFbmFibGVkPT0iZnVuY3Rpb24iJiYhYy5pc0VuYWJsZWQoKXx8IUlCKDMyLDQsdGhpcywhRCwxKT84OToxNjpaPT03OD9aPUd8fFIhPTE/NDI6ODM6Wj09MTQmJih0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLkMuQXgodGhpcyxEKSx0aGlzLnYoIUQsMSx0cnVlKSxaPTg5KX0sdHlwZW9mIGI5IT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCBjb21wb25lbnQgY2xhc3MgIitiOSk7aWYodHlwZW9mIGZyIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK2ZyKTt2YXIgYVk9Q24oNjQsMTcsYjkpOygoQlkoMiw0MCxnVSwoKEJZKDIsNDYsUWYsKGEoNixmdW5jdGlvbigpe3JldHVybiBuZXcgYjkobnVsbCl9LChuclthWV09ZnIsImdvb2ctY29udHJvbCIpKSxGWCkpLGhXKDczLFFmKSxRZi5wcm90b3R5cGUuQXg9ZnVuY3Rpb24oKXt9LFFmLnByb3RvdHlwZSkudj1mdW5jdGlvbihrLFIsRyxoLEQpe3tEPTkxO3doaWxlKEQhPTQyKUQ9PTkxPyhRZi5PLnYuY2FsbCh0aGlzLGssUixHKSxoPVIuRigpLEQ9NjEpOkQ9PTgzPyhoLmRpc2FibGVkPUcsRD00Mik6RD09NjEmJihEPWgmJms9PTE/ODM6NDIpfX0sUWYucHJvdG90eXBlLmJYPWZ1bmN0aW9uKCl7fSxiOSkpLGdVLnByb3RvdHlwZSkuVT1mdW5jdGlvbigpe2RlbGV0ZSAoZGVsZXRlIChnVS5PLlUuY2FsbCh0aGlzKSx0aGlzKS5KMyx0aGlzKS5kTn0sYSkoNSxmdW5jdGlvbigpe3JldHVybiBuZXcgZ1UobnVsbCl9LCJnb29nLWJ1dHRvbiIpO3ZhciBaRCx1OT1ILnJlcXVlc3RJZGxlQ2FsbGJhY2s/ZnVuY3Rpb24oayl7cmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbigpe2soKX0se3RpbWVvdXQ6NH0pfTpILnNldEltbWVkaWF0ZT9mdW5jdGlvbihrKXtzZXRJbW1lZGlhdGUoayl9OmZ1bmN0aW9uKGspe3NldFRpbWVvdXQoaywwKX0sb3Y9e3Bhc3NpdmU6dHJ1ZSxjYXB0dXJlOnRydWV9LFZmPW9CKDEzLDEwLFsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qcy9iZy8iLCIiXSksdlk9U3RyaW5nLmZyb21DaGFyQ29kZSgxMDUsMTEwLDExNiwxMDEsMTAzLDY3LDEwNCwxMDEsOTksMTA3LDY2LDEyMSwxMTIsOTcsMTE1LDExNSksd1U9e30sJGY9W10sUlk9KHgucHJvdG90eXBlLlB3PXZvaWQgMCx4LnByb3RvdHlwZS5MWD0oeC5wcm90b3R5cGUuTm09ZmFsc2UsInRvU3RyaW5nIiksW10pLGRyPVtdLEFvPSh4LnByb3RvdHlwZS5mUT12b2lkIDAsW10pLEJkPVtdLG1jPVtdLEd0PVtdLE1UPVtdLHhuPVtdLHpOPWZ1bmN0aW9uKGssUil7d2hpbGUoIVtdPT1mYWxzZSl7cmV0dXJuKFI9QVcoNDEsImFkIiwxNykpJiZrLmV2YWwoUi5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEcpe3JldHVybiBSLmNyZWF0ZVNjcmlwdChHKX06ZnVuY3Rpb24oRyl7cmV0dXJuIiIrR307aWYoImEiKWJyZWFrfX0oSCkseXI9ZnVuY3Rpb24oayl7cmV0dXJuKGs9QVcoNDEsImFkIiwxNikpP2Z1bmN0aW9uKFIpe3JldHVybiBrLmNyZWF0ZVNjcmlwdFVSTChSKX06ZnVuY3Rpb24oUil7cmV0dXJuIFJ9fSgpLEVlPWZ1bmN0aW9uKGspe3JldHVybihrPUFXKDQxLCJhZCIsMTkpKT9mdW5jdGlvbihSKXtyZXR1cm4gay5jcmVhdGVIVE1MKFIpfTpmdW5jdGlvbihSKXtyZXR1cm4gUn19KCkseWY9KCgoKChpTixZZixTOCxueCxaeSxmdW5jdGlvbigpe30pKEU1KSxmdW5jdGlvbigpe30pKFdZKSxmdW5jdGlvbigpe30pKHM1KSx5cixmdW5jdGlvbigpe30pKEVlKSx3VSkuY29uc3RydWN0b3IsU2U9KCgoKCgoKHgucHJvdG90eXBlLkxqPTAseC5wcm90b3R5cGUuUj0odT14LnByb3RvdHlwZSwiY3JlYXRlIiksdSkuSj0od2luZG93LnBlcmZvcm1hbmNlfHx7fSkubm93P2Z1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUmErd2luZG93LnBlcmZvcm1hbmNlLm5vdygpfTpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sdSkuaHM9ZnVuY3Rpb24oayxSLEcsaCxEKXtyZXR1cm4gQ24uY2FsbCh0aGlzLDY0LDMyLGssUixHLGgsRCl9LHUpLlJvPWZ1bmN0aW9uKCl7cmV0dXJuIGhXLmNhbGwodGhpcyw1Nil9LHUpLnNfPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7cmV0dXJuIE1QLmNhbGwodGhpcyw1NixrLFIsRyxoLEQsYyxaLG4pfSx1KS50cz1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtyZXR1cm4gUkIuY2FsbCh0aGlzLDIxLGssUixHLGgsRCxjLFosbixtLEIpfSx1LnBqPWZ1bmN0aW9uKCl7cmV0dXJuIFJCLmNhbGwodGhpcyw2NCl9LHUpLnBYPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIFkuY2FsbCh0aGlzLGssOSxSLEcsaCxEKX0sdS5IVj0wLHZvaWQgMCksSm89KHU9eC5wcm90b3R5cGUsdS5pPWZ1bmN0aW9uKGssUil7cmV0dXJuIFI9KGs9e30sU2U9ZnVuY3Rpb24oKXtyZXR1cm4gaz09Uj81ODoxMDZ9LHt9KSxmdW5jdGlvbihHLGgsRCxjLFosbixtLEIsVCxOLFAsZCxJLFMsWCxNLHIsbCx3LEUsRiwkbixHbyxKLHYsTyx5LHdKLHosUHUsbTcsZyxlTSxMLFU1LHQsVSxPNSxZbixwLEN4KXtmb3IodD0zMixVPXVuZGVmaW5lZCxwPTIwLEN4PWZhbHNlOzspdHJ5e2lmKHQ9PTY1KWJyZWFrO2Vsc2UgaWYodD09NDQpdD1CPzc3OjEwO2Vsc2UgaWYodD09OTEpcD00NyxiTig1NywzMDAwMSx0aGlzLDQxKSx0PTM3O2Vsc2UgaWYodD09ODcpcD00Nyxhdig1MDYsdGhpcywxNyxPNSksVT02NSx0PTM3O2Vsc2UgaWYodD09MjcpVSE9PXVuZGVmaW5lZD8odD1VLFU9dW5kZWZpbmVkKTp0PTY1O2Vsc2UgaWYodD09MjkpcD00Nyx0PTk1O2Vsc2UgaWYodD09MTcpcD01NSxHbygpLHQ9OTU7ZWxzZSBpZih0PT00MSl0PVA9PW1jPzI0OjIxO2Vsc2UgaWYodD09NzApdD0zOTtlbHNlIGlmKHQ9PTU3KXQ9Zy5sZW5ndGg+ND81NjozNjtlbHNlIGlmKHQ9PTI4KU4ubGVuZ3RoPTAsdD0zNztlbHNlIGlmKHQ9PTYpcD03MCx0aGlzLndiPU5UKDI1NSw0MCwwLGF0b2IoJG4pKSx0aGlzLmo9dGhpcy53Yi5sZW5ndGg8PDMsQSgzNjMsdGhpcyxbMCwwLDBdKSx0PTkxO2Vsc2UgaWYodD09MjIpe2lmKEU9KE49Vyh0aGlzLDcxKSx0eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yKSYmTltTeW1ib2wuaXRlcmF0b3JdKXo9RS5jYWxsKE4pO2Vsc2UgaWYodHlwZW9mIE4ubGVuZ3RoPT0ibnVtYmVyIil6PXtuZXh0Ok9SKDEyLDcyLDAsTil9O2Vsc2UgdGhyb3cgRXJyb3IoU3RyaW5nKE4pKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO3Q9KFQ9KHk9eix5Lm5leHQoKSksNDgpfWVsc2UgaWYodD09Nyl0PUdbNF0/NjQ6NTk7ZWxzZSBpZih0PT02NCl7Zm9yKFggaW4gQj1mYWxzZSxoKWlmKFghPT0idCImJk9iamVjdC5oYXNPd24oaCxYKSl7Qj10cnVlO2JyZWFrfXQ9NDR9ZWxzZSBpZih0PT01Myl0PVA9PUJkPzgyOjQzO2Vsc2UgaWYodD09MzgpSj0wLE89IiIsdD03MDtlbHNlIGlmKHQ9PTU2KXQ9Zy5sZW5ndGg+MUU2Pzg4Ojk3O2Vsc2UgaWYodD09MTUpWW49UWgoMCxHWzFdLDE1NywzMDAwMSx0aGlzKSxVPTk5LHQ9Mzc7ZWxzZSBpZih0PT00Myl0PVA9PUFvPzgxOjQxO2Vsc2UgaWYodD09MjUpdD1QPT1kcj8yMjozNztlbHNlIGlmKHQ9PTMyKWVNPWssaz1SLHQ9MztlbHNlIGlmKHQ9PTk2KWg9e30sdj0wLHQ9ODtlbHNlIGlmKHQ9PTg4KWc9Zy5zbGljZSgwLDFFNiksbE4oNDg4LFtdLDcsdGhpcywxMDIpLGplKDQ4OCxbXSx0aGlzLDEzNSksdD05NztlbHNlIGlmKHQ9PTY4KSRuPUdbMV0sdD02O2Vsc2UgaWYodD09NjYpSisrLHQ9Mzk7ZWxzZSBpZih0PT03NCl0PU8/Nzk6Mzg7ZWxzZSBpZih0PT04MSlyPUdbMV1bMV0sYz1LKDIsKG09Yih0aGlzLDQ4OCkubGVuZ3RoLC0yKn4obSYyKSstMisobV4yKSkpLHdKPXRoaXMuQix0aGlzLkI9dGhpcyx0PTExO2Vsc2UgaWYodD09MjQpUWgoMCxHWzFdLDE1NyxHWzJdLHRoaXMpLHQ9Mzc7ZWxzZSBpZih0PT0xOSl0PVUhPT11bmRlZmluZWQ/Mzc6NDtlbHNlIGlmKHQ9PTQpcD00NyxTPVlmKDIpLmNvbmNhdChiKHRoaXMsNDg4KSksU1sxXT0oTT1TWzBdLC0oTXwwKSsoTXwxNTkpKyhNJi0xNjApKSxTWzNdPVNbMV1eY1swXSxTWzRdPVNbMV1eY1sxXSxPPXRoaXMubmooUyksdD03NDtlbHNlIGlmKHQ9PTM2KXA9NDcsdGhpcy5CPXdKLHQ9MTk7ZWxzZSBpZih0PT05NSlUPXkubmV4dCgpLHQ9NDI7ZWxzZSBpZih0PT01MSl0PVA9PSRmPzk2OjUzO2Vsc2UgaWYodD09NTkpdGhpcy5QLnB1c2gobCksdGhpcy5QLnB1c2godyksVT02NSx0PTM3O2Vsc2UgaWYodD09MzkpdD1KPFMubGVuZ3RoPzYwOjYyO2Vsc2UgaWYodD09NzcpWW49e1FUOncsYWE6bCx0aW1lb3V0OnYsTW06ZmFsc2UsSWE6MH0sVT02Myx0PTM3O2Vsc2UgaWYodD09MzMpdD1QPT1HdD82ODo1MTtlbHNlIGlmKHQ9PTQyKXQ9VC5kb25lPzI4Ojk4O2Vsc2UgaWYodD09ODIpbj1HWzFdLG5bMV0ucHVzaChWKDE5MSx0aGlzKS5sZW5ndGgsVyh0aGlzLDE0KS5sZW5ndGgsVyh0aGlzLDQ4OCkubGVuZ3RoLGIodGhpcyw0NDYpLmxlbmd0aCxiKHRoaXMsMTYzKS5sZW5ndGgsYih0aGlzLDMwMilbMF0sVigyNjQsdGhpcykubGVuZ3RoLFcodGhpcyw0MikubGVuZ3RoKSxRKHRoaXMsMTU3LG5bMl0pLHRoaXMuWVs0NjldJiZRaCgwLFYoNDY5LHRoaXMpLDE1NywzMDAwMSx0aGlzKSx0PTM3O2Vsc2UgaWYodD09OTgpR289VC52YWx1ZSx0PTE3O2Vsc2UgaWYodD09NDApcD00Nyx3PVtCZCxHLHRoaXMuUm8oKV0sbD1bQW8sR10sdD03O2Vsc2UgaWYodD09MylwPTQ3LFA9R1swXSx0PTMzO2Vsc2UgaWYodD09MzcpcD0yMCxrPWVNLHQ9Mjc7ZWxzZXtpZih0PT00NylyZXR1cm4gWW47aWYodD09OClwPTc3LGg9Yih0aGlzLDU1KXx8e30sdj1oLnR8MCx0PTQwO2Vsc2UgaWYodD09NjApZD1TW0pdW3RoaXMuTFhdKDE2KSxkLmxlbmd0aD09MSYmKGQ9IjAiK2QpLE8rPWQsdD02NjtlbHNlIGlmKHQ9PTk3KWplKDQ4OCxLKDIsZy5sZW5ndGgpLmNvbmNhdChnKSx0aGlzLDUpLHQ9MzY7ZWxzZSBpZih0PT0xMSlwPTc2LG03PWIodGhpcyw1MDYpLG03Lmxlbmd0aD4wJiZsTig0ODgsSygyLG03Lmxlbmd0aCkuY29uY2F0KG03KSw3LHRoaXMsMTQ3KSxsTig0ODgsSygxLHRoaXMuSCsxPj4xKSw3LHRoaXMsMjQ0KSxqZSg0ODgsSygxLHRoaXNbQW9dLmxlbmd0aCksdGhpcyksUHU9dGhpcy5IdD9WKDE2Myx0aGlzKTpiKHRoaXMsNDQ2KSxQdS5sZW5ndGg+MCYmbE4oMTQsSygyLFB1Lmxlbmd0aCkuY29uY2F0KFB1KSw3LHRoaXMsMjI3KSxGPVYoMTQsdGhpcyksRi5sZW5ndGg+NCYmamUoNDg4LEsoMixGLmxlbmd0aCkuY29uY2F0KEYpLHRoaXMsMjI2KSxJPTAsSSs9Yih0aGlzLDEwMykmMjA0NyxJLT0oWj1WKDQ4OCx0aGlzKS5sZW5ndGgsLTItMip+KFp8NSktKFpeNSkpLGc9Vig0Mix0aGlzKSxnLmxlbmd0aD40JiYoSS09KGcubGVuZ3RofDApKzMpLEk+MCYmamUoNDg4LEsoMixJKS5jb25jYXQoWWYoSSkpLHRoaXMsMTUwKSx0PTU3O2Vsc2UgaWYodD09NzkpTz0iJCIrTyx0PTYyO2Vsc2V7aWYodD09OTkpcmV0dXJuIFluO2lmKHQ9PTEwKXRoaXMuUC5wdXNoKGwpLHRoaXMuUC5wdXNoKHcpLFU9NjUsdD0zNztlbHNlIGlmKHQ9PTIxKXQ9UD09TVQ/MTU6MjU7ZWxzZSBpZih0PT02MilEPU8sYih0aGlzLDE5MSkubGVuZ3RoPXIuc2hpZnQoKSxiKHRoaXMsMTQpLmxlbmd0aD1yLnNoaWZ0KCksVyh0aGlzLDQ4OCkubGVuZ3RoPXIuc2hpZnQoKSxXKHRoaXMsNDQ2KS5sZW5ndGg9ci5zaGlmdCgpLFYoMTYzLHRoaXMpLmxlbmd0aD1yLnNoaWZ0KCksVigzMDIsdGhpcylbMF09ci5zaGlmdCgpLFcodGhpcywyNjQpLmxlbmd0aD1yLnNoaWZ0KCksVyh0aGlzLDQyKS5sZW5ndGg9ci5zaGlmdCgpLFluPUQsVT00Nyx0PTM3O2Vsc2V7aWYodD09NjMpcmV0dXJuIFluO2lmKHQ9PTQ4KXQ9NDI7ZWxzZSBpZih0PT05MCl0aHJvdyBVNTt9fX19Y2F0Y2goaG8pe2lmKHA9PShVNT1obywyMCkpdGhyb3cgaG87cD09NDc/KFU9OTAsdD0zNyk6cD09NzA/KE81PWhvLHQ9ODcpOnA9PTc2PyhVPTkwLHQ9MzYpOnA9PTc3PyhVPTkwLHQ9NDApOnA9PTU1JiYoTD1obyx0PTI5KX19fSgpLHUudXE9ZnVuY3Rpb24oayl7cmV0dXJuIEJZLmNhbGwodGhpcyxrLDcyKX0sLy4vKTtpZih0cnVlKXUubmo9ZnVuY3Rpb24oayl7cmV0dXJuIENuLmNhbGwodGhpcyw2NCw4LGspfTt2YXIgeGY7aWYodS5TaT0odS50eD1mdW5jdGlvbigpe3JldHVybiBDbi5jYWxsKHRoaXMsNjQsNDgpfSwwKSx0cnVlKXUuck49MDt2YXIgSGQ9R3QucG9wLmJpbmQoeC5wcm90b3R5cGVbeC5wcm90b3R5cGVbUlldPSh1LmVpPWZ1bmN0aW9uKCl7cmV0dXJuIE9SLmNhbGwodGhpcywxMiwxNCl9LFswLDAsMSwxLDAsMSwxXSksQmRdKTsoWkQ9KHhmPXRXKDkzLChKb1t4LnByb3RvdHlwZS5MWF09SGQse2dldDpIZH0pLHgucHJvdG90eXBlLlIpLHgucHJvdG90eXBlLldWPXZvaWQgMCxILnRyYXlyaWRlKXx8KEgudHJheXJpZGU9e30pLFpELm0+NDB8fChaRC5tPTQxLFpELmFkPWgwLFpELmE9Z0opLFpEKS5ScnZfPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3JldHVybltmdW5jdGlvbihUKXtyZXR1cm4gTG4oMyxmYWxzZSxCLDcsVCl9LChCPW5ldyB4KGgsayxELGMsUixtLG4sWiksZnVuY3Rpb24oVCl7Qi50eChUKX0pXX07fSkuY2FsbCh0aGlzKTsnXS5qb2luKCdcbicpKSk7fSkuY2FsbCh0aGlzKTs="}},"time_used":11,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":9,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/img/home-02.jpeg","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.969Z","timestamp":1785129291969,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /img/home-02.jpeg HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:51 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Wed, 04 May 2022 16:05:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 149513\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":149513,"size_decoded":149781,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 1080x714, components 3","md5":"7df5ddeb9dc5fd815a9540530892362f","sha1":"52bb25d5dfa2bcc402cf7fbd66d019c327c1e6b6","sha256":"19bf0313779d3a6c34221ec9d35f408bb2da7f914e9cb956ca440cf32119d5bd","sha512":"f512541d0cefcc76766501dbee485e376db6d1d370b305f0be589d007f127c4d48e59126bad646c95e505260c8818fb0332f7dcdd26ed805befd7aafa49170fe","ssdeep":"3072:Q2/I55N7dWsvN3Dd67JT+RTaOe+JbtzBgPxYtBl6ER9+wUaBF:Q2/WksVBJzBgZ46E1t","tlshash":"9ee313ce18860ab0b32a931d55c55ee9d01160aea9cabe72f8f1b70b20e40e1565dbcd","first_seen":"2025-11-01T04:02:53.23968Z","last_seen":"2026-07-27T05:16:58.423774Z","times_seen":10,"resource_available":false,"data":"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"}},"time_used":199,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":179,"receive":20,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.616Z","timestamp":1785129292616,"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/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\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: e0770afe514dae313b7fc70c4cc3371e\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4812,"size_decoded":2619,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3061)","md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-07-27T08:08:22.725503Z","times_seen":4061,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTMxNDhdLHs3MzU5ODModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7Y29uc3Qgbz1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9O3ZhciByPW4oOTEwNzc4KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoKDAsci5kZWZhdWx0KSh0W25dWzBdLGUpKXJldHVybiBuO3JldHVybi0xfTt2YXIgcz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2NvbnN0IGM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4hKG48MCkmJihuPT1lLmxlbmd0aC0xP2UucG9wKCk6cy5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwhMCl9O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMuX19kYXRhX18sdCk+LTF9O2NvbnN0IGw9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLG89YShuLHQpO3JldHVybiBvPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bb11bMV09ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPW8sZi5wcm90b3R5cGUuZGVsZXRlPWMsZi5wcm90b3R5cGUuZ2V0PWksZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mfSw2OTQyMSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE2MjMxNikscj1uKDk4MTUyMyk7Y29uc3QgYT0oMCxvLmRlZmF1bHQpKHIuZGVmYXVsdCwiTWFwIil9LDcxMzE0OCh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pnp9KTtjb25zdCBvPSgwLG4oMTYyMzE2KS5kZWZhdWx0KShPYmplY3QsImNyZWF0ZSIpO2NvbnN0IHI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW8/byhudWxsKTp7fSx0aGlzLnNpemU9MH07Y29uc3QgYT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX07dmFyIHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBjPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYobyl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBzLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH07dmFyIGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIG8/dm9pZCAwIT09ZVt0XTppLmNhbGwoZSx0KX07Y29uc3QgbD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLG5bdF09byYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPXIsZi5wcm90b3R5cGUuZGVsZXRlPWEsZi5wcm90b3R5cGUuZ2V0PWMsZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mO3ZhciBfPW4oNzM1OTgzKSxoPW4oNjk0MjEpO2NvbnN0IHA9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBkLG1hcDpuZXcoaC5kZWZhdWx0fHxfLmRlZmF1bHQpLHN0cmluZzpuZXcgZH19O2NvbnN0IHY9ZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX19kYXRhX187cmV0dXJuIHYoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH07Y29uc3QgZz1mdW5jdGlvbih0KXt2YXIgZT15KHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9O2NvbnN0IGI9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5nZXQodCl9O2NvbnN0IGo9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5oYXModCl9O2NvbnN0IE89ZnVuY3Rpb24odCxlKXt2YXIgbj15KHRoaXMsdCksbz1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PW8/MDoxLHRoaXN9O2Z1bmN0aW9uIHcodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19dy5wcm90b3R5cGUuY2xlYXI9cCx3LnByb3RvdHlwZS5kZWxldGU9Zyx3LnByb3RvdHlwZS5nZXQ9Yix3LnByb3RvdHlwZS5oYXM9aix3LnByb3RvdHlwZS5zZXQ9Tztjb25zdCB6PXd9LDg3Mjk5OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPW4oOTgxNTIzKS5kZWZhdWx0LlN5bWJvbH0sMTc4NDk3KHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBvPW4oODcyOTk5KSxyPU9iamVjdC5wcm90b3R5cGUsYT1yLmhhc093blByb3BlcnR5LHM9ci50b1N0cmluZyxjPW8uZGVmYXVsdD9vLmRlZmF1bHQudG9TdHJpbmdUYWc6dm9pZCAwO2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9YS5jYWxsKHQsYyksbj10W2NdO3RyeXt0W2NdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaCh0KXt9dmFyIHI9cy5jYWxsKHQpO3JldHVybiBvJiYoZT90W2NdPW46ZGVsZXRlIHRbY10pLHJ9O3ZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3QgbD1mdW5jdGlvbih0KXtyZXR1cm4gdS5jYWxsKHQpfQo7dmFyIGY9by5kZWZhdWx0P28uZGVmYXVsdC50b1N0cmluZ1RhZzp2b2lkIDA7Y29uc3QgZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10PyJbb2JqZWN0IFVuZGVmaW5lZF0iOiJbb2JqZWN0IE51bGxdIjpmJiZmIGluIE9iamVjdCh0KT9pKHQpOmwodCl9fSw2MDI5NDIodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz0ib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nJiZuLmcuT2JqZWN0PT09T2JqZWN0JiZuLmd9LDE2MjMxNih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmd9KTt2YXIgbz1uKDkyODEzMik7Y29uc3Qgcj1uKDk4MTUyMykuZGVmYXVsdFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGEscz0oYT0vW14uXSskLy5leGVjKHImJnIua2V5cyYmci5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrYToiIjtjb25zdCBjPWZ1bmN0aW9uKHQpe3JldHVybiEhcyYmcyBpbiB0fTt2YXIgaT1uKDg4MDExNSksdT1uKDczMDUwMyksbD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxmPUZ1bmN0aW9uLnByb3RvdHlwZSxkPU9iamVjdC5wcm90b3R5cGUsXz1mLnRvU3RyaW5nLGg9ZC5oYXNPd25Qcm9wZXJ0eSxwPVJlZ0V4cCgiXiIrXy5jYWxsKGgpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2NvbnN0IHY9ZnVuY3Rpb24odCl7cmV0dXJuISghKDAsaS5kZWZhdWx0KSh0KXx8Yyh0KSkmJigoMCxvLmRlZmF1bHQpKHQpP3A6bCkudGVzdCgoMCx1LmRlZmF1bHQpKHQpKX07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTtjb25zdCBnPWZ1bmN0aW9uKHQsZSl7dmFyIG49eSh0LGUpO3JldHVybiB2KG4pP246dm9pZCAwfX0sOTgxNTIzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBvPW4oNjAyOTQyKSxyPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGY7Y29uc3QgYT1vLmRlZmF1bHR8fHJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9LDczMDUwMyh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3Qgcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIG8uY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9fSw5MTA3NzgodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX19LDkyODEzMih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE3ODQ5Nykscj1uKDg4MDExNSk7Y29uc3QgYT1mdW5jdGlvbih0KXtpZighKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4hMTt2YXIgZT0oMCxvLmRlZmF1bHQpKHQpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgUHJveHldIj09ZX19LDg4MDExNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCBTC.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.914Z","timestamp":1785129292914,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /crypto/XTVCBTC.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"107060b925841745f310697bd9f1f83d\"\r\nlast-modified: Wed, 08 Sep 2021 09:03:52 GMT\r\ncdn-cachedat: 08/09/2025 14:29:15\r\nx-amz-id-2: mS6txdd/WwgLrAcd/6no+TxP/dPK7pUj8E19SG87xGMdnJzq7GTFUtT6mRz2dzI97J9VRTiSHig=\r\nx-amz-request-id: 7A2W5B1DC5DG6A3C\r\nx-amz-meta-hash: 107060b925841745f310697bd9f1f83d\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 33645c186e92c18ae5b746d75826acc6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":801,"size_decoded":1365,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (801), with no line terminators","md5":"107060b925841745f310697bd9f1f83d","sha1":"40a2e01da20c164a3c3f774a72f3feadf17cafa2","sha256":"4dfca512e957e14f05da07751a96061cf4bfd5df438504f65287fa0a8c3cadb6","sha512":"fb7b987074d4701281c49fee08b1d44f2be2b3aa9ecffd0a88a6cc682aac06a6cd823598c8c8ba5ad43f8f1430a73c814148dea60d5740162cc41af7da324c76","ssdeep":"","tlshash":"24011ec55310f6046ec7c09dbf74a9e4110f60ae14a6c7dcf2c89f0835aae8ba614d48","first_seen":"2023-04-21T01:30:48Z","last_seen":"2026-07-27T08:08:00.892738Z","times_seen":5967,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjRjc5MzFBIiBkPSJNMCAwaDE4djE4SDB6Ii8+PHBhdGggZD0iTTEyLjgzNiA3Ljk0Yy4xNjYtMS4xMjMtLjY4NC0xLjcyMS0xLjg1NS0yLjEyOGwuMzgtMS41MTMtLjkyNi0uMjMtLjM2OSAxLjQ3Ni0uNzM4LS4xNzcuMzc1LTEuNDg2LS45MjUtLjIzLS4zOCAxLjUxOC0uNTg4LS4xMzl2LS4wMDVsLTEuMjc4LS4zMi0uMjQ2Ljk4OHMuNjg0LjE2LjY3NC4xNjZjLjM3NC4wOTYuNDM4LjM0Mi40MjcuNTM1TDYuOTYgOC4xMjhsLjA5Ni4wMzItLjEwMi0uMDIyLS42MDQgMi40MjNjLS4wNDMuMTEyLS4xNi4yODMtLjQyMy4yMTQuMDExLjAxNi0uNjY4LS4xNi0uNjY4LS4xNmwtLjQ2IDEuMDUzIDEuMjAzLjMuNjU4LjE3LS4zODUgMS41MzUuOTI1LjIzLjM3NC0xLjUxOS43NDQuMTkzLS4zOCAxLjUxMy45MjUuMjMuMzgtMS41MzVjMS41NzcuMyAyLjc2NS4xODIgMy4yNjItMS4yNDYuNDAxLTEuMTUtLjAyMS0xLjgwNy0uODUtMi4yNDYuNjA0LS4xMzMgMS4wNTktLjUzNCAxLjE3Ni0xLjM1M2guMDA1em0tMi4xMTIgMi45NjNjLS4yODMgMS4xNS0yLjIxOS41MjQtMi44NDUuMzc0bC41MDgtMi4wMzdjLjYyNi4xNiAyLjYzNy40NjUgMi4zMzcgMS42NTh2LjAwNXptLjI4NC0yLjk3OWMtLjI1NyAxLjA0My0xLjg3Mi41MTQtMi4zOS4zODVsLjQ2LTEuODQ0Yy41MjMuMTI4IDIuMjAyLjM3NCAxLjkzIDEuNDZ6IiBmaWxsPSIjZmZmIi8+PC9zdmc+"}},"time_used":50,"timings":{"blocked":-1,"dns":17,"connect":20,"send":0,"wait":2,"receive":-1,"ssl":8},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59941.af22f3ab83cdfcc3935a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:53.229Z","timestamp":1785129293229,"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/59941.af22f3ab83cdfcc3935a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:53 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-2da\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1c2c5979983a15b849a8c8307b1c52e7\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":730,"size_decoded":1064,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (730), with no line terminators","md5":"d829b77313e592f8d1913e78559754cd","sha1":"4bb78c4325498d327399604dd0dd90aa01fc6c87","sha256":"fdce8cb0a541548e40c8119d9c9bfcf3a9759dab795202f5302b4806a5938d50","sha512":"b1fa8c3f6815776f559376b98c708080898a95bd9128718fed3bb876db210241ae2be25002f53de0843ab5eb05c194a2f2f7f4a0b1000577797bf91ad7dbce5b","ssdeep":"","tlshash":"eb0128dea3465539e633dd73035783cb3004f6a28d389919fa44e92544cf7f04424d0e","first_seen":"2025-07-09T16:57:52.264591Z","last_seen":"2026-07-27T08:08:00.916821Z","times_seen":10284,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtVDJTTzp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1UMlNPOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtVDJTTzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLV8xLVQyU086dmFyKC0tY29sb3Itd2hpdGUpfS5sYWJlbC1lOWM2ZHljVntiYWNrZ3JvdW5kOnZhcigtLV8wLVQyU08pfS5sYWJlbC1lOWM2ZHljViAubG9nb1dyYXAtZTljNmR5Y1Ygc3Zne2hlaWdodDoxMHB4O21hcmdpbjo3cHggMDt3aWR0aDoxN3B4fS5sYWJlbC1lOWM2ZHljViAubG9nb1dyYXAtZTljNmR5Y1Ygc3ZnIHBhdGh7ZmlsbDp2YXIoLS1fMS1UMlNPKX0ubGFiZWwtZTljNmR5Y1YgLnN2Z1RleHRXcmFwLWU5YzZkeWNWIHN2Z3ttYXJnaW46NnB4IDB9LmxhYmVsLWU5YzZkeWNWIC5zdmdUZXh0V3JhcC1lOWM2ZHljViBzdmcgcGF0aHtmaWxsOnZhcigtLV8xLVQyU08pfS5sYWJlbC1lOWM2ZHljVi5sYXJnZS1lOWM2ZHljVntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSl9LmxhYmVsLWU5YzZkeWNWLmxhcmdlLWU5YzZkeWNWIC5sb2dvV3JhcC1lOWM2ZHljViBzdmd7aGVpZ2h0OjExcHg7bWFyZ2luOjExcHggMCAxMHB4O3dpZHRoOjIwcHh9LmxhYmVsLWU5YzZkeWNWLmxhcmdlLWU5YzZkeWNWIC5zdmdUZXh0V3JhcC1lOWM2ZHljViBzdmd7aGVpZ2h0OjE0cHg7bWFyZ2luOjEwcHggMDt3aWR0aDo3N3B4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:53.024Z","timestamp":1785129293024,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 3967\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:44 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:44 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 09 Apr 2026 01:12:55 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 403449\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":20284,"size_decoded":4799,"mime_type":"text/css; charset=UTF-8","magic":"ASCII text, with very long lines (20284), with no line terminators","md5":"fde4f72b90fe807270db3c332dd058df","sha1":"7ef4d70af01c38a7f80a7650be25f63aff4ba751","sha256":"ab31c9be358d2107fc1158434c7aeaaf15f82e3e405ed67ab236b5ac232ed159","sha512":"9bef39350af557afeb10cb71068426ab28befaf5295359954787be06a5ce0993d69e8f5018a5a17c44311d294dd1a87a6f82edd0f5743df0149b8e4e53061695","ssdeep":"192:nvqx/EhZINcrXsfg0SgG8CqA3uku9SJFzvQVMbnUIfIxIVVpTrecfzPtcmt4v78l:gMF8Sb3i0JFzourUqWMVpTrdfzPtcBG","tlshash":"c492872057aed01967efa82364d36dff71d444db90123eeaaf5a7352cd821f231ea214","first_seen":"2026-04-13T20:43:22.641436Z","last_seen":"2026-07-27T08:08:22.715626Z","times_seen":16983,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://widgetdata.tradingview.com/socket.io/websocket?from=embed-widget%2Fticker-tape%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=crystal-exploits.org%2F\u0026ancestor-origin=crystal-exploits.org\u0026api_key=tradingview","fqdn":"widgetdata.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"93.123.102.190","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.686Z","timestamp":1785129292686,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Wed, 18 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"96:06:76:35:9F:2C:2D:1C:89:55:E8:92:7C:4F:4B:FD:E9:F6:FF:1A","sha256":"BC:FA:33:CE:19:85:7A:43:44:BA:17:CE:87:15:42:E2:02:0C:7A:4E:83:42:1F:58:8F:59:B4:20:BF:4B:35:00"}}},"request":{"raw":"GET /socket.io/websocket?from=embed-widget%2Fticker-tape%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=crystal-exploits.org%2F\u0026ancestor-origin=crystal-exploits.org\u0026api_key=tradingview HTTP/1.1\r\nHost: widgetdata.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-WebSocket-Version: 13\r\nOrigin: https://www.tradingview-widget.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: JTGMjdtRkskjJOQhFPAwnQ==\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 05:14:52 GMT\r\nConnection: upgrade\r\nsec-websocket-accept: PvSk4oXaA5NxORGR3uFlQoWYIMs=\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-27T08:08:41.31747Z","times_seen":17559137,"resource_available":true,"data":""}},"time_used":88,"timings":{"blocked":0,"dns":3,"connect":24,"send":0,"wait":27,"receive":0,"ssl":33},"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://crystal-exploits.org/","date":"2026-07-27T05:14:55.984Z","timestamp":1785129295984,"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://crystal-exploits.org/\r\nOrigin: https://crystal-exploits.org\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=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 05:14:56 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: k3I8nS5JvZ05T0kK9BOjYvkTVV5ByLqFW82LkGolaQIXoZza+vxBRWJlwI/6rHkAyEv8v20\r\nx-77-nzt-ray: fdb54123b353f56f50e9666af9936402\r\nx-77-cache: HIT\r\nx-77-age: 144\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-27T08:08:01.064817Z","times_seen":4645,"resource_available":false,"data":"eyJhZ2VudFJhdGluZy5hbGwucGxhY2Vob2xkZXIiOiJMZWF2ZSB1cyBmZWVkYmFjayIsImFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dCI6IlNvIHNvcnJ5IPCfmJMgV2hhdCB3ZW50IHdyb25nPyIsImFnZW50UmF0aW5nLmdvb2QuZm9ybVRleHQiOiJUaGFua3Mg8J+kqSBXaGF0IHdhcyBzbyBncmVhdD8iLCJhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHQiOiJUaGFua3Mg8J+RjSBIb3cgY2FuIHdlIGltcHJvdmU/IiwiYWdlbnRUcmFuc2Zlci5kZWZhdWx0VGV4dCI6IkFnZW50IiwiYWdlbnRUcmFuc2Zlci5qb2luZWQiOiJqb2luZWQgdGhlIGNoYXQiLCJhZ2VudFRyYW5zZmVyLmxlZnQiOiJsZWZ0IiwiYWdlbnRUcmFuc2Zlci5yZWRpcmVjdGVkIjoiaXMgeW91ciBuZXcgYWdlbnQiLCJhcmlhTGFiZWwuYWdlbnRBdmF0YXIiOiJBZ2VudCBhdmF0YXIiLCJhcmlhTGFiZWwuY2FyZCI6IlByb2R1Y3QgY2FyZCIsImFyaWFMYWJlbC5jaGF0Q29udGVudCI6IkNoYXQgY29udGVudCIsImFyaWFMYWJlbC5jaGF0Ym90QXZhdGFyIjoiQ2hhdGJvdCBhdmF0YXIiLCJhcmlhTGFiZWwuZHJhd2VyLmNvbnRlbnQiOiJEcmF3ZXIgY29udGVudCIsImFyaWFMYWJlbC5kcmF3ZXIub3ZlcmxheSI6IkRyYXdlciBvdmVybGF5IiwiYXJpYUxhYmVsLmlubGluZUVtb2ppUGlja2VyLmRlc2NyaXB0aW9uIjoiU2hvd2luZyB7Y291bnR9IGVtb2ppcyIsImFyaWFMYWJlbC5pbmxpbmVFbW9qaVBpY2tlci5sYWJlbCI6IkVtb2ppIHN1Z2dlc3Rpb25zIiwiYXJpYUxhYmVsLmxlZnQiOiJMZWZ0IiwiYXJpYUxhYmVsLm9wZW5DaGF0IjoiT3BlbiBTbWFydHN1cHAgY2hhdCIsImFyaWFMYWJlbC5wb3B1cCI6IlNtYXJ0c3VwcCBjaGF0IHBvcHVwIiwiYXJpYUxhYmVsLnJhdGVDaGF0LmJhZCI6IlJhdGUgY2hhdCBuZWdhdGl2ZWxseSIsImFyaWFMYWJlbC5yYXRlQ2hhdC5nb29kIjoiUmF0ZSBjaGF0IHBvc2l0aXZlbHkiLCJhcmlhTGFiZWwucmF0ZUNoYXQubmV1dHJhbCI6IlJhdGUgY2hhdCBuZXV0cmFsbHkiLCJhcmlhTGFiZWwucmVtb3ZlQXR0YWNobWVudCI6IlJlbW92ZSBhdHRhY2htZW50IiwiYXJpYUxhYmVsLnJpZ2h0IjoiUmlnaHQiLCJhcmlhTGFiZWwuc2Nyb2xsRG93biI6IlNjcm9sbCBkb3duIiwiYXJpYUxhYmVsLnN1Y2Nlc3MiOiJTdWNjZXNzIiwiYXJpYUxhYmVsLnVwbG9hZGluZyI6IlVwbG9hZGluZy4uLiIsImFyaWFMYWJlbC53aWRnZXRCcmFuZGluZyI6IlNtYXJ0c3VwcCBicmFuZGluZyIsImF1dGhGb3JtLmFjY2VwdFRlcm1zIjoiSSBhZ3JlZSB3aXRoIHByaXZhY3kgcG9saWN5IiwiYXV0aEZvcm0uYnV0dG9uLnNlbmQiOiJTZW5kIG1lc3NhZ2UiLCJhdXRoRm9ybS5kZXNjcmlwdGlvbiI6Ildl4oCZbGwgdXNlIHlvdXIgY29udGFjdCBpbmZvIG9ubHkgaWYgYWxsIHRoZSBhZ2VudHMgYXJlIGJ1c3kgYXQgdGhlIG1vbWVudCBhbmQgY2Fubm90IGltbWVkaWF0ZWx5IHJlcGx5LiIsImF1dGhGb3JtLmdyZWV0aW5nIjoi8J+RiyBQbGVhc2UgaW50cm9kdWNlIHlvdXJzZWxmIiwiYXV0aEZvcm0uZ3JvdXAiOiJDaG9vc2UgYSBncm91cCIsImF1dGhGb3JtLmxhYmVsLmVtYWlsIjoiRS1tYWlsIiwiYXV0aEZvcm0ubGFiZWwuZ3JvdXAiOiJHcm91cCIsImF1dGhGb3JtLmxhYmVsLm5hbWUiOiJOYW1lIiwiYXV0aEZvcm0ubGFiZWwucGhvbmUiOiJQaG9uZSIsImF1dGhGb3JtLnN1Ym1pdC5lcnJvciI6IkF1dGhlbnRpY2F0aW9uIGZhaWxlZCIsImF1dGhGb3JtLnN1Ym1pdC5zdWNjZXNzIjoiQXV0aGVudGljYXRpb24gd2FzIHN1Y2Nlc3NmdWwiLCJhdXRoRm9ybS55b3VyRW1haWwiOiJZb3VyIGVtYWlsIiwiYXV0aEZvcm0ueW91ck5hbWUiOiJZb3VyIG5hbWUiLCJhdXRoRm9ybS55b3VyUGhvbmUiOiJQaG9uZSBudW1iZXIiLCJidXR0b24uZ3JlZXRpbmciOiJDaGF0IiwiY2FyZC5saW5rc0xpbWl0UmVhY2hlZCI6IlVuYWJsZSB0byBzZW5kIG1vcmUgdGhhbiAyMCBVUkwgbGlua3MuIiwiY2FyZC5ub1ByZXZpZXdUaXRsZSI6IlByZXZpZXcgbm90IGF2YWlsYWJsZSIsImNhcmQub3BlblVybFRpdGxlIjoiUmVhZCBtb3JlIiwiY2FyZC5zZW5kaW5nSW5Qcm9ncmVzcyI6IlNlbmRpbmcgaW4gcHJvZ3Jlc3MsIHBsZWFzZSB3YWl04oCmIiwiY2hhdElucHV0LnBsYWNlaG9sZGVyIjoiVHlwZSB5b3VyIG1lc3NhZ2UgaGVyZSIsImNoYXRQcmV2aWV3Lm1lc3NhZ2UxIjoiSGksIGlzIGFueWJvZHkgaGVyZT8iLCJjaGF0UHJldmlldy5tZXNzYWdlMiI6IkhlbGxvLCB5ZXMgd2UgYXJlIGhlcmUiLCJjaGF0UHJldmlldy5tZXNzYWdlMyI6Ik9rLCB0aGFua3MiLCJjaGF0Ym90LmdvQmFjayI6IkdvIGJhY2siLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLmJ1dHRvbiI6IlllcywgZW5kIGNoYXQiLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLnRleHQiOiJJcyB0aGF0IHJlYWxseSBhbGw/IElmIHNvbWV0aGluZyBlbHNlIGNvbWVzIHRvIG1pbmQsIHlvdSBjYW4gYWx3YXlzIHJldHVybiB0byB0aGUgY29udmVyc2F0aW9uLiIsImNsb3NlQ29udmVyc2F0aW9uTW9kYWwudGl0bGUiOiJFbmQgY2hhdCIsImRyYWdBbmREcm9wLmRyb3BIZXJlIjoiRHJvcCB5b3VyIGZpbGUocykgaGVyZSIsImVtYWlsVHJhbnNjcmlwdC5wb3NpdGl2ZUZlZWRiYWNrIjoiVHJhbnNjcmlwdCBoYXMgYmVlbiBzZW50IiwiZW1haWxUcmFuc2NyaXB0LnNlbmRDb3B5IjoiU2VuZCBjb252ZXJzYXRpb24gY29weSIsImVycm9yLmZpbGVVcGxvYWQiOiJGaWxlIHVwbG9hZCBmYWlsdXJlIiwiZXJyb3Iubm9JbnRlcm5ldCI6IkludGVybmV0IGNvbm5lY3Rpb24gbG9zdCIsImVycm9yLnNlcnZlckVycm9yIjoiU2VydmVyIGVycm9yIG9jY3VycmVkIiwiZmlsZVVwbG9hZC5iYWRGaWxlVHlwZSI6IlRoaXMgZmlsZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQuIiwiZmlsZVVwbG9hZC5maWxlVG9vQmlnIjoiVGhlIGZpbGUgaXMgYmlnZ2VyIHRoYW4gdGhlIGFsbG93ZWQgbGltaXQiLCJmaWxlVXBsb2FkLmZpbGVzV2VyZW50UHJvY2Vzc2VkIjoiU29tZSBmaWxlcyBjb3VsZCBub3QgYmUgcHJvY2Vzc2VkIiwiZmlsZVVwbG9hZC5pbWFnZUVycm9yIjoiVGhpcyBpbWFnZSBpcyBub3QgdmFsaWQiLCJmaWxlVXBsb2FkLnRvb01hbnlGaWxlcyI6IkxpbWl0IGZvciB1cGxvYWRpbmcgZmlsZXMgaXMgIiwiZmlsZVVwbG9hZC51cGxvYWRGaWxlIjoiVXBsb2FkIGZpbGUiLCJmb3JtLnN1Ym1pdC5lcnJvciI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImZvcm0uc3VibWl0LnN1Y2Nlc3MiOiJTdWNjZXNzZnVsbHkgZG9uZSIsImdkcHIuZGF0YVByaXZhY3lIZWFkbGluZSI6IlBlcnNvbmFsIGRhdGEgcHJvY2Vzc2luZyIsImdkcHIuZGF0YVByaXZhY3lUZXh0IjoiU21hcnRzdXBwLmNvbSwgcy5yLm8sIHByb2Nlc3NlcyBwZXJzb25hbCBkYXRhLiwgVkFUIElEIENaMDM2Njg2ODEgKGZ1cnRoZXIgYXMgXCJTbWFydHN1cHBcIikgYXMgYSBkYXRhIHByb2Nlc3NvciB3aG8gYWN0cyBvbiBiZWhhbGYgb2YgdGhlIHdlYnNpdGUgb3duZXIgd2hvIGlzIHRoZSBkYXRhIGNvbnRyb2xsZXIuIFxuXG5TbWFydHN1cHAgaXMgR0RQUiBjb21wbGlhbnQuIFlvdSBjYW4gZmluZCBpbmZvcm1hdGlvbiBhYm91dCBTbWFydHN1cHAgcGVyc29uYWwgZGF0YSBwcml2YWN5IGFuZCBwcm9jZXNzaW5nIG9uIGhlbHAuc21hcnRzdXBwLmNvbS9lbl9VUy9wcml2YWN5LiBcblxuUHJvY2Vzc2luZyBvZiB5b3VyIHBlcnNvbmFsIGRhdGEgaXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIHByb3ZpZGUgY3VzdG9tZXIgc2VydmljZS4gQWR2YW5jZWQgZmVhdHVyZXMgd2lsbCBvbmx5IGJlIHR1cm5lZCBvbiBpZiB5b3UgaGF2ZSBhZ3JlZWQgdG8gdGhlbS4gXG5cblBsZWFzZSBjb250YWN0IHRoZSB3ZWJzaXRlIG93bmVyIGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBhYm91dCB0aGUgcHJvY2Vzc2luZyBvZiBwZXJzb25hbCBkYXRhIG9yIGlmIHlvdSB3YW50IHRvIHJlcXVlc3Qgb3IgZXJhc2UgeW91ciBwZXJzb25hbCBkYXRhLiIsImdlbmVyYWwuYmFjayI6IkJhY2siLCJnZW5lcmFsLm5ld01lc3NhZ2VzIjoiTmV3IG1lc3NhZ2VzIiwiZ2VuZXJhbC5zZW5kIjoiU2VuZCIsIm9wdGlvbnMuYWNjZXNzaWJpbGl0eSI6IkFjY2Vzc2liaWxpdHkiLCJvcHRpb25zLmNvcHlyaWdodCI6IsKpIHt5ZWFyfSBTbWFydHN1cHAuY29tIiwib3B0aW9ucy5lbWFpbFRyYW5zY3JpcHQiOiJTZW5kIGVtYWlsIHRyYW5zY3JpcHQiLCJvcHRpb25zLmZlZWRiYWNrIjoiRGlkIHlvdSBmaW5kIGEgYnVnPyIsIm9wdGlvbnMuZ2RwciI6IkdEUFIgYW5kIHByaXZhY3kiLCJvcHRpb25zLnBkZlRyYW5zY3JpcHQiOiJEb3dubG9hZCB0cmFuc2NyaXB0Iiwib3B0aW9ucy5wbGF5U291bmRzIjoiUGxheSB0aGUgc291bmRzIiwib3B0aW9ucy50aXRsZSI6Ik9wdGlvbnMiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWdlbnQiOiJSYXRlIGNoYXQiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWkiOiJSYXRlIEFJIGNoYXRib3QiLCJyYXRpbmcuc3VibWl0LnN1Y2Nlc3MiOiJSYXRpbmcgc2VudCIsInJhdGluZy5zdWJtaXRGZWVkYmFjay5zdWNjZXNzIjoiVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrIiwicmF0aW5nLndhc0l0SGVscGZ1bC5hZ2VudCI6IkhvdyB3b3VsZCB5b3UgcmF0ZSBvdXIgc3VwcG9ydD8iLCJyYXRpbmcud2FzSXRIZWxwZnVsLmFpIjoiSG93IHdvdWxkIHlvdSByYXRlIHRoZSBBSSBjaGF0Ym90IGV4cGVyaWVuY2U/Iiwic3RhdHVzQmFyLmJvdElkZW50aXR5IjoiQUkgYXNzaXN0YW50Iiwic3RhdHVzQmFyLm9mZmxpbmVUZXh0IjoiSGFwcHkgdG8gYW5zd2VyIHlvdSBsYXRlciIsInN0YXR1c0Jhci5vbmxpbmVUZXh0IjoiV2UgcmVwbHkgaW1tZWRpYXRlbHkiLCJzeXN0ZW1NZXNzYWdlLmNoYXRDbG9zZWQiOiJDaGF0IHdhcyBjbG9zZWQiLCJzeXN0ZW1NZXNzYWdlLmNoYXRSZXNvbHZlZCI6InJlc29sdmVkIGNvbnZlcnNhdGlvbiIsInRpY2tldEZvcm0ubGFiZWwubWVzc2FnZSI6IldoYXQgY2FuIHdlIGhlbHAgeW91IHdpdGg/IiwidGlja2V0Rm9ybS5tZXNzYWdlLnBsYWNlaG9sZGVyIjoiRGVzY3JpYmUgeW91ciBwcm9ibGVtIiwidGlja2V0Rm9ybS5zdWJtaXQuYnV0dG9uIjoi4pyJ77iPIENvbnRhY3QgdGhlIGFnZW50IGJ5IGVtYWlsIiwidGltZWFnby5YRGF5c0FnbyI6IiclcyBkYXlzIGFnbyIsInRpbWVhZ28uWEhvdXJzQWdvIjoiJXMgaG91cnMgYWdvIiwidGltZWFnby5YTWludXRlc0FnbyI6IiVzIG1pbnV0ZXMgYWdvIiwidGltZWFnby5YTW9udGhzQWdvIjoiJXMgbW9udGhzIGFnbyIsInRpbWVhZ28uWFNlY29uZHNBZ28iOiIlcyBzZWNvbmRzIGFnbyIsInRpbWVhZ28uWFdlZWtzQWdvIjoiJXMgd2Vla3MgYWdvIiwidGltZWFnby5YWWVhcnNBZ28iOiIlcyB5ZWFycyBhZ28iLCJ0aW1lYWdvLmp1c3ROb3ciOiJqdXN0IG5vdyIsInRpbWVhZ28ub25lRGF5QWdvIjoiMSBkYXkgYWdvIiwidGltZWFnby5vbmVIb3VyQWdvIjoiMSBob3VyIGFnbyIsInRpbWVhZ28ub25lTWludXRlQWdvIjoiMSBtaW51dGUgYWdvIiwidGltZWFnby5vbmVNb250aEFnbyI6IjEgbW9udGggYWdvIiwidGltZWFnby5vbmVXZWVrQWdvIjoiMSB3ZWVrIGFnbyIsInRpbWVhZ28ub25lWWVhckFnbyI6IjEgeWVhciBhZ28iLCJ0aW1lYWdvLnJpZ2h0Tm93IjoicmlnaHQgbm93IiwidGltZWFnby5zZWNvbmRzIjoiaW4gJXMgc2Vjb25kcyIsInRvb2x0aXAuYXR0YWNobWVudCI6IkF0dGFjaG1lbnQiLCJ0b29sdGlwLmNsb3NlIjoiQ2xvc2UiLCJ0b29sdGlwLmNvbGxhcHNlIjoiQ29sbGFwc2UgY2hhdCIsInRvb2x0aXAuZW1vamkiOiJFbW9qaSIsInRvb2x0aXAuZXhwYW5kIjoiRXhwYW5kIGNoYXQiLCJ0b29sdGlwLm1pbmltaXplIjoiTWluaW1pemUgY2hhdCIsInRvb2x0aXAubW9yZSI6IlNob3cgbW9yZSIsInRvb2x0aXAubW9yZUJ1dHRvbiI6IlNob3cgTW9yZSIsInRvb2x0aXAucmF0ZUNoYXQiOiJSYXRlIENoYXQiLCJ0b29sdGlwLnNlbmQiOiJTZW5kIiwidG9wQmFyLmVtYWlsVHJhbnNjcmlwdCI6IlNlbmQgZW1haWwgdHJhbnNjcmlwdCIsInRvcEJhci5nZHByVGl0bGUiOiJHRFBSIGFuZCBwcml2YWN5IiwidG9wQmFyLm9mZmxpbmUuaGVsbG8iOiJTZW5kIHVzIGEgbWVzc2FnZSIsInRvcEJhci5vbmxpbmUuaGVsbG8iOiJIb3cgY2FuIHdlIGhlbHA/IiwidG9wQmFyLnR1cm5PZmZTb3VuZHMiOiJUdXJuIG9mZiBzb3VuZHMiLCJ0b3BCYXIudHVybk9uU291bmRzIjoiVHVybiBvbiBzb3VuZHMiLCJ0cmlnZ2VyLm9wZW5DaGF0QnV0dG9uIjoiTGV0J3MgY2hhdCIsInRyaWdnZXIucmVwbHlCdXR0b24iOiJSZXBseSIsInZhbGlkYXRpb25zLmNoZWNrZWRUZXJtcyI6IllvdSBtdXN0IGFncmVlIHdpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRvIGNvbnRpbnVlIiwidmFsaWRhdGlvbnMuaXNFbWFpbCI6IlBsZWFzZSBlbnRlciB2YWxpZCBlbWFpbCIsInZhbGlkYXRpb25zLnBob25lIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyIiwidmFsaWRhdGlvbnMucmVxdWlyZWQiOiJQbGVhc2UgZmlsbCBvdXQgdGhpcyBmaWVsZCIsIndhcm5pbmdCYXIubWF4TGVuZ3RoIjoiWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBhbGxvd2VkIG51bWJlciBvZiBjaGFyYWN0ZXJzICgyMDAwKSIsIndhcm5pbmdCYXIuc2FtZU1lc3NhZ2VUd2ljZSI6IkNhbm5vdCBzZW5kIHRoZSBzYW1lIG1lc3NhZ2UgdHdpY2UgaW4gYSByb3cuIiwid2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbiI6IllvdXIgbWVzc2FnZXMgaGF2ZSBiZWVuIGlkZW50aWZpZWQgYXMgc3BhbS4gUGxlYXNlIHdhaXQgZm9yIDMwIHNlY29uZHMgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlLiIsIndhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0IjoiRmlyc3QgbWVzc2FnZSBjYW5ub3QgYmUgYSBmaWxlIiwid2lkZ2V0UHJldmlldy5jb250YWN0TWVzc2FnZSI6IvCfjokgTG9va3MgZmFudGFzdGljISDwn5Kq8J+PuyBMZXTCtHMgcm9jayB0aG9zZSBjb252ZXJzYXRpb25zIGFuZCBsZWF2ZSBhIGxhc3RpbmcgaW1wcmVzc2lvbiEg8J+agCIsIndpZGdldFByZXZpZXcud2VsY29tZU1lc3NhZ2UiOiLwn5GL8J+PuyBXZWxjb21lISBUaGlzIGlzIGEgc25lYWsgcGVlayBvZiB5b3VyIGNoYXQgYm94LiBHZXQgcmVhZHkgdG8gc2hpbmUg4pyoIGluIGN1c3RvbWVyIGludGVyYWN0aW9ucyEiLCJtZXNzYWdlLmRlbGV0ZWQiOiJUaGlzIG1lc3NhZ2Ugd2FzIHJlbW92ZWQifQ=="}},"time_used":60,"timings":{"blocked":0,"dns":29,"connect":9,"send":0,"wait":8,"receive":0,"ssl":14},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/img/arrow-down.png","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.315Z","timestamp":1785129292315,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /img/arrow-down.png HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/style.css\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:52 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 09 Dec 2020 04:52:52 GMT\r\naccept-ranges: bytes\r\ncontent-length: 2305\r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":2305,"size_decoded":2570,"mime_type":"image/png","magic":"PNG image data, 104 x 23, 8-bit/color RGBA, non-interlaced","md5":"929980843482f4cc2b3e41ce01a28c26","sha1":"02921e70fdad8f0a12adc4eeb45b177f353bbb3f","sha256":"84ece067c79add090e6e1622fd6d01ab5ac3f6367b14fe6bdc0943a09b7f46bf","sha512":"0a7b9a71dbc3ccd679ba55857a7f3868fb8eca165735cf8f4af05a0087f326a27e90fcca4ac4313aa5e21132558889a8b91578f1d7eac9f2e24eafb464c52e03","ssdeep":"","tlshash":"61412c43aa916ce28cc1f5006cfe807789630d60e6b0f4527ecb9517d5211eb4c6d4ef","first_seen":"2025-09-22T10:43:48.57103Z","last_seen":"2026-07-27T05:48:43.322514Z","times_seen":18,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAGgAAAAXCAYAAADnaAq1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjgwRTFFMzc1OTJEQjExRThCMzg1RkI3QjNDREMyN0NDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjgwRTFFMzc2OTJEQjExRThCMzg1RkI3QjNDREMyN0NDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODBFMUUzNzM5MkRCMTFFOEIzODVGQjdCM0NEQzI3Q0MiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODBFMUUzNzQ5MkRCMTFFOEIzODVGQjdCM0NEQzI3Q0MiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7bUfe/AAAFcUlEQVR42uxZa2hbZRjOOSfnlqZJk7ZJ03vXiwNXnU7WtTo6VLxNEP2hbsNu+EMRNmFS9kMFfwquA2U/FWQI7Y/BxB9OUcZGd2mtDqoM7WjXpe3WtEmbNNeT64nPmyYsHXR0dbZZe174yMl3vpxz8j7f+7zP+x4mnU7rHjZT1bQhHk9uxSGzOJPWcxw3y/OcM3teSqXUco5jfSzLhHQPsTGFCJCixJ8JBCL7kym1KplM2TGq4GxPbU15BxwenZycu6wosY4lf4RlIk2NjjKcVyYmPQNRJb4rM88wcQJKlPih6qrS1whNXH93PJ5oEQR+RBD013F+rlAB0q/HTbEpxHA49ko0Gn88Fk8+FosltmNOX19newLOmnd7/D1wcNvdgYPB0YHBIPyqqqoZ8RPNnZQk4U8Cj45lSRhKJlINiCILrisQyFi5k+4BwBLT097Tmbms4Z5ek8nQa7OZj2Sfj/ySxtrUpoigRCJVD0pqgWPP0Z92zfi+Dfgjh/LXwEnuhgb7o7Sbo9HEdkRIp17PuRYHO4NPJzl3FXRoJKA4jllgWTZIc8Gg8hbGG/FEsoWeKw3K5AX96JYGewvWyzdvzo6q6bRRloVLBlnoNxjEi6LID60HYP8XQAwi5MVwJPpCOBR9OZsvdJWV1jeLi+XToXB074IvfBj0MgLqGZZEfhjHf68GgAfxrNhA1QDQDwADFD2gyMFYNLEjf5HJbPjOUWHp2hAABQLKPpfL25v7znKs31gknQWFfFjIfH931EcQxZFIrBNg7QRAp6wW43HQctutW/NnEVHDJpPciw13BsD6ChYg5I9Wvz/yLiX1kpKir8vKTJ8mEslGtyfQg6j4B8D8LEn8FURHUrcBjACanJq7AFqUciKkyCj9VGEveY9oumAAAk29Oj8f/BjJvD03Z7EYv0SUHNVtcENOs4ZCyutgiv1QhJ3wIVdVXbqXWALipQQuFVYLFvLvDlHUD+fy3aoBujE+MwGlVAv6CiLM+0rMhm+gpH7XbTKDGnSADpshKPrpu3PC/Uc8lmwtBv2VWou/IBa5j9TwNlJDX7nN3A06PZFJDyvdMZ65wOdOp/svUNo2mkPCPOhwWN9p3FJRifB+fzOCk6lToDJz4CyWAOIFEhqkUqEGr92e9n4Pym9eybVYCBX6pLy3IoojierzhT7y+kJH1ZRaQrVBdXXZS0VF4i86ze4hMJJN897QMYDURTUf1VgOh+XASgJhbMw1R0Kqqclhz9RiywGUrQduUAhnd8a58nLTJ4iU3zQIVk5/gaByALnpR6I6RMYeGlar8avllB98PoKy5BHUhFupy7EsxTGMTqWqXpbFSzU1Zc/T0MC5f/pDLunJ5SEw0TEIq8/Gx2ev+wORrju9xDsmycJApt0VXRRfbF7ESG6P//jomMtHvTCoiFh9va21trZsN0WP5u7/bnab+TA2fD81cmdcvlNTU3Pnqd7KXyNLwmBGzWV7iWxW2j01MeG+6vOGuqHvjcR9mjsfvPG8fhwbfk+Fw3KI8gyJAa832L0EIHkRIAqSDJNhwRGPJ3ACuYgnzkMyO6hR2ZrUUqVU3BuN8g88z03m5qmmAostUH+wudlhZZHE9pEsRJF5sq7O9qQGztoY5XfyeT442c5EirrxxG6KkmjT0zsSar2LIn9Nc1thGITCIOjvWUWJPa2nF2E0NLcUDPWVM1kNAG3Qrtdcsn5G+QY1zzYIgnbI6l3U16T3U3l1lE0DaI0BiUTizxF1ITo6AEqbmlKLl9ROPOc0oPaEmhswGqUzGkBraAsL4Q/cbv/JPEGQFCX+ahaQyxhXUNzeXgKY5ra1MxT8500mQx+9SQYYF6GYh1iWCd/rN/8KMACeYeDQt3vCRgAAAABJRU5ErkJggg=="}},"time_used":33,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":33,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/style.css","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.931Z","timestamp":1785129291931,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /style.css HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 04 May 2022 16:05:12 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 38057\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":326439,"size_decoded":38367,"mime_type":"text/css","magic":"ASCII text","md5":"fae864fbb70fe80baf3499fa1b23b4b2","sha1":"8843d46e679b067ade71d9592fccf1daa19fb821","sha256":"c3f778a612620f2b5c82a6e293279b1ea0097e379fc1914304450285a70728bb","sha512":"b430f480774feb5554ae1ae7e14a2d1a140e1b8a098d0f1b25e9a6e9be3c419b75ccdedef73875d8030a50622dec8ca492556585f00c7820c37f639f5431b78d","ssdeep":"6144:+XDp/JnVBDMNzefrYtSdQa8YCHTFVa7/rKcyQzp6Zu9lGrskG0ckDM+z6tqdX:8MNzefrYtSdQa1CHTFVa7/rKcyQzp6ZX","tlshash":"61647324a5b70908650b88686bee6b557774c063840edcf97ecb75408f8f68895f3f8e","first_seen":"2025-09-22T10:43:48.588004Z","last_seen":"2026-07-27T05:48:43.283909Z","times_seen":15,"resource_available":false,"data":"Lm0tdG9wLTAgewogICAgbWFyZ2luLXRvcDogMAp9CgoubS10b3AtNSB7CiAgICBtYXJnaW4tdG9wOiA1cHgKfQoKLm0tdG9wLTEwIHsKICAgIG1hcmdpbi10b3A6IDEwcHgKfQoKLm0tdG9wLTE1IHsKICAgIG1hcmdpbi10b3A6IDE1cHgKfQoKLm0tdG9wLTIwIHsKICAgIG1hcmdpbi10b3A6IDIwcHgKfQoKLm0tdG9wLTI1IHsKICAgIG1hcmdpbi10b3A6IDI1cHgKfQoKLm0tdG9wLTMwIHsKICAgIG1hcmdpbi10b3A6IDMwcHgKfQoKLm0tdG9wLTM1IHsKICAgIG1hcmdpbi10b3A6IDM1cHgKfQoKLm0tdG9wLTQwIHsKICAgIG1hcmdpbi10b3A6IDQwcHgKfQoKLm0tdG9wLTQ1IHsKICAgIG1hcmdpbi10b3A6IDQ1cHgKfQoKLm0tdG9wLTUwIHsKICAgIG1hcmdpbi10b3A6IDUwcHgKfQoKLm0tdG9wLTU1IHsKICAgIG1hcmdpbi10b3A6IDU1cHgKfQoKLm0tdG9wLTYwIHsKICAgIG1hcmdpbi10b3A6IDYwcHgKfQoKLm0tdG9wLTY1IHsKICAgIG1hcmdpbi10b3A6IDY1cHgKfQoKLm0tdG9wLTcwIHsKICAgIG1hcmdpbi10b3A6IDcwcHgKfQoKLm0tdG9wLTc1IHsKICAgIG1hcmdpbi10b3A6IDc1cHgKfQoKLm0tdG9wLTgwIHsKICAgIG1hcmdpbi10b3A6IDgwcHgKfQoKLm0tdG9wLTg1IHsKICAgIG1hcmdpbi10b3A6IDg1cHgKfQoKLm0tdG9wLTkwIHsKICAgIG1hcmdpbi10b3A6IDkwcHgKfQoKLm0tdG9wLTk1IHsKICAgIG1hcmdpbi10b3A6IDk1cHgKfQoKLm0tdG9wLTEwMCB7CiAgICBtYXJnaW4tdG9wOiAxMDBweAp9CgoubS10b3AtMTA1IHsKICAgIG1hcmdpbi10b3A6IDEwNXB4Cn0KCi5tLXRvcC0xMTAgewogICAgbWFyZ2luLXRvcDogMTEwcHgKfQoKLm0tdG9wLTExNSB7CiAgICBtYXJnaW4tdG9wOiAxMTVweAp9CgoubS10b3AtMTIwIHsKICAgIG1hcmdpbi10b3A6IDEyMHB4Cn0KCi5tLXRvcC0xMjUgewogICAgbWFyZ2luLXRvcDogMTI1cHgKfQoKLm0tdG9wLTEzMCB7CiAgICBtYXJnaW4tdG9wOiAxMzBweAp9CgoubS10b3AtMTM1IHsKICAgIG1hcmdpbi10b3A6IDEzNXB4Cn0KCi5tLXRvcC0xNDAgewogICAgbWFyZ2luLXRvcDogMTQwcHgKfQoKLm0tdG9wLTE0NSB7CiAgICBtYXJnaW4tdG9wOiAxNDVweAp9CgoubS10b3AtMTUwIHsKICAgIG1hcmdpbi10b3A6IDE1MHB4Cn0KCi5tLXJpZ2h0LTAgewogICAgbWFyZ2luLXJpZ2h0OiAwCn0KCi5tLXJpZ2h0LTUgewogICAgbWFyZ2luLXJpZ2h0OiA1cHgKfQoKLm0tcmlnaHQtMTAgewogICAgbWFyZ2luLXJpZ2h0OiAxMHB4Cn0KCi5tLXJpZ2h0LTE1IHsKICAgIG1hcmdpbi1yaWdodDogMTVweAp9CgoubS1yaWdodC0yMCB7CiAgICBtYXJnaW4tcmlnaHQ6IDIwcHgKfQoKLm0tcmlnaHQtMjUgewogICAgbWFyZ2luLXJpZ2h0OiAyNXB4Cn0KCi5tLXJpZ2h0LTMwIHsKICAgIG1hcmdpbi1yaWdodDogMzBweAp9CgoubS1yaWdodC0zNSB7CiAgICBtYXJnaW4tcmlnaHQ6IDM1cHgKfQoKLm0tcmlnaHQtNDAgewogICAgbWFyZ2luLXJpZ2h0OiA0MHB4Cn0KCi5tLXJpZ2h0LTQ1IHsKICAgIG1hcmdpbi1yaWdodDogNDVweAp9CgoubS1yaWdodC01MCB7CiAgICBtYXJnaW4tcmlnaHQ6IDUwcHgKfQoKLm0tcmlnaHQtNTUgewogICAgbWFyZ2luLXJpZ2h0OiA1NXB4Cn0KCi5tLXJpZ2h0LTYwIHsKICAgIG1hcmdpbi1yaWdodDogNjBweAp9CgoubS1yaWdodC02NSB7CiAgICBtYXJnaW4tcmlnaHQ6IDY1cHgKfQoKLm0tcmlnaHQtNzAgewogICAgbWFyZ2luLXJpZ2h0OiA3MHB4Cn0KCi5tLXJpZ2h0LTc1IHsKICAgIG1hcmdpbi1yaWdodDogNzVweAp9CgoubS1yaWdodC04MCB7CiAgICBtYXJnaW4tcmlnaHQ6IDgwcHgKfQoKLm0tcmlnaHQtODUgewogICAgbWFyZ2luLXJpZ2h0OiA4NXB4Cn0KCi5tLXJpZ2h0LTkwIHsKICAgIG1hcmdpbi1yaWdodDogOTBweAp9CgoubS1yaWdodC05NSB7CiAgICBtYXJnaW4tcmlnaHQ6IDk1cHgKfQoKLm0tcmlnaHQtMTAwIHsKICAgIG1hcmdpbi1yaWdodDogMTAwcHgKfQoKLm0tcmlnaHQtMTA1IHsKICAgIG1hcmdpbi1yaWdodDogMTA1cHgKfQoKLm0tcmlnaHQtMTEwIHsKICAgIG1hcmdpbi1yaWdodDogMTEwcHgKfQoKLm0tcmlnaHQtMTE1IHsKICAgIG1hcmdpbi1yaWdodDogMTE1cHgKfQoKLm0tcmlnaHQtMTIwIHsKICAgIG1hcmdpbi1yaWdodDogMTIwcHgKfQoKLm0tcmlnaHQtMTI1IHsKICAgIG1hcmdpbi1yaWdodDogMTI1cHgKfQoKLm0tcmlnaHQtMTMwIHsKICAgIG1hcmdpbi1yaWdodDogMTMwcHgKfQoKLm0tcmlnaHQtMTM1IHsKICAgIG1hcmdpbi1yaWdodDogMTM1cHgKfQoKLm0tcmlnaHQtMTQwIHsKICAgIG1hcmdpbi1yaWdodDogMTQwcHgKfQoKLm0tcmlnaHQtMTQ1IHsKICAgIG1hcmdpbi1yaWdodDogMTQ1cHgKfQoKLm0tcmlnaHQtMTUwIHsKICAgIG1hcmdpbi1yaWdodDogMTUwcHgKfQoKLm0tYm90dG9tLTAgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgoubS1ib3R0b20tNSB7CiAgICBtYXJnaW4tYm90dG9tOiA1cHgKfQoKLm0tYm90dG9tLTEwIHsKICAgIG1hcmdpbi1ib3R0b206IDEwcHgKfQoKLm0tYm90dG9tLTE1IHsKICAgIG1hcmdpbi1ib3R0b206IDE1cHgKfQoKLm0tYm90dG9tLTIwIHsKICAgIG1hcmdpbi1ib3R0b206IDIwcHgKfQoKLm0tYm90dG9tLTI1IHsKICAgIG1hcmdpbi1ib3R0b206IDI1cHgKfQoKLm0tYm90dG9tLTMwIHsKICAgIG1hcmdpbi1ib3R0b206IDMwcHgKfQoKLm0tYm90dG9tLTM1IHsKICAgIG1hcmdpbi1ib3R0b206IDM1cHgKfQoKLm0tYm90dG9tLTQwIHsKICAgIG1hcmdpbi1ib3R0b206IDQwcHgKfQoKLm0tYm90dG9tLTQ1IHsKICAgIG1hcmdpbi1ib3R0b206IDQ1cHgKfQoKLm0tYm90dG9tLTUwIHsKICAgIG1hcmdpbi1ib3R0b206IDUwcHgKfQoKLm0tYm90dG9tLTU1IHsKICAgIG1hcmdpbi1ib3R0b206IDU1cHgKfQoKLm0tYm90dG9tLTYwIHsKICAgIG1hcmdpbi1ib3R0b206IDYwcHgKfQoKLm0tYm90dG9tLTY1IHsKICAgIG1hcmdpbi1ib3R0b206IDY1cHgKfQoKLm0tYm90dG9tLTcwIHsKICAgIG1hcmdpbi1ib3R0b206IDcwcHgKfQoKLm0tYm90dG9tLTc1IHsKICAgIG1hcmdpbi1ib3R0b206IDc1cHgKfQoKLm0tYm90dG9tLTgwIHsKICAgIG1hcmdpbi1ib3R0b206IDgwcHgKfQoKLm0tYm90dG9tLTg1IHsKICAgIG1hcmdpbi1ib3R0b206IDg1cHgKfQoKLm0tYm90dG9tLTkwIHsKICAgIG1hcmdpbi1ib3R0b206IDkwcHgKfQoKLm0tYm90dG9tLTk1IHsKICAgIG1hcmdpbi1ib3R0b206IDk1cHgKfQoKLm0tYm90dG9tLTEwMCB7CiAgICBtYXJnaW4tYm90dG9tOiAxMDBweAp9CgoubS1ib3R0b20tMTA1IHsKICAgIG1hcmdpbi1ib3R0b206IDEwNXB4Cn0KCi5tLWJvdHRvbS0xMTAgewogICAgbWFyZ2luLWJvdHRvbTogMTEwcHgKfQoKLm0tYm90dG9tLTExNSB7CiAgICBtYXJnaW4tYm90dG9tOiAxMTVweAp9CgoubS1ib3R0b20tMTIwIHsKICAgIG1hcmdpbi1ib3R0b206IDEyMHB4Cn0KCi5tLWJvdHRvbS0xMjUgewogICAgbWFyZ2luLWJvdHRvbTogMTI1cHgKfQoKLm0tYm90dG9tLTEzMCB7CiAgICBtYXJnaW4tYm90dG9tOiAxMzBweAp9CgoubS1ib3R0b20tMTM1IHsKICAgIG1hcmdpbi1ib3R0b206IDEzNXB4Cn0KCi5tLWJvdHRvbS0xNDAgewogICAgbWFyZ2luLWJvdHRvbTogMTQwcHgKfQoKLm0tYm90dG9tLTE0NSB7CiAgICBtYXJnaW4tYm90dG9tOiAxNDVweAp9CgoubS1ib3R0b20tMTUwIHsKICAgIG1hcmdpbi1ib3R0b206IDE1MHB4Cn0KCi5tLWxlZnQtMCB7CiAgICBtYXJnaW4tbGVmdDogMAp9CgoubS1sZWZ0LTUgewogICAgbWFyZ2luLWxlZnQ6IDVweAp9CgoubS1sZWZ0LTEwIHsKICAgIG1hcmdpbi1sZWZ0OiAxMHB4Cn0KCi5tLWxlZnQtMTUgewogICAgbWFyZ2luLWxlZnQ6IDE1cHgKfQoKLm0tbGVmdC0yMCB7CiAgICBtYXJnaW4tbGVmdDogMjBweAp9CgoubS1sZWZ0LTI1IHsKICAgIG1hcmdpbi1sZWZ0OiAyNXB4Cn0KCi5tLWxlZnQtMzAgewogICAgbWFyZ2luLWxlZnQ6IDMwcHgKfQoKLm0tbGVmdC0zNSB7CiAgICBtYXJnaW4tbGVmdDogMzVweAp9CgoubS1sZWZ0LTQwIHsKICAgIG1hcmdpbi1sZWZ0OiA0MHB4Cn0KCi5tLWxlZnQtNDUgewogICAgbWFyZ2luLWxlZnQ6IDQ1cHgKfQoKLm0tbGVmdC01MCB7CiAgICBtYXJnaW4tbGVmdDogNTBweAp9CgoubS1sZWZ0LTU1IHsKICAgIG1hcmdpbi1sZWZ0OiA1NXB4Cn0KCi5tLWxlZnQtNjAgewogICAgbWFyZ2luLWxlZnQ6IDYwcHgKfQoKLm0tbGVmdC02NSB7CiAgICBtYXJnaW4tbGVmdDogNjVweAp9CgoubS1sZWZ0LTcwIHsKICAgIG1hcmdpbi1sZWZ0OiA3MHB4Cn0KCi5tLWxlZnQtNzUgewogICAgbWFyZ2luLWxlZnQ6IDc1cHgKfQoKLm0tbGVmdC04MCB7CiAgICBtYXJnaW4tbGVmdDogODBweAp9CgoubS1sZWZ0LTg1IHsKICAgIG1hcmdpbi1sZWZ0OiA4NXB4Cn0KCi5tLWxlZnQtOTAgewogICAgbWFyZ2luLWxlZnQ6IDkwcHgKfQoKLm0tbGVmdC05NSB7CiAgICBtYXJnaW4tbGVmdDogOTVweAp9CgoubS1sZWZ0LTEwMCB7CiAgICBtYXJnaW4tbGVmdDogMTAwcHgKfQoKLm0tbGVmdC0xMDUgewogICAgbWFyZ2luLWxlZnQ6IDEwNXB4Cn0KCi5tLWxlZnQtMTEwIHsKICAgIG1hcmdpbi1sZWZ0OiAxMTBweAp9CgoubS1sZWZ0LTExNSB7CiAgICBtYXJnaW4tbGVmdDogMTE1cHgKfQoKLm0tbGVmdC0xMjAgewogICAgbWFyZ2luLWxlZnQ6IDEyMHB4Cn0KCi5tLWxlZnQtMTI1IHsKICAgIG1hcmdpbi1sZWZ0OiAxMjVweAp9CgoubS1sZWZ0LTEzMCB7CiAgICBtYXJnaW4tbGVmdDogMTMwcHgKfQoKLm0tbGVmdC0xMzUgewogICAgbWFyZ2luLWxlZnQ6IDEzNXB4Cn0KCi5tLWxlZnQtMTQwIHsKICAgIG1hcmdpbi1sZWZ0OiAxNDBweAp9CgoubS1sZWZ0LTE0NSB7CiAgICBtYXJnaW4tbGVmdDogMTQ1cHgKfQoKLm0tbGVmdC0xNTAgewogICAgbWFyZ2luLWxlZnQ6IDE1MHB4Cn0KCi5wLWxlZnQtMCB7CiAgICBwYWRkaW5nLWxlZnQ6IDAKfQoKLnAtbGVmdC01IHsKICAgIHBhZGRpbmctbGVmdDogNXB4Cn0KCi5wLWxlZnQtMTAgewogICAgcGFkZGluZy1sZWZ0OiAxMHB4Cn0KCi5wLWxlZnQtMTUgewogICAgcGFkZGluZy1sZWZ0OiAxNXB4Cn0KCi5wLWxlZnQtMjAgewogICAgcGFkZGluZy1sZWZ0OiAyMHB4Cn0KCi5wLWxlZnQtMjUgewogICAgcGFkZGluZy1sZWZ0OiAyNXB4Cn0KCi5wLWxlZnQtMzAgewogICAgcGFkZGluZy1sZWZ0OiAzMHB4Cn0KCi5wLWxlZnQtMzUgewogICAgcGFkZGluZy1sZWZ0OiAzNXB4Cn0KCi5wLWxlZnQtNDAgewogICAgcGFkZGluZy1sZWZ0OiA0MHB4Cn0KCi5wLWxlZnQtNDUgewogICAgcGFkZGluZy1sZWZ0OiA0NXB4Cn0KCi5wLWxlZnQtNTAgewogICAgcGFkZGluZy1sZWZ0OiA1MHB4Cn0KCi5wLWxlZnQtNTUgewogICAgcGFkZGluZy1sZWZ0OiA1NXB4Cn0KCi5wLWxlZnQtNjAgewogICAgcGFkZGluZy1sZWZ0OiA2MHB4Cn0KCi5wLWxlZnQtNjUgewogICAgcGFkZGluZy1sZWZ0OiA2NXB4Cn0KCi5wLWxlZnQtNzAgewogICAgcGFkZGluZy1sZWZ0OiA3MHB4Cn0KCi5wLWxlZnQtNzUgewogICAgcGFkZGluZy1sZWZ0OiA3NXB4Cn0KCi5wLWxlZnQtODAgewogICAgcGFkZGluZy1sZWZ0OiA4MHB4Cn0KCi5wLWxlZnQtODUgewogICAgcGFkZGluZy1sZWZ0OiA4NXB4Cn0KCi5wLWxlZnQtOTAgewogICAgcGFkZGluZy1sZWZ0OiA5MHB4Cn0KCi5wLWxlZnQtOTUgewogICAgcGFkZGluZy1sZWZ0OiA5NXB4Cn0KCi5wLWxlZnQtMTAwIHsKICAgIHBhZGRpbmctbGVmdDogMTAwcHgKfQoKLnAtbGVmdC0xMDUgewogICAgcGFkZGluZy1sZWZ0OiAxMDVweAp9CgoucC1sZWZ0LTExMCB7CiAgICBwYWRkaW5nLWxlZnQ6IDExMHB4Cn0KCi5wLWxlZnQtMTE1IHsKICAgIHBhZGRpbmctbGVmdDogMTE1cHgKfQoKLnAtbGVmdC0xMjAgewogICAgcGFkZGluZy1sZWZ0OiAxMjBweAp9CgoucC1sZWZ0LTEyNSB7CiAgICBwYWRkaW5nLWxlZnQ6IDEyNXB4Cn0KCi5wLWxlZnQtMTMwIHsKICAgIHBhZGRpbmctbGVmdDogMTMwcHgKfQoKLnAtbGVmdC0xMzUgewogICAgcGFkZGluZy1sZWZ0OiAxMzVweAp9CgoucC1sZWZ0LTE0MCB7CiAgICBwYWRkaW5nLWxlZnQ6IDE0MHB4Cn0KCi5wLWxlZnQtMTQ1IHsKICAgIHBhZGRpbmctbGVmdDogMTQ1cHgKfQoKLnAtbGVmdC0xNTAgewogICAgcGFkZGluZy1sZWZ0OiAxNTBweAp9CgoucC1yaWdodC0wIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAKfQoKLnAtcmlnaHQtNSB7CiAgICBwYWRkaW5nLXJpZ2h0OiA1cHgKfQoKLnAtcmlnaHQtMTAgewogICAgcGFkZGluZy1yaWdodDogMTBweAp9CgoucC1yaWdodC0xNSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Cn0KCi5wLXJpZ2h0LTIwIHsKICAgIHBhZGRpbmctcmlnaHQ6IDIwcHgKfQoKLnAtcmlnaHQtMjUgewogICAgcGFkZGluZy1yaWdodDogMjVweAp9CgoucC1yaWdodC0zMCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4Cn0KCi5wLXJpZ2h0LTM1IHsKICAgIHBhZGRpbmctcmlnaHQ6IDM1cHgKfQoKLnAtcmlnaHQtNDAgewogICAgcGFkZGluZy1yaWdodDogNDBweAp9CgoucC1yaWdodC00NSB7CiAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4Cn0KCi5wLXJpZ2h0LTUwIHsKICAgIHBhZGRpbmctcmlnaHQ6IDUwcHgKfQoKLnAtcmlnaHQtNTUgewogICAgcGFkZGluZy1yaWdodDogNTVweAp9CgoucC1yaWdodC02MCB7CiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4Cn0KCi5wLXJpZ2h0LTY1IHsKICAgIHBhZGRpbmctcmlnaHQ6IDY1cHgKfQoKLnAtcmlnaHQtNzAgewogICAgcGFkZGluZy1yaWdodDogNzBweAp9CgoucC1yaWdodC03NSB7CiAgICBwYWRkaW5nLXJpZ2h0OiA3NXB4Cn0KCi5wLXJpZ2h0LTgwIHsKICAgIHBhZGRpbmctcmlnaHQ6IDgwcHgKfQoKLnAtcmlnaHQtODUgewogICAgcGFkZGluZy1yaWdodDogODVweAp9CgoucC1yaWdodC05MCB7CiAgICBwYWRkaW5nLXJpZ2h0OiA5MHB4Cn0KCi5wLXJpZ2h0LTk1IHsKICAgIHBhZGRpbmctcmlnaHQ6IDk1cHgKfQoKLnAtcmlnaHQtMTAwIHsKICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4Cn0KCi5wLXJpZ2h0LTEwNSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxMDVweAp9CgoucC1yaWdodC0xMTAgewogICAgcGFkZGluZy1yaWdodDogMTEwcHgKfQoKLnAtcmlnaHQtMTE1IHsKICAgIHBhZGRpbmctcmlnaHQ6IDExNXB4Cn0KCi5wLXJpZ2h0LTEyMCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweAp9CgoucC1yaWdodC0xMjUgewogICAgcGFkZGluZy1yaWdodDogMTI1cHgKfQoKLnAtcmlnaHQtMTMwIHsKICAgIHBhZGRpbmctcmlnaHQ6IDEzMHB4Cn0KCi5wLXJpZ2h0LTEzNSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxMzVweAp9CgoucC1yaWdodC0xNDAgewogICAgcGFkZGluZy1yaWdodDogMTQwcHgKfQoKLnAtcmlnaHQtMTQ1IHsKICAgIHBhZGRpbmctcmlnaHQ6IDE0NXB4Cn0KCi5wLXJpZ2h0LTE1MCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxNTBweAp9CgoucC10b3AtMCB7CiAgICBwYWRkaW5nLXRvcDogMAp9CgoucC10b3AtNSB7CiAgICBwYWRkaW5nLXRvcDogNXB4Cn0KCi5wLXRvcC0xMCB7CiAgICBwYWRkaW5nLXRvcDogMTBweAp9CgoucC10b3AtMTUgewogICAgcGFkZGluZy10b3A6IDE1cHgKfQoKLnAtdG9wLTIwIHsKICAgIHBhZGRpbmctdG9wOiAyMHB4Cn0KCi5wLXRvcC0yNSB7CiAgICBwYWRkaW5nLXRvcDogMjVweAp9CgoucC10b3AtMzAgewogICAgcGFkZGluZy10b3A6IDMwcHgKfQoKLnAtdG9wLTM1IHsKICAgIHBhZGRpbmctdG9wOiAzNXB4Cn0KCi5wLXRvcC00MCB7CiAgICBwYWRkaW5nLXRvcDogNDBweAp9CgoucC10b3AtNDUgewogICAgcGFkZGluZy10b3A6IDQ1cHgKfQoKLnAtdG9wLTUwIHsKICAgIHBhZGRpbmctdG9wOiA1MHB4Cn0KCi5wLXRvcC01NSB7CiAgICBwYWRkaW5nLXRvcDogNTVweAp9CgoucC10b3AtNjAgewogICAgcGFkZGluZy10b3A6IDYwcHgKfQoKLnAtdG9wLTY1IHsKICAgIHBhZGRpbmctdG9wOiA2NXB4Cn0KCi5wLXRvcC03MCB7CiAgICBwYWRkaW5nLXRvcDogNzBweAp9CgoucC10b3AtNzUgewogICAgcGFkZGluZy10b3A6IDc1cHgKfQoKLnAtdG9wLTgwIHsKICAgIHBhZGRpbmctdG9wOiA4MHB4Cn0KCi5wLXRvcC04NSB7CiAgICBwYWRkaW5nLXRvcDogODVweAp9CgoucC10b3AtOTAgewogICAgcGFkZGluZy10b3A6IDkwcHgKfQoKLnAtdG9wLTk1IHsKICAgIHBhZGRpbmctdG9wOiA5NXB4Cn0KCi5wLXRvcC0xMDAgewogICAgcGFkZGluZy10b3A6IDEwMHB4Cn0KCi5wLXRvcC0xMDUgewogICAgcGFkZGluZy10b3A6IDEwNXB4Cn0KCi5wLXRvcC0xMTAgewogICAgcGFkZGluZy10b3A6IDExMHB4Cn0KCi5wLXRvcC0xMTUgewogICAgcGFkZGluZy10b3A6IDExNXB4Cn0KCi5wLXRvcC0xMjAgewogICAgcGFkZGluZy10b3A6IDEyMHB4Cn0KCi5wLXRvcC0xMjUgewogICAgcGFkZGluZy10b3A6IDEyNXB4Cn0KCi5wLXRvcC0xMzAgewogICAgcGFkZGluZy10b3A6IDEzMHB4Cn0KCi5wLXRvcC0xMzUgewogICAgcGFkZGluZy10b3A6IDEzNXB4Cn0KCi5wLXRvcC0xNDAgewogICAgcGFkZGluZy10b3A6IDE0MHB4Cn0KCi5wLXRvcC0xNDUgewogICAgcGFkZGluZy10b3A6IDE0NXB4Cn0KCi5wLXRvcC0xNTAgewogICAgcGFkZGluZy10b3A6IDE1MHB4Cn0KCi5wLWJvdHRvbS0wIHsKICAgIHBhZGRpbmctYm90dG9tOiAwCn0KCi5wLWJvdHRvbS01IHsKICAgIHBhZGRpbmctYm90dG9tOiA1cHgKfQoKLnAtYm90dG9tLTEwIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMHB4Cn0KCi5wLWJvdHRvbS0xNSB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTVweAp9CgoucC1ib3R0b20tMjAgewogICAgcGFkZGluZy1ib3R0b206IDIwcHgKfQoKLnAtYm90dG9tLTI1IHsKICAgIHBhZGRpbmctYm90dG9tOiAyNXB4Cn0KCi5wLWJvdHRvbS0zMCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMzBweAp9CgoucC1ib3R0b20tMzUgewogICAgcGFkZGluZy1ib3R0b206IDM1cHgKfQoKLnAtYm90dG9tLTQwIHsKICAgIHBhZGRpbmctYm90dG9tOiA0MHB4Cn0KCi5wLWJvdHRvbS00NSB7CiAgICBwYWRkaW5nLWJvdHRvbTogNDVweAp9CgoucC1ib3R0b20tNTAgewogICAgcGFkZGluZy1ib3R0b206IDUwcHgKfQoKLnAtYm90dG9tLTU1IHsKICAgIHBhZGRpbmctYm90dG9tOiA1NXB4Cn0KCi5wLWJvdHRvbS02MCB7CiAgICBwYWRkaW5nLWJvdHRvbTogNjBweAp9CgoucC1ib3R0b20tNjUgewogICAgcGFkZGluZy1ib3R0b206IDY1cHgKfQoKLnAtYm90dG9tLTcwIHsKICAgIHBhZGRpbmctYm90dG9tOiA3MHB4Cn0KCi5wLWJvdHRvbS03NSB7CiAgICBwYWRkaW5nLWJvdHRvbTogNzVweAp9CgoucC1ib3R0b20tODAgewogICAgcGFkZGluZy1ib3R0b206IDgwcHgKfQoKLnAtYm90dG9tLTg1IHsKICAgIHBhZGRpbmctYm90dG9tOiA4NXB4Cn0KCi5wLWJvdHRvbS05MCB7CiAgICBwYWRkaW5nLWJvdHRvbTogOTBweAp9CgoucC1ib3R0b20tOTUgewogICAgcGFkZGluZy1ib3R0b206IDk1cHgKfQoKLnAtYm90dG9tLTEwMCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHgKfQoKLnAtYm90dG9tLTEwNSB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTA1cHgKfQoKLnAtYm90dG9tLTExMCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTEwcHgKfQoKLnAtYm90dG9tLTExNSB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTE1cHgKfQoKLnAtYm90dG9tLTEyMCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHgKfQoKLnAtYm90dG9tLTEyNSB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTI1cHgKfQoKLnAtYm90dG9tLTEzMCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTMwcHgKfQoKLnAtYm90dG9tLTEzNSB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTM1cHgKfQoKLnAtYm90dG9tLTE0MCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTQwcHgKfQoKLnAtYm90dG9tLTE0NSB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTQ1cHgKfQoKLnAtYm90dG9tLTE1MCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTUwcHgKfQoKLmgtNSB7CiAgICBoZWlnaHQ6IDVweAp9CgouaC0xMCB7CiAgICBoZWlnaHQ6IDEwcHgKfQoKLmgtMTUgewogICAgaGVpZ2h0OiAxNXB4Cn0KCi5oLTIwIHsKICAgIGhlaWdodDogMjBweAp9CgouaC0yNSB7CiAgICBoZWlnaHQ6IDI1cHgKfQoKLmgtMzAgewogICAgaGVpZ2h0OiAzMHB4Cn0KCi5oLTM1IHsKICAgIGhlaWdodDogMzVweAp9CgouaC00MCB7CiAgICBoZWlnaHQ6IDQwcHgKfQoKLmgtNDUgewogICAgaGVpZ2h0OiA0NXB4Cn0KCi5oLTUwIHsKICAgIGhlaWdodDogNTBweAp9CgouaC01NSB7CiAgICBoZWlnaHQ6IDU1cHgKfQoKLmgtNjAgewogICAgaGVpZ2h0OiA2MHB4Cn0KCi5oLTY1IHsKICAgIGhlaWdodDogNjVweAp9CgouaC03MCB7CiAgICBoZWlnaHQ6IDcwcHgKfQoKLmgtNzUgewogICAgaGVpZ2h0OiA3NXB4Cn0KCi5oLTgwIHsKICAgIGhlaWdodDogODBweAp9CgouaC04NSB7CiAgICBoZWlnaHQ6IDg1cHgKfQoKLmgtOTAgewogICAgaGVpZ2h0OiA5MHB4Cn0KCi5oLTk1IHsKICAgIGhlaWdodDogOTVweAp9CgouaC0xMDAgewogICAgaGVpZ2h0OiAxMDBweAp9CgouaC0xMDUgewogICAgaGVpZ2h0OiAxMDVweAp9CgouaC0xMTAgewogICAgaGVpZ2h0OiAxMTBweAp9CgouaC0xMTUgewogICAgaGVpZ2h0OiAxMTVweAp9CgouaC0xMjAgewogICAgaGVpZ2h0OiAxMjBweAp9CgouaC0xMjUgewogICAgaGVpZ2h0OiAxMjVweAp9CgouaC0xMzAgewogICAgaGVpZ2h0OiAxMzBweAp9CgouaC0xMzUgewogICAgaGVpZ2h0OiAxMzVweAp9CgouaC0xNDAgewogICAgaGVpZ2h0OiAxNDBweAp9CgouaC0xNDUgewogICAgaGVpZ2h0OiAxNDVweAp9CgouaC0xNTAgewogICAgaGVpZ2h0OiAxNTBweAp9CgouY2FydC10YWJsZSAuY2FydC1zaW5nbGUgLnJlbW92ZSBhLAouY29sb3ItcHJpbWFyeSwKLmNvdW50ZXIuY291bnRlci0tNCAuY291bnRlcl9zaW5nbGUgLnZhbHVlLAouZXJyb3Itd3JhcHBlciAuZXJyb3ItY29udGVudHMgcCBhOmhvdmVyLAoubmF2X3JpZ2h0X2NvbnRlbnQgLmNhcnRfbW9kdWxlIC5jYXJ0X19pdGVtcyAuY2FydF9pbmZvIHAgc3BhbiwKLm5hdl9yaWdodF9jb250ZW50IC5jYXJ0X21vZHVsZSAuY2FydF9faXRlbXMgLml0ZW1zIC5pdGVtX2luZm8+YTpob3ZlciwKLm5hdl9yaWdodF9jb250ZW50IC5jYXJ0X21vZHVsZSAuY2FydF9faXRlbXMgLml0ZW1zIC5pdGVtX3JlbW92ZSBzcGFuLAoucG9zdC0tY2FyZCAuY2FyZC1ib2R5IC5wb3N0LW1ldGEgbGkgYTpob3ZlciwKLnByaWNpbmcgLnByaWNpbmdfX3RpdGxlIGg0LAoudGFiLWNvbnRlbnQudGFiLS1jb250ZW50MiAudGFiLXBhbmUgLnRhYl90ZXh0X21vZHVsZSAudGFiX3RleHRfbW9kdWxlX19zdWJ0aXRsZSwKLnRhYi50YWItLTggLnRhYl9uYXY3IC5uYXYgLm5hdi1pdGVtIC5uYXYtbGluay5hY3RpdmUsCi50ZWFtLWZpdmUgLmNvbnRlbnQgaDYgYTpob3ZlciwKLnRpbWVsaW5lMSAuaGFwcGVuaW5nIC5oYXBwZW5pbmdfX3BlcmlvZCAud3JhcHBlciAueWVhciwKZm9vdGVyLmZvb3Rlci0tbGlnaHQgLndpZGdldCB1bC5saW5rcyBsaSBhOmhvdmVyLApmb290ZXIuZm9vdGVyNCAuZm9vdGVyX19zbWFsbCAuaW5mb19saW5rcyBsaSBhOmhvdmVyLApmb290ZXIuZm9vdGVyNC5mb290ZXItLWxpZ2h0IC5mb290ZXJfX3NtYWxsIC5pbmZvX2xpbmtzIGxpIGE6aG92ZXIsCmZvb3Rlci5mb290ZXI0LmZvb3Rlci0tbGlnaHQgLmZvb3Rlcl9tZW51X2l0ZW1zIHVsIGxpIGE6aG92ZXIgewogICAgY29sb3I6ICMwNzRhNTUKfQoKLmJnLXByaW1hcnksCi5kb3QtbGlnaHQgLm93bC1kb3QuYWN0aXZlIHNwYW4sCi5maWx0ZXItd3JhcHBlciAuZmlsdGVyLXNvcnQgdWwgbGkuYWN0aXZlLAouZmlsdGVyLXdyYXBwZXIgLmZpbHRlci1zb3J0IHVsIGxpOmhvdmVyLAouZmxpcC1jYXJkIC5mbGlwLW92ZXJsYXkyLAouZ29fdG9wLAouaW50cm8tdGhyZWU6YmVmb3JlLAouaW50cm8tdHdvLAoubmF2LWNpcmNsZSBidXR0b246aG92ZXIsCi5uYXYtY2lyY2xlLm5hdi1jaXJjbGUtLWxpZ2h0IGJ1dHRvbjpob3ZlciwKLm5hdi1jaXJjbGUubmF2LWNpcmNsZS0tbGlnaHRlbiBidXR0b246aG92ZXIsCi5uYXYtcGlsbHMgLm5hdi1pdGVtIC5uYXYtbGluay5hY3RpdmUsCi5uYXYtcGlsbHMgLm5hdi1pdGVtIC5uYXYtbGluazpob3ZlciwKLm5hdi1zcXVhcmUgYnV0dG9uOmhvdmVyLAoubmF2LXNxdWFyZS5uYXYtc3F1YXJlLWRhcmsgYnV0dG9uOmhvdmVyLAoubmF2X3JpZ2h0X2NvbnRlbnQgLmNhcnRfbW9kdWxlIC5jYXJ0X19pdGVtcyAuaXRlbXMgLml0ZW1fcmVtb3ZlOmhvdmVyIHNwYW4sCi5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUgc3BhbiwKLnBsYXktYnRuOmhvdmVyLAoucG9ydGZvbGlvLWNhcm91c2VsLXNpbmdsZSBmaWd1cmUgZmlnY2FwdGlvbiAubGluazpob3ZlciwKZm9vdGVyLmZvb3RlcjQgLnNvY2lhbC5zcXVhcmUgdWwgbGkgYTpob3ZlciwKZm9vdGVyLmZvb3RlcjQuZm9vdGVyLS1jb2xvcmVkIHsKICAgIGJhY2tncm91bmQ6ICMwNzRhNTUKfQoKLmJsb2ctY2Fyb3VzZWwtb25lIC5wb3N0LXNpbmdsZSAucG9zdC1ib3R0b20gYTpob3ZlciwKLmNhcmQgLmNhcmQtYm9keSBoNiBhOmhvdmVyLAouY2FyZC1mb3VyIC5jYXJkLWJvZHkgaDU6aG92ZXIgYSwKLmNhcmQtcHJvZHVjdCAuY2FyZC1ib2R5IGg2IGE6aG92ZXIsCi5jb2xvci1zZWNvbmRhcnksCi5jb250ZW50LS1ibG9jazQgaDMgc3BhbiwKLmNvbnRlbnQtYmxvY2stLTEyIC5oaWdobGlnaHRlZC10ZXh0IC5jb250ZW50IHAgc3BhbiwKLmNvdW50ZXIuY291bnRlci0tNSAuY291bnRlcl9zaW5nbGUgLnZhbHVlLAouY291bnRlci5jb3VudGVyLS03IC5jb3VudGVyX3NpbmdsZSAudmFsdWUsCi5jdGEtLWZpdmUgcCBzcGFuLAouZXJyb3Itd3JhcHBlciAuZXJyb3ItY29udGVudHMgcCBhLAouaWNvbi1saXN0MiAuaWNvbiwKLmludHJvLWZpdmUgaDEgc3BhbiwKLmludHJvLWZvdXIgLmludHJvLWZvdXItLWNvbnRlbnRzIGgxIHNwYW4sCi5pbnRyby1vbmUgaDEgc3BhbiwKLmludHJvLXRocmVlIC5pbnRyby10aHJlZS0tY29udGVudHMgaDEgc3BhbiwKLmxpc3QtaW5saW5lLXdyYXBwZXIgLmxpc3QtLWlubGluZSBsaSAuaWNvbiBzcGFuLAoubmF2LXRhYnMgLm5hdi1pdGVtIC5uYXYtbGluay5hY3RpdmUsCi5udW1iZXItbGlzdCBsaS5udW1iZXJzLXJvbWFuOmJlZm9yZSwKLm51bWJlci1saXN0IGxpOmJlZm9yZSwKLnBvc3QtLWNhcmQgLmNhcmQtYm9keSAucG9zdC1tZXRhIGxpIGEsCi5wcm9qZWN0LXNpbmdsZSAucHJvamVjdC1pbmZvIC5pbmZvLWJveCBoNiwKLnN1YnRleHQsCi50YWIudGFiLS0xIC50YWJfbmF2IC5uYXYgLm5hdi1saW5rLmFjdGl2ZSwKLnRhYi50YWItLTIgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5uYXYtbGluay5hY3RpdmUsCi50YWIudGFiLS0yIC50YWJfbmF2MiAubmF2IC5uYXYtaXRlbSAubmF2LWxpbms6aG92ZXIsCi50YWIudGFiLS0zIC50YWJfbmF2MyAubmF2IGxpIGEuYWN0aXZlLAoudGFiLnRhYi0tNiAudGFiX25hdjIgLm5hdiAubmF2LWl0ZW0gLm5hdi1saW5rLmFjdGl2ZSwKLnRhYi50YWItLTYgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5uYXYtbGluazpob3ZlciwKLnRhYi50YWItLTcgLnRhYl9uYXY3IC5uYXYgLm5hdi1pdGVtIC5uYXYtbGluay5hY3RpdmUsCi50YWIudGFiLS04IC50YWJfbmF2NyAubmF2IC5uYXYtaXRlbSAubmF2LWxpbmsuYWN0aXZlLAoudGFiX2V2ZW50IC50YWJfZXZlbnRfX21vZHVsZSAuZXZlbnRfbWV0YSBwIHNwYW4ubGEsCi50ZWFtLWZpdmUgLmNvbnRlbnQgaDYgYSwKLnRpbWVsaW5lMSAuaGFwcGVuaW5nIC5oYXBwZW5pbmdfX3BlcmlvZCAud3JhcHBlciAuZGF0ZSwKLnRpbWVsaW5lMiAuaGFwcGVuaW5nMiAuaGFwcGVuaW5nMl9fcGVyaW9kLAoudmlkZW8tLW9uZSBoMyBzcGFuLApmb290ZXIgLmZvb3Rlcl9fYmlnIC53aWRnZXQtLWxhdGVzdC1uZXdzIHVsIGxpIGE6aG92ZXIsCmZvb3Rlci5mb290ZXItLWRhcmsgLmZvb3Rlcl9fYmlnIC50ZXh0X3dpZGdldCBhLApmb290ZXIuZm9vdGVyMiAud2lkZ2V0LnR3aXQtLXdpZGdldCBhLApmb290ZXIuZm9vdGVyMiAud2lkZ2V0LnR3aXQtLXdpZGdldCBzcGFuLmZhYiwKZm9vdGVyLmZvb3RlcjQuZm9vdGVyLS1saWdodCAuZm9vdGVyX21lbnVfaXRlbXMgdWwgbGkgYSB7CiAgICBjb2xvcjogIzA2YjU5MAp9CgouYmctc2Vjb25kYXJ5LAouYnVsbGV0X2xpc3Q6YmVmb3JlLAouY2FyZC0tdGVhbTEgLmNhcmQtYm9keSAudGVhbS1zb2NpYWwgbGkgYTpob3ZlciwKLmN1c3RvbS1yYWRpby10aHJlZSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyLAouY3VzdG9tLXJhZGlvLXR3byAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyLAouZG90LXNlY29uZGFyeS5kb3QtbGlnaHQgLm93bC1kb3QuYWN0aXZlIHNwYW4sCi5ldmVudC1zaW5nbGUgLmV2ZW50LWRhdGUsCi5nb190b3A6aG92ZXIsCi5pY29uLWxpZ2h0IC5jb250ZW50LWxpc3QgLmljb24tY2lyY2xlIHNwYW4sCi5uYXYtY2lyY2xlIGJ1dHRvbiwKLm5hdi1zcXVhcmUubmF2LXNxdWFyZS1kYXJrIGJ1dHRvbiwKLm5hdl9yaWdodF9jb250ZW50IC5jYXJ0X21vZHVsZSAuY2FydF9jb3VudCwKLm93bC1kb3RzLmRvdC1zZWNvbmRhcnkgLm93bC1kb3QuYWN0aXZlIHNwYW4sCi5wb3J0Zm9saW8tY2Fyb3VzZWwtc2luZ2xlIGZpZ3VyZSBmaWdjYXB0aW9uIC5saW5rLAoucHJpY2luZyAucHJpY2luZ19fcHJpY2UsCi50YWIudGFiLS0yIC50YWJfbmF2MiAubmF2IC5uYXYtaXRlbSAubmF2LWxpbmsuYWN0aXZlOmJlZm9yZSwKLnRhYi50YWItLTIgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5uYXYtbGluazpob3ZlcjpiZWZvcmUsCi50YWIudGFiLS02IC50YWJfbmF2MiAubmF2IC5uYXYtaXRlbSAubmF2LWxpbmsuYWN0aXZlOmJlZm9yZSwKLnRhYi50YWItLTYgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5uYXYtbGluazpob3ZlcjpiZWZvcmUsCi50YWIudGFiLS03IC50YWJfbmF2NyAubmF2IC5uYXYtaXRlbSAubmF2LWxpbmsuYWN0aXZlOmJlZm9yZSwKLnRhYi50YWItLTggLnRhYl9uYXY3IC5uYXYgLm5hdi1pdGVtIC5uYXYtbGluay5hY3RpdmU6YmVmb3JlLAoudG9nZ2xlLXN3aXRjaCBpbnB1dDpjaGVja2VkKy5zbGlkZXIsCmZvb3Rlci5mb290ZXI0LmZvb3Rlci0tY29sb3JlZCAuZm9vdGVyLS1zbWFsbCwKZm9vdGVyLmZvb3RlcjQuZm9vdGVyLS1saWdodCAuZm9vdGVyX19zbWFsbCAuc29jaWFsLnNxdWFyZSBsaSBhOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICMwNmI1OTAKfQoKLmNvbG9yLXN1Y2Nlc3MgewogICAgY29sb3I6ICMzNWI1M2UKfQoKLmJnLXN1Y2Nlc3MgewogICAgYmFja2dyb3VuZDogIzM1YjUzZQp9CgouYXBwbHktZm9ybSAuYXBwbHktZm9ybS0taGVhZGVyIHAgc3BhbiwKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtcGFnaW5hdGlvbiAubmV4dC1wb3N0IHAgYSwKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtcGFnaW5hdGlvbiAucHJldi1wb3N0IHAgYSwKLmNvbG9yLWluZm8sCi5zaWRlYmFyLXBvc3QgLnBvc3Qtc2luZ2xlIFAgc3BhbiBhIHsKICAgIGNvbG9yOiAjMzc3ZGZmCn0KCi5iZy1pbmZvIHsKICAgIGJhY2tncm91bmQ6ICMzNzdkZmYKfQoKLmNvbG9yLXdhcm5pbmcsCi50d2l0dGVyLWZlZWRzIC5mZWVkLXNpbmdsZSAuZmVlZC1jb250ZW50IC50YWdzIHsKICAgIGNvbG9yOiAjZmZhZjAwCn0KCi5iZy13YXJuaW5nIHsKICAgIGJhY2tncm91bmQ6ICNmZmFmMDAKfQoKLmNvbG9yLWRhbmdlciB7CiAgICBjb2xvcjogI2UyMzYzNgp9CgouYmctZGFuZ2VyIHsKICAgIGJhY2tncm91bmQ6ICNlMjM2MzYKfQoKLmNvbG9yLWxpZ2h0LAoubmF2X3JpZ2h0X2NvbnRlbnQgLmNhcnRfbW9kdWxlIC5jYXJ0X19pdGVtcyAuaXRlbXMgLml0ZW1fcmVtb3ZlOmhvdmVyIHNwYW4sCmZvb3RlciAuZm9vdGVyX19iaWcgLndpZGdldC0tY29udGFjdF9pbmZvIHVsIGxpIHNwYW4ubGEsCmZvb3Rlci5mb290ZXItLWRhcmsgLmZvb3Rlcl9fYmlnIC50ZXh0X3dpZGdldCBhOmhvdmVyLApmb290ZXIuZm9vdGVyMi5mb290ZXItLWRhcmsgLndpZGdldC50d2l0LS13aWRnZXQgYTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZgp9CgouYmctbGlnaHQsCi5ldmVudC1zaW5nbGUgewogICAgYmFja2dyb3VuZDogI2ZmZgp9CgouYmxvZy1jYXJvdXNlbC1vbmUgLnBvc3Qtc2luZ2xlIC5wb3N0LWJvdHRvbSBhLAouY2FyZCAuY2FyZC1ib2R5IGg2IGEsCi5jYXJkLS1laWdodCAuY2FyZC1ib2R5IGg1IGEsCi5jYXJkLS10ZW4gLmNhcmQtYm9keSBoNiBhLAouY29sb3ItZGFyaywKLmNvdW50ZXIuY291bnRlci0tNSAuY291bnRlcl9zaW5nbGUgLnRpdGxlLAoudGFiLnRhYi0tMSAudGFiX25hdiAubmF2IC5uYXYtbGluaywKZm9vdGVyLmZvb3RlcjIgLndpZGdldC50d2l0LS13aWRnZXQgYTpob3ZlciB7CiAgICBjb2xvcjogIzIwMjQyOAp9CgouYmctZGFyaywKZm9vdGVyLmZvb3RlcjIgLmZvb3Rlcl9fc21hbGwgewogICAgYmFja2dyb3VuZDogIzIwMjQyOAp9CgouY29sb3ItZm9vdGVyLWRhcmstdGV4dCwKZm9vdGVyLmZvb3Rlci0tZGFyaywKZm9vdGVyLmZvb3Rlci0tZGFyayAuZm9vdGVyX19iaWcgLnRleHRfd2lkZ2V0IHAsCmZvb3Rlci5mb290ZXItLWRhcmsgLmZvb3Rlcl9fYmlnIC53aWRnZXQgdWwubGlua3MgbGkgYSwKZm9vdGVyLmZvb3RlcjQgLmZvb3RlcjRfdGV4dCwKZm9vdGVyLmZvb3RlcjQgLmZvb3Rlcl9fc21hbGwgLmluZm9fbGlua3MgbGkgYSwKZm9vdGVyLmZvb3RlcjQuZm9vdGVyLS1jb2xvcmVkLApmb290ZXIuZm9vdGVyNS5mb290ZXItLWJ3LApmb290ZXIuZm9vdGVyNS5mb290ZXItLWJ3IC5mb290ZXJfX2JpZyAud2lkZ2V0IHVsLmxpbmtzIGEgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpCn0KCi5iZy1mb290ZXItZGFyay10ZXh0LApmb290ZXIuZm9vdGVyNS5mb290ZXItLWJ3IC5mb290ZXJfX2JpZyAud2lkZ2V0IC53aWRnZXRfX3RpdGxlOmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KQp9CgouY29sb3ItZm9vdGVyLWRhcmsgewogICAgY29sb3I6ICMxMTEwMTQKfQoKLmJnLWZvb3Rlci1kYXJrLApmb290ZXIuZm9vdGVyLS1kYXJrIHsKICAgIGJhY2tncm91bmQ6ICMxMTEwMTQKfQoKLmJ0bi1wcmltYXJ5IHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSg3LCA3NCwgODUsIC4yKTsKICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoNywgNzQsIDg1LCAuMikKfQoKLmJ0bi1zZWNvbmRhcnkgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDYsIDE4MSwgMTQ0LCAuMik7CiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDYsIDE4MSwgMTQ0LCAuMikKfQoKLmJ0bi1zdWNjZXNzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSg1MywgMTgxLCA2MiwgLjIpOwogICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSg1MywgMTgxLCA2MiwgLjIpCn0KCi5idG4taW5mbyB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoNTUsIDEyNSwgMjU1LCAuMik7CiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDU1LCAxMjUsIDI1NSwgLjIpCn0KCi5idG4td2FybmluZyB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMjU1LCAxNzUsIDAsIC4yKTsKICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMjU1LCAxNzUsIDAsIC4yKQp9CgouYnRuLWRhbmdlciB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMjI2LCA1NCwgNTQsIC4yKTsKICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMjI2LCA1NCwgNTQsIC4yKQp9CgouYnRuLWxpZ2h0IHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7CiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKQp9CgouYnRuLWRhcmsgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDMyLCAzNiwgNDAsIC4yKTsKICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMzIsIDM2LCA0MCwgLjIpCn0KCi5vdXRsaW5lLXRoaWNrLXByaW1hcnkgewogICAgYm9yZGVyOiAycHggc29saWQgcmdiYSg3LCA3NCwgODUsIC4yKTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGNvbG9yOiAjMDc0YTU1Cn0KCi5vdXRsaW5lLXRoaWNrLXNlY29uZGFyeSB7CiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDYsIDE4MSwgMTQ0LCAuMik7CiAgICBiYWNrZ3JvdW5kOiAwIDA7CiAgICBjb2xvcjogIzA2YjU5MAp9Cgoub3V0bGluZS10aGljay1zdWNjZXNzIHsKICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoNTMsIDE4MSwgNjIsIC4yKTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGNvbG9yOiAjMzViNTNlCn0KCi5vdXRsaW5lLXRoaWNrLWluZm8gewogICAgYm9yZGVyOiAycHggc29saWQgcmdiYSg1NSwgMTI1LCAyNTUsIC4yKTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGNvbG9yOiAjMzc3ZGZmCn0KCi5vdXRsaW5lLXRoaWNrLXdhcm5pbmcgewogICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDE3NSwgMCwgLjIpOwogICAgYmFja2dyb3VuZDogMCAwOwogICAgY29sb3I6ICNmZmFmMDAKfQoKLm91dGxpbmUtdGhpY2stZGFuZ2VyIHsKICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjI2LCA1NCwgNTQsIC4yKTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGNvbG9yOiAjZTIzNjM2Cn0KCi5vdXRsaW5lLXRoaWNrLWxpZ2h0IHsKICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOwogICAgYmFja2dyb3VuZDogMCAwOwogICAgY29sb3I6ICNmZmYKfQoKLm91dGxpbmUtdGhpY2stZGFyayB7CiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDMyLCAzNiwgNDAsIC4yKTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5jaGVja2JveC1wcmltYXJ5IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6ICMwNzRhNTUKfQoKLmNoZWNrYm94LXByaW1hcnkgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgewogICAgYmFja2dyb3VuZDogIzA3NGE1NTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMwNzRhNTUKfQoKLmNoZWNrYm94LXByaW1hcnkgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7CiAgICBjb2xvcjogI2ZmZgp9CgouY2hlY2tib3gtc2Vjb25kYXJ5IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6ICMwNmI1OTAKfQoKLmNoZWNrYm94LXNlY29uZGFyeSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiAjMDZiNTkwOwogICAgYm9yZGVyOiAxcHggc29saWQgIzA2YjU5MAp9CgouY2hlY2tib3gtc2Vjb25kYXJ5IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgewogICAgY29sb3I6ICNmZmYKfQoKLmNoZWNrYm94LXN1Y2Nlc3MgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgewogICAgYmFja2dyb3VuZDogIzM1YjUzZQp9CgouY2hlY2tib3gtc3VjY2VzcyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiAjMzViNTNlOwogICAgYm9yZGVyOiAxcHggc29saWQgIzM1YjUzZQp9CgouY2hlY2tib3gtc3VjY2VzcyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHsKICAgIGNvbG9yOiAjZmZmCn0KCi5jaGVja2JveC1pbmZvIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6ICMzNzdkZmYKfQoKLmNoZWNrYm94LWluZm8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgewogICAgYmFja2dyb3VuZDogIzM3N2RmZjsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMzNzdkZmYKfQoKLmNoZWNrYm94LWluZm8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7CiAgICBjb2xvcjogI2ZmZgp9CgouY2hlY2tib3gtd2FybmluZyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiAjZmZhZjAwCn0KCi5jaGVja2JveC13YXJuaW5nIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6ICNmZmFmMDA7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZjAwCn0KCi5jaGVja2JveC13YXJuaW5nIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgewogICAgY29sb3I6ICNmZmYKfQoKLmNoZWNrYm94LWRhbmdlciAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiAjZTIzNjM2Cn0KCi5jaGVja2JveC1kYW5nZXIgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgewogICAgYmFja2dyb3VuZDogI2UyMzYzNjsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMjM2MzYKfQoKLmNoZWNrYm94LWRhbmdlciAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHsKICAgIGNvbG9yOiAjZmZmCn0KCi5jaGVja2JveC1saWdodCAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCi5jaGVja2JveC1saWdodCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZgp9CgouY2hlY2tib3gtbGlnaHQgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7CiAgICBjb2xvcjogI2ZmZgp9CgouY2hlY2tib3gtZGFyayAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiAjMjAyNDI4Cn0KCi5jaGVja2JveC1kYXJrIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6ICMyMDI0Mjg7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjAyNDI4Cn0KCi5jaGVja2JveC1kYXJrIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgewogICAgY29sb3I6ICNmZmYKfQoKLmNoZWNrYm94LW91dGxpbmUtcHJpbWFyeSAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3JlIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMwNzRhNTUKfQoKLmNoZWNrYm94LW91dGxpbmUtcHJpbWFyeSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDc0YTU1Cn0KCi5jaGVja2JveC1vdXRsaW5lLXByaW1hcnkgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7CiAgICBjb2xvcjogIzA3NGE1NQp9CgouY2hlY2tib3gtb3V0bGluZS1zZWNvbmRhcnkgLmN1c3RvbS1jb250cm9sLWxhYmVsOmJlZm9yZSB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDZiNTkwCn0KCi5jaGVja2JveC1vdXRsaW5lLXNlY29uZGFyeSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDZiNTkwCn0KCi5jaGVja2JveC1vdXRsaW5lLXNlY29uZGFyeSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHsKICAgIGNvbG9yOiAjMDZiNTkwCn0KCi5jaGVja2JveC1vdXRsaW5lLXN1Y2Nlc3MgLmN1c3RvbS1jb250cm9sLWxhYmVsOmJlZm9yZSB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzViNTNlCn0KCi5jaGVja2JveC1vdXRsaW5lLXN1Y2Nlc3MgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgewogICAgYm9yZGVyOiAxcHggc29saWQgIzM1YjUzZQp9CgouY2hlY2tib3gtb3V0bGluZS1zdWNjZXNzIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgewogICAgY29sb3I6ICMzNWI1M2UKfQoKLmNoZWNrYm94LW91dGxpbmUtaW5mbyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3JlIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMzNzdkZmYKfQoKLmNoZWNrYm94LW91dGxpbmUtaW5mbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzc3ZGZmCn0KCi5jaGVja2JveC1vdXRsaW5lLWluZm8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7CiAgICBjb2xvcjogIzM3N2RmZgp9CgouY2hlY2tib3gtb3V0bGluZS13YXJuaW5nIC5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmUgewogICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWYwMAp9CgouY2hlY2tib3gtb3V0bGluZS13YXJuaW5nIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFmMDAKfQoKLmNoZWNrYm94LW91dGxpbmUtd2FybmluZyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHsKICAgIGNvbG9yOiAjZmZhZjAwCn0KCi5jaGVja2JveC1vdXRsaW5lLWRhbmdlciAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3JlIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMjM2MzYKfQoKLmNoZWNrYm94LW91dGxpbmUtZGFuZ2VyIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMjM2MzYKfQoKLmNoZWNrYm94LW91dGxpbmUtZGFuZ2VyIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgewogICAgY29sb3I6ICNlMjM2MzYKfQoKLmNoZWNrYm94LW91dGxpbmUtbGlnaHQgLmN1c3RvbS1jb250cm9sLWxhYmVsOmJlZm9yZSB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmCn0KCi5jaGVja2JveC1vdXRsaW5lLWxpZ2h0IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmYKfQoKLmNoZWNrYm94LW91dGxpbmUtbGlnaHQgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7CiAgICBjb2xvcjogI2ZmZgp9CgouY2hlY2tib3gtb3V0bGluZS1kYXJrIC5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmUgewogICAgYm9yZGVyOiAxcHggc29saWQgIzIwMjQyOAp9CgouY2hlY2tib3gtb3V0bGluZS1kYXJrIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMDI0MjgKfQoKLmNoZWNrYm94LW91dGxpbmUtZGFyayAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5iaXpfb3ZlcmxheSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB3aWR0aDogMTAwJQp9CgouYml6X292ZXJsYXk6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGhlaWdodDogMTAwJTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGNvbnRlbnQ6ICcnOwogICAgei1pbmRleDogMTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjYpCn0KCi5iaXpfb3ZlcmxheS5vdmVybGF5LS1wcmltYXJ5OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcsIDc0LCA4NSwgLjg1KQp9CgouYml6X292ZXJsYXkub3ZlcmxheS0tc2Vjb25kYXJ5OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYsIDE4MSwgMTQ0LCAuOCkKfQoKLmJpel9vdmVybGF5Lm92ZXJsYXktLXNlY29uZGFyeTI6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjcsIDI4LCA1NywgLjgpCn0KCi5iaXpfb3ZlcmxheS5vdmVybGF5LS1kYXJrOmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAzNiwgNDAsIC42KQp9CgouYml6X292ZXJsYXkub3ZlcmxheS0tZGFyazI6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjksIDMwLCA1MSwgLjcpCn0KCi5ncmFkaWVudC1vdmVybGF5IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgouZ3JhZGllbnQtb3ZlcmxheTpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogJyc7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDA7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgzMTBkZWcsIHJnYmEoNywgNzQsIDg1LCAuOSkgMCwgcmdiYSg3LCA3NCwgODUsIC45KSAyNSUsIHJnYmEoNiwgMTgxLCAxNDQsIC45KSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCgzMTBkZWcsIHJnYmEoNywgNzQsIDg1LCAuOSkgMCwgcmdiYSg3LCA3NCwgODUsIC45KSAyNSUsIHJnYmEoNiwgMTgxLCAxNDQsIC45KSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDBkZWcsIHJnYmEoNywgNzQsIDg1LCAuOSkgMCwgcmdiYSg3LCA3NCwgODUsIC45KSAyNSUsIHJnYmEoNiwgMTgxLCAxNDQsIC45KSAxMDAlKTsKICAgIHotaW5kZXg6IDEKfQoKaHRtbCB7CiAgICBmb250LXNpemU6IDE1cHgKfQoKYm9keSB7CiAgICBkaXJlY3Rpb246IGx0cjsKICAgIHRleHQtYWxpZ246IGxlZnQKfQoKLmxhLmxhLXNlYXJjaCB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoLTE4MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTE4MGRlZykKfQoKaW1nIHsKICAgIG1heC13aWR0aDogMTAwJQp9CgphIHsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCmE6aG92ZXIgewogICAgY29sb3I6ICMwNmI1OTAKfQoKc3VwIHsKICAgIHRvcDogLS42NjY2N3JlbQp9Cgouc2hvd2Nhc2UgewogICAgbWFyZ2luOiA0LjY2NjY3cmVtIDAgNHJlbSAwOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU4ZWQ7CiAgICBmb250LXNpemU6IDEuNnJlbTsKICAgIGxpbmUtaGVpZ2h0OiA0OHB4OwogICAgcGFkZGluZzogMnJlbSAwOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwOwogICAgYm9yZGVyLXJhZGl1czogMAp9Cgouc2hvd2Nhc2UgaDMgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgbWFyZ2luOiAwOwogICAgZm9udC1zaXplOiAxLjQ2NjY3cmVtOwogICAgdGV4dC1hbGlnbjogY2VudGVyCn0KCi5zaG93Y2FzZS5zaG93Y2FzZS0tdGl0bGUyIHsKICAgIGJhY2tncm91bmQ6ICNmZmYKfQoKcCB7CiAgICBsaW5lLWhlaWdodDogMnJlbQp9Cgouc2VjdGlvbmJnIHsKICAgIGJhY2tncm91bmQ6ICNmNWY3ZmMKfQoKLmJnaW1hZ2UgewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5iZ19pbWFnZV9ob2xkZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgd2lkdGg6IDEwMCU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7CiAgICB6LWluZGV4OiAwOwogICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgbGluZWFyOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgbGluZWFyOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBsaW5lYXI7CiAgICBvcGFjaXR5OiAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbgp9CgouYmdfaW1hZ2VfaG9sZGVyIGltZyB7CiAgICBkaXNwbGF5OiBub25lCn0KCi5jb250ZW50X2Fib3ZlIHsKICAgIHotaW5kZXg6IDI7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKdWwgewogICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIHBhZGRpbmc6IDAKfQoKLmZsZXgtMSB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAxOwogICAgLXdlYmtpdC1mbGV4OiAxOwogICAgLW1zLWZsZXg6IDE7CiAgICBmbGV4OiAxCn0KCi5jYXJkaWZ5IHsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMDUpOwogICAgYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSk7CiAgICBwYWRkaW5nOiAycmVtCn0KCi50ZXh0LWJveCB7CiAgICBwYWRkaW5nOiAzcmVtIDMuMzMzMzNyZW0KfQoKLnRleHQtYm94IHAgewogICAgbWFyZ2luOiAwOwogICAgbGluZS1oZWlnaHQ6IDIuNHJlbTsKICAgIGZvbnQtc2l6ZTogMS40NjY2N3JlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogI2ZmZgp9CgouYWNjb3JkaW9uLXN0eWxlczIgewogICAgYmFja2dyb3VuZDogI2Y0ZjRmNDsKICAgIHBhZGRpbmc6IDAgMCA1LjMzMzMzcmVtIDA7CiAgICBtYXJnaW4tdG9wOiA1LjMzMzMzcmVtCn0KCi5hbGVydC10eXBlcyB7CiAgICBtYXJnaW46IDYuNjY2NjdyZW0gMCAzLjMzMzMzcmVtIDAKfQoKLnNoYWRvdy10eXBlcyB7CiAgICBwYWRkaW5nOiA0LjY2NjY3cmVtIDAgMS4zMzMzM3JlbQp9Cgouc2hhZG93LXR5cGVzIC5zaG93Y2FzZS1ib3ggewogICAgYmFja2dyb3VuZDogMCAwCn0KCi5zaGFkb3ctdHlwZXMgLnNob3djYXNlLWJveCAuc2hvd2Nhc2UtaGVhZGVyIHsKICAgIGJhY2tncm91bmQ6IDAgMAp9Cgouc2hhZG93LXR5cGVzIC5zaG93Y2FzZS1ib3ggLnNob3djYXNlLWJvZHkgdWwgewogICAgcGFkZGluZzogMi4zMzMzM3JlbSAycmVtOwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIG1hcmdpbjogMAp9Cgouc2hhZG93LXR5cGVzIC5zaG93Y2FzZS1ib3ggLnNob3djYXNlLWJvZHkgdWwgbGkgewogICAgbWFyZ2luLWJvdHRvbTogLjhyZW07CiAgICB2aXNpYmlsaXR5OiBoaWRkZW4KfQoKLnNoYWRvdy10eXBlcyAuc2hvd2Nhc2UtYm94IC5zaG93Y2FzZS1ib2R5IHVsIGxpOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMAp9Cgouc2hhZG93LXR5cGVzIC5zaG93Y2FzZS1ib3ggLnNob3djYXNlLWJvZHkgdWwgbGkgc3BhbiB7CiAgICBtaW4td2lkdGg6IDEwcmVtOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrCn0KCi5zaGFkb3ctdHlwZXMuc2hhZG93LXR5cGVzMiB7CiAgICBtYXJnaW4tdG9wOiAzLjMzMzMzcmVtOwogICAgYmFja2dyb3VuZDogI2Y0ZjRmNAp9Cgouc2hvd2Nhc2UtYm94IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgbWluLXdpZHRoOiAwOwogICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94OwogICAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94OwogICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZThlZDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjI1cmVtOwogICAgYm9yZGVyLXJhZGl1czogLjI1cmVtOwogICAgbWFyZ2luLWJvdHRvbTogNTBweAp9Cgouc2hvd2Nhc2UtYm94IC5zaG93Y2FzZS1oZWFkZXIgewogICAgcGFkZGluZzogMnJlbSAzcmVtOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZThlZAp9Cgouc2hvd2Nhc2UtYm94IC5zaG93Y2FzZS1oZWFkZXIgaDQsCi5zaG93Y2FzZS1ib3ggLnNob3djYXNlLWhlYWRlciBoNSB7CiAgICBtYXJnaW46IDA7CiAgICBmb250LXNpemU6IDEuMzMzMzNyZW07CiAgICBmb250LXdlaWdodDogNDAwOwogICAgY29sb3I6ICMyMDI0MjgKfQoKLnNob3djYXNlLWJveCAuc2hvd2Nhc2UtaGVhZGVyIHAgewogICAgbWFyZ2luOiAxMHB4IDAgMCAwCn0KCi5zaG93Y2FzZS1ib3ggLnNob3djYXNlLWJvZHkgewogICAgcGFkZGluZzogM3JlbTsKICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAtd2Via2l0LWZsZXg6IDEgMSBhdXRvOwogICAgLW1zLWZsZXg6IDEgMSBhdXRvOwogICAgZmxleDogMSAxIGF1dG8KfQoKLnNob3djYXNlLWJveDpsYXN0LWNoaWxkIC5idXR0b24tZ3JvdXAgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouYnV0dG9ucy13cmFwcGVyIHsKICAgIHBhZGRpbmc6IDcwcHggMCAyMHB4Cn0KCi5idXR0b25zLXdyYXBwZXIgLmJ1dHRvbi1ncm91cCB7CiAgICBtYXJnaW4tYm90dG9tOiAtMjFweAp9CgouYnV0dG9ucy13cmFwcGVyIC5idXR0b24tZ3JvdXAgYnV0dG9uIHsKICAgIG1hcmdpbjogMCAxN3B4IDIxcHggMAp9Cgouc2hhZG93LWRlZmF1bHQgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMzIsIDM2LCA0MCwgLjEpICFpbXBvcnRhbnQ7CiAgICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMzIsIDM2LCA0MCwgLjEpICFpbXBvcnRhbnQKfQoKLmJ0bi1zaGFkb3cgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDQxLCA0MSwgNTksIC4xNSkgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoNDEsIDQxLCA1OSwgLjE1KSAhaW1wb3J0YW50Cn0KCi5jb2xvci1ncm91cCB7CiAgICBtYXJnaW46IDAgMCA0MHB4OwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXgKfQoKLmNvbG9yLWdyb3VwIGxpIHsKICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAtbXMtZmxleDogMTsKICAgIGZsZXg6IDEKfQoKLmNvbG9yLWdyb3VwIGxpOmZpcnN0LWNoaWxkIHNwYW4gewogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgY29sb3I6ICNmZmY7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIHBhZGRpbmc6IDI1cHggMzBweAp9CgouY29sb3ItZ3JvdXAgbGk6bGFzdC1jaGlsZCB7CiAgICB3aWR0aDogODBweDsKICAgIG1hcmdpbi1sZWZ0OiA1NXB4Cn0KCi5jb2xvci1ncm91cCBsaTpsYXN0LWNoaWxkIHNwYW4gewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW46IDEwcHggMAp9CgouY29sb3ItZ3JvdXAub3RoZXItY29sb3JzIGxpOmZpcnN0LWNoaWxkIHNwYW4gewogICAgY29sb3I6ICMyMDI0MjgKfQoKLmNvbG9yLWdyb3VwIC5iZy1saWdodC1ncmF5IHsKICAgIGJhY2tncm91bmQ6ICM5MTkyYTMKfQoKLmNvbG9yLWdyb3VwIC5iZy1saWdodC1kZWZhdWx0IHsKICAgIGJhY2tncm91bmQ6ICM1YTY2NzEKfQoKLmNvbG9yLWdyb3VwIC5iZy1saW5lIHsKICAgIGJhY2tncm91bmQ6ICNlNGU4ZWQKfQoKLmNvbG9yLWdyb3VwIC5iZy1kZWZhdWx0IHsKICAgIGJhY2tncm91bmQ6ICNmNWY3ZmMKfQoKLmNvbG9yLWdyb3VwIC5jb2xvci1kZWZhdWx0IHsKICAgIGNvbG9yOiAjNWE2NjcxCn0KCi5jb2xvci1ncm91cCAuY29sb3ItbGlnaHQtZ3JheSB7CiAgICBjb2xvcjogIzkxOTJhMwp9CgouYmctZ3JhZGllbnQgewogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20oIzA3NGE1NSksIHRvKCMwNmI1OTApKSAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIzA3NGE1NSwgIzA2YjU5MCkgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMDc0YTU1LCAjMDZiNTkwKSAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDc0YTU1LCAjMDZiNTkwKSAhaW1wb3J0YW50Cn0KCi5iZy1ncmFkaWVudC1jb3JuZXIgewogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsICMwNzRhNTUsICMwNmI1OTApOwogICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjMDc0YTU1LCAjMDZiNTkwKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgIzA3NGE1NSwgIzA2YjU5MCkKfQoKLmNvbG9yLWxpZ2h0LWdyYXkgewogICAgY29sb3I6ICM5MTkyYTMKfQoKLmZsaXAtYm94ZXMgewogICAgYmFja2dyb3VuZDogI2Y1ZjRmNwp9Cgouc2VjdGlvbi1iZyB7CiAgICBiYWNrZ3JvdW5kOiAjZjVmN2ZjCn0KCmlmcmFtZSB7CiAgICB3aWR0aDogMTAwJQp9Cgouc2VjdGlvbi1wYWRkaW5nIHsKICAgIHBhZGRpbmc6IDcuMzMzMzNyZW0gMAp9Cgouc2VjdGlvbi1wYWRkaW5nMiB7CiAgICBwYWRkaW5nOiA3LjMzMzMzcmVtIDAgNS4zMzMzM3JlbQp9Cgouc2VjdGlvbi1wYWRkaW5nMyB7CiAgICBwYWRkaW5nOiA2LjY2NjY3cmVtIDAgMS4zMzMzM3JlbSAwCn0KCi5zZWN0aW9uLXBhZGRpbmc0IHsKICAgIHBhZGRpbmc6IDcuMzMzMzNyZW0gMCA2LjMzMzMzcmVtIDAKfQoKLnNlY3Rpb24tcGFkZGluZzUgewogICAgcGFkZGluZzogNy4zMzMzM3JlbSAwIDMuMzMzMzNyZW0gMAp9Cgouc2VjdGlvbi1wYWRkaW5nLXRvcCB7CiAgICBwYWRkaW5nOiA3LjMzMzMzcmVtIDAgMCAwCn0KCi5zZWN0aW9uLXBhZGRpbmctc20gewogICAgcGFkZGluZzogNnJlbSAwCn0KCi5zZWN0aW9uLXNwbGl0IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9Cgouc2VjdGlvbi1zcGxpdDpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogIiI7CiAgICB3aWR0aDogNTAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIGJhY2tncm91bmQ6ICNmNWY3ZmMKfQoKLnNlY3Rpb24tc3BsaXQyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9Cgouc2VjdGlvbi1zcGxpdDI6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICIiOwogICAgd2lkdGg6IDFweDsKICAgIGhlaWdodDogMTAwJTsKICAgIGxlZnQ6IDUwJTsKICAgIHRvcDogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKICAgIGJhY2tncm91bmQ6ICNlMmUxZWEKfQoKLmJnLWhhbGYtZ3JheSwKLmJnLWhhbGYtc2Vjb25kYXJ5IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgouYmctaGFsZi1ncmF5OmJlZm9yZSwKLmJnLWhhbGYtc2Vjb25kYXJ5OmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnJzsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiA1MCU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwCn0KCi5iZy1oYWxmLXNlY29uZGFyeTpiZWZvcmUgewogICAgYmFja2dyb3VuZDogIzA3NGE1NQp9CgouYmctaGFsZi1ncmF5OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiAjZjVmN2ZjOwogICAgdG9wOiBhdXRvOwogICAgYm90dG9tOiAwOwogICAgaGVpZ2h0OiA0OCUKfQoKLmxpc3QtdHlwZXMgdWwgewogICAgbWFyZ2luLWJvdHRvbTogMnJlbQp9CgouY2FyZC0tdGVhbTEgLmNhcmQtYm9keSAudGVhbS1zb2NpYWwgbGkgYS5saXN0LXR5cGVzOmhvdmVyLAouY3VzdG9tLXJhZGlvLXRocmVlIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5saXN0LXR5cGVzLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciwKLmN1c3RvbS1yYWRpby10d28gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+Lmxpc3QtdHlwZXMuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyLAouZG90LXNlY29uZGFyeS5kb3QtbGlnaHQgLm93bC1kb3QuYWN0aXZlIHNwYW4ubGlzdC10eXBlcywKLmV2ZW50LXNpbmdsZSAubGlzdC10eXBlcy5ldmVudC1kYXRlLAouaWNvbi1saWdodCAuY29udGVudC1saXN0IC5pY29uLWNpcmNsZSBzcGFuLmxpc3QtdHlwZXMsCi5saXN0LXR5cGVzLmJnLWRhcmssCi5saXN0LXR5cGVzLmJnLXNlY29uZGFyeSwKLmxpc3QtdHlwZXMuYnVsbGV0X2xpc3Q6YmVmb3JlLAoubGlzdC10eXBlcy5nb190b3A6aG92ZXIsCi5uYXYtY2lyY2xlIGJ1dHRvbi5saXN0LXR5cGVzLAoubmF2LXNxdWFyZS5uYXYtc3F1YXJlLWRhcmsgYnV0dG9uLmxpc3QtdHlwZXMsCi5uYXZfcmlnaHRfY29udGVudCAuY2FydF9tb2R1bGUgLmxpc3QtdHlwZXMuY2FydF9jb3VudCwKLm93bC1kb3RzLmRvdC1zZWNvbmRhcnkgLm93bC1kb3QuYWN0aXZlIHNwYW4ubGlzdC10eXBlcywKLnBvcnRmb2xpby1jYXJvdXNlbC1zaW5nbGUgZmlndXJlIGZpZ2NhcHRpb24gLmxpc3QtdHlwZXMubGluaywKLnByaWNpbmcgLmxpc3QtdHlwZXMucHJpY2luZ19fcHJpY2UsCi50YWIudGFiLS0yIC50YWJfbmF2MiAubmF2IC5uYXYtaXRlbSAubGlzdC10eXBlcy5uYXYtbGluay5hY3RpdmU6YmVmb3JlLAoudGFiLnRhYi0tMiAudGFiX25hdjIgLm5hdiAubmF2LWl0ZW0gLmxpc3QtdHlwZXMubmF2LWxpbms6aG92ZXI6YmVmb3JlLAoudGFiLnRhYi0tNiAudGFiX25hdjIgLm5hdiAubmF2LWl0ZW0gLmxpc3QtdHlwZXMubmF2LWxpbmsuYWN0aXZlOmJlZm9yZSwKLnRhYi50YWItLTYgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5saXN0LXR5cGVzLm5hdi1saW5rOmhvdmVyOmJlZm9yZSwKLnRhYi50YWItLTcgLnRhYl9uYXY3IC5uYXYgLm5hdi1pdGVtIC5saXN0LXR5cGVzLm5hdi1saW5rLmFjdGl2ZTpiZWZvcmUsCi50YWIudGFiLS04IC50YWJfbmF2NyAubmF2IC5uYXYtaXRlbSAubGlzdC10eXBlcy5uYXYtbGluay5hY3RpdmU6YmVmb3JlLAoudG9nZ2xlLXN3aXRjaCBpbnB1dDpjaGVja2VkKy5saXN0LXR5cGVzLnNsaWRlciwKZm9vdGVyLmZvb3RlcjIgLmxpc3QtdHlwZXMuZm9vdGVyX19zbWFsbCwKZm9vdGVyLmZvb3RlcjQuZm9vdGVyLS1jb2xvcmVkIC5saXN0LXR5cGVzLmZvb3Rlci0tc21hbGwsCmZvb3Rlci5mb290ZXI0LmZvb3Rlci0tbGlnaHQgLmZvb3Rlcl9fc21hbGwgLnNvY2lhbC5zcXVhcmUgbGkgYS5saXN0LXR5cGVzOmhvdmVyIHsKICAgIHBhZGRpbmc6IDQuNjY2NjdyZW0gMCAyLjMzMzMzcmVtCn0KCi5jYXJkLS10ZWFtMSAuY2FyZC1ib2R5IC50ZWFtLXNvY2lhbCBsaSBhLmxpc3QtdHlwZXM6aG92ZXIgb2wsCi5jYXJkLS10ZWFtMSAuY2FyZC1ib2R5IC50ZWFtLXNvY2lhbCBsaSBhLmxpc3QtdHlwZXM6aG92ZXIgdWwsCi5jdXN0b20tcmFkaW8tdGhyZWUgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+Lmxpc3QtdHlwZXMuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIG9sLAouY3VzdG9tLXJhZGlvLXRocmVlIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5saXN0LXR5cGVzLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB1bCwKLmN1c3RvbS1yYWRpby10d28gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+Lmxpc3QtdHlwZXMuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIG9sLAouY3VzdG9tLXJhZGlvLXR3byAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4ubGlzdC10eXBlcy5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgdWwsCi5kb3Qtc2Vjb25kYXJ5LmRvdC1saWdodCAub3dsLWRvdC5hY3RpdmUgc3Bhbi5saXN0LXR5cGVzIG9sLAouZG90LXNlY29uZGFyeS5kb3QtbGlnaHQgLm93bC1kb3QuYWN0aXZlIHNwYW4ubGlzdC10eXBlcyB1bCwKLmV2ZW50LXNpbmdsZSAubGlzdC10eXBlcy5ldmVudC1kYXRlIG9sLAouZXZlbnQtc2luZ2xlIC5saXN0LXR5cGVzLmV2ZW50LWRhdGUgdWwsCi5pY29uLWxpZ2h0IC5jb250ZW50LWxpc3QgLmljb24tY2lyY2xlIHNwYW4ubGlzdC10eXBlcyBvbCwKLmljb24tbGlnaHQgLmNvbnRlbnQtbGlzdCAuaWNvbi1jaXJjbGUgc3Bhbi5saXN0LXR5cGVzIHVsLAoubGlzdC10eXBlcy5iZy1kYXJrIG9sLAoubGlzdC10eXBlcy5iZy1kYXJrIHVsLAoubGlzdC10eXBlcy5iZy1zZWNvbmRhcnkgb2wsCi5saXN0LXR5cGVzLmJnLXNlY29uZGFyeSB1bCwKLmxpc3QtdHlwZXMuYnVsbGV0X2xpc3Q6YmVmb3JlIG9sLAoubGlzdC10eXBlcy5idWxsZXRfbGlzdDpiZWZvcmUgdWwsCi5saXN0LXR5cGVzLmdvX3RvcDpob3ZlciBvbCwKLmxpc3QtdHlwZXMuZ29fdG9wOmhvdmVyIHVsLAoubmF2LWNpcmNsZSBidXR0b24ubGlzdC10eXBlcyBvbCwKLm5hdi1jaXJjbGUgYnV0dG9uLmxpc3QtdHlwZXMgdWwsCi5uYXYtc3F1YXJlLm5hdi1zcXVhcmUtZGFyayBidXR0b24ubGlzdC10eXBlcyBvbCwKLm5hdi1zcXVhcmUubmF2LXNxdWFyZS1kYXJrIGJ1dHRvbi5saXN0LXR5cGVzIHVsLAoubmF2X3JpZ2h0X2NvbnRlbnQgLmNhcnRfbW9kdWxlIC5saXN0LXR5cGVzLmNhcnRfY291bnQgb2wsCi5uYXZfcmlnaHRfY29udGVudCAuY2FydF9tb2R1bGUgLmxpc3QtdHlwZXMuY2FydF9jb3VudCB1bCwKLm93bC1kb3RzLmRvdC1zZWNvbmRhcnkgLm93bC1kb3QuYWN0aXZlIHNwYW4ubGlzdC10eXBlcyBvbCwKLm93bC1kb3RzLmRvdC1zZWNvbmRhcnkgLm93bC1kb3QuYWN0aXZlIHNwYW4ubGlzdC10eXBlcyB1bCwKLnBvcnRmb2xpby1jYXJvdXNlbC1zaW5nbGUgZmlndXJlIGZpZ2NhcHRpb24gLmxpc3QtdHlwZXMubGluayBvbCwKLnBvcnRmb2xpby1jYXJvdXNlbC1zaW5nbGUgZmlndXJlIGZpZ2NhcHRpb24gLmxpc3QtdHlwZXMubGluayB1bCwKLnByaWNpbmcgLmxpc3QtdHlwZXMucHJpY2luZ19fcHJpY2Ugb2wsCi5wcmljaW5nIC5saXN0LXR5cGVzLnByaWNpbmdfX3ByaWNlIHVsLAoudGFiLnRhYi0tMiAudGFiX25hdjIgLm5hdiAubmF2LWl0ZW0gLmxpc3QtdHlwZXMubmF2LWxpbmsuYWN0aXZlOmJlZm9yZSBvbCwKLnRhYi50YWItLTIgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5saXN0LXR5cGVzLm5hdi1saW5rLmFjdGl2ZTpiZWZvcmUgdWwsCi50YWIudGFiLS0yIC50YWJfbmF2MiAubmF2IC5uYXYtaXRlbSAubGlzdC10eXBlcy5uYXYtbGluazpob3ZlcjpiZWZvcmUgb2wsCi50YWIudGFiLS0yIC50YWJfbmF2MiAubmF2IC5uYXYtaXRlbSAubGlzdC10eXBlcy5uYXYtbGluazpob3ZlcjpiZWZvcmUgdWwsCi50YWIudGFiLS02IC50YWJfbmF2MiAubmF2IC5uYXYtaXRlbSAubGlzdC10eXBlcy5uYXYtbGluay5hY3RpdmU6YmVmb3JlIG9sLAoudGFiLnRhYi0tNiAudGFiX25hdjIgLm5hdiAubmF2LWl0ZW0gLmxpc3QtdHlwZXMubmF2LWxpbmsuYWN0aXZlOmJlZm9yZSB1bCwKLnRhYi50YWItLTYgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5saXN0LXR5cGVzLm5hdi1saW5rOmhvdmVyOmJlZm9yZSBvbCwKLnRhYi50YWItLTYgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5saXN0LXR5cGVzLm5hdi1saW5rOmhvdmVyOmJlZm9yZSB1bCwKLnRhYi50YWItLTcgLnRhYl9uYXY3IC5uYXYgLm5hdi1pdGVtIC5saXN0LXR5cGVzLm5hdi1saW5rLmFjdGl2ZTpiZWZvcmUgb2wsCi50YWIudGFiLS03IC50YWJfbmF2NyAubmF2IC5uYXYtaXRlbSAubGlzdC10eXBlcy5uYXYtbGluay5hY3RpdmU6YmVmb3JlIHVsLAoudGFiLnRhYi0tOCAudGFiX25hdjcgLm5hdiAubmF2LWl0ZW0gLmxpc3QtdHlwZXMubmF2LWxpbmsuYWN0aXZlOmJlZm9yZSBvbCwKLnRhYi50YWItLTggLnRhYl9uYXY3IC5uYXYgLm5hdi1pdGVtIC5saXN0LXR5cGVzLm5hdi1saW5rLmFjdGl2ZTpiZWZvcmUgdWwsCi50b2dnbGUtc3dpdGNoIGlucHV0OmNoZWNrZWQrLmxpc3QtdHlwZXMuc2xpZGVyIG9sLAoudG9nZ2xlLXN3aXRjaCBpbnB1dDpjaGVja2VkKy5saXN0LXR5cGVzLnNsaWRlciB1bCwKZm9vdGVyLmZvb3RlcjIgLmxpc3QtdHlwZXMuZm9vdGVyX19zbWFsbCBvbCwKZm9vdGVyLmZvb3RlcjIgLmxpc3QtdHlwZXMuZm9vdGVyX19zbWFsbCB1bCwKZm9vdGVyLmZvb3RlcjQuZm9vdGVyLS1jb2xvcmVkIC5saXN0LXR5cGVzLmZvb3Rlci0tc21hbGwgb2wsCmZvb3Rlci5mb290ZXI0LmZvb3Rlci0tY29sb3JlZCAubGlzdC10eXBlcy5mb290ZXItLXNtYWxsIHVsLApmb290ZXIuZm9vdGVyNC5mb290ZXItLWxpZ2h0IC5mb290ZXJfX3NtYWxsIC5zb2NpYWwuc3F1YXJlIGxpIGEubGlzdC10eXBlczpob3ZlciBvbCwKZm9vdGVyLmZvb3RlcjQuZm9vdGVyLS1saWdodCAuZm9vdGVyX19zbWFsbCAuc29jaWFsLnNxdWFyZSBsaSBhLmxpc3QtdHlwZXM6aG92ZXIgdWwgewogICAgbWFyZ2luOiAwCn0KCi5iZy1pbWFnZSB7CiAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2xpc3QtYmcuanBnKSBjZW50ZXIvY292ZXIgbm8tcmVwZWF0OwogICAgcGFkZGluZzogNnJlbQp9CgouYmctaW1hZ2Ugb2wsCi5iZy1pbWFnZSB1bCB7CiAgICBtYXJnaW46IDAKfQoKLmJnLWltYWdlLmxpc3QtdHlwZXMgewogICAgcGFkZGluZzogNnJlbSAwIDRyZW0KfQoKLmJnLWdyYXktbGlnaHQgewogICAgYmFja2dyb3VuZDogI2Y1ZjdmYwp9CgouYmctZ3JhZGllbnQtLWxpZ2h0IHsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2ZmZiksIHRvKCNmYmZhZmYpKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiwgI2ZiZmFmZik7CiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmLCAjZmJmYWZmKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmYsICNmYmZhZmYpCn0KCi5oci1kaXZpZGVyIHsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlOGVkOwogICAgaGVpZ2h0OiAxcHg7CiAgICBtYXJnaW4tdG9wOiA0cmVtCn0KCi5oci1kaXZpZGVyMiB7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZThlZDsKICAgIGhlaWdodDogMXB4OwogICAgbWFyZ2luOiAzLjZyZW0gMCAzLjUzMzMzcmVtIDAKfQoKLmhyLWRpdmlkZXIzIHsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDhkOWU0OwogICAgaGVpZ2h0OiAxcHg7CiAgICBtYXJnaW46IDIuNjY2NjdyZW0gMCA1LjMzMzMzcmVtIDAKfQoKLmhyLWRpdmlkZXItZ3JheSB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwMCwgMTAzLCAxNDUsIC41KTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxcHg7CiAgICBtYXJnaW46IDUuMzMzMzNyZW0gMCA0LjMzMzMzcmVtCn0KCi5oci1saW5lIHsKICAgIGJhY2tncm91bmQ6ICNlNGU4ZWQ7CiAgICBoZWlnaHQ6IDFweAp9CgouZm9ybS1lbGVtZW50cyAuZm9ybS10YWJzIGxpIHsKICAgIG1hcmdpbi1sZWZ0OiAtMXB4Cn0KCi5mb3JtLWVsZW1lbnRzIC5mb3JtLXRhYnMgbGk6Zmlyc3QtY2hpbGQgYSB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4OwogICAgYm9yZGVyLXJhZGl1czogM3B4IDAgMCAzcHgKfQoKLmZvcm0tZWxlbWVudHMgLmZvcm0tdGFicyBsaTpsYXN0LWNoaWxkIGEgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDsKICAgIGJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwCn0KCi5mb3JtLWVsZW1lbnRzIC5mb3JtLXRhYnMgbGkgYSB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGVkOwogICAgcGFkZGluZzogMTNweCAxNXB4OwogICAgY29sb3I6ICM1YTY2NzE7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIGRpc3BsYXk6IGJsb2NrCn0KCi5mb3JtLWVsZW1lbnRzIC5mb3JtLXRhYnMgbGkgYS5hY3RpdmUgewogICAgYmFja2dyb3VuZDogIzA3NGE1NTsKICAgIGNvbG9yOiAjZmZmOwogICAgYm9yZGVyLWNvbG9yOiAjMDc0YTU1Cn0KCi5mb3JtLWVsZW1lbnRzIC5mb3JtLXRhYnMgbGkgYTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQ6ICMwNzRhNTU7CiAgICBib3JkZXItY29sb3I6ICMwNzRhNTUKfQoKLnRhYi0tMyAudGFiLWNvbnRlbnQ+LnRhYi1wYW5lIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgaGVpZ2h0OiAwOwogICAgdmlzaWJpbGl0eTogaGlkZGVuCn0KCi50YWItLTMgLnRhYi1jb250ZW50Pi5hY3RpdmUgewogICAgaGVpZ2h0OiBhdXRvOwogICAgdmlzaWJpbGl0eTogdmlzaWJsZQp9CgouZ29fdG9wIHsKICAgIGxpbmUtaGVpZ2h0OiAyLjY2NjY3cmVtOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgd2lkdGg6IDIuNjY2NjdyZW07CiAgICBjb2xvcjogI2ZmZjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgcG9zaXRpb246IGZpeGVkOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDRweCA0cHggcmdiYSgwLCAwLCAwLCAuMSk7CiAgICBib3gtc2hhZG93OiAwIDRweCA0cHggcmdiYSgwLCAwLCAwLCAuMSk7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEuNjY2NjdyZW0gMCAwIDEuNjY2NjdyZW07CiAgICBib3JkZXItcmFkaXVzOiAxLjY2NjY3cmVtIDAgMCAxLjY2NjY3cmVtOwogICAgcmlnaHQ6IDA7CiAgICB6LWluZGV4OiAxMTE7CiAgICBib3R0b206IDMwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIKfQoKLmJ0bi1wcmltYXJ5IHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSg3LCA3NCwgODUsIC4yKTsKICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoNywgNzQsIDg1LCAuMikKfQoKLmJ0bi1zZWNvbmRhcnkgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDYsIDE4MSwgMTQ0LCAuMik7CiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDYsIDE4MSwgMTQ0LCAuMikKfQoKLmJ0bi1zdWNjZXNzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSg1MywgMTgxLCA2MiwgLjIpOwogICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSg1MywgMTgxLCA2MiwgLjIpCn0KCi5idG4taW5mbyB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoNTUsIDEyNSwgMjU1LCAuMik7CiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDU1LCAxMjUsIDI1NSwgLjIpCn0KCi5idG4td2FybmluZyB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMjU1LCAxNzUsIDAsIC4yKTsKICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMjU1LCAxNzUsIDAsIC4yKQp9CgouYnRuLWRhbmdlciB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMjI2LCA1NCwgNTQsIC4yKTsKICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMjI2LCA1NCwgNTQsIC4yKQp9CgouYnRuLWxpZ2h0IHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7CiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKQp9CgouYnRuLWRhcmsgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDMyLCAzNiwgNDAsIC4yKTsKICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMzIsIDM2LCA0MCwgLjIpCn0KCi5vdXRsaW5lLXRoaWNrLXByaW1hcnkgewogICAgYm9yZGVyOiAycHggc29saWQgcmdiYSg3LCA3NCwgODUsIC4yKTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGNvbG9yOiAjMDc0YTU1Cn0KCi5vdXRsaW5lLXRoaWNrLXNlY29uZGFyeSB7CiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDYsIDE4MSwgMTQ0LCAuMik7CiAgICBiYWNrZ3JvdW5kOiAwIDA7CiAgICBjb2xvcjogIzA2YjU5MAp9Cgoub3V0bGluZS10aGljay1zdWNjZXNzIHsKICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoNTMsIDE4MSwgNjIsIC4yKTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGNvbG9yOiAjMzViNTNlCn0KCi5vdXRsaW5lLXRoaWNrLWluZm8gewogICAgYm9yZGVyOiAycHggc29saWQgcmdiYSg1NSwgMTI1LCAyNTUsIC4yKTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGNvbG9yOiAjMzc3ZGZmCn0KCi5vdXRsaW5lLXRoaWNrLXdhcm5pbmcgewogICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDE3NSwgMCwgLjIpOwogICAgYmFja2dyb3VuZDogMCAwOwogICAgY29sb3I6ICNmZmFmMDAKfQoKLm91dGxpbmUtdGhpY2stZGFuZ2VyIHsKICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjI2LCA1NCwgNTQsIC4yKTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGNvbG9yOiAjZTIzNjM2Cn0KCi5vdXRsaW5lLXRoaWNrLWxpZ2h0IHsKICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOwogICAgYmFja2dyb3VuZDogMCAwOwogICAgY29sb3I6ICNmZmYKfQoKLm91dGxpbmUtdGhpY2stZGFyayB7CiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDMyLCAzNiwgNDAsIC4yKTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5idG4gewogICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7CiAgICBmb250LXNpemU6IC45MzMzM3JlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDAKfQoKLmJ0bi5idG4tLXJvdW5kZWQgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMDBweDsKICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4Cn0KCi5idG4uYnRuLXNtIHsKICAgIGZvbnQtc2l6ZTogLjg2cmVtCn0KCi5idG4uYnRuLWxnIHsKICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgIHdoaXRlLXNwYWNlOiBub3JtYWwKfQoKLmJ0bmEgewogICAgY29sb3I6ICNmZmYKfQoKLmJ0bi5idG4tbGlnaHQgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDQxLCA0MSwgNTksIC4xNSk7CiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDQxLCA0MSwgNTksIC4xNSkKfQoKLmJ0bi5idG4tb3V0bGluZS1saWdodCB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGVkOwogICAgY29sb3I6ICNlNGU4ZWQKfQoKLmJ0bi5idG4tb3V0bGluZS1saWdodDpob3ZlciB7CiAgICBjb2xvcjogIzIxMjUyOTsKICAgIGJhY2tncm91bmQ6ICNlNGU4ZWQKfQoKLmJ0bi5idG4tYXJyb3cgewogICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyCn0KCi5idG4uYnRuLWFycm93IGkgewogICAgbWFyZ2luLWxlZnQ6IC42NnJlbQp9CgouYnRuLmJ0bi1pY29uIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOwogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcAp9CgouYnRuLmJ0bi1pY29uLmljb24tbGVmdCBpLAouYnRuLmJ0bi1pY29uLmljb24tbGVmdCBzcGFuIHsKICAgIG1hcmdpbi1yaWdodDogNnB4Cn0KCi5idG4uYnRuLWljb24uaWNvbi1yaWdodCBpLAouYnRuLmJ0bi1pY29uLmljb24tcmlnaHQgc3BhbiB7CiAgICBtYXJnaW4tbGVmdDogNnB4Cn0KCi5idG4ubGlrZS1idG4gewogICAgd2lkdGg6IDIuNzMzMzNyZW07CiAgICBoZWlnaHQ6IDIuNzMzMzNyZW07CiAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIGNvbG9yOiAjMDZiNTkwOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMyk7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIHBhZGRpbmc6IDA7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGJhY2tncm91bmQ6IHJnYmEoNiwgMTgxLCAxNDQsIC4xKQp9CgouYnRuLmxpa2UtYnRuOmZvY3VzIHsKICAgIG91dGxpbmU6IDAKfQoKLmJ0bi5saWtlLWJ0bjpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQ6ICMwNmI1OTAKfQoKLmJ0bi5maWx0ZXItYnRuIHsKICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgIG1pbi13aWR0aDogYXV0bzsKICAgIHBhZGRpbmc6IDAgMS4zMzMzM3JlbTsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmUKfQoKLmJ0bi5maWx0ZXItYnRuOmZvY3VzIHsKICAgIG91dGxpbmU6IDA7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lCn0KCi5idG4uYnRuLWdyYWRpZW50IHsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKCMwNzRhNTUpLCB0bygjMDZiNTkwKSk7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMDc0YTU1LCAjMDZiNTkwKTsKICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMDc0YTU1LCAjMDZiNTkwKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzA3NGE1NSwgIzA2YjU5MCk7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJvcmRlcjogbm9uZTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxMHB4IDE1cHggcmdiYSg2LCAxODEsIDE0NCwgLjIpOwogICAgYm94LXNoYWRvdzogMCAxMHB4IDE1cHggcmdiYSg2LCAxODEsIDE0NCwgLjIpCn0KCi5idG4uYnRuLWljb24tb25seSB7CiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07CiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOwogICAgZm9udC1zaXplOiAxLjJyZW0KfQoKLnBsYXktYnRuLXdyYXBwZXIgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBjb2xvcjogIzA2YjU5MDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBtYXJnaW4tbGVmdDogMXJlbQp9CgoucGxheS1idG4td3JhcHBlciAucGxheS1idG4gewogICAgbWFyZ2luLXJpZ2h0OiAxLjMzMzMzcmVtCn0KCi5wbGF5LWJ0biB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDJyZW07CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgoucGxheS1idG4gLnN2ZyB7CiAgICB3aWR0aDogMS4ycmVtOwogICAgZmlsbDogI2ZmZjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi5wbGF5LWJ0bjpob3ZlciB7CiAgICBjb2xvcjogI2ZmZgp9CgoucGxheS1idG4ucGxheS1idG4tLWxnIHsKICAgIHdpZHRoOiA0LjY2NjY3cmVtOwogICAgaGVpZ2h0OiA0LjY2NjY3cmVtCn0KCi5wbGF5LWJ0bi5wbGF5LWJ0bi0tc20gewogICAgd2lkdGg6IDMuMzMzMzNyZW07CiAgICBoZWlnaHQ6IDMuMzMzMzNyZW07CiAgICBmb250LXNpemU6IDEuNTMzMzNyZW0KfQoKLnBsYXktYnRuLnBsYXktYnRuLS1zbSAuc3ZnIHsKICAgIHdpZHRoOiAxcmVtCn0KCi5wbGF5LWJ0bi5wbGF5LWJ0bi1saWdodCB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgY29sb3I6ICMyMDI0MjgKfQoKLnBsYXktYnRuLnBsYXktYnRuLWxpZ2h0OmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICMwNmI1OTA7CiAgICBjb2xvcjogI2ZmZgp9CgoucGxheS1idG4ucGxheS1idG4tbGlnaHQ6aG92ZXIgLnN2ZyB7CiAgICBmaWxsOiAjZmZmCn0KCi5wbGF5LWJ0bi5wbGF5LWJ0bi1saWdodCAuc3ZnIHsKICAgIGZpbGw6ICMwNmI1OTAKfQoKLnBsYXktYnRuLnBsYXktYnRuLS1nZXN0dXJlIHsKICAgIGNvbG9yOiAjMDZiNTkwOwogICAgZm9udC1zaXplOiAxLjg2NjY3cmVtCn0KCi5wbGF5LWJ0bi5wbGF5LWJ0bi0tZ2VzdHVyZTpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogJyc7CiAgICB3aWR0aDogMTMwJTsKICAgIGhlaWdodDogMTMwJTsKICAgIGxlZnQ6IC0xNSU7CiAgICB0b3A6IC0xNSU7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDYsIDE4MSwgMTQ0LCAuMTUpOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHJlbTsKICAgIGJvcmRlci1yYWRpdXM6IDIwcmVtCn0KCi5wbGF5LWJ0bi5wbGF5LWJ0bi0tZ2VzdHVyZTphZnRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnJzsKICAgIHdpZHRoOiAxNjAlOwogICAgaGVpZ2h0OiAxNjAlOwogICAgbGVmdDogLTMwJTsKICAgIHRvcDogLTMwJTsKICAgIGJhY2tncm91bmQ6IHJnYmEoNiwgMTgxLCAxNDQsIC4wNSk7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwcmVtOwogICAgYm9yZGVyLXJhZGl1czogMjByZW0KfQoKLnBsYXktYnRuLnBsYXktYnRuLS1nZXN0dXJlOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IGluaGVyaXQKfQoKLnBsYXktYnRuLnBsYXktYnRuLS1wcmltYXJ5IHsKICAgIGJhY2tncm91bmQ6ICMwNzRhNTUKfQoKLnBsYXktYnRuLnBsYXktYnRuLS1zZWNvbmRhcnkgewogICAgYmFja2dyb3VuZDogIzA2YjU5MAp9CgouYWN0aW9uLWJ0bnMgdWwgbGkgewogICAgbWFyZ2luLXJpZ2h0OiA1cHgKfQoKLmFjdGlvbi1idG5zIHVsIGxpOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLXJpZ2h0OiAwCn0KCi5hY3Rpb24tYnRucyB1bCBsaS5zaGFyZS1idG4gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgcGFkZGluZy1ib3R0b206IDFyZW0KfQoKLmFjdGlvbi1idG5zIHVsIGxpLnNoYXJlLWJ0biB1bCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogMDsKICAgIHRvcDogNHJlbTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgcGFkZGluZzogMXJlbSAycmVtOwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4OwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDAsIDAsIDAsIC4xNSk7CiAgICBib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDAsIDAsIDAsIC4xNSkKfQoKLmFjdGlvbi1idG5zIHVsIGxpLnNoYXJlLWJ0biB1bDpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogJyc7CiAgICBib3JkZXItYm90dG9tOiAuNjY2NjdyZW0gc29saWQgI2ZmZjsKICAgIGJvcmRlci1yaWdodDogLjUzMzMzcmVtIHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLWxlZnQ6IC41MzMzM3JlbSBzb2xpZCB0cmFuc3BhcmVudDsKICAgIHJpZ2h0OiAxLjEzMzMzcmVtOwogICAgYm90dG9tOiAxMDAlCn0KCi5hY3Rpb24tYnRucyB1bCBsaS5zaGFyZS1idG4gdWwgbGkgewogICAgbWFyZ2luLXJpZ2h0OiAxcmVtCn0KCi5hY3Rpb24tYnRucyB1bCBsaS5zaGFyZS1idG4gdWwgbGk6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAKfQoKLmFjdGlvbi1idG5zIHVsIGxpLnNoYXJlLWJ0biB1bCBsaSBhIHsKICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgIGNvbG9yOiAjMDZiNTkwOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UKfQoKLmFjdGlvbi1idG5zIHVsIGxpLnNoYXJlLWJ0biB1bCBsaSBhOmhvdmVyIHsKICAgIGNvbG9yOiAjMDc0YTU1Cn0KCi5hY3Rpb24tYnRucyB1bCBsaS5zaGFyZS1idG46aG92ZXIgdWwgewogICAgb3BhY2l0eTogMTsKICAgIHZpc2liaWxpdHk6IHZpc2libGUKfQoKLmlucHV0X3dpdGhfZW1iZWQgewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5pbnB1dF93aXRoX2VtYmVkIC5lbWJlZF9idXR0b24sCi5pbnB1dF93aXRoX2VtYmVkIC5lbWJlZF9pY29uIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZQp9CgouaW5wdXRfd2l0aF9lbWJlZCAuZW1iZWRfaWNvbiB7CiAgICByaWdodDogMS4zM3JlbTsKICAgIHRvcDogNTAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpCn0KCi5pbnB1dF93aXRoX2VtYmVkIC5lbWJlZF9pY29uIGJ1dHRvbiB7CiAgICBiYWNrZ3JvdW5kOiAwIDA7CiAgICBib3JkZXI6IDAKfQoKaW5wdXQuaW5wdXQtLXJvdW5kZWQgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMy4zMzMzM3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IDEzLjMzMzMzcmVtCn0KCi5jdXN0b20tcmFkaW8gewogICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKICAgIHBhZGRpbmctbGVmdDogMTBweAp9CgouY3VzdG9tLXJhZGlvOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouY3VzdG9tLXJhZGlvIGlucHV0OmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kOiAwIDAKfQoKLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtbGFiZWwgewogICAgcGFkZGluZy1sZWZ0OiAycmVtOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWluLXdpZHRoOiAxMDBweAp9CgouY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmUgewogICAgd2lkdGg6IDEuMnJlbTsKICAgIGhlaWdodDogMS4ycmVtOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICBib3JkZXI6IC4zMzMzM3JlbSBzb2xpZCAjY2JkMGUzOwogICAgdG9wOiAxcHg7CiAgICBsZWZ0OiAwCn0KCi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWxhYmVsOmFmdGVyIHsKICAgIHdpZHRoOiBhdXRvOwogICAgaGVpZ2h0OiBhdXRvOwogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZQp9CgouY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1sYWJlbCBzcGFuIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRvcDogMHJlbQp9CgouY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGJvcmRlci1jb2xvcjogIzA2YjU5MDsKICAgIGNvbnRlbnQ6ICIiOwogICAgZm9udC1mYW1pbHk6IExpbmVBd2Vzb21lOwogICAgY29sb3I6ICNmZmY7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogLjhyZW0KfQoKLmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3Vzfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmUKfQoKLmN1c3RvbS1yYWRpby10d28gLmN1c3RvbS1jb250cm9sLWxhYmVsOmJlZm9yZSB7CiAgICBib3JkZXI6IC4ycmVtIHNvbGlkICNjYmQwZTM7CiAgICB3aWR0aDogMS4ycmVtOwogICAgaGVpZ2h0OiAxLjJyZW0KfQoKLmN1c3RvbS1yYWRpby10d28gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7CiAgICB3aWR0aDogLjRyZW07CiAgICBoZWlnaHQ6IC40cmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHJlbTsKICAgIGJvcmRlci1yYWRpdXM6IDIwcmVtOwogICAgbGVmdDogLjRyZW07CiAgICB0b3A6IC40NjY2N3JlbQp9CgouY3VzdG9tLXJhZGlvLXRocmVlIC5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmUgewogICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDBlMzsKICAgIHdpZHRoOiAxLjJyZW07CiAgICBoZWlnaHQ6IDEuMnJlbQp9CgouY3VzdG9tLXJhZGlvLXRocmVlIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgewogICAgd2lkdGg6IC40cmVtOwogICAgaGVpZ2h0OiAuNHJlbTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgbGVmdDogLjRyZW07CiAgICB0b3A6IC40NjY2N3JlbQp9CgouZm9ybS1jb250cm9sIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICByZXNpemU6IG5vbmU7CiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgICBhcHBlYXJhbmNlOiBub25lCn0KCkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDpub25lKSwKKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSkgewogICAgLmZvcm0tY29udHJvbCB7CiAgICAgICAgcGFkZGluZzogLjVyZW0gMS4ycmVtIDFyZW0KICAgIH0KfQoKLmZvcm0tY29udHJvbDpmb2N1cyB7CiAgICBvdXRsaW5lOiAwOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogICAgYm94LXNoYWRvdzogbm9uZQp9CgouZm9ybS1jb250cm9sOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsKICAgIGNvbG9yOiAjOTE5MmEzCn0KCi5mb3JtLWNvbnRyb2w6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7CiAgICBjb2xvcjogIzkxOTJhMwp9CgouZm9ybS1jb250cm9sOjpwbGFjZWhvbGRlciB7CiAgICBjb2xvcjogIzkxOTJhMwp9CgouZm9ybS1jb250cm9sLmZjLS1zcXVhcmVkIHsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDsKICAgIGJvcmRlci1yYWRpdXM6IDAKfQoKLmZvcm0tY29udHJvbC5mYy0tcm91bmRlZCB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEuNjY2NjdyZW07CiAgICBib3JkZXItcmFkaXVzOiAxLjY2NjY3cmVtOwogICAgcGFkZGluZy1sZWZ0OiAxLjY2NjY3cmVtCn0KCi5mb3JtLWNvbnRyb2wuZmMtLXNvbGlkLWJnIHsKICAgIGJhY2tncm91bmQ6ICNmNWY0ZjcKfQoKLmZvcm0tY29udHJvbC5mb3JtLW91dGxpbmUgewogICAgYm9yZGVyOiAwIG5vbmU7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZThlZDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDsKICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICBwYWRkaW5nLWxlZnQ6IDAKfQoKLmZvcm0tY29udHJvbC5mb3JtLW91dGxpbmU6Zm9jdXMgewogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzA2YjU5MAp9CgouZm9ybS1jb250cm9sLS1jb2xvciB7CiAgICBtaW4taGVpZ2h0OiAzcmVtOwogICAgcGFkZGluZzogLjY2NjY3cmVtOwogICAgYmFja2dyb3VuZDogMCAwCn0KCi5mb3JtLWdyb3VwIHsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5mb3JtLWdyb3VwIGxhYmVsIHsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5yYW5nZS1pbnB1dDphZnRlciB7CiAgICBjb250ZW50OiAnJzsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgY2xlYXI6IGJvdGgKfQoKLnJhbmdlLWlucHV0IC5jdXN0b20tcmFuZ2UgewogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogICAgYXBwZWFyYW5jZTogbm9uZTsKICAgIGJhY2tncm91bmQ6IDAgMAp9CgoucmFuZ2UtaW5wdXQgLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIgewogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgd2lkdGg6IDEuMnJlbTsKICAgIGhlaWdodDogMS4ycmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXI6IC4zMzMzM3JlbSBzb2xpZCAjMDc0YTU1OwogICAgYmFja2dyb3VuZDogI2UzZTZlZjsKICAgIG1hcmdpbi10b3A6IC02cHgKfQoKLnJhbmdlLWlucHV0IC5jdXN0b20tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHsKICAgIGJhY2tncm91bmQ6ICNlM2U2ZWY7CiAgICBoZWlnaHQ6IC40cmVtOwogICAgd2lkdGg6IDEwMCU7CiAgICBjdXJzb3I6IHBvaW50ZXIKfQoKLmlucHV0LWdyb3VwLWxpZ2h0IC5mb3JtLWNvbnRyb2wgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDsKICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50Cn0KCi5pbnB1dC1ncm91cC1saWdodCBzcGFuIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNTAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgei1pbmRleDogMTA7CiAgICBmb250LXNpemU6IDEuMnJlbQp9CgouaW5wdXQtZ3JvdXAtbGlnaHQgc3Bhbi5pY29uLWxlZnQgewogICAgbGVmdDogMS4zMzMzM3JlbQp9CgouaW5wdXQtZ3JvdXAtbGlnaHQgc3Bhbi5pY29uLWxlZnQrLmZvcm0tY29udHJvbCB7CiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0KfQoKLmlucHV0LWdyb3VwLWxpZ2h0IHNwYW4uaWNvbi1yaWdodCB7CiAgICByaWdodDogMXJlbQp9CgouaW5wdXQtZ3JvdXAtbGlnaHQgc3Bhbi5pY29uLXJpZ2h0Ky5mb3JtLWNvbnRyb2wgewogICAgcGFkZGluZy1yaWdodDogMi42NjY2N3JlbQp9CgouY2hlY2tib3gtZ3JvdXAgLmlucHV0LWdyb3VwLXRleHQgewogICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgIHBhZGRpbmc6IDAgLjhyZW0KfQoKLmNoZWNrYm94LWdyb3VwIC5pbnB1dC1ncm91cC10ZXh0IC5jdXN0b20tY29udHJvbCB7CiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0KfQoKLmNoZWNrYm94LWdyb3VwIC5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7CiAgICBwYWRkaW5nLWxlZnQ6IDFweDsKICAgIHBhZGRpbmctdG9wOiAycHgKfQoKLnJhZGlvLWdyb3VwIC5pbnB1dC1ncm91cC10ZXh0IHsKICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgICBwYWRkaW5nOiAwIC44cmVtCn0KCi5yYWRpby1ncm91cCAuaW5wdXQtZ3JvdXAtdGV4dCAuY3VzdG9tLWNvbnRyb2wgewogICAgcGFkZGluZy1sZWZ0OiAuNTMzMzNyZW0KfQoKLnJhZGlvLWdyb3VwIC5jdXN0b20tY29udHJvbC1sYWJlbCB7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICB3aWR0aDogMS40NjY2N3JlbTsKICAgIGhlaWdodDogMS41MzMzM3JlbTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgbWFyZ2luLWxlZnQ6IC0uNDY2NjdyZW0KfQoKLmN1c3RvbS1jaGVja2JveCB7CiAgICBtYXJnaW4tYm90dG9tOiAyLjMzMzMzcmVtCn0KCi5jdXN0b20tY2hlY2tib3g6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWxhYmVsIHsKICAgIG1pbi13aWR0aDogNi42NjY2N3JlbTsKICAgIHBhZGRpbmctbGVmdDogMi4zMzMzM3JlbTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgouY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICB3aWR0aDogMS40NjY2N3JlbTsKICAgIGhlaWdodDogMS40NjY2N3JlbTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4OwogICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgdG9wOiAwOwogICAgbGVmdDogMAp9CgouY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgewogICAgd2lkdGg6IDEuNHJlbTsKICAgIGhlaWdodDogMS40cmVtOwogICAgdG9wOiAwCn0KCi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwogICAgY29udGVudDogIlxmMTdiIjsKICAgIGZvbnQtZmFtaWx5OiBMaW5lQXdlc29tZTsKICAgIGxlZnQ6IDA7CiAgICBmb250LXNpemU6IC44NjY2N3JlbTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHRvcDogMnB4OwogICAgZm9udC13ZWlnaHQ6IDYwMAp9CgouY2hlY2tib3gtb3V0bGluZSAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6IDAgMAp9CgouY2hlY2tib3gtb3V0bGluZSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiAwIDAKfQoKLmNoZWNrYm94LW91dGxpbmUgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwogICAgY29udGVudDogIlxmMTdiIjsKICAgIGZvbnQtZmFtaWx5OiBMaW5lQXdlc29tZTsKICAgIGxlZnQ6IDA7CiAgICBmb250LXNpemU6IC44NjY2N3JlbTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHRvcDogMnB4OwogICAgZm9udC13ZWlnaHQ6IDYwMAp9CgouY2hlY2tib3gtb3V0bGluZS1ncmF5IC5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmUgewogICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZThlZAp9CgouY2hlY2tib3gtb3V0bGluZS1ncmF5IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNGU4ZWQKfQoKLmNoZWNrYm94LW91dGxpbmUtZ3JheSAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHsKICAgIGNvbG9yOiAjNWE2NjcxCn0KCi5jaGVja2JveC1yb3VuZGVkIC5jdXN0b20tY29udHJvbC1sYWJlbDpiZWZvcmUgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCUKfQoKLnRvZ2dsZS1zd2l0Y2ggewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IDRyZW07CiAgICBoZWlnaHQ6IDJyZW0KfQoKLnRvZ2dsZS1zd2l0Y2ggaW5wdXQgewogICAgZGlzcGxheTogbm9uZQp9CgoudG9nZ2xlLXN3aXRjaCAuc2xpZGVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIHJpZ2h0OiAwOwogICAgYm90dG9tOiAwOwogICAgbGVmdDogMDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjYmQwZTM7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIGN1cnNvcjogcG9pbnRlcgp9CgoudG9nZ2xlLXN3aXRjaCAuc2xpZGVyOmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAiIjsKICAgIGhlaWdodDogMS42cmVtOwogICAgd2lkdGg6IDEuNnJlbTsKICAgIGxlZnQ6IC4ycmVtOwogICAgYm90dG9tOiAuMnJlbTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgoudG9nZ2xlLXN3aXRjaCBpbnB1dDpjaGVja2VkKy5zbGlkZXI6YmVmb3JlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KQp9CgoudG9nZ2xlLXN3aXRjaCBpbnB1dDpmb2N1cysuc2xpZGVyIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDFweCAjMjE5NmYzOwogICAgYm94LXNoYWRvdzogMCAwIDFweCAjMjE5NmYzCn0KCi50b2dnbGUtc3dpdGNoIC5zbGlkZXIucm91bmQgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxLjY2NjY3cmVtOwogICAgYm9yZGVyLXJhZGl1czogMS42NjY2N3JlbQp9CgoudG9nZ2xlLXN3aXRjaCAuc2xpZGVyLnJvdW5kOmJlZm9yZSB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJQp9CgoudG9nZ2xlLXN3aXRjaC10ZXh0IHsKICAgIHdpZHRoOiA0LjY2NjY3cmVtCn0KCi50b2dnbGUtc3dpdGNoLXRleHQgaW5wdXQ6Y2hlY2tlZCsuc2xpZGVyOmJlZm9yZSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyLjY2NjY3cmVtKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMi42NjY2N3JlbSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMi42NjY2N3JlbSkKfQoKLnRvZ2dsZS1zd2l0Y2gtdGV4dCBpbnB1dDpjaGVja2VkKy5zbGlkZXIgLm9uIHsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICBvcGFjaXR5OiAxCn0KCi50b2dnbGUtc3dpdGNoLXRleHQgaW5wdXQ6Y2hlY2tlZCsuc2xpZGVyIC5vZmYgewogICAgdmlzaWJpbGl0eTogaGlkZGVuCn0KCi50b2dnbGUtc3dpdGNoLXRleHQgLnNsaWRlci5yb3VuZCAub24gewogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi50b2dnbGUtc3dpdGNoLXRleHQgLnNsaWRlci5yb3VuZCAub2ZmLAoudG9nZ2xlLXN3aXRjaC10ZXh0IC5zbGlkZXIucm91bmQgLm9uIHsKICAgIHBhZGRpbmctbGVmdDogLjJyZW07CiAgICBtYXJnaW4tdG9wOiAuNHJlbTsKICAgIGZvbnQtc2l6ZTogLjg2NjY3cmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jawp9CgoudG9nZ2xlLXN3aXRjaC10ZXh0IC5zbGlkZXIucm91bmQgLm9uIHsKICAgIHBhZGRpbmctbGVmdDogLjY2NjY3cmVtOwogICAgY29sb3I6ICNmZmYKfQoKLnRvZ2dsZS1zd2l0Y2gtYm9yZGVyZWQgLnNsaWRlciB7CiAgICBiYWNrZ3JvdW5kOiAwIDA7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2JkMGUzCn0KCi50b2dnbGUtc3dpdGNoLWJvcmRlcmVkIC5zbGlkZXI6YmVmb3JlIHsKICAgIGhlaWdodDogMnJlbTsKICAgIHdpZHRoOiAycmVtOwogICAgbGVmdDogLS4wNjY2N3JlbTsKICAgIGJvdHRvbTogLS4wNjY2N3JlbTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYmQwZTMKfQoKLnRvZ2dsZS1zd2l0Y2gtYm9yZGVyZWQgaW5wdXQ6Y2hlY2tlZCsuc2xpZGVyIHsKICAgIGJvcmRlci1jb2xvcjogIzA2YjU5MDsKICAgIGJhY2tncm91bmQ6IDAgMAp9CgoudG9nZ2xlLXN3aXRjaC1ib3JkZXJlZCBpbnB1dDpjaGVja2VkKy5zbGlkZXI6YmVmb3JlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTsKICAgIGJvcmRlci1jb2xvcjogIzA2YjU5MAp9CgpzZWxlY3QuZm9ybS1jb250cm9sIHsKICAgIG1pbi1oZWlnaHQ6IDNyZW07CiAgICBjb2xvcjogIzkxOTJhMwp9Cgouc2VsZWN0LWJhc2ljIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9Cgouc2VsZWN0LWJhc2ljIHNlbGVjdCB7CiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgICBhcHBlYXJhbmNlOiBub25lCn0KCi5zZWxlY3QtYmFzaWM6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICJcZjExMCI7CiAgICByaWdodDogMXJlbTsKICAgIGZvbnQtc2l6ZTogLjhyZW07CiAgICB0b3A6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIGZvbnQtZmFtaWx5OiBMaW5lQXdlc29tZQp9CgouZm9ybS0tcm91bmRlZCB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEuNjY2NjdyZW07CiAgICBib3JkZXItcmFkaXVzOiAxLjY2NjY3cmVtOwogICAgYm9yZGVyOiAwIG5vbmUKfQoKLmlucHV0LWdyb3VwLXN1YnNjcmliZSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4OwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgb3ZlcmZsb3c6IGhpZGRlbgp9CgouaW5wdXQtZ3JvdXAtc3Vic2NyaWJlIGlucHV0IHsKICAgIHdpZHRoOiAxMDAlOwogICAgYm9yZGVyOiAwIG5vbmU7CiAgICBwYWRkaW5nLWxlZnQ6IDRyZW07CiAgICBwYWRkaW5nLXJpZ2h0OiA3LjY2NjY3cmVtOwogICAgaGVpZ2h0OiA0cmVtCn0KCi5pbnB1dC1ncm91cC1zdWJzY3JpYmUgYnV0dG9uIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAwOwogICAgdG9wOiAwOwogICAgaGVpZ2h0OiAxMDAlOwogICAgYm9yZGVyOiAwIG5vbmU7CiAgICBwYWRkaW5nOiAwIDEuNjY2NjdyZW07CiAgICBiYWNrZ3JvdW5kOiAjMDZiNTkwOwogICAgY29sb3I6ICNmZmY7CiAgICBjdXJzb3I6IHBvaW50ZXIKfQoKLmlucHV0LWdyb3VwLXN1YnNjcmliZSAudGV4dC1maWVsZCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLmlucHV0LWdyb3VwLXN1YnNjcmliZSAudGV4dC1maWVsZDpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogJ1xmMWM2JzsKICAgIGZvbnQtZmFtaWx5OiBMaW5lQXdlc29tZTsKICAgIGxlZnQ6IDEuNjY2NjdyZW07CiAgICB0b3A6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIGZvbnQtc2l6ZTogMS40NjY2N3JlbQp9CgouaW5wdXQtZ3JvdXAtc3Vic2NyaWJlLnN1YnNjcmliZS0tcm91bmRlZCBpbnB1dCB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJyZW07CiAgICBib3JkZXItcmFkaXVzOiAycmVtCn0KCi5pbnB1dC1ncm91cC1zdWJzY3JpYmUuc3Vic2NyaWJlLS1yb3VuZGVkIGJ1dHRvbiB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDAgMnJlbSAycmVtIDA7CiAgICBib3JkZXItcmFkaXVzOiAwIDJyZW0gMnJlbSAwCn0KCnNlbGVjdFttdWx0aXBsZV06Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDM2LCA0MCwgLjA1KQp9CgpzZWxlY3RbbXVsdGlwbGVdOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICB3aWR0aDogNnB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQKfQoKc2VsZWN0W211bHRpcGxlXTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZThlZDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4OwogICAgYm9yZGVyLXJhZGl1czogNXB4Cn0KCi5mb3JtLXdyYXBwZXIgLmNhcmRpZnkgaDUgewogICAgZm9udC13ZWlnaHQ6IDYwMAp9Cgouc2VsZWN0Mi1jb250YWluZXIgewogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudAp9Cgouc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiOmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAiXGYxMTAiOwogICAgcmlnaHQ6IDFyZW07CiAgICBmb250LXdlaWdodDogNDAwOwogICAgdG9wOiA1MCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICBmb250LWZhbWlseTogTGluZUF3ZXNvbWUKfQoKLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQKfQoKLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2UgewogICAgbWFyZ2luOiA1cHg7CiAgICBiYWNrZ3JvdW5kOiAjZjFmM2Y4OwogICAgYm9yZGVyOiAwOwogICAgY29sb3I6ICM5MTkyYTM7CiAgICBwYWRkaW5nOiAwIDEwcHgKfQoKLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uczo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMzYsIDQwLCAuMDUpCn0KCi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnM6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgIHdpZHRoOiA2cHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudAp9Cgouc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlOGVkOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7CiAgICBib3JkZXItcmFkaXVzOiA1cHgKfQoKLmN1c3RvbV9zZWxlY3Rfd2l0aF9pY29uIC5zZWxlY3QyLXJlc3VsdHMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkIHNwYW4gc3Bhbi5sYSB7CiAgICBjb2xvcjogIzA2YjU5MAp9CgouY3VzdG9tX3NlbGVjdF93aXRoX2ljb24gLnNlbGVjdDItcmVzdWx0cyAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiBzcGFuIHNwYW4ubGEgewogICAgZm9udC1zaXplOiAxOHB4OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OwogICAgbWFyZ2luLXJpZ2h0OiA0cHg7CiAgICBjb2xvcjogIzkxOTJhMwp9CgouY3VzdG9tLXBob3RvLXVwbG9hZCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLmN1c3RvbS1waG90by11cGxvYWQgaW5wdXQgewogICAgd2lkdGg6IDEzLjMzMzMzcmVtOwogICAgaGVpZ2h0OiAxMy4zMzMzM3JlbTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDA7CiAgICBvcGFjaXR5OiAwOwogICAgbWFyZ2luOiAwOwogICAgY3Vyc29yOiBwb2ludGVyCn0KCi5jdXN0b20tcGhvdG8tdXBsb2FkIC5jdXN0b20tdXBsb2FkLWJveCAuaW1hZ2UtYm94IHsKICAgIHdpZHRoOiAxMy4zMzMzM3JlbTsKICAgIGhlaWdodDogMTMuMzMzMzNyZW07CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGVkOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbgp9CgouY3VzdG9tLXBob3RvLXVwbG9hZCAuY3VzdG9tLXVwbG9hZC1ib3ggLmltYWdlLWJveCAuaWNvbiB7CiAgICBmb250LXNpemU6IDYuNjY2NjdyZW07CiAgICBjb2xvcjogI2U0ZThlZAp9CgouY3VzdG9tLXBob3RvLXVwbG9hZCAuY3VzdG9tLXVwbG9hZC1ib3ggLmltYWdlLWJveCBzcGFuIHsKICAgIGNvbG9yOiAjOTE5MmEzCn0KCi5jdXN0b20tcGhvdG8tdXBsb2FkIC5jdXN0b20tdXBsb2FkLWJveCAuaW1hZ2UtYm94IHNwYW4uZmlsZS1uYW1lIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcgp9CgouY3VzdG9tLXBob3RvLXVwbG9hZCAuY3VzdG9tLXVwbG9hZC1ib3ggLmltYWdlLWluZm8gewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBtYXJnaW4tbGVmdDogMnJlbQp9CgouY3VzdG9tLXBob3RvLXVwbG9hZCAuY3VzdG9tLXVwbG9hZC1ib3ggLmltYWdlLWluZm8gc3BhbiB7CiAgICBjb2xvcjogIzkxOTJhMwp9CgouY3VzdG9tLXVwbG9hZCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLmN1c3RvbS11cGxvYWQgaW5wdXQgewogICAgd2lkdGg6IDEzLjMzMzMzcmVtOwogICAgaGVpZ2h0OiAzLjMzMzMzcmVtOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIG9wYWNpdHk6IDA7CiAgICBtYXJnaW46IDA7CiAgICBjdXJzb3I6IHBvaW50ZXIKfQoKLmN1c3RvbS11cGxvYWQgLmN1c3RvbS11cGxvYWQtYm94IC51cGxvYWQtaW5mbyB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIG1hcmdpbi1sZWZ0OiAycmVtCn0KCi5jdXN0b20tdXBsb2FkIC5jdXN0b20tdXBsb2FkLWJveCAudXBsb2FkLWluZm8gc3BhbiB7CiAgICBjb2xvcjogIzkxOTJhMwp9Cgp0ZXh0YXJlYS5mb3JtLWNvbnRyb2wgewogICAgcGFkZGluZy10b3A6IDFyZW0KfQoKLmZvcm0tY29udHJvbC1sZyB7CiAgICBmb250LXNpemU6IDFyZW0KfQoKLmhlYWRpbmctc3R5bGVzIC5jYXJkLWJvZHkgewogICAgcGFkZGluZzogM3JlbSAzcmVtIDEuOHJlbQp9CgouaGVhZGluZy1zdHlsZXMgLmNhcmQtYm9keSBoMSwKLmhlYWRpbmctc3R5bGVzIC5jYXJkLWJvZHkgaDIsCi5oZWFkaW5nLXN0eWxlcyAuY2FyZC1ib2R5IGgzLAouaGVhZGluZy1zdHlsZXMgLmNhcmQtYm9keSBoNCwKLmhlYWRpbmctc3R5bGVzIC5jYXJkLWJvZHkgaDUsCi5oZWFkaW5nLXN0eWxlcyAuY2FyZC1ib2R5IGg2IHsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5zdWJfaGVhZGluZy1ncm91cCB7CiAgICBtYXJnaW4tYm90dG9tOiAyLjY2cmVtCn0KCi5zdWJfaGVhZGluZy1ncm91cDpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLnN1Yl9oZWFkaW5nLWdyb3VwIGgxLAouc3ViX2hlYWRpbmctZ3JvdXAgaDIsCi5zdWJfaGVhZGluZy1ncm91cCBoMywKLnN1Yl9oZWFkaW5nLWdyb3VwIGg0LAouc3ViX2hlYWRpbmctZ3JvdXAgaDUsCi5zdWJfaGVhZGluZy1ncm91cCBoNiB7CiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0KfQoKLnN1Yl9oZWFkaW5nLWdyb3VwIC5zdWJIZWFkaW5nLXRvcCB7CiAgICBmb250LXNpemU6IDEuMzNyZW07CiAgICBmb250LXdlaWdodDogNTAwOwogICAgbWFyZ2luLWJvdHRvbTogLjRyZW0KfQoKLnN1Yl9oZWFkaW5nLWdyb3VwIC5zdWJIZWFkaW5nLWJvdHRvbSB7CiAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmxlYWQgewogICAgbGluZS1oZWlnaHQ6IDIuNHJlbQp9CgoubGVhZC0tbWVkaXVtIHsKICAgIGZvbnQtc2l6ZTogMS42cmVtOwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGxpbmUtaGVpZ2h0OiAyLjkzcmVtCn0KCnAgewogICAgbGluZS1oZWlnaHQ6IDJyZW0KfQoKaDEsCmgyLApoMywKaDQsCmg1LApoNiB7CiAgICBmb250LXdlaWdodDogNjAwCn0KCi5ibG9ja3F1b3RlIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNGU4ZWQ7CiAgICBwYWRkaW5nOiAyLjVyZW0gMy4zMzMzM3JlbTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjNyZW07CiAgICBib3JkZXItcmFkaXVzOiAuM3JlbTsKICAgIG1hcmdpbjogMAp9CgouYmxvY2txdW90ZSBwIHsKICAgIG1hcmdpbjogMDsKICAgIGZvbnQtc2l6ZTogMS4zM3JlbTsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgbGluZS1oZWlnaHQ6IDIuNHJlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDAKfQoKLmJsb2NrcXVvdGUgLnF1b3RlLWF1dGhvciB7CiAgICBtYXJnaW4tdG9wOiAxLjY2cmVtCn0KCi5ibG9ja3F1b3RlIC5xdW90ZS1hdXRob3IgcCB7CiAgICBmb250LXNpemU6IDFyZW07CiAgICBmb250LXdlaWdodDogNDAwOwogICAgbGluZS1oZWlnaHQ6IDJyZW07CiAgICBjb2xvcjogIzkxOTJhMzsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHBhZGRpbmctbGVmdDogMy42NjY2N3JlbQp9CgouYmxvY2txdW90ZSAucXVvdGUtYXV0aG9yIHA6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICIiOwogICAgd2lkdGg6IDIuNjY2NjdyZW07CiAgICBoZWlnaHQ6IDJweDsKICAgIGJhY2tncm91bmQ6ICMwNmI1OTA7CiAgICBsZWZ0OiAwOwogICAgdG9wOiA1MCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkKfQoKLmJsb2NrcXVvdGUgLnF1b3RlLWF1dGhvciBwIHNwYW4gewogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5ibG9ja3F1b3RlLmJsb2NrcXVvdGUxIC5xdW90ZS1hdXRob3IgewogICAgdGV4dC1hbGlnbjogbGVmdAp9CgouYmxvY2txdW90ZS5ibG9ja3F1b3RlLXNtIHAgewogICAgZm9udC1zaXplOiAxLjA2NjY3cmVtOwogICAgbGluZS1oZWlnaHQ6IDEuODY2NjdyZW0KfQoKLmJsb2NrcXVvdGUuYmxvY2txdW90ZS1zbSAucXVvdGUtYXV0aG9yIHAgewogICAgcGFkZGluZzogMAp9CgouYmxvY2txdW90ZS5ibG9ja3F1b3RlLXNtIC5xdW90ZS1hdXRob3IgcDpiZWZvcmUgewogICAgY29udGVudDogbm9uZQp9CgouYmxvY2txdW90ZS5ibG9ja3F1b3RlLXNtIC5xdW90ZS1hdXRob3IgcCBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMXJlbQp9CgouYmxvY2txdW90ZS5ibG9ja3F1b3RlMywKLmJsb2NrcXVvdGUuYmxvY2txdW90ZTQgewogICAgYm9yZGVyOiAwIG5vbmU7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7CiAgICBib3JkZXItcmFkaXVzOiAwOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20oIzA3NGE1NSksIHRvKCMwNmI1OTApKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICMwNzRhNTUsICMwNmI1OTApOwogICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICMwNzRhNTUsICMwNmI1OTApOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDc0YTU1LCAjMDZiNTkwKQp9CgouYmxvY2txdW90ZS5ibG9ja3F1b3RlMyBwLAouYmxvY2txdW90ZS5ibG9ja3F1b3RlNCBwIHsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBjb2xvcjogI2ZmZgp9CgouYmxvY2txdW90ZS5ibG9ja3F1b3RlMyAucXVvdGUtYXV0aG9yIHAsCi5ibG9ja3F1b3RlLmJsb2NrcXVvdGU0IC5xdW90ZS1hdXRob3IgcCB7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNykKfQoKLmJsb2NrcXVvdGUuYmxvY2txdW90ZTMgLnF1b3RlLWF1dGhvciBzcGFuLAouYmxvY2txdW90ZS5ibG9ja3F1b3RlNCAucXVvdGUtYXV0aG9yIHNwYW4gewogICAgY29sb3I6ICNmZmYKfQoKLmJsb2NrcXVvdGUuYmxvY2txdW90ZTMgLnF1b3RlLWF1dGhvciB7CiAgICB0ZXh0LWFsaWduOiBsZWZ0Cn0KCi5ibG9ja3F1b3RlLmJsb2NrcXVvdGUxLAouYmxvY2txdW90ZS5ibG9ja3F1b3RlMyB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLmJsb2NrcXVvdGUuYmxvY2txdW90ZTE6YmVmb3JlLAouYmxvY2txdW90ZS5ibG9ja3F1b3RlMzpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogIlxmMmNlIjsKICAgIGZvbnQtZmFtaWx5OiBMaW5lQXdlc29tZTsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTsKICAgIGZvbnQtc2l6ZTogOHJlbTsKICAgIGxlZnQ6IDIuMzMzMzNyZW07CiAgICBib3R0b206IC42NjY2N3JlbQp9CgoucXVvdGVzLXdpdGgtaW1hZ2UgewogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20oIzA3NGE1NSksIHRvKCMwNmI1OTApKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICMwNzRhNTUsICMwNmI1OTApOwogICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICMwNzRhNTUsICMwNmI1OTApOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDc0YTU1LCAjMDZiNTkwKQp9CgouYmxvY2txdW90ZTUgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouYmxvY2txdW90ZTUgLnN0cm9uZyB7CiAgICBmb250LXNpemU6IDEuNDY2NjdyZW07CiAgICBmb250LXdlaWdodDogNTAwOwogICAgY29sb3I6ICNmZmY7CiAgICBtYXJnaW4tYm90dG9tOiAyLjMzMzMzcmVtOwogICAgbGluZS1oZWlnaHQ6IDIuNHJlbTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1hcmdpbi10b3A6IDIuNjY2NjdyZW0KfQoKLmJsb2NrcXVvdGU1IC5zdHJvbmc6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICJcZjJjZCI7CiAgICBmb250LWZhbWlseTogTGluZUF3ZXNvbWU7CiAgICBmb250LXNpemU6IDEwcmVtOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpOwogICAgbGVmdDogMDsKICAgIHRvcDogLTFyZW0KfQoKLmJsb2NrcXVvdGU1IHAgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpCn0KCi5ibG9ja3F1b3RlNSAuYXV0aG9yLXNpZ24gewogICAgZm9udC1zaXplOiAyLjMzMzMzcmVtOwogICAgZm9udC1mYW1pbHk6IEFsbHVyYSwgY3Vyc2l2ZTsKICAgIGNvbG9yOiAjZmZmOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW4tdG9wOiAycmVtCn0KCi5ociB7CiAgICBtYXJnaW46IDUuMzMzMzNyZW0gMAp9CgouYWNjb3JkaW9uX29uZSwKLmFjY29yZGlvbl90d28gewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMDUpOwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIHBhZGRpbmc6IDIuNjY2NjdyZW07CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGVkCn0KCi5hY2NvcmRpb25fb25lIC5hY2NvcmRpb24tc2luZ2xlLAouYWNjb3JkaW9uX3R3byAuYWNjb3JkaW9uLXNpbmdsZSB7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZThlZAp9CgouYWNjb3JkaW9uX29uZSAuYWNjb3JkaW9uLXNpbmdsZTpmaXJzdC1jaGlsZCwKLmFjY29yZGlvbl90d28gLmFjY29yZGlvbi1zaW5nbGU6Zmlyc3QtY2hpbGQgewogICAgcGFkZGluZy10b3A6IDAKfQoKLmFjY29yZGlvbl9vbmUgLmFjY29yZGlvbi1zaW5nbGU6Zmlyc3QtY2hpbGQgaDYgYSwKLmFjY29yZGlvbl90d28gLmFjY29yZGlvbi1zaW5nbGU6Zmlyc3QtY2hpbGQgaDYgYSB7CiAgICBwYWRkaW5nLXRvcDogMAp9CgouYWNjb3JkaW9uX29uZSAuYWNjb3JkaW9uLXNpbmdsZTpmaXJzdC1jaGlsZCBoNiBhW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06YmVmb3JlLAouYWNjb3JkaW9uX3R3byAuYWNjb3JkaW9uLXNpbmdsZTpmaXJzdC1jaGlsZCBoNiBhW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06YmVmb3JlIHsKICAgIHRvcDogMTAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpCn0KCi5hY2NvcmRpb25fb25lIC5hY2NvcmRpb24tc2luZ2xlOmZpcnN0LWNoaWxkIGg2IGFbYXJpYS1leHBhbmRlZD1mYWxzZV06YmVmb3JlLAouYWNjb3JkaW9uX3R3byAuYWNjb3JkaW9uLXNpbmdsZTpmaXJzdC1jaGlsZCBoNiBhW2FyaWEtZXhwYW5kZWQ9ZmFsc2VdOmJlZm9yZSB7CiAgICB0b3A6IDEwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKQp9CgouYWNjb3JkaW9uX29uZSAuYWNjb3JkaW9uLXNpbmdsZSBoNiBhLAouYWNjb3JkaW9uX3R3byAuYWNjb3JkaW9uLXNpbmdsZSBoNiBhIHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBwYWRkaW5nOiAxLjMzcmVtIDJyZW0gMXJlbSAwOwogICAgZm9udC1zaXplOiAxLjA2NjY3cmVtOwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGN1cnNvcjogcG9pbnRlcgp9CgouYWNjb3JkaW9uX29uZSAuYWNjb3JkaW9uLXNpbmdsZSBoNiBhW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06YmVmb3JlLAouYWNjb3JkaW9uX3R3byAuYWNjb3JkaW9uLXNpbmdsZSBoNiBhW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICdcZjExMCc7CiAgICBmb250LWZhbWlseTogTGluZUF3ZXNvbWU7CiAgICByaWdodDogMDsKICAgIHRvcDogNTAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgY29sb3I6ICM5MTkyYTM7CiAgICBmb250LXNpemU6IC45MzMzM3JlbQp9CgouYWNjb3JkaW9uX29uZSAuYWNjb3JkaW9uLXNpbmdsZSBoNiBhW2FyaWEtZXhwYW5kZWQ9ZmFsc2VdOmJlZm9yZSwKLmFjY29yZGlvbl90d28gLmFjY29yZGlvbi1zaW5nbGUgaDYgYVthcmlhLWV4cGFuZGVkPWZhbHNlXTpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogJ1xmMTEzJzsKICAgIGZvbnQtZmFtaWx5OiBMaW5lQXdlc29tZSwgc2Fucy1zZXJpZjsKICAgIHJpZ2h0OiAwOwogICAgdG9wOiA1MCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICBmb250LXNpemU6IC45MzMzM3JlbTsKICAgIGNvbG9yOiAjOTE5MmEzCn0KCi5hY2NvcmRpb25fdHdvIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KTsKICAgIHBhZGRpbmc6IDNyZW07CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC4zcmVtOwogICAgYm9yZGVyLXJhZGl1czogLjNyZW0KfQoKLmFjY29yZGlvbl90d28gLmFjY29yZGlvbi1zaW5nbGUgaDYgYVthcmlhLWV4cGFuZGVkPXRydWVdOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGYyOGUnOwogICAgY29sb3I6ICM5MTkyYTMKfQoKLmFjY29yZGlvbl90d28gLmFjY29yZGlvbi1zaW5nbGUgaDYgYVthcmlhLWV4cGFuZGVkPWZhbHNlXTpiZWZvcmUgewogICAgY29udGVudDogJ1xmMmMyJwp9CgouYWNjb3JkaW9uX3RocmVlIC5hY2NvcmRpb24tc2luZ2xlIHsKICAgIG1hcmdpbi1ib3R0b206IDVweAp9CgouYWNjb3JkaW9uX3RocmVlIC5hY2NvcmRpb24taGVhZGluZyBoNiBhIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcGFkZGluZzogMXJlbSAyLjY2NjY3cmVtIDFyZW0gMnJlbTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgbGluZS1oZWlnaHQ6IDEuNDY2NjdyZW07CiAgICBmb250LXNpemU6IDFyZW07CiAgICBmb250LXdlaWdodDogNTAwCn0KCi5hY2NvcmRpb25fdGhyZWUgLmFjY29yZGlvbi1oZWFkaW5nIGg2IGFbYXJpYS1leHBhbmRlZD10cnVlXSB7CiAgICBiYWNrZ3JvdW5kOiAjMDZiNTkwOwogICAgY29sb3I6ICNmZmYKfQoKLmFjY29yZGlvbl90aHJlZSAuYWNjb3JkaW9uLWhlYWRpbmcgaDYgYVthcmlhLWV4cGFuZGVkPXRydWVdOmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGYyOGUnOwogICAgY29sb3I6ICNmZmYKfQoKLmFjY29yZGlvbl90aHJlZSAuYWNjb3JkaW9uLWhlYWRpbmcgaDYgYTpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogJ1xmMmMyJzsKICAgIGZvbnQtZmFtaWx5OiBMaW5lQXdlc29tZTsKICAgIHJpZ2h0OiAycmVtOwogICAgdG9wOiA1MCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICBjb2xvcjogIzkxOTJhMwp9CgouYWNjb3JkaW9uX3RocmVlIC5hY2NvcmRpb24tY29udGVudHMgewogICAgcGFkZGluZzogMS4zM3JlbSAycmVtIC42NnJlbQp9CgouYWNjb3JkaW9uX3RocmVlIC5jb2xsYXBzZWQuYmctZ3JheS1saWdodCB7CiAgICBiYWNrZ3JvdW5kOiAjZjVmNGY3Cn0KCi5hY2NvcmRpb25fZm91ciAuYWNjb3JkaW9uLXNpbmdsZSB7CiAgICBtYXJnaW4tYm90dG9tOiA1cHgKfQoKLmFjY29yZGlvbl9mb3VyIC5hY2NvcmRpb24taGVhZGluZyBoNiBhIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgcGFkZGluZzogMXJlbSAyLjY2NjY3cmVtIDFyZW0gMnJlbTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgbGluZS1oZWlnaHQ6IDEuNDY2NjdyZW07CiAgICBmb250LXNpemU6IDFyZW07CiAgICBmb250LXdlaWdodDogNTAwCn0KCi5hY2NvcmRpb25fZm91ciAuYWNjb3JkaW9uLWhlYWRpbmcgaDYgYVthcmlhLWV4cGFuZGVkPXRydWVdIHsKICAgIGJhY2tncm91bmQ6ICMwNmI1OTA7CiAgICBjb2xvcjogI2ZmZgp9CgouYWNjb3JkaW9uX2ZvdXIgLmFjY29yZGlvbi1oZWFkaW5nIGg2IGFbYXJpYS1leHBhbmRlZD10cnVlXTpiZWZvcmUgewogICAgY29udGVudDogJ1xmMjhlJzsKICAgIGNvbG9yOiAjZmZmCn0KCi5hY2NvcmRpb25fZm91ciAuYWNjb3JkaW9uLWhlYWRpbmcgaDYgYVthcmlhLWV4cGFuZGVkPXRydWVdIGkgewogICAgY29sb3I6ICNmZmYKfQoKLmFjY29yZGlvbl9mb3VyIC5hY2NvcmRpb24taGVhZGluZyBoNiBhOmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnXGYyYzInOwogICAgZm9udC1mYW1pbHk6IExpbmVBd2Vzb21lOwogICAgcmlnaHQ6IDJyZW07CiAgICB0b3A6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIGNvbG9yOiAjOTE5MmEzCn0KCi5hY2NvcmRpb25fZm91ciAuYWNjb3JkaW9uLWhlYWRpbmcgaDYgYSBpIHsKICAgIGZvbnQtc2l6ZTogMS40cmVtOwogICAgY29sb3I6ICMwNmI1OTA7CiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgouYWNjb3JkaW9uX2ZvdXIgLmFjY29yZGlvbi1jb250ZW50cyB7CiAgICBwYWRkaW5nOiAxLjMzcmVtIDJyZW0gLjY2cmVtCn0KCi5hY2NvcmRpb25fZm91ciAuY29sbGFwc2VkLmJnLWdyYXktbGlnaHQgewogICAgYmFja2dyb3VuZDogI2Y1ZjRmNwp9CgouYWxlcnQtZ3JvdXAgLmFsZXJ0Omxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouYWxlcnQgewogICAgYm9yZGVyOiAwIG5vbmUKfQoKLmFsZXJ0IHN0cm9uZyB7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgZm9udC1zaXplOiAxLjA2cmVtCn0KCi5hbGVydCBhIHsKICAgIGNvbG9yOiBpbmhlcml0OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGZvbnQtc2l6ZTogMS4wNnJlbQp9CgouYWxlcnQgcCB7CiAgICBtYXJnaW46IDAKfQoKLmFsZXJ0IGkubGEgewogICAgcGFkZGluZy1yaWdodDogLjY2cmVtOwogICAgZm9udC1zaXplOiAxLjJyZW07CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0b3A6IDJweAp9CgouYWxlcnQuYWxlcnQtb3V0bGluZSB7CiAgICBiYWNrZ3JvdW5kOiAwIDA7CiAgICBib3JkZXI6IDFweCBzb2xpZAp9CgouYWxlcnQuYWxlcnQtZGlzbWlzc2libGUgLmNsb3NlIHsKICAgIHRvcDogNTAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgcmlnaHQ6IDJyZW07CiAgICBwYWRkaW5nOiAwCn0KCi5hbGVydC5hbGVydC1kaXNtaXNzaWJsZSAuY2xvc2U6Zm9jdXMgewogICAgb3V0bGluZTogMAp9CgouY2FyZCB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC4yNjY2N3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4yNjY2N3JlbTsKICAgIG92ZXJmbG93OiBoaWRkZW4KfQoKLmNhcmQgZmlndXJlIHsKICAgIG1hcmdpbjogMAp9CgouY2FyZCAuY2FyZC1ib2R5IC5jYXJkLXRpdGxlIHsKICAgIG1hcmdpbi1ib3R0b206IDI1cHgKfQoKLmNhcmQgLmNhcmQtYm9keSBoNiB7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgbGluZS1oZWlnaHQ6IDEuODY2NjdyZW0KfQoKLmNhcmQgLmNhcmQtYm9keSBoNCBhOmhvdmVyIHsKICAgIGNvbG9yOiAjMDc0YTU1Cn0KCi5jYXJkIC5jYXJkLWZvb3RlciB7CiAgICBwYWRkaW5nOiAxLjY2NjY3cmVtIDJyZW0KfQoKLmNhcmQgLmNhcmQtZm9vdGVyIHVsIHsKICAgIG1hcmdpbjogMAp9CgouY2FyZC5jYXJkLXNoYWRvdyB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMDUpOwogICAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSkKfQoKLmNhcmQuY2FyZC0tZGFyayB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCi5jYXJkLmNhcmQtLWRhcmsgLmNhcmQtaGVhZGVyIHsKICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7CiAgICBwYWRkaW5nOiAxLjUzMzMzcmVtIDJyZW0gMnJlbQp9CgouY2FyZC5jYXJkLS1kYXJrIC5jYXJkLWhlYWRlciBoNSB7CiAgICBtYXJnaW46IDAKfQoKLmNhcmQuY2FyZC0tc2lkZWJhciAuY2FyZC1oZWFkZXIgewogICAgcGFkZGluZzogMnJlbQp9CgouY2FyZC5jYXJkLS1zaWRlYmFyIC5jYXJkLWhlYWRlciBoNCB7CiAgICBtYXJnaW46IDAKfQoKLmNhcmQuY2FyZC0tc2lkZWJhciAuY2FyZC1ib2R5IHsKICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAzLjMzMzMzcmVtCn0KCi5jYXJkLW9uZSB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtCn0KCi5jYXJkLW9uZSBmaWd1cmUgewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5jYXJkLW9uZSBmaWd1cmUgZmlnY2FwdGlvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDA7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDYsIDE4MSwgMTQ0LCAuOCk7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgb3BhY2l0eTogMDsKICAgIHZpc2liaWxpdHk6IGhpZGRlbgp9CgouY2FyZC1vbmUgZmlndXJlIGZpZ2NhcHRpb24gYSB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4OwogICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMy4zMzMzM3JlbTsKICAgIGhlaWdodDogMy4zMzMzM3JlbTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTsKICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuNSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSkKfQoKLmNhcmQtb25lIGZpZ3VyZSBmaWdjYXB0aW9uIGE6aG92ZXIgewogICAgYmFja2dyb3VuZDogIzA3NGE1NTsKICAgIGNvbG9yOiAjZmZmCn0KCi5jYXJkLW9uZSAuY2FyZC1zdWJ0aXRsZSB7CiAgICBtYXJnaW46IDAgMCAuNjY2NjdyZW0gMDsKICAgIGxpbmUtaGVpZ2h0OiAxCn0KCi5jYXJkLW9uZTpob3ZlciBmaWd1cmUgZmlnY2FwdGlvbiB7CiAgICBvcGFjaXR5OiAxOwogICAgdmlzaWJpbGl0eTogdmlzaWJsZQp9CgouY2FyZC1vbmU6aG92ZXIgZmlndXJlIGZpZ2NhcHRpb24gYSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSkKfQoKLmNhcmQtdHdvIC5jYXJkLWZvb3RlciB1bCB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOwogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcAp9CgouY2FyZC10d28gLmNhcmQtZm9vdGVyIHVsIGxpIHsKICAgIGNvbG9yOiAjOTE5MmEzOwogICAgcGFkZGluZy1yaWdodDogMXJlbTsKICAgIG1hcmdpbi1yaWdodDogMXJlbTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgouY2FyZC10d28gLmNhcmQtZm9vdGVyIHVsIGxpOmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnfCc7CiAgICByaWdodDogMDsKICAgIHRvcDogMDsKICAgIGNvbG9yOiAjZTRlOGVkCn0KCi5jYXJkLXR3byAuY2FyZC1mb290ZXIgdWwgbGk6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAKfQoKLmNhcmQtdHdvIC5jYXJkLWZvb3RlciB1bCBsaTpsYXN0LWNoaWxkOmJlZm9yZSB7CiAgICBjb250ZW50OiBub25lCn0KCi5jYXJkLXR3byAuY2FyZC1mb290ZXIgdWwgbGkgYSB7CiAgICBjb2xvcjogIzkxOTJhMwp9CgouY2FyZC10ZXh0LAouY2FyZC10aHJlZSwKLmNhcmQtdmlkZW8gewogICAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50Cn0KCi5jYXJkLXRleHQgLmNhcmQtc3VidGl0bGUsCi5jYXJkLXRocmVlIC5jYXJkLXN1YnRpdGxlLAouY2FyZC12aWRlbyAuY2FyZC1zdWJ0aXRsZSB7CiAgICBtYXJnaW46IDAgMCAuNjY2NjdyZW0gMAp9CgouY2FyZC10ZXh0IC5jYXJkLXRleHQsCi5jYXJkLXRocmVlIC5jYXJkLXRleHQsCi5jYXJkLXZpZGVvIC5jYXJkLXRleHQgewogICAgbWFyZ2luLXRvcDogMXJlbQp9CgouY2FyZC12aWRlbyBmaWd1cmUgewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5jYXJkLXZpZGVvIGZpZ3VyZSBmaWdjYXB0aW9uIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMzIsIDM2LCA0MCwgLjIpOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIKfQoKLmNhcmQtdmlkZW8gZmlndXJlIGZpZ2NhcHRpb24gYSB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4OwogICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICB3aWR0aDogM3JlbTsKICAgIGhlaWdodDogM3JlbTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBjb2xvcjogIzA2YjU5MDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIKfQoKLmNhcmQtdmlkZW8gZmlndXJlIGZpZ2NhcHRpb24gYSAuc3ZnIHsKICAgIHdpZHRoOiAuODY2NjdyZW07CiAgICBmaWxsOiAjMDZiNTkwOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UKfQoKLmNhcmQtdmlkZW8gZmlndXJlIGZpZ2NhcHRpb24gYTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjMDZiNTkwCn0KCi5jYXJkLXZpZGVvIGZpZ3VyZSBmaWdjYXB0aW9uIGE6aG92ZXIgLnN2ZyB7CiAgICBmaWxsOiAjZmZmCn0KCi5jYXJkLXRleHQgLmNhcmQtYm9keSBoNSB7CiAgICBtYXJnaW46IDAgMCAycmVtIDAKfQoKLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudAp9CgouY2FyZC1mb3VyIHsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLmNhcmQtZm91ciAuY2FyZC1ib2R5IC5jYXJkLXN1YnRpdGxlIHsKICAgIG1hcmdpbi1ib3R0b206IDRweAp9CgouY2FyZC1mb3VyIC5jYXJkLWJvZHkgaDUgewogICAgbWFyZ2luLWJvdHRvbTogMS4zM3JlbQp9CgouY2FyZC1mb3VyIC5jYXJkLWJvZHkgaDUgYSB7CiAgICBjb2xvcjogIzIwMjQyOAp9CgouY2FyZC1mb3VyIC5jYXJkLWJvZHkgLmNhcmQtdGV4dCB7CiAgICBtYXJnaW4tYm90dG9tOiAxLjZyZW0KfQoKLmNhcmQtcHJvZHVjdCB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtOwogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5jYXJkLXByb2R1Y3QgZmlndXJlIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG92ZXJmbG93OiBoaWRkZW4KfQoKLmNhcmQtcHJvZHVjdCBmaWd1cmUgZmlnY2FwdGlvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGxlZnQ6IDA7CiAgICBib3R0b206IC03NnB4OwogICAgYmFja2dyb3VuZDogIzA3NGE1NTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgb3BhY2l0eTogMAp9CgouY2FyZC1wcm9kdWN0IGZpZ3VyZSBmaWdjYXB0aW9uIHVsIHsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IC44cmVtIDAKfQoKLmNhcmQtcHJvZHVjdCBmaWd1cmUgZmlnY2FwdGlvbiB1bCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1sZWZ0OiAuNjZyZW0KfQoKLmNhcmQtcHJvZHVjdCBmaWd1cmUgZmlnY2FwdGlvbiB1bCBhLmJ0bi0tcm91bmRlZCB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjMpOwogICAgY29sb3I6ICNmZmYKfQoKLmNhcmQtcHJvZHVjdCBmaWd1cmUgZmlnY2FwdGlvbiB1bCAubGlrZS1idG4gewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5jYXJkLXByb2R1Y3QgZmlndXJlIGZpZ2NhcHRpb24gdWwgLmxpa2UtYnRuIGkgewogICAgei1pbmRleDogMgp9CgouY2FyZC1wcm9kdWN0IGZpZ3VyZSBmaWdjYXB0aW9uIHVsIC5saWtlLWJ0bjpob3ZlciB7CiAgICBjb2xvcjogIzA3NGE1NTsKICAgIGJhY2tncm91bmQ6ICNmZmYKfQoKLmNhcmQtcHJvZHVjdCAuY2FyZC1ib2R5IHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBhZGRpbmc6IDEuNjY2NjdyZW0gMnJlbQp9CgouY2FyZC1wcm9kdWN0IC5jYXJkLWJvZHkgaDYgewogICAgbWFyZ2luLWJvdHRvbTogNXB4Cn0KCi5jYXJkLXByb2R1Y3QgLmNhcmQtYm9keSBoNiBhIHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UKfQoKLmNhcmQtcHJvZHVjdCAuY2FyZC1ib2R5IC5wcmljZXMgewogICAgbWFyZ2luLXRvcDogLjY2NjY3cmVtCn0KCi5jYXJkLXByb2R1Y3QgLmNhcmQtYm9keSAucHJpY2VzIC5wcm9kdWN0LXByaWNlIHsKICAgIGZvbnQtc2l6ZTogMS4zM3JlbTsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBsaW5lLWhlaWdodDogMS4ycmVtOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrCn0KCi5jYXJkLXByb2R1Y3QgLmNhcmQtYm9keSAucHJpY2VzIC5vbGQtcHJpY2UgewogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogN3B4OwogICAgY29sb3I6ICM5MTkyYTM7CiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaAp9CgouY2FyZC1wcm9kdWN0OmhvdmVyIGZpZ3VyZSBmaWdjYXB0aW9uIHsKICAgIG9wYWNpdHk6IDE7CiAgICBib3R0b206IDAKfQoKLmNhcmQtcHJvZHVjdCAuYmFkZ2UgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogLjY2cmVtOwogICAgdG9wOiAuNjZyZW07CiAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgIGZvbnQtc2l6ZTogLjhyZW07CiAgICBmb250LXdlaWdodDogNTAwCn0KCi5jYXJkLXNpeCAuY2FyZC1ib2R5IGg1IHsKICAgIG1hcmdpbi1ib3R0b206IDEuMzMzMzNyZW0KfQoKLmNhcmQtc2l4IC5jYXJkLWJvZHkgaDUgYSB7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi5jYXJkLXNpeCAuY2FyZC1ib2R5IGg1IGE6aG92ZXIgewogICAgY29sb3I6ICMwNmI1OTAKfQoKLmNhcmQtLXNldmVuIC5jYXJkLWJvZHkgewogICAgcGFkZGluZy1ib3R0b206IDJyZW0KfQoKLmNhcmQtLXNldmVuIC5jYXJkLWJvZHkgaDYgewogICAgbWFyZ2luLWJvdHRvbTogMXJlbQp9CgouY2FyZC0tc2V2ZW4gLmNhcmQtYm9keSBoNiBhIHsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi5jYXJkLS1zZXZlbiAuY2FyZC1ib2R5IHAgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouY2FyZC0tc2V2ZW4gLmNhcmQtYm9keSAuYnRuIHsKICAgIG1hcmdpbi10b3A6IDEuNjY2NjdyZW0KfQoKLmNhcmQtLXNldmVuOmhvdmVyIC5jYXJkLWJvZHkgaDUgYSB7CiAgICBjb2xvcjogIzA2YjU5MAp9CgouY2FyZC0tZWlnaHQgLmNhcmQtYm9keSB7CiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbQp9CgouY2FyZC0tZWlnaHQgLmNhcmQtYm9keSBoNSB7CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtCn0KCi5jYXJkLS1laWdodCAuY2FyZC1ib2R5IGg1IGEgewogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UKfQoKLmNhcmQtLWVpZ2h0IC5jYXJkLWJvZHkgaDUgYTpob3ZlciB7CiAgICBjb2xvcjogIzA2YjU5MAp9CgouY2FyZC0tZWlnaHQgLmNhcmQtYm9keSBwIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmNhcmQtLWVpZ2h0IC5jYXJkLWJvZHkgLmJ0biB7CiAgICBtYXJnaW4tdG9wOiAxLjY2NjY3cmVtCn0KCi5jYXJkLS10ZW4gewogICAgbWFyZ2luLWJvdHRvbTogNC42NjY2N3JlbQp9CgouY2FyZC0tdGVuIGZpZ3VyZSB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5jYXJkLS1lbGV2ZW4gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgYm9yZGVyOiAwIG5vbmU7CiAgICBvdmVyZmxvdzogaGlkZGVuCn0KCi5jYXJkLS1lbGV2ZW4gZmlndXJlIGltZyB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC4zMzMzM3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4zMzMzM3JlbQp9CgouY2FyZC0tZWxldmVuIC5jYXJkLWJvZHkgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYm90dG9tOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgbWluLWhlaWdodDogMTAwcHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDcsIDc0LCA4NSwgLjcpOwogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHBhZGRpbmc6IDEuMzMzMzNyZW0gMnJlbTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgouY2FyZC0tZWxldmVuIC5jYXJkLWJvZHkgLmNhcmQtY29udGVudHMgLmNvbnRlbnQtdG9wIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcgp9CgouY2FyZC0tZWxldmVuIC5jYXJkLWJvZHkgLmNhcmQtY29udGVudHMgLmNvbnRlbnQtdG9wIHNwYW4gewogICAgZm9udC1zaXplOiAyLjRyZW07CiAgICBjb2xvcjogI2ZmZjsKICAgIG1hcmdpbi1yaWdodDogMXJlbQp9CgouY2FyZC0tZWxldmVuIC5jYXJkLWJvZHkgLmNhcmQtY29udGVudHMgLmNvbnRlbnQtdG9wIGg2IHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmNhcmQtLWVsZXZlbiAuY2FyZC1ib2R5IC5jYXJkLWNvbnRlbnRzIC5jb250ZW50LWJvdHRvbSB7CiAgICBtYXgtaGVpZ2h0OiAwOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuNXMgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IC41cyBlYXNlOwogICAgdHJhbnNpdGlvbjogLjVzIGVhc2U7CiAgICBvdmVyZmxvdzogaGlkZGVuCn0KCi5jYXJkLS1lbGV2ZW4gLmNhcmQtYm9keSAuY2FyZC1jb250ZW50cyAuY29udGVudC1ib3R0b20gcCB7CiAgICBtYXJnaW4tdG9wOiAxcmVtCn0KCi5jYXJkLS1lbGV2ZW4gLmNhcmQtYm9keSBoNiB7CiAgICBjb2xvcjogI2ZmZjsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmNhcmQtLWVsZXZlbiAuY2FyZC1ib2R5IHAgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjkpOwogICAgbWFyZ2luLWJvdHRvbTogMnJlbQp9CgouY2FyZC0tZWxldmVuOmhvdmVyIC5jYXJkLWJvZHkgewogICAgbWluLWhlaWdodDogMTAwJQp9CgouY2FyZC0tZWxldmVuOmhvdmVyIC5jYXJkLWJvZHkgLmNhcmQtY29udGVudHMgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDEwMCU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiA1MCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICBwYWRkaW5nOiAwIDIuNjY2NjdyZW0KfQoKLmNhcmQtLWVsZXZlbjpob3ZlciAuY2FyZC1ib2R5IC5jYXJkLWNvbnRlbnRzIC5jb250ZW50LXRvcCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHRleHQtYWxpZ246IGNlbnRlcgp9CgouY2FyZC0tZWxldmVuOmhvdmVyIC5jYXJkLWJvZHkgLmNhcmQtY29udGVudHMgLmNvbnRlbnQtdG9wIHNwYW4gewogICAgZGlzcGxheTogbm9uZQp9CgouY2FyZC0tZWxldmVuOmhvdmVyIC5jYXJkLWJvZHkgLmNhcmQtY29udGVudHMgLmNvbnRlbnQtdG9wIGg1IHsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLmNhcmQtLWVsZXZlbjpob3ZlciAuY2FyZC1ib2R5IC5jYXJkLWNvbnRlbnRzIC5jb250ZW50LWJvdHRvbSB7CiAgICBtYXgtaGVpZ2h0OiAzMDBweAp9CgouY2FyZC10d2VsdmUgewogICAgYm9yZGVyOiAwIG5vbmU7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4xKTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMSkKfQoKLmNhcmQtdHdlbHZlIC5jYXJkLWJvZHkgewogICAgcGFkZGluZy1ib3R0b206IDJyZW0KfQoKLmNhcmQtdHdlbHZlIC5jYXJkLWJvZHkgLnN0ZXAgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LXNpemU6IDIuNHJlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogIzA2YjU5MDsKICAgIGxpbmUtaGVpZ2h0OiAxCn0KCi5jYXJkLXR3ZWx2ZSAuY2FyZC1ib2R5IGg2IHsKICAgIG1hcmdpbjogMXJlbSAwOwogICAgY29sb3I6ICMyMDI0MjgKfQoKLmNhcmQtdHdlbHZlIC5jYXJkLWJvZHkgcCB7CiAgICBtYXJnaW4tYm90dG9tOiAxLjZyZW0KfQoKLmNhcmQtLWZvdXJ0ZWVuIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGJvcmRlcjogMCBub25lCn0KCi5jYXJkLS1mb3VydGVlbjpob3ZlciAuY2FyZC1ib2R5IHsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICBvcGFjaXR5OiAxOwogICAgYm90dG9tOiAwCn0KCi5jYXJkLS1mb3VydGVlbiBmaWd1cmUgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuCn0KCi5jYXJkLS1mb3VydGVlbiAuY2FyZC1ib2R5IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvdHRvbTogLTUwcHg7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDU1LCAxMjUsIDI1NSwgLjkpOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgcGFkZGluZzogMXJlbSAycmVtOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDsKICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4Cn0KCi5jYXJkLS1mb3VydGVlbiAuY2FyZC1ib2R5IC5jYXJkLWNvbnRlbnRzIC5jb250ZW50LXRvcCBoNiB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5jYXJkLS1mb3VydGVlbiAuY2FyZC1ib2R5IC5jYXJkLWNvbnRlbnRzIC5jb250ZW50LXRvcCBoNiBhIHsKICAgIGNvbG9yOiAjZmZmCn0KCi5jYXJkLS1mb3VydGVlbiAuY2FyZC1ib2R5IC5jYXJkLWNvbnRlbnRzIC5jb250ZW50LXRvcCBzcGFuIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC44KTsKICAgIG1hcmdpbi1ib3R0b206IC4zMzMzM3JlbTsKICAgIGRpc3BsYXk6IGJsb2NrCn0KCi5jYXJkLS10ZXN0aW1vbmlhbCB7CiAgICBwYWRkaW5nOiAycmVtOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgei1pbmRleDogMQp9CgouY2FyZC0tdGVzdGltb25pYWw6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICJcZjJjZSI7CiAgICByaWdodDogMnJlbTsKICAgIHRvcDogMnJlbTsKICAgIGNvbG9yOiByZ2JhKDcsIDc0LCA4NSwgLjEpOwogICAgZm9udC1zaXplOiA1LjMzMzMzcmVtOwogICAgZm9udC1mYW1pbHk6IExpbmVBd2Vzb21lOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICB6LWluZGV4OiAtMQp9CgouY2FyZC0tdGVzdGltb25pYWwgLmF1dGhvciB7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIKfQoKLmNhcmQtLXRlc3RpbW9uaWFsIC5hdXRob3IgLmF1dGhvci1zcGVjIHsKICAgIG1hcmdpbi1sZWZ0OiAxcmVtCn0KCi5jYXJkLS10ZXN0aW1vbmlhbCAuYXV0aG9yIC5hdXRob3Itc3BlYyBoNiB7CiAgICBtYXJnaW4tYm90dG9tOiAuNTMzMzNyZW0KfQoKLmNhcmQtLXRlc3RpbW9uaWFsIC5jb250ZW50IHsKICAgIG1hcmdpbi10b3A6IDEuMzMzMzNyZW0KfQoKLmNhcmQtLXRlc3RpbW9uaWFsIC5jb250ZW50IHAgewogICAgbWFyZ2luOiAwCn0KCi5jYXJkLS10ZXN0aW1vbmlhbDIgewogICAgbWFyZ2luLWJvdHRvbTogMnJlbTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNmM2YzZjMgIWltcG9ydGFudAp9CgouY2FyZC0tdGVzdGltb25pYWwyIC5jYXJkLWJvZHkgaDYgewogICAgcGFkZGluZy10b3A6IDE4cHg7CiAgICBjb2xvcjogIzIwMjQyOAp9CgouY2FyZC0tdGVzdGltb25pYWwyIC5yYXRpbmdzIHsKICAgIG1hcmdpbjogLjMzMzMzcmVtIDAgMXJlbSAwOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIKfQoKLmNhcmQtLXRlc3RpbW9uaWFsMiAucmF0aW5ncyBzcGFuIHsKICAgIG1hcmdpbjogMCAxcHggMCAwCn0KCi5jYXJkLS10ZXN0aW1vbmlhbDIgLnJhdGluZ3Mgc3BhbjpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi0tcmlnaHQ6IDAKfQoKLmNhcmQtLXRlc3RpbW9uaWFsMiAuYXV0aG9yLXNwZWMgewogICAgbWFyZ2luLXRvcDogMS4zMzMzM3JlbTsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmNhcmQtLXRlc3RpbW9uaWFsMiAuYXV0aG9yLXNwZWMgc3Ryb25nIHsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogIzIwMjQyOAp9CgoudGVhbS1jYXJvdXNlbC1vbmUgLm5hdi1zcXVhcmUgewogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi50ZWFtLWNhcm91c2VsLW9uZTpob3ZlciAubmF2LXNxdWFyZSB7CiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwogICAgb3BhY2l0eTogMQp9CgouY2FyZC0tdGVhbTEgewogICAgYm9yZGVyOiAxcHggc29saWQgI2YzZjNmMyAhaW1wb3J0YW50Cn0KCi5jYXJkLS10ZWFtMSAuY2FyZC1ib2R5IHsKICAgIHBhZGRpbmc6IDJyZW0KfQoKLmNhcmQtLXRlYW0xIC5jYXJkLWJvZHkgaDYgewogICAgbWFyZ2luOiAxLjMzMzMzcmVtIDAgLjY2NjY3cmVtIDAKfQoKLmNhcmQtLXRlYW0xIC5jYXJkLWJvZHkgLnRlYW0tZGVzaWduYXRpb24gewogICAgcGFkZGluZzogMCAxcmVtOwogICAgbGluZS1oZWlnaHQ6IDJyZW07CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDYsIDE4MSwgMTQ0LCAuMSk7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIGNvbG9yOiAjMDZiNTkwCn0KCi5jYXJkLS10ZWFtMSAuY2FyZC1ib2R5IC50ZWFtLXNvY2lhbCB7CiAgICBtYXJnaW46IDEuNjY2NjdyZW0gMCAwIDAKfQoKLmNhcmQtLXRlYW0xIC5jYXJkLWJvZHkgLnRlYW0tc29jaWFsIGxpIHsKICAgIG1hcmdpbi1yaWdodDogLjY2NjY3cmVtCn0KCi5jYXJkLS10ZWFtMSAuY2FyZC1ib2R5IC50ZWFtLXNvY2lhbCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1yaWdodDogMAp9CgouY2FyZC0tdGVhbTEgLmNhcmQtYm9keSAudGVhbS1zb2NpYWwgbGkgYSB7CiAgICBjb2xvcjogcmdiYSgxNDUsIDE0NiwgMTYzLCAuNyk7CiAgICBmb250LXNpemU6IC45MzMzM3JlbTsKICAgIHdpZHRoOiAyLjI2NjY3cmVtOwogICAgaGVpZ2h0OiAyLjI2NjY3cmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHJlbTsKICAgIGJvcmRlci1yYWRpdXM6IDIwcmVtOwogICAgYmFja2dyb3VuZDogcmdiYSgyNDUsIDI0NywgMjUyLCAuNSk7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcgp9CgouY2FyZC0tdGVhbTEgLmNhcmQtYm9keSAudGVhbS1zb2NpYWwgbGkgYTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZgp9CgouY2FyZC0tdGVhbTIgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwOwogICAgYm9yZGVyLXJhZGl1czogMDsKICAgIGJvcmRlcjogMCBub25lCn0KCi5jYXJkLS10ZWFtMiBmaWd1cmUgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIG1hcmdpbi1ib3R0b206IC42NjY2N3JlbQp9CgouY2FyZC0tdGVhbTIgZmlndXJlIGZpZ2NhcHRpb24gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwOwogICAgYmFja2dyb3VuZDogIzA3NGE1NTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgb3BhY2l0eTogMDsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguOSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKC45KTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjRzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiAuNHMgZWFzZTsKICAgIHRyYW5zaXRpb246IC40cyBlYXNlCn0KCi5jYXJkLS10ZWFtMiBmaWd1cmUgZmlnY2FwdGlvbiAudGVhbS1zb2NpYWwgewogICAgbWFyZ2luOiAwIDAgMi42NjY2N3JlbSAwCn0KCi5jYXJkLS10ZWFtMiBmaWd1cmUgZmlnY2FwdGlvbiAudGVhbS1zb2NpYWwgbGkgewogICAgbWFyZ2luLXJpZ2h0OiAxLjMzMzMzcmVtCn0KCi5jYXJkLS10ZWFtMiBmaWd1cmUgZmlnY2FwdGlvbiAudGVhbS1zb2NpYWwgbGk6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAKfQoKLmNhcmQtLXRlYW0yIGZpZ3VyZSBmaWdjYXB0aW9uIC50ZWFtLXNvY2lhbCBsaSBhIHsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiAxLjA2NjY3cmVtCn0KCi5jYXJkLS10ZWFtMiBmaWd1cmUgZmlnY2FwdGlvbiAuYnRuLW91dGxpbmUtbGlnaHQgewogICAgY29sb3I6ICNmZmYKfQoKLmNhcmQtLXRlYW0yIC5jYXJkLWJvZHkgewogICAgcGFkZGluZzogMXJlbTsKICAgIHRleHQtYWxpZ246IGNlbnRlcgp9CgouY2FyZC0tdGVhbTIgLmNhcmQtYm9keSBoNiB7CiAgICBjb2xvcjogI2ZmZjsKICAgIG1hcmdpbi1ib3R0b206IC4zMzMzM3JlbQp9CgouY2FyZC0tdGVhbTIgLmNhcmQtYm9keSBzcGFuIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KQp9CgouY2FyZC0tdGVhbTI6aG92ZXIgZmlndXJlIGZpZ2NhcHRpb24gewogICAgb3BhY2l0eTogMTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSkKfQoKLmNhcmQtLXRlYW0zIHsKICAgIGJvcmRlcjogMCBub25lOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAyMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMDUpOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLWJvdHRvbTogMnJlbQp9CgouY2FyZC0tdGVhbTMgLmNhcmRfX3RodW1ibmFpbCBpbWcgewogICAgd2lkdGg6IDEwMCUKfQoKLmNhcmQtLXRlYW0zIC5jYXJkLWJvZHkgewogICAgcGFkZGluZzogMS42cmVtIDJyZW0KfQoKLmNhcmQtLXRlYW0zIC5jYXJkLWJvZHk+cCB7CiAgICBtYXJnaW4tYm90dG9tOiAyNXB4Cn0KCi5jYXJkLS10ZWFtMyAuY2FyZC1ib2R5IGg2IHsKICAgIG1hcmdpbi1ib3R0b206IC4zMzMzM3JlbTsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5jYXJkLS10ZWFtMyAuY2FyZC1ib2R5IC5zdWJ0aXRsZSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbi1ib3R0b206IDFyZW07CiAgICBmb250LXNpemU6IC45MzMzM3JlbTsKICAgIGNvbG9yOiAjOTE5MmEzCn0KCi5jYXJkLmNhcmQtLXRlYW00IHsKICAgIG1hcmdpbi1ib3R0b206IDJyZW07CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdzsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93OwogICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcgp9CgouY2FyZC5jYXJkLS10ZWFtNCAudGVhbS1pbWFnZSB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAwOwogICAgLXdlYmtpdC1mbGV4OiBub25lOwogICAgLW1zLWZsZXg6IG5vbmU7CiAgICBmbGV4OiBub25lCn0KCi5jYXJkLmNhcmQtLXRlYW00IC50ZWFtLWluZm8gaDYgewogICAgbWFyZ2luLWJvdHRvbTogNXB4Cn0KCi5jYXJkLmNhcmQtLXRlYW00IC50ZWFtLWluZm8gaDYgYSB7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgouY2FyZC5jYXJkLS10ZWFtNCBwIHsKICAgIG1hcmdpbjogMAp9CgouY2FyZC5jYXJkLS10ZWFtNDpob3ZlciAudGVhbS1pbmZvIGg1IGEgewogICAgY29sb3I6ICMwNzRhNTUKfQoKLnBvc3QtLWNhcmQgewogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMDUpOwogICAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSkKfQoKLnBvc3QtLWNhcmQgLmNhcmQtYm9keSBoNiB7CiAgICBtYXJnaW46IDAgMCAuNjY2NjdyZW0gMAp9CgoucG9zdC0tY2FyZCAuY2FyZC1ib2R5IGg2IGEgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgoucG9zdC0tY2FyZCAuY2FyZC1ib2R5IGg2IGE6aG92ZXIgewogICAgY29sb3I6ICMwNzRhNTUKfQoKLnBvc3QtLWNhcmQgLmNhcmQtYm9keSAucG9zdC1tZXRhIHsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0KfQoKLnBvc3QtLWNhcmQgLmNhcmQtYm9keSAucG9zdC1tZXRhIGxpIHsKICAgIGNvbG9yOiAjOTE5MmEzOwogICAgbWFyZ2luLXJpZ2h0OiAxcmVtCn0KCi5wb3N0LS1jYXJkIC5jYXJkLWJvZHkgLnBvc3QtbWV0YSBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1yaWdodDogMAp9CgoucG9zdC0tY2FyZCAuY2FyZC1ib2R5IHAgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgoucG9zdC0tY2FyZDIgZmlndXJlIHsKICAgIHBhZGRpbmc6IDEuMzMzMzNyZW0gMS4zMzMzM3JlbSAwOwogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5wb3N0LS1jYXJkMiBmaWd1cmUgZmlnY2FwdGlvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAyLjY2NjY3cmVtOwogICAgYm90dG9tOiAxLjMzMzMzcmVtCn0KCi5wb3N0LS1jYXJkMiBmaWd1cmUgZmlnY2FwdGlvbiBhIHsKICAgIHdpZHRoOiAyLjY2NjY3cmVtOwogICAgaGVpZ2h0OiAyLjY2NjY3cmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBiYWNrZ3JvdW5kOiAjZTIzNjM2OwogICAgY29sb3I6ICNmZmY7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcgp9CgoucG9zdC0tY2FyZDIgLmNhcmQtYm9keSBoNSB7CiAgICBtYXJnaW4tYm90dG9tOiAuNjY2NjdyZW0KfQoKLnBvc3QtLWNhcmQyIC5jYXJkLWJvZHkgLnBvc3QtbWV0YSB7CiAgICBwYWRkaW5nLWJvdHRvbTogMS4zMzMzM3JlbTsKICAgIG1hcmdpbi1ib3R0b206IDEuMzMzMzNyZW07CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZThlZDsKICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOwogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcAp9CgoucG9zdC0tY2FyZDIgLmNhcmQtYm9keSAucG9zdC1tZXRhIGxpIGEgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgoucG9zdC0tY2FyZDIgLmNhcmQtYm9keSAucG9zdC1tZXRhIGxpIGE6aG92ZXIgewogICAgY29sb3I6ICMwNzRhNTUKfQoKLnBvc3QtLWNhcmQyLnBvc3QtLWNhcmQzIGZpZ3VyZSB7CiAgICBwYWRkaW5nOiAwCn0KCi5wb3N0LS1jYXJkMi5wb3N0LS1jYXJkMyBmaWd1cmUgZmlnY2FwdGlvbiB7CiAgICBsZWZ0OiAxLjMzMzMzcmVtCn0KCi5wb3N0LS1jYXJkMi5wb3N0LS1jYXJkMyAuY2FyZC1ib2R5IGg2IHsKICAgIG1hcmdpbi1ib3R0b206IC42NjY2N3JlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjg2NjY3cmVtCn0KCi5wb3N0LS1jYXJkMi5wb3N0LS1jYXJkMyAuY2FyZC1ib2R5IC5wb3N0LW1ldGEgewogICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTsKICAgIG1hcmdpbi1ib3R0b206IC44cmVtCn0KCi5jYXJkLS1yb3VuZGVkIHsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjUzMzMzcmVtOwogICAgYm9yZGVyLXJhZGl1czogLjUzMzMzcmVtCn0KCi5jYXJkLS10ZWFtMSwKLmNhcmQtLXRlYW0yLAouY2FyZC1zdHlsZS1laWdodCAuY2FyZC0tZWlnaHQsCi5jYXJkLXN0eWxlLWVsZXZlbiAuY2FyZC0tZWxldmVuLAouY2FyZC1zdHlsZS1mb3VydGVlbiAuY2FyZC0tZm91cnRlZW4sCi5jYXJkLXN0eWxlLW5pbmUgLmNhcmQtLW5pbmUsCi5jYXJkLXN0eWxlLXNldmVuIC5jYXJkLS1zZXZlbiwKLmNhcmQtc3R5bGUtdHdlbHZlIC5jYXJkLXR3ZWx2ZSwKLmNhcmQtc3R5bGUtdHdvIC5jYXJkLXR3bywKLnBvc3QtLWNhcmQxIC5wb3N0LS1jYXJkIHsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLnBvc3QtLWNhcmQ0IHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4xKTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMSk7CiAgICBib3JkZXI6IDAgbm9uZTsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLnBvc3QtLWNhcmQ0OmhvdmVyIHsKICAgIGJvcmRlcjogMCBub25lCn0KCi5wb3N0LS1jYXJkNCAuY2FyZC1ib2R5IC5wb3N0LW1ldGEgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouZGl2aWRlciBoMSwKLmRpdmlkZXIgaDIgewogICAgbWFyZ2luLWJvdHRvbTogLjMzMzMzcmVtCn0KCi5kaXZpZGVyIC5kaXZpZGVyLXNwbGl0IHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOiA1LjY2cmVtOwogICAgaGVpZ2h0OiAuMzMzMzNyZW07CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLmRpdmlkZXIgLmRpdmlkZXItc3BsaXQ6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICcnOwogICAgd2lkdGg6IDRyZW07CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwOwogICAgYmFja2dyb3VuZDogIzA3NGE1NTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMy4zMzMzM3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IDMuMzMzMzNyZW0KfQoKLmRpdmlkZXIgLmRpdmlkZXItc3BsaXQ6YWZ0ZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogJyc7CiAgICB3aWR0aDogMXJlbTsKICAgIGhlaWdodDogMTAwJTsKICAgIHJpZ2h0OiAwOwogICAgdG9wOiAwOwogICAgYmFja2dyb3VuZDogIzA3NGE1NTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMy4zMzMzM3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IDMuMzMzMzNyZW0KfQoKLmRpdmlkZXIgLmRpdmlkZXItc3RyYWlnaHQgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IDQuNjZyZW07CiAgICBoZWlnaHQ6IC4zMzMzM3JlbTsKICAgIGJhY2tncm91bmQ6ICMwNzRhNTU7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwcHg7CiAgICBib3JkZXItcmFkaXVzOiA1MHB4Cn0KCi5kaXZpZGVyIC5kaXZpZGVyLWxpbmUgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBoZWlnaHQ6IDFweDsKICAgIGJhY2tncm91bmQ6ICNlNGU4ZWQKfQoKLmRpdmlkZXIgcCB7CiAgICBtYXJnaW46IDFyZW0gMCAwIDA7CiAgICBmb250LXNpemU6IDE4cHgKfQoKLmRpdmlkZXIudGV4dC1jZW50ZXIgcCB7CiAgICBtYXgtd2lkdGg6IDQwcmVtCn0KCi5kaXZpZGVyLmRpdmlkZXItbGlnaHQgewogICAgbWFyZ2luLWJvdHRvbTogMy4xMzMzM3JlbQp9CgouZGl2aWRlci5kaXZpZGVyLWxpZ2h0IC5kaXZpZGVyLXNwbGl0OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCi5kaXZpZGVyLmRpdmlkZXItbGlnaHQgLmRpdmlkZXItc3BsaXQ6YWZ0ZXIgewogICAgYmFja2dyb3VuZDogI2ZmZgp9CgouZGl2aWRlci5kaXZpZGVyLXNpbXBsZSBoMyB7CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtCn0KCi5kaXZpZGVyLmRpdmlkZXItc2ltcGxlIGgyIHsKICAgIG1hcmdpbi1ib3R0b206IDEuMzMzMzNyZW0KfQoKLnNlY3Rpb24tdGl0bGUtc2ltcGxlIHsKICAgIHdpZHRoOiA0MHJlbTsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgdGV4dC1hbGlnbjogY2VudGVyCn0KCi5zZWN0aW9uLXRpdGxlLXNpbXBsZSBoMSB7CiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Cn0KCi5zdWJ0ZXh0IHsKICAgIGZvbnQtc2l6ZTogMS4zMzMzM3JlbTsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbi1ib3R0b206IC4zMzMzM3JlbQp9Cgouc2VjdGlvbi10aXRsZS1wcmltYXJ5IHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG1hcmdpbi1ib3R0b206IDNyZW0KfQoKLnNlY3Rpb24tdGl0bGUtcHJpbWFyeSBoMyB7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIG1hcmdpbjogMCAwIDFyZW07CiAgICBsaW5lLWhlaWdodDogMi45MzMzM3JlbQp9Cgouc2VjdGlvbi10aXRsZS1wcmltYXJ5IHAgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBtYXJnaW46IDAKfQoKLmZsaXAtY2FyZCB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtCn0KCi5mbGlwLWNhcmQgLmZsaXAtd3JhcHBlciB7CiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwcHg7CiAgICBwZXJzcGVjdGl2ZTogMTAwMHB4OwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7CiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgd2lkdGg6IDEwMCU7CiAgICBtaW4taGVpZ2h0OiAyMnJlbQp9CgouZmxpcC1jYXJkIC5mbGlwLWJhY2ssCi5mbGlwLWNhcmQgLmZsaXAtZnJvbnQgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC4zMzMzM3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4zMzMzM3JlbTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KQp9CgouZmxpcC1jYXJkIC5mbGlwLWZyb250IHsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjZzIGN1YmljLWJlemllciguNSwgLjMsIC4zLCAxKTsKICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC42cyBjdWJpYy1iZXppZXIoLjUsIC4zLCAuMywgMSk7CiAgICAtby10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIGN1YmljLWJlemllciguNSwgLjMsIC4zLCAxKTsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNnMgY3ViaWMtYmV6aWVyKC41LCAuMywgLjMsIDEpOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyBjdWJpYy1iZXppZXIoLjUsIC4zLCAuMywgMSksIC13ZWJraXQtdHJhbnNmb3JtIC42cyBjdWJpYy1iZXppZXIoLjUsIC4zLCAuMywgMSk7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LWZpbHRlcjogYmx1cigwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDApOwogICAgdHJhbnNmb3JtOiByb3RhdGVZKDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOwogICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKICAgIHotaW5kZXg6IDEKfQoKLmZsaXAtY2FyZCAuZmxpcC1iYWNrIHsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjZzIGN1YmljLWJlemllciguNSwgLjMsIC4zLCAxKTsKICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC42cyBjdWJpYy1iZXppZXIoLjUsIC4zLCAuMywgMSk7CiAgICAtby10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIGN1YmljLWJlemllciguNSwgLjMsIC4zLCAxKTsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNnMgY3ViaWMtYmV6aWVyKC41LCAuMywgLjMsIDEpOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyBjdWJpYy1iZXppZXIoLjUsIC4zLCAuMywgMSksIC13ZWJraXQtdHJhbnNmb3JtIC42cyBjdWJpYy1iZXppZXIoLjUsIC4zLCAuMywgMSk7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LWZpbHRlcjogYmx1cigwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7CiAgICB6LWluZGV4OiAxCn0KCi5mbGlwLWNhcmQgLmZsaXAtd3JhcHBlcjpob3ZlciAuZmxpcC1mcm9udCB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QKfQoKLmZsaXAtY2FyZCAuZmxpcC13cmFwcGVyOmhvdmVyIC5mbGlwLWJhY2sgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7CiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkCn0KCi5mbGlwLWNhcmQgLmZsaXAtd3JhcHBlcjpob3ZlciAuZnJvbnQtY29udGVudHMgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNjUwcHgpIHNjYWxlKDEpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC02NTBweCkgc2NhbGUoMSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNjUwcHgpIHNjYWxlKDEpOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOwogICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZAp9CgouZmxpcC1jYXJkIC5mbGlwLXdyYXBwZXI6aG92ZXIgLmJhY2stY29udGVudHMgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWigwKSBzY2FsZSgxKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QKfQoKLmZsaXAtY2FyZCAuYmFjay1jb250ZW50cywKLmZsaXAtY2FyZCAuZnJvbnQtY29udGVudHMgewogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogMCAzcmVtOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdG9wOiA1MCU7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC42cyBjdWJpYy1iZXppZXIoLjUsIC4zLCAuMywgMSk7CiAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAuNnMgY3ViaWMtYmV6aWVyKC41LCAuMywgLjMsIDEpOwogICAgLW8tdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyBjdWJpYy1iZXppZXIoLjUsIC4zLCAuMywgMSk7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIGN1YmljLWJlemllciguNSwgLjMsIC4zLCAxKTsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNnMgY3ViaWMtYmV6aWVyKC41LCAuMywgLjMsIDEpLCAtd2Via2l0LXRyYW5zZm9ybSAuNnMgY3ViaWMtYmV6aWVyKC41LCAuMywgLjMsIDEpOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOwogICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKICAgIHotaW5kZXg6IDIKfQoKLmZsaXAtY2FyZCAuYmFjay1jb250ZW50cyBoNiwKLmZsaXAtY2FyZCAuZnJvbnQtY29udGVudHMgaDYgewogICAgbGluZS1oZWlnaHQ6IDJyZW07CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtCn0KCi5mbGlwLWNhcmQgLmZyb250LWNvbnRlbnRzIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoMCkgc2NhbGUoMSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoMCkgc2NhbGUoMSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgwKSBzY2FsZSgxKQp9CgouZmxpcC1jYXJkIC5mcm9udC1jb250ZW50cyBzcGFuIHsKICAgIGZvbnQtc2l6ZTogNHJlbQp9CgouZmxpcC1jYXJkIC5iYWNrLWNvbnRlbnRzIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNjUwcHgpIHRyYW5zbGF0ZVooNjBweCkgc2NhbGUoLjg4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDY1MHB4KSB0cmFuc2xhdGVaKDYwcHgpIHNjYWxlKC44OCkKfQoKLmZsaXAtY2FyZCAuYmFjay1jb250ZW50cyBwIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC42KQp9CgouZmxpcC1jYXJkIC5iYWNrLWNvbnRlbnRzIC5idG4gewogICAgbWFyZ2luLXRvcDogMS42NnJlbQp9CgouZmxpcC1jYXJkIC5mbGlwLW92ZXJsYXksCi5mbGlwLWNhcmQgLmZsaXAtb3ZlcmxheTIgewogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMAp9CgouZmxpcC1jYXJkIC5mbGlwLW92ZXJsYXkgewogICAgYmFja2dyb3VuZDogI2ZmZgp9CgouaWNvbi1ib3ggc3BhbiB7CiAgICBmb250LXNpemU6IDIuNjY2NjdyZW07CiAgICBtYXJnaW4tYm90dG9tOiAxLjMzMzMzcmVtOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgbGluZS1oZWlnaHQ6IDEKfQoKLmljb24tYm94IGg2IHsKICAgIG1hcmdpbi1ib3R0b206IDEuMTMzMzNyZW0KfQoKLmljb24tYm94IHAgewogICAgbWFyZ2luOiAwCn0KCi5pY29uLWJveC1vbmUsCi5pY29uLWJveC10d28gewogICAgbWFyZ2luLWJvdHRvbTogMy4zMzMzM3JlbQp9CgouaWNvbi1ib3gtdHdvIGg1IHsKICAgIGZvbnQtd2VpZ2h0OiA1MDAKfQoKLmljb24tYm94LXRocmVlIHsKICAgIG1hcmdpbi1ib3R0b206IDJyZW07CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuM3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4zcmVtOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMDUpOwogICAgcGFkZGluZzogM3JlbSAycmVtOwogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5pY29uLWJveC10aHJlZTpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogIiI7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogM3B4OwogICAgYmFja2dyb3VuZDogIzA3NGE1NTsKICAgIGxlZnQ6IDA7CiAgICBib3R0b206IDA7CiAgICBtYXJnaW46IDA7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LXRyYW5zaXRpb246IC41cyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogLjVzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiAuNXMgZWFzZTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMCAwIDZweCA2cHg7CiAgICBib3JkZXItcmFkaXVzOiAwIDAgNnB4IDZweDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApOwogICAgdHJhbnNmb3JtOiBzY2FsZSgwKQp9CgouaWNvbi1ib3gtdGhyZWU6aG92ZXI6YmVmb3JlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIHZpc2liaWxpdHk6IHZpc2libGUKfQoKLmljb24tYm94LXRocmVlIGg2IHsKICAgIG1hcmdpbi1ib3R0b206IDEuMTMzMzNyZW0KfQoKLmljb24tYm94LXRocmVlIHAgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouaWNvbi1yb3VuZGVkLWxnIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIHdpZHRoOiA1LjMzMzMzcmVtOwogICAgaGVpZ2h0OiA1LjMzMzMzcmVtOwogICAgYmFja2dyb3VuZDogIzA3NGE1NTsKICAgIGZvbnQtc2l6ZTogMi40cmVtOwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgY29sb3I6ICNmZmY7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLmljb24tYm94LWZvdXIgewogICAgbWFyZ2luLWJvdHRvbTogMy4zMzMzM3JlbQp9CgouaWNvbi1ib3gtZm91ciAuYm94LWljb24gewogICAgbWFyZ2luLXJpZ2h0OiAycmVtCn0KCi5pY29uLWJveC1mb3VyIC5ib3gtY29udGVudCBoNiB7CiAgICBtYXJnaW46IDAgMCAxLjEzMzMzcmVtIDA7CiAgICBjb2xvcjogIzIwMjQyOAp9CgouaWNvbi1ib3gtZm91ciAuYm94LWNvbnRlbnQgcCB7CiAgICBtYXJnaW46IDAKfQoKLmljb24tYm94LWZvdXI6aG92ZXIgLmljb24tcm91bmRlZC1zbSB7CiAgICBiYWNrZ3JvdW5kOiAjMDZiNTkwCn0KCi5pY29uLXJvdW5kZWQtc20sCi5pY29uLXNxdWFyZS1zbSB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4OwogICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICB3aWR0aDogNHJlbTsKICAgIGhlaWdodDogNHJlbTsKICAgIGJhY2tncm91bmQ6ICMwNzRhNTU7CiAgICBmb250LXNpemU6IDJyZW07CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBjb2xvcjogI2ZmZjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi5pY29uLXJvdW5kZWQtc20gewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBtYXJnaW4tYm90dG9tOiAxLjMzMzMzcmVtCn0KCi5pY29uLXNxdWFyZS1zbSB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJvcmRlci1yYWRpdXM6IDRweAp9CgouaWNvbi1ib3gtZml2ZSB7CiAgICBwYWRkaW5nOiAyLjY2cmVtOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UKfQoKLmljb24tYm94LWZpdmUgLmljb24tcm91bmRlZC1zbSB7CiAgICBiYWNrZ3JvdW5kOiAjMDZiNTkwCn0KCi5pY29uLWJveC1maXZlIGg2IHsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgbWFyZ2luLWJvdHRvbTogMS4xMzMzM3JlbTsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5pY29uLWJveC1maXZlIHAgewogICAgbWFyZ2luLWJvdHRvbTogMi4zM3JlbQp9CgouaWNvbi1ib3gtZml2ZTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjEpOwogICAgYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4xKQp9CgouaWNvbi1ib3gtZml2ZTpob3ZlciAuaWNvbi1yb3VuZGVkLXNtIHsKICAgIGJhY2tncm91bmQ6ICMwNzRhNTUKfQoKLmljb24tYm94LWZpdmU6aG92ZXIgaDUgewogICAgY29sb3I6ICMwNzRhNTUKfQoKLmljb24tYm94LWZpdmU6aG92ZXIgLmJ0bjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjMDc0YTU1OwogICAgYm9yZGVyLWNvbG9yOiAjMDc0YTU1Cn0KCi5pY29uLWJveC1mb3VyIGg2IHsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5pY29uLWJveC1mb3VyIC5pY29uLXNxdWFyZS1zbSB7CiAgICBtYXJnaW4tYm90dG9tOiAyLjMzcmVtCn0KCi5pY29uLWJveC1mb3VyOmhvdmVyIC5pY29uLXNxdWFyZS1zbSB7CiAgICBiYWNrZ3JvdW5kOiAjMDZiNTkwCn0KCi5pY29uLWJveC1laWdodCB7CiAgICBtYXJnaW4tYm90dG9tOiAzLjMzMzMzcmVtCn0KCi5pY29uLWJveC1laWdodCBoNiB7CiAgICBtYXJnaW46IDAgMCAxLjEzMzMzcmVtIDA7CiAgICBjb2xvcjogIzIwMjQyOAp9CgouaWNvbi1ib3gtZWlnaHQgLmljb24tc3F1YXJlLXNtIHsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMwNmI1OTA7CiAgICBjb2xvcjogIzA2YjU5MDsKICAgIG1hcmdpbi1ib3R0b206IDIuMzNyZW0KfQoKLmljb24tYm94LWVpZ2h0IHAgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouaWNvbi1ib3gtZWlnaHQ6aG92ZXIgLmljb24tc3F1YXJlLXNtIHsKICAgIGJhY2tncm91bmQ6ICMwNmI1OTA7CiAgICBib3JkZXItY29sb3I6ICMwNmI1OTA7CiAgICBjb2xvcjogI2ZmZgp9CgouaWNvbi1ib3gtbmluZSB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtOwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjNyZW07CiAgICBib3JkZXItcmFkaXVzOiAuM3JlbTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KTsKICAgIHBhZGRpbmc6IDJyZW0gMS41cmVtCn0KCi5pY29uLWJveC1uaW5lIC5pY29uLXJvdW5kZWQtc20gewogICAgYmFja2dyb3VuZDogMCAwOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2LCAxODEsIDE0NCwgLjIpOwogICAgY29sb3I6ICMwNmI1OTAKfQoKLmljb24tYm94LW5pbmUgaDYgewogICAgbWFyZ2luOiAwCn0KCi5pY29uLWJveC1uaW5lIHAgewogICAgbWFyZ2luOiAxcmVtIDAgMCAwCn0KCi5pY29uLWJveC1uaW5lOmhvdmVyIC5pY29uLXJvdW5kZWQtc20gewogICAgYmFja2dyb3VuZDogIzA2YjU5MDsKICAgIGJvcmRlci1jb2xvcjogIzA2YjU5MDsKICAgIGNvbG9yOiAjZmZmCn0KCi5pY29uLWJveC1pbWcgewogICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZThlZDsKICAgIHBhZGRpbmc6IDNyZW0gMnJlbTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgbWFyZ2luLWJvdHRvbTogMnJlbQp9CgouaWNvbi1ib3gtaW1nIC5zdmcgewogICAgd2lkdGg6IDUuMzMzMzNyZW07CiAgICBtYXJnaW4tYm90dG9tOiAxLjMzcmVtCn0KCi5pY29uLWJveC1pbWcgaDYgewogICAgbWFyZ2luLWJvdHRvbTogMS4xMzMzM3JlbQp9CgouaWNvbi1ib3gtaW1nIHAgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouaWNvbi1ib3gtaW1nIGg2LAouaWNvbi1ib3gtaW1nIHAgewogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UKfQoKLmljb24tYm94LWltZzpob3ZlciB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMDUpOwogICAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSkKfQoKLmljb24tYm94LWltZzIgewogICAgbWFyZ2luLWJvdHRvbTogNS4zM3JlbQp9CgouaWNvbi1ib3gtaW1nMiAuYm94LWljb24gewogICAgbWFyZ2luLXJpZ2h0OiAycmVtCn0KCi5pY29uLWJveC1pbWcyIC5ib3gtaWNvbiAuc3ZnIHsKICAgIHdpZHRoOiA0LjY2NjY3cmVtCn0KCi5pY29uLWJveC1pbWcyIC5ib3gtY29udGVudCBoNiB7CiAgICBtYXJnaW46IDAgMCAxLjEzMzMzcmVtIDAKfQoKLmljb24tYm94LWltZzIgLmJveC1jb250ZW50IHAgewogICAgbWFyZ2luOiAwCn0KCi5pY29uLWJveC1ydGwgewogICAgbWFyZ2luLWJvdHRvbTogNHJlbQp9CgouaWNvbi1ib3gtcnRsIC5ib3gtaWNvbiB7CiAgICBtYXJnaW4tbGVmdDogMnJlbQp9CgouaWNvbi1ib3gtcnRsIGg1IHsKICAgIG1hcmdpbi1ib3R0b206IDEuMTMzMzNyZW0KfQoKLmljb24tYm94LXJ0bDpob3ZlciAuaWNvbi1zcXVhcmUtc20gewogICAgYmFja2dyb3VuZDogIzA2YjU5MAp9CgouaWNvbi1ib3gtMTMgewogICAgbWFyZ2luLWJvdHRvbTogMnJlbTsKICAgIHBhZGRpbmc6IDMuMzMzMzNyZW07CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGVkCn0KCi5pY29uLWJveC0xMz5zcGFuIHsKICAgIGZvbnQtc2l6ZTogMy4ycmVtCn0KCi5pY29uLWJveC1mb3VydGVlbiB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtCn0KCi5pY29uLWJveC1mb3VydGVlbiAuaWNvbi1yb3VuZGVkIHsKICAgIGZvbnQtc2l6ZTogMi40cmVtOwogICAgd2lkdGg6IDQuNjY2NjdyZW07CiAgICBoZWlnaHQ6IDQuNjY2NjdyZW07CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEuNnJlbTsKICAgIGJvcmRlci1yYWRpdXM6IDEuNnJlbTsKICAgIGNvbG9yOiAjZmZmOwogICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgbWFyZ2luLWJvdHRvbTogMnJlbTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi5pY29uLWJveC1mb3VydGVlbjpob3ZlciAuaWNvbi1yb3VuZGVkIHsKICAgIGJhY2tncm91bmQ6ICMwNzRhNTUgIWltcG9ydGFudAp9CgouaWNvbi1ib3gtMTUgewogICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZThlZDsKICAgIHBhZGRpbmc6IDMuMzMzMzNyZW0gMS44NjY2N3JlbTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLmljb24tYm94LTE1IGltZyB7CiAgICBtYXJnaW4tYm90dG9tOiAyLjY2NjY3cmVtCn0KCi5pY29uLWJveC0xNSBoNiB7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIG1hcmdpbi1ib3R0b206IDEuMzMzMzNyZW0KfQoKLmljb24tYm94LTE1OmhvdmVyIHsKICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjE1KTsKICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjE1KTsKICAgIG1hcmdpbi10b3A6IC01cHg7CiAgICBtYXJnaW4tYm90dG9tOiA1cHgKfQoKdWwgewogICAgbWFyZ2luOiAwCn0KCi5saXN0LWl0ZW0gewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0OwogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQKfQoKLmFycm93LWxpc3QxIHsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBtYXJnaW4tYm90dG9tOiAuNDVyZW07CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlCn0KCi5hcnJvdy1saXN0MTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmFycm93LWxpc3QxOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMjEiOwogICAgZm9udC1mYW1pbHk6IExpbmVhd2Vzb21lLCBzYW5zLXNlcmlmOwogICAgbWFyZ2luLXJpZ2h0OiAxMHB4Cn0KCi5hcnJvdy1saXN0MiwKLmFycm93LWxpc3QzLAouYXJyb3ctbGlzdDUgewogICAgbWFyZ2luLWJvdHRvbTogLjhyZW0KfQoKLmFycm93LWxpc3QyOmxhc3QtY2hpbGQsCi5hcnJvdy1saXN0MzpsYXN0LWNoaWxkLAouYXJyb3ctbGlzdDU6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5hcnJvdy1saXN0MiBzcGFuLAouYXJyb3ctbGlzdDMgc3BhbiwKLmFycm93LWxpc3Q1IHNwYW4gewogICAgd2lkdGg6IDEuNHJlbTsKICAgIGhlaWdodDogMS40cmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4OwogICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBmb250LXNpemU6IC42NjY2N3JlbTsKICAgIG1hcmdpbi1yaWdodDogLjg2cmVtOwogICAgY29sb3I6ICMwNzRhNTUKfQoKLmFycm93LWxpc3QyIHNwYW4sCi5hcnJvdy1saXN0NSBzcGFuIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoNywgNzQsIDg1LCAuMSkKfQoKLmFycm93LWxpc3QzIHNwYW4gewogICAgYmFja2dyb3VuZDogIzA3NGE1NTsKICAgIGNvbG9yOiAjZmZmCn0KCi5hcnJvdy1saXN0NCB7CiAgICBtYXJnaW4tYm90dG9tOiAuNjZyZW07CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBwYWRkaW5nLWxlZnQ6IDE4cHgKfQoKLmFycm93LWxpc3Q0OmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnXGYxODYnOwogICAgZm9udC1mYW1pbHk6IExpbmVBd2Vzb21lOwogICAgbGVmdDogMDsKICAgIHRvcDogMnB4OwogICAgZm9udC1zaXplOiAuOHJlbQp9CgouYXJyb3ctbGlzdDQ6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5hcnJvdy1saXN0NCBzcGFuIHsKICAgIGNvbG9yOiAjOTE5MmEzOwogICAgcGFkZGluZy1yaWdodDogLjMzMzMzcmVtCn0KCi5hcnJvdy1saXN0NSB7CiAgICBmb250LXdlaWdodDogNTAwCn0KCi5jb250ZW50LWxpc3QgewogICAgbWFyZ2luLWJvdHRvbTogMi42NjY2N3JlbQp9CgouY29udGVudC1saXN0Omxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouY29udGVudC1saXN0IC5pY29uIHsKICAgIG1hcmdpbi1yaWdodDogMXJlbTsKICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgIGxpbmUtaGVpZ2h0OiAxCn0KCi5jb250ZW50LWxpc3QgaDYgewogICAgbWFyZ2luLWJvdHRvbTogLjQ2NjY3cmVtCn0KCi5jb250ZW50LWxpc3QgcCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5jb250ZW50LWxpc3QgLmljb24tY2lyY2xlIHsKICAgIG1hcmdpbi1yaWdodDogMnJlbQp9CgouY29udGVudC1saXN0IC5pY29uLWNpcmNsZSBzcGFuIHsKICAgIHdpZHRoOiA0cmVtOwogICAgaGVpZ2h0OiA0cmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGJhY2tncm91bmQ6ICNmNWY0Zjc7CiAgICBmb250LXNpemU6IDEuNzNyZW07CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgouY29udGVudC1saXN0OmhvdmVyIC5pY29uLWNpcmNsZSBzcGFuIHsKICAgIGJhY2tncm91bmQ6ICMwNmI1OTA7CiAgICBjb2xvcjogI2ZmZgp9CgouaWNvbi1saWdodCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5pY29uLWxpZ2h0IC5jb250ZW50LWxpc3QgLmljb24tY2lyY2xlIHNwYW4gewogICAgY29sb3I6ICNmZmYKfQoKLmljb24tbGlnaHQgLmNvbnRlbnQtbGlzdDpob3ZlciAuaWNvbi1jaXJjbGUgc3BhbiB7CiAgICBiYWNrZ3JvdW5kOiAjMDZiNTkwOwogICAgY29sb3I6ICNmZmYKfQoKLnRleHQtbGlzdCB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtCn0KCi50ZXh0LWxpc3Q6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi50ZXh0LWxpc3QgaDUsCi50ZXh0LWxpc3QgaDYgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW0KfQoKLnRleHQtbGlzdCBwIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLnRleHQtbGlzdCAuc3ViLXRleHQgewogICAgZm9udC1zaXplOiAxLjJyZW07CiAgICBmb250LXdlaWdodDogNDAwOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW4tYm90dG9tOiAuNjZyZW0KfQoKLmltYWdlLWxpc3QgewogICAgbWFyZ2luLWJvdHRvbTogMi4zMzMzM3JlbQp9CgouaW1hZ2UtbGlzdDpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmltYWdlLWxpc3QgLmltZyB7CiAgICBtYXJnaW4tcmlnaHQ6IDEuNjZyZW0KfQoKLmltYWdlLWxpc3QgLmltZyBpbWcgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCUKfQoKLmltYWdlLWxpc3QgaDYgewogICAgbWFyZ2luLWJvdHRvbTogLjY2cmVtOwogICAgY29sb3I6ICMyMDI0MjgKfQoKLmltYWdlLWxpc3QgLnN1Yi10ZXh0IHsKICAgIG1hcmdpbi1ib3R0b206IDFyZW07CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbG9yOiAjOTE5MmEzCn0KCi5pbWFnZS1saXN0IHAgewogICAgbWFyZ2luOiAwCn0KCi5idWxsZXRfbGlzdCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBwYWRkaW5nLWxlZnQ6IDEuNjZyZW07CiAgICBtYXJnaW4tYm90dG9tOiAuNjZyZW0KfQoKLmJ1bGxldF9saXN0Omxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouYnVsbGV0X2xpc3Q6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICIiOwogICAgd2lkdGg6IDdweDsKICAgIGhlaWdodDogN3B4OwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiA2cHgKfQoKLmJ1bGxldF9saXN0IHN0cm9uZyB7CiAgICBmb250LXdlaWdodDogNTAwCn0KCi5idWxsZXRfbGlzdCBwIHsKICAgIG1hcmdpbjogMAp9CgouYnVsbGV0X2xpc3QuYnVsbGV0X2xpc3QtLXRocmVlIHsKICAgIG1hcmdpbi1ib3R0b206IDEuNjY2NjdyZW0KfQoKLmJ1bGxldF9saXN0LmJ1bGxldF9saXN0LS10aHJlZTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmNoZWNrbGlzdCB7CiAgICBtYXJnaW4tYm90dG9tOiAuNjY2NjdyZW07CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcgp9CgouY2hlY2tsaXN0Omxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouY2hlY2tsaXN0IHNwYW4gewogICAgZm9udC1zaXplOiAxcmVtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIG1hcmdpbi1yaWdodDogLjkzcmVtCn0KCi5jaGVja2xpc3QuY2hlY2tsaXN0LWxpZ2h0IHsKICAgIGNvbG9yOiAjZmZmOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIKfQoKLmNoZWNrbGlzdC5jaGVja2xpc3QtbGlnaHQgLnN2ZyB7CiAgICB3aWR0aDogMS4ycmVtOwogICAgZmlsbDogI2ZmZgp9CgouY2hlY2tsaXN0LmNoZWNrbGlzdC1saWdodCBzcGFuIHsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBtYXJnaW4tbGVmdDogLjhyZW0KfQoKLmJsb2ctY2Fyb3VzZWwtb25lIC5wb3N0LXNpbmdsZSAucG9zdC1ib3R0b20gYS5jaGVja2xpc3QuY2hlY2tsaXN0LWxpZ2h0IC5zdmcsCi5jYXJkIC5jYXJkLWJvZHkgaDYgYS5jaGVja2xpc3QuY2hlY2tsaXN0LWxpZ2h0IC5zdmcsCi5jYXJkLS1laWdodCAuY2FyZC1ib2R5IGg1IGEuY2hlY2tsaXN0LmNoZWNrbGlzdC1saWdodCAuc3ZnLAouY2FyZC0tdGVuIC5jYXJkLWJvZHkgaDYgYS5jaGVja2xpc3QuY2hlY2tsaXN0LWxpZ2h0IC5zdmcsCi5jaGVja2xpc3QuY2hlY2tsaXN0LWxpZ2h0LmNvbG9yLWRhcmsgLnN2ZywKLmNvdW50ZXIuY291bnRlci0tNSAuY291bnRlcl9zaW5nbGUgLmNoZWNrbGlzdC5jaGVja2xpc3QtbGlnaHQudGl0bGUgLnN2ZywKLnRhYi50YWItLTEgLnRhYl9uYXYgLm5hdiAuY2hlY2tsaXN0LmNoZWNrbGlzdC1saWdodC5uYXYtbGluayAuc3ZnLApmb290ZXIuZm9vdGVyMiAud2lkZ2V0LnR3aXQtLXdpZGdldCBhLmNoZWNrbGlzdC5jaGVja2xpc3QtbGlnaHQ6aG92ZXIgLnN2ZyB7CiAgICBmaWxsOiAjMjAyNDI4Cn0KCi5jaGVja2xpc3QgLnN2ZyB7CiAgICBtYXJnaW4tcmlnaHQ6IDhweDsKICAgIHdpZHRoOiAuOHJlbQp9CgpAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6bm9uZSksCigtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpIHsKICAgIC5jaGVja2xpc3QgLnN2ZyB7CiAgICAgICAgaGVpZ2h0OiAxMnB4CiAgICB9Cn0KCi5jaGVja2xpc3QuaWNvbi1wcmltYXJ5IC5zdmcgLnN0MCB7CiAgICBmaWxsOiAjMDc0YTU1Cn0KCi5jaGVja2xpc3QuaWNvbi1zZWNvbmRhcnkgLnN2ZyAuc3QwIHsKICAgIGZpbGw6ICMwNmI1OTAKfQoKLmNoZWNrbGlzdC5pY29uLWxpZ2h0IC5zdmcgLnN0MCB7CiAgICBmaWxsOiAjZmZmCn0KCi5jaGVja2xpc3QuaWNvbi1kYXJrIC5zdmcgLnN0MCB7CiAgICBmaWxsOiAjMjAyNDI4Cn0KCi5jaGVja2xpc3QtdGhyZWUgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBtYXJnaW4tYm90dG9tOiAuNjY2NjdyZW07CiAgICBmb250LXdlaWdodDogNTAwCn0KCi5jaGVja2xpc3QtdGhyZWU6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5jaGVja2xpc3QtdGhyZWUgLnN2ZyB7CiAgICB3aWR0aDogLjhyZW0KfQoKQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpLAooLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSB7CiAgICAuY2hlY2tsaXN0LXRocmVlIC5zdmcgewogICAgICAgIGhlaWdodDogMTJweAogICAgfQp9CgouY2hlY2tsaXN0LXRocmVlIC5zdmcgLnN0MCB7CiAgICBmaWxsOiAjMDZiNTkwCn0KCi5jaGVja2xpc3QtdGhyZWUgc3BhbiB7CiAgICBtYXJnaW4tbGVmdDogLjY2NjY3cmVtCn0KCi5jaGVja2xpc3QtdGhyZWUuY2hlY2tsaXN0LWxpZ2h0IHNwYW4gewogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXdlaWdodDogNDAwCn0KCi5jaGVja2xpc3QtdGhyZWUuY2hlY2tsaXN0LWxpZ2h0IC5zdmcgLnN0MCB7CiAgICBmaWxsOiAjZmZmCn0KCi5pY29uLWxpc3QgewogICAgbWFyZ2luLWJvdHRvbTogMXJlbQp9CgouaWNvbi1saXN0Omxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouaWNvbi1saXN0IHNwYW4gewogICAgZm9udC1zaXplOiAxLjMzcmVtOwogICAgcGFkZGluZy1yaWdodDogLjY2cmVtOwogICAgbGluZS1oZWlnaHQ6IDAKfQoKLmljb24tbGlzdCBzdHJvbmcgewogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgbWFyZ2luLXJpZ2h0OiAxcmVtCn0KCi5pY29uLWxpc3QubGlzdC1saWdodCB7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSkKfQoKLmljb24tbGlzdC5saXN0LWxpZ2h0IHN0cm9uZyB7CiAgICBjb2xvcjogI2ZmZgp9CgouaWNvbi1saXN0MiB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtCn0KCi5pY29uLWxpc3QyOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouaWNvbi1saXN0MiAuaWNvbiB7CiAgICBmb250LXNpemU6IDEuOHJlbTsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgbWFyZ2luLXJpZ2h0OiAxcmVtCn0KCi5pY29uLWxpc3QyIGg2IHsKICAgIG1hcmdpbi1ib3R0b206IC42cmVtOwogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgZm9udC1zaXplOiAxLjEzMzMzcmVtCn0KCi5pY29uLWxpc3QyIC5zdWItdGV4dCB7CiAgICBjb2xvcjogIzkxOTJhMwp9CgouaWNvbi1saXN0Mi5saXN0LWxpZ2h0IGg2IHsKICAgIGNvbG9yOiAjZmZmCn0KCi5pY29uLWxpc3QtLXR3byAuaWNvbi1saXN0IHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4Cn0KCi5udW1iZXItbGlzdCB7CiAgICBsaXN0LXN0eWxlOiBub25lOwogICAgY291bnRlci1yZXNldDogbGk7CiAgICBwYWRkaW5nOiAwCn0KCi5udW1iZXItbGlzdCBsaSB7CiAgICBjb3VudGVyLWluY3JlbWVudDogbGk7CiAgICBtYXJnaW4tYm90dG9tOiAuNjZyZW07CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBwYWRkaW5nLWxlZnQ6IDJyZW0KfQoKLm51bWJlci1saXN0IGxpOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgoubnVtYmVyLWxpc3QgbGk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6IGNvdW50ZXIobGkpOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IDFlbTsKICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgZGlyZWN0aW9uOiBydGw7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwOwogICAgZm9udC13ZWlnaHQ6IDUwMAp9CgoubnVtYmVyLWxpc3QgbGkubnVtYmVycy1kZWNpbWFsLXplcm86YmVmb3JlIHsKICAgIGNvbnRlbnQ6IGNvdW50ZXIobGksIGRlY2ltYWwtbGVhZGluZy16ZXJvKTsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5udW1iZXItbGlzdCBsaS5udW1iZXJzLWRlY2ltYWwtemVyby5saXN0LWxpZ2h0OmJlZm9yZSB7CiAgICBjb2xvcjogI2ZmZgp9CgoubnVtYmVyLWxpc3QgbGkubnVtYmVycy1yb21hbjpiZWZvcmUgewogICAgY29udGVudDogY291bnRlcihsaSwgbG93ZXItcm9tYW4pCn0KCi5udW1iZXItbGlzdCBsaS5saXN0LWxpZ2h0IHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KQp9CgoucHJvY2Vzcy1saXN0IHsKICAgIG1hcmdpbjogMAp9CgoucHJvY2Vzcy1saXN0IGxpIHsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLnByb2Nlc3MtbGlzdCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLnByb2Nlc3MtbGlzdCBsaTpsYXN0LWNoaWxkIC5udW1iZXIgc3BhbjpiZWZvcmUgewogICAgY29udGVudDogbm9uZQp9CgoucHJvY2Vzcy1saXN0IGxpOmhvdmVyIC5udW1iZXIgc3BhbiB7CiAgICBiYWNrZ3JvdW5kOiAjMDZiNTkwOwogICAgY29sb3I6ICNmZmYKfQoKLnByb2Nlc3MtbGlzdCAubnVtYmVyIHsKICAgIG1hcmdpbi1yaWdodDogMnJlbQp9CgoucHJvY2Vzcy1saXN0IC5udW1iZXIuZ3JheS1iZyBzcGFuIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoNiwgMTgxLCAxNDQsIC4xKQp9CgoucHJvY2Vzcy1saXN0IC5udW1iZXIgc3BhbiB7CiAgICB3aWR0aDogNC41MzMzM3JlbTsKICAgIGhlaWdodDogNC41MzMzM3JlbTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZm9udC1zaXplOiAxLjZyZW07CiAgICBmb250LXdlaWdodDogNjAwOwogICAgY29sb3I6ICMwNmI1OTA7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgoucHJvY2Vzcy1saXN0IC5jb250ZW50IGg2IHsKICAgIG1hcmdpbi1ib3R0b206IC42NjY2N3JlbTsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgZm9udC13ZWlnaHQ6IDYwMAp9CgoucHJvY2Vzcy1saXN0IC5jb250ZW50IHAgewogICAgbWFyZ2luOiAwCn0KCi5saXN0LWlubGluZS13cmFwcGVyIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDQxLCA0MSwgNTksIC4xKTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSg0MSwgNDEsIDU5LCAuMSkKfQoKLmxpc3QtaW5saW5lLXdyYXBwZXIgLmxpc3QtLWlubGluZSB7CiAgICBtYXJnaW46IDA7CiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5OwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAtbXMtZmxleC13cmFwOiB3cmFwOwogICAgZmxleC13cmFwOiB3cmFwCn0KCi5saXN0LWlubGluZS13cmFwcGVyIC5saXN0LS1pbmxpbmUgbGkgewogICAgbWFyZ2luLWJvdHRvbTogMnJlbTsKICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAtbXMtZmxleDogMTsKICAgIGZsZXg6IDEKfQoKLmxpc3QtaW5saW5lLXdyYXBwZXIgLmxpc3QtLWlubGluZSBsaSAuaWNvbiB7CiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0KfQoKLmxpc3QtaW5saW5lLXdyYXBwZXIgLmxpc3QtLWlubGluZSBsaSAuaWNvbiBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMy4zMzMzM3JlbTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbGluZS1oZWlnaHQ6IDJyZW0KfQoKLmxpc3QtaW5saW5lLXdyYXBwZXIgLmxpc3QtLWlubGluZSBsaSAuY29udGVudHMgaDYgewogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgbWFyZ2luOiAwIDAgNXB4Cn0KCi5saXN0LWNvdW50IHsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0KfQoKLmxpc3QtY291bnQ6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5saXN0LWNvdW50IHNwYW4gewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgoubGlzdC1jb3VudCAuY291bnQgewogICAgbWluLXdpZHRoOiAzcmVtOwogICAgaGVpZ2h0OiAxLjY2NjY3cmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxLjY2NjY3cmVtOwogICAgYm9yZGVyLXJhZGl1czogMS42NjY2N3JlbTsKICAgIGJhY2tncm91bmQ6ICNmNWY3ZmM7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi5saXN0LWNvdW50IGE6aG92ZXIgc3BhbiB7CiAgICBjb2xvcjogIzA3NGE1NQp9CgoubGlzdC1jb3VudCBhOmhvdmVyIC5jb3VudCB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQ6ICMwNzRhNTUKfQoKLnByb2dyZXNzLXdyYXBwZXIgewogICAgbWFyZ2luLWJvdHRvbTogMnJlbQp9CgoucHJvZ3Jlc3Mtd3JhcHBlcjpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLnByb2dyZXNzLXdyYXBwZXIgLmxhYmVscyB7CiAgICBtYXJnaW4tYm90dG9tOiAuNjZyZW0KfQoKLnByb2dyZXNzLXdyYXBwZXIgLmxhYmVscyBzcGFuIHsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5wcm9ncmVzcy13cmFwcGVyIC5sYWJlbHMgc3BhbjpsYXN0LWNoaWxkIHsKICAgIGZvbnQtd2VpZ2h0OiA2MDAKfQoKLnByb2dyZXNzLXdyYXBwZXIgLnByb2dyZXNzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmUKfQoKLnByb2dyZXNzLXdyYXBwZXIgLnByb2dyZXNzIC5wcm9ncmVzcy1iYXIgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMjVyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0KfQoKLnByb2dyZXNzLWRhcmsgewogICAgcGFkZGluZzogMi4zM3JlbSAyLjY2cmVtOwogICAgYmFja2dyb3VuZDogIzIwMjQyOAp9CgoucHJvZ3Jlc3MtZGFyayAubGFiZWxzIHNwYW4gewogICAgY29sb3I6ICNmZmYKfQoKLnByb2dyZXNzLWRhcmsgLnByb2dyZXNzIHsKICAgIGJhY2tncm91bmQ6ICM0MTQxNDQKfQoKLnBhZ2luYXRpb24tYXJlYSAucGFnaW5hdGlvbiAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmssCi5wYWdpbmF0aW9uLWFyZWEgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsgewogICAgY29sb3I6ICM1YTY2NzEKfQoKLnBhZ2luYXRpb24tYXJlYSAucGFnaW5hdGlvbiAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsgewogICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuMnJlbTsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IC4ycmVtOwogICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAuMnJlbTsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IC4ycmVtCn0KCi5wYWdpbmF0aW9uLWFyZWEgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsgewogICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjJyZW07CiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjJyZW07CiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuMnJlbTsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuMnJlbQp9CgoucGFnaW5hdGlvbi1hcmVhIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kOiAjMDc0YTU1OwogICAgYm9yZGVyLWNvbG9yOiAjMDc0YTU1Cn0KCi5wYWdpbmF0aW9uLWFyZWEgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluazpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjMDc0YTU1Cn0KCi5wYWdpbmF0aW9uLWFyZWEgLnBhZ2luYXRpb24gLnBhZ2UtbGluayB7CiAgICBjb2xvcjogIzIwMjQyOAp9CgoucGFnaW5hdGlvbi1hcmVhIC5wYWdpbmF0aW9uIC5wYWdlLWxpbms6aG92ZXIgewogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIGJvcmRlci1jb2xvcjogIzA3NGE1NQp9CgoucGFnaW5hdGlvbi1hcmVhIC5wYWdpbmF0aW9uIC5wYWdlLWxpbms6Zm9jdXMgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogICAgYm94LXNoYWRvdzogbm9uZQp9CgoucGFnaW5hdGlvbi1hcmVhIC5wYWdpbmF0aW9uLnBhZ2luYXRpb24tcm91bmRlZCAucGFnZS1pdGVtIHsKICAgIG1hcmdpbi1yaWdodDogLjY2cmVtCn0KCi5wYWdpbmF0aW9uLWFyZWEgLnBhZ2luYXRpb24ucGFnaW5hdGlvbi1yb3VuZGVkIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAKfQoKLnBhZ2luYXRpb24tYXJlYSAucGFnaW5hdGlvbi5wYWdpbmF0aW9uLXJvdW5kZWQgLnBhZ2UtbGluayB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50OwogICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogMi42NjY2N3JlbTsKICAgIGhlaWdodDogMi42NjY2N3JlbTsKICAgIHBhZGRpbmc6IDA7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcgp9CgoudGFibGUtc3R5bGVzIHsKICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQKfQoKLnRhYmxlLXNlY29uZGFyeS0tZGFya2VuIHsKICAgIGJhY2tncm91bmQ6ICMwNmI1OTAKfQoKLnRhYmxlLXNlY29uZGFyeS0tZGFya2VuIHRoLAoudGFibGUtc2Vjb25kYXJ5LS1kYXJrZW4gdHIgewogICAgY29sb3I6ICNmZmYKfQoKLnRhYmxlIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLnRhYmxlIHRkLAoudGFibGUgdGggewogICAgcGFkZGluZzogMS4zMzMzM3JlbSAycmVtOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZQp9CgoudGFibGUgdGggewogICAgZm9udC13ZWlnaHQ6IDUwMAp9CgoudGFibGUgdGhlYWQgdGggewogICAgYm9yZGVyOiAwIG5vbmUKfQoKLnRhYmxlIHRib2R5IHsKICAgIGJhY2tncm91bmQ6ICNmZmYKfQoKLnRhYmxlIHRib2R5IHRoIHsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi50YWJsZS50YWJsZS1vbmUgewogICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZThlZAp9CgoudGFibGUudGFibGUtdHdvIHRoZWFkIHRoIHsKICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgY29sb3I6ICMyMDI0MjgKfQoKLnRhYmxlLnRhYmxlLXR3byB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCwKLnRhYmxlLnRhYmxlLXR3byB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCB7CiAgICBib3JkZXItdG9wOiAwIG5vbmUKfQoKLnRhYmxlLnRhYmxlLXR3byB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkLAoudGFibGUudGFibGUtdHdvIHRib2R5IHRyOmxhc3QtY2hpbGQgdGggewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU4ZWQKfQoKLnRhYmxlLnRhYmxlLXR3byB0Ym9keSB0aCB7CiAgICBwYWRkaW5nOiAxLjY2cmVtIDEuNjZyZW0gMS42NnJlbSAwCn0KCi50YWJsZSAudGFibGUtZ3JheSB7CiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY3Cn0KCi5saW5lLWNoYXJ0X3dyYXAgaDYgewogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgbWFyZ2luLWJvdHRvbTogMi42NjY2N3JlbQp9CgoubGVnZW5kIHVsIHsKICAgIG1hcmdpbi10b3A6IDEuMzMzMzNyZW07CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5sZWdlbmQgdWwgbGkgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgbWFyZ2luLXJpZ2h0OiAxLjMzMzMzcmVtCn0KCi5sZWdlbmQgdWwgbGk6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAKfQoKLmxlZ2VuZCB1bCBsaSBzcGFuIHsKICAgIHdpZHRoOiAuOHJlbTsKICAgIGhlaWdodDogLjhyZW07CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDsKICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgIG1hcmdpbi1yaWdodDogLjQ2NjY3cmVtCn0KCi5sZWdlbmQubGVnZW5kLWxpc3QgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDA7CiAgICB0b3A6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKQp9CgoubGVnZW5kLmxlZ2VuZC1saXN0IHVsIGxpIHsKICAgIGRpc3BsYXk6IGJsb2NrCn0KCi5waWUtY2hhcnQgewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5ibG9jay1mdWxsLXdpZHRoLAouYmxvY2stZnVsbC13aWR0aDIgewogICAgbWluLWhlaWdodDogMzcuNjY2NjdyZW07CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGJhY2tncm91bmQ6ICNmMmYyZjIKfQoKQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpLAooLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSB7CiAgICAuYmxvY2stZnVsbC13aWR0aCwKICAgIC5ibG9jay1mdWxsLXdpZHRoMiB7CiAgICAgICAgcGFkZGluZy10b3A6IDMwcHgKICAgIH0KfQoKLmJsb2NrLWZ1bGwtd2lkdGggLmltZywKLmJsb2NrLWZ1bGwtd2lkdGgyIC5pbWcgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIHdpZHRoOiA1MCU7CiAgICBoZWlnaHQ6IDEwMCUKfQoKLmJsb2NrLWZ1bGwtd2lkdGgyIHsKICAgIGJhY2tncm91bmQ6IDAgMAp9CgouYmxvY2stZnVsbC13aWR0aDIgLmltZyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogMDsKICAgIGxlZnQ6IGF1dG87CiAgICB0b3A6IDA7CiAgICB3aWR0aDogNTAlOwogICAgaGVpZ2h0OiAxMDAlCn0KCi5mZWF0dXJlLWJveGVzIC5pY29uLWJveC1uaW5lIHsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLnNlY3Rpb24tZmVhdHVyZS1ib3hlcyB7CiAgICBvdmVyZmxvdzogaGlkZGVuCn0KCi5zZWN0aW9uLWZlYXR1cmUtYm94ZXMgLmNvbnRhaW5lciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLnNlY3Rpb24tZmVhdHVyZS1ib3hlcyAuc2VjdGlvbi1pbWcgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIHRvcDogNTAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpCn0KCi5zZWN0aW9uLWZlYXR1cmUtYm94ZXMgLmZlYXR1cmUtYm94ZXMgewogICAgbWFyZ2luLWJvdHRvbTogLTMwcHgKfQoKLmNvbnRlbnQtLWJsb2NrMyAuY29udGVudF9ibG9jazNfd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogNC42NjY2N3JlbQp9CgouY29udGVudC0tYmxvY2szIC5jb250ZW50X2Jsb2NrM193cmFwcGVyOmxhc3QtY2hpbGQgewogICAgcGFkZGluZy1ib3R0b206IDAKfQoKLmNvbnRlbnQtLWJsb2NrMyAuY29udGVudF9ibG9jazNfd3JhcHBlcisuY29udGVudF9ibG9jazNfd3JhcHBlciB7CiAgICBwYWRkaW5nLXRvcDogNC42NjY2N3JlbQp9CgouY29udGVudC0tYmxvY2szIC5jb250ZW50X2Jsb2NrM193cmFwcGVyOm50aC1jaGlsZCgybisyKSB7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UKfQoKQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsKICAgIC5jb250ZW50LS1ibG9jazMgLmNvbnRlbnRfYmxvY2szX3dyYXBwZXI6bnRoLWNoaWxkKDJuKzIpIC5vZmZzZXQtbGctMSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzJQogICAgfQp9CgouY29udGVudC0tYmxvY2szIC5jb250ZW50X2Jsb2NrM193cmFwcGVyKy5jb250ZW50X2Jsb2NrM193cmFwcGVyIHsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlOGVkCn0KCi5jb250ZW50LS1ibG9jazMgaDQgewogICAgY29sb3I6ICMyMDI0MjgKfQoKLmNvbnRlbnQtYmxvY2stLTEyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgouY29udGVudC1ibG9jay0tMTIgLmNvdW50ZXItd3JhcHBlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLmNvbnRlbnQtYmxvY2stLTEyIC5jb3VudGVyLXdyYXBwZXIgLmNvdW50ZXItLWFsdCB7CiAgICBwYWRkaW5nOiA2LjA2NjY3cmVtIDAgMTEuMzMzMzNyZW0KfQoKLmNvbnRlbnQtYmxvY2stLTEyIC5jbGllbnRzLWxvZ28gewogICAgcGFkZGluZzogMTMuMzMzMzNyZW0gMCA2LjY2NjY3cmVtCn0KCi5jb250ZW50LWJsb2NrLS0xMiAuaGlnaGxpZ2h0ZWQtdGV4dCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGxlZnQ6IDA7CiAgICBib3R0b206IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7CiAgICB6LWluZGV4OiAxCn0KCi5jb250ZW50LWJsb2NrLS0xMiAuaGlnaGxpZ2h0ZWQtdGV4dCAuY29udGVudCB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjEpOwogICAgYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4xKTsKICAgIG1pbi1oZWlnaHQ6IDE0LjY2NjY3cmVtOwogICAgcGFkZGluZzogMCA2LjY2NjY3cmVtCn0KCkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDpub25lKSwKKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSkgewogICAgLmNvbnRlbnQtYmxvY2stLTEyIC5oaWdobGlnaHRlZC10ZXh0IC5jb250ZW50IHsKICAgICAgICBoZWlnaHQ6IDIyMHB4CiAgICB9Cn0KCi5jb250ZW50LWJsb2NrLS0xMiAuaGlnaGxpZ2h0ZWQtdGV4dCAuY29udGVudCBwIHsKICAgIGZvbnQtc2l6ZTogMS42cmVtOwogICAgbGluZS1oZWlnaHQ6IDIuOTMzMzNyZW07CiAgICBjb2xvcjogIzIwMjQyODsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5jb250ZW50LWJsb2NrLS0xNSB7CiAgICBwYWRkaW5nOiA2LjhyZW0gMCA3LjMzMzMzcmVtOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjZmZmKSwgdG8oI2Y4ZjdmZCkpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmLCAjZjhmN2ZkKTsKICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYsICNmOGY3ZmQpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiwgI2Y4ZjdmZCkKfQoKLmNvbnRlbnQtYmxvY2stLTE1IC5zZWN0aW9uLXRpdGxlIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG1hcmdpbi1ib3R0b206IDIuMzMzMzNyZW0KfQoKLmNvbnRlbnQtYmxvY2stLTE1IC5zZWN0aW9uLXRpdGxlIGgyIHsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5jb250ZW50LWJsb2NrLS0xNSAuc2VjdGlvbi10aXRsZSBwIHsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5jb250ZW50LWJsb2NrLS0xNSAuY29udGVudC1kZXNjIGg0IHsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5jb250ZW50LWJsb2NrLS02IHsKICAgIGJhY2tncm91bmQ6ICNmZmYKfQoKLmNvbnRlbnQtLWJsb2NrOCBoNCB7CiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Cn0KCi5zZWN0aW9uX3RpdGxlIGgxIHsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBtYXJnaW4tYm90dG9tOiAzLjQ2NjY3cmVtCn0KCi5zZWN0aW9uX3RpdGxlIC5zZWN0aW9uX3RpdGxlX3VuZGVybGluZSB7CiAgICB3aWR0aDogNzBweDsKICAgIGJhY2tncm91bmQ6ICMwNzRhNTU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBoZWlnaHQ6IDVweDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHgKfQoKLmNvbnRhY3Qtc3BsaXQgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgaGVpZ2h0OiA3MjBweAp9CgouY29udGFjdC1zcGxpdCAuZy1tYXBzIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGhlaWdodDogMTAwJTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDA7CiAgICB3aWR0aDogNTAlCn0KCi5jb250YWN0LXNwbGl0IC5nLW1hcHMgI21hcDIgewogICAgaGVpZ2h0OiAxMDAlCn0KCi5jb250YWN0LXNwbGl0IC5nLW1hcHMgLm1hcC10b3AgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDA7CiAgICB0b3A6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBwYWRkaW5nOiA1NXB4IDQwcHg7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDhweCAwIDAgOHB4OwogICAgYm9yZGVyLXJhZGl1czogOHB4IDAgMCA4cHg7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSg0MSwgNDEsIDU5LCAuMSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoNDEsIDQxLCA1OSwgLjEpCn0KCi5jb250YWN0LXNwbGl0IC5nLW1hcHMgLm1hcC10b3AgdWwgewogICAgbWFyZ2luOiAwCn0KCi5maWx0ZXItd3JhcHBlciAuZmlsdGVyLXNvcnQgewogICAgbWFyZ2luLWJvdHRvbTogNTBweDsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyCn0KCi5maWx0ZXItd3JhcHBlciAuZmlsdGVyLXNvcnQgdWwgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4xKTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMSk7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEuNjY2NjdyZW07CiAgICBib3JkZXItcmFkaXVzOiAxLjY2NjY3cmVtOwogICAgbWFyZ2luOiAwCn0KCi5maWx0ZXItd3JhcHBlciAuZmlsdGVyLXNvcnQgdWwgbGkgewogICAgZmxvYXQ6IGxlZnQ7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBsaW5lLWhlaWdodDogMy4zMzMzM3JlbTsKICAgIHBhZGRpbmc6IDAgMS42NjY2N3JlbTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxLjY2NjY3cmVtOwogICAgYm9yZGVyLXJhZGl1czogMS42NjY2N3JlbQp9CgouZmlsdGVyLXdyYXBwZXIgLmZpbHRlci1zb3J0IHVsIGxpLmFjdGl2ZSwKLmZpbHRlci13cmFwcGVyIC5maWx0ZXItc29ydCB1bCBsaTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZgp9CgouZmlsdGVyLXdyYXBwZXIgLmZpbHRlci1zb3J0MiB1bCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMS4zMzMzM3JlbTsKICAgIG1hcmdpbi1ib3R0b206IDMuMzMzMzNyZW07CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZThlZDsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAtbXMtZmxleC13cmFwOiB3cmFwOwogICAgZmxleC13cmFwOiB3cmFwOwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyCn0KCi5maWx0ZXItd3JhcHBlciAuZmlsdGVyLXNvcnQyIHVsIGxpIHsKICAgIG1hcmdpbi1yaWdodDogMi4zMzMzM3JlbTsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi5maWx0ZXItd3JhcHBlciAuZmlsdGVyLXNvcnQyIHVsIGxpLmFjdGl2ZSwKLmZpbHRlci13cmFwcGVyIC5maWx0ZXItc29ydDIgdWwgbGk6aG92ZXIgewogICAgY29sb3I6ICMwNmI1OTAKfQoKLmZpbHRlci13cmFwcGVyIC5maWx0ZXItc29ydDIgdWwgbGk6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAKfQoKLmV2ZW50LXNpbmdsZSB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtOwogICAgaGVpZ2h0OiAxMy4zMzMzM3JlbTsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KQp9CgouZXZlbnQtc2luZ2xlIC5ldmVudC1kYXRlIHsKICAgIHdpZHRoOiAxNS4zMzMzM3JlbTsKICAgIC13ZWJraXQtYWxpZ24tc2VsZjogc3RyZXRjaDsKICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0cmV0Y2g7CiAgICBhbGlnbi1zZWxmOiBzdHJldGNoOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1mbGV4OiAxOwogICAgLXdlYmtpdC1mbGV4OiAxOwogICAgLW1zLWZsZXg6IDE7CiAgICBmbGV4OiAxCn0KCi5ldmVudC1zaW5nbGUgLmV2ZW50LWRhdGUgaDEgewogICAgY29sb3I6ICNmZmY7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5ldmVudC1zaW5nbGUgLmV2ZW50LWRhdGUgLm1vbnRoIHsKICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgY29sb3I6ICNmZmYKfQoKLmV2ZW50LXNpbmdsZSAuZXZlbnQtZGF0ZSAueWVhciB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBjb2xvcjogI2ZmZgp9CgouZXZlbnQtc2luZ2xlIC5ldmVudC1pbmZvIHsKICAgIHBhZGRpbmc6IDIuMzMzMzNyZW0gMi42NjY2N3JlbTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtZmxleDogMzsKICAgIC13ZWJraXQtZmxleDogMzsKICAgIC1tcy1mbGV4OiAzOwogICAgZmxleDogMzsKICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOwogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcAp9CgouZXZlbnQtc2luZ2xlIC5ldmVudC1pbmZvIGg1IHsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0KfQoKLmV2ZW50LXNpbmdsZSAuZXZlbnQtaW5mbyBoNSBhIHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UKfQoKLmV2ZW50LXNpbmdsZSAuZXZlbnQtaW5mbyBoNSBhOmhvdmVyIHsKICAgIGNvbG9yOiAjMDc0YTU1Cn0KCi5ldmVudC1zaW5nbGUgLmV2ZW50LWluZm8gLnZpZXctYnRuIHsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvCn0KCi5zb2NpYWwgdWwgbGkgewogICAgbWFyZ2luLXJpZ2h0OiAuNjY2NjdyZW0KfQoKLnNvY2lhbCB1bCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1yaWdodDogMAp9Cgouc29jaWFsIHVsIGxpIGEgewogICAgbGluZS1oZWlnaHQ6IDIuNTMzMzNyZW07CiAgICB3aWR0aDogMi41MzMzM3JlbTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMzMuMzMzMzNyZW07CiAgICBib3JkZXItcmFkaXVzOiAzMy4zMzMzM3JlbTsKICAgIGJhY2tncm91bmQ6ICMyOTI5MmQ7CiAgICBjb2xvcjogI2ZmZgp9Cgouc29jaWFsIHVsIGxpIGEgc3BhbiB7CiAgICBmb250LXNpemU6IC44NjY2N3JlbQp9Cgouc29jaWFsIHVsIGxpIGE6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzA3NGE1NTsKICAgIGNvbG9yOiAjZmZmCn0KCi5zb2NpYWwuc29jaWFsLS1zbWFsbCB1bCBsaSBhIHsKICAgIGxpbmUtaGVpZ2h0OiAyLjUzMzMzcmVtOwogICAgd2lkdGg6IDIuNTMzMzNyZW07CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9Cgouc29jaWFsLnNvY2lhbC0tc21hbGwgdWwgbGkgYSBzcGFuIHsKICAgIGNvbG9yOiAjZmZmOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UKfQoKLnNvY2lhbC5zb2NpYWwtLXNtYWxsIHVsIGxpIGE6aG92ZXIgc3BhbiB7CiAgICBjb2xvcjogI2ZmZgp9Cgouc29jaWFsLnNxdWFyZSB1bCBsaSBhIHsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDsKICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICBiYWNrZ3JvdW5kOiAwIDA7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGVkCn0KCi5zb2NpYWwuc29jaWFsLS1ncmF5IHVsIGxpIGEgewogICAgYmFja2dyb3VuZDogI2Y1ZjRmNyAhaW1wb3J0YW50OwogICAgY29sb3I6ICM1YTY2NzEKfQoKLnNvY2lhbC5zb2NpYWwtLWdyYXkgdWwgbGkgYSBzcGFuIHsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgY29sb3I6ICM5MTkyYTMKfQoKLnNvY2lhbC5zb2NpYWwtLWdyYXkgdWwgbGkgYTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQ6ICMwNzRhNTUKfQoKLnNvY2lhbC5zb2NpYWwtLWdyYXkgdWwgbGkgYTpob3ZlciBzcGFuIHsKICAgIGNvbG9yOiAjZmZmCn0KCi5zb2NpYWwuc29jaWFsLS1jb2xvcmVkIHVsIGxpIGEuZmFjZWJvb2sgewogICAgYmFja2dyb3VuZDogIzNiNTk5OAp9Cgouc29jaWFsLnNvY2lhbC0tY29sb3JlZCB1bCBsaSBhLnR3aXR0ZXIgewogICAgYmFja2dyb3VuZDogIzQ3YWRmYQp9Cgouc29jaWFsLnNvY2lhbC0tY29sb3JlZCB1bCBsaSBhLmxpbmtlZGluIHsKICAgIGJhY2tncm91bmQ6ICMwNjc3YjQKfQoKLnNvY2lhbC5zb2NpYWwtLWNvbG9yZWQgdWwgbGkgYS5ncGx1cyB7CiAgICBiYWNrZ3JvdW5kOiAjZGQ0YjM5Cn0KCi5zb2NpYWwuc29jaWFsLS1jb2xvcmVkIHVsIGxpIGEucGludGVyZXN0IHsKICAgIGJhY2tncm91bmQ6ICNiYzA5MWIKfQoKLnNvY2lhbC1iYXNpYyB1bCBsaSB7CiAgICBtYXJnaW4tcmlnaHQ6IDEuNjY2NjdyZW0KfQoKLnNvY2lhbC1iYXNpYyB1bCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1yaWdodDogMAp9Cgouc29jaWFsLWJhc2ljIHVsIGxpIGEgewogICAgY29sb3I6IHJnYmEoMzIsIDM2LCA0MCwgLjUpOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UKfQoKLnNvY2lhbC1iYXNpYyB1bCBsaSBhOmhvdmVyIHsKICAgIGNvbG9yOiAjMDZiNTkwCn0KCi5zb2NpYWwtYmFzaWMgLnJvdW5kZWQtY2lyY2xlIGxpIHsKICAgIG1hcmdpbi1yaWdodDogLjY2NjY3cmVtCn0KCi5zb2NpYWwtYmFzaWMgLnJvdW5kZWQtY2lyY2xlIGxpIGEgewogICAgd2lkdGg6IDIuMTMzMzNyZW07CiAgICBoZWlnaHQ6IDIuMTMzMzNyZW07CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogLjhyZW07CiAgICBjb2xvcjogcmdiYSg5MCwgMTAyLCAxMTMsIC42KQp9Cgouc29jaWFsLWJhc2ljLmljb24tbGlnaHQgbGkgYSB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgY29sb3I6IHJnYmEoOTAsIDEwMiwgMTEzLCAuNikKfQoKLnNvY2lhbC1iYXNpYy5pY29uLWxpZ2h0IGxpIGE6aG92ZXIgewogICAgYmFja2dyb3VuZDogIzA3NGE1NTsKICAgIGNvbG9yOiAjZmZmCn0KCi5zb2NpYWwtYmFzaWMuaWNvbi1ncmV5IGxpIGEgewogICAgYmFja2dyb3VuZDogcmdiYSg3LCA3NCwgODUsIC4wNikKfQoKLnNvY2lhbC1iYXNpYy5pY29uLWdyZXkgbGkgYTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjMDc0YTU1OwogICAgY29sb3I6ICNmZmYKfQoKLnNvY2lhbC1idG5zIHsKICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOwogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcAp9Cgouc29jaWFsLWJ0bnMgbGkgewogICAgbWFyZ2luLXJpZ2h0OiAxLjMzMzMzcmVtCn0KCi5zb2NpYWwtYnRucyBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1yaWdodDogMAp9Cgouc29jaWFsLWJ0bnMgLmJ0biB7CiAgICBjb2xvcjogI2ZmZgp9Cgouc29jaWFsLWJ0bnMgLmJ0biBzcGFuIHsKICAgIHBhZGRpbmctcmlnaHQ6IC41MzMzM3JlbQp9Cgouc29jaWFsLWJ0bnMgLmJ0bi1mYWNlYm9vayB7CiAgICBiYWNrZ3JvdW5kOiAjM2I1OTk4Cn0KCi5zb2NpYWwtYnRucyAuYnRuLXR3aXR0ZXIgewogICAgYmFja2dyb3VuZDogIzQ3YWRmYQp9Cgouc29jaWFsLWJ0bnMgLmJ0bi1saW5rZWRpbiB7CiAgICBiYWNrZ3JvdW5kOiAjMDY3N2I0Cn0KCi5zb2NpYWwtYnRucyAuYnRuLWdwbHVzIHsKICAgIGJhY2tncm91bmQ6ICNkZDRiMzkKfQoKLnNoYWRvdy1sZy0yIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4xKSAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4xKSAhaW1wb3J0YW50Cn0KCi5zaGFkb3dfbGctLWJnd2hpdGUgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoNDEsIDQxLCA1OSwgLjEpOwogICAgYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDQxLCA0MSwgNTksIC4xKQp9Cgouc2hhZG93X2xnMi0tYmd3aGl0ZSB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoNDEsIDQxLCA1OSwgLjEpOwogICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSg0MSwgNDEsIDU5LCAuMSkKfQoKLnRvcF9iYXIgewogICAgbWluLWhlaWdodDogMy4zMzMzM3JlbQp9CgoudG9wX2JhciAuaW5mb3MgLmluZm9zLS1zaW5nbGUrLmluZm9zLS1zaW5nbGUgewogICAgbWFyZ2luLWxlZnQ6IDJyZW0KfQoKLnRvcF9iYXIgLmluZm9zIC5pbmZvcy0tc2luZ2xlIHNwYW4gewogICAgY29sb3I6ICMwNzRhNTU7CiAgICBmb250LXNpemU6IDEuOHJlbTsKICAgIG1hcmdpbi1yaWdodDogMTFweDsKICAgIG1hcmdpbi10b3A6IDNweAp9CgoudG9wX2JhciAuaW5mb3MgLmluZm9zLS1zaW5nbGUgLmluZm8gewogICAgbGluZS1oZWlnaHQ6IDEuN3JlbQp9CgoudG9wX2JhciAuaW5mb3MgLmluZm9zLS1zaW5nbGUgLmluZm8gcCB7CiAgICBtYXJnaW46IDA7CiAgICBmb250LXNpemU6IDEuMXJlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogIzIwMjQyOAp9CgoudG9wX2JhciAuaW5mb3MgLmluZm9zLS1zaW5nbGUgLmluZm8gc21hbGwgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgY29sb3I6ICM5MTkyYTMKfQoKLnRvcF9iYXIgdWwgewogICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDAKfQoKLnRvcF9iYXIgLnRvcF9iYXItLWxhbmcgewogICAgY3Vyc29yOiBwb2ludGVyCn0KCi50b3BfYmFyIC50b3BfYmFyLS1sYW5nIC5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7CiAgICBtaW4td2lkdGg6IDE1MHB4Cn0KCi50b3BfYmFyIC50b3BfYmFyLS1sYW5nIC5kcm9wZG93biAubGFuZ19mbGFnIHsKICAgIG1hcmdpbjogMCAxMHB4Cn0KCi50b3BfYmFyIC50b3BfYmFyLS1sYW5nIC5kcm9wZG93biAuZHJvcGRvd24taXRlbSBpbWcgewogICAgbWFyZ2luLXJpZ2h0OiAxMnB4Cn0KCi50b3BfYmFyIC50b3BfYmFyLS1sYW5nIC5kcm9wZG93biAubGFuZyB7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNik7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlCn0KCi50b3BfYmFyIC50b3BfYmFyLS1sYW5nIC5kcm9wZG93biBzcGFuLmxhIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC42KTsKICAgIGZvbnQtc2l6ZTogLjg2NjY3cmVtCn0KCi50b3BfYmFyIC50b3BfYmFyLS1pbmZvIGxpIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC44KQp9CgoudG9wX2JhciAudG9wX2Jhci0taW5mbyBsaSBzcGFuIHsKICAgIG1hcmdpbi1yaWdodDogOHB4OwogICAgZm9udC1zaXplOiAyMHB4OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC42KQp9CgoudG9wX2JhciAudG9wX2Jhci0taW5mbyBsaSBwIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbjogMDsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNikKfQoKLnRvcF9iYXIgLnRvcF9iYXItLWluZm8gbGkrbGkgewogICAgbWFyZ2luLWxlZnQ6IDJyZW0KfQoKLnRvcF9iYXIgLnRvcF9iYXItLXNvY2lhbCB1bCBsaSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBsaW5lLWhlaWdodDogMy42cmVtOwogICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKQp9CgoudG9wX2JhciAudG9wX2Jhci0tc29jaWFsIHVsIGxpOmxhc3QtY2hpbGQgewogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSkKfQoKLnRvcF9iYXIgLnRvcF9iYXItLXNvY2lhbCB1bCBsaSBhIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC42KTsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIHBhZGRpbmc6IDAgMjBweAp9CgoudG9wX2JhciAudG9wX2Jhci0tc29jaWFsIHVsIGxpIGE6aG92ZXIgewogICAgY29sb3I6ICNmZmYKfQoKLnRvcF9iYXIudG9wLS1iYXIyIC50b3BfYmFyLS1pbmZvIGxpIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4zKQp9CgoudG9wX2Jhci50b3AtLWJhcjIgLnRvcF9iYXItLXNvY2lhbCB1bCBsaSB7CiAgICBib3JkZXI6IDAKfQoKLnRvcF9iYXIudG9wLS1iYXIyIC50b3BfYmFyLS1zb2NpYWwgdWwgbGkgYSB7CiAgICBwYWRkaW5nOiAwIDExcHg7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNikKfQoKLnRvcF9iYXIudG9wLS1iYXIyIC50b3BfYmFyLS1zb2NpYWwgdWwgbGkgYTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZgp9CgoudG9wX2Jhci50b3AtLWJhcjMsCi50b3BfYmFyLnRvcC0tYmFyNCB7CiAgICBwYWRkaW5nOiAxLjMzMzMzcmVtIDAKfQoKLnRvcF9iYXIudG9wLS1iYXI0IC5pbmZvcyAuaW5mb3MtLXNpbmdsZSBwIHsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5tZW51X2FyZWEgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAuMzMzMzNyZW0gMCAxLjMzMzMzcmVtIHJnYmEoODcsIDg3LCA4NywgLjEpOwogICAgYm94LXNoYWRvdzogLjMzMzMzcmVtIDAgMS4zMzMzM3JlbSByZ2JhKDg3LCA4NywgODcsIC4xKTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgoubWVudV9hcmVhLmJnaW1hZ2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIGhlaWdodDogMTAwJTsKICAgIHdpZHRoOiAxMDAlOwogICAgei1pbmRleDogMTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMTIsIDEzLCAzMiwgLjgpCn0KCi5tZW51X2FyZWEgLm5hdl9yaWdodF9jb250ZW50IC5uYXZfcmlnaHRfbW9kdWxlKy5uYXZfcmlnaHRfbW9kdWxlIHsKICAgIHBhZGRpbmctbGVmdDogMS42cmVtCn0KCi5tZW51X2FyZWEgLm5hdl9yaWdodF9jb250ZW50IC5uYXZfcmlnaHRfbW9kdWxlOmxhc3QtY2hpbGQgewogICAgcGFkZGluZy1yaWdodDogMAp9CgoubWVudV9hcmVhIC5uYXZiYXIgewogICAgcGFkZGluZzogMXJlbQp9CgoubWVudV9hcmVhIC5uYXZiYXIubmF2YmFyLXByaW1hcnkgLm5hdmJhci10b2dnbGVyIHsKICAgIGNvbG9yOiAjZmZmCn0KCi5tZW51X2FyZWEgLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWl0ZW0uZHJvcGRvd24gLm5hdi1saW5rOmJlZm9yZSB7CiAgICBjb2xvcjogIzkyOGQ4ZAp9CgoubWVudV9hcmVhIC5uYXZiYXIubmF2YmFyLWJnIC5uYXZiYXItbmF2IC5uYXYtaXRlbS5kcm9wZG93biAubmF2LWxpbms6YmVmb3JlIHsKICAgIGNvbG9yOiAjZWRlZGVkCn0KCi5tZW51X2FyZWEgLm5hdmJhciAubmF2YmFyLW5hdiAubmF2LWl0ZW0gewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5tZW51X2FyZWEgLm5hdmJhciAubmF2YmFyLW5hdiAubmF2LWl0ZW0gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW0gewogICAgZm9udC1zaXplOiAxNXB4Cn0KCi5tZW51X2FyZWEgLm5hdmJhciAubmF2YmFyLW5hdiAubmF2LWl0ZW0uaGFzX21lZ2EtbGcgewogICAgcG9zaXRpb246IHN0YXRpYwp9CgoubWVudV9hcmVhIC5uYXZiYXIgLm5hdmJhci1uYXYgLm5hdi1pdGVtOmhvdmVyIC5tZWdhLW1lbnUgewogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAgIG9wYWNpdHk6IDE7CiAgICB0b3A6IDQuNTMzMzNyZW0KfQoKLm1lbnVfYXJlYSAubmF2YmFyIC5uYXZiYXItbmF2IC5uYXYtaXRlbTpob3ZlciAubWVnYS1tZW51LWxnIHsKICAgIHRvcDogNS42cmVtCn0KCi5tZW51X2FyZWEgLm5hdmJhciAubmF2YmFyLW5hdiAubmF2LWl0ZW0gLm5hdi1saW5rOmFmdGVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgY29udGVudDogJyc7CiAgICBoZWlnaHQ6IDFyZW07CiAgICBib3R0b206IC0xLjA2NjY3cmVtOwogICAgbGVmdDogMAp9CgpAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgewogICAgLm1lbnVfYXJlYSAubmF2YmFyIC5uYXZiYXItbmF2IC5uYXYtaXRlbS5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgdG9wOiA2LjY2NjY3cmVtICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoNDEsIDQxLCA1OSwgLjEpOwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoNDEsIDQxLCA1OSwgLjEpOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICAgIHBhZGRpbmc6IDJyZW0KICAgIH0KICAgIC5tZW51X2FyZWEgLm5hdmJhciAubmF2YmFyLW5hdiAubmF2LWl0ZW0uZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW0gewogICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtCiAgICB9CiAgICAubWVudV9hcmVhIC5uYXZiYXIgLm5hdmJhci1uYXYgLm5hdi1pdGVtLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1pdGVtOmxhc3QtY2hpbGQgewogICAgICAgIHBhZGRpbmc6IDAKICAgIH0KICAgIC5tZW51X2FyZWEgLm5hdmJhciAubmF2YmFyLW5hdiAubmF2LWl0ZW0uZHJvcGRvd246aG92ZXIgLmRyb3Bkb3duLW1lbnUgewogICAgICAgIHRvcDogNC42NjY2N3JlbSAhaW1wb3J0YW50OwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZQogICAgfQp9CgoubWVudV9hcmVhIC5uYXZiYXIgLm5hdmJhci1uYXYgLm5hdi1pdGVtLmRyb3Bkb3duIC5uYXYtbGluayB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLm1lbnVfYXJlYSAubmF2YmFyIC5uYXZiYXItbmF2IC5uYXYtaXRlbS5kcm9wZG93biAubmF2LWxpbms6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICdcZjExMCc7CiAgICBmb250LXNpemU6IC42NjY2N3JlbTsKICAgIGZvbnQtZmFtaWx5OiBMaW5lQXdlc29tZTsKICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC41KTsKICAgIHJpZ2h0OiAwOwogICAgdG9wOiA1MCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkKfQoKLm1lbnVfYXJlYSAubmF2YmFyLm5hdmJhci1wcmltYXJ5IHsKICAgIHBhZGRpbmc6IC42NjY2N3JlbSAxLjhyZW07CiAgICBiYWNrZ3JvdW5kOiAjMDc0YTU1OwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3JkZXItcmFkaXVzOiA0cHgKfQoKLm1lbnVfYXJlYSAubmF2YmFyLm5hdmJhci1wcmltYXJ5IC5uYXZiYXItbmF2IC5uYXYtbGluayB7CiAgICBjb2xvcjogI2ZmZgp9CgoubWVudV9hcmVhIC5uYXZiYXIubmF2YmFyLXByaW1hcnkgLm5hdl9yaWdodF9jb250ZW50IC5uYXZfcmlnaHRfbW9kdWxlPnNwYW4ubGEgewogICAgY29sb3I6ICNmZmYKfQoKLm1lbnVfYXJlYSAubmF2YmFyLm5hdmJhci1wcmltYXJ5IC5uYXZfcmlnaHRfY29udGVudCAuc29jaWFsX21vZHVsZSB1bCBsaSBhIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KQp9CgoubWVudV9hcmVhIC5uYXZiYXIubmF2YmFyLXByaW1hcnkgLm5hdl9yaWdodF9jb250ZW50IC5zb2NpYWxfbW9kdWxlIHVsIGxpIGE6aG92ZXIgewogICAgY29sb3I6ICNmZmYKfQoKLm1lbnVfYXJlYSAubmF2YmFyLW5hdiAubmF2LWxpbmsgewogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOwogICAgcGFkZGluZzogMS4ycmVtIDFyZW0KfQoKLm1lbnVfYXJlYS5tZW51MSB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCi5tZW51X2FyZWEubWVudTMgewogICAgYmFja2dyb3VuZDogIzIwMjQyOAp9CgoubWVudV9hcmVhLm1lbnUzIC5uYXZfcmlnaHRfY29udGVudCAuY2FydF9tb2R1bGUgewogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMykKfQoKLm1lbnVfYXJlYS5tZW51MyAubmF2X3JpZ2h0X2NvbnRlbnQgLmNhcnRfbW9kdWxlIC5jYXJ0X2NvdW50IHsKICAgIGxlZnQ6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKQp9CgoubWVudV9hcmVhLm1lbnUzIC5uYXZfcmlnaHRfY29udGVudCAubmF2X3JpZ2h0X21vZHVsZSB7CiAgICBwYWRkaW5nOiAwIDEuNnJlbQp9CgoubWVudV9hcmVhLm1lbnUzIC5uYXZfcmlnaHRfY29udGVudCAubmF2X3JpZ2h0X21vZHVsZTpsYXN0LWNoaWxkIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAKfQoKLm1lbnVfYXJlYS5tZW51MyAubmF2X3JpZ2h0X2NvbnRlbnQgLm5hdl9yaWdodF9tb2R1bGUgLmNhcnRfX2ljb24gc3Bhbi5sYSwKLm1lbnVfYXJlYS5tZW51MyAubmF2X3JpZ2h0X2NvbnRlbnQgLm5hdl9yaWdodF9tb2R1bGUgLmxhLnNlYXJjaF90cmlnZ2VyIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KQp9CgoubWVudV9hcmVhLm1lbnU0IHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAuMzMzMzNyZW0gMS4zMzMzM3JlbSByZ2JhKDg3LCA4NywgODcsIC4xKTsKICAgIGJveC1zaGFkb3c6IDAgLjMzMzMzcmVtIDEuMzMzMzNyZW0gcmdiYSg4NywgODcsIDg3LCAuMSk7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZThlZAp9CgoubWVudV9hcmVhLm1lbnU0IC5uYXZfcmlnaHRfY29udGVudCAubmF2X3JpZ2h0X21vZHVsZSB7CiAgICBwYWRkaW5nOiAwIDEuNnJlbQp9CgoubWVudV9hcmVhLm1lbnU0IC5uYXZfcmlnaHRfY29udGVudCAubmF2X3JpZ2h0X21vZHVsZSsubmF2X3JpZ2h0X21vZHVsZSB7CiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNGU4ZWQKfQoKLm1lbnVfYXJlYS5tZW51NCAubmF2X3JpZ2h0X2NvbnRlbnQgLm5hdl9yaWdodF9tb2R1bGU6bGFzdC1jaGlsZCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwCn0KCi5tZW51X2FyZWEubWVudTUgewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEyKQp9CgoubWVudV9hcmVhLm1lbnU1IC5uYXZiYXIgewogICAgcGFkZGluZzogMAp9CgoubWVudV9hcmVhLm1lbnU1IC5uYXZfcmlnaHRfY29udGVudCAuc2VhcmNoX21vZHVsZSB7CiAgICBsaW5lLWhlaWdodDogNnJlbTsKICAgIHBhZGRpbmc6IDAgLjY2NjY3cmVtOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDEuNjY2NjdyZW0KfQoKLm1lbnVfYXJlYS5tZW51NSAubmF2X3JpZ2h0X2NvbnRlbnQgLnNlYXJjaF9tb2R1bGUgc3BhbiB7CiAgICBmb250LXNpemU6IDEuNDY2NjdyZW0KfQoKLm1lbnVfYXJlYS5tZW51NSAubmF2X3JpZ2h0X2NvbnRlbnQgLmxhbmd1YWdlX21vZHVsZSB7CiAgICBwYWRkaW5nOiAwIDEuMzMzMzNyZW07CiAgICBjdXJzb3I6IHBvaW50ZXIKfQoKLm1lbnVfYXJlYS5tZW51NSAubmF2X3JpZ2h0X2NvbnRlbnQgLmxhbmd1YWdlX21vZHVsZSAuZHJvcGRvd24gLmxhbmcgewogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KQp9CgoubWVudV9hcmVhLm1lbnU1IC5uYXZfcmlnaHRfY29udGVudCAubGFuZ3VhZ2VfbW9kdWxlIC5kcm9wZG93biAubGFuZ19mbGFnIHsKICAgIHBhZGRpbmc6IDAgLjY2NjY3cmVtCn0KCi5tZW51X2FyZWEubWVudTUgLm5hdl9yaWdodF9jb250ZW50IC5sYW5ndWFnZV9tb2R1bGUgLmRyb3Bkb3duIHNwYW4ubGEgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpOwogICAgZm9udC1zaXplOiAuODY2NjdyZW0KfQoKLm1lbnVfYXJlYS5tZW51NSAubmF2X3JpZ2h0X2NvbnRlbnQgLmxhbmd1YWdlX21vZHVsZSAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW0gaW1nIHsKICAgIG1hcmdpbi1yaWdodDogLjY2NjY3cmVtCn0KCi5tZW51X2FyZWEubWVudTcgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMDsKICAgIGJveC1zaGFkb3c6IDAgMCAwCn0KCi5tZW51X2FyZWEubWVudTcgLm5hdmJhciAubmF2YmFyLW5hdiAubmF2LWl0ZW0uZHJvcGRvd24gLm5hdi1saW5rOmJlZm9yZSB7CiAgICBjb2xvcjogI2ZmZgp9CgpAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgewogICAgLm1lbnVfYXJlYSAubWVnYS1tZW51IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMzBweCByZ2JhKDQxLCA0MSwgNTksIC4xKTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMzBweCByZ2JhKDQxLCA0MSwgNTksIC4xKTsKICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgICAgIHdpZHRoOiA0Ni42NjY2N3JlbTsKICAgICAgICBsZWZ0OiAtMi42NjY2N3JlbTsKICAgICAgICB0b3A6IDYuNjY2NjdyZW07CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbgogICAgfQp9CgoubWVudV9hcmVhIC5tZWdhLW1lbnUgdWwgewogICAgcGFkZGluZzogMi42NjY2N3JlbTsKICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAtbXMtZmxleDogMTsKICAgIGZsZXg6IDEKfQoKLm1lbnVfYXJlYSAubWVnYS1tZW51IHVsIGxpIHsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0KfQoKLm1lbnVfYXJlYSAubWVnYS1tZW51IHVsIGxpOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgoubWVudV9hcmVhIC5tZWdhLW1lbnUgdWwgbGkgaDYgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgbWFyZ2luLWJvdHRvbTogMS4zMzMzM3JlbQp9CgoubWVudV9hcmVhIC5tZWdhLW1lbnUgdWwgbGkgYSB7CiAgICBjb2xvcjogaW5oZXJpdDsKICAgIGZvbnQtc2l6ZTogMTVweAp9CgoubWVudV9hcmVhIC5tZWdhLW1lbnUgdWwgbGkgYTpob3ZlciB7CiAgICBjb2xvcjogIzA3NGE1NQp9CgoubWVudV9hcmVhIC5tZWdhLW1lbnUgdWwgbGkrbGkgaDYgewogICAgbWFyZ2luLXRvcDogMnJlbQp9CgpAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgewogICAgLm1lbnVfYXJlYSAubWVnYS1tZW51Lm1lZ2EtbWVudS1sZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbGVmdDogMAogICAgfQp9CgoubWVudTYgLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWl0ZW0uZHJvcGRvd24gLm5hdi1saW5rLAoubWVudTcgLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWl0ZW0uZHJvcGRvd24gLm5hdi1saW5rLAoubWVudTggLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWl0ZW0uZHJvcGRvd24gLm5hdi1saW5rIHsKICAgIGNvbG9yOiAjZmZmCn0KCi5tZW51NiAubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtaXRlbS5kcm9wZG93biAubmF2LWxpbms6YmVmb3JlLAoubWVudTcgLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWl0ZW0uZHJvcGRvd24gLm5hdi1saW5rOmJlZm9yZSwKLm1lbnU4IC5uYXZiYXIubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1pdGVtLmRyb3Bkb3duIC5uYXYtbGluazpiZWZvcmUgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpCn0KCi5tZW51NiAubmF2YmFyLWRhcmsgLm5hdl9yaWdodF9jb250ZW50IC5jYXJ0X21vZHVsZSAuY2FydF9faWNvbiBzcGFuLmxhLAoubWVudTYgLm5hdmJhci1kYXJrIC5uYXZfcmlnaHRfY29udGVudCAuc2VhcmNoX21vZHVsZT5zcGFuLAoubWVudTYgLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlciwKLm1lbnU3IC5uYXZiYXItZGFyayAubmF2X3JpZ2h0X2NvbnRlbnQgLmNhcnRfbW9kdWxlIC5jYXJ0X19pY29uIHNwYW4ubGEsCi5tZW51NyAubmF2YmFyLWRhcmsgLm5hdl9yaWdodF9jb250ZW50IC5zZWFyY2hfbW9kdWxlPnNwYW4sCi5tZW51NyAubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVyLAoubWVudTggLm5hdmJhci1kYXJrIC5uYXZfcmlnaHRfY29udGVudCAuY2FydF9tb2R1bGUgLmNhcnRfX2ljb24gc3Bhbi5sYSwKLm1lbnU4IC5uYXZiYXItZGFyayAubmF2X3JpZ2h0X2NvbnRlbnQgLnNlYXJjaF9tb2R1bGU+c3BhbiwKLm1lbnU4IC5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXIgewogICAgY29sb3I6ICNmZmYKfQoKLm5hdmJhci1iZyAubmF2YmFyLW5hdiAubmF2LWxpbmsgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpCn0KCi5uYXZiYXItYmcgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHsKICAgIGNvbG9yOiAjZmZmCn0KCi5uYXZiYXItYmcgLm5hdl9yaWdodF9jb250ZW50IC5uYXZfcmlnaHRfbW9kdWxlIC5pbnB1dC1ncm91cC1saWdodCBzcGFuLmljb24tbGVmdCAubGEgewogICAgY29sb3I6ICM1YTY2NzEKfQoKLm5hdmJhci1iZyAubmF2X3JpZ2h0X2NvbnRlbnQgLm5hdl9yaWdodF9tb2R1bGUgLnNlYXJjaF90cmlnZ2VyLAoubmF2YmFyLWJnIC5uYXZfcmlnaHRfY29udGVudCAubmF2X3JpZ2h0X21vZHVsZSBzcGFuLmxhLWxhLWFuZ2xlLWRvd24gewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpCn0KCi5uYXZiYXItYmcgLm5hdl9yaWdodF9jb250ZW50IC5uYXZfcmlnaHRfbW9kdWxlIC5zZWFyY2hfdHJpZ2dlcjpob3ZlciwKLm5hdmJhci1iZyAubmF2X3JpZ2h0X2NvbnRlbnQgLm5hdl9yaWdodF9tb2R1bGUgc3Bhbi5sYS1sYS1hbmdsZS1kb3duOmhvdmVyIHsKICAgIGNvbG9yOiAjZmZmCn0KCkBtZWRpYSAobWF4LXdpZHRoOjk5MS45OHB4KSB7CiAgICAubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlciB7CiAgICAgICAgY29sb3I6ICNmZmYKICAgIH0KICAgIC5uYXZiYXIgLm5hdmJhci10b2dnbGVyIHsKICAgICAgICBwYWRkaW5nOiAuMzMzMzNyZW0gLjY2NjY3cmVtOwogICAgICAgIGZvbnQtc2l6ZTogMS42NjY2N3JlbTsKICAgICAgICBjb2xvcjogIzA3NGE1NTsKICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAuMSk7CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIC4xKTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyCiAgICB9CiAgICAubmF2YmFyIC5uYXZiYXItYnJhbmQgewogICAgICAgIHdpZHRoOiAyNSU7CiAgICAgICAgbWFyZ2luOiAwCiAgICB9CiAgICAubmF2YmFyIC5uYXZiYXItYnJhbmQgaW1nIHsKICAgICAgICBtYXgtd2lkdGg6IDEwMCUKICAgIH0KICAgIC5uYXZiYXIgLm5hdmJhci1jb2xsYXBzZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgei1pbmRleDogMTAwOwogICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4OwogICAgICAgIG92ZXJmbG93OiBzY3JvbGw7CiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCA2cHggcmdiYSgwLCAwLCAwLCAuMSk7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgLjEpCiAgICB9Cn0KCi5uYXZfcmlnaHRfY29udGVudCB1bCB7CiAgICBsaXN0LXN0eWxlOiBub25lOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4Cn0KCi5uYXZfcmlnaHRfY29udGVudCAuY2FydF9tb2R1bGUgewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5uYXZfcmlnaHRfY29udGVudCAuY2FydF9tb2R1bGUgLmNhcnRfX2ljb24gewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5uYXZfcmlnaHRfY29udGVudCAuY2FydF9tb2R1bGU6aG92ZXIgLmNhcnRfX2l0ZW1zIHsKICAgIG9wYWNpdHk6IDE7CiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwogICAgdG9wOiAxMDAlCn0KCi5uYXZfcmlnaHRfY29udGVudCAuY2FydF9tb2R1bGUgLmNhcnRfX2l0ZW1zIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAtMjBweDsKICAgIG1pbi13aWR0aDogMzUwcHg7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHotaW5kZXg6IDI7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgb3BhY2l0eTogMDsKICAgIHRvcDogY2FsYygxMDAlICsgMjBweCkKfQoKLm5hdl9yaWdodF9jb250ZW50IC5jYXJ0X21vZHVsZSAuY2FydF9faXRlbXMgLml0ZW1zIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgcGFkZGluZzogMTVweCAyNXB4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU4ZWQKfQoKLm5hdl9yaWdodF9jb250ZW50IC5jYXJ0X21vZHVsZSAuY2FydF9faXRlbXMgLml0ZW1zIC5pdGVtX3RodW1iIHsKICAgIG1hcmdpbi1yaWdodDogMTVweAp9CgoubmF2X3JpZ2h0X2NvbnRlbnQgLmNhcnRfbW9kdWxlIC5jYXJ0X19pdGVtcyAuaXRlbXMgLml0ZW1faW5mbyB7CiAgICBtYXJnaW4tcmlnaHQ6IDEwcHgKfQoKLm5hdl9yaWdodF9jb250ZW50IC5jYXJ0X21vZHVsZSAuY2FydF9faXRlbXMgLml0ZW1zIC5pdGVtX2luZm8+YSB7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIGxpbmUtaGVpZ2h0OiAxLjUzMzMzcmVtOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgbWFyZ2luLWJvdHRvbTogMTBweAp9CgoubmF2X3JpZ2h0X2NvbnRlbnQgLmNhcnRfbW9kdWxlIC5jYXJ0X19pdGVtcyAuaXRlbXMgLml0ZW1faW5mbyBzcGFuIHsKICAgIGZvbnQtd2VpZ2h0OiA1MDAKfQoKLm5hdl9yaWdodF9jb250ZW50IC5jYXJ0X21vZHVsZSAuY2FydF9faXRlbXMgLml0ZW1zIC5pdGVtX3JlbW92ZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGluaXRpYWw7CiAgICAtby10cmFuc2l0aW9uOiBpbml0aWFsOwogICAgdHJhbnNpdGlvbjogaW5pdGlhbAp9CgoubmF2X3JpZ2h0X2NvbnRlbnQgLmNhcnRfbW9kdWxlIC5jYXJ0X19pdGVtcyAuaXRlbXMgLml0ZW1fcmVtb3ZlIHNwYW4gewogICAgZm9udC1zaXplOiAxNHB4OwogICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICB3aWR0aDogMnJlbTsKICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJQp9CgoubmF2X3JpZ2h0X2NvbnRlbnQgLmNhcnRfbW9kdWxlIC5jYXJ0X19pdGVtcyAuY2FydF9pbmZvIHsKICAgIHBhZGRpbmc6IDIwcHggMjVweAp9CgoubmF2X3JpZ2h0X2NvbnRlbnQgLmNhcnRfbW9kdWxlIC5jYXJ0X19pdGVtcyAuY2FydF9pbmZvIHAgewogICAgbWFyZ2luLWJvdHRvbTogMTVweAp9CgoubmF2X3JpZ2h0X2NvbnRlbnQgLmNhcnRfbW9kdWxlIC5jYXJ0X19pdGVtcyAuY2FydF9pbmZvIHAgc3BhbiB7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgZm9udC1zaXplOiAxOHB4Cn0KCi5uYXZfcmlnaHRfY29udGVudCAuY2FydF9tb2R1bGUgLmNhcnRfX2l0ZW1zIC5jYXJ0X2luZm8gYSthIHsKICAgIG1hcmdpbi1sZWZ0OiAxMHB4Cn0KCi5uYXZfcmlnaHRfY29udGVudCAuY2FydF9tb2R1bGUgc3Bhbi5sYSB7CiAgICBmb250LXNpemU6IDEuNjY2NjdyZW07CiAgICBjb2xvcjogIzIwMjQyOAp9CgoubmF2X3JpZ2h0X2NvbnRlbnQgLmNhcnRfbW9kdWxlIC5jYXJ0X2NvdW50IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogLS45MzMzM3JlbTsKICAgIGxlZnQ6IDNweDsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzcmVtOwogICAgd2lkdGg6IDEuMnJlbTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogLjhyZW07CiAgICBjb2xvcjogI2ZmZjsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTMuMzMzMzNyZW07CiAgICBib3JkZXItcmFkaXVzOiAxMy4zMzMzM3JlbQp9CgoubmF2X3JpZ2h0X2NvbnRlbnQgLnNlYXJjaF9tb2R1bGUgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgei1pbmRleDogMwp9CgoubmF2X3JpZ2h0X2NvbnRlbnQgLnNlYXJjaF9tb2R1bGUgLnNlYXJjaF9hcmVhIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAzMDBweDsKICAgIHJpZ2h0OiAtMTBweDsKICAgIG9wYWNpdHk6IDA7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICBwYWRkaW5nOiAxMHB4OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0b3A6IGNhbGMoMTAwJSArIDQwcHgpOwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjIpOwogICAgYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4yKQp9CgoubmF2X3JpZ2h0X2NvbnRlbnQgLnNlYXJjaF9tb2R1bGUgLnNlYXJjaF9hcmVhIC5pbnB1dC1ncm91cC1saWdodCBzcGFuLmljb24tbGVmdCAubGEgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDApOwogICAgY29sb3I6ICM5Njk2OTYKfQoKLm5hdl9yaWdodF9jb250ZW50IC5zZWFyY2hfbW9kdWxlIC5zZWFyY2hfYXJlYS5hY3RpdmUgewogICAgdG9wOiBjYWxjKDEwMCUgKyAxOXB4KTsKICAgIG9wYWNpdHk6IDE7CiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlCn0KCi5uYXZfcmlnaHRfY29udGVudCAuc2VhcmNoX21vZHVsZSAuc2VhcmNoX2FyZWEgLnNlYXJjaF9maWVsZCB7CiAgICBib3JkZXI6IDAKfQoKLm5hdl9yaWdodF9jb250ZW50IC5zZWFyY2hfbW9kdWxlPnNwYW4gewogICAgZm9udC1zaXplOiAxLjMzMzMzcmVtOwogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBsaW5lLWhlaWdodDogMnJlbQp9CgoubmF2X3JpZ2h0X2NvbnRlbnQgLnNvY2lhbF9tb2R1bGUgdWwgbGkgewogICAgcGFkZGluZzogMCAuNjY2NjdyZW0KfQoKLm5hdl9yaWdodF9jb250ZW50IC5zb2NpYWxfbW9kdWxlIHVsIGxpIGEgewogICAgY29sb3I6ICM5MTkyYTMKfQoKLm5hdl9yaWdodF9jb250ZW50IC5zb2NpYWxfbW9kdWxlIHVsIGxpIGE6aG92ZXIgewogICAgY29sb3I6ICMwNzRhNTUKfQoKQG1lZGlhIChtYXgtd2lkdGg6MTE5OS45OHB4KSB7CiAgICAubmF2X3JpZ2h0X2NvbnRlbnQgLnNlYXJjaF9tb2R1bGUgewogICAgICAgIHBhZGRpbmc6IDAgLjZyZW0gMCAuMzMzMzNyZW0KICAgIH0KfQoKLm1vZGFsLnNlYXJjaF9tb2RhbCB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC45KQp9CgoubW9kYWwuc2VhcmNoX21vZGFsIC5zZWFyY19fZmllbGQgaW5wdXQgewogICAgYmFja2dyb3VuZDogMCAwOwogICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMzYpOwogICAgY29sb3I6ICNmZmY7CiAgICBwYWRkaW5nOiAxLjJyZW0gMS41NXJlbQp9CgoubW9kYWwuc2VhcmNoX21vZGFsIC5zZWFyY19fZmllbGQgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpCn0KCi5tb2RhbC5zZWFyY2hfbW9kYWwgLnNlYXJjX19maWVsZCBpbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KQp9CgoubW9kYWwuc2VhcmNoX21vZGFsIC5zZWFyY19fZmllbGQgaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KQp9CgoubW9kYWwuc2VhcmNoX21vZGFsIC5pbnB1dF93aXRoX2VtYmVkIGJ1dHRvbiB7CiAgICBmb250LXNpemU6IDEuNnJlbTsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41NCk7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IC4zczsKICAgIC1vLXRyYW5zaXRpb246IC4zczsKICAgIHRyYW5zaXRpb246IC4zcwp9CgoubW9kYWwuc2VhcmNoX21vZGFsIC5pbnB1dF93aXRoX2VtYmVkIGJ1dHRvbjpob3ZlciB7CiAgICBjb2xvcjogI2ZmZgp9CgoubW9kYWwuc2VhcmNoX21vZGFsIC5tb2RhbC1ib2R5IHsKICAgIHBhZGRpbmc6IDIuNjhyZW0gMy4zNHJlbQp9CgoubW9kYWwgLm1vZGFsLWRpYWxvZy5tb2RhbC0tZnVsbHdpZHRoIHsKICAgIG1heC13aWR0aDogMTE0MHB4Cn0KCi5tb2RhbCAubW9kYWwtZGlhbG9nIC5tb2RhbC1jb250ZW50LnRyYW5zcGFyZW50IHsKICAgIGJhY2tncm91bmQ6ICMwNzRhNTU7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgLjVyZW0gMS4zM3JlbSByZ2JhKDcsIDc0LCA4NSwgLjUpOwogICAgYm94LXNoYWRvdzogMCAuNXJlbSAxLjMzcmVtIHJnYmEoNywgNzQsIDg1LCAuNSk7CiAgICBib3JkZXI6IDAKfQoKLmJyZWFkY3J1bWIgLmJyZWFkY3J1bWItaXRlbSsuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUgewogICAgcGFkZGluZzogMCA4cHg7CiAgICBmb250LXNpemU6IC44cmVtCn0KCi5icmVhZGNydW1iIGxpIHsKICAgIGZvbnQtc2l6ZTogMTRweAp9CgouYnJlYWRjcnVtYiBsaSBhIHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgZm9udC13ZWlnaHQ6IDUwMAp9CgouYnJlYWRjcnVtYiBsaSBhIHNwYW4gewogICAgbWFyZ2luLXJpZ2h0OiA1cHgKfQoKLmJyZWFkY3J1bWIgbGkgYTpob3ZlciB7CiAgICBjb2xvcjogIzA3NGE1NQp9CgouYnJlYWRjcnVtYiBsaTo6YmVmb3JlIHsKICAgIGZvbnQtZmFtaWx5OiBMaW5lQXdlc29tZSwgUG9wcGlucywgc2Fucy1zZXJpZgp9CgouYnJlYWRjcnVtYl9hcmVhIC5wYWdlX3RpdGxlIHsKICAgIGxpbmUtaGVpZ2h0OiA0LjhyZW07CiAgICBmb250LXdlaWdodDogNjAwCn0KCi5icmVhZGNydW1iX2FyZWEuYnJlYWRjcnVtYjEgewogICAgcGFkZGluZzogM3JlbSAwOwogICAgYmFja2dyb3VuZDogI2Y1ZjdmYwp9CgouYnJlYWRjcnVtYl9hcmVhLmJyZWFkY3J1bWIxIC5wYWdlX3RpdGxlIHsKICAgIG1hcmdpbjogMDsKICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOwogICAgY29sb3I6ICMyMDI0MjgKfQoKLmJyZWFkY3J1bWJfYXJlYS5icmVhZGNydW1iMiB7CiAgICBwYWRkaW5nLXRvcDogNy4xcmVtCn0KCi5icmVhZGNydW1iX2FyZWEuYnJlYWRjcnVtYjIgLnBhZ2VfdGl0bGUgewogICAgY29sb3I6ICNmZmY7CiAgICBtYXJnaW4tYm90dG9tOiA1LjZyZW07CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB3aWR0aDogNTByZW07CiAgICBsaW5lLWhlaWdodDogMy42cmVtCn0KCi5icmVhZGNydW1iX2FyZWEuYnJlYWRjcnVtYjIgLmJyZWFkY3J1bWIgbGkgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpCn0KCi5icmVhZGNydW1iX2FyZWEuYnJlYWRjcnVtYjIgLmJyZWFkY3J1bWIgbGkgYSB7CiAgICBjb2xvcjogI2ZmZgp9CgouYnJlYWRjcnVtYl9hcmVhLmJyZWFkY3J1bWIyIC5icmVhZGNydW1iIGxpIGE6aG92ZXIgewogICAgY29sb3I6ICMwNmI1OTAKfQoKLmJyZWFkY3J1bWJfYXJlYS5icmVhZGNydW1iLWNvbG9yZWQgLnBhZ2VfdGl0bGUsCi5icmVhZGNydW1iX2FyZWEuYnJlYWRjcnVtYi1ncmFkaWVudCAucGFnZV90aXRsZSB7CiAgICBjb2xvcjogI2ZmZgp9CgouYnJlYWRjcnVtYl9hcmVhLmJyZWFkY3J1bWItY29sb3JlZCAuYnJlYWRjcnVtYiBsaSBhLAouYnJlYWRjcnVtYl9hcmVhLmJyZWFkY3J1bWItZ3JhZGllbnQgLmJyZWFkY3J1bWIgbGkgYSB7CiAgICBjb2xvcjogI2ZmZgp9CgouYnJlYWRjcnVtYl9hcmVhLmJyZWFkY3J1bWItY29sb3JlZCAuYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSwKLmJyZWFkY3J1bWJfYXJlYS5icmVhZGNydW1iLWNvbG9yZWQgLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUsCi5icmVhZGNydW1iX2FyZWEuYnJlYWRjcnVtYi1ncmFkaWVudCAuYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSwKLmJyZWFkY3J1bWJfYXJlYS5icmVhZGNydW1iLWdyYWRpZW50IC5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KQp9CgouYnJlYWRjcnVtYjMgewogICAgcGFkZGluZzogNi4yNjY2N3JlbSAwIDEwLjQ2NjY3cmVtCn0KCi5icmVhZGNydW1iMyAuYnJlYWRjcnVtYl93cmFwcGVyIC5zdWJ0ZXh0IHsKICAgIGZvbnQtc2l6ZTogMnJlbQp9CgouYnJlYWRjcnVtYjMgLmJyZWFkY3J1bWJfd3JhcHBlciAucGFnZV90aXRsZSB7CiAgICB3aWR0aDogMzMuMzMzMzNyZW07CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIGNvbG9yOiAjZmZmOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgbGluZS1oZWlnaHQ6IDMuNnJlbQp9CgouYnJlYWRjcnVtYjMgLmJyZWFkY3J1bWJfd3JhcHBlciAuYnJlYWRjcnVtYiB7CiAgICBtYXJnaW4tdG9wOiA1LjMzMzMzcmVtCn0KCi5icmVhZGNydW1iMyAuYnJlYWRjcnVtYl93cmFwcGVyIC5icmVhZGNydW1iIGxpIGEgewogICAgY29sb3I6ICNmZmYKfQoKZm9vdGVyIHsKICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQKfQoKZm9vdGVyIC5mb290ZXJfX2JpZyB7CiAgICBwYWRkaW5nOiA3LjMzMzMzcmVtIDAgMy4zMzMzM3JlbQp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC50ZXh0X3dpZGdldCBwIHsKICAgIGxpbmUtaGVpZ2h0OiAycmVtOwogICAgbWFyZ2luLWJvdHRvbTogMS4zMzMzM3JlbQp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC50ZXh0X3dpZGdldCBwIC5hZGRyZXNzLApmb290ZXIgLmZvb3Rlcl9fYmlnIC50ZXh0X3dpZGdldCBwIC5tYWlsLApmb290ZXIgLmZvb3Rlcl9fYmlnIC50ZXh0X3dpZGdldCBwIC50ZWwgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBjb2xvcjogIzVhNjY3MQp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC50ZXh0X3dpZGdldCBwIC5tYWlsOmhvdmVyLApmb290ZXIgLmZvb3Rlcl9fYmlnIC50ZXh0X3dpZGdldCBwIC50ZWw6aG92ZXIgewogICAgY29sb3I6ICMwNmI1OTAKfQoKZm9vdGVyIC5mb290ZXJfX2JpZyAudGV4dF93aWRnZXQgLmZvb3Rlcl9sb2dvIHsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKZm9vdGVyIC5mb290ZXJfX2JpZyAud2lkZ2V0IHsKICAgIG1hcmdpbi1ib3R0b206IDRyZW0KfQoKZm9vdGVyIC5mb290ZXJfX2JpZyAud2lkZ2V0IC53aWRnZXRfX3RpdGxlIHsKICAgIGZvbnQtc2l6ZTogMS4wNjY2N3JlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBsaW5lLWhlaWdodDogbm9ybWFsOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC53aWRnZXQgLndpZGdldF9fdGl0bGUyIHsKICAgIGZvbnQtc2l6ZTogMS4xMzMzM3JlbTsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCmZvb3RlciAuZm9vdGVyX19iaWcgLndpZGdldCAud2lkZ2V0X19zb2NpYWwgewogICAgbWFyZ2luLXRvcDogMzBweAp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC53aWRnZXQuc3ViY3JpYmUtLXdpZGdldCAuc3Vic2NyaWJlX2Zvcm0gLmVtYmVkX2ljb24gewogICAgZm9udC1zaXplOiAxLjMzMzMzcmVtOwogICAgY29sb3I6ICM1YTY2NzEKfQoKZm9vdGVyIC5mb290ZXJfX2JpZyAud2lkZ2V0LnN1YmNyaWJlLS13aWRnZXQgLnN1YnNjcmliZV9mb3JtIGlucHV0IHsKICAgIHdpZHRoOiAxMDAlOwogICAgZm9udC1zaXplOiAxcmVtOwogICAgY29sb3I6ICM5MTkyYTM7CiAgICBvdXRsaW5lOiAwOwogICAgcGFkZGluZy1sZWZ0OiAxLjRyZW07CiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtCn0KCmZvb3RlciAuZm9vdGVyX19iaWcgLndpZGdldCB1bC5saW5rcyBsaSB7CiAgICBtYXJnaW4tYm90dG9tOiAuNjY2NjdyZW0KfQoKZm9vdGVyIC5mb290ZXJfX2JpZyAud2lkZ2V0IHVsLmxpbmtzIGxpOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMAp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC53aWRnZXQgdWwubGlua3MgbGkgYSB7CiAgICBjb2xvcjogIzVhNjY3MQp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC53aWRnZXQgdWwubGlua3MgbGkgYTpob3ZlciB7CiAgICBjb2xvcjogIzA2YjU5MAp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC53aWRnZXQtLWNvbnRhY3RfaW5mbyB1bCBsaSB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIG1hcmdpbi1ib3R0b206IDMxcHgKfQoKZm9vdGVyIC5mb290ZXJfX2JpZyAud2lkZ2V0LS1jb250YWN0X2luZm8gdWwgbGkgc3Bhbi5sYSB7CiAgICBmb250LXNpemU6IDI4cHg7CiAgICBtYXJnaW4tcmlnaHQ6IDEycHgKfQoKZm9vdGVyIC5mb290ZXJfX2JpZyAud2lkZ2V0LS1jb250YWN0X2luZm8gdWwgbGkgLmluZm8gcCB7CiAgICBtYXJnaW46IDA7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtc2l6ZTogMS4wNjY2N3JlbTsKICAgIGxpbmUtaGVpZ2h0OiAyNnB4Cn0KCmZvb3RlciAuZm9vdGVyX19iaWcgLndpZGdldC0tY29udGFjdF9pbmZvIHVsIGxpIC5pbmZvIHNtYWxsIHsKICAgIGZvbnQtc2l6ZTogMTRweAp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC53aWRnZXQtLWxhdGVzdC1uZXdzIHVsIGxpIHsKICAgIG1hcmdpbi1ib3R0b206IDIwcHgKfQoKZm9vdGVyIC5mb290ZXJfX2JpZyAud2lkZ2V0LS1sYXRlc3QtbmV3cyB1bCBsaSBzbWFsbCB7CiAgICBmb250LXNpemU6IDFyZW07CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGxpbmUtaGVpZ2h0OiAzMHB4Cn0KCmZvb3RlciAuZm9vdGVyX19iaWcgLndpZGdldC0tbGF0ZXN0LW5ld3MgdWwgbGkgYSB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBsaW5lLWhlaWdodDogMjhweAp9Cgpmb290ZXIgLmZvb3Rlcl9fc21hbGwgewogICAgYmFja2dyb3VuZDogIzAwMAp9Cgpmb290ZXIgLmZvb3Rlcl9fc21hbGwgcCB7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNik7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAzMHB4IDAKfQoKZm9vdGVyIC5mb290ZXJfX3NtYWxsIGEgewogICAgY29sb3I6ICMwNmI1OTAKfQoKZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAuZm9vdGVyX19ib3R0b20tY29udGVudCB7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VhZWFlYTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIHBhZGRpbmc6IDIuMzMzMzNyZW0gMAp9Cgpmb290ZXIgLmZvb3Rlcl9fYm90dG9tIC5mb290ZXJfX2JvdHRvbS1jb250ZW50IHAgewogICAgbWFyZ2luOiAwCn0KCmZvb3RlciAuZm9vdGVyX19ib3R0b20gLmZvb3Rlcl9fYm90dG9tLWNvbnRlbnQgcD5hIHsKICAgIGNvbG9yOiAjMDZiNTkwCn0KCmZvb3RlciAuZm9vdGVyX19ib3R0b20gLmZvb3Rlcl9fYm90dG9tLWNvbnRlbnQgLnNvY2lhbC1iYXNpYyBsaSBhIHsKICAgIGNvbG9yOiAjOTE5MmEzCn0KCmZvb3RlciAuZm9vdGVyX19ib3R0b20gLmZvb3Rlcl9fYm90dG9tLWNvbnRlbnQgLnNvY2lhbC1iYXNpYyBsaSBhOmhvdmVyIHsKICAgIGNvbG9yOiAjMDZiNTkwCn0KCmZvb3Rlci5mb290ZXItLWRhcmsgLmZvb3Rlcl9fYmlnIC50ZXh0X3dpZGdldCBwIGEsCmZvb3Rlci5mb290ZXItLWRhcmsgLmZvb3Rlcl9fYmlnIC50ZXh0X3dpZGdldCBwIHNwYW4gewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpCn0KCmZvb3Rlci5mb290ZXItLWRhcmsgLmZvb3Rlcl9fYmlnIC53aWRnZXQuc3ViY3JpYmUtLXdpZGdldCBwIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KQp9Cgpmb290ZXIuZm9vdGVyLS1kYXJrIC5mb290ZXJfX2JpZyAud2lkZ2V0IC53aWRnZXRfX3RpdGxlIHsKICAgIGNvbG9yOiAjZmZmCn0KCmZvb3Rlci5mb290ZXItLWRhcmsgLmZvb3Rlcl9fYmlnIC53aWRnZXQgdWwubGlua3MgbGkgYTpob3ZlciB7CiAgICBjb2xvcjogIzA2YjU5MAp9Cgpmb290ZXIuZm9vdGVyLS1saWdodCAud2lkZ2V0X19zb2NpYWwgLnNvY2lhbCB1bCBsaSBhIHsKICAgIGJhY2tncm91bmQ6ICNmZmYKfQoKZm9vdGVyLmZvb3Rlci0tbGlnaHQgLndpZGdldF9fc29jaWFsIC5zb2NpYWwgdWwgbGkgYSBzcGFuIHsKICAgIGNvbG9yOiAjOTE5MmEzCn0KCmZvb3Rlci5mb290ZXItLWxpZ2h0IC53aWRnZXRfX3NvY2lhbCAuc29jaWFsIHVsIGxpIGE6aG92ZXIgewogICAgYmFja2dyb3VuZDogIzA3NGE1NQp9Cgpmb290ZXIuZm9vdGVyLS1saWdodCAud2lkZ2V0X19zb2NpYWwgLnNvY2lhbCB1bCBsaSBhOmhvdmVyIHNwYW4gewogICAgY29sb3I6ICNmZmYKfQoKZm9vdGVyLmZvb3Rlci0tbGlnaHQgLndpZGdldC0tY29udGFjdF9pbmZvIHVsIGxpIC5pbmZvIHAgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBmb250LXdlaWdodDogNTAwCn0KCmZvb3Rlci5mb290ZXItLWxpZ2h0IC53aWRnZXQtLWxhdGVzdC1uZXdzIHVsIGxpIGEgewogICAgY29sb3I6ICMyMDI0MjgKfQoKZm9vdGVyLmZvb3RlcjIuZm9vdGVyLS1saWdodCB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCmZvb3Rlci5mb290ZXIyLmZvb3Rlci0tbGlnaHQgLndpZGdldC50d2l0LS13aWRnZXQgLnVzZXIgLm5hbWUgewogICAgY29sb3I6ICMwNmI1OTAKfQoKZm9vdGVyLmZvb3RlcjIuZm9vdGVyLS1saWdodCAud2lkZ2V0LnR3aXQtLXdpZGdldCAudXNlciAubmFtZStzcGFuIHsKICAgIGNvbG9yOiAjOTE5MmEzCn0KCmZvb3Rlci5mb290ZXIyLmZvb3Rlci0tbGlnaHQgLmZvb3Rlcl9fc21hbGwgewogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlOGVkCn0KCmZvb3Rlci5mb290ZXIyLmZvb3Rlci0tbGlnaHQgLmZvb3Rlcl9fc21hbGwgcCB7CiAgICBjb2xvcjogIzVhNjY3MQp9Cgpmb290ZXIuZm9vdGVyMiAud2lkZ2V0LnR3aXQtLXdpZGdldCAudXNlciB7CiAgICBtYXJnaW4tdG9wOiAxNHB4Cn0KCmZvb3Rlci5mb290ZXIyIC53aWRnZXQudHdpdC0td2lkZ2V0IC51c2VyIC5uYW1lIHsKICAgIGNvbG9yOiAjZmZmCn0KCmZvb3Rlci5mb290ZXIyIC53aWRnZXQudHdpdC0td2lkZ2V0IC51c2VyIC5uYW1lK3NwYW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICItIjsKICAgIG1hcmdpbjogMCAzcHgKfQoKZm9vdGVyLmZvb3RlcjIgLndpZGdldC50d2l0LS13aWRnZXQgYSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sKfQoKZm9vdGVyLmZvb3RlcjIgLndpZGdldC50d2l0LS13aWRnZXQgc3Bhbi5mYWIgewogICAgbWFyZ2luLXJpZ2h0OiAxMnB4OwogICAgZm9udC1zaXplOiAxOHB4Cn0KCmZvb3Rlci5mb290ZXIyIC53aWRnZXQudHdpdC0td2lkZ2V0IC50d2l0X3dyYXBwZXI+c3BhbiB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0b3A6IC40NjY2N3JlbQp9Cgpmb290ZXIuZm9vdGVyMiAuZm9vdGVyX19zbWFsbCBwIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KQp9Cgpmb290ZXIuZm9vdGVyMiAuZm9vdGVyX19zbWFsbCBwIGE6aG92ZXIgewogICAgY29sb3I6ICNmZmYKfQoKZm9vdGVyLmZvb3RlcjMgLmZvb3Rlcl9fc21hbGwgewogICAgYmFja2dyb3VuZDogI2U0ZThlZAp9Cgpmb290ZXIuZm9vdGVyMyAuZm9vdGVyX19zbWFsbCBwIHsKICAgIGNvbG9yOiAjNWE2NjcxCn0KCmZvb3Rlci5mb290ZXI0IC5mb290ZXJfX2JpZyB7CiAgICBwYWRkaW5nOiA3LjMzMzMzcmVtIDAKfQoKZm9vdGVyLmZvb3RlcjQgLmZvb3Rlcl9tZW51X2l0ZW1zIHVsIGxpIHsKICAgIHBhZGRpbmc6IC45NHJlbQp9Cgpmb290ZXIuZm9vdGVyNCAuZm9vdGVyX21lbnVfaXRlbXMgdWwgbGkgYSB7CiAgICBsaW5lLWhlaWdodDogMi4xNHJlbTsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KQp9Cgpmb290ZXIuZm9vdGVyNCAuZm9vdGVyX21lbnVfaXRlbXMgdWwgbGkgYTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZgp9Cgpmb290ZXIuZm9vdGVyNCAuZm9vdGVyX19zbWFsbCAuaW5mb19saW5rcyBsaStsaSB7CiAgICBtYXJnaW4tbGVmdDogMTdweAp9Cgpmb290ZXIuZm9vdGVyNCAuZm9vdGVyX19zbWFsbCAuaW5mb19saW5rczpiZWZvcmUgewogICAgY29udGVudDogJ3wnOwogICAgbWFyZ2luOiAwIDMwcHg7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMikKfQoKZm9vdGVyLmZvb3RlcjQgLmZvb3Rlcl9tZW51X2l0ZW1zIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpCn0KCmZvb3Rlci5mb290ZXI0IC5mb290ZXJfX3NtYWxsIHsKICAgIHBhZGRpbmc6IDEuNjY2NjdyZW0gMDsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKQp9Cgpmb290ZXIuZm9vdGVyNCAuZm9vdGVyX19zbWFsbCBwLApmb290ZXIuZm9vdGVyNCAuZm9vdGVyX19zbWFsbCB1bCB7CiAgICBwYWRkaW5nOiAwOwogICAgbWFyZ2luOiAwCn0KCmZvb3Rlci5mb290ZXI0IC5zb2NpYWwuc3F1YXJlIHVsIGxpIGEgewogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMikKfQoKZm9vdGVyLmZvb3RlcjQgLnNvY2lhbC5zcXVhcmUgdWwgbGkgYTpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Cn0KCmZvb3Rlci5mb290ZXI0LmZvb3Rlci0tbGlnaHQgLmZvb3RlcjRfdGV4dCB7CiAgICBjb2xvcjogIzVhNjY3MQp9Cgpmb290ZXIuZm9vdGVyNC5mb290ZXItLWxpZ2h0IC5mb290ZXJfbWVudV9pdGVtcyB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCmZvb3Rlci5mb290ZXI0LmZvb3Rlci0tbGlnaHQgLmZvb3Rlcl9fc21hbGwgewogICAgYmFja2dyb3VuZDogI2ZmZgp9Cgpmb290ZXIuZm9vdGVyNC5mb290ZXItLWxpZ2h0IC5mb290ZXJfX3NtYWxsIHAgewogICAgY29sb3I6ICM1YTY2NzEKfQoKZm9vdGVyLmZvb3RlcjQuZm9vdGVyLS1saWdodCAuZm9vdGVyX19zbWFsbCAuaW5mb19saW5rcyBsaSBhIHsKICAgIGNvbG9yOiAjNWE2NjcxCn0KCmZvb3Rlci5mb290ZXI0LmZvb3Rlci0tbGlnaHQgLmZvb3Rlcl9fc21hbGwgLnNvY2lhbC5zcXVhcmUgbGkgYSB7CiAgICBjb2xvcjogIzkxOTJhMzsKICAgIGJvcmRlci1jb2xvcjogI2U0ZThlZAp9Cgpmb290ZXIuZm9vdGVyNC5mb290ZXItLWxpZ2h0IC5mb290ZXJfX3NtYWxsIC5zb2NpYWwuc3F1YXJlIGxpIGE6aG92ZXIgewogICAgY29sb3I6ICNmZmY7CiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Cn0KCmZvb3Rlci5mb290ZXI0IC5mb290ZXI0X3RleHQgewogICAgbWFyZ2luOiAzLjMzcmVtIDAgNC42NnJlbTsKICAgIGxpbmUtaGVpZ2h0OiAycmVtCn0KCmZvb3Rlci5mb290ZXI1LmZvb3Rlci0tYncgLmZvb3Rlcl9fYmlnIHsKICAgIGJhY2tncm91bmQ6ICMxMTExMTUKfQoKZm9vdGVyLmZvb3RlcjUuZm9vdGVyLS1idyAuZm9vdGVyX19iaWcgLnRleHRfd2lkZ2V0IGEgewogICAgY29sb3I6ICNmZmYKfQoKZm9vdGVyLmZvb3RlcjUuZm9vdGVyLS1idyAuZm9vdGVyX19iaWcgLnRleHRfd2lkZ2V0IGE6aG92ZXIgewogICAgY29sb3I6ICMwNzRhNTUKfQoKZm9vdGVyLmZvb3RlcjUuZm9vdGVyLS1idyAuZm9vdGVyX19iaWcgLndpZGdldCB1bC5saW5rcyBhOmhvdmVyIHsKICAgIGNvbG9yOiAjZmZmCn0KCmZvb3Rlci5mb290ZXI1LmZvb3Rlci0tYncgLmZvb3Rlcl9fYmlnIC53aWRnZXQgLndpZGdldF9fdGl0bGUgewogICAgY29sb3I6ICNmZmYKfQoKZm9vdGVyLmZvb3RlcjUuZm9vdGVyLS1idyAuZm9vdGVyX3NtYWxsIHsKICAgIGJhY2tncm91bmQ6ICMwMDAKfQoKZm9vdGVyLmZvb3Rlci0tbGlnaHQtZ3JhZGllbnQgewogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjZmJmYmZkKSwgdG8oI2YyZjFmYSkpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmJmYmZkLCAjZjJmMWZhKTsKICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmYmZiZmQsICNmMmYxZmEpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZiZmJmZCwgI2YyZjFmYSkKfQoKZm9vdGVyLmZvb3RlcjYgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHBhZGRpbmctdG9wOiA0LjMzMzMzcmVtCn0KCmZvb3Rlci5mb290ZXI2OmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAiIjsKICAgIHdpZHRoOiAxODAlOwogICAgaGVpZ2h0OiAxNTAlOwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIGxlZnQ6IC00MCU7CiAgICB0b3A6IC0xMzclOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCUKfQoKZm9vdGVyLmZvb3RlcjYuZm9vdGVyLS1kYXJrIC53aWRnZXQgLndpZGdldF9fdGl0bGUyIHsKICAgIGNvbG9yOiAjZmZmCn0KCmZvb3Rlci5mb290ZXI2LmZvb3Rlci0tZGFyayAuZm9vdGVyX19ib3R0b20gLmZvb3Rlcl9fYm90dG9tLWNvbnRlbnQgewogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKQp9Cgpmb290ZXIuZm9vdGVyNyB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZDogdXJsKGltZy9zaGFwZS13YXZlMy5wbmcpIGNlbnRlci8xMDAlIDEwMCUgbm8tcmVwZWF0OwogICAgcGFkZGluZy10b3A6IDQuNjY2NjdyZW0KfQoKZm9vdGVyLmZvb3RlcjcuZm9vdGVyLS1kYXJrIC53aWRnZXQgLndpZGdldF9fdGl0bGUyIHsKICAgIGNvbG9yOiAjZmZmCn0KCmZvb3Rlci5mb290ZXI3LmZvb3Rlci0tZGFyayAuZm9vdGVyX19ib3R0b20gLmZvb3Rlcl9fYm90dG9tLWNvbnRlbnQgewogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKQp9CgoucHJpY2luZyB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAzMHB4OwogICAgbWFyZ2luLWJvdHRvbTogMnJlbQp9CgoucHJpY2luZyAucHJpY2luZ19fdGl0bGUgaDQgewogICAgbGluZS1oZWlnaHQ6IDJyZW07CiAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgZm9udC13ZWlnaHQ6IDYwMAp9CgoucHJpY2luZyAucHJpY2luZ19fdGl0bGUgc3BhbiB7CiAgICBjb2xvcjogIzkxOTJhMzsKICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sKfQoKLnByaWNpbmcgLnByaWNpbmdfX3ByaWNlIHAgewogICAgZm9udC1zaXplOiAzLjMzcmVtOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiAjZmZmOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIGxpbmUtaGVpZ2h0OiA0LjkzMzMzcmVtOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIKfQoKLnByaWNpbmcgLnByaWNpbmdfX3ByaWNlIHAgc3VwIHsKICAgIGZvbnQtc2l6ZTogMS42M3JlbQp9CgoucHJpY2luZyAucHJpY2luZ19fcHJpY2UgcCBzbWFsbCB7CiAgICBmb250LXNpemU6IDFyZW07CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0b3A6IC41MzMzM3JlbQp9CgoucHJpY2luZy5wcmljaW5nLS0xIHsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNnB4OwogICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgcGFkZGluZzogMzZweCAzMHB4IDQwcHg7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCi5wcmljaW5nLnByaWNpbmctLTEgLnByaWNpbmdfX3RpdGxlIHsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLnByaWNpbmcucHJpY2luZy0tMSAucHJpY2luZ19fdGl0bGUgaDQgewogICAgZm9udC1zaXplOiAxLjZyZW0KfQoKLnByaWNpbmcucHJpY2luZy0tMSAucHJpY2luZ19fcHJpY2UgewogICAgbWF4LXdpZHRoOiAyMzFweDsKICAgIG1hcmdpbjogMCBhdXRvCn0KCi5wcmljaW5nLnByaWNpbmctLTEgLnByaWNpbmdfX3ByaWNlIHAgewogICAgbWFyZ2luOiAwCn0KCi5wcmljaW5nLnByaWNpbmctLTEgLnByaWNpbmdfX2ZlYXR1cmVzIHsKICAgIHBhZGRpbmc6IDJyZW0gMAp9CgoucHJpY2luZy5wcmljaW5nLS0xIC5wcmljaW5nX19mZWF0dXJlcyB1bCB7CiAgICBtYXJnaW46IDAKfQoKLnByaWNpbmcucHJpY2luZy0tMSAucHJpY2luZ19fZmVhdHVyZXMgdWwgbGkgewogICAgbWFyZ2luLWJvdHRvbTogMXJlbQp9CgoucHJpY2luZy5wcmljaW5nLS0xIC5wcmljaW5nX19mZWF0dXJlcyB1bCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLnByaWNpbmcucHJpY2luZy0tMiB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgcGFkZGluZzogMAp9CgoucHJpY2luZy5wcmljaW5nLS0yIC5wcmljaW5nX19mZWF0dXJlc19saXN0IHsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICBwYWRkaW5nOiA1Ljg2cmVtIDMuMzNyZW0gMy4zM3JlbQp9CgoucHJpY2luZy5wcmljaW5nLS0yIC5wcmljaW5nX19mZWF0dXJlc19saXN0IFAgewogICAgbWFyZ2luOiAwCn0KCi5wcmljaW5nLnByaWNpbmctLTIgLnByaWNpbmdfX2ZlYXR1cmVzX2xpc3QgdWwubGlzdCB7CiAgICBtYXJnaW4tdG9wOiA2M3B4Cn0KCi5wcmljaW5nLnByaWNpbmctLTIgLnByaWNpbmdfX2ZlYXR1cmVzX2xpc3QgdWwubGlzdCBsaSB7CiAgICBsaW5lLWhlaWdodDogMy4ycmVtOwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU4ZWQKfQoKLnByaWNpbmcucHJpY2luZy0tMiAucHJpY2luZ19fZmVhdHVyZXNfbGlzdCB1bC5saXN0IGxpOmZpcnN0LWNoaWxkIHsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlOGVkCn0KCi5wcmljaW5nLnByaWNpbmctLTIgLnByaWNpbmdfX3dyYXBwZXIgewogICAgLXdlYmtpdC1ib3gtZmxleDogMjsKICAgIC13ZWJraXQtZmxleDogMjsKICAgIC1tcy1mbGV4OiAyOwogICAgZmxleDogMjsKICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOwogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcAp9CgoucHJpY2luZy5wcmljaW5nLS0yIC5wcmljaW5nX193cmFwcGVyIC5wcmljaW5nX29wdGlvbiB7CiAgICBwYWRkaW5nOiAzLjJyZW0gMnJlbSAzLjMzcmVtOwogICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAwOwogICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7CiAgICBmbGV4LWJhc2lzOiAwOwogICAgLXdlYmtpdC1ib3gtZmxleDogMTsKICAgIC13ZWJraXQtZmxleC1ncm93OiAxOwogICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7CiAgICBmbGV4LWdyb3c6IDE7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgoucHJpY2luZy5wcmljaW5nLS0yIC5wcmljaW5nX193cmFwcGVyIC5wcmljaW5nX29wdGlvbiAucHJpY2luZ19fdGl0bGUgewogICAgbWFyZ2luLWJvdHRvbTogMjJweAp9CgoucHJpY2luZy5wcmljaW5nLS0yIC5wcmljaW5nX193cmFwcGVyIC5wcmljaW5nX29wdGlvbiB1bC5mYXZhaWwgewogICAgbWFyZ2luLWJvdHRvbTogMi42NnJlbQp9CgoucHJpY2luZy5wcmljaW5nLS0yIC5wcmljaW5nX193cmFwcGVyIC5wcmljaW5nX29wdGlvbiB1bC5mYXZhaWwgbGkgewogICAgbGluZS1oZWlnaHQ6IDMuMnJlbTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTRlOGVkCn0KCi5wcmljaW5nLnByaWNpbmctLTIgLnByaWNpbmdfX3dyYXBwZXIgLnByaWNpbmdfb3B0aW9uIHVsLmZhdmFpbCBsaTpmaXJzdC1jaGlsZCB7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZThlZAp9CgoucHJpY2luZy5wcmljaW5nLS0yIC5wcmljaW5nX193cmFwcGVyIC5wcmljaW5nX29wdGlvbiB1bC5mYXZhaWwgbGkgaSB7CiAgICBmb250LXNpemU6IDE4cHgKfQoKLnByaWNpbmcucHJpY2luZy0tMiAucHJpY2luZ19fd3JhcHBlciAucHJpY2luZ19vcHRpb24gdWwuZmF2YWlsIGxpIGkubGEtY2xvc2UgewogICAgY29sb3I6ICNlMjM2MzYKfQoKLnByaWNpbmcucHJpY2luZy0tMiAucHJpY2luZ19fd3JhcHBlciAucHJpY2luZ19vcHRpb246aG92ZXIgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoNDEsIDQxLCA1OSwgLjEpOwogICAgYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDQxLCA0MSwgNTksIC4xKQp9CgoucHJpY2luZy5wcmljaW5nLS0yIC5wcmljaW5nX193cmFwcGVyIC5wcmljaW5nX19wcmljZSB7CiAgICBtYXJnaW4tYm90dG9tOiAyLjY2cmVtCn0KCi50aW1lbGluZTEgLmhhcHBlbmluZzpob3ZlciAuaGFwcGVuaW5nX19wZXJpb2QgLndyYXBwZXI6YmVmb3JlIHsKICAgIGJvcmRlci1jb2xvcjogIzA2YjU5MAp9CgoudGltZWxpbmUxIC5oYXBwZW5pbmc6aG92ZXIgLmhhcHBlbmluZ19fcGVyaW9kIC53cmFwcGVyOmFmdGVyIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoNiwgMTgxLCAxNDQsIC4xKQp9CgoudGltZWxpbmUxIC5oYXBwZW5pbmcgLmhhcHBlbmluZ19fcGVyaW9kIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgoudGltZWxpbmUxIC5oYXBwZW5pbmcgLmhhcHBlbmluZ19fcGVyaW9kOmJlZm9yZSB7CiAgICBjb250ZW50OiAiIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGhlaWdodDogMTAwJTsKICAgIHdpZHRoOiAxcHg7CiAgICBiYWNrZ3JvdW5kOiAjZTJlMWVhOwogICAgcmlnaHQ6IC00MXB4OwogICAgdG9wOiAwCn0KCi50aW1lbGluZTEgLmhhcHBlbmluZyAuaGFwcGVuaW5nX19wZXJpb2QgLndyYXBwZXIgewogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIHBhZGRpbmc6IDA7CiAgICBtYXJnaW4tdG9wOiAwOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWluLWhlaWdodDogOC4zMzMzM3JlbTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyCn0KCi50aW1lbGluZTEgLmhhcHBlbmluZyAuaGFwcGVuaW5nX19wZXJpb2QgLndyYXBwZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIiOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuM3M7CiAgICAtby10cmFuc2l0aW9uOiAuM3M7CiAgICB0cmFuc2l0aW9uOiAuM3M7CiAgICBoZWlnaHQ6IDEwcHg7CiAgICB3aWR0aDogMTBweDsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwMHB4OwogICAgYm9yZGVyLXJhZGl1czogMjAwcHg7CiAgICByaWdodDogLTYwLjVweDsKICAgIHotaW5kZXg6IDE7CiAgICBib3JkZXI6IDJweCBzb2xpZCAjYWZiMGMzOwogICAgdG9wOiA1MCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkKfQoKLnRpbWVsaW5lMSAuaGFwcGVuaW5nIC5oYXBwZW5pbmdfX3BlcmlvZCAud3JhcHBlcjphZnRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnJzsKICAgIHdpZHRoOiAyMHB4OwogICAgaGVpZ2h0OiAyMHB4OwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMDBweDsKICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4OwogICAgcmlnaHQ6IC02NS41cHg7CiAgICB6LWluZGV4OiAxOwogICAgdG9wOiA1MCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IC4zczsKICAgIC1vLXRyYW5zaXRpb246IC4zczsKICAgIHRyYW5zaXRpb246IC4zcwp9CgoudGltZWxpbmUxIC5oYXBwZW5pbmcgLmhhcHBlbmluZ19fcGVyaW9kIC53cmFwcGVyIC5kYXRlIHsKICAgIG1hcmdpbjogMTBweCAwIDAgMDsKICAgIGxpbmUtaGVpZ2h0OiBub3JtYWwKfQoKLnRpbWVsaW5lMSAuaGFwcGVuaW5nIC5oYXBwZW5pbmdfX3BlcmlvZCAud3JhcHBlciAueWVhciB7CiAgICBmb250LXNpemU6IDIuNDJyZW07CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgIG1hcmdpbjogMAp9CgoudGltZWxpbmUxIC5oYXBwZW5pbmcgLmhhcHBlbmluZ19fZGVzYyB7CiAgICBwYWRkaW5nOiAwIDAgMy4zMzMzM3JlbTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgoudGltZWxpbmUxIC5oYXBwZW5pbmcgLmhhcHBlbmluZ19fZGVzYyAuaGFwcGVuaW5nX3RpdGxlIHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgbGluZS1oZWlnaHQ6IDMuMnJlbTsKICAgIG1hcmdpbi1ib3R0b206IC42NnJlbTsKICAgIG1hcmdpbi10b3A6IC0xMHB4Cn0KCi50aW1lbGluZTEgLmhhcHBlbmluZyBwIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLnRpbWVsaW5lMSAuaGFwcGVuaW5nOmxhc3QtY2hpbGQgLmhhcHBlbmluZ19fZGVzYyB7CiAgICBwYWRkaW5nLWJvdHRvbTogMAp9CgoudGltZWxpbmUyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgoudGltZWxpbmUyOmJlZm9yZSB7CiAgICBjb250ZW50OiAnJzsKICAgIGhlaWdodDogMTAwJTsKICAgIHdpZHRoOiAxcHg7CiAgICBiYWNrZ3JvdW5kOiAjZTRlOGVkOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMAp9CgoudGltZWxpbmUyIC5oYXBwZW5pbmcyIHsKICAgIHBhZGRpbmctYm90dG9tOiAyLjY2NjY3cmVtOwogICAgcGFkZGluZy1sZWZ0OiAzLjJyZW07CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLnRpbWVsaW5lMiAuaGFwcGVuaW5nMjpsYXN0LWNoaWxkIHsKICAgIHBhZGRpbmctYm90dG9tOiAwCn0KCi50aW1lbGluZTIgLmhhcHBlbmluZzI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDEycHg7CiAgICB0b3A6IDQzcHg7CiAgICBoZWlnaHQ6IDEycHg7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwMHB4OwogICAgYm9yZGVyLXJhZGl1czogMjAwcHg7CiAgICBib3JkZXI6IDJweCBzb2xpZCAjYWZiMGMzOwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIGxlZnQ6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkKfQoKLnRpbWVsaW5lMiAuaGFwcGVuaW5nMjpob3ZlcjpiZWZvcmUgewogICAgYm9yZGVyLWNvbG9yOiAjMDZiNTkwCn0KCi50aW1lbGluZTIgLmhhcHBlbmluZzIgLmhhcHBlbmluZzJfX3BlcmlvZCB7CiAgICBmb250LXNpemU6IDFyZW07CiAgICBtYXJnaW46IDA7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbGluZS1oZWlnaHQ6IG5vcm1hbAp9CgoudGltZWxpbmUyIC5oYXBwZW5pbmcyIC5oYXBwZW5pbmcyX190aXRsZSB7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBsaW5lLWhlaWdodDogMy4ycmVtOwogICAgbWFyZ2luLWJvdHRvbTogMAp9CgoudGltZWxpbmUyIC5oYXBwZW5pbmcyIHAgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouYXJhYmljIHsKICAgIGZvbnQtc2l6ZTogMS40NjY2N3JlbQp9CgouY291bnRlci5jb3VudGVyLS0xLAouY291bnRlci5jb3VudGVyLS0yIHsKICAgIHBhZGRpbmc6IDYuMzMzMzNyZW0gMAp9CgouY291bnRlci5jb3VudGVyLS0zIHsKICAgIHBhZGRpbmc6IDcuMzMzMzNyZW0gMAp9CgouY291bnRlci5jb3VudGVyLS0zIC5jb3VudGVyX3NpbmdsZSAudGl0bGUgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpCn0KCi5jb3VudGVyLmNvdW50ZXItLTQgLmNvdW50ZXJfc2luZ2xlIC50aXRsZSB7CiAgICBjb2xvcjogIzVhNjY3MQp9CgouY291bnRlci5jb3VudGVyLS01IHsKICAgIHBhZGRpbmc6IDhyZW0gMCA2cmVtCn0KCi5jb3VudGVyLmNvdW50ZXItLTUgLmNvdW50ZXJfc2luZ2xlIHsKICAgIHBhZGRpbmc6IDNyZW0gMDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLmNvdW50ZXIuY291bnRlci0tNSAuY291bnRlcl9zaW5nbGUgLnZhbHVlIHsKICAgIG1hcmdpbi1ib3R0b206IC4zM3JlbQp9CgouY291bnRlci5jb3VudGVyLS01IC5jb3VudGVyX3NpbmdsZSAudGl0bGUgewogICAgZm9udC13ZWlnaHQ6IDUwMAp9CgouY291bnRlci5jb3VudGVyLS02IHsKICAgIHBhZGRpbmc6IDcuNjY2NjdyZW0gMAp9CgouY291bnRlci5jb3VudGVyLS02IC5pY29uIHNwYW4gewogICAgY29sb3I6ICNmZmYKfQoKLmNvdW50ZXIuY291bnRlci0tNiAudGl0bGUgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpCn0KCi5jb3VudGVyLmNvdW50ZXItLTcgewogICAgcGFkZGluZzogNi42NjY2N3JlbSAwIDQuNjY2NjdyZW0KfQoKLmNvdW50ZXIuY291bnRlci0tNyAuY291bnRlcl9sZWZ0X2NvbnRlbnQgaDQgewogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDIuNHJlbTsKICAgIGZvbnQtd2VpZ2h0OiA2MDAKfQoKLmNvdW50ZXIuY291bnRlci0tNyAuY291bnRlcl9sZWZ0X2NvbnRlbnQgcCB7CiAgICBjb2xvcjogI2ZmZgp9CgouY291bnRlci5jb3VudGVyLS03IC5jb3VudGVyX3NpbmdsZSB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgcGFkZGluZzogMS45MzMzM3JlbSAwOwogICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNnB4OwogICAgYm9yZGVyLXJhZGl1czogNnB4Cn0KCi5jb3VudGVyLmNvdW50ZXItLTcgLmNvdW50ZXJfc2luZ2xlIC50aXRsZSB7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIGZvbnQtd2VpZ2h0OiA1MDAKfQoKLmNvdW50ZXJfc2luZ2xlIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcgp9CgouY291bnRlcl9zaW5nbGUgcCB7CiAgICBtYXJnaW46IDAKfQoKLmNvdW50ZXJfc2luZ2xlIC5pY29uIHsKICAgIHBhZGRpbmctYm90dG9tOiAyLjMzcmVtCn0KCi5jb3VudGVyX3NpbmdsZSAuaWNvbiBzcGFuIHsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiAzLjQ3cmVtCn0KCi5jb3VudGVyX3NpbmdsZSAudmFsdWUgewogICAgZm9udC1zaXplOiAzLjJyZW07CiAgICBsaW5lLWhlaWdodDogMy42NnJlbTsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBjb2xvcjogI2ZmZjsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmNvdW50ZXJfc2luZ2xlIC50aXRsZSB7CiAgICBjb2xvcjogI2ZmZgp9Cgouc2hhZG93LWxnLTIgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjEpICFpbXBvcnRhbnQ7CiAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjEpICFpbXBvcnRhbnQKfQoKLnNoYWRvd19sZy0tYmd3aGl0ZSB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSg0MSwgNDEsIDU5LCAuMSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoNDEsIDQxLCA1OSwgLjEpCn0KCi5zaGFkb3dfbGcyLS1iZ3doaXRlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSg0MSwgNDEsIDU5LCAuMSk7CiAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDQxLCA0MSwgNTksIC4xKQp9CgouZG90LWxpZ2h0LAoub3dsLWRvdHMgewogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgbWFyZ2luLXRvcDogMnJlbQp9CgouZG90LWxpZ2h0IC5vd2wtZG90LAoub3dsLWRvdHMgLm93bC1kb3QgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgbWFyZ2luLXJpZ2h0OiAuNjY2NjdyZW0KfQoKLmRvdC1saWdodCAub3dsLWRvdDpsYXN0LWNoaWxkLAoub3dsLWRvdHMgLm93bC1kb3Q6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAKfQoKLmRvdC1saWdodCAub3dsLWRvdDpmb2N1cywKLm93bC1kb3RzIC5vd2wtZG90OmZvY3VzIHsKICAgIG91dGxpbmU6IDAKfQoKLmRvdC1saWdodCAub3dsLWRvdCBzcGFuLAoub3dsLWRvdHMgLm93bC1kb3Qgc3BhbiB7CiAgICB3aWR0aDogLjhyZW07CiAgICBoZWlnaHQ6IC44cmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHJlbTsKICAgIGJvcmRlci1yYWRpdXM6IDIwcmVtOwogICAgYmFja2dyb3VuZDogcmdiYSg3LCA3NCwgODUsIC4zKTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jawp9CgouZG90LXNlY29uZGFyeS5kb3QtbGlnaHQgLm93bC1kb3Qgc3BhbiwKLm93bC1kb3RzLmRvdC1zZWNvbmRhcnkgLm93bC1kb3Qgc3BhbiB7CiAgICBib3JkZXI6IDAgbm9uZTsKICAgIGJhY2tncm91bmQ6IHJnYmEoNiwgMTgxLCAxNDQsIC4yKQp9CgouZG90LWxpZ2h0IC5vd2wtZG90IHNwYW4gewogICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZgp9CgouZG90LWxpZ2h0IC5vd2wtZG90LmFjdGl2ZSBzcGFuIHsKICAgIGJhY2tncm91bmQ6ICNmZmYKfQoKLm5hdi1jaXJjbGUgYnV0dG9uIHsKICAgIHdpZHRoOiAzLjA2NjY3cmVtOwogICAgaGVpZ2h0OiAzLjA2NjY3cmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIGNvbG9yOiAjZmZmOwogICAgYm9yZGVyOiAwIG5vbmU7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgoubmF2LWNpcmNsZSBidXR0b246Zm9jdXMgewogICAgb3V0bGluZTogMAp9CgoubmF2LWNpcmNsZSAub3dsLXByZXYgewogICAgbWFyZ2luLWxlZnQ6IC00cmVtOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIHRvcDogNTAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpCn0KCi5uYXYtY2lyY2xlIC5vd2wtbmV4dCB7CiAgICBtYXJnaW4tcmlnaHQ6IC00cmVtOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDA7CiAgICB0b3A6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKQp9CgoubmF2LWNpcmNsZS5uYXYtY2lyY2xlLS1saWdodCBidXR0b24gewogICAgd2lkdGg6IDIuNjY2NjdyZW07CiAgICBoZWlnaHQ6IDIuNjY2NjdyZW07CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgY29sb3I6ICM5MTkyYTM7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSg0MSwgNDEsIDU5LCAuMSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoNDEsIDQxLCA1OSwgLjEpCn0KCi5uYXYtY2lyY2xlLm5hdi1jaXJjbGUtLWxpZ2h0IGJ1dHRvbjpob3ZlciB7CiAgICBjb2xvcjogI2ZmZgp9CgoubmF2LWNpcmNsZS5uYXYtY2lyY2xlLS1saWdodGVuIGJ1dHRvbiB7CiAgICB3aWR0aDogMi42NjY2N3JlbTsKICAgIGhlaWdodDogMi42NjY2N3JlbTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpOwogICAgY29sb3I6ICNmZmY7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSg0MSwgNDEsIDU5LCAuMSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoNDEsIDQxLCA1OSwgLjEpOwogICAgZm9udC1zaXplOiAuODY2NjdyZW0KfQoKLm5hdi1jaXJjbGUubmF2LWNpcmNsZS0tbGlnaHRlbiBidXR0b246aG92ZXIgewogICAgY29sb3I6ICNmZmYKfQoKLm5hdi1zcXVhcmUgYnV0dG9uIHsKICAgIHdpZHRoOiAyLjY2NjY3cmVtOwogICAgaGVpZ2h0OiAyLjY2NjY3cmVtOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDEuMDY2NjdyZW07CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC40KTsKICAgIGJvcmRlcjogMCBub25lOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICBjdXJzb3I6IHBvaW50ZXIKfQoKLm5hdi1zcXVhcmUgYnV0dG9uOmZvY3VzIHsKICAgIG91dGxpbmU6IDAKfQoKLm5hdi1zcXVhcmUgLm93bC1wcmV2IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKQp9CgoubmF2LXNxdWFyZSAub3dsLW5leHQgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDA7CiAgICB0b3A6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKQp9CgoubmF2LXNxdWFyZS5uYXYtc3F1YXJlLWRhcmsgYnV0dG9uIHsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4OwogICAgYm9yZGVyLXJhZGl1czogM3B4Cn0KCi5uYXYtc3F1YXJlLm5hdi1zcXVhcmUtZGFyayAub3dsLXByZXYgewogICAgbWFyZ2luLWxlZnQ6IC01cHgKfQoKLm5hdi1zcXVhcmUubmF2LXNxdWFyZS1kYXJrIC5vd2wtbmV4dCB7CiAgICBtYXJnaW4tcmlnaHQ6IC01cHgKfQoKLmNhcm91c2VsLW9uZSAuY2Fyb3VzZWwtb25lLXNpbmdsZSB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIKfQoKLmNhcm91c2VsLW9uZSAuY2Fyb3VzZWwtb25lLXNpbmdsZSBmaWd1cmUgewogICAgbWFyZ2luLWJvdHRvbTogMnJlbQp9CgouY2Fyb3VzZWwtb25lIC5jYXJvdXNlbC1vbmUtc2luZ2xlIGZpZ3VyZSBpbWcgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7CiAgICBib3JkZXItcmFkaXVzOiA1cHgKfQoKLmNhcm91c2VsLW9uZSAuY2Fyb3VzZWwtb25lLXNpbmdsZSBoNiB7CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtCn0KCi5jYXJvdXNlbC1vbmUgLmNhcm91c2VsLW9uZS1zaW5nbGUgaDYgYSB7CiAgICBjb2xvcjogIzIwMjQyOAp9CgouY2Fyb3VzZWwtb25lIC5jYXJvdXNlbC1vbmUtc2luZ2xlIGg2IGE6aG92ZXIgewogICAgY29sb3I6ICMwNmI1OTAKfQoKLmNhcm91c2VsLW9uZSAuY2Fyb3VzZWwtb25lLXNpbmdsZSBwIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmNhcm91c2VsLXRocmVlIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgouY2Fyb3VzZWwtdGhyZWUgLmNhcm91c2VsLXNpbmdsZSB7CiAgICBwYWRkaW5nOiAxcmVtCn0KCi5jYXJvdXNlbC1mb3VyIC5jYXJvdXNlbC1zaW5nbGUgewogICAgcGFkZGluZzogMXJlbQp9CgoucG9ydGZvbGlvLWNhcm91c2VsIC5kb3QtY2lyY2xlLAoucG9ydGZvbGlvLWNhcm91c2VsIC5kb3QtbGlnaHQgewogICAgbWFyZ2luLXRvcDogMnJlbQp9CgoucG9ydGZvbGlvLWNhcm91c2VsLXNpbmdsZSB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtOwogICAgb3ZlcmZsb3c6IGhpZGRlbgp9CgoucG9ydGZvbGlvLWNhcm91c2VsLXNpbmdsZSBmaWd1cmUgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWFyZ2luOiAwCn0KCi5wb3J0Zm9saW8tY2Fyb3VzZWwtc2luZ2xlIGZpZ3VyZSBmaWdjYXB0aW9uIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjgsIDI4LCAzOCwgLjg1KTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi5wb3J0Zm9saW8tY2Fyb3VzZWwtc2luZ2xlIGZpZ3VyZSBmaWdjYXB0aW9uIGg1IHsKICAgIG1hcmdpbi1ib3R0b206IDFyZW07CiAgICBjb2xvcjogI2ZmZgp9CgoucG9ydGZvbGlvLWNhcm91c2VsLXNpbmdsZSBmaWd1cmUgZmlnY2FwdGlvbiBoNSwKLnBvcnRmb2xpby1jYXJvdXNlbC1zaW5nbGUgZmlndXJlIGZpZ2NhcHRpb24gc3BhbiB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTsKICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMyk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgoucG9ydGZvbGlvLWNhcm91c2VsLXNpbmdsZSBmaWd1cmUgZmlnY2FwdGlvbiAubGluayB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogLTMuMzMzMzNyZW07CiAgICB0b3A6IC0zLjMzMzMzcmVtOwogICAgd2lkdGg6IDMuMzMzMzNyZW07CiAgICBoZWlnaHQ6IDMuMzMzMzNyZW07CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtc2l6ZTogMS42cmVtOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDAgMCAwIDNweDsKICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDNweDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi5wb3J0Zm9saW8tY2Fyb3VzZWwtc2luZ2xlIGZpZ3VyZTpob3ZlciBmaWdjYXB0aW9uIHsKICAgIG9wYWNpdHk6IDE7CiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlCn0KCi5wb3J0Zm9saW8tY2Fyb3VzZWwtc2luZ2xlIGZpZ3VyZTpob3ZlciBmaWdjYXB0aW9uIGg1LAoucG9ydGZvbGlvLWNhcm91c2VsLXNpbmdsZSBmaWd1cmU6aG92ZXIgZmlnY2FwdGlvbiBzcGFuIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxKQp9CgoucG9ydGZvbGlvLWNhcm91c2VsLXNpbmdsZSBmaWd1cmU6aG92ZXIgZmlnY2FwdGlvbiAubGluayB7CiAgICB0b3A6IDA7CiAgICByaWdodDogMAp9CgouaW1hZ2UtY2Fyb3VzZWwtb25lIGZpZ3VyZSB7CiAgICBtYXJnaW46IDAKfQoKLmltYWdlLWNhcm91c2VsLW9uZSAubmF2LWNpcmNsZSAub3dsLXByZXYgewogICAgbWFyZ2luLWxlZnQ6IDJyZW0KfQoKLmltYWdlLWNhcm91c2VsLW9uZSAubmF2LWNpcmNsZSAub3dsLW5leHQgewogICAgbWFyZ2luLXJpZ2h0OiAycmVtCn0KCi5pbWFnZS1jYXJvdXNlbC10d28gLmNhcm91c2VsLXNpbmdsZSBmaWd1cmUgaW1nIHsKICAgIHdpZHRoOiAxMDAlCn0KCi5pbWFnZS1jYXJvdXNlbC10d28gLmRvdC1saWdodCwKLmltYWdlLWNhcm91c2VsLXR3byAub3dsLWRvdHMgewogICAgbWFyZ2luLXRvcDogMS4wNjY2N3JlbQp9CgoudGVzdGltb25pYWwtY2Fyb3VzZWwtb25lIC5jYXJvdXNlbC1zaW5nbGUgewogICAgdGV4dC1hbGlnbjogY2VudGVyCn0KCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1vbmUgLmNhcm91c2VsLXNpbmdsZSBpbWcgewogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW46IDAgYXV0bwp9CgoudGVzdGltb25pYWwtY2Fyb3VzZWwtb25lIC5jYXJvdXNlbC1zaW5nbGUgaDYgewogICAgbWFyZ2luOiAxLjMzMzMzcmVtIDAgLjY2NjY3cmVtIDA7CiAgICBjb2xvcjogIzIwMjQyOAp9CgoudGVzdGltb25pYWwtY2Fyb3VzZWwtb25lIC5jYXJvdXNlbC1zaW5nbGUgLnN1Yi10ZXh0IHsKICAgIGNvbG9yOiAjMDZiNTkwOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW4tYm90dG9tOiAxLjMzMzMzcmVtCn0KCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1vbmUgLmNhcm91c2VsLXNpbmdsZSBwIHsKICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgbGluZS1oZWlnaHQ6IDIuMjY2NjdyZW07CiAgICBtYXJnaW46IDAKfQoKLmNhcm91c2VsLWJnIC5iZ19pbWFnZV9ob2xkZXI6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICIiOwogICAgYmFja2dyb3VuZDogcmdiYSgyNywgMjgsIDU3LCAuOCk7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDAKfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLXRocmVlIC5uYXYtY2lyY2xlIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgoudGVzdGltb25pYWwtY2Fyb3VzZWwtdGhyZWU6aG92ZXIgLm5hdi1jaXJjbGUgewogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAgIG9wYWNpdHk6IDEKfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLXRocmVlIC5jYXJvdXNlbC1zaW5nbGUgewogICAgcGFkZGluZzogMXJlbQp9CgoudGVzdGltb25pYWwtY2Fyb3VzZWwtdGhyZWUgLmNhcm91c2VsLXNpbmdsZSAuY2FyZCBpbWcgewogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW46IDAgYXV0bwp9CgoudGMtZm91ci13cmFwcGVyLmJnLWdyZXkgewogICAgYmFja2dyb3VuZDogI2Y0ZjRmNAp9CgoudGMtZm91ci13cmFwcGVyLmJnLWdyZXkgLnRlc3RpbW9uaWFsLWNhcm91c2VsLWZvdXIgLmNhcm91c2VsLXNpbmdsZSAuYXV0aG9yLXNwZWMgc3Ryb25nIHsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi50Yy1mb3VyLXdyYXBwZXIuYmctZ3JleSAudGVzdGltb25pYWwtY2Fyb3VzZWwtZm91ciAuY2Fyb3VzZWwtc2luZ2xlIC5hdXRob3ItdGV4dDpiZWZvcmUgewogICAgY29sb3I6ICNlZGVkZWYKfQoKLnRjLWZvdXItd3JhcHBlci5iZy1ncmV5IC50ZXN0aW1vbmlhbC1jYXJvdXNlbC1mb3VyIC5jYXJvdXNlbC1zaW5nbGUgLmF1dGhvci10ZXh0IHAgewogICAgY29sb3I6ICM1YTY2NzEKfQoKLnRjLWZvdXItd3JhcHBlci5iZy1ncmV5IC50ZXN0aW1vbmlhbC1jYXJvdXNlbC1mb3VyIC5uYXYtc3F1YXJlIGJ1dHRvbiB7CiAgICBiYWNrZ3JvdW5kOiAjZTFlMWU3OwogICAgY29sb3I6ICMyMDI0MjgKfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLWZvdXIgewogICAgcGFkZGluZzogNy4zMzMzM3JlbSAwIDYuOTMzMzNyZW0KfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLWZvdXIgLmNhcm91c2VsLXNpbmdsZSBpbWcgewogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW46IDAgYXV0bwp9CgoudGVzdGltb25pYWwtY2Fyb3VzZWwtZm91ciAuY2Fyb3VzZWwtc2luZ2xlIC5hdXRob3Itc3BlYyB7CiAgICBtYXJnaW46IDEuMzMzMzNyZW0gMCAwIDAKfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLWZvdXIgLmNhcm91c2VsLXNpbmdsZSAuYXV0aG9yLXNwZWMgc3Ryb25nIHsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtc2l6ZTogMS4ycmVtCn0KCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1mb3VyIC5jYXJvdXNlbC1zaW5nbGUgLmF1dGhvci1zcGVjIHNwYW4gewogICAgZm9udC1zaXplOiAxLjJyZW07CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNikKfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLWZvdXIgLmNhcm91c2VsLXNpbmdsZSAuYXV0aG9yLXNwZWMgcCB7CiAgICBtYXJnaW46IDAKfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLWZvdXIgLmNhcm91c2VsLXNpbmdsZSAuYXV0aG9yLXRleHQgewogICAgd2lkdGg6IDUwcmVtOwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBwYWRkaW5nLXRvcDogMy4zMzMzM3JlbTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgoudGVzdGltb25pYWwtY2Fyb3VzZWwtZm91ciAuY2Fyb3VzZWwtc2luZ2xlIC5hdXRob3ItdGV4dDpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogIlxmMmNlIjsKICAgIGZvbnQtZmFtaWx5OiBMaW5lQXdlc29tZTsKICAgIGZvbnQtc2l6ZTogMTByZW07CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDUpOwogICAgbGVmdDogNTAlOwogICAgdG9wOiAwOwogICAgbGluZS1oZWlnaHQ6IC44OwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgei1pbmRleDogLTEKfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLWZvdXIgLmNhcm91c2VsLXNpbmdsZSAuYXV0aG9yLXRleHQgcCB7CiAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KTsKICAgIGxpbmUtaGVpZ2h0OiAyLjI2NjY3cmVtOwogICAgbWFyZ2luOiAwCn0KCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1mb3VyIC5uYXYtY2lyY2xlIC5vd2wtcHJldiB7CiAgICBtYXJnaW4tbGVmdDogMAp9CgoudGVzdGltb25pYWwtY2Fyb3VzZWwtZm91ciAubmF2LWNpcmNsZSAub3dsLW5leHQgewogICAgbWFyZ2luLXJpZ2h0OiAwCn0KCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1mb3VyIC5uYXYtY2lyY2xlIC5vd2wtbmV4dCwKLnRlc3RpbW9uaWFsLWNhcm91c2VsLWZvdXIgLm5hdi1jaXJjbGUgLm93bC1wcmV2IHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA1KTsKICAgIGZvbnQtc2l6ZTogLjg2NjY3cmVtOwogICAgY29sb3I6ICNmZmYKfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLWZvdXIgLm5hdi1jaXJjbGUgLm93bC1uZXh0OmhvdmVyLAoudGVzdGltb25pYWwtY2Fyb3VzZWwtZm91ciAubmF2LWNpcmNsZSAub3dsLXByZXY6aG92ZXIgewogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1maXZlIC5jYXJvdXNlbC1zaW5nbGUgewogICAgcGFkZGluZzogMXJlbQp9CgoudGVzdGltb25pYWwtY2Fyb3VzZWwtZml2ZSAuY2Fyb3VzZWwtc2luZ2xlIC5hdXRob3ItdGV4dCB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjEpOwogICAgcGFkZGluZzogMi42NjY2N3JlbSAyLjY2NjY3cmVtOwogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1maXZlIC5jYXJvdXNlbC1zaW5nbGUgLmF1dGhvci10ZXh0OmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAiIjsKICAgIGJvcmRlci1yaWdodDogMS4zMzMzM3JlbSBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1sZWZ0OiAxLjMzMzMzcmVtIHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXRvcDogMS4zMzMzM3JlbSBzb2xpZCAjZmZmOwogICAgYm90dG9tOiAtMS4zMzMzM3JlbTsKICAgIGxlZnQ6IDQuNjY2NjdyZW0KfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLWZpdmUgLmNhcm91c2VsLXNpbmdsZSAuYXV0aG9yLXRleHQgcCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1maXZlIC5jYXJvdXNlbC1zaW5nbGUgLmF1dGhvci1zcGVjIHsKICAgIG1hcmdpbi10b3A6IDIuNjY2NjdyZW07CiAgICBtYXJnaW4tbGVmdDogMy4zMzMzM3JlbTsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcgp9CgoudGVzdGltb25pYWwtY2Fyb3VzZWwtZml2ZSAuY2Fyb3VzZWwtc2luZ2xlIC5hdXRob3Itc3BlYyAuYXV0aG9yLWltZyB7CiAgICBtYXJnaW4tcmlnaHQ6IDEuMzMzMzNyZW0KfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLWZpdmUgLmNhcm91c2VsLXNpbmdsZSAuYXV0aG9yLXNwZWMgLmF1dGhvci1kZXNjIGg2IHsKICAgIG1hcmdpbjogMCAwIDVweCAwOwogICAgY29sb3I6ICMyMDI0MjgKfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLWZpdmUgLm5hdi1zcXVhcmUtZGFyayB7CiAgICB0b3A6IDQwJQp9CgoudGVzdGltb25pYWwtY2Fyb3VzZWwtZml2ZSAubmF2LXNxdWFyZS1kYXJrIC5vd2wtcHJldiB7CiAgICBtYXJnaW4tbGVmdDogMXJlbQp9CgoudGVzdGltb25pYWwtY2Fyb3VzZWwtZml2ZSAubmF2LXNxdWFyZS1kYXJrIC5vd2wtbmV4dCB7CiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0KfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLXNpeC13cmFwcGVyIHsKICAgIGJhY2tncm91bmQ6IHVybChpbWcvc2hhcGUtd2F2ZS5wbmcpOwogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICBwYWRkaW5nOiAzLjJyZW0gMCA2LjkzMzMzcmVtIDAKfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLXNpeCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLXNpeDpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogJ1xmMmNlJzsKICAgIGZvbnQtZmFtaWx5OiBMaW5lQXdlc29tZTsKICAgIGZvbnQtc2l6ZTogMTMuMzMzMzNyZW07CiAgICBjb2xvcjogcmdiYSg2LCAxODEsIDE0NCwgLjEpOwogICAgbGVmdDogMTAwcHg7CiAgICB0b3A6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKQp9CgoudGVzdGltb25pYWwtY2Fyb3VzZWwtc2l4IC5jYXJvdXNlbC1zaW5nbGUgewogICAgdGV4dC1hbGlnbjogY2VudGVyCn0KCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zaXggLmNhcm91c2VsLXNpbmdsZSBpbWcgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IGF1dG8KfQoKLnRlc3RpbW9uaWFsLWNhcm91c2VsLXNpeCAuY2Fyb3VzZWwtc2luZ2xlIGg1IHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgbWFyZ2luOiAxLjMzMzMzcmVtIDAgLjY2NjY3cmVtCn0KCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zaXggLmNhcm91c2VsLXNpbmdsZSBwIHsKICAgIG1hcmdpbjogMnJlbSAwIDAgMAp9CgoudGVhbS1jYXJvdXNlbC1vbmUgLmNhcm91c2VsLXNpbmdsZSB7CiAgICBwYWRkaW5nOiAxcmVtCn0KCi50ZWFtLWNhcm91c2VsLW9uZSAuY2Fyb3VzZWwtc2luZ2xlIGltZyB7CiAgICB3aWR0aDogYXV0bzsKICAgIG1hcmdpbjogMCBhdXRvCn0KCi50ZWFtLWNhcm91c2VsLXR3byAuZG90LWxpZ2h0LAoudGVhbS1jYXJvdXNlbC10d28gLm93bC1kb3RzIHsKICAgIG1hcmdpbi10b3A6IDEuMzMzMzNyZW0KfQoKLnRlYW0tY2Fyb3VzZWwtdGhyZWUgewogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjI2NjY3cmVtOwogICAgYm9yZGVyLXJhZGl1czogLjI2NjY3cmVtCn0KCi50ZWFtLWNhcm91c2VsLXRocmVlIC5jYXJvdXNlbC1zaW5nbGUgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICBmbGV4LXdyYXA6IHdyYXAKfQoKLnRlYW0tY2Fyb3VzZWwtdGhyZWUgLmNhcm91c2VsLXNpbmdsZSAudGVhbS1pbWcgewogICAgd2lkdGg6IDQ1JQp9CgoudGVhbS1jYXJvdXNlbC10aHJlZSAuY2Fyb3VzZWwtc2luZ2xlIC50ZWFtLWltZyBpbWcgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMjY2NjdyZW0gMCAwIC4yNjY2N3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4yNjY2N3JlbSAwIDAgLjI2NjY3cmVtCn0KCi50ZWFtLWNhcm91c2VsLXRocmVlIC5jYXJvdXNlbC1zaW5nbGUgLnRlYW0tZGVzYyB7CiAgICB3aWR0aDogNTUlOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBwYWRkaW5nOiAwIDMuMzMzMzNyZW0KfQoKLnRlYW0tY2Fyb3VzZWwtdGhyZWUgLmNhcm91c2VsLXNpbmdsZSAudGVhbS1kZXNjIGg1IHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgbWFyZ2luOiAwIDAgLjUzMzMzcmVtCn0KCi50ZWFtLWNhcm91c2VsLXRocmVlIC5jYXJvdXNlbC1zaW5nbGUgLnRlYW0tZGVzYyBzcGFuIHsKICAgIGNvbG9yOiAjOTE5MmEzCn0KCi50ZWFtLWNhcm91c2VsLXRocmVlIC5jYXJvdXNlbC1zaW5nbGUgLnRlYW0tZGVzYyBwIHsKICAgIG1hcmdpbjogMXJlbSAwIDJyZW0gMAp9CgoudGVhbS1jYXJvdXNlbC10aHJlZSAubmF2LWNpcmNsZSAub3dsLXByZXYgewogICAgbWFyZ2luLWxlZnQ6IC0xLjMzMzMzcmVtOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi50ZWFtLWNhcm91c2VsLXRocmVlIC5uYXYtY2lyY2xlIC5vd2wtbmV4dCB7CiAgICBtYXJnaW4tcmlnaHQ6IC0xLjMzMzMzcmVtOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi50ZWFtLWNhcm91c2VsLXRocmVlOmhvdmVyIC5uYXYtY2lyY2xlIC5vd2wtbmV4dCwKLnRlYW0tY2Fyb3VzZWwtdGhyZWU6aG92ZXIgLm5hdi1jaXJjbGUgLm93bC1wcmV2IHsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UKfQoKLmxvZ28tY2Fyb3VzZWwtb25lIC5jYXJvdXNlbC1zaW5nbGUgaW1nLAoubG9nby1jYXJvdXNlbC10d28gLmNhcm91c2VsLXNpbmdsZSBpbWcgewogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW46IDAgYXV0bwp9CgoubG9nby1jYXJvdXNlbC1vbmUgLm93bC1zdGFnZSwKLmxvZ28tY2Fyb3VzZWwtdHdvIC5vd2wtc3RhZ2UgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIKfQoKLmxvZ28tY2Fyb3VzZWwgewogICAgcGFkZGluZzogNy4zMzMzM3JlbSAwIDdyZW0KfQoKLmxvZ28tY2Fyb3VzZWwgLmNvbnRlbnQtbGVmdCBoMSB7CiAgICBsaW5lLWhlaWdodDogMy43MzMzM3JlbQp9CgoubG9nby1jYXJvdXNlbC10d28gLmxvZ28tYm94IHsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtOwogICAgbWluLWhlaWdodDogOHJlbTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMDUpCn0KCkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDpub25lKSwKKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSkgewogICAgLmxvZ28tY2Fyb3VzZWwtdHdvIC5sb2dvLWJveCB7CiAgICAgICAgaGVpZ2h0OiA4cmVtCiAgICB9Cn0KCi5sb2dvLWNhcm91c2VsLXR3byAubG9nby1ib3g6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5sb2dvLWNhcm91c2VsLXRocmVlIC5jYXJvdXNlbC1zaW5nbGUgewogICAgbWluLWhlaWdodDogOHJlbQp9CgoubG9nby1jYXJvdXNlbC10aHJlZSAuY2Fyb3VzZWwtc2luZ2xlIC5sb2dvLWJveCB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGVkOwogICAgaGVpZ2h0OiA4cmVtOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIKfQoKLmxvZ28tY2Fyb3VzZWwtdGhyZWUgLmNhcm91c2VsLXNpbmdsZSAubG9nby1ib3ggaW1nIHsKICAgIHdpZHRoOiBhdXRvCn0KCi5sb2dvLWNhcm91c2VsLXRocmVlIC5uYXYtc3F1YXJlLWRhcmsgewogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi5sb2dvLWNhcm91c2VsLXRocmVlIC5uYXYtc3F1YXJlLWRhcmsgLm93bC1wcmV2IHsKICAgIG1hcmdpbi1sZWZ0OiAtMS4zMzMzM3JlbQp9CgoubG9nby1jYXJvdXNlbC10aHJlZSAubmF2LXNxdWFyZS1kYXJrIC5vd2wtbmV4dCB7CiAgICBtYXJnaW4tcmlnaHQ6IC0xLjMzMzMzcmVtCn0KCi5sb2dvLWNhcm91c2VsLXRocmVlOmhvdmVyIC5uYXYtc3F1YXJlLWRhcmsgewogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAgIG9wYWNpdHk6IDEKfQoKLmJsb2ctY2Fyb3VzZWwtb25lIC5wb3N0LXNpbmdsZSAucG9zdC1tZXRhIHVsIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyCn0KCi5ibG9nLWNhcm91c2VsLW9uZSAucG9zdC1zaW5nbGUgLnBvc3QtbWV0YSB1bCBsaSB7CiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0KfQoKLmJsb2ctY2Fyb3VzZWwtb25lIC5wb3N0LXNpbmdsZSAucG9zdC1tZXRhIHVsIGxpOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLXJpZ2h0OiAwCn0KCi5ibG9nLWNhcm91c2VsLW9uZSAucG9zdC1zaW5nbGUgLnBvc3QtbWV0YSB1bCBsaSBzcGFuIHsKICAgIHBhZGRpbmc6IDAgMXJlbTsKICAgIGxpbmUtaGVpZ2h0OiAycmVtOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgY29sb3I6ICNmZmY7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDsKICAgIGJvcmRlci1yYWRpdXM6IDJweAp9CgouYmxvZy1jYXJvdXNlbC1vbmUgLnBvc3Qtc2luZ2xlIGg2IHsKICAgIG1hcmdpbjogMS4zMzMzM3JlbSAwIDEuMDY2NjdyZW0gMAp9CgouYmxvZy1jYXJvdXNlbC1vbmUgLnBvc3Qtc2luZ2xlIGg2IGE6aG92ZXIgewogICAgY29sb3I6ICMwNmI1OTAKfQoKLmJsb2ctY2Fyb3VzZWwtb25lIC5wb3N0LXNpbmdsZSAucG9zdC1ib3R0b20gewogICAgbWFyZ2luOiAxLjY2NjY3cmVtIDAgMCAwOwogICAgcGFkZGluZy10b3A6IDJyZW07CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZThlZDsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyCn0KCi5ibG9nLWNhcm91c2VsLW9uZSAucG9zdC1zaW5nbGUgLnBvc3QtYm90dG9tIGltZyB7CiAgICB3aWR0aDogYXV0bzsKICAgIG1hcmdpbi1yaWdodDogLjY2NjY3cmVtCn0KCi5sb2dvLWdyaWQtb25lIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDQxLCA0MSwgNTksIC4xKTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSg0MSwgNDEsIDU5LCAuMSk7CiAgICBvdmVyZmxvdzogaGlkZGVuCn0KCi5sb2dvLWdyaWQtb25lIHVsIHsKICAgIG1hcmdpbi1yaWdodDogLTFweDsKICAgIG1hcmdpbi1ib3R0b206IC0xcHgKfQoKLmxvZ28tZ3JpZC1vbmUgbGkgewogICAgd2lkdGg6IDI1JTsKICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZWUyZTY7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RlZTJlNjsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBtaW4taGVpZ2h0OiAxMy4zMzMzM3JlbQp9CgoubG9nby1ncmlkLW9uZSBsaSBmaWd1cmUgewogICAgbWFyZ2luOiAwCn0KCi5sb2dvLWNhcm91c2VsLWRhcmsgLnNpbmdsZS1zbGlkZSBpbWcgewogICAgd2lkdGg6IGF1dG8KfQoKLmxvZ28tZ3JpZC10d28gLmdyaWQtc2luZ2xlIHsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtOwogICAgbWluLWhlaWdodDogMTByZW0KfQoKQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpLAooLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSB7CiAgICAubG9nby1ncmlkLXR3byAuZ3JpZC1zaW5nbGUgewogICAgICAgIGhlaWdodDogMTByZW0KICAgIH0KfQoKLmxvZ28tZ3JpZC10aHJlZSB1bCB7CiAgICBtYXJnaW46IDAKfQoKLmxvZ28tZ3JpZC10aHJlZSBsaSB7CiAgICB3aWR0aDogMjUlOwogICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBtaW4taGVpZ2h0OiAxMy4zMzMzM3JlbTsKICAgIG1hcmdpbi1yaWdodDogLTFweDsKICAgIG1hcmdpbi1ib3R0b206IC0xcHgKfQoKLmxvZ28tZ3JpZC10aHJlZSBsaSBmaWd1cmUgewogICAgbWFyZ2luOiAwCn0KCi5sb2dvLWRldGFpbHMtd3JhcHBlciB7CiAgICBwYWRkaW5nOiA2cmVtIDAgMAp9CgoubG9nby1kZXRhaWxzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBwYWRkaW5nOiA3cmVtIDNyZW0gMnJlbTsKICAgIG1hcmdpbi1ib3R0b206IDcuMzMzMzNyZW07CiAgICBtYXJnaW4tdG9wOiAuNjY2NjdyZW07CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC4yNjY2N3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4yNjY2N3JlbQp9CgoubG9nby1kZXRhaWxzIC5sb2dvIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4xKTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMSk7CiAgICBoZWlnaHQ6IDEwLjY2NjY3cmVtOwogICAgd2lkdGg6IDE4LjY2NjY3cmVtOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiA1MCU7CiAgICB0b3A6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMjY2NjdyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMjY2NjdyZW0KfQoKLmxvZ28tZGV0YWlscyBoNSB7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIG1hcmdpbi1ib3R0b206IC4zMzMzM3JlbQp9CgoubG9nby1kZXRhaWxzIC5zdWItdGl0bGUgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW4tYm90dG9tOiAuOHJlbQp9CgoubG9nby1kZXRhaWxzIHAgewogICAgbWFyZ2luOiAwCn0KCi5sb2dvLWNhcm91c2VsLWZvdXIgLm93bC1zdGFnZSB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4KfQoKLmxvZ28tY2Fyb3VzZWwtZm91ciAuY2Fyb3VzZWwtc2luZ2xlIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcgp9CgoubG9nby1jYXJvdXNlbC1mb3VyIC5jYXJvdXNlbC1zaW5nbGUgaW1nIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOiBhdXRvCn0KCi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50Cn0KCi5kcm9wZG93biAuZHJvcGRvd24tY2FyZXQgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgcGFkZGluZy1sZWZ0OiAxcmVtCn0KCi5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7CiAgICB0b3A6IC42NjY2N3JlbSAhaW1wb3J0YW50OwogICAgbWluLXdpZHRoOiAxNi42NjY2N3JlbTsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDA7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSg0MSwgNDEsIDU5LCAuMSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoNDEsIDQxLCA1OSwgLjEpOwogICAgYm9yZGVyOiAwIG5vbmUKfQoKLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1pdGVtOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGNvbG9yOiAjMDc0YTU1OwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwOwogICAgYm9yZGVyLXJhZGl1czogMAp9CgouZHJvcGRvd24gLmRyb3Bkb3duLS1idG4gLmRyb3Bkb3duLWl0ZW06aG92ZXIgewogICAgYmFja2dyb3VuZDogIzA3NGE1NTsKICAgIGNvbG9yOiAjZmZmOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMnJlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtCn0KCi5kcm9wZG93biAuZHJvcGRvd24tLXRleHQgLmRyb3Bkb3duLXRleHQtaXRlbSB7CiAgICBwYWRkaW5nOiAzMHB4OwogICAgbWFyZ2luOiAwCn0KCi5nYWxsZXJ5LWltYWdlLXZpZXcgLnBvcnRmb2xpby1jYXJvdXNlbC1zaW5nbGUgewogICAgbWFyZ2luLWJvdHRvbTogLjY2NjY3cmVtCn0KCi5nYWxsZXJ5LWltYWdlLXZpZXcgLnBvcnRmb2xpby1jYXJvdXNlbC1zaW5nbGUgaW1nIHsKICAgIHdpZHRoOiBhdXRvCn0KCi5nYWxsZXJ5LWltYWdlLXZpZXcgLmNhcm91c2VsLXRodW1icyB1bCB7CiAgICBtYXJnaW46IDAKfQoKLmdhbGxlcnktaW1hZ2UtdmlldyAuY2Fyb3VzZWwtdGh1bWJzIHVsIGxpIHsKICAgIG1hcmdpbjogMCAuMzMzMzNyZW0KfQoKLmdhbGxlcnktaW1hZ2UtdmlldyAuaW1hZ2Utdmlldy1jYXJvdXNlbCAuY2Fyb3VzZWwtc2luZ2xlIGZpZ3VyZSBpbWcgewogICAgd2lkdGg6IDEwMCUKfQoKLmdhbGxlcnktZnVsbHdpZHRoIC5wb3J0Zm9saW8tY2Fyb3VzZWwtc2luZ2xlIHsKICAgIHdpZHRoOiAyNSUKfQoKLnByaWNlLWZpbHRlciB7CiAgICBtYXJnaW4tdG9wOiAxMHB4Cn0KCi5yYW5nZS1zbGlkZXIgLnNsaWRlci1yYW5nZSB7CiAgICBiYWNrZ3JvdW5kOiAjZTRlOGVkOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxLjY2NjY3cmVtOwogICAgYm9yZGVyLXJhZGl1czogMS42NjY2N3JlbTsKICAgIGhlaWdodDogLjRyZW07CiAgICBtYXgtd2lkdGg6IDEzLjMzMzMzcmVtCn0KCi5yYW5nZS1zbGlkZXIgLnNsaWRlci1yYW5nZSAudWktc2xpZGVyLXJhbmdlIHsKICAgIGJhY2tncm91bmQ6ICMwNzRhNTUKfQoKLnJhbmdlLXNsaWRlciAuc2xpZGVyLXJhbmdlIC51aS1zbGlkZXItaGFuZGxlIHsKICAgIHdpZHRoOiAxLjJyZW07CiAgICBoZWlnaHQ6IDEuMnJlbTsKICAgIGJvcmRlcjogLjI2NjY3cmVtIHNvbGlkICMwNzRhNTU7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICB0b3A6IC0uNHJlbTsKICAgIGN1cnNvcjogcG9pbnRlcgp9CgoucmFuZ2Utc2xpZGVyIC5zbGlkZXItcmFuZ2UgLnVpLXNsaWRlci1oYW5kbGU6Zm9jdXMgewogICAgb3V0bGluZTogMAp9CgoucmFuZ2Utc2xpZGVyIHAgewogICAgbWFyZ2luOiAxLjY2NjY3cmVtIDAgMCAwCn0KCi5yYW5nZS1zbGlkZXIgLmFtb3VudHMgewogICAgYm9yZGVyOiAwIG5vbmU7CiAgICBtYXJnaW4tbGVmdDogMS4zMzMzM3JlbTsKICAgIGNvbG9yOiAjNWE2NjcxOwogICAgZm9udC1zaXplOiAxLjA2NjY3cmVtOwogICAgd2lkdGg6IDZyZW07CiAgICBiYWNrZ3JvdW5kOiAwIDAKfQoKLnJhbmdlLXNsaWRlci1kYXJrIC5zbGlkZXItcmFuZ2UgewogICAgYmFja2dyb3VuZDogcmdiYSg3LCA3NCwgODUsIC4yKQp9CgoudmlkZW8tc2luZ2xlIGZpZ3VyZSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtYXJnaW46IDAKfQoKLnZpZGVvLXNpbmdsZSBmaWd1cmUgLnZfaW1nIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgoudmlkZW8tc2luZ2xlIGZpZ3VyZSAudl9pbWc6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICcnOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwOwogICAgYmFja2dyb3VuZDogcmdiYSgxNSwgMTUsIDMwLCAuMikKfQoKLnZpZGVvLXNpbmdsZSBmaWd1cmUgZmlnY2FwdGlvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCUKfQoKLnZpZGVvLW92ZXJsYXkgZmlnY2FwdGlvbiB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDMyLCAzNiwgNDAsIC4zKQp9CgoudmlkZW8tYmFubmVyIHsKICAgIHBhZGRpbmc6IDVyZW0gMnJlbTsKICAgIG92ZXJmbG93OiBoaWRkZW4KfQoKLnZpZGVvLWJhbm5lciBkaXYgYSB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBmb250LXNpemU6IDEuMzMzMzNyZW07CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcgp9CgoudmlkZW8tYmFubmVyIGRpdiBhIC5wbGF5LWJ0biB7CiAgICBtYXJnaW4tcmlnaHQ6IDJyZW0KfQoKLnZpZGVvLWJnIHsKICAgIHBhZGRpbmc6IDcuMzMzMzNyZW0gMAp9CgoudmlkZW8tYmcub3ZlcmxheTpiZWZvcmUgewogICAgYmFja2dyb3VuZDogcmdiYSgyNywgMjgsIDU3LCAuOCkKfQoKLnZpZGVvLWJnIC5jb250ZW50X2Fib3ZlIGEgewogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgZm9udC1zaXplOiAxLjZyZW07CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcgp9CgouY3RhLS1vbmUgLnN1Yi1oZWFkaW5nIHsKICAgIGZvbnQtc2l6ZTogMS42cmVtOwogICAgZm9udC13ZWlnaHQ6IDUwMAp9CgouY3RhLS1vbmUgaDIgewogICAgY29sb3I6ICNmZmY7CiAgICBtYXJnaW46IDEuMzMzMzNyZW0gMCAzLjMzMzMzcmVtOwogICAgbGluZS1oZWlnaHQ6IDMuMnJlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDAKfQoKLnNwbGl0dGVkLWJhbm5lciB7CiAgICBwYWRkaW5nOiAxMHJlbSAwOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbgp9Cgouc3BsaXR0ZWQtYmFubmVyIC5zcGxpdC1iZyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogNTMlOwogICAgaGVpZ2h0OiA0Ni42NjY2N3JlbTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIGJhY2tncm91bmQ6ICMwNmI1OTA7CiAgICB6LWluZGV4OiAxOwogICAgaGVpZ2h0OiAxMDAlCn0KCi5zcGxpdHRlZC1iYW5uZXIgLnNwbGl0LWJnOmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnJzsKICAgIGhlaWdodDogMTUwJTsKICAgIHdpZHRoOiAyNi42NjY2N3JlbTsKICAgIHJpZ2h0OiAtMjguNjY2NjdyZW07CiAgICB0b3A6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogLTYuNjY2NjdyZW0gMCAwICMwNmI1OTA7CiAgICBib3gtc2hhZG93OiAtNi42NjY2N3JlbSAwIDAgIzA2YjU5MDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXJhZGl1czogNTAlCn0KCi5zcGxpdHRlZC1iYW5uZXIgaDEgewogICAgY29sb3I6ICNmZmYKfQoKLnNwbGl0dGVkLWJhbm5lciAuYnRucyBhIHsKICAgIG1hcmdpbi1yaWdodDogMnJlbQp9Cgouc3BsaXR0ZWQtYmFubmVyIC5idG5zIGE6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAKfQoKLnN1YnNjcmliZS13cmFwcGVyIHsKICAgIHBhZGRpbmc6IDYuMzMzMzNyZW0gMAp9Cgouc3Vic2NyaWJlLXdyYXBwZXIgaDIgewogICAgY29sb3I6ICNmZmY7CiAgICBtYXJnaW46IDAgMCAxcmVtIDAKfQoKLnN1YnNjcmliZS13cmFwcGVyIHAgewogICAgZm9udC1zaXplOiAxLjEzMzMzcmVtOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpOwogICAgbWFyZ2luLWJvdHRvbTogMi4zMzMzM3JlbQp9Cgouc3Vic2NyaWJlLXdyYXBwZXIgLnN1YnNjcmliZS1mb3JtIGJ1dHRvbiB7CiAgICBtYXJnaW4tbGVmdDogMnJlbQp9Cgouc3Vic2NyaWJlLS10d28gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoMzEwZGVnLCAjMDc0YTU1IDAsICMwNzRhNTUgMjUlLCAjMDZiNTkwIDEwMCUpOwogICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KDMxMGRlZywgIzA3NGE1NSAwLCAjMDc0YTU1IDI1JSwgIzA2YjU5MCAxMDAlKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDBkZWcsICMwNzRhNTUgMCwgIzA3NGE1NSAyNSUsICMwNmI1OTAgMTAwJSk7CiAgICBwYWRkaW5nLWJvdHRvbTogMTByZW07CiAgICBvdmVyZmxvdzogaGlkZGVuCn0KCi5zdWJzY3JpYmUtLXR3bzpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogJyc7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogNS4wNjY2N3JlbTsKICAgIGxlZnQ6IDA7CiAgICBib3R0b206IDA7CiAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL3NiMi5odG1sKTsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyCn0KCi5zdWJzY3JpYmUtc2l4LAouc3Vic2NyaWJlLXRocmVlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KTsKICAgIHBhZGRpbmc6IDRyZW0gMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDEKfQoKLnN1YnNjcmliZS1zaXggaDQsCi5zdWJzY3JpYmUtdGhyZWUgaDQgewogICAgbWFyZ2luOiAwCn0KCi5zdWJzY3JpYmUtc2l4IC5zdWJzY3JpYmUtZm9ybS0taW5saW5lIGlucHV0LAouc3Vic2NyaWJlLXRocmVlIC5zdWJzY3JpYmUtZm9ybS0taW5saW5lIGlucHV0IHsKICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQKfQoKLnN1YnNjcmliZS1zaXggLnN1YnNjcmliZS1mb3JtLS1pbmxpbmUgYnV0dG9uLAouc3Vic2NyaWJlLXRocmVlIC5zdWJzY3JpYmUtZm9ybS0taW5saW5lIGJ1dHRvbiB7CiAgICBtYXJnaW4tbGVmdDogMnJlbQp9Cgouc3Vic2NyaWJlLWZvdXIgewogICAgcGFkZGluZzogOC42NjY2N3JlbSAwCn0KCi5zdWJzY3JpYmUtZm91ciBoMyB7CiAgICBtYXJnaW46IDAgMCAuNTMzMzNyZW0gMDsKICAgIGNvbG9yOiAjZmZmCn0KCi5zdWJzY3JpYmUtZm91ciBwIHsKICAgIG1hcmdpbjogMDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KTsKICAgIGZvbnQtc2l6ZTogMS4ycmVtCn0KCi5zdWJzY3JpYmUtZm91ciBmb3JtIC5pbnB1dC1ncm91cC1zdWJzY3JpYmUgYnV0dG9uIHsKICAgIGJhY2tncm91bmQ6ICMwNzRhNTUKfQoKLnN1YnNjcmliZS0tZml2ZSBoMiB7CiAgICBjb2xvcjogI2ZmZjsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0KfQoKLnN1YnNjcmliZS0tZml2ZSBwIHsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiAxLjEzMzMzcmVtOwogICAgbWFyZ2luLWJvdHRvbTogMi40cmVtCn0KCi5zdWJzY3JpYmUtLWZpdmUgLnN1YnNjcmliZS1mb3JtLXR3byAuZm9ybS1jb250cm9sIHsKICAgIHBhZGRpbmctdG9wOiAuMzMzMzNyZW07CiAgICBwYWRkaW5nLWJvdHRvbTogLjMzMzMzcmVtOwogICAgaGVpZ2h0OiA0cmVtCn0KCi5zdWJzY3JpYmUtLWZpdmUgLnN1YnNjcmliZS1mb3JtLXR3byAuYnRuIHsKICAgIGxpbmUtaGVpZ2h0OiAyLjY2NjY3cmVtOwogICAgcmlnaHQ6IC4zMzMzM3JlbQp9Cgouc3Vic2NyaWJlLXNldmVuIHsKICAgIHBhZGRpbmc6IDcuNjY2NjdyZW0gMDsKICAgIGJhY2tncm91bmQ6IHVybChpbWcvbWFwLWJnLnBuZyk7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyCn0KCi5zdWJzY3JpYmUtZm9ybS10d28+ZGl2IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9Cgouc3Vic2NyaWJlLWZvcm0tdHdvIC5mb3JtLWNvbnRyb2wgewogICAgaGVpZ2h0OiA0LjY2NjY3cmVtOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4xNSk7CiAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4xNSk7CiAgICBib3JkZXI6IDAgbm9uZTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjJyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMnJlbTsKICAgIHBhZGRpbmctcmlnaHQ6IDEyLjMzMzMzcmVtOwogICAgcGFkZGluZy1sZWZ0OiAycmVtCn0KCi5zdWJzY3JpYmUtZm9ybS10d28gLmJ0biB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogMXJlbTsKICAgIHRvcDogNTAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogICAgYm94LXNoYWRvdzogbm9uZQp9Cgouc3Vic2NyaWJlLWNvbnRlbnRzIGgyIHsKICAgIGxpbmUtaGVpZ2h0OiAzLjJyZW07CiAgICBjb2xvcjogIzIwMjQyODsKICAgIGZvbnQtc2l6ZTogMS42cmVtCn0KCi5zdWJzY3JpYmUtY29udGVudHMgaDIgc3BhbiB7CiAgICBjb2xvcjogIzA2YjU5MDsKICAgIGZvbnQtc2l6ZTogMi40cmVtCn0KCi5zdWJzY3JpYmUtY29udGVudHMgaW1nIHsKICAgIG1hcmdpbi10b3A6IDQuNjY2NjdyZW0KfQoKLnN1YnNjcmliZS1laWdodCB7CiAgICBwYWRkaW5nOiA2LjMzMzMzcmVtIDAgNy4zMzMzM3JlbQp9CgoudHdpdHRlci1mZWVkcyB7CiAgICBwYWRkaW5nOiA3cmVtIDAgNy4ycmVtCn0KCi50d2l0dGVyLWZlZWRzIC5mZWVkLXNpbmdsZSAuZmVlZC1oZWFkZXIgewogICAgbWFyZ2luLWJvdHRvbTogMi42NjY2N3JlbQp9CgoudHdpdHRlci1mZWVkcyAuZmVlZC1zaW5nbGUgLmZlZWQtaGVhZGVyIHNwYW4gaSB7CiAgICBmb250LXNpemU6IDJyZW07CiAgICBjb2xvcjogI2ZmZgp9CgoudHdpdHRlci1mZWVkcyAuZmVlZC1zaW5nbGUgLmZlZWQtaGVhZGVyIC51c2VyIHsKICAgIGNvbG9yOiAjZmZmCn0KCi50d2l0dGVyLWZlZWRzIC5mZWVkLXNpbmdsZSAuZmVlZC1oZWFkZXIgLnRpbWUgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpCn0KCi50d2l0dGVyLWZlZWRzIC5mZWVkLXNpbmdsZSAuZmVlZC1oZWFkZXIgcCB7CiAgICBtYXJnaW46IDAKfQoKLnR3aXR0ZXItZmVlZHMgLmZlZWQtc2luZ2xlIC5mZWVkLWNvbnRlbnQgewogICAgd2lkdGg6IDQ4LjY2NjY3cmVtOwogICAgbWFyZ2luOiAwIGF1dG8KfQoKLnR3aXR0ZXItZmVlZHMgLmZlZWQtc2luZ2xlIC5mZWVkLWNvbnRlbnQgcCB7CiAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIGxpbmUtaGVpZ2h0OiAyLjEzMzMzcmVtOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpOwogICAgbWFyZ2luLWJvdHRvbTogMS4zMzMzM3JlbQp9CgoudHdpdHRlci1mZWVkcyAuZmVlZC1zaW5nbGUgLmZlZWQtY29udGVudCAudHdpdC1saW5rIHsKICAgIGNvbG9yOiAjZmZmCn0KCi50d2l0dGVyLWZlZWRzIC5mZWVkLXNpbmdsZSAuZmVlZC1jb250ZW50IC50d2l0LWxpbms6aG92ZXIgewogICAgY29sb3I6ICMyMDI0MjgKfQoKLnR3aXR0ZXItZmVlZHMtLWxpZ2h0IC5mZWVkLXNpbmdsZSAuZmVlZC1oZWFkZXIgLnVzZXIgewogICAgY29sb3I6ICMwNzRhNTUKfQoKLnR3aXR0ZXItZmVlZHMtLWxpZ2h0IC5mZWVkLXNpbmdsZSAuZmVlZC1oZWFkZXIgLnRpbWUgewogICAgY29sb3I6IHJnYmEoMzIsIDM2LCA0MCwgLjUpCn0KCi50d2l0dGVyLWZlZWRzLS1saWdodCAuZmVlZC1zaW5nbGUgLmZlZWQtaGVhZGVyIHNwYW4gaSB7CiAgICBjb2xvcjogIzA2YjU5MAp9CgoudHdpdHRlci1mZWVkcy0tbGlnaHQgLmZlZWQtc2luZ2xlIC5mZWVkLWNvbnRlbnQgcCB7CiAgICBjb2xvcjogaW5oZXJpdAp9CgoudHdpdHRlci1mZWVkcy0tbGlnaHQgLmZlZWQtc2luZ2xlIC5mZWVkLWNvbnRlbnQgLnR3aXQtbGluayB7CiAgICBjb2xvcjogIzA2YjU5MAp9CgouZm9sbG93LWJ0biAuYnRuIHsKICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOwogICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyCn0KCi5mb2xsb3ctYnRuIC5idG4gaSB7CiAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIG1hcmdpbi1yaWdodDogLjY2NjY3cmVtCn0KCi5jdGEtd3JhcHBlciB7CiAgICBwYWRkaW5nOiA2Ljg2NjY3cmVtIDAgNy4zMzMzM3JlbQp9CgouY3RhLXdyYXBwZXItc20gewogICAgcGFkZGluZzogNHJlbSAwCn0KCi5jdGEtLXR3byB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcGFkZGluZzogNi44NjY2N3JlbSAwIDEwcmVtCn0KCi5jdGEtLXR3bzphZnRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnJzsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiA1LjA2NjY3cmVtOwogICAgbGVmdDogMDsKICAgIGJvdHRvbTogMDsKICAgIGJhY2tncm91bmQ6IHVybChpbWcvc2IyLmh0bWwpOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKSB0cmFuc2xhdGVZKC44JSk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTE4MGRlZykgdHJhbnNsYXRlWSguOCUpOwogICAgei1pbmRleDogMQp9CgouY3RhLS10d28gLmN0YS1jb250ZW50IHAgewogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDIuNHJlbTsKICAgIGxpbmUtaGVpZ2h0OiAzLjZyZW07CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbWFyZ2luOiAwCn0KCi5jdGEtLXR3byAuYWN0aW9uLWJ0biB7CiAgICB0ZXh0LWFsaWduOiByaWdodAp9CgouY3RhLS1laWdodCAuYWN0aW9uLWJ0biwKLmN0YS0tZml2ZSAuYWN0aW9uLWJ0biwKLmN0YS0tZm91ciAuYWN0aW9uLWJ0biwKLmN0YS0tc2V2ZW4gLmFjdGlvbi1idG4sCi5jdGEtLXNpeCAuYWN0aW9uLWJ0biB7CiAgICB0ZXh0LWFsaWduOiByaWdodAp9CgouY3RhLS10aHJlZSAuY3RhLWNvbnRlbnQgcCB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtc2l6ZTogMi40cmVtOwogICAgbGluZS1oZWlnaHQ6IDMuNjY2NjdyZW07CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbWFyZ2luOiAwIDAgM3JlbQp9CgouY3RhLS1mb3VyIC5jdGEtY29udGVudCBoMSB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtd2VpZ2h0OiA2MDAKfQoKLmN0YS0tZm91ciAuY3RhLWNvbnRlbnQgcCB7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOCk7CiAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIGxpbmUtaGVpZ2h0OiAyLjI2NjY3cmVtCn0KCi5jdGEtLWZvdXIgLmN0YS1jb250ZW50IC5waG9uZSB7CiAgICBmb250LXNpemU6IDIuNHJlbTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgY29sb3I6ICNmZmY7CiAgICBtYXJnaW4tYm90dG9tOiAzcmVtOwogICAgZm9udC13ZWlnaHQ6IDYwMAp9CgouY3RhLS1maXZlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDQxLCA0MSwgNTksIC4xKTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSg0MSwgNDEsIDU5LCAuMSkKfQoKLmN0YS0tZml2ZSBwIHsKICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgZm9udC13ZWlnaHQ6IDYwMAp9CgouY3RhLS1zaXggcCB7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgZm9udC1zaXplOiAycmVtCn0KCi5jdGEtLXNldmVuIHsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBmb250LXNpemU6IDIuNHJlbQp9CgouY3RhLS1zZXZlbiBwIHsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBmb250LXNpemU6IDJyZW0KfQoKLmN0YS0tZWlnaHQgaDEgewogICAgbGluZS1oZWlnaHQ6IDMuNjY2NjdyZW0KfQoKLmN0YS0tbmluZSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBvdmVyZmxvdzogaGlkZGVuCn0KCi5jdGEtLW5pbmUgLmN0YS0tbm9uZS1jb250ZW50cyB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLmN0YS0tbmluZSAuY3RhLS1ub25lLWNvbnRlbnRzOmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnJzsKICAgIHdpZHRoOiAyNS4xMzMzM3JlbTsKICAgIGhlaWdodDogNTUuNTMzMzNyZW07CiAgICByaWdodDogMDsKICAgIHRvcDogMDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjAzKTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNS4zMzMzM3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IDUuMzMzMzNyZW07CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWCg4MiUpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWCg4MiUpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVYKDgyJSkKfQoKLmN0YS0tbmluZSAuY3RhLS1ub25lLWNvbnRlbnRzOmFmdGVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICcnOwogICAgd2lkdGg6IDMzLjMzMzMzcmVtOwogICAgaGVpZ2h0OiA1NS41MzMzM3JlbTsKICAgIHJpZ2h0OiAwOwogICAgdG9wOiAwOwogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDMpOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1LjMzMzMzcmVtOwogICAgYm9yZGVyLXJhZGl1czogNS4zMzMzM3JlbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoNTklLCAyMCUpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKDU5JSwgMjAlKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKDU5JSwgMjAlKQp9CgouY3RhLS1uaW5lLmN0YS13cmFwcGVyIHsKICAgIHBhZGRpbmctdG9wOiA0LjY2NjY3cmVtCn0KCi5jdGEtLW5pbmUgaDMgewogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDMuMDY2NjdyZW07CiAgICBmb250LXNpemU6IDI5cHgKfQoKLmN0YS0tbmluZSBoMyBzcGFuIHsKICAgIGZvbnQtd2VpZ2h0OiA2MDAKfQoKLmN0YS0tbmluZTpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogIiI7CiAgICB3aWR0aDogMTgwJTsKICAgIGhlaWdodDogMTUwJTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBsZWZ0OiAtNDAlOwogICAgdG9wOiA4NyU7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJQp9CgoucHJvY2Vzcy1vbmUgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICBtYXJnaW4tbGVmdDogLTFyZW07CiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtCn0KCi5wcm9jZXNzLW9uZSAucHJvY2Vzcy1zaW5nbGUgewogICAgd2lkdGg6IDI1JTsKICAgIG1hcmdpbi1ib3R0b206IDQuNjY2NjdyZW07CiAgICBwYWRkaW5nOiAwIDFyZW0KfQoKLnByb2Nlc3Mtb25lIC5wcm9jZXNzLXNpbmdsZTpudGgtY2hpbGQoMm4rMSkgLmljb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6IHVybChpbWcvYXJyb3ctdXAucG5nKQp9CgoucHJvY2Vzcy1vbmUgLnByb2Nlc3Mtc2luZ2xlIC5pY29uIHsKICAgIHdpZHRoOiA5LjMzMzMzcmVtOwogICAgaGVpZ2h0OiA5LjMzMzMzcmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIG1hcmdpbjogMCBhdXRvIDJyZW0KfQoKLnByb2Nlc3Mtb25lIC5wcm9jZXNzLXNpbmdsZSAuaWNvbi5ncmF5LWJnIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoNiwgMTgxLCAxNDQsIC4xKQp9CgoucHJvY2Vzcy1vbmUgLnByb2Nlc3Mtc2luZ2xlIC5pY29uLmxpZ2h0LWJnIHsKICAgIGJhY2tncm91bmQ6ICNmZmYKfQoKLnByb2Nlc3Mtb25lIC5wcm9jZXNzLXNpbmdsZSAuaWNvbiAuaWNvbi1sYSB7CiAgICBmb250LXNpemU6IDMuMnJlbTsKICAgIGNvbG9yOiAjMDZiNTkwCn0KCi5wcm9jZXNzLW9uZSAucHJvY2Vzcy1zaW5nbGUgLmljb24gLnN0ZXAgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDIuMzMzMzNyZW07CiAgICBoZWlnaHQ6IDIuMzMzMzNyZW07CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDA7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjEpCn0KCi5wcm9jZXNzLW9uZSAucHJvY2Vzcy1zaW5nbGUgLmljb246YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6IHVybChpbWcvYXJyb3ctZG93bi5wbmcpOwogICAgcmlnaHQ6IC05MCU7CiAgICB0b3A6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKQp9CgoucHJvY2Vzcy1vbmUgLnByb2Nlc3Mtc2luZ2xlIGg2IHsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0KfQoKLnByb2Nlc3Mtb25lIC5wcm9jZXNzLXNpbmdsZSBwIHsKICAgIG1hcmdpbjogMAp9CgoucHJvY2Vzcy1vbmUgLnByb2Nlc3Mtc2luZ2xlOmxhc3QtY2hpbGQsCi5wcm9jZXNzLW9uZSAucHJvY2Vzcy1zaW5nbGU6bnRoLWNoaWxkKDRuKSB7CiAgICBtYXJnaW4tcmlnaHQ6IDAKfQoKLnByb2Nlc3Mtb25lIC5wcm9jZXNzLXNpbmdsZTpsYXN0LWNoaWxkIC5pY29uOmJlZm9yZSwKLnByb2Nlc3Mtb25lIC5wcm9jZXNzLXNpbmdsZTpudGgtY2hpbGQoNG4pIC5pY29uOmJlZm9yZSB7CiAgICBjb250ZW50OiBub25lCn0KCi5wcm9jZXNzLXRocmVlIHsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjEpOwogICAgcGFkZGluZzogMS43MzMzM3JlbSAycmVtIDEuNnJlbQp9CgoucHJvY2Vzcy10aHJlZSBzcGFuIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1zaXplOiAyLjMzMzMzcmVtOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGNvbG9yOiAjMDZiNTkwOwogICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOwogICAgbGluZS1oZWlnaHQ6IDEKfQoKLnByb2Nlc3MtdGhyZWUgaDYgewogICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtCn0KCi5wcm9jZXNzLXRocmVlIHAgewogICAgbWFyZ2luOiAwCn0KCi50ZWFtLWZvdXIgewogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMDUpOwogICAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSkKfQoKLnRlYW0tZm91ciAuc3VidGl0bGUgewogICAgbWFyZ2luLWJvdHRvbTogMS4zMzMzM3JlbTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGZvbnQtc2l6ZTogLjkzMzMzcmVtCn0KCi50ZWFtLWZvdXIgaW1nIHsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjI2NjY3cmVtIC4yNjY2N3JlbSAwIDA7CiAgICBib3JkZXItcmFkaXVzOiAuMjY2NjdyZW0gLjI2NjY3cmVtIDAgMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi50ZWFtLWZvdXIgLmNvbnRlbnQgewogICAgcGFkZGluZzogMS44cmVtIDJyZW0gMnJlbTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMCAwIC4yNjY2N3JlbSAuMjY2NjdyZW07CiAgICBib3JkZXItcmFkaXVzOiAwIDAgLjI2NjY3cmVtIC4yNjY2N3JlbTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgYmFja2dyb3VuZDogI2ZmZgp9CgoudGVhbS1mb3VyIC5jb250ZW50IGg2IHsKICAgIG1hcmdpbi1ib3R0b206IC42NjY2N3JlbTsKICAgIGZvbnQtc2l6ZTogMS4wNjY2N3JlbQp9CgoudGVhbS1maXZlIC5jb250ZW50IHsKICAgIG1hcmdpbi10b3A6IDEuNjY2NjdyZW0KfQoKLnRlYW0tZml2ZSAuY29udGVudCBoNiB7CiAgICBtYXJnaW4tYm90dG9tOiAuNjY2NjdyZW0KfQoKLnRlYW0tZml2ZSAuY29udGVudCBzcGFuIHsKICAgIGRpc3BsYXk6IGJsb2NrCn0KCi5jb3VudGVyLmNvdW50ZXItLTQgLmNvdW50ZXJfc2luZ2xlIC50ZWFtLWZpdmUgLmNvbnRlbnQgc3Bhbi52YWx1ZSwKLm5hdl9yaWdodF9jb250ZW50IC5jYXJ0X21vZHVsZSAuY2FydF9faXRlbXMgLmNhcnRfaW5mbyBwIC50ZWFtLWZpdmUgLmNvbnRlbnQgc3BhbiwKLm5hdl9yaWdodF9jb250ZW50IC5jYXJ0X21vZHVsZSAuY2FydF9faXRlbXMgLml0ZW1zIC5pdGVtX3JlbW92ZSAudGVhbS1maXZlIC5jb250ZW50IHNwYW4sCi50YWItY29udGVudC50YWItLWNvbnRlbnQyIC50YWItcGFuZSAudGFiX3RleHRfbW9kdWxlIC50ZWFtLWZpdmUgLmNvbnRlbnQgc3Bhbi50YWJfdGV4dF9tb2R1bGVfX3N1YnRpdGxlLAoudGFiLnRhYi0tOCAudGFiX25hdjcgLm5hdiAubmF2LWl0ZW0gLnRlYW0tZml2ZSAuY29udGVudCBzcGFuLm5hdi1saW5rLmFjdGl2ZSwKLnRlYW0tZml2ZSAuY29udGVudCAuY291bnRlci5jb3VudGVyLS00IC5jb3VudGVyX3NpbmdsZSBzcGFuLnZhbHVlLAoudGVhbS1maXZlIC5jb250ZW50IC5uYXZfcmlnaHRfY29udGVudCAuY2FydF9tb2R1bGUgLmNhcnRfX2l0ZW1zIC5jYXJ0X2luZm8gcCBzcGFuLAoudGVhbS1maXZlIC5jb250ZW50IC5uYXZfcmlnaHRfY29udGVudCAuY2FydF9tb2R1bGUgLmNhcnRfX2l0ZW1zIC5pdGVtcyAuaXRlbV9yZW1vdmUgc3BhbiwKLnRlYW0tZml2ZSAuY29udGVudCAudGFiLWNvbnRlbnQudGFiLS1jb250ZW50MiAudGFiLXBhbmUgLnRhYl90ZXh0X21vZHVsZSBzcGFuLnRhYl90ZXh0X21vZHVsZV9fc3VidGl0bGUsCi50ZWFtLWZpdmUgLmNvbnRlbnQgLnRhYi50YWItLTggLnRhYl9uYXY3IC5uYXYgLm5hdi1pdGVtIHNwYW4ubmF2LWxpbmsuYWN0aXZlLAoudGVhbS1maXZlIC5jb250ZW50IC50aW1lbGluZTEgLmhhcHBlbmluZyAuaGFwcGVuaW5nX19wZXJpb2QgLndyYXBwZXIgc3Bhbi55ZWFyLAoudGVhbS1maXZlIC5jb250ZW50IHNwYW4uY29sb3ItcHJpbWFyeSwKLnRpbWVsaW5lMSAuaGFwcGVuaW5nIC5oYXBwZW5pbmdfX3BlcmlvZCAud3JhcHBlciAudGVhbS1maXZlIC5jb250ZW50IHNwYW4ueWVhciB7CiAgICBmb250LXdlaWdodDogNTAwCn0KCi5mYXEtc2luZ2xlIHsKICAgIG1hcmdpbi1ib3R0b206IDQwcHgKfQoKLmZhcS1zaW5nbGUgaDYgewogICAgbWFyZ2luLWJvdHRvbTogLjY2NjY3cmVtCn0KCi5mYXEtc2luZ2xlIHAgewogICAgbWFyZ2luOiAwCn0KCi5ldmVudC1zaWRlYmFyIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNGU4ZWQKfQoKLndpZGdldC13cmFwcGVyIC53aWRnZXQtZGVmYXVsdCB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC4yNjY2N3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4yNjY2N3JlbTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNGU4ZWQ7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtCn0KCi53aWRnZXQtd3JhcHBlciAud2lkZ2V0LWhlYWRlciAud2lkZ2V0LXRpdGxlIHsKICAgIG1hcmdpbjogMDsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTRlOGVkOwogICAgcGFkZGluZzogMS4zMzMzM3JlbSAycmVtIDEuMzMzMzNyZW0gMnJlbQp9Cgoud2lkZ2V0LXdyYXBwZXIgLndpZGdldC1jb250ZW50IHsKICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtCn0KCi53aWRnZXQtd3JhcHBlciAud2lkZ2V0LXNoYWRvdyB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMDUpOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuNHJlbTsKICAgIGJvcmRlci1yYWRpdXM6IC40cmVtCn0KCi5zaWdudXAtd2lkZ2V0IC5mb3JtLWdyb3VwIHsKICAgIG1hcmdpbi1ib3R0b206IDEuMzMzMzNyZW0KfQoKLnNpZ251cC13aWRnZXQgLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5zZWFyY2gtd2lkZ2V0IHsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLnNlYXJjaC13aWRnZXQgLmlucHV0LWdyb3VwIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9Cgouc2VhcmNoLXdpZGdldCAuaW5wdXQtZ3JvdXAgaW5wdXQgewogICAgd2lkdGg6IDEwMCU7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEuNjY2NjdyZW07CiAgICBib3JkZXItcmFkaXVzOiAxLjY2NjY3cmVtOwogICAgYmFja2dyb3VuZDogI2Y1ZjRmNzsKICAgIGJvcmRlcjogMCBub25lOwogICAgaGVpZ2h0OiAzLjMzMzMzcmVtOwogICAgcGFkZGluZzogMCA0cmVtIDAgMS42NjY2N3JlbQp9Cgouc2VhcmNoLXdpZGdldCAuaW5wdXQtZ3JvdXAgaW5wdXQ6Zm9jdXMgewogICAgb3V0bGluZTogMAp9Cgouc2VhcmNoLXdpZGdldCAuaW5wdXQtZ3JvdXAgYnV0dG9uIHsKICAgIHBhZGRpbmc6IDAgMS4zMzMzM3JlbTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMS42NjY2N3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IDEuNjY2NjdyZW07CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogMDsKICAgIHRvcDogMDsKICAgIGhlaWdodDogMy4zMzMzM3JlbTsKICAgIGJhY2tncm91bmQ6IDAgMDsKICAgIGJvcmRlcjogMDsKICAgIGN1cnNvcjogcG9pbnRlcgp9CgouY2F0ZWdvcnktd2lkZ2V0IHVsIHsKICAgIG1hcmdpbi10b3A6IC02cHgKfQoKLmNhdGVnb3J5LXdpZGdldCB1bCBsaSBhIHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UKfQoKLmNhdGVnb3J5LXdpZGdldCB1bCBsaSBhOmhvdmVyIHsKICAgIGNvbG9yOiAjMDc0YTU1Cn0KCi5zaWRlYmFyLXBvc3QgLnBvc3Qtc2luZ2xlIHsKICAgIG1hcmdpbi1ib3R0b206IDEuNjY2NjdyZW0KfQoKLnNpZGViYXItcG9zdCAucG9zdC1zaW5nbGU6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5zaWRlYmFyLXBvc3QgLnBvc3Qtc2luZ2xlIGltZyB7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDsKICAgIGJvcmRlci1yYWRpdXM6IDNweAp9Cgouc2lkZWJhci1wb3N0IC5wb3N0LXNpbmdsZSBQIHsKICAgIG1hcmdpbjogMCAwIDAgMXJlbQp9Cgouc2lkZWJhci1wb3N0IC5wb3N0LXNpbmdsZSBQIHNwYW4gewogICAgZGlzcGxheTogYmxvY2s7CiAgICBsaW5lLWhlaWdodDogMS40NjY2N3JlbQp9Cgouc2lkZWJhci1wb3N0IC5wb3N0LXNpbmdsZSAucG9zdC10aXRsZSB7CiAgICBtYXJnaW4tdG9wOiAuNjY2NjdyZW07CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogIzIwMjQyOAp9CgoudGFncy13aWRnZXQgdWwgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICBtYXJnaW4tYm90dG9tOiAtMTBweAp9CgoudGFncy13aWRnZXQgdWwgbGkgewogICAgbWFyZ2luLXJpZ2h0OiAuNjY2NjdyZW07CiAgICBtYXJnaW4tYm90dG9tOiAuNjY2NjdyZW0KfQoKLnRhZ3Mtd2lkZ2V0IHVsIGxpOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLXJpZ2h0OiAwCn0KCi50YWdzLXdpZGdldCB1bCBsaSBhIHsKICAgIGxpbmUtaGVpZ2h0OiAxLjczMzMzcmVtOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGVkOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBwYWRkaW5nOiAycHggLjY2NjY3cmVtOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICBjb2xvcjogIzVhNjY3MTsKICAgIGZvbnQtc2l6ZTogLjg2NjY3cmVtCn0KCi50YWdzLXdpZGdldCB1bCBsaSBhOmhvdmVyIHsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZDogIzA3NGE1NTsKICAgIGJvcmRlci1jb2xvcjogIzA3NGE1NQp9CgouYWRkcmVzc2VzX2Nhcm91c2VsIC5hZHJlc3MgaW1nIHsKICAgIG1heC13aWR0aDogMTAwJTsKICAgIHdpZHRoOiBhdXRvOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrCn0KCi5hZGRyZXNzZXNfY2Fyb3VzZWwgLmRvdC1saWdodCwKLmFkZHJlc3Nlc19jYXJvdXNlbCAub3dsLWRvdHMgewogICAgbWFyZ2luLXRvcDogMAp9CgouYWRyZXNzIHsKICAgIHBhZGRpbmc6IDAgMnJlbTsKICAgIG1hcmdpbi1ib3R0b206IDMuMzMzMzNyZW0KfQoKLmFkcmVzcyAubmFtIHsKICAgIG1hcmdpbi10b3A6IDEuNjY2NjdyZW07CiAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgbWFyZ2luLWJvdHRvbTogLjY2NjY3cmVtOwogICAgZm9udC13ZWlnaHQ6IDYwMAp9CgouYWRyZXNzIGltZyB7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICB3aWR0aDogYXV0bzsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jawp9CgouYWRyZXNzIHAgewogICAgbWFyZ2luOiAwCn0KCi5hZHJlc3MgewogICAgdGV4dC1hbGlnbjogY2VudGVyCn0KCi5tYXAjbWFwMSwKLm1hcCNtYXAzLAoubWFwI21hcDQgewogICAgaGVpZ2h0OiA0MDBweAp9CgoubWFwI21hcDIgewogICAgaGVpZ2h0OiA1MDBweAp9Cgpmb290ZXIgewogICAgYmFja2dyb3VuZDogI2Y0ZjRmNAp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIHsKICAgIHBhZGRpbmc6IDcuMzMzMzNyZW0gMCAzLjMzMzMzcmVtCn0KCmZvb3RlciAuZm9vdGVyX19iaWcgLnRleHRfd2lkZ2V0IHAgewogICAgbGluZS1oZWlnaHQ6IDJyZW07CiAgICBtYXJnaW4tYm90dG9tOiAxLjMzMzMzcmVtCn0KCmZvb3RlciAuZm9vdGVyX19iaWcgLnRleHRfd2lkZ2V0IHAgLmFkZHJlc3MsCmZvb3RlciAuZm9vdGVyX19iaWcgLnRleHRfd2lkZ2V0IHAgLm1haWwsCmZvb3RlciAuZm9vdGVyX19iaWcgLnRleHRfd2lkZ2V0IHAgLnRlbCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbG9yOiAjNWE2NjcxCn0KCmZvb3RlciAuZm9vdGVyX19iaWcgLnRleHRfd2lkZ2V0IHAgLm1haWw6aG92ZXIsCmZvb3RlciAuZm9vdGVyX19iaWcgLnRleHRfd2lkZ2V0IHAgLnRlbDpob3ZlciB7CiAgICBjb2xvcjogIzA2YjU5MAp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC50ZXh0X3dpZGdldCAuZm9vdGVyX2xvZ28gewogICAgbWFyZ2luLWJvdHRvbTogMnJlbQp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC53aWRnZXQgewogICAgbWFyZ2luLWJvdHRvbTogNHJlbQp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC53aWRnZXQgLndpZGdldF9fdGl0bGUgewogICAgZm9udC1zaXplOiAxLjA2NjY3cmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCmZvb3RlciAuZm9vdGVyX19iaWcgLndpZGdldCAud2lkZ2V0X190aXRsZTIgewogICAgZm9udC1zaXplOiAxLjEzMzMzcmVtOwogICAgY29sb3I6ICMyMDI0MjgKfQoKZm9vdGVyIC5mb290ZXJfX2JpZyAud2lkZ2V0IC53aWRnZXRfX3NvY2lhbCB7CiAgICBtYXJnaW4tdG9wOiAzMHB4Cn0KCmZvb3RlciAuZm9vdGVyX19iaWcgLndpZGdldC5zdWJjcmliZS0td2lkZ2V0IC5zdWJzY3JpYmVfZm9ybSAuZW1iZWRfaWNvbiB7CiAgICBmb250LXNpemU6IDEuMzMzMzNyZW07CiAgICBjb2xvcjogIzVhNjY3MQp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC53aWRnZXQuc3ViY3JpYmUtLXdpZGdldCAuc3Vic2NyaWJlX2Zvcm0gaW5wdXQgewogICAgd2lkdGg6IDEwMCU7CiAgICBmb250LXNpemU6IDFyZW07CiAgICBjb2xvcjogIzkxOTJhMzsKICAgIG91dGxpbmU6IDA7CiAgICBwYWRkaW5nLWxlZnQ6IDEuNHJlbTsKICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0KfQoKZm9vdGVyIC5mb290ZXJfX2JpZyAud2lkZ2V0IHVsLmxpbmtzIGxpIHsKICAgIG1hcmdpbi1ib3R0b206IC42NjY2N3JlbQp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC53aWRnZXQgdWwubGlua3MgbGk6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCmZvb3RlciAuZm9vdGVyX19iaWcgLndpZGdldCB1bC5saW5rcyBsaSBhIHsKICAgIGNvbG9yOiAjNWE2NjcxCn0KCmZvb3RlciAuZm9vdGVyX19iaWcgLndpZGdldCB1bC5saW5rcyBsaSBhOmhvdmVyIHsKICAgIGNvbG9yOiAjMDZiNTkwCn0KCmZvb3RlciAuZm9vdGVyX19iaWcgLndpZGdldC0tY29udGFjdF9pbmZvIHVsIGxpIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgbWFyZ2luLWJvdHRvbTogMzFweAp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC53aWRnZXQtLWNvbnRhY3RfaW5mbyB1bCBsaSBzcGFuLmxhIHsKICAgIGZvbnQtc2l6ZTogMjhweDsKICAgIG1hcmdpbi1yaWdodDogMTJweAp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC53aWRnZXQtLWNvbnRhY3RfaW5mbyB1bCBsaSAuaW5mbyBwIHsKICAgIG1hcmdpbjogMDsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiAxLjA2NjY3cmVtOwogICAgbGluZS1oZWlnaHQ6IDI2cHgKfQoKZm9vdGVyIC5mb290ZXJfX2JpZyAud2lkZ2V0LS1jb250YWN0X2luZm8gdWwgbGkgLmluZm8gc21hbGwgewogICAgZm9udC1zaXplOiAxNHB4Cn0KCmZvb3RlciAuZm9vdGVyX19iaWcgLndpZGdldC0tbGF0ZXN0LW5ld3MgdWwgbGkgewogICAgbWFyZ2luLWJvdHRvbTogMjBweAp9Cgpmb290ZXIgLmZvb3Rlcl9fYmlnIC53aWRnZXQtLWxhdGVzdC1uZXdzIHVsIGxpIHNtYWxsIHsKICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbGluZS1oZWlnaHQ6IDMwcHgKfQoKZm9vdGVyIC5mb290ZXJfX2JpZyAud2lkZ2V0LS1sYXRlc3QtbmV3cyB1bCBsaSBhIHsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGxpbmUtaGVpZ2h0OiAyOHB4Cn0KCmZvb3RlciAuZm9vdGVyX19zbWFsbCB7CiAgICBiYWNrZ3JvdW5kOiAjMDAwCn0KCmZvb3RlciAuZm9vdGVyX19zbWFsbCBwIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC42KTsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDMwcHggMAp9Cgpmb290ZXIgLmZvb3Rlcl9fc21hbGwgYSB7CiAgICBjb2xvcjogIzA2YjU5MAp9Cgpmb290ZXIgLmZvb3Rlcl9fYm90dG9tIC5mb290ZXJfX2JvdHRvbS1jb250ZW50IHsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWFlYWVhOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5OwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgcGFkZGluZzogMi4zMzMzM3JlbSAwCn0KCmZvb3RlciAuZm9vdGVyX19ib3R0b20gLmZvb3Rlcl9fYm90dG9tLWNvbnRlbnQgcCB7CiAgICBtYXJnaW46IDAKfQoKZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAuZm9vdGVyX19ib3R0b20tY29udGVudCBwPmEgewogICAgY29sb3I6ICMwNmI1OTAKfQoKZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAuZm9vdGVyX19ib3R0b20tY29udGVudCAuc29jaWFsLWJhc2ljIGxpIGEgewogICAgY29sb3I6ICM5MTkyYTMKfQoKZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAuZm9vdGVyX19ib3R0b20tY29udGVudCAuc29jaWFsLWJhc2ljIGxpIGE6aG92ZXIgewogICAgY29sb3I6ICMwNmI1OTAKfQoKZm9vdGVyLmZvb3Rlci0tZGFyayAuZm9vdGVyX19iaWcgLnRleHRfd2lkZ2V0IHAgYSwKZm9vdGVyLmZvb3Rlci0tZGFyayAuZm9vdGVyX19iaWcgLnRleHRfd2lkZ2V0IHAgc3BhbiB7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSkKfQoKZm9vdGVyLmZvb3Rlci0tZGFyayAuZm9vdGVyX19iaWcgLndpZGdldC5zdWJjcmliZS0td2lkZ2V0IHAgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpCn0KCmZvb3Rlci5mb290ZXItLWRhcmsgLmZvb3Rlcl9fYmlnIC53aWRnZXQgLndpZGdldF9fdGl0bGUgewogICAgY29sb3I6ICNmZmYKfQoKZm9vdGVyLmZvb3Rlci0tZGFyayAuZm9vdGVyX19iaWcgLndpZGdldCB1bC5saW5rcyBsaSBhOmhvdmVyIHsKICAgIGNvbG9yOiAjMDZiNTkwCn0KCmZvb3Rlci5mb290ZXItLWxpZ2h0IC53aWRnZXRfX3NvY2lhbCAuc29jaWFsIHVsIGxpIGEgewogICAgYmFja2dyb3VuZDogI2ZmZgp9Cgpmb290ZXIuZm9vdGVyLS1saWdodCAud2lkZ2V0X19zb2NpYWwgLnNvY2lhbCB1bCBsaSBhIHNwYW4gewogICAgY29sb3I6ICM5MTkyYTMKfQoKZm9vdGVyLmZvb3Rlci0tbGlnaHQgLndpZGdldF9fc29jaWFsIC5zb2NpYWwgdWwgbGkgYTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjMDc0YTU1Cn0KCmZvb3Rlci5mb290ZXItLWxpZ2h0IC53aWRnZXRfX3NvY2lhbCAuc29jaWFsIHVsIGxpIGE6aG92ZXIgc3BhbiB7CiAgICBjb2xvcjogI2ZmZgp9Cgpmb290ZXIuZm9vdGVyLS1saWdodCAud2lkZ2V0LS1jb250YWN0X2luZm8gdWwgbGkgLmluZm8gcCB7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIGZvbnQtd2VpZ2h0OiA1MDAKfQoKZm9vdGVyLmZvb3Rlci0tbGlnaHQgLndpZGdldC0tbGF0ZXN0LW5ld3MgdWwgbGkgYSB7CiAgICBjb2xvcjogIzIwMjQyOAp9Cgpmb290ZXIuZm9vdGVyMi5mb290ZXItLWxpZ2h0IHsKICAgIGJhY2tncm91bmQ6ICNmZmYKfQoKZm9vdGVyLmZvb3RlcjIuZm9vdGVyLS1saWdodCAud2lkZ2V0LnR3aXQtLXdpZGdldCAudXNlciAubmFtZSB7CiAgICBjb2xvcjogIzA2YjU5MAp9Cgpmb290ZXIuZm9vdGVyMi5mb290ZXItLWxpZ2h0IC53aWRnZXQudHdpdC0td2lkZ2V0IC51c2VyIC5uYW1lK3NwYW4gewogICAgY29sb3I6ICM5MTkyYTMKfQoKZm9vdGVyLmZvb3RlcjIuZm9vdGVyLS1saWdodCAuZm9vdGVyX19zbWFsbCB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU4ZWQKfQoKZm9vdGVyLmZvb3RlcjIuZm9vdGVyLS1saWdodCAuZm9vdGVyX19zbWFsbCBwIHsKICAgIGNvbG9yOiAjNWE2NjcxCn0KCmZvb3Rlci5mb290ZXIyIC53aWRnZXQudHdpdC0td2lkZ2V0IC51c2VyIHsKICAgIG1hcmdpbi10b3A6IDE0cHgKfQoKZm9vdGVyLmZvb3RlcjIgLndpZGdldC50d2l0LS13aWRnZXQgLnVzZXIgLm5hbWUgewogICAgY29sb3I6ICNmZmYKfQoKZm9vdGVyLmZvb3RlcjIgLndpZGdldC50d2l0LS13aWRnZXQgLnVzZXIgLm5hbWUrc3BhbjpiZWZvcmUgewogICAgY29udGVudDogIi0iOwogICAgbWFyZ2luOiAwIDNweAp9Cgpmb290ZXIuZm9vdGVyMiAud2lkZ2V0LnR3aXQtLXdpZGdldCBhIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jawp9Cgpmb290ZXIuZm9vdGVyMiAud2lkZ2V0LnR3aXQtLXdpZGdldCBzcGFuLmZhYiB7CiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7CiAgICBmb250LXNpemU6IDE4cHgKfQoKZm9vdGVyLmZvb3RlcjIgLndpZGdldC50d2l0LS13aWRnZXQgLnR3aXRfd3JhcHBlcj5zcGFuIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRvcDogLjQ2NjY3cmVtCn0KCmZvb3Rlci5mb290ZXIyIC5mb290ZXJfX3NtYWxsIHAgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpCn0KCmZvb3Rlci5mb290ZXIyIC5mb290ZXJfX3NtYWxsIHAgYTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZgp9Cgpmb290ZXIuZm9vdGVyMyAuZm9vdGVyX19zbWFsbCB7CiAgICBiYWNrZ3JvdW5kOiAjZTRlOGVkCn0KCmZvb3Rlci5mb290ZXIzIC5mb290ZXJfX3NtYWxsIHAgewogICAgY29sb3I6ICM1YTY2NzEKfQoKZm9vdGVyLmZvb3RlcjQgLmZvb3Rlcl9fYmlnIHsKICAgIHBhZGRpbmc6IDcuMzMzMzNyZW0gMAp9Cgpmb290ZXIuZm9vdGVyNCAuZm9vdGVyX21lbnVfaXRlbXMgdWwgbGkgewogICAgcGFkZGluZzogLjk0cmVtCn0KCmZvb3Rlci5mb290ZXI0IC5mb290ZXJfbWVudV9pdGVtcyB1bCBsaSBhIHsKICAgIGxpbmUtaGVpZ2h0OiAyLjE0cmVtOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpCn0KCmZvb3Rlci5mb290ZXI0IC5mb290ZXJfbWVudV9pdGVtcyB1bCBsaSBhOmhvdmVyIHsKICAgIGNvbG9yOiAjZmZmCn0KCmZvb3Rlci5mb290ZXI0IC5mb290ZXJfX3NtYWxsIC5pbmZvX2xpbmtzIGxpK2xpIHsKICAgIG1hcmdpbi1sZWZ0OiAxN3B4Cn0KCmZvb3Rlci5mb290ZXI0IC5mb290ZXJfX3NtYWxsIC5pbmZvX2xpbmtzOmJlZm9yZSB7CiAgICBjb250ZW50OiAnfCc7CiAgICBtYXJnaW46IDAgMzBweDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKQp9Cgpmb290ZXIuZm9vdGVyNCAuZm9vdGVyX21lbnVfaXRlbXMgewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSkKfQoKZm9vdGVyLmZvb3RlcjQgLmZvb3Rlcl9fc21hbGwgewogICAgcGFkZGluZzogMS42NjY2N3JlbSAwOwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpCn0KCmZvb3Rlci5mb290ZXI0IC5mb290ZXJfX3NtYWxsIHAsCmZvb3Rlci5mb290ZXI0IC5mb290ZXJfX3NtYWxsIHVsIHsKICAgIHBhZGRpbmc6IDA7CiAgICBtYXJnaW46IDAKfQoKZm9vdGVyLmZvb3RlcjQgLnNvY2lhbC5zcXVhcmUgdWwgbGkgYSB7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKQp9Cgpmb290ZXIuZm9vdGVyNCAuc29jaWFsLnNxdWFyZSB1bCBsaSBhOmhvdmVyIHsKICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQKfQoKZm9vdGVyLmZvb3RlcjQuZm9vdGVyLS1saWdodCAuZm9vdGVyNF90ZXh0IHsKICAgIGNvbG9yOiAjNWE2NjcxCn0KCmZvb3Rlci5mb290ZXI0LmZvb3Rlci0tbGlnaHQgLmZvb3Rlcl9tZW51X2l0ZW1zIHsKICAgIGJhY2tncm91bmQ6ICNmZmYKfQoKZm9vdGVyLmZvb3RlcjQuZm9vdGVyLS1saWdodCAuZm9vdGVyX19zbWFsbCB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCmZvb3Rlci5mb290ZXI0LmZvb3Rlci0tbGlnaHQgLmZvb3Rlcl9fc21hbGwgcCB7CiAgICBjb2xvcjogIzVhNjY3MQp9Cgpmb290ZXIuZm9vdGVyNC5mb290ZXItLWxpZ2h0IC5mb290ZXJfX3NtYWxsIC5pbmZvX2xpbmtzIGxpIGEgewogICAgY29sb3I6ICM1YTY2NzEKfQoKZm9vdGVyLmZvb3RlcjQuZm9vdGVyLS1saWdodCAuZm9vdGVyX19zbWFsbCAuc29jaWFsLnNxdWFyZSBsaSBhIHsKICAgIGNvbG9yOiAjOTE5MmEzOwogICAgYm9yZGVyLWNvbG9yOiAjZTRlOGVkCn0KCmZvb3Rlci5mb290ZXI0LmZvb3Rlci0tbGlnaHQgLmZvb3Rlcl9fc21hbGwgLnNvY2lhbC5zcXVhcmUgbGkgYTpob3ZlciB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQKfQoKZm9vdGVyLmZvb3RlcjQgLmZvb3RlcjRfdGV4dCB7CiAgICBtYXJnaW46IDMuMzNyZW0gMCA0LjY2cmVtOwogICAgbGluZS1oZWlnaHQ6IDJyZW0KfQoKZm9vdGVyLmZvb3RlcjUuZm9vdGVyLS1idyAuZm9vdGVyX19iaWcgewogICAgYmFja2dyb3VuZDogIzExMTExNQp9Cgpmb290ZXIuZm9vdGVyNS5mb290ZXItLWJ3IC5mb290ZXJfX2JpZyAudGV4dF93aWRnZXQgYSB7CiAgICBjb2xvcjogI2ZmZgp9Cgpmb290ZXIuZm9vdGVyNS5mb290ZXItLWJ3IC5mb290ZXJfX2JpZyAudGV4dF93aWRnZXQgYTpob3ZlciB7CiAgICBjb2xvcjogIzA3NGE1NQp9Cgpmb290ZXIuZm9vdGVyNS5mb290ZXItLWJ3IC5mb290ZXJfX2JpZyAud2lkZ2V0IHVsLmxpbmtzIGE6aG92ZXIgewogICAgY29sb3I6ICNmZmYKfQoKZm9vdGVyLmZvb3RlcjUuZm9vdGVyLS1idyAuZm9vdGVyX19iaWcgLndpZGdldCAud2lkZ2V0X190aXRsZSB7CiAgICBjb2xvcjogI2ZmZgp9Cgpmb290ZXIuZm9vdGVyNS5mb290ZXItLWJ3IC5mb290ZXJfc21hbGwgewogICAgYmFja2dyb3VuZDogIzAwMAp9Cgpmb290ZXIuZm9vdGVyLS1saWdodC1ncmFkaWVudCB7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNmYmZiZmQpLCB0bygjZjJmMWZhKSk7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmYmZiZmQsICNmMmYxZmEpOwogICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZiZmJmZCwgI2YyZjFmYSk7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmJmYmZkLCAjZjJmMWZhKQp9Cgpmb290ZXIuZm9vdGVyNiB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcGFkZGluZy10b3A6IDQuMzMzMzNyZW0KfQoKZm9vdGVyLmZvb3RlcjY6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICIiOwogICAgd2lkdGg6IDE4MCU7CiAgICBoZWlnaHQ6IDE1MCU7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgbGVmdDogLTQwJTsKICAgIHRvcDogLTEzNyU7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJQp9Cgpmb290ZXIuZm9vdGVyNi5mb290ZXItLWRhcmsgLndpZGdldCAud2lkZ2V0X190aXRsZTIgewogICAgY29sb3I6ICNmZmYKfQoKZm9vdGVyLmZvb3RlcjYuZm9vdGVyLS1kYXJrIC5mb290ZXJfX2JvdHRvbSAuZm9vdGVyX19ib3R0b20tY29udGVudCB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpCn0KCmZvb3Rlci5mb290ZXI3IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL3NoYXBlLXdhdmUzLnBuZykgY2VudGVyLzEwMCUgMTAwJSBuby1yZXBlYXQ7CiAgICBwYWRkaW5nLXRvcDogNC42NjY2N3JlbQp9Cgpmb290ZXIuZm9vdGVyNy5mb290ZXItLWRhcmsgLndpZGdldCAud2lkZ2V0X190aXRsZTIgewogICAgY29sb3I6ICNmZmYKfQoKZm9vdGVyLmZvb3RlcjcuZm9vdGVyLS1kYXJrIC5mb290ZXJfX2JvdHRvbSAuZm9vdGVyX19ib3R0b20tY29udGVudCB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpCn0KCi5uYXYtdGFicyB7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBib3JkZXI6IDAgbm9uZQp9CgoubmF2LXRhYnMgLm5hdi1pdGVtIC5uYXYtbGluayB7CiAgICBiYWNrZ3JvdW5kOiAjMDc0YTU1OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtc2l6ZTogMS4wNjY2N3JlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBsaW5lLWhlaWdodDogMy4ycmVtOwogICAgcGFkZGluZzogMCAxLjg2NjY3cmVtCn0KCi5uYXYtdGFicyAubmF2LWl0ZW0gLm5hdi1saW5rLmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCi5uYXYtdGFicyAubmF2LWl0ZW0gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdG9wOiAxcHg7CiAgICB6LWluZGV4OiAxOwogICAgbWFyZ2luOiAwCn0KCi5uYXYtdGFicyAubmF2LWl0ZW06Zmlyc3QtY2hpbGQgLm5hdi1saW5rIHsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4IDAgMCAwOwogICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCAwCn0KCi5uYXYtdGFicyAubmF2LWl0ZW06bGFzdC1jaGlsZCAubmF2LWxpbmsgewogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDRweCAwIDA7CiAgICBib3JkZXItcmFkaXVzOiAwIDRweCAwIDAKfQoKLm5hdi1waWxscyAubmF2LWl0ZW0gewogICAgbWFyZ2luLXJpZ2h0OiAxMHB4Cn0KCi5uYXYtcGlsbHMgLm5hdi1pdGVtOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLXJpZ2h0OiAwCn0KCi5uYXYtcGlsbHMgLm5hdi1pdGVtIC5uYXYtbGluayB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDcsIDc0LCA4NSwgLjEpOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtc2l6ZTogLjkzMzMzcmVtOwogICAgbGluZS1oZWlnaHQ6IDMuMDY2NjdyZW07CiAgICBwYWRkaW5nOiAwIDMwcHgKfQoKLm5hdi1waWxscyAubmF2LWl0ZW0gLm5hdi1saW5rOmhvdmVyIHsKICAgIGNvbG9yOiAjZmZmCn0KCi50YWIudGFiLS0xIC50YWJfbmF2IHsKICAgIHBhZGRpbmc6IDEuNjZyZW0gMi42NnJlbTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjI2NjY3cmVtOwogICAgYm9yZGVyLXJhZGl1czogLjI2NjY3cmVtCn0KCi50YWIudGFiLS0xIC50YWJfbmF2IC5uYXYgdWwgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgoudGFiLnRhYi0tMSAudGFiX25hdiAubmF2IHVsIGxpIHsKICAgIGxpbmUtaGVpZ2h0OiAycmVtCn0KCi50YWIudGFiLS0xIC50YWJfbmF2IC5uYXYgLm5hdi1saW5rIHsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKICAgIHBhZGRpbmc6IDE1cHggMDsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTRlOGVkCn0KCi50YWIudGFiLS0xIC50YWJfbmF2IC5uYXYgLm5hdi1saW5rOmxhc3QtY2hpbGQgewogICAgYm9yZGVyLWJvdHRvbTogMAp9CgoudGFiLnRhYi0tMSAudGFiX25hdiAubmF2IC5uYXYtbGluay5hY3RpdmUgewogICAgYmFja2dyb3VuZDogMCAwCn0KCi50YWIudGFiLS0xIC50YWItY29udGVudCB7CiAgICBwYWRkaW5nLWxlZnQ6IDMwcHgKfQoKLnRhYi50YWItLTEgLnRhYi1jb250ZW50IC50YWItcGFuZSB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMjY2NjdyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMjY2NjdyZW07CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAyMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMDUpCn0KCi50YWIudGFiLS0xIC50YWItY29udGVudCAudGFiLXBhbmUgZmlndXJlIHsKICAgIG1hcmdpbjogMAp9CgoudGFiLnRhYi0tMSAudGFiLWNvbnRlbnQgLnRhYi1wYW5lIGZpZ3VyZSBmaWdjYXB0aW9uIHsKICAgIHBhZGRpbmc6IDIuMTMzMzNyZW0gMi4zMzMzM3JlbSAyLjMzMzMzcmVtCn0KCi50YWIudGFiLS0xIC50YWItY29udGVudCAudGFiLXBhbmUgZmlndXJlIGZpZ2NhcHRpb24gaDUgewogICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbWFyZ2luLWJvdHRvbTogMXJlbQp9CgoudGFiLnRhYi0tMSAudGFiLWNvbnRlbnQgLnRhYi1wYW5lIGZpZ3VyZSBmaWdjYXB0aW9uIGEuYnRuIHsKICAgIG1hcmdpbi10b3A6IDhweAp9CgoudGFiLnRhYi0tMiAudGFiX25hdjIgLm5hdiwKLnRhYi50YWItLTYgLnRhYl9uYXYyIC5uYXYgewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU4ZWQKfQoKLnRhYi50YWItLTIgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5uYXYtbGluaywKLnRhYi50YWItLTYgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5uYXYtbGluayB7CiAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBsaW5lLWhlaWdodDogNHJlbTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGNvbG9yOiByZ2JhKDMyLCAzNiwgNDAsIC41KTsKICAgIHBhZGRpbmctbGVmdDogMnJlbTsKICAgIHBhZGRpbmctcmlnaHQ6IDJyZW0KfQoKLnRhYi50YWItLTIgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5uYXYtbGluazpiZWZvcmUsCi50YWIudGFiLS02IC50YWJfbmF2MiAubmF2IC5uYXYtaXRlbSAubmF2LWxpbms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIiOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaGVpZ2h0OiA4cHg7CiAgICB3aWR0aDogOHB4OwogICAgYmFja2dyb3VuZDogIzlkOWViYzsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjAwcHg7CiAgICBib3JkZXItcmFkaXVzOiAyMDBweDsKICAgIGJvdHRvbTogMDsKICAgIGxlZnQ6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKQp9CgoudGFiLnRhYi0tMiAudGFiX25hdjIgLm5hdiAubmF2LWl0ZW0gLm5hdi1saW5rLmFjdGl2ZTphZnRlciwKLnRhYi50YWItLTYgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5uYXYtbGluay5hY3RpdmU6YWZ0ZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogJyc7CiAgICB3aWR0aDogMS4zMzMzM3JlbTsKICAgIGhlaWdodDogMS4zMzMzM3JlbTsKICAgIGJhY2tncm91bmQ6IHJnYmEoNiwgMTgxLCAxNDQsIC4xKTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjAwcHg7CiAgICBib3JkZXItcmFkaXVzOiAyMDBweDsKICAgIGJvdHRvbTogMDsKICAgIGxlZnQ6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKQp9CgoudGFiLnRhYi0tMyAudGFiX25hdjMgewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU4ZWQKfQoKLnRhYi50YWItLTMgLnRhYl9uYXYzIC5uYXYgbGkgewogICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAwOwogICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7CiAgICBmbGV4LWJhc2lzOiAwOwogICAgLXdlYmtpdC1ib3gtZmxleDogMTsKICAgIC13ZWJraXQtZmxleC1ncm93OiAxOwogICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7CiAgICBmbGV4LWdyb3c6IDE7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIKfQoKLnRhYi50YWItLTMgLnRhYl9uYXYzIC5uYXYgbGkgYSB7CiAgICBmb250LXNpemU6IDEuMDY2NjdyZW07CiAgICBjb2xvcjogIzVhNjY3MTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IC4zczsKICAgIC1vLXRyYW5zaXRpb246IC4zczsKICAgIHRyYW5zaXRpb246IC4zczsKICAgIHBhZGRpbmc6IDEuNHJlbSAwCn0KCi50YWIudGFiLS00IC50YWItLWNvbnRlbnQ0IHsKICAgIHBhZGRpbmc6IDUwcHggNTBweCA1MHB4IDA7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGVkOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuCn0KCi50YWIudGFiLS00IC50YWItLWNvbnRlbnQ5IHsKICAgIHBhZGRpbmc6IDIuNjY2NjdyZW0KfQoKLnRhYi50YWItLTQgLnRhYi1jb250ZW50IC50YWItcGFuZSAuZ3JhcGhfYXJlYSB7CiAgICBtYXJnaW4tcmlnaHQ6IDM1cHgKfQoKLnRhYi50YWItLTQgLnRhYi1jb250ZW50IC50YWItcGFuZSAudGV4dF9jb250ZW50IHAgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgoudGFiLnRhYi0tNiAudGFiX25hdjIgLm5hdiAubmF2LWl0ZW0gLm5hdi1saW5rIHsKICAgIGZvbnQtc2l6ZTogMS4ycmVtCn0KCi50YWIudGFiLS03IC50YWJfbmF2NywKLnRhYi50YWItLTggLnRhYl9uYXY3IHsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTRlOGVkCn0KCi50YWIudGFiLS03IC50YWJfbmF2NyAubmF2IC5uYXYtaXRlbSAubmF2LWxpbmssCi50YWIudGFiLS04IC50YWJfbmF2NyAubmF2IC5uYXYtaXRlbSAubmF2LWxpbmsgewogICAgZm9udC1zaXplOiAxcmVtOwogICAgbGluZS1oZWlnaHQ6IDMuMzMzMzNyZW07CiAgICBwYWRkaW5nOiAwcmVtIDJyZW07CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBjb2xvcjogIzkxOTJhMwp9CgoudGFiLnRhYi0tNyAudGFiX25hdjcgLm5hdiAubmF2LWl0ZW0gLm5hdi1saW5rIHNwYW4sCi50YWIudGFiLS04IC50YWJfbmF2NyAubmF2IC5uYXYtaXRlbSAubmF2LWxpbmsgc3BhbiB7CiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICBmb250LXNpemU6IDEuMnJlbQp9CgoudGFiLnRhYi0tNyAudGFiX25hdjcgLm5hdiAubmF2LWl0ZW0gLm5hdi1saW5rLmFjdGl2ZTpiZWZvcmUsCi50YWIudGFiLS04IC50YWJfbmF2NyAubmF2IC5uYXYtaXRlbSAubmF2LWxpbmsuYWN0aXZlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiIjsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IC0xcHg7CiAgICBsZWZ0OiAwCn0KCi50YWIudGFiLS03IC50YWItLWNvbnRlbnQ3LAoudGFiLnRhYi0tOCAudGFiLS1jb250ZW50NyB7CiAgICBtYXJnaW4tdG9wOiAzNXB4Cn0KCi50YWIudGFiLS03IC50YWItLWNvbnRlbnQ3IGg1LAoudGFiLnRhYi0tOCAudGFiLS1jb250ZW50NyBoNSB7CiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Cn0KCi50YWIudGFiLS04IC50YWJfbmF2NyB7CiAgICBib3JkZXItYm90dG9tOiAwOwogICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTRlOGVkCn0KCi50YWIudGFiLS04IC50YWJfbmF2NyAubmF2IHsKICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbgp9CgoudGFiLnRhYi0tOCAudGFiX25hdjcgLm5hdiAubmF2LWl0ZW0gLm5hdi1saW5rIHsKICAgIHBhZGRpbmc6IDByZW0gMS42NjY2N3JlbQp9CgoudGFiLnRhYi0tOCAudGFiX25hdjcgLm5hdiAubmF2LWl0ZW0gLm5hdi1saW5rLmFjdGl2ZTpiZWZvcmUgewogICAgaGVpZ2h0OiAxMDAlOwogICAgd2lkdGg6IDFweDsKICAgIGxlZnQ6IC0xcHgKfQoKLnRhYi50YWItLTggLnRhYi1jb250ZW50IGg1IHsKICAgIG1hcmdpbi1ib3R0b206IDEuMzMzMzNyZW0KfQoKLnRhYi1jb250ZW50LnRhYi0tY29udGVudDIgewogICAgbWFyZ2luLXRvcDogMy4zMzMzM3JlbQp9CgoudGFiLWNvbnRlbnQudGFiLS1jb250ZW50MiAudGFiLXBhbmUgLnRhYl90ZXh0X21vZHVsZSAudGFiX3RleHRfbW9kdWxlX19zdWJ0aXRsZSB7CiAgICBmb250LXNpemU6IDEuMDY2NjdyZW07CiAgICBmb250LXdlaWdodDogNDAwOwogICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgY29sb3I6ICMwNmI1OTAKfQoKLnRhYi1jb250ZW50LnRhYi0tY29udGVudDIgLnRhYi1wYW5lIC50YWJfdGV4dF9tb2R1bGUgaDIgewogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGZvbnQtc2l6ZTogMi40cmVtOwogICAgbGluZS1oZWlnaHQ6IDIuOHJlbTsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLnRhYi1jb250ZW50LnRhYi0tY29udGVudDIgLnRhYi1wYW5lIC50YWJfdGV4dF9tb2R1bGUgLmJ0biB7CiAgICBtYXJnaW4tdG9wOiAxLjI2NjY3cmVtCn0KCi50YWItY29udGVudC50YWItLWNvbnRlbnQyIC50YWItcGFuZSAudGFiX3RleHRfbW9kdWxlIHVsIGxpIHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGxpbmUtaGVpZ2h0OiAyLjEzMzMzcmVtOwogICAgbWFyZ2luOiAwCn0KCi50YWItY29udGVudC50YWItLWNvbnRlbnQyIC50YWItcGFuZSAudGFiX2ltYWdlX21vZHVsZS0tbGVmdCwKLnRhYi1jb250ZW50LnRhYi0tY29udGVudDIgLnRhYi1wYW5lIC50YWJfaW1hZ2VfbW9kdWxlLS1yaWdodCB7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi50YWItY29udGVudC50YWItLWNvbnRlbnQyIC50YWItcGFuZSAudGFiX2ltYWdlX21vZHVsZS0tbGVmdCBpbWcsCi50YWItY29udGVudC50YWItLWNvbnRlbnQyIC50YWItcGFuZSAudGFiX2ltYWdlX21vZHVsZS0tcmlnaHQgaW1nIHsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4OwogICAgYm9yZGVyLXJhZGl1czogNHB4Cn0KCi50YWJfbmF2NCAubmF2LXRhYnMgbGkgYSB7CiAgICBiYWNrZ3JvdW5kOiAjMDAwMDhiCn0KCi50YWJfbmF2NSB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtCn0KCi50YWJfZXZlbnQ+cCB7CiAgICBjb2xvcjogIzA3NGE1NTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBsaW5lLWhlaWdodDogMi41MzMzM3JlbTsKICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICBtYXJnaW4tYm90dG9tOiAxNXB4Cn0KCi50YWJfZXZlbnQgLnRhYl9ldmVudF9fbW9kdWxlIHsKICAgIHBhZGRpbmc6IDMycHggNDBweCAyLjQ2NjY3cmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMjY2cmVtOwogICAgYm9yZGVyLXJhZGl1czogLjI2NnJlbQp9CgoudGFiX2V2ZW50IC50YWJfZXZlbnRfX21vZHVsZSAuZXZlbnRfbWV0YSB7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICBmbGV4LXdyYXA6IHdyYXAKfQoKLnRhYl9ldmVudCAudGFiX2V2ZW50X19tb2R1bGUgLmV2ZW50X21ldGEgcCB7CiAgICBtYXJnaW4tcmlnaHQ6IDEuNDY2NjdyZW07CiAgICBmb250LXNpemU6IDFyZW07CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLnRhYl9ldmVudCAudGFiX2V2ZW50X19tb2R1bGUgLmV2ZW50X21ldGEgcCBzcGFuLmxhIHsKICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIG1hcmdpbi1yaWdodDogOHB4Cn0KCi50YWJfZXZlbnQgLnRhYl9ldmVudF9fbW9kdWxlIGg1IHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgbGluZS1oZWlnaHQ6IDIuNTMzMzNyZW07CiAgICBtYXJnaW4tYm90dG9tOiAuNjY2NjdyZW0KfQoKLnRhYl9ldmVudCAudGFiX2V2ZW50X19tb2R1bGUgLnNwZWFrZXJzIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIHBhZGRpbmctdG9wOiAxMXB4Cn0KCi50YWJfZXZlbnQgLnRhYl9ldmVudF9fbW9kdWxlIC5zcGVha2VycyBsaSB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcgp9CgoudGFiX2V2ZW50IC50YWJfZXZlbnRfX21vZHVsZSAuc3BlYWtlcnMgbGk+ZGl2IHsKICAgIG1hcmdpbi1sZWZ0OiAyMHB4Cn0KCi50YWJfZXZlbnQgLnRhYl9ldmVudF9fbW9kdWxlIC5zcGVha2VycyBsaStsaSB7CiAgICBtYXJnaW4tbGVmdDogMzBweAp9CgoudGFiX2V2ZW50IC50YWJfZXZlbnRfX21vZHVsZSAuc3BlYWtlcnMgbGkgaW1nIHsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjAwcHg7CiAgICBib3JkZXItcmFkaXVzOiAyMDBweDsKICAgIGhlaWdodDogNTBweDsKICAgIHdpZHRoOiA1MHB4Cn0KCi50YWJfZXZlbnQgLnRhYl9ldmVudF9fbW9kdWxlIC5zcGVha2VycyBsaSBoNiwKLnRhYl9ldmVudCAudGFiX2V2ZW50X19tb2R1bGUgLnNwZWFrZXJzIGxpIHAgewogICAgbWFyZ2luOiAwOwogICAgbGluZS1oZWlnaHQ6IDEuODY2NjdyZW0KfQoKLnRhYl9ldmVudCAudGFiX2V2ZW50X19tb2R1bGUgLnNwZWFrZXJzIGxpIHAgewogICAgZm9udC1zaXplOiAxNHB4Cn0KCi50YWJfZXZlbnQgLnRhYl9ldmVudF9fbW9kdWxlIC5zcGVha2VycyBsaSBoNSB7CiAgICBmb250LXNpemU6IDEuMnJlbQp9Cgouc2VydmljZS0tdGFicyAudGFiX25hdjIgLm5hdiB7CiAgICBwYWRkaW5nOiAwCn0KCi5zZXJ2aWNlLS10YWJzIC50YWJfbmF2MiAubmF2IC5uYXYtbGluayB7CiAgICBwYWRkaW5nOiAuODY2NjdyZW0gMS4zMzMzM3JlbTsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgYmFja2dyb3VuZDogcmdiYSg3LCA3NCwgODUsIC4wNSk7CiAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIGZvbnQtc2l6ZTogMS4wNjY2N3JlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDAKfQoKLnNlcnZpY2UtLXRhYnMgLnRhYl9uYXYyIC5uYXYgLm5hdi1saW5rOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMAp9Cgouc2VydmljZS0tdGFicyAudGFiX25hdjIgLm5hdiAubmF2LWxpbmsuYWN0aXZlIHsKICAgIGJhY2tncm91bmQ6ICMwNmI1OTA7CiAgICBjb2xvcjogI2ZmZgp9CgoudGVzdGltb25pYWwyIC5jYXJvdXNlbC1zaW5nbGUgLmF1dGhvci1zcGVjIC5hdXRob3ItZGVzYyBoNSB7CiAgICBjb2xvcjogIzIwMjQyOAp9CgoudGVzdGltb25pYWw2IHsKICAgIHBhZGRpbmc6IDUuMzMzMzNyZW0gMAp9Cgouc2luZ2xlX3Rlc3RpbW9uaWFsIC5iaWctLXF1b3RlIHsKICAgIGZvbnQtc2l6ZTogNy4zMzMzM3JlbTsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGxlZnQ6IC0xM3B4Cn0KCi5zaW5nbGVfdGVzdGltb25pYWwgcCB7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNyk7CiAgICBmb250LXNpemU6IDEuMzMzMzNyZW07CiAgICBsaW5lLWhlaWdodDogMi40cmVtOwogICAgbWFyZ2luOiAwCn0KCi5zaW5nbGVfdGVzdGltb25pYWwgLnNpbmdsZV90ZXN0aW1vbmlhbF9tZXRhIHsKICAgIHBhZGRpbmctdG9wOiAzNXB4OwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgbWFyZ2luLWJvdHRvbTogMAp9Cgouc2luZ2xlX3Rlc3RpbW9uaWFsIC5zaW5nbGVfdGVzdGltb25pYWxfbWV0YSBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMS4ycmVtOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTsKICAgIG1hcmdpbi1sZWZ0OiAuNjY2NjdyZW0KfQoKLmludHJvLWFyZWEtMTEgewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltZy9pbnRyby1iZy5wbmcpOwogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsKICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIHBhZGRpbmctYm90dG9tOiAzLjMzMzMzcmVtOwogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5pbnRyby1hcmVhLTExOmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnJzsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmZiwgI2YzZjJmYSk7CiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmYsICNmM2YyZmEpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20oI2ZmZiksIHRvKCNmM2YyZmEpKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNmZmYsICNmM2YyZmEpOwogICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICNmZmYsICNmM2YyZmEpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmZmLCAjZjNmMmZhKTsKICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLCBzdGFydENvbG9yc3RyPSNmZmZmZmYsIGVuZENvbG9yc3RyPSNmM2YyZmEpOwogICAgei1pbmRleDogLTEKfQoKLmludHJvLWFyZWEtMTEgLm1lbnVfYXJlYS5tZW51OCB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lOwogICAgYmFja2dyb3VuZDogMCAwCn0KCi5pbnRyby1hcmVhLXR3byB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbSgjMDc0YTU1KSwgdG8oIzA2YjU5MCkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIzA3NGE1NSwgIzA2YjU5MCk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgIzA3NGE1NSwgIzA2YjU5MCk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwNzRhNTUsICMwNmI1OTApOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgcGFkZGluZy1ib3R0b206IDRyZW0KfQoKLmludHJvLWFyZWEtdHdvOmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnJzsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvc3ZnL3NoYXBlMi5zdmcpLCAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbSgjMDc0YTU1KSwgdG8oIzA2YjU5MCkpOwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltZy9zdmcvc2hhcGUyLnN2ZyksIC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICMwNzRhNTUsICMwNmI1OTApOwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltZy9zdmcvc2hhcGUyLnN2ZyksIC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMDc0YTU1LCAjMDZiNTkwKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvc3ZnL3NoYXBlMi5zdmcpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwNzRhNTUsICMwNmI1OTApOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0OwogICAgb3BhY2l0eTogLjE1Cn0KCi5pbnRyby1hcmVhLXR3byAubWVudV9hcmVhLm1lbnU4IHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiAwIDAKfQoKLmludHJvLW9uZSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtaW4taGVpZ2h0OiA0Ny40NjY2N3JlbQp9CgouaW50cm8tb25lIC5pbnRyby1vbmUtLWNvbnRlbnRzIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyCn0KCi5pbnRyby1vbmUgaDEgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBmb250LXdlaWdodDogNjAwCn0KCi5pbnRyby1vbmUgcCB7CiAgICBmb250LXNpemU6IDE3cHg7CiAgICBtYXJnaW46IDA7CiAgICBsaW5lLWhlaWdodDogMi4xMzMzM3JlbQp9CgouaW50cm8tb25lIC5idG4gewogICAgbWFyZ2luLXRvcDogMi42NjY2N3JlbQp9CgouaW50cm8tb25lIC5pbnRyby1vbmUtLWltZyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogNTAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgcmlnaHQ6IDA7CiAgICB0b3A6IDA7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwNmI1OTAsICMwNzRhNTUpOwogICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzA2YjU5MCwgIzA3NGE1NSk7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjMDZiNTkwLCAjMDc0YTU1KTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyCn0KCi5pbnRyby10d28gewogICAgbWluLWhlaWdodDogNTMuMzMzMzNyZW07CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG92ZXJmbG93OiBoaWRkZW4KfQoKQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpLAooLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSB7CiAgICAuaW50cm8tdHdvIHsKICAgICAgICBoZWlnaHQ6IDUzLjMzMzMzcmVtCiAgICB9Cn0KCi5pbnRyby10d286YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICcnOwogICAgd2lkdGg6IDg5JTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJvcmRlci10b3A6IDgwMHB4IHNvbGlkICMwNmI1OTA7CiAgICBib3JkZXItcmlnaHQ6IDgzNnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLWxlZnQ6IDAgc29saWQgdHJhbnNwYXJlbnQ7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwCn0KCi5pbnRyby10d28gaDEgewogICAgbGluZS1oZWlnaHQ6IDRyZW07CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBtYXJnaW4tYm90dG9tOiAxLjY2NjY3cmVtCn0KCi5pbnRyby10d28gcCB7CiAgICBjb2xvcjogI2ZmZjsKICAgIG1hcmdpbjogMDsKICAgIGZvbnQtc2l6ZTogMS4xMzMzM3JlbTsKICAgIGxpbmUtaGVpZ2h0OiAyLjEzMzMzcmVtCn0KCi5pbnRyby10d28gdWwgewogICAgbWFyZ2luOiAyLjY2NjY3cmVtIDAgMCAwOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICBmbGV4LXdyYXA6IHdyYXAKfQoKLmludHJvLXR3byB1bCBsaSB7CiAgICBtYXJnaW4tcmlnaHQ6IDJyZW0KfQoKLmludHJvLXR3byB1bCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1yaWdodDogMAp9CgouaW50cm8tdGhyZWUgewogICAgbWluLWhlaWdodDogNTMuMzMzMzNyZW07CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmN2Y2ZmMsICNmZmYpOwogICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y3ZjZmYywgI2ZmZik7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjZjdmNmZjLCAjZmZmKTsKICAgIG92ZXJmbG93OiBoaWRkZW4KfQoKLmludHJvLXRocmVlOmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnJzsKICAgIHdpZHRoOiA4MHJlbTsKICAgIGhlaWdodDogOTMuMzMzMzNyZW07CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGxlZnQ6IC01MjBweDsKICAgIGJvdHRvbTogLTkwMHB4Cn0KCi5pbnRyby10aHJlZTphZnRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnJzsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgYmFja2dyb3VuZDogdXJsKGltZy9zaGFwZTIucG5nKSB0b3AgcmlnaHQvYXV0byBuby1yZXBlYXQKfQoKLmludHJvLXRocmVlIC5pbnRyby10aHJlZS0taW1nIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiA1MCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBwYWRkaW5nLWxlZnQ6IDE2LjY2NjY3cmVtCn0KCi5pbnRyby10aHJlZSAuaW50cm8tdGhyZWUtLWNvbnRlbnRzIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgbGVmdDogMDsKICAgIGhlaWdodDogMTAwJTsKICAgIHRvcDogMDsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgei1pbmRleDogMQp9CgouaW50cm8tdGhyZWUgLmludHJvLXRocmVlLS1jb250ZW50cyBoMSB7CiAgICBmb250LXdlaWdodDogNjAwCn0KCi5pbnRyby10aHJlZSAuaW50cm8tdGhyZWUtLWNvbnRlbnRzIHAgewogICAgZm9udC1zaXplOiAxLjEzMzMzcmVtOwogICAgbWFyZ2luOiAwOwogICAgbGluZS1oZWlnaHQ6IDIuMTMzMzNyZW0KfQoKLmludHJvLXRocmVlIC5pbnRyby10aHJlZS0tY29udGVudHMgLmJ0biB7CiAgICBtYXJnaW4tdG9wOiAyLjMzMzMzcmVtCn0KCi5pbnRyby1mb3VyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1pbi1oZWlnaHQ6IDUzLjMzMzMzcmVtCn0KCi5pbnRyby1mb3VyOmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAiIjsKICAgIHdpZHRoOiA4MCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoNTAlLCAjZjFmMmY3KSwgdG8ocmdiYSgyNDEsIDI0MiwgMjQ3LCAwKSkpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2YxZjJmNyA1MCUsIHJnYmEoMjQxLCAyNDIsIDI0NywgMCkpOwogICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICNmMWYyZjcgNTAlLCByZ2JhKDI0MSwgMjQyLCAyNDcsIDApKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2YxZjJmNyA1MCUsIHJnYmEoMjQxLCAyNDIsIDI0NywgMCkpOwogICAgei1pbmRleDogMQp9CgouaW50cm8tZm91ciAuaW50cm8tZm91ci0tY29udGVudHMgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIKfQoKLmludHJvLWZvdXIgLmludHJvLWZvdXItLWNvbnRlbnRzIGgxIHsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBtYXJnaW4tYm90dG9tOiAxLjY2NjY3cmVtCn0KCi5pbnRyby1mb3VyIC5pbnRyby1mb3VyLS1jb250ZW50cyBwIHsKICAgIG1hcmdpbjogMDsKICAgIGZvbnQtc2l6ZTogMS4xMzMzM3JlbTsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgbGluZS1oZWlnaHQ6IDIuMTMzMzNyZW0KfQoKLmludHJvLWZvdXIgLmludHJvLWZvdXItLWNvbnRlbnRzIHVsIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgbWFyZ2luLXRvcDogMi42NjY2N3JlbQp9CgouaW50cm8tZm91ciAuaW50cm8tZm91ci0tY29udGVudHMgdWwgbGkgewogICAgbWFyZ2luLXJpZ2h0OiAycmVtCn0KCi5pbnRyby1mb3VyIC5pbnRyby1mb3VyLS1jb250ZW50cyB1bCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1yaWdodDogMAp9CgouaW50cm8tZml2ZSBoMSB7CiAgICBmb250LXdlaWdodDogNjAwCn0KCi5pbnRyby1maXZlIHAgewogICAgZm9udC1zaXplOiAxLjEzMzMzcmVtOwogICAgbWFyZ2luOiAwOwogICAgbGluZS1oZWlnaHQ6IDIuMTMzMzNyZW0KfQoKLmludHJvLWZpdmUgLmJ0biB7CiAgICBtYXJnaW4tdG9wOiAyLjMzMzMzcmVtCn0KCi5zaGFwZS13cmFwcGVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9Cgouc2hhcGUtd3JhcHBlcjpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogJyc7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDAKfQoKLnNoYXBlLXdyYXBwZXIgaW1nIHsKICAgIHdpZHRoOiAxMDAlCn0KCi5zaGFwZS13cmFwcGVyLmltZy1zaGFwZS1vbmU6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6IHVybChpbWcvaW1nX3NoYXBlMS5wbmcpOwogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsKICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdAp9Cgouc2hhcGUtd3JhcHBlci5pbWctc2hhcGUtdHdvOmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2ltZ19zaGFwZTIucG5nKTsKICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMSU7CiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAxJTsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQKfQoKLnNoYXBlLXdyYXBwZXIuaW1nLXNoYXBlLXRocmVlOmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2ltZ19zaGFwZTMucG5nKTsKICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMSU7CiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAxJTsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIKfQoKLmludHJvX2FyZWE5IHsKICAgIG1pbi1oZWlnaHQ6IDU2LjY2NjY3cmVtOwogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5pbnRyb19hcmVhOSAuaW50cm9fYXJlYTktLWNvbnRlbnRzIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyCn0KCi5pbnRyb19hcmVhOSAuaW50cm9fYXJlYTktLWNvbnRlbnRzOmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogNTAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIGNvbnRlbnQ6ICcnOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoMzEwZGVnLCAjMDc0YTU1IDAsICMwNzRhNTUgMjUlLCAjMDZiNTkwIDEwMCUpOwogICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KDMxMGRlZywgIzA3NGE1NSAwLCAjMDc0YTU1IDI1JSwgIzA2YjU5MCAxMDAlKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDBkZWcsICMwNzRhNTUgMCwgIzA3NGE1NSAyNSUsICMwNmI1OTAgMTAwJSkKfQoKLmludHJvX2FyZWE5IC5pbnRyb19hcmVhOS0tY29udGVudHMgaDEgewogICAgZm9udC1zaXplOiAzLjZyZW07CiAgICBsaW5lLWhlaWdodDogNHJlbTsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIG1hcmdpbjogMCAwIDIuNjY2NjdyZW0KfQoKLmludHJvX2FyZWE5IC5pbnRyb19hcmVhOS0tY29udGVudHMgcCB7CiAgICBmb250LXNpemU6IDEuMTMzMzNyZW07CiAgICBsaW5lLWhlaWdodDogMi4xMzMzM3JlbTsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC44KTsKICAgIG1hcmdpbjogMCAwIDIuNjY2NjdyZW0KfQoKLmludHJvX2FyZWE5IC5pbnRyb19hcmVhOS0tY29udGVudHMgLmJ0biB7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlCn0KCi5pbnRyb19hcmVhOSAuaW50cm9fYXJlYTktLXNsaWRlcyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogNTAlOwogICAgcmlnaHQ6IDA7CiAgICB0b3A6IDA7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcgp9CgouaW50cm9fYXJlYTkgLmludHJvX2FyZWE5LS1zbGlkZXMgLmludHJvX2FyZWE5LWNhcm91c2VsIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcgp9CgouaW50cm9fYXJlYTkgLmludHJvX2FyZWE5LS1zbGlkZXMgLmludHJvX2FyZWE5LWNhcm91c2VsIGltZyB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogYXV0bwp9CgouaW50cm9fYXJlYTkgLmludHJvX2FyZWE5LS1zbGlkZXMgLmludHJvX2FyZWE5LWNhcm91c2VsIC5kb3QtbGlnaHQsCi5pbnRyb19hcmVhOSAuaW50cm9fYXJlYTktLXNsaWRlcyAuaW50cm9fYXJlYTktY2Fyb3VzZWwgLm93bC1kb3RzIHsKICAgIGhlaWdodDogMi4xMzMzM3JlbTsKICAgIGJhY2tncm91bmQ6IHJnYmEoNiwgMTgxLCAxNDQsIC4xKTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjByZW07CiAgICBib3JkZXItcmFkaXVzOiAyMHJlbTsKICAgIHBhZGRpbmc6IDAgMS4zMzMzM3JlbTsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleAp9CgouaW50cm9fYXJlYTkgLmludHJvX2FyZWE5LS1zbGlkZXMgLmludHJvX2FyZWE5LWNhcm91c2VsIC5kb3QtbGlnaHQgLm93bC1kb3Qgc3BhbiwKLmludHJvX2FyZWE5IC5pbnRyb19hcmVhOS0tc2xpZGVzIC5pbnRyb19hcmVhOS1jYXJvdXNlbCAub3dsLWRvdHMgLm93bC1kb3Qgc3BhbiB7CiAgICBib3JkZXI6IDAgbm9uZTsKICAgIGJhY2tncm91bmQ6ICNmZmYKfQoKLmludHJvX2FyZWE5IC5pbnRyb19hcmVhOS0tc2xpZGVzIC5pbnRyb19hcmVhOS1jYXJvdXNlbCAuZG90LWxpZ2h0IC5vd2wtZG90LmFjdGl2ZSBzcGFuLAouaW50cm9fYXJlYTkgLmludHJvX2FyZWE5LS1zbGlkZXMgLmludHJvX2FyZWE5LWNhcm91c2VsIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUgc3BhbiB7CiAgICBiYWNrZ3JvdW5kOiAjMDZiNTkwCn0KCi5pbnRyby1hcmVhLWZvdXIgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7CiAgICAtbXMtZmxleC1hbGlnbjogZW5kOwogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU4ZWQ7CiAgICBtaW4taGVpZ2h0OiA1Ni42NjY2N3JlbTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgouaW50cm8tYXJlYS1mb3VyIC5pbWctbGVmdCwKLmludHJvLWFyZWEtZm91ciAuaW1nLXJpZ2h0IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNTAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpCn0KCi5pbnRyby1hcmVhLWZvdXIgLmltZy1sZWZ0IHsKICAgIGxlZnQ6IDAKfQoKLmludHJvLWFyZWEtZm91ciAuaW1nLXJpZ2h0IHsKICAgIHJpZ2h0OiAwCn0KCi5pbnRyby1hcmVhLWZvdXIgLmludHJvLWFyZWEtZm91ci0tY29udGVudHMgewogICAgdGV4dC1hbGlnbjogY2VudGVyCn0KCi5pbnRyby1hcmVhLWZvdXIgLmludHJvLWFyZWEtZm91ci0tY29udGVudHMgaDEgewogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGZvbnQtc2l6ZTogMy42cmVtOwogICAgbGluZS1oZWlnaHQ6IDQuMTMzMzNyZW07CiAgICBtYXJnaW4tYm90dG9tOiAxLjMzMzMzcmVtCn0KCi5pbnRyby1hcmVhLWZvdXIgLmludHJvLWFyZWEtZm91ci0tY29udGVudHMgaDEgc3BhbiB7CiAgICBjb2xvcjogIzA2YjU5MDsKICAgIGZvbnQtd2VpZ2h0OiA2MDAKfQoKLmludHJvLWFyZWEtZm91ciAuaW50cm8tYXJlYS1mb3VyLS1jb250ZW50cyBwIHsKICAgIGZvbnQtc2l6ZTogMS4xMzMzM3JlbTsKICAgIGxpbmUtaGVpZ2h0OiAyLjEzMzMzcmVtOwogICAgbWFyZ2luOiAwCn0KCi5pbnRyby1mb3JtIHsKICAgIG1hcmdpbjogMi41MzMzM3JlbSAwIDMuMzMzMzNyZW0gMDsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAtbXMtZmxleC13cmFwOiB3cmFwOwogICAgZmxleC13cmFwOiB3cmFwCn0KCi5pbnRyby1mb3JtIC5pbnB1dC1ncm91cCB7CiAgICB3aWR0aDogYXV0bzsKICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAtbXMtZmxleDogMTsKICAgIGZsZXg6IDEKfQoKLmludHJvLWZvcm0gLmlucHV0LWdyb3VwIHNwYW4uaWNvbi1sZWZ0IHsKICAgIGxlZnQ6IDEuMzMzMzNyZW0KfQoKLmludHJvLWZvcm0gLmlucHV0LWdyb3VwIGlucHV0IHsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4IDAgMCAzcHggIWltcG9ydGFudDsKICAgIGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4ICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgLjMzMzMzcmVtIC42NjY2N3JlbSByZ2JhKDE0NSwgMTQyLCAxODcsIC4xKTsKICAgIGJveC1zaGFkb3c6IDAgLjMzMzMzcmVtIC42NjY2N3JlbSByZ2JhKDE0NSwgMTQyLCAxODcsIC4xKTsKICAgIHBhZGRpbmctbGVmdDogMy4zMzMzM3JlbQp9CgouaW50cm8tZm9ybSBidXR0b24gewogICAgLXdlYmtpdC1ib3gtZmxleDogMTsKICAgIC13ZWJraXQtZmxleDogYXV0bzsKICAgIC1tcy1mbGV4OiBhdXRvOwogICAgZmxleDogYXV0bzsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMCAzcHggM3B4IDA7CiAgICBib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAuMzMzMzNyZW0gLjY2NjY3cmVtIHJnYmEoMTQ1LCAxNDIsIDE4NywgLjEpOwogICAgYm94LXNoYWRvdzogMCAuMzMzMzNyZW0gLjY2NjY3cmVtIHJnYmEoMTQ1LCAxNDIsIDE4NywgLjEpCn0KCi5yZXZfc2xpZGVyIHsKICAgIGRpcmVjdGlvbjogbFRyCn0KCi5yZXZfc2xpZGVyIC5zbG90aG9sZGVyOmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAiIjsKICAgIGhlaWdodDogMTAwJTsKICAgIHdpZHRoOiAxMDAlOwogICAgYmFja2dyb3VuZDogcmdiYSg3LCA3NCwgODUsIC43KTsKICAgIHotaW5kZXg6IDk5Cn0KCiNyZXZfc2xpZGVyXzE1XzFfd3JhcHBlciAuc2xvdGhvbGRlcjpiZWZvcmUsCiNyZXZfc2xpZGVyXzE1XzJfd3JhcHBlciAuc2xvdGhvbGRlcjpiZWZvcmUsCiNyZXZfc2xpZGVyXzE3XzFfd3JhcHBlciAuc2xvdGhvbGRlcjpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogIiI7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB3aWR0aDogMTAwJTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMzIsIDM2LCA0MCwgLjYpOwogICAgei1pbmRleDogOTk7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwCn0KCi5vdmVybGF5X2JsdWUucmV2X3NsaWRlciAuc2xvdGhvbGRlcjpiZWZvcmUgewogICAgYmFja2dyb3VuZDogcmdiYSg1OSwgNjIsIDEyMSwgLjcpCn0KCi5yZXZfc2xpZGVyXzE3XzFfd3JhcHBlciAuZm9ybS13cmFwcGVyIC5idG4gewogICAgdGV4dC1hbGlnbjogY2VudGVyCn0KCi5yZXZfc2xpZGVyLndpdGhvdXRfb3ZlcmxheSAuc2xvdGhvbGRlcjpiZWZvcmUgewogICAgZGlzcGxheTogbm9uZQp9CgojcmV2X3NsaWRlcl83XzFfd3JhcHBlciAuc2xvdGhvbGRlcjpiZWZvcmUsCiNyZXZfc2xpZGVyXzlfMV93cmFwcGVyIC5zbG90aG9sZGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiBub25lCn0KCi5jdXN0b20udHBhcnJvd3M6YmVmb3JlLAouaGVwaGFpc3Rvcy50cGFycm93czpiZWZvcmUsCi5oZXNwZXJpZGVuLnRwYXJyb3dzOmJlZm9yZSwKLnRwYXJyb3dzOmJlZm9yZSB7CiAgICBmb250LWZhbWlseTogTGluZUF3ZXNvbWUsIHNhbnMtc2VyaWY7CiAgICBmb250LXNpemU6IDIwcHgKfQoKLmN1c3RvbS50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZjEyMCIKfQoKLmN1c3RvbS50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYxMjEiCn0KCi5oZXBoYWlzdG9zLnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpiZWZvcmUsCi5oZXNwZXJpZGVuLnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpiZWZvcmUgewogICAgY29udGVudDogIlxmMTExIgp9CgouaGVwaGFpc3Rvcy50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZSwKLmhlc3BlcmlkZW4udHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewogICAgY29udGVudDogIlxmMTEyIgp9CgojcmV2X3NsaWRlcl8yN18xX3dyYXBwZXIgLmhlcm9fYnRuIHsKICAgIGJvcmRlci1jb2xvcjogI2ZmZjsKICAgIGNvbG9yOiAjZmZmCn0KCiNyZXZfc2xpZGVyXzI3XzFfd3JhcHBlciAuaGVyb19idG46aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiAjMDc0YTU1Cn0KCi5yZXZfc2xpZGVyIC5idG4taWNvbiBpLAoucmV2X3NsaWRlciAuYnRuLWljb24gc3BhbiB7CiAgICBmb250LXNpemU6IDIwcHgKfQoKLnRwLWNhcHRpb24gLmZvcm0td3JhcHBlciB7CiAgICBtaW4td2lkdGg6IDIxLjMzMzMzcmVtCn0KCi5lcmlueWVuIC50cC1idWxsZXQgewogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIGJvcmRlcjogMCBub25lOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB3aWR0aDogMTJweDsKICAgIGhlaWdodDogMTJweAp9CgouZXJpbnllbiAudHAtYnVsbGV0LnNlbGVjdGVkLAouZXJpbnllbiAudHAtYnVsbGV0OmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjQpOwogICAgYm9yZGVyOiAwIG5vbmUKfQoKLmVyaW55ZW4udHAtYnVsbGV0czpiZWZvcmUgewogICAgY29udGVudDogIiI7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSk7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDMwMHB4OwogICAgYm9yZGVyLXJhZGl1czogMzAwcHg7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lOwogICAgbGVmdDogMAp9CgouemV1cy50cGFycm93czpiZWZvcmUgewogICAgZm9udC1mYW1pbHk6IExpbmVBd2Vzb21lCn0KCi56ZXVzLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICdcZjExMicKfQoKLnpldXMudHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7CiAgICBjb250ZW50OiAnXGYxMTEnCn0KCi5oYWRlcyAudHAtdGh1bWItaW1nLXdyYXAgewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lCn0KCi5oYWRlcyAudHAtdGh1bWItaW1hZ2UgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogICAgYm94LXNoYWRvdzogbm9uZQp9CgouaGFkZXMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi1pbWctd3JhcCwKLmhhZGVzIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItaW1nLXdyYXAgewogICAgYmFja2dyb3VuZDogIzA2YjU5MAp9CgoudHJ1bWJvd3lnLWJveCAudHJ1bWJvd3lnLWVkaXRvciB7CiAgICBtaW4taGVpZ2h0OiAxMy4zMzMzM3JlbQp9Cgouc2VwYXJhdG9yIHsKICAgIG1hcmdpbi10b3A6IDUuMzMzMzNyZW07CiAgICBoZWlnaHQ6IDFweDsKICAgIGJhY2tncm91bmQ6ICNlNGU4ZWQ7CiAgICBtYXJnaW4tYm90dG9tOiA1LjMzMzMzcmVtCn0KCi5jYXNlX3N0dWRpZXMgewogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5idDEgewogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU4ZWQKfQoKLnNlcnZpY2VzX2FyZWEgLnNlY3Rpb25fdGl0bGUgewogICAgbWFyZ2luLWJvdHRvbTogMAp9Cgouc2VydmljZXNfYXJlYSAuc2VjdGlvbl90aXRsZSBoMSB7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4Cn0KCi5mZWF0dXJlcy1hcmVhIC5zZWN0aW9uLXRpdGxlIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG1hcmdpbi1ib3R0b206IDIuNjY2NjdyZW0KfQoKLmZlYXR1cmVzLWFyZWEgLnNlY3Rpb24tdGl0bGUgaDMgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBtYXJnaW4tYm90dG9tOiAxLjY2NjY3cmVtCn0KCi5mZWF0dXJlcy1hcmVhIC5zZWN0aW9uLXRpdGxlIHAgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBtYXJnaW46IDAKfQoKLnNlcnZpY2UtdHdvIHsKICAgIHBhZGRpbmc6IDcuMzMzMzNyZW0gMCA1LjMzMzMzcmVtOwogICAgYmFja2dyb3VuZDogdXJsKGltZy9zaGFwZS13YXZlMi5wbmcpIGNlbnRlci8xMDAlIDEwMCUgbm8tcmVwZWF0Cn0KCi5wLWJveCB7CiAgICBwYWRkaW5nOiAycmVtIDIuNjY2NjdyZW0gMi4zMzMzM3JlbTsKICAgIGJhY2tncm91bmQ6ICMzNzdkZmY7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IC40cmVtOwogICAgYm9yZGVyLXJhZGl1czogLjRyZW0KfQoKLnAtYm94IHAgewogICAgbWFyZ2luOiAwOwogICAgZm9udC1zaXplOiAxLjEzMzMzcmVtOwogICAgbGluZS1oZWlnaHQ6IDIuMjY2NjdyZW0KfQoKLnAtYm94IGg0IHsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBsaW5lLWhlaWdodDogMi42NjY2N3JlbTsKICAgIG1hcmdpbjogMDsKICAgIGNvbG9yOiAjZmZmCn0KCi5hYm91dC1saW5rcywKLmV2ZW50LXR5cGVzIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4xKTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMSk7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB6LWluZGV4OiAxCn0KCi5hYm91dC1saW5rcyB1bCBsaSwKLmV2ZW50LXR5cGVzIHVsIGxpIHsKICAgIG1hcmdpbjogMCAxNXB4Cn0KCi5hYm91dC1saW5rcyB1bCBsaSBhLAouZXZlbnQtdHlwZXMgdWwgbGkgYSB7CiAgICBmb250LXNpemU6IDEuMDY2NjdyZW07CiAgICBjb2xvcjogIzVhNjY3MTsKICAgIHBhZGRpbmc6IDJyZW0gMDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlCn0KCi5hYm91dC1saW5rcyB1bCBsaSBhLmFjdGl2ZSwKLmV2ZW50LXR5cGVzIHVsIGxpIGEuYWN0aXZlIHsKICAgIGNvbG9yOiAjMDc0YTU1OwogICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwNzRhNTUKfQoKLmFib3V0LWxpbmtzIHVsIGxpIGE6aG92ZXIsCi5ldmVudC10eXBlcyB1bCBsaSBhOmhvdmVyIHsKICAgIGNvbG9yOiAjMDc0YTU1Cn0KCi5ldmVudC10eXBlcyB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KCi5ldmVudC10eXBlcyB1bCBsaSBhIHsKICAgIHBhZGRpbmctbGVmdDogNTBweDsKICAgIHBhZGRpbmctcmlnaHQ6IDUwcHgKfQoKLnNlYXJjaC13cmFwcGVyIGZvcm0gewogICAgcGFkZGluZzogMi42NjY2N3JlbTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4xKTsKICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgxMDUsIDEwNiwgMTE5LCAuMSk7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuNHJlbTsKICAgIGJvcmRlci1yYWRpdXM6IC40cmVtCn0KCi5zZWFyY2gtd3JhcHBlciBmb3JtIGg0IHsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBjb2xvcjogIzA3NGE1NTsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0KfQoKLnNlYXJjaC13cmFwcGVyIC5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wgewogICAgd2lkdGg6IGF1dG87CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWNmMWY3ICFpbXBvcnRhbnQ7CiAgICBoZWlnaHQ6IDMuNjY2NjdyZW07CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgbWFyZ2luLXJpZ2h0OiAtMXB4Cn0KCi5zZWFyY2gtd3JhcHBlciAuZm9ybS1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkIHsKICAgIC13ZWJraXQtYm94LWZsZXg6IDM7CiAgICAtd2Via2l0LWZsZXg6IDM7CiAgICAtbXMtZmxleDogMzsKICAgIGZsZXg6IDMKfQoKLnNlYXJjaC13cmFwcGVyIC5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2w6bnRoLWNoaWxkKDIpIHsKICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAtbXMtZmxleDogMTsKICAgIGZsZXg6IDEKfQoKLnNlYXJjaC13cmFwcGVyIC5mb3JtLWdyb3VwIC5zZWxlY3QtYmFzaWMgewogICAgLXdlYmtpdC1ib3gtZmxleDogMjsKICAgIC13ZWJraXQtZmxleDogMjsKICAgIC1tcy1mbGV4OiAyOwogICAgZmxleDogMgp9Cgouc2VhcmNoLXdyYXBwZXIgLmZvcm0tZ3JvdXAgLnNlbGVjdC1iYXNpYyAuZm9ybS1jb250cm9sIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAzLjY2NjY3cmVtCn0KCi5jYXJlZXItc2VhcmNoIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgouY2FyZWVyLXNlYXJjaCAuc2VhcmNoLXdyYXBwZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDEwMCU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgei1pbmRleDogMQp9Cgouam9iLWNhdGVnb3JpZXMgLmNhcmQgewogICAgbWFyZ2luLWJvdHRvbTogMnJlbQp9CgouaW5mb3JtYXRpb24tYm94IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZQp9CgouaW5mb3JtYXRpb24td3JhcHBlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IC04MHB4OwogICAgei1pbmRleDogMQp9CgouaW5mb3JtYXRpb24td3JhcHBlciAuY2FyZC1oZWFkZXIgewogICAgcGFkZGluZzogMS44cmVtIDIuMTMzMzNyZW0gMS42NjY2N3JlbQp9CgouaW5mb3JtYXRpb24td3JhcHBlciB1bCBsaSB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtCn0KCi5pbmZvcm1hdGlvbi13cmFwcGVyIHVsIGxpOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouaW5mb3JtYXRpb24td3JhcHBlciB1bCBsaSBzcGFuIHsKICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAtbXMtZmxleDogMTsKICAgIGZsZXg6IDEKfQoKLmluZm9ybWF0aW9uLXdyYXBwZXIgdWwgbGkgc3BhbiBpIHsKICAgIGNvbG9yOiAjMDc0YTU1OwogICAgcGFkZGluZy1yaWdodDogLjUzMzMzcmVtOwogICAgZm9udC1zaXplOiAxLjA2NjY3cmVtCn0KCi5pbmZvcm1hdGlvbi13cmFwcGVyIHVsIGxpIHNwYW46Zmlyc3QtY2hpbGQgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBmb250LXdlaWdodDogNTAwCn0KCi5hcHBseS1mb3JtIC5hcHBseS1mb3JtLS1oZWFkZXIgewogICAgbWFyZ2luLWJvdHRvbTogMy4zMzMzM3JlbTsKICAgIHRleHQtYWxpZ246IGNlbnRlcgp9CgouYXBwbHktZm9ybSAuYXBwbHktZm9ybS0taGVhZGVyIGgzIHsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0KfQoKLmFwcGx5LWZvcm0gLmFwcGx5LWZvcm0tLWhlYWRlciBwIHsKICAgIGZvbnQtc2l6ZTogMS4ycmVtCn0KCi5hcHBseS1mb3JtIC5mb3JtLWdyb3VwIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgbWFyZ2luLWJvdHRvbTogMS4zMzMzM3JlbQp9CgouYXBwbHktZm9ybSAuZm9ybS1ncm91cCBsYWJlbCB7CiAgICBtaW4td2lkdGg6IDEzLjMzMzMzcmVtOwogICAgY29sb3I6ICMyMDI0MjgKfQoKLmFwcGx5LWZvcm0gLmZvcm0tZ3JvdXAgbGFiZWwgLnN1cCB7CiAgICBjb2xvcjogIzA3NGE1NQp9CgouYXBwbHktZm9ybSAuZm9ybS1ncm91cCBsYWJlbCAub3B0aW9uYWwgewogICAgY29sb3I6ICM4Yzk2YTAKfQoKLmFwcGx5LWZvcm0gLmZvcm0tZ3JvdXAgLnNlbGVjdC1iYXNpYyB7CiAgICB3aWR0aDogMTAwJQp9CgouYXBwbHktZm9ybSBmb3JtIGg0IC5vcHRpb25hbCB7CiAgICBjb2xvcjogIzkxOTJhMzsKICAgIGZvbnQtd2VpZ2h0OiA0MDAKfQoKLnRlYW0tcHJvZmlsZSAudGVhbS1kZXRhaWxzIGg0IHsKICAgIG1hcmdpbi1ib3R0b206IC42NjY2N3JlbQp9CgoudGVhbS1wcm9maWxlIC50ZWFtLWRldGFpbHMgc3BhbiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGxpbmUtaGVpZ2h0OiAxLjcKfQoKLnRlYW0tcHJvZmlsZSAudGVhbS1kZXRhaWxzIHNwYW4gc3Ryb25nIHsKICAgIGZvbnQtd2VpZ2h0OiA1MDAKfQoKLnNlcnZpY2UtdGFiLXdyYXBwZXIgLmRvd25sb2FkLXdpZGdldCB7CiAgICBvdmVyZmxvdzogaGlkZGVuCn0KCi5zZXJ2aWNlLXRhYi13cmFwcGVyIC5kb3dubG9hZC13aWRnZXQgLmhlYWRlciB7CiAgICBwYWRkaW5nOiAxcmVtOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4OwogICAgYm9yZGVyLWNvbG9yOiAjZTRlOGVkOwogICAgYm9yZGVyLXN0eWxlOiBzb2xpZAp9Cgouc2VydmljZS10YWItd3JhcHBlciAuZG93bmxvYWQtd2lkZ2V0IC5oZWFkZXIgaDYgewogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIG1hcmdpbjogMAp9Cgouc2VydmljZS10YWItd3JhcHBlciAuZG93bmxvYWQtd2lkZ2V0IC5jb250ZW50IHsKICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAxLjEzMzMzcmVtOwogICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZThlZDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMCAwIC40cmVtIC40cmVtOwogICAgYm9yZGVyLXJhZGl1czogMCAwIC40cmVtIC40cmVtCn0KCi5zZXJ2aWNlLXRhYi13cmFwcGVyIC5kb3dubG9hZC13aWRnZXQgLmNvbnRlbnQgcCB7CiAgICBtYXJnaW46IDEuNjY2NjdyZW0gMCAwIDA7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIKfQoKLnNlcnZpY2UtdGFiLXdyYXBwZXIgLmRvd25sb2FkLXdpZGdldCAuY29udGVudCBwIHNwYW4gewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBjb2xvcjogIzkxOTJhMwp9Cgouc2VydmljZS10YWItd3JhcHBlciAuY3RhLXdpZGdldCB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGVkCn0KCi5zZXJ2aWNlLXRhYi13cmFwcGVyIC5jdGEtd2lkZ2V0IGg2IHsKICAgIHBhZGRpbmc6IDFyZW07CiAgICBmb250LXdlaWdodDogNTAwOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU4ZWQ7CiAgICBtYXJnaW46IDAKfQoKLnNlcnZpY2UtdGFiLXdyYXBwZXIgLmN0YS13aWRnZXQgLmNvbnRlbnQgewogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogMS4zMzMzM3JlbSAycmVtIDJyZW0KfQoKLnNlcnZpY2UtdGFiLXdyYXBwZXIgLmN0YS13aWRnZXQgLmNvbnRlbnQgcCB7CiAgICBtYXJnaW46IDAKfQoKLnNlcnZpY2UtdGFiLXdyYXBwZXIgLmN0YS13aWRnZXQgLmNvbnRlbnQgcD5zcGFuIHsKICAgIGRpc3BsYXk6IGJsb2NrCn0KCi5zZXJ2aWNlLXRhYi13cmFwcGVyIC5jdGEtd2lkZ2V0IC5jb250ZW50IHAuY2FsbC11cyBzcGFuOmxhc3QtY2hpbGQgewogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5zZXJ2aWNlLXRhYi13cmFwcGVyIC5jdGEtd2lkZ2V0IC5jb250ZW50IHAuY2FsbC11cyBzcGFuOmxhc3QtY2hpbGQgaSB7CiAgICBjb2xvcjogIzA3NGE1NQp9CgouZXZlbnQtZGV0YWlscy1pbnRybyAuc3VidGV4dCB7CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtCn0KCi5ldmVudC1kZXRhaWxzLWludHJvIGgxIHsKICAgIGxpbmUtaGVpZ2h0OiA0cmVtCn0KCi5ldmVudC1kZXRhaWxzLWludHJvIC5jb3VudGRvd24gewogICAgbWFyZ2luLXRvcDogMy4zMzMzM3JlbQp9CgouZXZlbnQtb3ZlcnZpZXcgaDQgewogICAgbWFyZ2luLWJvdHRvbTogMTNweAp9CgouY291bnRkb3duIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAtbXMtZmxleC13cmFwOiB3cmFwOwogICAgZmxleC13cmFwOiB3cmFwCn0KCi5jb3VudGRvd24gbGkgewogICAgd2lkdGg6IDhyZW07CiAgICBoZWlnaHQ6IDhyZW07CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBtYXJnaW4tcmlnaHQ6IDEuMzMzMzNyZW07CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4KfQoKLmNvdW50ZG93biBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1yaWdodDogMAp9CgouY291bnRkb3duIGxpIHNwYW46Zmlyc3QtY2hpbGQgewogICAgZm9udC1zaXplOiAyLjY2NjY3cmVtOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiAjZmZmOwogICAgbGluZS1oZWlnaHQ6IDMuMzMzMzNyZW0KfQoKLmNvdW50ZG93biBsaSBzcGFuOmxhc3QtY2hpbGQgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpCn0KCi5lcnJvci13cmFwcGVyIHsKICAgIHBhZGRpbmc6IDcuMzMzMzNyZW0gMAp9CgouZXJyb3Itd3JhcHBlciAuZXJyb3ItY29udGVudHMgZmlndXJlIHsKICAgIG1hcmdpbi1ib3R0b206IDIuMjY2NjdyZW0KfQoKLmVycm9yLXdyYXBwZXIgLmVycm9yLWNvbnRlbnRzIGZpZ3VyZSBpbWcgewogICAgd2lkdGg6IDI2LjY2NjY3cmVtCn0KCi5lcnJvci13cmFwcGVyIC5lcnJvci1jb250ZW50cyBoMyB7CiAgICBjb2xvcjogIzIwMjQyOAp9CgouZXJyb3Itd3JhcHBlciAuZXJyb3ItY29udGVudHMgcCB7CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIHdpZHRoOiAzMy4zMzMzM3JlbQp9CgoubG9naW4tcmVnaXN0ZXIgewogICAgaGVpZ2h0OiAxMDAlOwogICAgcG9zaXRpb246IHJlbGF0aXZlCn0KCi5sb2dpbi1yZWdpc3RlciAubG9naW4tZm9ybSAuZm9ybS13cmFwcGVyLAoubG9naW4tcmVnaXN0ZXIgLnNpZ251cC1mb3JtIC5mb3JtLXdyYXBwZXIgewogICAgcGFkZGluZzogMCAycmVtCn0KCi5sb2dpbi1yZWdpc3RlciAubG9naW4tZm9ybSAuZm9ybS13cmFwcGVyIC5jYXJkIC5jYXJkLWhlYWRlciBoNCwKLmxvZ2luLXJlZ2lzdGVyIC5zaWdudXAtZm9ybSAuZm9ybS13cmFwcGVyIC5jYXJkIC5jYXJkLWhlYWRlciBoNCB7CiAgICBtYXJnaW46IDEuMzMzMzNyZW0gMAp9CgoubG9naW4tcmVnaXN0ZXIgLmxvZ2luLWZvcm0gLmZvcm0td3JhcHBlciAuY2FyZCAuY2FyZC1ib2R5LAoubG9naW4tcmVnaXN0ZXIgLnNpZ251cC1mb3JtIC5mb3JtLXdyYXBwZXIgLmNhcmQgLmNhcmQtYm9keSB7CiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbQp9CgoubG9naW4tcmVnaXN0ZXIgLmxvZ2luLWZvcm0gLmZvcm0td3JhcHBlciAuY2FyZCAuY2FyZC1ib2R5IC5mb3JtLWdyb3VwLAoubG9naW4tcmVnaXN0ZXIgLnNpZ251cC1mb3JtIC5mb3JtLXdyYXBwZXIgLmNhcmQgLmNhcmQtYm9keSAuZm9ybS1ncm91cCB7CiAgICBtYXJnaW4tYm90dG9tOiAxLjY2NjY3cmVtCn0KCi5sb2dpbi1yZWdpc3RlciAubG9naW4tZm9ybSAuZm9ybS13cmFwcGVyIC5jYXJkIC5jYXJkLWJvZHkgLmN1c3RvbS1jb250cm9sLAoubG9naW4tcmVnaXN0ZXIgLnNpZ251cC1mb3JtIC5mb3JtLXdyYXBwZXIgLmNhcmQgLmNhcmQtYm9keSAuY3VzdG9tLWNvbnRyb2wgewogICAgcGFkZGluZy1sZWZ0OiAwCn0KCi5sb2dpbi1yZWdpc3RlciAubG9naW4tZm9ybSAuZm9ybS13cmFwcGVyIC5vdGhlci1sb2dpbnMgYSwKLmxvZ2luLXJlZ2lzdGVyIC5zaWdudXAtZm9ybSAuZm9ybS13cmFwcGVyIC5vdGhlci1sb2dpbnMgYSB7CiAgICBsaW5lLWhlaWdodDogMi42NjY2N3JlbTsKICAgIHBhZGRpbmc6IDAgMS4zMzMzM3JlbTsKICAgIGZvbnQtc2l6ZTogLjkzMzMzcmVtOwogICAgbWFyZ2luLXJpZ2h0OiAxLjMzMzMzcmVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMnJlbTsKICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtCn0KCi5sb2dpbi1yZWdpc3RlciAubG9naW4tZm9ybSAuZm9ybS13cmFwcGVyIC5vdGhlci1sb2dpbnMgYTpmaXJzdC1jaGlsZCwKLmxvZ2luLXJlZ2lzdGVyIC5zaWdudXAtZm9ybSAuZm9ybS13cmFwcGVyIC5vdGhlci1sb2dpbnMgYTpmaXJzdC1jaGlsZCB7CiAgICBjb2xvcjogIzA2YjU5MDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMwNmI1OTAKfQoKLmxvZ2luLXJlZ2lzdGVyIC5sb2dpbi1mb3JtIC5mb3JtLXdyYXBwZXIgLm90aGVyLWxvZ2lucyBhOmxhc3QtY2hpbGQsCi5sb2dpbi1yZWdpc3RlciAuc2lnbnVwLWZvcm0gLmZvcm0td3JhcHBlciAub3RoZXItbG9naW5zIGE6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICBjb2xvcjogIzA3NGE1NTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMwNzRhNTUKfQoKLmxvZ2luLXJlZ2lzdGVyIC5sb2dpbi1mb3JtIHsKICAgIHBhZGRpbmctdG9wOiAxMS42NjY2N3JlbTsKICAgIHBhZGRpbmctYm90dG9tOiAxMS42NjY2N3JlbQp9CgoubG9naW4tcmVnaXN0ZXIgLnNpZ251cC1mb3JtIHsKICAgIHBhZGRpbmctdG9wOiA1LjY2NjY3cmVtOwogICAgcGFkZGluZy1ib3R0b206IDcuMzMzMzNyZW0KfQoKLmNvbWluZy1zb29uIHsKICAgIG1pbi1oZWlnaHQ6IDY1LjMzMzMzcmVtCn0KCi5jb21pbmctc29vbiAuY3MtY29udGVudHMgewogICAgcGFkZGluZzogMTByZW0gMAp9CgouY29taW5nLXNvb24gLmNzLWNvbnRlbnRzIC5jcy10ZXh0IHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1zaXplOiAzLjMzMzMzcmVtOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiAjZmZmOwogICAgbWFyZ2luOiAzLjMzMzMzcmVtIDAgMi4yNjY2N3JlbQp9CgouY29taW5nLXNvb24gLmNzLWNvbnRlbnRzIHAgewogICAgd2lkdGg6IDMzLjMzMzMzcmVtOwogICAgbWFyZ2luOiAwIGF1dG8gM3JlbSBhdXRvOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpOwogICAgZm9udC1zaXplOiAxLjJyZW0KfQoKLnByb2plY3QtbGlzdCB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtCn0KCi5wcm9qZWN0LWxpc3QgLmNhcmQgewogICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3cKfQoKLnByb2plY3QtbGlzdCAuY2FyZCBmaWd1cmUgewogICAgLXdlYmtpdC1ib3gtZmxleDogMjsKICAgIC13ZWJraXQtZmxleDogMjsKICAgIC1tcy1mbGV4OiAyOwogICAgZmxleDogMgp9CgoucHJvamVjdC1saXN0IC5jYXJkIC5jYXJkLWJvZHkgewogICAgLXdlYmtpdC1ib3gtZmxleDogMjsKICAgIC13ZWJraXQtZmxleDogMjsKICAgIC1tcy1mbGV4OiAyOwogICAgZmxleDogMjsKICAgIHBhZGRpbmc6IDIuOTMzMzNyZW0gMy4zMzMzM3JlbQp9CgoucHJvamVjdC1saXN0IC5jYXJkIC5jYXJkLWJvZHkgaDUgewogICAgbWFyZ2luLWJvdHRvbTogMS42NjY2N3JlbQp9CgoucHJvamVjdC1saXN0IC5jYXJkIC5jYXJkLWJvZHkgaDUgYSB7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgoucHJvamVjdC1saXN0IC5jYXJkIC5jYXJkLWJvZHkgaDUgYTpob3ZlciB7CiAgICBjb2xvcjogIzA3NGE1NQp9CgoucHJvamVjdC1tYXNvbnJ5IC5maWx0ci1jb250YWluZXItbWFzb25yeSAuZmlsdHItaXRlbSB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtCn0KCi5wcm9qZWN0LXNpbmdsZSAucHJvamVjdC1pbmZvIC5pbmZvLWJveCB7CiAgICBwYWRkaW5nOiAyLjMzMzMzcmVtOwogICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZThlZDsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSk7CiAgICBib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMTA1LCAxMDYsIDExOSwgLjA1KQp9CgoucHJvamVjdC1zaW5nbGUgLnByb2plY3QtaW5mbyAuaW5mby1ib3ggaDYgewogICAgbWFyZ2luLWJvdHRvbTogMjVweAp9CgoucHJvamVjdC1zaW5nbGUgLnByb2plY3QtaW5mbyAuaW5mby1ib3ggdWwgbGkgewogICAgbWFyZ2luLWJvdHRvbTogMXJlbTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4Cn0KCi5wcm9qZWN0LXNpbmdsZSAucHJvamVjdC1pbmZvIC5pbmZvLWJveCB1bCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLnByb2plY3Qtc2luZ2xlIC5wcm9qZWN0LWluZm8gLmluZm8tYm94IHVsIGxpIHNwYW4gewogICAgLXdlYmtpdC1ib3gtZmxleDogMTsKICAgIC13ZWJraXQtZmxleDogMTsKICAgIC1tcy1mbGV4OiAxOwogICAgZmxleDogMQp9CgoucHJvamVjdC1zaW5nbGUgLnByb2plY3QtaW5mbyAuaW5mby1ib3ggdWwgbGkgc3BhbjpsYXN0LWNoaWxkIHsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogIzIwMjQyOAp9CgoucHJvamVjdC1kZXNjIGg0IHsKICAgIG1hcmdpbi1ib3R0b206IDIwcHgKfQoKLnByb2plY3QtZ2FsbGVyeSBmaWd1cmUgewogICAgbWFyZ2luLWJvdHRvbTogMnJlbQp9CgoucHJvamVjdC1nYWxsZXJ5IGZpZ3VyZSBpbWcgewogICAgd2lkdGg6IDEwMCUKfQoKLnByb2R1Y3RzLXdyYXBwZXIgLnByb2R1Y3Qtc29ydCB7CiAgICBtYXJnaW4tYm90dG9tOiAyLjMzMzMzcmVtCn0KCi5wcm9kdWN0cy13cmFwcGVyIC5wcm9kdWN0LXNvcnQgLnNvcnQsCi5wcm9kdWN0cy13cmFwcGVyIC5wcm9kdWN0LXNvcnQgLnRvdGFsLXBhZ2VzIHsKICAgIC13ZWJraXQtZmxleC1iYXNpczogMDsKICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwOwogICAgZmxleC1iYXNpczogMDsKICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAtd2Via2l0LWZsZXgtZ3JvdzogMTsKICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxOwogICAgZmxleC1ncm93OiAxCn0KCi5wcm9kdWN0cy13cmFwcGVyIC5wcm9kdWN0LXNvcnQgLnNvcnQgc3BhbiB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAxOwogICAgLXdlYmtpdC1mbGV4OiAxOwogICAgLW1zLWZsZXg6IDE7CiAgICBmbGV4OiAxCn0KCi5wcm9kdWN0cy13cmFwcGVyIC5wcm9kdWN0LXNvcnQgLnNvcnQgLmZvcm0tZ3JvdXAgewogICAgLXdlYmtpdC1ib3gtZmxleDogNDsKICAgIC13ZWJraXQtZmxleDogNDsKICAgIC1tcy1mbGV4OiA0OwogICAgZmxleDogNAp9CgoucHJvZHVjdHMtd3JhcHBlciAucHJvZHVjdC1zb3J0IC50b3RhbC1wYWdlcyBwIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1pbmZvIGg0IHsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0KfQoKLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1pbmZvIC5wcm9kdWN0LXByaWNlIHsKICAgIGZvbnQtc2l6ZTogMS42cmVtOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiAjMDc0YTU1OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW4tYm90dG9tOiAuMzMzMzNyZW0KfQoKLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1pbmZvIC5wcm9kdWN0LXJhdGluZ3MgewogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgbWFyZ2luLWJvdHRvbTogMXJlbQp9CgoucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LWluZm8gLnByb2R1Y3QtcmF0aW5ncyBwIHsKICAgIG1hcmdpbjogMAp9CgoucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LWluZm8gLnByb2R1Y3QtcmF0aW5ncyBwIHNwYW4gewogICAgY29sb3I6ICNmZmFmMDAKfQoKLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1pbmZvIC5wcm9kdWN0LXJhdGluZ3MgLnRvdGFsLXJldmlld3MgewogICAgbWFyZ2luLWxlZnQ6IDFyZW0KfQoKLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1pbmZvIC5wcm9kdWN0LWFjdGlvbnMgewogICAgbWFyZ2luOiAxLjMzMzMzcmVtIDA7CiAgICBwYWRkaW5nOiAycmVtIDA7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZThlZDsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTRlOGVkCn0KCi5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtaW5mbyAucHJvZHVjdC1hY3Rpb25zIGZvcm0gewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIKfQoKLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1pbmZvIC5wcm9kdWN0LWFjdGlvbnMgZm9ybSAudG90YWwtaXRlbSB7CiAgICBtYXJnaW4tcmlnaHQ6IDJyZW0KfQoKLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1pbmZvIC5wcm9kdWN0LWFjdGlvbnMgZm9ybSAudG90YWwtaXRlbSAucGNvdW50IHsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGN1cnNvcjogcG9pbnRlcgp9CgoucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LWluZm8gLnByb2R1Y3QtYWN0aW9ucyBmb3JtIC50b3RhbC1pdGVtIGlucHV0IHsKICAgIHdpZHRoOiAzcmVtOwogICAgaGVpZ2h0OiAzcmVtOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgYm9yZGVyOiAxcHggc29saWQgIzkxOTJhMwp9CgoucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LWluZm8gLnByb2R1Y3QtYWN0aW9ucyBmb3JtIHVsIGxpIHsKICAgIG1hcmdpbi1yaWdodDogMS4zMzMzM3JlbQp9CgoucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LWluZm8gLnByb2R1Y3QtYWN0aW9ucyBmb3JtIHVsIGxpOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLXJpZ2h0OiAwCn0KCi5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtaW5mbyAucHJvZHVjdC1jYXRlZ29yeSB7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIKfQoKLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1pbmZvIC5wcm9kdWN0LWNhdGVnb3J5IHNwYW4gewogICAgbWFyZ2luLXJpZ2h0OiAxLjMzMzMzcmVtCn0KCi5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtaW5mbyAucHJvZHVjdC1jYXRlZ29yeSBwIHsKICAgIG1hcmdpbjogMAp9CgoucHJvZHVjdC1pbmZvLXRhYiAucmV2aWV3LXdyYXBwZXIgLnJldmlld3MgewogICAgbWFyZ2luLWJvdHRvbTogMS42NjY2N3JlbTsKICAgIG1hcmdpbi10b3A6IDMuMzMzMzNyZW07CiAgICBwYWRkaW5nOiAwIDIuNjY2NjdyZW0KfQoKLnByb2R1Y3QtaW5mby10YWIgLnJldmlldy13cmFwcGVyIC5yZXZpZXdzIC5yZXZpZXctc2luZ2xlIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgcGFkZGluZy1ib3R0b206IDIuMzMzMzNyZW07CiAgICBtYXJnaW4tYm90dG9tOiAyLjMzMzMzcmVtOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU4ZWQKfQoKLnByb2R1Y3QtaW5mby10YWIgLnJldmlldy13cmFwcGVyIC5yZXZpZXdzIC5yZXZpZXctc2luZ2xlIC5yZXZpZXctZGV0YWlscyB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAxOwogICAgLXdlYmtpdC1mbGV4OiAxOwogICAgLW1zLWZsZXg6IDE7CiAgICBmbGV4OiAxCn0KCi5wcm9kdWN0LWluZm8tdGFiIC5yZXZpZXctd3JhcHBlciAucmV2aWV3cyAucmV2aWV3LXNpbmdsZSAucmV2aWV3LWRldGFpbHMgdWwgbGkgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBtYXJnaW4tYm90dG9tOiAuODY2NjdyZW0KfQoKLnByb2R1Y3QtaW5mby10YWIgLnJldmlldy13cmFwcGVyIC5yZXZpZXdzIC5yZXZpZXctc2luZ2xlIC5yZXZpZXctZGV0YWlscyB1bCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLnByb2R1Y3QtaW5mby10YWIgLnJldmlldy13cmFwcGVyIC5yZXZpZXdzIC5yZXZpZXctc2luZ2xlIC5yZXZpZXctZGV0YWlscyB1bCBsaSBzcGFuIHsKICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAtbXMtZmxleDogMTsKICAgIGZsZXg6IDEKfQoKLnByb2R1Y3QtaW5mby10YWIgLnJldmlldy13cmFwcGVyIC5yZXZpZXdzIC5yZXZpZXctc2luZ2xlIC5yZXZpZXctZGV0YWlscyB1bCBsaSAuc3Ryb25nIHsKICAgIC13ZWJraXQtYm94LWZsZXg6IDM7CiAgICAtd2Via2l0LWZsZXg6IDM7CiAgICAtbXMtZmxleDogMzsKICAgIGZsZXg6IDM7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIGZvbnQtd2VpZ2h0OiA1MDAKfQoKLnByb2R1Y3QtaW5mby10YWIgLnJldmlldy13cmFwcGVyIC5yZXZpZXdzIC5yZXZpZXctc2luZ2xlIC5yZXZpZXctZGV0YWlscyB1bCBsaSAuc3Ryb25nIHNwYW4gewogICAgY29sb3I6ICNmZmFmMDA7CiAgICBmb250LXNpemU6IDEycHgKfQoKLnByb2R1Y3QtaW5mby10YWIgLnJldmlldy13cmFwcGVyIC5yZXZpZXdzIC5yZXZpZXctc2luZ2xlIC5yZXZpZXctdGV4dCB7CiAgICAtd2Via2l0LWJveC1mbGV4OiAxOwogICAgLXdlYmtpdC1mbGV4OiAxOwogICAgLW1zLWZsZXg6IDE7CiAgICBmbGV4OiAxCn0KCi5wcm9kdWN0LWluZm8tdGFiIC5yZXZpZXctd3JhcHBlciAucmV2aWV3LWZvcm0gewogICAgcGFkZGluZzogNHJlbQp9CgoucHJvZHVjdC1pbmZvLXRhYiAucmV2aWV3LXdyYXBwZXIgLnJldmlldy1mb3JtIGg0IHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgbWFyZ2luLWJvdHRvbTogLjY2NjY3cmVtCn0KCi5wcm9kdWN0LWluZm8tdGFiIC5yZXZpZXctd3JhcHBlciAucmV2aWV3LWZvcm0gcCB7CiAgICBtYXJnaW46IDAKfQoKLnByb2R1Y3QtaW5mby10YWIgLnJldmlldy13cmFwcGVyIC5yZXZpZXctZm9ybSBwIGEgewogICAgY29sb3I6ICM1YTY2NzE7CiAgICBmb250LXNpemU6IDEuMnJlbQp9CgoucHJvZHVjdC1pbmZvLXRhYiAucmV2aWV3LXdyYXBwZXIgLnJldmlldy1mb3JtIGZvcm0gewogICAgbWFyZ2luLXRvcDogM3JlbQp9CgoucHJvZHVjdC1pbmZvLXRhYiAucmV2aWV3LXdyYXBwZXIgLnJldmlldy1mb3JtIGZvcm0gaW5wdXQsCi5wcm9kdWN0LWluZm8tdGFiIC5yZXZpZXctd3JhcHBlciAucmV2aWV3LWZvcm0gZm9ybSB0ZXh0YXJlYSB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtCn0KCi5wcm9kdWN0LWluZm8tdGFiIC5yZXZpZXctd3JhcHBlciAucmV2aWV3LWZvcm0gZm9ybSAucmF0aW5nIHNwYW4gewogICAgcGFkZGluZy1ib3R0b206IC42cmVtOwogICAgbWFyZ2luLXJpZ2h0OiAxcmVtOwogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBmb250LXdlaWdodDogNTAwCn0KCi5ici10aGVtZS1mb250YXdlc29tZS1zdGFycyAuYnItd2lkZ2V0IHsKICAgIGhlaWdodDogMjhweDsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXAKfQoKLmJyLXRoZW1lLWZvbnRhd2Vzb21lLXN0YXJzIC5ici13aWRnZXQgYSB7CiAgICBmb250LWZhbWlseTogTGluZUF3ZXNvbWUsIHNhbnMtc2VyaWY7CiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bzsKICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgbWFyZ2luLXJpZ2h0OiAycHgKfQoKLmJyLXRoZW1lLWZvbnRhd2Vzb21lLXN0YXJzIC5ici13aWRnZXQgYTphZnRlciB7CiAgICBjb250ZW50OiAiXGYzMTgiOwogICAgY29sb3I6ICNkMmQyZDIKfQoKLmJyLXRoZW1lLWZvbnRhd2Vzb21lLXN0YXJzIC5ici13aWRnZXQgYS5ici1hY3RpdmU6YWZ0ZXIgewogICAgY29sb3I6ICNmMmIwMWUKfQoKLmJyLXRoZW1lLWZvbnRhd2Vzb21lLXN0YXJzIC5ici13aWRnZXQgYS5ici1zZWxlY3RlZDphZnRlciB7CiAgICBjb2xvcjogI2YyYjAxZQp9CgouYnItdGhlbWUtZm9udGF3ZXNvbWUtc3RhcnMgLmJyLXdpZGdldCAuYnItY3VycmVudC1yYXRpbmcgewogICAgZGlzcGxheTogbm9uZQp9CgouYnItdGhlbWUtZm9udGF3ZXNvbWUtc3RhcnMgLmJyLXJlYWRvbmx5IGEgewogICAgY3Vyc29yOiBkZWZhdWx0Cn0KCkBtZWRpYSBwcmludCB7CiAgICAuYnItdGhlbWUtZm9udGF3ZXNvbWUtc3RhcnMgLmJyLXdpZGdldCBhOmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnXGYzMTgnOwogICAgICAgIGNvbG9yOiAjMDAwCiAgICB9CiAgICAuYnItdGhlbWUtZm9udGF3ZXNvbWUtc3RhcnMgLmJyLXdpZGdldCBhLmJyLWFjdGl2ZTphZnRlciwKICAgIC5ici10aGVtZS1mb250YXdlc29tZS1zdGFycyAuYnItd2lkZ2V0IGEuYnItc2VsZWN0ZWQ6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICdcZjMxOCc7CiAgICAgICAgY29sb3I6ICMwMDAKICAgIH0KfQoKLmNhcnQtdGFibGUgdGhlYWQgdGggewogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU4ZWQ7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgcGFkZGluZzogMXJlbSAwCn0KCi5jYXJ0LXRhYmxlIHRoZWFkIHRoK3RoIHsKICAgIHBhZGRpbmctbGVmdDogNC42NjY2N3JlbQp9CgouY2FydC10YWJsZSB0aGVhZCB0aCBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMS4wNjY2N3JlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogIzIwMjQyOAp9CgouY2FydC10YWJsZSB0aGVhZCB0aCBzcGFuOmxhc3QtY2hpbGQgewogICAgdGV4dC1hbGlnbjogcmlnaHQKfQoKLmNhcnQtdGFibGUgLmNhcnQtc2luZ2xlIHRkLAouY2FydC10YWJsZSAuY2FydC1zaW5nbGUgdGggewogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIHBhZGRpbmc6IDEuMzMzMzNyZW0gMAp9CgouY2FydC10YWJsZSAuY2FydC1zaW5nbGUgdGQrdGQgewogICAgcGFkZGluZy1sZWZ0OiA0LjY2NjY3cmVtCn0KCi5jYXJ0LXRhYmxlIC5jYXJ0LXNpbmdsZSAubmFtZSB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOwogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcAp9CgouY2FydC10YWJsZSAuY2FydC1zaW5nbGUgLm5hbWUgYSB7CiAgICBmb250LXNpemU6IDEuMnJlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBsaW5lLWhlaWdodDogMS43MzMzM3JlbTsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgbWFyZ2luLWxlZnQ6IDJyZW07CiAgICAtd2Via2l0LWJveC1mbGV4OiAyOwogICAgLXdlYmtpdC1mbGV4OiAyOwogICAgLW1zLWZsZXg6IDI7CiAgICBmbGV4OiAyCn0KCi5jYXJ0LXRhYmxlIC5jYXJ0LXNpbmdsZSAudG90YWwtaXRlbSBpbnB1dCB7CiAgICB3aWR0aDogM3JlbTsKICAgIGhlaWdodDogM3JlbTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICM5MTkyYTM7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIKfQoKLmNhcnQtdGFibGUgLmNhcnQtc2luZ2xlIC50b3RhbC1pdGVtIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwKLmNhcnQtdGFibGUgLmNhcnQtc2luZ2xlIC50b3RhbC1pdGVtIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7CiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICBtYXJnaW46IDAKfQoKLmNhcnQtdGFibGUgLmNhcnQtc2luZ2xlIC5yZW1vdmUgYSB7CiAgICBmb250LXNpemU6IDEuMzMzMzNyZW0KfQoKLmNhcnQtdGFibGUgLmNhcnQtYm90dG9tIHsKICAgIHBhZGRpbmctYm90dG9tOiAycmVtCn0KCi5jYXJ0LXRhYmxlIC5jYXJ0LWJvdHRvbSB0ZCB7CiAgICBwYWRkaW5nOiAycmVtIDA7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZThlZDsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUKfQoKLmNhcnQtdGFibGUgLmNhcnQtYm90dG9tIGZvcm0gewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBtYXgtd2lkdGg6IDI0LjY2NjY3cmVtCn0KCi5jYXJ0LXRhYmxlIC5jYXJ0LWJvdHRvbSBmb3JtIGJ1dHRvbiB7CiAgICBtYXJnaW4tbGVmdDogMnJlbQp9CgouY2FydC10YWJsZSAuY2FydC1ib3R0b20gLnRvdGFsLWFtb3VudCBzcGFuIHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgZm9udC13ZWlnaHQ6IDUwMAp9CgouY2FydC10YWJsZSAuY2FydC1hY3Rpb25zIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAtbXMtZmxleC13cmFwOiB3cmFwOwogICAgZmxleC13cmFwOiB3cmFwCn0KCi5jYXJ0LXRhYmxlIC5jYXJ0LWFjdGlvbnMgLm1sLWF1dG8gYTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1sZWZ0OiAuNDY2NjdyZW0KfQoKLmNhcnQtdGFibGUuY2FydC10YWJsZS0tMiB0aGVhZCB0aCB7CiAgICBwYWRkaW5nOiAxLjY2NjY3cmVtIDAKfQoKLmNhcnQtdGFibGUuY2FydC10YWJsZS0tMiB0aGVhZCB0aDpsYXN0LWNoaWxkIHsKICAgIHBhZGRpbmctbGVmdDogNHJlbQp9CgouY2FydC10YWJsZS5jYXJ0LXRhYmxlLS0yIC5jYXJ0LWJvdHRvbSB0ZCB7CiAgICBib3JkZXItYm90dG9tOiAwCn0KCi51a20gLmZpbHRlci1pdGVtIHsKICAgIHBhZGRpbmctYm90dG9tOiAzMHB4Cn0KCi5jaGVja291dC13cmFwcGVyIC5uYXYtaXRlbSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLmNoZWNrb3V0LXdyYXBwZXIgLm5hdi1pdGVtOmJlZm9yZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAiXGYxODYiOwogICAgZm9udC1mYW1pbHk6IExpbmVBd2Vzb21lLCBzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAyMHB4OwogICAgcmlnaHQ6IC03NXB4OwogICAgdG9wOiA1MCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICBjb2xvcjogcmdiYSg1OSwgNjIsIDEyMSwgLjUpCn0KCi5jaGVja291dC13cmFwcGVyIC5uYXYtaXRlbTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1yaWdodDogMAp9CgouY2hlY2tvdXQtd3JhcHBlciAubmF2LWl0ZW06bGFzdC1jaGlsZDpiZWZvcmUgewogICAgY29udGVudDogbm9uZQp9CgouY2hlY2tvdXQtd3JhcHBlciAubmF2LWl0ZW0gLm5hdi1saW5rIHsKICAgIHBhZGRpbmc6IDAKfQoKLmNoZWNrb3V0LXdyYXBwZXIgLnRhYi1jb250ZW50IGg0IHsKICAgIHBhZGRpbmctYm90dG9tOiAxLjUzMzMzcmVtOwogICAgbWFyZ2luLWJvdHRvbTogMy4zMzMzM3JlbTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTRlOGVkCn0KCi5jaGVja291dC13cmFwcGVyIC50YWItY29udGVudCBmb3JtIC5mb3JtLWdyb3VwIHsKICAgIG1hcmdpbi1ib3R0b206IDEuNjY2NjdyZW0KfQoKLmNoZWNrb3V0LXdyYXBwZXIgLnRhYi1jb250ZW50IGZvcm0gLnNoaXBwaW5nLW1ldGhvZCAuY3VzdG9tLWNvbnRyb2wgewogICAgcGFkZGluZy1sZWZ0OiAwCn0KCi5jaGVja291dC13cmFwcGVyIC50YWItY29udGVudCAubWV0aG9kLTEgewogICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZThlZDsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLmNoZWNrb3V0LXdyYXBwZXIgLnRhYi1jb250ZW50IC5tZXRob2QtMSAuaGVhZGVyIHsKICAgIGJhY2tncm91bmQ6ICNmNWY1Zjc7CiAgICBwYWRkaW5nOiAxLjY2NjY3cmVtIDJyZW0KfQoKLmNoZWNrb3V0LXdyYXBwZXIgLnRhYi1jb250ZW50IC5tZXRob2QtMSAuYm9keSB7CiAgICBwYWRkaW5nOiAyLjY2NjY3cmVtCn0KCi5jaGVja291dC13cmFwcGVyIC50YWItY29udGVudCAubWV0aG9kLTEgLmJvZHkgcCB7CiAgICBtYXJnaW4tYm90dG9tOiAzLjMzMzMzcmVtCn0KCi5jaGVja291dC13cmFwcGVyIC50YWItY29udGVudCAubWV0aG9kLTEgLmJvZHkgcCBpbWcgewogICAgbWFyZ2luLWxlZnQ6IDEuMzMzMzNyZW0KfQoKLmNoZWNrb3V0LXdyYXBwZXIgLnRhYi1jb250ZW50IC5tZXRob2QtMSAuYm9keSBpbnB1dCB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtCn0KCi5jaGVja291dC13cmFwcGVyIC50YWItY29udGVudCAubWV0aG9kLTIgewogICAgbWFyZ2luLWJvdHRvbTogMnJlbQp9CgouY2hlY2tvdXQtd3JhcHBlciAudGFiLWNvbnRlbnQgLm1ldGhvZC0yIC5oZWFkZXIgewogICAgYmFja2dyb3VuZDogI2Y1ZjVmNzsKICAgIHBhZGRpbmc6IDEuNjY2NjdyZW0gMnJlbQp9CgouY2hlY2tvdXQtd3JhcHBlciAudGFiLWNvbnRlbnQgLm9yZGVyLWluZm8gewogICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZThlZAp9CgouY2hlY2tvdXQtd3JhcHBlciAudGFiLWNvbnRlbnQgLm9yZGVyLWluZm8gaDYgewogICAgbWFyZ2luOiAwIDAgMnJlbSAwOwogICAgcGFkZGluZy1ib3R0b206IDEuMzMzMzNyZW07CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZThlZAp9CgouY2hlY2tvdXQtd3JhcHBlciAudGFiLWNvbnRlbnQgLm9yZGVyLWluZm8gdWwgbGkgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtCn0KCi5jaGVja291dC13cmFwcGVyIC50YWItY29udGVudCAub3JkZXItaW5mbyB1bCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLmNoZWNrb3V0LXdyYXBwZXIgLnRhYi1jb250ZW50IC5vcmRlci1pbmZvIHVsIGxpIHNwYW4gewogICAgLXdlYmtpdC1ib3gtZmxleDogMTsKICAgIC13ZWJraXQtZmxleDogMTsKICAgIC1tcy1mbGV4OiAxOwogICAgZmxleDogMQp9CgouY2hlY2tvdXQtd3JhcHBlciAudGFiLWNvbnRlbnQgLm9yZGVyLWluZm8gdWwgbGkgc3BhbjpsYXN0LWNoaWxkIHsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5jaGVja291dC1jb25maXJtIGgyIHsKICAgIG1hcmdpbi1ib3R0b206IDEuNjY2NjdyZW0KfQoKLmNoZWNrb3V0LWNvbmZpcm0gcCB7CiAgICBtYXJnaW4tYm90dG9tOiAyLjY2NjY3cmVtCn0KCi5jaGVja291dC1jb25maXJtIGZvcm0gewogICAgbWFyZ2luLWJvdHRvbTogMy4zMzMzM3JlbQp9CgouYmxvZy1ncmlkLXdyYXBwZXIgLnBvc3QtLWNhcmQgewogICAgbWFyZ2luLWJvdHRvbTogMnJlbQp9CgouYmxvZy13cmFwcGVyIC5ibG9nLXNpbmdsZSB7CiAgICBtYXJnaW4tYm90dG9tOiAzLjMzMzMzcmVtCn0KCi5ibG9nLWdyaWQtbWFzb25yeSAuZmlsdHItaXRlbSB7CiAgICBtYXJnaW4tYm90dG9tOiAycmVtCn0KCi5ibG9nLXNpbmdsZS13cmFwcGVyIC5wb3N0LWdhbGxlcnkgewogICAgbWFyZ2luLWJvdHRvbTogLTJyZW0KfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtZ2FsbGVyeSBmaWd1cmUgewogICAgbWFyZ2luLWJvdHRvbTogMnJlbQp9CgouYmxvZy1zaW5nbGUtd3JhcHBlciAucG9zdC1kZXRhaWxzIGltZyB7CiAgICB3aWR0aDogMTAwJQp9CgouYmxvZy1zaW5nbGUtd3JhcHBlciAucG9zdC1kZXRhaWxzIC5wb3N0LWhlYWQgewogICAgbWFyZ2luLWJvdHRvbTogMi40NjY2N3JlbQp9CgouYmxvZy1zaW5nbGUtd3JhcHBlciAucG9zdC1kZXRhaWxzIC5wb3N0LWNvbnRlbnQgLnBvc3QtaGVhZGVyIHsKICAgIG1hcmdpbi1ib3R0b206IDJyZW0KfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtZGV0YWlscyAucG9zdC1jb250ZW50IC5wb3N0LWhlYWRlciBoMyB7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIG1hcmdpbi1ib3R0b206IDEuMzMzMzNyZW0KfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtZGV0YWlscyAucG9zdC1jb250ZW50IC5wb3N0LWhlYWRlciB1bCB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIHBhZGRpbmctYm90dG9tOiAycmVtOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU4ZWQKfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtZGV0YWlscyAucG9zdC1jb250ZW50IC5wb3N0LWhlYWRlciB1bCBsaSB7CiAgICBtYXJnaW4tcmlnaHQ6IDEuMzMzMzNyZW0KfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtZGV0YWlscyAucG9zdC1jb250ZW50IC5wb3N0LWhlYWRlciB1bCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1yaWdodDogMAp9CgouYmxvZy1zaW5nbGUtd3JhcHBlciAucG9zdC1kZXRhaWxzIC5wb3N0LWNvbnRlbnQgLnBvc3QtaGVhZGVyIHVsIGxpIGEgewogICAgY29sb3I6ICMyMDI0MjgKfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtYm90dG9tIHsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHBhZGRpbmc6IDJyZW0gMDsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlOGVkOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU4ZWQ7CiAgICBtYXJnaW46IDNyZW0gMCA0LjY2NjY3cmVtIDAKfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtYm90dG9tIC50YWdzIHsKICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAtbXMtZmxleDogMTsKICAgIGZsZXg6IDEKfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtYm90dG9tIC50YWdzIHVsIGxpIHsKICAgIG1hcmdpbi1yaWdodDogLjY2NjY3cmVtCn0KCi5ibG9nLXNpbmdsZS13cmFwcGVyIC5wb3N0LWJvdHRvbSAudGFncyB1bCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1yaWdodDogMAp9CgouYmxvZy1zaW5nbGUtd3JhcHBlciAucG9zdC1ib3R0b20gLnRhZ3MgdWwgbGkgYSB7CiAgICBsaW5lLWhlaWdodDogMS44NjY2N3JlbTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZThlZDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjJyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMnJlbTsKICAgIHBhZGRpbmc6IDAgLjhyZW07CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIGNvbG9yOiAjNWE2NjcxOwogICAgZm9udC1zaXplOiAuOTMzMzNyZW0KfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtYm90dG9tIC50YWdzIHVsIGxpIGE6aG92ZXIgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kOiAjMDc0YTU1OwogICAgYm9yZGVyLWNvbG9yOiAjMDc0YTU1Cn0KCi5ibG9nLXNpbmdsZS13cmFwcGVyIC5wb3N0LWJvdHRvbSAuc29jaWFsLXNoYXJlIHsKICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAtbXMtZmxleDogMTsKICAgIGZsZXg6IDE7CiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAtbXMtZmxleC1wYWNrOiBlbmQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kCn0KCi5ibG9nLXNpbmdsZS13cmFwcGVyIC5wb3N0LWF1dGhvciB7CiAgICBwYWRkaW5nOiAyLjY2NjY3cmVtOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBtYXJnaW4tYm90dG9tOiA0cmVtCn0KCi5ibG9nLXNpbmdsZS13cmFwcGVyIC5wb3N0LWF1dGhvciAuYXV0aG9yLXRodW1iIHsKICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAtbXMtZmxleDogMTsKICAgIGZsZXg6IDEKfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtYXV0aG9yIC5hdXRob3ItaW5mbyB7CiAgICAtd2Via2l0LWJveC1mbGV4OiA0OwogICAgLXdlYmtpdC1mbGV4OiA0OwogICAgLW1zLWZsZXg6IDQ7CiAgICBmbGV4OiA0Cn0KCi5ibG9nLXNpbmdsZS13cmFwcGVyIC5wb3N0LWF1dGhvciAuYXV0aG9yLWluZm8gaDUgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtCn0KCi5ibG9nLXNpbmdsZS13cmFwcGVyIC5wb3N0LWF1dGhvciAuYXV0aG9yLWluZm8gaDUgc3BhbiB7CiAgICBjb2xvcjogIzA3NGE1NQp9CgouYmxvZy1zaW5nbGUtd3JhcHBlciAucG9zdC1wYWdpbmF0aW9uIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTRlOGVkOwogICAgcGFkZGluZy1ib3R0b206IDRyZW0KfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtcGFnaW5hdGlvbiAubmV4dC1wb3N0LAouYmxvZy1zaW5nbGUtd3JhcHBlciAucG9zdC1wYWdpbmF0aW9uIC5wcmV2LXBvc3QgewogICAgLXdlYmtpdC1ib3gtZmxleDogMTsKICAgIC13ZWJraXQtZmxleDogMTsKICAgIC1tcy1mbGV4OiAxOwogICAgZmxleDogMQp9CgouYmxvZy1zaW5nbGUtd3JhcHBlciAucG9zdC1wYWdpbmF0aW9uIC5uZXh0LXBvc3Q+c3BhbiwKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtcGFnaW5hdGlvbiAucHJldi1wb3N0PnNwYW4gewogICAgZGlzcGxheTogYmxvY2sKfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtcGFnaW5hdGlvbiAubmV4dC1wb3N0IC50aXRsZSwKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtcGFnaW5hdGlvbiAucHJldi1wb3N0IC50aXRsZSB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBjb2xvcjogIzIwMjQyODsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBtYXJnaW46IC42NjY2N3JlbSAwOwogICAgZGlzcGxheTogYmxvY2s7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgouYmxvZy1zaW5nbGUtd3JhcHBlciAucG9zdC1wYWdpbmF0aW9uIC5uZXh0LXBvc3QgLnRpdGxlOmhvdmVyLAouYmxvZy1zaW5nbGUtd3JhcHBlciAucG9zdC1wYWdpbmF0aW9uIC5wcmV2LXBvc3QgLnRpdGxlOmhvdmVyIHsKICAgIGNvbG9yOiAjMDc0YTU1Cn0KCi5ibG9nLXNpbmdsZS13cmFwcGVyIC5wb3N0LXBhZ2luYXRpb24gLm5leHQtcG9zdCBwLAouYmxvZy1zaW5nbGUtd3JhcHBlciAucG9zdC1wYWdpbmF0aW9uIC5wcmV2LXBvc3QgcCB7CiAgICBtYXJnaW46IDAKfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtcGFnaW5hdGlvbiAubmV4dC1wb3N0IHsKICAgIHRleHQtYWxpZ246IHJpZ2h0Cn0KCi5ibG9nLXNpbmdsZS13cmFwcGVyIC5yZWxhdGVkLXBvc3QgewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU4ZWQKfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnJlbGF0ZWQtcG9zdCAucmVsYXRlZC1wb3N0LS10aXRsZSB7CiAgICBtYXJnaW4tYm90dG9tOiAxLjhyZW07CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIKfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnJlbGF0ZWQtcG9zdCAucmVsYXRlZC1wb3N0LS10aXRsZSBoNCB7CiAgICBtYXJnaW46IDAKfQoKLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnJlbGF0ZWQtcG9zdCAuc2luZ2xlLXBvc3QgewogICAgbWFyZ2luLWJvdHRvbTogMy4zMzMzM3JlbQp9CgouYmxvZy1zaW5nbGUtd3JhcHBlciAucmVsYXRlZC1wb3N0IC5zaW5nbGUtcG9zdCBoNiB7CiAgICBtYXJnaW46IDEuMnJlbSAwIC4zMzMzM3JlbTsKICAgIGZvbnQtc2l6ZTogMXJlbQp9CgouYmxvZy1zaW5nbGUtd3JhcHBlciAucmVsYXRlZC1wb3N0IC5zaW5nbGUtcG9zdCBoNiBhIHsKICAgIGNvbG9yOiAjMjAyNDI4Cn0KCi5ibG9nLXNpbmdsZS13cmFwcGVyIC5yZWxhdGVkLXBvc3QgLnNpbmdsZS1wb3N0IHAgewogICAgZm9udC1zaXplOiAuOTMzMzNyZW0KfQoKLmNvbW1lbnRzLWFyZWEgLmNvbW1lbnQtdGl0bGUgewogICAgbWFyZ2luLWJvdHRvbTogMS42NjY2N3JlbTsKICAgIHRleHQtYWxpZ246IGNlbnRlcgp9CgouY29tbWVudHMtYXJlYSAuY29tbWVudC10aXRsZSBoMyB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtYXJnaW4tYm90dG9tOiAwCn0KCi5jb21tZW50cy1hcmVhIC5jb21tZW50LWxpc3RzIHVsIC5kZXB0aC0xIHsKICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAxLjZyZW07CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGVkOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAuMjY2NjdyZW07CiAgICBib3JkZXItcmFkaXVzOiAuMjY2NjdyZW07CiAgICBtYXJnaW4tYm90dG9tOiAycmVtCn0KCi5jb21tZW50cy1hcmVhIC5jb21tZW50LWxpc3RzIHVsIC5kZXB0aC0xOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMAp9CgouY29tbWVudHMtYXJlYSAuY29tbWVudC1saXN0cyB1bCAuZGVwdGgtMSAubWVkaWEgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXgKfQoKLmNvbW1lbnRzLWFyZWEgLmNvbW1lbnQtbGlzdHMgdWwgLmRlcHRoLTEgLm1lZGlhIC5tZWRpYS1ib2R5IHsKICAgIG1hcmdpbi1sZWZ0OiAxLjY2NjY3cmVtCn0KCi5jb21tZW50cy1hcmVhIC5jb21tZW50LWxpc3RzIHVsIC5kZXB0aC0xIC5tZWRpYSAubWVkaWEtYm9keSAubWVkaWFfdG9wIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0KfQoKLmNvbW1lbnRzLWFyZWEgLmNvbW1lbnQtbGlzdHMgdWwgLmRlcHRoLTEgLm1lZGlhIC5tZWRpYS1ib2R5IC5tZWRpYV90b3AgaDYgewogICAgbWFyZ2luLWJvdHRvbTogLjQ2NjY3cmVtCn0KCi5jb21tZW50cy1hcmVhIC5jb21tZW50LWxpc3RzIHVsIC5kZXB0aC0xIC5tZWRpYSAubWVkaWEtYm9keSAubWVkaWFfdG9wIC5yZXBseSB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGVkOwogICAgY29sb3I6ICM1YTY2NzE7CiAgICBsaW5lLWhlaWdodDogMi4yNjY2N3JlbTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMS42NjY2N3JlbTsKICAgIGJvcmRlci1yYWRpdXM6IDEuNjY2NjdyZW07CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgZm9udC1zaXplOiAuODY2NjdyZW07CiAgICBwYWRkaW5nOiAwIDFyZW07CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZQp9CgouY29tbWVudHMtYXJlYSAuY29tbWVudC1saXN0cyB1bCAuZGVwdGgtMSAubWVkaWEgLm1lZGlhLWJvZHkgLm1lZGlhX3RvcCAucmVwbHk6aG92ZXIgewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kOiAjMDc0YTU1OwogICAgYm9yZGVyLWNvbG9yOiAjMDc0YTU1Cn0KCi5jb21tZW50cy1hcmVhIC5jb21tZW50LWxpc3RzIHVsIC5kZXB0aC0xIC5tZWRpYSBwIHsKICAgIG1hcmdpbjogMAp9CgouY29tbWVudHMtYXJlYSAuY29tbWVudC1saXN0cyB1bCAuZGVwdGgtMSAuZGVwdGgtMiB7CiAgICBwYWRkaW5nLWxlZnQ6IDIuNjY2NjdyZW07CiAgICBtYXJnaW4tdG9wOiAycmVtOwogICAgcGFkZGluZy10b3A6IDJyZW07CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZThlZAp9CgouY29tbWVudC1mb3JtIHsKICAgIHBhZGRpbmc6IDNyZW0gMi42NjY2N3JlbQp9CgouY29tbWVudC1mb3JtIC5jb21tZW50LXRpdGxlIGg1IHsKICAgIGNvbG9yOiAjMjAyNDI4OwogICAgbWFyZ2luLWJvdHRvbTogLjY2NjY3cmVtCn0KCi5jb21tZW50LWZvcm0gZm9ybSB0ZXh0YXJlYSB7CiAgICBoZWlnaHQ6IDguMzMzMzNyZW0KfQoKLnZpZGVvLWJhY2tncm91bmQgewogICAgaGVpZ2h0OiA1MDBweCAhaW1wb3J0YW50OwogICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudAp9CgoudmlkZW8tYmFja2dyb3VuZCAudmlkZW8tY29udGVudCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKQp9CgoudmlkZW8tYmFja2dyb3VuZCAudmlkZW8tY29udGVudCBoMiB7CiAgICBjb2xvcjogI2ZmZjsKICAgIG1hcmdpbi1ib3R0b206IDAKfQoKLm5ld3MtYXJlYSAuc2VjdGlvbi10aXRsZSB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBtYXJnaW4tYm90dG9tOiAyLjA2NjY3cmVtCn0KCi5uZXdzLWFyZWEgLnNlY3Rpb24tdGl0bGUgaDIgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBtYXJnaW4tYm90dG9tOiAxLjA2NjY3cmVtCn0KCi5uZXdzLWFyZWEgLnNlY3Rpb24tdGl0bGUgcCB7CiAgICBjb2xvcjogIzIwMjQyOAp9CgouYWJvdXQtd3JhcHBlciAuYWJvdXQtY29udGVudHMgaDMgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBsaW5lLWhlaWdodDogMi44cmVtOwogICAgbWFyZ2luLWJvdHRvbTogMXJlbQp9CgouYWJvdXQtd3JhcHBlciAuYWJvdXQtY29udGVudHMgcCB7CiAgICBtYXJnaW46IDEuMzMzMzNyZW0gMCAwIDAKfQoKLmFib3V0LXdyYXBwZXIgLmFib3V0LWNvbnRlbnRzIC5zdWItdGl0bGUgewogICAgZm9udC1zaXplOiAxLjMzMzMzcmVtOwogICAgZm9udC13ZWlnaHQ6IDUwMAp9CgoudGVhbS13cmFwcGVyIHsKICAgIGJhY2tncm91bmQ6IHVybChpbWcvc2hhcGUxLnBuZykgY2VudGVyLzEwMCUgMTAwJSBuby1yZXBlYXQ7CiAgICBwYWRkaW5nOiA3LjMzMzMzcmVtIDA7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQoKLnRlYW0td3JhcHBlcjpiZWZvcmUgewogICAgY29udGVudDogJyc7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMzAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIGJhY2tncm91bmQ6ICNmN2Y2ZmM7CiAgICB6LWluZGV4OiAtMQp9CgoudGVhbS13cmFwcGVyOmFmdGVyIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDcwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHJpZ2h0OiAwOwogICAgdG9wOiAwOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDZiNTkwLCAjMDc0YTU1KTsKICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwNmI1OTAsICMwNzRhNTUpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgIzA2YjU5MCwgIzA3NGE1NSk7CiAgICB6LWluZGV4OiAtMQp9CgoudGVhbS13cmFwcGVyIC50aXRsZS1ib3ggewogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIHBhZGRpbmc6IDRyZW07CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogLjI2NjY3cmVtOwogICAgYm9yZGVyLXJhZGl1czogLjI2NjY3cmVtOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoNDEsIDQxLCA1OSwgLjEpOwogICAgYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDQxLCA0MSwgNTksIC4xKQp9CgoudGVhbS13cmFwcGVyIC50aXRsZS1ib3ggaDIgewogICAgY29sb3I6ICMyMDI0Mjg7CiAgICBsaW5lLWhlaWdodDogMy4ycmVtOwogICAgbWFyZ2luOiAwCn0KCi50ZXN0aW1vbmlhbHMgLm93bC1jYXJvdXNlbCB7CiAgICBtYXJnaW4tdG9wOiAtMXJlbQp9CgpAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgYW5kIChtYXgtd2lkdGg6MTE5OXB4KSB7CiAgICAubWVudV9hcmVhLm1lbnUxIC5uYXZfcmlnaHRfY29udGVudCAuc2VhcmNoX21vZHVsZSB7CiAgICAgICAgZGlzcGxheTogbm9uZQogICAgfQogICAgLnRvcF9iYXIgLmluZm9zIC5pbmZvcy0tc2luZ2xlIHsKICAgICAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDA7CiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7CiAgICAgICAgZmxleC1iYXNpczogMDsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxOwogICAgICAgIC13ZWJraXQtZmxleC1ncm93OiAxOwogICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxOwogICAgICAgIGZsZXgtZ3JvdzogMQogICAgfQogICAgLnRvcF9iYXIgLmluZm9zIC5pbmZvcy0tc2luZ2xlKy5pbmZvcy0tc2luZ2xlIHsKICAgICAgICBtYXJnaW4tbGVmdDogMjVweAogICAgfQogICAgLmZvb3Rlcl9fc21hbGwgLmNvbnRlbnQtbGVmdCwKICAgIC5mb290ZXJfX3NtYWxsIC5jb250ZW50LXJpZ2h0IHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxOwogICAgICAgIC13ZWJraXQtZmxleDogMTsKICAgICAgICAtbXMtZmxleDogMTsKICAgICAgICBmbGV4OiAxCiAgICB9CiAgICAuZm9vdGVyX19zbWFsbCAuY29udGVudC1yaWdodCB7CiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogZW5kOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICAgICAgZGlzcGxheTogZmxleAogICAgfQogICAgZm9vdGVyLmZvb3RlcjQgLmZvb3Rlcl9fc21hbGwgLmluZm9fbGlua3M6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiBub25lCiAgICB9CiAgICAucHJvY2Vzcy1vbmUgLnByb2Nlc3Mtc2luZ2xlOm50aC1jaGlsZCgybisxKSAuaWNvbjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6IHVybChpbWcvYXJyb3ctdXAtc20ucG5nKQogICAgfQogICAgLnByb2Nlc3Mtb25lIC5wcm9jZXNzLXNpbmdsZSAuaWNvbjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6IHVybChpbWcvYXJyb3ctZG93bi1zbS5wbmcpCiAgICB9CiAgICAucHJvY2Vzcy1vbmUgLnByb2Nlc3Mtc2luZ2xlIC5pY29uOmJlZm9yZSB7CiAgICAgICAgcmlnaHQ6IC01OCUKICAgIH0KICAgIC5wcmljaW5nLnByaWNpbmctLTIgewogICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQKICAgIH0KICAgIC5ldmVudC1zaW5nbGUgewogICAgICAgIGhlaWdodDogYXV0bwogICAgfQogICAgLmV2ZW50LXNpbmdsZSAuZXZlbnQtaW5mbyAudmlldy1idG4gewogICAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IDEuMzMzMzNyZW0KICAgIH0KICAgIC50ZXN0aW1vbmlhbC1jYXJvdXNlbC10aHJlZSAuY2FyZC0tdGVzdGltb25pYWwyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwCiAgICB9CiAgICAudGVzdGltb25pYWxzIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbQogICAgfQogICAgLnNlYXJjaC13cmFwcGVyIGZvcm0gLmZvcm0tZ3JvdXAgYnV0dG9uIHsKICAgICAgICBtYXJnaW46IDFyZW0gMCAwIDAKICAgIH0KICAgIC5zZXJ2aWNlLXRhYi13cmFwcGVyIC5jdGEtd2lkZ2V0IHsKICAgICAgICBwYWRkaW5nOiAycmVtIDFyZW0KICAgIH0KICAgIC5vdGhlci1sb2dpbnMgewogICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcgogICAgfQogICAgLnByb2plY3QtbGlzdCAuY2FyZCBmaWd1cmUgewogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlcjsKICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXIKICAgIH0KICAgIC5jYXJ0LXRhYmxlIC5jYXJ0LXNpbmdsZSAubmFtZSBhIHsKICAgICAgICBtYXJnaW4tbGVmdDogMS4zMzMzM3JlbQogICAgfQogICAgLmNhcmQtYm9keSB7CiAgICAgICAgcGFkZGluZzogMi4zcmVtCiAgICB9CiAgICAuY2FyZC0tdGVzdGltb25pYWwgewogICAgICAgIHBhZGRpbmc6IDIuMzMzMzNyZW0KICAgIH0KICAgIC5jYXJkIC5jYXJkLWZvb3RlciB7CiAgICAgICAgcGFkZGluZzogMnJlbQogICAgfQogICAgLmFkZHJlc3MtYmxvY2tzIC5hZHJlc3MgewogICAgICAgIHBhZGRpbmc6IDAKICAgIH0KICAgIC50ZWFtLXdyYXBwZXIgLnRpdGxlLWJveCB7CiAgICAgICAgcGFkZGluZzogMnJlbQogICAgfQogICAgLnNlcnZpY2UtdGFiLXdyYXBwZXIgLmN0YS13aWRnZXQgLmNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDAKICAgIH0KICAgIC5wcmljaW5nLnByaWNpbmctLTIgLnByaWNpbmdfX2ZlYXR1cmVzX2xpc3QgewogICAgICAgIHBhZGRpbmc6IDMwcHgKICAgIH0KICAgIC5wcmljaW5nLnByaWNpbmctLTIgLnByaWNpbmdfX2ZlYXR1cmVzX2xpc3QgdWwubGlzdCB7CiAgICAgICAgbWFyZ2luLXRvcDogMzBweAogICAgfQogICAgc2VjdGlvbi5pbnRyby1hcmVhIHsKICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW4KICAgIH0KfQoKQG1lZGlhIChtYXgtd2lkdGg6OTkxcHgpIHsKICAgIC5tYXJnaW4tbWQtNjAgewogICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW0KICAgIH0KICAgIC5tYXJnaW4tbWQtNjAgcCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMAogICAgfQogICAgLm1lbnVfYXJlYSAubmF2YmFyIC5uYXZiYXItbmF2IC5uYXYtaXRlbS5kcm9wZG93biAubmF2LWxpbms6YmVmb3JlIHsKICAgICAgICByaWdodDogMjBweDsKICAgICAgICBmb250LXNpemU6IDEzcHgKICAgIH0KICAgIC5tZW51X2FyZWEgLm5hdmJhciAubmF2YmFyLW5hdiAubmF2LWl0ZW0gLm5hdi1saW5rIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICAgICAgY29sb3I6ICMyMDI0MjgKICAgIH0KICAgIC5tZW51X2FyZWEgLm5hdmJhci5uYXZiYXItYmcgLm5hdmJhci1uYXYgLm5hdi1pdGVtLmRyb3Bkb3duIC5uYXYtbGluazpiZWZvcmUgewogICAgICAgIGNvbG9yOiBpbmhlcml0CiAgICB9CiAgICAubWVudV9hcmVhIC5uYXZiYXItbmF2IC5uYXYtaXRlbT4ubmF2LWxpbmsgewogICAgICAgIGNvbG9yOiAjMjAyNDI4CiAgICB9CiAgICAubWVudV9hcmVhIC5uYXZiYXItbmF2IC5uYXYtaXRlbT4ubmF2LWxpbmsuYWN0aXZlIHsKICAgICAgICBjb2xvcjogIzA3NGE1NQogICAgfQogICAgLm1lbnVfYXJlYSAuZHJvcGRvd24tbWVudSBhLmRyb3Bkb3duLWl0ZW0gewogICAgICAgIHBhZGRpbmc6IDRweCAxNXB4CiAgICB9CiAgICAubWVudV9hcmVhIC5kcm9wZG93bi1tZW51LAogICAgLm1lbnVfYXJlYSAubWVnYS1tZW51IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwOwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwOwogICAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7CiAgICAgICAgbGVmdDogYXV0bzsKICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHgKICAgIH0KICAgIC5tZW51X2FyZWEgLmRyb3Bkb3duLW1lbnUgdWwsCiAgICAubWVudV9hcmVhIC5tZWdhLW1lbnUgdWwgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IGluaXRpYWw7CiAgICAgICAgLXdlYmtpdC1mbGV4OiBpbml0aWFsOwogICAgICAgIC1tcy1mbGV4OiBpbml0aWFsOwogICAgICAgIGZsZXg6IGluaXRpYWw7CiAgICAgICAgcGFkZGluZzogMCAxNXB4CiAgICB9CiAgICAubWVudV9hcmVhIC5kcm9wZG93bi1tZW51IHVsK3VsLAogICAgLm1lbnVfYXJlYSAubWVnYS1tZW51IHVsK3VsIHsKICAgICAgICBtYXJnaW4tdG9wOiA3cHgKICAgIH0KICAgIC5tZW51X2FyZWEgLmRyb3Bkb3duLW1lbnUgdWwrdWw+bGk+aDYsCiAgICAubWVudV9hcmVhIC5tZWdhLW1lbnUgdWwrdWw+bGk+aDYgewogICAgICAgIG1hcmdpbi10b3A6IDI0cHgKICAgIH0KICAgIC5tZW51X2FyZWEgLmRyb3Bkb3duLW1lbnUgdWwgbGksCiAgICAubWVudV9hcmVhIC5tZWdhLW1lbnUgdWwgbGkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDhweAogICAgfQogICAgLnRvcF9iYXIgLmluZm9zIHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQKICAgIH0KICAgIC50b3BfYmFyIC5pbmZvcyAuaW5mb3MtLXNpbmdsZSBzcGFuIHsKICAgICAgICBkaXNwbGF5OiBub25lCiAgICB9CiAgICAuY2Fyb3VzZWwtZm91ciAub3dsLWl0ZW0gaW1nLAogICAgLnRlYW0tY2Fyb3VzZWwtdHdvIC5vd2wtaXRlbSBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlCiAgICB9CiAgICAudGVzdGltb25pYWwtY2Fyb3VzZWwtZm91ciAuY2Fyb3VzZWwtc2luZ2xlIC5hdXRob3ItdGV4dCB7CiAgICAgICAgd2lkdGg6IDEwMCUKICAgIH0KICAgIC5sb2dvLWdyaWQtb25lIGxpLAogICAgLmxvZ28tZ3JpZC10aHJlZSBsaSB7CiAgICAgICAgd2lkdGg6IDMzLjMzJQogICAgfQogICAgLmRyb3Bkb3ducy13cmFwcGVyIC5kcm9wZG93biB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbQogICAgfQogICAgLnRhYi1jb250ZW50LnRhYi0tY29udGVudDIgLnRhYi1wYW5lIC50YWJfaW1hZ2VfbW9kdWxlLS1sZWZ0IHsKICAgICAgICBtYXJnaW46IDAgMCAycmVtIDAKICAgIH0KICAgIC50YWItY29udGVudC50YWItLWNvbnRlbnQyIC50YWItcGFuZSAudGFiX2ltYWdlX21vZHVsZS0tcmlnaHQgewogICAgICAgIG1hcmdpbjogMnJlbSAwIDAgMAogICAgfQogICAgLnZpZGVvLXNpbmdsZSBmaWd1cmUgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJQogICAgfQogICAgLnZpZGVvLXdyYXBwZXIudmlkZW8tLXRocmVlIC52aWRlby1iYW5uZXIgZmlndXJlIGZpZ2NhcHRpb24gewogICAgICAgIHBhZGRpbmc6IDJyZW0KICAgIH0KICAgIC5hY2NvcmRpb24tc3R5bGVzLmFjY29yZGlvbi0tdHdvIC5mb3JtLWJveCB7CiAgICAgICAgbWFyZ2luLXRvcDogMy4zMzMzM3JlbQogICAgfQogICAgLmNhcmQtLXRlYW0xIGZpZ3VyZSBpbWcsCiAgICAuY2FyZC0tdGVhbTIgZmlndXJlIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCUKICAgIH0KICAgIC5kaXZpZGVyLnRleHQtY2VudGVyIHAgewogICAgICAgIHdpZHRoOiAxMDAlCiAgICB9CiAgICAuc3BsaXR0ZWQtYmFubmVyOmFmdGVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgd2lkdGg6IDUwJTsKICAgICAgICByaWdodDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjMpCiAgICB9CiAgICAuc3Vic2NyaWJlLWZvdXIgZm9ybSwKICAgIC5zdWJzY3JpYmUtc2l4IGZvcm0sCiAgICAuc3Vic2NyaWJlLXRocmVlIGZvcm0gewogICAgICAgIG1hcmdpbi10b3A6IDJyZW0KICAgIH0KICAgIC50d2l0dGVyLWZlZWRzIC5mZWVkLXNpbmdsZSAuZmVlZC1jb250ZW50IHsKICAgICAgICB3aWR0aDogMTAwJQogICAgfQogICAgLnF1b3Rlcy13aXRoLWltYWdlIHsKICAgICAgICBwYWRkaW5nLXRvcDogNS4zMzMzM3JlbQogICAgfQogICAgLmJsb2NrcXVvdGU1IC5hdXRob3Itc2lnbiB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbQogICAgfQogICAgLmN0YS0tZWlnaHQgcCwKICAgIC5jdGEtLWZpdmUgcCwKICAgIC5jdGEtLWZvdXIgcCwKICAgIC5jdGEtLXNldmVuIHAsCiAgICAuY3RhLS1zaXggcCwKICAgIC5jdGEtLXR3byBwIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIKICAgIH0KICAgIC5jdGEtLWVpZ2h0IC5hY3Rpb24tYnRuLAogICAgLmN0YS0tZml2ZSAuYWN0aW9uLWJ0biwKICAgIC5jdGEtLWZvdXIgLmFjdGlvbi1idG4sCiAgICAuY3RhLS1zZXZlbiAuYWN0aW9uLWJ0biwKICAgIC5jdGEtLXNpeCAuYWN0aW9uLWJ0biwKICAgIC5jdGEtLXR3byAuYWN0aW9uLWJ0biB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIG1hcmdpbi10b3A6IDJyZW0KICAgIH0KICAgIC5jdGEtLWZpdmUgcCwKICAgIC5jdGEtLXNldmVuIHAsCiAgICAuY3RhLS1zaXggcCB7CiAgICAgICAgbGluZS1oZWlnaHQ6IDNyZW0KICAgIH0KICAgIC5jdGEtLXNldmVuIHAgewogICAgICAgIGxpbmUtaGVpZ2h0OiAzLjY2NjY3cmVtCiAgICB9CiAgICAuY29udGFjdC1zcGxpdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgICAgICBoZWlnaHQ6IGF1dG8KICAgIH0KICAgIC5jb250YWN0LXNwbGl0IC5nLW1hcHMgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJQogICAgfQogICAgLmNvbnRhY3Qtc3BsaXQgLmctbWFwcyAjbWFwMiB7CiAgICAgICAgaGVpZ2h0OiAzMy4zMzMzM3JlbQogICAgfQogICAgLmNvbnRhY3Qtc3BsaXQgLmZvcm0td3JhcHBlciB7CiAgICAgICAgbWFyZ2luLXRvcDogNHJlbTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtCiAgICB9CiAgICAuY29udGFjdC0tZm91ciAuZm9ybS13cmFwcGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtCiAgICB9CiAgICAuYmxvY2stZnVsbC13aWR0aDI6YmVmb3JlLAogICAgLmJsb2NrLWZ1bGwtd2lkdGg6YmVmb3JlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjkpOwogICAgICAgIHotaW5kZXg6IDEKICAgIH0KICAgIC5ibG9jay1mdWxsLXdpZHRoIC5pbWcsCiAgICAuYmxvY2stZnVsbC13aWR0aDIgLmltZyB7CiAgICAgICAgd2lkdGg6IDEwMCUKICAgIH0KICAgIC5jb250ZW50LWJsb2NrLS0xMiAuaGlnaGxpZ2h0ZWQtdGV4dCAuY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMCAzcmVtCiAgICB9CiAgICAuc2VjdGlvbi1zcGxpdDpiZWZvcmUgewogICAgICAgIHdpZHRoOiAxMDAlCiAgICB9CiAgICAuc2VjdGlvbi1zcGxpdCAuc2tpbGxzIHsKICAgICAgICBtYXJnaW4tdG9wOiA0cmVtCiAgICB9CiAgICAuY29udGFjdC0tZnJvbTggLmZvcm0td3JhcHBlciAuc2VsZWN0LWJhc2ljLAogICAgLmNvbnRhY3QtLWZyb204IC5mb3JtLXdyYXBwZXIgaW5wdXQgewogICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSk7CiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDEwNSwgMTA2LCAxMTksIC4wNSkKICAgIH0KICAgIC5mb290ZXJfX3NtYWxsIC5jb250ZW50LWxlZnQsCiAgICAuZm9vdGVyX19zbWFsbCAuY29udGVudC1yaWdodCB7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAxMDAlCiAgICB9CiAgICAuZm9vdGVyX19zbWFsbCAuY29udGVudC1sZWZ0IHsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwOwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIKICAgIH0KICAgIC5mb290ZXJfX3NtYWxsIC5jb250ZW50LWxlZnQgcCwKICAgIC5mb290ZXJfX3NtYWxsIC5jb250ZW50LWxlZnQgdWwgewogICAgICAgIHdpZHRoOiAxMDAlCiAgICB9CiAgICAuZm9vdGVyX19zbWFsbCAuY29udGVudC1sZWZ0IHVsIHsKICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIKICAgIH0KICAgIC5mb290ZXJfX3NtYWxsIC5jb250ZW50LXJpZ2h0IHsKICAgICAgICBtYXJnaW4tdG9wOiAxcmVtCiAgICB9CiAgICBmb290ZXIuZm9vdGVyNCAuZm9vdGVyX19zbWFsbCAuaW5mb19saW5rczpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6IG5vbmUKICAgIH0KICAgIC5wcm9jZXNzLW9uZSAucHJvY2Vzcy1zaW5nbGUgewogICAgICAgIHdpZHRoOiA1MCUKICAgIH0KICAgIC5wcm9jZXNzLW9uZSAucHJvY2Vzcy1zaW5nbGUgLmljb246YmVmb3JlLAogICAgLnByb2Nlc3Mtb25lIC5wcm9jZXNzLXNpbmdsZTpudGgtY2hpbGQoMm4rMSkgLmljb246YmVmb3JlIHsKICAgICAgICBjb250ZW50OiBub25lCiAgICB9CiAgICAucHJvY2Vzcy10aHJlZSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbQogICAgfQogICAgLnRlYW0tc2luZ2xlLnRlYW0tZml2ZSwKICAgIC50ZWFtLXNpbmdsZS50ZWFtLWZvdXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW0KICAgIH0KICAgIC50ZWFtLXNpbmdsZS50ZWFtLWZpdmUgaW1nLAogICAgLnRlYW0tc2luZ2xlLnRlYW0tZm91ciBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlCiAgICB9CiAgICAucHJpY2luZy5wcmljaW5nLS0yIHsKICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50CiAgICB9CiAgICAuZXZlbnQtc2luZ2xlIHsKICAgICAgICBoZWlnaHQ6IGF1dG8KICAgIH0KICAgIC5ldmVudC1zaW5nbGUgLmV2ZW50LWluZm8gLnZpZXctYnRuIHsKICAgICAgICBtYXJnaW4tbGVmdDogMDsKICAgICAgICBtYXJnaW4tdG9wOiAxLjMzMzMzcmVtCiAgICB9CiAgICAjYWNjb3JkaW9uX29uZSwKICAgICNhY2NvcmRpb25fdHdvIHsKICAgICAgICBwYWRkaW5nOiAycmVtIDIuNjY2NjdyZW0KICAgIH0KICAgIC5zZWN0aW9uLW5ld3MgewogICAgICAgIHBhZGRpbmctYm90dG9tOiA2cmVtCiAgICB9CiAgICAuc2VydmljZXMgewogICAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtCiAgICB9CiAgICAudGVzdGltb25pYWxzIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXJlbQogICAgfQogICAgLnNlY3Rpb24tc3BsaXQyOmJlZm9yZSB7CiAgICAgICAgY29udGVudDogbm9uZQogICAgfQogICAgLmFib3V0LWxpbmtzIHVsLAogICAgLmV2ZW50LXR5cGVzIHVsIHsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwOwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgICBwYWRkaW5nOiAxcmVtIDAKICAgIH0KICAgIC5hYm91dC1saW5rcyB1bCBsaSwKICAgIC5ldmVudC10eXBlcyB1bCBsaSB7CiAgICAgICAgbWFyZ2luOiAwIDJyZW0KICAgIH0KICAgIC5hYm91dC1saW5rcyB1bCBsaSBhLAogICAgLmV2ZW50LXR5cGVzIHVsIGxpIGEgewogICAgICAgIHBhZGRpbmc6IDFyZW0gMAogICAgfQogICAgLnRpbWVsaW5lMSAuaGFwcGVuaW5nIC5oYXBwZW5pbmdfX3BlcmlvZDpiZWZvcmUgewogICAgICAgIHJpZ2h0OiAtMjBweAogICAgfQogICAgLnRpbWVsaW5lMSAuaGFwcGVuaW5nIC5oYXBwZW5pbmdfX3BlcmlvZCAud3JhcHBlcjpiZWZvcmUgewogICAgICAgIHJpZ2h0OiAtMzlweAogICAgfQogICAgLnZhbHVlcy1pbmZvIC52YWx1ZS1kZXNjIHAgewogICAgICAgIHBhZGRpbmctbGVmdDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwCiAgICB9CiAgICAuc2VhcmNoLXdyYXBwZXIgZm9ybSAuZm9ybS1ncm91cCBidXR0b24gewogICAgICAgIG1hcmdpbjogMXJlbSAwIDAgMAogICAgfQogICAgLnNlYXJjaC13cmFwcGVyIC5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2w6Zmlyc3QtY2hpbGQgewogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxOwogICAgICAgIC1tcy1mbGV4OiAxOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U0ZThlZCAhaW1wb3J0YW50CiAgICB9CiAgICAuc2VhcmNoLXdyYXBwZXIgLmZvcm0tZ3JvdXAgLnNlbGVjdC1iYXNpYyB7CiAgICAgICAgbWluLXdpZHRoOiAxMDAlOwogICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxOwogICAgICAgIC1tcy1mbGV4OiAxOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWFyZ2luLXRvcDogMXJlbQogICAgfQogICAgLnNlYXJjaC13cmFwcGVyIC5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wsCiAgICAuc2VhcmNoLXdyYXBwZXIgLmZvcm0tZ3JvdXAgLnNlbGVjdC1iYXNpYyAuZm9ybS1jb250cm9sIHsKICAgICAgICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudAogICAgfQogICAgLmNhcmVlci1zZWFyY2ggLnNlYXJjaC13cmFwcGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmUKICAgIH0KICAgIC5pbmZvcm1hdGlvbi1ib3ggewogICAgICAgIHBhZGRpbmc6IDhyZW0gMCA0cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5pbmZvcm1hdGlvbi13cmFwcGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdG9wOiAwCiAgICB9CiAgICAuaW5mb3JtYXRpb24td3JhcHBlciB1bCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbQogICAgfQogICAgLmluZm9ybWF0aW9uLXdyYXBwZXIgdWwgbGkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW0KICAgIH0KICAgIC5pbmZvcm1hdGlvbi13cmFwcGVyIC5jYXJkIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGVkICFpbXBvcnRhbnQKICAgIH0KICAgIC5pbmZvcm1hdGlvbi13cmFwcGVyIC5jYXJkIC5jYXJkLWJvZHkgewogICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjY2NjY3cmVtCiAgICB9CiAgICAuYWN0aW9uLWJ0bnMgdWwgewogICAgICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOwogICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZmxleC13cmFwOiB3cmFwCiAgICB9CiAgICAuY2FyZC5jYXJkLS10ZWFtNCB7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXAKICAgIH0KICAgIC5jYXJkLmNhcmQtLXRlYW00IC50ZWFtLWluZm8gewogICAgICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOwogICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZmxleC13cmFwOiB3cmFwCiAgICB9CiAgICAuY2FyZC5jYXJkLS10ZWFtNCAudGVhbS1pbmZvIC5tLWJvdHRvbS0yNSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweAogICAgfQogICAgLmNhcmQuY2FyZC0tdGVhbTQgLnRlYW0taW5mbyAuc29jaWFsLWJhc2ljIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4CiAgICB9CiAgICAuY2FyZC5jYXJkLS10ZWFtNCAudGVhbS1pbWFnZSB7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyOwogICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxOwogICAgICAgIC13ZWJraXQtZmxleDogMSAwIDEwMCU7CiAgICAgICAgLW1zLWZsZXg6IDEgMCAxMDAlOwogICAgICAgIGZsZXg6IDEgMCAxMDAlCiAgICB9CiAgICAuY2FyZC5jYXJkLS10ZWFtNCAudGVhbS1pbWFnZSBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlCiAgICB9CiAgICAudGVhbS1wcm9maWxlIC50ZWFtLWRldGFpbHMgewogICAgICAgIG1hcmdpbi1sZWZ0OiAwCiAgICB9CiAgICAuc2VydmljZS10YWItd3JhcHBlciAuc2VydmljZS0tdGFicyAuc2lkZWJhciB7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0OwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0CiAgICB9CiAgICAuc2VydmljZS10YWItd3JhcHBlciAuc2VydmljZS0tdGFicyAuc2lkZWJhciAudGFiX25hdjIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDM7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogMjsKICAgICAgICAtbXMtZmxleC1vcmRlcjogMjsKICAgICAgICBvcmRlcjogMgogICAgfQogICAgLnNlcnZpY2UtdGFiLXdyYXBwZXIgLnNlcnZpY2UtLXRhYnMgLnNpZGViYXIgLmN0YS13aWRnZXQsCiAgICAuc2VydmljZS10YWItd3JhcHBlciAuc2VydmljZS0tdGFicyAuc2lkZWJhciAuZG93bmxvYWQtd2lkZ2V0IHsKICAgICAgICB3aWR0aDogNDUlOwogICAgICAgIG1hcmdpbi1yaWdodDogMjBweAogICAgfQogICAgLmV2ZW50LXNoYXJlIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtCiAgICB9CiAgICAub3RoZXItbG9naW5zIHsKICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIKICAgIH0KICAgIC5wcm9qZWN0LWxpc3QgLmNhcmQgewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4KICAgIH0KICAgIC5wcm9qZWN0LWxpc3QgLmNhcmQgZmlndXJlIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCUKICAgIH0KICAgIC5maWx0ZXItd3JhcHBlciAuZmlsdGVyLXNvcnQyIHVsIGxpIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtCiAgICB9CiAgICAuY2hlY2tvdXQtd3JhcHBlciAubmF2LWl0ZW0gewogICAgICAgIG1hcmdpbjogMCAzLjMzMzMzcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5jaGVja291dC13cmFwcGVyIC5uYXYtaXRlbTpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6IG5vbmUKICAgIH0KICAgIC53aWRnZXQtd3JhcHBlcjpsYXN0LWNoaWxkIC53aWRnZXQtZGVmYXVsdCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMAogICAgfQogICAgLmNhcnQtdGFibGUgLmNhcnQtc2luZ2xlIC5uYW1lIGEgewogICAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IC42NjY2N3JlbQogICAgfQogICAgLmNhcnQtdGFibGUtLTIgLmNhcnQtc2luZ2xlIC5uYW1lIGEgewogICAgICAgIG1hcmdpbi1sZWZ0OiAxLjMzMzMzcmVtCiAgICB9CiAgICAuaHItZGl2aWRlci1ncmF5IHsKICAgICAgICBtYXJnaW4tdG9wOiAzLjY2NjY3cmVtCiAgICB9CiAgICAucHJvZHVjdHMtd3JhcHBlciAucHJvZHVjdC1zb3J0IC5zb3J0IC5mb3JtLWdyb3VwIHsKICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxOwogICAgICAgIC13ZWJraXQtZmxleDogMTsKICAgICAgICAtbXMtZmxleDogMTsKICAgICAgICBmbGV4OiAxCiAgICB9CiAgICAudG90YWwtcGFnZXMgewogICAgICAgIGRpc3BsYXk6IG5vbmUKICAgIH0KICAgIC5wcm9kdWN0cy13cmFwcGVyIC5wcm9kdWN0LWdyaWQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHgKICAgIH0KICAgIC5jb250ZW50X2Jsb2NrM193cmFwcGVyIHsKICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIKICAgIH0KICAgIC50ZWFtLXdyYXBwZXIgLnRpdGxlLWJveCB7CiAgICAgICAgcGFkZGluZzogMnJlbQogICAgfQogICAgLnRlYW0tY2Fyb3VzZWwtdGhyZWUgewogICAgICAgIG1hcmdpbi10b3A6IDJyZW0KICAgIH0KICAgIC5pbnRyby1vbmUgLmludHJvLW9uZS0tY29udGVudHMgewogICAgICAgIG1hcmdpbi1ib3R0b206IDMuMzMzMzNyZW0KICAgIH0KICAgIC5pbnRyby1vbmUgLmludHJvLW9uZS0tY29udGVudHMsCiAgICAuaW50cm8tb25lIC5pbnRyby1vbmUtLWltZywKICAgIC5pbnRyby10aHJlZSAuaW50cm8tdGhyZWUtLWNvbnRlbnRzLAogICAgLmludHJvLXRocmVlIC5pbnRyby10aHJlZS0taW1nIHsKICAgICAgICBwb3NpdGlvbjogc3RhdGljOwogICAgICAgIHdpZHRoOiAxMDAlCiAgICB9CiAgICAuaW50cm8tdGhyZWUgLmludHJvLXRocmVlLS1pbWcgewogICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbi10b3A6IDMuMzMzMzNyZW0KICAgIH0KICAgIC5pbnRyb19hcmVhOSAuaW50cm9fYXJlYTktLWNvbnRlbnRzLAogICAgLmludHJvX2FyZWE5IC5pbnRyb19hcmVhOS0tc2xpZGVzIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcmlnaHQ6IGF1dG87CiAgICAgICAgdG9wOiBhdXRvOwogICAgICAgIHBhZGRpbmc6IDYuNjY2NjdyZW0gMAogICAgfQogICAgLmludHJvX2FyZWE5IC5pbnRyb19hcmVhOS0tY29udGVudHM6YmVmb3JlIHsKICAgICAgICB3aWR0aDogMTAwJQogICAgfQogICAgLnNoYXBlLXdyYXBwZXIuaW1nLXNoYXBlLW9uZTpiZWZvcmUgewogICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMC4yJTsKICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwLjIlCiAgICB9CiAgICAuaW50cm8tYXJlYS1mb3VyIHsKICAgICAgICBtaW4taGVpZ2h0OiA0Ni42NjY2N3JlbQogICAgfQogICAgLmludHJvX2FyZWE5IC5pbnRyb19hcmVhOS0tY29udGVudHMgaDEgYnIgewogICAgICAgIGRpc3BsYXk6IG5vbmUKICAgIH0KICAgIC50cC1jYXB0aW9uIC5mb3JtLXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmUKICAgIH0KICAgIC5pbnRyby1mb3VyIHsKICAgICAgICBtaW4taGVpZ2h0OiAzMy4zMzMzM3JlbQogICAgfQogICAgLmludHJvLWFyZWEtZm91ciAuaW1nLWxlZnQsCiAgICAuaW50cm8tYXJlYS1mb3VyIC5pbWctcmlnaHQgewogICAgICAgIG1heC13aWR0aDogMTByZW0KICAgIH0KICAgIC5pbnRyby10d28gewogICAgICAgIG1pbi1oZWlnaHQ6IDU1MHB4CiAgICB9CiAgICAubmF2YmFyLm5hdmJhci1iZyAubmF2YmFyLXRvZ2dsZXIgewogICAgICAgIGNvbG9yOiAjZmZmCiAgICB9CiAgICAuYnJlYWRjcnVtYjMgewogICAgICAgIHBhZGRpbmc6IDgwcHggMAogICAgfQogICAgLnNlYXJjaC13cmFwcGVyIGZvcm0gewogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNGU4ZWQKICAgIH0KICAgIC5zZWFyY2gtd3JhcHBlciAuZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLAogICAgLnNlYXJjaC13cmFwcGVyIC5mb3JtLWdyb3VwIC5zZWxlY3QtYmFzaWMgLmZvcm0tY29udHJvbCB7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZThlZCAhaW1wb3J0YW50CiAgICB9CiAgICAuc3Vic2NyaWJlLS1maXZlIGgyIHsKICAgICAgICBtYXJnaW4tdG9wOiAycmVtCiAgICB9CiAgICAucHJpY2luZy5wcmljaW5nLS0yIC5wcmljaW5nX19mZWF0dXJlc19saXN0IHsKICAgICAgICBwYWRkaW5nOiAzMHB4CiAgICB9CiAgICAucHJpY2luZy5wcmljaW5nLS0yIC5wcmljaW5nX19mZWF0dXJlc19saXN0IHVsLmxpc3QgewogICAgICAgIG1hcmdpbi10b3A6IDMwcHgKICAgIH0KICAgIC5zdWJzY3JpYmUtc2l4IGg0LAogICAgLnN1YnNjcmliZS10aHJlZSBoNCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweAogICAgfQogICAgLnN1YnNjcmliZS1zaXggaDQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDAKICAgIH0KICAgIC50YWIudGFiLS0xIC50YWJfbmF2IHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHgKICAgIH0KICAgIC5tZW51NiAubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtaXRlbS5kcm9wZG93biAubmF2LWxpbms6YmVmb3JlLAogICAgLm1lbnU3IC5uYXZiYXIubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1pdGVtLmRyb3Bkb3duIC5uYXYtbGluazpiZWZvcmUsCiAgICAubWVudTggLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWl0ZW0uZHJvcGRvd24gLm5hdi1saW5rLAogICAgLm1lbnU4IC5uYXZiYXIubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1pdGVtLmRyb3Bkb3duIC5uYXYtbGluazpiZWZvcmUgewogICAgICAgIGNvbG9yOiAjMjAyNDI4CiAgICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSBhbmQgKG1heC13aWR0aDo5OTFweCkgewogICAgaHRtbCB7CiAgICAgICAgZm9udC1zaXplOiAxNC41cHgKICAgIH0KICAgIC5nYWxsZXJ5LWZ1bGx3aWR0aCAucG9ydGZvbGlvLWNhcm91c2VsLXNpbmdsZSB7CiAgICAgICAgd2lkdGg6IDMzLjMzJQogICAgfQogICAgLmNvbnRlbnQtYmxvY2sgLmNvbnRlbnQtbGlzdC0tb25lLAogICAgLmNvbnRlbnQtYmxvY2sgLmNvbnRlbnQtbGlzdC0tdHdvIHsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICAgICAgZGlzcGxheTogZmxleAogICAgfQogICAgLmNvbnRlbnQtYmxvY2sgLmNvbnRlbnQtbGlzdC0tb25lIC5jb250ZW50LWxpc3QsCiAgICAuY29udGVudC1ibG9jayAuY29udGVudC1saXN0LS10d28gLmNvbnRlbnQtbGlzdCB7CiAgICAgICAgd2lkdGg6IDUwJQogICAgfQogICAgLmNvbnRlbnQtYmxvY2sgLmNvbnRlbnQtbGlzdC0tb25lIC5jb250ZW50LWxpc3Q6bnRoLWNoaWxkKDJuKzIpLAogICAgLmNvbnRlbnQtYmxvY2sgLmNvbnRlbnQtbGlzdC0tdHdvIC5jb250ZW50LWxpc3Q6bnRoLWNoaWxkKDJuKzIpIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHgKICAgIH0KICAgIC5jb250ZW50LWJsb2NrIC5jb250ZW50LWxpc3QtLW9uZSAuY29udGVudC1saXN0Om50aC1jaGlsZCgybisxKSwKICAgIC5jb250ZW50LWJsb2NrIC5jb250ZW50LWxpc3QtLXR3byAuY29udGVudC1saXN0Om50aC1jaGlsZCgybisxKSB7CiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweAogICAgfQogICAgLmNvbnRlbnQtYmxvY2stLTEyIC5oaWdobGlnaHRlZC10ZXh0IC5jb250ZW50IHsKICAgICAgICBtaW4taGVpZ2h0OiAyMHJlbQogICAgfQogICAgLmNvbnRlbnQtYmxvY2stLTEyIC5oaWdobGlnaHRlZC10ZXh0IC5jb250ZW50IHAgewogICAgICAgIGZvbnQtc2l6ZTogMS42NjY2N3JlbTsKICAgICAgICBsaW5lLWhlaWdodDogMi42NjY2N3JlbQogICAgfQp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7CiAgICAubWFyZ2luLXNtLTYwIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtCiAgICB9CiAgICAubWFyZ2luLXNtLTYwIHAgewogICAgICAgIG1hcmdpbi1ib3R0b206IDAKICAgIH0KICAgIC5jYXJkLWJvZHkgewogICAgICAgIHBhZGRpbmc6IDJyZW0KICAgIH0KICAgIC5ibG9nLWNhcm91c2VsLXR3byAub3dsLWl0ZW0gaW1nLAogICAgLmNhcm91c2VsLW9uZSAub3dsLWl0ZW0gaW1nLAogICAgLmNhcm91c2VsLXR3byAub3dsLWl0ZW0gaW1nIHsKICAgICAgICB3aWR0aDogMTAwJQogICAgfQogICAgLmNhcm91c2VsLXRocmVlIC5uYXYtY2lyY2xlIC5vd2wtcHJldiB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDAKICAgIH0KICAgIC5jYXJvdXNlbC10aHJlZSAubmF2LWNpcmNsZSAub3dsLW5leHQgewogICAgICAgIG1hcmdpbi1yaWdodDogMAogICAgfQogICAgLmxvZ28tY2Fyb3VzZWwtdGhyZWUgLm5hdi1zcXVhcmUtZGFyayAub3dsLXByZXYgewogICAgICAgIG1hcmdpbi1sZWZ0OiAwCiAgICB9CiAgICAubG9nby1jYXJvdXNlbC10aHJlZSAubmF2LXNxdWFyZS1kYXJrIC5vd2wtbmV4dCB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwCiAgICB9CiAgICAubG9nby1ncmlkLW9uZSBsaSwKICAgIC5sb2dvLWdyaWQtdGhyZWUgbGkgewogICAgICAgIHdpZHRoOiA1MCUKICAgIH0KICAgIC5nYWxsZXJ5LWZ1bGx3aWR0aCAucG9ydGZvbGlvLWNhcm91c2VsLXNpbmdsZSB7CiAgICAgICAgd2lkdGg6IDUwJQogICAgfQogICAgLmdhbGxlcnktZ3JpZCBmaWd1cmUgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJQogICAgfQogICAgLnRhYi50YWItLTEgLnRhYi1jb250ZW50IHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICAgICAgbWFyZ2luLXRvcDogMnJlbQogICAgfQogICAgLnRhYi1jb250ZW50LnRhYi0tY29udGVudDIgLnRhYi1wYW5lIC50YWJfaW1hZ2VfbW9kdWxlIHsKICAgICAgICBtYXJnaW4tdG9wOiAycmVtCiAgICB9CiAgICAudGFiLnRhYi0tNCAudGFiLS1jb250ZW50NCB7CiAgICAgICAgcGFkZGluZzogMi42NjY2N3JlbQogICAgfQogICAgLnRhYi50YWItLTQgLnRhYi0tY29udGVudDQgLnRleHRfY29udGVudCB7CiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDAKICAgIH0KICAgIC50YWIudGFiLS00IC5uYXYtdGFicyBsaSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXB4CiAgICB9CiAgICAudGFiLnRhYi0tOCAudGFiX25hdjcgewogICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW0KICAgIH0KICAgIC5jYXJkIGZpZ3VyZSBpbWcsCiAgICAuY2FyZC0tdGVuIGZpZ3VyZSBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlCiAgICB9CiAgICAuc2VjdGlvbi10aXRsZS1zaW1wbGUgewogICAgICAgIHdpZHRoOiAxMDAlCiAgICB9CiAgICAuc29jaWFsLWJ0bnMgbGkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDEuMzMzMzNyZW0KICAgIH0KICAgIC5jb3VudGVyLS0xLAogICAgLmNvdW50ZXItLTIsCiAgICAuY291bnRlci0tMywKICAgIC5jb3VudGVyLS00LAogICAgLmNvdW50ZXItLTYgewogICAgICAgIHBhZGRpbmctYm90dG9tOiA0LjY2NjY3cmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC5jb3VudGVyLS0xIC5jb3VudGVyX3NpbmdsZSwKICAgIC5jb3VudGVyLS0yIC5jb3VudGVyX3NpbmdsZSwKICAgIC5jb3VudGVyLS0zIC5jb3VudGVyX3NpbmdsZSwKICAgIC5jb3VudGVyLS00IC5jb3VudGVyX3NpbmdsZSwKICAgIC5jb3VudGVyLS02IC5jb3VudGVyX3NpbmdsZSB7CiAgICAgICAgd2lkdGg6IDUwJTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjMzMzMzcmVtCiAgICB9CiAgICAuYnJlYWRjcnVtYl9hcmVhLmJyZWFkY3J1bWIxIC5wYWdlX3RpdGxlIHsKICAgICAgICBsaW5lLWhlaWdodDogM3JlbTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtCiAgICB9CiAgICAuYnJlYWRjcnVtYjMgLmJyZWFkY3J1bWJfd3JhcHBlciAucGFnZV90aXRsZSwKICAgIC5icmVhZGNydW1iX2FyZWEuYnJlYWRjcnVtYjIgLnBhZ2VfdGl0bGUgewogICAgICAgIHdpZHRoOiAxMDAlCiAgICB9CiAgICAuYnJlYWRjcnVtYl9hcmVhLmJyZWFkY3J1bWIxIC5icmVhZGNydW1iX3dyYXBwZXIgewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4KICAgIH0KICAgIC5jb250ZW50LWJsb2NrLS0xMiAuaGlnaGxpZ2h0ZWQtdGV4dCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHRvcDogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZTsKICAgICAgICBwYWRkaW5nOiA1LjMzMzMzcmVtIDAKICAgIH0KICAgIC5jb250ZW50LWJsb2NrLS0xMiAuY2xpZW50cy1sb2dvIHsKICAgICAgICBwYWRkaW5nLXRvcDogMAogICAgfQogICAgLmV2ZW50LXNpbmdsZSB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbgogICAgfQogICAgLmV2ZW50LXNpbmdsZSAuZXZlbnQtZGF0ZSB7CiAgICAgICAgcGFkZGluZzogMnJlbSAwCiAgICB9CiAgICAuZXZlbnQtc2luZ2xlIC5ldmVudC1kYXRlLAogICAgLmV2ZW50LXNpbmdsZSAuZXZlbnQtaW5mbyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTsKICAgICAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAgICAgLW1zLWZsZXg6IDE7CiAgICAgICAgZmxleDogMQogICAgfQogICAgLmhlYWRlci0tNiAubmF2X3JpZ2h0X2NvbnRlbnQgLmNhcnRfbW9kdWxlLAogICAgLmhlYWRlci0tNiAubmF2X3JpZ2h0X2NvbnRlbnQgLnNlYXJjaF9tb2R1bGUgewogICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogMTsKICAgICAgICAtbXMtZmxleC1vcmRlcjogMTsKICAgICAgICBvcmRlcjogMQogICAgfQogICAgLmhlYWRlci0tNiAubmF2X3JpZ2h0X2NvbnRlbnQgLmN0YWJ0biB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTsKICAgICAgICAtd2Via2l0LW9yZGVyOiAwOwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAwOwogICAgICAgIG9yZGVyOiAwOwogICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudAogICAgfQogICAgLm5hdl9yaWdodF9jb250ZW50IC5jYXJ0X21vZHVsZSAuY2FydF9faXRlbXMgewogICAgICAgIHdpZHRoOiAyNTBweDsKICAgICAgICBtaW4td2lkdGg6IGF1dG87CiAgICAgICAgcmlnaHQ6IDAKICAgIH0KICAgIC5uYXZfcmlnaHRfY29udGVudCAuY2FydF9tb2R1bGUgLmNhcnRfX2l0ZW1zIC5jYXJ0X2luZm8gYSthIHsKICAgICAgICBtYXJnaW4tbGVmdDogMDsKICAgICAgICBtYXJnaW4tdG9wOiAxMHB4CiAgICB9CiAgICAuZXJyb3Itd3JhcHBlciAuZXJyb3ItY29udGVudHMgcCB7CiAgICAgICAgd2lkdGg6IDEwMCUKICAgIH0KICAgIC5ob21lOC1jb3VudGVyIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMAogICAgfQogICAgLnRpbWVsaW5lMSAuaGFwcGVuaW5nIC5oYXBwZW5pbmdfX3BlcmlvZDpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6IG5vbmUKICAgIH0KICAgIC50aW1lbGluZTEgLmhhcHBlbmluZyAuaGFwcGVuaW5nX19wZXJpb2QgLndyYXBwZXI6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiBub25lCiAgICB9CiAgICAudGltZWxpbmUxIC5oYXBwZW5pbmcgLmhhcHBlbmluZ19fZGVzYyB7CiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07CiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbQogICAgfQogICAgLnRpbWVsaW5lMSAuaGFwcGVuaW5nOmxhc3QtY2hpbGQgLmhhcHBlbmluZ19fZGVzYyB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDAKICAgIH0KICAgIC5zZWFyY2gtd3JhcHBlciAuZm9ybS1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtCiAgICB9CiAgICAuYWN0aW9uLWJ0bnMgdWwgbGkgewogICAgICAgIG1hcmdpbi1ib3R0b206IC42NjY2N3JlbQogICAgfQogICAgLmNhcmVlci1zZWFyY2ggLnNlYXJjaC13cmFwcGVyIC5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2w6Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNGU4ZWQgIWltcG9ydGFudAogICAgfQogICAgLmNhcmVlci1zZWFyY2ggLnNlYXJjaC13cmFwcGVyIGZvcm0gewogICAgICAgIHBhZGRpbmc6IDMwcHgKICAgIH0KICAgIC5zZXJ2aWNlLXRhYi13cmFwcGVyIC5zZXJ2aWNlLS10YWJzIC5zaWRlYmFyIC5jdGEtd2lkZ2V0LAogICAgLnNlcnZpY2UtdGFiLXdyYXBwZXIgLnNlcnZpY2UtLXRhYnMgLnNpZGViYXIgLmRvd25sb2FkLXdpZGdldCB7CiAgICAgICAgd2lkdGg6IDEwMCUKICAgIH0KICAgIC5zZXJ2aWNlLXRhYi13cmFwcGVyIC5zZXJ2aWNlLS10YWJzIC5zaWRlYmFyIC5kb3dubG9hZC13aWRnZXQgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcgogICAgfQogICAgLnNlcnZpY2UtdGFiLXdyYXBwZXIgLnNlcnZpY2UtLXRhYnMgLnNpZGViYXIgLmRvd25sb2FkLXdpZGdldCAuY29udGVudCBwIHsKICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIKICAgIH0KICAgIC5sb2dpbi1yZWdpc3RlciAubG9naW4tZm9ybSAuZm9ybS13cmFwcGVyIC5vdGhlci1sb2dpbnMsCiAgICAubG9naW4tcmVnaXN0ZXIgLnNpZ251cC1mb3JtIC5mb3JtLXdyYXBwZXIgLm90aGVyLWxvZ2lucyB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIKICAgIH0KICAgIC5sb2dpbi1yZWdpc3RlciAubG9naW4tZm9ybSAuZm9ybS13cmFwcGVyIC5vdGhlci1sb2dpbnMgYSwKICAgIC5sb2dpbi1yZWdpc3RlciAuc2lnbnVwLWZvcm0gLmZvcm0td3JhcHBlciAub3RoZXItbG9naW5zIGEgewogICAgICAgIG1hcmdpbjogMTBweCAwCiAgICB9CiAgICAucHJvamVjdC1zaW5nbGUgLnByb2plY3QtaW5mbyAuaW5mby1ib3ggewogICAgICAgIG1hcmdpbi10b3A6IDNyZW0KICAgIH0KICAgIC5ibG9nLXNpbmdsZS13cmFwcGVyIC5wb3N0LWJvdHRvbSB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydCAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RhcnQ7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0OwogICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydAogICAgfQogICAgLmJsb2ctc2luZ2xlLXdyYXBwZXIgLnBvc3QtYm90dG9tIC5zb2NpYWwtc2hhcmUgewogICAgICAgIG1hcmdpbi10b3A6IDEuMzMzMzNyZW0KICAgIH0KICAgIC5jYXJ0LXRhYmxlIC5jYXJ0LWFjdGlvbnMgLm1sLWF1dG8gewogICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgICAgICAgbWFyZ2luLXRvcDogMXJlbQogICAgfQogICAgLmNoZWNrb3V0LXdyYXBwZXIgLm5hdi1pdGVtIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudAogICAgfQogICAgLnRhYi50YWItLTYgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5uYXYtbGluazpiZWZvcmUgewogICAgICAgIGJvdHRvbTogYXV0bzsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOwogICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsKICAgICAgICBsZWZ0OiBhdXRvOwogICAgICAgIHJpZ2h0OiAwCiAgICB9CiAgICAuZ2FsbGVyeS1pbWFnZS12aWV3IC5wb3J0Zm9saW8tY2Fyb3VzZWwtc2luZ2xlIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCUKICAgIH0KICAgIC5wcm9kdWN0LWluZm8tdGFiIC5yZXZpZXctd3JhcHBlciAucmV2aWV3cyB7CiAgICAgICAgcGFkZGluZzogMAogICAgfQogICAgLm5hdi1jaXJjbGUgYnV0dG9uIHsKICAgICAgICB3aWR0aDogM3JlbTsKICAgICAgICBoZWlnaHQ6IDNyZW0KICAgIH0KICAgIHRleHRhcmVhLmZvcm0tY29udHJvbCB7CiAgICAgICAgaGVpZ2h0OiAyMDBweAogICAgfQogICAgaHRtbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4CiAgICB9CiAgICAubWItc20tNTAgewogICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHgKICAgIH0KICAgIC5zZXJ2aWNlc19hcmVhIC5pY29uLWJveC1maXZlIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDA7CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAKICAgIH0KICAgIC5ldmVudC1zaW5nbGUgLmV2ZW50LWluZm8gewogICAgICAgIHBhZGRpbmc6IDJyZW0gMi4zMzMzM3JlbQogICAgfQogICAgLm5hdl9yaWdodF9jb250ZW50IC5zZWFyY2hfbW9kdWxlIHsKICAgICAgICBwb3NpdGlvbjogaW5pdGlhbAogICAgfQogICAgLm5hdl9yaWdodF9jb250ZW50IC5zZWFyY2hfbW9kdWxlIC5zZWFyY2hfYXJlYSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcmlnaHQ6IDAKICAgIH0KICAgIC5uYXZfcmlnaHRfY29udGVudCAuc2VhcmNoX21vZHVsZSAuc2VhcmNoX2FyZWEuYWN0aXZlIHsKICAgICAgICB0b3A6IDEwMCUKICAgIH0KICAgIC5jdGEtLW5pbmUgLmN0YS0tbm9uZS1jb250ZW50cyB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyCiAgICB9CiAgICAuY3RhLS1uaW5lIC5jdGEtLW5vbmUtY29udGVudHMgaDMgewogICAgICAgIG1hcmdpbi10b3A6IDJyZW0KICAgIH0KICAgIC5hYm91dC13cmFwcGVyIGltZyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbQogICAgfQogICAgLmFib3V0LXdyYXBwZXIgLmxpbmUtY2hhcnRfd3JhcCB7CiAgICAgICAgbWFyZ2luLXRvcDogMnJlbQogICAgfQogICAgLnRlYW0tY2Fyb3VzZWwtdGhyZWUgLmNhcm91c2VsLXNpbmdsZSAudGVhbS1kZXNjIHsKICAgICAgICBwYWRkaW5nOiAycmVtCiAgICB9CiAgICAudGVhbS1jYXJvdXNlbC10aHJlZSAuY2Fyb3VzZWwtc2luZ2xlIC50ZWFtLWltZyB7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyCiAgICB9CiAgICAuaW50cm8tdGhyZWUsCiAgICAuaW50cm8tdHdvIHsKICAgICAgICBwYWRkaW5nOiA1LjMzMzMzcmVtIDAKICAgIH0KICAgIC5pbnRyby10d28gLmZvcm0td3JhcHBlciB7CiAgICAgICAgbWFyZ2luLXRvcDogMy4zMzMzM3JlbQogICAgfQogICAgLmltYWdlLWNhcm91c2VsLW9uZSAubmF2LWNpcmNsZSBidXR0b24gewogICAgICAgIHdpZHRoOiAyLjMzMzMzcmVtOwogICAgICAgIGhlaWdodDogMi4zMzMzM3JlbTsKICAgICAgICBmb250LXNpemU6IC44NjY2N3JlbQogICAgfQogICAgLnRleHQtYm94IHsKICAgICAgICBtYXJnaW4tdG9wOiAwCiAgICB9CiAgICAudGFiLnRhYi0tMiAudGFiX25hdjIgLm5hdiAubmF2LWl0ZW0gLm5hdi1saW5rLAogICAgLnRhYi50YWItLTYgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5uYXYtbGluayB7CiAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW0KICAgIH0KICAgIC50YWIudGFiLS0yIC50YWJfbmF2MiAubmF2IC5uYXYtaXRlbSAubmF2LWxpbmsuYWN0aXZlOmFmdGVyLAogICAgLnRhYi50YWItLTYgLnRhYl9uYXYyIC5uYXYgLm5hdi1pdGVtIC5uYXYtbGluay5hY3RpdmU6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6IG5vbmUKICAgIH0KICAgIC5jaGVja291dC13cmFwcGVyIC50YWItY29udGVudCAubWV0aG9kLTEgLmJvZHkgcCBpbWcgewogICAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IDEwcHgKICAgIH0KICAgIC5xdW90ZXMtd2l0aC1pbWFnZSAuYmxvY2txdW90ZTUgewogICAgICAgIG1hcmdpbi10b3A6IDgwcHgKICAgIH0KICAgIC5xdW90ZXMtd2l0aC1pbWFnZSAuYmxvY2txdW90ZTUgLmF1dGhvci1zaWduIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwCiAgICB9CiAgICAubmF2LWNpcmNsZSAub3dsLW5leHQsCiAgICAubmF2LWNpcmNsZSAub3dsLXByZXYgewogICAgICAgIG1hcmdpbjogMAogICAgfQogICAgLnRpbWVsaW5lMSAuaGFwcGVuaW5nIC5oYXBwZW5pbmdfX3BlcmlvZCAud3JhcHBlcjphZnRlciB7CiAgICAgICAgY29udGVudDogbm9uZQogICAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDozMjBweCkgYW5kIChtYXgtd2lkdGg6NTc1Ljk4cHgpIHsKICAgIC5sb2dvLWdyaWQtb25lIGxpLAogICAgLmxvZ28tZ3JpZC10aHJlZSBsaSB7CiAgICAgICAgd2lkdGg6IDEwMCUKICAgIH0KICAgIC5nYWxsZXJ5LWZ1bGx3aWR0aCAucG9ydGZvbGlvLWNhcm91c2VsLXNpbmdsZSB7CiAgICAgICAgd2lkdGg6IDEwMCUKICAgIH0KICAgIC50YWIudGFiLS00IC5uYXYtdGFicyBsaSB7CiAgICAgICAgd2lkdGg6IDEwMCUKICAgIH0KICAgIC50YWIudGFiLS00IC5uYXYtcGlsbHMgbGkgewogICAgICAgIG1hcmdpbi10b3A6IDFyZW0KICAgIH0KICAgIC50YWIudGFiLS03IC50YWJfbmF2NyAubmF2IC5uYXYtaXRlbSwKICAgIC50YWIudGFiLS04IC50YWJfbmF2NyAubmF2IC5uYXYtaXRlbSB7CiAgICAgICAgd2lkdGg6IDEwMCUKICAgIH0KICAgIC50YWIudGFiLS0zIHVsLm5hdiB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbgogICAgfQogICAgLnRhYi50YWItLTMgLnRhYl9uYXYzIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbQogICAgfQogICAgLnRhYi50YWItLTMgLnRhYl9uYXYzIC5uYXYgbGkgYSB7CiAgICAgICAgcGFkZGluZzogMCAwIDFyZW0gMAogICAgfQogICAgLmJyZWFkY3J1bWIgewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyCiAgICB9CiAgICAuYnJlYWRjcnVtYiBsaSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjY2NjY3cmVtCiAgICB9CiAgICAuYnJlYWRjcnVtYiBsaTpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwCiAgICB9CiAgICAuY291bnRlci0tMSAuY291bnRlcl9zaW5nbGUsCiAgICAuY291bnRlci0tMiAuY291bnRlcl9zaW5nbGUsCiAgICAuY291bnRlci0tMyAuY291bnRlcl9zaW5nbGUsCiAgICAuY291bnRlci0tNCAuY291bnRlcl9zaW5nbGUsCiAgICAuY291bnRlci0tNiAuY291bnRlcl9zaW5nbGUgewogICAgICAgIHdpZHRoOiAxMDAlCiAgICB9CiAgICAuc3Vic2NyaWJlLS10d28gLnN1YnNjcmliZS1mb3JtLAogICAgLnN1YnNjcmliZS1zaXggLnN1YnNjcmliZS1mb3JtLAogICAgLnN1YnNjcmliZS10aHJlZSAuc3Vic2NyaWJlLWZvcm0gewogICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQKICAgIH0KICAgIC5zdWJzY3JpYmUtLXR3byAuc3Vic2NyaWJlLWZvcm0gYnV0dG9uLAogICAgLnN1YnNjcmliZS1zaXggLnN1YnNjcmliZS1mb3JtIGJ1dHRvbiwKICAgIC5zdWJzY3JpYmUtdGhyZWUgLnN1YnNjcmliZS1mb3JtIGJ1dHRvbiB7CiAgICAgICAgbWFyZ2luOiAxLjMzMzMzcmVtIDAgMCAwCiAgICB9CiAgICAucHJvY2Vzcy1vbmUgLnByb2Nlc3Mtc2luZ2xlIHsKICAgICAgICB3aWR0aDogMTAwJQogICAgfQogICAgLnBvcnRmb2xpby1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHsKICAgICAgICB3aWR0aDogMTAwJQogICAgfQogICAgLnBhZ2luYXRpb24tYXJlYSAucGFnaW5hdGlvbiB7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXAKICAgIH0KICAgIC5maWx0ZXItd3JhcHBlciAuZmlsdGVyLXNvcnQgdWwgewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4KICAgIH0KICAgIC5lcnJvci13cmFwcGVyIHsKICAgICAgICBwYWRkaW5nOiA4cmVtIDAKICAgIH0KICAgIC5lcnJvci13cmFwcGVyIC5lcnJvci1jb250ZW50cyAuZXJyb3ItNDA0IHsKICAgICAgICBmb250LXNpemU6IDhyZW0KICAgIH0KICAgIC5lcnJvci13cmFwcGVyIC5lcnJvci1jb250ZW50cyBoMiB7CiAgICAgICAgZm9udC1zaXplOiAxLjY2NjY3cmVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyLjMzMzMzcmVtCiAgICB9CiAgICAuYXBwbHktZm9ybSBmb3JtIC5mb3JtLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uCiAgICB9CiAgICAuYXBwbHktZm9ybSBmb3JtIC5mb3JtLWdyb3VwIGxhYmVsIHsKICAgICAgICBtaW4td2lkdGg6IDEwMCUKICAgIH0KICAgIC5jb3VudGRvd24gewogICAgICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwOwogICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcgogICAgfQogICAgLmNvdW50ZG93biBsaSB7CiAgICAgICAgbWFyZ2luOiAwIC42NjY2N3JlbSAxLjMzMzMzcmVtICFpbXBvcnRhbnQKICAgIH0KICAgIC50YWJfZXZlbnQgLnRhYl9ldmVudF9fbW9kdWxlIC5zcGVha2VycyB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbgogICAgfQogICAgLnRhYl9ldmVudCAudGFiX2V2ZW50X19tb2R1bGUgLnNwZWFrZXJzIGxpIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjMzMzMzcmVtCiAgICB9CiAgICAudGFiX2V2ZW50IC50YWJfZXZlbnRfX21vZHVsZSAuc3BlYWtlcnMgbGk6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMAogICAgfQogICAgLnRhYl9ldmVudCAudGFiX2V2ZW50X19tb2R1bGUgLnNwZWFrZXJzIGxpK2xpIHsKICAgICAgICBtYXJnaW4tbGVmdDogMAogICAgfQogICAgLmxvZ2luLXJlZ2lzdGVyIC5sb2dpbi1mb3JtIC5mb3JtLXdyYXBwZXIgLmZvcm0tYWN0aW9uIHsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4CiAgICB9CiAgICAubG9naW4tcmVnaXN0ZXIgLmxvZ2luLWZvcm0gLmZvcm0td3JhcHBlciAuZm9ybS1hY3Rpb24gLmN1c3RvbS1jb250cm9sIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbQogICAgfQogICAgLmNvbWluZy1zb29uIC5jcy1jb250ZW50cyBwIHsKICAgICAgICB3aWR0aDogMTAwJQogICAgfQogICAgLmNvbWluZy1zb29uIC5jcy1jb250ZW50cyBmb3JtIC5zdWJzY3JpYmUtZm9ybSB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwOwogICAgICAgIGZsZXgtd3JhcDogd3JhcAogICAgfQogICAgLmNvbWluZy1zb29uIC5jcy1jb250ZW50cyBmb3JtIC5zdWJzY3JpYmUtZm9ybSBidXR0b24gewogICAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IDFyZW0KICAgIH0KICAgIC5yZWxhdGVkLXBvc3QgLnNpbmdsZS1wb3N0IGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCUKICAgIH0KICAgIC5ibG9nLXNpbmdsZS13cmFwcGVyIC5wb3N0LXBhZ2luYXRpb24gewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4KICAgIH0KICAgIC5ibG9nLXNpbmdsZS13cmFwcGVyIC5wb3N0LXBhZ2luYXRpb24gLm5leHQtcG9zdCB7CiAgICAgICAgbWFyZ2luLXRvcDogMXJlbQogICAgfQogICAgLnByb2R1Y3QtaW5mby10YWIgLnJldmlldy13cmFwcGVyIC5yZXZpZXdzIC5yZXZpZXctc2luZ2xlIHsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uCiAgICB9CiAgICAucHJvZHVjdC1pbmZvLXRhYiAucmV2aWV3LXdyYXBwZXIgLnJldmlld3MgLnJldmlldy1zaW5nbGUgLnJldmlldy10ZXh0IHsKICAgICAgICBtYXJnaW4tdG9wOiAycmVtCiAgICB9CiAgICAucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LWluZm8gLnByb2R1Y3Qtc2hhcmUgewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RhcnQgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsKICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQgIWltcG9ydGFudAogICAgfQogICAgLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1pbmZvIC5wcm9kdWN0LXNoYXJlPnNwYW4gewogICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW0KICAgIH0KICAgIC5yZXZfY29sdW1uIHsKICAgICAgICBwYWRkaW5nOiAwIDE1cHggIWltcG9ydGFudAogICAgfQogICAgLmdvX3RvcCB7CiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICAgICAgd2lkdGg6IDMwcHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4CiAgICB9CiAgICAuc2VydmljZXNfYXJlYSAuaWNvbi1ib3gtZml2ZSB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHgKICAgIH0KICAgIC5pbnRyby1vbmUgLmludHJvLW9uZS0tY29udGVudHMgewogICAgICAgIHBhZGRpbmctdG9wOiA0MHB4CiAgICB9CiAgICAuZGlzcGxheS0zIHsKICAgICAgICBmb250LXNpemU6IDIuNXJlbQogICAgfQogICAgLmxvZ2luLXJlZ2lzdGVyIC5sb2dpbi1mb3JtIC5mb3JtLXdyYXBwZXIgLm90aGVyLWxvZ2lucyBhLAogICAgLmxvZ2luLXJlZ2lzdGVyIC5zaWdudXAtZm9ybSAuZm9ybS13cmFwcGVyIC5vdGhlci1sb2dpbnMgYSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyCiAgICB9CiAgICAubGlzdC1pbmxpbmUtd3JhcHBlciAubGlzdC0taW5saW5lIHsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uCiAgICB9CiAgICAucC10b3AtNzAgewogICAgICAgIHBhZGRpbmctdG9wOiA1MHB4CiAgICB9CiAgICAucC1ib3R0b20tNzAgewogICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4CiAgICB9CiAgICAucC10b3AtMTA1IHsKICAgICAgICBwYWRkaW5nLXRvcDogNzVweAogICAgfQogICAgLnAtYm90dG9tLTc1IHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweAogICAgfQogICAgLmNvbnRlbnQtYmxvY2stLTE1IHsKICAgICAgICBwYWRkaW5nOiA3M3B4IDAgNjJweAogICAgfQogICAgLnRlc3RpbW9uaWFsLWNhcm91c2VsLXNpeC13cmFwcGVyIHsKICAgICAgICBwYWRkaW5nOiA2LjA2NjY3cmVtIDAgNS44NjY2N3JlbSAwCiAgICB9CiAgICAucC10b3AtMTAwIHsKICAgICAgICBwYWRkaW5nLXRvcDogNzBweAogICAgfQogICAgLnN1YnNjcmliZS1zZXZlbiB7CiAgICAgICAgcGFkZGluZzogNTBweCAwCiAgICB9CiAgICBmb290ZXIgLmZvb3Rlcl9fYmlnIHsKICAgICAgICBwYWRkaW5nOiA3NXB4IDAgMjBweAogICAgfQogICAgLnNlcnZpY2UtdHdvIHsKICAgICAgICBwYWRkaW5nOiA4MHB4IDAgNTBweAogICAgfQogICAgLnAtdG9wLTExMCwKICAgIC5wLXRvcC0xMTUsCiAgICAucC10b3AtMTIwIHsKICAgICAgICBwYWRkaW5nLXRvcDogODBweAogICAgfQogICAgLnAtYm90dG9tLTEwMCwKICAgIC5wLWJvdHRvbS0xMDUsCiAgICAucC1ib3R0b20tMTEwLAogICAgLnAtYm90dG9tLTEyMCwKICAgIC5wLWJvdHRvbS05NSB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHgKICAgIH0KICAgIC50ZWFtLXdyYXBwZXIrLnAtdG9wLTUwIHsKICAgICAgICBwYWRkaW5nLXRvcDogMAogICAgfQogICAgLnN1YnNjcmliZS1laWdodCB7CiAgICAgICAgcGFkZGluZzogODBweCAwIDAKICAgIH0KICAgIC5zZXJ2aWNlc19hcmVhLnAtYm90dG9tLTcwIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweAogICAgfQogICAgLnNlY3Rpb24tcGFkZGluZyB7CiAgICAgICAgcGFkZGluZzogODBweCAwCiAgICB9CiAgICAudGVzdGltb25pYWxzIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweAogICAgfQogICAgLnAtYm90dG9tLTkwIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzBweAogICAgfQogICAgLnAtYm90dG9tLTgwIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweAogICAgfQogICAgLmJsb2NrLWZ1bGwtd2lkdGgsCiAgICAuYmxvY2stZnVsbC13aWR0aDIgewogICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87CiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHgKICAgIH0KICAgIC5ibG9jay1mdWxsLXdpZHRoMiB7CiAgICAgICAgcGFkZGluZy10b3A6IDUwcHgKICAgIH0KICAgIC5jb3VudGVyLmNvdW50ZXItLTMgewogICAgICAgIHBhZGRpbmc6IDgwcHggMCAzMHB4ICFpbXBvcnRhbnQKICAgIH0KICAgIC50ZXN0aW1vbmlhbC1jYXJvdXNlbC1mb3VyIHsKICAgICAgICBwYWRkaW5nOiA4MHB4IDAgNzBweAogICAgfQogICAgLmNvdW50ZXItLTEsCiAgICAuY291bnRlci0tMiwKICAgIC5jb3VudGVyLS0zLAogICAgLmNvdW50ZXItLTQsCiAgICAuY291bnRlci0tNiB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDI4cHggIWltcG9ydGFudAogICAgfQogICAgLnN1YnNjcmliZS1mb3VyIHsKICAgICAgICBwYWRkaW5nOiA4MHB4IDAKICAgIH0KICAgIC50ZXN0aW1vbmlhbDYgLnNpbmdsZV90ZXN0aW1vbmlhbC5wLWJvdHRvbS01MCB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDAKICAgIH0KICAgIC5hY2NvcmRpb24tc3R5bGVzIC5hY2NvcmRpb25fZm91ciB7CiAgICAgICAgbWFyZ2luLXRvcDogNTBweAogICAgfQogICAgLmNvdW50ZXIuY291bnRlci0tNSB7CiAgICAgICAgcGFkZGluZzogODBweCAwIDU1cHgKICAgIH0KICAgIC5zcGxpdHRlZC1iYW5uZXIgewogICAgICAgIHBhZGRpbmc6IDgwcHggMAogICAgfQogICAgLnAtYm90dG9tLTU1IHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweAogICAgfQogICAgLmxvZ28tY2Fyb3VzZWwgewogICAgICAgIHBhZGRpbmc6IDgwcHggMAogICAgfQogICAgLm0tdG9wLTExMCB7CiAgICAgICAgbWFyZ2luLXRvcDogODBweAogICAgfQogICAgLnNlY3Rpb24tcGFkZGluZzIgewogICAgICAgIHBhZGRpbmc6IDgwcHggMCA1MHB4CiAgICB9CiAgICAucHJvamVjdC1ncmlkLTMuc2VjdGlvbi1wYWRkaW5nMiB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHgKICAgIH0KICAgIC5tLWJvdHRvbS0xMjAgewogICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHgKICAgIH0KICAgIC5pbmZvcm1hdGlvbi1ib3ggewogICAgICAgIHBhZGRpbmc6IDgwcHggMCA2MHB4ICFpbXBvcnRhbnQKICAgIH0KICAgIC5hY3Rpb24tYnRucyB1bCBsaSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMAogICAgfQogICAgLmFjdGlvbi1idG5zIHVsIGxpLnNoYXJlLWJ0biB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDAKICAgIH0KICAgIC5jaGVja291dC1jb25maXJtIHsKICAgICAgICBwYWRkaW5nOiA3MnB4IDAgODBweAogICAgfQp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ3OXB4KSB7CiAgICBodG1sIHsKICAgICAgICBmb250LXNpemU6IDEzcHgKICAgIH0KICAgIGJvZHkgewogICAgICAgIGZvbnQtc2l6ZTogMTRweAogICAgfQogICAgLnRvcF9iYXIgLnRvcF9iYXItLWxhbmcgewogICAgICAgIGRpc3BsYXk6IG5vbmUKICAgIH0KICAgIC50b3BfYmFyIC50b3BiYXJfY29udGVudCB7CiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQKICAgIH0KICAgIC5tZW51NiAuY3RhYnRuLAogICAgLm1lbnU2IC5zZWFyY2hfbW9kdWxlIHsKICAgICAgICBkaXNwbGF5OiBub25lCiAgICB9CiAgICAubWVudTEgLm5hdmJhci1icmFuZCB7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMSAhaW1wb3J0YW50OwogICAgICAgIC13ZWJraXQtb3JkZXI6IDAgIWltcG9ydGFudDsKICAgICAgICAtbXMtZmxleC1vcmRlcjogMCAhaW1wb3J0YW50OwogICAgICAgIG9yZGVyOiAwICFpbXBvcnRhbnQKICAgIH0KICAgIC5tZW51MSAubmF2X3JpZ2h0X2NvbnRlbnQgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudAogICAgfQogICAgLm1lbnU1IHsKICAgICAgICBwYWRkaW5nOiAxMnB4IDAKICAgIH0KICAgIC5tZW51NSAubmF2YmFyLWJyYW5kIHsKICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxICFpbXBvcnRhbnQ7CiAgICAgICAgLXdlYmtpdC1vcmRlcjogMCAhaW1wb3J0YW50OwogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAwICFpbXBvcnRhbnQ7CiAgICAgICAgb3JkZXI6IDAgIWltcG9ydGFudDsKICAgICAgICB3aWR0aDogNTAlCiAgICB9CiAgICAubWVudTUgLm5hdl9yaWdodF9jb250ZW50IHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQKICAgIH0KICAgIC5uYXZiYXIgLm5hdmJhci1icmFuZCB7CiAgICAgICAgd2lkdGg6IDQwJQogICAgfQogICAgLmJyZWFkY3J1bWJfYXJlYS5icmVhZGNydW1iMiB7CiAgICAgICAgcGFkZGluZy10b3A6IDRyZW0KICAgIH0KICAgIC5icmVhZGNydW1iX2FyZWEuYnJlYWRjcnVtYjIgLnBhZ2VfdGl0bGUgewogICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW0KICAgIH0KICAgIC5zaG93Y2FzZS1ib3ggLnNob3djYXNlLWJvZHksCiAgICAuc2hvd2Nhc2UtYm94IC5zaG93Y2FzZS1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDJyZW0KICAgIH0KICAgIC5jdGEtd3JhcHBlciB7CiAgICAgICAgcGFkZGluZzogNnJlbSAwCiAgICB9CiAgICAuY2FyZCAuY2FyZC1ib2R5IHsKICAgICAgICBwYWRkaW5nOiAycmVtCiAgICB9CiAgICAuY2FyZCAuY2FyZC1mb290ZXIgewogICAgICAgIHBhZGRpbmc6IDEuNjZyZW0KICAgIH0KICAgIC5jdGEtLW5pbmU6YmVmb3JlLAogICAgZm9vdGVyLmZvb3RlcjY6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiBub25lCiAgICB9CiAgICBmb290ZXIuZm9vdGVyNiB7CiAgICAgICAgcGFkZGluZy10b3A6IDAKICAgIH0KICAgIGZvb3RlciAuZm9vdGVyX19ib3R0b20gLmZvb3Rlcl9fYm90dG9tLWNvbnRlbnQgewogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcgogICAgfQogICAgZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAuZm9vdGVyX19ib3R0b20tY29udGVudCBwIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbQogICAgfQogICAgLnBsYXktYnRuLnBsYXktYnRuLS1sZyB7CiAgICAgICAgd2lkdGg6IDMuMzMzMzNyZW07CiAgICAgICAgaGVpZ2h0OiAzLjMzMzMzcmVtCiAgICB9CiAgICAucGxheS1idG4ucGxheS1idG4tLWxnIC5zdmcgewogICAgICAgIHdpZHRoOiAxNXB4CiAgICB9CiAgICAubmF2LXBpbGxzIC5uYXYtaXRlbSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweAogICAgfQogICAgLmNvbWluZy1zb29uIC5jcy1jb250ZW50cyAuY3MtdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAyLjMzMzMzcmVtCiAgICB9CiAgICAuY29udGVudC1ibG9jay0tMTIgLmhpZ2hsaWdodGVkLXRleHQgLmNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDE1cHggMjBweAogICAgfQogICAgLnN1YnNjcmliZS1mb3JtLXR3byB7CiAgICAgICAgcGFkZGluZzogMAogICAgfQogICAgLnN1YnNjcmliZS1mb3JtLXR3byAuYnRuIHsKICAgICAgICBwb3NpdGlvbjogc3RhdGljOwogICAgICAgIHRvcDogMDsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZTsKICAgICAgICBtYXJnaW4tdG9wOiAxNXB4CiAgICB9CiAgICAuc3Vic2NyaWJlLWZvcm0tdHdvIC5mb3JtLWNvbnRyb2wgewogICAgICAgIHBhZGRpbmc6IDAgMTVweAogICAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDo0ODBweCkgYW5kIChtYXgtd2lkdGg6NTc1cHgpIHsKICAgIGh0bWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweAogICAgfQp9"}},"time_used":125,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":114,"receive":11,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/img/logos.png","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.953Z","timestamp":1785129291953,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /img/logos.png HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 25 Oct 2025 19:29:11 GMT\r\naccept-ranges: bytes\r\ncontent-length: 91348\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":91348,"size_decoded":91614,"mime_type":"image/png","magic":"PNG image data, 1111 x 878, 8-bit/color RGBA, non-interlaced","md5":"2a97cad094a27fccca48bf86ba154ec4","sha1":"995007967cdacc5df0ee24a8b899c26b4971c415","sha256":"8b06bd227cf693d1a8f570e1cbe25a755e66bbd0f51aef87c58ad40374b7fe33","sha512":"b14e73d6b0ce8d884accd32829e7c9026ca6f71b27a7c4927595a20b843a4122bbb8a783c31d180bac724ec521aecfe96e026aa8a24bdf9ac410d3bc10d3e275","ssdeep":"1536:SlrChNdxoEpmZZtYWiZDRZWA4DCbTPCnOkc8ateXOBma5RAHvnyiRyi1ceJiSkaA:IsjpQb9EC+bTPCOkcrtOa5RWKiRyW8Sw","tlshash":"8593019a1e15ce86fd626cb74723b57d7f9a9f761bc8f8087594ccac39143d82348122","first_seen":"2026-07-27T03:49:43.32815Z","last_seen":"2026-07-27T05:16:58.442274Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAABFcAAANuCAYAAADTjOYWAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKL2lDQ1BJQ0MgUHJvZmlsZQAASMedlndUVNcWh8+9d3qhzTDSGXqTLjCA9C4gHQRRGGYGGMoAwwxNbIioQEQREQFFkKCAAaOhSKyIYiEoqGAPSBBQYjCKqKhkRtZKfHl57+Xl98e939pn73P32XuftS4AJE8fLi8FlgIgmSfgB3o401eFR9Cx/QAGeIABpgAwWempvkHuwUAkLzcXerrICfyL3gwBSPy+ZejpT6eD/0/SrFS+AADIX8TmbE46S8T5Ik7KFKSK7TMipsYkihlGiZkvSlDEcmKOW+Sln30W2VHM7GQeW8TinFPZyWwx94h4e4aQI2LER8QFGVxOpohvi1gzSZjMFfFbcWwyh5kOAIoktgs4rHgRm4iYxA8OdBHxcgBwpLgvOOYLFnCyBOJDuaSkZvO5cfECui5Lj25qbc2ge3IykzgCgaE/k5XI5LPpLinJqUxeNgCLZ/4sGXFt6aIiW5paW1oamhmZflGo/7r4NyXu7SK9CvjcM4jW94ftr/xS6gBgzIpqs+sPW8x+ADq2AiB3/w+b5iEAJEV9a7/xxXlo4nmJFwhSbYyNMzMzjbgclpG4oL/rfzr8DX3xPSPxdr+Xh+7KiWUKkwR0cd1YKUkpQj49PZXJ4tAN/zzE/zjwr/NYGsiJ5fA5PFFEqGjKuLw4Ubt5bK6Am8Kjc3n/qYn/MOxPWpxrkSj1nwA1yghI3aAC5Oc+gKIQARJ5UNz13/vmgw8F4psXpjqxOPefBf37rnCJ+JHOjfsc5xIYTGcJ+RmLa+JrCdCAACQBFcgDFaABdIEhMANWwBY4AjewAviBYBAO1gIWiAfJgA8yQS7YDApAEdgF9oJKUAPqQSNoASdABzgNLoDL4Dq4Ce6AB2AEjIPnYAa8AfMQBGEhMkSB5CFVSAsygMwgBmQPuUE+UCAUDkVDcRAPEkK50BaoCCqFKqFaqBH6FjoFXYCuQgPQPWgUmoJ+hd7DCEyCqbAyrA0bwwzYCfaGg+E1cBycBufA+fBOuAKug4/B7fAF+Dp8Bx6Bn8OzCECICA1RQwwRBuKC+CERSCzCRzYghUg5Uoe0IF1IL3ILGUGmkXcoDIqCoqMMUbYoT1QIioVKQ21AFaMqUUdR7age1C3UKGoG9QlNRiuhDdA2aC/0KnQcOhNdgC5HN6Db0JfQd9Dj6DcYDIaG0cFYYTwx4ZgEzDpMMeYAphVzHjOAGcPMYrFYeawB1g7rh2ViBdgC7H7sMew57CB2HPsWR8Sp4sxw7rgIHA+XhyvHNeHO4gZxE7h5vBReC2+D98Oz8dn4Enw9vgt/Az+OnydIE3QIdoRgQgJhM6GC0EK4RHhIeEUkEtWJ1sQAIpe4iVhBPE68QhwlviPJkPRJLqRIkpC0k3SEdJ50j/SKTCZrkx3JEWQBeSe5kXyR/Jj8VoIiYSThJcGW2ChRJdEuMSjxQhIvqSXpJLlWMkeyXPKk5A3JaSm8lLaUixRTaoNUldQpqWGpWWmKtKm0n3SydLF0k/RV6UkZrIy2jJsMWyZf5rDMRZkxCkLRoLhQWJQtlHrKJco4FUPVoXpRE6hF1G+o/dQZWRnZZbKhslmyVbJnZEdoCE2b5kVLopXQTtCGaO+XKC9xWsJZsmNJy5LBJXNyinKOchy5QrlWuTty7+Xp8m7yifK75TvkHymgFPQVAhQyFQ4qXFKYVqQq2iqyFAsVTyjeV4KV9JUCldYpHVbqU5pVVlH2UE5V3q98UXlahabiqJKgUqZyVmVKlaJqr8pVLVM9p/qMLkt3oifRK+g99Bk1JTVPNaFarVq/2ry6jnqIep56q/ojDYIGQyNWo0yjW2NGU1XTVzNXs1nzvhZei6EVr7VPq1drTltHO0x7m3aH9qSOnI6XTo5Os85DXbKug26abp3ubT2MHkMvUe+A3k19WN9CP16/Sv+GAWxgacA1OGAwsBS91Hopb2nd0mFDkqGTYYZhs+GoEc3IxyjPqMPohbGmcYTxbuNe408mFiZJJvUmD0xlTFeY5pl2mf5qpm/GMqsyu21ONnc332jeaf5ymcEyzrKDy+5aUCx8LbZZdFt8tLSy5Fu2WE5ZaVpFW1VbDTOoDH9GMeOKNdra2Xqj9WnrdzaWNgKbEza/2BraJto22U4u11nOWV6/fMxO3Y5pV2s3Yk+3j7Y/ZD/ioObAdKhzeOKo4ch2bHCccNJzSnA65vTC2cSZ79zmPOdi47Le5bwr4urhWuja7ybjFuJW6fbYXd09zr3ZfcbDwmOdx3lPtKe3527PYS9lL5ZXo9fMCqsV61f0eJO8g7wrvZ/46Pvwfbp8Yd8Vvnt8H67UWslb2eEH/Lz89vg98tfxT/P/PgAT4B9QFfA00DQwN7A3iBIUFdQU9CbYObgk+EGIbogwpDtUMjQytDF0Lsw1rDRsZJXxqvWrrocrhHPDOyOwEaERDRGzq91W7109HmkRWRA5tEZnTdaaq2sV1iatPRMlGcWMOhmNjg6Lbor+wPRj1jFnY7xiqmNmWC6sfaznbEd2GXuKY8cp5UzE2sWWxk7G2cXtiZuKd4gvj5/munAruS8TPBNqEuYS/RKPJC4khSW1JuOSo5NP8WR4ibyeFJWUrJSBVIPUgtSRNJu0vWkzfG9+QzqUvia9U0AV/Uz1CXWFW4WjGfYZVRlvM0MzT2ZJZ/Gy+rL1s3dkT+S453y9DrWOta47Vy13c+7oeqf1tRugDTEbujdqbMzfOL7JY9PRzYTNiZt/yDPJK817vSVsS1e+cv6m/LGtHlubCyQK+AXD22y31WxHbedu799hvmP/jk+F7MJrRSZF5UUfilnF174y/ariq4WdsTv7SyxLDu7C7OLtGtrtsPtoqXRpTunYHt897WX0ssKy13uj9l4tX1Zes4+wT7hvpMKnonO/5v5d+z9UxlfeqXKuaq1Wqt5RPXeAfWDwoOPBlhrlmqKa94e4h+7WetS212nXlR/GHM44/LQ+tL73a8bXjQ0KDUUNH4/wjowcDTza02jV2Nik1FTSDDcLm6eORR67+Y3rN50thi21rbTWouPguPD4s2+jvx064X2i+yTjZMt3Wt9Vt1HaCtuh9uz2mY74jpHO8M6BUytOdXfZdrV9b/T9kdNqp6vOyJ4pOUs4m3924VzOudnzqeenL8RdGOuO6n5wcdXF2z0BPf2XvC9duex++WKvU++5K3ZXTl+1uXrqGuNax3XL6+19Fn1tP1j80NZv2d9+w+pG503rm10DywfODjoMXrjleuvyba/b1++svDMwFDJ0dzhyeOQu++7kvaR7L+9n3J9/sOkh+mHhI6lH5Y+VHtf9qPdj64jlyJlR19G+J0FPHoyxxp7/lP7Th/H8p+Sn5ROqE42TZpOnp9ynbj5b/Wz8eerz+emCn6V/rn6h++K7Xxx/6ZtZNTP+kv9y4dfiV/Kvjrxe9rp71n/28ZvkN/NzhW/l3x59x3jX+z7s/cR85gfsh4qPeh+7Pnl/eriQvLDwG/eE8/s3BCkeAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAIXRFWHRDcmVhdGlvbiBUaW1lADIwMjQ6MDY6MjEgMTE6MDU6NTX2e5DyAAD1HklEQVR4XuzdB4BcVd028HPu9LJ90xOSTUILoYUiChqKKKKAaCCQBLDxGYpGRQIJ8MYVSFM0CCLviw1IAYyFoiIiEAidbLalb3Y3dXeT7WXqved892b/KjAlW6bcmXl+7xf3ee7waUjZmTlz7v9wKSUDAABItVcO9pToX467cGze2/1XAAAAAAAyk0JfAQAAUsqiWK+ycMv1VAEAAAAAMhYWVwAAID0ku5ZxftVjFRU2ugIAAAAAkJGwuAIAACn30sGOCYyz8/RYctzoEz7ffxUAAAAAIDNhcQUAAFLOxhzX6F/6n4MUfu2RrwAAAAAAGQqLKwAAkHKKwudQNFzxz+oWD2UAAAAAgIyDxRUAAEipV5p7p+lfTutvR3isI7yXUwYAAAAAyDhYXAEAgJSySEvEbUAKVz68kwUAAAAAIKNgcQUAAFJGURTOOItYXJGMff6Vgz0lVAEAAAAAMgoWVwAAIGVe2dd3tv5lSn/7L86YTVGss6gCmNL69estlW3h+yragm9UdoauoMsAAAAAWFwBAIDU4RYZ8/YfLhluDQJTK7vgsk1dYfWunrA4rzso/lLRFnyzobOzgB4GAACAHIbFFQAASAnjU3/G+NVUI3F23ksHOyZQAzCVqo5weW9YnEqVSSlZT1h8qjnkPFzVHvoeXQYAAIAchcUVAABIieJzv3Ch/mV0f4tKsTHHNZQBTMWvagsofkRISFtnSPv5B62hnVVdwUl0GQAAAHIMFlcAACAlLOzoJwIpCsetQWA6W9rUs4KajHv7T5+qHdsTELur2oI/p0sAAACQQ7C4AgAASbdhzx4n4+xKqvGc9nJz74mUAUxB5fIqinFpkimdYfG991uDzcaCDF0GAACAHIDFFQAAk1ld3/vlh+vqHFSzgnSM/KL+ZUCDP23Sgt0rYCqaFOdSHBCfKkZ1qOp7m9tCT/XPGgIAAIBsh8UVAACT4Vy5pZiPvoRqVuAs9ilBETi7VlEUTg0g7YRkgx60rEnJusPa7Amf+VJHbWfIWFwEAACALIbFFQAAE3l8q280Z+wCphx9Pkmm+FeDcVQtv5TqQEx5ZV/f2ZQB0k4TspDioAWEzGsPihc2t4deqW5p8dBlAAAAyDJYXAEAMBGrU87Wvxi3EVz2ux1teUcuZjjFYf+K/sXZ3waGWwax0wUgyVQp3RSHxDi2uTukXdDHC9qqOoI30mUAMLENB/zjH6uosFEFADgqLK4AAJgI5/xaii6H1fVlyhltaCcA8asxqwLMoK6uzqExnpA/iyEhHV0h+X8VrcHqqnb/OLoMACYkLfKG40af8HmqAABHhcUVAACTWLO7e6r+5b+3wyiZv3tjwx7faP3LBf1tUEYXn/uFCykDpE2oeNypxs6TRDH+u3pUcXJvmO2pbAvfS5cBwGS45HOY8p8PPAAAjgqLKwAAZsGtxou4Dw1y5Z/9fV3vCCoZp7y8XGF2Pl+PQ/rUX2H8xiNHOAOkkSqV0ykmlCqZpSus3v1Ba3BvdUd4Ol0GABN47YDvVP3ZeJoer/hnNWYlAcDAYHEFAMAkOGcf/4TMarfwqylnjA3N/jM3NPkfOP/bC/fpL06X0OVB45xfxRwjm/X/rt+92uT7HG4TgnSQjJ1IMSn6VDGhK6hWV7aFfntkQRIA0o5b/nM7q8c6wns5ZQCAuHgit7oCAMDQPFnnO91iYRVUP+ytOWXucymb1qsHe45XjJ03/QtEx/VfTbgW/a3u00zj6y6Y4HlXCIEnMEi6zW3B57vD4ktUk8ppUTrcFnbVycWOf9ElAEgxY5Hz/G8vbNDjMf1X2AszR7suowwAEBMWVwAATGBtQ99K/Vvy7VQ/TIZD4ck3HF/QSN00jJMUmEVewySbzTg/ky6nym79f3edxrV1F472bqVrAAm3qS1Y2RsWp1JNOoVz5rEqf8/v2Hvl1KlTg3QZAFLklebeT1uY5XWqxu61sBDqmAvH5rXRJQCAqLD9FAAgzYxPySTj11D9OG6z20wzUO+l/d3FrzX7/9+GJv+rzML26D+9n6RhYcUwhXF2t/4CeMuGZv/m15p8C1862DGBHgNIGE2ykRRTQhgDb8PaF1rzx3fUdIZxJDlAilmk8pG/d5wxm6JYZ1EFAIgJO1cAANJsdV3vTMWivEY1mpo5Ze5TKKfcC01N7jyWfzk7ckw0v0S/ZO9/xHSk/n9v6K+E1zGprZ85xttK1wGG7O3Dgb6QJt1UU4pzzrwW/p7bEbr0hDx8ag6QbI9VVNiOG3viQT2W9l8hkr0+c4xrJjUAgKiwuAIAkGZrG3yP6l++3d9ikafMKfPUUEk64wXm1LEnXKwwfq3+LHEFZyyPHsoIxjZu/ef8D8bE06zd95eZ00b00kMAg7Kxxa9pMr07fW0KVz025a5Ti+wr6RIAJMFrB3xf5Bb+AtUPE0ERmPS5sUX7qAMARMBtQQAAaVS+dauxC2Qg242TfnuAoih8Q1PveRuafL80PrlTGP+rfnlepi2sGIxt3PqXL+n/Vk+yYm/zhmb/ulcP+i9f3//rDTAgO9ra8tK9sGIIC2ntDGorPmgN7N7aHZxKlwEgwT50StDHKTbmiHX7LgDAEVhcAQBIo2Ndkz6nfynpb7EZM1mMxQ+qCWccc/zKwd5FklueY5zfrF/66JbozObRf1zDFfZUaXHZwy/Wtef3XwaIzy89MyiaQp8qJ7f7xc7K9tDDdAkAEuSf1S3Gc0XMY5f1p2DMQAKAuLC4AgCQXgN6scYZm7S6rvtTVBNu1qxZ2vmj3Utb2xtGC8Gu0C89pf/wHXkws2n6j5eYkF/X/MEx5492/b9LphZ39z8EEJ+iKCk7JWigNMl4V0i75b3DwUM17f5z6DIADJN1hNdYWPH2t6hOe6W5dxplAIAIWFwBAEiT1Uf5lCySkvRTg2ZNmxa6YKzruZmjXdd2dflGSyZv0C+/qP9Qj/wDmUHq/+8dKdkCzS/G6f8un5851v37i8oKu+hxgAHR/yCdSNF0/JoY0Rnmb1e2hf9o7DyjywAwRJwf/TnWIi2mOb0PAMwHA20BANJkbUPfHP3b8BqqA3F41973xy6ZOTPlCx3/rO8baXcpVzPOjBeWn9R/JO0WpSGTbKv+rLZOhNV1F0zI301XAYZsc1voH91hzbh1z9QcFt7rsivXnVpg/wtdAoBBeGl/d7HDamvS49Hmcu2+YKznWCEE3kABQATsXAEASJ/B3r894tgJZ11MOaUunuw5NHOM6+GZo13nsmBosmTyLv1ybf+j6aP/PIyTG1YyIU/Xf34nzRztvg8LK5AoQspxFE0tqElvV0D8uaItuMEYwkuXAZJibV323Rpjt9qMwfIDGXg+5ZV9fWdTBgD4CCyuAACkwZPbe0oY40P5RDztW5JnTixoNOazzBztOlnThDGTYjmTrLH/0ZRoY1I+Kpg2c8P//mSS/vO4Y+ZYdyU9BpAwmmQjKJqesRO5Jyw+06Z5WmvagsZQaoDksCi/WZtlg8G5HPiHHdwiMdgWAKLCbUEAAGmwtr53PuPKr6gORk9fR9foG2eMMdWwWeMko1cPdJ97ZC4M51frlxJ92lCf/uNZJuS6w52NLxmzYfovAyTP24cC/pCQTqoZg3PO3Ba+1WWRl5xU5DR2dwEkxJFdKxZlC5Psa3Mmux+nyxltwwH/eGZhe/Q40A+dmw9v/Ot4YxA8dQCAI7BzBQAgLZShfvKV5y7I/xJl0zDuP585xrtx5hj3LWzHe2MEk1/UL6/Wf/Qe+QeGQDIW1r+8IKWYGzrUPWrmaNfcmWPdL2BhBVJFFdJBMaMYH5z1qWJaZ0g2VreHl9NlgGGTCv/37sns2b1hkdfo/zmY90Sji8/9woWUAQD+AztXAABS7MmGzmMszN6gx6EucD87p8z9Zcqm9trBvtlcUYxjnYdi+czRrkWUAVKqsrl3RBezHKKa0VwW5aCTK186pdS2mS4BDJqxQ3H17t46PU7Wf6h+Jsd/s8zTcuTBDPZas7+CM3Y61YGR7Pczx7i+Tg0A4AjsXAEASDGLtA/2U7KP+8Kjtd1FlE2tl3c/LxnroTooqirWUgRIOavDfhbFjOfXxNguVd1U2Rp6sry8HK/9YEhW7+z6hP7FWFgxWF2SGbeAZrSXm3tPHPTCioGzKzfs2ZNxtwwCQHLhCRYAINW4HO5QWnuex/pVyqb2pTFjfPoL12epDphkrOai8Z4aqgApJxg7mWJW0P99eJeqzfv8zXe0b2kPmv54aTAfabF85LlL8v/cIpSxrPKj/06DUCAdI43bXwEA/gOLKwAAKdR/hCU/jeqQ8Qy6311jctA7UKSU6ygCpIUQ7HiKWSWoyYL2sPxHRVvopXf273fRZYC4Zq9fb9Gfd2ZTPULv56ze2VVGNWOs37rV/upB/+Ubmv3r9H+JH9LlQdP//f9vQ5PvV682934GO8IAwIBvBAAAqaTwRC2KzPzdjraxlE3NsuP9f0rGDlMdCKmEwlhcgbQSjGXcm8aBEkeObdYulvbS9sr28A10GSCmy844MsB1VH/7D85ttozYvWIsfrx6sO/CDc3+x0qLy5oV5ciOyms4Y8NZYCzWfwXmK8yyYea3b2/U/7tXbDjoG/aHJwCQuTDQFgAgRT42DHDYJJO3zS3z/IyqqW1o8v1SfxF6M9WjeWvmaNe5lAHS4oPDwR19mjiOatYyjm32WPkmSzj8hdNGewezCAo5ZE1D3+8441+j+h/6u4gtc8vc06mazoZm/5n6T/Jaxpkx6yw1H0hItlV/h7VOhNV1F0zI301XASAHYOcKAECKfGwY4LBl0q1Bkg18OK0UDINsIe0EYyUUs5rxIVtvWJzRxy1N1e2he+gywH88vsEY3MqvpPoR+vPQSWt2+U6lagqvHuw5fkOT/0cbmv3b9fq+/pP8gf41dTs9OTNu/71XsdnqNjT73tV/Ht/7x17fGHoUALIYFlcAAFLk48MAh4+f8WRDT0Z8sn7huPy3mGSNVONRA4r2DGWAtFGlzKOYE1TJLB0h7cfvtwYba3tDJ9BlAGY9puSLnLECqpGswx7SPmwv7/OPfa257wcbmnzvK4p1O+NsiX7ZBHOT+Nn6f/zcaef7NjT7//lak+8b/2rojP1rCQAZDYsrAAApEG0YYCIoTMmI3StCCKm/2H2KajwvX4JbEyDBFpev+uz8+fNtVAdEk8xOMaf4VDGxo0/bWtke+l+6BDkv/vMMl/wa47ZXqinzt33dRRuafN/a0Oz/l83G9nGmPMA4P5MeNhuL/uOznPPfWF2Olg3Nvj/qP+9Z6zFUGiCrYOYKAEAKrK3zfU5/afUPqom0c06ZOyNONfnX/r6TrValmmpUgsnrLxjtfpIqwLCUL//lCW9sfPftbVu2F44ZO1r9zPnnLfrZ/Qt/Sg/HVNUVnNTpFw1Uc5bLorS5bPLKkwudb9AlyDGPNXQWeJi9WY/O/ivRaUx8+roy70aqSfNCU5M7j+Vfzjifrb+N+YJ+ydH/SMbqYpL9WX/uW9f25t/+NWvWLI2uA0AGws4VAIAUkJakbZs+bnV9t1k/qfuIi8Z7avQvtf0tkmTM39Pl/wtVgGGrqdn+nLGwYuSmg83Wf/7jlRWLV6yaeuTBOBTNtJ9+p5RfEyWdQfb65rbQQHadQRZyS/tX9C9xF1YMyd5F+WJde/5rTb5HvLywmXFlHWP8y/rlTF9YMRQwzr6mcP6PEed98cCrTb5F69evN3a5AEAGwuIKAECSxRsGmAicWzNmsK2QMuawWs7Y85cfX9JDFWBYfvg/D3z77bfePZbqEe1t7cqu2oYXqMYkODft6SepZhzb3B3WZle2hrCjLAfp35cH9MGA/s9d9VhFxaBuvRuMS6YWd7dq7bcxIb7FmDQW4YP9j2SFLv3Hb/V/t3ltb/5tJXavAGQuLK4AACTZUYcBDhNncnZ5eXlGfD9Xw2HjE/Co96Pq7+FwShAkzPatO4yBlhFqa7YcN3v27LifDEshs/4I5sHq1sS8ms7Ap6lCDnh8q2+0/gRzIdWjKXUVnnAx5aSYNX68//yxnmdmjnZf2RcOj9GfNG7UL7+i/xBH/oHMEtC/0/xJ/3oVCx4aPXO065szx3pexsIKQGbD4goAQNIle+gsHzvluh+eT8XULj6mwJhj8XZ/+y/JWEeg78CLVAGG5e5lD02vqaqNevRpd1c3n3jCOXE/jRdMTqQIxJjRF9b4UqqQA6xOaQxhH/AtKpyxlO2ivHRCfsfMMe5fzxztuigcZhMkE7fpf0g/oIfNylg4eVn/u/RN1R8cPXO0+6v6z3/9zIkTA/0PA0Cmw+IKAEASGcMA9Recl1JNGv2bedqPwhwoKSJ3qOi/Rn+8ZOrUbNrmDWnUdPDQClVVqUVqb2u/mmJUQsrRFOFD/Kr4ZKbskoPh45wP6nmFc3bFYxVNbqop89kJroPnj/b8bOYY91lCqCcwycr1yzv6HzUD+Z7+H98PhOSEmaNdF58/xv3bi8oKjVuBACDL4AkSACCJBjoMcNg4/+rDdXUZMdwvHBB/0L985J2vEGIdRYBhMd7811ZtiXt7QigUKqEYlSZ5MUX4EFUyy5XfWWQMEoUs90Rd9xT9y9n9bcC8rsL8yymnxQVj83bMHOP60czRrhP0ehaT7Gf614NHHkyt7ZLJJUwNHztztPsT+s9n1eePcTfRYwCQpbC4AgCQTDxl26SLCpXRxrGUpnfxZM8h/cvL/e2Ig68/9tPXKAMMS5/qnb9/3/74gzWl5JSi0qT0UISPEZJnzABtGDqrYjV2rcT9exKNMsjdLsk0c7Trg5ljXLe99r8rJwghLtIv/dq4BbX/0WSQ+5lkP9W/f5yh/2+feP5o949njs+vowcBIAdgcQUAIEmMYYD6K9MLqCadwpXMuTWIyf/uVJHsqSVLlmTiQEIwofr6xu9RHBJj54smWdJOPcl0ISE+SRGy2dA/GLjkt1u7TbXzy3h+uWCs55WZo103BnoPjNGfc4zT+54xjv/v/yeGpV3/8X9MExe89r8/mThzjOv2C8e4K/ofAoBcg8UVAIAkGewwwAS47Hc72vIom1p3l//P/3lhyxluCYKEuHvZg2MqN1d95PjlqDiPemKV4YrvLDrBOH4YogsKMQZzV7Lb47t8p+lfTuxvg2Z3OqxfpWw6xmyvmWNcf5k52jW7u8s3ijH5LD00FCsPtzeM0f+7vj1znOc1fEgAAHhyBABIksEOA0wAl8Pqyoh5CJcfX9LDGXtejzuNrdv9VwGGp/Vw5wq//+gHbzhdzhaKEaySz6AIUQjJOOauZDebVQ7v1i8ldacGDYfxPKQx9r9UB0sIlf1i1rRpIeoAAFhcAQBIhjW7u6fqXwY7DHD4lGG+KE4lydZJJiNODgIYqu1bdhjb/Y/K5XDGnIOgcXYSRYgBc1eyl7ErSTJ+DdWh+swTu9rHUTY1y473/ykZO0x14CR7/YLxrgPUAACOwOIKAEAy8KENAxw+/tnV9X0jqZiav+/A33kw/DhVgGFZeO+qK3btrPNSjcvucGyhGEFKdvTbinIc5q5kr2Pn3nae/sQ1gepQKVarY7gLNCkxc+ZMlTP5DNUBE/hgAACiwOIKAEAScM7SNVzWqnB2FWVTO3Lv+8SCRqoAw7K/cd//UDwqa569kmIETYpjKEIMxtyV9evXp3KeFKSKRUnUrqSM2d0kpRjs3K9QWFP/SBkA4D+wuAIAkGBP1vlO178MdRhgAmDLPuSWhQsf8FRuqjb+3h2V1WZl9ZveqKUaQTA2iiLEYMxdOf7Cywd0CxZkjscqKoxTsmb1t+HiM9bs6DmeiqldOC7/LSbZIBb65YufG59vnBIEAPARWFwBAEgwi0Wm+0jkTz6+o2sSZYCsF+Ch8q6urgHdhldaWqI+/fTTGtUIQsgiihCHJoc9lwNMxlN0wuf1LyX9bfi4PWG7YJJK6H/pGWdPUT0qKXBLEABEh8UVAIAEStAwwOHiNrst3Qs8ACmza0fdDRSPqrCwqI9iVKqUbooQB+auZKUEP2+k/MS8IVNVMdAFk95e3m2cdAcAEAGLKwAACTRl7m2fTsAwwETA4grkhHvKV51dW7OllOpR5RfkdVCMUFFRYdMYxyyRAcDcleyyurrFo3+5or8lzLFrGrrPomxqF4331EjGaqjG85cvjRnjowwA8BFYXAEASCDFophlUePktQ19J1MGyFr7Ww4tE0JQOzpvnreZYgTHxFNOk1J/iwVHhbkr2UXJ8xoLK8YCS4IdOTkvI+h/94862Fawo/8zAJC7sLgCAJAg5Vu32vUvCRoGmBAYbAtZbfbs2ZbqyprPUB0Ql8u1h2IEVdFOowgDoMnMue0DjkImZ7cjZ/Ka2Rmyw0kJhY2Fk3irq611B7f/kzIAQAQsrgAAJMixrkmf078kbBjgcBmzXxRFGdCQT4BMNG7qGd9vbmqxUh0Ql9u5i2IkwaZRggEICXEORchgT27vKWGcG8Nsk4CPuWLGF86nYmozJxYYJwa93d+ikPKZG2fMCFMDAIiAxRUAgAQ4sogh2YCHaqYCZ2zS47t6MuJFLcBQNNQ33kpxwJxuR7xjmKdQhAHA3JXsoNi5sePSOIY5KWQGzQCTgsUZbCtwSxAAxIXFFQCAYXh8l++0tQ19K57c3buHcVPdEnSEReEvr23w/WtNg+9bj9Z244hZyBqLV6yaXFlRPZHqgFnsfBPFCMIcw6gzBuauZAfOkntkMmf8qw/X1Tmomlo4IP6gf1H720fsuWBc/puUAQCiwuIKAMAgPVHXPWVtve/uNQ2+WpuVbdZfOi40yQlB0Rjf5y/Uf36P5XusTfrP+c9rdvddveqd/a7+hwEy0+EDnctDoRC1gXE6nWzpHd+roxpBE2wkRRggzF3JbL/f3TGBcXYe1eTgrLBQGf0FaqZ28WTPIf3Ly/3tI54SQmDaNQDEhcUVAIAB+E1D36i19X3fXdvge9tqse7SXyzeyxk7iR7OFA795/xlrvCnR44qblnT0Pf4mt2+S8o3bBjUzAoAM9i6ZeuXKA5Y6YjSuPMSNCYLKMIAhaT4JEXIQDbuuEb/kvT3A8neHZNIgsmIW4M0TcS5XQgAoB8WVwAAYnisobNgdb3va2vrff9wMX6Acf6gftkY4MiP/AOZLY8zfj1X2N+PPeasA2vqfQ+t2d3zKQzAhUywcMnP5zXWNw5691VBYUEPxag0IbGja5CCmhiNuSuZi3OZkkUPztmXfrejLY+qqfV0+f8iGfNTNdReOM5TTRkAICYsrgAAfIhxX/jq+t6vrK33/cHD7E0KZ79jnBmnAGXzm4eR+gvfW7liefPJ3b31a+r77n9id1+m7cqBHLJnz947KA5Kfp63jWKE6pYWj2Acr4sGCXNXMtfqXb0nMsZTdfy4y251ZcSfk8uPL+nhjD1PlUkmMcgWAAYELyIAIOfNXr/e8mRD32fXNvT9psgytkXhyh9Z/3DanPsUW39BOYlzvtiq8No19b6qNQ2+Ox/f0TWJHgZIu8UrVhRVbqoc0uKfJ8/TRDGCsBScKSVGKgwF5q5kJm7hqb1VR0nNLpmEkOzfCyoyHApjcQUABgSLKwCQs57Y1X322gbfz6844wv7LIz/U3+p+Q3OGGYuEM7ZKfqvxzKb3Va/psH3xpqGvpt/X9c7gh4GSIuu1vDS3t6+Id2+5va4GylGUBTlVIowSJi7knmMW0B1KV0U44xftLq+LyOGRvv7DvxdMtahx7cvPqagof8qAEB8WFwBgJzy+M7eE9Y29JWvbfDtslqt7+qXvqe/5BvT/yjEwPV3sufpL4x/abcoB9c09P1V/zEvU+6fh+yyc/suYwDnkDidzh0UI+hvpE6gCIOEuSuZ54mdXWfrX6b0t5Sxcsmupmxql0ydGtSf9/74oR0sAABHhcUVAMh6xlGTa3b7fri2oW+TzaZsY4z/j355av+jMEhWzvil+o8nHXZXy9oG39Or63u/bMyqoccBkubOex+6YGvttkKqg+Z02msoRhCSTaYIg4S5K5mHWyxpuZWLK5lzC5lg2pMhv3iGKgDAUWFxBQCy0pPbe0rW1vfO19/8v2pXHI1cYT/RX9bNoIchMYyZNFcrXPlzsWVs09r6vsdW1/ddWF5ejucWSIqD+/bfR3FILFb+AcUIQspxFGEIMHclcxhzxrhks6mm2idX7+wqo2xqF4z2vn7xZM8hqgAAR8UxvA0AssXq6haPkue9gkl2LePcOOHH3v8IpJY8yCR/SjB13bzJ+THfzAIMxvz5823vVOwNHD7cOqTFO6/XI3fUvBrz/+/7rcFmnypGUYVBclmVprNLHWOpgomtbui7WGH8JarpsHhOmXsZZQCArIFPFwEgoz1WUWFb2+D7kv5jjZKX18IYX8M4/5L+EBZW0oaPZZz9QOHW99fW+7avaej70ZodPcfTgwBD4iwuu2uoCyuG0hElIYpRaULmU4QhwNyVzKH/JUr3LqPMOTUIAGAQsLgCABnHOOVgbV3vZ9Y2+H7lKTrhoH7pef2H8WLNYzwOJsLZ8ZzxJdxu2a7/fr2/pqHvB7/b0YZPt2HQ6nfV/z+KQ5JfWNBNMaqwlE6KMASYu5IZHt+wx6n/Vn2FarpMf7Kh7xTKAABZA4srAJAxHt/lO21tQ9+KJ3f37mEWZYN+ab7+o/TIg5AJzuSMP+Cwu/atbfD9a02D71uP1nYX0WMAMd21/OFpVZU1wzrVKz8vr5VihMrm3hHG4gBVGCLMXTE/y4SSS/U/6AVU08aS/t0zAAAJh8UVADC1J+q6p6yt992tvxnfYrOyzYzxhfoLwwn0MGQm47nnQv338bF8j7VpTYPvz2t291296p39xoBcgAjN+1tWqKpKbWg8Hs8BihEsDtsZFGEYQlJ8kiKYlMIVU9ySIxm/xtiFShUAICtgcQUATOc3DX2j1tb3fXdtg+9tq8W6i3F2r355Wv+jkGUc+qvrL3OFPz1yVHHLmoa+x9fs9l1SvmGDlR4HYFtqthgDqofF5XLVU4wgGMctCgmAuSvm9lhDp7Fj5Yv9Lb307/uTVtd1f4oqAEBWwOIKAJiC8aJvdb3va2vrff9wMX6Acf6gfvkc/Qc+2codeZzx67nC/n7sMWcdWFPve2jN7p5P4dPN3HbbPT+bv2/v/mEPqHa6HDspRpCCYeByAhi3Vp1w0RXpnucBMbik3ZiJY6LZQubYRQMAkChYXAGAtDEG662u7/3K2nrfHzzM3qy/hf4d48z4hBqffMJIztmtXLG8+eTu3vq1DX3LMAAxN+1taPwBxWFx2GxVFCNIzsoowjCpgl1DEUxGf9FvrsUMzq7CLkUAyCZYXAGAtDBmqViPGfGiwpU/6i+wZumXcFIHRGVsH9f/804L4+8YxzrjxXjuuHvZg2M2b646luqwyEDofYoRhCZxglWCYO6KuRjfL1fX+y5dW+97Uv9meiFdNosRx04462/69/V5v9vRlkfXAAAyFpdSUgQASL0ndvedZOHsGs6PnDIxpf8qwH+o+tvil4XkTysi8Kc5U4vjHqcL2eWm2378+HN/euF6qkNWWFggt2z+Z8wPlN47HGz1a6KEKgyDwplseeOvtlmzZml0CVLMuJXy8d3d51qkci3j7Gr9UiacqufT35E8x4S2ri6478Ul06aF6DoAQMbA4goAmILxYnD1zq5PSIvlWs7YbP3SqP5HIAcZT0xvSyHXBRT2h2+WeVr6L0OuueALc3t2bt/lpTpkk6eW+d/459NuqhHeOhQIhoUc9lwX6FfisF49vcj2B6qQIsatk0eOODaOxOZsIl3ORB2SyT8wwdbVrf7p60uWLBF0HQDA1LC4AgCmM3v9essVp116kbTIa/VvU1dyxowTDiDL6c9GW/Qva2U4vG7ecQUN/VchVy26d9VlT/x27XNUh+X0M05tfmH9Y2OoRnijJSAFXg8lTL7d+ufTi20YbJsCq3d2lXGbzdj5OUd/rjyp/2o2kQeZ5E8Jpq6bNzn/A7oIAGBKWFwBAFNb9c5+18hRhV+UTDF2tBhHSDr6H4GsINke/ZloncbYuuvKPNV0FYDN/cYPP3jt1dfPoDosnz7/vJqnfvezqAORt3cGJrYEZCNVSACXVWk6u9SBOTZJ8puGvlFOwa7iypHbaY0ZN/rTYw6QbIfk8inBxNrryvJinv4FAJAuWFwBgIxhHNfsYfav6t+1jIWWC/RLOFUoM7XqL5Kf0bhYd8OU/DeFEHgigo9YuPABz1//+WJPZ2dXQt40XvKlz//9Nw/deynVj6huD32lI6T9kSokAOauJJ4x8NVudV3JlSM7Oj+rX8r1wd4fSCbXhUKBp75+fMlBugYAkFY4LQgAMsaNZYVdc8rcv51b5r5YBtkEJuX39Tfp79HDYG49+u/VaiHZF3ftfX/MnMnuW64r825M18LKokUrC76zcOnP7ylfdTZdAhMJ8OCPErWwYnA5XbspRnMyfYUE0f9W8xMuugK3BQ3Tw3V1jtX1vV9ZW+/7g8PuauEKe5wxfon+EE5MY+xMzvgD+q/LvrUNvn+tafB969Ha7iJ6DAAgLbBzBQAy3prd3VM5t85hnBlbpE/ovwomYJz28KKQcp2/s/u5G2eM8fVfTq+FS34+72/P//2Jjo5OrigK+/JXrnjooZ8s+i49DCZw6ZXfPFxVWZOwE07mzpt9y8p7b3uE6kdUtYbWdKraHKqQIJi7MjTGzLEvnfGFC4zBtJLxr3LMHBuMoP6u5u9MyHWHD3c8/71zxvvpOgBASmBxBQCyyprdvhlHFlk4m62/KJ1AlyF1jFMdXhdSrAsFxPpvTMtv779sDvPnz7dt2d3RVV/X4KJLzOV2sauu+cqXlt2z4K90CdJo8X2/OOvJ3619T4jEHRDyja9dd+69S77zFtWPqGgLbuwJi3OpQoJg7srgPLGr+2yr1XotY3K2/vI85vBlGLAeyeSfmeDr6va///KSmTNVug4AkDS4LQgAssrcKe6KuZPdt9c98ZNJUkhjLsuj+o+2Iw9CEskKKdjtTAtMnFPmvmDeZO//mW1h5QjnmCc+vLBi8Pv8rLKi5rdUIc2amlqWJXJhxdid5OvWNlONIKTEG9kkCGpi9Pr16zEXK441O3qOX9vQV762wbfLarW+q1/6HhZWEiaPM349V9jfjz3mrANr6n0Prdnd8yn9+0HCbjcEAPg47FwBgKxXvnWr/VjXpM/p0bht6Ar9h8e4DsNWx5hcK0Ni7dzj83bQNVM75zNXBvftO2Cn+hFzrr/mxp+U/+DXVCENysvLlef/sSnY1NScsJkSI0aUisr3/hbzTf67h4MdAU0UUoUEKnFYr55eZPsDVdCtrWsfL7nzGhpMO4MuQ4ro73oamdSftxhbN2+yp5YuAwAkBBZXACCnrK5u8Sh53iv0V1jXMs4/r1+y9T8CAyMPMsmfEkzVX5jmf0AXM8Jt9/xs/lOrn/oV1QgnnXxS+0vP/a6EKqTBbXf/5Lan1vzhp1QT4tjjpva+9o+1eVQjvHUoEAoLie8DSYC5K/1+u7W72O5UZilcMRb4P6P/wM5xE9DfAlUzztapofBTNxxfgOPYAWDY8M0dAHLKvFNG9c0p86ydM9lzWV9YjGVS3MQke11/CCvNsXXor0J/LaS8aNcTP50wZ7L7tkxbWDHsqW/4AcWottRsKf7BPQ98jyqkQX1943coJkxBQX4nxQjGThlNYoE1WcJCnEMx5xgL+avr+65Z2+B71umyNilc+V/98vn6D7z2NgnO2SmcsWU2u61+TYPvjTW7+27Vf89G0sMAAIOGnSsAALrf7+6YYOeOa/XvisZW7dPoci4zTll43hhM2yma/37r1KnB/suZ6Z6lq8atW/2n/X5/gK5Ed/yJx3W/8rfVOJ0jDRaveHDSut/+oSEUMg6ZSpzzL/jMpjW//emZVD+itjd0Qluvto0qJJjCmWx546+2WbNmaXQpqz1WUWFzFZ5wsWLcgsrZl/VL3v5HIIOojMmXpeDrQqr/z18/vqSHrgMAHBVWzwEAdF+bUrRvzmT3yjllntOZJk6SUt6nX97d/2jOMF5UvigFuyEY8o+aU+aePW+y9y+ZvrBiOHy4a/nRFlYMO7btzP/+XSsXU4UUaj3YviLRCysGt9e9j2IEqWLmRTIJyfgJF12R1bcFGQNSn2zoPW9tve+XnqITDiqc/ZVxNk9/CAsrmcnKGL+EK+xxh93VsrbB9/Tq+t4vP1xX56DHAQBiwuIKAMDHzJnq3Tp3sueeeVO8xzJN+6Rk7Bf65Zb+R7OOsX3xLSnkd4SU4+aUeb4wd4r7iWz7tG7b1u1XUjyqig82LzZuF6EKKbJ1y7bLKCaUy+WsoxhBCDadIiRJ2JhvlYUe3+U7bW1D34ond/fusTDlDcbZzfrl0v5HIUsYJ8tdrXDlz8WWsU1r6/seW13fdyGeHwAgFnxzAACIQQgh50zNe2dumXvBs5v+No5p7POSyd9LxrroH8lktfq/x13hUHjynDL3uXOneB6eN9lziB7LKneWP/iVup27B3xClPHPtvudxs4lSJGF5avmNOxu/MgR2Ylid7q2UIwgJJtKEZIkm+auPFHXPWVtve/uNQ2+WpuVbWaML+SMTaCHIbsVMc6/pXD+r2Ov/+E+/c/BA6vru6PebggAuQszVwAABunxDXuctmNKviSZcq3+wvpS/ZKz/xFz07/bN3Imn9IYW3ddmaeaLme9Od+4bfOGV98Y1BydSWWTAuNHcO/TTz+dE7Mi0u2ar32/+o0Nb55MNaGuv+n605YtvLWK6kdUtAbf7VHF2VQhCRT9W0/Lxsydu/Kbhr5RLslm62+sjR04n9B/6N/2AYhkOySXT7GQWDf3+LwddBUAchQWVwAAhuGxhs4CD7N/Vf9Oaiy0XKBfsvQ/Yhqt+ou/ZzQu1t0wJf9NYzcOXc8Jd975k7xnX/xHV3dX96DfEH3lqi+vemjl4u9ThSRZvGJF0R/X/KOtt6c34W9arTYrO+f0CdZYi2TvtwYbfaqYSBWSpMRhvXp6ke0PVDPCmt09n+LcsoRxdpFezfZ9HczpAyHlA/Mme56iDgA5BrcFAQAMw41lhV1zyty/nVvmvlivv+6/aibywjmT3bdcV+bdmGsLK4ZeLXTvUBZWDO+/8/7N8+fPxzG9SdbVpt6fjIUVQ2lpiRpv95H+V6KIIiRRJs5dmTsl7y0p2SL9x8/1ur//KkAk/Ym1S//P32pMLnq+4u8ZtYgIAImFxRUAgETRxFpKZlEzp8xTQzkn7dpZdx3FQdu374Dd4hn/MFVIkl3bdl5DMeEKC4v6KEalSjngWTwwdJk6d2XuFHfF3Mnu23c98ZOJUsgLJJP/p19u738UcpyfSbZeSPHVDu3gKP259pvXlXlefjpHjh0HgOiwuAIAkCC71jywUervyamawTr6mpMWLf3FeVtqthZTHZJ333nvG7fdtiopg1aBsTvuWzVzS+22pO0eyS/I66AYoaKiwqYxjts9UiCoitHr16/P2F/rJUuWiLlTPK/NLfN8e5e/cYwU2hX693rj1o+4i3eQdTQm2UtCsq/3sdCYOZPdV82b7P3TrVOnBulxAMhxWFwBAEgQ4wW4MTCWarrJcCic04srB/cevH+4c8WaDjZb+2TX/1KFBGve23Q/xaTw5nmbKUawTzzlFMydSw3BGD/uoitmUc1oS6ZNC82dkvfc3DL3tV3+vtGSyeuYlC/oD4X7/wnIMsY3iXf03+MFfibHzZns/vy8ye7fG7cE9z8MAPBfWFwBAEggTeNmWdB4+4bjCxop5xxjVkrV5ppzqQ7Lu2+9N8cYjEsVEuTI71FlTVJvF3G5XHsoRpCKPJ0ipIBmnLiTZW6aNqJ3bpln9ZzJnsv6wmIsk+Im/a346/pDWLXLcPpv4Bb9P+5RNfXYOWXuT+q/x7/4ZpmnhR4GAIgKiysAAAl03VT3Zv3Ltv6WTtJs819SylUy+Y7Dhw4n5DaEQy2HLW2Bvt9RhQRxF09efPhwa1JvFXG6HHUUI2hCTKMIKZCpc1cG6sbjvK1zJnsfnTPZPTMkghP1N+Z36N+HK+lhyADyyG29cmVYZafPLXNP138v77t+av5uehgA4KiwuAIAkGiSpXthQw1p8hnKOWn3rvr5FBPi3TffufKu5Y+UUIUE2FW3+/9RTBqny1VLMRJnUyhBCmT63JXB+NqUon36G/OVc8o8p6tCTpdS3qdfxpt0c2rVn7Mf0Zj49HVTvBP137M7bjjWjUUxABgSLK4AACSYKlTj1qA0bguXL39tqvcwlZxTvvyXJ1RVVo+jmhBtre1K8/6m31OFYbpr+cPTqjfXjKWaNB6HvYJiBE2yCRQhBbJp7spgXD/Fs2XuZM8986Z4j2Wa9kn9ieEX+mXcXpJevfoz9Goh2Rf7OraPnTPZfct1Zd6NQuhXAACGAYsrAAAJRtuI3+tvaSB4Tt8StO9Aywo1rFJLnHfefOeLdy97cAxVGIaW/S3LVTXxv0cf5nQ62ZI7b95JNYIQbCRFSBFNsqQdu212xhv3OVPz3plb5l7w7Ka/jWMa+7xk8vf6u3kMRk2NkP7jOSHltaKnZ/Scye7r5k12/+3GGTMwiBgAEgaLKwAASSClTNdgW39Q9f+Fck7aUrPlEooJ1dnZxQ/sP/QkVRiGLbVbP08xaUpKS+K+adKYLKQIKRIW4hMUc9rTs2Zpc6a6X5pb5vn64Zb2MYyJqyRjf9IfwpG+iSX0H68JKb4d8Ktj5pS5r5g32fPUvFNG4QhtAEgKLK4AACSBGuBP61+0/pZSz3/9+JIeyjnnh//zwI179+yzU024t15/68J7lj4ykSoMQbJ/j/6tqKigl2JUqpAuipAiuTR3ZaC+d854/5wy7/q5Ze6v9rHQKP3SNyVjL+tf0/H8kSVkhRTsdqYFJs4pc18wb7L3/74xLb+dHgQASBosrgAAJMEN09zNTLJXqKaOEDl9S1Bjw54fUkyK3t4+vrdxzxqqMATJ/j36N29+XhvFCNUtLR7BOF4DpViuzl0ZqBvLCrvmlLl/O7fMfbEMsglMyu/rzyPpu8U0s9QxJn8cDosT55R5zpg7xf3TOVOL99NjAAApgRcWAABJIhlL9a1BHe2y+UXKOceYh1JZUXUc1aR56613zzWG5lKFQbh72S9GpeL3yODxeJooRuCOghlSYnZlOuTy3JXBmHuCu2nOZM+qOZPdn1A1dar+hHKPfnlr/6PQTxp/x1epqvqJOWXuY+eUeZbccJx3e/9jAACph8UVAIAk8fGQcQ99oL+lgJR/vHXq1Jy9Z7+ttWu53+enljy+Ph/bWbcHs1eGQP89WpaK3yOD2+NqpBhBCuU0ipBiqhDnUIQBMoakz5nsvm9OmfuksMpO1/8Er5SM7aOHc4r+792l/+dvNSYvfnbT3yfovybfv/7YfOzuAQBTwOIKAECSGFu89ReCf6OadCL1O2VMZVvt9q9QTLp33nznzEUrHz6VKgzQ9q07UnZLiMvlinlSkP738kSKkGIBVYzC3JWhu+FYd+WcMs8ddU/8ZBLTxEz90qP6j5i3wGUJv/6Xdr2Q4qsd2sFR+r//N68r87xsDAamxwEATAGLKwAASZWqGSjy4O4nf/oalZyz8N5VV+zaWeelmnSBQIA1bKvH7pVBWHTvg1/cuX1nHtWkszntNRQjCMkmU4QUw9yVxFiyZImYM9X7+pwy9027/I1j9UuX6T+M55tsOQlH1Z/XXtT/rn6daQHj6OSr5k32/imXd2cCgPlhcQUAIInUvW1/7d/GnGSSP2W82KaWc/Y37vsfiinzzlvvnnxP+cO4xWGA9u458COKKeGwsA8oRhBSjqMIaYC5K4m1ZNq00Jwy9wv6j7mip2eU/oQwl0n5gv5Q3OPITUh/umRvSSG/42dy/JwyzxfmTXb/fs7U4u7+hwEAzI1joBsAQHKtaej7HWf8a1STQkj1rHmT82O+mcxmCxc+4HnhpRd7urq6OF1KmU+d98ntf3jyQdxichS33bbK9Y9X/9bX0dGZkt8jr9fLdtS8EvN/6/3WYLNPFcaxt5AGbqvSfFapYwxVSJLHdvaWeqxsFmPKtYyz8/RLpvxQVX8nskX/slaGw+vmHVfQ0H8VACDzYOcKAECS6S8ck31r0M5cXVgxBHjo3nQsrBjee+f9E+6896ELqEIMqsVfnqqFFUNJaXHcWwc0IfMpQhpg7kpq3Hict3XOZO+jcya7Z4ZEcJL+XGS2IbhCaNo5c8vc0/UfS7GwAgCZDosrAABJ9vymv7/CJGummnCSyZweZLtzx67rKaacqqps57btv6YKMezctfsGiilRWFjQQzGqsJROipAGmLuSel+bUrSPM/kUVbN4fd7UvHcpAwBkPCyuAAAkmXGigeTsGaoJJ1I2NNd8jJkntdVbSqimxfvvbppsDGulCh+z+L5fnFVbXTuSakp4872tFCNs7+kpEZKlZacT/BfmrqReWOXmeq4QSd/VCQCQUlhcAQBIAa5pydpd8sF1ZXkxj5zNdvuaDy5L9+wwIQTbWrv9V1ThY5oPtiw1fo1SyeP1HqAYQQvbz6AIaaQKgWHQKWYc46x/2dbf0i4UCKp/pAwAkBWwuAIAkALzjiswtj7v7m+Jk8u3BM2ePdtSXVn9aappten9igl3/OjnV1EFUl5erlRX1ZxPNWXcLlfM2Q1hzk+hCGmEuStpIk2zW+TFb0zLb6cMAJAVsLgCAJACQgipS/RCiAiFAma7hz5lxh175sKW5kOmeHNm7J7ZUrv1IapAOsOeBU0Hm61UU8bpdGynGM0J9BXSCHNX0kMVqvE8lP6jQoXELUEAkHWwuAIAkCJcJHxxZcPXjy85SDnn7N5VfxNFU9i8qWrUD5f8PKlHbmeaxt0N36WYUg6brYpiBClZGUVIM8xdSb3rp+YbOyjf629p09vX1f08ZQCArIHFFQCAFJkz1btVf2tn3POeECk44tm0ypc/clxVZfUEqqZRW1XzU4o5756lj0ys2lw9iWpqOYObKEUQQo6lCGmGuStpItO8a0Syv9w4Y4yPGgBA1sDiCgBAKkmeqN0rwZ6+3B0GuP9g84pwKEzNPGqqakt+ePdPb6Ga01paDq0IBoPUUqewsEAuveOODqoRVMlKKUKaYe5KeoQD3Di9TutvqScYy9lZYQCQ3bC4AgCQQhoPGTNSEnF0yovzp+fHfAOZ7bbUbP0CRdOprKy5n2JO27Z12+UUU6q4tDhAMSohZR5FSDOau4JB0Cl2wzR3M5PsFaqp1urv3P5PygAAWQWLKwAAKXRdWeFe/UXtRqpDJnN4GODtS372jT2Nex1UTWfblm0FP7hr5UKqOemOe38+u76uwUU1pQoK8rsoRqVJZto/O7lI//2YTRFSSKZr94hkz9w4Y4b5th0CACQAFlcAAFJODPdFbY+vq/sFyjmnsX7P7RRNq+KDynso5qQ99fvuophy3ry8wxQjbOkITNBk+g9Kgf/C3JX08PHQn/QvcXd5JYPGh/38BwBgWlhcAQBIMS0k/6B/Gfondzk8DPDuZb8YVbm5yvRH6e7aWeddsGh5OdWcsmjRyoLNmyqnU005t8dzgGIEVVHOoAgmgbkr6XFjWaGxw+uv/S1FJNtzw5T8N6kBAGQdLK4AAKTYdSfktemvMl+iOmhS5u4pQW2tXct8fZmxrrTp/Yrby8vLc+55tkdV7+vt6eVUU87lchpHzUbFNXYyRTAJzF1JHzn8XZSDIrl8SgiBrWMAkLWwuAIAkB5DXSA5XLf//Zcp55ztW3fMomh6DbsbXW0+2wqqOWPXjp1zKaaFy+HYRjGCEOw4imAimhTXUIQUUve2/VUyFndGUSKJoT/vAQBkBCyuAACkgejpfVb/0tffBkGyZ5bMnKlSyymL7n3wizu378yok17ef3fTd2bPnp0ztzzccd+qmVtqtxVRTQub215FMYLgchJFMBFVsE9QhBS6YebEgP6k8meqSSUZ23JdmaeaKgBAVsLiCgBAGsw7ZZSxsPJcfxuM3B0GuKdx348oZoy9e/Y5Siee8hDVrNe0r/lemcaBsZxzFmoTm6hG0KQcQxFMBHNX0kf/25qq3STYtQIAWQ+LKwAA6TOoF5v6i+DGeVPz36KaUxYufMBTvbk6I4eRvvfW+99asGBB1h//O3/+fFt1Zc2nqKZFSWmxeOCB7/mpRhCSF1MEE8HclfR5ftPfX9GfXJqpJouU4TBOCQKArIfFFQCANOnr2P4P/Utbfzs6LuW6XB0GGODBH3V0dKZtSOpwHDxw0Baylv6KatZyFpfdefjQ4bTuPigqKoq5sGIQUnopgslg7kp6PD1rliY5e4ZqUuhPWu/MO66ggSoAQNbC4goAQJrcOGOGcRzz+v42AJzl7Cd/dTt3f41iRnr3rXevN3bfUM1K9XUN36aYNvkF+Z0UIxgnN6mS2aiCyWDuSvpITUvuLTtC4pYgAMgJWFwBAEgnTQz0RWfNnDJPDeWcck/5qrNrqreUUs1ILc2HLJ3Bnt9QzTrly395QlVl9TiqaePN87RQjPDV2xYdJ9I4Dwbiw9yV9Ln+uIL39C8xjzAfJjXZO2MAAMwCiysAAGm0a80DG/W3e/uoxpOzu1b2txxaJoSglrnee/u9qxavWJHWk3SSZd+BlhVqOP2HWHnc3ph/l6TKZ1AEE8LclfQxbjfVJeU5RjL5r3mTPYeoAgBkNSyuAACk0ZIlSwRn8imqschwKDeHARrHGFdX1nyGakY7fLhVObS/7/dUs8qWmi2fp5hWLrezjmIETWPTKIJJYe5K+nCRnMUVJjhuCQKAnIHFFQCANNM0frQXtW/dcHxBI+WcMm7qGbc1N7VYqWa8d95857K7l/1iFNWscPuSn33LOHKaalo5nI6tFCNIJo+lCCalCnYORUixOVO9+t8dWUk1UfxcBv5CGQAg62FxBQAgza6b6t6sf9nW36JJ0ieKGaB+d8MtFLOCceJR0/6WJ6hmhcb6PT+kmHY2m934uxSVlHIiRTCpgCpGYu5K+kiZ2F0mUrIX5kwt7qYKAJD1sLgCAGAGksV6UauGNJmTwwAXr1g1tXJz9TFUs8abG9+5+J6lv5pANaMZu3AqN1cdTzWtrFYr213zRjXVCBpjoymCSWHuSnqFZdC4RTVhA644Ezn7wQAA5CYsrgAAmIAqVONFaJSjTOTLX5vqPUwlp7Qe7FgRDhmnVWeXnu4evnfvntVUM1rr4c6lvj4ftfQqKS1Wn376aY1qBCFkVg4TzjaYu5I+X5tStE9/FtpIdXgk62wXzX+jBgCQE7C4AgBgAtdPzTeOwTSOw/yoHB4GuKVmyxcpZp23N777mcUrHpxENWPt2r7TNLsMioqK4q7yaFK6KYKJYe5KekkmEvKcI5n8461TpwapAgDkBCyuAACYRJSjMH1B1Z+TwwBvv+dnNzQ27DXFkNRk6OvrY+0tXfdQzUh33f/Qpdu37cyjmnb5hfkdFCMYczxUxrNmMHI2w9yV9BIhuV7/Muwtg5wx3BIEADkHiysAACahBvjT+pcP39bwwtePL+mhnFP27t17B8WstX/vvozembOnce+PKJqC1+tpphjhuPOvOEXKKHfdgelg7kp6XXdCXhuT8h9Uh0g2PVvx99eoAADkDCyuAACYxA3T3M1MsleoGkMicvKWoLuWPzxi86aqE6lmra2120fdtfyREqoZ5bbbVrkqK6rPoGoKLpdrD8VICjudEmQAzF1JMz7cXSf86adnzYo5/wgAIFthcQUAwETkf7dSd7TL5hcp55T2wx3LjNtmsl0wGGThYOhiqhlFtfiXdLR3mOo1hNPl3EUxgv73ahpFyACYu5Jeoqf3Wf3LkL8JS6bm7KwwAMhtWFwBADARHw/9Sf8SYDJ3hwHu2LYjZ24J0FRRSDGj7Kqr/zpF03C6XLUUIwgmplKEDIC5K+k175RRxsKKscAyFLvmluW/TxkAIKdgcQUAwERuLCvskoz9TZMsJz/5W1y+6pId23bmU816UqgZ9++6+L6Hzqitrh1J1TQ8DnsFxQj636cJFCEDGHNXjv/sFbOpQnoM8dagiMHsAAA5A4srAAAmw6X4Wf3qn26gmlP27j/wY4o5QRPCNKftDFTzweZlmmaucQoOh4Ox4OE6qhGkYKMoQoZQhbiaIqRBX8d2Y6htW38bOBnKzVlhAAAGLK4AAJjMnMneN5csWSKo5gwzDklNNovF4qOYEcrLy5XqqtrzqZpG6YjScLy/MxqTGXn7VS7D3JX0unHGDOM4ZuNY5kGQFXOPz9tBBQAg52BxBQAATMGMQ1KTzWqzNVDMCF2q97tNB5tsVE2jqKigl2JUmpAuipAhjLkrFRUVpvuzllO0Qe9Cwa4VAMhpWFwBAABT2Llrt+mGpCab1WKJecKNGTXUNXyXoql48/Ni3r7wzv79Lo1xvN7JMMbcFdvkk3NmuLUZ7VrzwEbJ2D6qRyNUNfgUZQCAnIQXGwAAkHZmHZKabGp3aDtF07tn6SMTqzZXlVE1Fa/H00wxgttbeoaU+ltEyDiaEBhqm0bGrXacyYEumLx+/bHFBygDAOQkLK4AAEDaNR9sXi5Ebo2Z8eZ55cqVtxlHnmaEw4cOLw8GzXk6uMvtaqQYgQt+KkXIMGHBPkER0iSs8oHd6iNwSxAAABZXAAAgrY4MSa2sMd2Q1GQrKChQKWaErVu2XU7RdJwu506KETTGT6QIGQZzV9LvhmPdlfqXrf0tplAgqP6RMgBAzsLiCgAApFV32P39pqZmK9Wc4c3z+Cma3h33/nz27rp6N1XTcTqcNRQjSMmmUIQMg7krJiHZOkqxvPiNafntlAEAchYWVwAAIK3q6xu/QzGneLyeuCfcmMne+n2LKZqSzWbfRDGCJuU4ipCBMHcl/VShGosrsQcXCYlbggAAdFhcAQCAtFm84sFJlZuqJlLNKW6Xq4uiqS1atLJgc0XVyVRNx+PxsHsX3xTzRBP9HWHODUrOJpi7kn7XT83frX95r79F6O3r6n6eMgBATsPiCgAApM3hAx0rQ6EQtdzicDpbKZpar6rd29Pdw6maTklpcdwpu5qQ+RQhA2HuiknIGLtTJPvLjTPG+KgBAOQ0LK4AAEDabN2y9UsUc47D4Yx5fLCZ7Nixcy5FUyosLOyhGFVYSidFyECYu2IO4QB/Rv+i9bf/0n9/jjaPBQAgZ2BxBQAA0mLhkp/Pa6xvdFHNOU6n/QBF01q09Bfnba3dWkzVlLx53pg7gGq7u4uEZKbddQMDg7kr6XfDNHczk+wVqv/W6u/c/k/KAAA5D4srAACQFo179t5JMSdZ7fa9FE3r4N6D90sZe46lGXjzPAcpRlIdZ1CCDIa5K+YgGPvorUGSPXPjjBlhagAAOQ+LKwAAkHJ3LX+kpGpT1UlUc5LNYa2naEqzZ8+2VFfWnEvVtJwuVwPFCILzUylCBsPcFXPw89Cf9S+B/saYxgVuCQIA+BAsrgAAQMp1Hm5f2tubMScRJ4XHZttB0ZTGTj1j0aGWwxaqpuVyOrZTjCAlO4EiZDDMXTGHG8sKjRPO/nqkSLbnhin5bx7JAABwBBZXAAAg5bZv25nTMxQURWFbN7++i6op1e+q/zZFU3Pa7dUUI+hvyssoQobD3BVzkKx/t4rk8ikhhLnvGQQASDEsrgAAQEotLl/1ue3bthdQzUkFBfny6aefjjh5wyzKlz9yXGVl9XiqpsYd9k0UI+jv/cZRhAyHuSvmoO5t+6tkrCti/goAAGBxBQAAUmvfgYM/ppiz8gvyQxRNaf+BlpVqWKVmXgUFBfL+O29uoxpBlayUImQ4zF0xhxtmTgxwJu+9rswTc8cYAECuwuIKAACkzIIFCxxVm6vPopqzvF6Pj6IpbandcglFUysuLfrPcM1ohJR5FCHDYe6Keex64qc/pwgAAB+CxRUAAEgd19glba3tOf/c4/Z4TDvN9/YlP/vGnsa9DqqmVlhY0E0xKk2yjPj3gIHB3BVzWLJkiaAIAAAfgsUVAABImbqddd+gmNNcLmcHRdNprN9zO0XT83q9hyhGqGr3j9Mk5m1mE8xdAQAAM8PiCgAApMTi+x4+vaa6dhTVnOZ0uw5TNJW7lj88ompzdcYcX+z2eg9QjCAVy5kUIUtg7goAAJgZFlcAACAlWpqalmuaaQ/ISSmH3d5E0VTaD3cs6+vro2Z+LpdzN8UIXLCTKUKWMOau2CeejFuDAADAlLC4AgAASVdeXq5UVdZeQDXnOWz2mDsu0mnHth0ZNTDU5XBsoxhBMnYcRcgiKhcYagsAAKaExRUAAEi6LtX73aaDTdjOT6wORyNF01hcvuqSHdt25lPNCDa3vYpiBE3KSRQhi2DuCgAAmBUWVwAAIOka6hq+SxF0DqtSR9E09u4/UE4xI3DOWahNbKIaQUg5hiJkEcxdAQAAs8LiCgAAJNU9Sx+ZWLW5qowq6Cw2+y6KprBgwQJH1eaajBoAW1JaLB544Ht+qhGE5CUUIYtg7goAAJgVFlcAACCpWloOrQgGg9TAZrcxa/jwPqrm4Bq7pL2tPaNeExQVFcVcWDEIKb0UIctg7goAAJgRFlcAACCptm3ddjlF0BUWFGhLliwRVE2hbmfdNyhmjLyCvE6KUamS4daRLIW5KwAAYEZYXAEAgKRZWL7qmvq6BhdV0OUV5IUomsLi+x4+vaa6dhTVjJGX5z1EMcL2ntBxQkpqkG0wdwUAAMwIiysAAJA0exv2LKYIxOPx+CiaQnNT8zJN06hlDrfbE/PWqpDKZ1CELIS5KwAAYEZYXAEAgKRYvGJF0eZNldOpAnG7XV0U0668vFypqaq9kGpG0X8dd1OMIATDn7ssF2biaooAAACmgMUVAABIiq7W8NLe3j5OFYjT5WqnmHY9qvvWgwcOZuTtFQ6nYyvFCJLJYylCllIFO50iAACAKWBxBQAAkmLHtp3XUIQPcbldhymmXUP9ngUUM47NZttMMYKUciJFyFIak0UUAQAATAGLKwAAkHB33vvQRdu2bC+kCh9is9maKKbVPUt/NaGyonoy1YxitVpZ+/4t1VQjaIxl3IBeGBxNSAzKBgAAU8HiCgAAJNzBvfvupQgf43Q6Yg5iTaVDhw+tCAQC1DJLSWmx9uijj4apRtAkdjVkO41x5Z39+7HAAgAApoHFFQAASKgFCxY4qqpqPkEVPsZmsTVQTKttW7ZfTjHjFBYV9lGMSgjmoQhZSkrJvPn5TqoAAABph8UVAABILPeYu1sPt+H5JQaryxrzlJtUubP8wVm7d+3O2AWIgoL8DooR1q9fb1H1X2aqkKWsnInp+bH/HAAAAKQaXvwCAEBC6W/av0URolAU6zaKabNnz967KWYkj9fTQjHC1M9eMd3Y1QDZzcp53N1LAAAAqYbFFQAASJhF9606ubqydjRV+BiX28Xuv/PmNqppceedP8mrrKg6hWpGcrk8eyhG4DiiNydYFJaWU7c2Hgp9eUNzcHlFQ2cBXQIAADgCiysAAJAwLc1tKzVNowYfV1hQoFJMm14tdG93VzenmpHcblcdxWhOoq+QxSxc+YBiUr1/sKdkQ0u4/B8HAzV/2uNX9/apfz7g1+7Yze0drx8K3kj/GAAAABZXAAAgMcrLy5XaqtqLqEIU3jxvkGLa7NpZdx3FjOVwOWopRhCMTaUIWczO5W8oJtzG5sDMfzUFn/nr/sCh+pC19YAv/D9tQTE9IKSF/hEWloy3BsQvjcUXugQAADkOiysAAJAQvZrnlgP7D9ioQhQej6eXYlrcU/7Qp7bUbC2mmrE8DlsFxQhCigkUIUtZOdNOKna8RHXYjCOd32gO3fbSweD7f9nnD+71i9daAtpVXWExQoszvyegSVsXs/+ZKgAA5DgsrgAAQELU7278HkWIweVxdVFMi71NB5Zm+rBXh8PBWLB1J9UIQrBRFCFLORRl2CduvX4ofPKrzaHf/v1AYP9ercS3z6/+tDWonelTpZ3+kQHpCGnnvbmvu4gqAADkMCyuAADAsN2z9FcTKiuqJ1OFGFwuVzvFlJs9e7alurLmPKoZq6S0JLxkyRJBNYLGZCFFyFI2hf2d4oAZR3RvPBT81ssHgxue2+fv298Xrm7yq1/vCIlxqhj6gqNxe1DI5vgFVQAAyGFYXAEAgGE7dPjQikAgQA1icTqcMY8QTrZxx5658FDL4f/MjMhURUUFcW+t0oR0U4QsxDlnDjt/hGpc77YEJ73WHPrFiwcCu+WZl4b39mmPHQpqn+lVE/tnpCssrjZmTlEFAIAchScCAAAYtu1btl9BEeKwu+wHKabc7l31N1HMaHn5+TF3/xizMzTG8domi9kV5j8hzx7ztjDDi3V1jn8eDH5Q7xcNB/3qd9pDYrKxw4QeTjjjVqILblp0J1UAAMhReAECAADDcse9P59dt2s3dgsMgN1q30MxpRavWDW1qrI6Kwa9er2eJooR8jylp2f6TBmIz855NcWYNOf4/YeD2hmp/LPQExLfpwgAADkKiysAADAse+v3LaYIR2F3WRspplTrwY6V4VCYWmZzuV0xfw2F4KdRhCylWPh6ilG93hL6bldYlFJNGeN/c2NL6ItUAQAgB2FxBQAgw9S2hefVtgc/SzWtFi1aWbC5oupkqnAUFm6LeztDsmyp2XIpxYzndDlj/hpqjJ9IEbKQwjkr4L7HqEbVq4pFFFPOp4qfUgQAgByExRUAgAxR1RWc9M7hQGdbWH2yPSz/ubkt+Fd6KG261fD9Pd09SZtlkG2CHep2iinzwyU//1pjw14H1YzndDhrKEYQjE2hCFnIofC2ssLCmMeZv90Rnt4VlqOpplxHWJ6wsTV0HFUAAMgxWFwBAMgQ4TD7a1CTBUY2Zgl0h8Wlm9vDfzryYJrs2r5zDkU4irz8PPnAA9/zU02ZfY17FlLMCjabfRPFSFKOpwRZyKawtylGFQzJm9M5c0fT/7dDKnuYKgAA5BgsrgAAZIDqtvB1Pk1Oo/of3SH1ysr20KNUU+qO+1bN3FK7rYgqHEVBQYFKMWXuWv7wiM2bqrLmVhmPx8PuXXzTPqoRNMZGUIQsZFOUJyhG5dfExRTTpj2oXmScWkUVAAByCBZXAAAyQFCKH8f6RLY7LL5d2Ra+l2rKNO9tup8iDIDX60n5rpXO1s6lfX191DJfSWlxkGJUmuzf2QXZx8KZ+OMvlv6RalR9YTGZYtqEBFMCtpEPUAUAgByCxRUAAJPb3hmYGNDkJKoRjEWXHlW7u6Y9eAtdSrr58+fbqiprzqEKA+D2unsopsz2rTuuppgVCgoLeilGpQrppAhZxmFR9i1ZskRQjfBmS+gyY2GDalp1h7QbKAIAQA7B4goAgMkFNGWZOMocAePxrrB8uLojPJsuJZWzuOyuw4dbLVRhANxuV8xBnMmwuHzV57Zv25FPNSvk5eW1UozQ0NlZoEmG4cpZymbhL1OMKijl1yimXa8q3a+3BG+mCgAAOQKLKwAAJucX4nKKcRnDFLtD6tpUHNNcv6v+/1GEAXI6nTEXBpJh34GDP6aYNTxe90GKEfqE6yyKkIWsQvkVxaj8qjyPoin0qnIxRQAAyBFYXAEAMLGa9tCskCY9VI9Kk0zpDsu/V7eGT6dLCXf3soemV1XWjKEKA+RwOJopJt2CBQscVZurs26xwelyNVCMoHF+MkXIMjaFh6aXWGOeEmUMkO3T5EiqptAVluNebw58mioAAOQALK4AAJhYSA7+08+wlNY+ob1d2x1MynDHpoOHVqhqyg++yXhOp/MAxaSTrtH3tLW2Z91zvNvl3EExgpTsBIqQZRwWvo1iVKpt5LdUkb4jmKMxZmEFBf85VQAAyAFYXAEAMKnqlhaPTxWnUR2UkJCOvoCsrGzuTejRtOXl5Upt1Za0H3eaiax2+16KSVdfV/8tilnFabdXU4ygv7dO+0kxkBxWRXmWYlQBTV5F0VQ6wuKMja0+7PIDAMgRWFwBADApaSsu198wDnlAZ0DIvKDFttVYpKFLw9aneufv37ffRhUGwWG37KaYVItWPnxqdWXtKKpZhTvs71OMIKQcRxGyCOecaVr4UapR+TSRtNsgh8PYTRNWLb+kCgAAWQ6LKwAAJhXQxLCP89T/O0pDlsJt69evT8jJPrsbGr9PEQbJabPHvKUlkVr2tizXNI1a9sgvyJf333lzG9UI+vvYUoqQRewK65pR6m6iGuHt5sDEPo15qZpOZ0hc9lhFBRakAQByABZXAABMaEubelZQyIS8WexTxYSy8y+rpDpkdy/7xaiqiqqpVGEQFEVhWzdvSPrOlf7btmovoppVikuKAxSj0qTMqmOnoZ/DosQcZGsIc36LMd/ErPyatB439qSsO7kLAAAiYXEFAMCEgkzcn8g3DL2qmL6pLfg61SEJ+IKz/f64728hhoLCAvH0008nfTtJr+a55cD+A1n5KXlhQUE3xahUIe0UIYtYOV9HMaqAJi+laFrdqryJIgAAZDEsrgAAmIyx+yCgifOpJkxvWHx6c3v4T1QHrbOj+7MUYZAKCvLCFJOqfveeBRSzjjffe5hihIpW3xjBhj6fCMxJf5Eqww01j1ONqleVx1E0rZ6wKNjYEr6GKgAAZCksrgAAmMyV31l0a1jIpOw+6A6pV1a2h+IOh4ylra3tFIowSF6v10cxae5Z+qsJlRVVU6hmHY/HE/Moa6fVeiZFyCIOq9I8Y8aMmAuTbzYFzgtoyflemWi9qnY/RQAAyFJYXAEAMJmQEEndfdAdFt+u6gj/iOqAHTzQPJYiDJLL7eqhmDSHDx9eHghk721bLo+rnmIETbCTKUIWsXO+gWJUIUX5fxRNrzMsJ79+KIw/pwAAWQyLKwAAJlLV7h/n19hkqklhzHLpDmlLatqDt9ClATHz0Eizc7ndHRSTZtvWbVdQzEpup2MbxQgaY8dThCxi4fLXFKMKqOICiqYn9O+fIVXgWGYAgCyGxRUAABORwrLceBGebMb/RldYPlzdEZ5Nl47K4/Vgmu0QuZzOmPNCEuHO8ge/Urdzt4dqVlLs1pgnXul/nidRhCxh40w9udjxL6oRjOPle8JiHNWM0BHSzqto6CygCgAAWQaLKwAAJhKQ4kqKSacd2cGirq1pDw7o6F6Px9VHEQbJ7rQ3UUyKvXv23kMxK3HOmezWKqhGEJKPoQhZwmFR6ihGNeq8L81TZWYNMQ7rP98ut/tBqgAAkGWwuAIAYBKVnaErgppM6e4DTTKlJyxfrG4Nn06XYnK53F0UYZCcNkfMYazDdeedP8nbXFF1KtWsVFxSJFauvC3m4p6QsoQiZAkLZ3+nGFWIKXMoZpSukHaNcSIcVQAAyCL45g4AYBKaKu+mmFJhKa19UttYV1fnoEtR5ed791CEQbI6bI0UE65PhH/c3dWd1ccQFxUX+SlGpUmZRxGygLFTyW5jj1CNyq+KsylmFJ8qHRfMX/RDqgAAkEWwuAIAYALv7N/v8mviDKopF9Kku6dowp+oRlVcUvQCRRgkq80e9xaH4di5Y9d1FLNWfkF+J8WoVMky4jheGBibwvqm5Tti/p15/2BPSa8qC6lmnJ6wwOIKAEAWwuIKAIAJuN2jlmhpnh/gU8UlxpBIqhFsHm211WalBoNhs1h3Ukyoe8ofPmdLzdasvyUmL897iGKErd3BqakYAg2p4+C8mmJUAavjpkz+Pe8KixFvNYcupQoAAFkCiysAACYQ0MTXKaaNKply/AWXfZtqhKV33NExeUpZL1UYIJvdxu5dfNM+qgm1r/ngslw4Itvt9sT89VM1JW07viA5LBb+B4pRBVT5ZYoZq1eIlRQBACBLYHEFACDNjGGyASFHUk2rMGPXUoxq7Lhx2ynCABUWFmoUE2r27NmW6srqT1PNam63azfFCEKw6RQhCyicM6fo+TXVqHyayPjf846QPOnNQ8HJVAEAIAtgcQUAIM00Lk2z+yAsZNw3LSNKil+mCAOUn58XpJhQY6ec+cOW5kMxb+PKJg6nYyvFCJLJYylCFrArvPX4kpIeqhFePxQ+uU+VcYdvZwLjKHy/4L+kCgAAWQCLKwAAaWQcyRnQxIVU0y4kWKExXJdqhKKivMcpwgB5PB4fxYRqqG+4hWLWs9lsmylGEFJOpAhZwGFhb1GMSkp5M8WM1xVUL473/RYAADILFlcAANLoK9+586aQkKY56cQYEulyj5pNNcKSO2/ZPn7C+DBVGAC3x9VNMWEWr1g1tXJz1QSqWc1isbD2/VtiDjgVjI2mCFlAYTzuAq5fFZ+jmPGCglkC1pErqAIAQIbD4goAQBoFhPweRdMQTMQdFnnMMeMbKcIAOF3udooJ03qwY0U4lBtrXCWlxdqjjz4a819Wk7KIImQ4C2fizw8t+wvVCMZOv15VTKKaFbrD2jcoAgBAhsPiCgBAmlS0+sYENDaVqmmENXYWxahKRpa+QREGwOlyxDxGeKi21GzNmWNci4uL4t5WJQTzUIQM57TwxiVLlgiqES66adHlIZFdr117Vel5/VDwRqoAAJDBsLgCAJAmnFuXGbfhmE1IiLi3WRQX5D9NEQbAbrc3UUyI2+/52Q2NDXucVLNeXn5eB8UI69evt6iMWalChrMqStyB2SEhb6CYVfpUdg9FAADIYFhcAQBIk5AmvkLRVDTJlJr24EVUIzhY18tFRYXmWxUyKZfDsY9iQuzdt3chxZzgzfO2UIxw/GevmGaWk7YgART+CKWo/Ko8l2JW6QyJCW8d8p9DFQAAMhQWVwAA0qC2I3RpQMg8qqajcX4txQjGtv3JU8qaqcJRWCzWeorDdtfyR0oqN1VPo5oTXB7PXooRNMFmUIQMZ1d48LRCWxXVCP9safH0qnIE1axiLBD2qspDVAEAIENhcQUAIA2CmvwRRVPSVHkexahGjhr5AUU4CqfVtpvisHUebl/a29tLLTd4HM5dFCNwxk6iCBnOZuFbKEblYEXf1LJ4l1JnSDvjlUN9o6gCAEAGwuIKAECK1dXVOfyaOIOqKQWlLKMYVVFJ0XMU4Sg0p28bxWHbsWNXzGOys5Xd6Yj5plsw8w2EhqGxcx73e0pIyKspZiVVMi41K3avAABkMCyuAACkWF/xxCXGXBOqphQW0r69J3Qc1QjcL9c5HA5qEIvb42ZL77gj5kDWwVhcvuqz27ZsK6CaM2wuWwXFCEKICRQhg3HOmQiF4s5b6VPFaRSzVldYfNkY0kwVAAAyDBZXAABSLCTENyiaWiDEr6cYYeXK2/omT53cRRViKCjIVykO274DTfdSzBl2u53Zg23bqUaQjOE2iizgUFjnaaO9h6lGePNQcLJPy/4jtwOatI049zJT3zIKAACxYXEFACCFajrDJ/s1mRFvCIUUF1OMauzY0XFnJABjXq83QHFYFixY4KiurD6bas4oKS0JGwOUqUZQpSyiCBnMpihxZzipkt2UK6dC9WjyFooAAJBhsLgCAJBCqiaWZ8qbhLCQJ1KMqrS05CWKEIM3z9NHcXjcY+5uPdyWc8/ZRcWFcX/9NCFdFCGDWThfQzGqgCa/SDHrdYdF0cbDoVlUAQAgg2BxBQAghfya/CxF0wtKltfQ2RlzxoezwPG4MSsBYnO53J0Uh2X3rt3fophT8vPz2ilGMAZDa4xjPkWG01+ISq2xJu7iik+Vx1LMCb1hsZQiAABkECyuAACkSHVb8NvGoFiqpmfssOnVXHOpRlh6x4LGiZMmBKlCFC6nI+biwEAtum/VydWVtaOp5hSvx9NEMYK/eNzpuXKrSDZzWpSDM2bMCFON8FZL8AK/Jq1Uc0JnSB77dkd4OlUAAMgQWFwBAEiRkGA/oJgxVMYvoxjV+GPG76YIUThczhaKQ3aopW2FpmnUcovL49lDMYKUStafHpML7JxvoBhVSLKc27UlpGS+gMSxzAAAGQaLKwAAKVB7qG+UX8iYRxublSrl6RSjKh1R+jpFiMLucBygOCTl5eVKbdWWjLmVLNHcLudOihEE49MoQgaTTPwfxah8mpxJMae0h9TPvNXWlkcVAAAyABZXAABSQLXYlhqfRmaagCZGGm/wqUbIL8qPOysh1znstr0Uh6RP9c7fv2+/jWrOsTscNRQjSCanUIQMZVO4elqpM+bOlccqKmy9YTGWak4JC6YEw3k/pwoAABkAiysAACkQ1ERGnv4gJONXLVgU86SOZYu/u3HEiNKYR+XmOpvN1kBxSHY3NH6fYk7Sf/02UYyg/6EbTxEylF3hMXcmGY4bd9JcVf8eRDXndIW1mDOvAADAfLC4AgCQZDUdwUsCQuZTzTghwa6iGNXEsonDuvUlmyluW9w3j/Hcs3TVuKqKqqlUc47b42b3Lr455swVTbIRFCFD2RTlbxSjUgXP6cUFnyqdbzSHbqMKAAAmh8UVAIAkC2lsCcWMpApxLsWoRo4Z9R5F+JhQizrkxZXDrV3L/P4AtdxTWloSohiVJmXMY8LB/I4c424Rv6QalU8TZ1HMWT2quJ0iAACYHBZXAACSqK6uzuHXxNlUM1JIsGMoRlVUVPgnivAh+QX58oEHvuenOmjbt+z4CsWcVFBY0EMxKk1IF0XIQHaF9Z1a4GikGuGVQ32j+lQsoHWpctSbh4I5O9QaACCTYHEFACCJ+komLtZkZn+vDQtprekMn0w1QrC94Y/GLRzwUQX5eWGKg3Zn+YNf3rWzzkM1J+Xl5bVSjNDQ2Vmg/73K2Vkc2cCu8M0Uo7IK2/xMHAKeaFL/NehT5c+oAgCAiWFxBQAgiYKauJFiRhOCXU8xwoMPPhgsm1zWThWIx5s35F0re/fuvYdizvJ43QcpRugVrjMpQoaycv4HilEFpLiCYs7rCMuT324OTKQKAAAmhcUVAIAkqWwPTQtocgzVjKZKcRHFqMaOG1NNEYjH6+6lOCgLFz7gqdxUfTrVnOV0uWKetCQ4P4UiZCDFmLcS7vgN1ah8qpxGMedpQjK/5A9TBQAAk8LiCgBAkkgplxtburNBSMjjKEZVXFz4d4pAnG5XJ8VBCfDQvV1dXTl/y4vb5dxBMYL+1+oEipCBHAo/dMqoUX1UI7ze5Dvdp0oHVdB1hMQXXqyrw68JAICJYXEFACBJApr8HMWMFxbMU9ncG/PoW7fX+bjFYqEGBpfTEXNmSDy7dtRdRzGnOe32mLuhhGSTKUIGslmUNylGJbh1PkUgQSEtTs+EZVQBAMCEsLgCAJAENR3hb4VE9nzyauzAURz2mHNX7lv03ZZJZRN9VEHncDibKQ7YPeUPn1NTXVtKNadxh3UTxQhCyrEUIQNxRT5OMSq/Ji6mCB/So8pvUQQAABPC4goAQBKENHEbxayhSXYpxajGTRi3iyLonE7HfooDtq/5wNJsuZVsOPLy8+T9d956mGoEIRkWoDKUlTPx7IPLnqcaoby8XOlTBYa3RtGjirwNLcGvUQUAAJPB4goAQIIZt8/4NZl1MyHCmjyVYlSlpSWvUgSd3W7dS3FAZs+ebamurPk01ZxWUlISpBiVJmU+RcgwdgtvWLJkiaAa4cKbF305JPD6NBafyn5EEQAATAZPXgAAiWa336e/+aOSPUJCllRUVNioRsjLz1tNEXQ2u303xQEZN/WM21qaD1mp5rSCwoJuilGpWXTLXa6xK8o/KUYVVuUNFCGKzrCY+HaL/yyqAABgIlhcAQBIsIAmZlPMKsaCkbXs5K9QjbD07u9sGj1mlEo153G7jHnaTTT1uxtuoZjzvPnemLcE1R7qGyX0X16qkGEUhT9CMSq/Jj9FEaIwbhvs05SHqAIAgIlgcQUAIIFq2oMXBTVZQDXraELGXFwxHDNx4j6KOc04OWl3xdsNVI9q8YpVk6s21xxDNefledwHKEay286kBBnGrvDAyYW2GqoR3mpry+tVJebpHEV7SDt7Y5zT2wAAID2wuAIAkEBhyX5MMSupUn6CYlQjR494h2JOKygsEE8//bRG9agON3WuDIVC1MDpdtVTjCAEO4UiZBi7wmspRqVqed/KxlsqE02VjIel7RdUAQDAJLC4AgCQIMY8Er8qzqGalUKaGE8xqqLCwmco5rT8/LxBrZRsrdka9ySmXONyOrZRjKBJdjxFyDBWhT9LMaqgJq+iCEfRGRZfMU5WogoAACaAb8oAAAlinTR9sSqz+/uq/u9nqWn3x1xAatj61vPePG/Of/Ts8Xp9FI9q4ZKfz2usb3RRBZ3FYauiGEEyOYkiZBDOOXPYgr+iGpVfFXFPJIP/8mvSfsG3F91DFQAATACLKwAACRLU5I0Us5omLXMpRjBuhZk8tayVas7yeFw9FI+qcc/eOymCzngTLru1D6hGEJKPpQgZxKHwjhPy8tqoRnjncHBqn8bcVGEAulXxXYoAAGACWFwBAEiA7T2h4/xCjqOa1VQpZ1KMauyY0Zsp5iyXy9VBMa7FK1YUVW2qnEYVdEXFRWLlytv6qEYQUpZQhAxiV/h7FKMKqOxm4yQcGLjusCjeeCj0ZaoAAJBmWFwBAEgAf5ivyJU3BmEhj6UYVXFJ0QsUc5bT6Yx5lPCHdbWGl/b29uFY4Q8pKi7yU4xKldJLETKIhfE1FKMKCPkFijAIfWGxnCIAAKQZFlcAABIgoGo588YgLJlzS0dgAtUINo+22mqzUstNDpejiWJcO7btvIYikILC/C6KUWmS2SlChlA4kztffXYt1ah8mpxKEQahMyyPf7stdAJVAABIIyyuAAAMU2V7+IaQkA6qWc/YoSOkch3VCEvvuKOjrGxSL9Wc5LDaD1KM6c57H7po25bthVSB5Hm9hyhGqO0OTha4dSTjuCzK/lmzZsU8mnzjoeBFAU3m9orsEBlHV/tC7GGqAACQRlhcAQAYJlWIhRRzRljG38I/bsL47RRzkuAy5hvJfzu4d9+9FOFD3G73PoqRNOUMSpBBrAp/lWJUYY19iyIMQUdIveCfLS0eqgAAkCZYXAEAGIba7u6igCZzbiBpWLDpFKMaUVL8MsXcJOOferJgwQJHVVXNJ6jCh7jcrt0UI2gs/p87MCcbF/9LMaqAiD8kG+ILCabYZNHPqAIAQJpgcQUAYBg01bnU2Jada0JCFr6zf7+LaoSiorzHKeYkTQonxejcYxa3Hm7Dc3AUDqdjK8UIUsjjKEKGsCs8fFKR8y2qER6rqLB1h8VoqjBEXWEt5q2aAACQGnhhBwAwDAFN5uRAUmPuhdM96mqqEZbcecv28RPGh6nmHDWsxp2lsntX/Y0U4WPsdlslxQj6n7uJFCFD2BW+g2JUJ44/6QZNMpyYNUx9qnS93hL6LlUAAEgDLK4AAAxRZWtgZkATOTuQVDJxJcWojjlmfCPFnHOo5dCnKEa4e9lD02uqasdQhQ+xWCysff/W2IsrTGKHQ4axKkrco9mDGr+WIgxTjyrupAgAAGmAxRUAgCHSOM/pgaSqxs6kGFXpqBEbKeacHVt3HjN79mwL1Y9oOnhohaqq1ODDSkqLtUcffTTmjidVsmKKkAE458zKtUeoRuXTRNzvIzBw3WE5ZmNzAPNrAADSBIsrAABDUFFRYQuoIubuhFwQFCLu7oui/LynKOacrq4uPuG4M2+h+h93LX94RMX7FZ+nCh9TXFzkoxiVkAwnomQQu8J6Typyxjz9aWOrb0yvKvOpwjAZx+T7JVtFFQAAUgyLKwAAQ2CbNP12VbKoOxNyhSaZUtMevIhqBAfrermwsCD3pv2SN9945yeLV6woonrEvt17nz3Ucjin/9zEk5ef10ExQnl5uaL/nbNShQxgV3gFxag0zTbfWBCAxOkIydPe6AhMoAoAACmExRUAgCEICjmfYk4TjMcc6LtkyRJRNqWsmWrO2btnn3171d4P7lr+8LT58+fbvnvHsp9t2LDxk/QwROHN87ZQjPCVBYtPwhvxzGLj7BmKUQU17QqKkCCqkCwc5A9RBQCAFMLiCgDAIG3tDk71aRKfDOr0F/LnUYxq1OhRmyjmpHfffn/ymt+t2/Ju5T7/H5/58/fVMGatxOPyePZSjKAJNoMiZACFc9bnO/xbqlH1qfJEipBAnSHxReOIa6oAAJAiWFwBABikUFhZgU/Q+wWFnEwxquKSomcp5qxwKMxwK9DAeBzOXRQj6C9Y8EY8gzgtvOWc8eP9VCO82ew/w69JO1VIoIAmrcePO+l+qgAAkCJYXAEAGCS/pl1KMeeFhbQbO3moRuB+uc7hcFADiM/udGyhGEFIdixFyAA2rsQ9LSzELDdRhCToCstvUwQAgBTB4goAwCDUtoXnhYR0UgVdKKzcQDHCypW39ZVNLuuiChCX3WmtpBhBk+IYipABrBb5O4pRBTX5WYqQBD1hkb+xOTCPKgAApAAWVwAABiEgxUKKQIQUF1OMatz4MTF3IwD8m91uZ7ZQ+1aqESRjoyiCyVk506YX2v9KNYJx8lOPqmFuVZL1avxeigAAkAJYXAEAGKCGzs4CvyqmUwUSFnIaxahKS0teoggQU0lpsWqcMEU1giZkIUUwOYfFUk8xqs/esvirYYHXoMnWGRaTXm/ynU4VAACSDE9sAAAD1KW579Pf+XGqQIKS5e1oa8ujGsFZ4Hicc/yyQXyFRYW9FKNSpXRTBJOzcvYPilEFw+J6ipBEQkpjts3DVAEAIMmwuAIAMEAhIedQhA8xTk4KMu9cqhGW3rGg8ZiJE4JUAaLKz89rpxihrq7OoTGOE5cyBWe/ohSVT8hPUoQk6whqn3xzX3cRVQAASCIsrgAADEB1Z+C8gJDFVOFjVMYvpxjVhInjd1MEiMrr9TZTjBAqHncqjj/PDA6F+08rtsecnVPR0FnQF5YlVCHJwpLxkM3xC6oAAJBEWFwBABgAVeP34c1dbJqUMyhGVTqi9HWKAFG5PO49FCOoUsHciAxhU3gtxah6XO4b9e8X1CAVusLiamOIMFUAAEgSfKMFADiK9evXW/yqOI8qRBHQxMh4L969Bd61FAGicrmcOylG0N+Kn0gRTM5m4X+kGFVYyFkUIUV8qrRfcNOiO6kCAECSYHEFAOAojrvw8ptVyTDvIQ4hGf/qgkVfoBphxd3fe2PEiNKYJ8EAOB3OmDse9D84UyiCiSmcM8US+D+qUfVp4hSKkEI9IfF9igAAkCRYXAEAOApV4pPWgVAFm00xqollEw9QBIigONkHFCMIxiZQBBNzKLx9en5+B9UIG1tDx/k05qIKKdQVFqUbW0JfpAoAAEmAxRUAgKMICXkqRYgjLMSnKEY1avTI9ykCfITL7TpyqhTVCJpkIymCiVkV/i7FqMKqvBmzq9KnTxM/oQgAAEmAxRUAgKMIazKfIsQRFuwYilEVFhb+mSLAR5SWloQoRqVJWUARTMyq8CcoRhUSMuatg5B8nSF54juHg1OpAgBAgmFxBQDgKCTnnCLEERbSVtMZPplqhGBn4x+MHQoAH1dQWNBDMSpNSCdFMCkLZ3Lnv579A9WoesMSs3PSyDilyafxR6gCAECCYXEFACCO6pYWD7axD5wQ7HqKER588MHg5CmT26kC/Edefl4bxQg72tryNInXK2bnsCj7Zs2apVGN8Mbh4OeCQmIweJq1B9WL3tm/H6vcAABJgBcrAABxuHt6VGxcGbiwFBdSjGrM2FE1FAH+w+v1HqQYIci8Z1IEE7Nx/i+KUYVV9k2KkEYhwZSAbeQDVE3PWAiqaAtu3NgSkO8dDh6qbg9/gx4CADAdLK4AAMQxderUoJWzMFU4ClXI4ylGVVJS/DeKAP/hcrsaKEaQnGOgdAawc+1RilEFhPwMRUiz7pB2A0VTq+kMfJo5Sg/3hMW5xi1Nfk2M6Aqrv97eEzqO/hEAAFPB4goAwFFYOO+iCEcREsyzvaenhGoEt9fxpMWCOwPgo5wO5w6KESRjJ1AEk7IrPDyt2PUe1Qgv1tU5elU5miqkmf574X69JXgzVVOqag+v7AzIDUFNeujSEUIy3htkL1AFADAVLK4AAByFXWHvUISjMObTBFVHzLkr9y1a0DSx7Bg/VYAj3B5nzNvF9DdTkymCSTkUvp1iVB7vhK+p+m8kmEevKhdTNBVjxlJFa7C6M6TeLhiLek+uTxPHHtnVAgBgMlhcAQA4CqtFWYy5KwOnv4f6IsWoxk8Yv5MiQD8Lf59SBCHlOIpgUgpXnqMYVUjyayiCSXSF5bjXm821QFHbHvxsh+Zp6VFFzFPnDMYifljjy6gCAJgGFlcAAI7i5EJbjUvh+6nCUYQ0GXdGRmlpyasUAYyTguT9d956mGoEIVkpRTAhY+GZc/VXVKPyqeIMimASR3YZCv5zqmlX2RZ6qCMs/xkUckAnGflV8cm6ujoHVQAAU8DiCgDAALgs7OvYvTIwYSFLKyoqbFQj6G+mV1MEYCUlJUGKUWlS5lMEE3Jw1nNqsesA1QjvtPvH9WoyjyqYSEdYnLGx1TeGaloYM7o2HQ5u7wprtwo58FvHVMmU3qKJ91AFADAFLK4AAAzA9GLHyx4r30wV4jBOdbCXnfxlqhGW3v2dTaNGj1SpQo4rKCzophiVKiQ+nTYxm0XZRDGqYFC5ydglAeZjzMEJqZaHqaZcZWfoig6/7UCvJuKeMhdLSIgbKQIAmAIWVwAABshhY7P0b5p4lzAAYSG/SjGqiZMm7aMIOc6b7415S1Dtob5RsYZagjlYmXyKYlRBKS+nCCbUFRKXr1+/PuVHuFW2hX7bExR/CQ1j8TQg5MgtbepZVAEA0g6LKwAAAzQ931Hvtccf3Aj9VCnPoRjVyNEjcAITHJHncce8pYTZbJjVYWIWzpm7Y9/vqUbVp8oh7UqA1PBr0jryvMvupZp0xoLpB62B+q6w9vXB3AYUjbEjKsTFCqoAAGmHxRUAgEGwhDvn2hUepgoxhDQxnmJURYWF6ylCjnO6XfUUIwjG4p4aAunlsPDmqVOnxpyZ80aL/2z9zbudKphUlypvpphU1R3h2T3Msq9PlWV0adh8Ye0z6dh5AwAQDRZXAAAG4ZRRo/rcVssqqhCDKplla7v/bKoRGra+9aw3z4tbrIC5nI5tFCMIwbDrwcSsnL9OMSpVWuZTBBPrCYuCjS3hpB6Xvbkt9FRXSHsqJGTMYedDYTzXHHvh5YuoAgCkFRZXAAAG6dRi20KnwuMO4QTGQtIyj2KEp59+Wps8tayVKuQwq91ZQzGCYCxhn3BD4tm5/A3FqAKavIgimJxP05KyQLGlIzDh/cPB/d1hbfZwbwOKJajJmygCAKQVFlcAAIbAYbV8lyLEoEp5PsWoxoweXUkRcllf4ANKEYSQYymCyVg5004qdrxENYJxq0ZvWJtAFUyuT5XTKCZMVXv4a10hVu/TxDi6lBQB/ftETWcYtxACQNphcQUAYAhOK7Y97rHyBqoQhSrkVIpRFZcUvkARclRRcZFYvvz2HqoRBGMlFMFkHIqym2JUoz99xVVhiZOeMoUx2PaNw8HPUR2W8vJypbI9+GxXWPtdWEorXU4aY7CtqsmVVAEA0gaLKwAAukWLVhZ8945lP11830MDPp3ErchrFI73DrGEJHNVtftjfmJp94onrbakv+4GEyspKQ5QjEqVMo8imIxNYX+nGFVIyOspQoaQGou723AgtnYHp156y50HjSOejUWPVPFr4iJjUYcqAEBa4JsQAOS8H/7PAzc+/4+XO/74zJ9ve/J3az5YsGj5gI6lnFbses9j5W9RhY8xXlgrzHID1QhL77ijo6xsUi9VyEEFBfldFKPSJMNJMybEOWcOO3+EalQ+TXyCImQIjfGRFIekpi14c4dfbPepYhRdSpmwkLYrv7vo+1QBANICiysAkNMWLFjgeHvj2w91dHQe2YIihGB/e/7FuxeXr/rskX/gaKQ2y8KNuxcgmpCUl1CMauz4sdspQg7y5HkPUYxQ1RWclKwBmDA8doX5T8iz76Qalf4Gu4giZAjJZCnFQTHm61S0hV7qUOUvjdN76HLKBTX5HYoAAGmBxRUAyGk+WfBUY8NeB9UjfH0+Vl2zZTXVuGaUupu8FstaqvAxqmDTKUY1srT0ZYqQg9xu9z6KERSNn0kRTMbOeTXFqB6rqLBpDPdMZhoumZ/igFV3hKcfM/Oylp6wdnEqbwOKxq/Jidt7QsdRBQBIOSyuAEDOMu7P3vxB5ZeofsTmTVWjvn/3Twe0xVjsrf2GXeFBqvAhISGL3tm/30U1gqfI+yRFyEEulzPmUFTBedyFOUgfxcLXU4xq+sTpU9L9RhsGz2LhWykOSHVH6LbukFrl14QpBk8bf+b8YQy2BYD0weIKAOSszrBnQVNTc8yJqu+/8979s2fPPuoW5xkzZoS9VuXHVOFDjNs6nO5RV1ONcP+dt24dN35cmCrkGKfLuY1iBCkkPoE2IWOIdwH3PUY1Kk1lUyhCBrFINuDj8avbQ/d0hsRPNWO0lon4VfkFigAAKYfFFQDIWY27G+Pen92wu9FVPH76/1KN6+Ri+1KnRWmlCh8iGfsyxagmTpzQSBFyjMti2UwxgmByIkUwEYfC28oKC+MOIpZMTqIIGcKuMLH1QO2LVOMyToHrDms/MuPupLCQ9uq24HyqAAAphcUVAMhJ9yz91YSqzVVlVGN6+423v37X8odHUI3Laec3GqdowEepmjiLYlSlo0ZspAg5xGKxsO72hiqqEYSUoymCidgU9jbFmCTnBRQhQ+TbLBU3zpgxoF2EmlSeMduOlQ8LSvlDigAAKYXFFQDISYcOH1oRDB59TMrhw63KgT0Hn6Ea16kF9r94LByn33xMUIgxFKMqys8b0K8vZJfikmLtwQcfjPmXUH/zVkwRTMSmKE9QjMkmxBosNGcWt5XfTzGu2jb1jD5VfoqqKQU0NmV7ZwA73wAg5bC4AgA5aduW7ZdTPKqNGzaev/i+h0+nGpfNolxlzCSA/zI+4axuC15ANYKDdb1UWFiA6Zc5pqi4yEcxKv3PjZcimIRx7Pwff7H0j1Rj+uRo5x6vlce9dQjMo8hu2XPeSPtfqMYVkGKd2Y9IN35+fk3BYFsASDksrgBAzrmz/MGv7N6120P1qPz+ANu1fefTVOM6pchW67Eq/6QKRHB+DcUIS5YsEWVTypqpQo4oKMjvpBjBOMlLlSzmsGlID4dF2Wf8faUal9vC36QIJmZ8GOCxyOuoxlXVFfqyTxPHUjW1oCYuowgAkDJYXAGAnLN37967KA7Y22+9e+wdP/r5VVTjstsCs62caVRBpwn5GYpRjRo9ahNFyBEer7eFYoQrv7t4Go7yNR+bhb9M8aicCn+UIphYsZ1XfGa08w2qcQVD8n8z5e9lUEhXZXv4BqoAACmBxRUAyCkLFz7gqaqoHtAtPh9mvKCsrKga0MlB0/PzO7w2y/9RBZ3+QncyxaiKigufowg5wuNx7aUYSbBB/x2F5LMK5VcUj+rcUfbnPVbeRxVMyMKZzLfx2VTjquoIfd+viZFUM4ImxJ0UAQBSAosrAJBTAjz4o87OriENRamt2Vq0YNHycqpx/eWhZbfaLXhj8W/G8Zi13cGYCyxKgK11OBzUIBe4HM5dFCNxdhIlMAmbwkPTS6yD2mFWaFduxWBb8ypxWv9xzghHHdWYjNv0fKq4l2rG8GnyhNpDfaOoAgAkHRZXACCn7Nq1e1jbhN998907FyxYcNRVAGMugdfC76AKOk1TYv7ar1x5W1/Z5DIMwMwhdodjC8UIQrKMmOuQSxwWvo3igM0c5fh9kQ0nqJmRQ2GaKxyYQzWuK25dtCqkyQHPKTMLY7CtarVhsC0ApAwWVwAgZyy+76Ezaqu2jKA6JPv2HbD7WeFRjyI1nFzs+KXLohykmvM0TXyeYlTjxo3eShFygMNt20wxgibFMRTBJKyK8izFQSm088usnGGAjsmUOqy/O3dCfgfVmKpbWjw+TdxENeMENPFVigAASYfFFQDIGc0Hm5cJMaCDLuLauOGtq+5Z+qsJVONyWdj12BbfLyzkiRSjKh5R8hJFyHI2u43ZQu0xF9P0v6UZNdsh2xnfwzQtPKQBtcZtJyOdlnVUwQTcVh44vPG5+VTj0mzFT+rfuzP25K6gJj21HeEBDaMHABguLK4AQE4w7hmvrqo9n+qwdHV18YaG+vVU4zq52PEv/YVsBdWcFpIsf0dbWx7VCO4C5++xEJUbSktL1HhH+gohiyiCCTg4655R6m6iOmitG5+/3mvlPqqQZiUOy/2zZs066ol2WzoCE3rD6pepZqyQJu6hCACQVFhcAYCc0KO6b2062GSjOmxvvv722YuW/uI8qnE5bewq/Zttzm+LN+5/DzJvzHv8l96xoPGYiROCVCGLFRYV9lKMSpXSTRFMwG5VPqA4JMYb+QK7cgsWT9Mv36Z0fHqk/T6qcQU0/oyQLON/0/pUMX17T08JVQCApMHiCgDkhIb6PQsoJkQoFGLbqrevpRrX9HxHvddu/QvVnKYyfgXFqCYcM76eImSx/Py8dooRKioqbBrjFqpgAlbOh31bD4bbpp+xuFVkt9xKNa4tbepZPk2eQzWjCf1fPRB2LKUKAJA0WFwBgKx3z9JV46o2V8c8Bnio3n/3gwk//J8HbqQalyXcfp1d4WGqOUuTcgbFqEpHlm6gCFnM6/U2U4zgmHjKaVJi/qlZGLvuwg01j1MdFgy3Ta8im9J47kjbgD4U8EuxxthtmC2CqriGIgBA0mBxBQCy3uHWrmV+f4BaYm16v+JnxjwXqjGdMmpUn8dq+RnVnBXQxMh4v17eAu+AXvhDZnN53HsoRlAV7TSKYAIOq9I8Y8aMhCwMY7ht+iicM7dFXk81rur20Fd8msiq49ADQubXdoa+SBUAICmwuAIAWW/7lh1XUky4ndt3eQ/3Wge0aHJKse1Oh4V3Uc1Jxv37X12w6AtUI6y4+3tvlI4oGf6RTmBqTqdjF8VIgk2jBCZg5zyhu8mM4bYeK++jCilSYlc2fWa08w2qcQU0+Wg27h4LarKcIgBAUmBxBQCy2sJ7V12xa2edl2pSvP3mO7csWrSygGpcXsVya64PdVQFu5piVJPKJh2gCFnK6XDUUowgGJtCEUzAwuWvKSaEMdy22MYx3DaFLJxJtzX+991/q+4I3ebXxAiqWcWnihnxTqwDABguLK4AQFbb37j/bopJ09zUYj3U2zOw4bYlttVuC8vpoa1hIT5FMapRo0e+TxGylMXFN1GMIBibQBHSzMaZahwnTzVhPj3a+XgJhtumzAiH9cVzRzqO+rxj3LLZp4ofU806xs7JAPPeSxUAIOGwuAIAWeu221a5qjdXn0E1qTa+9ual5csfOY5qXG5FXmvc/56rVMEmUoyqsLDwzxQhC7ncLrb0ju/FfKOnCTaSIqSZw6LUUYzrtrt/ctsN8+987Y77Vs2kS0eVj+G2KeFQuFYY8F1LNa4rbl30YEjL7mPQA4INaO4MAMBQYHEFALKWavEv6ejoTMkqRm9vL9u2fdd6qnFNK3a957HyjVRzTkhIW3VHeDrVCMHOxj8Yb8AhO5WWFIcoRqUxOaBb7CD5LJz9nWJUxk6HL836fwefWvOHn778j1dmPr/+r68uLl/1WXo4LmO47QinZQ1VSJISh+U3M8oKjzrry7hdxqeK+VSzVkATRTXtwYuoAgAkFBZXACBr7aqr/zrFlHhr4zsn33X/Q5dSjU9qV+tvXHJ2cKuUsT89fPDBB4OTp0xupwpZpqCosJdiVJqQWFkzAWMmit3GHqEaVbvfed/mTZVjqLKuri7+6qtvvGDsGqRLcbVtfP5rGG6bPG4rD7RufO5mqnH5eP4TYSmtVLNaSLD7KAIAJBQWVwAgKy1a+fCptdW1Kb29QNM0tnlT9e+oxjWj1N3kteXup7aqFBdSjGrM2FE1FCHL5OfltVGMYHx6LhjHaxMTsCmsb1q+I+5tQZWbK79L8T/27tnn6Ay1DWgXH4bbJlexw3Kv8WtMNabtnYGJvWH1CqpZz6+Js9/Zvx+LuACQcHgBAwBZqWVvy3JjsSPVqjZXjfzBXSt/SDUu0Vj7TbvCg1RzSljIEyhGVVxcEvd2BMhcbq/7IMUIfumZkY1HwGYiB+fVFKP6wT0PfK9u524P1Y94/dU3Ll1830MDmneF4bbJkW9T2j8z0r6Ualw+lT9tDHulmvU0yRS3e9QSqgAACYPFFQDIOsYcgC3VW9J2T/W7b39w7+zZsy1UY5oxY0bYY1XKqeaUkGCe7T09JVQjePLsTygKnqKykcfjaaQYQf89P5UipJnFwv9AMaqWA03zKEbw9fnY1tptAx5MjeG2iWXsBCq0WW6hGtfWdv/ZfZr8BNWc4dfENykCACQMXrkCQNbpU73z9+/bb6Oaco0Njc6icSf9H9W4Tim2L3NalFaqOcPYnRAMO66jGuG+RQuaJk2e6KcKWcTpcu6gGEF/d30iRUgj4zQzp+j5NdWoGhsbYw6lNrz/7gcTBrqL78hwW5d1NVUYpkIbbzhvlO0pqnH1Cb5G5OBusaCQpTXt/nOoAgAkBBZXACDr1Nc3fo9i2ry98e2v3bX84RFU43LY+LdyceaAJtkXKUY1fvy4XRQhizgc9pi3mwjJJlOENLIrvPX4kpIeqhGMmVaNDXsdVGN6a+M79w94uO0bz30dw22Hz1gYK7KzmLuKPqymPTTLr7GpVHOKscAflspyqgAACYHFFQDIKncve3BMZWX1sVTTpvVwm7K/cX/cbfX/dlqh/Vm3hW+lmjPCQp5GMaqS0pJXKUIWsVj5BxQjCCnHUYQ0cljYWxSj6jnUdRPFuPbt3W8fzHDbEhu/CcNth6fYrnxwzghn3N+/f/Np8le5POPIr4rzKioq0rbLFQCyDxZXACCrtLd2L/P7zHE3yZuvvzVzoEMdrQq/ypJjbyrCQpauX78+5mya/IL8JylClvDmeeV9i77bQjWCJtmAdntBcimMP04xqqampospHtVghtueN9r5ZLGdb6MKg2TMrfFY2WyqcVV2hH4Y0EQp1ZykSmaxlJ18F1UAgGHD4goAZJVtW3d8hWLa+f0BtmP7zgHd935asX2rx6q8RDUnaFKy4y+8/EqqEZbe/Z1No0aPVKlCFigtLYl7Opb+ZyKfIqSJhTPx54eW/YVqBGNg+K6ddZOoHtVgh9sW2PjlGG47NCUOy9/PHemopxqT8XvoV0VODlP/uKAm/h9FAIBhw+IKAGSNu+5/6NKd23fmUTWFd996b+rC8lXXUI2r0OK7Wn9Tkfrzo9NIlWwWxagmTpq4nyJkgfyCgm6KUalCHnWOBySX08L3LFmyRFCN4GeFl7e1tg/q9SOG2yafQ+FaUcA/h2pcV3xn0S9CmnRTzWkBTY6p7AzjlDIASAgsrgBA1tjTuPdHFE3DuJ998webf0U1rrLCwi6PzfIo1ZygShn3tIaRo0e+TRGyQH6BN+bJWJXNvSP0d/QYuJFmVkX5J8Wo2lrbv0ZxUDDcNrmKnZZfzygr7KIa0462tjxfWHybas4znqOFJn9CFQBgWLC4AgBZYcGCBY6qzTUDuq8/1bbWbiv87p3L7qMa17MPLfuuw5I7bypCmhhPMaqiwsIBDcOEzOBxew5QjGB12M+iCGmkCB53gXf/gf2fojgoGG6bPB4r97e98dwtVOPyc+/qsJRWqqALaOKCePO/AAAGCosrAJAVpGv0Pe1tg9uqnkrvvfXe7QP51NbYju9R+EKqWc8YKLi13X821QgNW9961uv1YP5ClnC73THnQWiMTacIaWJXePCUUttmqhEWLnzAs2v7riEPHd7wyusYbpsERXbLvcaCFNWYtncGJvaExWVUgYSFtB570eW3UQUAGDIsrgBAVqivq/8mRVPat++AvTvcGfcEjn87ucTxiNuixPyEP9uEpGUexQhPP/20NmXq5DaqkOHsLud2ihGkYMdThDSxH+VIeNXBbjQGdQ+VcZLbYIbbeq38SzYMt40r3660fWaUfRnVuHwqf0ZI3HoXTViTt1IEABgyLK4AQMa7e9lD02uqtoymalpvvv7mrHuWPjKRalwOhV2XK1vihZTnU4xq9JjRMT9Jh8xit9urKEaQnJVRhDSxcf4sxahaWw5dRXHIBjPc1jj5ZoTLiiPZYzCeIwqslgHdDlTT7j+nT5MxdwnmOp8mJ9T2hk6gCgAwJFhcAYCM13Tw0ApVNf+JvV1dXby+vnFAMwdOKXG86rHyTVSzWkjIqRSjKi4pfIEiZLq+wAeUIghNjqUIaWC8UReh0CNUo9qzZ29CTlUZzHDb1jee+4YXw22jKrLx+k+Psj1NNa6A4KuFxCagWIzBtuEgBtsCwPBgcQUAMt6WqtrPUjS9N99488w77ls1k2pcViubpeTAlviQZK6qdv84qhHsXvGk1Yb5i5muqLhILF9+ew/VCBpjpRQhDRwK6zxttPcw1QiLV6yaXF/X4KE6LIMdbluM4bYRFP3Xo9DOrqMaV21H+Cq/xqZQhRj8mvxceXk53hsBwJDhGwgAZLQf/s8D3zbmmVA1vXAozLZXb19NNa5TCxyNeVbrgOcTZCrjE0POLNdTjbD0jjs6ysom9VKFDFVSUhx3WIcqZR5FSAObosTcVWTobfffLISgNnxDGG4bdx5Mrim2Kx+cM8L5FtW4fKr4lfF9FuILC2m/8juLBnSbFQBANFhcAYCM1tiw5wcUM8YH71eMNxaFqMYV8LfMsys8TDVr6W+sL6EY1djxY2MOQoXMUFCQ30UxKk2yjFkkzUYWztdQjKq5ufmLFBPCGG67pWbrYIbbXobhtv2s+q9DgYUNaP5NVUdooV8TJVThKEJCfJ8iAMCgYXEFADLWXcsfHlG1ufo4qhnlg3c3PTCQ7cfnjB/vd1stP6WatcKCnUwxqhElJf+iCBnKk+c9RDGCcUQs5kGkj/6NSGqNNXEXV+p3NcSdjTQUH7y3CcNth6DEYXnhE6McjVRjWr9+vcWvih9RhQHwa6ysqis4iSoAwKBgcQUAMlb74Y5lvj4ftcyya2edp7XXvopqXKcW2xY7LDzup/6ZLiRkUV1dnYNqBG9x3hMUIUO5Pe6Yx4uHhDKg20MgOZwW5eCMGTNi7pC7896HLmhqak7K4CMMtx0cp8K1ooB/QLNWjr3w8oeCmhzQry30MxZ5papk/QcaAJAcWFwBgIy1c9vOYR8Lmk5vbnzzpkWLVhZQjcurWG7N5oGOxgtaX9HEq6lGuP/OW7eOGz8u62+PymZup3s3xWji7lyC5LJzvoFiVB3t7TdSTDgabvtHqnHRcNv5uTzctsRpeWxGWeFRF9t3tLXl9YW1pP2+ZTO/piX0FjgAyB1YXAGAjLS4fNXntm/bkU81I7U0H7K29PQ8RTWu6SW21W4Lq6ealTTOrqQY1THHjD/qNngwL7vTEXMgqRQsI2/vyxaSif+jGNXBAwc/QzEpNrzy+hcW3/eLs6jGdd5o5+oSO99CNad4rNx/+I3nbqUal49514QlwzFrQxAS0lnTEf4WVQCAAcPiCgBkpH0HmsopZrQ3N7x5SfnyX55ANS4Xt15jHL+ZrVRNnE0xqpGjRw7oZAwwJ7fVXkkxgsblRIqQYjaFq6eVOmPuXJk/f75t5/ZdY6kmRf9w220D2r1i8Fj55bk43LbYbik3du9QjcmYGdIbFl+iCkMQVMXtFAEABgyLKwCQcRYsWOCorqyO+0Y8U/T29rIt2+vWU43rpBLr+24rf4Nq1gkKMYZiVIX5eQPa5QPmoygK627ftZlqBCFl3N97SB67wndRjCpv1HHX9fb0Jn1Vd7DDbUtd1pyaw1RgV9o+Pcq+gmpcapg9IxjL3XunEsAv5HFV7f5xVAEABgSLKwCQedxjFrcebsua71/vbHznpEX3rrqMalwOTb3Kwpn+ujn7aJIpla2BmVQjOFjXS4WFBThSJgOVlBRrDz74YJBqBE3yYoqQYjZF+SvFqFpb2+ZQTLrBDLdte+O5b3qtvJdqVjNmzORbLbdQjaum3X+OT5MDusUKYjtyepmwrKQKADAgWFwBgIzTUNeQVUP6NE1jlRW1v6Ya1/SRnhaP1ZK9x5EqyrWUIixZskSUTZnUQhUySFFJcdxjvTQpPRQhhY4MhrWIX1KNat+e/WdSTLohDLe9KReG2xbZeP2nR9mephpXUPA1ONY8MXxSfJkiAMCAYHEFADLKXcsfnlZVWZN1txBUV1aP/P7in9xBNS65p/ZGu8IDVLOKJmTMnSuGUaNHf0ARMsjYcWN3UIxQXl6uaJLZqEIK2RXWd2qBI+ag6LuX/WLUrp27BnSiWaJguO1HGXO28m1yLtW4qjvCs30am0wVhimkSbf+a3oNVQCAo8LiCgBklJYDh5apqkotu7z3zvs/MoZHUo1pxowZYY9N+RHVrBISsoxiVEXFhc9RhAwycuSImHOFrvjOohPwSXt62BUec8iwobfHf5MaTu33Wwy3/agSu/L+p0a63qEaV0AVv5T4u5RQYU3cTREA4KiwuAIAGWVLzZbPU8w6jQ2NTsUz7jGqcZ1SZF/hsiiHqWaNkJCO2u5gzE9elQBba7fbqUEmcDqdzCnlo1QjWCWfQRFSzMr5MxSjOtR86AqKKYXhtv2snEmvIq+iGld1R+gOvyZKqEKC+DV50vaeHvy6AsCAYHEFADLG7Ut+9o29e/Y5qGalja+/eZ2xFZ9qXF4b/2Y2zhvQNOUGihFWrrytb/KUsm6qkAGOP/H4Q8uWLeyiGkHj7CSKkEJHjnUPd/yGalQN9Y0nUkw5Y7jtwoUPDGgWT7YOty11WJ7/5GjnHqoxrV+/3uILiyVUIYE0KVlAdQzolCYAACyuAEDG2NO453aKWauttV3Z23jwD1TjmlZof95jyb55A6omPkcxqnHjxmT1jIVsMmbMaPW0GadeQjUqIdkUipBCDoUfOmXUqD6qERbf9/Dp6VzMNobbtvk7B/S90BhuW+KwfjubFpudFq467b3zqMY19cLLfxkUckCnLMHgBcPiaooAAHFhcQUAMsJdyx8pqdxUfQLVrPbm6299eqADHS0Kv9qSZbtXVCGnUYyqeETJSxTBxEaOGqFd/KXPXrD07ls306UYBN4UpoHNorxFMaquzs6bKabNYIbbnjvStrbYzmupZrxih+WxT5WU9FCNqaGzs6AvrH2LKiRBQMi8ys5QWm6RA4DMgsUVAMgInYfbl/b1xfyQNasEAgG2Y9uudVTjOq3YvtVjVV6kmhVCkuXvaGvLoxrBXeD8fS4cv5qpTpp+YseXZ13xy0sumFmybPF3N9Ll2DjTKEEKcUX+nmJUBw80fZZi2gx2uG2hhV+WDcNtPVbub33jue9QjatTc61WJbNQhSTRNJmVQ+QBILGwuAIAGWHHjl2zKeaEd99+b8rCJT8f0JbwQovvGmsWvUE1To4JMu8cqhGW3rGg8ZiJE4JUwQRKSovFRRdf8NZ137juwpeef7z4lz+569Z4c1Y+ShEUIEX07xfi2QeXPU81gnE8dt2u3cdQTavBDLf9xChHY6nTGnfRKBMU2iz/Y9zqRDWmqq7gpN6w+CJVSCKfKk41dglRBQCICosrAGB6d9770P9n7z4A4yjO9oHPzF5Rsy25qdkqVAfcsEoInZAAgUASYjA9kAIEQiCQgDE4xhhs04IpoaQDaZQklBASEiBgY2NJlruNq3q3LVnFkq7sfLO+Fz6I7k4nSyft3D2//1/s++z5C1jS3e3OzbxzxtbNW+PqosbaTrN8zdrHKYaVn5q6P9lhPEUxJqi7ivOpDGpyzqTdVMIIEUKw6cdNa5l94Tce/PIpZ6c894v7T1w6/8Z36eHISemhCoaJy+AVCxYsCDmo1c1SL9i3d59trhFXLl8VeXPbFa99T+fmtmOcYs+pGa6HKIbl87KX1A8R0/iGgSkZ328m3UcRACAoDK4AgO3V19TeQ2Vc2br5o9Sb5t6/mGJYrz6x5Ca3wWNm3ZRPsrDb806YMOF9KmGYpWdM9H357DPeverKiz//5l9/PfHRB+647eGHb+6mhwdMcB5Ty9p04BLi31QGtadlz5VU2kJNTV1cNLe1/pvHuMX3KYa1ubXnhAN+WUgRhkGv37yMSgCAoDC4AgC2dt111zk3rNv4eYpxZ9UHH/741luX9dvw0/oUOknwiKbO66DHb6ZbSxMo9pGcmvwHKmEYOJwOVlhcUDPnsgvnHZmTnPC7p5Z8cdGCm0vo4UHxV278g4iBPhk6EYI/SWVQtbV1J1BpG/HQ3DbNyXedNMH1MsWwuv3s99YSShg+PX6Zumlf74j3IgIA+8LgCgDYWsLY/LktLXvitllfXW2ds8PX+nuKYU0f5346yRC1FLVmTcH+5g/vCLmF7/133bx8/IRx6NURZZMmT/Ke/dWz3rz825ce++oLT+X87N6fLHnhhReGtL/PrFmzvIkx8nurA5fgPdNSnRsp9jF37oOjdmzbOY6ibRxsbrthy18p9ku35raCczbaKSPqs7Wh1XvxAT/LpwjDyGMyLA0CgJAwuAIAtrZ7Z8W1VMat5e998I159z+aRzEsJ5eXx8pOOl6TXURlUHl5ufVUwhBKSEhgx59QvPvSKy764TlnzEj49eOLzrlv7g+20MNR4RTiz1RClLlE+BkdXge7xtqxzI7KSssn3XLnA7dRDEu35rbjXWL1CRMTP6QYVo/P/LnVlwuG3wG/WfhhbS22jweAoDC4AgC2tXDpk0etX7chm2Lcat/fzqu21UQ0VXzm+IT3kg1eRlFrfsnCLk1Iz0wvpRKGQP7hed3nnn/OC5decXHeX/7wxOEP3vPjx8M1PR1KO9559Q510++lCFHkEPxVKoNqbt4zm0pbWrl81aJIm9u+/8yS7+rQ3NbBmUwWMqId8Tbs89zR7TfHUoRhpt6XRGJS+iKKAACfgcEVALCt2vrG+31eH6X4tmLFyoK5ix4/nWJYyQ45OxZ6WHhNM+xsndTU1IiXCEBwycnJ7MRTvvDRpZdffOWK/7yY9ItH77540bzrq+jhYWM1IU10YPZKtFmz2tzO3rA7i1VXVk+n0pas5rZ7DrRFNNhsDQ6OdTm+Z/fZfOMTjNe+kJHQ7/Pu5ZdfNg74zPkUYYT0+s2rqAQA+AwMrgCAbW3ZtOUrVMY9a5Bpy8bNz1MMa0pqQtUoh0P7gQePKZ0bWr1TKfbR21b5UmISZmcfiqOmHNVx/gXn/fbCy7858cVnH/3cg4tuieh3K5oSZccNBmfooxNFbsFbp4watZdiH/PuX3bErp27kyja1vvvvn92pM1tT0p3/nmci4fsMTPSEgzuS3B2XkExrCO+eP6TvabEi94I6zHluA1tPSdRBAD4BAZXAMCWfjL/Z9+qrKh2UwRlTWl59q3zf3YdxbB6upuuiIllFpKFbPD46KOP9h5+eH4rRejHmDFj5Gmnn7Lmym9fev67b/5+9FMPz//2fXN/0EIPj7ijx43rSHYYb1GEKFCvCWGX0nXsPXCDDr08BtrcdozBz7drc9s0l/HMCep3n2JIFW1tY7q8/u9QhBFkPUd8fr6EIgDAJzC4AgC2VF1THVHTwnhTVlL6ULgtij92/KRJ3YmG8QBFbXmlGXbby4ysjA1UQgjHTv1c6wWzv/H4+WefOeYPv3mocMn8m1+nh2zHJcxrjBhpyGxHBuNhdx5rbGjSZrbgQJvbTkhw/JaibSQb/MD7zyz5IcWw2vyJf/RJ9SMEW+j2mSfs3LkTHwABwGdgcAUAbGfe/fenrVuz/nMU4VN2bt+V3NzpeIxiWDPHOe9KMEQbRS15TTmFyqDGjh33JpXwKdY21Wd8+fSVV3z7ii++9fqzYx9/8I4fLl36k34/HR9px6Yl1CQZvIQiDCGrD9P2d1/9I8Wgdu3cdQSVWhhIc9v3nlnyPbs1tx3rMn4aSdPoTe29h3V6TSyTtRGfZKIzLfcuigAAB2FwBQBsZ/9e332dnV34+DqEVStWXXfHHQ+MoRhWokN8X+etmT0mS/6oo2McxT6SR7meEwJvZRbDMNhxBTOavjnnG/ed9oWjkp77xf0nLp1/47v08Ij5ZXm5c9VeT9hBsk8TDnFNrGwnbieJhqi1GgdT7GPewmVfamps1mpmhM7Nbcc4xZ6TM1wPUwyr18teNBnDk8JmvNL8HpUAAAfhihQAbGfH1u0XUwlBWDdAze37X6QY1vQ0558TDbaLonaste0er/syin3ce8dNDbn5Od0U41JGZrrvzHO+/PblV1026+8v/zLjsaV33GX1o6GHR8zKpt7T/9PQ+0HauCk9Fe2+rX+v69mzvKm7mB4OaWaqc32y4NsowhBxCP5fKoPas6/tu1RqRcfmttYAzxi3+D7FsKzGqV0+WUARbKTbL9M37fXhZwMAn8DgCgDYyu33Ljt186ataRQhhOXvrTzzzqVPHEMxrETumCM0ngngk+w8KoOaPHnSDirjhtPlZIXFBTVzLrtw3hGTkxJ++/P7vrT4rh+spYdHTHlF25h3Gz1P/L22Z1/lAf87zT3+Ezxm4Fqj3WOOa/Pyf1nbyR78w2G4HOxmzF4ZWkKYv6AyqPq6+lOo1IqOzW1TXXznSRNcEc246fXx53VoMhyPrJ+Ll8s7KQIAYHAFAOyloaZxEZUQRldXF9v50c6XKIY1dZxjTbKDv09RO15TzqQyqHHjx4340pfhkpM72fOVr5792tVXX3b0qy88lfOze3+y5IUXXgi51GO4fNDkOe/f9b1lu7irtaHbd0O71ww6QNrhNVPHnnhe2L4flmlp7n8mCF5PEQbJ2jlsemrCCop93HTTTe4d23ZmUtTOQJvbjk9w/IbisLMaNqcYMuRsvE/b2Oa9tNsv8yiCDflM8wQqAQAwuAIA9jFnzhxj4/qNuFCJ0KoVq4+5bdGyr1EMy+X3XWRw1m/jRDvy+M1x4WY7jB4z6g9UxqTExAR2wonH77jkijnXrfrvX9y/evyery2Ye/12enjErGjsnPBuo+c3r9f0tFcd8L3W0usv8Mr++0K0ecxvflhbm0gxJLch8InwEHH1s8zKOSbnys5OW/V6HbCBNLd9/5kl14xyiBFp8DzOLT48OT0xoqbN3V7zccxasbdev0wvLy93UgSAOIfBFQCwjawjCm5vbmrBVpMR8vv9bFP5xl9RDGvqxOSmFIfxLEWtWI0cj/7i+d+g2Mfiu35Ymp4x0UcxZhx2RH73ueef88Ill1+S89LvHzvqoXtufYYeGlErGnuueKuuZ2t9r9Hc0O27usNnjqKHItJjSqPbOfERiiHNGOv8XYLBtd7tyi6cQrxBZVB7WvZcQqW2BtrcNs1lDHvjZGs5kjtBXkQxrI37PPO6/eZYimBTfilZ0pFT8ykCQJzD4AoA2MbunRXXUQkRWr9u4/hb7nrwDophmVWbrnUJ3kNRK37JvkllULl5ubVUai0lJYWddOqJmy676tLLlv/7haRfPHr3xYvmfb+GHh4xqxp7ct9p6P3zqzXdB6q7zef2eMwpPvPQP1Fv9/ivWrhwYb/XIAmGiGg3FQjNGkBwCf9TFIOqrqqJiaacVnPb+QuX9ds02TISzW3HJRivnpyW0O/z2Zqp1+kz51MEm+vpNbVdUgcAQwuDKwBgC/PuX3bE+nUbJlOEAVi9cvWC6667rt9pybNmzfImOoWWF+xeKY+nMqj09IkfUqmlKZ+bsv/rF5z/i9mXzR7/wu8emfbAgpv77UsSbdbgx4omz43/rOvZVd0jKxt7/HO6fLLf5TyRUP877tOum/dTiiG98viSxboOCNqFS7DOKakJVRT7uGvJo5m7duweTVFrVnPbDZs/+gvFfo0S7DynGJ7lkokG9/l52+UUwzryi+c/7TFlAkWwOYdhTKQSAOIcBlcAwBb21Lfe7/V4KcFAVFZUu1lS5q8phjUzzfVQoiGaKWrD6zcnURlUalpqxDdUdpGaOkaedvopa6789mVfffsfz6X+/OG7rr1v7vV76eERs2Kf55h3Gjz/mH71bT3VB3yP7fOYh1lT34dau9d/M5UhWcs3Eh0iot9tCM4leDmVQXW0d1/v88XOqjqrue2P5j14O8WwvpCRUDXe7fgtxaga6zKe/nJ6ehfFkCra2sZ0ev1XUwQNcJNXUgkAcQ6DKwBgC5s3bj2HSjgEH7y/6jLrE2iKYSU5+bd12+bWK5lj815fEcU+Kras/FtKSrLtOz9a3/ep04/de8GFX1927pfPHvWH3zxUuGT+TWH7YQwHaxnC+02eO96s762ubfdvbuzxfaXbL6PapLHDa45Z0dz7XYohpeyrvtXJWcz11Bku6nv3IpVBNTc2n09lzFi1YuU9dmpum+LgB/77zJKbKIbV6k/6k08y9B7ThPWavvXdV8IOYAJA/ODoQg4AI+22hcsu/cPv/hjTO74Mhy+d+cUVzz6z9GSKYa3Z07ux02dOpaiFVKd4dMY4d8jZDud84zstVg8airYyYcJ4/4xZ0z/Iysm6c8m8H4bcEne4rWrqLuoyjfvbvf6Te/zSQaeHzRiXaDg3OyGLYkhr93pfbPf6LqQIERLqxs/p3ZN0/KRJ3XSqj+NP+Uav1QyWYsw469yz/vmbJxZ9hWJYy5u8c2q7fX+O1jXxpGTHLadMdPXbxHlLe+8Rew+Y260m3nQKbM4puOeEiQluigAQ5zBzBQBGXHVF1VwqYRCWv/fBSZE2c3Qn8AsNzWav+Bg7ncqgMjIz1lFpC4ZhsOMKZjTNvviCe46flZP47NNLT7XDwMo/d+50v9fYu+SN2p7mym5W0tzjO30kBlYs7V6ZubLR0++stURXz/cNzvBp0AAlGLwp3MDKvHsfK4rFgRXLQJrbnpzufCFazW3HOEVLJAMrlgNe9gIGVvSSIPhaKgEAMLgCACPrjjseGLO2fL1WMyjsqre3l23etuNPFMOamuL6KMkh3qSoBa9fHkllUGPHpb5O5YjKzMrwnfWVL//7smsum/n3l3+Z8eiSuQuefvrpEW8otLKp9/T/NPR+0OnMOlDX7Z+732tOGOnZq9a/v900l1EMacqoUXuTncZ/KUKEnFyEHczbt68tZndos5rbrt/80V8p9isazW2tJSNjXOIaimFtbOs5+YBPzqIImnBhRzMA+BQMrgDAiOrw+e7t7OjEJ3VDpOTDssNuW/BIRDtSpBkHLtGpl4VHssTyPQdC9pVxpZjPO5wjMgGDuVwuVvyFoqqLL7vwx+edWeD+zZP3nbnkth+sp4dHTHlF25h3Gz1P/L22Z1/lAf87zT3+Ezymvd772zzyyA8au/vdCtjtkNdYy1wgcg5Dhm3W2tTQeAaVMWlNaXn2QJrbTnQ7fkNxSKS5+I6TJrpeoRhWj48/j6X6enEbfP/UNOdLFAEAMLgCACNr+7Ydl1IJQ8C6OC9fs+4JimHlp6buT3aIn1O0Pevv5jAcV1LsY/Htt7fm5+f1uxvHUMrJndx7znlnv3LJt2cf/rc//jzv4Xt/8rC1ww09PGKWN3u+9lZDT/lO7mpt6Pbd0O410+gh2zHVz7XLFE9TDOmY0e6dSQ5uq6VfdubgzD811RWyWbK11faObTtzKMaslStWLYq0ue1/n1ly7VA1t7WWXY4S8hKKYW3a6738gM/MpQiaSDJEv9vJA0B8weAKAIyY+QsfP2HLpi1jKcIQ2bp565ibbluylGJYrzyx9Ba3wTsp2p7PlGEbVGZNytpKZdQkJiawE048fsclV8y5btV//5Lwy8fu+cbi22/eTQ+PmBWNnRPebfT85vWanvaaLt8re3rM43xSj/4NbV6zcFVjT783lwlC3qDbTlcjxW0YYX8nD4jRF7a2tsX8N7O2pta5p6s1oq3arYHRsYnGd4bid2ysW6w6MSNxDcWwukzzMSpBE4mG2Dd9rAs/NwD4DAyuAMCIqW6oW4xp0NGxcuXqWyL5tNa6mUh08Fso2p7XZNOpDGrCuHFvUznkjjjq8K7zvn7u7y++4ptZL/3+saMeuufWZ+ihEfVeU+9Vb9X1bK3vNZobun1Xd/jMUfSQNnymZAeY+AXFkI5NS1iZZLARH8jSgYOzf1EZ1J7mfSFngcWa9999/6xIm9ueON750jgX30DxkDg5kwkJcg7FsDbs88zv8dt3ZhkEl+gQES03A4D4gsEVABgRc+bMMTau33QSRRhi9XX1zrbe9ucphjUjzf3LZIeooWhrHlOm7dy5M+S2l6PSUn5P5ZBISUmWJ5920sbLv3XJRe/9608pTz+y4Ip777ipgR4eMdYsj7cbel98paa7u+6A/7d7POYUa4BCZ629vi9ZPWIohuQS4idUQjicPUVVULXVtcdTGfO6u3sG2tz2/ME0tx2fYLxyclpCv6+pL7/8stHlM+dRBE0kGqJ5WprzVxQBAD6BwRUAGBHZRxTc2tTYbFCEKHj/vyu+Pu/+ZYdRDMvB5BU6LLew+nP0pOVeSLGPe++4cVNWdtagd+aZ8rkp+79+wfm/+OblZ4/7829/Nv3+u3804k0LrR4ZK5o8N/6zrmdXdY+sbOrxX3jAJxPoYe1ZjXbbExOfpBjS9LGuv1o3NxQhCLfg3TPHurZQ7MPapW3Htp1xtSRzuJrbJhrc5+NtV1AM64gzzn/GY8bOczheJDrFj6gEAPgMDK4AwIio2F15PZUQJR3tHbxye01EgwIzxye8l2zwUoq25uXsAiqDOvzIwz6ickDSxqaZp3/p1JJvXXXpWW//47nUnz9817VWk1x6eMSs2Oc55p0Gzz+mX31bT/UB32P7POZh/hhdTqf+bhf+srzcSTGkBIPfSyUE4RR8E5VB9Qp2rbV1e7wZjua2qS7x8y+np/fbWHtTe3tal8d/FUXQRKIh6qelOv9IEQDgMzC4AgDDbt79j+atK9+AnRGGwQfLV82au+jxiLZbTXbICwVntr9r9/nNIiqDOvyI/LlU9suarTN9xrQ9sy/8xoNnnfaVlN//8sHPL15w81v08Iixlgu83+S54826ntqadv/mxh7fV7r9st9BB931qL/jkZnH3k8xpOljXY/r1Ih5uDkF/xuVQTU3t3yTyrgS7ea2yQ7e9f4zSyPqYeX1JvzRJxlmb2rE+l1wu/gNFAEA+uBoJgkAw+2amxa88MZrb15EEaJsVtFx9a+/+Ew2xbDW7vW+2O71hVx2YwcOzswT0xPD3pR85evfadmwfuN4in1MmDjBP+O4aR/kZGbfsWjBjSvp9Ihb3tRd3GsaS9s9/lN6TBmXN14pDn7g/MmJ/c4uWL/Pu6TN44t4IC1eCHUDmJboGTt19OiQs65O+tJFByp2VSZSjCvWbl+XzLnoC4sW/OBDOhXWW/U96/b0mjMohpWd7PjRqRNdyyiGtKW994h93XJHrM5Ai1VJDlFVNN6dRxEAoA/MXAGAYbd1y0fnUQnDoLx0bdaP73oook/berubvuUU3EPRlnySiY1tPSdTDOqYqVOWOpwOSgEOh+PgQNOcS2bfffxxkxOffXrpqXYYWPmwtjbx/abeB96o7Wmu7Warm3t8p8frwIql0yeT3mv0/JhiSDveefUuu/+ujgS34PvCDawsXPrzKZW7q+JyYMUSaG676WWK/Rol2NciaW47ximaIxlYsXR72YsYWNGLNWslSbBrKAIABGXcfffdVAIARN/tix6Z897byy+hCMOku6fn1Ordm5eedtppYa/oJ40e7dvbI929pnkKnbIllzA8GYnG3yn2cdYXT1zVsq9jleTs7ISEBMcXTjr+3yeecvwFv3ps0dyzzjjxva9+9auHvBPIUFnZ1Hv6tg7/H5p9CU+2euRJvaaMqBdEPOCCFRw12vEAxaCOOeYYubfHPEx9346jU6AkOsR/M5OMP1Ds4y+vvv3TrVu2fp5iXGqobxhd29zWc/YZJ35Ap0KanOLY39Ijszt8ZgGd6sO68Z6YYFyek2z02+/JGhhu9zLsEKSZJAffOXNcws0UAQCCwswVABhW1btrcFE5Anbt2JXc3OV4gmJYM8c55ycYYsQbuYbjM2W/gz9W75Q3//rriSvffTnh148vOsfaSYgeGjHWVsPvNnqe+Httz77KA/53mnv8J1i75NDDQNo95rgVTd6LKYYkfK03WsvEKILiNHjY7cgbGxrOpjKuDaS57XvPLPn+KKdop9jHWBffftJE1ysUw+rx8eexJF8v1uCZk7HvUgQACAkXdAAwbObOfXDU2vL10yjCMFv5/spr5t1/fxrFsBId4nrrgtKuvKaMaItpu1je4rnA6t2wk7taG7p9N7R7zYh+DvGsw2f239g2Pb0rySH+QTHuGZzJbf959QWKQe3YsUur5060DLi5bYLx3WCviYY6lyLkpRTD2rDXe8UBn4lm7ppJMvhWa0c9igAAIWFwBQCGTaffs8jaHpgiDLPmphajsao97I3Xx6anOf+cZIgdFG3HK5l7/f5eWzcWfKe5K/3dRs9vXq/paa/p9P3Faorpkwy//xFq85o5Kxp7TqUYkuDmdepiBlMBFLchambPnu2n2Me8hcvObmluwQ415P133z9r/sInjqcY1onjnS+Nd4k+29WPd4t/nJiRuIZiWN2m+RiVoAmrQXQiN75FsV9WT6Nbb10Wtz2NAOIdBlcAYNjs3LHrciphhCx//4Mv37Xk8akUw3IxPse6sLSjg9PqTXEVRVt5r6n3qrfqerbu6RaNDd2+qzt85ih6CAbA+hl3mazfpWwzxibWJTtERDu/xDon529TGVTL3rZvUwnKQJvbVjZuPtFqXEuRpblExYpfLI2oQfuGfZ4FPX4zlSJoIsnB1x87ztFnUC2Yi6++ZcNvfv2HrR+Uvd92y50P9NuUGwBiDwZXAGBYWJ8ObtqweRxFGCEHug6w7R/tfIliWNPHO9cmO7htp0L7/eaZVI641U29ee809v7llZru7roD/t/u8ZhTfCYmUwxWm0dOXbHPcwzFkByGuMauA4HDyeD+X1AZVEN9na0bVY+ENaXl2bfc9eAdFMP63qxZ3rJf3585OdH4/uQk58VfyU44zFoyRA+HVF5e7uzymRH9O8A+rNcUlyGuoBjW935494vL/7tims/nYzXVta4X/vjyg7fNf/h6ehgA4gQGVwBgWNQ21d+HJn72sGrF6ilzFz76dYphCa/3Qrs2DPVI2e9NdzQtXLhQrGjy3PjPup5dld1mRWO3/4IDPplAD8MQsLar7e6Rz1AMaXqac1OiwbdSjEsuwb3TxiaGnMFz0003ubd/tDOdInzKB++vWhhpc1trMOXkDPfTJ6c7I1piaRG5U5/2mNJNETSRZPDSaanOjRRDmnfvE8e9/dbbF1L8xI6du39CJQDECQyuAEDUWTehG9ZtxCemNmGaJlu3dv2vKIY1MyOlJdlh/I6irXhNNmZDU9Owb1+8qtU79Z0Gzz+mX31bT/UB32P7POZh1iAAREerx3+i1b+GYkhuwW60cxPmaHMLHnYbYMfo3Ku7uroowacNpLntQG1qb0/r8vkj7tkB9mDNWkl284iWMu/euevZ3t5eSv9vbfm6vIVLnzyKIgDEAQyuAEDUtXuTftTY0OSgCDawcf2mcT+684GItsXe+e5r16gbt26KtmFKyaQrNaJdOgbr5ZdfNpY3e+76R11PXeV+38bGHt9Xuv3SSQ9DFB1sAmw6+p29Mm2s++1EwWspxh3BxWtUBrWnpbnfra3j2UCa2w6E15vwZ/U7jCbCmkl28BVTRrm2UwzJ+p35cFVJ0F0QvR4vq6lteIgiAMQBDK4AQNTt3lX5AyrBRlavLPnpdddd1+8AgbX7SIJT/JSirZgmO5/KqFje1F38nwbPO6Lo3N6aLt+iNo+ZheVtw6+11//VD2tr+92Bwy1ERAOGscaascO57ymKQVVX1c6iEoKwmtuu27wx4ua2kfiow3NUl88+vaEgMurmSCYZMqJZKx/t3PFbaxAllLra+i9QCQBxAIMrABBV8xc/mbt+7QZbb5kbr6oqq90sMfM3FMOameZ6KMkhmijahk+yQiqHjHUT/35T7wNv1PY013az1c09vtN7TIlPnkdQr8mMXsfEfrexnT7O+XyCIVopxg03Zx3WrkkU+5i/+KnJu3bswq5V/SgvXRtxc9tIdHnkC1gyqJ8Ul/HOlNSEKoohzV30+OklH5ZOoRhUTXUNGvkDxBEMrgBAVLU0tywNthYZ7GHF+ysvvWvJo5kUw0o0+Lft1tOi12+mWz19KA7KiubeM/7T0Luqxj+2s/aA/yf7veYEzFKxj1av/4pIftbq9/RBKuOG0xBrqAyqvb39+36/nxKEM5DmtuGs29NzapdPzqQImhCcSWn6ItohaMdH235l7Q4UTmtrG4/GcjMAsCcMrgBAVG3d8lFUl23A4LTuaxXVFfURTYWfmub6R5LB+905YTj5JeMX/HDuIU+7L69oG/Nuo+eJv9f27Kvu8v+nucd/vNfEe6MdHfBJ92nXzF1IMaTpY11L7NgjKJocTP6ZyqCaGhu/SiX0w2puu7dr318pHjIv489hcFY/KQ7x5qzxSQ0UQ7rzvsfPKfmw7DCKYbV3dUS0Ox8A6A8XkAAQNXMXPjp7545dSRTBpla8v/KESD9ZS3Hz2eqNw1Z3DH6TX0RlxD5o7C54q75n3U7uam3o9t3Q7jXT6CGwsXa//CGVYSUYIqLdsGKBwTlLaq0Ju6PX7l2VYZcuwGe99+7yMwcz22DdPu+3DvjMHIqgCYMzM9HluZJiWJs3bn3a2nkvEm1tbSdRCQAxDoMrABA11dXVcdlcUjfWsq1NH239E8WwrN0TUpziTYq24JNsQBeuH7T0nt3Yy1bv6TVnHNyJBrTR4TVHL2/svY5iSGbVpludgoefrx8j3AZvPOKII0KuvbQGCepq67Cz1QAMtrltr99cRiVoJNnpeHXKqFF7KYY0d+GjF5SVrJlMsV/NzXuOphIAYhwGVwAgKqw16+vWbMB6c02UfFia95P5P/sWxbCSWOfFTm6fG1evaUbcMPnfTU3JDQf8b/SiQa22OvzybipDmjVrljfREH+hGNMcnL9PZVB721v7HYyCvg61ue36Vu/dPX4zlSJowsGZP1V0XU0xrE0bNz8xkCVf1VXVaGoLECcwuAIAUdHDPQv379+PWQEaKV+ztt/dWCxHjxvXkezgT1AccR5TOtft8xxDMSyHTL3Pg54qWmvzmOkfNHnOoxiS09nzfYPbawlbNDiE/C2VQdXXNXyRShigFe+tXDh37oMD2mXJ4zcxmKWhZIfxYn5q6n6KIf1k/s+uWLtmXURN4D/W1rYfTW0B4gQuMAEgKnZu3xnRLAiwj4+2bht9021LHqAY1itPLL3VbfBOiiNOMB7ROvkun8TvZQxo95s/ozKkqaNHtyY7jXcoxiTr0/Zpae5/Uuxjzpw5xvaPdkyiCANkLadq6WiLeHlQRVvbmB6/TKcImrBmYgpf6/cohrV50+Z+X3uCQVNbgPiAwRUAGHLz7n2saOOGzeMpgkY++ODDmyPZhnTBggVmooPfQnHEeU3zDCpD+ufOne4On8R0/Riw3yOPWNXUXUQxJKdDXiNstn34UHILsYvKoHKP+cIczCAcnIE0t203k240sUOQdpIc4rnp6eldFEP68U8fvnb9uo2HdG3T2tZ2MpUAEMMwuAIAQ66xvmlxpF30wV4a6hucrd3tf6AY1ow09y+THaKG4ojyStnvbiipYyYVYGvU2GDdwHb6xVMUQ5o62r070cHLKcYcp2Bhm0vvadl7BZVwiAbS3NYn5YVUgiZcgntTWquvpxjWhrUbllA5YM3NLWhqCxAHMLgCAENq4cKFYsP6jadRBA0tf3/F+fPuX3YYxbBcDnmpHWYGeEyWsqm9Pex2yh5TFFIJMaDVaxasburtt5lxEje/z2Nw9or1d3K7+JMUg6qrrvk8lTAIB5vb3vnAbRRD8pssm0rQRKJD/CLcblsf+9FdD/1o86ath7xlf3VlzVgqASCGYXAFAIbUfl/KDxvqGx0UQUMd7R28cltNRDutTE9NWJFs8BKKI8aakWL6EsJ+Sm+aMuJdhcD+fKZknSb/JcWQjhmbWJJosLDLZ3TkEqzb2hqdYh93Ln1y3PZtOw/5ZhA+a93aDXdSGRLnzEslaMAleO/Od167iWJY68vX9btLWTjW8rz5Cx8/gSIAxCgMrgDAkKraXXEjlaCxD1asmjlv4bIvUQzLbcjZdtiVxSfZV6kMSgheSSXEiH29vjM+qAk/Y8mS7BA/ojJmuDjfQGVQ3Z1d13g8HkowWNu2bh99x6Jl/e1ShW+4RpIcxuOzZ8/2UwzpR3c+MM/6+VM8ZO1dnWhqCxDjMLgCAENm/uKnJq8r3xDRchKwN5/XxzZt2vocxbCOTUuosbaxpDhifKacSWVQBpdbqIQY4ZWMexzusEtjLMekul5PcogmijFBGDxsH5CmxpYLqIQhsndP69VUhiAxuKIJt8G7X3l88e0UQ7KWOpeXrZ1HcVBa29pOpBIAYhQGVwBgyLS0NC/u6emhBLpbU7Y288fzH/whxbBGtVZ/yyn4iN5Y9PrN8S+//LJBsQ+Xz7OWSoghbV5z9i/Ly50UQ3JzNqhp/XZi9Tkaww+EXRJVubtyKpUwRJoam8P2bRKM99u7A+wh0WE8aO16RzGkvd2ue3Zu39XvDnqRQFNbgNiHwRUAGDIfbdn2DSohRpR8uGbJnDlzQg5YfMxqCJjsNJZSHBHqKpkf9cXzv0axj6KsUXsTBO93CjjopdsvHUdkHfsgxZCmj3M/rX7+HRS15hZ8b35q6n6Kfdy15PGplRWVCRRhiDTUN2ZQGZTgrIJKsDG3wTtnpDkXUAzJeu9bU7L2VoqDhqa2ALEPgysAMCRuW7Tsazu27xyST3fAPnbt3J00YfL0n1MMy7pYTTBEK8URYUo2m8qgkhyilkqIIe1e8xoqw3IbxqNUas0p2Coqg2rd134dlTCE6uvqnXcteSydYh9C8OVUgo2p94F7qQwrPW/mg0M5SImmtgCxD4MrADAk6ipq51MJMWbF8pXfnXf//RHtOpLsENeO5La3PmkeT2VQLsE+pBJiSJdPJi5v8vTbP+HVJxYvGOnla0PBKUTYfkiNDY1nUQlDyNqVrKfbG7IpqdvBXqESbMpt8P3T01z3Uwzpuuuuc5auLruB4pBBU1uA2IbBFQAYtFtvXZa4ft2GWRQhxrQ0txgN1e0vUQxraprzpSRD7KA47Dx+OZnKoNxOEdEW06Cf/V7zNipDsnosJDvCD0zYncGZ+ZfHFof9Pd61fRcai0dJ+/6O06nsw9oa28EZlh7amHp/iuiDIGPUpMeqq2pcFIcMmtoCxDYMrgDAoPmM7oWtrW0jN10Bom7Fex+ccce9y6ZRDMvh4BdaDTdHglcyx6a9vgKKfTT899W/OgR+VWNRu9ccu6Kx53KKIXFv68063wC7DVETrhGntV1wS8seXN9FSeu+1hlUBuUUYi+VYDOJhtg3fazrcYoh3XTTTe6SVWXfoTikmpqa0dQWIIbhzRcABm37jl3fohJi1IGuA2zntoqItluemepcn+IU71Icdn7mD3mDPXv2bH+ywfdQhBjTYfLFVIY0PT29K8kp/k5RO06D/4fKoPbuab2KSogCdXMcdnacQ7DtVILNJDpEv0sHLV7H+Ges/joUh1RNVS2a2gLEMAyuAMCgzLv3ieM2b9w8kSLEsA9Xrp4yd+GjF1AMi3s8cxzc2sBn+PkY+yKVQSUYYj2VEGPaPObkFc29Z1AMyenzXasugCRFrThN8QyVQdXW1J9EJURBTVVNsjWzgWIfBhdhmw3DyEg0RPO0NOevKIZ0220PJ6v3un5nwB0qq6ntHYsfw3MUIEZhcAUABqWxoXGJ348l5vHANE22tnzdLyiGNTMjpSXZZfyW4rDymvJIKoNyGEzbWQsQntVwtMsnH6MY0tSJyU3JTvEBRW1YzXiPHecopdiH1f9qx/YdGOyOIo/Hw9zj88+m2Ic0/W9QCTaS6BQ/ojKstt6OXzc1NhsUo6Jrf+fXqASAGIPBFQA4ZAsXLhQb128KO0sAYsumDZvH3Tzv/ogaAu58+7Vr3YJ3Uxw2HpMllu85kEmxjyRf7/MjuaMRRFerRx6zqtU7lWJIgvNrR6o30KFyG3wrlUGJZN93rSV8EF1d7Z0hB1de/fn9yw28vthKkiHqpqU6/0gxpDvueGBMyaqSCylGTds+NLUFiFUYXAGAQ9bhTf5+tNYlg32tXllyZ7hp8R+z+pskOsWdFIeNNXvBYTiupNhHUdaovUkG66IIMca0Zq/0mGGXzlhmjnVtSTL4ZopacAjxKpVBNTXtifqNIVhNbdsKqezDajbsEGw/RRhh1kC608kj2lJ5T1fn74ajGXRTc8tRVAJAjMHgCgAcsorKqpuphDhSXVXj7hFjI1ryMyPN9UiSQzRRHDY+U36FyqCSDPERlRCD9vX6v7AizOyljzk5u1GXWUzWf6ff732aYlDVldXHUQlRtLdlz+FUBuUUvJJKGGGJBq+ameoKOyhpuXPpExNWfbD6fIpRpd5D0dQWIEZhcAUADsldSx7NXF++/giKEGc+eO+Di+cvXpZNMawEg1013DewPpOF3TbabbB3qIQY5JOM93qNfmevTB/nfjfJ4DUUbc3NWfus8UkNFPuYv/jJ3F07d6dQhCiqqa5LpTIog/E1VMIIst53kgS7hmJYDbVNz7Xuax2W+6L2/e1oagsQozC4AgCHZO+e/Uu7u3soQbxpbW3jVRX1L1EMa1qa+5/JDr6B4rDoNeXYnTt3hly65HSJ56iEGNXm8Z/z76amZIohuR1iLpW25nKIMiqDam/bf4PVdBqiz9rxZf7CZcUU+xCC/5tKGEFJhthx7Fj3WxRDsj4oWLVi1VkUhwWa2gLEJgyuAMAh+WjLtoi25IXYtfz9lV+Yv/DxEyiGleziF6o3nGHb+tbqu9GTlhuy/8QX0pybEgzupQgxqNdkhlOm9btzkNXoMtEQ+yjaloPzP1EZVENz8zlUwjBo7+k5j8q+PPte12W5Wayyvv9uh/kdimHV1DQ9b80moTgs0NQWIDZhcAUABuyORY+eu/2jHZh+HuesLUk3bfuo3x0YLFNGubanOMWwblHqY+wbVAaV6OBVVEKMavX4L3/55Zf73VbV5eBLqLQla2DSW7HxWYpB7d6xG00yh5G6GQ85sDw9Pb3LyRmmdo6gJINvnZaasJxiSPPufzRv1YrVp1McNmhqCxCbMLgCAANWU127gEqIcyWrSnN/vOCRqyiGlcQ6L3UK7qMYdT5pFlEZVKIhVlIJMarbL10TTzpvEcWQZqa5HnIZ3LZ7GLsdonHWrFkhZ1rdfu+ykxvqG7Bz2zDas2fvFCqDcghWRyUMM2uL9URufItiWLW76v/Q2dlJafigqS1AbMLgCgAMyK23LktcV76hgCIAKy9d8yiVYR09blxHksEfpxh1vX4zbMNdB2MvUgkxrM1r3khlWImC99sAd6S4OH+PyqD279v/PSphmDTUNkykMiiHMDZSCcMsycHXHzvOUUoxpIVLfz5l5QcfRrS0dahZy5CsQVGKABAjMLgCAAPic/bOH66O+qCHbVu3j/7h7UseohjWq08s/XGC4B0Uo8onmdjY1hPy4vXtp5e86eTD1wcGRkanT6Ysb+q9gWJIZtXm253Cnn14DC5/RWVQ6kZ/2Jc1xLuGhkbH/MVPTabYh2Ay7IAYRIc1a8VliCsohrVtR8Xz3Qe6KQ2/7o5uNLUFiDG4QQKAAdm1c+e3qQT4xMoVq2667baH+92ZZcGCBWaiw7iZYtSZpriUyj6s/5Zkp2imCDGs3St/SmVI1rKbZCEi2gFrODk5800b636bYh9z5swxtm/fGdG26DC0enq6vk5lH25h/o1KGEZJBi+dlursd9bQHQ88MePDD1YXUhwRra1oagsQazC4AgARu+PeZdM2rNuUThHgEw31jY593fsjam47fazzN0kOMSzNZL2mPIXKoBKEKKcSYth+rzlxRbMn5I3wx0Y7DlxvcGar/YzdhthJZVA5R33+8uHe6QQC9u/vOI3KPqakJlRZA2MUYRhYs1aS3fxyimFVbN39fG9vL6WR0dzUjKa2ADEGgysAELHmpr33+/1+SgCftfy9FefNu3/ZERTDcjvk5daFcLR5TXk4lUE5uXyNSohxnV7zYSpDyk9N3Z/sMP5D0RYMzt6kMqh9+/aGnJ0F0bVvz75pVAblMEQLlTAMkh18hbUzHcWQ5i984vgPV64O+7MbDtVVNWkLFy7EvRhADMETGgAitnn9pjOoBOijs6OTV2yreZliWNNTE1YkG3w1xajxSuZev783j2IfhrPzD8MxyAMjr9UrD1vZ3H08xZASDfMawya/E9zqH+FkT1IMqrq6tphKGGYNjU2TqAzKKfhHVEKUqRsamWTIiGatbNu947dez8i3V7JmnB0wxmBpEEAMweAKAETk1vk/u66mps5FESColctXzZi3cNmZFMNyG/JCI8oNZaWUjPt5yC05Txg3riPZwdspQgyzfhc6/TzsQIXFWs6RaPAyiiPKKdiBY0a7Qy4LunPpExN2bN+ZShGGWW1NbWK4XlNccmz3PkxSXMY71nOXYki337vs1NUrS8Nuoz2c0NQWILZgcAUAIlJdUXkLlQAh+Xw+tmHj5mcphnVsWkJNisN4gWLU+Ex5FpVBJQq+lUqIca298rgPW3r7Xbrm5sZ11qyRkebmfD2VQXW1d11nh0/g45XP62N8lPgqxT4M7vs7lRBFgjMpTV9EOwTt3Lrr19b7lF2gqS1AbMHgCgD0664lj6WvXbv+SIoAYa1dsz7jlvkPR7QjUEpr9VVOwT0Uo8Ij5TFUBuU0xL+ohBjnl5J1+fgzFEOaOs6xJskQOyiOGMPgYXcvamlswafeI6y9rfPLVPYxbWzih9ZyFYoQJSkO8eas8UkNFEO6877Hzyn5sDRsH67hhqa2ALEFgysA0K89LW2Luw90UwLoX9mHpfdZW8RSDOmII47oVRfGiylGhddkYzY0NYWcuu8W5vNUQhzY1+s7vbS+YxzFkBIc7EcjOXvF6gWUYHb8imJQlZWVU6mEEbK/ta2AyqBchmijEqLA2t0r0eW5kmJYmzdueco0bbUZGKuqrEZTW4AYgiczAPRr+0fbZ1MJEJFdO3cnjZ80rd/+FpbpY10LEw2xj+KQM62+K66xl1Ds4/gJ7p1JjujOngH78Kpfhw7u6vd3c2qq640Eg/f7aXi0uATfc/S4cR0U+7jjgSdmVFZUuynCCGlu3pNPZVAOwXZTCVGQ4nC8MmXUqL0UQ5q78NELykrKcyjaRkd7B5raAsQQDK4AQFjzFi47e9vW7aMpAkTsg+Urv3Pn0if7nSFgSXKIqPa48Jlm2OUTCYLjBiiOtHnNC/65c2e/AxNugy2gctipf3fYZqgdzfu/TyWMoJqq6tHhZh4Y3B7NkWORgzP/GKPr2xTD2rJpyxNWU2s76u7o/gaVAKA5DK4AQFg1dfV3UwkwIC0te4z66toXKYY1Nc35UpLg2ykOOa9kYafuJxjifSohDvT4pSMxJechiiHNSHP/0m3w/RSHlWA8bGPohoaGkL0+YPh0dnaFnXmgLrTfohKGWIphvJCfmtrv8/O2hcsuXVO2NpOi7bS2tp5AJQBoDoMrABDSTTfd5F6/dkMRRYABW/7eB1+0li9QDMvhFBdZfSaiweM3M8J9uuzi8s9UQpxo8/q/E0mvg0SHsYzKYWP1kfjb40teodiH9d+9Y/vOPIowwnrau8+lso8DB5rfjNbrWjxzCu7r7mn+LsWwNq7fOOzP4YFoamzBhgEAMQKDKwAQWlLmXXv37MPrBBwyqxHyjo3bI5q9MjPVuT7FKd6hOKT8kvELfjj3TIp9nJDuftclmL06HUJUdflk4unfv2MuxZBeeWzxPS7BeykOiwSDVy1YsCDk72M3Sz0fr8320da+/wtU9nH8pEndDsEOUIQhkuQUz1rfW4oh/finD39vw9qNEyjaUnUVmtoCxAo8kQEgpF07dn+HSoBDtnplyVG33/3IhRTDSnT2XmSto6c4pPwmv4jKoJIdYsSal8LIaPeYP6EyJGuQI9EhfkdxWDiE+DeVQe3ds+8qKsEG9u7ZezSVQTkZr6UShoBLcG/K3uobKIa1cd3G+6m0LWpqezJFANAYBlcAIKg7lz5xzMb1m2y7Rhn0YW19uW7thqcphmXt+pDsNH5NcUj5JDuJyqDcBi+lEuJEu9dMXd7Y8y2KIfUcaP5RtAb9ghEmD/t8qa2rRY8GG6mrrR9PZVCGEOuphCGQaIhnrG38KYZ0y/yHb960cUsaRVvr7ugO23QdAPSAwRUACKqptmmpz+ejBDA4mzZsHnvLvAci2nll5zuvXe8y+JBPo/eaZtgeFU4mQ/a4gNjV6Wf3URmStfwgyel4jWJUWUuQpo93rqXYx223PZy846Mdtl7mEG+am1qMefcvO4JiHw5m/pdKGCTr+bHz3dduphjW+jXrFlJpe2hqCxAbMLgCAEFt3rTlLCoBhsSqlavnWU2SKYY0e/Zsf5Ih7qQ4ZDymdG7q9Eyh2IfTt+dFA40n406bV2Yvb+kN2Y/nY9zTe63gLOp7uboMvoXKoHxu9r3u7h5KYBc97Z6vU9mHV/r/Fs2t5uNJksN4zHqPoBjSLXc9eMdHW7eNpmh7aGoLEBswuAIAffxkwc++W11V46IIMCSs36lePjai3hUzxrqWJTlEI8Uh4/fwkEtArNkJyQ7eShHihJSSdXvkoxRDmpmR0pLsEMspRo2T81epDGpPU3NE/YtgeLXv7ziFyj5mjU9qcHLmpQiHyG3w7lceX9xvE2qrOeya0vIhH6CPJjS1BYgNeBIDQB+Vu6tupRJgSC1/b8Wc+YufmkwxrCTBvjXUn/b6TPNLVAaVIPgmKiGO7PPKKe83e6dRDMnl5tdGc1td6/fd9HiepBhUVVV1RFubw/Dau7d1KpVBOThvohIOUaLDeDDcLlof29fjXrhz+65kilpAU1uA2IDBFQD4jDuXPjFh/doNIZdOAAxGW9t+XllZ8RLFsI4d634r2cGHtBGkV8qwv9suB/8nlRBHTCmZx2/+gmJIU1NcHyUbfCPFIecSbL81Q4ZiH/PuX3bY7p0VWt00xoumxsYsKoMyBN9KJRwCt8E7Z6Q5++3bZc3+KCsp1/IDIjS1BdAfBlcA4DPa9rQt7urqogQw9Fa8t/Lzdyx+LOzOPR9LdLLZ6o1qyPpceEyWsqm9PeTuES6H/1n0RohPe3v9n/9wX3c2xZAcDnl9tH5HXEKE3bGqc1/39dbuW2A/tTV17jvueGAMxT4cnH1AJRyCJIe4l8qw9h5wPVC5uzKRolb27dt3IpUAoCkMrgDAZ3y0ZTvW80NUeTwetnXD1j9QDOuY0e6do1zidYqDZvXXMH0Jl1Ps4/ixiXVJBuumCHHELxnv6hX9zl6ZnpqwItHgVRSHlMF52OdFU2PTOVSCzfj9fuZzOM6n2JfJh2W3qVjkNvj+6Wmu+ymGNGfOHKN0ddkPKGqnpQlNbQF0h8EVAPjE3EWPn/HR1o9CfvIGMFRKV6/J+cmCn32bYljC23apU/Ah2xdc3UR/lcqg1I3zTiohzrR6/Gev3Lt3FMWQEg3xEyqHjDVDy1+5Mezgyq4du3HzZWOdBzpD9nSyttc2hmG3qViUZIj5VIY1Pnf649VVNf3uSGdXlZXVqWhqC6A3PIEB4BP11TWLqASIurKS8mWRXEhOT0/vSnYY/e7mEimvKY+jMii3EO9RCXHGYzLR6xv1OMWQpqY5X0owxB6KQ0L979XPmjUr5I4ycxc9fnpDQ6ODIthQ697WsK8tLiH2UQkRSjTEvuljXf0+J61t/ktWln6XopY6Ozp5txh7KkUA0BAGVwDgoOuuu865Yf2mz1MEiLrtH20ftfeA6yGKYb3y+OLbEgTvoDgovX5z/Msvv2xQ7ENw//NUQhxq6/VfGu7342MJDr6YyiHh4jzsoF7rvn3foxJsqqW5JY/KoByc7aISIpQQ4Swxj2P8U/V19U6K2urq6Ai9tAwAbA+DKwBwUNLYw+a1tOzBawIMq5XLV904d+6D/S7DsLbfTHAYP6Q4KCZj/Mgvn38exT5OTk8scQvupwhxptsvnRNOOu8+iiHNSHM94jb4kHX/liz8bkXqxvEUKsGmqqtrR1l9Pyj2ITgvoRIikGiI5uljnb+hGNJttz2cvHrl6isoaq21tfUEKgFAQ7iRAoCDduzchU9FYdhZyxxaOtv/SDGsGWOdv0tyiCFpJCp97CIqg1L/nloqIQ7t95o3UBlWomE8ReWgWD2FZo5PCDlzxZpZuP2jHWG3+oWRd6DrADv8mC+cTrEPh8Gw1fsAJDjETVSG1e7p/FVTY3NMLJlDU1sAvWFwBQDYwqU/n7Jh3cZ+tyAFiIYV7604d+HSJ4+iGFaSIS8VQ7ANrk+ax1MZlFuwD6mEONTpkynvN3n6nSm1451X57oED9knJVLqf2MHlUGNSj/qCqsfA0Wwsc4D3SF3dPLs3vTWULx+xYMkQ9RNT3P+mWJI1vbXH65cHXawXCdoagugNzx5AYDV1jUv9XmHbDMWgAHp7OziW7ftfJliWMemJaxMNvgqiofM42eTqQzK7RR/oRLiVIfX7HeHktmzZ/sTHaLfG8D+OIV4g8qg9uzZeymVYHNtrW0he5dZDYudgg3ZUrJYxTlnTiePaPbYnq7O38XSkmY0tQXQGwZXAIBt3rT5bCoBRsSqFR9Om7dwWUS/h4YwLxzslqZeKR0b9nhD7uyxpXrjKw6BT5jj2X6vOX5Fi2c2xZASZccN6vfRpDhg1o0kM8yfUwyqpqq2kEqwuZY9e8Iu63BwXk0lhJBo8KqZqa5XKYZ059InJqz6YHXMNYBFU1sAfWFwBSDO/XjBI1dVVVa7KQKMCJ/PxzZs3Pw7imHNGJtYl+IwBj1bQHLzSir7+N6sWd5kB99LEeJUp0c+SGVIR48b15HsMN6iOGAuwbpmjHFXUuzjriWPpe/YvmMMRbC5upq6cVQG5eB8HZUQhDXYmCTYNRTDaqxrerZ1X2vM3cugqS2AvjC4AhDnaiqrbqMSYEStXbM+/Ud3PfQjimGltFZf7RK8l+Ih8TEWsvGkJUEI3ATFuVavmfdBQ89JFENyCfMa4xB7aajf47C/Z50d3d/Hsk197N2zT9y15PGpFPsQnP+HSggiyRA7jh3r7newcv7iZdkrl6+KyVm3aGoLoC8MrgDEsTuXPjluXfmGz1EEGHGlH5bcF24r048dccQRvckO0e92ueF4TBn2AtZpsLB9MCD2SSlZl2RPUAzp2LSEmiTj0LbZdXD+IpVBNTc2f41K0ERXZ3fIZR0uZ8+rB5eCQR/W98XtML9DMaza2ubn2ve3x+Q3srKiCk1tATSFJy5AHGvbu+/ezs5OSgAjr2JXZeLYSVOfoRjW9LGuRYmG2EdxwLwmS9rU3JVOsY9EX+9zuAmCVo+csWKPp9/drIRDXDPQ35eDO8d4W39NMaiK3ZUYANfM/v0dJ1PZx5RRo/Y6OPNQhE9JMviWaakJyymGNO/+R/NWLl8Vduahzqwm791ibMz+/QBiGQZXAOLY9o92XEwlgG2sWr7qaqtRIcWwEgz+vUMdALFmJfidzm9R7KMoa9TeJAM7e8Q7v/o96fWyfgf8ZqY61ycLvo1iRNyCt0xPTw/5Ozbv3ieOq66qQU8szezbs+cYKoNyCt5AJRBroDGRG1dRDKtuV/3vrQEIijGps739PCoBQCMYXAGIU3MXPX76lk1bUykC2Ia1rWZdVX3YpRIfmz7W9deB3tB+mt9kX6EyqETj0P+3IXbs6/WduqKxs98BP5eD3TyQwT6nIT6gMqj9bW3XUwkaaaxvzKAyKIPzLVQCSXLwdceOc5RSDGnh0p9PWbly9YkUY1ZbWxua2gJoCIMrAHGqobbuHioBbGfFeytOsz61pxiWyykuPLi84hD4TDmdyqDcBn+HSohjXsm4RzqfohjStDT3PxMEr6fYLy5k2B2y6usavkQlaKSursEVbvadg7N+l77EE+v12ynEFRTD2r6z6vkDXQcoxa7mxuYjqAQAjWBwBSAOXXfddc716zZ+gSKA7XR397AdH21/gWJY01KdG1Oc4m2KA9JryrHl5eVOin1wLp6jEuJcm9f82j937ux3iY7bEHdSGZa6wTZffXTJ6xT7sBpa7tyxK4ciaMQ0Tebp9oRsRGwy9iqVoCQbvGR6mnMTxZDuuHfZtA8/+LCQYkyrqqxGU1sADeFJCxCHEscddntLc0u/O7IAjKRVK1cfefvdj1xIMSyno+dCdbPqpxgxU0rmPGxayH/HKROdGxMM7qUIcazHLx0Jo3IeoRjSjLHO36nfmTaKIbkNXrlgwQJ1nx1cN0u9YN/efbhO01R7e8cXqexj5ljXFmtwjWJcs2atJLl5RLNWKndV/76np4dSbENTWwA94U0bIA7t3rH7WioBbMtqOLuufH1EOwdNHT26Ndlp/IrigPj97AIqg0oyeDWVEOfaPP6rI/k0OcEQD1MZklOIt6gMak/LniupBA217WudSWVQ6ue/l8q4luTgy6eMcm2nGNL8hcuKV61cHXYZZ6xBU1sA/WBwBSDOzLt/2RHr12+cRBHA1jZt3JJ20x1LF1IMa+c7r93gMviAF+P7pFlMZVBuh1hJJcS5Az6ZcPr37+h32c8rjy9Z7BI87EfsQvAnqQyqrrYeSzc11tTYHHZJl0OwHVTGLXUTIpMNGdGslW27K571euJrEiGa2gLoB4MrAHFmT33rA/F2gQJ6W/3B6rk33XRTv70uZs+e7U82xB0UI9brN7OpDMrJWES9XyA+7PeYt1IZkrXcJ9Ehfk2xD7fBu61eQRT7mDv3wVHbt+0YTxE0VFNdm2z1N6PYh7oAX01l3Ep2Gm9PSU2oohjS7fcuO3X1ytIpFOMGmtoC6AeDKwBxZvPGLWG3ngWwm5qaOlc3S42osez0sa7H1E1tA8WI+CQTG9p6TqLYx9tPL3nTwZmkCHGuw2uOeb+p99sUQ0rZV32rkzMfxc9INMSzVAbldbBr4qW3RKyyfn5p2Z87k2If6jXlH1TGJcN6TZW+iJa+7fxo1698vqBPpZiGprYA+sETFiCO3LbgkcsrK6oSKAJoY8V7Ky+cv3hZ2BkmH0sS7Eo+wK2ZpSkupbIPaxZCikM0UwRgXT55L5UhHXHEEb3B+gA5Ofcl76u+mWJQzc17ZlMJGmtv7wz5YcZH77z+7qFuIR8Lkh3izVnjk/odCJ+3cNnZpR+WxeUMDqupbS8bE7IxMgDYDwZXAOJIVVX17VQCaGX//v18X2tXREt+po51/yfZwddRjIjXlKdSGVSCIcqpBGBtXpn5QWN3AcWQZox1fV/dRNZQZNagX5JT/NoaeKFTQVVXVsdV485Ytb+tLWQ/J2sZo4uzDopxxeDMTHR5Ipq1Ul1bd4/fP+CN4GJGR2f3+VQCgAYwuAIQR3bt2H00lQDaqa+t+yqV/XI72TfVG1zES3m8pjycyqCcXL5GJcDBnaw8zLiaYlgJpq9otMvxSrKDV4x3i/NnjnVdRw8FZTUd37VzdxJF0FhL857wryuCV1IZV1IcjlemjBoV0W5JFbuqplEZl/a1tqKxNYBGMLgCECfmL35qckN9Q8jmegB2t3XLtpxIGttapo52705xiYgHRLySuT/q6BhHsQ/D2fmHeJ7CD315TDOi6fpTJyY3HTfW+Y3C8QmHHZPqep1Oh9Tb4f2aNXgD+qutrk2jMijOedzNiHNw5h9jdPXbs8hy15LHp1ZWVMb1UuaWpqawA3QAYC8YXAGIE13dB75JJYCWOto7uGvM5Gso9svwtl3mFDyirbEOzkTwuEIuxThh3LiOZIPH5RR+CO6AL/xsp0N1oLvnc1SC5tra9vM7lz4ZctDWyfh/qIwbKYbxQn5q6n6KYbW2tl9PZdxqbd2fQiUAaACDKwBxor1t/+lUAmiro7OriMp+TU9P70p2GMsoRiLssrlEg2+hEoB1+6VrdVNvHsUh032gG59UxxBTmJOo7CPZ6Hp9oM23deYU3Nfd0/xdiv1q3bvveCrjVmdnp4NKANAABlcA4kRPT3cmlQDaMgyji8qIzBjrvC1B8HaKYUkuDqMyKCdn/6YS4CCPSw55p82ujs6IdsUCTfT6Qw6uWDM41OtK2ObGsSTJKZ49ftKkbor9MgxH3HxvQuns6OTYjhlAH3iyAsQJtzuhiUoAbRlCdFIZMbfD+CGVYUkpQ07ft7gd7FkqAQ7u/NP09t/rKQ4Zv+k3qIQY4PP5w36w4RSsjsqY5hLcm7K3+gaKEXE6HAN+vY81pmkyn3MMPhwD0AQGVwDiREKiu5ZKAG05jIFfbM8c63w2ySH63ZVDcLaeyqCOn+DemeTgHooQ5wwmpbWdLsUhM3rM6CoqIQYYDucuKoNyCL6JypiWaIhn+tuC/H85nI6IZh3GsqTkJLZ9/apGigBgcxhcAYgTLqc7Lrd8hNhiOMQ+KgckQZiX9Lfbj8lYv80lEwTfTSXEOafgQz6wYklJGbWZStBcSkoKSzT3vUcxKM75f6mMWS7Be3e++9rNFCMmDKONyrg1aXJ25wsvvBCV1xoAGHoYXAGIEwkp7g+oBNCSYRgsIcHxV4oDMm1s4ofJDr6SYh+CMzlzrKvfhrWJDv4GlRDnEhyigcohlZiQUEYlaE7dGLcvWLDApBiU29H7XKxv857kMB47lFleqWlpv6cybk1Mn1BNJQBoAIMrAHFiybwfrpg2Y+peigDaOeKow9sXzbv5kPsTGNy8yODWBJW+EgwR0QVsd0fNnW7B8CkisGSDP0HlkDIPiBfTMyb6KILGJk3K2khlSFNGjdrrFjxm35vdBu9+5fHFcykOyNL5N777uWM/F9G2zbFq4oT0t6kEAA1gcAUgjkw55uio3AwADIdjjv3cb6k8JDPGJtalGMYfKX7CakyaaPDrKYZ19hFH9Ka6HbjYjXPq98X37tNLHqI4pB5++Obu4uOLX6QImrKWBGUfnnkVxbBcQjxFZcxJMsSS/mbvhHP0lCNfojLu5Obl9Ho7qm6lCAAawOAKQBxp2FW+6PAjDx/QVrYAdnD0545qb6neMOiLzJ3/fe2qJIf4zM5ZiQbbNTXN9Q+K/XI72I1OziRFiDPWYFyqy3h2MDeM/Ul1J16H2St6O/GUE/61+Pabd1IMa+Y45/xEQ8Tc7JUUh9g8faxrEcVDkjo+dd7hRxx2gGJcKTq+8MGnn37aSxEANMClxPUhQDy56aab3F3mmBdXvP/Beb09vbG90Bu053I55TFTP1c9ddrUUxfNu35IdlEp33MgUzLjHY8pD1c3NC+ntFZfPdBdLFY39ebt98vXWj1yGt5F40eywTtSE8RVJ09wHVLvn4GYv/jJ3IqKihdXryot9nkxzqKLiekTvYWfL/jFnuoNNw2kEem6xs4JXodjZY9PHn5wBE9jnElTvbaWp/DOLx49blwHnT5k1nVLp3/0yyveW3Gux+ON+euWvMPyOmYWzFzwyL0/foROAYAmMLgCAAAAAAAAADAIWBYEAAAAAAAAADAIGFwBAAAAAAAAABgEDK4AAAAAAAAAAAwCBlcAAAAAAAAAAAYBgysAAAAAAAAAAIOAwRUAAAAAAAAAgEHA4AoAAAAAAAAAwCBgcAUAAAAAAAAAYBAwuAIAAAAAAAAAMAgYXAEAAAAAAAAAGAQMrgAAAAAAAAAADAIGVwAAAAAAAAAABgGDKwAAAAAAAAAAg8CllFQC6O3pTe1po5Ic8ygCAAAAAECs47LrsvzkuykBjBgMrkDM+ONHbbnM7aqkCAAAAAAAsa/l0vykiVQDjBgMrkDMoMGVnRQBAAAAACDmyZZL85OzKACMGAyuAAAAAAAAAAAMAhraAgAAAAAAAAAMAgZXAAAAAAAAAAAGAYMrAAAAAAAAAACDgMEVAAAAAAAAAIBBwOAKAAAAAAAAAMAgYHAFAAAAAAAAAGAQMLgCAAAAAAAAADAIGFwBAAAAAAAAABgEDK4AAAAAAAAAAAwCBlcAAAAAAAAAAAYBgysAAAAAAAAAAIOAwRUAAAAAAAAAgEHA4AoAAAAAAAAAwCBgcAUAAAAAAAAAYBAwuAIAAAAAAAAAMAgYXAEAAAAAAAAAGAQMrgAAAAAAAAAADAIGVwAAAAAAAAAABgGDKwAAAAAAAAAAg4DBFQAAAAAAAACAQcDgCgAAAAAAAADAIGBwBQAAAAAAAABgEDC4AgAAAAAAAAAwCBhcAQAAAAAAAAAYBAyuAAAAAAAAAAAMAgZXAAAAAAAAAAAGAYMrAAAAAAAAAACDgMEVAAAAAAAAAIBBwOAKAAAAAAAAAMAgYHAFAAAAAAAAAGAQMLgCAAAAAAAAADAIGFwBAAAAAAAAABgEDK4AAAAAAAAAAAwCBlcAAAAAAAAAAAYBgysAAAAAAAAAAIOAwRUAAAAAAAAAgEHgUkoqIVJCCMeorILUJIdntPQbowV3pEouUzlnqZzJVMmEVY9Rf9T6kur/HVDf5R5VH1CxW/2Zg7UpeScXrNHv89W2SEetWVuqHgcAAIBoUu/jfOLEY5PNBNdo5hOjDaHeuwUfbXA+2lTv48LkoyVnoz95L5fSLxlv41x2qLrdqtXlU5t6D2/n0mz3S94mvP72xsb97aa523qPBwAAgDiDwZUwxk0qynEZbBbnfKa6wDpOfaemc8bGq4eS1Zcqh9w+9VXLJKtWF3XVXLKd0mRrezp96/btK28L/BEAAACIxKfex49T79qF6o37c+q0NWAyWn05rD8TBT3qeqFd/bua1TVWufr3rjGZWdbsFevwIQoAAEDswuCKIpQJ2TOOMIRTXYCx49SpWepiaKY6WgMpdmDNfqlQP6ly9d+3XuXyLl/X6raazXsDD0Mw1s81M7fwMfW9sy6ktaN+3tJ3oPOG5uYtHXQqrqXnFBzpEMZPKeqFs211FSX3UjpkWfnFt3HJplGE/yG59HPJO9T3u129t3WoJ1E7F7LdlLKdc9FpzTDw+c12j2G2tFaub6X/M4gRQQZSCtTp9MCjtuBTX1vUV5k05Rr1wlDWWLN/vWlu6z34aBzJzi/6sXrCzqAI8Am/6X+osXqNda0LIWTmFX9ZMHYlRW1JzqrqK0ruogiHKDO36OuC829StDfOXlXXwy9TiklxO7iSlTfrWMaMi9XF12mMH3yDHxV4RBt+9bVG/fzeMhn7V3P1mg9N07Qu3OBT1AWcuhnnCylqSP6krqL0IQpxLTuv6JfqufpdilpRz9M59ZWlL1I8ZNn5xW+qw9mBBIPUqL62MMm2qAu8beqntMXs7tnS2LjROg82Zw2eZ0wqPIUJdrpNB1IiJD3qH5vUXUaZZHJVt+x5rbVqozWLNaZl5Re/oX5m51AE+LRz1c3XP6iGIGLoWsD0+D25LdXrainDIVD3OvPVvc49FG1NXQ8vUtfDen5QGqG4GlzJyCs63OD8ElXOUV9TD56MHdayoXfUjcJb/p7uV3GDEDBhwtGjXSljdqtyXOCMduoaqroPM82N1gV43JqYV5Dl5Ib1c3QHzmhlQ0NV2XGmQvmQYXBlWOxV7/5bGefr1XXfO937zXewLNMehBA8fdKszwtDzFHvdRcxzrLooRgiPUzyt0wp/8S9vlfr69d20QMxBYMrEAYGV8LIyJiWYSQm1qgyWssah5W6C729vqLkAYpwCDC4Yi8xv1vQhNxZ2dl5hTerm5LVBuc71alF6ivWBlYsqerrAnWx+bT1opudV/y6+jvPFuJoHW9Gh0xLy7Z2KdmDFHWUnTE58XKq45aDGTerg5a/y6YpFwzFwAoMm3GM85PU8Qb1FvmXxDGOFvVa+kFWXvHC7NzCU4SY5gr8MRgu1nIf9TNYnJlbuEsYYpU6dXNsDqxYuEv93b4qBP8Ddzub1N/7T1n5RV+kBwEgzhkJ7ovVISYGViycybi/xoXYEpODK9nZBROy84qvy8ovftclHNWMi0fU6eLAo3HBYV2cqeNLmblj6tX34vGs3OJ4+vt/lsf7hPpnUyDohwv2E2sKPMW4M3bsLGv3rWspakUyVtZUs+ZViqAn6yL2BPU7+FMmxHuZuYl7rU/d1Q3vD9PzizIDfwSiITO3aFpWXtGzCc6DH4zcob7yDz4QP6zm+Rdzxt/Ozi9ao97HL1ZvBUbgIQCIR5KLy6iMEXxaRk4B+i9BzIipGzZr2U9WXvFzzGXUM86eOthPJQ5m5/RjrPpe/EDdoK9WF2cbsvMLL1cXZzEz4h2Jg9OqJbufoo6mTJxc8DWq407CaOM6dbB29tAO9/t/appmfDa2il0p1nIGdcP7qIPxGvW6+q/svOIrMzKmpdDjMEhZOcWnWQNYQvD1nHOraaMz8Eg847PU+/ifMnMLd6jvzQ/EpKIkegAA4sTESUVT1PtPIcWYIYQRYwNGEM9iYuBh/OTpk9XF7TMG51s5Z1eoU3E1eBA5Pk39yJ/P+PjiLDc3kR6IeQ3Ve55Sh7pA0o8h+G1UxhUhDktQN1c3UdTNyrrqNVaPFIhdhnpdPZNx9qyRmNiYnV/0h+z84nPibQB7qGTmzTjMGlThBnuX+nGoA/yPfPVNeTzTybdZM1noHADEAYeTx+QSGnXvdmk8z9CG2KL1L3JW1nETs/KLHnY7ErarS7Br1Cl8uhUBdWGWd/DiTKRXZOUVzR03rkjLrYoHwjR390hTLqaoo+OzcwtOpTpuZOaM/5Y6ZASSXkxmxnTDLugjWb26XqqOb2TmFtZk5RXfjdkFkbH62GTnF98luHsTDapA/yZZM1my8ovfzcotjsU+cgDwKUIIrl4frfeYWJSdnjvrdKoBtKbl4Epa3ow0dSF2H3c7d3HGb1GnEgKPwAClc86XJIzmFQdnssT4p62NNT2/UoeqQNKPFMbtVMYF9ftoMM5+TFErkrH/NlSUvU0R4k+GugpekOnkW9V71Ww6B0FYzVozcxPXq9JqNh83symHirrZOo0Ltlb9nj1i7Y5HpwEgxmTmzLIarcds3ynOBBrbQkzQanBl4sRjRmXnF/00ibutLVnnqS+scR8aaQdnsuQWlFtr3elczLG2M1Y3vdYFvJbUz+jseGr6pf6uF6jDEYGkF1PK+VRCfMtRXy9l5xX/Ozu/4JjAKbBYU8CtHZg44/9RcUrgLBwi64ORm10pY8qz8wpirh8DAMRiI9vPUte4F8RTuwKIXVoMrlifYGflFl3vTE7ZpZ5+C9Upa9thGHJ8mrXWPTu/+E8TcmZOopMxpbFKPqcO1s4TOuKGIeKn9wrXts/MvxorS1dQDWBdNX6JMWOdtYw1HpZh9sfaASwjp+C1gzswWd8dGCqHMy4+yM4rvFldN+H7ChAjhDjarZ7QF1GMVaMz+ITzqQbQlu0HV6xPYTJyCz/kgv9cxQmBsxBlF7sM19bs/KIfW58u0rmYYJqlXnW4J5B0xC/KypqVRyFmZeYVfEldSOj4CayU5sEbRoD/5bSWsSaM5tsycou+QefiTlberGMTxzhKOOfn0ikYUtzFuHgkM7fwL9YSajoJABqbOHm01Ysq5p/PWBoEscC2N87WJ1tZ+cU/Z9z4UNObLN2lqJe5BzNyC9+2dmOiczGhoarsj+qwNZC04+Aux61UxyzBDT1nrUj29/qqkhJKAMGkG4L/JSuvaFGsDV73JzO36OucO1ap8sjAGYiibyRyd3k8LSUFiFXqPSM+Bh04Oys7uwAfpIPWbHdhZ01lzc4rvjJxjOMjztj16pQReARGgvoZnOZ2JKyLpaaMpmn6pZR3U9QPZ9+O5Tef7LzCAnX4ciBpRfr9PsxagUhw5a7MnMJX42WZkLUznXp7/4sqRwXOQLSp9+88wzBWZOUVnkenAEAzNAMtXmb6OaXLmEM1gJZsNbhiNfzLyC18V10RPKtieuAs2MBY9fVSdn7xrzMypsVEE+HG6jUvq8OGQNJOknSKG6mOPVzPvjJSsr801pSvowjQP86+mjCafzhxUlHMNnS1egVk5RU/Z+1MZ8XAWRhGKZyLv1l9WCgDgEYSuMv6cNMdSLGPM4mlQaA1W1zoZGUdl5ydV3y/1fCPM3YqnQb7+baRmFiemVs0jbK2zIPkAoraUTcq18fKQNenZeQWWrsDfTOQtGIy5tN3NhSMpClOJ1+dmVcQc438rBl2mTlj3uacXUGnYGQYVh+WrPzip4UoctI5ANAAZ3GyJOgTvDg9pwBLR0FbIz64YjWs5W7nZvXqYX1ajTd9+ztSCL4qK69I+67lTTVrXpWMlVHUzTgjwf1dqmOGEOLH6qDhUkD55/rK8s0UAAZqtODG37Lziq+lrL0xk4rGS6dhzUQ9kU7BCOOMXZuZy5+Lt14/ALrKzi7MVc/bkynGC24II6a3nYbYNqJvsFZzO/UUek+VuYEzoIlkzvmfrdlG6hpN25441tQV7vfr2yODi1ti6VPIzMwZ6eoi4lsUdeJTrC3iAQZDqLvfJ7Nyiy+mrC2rIX2Kk/2Lc3YsnQL7uDgjt+DnVn87ygBgV05mDTLE3XNVvXdcjtco0NWIDa5k5xarG8ODze2SAmdAM1z9v9sycwvfSMudZvVk0VJd9Zo31WFlIGlncmYOu5Rq7YkE903qkBBIWnm+qWbtdqoBBkNwwZ7Lyi/StnmhtVwxcYzjDfUWMYtOgc2oN+/rMnMKrB44AGBjkol4ncFxeHr2rOOpBtDKsA+uCCEc6sLxSfVvftiKgbOgsbOSRGJJVt4sbT+hNJmp7ewVyfhPYmF0f8KEo0erw/cDSSfSI5l3EQWAoeBUN78vZecWnkJZG1bzWiMx4TVVnhA4A7bF+e1ZecW3UwIAm0nPL5rFOTuGYtzhDoHGtqClYR3cmDjxmFEZuYWvqQtHDW+iIIzDOXe8l5U7q4iyVhoqyt6WjP2XolasafcZObO+SlFbzpRRVq+J1EDSh2T8t/UVaysoAgyVRCbE67QtuTYyc0Y/oF6VTqcINqfePxZn5BadRREAbMSIu0a2n8UZuwgNuEFHwza4MiFn5iRncspy9WT5Cp2C2DKOC8d/1M2Alo23TCnnU6kdzoTWnz5an3arv4O1JEg3PV6/516qAYbaaMbFP2kHLdtTN+nfUHfrsbtFfGwShuDPWv2uKAOADVj9DNX9kvb9twZpfEaOPJtqAG0My+CKNbXNJVyrVTkjcAZi1MGbgezcQu1eDBsrS1eow78CSTOcnZiRV3QSJe1k5I6xPp3JDiSNSPmLlup1tZQAomG8usj+o90/vcvKmpWnbtJ/rUo0INRPukhwP69+z7BMG8AmJk4u+JI6ZAZS/OIcS4NAP1F/M7WmnDoYf09dcmXRKYhtSUyIV7LzCy+grA1pMqv3igwkvRiMazl7xbqgV3djP6GokwP+nh40hISoU8+PosxcbtvdqKyBH+52/EmVaYEzoKEvZ+QWWtvgA4ANGDy+lwR9ynnjxhWNoRpAC1EdXMnOKyg0AjsCpQTOQJxwq1+tF7LzC75JWQv1VSUlTLK/U9QLZ+dm5RZPpaSNzNxZX1eHowNJH1KyJxsbNzZSBIi227JzC06l2lYycg82osauDprjjN07cfJM7V6LAWJNVtZxyeoJaV0bAWOJ7hSu1b0EQNQGV6xpwowbr6syOXAG4oyDMeP3uvVg8ft9us5e4YxLDWeAaNkvpoN7/Q9QDTAcDCaM59PyZthqdoj136NeeLTdbQ0+w+k0XA9SDQAjRLod1sAKPpQmXLB43Y4aNBWVwZWDF1xuxz9UmRE4A3EqQb0qWkuEPkfZ9hprytdJyazZVtrhnF8yblJRDkXby8opPk0digNJH5Kxx+rq1rRQBBgukxOZ6xmqbSGRu61G4OMCCbTH2XmZ+YVnUAKAESDifJegIE6zNkWhGsD2hnxwxdr5Q11w/U2V2txQQ1SNlUz8Iz2/SKPGXL671T/MQK0VZ4KD30K17XGD6Thrpa1b9j5MNcCw4pxfmJVXdCHFEWXtYsSZvIEixAjBxMNCCIMiAAyjjIxp1ofSVjNb+H/CabgupRrA9oZ0cMXqTZmZO/q3nDFbrg2HkaF+H/IcjL8xceIxo+iUrdVXlm9mTP6Zol44+27q5GNt/0lyRk6BtXPYWYGkE/mz1sr1rRQAhh3n/K5AH+iRZQiryS53UYTYMSMjt/AqqgFgGBkJbmv7ZUcgwcc4k5jNA9oY0sGVzNzC+9RT4BKKAJ92nCM55QVrdxjKtubz+azdOXyBpJXkZEeS7T9NNoyDvVZG/AZxgPZ6OtsfpRpgpEzPyC04h+oRkZV13ER1mB1IEGvUC/OP7TCABxBvJBfoLxIUn0YfygHY3pDd6GbnFV6jDncEEkBf6krtK+rF8TaKttZUs3a7OjwfSLrhN4pJRUkUbCcr/7h89d9oi6UNAyEle7ClZVs7RYARwyUf2fdat/Mq9V+BWSuxa0p6znHovQIwjCZOKpqirpMLKcL/EMLAwBNoYUgGV7Lzi89hXPycIkBInPNFGfkFJ1C0Ncm8i9Q/PRR1Mj7Dyb9Dte1w5rxVHXSb9trEPN4nqAYYWZydOFI7sVkzGtQNgPVhCsQwwY0fUAkAw8DhRCPbcNQbz6W6zH6H+DboX9Lxk6dPVoc/qi+sEYRIOAxm/Cktd9pYyrZVX7G2QjL+W4q6uUW9B9nuOZmdXTBBHa4OJI1Ic2l9/douSgAjTnIxIrNX0nMKrWaLhwdSTNmvvt5hkj0qJVvITHaryeQ16rl/rVWr7/gC9dgD6uv36vEt6s/6D/5fxa6vZmcX5lINAFFEg9Zo2hpednrurNOpBrCtQQ2uWC8GbiPBuvkcEzgDEJGcJJ74O+v3h7Jtef2ee9WhJ5D0ob6xeem5BXMo2oZ0ih+qg22XLIVQ11C972mqAWxBPcfPzpg8aybFYRNjjQX3SCnVa7z/2IaqsrF1FSVn1FWW3FxfWXJ3XVXJzxoqSn9ZV1n2C6uuqyi9Rz12u/q6Qj1+rOz1jvEz/4nq/36R+t9pCvzPxRSDucS1VANAFGXmzDpJHfIDCULhTGB2D9geVxcGVA5cVn7xD9QF3uMUAQZGmj9SF67LKNlWdl7Ro4xza1BANxvUDcNM0zQP/Uk+hDIypqUYiYlVqrT9rKVPk6a8ob6q9EmKIyo7v/hNdTg7kCDuSfYLdbM/bDfA1oB4Zm5hnSo12lo/qE71vL69kTX/1qyq6qZzh0yIo92ZOWPmqCuqm9Rl1Sw6HQt21lWUHEn1kMrKKTqdGzKbokbEj9U/tGisqS7vH+LcXE9RG14p32muXFNPMS6o+6mn1f0UBjP7195gNmUMxet2LMnOL5qv3nvuoWhr1gcS9ZWlP6UYkw55cCV98nFHORzOtarU7VNosI8DknmnWstvKNtSRsa0DCMxcZcqdfxdP1ddHP+D6hGVnVf8I8bZzyjqoqqhqvso09xoi947GFyB/9HUUFWWZSqUoyort3gqF2wjRV1tZcw/u65ijbW0Z0gJJSOn8KecM3WhO7S7MY4Ur1d+rrm29COKcU/dBL+hboJHdLeuiPn959RVr7HeM8DGDg7O5o5pUGVa4AyEI6V5cX1l2QsUQcHgir0c0uCKun5wZOYWLlfl8YEzAIdG/fb9o76i5FyKtpWVV/ygumC2PrHSivr+vq++v6dSHDFCTHNl5h4coJoUOKMH9f37rvr+/ZriiNNpcEW9tajnjLmBYvRIbqi3skT1w0pSt7PWAKhVJ6ufXbZ6zk5Rf+Ao9XjM7mzjl/LkxsrSFRSjKjuv8GbGxSMUdbTc29V5bnPzlg7KUZGdW3i2etH7vSrHBc7oSzLztvqKsgcpxj0MrsBQy8gt+oYh+F8pQn8k+3tdZcl5lEDB4Iq9HNLgirrAmqcusO6jCIx51Ze15rpe/drUq+9oo3rzbTDVl1AX/pLJVHWRP0adT+WMp6o/Z11wTVVfuk+tHiIHP0X8CwVbOtiI1WVYgwOjAmf0YfrNLzRUl31IcURk5RVdxWvKEAEAAGS4SURBVLl2zYF3NlTJY0yz1Hp+24JWM1dM8yt1VWX/pDRihChyjs9ihwuDfU4Ifr56bZ6tTqcEHtWfen/5WX1FqbUDV9Sp5/Hf1fPY9oPhIezq8nV9vq1m817KUZWVNSuPux3WrMHPBc5oa3ldRckpVMc9DK7AUFPv69b17wWBBBHwMo8/u65uTQvluIfBFXsZ8OBKRk7BDMMQJbH8SWA/mtTV7KumZP+Qpq9K+GV9Y+P6lkPpazEhZ+Ykl+EoVpf/BerXrVB9T60timPmon8Aar1dncdE+9PEwVIXVfeqi6o7KWpEvlJXUfoNCsPO6tOQkVO4iXN2DJ3SxZXqpuJ5qm0BgyuDd7D3T0KidSF7JePsjMBZrVWo39PDqI4aa8lLZm5hmyq1G2BW2tWd5heisRQonIOD8k7jTfV7pt7jteXv8nWlD9eglN1hcAWGUlrejLQk7raWBLkDZyAS6obrxvqKkicoxj0MrtjLgNYEW+sCDUOom434GlhRT+JK69NBa/q1tb7daiDYUFXyamNN+br6+rXNh9owtKV6XW1dRdlf1YXxnerm9yx/d3em+qWztql9R30Nyxp6m5jkSE5ZSLVtdcveh9XBurnQDD8/O79wxD49Tc857jwNB1a2que6tcU8xJjGxo2d6jX8OfX1JfV6e5E6peFz+jPyrQ89qI6azMxZk9VBx4EV9R5u3jvcAysW65NVT9f+L6qryWFZthUlRqKRcCLVADCEErjLmkmJgZUBirFd6yDGDGhwJTNntLoB5tMoxrpNUrJ7/D7fcfUVJfnWtGtrXXs0GwdaF/31laW/q6soOaPHK60t2aymeNUHH4xxnLEbrWaJFG2ptXJ9q7pM17HfgHqei59QPewEN26nUhvqpvtu9VT3U4QYpV5vX5LMO0v9xFfTKS0JYUR9ZprpFEdRqRfJdjdWdTxGadi1tGxr9zLT2hZf20E8zoxY2gEJwDY44xgkOCS8OD2nICo7mQEMVsSDK5k5hdMZ59o19BwoKdkWU7Iz6ypKptVXliywZqfQQ8Nqb21ptfpvuLehas/R6kbvDnWqPfBIzHKod5m7qbYtT2e7tXW0htOj5WXWMjQKwyY7r/BkdbCWu+lkQ2P1mpephhhn7VbWUMVOVq/9tloCNhCcy6j3xODc1HJwxZRyvmlu66U4IqxtZU0mR2yAe7A4YxhcARhi2dmFueq5ZV0jwcBxQxiXUQ1gKxEPrqjf4h+pgxFIMalVMnlTY3XZjIbKkn/TuRFnmrt76itLl8pe75Hqv+9pdcoXeCT2cM4uGI7p7YNhfQqpbsI03DmBu5yG82YKw0Yyrt2sFdOUC6I5Qw3sx2pa3Fi9/3vqF/YDOqWZ6M8o5VLo+ClhVxNr/hvVI6qpas2vJWPvU9QLx+AKwJBzMmtwgAcCDJS6Z7jc6ulHEcA2Ihpcycycka5+ey+hGGv86oLnyU6vPKq+ovQxdU9ly8ELq7eL+u/7vpS+mSpa22DHIm4YwvazV5jHazXRsnaH0gpn/BqreRrFqLOWeXHO9Wj8R9RrQVlTzZpXKUIcsWY3mL2931Sljksxx6fnF0V19znJmXYzV6Rkb5pVVd0UR5S6tpDSlM9Q1E22dR1INQAMAckEZl4MzuHp2bOOpxrANiIaXOFu93XqEIMNl+S7pt+cVV9RcsP+2tI9dNLW6ivLNzdUlZ3GpGnNJOoKnI0l/GvqJsHWn5LV16/tUu+K91PUyagk7r6e6ujj7LaD/9QI9/t/at0EUYQ409CwvsnnZV9XpXYzBIXk0e1ZJVkOVdqQXL5CpS14Otkb6jCiS5QOlXS7bD2rFEAn1nWuho3+bYc7BHrWgO30O7hi7RCkXgCswZVY0q3uny6rqyj9YkN12QY6pw1ryUJdZdkyU/ZOtwaI6HSs4A7JbT97paF6z1PqUBdI+pCM/VDk5iZSjJqDa4k5u5iiLlZi20poqi1Zqw7PBZI+hGRRXRqkns8pVGpD+vybqbSFvXtL96vX4LcpakVwbu0WBQBDwEAj2yHBGbtIiCInRQBb6HdwJTNntHWDlBFIMWE/M/1faagq1X6b1YbK9bsbqtacwaS8Xl1Geui0/jj7avqk4uMo2ZLVC0eacjFFbag3oomZfOJVFKPHyW+x/hkIejCZGdP77kPkZK9vkW6vqVJEd3BF0W5wRfhlPZW2wTX9QET9d2dTCQCDIIQw1LWYbh8+2dX4jBx5NtUAttD/siDOb6IqFjT6/f5T66rWvEdZe9YShrrK0qdMJq3eFrGyoxB3OKwBI3trrOn5lTpUBZJGOL/VenOnNORSJx87Tv07vkNRC5Kx/zZUlGn5iTIMvfr68krJ+G8p6iLaW9nrNrjibWxcb8PlvrKRCr1IjsEVgCEwcXLBl9Qhqj2yhkgFHW2NcywNAnsJO7iSnVtobe9o6xkEA7DLL+VJjdVr1lOOKdaNoek3rS3dtFuqEhTnl4wbVzSGki2Z5kaPuilfRFEnh2dMLryQ6iGXZCT/QB2SA0kP1natVAIc5PNKa9t1nUStJ4oQwqEOuvVd67SW0FJtG6YU2jVDJ1l0BIBBMLguS4LMH6t/6NCP8jy73y9AfAk/c0WIYd+6NUrWmj29JzZWlu6iHJOs/jE9XnmClGwLndJZsns0v5Jq22qsklZvhp2BpA8u2G3R2MIuK+u4ZM6ZNbiik3+p14YVVAMc1Fxb+pE6aLNzkHoyj6ZyyKWmztRuSZCSNpy7o0XMNPUcXOEMM1cABsm6RlLPJatput21NVR1vMGY1GH3xER3Crd2+gOwBS7VnXgwWfnH5XPm3KHKqC0fGA7qb/deb7v8mtVIjk7FvLTcaWOTROKHqjwycEZP6ldzc31lSbSnug9adn7xFeqgXQNMv5RnNVaWvkVxSGTlF/2QM/4oRR1IabLj66tKSijbmvpdsxru6rG+2DS/UldV9k9KWlLf71+rw7cDyf4aqrrd1ow6ikNG3RBM5G6ndoMC6rn9ebs9tw/eXLkcUZs5GC2c8866ipKXKcatrPziNzhj1jJs+/P7z0GTdnvJzC+6TDD+e4p29hv1fP9Odm7h2UwIHX6H3lH/vWdQHXey84vmq1fpeyjampRyUX1laUz3OAwzuFL8M/UGYm33q7PlDVV7zrSaj1KOG1m5xVO5YKtUqeMnjv/PNE9VN2jvU7Ilq39JZm7hRlV+LnBGG0P6ZmR1bM/M5daAbG7gjAYke72usuR8SraHwZXhlZlbdKkQ/A8Uba/L1zW+rWbzXopDRohprszcRA23EDavqKso0+FGBjSBwRUYDF3ewz/+8I2u66yBdfvNAvws0+P35LZUr6ulHFcwuGIvQZcFUSdr2y/J6Edrj1deHo8DK5b6qpJN6nC1+go+eqYLwa+lyrZM01TvQ9L220cH8cWs3OJiqgctM1fOUQd9BlbUc8Pv92GHIAjJa/Yup1ILSQ5XVJYG0WyYzkDSh5TiTCoBAEZURsY0a+dVq5mtrambhubm6jXvWLVplnolk68dfMDehNNwXUo1wIgKOriSOfm4k9RhXCDpSd3sXru3tlSb9fLREJjCK++nqCn+NZGbm0jBthqr11jTpTcEkkY4u42qQQn0b+FD8r81XKRkf2msKV9HEaCPfXVua2cXbQaopd8YRWU07KOjNjiXcybkzkKvEAAYcUaC29p+2WoObncvm6bpo9qixXJAziR2DQJbCDq4IoXxNSp19Zv6ytKXqI5rDVVr7lJ3BrZeVtOP5HQ28SyqbcvalcI05QKK2uCcfSN98nFHUTxkGbkF56j/tWkUdWAy5tNxthEMI+tTO3XQpl+XFDxqTW2VVjpqhLtcwnEDBQCAESO5uIxKW+Om+QKVBzVWtf9bHTR4H+TTMnIKZlAAGDFBB1c4Y9r0IAhiu7+7+yaq45664/cz02dtp6bt8iBrAIBKW2uqWfOq+iaXUdSFcBhO6/djkPSataKeDn+uryzfTAEgnCHvYRItnMsobpcstZu5Qq61mrxTDQAw7CZOKpqi7q0KKdpZbUNN+Wd2TzTNbVa/rb8Hkr0JYWgxgAWxrc/gitUIVR0ODyTdSA+T5qWNjRu1WxseTfVV5aXWEgiK2uGcn2c11aJoW9bUFe7369fDg7Mr0/OLMikNWObkwi+oi4ZTKOrApyykGqAfcg8VtiekjNqni1JyXQdXxiaJhD9ZveQoAwAMK4eTa7FkRTL5ojUPm+In1OWtHkuDOLtUvdYHnTgAMFz6/AJywbRdEiQZn19XWbaGInyK3++9Ux0+vYZSJ2npOfw0qm2NOvOvDCRtuB2S30z1gAmHuJ1KXTzfVLN2O9UA/eBdVNien4moLd3hGvZc+X/8zMzcgnspAAAMG6snnXr91KPZqsk/syToY02s+V/qoMMH19npubNOpxpgRPQZXJFMz8EV9d/938aqsocowv84eDMp2W8oaodzqcXSIIvJTB1nr1w7blzRGEoRy84vtLafPi+QdCA9knkXUQCIhN23oPxEr+yJXl8UzjRvEM9vz8ortHY0AwAYNpk5s6xNQvIDydZ2NdaUlVL9GWZVVbc6aLE0iDOBxrYworiU/9+Kw+qq7xKOGlXywBl9SD87vb665L8UIYisrOMmMpfjHIqakXvrK8tep2B7WfnF76onkRazbT6mXgrm1leWDGh3KfX3/K36e15F0fbUq90z9RUl11HUTnZ+sTUz6uxAsjnT/EpdVdk/KWlLfc+r1CEnkGzNbKgqcx3ssxUFmXkFXxLcsBob6kx9b+Q9DVVr7g029R2gP+o97w31nqfHdZTffw7NpoURpH5nnla/M9dStLPFdRUl1iz3oNR74Wx10GGzkPYGsymDBoTiQnZ+0Xx1634PRVuTUi6qryzV70PoAfjM4Ep2XtH3GedPUtSILK+rKC2gADDiMvKKTjI4X05RF40NVXvyTXN3D+WwJuTMnOQynLvUy4iLTtldj8fvObKlel0tZe1gcGX4qe+5tSwoKZBsrU1dGEdtls2ECUePdqWMsZYGad+7RF31/KPb7L6itWqjxkudYCRgcAUGQoij3Zm5YxpUafsZkKbfnNFQXbaBYh9iUlFSppO3qNL274dSmhfXV5YFXeIUizC4Yi+fXRbEuab9VuQjVADYQmNlqdVt3VqjqpOMzJyxV1LdL6fh/JFGAyvWK/ovdB5YgeEncnMT1UGHgRVLVLdKbmnZ1q4OmwJJb9bNcZJILM/MLbKaH6LRLQBExcTJo62BONsPrEjJtoQbWLGYtaUH1J/7B0Vbw9IgGEmfDK5Yn0qpg1bLGEhdQ1Xvi1QD2IY0mTUy+/9Tw3TAxY8judmwtjbljF9DUQcH/D09S6gGiEimGK/DOnkiozq4YpFMrqIyFuQKwf+QmVu4OTuv+Er1uueg8wAAQ8IQeuwSxLn8M5Xh6bLzKGdnZWcXTKAEMKw+GVxxJo86VR3cgaQPKeXPTXOjhyKAbdRXlZSoNyItGoB9ypHqZqPf5sFJIvF6dUgJJPuTkj3Z2LixkSJARCQzzqDS/iSP+uAKlzyWBlc+drS6EH82M6dwW3Ze4TVCTNNnNh4A2FZa3gxrxsq5gWRvPp8voiU0vu7ON9RBh14mTuky0MAcRsQngyucixlU6qSrW/Y8QzWA7fj9Pu1mr6j/2LBbK1tLJdSfuZGiDjq41/8A1QAR44xpM7giudxBZdT4panbNvOR4+wwxsUzmbmJO7Pyi38gxGEJ9AgAwIAlcJfVAFaDD61l+cEdRSPQ3LylQ/15LZa8cyaxNAhGxCeDK1Iy7QZX1A3es2hIB3bWWFO+Tj239JhGSdQNZWFmfmHIm8oMNvFq9WcmUrQ99TrxWF3dGqsJG0DEaJmINktlOeNRH/horCrbqQ7WVyybrF7fHs/MHb87O7f4lqys45LpPABAxNRrshY395JFuCToE1KTa1penJ5TcCQFgGHzqZkrbDqVujD9Pu+jVAPYmO9u9Q+ttv0UTASdvWLdcHLOb6Wog7Zu2fsw1QARy5hUcLI6jAkk+/Ob5jAt2ZHxMls0U70QPszdzors/OL7MnMKdbtGAoARkp1dmMsZs95D7E5yDxtQ38qedv66OvQGkq1xQxiXUQ0wbA4OrtAnM0dYtUZKIp3GBjCS6ivLN6v3rwF+MjDivpyeXzSL6k+kTy688OD0eW3In7VWro96LwqIPVzwO6m0PclYM80qibou34HfqoMOa+6HitUUcZ4wxPrs/OKtWXnFd2fnF34u8BAAQBBOZt3U80CwtVV1dWVVVEdk797S/epN598UbY1zdrkQQoefA8SQwMwVh2PqJ7UmpGTLqQSwPZ/Pt9A6BJIeHIzfRuVB1huUEOwz52xur6ezHbPbYMCycwtOVZfF2vRbUVeOw9Zotq1m817JWETND2PQFHWxvkC9Gm7Jzi+2Blvuysgt1O2DKQCIMsmEFjMm1Gv5IX3wJ7VZGsQOT8+edTzVAMPi4IAKF1LDfiv+FVQC2B7Nsno+kLQxOyOv6HCq2cTJBWeqw8xAsj8p2YMtLdvaKQJEThiLqNKC+l0f3l18TPYUVfHMWia0yBBiR1Z+can6ui0ra1Ze4CEAiFfWrF/O2TEU7czvZ/Jlqgekm3leVQdvINkbdwg0toVhFZitwoVua4nlAZ+I3V0LICZJ5lU3bFKnbcMNwdmPqVYh/C5CNtPEPN4nqAaIWFZu4dXqoMNa+U9wNry7+NA282soxj3OWKH6up+7Hbuz84tXZecV3jwhd1Y2PQwAccTQpJGt8l5TRWkD1QNCy63fDiR7U6/NFwlR5KQIEHWBwRWp18wVKdnW/bWleygCaKG+Ym2FZNzqV6ANzvhVmZkz0rNyi4tVOp1O2580l9bXr+2iBBCRzMmFX+BC6DYrw9sgW8qoHj7cv4Qq+H/W2v7jGRePuISjOjuvaLl67fx2Rsa0lMDDABDLhBCGehG4mKKtmYPsBSgZO6RZLyNgfEaOPJtqgKhTrwNC3T/xaZS1oF64sCQItOT1e+5Vh55A0kKCSHD/kOs1a6WuoXrf01QDRGRCzsxJwiH+qkp34Iw2/mFWVQ17g9m6ijV/kVKbi+uRINS11UnqtfPXRmJifXZe8TOBQWoAiFUTJxd8SR0yA8nWvN2+A9b73SHr8kpraZAWvQQ5x9IgGD4iI3eGtUZYm+0mD+IYXAE9tVSvq2VS/oKiLm5UX18PlPYnTbnYNHfrNIAFI2z85OmTXYbr76rMCJzRhynZz6kcfh7vDeqfLYEAYYxS1y3XcMFWZ+cXbcjKL/phWu60sfQYAMQIg+uxJEgy9m+rOTnFQ3JwBYFk/6Vod+eNG1ek170uaEtI06lbvxWrdwUGV0Bb/p4eazr9gUDSwij1pctuYlWNNT2/ohqgX5l5BV9yOxKs/iHaNXZXtjVVl/2H6mFXX7+2WUr5A4oQET6NM/5okkisy84v+kNWftEXsVUogP6yso5LZlyPD6LUC86glgR9ii6zFxPdKfybVANEleCC5VCtizqrdwXVANppbNzYKCV7kiIMIcnYItPcqFPTYBgh1g1tdl7hPMGNf6o4IXBWL5LJJ03TVL/2I6e+svRF9Xqmy7acdpKgbnEu5Yy/nZlTuNP6XZyYV5BFjwGAZqTbYQ2s6NBfqcfTud9a0jNoZm/vK+rgDyR7U/e7WmyPDfqzPi7RaprUsG85CRAF3Ot/QB06AgmGyM7GKvkc1QBBCXG0+2CT0ZzCjepq6z51ygg8op3O3nb2LNUjy+O9Xv2zLhBgwDg7zPpddHKjKju/+NXMvILzhRAOehQANCD02SXoHy0t29qpHpSGhvVNkrHlFO3uNKu3GtUAUSOk1GtwhXNWSyWAturq1rSoN6THKMLQuMc0S71UA3xGdnbBhKz84tsyc8fsspqMqveSY+khLanXjz/s3Vu6n+KIOrg8yC+tKde9gTNwiKwBlfMFN17NzC2szsorXojZLAD2l5ExzerXZTWztT0pB7dLUF+mLkuDhNNwXUo1QNQIzmQq1ZqQ+6gA0Fq37H1YHdoCCQZpa0NV2R+phjhnLflJn3zcUdYMlez84l+rr63MZTRxxu5XD2cH/pTepClHrpFtEPXVpavVRft1FGHwMjlnP3Vyo1L9/v4pI7/gBDoPADZjJLit7Zd1mG3W2ehjb1A9JHxS/k0dzECyN3XPi12DIOp4Zm7hi5zzCynbnmTmD+orymx1UQlwqLLzi36qnoYLKcIhUjd1c6zeDxRjlrrJelMdzg4k23tHvWDXUx09nDnVP60ZmNbuK9aX9YGB9RXLyyr+WVdR8hWqbSU7r+gxxrm1wxgMOVkuJXu8sbr9T6a5DbOERkBWfvEbnLFzKNqb339OXfUa6z0Dokz9XpSq34tCijYm/1hXUTrkvUfU6/5y9bp/EkVb8/v9Mxur16ynGBPUvcR8dTF0D0VbU9fri9T1urr3iV08K6/wX+pwJmXbM015WUNVKT6hhpgwYcLRo10pY3arclzgDByCDQ1VZceZCuWYpdngCkRHlyl7pzdUrrdeN2xHiCJnRi7/t7rROJVOwdCztr/+Za+v5+k9NRtqAqdgOGBwBf7XxElFU5xOvpWirUlpnl9fWfY6xSGTmVd0k+B8GUVbk5I9WF9ZchvFmIDBFXuxtlfVqueKwLIgiCFWUzHrhZ4iHALTlAviYWAF4CBp3mXXgRWL1feoyytnq//QjXQKhp61u9U8tyNhV3Z+8QvZuYWnBE4DwHBzOLVpZNvaWN37L6qHlNff+1d1GNGd6yLFObtUKBQBhpz65eJ67RbEBAZXILZ4vE+ofzYFAgyEeicva6pZMyRbCgJo4MOG6vLHqbat/bWlezq97IuqXBc4A1FiLYm7iAnxXnZ+cXlGXpE2s5ABYoHV30sddNni92+mudFD9ZCiGXSrA8n2stNzZ51ONcCQ027mislMDK5ATKmvX9vF5MFGmzBA3O//qWmaWnxaAjA40iOl77vq991PJ2zNGmA5YHafoV7b1tApiK7jDM7/Zc1kmZA7KyaaNgPYXWbOrJM4Y3kUbU1dKQ3xLkH/S+qyaxDjTKCxLUSNdoMrvawXgysQcxqq9zylDnWBBBFaifXkEEfuq68s30y1FlqrNu47wHq/rMqSwBkYBhe5hGNrdm7xLUKIWG7qDDDiJBdazFqRjDU3VZe9SzEqZK//L9YhkOyNM3aByM1NpAgwpKzBlaRAqQVzf81mbF0LMcc0d/dIUy6mCBEwmRnTDbEA/p/c2FDVs5SCVlor17f2tMsz1d8hqhf28Bmj1NXdw5m5hWXZeQUa7GACoB8hjnarm/SLKNrdy6Zp+qiOivr68krJtJmpODqDTzifaoAhpVtDnzY0roRY1VjT8yt1qAokCEe9gf+3oaLsbYoAsayHSXl1tNbKD4e9e0v3N1StOVNK9pCKWMY3fGYwbqzMziucJ4Qw6BwADIGJk0dbu0alBZK9cWlGeUkQkQxLgyDu6Ta40kVHgJhj3Typu45FFCEMU8r5VALEMmma8jt1lWXa9y2xPjWtryz5iSqtT3o7Dp6E4eBkXNyXkVv49rhJRTl0DgAGyRDa7BJU21Bd/gHVUWVK01oapAfOzsrOLrB2XgMYUroNrmjVHwZgoBqr5HPqsDOQIIR/NVaWrqAaIJYtbagq/SPVMaGuouRldQn+eVVuDZyB4cAZOzXByddn5hZfQqcA4BCl5c2wZqycG0j2Jpl8cbhm/TdWlVnXr7rsEueULmMO1QBDxhpc0WmK7ig0aINYZpqlXnW4J5AgCClNhl4rEA9ea6gqu4vqmFJXUbbV29X5eXX1YW1Dj6W+wydVCPbHrPyip3AtBXDoErhrtjq4A8nmTP/wLAn6fxotDZJYGgRDzhpc0WmpDR+VVZBKNUBMUjdU1ifV+FQ3GMn+Xl9Vgp1HIMbJjd6uzstjucdYc/OWjrrKkhtNn3mSipsCZ2E4cMavy8wpfHPs2Fm4ngI4BOo5pMtN+a7GmnVlVA8Lr8+jzeCK+kkWp+cUHEkBYEgIdbPSTrUWEoSpRfMogEOl7qf8Usq7KcL/k36/D7NWINbtkcz3NWvwgXJMa6gpW9VQ1V2gSquPUs/BkxB9nH0pcYxjVUZe0eF0BgAikJ1dmMsZO5mi3b2grimHdYVCc826beqgy4A5N4ShxXbaoA+h3mD3U60FgxsYXIGY11i9xhr53xBIYJGS/aWxplyXtbwAh6Kbmf7Z9RVrKyjHBauZd11Fyb0+n3eGugv4nTrVHXgEomyKwfmH2XmFutwoAow8J7Nuxnkg2JtpyuFeEnSQul7TZ2kQZ5cLIbT4eYIehHoKaDVzxWQSgysQ86zlAOpNcQFFsJ76zIfZPBC7JKuXJjutrmrNe3Qm7jTVrN1eX1Fy9QHZm62e8beqUzsCj0AUjWdcvJWZV/AlygAQhmRCi5kOUrLNDVWlGykOM59GS4PY4enZs46nGmDQrJ4rWs1cEYxjcAXiQlPNmlclY8O6Vta+5J/rK8s3UwCIKdbz3CN9xegnFNBaub61rqrkZw1VZUeb0v9ldeqv6st38EGIhgTBjb9l5BecQBkAgkjPL5rFOTuGoq1xLl+gctjR9Zo2vQO5Q6CxLQwZISXXauaKerHA4ArEBWvqCvf70WNE3VQpC6kGiDUvNnrlqS1V5XWUgVivgQ2Va/5TV1HyTY/py5OSWa8D+D5FR4rBjDesm0fKAPA/DH0a2TKf3xyRJUEfk1L+hUrb44xdJESRkyLAoAjOpVYzV9TTFYMrEDfqqte8qQ4rAyluPW8tF6AaIFZI9f8XNFSVXWzWlh6gcxCCNfhUX1lyt/p+5TFmflN99/6jTg9ro8Y4kOpg/F/Z+QVafDIPMJyEEIa6Cb+Yor1Jtqapes2ILqs0TVOnpUHjM3Lk2VQDDIqQTK+ZK5IJDK5AXDGZGcezV6RHMu8iCgCxoosx/4V1FaX3WLMz6BxEQH2/fHUVZX+tqyz5ss/vP1pKea86ja2ch854xoy3sE0zwGdNnHywL1FmINmb5OaILQn6WGP1mvXqoE3fLM6xNAiGhrUVs14zV7j1xg8QPxoqyt5Wd1//pRhXJOO/jbedUyC2qefye6Ypv1BXsUabKdN2ZX0yW19ZOr+uomSa3zSPVN/dnzApV6iHzMCfgEOUnTDGuItqAFAMrs2SINnr5SM+uBKgz9Ig5bxx44rGUA1wyKy9p/TqucIY1gND3DGlnE9lPOnx+j3Wp9IA2pOMVUop59RXlJw2cjs4xK7GqrKddRWlD9VVlp5s9vRmMWleq07/U33nPYE/AQOhrrVuTM8pOJIiQFzLyjouWT0pvk7R3iRbube2tJrSyJJSp6VBie4U/k2qAQ6ZMLlsploXx06YcPRoqgHiQmNlqfVp7L8CKU5I+YuW6nW1lAB01alu9O9srNrzufrK0hfpHERRQ8P6prrKsl/UVZR8xdPZPkGa7BJ12mruqNWHSSOLuxyG8SAFgLgm3Q5rYCUlkOxNcmaTWSvqtbi6vFwdtJl9zAXTYpttsDch/aZua5UNI3k09iOHuKNuEKzeK/HSn+GAv6dnCdUAOpLKc17pP1rd6C82zd09dB6GUUvLtvb6qpI/11WUXNJQtX+iOnWu+sn8Sh2bDv4BCOdrmfmFZ1ANELeEPrsE+c3u7peoHnFWTzEpmU5Lg06bkDNzEtUAh0Q013qsfci9gagH9SJ3ApUAcUPdIJQwyf5OMaapN+MnGxs3NlIE0IuUK6RffqG+svRbzZVr6uksjDDT3NZbV1Hyj7rK0u81VJVl+aU8Wb2mPqEe2hv4E/C/BBM/s3ZJoQgQdzIypmWog9XM1v4k+6/trp1MrZYGCafhupRqgEMiTHOjRz0bP6KsBc7YiVQCxBW/3xcPs1c6uNf/ANUAutjHpHzM9JszrL4f9dWlq+k82JCpWMst6ypLbmyo2p+tznxTvbS+oh7S6sOmYTA9c9JxZ1INEHeMBLe1/bIjkOzN5NI2S4I+1li7pkQd7NEDJgKcSewaBIMiAge+IXDUBGefxycpEI8aa8rXaTbFcsAkY4/V1a1poQhgZ6b6jX3LalSrbtCz6ipLb2qoLtPr/RRoRkvZX+sqSr/R6ZVZ6jXoRvVVRg/HPSmEdXMJEJckF7r04fB2+w78lWrbsJYGqYPt/rtC49MycgpmUAAYsIODK+pmTbedC0ZNzJ45jWqAOOO7W/0jVrcabeuWvQ9TDWBXVep9c6Hs9R2ubsjPshrVWjfo9BhobH9t6Z76ipIn1FeRepk9Rl0hLVWn6wKPxifO+deFOCyBIkDcmDipaApnrJCirUkp32qr2WzLJY5+xnRaGsSEMNDYFg7ZwcEVbvq1+6RN/eKj7wrEpfrK8s3qbdTa+SIGyZ+1Vq5vpQBgR8saqsoOq68subu+vrySzkEMqqso21pXUXqH+nnnMtP8ijr1mvpS9wlxZ3Rmbtq5VAPEDYdTm0a21iCo7ZYEfay5qmyVOmgzSM05u1QoFAEG5OAvjodL7QZXuEBTW4hfPp9voXUIpJix19PZ/ijVAHZ18bhxR2qxJScMDdM0/XVVZf+sqyj5Wo9XHqZOLZbqfiHwaHyQ0sDSIIgr6t6aq4MuMxh6PJ37X6XadqweV0yyv1HUQXZ67qzTqQYYkIODKy1V5dZoom7d8k9F3xWIV001a7erw/OBFBukZA9a26ZSBLCrDGfK6AVUQ5zZW1taXVdRcmdj1f4cdctwhTq1MvBIbOOcnTthwtGjKQLEvMycWSdxxvIo2pq6fnrD9tdP0q/V0iDOBBrbwiH51JQn7WavTEqfXHAe1QBxRzLvIvVPD0XdNTGP19oSFWKENVgWuPkM/yWlfIP+T7TBGb8xO7/gGIoQh6gJ7u/rKkpO9HnZLPV7/Jw6Hcs7DSUaSaPPoBog5mnUyFax3y5B/6uhZu0KdbDXNtFhcMYuELm5iRQBIvb/gyv6NbW1lgbdTCVA3KmvWFshGf8tRb1Jc2l9/douShADuDTfCdx8hv/y+Hu/r/54d+D/ShtOxozHqYY411Rbsra+svRbHr/nMCnZQ+pUTM7AE5xjBw2IC0Ic7VY31xdRtLvORh+z/YcU1vJKyaROS4NGZ/AJ51MNEDEu1ZWAJSu/+DvqheRXB4NGrE+MrAsbigBxZULOzEkuw7VDlTrv5FDXULXnCNPc3UMZQsjOL35THc4OJJszza9YfSoohaX+Xvepw7xA0oe1BbO1UxBFgIPGjSsa4x7Nr1XXVD9UMTtwNib8ra6i5AKq45K6Vn5D/VzPoWhvfv85ddVrrPcMGKCM3KJvGIJrsX2w1f+JS/YWRXvjzOpZpU/PTMn+XldZYvtVEtn5RfPVN/ceiramrpsWqeumn1KMSf8/uJI361jOHZsOBo1YU3GtT4woAsSd7LyiRxnn1kW8lqQpb6ivKn2SIoQRq4MrEyceM8qZnGL1EcoInNFGjez1fg6zriCYrKzjkrnb+WtVzgmc0d6uuoqSI6iOSxhciQ/qvfYv6hDXA4lwkJd5/Nl1dWtaKNsSBlfs5ZNlQYHtXdnOQNIH53xORsY03S7IAYaMv6dniTocCCTtVDXW9Gg3Yw6GVnPzlg4mTR2bxE5WN893Ug3wGdagW0NV2SWSsdtVjIUtnA+zBkKpBohJaXkz0tQBW4+DxSldRqwMjsMw+VRDW2s0ib1CpU7cIiHheqoB4k5j48ZG9dzVcuaHuulYZJobY6UpLwxCQ3X5r9VvhHa9v5Rb0nMKjqQa4DNM05T1FSUPSCbPVHFP4Ky2uEhOnEY1QExK4K7Z6uAOJIh3nEnsGgQD8smyIEtGfsEJBjM+oKgNa71hY9WeXPRsCC8zp3C6EOInFPXC5Y66ilItpryNhOzsggnMZexSpU6fKu5sqJLHmGZpLO+wMaRidVnQxzJyi84yBB/Q/40dqPegN9UNtB5LBWDEZGXNyuNux/uqnBw4oyHJvl9XWfI0pbiDZUGxT/2M31M/41MoAkif3390U/Uaq7+hLWFZkL18ZnBF3XiLzNzCOlVqt8xG/S2+qy5urbXNEILma0gX11WUYPp9GOqC4F51QaDT9+hK9TN9nmqIQKwPrli0+jt+iin9X2uoXPMaRYCgMnIKZhiGYW1JmhI4oxu5tK6i9A4KcQeDK7EtO7swl7lEhSrVjxkgQN0qL6yvLLmbou1gcMVePrMsyFSYZFpeHKpXwQW0ThKCyM4vOEYdvh5I+jH95utUQghev0enTxPbG6rK/kg1wCek9P1YHbTrTyGY8YgQh+m8axcMg8bqNeulNC9V5f9/sqURyfhoKgFij5Ndpv6JgRX4DM7Z5UII/F5ARD4zuHKQ6dex74plciJz/5Jq+F/SsD5p6vvz1kNjU215CdUQgsd06rQszmOaZiw0eIQhZjVXV3ed+jU55uywzNxxt1ECCKm+sux1KdnvKWqFS4bBFYhZkglrcAXgfx2enj3reKoBwupzs91Q2/mOOrQHkl44Z9/Myi/+DkUgmXkzDlMX/hdT1JB84+CsKgCIC7Kn19o5SMP3IT7X6qtBASAkH/PPVYfOQNIIx+AKxKb0/KJZ6j7CmuUN0Ad3CDS2hYj0GVwxzW296qDtGk3O2LL0yccdRREUwdzWRZwjkPRjShN9DADiSEPD+iYp5VKKOknkbsfPqAYIqblyTb2U7CGKGpHYihliksE4bp4hJHV/eZEQRU6KACEFXSYipfk3KnWU4jCcfxRimotyXMvMK/iSekXQeTbPgSaf+A/VABAnGqv3PqIOVYGklW9Yux5RDRCax/es+qdevVckeq5A7BFCGOrmWeMZ3jAMxmfkSO2a7cPwCzq44u3qsGauWDNY9MRZQWZO4iJKcSsjY1qG4Ia1G4uuvVasDt1vmrWlBygCQJywttY3TTmPolYMwR/FAD/0p76+vJJJtpKiHrhW2/0DRGTi5IIvqUNmIAEExzmWBkH/PrMV86dl5RW/xDmbTVFHpsnMMxsqyt6mHFcObqudU/iWuhA6g07pCVsJRmzMpKLxKU7eQtHu9tRVlEygGiIUD1sxf5rVnT8zt/BDVRYHzuhDvbXOra8suZ+itkRubmImT/8FRZ0cqKssuZZq28rKL76NM6bT70mNeu3OoTruYCvm2JSdV/y8ul7GjTP0p7unXWbu3Vu6n7ItYCtmewk9uJJbXMwFW01RT5LV+/ze05tq1m6nM3FDpydaGDUNVWX52FUmMhhciX3xNrhiycgvPtFgbLkq1T2NVjo9pm9KS1V5HWVtqd+7NnUYE0jakA1mU7JZVdVN2Zay8wu+yZjxMkUdbFWv3XHb9BODK7EnK+u4ZO52NqoyJXAGIDRpsu/UV5X8hqItYHDFXkIuF1G/OCWSsfco6omzLIfDuSI7r6CQzsSFjNyib6i/vLXbhtakZL/BwApAfGusKPlAvRb8haJOUlzCoWHD0r7UtcAOKnXCx5tp9p9hIXXrKyS13E0SIBTpdnxdHTCwAhHhgmG7bggrbC8OztgDVOpsAuPGO1n5RV+kHNOsragNwV9SpRE4oy2z1ydtNTIMACPDZHKuugT2UNTJxVk5xadRrS11LbCTSq0Iw5lLpW1Jbu6lUhMcgysQUwR2CYKBOW1CzsxJVAP0EXZwpaGq7E311r+Ros5Gccb/kZVXdCHlmKT+fnPVRfAvVan7wIrlrb21pdVUA0Aca6ws3SUZe5yiVrjBHhdCaLsVvkVKqeXgisF4PpW2JX1GBpW66KAjgPasjR/UwWpmCxAp4TRcl1IN0EfYwRXTNCWTPCamNStuzvmfsvOKr6McM6ymj1n5RQ+rv98SFXXrSxCCaQ0SAQAc1C0996mDZp/yHzQ1PafgBqq1pOvMFeVcOtqWcMgsKrUgGcPMFYgZRoLb2n5Z68FvGH6cScx2gpD63aK3oVr+SR1qAkl7hnpGPJWdXxQzjXQm5M7KzsgpeJ0zfgudigU7GqrKX6UaAIC1Vq5vVTd2CylqRXC+MDNzRjpF7fg513Nwhcuz0vJmpFGyJclENpVa4FJi5grEDMkF+mfAIeDT1L3XDAoAn9Hv4IpplnqZyZZRjBF8YVZe8XNZWcdNpBNaysorusolHBs557b/dG5ApLwPjWwB4H81Vsmn1WFbIGllDE9wL6VaO7ynV9OZK9yVyN0XULAlzrhWPXkkY9bOUQDamzipaApnLK42vIChI4SBgTkIqt/BFYu3u9NaohFTb6icsyu427k9O7f4FiGKnHRaC+MnT59sbcnKOf+tirb+VG7AJNvdUL3mD5QAAD5hDfab0n8bRa2oi/hvZeQXnEBRKw0N65vUQcclWRbbTt8eO3ZWqjrosa0v4VxupxJAaw4nGtnCoVP3kZcKhSLAJyL6pWhu3mJNA30qkGLKGPUdeDgzl2/Mzi+2/QWONQiUmVd0k9uRsEnFswNnY4vkbLFpmj6KAACf0VC55jX1SvEuRZ1wgwmrua2WDcelZP+lUiucsdOycopOp2grCWMc31QHdyDpwe+PiU0OIM5ZvQrVATMPYDCy03Nn2fK9BUZWxCNuZk/vo+oQq9NBj1Zfb2TlF78xcfJMq7adzNyir2fm8k2Cc2uJ1ujA2ZhT1Vgln6MaACAon5ffqg5mIOmEz8rMKfweBa1wJt+mUjvc4EvpZso2hDjazSTTrVeat7nWs5VqAG1l5sw6Sb0g5FEEOCScCcx+gj4iHlyxpgVLk1kXtDFLvdCe43S4Nlo779hlD/PsvMKCrPzid9V14d9UPCpwNkZJtuRgjx8AgDCaakvWSiafp6gXzu5NnXzsOEra8Pq971Cpo+KMnILZVNtCZu7ouzlnx1DUxTbT3OihGkBbaGQLQ0HdN14gcnMTKQIcNKC1Yo01Zb9VL0lvUYxVTmvnHZfhqs7OL16dlVc0d7hns4wbVzQmM7/ou9l5RcsZF6XqyatVw7tDtLWhutvqIQMA0C+v6b9THboCSSvjkhzJ1rbSWmmuWWc1Eq4NJA1x/sDEiceMojSisnKLi9V/0I8pakRuoAJAW9asMXVdfRFFgMEYncEnnE81wEEDGlwxTVMyj7xGlfGwFZ967WXFnPMlTofro6y84s1ZeUWLsvMKCqMxvViIwxKycwvPzs4v/lPCaN4gGP+luhg8ST005P8uO5JM/gCfiAFApFqqyuukZA9T1Ip6Uf+eNSuRojbU67S+S4MYy3MmJz9CccRkTJ41kwv2miodgTP6UM839FsB7U2cPNrqsRhbm0HAiMHSIPhfAxpcsdTVlVVJZt5BMW5Y03c553cxbpRm5hZWZOUXPWXNasnOK74yM6/gS1m5xVPTcqeNpT8elhDCkZlTOD0wO6X4mez8ojWZuePb1QNvqocvVl9xNsVM/qm+olTnKecAMALMnu4H1aEhkLQiGBdP2K0PSH8449oOrgTw76j36xH7lDEjr+gkw+GwmjGnB87ohUu5jkoAbRkCuwTBEOLsrOzsggmUAAY+uGJprCp/SjL2PsV4lKsuMq+zZrWoJ9Wzghv/5oJtTBKJe7Pzi7uz8osr1PGDrLzil7Pzi/5m9UxReS2db83MLewVhlgfmJ3CrlHPzFnqf1Or7aCHULtXmhpOjwaAkdbYuLFTmuwuiro5PmPyrKuo1oLH9Gk/CM658cus/KIvUhw2WXlFFxqc/0uV1vbLOupoqNmn5Y5RAB9Ly5thzVg5N5AAhoRTuow5VAMc2uCKqfj9/u+qsjtwBj4lwZp+rI4ncM6+qS7lvq6y1TNlJp23LqwO6fsekyS7u7lyTT0lAIABaawp+506rA8kvXAhlowdO0ubm21rKZY6LA8kPan34Ymc8f9k5xf/mm60osqaqZqVV/wg5/wFFZMCZ3UkXzfN3T0UALSUwF1WY2uttj8H++NMYjYUfOKQb/KbqtfsUG+2P6UIcCg2NFSXPU41AMCAWYP9JjN13ckuPXG0sZBqLUiTPUmlzqzlWN9O4u4t2XlF3xeTiqIy6GEtA8rMKXiXc2bNzrT+ndrym+xlKgG0xRmWBEE08OL0nIIjKUCcG9QMioaqNY+oS63VFAEGosf0m1eo2yIfZQCAQ9JQUfY2k+zvFPXC+fWZuUXTKNleY033X61DIGkvQ33/n8x08prs/OL7JuYVZNH5Q2b10cnKL/qqtdufwflyakyvu45m1vxPqgG0lJ1dmMsZO5kiwFDihjCwvTccxKWUVB6arLxZx3LuWKNKTLODiElT3lBfVRoLn4DaxphJReNTnLyFot3tqasoQQOwAVI3gFbT67MDyeZM8yt1VWXDdkM2cVLRFKeTW7uZ6LcLC2PvNVaVnW5aO/JpwNo572CD99jjVz+AtVyyd9Sb1Lv+3t4VVl8feiwooaRPmjVVXVmfon6QpzLOTrGWHtHDseLP6vX6EqrjWlZ+8Rvq52vtNmN/fv85ddVrrPcMULLzCucxLrTbBh+0sauhquzIkXgfz84vmq9u6e+haHNyI5Ncy6XcEeH+VwY9uGLJziu+Tl1QPEURoD9//b/27gdKrqs+7Pi9b0ZeyYAkB2NLu0jaJXWTpiEr29rNP1LLTWgDOVQm/wMJxqH/Uk4qq5T8aZpiJ2mSchqMEkLPSTjBpGkhzUnxtkmbkxAs8hdmV3825k/5E2ZG8szIsrEtGXul3Zl3e39vrsAWsvTum3/vvvf9nLPMvW8FSLsz9937e7/7u3ai9j2ujSEhuFJ8BFeuzP583mVf3tzvhSWO1es6zdr7XTfXrt/1Dbumqps/b5vBBbI8xfbrcTtNOmPnOGfsovqMbUdaKzkZ8Hpl7Jc219vZ1DXJny6s3ve26kd/33VKjeBKuKZnFz8hJ3+6LjB0cTf+ls6plb923bEJK7hSbMaYnx9KcEX0C7Yl+4qBKzn5TLx28xPNhx53fQwJwZXiI7hyZe4z8FnbDPFEllZvbe1rr5YpkRf2vSiL7e/u91BYRrU7Jx/7aorZ9hFcCdONcwu3VJWWLPswGPWnSsdSrL3Eoj32P36h3w6DXVG/u12vjf0BD8GV/BhqcEVSY3fs3ve7WiupxA1cTren1P7T9dpfuj6GiOBK8RFcubrpuX1v1Sp6u+uGxai3txq1n3S9XNs5t+/bIxV9yHVRUGzhfS6CK2Gyv7d32N/bIdcNANlisq7cuWffSduc6V8JwmOdppmO4+UN1x8Lgiv5IcGVoR0JLAc2nDaPvME2x54OhVCYnyKwAmCUTjef+lX7Uu/3AqPN3Tfs2vs1rpdrjzSPfdiO6Q+6LgrIKNU4fer8e1wXCJJdo1e0Uj/ouiF4prMRlT4oJutKo8wHXDcU1+/YbcJ4AIaRGVpwRcTN5ppa7x2wzb/tXwEco97Vqi//iusBwEjE8acvGGN+ynUDo6/ZVL0miOPpZd670d34Mdu80L+Cwonjn4vjh9ZdDwjSDbtu/Q77srPfC8IfxQ8vP+Papdbb0P/NNYOhdcRx3yU31OCKaLWOPrrRXf8u26SmBhzzQOfkyt2uAwAjdfrk0d+zL6FmUb5yZm5fELVMzpw68Wlj1H9yXRTLp0+fOvZfXRsIVkXroBa7sTJy3D2sRx6uHbcvn+r3gvGaF794YZtro4SGHlwRMuHqGSMZLBRAw0c7G+r1cRz3XB8ARkqyKuJe/G9sczhFxcYuekf00oVrXSfXTp987JfsixQRRoGYWN1jP0dd1wWCND198wuUVne4bgDM+vo59Qeug77Qsle2TL1QcyJqiY0kuCJON5b/wt6c77LNQCe3GILPfnHDvIb0RgDj1jm58lH78rv9XnD27KiqILY2ySkysen9K9dFMfzV6VMr/8O1gWCZqaoEVl7Y7+WfUfpDX/jC8lnXhRWbC++3L0GtJXWkXu+aKKGRBVdEu1n7gP08/IRtEmApn1M9Y1519uHlx1wfAMbKXOj+tH0JMoNSa/3WnbPzL3PdXOs0jsqpQcHtjcdlPaHW49fFlusDwYpUWFuCLLYEXaLTWP28fQltm+/+l+ze+1LXRsmMNLgiWvXl/2yM+VHbHOuxVJioz9nJ2bedbixT2BjAxLTbxxrKmMOuG5rNkZp6p2vnnrmwIduwHu73EK74n7ZaK03XAYK1Y8fLd9gXKWYbiu7TG2bJtfEsRsX/3TVDEW2qXPM610bJjDy4ItqN5ftjFb/KNp/sX0FRGaM+uWF6tzE5A5AH559SUhPk0X4vMFq9ZmZu8dWul2vt9vEzcS+WYvbn+lcQoF9v1Vd4co5CqGyekuOXq/1eCMyfk+19eXrdyDbFoB7Sa2U4NaikxhJcEZ36yp8a032FbbLoLixz7Omuue1M42jbXQCAiUr2rxvzNtcN0eEo+pop1861zsmVv+kZ8322SSHU8JzoNB/7t64NBM/oKKi6F0aZ33dNXEJOojVK/YnrBkK/fMfuW+ddByUytuCKaDeOfaK3tvZN9gOy4i6hOP5q7Wzv24m6A8ibzsmjvylZda4bmr+zc/eL3uLauXe6sfzHsTI/5roIwxe73Y0fkOLErg8E7YaXLnytVmqf64Yg3ojjB1wbl2FiE1xdryiqUNi2hMYaXBGnTz90Wl3Y2K+M+t/uEoJn3t/ZMK98/PFjbPsCkDvJkbI6Ka4eJh39uxe/dGG36+Vep778Hvsi27GQe2bdKPNDj5w6/hl3AQhedVNwhWw/9mjzWMu1cRl6oyv1aJ7u98KgtXpdZLkuSmIiv/B2+/jTnZMrr1VGvctdQph6dmL21lZ9+XUctwwgz9r15T+0L4GlFX/JC6aq+ldcOwid5srP2JcP9HvIqQ17D/8h+9n4A9cHgmfXstq+BJYxYKh1dBWydrQvoWX3zNy455bbXRslMbFoWhzHvVaj9uMqVpLuzJF/4flCbHrfKadBuT4A5Fqv13urvPR7YdFafe/OuX3f7rq5Z+/xptNcu1MZ9TvuEvKla4z5YQrYomh27r7lFVqpWdcNQmzW+RymE9qpQUqriMK2JTPxVKVWs/YOO9P9B7b5//pXEIATRm0sdBpHP+T6AJB7p08eXVXK3O+6wYlU9GtRtLDJdXMvjh9a75xceYP9mf+yu4R86MWxekO7sSwncACFElohW+t4p7H6edfGFXSaK39sX4I6/U8r9d3Rnj1bXBclkIt9YKfrtb/sNB+72U3AOGUg336rs2G+tV0/Xnd9AAiGvcH8rH35Yr8XnL+3c4/6164dBMlgadWXf9rE5s22G2TWUMHEypg3dZq197s+UBhysppdzH6/64aCrJWUkvppSoUWFN66Q7/kn7g2SiA3RXakSr1MwJTpfbPt/k3/KnLkcWPM97fqtTdRXwVAqB6pL3eUMm933QDp/3Dj3MJO1wlGu7n87jg232uba/0rGD+zroy6q9VYfp+7ABTKDbu2vtq+XNfvhaJHcMVD3I2DOzWIrUHlkpvgykWtxtGVTnNtwRh1bzIRQB58eL23Pt9uLP+e6wNAsDobSorDPtzvBWdr1eggg0Od5vIDdmIsdWM4sn/cjGrHXbO/1aj9trsCFE4lCu6UoE+16kc/6dpI4ZHWsY/a8SysbVRa/eOZmVtf4noouNwFV4Ts0243avfEsdpnlFpxlzF2ckSj+slOc+WVj548EepCBACeI8m+M0pOswmTVq/fMbvwCtcLSufUyl+f3zC32vvLg+4SRu+vN1RvQX72rg8UznWz85Kx8l39XhjsHJusFU+y1dQoE1ph203mmsoPuDYKLpfBlYs6zeWHTjdXvtkY89O2e75/FeNgB/wjvV682K7X3m4HMk5zAlAonZMrv2MHuqOuGxpd0frXoiiquH5QvvDw8slO8+h3KBMfsl3u7aNk1G90mmv7zzSOtt0VoJA262tk2+FUvxeGHkcwZ6J1cMEVpZVha1BJ5Dq4IqR4Ubux/Mvd7sa8nSXIh4mCt6P12Tg2r23Xa7f3T9YAgOJJgsam9xbXDdHeHXv2/ZhrB0d+/q3GyjuN6e6z3eP9qxiiC/YN/s9bjdq/kGxgdw0oLK2C2xJUf6S+fMy14aFVX/mUfQnsvqEXb9x9602ugwLLfXDlokdOHf9Mq778eqM2/q4y5lftpaf738GQPKli9ZZOc+3rZV+8uwYAhdVqHv2IUibY8U4r9XOh7+NuN459wt53vsk2f9F+cZrQcKwq03tFp778m64PFNrMzL49djz8NtcNgiFrZUAmtMK2uhJVQjsmHBkEE1y5SI4AbjWWDz7dfXpPv+gthfEG9JQd4N/xxQ1zU6tZewdPuACUSbcX/4SdpIU67l2nrol+ybWDJfedVr32M3E3tosjw5Pc7J6RbdSdplmQwwHcNaD4NilZtOp+JwyxigmuDGA97n3AvgRVtkBr9cNRFAX1PoW/4IIrFz156hNfkKK3nQ2zxyj14/ZSvf8dpPSwFKtdO9vd3a4vv+Xsw8sEqQCUziMnj35WGf1fXDdA+q7pPYuLrhM0KbjaaR5dUEbdabsn+1eRilEf6hnzDbKNOo6XN9xVoBSMisLKCDCqfaZ5/KOuhwwebR5r2Zcj/V4wvvrGmVskUxMFFmxw5SI59aFdr72r01y5ycTqh3jqdTXy84l/pNM0L5NitY8/fuxJ9w0AKKVnzNrP2ZfH+73gRDpSUtw2+Pu56Ndiqf12J37ka5WJ5USnc/3v4Hk8Kvd0+zN75enG8t+6a0Bp3Di3cIvW6utcNwhGqwdkrHNdZGSUCq+wbTWisG3BFWIyJuwY1Ws3ax9o1Zdv7XW7NxujZLL88f53S+8xOwL9hop7++Xn06qv/A5PtgCg74nmQ4/bMfIXXDdEizfuufVHXbsQ4mZzrdVY+UVzYeMmO4F+t71EMftnsT+Thv36j1/cMF8n93R3GSidSniFbC3z+66BAZw/25WfY1Anzmmlvj+KFja5LgqoMMGVZzt96tiJdqP2tla99vJeHMvE7CftZUm/K1OU+Kz9d9+v4vhVnaaZlhMD+sUbAQCX6pxc+3X78rl+LzyR0r903Z6Xf5XrFka7ffxMu15780Z3/ett95326+HkG+UkQcDfsPf12043VyT79N+zpRdlJsfR28XqD7puKB473Tz6Z66NAbjs+//T7wXj+h27zXe6NgqokMGVZ7MTkM/J9pdWvfbNG6a3y8TmzXZy8iH7rSJmbnxOGfMeOUq50zx7o/1339VqrvwRWSoAcGX9Yt6xBOJDdf210RbJ2CykM6dOfNrexw91miu7e6r3rfaSBFpkz33RXbBf/9O+N7/H3tfdg5KVP4vtjb7/baC8bth163fYl539XjD+l/38kok3NHFopwYprdkaVGSFD64825nG0Xa7ufxu2Zv8jLlwo730huQpUD+r5Rn5MyGRtGD78lt2YPmR9d76LjvxvKnVWP5ncpRyHH9aJmQAgJRa9RU5veHP+70g/csdu27Z69qFJEGF0/Wjf1XwQEvdzU2+7/w5c6P9t36PvDe5rwPPVdHhbQniCObh6jSf+kP7Elr9yNe8+MUL21wbBaON4eGHkNTC66dvvala0Xt1ZObtj0YmqPK1I/kDkyUTqk/bIfnj9u/1KTu9/KRaV0dbrZVm/9uAUtteunD9CzfpR1037x6zC4aXuDZSmplb/L/2JYx00jh+lWTOuV4wpvfcsqCj6sdsM8zjEo35i87Jo/+gbJkNcrzlS2bmb6pUqt9if3PfqJWWExlkK1E1+QP5ds7+4j5sYvUnvbj7oUdOHf+Mu46cmZ5b/EM7MLzadfOt13t16+RRuWcU0vT0zS/QU5tO2+YL+1eCcK7TPHsDgdLhmplbeI+9Zb/JdYNgx/s3tZu133Ldgdh//8/af39hM1dDYoz5eYIrVzEzc+tL4k1qPtLRXqP039dGXW9/dNuV1lvtT26rvclut39sq/0aJAtIIq6n7f/eafu/Z19N27527AelYe+On+w0j3+GFEJcTRR9zdTOPS/6PtfNNWP0hXZj+fdcFylNzy38Q63MtOvm2oYxH5ZsQdcNiv05f5f9OV/nusFZOxv/ASfB9RdfqrppQUXmm7RW32jvqbfayzP2a5JZu0/Zr0/Zr4+rWH2iF6mPnWmufIx7fBimdy/critG3kO5F/IYnIb9fN+gpyr/yHWDEJvokU6j9ieuiyHZOTv/skhv+hbXDUJPmc9LFqbrDmTnnoWXR0liACat1zMPEVwZAjkCc/v2vVv1tZWtUxW9NdZme6TVdhOrrfbNbidx0XmjjFSzfsb0zDPGxOdjUzm/yZg1Y3qPtdvHn+7/LwEAgFGJopdfc8Ouqd1am1ltKruVVvK1x35rVr60Ui+1r4Nku0iQ5JydWZ3TyjxikmxT9Sn7v/vx8xvm40+0j54qW1YRAABlQXAFAADAiaKXbd626wXXVk3l2sjoa7XS16qqfTXqWvtt+1q5VkeqG5vek7Z9rtsz51Q1PhedXz935swnniZ4AgBAORFcAQAAAAAAGECpTgsCAAAAAAAYNoIrAAAAAAAAAyC4AgAAAAAAMACCKwAAAAAAAAMguAIAAAAAADAAgisAAAAAAAADILgCAAAAAAAwAIIrAAAAAAAAAyC4AgAAAAAAMACCKwAAAAAAAAMguAIAAAAAADAAgisAAAAAAAADILgCAAAAAAAwAIIrAAAAAAAAAyC4AgAAAAAAMACCKwAAAAAAAAMguAIAAAAAADAAgisAAAAAAAADILgCAAAAAAAwAIIrAAAAAAAAAyC4AgAAAAAAMACCKwAAAAAAAAMguAIAAAAAADAAgisAAAAAAAADILgCAAAAAAAwAIIrAAAAAAAAAyC4AgAAAAAAMACCKwAAAAAAAAMguAIAAAAAADAAgisAAAAAAAADILgCAAAAAAAwAIIrAAAAAAAAAyC4AgAAAAAAMACCKwAAAAAAAAMguAIAAAAAADAAgisAAAAAAAAD0MYY1wQAAEBe7Nh1y96oUtmrldmudLTfXRYH3OuX2NncR7RST7pOQ6m4YeLohOp2G+32MdsHgOH6qq+6ZfvmF1b36ijea7S2Y5Xebi9/xfh0GUvJf5r4SGx0Q2/0TjBOoQgIriB3ZuYWg35T9rrdm0+fOnbCdYNlfw/yb5jv99IJ5d+e5T1mLnTninTjn/DnrD+pEm4RKJMrE/caRfjsjJrn726pVa/d4drIMVmkTL2osl9H6g67QNlrL3mNvyks2SnfCRWrI+2TtSPuGgZU1s/jzOy+u5WO7nPdUijK/G5Q07sXk3FKaSUB36GOU0aZ95lYPdBpLj/gLgFBIbiC3Jnwom9gRbn5JjfPinrQdVOxv7iPtOu1Zz9dzZ0sE0I7TN7bbtTucd1CyPPnTN5H2i4CZYLFIvArEVwpjuSp79aqHZPUfq3Ube7yWLCIGQ6CK+VR5uDKxbFKa/U2d2nkZIyKu713EtBCSKi5AuCy3KL2yxkGKcjiYHp24Y2umzsyOcgyGSxaYCXvkkWmVgcluCcLl+m5hfsl2Oe+DQRv556FO+x7+4Et26pPyGJl3IEVoZW+M4r0B+UzNjO7+M5kfASAZ5mevmVW7sEXxyp3eSxkjKpUq8dlrJQtku4ykGsEVwA8r7WzXe9Aidb6vXmdpNvJwf2umZrpqdtdExMiEywXaDkhi1J3GQiOPO2X97EENWw3TV2C8dDqoCyeWMQAuEiCrnqqWpd7sLs0KQcuBlkIAiPvCK4AeF6PP37sSWXiQ66b2uZtlXe6Zm64zAffxcwS21JyZd49aT/BAhAhcZkqxmXODbuWyjCxiAFKTuZL/fFKHXSX8uKABIHznCENEFwBcEWtxooESlb7vXTkKUfeFr+6orwDPlkydzAW87IAlFRl1wdyScZBCQa6TJWQuEXMIlsigRKRz7xvvb1xkwxpyapxXSBXCK4AuKpe1z/IYBe/uVn4JoX3fJ8Wm/hQkrmD3JIg3vTc4hHZE+4uAbkhixQJAtpmnjNVrkhqLMgTbGoeAcWXbAMac12VzLQ6KPd/1wNyg+AKgKuSSu1Std1105p3QY2JyljEdtVl7CDnpBCo7AknwIK8uJitEswiJYWk5hFPioHCSgIV+dsGdEXJIQoEWJAzBFcApNKuL/tvkdHRfZPet79la9U7rT1Lpg4miwAL8kBqAYSerfK83JNiPmdAsSQZKxM4sWwYCLAgb7QxPsfzA6OXFNHy43Vc8KiZC9272+1jDdctFFk4yF5X101rqVWvTeSEF3mC7BY66Rl1uNWoTTzjZtRy8DkbyUkp9vM3V9TP30Wev7uJff7KJsnsGN2T3yU7XTuhVfxkbHTDxL2veI9HurpdR3G/1pWOZBuPBEFGEuSRU9Qo9t1X1s+jFGmOIj3qBxHeRejd60gUcX6XZBj7Z/dezpIy8ZFeLz4S9dSTl/s5SWA2rqjtUaWy146V+4d6ClFJ5m7IP4IryB0WDvkmTwh8n3DEsXltp7n8gOuOTZa/q30/2f9K8eXlcyaTLbOpsjfSer9MtuylQReDq/bvWuiThBgj8yfLWHMlsg3TxOqBC0/1jgxa+ymplxLZhYxW8j4YWrBlUuN63vB5HB1+tqMl91/J+nTdLFbtOHDPIONAMj5VzBuHEWhhTEIesC0IgJ8L/ltmJnFSRpJl47nYMcbc5ZoYE3m6JZMheeIkQRHJPJEnUO7bWcxzihDGaYiBlSVZHNjPgZZtmPK5GEZRbckwaTdq91z8fBmj7nXfGoiM65K94LoAQjOV/eABmS/JmDJoMCMZn+x4t3a2e53tDpR5FOCpbCgggisAvMhiOMvkfNzFELNsX2o3llmUT5i8vyTQkky0MgZZklOEON0EYzCUwIp9n8v7XZ66j/qpq3y+XKBFy4lo7nJmBFiAMMnnNsvYZZT6iIxXw54vSSBZxsBBH3JReBuTRnAFgDeZnLtmelodlBoorjdScgSqa6Yme6ldEzmQTLQatbultoO75EVXFBMsjNQQAitLSVDFvs8ncey7nIg2jCALARYgPPZz6z+PM+pwu17bP8rxSoI2SQZrVnauOemDFFBuBFcAZCLp666ZWlStjnzBm+wh9jwCVTJxLld8DZMnKcMZJ1rzsjXMtYGhkq1ngwRWJGgoT2knEVS5lARZBk3JlwDLuILnAAbjgqFe9ZckY2VcBWOTDOkBAixZTokEhoXgCoBMXPq612RcFiNJZfoR0lPeAZzVTJk4GJusEy2tNdlIGDrJjBug+KIU3dR5O2lnGCn5cjIbT4yB/IsynPIkGSuuORbJfT9j5qpkr7gWMHYEVwBktnbWv7itHPk3qgm4q7PhdXSjvXmzAA9Aklnkv31hntorGCZ5P/lmxn2JHBWa89NMJCW/1+3e7LreNm+rclIHkH9+86QJFftPgtAZty2yVRGTQnAFQGZJSnuGG9/mbZWRbA/KUGdjKW9PkPH8ZPuCfVnt91KqGLYGYWjsGPOga3pJTgEaU0r9oE6fOnYia0q+ZCdmqXkFYDyyBB0mWew/033firTmwQomguAKgIFkufGN4jQXt93Iaw9xpswbTJRdpHot3AbYvgE8x8zcYqasDAmsjPoUoGGTTDFXh8WbZPZQfwXIJ62132cz46l9w+R7309oRXAFE0FwBcDAel3/IMUwT3NJthnp6D7XTcfEh/JQTBJ+sixSWehhUO5pr1cqvQgxsHKRjI9ZM1gq1SrH2gM5pLXyuh+aWE18/Mo4hs5TAwqTQHAFwMCSNHJl3ue6ac0Pq7hthm1Gqy7jBgHyfa9VKhFPsDAQOQ3HNdMz6nCogZWLBji1Y2jjO4Ch8goS52jrtPdpZte8QM26JjA2BFcADMX5sz3/ibSO7pOjk10vE8lK8N36kSXTBjlilNdkz/imQQPPkqWGyDiPLR01CbBIBo7rpjfC4uUASsbE3kGeqFLh3o+xI7gCYCiyFrfNcHTyc3innxt1WDJtXA8Bins9r9+fVpoFHjKR4ECW04HOn+0W6qQKycDJkJ2otmytUtwWwMAk21iOsff5mmQhXpQXwRUAQyM3P3li67ppHch6ZN707IJkoHgVsS3K0+QyW39aNVwzLe9aGYDIEhyQY0uLWM+pXV/2z/jT6iDZK0CwvLfiAGVHcAXAUMXdrnfwIlM9A0tr/V7XTEUWPa6JgFGIGOPQL5StDrpuWktFflqaZXsQ2StAsHgwAXgiuAJgqJItNxmO7puZXfTaHuT7561CL3oADNfmrVXvQLG54B9cDokr0Ov3NNs/QAUAQJAIrgAYukxbb+wEPO2Rucmf85ywF33RA2C4vGutGHVYir+6XmH1ul3vTBS3hRNAYAY9dAAoG4IrAEYiS/p4VE1X3LZS9UszN0bdW4ZFD4DhyFIHau2cf9AhRK4guFf2itaa4DYQomsq+10LQAoEVwCMRJb0ca3UbTOz+644CXeLHp99wKvtRo09/wBSiyLtlWkhJ+mUqRaQ6SnfbZnzPAEHcsFzW5/fWAiUHcEVACOTaSuOju670ukSvsVv7SKAJ6YFwyINo+TGH79Cjj1dqnpO7ZO1I/Zltd9L6ZoqizRg0ozfaXvy0Cvtlm0ABFcAjJBsxZEtOa6b2uZtlcs+Fb1aVstlLLlFAIqkWvUNrnCcJFKbepF3GvxqKccZE3sFlLRWmY7cBzA8sTHeY1WlWuUwACAlgisARsptyfF6wqmVvnN69+JzFjj9Y1Gj+1w3lbWzXZ6UFlGk/Ba/nk/qUG468gsCGKNkC2TprJ3zC65Y81fKSgQwehee6mUJBM9nOKERKCWCKwBGLsvWHF157p7+Lds8n5yY+FCZaiCUivYLrhhlpAAnkIoEd10zlbjXLWVwxY2vXoHzDFlBAIZIPrdGqY+4bnpaHSTAAlwdwRUAI+dS5n23Zsxf3AbkslhS10CQiUOrscIkoIDkybfsAXfddNYzPalDCWWp5+NOzykl36ydSGuCK8CkGZNtm48EWOYWSxlMBtIiuAJgLDJt0dHRfbLYuTSL5WriboZCugjClq1+x3BbqxzDjdQ8jx2VU4Jcs5xi5RW4NFpRGBOYsHZjeZAaKgdm5hbNpVu3AfQRXAEwFkkKuYkPuW5qeqpaty/z/V4KRh0u85PkIuvX3VEHXTeVstbDQDZaaa/Fvzbl3nLmW8jXO+sMwEgYY+5yzUx0RT0oWSycJAQ8F8EVAGPjtur4Hd/pqdWokbVSUJu3Vf0DJetdTjlAelp5bQvq9WK2nHmO6SzGgMmT7JVMtVee60ClWj0+M7d4Ynp24Y0UrAYIrgAYs153dCf4xLF5rWuiYKSQXoan3ktsCYKn1LWdxPrTnERlef0MIl1lAQbkwPmz3WEdjz6vtX7vlm3VJ6bnFo8QaEGZEVwBMFayZWdEdQqWOs1ltoAUUHJCged2INHrdn3rswBeOJEs2XrntTVKRzGZK0AOJCcHXejOue5QyEOQSwMtWQqFA6HSxt4VgTyRQlmueVWS0jjp4qXy5JIJtj+f33MaMkEgSyE9z5//UqteG9YTLi+yp9u+eGUTOBP7O49aKL+70Mh2FUlxd92rkvtPu14rfVHH5FQ3Hd3nuldn4kNFOs2Nz+Po8LMdj517Fu6IIv1B1x2V1aQGWqyO+NZqAkJC5gqCJhFymQxP8mvL1mhk21yKbNBias9hJ+sEVopFFmxuYp0lsJLtdCrAg73/EFS3TBz5FfXVEaeMADkiWb9j2FY9r7V6myuEa+zXA2wfQhERXAEwEUMqpiZWi/QUtMzkaEfZApQEVXyehF9CAndkkwHjEZsunzUgcBJgcVuERnrowLMcuLh9yN7zT0zPLt7D9iEUAduCkDvuaXU4CpbiPE5yI3VHLWdmeup2Ukz9+XzOJAg27O13OqrMRtrYiVQ0a7TaO6wjWqWeT7u+XOisFc8xklT5lMq+vSUr3+1UVqHek3weR4ef7WRMzy3cr5W+03XHrb99aL17PxnJCBGZKwAmRm6c9iZ6r+t6SxbSBFZGbhTb75L93bKQ1erg8AIrUgOj2IEVAABGSe6jvW73ZtscVxbLs/W3D01V6zPuiGd3HQgCwRUAE9Vu1DKf6HL+bG+ixYyRH/3ACsVFAQAYlJzs2KrX9kp2sO0u9a+OXXLEs2QwyZZhyZJz14HcIrgCYOJkYeyaPlapqwFBYAUAgOGT7GDZbrV2tnudyzSeRDaLpNAelKzXGSmES20W5BjBFQATJSmfGbeFzEsBNNdGWRl1mMAKAACjIw+zJNP4S9ks9t7rvjVuB2TLEPM/5BXBFQATI0fwScqn63qTfbk8wSgvOTqy1aixNQwTYVTEEaIASifJZrH33la9puWEoUlktCTzv7nFI8wBkTcEVwBMzOZtlYFP2tBTVU5qKhujDsukTo6OdFeAgfV6sVdxbDu5Z/8/gFKTgwkuZrT0tw6Zu+SwAfftkZKs5ySLhQALcoTgCoImtRakovkkv9bOxfe7vw48SGGyIR31d4Bq8uUgT8dk8ka2CpAfka6SwQPAbR1avl9OG7qY1SJH1mesq5eaBFh27lngGG7kgjZ2tgrkiVQFd800luwAzoAaIDliz77M93uDkxu5ayIFz8/ZxMgTMBOrB8hS+TLGyNGQgK8UTHTdq5IFA/V+7Ptxdt/dybHqadnFVquxUpiMQz6Po8PPtlgkABJpvV+K07pLQyXBHMmkcV1gIshcATB2yWR8iIEVIcf0uSYCJYvVJJhizF2SFSYBM3kCRmAF4yBHj7pmKhkLcRcOtWcApCH38i/VahlBUVy2CCEPyFxB7vCkotikiO2WbdUnXHeoZEHuu0AqK8/P2aoyw93+FhvdMHEvecK0/rRqcKx2eoyRo+P5s1WyTa3s7137M5Pg54F+7+pkUSUFMV03eHweR4efbTlM717cryrmjcPYKm7fMGQUYqIIriB3uJkWm+9E3NOqfT9QZDIFPmfh4nc3Or7jU9ECBVl4vh8LFwTn8zg6/GzLJXn4trV6z8Dbhgq29RBhYVsQgLFJnk6MLrAi5t2WIwDwZ5TXfn0dxaUO5spiyDVTI7sQwOVIFqBsG0qOdx6kCK6O7ssyNgHDQHAFwNjoinrQNVNJ9uT64qYKICOjjN/CX0elTj/f/MKqV3BpoAUTgFJIjneu1/bLCYHukrfNW6s8aMNEEFwBMBbTs4v3uGY6Jj4k6fZZbq5btlU5HhuAv/We7xafUWbi5Z6OlNc2DG0UWSsAUmk3avfEsXmt63rRWr3NNYGxIrgCYOSkervvje7iflm5udqXVWl7OOC2IAFAalmO8Sz1WKOV1789NqbU9WkA+JEThrIGWJgHYhIIrgAYOT1V9SosdumN1PSUd3qnriiKmQHwJseBu2YqvtkbReGOPPU6Uv/CU96ZQQBKTgIsvuNyIvIL/gLDQHAFwEhNzy680b74pM4vyY3UtRPuNI6lfi+1ee+tSABKz8TqOePPVQ16skWorqnK2J6a1FvhyHUAWbTry17jTcIzsw4YBoIrAEZKa/1e10yl1+1eNiCydrbrfWOVrUju6SoApHJpcDeNnXsWSpe94l3TwCiyVgBkZ+JDrpWKVuo21wTGhuAKgJGZmV3025pj1OHnO6YzeeLpeWMVvluSAMA3BT2KtP9T1YBlCiatdyk0DiCztXOx9xjC6ZEYN4IrAEZix65b9vqmy7catSvWVnFFbr2L25bxqTKA7Ly3BtlxJhnzSkJH2qsOlmwJylIsGAAuctsKveaA17xAkb2MsSK4AmAkoqpnxkjKrJRe1397UBTpD7omAFxVlq1BlWq1FDWe5AQO73R7Y8haATAMBGmRawRXAAzdzOy+uz0n36sXj16+mmTbkFGHXTc17y1KAErNGHWva6ZViuyVLCextRvLBFcADM7E1G5CrhFcATBUyf5WHd3nuqn4ZqNcbfvQZWl1sExp+wAGc/5c1zuI4J2xFxh3+pvX8csZglQAAASJ4AqAodq8reK1uJDCkc9XxPZKjDF3uWZqRV/4ABiefhFtvyw5ydhzAYjCkcC57+lvIkuQCsDwSQbvzNyi8fly/1UAKRFcATA0khmilb7TdVM5f7bnn4ViSZq5FEl03VRk4SNbllwXAK5o7dzlj4a/EglAFPEI+C3bqt5beyRrxRWhBDBxMfVKgBEjuAJgaCpVz8m3iQ8NNPG+4F/cVrYscTQfgDSyHgGvpvwDEXnmgtIH+r302o1aKYr8AkUlBaxdMx90lK+/D3AJgisAhsJNvn324qcuYvt85GjPLPv5fbcuASivLONUP0uuGEW0k8WVZx2tRJagFICRMXHkvQXbrhTzFszwygrMsu0cGATBFQADy1LENo7NUJ5oZnkyKluXcvc0BkBumZ663TXT0+rg9Oxi0Jkbsr1JV9SDrpuabNkcNHgOYMi6Xe9tQVqrO1xz4lzWceqHeL5bx4FhILgCYGAZ9uIvdZrLD7j2wLIsfLIcJwqgnNona0ek+LbrpmYXJm/buWchN4sTH0lgZapad10/WbZsAhgpyfZ1TR/zeRnDtmyNvMYVbRRZKxg7gisABuIyQLz24psL3aEWlZWFj31Z6vdSm6e4LYC02vXlTAGDKNIfDC2DZaDAiokPZVzEARixLEFiO4blY/zyzJA2sRraQzwgLYIrAAbinTJu1OFRTLzXzmYrblvEUz0AjEav273ZNb1IBksoNVjkKXXWwArbgYB8yxhwmJ/0EfNZHoa5B2/AWBFcAZBZlqexrUZtJNkiWU/1sIsIFgIAUkmKI2Yt1Co1WOYWj+T5tDIZ0yXTxnW9tes1alkBOZZ1S/Ykj5hP/n99i2obddi1gLEiuAIgkyRtXKu3uW4qxpi7XHMk3BPT1X4vtQOh1kQAMH7JOJNx4i6nCG3ZVn1i0k+BLyXjuQR+fMf0ZzMXunOuCSDPMgaI9VR17Ntskrlmhky6tXPdoIuJI1wEVwBkM+VdxHa13Vj2/e9463X9twcN8qQWQPlIBt4gJ1EkT4HnFo/s2HXLXndpYiRbRRYvEvhxl7zFsXktdVaAMAywdW9exi3XHrmsgRUJfifZzMAEEFwB4E2euvpOxLMEPbKQtP0sBdtCqYcAIB9kC8xAARY7hlaq1eMzc4sPTCLIIjUM7P+3GSRbRUhgZZinvwEYg6zZK3bcknEj2aozQnJYQqbAikXWCiaJ4AoAb/LU1TVTkWBHUqtgTDKd6qHVwTw8RQYQjkEDLM4BCbLIE+FRb1GUBYsEkmVx5F3D4DIIrABhkuyVgYLDU9X6KE5clJpU03ML93sflnCRiQ+RtYJJIrgCwEuWDI/zZ3tjP/I4S32XqEpxWwB+hhRgSZ4IyxbF5KmwXVxIhuCgT4dloSIBm4sBlWTBotVB9+2BEFgBAndhwIxiHd2XjFezi/cMOlZdDPxKTSqt9J3ushcZhzmtDJOm7QLENYF8SJ6o+Vlyr7lgLnTvLurec8nskCesrpuOiQ9N6maXFGj0rSMwwb/vOHl+zpZa9RpFf3PC83e3at/TI6919HzWzsX3l+UpYhJ4HlLg4jKW7MrB3lfi5N7S68VfUfdAR5XZSJtZo6LtWivJwjvQ/87wyZHU48xGzDPG0tHhZzt6EnwdYt05e79RR4wyJ+JeLxkfLjdOXMwSrlSi/UbrvVmDKZdaO9u9jqwVTBrBFeROhuBKrhR50ml/N/Lvmu/3Ulm1k52JbbXJFAyyynCDZtIarpDGyLItwpN6VJ7bJkNi33gfOX+2ewcLmC9jLB0dfrbjMeQAy0TIaWUU1UYesC0IQCpub61PYEXSxidaVEwWdcaoe103tc3bKqSVAvAmJ6K5I4l9j4TPPRlLZQsUgRWgWGR7n2zzc93gEFhBnhBcAXBVsm8/Q/HDpTzsx283at4BHklRlf2/rgsAqckkXzL2sgR2c2pVMpCyjKUAwhBqgIXACvKG4AqAq8qSySG1Z1xz4rJMGHRFkb0CIDMJRkhQQrbSuEvhkRpU9dpe6qsAxScBllAy72RclS3cBFaQNwRXAFyRZHB4Fxsz6nCebngug8a38PH8KI4ZBFAeEpSQrTQuwBvOViE7hsvChZM3gHIJIvPOxIfYooi8IrgC4IqyZHC0GrXcBSXsQsH/yEEd3Tfo8YIAIAFeWbDkPshi1GHJtpExnIULUF6SeeeyWPJ0IueS/J0I+iLPCK4AeF5ZitgaY+5yzVxJFgomPuS6qempKjdxAENxSZAlN4sWeUrdz1Sp3c0WIADCZbHcIQFX253keLVqeup2+buwDQh5R3AFwGVlLGK7KqdluHbuuKcdvk+ND8gxha4NAANzQZY7JKAhAemJ1GUx6rBbsGh5Sk2mCoDLkYDrl8erZLvQWLLvjDLvSzLp6rW97ZO1I+4ykGsEVwBc1pZtVe8gib0J+m+9GbMsf8co0h90TQAYGgloSEBa6gfIwiXJaDHqsP3WKBYvS5K95xYrWrJUWLAASKs/XtXukWBHsmWonw081IwWCajIOJgEfevLbySTDqHRxhjXBAAAQF7s2HXL3qhS2auV2W60tq96u/uWOOBehQRjvpQub6d2J7SKn+z14iPrT6sGWSkARknGKh1VZiNtZp89VtlV5nat1G3JH7IkS8/2++ORkTErbpg4OnH+i90TjFMoAoIrAAAAAAAAmSn1/wED0voZ5sttpwAAAABJRU5ErkJggg=="}},"time_used":161,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":139,"receive":22,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.380Z","timestamp":1785129292380,"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/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1xlFQ.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://crystal-exploits.org\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: 8000\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:16 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:16 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 15 Sep 2025 16:33:57 GMT\r\ncontent-type: font/woff2\r\nage: 403476\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":8000,"size_decoded":8812,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 8000, version 1.0","md5":"72993dddf88a63e8f226656f7de88e57","sha1":"179f97ec0275f09603a8db94d4380eb584d81cd5","sha256":"f4e80d9dfd374d02989b87a27b5ed4cb78fbb177c27f1478e9a8b0afb7513149","sha512":"7c20165f9d22a86341e841fd58526209017dcde2afe2d0d2a89fe853d95dc69f658d25cf798c71f452dab09843fc808c1ae87a60b1284134163abf5a1d93e50a","ssdeep":"192:GDonmfrEdXT8WrxzRXwyQo3zGEOM7Y2hOMgWnsfYSjv4ENFGwrlKJ:8onPxTzjgyQSzLPXOTIYHJAJ","tlshash":"08f1b0ffa92456c4df692475a5044f27623652b4dd35cb2f496f3e12d2d74224bcc4c1","first_seen":"2023-04-05T18:53:14Z","last_seen":"2026-07-27T08:07:46.651545Z","times_seen":283371,"resource_available":false,"data":"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"}},"time_used":45,"timings":{"blocked":22,"dns":0,"connect":0,"send":0,"wait":20,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32816.355d75b21ae4b534a849.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.600Z","timestamp":1785129292600,"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/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\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: f68eabc88e2307f29f3a0dc25cbdf5d2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-27T08:08:22.857776Z","times_seen":1375,"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":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:53.614Z","timestamp":1785129293614,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.youtube-nocookie.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube-nocookie.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 356266\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-07-27T08:08:30.994932Z","times_seen":947120,"resource_available":false,"data":"d09GMgABAAAAAJzAABYAAAABJMwAAJxGAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoFwG7cAHJB0P0hWQVKGBQZgP1NUQVSBTicuAINCCIF+CZ8GL34RDAqBzmCBtmkLhVgAMIHeagE2AiQDiywEIAWJAAcgDIVOW3sUcYJ2+YXsTHcCUa2eb/kBStiuDNw2mlrloLhnj0bEboekZ1x7dPT//6cllSEzKZqmA5hzU71vkJCiJNulImOrXjzgaVpjkkldY9XkEtIwK7MgGJlJEu058EgYM8XbsUKJJgnS3LaCoydljRIf3TWocIZSKIVqflw9sPdXdL57lPkx26hbdai4Rm4SDjwdLWegM6PKTLHOb5qk/JwuRbUtUd7gj8QKjJ+DgUkZ7C0v+jSd+LWPe9GCVWr6F94zg0u7qMNnDlqbodvshzAf6OYyKSUIe6KkC93/4oFnTrqajC9m6zfclde5uO5vhku9953rXlaBseshaqzz/jytrfdnZrfZApZcWGpJqTxw4VBKaIk0sJvzGCosKoxT7g7j0CbMQ8wAk1IUBCxAYmGIoDz4r3qQfMhY4ibqKONtZoB3W//MrmyZMzVNcIALEEEEQZA9ZA8RtqACrpGWZmrR0LyyfVc27LK77q553ZitG7tb66/Z8Lhp/xIIkISECCEOwYMEs7aDik5MTkTb7ovoicpuJyLbzrzXTiprKTA8btq/UJ+I/7ud78x3+2rasa8+ObN2Vt+NrsNa8GCBJCQhASKEKIRgQVRWoywdDTAUXTP7PPdkKKfZoAAtcwC7mzLiq3ce54D4xVBAyibdANmyLaI5eDfrJwmQoK1TZ81OPW3vPf8T8Z8PKNQUKSktYkE8DXiFutCuuBy01LU9QDRxc9rWj1Nz1ga4kN2Em0sRtrd7tD1IHsgSC/8anXrf8vhOVVOhvq/sWf/TNptLrpUKCNOM4flu5M7lExRGNNmFQsvlH/w9d38Ts/TfK9jMRjPJtJ+EZkKtgsMD/L37294UeTGe7gsswyj8y9aYYCyH2yZ2SXJQ7F7eZmlRWfm/NdMP0tdImmEDxrv8vN7EcQDZ7XPKrCIdm1wLgCc69nhLfQAd1WZVB3qAavATs6eYtYwkTJD47ZL49NSH+Wa/ZybrgpyJgttS4rsJriHhV21ldzPgMSUyV6QnIjZ1nNuKchFxIkb0mc+Tjdj/s35pe72zOXhO9WcUWM2W+k5NeN9Iq3NA+jipCUrcdM1TUC5DYC1HVSlHLyfJzDYi3ysfAfDP/7Rm9+duD+1Bd+CaGuFyDtbM/mzLPHKyu9BDa2UYhUSjsAjXVC/CIgwaY/DhbWq1/0tWduQcWIvKoXUIRbdYn486oKa4mff/14fRSKOxHQsMskKSvSDbyZ3s4FgBWV5nAbg9oEr2JgtERbv9MZQ1l9ee//+mpu2/gMLIEVAc56HiH8U/UtE4t7lp3KfhgBRnQFIaJgsEl9YQu6YBcNdnQO4eD6CUYhli+QByjz42WJ+kaA3XCVRcOaZOrWNuity67F10kjqnVJS1T28TNLc6WUjfLqS4IeL3R1gxREswWLt+3zSlGv2Z87pr7Q6dRIQL0LAg6FtJbqvv1vT8Np2lA2IzHfOxg7lv7dXO7dwGP+2E5n2XqBidkSc3vK5GEVx/mRSgq77ZcoBUuwVSv65RLlI2QlXaEP940w0+hoF1IJI9CMIAwyCgJOAJB0BBOY3UrPh3Ea4wxihCGMe4ShG+ijmxqimZ3Xm+7BPSxhifMcIInfCJnAmZ+UHCbCaNMeFsh3UvQwwJee8xpuapF7+xw3Rta3xqkCAqQSI44vPrMVQsR116Hm09QZS47RhTK4qxyf6MqRtUkIsgnitt/3RAcCJLf4qPqYYRMuIB8ZYIWfkSsl7IFiGkkHQhWUJym1P5CrXX/g87oBTuuFMwN7VB7kXTFkUnbrO84857C0DTgj/G2uoSUGoshQD4wyrt8p9BgHrAOTIACMj8y5c+9WBo0hcIwvEUijH5Qqks614AEVkpOXnBracypT4qaj1uT+McYItQgDjuBL59q8e1XSEPYHtjyN4GyG4zt/sATQT4X/H6OItnsS604dbrQ27rFTP0o7ICU4m2AAHlSeSY2OSmfgFQhw3DbE6LrrXmDSByk/Eue/+7oQAsMV3wISG/ivDQcQiI1Kh10CGHHXE0WtGOpGKpJwAMbagVqEkENZuQI+OoDfWAzO0bKwIys1H+s3kcWO8pab1rfSi6yifx1lp1Hy3qcvncKcmFUen0h5/d+Mz4uGre6M/lyluLsBIR/3JsoMWW1C6s6TM3WBtKk4Cq9VLaBs5TxkP6h4nnV92N8uIGrdvWX6/aadFc3ZoTG8oAvrGoCqCWVt3o/JQSd9LSi8mjT62KPGWM/80qMHs+r5+s6rEofb/9+P9JldFtSp1WCyfPYradrBLGaTi+NK3/4ku9FY97cFr2rt4WOsnh2p3CY6WT4lDLuX92oF7gZS081c/SjvXQDJ5vjJqOxG3ivZzjrMjqVdTXNfpZUYKKh3QsKy3ScU48yGNTD9n7Xmg77ueN0MRGEW7JfHc/37B5v+1crqt8b8Z3bt1j6yle1prGvagp/LfWc67WOog7ls76t1hKxeeTplT+C+9rD3W89wYRBpTakYf5MzXuBq8NAK3ZfCuPTg9KU2Wled1n/VY8A7z4vFy2mZqHer4NtzCrryhv3nUsLEvJv+S4NbfHz4oc0YunMfBfzNGl0TJ9uGyFWs8+4NAv0jvtPFExy8W3dHW0hXFcfdfqVccHQfKtedEkZVeY9M75WvuP2tu2RWzeorNzEBIyPbclDef8qAVzH/s/m4HNzbnQ0H+LnT++9QFuz9Ovdt6LToL9nSR/rjSP45Kr3adBtp7zurvl/idxXFKC/hhj9JoG4CwGMWIKY8EegzMPAnP4UONHWtM8q5ZQEbRFpqVirXriJdKX122k4SZlaibu+cbMqEkhKKhCZJ6RgLisR0yIz0Z0SMwWApKyFQksSC66RckjLE5BzCQHBmFrELG1LfUoSklD3PwRZrjSMy9COQlBl58wQkEiolGYeHTFSZqLkiyMQ2mWp1U1AOwJUGzT7tCBDQ4LJQSoQyBGCB19DNCECScwasxK9sI2W8PfyCe8IRKfkXDGQsyFWEqVnRAHIU5S4iwBFzG4SoWbeH6TmLs4PCQ0p5Hgww8moBETKgxTuOgixDRfmChxxYgmVizxUpMglkQpSxdSIKTwCKZKdV/G7H6K+fw2u7cCfyPf3VujyH1P4J6+DHmrC9LtA4aPvIyjzxeEQd9gRvkopjGT6KbMoKEgwEpuBxTMoQEsTMAMByiFC7hRAozwAC18IIwgKKcgceq8xhvCieYPVrQiwY4uMCMFjx5E9MFjABEjsBiDxRQslqBYQY81KDbQYwsjdtBiDyMO0OIIJ06w4jzZy+ESl3CNa7jFLX2AmQCwzJ9kFDATDUoCSkksXDc3wQBGFqGSxbCSPD2WxJ5LgZflCLMC/ImUYdb5rzBCGJnUGIvL9AjBwiznbWSwQqqsG5XYsIXYWz1keYjhZzUQbcTNRcp8JOAnmnmdmV608ixpF4asplXmCsqwzXYV2L/ieuYlQrs33gp4sz1JYMg3NIddT3BPFQRHOKD5FJS2MAC5LU4phGY4DJFVvAV/ZfzHdaIDAQwcjNDCY9gPny1aZEDEGFpMIGIKLWagWJzOe3lud9t3nz1zw4SQvh21+KGceaAEwkxQUZ2mXXVTulsgX2akLsidGQPqiS3Ks7bXSeHJefTS4pcWJ/lJUaUKZETHH0qRjnXYZeUdaqDLG5t/spi9aVHZHW2ve4/bHWuCZLqiZa3DEaVMEu3DgQl7gMadbId3T7YcBi5vxgmBxq5b/jYT5C/gkCBg+zifA6sphxSO7WjDGNUwDBMaNfw51kUqatJwHuUiyKJ0yIN8+8GD7ezP6+23UkAcyBYEOg4uI8ZMmDJjxZodew4cOXPlxp2H2fz4mydYqDDhIkWLFSdBkhq1u4HeW+2Bhx557Imn7d6ee+Glt955r1OXPachw776ZtSYX8ZNmERBUBANOXxXPlKNWjSi+Y7U6zK6kUY/hjGKLMYxiWksYxXr2MQxTnGOS1zjFp9wI4gw4kgjjzKqqKOLMZZYY4s9jrjo8xkrXvNdazTwI2DFeaSpE0zIqeHjN56bX7wwavzDQ3E4cmHGg4EhhvnKN4+1+hcYZyKZnAqGqXA5V8cotnHA1FY1tkEubTCBXYkg1IlyFgJAag2gisCt2SzPZnYB3fTQm3xI0ersw37J1fEdv4XjFMjBQY5wtIn8Kb2OJXzIpVwtAGdjsX8R40wkk2msEpuPAKD7BIDzx6cimq3mxBG+S+MJAKkdDZgA+MkprY2Ajzj7BvwIYD6FDDLEMF+TbykqbM+O7BxOvaFvEF2qjU4AgAMpUZEnkXxGCV/8CGC+FlJ2YeyaVtcSh8LhKJISJUqUKEVoUwI2C5tH2ZQi2DmcegNK7dGjoqKioqKioqIGdQkSN7hjPOxR0L2NN2Lq5T/KihyYo+NhxVozLillREWOQ8oa15U7rumv8ewQQQmfyVwOS80lr4AKQgpB+UQmYmB16+rEeQPihn/+0polvjykjKOckSOQrayxR47ccdgitScojBCCLuZwHlO8ub5KXwTuQwDx1tdIIQ0ccca1lVQ/KIsmoGTy0K+lTjjgaGEaxKOL3QXaKJkPKnxsVT8FtcgNBQWVUJFhCL6Ja7n0lZTls3m9DjwLC1PshgBcORQvDbj0JtHYS3shoLZBfwDR+mIj6kNSB5YzTXg1OFtZ99rnbuXnSAyykJWs1hr7zuuH6Q2e8mby74q+it9HiKO+38sPwEMe8Zgn7uvub8F3fM8P/Ogx+CcwzgSHmWaG48wy57pYz4MGTbd2hkGDVqkcRGusRptkWltJG4zearRNjIG3D95xZWf2ZG/vy+D94QN5fDA41KfW6EoqvjZTXE9cZPgEVl4Dr8b47zLHCT0fIUcnAJzcfnmOWr1waLlTDYZXqujEcXVWenUVYLFICPfoukHimGmSry4gHwAO4hBfI8/XwTcwNBUkJTrOLsY4DwwvSWEXABW5G5nQeDFGHQEglSUUjX6GBGvk0B/55KjGKJ3uQUavLsHAh1+pgYPAQGBgxs+tBSqjn7/Na000E32Uoz1HnxmyfvgMMKA7VtoyZ50gpSykny7iL0KccSh0zimYdd7DW1oHQEc+lSsk1zaXzd7t5rqngW+BXj32Gd+qqzAWPt+/Wt4AsKvt83uBkcmQ2Qokbmt1moHoivvZltt8ES+gu81v9QCK7ztDgPiuzBT3Pso/aRvhNVyiEzzwwIyiC1pADMdGwbgEc9OgZOzP7/Cna9OJ/JPirAwzGR46oVwyL9KrEjH/B0wkthY7bbLZZVdcdc11N1QE+68764zTzjnvgosuadSEfnUAh2irFI3z5RwYRIUEAAbzd18a4LQmaKQl6nRx2q7c6VIeIvJQaPKZ2B7+X2tFrYObeZEWVWJq1GlUSULF3Ph5t9zOb3GPR2azPSLU0Bia9YaKKbeuY2MUOyI79tjGRlApby64XpyIpUOcgvO/viarHY7PDnRyCCHoBu2gtvLmv7bVsmmbm7uZmqLBmn5Tr8P1bb1bL9XSuqiqKrPWV7MyVj6Uu+VQ2VOSi6aIC7MUFVFhopkM5nVupy4pCcUUYejZHiYMa3XGP2oVy7McQZuYADsEYIpjPlXiuw740SqyfX1Uoj5RnzLCXOdAVtSlEWReTGNIhzoRbtzYE5fBaE7FqTJFXYpTwcOMuJAsezDqrF7cHJbcXwp4iUNqCrtKIS0s6CklsZ376PhMxa7uGCs7NZHYpMaw4teYealR+1QkUQ+G2Yf57boZwrN0QqtgKZ5FMeoL7DzHVkwT49QQRtUwT19AheXwu0En/RjQh177J4Es78yXgGvinEYDx/s/jhZVlmbVWETyxXQWZKQ0W1ZH6RF7urFNerZnIXw7oqc9acgkZDnE9bGIubFXqhNr3mLJO6JvGDdvmEtklkFEVoewLI2QzkFmgidmqXYsqg751byBdvZuxgQZzzDse97nX6FcZ18/8Ah97iPteWD+u/WvAzA3C40Ve0yO7wgL4L2Dooo57d7EAgTSEiyCjki0IfVEZsiesJCemCUrYSk3YSW/3Xo2310iXJubWYme6+ZvLmsyBIAFF8UeAh7EN4UYirhAT+CC+rBkGrg8aaDgClNUGS5Nn/FQCWqz59MQCMZGhkkhCidtC002PbO2kOT9ZI5OegO8bV0pCKPVEfXQmSYflCitLK5MmJ3hzHaQzrZm+xp99vrGZgIGUkDW5lbl50ZUNc3V6jqWRtKGdqNxG3DBzUp4B2pj02wnvxwfB/wiBmPnntIdYoawCJthKFkHq2itd3FbasGpWbFNg7ShJd4jYiO3pk+k9fWXjSvkVFKDZWr3rl3DHAPSj++ERMpLzdkrmLGmQNzooMxeaSUNr9c1xgkQmtqrqjE9NMput5HATIXmSlUJtbkurLGh17kqatvbqqhzc0bSiZGUxmc4IBwzlZlbWaOFNfZTBw5kEukhS1WIZiuGrvXl60NzN9mP+cri5hyLTlY4U1LsU78N3WFoIxHQPTCsnRBQhb1YGjR2KRm66odU2Yg2d3ydePxgXB07Rnv8wrbxS7L27wjb8Vevxn8UjzJ941k5o1nNaPHP6FAxBpUQ2cM0i9mo9gcADAB6wuMJmSIkyw4JDokP/22Buzj76Laj+UdLjqqPtp/YcCL6hP38W+dRy9UXfr1cfZmywn9B+aL0Ouh6yY2BG4Yb8ZvVt/LvfNXmf+/pbHxP/0bxB+vvo/u0+/KHBWK8r6GN92/84PYPGx/5sq2PDhy48ePvvO9u2/RpnOZonm7Mt+Zv/2zkiyNfDny99+uv97H8m/vL4sbvH/vh0NjM3YxKqbJq2rbxkfHR8ceOnhgRzUee5L4wdWTqo2M7Z943vnt2z+wDs4/OfmZydX1r/YQi2ul2G6YpAPbHMrcDrINWjl/1rVURl+BrrJNmFmUvbKoa9IYOdphOzfQ6A7P/Jx+Q/F2nAAj2KdcAAMjJAdFssg8N0F7S7QDa8oHDv2JpARxIAkvVloE/pGXwOVPE2sK8qe4EM2DpfLCAFHolACAO6Q3pRnGoa+jUMnDmYwF78Lp2V0oKwLYbXe0pACBH1JmD1GNdKs9uGy0SyZ8HWzJiOAwWEwAACACCAFoVz3i60yq4dKeVsZadVsKi0zMaAW5goaN9R0+3U0cWhza4DdtVSN4DAIuxc5FlsZB/cX4kVD7LzAcAuF/Y0L5x5dbroY4aPRqdv5O1mfLrpN0h7DykiZzyQp6P0AjOPr+U7HbICSdd1eaRPl9R0N4JLy+VtvK6vK0Ix3EWbrAVLF1Zuqp0PU3S3JpPC2lZraL1gJ/bWt/HNKn+/0cf5AgpDtc75ZpbHvvkG1uHvSzssq4maMrry2hlhpaYqg+W6fCQDDcADgAaoD42HloW5nPT/5rzc2D2T8FsWphj9t7mn8NkMhkMyexmfuxazVjp/85n58qhBmdZcI4gieZFm+c1sNUpMVP0zUn3vDFD/+TTpOvWo9cHH2XI1OeTz/oN+CJLtnl67jlyTVGYNoMCeQE6UO0NVG605vpiQMljy1XcHPeqDryXLrum5pZuUtZt/KKUpcXxwXSVnjmrIl1KQfZvOJDmlEMKlGicxqgpKt7+XnfJd9j70RoXuHhHE47YZL2qSZo9Ktd/xjP7VTjprCu5k2neq3yUq+E/XOHgtdSAlBm94vqp5LwmakIstt0f0uXbp9wRpzz3PjK75CpS45hzrZDgKO4Bfb8uLqMjw0ODA/19vT3diXisq7MjGmkPh4IBv8/raXO3upwOu81qMZuMBr1Oq1GrlAp5i0wiFgkFfB6Xw2YxK0GS9OqYu6Ns+V7MdwfHdraLluezf3ynuktuxbDVMOoIekvsyrbU94y13rBVChBcn8ZjX5MI17u9YqkfFovpVnZ4ZasRqrVO2jsn233pij/4UlznQw4Up2H0uHR0P9nbRdF3DIL+DKnLBBjTbD6Bwf3l2iS8a27GXwoYdZ7RdGxZBt6q5EDQsRvuXrYK6pVyARRTXgxNWZUccEZS1QhkfegX3cuBGMfVdjIcjF4+LihAJkSwmLuboh051tm8preF/Ybp2nkyeZ/bbiW13ajNtxNBZ4rw3XjS5bvJRvJiGNR/NyVfCSkOd3zalOwukxuGzinQ8JTLvWKwHNzOnY/eZD2LNIqAmn5JMsIeTnbkEJS6xQXlajwQUgE9RhHqdGlq2yJOvvifIyCEfNkc8rgGCRrmvm4dM/WMntUnaAGFCYP0V3b//8c1gB//s7d1kka3K38xbXkHTebkbW9oirBoyna9BPsyUoUnl7xtugY7TzfyLYAFGF4ch7lz+CHz7TrRiGO9tqUAYpVgNXjDz8TQRFXoHUk7GYz1b9/fW4VxPWESHhj2aflyvV5j1HFqTKngVMuwK3B1BRfA4KUed0KKIgS/9ZJW6O0Tq6bbKaeo6miPGZjo+LDy8bQNTii4PFWcaiFZQe5Fgzvwozsxx58uTkcsYo8CV8L8iGuuqfVYE+4SQW/KyAx9hExqxb9HKKI7JgnotNa3yp1tqhOMuHtp/spW0htu81A6BPtJsy6amlCxFxc73LOGrUZdP+q653Oomvxc+3RwWLVn7DSrtW6O1B/M34JgAkxyGTRNnsbdRjSY55e/I61/S12FXjQy7Y0WehBX7s23yzMp2ibxSFBDVl7k3vCzfZbQDNwNgD0uuu84cvTQFXICXi6O3aJY1wGu+w6cVAy7GPG2WOp7LQlgDCn2M9HJUZHuMvNxXXz8JYYOO9uVaH6OHnPedE6pAMEXGQ0UMd7L4qLBZe+SrBWRNknlYr7CZ5aZLpAFbRalNIndkbFMz1HocjNJ11gPoQ5n1eBsdvaypMvjqmPJOtHZOCUWxPI0IB2j4N86dMm4b02mZomGUbvQ0WY261PabKTWxaiTqwbaTN3AnpLJwoDtDmH2k4MPEe9V8DJgUgBhlkVZjpznzvQ8gqlgqaUflguuO44DyHp5SgLyOnMZBQfcaqZm6w0nAkoorpoJmud7SjRqECrBweQ5XXqfd1TnjqBSFVN+b1+316apog69az+aHZRglojvrwJPaLnM8rPjLgpXXKpMc4gkQ9dc4l5HfTMBJgRjSVzbIaa60SnSqksmpK/iRCPKNxYqINpfCmtEB9bktstBmnI9kd8sZfVMCBE9lvGHiE2LG/VFoa51jAbEJY5/1YF9TEQbW540T/Y4PObyEMO7IQEcRehRTMT0wlNJ8GDLe0BIgIYv6cinBpPbrmVuFQQmNqF41ykIORhrVxeQGOvlHVUgRh4jvrskQyjY9RzXFhlxXKYlpuIleOXcdgHHFmKJmDGDP1qlsDtyhpzP9HN5UwheJOpt9sfdml74h7I8yXY6VCltHwmTTpO6ZT6CmllGBxhlrezhomeQvivASpBS1Fd6lULmGPKgVj4s4K8E6ESXvok7OxHaOa7sjBqqk0GW8Hso9PvmmZsCOBJes6AM47poWnO3a5ozJZPhREFn7M7wPWfEuCCBpOaeTWZtII0Tl1MPimSZXYsLLnCWn8l1KWROYcRx/aNxCUOjS6BmNpnxN1RehrhmxjirZYgo2HSgWddWSpVTFloM1Fy/8Qw8vgxbuJCARj0eBTBWtOuEsO9gVyTx/PeW5+OGrrzub912WmoTyw1TYVnK7b7YIjVTAhzsnU1Ei9zMOOFoH0znpMPDdIiwJO+4lS4NUF+y503awY3MMTP09B5z5C9+Qrq/XZkIJwvwFFUw+AqcSp21vff12MQbbRUxCY1r5uM/6PQRgC7Gk1cKBQ2o4Ymbbx+4GM6CmI4zK/ekIxrZW3DjgaI9THkx/Hj6gqHJuBqww0WY/O4/5lxQcN1ZkL2dijHegoN7xkPldN6YImdj5xd3E7vyDkAV/+eUKZa0sidjVIfSmIkPX3NjW/OucfWLv4fLJ0p6HCHiMgrq4bEkG5Ta3lgnV9SsoZp4z2cuqhWCle3p8BF2GuGKyhPFifmPxx8WDUIQLOrCyx5Yz21RwSu4AS+cZuyqlNWcZWe1NJYbeK1eEedymE1jsFQqp3LuQ1mWDsIvOEHZ4A6E+gRTx4I+FuSc6mJ/2x5tKP9CYJThPL+0UMzIUOVXVp/BkPK+zK0C+AvDZ71m8mWiz6fBfbmwSIJkD0Yl50ub6cn6pRxAgp9Dc2zk9vkosuUe85zew0NW13Y87XPQuQBLF/bN6jInw5Ecooo4mih7ppa1yJZNY3CdvRAHr4SHzKhQpGgEIOgk1ykVLGyrWRVIBjasUfwpsFwB3praOQTA5Qa0S2h6N0d3DT31BrRbGPrv9u0eZhy7qLhHWB39WN+eYcfxrRJ7hUOfcud7QzBMzNHHJ9V3K4hj33yElwLRNwDobguAdR6g/Rqo/hiQTjRWP56Ao0GdsMkhh2UmCWg4IO5dvMQ4nHcUpzjFKcbKsiaKwtyyLYrlsEwUS7fHsBwGD5WPpaNxGh79upAAqcYbi/N4dCYhloGiJbgBg6P/M71kURAcBkEiiihtAoBmm7xm/VsvjEfDIK8Z/7BTD0bZNBf5W6UrvqRWB4wg6Naur6x1OLxr/UTtQQQYkxv8XE1nLZb9JVD8GEEET1MrMuRc8Wul+QvyCGSRhvPsTdW9wGHG8prktC+VY0VMs1BAZd5+KUWKM8CxorfQVmTPRwndNCKGdRDYp9GlGMuOi9TOL8n1jlUX82t+EJ/4kCuLi5AMw9iqblKE/cRakR/T6vFNgQTjaLZddVTUtLdcDFOJwHiIW0Fso+nggUBGqVE/wFIhhVZ1a+iwedpOz7o9q2j1+dJMgiITFqkk2tZ5inIiFvYJxVGyITYloBvH9SSBiylWWJRIRG6KqqmNpgjDlP2AqWR7oAeNLEGHYlP6mQRMMvZyBelBd2dUiOrW9hVptCDVv9nOLCXPQqQyxDeE8ewrtWkaKdJE5pCSS0q8/iMWV8VBXv/+cfF6xAlaaNWHn9BvYcoTQtJuAQtZQvw+NGq/UfsFoIv77+kBOcj89tsadLFfelIfotrvjCXZnv+gGT2rX38Ng6Zp+MJtqXFP+i5BeSmLuRZ0p8nHCxhbgzwziRhcoVC0JpuX7CR4XG2lvpvy4DlBjwRR3dlkMTfOOtz1XJuu+fkBJaz0Hm5TvV+RVURga+HJhpA5uhBUSbjTZMsfb06HJSi63+fIcVr0uYdSbMxAZSMQjir2pL6GWfDaHo0Y/k8QIZVDTSoByMiVbKa2MEFrmmmVKL22XjXOd65Y55I1PAebMVyAmNG8lBRB2eZpcStGSwY0zp/P/AzkAInDGzx8GHHbR7ZXyk4mFKO99JY9pY+YYTOe0JO94YdUUvWbrQiP+3+V/F8jBPXDxw61KWbeELrRB+R7bKA3FWFjLXvUobyW14WG8/N2yxZA3iZH8ybGKb1bNvaqBEN6IwrVJj1Tyi5Verk8K7jl2CJYHiGGXpPw41D6gyLOwG/VS1N5xoeGukYRGsuJbFNLvUT40Wr3Jetgzq4aS6X5JMqKiDD+mbRC8sjVIM66t8sRdDEBegj/VwktttZwLaxAWmIw3VoTcnKOD4DntMPd76ShMhs1A9RwZJQmiLV0QFq0SSm9WyJZB5axjHD8QdZRgW+VqKWLce+JR6yga/s0MyemZ3B2Gudm/ekojTxuOttRZSTQXQBoBeRpA+Z3YQWbZ4JoFL0fPFbXYqbi9h5OEkcT7gGXdrwcnucyoWpzoA6vV9VpensSVmJHN67ZkO6ryo1nATUdHgdqpDCAEVyNtkMbWI1slnHDXsvVYQO7b78PUC6xd1kwavNutIA5pNl0vqybpkbpnTTNIW3otcQy8xVgNrIvFm5NI0+irp/FnI8msqTKBeYYyyTcHscyRgvbbW2m7KyZefkukIM54fK+6I4M3u8sHUOkDEslkVauL5lYeb/rRr6vLBlhY9Ag5uaWfCvKJ3N3RrNiUftH4xejkoKm6WwoskBku+i82X+iOrpXFK6XxcBYX4GLdIoeybUsjLQiMqrEQ1WTF5C47yKtMP1NJ+gSVhLHtVRaHCkqhXwco5iDaWRgpcsQw7A1YGDvddj0X8YErKcw0TtjuZwe55Olqg/pgwrwJCQZVQfjYSUzHJcZUXq8djiMpd1TrcpqkzxWmhzrI/frr69XxuoJ5J3n+n0nLJOQOkltIlGW8yqG9KAr1Eyuqq04mJmg2SKTRt5hNnaQsPNizQKeRk0Lbu3Urpa2WmCmaxpiwoESGRXO8hvra04N5SrPGDbIP6RQp1QyExpeDnSCmtXTcRAs1GbWCd50jKlnKCsLgODtPCyhFl+j21jiGSCmMTO81NY1q974jwyaTYZhTkZgrA6OQDBAURk5lTbdBZ82s4lrycFMoyBtZern3OcDmgyPJAsPS4oXEd7myAlmGwzjoEySCgWivbYti9pY24j2h7rCcFWkiQryid75C+F0+T1CnLUjrfR008/J9cyd5IRrLFnrAyKYEwpp+2GYOj8T1H/sZ2kP2gifZJWgyJytscV4dLPAaFJRbGyC3Nj0wEa5FrgX2krPExM0JmRo5AH8l9qd7U5fpQqPvcQ0OkFqblquXKdnPpm+vA/50fENhqeqhh65bcXa21RPeKpJ6SH1Ttdi+sazDEyhLwr0aJt/EFU783pJj9qnWlQn58PncC73MSu0NPsqAZiK7BEFH1DpoT0LtTApr5MdxR4Wq5hrbT8SV1/05sRnlWyR2O7kAWqJLGiJgoZpRoX5B/d+snH0MAdmFU8u9nAyDkQ7Rr3L/34y6fChQdkL3P44hkE+zG/guA/1Oob8xP16uHzr/mSFoZC9MxeQ8HFRW7MpdwInmZlS0I7FBMgZt327/F1qO6jIc4U75E7g0Y3oBXlslHLRH0EuvECkVwFHMIVMSDneSir53TanfiXblUsnCD039uPHsfdjjLYSy6l18tb8jxKSjeoimX34gwbZJMXrMWhXRa7+4XHPYwhjTGxXX0Cnm+RdlFl6CQ0ohb7LgjoYohFzwCwO9xSi/l2XoKjnhHSnHMwEOihAXr6N7RNavOp5gXk6KAwxs61mlc0n3fjyNVwC7x2/fZjGuTzrzL6t7F4rsDlw7xG4cxBPAyrO9OJwyqAwr6vNdPoO6LZTb3ghk7SijRibvc0xF6o6nWoaIX8tuCRFNjftPgNFdtWTDff92lEG/xzxlm9FaCXuztTfjOf1l11xHPjygzrhgG1tMkDS28AmyNO9CRnc24DZDa/ZjWnwZmc6gLEdNr9u+tCurnV8c17myvKezDvLaYSpL+0C63DGRAY3kjmeWVYNPVy3ry6Nad40x9ERmjDGuMhZ0g294rccj8ZbL9wwDjqONPk68M+HrtJA/mapFtbU4mlEuxhktDHB95b3VV7y6Rc7+sPL72t3y4/Dh12i53quyZE+CdmyvU6TwFFaG9bNBghkrNFhic4wJMlFmUDCHA3Dev1IUxyfFyBKkUY1NDBQJRKEoLZUygQXIzberOzYslCazZVSB0kNS9jaEWFCCqZWK2SSBLZasvl+IKw95KR8nrzKCo5VfnTwJ7qCT9CaWvAiTIUKA68xCpwFNdn4z+uPcZWRvdSd3JDm8DGJr+1gi2xcxqzzqbRnwY9Y9RRjFmcbixjpYZpaFvjdk9y7XSeskPPCfW+P7R/jij8W+6Y/aA2uduqEE+Nd5Vu/g405/n6g3ps2PGfjxwtN+zecPMWEQrue65y3fUusfTn9ZXek7fvOo+ehfibUiu5PM5vTGkQbP7nZZSalxf9cx6L9JyLqgJ4o14/RRR408CmxwWxK6/v/njJcjZiD+9KUyQ36Kh88idLcTo/rroIu5+fQaFvO9Z0TnSpfLc+o/2ROq31DSnOx/2O+YZupIZm25Ur5D19yamEtnozD4cm1iPPUivMb63KXIX+HXwVdB99AvsT//FLz3zpKTlHdLburAjrRXNXDKW1pyH/aduBUc6t8stKvEu6tur86XmjZNlvTSqUoihuodiS9texs/PQPyDm4h8JQgDF0O5ruKzmXDZ+7CvBLje+3j57MeG0zDZlMrg5/mqU0m8agnkY2vj3IkJj7uM3DytV425v3tx8av2VynYuQqwe4/ZbuxPCJgvwwesjcQyYFWC3YoL9RIYw2Uf38Vb9/5Y22kaE7Ou+VMSwq4W47Te9YqPQvTKxQXN7qAYqDPp/wnsRajScwvQ7WPvMqnxpMkOTyGJ7aodXy2sdxhmpG5k/JIm/lrT/tP1x27tmKv9wFeEMjwBsklsszEPaDn48LayaisQqx/Qg90Eu45G/FnQ8OPMeKqA4jYzb+vg325U0Slr8dJ6Ta4Qx5eRefAYlwlW1Ipt5QtwP9t4uC+YyZO4bwAuqO45EZPiuy29BYshVJV5V1cSigTorB0kAXDHFbOp9hmoEt6/gLIdskQuydl9jHkGc0zsZLodGTPH/0vCn8bOMdh/IgsSL5+9bdWlT7sguywr4FOZ6fk8wm/ykvM3b1PePg4PvGrqvDSuqeWNspvGPkfUfnpVW/hJHoZsjkMQYtIWmhRhMkhSJOokb3/9u97vQNc7z7ptl72t3ru3BDn+i+ofdduNrPIfq9ZA7H09TkF/Ca/F5i7RIvX74lyIPZi6+p2/ZXvGz/wgo7IHRaMTiyDUXXlsU5FFAXxWzB0UgeZEsLqg2vkpEXw4OHhDrPvMw2gXxO7WpcCY6fEvi7z1t9J9Hv+2nBoh/E9w+c+LvpfHbh3SMX826jS+JhNPjBhcLeLe3oktg24rF3n6U+W19y5KuSXv91592cVzDmWARj+uie5q6cdvwPaTy3+MA1IATHeHYS+XO+tNZEZyCtBgwT76xqVgCM1ZSA59lVebj3olZ/JqJh7wsO/sdi1HtjBN6NaeiG13Q3YLoLPf3/SNXWXjUeSOo8DAeSrM3vXy9CVc2gqp5hZ2kDJflNehLZV7Y3VbZu1uRfpuuHhh8zJnoe8E9Ndb5O/y9tmj4369+O1vmxd5l9qstVtyBBBuy9Gn3y39JrC71fE0rWnaUfiyiZ+fmteiDYf/Bfspb5+BMciLz41Hm3eCt4ZChsx38/w1gzGRTWNgk7rpbZqus5XhItvH0xzZLmwl6QTrjMERTJEyfFWixv6mvJWCOW70cvVcAYtcWQ2julK8u9BbnLxZjaNX1/lj5c/nz7Amqh6vypYMrBYFkcS3dxxE22BMJUBHDRDYA3vAuch8UMzdMOjXbPUa1ns+DxZc9hlq6vmdYuljRG4s2W7JSD20ddadPJ/EOGsei1x6YqSv+7r/J2/vnRj7vP971nnFsW/7Ni/wHxP8tPPzaOHn8S7/k4feraFjtv74QoaN7LsYzWXW+faYO9qN29W2yOTwu407loZMphy8PvDrh+OaLuJtwMj5xgeNgL7KmfDWcuav9bG7Wg/e+J0382iHOXAd5wHeANWnTT/HzqPBbJDkjZhUJHnv9nsPZfC5Jtx5N9/tqiphZ2Lfw2ufD7QqHgg4eqJyOWd9jHhj/XHb2oAo4Fj/GfaiMf6Xaf/DLU83pm343NQn7/bmHAPsMx7kTciod78He840mW3tlbykJCmJLDhcxU0nzO/I4gfy9JcO0dWnnDRf7YuMgbp9e/ytiz5c47S0dG3tVGXpy6oaNFOrFCfieZ0ZdduQ/RWndCZgK9/bR8DbTm24btd0LJyifGIsqr8/Mfzq+xS0arptuXX9zx4NiO28degvwhD1SuLB9PubQd96qYUTjFF3CF4rlF+Qb8gdW6V7mOWOtw5ImPrdMtSVIPnH9kHO6X4uEVeeqSoresOXRB6x/+OB68Il3zMlVn9a/ZR/cy9Jo9DMco9rUBwyD2nmtsD0NjmGbYxtD3sm/gh+eHgxMscq+URx6cEAdVhvJ9V+P4k2DkXv+uyJ0nS/MaySeD5f0dbeAfPi71tR8bD+jTDIP6pZw29qrJU1fBxrmGr5e+tkZvTtrES/tCrsKWOymHI1072Yw4r4XSvYvuLwG46IbMPHMPmBzbXEbIDKCLhfzmkUbHjjbQ88K4nTIolzOmBtwrhMDSN4mOe6FXpYye3Wyvc5hIbqUjoFxpcx9GnR8vvSRvd+NG5GrW1LD9WkPYfhO74DcseV/lNbptjD4w0z6BZTtBMMwywBuuSOwDC/aFXNLx5Vc/Ojr90R+ewtnfPOMfLX30ykch2cw+ls1++jKUzYSyez7d/uD+E72V5bncvy1rzt6v/3Su5PhyXsULWdn/3BUynt0OmdgsX063fkN/c3xb7rL4yRNe9pMb4meW8zLnljNn/mm/OJF1GyIZL8yyL+vhevhXbz5++b53Kc6Be/Lo/b3Hmul3Gro+jn38ia51D/gGOC1tHmtxfv7jecLSKO5Oecce3Aq4U7qwtAACX+lLvgI4OVeTncD6S7yxFOg6+DJUbACO/5CMacM7k6/a/4ONV9j+8RvwQfWjwO5Hr8N57wWrHm07kJxLpmXuAzbzkRTIRuTyKpyMMtjRPKarFi+Ar+IJwYBuocESvSxyLHb905Hpqsm48QXfDVqb0t8siufL6mq4KDRcpkPS5f0svhMsVLUS7Q7driaVb0mu2aNR0oZ6VZfg/qq0u/AdwC23vl/fKIXmRrH32mYOSezOg8zWYdL1TVHdpg7S9daRA0yHY17onsa+sbonV7JjkuJpI4mYjlqWGOY48aetDHZfTKLluZuobaDdBcRBqh/DMvCX1xqjS6/YwrHL8ugc/qa32ou/GZ27LI/1Xnd4ltf6l9dSyW0+MlceolIDRWOsalbhTqo/RC1ABz4AuOU1wIEz32fkJpreCEwfFpodSaZ7hHh9U4duY5R03T18gOk0HpYEZprurY7nSsC7GW1tTTxdVMDqzeb+6YKFgyl21DL5HhLDA54sEGQHr/AHJhivhKqHBO8MT53maNtPidom0a+GZJX7/empLNSoV2lsbq3nOavmLNWC6hGpPdrIt4yKUFS/qrzNeJgAenb1uUjL4hGpD0xe/z1rnzdtO6EFUaOmfhuc5E7m1i/hT5VNhV9/Z/kobl/pHimSYfLSJLPNHFUvhdlnID3G5ybwb/im54VWWZh5F/8M/t7VJH3bDgEzUZd0gl5VmOMAgMAqPdJpz5r4awBf80vhiUW+RdxbrdHXzrbdufaavM5hRDAZgUaxHTaQl2vD46/htxTPPdiuwJOxoVxb8ItW0s4E01hA3eAAZsv+mhXpLqJgUzAfD8EsUUhk50QLw7X3vf7I3cfj6zPTb7d8JbKmzrr2pxqX/nNKkutI8FvdzSoyq/UafrnwL3IM8GFf8k4c43v4vdV6LXrK8f7qPTnO7kQwpd5Gir1o4KWiOARwccc8vUe4TuUIXGeonXG8du11Lc7mqGQR9VXNbLC+JMcqk63iz5f8RU55gTYjL0K71zu7Ig2Grkj7Zmsvolhe65u9LA2FVmxQvDqRJ4FM8r1hkoAfIvG80ElJnhgKaV+o2W3OtrmOjByrG3iGfQ346/ofsltE0i3O07z95JVNwcAulOuekUPbtU037Ltkkunxkvh8ajaDFevgBh4S03v+QAvQ5kWAs7e+Ww/w1y7ZF3ITjW/4pxeEDsdBpmekWQ+M5uue4cPPsy1IfGzVYZrzekjw/JiIM8BZOjlSF/IPPm8z01cyVZBj3bNnFX9Z8Qxw1jawnWyuoLGgFg3RAj0rGerhqnJwBcg6UGUp3Y1z56iz9qBtHIyVRsYFXcqZOu3AC1pzUr8Kr2+xYTkCA6KaVVksVJhLeBlDO87KZF1KFj7ia0kijFN37PZnNddSeSJVuLyR76jAMPIg5fhJzuSddasO2DwJKK/yJvCUgrkZRQ9iqD2ebBTy3+Qm/IWCz/gpHtgV6/Cz3HbRAFxvRB3wXFt9iQM2jDBzodGdmqaDuQ9PZA3OXM9vwSe2XHbNzk7mPJvIH8LnLbySaY3F8pYzL+3s2JiDT7+fkbHSnb2EJz/pTi/rvlrZflk9PjO1rfidaBZ6Iu9ceYZG/rLz950fmXM9ZY/+Nff6i7K9rcyUu/0lf9b9N9q0yr/63lrHk7nrudtom+7Dk4HS9c1KcBM/l7ph7WHhDLv25hAt/xtRAQGZTGYna60g2K0XgmOw8MWo9MCTA0UVI0RoMFqufjn+rk189JxxMha09HrfbSVfOTi+8R9lKDQKPbiTfKX1HU5Nqw7Pi02eM4qP2t+RQic0joIc+TLgXCkBnCusFMab0OAY5OB485XWd9k1bl0jL7j7vEa8YHtXCtmlcazZL4WGhPkaB3RC+o5dPH9eszsQsPZ532ltvnJwZyEjvGE/PIAYVTiieJZyiCGgIeRoFJqFhKqbF1OEiGG5NdrAUo1x2GSzFFlXz8dUGwsPu4Bvfnl4hgDWD4O1//vaXPUtFHwNvGlJAXoU5FB31+mOpZdfauVV7SAhrg3zLM/7i/OLrDVx8wB67NHO5+srK6UZbbDc7vHwzXvLegdfMJvPtb/aQrW3wUlUN5mUKMEaDZTj4USSqVIlmbmCfNxgJB/bg8EYNOXYWcOw7snR048N8bhwx05rnwwPB8fOPDaCDf7RM6Mw/8+Fd95OH4OcbQ4xhNNGX3/LlaIokD7iNQgLeQp5m0e4+FU3rbu+rixBSzg/2faXbe8VZrfEM1Nb8rJ33I0Volscp9e9Sofzt6yqr574++rYlmurorIwmqjF15YyJfidDfZiz44z9KiBOKSX0Ud6jZfQgQOfWCOvTKwKmD2jXGvrcCPZiEcVs3jYMZSryF/8PLPDQBrW80kd7dKlmqz/dYW3odFqxy9WtqBxHO3e4Ss+y4joiIN6JX20V38R6Tet1uyzqo53XU0RETyW5mgRwTSCZRqbakvoItwoxrbDs+N5ZoexeUTPJUT9snl48Tq5FqPPfq6yY5elN32t2Dt/8fAB90Fzy/Php/2xCwX3gUuH5vdaDXIdVU2Bt/Pa+WBDI6pOL/9/37D222NnlcoeuWfr1YdHtE+OnnmkdHZGFho+4t166y7Mz8wA8zffAO/IXr95HxZ0YOHWW/+lFARBG1pqzvqqGcL6+sXNdL5rnKBX9BFZXTp83SblJ8fzuBV+wDfXJATJwDU3yDUK6P6CTP/vJJoFRu/sizm5XMc+THA74UnJ0eaj6D94iauGLPTFqY9Tet/cwy68XYEqEBbQx97fLc61TmEFAUVDndxIpGelelI3jJHF2epDgQFbA2Q9dSRj+sAa47Z6DpV+kVOrWBjUt8cnj0ympdXfYDEiYSaDEWTSIiwWrT1IRzcskvY4E8vnNDSwOVgcm5f/guHztjbLlMnZZOWhD05+UDyk3U/bn1V9qbBP4QGlv25HsW1D/o+wkMlrXGCzIsNMg6a3kebiYBBauXbp3HR2xpKjpe4/gBb/D8OFW1czT+dZ+jFi5SCKY+VgyKpYvcoPEfptvbVENZkjco5jlLwxpNwpmYeLmqhMNrGu2sLcVgdbf/n1DaMvNkE2olvwq/iTmf8Cz9NRqPIV+e5hgYEfhba0FNLKwe3Okv4mhqgAoQ41NFsLRq/NXAX460sFlGtpyiOfdAbuj44E7n+y40hm+kxHbeNPUezc5llIS2ZePmDgKWuhfF5DYAdvnRvBzX6zrCSXmRXOLP7bsuph9WNcvzm8cf1lZYlTtpDUtLoxJ11wNrp0Yb/aP6BWyaMvSIhQoxhLbBJicwVR0lRhFCJE+Yy9J380UIyyrUTqYZ6s1srgoK1WFJtgryFrmAFzXrqqbB+4ojad7tSyD/qHVlFQfrryhhfm98Ng1rDY/KbjhbX2wifY3OWOtLLF89+fN1A6k58lU46rpz5suCbKqFJfMpq8601+mqx79+2tMeSlwmh8PW17Ztvbm3vfLHn4i8cJzhTpEafz2w+qe3FeIu6JOs80fDzoP0D3ZeJU1HYG8/HLnxtcJaco/UZlHMb7mFtLa9lp+oBJ2QVj+yN5GyO/YJGNzzzIDy186PW/Eo+JnVu40Ly/2TMkbIrTmU3dQyJP/o4cukp1VeXDLTl9U1iV9xTLPNsuhrrrYGkEaCxD4RS51IygIGSZe54daOjIsYCnqw5ChjBMoam2RlTX6ID4T9SIpKlKixFXqRppdSo5HMswE9F9Bb9cKWAjHcYGBteLJsjrX8hkEiMB5eFaU3RZbjnd99fxw7ueUUYaCKp6JIyvgTEbApUGMp6VbpxabLdeofaGFkSSvRYRLhZoOQnzfbEn/qKodw/lThTWQb+dmDoptACeJaq/B3cpEC2fdIP4dd1+voHRSmC3QibEMAlkl8idICg7ptmZ5FGxCX8Agd36t5vOR05Bco+9/mePy3VLnP5m98wZkaP1HLdnmL7saKde6xw5yjIHL7tbT2jpQImfwyS3VbA5wTqBrnJQRoJGuSZPI4tib2J7IHsVtmXL+nOXv47pivK9bGu+p4B6P+Pqd1dHGpFHcLjzSEM+eI1Zs/PVR7KJ7atVEXKczvGUHkVu1ftq7OULcv4OgOuQDVeFC/pjcoRvLI1Mrq2G4bWkMLcFj1/Fb65i3BHMbaauX/DcNMsTycdwJj9qyYvyoo+bA40vF6o/j8ibFrzWzSgJEm8pZhZEHw8hh0Qf7114UyHKrfzdpoGdApkbuCzq3UN/kx8493bf1AmhBggcZ3r6MOfdsYL9pu0cTCLAVxNtBE5rxVc8vjtI4PlmSUXs7q2r89VSaF6Eci8xe0EaDF+S5ixZdR5Z8S6CdxFs01tFo2yS7fO7ArFztsxpK5vk+AK+v1nZjKWTFRsfuK7OBPiHpkR2UMPrW2Y+0tel17wDVhLTwX8HZkzsYMmp2VPJTX/NctbPkXic3oQlauNdiiqtM9VPG7YoYWQmGk2mI2rdjwczHQb5IbGR0+g1EYhoSlH9rurqqdrEMxycz0xqqiEXzX5aWd1Irqg4AWzmhRTIxqryTvTHDh76eBh4uvT/n2/PPfzBC6XrWrmBAn4dlF7NN9L3Z7z2t36XSGPfKkv+lEzTDf5ysj4gzXldTl0XsXJIEPO42HBK3bgkkZYzAnSbgjhvKxtBQa4aTCOsOClj6bUTEnfV307KKycEfX7PbWLWzijOfLV5BDePv6lSePwGo9evqJJ7fEaD15dWmr2ydvo/oCAbjI6t3bsHOrQlS5108mlPtKldjxcdL3/1/5ank3TUH2Ou3kxQ9pHurq2kjjvsqT3CD6cFewUfTU3fZnc2t2e8nb241Z+FF/ehNc7aIx6RB3lE6+xDry/L6/7LHz+IxF9SJMQn+yfGx+sndo5rCgJTuyd3BwoE+ZLZe9p7M5Jy0qWyJC2ZNtSYjBtPX1DG2DtL2QXFh97vBLM7XG7Pp/pJyuTz+FV84ax60YrFJWkUNpS5r5CVLh82ZO7PwlBUCJiaWrD2OeAdjXJHievxk9zJwjk4+722ZRL/AL+ajBuKS3DeJOjQjS4w63RBGLA/kvITS5iaKu0A4da7bn85xol+9obd7nFaublP2ndi31zvciJl171tX1TgpuqfEn7Xl69rC+7Rz7xxpueFtac84D64vxDO9I4PxjOK/5I7tK6zbP7diRB7dpCtUg+xObOhJwxhkJjfcOJ3UMs9GOweebSrJv/xbr1aLN+84Y3RxZNbwYs1A73r7F1rE2PfvIPHf8idz8371ZoAIfd8MajfdqaCm4uQdxLJYQmrOdbPtXEH62X2VNYhKq8WzyFJiCSBgIONZ5WgQdsGN1mGcdSIph0H4VEg1dUPQZUkJpdewwDPFC5U41VuIlseYGA7uAJmbICpMYzxubtMWBfuaCB4nJBdbc3V6K+d0M/c6d+80M7j24ZRLS1CCG08Ot88jJHLT3aOdQhbhvypqvrjjLLSzJ+qq34qGesnMXVxlESSQJ10Eotp9sVikLDM82LQWxwI9m9I99vq7Xdbv897ryPdFkc3tkn3YstZ9yurXwfTqyp/fzgLTimhbfhFQlDYsbSWMBUfFQqYPQN8jX6Qz5iyo1vRi22+Y7jg1uz8yJw0D1kt4SDrGsiQOVjpn6Erc5BVUi6qDk6DUMqrS7K2Uga+Orvy1Q4iZtlVDmG/WP5M/ifJbMkP8ZWve5LdybJNT8SDW7ZYb+U/w1HrAsJ+LoPp6X8YaHo4I64ZRMhuuc9tCfdqLQcZ0T8AGESjXjcxDpqr0wlWg13i2H+m68fiPbolUbc61OuyEhzWz4zXpdzrf0cdc504X1461TLIyvSFreNPV531KUudr7agfo5NqaK6fwUfeiVqVoJUTX4HvbWr9dVmNiSSRowH09j4AaIaDTB9duoXtdj52IXYxdilWGOkqR+d5n9sktoA8nvk9ZDfq/o2InwYbAdGAM3gndo4XQ/cklcG7nXn/fu1xu3yK02UUvsSEmrUOLUj90c9atrnbVJi4JaMD9yr+LiVWqOzBnqPlwdu4Thw75BvQ+srx3doKxOTtNPnpWk0O35NDTiIBulT3NGvTFGJLiypOk60vSXXAoatWF9phO6VfmccMeeHtxcAIZzZcTQxuDNe238LWr7hwZa9fcZw6GMzyOYXW4l+YEtSs/OKuGbEnphfSN7P/o4Wt2zaGnxjNKhG/GDShcnLr2Z4Vzy0cBg0nDfFoQXXtgJQzhgGtFkMFBrDq0LdhH1MqEMhEhZWnk/j4F9LFH2A+m7WiHeHW+YyP/FSGKz3tjCOrYV49ZSp7VX+BobB64A5xv6SRi66aE5xt4sYRUkC8Gu/q3FT6vdfCnrUxVFGJhJKOxJX5Q2vMyvxMUjTd/NTUi3X40Yfbr13qeFE3Lp3xs2NL5YaxO2Ae+9twsGWIPn9BJwV9FhbTZvWeIDJQnEORrOlHXfybGkLKJUlbTg+IfHFBDStfLqGHQKlQlAqS1pjwgKG6W3lfnsz92ji7mK4oCypSyINSP54pb3SuhqLgfBB2LRTAHULTzWDorKkC+MXgEJz8V+BxSDMXGK/cotBprn7FkgTPnfJ+By1eLqUuQiAv7n3e+KKGtlW+9OLAdSgnmlksKC5HrQXJC5V1hN3Zn4cSBQDkmZksJ31jn1PrHu7TxnQZHPj8Tk1aVIy33gFnQUWu67Ni4cTWnX3idQxGIkeSihLW7/YAL+Uj1n769iTIQM1m/gUFoqXZgsjDVtsObDba+5cFEF7Kb47VEYgzqo1R1zSyN0agEOnkr8z+oxCzG4zZ98MGE1DTc/0ze2Df+Ha73fWCV3ssO82nyyUpe0DdkgQqG6L/avFIXzSY0CWGBdjkG8fk5kEgIulmcAHTLfFVSzv/GH92OqZYySrG4Pp8g5F8OiXKK1L6kXLVNQddcV8QHtOPynE6Gfo+lf/j715RZ5ej3f1H6xodaV5UvFbE5fsCaB4jLSHngotu0ttv8SxlJeWOx1f9T+ikfUT/SK3Na2jwfrgWd2/TJcSffLuITdxP2PDvfNprWNuCYCOhlcN0PlGovLYU/lTkRXdwsMukgDaFrMTegyGp2n86RTZvtSTD3urfwFxwkxFXxpF59ETKjntY+cQH2V6Ik2XrpzTwq8MbWWGgW1D7myGC3qMknQKFHwBrX526jpN4wPiY7OjNdyMOjAB3tgHvTY0x0tY6vGvLQgH+rM17PMuYxmg6/v/lWJhB8ZHjO5GHd2P67cVAvzHfVA8N6M5TIB0Odnb5Mbru9ZwSImXALzM4FS9/a7cMUfJUUMY6rycemRGjHP9V/afHPkgYrPZVtHYfnOZvRknWcEE6RuIz8axr+lQ+jfNjZK21JYJgmfQvzgo6pw+QmIs/L2vElUBjItmquAhTX9MKbBtvNAlc6r48dNW3yngDuh/MGJu0b62eCrGI3XVl7dSM6Rym3IxPNO6ieMrM04/h+TH6Q83S5Yj1ukN1sQWBlqQD73m8akMrOWEs6cJ9CeHdzd4GWkPItkHXcyjf/sjrQboB1Oao8vx/WdflrWc2Cv6bbcWq09rdWuxDLcgZC7DnzKwliN+b8Bajgw3V3jNUBlYy2vzvQFCOHuuO9bkZaQ9+hv6oMTyvr11DHoytIP6z+7LKvPNElqRsulnZGqDfT159Oo4OhutC935i343R1m4/AL/eYKxwx6ac1bBUi69lN56T9Ji5XvcTFXoaZ+8hdYZNpPE6gzP/XEKhKb6XbR72nZlFiKeMJLvZweMbx1L2ud+HkPx07MX0wsIqI/x0Lv19OXkKT+bCl0s2mTD5KKnRSnb5YjKFCu2nKhOsbnYR6LV/z9b0gP4R3sPidFppSe7Jpsr93iGiHncz0hUXDvJLaIFizmXbeuZHeqJTOIDUIBR/3jY49O5FbwGTDOS7yX1CqQkTUG3FvgTU4pr6UM2xKlIIJ15VsvK7NmjjvK6WBufn8vjJCANBnYYCjXt3imjGFLE2F0JeWwJxl1PX56VvccOtniFOe0LtiSkQrbEfNsPlzqPKi4ikC2gdDaP+xBeW9/bDrsUCT4m7wL02H3GlCXAu2yJRfH6StZIhwSNUmks9Qq2JO3MpVGYhfwlau6IpYDJeBCe0OqcNc/evlVmQBhosks/kkEpBREOQs1aihgwfnbsfuZ5rj7JgwGvYWuLIcXfU+5GcVkE0D9BFOPu8WqS2BIMx0b1AZ5B2/tLLRsjRNrGwWsln0ImQAI54qq11G8HVj5o+hKZHWg26XqrVhsIYLjr4oFw4Go9ai3X9RyzoAeckv37m0PHEbdvlEJfJcwUih4qq5uBK7davcqNdPgswu6eiGwExEhHZAnwEabONUQpmXI4SJM0P3zUkQKZ0dCHSA3i0lLPCEWRb3DtA0gBepRaSvrklSr8f/BBf9dd/f5NdwzG9D864lIYuQncszLGJYmAEccUMQX9BeHC5RnbRMKu7W6LX13lVlYKcRarvW6pQByTb12qhTCMT27XTSEsgbb+nr4ZlEckxH6aZRso9KOvtBE2W++cZKmhxyAJS0VYNkGTESHnPQ9zlE/sNo/WelJZjGrCHnKbrERMJGYpKvjmxmUBxSLV84zY2EAU0exoxC5ivI4jIcXdrFMFV/bSgaUQfm1DJtU+CrEChaggaLBJjrRVN5JmE2EN/ar0CoHbrOlsGgkRVC+tI19UOVcXXn3BXQsEGJmyHeyu3VDjOPYeosAPow2gAuwg9f6+nFvJdkxO+1po1ewiex7WblaXY0HgKIIxBHsvFuLJZkNIDeQILVyQozrUTB6j605XZUHZJZcbOWrWKIfkMqMwfA1UBlkuYpsObnAqjm0SA8PwCpOSGjq1YJkM5jB1z5whD2Cc6O/TInDq/tM+MkZAIiZIMsIYnZqSADhTH//x8mHme3JpNIjb8WRSXJ0YodXWg9WZ0Tm3D14GSliw842+P/JTSnEAICx2DvxM7LcDWwlKgea7G6ikPq9Uw6/Ypos7j0SsMj0SUKoSgXa63BJ46wq+/QLcWKvLIRFcijlA4m9e9vl7Ov6+VDJPIngFkgU1XIrhOzmhQ2etTZ4lxByS5ftkcbDe9TMHkvWmPWmFIURdNMkt+SHhvCHiNy3UPOOx0ZtybGYWC0+Z8eLfTIjte4URVsXIGFIjKhdJZYSAKlDpfh9nrhFrdc1k6HHCRmpdSLcMD1nNVADIrMl3RW9QEQ80BUzbx2J3dovZe6OXmkzlFK4xGg9QqN2h0YEEGnWgQkPlnsop3KRpNhxSLePTsyhjJh2ROwiVcBBxuw1961yvhywOHooEtFnK9ukVu48bvHODAVevAYQhfJYGUWvFABryO13Jc/lrGtLQzMxsjTkqCYAxPh46iPsmXF6uCj0TjIqiWIpkpODuF/zKsO5htMZBQwpxkhBhbHkCf6aXWaAXhzGGRmtln+eyKeuOmlqqX9QOjNiiRwVPZ7l8INRqDSJlFZLjf6t7IuHqG6Ae3XUzGRfn44vH+jXINfBYC09qNqsPUlrKQ9i+UsvLj2KSjMdMqJLGZCB5IpNOmG+sbRDMojxDQsN/W8yfsxKFhSwePRHFL2dpUPIrIhFiNkyS7dtfMctOX63C2+l5obGD6JmfuCmnKnOWVfx/WyzB35N23trzzMqVaxpHp7PztEf/CZh7ixdLdC8pey0AndAcdLsNc3jW0htR3i/bXbPvfOXbHsM/wKQ12dfgGlWYL8OyQXD8t3l8xcZ0kI2iotqRVl5/p0KAwEFSamEuPBYB9y1M9Ioc0kYY2iwAy82+OTpg8JYTijfzKzQ91dQq5XUkSrhFIfY+pY6cO2czhjEc+qtzJZNu8QFhTwSsLzaE4HowQ/wuNktTbivFsEUZVOx/drPYvVDJhQhD1+PFPabLt19tJd7Tn9oy4GHzyWsPNxga4dyBA91yL6Qum+5IcVZNxx1zrsutxT7sihmK3MCfWe2KNwlb3NRxh7nbN3AOse7TNgBnBkE4NTdyc/VoOe9B55Qeg7LOR5DntjgejVqkQ/kwXG2poV4iN9CUMQwCJBVkrTs8ankyYQnAyX0VQjcvF7yfmLDPq0qM+djSrBDa4AKLhWsjaYX8TtIohggb+vqb6p2S5yb4AWkAQDzyIdc5pfqdXD5Nm9puKjg0s4smxT6DXcjEtl/WCP74HKcs0SbcToW3NDiNrDrPtdfNICOT+qiBKfAsthSJ6AazZLvpjTQDoXEOBiH8uGZ8u569Nmq3Wkp7lN5mRscu7a0ei7cKWZwxVY0HgUUK2Alowy2zMXUtabowme41A0ho0E98v93p5mtACic8RGqAi7nO2REXNq0NteWNTW8J82JIzxJNlREIS8uxmj30vCFxCWWpYR67RD2jIsB7tHtWaVJaM4/hbaAMvsFf0AbgAGdfghfWhmCbNvTS7WpDF6Adhmq+3tCG9mTyDJUuZGMQRUeON8JBd1sNrFXcLtIiZIeqFwmQy+3+VHdZcyIQK8C2dtsr1Gpng0gkxsv1kWW3pC/ixsiPxpTgOFK7P0cripwGMWRn2/Ijx/hp/JUvVKtTeYjK/S5sGsT7boPRWUnF1QI7aPRJF3H+xKe1Ehb1/JWwlTZO/rvCjgbg0l8qlLW5r5hixZe5eC0u8/2MNzIn2dfkFVGUpvoD4trsfMETBY2K7iIqA8F6XSZxxrHD/OFi9HAGuC+h6+EC4JMd3QjsFaeR3utuM70xuIbc6Ufygh/i+NJX/l34ISdOg1Ej2+PIs4TLykBw/Ai7xB32z0Ply8qX1V/074J6bL9mYjeekWD9SCanH+JMOhYUF/L1WJVIyvyt2k0K+3cxwDq/ugkL7OTyVKCzmkqHePAS8HNBqhnc+aDPOV14n4w5voshO+cVOMlwMeFF2u2u4X0jPf7qdyQHl/g6ScD/9d23rLsJd9bQD93Y4YNC+fXKffq1c3F036GwgeGks1L2jqGKFaZHCzL95T+L5Mka3U2w8/uKi+ZfpqCbLH5es6YsQu//C8TQMK8g3vA49E1WYn1JJvgwocS14bL7k29BIfbIedlrm7CEJC8w5lc05D2XpyJ1GoOG12WPhB6ocydFqyfmgkV3ahEAW3U66bMuxAOeLNLHb9utgd/hwIvbnHTuctZJiOsur8+6KteYKmubrvVLw4aeWS463FFs1cGEPbvj8gZKw84J7x70CFzxpexmtHx44b/HtkxepLR8y+JD/7De6vWEflbd3Zi7D7+wVG01wUJI2reGtyMbm2LDlDAYgbugKJkgn1wX7EnnW3mpfqx9jOW1vIpd+VRQVVlWhTgc+2OW/asZBVQDDP7CbfatM/lb2Q4CzMUalIkU+g3qCJ+B5aO3bccGrHhX0+GmK/H1+JuB44N9xJ3BH4cGaLeHvhg+jz42YhOHrIdYz2VsYbwevZ94NzbA+os/sApVprHPCaoFJwTdq1F1DD+Fs5xzbw2i3cu9KHYjzlTKEh8Tf1xnN3YjT+Ut4K3nZUoOS05L2tYv4Tfmi6krMr7aKNHXC3s3oeVFWRdl/Uqk2NzO3qAicF6a85CqJbcn90bV/7fObfO6dm4bEb/Z9uP23ry/qd3ckRV+qf59pyF2bpekNdtf3h2XO+SVhT/unt9TVtYVXSVRVqPqmTt+KTkp6d47n4zioWJVsbO4o3i0+J+gNEgKugdeB54p0ZU8LN1WOlr6pzKozFuOKteX95RfL3/KFqQcUguxQYaQ2A85A3kX8icoB/X9wUJj0GPQy9D70D9XWCuCFUsVL1T8tbJcebKqCP7PNEtVd9V77bAnZtnFV8RyscccjJ+oXZ8OenYhabMQDLnhtz5DM+LGZU1ERcc2USImtY/fwVG5+PJHjAEPMcbQYSfCGDAkEm2t1cvHo0yzfrudkJKWdcKEjJq94pb69OtNlilfiSaiomObKBGTWnd+i7v37Ew68/zr3sSo0WM3seSYyVOxJgKxuPjxR0srnYygwUqIERbJUqKhtVxuHz/VOu1wWLUWg6acMSWtZCOkmDhn7rxRxZFIBtMbU/xJZz5Y+NR6avbo2btv1XU20sH21dJgM10oUbGN8VizZs9TP5bWgGsh1QM7IAABAgBciWFKOWCk8u0EaBEpEZYCDhtACCI9XFt2FNWeJB+Co7tPNxlPHae6lT9WB0++Wq4PWwCg10u/D/n9zVp2e8rQ3HE/kJGpEtsMcJ3fiS7Hq3MDY6Mk4YebQFrSq2sZpvNpR1m3nz8Lw0BuXZRjE+8Oftp/F/7nKfFAmfpn0b9wS3zZAEwSomIh+gLC4CuYG3wIrh3qho9T0VzeHeKULu23f8ZtZzMyf/4gUu9RwpELHXLy5AkqbCzrTR+nnc4ro/ugcZH2HBmcZeSJn+HK9XivXq3ROUQ+VNmoFVbCSSiv2WIhN2r0qURRPWYH/lenJw63R46tR2JobFdsq638QrN5xlT9/VqgB6f3rsyX2LiwI9+p6+UOQ3EzCJPSzLFwOL/E7EVZUKHiAywYyBTylZyJZlqDjpyeGVKjxOzYvzHRPZ5QSFGuOcxeWWd1i8hrqktJdPL5l5j0et3K7ojB2ett8lRpc2SiumoZcNwvUtrEaB165jkwJEUTI9a4FQSxarGRKJkr1PyUSac7aVF4712xoRzZ0myebCUelHGFMBGhjYRCpcVqPSOCylFxwCXs8hxUWZpoohXQFI8WtTZF/2kaJzSbFOZluEd65j815XSVtiBesFQ9W/oqostqakAu3zIpcJAqPmAF4ZAPaJFFvB+IU36j0uLxd+v0YY5B8ntbtSVQSft1TicdqbTfsoAF0aOtIxqHiOA3uhKnqmbxg2y3o9VsJBSU540jq3MFNOj2kZ/l5dWcE+8wzO1sQoStGx/6fIk1Xu+YvPXXyCM+jH33VGZLkGcASGBUZzAg8O6iV6g4aCz4DX5XrL5qJXUNeCM1axX13erEz3fsZrDgnBXREg1rNO7tRapNZeOs2B0v9tAfplHODAE03l+vEUInlbTBR5KnXZKM91iML8PpPhZhh22MWDzOmSGExnQ8n8t3KTCkjUWnjcShowsYxpiyw5gJe0do33NYLJmxf1M56r2CoazxVPpFgVQmWklnUzlTqatxwSSXzlkP3eVpkaZ8QmZzOP7OQHolbhbQl9UPMkgyOfi2dxJWMe+FFa1d92kg6WkUJajs+LsvM+hqpawKQTAoZLKpaMJ5atTtiixrcz12FQNXCoLe/WJZD7g3GkmUTAENehHWu6HEAV0Hw+TYzePyB6dwHTf9rNcLXs6svP+MafVUehRQ8EVeOYAdXJi4bO5tb1WvOTixMKeuA9dS+q396szoWfnhomON6fQ1ZOFaCniyBDeq8RPrSk7o1gS93Ec16gLXEHK8AVybvvuGweh1niIuM5NkHYx/VYxubg5LiomdsFsa+4ueUvMmcYqUKmN+XiUWdFCn8qReS4RI8Nj/lRF7v7PAjRqZsZwzsoTrprWHiZGhQqPij0y+TqCRfB+dAFikvHR40MmxziEmijuugrHtJbfzFJUlJUAAgc1E6VTh5YOxV+DBH+Zv3NeAQR/J94PdT6L91lvVC0zm7lsHGxUotrU2epmlzYsMLD08EQM+a4zPLLt65gjByOeFUiydzBUYwz4QhAAwjhBJrb+8PwrdcyyN6KQPXtWCzHo0LV2vIoF9+4XkctaRHeV8DDBI8D+S2hSo11ewtNcuXL/WJxOn43KdjQM5SijQ/9z7vMFqdybWDpGDjeGBCYPIDdNGBL5qBnShN2yUxdjTxxUJRObpY9D3zkpZwGsvdzivn+Nd7O+/OmwBgPjIbYr3hwvFgjFfgxAKf1sdQZc3+aCeaXkMFHYV5BwjVQPXNaPn9j4+TlkU0vpMCuzGLj/9qqTyUvV5YUExH8URGnT4HP5JrQomHHWQyd6m2s7B6MmqWVqub5/loq/GZGbEmNsUoKVN47QMSbksY5Jjpm4stkBQ86YMYrbjs0a4zOWB0fe8rI1RkSW4KxYJydJYIZBp7zqLlckS3Yqxyht7qEJmTiU7DS94wZAkhF9bspURNJkG3Mb5SsAqJ6suODCE3mnpCdtUa+yAOd1n9LhMhZqnGzxcaram5FfuFPUq6AEKtVUhSzTX3D9i1ar7qU52MxiSMI5k9fIuNTOiF4OB90F0f0n5cj2yWtM8NqvRSNW4Jp30eSg7AjTdvE2ylvmnW8PSWmd2tcU4PChN2wkjmHJh+T2h+LSyRtfzGYMuuezIkldsyR0dHZ/nTBWbKnZQU4rgg+PQrEUgV7MqCsk1ZCx2WStvz2JY0YRHLPQFJLw8Y/y/0OBSdlkYdGgiW1b5lekQtq5Dr6/U0kQb9CQMOk1qu4yJZDhnyhOEl1S30yZ9rjF4b0NuZxeCqgwBX8h/VOYHabH2rSWgVl9XWdHMIN1oAEJtzyNyRFk6lahg+Yqu6HROOo1IYqfk0WAyOepOnzG/50S2XreKO9rbPyFqimWsU4FBQ6Z71hnHyQId6+S8ehciJ2wi8bWVGjQ1m3YhEGMhYEga23Ju8GPpeS0fvjJsqZCQ53l3vVCua6+P5ofCqiIiWP6URZ3OzHqPRROOzJnSwSFIUD5GxKg5pg48WXXV5PKbfYAe2KuH28bGkZhXvxeLXZLl6fse2noRXomCIYkH9xbfQJJ4CH5mJFZivSx2Ul15XH1FrxnLxCKxZFGglB61mXVJue5I7NKQ2r5Ejgq3wQV35qAH4uAZZm3dei1L0oDVOl8A6qSje17BhDOXgNCik6+8edRc7apTpeJA0sMTVdmtoiCSub4amfPFfnvF4HbOMdCIisY/jytNECDRc2VcfMyRzxCQK7pKSzTKijkNr8fTvsWDxaHAuh09xNspArgc585kGWvFgfjNRL2OOFrIpk9DbHahOhR5SEsndqZWp/V0HjlucY+no+EEhiVDKBDD2dKRXZYTarDPXCRJBtLH64qe7Ehccw8iMDt9cqZPaxdkCM51rKDZ5HqNQdAs0RdyJw7tCNCzRt/US6XCiWOZZzsdCmIkgw1ii2EFdpJpi9mN5pCFhauu4NBZfCyEkJN1mVZixJqBeYAhaaLM3oS4avMJE6uK69sEAwtCWdcCM8Ik11/WbQzLG/X6eCueJYaLjZHqNh2WpR9slm3Y5jvBF94Jfvo0LIe5RBYtWlttou+8+cerPDCcY+eGijVqEn/EL8v8qOm5N3auO0xivz/wH9ouzplCT9cJYLPuv9pNa0nnr4qkGlGWOnPobIrKd9ZzM46mztaxWTVRuWFYCwNAD/R7NWYHJ6qDfldg5UR9DUgsOBV8Xrto5PzLYzajSpOSLBNWQMhWZIkFTlRDz2bD9bKt9jceCwo+Fum/LVO7OuvJLrjh2LhRKezqlnA0sIedjrrZGFjg9wpK1EHGW+w645ltlhObY6jqEexs0HYrGJIYAxYnP5+BrGaNpeCcjBudX+HoMXdpg4fT4KZVRd+5q9ZzaORC8qKW86wIvcnMkNZkLC7AZZWVqVFkemGbgpm9bQKb1ihVNOEtcedis8UADXl5u1hxERiLQBOJQGmRSi7GdkdnwReOZiN2OC/vnd66YJ1V4IBnBGRG3xrxbFR6lQW88FlSBFaoHEkmlBTS1N372hzLaljseTP9p89Zog0W5A1aaVuMCuSg0uJPNx8bbiAL4VQqGxdaCApkLZ2y3+9o5JZRJd+4E0NNECCdkxDrpiOJ/fDr53XCoH+Rr1qpbhHNfR/9jTqeKwtkMqu7cQ6JekiaCz7T5VhS6WQA7MCaw18NULME5RAcYlwVXND1Hk8DFLjcxF0DzYRgh6oToIYa7rdwkCBV4aeqJZgydmebLeCSfM5/6+a/vqlrfFm0C3eaRr7hb7qQjQCC5LcfvPdgfnnPq2X0PiRY24w2ksYQtrOibP5bdZPRHGCAyPGfz7fwDuIoXnCPZEKt/P2LhOPSG5oPhp2l6MRv2Nuf2jj/Bu9BLnm9ZIPXjlO9/mcfGPw8/D8w1RsM3qz9X0iuYiu2EIkjMplf5kOpRMo8zeKSoae7UIR6ReSqhzqTSHDBWipuMu47tXGmVwfnWTxWX8ikAgjXq0VXeFXi5EIQI1asgMiSFvMr8DvXLegjm6Vhcs3+dvRfqhtkMhW6jmy9WYmu9vsepAUbG+pVQhltZoPmg6RN6ziNuRA1+C0wj8V22VixI+rjQd96R0LJGc16+P4IhWW6p/m93lJN2+NqWnLZCBhQgnfw7lJWdTVvuNQn1hq0KsW/O6nmz+U6pUan0+U0COs1CV4OzjNMcpaydF/IqaTHNyyXommxTCIa8tx3OpJczCrrE4MKdDodkzGzISlERBcnaQyU/JE5CbQSvgKzSUsVCiVQKqssEu3k46jHOY4YZvpOQYukC0Q+6acANkIHHVDpNGDZ7zFE7smIegCJsvnT67ToZHZtAoNiKGLJKJMi4sXzkuTQgZYxmoKjs5VZAhy91pRiOpHYr3llygwmduKRUDCSzOkpQIW8hCC6SFp0c84XPW+ZQOKfKqksZ6RcUHehGCMZ93N2MLaXjEtSNfQ7MocnkmmM4hvEMeyxCKKItLE4mIJZeUnCDk5VFolO9nF7MltCzBrhILGB+D2E1wfTclVw5zqZjpjba/pLZllZljxRqwtuRvAbGTHEmeH7+UpOsnSnCAlDxld0nnZ7HArnNDZ44X8cwY0XYjkiuVz4if53c2/vzTLYSwh3EH7EHt5XeN0OKnKgKNcZfvhGo8lvxl4IP49AGykncs1eohPfUXMyOWIXdkUy05OeFeA0L8nqMfd/NDLd/c7RMQ8E0dPnaz98PbLQCcEvahwJIAsphELMa6CdSBbaz0V1K7rcRQ/hiMimWWK4YeUKAu+aoi9wUMqzXEmpZbPvC3G1IyWuBjlbqF2XfNdXU5ODSginGm5HuhbB0xDTVavRXVlfWi5E5CKAJcm94VnLJbhvztBNq3BFw3HctaI6XrSBSYZ6ZjbtgTXXmxyqhEsXrMLqepHod2B/UmsItBAh2tTNhX2D6o9EIWdyaYe5yxY4pnnN2nM9MAn7qpHCSVxhrpKvk+2ElYj9PF/c4EI0CjDBQ95XDFQT64z9aJGNi9/Mu3gcpjlC8qItkM/+7XBiSxxr3xoihpmW30KmLMAhMR03BbM9mFz3flpucgjvF0ky8GKH6Jym6YNCak10UIviLjrQXaWZTJk7RZZFDUxkkOuuVLeFmmJea1n7JgQUFKIKBd9M6o50t8p1/wZwXBtPvFM08y9yVWFU+/h0vU6sW//Nf+d6CC4GyKbHvEA7GB8CQxSiDQpCMOHSi6buJ9qAT1b7rk6Twhd1iHeiTIigKEWnNbLmonuVVKggavPyV0hCmbyubSs5SdpzbMOK28f+QGYGychnW+musLGo/Q/dMpOD5tfr8vZHfiBK7jI5jl6/8wc2sU11gTGkVNbKfdtQKJHNUzHRnNb6mz/arIeZE/w1K40C06We0bu5o2MTh8VzvHq6WGM4FeYjb7VmzKycVtW01Aq+mWUczlvBq/Qs6FT2SGBf+lsu5aTdbXWZLBbNhSac31duL918fFwcTWwMx5HbqcX0FzOmgYFnIYBIzGFyNdHej0lmr14ASN5nYrHA+V7RkS1o67UuU/AWzQL6l8y9yvEUdrr9C8sm4uFH+qH0y6d4H9a6xtFfD0D73hVToEClyKnAZy6gXzN39ep3Y8DjT8fHiCMdcAtMjzI+pXaxKxj8d6VrvVvrMgFTQEhiQjtu86mit7RAwQ/fsAvrnN8SGK9Epnr/aNhbo4k1TlIz8DKormfSRlI3yQT0ejBY3PDte4iiBxWhrKOCzX3f/rES+9ElH/xmCvBJFaZ+yhOnAgnoPsWpOrP7mCeQjkJvjXy6TgTqcMGzBBqr9JtL70Vd/G571lbQdSiOvHZaK3v6G6iwqEpc1zbS9W4ABBHeZHB0RLUXx7/+5dp+3btLtDKbpz3vmAd0UZCoT2TZN4sIwckLqARG3Zp/cPuHvrcusd+9Rq6LZmAs0zrVrwg6OQGe8ZsE8A7sCyVame7fFj6BEQ1k3yMpdy9HFvr17pS+kN0M/fOaikvrbSKK7s20hNIFUWlRUhQSRSykwyvvslAq4HX41Z4meS+9LEKhmhB4hjN7P6pnZ16hv+9+PEoHZYQV7YKOIYMvRAOXWN3vXbCpOVt0wv6WgyUqoShgMzERZesIHYnm/2gxj1y3uarbIrFNJBe8umTqARrJ+bqBkDDDcUkvTVTjnJVNtxwDfMHYq2iM7mob9EVW/6iVX8kAZJGNiA9O65e03Unz8kSUv8Fr3im7YngS3CCyiD9XztnY5Ko2XMpllllPND6q8WMt4YTPNZo3LFTLKahmtbAiNw+iJPcsc7DsWIOdFol8y9wfJBx1z6oTnBxKDzz3+vDXw5LKSdUAkQ3RgYPqJoXAH7ZwkZiTmaK6v2kNhLarSnJQCTxDlA/cUxkY2s/Y9Z2pWi0NQScBe/msWNAgohosdB6awTtX1bXBNhqQit98U6v8wIQTmDQAjST8LMbWshML0BHyaNp6bCkIKsta31F/4GsL4fJHqt/ortjBv8myIIgNRbhq4VRper2PWt610anVUppChzXbXlnbwWBlSEKgdlQR+sj08nnURx9N7bLd/Ufod/sK8KeykOqyeYGZGz5EmdigAi/K5xXotwpuWriQjdQDbX/2+iRwgaOpkLIsQexiqfS9jfwC8/ZXGxGadeMijvG1aE8xEWaWHOZsCxxrLaSu7QWmiIf6SqZGp+LiQT0k4axMKGLKlqUu40jRumKy8TgqVL2uYiRMNCKUTP/tC0MUknDOXnHiRGxZpzSRK8zDMoOJaGWxYDk0151Z2EED8jCaU9qpI+PKnRwPyyBmYhoWa1pr1Irktgh0DH39AnhRrAxvZBMwHEd5I8MmVsbTvNqHl7TG8a6rluVP5jJGUGIxxJkdSeOZTMcycxvXqUGPgox57498+xuCW7CcnDX33/3zTSQoFqSQyvEpfw4OMTQfNNj18qmGFd2USABGJInO9DmDW7gYJ2bYeUqevdxrS6tcuQVJR8Tm2K+rjTCHs2QwgN76lL6CpzijvkC/sjnoxfV4n9yBqGTGjrj5L66cCgQNHhEd3EU47a6qEar2r9AJkFCHkkBLvKMT2JKw09ETXaCAjiVE8EO+kxYkcirht2aPguALoDKtMvbQe5ssV+gFgIyEAySrOJJ62mC3ex51vDJ94t9bw3m9PEORk7tPUGSTBoPbnzuY/gOU1ngeBb6H/EfCtGiOyP+XtDmVt/zYoy1a8EOlauaMd364qSv7uc6/tRpfccwMniEv0xKTJMv4aZoh3smu/NGHkxSk3P3vPFB/yfzHqHFw7rtTjkLsFnOr252a+tXHhWjtyAITK1kmYzVlZZDlpyR3Bb0Db0UU4PyELfa+/Dv1RAfxoB5W3o/p/8Q9TXyN33Ar/lk1VhB1OvaeTb8gdx7YPvfuDR3AFADYyezi8d317DNTh/6JFtU2cMzOqf7osPmVBw7eDNSwSUD9uxIu7+u65/ubAL1TwXOS2X+/u+mfJFr71wjiXKKlrtjl4AOvAlxwzgL/NVmpdfDxY+vfiIMJZP+5tqBIqF34ij1GzLBbjIA7Ce0JtPMd1oOstu61/uPVX2ER0WGrC2poAcGoWQPkSqI6HjhEOaKt7PUsDTkxcRNUH0cG5VOAvbjCt/pmBAFt9/2rVqjWqU+Znl1Ak6EV1+leTH3txSaTv/I/Va/b2qB5Y+8xZrW360AmEkkEjPKapB5k4FNikTOx1EiBC4aJkUbCI/TqeFlttUoY6ivb5a09JOCwqpV00Ytj9VrE8FGRy4RCkYj9eBZNTUviWPtG7S1vKMPrqaXRKKjr/yhs6u5mtzaYQdVYRTPZV1SKOgnzWyxXGstGQm4bOaLZNOgjjvqcOapWHMvStM4R403qa6870oPDJaIS8rZ8Ei13y8UlD6DOOnB5MupJXNEjEDDRaNt2n9gZ0vl3paemTSV/OJ7OS1JJEBRjsJiOBf2+tyAQQiRZcs+GW8rMqYNMtGMA6KXiYCizcoYMeU5QXUbFQW+TEz2ihgsCQmPdWgeCjGBkbqrup3LO0WuGXn5zjebRzVancplYqrpQzJsmN6dimWwqqrQ2x7g0xGWXtXV02Ek80g+8ogacVIAzSeC46BYM503o/s/wQpVJp60Cm7q+CX1MtkfikZ8fpD/tIIyFD6uwfj2Rd/pQqbzv6jRCqT3iFwuZWHEMqj9z4X8gopf6FLZAHVwBnfBao2O26iwpJ9EJI2ihbF1kQpHsMA/aaGFRGkbxMN696DQqsQF0spHUW7GXKchRWBKjimRlPZIZ+7i6kOlcL421bwkY30jCwSze6tVqQjzOjDKmOxANesTEClA/k1l+WcM9uefKddmZX+PhR2Kb7889+A/JocQRkpjIJbXmOX0nEy1aTf4X87IxC5i6PWkYibhyHAvP2Sh471cJAmaosHhO2OeydckNpbTcrAyvOp3bKg0W+v1ZbSsjp6XtiFBp6TtWt7xMpVggGFtZ8PvDYZ8/OhXz+2OZb6KkIzIzpMOgUvW5x/ONas3gBaZPgiydoHjR49SPPILu8rvJ2RJKvVJe4xSUHN7p4YhDv8w7p1CE7dhYofRWsjxRcDdYIerITG3gcvCHR37FlBB5obFeFFuVzfcs4ojS/XsksQLuUuCYoJqWObFYtdJ0uUel+kcjGBmyKPIQTtoRwpeNdTvMZ5nK7FsSbMAxCEi8vJFSU9W6x4w/B4fH2HWu8pZO5D5NU8SuiHtlghLQIUmcfqeCikrXZNV0VQIvLw1byqB1pkgFdnqILa33rpJwfzVSeYskSwaALxIbH1mCozAcD0aWwia1eiE8hIAnqEBNZJSJEL/mzgWhIugg6npIGneDWSXlruxSwtFysVOq1bJY78WB7vJUn9bOK6wfwxq+JR4c/SCFX+DKXNXhWSUZ1dxWHQ58z/KQp6MPlq/kJCUairxcdfq2nlCLVhX+jmCOzKPK5qiuEBZm0NCMWQfwNUXpeDcL4RA8eMWjuTGHr0JAUHKzL/soqUM3szhf3lYvKDn3JVhOCaeKgr6SXAmFlgPpglAgcfTbxLKLa6gG7ZpwR5c4IJi1wukHQCXJUmU7hXA4Eh7fabnxWhrc44KEUqIkq66W6e772syCVYqmyazsU/EYJfTh+LIHTFBy7E/mlaAMm7GisEWM3rzBiRKzXB7VXmx9M/zlJTadmIIrdXSzYeer0ztKY3zACWhvMxSNJOf6tLlCBG8Ck3pHPXOyRRUKCzjK1sW2X+2I9aPq8UVb6rl5v5Ljk2xjAUCv8T5Mx2JA4nZykgQVPAqeVArHN6fR2ePEtZ5TlKCMWs5jcr1KpiGrdZhhI+zo+fW6HgjY7dhr0CvqmgB4pkWA/9pMQcWuATvJCF2S7bdhsAZlfb9SUhfNlQrRSCqGkgWeZ5gNiYVx1s9DUJ8BORVo4mzXiOo0ONk7D4ehEPAj8qukucog031SLp56i1752Xpd7oNmqoAuh1z58pQCie8+ha1e/TB9AvJRiIO+Vuyj8K014Gb6HAgjIJKLwNsPfX0Y9Zs9d1MFVS0B55ySeTvwBJyGU+V6UVGp+H9nbtV4IaFUDkeSfViBDnXBC7757dsKXbSGsE8ReEa6gSpce05iRSzWtpEFJiR85fQMbRRx3iKY+28OWxY4RYlkRnDEU7NF/Dy02uV08GDyqMla32P086vaw0GvzaAW0JoKu15h5PZoYo2zLb+QT0b8Pg4TZfLHUMFg7cn8eI7t6ALoAj+EY4Y2jABEijtjl8Om/0tuaF2GYdwpjBNdgVeHFxsYHOAyyllVXE/XjfhGjVFtUJJseyvy0eUOu1krE3FZLJyc2VX7+hKXWaHdFMEEnUo1dsfe2MWu3ia2+dxM7pVntQ5LYA3IolzLeHGCimN16fcnt+SB2EKdSrwauJO+2EmKK7Tj/Fpll0kRCFlTQjPMXMWPfRwQ/ENT/ozwPBBLKyxpkuLEUd1Xe6HEBqWdRdoclslBRvcvkyEz19eVymxUUgfY8w2jsjkIfIUhDuEsb+I5BK0+E8pgQLXKeO0UNZ6D+MYh8tKck2V7bDhdWVmjc+vtlAcjiUxBrfR7mhl7y2giPOe+XYGKkkk7tJi4x9hK01AyXTxt5Y5Bv4X+WEsZBo+eshnDd4/pHtwFjzJfsogmiWQinulp0SoUWhkd/ZAz4n+TckwZJW3Bxg4KkF6bpNb4lFFTgVe0gJMqjnPDkOEivZA+hLMGkyKECXEi3JlMs4nAn+7mQbUhokAVdif2hAJ4hBf8u0tEoDESlljRGkVSWsRW4lW+3BqeTUsbQoFAMOCaTAdmrLwqL4ZdE8Zot9+sMG7oq6iaDMvKou9aN0tGQmHfAm2laYuTnQ7/Jx0gtATSZa721ordNjmdZcsWjVLHZi/wkxyGJhiGIGzjP4todm9Ic+xYe+r19g2eyTq+8LkYY9NoBud18UcapYQQ85pfTsyFzeWLtD+TmcH0HE2CGTAcxfhnUrqjsbbk4MJa3swZ4Oll0qL2E3EKNamTKTP9fxYqAZ9ZLJcCYYTaEDBvKmKh5qxqE2laV+AxF0i2DFGciTOJoje9jnSrCcZTiqMyS8TD4XcGYixLy+ea4duoxHYy4H7Q/ClaMAihf6nDvS4Mp3qA10QDRiVTaSum4rEAZ2NS3qiqZiu6sgitK2Y7m0IyOFGsJEzwJb6yMmc3SifP2T8pKuo1xyeCPjcRb5RWe8Ox2FyFf1vZ3tEn1+SGNzoTIQEPSmTkvRa88Xfw8crbE2qYIBIi66k4nMQKvFRLmRTPq46dcqi8IlYTgZL9RjFCaDJmAlaJ0HessXhXozYKLEY6zN8J7lU9/1PRlZlLwBTH8QOw5fGAAXJJVBTwKpiJvdyvXK15HjF0qh60pT6stcTzn6aphK/QiWRSYshfR/x+oP9G9Kgd6PTzF7pbDazWDZijvKkoOZRRodVEwyfEB70hQU1RtICH/Tema4yH1LYeYJyKcyeYLjcYRkFBbRGcgW+CQikwba8+d+6n5xvT6TQ7PIFmkGQc9hUFNRURaYWnQYsEpXSMRgn6HqCAwSF/eIlldKUHxF04IT60OOfuYXj7z3tzN2DgKKhwUBOh/Ef+OoFMWEFOYMo81gO8CHIHc6KMMJD79OQj6r6dnVl9x9Dpo/omxWfkje/MvzhsFQRwSNhBOHokSz9CioOVhCNOyPp/cfd95vsJ9Ndb10jKdM++1za+Ev7fs+fBfWRpJNWPyDvQxqocbLnvQfYzoSW0pc98eGnbhZXPDR2nunylvV3gNTnUExgkLCUwMrBNOq+8Rw6UJiPu7Dr16+euAePXyQWJ+g6mo4J2RdB5AeSp9EmKVkw/VQm96g3okVvVz+mfnlAFLPKTQn+2irZg0vqhVp2b1Z2Jg9yEeDPlDOO/TOkmA6m5lJUq4qr6fCWaDDl88ThkBHKHDzkQT+CTGJ1iyMTTg1sXWLkjVRgKhP89sTaIPV/i8nczWO0AV/uzjmKRKDv24Laf/Humb9zH6gfAHkqwii2rAGG2kz6vafT6GDqWnKILM6sE/YnLz/WvOd+NNc6CTnLeHDcJdJyaLex0eAazkwKJ8yzTF3fYeguPUGoJmzY1Hys7w8NNz7pTuSduXhThheWJDUfikT+Olv5O7d250hPgIznvRkACBA5bmEWcN7eLvEcqv2oiCblsdsQqUCLWjNqgDmOqc3Jp4Np96XoaXSBgdWJ56TsWcjBpTi3ieGtLcUrA/IHc9z5xZ0fZlXdbmJwHnWCOk3REFsPhZ+FgEQMii+oDngLWmcg2hXeirsWUgjuA1WqGVfJVE8l0Js1hZlg4mPJPQlt7cHPYk3JKHic0g1alk+AjuJHsIUr+ePx4M8dmcHTbP9wjh3NWQtUSdSCrE2v0CjShD4ta4w3+Xeta/pA/EnJkPOpkmGoJGZd4sVDq1kOlQRGgTOreB3XTo4eezA2IBRZCkPBALOoUtryYneTIEju6+65mUrHhzGwip1maFokcJEi6wGWRsMNr7KgVNodCLWVqXIMj1REk4hK8cZrr1j1ePRYrVIeKQR0bwVNLznxvnVK3/aC1P3Br4MdLVgGmaejkpQ4QjACAe8GqKyAH+chPxrp7DofCRMcGMpCvsJl5o16v+eRLDeiOcQo6lzm7/b1w5UrtuJn+b6PpZZLHKC2bAq/6RZfZpZKD6veG1sIu55uk/GbhnRHAKDlmooMORIedoHzENCLLN03wKPyy+S27jI8lhaIdCykoYYnRrHF13YwhRzf30oH9+E0hNZZkAWIoxxQdYCZxwnDQDYherHswA5cJ4pEzg+a5SbeXHXnHOpvP5nLyNE+GnKM/OmGoaeyKB9op8iqo0Q05uPIZjVIGS3C0mcDQluXObL24dBS3xtU9a0CVcLXjoAp1qMe/IKvuIS+NUFmmUiXaKxa/5ue2xBdRAGPUKRiTZN6GDTc9N0eBlckgLRjggsURJUo+4HDc/UzXuXjP2jga24o19KyheBd6qEBqTOxW80owN/CKhh9QknLX48J1yecCd05s76NgSqYWfrpmaE3BkL4G1L1tHTIbPf8vaOHCQeSgWYEdMkkOfzZQFliGyqYTccVEOksxrFAmQSXJrjhIJXn+uz+Ziu19FFwnL8TkEpcChSLQ+Ox3aD3Mv4OMN9sIU2phzY7uz1GEPPJZ+9QFJ1iS18fdPv/4KKojtefCUeaWfz+wA68R/4+hTzs5xOM//OIaIgjG/5e7SaHIPPZWAlSgvx8OyawB2Skp85Z11YKbHiB9S6Q9szxkeXZluDp2zQXc9QeU42HjlzX/VlJ2JBU6JpzedwU9OdgN4mmA5/GJW931W221OYwi3Y7CCill0MxYQ2H4vaFNzLHUq1oEysZOLvvD0cokWTbctyZGtJHJGRtkCoYPv56iajEWGUGoZWe2aJS3ZxbzCLFYSJ0ni6bgU9/YfFFQLOAwLvfxmKS0ZxJKR5Ia7jO3UlDF2tx8KhrPCg3g0I+n37017sHAkb3IEpvIwrRsO9IqvlDas+Q0ohzelOuaGtYDKmcDM5cEYn+/i4lMmRHcoxfbQZfPR4QaIYbihcLqUPL22vT2mEJQj/cG4+nsdGH62PvCnHQgEyUYLShtlTS09wlE1uUQjYBCoYQcA9VGMusLsAHzW1cUxtINE6c8j6N4a4AlOdt8IY8M9zENhcEJuihIephzeIgpXZ1RL41vU+o1ouVOGpVMYeCTsZh5idUGHOO5XolC0SJi0zfL3SpMW0jq4WBPhA6U4m9YQF4hYQ5KtIaapve7Yo0TIgkRY7U2JS5CuNPiENH2nqRqew+SrzEGalF1ds5PuLEyU9BJS+xsAByT7dFAfHHWwALK3PvCIgmau4/FksxYyhYpIEc1pZNDztCRRKF0pSO6dGum0b0aWVzGtubNzSD0MYqXge0PHn7BUObpMCF4UbNdzLV0jVzHma/xhDpnhJxXoxrqtHyj9qM1nY5c3VLZ/ZonGi57GTGurSvzPjDchuaDC9G9ubArXNPyNYzf/kWZDoSw9M8QnIQgFSB84YlthOBxc5ZymOVukiEYZQ039Tw/SAA02U4T+5rNzHx3MrUgXAwhUATN/xcr86KNIDpxCluUg6xHqTBwN3x2YFUpNtbwpEQq+eiCcBhad79KMK31hb4ybng5zslJERCMe4/qD9UUvC7azlOZdtTwY3bqYnmcko66P24YqoqiafYyNYAIlg2KiIHtTYcIkyiy1XqrcKSe/PZVwvV+pZ/Mtfp+o9WP2gVnqVhAC4FZh8NTgsa/IADiJNyGdNJ27M3tIIEIjuUD7C9lV3vXevcjnYMdb24ZAwTOsdcg9cEmHQzBDbgiUjVH6K5tK02FUpJr6tbZoTW6iLOD5YmlffY0m73niaXIn5JCQxP85YVy1sJr9AuiPRTIHV5C7HwqA3J+o8a/EYPJpi6lq6ZQOTxgzAVBUlSlsfsPZbkhF8I1PBAM1zUVqRqwGxz7yalnwQ+OmYK9UzHaJwdcZKZCZirmKUVRUUA7z3Y/FTQj4H4rTvM8jZNPMs6Lvu9m00QQphDenULKp5s99/7CYnE+b0bGyUKDh3hyNAE6FBC5/GIr24a+9uSzaMgvALuHrlgzvBasUGE5TSR0GlNH0+nYPGiWyGLQbQpY5V1tb7GoTiCbaJJybkyFw946TVu7DrBrgID/lQFMxCUT/vjMFJJDBgGHeJo0qryYdvTbPGEzRFnTJJHnxWUfCfH5AMbRRlaFy3t+VG3o9WPDWM1377TnhgTXmLmZ9W7U8iB4tcEGoUGN1Qjg7mK286I/U5EWjqYu+IpVCDB9iSZQiSRy/4J+Vaem80e38qbIJBfhwV/7OFeB2C2OJqt3ptfwjEHFLmZxaB2oDvmjVT+OKCuhImLe+0FIghWpYcyhMDNWEnA5TTMyeAQw+7whCPk7RBins1PDIE+E6zM90mUt+nJQqsagKC5R6DmGHdSXcrmCIXcFu8XdWn8O8g0JaCIE3xO8NaQBcsdFbWXDspkul3FMKdbGZ8qe44Xpq27S++9eDHpB6lbc7lEHTtlkF6HbkjubPayn1KSPhdB5Ssb1EbQcphU7IrEkHUspJPgKQScMEJJiviGmtfkEJ1opRqAIWj0jYMRInzbKMIRMTAllxp/iFgOMLal5s9JBNoPw4jhllnqQWzdB+1ovndZZ/EoCYEvCIB06FNrRFU8LejP8+BKk2y3avQI+a/Ds/qVjKLaZ74zEUtTfyfnQoZmHEnLyfDJwpzwmZ697TERDS9rvYWIMB+r6clOt/DhvUiGdLbeXK0MGrWmS25ZIuHASNG6eK8gAkKOCHWLOhAGjmRWtgbLCRC34hbCBYqxGp0WQCDF98o26Tvfib4HngCmGYRo3N9sfUON/FM5TBBYlkRPI0xMTQ/uH35oOw8ZGAMxj9S3VDVQga0MGsbMD0+ASCp8ra1PvIg59b5JlMJCo4LC/MekF+QhCUdxIIL5MSmCcgtcvV7qVKG8Rbb5YQU8Fu9EueffRWJUSQdjkpah53PvjCKUp4EEqsxWEIIolhiBujoYUJ0FAy+oA5yNlu+E5qtukl0E/HpV3H0jMatlt1qkxeYszCYQkTMNa1hq5KsUi1u20/N1YA+7Fx86ZoP2ObIiiw8VgGOuZt2d6xzhUGscf8d3d/tNGMyfWTxZPvwJq0nPmcWZfl4JaClRVAMIEKPc6tqRRSFTrVkbMuLDE1IWsFfrI0n2Hq1DezyHQgnLIRASCYd6MMzCiTgMT6zVwXSM2cg9I/DgFSDYZMNvPp0GnJg5DeRwe/x7twwTeNn3wBfDfNDxPAPfJgZkRHYRnluoiKZilgOnI8TStg23HjI8dOIdIujxwfi6Xh2ftKWNz2tZsqfLQxUlKs8k6pMebWlBrfG6FsobTqEl1agW0eYtvbu3Wteqa2Ql0Sg+futlvhR1KSziETNQo4+LefVZ0Zp3SmsfoKM67d3MvC9iLUuxHCWpQmlOLawg0CuwvU9xCUtKJGEWCXnLoR8NBi8l1ofVmlfdb7icDBxX8+dZDGA14MYJrqcFFVng1E19xAfQEkWQRfpHn0HAvMwFaSlqZlwIBH0A6e94BEiNkxs/Ujv/84+4/cIun++ztMcKSEPV9+HQD+viuHf3pnSiLb6QgKAdu1Dy/+8ISLPetdq5ulFsDZiL2+c2wnpymY7CPm3DDlUMb+RfJPr23kqDdD9Q1id4nR2dj/9q9gp0vO0Te8BF+2A9+wcfvyR7PoX1zDQmn4uxV+eZra5F5feNyHaBYKOLxII4z6pV5XN5piGygMzvthV82MT+uJGbq60ksVWJKI1EP7Wux4ajDP4S7HXp79Nsz48Qr0VioaIkK3pIjvtnUvUO4Mr0pjqQiQy/Eih5aSWBENnCscsYK6zjlnqDwmoFOtQtRRJGQ9f5fu/el1ctlUsxp1s+Nr0Z71QSjqP4nYJHKkkE4PQYWfpXdxy1VAe2wmBqsfPjlZe+gO1LLzIhipHCCM38eC1RgneZJgPN7roGcbAeTZyR7K4eiwNfVhU7SuBh/DtpKS8vksSCPOUz9qYEhs+4MRtMSX2g55PO4p9hVXNxZRS+nI/6UzGAKQQ7zT+jgHdAlHXWpRrWLXJf0dEd7AEVJ3Rt0WrBFG1JKN9bIE1d7iqjKFDociqYqhU4hIW7DqGfF1U9MOY0UXBnuEQG1uAC7XAsPQvte74SzqMYeWVZvAarQLxVb9DQmuNlQp1JqQSqlMQWt0GM6PEiKFdYThpT+bHAiqhxzJNurSo4dcsVcOmtwI9q/FOmd4V7kGmpjUnNioJ5ryFTO87KBoeGTjME+PO9X5UpR1FH42fZ2CU/iQXUl7oU7lppPPtcxo31FtGSi5PpJD4lqqdYkMJ9jQ5myYiEV9nEWWnSG4tioUFVfjPORGzG3KsGsQWfXuY7xQhsgpAKXLrLAC6D4l/dPvttUb+3ELhp5g65PqmyDDbJqp6yaSQIhpwDZk6OMRTe97I+vnfhnMx4aPHU8zIHBPdd5U4rGaDFKoVG8a6LaSC/sVK1EYbzJjZnCQkfYmif8fcsjVCAb5ec7zSKSOMdz+7SQkVWaqtamEih8y+awjBBPlkctSllMTda+ZB7aHOXLG/wqNgHMBb58SlPQewm7XDSUmNBQ8G/JiuiHDyuMLlB+JsfZnP7qCoFWw2JFHyQtGNX5sSwE0+oy9bsaqtfNnnQPW+Dm1UXnYRm8+959jddVPMbTP9WcO+BsnLNaJRyRlusn24ZMWQsbyVAIKYIsGZ0Up1NLoiYyjoCP/SW3gZb5gM45F4c+1WtdLRjGW6koZrmK/fujXa9cZAsKVr4d41cbvQJGMedScMo6u8BMGQxXk92q/37O8iX75x+2yaFUASHKzUlMIuCtcTCJ2UAwSZ3mG8L43k4DGi18pHWT8p4fimWNLEMH0l3wMUH9d9CilvmKIdg+f2jKHPQQ2t5cDlm06wTHeAkoWa/yzGxgQhi+SbguX5C6nuRGkVXbhAKAYU7cg7FRCUbH/l71bTQq3HRv79SmNrz9oSFknt0c9PvrBHHzEBcA9W9kynwkfXNIW5Q5MLLh0bEI0yrVFgbbJ9foRbd72SX9pFVN6s56fuWQvF0O48SQeD8yakvdaxYP1vNYpgHOiJU4S4+hOrG69Jv6dRGY+KqNsCtbYnKyjRyGZNREeWuxg7oydlsz4BkfYJOIXC45UIASAaGDOYZLd0e2+/v3q/blPY95A1GcKwk8L+ubJBzwzKk6P6ExwiDL7pnQLz+Y3jIpGyl3ATcpx3BPVX3sjNOMDe8ttr4ROhiz/QG/N1QenHDWzMaFfX6/z/trxwaS1+EX7+AgWGRjabANuikHcE+1bOKht2N4rOCDSnXlGqDqg3bs+JIBgRGwtg+tU4ar+7vlnmjlnXzkfJ8qG/o8i3lhYECKyXILWe2OovI495B5cPCw8TDj1xewWwkaKHlK1hUrTGc+wt4FvzILhp+ovr8DoX40DBUh7+6d6ZfB8schmQ7Auhw8ySPSEzqMEfQJh5V2K7efygBIFGCRTK8art7OTPbK5wXIQFtav+DnKafJejNAjSNFfWrb6LVxTKPT4O0HlHEiCwtNh6fY45WA9VS2ttpTMGmVGjqmVJ2QpG7gBlbVLtdqiNSRvFSzUeyU6C0N0UQdS1EkznqRFY7AsmI14YW1PLa69Nv/TlWl7Bq3EQXa5hBTHeTw5gpycttiw8cZCuqv9zfVXGmPCsagGrDF/oEoP6bPxN6lFacSgArlVoffYU1B10fP+mMENzE3XK8Fq7zLa24jrYmyVFKBHC1T0pjFW1gUk7JaslhpVExprMVXpBOQBjWl9ZJqtp6ay1FteLNTia4IkoE0he/4CCIw+/w2VUnYXpzwyO3uluxGK2wxx3JSxWjbNCGn/9WE9SqBZdn+7Gcl6+yGg+hxAnwI5VilL2dabQ/WBIKW4HJTJ8auCgSOfzOxITR87lRR548jjhmvORuans5VOixNgxgqUH9bei9j1SoPo2YpN1dIkBXQstbWcw7dXZUGclORGFqtOzPFMLp2iLwE6lCXcDICD1/iQh/lvHHTf4dD0lmJunUbgx6aMgFXmlWjVy2tGWMikSgMRyNP5n+Mer04p45YlymWlgQJgDzT41g0LCjKLsJiixMTaUo9alWqYFR5YV4LRltnj7pPV3d26fWezjbFydp6yai0SOo6O+CIZp3JaDhIU9Q5Ou19bTwQDIZTDJBbG8s7iqapmAqmK1x7POScKqSy0ZW4AXvl5P3FQlI3dI+o6rnclBnmFBKMioMmwLXR1VWjoVTeDjgFN/WRSMpI5w8coQcOfIrpeeyuswZnJk/BgyO/DtknJR/TTrc6MEUEX3zVPupn+LIvJwyuugFhhnlNsC1UwaOYFQkkws6e+0v9GluKMkLA7WYwWVOJ8/bi75VHRuewompBM3k5HO+GhSI9H9K6KrdZqQixpW/IYhm5Ocz5vCih77OJIs6syN12xKbAuxiyKUn9WbiYOkin2aQV6cHzbOfgZc/0i8cWC5CAcyl+YziwMsVyy/prSqHAX9H9VL3Ya2UHwYgUjoE1UdLu2L56k/nsdm09PINePJzqteao7Lbac76u8XUoPkIkEWCuJ6iEdfvpKEAdBUlBIiRW3JgcFBgHRRy4hpurLuFtDFhCQfcqiuedRJ23fMpUyJB9e7GcdRzbK7vkoI5yQkMobG4lN7qlvdw5cI25dsYkos+Ddc9+QW/TMJzE43HmlEsXlRYf0BOcXo1SH/zVbpacM7PeTixIrgTNyYssCom6VpO0xYdH+/1rKZ/nFLZoHAsU99DlXn5Q2y8MPJyJUjsAOcrYmIJM0g66PY4dvK6EttP2dqwo5eOpZzbNldZdrbcGezpa8ncHuYGGVYe3Ch0nd4poINf4453sguRFFp3OXtR6L3AMR0tzOQ6gKlgapSv2Vgv1P6vahJhnWCmfNxqP95VH1Oc7BGVDQ8r6uuJSpwRuE/di/hn6p7FiTU569jzFhqbRa+zKQAjzoJviybripR8L2itxj8+R2qj9EZj1f3JCIZsQxqE1IEPJXvWLLC1ZE7qkaUCK40oYxTcmJ8MxRbnnNmLW048NvMHsh5NgSLLek2k3nyAmkT91UakJF+Re8Ac2vHh6RPeAUSBKw0Qzjc8Lf2J71eyxuyl8COib6Ws3O2oogJKU3Bm5GxpCwDcwt1mNXKb0dgp8eIAbq5423U73GOXk6u039YSDgmscU6D53ZM08+3mL3fU69osyBYEzrlcohjB7YquyDhQa+VNm9/rRPFsyTLv2eo5CPUb9JqDyu1RPuBujn5trwymIwJthVhARLwyazfMdC+ZTAhkBtXmUAfAy42tUJOW2ZRAJv+jEdWCAGm+MeTzpQT7zxsd1vSjjKe+/ceuDZtSF8wla/e1oW2TtTq8LWfTmxFnxpKBSxYidN9sCj+tTZiwRdetcbdVBJ+QgxkJLunwf0TUheFYtpendDjYEv5s6buuadhRdRoTvguzfK0Kgz/RTp5pAx0m93tz45LhtVIr20mdjyKN9pzUYJcL9YKBI4aoLqk5fCr0YDDtu+nvY2agZaJ2SMgmt20JmGWsgzE8pUcla/fVrt9KBXJVyV959wP6rkQiHN5WtxO89rp4Hg3I/bM1deXr34s4XvLcrngP2wgcfV3L4iTMzWrPD6dN7z7pPXu6Lblw78wFY10uVsp71iTxLQ+ttgrCIOkK7NubmsBn/1Zw1wAdyNWsUbbCecdFGp1WCwZ3Pg40tmnjw3I5U52nPxllL0dnp6teWo9Cjz0Fk52GM3sccdh0GtYz1bWDRn7e6tlI8b2bTQ526Urw0mzBfEW2v24OAWVT2E9rgFmnUTKrXSMSi3LQ2KQ52/KpfKBYnTYd7mp2TqULGivTmtjAiWWiM0X99sMP7wbk6JsGf1oNpdwNiG247DQytD3rbUs6QRaSnm5FOOuZsGknn0No/z1/ncw/bn4c19Vzm9q1ttOxb7pPKQlqgr4wGNq9bNNOFmT3bho4mtHl9CwT/vHbj5nwTKmOw5BwmpJrGNtUuMzS/FaK5HnKwnCGWRWcNH/P+vhZwN8MgJHYjoW5cDK1c76RH3xdTFzVDTHB47A2WM6+3oSmJ7F5R9xozihlu4F+2IzNJjAuXUJFM2FFk01laiy7DB6N+quOR6eMpWb7oI7JZZdIYvAJsWkN9yET15REoxjXEGwhSwIhiQvGqinjTlU7GzDMinDFG51lEvBMS5q0qakhFS7kWXnSCJMv7gxDHaajSymoCcPZPEyQJAFtai4S+mFStEXTnf/BlL93llUg1vMOLh3DnYzj7kqR4vt8ueu+h/B9BdAPe3LId2gcWfCEBTNECXwx+Oxev/9TGghJ3OCYMT6Mbh1eYRCDDf33D7ibvRcXRzdZqkRoqVmoasD7+NUbvS0LcwyKuPiZQGTsMCck5EtBt5ETxH7CJFP1KCqDYKlRzStNjRoIDhaGLXWRYckyTUDL4PjLEskc9dmichg538gJoEk01GwJX+EjZowoKIomMglN0YZTz1NtKXd0pYrtVckxRZH5wEW5rNCrpKoSdbrkn45MuIPJdApBMeVUS6A5gndawPf2zfTOhMdiG8b25SljRu6LQ2aCB3PbRVrIOciCa2Kxg8yosL/DGjZdaDM4FaMhn5MoA+hILOEWnFJI8/gwuTBZTcrEkOYDQlKfJX8Ib4pTFexJGkGnLc3wtCl8VW6Tr6asEAQZPlJXLaMBAXVRZX1DXD3ss54BvmeuWnCwVcTEv4mYPqBZ17OfJHAlhqdUP5dE3XdQJOFxrSeW3hWEsXvULBUS5oyp55c8KfKKmWELDXFa6/LFd8xDoV7KQZvKObO6COiHjlsFOzBjRW6/J6e7m90hnRMbEroU4jK5YUw3aF0RCGJ5GLF81aUYCLrJYQ3q7W8kqkijOB5gp6nNaKgf4VxbEhMlJQkRTTl8n1ukUBIb0DG2lST3QULsSnIRaZRDIwIISQyHnBUp6KUvi3KyZBBX4AxCNsMpLizUW1Fst3zKIRg8UMiEwdcBKe5BRB47sKsiNdmrpjrkDNTOzJrdyEJyONZW8fllO5EkoglM35dyKEGVzDwG3ytvgF8Hyl/XlZdyOM7kxq402O6TWzmEcRhKPYvyMUHqWwjmmtsptrxJMFxFpNyZjsb5oETNsPlmHro5MppXEIpCrKCE3TdUDNCkpQk85nSNRiHJkbKZWT7e1ZTWW3JrsN+lLGJazeYcwrU8lbZuryKbWgRJsxiXJNMwmgkFvfJZxtBKxLbrfr+9suVujFFim1piOCtM2KExnmLkbCKRexlr4JDPHwiGFZqRdf2Y4fRtuYGhuNyJd0vhi60yqoG5tqwwHYZWFe+SuvHEYnGt2+IHw+in+gLhnva26ekxtJYrsAK19OYiRlV9U5UFqm7kJp+T+f7HAvcPceaihx4LLvr64tyHopBZTtpItwyA6AVEB8ix5/iabqJLS5yZ3iKXxcXN+rPFKwk4xPltE94/7xTnb2exh8dSr9td48jt336gdCDrHufZLMbaXpBimQUsh2zpu/Dq3xEmgO4+DHHeS8hlJsryMJigDLgQlL9tk9sghmkQ090AfTbpNUwKfvhYCiY11vxiYzWkNA7I6Be3VWiyhIfKdDxeHsRluXWgEAvvP4Z7yWw8RP6GH8m3z5068od60WeRN1KQHDjBRXk5CnkAZ+THsBuE4GPsoXyuTf7n3I7Bj+uFLuwtLw7yCF4rv0Zszhh9mLRmk97fexZq+qPFACX9sU3moZYvFfrsAfIVe5Q5qkviEzohbF7jVWjGYqcWGn99IaHXsBdMwv0Pnu3yEWvQWUhiVl+CmoF9NQiWh5fkh3iifA5X5QLedg4ZCHS8Ew1hSRbjsKzA/8nPz5019qH3DQ3thMIJCN+HGr4G+NrZ91Eetoeb53rXgWPbC/s1O2dOVL6hc2BFYjB+4xJooVrKfcWxPEx8m/+Y4hwirbnASjRAfBN9A+iZq6jq44PnoEZgYjU0Xzu5M/UdzBozcFR/d9oR0CYgnvwPGg0IF6d84JG3odcDPBESbt6PPgaUjkaDFw6dHL9HhFq1o8ZSP4AodODAJVu/eVtjzy9pBR8/BckBcVfKdE3+aOmL5py72eg/2Yu+HuSLxiE88H03FJ7br/FbHYQa2hjJEbx24yCsi6ldWtv6DLjHyFoGD0US+BFLtYPegeFIOPEhf4K+NmB93rgZSFrilFBSArirgvs6ysPbpIf57OxVTGGHT3NzR2skFcDq/O/x6vnPDH/w5TmyPXyha+pJU5dFRxxoPiv+NpKbtD6CLm1yj1yEvd3KbZAMiiODoPMXH/OQ65H/0Y3oBZzboBXepCHh+PDdB7+1kj4BzKsLhttLIcicIoDbu9y3QfWA4zh0kJ0QxAdm9kFrg6di+yX8CKcDCneE6Pyy2K/QdQE/ew7BA3MDU54f/wSYAekHQ/V0DZzz6gPPy6+nzgVLITj/HsraN6FFwG+moFxAE4FL59dQFVvoTIyCxkHQsYFXK9EgGHd3gZYezhlbP70XGXo5b0KxTyZHiJdaEP1OuwTt4TZrz1nbORoyEC9e17zSgvyWTiXe8+lYz0KbTXg0YDHbjl9wxyqAFMv69Spvb8wfc5O1nr+EMyMPvayMHaG1Ez76vgDJgOwt/d+RZg08p7iGzkB7YghYOopegd6PkgAvIeoeA8U2SD0KQ430DLxPtINpUD/o9yiDAWoHE8lJoHiYD3LAf83r3glRa9uVAx5DM6ATeQiTUYKnoAojS3289/dz1xwgp/cSHTvKPE30AYbQM61zIWqb6VqS1kYKoJ/k/BN1fo8MgZGfyuvQdKAxMO1EQEMHv5SC3L94PwSh8df0p1rdwCxSzBdbUoBrj9QDgpIEGOrJ/3kGbVuKV7ya4k0LzgQMu1JQ+58nIeTT98HEATfyEWA/HepLYVtAV2HA2wP0WdwKqVt+RpS2Pg+y7jvD3LBin9O3ZZ2T/5V/BGm8niiHX09ega74LyFmO0zq8COhwatEX8g8nd7QAI5n2H2iwbRHkxqNeO0wMNYPqrzKBO4EAcBL0HvVV3Z/emvTP5haK8Ey3vpnyxLspPvr2LoVbfOC0b7SJgAsmKv/igDjtkUEwNx/Rd5fPbdDrl5Ct9ZdkhO4PSv+PK7YWg6XfXLbkG2t19r+qRXt35bGYXm5LqvcYVw30m55gjJDUhzJirZ9NZDyubcJHEcikuCASmQiCBtiJOcPmTnNtAn5NpvyZiW73hYwh2xNx5E0hX+7g+2dbH2tAG91NTbZ2VfqlFkutpUcOm3Ngr3p1MGUTtrWN2+pte23JWvXhLa7bLu1gq5OMmtw7wS4tof47Z6oAlJU/ZjaR4tdo8nrYUTZwaXFWtN6FDRrCW1QUiNJKPe4t90WNpfC/LAnA+N648V89UxAflu1vO0T31YqkFSuVE/PZ7uA1VbIrV30JhzM6zizeofYrDFlhTx/1VBS6Ruke738ttCKdlJcX0G9Hj+DittncVVtycQRX2cV1etUNJ8/J+662Vl7y7T05mNh+Z3XmN3skmZX26mqDvAueYqjsJnhXXWJTXnVsv6p+RNGyNRofX2D9xwblTZHjH3Rds3f7YaCiccnuF2wu+3l03aKb4eVZEr1fNiKmW5hWUvN1Vb15ZQd9a5dQPHGBdN3BJ7lXY75IEIFoNcwgLq0oxyZZtuXSgutmXXKGZbnVpRP/VZu5Hpn5fdYxWWZ1ZRj6zG/eeh+9BRY3mb809aRtnzu03P0A2cPidft7RJCMRuOiEck3BCck2f5A8Vra1qXq63Xbn9WyzpqTuuCpset7hC1J+Dxak9k5M2Wf+BV5lNJgD9oLKfjo5xNe3RRwJ8hAPBga4InO5CQzH/GsqU0PmJZhxcXBXwYAgBAOnjvs8DHQqbGuRbsSH4okgsu7CX4GfsJngYA7CH4GP6BXwB4BfsMXk9v0IM+mB+YKxg99iz2DayDrvQGAi1K2PMYiaPpo/khqxfZIyEkpZHuuSgWn0szi1S0v2VCk032jME+l9qJAnuazSGdLuTJcjZ72ngb5hBkSV2iXcwkxiFsXJeO2YT5kJ5PmBHpTVonLH4N8x9ZEEC3WoFuMQaMgJVKgP1yzS1wCIBudkb5xmrPmM+UCAi3+MLwiiucbWEiaGcQjSxtoa+rfuFxzOYbAuBmOSBgJzEYFQYHZvwRoBLH0M7L4kWXsyPGbUkxQRABFjDDxAaRMRxgG2zGk66YeL1kSuwaM/pqmVOXtVloXGEWTXNTHkAxIWEbnAAsP0tXoBs/y+jtf8FReZhZtdHB0KkzxIzK0MPW9vzwjYydV2uxC7ptFOGl8IWu6OQq+yNi/yp0y6rcyndd9DInKnRD120edS30yG0xyWGRsmtLIbK35jzoVm9lpXy0rWpXytor8cd5f3BAGF6t9mdtvyw6+KfX/oiMDstFKOjkVFqUsq/ciKJiiKLo0LHbyrA6GBoCElIjgoooyLG0nk4FHG6os4iI5rkn9Awn4UqXpmiiS0gxl6Drugu26crswGK02It+7o1rrS9TRIxy/bquHKzStLJTa8XcCAsE68CRVX6cOeFht1OH10tDSlyraFtu2OhNVVJbvp6NjRC5jp79uv8E6an4NLTYotA1kdE5P9UxE0HRZr2V0Yn20YnwIEJoMD/YEgr0b/P3hHydAd4ua56OaOvgIHeXD2qtzXeV8p2lNEfl2ws0W05Y87MsuRPm1EOmtI8xE2HIZuiTp3Qxvjbga/yNpvacym9hnK+wSOSmHNRi4CCZMkCq4CTqLLHmRLqPUIYEogbEFyuNJ0pcoQCncmz+FIuGmDQEBpNPZ6HRwFHJDArhyNFTzUVfUUTCzJ80EepBeEy6axpCwDWIgG0oBTVgZqBRZNQhQ6hFcFFTTcY1WQ3EwUqzU27SUvB5u4PKdanT/rzZvuet3JYrV777ea01LMfePdW9p7jKoEuD6FPd5kafFs/4ifK0k9p37t/rYYLe+In5RmfTzGyLp3qbmsYzNRuoexRl6m11S5HdnU79Njc122SKE5imMzeT2duCY7kozwgflHvkbWH4MAYcwzNwC3ZbNOVtNI1mNBvQPUQZvU23CF5nfWsS/+LXfMqtZLv9fHDHDoHvcp7cFPVWAytIYbo5lIT4ufD+0ydY3+mq+DopXw0oQz4RxVumJozQk6fFdtj+xIubLaVnxfYFXBEhXttLF2tT+oliO+DAtyDhe+5IR0bxpSC0aOGaFgAA"}},"time_used":37,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":23,"receive":14,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLBT5Z1xlFQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.381Z","timestamp":1785129292381,"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/poppins/v24/pxiByp8kv8JHgFVrLBT5Z1xlFQ.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://crystal-exploits.org\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: 7632\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:35 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:35 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 15 Sep 2025 16:35:25 GMT\r\ncontent-type: font/woff2\r\nage: 403457\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":7632,"size_decoded":8444,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 7632, version 1.0","md5":"5426bf50c8455aab7a3e89d1138eb969","sha1":"ec0cbbcb4600e691cb24a63451f758727f90a306","sha256":"17ea10196a490a8d3b8da162c7d4af9c301c5229f70af90dad6fa33eb951d83f","sha512":"c80e5e5d2b52b6ac9a67d62d37236fd791c2736d194ea0828b59fb35011d76fb180d76b3fe5789bf62ebc5c5092975bf6e678e619fdb6c1f28a9d692380729d3","ssdeep":"192:ARL1Yg/M1jL06srp5yOoNWxymcaLoNboeuTbEXFgePuCcDozD1:ARL1YgELorpsOKWJcaMduTbEXvP+Dq1","tlshash":"bff1afc30554054bc74daab7dce3bc60056ff49efc11260959e3adc9962a0fa46cb4d5","first_seen":"2023-04-06T18:33:44Z","last_seen":"2026-07-27T08:03:11.838234Z","times_seen":18756,"resource_available":false,"data":"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"}},"time_used":41,"timings":{"blocked":21,"dns":0,"connect":0,"send":0,"wait":18,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/img/logoss.png","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:52.727Z","timestamp":1785129292727,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /img/logoss.png HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:52 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 25 Oct 2025 19:29:00 GMT\r\naccept-ranges: bytes\r\ncontent-length: 73531\r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":73531,"size_decoded":73797,"mime_type":"image/png","magic":"PNG image data, 979 x 979, 8-bit/color RGBA, non-interlaced","md5":"360ea4b6dee83a9e3b84e8f51087e211","sha1":"38e917e62640b87caca1460f3051f0a742cb7fe2","sha256":"534e7e0052ecd6304376a7207ad2b4dc706aae92643ec4db063bd5295b147576","sha512":"f1c6b852ab6feb74c3a5f7f677e2a1b988c47345e328f93f92908e79c93cb1e8cd34c714e7143cdc77e44c374ac71ebf37bd2ac0faa8b8bb854b8ec7cf527546","ssdeep":"1536:M4rMUC3OZJqOl27SR00ARrdyxQ+1cOgTWBfnFWrj5K/:5DC3Ej27S05BdEniOCWtGjE","tlshash":"a373f18d0488ad88df217fbe172a79674d69cc0de6e75b9e60417d250492fc432bb33a","first_seen":"2026-07-27T03:49:43.278807Z","last_seen":"2026-07-27T05:16:58.334817Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":33,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":33,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube-nocookie.com/youtubei/v1/player?prettyPrint=false","fqdn":"www.youtube-nocookie.com","domain":"youtube-nocookie.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1","date":"2026-07-27T05:14:54.451Z","timestamp":1785129294451,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"POST /youtubei/v1/player?prettyPrint=false HTTP/1.1\r\nHost: www.youtube-nocookie.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: application/json\r\nX-Goog-Visitor-Id: CgtHZU9NaHUydzFpZyjN0pvTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgGGLfAgrcAjIwLllUPVVTYzN4Y2lwQzFfM3lBcHAyWi1PTGd4dlNuczJEWFIwY2NvVWtUNkNEUEZ1R0wtYzNmSDJQNDJHZ3FOQU5ZOF9rSVVXTHk4SUFMZ2JWZTZOdldUX3RQbE9ibmZiUjVNekg1WURtS0syQ1lFOEVna2ZjeXN5eXFRWFNBNHFIRjB5dm9zN2RoQkZnaHBwZEdDbWNsNWNvb1Q3MEZyRjJPUjVaWkJRTnFqRUdSX0s0NG9GUENHTUYzZWdXNTVfVTR0TllTMVBKRE1qYkNRVDE3cml4bi1iOTY2S05jb2tueDh2WjdCb1VxNXU3QUhfZWhBWC1NM2hlM0lqRUs3cXpQdndWcUdkSGdmS2VMSUhNQ3JXYWwzSEhBVmpXX1YyakgwR0pPSUpYeE45dnotQTF1VkFUeXVESnk5dmZaeTRhUnBiWTVZakdDeUd3RzNMWVB4cDQ0Y2xkUQ%3D%3D\r\nX-Youtube-Bootstrap-Logged-In: false\r\nX-Youtube-Client-Name: 56\r\nX-Youtube-Client-Version: 2.20260724.01.00\r\nContent-Length: 4500\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube-nocookie.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1\r\nSec-Fetch-Dest: empty\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":"POST","post_data":{"size":4500,"data":"{\"videoId\":\"dk9uNWPP7EA\",\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"NO\",\"remoteHost\":\"195.64.118.152\",\"deviceMake\":\"\",\"deviceModel\":\"\",\"visitorData\":\"CgtHZU9NaHUydzFpZyjN0pvTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgGGLfAgrcAjIwLllUPVVTYzN4Y2lwQzFfM3lBcHAyWi1PTGd4dlNuczJEWFIwY2NvVWtUNkNEUEZ1R0wtYzNmSDJQNDJHZ3FOQU5ZOF9rSVVXTHk4SUFMZ2JWZTZOdldUX3RQbE9ibmZiUjVNekg1WURtS0syQ1lFOEVna2ZjeXN5eXFRWFNBNHFIRjB5dm9zN2RoQkZnaHBwZEdDbWNsNWNvb1Q3MEZyRjJPUjVaWkJRTnFqRUdSX0s0NG9GUENHTUYzZWdXNTVfVTR0TllTMVBKRE1qYkNRVDE3cml4bi1iOTY2S05jb2tueDh2WjdCb1VxNXU3QUhfZWhBWC1NM2hlM0lqRUs3cXpQdndWcUdkSGdmS2VMSUhNQ3JXYWwzSEhBVmpXX1YyakgwR0pPSUpYeE45dnotQTF1VkFUeXVESnk5dmZaeTRhUnBiWTVZakdDeUd3RzNMWVB4cDQ0Y2xkUQ%3D%3D\",\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0,gzip(gfe)\",\"clientName\":\"WEB_EMBEDDED_PLAYER\",\"clientVersion\":\"2.20260724.01.00\",\"osName\":\"Windows\",\"osVersion\":\"10.0\",\"originalUrl\":\"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0%3B%3Borigin%3Dhttp%3A%2F%2Flocalhost%3A3010%3B\u0026controls=0\u0026playsinline=1\",\"platform\":\"DESKTOP\",\"clientFormFactor\":\"UNKNOWN_FORM_FACTOR\",\"configInfo\":{\"appInstallData\":\"CM3Sm9MGEParsAUQABD58tEcEODq0RwQx43SHBC9mbAFEI6Q0RwQmY2xBRDJ9oATEN68zhwQrtbPHBCIkNEcELW1gBMQ4IKAExCKh7giEPyyzhwQibDOHBC8pNAcEInk0RwQnYa4IhCL988cELnw0RwQg4e4IhCHrM4cEOn40RwQ4LfRHBCBzc4cEL6KsAUQhuGAExCvhs8cELjkzhwQ9vfRHBDM364FEL6E0RwQle_RHBCkqdEcELb4gBMQyvuAExDa984cEPDe0RwQwY_QHBCfz4ATEL22rgUQttvRHBDH_IATEJ3QsAUQ8bTQHBD06dEcKmhDQU1TU1JWQy1acS1ETWVVRXBVQ25BNzVGWEtqQnVFV3FOVVB5QU1NM3czY0J0Z0c3Z1QydmVrTE1xQ3NCQU9RcmdQN0pyYmtCdVNGRjlETUJzU1NCY3M5eFNmWjFRWGNMT1pHSFFjPTAA\"},\"browserName\":\"Firefox\",\"browserVersion\":\"134.0\",\"acceptHeader\":\"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\",\"deviceExperimentId\":\"ChxOelkyTnpBM01Ua3pORFF6TURrMU1UQTROdz09EM3Sm9MGGM3Sm9MG\",\"rolloutToken\":\"CMvJu8mFt4_c-AEQ1P-n64zylQMY1P-n64zylQM%3D\",\"screenWidthPoints\":1276,\"screenHeightPoints\":716,\"screenPixelDensity\":1,\"screenDensityFloat\":1,\"utcOffsetMinutes\":0,\"userInterfaceTheme\":\"USER_INTERFACE_THEME_LIGHT\",\"applicationState\":\"ACTIVE\",\"timeZone\":\"UTC\",\"playerType\":\"UNIPLAYER\",\"tvAppInfo\":{\"livingRoomAppMode\":\"LIVING_ROOM_APP_MODE_UNSPECIFIED\"},\"clientScreen\":\"EMBED\"},\"user\":{\"lockedSafetyMode\":false},\"request\":{\"useSsl\":true,\"internalExperimentFlags\":[],\"consistencyTokenJars\":[]},\"thirdParty\":{\"embeddedPlayerContext\":{\"embeddedPlayerEncryptedContext\":\"ACmblBU0aBXQi20o-Eke7RaKTmpjGen3zKesHHyAAmy-NOyw9dsI_ghbLhFZn1JhZa_QbMVlmzpUk8FOFaZkyOeRjAPksjca6gmnU7SBPizt3abVRwYVyiVl3d_bURDXnJ2SgJ4aYg\",\"ancestorOriginsSupported\":false,\"ancestorOrigins\":[\"https://crystal-exploits.org\"],\"autoplayBrowserPolicy\":\"AUTOPLAY_BROWSER_POLICY_ALLOWED_MUTED\",\"autoplayIntended\":true,\"autoplayStatus\":\"AUTOPLAY_STATUS_UNAVAILABLE\"},\"embedUrl\":\"https://crystal-exploits.org/\"},\"clientScreenNonce\":\"1IOQ2NGxg4PFnzNe\",\"adSignalsInfo\":{\"params\":[{\"key\":\"dt\",\"value\":\"1785129294013\"},{\"key\":\"flash\",\"value\":\"0\"},{\"key\":\"frm\",\"value\":\"2\"},{\"key\":\"u_tz\",\"value\":\"0\"},{\"key\":\"u_his\",\"value\":\"2\"},{\"key\":\"u_h\",\"value\":\"1024\"},{\"key\":\"u_w\",\"value\":\"1280\"},{\"key\":\"u_ah\",\"value\":\"1024\"},{\"key\":\"u_aw\",\"value\":\"1280\"},{\"key\":\"u_cd\",\"value\":\"24\"},{\"key\":\"bc\",\"value\":\"31\"},{\"key\":\"bih\",\"value\":\"-12245933\"},{\"key\":\"biw\",\"value\":\"-12245933\"},{\"key\":\"brdim\",\"value\":\"0,0,0,0,1280,0,1280,1024,1276,716\"},{\"key\":\"vis\",\"value\":\"1\"},{\"key\":\"wgl\",\"value\":\"true\"},{\"key\":\"ca_type\",\"value\":\"image\"}]},\"clickTracking\":{\"clickTrackingParams\":\"CAAQru4BIhMI1duo64zylQMVItB7AB0GKwjRygEEJh4T2A==\"}},\"playbackContext\":{\"contentPlaybackContext\":{\"html5Preference\":\"HTML5_PREF_WANTS\",\"lactMilliseconds\":\"360\",\"referer\":\"https://www.youtube-nocookie.com/embed/dk9uNWPP7EA?version=3\u0026enablejsapi=1\u0026html5=1\u0026hd=1\u0026wmode=opaque\u0026showinfo=0\u0026rel=0;;origin=http://localhost:3010;\u0026controls=0\u0026playsinline=1\",\"signatureTimestamp\":20655,\"autoCaptionsDefaultOn\":false,\"autoplay\":true,\"splay\":true,\"mdxContext\":{},\"playerWidthPixels\":1276,\"playerHeightPixels\":716,\"ancestorOrigins\":[\"https://crystal-exploits.org\"],\"encryptedHostFlags\":\"ACmblBWgK3JDlSasyJwhTl4_cWr1GTV3ckm5JraCIlV1zfiYXqMDvGecg9Mr8AHE0B4pNi5nUi4gkKZCAB8ERUiHacJTyu8aUZEHtEl5KM4-IWF_B0U5gZAAVGHSNPGsW9VC\"},\"devicePlaybackCapabilities\":{\"supportsVp9Encoding\":true,\"supportXhr\":true}},\"cpn\":\"zmhj8ieFUzCH2tcL\",\"serializedThirdPartyEmbedConfig\":\"{\\\"hideInfoBar\\\":true,\\\"disableRelatedVideos\\\":true}\",\"captionParams\":{},\"serviceIntegrityDimensions\":{\"poToken\":\"Igg28jbzXJTfvA==\"}}"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: br\r\ndate: Mon, 27 Jul 2026 05:14:54 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 1012\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\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":2452,"size_decoded":1364,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"ddb6d1d5097d0cb0b0b8058cd03d54a9","sha1":"3958fab6b85575529ed7ef85b5613946ee7fd081","sha256":"fc9681ceec3af3f33cbac18a50a668b5d9e099e26f03f5f5149cc5328c91adfc","sha512":"b992cc69d5a6c959b85391439b35ecfead3187c05bc8da4ae1bff60f98f8f4d17401636f948ec965d6d1c02c457a06b7f7e39e5c72462b17458724cf73cee389","ssdeep":"","tlshash":"c151329e7894acbf0bc5e7c5740b683f377536946ac8b5cc0468ea882aedd5c0617cd2","first_seen":"2026-07-27T05:15:36.997622Z","last_seen":"2026-07-27T05:15:36.997622Z","times_seen":1,"resource_available":false,"data":"eyJyZXNwb25zZUNvbnRleHQiOnsic2VydmljZVRyYWNraW5nUGFyYW1zIjpbeyJzZXJ2aWNlIjoiR0ZFRURCQUNLIiwicGFyYW1zIjpbeyJrZXkiOiJpc192aWV3ZWRfbGl2ZSIsInZhbHVlIjoiRmFsc2UifSx7ImtleSI6ImlzX2FsY19zdXJmYWNlIiwidmFsdWUiOiJmYWxzZSJ9LHsia2V5IjoiaXBjYyIsInZhbHVlIjoiMCJ9LHsia2V5Ijoid2hfcGF1c2VkIiwidmFsdWUiOiIwIn0seyJrZXkiOiJsb2dnZWRfaW4iLCJ2YWx1ZSI6IjAifV19LHsic2VydmljZSI6IkNTSSIsInBhcmFtcyI6W3sia2V5IjoiYyIsInZhbHVlIjoiV0VCX0VNQkVEREVEX1BMQVlFUiJ9LHsia2V5IjoiY3ZlciIsInZhbHVlIjoiMi4yMDI2MDcyNC4wMS4wMCJ9LHsia2V5IjoieXRfbGkiLCJ2YWx1ZSI6IjAifSx7ImtleSI6IkdldFBsYXllcl9yaWQiLCJ2YWx1ZSI6IjB4YjhmMTcwODAwZjFiZjNlMiJ9XX0seyJzZXJ2aWNlIjoiR1VJREVEX0hFTFAiLCJwYXJhbXMiOlt7ImtleSI6ImxvZ2dlZF9pbiIsInZhbHVlIjoiMCJ9XX0seyJzZXJ2aWNlIjoiRUNBVENIRVIiLCJwYXJhbXMiOlt7ImtleSI6ImNsaWVudC52ZXJzaW9uIiwidmFsdWUiOiIyLjIwMjYwNzI0In0seyJrZXkiOiJjbGllbnQubmFtZSIsInZhbHVlIjoiV0VCX0VNQkVEREVEX1BMQVlFUiJ9XX1dLCJtYXhBZ2VTZWNvbmRzIjowLCJyZXNwb25zZUlkIjoiSWhNSW84UG02NHp5bFFNVjQ3ZjBCeDI0TWhsRiIsIndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGEiOnsiaGFzRGVjb3JhdGVkIjp0cnVlfX0sInBsYXlhYmlsaXR5U3RhdHVzIjp7InN0YXR1cyI6IkxPR0lOX1JFUVVJUkVEIiwicmVhc29uIjoiU2lnbiBpbiB0byBjb25maXJtIHlvdeKAmXJlIG5vdCBhIGJvdCIsImVycm9yU2NyZWVuIjp7InBsYXllckVycm9yTWVzc2FnZVJlbmRlcmVyIjp7InN1YnJlYXNvbiI6eyJydW5zIjpbeyJ0ZXh0IjoiVGhpcyBoZWxwcyBwcm90ZWN0IG91ciBjb21tdW5pdHkuICJ9LHsidGV4dCI6IkxlYXJuIG1vcmUiLCJuYXZpZ2F0aW9uRW5kcG9pbnQiOnsiY2xpY2tUcmFja2luZ1BhcmFtcyI6IkNBQVF1MmtpRXdpanctYnJqUEtWQXhYanRfUUhIYmd5R1VYS0FRUW1IaFBZIiwiY29tbWFuZE1ldGFkYXRhIjp7IndlYkNvbW1hbmRNZXRhZGF0YSI6eyJ1cmwiOiJodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlL2Fuc3dlci8zMDM3MDE5I3ppcHB5PSUyQ2NoZWNrLXRoYXQteW91cmUtc2lnbmVkLWludG8teW91dHViZSIsIndlYlBhZ2VUeXBlIjoiV0VCX1BBR0VfVFlQRV9VTktOT1dOIiwicm9vdFZlIjo4Mzc2OX19LCJ1cmxFbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlL2Fuc3dlci8zMDM3MDE5I3ppcHB5PSUyQ2NoZWNrLXRoYXQteW91cmUtc2lnbmVkLWludG8teW91dHViZSJ9fX1dfSwicmVhc29uIjp7InJ1bnMiOlt7InRleHQiOiJTaWduIGluIHRvIGNvbmZpcm0geW914oCZcmUgbm90IGEgYm90In1dfSwicHJvY2VlZEJ1dHRvbiI6eyJidXR0b25SZW5kZXJlciI6eyJzdHlsZSI6IlNUWUxFX0RFRkFVTFQiLCJzaXplIjoiU0laRV9ERUZBVUxUIiwiaXNEaXNhYmxlZCI6ZmFsc2UsInRleHQiOnsic2ltcGxlVGV4dCI6IlNpZ24gaW4ifSwibmF2aWdhdGlvbkVuZHBvaW50Ijp7ImNsaWNrVHJhY2tpbmdQYXJhbXMiOiJDQUVRcHRFR0loTUlvOFBtNjR6eWxRTVY0N2YwQngyNE1obEZ5Z0VFSmg0VDJBPT0iLCJjb21tYW5kTWV0YWRhdGEiOnsid2ViQ29tbWFuZE1ldGFkYXRhIjp7InVybCI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4/c2VydmljZT15b3V0dWJlJnVpbGVsPTMmcGFzc2l2ZT10cnVlJmNvbnRpbnVlPWh0dHBzJTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGc2lnbmluJTNGYWN0aW9uX2hhbmRsZV9zaWduaW4lM0R0cnVlJTI2aGwlM0RlbiZobD1lbiIsIndlYlBhZ2VUeXBlIjoiV0VCX1BBR0VfVFlQRV9VTktOT1dOIiwicm9vdFZlIjo4Mzc2OX19LCJzaWduSW5FbmRwb2ludCI6eyJuZXh0RW5kcG9pbnQiOnsiY2xpY2tUcmFja2luZ1BhcmFtcyI6IkNBRVFwdEVHSWhNSW84UG02NHp5bFFNVjQ3ZjBCeDI0TWhsRnlnRUVKaDRUMkE9PSIsInVybEVuZHBvaW50Ijp7InVybCI6IiJ9fX19LCJ0cmFja2luZ1BhcmFtcyI6IkNBRVFwdEVHSWhNSW84UG02NHp5bFFNVjQ3ZjBCeDI0TWhsRiJ9fSwidGh1bWJuYWlsIjp7InRodW1ibmFpbHMiOlt7InVybCI6Ii8vcy55dGltZy5jb20veXRzL2ltZy9tZWg3LXZmbEdldmVqNy5wbmciLCJ3aWR0aCI6MTQwLCJoZWlnaHQiOjEwMH1dfSwiaWNvbiI6eyJpY29uVHlwZSI6IkVSUk9SX09VVExJTkUifX19LCJjb250ZXh0UGFyYW1zIjoiUTBGRlUwRm5aME09In0sInRyYWNraW5nUGFyYW1zIjoiQ0FBUXUya2lFd2lqdy1icmpQS1ZBeFhqdF9RSEhiZ3lHVVhLQVFRbUhoUFkiLCJhZEJyZWFrSGVhcnRiZWF0UGFyYW1zIjoiUTBGQkpUTkUifQ=="}},"time_used":82,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":82,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"crystal-exploits.org/img/logoss.png","fqdn":"crystal-exploits.org","domain":"crystal-exploits.org","tld":"org"},"ip":{"addr":"141.11.164.2","port":443,"asn":30823,"as":"aurologic GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://crystal-exploits.org/","date":"2026-07-27T05:14:51.974Z","timestamp":1785129291974,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.crystal-exploits.org","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 19:44:08 GMT","end":"Thu, 24 Sep 2026 19:44:07 GMT"},"fingerprint":{"sha1":"84:6D:B2:63:4C:13:B8:2D:76:D4:9F:8A:B5:32:BE:50:CC:72:47:88","sha256":"18:92:0A:28:BA:15:13:8E:34:D3:8B:0E:60:99:D2:91:BB:6A:15:9F:C7:1C:05:5C:D1:0C:4F:2F:41:EB:FB:A4"}}},"request":{"raw":"GET /img/logoss.png HTTP/1.1\r\nHost: crystal-exploits.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nCookie: PHPSESSID=e139c476ee920e8d46298ca724fa67b1\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:14:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 25 Oct 2025 19:29:00 GMT\r\naccept-ranges: bytes\r\ncontent-length: 73531\r\ndate: Mon, 27 Jul 2026 05:14:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":73531,"size_decoded":73797,"mime_type":"image/png","magic":"PNG image data, 979 x 979, 8-bit/color RGBA, non-interlaced","md5":"360ea4b6dee83a9e3b84e8f51087e211","sha1":"38e917e62640b87caca1460f3051f0a742cb7fe2","sha256":"534e7e0052ecd6304376a7207ad2b4dc706aae92643ec4db063bd5295b147576","sha512":"f1c6b852ab6feb74c3a5f7f677e2a1b988c47345e328f93f92908e79c93cb1e8cd34c714e7143cdc77e44c374ac71ebf37bd2ac0faa8b8bb854b8ec7cf527546","ssdeep":"1536:M4rMUC3OZJqOl27SR00ARrdyxQ+1cOgTWBfnFWrj5K/:5DC3Ej27S05BdEniOCWtGjE","tlshash":"a373f18d0488ad88df217fbe172a79674d69cc0de6e75b9e60417d250492fc432bb33a","first_seen":"2026-07-27T03:49:43.278807Z","last_seen":"2026-07-27T05:16:58.334817Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":196,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":195,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate-pa.googleapis.com/v1/supportedLanguages?client=te\u0026display_language=no\u0026key=AIzaSyBWDj0QJvVIx8XOhRegXX5_SrRWxhT5Hs4\u0026callback=callback","fqdn":"translate-pa.googleapis.com","domain":"translate-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.119.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"moz-nullprincipal:{f376e2e8-3a2d-4457-aad6-580c96f3bc62}?https://crystal-exploits.org","date":"2026-07-27T05:14:52.924Z","timestamp":1785129292924,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:20 GMT","end":"Mon, 21 Sep 2026 08:39:19 GMT"},"fingerprint":{"sha1":"2A:E6:04:0E:76:A4:02:27:67:28:31:4D:E5:61:19:26:CA:0E:32:84","sha256":"D4:ED:C4:F8:DB:31:8A:2D:35:15:01:14:C0:49:CB:47:FF:5B:CC:17:14:82:63:9B:A8:6F:61:4D:AA:E5:96:94"}}},"request":{"raw":"GET /v1/supportedLanguages?client=te\u0026display_language=no\u0026key=AIzaSyBWDj0QJvVIx8XOhRegXX5_SrRWxhT5Hs4\u0026callback=callback HTTP/1.1\r\nHost: translate-pa.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://crystal-exploits.org/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncross-origin-resource-policy: cross-origin\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\nserver: ESF\r\ncontent-length: 2635\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nset-cookie: NID=533=iH60zvVz8BwCIxYx61Id6_fiF1QMMUbu_sfOIEox3CHd5hi6AFJphdPCy_-02I158I2TIgG90UdIc2QPAQL-mr3dhTEWztHz6M7IlNzO-XdYcjwv7tiXfdgTVLkjpB63zkx3j6VpA2tN9XSaHEPb10txz5ApAcqdNlHsroZZkKxVPFsZuBfRKmZEBR-ZFeOAPSJp4T6fKoYtWhOB6Gi1apxKOoWuLtRK; expires=Tue, 26-Jan-2027 05:14:52 GMT; path=/; domain=.translate-pa.googleapis.com; HttpOnly\r\nexpires: Mon, 27 Jul 2026 05:14:52 GMT\r\ncache-control: private\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":31482,"size_decoded":3502,"mime_type":"text/javascript; charset=UTF-8","magic":"Unicode text, UTF-8 text","md5":"91115de97ad1a90076e130223cdd90ad","sha1":"f3ad22e4fa892dfbff0d083bc0465fc3a2240317","sha256":"816e9881b1955d8beff3011d93481dad4c4de71bbd80b50ac267e7e45d4c3bad","sha512":"fbca69c3431240ab374b9ccfb06d76074059cdfe2f153743b292020271a8a3a36885189594a97fd74b43249b1f6359af62dfd0731e7b50e024f37faebdccf620","ssdeep":"192:Z6STcB9aqiD0+52DdKXrWryLxizUSTcB9aqdD0+52DdKXrWryLxG:JTcbaU3KXiMxidTcbah3KXiMxG","tlshash":"d0e267bae8b50d9b6a5e65b416fa2a03306041db4edc3c053b1c1e4c6fdec1e6c7169e","first_seen":"2025-09-02T05:12:23.753308Z","last_seen":"2026-07-27T08:08:22.829161Z","times_seen":6832,"resource_available":true,"data":"Ly8gQVBJIGNhbGxiYWNrCmNhbGxiYWNrKHsKICAic291cmNlTGFuZ3VhZ2VzIjogWwogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXV0byIsCiAgICAgICJuYW1lIjogIkdqZW5ramVubiBzcHLDpWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWIiLAogICAgICAibmFtZSI6ICJhYmtoYXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNlIiwKICAgICAgIm5hbWUiOiAiYWNlaG5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhY2giLAogICAgICAibmFtZSI6ICJhY2hvbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWEiLAogICAgICAibmFtZSI6ICJhZmFyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFmIiwKICAgICAgIm5hbWUiOiAiYWZyaWthYW5zIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNxIiwKICAgICAgIm5hbWUiOiAiYWxiYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbHoiLAogICAgICAibmFtZSI6ICJhbHVyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFtIiwKICAgICAgIm5hbWUiOiAiYW1oYXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXIiLAogICAgICAibmFtZSI6ICJhcmFiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh5IiwKICAgICAgIm5hbWUiOiAiYXJtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheiIsCiAgICAgICJuYW1lIjogImFzZXJiYWpkc2phbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFzIiwKICAgICAgIm5hbWUiOiAiYXNzYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhdiIsCiAgICAgICJuYW1lIjogImF2YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXdhIiwKICAgICAgIm5hbWUiOiAiYXdhZGhpIgogICAgfSwKICAgIHsKICAgICAibGFuZ3VhZ2UiOiAiYXkiLAogICAgICAibmFtZSI6ICJheW1hcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmFuIiwKICAgICAgIm5hbWUiOiAiYmFsaW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYWwiLAogICAgICAibmFtZSI6ICJiYWx1dHNqaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibSIsCiAgICAgICJuYW1lIjogImJhbWJhcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmNpIiwKICAgICAgIm5hbWUiOiAiYmFvdWzDqSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYSIsCiAgICAgICJuYW1lIjogImJhc2praXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldSIsCiAgICAgICJuYW1lIjogImJhc2tpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnR4IiwKICAgICAgIm5hbWUiOiAiYmF0YWsga2FybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHMiLAogICAgICAibmFtZSI6ICJiYXRhayBzaW1hbHVuZ3VuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJiYyIsCiAgICAgICJuYW1lIjogImJhdGFrIHRvYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVtIiwKICAgICAgIm5hbWUiOiAiYmVtYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm4iLAogICAgICAibmFtZSI6ICJiZW5nYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJldyIsCiAgICAgICJuYW1lIjogImJldGF3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaG8iLAogICAgICAibmFtZSI6ICJiaG9qcHVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaWsiLAogICAgICAibmFtZSI6ICJiaWtvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJicyIsCiAgICAgICJuYW1lIjogImJvc25pc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnIiLAogICAgICAibmFtZSI6ICJicmV0b25zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZyIsCiAgICAgICJuYW1lIjogImJ1bGdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ1YSIsCiAgICAgICJuYW1lIjogImJ1cmphdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJteSIsCiAgICAgICJuYW1lIjogImJ1cm1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZWIiLAogICAgICAibmFtZSI6ICJjZWJ1YW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoIiwKICAgICAgIm5hbWUiOiAiY2hhbW9ycm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnkiLAogICAgICAibmFtZSI6ICJjaGljaGV3YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkYSIsCiAgICAgICJuYW1lIjogImRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZhLUFGIiwKICAgICAgIm5hbWUiOiAiZGFyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkdiIsCiAgICAgICJuYW1lIjogImRoaXZlaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGluIiwKICAgICAgIm5hbWUiOiAiZGlua2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG9pIiwKICAgICAgIm5hbWUiOiAiZG9ncmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG92IiwKICAgICAgIm5hbWUiOiAiZG9tYmUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHl1IiwKICAgICAgIm5hbWUiOiAiRHl1bGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHoiLAogICAgICAibmFtZSI6ICJkem9uZ2toYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbiIsCiAgICAgICJuYW1lIjogImVuZ2Vsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZW8iLAogICAgICAibmFtZSI6ICJlc3BlcmFudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXQiLAogICAgICAibmFtZSI6ICJlc3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZWUiLAogICAgICAibmFtZSI6ICJld2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEiLAogICAgICAibmFtZSI6ICJmYXJzaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmaiIsCiAgICAgICJuYW1lIjogImZpamlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZpIiwKICAgICAgIm5hbWUiOiAiZmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm9uIiwKICAgICAgIm5hbWUiOiAiZm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyIiwKICAgICAgIm5hbWUiOiAiZnJhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyLUNBIiwKICAgICAgIm5hbWUiOiAiRnJhbnNrIChDYW5hZGEpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ5IiwKICAgICAgIm5hbWUiOiAiZnJpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmdXIiLAogICAgICAibmFtZSI6ICJmcml1bGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmZiIsCiAgICAgICJuYW1lIjogImZ1bGZ1bGRlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZvIiwKICAgICAgIm5hbWUiOiAiZsOmcsO4eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdsIiwKICAgICAgIm5hbWUiOiAiZ2FsaXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2EiLAogICAgICAibmFtZSI6ICJnZW9yZ2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbCIsCiAgICAgICJuYW1lIjogImdyZXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImduIiwKICAgICAgIm5hbWUiOiAiZ3VhcmFuw60iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3UiLAogICAgICAibmFtZSI6ICJndWphcmF0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYWEiLAogICAgICAibmFtZSI6ICJnYWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY25oIiwKICAgICAgIm5hbWUiOiAiaGFraGEgY2hpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoYSIsCiAgICAgICJuYW1lIjogImhhdXNhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhdyIsCiAgICAgICJuYW1lIjogImhhd2FpaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml3IiwKICAgICAgIm5hbWUiOiAiaGVicmFpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGlsIiwKICAgICAgIm5hbWUiOiAiaGlsaWdheW5vbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaSIsCiAgICAgICJuYW1lIjogImhpbmRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhtbiIsCiAgICAgICJuYW1lIjogImhtb25nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyeCIsCiAgICAgICJuYW1lIjogImh1bnNyaWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmUiLAogICAgICAibmFtZSI6ICJodml0ZXJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWJhIiwKICAgICAgIm5hbWUiOiAiaWJhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZyIsCiAgICAgICJuYW1lIjogImlnYm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWxvIiwKICAgICAgIm5hbWUiOiAiaWxva2FubyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZCIsCiAgICAgICJuYW1lIjogImluZG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUtTGF0biIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUiLAogICAgICAibmFtZSI6ICJJbnVrdGl0dXQgKHN0YXZlbHNlKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYSIsCiAgICAgICJuYW1lIjogImlyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXMiLAogICAgICAibmFtZSI6ICJpc2xhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdCIsCiAgICAgICJuYW1lIjogIml0YWxpZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYWgiLAogICAgICAibmFtZSI6ICJqYWt1dGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYW0iLAogICAgICAibmFtZSI6ICJqYW1haWNhbnNrIHBhdG9pcyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYSIsCiAgICAgICJuYW1lIjogImphcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAianciLAogICAgICAibmFtZSI6ICJqYXZhbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInlpIiwKICAgICAgIm5hbWUiOiAiamlkZGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYWMiLAogICAgICAibmFtZSI6ICJqaW5ncG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieW8iLAogICAgICAibmFtZSI6ICJqb3J1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2wiLAogICAgICAibmFtZSI6ICJrYWxhYWxsaXN1dCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbiIsCiAgICAgICJuYW1lIjogImthbm5hZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVlIiwKICAgICAgIm5hbWUiOiAia2FudG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3IiLAogICAgICAibmFtZSI6ICJrYW51cmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFtIiwKICAgICAgIm5hbWUiOiAia2FwYW1wYW5nYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2siLAogICAgICAibmFtZSI6ICJrYXNha2hpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2EiLAogICAgICAibmFtZSI6ICJrYXRhbGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2VrIiwKICAgICAgIm5hbWUiOiAia2VrY2hpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtoYSIsCiAgICAgICJuYW1lIjogImtoYXNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImttIiwKICAgICAgIm5hbWUiOiAia2htZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2dnIiwKICAgICAgIm5hbWUiOiAia2lnYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZyIsCiAgICAgICJuYW1lIjogImtpa29uZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemgtQ04iLAogICAgICAibmFtZSI6ICJraW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydyIsCiAgICAgICJuYW1lIjogImtpbnlhcndhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt5IiwKICAgICAgIm5hbWUiOiAia2lyZ2lzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJuIiwKICAgICAgIm5hbWUiOiAia2lydW5kaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrdHUiLAogICAgICAibmFtZSI6ICJraXR1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHJwIiwKICAgICAgIm5hbWUiOiAia29rYm9yb2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3YiLAogICAgICAibmFtZSI6ICJrb21pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdvbSIsCiAgICAgICJuYW1lIjogImtvbmthbmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia28iLAogICAgICAibmFtZSI6ICJrb3JlYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbyIsCiAgICAgICJuYW1lIjogImtvcnNpa2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHQiLAogICAgICAibmFtZSI6ICJrcmVvbCAoSGFpdGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNycyIsCiAgICAgICJuYW1lIjogImtyZW9sIChTZXljaGVsbGVuZSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3JoIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChreXJpbGxpc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaC1MYXRuIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrcmkiLAogICAgICAibmFtZSI6ICJrcmlvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyIiwKICAgICAgIm5hbWUiOiAia3JvYXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3UiLAogICAgICAibmFtZSI6ICJrdXJkaXNrIChrdXJtYW5qaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2tiIiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoc29yYW5pKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbyIsCiAgICAgICJuYW1lIjogImxhb3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHRnIiwKICAgICAgIm5hbWUiOiAibGF0Z2FsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxhIiwKICAgICAgIm5hbWUiOiAibGF0aW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHYiLAogICAgICAibmFtZSI6ICJsYXR2aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpaiIsCiAgICAgICJuYW1lIjogImxpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpIiwKICAgICAgIm5hbWUiOiAibGltYnVyZ3NrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxuIiwKICAgICAgIm5hbWUiOiAibGluZ2FsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdCIsCiAgICAgICJuYW1lIjogImxpdGF1aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxtbyIsCiAgICAgICJuYW1lIjogImxvbWJhcmRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGciLAogICAgICAibmFtZSI6ICJsdWdhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1byIsCiAgICAgICJuYW1lIjogImx1byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYiIsCiAgICAgICJuYW1lIjogImx1eGVtYm91cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZyIsCiAgICAgICJuYW1lIjogIm1hZGFnYXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hZCIsCiAgICAgICJuYW1lIjogIm1hZHVyZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFpIiwKICAgICAgIm5hbWUiOiAibWFpdGhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFrIiwKICAgICAgIm5hbWUiOiAiTWFrYXNzYXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWsiLAogICAgICAibmFtZSI6ICJtYWtlZG9uc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWwiLAogICAgICAibmFtZSI6ICJtYWxheWFsYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMiLAogICAgICAibmFtZSI6ICJtYWxheWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtcy1BcmFiIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2sgKGphd2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm10IiwKICAgICAgIm5hbWUiOiAibWFsdGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hbSIsCiAgICAgICJuYW1lIjogIm1hbSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndiIsCiAgICAgICJuYW1lIjogIm1hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pIiwKICAgICAgIm5hbWUiOiAibWFvcmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXIiLAogICAgICAibmFtZSI6ICJtYXJhdGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1oIiwKICAgICAgIm5hbWUiOiAibWFyc2hhbGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtd3IiLAogICAgICAibmFtZSI6ICJtYXJ3YWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1mZSIsCiAgICAgICJuYW1lIjogIm1hdXJpdGlzayBrcmVvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbmktTXRlaSIsCiAgICAgICJuYW1lIjogIm1laXRlaWxvbiAobWFuaXB1cmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pbiIsCiAgICAgICJuYW1lIjogIm1pbmFuZyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdXMiLAogICAgICAibmFtZSI6ICJtaXpvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1uIiwKICAgICAgIm5hbWUiOiAibW9uZ29sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmhlIiwKICAgICAgIm5hbWUiOiAibmFodWF0bCAow7hzdGxpZ2UgSHVhc3RlY2EpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5kYy1aVyIsCiAgICAgICJuYW1lIjogIm5kYXUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnIiLAogICAgICAibmFtZSI6ICJuZGViZWxlIChzw7hyKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubCIsCiAgICAgICJuYW1lIjogIm5lZGVybGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5ldyIsCiAgICAgICJuYW1lIjogIk5lcGFsIGJoYXNhIChuZXdhcmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5lIiwKICAgICAgIm5hbWUiOiAibmVwYWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibS1Oa29vIiwKICAgICAgIm5hbWUiOiAiTktvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5vIiwKICAgICAgIm5hbWUiOiAibm9yc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnVzIiwKICAgICAgIm5hbWUiOiAibnVlciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvYyIsCiAgICAgICJuYW1lIjogIm9rc2l0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvciIsCiAgICAgICJuYW1lIjogIm9yaXlhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9tIiwKICAgICAgIm5hbWUiOiAib3JvbW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3MiLAogICAgICAibmFtZSI6ICJvc3NldGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYWciLAogICAgICAibmFtZSI6ICJwYW5nYXNpbmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhIiwKICAgICAgIm5hbWUiOiAiUGFuamFiaSAoZ3VybXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhLUFyYWIiLAogICAgICAibmFtZSI6ICJwYW5qYWJpIChzaGFobXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhcCIsCiAgICAgICJuYW1lIjogInBhcGlhbWVudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHMiLAogICAgICAibmFtZSI6ICJwYXNodG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGwiLAogICAgICAibmFtZSI6ICJwb2xzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChCcmFzaWwpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInB0LVBUIiwKICAgICAgIm5hbWUiOiAicG9ydHVnaXNpc2sgKFBvcnR1Z2FsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJxdSIsCiAgICAgICJuYW1lIjogInF1ZWNodWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicm9tIiwKICAgICAgIm5hbWUiOiAicm9tYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvIiwKICAgICAgIm5hbWUiOiAicnVtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydSIsCiAgICAgICJuYW1lIjogInJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2UiLAogICAgICAibmFtZSI6ICJzYW1pc2sgKG5vcmQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNtIiwKICAgICAgIm5hbWUiOiAic2Ftb2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2ciLAogICAgICAibmFtZSI6ICJzYW5nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYSIsCiAgICAgICJuYW1lIjogInNhbnNrcml0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdC1MYXRuIiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2F0IiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAob2wgY2hpa2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN6bCIsCiAgICAgICJuYW1lIjogInNjaGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuc28iLAogICAgICAibmFtZSI6ICJzZXBlZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3IiLAogICAgICAibmFtZSI6ICJzZXJiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNobiIsCiAgICAgICJuYW1lIjogInNoYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic24iLAogICAgICAibmFtZSI6ICJzaG9uYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzY24iLAogICAgICAibmFtZSI6ICJzaWNpbGlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNkIiwKICAgICAgIm5hbWUiOiAic2luZGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNpIiwKICAgICAgIm5hbWUiOiAic2luZ2FsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2QiLAogICAgICAibmFtZSI6ICJza290c2sgZ8OmbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzayIsCiAgICAgICJuYW1lIjogInNsb3Zha2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbCIsCiAgICAgICJuYW1lIjogInNsb3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNvIiwKICAgICAgIm5hbWUiOiAic29tYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN0IiwKICAgICAgIm5hbWUiOiAic290aG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXMiLAogICAgICAibmFtZSI6ICJzcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3UiLAogICAgICAibmFtZSI6ICJzdW5kYW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdXMiLAogICAgICAibmFtZSI6ICJzdXN1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN2IiwKICAgICAgIm5hbWUiOiAic3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN3IiwKICAgICAgIm5hbWUiOiAic3dhaGlsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcyIsCiAgICAgICJuYW1lIjogInN3YXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRnIiwKICAgICAgIm5hbWUiOiAidGFkc2ppa2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0bCIsCiAgICAgICJuYW1lIjogInRhZ2Fsb2ciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHkiLAogICAgICAibmFtZSI6ICJ0YWhpdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXItTGF0biIsCiAgICAgICJuYW1lIjogInRhbWF6aWdodCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXIiLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQgKHRpZmluYWdoKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0YSIsCiAgICAgICJuYW1lIjogInRhbWlsIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR0IiwKICAgICAgIm5hbWUiOiAidGF0YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGUiLAogICAgICAibmFtZSI6ICJ0ZWx1Z3UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGV0IiwKICAgICAgIm5hbWUiOiAidGV0dW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGgiLAogICAgICAibmFtZSI6ICJ0aGFpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJvIiwKICAgICAgIm5hbWUiOiAidGliZXRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpIiwKICAgICAgIm5hbWUiOiAidGlncmluamEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGl2IiwKICAgICAgIm5hbWUiOiAidGl2IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRwaSIsCiAgICAgICJuYW1lIjogInRvayBwaXNpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0byIsCiAgICAgICJuYW1lIjogInRvbmdhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1YSIsCiAgICAgICJuYW1lIjogInRzaGlsdWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNzIiwKICAgICAgIm5hbWUiOiAidHNqZWtraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlIiwKICAgICAgIm5hbWUiOiAidHNqZXRzamVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2hrIiwKICAgICAgIm5hbWUiOiAidHNqdWt0c2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3YiLAogICAgICAibmFtZSI6ICJ0c2p1dmFzamlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cyIsCiAgICAgICJuYW1lIjogInRzb25nYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0biIsCiAgICAgICJuYW1lIjogInRzd2FuYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0Y3kiLAogICAgICAibmFtZSI6ICJ0dWx1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR1bSIsCiAgICAgICJuYW1lIjogInR1bWJ1a2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGsiLAogICAgICAibmFtZSI6ICJ0dXJrbWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHl2IiwKICAgICAgIm5hbWUiOiAidHV2aW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhayIsCiAgICAgICJuYW1lIjogInR3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ciIsCiAgICAgICJuYW1lIjogInR5cmtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGUiLAogICAgICAibmFtZSI6ICJ0eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVkbSIsCiAgICAgICJuYW1lIjogInVkbXVydGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZyIsCiAgICAgICJuYW1lIjogInVpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVrIiwKICAgICAgIm5hbWUiOiAidWtyYWluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHUiLAogICAgICAibmFtZSI6ICJ1bmdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVyIiwKICAgICAgIm5hbWUiOiAidXJkdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1eiIsCiAgICAgICJuYW1lIjogInVzYmVraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlIiwKICAgICAgIm5hbWUiOiAidmVuZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmVjIiwKICAgICAgIm5hbWUiOiAidmVuZXRpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2aSIsCiAgICAgICJuYW1lIjogInZpZXRuYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjeSIsCiAgICAgICJuYW1lIjogIndhbGlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndhciIsCiAgICAgICJuYW1lIjogIndhcmF5LXdhcmF5IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndvIiwKICAgICAgIm5hbWUiOiAid29sb2YiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieGgiLAogICAgICAibmFtZSI6ICJ4aG9zYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWEiLAogICAgICAibmFtZSI6ICJ5dWthdGFuc2sgbWF5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6YXAiLAogICAgICAibmFtZSI6ICJ6YXBvdGVjIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInp1IiwKICAgICAgIm5hbWUiOiAienVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjaG0iLAogICAgICAibmFtZSI6ICLDuHN0bWFyaXNrIgogICAgfQogIF0sCiAgInRhcmdldExhbmd1YWdlcyI6IFsKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFiIiwKICAgICAgIm5hbWUiOiAiYWJraGFzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFjZSIsCiAgICAgICJuYW1lIjogImFjZWhuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNoIiwKICAgICAgIm5hbWUiOiAiYWNob2xpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFhIiwKICAgICAgIm5hbWUiOiAiYWZhciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhZiIsCiAgICAgICJuYW1lIjogImFmcmlrYWFucyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcSIsCiAgICAgICJuYW1lIjogImFsYmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWx6IiwKICAgICAgIm5hbWUiOiAiYWx1ciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbSIsCiAgICAgICJuYW1lIjogImFtaGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFyIiwKICAgICAgIm5hbWUiOiAiYXJhYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoeSIsCiAgICAgICJuYW1lIjogImFybWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXoiLAogICAgICAibmFtZSI6ICJhc2VyYmFqZHNqYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhcyIsCiAgICAgICJuYW1lIjogImFzc2FtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXYiLAogICAgICAibmFtZSI6ICJhdmFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImF3YSIsCiAgICAgICJuYW1lIjogImF3YWRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheSIsCiAgICAgICJuYW1lIjogImF5bWFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYW4iLAogICAgICAibmFtZSI6ICJiYWxpbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhbCIsCiAgICAgICJuYW1lIjogImJhbHV0c2ppIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJtIiwKICAgICAgIm5hbWUiOiAiYmFtYmFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiY2kiLAogICAgICAibmFtZSI6ICJiYW91bMOpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhIiwKICAgICAgIm5hbWUiOiAiYmFzamtpcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImV1IiwKICAgICAgIm5hbWUiOiAiYmFza2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHgiLAogICAgICAibmFtZSI6ICJiYXRhayBrYXJvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ0cyIsCiAgICAgICJuYW1lIjogImJhdGFrIHNpbWFsdW5ndW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmJjIiwKICAgICAgIm5hbWUiOiAiYmF0YWsgdG9iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZW0iLAogICAgICAibmFtZSI6ICJiZW1iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibiIsCiAgICAgICJuYW1lIjogImJlbmdhbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmV3IiwKICAgICAgIm5hbWUiOiAiYmV0YXdpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJobyIsCiAgICAgICJuYW1lIjogImJob2pwdXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJpayIsCiAgICAgICJuYW1lIjogImJpa29sIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJzIiwKICAgICAgIm5hbWUiOiAiYm9zbmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiciIsCiAgICAgICJuYW1lIjogImJyZXRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJnIiwKICAgICAgIm5hbWUiOiAiYnVsZ2Fyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnVhIiwKICAgICAgIm5hbWUiOiAiYnVyamF0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm15IiwKICAgICAgIm5hbWUiOiAiYnVybWVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlYiIsCiAgICAgICJuYW1lIjogImNlYnVhbm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2giLAogICAgICAibmFtZSI6ICJjaGFtb3JybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJueSIsCiAgICAgICJuYW1lIjogImNoaWNoZXdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRhIiwKICAgICAgIm5hbWUiOiAiZGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEtQUYiLAogICAgICAibmFtZSI6ICJkYXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImR2IiwKICAgICAgIm5hbWUiOiAiZGhpdmVoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkaW4iLAogICAgICAibmFtZSI6ICJkaW5rYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb2kiLAogICAgICAibmFtZSI6ICJkb2dyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb3YiLAogICAgICAibmFtZSI6ICJkb21iZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeXUiLAogICAgICAibmFtZSI6ICJEeXVsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeiIsCiAgICAgICJuYW1lIjogImR6b25na2hhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVuIiwKICAgICAgIm5hbWUiOiAiZW5nZWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbyIsCiAgICAgICJuYW1lIjogImVzcGVyYW50byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldCIsCiAgICAgICJuYW1lIjogImVzdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlZSIsCiAgICAgICJuYW1lIjogImV3ZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmYSIsCiAgICAgICJuYW1lIjogImZhcnNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZqIiwKICAgICAgIm5hbWUiOiAiZmlqaWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmkiLAogICAgICAibmFtZSI6ICJmaW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmb24iLAogICAgICAibmFtZSI6ICJmb24iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnIiLAogICAgICAibmFtZSI6ICJmcmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnItQ0EiLAogICAgICAibmFtZSI6ICJGcmFuc2sgKENhbmFkYSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnkiLAogICAgICAibmFtZSI6ICJmcmlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ1ciIsCiAgICAgICJuYW1lIjogImZyaXVsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZmIiwKICAgICAgIm5hbWUiOiAiZnVsZnVsZGUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm8iLAogICAgICAibmFtZSI6ICJmw6Zyw7h5c2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2wiLAogICAgICAibmFtZSI6ICJnYWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYSIsCiAgICAgICJuYW1lIjogImdlb3JnaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVsIiwKICAgICAgIm5hbWUiOiAiZ3Jlc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ24iLAogICAgICAibmFtZSI6ICJndWFyYW7DrSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndSIsCiAgICAgICJuYW1lIjogImd1amFyYXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhYSIsCiAgICAgICJuYW1lIjogImdhYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbmgiLAogICAgICAibmFtZSI6ICJoYWtoYSBjaGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhIiwKICAgICAgIm5hbWUiOiAiaGF1c2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGF3IiwKICAgICAgIm5hbWUiOiAiaGF3YWlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXciLAogICAgICAibmFtZSI6ICJoZWJyYWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaWwiLAogICAgICAibmFtZSI6ICJoaWxpZ2F5bm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhpIiwKICAgICAgIm5hbWUiOiAiaGluZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaG1uIiwKICAgICAgIm5hbWUiOiAiaG1vbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHJ4IiwKICAgICAgIm5hbWUiOiAiaHVuc3JpayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZSIsCiAgICAgICJuYW1lIjogImh2aXRlcnVzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpYmEiLAogICAgICAibmFtZSI6ICJpYmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlnIiwKICAgICAgIm5hbWUiOiAiaWdibyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpbG8iLAogICAgICAibmFtZSI6ICJpbG9rYW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlkIiwKICAgICAgIm5hbWUiOiAiaW5kb25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdS1MYXRuIiwKICAgICAgIm5hbWUiOiAiSW51a3RpdHV0IChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdSIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAoc3RhdmVsc2UpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhIiwKICAgICAgIm5hbWUiOiAiaXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpcyIsCiAgICAgICJuYW1lIjogImlzbGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml0IiwKICAgICAgIm5hbWUiOiAiaXRhbGllbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhaCIsCiAgICAgICJuYW1lIjogImpha3V0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphbSIsCiAgICAgICJuYW1lIjogImphbWFpY2Fuc2sgcGF0b2lzIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphIiwKICAgICAgIm5hbWUiOiAiamFwYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqdyIsCiAgICAgICJuYW1lIjogImphdmFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieWkiLAogICAgICAibmFtZSI6ICJqaWRkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImthYyIsCiAgICAgICJuYW1lIjogImppbmdwbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5byIsCiAgICAgICJuYW1lIjogImpvcnViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbCIsCiAgICAgICJuYW1lIjogImthbGFhbGxpc3V0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtuIiwKICAgICAgIm5hbWUiOiAia2FubmFkYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWUiLAogICAgICAibmFtZSI6ICJrYW50b25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrciIsCiAgICAgICJuYW1lIjogImthbnVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYW0iLAogICAgICAibmFtZSI6ICJrYXBhbXBhbmdhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrayIsCiAgICAgICJuYW1lIjogImthc2FraGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjYSIsCiAgICAgICJuYW1lIjogImthdGFsYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZWsiLAogICAgICAibmFtZSI6ICJrZWtjaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2hhIiwKICAgICAgIm5hbWUiOiAia2hhc2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia20iLAogICAgICAibmFtZSI6ICJraG1lciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZ2ciLAogICAgICAibmFtZSI6ICJraWdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtnIiwKICAgICAgIm5hbWUiOiAia2lrb25nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6aC1DTiIsCiAgICAgICJuYW1lIjogImtpbmVzaXNrIChmb3JlbmtsZXQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInpoLVRXIiwKICAgICAgIm5hbWUiOiAia2luZXNpc2sgKHRyYWRpc2pvbmVsbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnciLAogICAgICAibmFtZSI6ICJraW55YXJ3YW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJreSIsCiAgICAgICJuYW1lIjogImtpcmdpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybiIsCiAgICAgICJuYW1lIjogImtpcnVuZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3R1IiwKICAgICAgIm5hbWUiOiAia2l0dWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRycCIsCiAgICAgICJuYW1lIjogImtva2Jvcm9rIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt2IiwKICAgICAgIm5hbWUiOiAia29taSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnb20iLAogICAgICAibmFtZSI6ICJrb25rYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtvIiwKICAgICAgIm5hbWUiOiAia29yZWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY28iLAogICAgICAibmFtZSI6ICJrb3JzaWthbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh0IiwKICAgICAgIm5hbWUiOiAia3Jlb2wgKEhhaXRpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcnMiLAogICAgICAibmFtZSI6ICJrcmVvbCAoU2V5Y2hlbGxlbmUpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaCIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAoa3lyaWxsaXNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcmgtTGF0biIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3JpIiwKICAgICAgIm5hbWUiOiAia3JpbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJociIsCiAgICAgICJuYW1lIjogImtyb2F0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt1IiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoa3VybWFuamkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNrYiIsCiAgICAgICJuYW1lIjogImt1cmRpc2sgKHNvcmFuaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibG8iLAogICAgICAibmFtZSI6ICJsYW90aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx0ZyIsCiAgICAgICJuYW1lIjogImxhdGdhbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYSIsCiAgICAgICJuYW1lIjogImxhdGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx2IiwKICAgICAgIm5hbWUiOiAibGF0dmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaWoiLAogICAgICAibmFtZSI6ICJsaWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaSIsCiAgICAgICJuYW1lIjogImxpbWJ1cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbiIsCiAgICAgICJuYW1lIjogImxpbmdhbGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHQiLAogICAgICAibmFtZSI6ICJsaXRhdWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbW8iLAogICAgICAibmFtZSI6ICJsb21iYXJkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxnIiwKICAgICAgIm5hbWUiOiAibHVnYW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdW8iLAogICAgICAibmFtZSI6ICJsdW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGIiLAogICAgICAibmFtZSI6ICJsdXhlbWJvdXJnc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWciLAogICAgICAibmFtZSI6ICJtYWRhZ2Fzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYWQiLAogICAgICAibmFtZSI6ICJtYWR1cmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1haSIsCiAgICAgICJuYW1lIjogIm1haXRoaWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hayIsCiAgICAgICJuYW1lIjogIk1ha2Fzc2FyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1rIiwKICAgICAgIm5hbWUiOiAibWFrZWRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1sIiwKICAgICAgIm5hbWUiOiAibWFsYXlhbGFtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1zIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMtQXJhYiIsCiAgICAgICJuYW1lIjogIm1hbGF5aXNrIChqYXdpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtdCIsCiAgICAgICJuYW1lIjogIm1hbHRlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYW0iLAogICAgICAibmFtZSI6ICJtYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3YiLAogICAgICAibmFtZSI6ICJtYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaSIsCiAgICAgICJuYW1lIjogIm1hb3JpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1yIiwKICAgICAgIm5hbWUiOiAibWFyYXRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaCIsCiAgICAgICJuYW1lIjogIm1hcnNoYWxsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXdyIiwKICAgICAgIm5hbWUiOiAibWFyd2FkaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZmUiLAogICAgICAibmFtZSI6ICJtYXVyaXRpc2sga3Jlb2wiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibW5pLU10ZWkiLAogICAgICAibmFtZSI6ICJtZWl0ZWlsb24gKG1hbmlwdXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaW4iLAogICAgICAibmFtZSI6ICJtaW5hbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHVzIiwKICAgICAgIm5hbWUiOiAibWl6byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbiIsCiAgICAgICJuYW1lIjogIm1vbmdvbHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5oZSIsCiAgICAgICJuYW1lIjogIm5haHVhdGwgKMO4c3RsaWdlIEh1YXN0ZWNhKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZGMtWlciLAogICAgICAibmFtZSI6ICJuZGF1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5yIiwKICAgICAgIm5hbWUiOiAibmRlYmVsZSAoc8O4cikiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmwiLAogICAgICAibmFtZSI6ICJuZWRlcmxhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZXciLAogICAgICAibmFtZSI6ICJOZXBhbCBiaGFzYSAobmV3YXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZSIsCiAgICAgICJuYW1lIjogIm5lcGFsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm0tTmtvbyIsCiAgICAgICJuYW1lIjogIk5LbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubyIsCiAgICAgICJuYW1lIjogIm5vcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm51cyIsCiAgICAgICJuYW1lIjogIm51ZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib2MiLAogICAgICAibmFtZSI6ICJva3NpdGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3IiLAogICAgICAibmFtZSI6ICJvcml5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvbSIsCiAgICAgICJuYW1lIjogIm9yb21vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9zIiwKICAgICAgIm5hbWUiOiAib3NzZXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFnIiwKICAgICAgIm5hbWUiOiAicGFuZ2FzaW5hbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYSIsCiAgICAgICJuYW1lIjogIlBhbmphYmkgKGd1cm11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYS1BcmFiIiwKICAgICAgIm5hbWUiOiAicGFuamFiaSAoc2hhaG11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYXAiLAogICAgICAibmFtZSI6ICJwYXBpYW1lbnRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBzIiwKICAgICAgIm5hbWUiOiAicGFzaHRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBsIiwKICAgICAgIm5hbWUiOiAicG9sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHQiLAogICAgICAibmFtZSI6ICJwb3J0dWdpc2lzayAoQnJhc2lsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdC1QVCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChQb3J0dWdhbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicXUiLAogICAgICAibmFtZSI6ICJxdWVjaHVhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvbSIsCiAgICAgICJuYW1lIjogInJvbWFuaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybyIsCiAgICAgICJuYW1lIjogInJ1bWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnUiLAogICAgICAibmFtZSI6ICJydXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNlIiwKICAgICAgIm5hbWUiOiAic2FtaXNrIChub3JkKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbSIsCiAgICAgICJuYW1lIjogInNhbW9hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNnIiwKICAgICAgIm5hbWUiOiAic2FuZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2EiLAogICAgICAibmFtZSI6ICJzYW5za3JpdCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYXQtTGF0biIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKGxhdGluc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdCIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKG9sIGNoaWtpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzemwiLAogICAgICAibmFtZSI6ICJzY2hsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnNvIiwKICAgICAgIm5hbWUiOiAic2VwZWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNyIiwKICAgICAgIm5hbWUiOiAic2VyYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaG4iLAogICAgICAibmFtZSI6ICJzaGFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNuIiwKICAgICAgIm5hbWUiOiAic2hvbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2NuIiwKICAgICAgIm5hbWUiOiAic2ljaWxpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzZCIsCiAgICAgICJuYW1lIjogInNpbmRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaSIsCiAgICAgICJuYW1lIjogInNpbmdhbGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdkIiwKICAgICAgIm5hbWUiOiAic2tvdHNrIGfDpmxpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2siLAogICAgICAibmFtZSI6ICJzbG92YWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2wiLAogICAgICAibmFtZSI6ICJzbG92ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbyIsCiAgICAgICJuYW1lIjogInNvbWFsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdCIsCiAgICAgICJuYW1lIjogInNvdGhvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVzIiwKICAgICAgIm5hbWUiOiAic3BhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN1IiwKICAgICAgIm5hbWUiOiAic3VuZGFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3VzIiwKICAgICAgIm5hbWUiOiAic3VzdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdiIsCiAgICAgICJuYW1lIjogInN2ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdyIsCiAgICAgICJuYW1lIjogInN3YWhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3MiLAogICAgICAibmFtZSI6ICJzd2F0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ZyIsCiAgICAgICJuYW1lIjogInRhZHNqaWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGwiLAogICAgICAibmFtZSI6ICJ0YWdhbG9nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5IiwKICAgICAgIm5hbWUiOiAidGFoaXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyLUxhdG4iLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyIiwKICAgICAgIm5hbWUiOiAidGFtYXppZ2h0ICh0aWZpbmFnaCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGEiLAogICAgICAibmFtZSI6ICJ0YW1pbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dCIsCiAgICAgICJuYW1lIjogInRhdGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRlIiwKICAgICAgIm5hbWUiOiAidGVsdWd1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRldCIsCiAgICAgICJuYW1lIjogInRldHVtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRoIiwKICAgICAgIm5hbWUiOiAidGhhaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibyIsCiAgICAgICJuYW1lIjogInRpYmV0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0aSIsCiAgICAgICJuYW1lIjogInRpZ3JpbmphIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpdiIsCiAgICAgICJuYW1lIjogInRpdiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cGkiLAogICAgICAibmFtZSI6ICJ0b2sgcGlzaW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG8iLAogICAgICAibmFtZSI6ICJ0b25nYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdWEiLAogICAgICAibmFtZSI6ICJ0c2hpbHViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcyIsCiAgICAgICJuYW1lIjogInRzamVra2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZSIsCiAgICAgICJuYW1lIjogInRzamV0c2plbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoayIsCiAgICAgICJuYW1lIjogInRzanVrdHNqaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImN2IiwKICAgICAgIm5hbWUiOiAidHNqdXZhc2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHMiLAogICAgICAibmFtZSI6ICJ0c29uZ2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG4iLAogICAgICAibmFtZSI6ICJ0c3dhbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGN5IiwKICAgICAgIm5hbWUiOiAidHVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dW0iLAogICAgICAibmFtZSI6ICJ0dW1idWthIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRrIiwKICAgICAgIm5hbWUiOiAidHVya21lbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5diIsCiAgICAgICJuYW1lIjogInR1dmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWsiLAogICAgICAibmFtZSI6ICJ0d2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHIiLAogICAgICAibmFtZSI6ICJ0eXJraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRlIiwKICAgICAgIm5hbWUiOiAidHlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZG0iLAogICAgICAibmFtZSI6ICJ1ZG11cnRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidWciLAogICAgICAibmFtZSI6ICJ1aWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ayIsCiAgICAgICJuYW1lIjogInVrcmFpbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh1IiwKICAgICAgIm5hbWUiOiAidW5nYXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ciIsCiAgICAgICJuYW1lIjogInVyZHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidXoiLAogICAgICAibmFtZSI6ICJ1c2Jla2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2ZSIsCiAgICAgICJuYW1lIjogInZlbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlYyIsCiAgICAgICJuYW1lIjogInZlbmV0aWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmkiLAogICAgICAibmFtZSI6ICJ2aWV0bmFtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3kiLAogICAgICAibmFtZSI6ICJ3YWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3YXIiLAogICAgICAibmFtZSI6ICJ3YXJheS13YXJheSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3byIsCiAgICAgICJuYW1lIjogIndvbG9mIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInhoIiwKICAgICAgIm5hbWUiOiAieGhvc2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVhIiwKICAgICAgIm5hbWUiOiAieXVrYXRhbnNrIG1heWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemFwIiwKICAgICAgIm5hbWUiOiAiemFwb3RlYyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6dSIsCiAgICAgICJuYW1lIjogInp1bHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2htIiwKICAgICAgIm5hbWUiOiAiw7hzdG1hcmlzayIKICAgIH0KICBdCn0KKTs="}},"time_used":60,"timings":{"blocked":2,"dns":0,"connect":9,"send":0,"wait":28,"receive":0,"ssl":21},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15932.2a70d397c34f2e9de94f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22proName%22%3A%22FOREXCOM%3ASPXUSD%22%2C%22title%22%3A%22S%26P%20500%22%7D%2C%7B%22proName%22%3A%22FOREXCOM%3ANSXUSD%22%2C%22title%22%3A%22Nasdaq%20100%22%7D%2C%7B%22proName%22%3A%22FX_IDC%3AEURUSD%22%2C%22title%22%3A%22EUR%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3ABTCUSD%22%2C%22title%22%3A%22BTC%2FUSD%22%7D%2C%7B%22proName%22%3A%22BITSTAMP%3AETHUSD%22%2C%22title%22%3A%22ETH%2FUSD%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22adaptive%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A46%2C%22utm_source%22%3A%22crystal-exploits.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22crystal-exploits.org%2F%22%7D","date":"2026-07-27T05:14:52.606Z","timestamp":1785129292606,"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/15932.2a70d397c34f2e9de94f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:14:52 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-37f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d4bf574d3d71ebd3a7a70ebcfbc03ac2\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":895,"size_decoded":1167,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (895), with no line terminators","md5":"61ab7674e7397acc0fbdbd8b60e6843d","sha1":"fcd3f559f2622c63283e4bc9c57d10811df0e449","sha256":"6612bc0b7ab79c16fbd208e005ce64f38027f232bd2fc73621c14c2401cc1abb","sha512":"25a6b08a102f5c8bd5cd31c69e9e714962ab697d5d0b27c3d6ee50b77232d869dc271761eda4f53d91748de07f2e4798911326e27fef8995b5be37d735ab9188","ssdeep":"","tlshash":"3811293871a06d2c7312ee3c17686c8c795da26ca6835eceead07128479f2cc26720a0","first_seen":"2026-03-24T10:46:27.428699Z","last_seen":"2026-07-27T08:08:01.312595Z","times_seen":4532,"resource_available":false,"data":"LnR2LWVtYmVkLXdpZGdldC13cmFwcGVye2JhY2tncm91bmQ6IzAwMDA7aGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjEwMCU7d2lkdGg6MH0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2hlYWRlcntmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDozNHB4O3RleHQtYWxpZ246Y2VudGVyfS50di1lbWJlZC13aWRnZXQtd3JhcHBlcl9faGVhZGVyIHN2Z3toZWlnaHQ6MTVweDttYXJnaW4taW5saW5lLWVuZDo1cHg7dmVydGljYWwtYWxpZ246dGV4dC10b3A7d2lkdGg6MjZweH0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2xvZ28tbGluaywudHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2xvZ28tbGluazp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHl7YmFja2dyb3VuZDp2YXIoLS10di13aWRnZXQtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1jb2xvci1iZy1wcmltYXJ5KSk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LnR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1vdmVyZmxvd19hdXRve292ZXJmbG93OmF1dG99aHRtbC5pcy10cmFuc3BhcmVudCAudHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHl7YmFja2dyb3VuZDojMDAwMH1odG1sLmlzLXRyYW5zcGFyZW50IC50di1lbWJlZC13aWRnZXQtd3JhcHBlcl9fYm9keTpub3QoLnR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1ib3JkZXItb24tdHJhbnNwYXJlbnQpe2JvcmRlci13aWR0aDowfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
